From 6e05b55c7c2838c7a0d6b07d370caaeaf8bca098 Mon Sep 17 00:00:00 2001 From: kalwalt Date: Thu, 23 Jan 2020 20:36:01 +0100 Subject: [PATCH] adding jsartoolkit5 examples --- _includes/topnav.html | 1 + jsartoolkit5/build/artoolkit.debug.js | 111996 +++++++++++++++ jsartoolkit5/build/artoolkit.min.js | 22 + jsartoolkit5/build/artoolkit_wasm.js | 1 + jsartoolkit5/build/artoolkit_wasm.wasm | Bin 0 -> 547341 bytes jsartoolkit5/examples/Data/armchair.jpg | Bin 0 -> 78234 bytes ...camera_para-iPhone 5 rear 640x480 1.0m.dat | Bin 0 -> 176 bytes jsartoolkit5/examples/Data/camera_para.dat | Bin 0 -> 176 bytes jsartoolkit5/examples/Data/chalk.jpg | Bin 0 -> 63068 bytes jsartoolkit5/examples/Data/chalk_multi.jpg | Bin 0 -> 114797 bytes jsartoolkit5/examples/Data/img.jpg | Bin 0 -> 111547 bytes jsartoolkit5/examples/Data/kuva.jpg | Bin 0 -> 75304 bytes jsartoolkit5/examples/Data/logo.gif | Bin 0 -> 15773 bytes .../examples/Data/models/Flamingo.glb | Bin 0 -> 77428 bytes .../examples/Data/multi-barcode-4x3.dat | 73 + jsartoolkit5/examples/Data/multi.mov | Bin 0 -> 2695116 bytes jsartoolkit5/examples/Data/multi/marker.dat | 44 + jsartoolkit5/examples/Data/multi/patt.a | 196 + jsartoolkit5/examples/Data/multi/patt.b | 196 + jsartoolkit5/examples/Data/multi/patt.c | 196 + jsartoolkit5/examples/Data/multi/patt.d | 196 + jsartoolkit5/examples/Data/multi/patt.f | 196 + jsartoolkit5/examples/Data/multi/patt.g | 196 + jsartoolkit5/examples/Data/output_4.ogg | Bin 0 -> 1542963 bytes jsartoolkit5/examples/Data/patt.hiro | 196 + jsartoolkit5/examples/Data/patt.kanji | 196 + jsartoolkit5/examples/Data/video.mp4 | Bin 0 -> 2914614 bytes jsartoolkit5/examples/DataNFT/pinball.fset | Bin 0 -> 12288 bytes jsartoolkit5/examples/DataNFT/pinball.fset3 | Bin 0 -> 640324 bytes jsartoolkit5/examples/DataNFT/pinball.iset | Bin 0 -> 125925 bytes jsartoolkit5/examples/DataNFT/pinball.jpg | Bin 0 -> 782578 bytes .../examples/babylonjs_from_scratch.html | 113 + jsartoolkit5/examples/barcode_threejs.html | 108 + .../examples/boilerplate_threejs.html | 151 + jsartoolkit5/examples/css/index.css | 27 + jsartoolkit5/examples/css/main.css | 10 + jsartoolkit5/examples/css/style.css | 40 + jsartoolkit5/examples/css/video-style.css | 112 + jsartoolkit5/examples/index.html | 157 + jsartoolkit5/examples/intro_example.html | 233 + .../third_party/babylon.js/babylon.2.5.max.js | 55721 +++++++ .../js/third_party/three.js/Detector.js | 78 + .../js/third_party/three.js/GLTFLoader.js | 3394 + .../js/third_party/three.js/LICENSE.txt | 21 + .../js/third_party/three.js/OrbitControls.js | 1042 + .../js/third_party/three.js/stats.min.js | 5 + .../js/third_party/three.js/three.min.js | 975 + .../examples/multimarker_barcode_threejs.html | 140 + .../examples/multimarker_pattern_threejs.html | 138 + .../examples/nft_improved_worker/index.html | 20 + .../examples/nft_improved_worker/main.html | 58 + .../examples/nft_improved_worker/main.js | 201 + .../main_threejs_wasm_worker.html | 140 + .../main_threejs_worker.html | 141 + .../nft_improved_worker/main_worker.html | 65 + .../nft_improved_worker/main_worker.js | 207 + .../threejs_wasm_worker.js | 222 + .../nft_improved_worker/threejs_worker.js | 211 + .../threejs_worker_gltf.html | 122 + .../threejs_worker_gltf.js | 261 + .../wasm_worker/artoolkit.wasm_worker.js | 89 + jsartoolkit5/examples/nft_threejs_wasm.html | 123 + .../examples/pattern_and_barcode_threejs.html | 150 + jsartoolkit5/examples/pattern_threejs.html | 123 + jsartoolkit5/examples/simple_image.html | 74 + jsartoolkit5/examples/simple_image_wasm.html | 78 + jsartoolkit5/examples/simple_rtc.html | 76 + jsartoolkit5/examples/simple_video.html | 29 + jsartoolkit5/examples/simple_video_wasm.html | 30 + jsartoolkit5/examples/test_constants.html | 69 + .../examples/threejs_from_scratch.html | 156 + jsartoolkit5/js/artoolkit.api.js | 2057 + jsartoolkit5/js/artoolkit.three.js | 402 + jsartoolkit5/js/artoolkit.worker.js | 60 + jsartoolkit5/tests/camera_para.dat | Bin 0 -> 176 bytes jsartoolkit5/tests/img.jpg | Bin 0 -> 111547 bytes jsartoolkit5/tests/index.html | 43 + jsartoolkit5/tests/index_wasm.html | 47 + jsartoolkit5/tests/papaparse.min.js | 7 + jsartoolkit5/tests/patt.hiro | 196 + jsartoolkit5/tests/tests.js | 814 + jsartoolkit5/tests/tests_wasm.js | 817 + 82 files changed, 183258 insertions(+) create mode 100644 jsartoolkit5/build/artoolkit.debug.js create mode 100644 jsartoolkit5/build/artoolkit.min.js create mode 100644 jsartoolkit5/build/artoolkit_wasm.js create mode 100644 jsartoolkit5/build/artoolkit_wasm.wasm create mode 100644 jsartoolkit5/examples/Data/armchair.jpg create mode 100644 jsartoolkit5/examples/Data/camera_para-iPhone 5 rear 640x480 1.0m.dat create mode 100755 jsartoolkit5/examples/Data/camera_para.dat create mode 100644 jsartoolkit5/examples/Data/chalk.jpg create mode 100644 jsartoolkit5/examples/Data/chalk_multi.jpg create mode 100644 jsartoolkit5/examples/Data/img.jpg create mode 100644 jsartoolkit5/examples/Data/kuva.jpg create mode 100644 jsartoolkit5/examples/Data/logo.gif create mode 100644 jsartoolkit5/examples/Data/models/Flamingo.glb create mode 100644 jsartoolkit5/examples/Data/multi-barcode-4x3.dat create mode 100644 jsartoolkit5/examples/Data/multi.mov create mode 100755 jsartoolkit5/examples/Data/multi/marker.dat create mode 100644 jsartoolkit5/examples/Data/multi/patt.a create mode 100644 jsartoolkit5/examples/Data/multi/patt.b create mode 100644 jsartoolkit5/examples/Data/multi/patt.c create mode 100644 jsartoolkit5/examples/Data/multi/patt.d create mode 100644 jsartoolkit5/examples/Data/multi/patt.f create mode 100644 jsartoolkit5/examples/Data/multi/patt.g create mode 100644 jsartoolkit5/examples/Data/output_4.ogg create mode 100755 jsartoolkit5/examples/Data/patt.hiro create mode 100755 jsartoolkit5/examples/Data/patt.kanji create mode 100644 jsartoolkit5/examples/Data/video.mp4 create mode 100644 jsartoolkit5/examples/DataNFT/pinball.fset create mode 100644 jsartoolkit5/examples/DataNFT/pinball.fset3 create mode 100644 jsartoolkit5/examples/DataNFT/pinball.iset create mode 100644 jsartoolkit5/examples/DataNFT/pinball.jpg create mode 100644 jsartoolkit5/examples/babylonjs_from_scratch.html create mode 100644 jsartoolkit5/examples/barcode_threejs.html create mode 100644 jsartoolkit5/examples/boilerplate_threejs.html create mode 100644 jsartoolkit5/examples/css/index.css create mode 100644 jsartoolkit5/examples/css/main.css create mode 100644 jsartoolkit5/examples/css/style.css create mode 100644 jsartoolkit5/examples/css/video-style.css create mode 100644 jsartoolkit5/examples/index.html create mode 100644 jsartoolkit5/examples/intro_example.html create mode 100644 jsartoolkit5/examples/js/third_party/babylon.js/babylon.2.5.max.js create mode 100644 jsartoolkit5/examples/js/third_party/three.js/Detector.js create mode 100644 jsartoolkit5/examples/js/third_party/three.js/GLTFLoader.js create mode 100644 jsartoolkit5/examples/js/third_party/three.js/LICENSE.txt create mode 100644 jsartoolkit5/examples/js/third_party/three.js/OrbitControls.js create mode 100644 jsartoolkit5/examples/js/third_party/three.js/stats.min.js create mode 100644 jsartoolkit5/examples/js/third_party/three.js/three.min.js create mode 100644 jsartoolkit5/examples/multimarker_barcode_threejs.html create mode 100644 jsartoolkit5/examples/multimarker_pattern_threejs.html create mode 100644 jsartoolkit5/examples/nft_improved_worker/index.html create mode 100644 jsartoolkit5/examples/nft_improved_worker/main.html create mode 100644 jsartoolkit5/examples/nft_improved_worker/main.js create mode 100644 jsartoolkit5/examples/nft_improved_worker/main_threejs_wasm_worker.html create mode 100644 jsartoolkit5/examples/nft_improved_worker/main_threejs_worker.html create mode 100644 jsartoolkit5/examples/nft_improved_worker/main_worker.html create mode 100644 jsartoolkit5/examples/nft_improved_worker/main_worker.js create mode 100644 jsartoolkit5/examples/nft_improved_worker/threejs_wasm_worker.js create mode 100644 jsartoolkit5/examples/nft_improved_worker/threejs_worker.js create mode 100644 jsartoolkit5/examples/nft_improved_worker/threejs_worker_gltf.html create mode 100644 jsartoolkit5/examples/nft_improved_worker/threejs_worker_gltf.js create mode 100644 jsartoolkit5/examples/nft_improved_worker/wasm_worker/artoolkit.wasm_worker.js create mode 100644 jsartoolkit5/examples/nft_threejs_wasm.html create mode 100644 jsartoolkit5/examples/pattern_and_barcode_threejs.html create mode 100644 jsartoolkit5/examples/pattern_threejs.html create mode 100644 jsartoolkit5/examples/simple_image.html create mode 100644 jsartoolkit5/examples/simple_image_wasm.html create mode 100644 jsartoolkit5/examples/simple_rtc.html create mode 100644 jsartoolkit5/examples/simple_video.html create mode 100644 jsartoolkit5/examples/simple_video_wasm.html create mode 100644 jsartoolkit5/examples/test_constants.html create mode 100644 jsartoolkit5/examples/threejs_from_scratch.html create mode 100644 jsartoolkit5/js/artoolkit.api.js create mode 100644 jsartoolkit5/js/artoolkit.three.js create mode 100644 jsartoolkit5/js/artoolkit.worker.js create mode 100644 jsartoolkit5/tests/camera_para.dat create mode 100644 jsartoolkit5/tests/img.jpg create mode 100644 jsartoolkit5/tests/index.html create mode 100644 jsartoolkit5/tests/index_wasm.html create mode 100755 jsartoolkit5/tests/papaparse.min.js create mode 100755 jsartoolkit5/tests/patt.hiro create mode 100644 jsartoolkit5/tests/tests.js create mode 100644 jsartoolkit5/tests/tests_wasm.js diff --git a/_includes/topnav.html b/_includes/topnav.html index 102efa1..b897ad7 100755 --- a/_includes/topnav.html +++ b/_includes/topnav.html @@ -16,6 +16,7 @@
  • Downloads
  • About
  • The Team
  • +
  • Jsartoolkit5
  • Forum
  • Docs
  • diff --git a/jsartoolkit5/build/artoolkit.debug.js b/jsartoolkit5/build/artoolkit.debug.js new file mode 100644 index 0000000..c893dae --- /dev/null +++ b/jsartoolkit5/build/artoolkit.debug.js @@ -0,0 +1,111996 @@ +// Copyright 2010 The Emscripten Authors. All rights reserved. +// Emscripten is available under two separate licenses, the MIT license and the +// University of Illinois/NCSA Open Source License. Both these licenses can be +// found in the LICENSE file. + +// The Module object: Our interface to the outside world. We import +// and export values on it. 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 check if Module already exists (e.g. case 3 above). +// Substitution will be replaced with actual code on later stage of the build, +// this way Closure Compiler will not mangle it (e.g. case 4. 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 = typeof Module !== 'undefined' ? Module : {}; + +// --pre-jses are emitted after the Module integration code, so that they can +// refer to Module (if they choose; they can also define Module) +// {{PRE_JSES}} + +// 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 = {}; +var key; +for (key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key]; + } +} + +var arguments_ = []; +var thisProgram = './this.program'; +var quit_ = function(status, toThrow) { + throw toThrow; +}; + +// Determine the runtime environment we are in. You can customize this by +// setting the ENVIRONMENT setting at compile time (see settings.js). + +var ENVIRONMENT_IS_WEB = false; +var ENVIRONMENT_IS_WORKER = false; +var ENVIRONMENT_IS_NODE = false; +var ENVIRONMENT_HAS_NODE = false; +var ENVIRONMENT_IS_SHELL = false; +ENVIRONMENT_IS_WEB = typeof window === 'object'; +ENVIRONMENT_IS_WORKER = typeof importScripts === 'function'; +// A web environment like Electron.js can have Node enabled, so we must +// distinguish between Node-enabled environments and Node environments per se. +// This will allow the former to do things like mount NODEFS. +// Extended check using process.versions fixes issue #8816. +// (Also makes redundant the original check that 'require' is a function.) +ENVIRONMENT_HAS_NODE = typeof process === 'object' && typeof process.versions === 'object' && typeof process.versions.node === 'string'; +ENVIRONMENT_IS_NODE = ENVIRONMENT_HAS_NODE && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER; +ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; + +if (Module['ENVIRONMENT']) { + throw new Error('Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRONMENT=web or -s ENVIRONMENT=node)'); +} + + + +// `/` should be present at the end if `scriptDirectory` is not empty +var scriptDirectory = ''; +function locateFile(path) { + if (Module['locateFile']) { + return Module['locateFile'](path, scriptDirectory); + } + return scriptDirectory + path; +} + +// Hooks that are implemented differently in different runtime environments. +var read_, + readAsync, + readBinary, + setWindowTitle; + +var nodeFS; +var nodePath; + +if (ENVIRONMENT_IS_NODE) { + scriptDirectory = __dirname + '/'; + + + read_ = function shell_read(filename, binary) { + var ret = tryParseAsDataURI(filename); + if (ret) { + return binary ? ret : ret.toString(); + } + if (!nodeFS) nodeFS = require('fs'); + if (!nodePath) nodePath = require('path'); + filename = nodePath['normalize'](filename); + return nodeFS['readFileSync'](filename, binary ? null : 'utf8'); + }; + + readBinary = function readBinary(filename) { + var ret = read_(filename, true); + if (!ret.buffer) { + ret = new Uint8Array(ret); + } + assert(ret.buffer); + return ret; + }; + + + + + if (process['argv'].length > 1) { + thisProgram = process['argv'][1].replace(/\\/g, '/'); + } + + 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; + } + }); + + process['on']('unhandledRejection', abort); + + quit_ = function(status) { + process['exit'](status); + }; + + Module['inspect'] = function () { return '[Emscripten Module object]'; }; + + +} else +if (ENVIRONMENT_IS_SHELL) { + + + if (typeof read != 'undefined') { + read_ = function shell_read(f) { + var data = tryParseAsDataURI(f); + if (data) { + return intArrayToString(data); + } + return read(f); + }; + } + + readBinary = function readBinary(f) { + var data; + data = tryParseAsDataURI(f); + if (data) { + return data; + } + if (typeof readbuffer === 'function') { + return new Uint8Array(readbuffer(f)); + } + data = read(f, 'binary'); + assert(typeof data === 'object'); + return data; + }; + + if (typeof scriptArgs != 'undefined') { + arguments_ = scriptArgs; + } else if (typeof arguments != 'undefined') { + arguments_ = arguments; + } + + if (typeof quit === 'function') { + quit_ = function(status) { + quit(status); + }; + } + + if (typeof print !== 'undefined') { + // Prefer to use print/printErr where they exist, as they usually work better. + if (typeof console === 'undefined') console = {}; + console.log = print; + console.warn = console.error = typeof printErr !== 'undefined' ? printErr : print; + } +} else + +// Note that this includes Node.js workers when relevant (pthreads is enabled). +// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and +// ENVIRONMENT_HAS_NODE. +if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled + scriptDirectory = self.location.href; + } else if (document.currentScript) { // web + scriptDirectory = document.currentScript.src; + } + // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. + // otherwise, slice off the final part of the url to find the script directory. + // if scriptDirectory does not contain a slash, lastIndexOf will return -1, + // and scriptDirectory will correctly be replaced with an empty string. + if (scriptDirectory.indexOf('blob:') !== 0) { + scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf('/')+1); + } else { + scriptDirectory = ''; + } + + + // Differentiate the Web Worker from the Node Worker case, as reading must + // be done differently. + { + + + read_ = function shell_read(url) { + try { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.send(null); + return xhr.responseText; + } catch (err) { + var data = tryParseAsDataURI(url); + if (data) { + return intArrayToString(data); + } + throw err; + } + }; + + if (ENVIRONMENT_IS_WORKER) { + readBinary = function readBinary(url) { + try { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); + xhr.responseType = 'arraybuffer'; + xhr.send(null); + return new Uint8Array(xhr.response); + } catch (err) { + var data = tryParseAsDataURI(url); + if (data) { + return data; + } + throw err; + } + }; + } + + readAsync = function readAsync(url, onload, onerror) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, true); + xhr.responseType = 'arraybuffer'; + xhr.onload = function xhr_onload() { + if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 + onload(xhr.response); + return; + } + var data = tryParseAsDataURI(url); + if (data) { + onload(data.buffer); + return; + } + onerror(); + }; + xhr.onerror = onerror; + xhr.send(null); + }; + + + + + } + + setWindowTitle = function(title) { document.title = title }; +} else +{ + throw new Error('environment detection error'); +} + + +// Set up the out() and err() hooks, which are how we can print to stdout or +// stderr, respectively. +var out = Module['print'] || console.log.bind(console); +var err = Module['printErr'] || console.warn.bind(console); + +// Merge back in the overrides +for (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 = null; + +// Emit code to handle expected values on the Module object. This applies Module.x +// to the proper local x. This has two benefits: first, we only emit it if it is +// expected to arrive, and second, by using a local everywhere else that can be +// minified. +if (Module['arguments']) arguments_ = Module['arguments'];if (!Object.getOwnPropertyDescriptor(Module, 'arguments')) Object.defineProperty(Module, 'arguments', { configurable: true, get: function() { abort('Module.arguments has been replaced with plain arguments_') } }); +if (Module['thisProgram']) thisProgram = Module['thisProgram'];if (!Object.getOwnPropertyDescriptor(Module, 'thisProgram')) Object.defineProperty(Module, 'thisProgram', { configurable: true, get: function() { abort('Module.thisProgram has been replaced with plain thisProgram') } }); +if (Module['quit']) quit_ = Module['quit'];if (!Object.getOwnPropertyDescriptor(Module, 'quit')) Object.defineProperty(Module, 'quit', { configurable: true, get: function() { abort('Module.quit has been replaced with plain quit_') } }); + +// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message +// Assertions on removed incoming Module JS APIs. +assert(typeof Module['memoryInitializerPrefixURL'] === 'undefined', 'Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead'); +assert(typeof Module['pthreadMainPrefixURL'] === 'undefined', 'Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead'); +assert(typeof Module['cdInitializerPrefixURL'] === 'undefined', 'Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead'); +assert(typeof Module['filePackagePrefixURL'] === 'undefined', 'Module.filePackagePrefixURL option was removed, use Module.locateFile instead'); +assert(typeof Module['read'] === 'undefined', 'Module.read option was removed (modify read_ in JS)'); +assert(typeof Module['readAsync'] === 'undefined', 'Module.readAsync option was removed (modify readAsync in JS)'); +assert(typeof Module['readBinary'] === 'undefined', 'Module.readBinary option was removed (modify readBinary in JS)'); +assert(typeof Module['setWindowTitle'] === 'undefined', 'Module.setWindowTitle option was removed (modify setWindowTitle in JS)'); +if (!Object.getOwnPropertyDescriptor(Module, 'read')) Object.defineProperty(Module, 'read', { configurable: true, get: function() { abort('Module.read has been replaced with plain read_') } }); +if (!Object.getOwnPropertyDescriptor(Module, 'readAsync')) Object.defineProperty(Module, 'readAsync', { configurable: true, get: function() { abort('Module.readAsync has been replaced with plain readAsync') } }); +if (!Object.getOwnPropertyDescriptor(Module, 'readBinary')) Object.defineProperty(Module, 'readBinary', { configurable: true, get: function() { abort('Module.readBinary has been replaced with plain readBinary') } }); +// TODO: add when SDL2 is fixed if (!Object.getOwnPropertyDescriptor(Module, 'setWindowTitle')) Object.defineProperty(Module, 'setWindowTitle', { configurable: true, get: function() { abort('Module.setWindowTitle has been replaced with plain setWindowTitle') } }); +var IDBFS = 'IDBFS is no longer included by default; build with -lidbfs.js'; +var PROXYFS = 'PROXYFS is no longer included by default; build with -lproxyfs.js'; +var WORKERFS = 'WORKERFS is no longer included by default; build with -lworkerfs.js'; +var NODEFS = 'NODEFS is no longer included by default; build with -lnodefs.js'; + + +// TODO remove when SDL2 is fixed (also see above) + + + +// Copyright 2017 The Emscripten Authors. All rights reserved. +// Emscripten is available under two separate licenses, the MIT license and the +// University of Illinois/NCSA Open Source License. Both these licenses can be +// found in the LICENSE file. + +// {{PREAMBLE_ADDITIONS}} + +var STACK_ALIGN = 16; + +// stack management, and other functionality that is provided by the compiled code, +// should not be used before it is ready +stackSave = stackRestore = stackAlloc = function() { + abort('cannot use the stack before compiled code is ready to run, and has provided stack access'); +}; + +function staticAlloc(size) { + abort('staticAlloc is no longer available at runtime; instead, perform static allocations at compile time (using makeStaticAlloc)'); +} + +function dynamicAlloc(size) { + assert(DYNAMICTOP_PTR); + var ret = HEAP32[DYNAMICTOP_PTR>>2]; + var end = (ret + size + 15) & -16; + if (end > _emscripten_get_heap_size()) { + abort('failure to dynamicAlloc - memory growth etc. is not supported there, call malloc/sbrk directly'); + } + HEAP32[DYNAMICTOP_PTR>>2] = end; + return ret; +} + +function alignMemory(size, factor) { + if (!factor) factor = STACK_ALIGN; // stack alignment (16-byte) by default + return Math.ceil(size / factor) * factor; +} + +function getNativeTypeSize(type) { + switch (type) { + case 'i1': case 'i8': return 1; + case 'i16': return 2; + case 'i32': return 4; + case 'i64': return 8; + case 'float': return 4; + case 'double': return 8; + default: { + if (type[type.length-1] === '*') { + return 4; // A pointer + } else if (type[0] === 'i') { + var bits = parseInt(type.substr(1)); + assert(bits % 8 === 0, 'getNativeTypeSize invalid bits ' + bits + ', type ' + type); + return bits / 8; + } else { + return 0; + } + } + } +} + +function warnOnce(text) { + if (!warnOnce.shown) warnOnce.shown = {}; + if (!warnOnce.shown[text]) { + warnOnce.shown[text] = 1; + err(text); + } +} + +var asm2wasmImports = { // special asm2wasm imports + "f64-rem": function(x, y) { + return x % y; + }, + "debugger": function() { + debugger; + } +}; + + + +var jsCallStartIndex = 1; +var functionPointers = new Array(0); + + +// 'sig' parameter is required for the llvm backend but only when func is not +// already a WebAssembly function. +function addFunction(func, sig) { + assert(typeof func !== 'undefined'); + + + var base = 0; + for (var i = base; i < base + 0; i++) { + if (!functionPointers[i]) { + functionPointers[i] = func; + return jsCallStartIndex + i; + } + } + throw 'Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS.'; + +} + +function removeFunction(index) { + + functionPointers[index-jsCallStartIndex] = null; +} + +var funcWrappers = {}; + +function getFuncWrapper(func, sig) { + if (!func) return; // on null pointer, return undefined + assert(sig); + if (!funcWrappers[sig]) { + funcWrappers[sig] = {}; + } + var sigCache = funcWrappers[sig]; + if (!sigCache[func]) { + // optimize away arguments usage in common cases + if (sig.length === 1) { + sigCache[func] = function dynCall_wrapper() { + return dynCall(sig, func); + }; + } else if (sig.length === 2) { + sigCache[func] = function dynCall_wrapper(arg) { + return dynCall(sig, func, [arg]); + }; + } else { + // general case + sigCache[func] = function dynCall_wrapper() { + return dynCall(sig, func, Array.prototype.slice.call(arguments)); + }; + } + } + return sigCache[func]; +} + + +function makeBigInt(low, high, unsigned) { + return unsigned ? ((+((low>>>0)))+((+((high>>>0)))*4294967296.0)) : ((+((low>>>0)))+((+((high|0)))*4294967296.0)); +} + +function dynCall(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); + } +} + +var tempRet0 = 0; + +var setTempRet0 = function(value) { + tempRet0 = value; +}; + +var getTempRet0 = function() { + return tempRet0; +}; + +function getCompilerSetting(name) { + throw 'You must build with -s RETAIN_COMPILER_SETTINGS=1 for getCompilerSetting or emscripten_get_compiler_setting to work'; +} + +var Runtime = { + // helpful errors + getTempRet0: function() { abort('getTempRet0() is now a top-level function, after removing the Runtime object. Remove "Runtime."') }, + staticAlloc: function() { abort('staticAlloc() is now a top-level function, after removing the Runtime object. Remove "Runtime."') }, + stackAlloc: function() { abort('stackAlloc() is now a top-level function, after removing the Runtime object. Remove "Runtime."') }, +}; + +// The address globals begin at. Very low in memory, for code size and optimization opportunities. +// Above 0 is static memory, starting with globals. +// Then the stack. +// Then 'dynamic' memory for sbrk. +var GLOBAL_BASE = 8; + + + + +// === 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 + + +var wasmBinary;if (Module['wasmBinary']) wasmBinary = Module['wasmBinary'];if (!Object.getOwnPropertyDescriptor(Module, 'wasmBinary')) Object.defineProperty(Module, 'wasmBinary', { configurable: true, get: function() { abort('Module.wasmBinary has been replaced with plain wasmBinary') } }); +var noExitRuntime;if (Module['noExitRuntime']) noExitRuntime = Module['noExitRuntime'];if (!Object.getOwnPropertyDescriptor(Module, 'noExitRuntime')) Object.defineProperty(Module, 'noExitRuntime', { configurable: true, get: function() { abort('Module.noExitRuntime has been replaced with plain noExitRuntime') } }); + + + + +// In MINIMAL_RUNTIME, setValue() and getValue() are only available when building with safe heap enabled, for heap safety checking. +// In traditional runtime, setValue() and getValue() are always available (although their use is highly discouraged due to perf penalties) + +/** @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) ? (tempDouble > (+0) ? ((Math_min((+(Math_floor((tempDouble)/(+4294967296)))), (+4294967295)))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/(+4294967296))))))>>>0) : 0)],HEAP32[((ptr)>>2)]=tempI64[0],HEAP32[(((ptr)+(4))>>2)]=tempI64[1]); break; + case 'float': HEAPF32[((ptr)>>2)]=value; break; + case 'double': HEAPF64[((ptr)>>3)]=value; break; + default: abort('invalid type for setValue: ' + type); + } +} + +/** @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 getValue: ' + type); + } + return null; +} + + + + + +// Wasm globals + +var wasmMemory; + +// In fastcomp asm.js, we don't need a wasm Table at all. +// In the wasm backend, we polyfill the WebAssembly object, +// so this creates a (non-native-wasm) table for us. + + +//======================================== +// Runtime essentials +//======================================== + +// whether we are quitting the application. no code should run after this. +// set in exit() and abort() +var ABORT = false; + +// set by exit() and abort(). Passed to 'onExit' handler. +// NOTE: This is also used as the process return code code in shell environments +// but only when noExitRuntime is false. +var EXITSTATUS = 0; + +/** @type {function(*, string=)} */ +function assert(condition, text) { + if (!condition) { + abort('Assertion failed: ' + text); + } +} + +// 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 + assert(func, 'Cannot call unknown function ' + ident + ', make sure it is exported'); + return func; +} + +// C calling interface. +function ccall(ident, returnType, argTypes, args, opts) { + // For fast lookup of conversion functions + var toC = { + 'string': 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 = stackAlloc(len); + stringToUTF8(str, ret, len); + } + return ret; + }, + 'array': function(arr) { + var ret = stackAlloc(arr.length); + writeArrayToMemory(arr, ret); + return ret; + } + }; + + function convertReturnValue(ret) { + if (returnType === 'string') return UTF8ToString(ret); + if (returnType === 'boolean') return Boolean(ret); + return ret; + } + + var func = getCFunc(ident); + var cArgs = []; + var stack = 0; + 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 = stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func.apply(null, cArgs); + + ret = convertReturnValue(ret); + if (stack !== 0) stackRestore(stack); + return ret; +} + +function cwrap(ident, returnType, argTypes, opts) { + return function() { + return ccall(ident, returnType, argTypes, arguments, opts); + } +} + +var ALLOC_NORMAL = 0; // Tries to use _malloc() +var ALLOC_STACK = 1; // Lives for the duration of the current function call +var ALLOC_DYNAMIC = 2; // Cannot be freed except through sbrk +var ALLOC_NONE = 3; // Do not allocate + +// 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 = [_malloc, + stackAlloc, + dynamicAlloc][allocator](Math.max(size, singleType ? 1 : types.length)); + } + + if (zeroinit) { + var stop; + ptr = ret; + assert((ret & 3) == 0); + stop = ret + (size & ~3); + for (; ptr < stop; ptr += 4) { + HEAP32[((ptr)>>2)]=0; + } + stop = ret + size; + while (ptr < stop) { + HEAP8[((ptr++)>>0)]=0; + } + return ret; + } + + if (singleType === 'i8') { + if (slab.subarray || slab.slice) { + HEAPU8.set(/** @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]; + + 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 = getNativeTypeSize(type); + previousType = type; + } + i += typeSize; + } + + return ret; +} + +// Allocate memory during any stage of startup - static memory early on, dynamic memory later, malloc when ready +function getMemory(size) { + if (!runtimeInitialized) return dynamicAlloc(size); + return _malloc(size); +} + + + + +/** @type {function(number, number=)} */ +function Pointer_stringify(ptr, length) { + abort("this function has been removed - you should use UTF8ToString(ptr, maxBytesToRead) instead!"); +} + +// 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 = HEAPU8[((ptr++)>>0)]; + if (!ch) return str; + str += String.fromCharCode(ch); + } +} + +// 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); +} + + +// 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; + +/** + * @param {number} idx + * @param {number=} maxBytesToRead + * @return {string} + */ +function UTF8ArrayToString(u8Array, idx, maxBytesToRead) { + var endIdx = idx + maxBytesToRead; + 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. + // (As a tiny code save trick, compare endPtr against endIdx using a negation, so that undefined means Infinity) + while (u8Array[endPtr] && !(endPtr >= endIdx)) ++endPtr; + + if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) { + return UTF8Decoder.decode(u8Array.subarray(idx, endPtr)); + } else { + var str = ''; + // If building with TextDecoder, we have already computed the string length above, so test loop end condition against that + while (idx < endPtr) { + // For UTF8 byte structure, see: + // http://en.wikipedia.org/wiki/UTF-8#Description + // https://www.ietf.org/rfc/rfc2279.txt + // https://tools.ietf.org/html/rfc3629 + var u0 = u8Array[idx++]; + if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } + var u1 = u8Array[idx++] & 63; + if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } + var u2 = u8Array[idx++] & 63; + if ((u0 & 0xF0) == 0xE0) { + u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; + } else { + if ((u0 & 0xF8) != 0xF0) warnOnce('Invalid UTF-8 leading byte 0x' + u0.toString(16) + ' encountered when deserializing a UTF-8 string on the asm.js/wasm heap to a JS string!'); + u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (u8Array[idx++] & 63); + } + + if (u0 < 0x10000) { + str += String.fromCharCode(u0); + } else { + var ch = u0 - 0x10000; + str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); + } + } + } + return str; +} + +// 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. +// maxBytesToRead: an optional length that specifies the maximum number of bytes to read. You can omit +// this parameter to scan the string until the first \0 byte. If maxBytesToRead is +// passed, and the string at [ptr, ptr+maxBytesToReadr[ contains a null byte in the +// middle, then the string will cut short at that byte index (i.e. maxBytesToRead will +// not produce a string of exact length [ptr, ptr+maxBytesToRead[) +// N.B. mixing frequent uses of UTF8ToString() with and without maxBytesToRead may +// throw JS JIT optimizations off, so it is worth to consider consistently using one +// style or the other. +/** + * @param {number} ptr + * @param {number=} maxBytesToRead + * @return {string} + */ +function UTF8ToString(ptr, maxBytesToRead) { + return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ''; +} + +// 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) { + var u1 = str.charCodeAt(++i); + u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 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 (outIdx + 3 >= endIdx) break; + if (u >= 0x200000) warnOnce('Invalid Unicode code point 0x' + u.toString(16) + ' encountered when serializing a JS string to an UTF-8 string on the asm.js/wasm heap! (Valid unicode code points should be in range 0-0x1FFFFF).'); + outU8Array[outIdx++] = 0xF0 | (u >> 18); + 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; +} + +// 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); +} + +// 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 len += 4; + } + return len; +} + + +// 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; +} + +// Allocate heap space for a JS string, and write it there. +// It is the responsibility of the caller to free() that memory. +function allocateUTF8(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = _malloc(size); + if (ret) stringToUTF8Array(str, HEAP8, ret, size); + return ret; +} + +// Allocate stack space for a JS string, and write it there. +function allocateUTF8OnStack(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = stackAlloc(size); + stringToUTF8Array(str, HEAP8, ret, size); + return ret; +} + +// 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) { + 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. +} + +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); +} + +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; +} + + + + +// Memory management + +var PAGE_SIZE = 16384; +var WASM_PAGE_SIZE = 65536; +var ASMJS_PAGE_SIZE = 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 updateGlobalBufferAndViews(buf) { + buffer = buf; + Module['HEAP8'] = HEAP8 = new Int8Array(buf); + Module['HEAP16'] = HEAP16 = new Int16Array(buf); + Module['HEAP32'] = HEAP32 = new Int32Array(buf); + Module['HEAPU8'] = HEAPU8 = new Uint8Array(buf); + Module['HEAPU16'] = HEAPU16 = new Uint16Array(buf); + Module['HEAPU32'] = HEAPU32 = new Uint32Array(buf); + Module['HEAPF32'] = HEAPF32 = new Float32Array(buf); + Module['HEAPF64'] = HEAPF64 = new Float64Array(buf); +} + +var STATIC_BASE = 8, + STACK_BASE = 67664, + STACKTOP = STACK_BASE, + STACK_MAX = 5310544, + DYNAMIC_BASE = 5310544, + DYNAMICTOP_PTR = 67472; + +assert(STACK_BASE % 16 === 0, 'stack must start aligned'); +assert(DYNAMIC_BASE % 16 === 0, 'heap must start aligned'); + + + +var TOTAL_STACK = 5242880; +if (Module['TOTAL_STACK']) assert(TOTAL_STACK === Module['TOTAL_STACK'], 'the stack size can no longer be determined at runtime') + +var INITIAL_TOTAL_MEMORY = Module['TOTAL_MEMORY'] || 268435456;if (!Object.getOwnPropertyDescriptor(Module, 'TOTAL_MEMORY')) Object.defineProperty(Module, 'TOTAL_MEMORY', { configurable: true, get: function() { abort('Module.TOTAL_MEMORY has been replaced with plain INITIAL_TOTAL_MEMORY') } }); + +assert(INITIAL_TOTAL_MEMORY >= TOTAL_STACK, 'TOTAL_MEMORY should be larger than TOTAL_STACK, was ' + INITIAL_TOTAL_MEMORY + '! (TOTAL_STACK=' + TOTAL_STACK + ')'); + +// 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'); + + + + + + +// In standalone mode, the wasm creates the memory, and the user can't provide it. +// In non-standalone/normal mode, we create the memory here. + +// Create the main memory. (Note: this isn't used in STANDALONE_WASM mode since the wasm +// memory is created in the wasm, not in JS.) + + if (Module['buffer']) { + buffer = Module['buffer']; + } + else { + buffer = new ArrayBuffer(INITIAL_TOTAL_MEMORY); + } + + +// If the user provides an incorrect length, just use that length instead rather than providing the user to +// specifically provide the memory length with Module['TOTAL_MEMORY']. +INITIAL_TOTAL_MEMORY = buffer.byteLength; +updateGlobalBufferAndViews(buffer); + +HEAP32[DYNAMICTOP_PTR>>2] = DYNAMIC_BASE; + + + + +// 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; + // Also test the global address 0 for integrity. + // We don't do this with ASan because ASan does its own checks for this. + HEAP32[0] = 0x63736d65; /* 'emsc' */ +} + +function checkStackCookie() { + var cookie1 = HEAPU32[(STACK_MAX >> 2)-1]; + var cookie2 = HEAPU32[(STACK_MAX >> 2)-2]; + if (cookie1 != 0x02135467 || cookie2 != 0x89BACDFE) { + abort('Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x02135467, but received 0x' + cookie2.toString(16) + ' ' + cookie1.toString(16)); + } + // Also test the global address 0 for integrity. + // We don't do this with ASan because ASan does its own checks for this. + if (HEAP32[0] !== 0x63736d65 /* 'emsc' */) abort('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 - stackSave() + allocSize) + ' bytes available!'); +} + + + + +// Endianness check (note: assumes compiler arch was little-endian) +(function() { + var h16 = new Int16Array(1); + var h8 = new Int8Array(h16.buffer); + h16[0] = 0x6373; + if (h8[0] !== 0x73 || h8[1] !== 0x63) throw 'Runtime error: expected the system to be little-endian!'; +})(); + +function abortFnPtrError(ptr, sig) { + abort("Invalid function pointer " + ptr + " called with signature '" + sig + "'. 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). Build with ASSERTIONS=2 for more info."); +} + + + +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 main() is called + +var runtimeInitialized = false; +var runtimeExited = false; + + +function preRun() { + + if (Module['preRun']) { + if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; + while (Module['preRun'].length) { + addOnPreRun(Module['preRun'].shift()); + } + } + + callRuntimeCallbacks(__ATPRERUN__); +} + +function initRuntime() { + checkStackCookie(); + assert(!runtimeInitialized); + runtimeInitialized = true; + if (!Module["noFSInit"] && !FS.init.initialized) FS.init(); +TTY.init(); + callRuntimeCallbacks(__ATINIT__); +} + +function preMain() { + checkStackCookie(); + FS.ignorePermissions = false; + callRuntimeCallbacks(__ATMAIN__); +} + +function exitRuntime() { + checkStackCookie(); + runtimeExited = true; +} + +function postRun() { + checkStackCookie(); + + if (Module['postRun']) { + if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; + while (Module['postRun'].length) { + addOnPostRun(Module['postRun'].shift()); + } + } + + callRuntimeCallbacks(__ATPOSTRUN__); +} + +function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb); +} + +function addOnInit(cb) { + __ATINIT__.unshift(cb); +} + +function addOnPreMain(cb) { + __ATMAIN__.unshift(cb); +} + +function addOnExit(cb) { +} + +function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); +} + +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; +} + + +assert(Math.imul, 'This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill'); +assert(Math.fround, 'This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill'); +assert(Math.clz32, 'This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill'); +assert(Math.trunc, 'This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill'); + +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_max = Math.max; +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 +// Module.preRun (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; + err('still waiting on run dependencies:'); + } + err('dependency: ' + dep); + } + if (shown) { + err('(end of list)'); + } + }, 10000); + } + } else { + err('warning: run dependency added without ID'); + } +} + +function removeRunDependency(id) { + runDependencies--; + + if (Module['monitorRunDependencies']) { + Module['monitorRunDependencies'](runDependencies); + } + + if (id) { + assert(runDependencyTracking[id]); + delete runDependencyTracking[id]; + } else { + err('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["preloadedImages"] = {}; // maps url to image data +Module["preloadedAudios"] = {}; // maps url to audio data + + +function abort(what) { + if (Module['onAbort']) { + Module['onAbort'](what); + } + + what += ''; + out(what); + err(what); + + ABORT = true; + EXITSTATUS = 1; + + var output = 'abort(' + what + ') at ' + stackTrace(); + what = output; + + // Throw a wasm runtime error, because a JS error might be seen as a foreign + // exception, which means we'd run destructors on it. We need the error to + // simply make the program stop. + throw what; +} + + +var memoryInitializer = null; + + + + + + + +// Copyright 2017 The Emscripten Authors. All rights reserved. +// Emscripten is available under two separate licenses, the MIT license and the +// University of Illinois/NCSA Open Source License. Both these licenses can be +// found in the LICENSE file. + +// Prefix of data URIs emitted by SINGLE_FILE and related options. +var dataURIPrefix = 'data:application/octet-stream;base64,'; + +// Indicates whether filename is a base64 data URI. +function isDataURI(filename) { + return String.prototype.startsWith ? + filename.startsWith(dataURIPrefix) : + filename.indexOf(dataURIPrefix) === 0; +} + + + + + + +// Globals used by JS i64 conversions +var tempDouble; +var tempI64; + +// === Body === + +var ASM_CONSTS = [function($0, $1, $2, $3, $4, $5) { if (!artoolkit["frameMalloc"]) { artoolkit["frameMalloc"] = ({}); } var frameMalloc = artoolkit["frameMalloc"]; frameMalloc["framepointer"] = $1; frameMalloc["framesize"] = $2; frameMalloc["camera"] = $3; frameMalloc["transform"] = $4; frameMalloc["videoLumaPointer"] = $5; }, + function($0, $1, $2, $3) { if (!artoolkit["multiEachMarkerInfo"]) { artoolkit["multiEachMarkerInfo"] = ({}); } var multiEachMarker = artoolkit["multiEachMarkerInfo"]; multiEachMarker['visible'] = $0; multiEachMarker['pattId'] = $1; multiEachMarker['pattType'] = $2; multiEachMarker['width'] = $3; }, + function($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20, $21, $22, $23, $24, $25, $26, $27, $28, $29, $30, $31, $32) { var $a = arguments; var i = 12; if (!artoolkit["markerInfo"]) { artoolkit["markerInfo"] = ({ pos: [0,0], line: [[0,0,0], [0,0,0], [0,0,0], [0,0,0]], vertex: [[0,0], [0,0], [0,0], [0,0]] }); } var markerInfo = artoolkit["markerInfo"]; markerInfo["area"] = $0; markerInfo["id"] = $1; markerInfo["idPatt"] = $2; markerInfo["idMatrix"] = $3; markerInfo["dir"] = $4; markerInfo["dirPatt"] = $5; markerInfo["dirMatrix"] = $6; markerInfo["cf"] = $7; markerInfo["cfPatt"] = $8; markerInfo["cfMatrix"] = $9; markerInfo["pos"][0] = $10; markerInfo["pos"][1] = $11; markerInfo["line"][0][0] = $a[i++]; markerInfo["line"][0][1] = $a[i++]; markerInfo["line"][0][2] = $a[i++]; markerInfo["line"][1][0] = $a[i++]; markerInfo["line"][1][1] = $a[i++]; markerInfo["line"][1][2] = $a[i++]; markerInfo["line"][2][0] = $a[i++]; markerInfo["line"][2][1] = $a[i++]; markerInfo["line"][2][2] = $a[i++]; markerInfo["line"][3][0] = $a[i++]; markerInfo["line"][3][1] = $a[i++]; markerInfo["line"][3][2] = $a[i++]; markerInfo["vertex"][0][0] = $a[i++]; markerInfo["vertex"][0][1] = $a[i++]; markerInfo["vertex"][1][0] = $a[i++]; markerInfo["vertex"][1][1] = $a[i++]; markerInfo["vertex"][2][0] = $a[i++]; markerInfo["vertex"][2][1] = $a[i++]; markerInfo["vertex"][3][0] = $a[i++]; markerInfo["vertex"][3][1] = $a[i++]; markerInfo["errorCorrected"] = $a[i++]; }, + function($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13) { var $a = arguments; var i = 0; if (!artoolkit["NFTMarkerInfo"]) { artoolkit["NFTMarkerInfo"] = ({ id: 0, error: -1, found: 0, pose: [0,0,0,0, 0,0,0,0, 0,0,0,0] }); } var markerInfo = artoolkit["NFTMarkerInfo"]; markerInfo["id"] = $a[i++]; markerInfo["error"] = $a[i++]; markerInfo["found"] = 1; markerInfo["pose"][0] = $a[i++]; markerInfo["pose"][1] = $a[i++]; markerInfo["pose"][2] = $a[i++]; markerInfo["pose"][3] = $a[i++]; markerInfo["pose"][4] = $a[i++]; markerInfo["pose"][5] = $a[i++]; markerInfo["pose"][6] = $a[i++]; markerInfo["pose"][7] = $a[i++]; markerInfo["pose"][8] = $a[i++]; markerInfo["pose"][9] = $a[i++]; markerInfo["pose"][10] = $a[i++]; markerInfo["pose"][11] = $a[i++]; }, + function($0) { var $a = arguments; var i = 0; if (!artoolkit["NFTMarkerInfo"]) { artoolkit["NFTMarkerInfo"] = ({ id: 0, error: -1, found: 0, pose: [0,0,0,0, 0,0,0,0, 0,0,0,0] }); } var markerInfo = artoolkit["NFTMarkerInfo"]; markerInfo["id"] = $a[i++]; markerInfo["error"] = -1; markerInfo["found"] = 0; markerInfo["pose"][0] = 0; markerInfo["pose"][1] = 0; markerInfo["pose"][2] = 0; markerInfo["pose"][3] = 0; markerInfo["pose"][4] = 0; markerInfo["pose"][5] = 0; markerInfo["pose"][6] = 0; markerInfo["pose"][7] = 0; markerInfo["pose"][8] = 0; markerInfo["pose"][9] = 0; markerInfo["pose"][10] = 0; markerInfo["pose"][11] = 0; }]; + +function _emscripten_asm_const_iiiiiii(code, a0, a1, a2, a3, a4, a5) { + return ASM_CONSTS[code](a0, a1, a2, a3, a4, a5); +} + +function _emscripten_asm_const_iiiid(code, a0, a1, a2, a3) { + return ASM_CONSTS[code](a0, a1, a2, a3); +} + +function _emscripten_asm_const_iiddddddddddddd(code, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13) { + return ASM_CONSTS[code](a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13); +} + +function _emscripten_asm_const_ii(code, a0) { + return ASM_CONSTS[code](a0); +} + +function _emscripten_asm_const_iiiiiiiidddddddddddddddddddddddddi(code, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32) { + return ASM_CONSTS[code](a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32); +} + + + + +// STATICTOP = STATIC_BASE + 67656; +/* global initializers */ __ATINIT__.push({ func: function() { __GLOBAL__I_000101() } }, { func: function() { __GLOBAL__sub_I_ARToolKitJS_cpp() } }, { func: function() { ___emscripten_environ_constructor() } }, { func: function() { __GLOBAL__sub_I_bind_cpp() } }, { func: function() { __GLOBAL__sub_I_iostream_cpp() } }); + + +memoryInitializer = "data:application/octet-stream;base64,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AAAAAAAA8D87v6fAaSTpP7sgx3t6UeE/Xaty3lWo0T8AwDDwDMw8/APDM/MPzz//gECwcIxMvHyDQ7Nzj0+/fyDgENAs7BzcI+MT0y/vH9+gYJBQrGycXKNjk1Ovb59fCMg4+ATENPQLyzv7B8c394hIuHiERLR0i0u7e4dHt3co6BjYJOQU1CvrG9sn5xfXqGiYWKRklFSra5tbp2eXVwLCMvIOzj7+AcEx8Q3NPf2CQrJyjk6+foFBsXGNTb19IuIS0i7uHt4h4RHRLe0d3aJiklKubp5eoWGRUa1tnV0Kyjr6BsY29gnJOfkFxTX1ikq6eoZGtnaJSbl5hUW1dSrqGtom5hbWKekZ2SXlFdWqappapmaWVqlpmVmlZZVV3hIElQAAAAD///////////////8AAAAAAAAAAAAAAAACAADAAwAAwAQAAMAFAADABgAAwAcAAMAIAADACQAAwAoAAMALAADADAAAwA0AAMAOAADADwAAwBAAAMARAADAEgAAwBMAAMAUAADAFQAAwBYAAMAXAADAGAAAwBkAAMAaAADAGwAAwBwAAMAdAADAHgAAwB8AAMAAAACzAQAAwwIAAMMDAADDBAAAwwUAAMMGAADDBwAAwwgAAMMJAADDCgAAwwsAAMMMAADDDQAA0w4AAMMPAADDAAAMuwEADMMCAAzDAwAMwwQADNMAAAAA/////////////////////////////////////////////////////////////////wABAgMEBQYHCAn/////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP///////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA0AAAAEDQAAAAAJDgAAAAAADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAPAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABISEgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAoAAAAACgAAAAAJCwAAAAAACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAADAxMjM0NTY3ODlBQkNERUYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgACAAIAAgACAAIAAgACAAIAAyACIAIgAiACIAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAFgBMAEwATABMAEwATABMAEwATABMAEwATABMAEwATACNgI2AjYCNgI2AjYCNgI2AjYCNgEwATABMAEwATABMAEwAjVCNUI1QjVCNUI1QjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUEwATABMAEwATABMAI1gjWCNYI1gjWCNYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGBMAEwATABMACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAA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ciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAAAAAAAoAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUFTENfQ1RZUEUAAAAATENfTlVNRVJJQwAATENfVElNRQAAAAAATENfQ09MTEFURQAATENfTU9ORVRBUlkATENfTUVTU0FHRVMAAAAAAAAAAAAAAAAAAgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAA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dCBsb2FkIHBhdHRlcm4gZnJvbSBOVUxMIGJ1ZmZlci4KAEVycm9yOiBvdXQgb2YgbWVtb3J5LgoAIAkKDQBQYXR0ZXJuIERhdGEgcmVhZCBlcnJvciEhCgBFcnJvciByZWFkaW5nIHBhdHRlcm4gZmlsZSAnJXMnLgoARXJyb3IgKCVkKTogdW5hYmxlIHRvIG9wZW4gY2FtZXJhIHBhcmFtZXRlcnMgZmlsZSAiJXMiIGZvciByZWFkaW5nLgoARXJyb3IgKCVkKTogdW5hYmxlIHRvIGRldGVybWluZSBmaWxlIGxlbmd0aC4ARXJyb3I6IHN1cHBsaWVkIGZpbGUgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGFuIEFSVG9vbEtpdCBjYW1lcmEgcGFyYW1ldGVyIGZpbGUuCgBFcnJvciAoJWQpOiB1bmFibGUgdG8gcmVhZCBmcm9tIGZpbGUuAGFyZ2xDYW1lcmFGcnVzdHVtUkgoKTogYXJQYXJhbURlY29tcE1hdCgpIGluZGljYXRlZCBwYXJhbWV0ZXIgZXJyb3IuCgBFcnJvcjogaWNwR2V0Sl9VX1hjAEVycm9yIDE6IGljcEdldEluaXRYdzJYYwoARXJyb3IgMjogaWNwR2V0SW5pdFh3MlhjCgBFcnJvciAzOiBpY3BHZXRJbml0WHcyWGMKAEVycm9yIDQ6IGljcEdldEluaXRYdzJYYwoARXJyb3IgNTogaWNwR2V0SW5pdFh3MlhjCgBFcnJvciA2OiBpY3BHZXRJbml0WHcyWGMKAEVycm9yIDc6IGljcEdldEluaXRYdzJYYwoARXJyb3I6IHVuYWJsZSB0byBvcGVuIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcycuCgBFcnJvciBwcm9jZXNzaW5nIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcyc6IEZpcnN0IGxpbmUgbXVzdCBiZSBudW1iZXIgb2YgbWFya2VyIGNvbmZpZ3MgdG8gcmVhZC4KACVsbHUlYwBFcnJvciBwcm9jZXNzaW5nIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcyc6IHBhdHRlcm4gJyVzJyBzcGVjaWZpZWQgaW4gbXVsdGltYXJrZXIgY29uZmlndXJhdGlvbiB3aGlsZSBpbiBiYXJjb2RlLW9ubHkgbW9kZS4KAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJzogVW5hYmxlIHRvIGRldGVybWluZSBkaXJlY3RvcnkgbmFtZS4KAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJzogVW5hYmxlIHRvIGxvYWQgcGF0dGVybiAnJXMnLgoAJWxmAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJywgbWFya2VyIGRlZmluaXRpb24gJTNkOiBGaXJzdCBsaW5lIG11c3QgYmUgcGF0dGVybiB3aWR0aC4KACVsZiAlbGYgJWxmICVsZgAlZiAlZgBFcnJvciBwcm9jZXNzaW5nIG11bHRpbWFya2VyIGNvbmZpZyBmaWxlICclcycsIG1hcmtlciBkZWZpbml0aW9uICUzZDogTGluZXMgMiAtIDQgbXVzdCBiZSBtYXJrZXIgdHJhbnNmb3JtLgoAWyVzXSAAZGVidWcAaW5mbwB3YXJuaW5nAGVycm9yACVzJXMALmlzZXQARXJyb3I6IHVuYWJsZSB0byBvcGVuIGZpbGUgJyVzJXMnIGZvciByZWFkaW5nLgoARXJyb3IgcmVhZGluZyBpbWFnZVNldC4KAEltYWdlc2V0IGNvbnRhaW5zICVkIGltYWdlcy4KAEZhbGxpbmcgYmFjayB0byByZWFkaW5nICclcyVzJyBpbiBBUlRvb2xLaXQgdjQueCBmb3JtYXQuCgBFcnJvciByZWFkaW5nIEpQRUcgZmlsZS4KAEVycm9yIHJlYWRpbmcgSlBFRyBmaWxlIGhlYWRlci4KACVmAEZpbGUgb3BlbiBlcnJvci4gJXMKAFJlYWQgZXJyb3IhIQoAcgBFcnJvciBvcGVuaW5nIGZpbGUgJyVzJzogACVzJXMKACVkAAojIyMgU3VyZmFjZSBOby4lZCAjIyMKACVzACAgUmVhZCBJbWFnZVNldC4KAEVycm9yIG9wZW5pbmcgZmlsZSAnJXMuaXNldCcuCgAgICAgZW5kLgoAICBSZWFkIEZlYXR1cmVTZXQuCgBFcnJvciBvcGVuaW5nIGZpbGUgJyVzLmZzZXQnLgoAICBSZWFkIE1hcmtlclNldC4KAG1yawBFcnJvciBvcGVuaW5nIGZpbGUgJyVzLm1yaycuCgAlZiAlZiAlZiAlZgBUcmFuc2Zvcm1hdGlvbiBtYXRyaXggcmVhZCBlcnJvciEhCgBqcGcAa3BtRGVsZXRlUmVmRGF0YVNldCgpOiBOVUxMIHJlZkRhdGFTZXRQdHIxL3JlZkRhdGFTZXRQdHIyLgoAa3BtRGVsZXRlUmVmRGF0YVNldCgpOiBOVUxMIHJlZkRhdGFTZXRQdHIuCgByYgBrcG1Mb2FkUmVmRGF0YVNldCgpOiBOVUxMIGZpbGVuYW1lL3JlZkRhdGFTZXRQdHIuCgBFcnJvciBsb2FkaW5nIEtQTSBkYXRhOiB1bmFibGUgdG8gb3BlbiBmaWxlICclcyVzJXMnIGZvciByZWFkaW5nLgoARXJyb3IgbG9hZGluZyBLUE0gZGF0YTogZXJyb3IgcmVhZGluZyBkYXRhLgoAa3BtQ2hhbmdlUGFnZU5vT2ZSZWZEYXRhU2V0KCk6IE5VTEwgcmVmRGF0YVNldC4KAGtwbVNldFJlZkRhdGFTZXQoKTogTlVMTCBrcG1IYW5kbGUvcmVmRGF0YVNldC4KAGtwbVNldFJlZkRhdGFTZXQoKTogcmVmRGF0YVNldC4KAHBvaW50cy0lZAoAa3BtTWF0Y2hpbmcoKTogTlVMTCBrcG1IYW5kbGUvaW5JbWFnZUx1bWEuCgBQYWdlWyVkXSAgcHJlOiUzZCwgYWZ0OiUzZCwgZXJyb3IgPSAlZgoAJXMuJXMAQXNzZXJ0aW9uIGBweXJhbWlkLT5zaXplKCkgPiAwYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvRG9HX3NjYWxlX2ludmFyaWFudF9kZXRlY3Rvci5jcHAAUHlyYW1pZCBpcyBub3QgYWxsb2NhdGVkAE9jdGF2ZSBvdXQgb2YgcmFuZ2UAU2NhbGUgb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgbUltYWdlcy5zaXplKCkgPiAwYCBmYWlsZWQgaW4gAExhcGxhY2lhbiBweXJhbWlkIGhhcyBub3QgYmVlbiBhbGxvY2F0ZWQAQXNzZXJ0aW9uIGBweXJhbWlkLT5udW1PY3RhdmVzKCkgPiAwYCBmYWlsZWQgaW4gAFB5cmFtaWQgZG9lcyBub3QgY29udGFpbiBhbnkgbGV2ZWxzAEFzc2VydGlvbiBgZHluYW1pY19jYXN0PGNvbnN0IEJpbm9taWFsUHlyYW1pZDMyZio+KHB5cmFtaWQpYCBmYWlsZWQgaW4gAE9ubHkgYmlub21pYWwgcHlyYW1pZCBpcyBzdXBwb3J0ZWQAQXNzZXJ0aW9uIGBkLnR5cGUoKSA9PSBJTUFHRV9GMzJgIGZhaWxlZCBpbiAAT25seSBGMzIgaW1hZ2VzIHN1cHBvcnRlZABBc3NlcnRpb24gYGltMS50eXBlKCkgPT0gSU1BR0VfRjMyYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW0yLnR5cGUoKSA9PSBJTUFHRV9GMzJgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBkLmNoYW5uZWxzKCkgPT0gMWAgZmFpbGVkIGluIABPbmx5IHNpbmdsZSBjaGFubmVsIGltYWdlcyBzdXBwb3J0ZWQAQXNzZXJ0aW9uIGBpbTEuY2hhbm5lbHMoKSA9PSAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW0yLmNoYW5uZWxzKCkgPT0gMWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGQud2lkdGgoKSA9PSBpbTIud2lkdGgoKWAgZmFpbGVkIGluIABJbWFnZXMgbXVzdCBoYXZlIHRoZSBzYW1lIHdpZHRoAEFzc2VydGlvbiBgZC5oZWlnaHQoKSA9PSBpbTIuaGVpZ2h0KClgIGZhaWxlZCBpbiAASW1hZ2VzIG11c3QgaGF2ZSB0aGUgc2FtZSBoZWlnaHQAQXNzZXJ0aW9uIGBpbTEud2lkdGgoKSA9PSBpbTIud2lkdGgoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGltMS5oZWlnaHQoKSA9PSBpbTIuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGByb3cgPCBtSGVpZ2h0YCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9mcmFtZXdvcmsvaW1hZ2UuaAByb3cgb3V0IG9mIGJvdW5kcwBONnZpc2lvbjI1R2F1c3NpYW5TY2FsZVNwYWNlUHlyYW1pZEUARG9HIFB5cmFtaWQATm9uLW1heCBzdXBwcmVzc2lvbgBTdWJwaXhlbABwcnVuZUZlYXR1cmVzAEZpbmQgT3JpZW50YXRpb25zAEFzc2VydGlvbiBgbUJ1Y2tldHMuc2l6ZSgpID09IG1OdW1CdWNrZXRzWGAgZmFpbGVkIGluIABCdWNrZXRzIGFyZSBub3QgYWxsb2NhdGVkAEFzc2VydGlvbiBgbUJ1Y2tldHNbMF0uc2l6ZSgpID09IG1OdW1CdWNrZXRzWWAgZmFpbGVkIGluIABBc3NlcnRpb24gYG1GZWF0dXJlUG9pbnRzLnNpemUoKSA8PSBtTWF4TnVtRmVhdHVyZVBvaW50c2AgZmFpbGVkIGluIABUb28gbWFueSBmZWF0dXJlIHBvaW50cwBBc3NlcnRpb24gYGJ1Y2tldFswXS5maXJzdCA+PSBidWNrZXRbbl0uZmlyc3RgIGZhaWxlZCBpbiAAbnRoX2VsZW1lbnQgZmFpbGVkAEFzc2VydGlvbiBga3Auc2NhbGUgPCBtTGFwbGFjaWFuUHlyYW1pZC5udW1TY2FsZVBlck9jdGF2ZSgpYCBmYWlsZWQgaW4gAEZlYXR1cmUgcG9pbnQgc2NhbGUgaXMgb3V0IG9mIGJvdW5kcwBBc3NlcnRpb24gYGtwLnNjb3JlID09IGxhcDEuZ2V0PGZsb2F0Pih5KVt4XWAgZmFpbGVkIGluIABTY29yZSBpcyBub3QgY29uc2lzdGVudCB3aXRoIHRoZSBEb0cgaW1hZ2UAQXNzZXJ0aW9uIGBsYXAwLmhlaWdodCgpID09IGxhcDEuaGVpZ2h0KCkgPT0gbGFwMi5oZWlnaHQoKWAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZGV0ZWN0b3JzL0RvR19zY2FsZV9pbnZhcmlhbnRfZGV0ZWN0b3IuaABXaWR0aC9oZWlnaHQgYXJlIG5vdCBjb25zaXN0ZW50AEFzc2VydGlvbiBgKGxhcDAuaGVpZ2h0KCkgPT0gbGFwMS5oZWlnaHQoKSkgJiYgKChsYXAxLmhlaWdodCgpPj4xKSA9PSBsYXAyLmhlaWdodCgpKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYCgobGFwMC53aWR0aCgpPj4xKSA9PSBsYXAxLndpZHRoKCkpICYmIChsYXAxLndpZHRoKCkgPT0gbGFwMi53aWR0aCgpKWAgZmFpbGVkIGluIABJbWFnZSBzaXplcyBhcmUgaW5jb25zaXN0ZW50AEFzc2VydGlvbiBgKHgtMSkgPj0gMCAmJiAoeCsxKSA8IGxhcDEud2lkdGgoKWAgZmFpbGVkIGluIAB4IG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGAoeS0xKSA+PSAwICYmICh5KzEpIDwgbGFwMS5oZWlnaHQoKWAgZmFpbGVkIGluIAB5IG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGAobGFwMC53aWR0aCgpPj4xKSA9PSBsYXAxLndpZHRoKClgIGZhaWxlZCBpbiAASW1hZ2UgZGltZW5zaW9ucyBpbmNvbnNpc3RlbnQAQXNzZXJ0aW9uIGAobGFwMC53aWR0aCgpPj4xKSA9PSBsYXAyLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGAobGFwMC5oZWlnaHQoKT4+MSkgPT0gbGFwMS5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYChsYXAwLmhlaWdodCgpPj4xKSA9PSBsYXAyLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGludClzdGQ6OmZsb29yKHgpID09IChpbnQpeGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZGV0ZWN0b3JzL2ludGVycG9sYXRlLmgAZmxvb3IoKSBhbmQgY2FzdCBub3QgdGhlIHNhbWUAQXNzZXJ0aW9uIGAoaW50KXN0ZDo6Zmxvb3IoeSkgPT0gKGludCl5YCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgeXAgPj0gMCAmJiB5cCA8IGhlaWdodGAgZmFpbGVkIGluIAB5cCBvdXQgb2YgYm91bmRzAEFzc2VydGlvbiBgeXBfcGx1c18xID49IDAgJiYgeXBfcGx1c18xIDwgaGVpZ2h0YCBmYWlsZWQgaW4gAHlwX3BsdXNfMSBvdXQgb2YgYm91bmRzAEFzc2VydGlvbiBgeHAgPj0gMCAmJiB4cCA8IHdpZHRoYCBmYWlsZWQgaW4gAHhwIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGB4cF9wbHVzXzEgPj0gMCAmJiB4cF9wbHVzXzEgPCB3aWR0aGAgZmFpbGVkIGluIAB4cF9wbHVzXzEgb3V0IG9mIGJvdW5kcwBBc3NlcnRpb24gYHcwID49IDAgJiYgdzAgPD0gMS4wMDAxYCBmYWlsZWQgaW4gAE91dCBvZiByYW5nZQBBc3NlcnRpb24gYHcxID49IDAgJiYgdzEgPD0gMS4wMDAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgdzIgPj0gMCAmJiB3MiA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB3MyA+PSAwICYmIHczIDw9IDEuMDAwMWAgZmFpbGVkIGluIABBc3NlcnRpb24gYCh3MCt3MSt3Mit3MykgPD0gMS4wMDAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKHgtMSkgPj0gMCAmJiAoeCsxKSA8IGltLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGAoeS0xKSA+PSAwICYmICh5KzEpIDwgaW0uaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBsYXAwLndpZHRoKCkgPT0gbGFwMS53aWR0aCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgbGFwMC5oZWlnaHQoKSA9PSBsYXAxLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgeF9kaXZfMi0wLjVmID49IDBgIGZhaWxlZCBpbiAAeF9kaXZfMiBvdXQgb2YgYm91bmRzIG91dCBvZiBib3VuZHMgZm9yIGludGVycG9sYXRpb24AQXNzZXJ0aW9uIGB5X2Rpdl8yLTAuNWYgPj0gMGAgZmFpbGVkIGluIAB5X2Rpdl8yIG91dCBvZiBib3VuZHMgb3V0IG9mIGJvdW5kcyBmb3IgaW50ZXJwb2xhdGlvbgBBc3NlcnRpb24gYHhfZGl2XzIrMC41ZiA8IGxhcDIud2lkdGgoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHlfZGl2XzIrMC41ZiA8IGxhcDIuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBsYXAwLndpZHRoKCkgPT0gbGFwMi53aWR0aCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgbGFwMC5oZWlnaHQoKSA9PSBsYXAyLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW0wLmhlaWdodCgpID09IGltMS5oZWlnaHQoKWAgZmFpbGVkIGluIABIZWlnaHQgaXMgaW5jb25zaXN0ZW50AEFzc2VydGlvbiBgaW0wLmhlaWdodCgpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYChpbTEuaGVpZ2h0KCk+PjEpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYChpbTAuaGVpZ2h0KCk+PjEpID09IGltMS5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYChpbTAuaGVpZ2h0KCk+PjEpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGluZGV4IDwgbUltYWdlcy5zaXplKClgIGZhaWxlZCBpbiAASW5kZXggaXMgb3V0IG9mIHJhbmdlAE42dmlzaW9uMThCaW5vbWlhbFB5cmFtaWQzMmZFAEFzc2VydGlvbiBgd2lkdGggPj0gNWAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZGV0ZWN0b3JzL2dhdXNzaWFuX3NjYWxlX3NwYWNlX3B5cmFtaWQuY3BwAEltYWdlIGlzIHRvbyBzbWFsbABBc3NlcnRpb24gYGhlaWdodCA+PSA1YCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW1hZ2UudHlwZSgpID09IElNQUdFX1VJTlQ4YCBmYWlsZWQgaW4gAEltYWdlIG11c3QgYmUgZ3JheXNjYWxlAEFzc2VydGlvbiBgaW1hZ2UuY2hhbm5lbHMoKSA9PSAxYCBmYWlsZWQgaW4gAEltYWdlIG11c3QgaGF2ZSAxIGNoYW5uZWwAQXNzZXJ0aW9uIGBtUHlyYW1pZC5zaXplKCkgPT0gbU51bU9jdGF2ZXMqbU51bVNjYWxlc1Blck9jdGF2ZWAgZmFpbGVkIGluIABQeXJhbWlkIGhhcyBub3QgYmVlbiBhbGxvY2F0ZWQgeWV0AEFzc2VydGlvbiBgaW1hZ2Uud2lkdGgoKSA9PSBtUHlyYW1pZFswXS53aWR0aCgpYCBmYWlsZWQgaW4gAEltYWdlIG9mIHdyb25nIHNpemUgZm9yIHB5cmFtaWQAQXNzZXJ0aW9uIGBpbWFnZS5oZWlnaHQoKSA9PSBtUHlyYW1pZFswXS5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGRzdC50eXBlKCkgPT0gSU1BR0VfRjMyYCBmYWlsZWQgaW4gAERlc3RpbmF0aW9uIGltYWdlIHNob3VsZCBiZSBhIGZsb2F0AFVua25vd24gaW1hZ2UgdHlwZQBVbnN1cHBvcnRlZCBpbWFnZSB0eXBlAE42dmlzaW9uOUV4Y2VwdGlvbkUAQXNzZXJ0aW9uIGBpbS53aWR0aCgpID09IGltLnN0ZXAoKS9zaXplb2YoZmxvYXQpYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvb3JpZW50YXRpb25fYXNzaWdubWVudC5jcHAAU3RlcCBzaXplIG11c3QgYmUgZXF1YWwgdG8gd2lkdGggZm9yIG5vdwBBc3NlcnRpb24gYHggPj0gMGAgZmFpbGVkIGluIAB4IG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB4IDwgbUdyYWRpZW50c1tvY3RhdmUqbU51bVNjYWxlc1Blck9jdGF2ZStzY2FsZV0ud2lkdGgoKWAgZmFpbGVkIGluIAB4IG11c3QgYmUgbGVzcyB0aGFuIHRoZSBpbWFnZSB3aWR0aABBc3NlcnRpb24gYHkgPj0gMGAgZmFpbGVkIGluIAB5IG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB5IDwgbUdyYWRpZW50c1tvY3RhdmUqbU51bVNjYWxlc1Blck9jdGF2ZStzY2FsZV0uaGVpZ2h0KClgIGZhaWxlZCBpbiAAeSBtdXN0IGJlIGxlc3MgdGhhbiB0aGUgaW1hZ2UgaGVpZ2h0AEFzc2VydGlvbiBgZy5jaGFubmVscygpID09IDJgIGZhaWxlZCBpbiAATnVtYmVyIG9mIGNoYW5uZWxzIHNob3VsZCBiZSAyAEFzc2VydGlvbiBgbWF4X2hlaWdodCA+IDBgIGZhaWxlZCBpbiAATWF4aW11bSBiaW4gc2hvdWxkIGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgaGlzdCAhPSBOVUxMYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvb3JpZW50YXRpb25fYXNzaWdubWVudC5oAEhpc3RvZ3JhbSBwb2ludGVyIGlzIE5VTEwAQXNzZXJ0aW9uIGAoZmJpbiswLjVmKSA+IDAgJiYgKGZiaW4tMC41ZikgPCBudW1fYmluc2AgZmFpbGVkIGluIABEZWNpbWFsIGJpbiBwb3NpdGlvbiBpbmRleCBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBtYWduaXR1ZGUgPj0gMGAgZmFpbGVkIGluIABNYWduaXR1ZGUgY2Fubm90IGJlIG5lZ2F0aXZlAEFzc2VydGlvbiBgbnVtX2JpbnMgPj0gMGAgZmFpbGVkIGluIABOdW1iZXIgYmlucyBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgdzEgPj0gMGAgZmFpbGVkIGluIAB3MSBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgdzIgPj0gMGAgZmFpbGVkIGluIAB3MiBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgYjEgPj0gMCAmJiBiMSA8IG51bV9iaW5zYCBmYWlsZWQgaW4gAGIxIGJpbiBpbmRleCBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBiMiA+PSAwICYmIGIyIDwgbnVtX2JpbnNgIGZhaWxlZCBpbiAAYjIgYmluIGluZGV4IG91dCBvZiByYW5nZQBJRCBhbHJlYWR5IGV4aXN0cwBCdWlsZCBQeXJhbWlkAEV4dHJhY3QgRmVhdHVyZXMAQXNzZXJ0aW9uIGBhc3NpZ25tZW50LnNpemUoKSA9PSBudW1faW5kaWNlc2AgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvYmluYXJ5X2hpZXJhcmNoaWNhbF9jbHVzdGVyaW5nLmgAQXNzaWdubWVudCBzaXplIHdyb25nAEFzc2VydGlvbiBgYXNzaWdubWVudFtpXSAhPSAtMWAgZmFpbGVkIGluIABBc3NpZ25tZW50IGlzIGludmFsaWQAQXNzZXJ0aW9uIGBhc3NpZ25tZW50W2ldIDwgbnVtX2luZGljZXNgIGZhaWxlZCBpbiAAQXNzaWdubWVudCBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBpbmRpY2VzW2Fzc2lnbm1lbnRbaV1dIDwgbnVtX2ZlYXR1cmVzYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaXQtPnNlY29uZC5zaXplKCkgIT0gMGAgZmFpbGVkIGluIABDbHVzdGVyIG11c3QgaGF2ZSBhdGxlYXNldCAxIGZlYXR1cmUAQXNzZXJ0aW9uIGBtSyA9PSBtQ2VudGVycy5zaXplKClgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2ttZWRvaWRzLmgAayBzaG91bGQgbWF0Y2ggdGhlIG51bWJlciBvZiBjbHVzdGVyIGNlbnRlcnMAQXNzZXJ0aW9uIGBudW1fZmVhdHVyZXMgPiAwYCBmYWlsZWQgaW4gAE51bWJlciBvZiBmZWF0dXJlcyBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgbnVtX2luZGljZXMgPD0gbnVtX2ZlYXR1cmVzYCBmYWlsZWQgaW4gAE1vcmUgaW5kaWNlcyB0aGFuIGZlYXR1cmVzAEFzc2VydGlvbiBgbnVtX2luZGljZXMgPj0gbUtgIGZhaWxlZCBpbiAATm90IGVub3VnaCBmZWF0dXJlcwBBc3NpZ25tZW50IHNpemUgaXMgaW5jb3JyZWN0AEFzc2VydGlvbiBgbnVtX2NlbnRlcnMgPiAwYCBmYWlsZWQgaW4gAFRoZXJlIG11c3QgYmUgYXQgbGVhc3QgMSBjZW50ZXIAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL3Zpc3VhbF9kYXRhYmFzZS5oAEFzc2VydGlvbiBgZGV0ZWN0b3JgIGZhaWxlZCBpbiAARGV0ZWN0b3IgaXMgTlVMTABBc3NlcnRpb24gYHB5cmFtaWQtPmltYWdlcygpLnNpemUoKSA+IDBgIGZhaWxlZCBpbiAAUHlyYW1pZCBpcyBlbXB0eQBBc3NlcnRpb24gYHB5cmFtaWQtPmltYWdlcygpWzBdLndpZHRoKCkgPT0gZGV0ZWN0b3ItPndpZHRoKClgIGZhaWxlZCBpbiAAUHlyYW1pZCBhbmQgZGV0ZWN0b3Igc2l6ZSBtaXNtYXRjaABBc3NlcnRpb24gYHB5cmFtaWQtPmltYWdlcygpWzBdLmhlaWdodCgpID09IGRldGVjdG9yLT5oZWlnaHQoKWAgZmFpbGVkIGluIABOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUlONnZpc2lvbjhLZXlmcmFtZUlMaTk2RUVFRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUE42dmlzaW9uOEtleWZyYW1lSUxpOTZFRUVOU18xNGRlZmF1bHRfZGVsZXRlSVMzX0VFTlNfOWFsbG9jYXRvcklTM19FRUVFAFslc10gWyVzXSBbJXNdIDogRm91bmQgJWQgZmVhdHVyZXMgaW4gcXVlcnkAYm9vbCB2aXNpb246OlZpc3VhbERhdGFiYXNlPHZpc2lvbjo6RlJFQUtFeHRyYWN0b3IsIHZpc2lvbjo6QmluYXJ5RmVhdHVyZVN0b3JlLCB2aXNpb246OkJpbmFyeUZlYXR1cmVNYXRjaGVyPDk2PiA+OjpxdWVyeShjb25zdCB2aXNpb246OkdhdXNzaWFuU2NhbGVTcGFjZVB5cmFtaWQgKikgW0ZFQVRVUkVfRVhUUkFDVE9SID0gdmlzaW9uOjpGUkVBS0V4dHJhY3RvciwgU1RPUkUgPSB2aXNpb246OkJpbmFyeUZlYXR1cmVTdG9yZSwgTUFUQ0hFUiA9IHZpc2lvbjo6QmluYXJ5RmVhdHVyZU1hdGNoZXI8OTY+XQBGaW5kIE1hdGNoZXMgKDEpAEhvdWdoIFZvdGluZyAoMSkARmluZCBIb3VnaCBNYXRjaGVzICgxKQBFc3RpbWF0ZSBIb21vZ3JhcGh5ICgxKQBGaW5kIElubGllcnMgKDEpAEZpbmQgTWF0Y2hlcyAoMikASG91Z2ggVm90aW5nICgyKQBGaW5kIEhvdWdoIE1hdGNoZXMgKDIpAEVzdGltYXRlIEhvbW9ncmFwaHkgKDIpAEZpbmQgSW5saWVycyAoMikAQXNzZXJ0aW9uIGAwYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9tYXRjaGVycy9mZWF0dXJlX21hdGNoZXItaW5saW5lLmgARmFpbGVkIHRvIGNvbXB1dGUgbWF0cml4IGludmVyc2UAQXNzZXJ0aW9uIGBiZXN0X2luZGV4ICE9IHN0ZDo6bnVtZXJpY19saW1pdHM8c2l6ZV90Pjo6bWF4KClgIGZhaWxlZCBpbiAAU29tZXRoaW5nIHN0cmFuZ2UAQXNzZXJ0aW9uIGBtTWF0Y2hlcy5zaXplKCkgPD0gZmVhdHVyZXMxLT5zaXplKClgIGZhaWxlZCBpbiAATnVtYmVyIG9mIG1hdGNoZXMgc2hvdWxkIGJlIGxvd2VyAEFzc2VydGlvbiBgaHlwLnNpemUoKSA+PSA5Km1heF9udW1faHlwb3RoZXNlc2AgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvaG9tb2dyYXBoeV9lc3RpbWF0aW9uL3JvYnVzdF9ob21vZ3JhcGh5LmgAaHlwIHZlY3RvciBzaG91bGQgYmUgb2Ygc2l6ZSA5Km1heF9udW1faHlwb3RoZXNlcwBBc3NlcnRpb24gYHRtcF9pLnNpemUoKSA+PSBudW1fcG9pbnRzYCBmYWlsZWQgaW4gAHRtcF9pIHZlY3RvciBzaG91bGQgYmUgb2Ygc2l6ZSBudW1fcG9pbnRzAEFzc2VydGlvbiBgaHlwX2Nvc3RzLnNpemUoKSA+PSBtYXhfbnVtX2h5cG90aGVzZXNgIGZhaWxlZCBpbiAAaHlwX2Nvc3RzIHZlY3RvciBzaG91bGQgYmUgb2Ygc2l6ZSBtYXhfbnVtX2h5cG90aGVzZXMAQXNzZXJ0aW9uIGBuIDw9IGluX21hdGNoZXMuc2l6ZSgpYCBmYWlsZWQgaW4gAFNob3VsZCBiZSB0aGUgc2FtZQBBc3NlcnRpb24gYGRpc3RCaW5BbmdsZSA+PSAwYCBmYWlsZWQgaW4gAGRpc3RCaW5BbmdsZSBtdXN0IG5vdCBiZSBuZWdhdGl2ZQBBc3NlcnRpb24gYG1Sb290LmdldCgpYCBmYWlsZWQgaW4gAFJvb3QgY2Fubm90IGJlIE5VTEwAQXNzZXJ0aW9uIGBtaW5pICE9IC0xYCBmYWlsZWQgaW4gAE1pbmltdW0gaW5kZXggbm90IHNldABBc3NlcnRpb24gYHggPj0gbU1pblhgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2hvdWdoX3NpbWlsYXJpdHlfdm90aW5nLmgAeCBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGB4IDwgbU1heFhgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB5ID49IG1NaW5ZYCBmYWlsZWQgaW4gAHkgb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgeSA8IG1NYXhZYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgYW5nbGUgPiAtUElgIGZhaWxlZCBpbiAAYW5nbGUgb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYW5nbGUgPD0gUElgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBzY2FsZSA+PSBtTWluU2NhbGVgIGZhaWxlZCBpbiAAc2NhbGUgb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgc2NhbGUgPCBtTWF4U2NhbGVgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbmRleCA+PSAwYCBmYWlsZWQgaW4gAGluZGV4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpblggPj0gMGAgZmFpbGVkIGluIABiaW5YIG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpblggPCBtTnVtWEJpbnNgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBiaW5ZID49IDBgIGZhaWxlZCBpbiAAYmluWSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBiaW5ZIDwgbU51bVlCaW5zYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgYmluQW5nbGUgPj0gMGAgZmFpbGVkIGluIABiaW5BbmdsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBiaW5BbmdsZSA8IG1OdW1BbmdsZUJpbnNgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBiaW5TY2FsZSA+PSAwYCBmYWlsZWQgaW4gAGJpblNjYWxlIG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpblNjYWxlIDwgbU51bVNjYWxlQmluc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGluZGV4IDw9IChiaW5YICsgYmluWSptTnVtWEJpbnMgKyBiaW5BbmdsZSptTnVtWEJpbnMqbU51bVlCaW5zICsgYmluU2NhbGUqbU51bVhCaW5zKm1OdW1ZQmlucyptTnVtQW5nbGVCaW5zKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHNpemUgPiAwYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9tYXRjaGVycy9ob3VnaF9zaW1pbGFyaXR5X3ZvdGluZy5jcHAAc2l6ZSBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgbVJlZkltYWdlV2lkdGggPiAwYCBmYWlsZWQgaW4gAHdpZHRoIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBtUmVmSW1hZ2VIZWlnaHQgPiAwYCBmYWlsZWQgaW4gAGhlaWdodCBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgbiA+IDBgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL3V0aWxzL3BhcnRpYWxfc29ydC5oAG4gbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYGsgPiAwYCBmYWlsZWQgaW4gAGsgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYHB5cmFtaWRgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2ZyZWFrLmgAUHlyYW1pZCBpcyBOVUxMAEFzc2VydGlvbiBgc3RvcmUuc2l6ZSgpID09IHBvaW50cy5zaXplKClgIGZhaWxlZCBpbiAARmVhdHVyZSBzdG9yZSBoYXMgbm90IGJlZW4gYWxsb2NhdGVkAEFzc2VydGlvbiBgbnVtX3BvaW50cyA9PSBwb2ludHMuc2l6ZSgpYCBmYWlsZWQgaW4gAFNob3VsZCBiZSBzYW1lIHNpemUAQXNzZXJ0aW9uIGBvY3RhdmUgPj0gMGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZGV0ZWN0b3JzL2dhdXNzaWFuX3NjYWxlX3NwYWNlX3B5cmFtaWQuaABPY3RhdmUgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYG9jdGF2ZSA8IG1OdW1PY3RhdmVzYCBmYWlsZWQgaW4gAE9jdGF2ZSBtdXN0IGJlIGxlc3MgdGhhbiBudW1iZXIgb2Ygb2N0YXZlcwBBc3NlcnRpb24gYHNjYWxlID49IDBgIGZhaWxlZCBpbiAAU2NhbGUgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYHNjYWxlIDwgbU51bVNjYWxlc1Blck9jdGF2ZWAgZmFpbGVkIGluIABTY2FsZSBtdXN0IGJlIGxlc3MgdGhhbiBudW1iZXIgb2Ygc2NhbGUgcGVyIG9jdGF2ZQAlbS0lZC0lWS0lSC0lTS0lUwBBc3NlcnRpb24gYHdpZHRoID4gMGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZnJhbWV3b3JrL2ltYWdlLmNwcABXaWR0aCBjYW5ub3QgYmUgemVybwBBc3NlcnRpb24gYGhlaWdodCA+IDBgIGZhaWxlZCBpbiAASGVpZ2h0IGNhbm5vdCBiZSB6ZXJvAEFzc2VydGlvbiBgc3RlcCA+PSB3aWR0aGAgZmFpbGVkIGluIABTdGVwIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRoZSB3aWR0aABBc3NlcnRpb24gYGNoYW5uZWxzID4gMGAgZmFpbGVkIGluIABOdW1iZXIgb2YgY2hhbm5lbHMgY2Fubm90IGJlIHplcm8AQXNzZXJ0aW9uIGBtRGF0YS5nZXQoKWAgZmFpbGVkIGluIABEYXRhIHBvaW50ZXIgaXMgTlVMTABOU3QzX18yMTRkZWZhdWx0X2RlbGV0ZUloRUUATlN0M19fMjIwX19zaGFyZWRfcHRyX3BvaW50ZXJJUGhOU18xNGRlZmF1bHRfZGVsZXRlSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUASW52YWxpZCBpbWFnZSB0eXBlADE2TnVsbEFycmF5RGVsZXRlckloRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQaDE2TnVsbEFycmF5RGVsZXRlckloRU5TXzlhbGxvY2F0b3JJaEVFRUUAQXNzZXJ0aW9uIGBtU3RhcnRUaW1lID49IDBgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2ZyYW1ld29yay90aW1lcnMuY3BwACBsaW5lIAA6IABDbG9jayBoYXMgbm90IGJlZW4gc3RhcnRlZABBc3NlcnRpb24gYG1TdG9wVGltZSA+PSAwYCBmYWlsZWQgaW4gAENsb2NrIGhhcyBub3QgYmVlbiBzdG9wcGVkAFslc10gWyVzXSBbJXNdIDogJXM6ICVmIG1zACBJTkZPICAAdmlzaW9uOjpTY29wZWRUaW1lcjo6flNjb3BlZFRpbWVyKCkAc2V0dXAAdGVhcmRvd24Ac2V0dXBBUjIAX2FkZE1hcmtlcgBfYWRkTXVsdGlNYXJrZXIAX2FkZE5GVE1hcmtlcgBnZXRNdWx0aU1hcmtlck51bQBnZXRNdWx0aU1hcmtlckNvdW50AF9sb2FkQ2FtZXJhAHNldE1hcmtlckluZm9EaXIAc2V0TWFya2VySW5mb1ZlcnRleABnZXRUcmFuc01hdFNxdWFyZQBnZXRUcmFuc01hdFNxdWFyZUNvbnQAZ2V0VHJhbnNNYXRNdWx0aVNxdWFyZQBnZXRUcmFuc01hdE11bHRpU3F1YXJlUm9idXN0AGRldGVjdE1hcmtlcgBnZXRNYXJrZXJOdW0AZGV0ZWN0TkZUTWFya2VyAGdldE11bHRpRWFjaE1hcmtlcgBnZXRNYXJrZXIAZ2V0TkZUTWFya2VyAHNldERlYnVnTW9kZQBnZXREZWJ1Z01vZGUAZ2V0UHJvY2Vzc2luZ0ltYWdlAHNldExvZ0xldmVsAGdldExvZ0xldmVsAHNldFByb2plY3Rpb25OZWFyUGxhbmUAZ2V0UHJvamVjdGlvbk5lYXJQbGFuZQBzZXRQcm9qZWN0aW9uRmFyUGxhbmUAZ2V0UHJvamVjdGlvbkZhclBsYW5lAHNldFRocmVzaG9sZE1vZGUAZ2V0VGhyZXNob2xkTW9kZQBzZXRUaHJlc2hvbGQAZ2V0VGhyZXNob2xkAHNldFBhdHRlcm5EZXRlY3Rpb25Nb2RlAGdldFBhdHRlcm5EZXRlY3Rpb25Nb2RlAHNldFBhdHRSYXRpbwBnZXRQYXR0UmF0aW8Ac2V0TWF0cml4Q29kZVR5cGUAZ2V0TWF0cml4Q29kZVR5cGUAc2V0TGFiZWxpbmdNb2RlAGdldExhYmVsaW5nTW9kZQBzZXRJbWFnZVByb2NNb2RlAGdldEltYWdlUHJvY01vZGUARVJST1JfQVJDT05UUk9MTEVSX05PVF9GT1VORABFUlJPUl9NVUxUSU1BUktFUl9OT1RfRk9VTkQARVJST1JfTUFSS0VSX0lOREVYX09VVF9PRl9CT1VORFMAQVJfREVCVUdfRElTQUJMRQBBUl9ERUJVR19FTkFCTEUAQVJfREVGQVVMVF9ERUJVR19NT0RFAEFSX0xBQkVMSU5HX1dISVRFX1JFR0lPTgBBUl9MQUJFTElOR19CTEFDS19SRUdJT04AQVJfREVGQVVMVF9MQUJFTElOR19NT0RFAEFSX0RFRkFVTFRfTEFCRUxJTkdfVEhSRVNIAEFSX0lNQUdFX1BST0NfRlJBTUVfSU1BR0UAQVJfSU1BR0VfUFJPQ19GSUVMRF9JTUFHRQBBUl9ERUZBVUxUX0lNQUdFX1BST0NfTU9ERQBBUl9URU1QTEFURV9NQVRDSElOR19DT0xPUgBBUl9URU1QTEFURV9NQVRDSElOR19NT05PAEFSX01BVFJJWF9DT0RFX0RFVEVDVElPTgBBUl9URU1QTEFURV9NQVRDSElOR19DT0xPUl9BTkRfTUFUUklYAEFSX1RFTVBMQVRFX01BVENISU5HX01PTk9fQU5EX01BVFJJWABBUl9ERUZBVUxUX1BBVFRFUk5fREVURUNUSU9OX01PREUAQVJfVVNFX1RSQUNLSU5HX0hJU1RPUlkAQVJfTk9VU0VfVFJBQ0tJTkdfSElTVE9SWQBBUl9VU0VfVFJBQ0tJTkdfSElTVE9SWV9WMgBBUl9ERUZBVUxUX01BUktFUl9FWFRSQUNUSU9OX01PREUAQVJfTUFYX0xPT1BfQ09VTlQAQVJfTE9PUF9CUkVBS19USFJFU0gAQVJfTE9HX0xFVkVMX0RFQlVHAEFSX0xPR19MRVZFTF9JTkZPAEFSX0xPR19MRVZFTF9XQVJOAEFSX0xPR19MRVZFTF9FUlJPUgBBUl9MT0dfTEVWRUxfUkVMX0lORk8AQVJfTUFUUklYX0NPREVfM3gzAEFSX01BVFJJWF9DT0RFXzN4M19IQU1NSU5HNjMAQVJfTUFUUklYX0NPREVfM3gzX1BBUklUWTY1AEFSX01BVFJJWF9DT0RFXzR4NABBUl9NQVRSSVhfQ09ERV80eDRfQkNIXzEzXzlfMwBBUl9NQVRSSVhfQ09ERV80eDRfQkNIXzEzXzVfNQBBUl9MQUJFTElOR19USFJFU0hfTU9ERV9NQU5VQUwAQVJfTEFCRUxJTkdfVEhSRVNIX01PREVfQVVUT19NRURJQU4AQVJfTEFCRUxJTkdfVEhSRVNIX01PREVfQVVUT19PVFNVAEFSX0xBQkVMSU5HX1RIUkVTSF9NT0RFX0FVVE9fQURBUFRJVkUAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX05PTkUAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX1BBVFRFUk5fRVhUUkFDVElPTgBBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfTUFUQ0hfR0VORVJJQwBBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfTUFUQ0hfQ09OVFJBU1QAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX01BVENIX0JBUkNPREVfTk9UX0ZPVU5EAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9NQVRDSF9CQVJDT0RFX0VEQ19GQUlMAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9NQVRDSF9DT05GSURFTkNFAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9QT1NFX0VSUk9SAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9QT1NFX0VSUk9SX01VTFRJAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9IRVVSSVNUSUNfVFJPVUJMRVNPTUVfTUFUUklYX0NPREVTAGFsbG9jYXRvcjxUPjo6YWxsb2NhdGUoc2l6ZV90IG4pICduJyBleGNlZWRzIG1heGltdW0gc3VwcG9ydGVkIHNpemUASW1hZ2UgcHJvYy4gbW9kZSBzZXQgdG8gJWQuCgBMYWJlbGluZyBtb2RlIHNldCB0byAlZAoAdmlpZgBQYXR0ZXJuIHJhdGlvIHNpemUgc2V0IHRvICVmLgoAUGF0dGVybiBkZXRlY3Rpb24gbW9kZSBzZXQgdG8gJWQuCgBUaHJlc2hvbGQgc2V0IHRvICVkCgB2aWlpAFRocmVzaG9sZCBtb2RlIHNldCB0byAlZAoAZGlpAHZpaWQAaWkAdmlpAG9uLgBvZmYuAERlYnVnIG1vZGUgc2V0IHRvICVzCgBUcmFja2luZyBsb3N0LiAlZAoAVHJhY2tlZCBwYWdlICVkIChtYXggJWQpLgoAeyB2YXIgJGEgPSBhcmd1bWVudHM7IHZhciBpID0gMDsgaWYgKCFhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXSkgeyBhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXSA9ICh7IGlkOiAwLCBlcnJvcjogLTEsIGZvdW5kOiAwLCBwb3NlOiBbMCwwLDAsMCwgMCwwLDAsMCwgMCwwLDAsMF0gfSk7IH0gdmFyIG1hcmtlckluZm8gPSBhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXTsgbWFya2VySW5mb1siaWQiXSA9ICRhW2krK107IG1hcmtlckluZm9bImVycm9yIl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJmb3VuZCJdID0gMTsgbWFya2VySW5mb1sicG9zZSJdWzBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzFdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzJdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzNdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzRdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzVdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzZdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzddID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzhdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzldID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzEwXSA9ICRhW2krK107IG1hcmtlckluZm9bInBvc2UiXVsxMV0gPSAkYVtpKytdOyB9AHsgdmFyICRhID0gYXJndW1lbnRzOyB2YXIgaSA9IDA7IGlmICghYXJ0b29sa2l0WyJORlRNYXJrZXJJbmZvIl0pIHsgYXJ0b29sa2l0WyJORlRNYXJrZXJJbmZvIl0gPSAoeyBpZDogMCwgZXJyb3I6IC0xLCBmb3VuZDogMCwgcG9zZTogWzAsMCwwLDAsIDAsMCwwLDAsIDAsMCwwLDBdIH0pOyB9IHZhciBtYXJrZXJJbmZvID0gYXJ0b29sa2l0WyJORlRNYXJrZXJJbmZvIl07IG1hcmtlckluZm9bImlkIl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJlcnJvciJdID0gLTE7IG1hcmtlckluZm9bImZvdW5kIl0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bMF0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bMV0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bMl0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bM10gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bNF0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bNV0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bNl0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bN10gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bOF0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bOV0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bMTBdID0gMDsgbWFya2VySW5mb1sicG9zZSJdWzExXSA9IDA7IH0AeyB2YXIgJGEgPSBhcmd1bWVudHM7IHZhciBpID0gMTI7IGlmICghYXJ0b29sa2l0WyJtYXJrZXJJbmZvIl0pIHsgYXJ0b29sa2l0WyJtYXJrZXJJbmZvIl0gPSAoeyBwb3M6IFswLDBdLCBsaW5lOiBbWzAsMCwwXSwgWzAsMCwwXSwgWzAsMCwwXSwgWzAsMCwwXV0sIHZlcnRleDogW1swLDBdLCBbMCwwXSwgWzAsMF0sIFswLDBdXSB9KTsgfSB2YXIgbWFya2VySW5mbyA9IGFydG9vbGtpdFsibWFya2VySW5mbyJdOyBtYXJrZXJJbmZvWyJhcmVhIl0gPSAkMDsgbWFya2VySW5mb1siaWQiXSA9ICQxOyBtYXJrZXJJbmZvWyJpZFBhdHQiXSA9ICQyOyBtYXJrZXJJbmZvWyJpZE1hdHJpeCJdID0gJDM7IG1hcmtlckluZm9bImRpciJdID0gJDQ7IG1hcmtlckluZm9bImRpclBhdHQiXSA9ICQ1OyBtYXJrZXJJbmZvWyJkaXJNYXRyaXgiXSA9ICQ2OyBtYXJrZXJJbmZvWyJjZiJdID0gJDc7IG1hcmtlckluZm9bImNmUGF0dCJdID0gJDg7IG1hcmtlckluZm9bImNmTWF0cml4Il0gPSAkOTsgbWFya2VySW5mb1sicG9zIl1bMF0gPSAkMTA7IG1hcmtlckluZm9bInBvcyJdWzFdID0gJDExOyBtYXJrZXJJbmZvWyJsaW5lIl1bMF1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJsaW5lIl1bMF1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJsaW5lIl1bMF1bMl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJsaW5lIl1bMV1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJsaW5lIl1bMV1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJsaW5lIl1bMV1bMl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJsaW5lIl1bMl1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJsaW5lIl1bMl1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJsaW5lIl1bMl1bMl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJsaW5lIl1bM11bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJsaW5lIl1bM11bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJsaW5lIl1bM11bMl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVswXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzBdWzFdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bMV1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVsxXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzJdWzBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bMl1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVszXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzNdWzFdID0gJGFbaSsrXTsgbWFya2VySW5mb1siZXJyb3JDb3JyZWN0ZWQiXSA9ICRhW2krK107IH0AeyBpZiAoIWFydG9vbGtpdFsibXVsdGlFYWNoTWFya2VySW5mbyJdKSB7IGFydG9vbGtpdFsibXVsdGlFYWNoTWFya2VySW5mbyJdID0gKHt9KTsgfSB2YXIgbXVsdGlFYWNoTWFya2VyID0gYXJ0b29sa2l0WyJtdWx0aUVhY2hNYXJrZXJJbmZvIl07IG11bHRpRWFjaE1hcmtlclsndmlzaWJsZSddID0gJDA7IG11bHRpRWFjaE1hcmtlclsncGF0dElkJ10gPSAkMTsgbXVsdGlFYWNoTWFya2VyWydwYXR0VHlwZSddID0gJDI7IG11bHRpRWFjaE1hcmtlclsnd2lkdGgnXSA9ICQzOyB9AGlpaQBOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQBOU3QzX18yMjFfX2Jhc2ljX3N0cmluZ19jb21tb25JTGIxRUVFAGxvYWRDYW1lcmEoKTogRXJyb3IgbG9hZGluZyBwYXJhbWV0ZXIgZmlsZSAlcyBmb3IgY2FtZXJhLgoAaWlpaQBBUlRvb2xLaXRKUygpOiBVbmFibGUgdG8gc2V0IHVwIE5GVCBtYXJrZXIuCgBSZWFkaW5nICVzLmZzZXQzCgBmc2V0MwBFcnJvciByZWFkaW5nIEtQTSBkYXRhIGZyb20gJXMuZnNldDMKACAgQXNzaWduZWQgcGFnZSBuby4gJWQuCgBFcnJvcjoga3BtQ2hhbmdlUGFnZU5vT2ZSZWZEYXRhU2V0CgBFcnJvcjoga3BtTWVyZ2VSZWZEYXRhU2V0CgAgIERvbmUuCgBSZWFkaW5nICVzLmZzZXQKAGZzZXQARXJyb3IgcmVhZGluZyBkYXRhIGZyb20gJXMuZnNldAoARXJyb3I6IGtwbVNldFJlZkRhdGFTZXQKAExvYWRpbmcgb2YgTkZUIGRhdGEgY29tcGxldGUuCgBBUlRvb2xLaXRKUygpOiBVbmFibGUgdG8gc2V0IHVwIEFSIG11bHRpbWFya2VyLgoAY29uZmlnIGRhdGEgbG9hZCBlcnJvciAhIQoAQVJUb29sS2l0SlMoKTogVW5hYmxlIHRvIHNldCB1cCBBUiBtYXJrZXIuCgBsb2FkTWFya2VyKCk6IEVycm9yIGxvYWRpbmcgcGF0dGVybiBmaWxlICVzLgoARXJyb3I6IGFyMkNyZWF0ZUhhbmRsZS4KAGlpaWlpAHNldHVwKCk6IEVycm9yOiBhclBhdHRDcmVhdGVIYW5kbGUuCgBBbGxvY2F0ZWQgdmlkZW9GcmFtZVNpemUgJWQKAHsgaWYgKCFhcnRvb2xraXRbImZyYW1lTWFsbG9jIl0pIHsgYXJ0b29sa2l0WyJmcmFtZU1hbGxvYyJdID0gKHt9KTsgfSB2YXIgZnJhbWVNYWxsb2MgPSBhcnRvb2xraXRbImZyYW1lTWFsbG9jIl07IGZyYW1lTWFsbG9jWyJmcmFtZXBvaW50ZXIiXSA9ICQxOyBmcmFtZU1hbGxvY1siZnJhbWVzaXplIl0gPSAkMjsgZnJhbWVNYWxsb2NbImNhbWVyYSJdID0gJDM7IGZyYW1lTWFsbG9jWyJ0cmFuc2Zvcm0iXSA9ICQ0OyBmcmFtZU1hbGxvY1sidmlkZW9MdW1hUG9pbnRlciJdID0gJDU7IH0AKioqIENhbWVyYSBQYXJhbWV0ZXIgcmVzaXplZCBmcm9tICVkLCAlZC4gKioqCgBzZXRDYW1lcmEoKTogRXJyb3I6IGFyUGFyYW1MVENyZWF0ZS4KAHNldENhbWVyYSgpOiBFcnJvcjogYXJDcmVhdGVIYW5kbGUuCgBzZXRDYW1lcmEoKTogRXJyb3IgY3JlYXRpbmcgM0QgaGFuZGxlAE91dCBvZiBtZW1vcnkhIQoARXJyb3I6IG1hbGxvYwoAIyMjIEZlYXR1cmUgY2FuZGlkYXRlcyBmb3IgdHJhY2tpbmcgYXJlIG92ZXJmbG93LgoAQm9ndXMgbWVzc2FnZSBjb2RlICVkAEFMSUdOX1RZUEUgaXMgd3JvbmcsIHBsZWFzZSBmaXgATUFYX0FMTE9DX0NIVU5LIGlzIHdyb25nLCBwbGVhc2UgZml4AEJvZ3VzIGJ1ZmZlciBjb250cm9sIG1vZGUASW52YWxpZCBjb21wb25lbnQgSUQgJWQgaW4gU09TAEludmFsaWQgY3JvcCByZXF1ZXN0AERDVCBjb2VmZmljaWVudCBvdXQgb2YgcmFuZ2UARENUIHNjYWxlZCBibG9jayBzaXplICVkeCVkIG5vdCBzdXBwb3J0ZWQAQ29tcG9uZW50IGluZGV4ICVkOiBtaXNtYXRjaGluZyBzYW1wbGluZyByYXRpbyAlZDolZCwgJWQ6JWQsICVjAEJvZ3VzIEh1ZmZtYW4gdGFibGUgZGVmaW5pdGlvbgBCb2d1cyBpbnB1dCBjb2xvcnNwYWNlAEJvZ3VzIEpQRUcgY29sb3JzcGFjZQBCb2d1cyBtYXJrZXIgbGVuZ3RoAFdyb25nIEpQRUcgbGlicmFyeSB2ZXJzaW9uOiBsaWJyYXJ5IGlzICVkLCBjYWxsZXIgZXhwZWN0cyAlZABTYW1wbGluZyBmYWN0b3JzIHRvbyBsYXJnZSBmb3IgaW50ZXJsZWF2ZWQgc2NhbgBJbnZhbGlkIG1lbW9yeSBwb29sIGNvZGUgJWQAVW5zdXBwb3J0ZWQgSlBFRyBkYXRhIHByZWNpc2lvbiAlZABJbnZhbGlkIHByb2dyZXNzaXZlIHBhcmFtZXRlcnMgU3M9JWQgU2U9JWQgQWg9JWQgQWw9JWQASW52YWxpZCBwcm9ncmVzc2l2ZSBwYXJhbWV0ZXJzIGF0IHNjYW4gc2NyaXB0IGVudHJ5ICVkAEJvZ3VzIHNhbXBsaW5nIGZhY3RvcnMASW52YWxpZCBzY2FuIHNjcmlwdCBhdCBlbnRyeSAlZABJbXByb3BlciBjYWxsIHRvIEpQRUcgbGlicmFyeSBpbiBzdGF0ZSAlZABKUEVHIHBhcmFtZXRlciBzdHJ1Y3QgbWlzbWF0Y2g6IGxpYnJhcnkgdGhpbmtzIHNpemUgaXMgJXUsIGNhbGxlciBleHBlY3RzICV1AEJvZ3VzIHZpcnR1YWwgYXJyYXkgYWNjZXNzAEJ1ZmZlciBwYXNzZWQgdG8gSlBFRyBsaWJyYXJ5IGlzIHRvbyBzbWFsbABTdXNwZW5zaW9uIG5vdCBhbGxvd2VkIGhlcmUAQ0NJUjYwMSBzYW1wbGluZyBub3QgaW1wbGVtZW50ZWQgeWV0AFRvbyBtYW55IGNvbG9yIGNvbXBvbmVudHM6ICVkLCBtYXggJWQAVW5zdXBwb3J0ZWQgY29sb3IgY29udmVyc2lvbiByZXF1ZXN0AEJvZ3VzIERBQyBpbmRleCAlZABCb2d1cyBEQUMgdmFsdWUgMHgleABCb2d1cyBESFQgaW5kZXggJWQAQm9ndXMgRFFUIGluZGV4ICVkAEVtcHR5IEpQRUcgaW1hZ2UgKEROTCBub3Qgc3VwcG9ydGVkKQBSZWFkIGZyb20gRU1TIGZhaWxlZABXcml0ZSB0byBFTVMgZmFpbGVkAERpZG4ndCBleHBlY3QgbW9yZSB0aGFuIG9uZSBzY2FuAElucHV0IGZpbGUgcmVhZCBlcnJvcgBPdXRwdXQgZmlsZSB3cml0ZSBlcnJvciAtLS0gb3V0IG9mIGRpc2sgc3BhY2U/AEZyYWN0aW9uYWwgc2FtcGxpbmcgbm90IGltcGxlbWVudGVkIHlldABIdWZmbWFuIGNvZGUgc2l6ZSB0YWJsZSBvdmVyZmxvdwBNaXNzaW5nIEh1ZmZtYW4gY29kZSB0YWJsZSBlbnRyeQBNYXhpbXVtIHN1cHBvcnRlZCBpbWFnZSBkaW1lbnNpb24gaXMgJXUgcGl4ZWxzAEVtcHR5IGlucHV0IGZpbGUAUHJlbWF0dXJlIGVuZCBvZiBpbnB1dCBmaWxlAENhbm5vdCB0cmFuc2NvZGUgZHVlIHRvIG11bHRpcGxlIHVzZSBvZiBxdWFudGl6YXRpb24gdGFibGUgJWQAU2NhbiBzY3JpcHQgZG9lcyBub3QgdHJhbnNtaXQgYWxsIGRhdGEASW52YWxpZCBjb2xvciBxdWFudGl6YXRpb24gbW9kZSBjaGFuZ2UATm90IGltcGxlbWVudGVkIHlldABSZXF1ZXN0ZWQgZmVhdHVyZSB3YXMgb21pdHRlZCBhdCBjb21waWxlIHRpbWUAQXJpdGhtZXRpYyB0YWJsZSAweCUwMnggd2FzIG5vdCBkZWZpbmVkAEJhY2tpbmcgc3RvcmUgbm90IHN1cHBvcnRlZABIdWZmbWFuIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQASlBFRyBkYXRhc3RyZWFtIGNvbnRhaW5zIG5vIGltYWdlAFF1YW50aXphdGlvbiB0YWJsZSAweCUwMnggd2FzIG5vdCBkZWZpbmVkAE5vdCBhIEpQRUcgZmlsZTogc3RhcnRzIHdpdGggMHglMDJ4IDB4JTAyeABJbnN1ZmZpY2llbnQgbWVtb3J5IChjYXNlICVkKQBDYW5ub3QgcXVhbnRpemUgbW9yZSB0aGFuICVkIGNvbG9yIGNvbXBvbmVudHMAQ2Fubm90IHF1YW50aXplIHRvIGZld2VyIHRoYW4gJWQgY29sb3JzAENhbm5vdCBxdWFudGl6ZSB0byBtb3JlIHRoYW4gJWQgY29sb3JzAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogJXMgYmVmb3JlIFNPRgBJbnZhbGlkIEpQRUcgZmlsZSBzdHJ1Y3R1cmU6IHR3byBTT0YgbWFya2VycwBJbnZhbGlkIEpQRUcgZmlsZSBzdHJ1Y3R1cmU6IG1pc3NpbmcgU09TIG1hcmtlcgBVbnN1cHBvcnRlZCBKUEVHIHByb2Nlc3M6IFNPRiB0eXBlIDB4JTAyeABJbnZhbGlkIEpQRUcgZmlsZSBzdHJ1Y3R1cmU6IHR3byBTT0kgbWFya2VycwBGYWlsZWQgdG8gY3JlYXRlIHRlbXBvcmFyeSBmaWxlICVzAFJlYWQgZmFpbGVkIG9uIHRlbXBvcmFyeSBmaWxlAFNlZWsgZmFpbGVkIG9uIHRlbXBvcmFyeSBmaWxlAFdyaXRlIGZhaWxlZCBvbiB0ZW1wb3JhcnkgZmlsZSAtLS0gb3V0IG9mIGRpc2sgc3BhY2U/AEFwcGxpY2F0aW9uIHRyYW5zZmVycmVkIHRvbyBmZXcgc2NhbmxpbmVzAFVuc3VwcG9ydGVkIG1hcmtlciB0eXBlIDB4JTAyeABWaXJ0dWFsIGFycmF5IGNvbnRyb2xsZXIgbWVzc2VkIHVwAEltYWdlIHRvbyB3aWRlIGZvciB0aGlzIGltcGxlbWVudGF0aW9uAFJlYWQgZnJvbSBYTVMgZmFpbGVkAFdyaXRlIHRvIFhNUyBmYWlsZWQAQ29weXJpZ2h0IChDKSAyMDE4LCBUaG9tYXMgRy4gTGFuZSwgR3VpZG8gVm9sbGJlZGluZwA5YyAgMTQtSmFuLTIwMTgAQ2F1dGlvbjogcXVhbnRpemF0aW9uIHRhYmxlcyBhcmUgdG9vIGNvYXJzZSBmb3IgYmFzZWxpbmUgSlBFRwBBZG9iZSBBUFAxNCBtYXJrZXI6IHZlcnNpb24gJWQsIGZsYWdzIDB4JTA0eCAweCUwNHgsIHRyYW5zZm9ybSAlZABVbmtub3duIEFQUDAgbWFya2VyIChub3QgSkZJRiksIGxlbmd0aCAldQBVbmtub3duIEFQUDE0IG1hcmtlciAobm90IEFkb2JlKSwgbGVuZ3RoICV1AERlZmluZSBBcml0aG1ldGljIFRhYmxlIDB4JTAyeDogMHglMDJ4AERlZmluZSBIdWZmbWFuIFRhYmxlIDB4JTAyeABEZWZpbmUgUXVhbnRpemF0aW9uIFRhYmxlICVkICBwcmVjaXNpb24gJWQARGVmaW5lIFJlc3RhcnQgSW50ZXJ2YWwgJXUARnJlZWQgRU1TIGhhbmRsZSAldQBPYnRhaW5lZCBFTVMgaGFuZGxlICV1AEVuZCBPZiBJbWFnZQAgICAgICAgICUzZCAlM2QgJTNkICUzZCAlM2QgJTNkICUzZCAlM2QASkZJRiBBUFAwIG1hcmtlcjogdmVyc2lvbiAlZC4lMDJkLCBkZW5zaXR5ICVkeCVkICAlZABXYXJuaW5nOiB0aHVtYm5haWwgaW1hZ2Ugc2l6ZSBkb2VzIG5vdCBtYXRjaCBkYXRhIGxlbmd0aCAldQBKRklGIGV4dGVuc2lvbiBtYXJrZXI6IHR5cGUgMHglMDJ4LCBsZW5ndGggJXUAICAgIHdpdGggJWQgeCAlZCB0aHVtYm5haWwgaW1hZ2UATWlzY2VsbGFuZW91cyBtYXJrZXIgMHglMDJ4LCBsZW5ndGggJXUAVW5leHBlY3RlZCBtYXJrZXIgMHglMDJ4ACAgICAgICAgJTR1ICU0dSAlNHUgJTR1ICU0dSAlNHUgJTR1ICU0dQBRdWFudGl6aW5nIHRvICVkID0gJWQqJWQqJWQgY29sb3JzAFF1YW50aXppbmcgdG8gJWQgY29sb3JzAFNlbGVjdGVkICVkIGNvbG9ycyBmb3IgcXVhbnRpemF0aW9uAEF0IG1hcmtlciAweCUwMngsIHJlY292ZXJ5IGFjdGlvbiAlZABSU1QlZABTbW9vdGhpbmcgbm90IHN1cHBvcnRlZCB3aXRoIG5vbnN0YW5kYXJkIHNhbXBsaW5nIHJhdGlvcwBTdGFydCBPZiBGcmFtZSAweCUwMng6IHdpZHRoPSV1LCBoZWlnaHQ9JXUsIGNvbXBvbmVudHM9JWQAICAgIENvbXBvbmVudCAlZDogJWRoeCVkdiBxPSVkAFN0YXJ0IG9mIEltYWdlAFN0YXJ0IE9mIFNjYW46ICVkIGNvbXBvbmVudHMAICAgIENvbXBvbmVudCAlZDogZGM9JWQgYWM9JWQAICBTcz0lZCwgU2U9JWQsIEFoPSVkLCBBbD0lZABDbG9zZWQgdGVtcG9yYXJ5IGZpbGUgJXMAT3BlbmVkIHRlbXBvcmFyeSBmaWxlICVzAEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogSlBFRy1jb21wcmVzc2VkIHRodW1ibmFpbCBpbWFnZSwgbGVuZ3RoICV1AEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogcGFsZXR0ZSB0aHVtYm5haWwgaW1hZ2UsIGxlbmd0aCAldQBKRklGIGV4dGVuc2lvbiBtYXJrZXI6IFJHQiB0aHVtYm5haWwgaW1hZ2UsIGxlbmd0aCAldQBVbnJlY29nbml6ZWQgY29tcG9uZW50IElEcyAlZCAlZCAlZCwgYXNzdW1pbmcgWUNiQ3IARnJlZWQgWE1TIGhhbmRsZSAldQBPYnRhaW5lZCBYTVMgaGFuZGxlICV1AFVua25vd24gQWRvYmUgY29sb3IgdHJhbnNmb3JtIGNvZGUgJWQAQ29ycnVwdCBKUEVHIGRhdGE6IGJhZCBhcml0aG1ldGljIGNvZGUASW5jb25zaXN0ZW50IHByb2dyZXNzaW9uIHNlcXVlbmNlIGZvciBjb21wb25lbnQgJWQgY29lZmZpY2llbnQgJWQAQ29ycnVwdCBKUEVHIGRhdGE6ICV1IGV4dHJhbmVvdXMgYnl0ZXMgYmVmb3JlIG1hcmtlciAweCUwMngAQ29ycnVwdCBKUEVHIGRhdGE6IHByZW1hdHVyZSBlbmQgb2YgZGF0YSBzZWdtZW50AENvcnJ1cHQgSlBFRyBkYXRhOiBiYWQgSHVmZm1hbiBjb2RlAFdhcm5pbmc6IHVua25vd24gSkZJRiByZXZpc2lvbiBudW1iZXIgJWQuJTAyZABQcmVtYXR1cmUgZW5kIG9mIEpQRUcgZmlsZQBDb3JydXB0IEpQRUcgZGF0YTogZm91bmQgbWFya2VyIDB4JTAyeCBpbnN0ZWFkIG9mIFJTVCVkAEludmFsaWQgU09TIHBhcmFtZXRlcnMgZm9yIHNlcXVlbnRpYWwgSlBFRwBBcHBsaWNhdGlvbiB0cmFuc2ZlcnJlZCB0b28gbWFueSBzY2FubGluZXMAU09TAExTRQBKUEVHTUVNACVsZCVjACVzCgAAAQIEBwMGBQAtKyAgIDBYMHgAKG51bGwpAC0wWCswWCAwWC0weCsweCAweABpbmYASU5GAE5BTgBpbmZpbml0eQBuYW4ATENfQUxMAExBTkcAQy5VVEYtOABQT1NJWABNVVNMX0xPQ1BBVEgAcndhAHRlcm1pbmF0aW5nIHdpdGggJXMgZXhjZXB0aW9uIG9mIHR5cGUgJXM6ICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZXhjZXB0aW9uIG9mIHR5cGUgJXMAdGVybWluYXRpbmcgd2l0aCAlcyBmb3JlaWduIGV4Y2VwdGlvbgB0ZXJtaW5hdGluZwB1bmNhdWdodABTdDlleGNlcHRpb24ATjEwX19jeHhhYml2MTE2X19zaGltX3R5cGVfaW5mb0UAU3Q5dHlwZV9pbmZvAE4xMF9fY3h4YWJpdjEyMF9fc2lfY2xhc3NfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTdfX2NsYXNzX3R5cGVfaW5mb0UAdGVybWluYXRlX2hhbmRsZXIgdW5leHBlY3RlZGx5IHJldHVybmVkAFN0MTFsb2dpY19lcnJvcgBTdDEybGVuZ3RoX2Vycm9yAE4xMF9fY3h4YWJpdjExN19fcGJhc2VfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMTlfX3BvaW50ZXJfdHlwZV9pbmZvRQBQdXJlIHZpcnR1YWwgZnVuY3Rpb24gY2FsbGVkIQBOMTBfX2N4eGFiaXYxMjNfX2Z1bmRhbWVudGFsX3R5cGVfaW5mb0UAdgBiAGMAaABhAHMAdABpAGoAbQBmAGQATjEwX19jeHhhYml2MTIxX192bWlfY2xhc3NfdHlwZV9pbmZvRQBfWgBfX19aAF9ibG9ja19pbnZva2UAaW52b2NhdGlvbiBmdW5jdGlvbiBmb3IgYmxvY2sgaW4gAGxvbmcgbG9uZwBfX2ludDEyOAB1bnNpZ25lZCBfX2ludDEyOABsb25nIGRvdWJsZQBfX2Zsb2F0MTI4AC4uLgBkZWNpbWFsNjQAZGVjaW1hbDEyOABkZWNpbWFsMzIAZGVjaW1hbDE2AGNoYXIzMl90AGNoYXIxNl90AGF1dG8AZGVjbHR5cGUoYXV0bykAc3RkOjpudWxscHRyX3QAW2FiaToAXQBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxMEFiaVRhZ0F0dHJFAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTROb2RlRQBhbGxvY2F0b3IAYmFzaWNfc3RyaW5nAHN0cmluZwBpc3RyZWFtAG9zdHJlYW0AaW9zdHJlYW0Ac3RkOjphbGxvY2F0b3IAc3RkOjpiYXNpY19zdHJpbmcAc3RkOjppc3RyZWFtAHN0ZDo6b3N0cmVhbQBzdGQ6Omlvc3RyZWFtAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE5U3BlY2lhbFN1YnN0aXR1dGlvbkUAIGltYWdpbmFyeQBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyMFBvc3RmaXhRdWFsaWZpZWRUeXBlRQAgY29tcGxleAApACAAKAAmACYmAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEzUmVmZXJlbmNlVHlwZUUAb2JqY19vYmplY3QAKgBpZDwAPgBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxMVBvaW50ZXJUeXBlRQBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyME5hbWVXaXRoVGVtcGxhdGVBcmdzRQA8ACwgAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEyVGVtcGxhdGVBcmdzRQBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxM1BhcmFtZXRlclBhY2tFAHdjaGFyX3QAYjBFAGIxRQB1AHVsAHVsbABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNUludGVnZXJDYXN0RXhwckUAJUxhTABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNkZsb2F0TGl0ZXJhbEltcGxJZUVFACVhAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE2RmxvYXRMaXRlcmFsSW1wbElkRUUAJWFmAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE2RmxvYXRMaXRlcmFsSW1wbElmRUUATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlOEJvb2xFeHByRQAtAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE0SW50ZWdlckxpdGVyYWxFAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTIwVGVtcGxhdGVBcmd1bWVudFBhY2tFAGdzACY9AD0AYWxpZ25vZiAoACwAfgAuKgAvAC89AF4AXj0APT0APj0APD0APDwAPDw9AC09ACo9AC0tACE9ACEAfHwAfAB8PQAtPioAKwArPQArKwAtPgAlACU9AD4+AD4+PQBzaXplb2YgKAB0eXBlaWQgKAB0aHJvdwB0aHJvdyAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlOVRocm93RXhwckUATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTJJbml0TGlzdEV4cHJFAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEzTm9kZUFycmF5Tm9kZUUAc2l6ZW9mLi4uICgATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTNFbmNsb3NpbmdFeHByRQBzaXplb2YuLi4oAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTIyUGFyYW1ldGVyUGFja0V4cGFuc2lvbkUATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTlTaXplb2ZQYXJhbVBhY2tFeHByRQBzdGF0aWNfY2FzdAA+KABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGU4Q2FzdEV4cHJFAHJlaW50ZXJwcmV0X2Nhc3QAKSA/ICgAKSA6ICgATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTVDb25kaXRpb25hbEV4cHJFAG5vZXhjZXB0ICgAbncAbmEAcGkAOjpvcGVyYXRvciAAbmV3AFtdAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTdOZXdFeHByRQBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxMVBvc3RmaXhFeHByRQAgLi4uIAAgPSAATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTVCcmFjZWRSYW5nZUV4cHJFAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEwQnJhY2VkRXhwckUAX0dMT0JBTF9fTgAoYW5vbnltb3VzIG5hbWVzcGFjZSkATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlOE5hbWVUeXBlRQApWwBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxOEFycmF5U3Vic2NyaXB0RXhwckUALgBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxME1lbWJlckV4cHJFAHNyTgBzcgA6OgBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxOUdsb2JhbFF1YWxpZmllZE5hbWVFAGRuAG9uAG9wZXJhdG9yJiYAb3BlcmF0b3ImAG9wZXJhdG9yJj0Ab3BlcmF0b3I9AG9wZXJhdG9yKCkAb3BlcmF0b3IsAG9wZXJhdG9yfgBvcGVyYXRvciBkZWxldGVbXQBvcGVyYXRvcioAb3BlcmF0b3IvAG9wZXJhdG9yLz0Ab3BlcmF0b3JeAG9wZXJhdG9yXj0Ab3BlcmF0b3I9PQBvcGVyYXRvcj49AG9wZXJhdG9yPgBvcGVyYXRvcltdAG9wZXJhdG9yPD0Ab3BlcmF0b3I8PABvcGVyYXRvcjw8PQBvcGVyYXRvcjwAb3BlcmF0b3ItAG9wZXJhdG9yLT0Ab3BlcmF0b3IqPQBvcGVyYXRvci0tAG9wZXJhdG9yIG5ld1tdAG9wZXJhdG9yIT0Ab3BlcmF0b3IhAG9wZXJhdG9yIG5ldwBvcGVyYXRvcnx8AG9wZXJhdG9yfABvcGVyYXRvcnw9AG9wZXJhdG9yLT4qAG9wZXJhdG9yKwBvcGVyYXRvcis9AG9wZXJhdG9yKysAb3BlcmF0b3ItPgBvcGVyYXRvcj8Ab3BlcmF0b3IlAG9wZXJhdG9yJT0Ab3BlcmF0b3I+PgBvcGVyYXRvcj4+PQBvcGVyYXRvcjw9PgBvcGVyYXRvciIiIABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNUxpdGVyYWxPcGVyYXRvckUAb3BlcmF0b3IgZGVsZXRlAG9wZXJhdG9yIABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyMkNvbnZlcnNpb25PcGVyYXRvclR5cGVFAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZThEdG9yTmFtZUUATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTNRdWFsaWZpZWROYW1lRQBkeW5hbWljX2Nhc3QAZGVsZXRlAFtdIABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxMERlbGV0ZUV4cHJFAGN2ACkoAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE0Q29udmVyc2lvbkV4cHJFAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZThDYWxsRXhwckUAY29uc3RfY2FzdABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxMFByZWZpeEV4cHJFACkgACAoAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEwQmluYXJ5RXhwckUAYWEAYW4AYU4AYVMAY20AZHMAZHYAZFYAZW8AZU8AZXEAZ2UAZ3QAbGUAbHMAbFMAbHQAbWkAbUkAbWwAbUwAbmUAb28Ab3IAb1IAcGwAcEwAcm0Ack0AcnMAclMALi4uIAAgLi4uAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZThGb2xkRXhwckUAZnAAZkwATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTNGdW5jdGlvblBhcmFtRQBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyNEZvcndhcmRUZW1wbGF0ZVJlZmVyZW5jZUUAVHMAc3RydWN0AFR1AHVuaW9uAFRlAGVudW0ATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMjJFbGFib3JhdGVkVHlwZVNwZWZUeXBlRQBTdEwAU3QAc3RkOjoATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTZTdGRRdWFsaWZpZWROYW1lRQBEQwBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyMVN0cnVjdHVyZWRCaW5kaW5nTmFtZUUAVXQAVWwAdkUAJ2xhbWJkYQAnKABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNUNsb3N1cmVUeXBlTmFtZUUAJ3VubmFtZWQAJwBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxNVVubmFtZWRUeXBlTmFtZUUAc3RyaW5nIGxpdGVyYWwATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlOUxvY2FsTmFtZUUAc3RkAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEyQ3RvckR0b3JOYW1lRQBiYXNpY19pc3RyZWFtAGJhc2ljX29zdHJlYW0AYmFzaWNfaW9zdHJlYW0Ac3RkOjpiYXNpY19zdHJpbmc8Y2hhciwgc3RkOjpjaGFyX3RyYWl0czxjaGFyPiwgc3RkOjphbGxvY2F0b3I8Y2hhcj4gPgBzdGQ6OmJhc2ljX2lzdHJlYW08Y2hhciwgc3RkOjpjaGFyX3RyYWl0czxjaGFyPiA+AHN0ZDo6YmFzaWNfb3N0cmVhbTxjaGFyLCBzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+ID4Ac3RkOjpiYXNpY19pb3N0cmVhbTxjaGFyLCBzdGQ6OmNoYXJfdHJhaXRzPGNoYXI+ID4ATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMjdFeHBhbmRlZFNwZWNpYWxTdWJzdGl0dXRpb25FAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTEwTmVzdGVkTmFtZUUAOjoqAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTE5UG9pbnRlclRvTWVtYmVyVHlwZUUAWwBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGU5QXJyYXlUeXBlRQBEdgAgdmVjdG9yWwBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUxMFZlY3RvclR5cGVFAHBpeGVsIHZlY3RvclsATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTVQaXhlbFZlY3RvclR5cGVFAGRlY2x0eXBlKAB1bnNpZ25lZCBsb25nIGxvbmcAb2JqY3Byb3RvACBjb25zdAAgdm9sYXRpbGUAIHJlc3RyaWN0AE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZThRdWFsVHlwZUUATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTdWZW5kb3JFeHRRdWFsVHlwZUUATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTNPYmpDUHJvdG9OYW1lRQBEbwBub2V4Y2VwdABETwBEdwBEeABSRQBPRQAgJgAgJiYATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTJGdW5jdGlvblR5cGVFAHRocm93KABOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyMER5bmFtaWNFeGNlcHRpb25TcGVjRQBub2V4Y2VwdCgATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTJOb2V4Y2VwdFNwZWNFAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTExU3BlY2lhbE5hbWVFAE4xMl9HTE9CQUxfX05fMTE2aXRhbml1bV9kZW1hbmdsZTlEb3RTdWZmaXhFAFVhOWVuYWJsZV9pZkkATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTZGdW5jdGlvbkVuY29kaW5nRQAgW2VuYWJsZV9pZjoATjEyX0dMT0JBTF9fTl8xMTZpdGFuaXVtX2RlbWFuZ2xlMTJFbmFibGVJZkF0dHJFAHRocmVhZC1sb2NhbCB3cmFwcGVyIHJvdXRpbmUgZm9yIAByZWZlcmVuY2UgdGVtcG9yYXJ5IGZvciAAZ3VhcmQgdmFyaWFibGUgZm9yIABub24tdmlydHVhbCB0aHVuayB0byAAdmlydHVhbCB0aHVuayB0byAAdGhyZWFkLWxvY2FsIGluaXRpYWxpemF0aW9uIHJvdXRpbmUgZm9yIABjb25zdHJ1Y3Rpb24gdnRhYmxlIGZvciAALWluLQBOMTJfR0xPQkFMX19OXzExNml0YW5pdW1fZGVtYW5nbGUyMUN0b3JWdGFibGVTcGVjaWFsTmFtZUUAY292YXJpYW50IHJldHVybiB0aHVuayB0byAAdHlwZWluZm8gbmFtZSBmb3IgAHR5cGVpbmZvIGZvciAAVlRUIGZvciAAdnRhYmxlIGZvciAAdm9pZABib29sAGNoYXIAc2lnbmVkIGNoYXIAdW5zaWduZWQgY2hhcgBzaG9ydAB1bnNpZ25lZCBzaG9ydABpbnQAdW5zaWduZWQgaW50AGxvbmcAdW5zaWduZWQgbG9uZwBmbG9hdABkb3VibGUAc3RkOjpzdHJpbmcAc3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4Ac3RkOjp3c3RyaW5nAGVtc2NyaXB0ZW46OnZhbABlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmcgZG91YmxlPgBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0llRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQBOMTBlbXNjcmlwdGVuM3ZhbEUATlN0M19fMjEyYmFzaWNfc3RyaW5nSXdOU18xMWNoYXJfdHJhaXRzSXdFRU5TXzlhbGxvY2F0b3JJd0VFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUATlN0M19fMjhpb3NfYmFzZUUATlN0M19fMjliYXNpY19pb3NJY05TXzExY2hhcl90cmFpdHNJY0VFRUUATlN0M19fMjliYXNpY19pb3NJd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjE1YmFzaWNfc3RyZWFtYnVmSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxNWJhc2ljX3N0cmVhbWJ1Zkl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRQBOU3QzX18yMTNiYXNpY19pc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxM2Jhc2ljX2lzdHJlYW1Jd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjEzYmFzaWNfb3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQBOU3QzX18yMTNiYXNpY19vc3RyZWFtSXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFAE5TdDNfXzIxMV9fc3Rkb3V0YnVmSXdFRQBOU3QzX18yMTFfX3N0ZG91dGJ1ZkljRUUAdW5zdXBwb3J0ZWQgbG9jYWxlIGZvciBzdGFuZGFyZCBpbnB1dABOU3QzX18yMTBfX3N0ZGluYnVmSXdFRQBOU3QzX18yMTBfX3N0ZGluYnVmSWNFRQBOU3QzX18yN2NvbGxhdGVJY0VFAE5TdDNfXzI2bG9jYWxlNWZhY2V0RQBOU3QzX18yN2NvbGxhdGVJd0VFACVwAEMATlN0M19fMjdudW1fZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yOV9fbnVtX2dldEljRUUATlN0M19fMjE0X19udW1fZ2V0X2Jhc2VFAE5TdDNfXzI3bnVtX2dldEl3TlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjlfX251bV9nZXRJd0VFACVwAAAAAEwAbGwAJQAAAAAAbABOU3QzX18yN251bV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzI5X19udW1fcHV0SWNFRQBOU3QzX18yMTRfX251bV9wdXRfYmFzZUUATlN0M19fMjdudW1fcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yOV9fbnVtX3B1dEl3RUUAJUg6JU06JVMAJW0vJWQvJXkAJUk6JU06JVMgJXAAJWEgJWIgJWQgJUg6JU06JVMgJVkAQU0AUE0ASmFudWFyeQBGZWJydWFyeQBNYXJjaABBcHJpbABNYXkASnVuZQBKdWx5AEF1Z3VzdABTZXB0ZW1iZXIAT2N0b2JlcgBOb3ZlbWJlcgBEZWNlbWJlcgBKYW4ARmViAE1hcgBBcHIASnVuAEp1bABBdWcAU2VwAE9jdABOb3YARGVjAFN1bmRheQBNb25kYXkAVHVlc2RheQBXZWRuZXNkYXkAVGh1cnNkYXkARnJpZGF5AFNhdHVyZGF5AFN1bgBNb24AVHVlAFdlZABUaHUARnJpAFNhdAAlbS8lZC8leSVZLSVtLSVkJUk6JU06JVMgJXAlSDolTSVIOiVNOiVTJUg6JU06JVNOU3QzX18yOHRpbWVfZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMjBfX3RpbWVfZ2V0X2Nfc3RvcmFnZUljRUUATlN0M19fMjl0aW1lX2Jhc2VFAE5TdDNfXzI4dGltZV9nZXRJd05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzIyMF9fdGltZV9nZXRfY19zdG9yYWdlSXdFRQBOU3QzX18yOHRpbWVfcHV0SWNOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMTBfX3RpbWVfcHV0RQBOU3QzX18yOHRpbWVfcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTBtb25leXB1bmN0SWNMYjBFRUUATlN0M19fMjEwbW9uZXlfYmFzZUUATlN0M19fMjEwbW9uZXlwdW5jdEljTGIxRUVFAE5TdDNfXzIxMG1vbmV5cHVuY3RJd0xiMEVFRQBOU3QzX18yMTBtb25leXB1bmN0SXdMYjFFRUUAMDEyMzQ1Njc4OQAlTGYATlN0M19fMjltb25leV9nZXRJY05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfZ2V0SWNFRQAwMTIzNDU2Nzg5AE5TdDNfXzI5bW9uZXlfZ2V0SXdOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTFfX21vbmV5X2dldEl3RUUAJS4wTGYATlN0M19fMjltb25leV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfcHV0SWNFRQBOU3QzX18yOW1vbmV5X3B1dEl3TlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjExX19tb25leV9wdXRJd0VFAE5TdDNfXzI4bWVzc2FnZXNJY0VFAE5TdDNfXzIxM21lc3NhZ2VzX2Jhc2VFAE5TdDNfXzIxN19fd2lkZW5fZnJvbV91dGY4SUxtMzJFRUUATlN0M19fMjdjb2RlY3Z0SURpYzExX19tYnN0YXRlX3RFRQBOU3QzX18yMTJjb2RlY3Z0X2Jhc2VFAE5TdDNfXzIxNl9fbmFycm93X3RvX3V0ZjhJTG0zMkVFRQBOU3QzX18yOG1lc3NhZ2VzSXdFRQBOU3QzX18yN2NvZGVjdnRJY2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjdjb2RlY3Z0SXdjMTFfX21ic3RhdGVfdEVFAE5TdDNfXzI3Y29kZWN2dElEc2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjZsb2NhbGU1X19pbXBFAE5TdDNfXzI1Y3R5cGVJY0VFAE5TdDNfXzIxMGN0eXBlX2Jhc2VFAE5TdDNfXzI1Y3R5cGVJd0VFAGZhbHNlAHRydWUATlN0M19fMjhudW1wdW5jdEljRUUATlN0M19fMjhudW1wdW5jdEl3RUUATlN0M19fMjE0X19zaGFyZWRfY291bnRFAE5TdDNfXzIxOV9fc2hhcmVkX3dlYWtfY291bnRF"; + + + + + +/* no memory initializer */ +var tempDoublePtr = 67648 +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}} + + + function demangle(func) { + var __cxa_demangle_func = Module['___cxa_demangle'] || Module['__cxa_demangle']; + assert(__cxa_demangle_func); + try { + var s = func; + if (s.startsWith('__Z')) + s = s.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 (HEAP32[((status)>>2)] === 0 && ret) { + return UTF8ToString(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; + } + + function demangleAll(text) { + var regex = + /\b__Z[\w\d_]+/g; + return text.replace(regex, + function(x) { + var y = demangle(x); + return x === y ? x : (y + ' [' + x + ']'); + }); + } + + function jsStackTrace() { + var err = new Error(); + if (!err.stack) { + // 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); + } + + + var ENV={};function ___buildEnvironment(environ) { + // WARNING: Arbitrary limit! + var MAX_ENV_VALUES = 64; + var TOTAL_ENV_SIZE = 1024; + + // Statically allocate memory for the environment. + var poolPtr; + var envPtr; + if (!___buildEnvironment.called) { + ___buildEnvironment.called = true; + // Set default values. Use string keys for Closure Compiler compatibility. + ENV['USER'] = 'web_user'; + ENV['LOGNAME'] = 'web_user'; + ENV['PATH'] = '/'; + ENV['PWD'] = '/'; + ENV['HOME'] = '/home/web_user'; + // Browser language detection #8751 + ENV['LANG'] = ((typeof navigator === 'object' && navigator.languages && navigator.languages[0]) || 'C').replace('-', '_') + '.UTF-8'; + ENV['_'] = thisProgram; + // Allocate memory. + poolPtr = getMemory(TOTAL_ENV_SIZE); + envPtr = getMemory(MAX_ENV_VALUES * 4); + HEAP32[((envPtr)>>2)]=poolPtr; + HEAP32[((environ)>>2)]=envPtr; + } else { + envPtr = HEAP32[((environ)>>2)]; + poolPtr = HEAP32[((envPtr)>>2)]; + } + + // Collect key=value lines. + var strings = []; + var totalSize = 0; + for (var key in ENV) { + if (typeof ENV[key] === 'string') { + var line = key + '=' + ENV[key]; + strings.push(line); + totalSize += line.length; + } + } + if (totalSize > TOTAL_ENV_SIZE) { + throw new Error('Environment size exceeded TOTAL_ENV_SIZE!'); + } + + // Make new. + var ptrSize = 4; + for (var i = 0; i < strings.length; i++) { + var line = strings[i]; + writeAsciiToMemory(line, poolPtr); + HEAP32[(((envPtr)+(i * ptrSize))>>2)]=poolPtr; + poolPtr += line.length + 1; + } + HEAP32[(((envPtr)+(strings.length * ptrSize))>>2)]=0; + } + + function ___cxa_allocate_exception(size) { + return _malloc(size); + } + + + var ___exception_infos={}; + + var ___exception_caught= []; + + function ___exception_addRef(ptr) { + if (!ptr) return; + var info = ___exception_infos[ptr]; + info.refcount++; + } + + function ___exception_deAdjust(adjusted) { + if (!adjusted || ___exception_infos[adjusted]) return adjusted; + for (var key in ___exception_infos) { + var ptr = +key; // the iteration key is a string, and if we throw this, it must be an integer as that is what we look for + var adj = ___exception_infos[ptr].adjusted; + var len = adj.length; + for (var i = 0; i < len; i++) { + if (adj[i] === adjusted) { + return ptr; + } + } + } + return adjusted; + }function ___cxa_begin_catch(ptr) { + var info = ___exception_infos[ptr]; + if (info && !info.caught) { + info.caught = true; + __ZSt18uncaught_exceptionv.uncaught_exceptions--; + } + if (info) info.rethrown = false; + ___exception_caught.push(ptr); + ___exception_addRef(___exception_deAdjust(ptr)); + return ptr; + } + + + var ___exception_last=0;function ___cxa_throw(ptr, type, destructor) { + ___exception_infos[ptr] = { + ptr: ptr, + adjusted: [ptr], + type: type, + destructor: destructor, + refcount: 0, + caught: false, + rethrown: false + }; + ___exception_last = ptr; + if (!("uncaught_exception" in __ZSt18uncaught_exceptionv)) { + __ZSt18uncaught_exceptionv.uncaught_exceptions = 1; + } else { + __ZSt18uncaught_exceptionv.uncaught_exceptions++; + } + throw ptr + " - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."; + } + + function ___gxx_personality_v0() { + } + + function ___lock() {} + + + function ___setErrNo(value) { + if (Module['___errno_location']) HEAP32[((Module['___errno_location']())>>2)]=value; + else err('failed to set errno from JS'); + return value; + }function ___map_file(pathname, size) { + ___setErrNo(63); + return -1; + } + + + + + + + var PATH={splitPath:function (filename) { + var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; + return splitPathRe.exec(filename).slice(1); + },normalizeArray:function (parts, allowAboveRoot) { + // 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); + }}; + + + var PATH_FS={resolve:function () { + var resolvedPath = '', + resolvedAbsolute = false; + for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) { + var path = (i >= 0) ? arguments[i] : FS.cwd(); + // 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_FS.resolve(from).substr(1); + to = PATH_FS.resolve(to).substr(1); + function trim(arr) { + var start = 0; + for (; start < arr.length; start++) { + if (arr[start] !== '') break; + } + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== '') break; + } + if (start > end) return []; + return arr.slice(start, end - start + 1); + } + var fromParts = trim(from.split('/')); + var toParts = trim(to.split('/')); + var length = Math.min(fromParts.length, toParts.length); + var samePartsLength = length; + for (var i = 0; i < length; i++) { + if (fromParts[i] !== toParts[i]) { + samePartsLength = i; + break; + } + } + var outputParts = []; + for (var i = samePartsLength; i < fromParts.length; i++) { + outputParts.push('..'); + } + outputParts = outputParts.concat(toParts.slice(samePartsLength)); + return outputParts.join('/'); + }}; + + var TTY={ttys:[],init:function () { + // https://github.com/emscripten-core/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/emscripten-core/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(43); + } + 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(60); + } + 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(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + 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(60); + } + try { + for (var i = 0; i < length; i++) { + stream.tty.ops.put_char(stream.tty, buffer[offset+i]); + } + } catch (e) { + throw new FS.ErrnoError(29); + } + 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 = Buffer.alloc ? Buffer.alloc(BUFSIZE) : new Buffer(BUFSIZE); + var bytesRead = 0; + + try { + bytesRead = nodeFS.readSync(process.stdin.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 (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) { + out(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) { + out(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + }},default_tty1_ops:{put_char:function (tty, val) { + if (val === null || val === 10) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } else { + if (val != 0) tty.output.push(val); + } + },flush:function (tty) { + if (tty.output && tty.output.length > 0) { + err(UTF8ArrayToString(tty.output, 0)); + tty.output = []; + } + }}}; + + var MEMFS={ops_table:null,mount:function (mount) { + return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0); + },createNode:function (parent, name, mode, dev) { + if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { + // no supported + throw new FS.ErrnoError(63); + } + if (!MEMFS.ops_table) { + MEMFS.ops_table = { + dir: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + lookup: MEMFS.node_ops.lookup, + mknod: MEMFS.node_ops.mknod, + rename: MEMFS.node_ops.rename, + unlink: MEMFS.node_ops.unlink, + rmdir: MEMFS.node_ops.rmdir, + readdir: MEMFS.node_ops.readdir, + symlink: MEMFS.node_ops.symlink + }, + stream: { + llseek: MEMFS.stream_ops.llseek + } + }, + file: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: { + llseek: MEMFS.stream_ops.llseek, + read: MEMFS.stream_ops.read, + write: MEMFS.stream_ops.write, + allocate: MEMFS.stream_ops.allocate, + mmap: MEMFS.stream_ops.mmap, + msync: MEMFS.stream_ops.msync + } + }, + link: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr, + readlink: MEMFS.node_ops.readlink + }, + stream: {} + }, + chrdev: { + node: { + getattr: MEMFS.node_ops.getattr, + setattr: MEMFS.node_ops.setattr + }, + stream: FS.chrdev_stream_ops + } + }; + } + var node = FS.createNode(parent, name, mode, dev); + if (FS.isDir(node.mode)) { + node.node_ops = MEMFS.ops_table.dir.node; + node.stream_ops = MEMFS.ops_table.dir.stream; + node.contents = {}; + } else if (FS.isFile(node.mode)) { + node.node_ops = MEMFS.ops_table.file.node; + node.stream_ops = MEMFS.ops_table.file.stream; + node.usedBytes = 0; // 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) { + 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; + },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[44]; + },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(55); + } + } + } + // 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(55); + } + 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(28); + } + 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) { + // The data buffer should be a typed array view + assert(!(buffer instanceof ArrayBuffer)); + // If the buffer is located in main memory (HEAP), and if + // memory can grow, we can't hold on to references of the + // memory buffer, as they may get invalidated. That means we + // need to do copy its contents. + if (buffer.buffer === HEAP8.buffer) { + // FIXME: this is inefficient as the file packager may have + // copied the data into memory already - we may want to + // integrate more there and let the file packager loading + // code be able to query if memory growth is on or off. + if (canOwn) { + warnOnce('file packager has copied file data into memory, but in memory growth we are forced to copy it again (see --no-heap-copy)'); + } + canOwn = false; + } + + 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) { + position += stream.position; + } else if (whence === 2) { + if (FS.isFile(stream.node.mode)) { + position += stream.node.usedBytes; + } + } + if (position < 0) { + throw new FS.ErrnoError(28); + } + 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) { + // The data buffer should be a typed array view + assert(!(buffer instanceof ArrayBuffer)); + if (!FS.isFile(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + 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.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; + // malloc() can lead to growing the heap. If targeting the heap, we need to + // re-acquire the heap buffer object in case growth had occurred. + var fromHeap = (buffer.buffer == HEAP8.buffer); + ptr = _malloc(length); + if (!ptr) { + throw new FS.ErrnoError(48); + } + (fromHeap ? HEAP8 : 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(43); + } + 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 ERRNO_MESSAGES={0:"Success",1:"Arg list too long",2:"Permission denied",3:"Address already in use",4:"Address not available",5:"Address family not supported by protocol family",6:"No more processes",7:"Socket already connected",8:"Bad file number",9:"Trying to read unreadable message",10:"Mount device busy",11:"Operation canceled",12:"No children",13:"Connection aborted",14:"Connection refused",15:"Connection reset by peer",16:"File locking deadlock error",17:"Destination address required",18:"Math arg out of domain of func",19:"Quota exceeded",20:"File exists",21:"Bad address",22:"File too large",23:"Host is unreachable",24:"Identifier removed",25:"Illegal byte sequence",26:"Connection already in progress",27:"Interrupted system call",28:"Invalid argument",29:"I/O error",30:"Socket is already connected",31:"Is a directory",32:"Too many symbolic links",33:"Too many open files",34:"Too many links",35:"Message too long",36:"Multihop attempted",37:"File or path name too long",38:"Network interface is not configured",39:"Connection reset by network",40:"Network is unreachable",41:"Too many open files in system",42:"No buffer space available",43:"No such device",44:"No such file or directory",45:"Exec format error",46:"No record locks available",47:"The link has been severed",48:"Not enough core",49:"No message of desired type",50:"Protocol not available",51:"No space left on device",52:"Function not implemented",53:"Socket is not connected",54:"Not a directory",55:"Directory not empty",56:"State not recoverable",57:"Socket operation on non-socket",59:"Not a typewriter",60:"No such device or address",61:"Value too large for defined data type",62:"Previous owner died",63:"Not super-user",64:"Broken pipe",65:"Protocol error",66:"Unknown protocol",67:"Protocol wrong type for socket",68:"Math result not representable",69:"Read only file system",70:"Illegal seek",71:"No such process",72:"Stale file handle",73:"Connection timed out",74:"Text file busy",75:"Cross-device link",100:"Device not a stream",101:"Bad font file fmt",102:"Invalid slot",103:"Invalid request code",104:"No anode",105:"Block device required",106:"Channel number out of range",107:"Level 3 halted",108:"Level 3 reset",109:"Link number out of range",110:"Protocol driver not attached",111:"No CSI structure available",112:"Level 2 halted",113:"Invalid exchange",114:"Invalid request descriptor",115:"Exchange full",116:"No data (for no delay io)",117:"Timer expired",118:"Out of streams resources",119:"Machine is not on the network",120:"Package not installed",121:"The object is remote",122:"Advertise error",123:"Srmount error",124:"Communication error on send",125:"Cross mount point (not really error)",126:"Given log. name not unique",127:"f.d. invalid for this operation",128:"Remote address changed",129:"Can access a needed shared lib",130:"Accessing a corrupted shared lib",131:".lib section in a.out corrupted",132:"Attempting to link in too many libs",133:"Attempting to exec a shared library",135:"Streams pipe error",136:"Too many users",137:"Socket type not supported",138:"Not supported",139:"Protocol family not supported",140:"Can't send after socket shutdown",141:"Too many references",142:"Host is down",148:"No medium (in tape drive)",156:"Level 2 not synchronized"}; + + var ERRNO_CODES={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135};var FS={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:false,ignorePermissions:true,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function (e) { + if (!(e instanceof FS.ErrnoError)) throw e + ' : ' + stackTrace(); + return ___setErrNo(e.errno); + },lookupPath:function (path, opts) { + path = PATH_FS.resolve(FS.cwd(), path); + opts = opts || {}; + + if (!path) return { path: '', node: null }; + + var defaults = { + follow_mount: true, + recurse_count: 0 + }; + for (var key in defaults) { + if (opts[key] === undefined) { + opts[key] = defaults[key]; + } + } + + if (opts.recurse_count > 8) { // max recursive lookup of 8 + throw new FS.ErrnoError(32); + } + + // 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_FS.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(32); + } + } + } + } + + return { path: current_path, node: current }; + },getPath:function (node) { + var path; + while (true) { + if (FS.isRoot(node)) { + var mount = node.mount.mountpoint; + if (!path) return mount; + return mount[mount.length-1] !== '/' ? mount + '/' + path : mount + path; + } + path = path ? node.name + '/' + path : node.name; + node = node.parent; + } + },hashName:function (parentid, name) { + var hash = 0; + + + for (var i = 0; i < 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 2; + } else if (perms.indexOf('w') !== -1 && !(node.mode & 146)) { + return 2; + } else if (perms.indexOf('x') !== -1 && !(node.mode & 73)) { + return 2; + } + return 0; + },mayLookup:function (dir) { + var err = FS.nodePermissions(dir, 'x'); + if (err) return err; + if (!dir.node_ops.lookup) return 2; + return 0; + },mayCreate:function (dir, name) { + try { + var node = FS.lookupNode(dir, name); + return 20; + } catch (e) { + } + return FS.nodePermissions(dir, 'wx'); + },mayDelete:function (dir, name, isdir) { + var node; + try { + node = FS.lookupNode(dir, name); + } catch (e) { + return e.errno; + } + var err = FS.nodePermissions(dir, 'wx'); + if (err) { + return err; + } + if (isdir) { + if (!FS.isDir(node.mode)) { + return 54; + } + if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { + return 10; + } + } else { + if (FS.isDir(node.mode)) { + return 31; + } + } + return 0; + },mayOpen:function (node, flags) { + if (!node) { + return 44; + } + if (FS.isLink(node.mode)) { + return 32; + } else if (FS.isDir(node.mode)) { + if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write + (flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only) + return 31; + } + } + return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); + },MAX_OPEN_FDS:4096,nextfd:function (fd_start, fd_end) { + fd_start = fd_start || 0; + fd_end = fd_end || FS.MAX_OPEN_FDS; + for (var fd = fd_start; fd <= fd_end; fd++) { + if (!FS.streams[fd]) { + return fd; + } + } + throw new FS.ErrnoError(33); + },getStream:function (fd) { + return FS.streams[fd]; + },createStream:function (stream, fd_start, fd_end) { + if (!FS.FSStream) { + FS.FSStream = function(){}; + FS.FSStream.prototype = {}; + // 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(70); + }},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) { + if (typeof type === 'string') { + // The filesystem was not included, and instead we have an error + // message stored in the variable. + throw type; + } + var root = mountpoint === '/'; + var pseudo = !mountpoint; + var node; + + if (root && FS.root) { + throw new FS.ErrnoError(10); + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); + + mountpoint = lookup.path; // use the absolute path + node = lookup.node; + + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(54); + } + } + + var mount = { + type: type, + opts: opts, + mountpoint: mountpoint, + mounts: [] + }; + + // 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(28); + } + + // 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(28); + } + var err = FS.mayCreate(parent, name); + if (err) { + throw new FS.ErrnoError(err); + } + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(63); + } + return parent.node_ops.mknod(parent, name, mode, dev); + },create:function (path, mode) { + mode = mode !== undefined ? mode : 438 /* 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 != 20) 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_FS.resolve(oldpath)) { + throw new FS.ErrnoError(44); + } + var lookup = FS.lookupPath(newpath, { parent: true }); + var parent = lookup.node; + if (!parent) { + throw new FS.ErrnoError(44); + } + 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(63); + } + 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(10); + } + if (!old_dir || !new_dir) throw new FS.ErrnoError(44); + // need to be part of the same mount + if (old_dir.mount !== new_dir.mount) { + throw new FS.ErrnoError(75); + } + // 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_FS.relative(old_path, new_dirname); + if (relative.charAt(0) !== '.') { + throw new FS.ErrnoError(28); + } + // new path should not be an ancestor of the old path + relative = PATH_FS.relative(new_path, old_dirname); + if (relative.charAt(0) !== '.') { + throw new FS.ErrnoError(55); + } + // 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(63); + } + if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { + throw new FS.ErrnoError(10); + } + // 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(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + 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(54); + } + 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(63); + } + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(10); + } + 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(44); + } + if (!link.node_ops.readlink) { + throw new FS.ErrnoError(28); + } + return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); + },stat:function (path, dontFollow) { + var lookup = FS.lookupPath(path, { follow: !dontFollow }); + var node = lookup.node; + if (!node) { + throw new FS.ErrnoError(44); + } + if (!node.node_ops.getattr) { + throw new FS.ErrnoError(63); + } + 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(63); + } + 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(8); + } + 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(63); + } + 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(8); + } + FS.chown(stream.node, uid, gid); + },truncate:function (path, len) { + if (len < 0) { + throw new FS.ErrnoError(28); + } + 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(63); + } + if (FS.isDir(node.mode)) { + throw new FS.ErrnoError(31); + } + if (!FS.isFile(node.mode)) { + throw new FS.ErrnoError(28); + } + 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(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(28); + } + 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(44); + } + 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(20); + } + } else { + // node doesn't exist, try to create it + node = FS.mknod(path, mode, 0); + created = true; + } + } + if (!node) { + throw new FS.ErrnoError(44); + } + // 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(54); + } + // 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; + console.log("FS.trackingDelegate error on read file: " + path); + } + } + try { + if (FS.trackingDelegate['onOpenFile']) { + var trackingFlags = 0; + if ((flags & 2097155) !== 1) { + trackingFlags |= FS.tracking.openFlags.READ; + } + if ((flags & 2097155) !== 0) { + trackingFlags |= FS.tracking.openFlags.WRITE; + } + FS.trackingDelegate['onOpenFile'](path, trackingFlags); + } + } catch(e) { + console.log("FS.trackingDelegate['onOpenFile']('"+path+"', flags) threw an exception: " + e.message); + } + return stream; + },close:function (stream) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + 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); + } + stream.fd = null; + },isClosed:function (stream) { + return stream.fd === null; + },llseek:function (stream, offset, whence) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (!stream.seekable || !stream.stream_ops.llseek) { + throw new FS.ErrnoError(70); + } + if (whence != 0 && whence != 1 && whence != 2) { + throw new FS.ErrnoError(28); + } + 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(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.read) { + throw new FS.ErrnoError(28); + } + var seeking = typeof position !== 'undefined'; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + 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(28); + } + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(31); + } + if (!stream.stream_ops.write) { + throw new FS.ErrnoError(28); + } + if (stream.flags & 1024) { + // seek to the end before writing in append mode + FS.llseek(stream, 0, 2); + } + var seeking = typeof position !== 'undefined'; + if (!seeking) { + position = stream.position; + } else if (!stream.seekable) { + throw new FS.ErrnoError(70); + } + var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); + if (!seeking) stream.position += bytesWritten; + try { + if (stream.path && FS.trackingDelegate['onWriteToFile']) FS.trackingDelegate['onWriteToFile'](stream.path); + } catch(e) { + console.log("FS.trackingDelegate['onWriteToFile']('"+stream.path+"') threw an exception: " + e.message); + } + return bytesWritten; + },allocate:function (stream, offset, length) { + if (FS.isClosed(stream)) { + throw new FS.ErrnoError(8); + } + if (offset < 0 || length <= 0) { + throw new FS.ErrnoError(28); + } + if ((stream.flags & 2097155) === 0) { + throw new FS.ErrnoError(8); + } + if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { + throw new FS.ErrnoError(43); + } + if (!stream.stream_ops.allocate) { + throw new FS.ErrnoError(138); + } + stream.stream_ops.allocate(stream, offset, length); + },mmap:function (stream, buffer, offset, length, position, prot, flags) { + // User requests writing to file (prot & PROT_WRITE != 0). + // Checking if we have permissions to write to the file unless + // MAP_PRIVATE flag is set. According to POSIX spec it is possible + // to write to file opened in read-only mode with MAP_PRIVATE flag, + // as all modifications will be visible only in the memory of + // the current process. + if ((prot & 2) !== 0 + && (flags & 2) === 0 + && (stream.flags & 2097155) !== 2) { + throw new FS.ErrnoError(2); + } + if ((stream.flags & 2097155) === 1) { + throw new FS.ErrnoError(2); + } + if (!stream.stream_ops.mmap) { + throw new FS.ErrnoError(43); + } + 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(59); + } + return stream.stream_ops.ioctl(stream, cmd, arg); + },readFile:function (path, opts) { + opts = opts || {}; + opts.flags = opts.flags || 'r'; + opts.encoding = opts.encoding || 'binary'; + if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { + throw new Error('Invalid encoding type "' + opts.encoding + '"'); + } + var ret; + var stream = FS.open(path, opts.flags); + var stat = FS.stat(path); + var length = stat.size; + var buf = new Uint8Array(length); + FS.read(stream, buf, 0, length, 0); + if (opts.encoding === 'utf8') { + ret = UTF8ArrayToString(buf, 0); + } else if (opts.encoding === 'binary') { + ret = buf; + } + FS.close(stream); + return ret; + },writeFile:function (path, data, opts) { + opts = opts || {}; + opts.flags = opts.flags || 'w'; + var stream = FS.open(path, opts.flags, opts.mode); + if (typeof data === 'string') { + var buf = new Uint8Array(lengthBytesUTF8(data)+1); + var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); + FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn); + } else if (ArrayBuffer.isView(data)) { + FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); + } else { + throw new Error('Unsupported data type'); + } + FS.close(stream); + },cwd:function () { + return FS.currentPath; + },chdir:function (path) { + var lookup = FS.lookupPath(path, { follow: true }); + if (lookup.node === null) { + throw new FS.ErrnoError(44); + } + if (!FS.isDir(lookup.node.mode)) { + throw new FS.ErrnoError(54); + } + 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 === 'object' && typeof crypto['getRandomValues'] === 'function') { + // 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 with or without crypto support included + try { + var crypto_module = require('crypto'); + // nodejs has crypto support + random_device = function() { return crypto_module['randomBytes'](1)[0]; }; + } catch (e) { + // nodejs doesn't have crypto support + } + } else + {} + if (!random_device) { + // we couldn't find a proper implementation, as Math.random() is not suitable for /dev/random, see emscripten-core/emscripten/pull/7096 + random_device = function() { abort("no cryptographic support found for random_device. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: function(array) { for (var i = 0; i < array.length; i++) array[i] = (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(8); + 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'); + var stdout = FS.open('/dev/stdout', 'w'); + var stderr = FS.open('/dev/stderr', 'w'); + assert(stdin.fd === 0, 'invalid handle for stdin (' + stdin.fd + ')'); + assert(stdout.fd === 1, 'invalid handle for stdout (' + stdout.fd + ')'); + assert(stderr.fd === 2, 'invalid handle for stderr (' + stderr.fd + ')'); + },ensureErrnoError:function () { + if (FS.ErrnoError) return; + FS.ErrnoError = function ErrnoError(errno, node) { + 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]; + + // Try to get a maximally helpful stack trace. On Node.js, getting Error.stack + // now ensures it shows what we want. + if (this.stack) { + // Define the stack property for Node.js 4, which otherwise errors on the next line. + Object.defineProperty(this, "stack", { value: (new Error).stack, writable: true }); + 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) + [44].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, + }; + },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_FS.resolve(base, relative); + },standardizePath:function (path) { + return PATH.normalize(path); + },findObject:function (path, dontResolveLastLink) { + var ret = FS.analyzePath(path, dontResolveLastLink); + if (ret.exists) { + return ret.object; + } else { + ___setErrNo(ret.error); + return null; + } + },analyzePath:function (path, dontResolveLastLink) { + // 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(29); + } + if (result === undefined && bytesRead === 0) { + throw new FS.ErrnoError(6); + } + 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(29); + } + } + 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 (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(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(29); + 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(29); + } + 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(29); + } + 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_FS.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(8); + 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 -54; + } + throw e; + } + HEAP32[((buf)>>2)]=stat.dev; + HEAP32[(((buf)+(4))>>2)]=0; + HEAP32[(((buf)+(8))>>2)]=stat.ino; + HEAP32[(((buf)+(12))>>2)]=stat.mode; + HEAP32[(((buf)+(16))>>2)]=stat.nlink; + HEAP32[(((buf)+(20))>>2)]=stat.uid; + HEAP32[(((buf)+(24))>>2)]=stat.gid; + HEAP32[(((buf)+(28))>>2)]=stat.rdev; + HEAP32[(((buf)+(32))>>2)]=0; + (tempI64 = [stat.size>>>0,(tempDouble=stat.size,(+(Math_abs(tempDouble))) >= (+1) ? (tempDouble > (+0) ? ((Math_min((+(Math_floor((tempDouble)/(+4294967296)))), (+4294967295)))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/(+4294967296))))))>>>0) : 0)],HEAP32[(((buf)+(40))>>2)]=tempI64[0],HEAP32[(((buf)+(44))>>2)]=tempI64[1]); + HEAP32[(((buf)+(48))>>2)]=4096; + HEAP32[(((buf)+(52))>>2)]=stat.blocks; + HEAP32[(((buf)+(56))>>2)]=(stat.atime.getTime() / 1000)|0; + HEAP32[(((buf)+(60))>>2)]=0; + HEAP32[(((buf)+(64))>>2)]=(stat.mtime.getTime() / 1000)|0; + HEAP32[(((buf)+(68))>>2)]=0; + HEAP32[(((buf)+(72))>>2)]=(stat.ctime.getTime() / 1000)|0; + HEAP32[(((buf)+(76))>>2)]=0; + (tempI64 = [stat.ino>>>0,(tempDouble=stat.ino,(+(Math_abs(tempDouble))) >= (+1) ? (tempDouble > (+0) ? ((Math_min((+(Math_floor((tempDouble)/(+4294967296)))), (+4294967295)))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/(+4294967296))))))>>>0) : 0)],HEAP32[(((buf)+(80))>>2)]=tempI64[0],HEAP32[(((buf)+(84))>>2)]=tempI64[1]); + return 0; + },doMsync:function (addr, stream, len, flags) { + var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len)); + FS.msync(stream, buffer, 0, len, flags); + },doMkdir:function (path, mode) { + // 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 -28; + } + FS.mknod(path, mode, dev); + return 0; + },doReadlink:function (path, buf, bufsize) { + if (bufsize <= 0) return -28; + var ret = FS.readlink(path); + + var len = Math.min(bufsize, lengthBytesUTF8(ret)); + var endChar = HEAP8[buf+len]; + stringToUTF8(ret, buf, bufsize+1); + // 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 -28; + } + var node; + var lookup = FS.lookupPath(path, { follow: true }); + node = lookup.node; + if (!node) { + return -44; + } + var perms = ''; + if (amode & 4) perms += 'r'; + if (amode & 2) perms += 'w'; + if (amode & 1) perms += 'x'; + if (perms /* otherwise, they've just passed F_OK */ && FS.nodePermissions(node, perms)) { + return -2; + } + return 0; + },doDup:function (path, flags, suggestFD) { + var suggest = FS.getStream(suggestFD); + if (suggest) FS.close(suggest); + return FS.open(path, flags, 0, suggestFD, suggestFD).fd; + },doReadv:function (stream, iov, iovcnt, offset) { + var ret = 0; + for (var i = 0; i < 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 = UTF8ToString(SYSCALLS.get()); + return ret; + },getStreamFromFD:function (fd) { + // TODO: when all syscalls use wasi, can remove the next line + if (fd === undefined) fd = SYSCALLS.get(); + var stream = FS.getStream(fd); + if (!stream) throw new FS.ErrnoError(8); + return stream; + },get64:function () { + var low = SYSCALLS.get(), high = SYSCALLS.get(); + if (low >= 0) assert(high === 0); + else assert(high === -1); + return low; + },getZero:function () { + assert(SYSCALLS.get() === 0); + }};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 -28; + } + 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: Currently in musl F_GETLK64 has same value as F_GETLK, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ { + + var arg = SYSCALLS.get(); + var offset = 0; + // We're always unlocked. + HEAP16[(((arg)+(offset))>>1)]=2; + return 0; + } + case 13: + case 14: + /* case 13: Currently in musl F_SETLK64 has same value as F_SETLK, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ + /* case 14: Currently in musl F_SETLKW64 has same value as F_SETLKW, so omitted to avoid duplicate case blocks. If that changes, uncomment this */ + + + return 0; // Pretend that the locking is successful. + case 16: + case 8: + return -28; // 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(28); + return -1; + default: { + return -28; + } + } + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + function ___syscall5(which, varargs) {SYSCALLS.varargs = varargs; + try { + // 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 ___syscall54(which, varargs) {SYSCALLS.varargs = varargs; + try { + // ioctl + var stream = SYSCALLS.getStreamFromFD(), op = SYSCALLS.get(); + switch (op) { + case 21509: + case 21505: { + if (!stream.tty) return -59; + return 0; + } + case 21510: + case 21511: + case 21512: + case 21506: + case 21507: + case 21508: { + if (!stream.tty) return -59; + return 0; // no-op, not actually adjusting terminal settings + } + case 21519: { + if (!stream.tty) return -59; + var argp = SYSCALLS.get(); + HEAP32[((argp)>>2)]=0; + return 0; + } + case 21520: { + if (!stream.tty) return -59; + return -28; // 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 -59; + return 0; + } + case 21524: { + // TODO: technically, this ioctl call should change the window size. + // but, since emscripten doesn't have any concept of a terminal window + // yet, we'll just silently throw it away as we do TIOCGWINSZ + if (!stream.tty) return -59; + return 0; + } + default: abort('bad ioctl syscall ' + op); + } + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + + function __emscripten_syscall_munmap(addr, len) { + if (addr === -1 || len === 0) { + return -28; + } + // TODO: support unmmap'ing parts of allocations + var info = SYSCALLS.mappings[addr]; + if (!info) return 0; + if (len === info.len) { + var stream = FS.getStream(info.fd); + SYSCALLS.doMsync(addr, stream, len, info.flags); + FS.munmap(stream); + SYSCALLS.mappings[addr] = null; + if (info.allocated) { + _free(info.malloc); + } + } + return 0; + }function ___syscall91(which, varargs) {SYSCALLS.varargs = varargs; + try { + // munmap + var addr = SYSCALLS.get(), len = SYSCALLS.get(); + return __emscripten_syscall_munmap(addr, len); + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return -e.errno; + } + } + + + + + + + + + + function ___unlock() {} + + + function _fd_close(fd) {try { + + var stream = SYSCALLS.getStreamFromFD(fd); + FS.close(stream); + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno; + } + }function ___wasi_fd_close() { + return _fd_close.apply(null, arguments) + } + + + function _fd_read(fd, iov, iovcnt, pnum) {try { + + var stream = SYSCALLS.getStreamFromFD(fd); + var num = SYSCALLS.doReadv(stream, iov, iovcnt); + HEAP32[((pnum)>>2)]=num + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno; + } + }function ___wasi_fd_read() { + return _fd_read.apply(null, arguments) + } + + + function _fd_seek(fd, offset_low, offset_high, whence, newOffset) {try { + + var stream = SYSCALLS.getStreamFromFD(fd); + var HIGH_OFFSET = 0x100000000; // 2^32 + // use an unsigned operator on low and shift high by 32-bits + var offset = offset_high * HIGH_OFFSET + (offset_low >>> 0); + + var DOUBLE_LIMIT = 0x20000000000000; // 2^53 + // we also check for equality since DOUBLE_LIMIT + 1 == DOUBLE_LIMIT + if (offset <= -DOUBLE_LIMIT || offset >= DOUBLE_LIMIT) { + return -61; + } + + FS.llseek(stream, offset, whence); + (tempI64 = [stream.position>>>0,(tempDouble=stream.position,(+(Math_abs(tempDouble))) >= (+1) ? (tempDouble > (+0) ? ((Math_min((+(Math_floor((tempDouble)/(+4294967296)))), (+4294967295)))|0)>>>0 : (~~((+(Math_ceil((tempDouble - +(((~~(tempDouble)))>>>0))/(+4294967296))))))>>>0) : 0)],HEAP32[((newOffset)>>2)]=tempI64[0],HEAP32[(((newOffset)+(4))>>2)]=tempI64[1]); + if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno; + } + }function ___wasi_fd_seek() { + return _fd_seek.apply(null, arguments) + } + + + function _fd_write(fd, iov, iovcnt, pnum) {try { + + var stream = SYSCALLS.getStreamFromFD(fd); + var num = SYSCALLS.doWritev(stream, iov, iovcnt); + HEAP32[((pnum)>>2)]=num + return 0; + } catch (e) { + if (typeof FS === 'undefined' || !(e instanceof FS.ErrnoError)) abort(e); + return e.errno; + } + }function ___wasi_fd_write() { + return _fd_write.apply(null, arguments) + } + + + function getShiftFromSize(size) { + switch (size) { + case 1: return 0; + case 2: return 1; + case 4: return 2; + case 8: return 3; + default: + throw new TypeError('Unknown type size: ' + size); + } + } + + + + function embind_init_charCodes() { + var codes = new Array(256); + for (var i = 0; i < 256; ++i) { + codes[i] = String.fromCharCode(i); + } + embind_charCodes = codes; + }var embind_charCodes=undefined;function readLatin1String(ptr) { + var ret = ""; + var c = ptr; + while (HEAPU8[c]) { + ret += embind_charCodes[HEAPU8[c++]]; + } + return ret; + } + + + var awaitingDependencies={}; + + var registeredTypes={}; + + var typeDependencies={}; + + + + + + + var char_0=48; + + var char_9=57;function makeLegalFunctionName(name) { + if (undefined === name) { + return '_unknown'; + } + name = name.replace(/[^a-zA-Z0-9_]/g, '$'); + var f = name.charCodeAt(0); + if (f >= char_0 && f <= char_9) { + return '_' + name; + } else { + return name; + } + }function createNamedFunction(name, body) { + name = makeLegalFunctionName(name); + /*jshint evil:true*/ + return new Function( + "body", + "return function " + name + "() {\n" + + " \"use strict\";" + + " return body.apply(this, arguments);\n" + + "};\n" + )(body); + }function extendError(baseErrorType, errorName) { + var errorClass = createNamedFunction(errorName, function(message) { + this.name = errorName; + this.message = message; + + var stack = (new Error(message)).stack; + if (stack !== undefined) { + this.stack = this.toString() + '\n' + + stack.replace(/^Error(:[^\n]*)?\n/, ''); + } + }); + errorClass.prototype = Object.create(baseErrorType.prototype); + errorClass.prototype.constructor = errorClass; + errorClass.prototype.toString = function() { + if (this.message === undefined) { + return this.name; + } else { + return this.name + ': ' + this.message; + } + }; + + return errorClass; + }var BindingError=undefined;function throwBindingError(message) { + throw new BindingError(message); + } + + + + var InternalError=undefined;function throwInternalError(message) { + throw new InternalError(message); + }function whenDependentTypesAreResolved(myTypes, dependentTypes, getTypeConverters) { + myTypes.forEach(function(type) { + typeDependencies[type] = dependentTypes; + }); + + function onComplete(typeConverters) { + var myTypeConverters = getTypeConverters(typeConverters); + if (myTypeConverters.length !== myTypes.length) { + throwInternalError('Mismatched type converter count'); + } + for (var i = 0; i < myTypes.length; ++i) { + registerType(myTypes[i], myTypeConverters[i]); + } + } + + var typeConverters = new Array(dependentTypes.length); + var unregisteredTypes = []; + var registered = 0; + dependentTypes.forEach(function(dt, i) { + if (registeredTypes.hasOwnProperty(dt)) { + typeConverters[i] = registeredTypes[dt]; + } else { + unregisteredTypes.push(dt); + if (!awaitingDependencies.hasOwnProperty(dt)) { + awaitingDependencies[dt] = []; + } + awaitingDependencies[dt].push(function() { + typeConverters[i] = registeredTypes[dt]; + ++registered; + if (registered === unregisteredTypes.length) { + onComplete(typeConverters); + } + }); + } + }); + if (0 === unregisteredTypes.length) { + onComplete(typeConverters); + } + }function registerType(rawType, registeredInstance, options) { + options = options || {}; + + if (!('argPackAdvance' in registeredInstance)) { + throw new TypeError('registerType registeredInstance requires argPackAdvance'); + } + + var name = registeredInstance.name; + if (!rawType) { + throwBindingError('type "' + name + '" must have a positive integer typeid pointer'); + } + if (registeredTypes.hasOwnProperty(rawType)) { + if (options.ignoreDuplicateRegistrations) { + return; + } else { + throwBindingError("Cannot register type '" + name + "' twice"); + } + } + + registeredTypes[rawType] = registeredInstance; + delete typeDependencies[rawType]; + + if (awaitingDependencies.hasOwnProperty(rawType)) { + var callbacks = awaitingDependencies[rawType]; + delete awaitingDependencies[rawType]; + callbacks.forEach(function(cb) { + cb(); + }); + } + }function __embind_register_bool(rawType, name, size, trueValue, falseValue) { + var shift = getShiftFromSize(size); + + name = readLatin1String(name); + registerType(rawType, { + name: name, + 'fromWireType': function(wt) { + // ambiguous emscripten ABI: sometimes return values are + // true or false, and sometimes integers (0 or 1) + return !!wt; + }, + 'toWireType': function(destructors, o) { + return o ? trueValue : falseValue; + }, + 'argPackAdvance': 8, + 'readValueFromPointer': function(pointer) { + // TODO: if heap is fixed (like in asm.js) this could be executed outside + var heap; + if (size === 1) { + heap = HEAP8; + } else if (size === 2) { + heap = HEAP16; + } else if (size === 4) { + heap = HEAP32; + } else { + throw new TypeError("Unknown boolean type size: " + name); + } + return this['fromWireType'](heap[pointer >> shift]); + }, + destructorFunction: null, // This type does not need a destructor + }); + } + + function __embind_register_constant(name, type, value) { + name = readLatin1String(name); + whenDependentTypesAreResolved([], [type], function(type) { + type = type[0]; + Module[name] = type['fromWireType'](value); + return []; + }); + } + + + + var emval_free_list=[]; + + var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle) { + if (handle > 4 && 0 === --emval_handle_array[handle].refcount) { + emval_handle_array[handle] = undefined; + emval_free_list.push(handle); + } + } + + + + function count_emval_handles() { + var count = 0; + for (var i = 5; i < emval_handle_array.length; ++i) { + if (emval_handle_array[i] !== undefined) { + ++count; + } + } + return count; + } + + function get_first_emval() { + for (var i = 5; i < emval_handle_array.length; ++i) { + if (emval_handle_array[i] !== undefined) { + return emval_handle_array[i]; + } + } + return null; + }function init_emval() { + Module['count_emval_handles'] = count_emval_handles; + Module['get_first_emval'] = get_first_emval; + }function __emval_register(value) { + + switch(value){ + case undefined :{ return 1; } + case null :{ return 2; } + case true :{ return 3; } + case false :{ return 4; } + default:{ + var handle = emval_free_list.length ? + emval_free_list.pop() : + emval_handle_array.length; + + emval_handle_array[handle] = {refcount: 1, value: value}; + return handle; + } + } + } + + function simpleReadValueFromPointer(pointer) { + return this['fromWireType'](HEAPU32[pointer >> 2]); + }function __embind_register_emval(rawType, name) { + name = readLatin1String(name); + registerType(rawType, { + name: name, + 'fromWireType': function(handle) { + var rv = emval_handle_array[handle].value; + __emval_decref(handle); + return rv; + }, + 'toWireType': function(destructors, value) { + return __emval_register(value); + }, + 'argPackAdvance': 8, + 'readValueFromPointer': simpleReadValueFromPointer, + destructorFunction: null, // This type does not need a destructor + + // TODO: do we need a deleteObject here? write a test where + // emval is passed into JS via an interface + }); + } + + + function _embind_repr(v) { + if (v === null) { + return 'null'; + } + var t = typeof v; + if (t === 'object' || t === 'array' || t === 'function') { + return v.toString(); + } else { + return '' + v; + } + } + + function floatReadValueFromPointer(name, shift) { + switch (shift) { + case 2: return function(pointer) { + return this['fromWireType'](HEAPF32[pointer >> 2]); + }; + case 3: return function(pointer) { + return this['fromWireType'](HEAPF64[pointer >> 3]); + }; + default: + throw new TypeError("Unknown float type: " + name); + } + }function __embind_register_float(rawType, name, size) { + var shift = getShiftFromSize(size); + name = readLatin1String(name); + registerType(rawType, { + name: name, + 'fromWireType': function(value) { + return value; + }, + 'toWireType': function(destructors, value) { + // todo: Here we have an opportunity for -O3 level "unsafe" optimizations: we could + // avoid the following if() and assume value is of proper type. + if (typeof value !== "number" && typeof value !== "boolean") { + throw new TypeError('Cannot convert "' + _embind_repr(value) + '" to ' + this.name); + } + return value; + }, + 'argPackAdvance': 8, + 'readValueFromPointer': floatReadValueFromPointer(name, shift), + destructorFunction: null, // This type does not need a destructor + }); + } + + + + function new_(constructor, argumentList) { + if (!(constructor instanceof Function)) { + throw new TypeError('new_ called with constructor type ' + typeof(constructor) + " which is not a function"); + } + + /* + * Previously, the following line was just: + + function dummy() {}; + + * Unfortunately, Chrome was preserving 'dummy' as the object's name, even though at creation, the 'dummy' has the + * correct constructor name. Thus, objects created with IMVU.new would show up in the debugger as 'dummy', which + * isn't very helpful. Using IMVU.createNamedFunction addresses the issue. Doublely-unfortunately, there's no way + * to write a test for this behavior. -NRD 2013.02.22 + */ + var dummy = createNamedFunction(constructor.name || 'unknownFunctionName', function(){}); + dummy.prototype = constructor.prototype; + var obj = new dummy; + + var r = constructor.apply(obj, argumentList); + return (r instanceof Object) ? r : obj; + } + + function runDestructors(destructors) { + while (destructors.length) { + var ptr = destructors.pop(); + var del = destructors.pop(); + del(ptr); + } + }function craftInvokerFunction(humanName, argTypes, classType, cppInvokerFunc, cppTargetFunc) { + // humanName: a human-readable string name for the function to be generated. + // argTypes: An array that contains the embind type objects for all types in the function signature. + // argTypes[0] is the type object for the function return value. + // argTypes[1] is the type object for function this object/class type, or null if not crafting an invoker for a class method. + // argTypes[2...] are the actual function parameters. + // classType: The embind type object for the class to be bound, or null if this is not a method of a class. + // cppInvokerFunc: JS Function object to the C++-side function that interops into C++ code. + // cppTargetFunc: Function pointer (an integer to FUNCTION_TABLE) to the target C++ function the cppInvokerFunc will end up calling. + var argCount = argTypes.length; + + if (argCount < 2) { + throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!"); + } + + var isClassMethodFunc = (argTypes[1] !== null && classType !== null); + + // Free functions with signature "void function()" do not need an invoker that marshalls between wire types. + // TODO: This omits argument count check - enable only at -O3 or similar. + // if (ENABLE_UNSAFE_OPTS && argCount == 2 && argTypes[0].name == "void" && !isClassMethodFunc) { + // return FUNCTION_TABLE[fn]; + // } + + + // Determine if we need to use a dynamic stack to store the destructors for the function parameters. + // TODO: Remove this completely once all function invokers are being dynamically generated. + var needsDestructorStack = false; + + for(var i = 1; i < argTypes.length; ++i) { // Skip return value at index 0 - it's not deleted here. + if (argTypes[i] !== null && argTypes[i].destructorFunction === undefined) { // The type does not define a destructor function - must use dynamic stack + needsDestructorStack = true; + break; + } + } + + var returns = (argTypes[0].name !== "void"); + + var argsList = ""; + var argsListWired = ""; + for(var i = 0; i < argCount - 2; ++i) { + argsList += (i!==0?", ":"")+"arg"+i; + argsListWired += (i!==0?", ":"")+"arg"+i+"Wired"; + } + + var invokerFnBody = + "return function "+makeLegalFunctionName(humanName)+"("+argsList+") {\n" + + "if (arguments.length !== "+(argCount - 2)+") {\n" + + "throwBindingError('function "+humanName+" called with ' + arguments.length + ' arguments, expected "+(argCount - 2)+" args!');\n" + + "}\n"; + + + if (needsDestructorStack) { + invokerFnBody += + "var destructors = [];\n"; + } + + var dtorStack = needsDestructorStack ? "destructors" : "null"; + var args1 = ["throwBindingError", "invoker", "fn", "runDestructors", "retType", "classParam"]; + var args2 = [throwBindingError, cppInvokerFunc, cppTargetFunc, runDestructors, argTypes[0], argTypes[1]]; + + + if (isClassMethodFunc) { + invokerFnBody += "var thisWired = classParam.toWireType("+dtorStack+", this);\n"; + } + + for(var i = 0; i < argCount - 2; ++i) { + invokerFnBody += "var arg"+i+"Wired = argType"+i+".toWireType("+dtorStack+", arg"+i+"); // "+argTypes[i+2].name+"\n"; + args1.push("argType"+i); + args2.push(argTypes[i+2]); + } + + if (isClassMethodFunc) { + argsListWired = "thisWired" + (argsListWired.length > 0 ? ", " : "") + argsListWired; + } + + invokerFnBody += + (returns?"var rv = ":"") + "invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n"; + + if (needsDestructorStack) { + invokerFnBody += "runDestructors(destructors);\n"; + } else { + for(var i = isClassMethodFunc?1:2; i < argTypes.length; ++i) { // Skip return value at index 0 - it's not deleted here. Also skip class type if not a method. + var paramName = (i === 1 ? "thisWired" : ("arg"+(i - 2)+"Wired")); + if (argTypes[i].destructorFunction !== null) { + invokerFnBody += paramName+"_dtor("+paramName+"); // "+argTypes[i].name+"\n"; + args1.push(paramName+"_dtor"); + args2.push(argTypes[i].destructorFunction); + } + } + } + + if (returns) { + invokerFnBody += "var ret = retType.fromWireType(rv);\n" + + "return ret;\n"; + } else { + } + invokerFnBody += "}\n"; + + args1.push(invokerFnBody); + + var invokerFunction = new_(Function, args1).apply(null, args2); + return invokerFunction; + } + + + function ensureOverloadTable(proto, methodName, humanName) { + if (undefined === proto[methodName].overloadTable) { + var prevFunc = proto[methodName]; + // Inject an overload resolver function that routes to the appropriate overload based on the number of arguments. + proto[methodName] = function() { + // TODO This check can be removed in -O3 level "unsafe" optimizations. + if (!proto[methodName].overloadTable.hasOwnProperty(arguments.length)) { + throwBindingError("Function '" + humanName + "' called with an invalid number of arguments (" + arguments.length + ") - expects one of (" + proto[methodName].overloadTable + ")!"); + } + return proto[methodName].overloadTable[arguments.length].apply(this, arguments); + }; + // Move the previous function into the overload table. + proto[methodName].overloadTable = []; + proto[methodName].overloadTable[prevFunc.argCount] = prevFunc; + } + }function exposePublicSymbol(name, value, numArguments) { + if (Module.hasOwnProperty(name)) { + if (undefined === numArguments || (undefined !== Module[name].overloadTable && undefined !== Module[name].overloadTable[numArguments])) { + throwBindingError("Cannot register public name '" + name + "' twice"); + } + + // We are exposing a function with the same name as an existing function. Create an overload table and a function selector + // that routes between the two. + ensureOverloadTable(Module, name, name); + if (Module.hasOwnProperty(numArguments)) { + throwBindingError("Cannot register multiple overloads of a function with the same number of arguments (" + numArguments + ")!"); + } + // Add the new function into the overload table. + Module[name].overloadTable[numArguments] = value; + } + else { + Module[name] = value; + if (undefined !== numArguments) { + Module[name].numArguments = numArguments; + } + } + } + + function heap32VectorToArray(count, firstElement) { + var array = []; + for (var i = 0; i < count; i++) { + array.push(HEAP32[(firstElement >> 2) + i]); + } + return array; + } + + function replacePublicSymbol(name, value, numArguments) { + if (!Module.hasOwnProperty(name)) { + throwInternalError('Replacing nonexistant public symbol'); + } + // If there's an overload table for this symbol, replace the symbol in the overload table instead. + if (undefined !== Module[name].overloadTable && undefined !== numArguments) { + Module[name].overloadTable[numArguments] = value; + } + else { + Module[name] = value; + Module[name].argCount = numArguments; + } + } + + function embind__requireFunction(signature, rawFunction) { + signature = readLatin1String(signature); + + function makeDynCaller(dynCall) { + var args = []; + for (var i = 1; i < signature.length; ++i) { + args.push('a' + i); + } + + var name = 'dynCall_' + signature + '_' + rawFunction; + var body = 'return function ' + name + '(' + args.join(', ') + ') {\n'; + body += ' return dynCall(rawFunction' + (args.length ? ', ' : '') + args.join(', ') + ');\n'; + body += '};\n'; + + return (new Function('dynCall', 'rawFunction', body))(dynCall, rawFunction); + } + + var fp; + if (Module['FUNCTION_TABLE_' + signature] !== undefined) { + fp = Module['FUNCTION_TABLE_' + signature][rawFunction]; + } else if (typeof FUNCTION_TABLE !== "undefined") { + fp = FUNCTION_TABLE[rawFunction]; + } else { + // asm.js does not give direct access to the function tables, + // and thus we must go through the dynCall interface which allows + // calling into a signature's function table by pointer value. + // + // https://github.com/dherman/asm.js/issues/83 + // + // This has three main penalties: + // - dynCall is another function call in the path from JavaScript to C++. + // - JITs may not predict through the function table indirection at runtime. + var dc = Module['dynCall_' + signature]; + if (dc === undefined) { + // We will always enter this branch if the signature + // contains 'f' and PRECISE_F32 is not enabled. + // + // Try again, replacing 'f' with 'd'. + dc = Module['dynCall_' + signature.replace(/f/g, 'd')]; + if (dc === undefined) { + throwBindingError("No dynCall invoker for signature: " + signature); + } + } + fp = makeDynCaller(dc); + } + + if (typeof fp !== "function") { + throwBindingError("unknown function pointer with signature " + signature + ": " + rawFunction); + } + return fp; + } + + + var UnboundTypeError=undefined; + + function getTypeName(type) { + var ptr = ___getTypeName(type); + var rv = readLatin1String(ptr); + _free(ptr); + return rv; + }function throwUnboundTypeError(message, types) { + var unboundTypes = []; + var seen = {}; + function visit(type) { + if (seen[type]) { + return; + } + if (registeredTypes[type]) { + return; + } + if (typeDependencies[type]) { + typeDependencies[type].forEach(visit); + return; + } + unboundTypes.push(type); + seen[type] = true; + } + types.forEach(visit); + + throw new UnboundTypeError(message + ': ' + unboundTypes.map(getTypeName).join([', '])); + }function __embind_register_function(name, argCount, rawArgTypesAddr, signature, rawInvoker, fn) { + var argTypes = heap32VectorToArray(argCount, rawArgTypesAddr); + name = readLatin1String(name); + + rawInvoker = embind__requireFunction(signature, rawInvoker); + + exposePublicSymbol(name, function() { + throwUnboundTypeError('Cannot call ' + name + ' due to unbound types', argTypes); + }, argCount - 1); + + whenDependentTypesAreResolved([], argTypes, function(argTypes) { + var invokerArgsArray = [argTypes[0] /* return value */, null /* no class 'this'*/].concat(argTypes.slice(1) /* actual params */); + replacePublicSymbol(name, craftInvokerFunction(name, invokerArgsArray, null /* no class 'this'*/, rawInvoker, fn), argCount - 1); + return []; + }); + } + + + function integerReadValueFromPointer(name, shift, signed) { + // integers are quite common, so generate very specialized functions + switch (shift) { + case 0: return signed ? + function readS8FromPointer(pointer) { return HEAP8[pointer]; } : + function readU8FromPointer(pointer) { return HEAPU8[pointer]; }; + case 1: return signed ? + function readS16FromPointer(pointer) { return HEAP16[pointer >> 1]; } : + function readU16FromPointer(pointer) { return HEAPU16[pointer >> 1]; }; + case 2: return signed ? + function readS32FromPointer(pointer) { return HEAP32[pointer >> 2]; } : + function readU32FromPointer(pointer) { return HEAPU32[pointer >> 2]; }; + default: + throw new TypeError("Unknown integer type: " + name); + } + }function __embind_register_integer(primitiveType, name, size, minRange, maxRange) { + name = readLatin1String(name); + if (maxRange === -1) { // LLVM doesn't have signed and unsigned 32-bit types, so u32 literals come out as 'i32 -1'. Always treat those as max u32. + maxRange = 4294967295; + } + + var shift = getShiftFromSize(size); + + var fromWireType = function(value) { + return value; + }; + + if (minRange === 0) { + var bitshift = 32 - 8*size; + fromWireType = function(value) { + return (value << bitshift) >>> bitshift; + }; + } + + var isUnsignedType = (name.indexOf('unsigned') != -1); + + registerType(primitiveType, { + name: name, + 'fromWireType': fromWireType, + 'toWireType': function(destructors, value) { + // todo: Here we have an opportunity for -O3 level "unsafe" optimizations: we could + // avoid the following two if()s and assume value is of proper type. + if (typeof value !== "number" && typeof value !== "boolean") { + throw new TypeError('Cannot convert "' + _embind_repr(value) + '" to ' + this.name); + } + if (value < minRange || value > maxRange) { + throw new TypeError('Passing a number "' + _embind_repr(value) + '" from JS side to C/C++ side to an argument of type "' + name + '", which is outside the valid range [' + minRange + ', ' + maxRange + ']!'); + } + return isUnsignedType ? (value >>> 0) : (value | 0); + }, + 'argPackAdvance': 8, + 'readValueFromPointer': integerReadValueFromPointer(name, shift, minRange !== 0), + destructorFunction: null, // This type does not need a destructor + }); + } + + function __embind_register_memory_view(rawType, dataTypeIndex, name) { + var typeMapping = [ + Int8Array, + Uint8Array, + Int16Array, + Uint16Array, + Int32Array, + Uint32Array, + Float32Array, + Float64Array, + ]; + + var TA = typeMapping[dataTypeIndex]; + + function decodeMemoryView(handle) { + handle = handle >> 2; + var heap = HEAPU32; + var size = heap[handle]; // in elements + var data = heap[handle + 1]; // byte offset into emscripten heap + return new TA(heap['buffer'], data, size); + } + + name = readLatin1String(name); + registerType(rawType, { + name: name, + 'fromWireType': decodeMemoryView, + 'argPackAdvance': 8, + 'readValueFromPointer': decodeMemoryView, + }, { + ignoreDuplicateRegistrations: true, + }); + } + + function __embind_register_std_string(rawType, name) { + name = readLatin1String(name); + var stdStringIsUTF8 + //process only std::string bindings with UTF8 support, in contrast to e.g. std::basic_string + = (name === "std::string"); + + registerType(rawType, { + name: name, + 'fromWireType': function(value) { + var length = HEAPU32[value >> 2]; + + var str; + if(stdStringIsUTF8) { + //ensure null termination at one-past-end byte if not present yet + var endChar = HEAPU8[value + 4 + length]; + var endCharSwap = 0; + if(endChar != 0) + { + endCharSwap = endChar; + HEAPU8[value + 4 + length] = 0; + } + + var decodeStartPtr = value + 4; + //looping here to support possible embedded '0' bytes + for (var i = 0; i <= length; ++i) { + var currentBytePtr = value + 4 + i; + if(HEAPU8[currentBytePtr] == 0) + { + var stringSegment = UTF8ToString(decodeStartPtr); + if(str === undefined) + str = stringSegment; + else + { + str += String.fromCharCode(0); + str += stringSegment; + } + decodeStartPtr = currentBytePtr + 1; + } + } + + if(endCharSwap != 0) + HEAPU8[value + 4 + length] = endCharSwap; + } else { + var a = new Array(length); + for (var i = 0; i < length; ++i) { + a[i] = String.fromCharCode(HEAPU8[value + 4 + i]); + } + str = a.join(''); + } + + _free(value); + + return str; + }, + 'toWireType': function(destructors, value) { + if (value instanceof ArrayBuffer) { + value = new Uint8Array(value); + } + + var getLength; + var valueIsOfTypeString = (typeof value === 'string'); + + if (!(valueIsOfTypeString || value instanceof Uint8Array || value instanceof Uint8ClampedArray || value instanceof Int8Array)) { + throwBindingError('Cannot pass non-string to std::string'); + } + if (stdStringIsUTF8 && valueIsOfTypeString) { + getLength = function() {return lengthBytesUTF8(value);}; + } else { + getLength = function() {return value.length;}; + } + + // assumes 4-byte alignment + var length = getLength(); + var ptr = _malloc(4 + length + 1); + HEAPU32[ptr >> 2] = length; + + if (stdStringIsUTF8 && valueIsOfTypeString) { + stringToUTF8(value, ptr + 4, length + 1); + } else { + if(valueIsOfTypeString) { + for (var i = 0; i < length; ++i) { + var charCode = value.charCodeAt(i); + if (charCode > 255) { + _free(ptr); + throwBindingError('String has UTF-16 code units that do not fit in 8 bits'); + } + HEAPU8[ptr + 4 + i] = charCode; + } + } else { + for (var i = 0; i < length; ++i) { + HEAPU8[ptr + 4 + i] = value[i]; + } + } + } + + if (destructors !== null) { + destructors.push(_free, ptr); + } + return ptr; + }, + 'argPackAdvance': 8, + 'readValueFromPointer': simpleReadValueFromPointer, + destructorFunction: function(ptr) { _free(ptr); }, + }); + } + + function __embind_register_std_wstring(rawType, charSize, name) { + // nb. do not cache HEAPU16 and HEAPU32, they may be destroyed by emscripten_resize_heap(). + name = readLatin1String(name); + var getHeap, shift; + if (charSize === 2) { + getHeap = function() { return HEAPU16; }; + shift = 1; + } else if (charSize === 4) { + getHeap = function() { return HEAPU32; }; + shift = 2; + } + registerType(rawType, { + name: name, + 'fromWireType': function(value) { + var HEAP = getHeap(); + var length = HEAPU32[value >> 2]; + var a = new Array(length); + var start = (value + 4) >> shift; + for (var i = 0; i < length; ++i) { + a[i] = String.fromCharCode(HEAP[start + i]); + } + _free(value); + return a.join(''); + }, + 'toWireType': function(destructors, value) { + // assumes 4-byte alignment + var length = value.length; + var ptr = _malloc(4 + length * charSize); + var HEAP = getHeap(); + HEAPU32[ptr >> 2] = length; + var start = (ptr + 4) >> shift; + for (var i = 0; i < length; ++i) { + HEAP[start + i] = value.charCodeAt(i); + } + if (destructors !== null) { + destructors.push(_free, ptr); + } + return ptr; + }, + 'argPackAdvance': 8, + 'readValueFromPointer': simpleReadValueFromPointer, + destructorFunction: function(ptr) { _free(ptr); }, + }); + } + + function __embind_register_void(rawType, name) { + name = readLatin1String(name); + registerType(rawType, { + isVoid: true, // void return values can be optimized out sometimes + name: name, + 'argPackAdvance': 0, + 'fromWireType': function() { + return undefined; + }, + 'toWireType': function(destructors, o) { + // TODO: assert if anything else is given? + return undefined; + }, + }); + } + + function _abort() { + abort(); + } + + + + + + var _emscripten_asm_const_int=true; + + function _emscripten_get_heap_size() { + return HEAP8.length; + } + + + + + function abortOnCannotGrowMemory(requestedSize) { + abort('Cannot enlarge memory arrays to size ' + requestedSize + ' bytes (OOM). Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value ' + HEAP8.length + ', (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 emscripten_realloc_buffer(size) { + try { + var newBuffer = new ArrayBuffer(size); + if (newBuffer.byteLength != size) return /*undefined, allocation did not succeed*/; + new Int8Array(newBuffer).set(HEAP8); + _emscripten_replace_memory(newBuffer); + updateGlobalBufferAndViews(newBuffer); + return 1 /*success*/; + } catch(e) { + console.error('emscripten_realloc_buffer: Attempted to grow heap from ' + buffer.byteLength + ' bytes to ' + size + ' bytes, but got error: ' + e); + } + }function _emscripten_resize_heap(requestedSize) { + var oldSize = _emscripten_get_heap_size(); + // With pthreads, races can happen (another thread might increase the size in between), so return a failure, and let the caller retry. + assert(requestedSize > oldSize); + + + var PAGE_MULTIPLE = 16777216; + var LIMIT = 2147483648 - PAGE_MULTIPLE; // We can do one page short of 2GB as theoretical maximum. + + if (requestedSize > LIMIT) { + err('Cannot enlarge memory, asked to go up to ' + requestedSize + ' bytes, but the limit is ' + LIMIT + ' bytes!'); + return false; + } + + var MIN_TOTAL_MEMORY = 16777216; + var newSize = Math.max(oldSize, MIN_TOTAL_MEMORY); // So the loop below will not be infinite, and minimum asm.js memory size is 16MB. + + // TODO: see realloc_buffer - for PTHREADS we may want to decrease these jumps + while (newSize < requestedSize) { // Keep incrementing the heap size as long as it's less than what is requested. + if (newSize <= 536870912) { + newSize = alignUp(2 * newSize, PAGE_MULTIPLE); // Simple heuristic: double until 1GB... + } else { + // ..., but after that, add smaller increments towards 2GB, which we cannot reach + newSize = Math.min(alignUp((3 * newSize + 2147483648) / 4, PAGE_MULTIPLE), LIMIT); + } + + if (newSize === oldSize) { + warnOnce('Cannot ask for more memory since we reached the practical limit in browsers (which is just below 2GB), so the request would have failed. Requesting only ' + HEAP8.length); + } + } + + + + var replacement = emscripten_realloc_buffer(newSize); + if (!replacement) { + err('Failed to grow the heap from ' + oldSize + ' bytes to ' + newSize + ' bytes, not enough memory!'); + return false; + } + + err('Warning: Enlarging memory arrays, this is not fast! ' + [oldSize, newSize]); + + + return true; + } + + function _exit(status) { + // void _exit(int status); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/exit.html + exit(status); + } + + function _getenv(name) { + // char *getenv(const char *name); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/getenv.html + if (name === 0) return 0; + name = UTF8ToString(name); + if (!ENV.hasOwnProperty(name)) return 0; + + if (_getenv.ret) _free(_getenv.ret); + _getenv.ret = allocateUTF8(ENV[name]); + return _getenv.ret; + } + + function _gettimeofday(ptr) { + var now = Date.now(); + HEAP32[((ptr)>>2)]=(now/1000)|0; // seconds + HEAP32[(((ptr)+(4))>>2)]=((now % 1000)*1000)|0; // microseconds + return 0; + } + + + + + + function _llvm_exp2_f32(x) { + return Math.pow(2, x); + } + + function _llvm_stackrestore(p) { + var self = _llvm_stacksave; + var ret = self.LLVM_SAVEDSTACKS[p]; + self.LLVM_SAVEDSTACKS.splice(p, 1); + stackRestore(ret); + } + + function _llvm_stacksave() { + var self = _llvm_stacksave; + if (!self.LLVM_SAVEDSTACKS) { + self.LLVM_SAVEDSTACKS = []; + } + self.LLVM_SAVEDSTACKS.push(stackSave()); + return self.LLVM_SAVEDSTACKS.length-1; + } + + function _llvm_trap() { + abort('trap!'); + } + + + var ___tm_current=67504; + + + var ___tm_timezone=(stringToUTF8("GMT", 67552, 4), 67552); + + function _tzset() { + // TODO: Use (malleable) environment variables instead of system settings. + if (_tzset.called) return; + _tzset.called = true; + + // timezone is specified as seconds west of UTC ("The external variable + // `timezone` shall be set to the difference, in seconds, between + // Coordinated Universal Time (UTC) and local standard time."), the same + // as returned by getTimezoneOffset(). + // See http://pubs.opengroup.org/onlinepubs/009695399/functions/tzset.html + HEAP32[((__get_timezone())>>2)]=(new Date()).getTimezoneOffset() * 60; + + var currentYear = new Date().getFullYear(); + var winter = new Date(currentYear, 0, 1); + var summer = new Date(currentYear, 6, 1); + HEAP32[((__get_daylight())>>2)]=Number(winter.getTimezoneOffset() != summer.getTimezoneOffset()); + + function extractZone(date) { + var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/); + return match ? match[1] : "GMT"; + }; + var winterName = extractZone(winter); + var summerName = extractZone(summer); + var winterNamePtr = allocate(intArrayFromString(winterName), 'i8', ALLOC_NORMAL); + var summerNamePtr = allocate(intArrayFromString(summerName), 'i8', ALLOC_NORMAL); + if (summer.getTimezoneOffset() < winter.getTimezoneOffset()) { + // Northern hemisphere + HEAP32[((__get_tzname())>>2)]=winterNamePtr; + HEAP32[(((__get_tzname())+(4))>>2)]=summerNamePtr; + } else { + HEAP32[((__get_tzname())>>2)]=summerNamePtr; + HEAP32[(((__get_tzname())+(4))>>2)]=winterNamePtr; + } + }function _localtime_r(time, tmPtr) { + _tzset(); + var date = new Date(HEAP32[((time)>>2)]*1000); + HEAP32[((tmPtr)>>2)]=date.getSeconds(); + HEAP32[(((tmPtr)+(4))>>2)]=date.getMinutes(); + HEAP32[(((tmPtr)+(8))>>2)]=date.getHours(); + HEAP32[(((tmPtr)+(12))>>2)]=date.getDate(); + HEAP32[(((tmPtr)+(16))>>2)]=date.getMonth(); + HEAP32[(((tmPtr)+(20))>>2)]=date.getFullYear()-1900; + HEAP32[(((tmPtr)+(24))>>2)]=date.getDay(); + + var start = new Date(date.getFullYear(), 0, 1); + var yday = ((date.getTime() - start.getTime()) / (1000 * 60 * 60 * 24))|0; + HEAP32[(((tmPtr)+(28))>>2)]=yday; + HEAP32[(((tmPtr)+(36))>>2)]=-(date.getTimezoneOffset() * 60); + + // Attention: DST is in December in South, and some regions don't have DST at all. + var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); + var winterOffset = start.getTimezoneOffset(); + var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset))|0; + HEAP32[(((tmPtr)+(32))>>2)]=dst; + + var zonePtr = HEAP32[(((__get_tzname())+(dst ? 4 : 0))>>2)]; + HEAP32[(((tmPtr)+(40))>>2)]=zonePtr; + + return tmPtr; + }function _localtime(time) { + return _localtime_r(time, ___tm_current); + } + + + + + + + function _longjmp(env, value) { + _setThrew(env, value || 1); + throw 'longjmp'; + } + + + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.set(HEAPU8.subarray(src, src+num), dest); + } + + + + + + + + + + + + + function __isLeapYear(year) { + return year%4 === 0 && (year%100 !== 0 || year%400 === 0); + } + + function __arraySum(array, index) { + var sum = 0; + for (var i = 0; i <= index; sum += array[i++]); + return sum; + } + + + var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31]; + + var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date, days) { + var newDate = new Date(date.getTime()); + while(days > 0) { + var leap = __isLeapYear(newDate.getFullYear()); + var currentMonth = newDate.getMonth(); + var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth]; + + if (days > daysInCurrentMonth-newDate.getDate()) { + // we spill over to next month + days -= (daysInCurrentMonth-newDate.getDate()+1); + newDate.setDate(1); + if (currentMonth < 11) { + newDate.setMonth(currentMonth+1) + } else { + newDate.setMonth(0); + newDate.setFullYear(newDate.getFullYear()+1); + } + } else { + // we stay in current month + newDate.setDate(newDate.getDate()+days); + return newDate; + } + } + + return newDate; + }function _strftime(s, maxsize, format, tm) { + // size_t strftime(char *restrict s, size_t maxsize, const char *restrict format, const struct tm *restrict timeptr); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/strftime.html + + var tm_zone = HEAP32[(((tm)+(40))>>2)]; + + var date = { + tm_sec: HEAP32[((tm)>>2)], + tm_min: HEAP32[(((tm)+(4))>>2)], + tm_hour: HEAP32[(((tm)+(8))>>2)], + tm_mday: HEAP32[(((tm)+(12))>>2)], + tm_mon: HEAP32[(((tm)+(16))>>2)], + tm_year: HEAP32[(((tm)+(20))>>2)], + tm_wday: HEAP32[(((tm)+(24))>>2)], + tm_yday: HEAP32[(((tm)+(28))>>2)], + tm_isdst: HEAP32[(((tm)+(32))>>2)], + tm_gmtoff: HEAP32[(((tm)+(36))>>2)], + tm_zone: tm_zone ? UTF8ToString(tm_zone) : '' + }; + + var pattern = UTF8ToString(format); + + // expand format + var EXPANSION_RULES_1 = { + '%c': '%a %b %d %H:%M:%S %Y', // Replaced by the locale's appropriate date and time representation - e.g., Mon Aug 3 14:02:01 2013 + '%D': '%m/%d/%y', // Equivalent to %m / %d / %y + '%F': '%Y-%m-%d', // Equivalent to %Y - %m - %d + '%h': '%b', // Equivalent to %b + '%r': '%I:%M:%S %p', // Replaced by the time in a.m. and p.m. notation + '%R': '%H:%M', // Replaced by the time in 24-hour notation + '%T': '%H:%M:%S', // Replaced by the time + '%x': '%m/%d/%y', // Replaced by the locale's appropriate date representation + '%X': '%H:%M:%S', // Replaced by the locale's appropriate time representation + // Modified Conversion Specifiers + '%Ec': '%c', // Replaced by the locale's alternative appropriate date and time representation. + '%EC': '%C', // Replaced by the name of the base year (period) in the locale's alternative representation. + '%Ex': '%m/%d/%y', // Replaced by the locale's alternative date representation. + '%EX': '%H:%M:%S', // Replaced by the locale's alternative time representation. + '%Ey': '%y', // Replaced by the offset from %EC (year only) in the locale's alternative representation. + '%EY': '%Y', // Replaced by the full alternative year representation. + '%Od': '%d', // Replaced by the day of the month, using the locale's alternative numeric symbols, filled as needed with leading zeros if there is any alternative symbol for zero; otherwise, with leading characters. + '%Oe': '%e', // Replaced by the day of the month, using the locale's alternative numeric symbols, filled as needed with leading characters. + '%OH': '%H', // Replaced by the hour (24-hour clock) using the locale's alternative numeric symbols. + '%OI': '%I', // Replaced by the hour (12-hour clock) using the locale's alternative numeric symbols. + '%Om': '%m', // Replaced by the month using the locale's alternative numeric symbols. + '%OM': '%M', // Replaced by the minutes using the locale's alternative numeric symbols. + '%OS': '%S', // Replaced by the seconds using the locale's alternative numeric symbols. + '%Ou': '%u', // Replaced by the weekday as a number in the locale's alternative representation (Monday=1). + '%OU': '%U', // Replaced by the week number of the year (Sunday as the first day of the week, rules corresponding to %U ) using the locale's alternative numeric symbols. + '%OV': '%V', // Replaced by the week number of the year (Monday as the first day of the week, rules corresponding to %V ) using the locale's alternative numeric symbols. + '%Ow': '%w', // Replaced by the number of the weekday (Sunday=0) using the locale's alternative numeric symbols. + '%OW': '%W', // Replaced by the week number of the year (Monday as the first day of the week) using the locale's alternative numeric symbols. + '%Oy': '%y', // Replaced by the year (offset from %C ) using the locale's alternative numeric symbols. + }; + for (var rule in EXPANSION_RULES_1) { + pattern = pattern.replace(new RegExp(rule, 'g'), EXPANSION_RULES_1[rule]); + } + + var WEEKDAYS = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']; + var MONTHS = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']; + + function leadingSomething(value, digits, character) { + var str = typeof value === 'number' ? value.toString() : (value || ''); + while (str.length < digits) { + str = character[0]+str; + } + return str; + } + + function leadingNulls(value, digits) { + return leadingSomething(value, digits, '0'); + } + + function compareByDay(date1, date2) { + function sgn(value) { + return value < 0 ? -1 : (value > 0 ? 1 : 0); + } + + var compare; + if ((compare = sgn(date1.getFullYear()-date2.getFullYear())) === 0) { + if ((compare = sgn(date1.getMonth()-date2.getMonth())) === 0) { + compare = sgn(date1.getDate()-date2.getDate()); + } + } + return compare; + } + + function getFirstWeekStartDate(janFourth) { + switch (janFourth.getDay()) { + case 0: // Sunday + return new Date(janFourth.getFullYear()-1, 11, 29); + case 1: // Monday + return janFourth; + case 2: // Tuesday + return new Date(janFourth.getFullYear(), 0, 3); + case 3: // Wednesday + return new Date(janFourth.getFullYear(), 0, 2); + case 4: // Thursday + return new Date(janFourth.getFullYear(), 0, 1); + case 5: // Friday + return new Date(janFourth.getFullYear()-1, 11, 31); + case 6: // Saturday + return new Date(janFourth.getFullYear()-1, 11, 30); + } + } + + function getWeekBasedYear(date) { + var thisDate = __addDays(new Date(date.tm_year+1900, 0, 1), date.tm_yday); + + var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4); + var janFourthNextYear = new Date(thisDate.getFullYear()+1, 0, 4); + + var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear); + var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear); + + if (compareByDay(firstWeekStartThisYear, thisDate) <= 0) { + // this date is after the start of the first week of this year + if (compareByDay(firstWeekStartNextYear, thisDate) <= 0) { + return thisDate.getFullYear()+1; + } else { + return thisDate.getFullYear(); + } + } else { + return thisDate.getFullYear()-1; + } + } + + var EXPANSION_RULES_2 = { + '%a': function(date) { + return WEEKDAYS[date.tm_wday].substring(0,3); + }, + '%A': function(date) { + return WEEKDAYS[date.tm_wday]; + }, + '%b': function(date) { + return MONTHS[date.tm_mon].substring(0,3); + }, + '%B': function(date) { + return MONTHS[date.tm_mon]; + }, + '%C': function(date) { + var year = date.tm_year+1900; + return leadingNulls((year/100)|0,2); + }, + '%d': function(date) { + return leadingNulls(date.tm_mday, 2); + }, + '%e': function(date) { + return leadingSomething(date.tm_mday, 2, ' '); + }, + '%g': function(date) { + // %g, %G, and %V give values according to the ISO 8601:2000 standard week-based year. + // In this system, weeks begin on a Monday and week 1 of the year is the week that includes + // January 4th, which is also the week that includes the first Thursday of the year, and + // is also the first week that contains at least four days in the year. + // If the first Monday of January is the 2nd, 3rd, or 4th, the preceding days are part of + // the last week of the preceding year; thus, for Saturday 2nd January 1999, + // %G is replaced by 1998 and %V is replaced by 53. If December 29th, 30th, + // or 31st is a Monday, it and any following days are part of week 1 of the following year. + // Thus, for Tuesday 30th December 1997, %G is replaced by 1998 and %V is replaced by 01. + + return getWeekBasedYear(date).toString().substring(2); + }, + '%G': function(date) { + return getWeekBasedYear(date); + }, + '%H': function(date) { + return leadingNulls(date.tm_hour, 2); + }, + '%I': function(date) { + var twelveHour = date.tm_hour; + if (twelveHour == 0) twelveHour = 12; + else if (twelveHour > 12) twelveHour -= 12; + return leadingNulls(twelveHour, 2); + }, + '%j': function(date) { + // Day of the year (001-366) + return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon-1), 3); + }, + '%m': function(date) { + return leadingNulls(date.tm_mon+1, 2); + }, + '%M': function(date) { + return leadingNulls(date.tm_min, 2); + }, + '%n': function() { + return '\n'; + }, + '%p': function(date) { + if (date.tm_hour >= 0 && date.tm_hour < 12) { + return 'AM'; + } else { + return 'PM'; + } + }, + '%S': function(date) { + return leadingNulls(date.tm_sec, 2); + }, + '%t': function() { + return '\t'; + }, + '%u': function(date) { + return date.tm_wday || 7; + }, + '%U': function(date) { + // Replaced by the week number of the year as a decimal number [00,53]. + // The first Sunday of January is the first day of week 1; + // days in the new year before this are in week 0. [ tm_year, tm_wday, tm_yday] + var janFirst = new Date(date.tm_year+1900, 0, 1); + var firstSunday = janFirst.getDay() === 0 ? janFirst : __addDays(janFirst, 7-janFirst.getDay()); + var endDate = new Date(date.tm_year+1900, date.tm_mon, date.tm_mday); + + // is target date after the first Sunday? + if (compareByDay(firstSunday, endDate) < 0) { + // calculate difference in days between first Sunday and endDate + var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth()-1)-31; + var firstSundayUntilEndJanuary = 31-firstSunday.getDate(); + var days = firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate(); + return leadingNulls(Math.ceil(days/7), 2); + } + + return compareByDay(firstSunday, janFirst) === 0 ? '01': '00'; + }, + '%V': function(date) { + // Replaced by the week number of the year (Monday as the first day of the week) + // as a decimal number [01,53]. If the week containing 1 January has four + // or more days in the new year, then it is considered week 1. + // Otherwise, it is the last week of the previous year, and the next week is week 1. + // Both January 4th and the first Thursday of January are always in week 1. [ tm_year, tm_wday, tm_yday] + var janFourthThisYear = new Date(date.tm_year+1900, 0, 4); + var janFourthNextYear = new Date(date.tm_year+1901, 0, 4); + + var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear); + var firstWeekStartNextYear = getFirstWeekStartDate(janFourthNextYear); + + var endDate = __addDays(new Date(date.tm_year+1900, 0, 1), date.tm_yday); + + if (compareByDay(endDate, firstWeekStartThisYear) < 0) { + // if given date is before this years first week, then it belongs to the 53rd week of last year + return '53'; + } + + if (compareByDay(firstWeekStartNextYear, endDate) <= 0) { + // if given date is after next years first week, then it belongs to the 01th week of next year + return '01'; + } + + // given date is in between CW 01..53 of this calendar year + var daysDifference; + if (firstWeekStartThisYear.getFullYear() < date.tm_year+1900) { + // first CW of this year starts last year + daysDifference = date.tm_yday+32-firstWeekStartThisYear.getDate() + } else { + // first CW of this year starts this year + daysDifference = date.tm_yday+1-firstWeekStartThisYear.getDate(); + } + return leadingNulls(Math.ceil(daysDifference/7), 2); + }, + '%w': function(date) { + return date.tm_wday; + }, + '%W': function(date) { + // Replaced by the week number of the year as a decimal number [00,53]. + // The first Monday of January is the first day of week 1; + // days in the new year before this are in week 0. [ tm_year, tm_wday, tm_yday] + var janFirst = new Date(date.tm_year, 0, 1); + var firstMonday = janFirst.getDay() === 1 ? janFirst : __addDays(janFirst, janFirst.getDay() === 0 ? 1 : 7-janFirst.getDay()+1); + var endDate = new Date(date.tm_year+1900, date.tm_mon, date.tm_mday); + + // is target date after the first Monday? + if (compareByDay(firstMonday, endDate) < 0) { + var februaryFirstUntilEndMonth = __arraySum(__isLeapYear(endDate.getFullYear()) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, endDate.getMonth()-1)-31; + var firstMondayUntilEndJanuary = 31-firstMonday.getDate(); + var days = firstMondayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate(); + return leadingNulls(Math.ceil(days/7), 2); + } + return compareByDay(firstMonday, janFirst) === 0 ? '01': '00'; + }, + '%y': function(date) { + // Replaced by the last two digits of the year as a decimal number [00,99]. [ tm_year] + return (date.tm_year+1900).toString().substring(2); + }, + '%Y': function(date) { + // Replaced by the year as a decimal number (for example, 1997). [ tm_year] + return date.tm_year+1900; + }, + '%z': function(date) { + // Replaced by the offset from UTC in the ISO 8601:2000 standard format ( +hhmm or -hhmm ). + // For example, "-0430" means 4 hours 30 minutes behind UTC (west of Greenwich). + var off = date.tm_gmtoff; + var ahead = off >= 0; + off = Math.abs(off) / 60; + // convert from minutes into hhmm format (which means 60 minutes = 100 units) + off = (off / 60)*100 + (off % 60); + return (ahead ? '+' : '-') + String("0000" + off).slice(-4); + }, + '%Z': function(date) { + return date.tm_zone; + }, + '%%': function() { + return '%'; + } + }; + for (var rule in EXPANSION_RULES_2) { + if (pattern.indexOf(rule) >= 0) { + pattern = pattern.replace(new RegExp(rule, 'g'), EXPANSION_RULES_2[rule](date)); + } + } + + var bytes = intArrayFromString(pattern, false); + if (bytes.length > maxsize) { + return 0; + } + + writeArrayToMemory(bytes, s); + return bytes.length-1; + } + + function _strftime_l(s, maxsize, format, tm) { + return _strftime(s, maxsize, format, tm); // no locale support yet + } + + + function _time(ptr) { + var ret = (Date.now()/1000)|0; + if (ptr) { + HEAP32[((ptr)>>2)]=ret; + } + return ret; + } +FS.staticInit();; +embind_init_charCodes(); +BindingError = Module['BindingError'] = extendError(Error, 'BindingError');; +InternalError = Module['InternalError'] = extendError(Error, 'InternalError');; +init_emval();; +UnboundTypeError = Module['UnboundTypeError'] = extendError(Error, 'UnboundTypeError');; +var ASSERTIONS = true; + +// Copyright 2017 The Emscripten Authors. All rights reserved. +// Emscripten is available under two separate licenses, the MIT license and the +// University of Illinois/NCSA Open Source License. Both these licenses can be +// found in the LICENSE file. + +/** @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; +} + +function intArrayToString(array) { + var ret = []; + for (var i = 0; i < array.length; i++) { + var chr = array[i]; + if (chr > 0xFF) { + if (ASSERTIONS) { + 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(''); +} + + +// Copied from https://github.com/strophe/strophejs/blob/e06d027/src/polyfills.js#L149 + +// This code was written by Tyler Akins and has been placed in the +// public domain. It would be nice if you left this header intact. +// Base64 code from Tyler Akins -- http://rumkin.com + +/** + * Decodes a base64 string. + * @param {String} input The string to decode. + */ +var decodeBase64 = typeof atob === 'function' ? atob : function (input) { + var keyStr = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; + + var output = ''; + var chr1, chr2, chr3; + var enc1, enc2, enc3, enc4; + var i = 0; + // remove all characters that are not A-Z, a-z, 0-9, +, /, or = + input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ''); + do { + enc1 = keyStr.indexOf(input.charAt(i++)); + enc2 = keyStr.indexOf(input.charAt(i++)); + enc3 = keyStr.indexOf(input.charAt(i++)); + enc4 = keyStr.indexOf(input.charAt(i++)); + + chr1 = (enc1 << 2) | (enc2 >> 4); + chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); + chr3 = ((enc3 & 3) << 6) | enc4; + + output = output + String.fromCharCode(chr1); + + if (enc3 !== 64) { + output = output + String.fromCharCode(chr2); + } + if (enc4 !== 64) { + output = output + String.fromCharCode(chr3); + } + } while (i < input.length); + return output; +}; + +// Converts a string of base64 into a byte array. +// Throws error on invalid input. +function intArrayFromBase64(s) { + if (typeof ENVIRONMENT_IS_NODE === 'boolean' && ENVIRONMENT_IS_NODE) { + var buf; + try { + buf = Buffer.from(s, 'base64'); + } catch (_) { + buf = new Buffer(s, 'base64'); + } + return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength); + } + + try { + var decoded = decodeBase64(s); + var bytes = new Uint8Array(decoded.length); + for (var i = 0 ; i < decoded.length ; ++i) { + bytes[i] = decoded.charCodeAt(i); + } + return bytes; + } catch (_) { + throw new Error('Converting base64 string to bytes failed.'); + } +} + +// If filename is a base64 data URI, parses and returns data (Buffer on node, +// Uint8Array otherwise). If filename is not a base64 data URI, returns undefined. +function tryParseAsDataURI(filename) { + if (!isDataURI(filename)) { + return; + } + + return intArrayFromBase64(filename.slice(dataURIPrefix.length)); +} + + +// ASM_LIBRARY EXTERN PRIMITIVES: Math_imul,Math_clz32,Int8Array,Int32Array,Math_floor,Math_ceil + +function nullFunc_di(x) { abortFnPtrError(x, 'di'); } +function nullFunc_dii(x) { abortFnPtrError(x, 'dii'); } +function nullFunc_i(x) { abortFnPtrError(x, 'i'); } +function nullFunc_ii(x) { abortFnPtrError(x, 'ii'); } +function nullFunc_iidiiii(x) { abortFnPtrError(x, 'iidiiii'); } +function nullFunc_iii(x) { abortFnPtrError(x, 'iii'); } +function nullFunc_iiii(x) { abortFnPtrError(x, 'iiii'); } +function nullFunc_iiiii(x) { abortFnPtrError(x, 'iiiii'); } +function nullFunc_iiiiid(x) { abortFnPtrError(x, 'iiiiid'); } +function nullFunc_iiiiii(x) { abortFnPtrError(x, 'iiiiii'); } +function nullFunc_iiiiiid(x) { abortFnPtrError(x, 'iiiiiid'); } +function nullFunc_iiiiiii(x) { abortFnPtrError(x, 'iiiiiii'); } +function nullFunc_iiiiiiii(x) { abortFnPtrError(x, 'iiiiiiii'); } +function nullFunc_iiiiiiiii(x) { abortFnPtrError(x, 'iiiiiiiii'); } +function nullFunc_v(x) { abortFnPtrError(x, 'v'); } +function nullFunc_vi(x) { abortFnPtrError(x, 'vi'); } +function nullFunc_vid(x) { abortFnPtrError(x, 'vid'); } +function nullFunc_vii(x) { abortFnPtrError(x, 'vii'); } +function nullFunc_viid(x) { abortFnPtrError(x, 'viid'); } +function nullFunc_viii(x) { abortFnPtrError(x, 'viii'); } +function nullFunc_viiii(x) { abortFnPtrError(x, 'viiii'); } +function nullFunc_viiiii(x) { abortFnPtrError(x, 'viiiii'); } +function nullFunc_viiiiii(x) { abortFnPtrError(x, 'viiiiii'); } +function nullFunc_viiiiiii(x) { abortFnPtrError(x, 'viiiiiii'); } + +function invoke_ii(index,a1) { + var sp = stackSave(); + try { + return dynCall_ii(index,a1); + } catch(e) { + stackRestore(sp); + if (e !== e+0 && e !== 'longjmp') throw e; + _setThrew(1, 0); + } +} + +function invoke_iii(index,a1,a2) { + var sp = stackSave(); + try { + return dynCall_iii(index,a1,a2); + } catch(e) { + stackRestore(sp); + if (e !== e+0 && e !== 'longjmp') throw e; + _setThrew(1, 0); + } +} + +function invoke_iiii(index,a1,a2,a3) { + var sp = stackSave(); + try { + return dynCall_iiii(index,a1,a2,a3); + } catch(e) { + stackRestore(sp); + if (e !== e+0 && e !== 'longjmp') throw e; + _setThrew(1, 0); + } +} + +function invoke_vi(index,a1) { + var sp = stackSave(); + try { + dynCall_vi(index,a1); + } catch(e) { + stackRestore(sp); + if (e !== e+0 && e !== 'longjmp') throw e; + _setThrew(1, 0); + } +} + +function invoke_vii(index,a1,a2) { + var sp = stackSave(); + try { + dynCall_vii(index,a1,a2); + } catch(e) { + stackRestore(sp); + if (e !== e+0 && e !== 'longjmp') throw e; + _setThrew(1, 0); + } +} + +function invoke_viii(index,a1,a2,a3) { + var sp = stackSave(); + try { + dynCall_viii(index,a1,a2,a3); + } catch(e) { + stackRestore(sp); + if (e !== e+0 && e !== 'longjmp') throw e; + _setThrew(1, 0); + } +} + +function invoke_viiii(index,a1,a2,a3,a4) { + var sp = stackSave(); + try { + dynCall_viiii(index,a1,a2,a3,a4); + } catch(e) { + stackRestore(sp); + if (e !== e+0 && e !== 'longjmp') throw e; + _setThrew(1, 0); + } +} + +var asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity }; + +var asmLibraryArg = { "___buildEnvironment": ___buildEnvironment, "___cxa_allocate_exception": ___cxa_allocate_exception, "___cxa_begin_catch": ___cxa_begin_catch, "___cxa_throw": ___cxa_throw, "___exception_addRef": ___exception_addRef, "___exception_deAdjust": ___exception_deAdjust, "___gxx_personality_v0": ___gxx_personality_v0, "___lock": ___lock, "___map_file": ___map_file, "___setErrNo": ___setErrNo, "___syscall221": ___syscall221, "___syscall5": ___syscall5, "___syscall54": ___syscall54, "___syscall91": ___syscall91, "___unlock": ___unlock, "___wasi_fd_close": ___wasi_fd_close, "___wasi_fd_read": ___wasi_fd_read, "___wasi_fd_seek": ___wasi_fd_seek, "___wasi_fd_write": ___wasi_fd_write, "__addDays": __addDays, "__arraySum": __arraySum, "__embind_register_bool": __embind_register_bool, "__embind_register_constant": __embind_register_constant, "__embind_register_emval": __embind_register_emval, "__embind_register_float": __embind_register_float, "__embind_register_function": __embind_register_function, "__embind_register_integer": __embind_register_integer, "__embind_register_memory_view": __embind_register_memory_view, "__embind_register_std_string": __embind_register_std_string, "__embind_register_std_wstring": __embind_register_std_wstring, "__embind_register_void": __embind_register_void, "__emscripten_syscall_munmap": __emscripten_syscall_munmap, "__emval_decref": __emval_decref, "__emval_register": __emval_register, "__isLeapYear": __isLeapYear, "_abort": _abort, "_embind_repr": _embind_repr, "_emscripten_asm_const_ii": _emscripten_asm_const_ii, "_emscripten_asm_const_iiddddddddddddd": _emscripten_asm_const_iiddddddddddddd, "_emscripten_asm_const_iiiid": _emscripten_asm_const_iiiid, "_emscripten_asm_const_iiiiiii": _emscripten_asm_const_iiiiiii, "_emscripten_asm_const_iiiiiiiidddddddddddddddddddddddddi": _emscripten_asm_const_iiiiiiiidddddddddddddddddddddddddi, "_emscripten_get_heap_size": _emscripten_get_heap_size, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_resize_heap": _emscripten_resize_heap, "_exit": _exit, "_fd_close": _fd_close, "_fd_read": _fd_read, "_fd_seek": _fd_seek, "_fd_write": _fd_write, "_getenv": _getenv, "_gettimeofday": _gettimeofday, "_llvm_exp2_f32": _llvm_exp2_f32, "_llvm_stackrestore": _llvm_stackrestore, "_llvm_stacksave": _llvm_stacksave, "_llvm_trap": _llvm_trap, "_localtime": _localtime, "_localtime_r": _localtime_r, "_longjmp": _longjmp, "_strftime": _strftime, "_strftime_l": _strftime_l, "_time": _time, "_tzset": _tzset, "abort": abort, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "abortStackOverflow": abortStackOverflow, "count_emval_handles": count_emval_handles, "craftInvokerFunction": craftInvokerFunction, "createNamedFunction": createNamedFunction, "demangle": demangle, "demangleAll": demangleAll, "embind__requireFunction": embind__requireFunction, "embind_init_charCodes": embind_init_charCodes, "emscripten_realloc_buffer": emscripten_realloc_buffer, "ensureOverloadTable": ensureOverloadTable, "exposePublicSymbol": exposePublicSymbol, "extendError": extendError, "floatReadValueFromPointer": floatReadValueFromPointer, "getShiftFromSize": getShiftFromSize, "getTempRet0": getTempRet0, "getTypeName": getTypeName, "get_first_emval": get_first_emval, "heap32VectorToArray": heap32VectorToArray, "init_emval": init_emval, "integerReadValueFromPointer": integerReadValueFromPointer, "invoke_ii": invoke_ii, "invoke_iii": invoke_iii, "invoke_iiii": invoke_iiii, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_viii": invoke_viii, "invoke_viiii": invoke_viiii, "jsStackTrace": jsStackTrace, "makeLegalFunctionName": makeLegalFunctionName, "new_": new_, "nullFunc_di": nullFunc_di, "nullFunc_dii": nullFunc_dii, "nullFunc_i": nullFunc_i, "nullFunc_ii": nullFunc_ii, "nullFunc_iidiiii": nullFunc_iidiiii, "nullFunc_iii": nullFunc_iii, "nullFunc_iiii": nullFunc_iiii, "nullFunc_iiiii": nullFunc_iiiii, "nullFunc_iiiiid": nullFunc_iiiiid, "nullFunc_iiiiii": nullFunc_iiiiii, "nullFunc_iiiiiid": nullFunc_iiiiiid, "nullFunc_iiiiiii": nullFunc_iiiiiii, "nullFunc_iiiiiiii": nullFunc_iiiiiiii, "nullFunc_iiiiiiiii": nullFunc_iiiiiiiii, "nullFunc_v": nullFunc_v, "nullFunc_vi": nullFunc_vi, "nullFunc_vid": nullFunc_vid, "nullFunc_vii": nullFunc_vii, "nullFunc_viid": nullFunc_viid, "nullFunc_viii": nullFunc_viii, "nullFunc_viiii": nullFunc_viiii, "nullFunc_viiiii": nullFunc_viiiii, "nullFunc_viiiiii": nullFunc_viiiiii, "nullFunc_viiiiiii": nullFunc_viiiiiii, "readLatin1String": readLatin1String, "registerType": registerType, "replacePublicSymbol": replacePublicSymbol, "runDestructors": runDestructors, "setTempRet0": setTempRet0, "simpleReadValueFromPointer": simpleReadValueFromPointer, "stackTrace": stackTrace, "tempDoublePtr": tempDoublePtr, "throwBindingError": throwBindingError, "throwInternalError": throwInternalError, "throwUnboundTypeError": throwUnboundTypeError, "whenDependentTypesAreResolved": whenDependentTypesAreResolved }; +// EMSCRIPTEN_START_ASM +var asm = (/** @suppress {uselessCode} */ function(global, env, buffer) { +'almost asm'; + + var HEAP8 = new global.Int8Array(buffer), + HEAP16 = new global.Int16Array(buffer), + HEAP32 = new global.Int32Array(buffer), + HEAPU8 = new global.Uint8Array(buffer), + HEAPU16 = new global.Uint16Array(buffer), + HEAPF32 = new global.Float32Array(buffer), + HEAPF64 = new global.Float64Array(buffer), + tempDoublePtr=env.tempDoublePtr|0, + __THREW__ = 0, + threwValue = 0, + setjmpId = 0, + tempInt = 0, + tempBigInt = 0, + tempBigIntS = 0, + tempValue = 0, + tempDouble = 0.0, + nan = global.NaN, + inf = global.Infinity, + Math_floor=global.Math.floor, + Math_abs=global.Math.abs, + Math_sqrt=global.Math.sqrt, + Math_pow=global.Math.pow, + Math_cos=global.Math.cos, + Math_sin=global.Math.sin, + Math_atan2=global.Math.atan2, + Math_log=global.Math.log, + Math_ceil=global.Math.ceil, + Math_imul=global.Math.imul, + Math_clz32=global.Math.clz32, + abort=env.abort, + setTempRet0=env.setTempRet0, + getTempRet0=env.getTempRet0, + abortStackOverflow=env.abortStackOverflow, + nullFunc_di=env.nullFunc_di, + nullFunc_dii=env.nullFunc_dii, + nullFunc_i=env.nullFunc_i, + nullFunc_ii=env.nullFunc_ii, + nullFunc_iidiiii=env.nullFunc_iidiiii, + nullFunc_iii=env.nullFunc_iii, + nullFunc_iiii=env.nullFunc_iiii, + nullFunc_iiiii=env.nullFunc_iiiii, + nullFunc_iiiiid=env.nullFunc_iiiiid, + nullFunc_iiiiii=env.nullFunc_iiiiii, + nullFunc_iiiiiid=env.nullFunc_iiiiiid, + nullFunc_iiiiiii=env.nullFunc_iiiiiii, + nullFunc_iiiiiiii=env.nullFunc_iiiiiiii, + nullFunc_iiiiiiiii=env.nullFunc_iiiiiiiii, + nullFunc_v=env.nullFunc_v, + nullFunc_vi=env.nullFunc_vi, + nullFunc_vid=env.nullFunc_vid, + nullFunc_vii=env.nullFunc_vii, + nullFunc_viid=env.nullFunc_viid, + nullFunc_viii=env.nullFunc_viii, + nullFunc_viiii=env.nullFunc_viiii, + nullFunc_viiiii=env.nullFunc_viiiii, + nullFunc_viiiiii=env.nullFunc_viiiiii, + nullFunc_viiiiiii=env.nullFunc_viiiiiii, + invoke_ii=env.invoke_ii, + invoke_iii=env.invoke_iii, + invoke_iiii=env.invoke_iiii, + invoke_vi=env.invoke_vi, + invoke_vii=env.invoke_vii, + invoke_viii=env.invoke_viii, + invoke_viiii=env.invoke_viiii, + ___buildEnvironment=env.___buildEnvironment, + ___cxa_allocate_exception=env.___cxa_allocate_exception, + ___cxa_begin_catch=env.___cxa_begin_catch, + ___cxa_throw=env.___cxa_throw, + ___exception_addRef=env.___exception_addRef, + ___exception_deAdjust=env.___exception_deAdjust, + ___gxx_personality_v0=env.___gxx_personality_v0, + ___lock=env.___lock, + ___map_file=env.___map_file, + ___setErrNo=env.___setErrNo, + ___syscall221=env.___syscall221, + ___syscall5=env.___syscall5, + ___syscall54=env.___syscall54, + ___syscall91=env.___syscall91, + ___unlock=env.___unlock, + ___wasi_fd_close=env.___wasi_fd_close, + ___wasi_fd_read=env.___wasi_fd_read, + ___wasi_fd_seek=env.___wasi_fd_seek, + ___wasi_fd_write=env.___wasi_fd_write, + __addDays=env.__addDays, + __arraySum=env.__arraySum, + __embind_register_bool=env.__embind_register_bool, + __embind_register_constant=env.__embind_register_constant, + __embind_register_emval=env.__embind_register_emval, + __embind_register_float=env.__embind_register_float, + __embind_register_function=env.__embind_register_function, + __embind_register_integer=env.__embind_register_integer, + __embind_register_memory_view=env.__embind_register_memory_view, + __embind_register_std_string=env.__embind_register_std_string, + __embind_register_std_wstring=env.__embind_register_std_wstring, + __embind_register_void=env.__embind_register_void, + __emscripten_syscall_munmap=env.__emscripten_syscall_munmap, + __emval_decref=env.__emval_decref, + __emval_register=env.__emval_register, + __isLeapYear=env.__isLeapYear, + _abort=env._abort, + _embind_repr=env._embind_repr, + _emscripten_asm_const_ii=env._emscripten_asm_const_ii, + _emscripten_asm_const_iiddddddddddddd=env._emscripten_asm_const_iiddddddddddddd, + _emscripten_asm_const_iiiid=env._emscripten_asm_const_iiiid, + _emscripten_asm_const_iiiiiii=env._emscripten_asm_const_iiiiiii, + _emscripten_asm_const_iiiiiiiidddddddddddddddddddddddddi=env._emscripten_asm_const_iiiiiiiidddddddddddddddddddddddddi, + _emscripten_get_heap_size=env._emscripten_get_heap_size, + _emscripten_memcpy_big=env._emscripten_memcpy_big, + _emscripten_resize_heap=env._emscripten_resize_heap, + _exit=env._exit, + _fd_close=env._fd_close, + _fd_read=env._fd_read, + _fd_seek=env._fd_seek, + _fd_write=env._fd_write, + _getenv=env._getenv, + _gettimeofday=env._gettimeofday, + _llvm_exp2_f32=env._llvm_exp2_f32, + _llvm_stackrestore=env._llvm_stackrestore, + _llvm_stacksave=env._llvm_stacksave, + _llvm_trap=env._llvm_trap, + _localtime=env._localtime, + _localtime_r=env._localtime_r, + _longjmp=env._longjmp, + _strftime=env._strftime, + _strftime_l=env._strftime_l, + _time=env._time, + _tzset=env._tzset, + abortOnCannotGrowMemory=env.abortOnCannotGrowMemory, + count_emval_handles=env.count_emval_handles, + craftInvokerFunction=env.craftInvokerFunction, + createNamedFunction=env.createNamedFunction, + demangle=env.demangle, + demangleAll=env.demangleAll, + embind__requireFunction=env.embind__requireFunction, + embind_init_charCodes=env.embind_init_charCodes, + emscripten_realloc_buffer=env.emscripten_realloc_buffer, + ensureOverloadTable=env.ensureOverloadTable, + exposePublicSymbol=env.exposePublicSymbol, + extendError=env.extendError, + floatReadValueFromPointer=env.floatReadValueFromPointer, + getShiftFromSize=env.getShiftFromSize, + getTypeName=env.getTypeName, + get_first_emval=env.get_first_emval, + heap32VectorToArray=env.heap32VectorToArray, + init_emval=env.init_emval, + integerReadValueFromPointer=env.integerReadValueFromPointer, + jsStackTrace=env.jsStackTrace, + makeLegalFunctionName=env.makeLegalFunctionName, + new_=env.new_, + readLatin1String=env.readLatin1String, + registerType=env.registerType, + replacePublicSymbol=env.replacePublicSymbol, + runDestructors=env.runDestructors, + simpleReadValueFromPointer=env.simpleReadValueFromPointer, + stackTrace=env.stackTrace, + throwBindingError=env.throwBindingError, + throwInternalError=env.throwInternalError, + throwUnboundTypeError=env.throwUnboundTypeError, + whenDependentTypesAreResolved=env.whenDependentTypesAreResolved, + STACKTOP = 67664, + STACK_MAX = 5310544, + tempFloat = 0.0; + +function _emscripten_replace_memory(newBuffer) { + HEAP8 = new Int8Array(newBuffer); + HEAPU8 = new Uint8Array(newBuffer); + HEAP16 = new Int16Array(newBuffer); + HEAPU16 = new Uint16Array(newBuffer); + HEAP32 = new Int32Array(newBuffer); + HEAPF32 = new Float32Array(newBuffer); + HEAPF64 = new Float64Array(newBuffer); + + buffer = newBuffer; + return true; +} + +// EMSCRIPTEN_START_FUNCS + +function _read_markers($0) { + $0 = $0 | 0; + var $$0 = 0, $$0$i = 0, $$0$i46 = 0, $$0$i78 = 0, $$0$i82 = 0, $$0$i92 = 0, $$0134$lcssa$i = 0, $$0134177$i = 0, $$0135$i = 0, $$0136$i = 0, $$0146$i = 0, $$0148$i = 0, $$0158$i = 0, $$0159$i = 0, $$0168$lcssa$i = 0, $$0168199$i = 0, $$0170$ph$i = 0, $$0170220$i = 0, $$0171$i = 0, $$0171177218$i = 0, $$0171177219$i = 0, $$0176$i = 0, $$0177$i = 0, $$0186$lcssa$i = 0, $$0186203$i = 0, $$0189$lcssa$i = 0, $$0189197$i = 0, $$0189206$i = 0, $$0190201$i = 0, $$0193213$i = 0, $$0231$i = 0, $$041$i = 0, $$042$i = 0, $$057$i = 0, $$087$i = 0, $$093$i = 0, $$093$lcssa$i = 0, $$093100$i = 0, $$09397$i = 0, $$1$i = 0, $$1$i43 = 0, $$1$i47 = 0, $$1$i55 = 0, $$1$i66 = 0, $$1$i79 = 0, $$1$i83 = 0, $$1$i93 = 0, $$10$i = 0, $$10241$i = 0, $$11$i = 0, $$11242$i = 0, $$1137$i = 0, $$1145171$i = 0, $$1160$i = 0, $$1178$i = 0, $$1191202$i = 0, $$12$i = 0, $$12243$i = 0, $$1232$i = 0, $$13$i = 0, $$13244$i = 0, $$14$i = 0, $$142$i = 0, $$14245$i = 0, $$143$i = 0, $$15$i = 0, $$15246$i = 0, $$158$i = 0, $$16$i = 0, $$16247$i = 0, $$17$i = 0, $$17248$i = 0, $$18$i = 0, $$18249$i = 0, $$188$i = 0, $$19$i = 0, $$19250$i = 0, $$2$i = 0, $$2$i52 = 0, $$2$i80 = 0, $$2$i84 = 0, $$2$lcssa$i = 0, $$2$lcssa$i62 = 0, $$2$lcssa$i76 = 0, $$20$i = 0, $$20251$i = 0, $$21$i = 0, $$2101$i = 0, $$21252$i = 0, $$2138$lcssa$i = 0, $$2138175$i = 0, $$2161$lcssa$i = 0, $$2161200$i = 0, $$2175194$i = 0, $$2175194$us$i = 0, $$2176$i = 0, $$2179$i = 0, $$2188$i = 0, $$2192205$i = 0, $$22$i = 0, $$2201$i = 0, $$22253$i = 0, $$2233$i = 0, $$23$i = 0, $$23254$i = 0, $$24$i = 0, $$24255$i = 0, $$25$i = 0, $$25256$i = 0, $$259$i = 0, $$289$i = 0, $$289$lcssa$i = 0, $$289102$i = 0, $$28999$i = 0, $$298$i = 0, $$3$i = 0, $$3$i49 = 0, $$3$i56 = 0, $$3$i67 = 0, $$3$i81 = 0, $$3$i85 = 0, $$3$lcssa$i = 0, $$3139$i = 0, $$3162$i = 0, $$3176198$i = 0, $$3180$i = 0, $$3180$lcssa$i = 0, $$3180212$i = 0, $$3180212236$i = 0, $$3180218$i = 0, $$3211$i = 0, $$3211230$i = 0, $$3211233$i = 0, $$3211235$i = 0, $$3217$i = 0, $$3234$i = 0, $$360$i = 0, $$390$i = 0, $$4$1$i = 0, $$4$10$i = 0, $$4$11$i = 0, $$4$12$i = 0, $$4$13$i = 0, $$4$14$i = 0, $$4$15$i = 0, $$4$2$i = 0, $$4$3$i = 0, $$4$4$i = 0, $$4$5$i = 0, $$4$6$i = 0, $$4$7$i = 0, $$4$8$i = 0, $$4$9$i = 0, $$4$i = 0, $$4$i50 = 0, $$4$i58 = 0, $$4$i71 = 0, $$4$i86 = 0, $$4$lcssa$i = 0, $$4$us$i = 0, $$4140$1$i = 0, $$4140$10$i = 0, $$4140$11$i = 0, $$4140$12$i = 0, $$4140$13$i = 0, $$4140$14$i = 0, $$4140$15$i = 0, $$4140$2$i = 0, $$4140$3$i = 0, $$4140$4$i = 0, $$4140$5$i = 0, $$4140$6$i = 0, $$4140$7$i = 0, $$4140$8$i = 0, $$4140$9$i = 0, $$4140$i = 0, $$4140166$i = 0, $$4163$i = 0, $$4163$lcssa$i = 0, $$4163$us$i = 0, $$4163193$i = 0, $$4163193222$i = 0, $$4163196$i = 0, $$4163196$us$i = 0, $$4165$i = 0, $$4181$i = 0, $$4192$i = 0, $$4192221$i = 0, $$4195$i = 0, $$4195$us$i = 0, $$4235$i = 0, $$491$i = 0, $$5$1$i = 0, $$5$10$i = 0, $$5$11$i = 0, $$5$12$i = 0, $$5$13$i = 0, $$5$14$i = 0, $$5$15$i = 0, $$5$2$i = 0, $$5$3$i = 0, $$5$4$i = 0, $$5$5$i = 0, $$5$6$i = 0, $$5$7$i = 0, $$5$8$i = 0, $$5$9$i = 0, $$5$i = 0, $$5$i57 = 0, $$5$i87 = 0, $$5$us$i = 0, $$5141$1$i = 0, $$5141$10$i = 0, $$5141$11$i = 0, $$5141$12$i = 0, $$5141$13$i = 0, $$5141$14$i = 0, $$5141$15$i = 0, $$5141$2$i = 0, $$5141$3$i = 0, $$5141$4$i = 0, $$5141$5$i = 0, $$5141$6$i = 0, $$5141$7$i = 0, $$5141$8$i = 0, $$5141$9$i = 0, $$5141$i = 0, $$5164$us$i = 0, $$5182$i = 0, $$5236$i = 0, $$6$i = 0, $$6$i88 = 0, $$6$lcssa$i = 0, $$6$us$i = 0, $$6142$lcssa$i = 0, $$6142172$i = 0, $$6165$us$i = 0, $$6173$i = 0, $$6183$i = 0, $$6237$i = 0, $$7$i = 0, $$7$i60 = 0, $$7$i70 = 0, $$7$i90 = 0, $$7143$i = 0, $$7166$i = 0, $$7184$i = 0, $$7238$i = 0, $$8$i = 0, $$8$i91 = 0, $$8185$i = 0, $$8239$i = 0, $$9$i = 0, $$9240$i = 0, $$lcssa$i = 0, $$pre$phi$iZ2D = 0, $1 = 0, $10 = 0, $1007 = 0, $1008 = 0, $1011 = 0, $1024 = 0, $1025 = 0, $1028 = 0, $1036 = 0, $1037 = 0, $1049 = 0, $1050 = 0, $1060 = 0, $1061 = 0, $1064 = 0, $107 = 0, $1075 = 0, $1076 = 0, $108 = 0, $1080 = 0, $1089 = 0, $1090 = 0, $1094 = 0, $11 = 0, $1104 = 0, $1105 = 0, $111 = 0, $1115 = 0, $1116 = 0, $1119 = 0, $1127 = 0, $1128 = 0, $1140 = 0, $1141 = 0, $1144 = 0, $1152 = 0, $1153 = 0, $1165 = 0, $1166 = 0, $1176 = 0, $1177 = 0, $1180 = 0, $1188 = 0, $1189 = 0, $119 = 0, $12 = 0, $120 = 0, $1201 = 0, $1202 = 0, $1205 = 0, $1213 = 0, $1214 = 0, $1226 = 0, $1227 = 0, $123 = 0, $1237 = 0, $1238 = 0, $1241 = 0, $1249 = 0, $1250 = 0, $1262 = 0, $1263 = 0, $1266 = 0, $1274 = 0, $1275 = 0, $1280 = 0, $1294 = 0, $13 = 0, $1300 = 0, $1301 = 0, $1302 = 0, $1309 = 0, $131 = 0, $1310 = 0, $1313 = 0, $132 = 0, $1325 = 0, $1326 = 0, $1327 = 0, $133 = 0, $1340 = 0, $1345 = 0, $1346 = 0, $1347 = 0, $1348 = 0, $1349 = 0, $14 = 0, $15 = 0, $151 = 0, $156 = 0, $157 = 0, $158 = 0, $16 = 0, $164 = 0, $165 = 0, $167 = 0, $17 = 0, $176 = 0, $18 = 0, $180 = 0, $184 = 0, $185 = 0, $190 = 0, $192 = 0, $2 = 0, $20 = 0, $205 = 0, $207 = 0, $209 = 0, $210 = 0, $222 = 0, $229 = 0, $230 = 0, $233 = 0, $241 = 0, $242 = 0, $245 = 0, $25 = 0, $256 = 0, $258 = 0, $26 = 0, $260 = 0, $261 = 0, $27 = 0, $275 = 0, $278 = 0, $282 = 0, $283 = 0, $284 = 0, $291 = 0, $292 = 0, $295 = 0, $3 = 0, $305 = 0, $307 = 0, $314 = 0, $315 = 0, $316 = 0, $317 = 0, $324 = 0, $325 = 0, $326 = 0, $335 = 0, $34 = 0, $343 = 0, $346 = 0, $35 = 0, $350 = 0, $357 = 0, $36 = 0, $360 = 0, $361 = 0, $362 = 0, $369 = 0, $37 = 0, $370 = 0, $373 = 0, $381 = 0, $382 = 0, $385 = 0, $386 = 0, $388 = 0, $396 = 0, $397 = 0, $4 = 0, $409 = 0, $410 = 0, $412 = 0, $416 = 0, $423 = 0, $424 = 0, $429 = 0, $430 = 0, $431 = 0, $433 = 0, $434 = 0, $438 = 0, $443 = 0, $445 = 0, $446 = 0, $447 = 0, $448 = 0, $449 = 0, $450 = 0, $451 = 0, $452 = 0, $453 = 0, $454 = 0, $455 = 0, $456 = 0, $457 = 0, $458 = 0, $459 = 0, $460 = 0, $461 = 0, $466 = 0, $47 = 0, $474 = 0, $475 = 0, $48 = 0, $482 = 0, $483 = 0, $490 = 0, $491 = 0, $498 = 0, $499 = 0, $5 = 0, $506 = 0, $507 = 0, $51 = 0, $514 = 0, $515 = 0, $522 = 0, $523 = 0, $530 = 0, $531 = 0, $538 = 0, $539 = 0, $546 = 0, $547 = 0, $554 = 0, $555 = 0, $562 = 0, $563 = 0, $570 = 0, $571 = 0, $578 = 0, $579 = 0, $586 = 0, $587 = 0, $599 = 0, $6 = 0, $60 = 0, $61 = 0, $613 = 0, $614 = 0, $615 = 0, $622 = 0, $623 = 0, $626 = 0, $634 = 0, $635 = 0, $638 = 0, $639 = 0, $641 = 0, $642 = 0, $650 = 0, $651 = 0, $652 = 0, $653 = 0, $66 = 0, $662 = 0, $667 = 0, $668 = 0, $670 = 0, $671 = 0, $673 = 0, $69 = 0, $7 = 0, $8 = 0, $809 = 0, $810 = 0, $813 = 0, $82 = 0, $842 = 0, $847 = 0, $87 = 0, $88 = 0, $889 = 0, $89 = 0, $894 = 0, $897 = 0, $898 = 0, $899 = 0, $9 = 0, $90 = 0, $906 = 0, $907 = 0, $910 = 0, $918 = 0, $919 = 0, $924 = 0, $934 = 0, $935 = 0, $938 = 0, $95 = 0, $950 = 0, $951 = 0, $957 = 0, $958 = 0, $959 = 0, $960 = 0, $965 = 0, $979 = 0, $980 = 0, $983 = 0, $991 = 0, $992 = 0, $997 = 0, $scevgep$i = 0, $scevgep2$i = 0, $scevgep3$i = 0, $spec$select$i = 0, $spec$select$i74 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(256); + $1 = sp; + $2 = $0 + 440 | 0; + $3 = $0 + 464 | 0; + $4 = $0 + 24 | 0; + $scevgep$i = $0 + 232 | 0; + $scevgep2$i = $0 + 248 | 0; + $scevgep3$i = $0 + 264 | 0; + $5 = $0 + 280 | 0; + $6 = $0 + 40 | 0; + $7 = $0 + 304 | 0; + $8 = $0 + 308 | 0; + $9 = $0 + 284 | 0; + $10 = $0 + 288 | 0; + $11 = $0 + 289 | 0; + $12 = $0 + 290 | 0; + $13 = $0 + 292 | 0; + $14 = $0 + 294 | 0; + $15 = $0 + 296 | 0; + $16 = $0 + 300 | 0; + $17 = $0 + 36 | 0; + $18 = $0 + 216 | 0; + $20 = HEAP32[$2 >> 2] | 0; + L1 : while (1) { + do if (!$20) { + if (HEAP32[(HEAP32[$3 >> 2] | 0) + 12 >> 2] | 0) { + if (!(_next_marker($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $60 = HEAP32[$2 >> 2] | 0; + break; + } + $25 = HEAP32[$4 >> 2] | 0; + $26 = $25 + 4 | 0; + $27 = HEAP32[$26 >> 2] | 0; + if (!$27) { + if (!(FUNCTION_TABLE_ii[HEAP32[$25 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$0$i = HEAP32[$26 >> 2] | 0; + } else $$0$i = $27; + $$042$i = HEAP32[$25 >> 2] | 0; + $34 = $$0$i + -1 | 0; + $35 = $$042$i + 1 | 0; + $36 = HEAP8[$$042$i >> 0] | 0; + $37 = $36 & 255; + if (!$34) { + if (!(FUNCTION_TABLE_ii[HEAP32[$25 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$1$i = HEAP32[$26 >> 2] | 0; + $$143$i = HEAP32[$25 >> 2] | 0; + } else { + $$1$i = $34; + $$143$i = $35; + } + $47 = HEAP8[$$143$i >> 0] | 0; + $48 = $47 & 255; + if ($36 << 24 >> 24 != -1 | $47 << 24 >> 24 != -40) { + $51 = HEAP32[$0 >> 2] | 0; + HEAP32[$51 + 20 >> 2] = 55; + HEAP32[$51 + 24 >> 2] = $37; + HEAP32[(HEAP32[$0 >> 2] | 0) + 28 >> 2] = $48; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + HEAP32[$2 >> 2] = $48; + HEAP32[$25 >> 2] = $$143$i + 1; + HEAP32[$26 >> 2] = $$1$i + -1; + $60 = $48; + } else $60 = $20; while (0); + do switch ($60 | 0) { + case 218: + { + label = 25; + break L1; + break; + } + case 217: + { + label = 75; + break L1; + break; + } + case 216: + { + $61 = HEAP32[$0 >> 2] | 0; + HEAP32[$61 + 20 >> 2] = 104; + FUNCTION_TABLE_vii[HEAP32[$61 + 4 >> 2] & 255]($0, 1); + $66 = (HEAP32[$3 >> 2] | 0) + 12 | 0; + if (!(HEAP32[$66 >> 2] | 0)) $$pre$phi$iZ2D = $66; else { + $69 = HEAP32[$0 >> 2] | 0; + HEAP32[$69 + 20 >> 2] = 64; + FUNCTION_TABLE_vi[HEAP32[$69 >> 2] & 255]($0); + $$pre$phi$iZ2D = (HEAP32[$3 >> 2] | 0) + 12 | 0; + } + dest = $scevgep$i; + stop = dest + 16 | 0; + do { + HEAP8[dest >> 0] = 0; + dest = dest + 1 | 0; + } while ((dest | 0) < (stop | 0)); + dest = $scevgep2$i; + stop = dest + 16 | 0; + do { + HEAP8[dest >> 0] = 1; + dest = dest + 1 | 0; + } while ((dest | 0) < (stop | 0)); + dest = $scevgep3$i; + stop = dest + 16 | 0; + do { + HEAP8[dest >> 0] = 5; + dest = dest + 1 | 0; + } while ((dest | 0) < (stop | 0)); + HEAP32[$5 >> 2] = 0; + HEAP32[$6 >> 2] = 0; + HEAP32[$7 >> 2] = 0; + HEAP32[$8 >> 2] = 0; + HEAP32[$9 >> 2] = 0; + HEAP8[$10 >> 0] = 1; + HEAP8[$11 >> 0] = 1; + HEAP8[$12 >> 0] = 0; + HEAP16[$13 >> 1] = 1; + HEAP16[$14 >> 1] = 1; + HEAP32[$15 >> 2] = 0; + HEAP8[$16 >> 0] = 0; + HEAP32[$$pre$phi$iZ2D >> 2] = 1; + break; + } + case 192: + { + if (!(_get_sof($0, 1, 0, 0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + break; + } + case 193: + { + if (!(_get_sof($0, 0, 0, 0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + break; + } + case 194: + { + if (!(_get_sof($0, 0, 1, 0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + break; + } + case 201: + { + if (!(_get_sof($0, 0, 0, 1) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + break; + } + case 202: + { + if (!(_get_sof($0, 0, 1, 1) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + break; + } + case 207: + case 206: + case 205: + case 203: + case 200: + case 199: + case 198: + case 197: + case 195: + { + $82 = HEAP32[$0 >> 2] | 0; + HEAP32[$82 + 20 >> 2] = 63; + HEAP32[$82 + 24 >> 2] = $60; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + break; + } + case 204: + { + $282 = HEAP32[$4 >> 2] | 0; + $283 = $282 + 4 | 0; + $284 = HEAP32[$283 >> 2] | 0; + if (!$284) { + if (!(FUNCTION_TABLE_ii[HEAP32[$282 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$0$i46 = HEAP32[$283 >> 2] | 0; + } else $$0$i46 = $284; + $$087$i = HEAP32[$282 >> 2] | 0; + $291 = $$0$i46 + -1 | 0; + $292 = $$087$i + 1 | 0; + $295 = HEAPU8[$$087$i >> 0] << 8; + if (!$291) { + if (!(FUNCTION_TABLE_ii[HEAP32[$282 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$1$i47 = HEAP32[$283 >> 2] | 0; + $$188$i = HEAP32[$282 >> 2] | 0; + } else { + $$1$i47 = $291; + $$188$i = $292; + } + $305 = $295 | HEAPU8[$$188$i >> 0]; + $$09397$i = $305 + -2 | 0; + $$298$i = $$1$i47 + -1 | 0; + $$28999$i = $$188$i + 1 | 0; + if ($305 >>> 0 > 2) { + $307 = $282 + 12 | 0; + $$093100$i = $$09397$i; + $$2101$i = $$298$i; + $$289102$i = $$28999$i; + while (1) { + if (!$$2101$i) { + if (!(FUNCTION_TABLE_ii[HEAP32[$307 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$3$i49 = HEAP32[$283 >> 2] | 0; + $$390$i = HEAP32[$282 >> 2] | 0; + } else { + $$3$i49 = $$2101$i; + $$390$i = $$289102$i; + } + $314 = $$3$i49 + -1 | 0; + $315 = $$390$i + 1 | 0; + $316 = HEAP8[$$390$i >> 0] | 0; + $317 = $316 & 255; + if (!$314) { + if (!(FUNCTION_TABLE_ii[HEAP32[$307 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$4$i50 = HEAP32[$283 >> 2] | 0; + $$491$i = HEAP32[$282 >> 2] | 0; + } else { + $$4$i50 = $314; + $$491$i = $315; + } + $324 = HEAP8[$$491$i >> 0] | 0; + $325 = $324 & 255; + $326 = HEAP32[$0 >> 2] | 0; + HEAP32[$326 + 20 >> 2] = 81; + HEAP32[$326 + 24 >> 2] = $317; + HEAP32[(HEAP32[$0 >> 2] | 0) + 28 >> 2] = $325; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$0 >> 2] | 0) + 4 >> 2] & 255]($0, 1); + if (($316 & 255) <= 31) if (($316 & 255) <= 15) { + $343 = $325 & 15; + HEAP8[$0 + 232 + $317 >> 0] = $343; + $346 = ($324 & 255) >>> 4; + HEAP8[$0 + 248 + $317 >> 0] = $346; + if ($343 >>> 0 > ($346 & 255) >>> 0) { + $350 = HEAP32[$0 >> 2] | 0; + HEAP32[$350 + 20 >> 2] = 30; + HEAP32[$350 + 24 >> 2] = $325; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + } else label = 93; else { + $335 = HEAP32[$0 >> 2] | 0; + HEAP32[$335 + 20 >> 2] = 29; + HEAP32[$335 + 24 >> 2] = $317; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + label = 93; + } + if ((label | 0) == 93) { + label = 0; + HEAP8[$317 + -16 + ($0 + 264) >> 0] = $324; + } + $$093$i = $$093100$i + -2 | 0; + $$2$i52 = $$4$i50 + -1 | 0; + $$289$i = $$491$i + 1 | 0; + if (($$093100$i | 0) > 2) { + $$093100$i = $$093$i; + $$2101$i = $$2$i52; + $$289102$i = $$289$i; + } else { + $$093$lcssa$i = $$093$i; + $$2$lcssa$i = $$2$i52; + $$289$lcssa$i = $$289$i; + break; + } + } + } else { + $$093$lcssa$i = $$09397$i; + $$2$lcssa$i = $$298$i; + $$289$lcssa$i = $$28999$i; + } + if ($$093$lcssa$i | 0) { + $357 = HEAP32[$0 >> 2] | 0; + HEAP32[$357 + 20 >> 2] = 12; + FUNCTION_TABLE_vi[HEAP32[$357 >> 2] & 255]($0); + } + HEAP32[$282 >> 2] = $$289$lcssa$i; + HEAP32[$283 >> 2] = $$2$lcssa$i; + break; + } + case 196: + { + $360 = HEAP32[$4 >> 2] | 0; + $361 = $360 + 4 | 0; + $362 = HEAP32[$361 >> 2] | 0; + if (!$362) { + if (!(FUNCTION_TABLE_ii[HEAP32[$360 + 12 >> 2] & 127]($0) | 0)) { + label = 174; + break L1; + } + $$0135$i = HEAP32[$361 >> 2] | 0; + } else $$0135$i = $362; + $$0136$i = HEAP32[$360 >> 2] | 0; + $369 = $$0135$i + -1 | 0; + $370 = $$0136$i + 1 | 0; + $373 = HEAPU8[$$0136$i >> 0] << 8; + if (!$369) { + if (!(FUNCTION_TABLE_ii[HEAP32[$360 + 12 >> 2] & 127]($0) | 0)) { + label = 174; + break L1; + } + $$1$i55 = HEAP32[$361 >> 2] | 0; + $$1137$i = HEAP32[$360 >> 2] | 0; + } else { + $$1$i55 = $369; + $$1137$i = $370; + } + $381 = $$1$i55 + -1 | 0; + $382 = $$1137$i + 1 | 0; + $385 = $373 | HEAPU8[$$1137$i >> 0]; + $386 = $385 + -2 | 0; + if ($385 >>> 0 > 18) { + $388 = $360 + 12 | 0; + $$0134177$i = $386; + $$2138175$i = $382; + $$2176$i = $381; + while (1) { + if (!$$2176$i) { + if (!(FUNCTION_TABLE_ii[HEAP32[$388 >> 2] & 127]($0) | 0)) { + label = 174; + break L1; + } + $$3$i56 = HEAP32[$361 >> 2] | 0; + $$3139$i = HEAP32[$360 >> 2] | 0; + } else { + $$3$i56 = $$2176$i; + $$3139$i = $$2138175$i; + } + $396 = HEAPU8[$$3139$i >> 0] | 0; + $397 = HEAP32[$0 >> 2] | 0; + HEAP32[$397 + 20 >> 2] = 82; + HEAP32[$397 + 24 >> 2] = $396; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$0 >> 2] | 0) + 4 >> 2] & 255]($0, 1); + $$4165$i = $$3$i56 + -1 | 0; + $$4140166$i = $$3139$i + 1 | 0; + if (!$$4165$i) { + if (!(FUNCTION_TABLE_ii[HEAP32[$388 >> 2] & 127]($0) | 0)) { + label = 174; + break L1; + } + $$5$i57 = HEAP32[$361 >> 2] | 0; + $$5141$i = HEAP32[$360 >> 2] | 0; + } else { + $$5$i57 = $$4165$i; + $$5141$i = $$4140166$i; + } + $409 = HEAP8[$$5141$i >> 0] | 0; + $410 = $409 & 255; + $$4$i58 = $$5$i57 + -1 | 0; + $$4140$i = $$5141$i + 1 | 0; + if (!$$4$i58) { + if (!(FUNCTION_TABLE_ii[HEAP32[$388 >> 2] & 127]($0) | 0)) { + label = 174; + break L1; + } + $$5$1$i = HEAP32[$361 >> 2] | 0; + $$5141$1$i = HEAP32[$360 >> 2] | 0; + } else { + $$5$1$i = $$4$i58; + $$5141$1$i = $$4140$i; + } + $447 = HEAP8[$$5141$1$i >> 0] | 0; + $474 = $447 & 255; + $475 = $474 + $410 | 0; + $$4$1$i = $$5$1$i + -1 | 0; + $$4140$1$i = $$5141$1$i + 1 | 0; + if (!$$4$1$i) { + if (!(FUNCTION_TABLE_ii[HEAP32[$388 >> 2] & 127]($0) | 0)) { + label = 174; + break L1; + } + $$5$2$i = HEAP32[$361 >> 2] | 0; + $$5141$2$i = HEAP32[$360 >> 2] | 0; + } else { + $$5$2$i = $$4$1$i; + $$5141$2$i = $$4140$1$i; + } + $448 = HEAP8[$$5141$2$i >> 0] | 0; + $482 = $448 & 255; + $483 = $475 + $482 | 0; + $$4$2$i = $$5$2$i + -1 | 0; + $$4140$2$i = $$5141$2$i + 1 | 0; + if (!$$4$2$i) { + if (!(FUNCTION_TABLE_ii[HEAP32[$388 >> 2] & 127]($0) | 0)) { + label = 174; + break L1; + } + $$5$3$i = HEAP32[$361 >> 2] | 0; + $$5141$3$i = HEAP32[$360 >> 2] | 0; + } else { + $$5$3$i = $$4$2$i; + $$5141$3$i = $$4140$2$i; + } + $449 = HEAP8[$$5141$3$i >> 0] | 0; + $490 = $449 & 255; + $491 = $483 + $490 | 0; + $$4$3$i = $$5$3$i + -1 | 0; + $$4140$3$i = $$5141$3$i + 1 | 0; + if (!$$4$3$i) { + if (!(FUNCTION_TABLE_ii[HEAP32[$388 >> 2] & 127]($0) | 0)) { + label = 174; + break L1; + } + $$5$4$i = HEAP32[$361 >> 2] | 0; + $$5141$4$i = HEAP32[$360 >> 2] | 0; + } else { + $$5$4$i = $$4$3$i; + $$5141$4$i = $$4140$3$i; + } + $450 = HEAP8[$$5141$4$i >> 0] | 0; + $498 = $450 & 255; + $499 = $491 + $498 | 0; + $$4$4$i = $$5$4$i + -1 | 0; + $$4140$4$i = $$5141$4$i + 1 | 0; + if (!$$4$4$i) { + if (!(FUNCTION_TABLE_ii[HEAP32[$388 >> 2] & 127]($0) | 0)) { + label = 174; + break L1; + } + $$5$5$i = HEAP32[$361 >> 2] | 0; + $$5141$5$i = HEAP32[$360 >> 2] | 0; + } else { + $$5$5$i = $$4$4$i; + $$5141$5$i = $$4140$4$i; + } + $451 = HEAP8[$$5141$5$i >> 0] | 0; + $506 = $451 & 255; + $507 = $499 + $506 | 0; + $$4$5$i = $$5$5$i + -1 | 0; + $$4140$5$i = $$5141$5$i + 1 | 0; + if (!$$4$5$i) { + if (!(FUNCTION_TABLE_ii[HEAP32[$388 >> 2] & 127]($0) | 0)) { + label = 174; + break L1; + } + $$5$6$i = HEAP32[$361 >> 2] | 0; + $$5141$6$i = HEAP32[$360 >> 2] | 0; + } else { + $$5$6$i = $$4$5$i; + $$5141$6$i = $$4140$5$i; + } + $452 = HEAP8[$$5141$6$i >> 0] | 0; + $514 = $452 & 255; + $515 = $507 + $514 | 0; + $$4$6$i = $$5$6$i + -1 | 0; + $$4140$6$i = $$5141$6$i + 1 | 0; + if (!$$4$6$i) { + if (!(FUNCTION_TABLE_ii[HEAP32[$388 >> 2] & 127]($0) | 0)) { + label = 174; + break L1; + } + $$5$7$i = HEAP32[$361 >> 2] | 0; + $$5141$7$i = HEAP32[$360 >> 2] | 0; + } else { + $$5$7$i = $$4$6$i; + $$5141$7$i = $$4140$6$i; + } + $453 = HEAP8[$$5141$7$i >> 0] | 0; + $522 = $453 & 255; + $523 = $515 + $522 | 0; + $$4$7$i = $$5$7$i + -1 | 0; + $$4140$7$i = $$5141$7$i + 1 | 0; + if (!$$4$7$i) { + if (!(FUNCTION_TABLE_ii[HEAP32[$388 >> 2] & 127]($0) | 0)) { + label = 174; + break L1; + } + $$5$8$i = HEAP32[$361 >> 2] | 0; + $$5141$8$i = HEAP32[$360 >> 2] | 0; + } else { + $$5$8$i = $$4$7$i; + $$5141$8$i = $$4140$7$i; + } + $454 = HEAP8[$$5141$8$i >> 0] | 0; + $530 = $454 & 255; + $531 = $523 + $530 | 0; + $$4$8$i = $$5$8$i + -1 | 0; + $$4140$8$i = $$5141$8$i + 1 | 0; + if (!$$4$8$i) { + if (!(FUNCTION_TABLE_ii[HEAP32[$388 >> 2] & 127]($0) | 0)) { + label = 174; + break L1; + } + $$5$9$i = HEAP32[$361 >> 2] | 0; + $$5141$9$i = HEAP32[$360 >> 2] | 0; + } else { + $$5$9$i = $$4$8$i; + $$5141$9$i = $$4140$8$i; + } + $455 = HEAP8[$$5141$9$i >> 0] | 0; + $538 = $455 & 255; + $539 = $531 + $538 | 0; + $$4$9$i = $$5$9$i + -1 | 0; + $$4140$9$i = $$5141$9$i + 1 | 0; + if (!$$4$9$i) { + if (!(FUNCTION_TABLE_ii[HEAP32[$388 >> 2] & 127]($0) | 0)) { + label = 174; + break L1; + } + $$5$10$i = HEAP32[$361 >> 2] | 0; + $$5141$10$i = HEAP32[$360 >> 2] | 0; + } else { + $$5$10$i = $$4$9$i; + $$5141$10$i = $$4140$9$i; + } + $456 = HEAP8[$$5141$10$i >> 0] | 0; + $546 = $456 & 255; + $547 = $539 + $546 | 0; + $$4$10$i = $$5$10$i + -1 | 0; + $$4140$10$i = $$5141$10$i + 1 | 0; + if (!$$4$10$i) { + if (!(FUNCTION_TABLE_ii[HEAP32[$388 >> 2] & 127]($0) | 0)) { + label = 174; + break L1; + } + $$5$11$i = HEAP32[$361 >> 2] | 0; + $$5141$11$i = HEAP32[$360 >> 2] | 0; + } else { + $$5$11$i = $$4$10$i; + $$5141$11$i = $$4140$10$i; + } + $457 = HEAP8[$$5141$11$i >> 0] | 0; + $554 = $457 & 255; + $555 = $547 + $554 | 0; + $$4$11$i = $$5$11$i + -1 | 0; + $$4140$11$i = $$5141$11$i + 1 | 0; + if (!$$4$11$i) { + if (!(FUNCTION_TABLE_ii[HEAP32[$388 >> 2] & 127]($0) | 0)) { + label = 174; + break L1; + } + $$5$12$i = HEAP32[$361 >> 2] | 0; + $$5141$12$i = HEAP32[$360 >> 2] | 0; + } else { + $$5$12$i = $$4$11$i; + $$5141$12$i = $$4140$11$i; + } + $458 = HEAP8[$$5141$12$i >> 0] | 0; + $562 = $458 & 255; + $563 = $555 + $562 | 0; + $$4$12$i = $$5$12$i + -1 | 0; + $$4140$12$i = $$5141$12$i + 1 | 0; + if (!$$4$12$i) { + if (!(FUNCTION_TABLE_ii[HEAP32[$388 >> 2] & 127]($0) | 0)) { + label = 174; + break L1; + } + $$5$13$i = HEAP32[$361 >> 2] | 0; + $$5141$13$i = HEAP32[$360 >> 2] | 0; + } else { + $$5$13$i = $$4$12$i; + $$5141$13$i = $$4140$12$i; + } + $459 = HEAP8[$$5141$13$i >> 0] | 0; + $570 = $459 & 255; + $571 = $563 + $570 | 0; + $$4$13$i = $$5$13$i + -1 | 0; + $$4140$13$i = $$5141$13$i + 1 | 0; + if (!$$4$13$i) { + if (!(FUNCTION_TABLE_ii[HEAP32[$388 >> 2] & 127]($0) | 0)) { + label = 174; + break L1; + } + $$5$14$i = HEAP32[$361 >> 2] | 0; + $$5141$14$i = HEAP32[$360 >> 2] | 0; + } else { + $$5$14$i = $$4$13$i; + $$5141$14$i = $$4140$13$i; + } + $460 = HEAP8[$$5141$14$i >> 0] | 0; + $578 = $460 & 255; + $579 = $571 + $578 | 0; + $$4$14$i = $$5$14$i + -1 | 0; + $$4140$14$i = $$5141$14$i + 1 | 0; + if (!$$4$14$i) { + if (!(FUNCTION_TABLE_ii[HEAP32[$388 >> 2] & 127]($0) | 0)) { + label = 174; + break L1; + } + $$5$15$i = HEAP32[$361 >> 2] | 0; + $$5141$15$i = HEAP32[$360 >> 2] | 0; + } else { + $$5$15$i = $$4$14$i; + $$5141$15$i = $$4140$14$i; + } + $461 = HEAP8[$$5141$15$i >> 0] | 0; + $586 = $461 & 255; + $416 = $579 + $586 | 0; + $$4$15$i = $$5$15$i + -1 | 0; + $$4140$15$i = $$5141$15$i + 1 | 0; + $431 = $$0134177$i + -17 | 0; + $587 = HEAP32[$0 >> 2] | 0; + HEAP32[$587 + 24 >> 2] = $410; + HEAP32[$587 + 28 >> 2] = $474; + HEAP32[$587 + 32 >> 2] = $482; + HEAP32[$587 + 36 >> 2] = $490; + HEAP32[$587 + 40 >> 2] = $498; + HEAP32[$587 + 44 >> 2] = $506; + HEAP32[$587 + 48 >> 2] = $514; + HEAP32[$587 + 52 >> 2] = $522; + HEAP32[$587 + 20 >> 2] = 88; + FUNCTION_TABLE_vii[HEAP32[$587 + 4 >> 2] & 255]($0, 2); + $599 = HEAP32[$0 >> 2] | 0; + HEAP32[$599 + 24 >> 2] = $530; + HEAP32[$599 + 28 >> 2] = $538; + HEAP32[$599 + 32 >> 2] = $546; + HEAP32[$599 + 36 >> 2] = $554; + HEAP32[$599 + 40 >> 2] = $562; + HEAP32[$599 + 44 >> 2] = $570; + HEAP32[$599 + 48 >> 2] = $578; + HEAP32[$599 + 52 >> 2] = $586; + HEAP32[$599 + 20 >> 2] = 88; + FUNCTION_TABLE_vii[HEAP32[$599 + 4 >> 2] & 255]($0, 2); + if ($416 >>> 0 > 256 | ($431 | 0) < ($416 | 0)) { + $412 = HEAP32[$0 >> 2] | 0; + HEAP32[$412 + 20 >> 2] = 9; + FUNCTION_TABLE_vi[HEAP32[$412 >> 2] & 255]($0); + } + _memset($1 | 0, 0, 256) | 0; + if (!$416) { + $$6$lcssa$i = $$4$15$i; + $$6142$lcssa$i = $$4140$15$i; + $430 = 0; + } else { + $$1145171$i = 0; + $$6142172$i = $$4140$15$i; + $$6173$i = $$4$15$i; + while (1) { + if (!$$6173$i) { + if (!(FUNCTION_TABLE_ii[HEAP32[$388 >> 2] & 127]($0) | 0)) { + label = 174; + break L1; + } + $$7$i60 = HEAP32[$361 >> 2] | 0; + $$7143$i = HEAP32[$360 >> 2] | 0; + } else { + $$7$i60 = $$6173$i; + $$7143$i = $$6142172$i; + } + $423 = $$7$i60 + -1 | 0; + $424 = $$7143$i + 1 | 0; + HEAP8[$1 + $$1145171$i >> 0] = HEAP8[$$7143$i >> 0] | 0; + $$1145171$i = $$1145171$i + 1 | 0; + if ($$1145171$i >>> 0 >= $416 >>> 0) { + $$6$lcssa$i = $423; + $$6142$lcssa$i = $424; + $430 = $416; + break; + } else { + $$6142172$i = $424; + $$6173$i = $423; + } + } + } + $429 = $431 - $430 | 0; + $433 = ($396 & 16 | 0) == 0; + $434 = $396 + -16 | 0; + $$0148$i = $433 ? $396 : $434; + $$0146$i = $433 ? $0 + 180 + ($396 << 2) | 0 : $0 + 196 + ($434 << 2) | 0; + if ($$0148$i >>> 0 > 3) { + $438 = HEAP32[$0 >> 2] | 0; + HEAP32[$438 + 20 >> 2] = 31; + HEAP32[$438 + 24 >> 2] = $$0148$i; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + $443 = HEAP32[$$0146$i >> 2] | 0; + if (!$443) { + $445 = _jpeg_alloc_huff_table($0) | 0; + HEAP32[$$0146$i >> 2] = $445; + $446 = $445; + } else $446 = $443; + HEAP8[$446 >> 0] = 0; + HEAP8[$446 + 1 >> 0] = $409; + HEAP8[$446 + 2 >> 0] = $447; + HEAP8[$446 + 3 >> 0] = $448; + HEAP8[$446 + 4 >> 0] = $449; + HEAP8[$446 + 5 >> 0] = $450; + HEAP8[$446 + 6 >> 0] = $451; + HEAP8[$446 + 7 >> 0] = $452; + HEAP8[$446 + 8 >> 0] = $453; + HEAP8[$446 + 9 >> 0] = $454; + HEAP8[$446 + 10 >> 0] = $455; + HEAP8[$446 + 11 >> 0] = $456; + HEAP8[$446 + 12 >> 0] = $457; + HEAP8[$446 + 13 >> 0] = $458; + HEAP8[$446 + 14 >> 0] = $459; + HEAP8[$446 + 15 >> 0] = $460; + HEAP8[$446 + 16 >> 0] = $461; + _memcpy((HEAP32[$$0146$i >> 2] | 0) + 17 | 0, $1 | 0, 256) | 0; + if (($429 | 0) > 16) { + $$0134177$i = $429; + $$2138175$i = $$6142$lcssa$i; + $$2176$i = $$6$lcssa$i; + } else { + $$0134$lcssa$i = $429; + $$2$lcssa$i62 = $$6$lcssa$i; + $$2138$lcssa$i = $$6142$lcssa$i; + break; + } + } + } else { + $$0134$lcssa$i = $386; + $$2$lcssa$i62 = $381; + $$2138$lcssa$i = $382; + } + if ($$0134$lcssa$i | 0) { + $466 = HEAP32[$0 >> 2] | 0; + HEAP32[$466 + 20 >> 2] = 12; + FUNCTION_TABLE_vi[HEAP32[$466 >> 2] & 255]($0); + } + HEAP32[$360 >> 2] = $$2138$lcssa$i; + HEAP32[$361 >> 2] = $$2$lcssa$i62; + break; + } + case 219: + { + $613 = HEAP32[$4 >> 2] | 0; + $614 = $613 + 4 | 0; + $615 = HEAP32[$614 >> 2] | 0; + if (!$615) { + if (!(FUNCTION_TABLE_ii[HEAP32[$613 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$0158$i = HEAP32[$614 >> 2] | 0; + } else $$0158$i = $615; + $$0159$i = HEAP32[$613 >> 2] | 0; + $622 = $$0158$i + -1 | 0; + $623 = $$0159$i + 1 | 0; + $626 = HEAPU8[$$0159$i >> 0] << 8; + if (!$622) { + if (!(FUNCTION_TABLE_ii[HEAP32[$613 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$1$i66 = HEAP32[$614 >> 2] | 0; + $$1160$i = HEAP32[$613 >> 2] | 0; + } else { + $$1$i66 = $622; + $$1160$i = $623; + } + $634 = $$1$i66 + -1 | 0; + $635 = $$1160$i + 1 | 0; + $638 = $626 | HEAPU8[$$1160$i >> 0]; + $639 = $638 + -2 | 0; + if ($638 >>> 0 > 2) { + $641 = $613 + 12 | 0; + $$0168199$i = $639; + $$2161200$i = $635; + $$2201$i = $634; + while (1) { + $642 = $$0168199$i + -1 | 0; + if (!$$2201$i) { + if (!(FUNCTION_TABLE_ii[HEAP32[$641 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$3$i67 = HEAP32[$614 >> 2] | 0; + $$3162$i = HEAP32[$613 >> 2] | 0; + } else { + $$3$i67 = $$2201$i; + $$3162$i = $$2161200$i; + } + $650 = HEAPU8[$$3162$i >> 0] | 0; + $651 = $650 >>> 4; + $652 = $650 & 15; + $653 = HEAP32[$0 >> 2] | 0; + HEAP32[$653 + 20 >> 2] = 83; + HEAP32[$653 + 24 >> 2] = $652; + HEAP32[(HEAP32[$0 >> 2] | 0) + 28 >> 2] = $651; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$0 >> 2] | 0) + 4 >> 2] & 255]($0, 1); + if ($652 >>> 0 > 3) { + $662 = HEAP32[$0 >> 2] | 0; + HEAP32[$662 + 20 >> 2] = 32; + HEAP32[$662 + 24 >> 2] = $652; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + $667 = $0 + 164 + ($652 << 2) | 0; + $668 = HEAP32[$667 >> 2] | 0; + if (!$668) { + $670 = _jpeg_alloc_quant_table($0) | 0; + HEAP32[$667 >> 2] = $670; + $673 = $670; + } else $673 = $668; + $671 = ($651 | 0) != 0; + if ($671) if (($$0168199$i | 0) < 129) { + HEAP16[$673 >> 1] = 1; + HEAP16[$673 + 2 >> 1] = 1; + HEAP16[$673 + 4 >> 1] = 1; + HEAP16[$673 + 6 >> 1] = 1; + HEAP16[$673 + 8 >> 1] = 1; + HEAP16[$673 + 10 >> 1] = 1; + HEAP16[$673 + 12 >> 1] = 1; + HEAP16[$673 + 14 >> 1] = 1; + HEAP16[$673 + 16 >> 1] = 1; + HEAP16[$673 + 18 >> 1] = 1; + HEAP16[$673 + 20 >> 1] = 1; + HEAP16[$673 + 22 >> 1] = 1; + HEAP16[$673 + 24 >> 1] = 1; + HEAP16[$673 + 26 >> 1] = 1; + HEAP16[$673 + 28 >> 1] = 1; + HEAP16[$673 + 30 >> 1] = 1; + HEAP16[$673 + 32 >> 1] = 1; + HEAP16[$673 + 34 >> 1] = 1; + HEAP16[$673 + 36 >> 1] = 1; + HEAP16[$673 + 38 >> 1] = 1; + HEAP16[$673 + 40 >> 1] = 1; + HEAP16[$673 + 42 >> 1] = 1; + HEAP16[$673 + 44 >> 1] = 1; + HEAP16[$673 + 46 >> 1] = 1; + HEAP16[$673 + 48 >> 1] = 1; + HEAP16[$673 + 50 >> 1] = 1; + HEAP16[$673 + 52 >> 1] = 1; + HEAP16[$673 + 54 >> 1] = 1; + HEAP16[$673 + 56 >> 1] = 1; + HEAP16[$673 + 58 >> 1] = 1; + HEAP16[$673 + 60 >> 1] = 1; + HEAP16[$673 + 62 >> 1] = 1; + HEAP16[$673 + 64 >> 1] = 1; + HEAP16[$673 + 66 >> 1] = 1; + HEAP16[$673 + 68 >> 1] = 1; + HEAP16[$673 + 70 >> 1] = 1; + HEAP16[$673 + 72 >> 1] = 1; + HEAP16[$673 + 74 >> 1] = 1; + HEAP16[$673 + 76 >> 1] = 1; + HEAP16[$673 + 78 >> 1] = 1; + HEAP16[$673 + 80 >> 1] = 1; + HEAP16[$673 + 82 >> 1] = 1; + HEAP16[$673 + 84 >> 1] = 1; + HEAP16[$673 + 86 >> 1] = 1; + HEAP16[$673 + 88 >> 1] = 1; + HEAP16[$673 + 90 >> 1] = 1; + HEAP16[$673 + 92 >> 1] = 1; + HEAP16[$673 + 94 >> 1] = 1; + HEAP16[$673 + 96 >> 1] = 1; + HEAP16[$673 + 98 >> 1] = 1; + HEAP16[$673 + 100 >> 1] = 1; + HEAP16[$673 + 102 >> 1] = 1; + HEAP16[$673 + 104 >> 1] = 1; + HEAP16[$673 + 106 >> 1] = 1; + HEAP16[$673 + 108 >> 1] = 1; + HEAP16[$673 + 110 >> 1] = 1; + HEAP16[$673 + 112 >> 1] = 1; + HEAP16[$673 + 114 >> 1] = 1; + HEAP16[$673 + 116 >> 1] = 1; + HEAP16[$673 + 118 >> 1] = 1; + HEAP16[$673 + 120 >> 1] = 1; + HEAP16[$673 + 122 >> 1] = 1; + HEAP16[$673 + 124 >> 1] = 1; + HEAP16[$673 + 126 >> 1] = 1; + $$0171$i = $642 >> 1; + label = 196; + } else label = 203; else if (($$0168199$i | 0) < 65) { + HEAP16[$673 >> 1] = 1; + HEAP16[$673 + 2 >> 1] = 1; + HEAP16[$673 + 4 >> 1] = 1; + HEAP16[$673 + 6 >> 1] = 1; + HEAP16[$673 + 8 >> 1] = 1; + HEAP16[$673 + 10 >> 1] = 1; + HEAP16[$673 + 12 >> 1] = 1; + HEAP16[$673 + 14 >> 1] = 1; + HEAP16[$673 + 16 >> 1] = 1; + HEAP16[$673 + 18 >> 1] = 1; + HEAP16[$673 + 20 >> 1] = 1; + HEAP16[$673 + 22 >> 1] = 1; + HEAP16[$673 + 24 >> 1] = 1; + HEAP16[$673 + 26 >> 1] = 1; + HEAP16[$673 + 28 >> 1] = 1; + HEAP16[$673 + 30 >> 1] = 1; + HEAP16[$673 + 32 >> 1] = 1; + HEAP16[$673 + 34 >> 1] = 1; + HEAP16[$673 + 36 >> 1] = 1; + HEAP16[$673 + 38 >> 1] = 1; + HEAP16[$673 + 40 >> 1] = 1; + HEAP16[$673 + 42 >> 1] = 1; + HEAP16[$673 + 44 >> 1] = 1; + HEAP16[$673 + 46 >> 1] = 1; + HEAP16[$673 + 48 >> 1] = 1; + HEAP16[$673 + 50 >> 1] = 1; + HEAP16[$673 + 52 >> 1] = 1; + HEAP16[$673 + 54 >> 1] = 1; + HEAP16[$673 + 56 >> 1] = 1; + HEAP16[$673 + 58 >> 1] = 1; + HEAP16[$673 + 60 >> 1] = 1; + HEAP16[$673 + 62 >> 1] = 1; + HEAP16[$673 + 64 >> 1] = 1; + HEAP16[$673 + 66 >> 1] = 1; + HEAP16[$673 + 68 >> 1] = 1; + HEAP16[$673 + 70 >> 1] = 1; + HEAP16[$673 + 72 >> 1] = 1; + HEAP16[$673 + 74 >> 1] = 1; + HEAP16[$673 + 76 >> 1] = 1; + HEAP16[$673 + 78 >> 1] = 1; + HEAP16[$673 + 80 >> 1] = 1; + HEAP16[$673 + 82 >> 1] = 1; + HEAP16[$673 + 84 >> 1] = 1; + HEAP16[$673 + 86 >> 1] = 1; + HEAP16[$673 + 88 >> 1] = 1; + HEAP16[$673 + 90 >> 1] = 1; + HEAP16[$673 + 92 >> 1] = 1; + HEAP16[$673 + 94 >> 1] = 1; + HEAP16[$673 + 96 >> 1] = 1; + HEAP16[$673 + 98 >> 1] = 1; + HEAP16[$673 + 100 >> 1] = 1; + HEAP16[$673 + 102 >> 1] = 1; + HEAP16[$673 + 104 >> 1] = 1; + HEAP16[$673 + 106 >> 1] = 1; + HEAP16[$673 + 108 >> 1] = 1; + HEAP16[$673 + 110 >> 1] = 1; + HEAP16[$673 + 112 >> 1] = 1; + HEAP16[$673 + 114 >> 1] = 1; + HEAP16[$673 + 116 >> 1] = 1; + HEAP16[$673 + 118 >> 1] = 1; + HEAP16[$673 + 120 >> 1] = 1; + HEAP16[$673 + 122 >> 1] = 1; + HEAP16[$673 + 124 >> 1] = 1; + HEAP16[$673 + 126 >> 1] = 1; + $$0171$i = $642; + label = 196; + } else label = 203; + L197 : do if ((label | 0) == 196) { + label = 0; + switch ($$0171$i | 0) { + case 4: + { + $$0170$ph$i = 3792; + break; + } + case 9: + { + $$0170$ph$i = 3680; + break; + } + case 16: + { + $$0170$ph$i = 3552; + break; + } + case 25: + { + $$0170$ph$i = 3376; + break; + } + case 36: + { + $$0170$ph$i = 3168; + break; + } + case 49: + { + $$0170$ph$i = 2896; + break; + } + default: + { + $$4192$i = $$3$i67 + -1 | 0; + $$4163193$i = $$3162$i + 1 | 0; + if (($$0171$i | 0) > 0) { + $$0170220$i = 2576; + $$0171177218$i = $$0171$i; + $$4163193222$i = $$4163193$i; + $$4192221$i = $$4192$i; + label = 205; + break L197; + } else { + $$0171177219$i = $$0171$i; + $$4$lcssa$i = $$4192$i; + $$4163$lcssa$i = $$4163193$i; + break L197; + } + } + } + $$0170220$i = $$0170$ph$i; + $$0171177218$i = $$0171$i; + $$4163193222$i = $$3162$i + 1 | 0; + $$4192221$i = $$3$i67 + -1 | 0; + label = 205; + } else if ((label | 0) == 203) { + label = 0; + $$0170220$i = 2576; + $$0171177218$i = 64; + $$4163193222$i = $$3162$i + 1 | 0; + $$4192221$i = $$3$i67 + -1 | 0; + label = 205; + } while (0); + L208 : do if ((label | 0) == 205) { + label = 0; + if (!$671) { + $$2175194$i = 0; + $$4163196$i = $$4163193222$i; + $$4195$i = $$4192221$i; + while (1) { + if (!$$4195$i) { + if (!(FUNCTION_TABLE_ii[HEAP32[$641 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$7$i70 = HEAP32[$614 >> 2] | 0; + $$7166$i = HEAP32[$613 >> 2] | 0; + } else { + $$7$i70 = $$4195$i; + $$7166$i = $$4163196$i; + } + HEAP16[$673 + (HEAP32[$$0170220$i + ($$2175194$i << 2) >> 2] << 1) >> 1] = HEAPU8[$$7166$i >> 0] | 0; + $$2175194$i = $$2175194$i + 1 | 0; + $$4$i71 = $$7$i70 + -1 | 0; + $$4163$i = $$7166$i + 1 | 0; + if (($$2175194$i | 0) >= ($$0171177218$i | 0)) { + $$0171177219$i = $$0171177218$i; + $$4$lcssa$i = $$4$i71; + $$4163$lcssa$i = $$4163$i; + break L208; + } else { + $$4163196$i = $$4163$i; + $$4195$i = $$4$i71; + } + } + } + $$2175194$us$i = 0; + $$4163196$us$i = $$4163193222$i; + $$4195$us$i = $$4192221$i; + while (1) { + if (!$$4195$us$i) { + if (!(FUNCTION_TABLE_ii[HEAP32[$641 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$5$us$i = HEAP32[$614 >> 2] | 0; + $$5164$us$i = HEAP32[$613 >> 2] | 0; + } else { + $$5$us$i = $$4195$us$i; + $$5164$us$i = $$4163196$us$i; + } + $809 = $$5$us$i + -1 | 0; + $810 = $$5164$us$i + 1 | 0; + $813 = HEAPU8[$$5164$us$i >> 0] << 8; + if (!$809) { + if (!(FUNCTION_TABLE_ii[HEAP32[$641 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$6$us$i = HEAP32[$614 >> 2] | 0; + $$6165$us$i = HEAP32[$613 >> 2] | 0; + } else { + $$6$us$i = $809; + $$6165$us$i = $810; + } + HEAP16[$673 + (HEAP32[$$0170220$i + ($$2175194$us$i << 2) >> 2] << 1) >> 1] = $813 | HEAPU8[$$6165$us$i >> 0]; + $$2175194$us$i = $$2175194$us$i + 1 | 0; + $$4$us$i = $$6$us$i + -1 | 0; + $$4163$us$i = $$6165$us$i + 1 | 0; + if (($$2175194$us$i | 0) >= ($$0171177218$i | 0)) { + $$0171177219$i = $$0171177218$i; + $$4$lcssa$i = $$4$us$i; + $$4163$lcssa$i = $$4163$us$i; + break; + } else { + $$4163196$us$i = $$4163$us$i; + $$4195$us$i = $$4$us$i; + } + } + } while (0); + $842 = HEAP32[$0 >> 2] | 0; + L230 : do if ((HEAP32[$842 + 104 >> 2] | 0) > 1) { + $$3176198$i = 0; + $847 = $842; + while (1) { + HEAP32[$847 + 24 >> 2] = HEAPU16[$673 + ($$3176198$i << 1) >> 1]; + HEAP32[$847 + 28 >> 2] = HEAPU16[$673 + (($$3176198$i | 1) << 1) >> 1]; + HEAP32[$847 + 32 >> 2] = HEAPU16[$673 + (($$3176198$i | 2) << 1) >> 1]; + HEAP32[$847 + 36 >> 2] = HEAPU16[$673 + (($$3176198$i | 3) << 1) >> 1]; + HEAP32[$847 + 40 >> 2] = HEAPU16[$673 + (($$3176198$i | 4) << 1) >> 1]; + HEAP32[$847 + 44 >> 2] = HEAPU16[$673 + (($$3176198$i | 5) << 1) >> 1]; + HEAP32[$847 + 48 >> 2] = HEAPU16[$673 + (($$3176198$i | 6) << 1) >> 1]; + HEAP32[$847 + 52 >> 2] = HEAPU16[$673 + (($$3176198$i | 7) << 1) >> 1]; + HEAP32[$847 + 20 >> 2] = 95; + FUNCTION_TABLE_vii[HEAP32[$847 + 4 >> 2] & 255]($0, 2); + $889 = $$3176198$i + 8 | 0; + if ($889 >>> 0 >= 64) break L230; + $$3176198$i = $889; + $847 = HEAP32[$0 >> 2] | 0; + } + } while (0); + $spec$select$i74 = $642 - $$0171177219$i + ($671 ? 0 - $$0171177219$i | 0 : 0) | 0; + if (($spec$select$i74 | 0) > 0) { + $$0168199$i = $spec$select$i74; + $$2161200$i = $$4163$lcssa$i; + $$2201$i = $$4$lcssa$i; + } else { + $$0168$lcssa$i = $spec$select$i74; + $$2$lcssa$i76 = $$4$lcssa$i; + $$2161$lcssa$i = $$4163$lcssa$i; + break; + } + } + } else { + $$0168$lcssa$i = $639; + $$2$lcssa$i76 = $634; + $$2161$lcssa$i = $635; + } + if ($$0168$lcssa$i | 0) { + $894 = HEAP32[$0 >> 2] | 0; + HEAP32[$894 + 20 >> 2] = 12; + FUNCTION_TABLE_vi[HEAP32[$894 >> 2] & 255]($0); + } + HEAP32[$613 >> 2] = $$2161$lcssa$i; + HEAP32[$614 >> 2] = $$2$lcssa$i76; + break; + } + case 221: + { + $897 = HEAP32[$4 >> 2] | 0; + $898 = $897 + 4 | 0; + $899 = HEAP32[$898 >> 2] | 0; + if (!$899) { + if (!(FUNCTION_TABLE_ii[HEAP32[$897 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$0$i78 = HEAP32[$898 >> 2] | 0; + } else $$0$i78 = $899; + $$057$i = HEAP32[$897 >> 2] | 0; + $906 = $$0$i78 + -1 | 0; + $907 = $$057$i + 1 | 0; + $910 = HEAPU8[$$057$i >> 0] << 8; + if (!$906) { + if (!(FUNCTION_TABLE_ii[HEAP32[$897 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$1$i79 = HEAP32[$898 >> 2] | 0; + $$158$i = HEAP32[$897 >> 2] | 0; + } else { + $$1$i79 = $906; + $$158$i = $907; + } + $918 = $$1$i79 + -1 | 0; + $919 = $$158$i + 1 | 0; + if (($910 | HEAPU8[$$158$i >> 0] | 0) != 4) { + $924 = HEAP32[$0 >> 2] | 0; + HEAP32[$924 + 20 >> 2] = 12; + FUNCTION_TABLE_vi[HEAP32[$924 >> 2] & 255]($0); + } + if (!$918) { + if (!(FUNCTION_TABLE_ii[HEAP32[$897 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$2$i80 = HEAP32[$898 >> 2] | 0; + $$259$i = HEAP32[$897 >> 2] | 0; + } else { + $$2$i80 = $918; + $$259$i = $919; + } + $934 = $$2$i80 + -1 | 0; + $935 = $$259$i + 1 | 0; + $938 = HEAPU8[$$259$i >> 0] << 8; + if (!$934) { + if (!(FUNCTION_TABLE_ii[HEAP32[$897 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$3$i81 = HEAP32[$898 >> 2] | 0; + $$360$i = HEAP32[$897 >> 2] | 0; + } else { + $$3$i81 = $934; + $$360$i = $935; + } + $950 = $938 | HEAPU8[$$360$i >> 0]; + $951 = HEAP32[$0 >> 2] | 0; + HEAP32[$951 + 20 >> 2] = 84; + HEAP32[$951 + 24 >> 2] = $950; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$0 >> 2] | 0) + 4 >> 2] & 255]($0, 1); + HEAP32[$5 >> 2] = $950; + HEAP32[$897 >> 2] = $$360$i + 1; + HEAP32[$898 >> 2] = $$3$i81 + -1; + break; + } + case 248: + { + $957 = HEAP32[$4 >> 2] | 0; + $958 = HEAP32[$957 >> 2] | 0; + $959 = $957 + 4 | 0; + $960 = HEAP32[$959 >> 2] | 0; + if (!(HEAP32[(HEAP32[$3 >> 2] | 0) + 16 >> 2] | 0)) { + $965 = HEAP32[$0 >> 2] | 0; + HEAP32[$965 + 20 >> 2] = 60; + _strncpy($965 + 24 | 0, 50709, 80) | 0; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + do if ((HEAP32[$17 >> 2] | 0) >= 3) { + if (!$960) { + if (!(FUNCTION_TABLE_ii[HEAP32[$957 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$0$i82 = HEAP32[$959 >> 2] | 0; + $$0231$i = HEAP32[$957 >> 2] | 0; + } else { + $$0$i82 = $960; + $$0231$i = $958; + } + $979 = $$0$i82 + -1 | 0; + $980 = $$0231$i + 1 | 0; + $983 = HEAPU8[$$0231$i >> 0] << 8; + if (!$979) { + if (!(FUNCTION_TABLE_ii[HEAP32[$957 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$1$i83 = HEAP32[$959 >> 2] | 0; + $$1232$i = HEAP32[$957 >> 2] | 0; + } else { + $$1$i83 = $979; + $$1232$i = $980; + } + $991 = $$1$i83 + -1 | 0; + $992 = $$1232$i + 1 | 0; + if (($983 | HEAPU8[$$1232$i >> 0] | 0) != 24) { + $997 = HEAP32[$0 >> 2] | 0; + HEAP32[$997 + 20 >> 2] = 12; + FUNCTION_TABLE_vi[HEAP32[$997 >> 2] & 255]($0); + } + if (!$991) { + if (!(FUNCTION_TABLE_ii[HEAP32[$957 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$2$i84 = HEAP32[$959 >> 2] | 0; + $$2233$i = HEAP32[$957 >> 2] | 0; + } else { + $$2$i84 = $991; + $$2233$i = $992; + } + $1007 = $$2$i84 + -1 | 0; + $1008 = $$2233$i + 1 | 0; + if ((HEAP8[$$2233$i >> 0] | 0) != 13) { + $1011 = HEAP32[$0 >> 2] | 0; + HEAP32[$1011 + 20 >> 2] = 70; + HEAP32[$1011 + 24 >> 2] = HEAP32[$2 >> 2]; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + if (!$1007) { + if (!(FUNCTION_TABLE_ii[HEAP32[$957 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$3$i85 = HEAP32[$959 >> 2] | 0; + $$3234$i = HEAP32[$957 >> 2] | 0; + } else { + $$3$i85 = $1007; + $$3234$i = $1008; + } + $1024 = $$3$i85 + -1 | 0; + $1025 = $$3234$i + 1 | 0; + $1028 = HEAPU8[$$3234$i >> 0] << 8; + if (!$1024) { + if (!(FUNCTION_TABLE_ii[HEAP32[$957 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$4$i86 = HEAP32[$959 >> 2] | 0; + $$4235$i = HEAP32[$957 >> 2] | 0; + } else { + $$4$i86 = $1024; + $$4235$i = $1025; + } + $1036 = $$4$i86 + -1 | 0; + $1037 = $$4235$i + 1 | 0; + if (($1028 | HEAPU8[$$4235$i >> 0] | 0) == 255) { + if (!$1036) { + if (!(FUNCTION_TABLE_ii[HEAP32[$957 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$5$i87 = HEAP32[$959 >> 2] | 0; + $$5236$i = HEAP32[$957 >> 2] | 0; + } else { + $$5$i87 = $1036; + $$5236$i = $1037; + } + $1049 = $$5$i87 + -1 | 0; + $1050 = $$5236$i + 1 | 0; + if ((HEAP8[$$5236$i >> 0] | 0) == 3) { + if (!$1049) { + if (!(FUNCTION_TABLE_ii[HEAP32[$957 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$6$i88 = HEAP32[$959 >> 2] | 0; + $$6237$i = HEAP32[$957 >> 2] | 0; + } else { + $$6$i88 = $1049; + $$6237$i = $1050; + } + $1060 = $$6$i88 + -1 | 0; + $1061 = $$6237$i + 1 | 0; + $1064 = HEAP32[$18 >> 2] | 0; + if ((HEAP32[$1064 + 88 >> 2] | 0) == (HEAPU8[$$6237$i >> 0] | 0)) { + if (!$1060) { + if (!(FUNCTION_TABLE_ii[HEAP32[$957 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$7$i90 = HEAP32[$959 >> 2] | 0; + $$7238$i = HEAP32[$957 >> 2] | 0; + $1080 = HEAP32[$18 >> 2] | 0; + } else { + $$7$i90 = $1060; + $$7238$i = $1061; + $1080 = $1064; + } + $1075 = $$7$i90 + -1 | 0; + $1076 = $$7238$i + 1 | 0; + if ((HEAP32[$1080 >> 2] | 0) == (HEAPU8[$$7238$i >> 0] | 0)) { + if (!$1075) { + if (!(FUNCTION_TABLE_ii[HEAP32[$957 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$8$i91 = HEAP32[$959 >> 2] | 0; + $$8239$i = HEAP32[$957 >> 2] | 0; + $1094 = HEAP32[$18 >> 2] | 0; + } else { + $$8$i91 = $1075; + $$8239$i = $1076; + $1094 = $1080; + } + $1089 = $$8$i91 + -1 | 0; + $1090 = $$8239$i + 1 | 0; + if ((HEAP32[$1094 + 176 >> 2] | 0) != (HEAPU8[$$8239$i >> 0] | 0)) { + $$24$i = $1089; + $$24255$i = $1090; + label = 335; + break; + } + if (!$1089) { + if (!(FUNCTION_TABLE_ii[HEAP32[$957 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$9$i = HEAP32[$959 >> 2] | 0; + $$9240$i = HEAP32[$957 >> 2] | 0; + } else { + $$9$i = $1089; + $$9240$i = $1090; + } + $1104 = $$9$i + -1 | 0; + $1105 = $$9240$i + 1 | 0; + if ((HEAP8[$$9240$i >> 0] | 0) != -128) { + $$24$i = $1104; + $$24255$i = $1105; + label = 335; + break; + } + if (!$1104) { + if (!(FUNCTION_TABLE_ii[HEAP32[$957 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$10$i = HEAP32[$959 >> 2] | 0; + $$10241$i = HEAP32[$957 >> 2] | 0; + } else { + $$10$i = $1104; + $$10241$i = $1105; + } + $1115 = $$10$i + -1 | 0; + $1116 = $$10241$i + 1 | 0; + $1119 = HEAPU8[$$10241$i >> 0] << 8; + if (!$1115) { + if (!(FUNCTION_TABLE_ii[HEAP32[$957 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$11$i = HEAP32[$959 >> 2] | 0; + $$11242$i = HEAP32[$957 >> 2] | 0; + } else { + $$11$i = $1115; + $$11242$i = $1116; + } + $1127 = $$11$i + -1 | 0; + $1128 = $$11242$i + 1 | 0; + if ($1119 | HEAPU8[$$11242$i >> 0] | 0) { + $$24$i = $1127; + $$24255$i = $1128; + label = 335; + break; + } + if (!$1127) { + if (!(FUNCTION_TABLE_ii[HEAP32[$957 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$12$i = HEAP32[$959 >> 2] | 0; + $$12243$i = HEAP32[$957 >> 2] | 0; + } else { + $$12$i = $1127; + $$12243$i = $1128; + } + $1140 = $$12$i + -1 | 0; + $1141 = $$12243$i + 1 | 0; + $1144 = HEAPU8[$$12243$i >> 0] << 8; + if (!$1140) { + if (!(FUNCTION_TABLE_ii[HEAP32[$957 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$13$i = HEAP32[$959 >> 2] | 0; + $$13244$i = HEAP32[$957 >> 2] | 0; + } else { + $$13$i = $1140; + $$13244$i = $1141; + } + $1152 = $$13$i + -1 | 0; + $1153 = $$13244$i + 1 | 0; + if ($1144 | HEAPU8[$$13244$i >> 0] | 0) { + $$24$i = $1152; + $$24255$i = $1153; + label = 335; + break; + } + if (!$1152) { + if (!(FUNCTION_TABLE_ii[HEAP32[$957 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$14$i = HEAP32[$959 >> 2] | 0; + $$14245$i = HEAP32[$957 >> 2] | 0; + } else { + $$14$i = $1152; + $$14245$i = $1153; + } + $1165 = $$14$i + -1 | 0; + $1166 = $$14245$i + 1 | 0; + if (HEAP8[$$14245$i >> 0] | 0) { + $$24$i = $1165; + $$24255$i = $1166; + label = 335; + break; + } + if (!$1165) { + if (!(FUNCTION_TABLE_ii[HEAP32[$957 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$15$i = HEAP32[$959 >> 2] | 0; + $$15246$i = HEAP32[$957 >> 2] | 0; + } else { + $$15$i = $1165; + $$15246$i = $1166; + } + $1176 = $$15$i + -1 | 0; + $1177 = $$15246$i + 1 | 0; + $1180 = HEAPU8[$$15246$i >> 0] << 8; + if (!$1176) { + if (!(FUNCTION_TABLE_ii[HEAP32[$957 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$16$i = HEAP32[$959 >> 2] | 0; + $$16247$i = HEAP32[$957 >> 2] | 0; + } else { + $$16$i = $1176; + $$16247$i = $1177; + } + $1188 = $$16$i + -1 | 0; + $1189 = $$16247$i + 1 | 0; + if (($1180 | HEAPU8[$$16247$i >> 0] | 0) != 1) { + $$24$i = $1188; + $$24255$i = $1189; + label = 335; + break; + } + if (!$1188) { + if (!(FUNCTION_TABLE_ii[HEAP32[$957 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$17$i = HEAP32[$959 >> 2] | 0; + $$17248$i = HEAP32[$957 >> 2] | 0; + } else { + $$17$i = $1188; + $$17248$i = $1189; + } + $1201 = $$17$i + -1 | 0; + $1202 = $$17248$i + 1 | 0; + $1205 = HEAPU8[$$17248$i >> 0] << 8; + if (!$1201) { + if (!(FUNCTION_TABLE_ii[HEAP32[$957 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$18$i = HEAP32[$959 >> 2] | 0; + $$18249$i = HEAP32[$957 >> 2] | 0; + } else { + $$18$i = $1201; + $$18249$i = $1202; + } + $1213 = $$18$i + -1 | 0; + $1214 = $$18249$i + 1 | 0; + if ($1205 | HEAPU8[$$18249$i >> 0] | 0) { + $$24$i = $1213; + $$24255$i = $1214; + label = 335; + break; + } + if (!$1213) { + if (!(FUNCTION_TABLE_ii[HEAP32[$957 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$19$i = HEAP32[$959 >> 2] | 0; + $$19250$i = HEAP32[$957 >> 2] | 0; + } else { + $$19$i = $1213; + $$19250$i = $1214; + } + $1226 = $$19$i + -1 | 0; + $1227 = $$19250$i + 1 | 0; + if (HEAP8[$$19250$i >> 0] | 0) { + $$24$i = $1226; + $$24255$i = $1227; + label = 335; + break; + } + if (!$1226) { + if (!(FUNCTION_TABLE_ii[HEAP32[$957 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$20$i = HEAP32[$959 >> 2] | 0; + $$20251$i = HEAP32[$957 >> 2] | 0; + } else { + $$20$i = $1226; + $$20251$i = $1227; + } + $1237 = $$20$i + -1 | 0; + $1238 = $$20251$i + 1 | 0; + $1241 = HEAPU8[$$20251$i >> 0] << 8; + if (!$1237) { + if (!(FUNCTION_TABLE_ii[HEAP32[$957 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$21$i = HEAP32[$959 >> 2] | 0; + $$21252$i = HEAP32[$957 >> 2] | 0; + } else { + $$21$i = $1237; + $$21252$i = $1238; + } + $1249 = $$21$i + -1 | 0; + $1250 = $$21252$i + 1 | 0; + if (($1241 | HEAPU8[$$21252$i >> 0] | 0) != 1) { + $$24$i = $1249; + $$24255$i = $1250; + label = 335; + break; + } + if (!$1249) { + if (!(FUNCTION_TABLE_ii[HEAP32[$957 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$22$i = HEAP32[$959 >> 2] | 0; + $$22253$i = HEAP32[$957 >> 2] | 0; + } else { + $$22$i = $1249; + $$22253$i = $1250; + } + $1262 = $$22$i + -1 | 0; + $1263 = $$22253$i + 1 | 0; + $1266 = HEAPU8[$$22253$i >> 0] << 8; + if (!$1262) { + if (!(FUNCTION_TABLE_ii[HEAP32[$957 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$23$i = HEAP32[$959 >> 2] | 0; + $$23254$i = HEAP32[$957 >> 2] | 0; + } else { + $$23$i = $1262; + $$23254$i = $1263; + } + $1274 = $$23$i + -1 | 0; + $1275 = $$23254$i + 1 | 0; + if (!($1266 | HEAPU8[$$23254$i >> 0])) { + $$25$i = $1274; + $$25256$i = $1275; + } else { + $$24$i = $1274; + $$24255$i = $1275; + label = 335; + } + } else { + $$24$i = $1075; + $$24255$i = $1076; + label = 335; + } + } else { + $$24$i = $1060; + $$24255$i = $1061; + label = 335; + } + } else { + $$24$i = $1049; + $$24255$i = $1050; + label = 335; + } + } else { + $$24$i = $1036; + $$24255$i = $1037; + label = 335; + } + } else { + $$24$i = $960; + $$24255$i = $958; + label = 335; + } while (0); + if ((label | 0) == 335) { + label = 0; + $1280 = HEAP32[$0 >> 2] | 0; + HEAP32[$1280 + 20 >> 2] = 28; + FUNCTION_TABLE_vi[HEAP32[$1280 >> 2] & 255]($0); + $$25$i = $$24$i; + $$25256$i = $$24255$i; + } + HEAP32[$7 >> 2] = 1; + HEAP32[$957 >> 2] = $$25256$i; + HEAP32[$959 >> 2] = $$25$i; + break; + } + case 239: + case 238: + case 237: + case 236: + case 235: + case 234: + case 233: + case 232: + case 231: + case 230: + case 229: + case 228: + case 227: + case 226: + case 225: + case 224: + { + if (!(FUNCTION_TABLE_ii[HEAP32[(HEAP32[$3 >> 2] | 0) + 32 + ($60 + -224 << 2) >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + break; + } + case 254: + { + if (!(FUNCTION_TABLE_ii[HEAP32[(HEAP32[$3 >> 2] | 0) + 28 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + break; + } + case 1: + case 215: + case 214: + case 213: + case 212: + case 211: + case 210: + case 209: + case 208: + { + $1294 = HEAP32[$0 >> 2] | 0; + HEAP32[$1294 + 20 >> 2] = 94; + HEAP32[$1294 + 24 >> 2] = $60; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$0 >> 2] | 0) + 4 >> 2] & 255]($0, 1); + break; + } + case 220: + { + $1300 = HEAP32[$4 >> 2] | 0; + $1301 = $1300 + 4 | 0; + $1302 = HEAP32[$1301 >> 2] | 0; + if (!$1302) { + if (!(FUNCTION_TABLE_ii[HEAP32[$1300 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$0$i92 = HEAP32[$1301 >> 2] | 0; + } else $$0$i92 = $1302; + $$041$i = HEAP32[$1300 >> 2] | 0; + $1309 = $$0$i92 + -1 | 0; + $1310 = $$041$i + 1 | 0; + $1313 = HEAPU8[$$041$i >> 0] << 8; + if (!$1309) { + if (!(FUNCTION_TABLE_ii[HEAP32[$1300 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break L1; + } + $$1$i93 = HEAP32[$1301 >> 2] | 0; + $$142$i = HEAP32[$1300 >> 2] | 0; + } else { + $$1$i93 = $1309; + $$142$i = $1310; + } + $1325 = $1313 | HEAPU8[$$142$i >> 0]; + $1326 = $1325 + -2 | 0; + $1327 = HEAP32[$0 >> 2] | 0; + HEAP32[$1327 + 20 >> 2] = 93; + HEAP32[$1327 + 24 >> 2] = HEAP32[$2 >> 2]; + HEAP32[(HEAP32[$0 >> 2] | 0) + 28 >> 2] = $1326; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$0 >> 2] | 0) + 4 >> 2] & 255]($0, 1); + HEAP32[$1300 >> 2] = $$142$i + 1; + HEAP32[$1301 >> 2] = $$1$i93 + -1; + if ($1325 >>> 0 > 2) FUNCTION_TABLE_vii[HEAP32[(HEAP32[$4 >> 2] | 0) + 16 >> 2] & 255]($0, $1326); + break; + } + default: + { + $1340 = HEAP32[$0 >> 2] | 0; + HEAP32[$1340 + 20 >> 2] = 70; + HEAP32[$1340 + 24 >> 2] = $60; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + } while (0); + HEAP32[$2 >> 2] = 0; + $20 = 0; + } + if ((label | 0) == 25) { + $87 = HEAP32[$4 >> 2] | 0; + $88 = HEAP32[$87 >> 2] | 0; + $89 = $87 + 4 | 0; + $90 = HEAP32[$89 >> 2] | 0; + if (!(HEAP32[(HEAP32[$3 >> 2] | 0) + 16 >> 2] | 0)) { + $95 = HEAP32[$0 >> 2] | 0; + HEAP32[$95 + 20 >> 2] = 60; + _strncpy($95 + 24 | 0, 50705, 80) | 0; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + do if (!$90) if (!(FUNCTION_TABLE_ii[HEAP32[$87 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + STACKTOP = sp; + return $$0 | 0; + } else { + $$0176$i = HEAP32[$89 >> 2] | 0; + $$0177$i = HEAP32[$87 >> 2] | 0; + break; + } else { + $$0176$i = $90; + $$0177$i = $88; + } while (0); + $107 = $$0176$i + -1 | 0; + $108 = $$0177$i + 1 | 0; + $111 = HEAPU8[$$0177$i >> 0] << 8; + do if (!$107) if (!(FUNCTION_TABLE_ii[HEAP32[$87 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + STACKTOP = sp; + return $$0 | 0; + } else { + $$1$i43 = HEAP32[$89 >> 2] | 0; + $$1178$i = HEAP32[$87 >> 2] | 0; + break; + } else { + $$1$i43 = $107; + $$1178$i = $108; + } while (0); + $119 = $$1$i43 + -1 | 0; + $120 = $$1178$i + 1 | 0; + $123 = $111 | HEAPU8[$$1178$i >> 0]; + do if (!$119) if (!(FUNCTION_TABLE_ii[HEAP32[$87 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + STACKTOP = sp; + return $$0 | 0; + } else { + $$2$i = HEAP32[$89 >> 2] | 0; + $$2179$i = HEAP32[$87 >> 2] | 0; + break; + } else { + $$2$i = $119; + $$2179$i = $120; + } while (0); + $131 = HEAP8[$$2179$i >> 0] | 0; + $132 = $131 & 255; + $133 = HEAP32[$0 >> 2] | 0; + HEAP32[$133 + 20 >> 2] = 105; + HEAP32[$133 + 24 >> 2] = $132; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$0 >> 2] | 0) + 4 >> 2] & 255]($0, 1); + do if (!(($131 & 255) > 4 | ($123 | 0) != (($132 << 1) + 6 | 0))) { + if ($131 << 24 >> 24) { + HEAP32[$0 + 340 >> 2] = $132; + $$3211233$i = $$2$i + -1 | 0; + $$3180212236$i = $$2179$i + 1 | 0; + $$3211235$i = $$3211233$i; + $1345 = ($$3211233$i | 0) == 0; + label = 42; + break; + } + if (HEAP32[$0 + 224 >> 2] | 0) { + HEAP32[$0 + 340 >> 2] = $132; + $$3211230$i = $$2$i + -1 | 0; + if (!$$3211230$i) { + $1346 = 1; + label = 64; + } else { + $$6$i = $$3211230$i; + $$6183$i = $$2179$i + 1 | 0; + $1347 = 1; + } + } else label = 41; + } else label = 41; while (0); + if ((label | 0) == 41) { + $151 = HEAP32[$0 >> 2] | 0; + HEAP32[$151 + 20 >> 2] = 12; + FUNCTION_TABLE_vi[HEAP32[$151 >> 2] & 255]($0); + HEAP32[$0 + 340 >> 2] = $132; + $$3211$i = $$2$i + -1 | 0; + $$3180212$i = $$2179$i + 1 | 0; + $156 = ($$3211$i | 0) == 0; + if (!($131 << 24 >> 24)) { + $$3$lcssa$i = $$3211$i; + $$3180$lcssa$i = $$3180212$i; + $$lcssa$i = $156; + $1348 = 1; + label = 63; + } else { + $$3180212236$i = $$3180212$i; + $$3211235$i = $$3211$i; + $1345 = $156; + label = 42; + } + } + L436 : do if ((label | 0) == 42) { + $157 = $87 + 12 | 0; + $158 = $0 + 344 | 0; + $$0193213$i = 0; + $$3180218$i = $$3180212236$i; + $$3217$i = $$3211235$i; + $1349 = $1345; + while (1) { + if ($1349) { + if (!(FUNCTION_TABLE_ii[HEAP32[$157 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break; + } + $$4$i = HEAP32[$89 >> 2] | 0; + $$4181$i = HEAP32[$87 >> 2] | 0; + } else { + $$4$i = $$3217$i; + $$4181$i = $$3180218$i; + } + $164 = $$4$i + -1 | 0; + $165 = $$4181$i + 1 | 0; + $167 = HEAPU8[$$4181$i >> 0] | 0; + L444 : do if (!$$0193213$i) $$2188$i = $167; else { + $$0190201$i = 0; + while (1) { + if ((HEAP32[HEAP32[$0 + 344 + ($$0190201$i << 2) >> 2] >> 2] | 0) == ($167 | 0)) break; + $$0190201$i = $$0190201$i + 1 | 0; + if ($$0190201$i >>> 0 >= $$0193213$i >>> 0) { + $$2188$i = $167; + break L444; + } + } + $176 = HEAP32[HEAP32[$158 >> 2] >> 2] | 0; + if ($$0193213$i >>> 0 > 1) { + $$0186203$i = $176; + $$1191202$i = 1; + while (1) { + $180 = HEAP32[HEAP32[$0 + 344 + ($$1191202$i << 2) >> 2] >> 2] | 0; + $spec$select$i = ($180 | 0) > ($$0186203$i | 0) ? $180 : $$0186203$i; + $$1191202$i = $$1191202$i + 1 | 0; + if (($$1191202$i | 0) == ($$0193213$i | 0)) { + $$0186$lcssa$i = $spec$select$i; + break; + } else $$0186203$i = $spec$select$i; + } + } else $$0186$lcssa$i = $176; + $$2188$i = $$0186$lcssa$i + 1 | 0; + } while (0); + $184 = HEAP32[$18 >> 2] | 0; + $185 = HEAP32[$17 >> 2] | 0; + L456 : do if (($185 | 0) > 0) { + $$0189206$i = $184; + $$2192205$i = 0; + while (1) { + if (($$2188$i | 0) == (HEAP32[$$0189206$i >> 2] | 0)) { + $$0189197$i = $$0189206$i; + break L456; + } + $$2192205$i = $$2192205$i + 1 | 0; + $190 = $$0189206$i + 88 | 0; + if (($$2192205$i | 0) >= ($185 | 0)) { + $$0189$lcssa$i = $190; + label = 58; + break; + } else $$0189206$i = $190; + } + } else { + $$0189$lcssa$i = $184; + label = 58; + } while (0); + if ((label | 0) == 58) { + label = 0; + $192 = HEAP32[$0 >> 2] | 0; + HEAP32[$192 + 20 >> 2] = 4; + HEAP32[$192 + 24 >> 2] = $$2188$i; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + $$0189197$i = $$0189$lcssa$i; + } + HEAP32[$0 + 344 + ($$0193213$i << 2) >> 2] = $$0189197$i; + if (!$164) { + if (!(FUNCTION_TABLE_ii[HEAP32[$157 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 350; + break; + } + $$5$i = HEAP32[$89 >> 2] | 0; + $$5182$i = HEAP32[$87 >> 2] | 0; + } else { + $$5$i = $164; + $$5182$i = $165; + } + $205 = HEAPU8[$$5182$i >> 0] | 0; + $207 = $$0189197$i + 20 | 0; + HEAP32[$207 >> 2] = $205 >>> 4; + $209 = $$0189197$i + 24 | 0; + HEAP32[$209 >> 2] = $205 & 15; + $210 = HEAP32[$0 >> 2] | 0; + HEAP32[$210 + 24 >> 2] = HEAP32[$$0189197$i >> 2]; + HEAP32[$210 + 28 >> 2] = HEAP32[$207 >> 2]; + HEAP32[$210 + 32 >> 2] = HEAP32[$209 >> 2]; + HEAP32[$210 + 20 >> 2] = 106; + FUNCTION_TABLE_vii[HEAP32[$210 + 4 >> 2] & 255]($0, 1); + $$0193213$i = $$0193213$i + 1 | 0; + $$3$i = $$5$i + -1 | 0; + $$3180$i = $$5182$i + 1 | 0; + $222 = ($$3$i | 0) == 0; + if ($$0193213$i >>> 0 >= $132 >>> 0) { + $$3$lcssa$i = $$3$i; + $$3180$lcssa$i = $$3180$i; + $$lcssa$i = $222; + $1348 = 0; + label = 63; + break L436; + } else { + $$3180218$i = $$3180$i; + $$3217$i = $$3$i; + $1349 = $222; + } + } + if ((label | 0) == 350) { + STACKTOP = sp; + return $$0 | 0; + } + } while (0); + if ((label | 0) == 63) if ($$lcssa$i) { + $1346 = $1348; + label = 64; + } else { + $$6$i = $$3$lcssa$i; + $$6183$i = $$3180$lcssa$i; + $1347 = $1348; + } + do if ((label | 0) == 64) if (!(FUNCTION_TABLE_ii[HEAP32[$87 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + STACKTOP = sp; + return $$0 | 0; + } else { + $$6$i = HEAP32[$89 >> 2] | 0; + $$6183$i = HEAP32[$87 >> 2] | 0; + $1347 = $1346; + break; + } while (0); + $229 = $$6$i + -1 | 0; + $230 = $$6183$i + 1 | 0; + $233 = $0 + 412 | 0; + HEAP32[$233 >> 2] = HEAPU8[$$6183$i >> 0]; + do if (!$229) if (!(FUNCTION_TABLE_ii[HEAP32[$87 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + STACKTOP = sp; + return $$0 | 0; + } else { + $$7$i = HEAP32[$89 >> 2] | 0; + $$7184$i = HEAP32[$87 >> 2] | 0; + break; + } else { + $$7$i = $229; + $$7184$i = $230; + } while (0); + $241 = $$7$i + -1 | 0; + $242 = $$7184$i + 1 | 0; + $245 = $0 + 416 | 0; + HEAP32[$245 >> 2] = HEAPU8[$$7184$i >> 0]; + do if (!$241) if (!(FUNCTION_TABLE_ii[HEAP32[$87 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + STACKTOP = sp; + return $$0 | 0; + } else { + $$8$i = HEAP32[$89 >> 2] | 0; + $$8185$i = HEAP32[$87 >> 2] | 0; + break; + } else { + $$8$i = $241; + $$8185$i = $242; + } while (0); + $256 = HEAPU8[$$8185$i >> 0] | 0; + $258 = $0 + 420 | 0; + HEAP32[$258 >> 2] = $256 >>> 4; + $260 = $0 + 424 | 0; + HEAP32[$260 >> 2] = $256 & 15; + $261 = HEAP32[$0 >> 2] | 0; + HEAP32[$261 + 24 >> 2] = HEAP32[$233 >> 2]; + HEAP32[$261 + 28 >> 2] = HEAP32[$245 >> 2]; + HEAP32[$261 + 32 >> 2] = HEAP32[$258 >> 2]; + HEAP32[$261 + 36 >> 2] = HEAP32[$260 >> 2]; + HEAP32[$261 + 20 >> 2] = 107; + FUNCTION_TABLE_vii[HEAP32[$261 + 4 >> 2] & 255]($0, 1); + HEAP32[(HEAP32[$3 >> 2] | 0) + 20 >> 2] = 0; + if (!$1347) { + $275 = $0 + 144 | 0; + HEAP32[$275 >> 2] = (HEAP32[$275 >> 2] | 0) + 1; + } + HEAP32[$87 >> 2] = $$8185$i + 1; + HEAP32[$89 >> 2] = $$8$i + -1; + HEAP32[$2 >> 2] = 0; + $$0 = 1; + STACKTOP = sp; + return $$0 | 0; + } else if ((label | 0) == 75) { + $278 = HEAP32[$0 >> 2] | 0; + HEAP32[$278 + 20 >> 2] = 87; + FUNCTION_TABLE_vii[HEAP32[$278 + 4 >> 2] & 255]($0, 1); + HEAP32[$2 >> 2] = 0; + $$0 = 2; + STACKTOP = sp; + return $$0 | 0; + } else if ((label | 0) == 174) { + $$0 = 0; + STACKTOP = sp; + return $$0 | 0; + } else if ((label | 0) == 350) { + STACKTOP = sp; + return $$0 | 0; + } + return 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv($0) { + $0 = $0 | 0; + var $$0 = 0, $$1 = 0, $$10 = 0, $$11 = 0, $$12 = 0, $$13 = 0, $$14 = 0, $$15 = 0, $$16 = 0, $$17 = 0, $$2 = 0, $$21 = 0, $$22 = 0, $$23 = 0, $$24 = 0, $$25 = 0, $$26 = 0, $$27 = 0, $$28 = 0, $$29 = 0, $$3 = 0, $$30 = 0, $$31 = 0, $$32 = 0, $$33 = 0, $$34 = 0, $$35 = 0, $$36 = 0, $$37 = 0, $$42 = 0, $$43 = 0, $$47 = 0, $$48 = 0, $$49 = 0, $$7 = 0, $$8 = 0, $$9 = 0, $$byval_copy39 = 0, $1 = 0, $10 = 0, $101 = 0, $102 = 0, $104 = 0, $105 = 0, $107 = 0, $11 = 0, $111 = 0, $114 = 0, $12 = 0, $123 = 0, $127 = 0, $128 = 0, $13 = 0, $130 = 0, $134 = 0, $138 = 0, $14 = 0, $144 = 0, $145 = 0, $147 = 0, $15 = 0, $151 = 0, $152 = 0, $154 = 0, $158 = 0, $16 = 0, $161 = 0, $167 = 0, $17 = 0, $170 = 0, $173 = 0, $179 = 0, $18 = 0, $182 = 0, $188 = 0, $189 = 0, $19 = 0, $191 = 0, $195 = 0, $196 = 0, $199 = 0, $2 = 0, $20 = 0, $206 = 0, $209 = 0, $21 = 0, $212 = 0, $215 = 0, $22 = 0, $221 = 0, $224 = 0, $227 = 0, $23 = 0, $230 = 0, $234 = 0, $237 = 0, $24 = 0, $246 = 0, $249 = 0, $25 = 0, $252 = 0, $256 = 0, $26 = 0, $265 = 0, $268 = 0, $27 = 0, $271 = 0, $277 = 0, $28 = 0, $280 = 0, $283 = 0, $287 = 0, $29 = 0, $290 = 0, $294 = 0, $297 = 0, $298 = 0, $3 = 0, $30 = 0, $300 = 0, $307 = 0, $308 = 0, $31 = 0, $310 = 0, $312 = 0, $319 = 0, $32 = 0, $320 = 0, $322 = 0, $326 = 0, $329 = 0, $33 = 0, $332 = 0, $335 = 0, $34 = 0, $341 = 0, $342 = 0, $344 = 0, $349 = 0, $35 = 0, $356 = 0, $36 = 0, $361 = 0, $367 = 0, $37 = 0, $371 = 0, $375 = 0, $376 = 0, $379 = 0, $38 = 0, $381 = 0, $388 = 0, $39 = 0, $393 = 0, $397 = 0, $398 = 0, $4 = 0, $40 = 0, $400 = 0, $401 = 0, $403 = 0, $41 = 0, $410 = 0, $42 = 0, $43 = 0, $45 = 0, $48 = 0, $5 = 0, $6 = 0, $66 = 0, $69 = 0, $7 = 0, $72 = 0, $75 = 0, $78 = 0, $8 = 0, $82 = 0, $87 = 0, $9 = 0, $94 = 0, $95 = 0, $97 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 352 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(352); + $$byval_copy39 = sp + 336 | 0; + $1 = sp + 344 | 0; + $2 = sp + 328 | 0; + $3 = sp + 320 | 0; + $4 = sp + 312 | 0; + $5 = sp + 304 | 0; + $6 = sp + 296 | 0; + $7 = sp + 288 | 0; + $8 = sp + 8 | 0; + $9 = sp + 280 | 0; + $10 = sp + 272 | 0; + $11 = sp + 264 | 0; + $12 = sp + 256 | 0; + $13 = sp + 248 | 0; + $14 = sp + 240 | 0; + $15 = sp + 232 | 0; + $16 = sp + 224 | 0; + $17 = sp + 216 | 0; + $18 = sp + 208 | 0; + $19 = sp + 200 | 0; + $20 = sp + 192 | 0; + $21 = sp + 184 | 0; + $22 = sp + 176 | 0; + $23 = sp + 168 | 0; + $24 = sp + 160 | 0; + $25 = sp + 152 | 0; + $26 = sp + 144 | 0; + $27 = sp + 136 | 0; + $28 = sp + 128 | 0; + $29 = sp + 120 | 0; + $30 = sp + 112 | 0; + $31 = sp + 104 | 0; + $32 = sp + 96 | 0; + $33 = sp + 88 | 0; + $34 = sp + 80 | 0; + $35 = sp + 72 | 0; + $36 = sp + 64 | 0; + $37 = sp + 56 | 0; + $38 = sp + 48 | 0; + $39 = sp; + $40 = sp + 40 | 0; + $41 = sp + 32 | 0; + $42 = sp + 24 | 0; + $43 = sp + 16 | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 52665); + HEAP32[$$byval_copy39 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy39 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + $45 = (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy39) | 0) & 1; + HEAP8[$1 >> 0] = $45; + L1 : do if ((__ZNK12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E7numLeftEv($0) | 0) >>> 0 < 2) $$49 = 0; else { + $48 = HEAP32[$0 >> 2] | 0; + do switch (HEAP8[$48 >> 0] | 0) { + case 76: + { + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E16parseExprPrimaryEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + break L1; + break; + } + case 84: + { + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E18parseTemplateParamEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + break L1; + break; + } + case 102: + { + switch ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 1) | 0) << 24 >> 24) { + case 112: + { + label = 7; + break; + } + case 76: + { + if ((((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 2) | 0) << 24 >> 24) + -48 | 0) >>> 0 < 10) label = 7; else label = 8; + break; + } + default: + label = 8; + } + if ((label | 0) == 7) { + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E18parseFunctionParamEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + break L1; + } else if ((label | 0) == 8) { + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E13parseFoldExprEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + break L1; + } + break; + } + case 97: + { + switch (HEAP8[$48 + 1 >> 0] | 0) { + case 97: + { + HEAP32[$0 >> 2] = $48 + 2; + $66 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, 51972); + HEAP32[$$byval_copy39 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy39 + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBinaryExprENS_10StringViewE($66, $$byval_copy39) | 0; + break L1; + break; + } + case 100: + { + HEAP32[$0 >> 2] = $48 + 2; + $69 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, 51970); + HEAP32[$$byval_copy39 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy39 + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parsePrefixExprENS_10StringViewE($69, $$byval_copy39) | 0; + break L1; + break; + } + case 110: + { + HEAP32[$0 >> 2] = $48 + 2; + $72 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($5, 51970); + HEAP32[$$byval_copy39 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$$byval_copy39 + 4 >> 2] = HEAP32[$5 + 4 >> 2]; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBinaryExprENS_10StringViewE($72, $$byval_copy39) | 0; + break L1; + break; + } + case 78: + { + HEAP32[$0 >> 2] = $48 + 2; + $75 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($6, 52668); + HEAP32[$$byval_copy39 >> 2] = HEAP32[$6 >> 2]; + HEAP32[$$byval_copy39 + 4 >> 2] = HEAP32[$6 + 4 >> 2]; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBinaryExprENS_10StringViewE($75, $$byval_copy39) | 0; + break L1; + break; + } + case 83: + { + HEAP32[$0 >> 2] = $48 + 2; + $78 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($7, 52671); + HEAP32[$$byval_copy39 >> 2] = HEAP32[$7 >> 2]; + HEAP32[$$byval_copy39 + 4 >> 2] = HEAP32[$7 + 4 >> 2]; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBinaryExprENS_10StringViewE($78, $$byval_copy39) | 0; + break L1; + break; + } + case 116: + { + HEAP32[$0 >> 2] = $48 + 2; + $82 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseTypeEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$$byval_copy39 >> 2] = $82; + if (!$82) $$0 = 0; else $$0 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_13EnclosingExprEJRA10_KcRPNS0_4NodeERA2_S8_EEESC_DpOT0_($0, 52673, $$byval_copy39) | 0; + $$49 = $$0; + break L1; + break; + } + case 122: + { + HEAP32[$0 >> 2] = $48 + 2; + $87 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$$byval_copy39 >> 2] = $87; + if (!$87) $$1 = 0; else $$1 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_13EnclosingExprEJRA10_KcRPNS0_4NodeERA2_S8_EEESC_DpOT0_($0, 52673, $$byval_copy39) | 0; + $$49 = $$1; + break L1; + break; + } + default: + { + $$49 = 0; + break L1; + } + } + break; + } + case 99: + { + switch (HEAP8[$48 + 1 >> 0] | 0) { + case 99: + { + HEAP32[$0 >> 2] = $48 + 2; + $94 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + $95 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseTypeEv($94) | 0; + HEAP32[$$byval_copy39 >> 2] = $95; + if (!$95) $$3 = 0; else { + $97 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv($94) | 0; + HEAP32[$8 >> 2] = $97; + if (!$97) $$2 = 0; else $$2 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8CastExprEJRA11_KcRPNS0_4NodeESD_EEESC_DpOT0_($0, $$byval_copy39, $8) | 0; + $$3 = $$2; + } + $$49 = $$3; + break L1; + break; + } + case 108: + { + HEAP32[$0 >> 2] = $48 + 2; + $101 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + $102 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv($101) | 0; + HEAP32[$$byval_copy39 >> 2] = $102; + do if ($102) { + $104 = $0 + 8 | 0; + $105 = __ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE4sizeEv($104) | 0; + while (1) { + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 69) | 0) { + label = 33; + break; + } + $107 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv($101) | 0; + HEAP32[$8 >> 2] = $107; + if (!$107) { + label = 31; + break; + } + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE9push_backERKS3_($104, $8); + } + if ((label | 0) == 31) { + $$7 = 0; + break; + } else if ((label | 0) == 33) { + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E20popTrailingNodeArrayEm($8, $0, $105); + $$7 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8CallExprEJRPNS0_4NodeENS0_9NodeArrayEEEES9_DpOT0_($0, $$byval_copy39, $8) | 0; + break; + } + } else $$7 = 0; while (0); + $$49 = $$7; + break L1; + break; + } + case 109: + { + HEAP32[$0 >> 2] = $48 + 2; + $111 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($9, 52683); + HEAP32[$$byval_copy39 >> 2] = HEAP32[$9 >> 2]; + HEAP32[$$byval_copy39 + 4 >> 2] = HEAP32[$9 + 4 >> 2]; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBinaryExprENS_10StringViewE($111, $$byval_copy39) | 0; + break L1; + break; + } + case 111: + { + HEAP32[$0 >> 2] = $48 + 2; + $114 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($10, 52685); + HEAP32[$$byval_copy39 >> 2] = HEAP32[$10 >> 2]; + HEAP32[$$byval_copy39 + 4 >> 2] = HEAP32[$10 + 4 >> 2]; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parsePrefixExprENS_10StringViewE($114, $$byval_copy39) | 0; + break L1; + break; + } + case 118: + { + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E19parseConversionExprEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + break L1; + break; + } + default: + { + $$49 = 0; + break L1; + } + } + break; + } + case 100: + { + switch (HEAP8[$48 + 1 >> 0] | 0) { + case 97: + { + HEAP32[$0 >> 2] = $48 + 2; + $123 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$$byval_copy39 >> 2] = $123; + if (!$123) $$8 = 0; else { + HEAP8[$8 >> 0] = 1; + $$8 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_10DeleteExprEJRPNS0_4NodeERbbEEES9_DpOT0_($0, $$byval_copy39, $1, $8) | 0; + } + $$49 = $$8; + break L1; + break; + } + case 99: + { + HEAP32[$0 >> 2] = $48 + 2; + $127 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + $128 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseTypeEv($127) | 0; + HEAP32[$$byval_copy39 >> 2] = $128; + if (!$128) $$10 = 0; else { + $130 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv($127) | 0; + HEAP32[$8 >> 2] = $130; + if (!$130) $$9 = 0; else $$9 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8CastExprEJRA13_KcRPNS0_4NodeESD_EEESC_DpOT0_($0, $$byval_copy39, $8) | 0; + $$10 = $$9; + } + $$49 = $$10; + break L1; + break; + } + case 101: + { + HEAP32[$0 >> 2] = $48 + 2; + $134 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($11, 52037); + HEAP32[$$byval_copy39 >> 2] = HEAP32[$11 >> 2]; + HEAP32[$$byval_copy39 + 4 >> 2] = HEAP32[$11 + 4 >> 2]; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parsePrefixExprENS_10StringViewE($134, $$byval_copy39) | 0; + break L1; + break; + } + case 108: + { + HEAP32[$0 >> 2] = $48 + 2; + $138 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$$byval_copy39 >> 2] = $138; + if (!$138) $$11 = 0; else { + HEAP8[$8 >> 0] = 0; + $$11 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_10DeleteExprEJRPNS0_4NodeERbbEEES9_DpOT0_($0, $$byval_copy39, $1, $8) | 0; + } + $$49 = $$11; + break L1; + break; + } + case 110: + { + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E19parseUnresolvedNameEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + break L1; + break; + } + case 115: + { + HEAP32[$0 >> 2] = $48 + 2; + $144 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + $145 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv($144) | 0; + HEAP32[$$byval_copy39 >> 2] = $145; + if (!$145) $$13 = 0; else { + $147 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv($144) | 0; + HEAP32[$8 >> 2] = $147; + if (!$147) $$12 = 0; else $$12 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_10MemberExprEJRPNS0_4NodeERA3_KcSA_EEES9_DpOT0_($0, $$byval_copy39, 52687, $8) | 0; + $$13 = $$12; + } + $$49 = $$13; + break L1; + break; + } + case 116: + { + HEAP32[$0 >> 2] = $48 + 2; + $151 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + $152 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv($151) | 0; + HEAP32[$$byval_copy39 >> 2] = $152; + if (!$152) $$15 = 0; else { + $154 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv($151) | 0; + HEAP32[$8 >> 2] = $154; + if (!$154) $$14 = 0; else $$14 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_10MemberExprEJRPNS0_4NodeERA2_KcSA_EEES9_DpOT0_($0, $$byval_copy39, $8) | 0; + $$15 = $$14; + } + $$49 = $$15; + break L1; + break; + } + case 118: + { + HEAP32[$0 >> 2] = $48 + 2; + $158 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($12, 52690); + HEAP32[$$byval_copy39 >> 2] = HEAP32[$12 >> 2]; + HEAP32[$$byval_copy39 + 4 >> 2] = HEAP32[$12 + 4 >> 2]; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBinaryExprENS_10StringViewE($158, $$byval_copy39) | 0; + break L1; + break; + } + case 86: + { + HEAP32[$0 >> 2] = $48 + 2; + $161 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($13, 52692); + HEAP32[$$byval_copy39 >> 2] = HEAP32[$13 >> 2]; + HEAP32[$$byval_copy39 + 4 >> 2] = HEAP32[$13 + 4 >> 2]; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBinaryExprENS_10StringViewE($161, $$byval_copy39) | 0; + break L1; + break; + } + default: + { + $$49 = 0; + break L1; + } + } + break; + } + case 101: + { + switch (HEAP8[$48 + 1 >> 0] | 0) { + case 111: + { + HEAP32[$0 >> 2] = $48 + 2; + $167 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($14, 52695); + HEAP32[$$byval_copy39 >> 2] = HEAP32[$14 >> 2]; + HEAP32[$$byval_copy39 + 4 >> 2] = HEAP32[$14 + 4 >> 2]; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBinaryExprENS_10StringViewE($167, $$byval_copy39) | 0; + break L1; + break; + } + case 79: + { + HEAP32[$0 >> 2] = $48 + 2; + $170 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($15, 52697); + HEAP32[$$byval_copy39 >> 2] = HEAP32[$15 >> 2]; + HEAP32[$$byval_copy39 + 4 >> 2] = HEAP32[$15 + 4 >> 2]; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBinaryExprENS_10StringViewE($170, $$byval_copy39) | 0; + break L1; + break; + } + case 113: + { + HEAP32[$0 >> 2] = $48 + 2; + $173 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($16, 52700); + HEAP32[$$byval_copy39 >> 2] = HEAP32[$16 >> 2]; + HEAP32[$$byval_copy39 + 4 >> 2] = HEAP32[$16 + 4 >> 2]; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBinaryExprENS_10StringViewE($173, $$byval_copy39) | 0; + break L1; + break; + } + default: + { + $$49 = 0; + break L1; + } + } + break; + } + case 103: + { + switch (HEAP8[$48 + 1 >> 0] | 0) { + case 101: + { + HEAP32[$0 >> 2] = $48 + 2; + $179 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($17, 52703); + HEAP32[$$byval_copy39 >> 2] = HEAP32[$17 >> 2]; + HEAP32[$$byval_copy39 + 4 >> 2] = HEAP32[$17 + 4 >> 2]; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBinaryExprENS_10StringViewE($179, $$byval_copy39) | 0; + break L1; + break; + } + case 116: + { + HEAP32[$0 >> 2] = $48 + 2; + $182 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($18, 52043); + HEAP32[$$byval_copy39 >> 2] = HEAP32[$18 >> 2]; + HEAP32[$$byval_copy39 + 4 >> 2] = HEAP32[$18 + 4 >> 2]; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBinaryExprENS_10StringViewE($182, $$byval_copy39) | 0; + break L1; + break; + } + default: + { + $$49 = 0; + break L1; + } + } + break; + } + case 105: + { + switch (HEAP8[$48 + 1 >> 0] | 0) { + case 120: + { + HEAP32[$0 >> 2] = $48 + 2; + $188 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + $189 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv($188) | 0; + HEAP32[$$byval_copy39 >> 2] = $189; + if (!$189) $$17 = 0; else { + $191 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv($188) | 0; + HEAP32[$8 >> 2] = $191; + if (!$191) $$16 = 0; else $$16 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_18ArraySubscriptExprEJRPNS0_4NodeESA_EEES9_DpOT0_($0, $$byval_copy39, $8) | 0; + $$17 = $$16; + } + $$49 = $$17; + break L1; + break; + } + case 108: + break; + default: + { + $$49 = 0; + break L1; + } + } + HEAP32[$0 >> 2] = $48 + 2; + $195 = $0 + 8 | 0; + $196 = __ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE4sizeEv($195) | 0; + while (1) { + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 69) | 0) { + label = 82; + break; + } + $199 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBracedExprEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$$byval_copy39 >> 2] = $199; + if (!$199) { + label = 81; + break; + } + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE9push_backERKS3_($195, $$byval_copy39); + } + if ((label | 0) == 81) { + $$49 = 0; + break L1; + } else if ((label | 0) == 82) { + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E20popTrailingNodeArrayEm($8, $0, $196); + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_12InitListExprEJDnNS0_9NodeArrayEEEEPNS0_4NodeEDpOT0_($0, $$byval_copy39, $8) | 0; + break L1; + } + break; + } + case 108: + { + switch (HEAP8[$48 + 1 >> 0] | 0) { + case 101: + { + HEAP32[$0 >> 2] = $48 + 2; + $206 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($19, 52706); + HEAP32[$$byval_copy39 >> 2] = HEAP32[$19 >> 2]; + HEAP32[$$byval_copy39 + 4 >> 2] = HEAP32[$19 + 4 >> 2]; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBinaryExprENS_10StringViewE($206, $$byval_copy39) | 0; + break L1; + break; + } + case 115: + { + HEAP32[$0 >> 2] = $48 + 2; + $209 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($20, 52709); + HEAP32[$$byval_copy39 >> 2] = HEAP32[$20 >> 2]; + HEAP32[$$byval_copy39 + 4 >> 2] = HEAP32[$20 + 4 >> 2]; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBinaryExprENS_10StringViewE($209, $$byval_copy39) | 0; + break L1; + break; + } + case 83: + { + HEAP32[$0 >> 2] = $48 + 2; + $212 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($21, 52712); + HEAP32[$$byval_copy39 >> 2] = HEAP32[$21 >> 2]; + HEAP32[$$byval_copy39 + 4 >> 2] = HEAP32[$21 + 4 >> 2]; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBinaryExprENS_10StringViewE($212, $$byval_copy39) | 0; + break L1; + break; + } + case 116: + { + HEAP32[$0 >> 2] = $48 + 2; + $215 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($22, 52150); + HEAP32[$$byval_copy39 >> 2] = HEAP32[$22 >> 2]; + HEAP32[$$byval_copy39 + 4 >> 2] = HEAP32[$22 + 4 >> 2]; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBinaryExprENS_10StringViewE($215, $$byval_copy39) | 0; + break L1; + break; + } + default: + { + $$49 = 0; + break L1; + } + } + break; + } + case 109: + { + switch (HEAP8[$48 + 1 >> 0] | 0) { + case 105: + { + HEAP32[$0 >> 2] = $48 + 2; + $221 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($23, 52555); + HEAP32[$$byval_copy39 >> 2] = HEAP32[$23 >> 2]; + HEAP32[$$byval_copy39 + 4 >> 2] = HEAP32[$23 + 4 >> 2]; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBinaryExprENS_10StringViewE($221, $$byval_copy39) | 0; + break L1; + break; + } + case 73: + { + HEAP32[$0 >> 2] = $48 + 2; + $224 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($24, 52716); + HEAP32[$$byval_copy39 >> 2] = HEAP32[$24 >> 2]; + HEAP32[$$byval_copy39 + 4 >> 2] = HEAP32[$24 + 4 >> 2]; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBinaryExprENS_10StringViewE($224, $$byval_copy39) | 0; + break L1; + break; + } + case 108: + { + HEAP32[$0 >> 2] = $48 + 2; + $227 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($25, 52037); + HEAP32[$$byval_copy39 >> 2] = HEAP32[$25 >> 2]; + HEAP32[$$byval_copy39 + 4 >> 2] = HEAP32[$25 + 4 >> 2]; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBinaryExprENS_10StringViewE($227, $$byval_copy39) | 0; + break L1; + break; + } + case 76: + { + HEAP32[$0 >> 2] = $48 + 2; + $230 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($26, 52719); + HEAP32[$$byval_copy39 >> 2] = HEAP32[$26 >> 2]; + HEAP32[$$byval_copy39 + 4 >> 2] = HEAP32[$26 + 4 >> 2]; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBinaryExprENS_10StringViewE($230, $$byval_copy39) | 0; + break L1; + break; + } + case 109: + { + HEAP32[$0 >> 2] = $48 + 2; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 95) | 0) { + $234 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($27, 52722); + HEAP32[$$byval_copy39 >> 2] = HEAP32[$27 >> 2]; + HEAP32[$$byval_copy39 + 4 >> 2] = HEAP32[$27 + 4 >> 2]; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parsePrefixExprENS_10StringViewE($234, $$byval_copy39) | 0; + break L1; + } + $237 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$$byval_copy39 >> 2] = $237; + if (!$237) $$21 = 0; else $$21 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_11PostfixExprEJRPNS0_4NodeERA3_KcEEES9_DpOT0_($0, $$byval_copy39, 52722) | 0; + $$49 = $$21; + break L1; + break; + } + default: + { + $$49 = 0; + break L1; + } + } + break; + } + case 110: + { + switch (HEAP8[$48 + 1 >> 0] | 0) { + case 119: + case 97: + { + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E12parseNewExprEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + break L1; + break; + } + case 101: + { + HEAP32[$0 >> 2] = $48 + 2; + $246 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($28, 52725); + HEAP32[$$byval_copy39 >> 2] = HEAP32[$28 >> 2]; + HEAP32[$$byval_copy39 + 4 >> 2] = HEAP32[$28 + 4 >> 2]; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBinaryExprENS_10StringViewE($246, $$byval_copy39) | 0; + break L1; + break; + } + case 103: + { + HEAP32[$0 >> 2] = $48 + 2; + $249 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($29, 52555); + HEAP32[$$byval_copy39 >> 2] = HEAP32[$29 >> 2]; + HEAP32[$$byval_copy39 + 4 >> 2] = HEAP32[$29 + 4 >> 2]; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parsePrefixExprENS_10StringViewE($249, $$byval_copy39) | 0; + break L1; + break; + } + case 116: + { + HEAP32[$0 >> 2] = $48 + 2; + $252 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($30, 52728); + HEAP32[$$byval_copy39 >> 2] = HEAP32[$30 >> 2]; + HEAP32[$$byval_copy39 + 4 >> 2] = HEAP32[$30 + 4 >> 2]; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parsePrefixExprENS_10StringViewE($252, $$byval_copy39) | 0; + break L1; + break; + } + case 120: + { + HEAP32[$0 >> 2] = $48 + 2; + $256 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$$byval_copy39 >> 2] = $256; + if (!$256) $$22 = 0; else $$22 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_13EnclosingExprEJRA11_KcRPNS0_4NodeERA2_S8_EEESC_DpOT0_($0, $$byval_copy39) | 0; + $$49 = $$22; + break L1; + break; + } + default: + { + $$49 = 0; + break L1; + } + } + break; + } + case 111: + { + switch (HEAP8[$48 + 1 >> 0] | 0) { + case 110: + { + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E19parseUnresolvedNameEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + break L1; + break; + } + case 111: + { + HEAP32[$0 >> 2] = $48 + 2; + $265 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($31, 52730); + HEAP32[$$byval_copy39 >> 2] = HEAP32[$31 >> 2]; + HEAP32[$$byval_copy39 + 4 >> 2] = HEAP32[$31 + 4 >> 2]; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBinaryExprENS_10StringViewE($265, $$byval_copy39) | 0; + break L1; + break; + } + case 114: + { + HEAP32[$0 >> 2] = $48 + 2; + $268 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($32, 52733); + HEAP32[$$byval_copy39 >> 2] = HEAP32[$32 >> 2]; + HEAP32[$$byval_copy39 + 4 >> 2] = HEAP32[$32 + 4 >> 2]; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBinaryExprENS_10StringViewE($268, $$byval_copy39) | 0; + break L1; + break; + } + case 82: + { + HEAP32[$0 >> 2] = $48 + 2; + $271 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($33, 52735); + HEAP32[$$byval_copy39 >> 2] = HEAP32[$33 >> 2]; + HEAP32[$$byval_copy39 + 4 >> 2] = HEAP32[$33 + 4 >> 2]; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBinaryExprENS_10StringViewE($271, $$byval_copy39) | 0; + break L1; + break; + } + default: + { + $$49 = 0; + break L1; + } + } + break; + } + case 112: + { + switch (HEAP8[$48 + 1 >> 0] | 0) { + case 109: + { + HEAP32[$0 >> 2] = $48 + 2; + $277 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($34, 52738); + HEAP32[$$byval_copy39 >> 2] = HEAP32[$34 >> 2]; + HEAP32[$$byval_copy39 + 4 >> 2] = HEAP32[$34 + 4 >> 2]; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBinaryExprENS_10StringViewE($277, $$byval_copy39) | 0; + break L1; + break; + } + case 108: + { + HEAP32[$0 >> 2] = $48 + 2; + $280 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($35, 52742); + HEAP32[$$byval_copy39 >> 2] = HEAP32[$35 >> 2]; + HEAP32[$$byval_copy39 + 4 >> 2] = HEAP32[$35 + 4 >> 2]; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBinaryExprENS_10StringViewE($280, $$byval_copy39) | 0; + break L1; + break; + } + case 76: + { + HEAP32[$0 >> 2] = $48 + 2; + $283 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($36, 52744); + HEAP32[$$byval_copy39 >> 2] = HEAP32[$36 >> 2]; + HEAP32[$$byval_copy39 + 4 >> 2] = HEAP32[$36 + 4 >> 2]; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBinaryExprENS_10StringViewE($283, $$byval_copy39) | 0; + break L1; + break; + } + case 112: + { + HEAP32[$0 >> 2] = $48 + 2; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 95) | 0) { + $287 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($37, 52747); + HEAP32[$$byval_copy39 >> 2] = HEAP32[$37 >> 2]; + HEAP32[$$byval_copy39 + 4 >> 2] = HEAP32[$37 + 4 >> 2]; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parsePrefixExprENS_10StringViewE($287, $$byval_copy39) | 0; + break L1; + } + $290 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$$byval_copy39 >> 2] = $290; + if (!$290) $$23 = 0; else $$23 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_11PostfixExprEJRPNS0_4NodeERA3_KcEEES9_DpOT0_($0, $$byval_copy39, 52747) | 0; + $$49 = $$23; + break L1; + break; + } + case 115: + { + HEAP32[$0 >> 2] = $48 + 2; + $294 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($38, 52742); + HEAP32[$$byval_copy39 >> 2] = HEAP32[$38 >> 2]; + HEAP32[$$byval_copy39 + 4 >> 2] = HEAP32[$38 + 4 >> 2]; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parsePrefixExprENS_10StringViewE($294, $$byval_copy39) | 0; + break L1; + break; + } + case 116: + { + HEAP32[$0 >> 2] = $48 + 2; + $297 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + $298 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv($297) | 0; + HEAP32[$$byval_copy39 >> 2] = $298; + if (!$298) $$25 = 0; else { + $300 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv($297) | 0; + HEAP32[$8 >> 2] = $300; + if (!$300) $$24 = 0; else $$24 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_10MemberExprEJRPNS0_4NodeERA3_KcSA_EEES9_DpOT0_($0, $$byval_copy39, 52750, $8) | 0; + $$25 = $$24; + } + $$49 = $$25; + break L1; + break; + } + default: + { + $$49 = 0; + break L1; + } + } + break; + } + case 113: + { + if ((HEAP8[$48 + 1 >> 0] | 0) != 117) { + $$49 = 0; + break L1; + } + HEAP32[$0 >> 2] = $48 + 2; + $307 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + $308 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv($307) | 0; + HEAP32[$$byval_copy39 >> 2] = $308; + if (!$308) $$28 = 0; else { + $310 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv($307) | 0; + HEAP32[$8 >> 2] = $310; + if (!$310) $$27 = 0; else { + $312 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv($307) | 0; + HEAP32[$39 >> 2] = $312; + if (!$312) $$26 = 0; else $$26 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_15ConditionalExprEJRPNS0_4NodeESA_SA_EEES9_DpOT0_($0, $$byval_copy39, $8, $39) | 0; + $$27 = $$26; + } + $$28 = $$27; + } + $$49 = $$28; + break L1; + break; + } + case 114: + { + switch (HEAP8[$48 + 1 >> 0] | 0) { + case 99: + { + HEAP32[$0 >> 2] = $48 + 2; + $319 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + $320 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseTypeEv($319) | 0; + HEAP32[$$byval_copy39 >> 2] = $320; + if (!$320) $$30 = 0; else { + $322 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv($319) | 0; + HEAP32[$8 >> 2] = $322; + if (!$322) $$29 = 0; else $$29 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8CastExprEJRA17_KcRPNS0_4NodeESD_EEESC_DpOT0_($0, $$byval_copy39, $8) | 0; + $$30 = $$29; + } + $$49 = $$30; + break L1; + break; + } + case 109: + { + HEAP32[$0 >> 2] = $48 + 2; + $326 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($40, 52753); + HEAP32[$$byval_copy39 >> 2] = HEAP32[$40 >> 2]; + HEAP32[$$byval_copy39 + 4 >> 2] = HEAP32[$40 + 4 >> 2]; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBinaryExprENS_10StringViewE($326, $$byval_copy39) | 0; + break L1; + break; + } + case 77: + { + HEAP32[$0 >> 2] = $48 + 2; + $329 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($41, 52755); + HEAP32[$$byval_copy39 >> 2] = HEAP32[$41 >> 2]; + HEAP32[$$byval_copy39 + 4 >> 2] = HEAP32[$41 + 4 >> 2]; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBinaryExprENS_10StringViewE($329, $$byval_copy39) | 0; + break L1; + break; + } + case 115: + { + HEAP32[$0 >> 2] = $48 + 2; + $332 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($42, 52758); + HEAP32[$$byval_copy39 >> 2] = HEAP32[$42 >> 2]; + HEAP32[$$byval_copy39 + 4 >> 2] = HEAP32[$42 + 4 >> 2]; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBinaryExprENS_10StringViewE($332, $$byval_copy39) | 0; + break L1; + break; + } + case 83: + { + HEAP32[$0 >> 2] = $48 + 2; + $335 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($43, 52761); + HEAP32[$$byval_copy39 >> 2] = HEAP32[$43 >> 2]; + HEAP32[$$byval_copy39 + 4 >> 2] = HEAP32[$43 + 4 >> 2]; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBinaryExprENS_10StringViewE($335, $$byval_copy39) | 0; + break L1; + break; + } + default: + { + $$49 = 0; + break L1; + } + } + break; + } + case 115: + { + switch (HEAP8[$48 + 1 >> 0] | 0) { + case 99: + { + HEAP32[$0 >> 2] = $48 + 2; + $341 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + $342 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseTypeEv($341) | 0; + HEAP32[$$byval_copy39 >> 2] = $342; + if (!$342) $$32 = 0; else { + $344 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv($341) | 0; + HEAP32[$8 >> 2] = $344; + if (!$344) $$31 = 0; else $$31 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8CastExprEJRA12_KcRPNS0_4NodeESD_EEESC_DpOT0_($0, $$byval_copy39, $8) | 0; + $$32 = $$31; + } + $$49 = $$32; + break L1; + break; + } + case 112: + { + HEAP32[$0 >> 2] = $48 + 2; + $349 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$$byval_copy39 >> 2] = $349; + if (!$349) $$33 = 0; else $$33 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_22ParameterPackExpansionEJRPNS0_4NodeEEEES9_DpOT0_($0, $$byval_copy39) | 0; + $$49 = $$33; + break L1; + break; + } + case 114: + { + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E19parseUnresolvedNameEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + break L1; + break; + } + case 116: + { + HEAP32[$0 >> 2] = $48 + 2; + $356 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseTypeEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$$byval_copy39 >> 2] = $356; + if (!$356) $$34 = 0; else $$34 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_13EnclosingExprEJRA9_KcRPNS0_4NodeERA2_S8_EEESC_DpOT0_($0, 52765, $$byval_copy39) | 0; + $$49 = $$34; + break L1; + break; + } + case 122: + { + HEAP32[$0 >> 2] = $48 + 2; + $361 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$$byval_copy39 >> 2] = $361; + if (!$361) $$35 = 0; else $$35 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_13EnclosingExprEJRA9_KcRPNS0_4NodeERA2_S8_EEESC_DpOT0_($0, 52765, $$byval_copy39) | 0; + $$49 = $$35; + break L1; + break; + } + case 90: + { + HEAP32[$0 >> 2] = $48 + 2; + switch ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 0) | 0) << 24 >> 24) { + case 84: + { + $367 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E18parseTemplateParamEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$$byval_copy39 >> 2] = $367; + if (!$367) $$36 = 0; else $$36 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_19SizeofParamPackExprEJRPNS0_4NodeEEEES9_DpOT0_($0, $$byval_copy39) | 0; + $$49 = $$36; + break L1; + break; + } + case 102: + { + $371 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E18parseFunctionParamEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$$byval_copy39 >> 2] = $371; + if (!$371) $$37 = 0; else $$37 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_13EnclosingExprEJRA12_KcRPNS0_4NodeERA2_S8_EEESC_DpOT0_($0, $$byval_copy39) | 0; + $$49 = $$37; + break L1; + break; + } + default: + { + $$49 = 0; + break L1; + } + } + break; + } + case 80: + { + HEAP32[$0 >> 2] = $48 + 2; + $375 = $0 + 8 | 0; + $376 = __ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE4sizeEv($375) | 0; + while (1) { + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 69) | 0) { + label = 172; + break; + } + $379 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E16parseTemplateArgEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$$byval_copy39 >> 2] = $379; + if (!$379) { + label = 171; + break; + } + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE9push_backERKS3_($375, $$byval_copy39); + } + if ((label | 0) == 171) { + $$49 = 0; + break L1; + } else if ((label | 0) == 172) { + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E20popTrailingNodeArrayEm($8, $0, $376); + $381 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_13NodeArrayNodeEJNS0_9NodeArrayEEEEPNS0_4NodeEDpOT0_($0, $8) | 0; + HEAP32[$$byval_copy39 >> 2] = $381; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_13EnclosingExprEJRA12_KcRPNS0_4NodeERA2_S8_EEESC_DpOT0_($0, $$byval_copy39) | 0; + break L1; + } + break; + } + default: + { + $$49 = 0; + break L1; + } + } + break; + } + case 116: + { + switch (HEAP8[$48 + 1 >> 0] | 0) { + case 101: + { + HEAP32[$0 >> 2] = $48 + 2; + $388 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$$byval_copy39 >> 2] = $388; + if (!$388) $$42 = 0; else $$42 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_13EnclosingExprEJRA9_KcRPNS0_4NodeERA2_S8_EEESC_DpOT0_($0, 52774, $$byval_copy39) | 0; + $$49 = $$42; + break L1; + break; + } + case 105: + { + HEAP32[$0 >> 2] = $48 + 2; + $393 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseTypeEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$$byval_copy39 >> 2] = $393; + if (!$393) $$43 = 0; else $$43 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_13EnclosingExprEJRA9_KcRPNS0_4NodeERA2_S8_EEESC_DpOT0_($0, 52774, $$byval_copy39) | 0; + $$49 = $$43; + break L1; + break; + } + case 108: + { + HEAP32[$0 >> 2] = $48 + 2; + $397 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + $398 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseTypeEv($397) | 0; + HEAP32[$$byval_copy39 >> 2] = $398; + do if ($398) { + $400 = $0 + 8 | 0; + $401 = __ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE4sizeEv($400) | 0; + while (1) { + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 69) | 0) { + label = 186; + break; + } + $403 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBracedExprEv($397) | 0; + HEAP32[$8 >> 2] = $403; + if (!$403) { + label = 185; + break; + } + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE9push_backERKS3_($400, $8); + } + if ((label | 0) == 185) { + $$47 = 0; + break; + } else if ((label | 0) == 186) { + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E20popTrailingNodeArrayEm($8, $0, $401); + $$47 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_12InitListExprEJRPNS0_4NodeENS0_9NodeArrayEEEES9_DpOT0_($0, $$byval_copy39, $8) | 0; + break; + } + } else $$47 = 0; while (0); + $$49 = $$47; + break L1; + break; + } + case 114: + { + HEAP32[$0 >> 2] = $48 + 2; + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA6_KcEEEPNS0_4NodeEDpOT0_($0, 52783) | 0; + break L1; + break; + } + case 119: + { + HEAP32[$0 >> 2] = $48 + 2; + $410 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$$byval_copy39 >> 2] = $410; + if (!$410) $$48 = 0; else $$48 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_9ThrowExprEJRPNS0_4NodeEEEES9_DpOT0_($0, $$byval_copy39) | 0; + $$49 = $$48; + break L1; + break; + } + default: + { + $$49 = 0; + break L1; + } + } + break; + } + case 57: + case 56: + case 55: + case 54: + case 53: + case 52: + case 51: + case 50: + case 49: + { + $$49 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E19parseUnresolvedNameEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + break L1; + break; + } + default: + { + $$49 = 0; + break L1; + } + } while (0); + } while (0); + STACKTOP = sp; + return $$49 | 0; +} + +function _arPattGetImage2($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + $9 = $9 | 0; + $10 = +$10; + $11 = $11 | 0; + var $$0 = 0, $$01442 = 0, $$01443 = 0, $$01464 = 0, $$01468 = 0, $$01474 = 0, $$01495 = 0, $$1 = 0, $$10 = 0, $$101453 = 0, $$101484 = 0, $$101505 = 0, $$11 = 0, $$111454 = 0, $$111485 = 0, $$111506 = 0, $$11444 = 0, $$11465 = 0, $$11469 = 0, $$11475 = 0, $$11496 = 0, $$12 = 0, $$121455 = 0, $$121486 = 0, $$121507 = 0, $$13 = 0, $$131456 = 0, $$131487 = 0, $$131508 = 0, $$14 = 0, $$141457 = 0, $$141488 = 0, $$141509 = 0, $$15 = 0, $$151458 = 0, $$151489 = 0, $$151510 = 0, $$16 = 0, $$161459 = 0, $$161490 = 0, $$161511 = 0, $$17 = 0, $$171460 = 0, $$171491 = 0, $$171512 = 0, $$18 = 0, $$181461 = 0, $$181492 = 0, $$181513 = 0, $$19 = 0, $$191462 = 0, $$191493 = 0, $$191514 = 0, $$2 = 0, $$20 = 0, $$201463 = 0, $$201494 = 0, $$201515 = 0, $$21 = 0, $$21445 = 0, $$21466 = 0, $$21470 = 0, $$21476 = 0, $$21497 = 0, $$22 = 0, $$23 = 0, $$3 = 0, $$31446 = 0, $$31471 = 0, $$31477 = 0, $$31498 = 0, $$4 = 0, $$41447 = 0, $$41478 = 0, $$41499 = 0, $$5 = 0, $$51448 = 0, $$51479 = 0, $$51500 = 0, $$6 = 0, $$61449 = 0, $$61480 = 0, $$61501 = 0, $$7 = 0, $$71450 = 0, $$71481 = 0, $$71502 = 0, $$8 = 0, $$81451 = 0, $$81482 = 0, $$81503 = 0, $$9 = 0, $$91452 = 0, $$91483 = 0, $$91504 = 0, $101 = 0, $1016 = 0, $102 = 0, $1026 = 0, $1032 = 0.0, $1038 = 0.0, $1039 = 0.0, $1043 = 0, $1049 = 0, $105 = 0.0, $1053 = 0, $1055 = 0, $106 = 0.0, $1061 = 0, $1062 = 0, $1066 = 0, $1070 = 0, $1074 = 0, $1077 = 0, $108 = 0, $1082 = 0.0, $1083 = 0.0, $1084 = 0.0, $1085 = 0, $1086 = 0, $1087 = 0, $1088 = 0, $1089 = 0, $109 = 0, $1090 = 0, $1091 = 0, $1092 = 0, $1093 = 0, $1099 = 0.0, $110 = 0, $1105 = 0.0, $1112 = 0.0, $112 = 0.0, $1122 = 0.0, $113 = 0.0, $1131 = 0.0, $1132 = 0.0, $114 = 0.0, $115 = 0, $1153 = 0, $1156 = 0, $116 = 0, $1164 = 0, $1165 = 0, $1169 = 0, $117 = 0, $1178 = 0, $118 = 0, $1185 = 0, $119 = 0, $1190 = 0.0, $1191 = 0.0, $1192 = 0.0, $1193 = 0, $1194 = 0, $1195 = 0, $1196 = 0, $1197 = 0, $1198 = 0, $1199 = 0, $12 = 0, $120 = 0, $1200 = 0, $1201 = 0, $1207 = 0.0, $121 = 0, $1213 = 0.0, $122 = 0, $1220 = 0.0, $123 = 0, $1230 = 0.0, $1239 = 0.0, $1240 = 0.0, $1261 = 0, $1264 = 0, $1272 = 0, $1273 = 0, $1277 = 0, $1286 = 0, $129 = 0.0, $1293 = 0, $1298 = 0.0, $1299 = 0.0, $13 = 0, $1300 = 0.0, $1301 = 0, $1302 = 0, $1303 = 0, $1304 = 0, $1305 = 0, $1306 = 0, $1307 = 0, $1308 = 0, $1309 = 0, $1315 = 0.0, $1321 = 0.0, $1328 = 0.0, $1338 = 0.0, $1347 = 0.0, $1348 = 0.0, $135 = 0.0, $1369 = 0, $1380 = 0, $1381 = 0, $1385 = 0, $1390 = 0, $1397 = 0, $14 = 0, $1402 = 0, $1409 = 0, $1412 = 0.0, $1413 = 0.0, $1414 = 0.0, $1415 = 0, $1416 = 0, $1417 = 0, $1418 = 0, $1419 = 0, $142 = 0.0, $1420 = 0, $1421 = 0, $1422 = 0, $1423 = 0, $1429 = 0.0, $1435 = 0.0, $1442 = 0.0, $1452 = 0.0, $1461 = 0.0, $1462 = 0.0, $1483 = 0, $15 = 0, $1502 = 0, $1509 = 0.0, $1510 = 0.0, $1511 = 0.0, $1512 = 0, $1513 = 0, $1514 = 0, $1515 = 0, $1516 = 0, $1517 = 0, $1518 = 0, $1519 = 0, $152 = 0.0, $1520 = 0, $1526 = 0.0, $1532 = 0.0, $1539 = 0.0, $1549 = 0.0, $1558 = 0.0, $1559 = 0.0, $1580 = 0, $1599 = 0, $16 = 0, $1606 = 0.0, $1607 = 0.0, $1608 = 0.0, $1609 = 0, $161 = 0.0, $1610 = 0, $1611 = 0, $1612 = 0, $1613 = 0, $1614 = 0, $1615 = 0, $1616 = 0, $1617 = 0, $162 = 0.0, $1623 = 0.0, $1629 = 0.0, $1636 = 0.0, $1646 = 0.0, $1655 = 0.0, $1656 = 0.0, $1677 = 0, $1697 = 0, $1702 = 0.0, $1703 = 0.0, $1704 = 0.0, $1705 = 0, $1706 = 0, $1707 = 0, $1708 = 0, $1709 = 0, $1710 = 0, $1711 = 0, $1712 = 0, $1713 = 0, $1719 = 0.0, $1725 = 0.0, $1732 = 0.0, $1742 = 0.0, $1751 = 0.0, $1752 = 0.0, $1773 = 0, $1780 = 0, $1785 = 0.0, $1786 = 0.0, $1787 = 0.0, $1788 = 0, $1789 = 0, $1790 = 0, $1791 = 0, $1792 = 0, $1793 = 0, $1794 = 0, $1795 = 0, $1796 = 0, $1802 = 0.0, $1808 = 0.0, $1815 = 0.0, $1825 = 0.0, $183 = 0, $1834 = 0.0, $1835 = 0.0, $1858 = 0, $1865 = 0, $1870 = 0.0, $1871 = 0.0, $1872 = 0.0, $1873 = 0, $1874 = 0, $1875 = 0, $1876 = 0, $1877 = 0, $1878 = 0, $1879 = 0, $1880 = 0, $1881 = 0, $1887 = 0.0, $1893 = 0.0, $1900 = 0.0, $1910 = 0.0, $1919 = 0.0, $192 = 0, $1920 = 0.0, $193 = 0, $1942 = 0, $1949 = 0, $1954 = 0.0, $1955 = 0.0, $1956 = 0.0, $1957 = 0, $1958 = 0, $1959 = 0, $1960 = 0, $1961 = 0, $1962 = 0, $1963 = 0, $1964 = 0, $1965 = 0, $1971 = 0.0, $1977 = 0.0, $1984 = 0.0, $1994 = 0.0, $2003 = 0.0, $2004 = 0.0, $201 = 0, $2025 = 0, $2028 = 0, $2036 = 0, $2051 = 0, $2056 = 0.0, $2057 = 0.0, $2058 = 0.0, $2059 = 0, $2060 = 0, $2061 = 0, $2062 = 0, $2063 = 0, $2064 = 0, $2065 = 0, $2066 = 0, $2067 = 0, $2073 = 0.0, $2079 = 0.0, $208 = 0, $2086 = 0.0, $2096 = 0.0, $2105 = 0.0, $2106 = 0.0, $2127 = 0, $213 = 0.0, $2130 = 0, $2138 = 0, $214 = 0.0, $215 = 0.0, $2153 = 0, $2158 = 0.0, $2159 = 0.0, $216 = 0, $2160 = 0.0, $2161 = 0, $2162 = 0, $2163 = 0, $2164 = 0, $2165 = 0, $2166 = 0, $2167 = 0, $2168 = 0, $2169 = 0, $217 = 0, $2175 = 0.0, $218 = 0, $2181 = 0.0, $2188 = 0.0, $219 = 0, $2198 = 0.0, $220 = 0, $2207 = 0.0, $2208 = 0.0, $221 = 0, $222 = 0, $2229 = 0, $223 = 0, $2232 = 0, $224 = 0, $2251 = 0, $2256 = 0, $2263 = 0, $230 = 0.0, $236 = 0.0, $243 = 0.0, $253 = 0.0, $262 = 0.0, $263 = 0.0, $284 = 0, $292 = 0, $293 = 0, $301 = 0, $309 = 0, $31 = 0.0, $314 = 0.0, $315 = 0.0, $316 = 0.0, $317 = 0, $318 = 0, $319 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $33 = 0.0, $331 = 0.0, $337 = 0.0, $34 = 0.0, $344 = 0.0, $354 = 0.0, $363 = 0.0, $364 = 0.0, $37 = 0.0, $385 = 0, $39 = 0.0, $394 = 0, $395 = 0, $40 = 0.0, $403 = 0, $410 = 0, $415 = 0.0, $416 = 0.0, $417 = 0.0, $418 = 0, $419 = 0, $420 = 0, $421 = 0, $422 = 0, $423 = 0, $424 = 0, $425 = 0, $426 = 0, $43 = 0, $432 = 0.0, $438 = 0.0, $445 = 0.0, $45 = 0.0, $455 = 0.0, $464 = 0.0, $465 = 0.0, $47 = 0.0, $48 = 0.0, $486 = 0, $494 = 0, $495 = 0, $503 = 0, $51 = 0.0, $511 = 0, $516 = 0.0, $517 = 0.0, $518 = 0.0, $519 = 0, $520 = 0, $521 = 0, $522 = 0, $523 = 0, $524 = 0, $525 = 0, $526 = 0, $527 = 0, $53 = 0.0, $533 = 0.0, $539 = 0.0, $54 = 0.0, $546 = 0.0, $556 = 0.0, $565 = 0.0, $566 = 0.0, $57 = 0, $58 = 0.0, $587 = 0, $596 = 0, $597 = 0, $60 = 0.0, $605 = 0, $613 = 0, $618 = 0.0, $619 = 0.0, $620 = 0.0, $621 = 0, $622 = 0, $623 = 0, $624 = 0, $625 = 0, $626 = 0, $627 = 0, $628 = 0, $629 = 0, $63 = 0, $635 = 0.0, $64 = 0.0, $641 = 0.0, $648 = 0.0, $658 = 0.0, $66 = 0.0, $667 = 0.0, $668 = 0.0, $689 = 0, $69 = 0, $691 = 0, $696 = 0, $697 = 0, $701 = 0, $705 = 0, $710 = 0.0, $711 = 0.0, $712 = 0.0, $713 = 0, $714 = 0, $715 = 0, $716 = 0, $717 = 0, $718 = 0, $719 = 0, $720 = 0, $721 = 0, $727 = 0.0, $733 = 0.0, $740 = 0.0, $75 = 0, $750 = 0.0, $759 = 0.0, $760 = 0.0, $781 = 0, $79 = 0, $790 = 0, $791 = 0, $799 = 0, $807 = 0, $812 = 0.0, $813 = 0.0, $814 = 0.0, $815 = 0, $816 = 0, $817 = 0, $818 = 0, $819 = 0, $820 = 0, $821 = 0, $822 = 0, $823 = 0, $829 = 0.0, $835 = 0.0, $842 = 0.0, $852 = 0.0, $861 = 0.0, $862 = 0.0, $881 = 0, $884 = 0, $889 = 0.0, $903 = 0.0, $904 = 0.0, $908 = 0, $914 = 0, $918 = 0, $920 = 0, $926 = 0, $927 = 0, $931 = 0, $935 = 0, $939 = 0, $942 = 0, $947 = 0.0, $948 = 0.0, $949 = 0.0, $950 = 0, $951 = 0, $952 = 0, $953 = 0, $954 = 0, $955 = 0, $956 = 0, $957 = 0, $958 = 0, $964 = 0.0, $970 = 0.0, $977 = 0.0, $987 = 0.0, $996 = 0.0, $997 = 0.0, $spec$select1520 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(256); + $vararg_buffer5 = sp + 232 | 0; + $vararg_buffer3 = sp + 224 | 0; + $vararg_buffer1 = sp + 216 | 0; + $vararg_buffer = sp + 208 | 0; + $12 = sp + 144 | 0; + $13 = sp + 80 | 0; + $14 = sp; + $15 = sp + 240 | 0; + $16 = sp + 236 | 0; + HEAPF64[$12 >> 3] = 100.0; + HEAPF64[$12 + 8 >> 3] = 100.0; + HEAPF64[$12 + 16 >> 3] = 110.0; + HEAPF64[$12 + 24 >> 3] = 100.0; + HEAPF64[$12 + 32 >> 3] = 110.0; + HEAPF64[$12 + 40 >> 3] = 110.0; + HEAPF64[$12 + 48 >> 3] = 100.0; + HEAPF64[$12 + 56 >> 3] = 110.0; + $$01474 = 0; + while (1) { + if (($$01474 | 0) == 4) break; + HEAPF64[$13 + ($$01474 << 4) >> 3] = +HEAPF64[$9 + ($$01474 << 4) >> 3]; + HEAPF64[$13 + ($$01474 << 4) + 8 >> 3] = +HEAPF64[$9 + ($$01474 << 4) + 8 >> 3]; + $$01474 = $$01474 + 1 | 0; + } + _get_cpara($12, $13, $14); + $31 = +HEAPF64[$13 >> 3]; + $33 = +HEAPF64[$13 + 16 >> 3]; + $34 = $31 - $33; + $37 = +HEAPF64[$13 + 8 >> 3]; + $39 = +HEAPF64[$13 + 24 >> 3]; + $40 = $37 - $39; + $43 = ~~($34 * $34 + $40 * $40); + $45 = +HEAPF64[$13 + 32 >> 3]; + $47 = +HEAPF64[$13 + 48 >> 3]; + $48 = $45 - $47; + $51 = +HEAPF64[$13 + 40 >> 3]; + $53 = +HEAPF64[$13 + 56 >> 3]; + $54 = $51 - $53; + $57 = ~~($48 * $48 + $54 * $54); + $58 = $33 - $45; + $60 = $39 - $51; + $63 = ~~($58 * $58 + $60 * $60); + $64 = $47 - $31; + $66 = $53 - $37; + $69 = ~~($64 * $64 + $66 * $66); + $75 = ~~(+((($57 | 0) > ($43 | 0) ? $57 : $43) | 0) * $10 * $10); + $79 = ~~(+((($69 | 0) > ($63 | 0) ? $69 : $63) | 0) * $10 * $10); + if (!$0) { + $$01464 = $2; + while (1) if (($$01464 | 0) < ($3 | 0) & (Math_imul($$01464, $$01464) | 0) < ($75 | 0)) $$01464 = $$01464 << 1; else break; + $$01468 = $2; + while (1) if (($$01468 | 0) < ($3 | 0) & (Math_imul($$01468, $$01468) | 0) < ($79 | 0)) $$01468 = $$01468 << 1; else { + $$21466 = $$01464; + $$21470 = $$01468; + break; + } + } else { + $$11465 = $2; + while (1) if (($$11465 | 0) < ($3 | 0) & (Math_imul($$11465 << 2, $$11465) | 0) < ($75 | 0)) $$11465 = $$11465 << 1; else break; + $$11469 = $2; + while (1) if (($$11469 | 0) < ($3 | 0) & (Math_imul($$11469 << 2, $$11469) | 0) < ($79 | 0)) $$11469 = $$11469 << 1; else { + $$21466 = $$11465; + $$21470 = $$11469; + break; + } + } + $spec$select1520 = ($$21466 | 0) > ($3 | 0) ? $3 : $$21466; + $$31471 = ($$21470 | 0) > ($3 | 0) ? $3 : $$21470; + $101 = ($spec$select1520 | 0) / ($2 | 0) | 0; + $102 = ($$31471 | 0) / ($2 | 0) | 0; + $105 = (1.0 - $10) * .5 * 10.0; + $106 = $10 * 10.0; + $108 = Math_imul($2, $2) | 0; + L19 : do if (!$1) { + $109 = $108 * 3 | 0; + $110 = _calloc($109, 4) | 0; + if (!$110) { + _arLog(0, 3, 45930, $vararg_buffer); + _exit(1); + } + L24 : do switch ($7 | 0) { + case 0: + { + $112 = $105 + 100.0; + $113 = +($$31471 | 0); + $114 = +($spec$select1520 | 0); + $115 = $14 + 48 | 0; + $116 = $14 + 56 | 0; + $117 = $14 + 64 | 0; + $118 = $14 + 8 | 0; + $119 = $14 + 16 | 0; + $120 = $14 + 24 | 0; + $121 = $14 + 32 | 0; + $122 = $14 + 40 | 0; + $123 = ($0 | 0) == 1; + $$01495 = 0; + while (1) { + if (($$01495 | 0) >= ($$31471 | 0)) break L24; + $129 = $112 + $106 * (+($$01495 | 0) + .5) / $113; + $$11475 = 0; + while (1) { + if (($$11475 | 0) >= ($spec$select1520 | 0)) break; + $135 = $112 + $106 * (+($$11475 | 0) + .5) / $114; + $142 = +HEAPF64[$117 >> 3] + ($135 * +HEAPF64[$115 >> 3] + $129 * +HEAPF64[$116 >> 3]); + if ($142 == 0.0) { + $2263 = $110; + label = 306; + break L19; + } + $152 = (+HEAPF64[$119 >> 3] + ($135 * +HEAPF64[$14 >> 3] + $129 * +HEAPF64[$118 >> 3])) / $142; + HEAPF32[$15 >> 2] = $152; + $161 = (+HEAPF64[$122 >> 3] + ($135 * +HEAPF64[$120 >> 3] + $129 * +HEAPF64[$121 >> 3])) / $142; + HEAPF32[$16 >> 2] = $161; + _arParamIdeal2ObservLTf($8, $152, $161, $15, $16) | 0; + $162 = +HEAPF32[$15 >> 2]; + if ($123) { + $$01442 = ((~~($162 + 1.0) | 0) / 2 | 0) << 1; + $$01443 = ((~~(+HEAPF32[$16 >> 2] + 1.0) | 0) / 2 | 0) << 1; + } else { + $$01442 = ~~($162 + .5); + $$01443 = ~~(+HEAPF32[$16 >> 2] + .5); + } + if (($$01442 | 0) > -1 ? ($$01443 | 0) < ($6 | 0) & (($$01443 | 0) > -1 & ($$01442 | 0) < ($5 | 0)) : 0) { + $183 = ((Math_imul($$01443, $5) | 0) + $$01442 | 0) * 3 | 0; + $192 = ((Math_imul(($$01495 | 0) / ($102 | 0) | 0, $2) | 0) + (($$11475 | 0) / ($101 | 0) | 0) | 0) * 3 | 0; + $193 = $110 + ($192 << 2) | 0; + HEAP32[$193 >> 2] = (HEAP32[$193 >> 2] | 0) + (HEAPU8[$4 + ($183 + 2) >> 0] | 0); + $201 = $110 + ($192 + 1 << 2) | 0; + HEAP32[$201 >> 2] = (HEAP32[$201 >> 2] | 0) + (HEAPU8[$4 + ($183 + 1) >> 0] | 0); + $208 = $110 + ($192 + 2 << 2) | 0; + HEAP32[$208 >> 2] = (HEAP32[$208 >> 2] | 0) + (HEAPU8[$4 + $183 >> 0] | 0); + } + $$11475 = $$11475 + 1 | 0; + } + $$01495 = $$01495 + 1 | 0; + } + break; + } + case 1: + { + $213 = $105 + 100.0; + $214 = +($$31471 | 0); + $215 = +($spec$select1520 | 0); + $216 = $14 + 48 | 0; + $217 = $14 + 56 | 0; + $218 = $14 + 64 | 0; + $219 = $14 + 8 | 0; + $220 = $14 + 16 | 0; + $221 = $14 + 24 | 0; + $222 = $14 + 32 | 0; + $223 = $14 + 40 | 0; + $224 = ($0 | 0) == 1; + $$11496 = 0; + while (1) { + if (($$11496 | 0) >= ($$31471 | 0)) break L24; + $230 = $213 + $106 * (+($$11496 | 0) + .5) / $214; + $$21476 = 0; + while (1) { + if (($$21476 | 0) >= ($spec$select1520 | 0)) break; + $236 = $213 + $106 * (+($$21476 | 0) + .5) / $215; + $243 = +HEAPF64[$218 >> 3] + ($236 * +HEAPF64[$216 >> 3] + $230 * +HEAPF64[$217 >> 3]); + if ($243 == 0.0) { + $2263 = $110; + label = 306; + break L19; + } + $253 = (+HEAPF64[$220 >> 3] + ($236 * +HEAPF64[$14 >> 3] + $230 * +HEAPF64[$219 >> 3])) / $243; + HEAPF32[$15 >> 2] = $253; + $262 = (+HEAPF64[$223 >> 3] + ($236 * +HEAPF64[$221 >> 3] + $230 * +HEAPF64[$222 >> 3])) / $243; + HEAPF32[$16 >> 2] = $262; + _arParamIdeal2ObservLTf($8, $253, $262, $15, $16) | 0; + $263 = +HEAPF32[$15 >> 2]; + if ($224) { + $$1 = ((~~($263 + 1.0) | 0) / 2 | 0) << 1; + $$11444 = ((~~(+HEAPF32[$16 >> 2] + 1.0) | 0) / 2 | 0) << 1; + } else { + $$1 = ~~($263 + .5); + $$11444 = ~~(+HEAPF32[$16 >> 2] + .5); + } + if (($$1 | 0) > -1 ? ($$11444 | 0) < ($6 | 0) & (($$11444 | 0) > -1 & ($$1 | 0) < ($5 | 0)) : 0) { + $284 = ((Math_imul($$11444, $5) | 0) + $$1 | 0) * 3 | 0; + $292 = ((Math_imul(($$11496 | 0) / ($102 | 0) | 0, $2) | 0) + (($$21476 | 0) / ($101 | 0) | 0) | 0) * 3 | 0; + $293 = $110 + ($292 << 2) | 0; + HEAP32[$293 >> 2] = (HEAP32[$293 >> 2] | 0) + (HEAPU8[$4 + $284 >> 0] | 0); + $301 = $110 + ($292 + 1 << 2) | 0; + HEAP32[$301 >> 2] = (HEAP32[$301 >> 2] | 0) + (HEAPU8[$4 + ($284 + 1) >> 0] | 0); + $309 = $110 + ($292 + 2 << 2) | 0; + HEAP32[$309 >> 2] = (HEAP32[$309 >> 2] | 0) + (HEAPU8[$4 + ($284 + 2) >> 0] | 0); + } + $$21476 = $$21476 + 1 | 0; + } + $$11496 = $$11496 + 1 | 0; + } + break; + } + case 2: + { + $314 = $105 + 100.0; + $315 = +($$31471 | 0); + $316 = +($spec$select1520 | 0); + $317 = $14 + 48 | 0; + $318 = $14 + 56 | 0; + $319 = $14 + 64 | 0; + $320 = $14 + 8 | 0; + $321 = $14 + 16 | 0; + $322 = $14 + 24 | 0; + $323 = $14 + 32 | 0; + $324 = $14 + 40 | 0; + $325 = ($0 | 0) == 1; + $$21497 = 0; + while (1) { + if (($$21497 | 0) >= ($$31471 | 0)) break L24; + $331 = $314 + $106 * (+($$21497 | 0) + .5) / $315; + $$31477 = 0; + while (1) { + if (($$31477 | 0) >= ($spec$select1520 | 0)) break; + $337 = $314 + $106 * (+($$31477 | 0) + .5) / $316; + $344 = +HEAPF64[$319 >> 3] + ($337 * +HEAPF64[$317 >> 3] + $331 * +HEAPF64[$318 >> 3]); + if ($344 == 0.0) { + $2263 = $110; + label = 306; + break L19; + } + $354 = (+HEAPF64[$321 >> 3] + ($337 * +HEAPF64[$14 >> 3] + $331 * +HEAPF64[$320 >> 3])) / $344; + HEAPF32[$15 >> 2] = $354; + $363 = (+HEAPF64[$324 >> 3] + ($337 * +HEAPF64[$322 >> 3] + $331 * +HEAPF64[$323 >> 3])) / $344; + HEAPF32[$16 >> 2] = $363; + _arParamIdeal2ObservLTf($8, $354, $363, $15, $16) | 0; + $364 = +HEAPF32[$15 >> 2]; + if ($325) { + $$2 = ((~~($364 + 1.0) | 0) / 2 | 0) << 1; + $$21445 = ((~~(+HEAPF32[$16 >> 2] + 1.0) | 0) / 2 | 0) << 1; + } else { + $$2 = ~~($364 + .5); + $$21445 = ~~(+HEAPF32[$16 >> 2] + .5); + } + if (($$2 | 0) > -1 ? ($$21445 | 0) < ($6 | 0) & (($$21445 | 0) > -1 & ($$2 | 0) < ($5 | 0)) : 0) { + $385 = (Math_imul($$21445, $5) | 0) + $$2 << 2; + $394 = ((Math_imul(($$21497 | 0) / ($102 | 0) | 0, $2) | 0) + (($$31477 | 0) / ($101 | 0) | 0) | 0) * 3 | 0; + $395 = $110 + ($394 << 2) | 0; + HEAP32[$395 >> 2] = (HEAP32[$395 >> 2] | 0) + (HEAPU8[$4 + ($385 | 2) >> 0] | 0); + $403 = $110 + ($394 + 1 << 2) | 0; + HEAP32[$403 >> 2] = (HEAP32[$403 >> 2] | 0) + (HEAPU8[$4 + ($385 | 1) >> 0] | 0); + $410 = $110 + ($394 + 2 << 2) | 0; + HEAP32[$410 >> 2] = (HEAP32[$410 >> 2] | 0) + (HEAPU8[$4 + $385 >> 0] | 0); + } + $$31477 = $$31477 + 1 | 0; + } + $$21497 = $$21497 + 1 | 0; + } + break; + } + case 3: + { + $415 = $105 + 100.0; + $416 = +($$31471 | 0); + $417 = +($spec$select1520 | 0); + $418 = $14 + 48 | 0; + $419 = $14 + 56 | 0; + $420 = $14 + 64 | 0; + $421 = $14 + 8 | 0; + $422 = $14 + 16 | 0; + $423 = $14 + 24 | 0; + $424 = $14 + 32 | 0; + $425 = $14 + 40 | 0; + $426 = ($0 | 0) == 1; + $$31498 = 0; + while (1) { + if (($$31498 | 0) >= ($$31471 | 0)) break L24; + $432 = $415 + $106 * (+($$31498 | 0) + .5) / $416; + $$41478 = 0; + while (1) { + if (($$41478 | 0) >= ($spec$select1520 | 0)) break; + $438 = $415 + $106 * (+($$41478 | 0) + .5) / $417; + $445 = +HEAPF64[$420 >> 3] + ($438 * +HEAPF64[$418 >> 3] + $432 * +HEAPF64[$419 >> 3]); + if ($445 == 0.0) { + $2263 = $110; + label = 306; + break L19; + } + $455 = (+HEAPF64[$422 >> 3] + ($438 * +HEAPF64[$14 >> 3] + $432 * +HEAPF64[$421 >> 3])) / $445; + HEAPF32[$15 >> 2] = $455; + $464 = (+HEAPF64[$425 >> 3] + ($438 * +HEAPF64[$423 >> 3] + $432 * +HEAPF64[$424 >> 3])) / $445; + HEAPF32[$16 >> 2] = $464; + _arParamIdeal2ObservLTf($8, $455, $464, $15, $16) | 0; + $465 = +HEAPF32[$15 >> 2]; + if ($426) { + $$3 = ((~~($465 + 1.0) | 0) / 2 | 0) << 1; + $$31446 = ((~~(+HEAPF32[$16 >> 2] + 1.0) | 0) / 2 | 0) << 1; + } else { + $$3 = ~~($465 + .5); + $$31446 = ~~(+HEAPF32[$16 >> 2] + .5); + } + if (($$3 | 0) > -1 ? ($$31446 | 0) < ($6 | 0) & (($$31446 | 0) > -1 & ($$3 | 0) < ($5 | 0)) : 0) { + $486 = (Math_imul($$31446, $5) | 0) + $$3 << 2; + $494 = ((Math_imul(($$31498 | 0) / ($102 | 0) | 0, $2) | 0) + (($$41478 | 0) / ($101 | 0) | 0) | 0) * 3 | 0; + $495 = $110 + ($494 << 2) | 0; + HEAP32[$495 >> 2] = (HEAP32[$495 >> 2] | 0) + (HEAPU8[$4 + $486 >> 0] | 0); + $503 = $110 + ($494 + 1 << 2) | 0; + HEAP32[$503 >> 2] = (HEAP32[$503 >> 2] | 0) + (HEAPU8[$4 + ($486 | 1) >> 0] | 0); + $511 = $110 + ($494 + 2 << 2) | 0; + HEAP32[$511 >> 2] = (HEAP32[$511 >> 2] | 0) + (HEAPU8[$4 + ($486 | 2) >> 0] | 0); + } + $$41478 = $$41478 + 1 | 0; + } + $$31498 = $$31498 + 1 | 0; + } + break; + } + case 4: + { + $516 = $105 + 100.0; + $517 = +($$31471 | 0); + $518 = +($spec$select1520 | 0); + $519 = $14 + 48 | 0; + $520 = $14 + 56 | 0; + $521 = $14 + 64 | 0; + $522 = $14 + 8 | 0; + $523 = $14 + 16 | 0; + $524 = $14 + 24 | 0; + $525 = $14 + 32 | 0; + $526 = $14 + 40 | 0; + $527 = ($0 | 0) == 1; + $$41499 = 0; + while (1) { + if (($$41499 | 0) >= ($$31471 | 0)) break L24; + $533 = $516 + $106 * (+($$41499 | 0) + .5) / $517; + $$51479 = 0; + while (1) { + if (($$51479 | 0) >= ($spec$select1520 | 0)) break; + $539 = $516 + $106 * (+($$51479 | 0) + .5) / $518; + $546 = +HEAPF64[$521 >> 3] + ($539 * +HEAPF64[$519 >> 3] + $533 * +HEAPF64[$520 >> 3]); + if ($546 == 0.0) { + $2263 = $110; + label = 306; + break L19; + } + $556 = (+HEAPF64[$523 >> 3] + ($539 * +HEAPF64[$14 >> 3] + $533 * +HEAPF64[$522 >> 3])) / $546; + HEAPF32[$15 >> 2] = $556; + $565 = (+HEAPF64[$526 >> 3] + ($539 * +HEAPF64[$524 >> 3] + $533 * +HEAPF64[$525 >> 3])) / $546; + HEAPF32[$16 >> 2] = $565; + _arParamIdeal2ObservLTf($8, $556, $565, $15, $16) | 0; + $566 = +HEAPF32[$15 >> 2]; + if ($527) { + $$4 = ((~~($566 + 1.0) | 0) / 2 | 0) << 1; + $$41447 = ((~~(+HEAPF32[$16 >> 2] + 1.0) | 0) / 2 | 0) << 1; + } else { + $$4 = ~~($566 + .5); + $$41447 = ~~(+HEAPF32[$16 >> 2] + .5); + } + if (($$4 | 0) > -1 ? ($$41447 | 0) < ($6 | 0) & (($$41447 | 0) > -1 & ($$4 | 0) < ($5 | 0)) : 0) { + $587 = (Math_imul($$41447, $5) | 0) + $$4 << 2; + $596 = ((Math_imul(($$41499 | 0) / ($102 | 0) | 0, $2) | 0) + (($$51479 | 0) / ($101 | 0) | 0) | 0) * 3 | 0; + $597 = $110 + ($596 << 2) | 0; + HEAP32[$597 >> 2] = (HEAP32[$597 >> 2] | 0) + (HEAPU8[$4 + ($587 | 1) >> 0] | 0); + $605 = $110 + ($596 + 1 << 2) | 0; + HEAP32[$605 >> 2] = (HEAP32[$605 >> 2] | 0) + (HEAPU8[$4 + ($587 | 2) >> 0] | 0); + $613 = $110 + ($596 + 2 << 2) | 0; + HEAP32[$613 >> 2] = (HEAP32[$613 >> 2] | 0) + (HEAPU8[$4 + ($587 | 3) >> 0] | 0); + } + $$51479 = $$51479 + 1 | 0; + } + $$41499 = $$41499 + 1 | 0; + } + break; + } + case 5: + case 12: + case 13: + case 14: + { + $618 = $105 + 100.0; + $619 = +($$31471 | 0); + $620 = +($spec$select1520 | 0); + $621 = $14 + 48 | 0; + $622 = $14 + 56 | 0; + $623 = $14 + 64 | 0; + $624 = $14 + 8 | 0; + $625 = $14 + 16 | 0; + $626 = $14 + 24 | 0; + $627 = $14 + 32 | 0; + $628 = $14 + 40 | 0; + $629 = ($0 | 0) == 1; + $$51500 = 0; + while (1) { + if (($$51500 | 0) >= ($$31471 | 0)) break L24; + $635 = $618 + $106 * (+($$51500 | 0) + .5) / $619; + $$61480 = 0; + while (1) { + if (($$61480 | 0) >= ($spec$select1520 | 0)) break; + $641 = $618 + $106 * (+($$61480 | 0) + .5) / $620; + $648 = +HEAPF64[$623 >> 3] + ($641 * +HEAPF64[$621 >> 3] + $635 * +HEAPF64[$622 >> 3]); + if ($648 == 0.0) { + $2263 = $110; + label = 306; + break L19; + } + $658 = (+HEAPF64[$625 >> 3] + ($641 * +HEAPF64[$14 >> 3] + $635 * +HEAPF64[$624 >> 3])) / $648; + HEAPF32[$15 >> 2] = $658; + $667 = (+HEAPF64[$628 >> 3] + ($641 * +HEAPF64[$626 >> 3] + $635 * +HEAPF64[$627 >> 3])) / $648; + HEAPF32[$16 >> 2] = $667; + _arParamIdeal2ObservLTf($8, $658, $667, $15, $16) | 0; + $668 = +HEAPF32[$15 >> 2]; + if ($629) { + $$5 = ((~~($668 + 1.0) | 0) / 2 | 0) << 1; + $$51448 = ((~~(+HEAPF32[$16 >> 2] + 1.0) | 0) / 2 | 0) << 1; + } else { + $$5 = ~~($668 + .5); + $$51448 = ~~(+HEAPF32[$16 >> 2] + .5); + } + if (($$5 | 0) > -1 ? ($$51448 | 0) < ($6 | 0) & (($$51448 | 0) > -1 & ($$5 | 0) < ($5 | 0)) : 0) { + $689 = $4 + ((Math_imul($$51448, $5) | 0) + $$5) | 0; + $691 = HEAPU8[$689 >> 0] | 0; + $696 = ((Math_imul(($$51500 | 0) / ($102 | 0) | 0, $2) | 0) + (($$61480 | 0) / ($101 | 0) | 0) | 0) * 3 | 0; + $697 = $110 + ($696 << 2) | 0; + HEAP32[$697 >> 2] = (HEAP32[$697 >> 2] | 0) + $691; + $701 = $110 + ($696 + 1 << 2) | 0; + HEAP32[$701 >> 2] = (HEAP32[$701 >> 2] | 0) + $691; + $705 = $110 + ($696 + 2 << 2) | 0; + HEAP32[$705 >> 2] = (HEAP32[$705 >> 2] | 0) + $691; + } + $$61480 = $$61480 + 1 | 0; + } + $$51500 = $$51500 + 1 | 0; + } + break; + } + case 6: + { + $710 = $105 + 100.0; + $711 = +($$31471 | 0); + $712 = +($spec$select1520 | 0); + $713 = $14 + 48 | 0; + $714 = $14 + 56 | 0; + $715 = $14 + 64 | 0; + $716 = $14 + 8 | 0; + $717 = $14 + 16 | 0; + $718 = $14 + 24 | 0; + $719 = $14 + 32 | 0; + $720 = $14 + 40 | 0; + $721 = ($0 | 0) == 1; + $$61501 = 0; + while (1) { + if (($$61501 | 0) >= ($$31471 | 0)) break L24; + $727 = $710 + $106 * (+($$61501 | 0) + .5) / $711; + $$71481 = 0; + while (1) { + if (($$71481 | 0) >= ($spec$select1520 | 0)) break; + $733 = $710 + $106 * (+($$71481 | 0) + .5) / $712; + $740 = +HEAPF64[$715 >> 3] + ($733 * +HEAPF64[$713 >> 3] + $727 * +HEAPF64[$714 >> 3]); + if ($740 == 0.0) { + $2263 = $110; + label = 306; + break L19; + } + $750 = (+HEAPF64[$717 >> 3] + ($733 * +HEAPF64[$14 >> 3] + $727 * +HEAPF64[$716 >> 3])) / $740; + HEAPF32[$15 >> 2] = $750; + $759 = (+HEAPF64[$720 >> 3] + ($733 * +HEAPF64[$718 >> 3] + $727 * +HEAPF64[$719 >> 3])) / $740; + HEAPF32[$16 >> 2] = $759; + _arParamIdeal2ObservLTf($8, $750, $759, $15, $16) | 0; + $760 = +HEAPF32[$15 >> 2]; + if ($721) { + $$6 = ((~~($760 + 1.0) | 0) / 2 | 0) << 1; + $$61449 = ((~~(+HEAPF32[$16 >> 2] + 1.0) | 0) / 2 | 0) << 1; + } else { + $$6 = ~~($760 + .5); + $$61449 = ~~(+HEAPF32[$16 >> 2] + .5); + } + if (($$6 | 0) > -1 ? ($$61449 | 0) < ($6 | 0) & (($$61449 | 0) > -1 & ($$6 | 0) < ($5 | 0)) : 0) { + $781 = (Math_imul($$61449, $5) | 0) + $$6 << 2; + $790 = ((Math_imul(($$61501 | 0) / ($102 | 0) | 0, $2) | 0) + (($$71481 | 0) / ($101 | 0) | 0) | 0) * 3 | 0; + $791 = $110 + ($790 << 2) | 0; + HEAP32[$791 >> 2] = (HEAP32[$791 >> 2] | 0) + (HEAPU8[$4 + ($781 | 3) >> 0] | 0); + $799 = $110 + ($790 + 1 << 2) | 0; + HEAP32[$799 >> 2] = (HEAP32[$799 >> 2] | 0) + (HEAPU8[$4 + ($781 | 2) >> 0] | 0); + $807 = $110 + ($790 + 2 << 2) | 0; + HEAP32[$807 >> 2] = (HEAP32[$807 >> 2] | 0) + (HEAPU8[$4 + ($781 | 1) >> 0] | 0); + } + $$71481 = $$71481 + 1 | 0; + } + $$61501 = $$61501 + 1 | 0; + } + break; + } + case 7: + { + $812 = $105 + 100.0; + $813 = +($$31471 | 0); + $814 = +($spec$select1520 | 0); + $815 = $14 + 48 | 0; + $816 = $14 + 56 | 0; + $817 = $14 + 64 | 0; + $818 = $14 + 8 | 0; + $819 = $14 + 16 | 0; + $820 = $14 + 24 | 0; + $821 = $14 + 32 | 0; + $822 = $14 + 40 | 0; + $823 = ($0 | 0) == 1; + $$71502 = 0; + while (1) { + if (($$71502 | 0) >= ($$31471 | 0)) break L24; + $829 = $812 + $106 * (+($$71502 | 0) + .5) / $813; + $$81482 = 0; + while (1) { + if (($$81482 | 0) >= ($spec$select1520 | 0)) break; + $835 = $812 + $106 * (+($$81482 | 0) + .5) / $814; + $842 = +HEAPF64[$817 >> 3] + ($835 * +HEAPF64[$815 >> 3] + $829 * +HEAPF64[$816 >> 3]); + if ($842 == 0.0) { + $2263 = $110; + label = 306; + break L19; + } + $852 = (+HEAPF64[$819 >> 3] + ($835 * +HEAPF64[$14 >> 3] + $829 * +HEAPF64[$818 >> 3])) / $842; + HEAPF32[$15 >> 2] = $852; + $861 = (+HEAPF64[$822 >> 3] + ($835 * +HEAPF64[$820 >> 3] + $829 * +HEAPF64[$821 >> 3])) / $842; + HEAPF32[$16 >> 2] = $861; + _arParamIdeal2ObservLTf($8, $852, $861, $15, $16) | 0; + $862 = +HEAPF32[$15 >> 2]; + if ($823) { + $$7 = ((~~($862 + 1.0) | 0) / 2 | 0) << 1; + $$71450 = ((~~(+HEAPF32[$16 >> 2] + 1.0) | 0) / 2 | 0) << 1; + } else { + $$7 = ~~($862 + .5); + $$71450 = ~~(+HEAPF32[$16 >> 2] + .5); + } + if (($$7 | 0) > -1 ? ($$71450 | 0) < ($6 | 0) & (($$71450 | 0) > -1 & ($$7 | 0) < ($5 | 0)) : 0) { + $881 = Math_imul($$71450, $5) | 0; + $884 = ($$7 & 65534) + $881 << 1; + $889 = +((HEAPU8[$4 + $884 >> 0] | 0) + -128 | 0); + $903 = +((HEAPU8[$4 + ($884 + 2) >> 0] | 0) + -128 | 0); + $904 = +((HEAPU8[$4 + ($881 + $$7 << 1 | 1) >> 0] | 0) + -16 | 0) * 298.0820007324219; + $908 = ~~($889 * 516.4110107421875 + $904) >> 8; + $914 = ~~($904 - $889 * 100.29100036621094 - $903 * 208.1199951171875) >> 8; + $918 = ~~($904 + $903 * 408.5830078125) >> 8; + $920 = ($908 | 0) > 0 ? $908 : 0; + $926 = ((Math_imul(($$71502 | 0) / ($102 | 0) | 0, $2) | 0) + (($$81482 | 0) / ($101 | 0) | 0) | 0) * 3 | 0; + $927 = $110 + ($926 << 2) | 0; + HEAP32[$927 >> 2] = (($920 | 0) < 255 ? $920 : 255) + (HEAP32[$927 >> 2] | 0); + $931 = ($914 | 0) > 0 ? $914 : 0; + $935 = $110 + ($926 + 1 << 2) | 0; + HEAP32[$935 >> 2] = (($931 | 0) < 255 ? $931 : 255) + (HEAP32[$935 >> 2] | 0); + $939 = ($918 | 0) > 0 ? $918 : 0; + $942 = $110 + ($926 + 2 << 2) | 0; + HEAP32[$942 >> 2] = (($939 | 0) < 255 ? $939 : 255) + (HEAP32[$942 >> 2] | 0); + } + $$81482 = $$81482 + 1 | 0; + } + $$71502 = $$71502 + 1 | 0; + } + break; + } + case 8: + { + $947 = $105 + 100.0; + $948 = +($$31471 | 0); + $949 = +($spec$select1520 | 0); + $950 = $14 + 48 | 0; + $951 = $14 + 56 | 0; + $952 = $14 + 64 | 0; + $953 = $14 + 8 | 0; + $954 = $14 + 16 | 0; + $955 = $14 + 24 | 0; + $956 = $14 + 32 | 0; + $957 = $14 + 40 | 0; + $958 = ($0 | 0) == 1; + $$81503 = 0; + while (1) { + if (($$81503 | 0) >= ($$31471 | 0)) break L24; + $964 = $947 + $106 * (+($$81503 | 0) + .5) / $948; + $$91483 = 0; + while (1) { + if (($$91483 | 0) >= ($spec$select1520 | 0)) break; + $970 = $947 + $106 * (+($$91483 | 0) + .5) / $949; + $977 = +HEAPF64[$952 >> 3] + ($970 * +HEAPF64[$950 >> 3] + $964 * +HEAPF64[$951 >> 3]); + if ($977 == 0.0) { + $2263 = $110; + label = 306; + break L19; + } + $987 = (+HEAPF64[$954 >> 3] + ($970 * +HEAPF64[$14 >> 3] + $964 * +HEAPF64[$953 >> 3])) / $977; + HEAPF32[$15 >> 2] = $987; + $996 = (+HEAPF64[$957 >> 3] + ($970 * +HEAPF64[$955 >> 3] + $964 * +HEAPF64[$956 >> 3])) / $977; + HEAPF32[$16 >> 2] = $996; + _arParamIdeal2ObservLTf($8, $987, $996, $15, $16) | 0; + $997 = +HEAPF32[$15 >> 2]; + if ($958) { + $$8 = ((~~($997 + 1.0) | 0) / 2 | 0) << 1; + $$81451 = ((~~(+HEAPF32[$16 >> 2] + 1.0) | 0) / 2 | 0) << 1; + } else { + $$8 = ~~($997 + .5); + $$81451 = ~~(+HEAPF32[$16 >> 2] + .5); + } + if (($$8 | 0) > -1 ? ($$81451 | 0) < ($6 | 0) & (($$81451 | 0) > -1 & ($$8 | 0) < ($5 | 0)) : 0) { + $1016 = Math_imul($$81451, $5) | 0; + $1026 = ($$8 & 65534) + $1016 << 1; + $1032 = +((HEAPU8[$4 + ($1026 | 1) >> 0] | 0) + -128 | 0); + $1038 = +((HEAPU8[$4 + ($1026 + 3) >> 0] | 0) + -128 | 0); + $1039 = +((HEAPU8[$4 + ($1016 + $$8 << 1) >> 0] | 0) + -16 | 0) * 298.0820007324219; + $1043 = ~~($1039 + $1032 * 516.4110107421875) >> 8; + $1049 = ~~($1039 - $1032 * 100.29100036621094 - $1038 * 208.1199951171875) >> 8; + $1053 = ~~($1039 + $1038 * 408.5830078125) >> 8; + $1055 = ($1043 | 0) > 0 ? $1043 : 0; + $1061 = ((Math_imul(($$81503 | 0) / ($102 | 0) | 0, $2) | 0) + (($$91483 | 0) / ($101 | 0) | 0) | 0) * 3 | 0; + $1062 = $110 + ($1061 << 2) | 0; + HEAP32[$1062 >> 2] = (($1055 | 0) < 255 ? $1055 : 255) + (HEAP32[$1062 >> 2] | 0); + $1066 = ($1049 | 0) > 0 ? $1049 : 0; + $1070 = $110 + ($1061 + 1 << 2) | 0; + HEAP32[$1070 >> 2] = (($1066 | 0) < 255 ? $1066 : 255) + (HEAP32[$1070 >> 2] | 0); + $1074 = ($1053 | 0) > 0 ? $1053 : 0; + $1077 = $110 + ($1061 + 2 << 2) | 0; + HEAP32[$1077 >> 2] = (($1074 | 0) < 255 ? $1074 : 255) + (HEAP32[$1077 >> 2] | 0); + } + $$91483 = $$91483 + 1 | 0; + } + $$81503 = $$81503 + 1 | 0; + } + break; + } + case 9: + { + $1082 = $105 + 100.0; + $1083 = +($$31471 | 0); + $1084 = +($spec$select1520 | 0); + $1085 = $14 + 48 | 0; + $1086 = $14 + 56 | 0; + $1087 = $14 + 64 | 0; + $1088 = $14 + 8 | 0; + $1089 = $14 + 16 | 0; + $1090 = $14 + 24 | 0; + $1091 = $14 + 32 | 0; + $1092 = $14 + 40 | 0; + $1093 = ($0 | 0) == 1; + $$91504 = 0; + while (1) { + if (($$91504 | 0) >= ($$31471 | 0)) break L24; + $1099 = $1082 + $106 * (+($$91504 | 0) + .5) / $1083; + $$101484 = 0; + while (1) { + if (($$101484 | 0) >= ($spec$select1520 | 0)) break; + $1105 = $1082 + $106 * (+($$101484 | 0) + .5) / $1084; + $1112 = +HEAPF64[$1087 >> 3] + ($1105 * +HEAPF64[$1085 >> 3] + $1099 * +HEAPF64[$1086 >> 3]); + if ($1112 == 0.0) { + $2263 = $110; + label = 306; + break L19; + } + $1122 = (+HEAPF64[$1089 >> 3] + ($1105 * +HEAPF64[$14 >> 3] + $1099 * +HEAPF64[$1088 >> 3])) / $1112; + HEAPF32[$15 >> 2] = $1122; + $1131 = (+HEAPF64[$1092 >> 3] + ($1105 * +HEAPF64[$1090 >> 3] + $1099 * +HEAPF64[$1091 >> 3])) / $1112; + HEAPF32[$16 >> 2] = $1131; + _arParamIdeal2ObservLTf($8, $1122, $1131, $15, $16) | 0; + $1132 = +HEAPF32[$15 >> 2]; + if ($1093) { + $$9 = ((~~($1132 + 1.0) | 0) / 2 | 0) << 1; + $$91452 = ((~~(+HEAPF32[$16 >> 2] + 1.0) | 0) / 2 | 0) << 1; + } else { + $$9 = ~~($1132 + .5); + $$91452 = ~~(+HEAPF32[$16 >> 2] + .5); + } + if (($$9 | 0) > -1 ? ($$91452 | 0) < ($6 | 0) & (($$91452 | 0) > -1 & ($$9 | 0) < ($5 | 0)) : 0) { + $1153 = (Math_imul($$91452, $5) | 0) + $$9 << 1; + $1156 = HEAP8[$4 + ($1153 | 1) >> 0] | 0; + $1164 = ((Math_imul(($$91504 | 0) / ($102 | 0) | 0, $2) | 0) + (($$101484 | 0) / ($101 | 0) | 0) | 0) * 3 | 0; + $1165 = $110 + ($1164 << 2) | 0; + HEAP32[$1165 >> 2] = (HEAP32[$1165 >> 2] | 0) + (($1156 << 3 & 255 | 4) & 255); + $1169 = HEAP8[$4 + $1153 >> 0] | 0; + $1178 = $110 + ($1164 + 1 << 2) | 0; + HEAP32[$1178 >> 2] = (($1156 & -32 & 255) >>> 3 | $1169 << 5 & 255 | 2) + (HEAP32[$1178 >> 2] | 0); + $1185 = $110 + ($1164 + 2 << 2) | 0; + HEAP32[$1185 >> 2] = (HEAP32[$1185 >> 2] | 0) + (($1169 & -8 | 4) & 255); + } + $$101484 = $$101484 + 1 | 0; + } + $$91504 = $$91504 + 1 | 0; + } + break; + } + case 10: + { + $1190 = $105 + 100.0; + $1191 = +($$31471 | 0); + $1192 = +($spec$select1520 | 0); + $1193 = $14 + 48 | 0; + $1194 = $14 + 56 | 0; + $1195 = $14 + 64 | 0; + $1196 = $14 + 8 | 0; + $1197 = $14 + 16 | 0; + $1198 = $14 + 24 | 0; + $1199 = $14 + 32 | 0; + $1200 = $14 + 40 | 0; + $1201 = ($0 | 0) == 1; + $$101505 = 0; + while (1) { + if (($$101505 | 0) >= ($$31471 | 0)) break L24; + $1207 = $1190 + $106 * (+($$101505 | 0) + .5) / $1191; + $$111485 = 0; + while (1) { + if (($$111485 | 0) >= ($spec$select1520 | 0)) break; + $1213 = $1190 + $106 * (+($$111485 | 0) + .5) / $1192; + $1220 = +HEAPF64[$1195 >> 3] + ($1213 * +HEAPF64[$1193 >> 3] + $1207 * +HEAPF64[$1194 >> 3]); + if ($1220 == 0.0) { + $2263 = $110; + label = 306; + break L19; + } + $1230 = (+HEAPF64[$1197 >> 3] + ($1213 * +HEAPF64[$14 >> 3] + $1207 * +HEAPF64[$1196 >> 3])) / $1220; + HEAPF32[$15 >> 2] = $1230; + $1239 = (+HEAPF64[$1200 >> 3] + ($1213 * +HEAPF64[$1198 >> 3] + $1207 * +HEAPF64[$1199 >> 3])) / $1220; + HEAPF32[$16 >> 2] = $1239; + _arParamIdeal2ObservLTf($8, $1230, $1239, $15, $16) | 0; + $1240 = +HEAPF32[$15 >> 2]; + if ($1201) { + $$10 = ((~~($1240 + 1.0) | 0) / 2 | 0) << 1; + $$101453 = ((~~(+HEAPF32[$16 >> 2] + 1.0) | 0) / 2 | 0) << 1; + } else { + $$10 = ~~($1240 + .5); + $$101453 = ~~(+HEAPF32[$16 >> 2] + .5); + } + if (($$10 | 0) > -1 ? ($$101453 | 0) < ($6 | 0) & (($$101453 | 0) > -1 & ($$10 | 0) < ($5 | 0)) : 0) { + $1261 = (Math_imul($$101453, $5) | 0) + $$10 << 1; + $1264 = HEAP8[$4 + ($1261 | 1) >> 0] | 0; + $1272 = ((Math_imul(($$101505 | 0) / ($102 | 0) | 0, $2) | 0) + (($$111485 | 0) / ($101 | 0) | 0) | 0) * 3 | 0; + $1273 = $110 + ($1272 << 2) | 0; + HEAP32[$1273 >> 2] = (HEAP32[$1273 >> 2] | 0) + (($1264 << 2 & 255 | 4) & 255); + $1277 = HEAP8[$4 + $1261 >> 0] | 0; + $1286 = $110 + ($1272 + 1 << 2) | 0; + HEAP32[$1286 >> 2] = (($1264 & -64 & 255) >>> 3 | $1277 << 5 & 255 | 4) + (HEAP32[$1286 >> 2] | 0); + $1293 = $110 + ($1272 + 2 << 2) | 0; + HEAP32[$1293 >> 2] = (HEAP32[$1293 >> 2] | 0) + (($1277 & -8 | 4) & 255); + } + $$111485 = $$111485 + 1 | 0; + } + $$101505 = $$101505 + 1 | 0; + } + break; + } + case 11: + { + $1298 = $105 + 100.0; + $1299 = +($$31471 | 0); + $1300 = +($spec$select1520 | 0); + $1301 = $14 + 48 | 0; + $1302 = $14 + 56 | 0; + $1303 = $14 + 64 | 0; + $1304 = $14 + 8 | 0; + $1305 = $14 + 16 | 0; + $1306 = $14 + 24 | 0; + $1307 = $14 + 32 | 0; + $1308 = $14 + 40 | 0; + $1309 = ($0 | 0) == 1; + $$111506 = 0; + while (1) { + if (($$111506 | 0) >= ($$31471 | 0)) break L24; + $1315 = $1298 + $106 * (+($$111506 | 0) + .5) / $1299; + $$121486 = 0; + while (1) { + if (($$121486 | 0) >= ($spec$select1520 | 0)) break; + $1321 = $1298 + $106 * (+($$121486 | 0) + .5) / $1300; + $1328 = +HEAPF64[$1303 >> 3] + ($1321 * +HEAPF64[$1301 >> 3] + $1315 * +HEAPF64[$1302 >> 3]); + if ($1328 == 0.0) { + $2263 = $110; + label = 306; + break L19; + } + $1338 = (+HEAPF64[$1305 >> 3] + ($1321 * +HEAPF64[$14 >> 3] + $1315 * +HEAPF64[$1304 >> 3])) / $1328; + HEAPF32[$15 >> 2] = $1338; + $1347 = (+HEAPF64[$1308 >> 3] + ($1321 * +HEAPF64[$1306 >> 3] + $1315 * +HEAPF64[$1307 >> 3])) / $1328; + HEAPF32[$16 >> 2] = $1347; + _arParamIdeal2ObservLTf($8, $1338, $1347, $15, $16) | 0; + $1348 = +HEAPF32[$15 >> 2]; + if ($1309) { + $$11 = ((~~($1348 + 1.0) | 0) / 2 | 0) << 1; + $$111454 = ((~~(+HEAPF32[$16 >> 2] + 1.0) | 0) / 2 | 0) << 1; + } else { + $$11 = ~~($1348 + .5); + $$111454 = ~~(+HEAPF32[$16 >> 2] + .5); + } + if (($$11 | 0) > -1 ? ($$111454 | 0) < ($6 | 0) & (($$111454 | 0) > -1 & ($$11 | 0) < ($5 | 0)) : 0) { + $1369 = (Math_imul($$111454, $5) | 0) + $$11 << 1; + $1380 = ((Math_imul(($$111506 | 0) / ($102 | 0) | 0, $2) | 0) + (($$121486 | 0) / ($101 | 0) | 0) | 0) * 3 | 0; + $1381 = $110 + ($1380 << 2) | 0; + HEAP32[$1381 >> 2] = (HEAP32[$1381 >> 2] | 0) + ((HEAP8[$4 + ($1369 | 1) >> 0] & -16 | 8) & 255); + $1385 = HEAP8[$4 + $1369 >> 0] | 0; + $1390 = $110 + ($1380 + 1 << 2) | 0; + HEAP32[$1390 >> 2] = (HEAP32[$1390 >> 2] | 0) + (($1385 << 4 & 255 | 8) & 255); + $1397 = $110 + ($1380 + 2 << 2) | 0; + HEAP32[$1397 >> 2] = (HEAP32[$1397 >> 2] | 0) + (($1385 & -16 | 8) & 255); + } + $$121486 = $$121486 + 1 | 0; + } + $$111506 = $$111506 + 1 | 0; + } + break; + } + default: + { + _arLog(0, 3, 24238, $vararg_buffer1); + $2263 = $110; + label = 306; + break L19; + } + } while (0); + $1402 = Math_imul($102, $101) | 0; + $$131487 = 0; + while (1) { + if (($$131487 | 0) == ($109 | 0)) break; + HEAP8[$11 + $$131487 >> 0] = ((HEAP32[$110 + ($$131487 << 2) >> 2] | 0) >>> 0) / ($1402 >>> 0) | 0; + $$131487 = $$131487 + 1 | 0; + } + _free($110); + $$0 = 0; + } else { + $1409 = _calloc($108, 4) | 0; + if (!$1409) { + _arLog(0, 3, 45930, $vararg_buffer3); + _exit(1); + } + L239 : do if ($7 >>> 0 < 2) { + $1412 = $105 + 100.0; + $1413 = +($$31471 | 0); + $1414 = +($spec$select1520 | 0); + $1415 = $14 + 48 | 0; + $1416 = $14 + 56 | 0; + $1417 = $14 + 64 | 0; + $1418 = $14 + 8 | 0; + $1419 = $14 + 16 | 0; + $1420 = $14 + 24 | 0; + $1421 = $14 + 32 | 0; + $1422 = $14 + 40 | 0; + $1423 = ($0 | 0) == 1; + $$121507 = 0; + while (1) { + if (($$121507 | 0) >= ($$31471 | 0)) break L239; + $1429 = $1412 + $106 * (+($$121507 | 0) + .5) / $1413; + $$141488 = 0; + while (1) { + if (($$141488 | 0) >= ($spec$select1520 | 0)) break; + $1435 = $1412 + $106 * (+($$141488 | 0) + .5) / $1414; + $1442 = +HEAPF64[$1417 >> 3] + ($1435 * +HEAPF64[$1415 >> 3] + $1429 * +HEAPF64[$1416 >> 3]); + if ($1442 == 0.0) { + $2263 = $1409; + label = 306; + break L19; + } + $1452 = (+HEAPF64[$1419 >> 3] + ($1435 * +HEAPF64[$14 >> 3] + $1429 * +HEAPF64[$1418 >> 3])) / $1442; + HEAPF32[$15 >> 2] = $1452; + $1461 = (+HEAPF64[$1422 >> 3] + ($1435 * +HEAPF64[$1420 >> 3] + $1429 * +HEAPF64[$1421 >> 3])) / $1442; + HEAPF32[$16 >> 2] = $1461; + _arParamIdeal2ObservLTf($8, $1452, $1461, $15, $16) | 0; + $1462 = +HEAPF32[$15 >> 2]; + if ($1423) { + $$12 = ((~~($1462 + 1.0) | 0) / 2 | 0) << 1; + $$121455 = ((~~(+HEAPF32[$16 >> 2] + 1.0) | 0) / 2 | 0) << 1; + } else { + $$12 = ~~($1462 + .5); + $$121455 = ~~(+HEAPF32[$16 >> 2] + .5); + } + if (($$12 | 0) > -1 ? ($$121455 | 0) < ($6 | 0) & (($$121455 | 0) > -1 & ($$12 | 0) < ($5 | 0)) : 0) { + $1483 = ((Math_imul($$121455, $5) | 0) + $$12 | 0) * 3 | 0; + $1502 = $1409 + ((Math_imul(($$121507 | 0) / ($102 | 0) | 0, $2) | 0) + (($$141488 | 0) / ($101 | 0) | 0) << 2) | 0; + HEAP32[$1502 >> 2] = (HEAP32[$1502 >> 2] | 0) + ((((HEAPU8[$4 + ($1483 + 1) >> 0] | 0) + (HEAPU8[$4 + $1483 >> 0] | 0) + (HEAPU8[$4 + ($1483 + 2) >> 0] | 0) | 0) >>> 0) / 3 | 0); + } + $$141488 = $$141488 + 1 | 0; + } + $$121507 = $$121507 + 1 | 0; + } + } else { + if (($7 | 1 | 0) == 3) { + $1509 = $105 + 100.0; + $1510 = +($$31471 | 0); + $1511 = +($spec$select1520 | 0); + $1512 = $14 + 48 | 0; + $1513 = $14 + 56 | 0; + $1514 = $14 + 64 | 0; + $1515 = $14 + 8 | 0; + $1516 = $14 + 16 | 0; + $1517 = $14 + 24 | 0; + $1518 = $14 + 32 | 0; + $1519 = $14 + 40 | 0; + $1520 = ($0 | 0) == 1; + $$131508 = 0; + while (1) { + if (($$131508 | 0) >= ($$31471 | 0)) break L239; + $1526 = $1509 + $106 * (+($$131508 | 0) + .5) / $1510; + $$151489 = 0; + while (1) { + if (($$151489 | 0) >= ($spec$select1520 | 0)) break; + $1532 = $1509 + $106 * (+($$151489 | 0) + .5) / $1511; + $1539 = +HEAPF64[$1514 >> 3] + ($1532 * +HEAPF64[$1512 >> 3] + $1526 * +HEAPF64[$1513 >> 3]); + if ($1539 == 0.0) { + $2263 = $1409; + label = 306; + break L19; + } + $1549 = (+HEAPF64[$1516 >> 3] + ($1532 * +HEAPF64[$14 >> 3] + $1526 * +HEAPF64[$1515 >> 3])) / $1539; + HEAPF32[$15 >> 2] = $1549; + $1558 = (+HEAPF64[$1519 >> 3] + ($1532 * +HEAPF64[$1517 >> 3] + $1526 * +HEAPF64[$1518 >> 3])) / $1539; + HEAPF32[$16 >> 2] = $1558; + _arParamIdeal2ObservLTf($8, $1549, $1558, $15, $16) | 0; + $1559 = +HEAPF32[$15 >> 2]; + if ($1520) { + $$13 = ((~~($1559 + 1.0) | 0) / 2 | 0) << 1; + $$131456 = ((~~(+HEAPF32[$16 >> 2] + 1.0) | 0) / 2 | 0) << 1; + } else { + $$13 = ~~($1559 + .5); + $$131456 = ~~(+HEAPF32[$16 >> 2] + .5); + } + if (($$13 | 0) > -1 ? ($$131456 | 0) < ($6 | 0) & (($$131456 | 0) > -1 & ($$13 | 0) < ($5 | 0)) : 0) { + $1580 = (Math_imul($$131456, $5) | 0) + $$13 << 2; + $1599 = $1409 + ((Math_imul(($$131508 | 0) / ($102 | 0) | 0, $2) | 0) + (($$151489 | 0) / ($101 | 0) | 0) << 2) | 0; + HEAP32[$1599 >> 2] = (HEAP32[$1599 >> 2] | 0) + ((((HEAPU8[$4 + ($1580 | 1) >> 0] | 0) + (HEAPU8[$4 + $1580 >> 0] | 0) + (HEAPU8[$4 + ($1580 | 2) >> 0] | 0) | 0) >>> 0) / 3 | 0); + } + $$151489 = $$151489 + 1 | 0; + } + $$131508 = $$131508 + 1 | 0; + } + } + if (($7 | 2 | 0) == 6) { + $1606 = $105 + 100.0; + $1607 = +($$31471 | 0); + $1608 = +($spec$select1520 | 0); + $1609 = $14 + 48 | 0; + $1610 = $14 + 56 | 0; + $1611 = $14 + 64 | 0; + $1612 = $14 + 8 | 0; + $1613 = $14 + 16 | 0; + $1614 = $14 + 24 | 0; + $1615 = $14 + 32 | 0; + $1616 = $14 + 40 | 0; + $1617 = ($0 | 0) == 1; + $$141509 = 0; + while (1) { + if (($$141509 | 0) >= ($$31471 | 0)) break L239; + $1623 = $1606 + $106 * (+($$141509 | 0) + .5) / $1607; + $$161490 = 0; + while (1) { + if (($$161490 | 0) >= ($spec$select1520 | 0)) break; + $1629 = $1606 + $106 * (+($$161490 | 0) + .5) / $1608; + $1636 = +HEAPF64[$1611 >> 3] + ($1629 * +HEAPF64[$1609 >> 3] + $1623 * +HEAPF64[$1610 >> 3]); + if ($1636 == 0.0) { + $2263 = $1409; + label = 306; + break L19; + } + $1646 = (+HEAPF64[$1613 >> 3] + ($1629 * +HEAPF64[$14 >> 3] + $1623 * +HEAPF64[$1612 >> 3])) / $1636; + HEAPF32[$15 >> 2] = $1646; + $1655 = (+HEAPF64[$1616 >> 3] + ($1629 * +HEAPF64[$1614 >> 3] + $1623 * +HEAPF64[$1615 >> 3])) / $1636; + HEAPF32[$16 >> 2] = $1655; + _arParamIdeal2ObservLTf($8, $1646, $1655, $15, $16) | 0; + $1656 = +HEAPF32[$15 >> 2]; + if ($1617) { + $$14 = ((~~($1656 + 1.0) | 0) / 2 | 0) << 1; + $$141457 = ((~~(+HEAPF32[$16 >> 2] + 1.0) | 0) / 2 | 0) << 1; + } else { + $$14 = ~~($1656 + .5); + $$141457 = ~~(+HEAPF32[$16 >> 2] + .5); + } + if (($$14 | 0) > -1 ? ($$141457 | 0) < ($6 | 0) & (($$141457 | 0) > -1 & ($$14 | 0) < ($5 | 0)) : 0) { + $1677 = (Math_imul($$141457, $5) | 0) + $$14 << 2; + $1697 = $1409 + ((Math_imul(($$141509 | 0) / ($102 | 0) | 0, $2) | 0) + (($$161490 | 0) / ($101 | 0) | 0) << 2) | 0; + HEAP32[$1697 >> 2] = (HEAP32[$1697 >> 2] | 0) + ((((HEAPU8[$4 + ($1677 | 2) >> 0] | 0) + (HEAPU8[$4 + ($1677 | 1) >> 0] | 0) + (HEAPU8[$4 + ($1677 | 3) >> 0] | 0) | 0) >>> 0) / 3 | 0); + } + $$161490 = $$161490 + 1 | 0; + } + $$141509 = $$141509 + 1 | 0; + } + } + switch ($7 | 0) { + case 5: + case 12: + case 13: + case 14: + { + $1702 = $105 + 100.0; + $1703 = +($$31471 | 0); + $1704 = +($spec$select1520 | 0); + $1705 = $14 + 48 | 0; + $1706 = $14 + 56 | 0; + $1707 = $14 + 64 | 0; + $1708 = $14 + 8 | 0; + $1709 = $14 + 16 | 0; + $1710 = $14 + 24 | 0; + $1711 = $14 + 32 | 0; + $1712 = $14 + 40 | 0; + $1713 = ($0 | 0) == 1; + $$151510 = 0; + while (1) { + if (($$151510 | 0) >= ($$31471 | 0)) break L239; + $1719 = $1702 + $106 * (+($$151510 | 0) + .5) / $1703; + $$171491 = 0; + while (1) { + if (($$171491 | 0) >= ($spec$select1520 | 0)) break; + $1725 = $1702 + $106 * (+($$171491 | 0) + .5) / $1704; + $1732 = +HEAPF64[$1707 >> 3] + ($1725 * +HEAPF64[$1705 >> 3] + $1719 * +HEAPF64[$1706 >> 3]); + if ($1732 == 0.0) { + $2263 = $1409; + label = 306; + break L19; + } + $1742 = (+HEAPF64[$1709 >> 3] + ($1725 * +HEAPF64[$14 >> 3] + $1719 * +HEAPF64[$1708 >> 3])) / $1732; + HEAPF32[$15 >> 2] = $1742; + $1751 = (+HEAPF64[$1712 >> 3] + ($1725 * +HEAPF64[$1710 >> 3] + $1719 * +HEAPF64[$1711 >> 3])) / $1732; + HEAPF32[$16 >> 2] = $1751; + _arParamIdeal2ObservLTf($8, $1742, $1751, $15, $16) | 0; + $1752 = +HEAPF32[$15 >> 2]; + if ($1713) { + $$15 = ((~~($1752 + 1.0) | 0) / 2 | 0) << 1; + $$151458 = ((~~(+HEAPF32[$16 >> 2] + 1.0) | 0) / 2 | 0) << 1; + } else { + $$15 = ~~($1752 + .5); + $$151458 = ~~(+HEAPF32[$16 >> 2] + .5); + } + if (($$15 | 0) > -1 ? ($$151458 | 0) < ($6 | 0) & (($$151458 | 0) > -1 & ($$15 | 0) < ($5 | 0)) : 0) { + $1773 = $4 + ((Math_imul($$151458, $5) | 0) + $$15) | 0; + $1780 = $1409 + ((Math_imul(($$151510 | 0) / ($102 | 0) | 0, $2) | 0) + (($$171491 | 0) / ($101 | 0) | 0) << 2) | 0; + HEAP32[$1780 >> 2] = (HEAP32[$1780 >> 2] | 0) + (HEAPU8[$1773 >> 0] | 0); + } + $$171491 = $$171491 + 1 | 0; + } + $$151510 = $$151510 + 1 | 0; + } + break; + } + case 7: + { + $1785 = $105 + 100.0; + $1786 = +($$31471 | 0); + $1787 = +($spec$select1520 | 0); + $1788 = $14 + 48 | 0; + $1789 = $14 + 56 | 0; + $1790 = $14 + 64 | 0; + $1791 = $14 + 8 | 0; + $1792 = $14 + 16 | 0; + $1793 = $14 + 24 | 0; + $1794 = $14 + 32 | 0; + $1795 = $14 + 40 | 0; + $1796 = ($0 | 0) == 1; + $$161511 = 0; + while (1) { + if (($$161511 | 0) >= ($$31471 | 0)) break L239; + $1802 = $1785 + $106 * (+($$161511 | 0) + .5) / $1786; + $$181492 = 0; + while (1) { + if (($$181492 | 0) >= ($spec$select1520 | 0)) break; + $1808 = $1785 + $106 * (+($$181492 | 0) + .5) / $1787; + $1815 = +HEAPF64[$1790 >> 3] + ($1808 * +HEAPF64[$1788 >> 3] + $1802 * +HEAPF64[$1789 >> 3]); + if ($1815 == 0.0) { + $2263 = $1409; + label = 306; + break L19; + } + $1825 = (+HEAPF64[$1792 >> 3] + ($1808 * +HEAPF64[$14 >> 3] + $1802 * +HEAPF64[$1791 >> 3])) / $1815; + HEAPF32[$15 >> 2] = $1825; + $1834 = (+HEAPF64[$1795 >> 3] + ($1808 * +HEAPF64[$1793 >> 3] + $1802 * +HEAPF64[$1794 >> 3])) / $1815; + HEAPF32[$16 >> 2] = $1834; + _arParamIdeal2ObservLTf($8, $1825, $1834, $15, $16) | 0; + $1835 = +HEAPF32[$15 >> 2]; + if ($1796) { + $$16 = ((~~($1835 + 1.0) | 0) / 2 | 0) << 1; + $$161459 = ((~~(+HEAPF32[$16 >> 2] + 1.0) | 0) / 2 | 0) << 1; + } else { + $$16 = ~~($1835 + .5); + $$161459 = ~~(+HEAPF32[$16 >> 2] + .5); + } + if (($$16 | 0) > -1 ? ($$161459 | 0) < ($6 | 0) & (($$161459 | 0) > -1 & ($$16 | 0) < ($5 | 0)) : 0) { + $1858 = $4 + ((Math_imul($$161459, $5) | 0) + $$16 << 1 | 1) | 0; + $1865 = $1409 + ((Math_imul(($$161511 | 0) / ($102 | 0) | 0, $2) | 0) + (($$181492 | 0) / ($101 | 0) | 0) << 2) | 0; + HEAP32[$1865 >> 2] = (HEAP32[$1865 >> 2] | 0) + (HEAPU8[$1858 >> 0] | 0); + } + $$181492 = $$181492 + 1 | 0; + } + $$161511 = $$161511 + 1 | 0; + } + break; + } + case 8: + { + $1870 = $105 + 100.0; + $1871 = +($$31471 | 0); + $1872 = +($spec$select1520 | 0); + $1873 = $14 + 48 | 0; + $1874 = $14 + 56 | 0; + $1875 = $14 + 64 | 0; + $1876 = $14 + 8 | 0; + $1877 = $14 + 16 | 0; + $1878 = $14 + 24 | 0; + $1879 = $14 + 32 | 0; + $1880 = $14 + 40 | 0; + $1881 = ($0 | 0) == 1; + $$171512 = 0; + while (1) { + if (($$171512 | 0) >= ($$31471 | 0)) break L239; + $1887 = $1870 + $106 * (+($$171512 | 0) + .5) / $1871; + $$191493 = 0; + while (1) { + if (($$191493 | 0) >= ($spec$select1520 | 0)) break; + $1893 = $1870 + $106 * (+($$191493 | 0) + .5) / $1872; + $1900 = +HEAPF64[$1875 >> 3] + ($1893 * +HEAPF64[$1873 >> 3] + $1887 * +HEAPF64[$1874 >> 3]); + if ($1900 == 0.0) { + $2263 = $1409; + label = 306; + break L19; + } + $1910 = (+HEAPF64[$1877 >> 3] + ($1893 * +HEAPF64[$14 >> 3] + $1887 * +HEAPF64[$1876 >> 3])) / $1900; + HEAPF32[$15 >> 2] = $1910; + $1919 = (+HEAPF64[$1880 >> 3] + ($1893 * +HEAPF64[$1878 >> 3] + $1887 * +HEAPF64[$1879 >> 3])) / $1900; + HEAPF32[$16 >> 2] = $1919; + _arParamIdeal2ObservLTf($8, $1910, $1919, $15, $16) | 0; + $1920 = +HEAPF32[$15 >> 2]; + if ($1881) { + $$17 = ((~~($1920 + 1.0) | 0) / 2 | 0) << 1; + $$171460 = ((~~(+HEAPF32[$16 >> 2] + 1.0) | 0) / 2 | 0) << 1; + } else { + $$17 = ~~($1920 + .5); + $$171460 = ~~(+HEAPF32[$16 >> 2] + .5); + } + if (($$17 | 0) > -1 ? ($$171460 | 0) < ($6 | 0) & (($$171460 | 0) > -1 & ($$17 | 0) < ($5 | 0)) : 0) { + $1942 = $4 + ((Math_imul($$171460, $5) | 0) + $$17 << 1) | 0; + $1949 = $1409 + ((Math_imul(($$171512 | 0) / ($102 | 0) | 0, $2) | 0) + (($$191493 | 0) / ($101 | 0) | 0) << 2) | 0; + HEAP32[$1949 >> 2] = (HEAP32[$1949 >> 2] | 0) + (HEAPU8[$1942 >> 0] | 0); + } + $$191493 = $$191493 + 1 | 0; + } + $$171512 = $$171512 + 1 | 0; + } + break; + } + case 9: + { + $1954 = $105 + 100.0; + $1955 = +($$31471 | 0); + $1956 = +($spec$select1520 | 0); + $1957 = $14 + 48 | 0; + $1958 = $14 + 56 | 0; + $1959 = $14 + 64 | 0; + $1960 = $14 + 8 | 0; + $1961 = $14 + 16 | 0; + $1962 = $14 + 24 | 0; + $1963 = $14 + 32 | 0; + $1964 = $14 + 40 | 0; + $1965 = ($0 | 0) == 1; + $$181513 = 0; + while (1) { + if (($$181513 | 0) >= ($$31471 | 0)) break L239; + $1971 = $1954 + $106 * (+($$181513 | 0) + .5) / $1955; + $$201494 = 0; + while (1) { + if (($$201494 | 0) >= ($spec$select1520 | 0)) break; + $1977 = $1954 + $106 * (+($$201494 | 0) + .5) / $1956; + $1984 = +HEAPF64[$1959 >> 3] + ($1977 * +HEAPF64[$1957 >> 3] + $1971 * +HEAPF64[$1958 >> 3]); + if ($1984 == 0.0) { + $2263 = $1409; + label = 306; + break L19; + } + $1994 = (+HEAPF64[$1961 >> 3] + ($1977 * +HEAPF64[$14 >> 3] + $1971 * +HEAPF64[$1960 >> 3])) / $1984; + HEAPF32[$15 >> 2] = $1994; + $2003 = (+HEAPF64[$1964 >> 3] + ($1977 * +HEAPF64[$1962 >> 3] + $1971 * +HEAPF64[$1963 >> 3])) / $1984; + HEAPF32[$16 >> 2] = $2003; + _arParamIdeal2ObservLTf($8, $1994, $2003, $15, $16) | 0; + $2004 = +HEAPF32[$15 >> 2]; + if ($1965) { + $$18 = ((~~($2004 + 1.0) | 0) / 2 | 0) << 1; + $$181461 = ((~~(+HEAPF32[$16 >> 2] + 1.0) | 0) / 2 | 0) << 1; + } else { + $$18 = ~~($2004 + .5); + $$181461 = ~~(+HEAPF32[$16 >> 2] + .5); + } + if (($$18 | 0) > -1 ? ($$181461 | 0) < ($6 | 0) & (($$181461 | 0) > -1 & ($$18 | 0) < ($5 | 0)) : 0) { + $2025 = (Math_imul($$181461, $5) | 0) + $$18 << 1; + $2028 = HEAPU8[$4 + $2025 >> 0] | 0; + $2036 = HEAPU8[$4 + ($2025 | 1) >> 0] | 0; + $2051 = $1409 + ((Math_imul(($$181513 | 0) / ($102 | 0) | 0, $2) | 0) + (($$201494 | 0) / ($101 | 0) | 0) << 2) | 0; + HEAP32[$2051 >> 2] = (((($2028 << 5 & 224 | $2036 >>> 3 & 28 | 2) + ($2028 & 248 | 4) + ($2036 << 3 & 248 | 4) | 0) >>> 0) / 3 | 0) + (HEAP32[$2051 >> 2] | 0); + } + $$201494 = $$201494 + 1 | 0; + } + $$181513 = $$181513 + 1 | 0; + } + break; + } + case 10: + { + $2056 = $105 + 100.0; + $2057 = +($$31471 | 0); + $2058 = +($spec$select1520 | 0); + $2059 = $14 + 48 | 0; + $2060 = $14 + 56 | 0; + $2061 = $14 + 64 | 0; + $2062 = $14 + 8 | 0; + $2063 = $14 + 16 | 0; + $2064 = $14 + 24 | 0; + $2065 = $14 + 32 | 0; + $2066 = $14 + 40 | 0; + $2067 = ($0 | 0) == 1; + $$191514 = 0; + while (1) { + if (($$191514 | 0) >= ($$31471 | 0)) break L239; + $2073 = $2056 + $106 * (+($$191514 | 0) + .5) / $2057; + $$21 = 0; + while (1) { + if (($$21 | 0) >= ($spec$select1520 | 0)) break; + $2079 = $2056 + $106 * (+($$21 | 0) + .5) / $2058; + $2086 = +HEAPF64[$2061 >> 3] + ($2079 * +HEAPF64[$2059 >> 3] + $2073 * +HEAPF64[$2060 >> 3]); + if ($2086 == 0.0) { + $2263 = $1409; + label = 306; + break L19; + } + $2096 = (+HEAPF64[$2063 >> 3] + ($2079 * +HEAPF64[$14 >> 3] + $2073 * +HEAPF64[$2062 >> 3])) / $2086; + HEAPF32[$15 >> 2] = $2096; + $2105 = (+HEAPF64[$2066 >> 3] + ($2079 * +HEAPF64[$2064 >> 3] + $2073 * +HEAPF64[$2065 >> 3])) / $2086; + HEAPF32[$16 >> 2] = $2105; + _arParamIdeal2ObservLTf($8, $2096, $2105, $15, $16) | 0; + $2106 = +HEAPF32[$15 >> 2]; + if ($2067) { + $$19 = ((~~($2106 + 1.0) | 0) / 2 | 0) << 1; + $$191462 = ((~~(+HEAPF32[$16 >> 2] + 1.0) | 0) / 2 | 0) << 1; + } else { + $$19 = ~~($2106 + .5); + $$191462 = ~~(+HEAPF32[$16 >> 2] + .5); + } + if (($$19 | 0) > -1 ? ($$191462 | 0) < ($6 | 0) & (($$191462 | 0) > -1 & ($$19 | 0) < ($5 | 0)) : 0) { + $2127 = (Math_imul($$191462, $5) | 0) + $$19 << 1; + $2130 = HEAPU8[$4 + $2127 >> 0] | 0; + $2138 = HEAPU8[$4 + ($2127 | 1) >> 0] | 0; + $2153 = $1409 + ((Math_imul(($$191514 | 0) / ($102 | 0) | 0, $2) | 0) + (($$21 | 0) / ($101 | 0) | 0) << 2) | 0; + HEAP32[$2153 >> 2] = (((($2130 << 5 & 224 | $2138 >>> 3 & 24 | 4) + ($2130 & 248 | 4) + ($2138 << 2 & 248 | 4) | 0) >>> 0) / 3 | 0) + (HEAP32[$2153 >> 2] | 0); + } + $$21 = $$21 + 1 | 0; + } + $$191514 = $$191514 + 1 | 0; + } + break; + } + case 11: + { + $2158 = $105 + 100.0; + $2159 = +($$31471 | 0); + $2160 = +($spec$select1520 | 0); + $2161 = $14 + 48 | 0; + $2162 = $14 + 56 | 0; + $2163 = $14 + 64 | 0; + $2164 = $14 + 8 | 0; + $2165 = $14 + 16 | 0; + $2166 = $14 + 24 | 0; + $2167 = $14 + 32 | 0; + $2168 = $14 + 40 | 0; + $2169 = ($0 | 0) == 1; + $$201515 = 0; + while (1) { + if (($$201515 | 0) >= ($$31471 | 0)) break L239; + $2175 = $2158 + $106 * (+($$201515 | 0) + .5) / $2159; + $$22 = 0; + while (1) { + if (($$22 | 0) >= ($spec$select1520 | 0)) break; + $2181 = $2158 + $106 * (+($$22 | 0) + .5) / $2160; + $2188 = +HEAPF64[$2163 >> 3] + ($2181 * +HEAPF64[$2161 >> 3] + $2175 * +HEAPF64[$2162 >> 3]); + if ($2188 == 0.0) { + $2263 = $1409; + label = 306; + break L19; + } + $2198 = (+HEAPF64[$2165 >> 3] + ($2181 * +HEAPF64[$14 >> 3] + $2175 * +HEAPF64[$2164 >> 3])) / $2188; + HEAPF32[$15 >> 2] = $2198; + $2207 = (+HEAPF64[$2168 >> 3] + ($2181 * +HEAPF64[$2166 >> 3] + $2175 * +HEAPF64[$2167 >> 3])) / $2188; + HEAPF32[$16 >> 2] = $2207; + _arParamIdeal2ObservLTf($8, $2198, $2207, $15, $16) | 0; + $2208 = +HEAPF32[$15 >> 2]; + if ($2169) { + $$20 = ((~~($2208 + 1.0) | 0) / 2 | 0) << 1; + $$201463 = ((~~(+HEAPF32[$16 >> 2] + 1.0) | 0) / 2 | 0) << 1; + } else { + $$20 = ~~($2208 + .5); + $$201463 = ~~(+HEAPF32[$16 >> 2] + .5); + } + if (($$20 | 0) > -1 ? ($$201463 | 0) < ($6 | 0) & (($$201463 | 0) > -1 & ($$20 | 0) < ($5 | 0)) : 0) { + $2229 = (Math_imul($$201463, $5) | 0) + $$20 << 1; + $2232 = HEAPU8[$4 + $2229 >> 0] | 0; + $2251 = $1409 + ((Math_imul(($$201515 | 0) / ($102 | 0) | 0, $2) | 0) + (($$22 | 0) / ($101 | 0) | 0) << 2) | 0; + HEAP32[$2251 >> 2] = (((($2232 << 4 & 240 | 8) + ($2232 & 240 | 8) + ((HEAP8[$4 + ($2229 | 1) >> 0] & -16 | 8) & 255) | 0) >>> 0) / 3 | 0) + (HEAP32[$2251 >> 2] | 0); + } + $$22 = $$22 + 1 | 0; + } + $$201515 = $$201515 + 1 | 0; + } + break; + } + default: + { + _arLog(0, 3, 24238, $vararg_buffer5); + $2263 = $1409; + label = 306; + break L19; + } + } + } while (0); + $2256 = Math_imul($102, $101) | 0; + $$23 = 0; + while (1) { + if (($$23 | 0) == ($108 | 0)) break; + HEAP8[$11 + $$23 >> 0] = ((HEAP32[$1409 + ($$23 << 2) >> 2] | 0) >>> 0) / ($2256 >>> 0) | 0; + $$23 = $$23 + 1 | 0; + } + _free($1409); + $$0 = 0; + } while (0); + if ((label | 0) == 306) { + _free($2263); + $$0 = -1; + } + STACKTOP = sp; + return $$0 | 0; +} +function _malloc($0) { + $0 = $0 | 0; + var $$0 = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i16$i = 0, $$0187$i = 0, $$0189$i = 0, $$0190$i = 0, $$0191$i = 0, $$0197 = 0, $$0199 = 0, $$02065$i$i = 0, $$0207$lcssa$i$i = 0, $$02074$i$i = 0, $$0211$i$i = 0, $$0212$i$i = 0, $$024372$i = 0, $$0286$i$i = 0, $$028711$i$i = 0, $$0288$lcssa$i$i = 0, $$028810$i$i = 0, $$0294$i$i = 0, $$0295$i$i = 0, $$0340$i = 0, $$034217$i = 0, $$0343$lcssa$i = 0, $$034316$i = 0, $$0345$i = 0, $$0351$i = 0, $$0357$i = 0, $$0358$i = 0, $$0360$i = 0, $$0361$i = 0, $$0367$i = 0, $$1194$i = 0, $$1194$i$be = 0, $$1194$i$ph = 0, $$1196$i = 0, $$1196$i$be = 0, $$1196$i$ph = 0, $$124471$i = 0, $$1290$i$i = 0, $$1290$i$i$be = 0, $$1290$i$i$ph = 0, $$1292$i$i = 0, $$1292$i$i$be = 0, $$1292$i$i$ph = 0, $$1341$i = 0, $$1346$i = 0, $$1362$i = 0, $$1369$i = 0, $$1369$i$be = 0, $$1369$i$ph = 0, $$1373$i = 0, $$1373$i$be = 0, $$1373$i$ph = 0, $$2234243136$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2353$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i203 = 0, $$3$i203218 = 0, $$3348$i = 0, $$3371$i = 0, $$4$lcssa$i = 0, $$420$i = 0, $$420$i$ph = 0, $$4236$i = 0, $$4349$lcssa$i = 0, $$434919$i = 0, $$434919$i$ph = 0, $$4355$i = 0, $$535618$i = 0, $$535618$i$ph = 0, $$723947$i = 0, $$748$i = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i18$iZ2D = 0, $$pre$phi$i209Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi17$i$iZ2D = 0, $$pre$phiZ2D = 0, $1 = 0, $1000 = 0, $1003 = 0, $1008 = 0, $101 = 0, $1014 = 0, $1017 = 0, $1018 = 0, $102 = 0, $1025 = 0, $1037 = 0, $1042 = 0, $1049 = 0, $1050 = 0, $1051 = 0, $1060 = 0, $1062 = 0, $1063 = 0, $1064 = 0, $1070 = 0, $108 = 0, $112 = 0, $114 = 0, $115 = 0, $117 = 0, $119 = 0, $121 = 0, $123 = 0, $125 = 0, $127 = 0, $129 = 0, $134 = 0, $14 = 0, $140 = 0, $143 = 0, $146 = 0, $149 = 0, $150 = 0, $151 = 0, $153 = 0, $156 = 0, $158 = 0, $16 = 0, $161 = 0, $163 = 0, $166 = 0, $169 = 0, $17 = 0, $170 = 0, $172 = 0, $173 = 0, $175 = 0, $176 = 0, $178 = 0, $179 = 0, $18 = 0, $184 = 0, $185 = 0, $19 = 0, $193 = 0, $198 = 0, $20 = 0, $202 = 0, $208 = 0, $215 = 0, $219 = 0, $228 = 0, $229 = 0, $231 = 0, $232 = 0, $236 = 0, $237 = 0, $245 = 0, $246 = 0, $247 = 0, $249 = 0, $250 = 0, $255 = 0, $256 = 0, $259 = 0, $261 = 0, $264 = 0, $269 = 0, $27 = 0, $276 = 0, $286 = 0, $290 = 0, $299 = 0, $30 = 0, $302 = 0, $306 = 0, $308 = 0, $309 = 0, $311 = 0, $313 = 0, $315 = 0, $317 = 0, $319 = 0, $321 = 0, $323 = 0, $333 = 0, $334 = 0, $336 = 0, $34 = 0, $341 = 0, $346 = 0, $348 = 0, $351 = 0, $353 = 0, $356 = 0, $358 = 0, $361 = 0, $364 = 0, $365 = 0, $367 = 0, $368 = 0, $37 = 0, $370 = 0, $371 = 0, $373 = 0, $374 = 0, $379 = 0, $380 = 0, $385 = 0, $388 = 0, $393 = 0, $397 = 0, $403 = 0, $41 = 0, $410 = 0, $414 = 0, $422 = 0, $425 = 0, $426 = 0, $427 = 0, $431 = 0, $432 = 0, $438 = 0, $44 = 0, $443 = 0, $444 = 0, $447 = 0, $449 = 0, $452 = 0, $457 = 0, $463 = 0, $465 = 0, $467 = 0, $469 = 0, $47 = 0, $475 = 0, $487 = 0, $49 = 0, $492 = 0, $499 = 0, $50 = 0, $500 = 0, $501 = 0, $510 = 0, $512 = 0, $513 = 0, $515 = 0, $52 = 0, $524 = 0, $528 = 0, $530 = 0, $531 = 0, $532 = 0, $54 = 0, $543 = 0, $544 = 0, $545 = 0, $546 = 0, $547 = 0, $548 = 0, $550 = 0, $552 = 0, $553 = 0, $559 = 0, $56 = 0, $561 = 0, $568 = 0, $570 = 0, $572 = 0, $573 = 0, $574 = 0, $58 = 0, $582 = 0, $583 = 0, $586 = 0, $590 = 0, $593 = 0, $596 = 0, $6 = 0, $60 = 0, $602 = 0, $606 = 0, $610 = 0, $619 = 0, $62 = 0, $620 = 0, $626 = 0, $628 = 0, $632 = 0, $635 = 0, $637 = 0, $64 = 0, $641 = 0, $643 = 0, $648 = 0, $649 = 0, $650 = 0, $656 = 0, $658 = 0, $662 = 0, $664 = 0, $67 = 0, $673 = 0, $675 = 0, $680 = 0, $681 = 0, $682 = 0, $688 = 0, $69 = 0, $690 = 0, $694 = 0, $7 = 0, $70 = 0, $700 = 0, $704 = 0, $71 = 0, $710 = 0, $712 = 0, $718 = 0, $72 = 0, $722 = 0, $723 = 0, $728 = 0, $73 = 0, $734 = 0, $739 = 0, $742 = 0, $743 = 0, $746 = 0, $748 = 0, $750 = 0, $753 = 0, $764 = 0, $769 = 0, $77 = 0, $771 = 0, $774 = 0, $776 = 0, $779 = 0, $782 = 0, $783 = 0, $784 = 0, $786 = 0, $788 = 0, $789 = 0, $791 = 0, $792 = 0, $797 = 0, $798 = 0, $8 = 0, $80 = 0, $807 = 0, $812 = 0, $815 = 0, $816 = 0, $822 = 0, $83 = 0, $830 = 0, $836 = 0, $839 = 0, $84 = 0, $840 = 0, $841 = 0, $845 = 0, $846 = 0, $852 = 0, $857 = 0, $858 = 0, $861 = 0, $863 = 0, $866 = 0, $87 = 0, $871 = 0, $877 = 0, $879 = 0, $881 = 0, $882 = 0, $889 = 0, $9 = 0, $901 = 0, $906 = 0, $913 = 0, $914 = 0, $915 = 0, $92 = 0, $923 = 0, $927 = 0, $93 = 0, $931 = 0, $933 = 0, $939 = 0, $940 = 0, $942 = 0, $943 = 0, $945 = 0, $947 = 0, $95 = 0, $952 = 0, $953 = 0, $954 = 0, $96 = 0, $960 = 0, $962 = 0, $968 = 0, $973 = 0, $976 = 0, $977 = 0, $978 = 0, $98 = 0, $982 = 0, $983 = 0, $989 = 0, $994 = 0, $995 = 0, $998 = 0, $spec$select$i205 = 0, $spec$select3$i = 0, $spec$select49$i = 0, label = 0, sp = 0, $962$looptemp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + do if ($0 >>> 0 < 245) { + $6 = $0 >>> 0 < 11 ? 16 : $0 + 11 & -8; + $7 = $6 >>> 3; + $8 = HEAP32[16735] | 0; + $9 = $8 >>> $7; + if ($9 & 3 | 0) { + $14 = ($9 & 1 ^ 1) + $7 | 0; + $16 = 66980 + ($14 << 1 << 2) | 0; + $17 = $16 + 8 | 0; + $18 = HEAP32[$17 >> 2] | 0; + $19 = $18 + 8 | 0; + $20 = HEAP32[$19 >> 2] | 0; + do if (($20 | 0) != ($16 | 0)) { + if ((HEAP32[16739] | 0) >>> 0 > $20 >>> 0) _abort(); + $27 = $20 + 12 | 0; + if ((HEAP32[$27 >> 2] | 0) == ($18 | 0)) { + HEAP32[$27 >> 2] = $16; + HEAP32[$17 >> 2] = $20; + break; + } else _abort(); + } else HEAP32[16735] = $8 & ~(1 << $14); while (0); + $30 = $14 << 3; + HEAP32[$18 + 4 >> 2] = $30 | 3; + $34 = $18 + $30 + 4 | 0; + HEAP32[$34 >> 2] = HEAP32[$34 >> 2] | 1; + $$0 = $19; + STACKTOP = sp; + return $$0 | 0; + } + $37 = HEAP32[16737] | 0; + if ($6 >>> 0 > $37 >>> 0) { + if ($9 | 0) { + $41 = 2 << $7; + $44 = $9 << $7 & ($41 | 0 - $41); + $47 = ($44 & 0 - $44) + -1 | 0; + $49 = $47 >>> 12 & 16; + $50 = $47 >>> $49; + $52 = $50 >>> 5 & 8; + $54 = $50 >>> $52; + $56 = $54 >>> 2 & 4; + $58 = $54 >>> $56; + $60 = $58 >>> 1 & 2; + $62 = $58 >>> $60; + $64 = $62 >>> 1 & 1; + $67 = ($52 | $49 | $56 | $60 | $64) + ($62 >>> $64) | 0; + $69 = 66980 + ($67 << 1 << 2) | 0; + $70 = $69 + 8 | 0; + $71 = HEAP32[$70 >> 2] | 0; + $72 = $71 + 8 | 0; + $73 = HEAP32[$72 >> 2] | 0; + do if (($73 | 0) != ($69 | 0)) { + if ((HEAP32[16739] | 0) >>> 0 > $73 >>> 0) _abort(); + $80 = $73 + 12 | 0; + if ((HEAP32[$80 >> 2] | 0) == ($71 | 0)) { + HEAP32[$80 >> 2] = $69; + HEAP32[$70 >> 2] = $73; + $98 = $8; + break; + } else _abort(); + } else { + $77 = $8 & ~(1 << $67); + HEAP32[16735] = $77; + $98 = $77; + } while (0); + $83 = $67 << 3; + $84 = $83 - $6 | 0; + HEAP32[$71 + 4 >> 2] = $6 | 3; + $87 = $71 + $6 | 0; + HEAP32[$87 + 4 >> 2] = $84 | 1; + HEAP32[$71 + $83 >> 2] = $84; + if ($37 | 0) { + $92 = HEAP32[16740] | 0; + $93 = $37 >>> 3; + $95 = 66980 + ($93 << 1 << 2) | 0; + $96 = 1 << $93; + if ($98 & $96) { + $101 = $95 + 8 | 0; + $102 = HEAP32[$101 >> 2] | 0; + if ((HEAP32[16739] | 0) >>> 0 > $102 >>> 0) _abort(); else { + $$0199 = $102; + $$pre$phiZ2D = $101; + } + } else { + HEAP32[16735] = $98 | $96; + $$0199 = $95; + $$pre$phiZ2D = $95 + 8 | 0; + } + HEAP32[$$pre$phiZ2D >> 2] = $92; + HEAP32[$$0199 + 12 >> 2] = $92; + HEAP32[$92 + 8 >> 2] = $$0199; + HEAP32[$92 + 12 >> 2] = $95; + } + HEAP32[16737] = $84; + HEAP32[16740] = $87; + $$0 = $72; + STACKTOP = sp; + return $$0 | 0; + } + $108 = HEAP32[16736] | 0; + if ($108) { + $112 = ($108 & 0 - $108) + -1 | 0; + $114 = $112 >>> 12 & 16; + $115 = $112 >>> $114; + $117 = $115 >>> 5 & 8; + $119 = $115 >>> $117; + $121 = $119 >>> 2 & 4; + $123 = $119 >>> $121; + $125 = $123 >>> 1 & 2; + $127 = $123 >>> $125; + $129 = $127 >>> 1 & 1; + $134 = HEAP32[67244 + (($117 | $114 | $121 | $125 | $129) + ($127 >>> $129) << 2) >> 2] | 0; + $$0189$i = $134; + $$0190$i = $134; + $$0191$i = (HEAP32[$134 + 4 >> 2] & -8) - $6 | 0; + while (1) { + $140 = HEAP32[$$0189$i + 16 >> 2] | 0; + if (!$140) { + $143 = HEAP32[$$0189$i + 20 >> 2] | 0; + if (!$143) break; else $146 = $143; + } else $146 = $140; + $149 = (HEAP32[$146 + 4 >> 2] & -8) - $6 | 0; + $150 = $149 >>> 0 < $$0191$i >>> 0; + $$0189$i = $146; + $$0190$i = $150 ? $146 : $$0190$i; + $$0191$i = $150 ? $149 : $$0191$i; + } + $151 = HEAP32[16739] | 0; + if ($151 >>> 0 > $$0190$i >>> 0) _abort(); + $153 = $$0190$i + $6 | 0; + if ($153 >>> 0 <= $$0190$i >>> 0) _abort(); + $156 = HEAP32[$$0190$i + 24 >> 2] | 0; + $158 = HEAP32[$$0190$i + 12 >> 2] | 0; + do if (($158 | 0) == ($$0190$i | 0)) { + $169 = $$0190$i + 20 | 0; + $170 = HEAP32[$169 >> 2] | 0; + if (!$170) { + $172 = $$0190$i + 16 | 0; + $173 = HEAP32[$172 >> 2] | 0; + if (!$173) { + $$3$i = 0; + break; + } else { + $$1194$i$ph = $173; + $$1196$i$ph = $172; + } + } else { + $$1194$i$ph = $170; + $$1196$i$ph = $169; + } + $$1194$i = $$1194$i$ph; + $$1196$i = $$1196$i$ph; + while (1) { + $175 = $$1194$i + 20 | 0; + $176 = HEAP32[$175 >> 2] | 0; + if (!$176) { + $178 = $$1194$i + 16 | 0; + $179 = HEAP32[$178 >> 2] | 0; + if (!$179) break; else { + $$1194$i$be = $179; + $$1196$i$be = $178; + } + } else { + $$1194$i$be = $176; + $$1196$i$be = $175; + } + $$1194$i = $$1194$i$be; + $$1196$i = $$1196$i$be; + } + if ($151 >>> 0 > $$1196$i >>> 0) _abort(); else { + HEAP32[$$1196$i >> 2] = 0; + $$3$i = $$1194$i; + break; + } + } else { + $161 = HEAP32[$$0190$i + 8 >> 2] | 0; + if ($151 >>> 0 > $161 >>> 0) _abort(); + $163 = $161 + 12 | 0; + if ((HEAP32[$163 >> 2] | 0) != ($$0190$i | 0)) _abort(); + $166 = $158 + 8 | 0; + if ((HEAP32[$166 >> 2] | 0) == ($$0190$i | 0)) { + HEAP32[$163 >> 2] = $158; + HEAP32[$166 >> 2] = $161; + $$3$i = $158; + break; + } else _abort(); + } while (0); + L78 : do if ($156 | 0) { + $184 = HEAP32[$$0190$i + 28 >> 2] | 0; + $185 = 67244 + ($184 << 2) | 0; + do if (($$0190$i | 0) == (HEAP32[$185 >> 2] | 0)) { + HEAP32[$185 >> 2] = $$3$i; + if (!$$3$i) { + HEAP32[16736] = $108 & ~(1 << $184); + break L78; + } + } else if ((HEAP32[16739] | 0) >>> 0 <= $156 >>> 0) { + $193 = $156 + 16 | 0; + HEAP32[((HEAP32[$193 >> 2] | 0) == ($$0190$i | 0) ? $193 : $156 + 20 | 0) >> 2] = $$3$i; + if (!$$3$i) break L78; else break; + } else _abort(); while (0); + $198 = HEAP32[16739] | 0; + if ($198 >>> 0 > $$3$i >>> 0) _abort(); + HEAP32[$$3$i + 24 >> 2] = $156; + $202 = HEAP32[$$0190$i + 16 >> 2] | 0; + do if ($202 | 0) if ($198 >>> 0 > $202 >>> 0) _abort(); else { + HEAP32[$$3$i + 16 >> 2] = $202; + HEAP32[$202 + 24 >> 2] = $$3$i; + break; + } while (0); + $208 = HEAP32[$$0190$i + 20 >> 2] | 0; + if ($208 | 0) if ((HEAP32[16739] | 0) >>> 0 > $208 >>> 0) _abort(); else { + HEAP32[$$3$i + 20 >> 2] = $208; + HEAP32[$208 + 24 >> 2] = $$3$i; + break; + } + } while (0); + if ($$0191$i >>> 0 < 16) { + $215 = $$0191$i + $6 | 0; + HEAP32[$$0190$i + 4 >> 2] = $215 | 3; + $219 = $$0190$i + $215 + 4 | 0; + HEAP32[$219 >> 2] = HEAP32[$219 >> 2] | 1; + } else { + HEAP32[$$0190$i + 4 >> 2] = $6 | 3; + HEAP32[$153 + 4 >> 2] = $$0191$i | 1; + HEAP32[$153 + $$0191$i >> 2] = $$0191$i; + if ($37 | 0) { + $228 = HEAP32[16740] | 0; + $229 = $37 >>> 3; + $231 = 66980 + ($229 << 1 << 2) | 0; + $232 = 1 << $229; + if ($232 & $8) { + $236 = $231 + 8 | 0; + $237 = HEAP32[$236 >> 2] | 0; + if ((HEAP32[16739] | 0) >>> 0 > $237 >>> 0) _abort(); else { + $$0187$i = $237; + $$pre$phi$iZ2D = $236; + } + } else { + HEAP32[16735] = $232 | $8; + $$0187$i = $231; + $$pre$phi$iZ2D = $231 + 8 | 0; + } + HEAP32[$$pre$phi$iZ2D >> 2] = $228; + HEAP32[$$0187$i + 12 >> 2] = $228; + HEAP32[$228 + 8 >> 2] = $$0187$i; + HEAP32[$228 + 12 >> 2] = $231; + } + HEAP32[16737] = $$0191$i; + HEAP32[16740] = $153; + } + $$0 = $$0190$i + 8 | 0; + STACKTOP = sp; + return $$0 | 0; + } else $$0197 = $6; + } else $$0197 = $6; + } else if ($0 >>> 0 <= 4294967231) { + $245 = $0 + 11 | 0; + $246 = $245 & -8; + $247 = HEAP32[16736] | 0; + if ($247) { + $249 = 0 - $246 | 0; + $250 = $245 >>> 8; + if ($250) if ($246 >>> 0 > 16777215) $$0357$i = 31; else { + $255 = ($250 + 1048320 | 0) >>> 16 & 8; + $256 = $250 << $255; + $259 = ($256 + 520192 | 0) >>> 16 & 4; + $261 = $256 << $259; + $264 = ($261 + 245760 | 0) >>> 16 & 2; + $269 = 14 - ($259 | $255 | $264) + ($261 << $264 >>> 15) | 0; + $$0357$i = $246 >>> ($269 + 7 | 0) & 1 | $269 << 1; + } else $$0357$i = 0; + $276 = HEAP32[67244 + ($$0357$i << 2) >> 2] | 0; + L122 : do if (!$276) { + $$2353$i = 0; + $$3$i203 = 0; + $$3348$i = $249; + label = 85; + } else { + $$0340$i = 0; + $$0345$i = $249; + $$0351$i = $276; + $$0358$i = $246 << (($$0357$i | 0) == 31 ? 0 : 25 - ($$0357$i >>> 1) | 0); + $$0361$i = 0; + while (1) { + $286 = (HEAP32[$$0351$i + 4 >> 2] & -8) - $246 | 0; + if ($286 >>> 0 < $$0345$i >>> 0) if (!$286) { + $$420$i$ph = $$0351$i; + $$434919$i$ph = 0; + $$535618$i$ph = $$0351$i; + label = 89; + break L122; + } else { + $$1341$i = $$0351$i; + $$1346$i = $286; + } else { + $$1341$i = $$0340$i; + $$1346$i = $$0345$i; + } + $290 = HEAP32[$$0351$i + 20 >> 2] | 0; + $$0351$i = HEAP32[$$0351$i + 16 + ($$0358$i >>> 31 << 2) >> 2] | 0; + $$1362$i = ($290 | 0) == 0 | ($290 | 0) == ($$0351$i | 0) ? $$0361$i : $290; + if (!$$0351$i) { + $$2353$i = $$1362$i; + $$3$i203 = $$1341$i; + $$3348$i = $$1346$i; + label = 85; + break; + } else { + $$0340$i = $$1341$i; + $$0345$i = $$1346$i; + $$0358$i = $$0358$i << 1; + $$0361$i = $$1362$i; + } + } + } while (0); + if ((label | 0) == 85) { + if (($$2353$i | 0) == 0 & ($$3$i203 | 0) == 0) { + $299 = 2 << $$0357$i; + $302 = ($299 | 0 - $299) & $247; + if (!$302) { + $$0197 = $246; + break; + } + $306 = ($302 & 0 - $302) + -1 | 0; + $308 = $306 >>> 12 & 16; + $309 = $306 >>> $308; + $311 = $309 >>> 5 & 8; + $313 = $309 >>> $311; + $315 = $313 >>> 2 & 4; + $317 = $313 >>> $315; + $319 = $317 >>> 1 & 2; + $321 = $317 >>> $319; + $323 = $321 >>> 1 & 1; + $$3$i203218 = 0; + $$4355$i = HEAP32[67244 + (($311 | $308 | $315 | $319 | $323) + ($321 >>> $323) << 2) >> 2] | 0; + } else { + $$3$i203218 = $$3$i203; + $$4355$i = $$2353$i; + } + if (!$$4355$i) { + $$4$lcssa$i = $$3$i203218; + $$4349$lcssa$i = $$3348$i; + } else { + $$420$i$ph = $$3$i203218; + $$434919$i$ph = $$3348$i; + $$535618$i$ph = $$4355$i; + label = 89; + } + } + if ((label | 0) == 89) { + $$420$i = $$420$i$ph; + $$434919$i = $$434919$i$ph; + $$535618$i = $$535618$i$ph; + while (1) { + $333 = (HEAP32[$$535618$i + 4 >> 2] & -8) - $246 | 0; + $334 = $333 >>> 0 < $$434919$i >>> 0; + $spec$select$i205 = $334 ? $333 : $$434919$i; + $spec$select3$i = $334 ? $$535618$i : $$420$i; + $336 = HEAP32[$$535618$i + 16 >> 2] | 0; + if (!$336) $341 = HEAP32[$$535618$i + 20 >> 2] | 0; else $341 = $336; + if (!$341) { + $$4$lcssa$i = $spec$select3$i; + $$4349$lcssa$i = $spec$select$i205; + break; + } else { + $$420$i = $spec$select3$i; + $$434919$i = $spec$select$i205; + $$535618$i = $341; + } + } + } + if (($$4$lcssa$i | 0) != 0 ? $$4349$lcssa$i >>> 0 < ((HEAP32[16737] | 0) - $246 | 0) >>> 0 : 0) { + $346 = HEAP32[16739] | 0; + if ($346 >>> 0 > $$4$lcssa$i >>> 0) _abort(); + $348 = $$4$lcssa$i + $246 | 0; + if ($348 >>> 0 <= $$4$lcssa$i >>> 0) _abort(); + $351 = HEAP32[$$4$lcssa$i + 24 >> 2] | 0; + $353 = HEAP32[$$4$lcssa$i + 12 >> 2] | 0; + do if (($353 | 0) == ($$4$lcssa$i | 0)) { + $364 = $$4$lcssa$i + 20 | 0; + $365 = HEAP32[$364 >> 2] | 0; + if (!$365) { + $367 = $$4$lcssa$i + 16 | 0; + $368 = HEAP32[$367 >> 2] | 0; + if (!$368) { + $$3371$i = 0; + break; + } else { + $$1369$i$ph = $368; + $$1373$i$ph = $367; + } + } else { + $$1369$i$ph = $365; + $$1373$i$ph = $364; + } + $$1369$i = $$1369$i$ph; + $$1373$i = $$1373$i$ph; + while (1) { + $370 = $$1369$i + 20 | 0; + $371 = HEAP32[$370 >> 2] | 0; + if (!$371) { + $373 = $$1369$i + 16 | 0; + $374 = HEAP32[$373 >> 2] | 0; + if (!$374) break; else { + $$1369$i$be = $374; + $$1373$i$be = $373; + } + } else { + $$1369$i$be = $371; + $$1373$i$be = $370; + } + $$1369$i = $$1369$i$be; + $$1373$i = $$1373$i$be; + } + if ($346 >>> 0 > $$1373$i >>> 0) _abort(); else { + HEAP32[$$1373$i >> 2] = 0; + $$3371$i = $$1369$i; + break; + } + } else { + $356 = HEAP32[$$4$lcssa$i + 8 >> 2] | 0; + if ($346 >>> 0 > $356 >>> 0) _abort(); + $358 = $356 + 12 | 0; + if ((HEAP32[$358 >> 2] | 0) != ($$4$lcssa$i | 0)) _abort(); + $361 = $353 + 8 | 0; + if ((HEAP32[$361 >> 2] | 0) == ($$4$lcssa$i | 0)) { + HEAP32[$358 >> 2] = $353; + HEAP32[$361 >> 2] = $356; + $$3371$i = $353; + break; + } else _abort(); + } while (0); + L176 : do if ($351) { + $379 = HEAP32[$$4$lcssa$i + 28 >> 2] | 0; + $380 = 67244 + ($379 << 2) | 0; + do if (($$4$lcssa$i | 0) == (HEAP32[$380 >> 2] | 0)) { + HEAP32[$380 >> 2] = $$3371$i; + if (!$$3371$i) { + $385 = $247 & ~(1 << $379); + HEAP32[16736] = $385; + $469 = $385; + break L176; + } + } else if ((HEAP32[16739] | 0) >>> 0 <= $351 >>> 0) { + $388 = $351 + 16 | 0; + HEAP32[((HEAP32[$388 >> 2] | 0) == ($$4$lcssa$i | 0) ? $388 : $351 + 20 | 0) >> 2] = $$3371$i; + if (!$$3371$i) { + $469 = $247; + break L176; + } else break; + } else _abort(); while (0); + $393 = HEAP32[16739] | 0; + if ($393 >>> 0 > $$3371$i >>> 0) _abort(); + HEAP32[$$3371$i + 24 >> 2] = $351; + $397 = HEAP32[$$4$lcssa$i + 16 >> 2] | 0; + do if ($397 | 0) if ($393 >>> 0 > $397 >>> 0) _abort(); else { + HEAP32[$$3371$i + 16 >> 2] = $397; + HEAP32[$397 + 24 >> 2] = $$3371$i; + break; + } while (0); + $403 = HEAP32[$$4$lcssa$i + 20 >> 2] | 0; + if ($403) if ((HEAP32[16739] | 0) >>> 0 > $403 >>> 0) _abort(); else { + HEAP32[$$3371$i + 20 >> 2] = $403; + HEAP32[$403 + 24 >> 2] = $$3371$i; + $469 = $247; + break; + } else $469 = $247; + } else $469 = $247; while (0); + L200 : do if ($$4349$lcssa$i >>> 0 >= 16) { + HEAP32[$$4$lcssa$i + 4 >> 2] = $246 | 3; + HEAP32[$348 + 4 >> 2] = $$4349$lcssa$i | 1; + HEAP32[$348 + $$4349$lcssa$i >> 2] = $$4349$lcssa$i; + $422 = $$4349$lcssa$i >>> 3; + if ($$4349$lcssa$i >>> 0 < 256) { + $425 = 66980 + ($422 << 1 << 2) | 0; + $426 = HEAP32[16735] | 0; + $427 = 1 << $422; + if ($426 & $427) { + $431 = $425 + 8 | 0; + $432 = HEAP32[$431 >> 2] | 0; + if ((HEAP32[16739] | 0) >>> 0 > $432 >>> 0) _abort(); else { + $$0367$i = $432; + $$pre$phi$i209Z2D = $431; + } + } else { + HEAP32[16735] = $426 | $427; + $$0367$i = $425; + $$pre$phi$i209Z2D = $425 + 8 | 0; + } + HEAP32[$$pre$phi$i209Z2D >> 2] = $348; + HEAP32[$$0367$i + 12 >> 2] = $348; + HEAP32[$348 + 8 >> 2] = $$0367$i; + HEAP32[$348 + 12 >> 2] = $425; + break; + } + $438 = $$4349$lcssa$i >>> 8; + if ($438) if ($$4349$lcssa$i >>> 0 > 16777215) $$0360$i = 31; else { + $443 = ($438 + 1048320 | 0) >>> 16 & 8; + $444 = $438 << $443; + $447 = ($444 + 520192 | 0) >>> 16 & 4; + $449 = $444 << $447; + $452 = ($449 + 245760 | 0) >>> 16 & 2; + $457 = 14 - ($447 | $443 | $452) + ($449 << $452 >>> 15) | 0; + $$0360$i = $$4349$lcssa$i >>> ($457 + 7 | 0) & 1 | $457 << 1; + } else $$0360$i = 0; + $463 = 67244 + ($$0360$i << 2) | 0; + HEAP32[$348 + 28 >> 2] = $$0360$i; + $465 = $348 + 16 | 0; + HEAP32[$465 + 4 >> 2] = 0; + HEAP32[$465 >> 2] = 0; + $467 = 1 << $$0360$i; + if (!($469 & $467)) { + HEAP32[16736] = $469 | $467; + HEAP32[$463 >> 2] = $348; + HEAP32[$348 + 24 >> 2] = $463; + HEAP32[$348 + 12 >> 2] = $348; + HEAP32[$348 + 8 >> 2] = $348; + break; + } + $475 = HEAP32[$463 >> 2] | 0; + L218 : do if ((HEAP32[$475 + 4 >> 2] & -8 | 0) != ($$4349$lcssa$i | 0)) { + $$034217$i = $$4349$lcssa$i << (($$0360$i | 0) == 31 ? 0 : 25 - ($$0360$i >>> 1) | 0); + $$034316$i = $475; + while (1) { + $492 = $$034316$i + 16 + ($$034217$i >>> 31 << 2) | 0; + $487 = HEAP32[$492 >> 2] | 0; + if (!$487) break; + if ((HEAP32[$487 + 4 >> 2] & -8 | 0) == ($$4349$lcssa$i | 0)) { + $$0343$lcssa$i = $487; + break L218; + } else { + $$034217$i = $$034217$i << 1; + $$034316$i = $487; + } + } + if ((HEAP32[16739] | 0) >>> 0 > $492 >>> 0) _abort(); else { + HEAP32[$492 >> 2] = $348; + HEAP32[$348 + 24 >> 2] = $$034316$i; + HEAP32[$348 + 12 >> 2] = $348; + HEAP32[$348 + 8 >> 2] = $348; + break L200; + } + } else $$0343$lcssa$i = $475; while (0); + $499 = $$0343$lcssa$i + 8 | 0; + $500 = HEAP32[$499 >> 2] | 0; + $501 = HEAP32[16739] | 0; + if ($501 >>> 0 <= $500 >>> 0 & $501 >>> 0 <= $$0343$lcssa$i >>> 0) { + HEAP32[$500 + 12 >> 2] = $348; + HEAP32[$499 >> 2] = $348; + HEAP32[$348 + 8 >> 2] = $500; + HEAP32[$348 + 12 >> 2] = $$0343$lcssa$i; + HEAP32[$348 + 24 >> 2] = 0; + break; + } else _abort(); + } else { + $410 = $$4349$lcssa$i + $246 | 0; + HEAP32[$$4$lcssa$i + 4 >> 2] = $410 | 3; + $414 = $$4$lcssa$i + $410 + 4 | 0; + HEAP32[$414 >> 2] = HEAP32[$414 >> 2] | 1; + } while (0); + $$0 = $$4$lcssa$i + 8 | 0; + STACKTOP = sp; + return $$0 | 0; + } else $$0197 = $246; + } else $$0197 = $246; + } else $$0197 = -1; while (0); + $510 = HEAP32[16737] | 0; + if ($510 >>> 0 >= $$0197 >>> 0) { + $512 = $510 - $$0197 | 0; + $513 = HEAP32[16740] | 0; + if ($512 >>> 0 > 15) { + $515 = $513 + $$0197 | 0; + HEAP32[16740] = $515; + HEAP32[16737] = $512; + HEAP32[$515 + 4 >> 2] = $512 | 1; + HEAP32[$513 + $510 >> 2] = $512; + HEAP32[$513 + 4 >> 2] = $$0197 | 3; + } else { + HEAP32[16737] = 0; + HEAP32[16740] = 0; + HEAP32[$513 + 4 >> 2] = $510 | 3; + $524 = $513 + $510 + 4 | 0; + HEAP32[$524 >> 2] = HEAP32[$524 >> 2] | 1; + } + $$0 = $513 + 8 | 0; + STACKTOP = sp; + return $$0 | 0; + } + $528 = HEAP32[16738] | 0; + if ($528 >>> 0 > $$0197 >>> 0) { + $530 = $528 - $$0197 | 0; + HEAP32[16738] = $530; + $531 = HEAP32[16741] | 0; + $532 = $531 + $$0197 | 0; + HEAP32[16741] = $532; + HEAP32[$532 + 4 >> 2] = $530 | 1; + HEAP32[$531 + 4 >> 2] = $$0197 | 3; + $$0 = $531 + 8 | 0; + STACKTOP = sp; + return $$0 | 0; + } + if (!(HEAP32[16853] | 0)) { + HEAP32[16855] = 4096; + HEAP32[16854] = 4096; + HEAP32[16856] = -1; + HEAP32[16857] = -1; + HEAP32[16858] = 0; + HEAP32[16846] = 0; + HEAP32[16853] = $1 & -16 ^ 1431655768; + $546 = 4096; + } else $546 = HEAP32[16855] | 0; + $543 = $$0197 + 48 | 0; + $544 = $$0197 + 47 | 0; + $545 = $546 + $544 | 0; + $547 = 0 - $546 | 0; + $548 = $545 & $547; + if ($548 >>> 0 <= $$0197 >>> 0) { + $$0 = 0; + STACKTOP = sp; + return $$0 | 0; + } + $550 = HEAP32[16845] | 0; + if ($550 | 0 ? ($552 = HEAP32[16843] | 0, $553 = $552 + $548 | 0, $553 >>> 0 <= $552 >>> 0 | $553 >>> 0 > $550 >>> 0) : 0) { + $$0 = 0; + STACKTOP = sp; + return $$0 | 0; + } + L257 : do if (!(HEAP32[16846] & 4)) { + $559 = HEAP32[16741] | 0; + L259 : do if ($559) { + $$0$i$i = 67388; + while (1) { + $561 = HEAP32[$$0$i$i >> 2] | 0; + if ($561 >>> 0 <= $559 >>> 0 ? ($561 + (HEAP32[$$0$i$i + 4 >> 2] | 0) | 0) >>> 0 > $559 >>> 0 : 0) break; + $568 = HEAP32[$$0$i$i + 8 >> 2] | 0; + if (!$568) { + label = 173; + break L259; + } else $$0$i$i = $568; + } + $593 = $545 - $528 & $547; + if ($593 >>> 0 < 2147483647) { + $596 = _sbrk($593) | 0; + if (($596 | 0) == ((HEAP32[$$0$i$i >> 2] | 0) + (HEAP32[$$0$i$i + 4 >> 2] | 0) | 0)) if (($596 | 0) == (-1 | 0)) $$2234243136$i = $593; else { + $$723947$i = $593; + $$748$i = $596; + label = 190; + break L257; + } else { + $$2247$ph$i = $596; + $$2253$ph$i = $593; + label = 181; + } + } else $$2234243136$i = 0; + } else label = 173; while (0); + do if ((label | 0) == 173) { + $570 = _sbrk(0) | 0; + if (($570 | 0) != (-1 | 0) ? ($572 = $570, $573 = HEAP32[16854] | 0, $574 = $573 + -1 | 0, $spec$select49$i = (($574 & $572 | 0) == 0 ? 0 : ($574 + $572 & 0 - $573) - $572 | 0) + $548 | 0, $582 = HEAP32[16843] | 0, $583 = $spec$select49$i + $582 | 0, $spec$select49$i >>> 0 > $$0197 >>> 0 & $spec$select49$i >>> 0 < 2147483647) : 0) { + $586 = HEAP32[16845] | 0; + if ($586 | 0 ? $583 >>> 0 <= $582 >>> 0 | $583 >>> 0 > $586 >>> 0 : 0) { + $$2234243136$i = 0; + break; + } + $590 = _sbrk($spec$select49$i) | 0; + if (($590 | 0) == ($570 | 0)) { + $$723947$i = $spec$select49$i; + $$748$i = $570; + label = 190; + break L257; + } else { + $$2247$ph$i = $590; + $$2253$ph$i = $spec$select49$i; + label = 181; + } + } else $$2234243136$i = 0; + } while (0); + do if ((label | 0) == 181) { + $602 = 0 - $$2253$ph$i | 0; + if (!($543 >>> 0 > $$2253$ph$i >>> 0 & ($$2253$ph$i >>> 0 < 2147483647 & ($$2247$ph$i | 0) != (-1 | 0)))) if (($$2247$ph$i | 0) == (-1 | 0)) { + $$2234243136$i = 0; + break; + } else { + $$723947$i = $$2253$ph$i; + $$748$i = $$2247$ph$i; + label = 190; + break L257; + } + $606 = HEAP32[16855] | 0; + $610 = $544 - $$2253$ph$i + $606 & 0 - $606; + if ($610 >>> 0 >= 2147483647) { + $$723947$i = $$2253$ph$i; + $$748$i = $$2247$ph$i; + label = 190; + break L257; + } + if ((_sbrk($610) | 0) == (-1 | 0)) { + _sbrk($602) | 0; + $$2234243136$i = 0; + break; + } else { + $$723947$i = $610 + $$2253$ph$i | 0; + $$748$i = $$2247$ph$i; + label = 190; + break L257; + } + } while (0); + HEAP32[16846] = HEAP32[16846] | 4; + $$4236$i = $$2234243136$i; + label = 188; + } else { + $$4236$i = 0; + label = 188; + } while (0); + if (((label | 0) == 188 ? $548 >>> 0 < 2147483647 : 0) ? ($619 = _sbrk($548) | 0, $620 = _sbrk(0) | 0, $626 = $620 - $619 | 0, $628 = $626 >>> 0 > ($$0197 + 40 | 0) >>> 0, !(($619 | 0) == (-1 | 0) | $628 ^ 1 | $619 >>> 0 < $620 >>> 0 & (($619 | 0) != (-1 | 0) & ($620 | 0) != (-1 | 0)) ^ 1)) : 0) { + $$723947$i = $628 ? $626 : $$4236$i; + $$748$i = $619; + label = 190; + } + if ((label | 0) == 190) { + $632 = (HEAP32[16843] | 0) + $$723947$i | 0; + HEAP32[16843] = $632; + if ($632 >>> 0 > (HEAP32[16844] | 0) >>> 0) HEAP32[16844] = $632; + $635 = HEAP32[16741] | 0; + L294 : do if ($635) { + $$024372$i = 67388; + while (1) { + $656 = HEAP32[$$024372$i >> 2] | 0; + $658 = HEAP32[$$024372$i + 4 >> 2] | 0; + if (($$748$i | 0) == ($656 + $658 | 0)) { + label = 199; + break; + } + $662 = HEAP32[$$024372$i + 8 >> 2] | 0; + if (!$662) break; else $$024372$i = $662; + } + if (((label | 0) == 199 ? ($664 = $$024372$i + 4 | 0, (HEAP32[$$024372$i + 12 >> 2] & 8 | 0) == 0) : 0) ? $$748$i >>> 0 > $635 >>> 0 & $656 >>> 0 <= $635 >>> 0 : 0) { + HEAP32[$664 >> 2] = $658 + $$723947$i; + $673 = (HEAP32[16738] | 0) + $$723947$i | 0; + $675 = $635 + 8 | 0; + $680 = ($675 & 7 | 0) == 0 ? 0 : 0 - $675 & 7; + $681 = $635 + $680 | 0; + $682 = $673 - $680 | 0; + HEAP32[16741] = $681; + HEAP32[16738] = $682; + HEAP32[$681 + 4 >> 2] = $682 | 1; + HEAP32[$635 + $673 + 4 >> 2] = 40; + HEAP32[16742] = HEAP32[16857]; + break; + } + $688 = HEAP32[16739] | 0; + if ($$748$i >>> 0 < $688 >>> 0) { + HEAP32[16739] = $$748$i; + $753 = $$748$i; + } else $753 = $688; + $690 = $$748$i + $$723947$i | 0; + $$124471$i = 67388; + while (1) { + if ((HEAP32[$$124471$i >> 2] | 0) == ($690 | 0)) { + label = 207; + break; + } + $694 = HEAP32[$$124471$i + 8 >> 2] | 0; + if (!$694) break; else $$124471$i = $694; + } + if ((label | 0) == 207 ? (HEAP32[$$124471$i + 12 >> 2] & 8 | 0) == 0 : 0) { + HEAP32[$$124471$i >> 2] = $$748$i; + $700 = $$124471$i + 4 | 0; + HEAP32[$700 >> 2] = (HEAP32[$700 >> 2] | 0) + $$723947$i; + $704 = $$748$i + 8 | 0; + $710 = $$748$i + (($704 & 7 | 0) == 0 ? 0 : 0 - $704 & 7) | 0; + $712 = $690 + 8 | 0; + $718 = $690 + (($712 & 7 | 0) == 0 ? 0 : 0 - $712 & 7) | 0; + $722 = $710 + $$0197 | 0; + $723 = $718 - $710 - $$0197 | 0; + HEAP32[$710 + 4 >> 2] = $$0197 | 3; + L317 : do if (($635 | 0) != ($718 | 0)) { + if ((HEAP32[16740] | 0) == ($718 | 0)) { + $734 = (HEAP32[16737] | 0) + $723 | 0; + HEAP32[16737] = $734; + HEAP32[16740] = $722; + HEAP32[$722 + 4 >> 2] = $734 | 1; + HEAP32[$722 + $734 >> 2] = $734; + break; + } + $739 = HEAP32[$718 + 4 >> 2] | 0; + if (($739 & 3 | 0) == 1) { + $742 = $739 & -8; + $743 = $739 >>> 3; + L325 : do if ($739 >>> 0 >= 256) { + $769 = HEAP32[$718 + 24 >> 2] | 0; + $771 = HEAP32[$718 + 12 >> 2] | 0; + do if (($771 | 0) == ($718 | 0)) { + $782 = $718 + 16 | 0; + $783 = $782 + 4 | 0; + $784 = HEAP32[$783 >> 2] | 0; + if (!$784) { + $786 = HEAP32[$782 >> 2] | 0; + if (!$786) { + $$3$i$i = 0; + break; + } else { + $$1290$i$i$ph = $786; + $$1292$i$i$ph = $782; + } + } else { + $$1290$i$i$ph = $784; + $$1292$i$i$ph = $783; + } + $$1290$i$i = $$1290$i$i$ph; + $$1292$i$i = $$1292$i$i$ph; + while (1) { + $788 = $$1290$i$i + 20 | 0; + $789 = HEAP32[$788 >> 2] | 0; + if (!$789) { + $791 = $$1290$i$i + 16 | 0; + $792 = HEAP32[$791 >> 2] | 0; + if (!$792) break; else { + $$1290$i$i$be = $792; + $$1292$i$i$be = $791; + } + } else { + $$1290$i$i$be = $789; + $$1292$i$i$be = $788; + } + $$1290$i$i = $$1290$i$i$be; + $$1292$i$i = $$1292$i$i$be; + } + if ($753 >>> 0 > $$1292$i$i >>> 0) _abort(); else { + HEAP32[$$1292$i$i >> 2] = 0; + $$3$i$i = $$1290$i$i; + break; + } + } else { + $774 = HEAP32[$718 + 8 >> 2] | 0; + if ($753 >>> 0 > $774 >>> 0) _abort(); + $776 = $774 + 12 | 0; + if ((HEAP32[$776 >> 2] | 0) != ($718 | 0)) _abort(); + $779 = $771 + 8 | 0; + if ((HEAP32[$779 >> 2] | 0) == ($718 | 0)) { + HEAP32[$776 >> 2] = $771; + HEAP32[$779 >> 2] = $774; + $$3$i$i = $771; + break; + } else _abort(); + } while (0); + if (!$769) break; + $797 = HEAP32[$718 + 28 >> 2] | 0; + $798 = 67244 + ($797 << 2) | 0; + do if ((HEAP32[$798 >> 2] | 0) != ($718 | 0)) if ((HEAP32[16739] | 0) >>> 0 <= $769 >>> 0) { + $807 = $769 + 16 | 0; + HEAP32[((HEAP32[$807 >> 2] | 0) == ($718 | 0) ? $807 : $769 + 20 | 0) >> 2] = $$3$i$i; + if (!$$3$i$i) break L325; else break; + } else _abort(); else { + HEAP32[$798 >> 2] = $$3$i$i; + if ($$3$i$i | 0) break; + HEAP32[16736] = HEAP32[16736] & ~(1 << $797); + break L325; + } while (0); + $812 = HEAP32[16739] | 0; + if ($812 >>> 0 > $$3$i$i >>> 0) _abort(); + HEAP32[$$3$i$i + 24 >> 2] = $769; + $815 = $718 + 16 | 0; + $816 = HEAP32[$815 >> 2] | 0; + do if ($816 | 0) if ($812 >>> 0 > $816 >>> 0) _abort(); else { + HEAP32[$$3$i$i + 16 >> 2] = $816; + HEAP32[$816 + 24 >> 2] = $$3$i$i; + break; + } while (0); + $822 = HEAP32[$815 + 4 >> 2] | 0; + if (!$822) break; + if ((HEAP32[16739] | 0) >>> 0 > $822 >>> 0) _abort(); else { + HEAP32[$$3$i$i + 20 >> 2] = $822; + HEAP32[$822 + 24 >> 2] = $$3$i$i; + break; + } + } else { + $746 = HEAP32[$718 + 8 >> 2] | 0; + $748 = HEAP32[$718 + 12 >> 2] | 0; + $750 = 66980 + ($743 << 1 << 2) | 0; + do if (($746 | 0) != ($750 | 0)) { + if ($753 >>> 0 > $746 >>> 0) _abort(); + if ((HEAP32[$746 + 12 >> 2] | 0) == ($718 | 0)) break; + _abort(); + } while (0); + if (($748 | 0) == ($746 | 0)) { + HEAP32[16735] = HEAP32[16735] & ~(1 << $743); + break; + } + do if (($748 | 0) == ($750 | 0)) $$pre$phi17$i$iZ2D = $748 + 8 | 0; else { + if ($753 >>> 0 > $748 >>> 0) _abort(); + $764 = $748 + 8 | 0; + if ((HEAP32[$764 >> 2] | 0) == ($718 | 0)) { + $$pre$phi17$i$iZ2D = $764; + break; + } + _abort(); + } while (0); + HEAP32[$746 + 12 >> 2] = $748; + HEAP32[$$pre$phi17$i$iZ2D >> 2] = $746; + } while (0); + $$0$i16$i = $718 + $742 | 0; + $$0286$i$i = $742 + $723 | 0; + } else { + $$0$i16$i = $718; + $$0286$i$i = $723; + } + $830 = $$0$i16$i + 4 | 0; + HEAP32[$830 >> 2] = HEAP32[$830 >> 2] & -2; + HEAP32[$722 + 4 >> 2] = $$0286$i$i | 1; + HEAP32[$722 + $$0286$i$i >> 2] = $$0286$i$i; + $836 = $$0286$i$i >>> 3; + if ($$0286$i$i >>> 0 < 256) { + $839 = 66980 + ($836 << 1 << 2) | 0; + $840 = HEAP32[16735] | 0; + $841 = 1 << $836; + do if (!($840 & $841)) { + HEAP32[16735] = $840 | $841; + $$0294$i$i = $839; + $$pre$phi$i18$iZ2D = $839 + 8 | 0; + } else { + $845 = $839 + 8 | 0; + $846 = HEAP32[$845 >> 2] | 0; + if ((HEAP32[16739] | 0) >>> 0 <= $846 >>> 0) { + $$0294$i$i = $846; + $$pre$phi$i18$iZ2D = $845; + break; + } + _abort(); + } while (0); + HEAP32[$$pre$phi$i18$iZ2D >> 2] = $722; + HEAP32[$$0294$i$i + 12 >> 2] = $722; + HEAP32[$722 + 8 >> 2] = $$0294$i$i; + HEAP32[$722 + 12 >> 2] = $839; + break; + } + $852 = $$0286$i$i >>> 8; + do if (!$852) $$0295$i$i = 0; else { + if ($$0286$i$i >>> 0 > 16777215) { + $$0295$i$i = 31; + break; + } + $857 = ($852 + 1048320 | 0) >>> 16 & 8; + $858 = $852 << $857; + $861 = ($858 + 520192 | 0) >>> 16 & 4; + $863 = $858 << $861; + $866 = ($863 + 245760 | 0) >>> 16 & 2; + $871 = 14 - ($861 | $857 | $866) + ($863 << $866 >>> 15) | 0; + $$0295$i$i = $$0286$i$i >>> ($871 + 7 | 0) & 1 | $871 << 1; + } while (0); + $877 = 67244 + ($$0295$i$i << 2) | 0; + HEAP32[$722 + 28 >> 2] = $$0295$i$i; + $879 = $722 + 16 | 0; + HEAP32[$879 + 4 >> 2] = 0; + HEAP32[$879 >> 2] = 0; + $881 = HEAP32[16736] | 0; + $882 = 1 << $$0295$i$i; + if (!($881 & $882)) { + HEAP32[16736] = $881 | $882; + HEAP32[$877 >> 2] = $722; + HEAP32[$722 + 24 >> 2] = $877; + HEAP32[$722 + 12 >> 2] = $722; + HEAP32[$722 + 8 >> 2] = $722; + break; + } + $889 = HEAP32[$877 >> 2] | 0; + L410 : do if ((HEAP32[$889 + 4 >> 2] & -8 | 0) != ($$0286$i$i | 0)) { + $$028711$i$i = $$0286$i$i << (($$0295$i$i | 0) == 31 ? 0 : 25 - ($$0295$i$i >>> 1) | 0); + $$028810$i$i = $889; + while (1) { + $906 = $$028810$i$i + 16 + ($$028711$i$i >>> 31 << 2) | 0; + $901 = HEAP32[$906 >> 2] | 0; + if (!$901) break; + if ((HEAP32[$901 + 4 >> 2] & -8 | 0) == ($$0286$i$i | 0)) { + $$0288$lcssa$i$i = $901; + break L410; + } else { + $$028711$i$i = $$028711$i$i << 1; + $$028810$i$i = $901; + } + } + if ((HEAP32[16739] | 0) >>> 0 > $906 >>> 0) _abort(); else { + HEAP32[$906 >> 2] = $722; + HEAP32[$722 + 24 >> 2] = $$028810$i$i; + HEAP32[$722 + 12 >> 2] = $722; + HEAP32[$722 + 8 >> 2] = $722; + break L317; + } + } else $$0288$lcssa$i$i = $889; while (0); + $913 = $$0288$lcssa$i$i + 8 | 0; + $914 = HEAP32[$913 >> 2] | 0; + $915 = HEAP32[16739] | 0; + if ($915 >>> 0 <= $914 >>> 0 & $915 >>> 0 <= $$0288$lcssa$i$i >>> 0) { + HEAP32[$914 + 12 >> 2] = $722; + HEAP32[$913 >> 2] = $722; + HEAP32[$722 + 8 >> 2] = $914; + HEAP32[$722 + 12 >> 2] = $$0288$lcssa$i$i; + HEAP32[$722 + 24 >> 2] = 0; + break; + } else _abort(); + } else { + $728 = (HEAP32[16738] | 0) + $723 | 0; + HEAP32[16738] = $728; + HEAP32[16741] = $722; + HEAP32[$722 + 4 >> 2] = $728 | 1; + } while (0); + $$0 = $710 + 8 | 0; + STACKTOP = sp; + return $$0 | 0; + } + $$0$i$i$i = 67388; + while (1) { + $923 = HEAP32[$$0$i$i$i >> 2] | 0; + if ($923 >>> 0 <= $635 >>> 0 ? ($927 = $923 + (HEAP32[$$0$i$i$i + 4 >> 2] | 0) | 0, $927 >>> 0 > $635 >>> 0) : 0) break; + $$0$i$i$i = HEAP32[$$0$i$i$i + 8 >> 2] | 0; + } + $931 = $927 + -47 | 0; + $933 = $931 + 8 | 0; + $939 = $931 + (($933 & 7 | 0) == 0 ? 0 : 0 - $933 & 7) | 0; + $940 = $635 + 16 | 0; + $942 = $939 >>> 0 < $940 >>> 0 ? $635 : $939; + $943 = $942 + 8 | 0; + $945 = $$723947$i + -40 | 0; + $947 = $$748$i + 8 | 0; + $952 = ($947 & 7 | 0) == 0 ? 0 : 0 - $947 & 7; + $953 = $$748$i + $952 | 0; + $954 = $945 - $952 | 0; + HEAP32[16741] = $953; + HEAP32[16738] = $954; + HEAP32[$953 + 4 >> 2] = $954 | 1; + HEAP32[$$748$i + $945 + 4 >> 2] = 40; + HEAP32[16742] = HEAP32[16857]; + $960 = $942 + 4 | 0; + HEAP32[$960 >> 2] = 27; + HEAP32[$943 >> 2] = HEAP32[16847]; + HEAP32[$943 + 4 >> 2] = HEAP32[16848]; + HEAP32[$943 + 8 >> 2] = HEAP32[16849]; + HEAP32[$943 + 12 >> 2] = HEAP32[16850]; + HEAP32[16847] = $$748$i; + HEAP32[16848] = $$723947$i; + HEAP32[16850] = 0; + HEAP32[16849] = $943; + $962 = $942 + 24 | 0; + do { + $962$looptemp = $962; + $962 = $962 + 4 | 0; + HEAP32[$962 >> 2] = 7; + } while (($962$looptemp + 8 | 0) >>> 0 < $927 >>> 0); + if (($942 | 0) != ($635 | 0)) { + $968 = $942 - $635 | 0; + HEAP32[$960 >> 2] = HEAP32[$960 >> 2] & -2; + HEAP32[$635 + 4 >> 2] = $968 | 1; + HEAP32[$942 >> 2] = $968; + $973 = $968 >>> 3; + if ($968 >>> 0 < 256) { + $976 = 66980 + ($973 << 1 << 2) | 0; + $977 = HEAP32[16735] | 0; + $978 = 1 << $973; + if ($977 & $978) { + $982 = $976 + 8 | 0; + $983 = HEAP32[$982 >> 2] | 0; + if ((HEAP32[16739] | 0) >>> 0 > $983 >>> 0) _abort(); else { + $$0211$i$i = $983; + $$pre$phi$i$iZ2D = $982; + } + } else { + HEAP32[16735] = $977 | $978; + $$0211$i$i = $976; + $$pre$phi$i$iZ2D = $976 + 8 | 0; + } + HEAP32[$$pre$phi$i$iZ2D >> 2] = $635; + HEAP32[$$0211$i$i + 12 >> 2] = $635; + HEAP32[$635 + 8 >> 2] = $$0211$i$i; + HEAP32[$635 + 12 >> 2] = $976; + break; + } + $989 = $968 >>> 8; + if ($989) if ($968 >>> 0 > 16777215) $$0212$i$i = 31; else { + $994 = ($989 + 1048320 | 0) >>> 16 & 8; + $995 = $989 << $994; + $998 = ($995 + 520192 | 0) >>> 16 & 4; + $1000 = $995 << $998; + $1003 = ($1000 + 245760 | 0) >>> 16 & 2; + $1008 = 14 - ($998 | $994 | $1003) + ($1000 << $1003 >>> 15) | 0; + $$0212$i$i = $968 >>> ($1008 + 7 | 0) & 1 | $1008 << 1; + } else $$0212$i$i = 0; + $1014 = 67244 + ($$0212$i$i << 2) | 0; + HEAP32[$635 + 28 >> 2] = $$0212$i$i; + HEAP32[$635 + 20 >> 2] = 0; + HEAP32[$940 >> 2] = 0; + $1017 = HEAP32[16736] | 0; + $1018 = 1 << $$0212$i$i; + if (!($1017 & $1018)) { + HEAP32[16736] = $1017 | $1018; + HEAP32[$1014 >> 2] = $635; + HEAP32[$635 + 24 >> 2] = $1014; + HEAP32[$635 + 12 >> 2] = $635; + HEAP32[$635 + 8 >> 2] = $635; + break; + } + $1025 = HEAP32[$1014 >> 2] | 0; + L451 : do if ((HEAP32[$1025 + 4 >> 2] & -8 | 0) != ($968 | 0)) { + $$02065$i$i = $968 << (($$0212$i$i | 0) == 31 ? 0 : 25 - ($$0212$i$i >>> 1) | 0); + $$02074$i$i = $1025; + while (1) { + $1042 = $$02074$i$i + 16 + ($$02065$i$i >>> 31 << 2) | 0; + $1037 = HEAP32[$1042 >> 2] | 0; + if (!$1037) break; + if ((HEAP32[$1037 + 4 >> 2] & -8 | 0) == ($968 | 0)) { + $$0207$lcssa$i$i = $1037; + break L451; + } else { + $$02065$i$i = $$02065$i$i << 1; + $$02074$i$i = $1037; + } + } + if ((HEAP32[16739] | 0) >>> 0 > $1042 >>> 0) _abort(); else { + HEAP32[$1042 >> 2] = $635; + HEAP32[$635 + 24 >> 2] = $$02074$i$i; + HEAP32[$635 + 12 >> 2] = $635; + HEAP32[$635 + 8 >> 2] = $635; + break L294; + } + } else $$0207$lcssa$i$i = $1025; while (0); + $1049 = $$0207$lcssa$i$i + 8 | 0; + $1050 = HEAP32[$1049 >> 2] | 0; + $1051 = HEAP32[16739] | 0; + if ($1051 >>> 0 <= $1050 >>> 0 & $1051 >>> 0 <= $$0207$lcssa$i$i >>> 0) { + HEAP32[$1050 + 12 >> 2] = $635; + HEAP32[$1049 >> 2] = $635; + HEAP32[$635 + 8 >> 2] = $1050; + HEAP32[$635 + 12 >> 2] = $$0207$lcssa$i$i; + HEAP32[$635 + 24 >> 2] = 0; + break; + } else _abort(); + } + } else { + $637 = HEAP32[16739] | 0; + if (($637 | 0) == 0 | $$748$i >>> 0 < $637 >>> 0) HEAP32[16739] = $$748$i; + HEAP32[16847] = $$748$i; + HEAP32[16848] = $$723947$i; + HEAP32[16850] = 0; + HEAP32[16744] = HEAP32[16853]; + HEAP32[16743] = -1; + HEAP32[16748] = 66980; + HEAP32[16747] = 66980; + HEAP32[16750] = 66988; + HEAP32[16749] = 66988; + HEAP32[16752] = 66996; + HEAP32[16751] = 66996; + HEAP32[16754] = 67004; + HEAP32[16753] = 67004; + HEAP32[16756] = 67012; + HEAP32[16755] = 67012; + HEAP32[16758] = 67020; + HEAP32[16757] = 67020; + HEAP32[16760] = 67028; + HEAP32[16759] = 67028; + HEAP32[16762] = 67036; + HEAP32[16761] = 67036; + HEAP32[16764] = 67044; + HEAP32[16763] = 67044; + HEAP32[16766] = 67052; + HEAP32[16765] = 67052; + HEAP32[16768] = 67060; + HEAP32[16767] = 67060; + HEAP32[16770] = 67068; + HEAP32[16769] = 67068; + HEAP32[16772] = 67076; + HEAP32[16771] = 67076; + HEAP32[16774] = 67084; + HEAP32[16773] = 67084; + HEAP32[16776] = 67092; + HEAP32[16775] = 67092; + HEAP32[16778] = 67100; + HEAP32[16777] = 67100; + HEAP32[16780] = 67108; + HEAP32[16779] = 67108; + HEAP32[16782] = 67116; + HEAP32[16781] = 67116; + HEAP32[16784] = 67124; + HEAP32[16783] = 67124; + HEAP32[16786] = 67132; + HEAP32[16785] = 67132; + HEAP32[16788] = 67140; + HEAP32[16787] = 67140; + HEAP32[16790] = 67148; + HEAP32[16789] = 67148; + HEAP32[16792] = 67156; + HEAP32[16791] = 67156; + HEAP32[16794] = 67164; + HEAP32[16793] = 67164; + HEAP32[16796] = 67172; + HEAP32[16795] = 67172; + HEAP32[16798] = 67180; + HEAP32[16797] = 67180; + HEAP32[16800] = 67188; + HEAP32[16799] = 67188; + HEAP32[16802] = 67196; + HEAP32[16801] = 67196; + HEAP32[16804] = 67204; + HEAP32[16803] = 67204; + HEAP32[16806] = 67212; + HEAP32[16805] = 67212; + HEAP32[16808] = 67220; + HEAP32[16807] = 67220; + HEAP32[16810] = 67228; + HEAP32[16809] = 67228; + $641 = $$723947$i + -40 | 0; + $643 = $$748$i + 8 | 0; + $648 = ($643 & 7 | 0) == 0 ? 0 : 0 - $643 & 7; + $649 = $$748$i + $648 | 0; + $650 = $641 - $648 | 0; + HEAP32[16741] = $649; + HEAP32[16738] = $650; + HEAP32[$649 + 4 >> 2] = $650 | 1; + HEAP32[$$748$i + $641 + 4 >> 2] = 40; + HEAP32[16742] = HEAP32[16857]; + } while (0); + $1060 = HEAP32[16738] | 0; + if ($1060 >>> 0 > $$0197 >>> 0) { + $1062 = $1060 - $$0197 | 0; + HEAP32[16738] = $1062; + $1063 = HEAP32[16741] | 0; + $1064 = $1063 + $$0197 | 0; + HEAP32[16741] = $1064; + HEAP32[$1064 + 4 >> 2] = $1062 | 1; + HEAP32[$1063 + 4 >> 2] = $$0197 | 3; + $$0 = $1063 + 8 | 0; + STACKTOP = sp; + return $$0 | 0; + } + } + $1070 = ___errno_location() | 0; + HEAP32[$1070 >> 2] = 48; + $$0 = 0; + STACKTOP = sp; + return $$0 | 0; +} + +function __ZNSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE8__do_getERS4_S4_bRKNS_6localeEjRjRbRKNS_5ctypeIcEERNS_10unique_ptrIcPFvPvEEERPcSM_($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + $9 = $9 | 0; + $10 = $10 | 0; + var $$0 = 0, $$0$i$i = 0, $$0$i$i$i$i = 0, $$0$i$i$i$i161 = 0, $$0$i$i$i$i205 = 0, $$0$i$i$i$i221 = 0, $$0$i$i$i$i237 = 0, $$0$i$i$i$i254 = 0, $$0$i$i$i$i269 = 0, $$0$i$i147 = 0, $$0$i$i150 = 0, $$0$i$i153 = 0, $$0$i$i156 = 0, $$0$i$i159 = 0, $$0$i$i160 = 0, $$0$i$i173 = 0, $$0$i$i176 = 0, $$0$i$i182 = 0, $$0$i$i189 = 0, $$0$i$i194 = 0, $$0$i$i2$i$i = 0, $$0$i$i2$i$i167 = 0, $$0$i$i2$i$i211 = 0, $$0$i$i2$i$i227 = 0, $$0$i$i2$i$i243 = 0, $$0$i$i2$i$i260 = 0, $$0$i$i2$i$i275 = 0, $$0$i$i202 = 0, $$0$i$i233 = 0, $$0$i$i249 = 0, $$0$i$i266 = 0, $$0$i$i281 = 0, $$0$i$i284 = 0, $$0124 = 0, $$0129 = 0, $$0131 = 0, $$10 = 0, $$1130 = 0, $$2126$ph = 0, $$pre$phiZ2D = 0, $$sroa$0293$0$ptr = 0, $$sroa$0313$0 = 0, $$sroa$0313$1 = 0, $$sroa$08$0$ptr$i = 0, $108 = 0, $109 = 0, $11 = 0, $110 = 0, $12 = 0, $125 = 0, $128 = 0, $13 = 0, $14 = 0, $141 = 0, $143 = 0, $15 = 0, $155 = 0, $157 = 0, $16 = 0, $17 = 0, $175 = 0, $176 = 0, $177 = 0, $18 = 0, $189 = 0, $19 = 0, $193 = 0, $194 = 0, $198 = 0, $20 = 0, $201 = 0, $203 = 0, $205 = 0, $208 = 0, $21 = 0, $215 = 0, $22 = 0, $222 = 0, $223 = 0, $224 = 0, $23 = 0, $233 = 0, $24 = 0, $245 = 0, $246 = 0, $247 = 0, $25 = 0, $256 = 0, $275 = 0, $276 = 0, $277 = 0, $280 = 0, $286 = 0, $305 = 0, $306 = 0, $307 = 0, $316 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0, $339 = 0, $346 = 0, $348 = 0, $349 = 0, $350 = 0, $351 = 0, $353 = 0, $363 = 0, $364 = 0, $365 = 0, $366 = 0, $367 = 0, $368 = 0, $372 = 0, $375 = 0, $380 = 0, $386 = 0, $387 = 0, $391 = 0, $395 = 0, $398 = 0, $40 = 0, $41 = 0, $411 = 0, $413 = 0, $42 = 0, $425 = 0, $427 = 0, $43 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $45 = 0, $452 = 0, $453 = 0, $46 = 0, $463 = 0, $466 = 0, $479 = 0, $48 = 0, $481 = 0, $49 = 0, $493 = 0, $495 = 0, $50 = 0, $505 = 0, $51 = 0, $513 = 0, $517 = 0, $519 = 0, $52 = 0, $528 = 0, $53 = 0, $532 = 0, $533 = 0, $534 = 0, $535 = 0, $545 = 0, $55 = 0, $551 = 0, $554 = 0, $557 = 0, $570 = 0, $572 = 0, $58 = 0, $584 = 0, $586 = 0, $601 = 0, $602 = 0, $603 = 0, $614 = 0, $617 = 0, $630 = 0, $632 = 0, $644 = 0, $646 = 0, $669 = 0, $671 = 0, $682 = 0, $686 = 0, $687 = 0, $688 = 0, $70 = 0, $704 = 0, $705 = 0, $706 = 0, $711 = 0, $712 = 0, $715 = 0, $727 = 0, $73 = 0, $730 = 0, $742 = 0, $744 = 0, $759 = 0, $765 = 0, $766 = 0, $767 = 0, $776 = 0, $777 = 0, $783 = 0, $787 = 0, $788 = 0, $789 = 0, $790 = 0, $791 = 0, $792 = 0, $793 = 0, $794 = 0, $795 = 0, $796 = 0, $797 = 0, $798 = 0, $799 = 0, $800 = 0, $801 = 0, $802 = 0, $803 = 0, $804 = 0, $805 = 0, $88 = 0, $90 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 512 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(512); + $11 = sp + 488 | 0; + $12 = sp; + $13 = sp + 480 | 0; + $14 = sp + 472 | 0; + $15 = sp + 468 | 0; + $16 = sp + 496 | 0; + $17 = sp + 493 | 0; + $18 = sp + 492 | 0; + $19 = sp + 456 | 0; + $20 = sp + 444 | 0; + $21 = sp + 432 | 0; + $22 = sp + 420 | 0; + $23 = sp + 408 | 0; + $24 = sp + 404 | 0; + $25 = sp + 400 | 0; + HEAP32[$11 >> 2] = $10; + HEAP32[$13 >> 2] = $12; + HEAP32[$13 + 4 >> 2] = 214; + HEAP32[$14 >> 2] = $12; + HEAP32[$15 >> 2] = $12 + 400; + HEAP32[$19 >> 2] = 0; + HEAP32[$19 + 4 >> 2] = 0; + HEAP32[$19 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$19 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + HEAP32[$20 >> 2] = 0; + HEAP32[$20 + 4 >> 2] = 0; + HEAP32[$20 + 8 >> 2] = 0; + $$0$i$i147 = 0; + while (1) { + if (($$0$i$i147 | 0) == 3) break; + HEAP32[$20 + ($$0$i$i147 << 2) >> 2] = 0; + $$0$i$i147 = $$0$i$i147 + 1 | 0; + } + HEAP32[$21 >> 2] = 0; + HEAP32[$21 + 4 >> 2] = 0; + HEAP32[$21 + 8 >> 2] = 0; + $$0$i$i150 = 0; + while (1) { + if (($$0$i$i150 | 0) == 3) break; + HEAP32[$21 + ($$0$i$i150 << 2) >> 2] = 0; + $$0$i$i150 = $$0$i$i150 + 1 | 0; + } + HEAP32[$22 >> 2] = 0; + HEAP32[$22 + 4 >> 2] = 0; + HEAP32[$22 + 8 >> 2] = 0; + $$0$i$i153 = 0; + while (1) { + if (($$0$i$i153 | 0) == 3) break; + HEAP32[$22 + ($$0$i$i153 << 2) >> 2] = 0; + $$0$i$i153 = $$0$i$i153 + 1 | 0; + } + HEAP32[$23 >> 2] = 0; + HEAP32[$23 + 4 >> 2] = 0; + HEAP32[$23 + 8 >> 2] = 0; + $$0$i$i156 = 0; + while (1) { + if (($$0$i$i156 | 0) == 3) break; + HEAP32[$23 + ($$0$i$i156 << 2) >> 2] = 0; + $$0$i$i156 = $$0$i$i156 + 1 | 0; + } + __ZNSt3__211__money_getIcE13__gather_infoEbRKNS_6localeERNS_10money_base7patternERcS8_RNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEESF_SF_SF_Ri($2, $3, $16, $17, $18, $19, $20, $21, $22, $24); + HEAP32[$9 >> 2] = HEAP32[$8 >> 2]; + $40 = $7 + 8 | 0; + $41 = $21 + 11 | 0; + $42 = $21 + 4 | 0; + $43 = $22 + 11 | 0; + $44 = $22 + 4 | 0; + $45 = $19 + 11 | 0; + $46 = $19 + 4 | 0; + $48 = ($4 & 512 | 0) != 0; + $49 = $20 + 11 | 0; + $50 = $16 + 3 | 0; + $51 = $20 + 4 | 0; + $52 = $23 + 11 | 0; + $53 = $23 + 4 | 0; + $$0129 = 0; + $$0131 = 0; + L21 : while (1) { + if ($$0131 >>> 0 >= 4) { + label = 243; + break; + } + $55 = HEAP32[$0 >> 2] | 0; + do if ($55) { + $58 = HEAP32[$55 + 12 >> 2] | 0; + if (($58 | 0) == (HEAP32[$55 + 16 >> 2] | 0)) $$0$i$i$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$55 >> 2] | 0) + 36 >> 2] & 127]($55) | 0; else $$0$i$i$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$58 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$0 >> 2] = 0; + $787 = 1; + break; + } else { + $787 = (HEAP32[$0 >> 2] | 0) == 0; + break; + } + } else $787 = 1; while (0); + $70 = HEAP32[$1 >> 2] | 0; + do if ($70) { + $73 = HEAP32[$70 + 12 >> 2] | 0; + if (($73 | 0) == (HEAP32[$70 + 16 >> 2] | 0)) $$0$i$i2$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$70 >> 2] | 0) + 36 >> 2] & 127]($70) | 0; else $$0$i$i2$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$73 >> 0] | 0) | 0; + if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) if ($787) { + $788 = $70; + break; + } else { + label = 243; + break L21; + } else { + HEAP32[$1 >> 2] = 0; + label = 31; + break; + } + } else label = 31; while (0); + if ((label | 0) == 31) { + label = 0; + if ($787) { + label = 243; + break; + } else $788 = 0; + } + L46 : do switch (HEAP8[$16 + $$0131 >> 0] | 0) { + case 1: + { + if (($$0131 | 0) == 3) $$1130 = $$0129; else { + $88 = HEAP32[$0 >> 2] | 0; + $90 = HEAP32[$88 + 12 >> 2] | 0; + if (($90 | 0) == (HEAP32[$88 + 16 >> 2] | 0)) $$0$i$i159 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$88 >> 2] | 0) + 36 >> 2] & 127]($88) | 0; else $$0$i$i159 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$90 >> 0] | 0) | 0; + if (($$0$i$i159 & 255) << 24 >> 24 <= -1) { + label = 45; + break L21; + } + if (!(HEAP16[(HEAP32[$40 >> 2] | 0) + ($$0$i$i159 << 24 >> 24 << 1) >> 1] & 8192)) { + label = 45; + break L21; + } + $108 = HEAP32[$0 >> 2] | 0; + $109 = $108 + 12 | 0; + $110 = HEAP32[$109 >> 2] | 0; + if (($110 | 0) == (HEAP32[$108 + 16 >> 2] | 0)) $$0$i$i160 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$108 >> 2] | 0) + 40 >> 2] & 127]($108) | 0; else { + HEAP32[$109 >> 2] = $110 + 1; + $$0$i$i160 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$110 >> 0] | 0) | 0; + } + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9push_backEc($23, $$0$i$i160 & 255); + label = 47; + } + break; + } + case 0: + { + if (($$0131 | 0) == 3) $$1130 = $$0129; else label = 47; + break; + } + case 3: + { + $189 = HEAP8[$41 >> 0] | 0; + $193 = $189 << 24 >> 24 < 0 ? HEAP32[$42 >> 2] | 0 : $189 & 255; + $194 = HEAP8[$43 >> 0] | 0; + $198 = $194 << 24 >> 24 < 0 ? HEAP32[$44 >> 2] | 0 : $194 & 255; + if (($193 | 0) == (0 - $198 | 0)) $$1130 = $$0129; else { + $201 = ($193 | 0) == 0; + $203 = HEAP32[$0 >> 2] | 0; + $205 = HEAP32[$203 + 12 >> 2] | 0; + $208 = ($205 | 0) == (HEAP32[$203 + 16 >> 2] | 0); + if ($201 | ($198 | 0) == 0) { + if ($208) $$0$i$i182 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$203 >> 2] | 0) + 36 >> 2] & 127]($203) | 0; else $$0$i$i182 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$205 >> 0] | 0) | 0; + $215 = $$0$i$i182 & 255; + if ($201) { + if ((HEAP8[((HEAP8[$43 >> 0] | 0) < 0 ? HEAP32[$22 >> 2] | 0 : $22) >> 0] | 0) != $215 << 24 >> 24) { + $$1130 = $$0129; + break L46; + } + $245 = HEAP32[$0 >> 2] | 0; + $246 = $245 + 12 | 0; + $247 = HEAP32[$246 >> 2] | 0; + if (($247 | 0) == (HEAP32[$245 + 16 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$245 >> 2] | 0) + 40 >> 2] & 127]($245) | 0; else { + HEAP32[$246 >> 2] = $247 + 1; + __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$247 >> 0] | 0) | 0; + } + HEAP8[$6 >> 0] = 1; + $256 = HEAP8[$43 >> 0] | 0; + $$1130 = ($256 << 24 >> 24 < 0 ? HEAP32[$44 >> 2] | 0 : $256 & 255) >>> 0 > 1 ? $22 : $$0129; + break L46; + } + if ((HEAP8[((HEAP8[$41 >> 0] | 0) < 0 ? HEAP32[$21 >> 2] | 0 : $21) >> 0] | 0) != $215 << 24 >> 24) { + HEAP8[$6 >> 0] = 1; + $$1130 = $$0129; + break L46; + } + $222 = HEAP32[$0 >> 2] | 0; + $223 = $222 + 12 | 0; + $224 = HEAP32[$223 >> 2] | 0; + if (($224 | 0) == (HEAP32[$222 + 16 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$222 >> 2] | 0) + 40 >> 2] & 127]($222) | 0; else { + HEAP32[$223 >> 2] = $224 + 1; + __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$224 >> 0] | 0) | 0; + } + $233 = HEAP8[$41 >> 0] | 0; + $$1130 = ($233 << 24 >> 24 < 0 ? HEAP32[$42 >> 2] | 0 : $233 & 255) >>> 0 > 1 ? $21 : $$0129; + break L46; + } + if ($208) $$0$i$i189 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$203 >> 2] | 0) + 36 >> 2] & 127]($203) | 0; else $$0$i$i189 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$205 >> 0] | 0) | 0; + $275 = HEAP32[$0 >> 2] | 0; + $276 = $275 + 12 | 0; + $277 = HEAP32[$276 >> 2] | 0; + $280 = ($277 | 0) == (HEAP32[$275 + 16 >> 2] | 0); + if ((HEAP8[((HEAP8[$41 >> 0] | 0) < 0 ? HEAP32[$21 >> 2] | 0 : $21) >> 0] | 0) == ($$0$i$i189 & 255) << 24 >> 24) { + if ($280) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$275 >> 2] | 0) + 40 >> 2] & 127]($275) | 0; else { + HEAP32[$276 >> 2] = $277 + 1; + __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$277 >> 0] | 0) | 0; + } + $286 = HEAP8[$41 >> 0] | 0; + $$1130 = ($286 << 24 >> 24 < 0 ? HEAP32[$42 >> 2] | 0 : $286 & 255) >>> 0 > 1 ? $21 : $$0129; + break L46; + } + if ($280) $$0$i$i194 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$275 >> 2] | 0) + 36 >> 2] & 127]($275) | 0; else $$0$i$i194 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$277 >> 0] | 0) | 0; + if ((HEAP8[((HEAP8[$43 >> 0] | 0) < 0 ? HEAP32[$22 >> 2] | 0 : $22) >> 0] | 0) != ($$0$i$i194 & 255) << 24 >> 24) { + label = 105; + break L21; + } + $305 = HEAP32[$0 >> 2] | 0; + $306 = $305 + 12 | 0; + $307 = HEAP32[$306 >> 2] | 0; + if (($307 | 0) == (HEAP32[$305 + 16 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$305 >> 2] | 0) + 40 >> 2] & 127]($305) | 0; else { + HEAP32[$306 >> 2] = $307 + 1; + __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$307 >> 0] | 0) | 0; + } + HEAP8[$6 >> 0] = 1; + $316 = HEAP8[$43 >> 0] | 0; + $$1130 = ($316 << 24 >> 24 < 0 ? HEAP32[$44 >> 2] | 0 : $316 & 255) >>> 0 > 1 ? $22 : $$0129; + } + break; + } + case 2: + { + if ($$0131 >>> 0 < 2 | ($$0129 | 0) != 0) { + $335 = HEAP8[$49 >> 0] | 0; + $336 = $335 << 24 >> 24 < 0; + $337 = HEAP32[$20 >> 2] | 0; + $338 = $336 ? $337 : $20; + $339 = $338; + if (!$$0131) { + $$sroa$0313$1 = $339; + $793 = $337; + $794 = $335; + } else { + $346 = $335; + $348 = $336; + $350 = $338; + $364 = $339; + $792 = $337; + label = 110; + } + } else { + if (!($48 | ($$0131 | 0) == 2 & (HEAP8[$50 >> 0] | 0) != 0)) { + $$1130 = 0; + break L46; + } + $330 = HEAP8[$49 >> 0] | 0; + $331 = $330 << 24 >> 24 < 0; + $332 = HEAP32[$20 >> 2] | 0; + $333 = $331 ? $332 : $20; + $346 = $330; + $348 = $331; + $350 = $333; + $364 = $333; + $792 = $332; + label = 110; + } + L109 : do if ((label | 0) == 110) { + label = 0; + if ((HEAPU8[$16 + ($$0131 + -1) >> 0] | 0) < 2) { + $349 = $350 + ($348 ? HEAP32[$51 >> 2] | 0 : $346 & 255) | 0; + $$sroa$0313$0 = $364; + while (1) { + $351 = $$sroa$0313$0; + if (($349 | 0) == ($351 | 0)) break; + $353 = HEAP8[$351 >> 0] | 0; + if ($353 << 24 >> 24 <= -1) break; + if (!(HEAP16[(HEAP32[$40 >> 2] | 0) + ($353 << 24 >> 24 << 1) >> 1] & 8192)) break; + $$sroa$0313$0 = $351 + 1 | 0; + } + $363 = $$sroa$0313$0 - $364 | 0; + $365 = HEAP8[$52 >> 0] | 0; + $366 = $365 << 24 >> 24 < 0; + $367 = HEAP32[$53 >> 2] | 0; + $368 = $365 & 255; + if ($363 >>> 0 <= ($366 ? $367 : $368) >>> 0) { + $372 = (HEAP32[$23 >> 2] | 0) + $367 | 0; + $375 = $23 + $368 | 0; + $$pre$phiZ2D = $366 ? $372 : $375; + $$sroa$08$0$ptr$i = $350; + $380 = $366 ? $372 + (0 - $363) | 0 : $375 + (0 - $363) | 0; + while (1) { + if (($380 | 0) == ($$pre$phiZ2D | 0)) { + $$sroa$0313$1 = $$sroa$0313$0; + $793 = $792; + $794 = $346; + break L109; + } + if ((HEAP8[$380 >> 0] | 0) != (HEAP8[$$sroa$08$0$ptr$i >> 0] | 0)) { + $$sroa$0313$1 = $364; + $793 = $792; + $794 = $346; + break L109; + } + $$sroa$08$0$ptr$i = $$sroa$08$0$ptr$i + 1 | 0; + $380 = $380 + 1 | 0; + } + } else { + $$sroa$0313$1 = $364; + $793 = $792; + $794 = $346; + } + } else { + $$sroa$0313$1 = $364; + $793 = $792; + $794 = $346; + } + } while (0); + $$sroa$0293$0$ptr = $$sroa$0313$1; + $387 = $794; + $391 = $793; + $411 = $788; + L124 : while (1) { + $386 = $387 << 24 >> 24 < 0; + if (($$sroa$0293$0$ptr | 0) == (($386 ? $391 : $20) + ($386 ? HEAP32[$51 >> 2] | 0 : $387 & 255) | 0)) break; + $395 = HEAP32[$0 >> 2] | 0; + do if ($395) { + $398 = HEAP32[$395 + 12 >> 2] | 0; + if (($398 | 0) == (HEAP32[$395 + 16 >> 2] | 0)) $$0$i$i$i$i221 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$395 >> 2] | 0) + 36 >> 2] & 127]($395) | 0; else $$0$i$i$i$i221 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$398 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i221, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$0 >> 2] = 0; + $795 = 1; + break; + } else { + $795 = (HEAP32[$0 >> 2] | 0) == 0; + break; + } + } else $795 = 1; while (0); + do if ($411) { + $413 = HEAP32[$411 + 12 >> 2] | 0; + if (($413 | 0) == (HEAP32[$411 + 16 >> 2] | 0)) $$0$i$i2$i$i227 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$411 >> 2] | 0) + 36 >> 2] & 127]($411) | 0; else $$0$i$i2$i$i227 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$413 >> 0] | 0) | 0; + if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i227, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) if ($795) { + $796 = $411; + break; + } else break L124; else { + HEAP32[$1 >> 2] = 0; + label = 136; + break; + } + } else label = 136; while (0); + if ((label | 0) == 136) { + label = 0; + if ($795) break; else $796 = 0; + } + $425 = HEAP32[$0 >> 2] | 0; + $427 = HEAP32[$425 + 12 >> 2] | 0; + if (($427 | 0) == (HEAP32[$425 + 16 >> 2] | 0)) $$0$i$i233 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$425 >> 2] | 0) + 36 >> 2] & 127]($425) | 0; else $$0$i$i233 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$427 >> 0] | 0) | 0; + if ((HEAP8[$$sroa$0293$0$ptr >> 0] | 0) != ($$0$i$i233 & 255) << 24 >> 24) break; + $440 = HEAP32[$0 >> 2] | 0; + $441 = $440 + 12 | 0; + $442 = HEAP32[$441 >> 2] | 0; + if (($442 | 0) == (HEAP32[$440 + 16 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$440 >> 2] | 0) + 40 >> 2] & 127]($440) | 0; else { + HEAP32[$441 >> 2] = $442 + 1; + __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$442 >> 0] | 0) | 0; + } + $$sroa$0293$0$ptr = $$sroa$0293$0$ptr + 1 | 0; + $387 = HEAP8[$49 >> 0] | 0; + $391 = HEAP32[$20 >> 2] | 0; + $411 = $796; + } + if ($48 ? ($452 = HEAP8[$49 >> 0] | 0, $453 = $452 << 24 >> 24 < 0, ($$sroa$0293$0$ptr | 0) != (($453 ? HEAP32[$20 >> 2] | 0 : $20) + ($453 ? HEAP32[$51 >> 2] | 0 : $452 & 255) | 0)) : 0) { + label = 148; + break L21; + } else $$1130 = $$0129; + break; + } + case 4: + { + $$0124 = 0; + $479 = $788; + $789 = $788; + L161 : while (1) { + $463 = HEAP32[$0 >> 2] | 0; + do if ($463) { + $466 = HEAP32[$463 + 12 >> 2] | 0; + if (($466 | 0) == (HEAP32[$463 + 16 >> 2] | 0)) $$0$i$i$i$i237 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$463 >> 2] | 0) + 36 >> 2] & 127]($463) | 0; else $$0$i$i$i$i237 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$466 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i237, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$0 >> 2] = 0; + $797 = 1; + break; + } else { + $797 = (HEAP32[$0 >> 2] | 0) == 0; + break; + } + } else $797 = 1; while (0); + do if ($479) { + $481 = HEAP32[$479 + 12 >> 2] | 0; + if (($481 | 0) == (HEAP32[$479 + 16 >> 2] | 0)) $$0$i$i2$i$i243 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$479 >> 2] | 0) + 36 >> 2] & 127]($479) | 0; else $$0$i$i2$i$i243 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$481 >> 0] | 0) | 0; + if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i243, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) if ($797) { + $799 = $789; + $800 = $479; + break; + } else { + $570 = $789; + break L161; + } else { + HEAP32[$1 >> 2] = 0; + $798 = 0; + label = 162; + break; + } + } else { + $798 = $789; + label = 162; + } while (0); + if ((label | 0) == 162) { + label = 0; + if ($797) { + $570 = $798; + break; + } else { + $799 = $798; + $800 = 0; + } + } + $493 = HEAP32[$0 >> 2] | 0; + $495 = HEAP32[$493 + 12 >> 2] | 0; + if (($495 | 0) == (HEAP32[$493 + 16 >> 2] | 0)) $$0$i$i249 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$493 >> 2] | 0) + 36 >> 2] & 127]($493) | 0; else $$0$i$i249 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$495 >> 0] | 0) | 0; + $505 = $$0$i$i249 & 255; + if ($505 << 24 >> 24 > -1 ? (HEAP16[(HEAP32[$40 >> 2] | 0) + ($$0$i$i249 << 24 >> 24 << 1) >> 1] & 2048) != 0 : 0) { + $513 = HEAP32[$9 >> 2] | 0; + if (($513 | 0) == (HEAP32[$11 >> 2] | 0)) { + __ZNSt3__219__double_or_nothingIcEEvRNS_10unique_ptrIT_PFvPvEEERPS2_S9_($8, $9, $11); + $517 = HEAP32[$9 >> 2] | 0; + } else $517 = $513; + HEAP32[$9 >> 2] = $517 + 1; + HEAP8[$517 >> 0] = $505; + $$2126$ph = $$0124 + 1 | 0; + } else { + $519 = HEAP8[$45 >> 0] | 0; + if (!((HEAP8[$18 >> 0] | 0) == $505 << 24 >> 24 & ($$0124 | 0 ? (($519 << 24 >> 24 < 0 ? HEAP32[$46 >> 2] | 0 : $519 & 255) | 0) != 0 : 0))) { + $570 = $799; + break; + } + $528 = HEAP32[$14 >> 2] | 0; + if (($528 | 0) == (HEAP32[$15 >> 2] | 0)) { + __ZNSt3__219__double_or_nothingIjEEvRNS_10unique_ptrIT_PFvPvEEERPS2_S9_($13, $14, $15); + $532 = HEAP32[$14 >> 2] | 0; + } else $532 = $528; + HEAP32[$14 >> 2] = $532 + 4; + HEAP32[$532 >> 2] = $$0124; + $$2126$ph = 0; + } + $533 = HEAP32[$0 >> 2] | 0; + $534 = $533 + 12 | 0; + $535 = HEAP32[$534 >> 2] | 0; + if (($535 | 0) == (HEAP32[$533 + 16 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$533 >> 2] | 0) + 40 >> 2] & 127]($533) | 0; else { + HEAP32[$534 >> 2] = $535 + 1; + __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$535 >> 0] | 0) | 0; + } + $$0124 = $$2126$ph; + $479 = $800; + $789 = $799; + } + $545 = HEAP32[$14 >> 2] | 0; + if ($$0124 | 0 ? (HEAP32[$13 >> 2] | 0) != ($545 | 0) : 0) { + if (($545 | 0) == (HEAP32[$15 >> 2] | 0)) { + __ZNSt3__219__double_or_nothingIjEEvRNS_10unique_ptrIT_PFvPvEEERPS2_S9_($13, $14, $15); + $551 = HEAP32[$14 >> 2] | 0; + } else $551 = $545; + HEAP32[$14 >> 2] = $551 + 4; + HEAP32[$551 >> 2] = $$0124; + } + L213 : do if ((HEAP32[$24 >> 2] | 0) > 0) { + $554 = HEAP32[$0 >> 2] | 0; + do if ($554) { + $557 = HEAP32[$554 + 12 >> 2] | 0; + if (($557 | 0) == (HEAP32[$554 + 16 >> 2] | 0)) $$0$i$i$i$i254 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$554 >> 2] | 0) + 36 >> 2] & 127]($554) | 0; else $$0$i$i$i$i254 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$557 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i254, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$0 >> 2] = 0; + $801 = 1; + break; + } else { + $801 = (HEAP32[$0 >> 2] | 0) == 0; + break; + } + } else $801 = 1; while (0); + do if ($570) { + $572 = HEAP32[$570 + 12 >> 2] | 0; + if (($572 | 0) == (HEAP32[$570 + 16 >> 2] | 0)) $$0$i$i2$i$i260 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$570 >> 2] | 0) + 36 >> 2] & 127]($570) | 0; else $$0$i$i2$i$i260 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$572 >> 0] | 0) | 0; + if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i260, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) if ($801) { + $802 = $570; + break; + } else { + label = 204; + break L21; + } else { + HEAP32[$1 >> 2] = 0; + label = 198; + break; + } + } else label = 198; while (0); + if ((label | 0) == 198) { + label = 0; + if ($801) { + label = 204; + break L21; + } else $802 = 0; + } + $584 = HEAP32[$0 >> 2] | 0; + $586 = HEAP32[$584 + 12 >> 2] | 0; + if (($586 | 0) == (HEAP32[$584 + 16 >> 2] | 0)) $$0$i$i266 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$584 >> 2] | 0) + 36 >> 2] & 127]($584) | 0; else $$0$i$i266 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$586 >> 0] | 0) | 0; + if ((HEAP8[$17 >> 0] | 0) != ($$0$i$i266 & 255) << 24 >> 24) { + label = 204; + break L21; + } + $601 = HEAP32[$0 >> 2] | 0; + $602 = $601 + 12 | 0; + $603 = HEAP32[$602 >> 2] | 0; + if (($603 | 0) == (HEAP32[$601 + 16 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$601 >> 2] | 0) + 40 >> 2] & 127]($601) | 0; else { + HEAP32[$602 >> 2] = $603 + 1; + __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$603 >> 0] | 0) | 0; + } + $630 = $802; + while (1) { + if ((HEAP32[$24 >> 2] | 0) <= 0) break L213; + $614 = HEAP32[$0 >> 2] | 0; + do if ($614) { + $617 = HEAP32[$614 + 12 >> 2] | 0; + if (($617 | 0) == (HEAP32[$614 + 16 >> 2] | 0)) $$0$i$i$i$i269 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$614 >> 2] | 0) + 36 >> 2] & 127]($614) | 0; else $$0$i$i$i$i269 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$617 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i269, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$0 >> 2] = 0; + $803 = 1; + break; + } else { + $803 = (HEAP32[$0 >> 2] | 0) == 0; + break; + } + } else $803 = 1; while (0); + do if ($630) { + $632 = HEAP32[$630 + 12 >> 2] | 0; + if (($632 | 0) == (HEAP32[$630 + 16 >> 2] | 0)) $$0$i$i2$i$i275 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$630 >> 2] | 0) + 36 >> 2] & 127]($630) | 0; else $$0$i$i2$i$i275 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$632 >> 0] | 0) | 0; + if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i275, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) if ($803) { + $804 = $630; + break; + } else { + label = 230; + break L21; + } else { + HEAP32[$1 >> 2] = 0; + label = 223; + break; + } + } else label = 223; while (0); + if ((label | 0) == 223) { + label = 0; + if ($803) { + label = 230; + break L21; + } else $804 = 0; + } + $644 = HEAP32[$0 >> 2] | 0; + $646 = HEAP32[$644 + 12 >> 2] | 0; + if (($646 | 0) == (HEAP32[$644 + 16 >> 2] | 0)) $$0$i$i281 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$644 >> 2] | 0) + 36 >> 2] & 127]($644) | 0; else $$0$i$i281 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$646 >> 0] | 0) | 0; + if (($$0$i$i281 & 255) << 24 >> 24 <= -1) { + label = 230; + break L21; + } + if (!(HEAP16[(HEAP32[$40 >> 2] | 0) + ($$0$i$i281 << 24 >> 24 << 1) >> 1] & 2048)) { + label = 230; + break L21; + } + if ((HEAP32[$9 >> 2] | 0) == (HEAP32[$11 >> 2] | 0)) __ZNSt3__219__double_or_nothingIcEEvRNS_10unique_ptrIT_PFvPvEEERPS2_S9_($8, $9, $11); + $669 = HEAP32[$0 >> 2] | 0; + $671 = HEAP32[$669 + 12 >> 2] | 0; + if (($671 | 0) == (HEAP32[$669 + 16 >> 2] | 0)) $$0$i$i284 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$669 >> 2] | 0) + 36 >> 2] & 127]($669) | 0; else $$0$i$i284 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$671 >> 0] | 0) | 0; + $682 = HEAP32[$9 >> 2] | 0; + HEAP32[$9 >> 2] = $682 + 1; + HEAP8[$682 >> 0] = $$0$i$i284; + HEAP32[$24 >> 2] = (HEAP32[$24 >> 2] | 0) + -1; + $686 = HEAP32[$0 >> 2] | 0; + $687 = $686 + 12 | 0; + $688 = HEAP32[$687 >> 2] | 0; + if (($688 | 0) == (HEAP32[$686 + 16 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$686 >> 2] | 0) + 40 >> 2] & 127]($686) | 0; else { + HEAP32[$687 >> 2] = $688 + 1; + __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$688 >> 0] | 0) | 0; + } + $630 = $804; + } + } while (0); + if ((HEAP32[$9 >> 2] | 0) == (HEAP32[$8 >> 2] | 0)) { + label = 241; + break L21; + } else $$1130 = $$0129; + break; + } + default: + $$1130 = $$0129; + } while (0); + L289 : do if ((label | 0) == 47) { + label = 0; + $141 = $788; + while (1) { + $125 = HEAP32[$0 >> 2] | 0; + do if ($125) { + $128 = HEAP32[$125 + 12 >> 2] | 0; + if (($128 | 0) == (HEAP32[$125 + 16 >> 2] | 0)) $$0$i$i$i$i161 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$125 >> 2] | 0) + 36 >> 2] & 127]($125) | 0; else $$0$i$i$i$i161 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$128 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i161, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$0 >> 2] = 0; + $790 = 1; + break; + } else { + $790 = (HEAP32[$0 >> 2] | 0) == 0; + break; + } + } else $790 = 1; while (0); + do if ($141) { + $143 = HEAP32[$141 + 12 >> 2] | 0; + if (($143 | 0) == (HEAP32[$141 + 16 >> 2] | 0)) $$0$i$i2$i$i167 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$141 >> 2] | 0) + 36 >> 2] & 127]($141) | 0; else $$0$i$i2$i$i167 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$143 >> 0] | 0) | 0; + if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i167, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) if ($790) { + $791 = $141; + break; + } else { + $$1130 = $$0129; + break L289; + } else { + HEAP32[$1 >> 2] = 0; + label = 61; + break; + } + } else label = 61; while (0); + if ((label | 0) == 61) { + label = 0; + if ($790) { + $$1130 = $$0129; + break L289; + } else $791 = 0; + } + $155 = HEAP32[$0 >> 2] | 0; + $157 = HEAP32[$155 + 12 >> 2] | 0; + if (($157 | 0) == (HEAP32[$155 + 16 >> 2] | 0)) $$0$i$i173 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$155 >> 2] | 0) + 36 >> 2] & 127]($155) | 0; else $$0$i$i173 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$157 >> 0] | 0) | 0; + if (($$0$i$i173 & 255) << 24 >> 24 <= -1) { + $$1130 = $$0129; + break L289; + } + if (!(HEAP16[(HEAP32[$40 >> 2] | 0) + ($$0$i$i173 << 24 >> 24 << 1) >> 1] & 8192)) { + $$1130 = $$0129; + break L289; + } + $175 = HEAP32[$0 >> 2] | 0; + $176 = $175 + 12 | 0; + $177 = HEAP32[$176 >> 2] | 0; + if (($177 | 0) == (HEAP32[$175 + 16 >> 2] | 0)) $$0$i$i176 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$175 >> 2] | 0) + 40 >> 2] & 127]($175) | 0; else { + HEAP32[$176 >> 2] = $177 + 1; + $$0$i$i176 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$177 >> 0] | 0) | 0; + } + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9push_backEc($23, $$0$i$i176 & 255); + $141 = $791; + } + } while (0); + $$0129 = $$1130; + $$0131 = $$0131 + 1 | 0; + } + L326 : do if ((label | 0) == 45) { + HEAP32[$5 >> 2] = HEAP32[$5 >> 2] | 4; + $$10 = 0; + } else if ((label | 0) == 105) { + HEAP32[$5 >> 2] = HEAP32[$5 >> 2] | 4; + $$10 = 0; + } else if ((label | 0) == 148) { + HEAP32[$5 >> 2] = HEAP32[$5 >> 2] | 4; + $$10 = 0; + } else if ((label | 0) == 204) { + HEAP32[$5 >> 2] = HEAP32[$5 >> 2] | 4; + $$10 = 0; + } else if ((label | 0) == 230) { + HEAP32[$5 >> 2] = HEAP32[$5 >> 2] | 4; + $$10 = 0; + } else if ((label | 0) == 241) { + HEAP32[$5 >> 2] = HEAP32[$5 >> 2] | 4; + $$10 = 0; + } else if ((label | 0) == 243) { + L328 : do if ($$0129 | 0) { + $704 = $$0129 + 11 | 0; + $705 = $$0129 + 4 | 0; + $$0 = 1; + L330 : while (1) { + $706 = HEAP8[$704 >> 0] | 0; + if ($706 << 24 >> 24 < 0) $711 = HEAP32[$705 >> 2] | 0; else $711 = $706 & 255; + if ($$0 >>> 0 >= $711 >>> 0) break L328; + $712 = HEAP32[$0 >> 2] | 0; + do if ($712) { + $715 = HEAP32[$712 + 12 >> 2] | 0; + if (($715 | 0) == (HEAP32[$712 + 16 >> 2] | 0)) $$0$i$i$i$i205 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$712 >> 2] | 0) + 36 >> 2] & 127]($712) | 0; else $$0$i$i$i$i205 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$715 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i205, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$0 >> 2] = 0; + $805 = 1; + break; + } else { + $805 = (HEAP32[$0 >> 2] | 0) == 0; + break; + } + } else $805 = 1; while (0); + $727 = HEAP32[$1 >> 2] | 0; + do if ($727) { + $730 = HEAP32[$727 + 12 >> 2] | 0; + if (($730 | 0) == (HEAP32[$727 + 16 >> 2] | 0)) $$0$i$i2$i$i211 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$727 >> 2] | 0) + 36 >> 2] & 127]($727) | 0; else $$0$i$i2$i$i211 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$730 >> 0] | 0) | 0; + if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i211, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) if ($805) break; else break L330; else { + HEAP32[$1 >> 2] = 0; + label = 262; + break; + } + } else label = 262; while (0); + if ((label | 0) == 262 ? (label = 0, $805) : 0) break; + $742 = HEAP32[$0 >> 2] | 0; + $744 = HEAP32[$742 + 12 >> 2] | 0; + if (($744 | 0) == (HEAP32[$742 + 16 >> 2] | 0)) $$0$i$i202 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$742 >> 2] | 0) + 36 >> 2] & 127]($742) | 0; else $$0$i$i202 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$744 >> 0] | 0) | 0; + if ((HEAP8[$704 >> 0] | 0) < 0) $759 = HEAP32[$$0129 >> 2] | 0; else $759 = $$0129; + if ((HEAP8[$759 + $$0 >> 0] | 0) != ($$0$i$i202 & 255) << 24 >> 24) break; + $765 = HEAP32[$0 >> 2] | 0; + $766 = $765 + 12 | 0; + $767 = HEAP32[$766 >> 2] | 0; + if (($767 | 0) == (HEAP32[$765 + 16 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$765 >> 2] | 0) + 40 >> 2] & 127]($765) | 0; else { + HEAP32[$766 >> 2] = $767 + 1; + __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$767 >> 0] | 0) | 0; + } + $$0 = $$0 + 1 | 0; + } + HEAP32[$5 >> 2] = HEAP32[$5 >> 2] | 4; + $$10 = 0; + break L326; + } while (0); + $776 = HEAP32[$13 >> 2] | 0; + $777 = HEAP32[$14 >> 2] | 0; + if (($776 | 0) != ($777 | 0)) { + HEAP32[$25 >> 2] = 0; + __ZNSt3__216__check_groupingERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjS8_Rj($19, $776, $777, $25); + if (!(HEAP32[$25 >> 2] | 0)) { + $$10 = 1; + break; + } else { + HEAP32[$5 >> 2] = HEAP32[$5 >> 2] | 4; + $$10 = 0; + break; + } + } else $$10 = 1; + } while (0); + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($23); + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($22); + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($21); + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($20); + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($19); + $783 = HEAP32[$13 >> 2] | 0; + HEAP32[$13 >> 2] = 0; + if ($783 | 0) FUNCTION_TABLE_vi[HEAP32[$13 + 4 >> 2] & 255]($783); + STACKTOP = sp; + return $$10 | 0; +} + +function __ZN6vision25DoGScaleInvariantDetector15extractFeaturesEPKNS_25GaussianScaleSpacePyramidEPKNS_10DoGPyramidE($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0750 = 0, $$0752 = 0, $$0753 = 0, $$0754 = 0, $$0756 = 0, $$0757 = 0, $$0759 = 0, $10 = 0, $102 = 0.0, $103 = 0, $105 = 0.0, $11 = 0, $110 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $187 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $260 = 0.0, $262 = 0, $268 = 0, $272 = 0, $275 = 0, $283 = 0, $288 = 0, $292 = 0, $294 = 0, $3 = 0, $302 = 0, $307 = 0, $31 = 0, $311 = 0, $319 = 0, $32 = 0, $327 = 0, $328 = 0.0, $33 = 0, $330 = 0, $331 = 0, $332 = 0, $333 = 0, $334 = 0, $335 = 0, $336 = 0, $337 = 0, $338 = 0.0, $34 = 0, $340 = 0.0, $341 = 0.0, $342 = 0.0, $344 = 0, $348 = 0.0, $35 = 0, $350 = 0.0, $351 = 0.0, $352 = 0, $353 = 0, $359 = 0, $36 = 0, $37 = 0, $4 = 0, $40 = 0, $405 = 0.0, $408 = 0.0, $411 = 0.0, $412 = 0.0, $415 = 0.0, $418 = 0.0, $421 = 0.0, $424 = 0.0, $427 = 0.0, $43 = 0, $430 = 0.0, $433 = 0.0, $439 = 0, $485 = 0.0, $488 = 0.0, $491 = 0.0, $492 = 0.0, $495 = 0.0, $498 = 0.0, $501 = 0.0, $504 = 0.0, $507 = 0.0, $51 = 0, $510 = 0.0, $514 = 0.0, $515 = 0, $522 = 0, $526 = 0, $530 = 0, $538 = 0, $543 = 0, $547 = 0, $549 = 0, $557 = 0, $56 = 0, $562 = 0, $566 = 0, $568 = 0, $570 = 0, $571 = 0.0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $580 = 0, $583 = 0.0, $584 = 0.0, $585 = 0.0, $586 = 0.0, $588 = 0, $594 = 0.0, $595 = 0.0, $596 = 0, $597 = 0, $6 = 0, $60 = 0, $603 = 0, $61 = 0, $649 = 0.0, $652 = 0.0, $655 = 0.0, $656 = 0.0, $659 = 0.0, $662 = 0.0, $665 = 0.0, $668 = 0.0, $671 = 0.0, $674 = 0.0, $677 = 0.0, $683 = 0, $69 = 0, $729 = 0.0, $732 = 0.0, $735 = 0.0, $736 = 0.0, $739 = 0.0, $74 = 0, $742 = 0.0, $745 = 0.0, $748 = 0.0, $751 = 0.0, $754 = 0.0, $758 = 0.0, $760 = 0, $78 = 0, $80 = 0, $82 = 0, $83 = 0.0, $85 = 0, $86 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0.0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0.0, $98 = 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); + $3 = sp; + $4 = $0 + 60 | 0; + $6 = $0 + 64 | 0; + HEAP32[$6 >> 2] = HEAP32[$4 >> 2]; + $9 = +__ZN6vision3sqrIfEET_S1_(+HEAPF32[$0 + 52 >> 2]); + $10 = $0 + 32 | 0; + $11 = $3 + 12 | 0; + $12 = $3 + 16 | 0; + $13 = $3 + 24 | 0; + $14 = $3 + 28 | 0; + $15 = $3 + 4 | 0; + $16 = $0 + 68 | 0; + $17 = $3 + 12 | 0; + $18 = $3 + 16 | 0; + $19 = $3 + 24 | 0; + $20 = $3 + 28 | 0; + $21 = $3 + 4 | 0; + $22 = $3 + 12 | 0; + $23 = $3 + 16 | 0; + $24 = $3 + 24 | 0; + $25 = $3 + 28 | 0; + $26 = $3 + 4 | 0; + $$0750 = 1; + L1 : while (1) { + if ($$0750 >>> 0 >= ((__ZNK6vision10DoGPyramid4sizeEv($10) | 0) + -1 | 0) >>> 0) { + label = 3; + break; + } + $31 = __ZNK6vision10DoGPyramid3getEm($2, $$0750 + -1 | 0) | 0; + $32 = __ZNK6vision10DoGPyramid3getEm($2, $$0750) | 0; + $33 = $$0750 + 1 | 0; + $34 = __ZNK6vision10DoGPyramid3getEm($2, $33) | 0; + $35 = __ZNK6vision10DoGPyramid15octaveFromIndexEi($2, $$0750) | 0; + $36 = __ZNK6vision10DoGPyramid14scaleFromIndexEi($2, $$0750) | 0; + $37 = __ZNK6vision5Image5widthEv($31) | 0; + L4 : do if (($37 | 0) == (__ZNK6vision5Image5widthEv($32) | 0) ? ($40 = __ZNK6vision5Image5widthEv($31) | 0, ($40 | 0) == (__ZNK6vision5Image5widthEv($34) | 0)) : 0) { + $43 = __ZNK6vision5Image6heightEv($31) | 0; + if (($43 | 0) != (__ZNK6vision5Image6heightEv($32) | 0)) { + label = 7; + break L1; + } + $61 = __ZNK6vision5Image6heightEv($31) | 0; + if (($61 | 0) != (__ZNK6vision5Image6heightEv($34) | 0)) { + label = 9; + break L1; + } + $80 = (__ZNK6vision5Image5widthEv($32) | 0) + -1 | 0; + $82 = (__ZNK6vision5Image6heightEv($32) | 0) + -1 | 0; + $83 = +($36 | 0); + $$0752 = 1; + while (1) { + if ($$0752 >>> 0 >= $82 >>> 0) break L4; + $85 = $$0752 + -1 | 0; + $86 = __ZNK6vision5Image3getIfEEPKT_m($31, $85) | 0; + $87 = __ZNK6vision5Image3getIfEEPKT_m($31, $$0752) | 0; + $88 = $$0752 + 1 | 0; + $89 = __ZNK6vision5Image3getIfEEPKT_m($31, $88) | 0; + $90 = __ZNK6vision5Image3getIfEEPKT_m($32, $85) | 0; + $91 = __ZNK6vision5Image3getIfEEPKT_m($32, $$0752) | 0; + $92 = __ZNK6vision5Image3getIfEEPKT_m($32, $88) | 0; + $93 = __ZNK6vision5Image3getIfEEPKT_m($34, $85) | 0; + $94 = __ZNK6vision5Image3getIfEEPKT_m($34, $$0752) | 0; + $95 = __ZNK6vision5Image3getIfEEPKT_m($34, $88) | 0; + $96 = +($$0752 >>> 0); + $$0754 = 1; + while (1) { + if ($$0754 >>> 0 >= $80 >>> 0) break; + $98 = $91 + ($$0754 << 2) | 0; + do if (!(+__ZN6vision3sqrIfEET_S1_(+HEAPF32[$98 >> 2]) < $9)) { + $102 = +HEAPF32[$98 >> 2]; + $103 = $$0754 + -1 | 0; + $105 = +HEAPF32[$86 + ($103 << 2) >> 2]; + do if ((((($102 > $105 ? $102 > +HEAPF32[$86 + ($$0754 << 2) >> 2] : 0) ? ($110 = $$0754 + 1 | 0, $102 > +HEAPF32[$86 + ($110 << 2) >> 2]) : 0) ? $102 > +HEAPF32[$87 + ($103 << 2) >> 2] : 0) ? $102 > +HEAPF32[$87 + ($$0754 << 2) >> 2] : 0) ? $102 > +HEAPF32[$87 + ($110 << 2) >> 2] : 0) { + if (!($102 > +HEAPF32[$89 + ($103 << 2) >> 2])) { + label = 42; + break; + } + if (!($102 > +HEAPF32[$89 + ($$0754 << 2) >> 2])) { + label = 42; + break; + } + if (!($102 > +HEAPF32[$89 + ($110 << 2) >> 2])) { + label = 42; + break; + } + if (!($102 > +HEAPF32[$90 + ($103 << 2) >> 2])) { + label = 42; + break; + } + if (!($102 > +HEAPF32[$90 + ($$0754 << 2) >> 2])) { + label = 42; + break; + } + if (!($102 > +HEAPF32[$90 + ($110 << 2) >> 2])) { + label = 42; + break; + } + if (!($102 > +HEAPF32[$91 + ($103 << 2) >> 2])) { + label = 42; + break; + } + if (!($102 > +HEAPF32[$91 + ($110 << 2) >> 2])) { + label = 42; + break; + } + if (!($102 > +HEAPF32[$92 + ($103 << 2) >> 2])) { + label = 42; + break; + } + if (!($102 > +HEAPF32[$92 + ($$0754 << 2) >> 2])) { + label = 42; + break; + } + if (!($102 > +HEAPF32[$92 + ($110 << 2) >> 2])) { + label = 42; + break; + } + if (!($102 > +HEAPF32[$93 + ($103 << 2) >> 2])) { + label = 42; + break; + } + if (!($102 > +HEAPF32[$93 + ($$0754 << 2) >> 2])) { + label = 42; + break; + } + if (!($102 > +HEAPF32[$93 + ($110 << 2) >> 2])) { + label = 42; + break; + } + if (!($102 > +HEAPF32[$94 + ($103 << 2) >> 2])) { + label = 42; + break; + } + if (!($102 > +HEAPF32[$94 + ($$0754 << 2) >> 2])) { + label = 42; + break; + } + if (!($102 > +HEAPF32[$94 + ($110 << 2) >> 2])) { + label = 42; + break; + } + if (!($102 > +HEAPF32[$95 + ($103 << 2) >> 2])) { + label = 42; + break; + } + if (!($102 > +HEAPF32[$95 + ($$0754 << 2) >> 2])) { + label = 42; + break; + } + if ($102 > +HEAPF32[$95 + ($110 << 2) >> 2]) {} else label = 42; + } else label = 42; while (0); + if ((label | 0) == 42) { + label = 0; + if (!($102 < $105)) break; + if (!($102 < +HEAPF32[$86 + ($$0754 << 2) >> 2])) break; + $187 = $$0754 + 1 | 0; + if (!($102 < +HEAPF32[$86 + ($187 << 2) >> 2])) break; + if (!($102 < +HEAPF32[$87 + ($103 << 2) >> 2])) break; + if (!($102 < +HEAPF32[$87 + ($$0754 << 2) >> 2])) break; + if (!($102 < +HEAPF32[$87 + ($187 << 2) >> 2])) break; + if (!($102 < +HEAPF32[$89 + ($103 << 2) >> 2])) break; + if (!($102 < +HEAPF32[$89 + ($$0754 << 2) >> 2])) break; + if (!($102 < +HEAPF32[$89 + ($187 << 2) >> 2])) break; + if (!($102 < +HEAPF32[$90 + ($103 << 2) >> 2])) break; + if (!($102 < +HEAPF32[$90 + ($$0754 << 2) >> 2])) break; + if (!($102 < +HEAPF32[$90 + ($187 << 2) >> 2])) break; + if (!($102 < +HEAPF32[$91 + ($103 << 2) >> 2])) break; + if (!($102 < +HEAPF32[$91 + ($187 << 2) >> 2])) break; + if (!($102 < +HEAPF32[$92 + ($103 << 2) >> 2])) break; + if (!($102 < +HEAPF32[$92 + ($$0754 << 2) >> 2])) break; + if (!($102 < +HEAPF32[$92 + ($187 << 2) >> 2])) break; + if (!($102 < +HEAPF32[$93 + ($103 << 2) >> 2])) break; + if (!($102 < +HEAPF32[$93 + ($$0754 << 2) >> 2])) break; + if (!($102 < +HEAPF32[$93 + ($187 << 2) >> 2])) break; + if (!($102 < +HEAPF32[$94 + ($103 << 2) >> 2])) break; + if (!($102 < +HEAPF32[$94 + ($$0754 << 2) >> 2])) break; + if (!($102 < +HEAPF32[$94 + ($187 << 2) >> 2])) break; + if (!($102 < +HEAPF32[$95 + ($103 << 2) >> 2])) break; + if (!($102 < +HEAPF32[$95 + ($$0754 << 2) >> 2])) break; + if (!($102 < +HEAPF32[$95 + ($187 << 2) >> 2])) break; + } + HEAP32[$11 >> 2] = $35; + HEAP32[$12 >> 2] = $36; + HEAPF32[$13 >> 2] = $102; + $260 = +__ZNK6vision25GaussianScaleSpacePyramid14effectiveSigmaEmf($1, $35, $83); + HEAPF32[$14 >> 2] = $260; + __ZN6vision23bilinear_upsample_pointERfS0_ffi($3, $15, +($$0754 >>> 0), $96, $35); + $262 = HEAP32[$6 >> 2] | 0; + if (($262 | 0) == (HEAP32[$16 >> 2] | 0)) { + __ZNSt3__26vectorIN6vision25DoGScaleInvariantDetector12FeaturePointENS_9allocatorIS3_EEE21__push_back_slow_pathIRKS3_EEvOT_($4, $3); + break; + } else { + dest = $262; + src = $3; + stop = dest + 36 | 0; + do { + HEAP32[dest >> 2] = HEAP32[src >> 2]; + dest = dest + 4 | 0; + src = src + 4 | 0; + } while ((dest | 0) < (stop | 0)); + HEAP32[$6 >> 2] = (HEAP32[$6 >> 2] | 0) + 36; + break; + } + } while (0); + $$0754 = $$0754 + 1 | 0; + } + $$0752 = $88; + } + } else label = 72; while (0); + L76 : do if ((label | 0) == 72) { + label = 0; + $268 = __ZNK6vision5Image5widthEv($31) | 0; + if (($268 | 0) == (__ZNK6vision5Image5widthEv($32) | 0) ? ($272 = (__ZNK6vision5Image5widthEv($32) | 0) >>> 1, ($272 | 0) == (__ZNK6vision5Image5widthEv($34) | 0)) : 0) { + $275 = __ZNK6vision5Image6heightEv($31) | 0; + if (($275 | 0) != (__ZNK6vision5Image6heightEv($32) | 0)) { + label = 75; + break L1; + } + $294 = (__ZNK6vision5Image6heightEv($32) | 0) >>> 1; + if (($294 | 0) != (__ZNK6vision5Image6heightEv($34) | 0)) { + label = 77; + break L1; + } + $319 = ~~+Math_floor(+((+(((__ZNK6vision5Image5widthEv($34) | 0) + -1 | 0) >>> 0) + -.5) * 2.0 + .5)) >>> 0; + $327 = ~~+Math_floor(+((+(((__ZNK6vision5Image6heightEv($34) | 0) + -1 | 0) >>> 0) + -.5) * 2.0 + .5)) >>> 0; + $328 = +($36 | 0); + $$0756 = 2; + while (1) { + if ($$0756 >>> 0 >= $327 >>> 0) break L76; + $330 = $$0756 + -1 | 0; + $331 = __ZNK6vision5Image3getIfEEPKT_m($31, $330) | 0; + $332 = __ZNK6vision5Image3getIfEEPKT_m($31, $$0756) | 0; + $333 = $$0756 + 1 | 0; + $334 = __ZNK6vision5Image3getIfEEPKT_m($31, $333) | 0; + $335 = __ZNK6vision5Image3getIfEEPKT_m($32, $330) | 0; + $336 = __ZNK6vision5Image3getIfEEPKT_m($32, $$0756) | 0; + $337 = __ZNK6vision5Image3getIfEEPKT_m($32, $333) | 0; + $338 = +($$0756 >>> 0); + $340 = $338 * .5 + -.25; + $341 = $340 + -.5; + $342 = $340 + .5; + $$0757 = 2; + while (1) { + if ($$0757 >>> 0 >= $319 >>> 0) break; + $344 = $336 + ($$0757 << 2) | 0; + do if (!(+__ZN6vision3sqrIfEET_S1_(+HEAPF32[$344 >> 2]) < $9)) { + $348 = +($$0757 >>> 0); + $350 = $348 * .5 + -.25; + $351 = +HEAPF32[$344 >> 2]; + $352 = $$0757 + -1 | 0; + $353 = $331 + ($352 << 2) | 0; + do if ((($351 > +HEAPF32[$353 >> 2] ? $351 > +HEAPF32[$331 + ($$0757 << 2) >> 2] : 0) ? ($359 = $$0757 + 1 | 0, $351 > +HEAPF32[$331 + ($359 << 2) >> 2]) : 0) ? $351 > +HEAPF32[$332 + ($352 << 2) >> 2] : 0) { + if (!($351 > +HEAPF32[$332 + ($$0757 << 2) >> 2])) { + label = 110; + break; + } + if (!($351 > +HEAPF32[$332 + ($359 << 2) >> 2])) { + label = 110; + break; + } + if (!($351 > +HEAPF32[$334 + ($352 << 2) >> 2])) { + label = 110; + break; + } + if (!($351 > +HEAPF32[$334 + ($$0757 << 2) >> 2])) { + label = 110; + break; + } + if (!($351 > +HEAPF32[$334 + ($359 << 2) >> 2])) { + label = 110; + break; + } + if (!($351 > +HEAPF32[$335 + ($352 << 2) >> 2])) { + label = 110; + break; + } + if (!($351 > +HEAPF32[$335 + ($$0757 << 2) >> 2])) { + label = 110; + break; + } + if (!($351 > +HEAPF32[$335 + ($359 << 2) >> 2])) { + label = 110; + break; + } + if (!($351 > +HEAPF32[$336 + ($352 << 2) >> 2])) { + label = 110; + break; + } + if (!($351 > +HEAPF32[$336 + ($359 << 2) >> 2])) { + label = 110; + break; + } + if (!($351 > +HEAPF32[$337 + ($352 << 2) >> 2])) { + label = 110; + break; + } + if (!($351 > +HEAPF32[$337 + ($$0757 << 2) >> 2])) { + label = 110; + break; + } + if (!($351 > +HEAPF32[$337 + ($359 << 2) >> 2])) { + label = 110; + break; + } + $405 = $350 + -.5; + if (!($351 > +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($34, $405, $341))) { + label = 110; + break; + } + $408 = +HEAPF32[$344 >> 2]; + if (!($408 > +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($34, $350, $341))) { + label = 110; + break; + } + $411 = +HEAPF32[$344 >> 2]; + $412 = $350 + .5; + if (!($411 > +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($34, $412, $341))) { + label = 110; + break; + } + $415 = +HEAPF32[$344 >> 2]; + if (!($415 > +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($34, $405, $340))) { + label = 110; + break; + } + $418 = +HEAPF32[$344 >> 2]; + if (!($418 > +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($34, $350, $340))) { + label = 110; + break; + } + $421 = +HEAPF32[$344 >> 2]; + if (!($421 > +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($34, $412, $340))) { + label = 110; + break; + } + $424 = +HEAPF32[$344 >> 2]; + if (!($424 > +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($34, $405, $342))) { + label = 110; + break; + } + $427 = +HEAPF32[$344 >> 2]; + if (!($427 > +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($34, $350, $342))) { + label = 110; + break; + } + $430 = +HEAPF32[$344 >> 2]; + if ($430 > +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($34, $412, $342)) {} else label = 110; + } else label = 110; while (0); + if ((label | 0) == 110) { + label = 0; + $433 = +HEAPF32[$344 >> 2]; + if (!($433 < +HEAPF32[$353 >> 2])) break; + if (!($433 < +HEAPF32[$331 + ($$0757 << 2) >> 2])) break; + $439 = $$0757 + 1 | 0; + if (!($433 < +HEAPF32[$331 + ($439 << 2) >> 2])) break; + if (!($433 < +HEAPF32[$332 + ($352 << 2) >> 2])) break; + if (!($433 < +HEAPF32[$332 + ($$0757 << 2) >> 2])) break; + if (!($433 < +HEAPF32[$332 + ($439 << 2) >> 2])) break; + if (!($433 < +HEAPF32[$334 + ($352 << 2) >> 2])) break; + if (!($433 < +HEAPF32[$334 + ($$0757 << 2) >> 2])) break; + if (!($433 < +HEAPF32[$334 + ($439 << 2) >> 2])) break; + if (!($433 < +HEAPF32[$335 + ($352 << 2) >> 2])) break; + if (!($433 < +HEAPF32[$335 + ($$0757 << 2) >> 2])) break; + if (!($433 < +HEAPF32[$335 + ($439 << 2) >> 2])) break; + if (!($433 < +HEAPF32[$336 + ($352 << 2) >> 2])) break; + if (!($433 < +HEAPF32[$336 + ($439 << 2) >> 2])) break; + if (!($433 < +HEAPF32[$337 + ($352 << 2) >> 2])) break; + if (!($433 < +HEAPF32[$337 + ($$0757 << 2) >> 2])) break; + if (!($433 < +HEAPF32[$337 + ($439 << 2) >> 2])) break; + $485 = $350 + -.5; + if (!($433 < +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($34, $485, $341))) break; + $488 = +HEAPF32[$344 >> 2]; + if (!($488 < +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($34, $350, $341))) break; + $491 = +HEAPF32[$344 >> 2]; + $492 = $350 + .5; + if (!($491 < +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($34, $492, $341))) break; + $495 = +HEAPF32[$344 >> 2]; + if (!($495 < +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($34, $485, $340))) break; + $498 = +HEAPF32[$344 >> 2]; + if (!($498 < +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($34, $350, $340))) break; + $501 = +HEAPF32[$344 >> 2]; + if (!($501 < +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($34, $492, $340))) break; + $504 = +HEAPF32[$344 >> 2]; + if (!($504 < +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($34, $485, $342))) break; + $507 = +HEAPF32[$344 >> 2]; + if (!($507 < +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($34, $350, $342))) break; + $510 = +HEAPF32[$344 >> 2]; + if (!($510 < +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($34, $492, $342))) break; + } + HEAP32[$17 >> 2] = $35; + HEAP32[$18 >> 2] = $36; + HEAP32[$19 >> 2] = HEAP32[$344 >> 2]; + $514 = +__ZNK6vision25GaussianScaleSpacePyramid14effectiveSigmaEmf($1, $35, $328); + HEAPF32[$20 >> 2] = $514; + __ZN6vision23bilinear_upsample_pointERfS0_ffi($3, $21, $348, $338, $35); + $515 = HEAP32[$6 >> 2] | 0; + if (($515 | 0) == (HEAP32[$16 >> 2] | 0)) { + __ZNSt3__26vectorIN6vision25DoGScaleInvariantDetector12FeaturePointENS_9allocatorIS3_EEE21__push_back_slow_pathIRKS3_EEvOT_($4, $3); + break; + } else { + dest = $515; + src = $3; + stop = dest + 36 | 0; + do { + HEAP32[dest >> 2] = HEAP32[src >> 2]; + dest = dest + 4 | 0; + src = src + 4 | 0; + } while ((dest | 0) < (stop | 0)); + HEAP32[$6 >> 2] = (HEAP32[$6 >> 2] | 0) + 36; + break; + } + } while (0); + $$0757 = $$0757 + 1 | 0; + } + $$0756 = $333; + } + } + $522 = (__ZNK6vision5Image5widthEv($31) | 0) >>> 1; + if (($522 | 0) == (__ZNK6vision5Image5widthEv($32) | 0) ? ($526 = (__ZNK6vision5Image5widthEv($31) | 0) >>> 1, ($526 | 0) == (__ZNK6vision5Image5widthEv($34) | 0)) : 0) { + $530 = (__ZNK6vision5Image6heightEv($31) | 0) >>> 1; + if (($530 | 0) != (__ZNK6vision5Image6heightEv($32) | 0)) { + label = 144; + break L1; + } + $549 = (__ZNK6vision5Image6heightEv($31) | 0) >>> 1; + if (($549 | 0) != (__ZNK6vision5Image6heightEv($34) | 0)) { + label = 146; + break L1; + } + $568 = (__ZNK6vision5Image5widthEv($32) | 0) + -1 | 0; + $570 = (__ZNK6vision5Image6heightEv($32) | 0) + -1 | 0; + $571 = +($36 | 0); + $$0759 = 1; + while (1) { + if ($$0759 >>> 0 >= $570 >>> 0) break L76; + $573 = $$0759 + -1 | 0; + $574 = __ZNK6vision5Image3getIfEEPKT_m($32, $573) | 0; + $575 = __ZNK6vision5Image3getIfEEPKT_m($32, $$0759) | 0; + $576 = $$0759 + 1 | 0; + $577 = __ZNK6vision5Image3getIfEEPKT_m($32, $576) | 0; + $578 = __ZNK6vision5Image3getIfEEPKT_m($34, $573) | 0; + $579 = __ZNK6vision5Image3getIfEEPKT_m($34, $$0759) | 0; + $580 = __ZNK6vision5Image3getIfEEPKT_m($34, $576) | 0; + $583 = +($$0759 << 1 >>> 0) + .5; + $584 = +($$0759 >>> 0); + $585 = $583 + -2.0; + $586 = $583 + 2.0; + $$0753 = 1; + while (1) { + if ($$0753 >>> 0 >= $568 >>> 0) break; + $588 = $575 + ($$0753 << 2) | 0; + do if (!(+__ZN6vision3sqrIfEET_S1_(+HEAPF32[$588 >> 2]) < $9)) { + $594 = +($$0753 << 1 >>> 0) + .5; + $595 = +HEAPF32[$588 >> 2]; + $596 = $$0753 + -1 | 0; + $597 = $574 + ($596 << 2) | 0; + do if ((($595 > +HEAPF32[$597 >> 2] ? $595 > +HEAPF32[$574 + ($$0753 << 2) >> 2] : 0) ? ($603 = $$0753 + 1 | 0, $595 > +HEAPF32[$574 + ($603 << 2) >> 2]) : 0) ? $595 > +HEAPF32[$575 + ($596 << 2) >> 2] : 0) { + if (!($595 > +HEAPF32[$575 + ($603 << 2) >> 2])) { + label = 179; + break; + } + if (!($595 > +HEAPF32[$577 + ($596 << 2) >> 2])) { + label = 179; + break; + } + if (!($595 > +HEAPF32[$577 + ($$0753 << 2) >> 2])) { + label = 179; + break; + } + if (!($595 > +HEAPF32[$577 + ($603 << 2) >> 2])) { + label = 179; + break; + } + if (!($595 > +HEAPF32[$578 + ($596 << 2) >> 2])) { + label = 179; + break; + } + if (!($595 > +HEAPF32[$578 + ($$0753 << 2) >> 2])) { + label = 179; + break; + } + if (!($595 > +HEAPF32[$578 + ($603 << 2) >> 2])) { + label = 179; + break; + } + if (!($595 > +HEAPF32[$579 + ($596 << 2) >> 2])) { + label = 179; + break; + } + if (!($595 > +HEAPF32[$579 + ($$0753 << 2) >> 2])) { + label = 179; + break; + } + if (!($595 > +HEAPF32[$579 + ($603 << 2) >> 2])) { + label = 179; + break; + } + if (!($595 > +HEAPF32[$580 + ($596 << 2) >> 2])) { + label = 179; + break; + } + if (!($595 > +HEAPF32[$580 + ($$0753 << 2) >> 2])) { + label = 179; + break; + } + if (!($595 > +HEAPF32[$580 + ($603 << 2) >> 2])) { + label = 179; + break; + } + $649 = $594 + -2.0; + if (!($595 > +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($31, $649, $585))) { + label = 179; + break; + } + $652 = +HEAPF32[$588 >> 2]; + if (!($652 > +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($31, $594, $585))) { + label = 179; + break; + } + $655 = +HEAPF32[$588 >> 2]; + $656 = $594 + 2.0; + if (!($655 > +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($31, $656, $585))) { + label = 179; + break; + } + $659 = +HEAPF32[$588 >> 2]; + if (!($659 > +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($31, $649, $583))) { + label = 179; + break; + } + $662 = +HEAPF32[$588 >> 2]; + if (!($662 > +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($31, $594, $583))) { + label = 179; + break; + } + $665 = +HEAPF32[$588 >> 2]; + if (!($665 > +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($31, $656, $583))) { + label = 179; + break; + } + $668 = +HEAPF32[$588 >> 2]; + if (!($668 > +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($31, $649, $586))) { + label = 179; + break; + } + $671 = +HEAPF32[$588 >> 2]; + if (!($671 > +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($31, $594, $586))) { + label = 179; + break; + } + $674 = +HEAPF32[$588 >> 2]; + if ($674 > +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($31, $656, $586)) {} else label = 179; + } else label = 179; while (0); + if ((label | 0) == 179) { + label = 0; + $677 = +HEAPF32[$588 >> 2]; + if (!($677 < +HEAPF32[$597 >> 2])) break; + if (!($677 < +HEAPF32[$574 + ($$0753 << 2) >> 2])) break; + $683 = $$0753 + 1 | 0; + if (!($677 < +HEAPF32[$574 + ($683 << 2) >> 2])) break; + if (!($677 < +HEAPF32[$575 + ($596 << 2) >> 2])) break; + if (!($677 < +HEAPF32[$575 + ($683 << 2) >> 2])) break; + if (!($677 < +HEAPF32[$577 + ($596 << 2) >> 2])) break; + if (!($677 < +HEAPF32[$577 + ($$0753 << 2) >> 2])) break; + if (!($677 < +HEAPF32[$577 + ($683 << 2) >> 2])) break; + if (!($677 < +HEAPF32[$578 + ($596 << 2) >> 2])) break; + if (!($677 < +HEAPF32[$578 + ($$0753 << 2) >> 2])) break; + if (!($677 < +HEAPF32[$578 + ($683 << 2) >> 2])) break; + if (!($677 < +HEAPF32[$579 + ($596 << 2) >> 2])) break; + if (!($677 < +HEAPF32[$579 + ($$0753 << 2) >> 2])) break; + if (!($677 < +HEAPF32[$579 + ($683 << 2) >> 2])) break; + if (!($677 < +HEAPF32[$580 + ($596 << 2) >> 2])) break; + if (!($677 < +HEAPF32[$580 + ($$0753 << 2) >> 2])) break; + if (!($677 < +HEAPF32[$580 + ($683 << 2) >> 2])) break; + $729 = $594 + -2.0; + if (!($677 < +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($31, $729, $585))) break; + $732 = +HEAPF32[$588 >> 2]; + if (!($732 < +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($31, $594, $585))) break; + $735 = +HEAPF32[$588 >> 2]; + $736 = $594 + 2.0; + if (!($735 < +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($31, $736, $585))) break; + $739 = +HEAPF32[$588 >> 2]; + if (!($739 < +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($31, $729, $583))) break; + $742 = +HEAPF32[$588 >> 2]; + if (!($742 < +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($31, $594, $583))) break; + $745 = +HEAPF32[$588 >> 2]; + if (!($745 < +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($31, $736, $583))) break; + $748 = +HEAPF32[$588 >> 2]; + if (!($748 < +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($31, $729, $586))) break; + $751 = +HEAPF32[$588 >> 2]; + if (!($751 < +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($31, $594, $586))) break; + $754 = +HEAPF32[$588 >> 2]; + if (!($754 < +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($31, $736, $586))) break; + } + HEAP32[$22 >> 2] = $35; + HEAP32[$23 >> 2] = $36; + HEAP32[$24 >> 2] = HEAP32[$588 >> 2]; + $758 = +__ZNK6vision25GaussianScaleSpacePyramid14effectiveSigmaEmf($1, $35, $571); + HEAPF32[$25 >> 2] = $758; + __ZN6vision23bilinear_upsample_pointERfS0_ffi($3, $26, +($$0753 >>> 0), $584, $35); + $760 = HEAP32[$6 >> 2] | 0; + if (($760 | 0) == (HEAP32[$16 >> 2] | 0)) { + __ZNSt3__26vectorIN6vision25DoGScaleInvariantDetector12FeaturePointENS_9allocatorIS3_EEE21__push_back_slow_pathIRKS3_EEvOT_($4, $3); + break; + } else { + dest = $760; + src = $3; + stop = dest + 36 | 0; + do { + HEAP32[dest >> 2] = HEAP32[src >> 2]; + dest = dest + 4 | 0; + src = src + 4 | 0; + } while ((dest | 0) < (stop | 0)); + HEAP32[$6 >> 2] = (HEAP32[$6 >> 2] | 0) + 36; + break; + } + } while (0); + $$0753 = $$0753 + 1 | 0; + } + $$0759 = $576; + } + } + } while (0); + $$0750 = $33; + } + if ((label | 0) == 3) { + STACKTOP = sp; + return; + } else if ((label | 0) == 7) { + $51 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 30723) | 0, 26748) | 0, 39072) | 0, 192) | 0, 39079) | 0, 30775) | 0; + __ZNKSt3__28ios_base6getlocEv($3, $51 + (HEAP32[(HEAP32[$51 >> 2] | 0) + -12 >> 2] | 0) | 0); + $56 = __ZNKSt3__26locale9use_facetERNS0_2idE($3, 66512) | 0; + $60 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$56 >> 2] | 0) + 28 >> 2] & 127]($56, 10) | 0; + __ZNSt3__26localeD2Ev($3); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($51, $60) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($51) | 0; + _abort(); + } else if ((label | 0) == 9) { + $69 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 30798) | 0, 26748) | 0, 39072) | 0, 193) | 0, 39079) | 0, 30775) | 0; + __ZNKSt3__28ios_base6getlocEv($3, $69 + (HEAP32[(HEAP32[$69 >> 2] | 0) + -12 >> 2] | 0) | 0); + $74 = __ZNKSt3__26locale9use_facetERNS0_2idE($3, 66512) | 0; + $78 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$74 >> 2] | 0) + 28 >> 2] & 127]($74, 10) | 0; + __ZNSt3__26localeD2Ev($3); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($69, $78) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($69) | 0; + _abort(); + } else if ((label | 0) == 75) { + $283 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 30723) | 0, 26748) | 0, 39072) | 0, 277) | 0, 39079) | 0, 30775) | 0; + __ZNKSt3__28ios_base6getlocEv($3, $283 + (HEAP32[(HEAP32[$283 >> 2] | 0) + -12 >> 2] | 0) | 0); + $288 = __ZNKSt3__26locale9use_facetERNS0_2idE($3, 66512) | 0; + $292 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$288 >> 2] | 0) + 28 >> 2] & 127]($288, 10) | 0; + __ZNSt3__26localeD2Ev($3); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($283, $292) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($283) | 0; + _abort(); + } else if ((label | 0) == 77) { + $302 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 30850) | 0, 26748) | 0, 39072) | 0, 278) | 0, 39079) | 0, 30775) | 0; + __ZNKSt3__28ios_base6getlocEv($3, $302 + (HEAP32[(HEAP32[$302 >> 2] | 0) + -12 >> 2] | 0) | 0); + $307 = __ZNKSt3__26locale9use_facetERNS0_2idE($3, 66512) | 0; + $311 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$307 >> 2] | 0) + 28 >> 2] & 127]($307, 10) | 0; + __ZNSt3__26localeD2Ev($3); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($302, $311) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($302) | 0; + _abort(); + } else if ((label | 0) == 144) { + $538 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 30907) | 0, 26748) | 0, 39072) | 0, 362) | 0, 39079) | 0, 30775) | 0; + __ZNKSt3__28ios_base6getlocEv($3, $538 + (HEAP32[(HEAP32[$538 >> 2] | 0) + -12 >> 2] | 0) | 0); + $543 = __ZNKSt3__26locale9use_facetERNS0_2idE($3, 66512) | 0; + $547 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$543 >> 2] | 0) + 28 >> 2] & 127]($543, 10) | 0; + __ZNSt3__26localeD2Ev($3); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($538, $547) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($538) | 0; + _abort(); + } else if ((label | 0) == 146) { + $557 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 30964) | 0, 26748) | 0, 39072) | 0, 363) | 0, 39079) | 0, 30775) | 0; + __ZNKSt3__28ios_base6getlocEv($3, $557 + (HEAP32[(HEAP32[$557 >> 2] | 0) + -12 >> 2] | 0) | 0); + $562 = __ZNKSt3__26locale9use_facetERNS0_2idE($3, 66512) | 0; + $566 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$562 >> 2] | 0) + 28 >> 2] & 127]($562, 10) | 0; + __ZNSt3__26localeD2Ev($3); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($557, $566) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($557) | 0; + _abort(); + } +} + +function __ZNSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE8__do_getERS4_S4_bRKNS_6localeEjRjRbRKNS_5ctypeIwEERNS_10unique_ptrIwPFvPvEEERPwSM_($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + $9 = $9 | 0; + $10 = $10 | 0; + var $$0 = 0, $$0$i$i = 0, $$0$i$i$i$i = 0, $$0$i$i$i$i162 = 0, $$0$i$i$i$i207 = 0, $$0$i$i$i$i220 = 0, $$0$i$i$i$i236 = 0, $$0$i$i$i$i251 = 0, $$0$i$i$i$i266 = 0, $$0$i$i149 = 0, $$0$i$i151 = 0, $$0$i$i154 = 0, $$0$i$i157 = 0, $$0$i$i160 = 0, $$0$i$i161 = 0, $$0$i$i174 = 0, $$0$i$i176 = 0, $$0$i$i182 = 0, $$0$i$i189 = 0, $$0$i$i194 = 0, $$0$i$i2$i$i = 0, $$0$i$i2$i$i168 = 0, $$0$i$i2$i$i213 = 0, $$0$i$i2$i$i226 = 0, $$0$i$i2$i$i242 = 0, $$0$i$i2$i$i257 = 0, $$0$i$i2$i$i272 = 0, $$0$i$i203 = 0, $$0$i$i232 = 0, $$0$i$i248 = 0, $$0$i$i263 = 0, $$0$i$i278 = 0, $$0$i$i280 = 0, $$0126 = 0, $$0131 = 0, $$0133 = 0, $$10 = 0, $$1132 = 0, $$2128$ph = 0, $$pre$phiZ2D = 0, $$sroa$0289$0$ptr = 0, $$sroa$0309$0 = 0, $$sroa$0309$1 = 0, $$sroa$08$0$ptr$i = 0, $107 = 0, $108 = 0, $109 = 0, $11 = 0, $12 = 0, $123 = 0, $126 = 0, $13 = 0, $139 = 0, $14 = 0, $141 = 0, $15 = 0, $153 = 0, $155 = 0, $16 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $18 = 0, $182 = 0, $186 = 0, $187 = 0, $19 = 0, $191 = 0, $194 = 0, $196 = 0, $198 = 0, $20 = 0, $201 = 0, $21 = 0, $214 = 0, $215 = 0, $216 = 0, $22 = 0, $225 = 0, $23 = 0, $237 = 0, $238 = 0, $239 = 0, $24 = 0, $248 = 0, $25 = 0, $266 = 0, $267 = 0, $268 = 0, $271 = 0, $277 = 0, $295 = 0, $296 = 0, $297 = 0, $306 = 0, $320 = 0, $322 = 0, $325 = 0, $327 = 0, $329 = 0, $334 = 0, $335 = 0, $339 = 0, $342 = 0, $352 = 0, $353 = 0, $354 = 0, $355 = 0, $357 = 0, $358 = 0, $359 = 0, $360 = 0, $361 = 0, $365 = 0, $366 = 0, $370 = 0, $376 = 0, $377 = 0, $381 = 0, $385 = 0, $388 = 0, $401 = 0, $403 = 0, $41 = 0, $415 = 0, $417 = 0, $42 = 0, $429 = 0, $430 = 0, $431 = 0, $44 = 0, $441 = 0, $442 = 0, $45 = 0, $452 = 0, $455 = 0, $46 = 0, $468 = 0, $47 = 0, $470 = 0, $482 = 0, $484 = 0, $49 = 0, $498 = 0, $502 = 0, $504 = 0, $51 = 0, $513 = 0, $517 = 0, $518 = 0, $519 = 0, $52 = 0, $520 = 0, $53 = 0, $530 = 0, $536 = 0, $539 = 0, $542 = 0, $55 = 0, $555 = 0, $557 = 0, $56 = 0, $569 = 0, $571 = 0, $58 = 0, $585 = 0, $586 = 0, $587 = 0, $598 = 0, $601 = 0, $61 = 0, $614 = 0, $616 = 0, $628 = 0, $630 = 0, $649 = 0, $651 = 0, $661 = 0, $665 = 0, $666 = 0, $667 = 0, $684 = 0, $685 = 0, $686 = 0, $691 = 0, $692 = 0, $695 = 0, $707 = 0, $710 = 0, $722 = 0, $724 = 0, $73 = 0, $738 = 0, $744 = 0, $745 = 0, $746 = 0, $755 = 0, $756 = 0, $76 = 0, $762 = 0, $766 = 0, $767 = 0, $768 = 0, $769 = 0, $770 = 0, $771 = 0, $772 = 0, $773 = 0, $774 = 0, $775 = 0, $776 = 0, $777 = 0, $778 = 0, $779 = 0, $780 = 0, $781 = 0, $782 = 0, $783 = 0, $784 = 0, $785 = 0, $786 = 0, $91 = 0, $93 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 512 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(512); + $11 = sp + 496 | 0; + $12 = sp; + $13 = sp + 488 | 0; + $14 = sp + 480 | 0; + $15 = sp + 476 | 0; + $16 = sp + 500 | 0; + $17 = sp + 472 | 0; + $18 = sp + 468 | 0; + $19 = sp + 456 | 0; + $20 = sp + 444 | 0; + $21 = sp + 432 | 0; + $22 = sp + 420 | 0; + $23 = sp + 408 | 0; + $24 = sp + 404 | 0; + $25 = sp + 400 | 0; + HEAP32[$11 >> 2] = $10; + HEAP32[$13 >> 2] = $12; + HEAP32[$13 + 4 >> 2] = 214; + HEAP32[$14 >> 2] = $12; + HEAP32[$15 >> 2] = $12 + 400; + HEAP32[$19 >> 2] = 0; + HEAP32[$19 + 4 >> 2] = 0; + HEAP32[$19 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$19 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + HEAP32[$20 >> 2] = 0; + HEAP32[$20 + 4 >> 2] = 0; + HEAP32[$20 + 8 >> 2] = 0; + $$0$i$i149 = 0; + while (1) { + if (($$0$i$i149 | 0) == 3) break; + HEAP32[$20 + ($$0$i$i149 << 2) >> 2] = 0; + $$0$i$i149 = $$0$i$i149 + 1 | 0; + } + HEAP32[$21 >> 2] = 0; + HEAP32[$21 + 4 >> 2] = 0; + HEAP32[$21 + 8 >> 2] = 0; + $$0$i$i151 = 0; + while (1) { + if (($$0$i$i151 | 0) == 3) break; + HEAP32[$21 + ($$0$i$i151 << 2) >> 2] = 0; + $$0$i$i151 = $$0$i$i151 + 1 | 0; + } + HEAP32[$22 >> 2] = 0; + HEAP32[$22 + 4 >> 2] = 0; + HEAP32[$22 + 8 >> 2] = 0; + $$0$i$i154 = 0; + while (1) { + if (($$0$i$i154 | 0) == 3) break; + HEAP32[$22 + ($$0$i$i154 << 2) >> 2] = 0; + $$0$i$i154 = $$0$i$i154 + 1 | 0; + } + HEAP32[$23 >> 2] = 0; + HEAP32[$23 + 4 >> 2] = 0; + HEAP32[$23 + 8 >> 2] = 0; + $$0$i$i157 = 0; + while (1) { + if (($$0$i$i157 | 0) == 3) break; + HEAP32[$23 + ($$0$i$i157 << 2) >> 2] = 0; + $$0$i$i157 = $$0$i$i157 + 1 | 0; + } + __ZNSt3__211__money_getIwE13__gather_infoEbRKNS_6localeERNS_10money_base7patternERwS8_RNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERNS9_IwNSA_IwEENSC_IwEEEESJ_SJ_Ri($2, $3, $16, $17, $18, $19, $20, $21, $22, $24); + HEAP32[$9 >> 2] = HEAP32[$8 >> 2]; + $41 = $21 + 8 + 3 | 0; + $42 = $21 + 4 | 0; + $44 = $22 + 8 + 3 | 0; + $45 = $22 + 4 | 0; + $46 = $19 + 11 | 0; + $47 = $19 + 4 | 0; + $49 = ($4 & 512 | 0) != 0; + $51 = $20 + 8 + 3 | 0; + $52 = $16 + 3 | 0; + $53 = $20 + 4 | 0; + $55 = $23 + 8 + 3 | 0; + $56 = $23 + 4 | 0; + $$0131 = 0; + $$0133 = 0; + L21 : while (1) { + if ($$0133 >>> 0 >= 4) { + label = 239; + break; + } + $58 = HEAP32[$0 >> 2] | 0; + do if ($58) { + $61 = HEAP32[$58 + 12 >> 2] | 0; + if (($61 | 0) == (HEAP32[$58 + 16 >> 2] | 0)) $$0$i$i$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$58 >> 2] | 0) + 36 >> 2] & 127]($58) | 0; else $$0$i$i$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$61 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$0 >> 2] = 0; + $766 = 1; + break; + } else { + $766 = (HEAP32[$0 >> 2] | 0) == 0; + break; + } + } else $766 = 1; while (0); + $73 = HEAP32[$1 >> 2] | 0; + do if ($73) { + $76 = HEAP32[$73 + 12 >> 2] | 0; + if (($76 | 0) == (HEAP32[$73 + 16 >> 2] | 0)) $$0$i$i2$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$73 >> 2] | 0) + 36 >> 2] & 127]($73) | 0; else $$0$i$i2$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$76 >> 2] | 0) | 0; + if (!(__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0)) if ($766) { + $767 = $73; + break; + } else { + label = 239; + break L21; + } else { + HEAP32[$1 >> 2] = 0; + label = 31; + break; + } + } else label = 31; while (0); + if ((label | 0) == 31) { + label = 0; + if ($766) { + label = 239; + break; + } else $767 = 0; + } + L46 : do switch (HEAP8[$16 + $$0133 >> 0] | 0) { + case 1: + { + if (($$0133 | 0) == 3) $$1132 = $$0131; else { + $91 = HEAP32[$0 >> 2] | 0; + $93 = HEAP32[$91 + 12 >> 2] | 0; + if (($93 | 0) == (HEAP32[$91 + 16 >> 2] | 0)) $$0$i$i160 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$91 >> 2] | 0) + 36 >> 2] & 127]($91) | 0; else $$0$i$i160 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$93 >> 2] | 0) | 0; + if (!(FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$7 >> 2] | 0) + 12 >> 2] & 63]($7, 8192, $$0$i$i160) | 0)) { + label = 44; + break L21; + } + $107 = HEAP32[$0 >> 2] | 0; + $108 = $107 + 12 | 0; + $109 = HEAP32[$108 >> 2] | 0; + if (($109 | 0) == (HEAP32[$107 + 16 >> 2] | 0)) $$0$i$i161 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$107 >> 2] | 0) + 40 >> 2] & 127]($107) | 0; else { + HEAP32[$108 >> 2] = $109 + 4; + $$0$i$i161 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$109 >> 2] | 0) | 0; + } + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9push_backEw($23, $$0$i$i161); + label = 46; + } + break; + } + case 0: + { + if (($$0133 | 0) == 3) $$1132 = $$0131; else label = 46; + break; + } + case 3: + { + $182 = HEAP8[$41 >> 0] | 0; + $186 = $182 << 24 >> 24 < 0 ? HEAP32[$42 >> 2] | 0 : $182 & 255; + $187 = HEAP8[$44 >> 0] | 0; + $191 = $187 << 24 >> 24 < 0 ? HEAP32[$45 >> 2] | 0 : $187 & 255; + if (($186 | 0) == (0 - $191 | 0)) $$1132 = $$0131; else { + $194 = ($186 | 0) == 0; + $196 = HEAP32[$0 >> 2] | 0; + $198 = HEAP32[$196 + 12 >> 2] | 0; + $201 = ($198 | 0) == (HEAP32[$196 + 16 >> 2] | 0); + if ($194 | ($191 | 0) == 0) { + if ($201) $$0$i$i182 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$196 >> 2] | 0) + 36 >> 2] & 127]($196) | 0; else $$0$i$i182 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$198 >> 2] | 0) | 0; + if ($194) { + if (($$0$i$i182 | 0) != (HEAP32[((HEAP8[$44 >> 0] | 0) < 0 ? HEAP32[$22 >> 2] | 0 : $22) >> 2] | 0)) { + $$1132 = $$0131; + break L46; + } + $237 = HEAP32[$0 >> 2] | 0; + $238 = $237 + 12 | 0; + $239 = HEAP32[$238 >> 2] | 0; + if (($239 | 0) == (HEAP32[$237 + 16 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$237 >> 2] | 0) + 40 >> 2] & 127]($237) | 0; else { + HEAP32[$238 >> 2] = $239 + 4; + __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$239 >> 2] | 0) | 0; + } + HEAP8[$6 >> 0] = 1; + $248 = HEAP8[$44 >> 0] | 0; + $$1132 = ($248 << 24 >> 24 < 0 ? HEAP32[$45 >> 2] | 0 : $248 & 255) >>> 0 > 1 ? $22 : $$0131; + break L46; + } + if (($$0$i$i182 | 0) != (HEAP32[((HEAP8[$41 >> 0] | 0) < 0 ? HEAP32[$21 >> 2] | 0 : $21) >> 2] | 0)) { + HEAP8[$6 >> 0] = 1; + $$1132 = $$0131; + break L46; + } + $214 = HEAP32[$0 >> 2] | 0; + $215 = $214 + 12 | 0; + $216 = HEAP32[$215 >> 2] | 0; + if (($216 | 0) == (HEAP32[$214 + 16 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$214 >> 2] | 0) + 40 >> 2] & 127]($214) | 0; else { + HEAP32[$215 >> 2] = $216 + 4; + __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$216 >> 2] | 0) | 0; + } + $225 = HEAP8[$41 >> 0] | 0; + $$1132 = ($225 << 24 >> 24 < 0 ? HEAP32[$42 >> 2] | 0 : $225 & 255) >>> 0 > 1 ? $21 : $$0131; + break L46; + } + if ($201) $$0$i$i189 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$196 >> 2] | 0) + 36 >> 2] & 127]($196) | 0; else $$0$i$i189 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$198 >> 2] | 0) | 0; + $266 = HEAP32[$0 >> 2] | 0; + $267 = $266 + 12 | 0; + $268 = HEAP32[$267 >> 2] | 0; + $271 = ($268 | 0) == (HEAP32[$266 + 16 >> 2] | 0); + if (($$0$i$i189 | 0) == (HEAP32[((HEAP8[$41 >> 0] | 0) < 0 ? HEAP32[$21 >> 2] | 0 : $21) >> 2] | 0)) { + if ($271) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$266 >> 2] | 0) + 40 >> 2] & 127]($266) | 0; else { + HEAP32[$267 >> 2] = $268 + 4; + __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$268 >> 2] | 0) | 0; + } + $277 = HEAP8[$41 >> 0] | 0; + $$1132 = ($277 << 24 >> 24 < 0 ? HEAP32[$42 >> 2] | 0 : $277 & 255) >>> 0 > 1 ? $21 : $$0131; + break L46; + } + if ($271) $$0$i$i194 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$266 >> 2] | 0) + 36 >> 2] & 127]($266) | 0; else $$0$i$i194 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$268 >> 2] | 0) | 0; + if (($$0$i$i194 | 0) != (HEAP32[((HEAP8[$44 >> 0] | 0) < 0 ? HEAP32[$22 >> 2] | 0 : $22) >> 2] | 0)) { + label = 103; + break L21; + } + $295 = HEAP32[$0 >> 2] | 0; + $296 = $295 + 12 | 0; + $297 = HEAP32[$296 >> 2] | 0; + if (($297 | 0) == (HEAP32[$295 + 16 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$295 >> 2] | 0) + 40 >> 2] & 127]($295) | 0; else { + HEAP32[$296 >> 2] = $297 + 4; + __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$297 >> 2] | 0) | 0; + } + HEAP8[$6 >> 0] = 1; + $306 = HEAP8[$44 >> 0] | 0; + $$1132 = ($306 << 24 >> 24 < 0 ? HEAP32[$45 >> 2] | 0 : $306 & 255) >>> 0 > 1 ? $22 : $$0131; + } + break; + } + case 2: + { + if ($$0133 >>> 0 < 2 | ($$0131 | 0) != 0) { + $325 = HEAP8[$51 >> 0] | 0; + $327 = HEAP32[$20 >> 2] | 0; + $329 = $325 << 24 >> 24 < 0 ? $327 : $20; + if (!$$0133) { + $$sroa$0309$1 = $329; + $774 = $327; + $775 = $325; + } else { + $771 = $329; + $772 = $327; + $773 = $325; + label = 108; + } + } else { + if (!($49 | ($$0133 | 0) == 2 & (HEAP8[$52 >> 0] | 0) != 0)) { + $$1132 = 0; + break L46; + } + $320 = HEAP8[$51 >> 0] | 0; + $322 = HEAP32[$20 >> 2] | 0; + $771 = $320 << 24 >> 24 < 0 ? $322 : $20; + $772 = $322; + $773 = $320; + label = 108; + } + L108 : do if ((label | 0) == 108) { + label = 0; + if ((HEAPU8[$16 + ($$0133 + -1) >> 0] | 0) < 2) { + $$sroa$0309$0 = $771; + $335 = $773; + $339 = $772; + while (1) { + $334 = $335 << 24 >> 24 < 0; + $342 = $$sroa$0309$0; + if ((($334 ? $339 : $20) + (($334 ? HEAP32[$53 >> 2] | 0 : $335 & 255) << 2) | 0) == ($342 | 0)) { + $352 = $335; + $354 = $339; + break; + } + if (!(FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$7 >> 2] | 0) + 12 >> 2] & 63]($7, 8192, HEAP32[$342 >> 2] | 0) | 0)) { + label = 112; + break; + } + $$sroa$0309$0 = $342 + 4 | 0; + $335 = HEAP8[$51 >> 0] | 0; + $339 = HEAP32[$20 >> 2] | 0; + } + if ((label | 0) == 112) { + label = 0; + $352 = HEAP8[$51 >> 0] | 0; + $354 = HEAP32[$20 >> 2] | 0; + } + $353 = $352 << 24 >> 24 < 0 ? $354 : $20; + $355 = $353; + $357 = $$sroa$0309$0 - $355 >> 2; + $358 = HEAP8[$55 >> 0] | 0; + $359 = $358 << 24 >> 24 < 0; + $360 = HEAP32[$56 >> 2] | 0; + $361 = $358 & 255; + if ($357 >>> 0 > ($359 ? $360 : $361) >>> 0) { + $$sroa$0309$1 = $355; + $774 = $354; + $775 = $352; + } else { + $365 = (HEAP32[$23 >> 2] | 0) + ($360 << 2) | 0; + $366 = $23 + ($361 << 2) | 0; + $$pre$phiZ2D = $359 ? $365 : $366; + $$sroa$08$0$ptr$i = $353; + $370 = ($359 ? $365 : $366) + (0 - $357 << 2) | 0; + while (1) { + if (($370 | 0) == ($$pre$phiZ2D | 0)) { + $$sroa$0309$1 = $$sroa$0309$0; + $774 = $354; + $775 = $352; + break L108; + } + if ((HEAP32[$370 >> 2] | 0) != (HEAP32[$$sroa$08$0$ptr$i >> 2] | 0)) { + $$sroa$0309$1 = $355; + $774 = $354; + $775 = $352; + break L108; + } + $$sroa$08$0$ptr$i = $$sroa$08$0$ptr$i + 4 | 0; + $370 = $370 + 4 | 0; + } + } + } else { + $$sroa$0309$1 = $771; + $774 = $772; + $775 = $773; + } + } while (0); + $$sroa$0289$0$ptr = $$sroa$0309$1; + $377 = $775; + $381 = $774; + $401 = $767; + L124 : while (1) { + $376 = $377 << 24 >> 24 < 0; + if (($$sroa$0289$0$ptr | 0) == (($376 ? $381 : $20) + (($376 ? HEAP32[$53 >> 2] | 0 : $377 & 255) << 2) | 0)) break; + $385 = HEAP32[$0 >> 2] | 0; + do if ($385) { + $388 = HEAP32[$385 + 12 >> 2] | 0; + if (($388 | 0) == (HEAP32[$385 + 16 >> 2] | 0)) $$0$i$i$i$i220 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$385 >> 2] | 0) + 36 >> 2] & 127]($385) | 0; else $$0$i$i$i$i220 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$388 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i220, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$0 >> 2] = 0; + $776 = 1; + break; + } else { + $776 = (HEAP32[$0 >> 2] | 0) == 0; + break; + } + } else $776 = 1; while (0); + do if ($401) { + $403 = HEAP32[$401 + 12 >> 2] | 0; + if (($403 | 0) == (HEAP32[$401 + 16 >> 2] | 0)) $$0$i$i2$i$i226 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$401 >> 2] | 0) + 36 >> 2] & 127]($401) | 0; else $$0$i$i2$i$i226 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$403 >> 2] | 0) | 0; + if (!(__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i226, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0)) if ($776) { + $777 = $401; + break; + } else break L124; else { + HEAP32[$1 >> 2] = 0; + label = 134; + break; + } + } else label = 134; while (0); + if ((label | 0) == 134) { + label = 0; + if ($776) break; else $777 = 0; + } + $415 = HEAP32[$0 >> 2] | 0; + $417 = HEAP32[$415 + 12 >> 2] | 0; + if (($417 | 0) == (HEAP32[$415 + 16 >> 2] | 0)) $$0$i$i232 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$415 >> 2] | 0) + 36 >> 2] & 127]($415) | 0; else $$0$i$i232 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$417 >> 2] | 0) | 0; + if (($$0$i$i232 | 0) != (HEAP32[$$sroa$0289$0$ptr >> 2] | 0)) break; + $429 = HEAP32[$0 >> 2] | 0; + $430 = $429 + 12 | 0; + $431 = HEAP32[$430 >> 2] | 0; + if (($431 | 0) == (HEAP32[$429 + 16 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$429 >> 2] | 0) + 40 >> 2] & 127]($429) | 0; else { + HEAP32[$430 >> 2] = $431 + 4; + __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$431 >> 2] | 0) | 0; + } + $$sroa$0289$0$ptr = $$sroa$0289$0$ptr + 4 | 0; + $377 = HEAP8[$51 >> 0] | 0; + $381 = HEAP32[$20 >> 2] | 0; + $401 = $777; + } + if ($49 ? ($441 = HEAP8[$51 >> 0] | 0, $442 = $441 << 24 >> 24 < 0, ($$sroa$0289$0$ptr | 0) != (($442 ? HEAP32[$20 >> 2] | 0 : $20) + (($442 ? HEAP32[$53 >> 2] | 0 : $441 & 255) << 2) | 0)) : 0) { + label = 146; + break L21; + } else $$1132 = $$0131; + break; + } + case 4: + { + $$0126 = 0; + $468 = $767; + $768 = $767; + L161 : while (1) { + $452 = HEAP32[$0 >> 2] | 0; + do if ($452) { + $455 = HEAP32[$452 + 12 >> 2] | 0; + if (($455 | 0) == (HEAP32[$452 + 16 >> 2] | 0)) $$0$i$i$i$i236 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$452 >> 2] | 0) + 36 >> 2] & 127]($452) | 0; else $$0$i$i$i$i236 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$455 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i236, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$0 >> 2] = 0; + $778 = 1; + break; + } else { + $778 = (HEAP32[$0 >> 2] | 0) == 0; + break; + } + } else $778 = 1; while (0); + do if ($468) { + $470 = HEAP32[$468 + 12 >> 2] | 0; + if (($470 | 0) == (HEAP32[$468 + 16 >> 2] | 0)) $$0$i$i2$i$i242 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$468 >> 2] | 0) + 36 >> 2] & 127]($468) | 0; else $$0$i$i2$i$i242 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$470 >> 2] | 0) | 0; + if (!(__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i242, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0)) if ($778) { + $780 = $768; + $781 = $468; + break; + } else { + $555 = $768; + break L161; + } else { + HEAP32[$1 >> 2] = 0; + $779 = 0; + label = 160; + break; + } + } else { + $779 = $768; + label = 160; + } while (0); + if ((label | 0) == 160) { + label = 0; + if ($778) { + $555 = $779; + break; + } else { + $780 = $779; + $781 = 0; + } + } + $482 = HEAP32[$0 >> 2] | 0; + $484 = HEAP32[$482 + 12 >> 2] | 0; + if (($484 | 0) == (HEAP32[$482 + 16 >> 2] | 0)) $$0$i$i248 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$482 >> 2] | 0) + 36 >> 2] & 127]($482) | 0; else $$0$i$i248 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$484 >> 2] | 0) | 0; + if (FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$7 >> 2] | 0) + 12 >> 2] & 63]($7, 2048, $$0$i$i248) | 0) { + $498 = HEAP32[$9 >> 2] | 0; + if (($498 | 0) == (HEAP32[$11 >> 2] | 0)) { + __ZNSt3__219__double_or_nothingIwEEvRNS_10unique_ptrIT_PFvPvEEERPS2_S9_($8, $9, $11); + $502 = HEAP32[$9 >> 2] | 0; + } else $502 = $498; + HEAP32[$9 >> 2] = $502 + 4; + HEAP32[$502 >> 2] = $$0$i$i248; + $$2128$ph = $$0126 + 1 | 0; + } else { + $504 = HEAP8[$46 >> 0] | 0; + if (!(($$0$i$i248 | 0) == (HEAP32[$18 >> 2] | 0) & ($$0126 | 0 ? (($504 << 24 >> 24 < 0 ? HEAP32[$47 >> 2] | 0 : $504 & 255) | 0) != 0 : 0))) { + $555 = $780; + break; + } + $513 = HEAP32[$14 >> 2] | 0; + if (($513 | 0) == (HEAP32[$15 >> 2] | 0)) { + __ZNSt3__219__double_or_nothingIjEEvRNS_10unique_ptrIT_PFvPvEEERPS2_S9_($13, $14, $15); + $517 = HEAP32[$14 >> 2] | 0; + } else $517 = $513; + HEAP32[$14 >> 2] = $517 + 4; + HEAP32[$517 >> 2] = $$0126; + $$2128$ph = 0; + } + $518 = HEAP32[$0 >> 2] | 0; + $519 = $518 + 12 | 0; + $520 = HEAP32[$519 >> 2] | 0; + if (($520 | 0) == (HEAP32[$518 + 16 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$518 >> 2] | 0) + 40 >> 2] & 127]($518) | 0; else { + HEAP32[$519 >> 2] = $520 + 4; + __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$520 >> 2] | 0) | 0; + } + $$0126 = $$2128$ph; + $468 = $781; + $768 = $780; + } + $530 = HEAP32[$14 >> 2] | 0; + if ($$0126 | 0 ? (HEAP32[$13 >> 2] | 0) != ($530 | 0) : 0) { + if (($530 | 0) == (HEAP32[$15 >> 2] | 0)) { + __ZNSt3__219__double_or_nothingIjEEvRNS_10unique_ptrIT_PFvPvEEERPS2_S9_($13, $14, $15); + $536 = HEAP32[$14 >> 2] | 0; + } else $536 = $530; + HEAP32[$14 >> 2] = $536 + 4; + HEAP32[$536 >> 2] = $$0126; + } + L211 : do if ((HEAP32[$24 >> 2] | 0) > 0) { + $539 = HEAP32[$0 >> 2] | 0; + do if ($539) { + $542 = HEAP32[$539 + 12 >> 2] | 0; + if (($542 | 0) == (HEAP32[$539 + 16 >> 2] | 0)) $$0$i$i$i$i251 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$539 >> 2] | 0) + 36 >> 2] & 127]($539) | 0; else $$0$i$i$i$i251 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$542 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i251, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$0 >> 2] = 0; + $782 = 1; + break; + } else { + $782 = (HEAP32[$0 >> 2] | 0) == 0; + break; + } + } else $782 = 1; while (0); + do if ($555) { + $557 = HEAP32[$555 + 12 >> 2] | 0; + if (($557 | 0) == (HEAP32[$555 + 16 >> 2] | 0)) $$0$i$i2$i$i257 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$555 >> 2] | 0) + 36 >> 2] & 127]($555) | 0; else $$0$i$i2$i$i257 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$557 >> 2] | 0) | 0; + if (!(__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i257, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0)) if ($782) { + $783 = $555; + break; + } else { + label = 201; + break L21; + } else { + HEAP32[$1 >> 2] = 0; + label = 195; + break; + } + } else label = 195; while (0); + if ((label | 0) == 195) { + label = 0; + if ($782) { + label = 201; + break L21; + } else $783 = 0; + } + $569 = HEAP32[$0 >> 2] | 0; + $571 = HEAP32[$569 + 12 >> 2] | 0; + if (($571 | 0) == (HEAP32[$569 + 16 >> 2] | 0)) $$0$i$i263 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$569 >> 2] | 0) + 36 >> 2] & 127]($569) | 0; else $$0$i$i263 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$571 >> 2] | 0) | 0; + if (($$0$i$i263 | 0) != (HEAP32[$17 >> 2] | 0)) { + label = 201; + break L21; + } + $585 = HEAP32[$0 >> 2] | 0; + $586 = $585 + 12 | 0; + $587 = HEAP32[$586 >> 2] | 0; + if (($587 | 0) == (HEAP32[$585 + 16 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$585 >> 2] | 0) + 40 >> 2] & 127]($585) | 0; else { + HEAP32[$586 >> 2] = $587 + 4; + __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$587 >> 2] | 0) | 0; + } + $614 = $783; + while (1) { + if ((HEAP32[$24 >> 2] | 0) <= 0) break L211; + $598 = HEAP32[$0 >> 2] | 0; + do if ($598) { + $601 = HEAP32[$598 + 12 >> 2] | 0; + if (($601 | 0) == (HEAP32[$598 + 16 >> 2] | 0)) $$0$i$i$i$i266 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$598 >> 2] | 0) + 36 >> 2] & 127]($598) | 0; else $$0$i$i$i$i266 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$601 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i266, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$0 >> 2] = 0; + $784 = 1; + break; + } else { + $784 = (HEAP32[$0 >> 2] | 0) == 0; + break; + } + } else $784 = 1; while (0); + do if ($614) { + $616 = HEAP32[$614 + 12 >> 2] | 0; + if (($616 | 0) == (HEAP32[$614 + 16 >> 2] | 0)) $$0$i$i2$i$i272 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$614 >> 2] | 0) + 36 >> 2] & 127]($614) | 0; else $$0$i$i2$i$i272 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$616 >> 2] | 0) | 0; + if (!(__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i272, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0)) if ($784) { + $785 = $614; + break; + } else { + label = 226; + break L21; + } else { + HEAP32[$1 >> 2] = 0; + label = 220; + break; + } + } else label = 220; while (0); + if ((label | 0) == 220) { + label = 0; + if ($784) { + label = 226; + break L21; + } else $785 = 0; + } + $628 = HEAP32[$0 >> 2] | 0; + $630 = HEAP32[$628 + 12 >> 2] | 0; + if (($630 | 0) == (HEAP32[$628 + 16 >> 2] | 0)) $$0$i$i278 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$628 >> 2] | 0) + 36 >> 2] & 127]($628) | 0; else $$0$i$i278 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$630 >> 2] | 0) | 0; + if (!(FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$7 >> 2] | 0) + 12 >> 2] & 63]($7, 2048, $$0$i$i278) | 0)) { + label = 226; + break L21; + } + if ((HEAP32[$9 >> 2] | 0) == (HEAP32[$11 >> 2] | 0)) __ZNSt3__219__double_or_nothingIwEEvRNS_10unique_ptrIT_PFvPvEEERPS2_S9_($8, $9, $11); + $649 = HEAP32[$0 >> 2] | 0; + $651 = HEAP32[$649 + 12 >> 2] | 0; + if (($651 | 0) == (HEAP32[$649 + 16 >> 2] | 0)) $$0$i$i280 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$649 >> 2] | 0) + 36 >> 2] & 127]($649) | 0; else $$0$i$i280 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$651 >> 2] | 0) | 0; + $661 = HEAP32[$9 >> 2] | 0; + HEAP32[$9 >> 2] = $661 + 4; + HEAP32[$661 >> 2] = $$0$i$i280; + HEAP32[$24 >> 2] = (HEAP32[$24 >> 2] | 0) + -1; + $665 = HEAP32[$0 >> 2] | 0; + $666 = $665 + 12 | 0; + $667 = HEAP32[$666 >> 2] | 0; + if (($667 | 0) == (HEAP32[$665 + 16 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$665 >> 2] | 0) + 40 >> 2] & 127]($665) | 0; else { + HEAP32[$666 >> 2] = $667 + 4; + __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$667 >> 2] | 0) | 0; + } + $614 = $785; + } + } while (0); + if ((HEAP32[$9 >> 2] | 0) == (HEAP32[$8 >> 2] | 0)) { + label = 237; + break L21; + } else $$1132 = $$0131; + break; + } + default: + $$1132 = $$0131; + } while (0); + L286 : do if ((label | 0) == 46) { + label = 0; + $139 = $767; + while (1) { + $123 = HEAP32[$0 >> 2] | 0; + do if ($123) { + $126 = HEAP32[$123 + 12 >> 2] | 0; + if (($126 | 0) == (HEAP32[$123 + 16 >> 2] | 0)) $$0$i$i$i$i162 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$123 >> 2] | 0) + 36 >> 2] & 127]($123) | 0; else $$0$i$i$i$i162 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$126 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i162, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$0 >> 2] = 0; + $769 = 1; + break; + } else { + $769 = (HEAP32[$0 >> 2] | 0) == 0; + break; + } + } else $769 = 1; while (0); + do if ($139) { + $141 = HEAP32[$139 + 12 >> 2] | 0; + if (($141 | 0) == (HEAP32[$139 + 16 >> 2] | 0)) $$0$i$i2$i$i168 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$139 >> 2] | 0) + 36 >> 2] & 127]($139) | 0; else $$0$i$i2$i$i168 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$141 >> 2] | 0) | 0; + if (!(__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i168, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0)) if ($769) { + $770 = $139; + break; + } else { + $$1132 = $$0131; + break L286; + } else { + HEAP32[$1 >> 2] = 0; + label = 60; + break; + } + } else label = 60; while (0); + if ((label | 0) == 60) { + label = 0; + if ($769) { + $$1132 = $$0131; + break L286; + } else $770 = 0; + } + $153 = HEAP32[$0 >> 2] | 0; + $155 = HEAP32[$153 + 12 >> 2] | 0; + if (($155 | 0) == (HEAP32[$153 + 16 >> 2] | 0)) $$0$i$i174 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$153 >> 2] | 0) + 36 >> 2] & 127]($153) | 0; else $$0$i$i174 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$155 >> 2] | 0) | 0; + if (!(FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$7 >> 2] | 0) + 12 >> 2] & 63]($7, 8192, $$0$i$i174) | 0)) { + $$1132 = $$0131; + break L286; + } + $169 = HEAP32[$0 >> 2] | 0; + $170 = $169 + 12 | 0; + $171 = HEAP32[$170 >> 2] | 0; + if (($171 | 0) == (HEAP32[$169 + 16 >> 2] | 0)) $$0$i$i176 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$169 >> 2] | 0) + 40 >> 2] & 127]($169) | 0; else { + HEAP32[$170 >> 2] = $171 + 4; + $$0$i$i176 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$171 >> 2] | 0) | 0; + } + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9push_backEw($23, $$0$i$i176); + $139 = $770; + } + } while (0); + $$0131 = $$1132; + $$0133 = $$0133 + 1 | 0; + } + L322 : do if ((label | 0) == 44) { + HEAP32[$5 >> 2] = HEAP32[$5 >> 2] | 4; + $$10 = 0; + } else if ((label | 0) == 103) { + HEAP32[$5 >> 2] = HEAP32[$5 >> 2] | 4; + $$10 = 0; + } else if ((label | 0) == 146) { + HEAP32[$5 >> 2] = HEAP32[$5 >> 2] | 4; + $$10 = 0; + } else if ((label | 0) == 201) { + HEAP32[$5 >> 2] = HEAP32[$5 >> 2] | 4; + $$10 = 0; + } else if ((label | 0) == 226) { + HEAP32[$5 >> 2] = HEAP32[$5 >> 2] | 4; + $$10 = 0; + } else if ((label | 0) == 237) { + HEAP32[$5 >> 2] = HEAP32[$5 >> 2] | 4; + $$10 = 0; + } else if ((label | 0) == 239) { + L324 : do if ($$0131 | 0) { + $684 = $$0131 + 8 + 3 | 0; + $685 = $$0131 + 4 | 0; + $$0 = 1; + L326 : while (1) { + $686 = HEAP8[$684 >> 0] | 0; + if ($686 << 24 >> 24 < 0) $691 = HEAP32[$685 >> 2] | 0; else $691 = $686 & 255; + if ($$0 >>> 0 >= $691 >>> 0) break L324; + $692 = HEAP32[$0 >> 2] | 0; + do if ($692) { + $695 = HEAP32[$692 + 12 >> 2] | 0; + if (($695 | 0) == (HEAP32[$692 + 16 >> 2] | 0)) $$0$i$i$i$i207 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$692 >> 2] | 0) + 36 >> 2] & 127]($692) | 0; else $$0$i$i$i$i207 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$695 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i207, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$0 >> 2] = 0; + $786 = 1; + break; + } else { + $786 = (HEAP32[$0 >> 2] | 0) == 0; + break; + } + } else $786 = 1; while (0); + $707 = HEAP32[$1 >> 2] | 0; + do if ($707) { + $710 = HEAP32[$707 + 12 >> 2] | 0; + if (($710 | 0) == (HEAP32[$707 + 16 >> 2] | 0)) $$0$i$i2$i$i213 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$707 >> 2] | 0) + 36 >> 2] & 127]($707) | 0; else $$0$i$i2$i$i213 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$710 >> 2] | 0) | 0; + if (!(__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i213, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0)) if ($786) break; else break L326; else { + HEAP32[$1 >> 2] = 0; + label = 258; + break; + } + } else label = 258; while (0); + if ((label | 0) == 258 ? (label = 0, $786) : 0) break; + $722 = HEAP32[$0 >> 2] | 0; + $724 = HEAP32[$722 + 12 >> 2] | 0; + if (($724 | 0) == (HEAP32[$722 + 16 >> 2] | 0)) $$0$i$i203 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$722 >> 2] | 0) + 36 >> 2] & 127]($722) | 0; else $$0$i$i203 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$724 >> 2] | 0) | 0; + if ((HEAP8[$684 >> 0] | 0) < 0) $738 = HEAP32[$$0131 >> 2] | 0; else $738 = $$0131; + if (($$0$i$i203 | 0) != (HEAP32[$738 + ($$0 << 2) >> 2] | 0)) break; + $744 = HEAP32[$0 >> 2] | 0; + $745 = $744 + 12 | 0; + $746 = HEAP32[$745 >> 2] | 0; + if (($746 | 0) == (HEAP32[$744 + 16 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$744 >> 2] | 0) + 40 >> 2] & 127]($744) | 0; else { + HEAP32[$745 >> 2] = $746 + 4; + __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$746 >> 2] | 0) | 0; + } + $$0 = $$0 + 1 | 0; + } + HEAP32[$5 >> 2] = HEAP32[$5 >> 2] | 4; + $$10 = 0; + break L322; + } while (0); + $755 = HEAP32[$13 >> 2] | 0; + $756 = HEAP32[$14 >> 2] | 0; + if (($755 | 0) != ($756 | 0)) { + HEAP32[$25 >> 2] = 0; + __ZNSt3__216__check_groupingERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjS8_Rj($19, $755, $756, $25); + if (!(HEAP32[$25 >> 2] | 0)) { + $$10 = 1; + break; + } else { + HEAP32[$5 >> 2] = HEAP32[$5 >> 2] | 4; + $$10 = 0; + break; + } + } else $$10 = 1; + } while (0); + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev($23); + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev($22); + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev($21); + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev($20); + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($19); + $762 = HEAP32[$13 >> 2] | 0; + HEAP32[$13 >> 2] = 0; + if ($762 | 0) FUNCTION_TABLE_vi[HEAP32[$13 + 4 >> 2] & 255]($762); + STACKTOP = sp; + return $$10 | 0; +} +function _jpeg_make_d_derived_tbl($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0122157 = 0, $$0124135$us = 0, $$0124135$us$1 = 0, $$0125134$us = 0, $$0125134$us$1 = 0, $$0129155 = 0, $$1$lcssa = 0, $$1$lcssa$1 = 0, $$1$lcssa$10 = 0, $$1$lcssa$11 = 0, $$1$lcssa$12 = 0, $$1$lcssa$13 = 0, $$1$lcssa$14 = 0, $$1$lcssa$15 = 0, $$1$lcssa$2 = 0, $$1$lcssa$3 = 0, $$1$lcssa$4 = 0, $$1$lcssa$5 = 0, $$1$lcssa$6 = 0, $$1$lcssa$7 = 0, $$1$lcssa$8 = 0, $$1$lcssa$9 = 0, $$1123$lcssa = 0, $$1123148 = 0, $$1127137$us = 0, $$1127137$us$1 = 0, $$1127137$us$2 = 0, $$1127137$us$3 = 0, $$1127137$us$4 = 0, $$1127137$us$5 = 0, $$1127137$us$6 = 0, $$1127137$us$7 = 0, $$2128133 = 0, $$2158 = 0, $$3$lcssa = 0, $$3149 = 0, $$5 = 0, $$5$1 = 0, $$5$10 = 0, $$5$11 = 0, $$5$12 = 0, $$5$13 = 0, $$5$14 = 0, $$5$2 = 0, $$5$3 = 0, $$5$4 = 0, $$5$5 = 0, $$5$6 = 0, $$5$7 = 0, $$5$8 = 0, $$5$9 = 0, $$7$lcssa = 0, $$7$lcssa$1 = 0, $$7$lcssa$2 = 0, $$7$lcssa$3 = 0, $$7$lcssa$4 = 0, $$7$lcssa$5 = 0, $$7$lcssa$6 = 0, $$7138$us = 0, $$7138$us$1 = 0, $$7138$us$2 = 0, $$7138$us$3 = 0, $$7138$us$4 = 0, $$7138$us$5 = 0, $$7138$us$6 = 0, $$7138$us$7 = 0, $$pre$phiZ2D = 0, $$sink = 0, $$sink$1 = 0, $$sink$10 = 0, $$sink$11 = 0, $$sink$12 = 0, $$sink$13 = 0, $$sink$14 = 0, $$sink$15 = 0, $$sink$2 = 0, $$sink$3 = 0, $$sink$4 = 0, $$sink$5 = 0, $$sink$6 = 0, $$sink$7 = 0, $$sink$8 = 0, $$sink$9 = 0, $104 = 0, $112 = 0, $116 = 0, $12 = 0, $121 = 0, $122 = 0, $126 = 0, $130 = 0, $134 = 0, $138 = 0, $142 = 0, $146 = 0, $15 = 0, $150 = 0, $154 = 0, $158 = 0, $162 = 0, $166 = 0, $17 = 0, $170 = 0, $174 = 0, $178 = 0, $182 = 0, $186 = 0, $190 = 0, $194 = 0, $198 = 0, $202 = 0, $206 = 0, $210 = 0, $214 = 0, $218 = 0, $22 = 0, $222 = 0, $226 = 0, $230 = 0, $234 = 0, $238 = 0, $242 = 0, $246 = 0, $251 = 0, $255 = 0, $260 = 0, $261 = 0, $265 = 0, $269 = 0, $27 = 0, $273 = 0, $277 = 0, $281 = 0, $285 = 0, $289 = 0, $29 = 0, $293 = 0, $297 = 0, $301 = 0, $305 = 0, $309 = 0, $31 = 0, $313 = 0, $317 = 0, $32 = 0, $321 = 0, $326 = 0, $330 = 0, $335 = 0, $336 = 0, $340 = 0, $344 = 0, $348 = 0, $35 = 0, $352 = 0, $356 = 0, $36 = 0, $360 = 0, $364 = 0, $369 = 0, $37 = 0, $373 = 0, $378 = 0, $379 = 0, $383 = 0, $387 = 0, $391 = 0, $396 = 0, $4 = 0, $40 = 0, $400 = 0, $405 = 0, $406 = 0, $410 = 0, $415 = 0, $419 = 0, $42 = 0, $423 = 0, $44 = 0, $440 = 0, $445 = 0, $454 = 0, $459 = 0, $46 = 0, $468 = 0, $473 = 0, $48 = 0, $482 = 0, $487 = 0, $496 = 0, $5 = 0, $501 = 0, $510 = 0, $515 = 0, $524 = 0, $529 = 0, $53 = 0, $538 = 0, $543 = 0, $552 = 0, $557 = 0, $566 = 0, $571 = 0, $580 = 0, $585 = 0, $59 = 0, $594 = 0, $599 = 0, $60 = 0, $608 = 0, $613 = 0, $622 = 0, $627 = 0, $645 = 0, $650 = 0, $651 = 0, $652 = 0, $654 = 0, $659 = 0, $660 = 0, $661 = 0, $663 = 0, $668 = 0, $669 = 0, $67 = 0, $670 = 0, $672 = 0, $677 = 0, $678 = 0, $679 = 0, $681 = 0, $686 = 0, $687 = 0, $688 = 0, $690 = 0, $695 = 0, $696 = 0, $697 = 0, $699 = 0, $7 = 0, $704 = 0, $705 = 0, $706 = 0, $708 = 0, $713 = 0, $714 = 0, $715 = 0, $717 = 0, $72 = 0, $722 = 0, $723 = 0, $724 = 0, $726 = 0, $731 = 0, $732 = 0, $733 = 0, $735 = 0, $740 = 0, $741 = 0, $742 = 0, $744 = 0, $749 = 0, $750 = 0, $751 = 0, $753 = 0, $758 = 0, $759 = 0, $760 = 0, $762 = 0, $767 = 0, $768 = 0, $769 = 0, $771 = 0, $78 = 0, $86 = 0, $88 = 0, $91 = 0, $97 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1312 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(1312); + $4 = sp + 1040 | 0; + $5 = sp; + if ($2 >>> 0 > 3) { + $7 = HEAP32[$0 >> 2] | 0; + HEAP32[$7 + 20 >> 2] = 52; + HEAP32[$7 + 24 >> 2] = $2; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + $12 = ($1 | 0) != 0; + $15 = HEAP32[($12 ? $0 + 180 + ($2 << 2) | 0 : $0 + 196 + ($2 << 2) | 0) >> 2] | 0; + if (!$15) { + $17 = HEAP32[$0 >> 2] | 0; + HEAP32[$17 + 20 >> 2] = 52; + HEAP32[$17 + 24 >> 2] = $2; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + $22 = HEAP32[$3 >> 2] | 0; + if (!$22) { + $27 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$0 + 4 >> 2] >> 2] & 63]($0, 1, 1424) | 0; + HEAP32[$3 >> 2] = $27; + $$pre$phiZ2D = $0; + $29 = $27; + } else { + $$pre$phiZ2D = $0; + $29 = $22; + } + HEAP32[$29 + 140 >> 2] = $15; + $31 = HEAP8[$15 + 1 >> 0] | 0; + $32 = $31 & 255; + if (!($31 << 24 >> 24)) $$1$lcssa = 0; else { + _memset($4 | 0, 1, $32 | 0) | 0; + $$1$lcssa = $32; + } + $35 = HEAP8[$15 + 2 >> 0] | 0; + $36 = $35 & 255; + $37 = $$1$lcssa + $36 | 0; + if ($37 >>> 0 > 256) { + $645 = HEAP32[$0 >> 2] | 0; + HEAP32[$645 + 20 >> 2] = 9; + FUNCTION_TABLE_vi[HEAP32[$645 >> 2] & 255]($$pre$phiZ2D); + } + if (!($35 << 24 >> 24)) $$1$lcssa$1 = $$1$lcssa; else { + _memset($4 + $$1$lcssa | 0, 2, $36 | 0) | 0; + $$1$lcssa$1 = $37; + } + $650 = HEAP8[$15 + 3 >> 0] | 0; + $651 = $650 & 255; + $652 = $$1$lcssa$1 + $651 | 0; + if (($652 | 0) > 256) { + $654 = HEAP32[$0 >> 2] | 0; + HEAP32[$654 + 20 >> 2] = 9; + FUNCTION_TABLE_vi[HEAP32[$654 >> 2] & 255]($$pre$phiZ2D); + } + if (!($650 << 24 >> 24)) $$1$lcssa$2 = $$1$lcssa$1; else { + _memset($4 + $$1$lcssa$1 | 0, 3, $651 | 0) | 0; + $$1$lcssa$2 = $652; + } + $659 = HEAP8[$15 + 4 >> 0] | 0; + $660 = $659 & 255; + $661 = $$1$lcssa$2 + $660 | 0; + if (($661 | 0) > 256) { + $663 = HEAP32[$0 >> 2] | 0; + HEAP32[$663 + 20 >> 2] = 9; + FUNCTION_TABLE_vi[HEAP32[$663 >> 2] & 255]($$pre$phiZ2D); + } + if (!($659 << 24 >> 24)) $$1$lcssa$3 = $$1$lcssa$2; else { + _memset($4 + $$1$lcssa$2 | 0, 4, $660 | 0) | 0; + $$1$lcssa$3 = $661; + } + $668 = HEAP8[$15 + 5 >> 0] | 0; + $669 = $668 & 255; + $670 = $$1$lcssa$3 + $669 | 0; + if (($670 | 0) > 256) { + $672 = HEAP32[$0 >> 2] | 0; + HEAP32[$672 + 20 >> 2] = 9; + FUNCTION_TABLE_vi[HEAP32[$672 >> 2] & 255]($$pre$phiZ2D); + } + if (!($668 << 24 >> 24)) $$1$lcssa$4 = $$1$lcssa$3; else { + _memset($4 + $$1$lcssa$3 | 0, 5, $669 | 0) | 0; + $$1$lcssa$4 = $670; + } + $677 = HEAP8[$15 + 6 >> 0] | 0; + $678 = $677 & 255; + $679 = $$1$lcssa$4 + $678 | 0; + if (($679 | 0) > 256) { + $681 = HEAP32[$0 >> 2] | 0; + HEAP32[$681 + 20 >> 2] = 9; + FUNCTION_TABLE_vi[HEAP32[$681 >> 2] & 255]($$pre$phiZ2D); + } + if (!($677 << 24 >> 24)) $$1$lcssa$5 = $$1$lcssa$4; else { + _memset($4 + $$1$lcssa$4 | 0, 6, $678 | 0) | 0; + $$1$lcssa$5 = $679; + } + $686 = HEAP8[$15 + 7 >> 0] | 0; + $687 = $686 & 255; + $688 = $$1$lcssa$5 + $687 | 0; + if (($688 | 0) > 256) { + $690 = HEAP32[$0 >> 2] | 0; + HEAP32[$690 + 20 >> 2] = 9; + FUNCTION_TABLE_vi[HEAP32[$690 >> 2] & 255]($$pre$phiZ2D); + } + if (!($686 << 24 >> 24)) $$1$lcssa$6 = $$1$lcssa$5; else { + _memset($4 + $$1$lcssa$5 | 0, 7, $687 | 0) | 0; + $$1$lcssa$6 = $688; + } + $695 = HEAP8[$15 + 8 >> 0] | 0; + $696 = $695 & 255; + $697 = $$1$lcssa$6 + $696 | 0; + if (($697 | 0) > 256) { + $699 = HEAP32[$0 >> 2] | 0; + HEAP32[$699 + 20 >> 2] = 9; + FUNCTION_TABLE_vi[HEAP32[$699 >> 2] & 255]($$pre$phiZ2D); + } + if (!($695 << 24 >> 24)) $$1$lcssa$7 = $$1$lcssa$6; else { + _memset($4 + $$1$lcssa$6 | 0, 8, $696 | 0) | 0; + $$1$lcssa$7 = $697; + } + $704 = HEAP8[$15 + 9 >> 0] | 0; + $705 = $704 & 255; + $706 = $$1$lcssa$7 + $705 | 0; + if (($706 | 0) > 256) { + $708 = HEAP32[$0 >> 2] | 0; + HEAP32[$708 + 20 >> 2] = 9; + FUNCTION_TABLE_vi[HEAP32[$708 >> 2] & 255]($$pre$phiZ2D); + } + if (!($704 << 24 >> 24)) $$1$lcssa$8 = $$1$lcssa$7; else { + _memset($4 + $$1$lcssa$7 | 0, 9, $705 | 0) | 0; + $$1$lcssa$8 = $706; + } + $713 = HEAP8[$15 + 10 >> 0] | 0; + $714 = $713 & 255; + $715 = $$1$lcssa$8 + $714 | 0; + if (($715 | 0) > 256) { + $717 = HEAP32[$0 >> 2] | 0; + HEAP32[$717 + 20 >> 2] = 9; + FUNCTION_TABLE_vi[HEAP32[$717 >> 2] & 255]($$pre$phiZ2D); + } + if (!($713 << 24 >> 24)) $$1$lcssa$9 = $$1$lcssa$8; else { + _memset($4 + $$1$lcssa$8 | 0, 10, $714 | 0) | 0; + $$1$lcssa$9 = $715; + } + $722 = HEAP8[$15 + 11 >> 0] | 0; + $723 = $722 & 255; + $724 = $$1$lcssa$9 + $723 | 0; + if (($724 | 0) > 256) { + $726 = HEAP32[$0 >> 2] | 0; + HEAP32[$726 + 20 >> 2] = 9; + FUNCTION_TABLE_vi[HEAP32[$726 >> 2] & 255]($$pre$phiZ2D); + } + if (!($722 << 24 >> 24)) $$1$lcssa$10 = $$1$lcssa$9; else { + _memset($4 + $$1$lcssa$9 | 0, 11, $723 | 0) | 0; + $$1$lcssa$10 = $724; + } + $731 = HEAP8[$15 + 12 >> 0] | 0; + $732 = $731 & 255; + $733 = $$1$lcssa$10 + $732 | 0; + if (($733 | 0) > 256) { + $735 = HEAP32[$0 >> 2] | 0; + HEAP32[$735 + 20 >> 2] = 9; + FUNCTION_TABLE_vi[HEAP32[$735 >> 2] & 255]($$pre$phiZ2D); + } + if (!($731 << 24 >> 24)) $$1$lcssa$11 = $$1$lcssa$10; else { + _memset($4 + $$1$lcssa$10 | 0, 12, $732 | 0) | 0; + $$1$lcssa$11 = $733; + } + $740 = HEAP8[$15 + 13 >> 0] | 0; + $741 = $740 & 255; + $742 = $$1$lcssa$11 + $741 | 0; + if (($742 | 0) > 256) { + $744 = HEAP32[$0 >> 2] | 0; + HEAP32[$744 + 20 >> 2] = 9; + FUNCTION_TABLE_vi[HEAP32[$744 >> 2] & 255]($$pre$phiZ2D); + } + if (!($740 << 24 >> 24)) $$1$lcssa$12 = $$1$lcssa$11; else { + _memset($4 + $$1$lcssa$11 | 0, 13, $741 | 0) | 0; + $$1$lcssa$12 = $742; + } + $749 = HEAP8[$15 + 14 >> 0] | 0; + $750 = $749 & 255; + $751 = $$1$lcssa$12 + $750 | 0; + if (($751 | 0) > 256) { + $753 = HEAP32[$0 >> 2] | 0; + HEAP32[$753 + 20 >> 2] = 9; + FUNCTION_TABLE_vi[HEAP32[$753 >> 2] & 255]($$pre$phiZ2D); + } + if (!($749 << 24 >> 24)) $$1$lcssa$13 = $$1$lcssa$12; else { + _memset($4 + $$1$lcssa$12 | 0, 14, $750 | 0) | 0; + $$1$lcssa$13 = $751; + } + $758 = HEAP8[$15 + 15 >> 0] | 0; + $759 = $758 & 255; + $760 = $$1$lcssa$13 + $759 | 0; + if (($760 | 0) > 256) { + $762 = HEAP32[$0 >> 2] | 0; + HEAP32[$762 + 20 >> 2] = 9; + FUNCTION_TABLE_vi[HEAP32[$762 >> 2] & 255]($$pre$phiZ2D); + } + if (!($758 << 24 >> 24)) $$1$lcssa$14 = $$1$lcssa$13; else { + _memset($4 + $$1$lcssa$13 | 0, 15, $759 | 0) | 0; + $$1$lcssa$14 = $760; + } + $767 = HEAP8[$15 + 16 >> 0] | 0; + $768 = $767 & 255; + $769 = $$1$lcssa$14 + $768 | 0; + if (($769 | 0) > 256) { + $771 = HEAP32[$0 >> 2] | 0; + HEAP32[$771 + 20 >> 2] = 9; + FUNCTION_TABLE_vi[HEAP32[$771 >> 2] & 255]($$pre$phiZ2D); + } + if (!($767 << 24 >> 24)) $$1$lcssa$15 = $$1$lcssa$14; else { + _memset($4 + $$1$lcssa$14 | 0, 16, $768 | 0) | 0; + $$1$lcssa$15 = $769; + } + HEAP8[$4 + $$1$lcssa$15 >> 0] = 0; + $40 = HEAP8[$4 >> 0] | 0; + if ($40 << 24 >> 24) { + $$0122157 = 0; + $$0129155 = $40 << 24 >> 24; + $$2158 = 0; + $42 = $40; + while (1) { + if (($$0129155 | 0) == ($42 << 24 >> 24 | 0)) { + $$1123148 = $$0122157; + $$3149 = $$2158; + while (1) { + $44 = $$3149 + 1 | 0; + HEAP32[$5 + ($$3149 << 2) >> 2] = $$1123148; + $46 = $$1123148 + 1 | 0; + $48 = HEAP8[$4 + $44 >> 0] | 0; + if (($$0129155 | 0) == ($48 << 24 >> 24 | 0)) { + $$1123148 = $46; + $$3149 = $44; + } else { + $$1123$lcssa = $46; + $$3$lcssa = $44; + $59 = $48; + break; + } + } + } else { + $$1123$lcssa = $$0122157; + $$3$lcssa = $$2158; + $59 = $42; + } + if (($$1123$lcssa | 0) >= (1 << $$0129155 | 0)) { + $53 = HEAP32[$0 >> 2] | 0; + HEAP32[$53 + 20 >> 2] = 9; + FUNCTION_TABLE_vi[HEAP32[$53 >> 2] & 255]($$pre$phiZ2D); + } + if (!($59 << 24 >> 24)) break; else { + $$0122157 = $$1123$lcssa << 1; + $$0129155 = $$0129155 + 1 | 0; + $$2158 = $$3$lcssa; + $42 = $59; + } + } + } + $60 = $15 + 1 | 0; + if (!(HEAP8[$60 >> 0] | 0)) { + $$5 = 0; + $$sink = -1; + } else { + HEAP32[$29 + 76 >> 2] = 0 - (HEAP32[$5 >> 2] | 0); + $67 = HEAPU8[$60 >> 0] | 0; + $$5 = $67; + $$sink = HEAP32[$5 + ($67 + -1 << 2) >> 2] | 0; + } + HEAP32[$29 + 4 >> 2] = $$sink; + $72 = $15 + 2 | 0; + if (!(HEAP8[$72 >> 0] | 0)) { + $$5$1 = $$5; + $$sink$1 = -1; + } else { + HEAP32[$29 + 80 >> 2] = $$5 - (HEAP32[$5 + ($$5 << 2) >> 2] | 0); + $440 = $$5 + (HEAPU8[$72 >> 0] | 0) | 0; + $$5$1 = $440; + $$sink$1 = HEAP32[$5 + ($440 + -1 << 2) >> 2] | 0; + } + HEAP32[$29 + 8 >> 2] = $$sink$1; + $445 = $15 + 3 | 0; + if (!(HEAP8[$445 >> 0] | 0)) { + $$5$2 = $$5$1; + $$sink$2 = -1; + } else { + HEAP32[$29 + 84 >> 2] = $$5$1 - (HEAP32[$5 + ($$5$1 << 2) >> 2] | 0); + $454 = $$5$1 + (HEAPU8[$445 >> 0] | 0) | 0; + $$5$2 = $454; + $$sink$2 = HEAP32[$5 + ($454 + -1 << 2) >> 2] | 0; + } + HEAP32[$29 + 12 >> 2] = $$sink$2; + $459 = $15 + 4 | 0; + if (!(HEAP8[$459 >> 0] | 0)) { + $$5$3 = $$5$2; + $$sink$3 = -1; + } else { + HEAP32[$29 + 88 >> 2] = $$5$2 - (HEAP32[$5 + ($$5$2 << 2) >> 2] | 0); + $468 = $$5$2 + (HEAPU8[$459 >> 0] | 0) | 0; + $$5$3 = $468; + $$sink$3 = HEAP32[$5 + ($468 + -1 << 2) >> 2] | 0; + } + HEAP32[$29 + 16 >> 2] = $$sink$3; + $473 = $15 + 5 | 0; + if (!(HEAP8[$473 >> 0] | 0)) { + $$5$4 = $$5$3; + $$sink$4 = -1; + } else { + HEAP32[$29 + 92 >> 2] = $$5$3 - (HEAP32[$5 + ($$5$3 << 2) >> 2] | 0); + $482 = $$5$3 + (HEAPU8[$473 >> 0] | 0) | 0; + $$5$4 = $482; + $$sink$4 = HEAP32[$5 + ($482 + -1 << 2) >> 2] | 0; + } + HEAP32[$29 + 20 >> 2] = $$sink$4; + $487 = $15 + 6 | 0; + if (!(HEAP8[$487 >> 0] | 0)) { + $$5$5 = $$5$4; + $$sink$5 = -1; + } else { + HEAP32[$29 + 96 >> 2] = $$5$4 - (HEAP32[$5 + ($$5$4 << 2) >> 2] | 0); + $496 = $$5$4 + (HEAPU8[$487 >> 0] | 0) | 0; + $$5$5 = $496; + $$sink$5 = HEAP32[$5 + ($496 + -1 << 2) >> 2] | 0; + } + HEAP32[$29 + 24 >> 2] = $$sink$5; + $501 = $15 + 7 | 0; + if (!(HEAP8[$501 >> 0] | 0)) { + $$5$6 = $$5$5; + $$sink$6 = -1; + } else { + HEAP32[$29 + 100 >> 2] = $$5$5 - (HEAP32[$5 + ($$5$5 << 2) >> 2] | 0); + $510 = $$5$5 + (HEAPU8[$501 >> 0] | 0) | 0; + $$5$6 = $510; + $$sink$6 = HEAP32[$5 + ($510 + -1 << 2) >> 2] | 0; + } + HEAP32[$29 + 28 >> 2] = $$sink$6; + $515 = $15 + 8 | 0; + if (!(HEAP8[$515 >> 0] | 0)) { + $$5$7 = $$5$6; + $$sink$7 = -1; + } else { + HEAP32[$29 + 104 >> 2] = $$5$6 - (HEAP32[$5 + ($$5$6 << 2) >> 2] | 0); + $524 = $$5$6 + (HEAPU8[$515 >> 0] | 0) | 0; + $$5$7 = $524; + $$sink$7 = HEAP32[$5 + ($524 + -1 << 2) >> 2] | 0; + } + HEAP32[$29 + 32 >> 2] = $$sink$7; + $529 = $15 + 9 | 0; + if (!(HEAP8[$529 >> 0] | 0)) { + $$5$8 = $$5$7; + $$sink$8 = -1; + } else { + HEAP32[$29 + 108 >> 2] = $$5$7 - (HEAP32[$5 + ($$5$7 << 2) >> 2] | 0); + $538 = $$5$7 + (HEAPU8[$529 >> 0] | 0) | 0; + $$5$8 = $538; + $$sink$8 = HEAP32[$5 + ($538 + -1 << 2) >> 2] | 0; + } + HEAP32[$29 + 36 >> 2] = $$sink$8; + $543 = $15 + 10 | 0; + if (!(HEAP8[$543 >> 0] | 0)) { + $$5$9 = $$5$8; + $$sink$9 = -1; + } else { + HEAP32[$29 + 112 >> 2] = $$5$8 - (HEAP32[$5 + ($$5$8 << 2) >> 2] | 0); + $552 = $$5$8 + (HEAPU8[$543 >> 0] | 0) | 0; + $$5$9 = $552; + $$sink$9 = HEAP32[$5 + ($552 + -1 << 2) >> 2] | 0; + } + HEAP32[$29 + 40 >> 2] = $$sink$9; + $557 = $15 + 11 | 0; + if (!(HEAP8[$557 >> 0] | 0)) { + $$5$10 = $$5$9; + $$sink$10 = -1; + } else { + HEAP32[$29 + 116 >> 2] = $$5$9 - (HEAP32[$5 + ($$5$9 << 2) >> 2] | 0); + $566 = $$5$9 + (HEAPU8[$557 >> 0] | 0) | 0; + $$5$10 = $566; + $$sink$10 = HEAP32[$5 + ($566 + -1 << 2) >> 2] | 0; + } + HEAP32[$29 + 44 >> 2] = $$sink$10; + $571 = $15 + 12 | 0; + if (!(HEAP8[$571 >> 0] | 0)) { + $$5$11 = $$5$10; + $$sink$11 = -1; + } else { + HEAP32[$29 + 120 >> 2] = $$5$10 - (HEAP32[$5 + ($$5$10 << 2) >> 2] | 0); + $580 = $$5$10 + (HEAPU8[$571 >> 0] | 0) | 0; + $$5$11 = $580; + $$sink$11 = HEAP32[$5 + ($580 + -1 << 2) >> 2] | 0; + } + HEAP32[$29 + 48 >> 2] = $$sink$11; + $585 = $15 + 13 | 0; + if (!(HEAP8[$585 >> 0] | 0)) { + $$5$12 = $$5$11; + $$sink$12 = -1; + } else { + HEAP32[$29 + 124 >> 2] = $$5$11 - (HEAP32[$5 + ($$5$11 << 2) >> 2] | 0); + $594 = $$5$11 + (HEAPU8[$585 >> 0] | 0) | 0; + $$5$12 = $594; + $$sink$12 = HEAP32[$5 + ($594 + -1 << 2) >> 2] | 0; + } + HEAP32[$29 + 52 >> 2] = $$sink$12; + $599 = $15 + 14 | 0; + if (!(HEAP8[$599 >> 0] | 0)) { + $$5$13 = $$5$12; + $$sink$13 = -1; + } else { + HEAP32[$29 + 128 >> 2] = $$5$12 - (HEAP32[$5 + ($$5$12 << 2) >> 2] | 0); + $608 = $$5$12 + (HEAPU8[$599 >> 0] | 0) | 0; + $$5$13 = $608; + $$sink$13 = HEAP32[$5 + ($608 + -1 << 2) >> 2] | 0; + } + HEAP32[$29 + 56 >> 2] = $$sink$13; + $613 = $15 + 15 | 0; + if (!(HEAP8[$613 >> 0] | 0)) { + $$5$14 = $$5$13; + $$sink$14 = -1; + } else { + HEAP32[$29 + 132 >> 2] = $$5$13 - (HEAP32[$5 + ($$5$13 << 2) >> 2] | 0); + $622 = $$5$13 + (HEAPU8[$613 >> 0] | 0) | 0; + $$5$14 = $622; + $$sink$14 = HEAP32[$5 + ($622 + -1 << 2) >> 2] | 0; + } + HEAP32[$29 + 60 >> 2] = $$sink$14; + $627 = $15 + 16 | 0; + if (!(HEAP8[$627 >> 0] | 0)) $$sink$15 = -1; else { + HEAP32[$29 + 136 >> 2] = $$5$14 - (HEAP32[$5 + ($$5$14 << 2) >> 2] | 0); + $$sink$15 = HEAP32[$5 + ($$5$14 + (HEAPU8[$627 >> 0] | 0) + -1 << 2) >> 2] | 0; + } + HEAP32[$29 + 64 >> 2] = $$sink$15; + HEAP32[$29 + 68 >> 2] = 1048575; + _memset($29 + 144 | 0, 0, 1024) | 0; + $88 = $15 + 1 | 0; + if (!(HEAP8[$88 >> 0] | 0)) $$7$lcssa = 0; else { + $$1127137$us = 1; + $$7138$us = 0; + while (1) { + $78 = $15 + 17 + $$7138$us | 0; + $$0124135$us = 128; + $$0125134$us = HEAP32[$5 + ($$7138$us << 2) >> 2] << 7; + while (1) { + HEAP32[$29 + 144 + ($$0125134$us << 2) >> 2] = 1; + HEAP8[$29 + 1168 + $$0125134$us >> 0] = HEAP8[$78 >> 0] | 0; + if (($$0124135$us | 0) > 1) { + $$0124135$us = $$0124135$us + -1 | 0; + $$0125134$us = $$0125134$us + 1 | 0; + } else break; + } + $86 = $$7138$us + 1 | 0; + if ($$1127137$us >>> 0 < (HEAPU8[$88 >> 0] | 0) >>> 0) { + $$1127137$us = $$1127137$us + 1 | 0; + $$7138$us = $86; + } else { + $$7$lcssa = $86; + break; + } + } + } + $91 = $15 + 2 | 0; + if (!(HEAP8[$91 >> 0] | 0)) $$7$lcssa$1 = $$7$lcssa; else { + $$1127137$us$1 = 1; + $$7138$us$1 = $$7$lcssa; + while (1) { + $104 = $15 + 17 + $$7138$us$1 | 0; + $$0124135$us$1 = 64; + $$0125134$us$1 = HEAP32[$5 + ($$7138$us$1 << 2) >> 2] << 6; + while (1) { + HEAP32[$29 + 144 + ($$0125134$us$1 << 2) >> 2] = 2; + HEAP8[$29 + 1168 + $$0125134$us$1 >> 0] = HEAP8[$104 >> 0] | 0; + if (($$0124135$us$1 | 0) > 1) { + $$0124135$us$1 = $$0124135$us$1 + -1 | 0; + $$0125134$us$1 = $$0125134$us$1 + 1 | 0; + } else break; + } + $112 = $$7138$us$1 + 1 | 0; + if ($$1127137$us$1 >>> 0 < (HEAPU8[$91 >> 0] | 0) >>> 0) { + $$1127137$us$1 = $$1127137$us$1 + 1 | 0; + $$7138$us$1 = $112; + } else { + $$7$lcssa$1 = $112; + break; + } + } + } + $116 = $15 + 3 | 0; + if (!(HEAP8[$116 >> 0] | 0)) $$7$lcssa$2 = $$7$lcssa$1; else { + $$1127137$us$2 = 1; + $$7138$us$2 = $$7$lcssa$1; + while (1) { + $121 = HEAP32[$5 + ($$7138$us$2 << 2) >> 2] << 5; + $122 = $15 + 17 + $$7138$us$2 | 0; + HEAP32[$29 + 144 + ($121 << 2) >> 2] = 3; + HEAP8[$29 + 1168 + $121 >> 0] = HEAP8[$122 >> 0] | 0; + $126 = $121 | 1; + HEAP32[$29 + 144 + ($126 << 2) >> 2] = 3; + HEAP8[$29 + 1168 + $126 >> 0] = HEAP8[$122 >> 0] | 0; + $130 = $126 + 1 | 0; + HEAP32[$29 + 144 + ($130 << 2) >> 2] = 3; + HEAP8[$29 + 1168 + $130 >> 0] = HEAP8[$122 >> 0] | 0; + $134 = $121 | 3; + HEAP32[$29 + 144 + ($134 << 2) >> 2] = 3; + HEAP8[$29 + 1168 + $134 >> 0] = HEAP8[$122 >> 0] | 0; + $138 = $134 + 1 | 0; + HEAP32[$29 + 144 + ($138 << 2) >> 2] = 3; + HEAP8[$29 + 1168 + $138 >> 0] = HEAP8[$122 >> 0] | 0; + $142 = $134 + 2 | 0; + HEAP32[$29 + 144 + ($142 << 2) >> 2] = 3; + HEAP8[$29 + 1168 + $142 >> 0] = HEAP8[$122 >> 0] | 0; + $146 = $134 + 3 | 0; + HEAP32[$29 + 144 + ($146 << 2) >> 2] = 3; + HEAP8[$29 + 1168 + $146 >> 0] = HEAP8[$122 >> 0] | 0; + $150 = $121 | 7; + HEAP32[$29 + 144 + ($150 << 2) >> 2] = 3; + HEAP8[$29 + 1168 + $150 >> 0] = HEAP8[$122 >> 0] | 0; + $154 = $150 + 1 | 0; + HEAP32[$29 + 144 + ($154 << 2) >> 2] = 3; + HEAP8[$29 + 1168 + $154 >> 0] = HEAP8[$122 >> 0] | 0; + $158 = $150 + 2 | 0; + HEAP32[$29 + 144 + ($158 << 2) >> 2] = 3; + HEAP8[$29 + 1168 + $158 >> 0] = HEAP8[$122 >> 0] | 0; + $162 = $150 + 3 | 0; + HEAP32[$29 + 144 + ($162 << 2) >> 2] = 3; + HEAP8[$29 + 1168 + $162 >> 0] = HEAP8[$122 >> 0] | 0; + $166 = $150 + 4 | 0; + HEAP32[$29 + 144 + ($166 << 2) >> 2] = 3; + HEAP8[$29 + 1168 + $166 >> 0] = HEAP8[$122 >> 0] | 0; + $170 = $150 + 5 | 0; + HEAP32[$29 + 144 + ($170 << 2) >> 2] = 3; + HEAP8[$29 + 1168 + $170 >> 0] = HEAP8[$122 >> 0] | 0; + $174 = $150 + 6 | 0; + HEAP32[$29 + 144 + ($174 << 2) >> 2] = 3; + HEAP8[$29 + 1168 + $174 >> 0] = HEAP8[$122 >> 0] | 0; + $178 = $150 + 7 | 0; + HEAP32[$29 + 144 + ($178 << 2) >> 2] = 3; + HEAP8[$29 + 1168 + $178 >> 0] = HEAP8[$122 >> 0] | 0; + $182 = $121 | 15; + HEAP32[$29 + 144 + ($182 << 2) >> 2] = 3; + HEAP8[$29 + 1168 + $182 >> 0] = HEAP8[$122 >> 0] | 0; + $186 = $182 + 1 | 0; + HEAP32[$29 + 144 + ($186 << 2) >> 2] = 3; + HEAP8[$29 + 1168 + $186 >> 0] = HEAP8[$122 >> 0] | 0; + $190 = $182 + 2 | 0; + HEAP32[$29 + 144 + ($190 << 2) >> 2] = 3; + HEAP8[$29 + 1168 + $190 >> 0] = HEAP8[$122 >> 0] | 0; + $194 = $182 + 3 | 0; + HEAP32[$29 + 144 + ($194 << 2) >> 2] = 3; + HEAP8[$29 + 1168 + $194 >> 0] = HEAP8[$122 >> 0] | 0; + $198 = $182 + 4 | 0; + HEAP32[$29 + 144 + ($198 << 2) >> 2] = 3; + HEAP8[$29 + 1168 + $198 >> 0] = HEAP8[$122 >> 0] | 0; + $202 = $182 + 5 | 0; + HEAP32[$29 + 144 + ($202 << 2) >> 2] = 3; + HEAP8[$29 + 1168 + $202 >> 0] = HEAP8[$122 >> 0] | 0; + $206 = $182 + 6 | 0; + HEAP32[$29 + 144 + ($206 << 2) >> 2] = 3; + HEAP8[$29 + 1168 + $206 >> 0] = HEAP8[$122 >> 0] | 0; + $210 = $182 + 7 | 0; + HEAP32[$29 + 144 + ($210 << 2) >> 2] = 3; + HEAP8[$29 + 1168 + $210 >> 0] = HEAP8[$122 >> 0] | 0; + $214 = $182 + 8 | 0; + HEAP32[$29 + 144 + ($214 << 2) >> 2] = 3; + HEAP8[$29 + 1168 + $214 >> 0] = HEAP8[$122 >> 0] | 0; + $218 = $182 + 9 | 0; + HEAP32[$29 + 144 + ($218 << 2) >> 2] = 3; + HEAP8[$29 + 1168 + $218 >> 0] = HEAP8[$122 >> 0] | 0; + $222 = $182 + 10 | 0; + HEAP32[$29 + 144 + ($222 << 2) >> 2] = 3; + HEAP8[$29 + 1168 + $222 >> 0] = HEAP8[$122 >> 0] | 0; + $226 = $182 + 11 | 0; + HEAP32[$29 + 144 + ($226 << 2) >> 2] = 3; + HEAP8[$29 + 1168 + $226 >> 0] = HEAP8[$122 >> 0] | 0; + $230 = $182 + 12 | 0; + HEAP32[$29 + 144 + ($230 << 2) >> 2] = 3; + HEAP8[$29 + 1168 + $230 >> 0] = HEAP8[$122 >> 0] | 0; + $234 = $182 + 13 | 0; + HEAP32[$29 + 144 + ($234 << 2) >> 2] = 3; + HEAP8[$29 + 1168 + $234 >> 0] = HEAP8[$122 >> 0] | 0; + $238 = $182 + 14 | 0; + HEAP32[$29 + 144 + ($238 << 2) >> 2] = 3; + HEAP8[$29 + 1168 + $238 >> 0] = HEAP8[$122 >> 0] | 0; + $242 = $182 + 15 | 0; + HEAP32[$29 + 144 + ($242 << 2) >> 2] = 3; + HEAP8[$29 + 1168 + $242 >> 0] = HEAP8[$122 >> 0] | 0; + $246 = $121 | 31; + HEAP32[$29 + 144 + ($246 << 2) >> 2] = 3; + HEAP8[$29 + 1168 + $246 >> 0] = HEAP8[$122 >> 0] | 0; + $251 = $$7138$us$2 + 1 | 0; + if ($$1127137$us$2 >>> 0 < (HEAPU8[$116 >> 0] | 0) >>> 0) { + $$1127137$us$2 = $$1127137$us$2 + 1 | 0; + $$7138$us$2 = $251; + } else { + $$7$lcssa$2 = $251; + break; + } + } + } + $255 = $15 + 4 | 0; + if (!(HEAP8[$255 >> 0] | 0)) $$7$lcssa$3 = $$7$lcssa$2; else { + $$1127137$us$3 = 1; + $$7138$us$3 = $$7$lcssa$2; + while (1) { + $260 = HEAP32[$5 + ($$7138$us$3 << 2) >> 2] << 4; + $261 = $15 + 17 + $$7138$us$3 | 0; + HEAP32[$29 + 144 + ($260 << 2) >> 2] = 4; + HEAP8[$29 + 1168 + $260 >> 0] = HEAP8[$261 >> 0] | 0; + $265 = $260 | 1; + HEAP32[$29 + 144 + ($265 << 2) >> 2] = 4; + HEAP8[$29 + 1168 + $265 >> 0] = HEAP8[$261 >> 0] | 0; + $269 = $265 + 1 | 0; + HEAP32[$29 + 144 + ($269 << 2) >> 2] = 4; + HEAP8[$29 + 1168 + $269 >> 0] = HEAP8[$261 >> 0] | 0; + $273 = $260 | 3; + HEAP32[$29 + 144 + ($273 << 2) >> 2] = 4; + HEAP8[$29 + 1168 + $273 >> 0] = HEAP8[$261 >> 0] | 0; + $277 = $273 + 1 | 0; + HEAP32[$29 + 144 + ($277 << 2) >> 2] = 4; + HEAP8[$29 + 1168 + $277 >> 0] = HEAP8[$261 >> 0] | 0; + $281 = $273 + 2 | 0; + HEAP32[$29 + 144 + ($281 << 2) >> 2] = 4; + HEAP8[$29 + 1168 + $281 >> 0] = HEAP8[$261 >> 0] | 0; + $285 = $273 + 3 | 0; + HEAP32[$29 + 144 + ($285 << 2) >> 2] = 4; + HEAP8[$29 + 1168 + $285 >> 0] = HEAP8[$261 >> 0] | 0; + $289 = $260 | 7; + HEAP32[$29 + 144 + ($289 << 2) >> 2] = 4; + HEAP8[$29 + 1168 + $289 >> 0] = HEAP8[$261 >> 0] | 0; + $293 = $289 + 1 | 0; + HEAP32[$29 + 144 + ($293 << 2) >> 2] = 4; + HEAP8[$29 + 1168 + $293 >> 0] = HEAP8[$261 >> 0] | 0; + $297 = $289 + 2 | 0; + HEAP32[$29 + 144 + ($297 << 2) >> 2] = 4; + HEAP8[$29 + 1168 + $297 >> 0] = HEAP8[$261 >> 0] | 0; + $301 = $289 + 3 | 0; + HEAP32[$29 + 144 + ($301 << 2) >> 2] = 4; + HEAP8[$29 + 1168 + $301 >> 0] = HEAP8[$261 >> 0] | 0; + $305 = $289 + 4 | 0; + HEAP32[$29 + 144 + ($305 << 2) >> 2] = 4; + HEAP8[$29 + 1168 + $305 >> 0] = HEAP8[$261 >> 0] | 0; + $309 = $289 + 5 | 0; + HEAP32[$29 + 144 + ($309 << 2) >> 2] = 4; + HEAP8[$29 + 1168 + $309 >> 0] = HEAP8[$261 >> 0] | 0; + $313 = $289 + 6 | 0; + HEAP32[$29 + 144 + ($313 << 2) >> 2] = 4; + HEAP8[$29 + 1168 + $313 >> 0] = HEAP8[$261 >> 0] | 0; + $317 = $289 + 7 | 0; + HEAP32[$29 + 144 + ($317 << 2) >> 2] = 4; + HEAP8[$29 + 1168 + $317 >> 0] = HEAP8[$261 >> 0] | 0; + $321 = $260 | 15; + HEAP32[$29 + 144 + ($321 << 2) >> 2] = 4; + HEAP8[$29 + 1168 + $321 >> 0] = HEAP8[$261 >> 0] | 0; + $326 = $$7138$us$3 + 1 | 0; + if ($$1127137$us$3 >>> 0 < (HEAPU8[$255 >> 0] | 0) >>> 0) { + $$1127137$us$3 = $$1127137$us$3 + 1 | 0; + $$7138$us$3 = $326; + } else { + $$7$lcssa$3 = $326; + break; + } + } + } + $330 = $15 + 5 | 0; + if (!(HEAP8[$330 >> 0] | 0)) $$7$lcssa$4 = $$7$lcssa$3; else { + $$1127137$us$4 = 1; + $$7138$us$4 = $$7$lcssa$3; + while (1) { + $335 = HEAP32[$5 + ($$7138$us$4 << 2) >> 2] << 3; + $336 = $15 + 17 + $$7138$us$4 | 0; + HEAP32[$29 + 144 + ($335 << 2) >> 2] = 5; + HEAP8[$29 + 1168 + $335 >> 0] = HEAP8[$336 >> 0] | 0; + $340 = $335 | 1; + HEAP32[$29 + 144 + ($340 << 2) >> 2] = 5; + HEAP8[$29 + 1168 + $340 >> 0] = HEAP8[$336 >> 0] | 0; + $344 = $340 + 1 | 0; + HEAP32[$29 + 144 + ($344 << 2) >> 2] = 5; + HEAP8[$29 + 1168 + $344 >> 0] = HEAP8[$336 >> 0] | 0; + $348 = $335 | 3; + HEAP32[$29 + 144 + ($348 << 2) >> 2] = 5; + HEAP8[$29 + 1168 + $348 >> 0] = HEAP8[$336 >> 0] | 0; + $352 = $348 + 1 | 0; + HEAP32[$29 + 144 + ($352 << 2) >> 2] = 5; + HEAP8[$29 + 1168 + $352 >> 0] = HEAP8[$336 >> 0] | 0; + $356 = $348 + 2 | 0; + HEAP32[$29 + 144 + ($356 << 2) >> 2] = 5; + HEAP8[$29 + 1168 + $356 >> 0] = HEAP8[$336 >> 0] | 0; + $360 = $348 + 3 | 0; + HEAP32[$29 + 144 + ($360 << 2) >> 2] = 5; + HEAP8[$29 + 1168 + $360 >> 0] = HEAP8[$336 >> 0] | 0; + $364 = $335 | 7; + HEAP32[$29 + 144 + ($364 << 2) >> 2] = 5; + HEAP8[$29 + 1168 + $364 >> 0] = HEAP8[$336 >> 0] | 0; + $369 = $$7138$us$4 + 1 | 0; + if ($$1127137$us$4 >>> 0 < (HEAPU8[$330 >> 0] | 0) >>> 0) { + $$1127137$us$4 = $$1127137$us$4 + 1 | 0; + $$7138$us$4 = $369; + } else { + $$7$lcssa$4 = $369; + break; + } + } + } + $373 = $15 + 6 | 0; + if (!(HEAP8[$373 >> 0] | 0)) $$7$lcssa$5 = $$7$lcssa$4; else { + $$1127137$us$5 = 1; + $$7138$us$5 = $$7$lcssa$4; + while (1) { + $378 = HEAP32[$5 + ($$7138$us$5 << 2) >> 2] << 2; + $379 = $15 + 17 + $$7138$us$5 | 0; + HEAP32[$29 + 144 + ($378 << 2) >> 2] = 6; + HEAP8[$29 + 1168 + $378 >> 0] = HEAP8[$379 >> 0] | 0; + $383 = $378 | 1; + HEAP32[$29 + 144 + ($383 << 2) >> 2] = 6; + HEAP8[$29 + 1168 + $383 >> 0] = HEAP8[$379 >> 0] | 0; + $387 = $383 + 1 | 0; + HEAP32[$29 + 144 + ($387 << 2) >> 2] = 6; + HEAP8[$29 + 1168 + $387 >> 0] = HEAP8[$379 >> 0] | 0; + $391 = $378 | 3; + HEAP32[$29 + 144 + ($391 << 2) >> 2] = 6; + HEAP8[$29 + 1168 + $391 >> 0] = HEAP8[$379 >> 0] | 0; + $396 = $$7138$us$5 + 1 | 0; + if ($$1127137$us$5 >>> 0 < (HEAPU8[$373 >> 0] | 0) >>> 0) { + $$1127137$us$5 = $$1127137$us$5 + 1 | 0; + $$7138$us$5 = $396; + } else { + $$7$lcssa$5 = $396; + break; + } + } + } + $400 = $15 + 7 | 0; + if (!(HEAP8[$400 >> 0] | 0)) $$7$lcssa$6 = $$7$lcssa$5; else { + $$1127137$us$6 = 1; + $$7138$us$6 = $$7$lcssa$5; + while (1) { + $405 = HEAP32[$5 + ($$7138$us$6 << 2) >> 2] << 1; + $406 = $15 + 17 + $$7138$us$6 | 0; + HEAP32[$29 + 144 + ($405 << 2) >> 2] = 7; + HEAP8[$29 + 1168 + $405 >> 0] = HEAP8[$406 >> 0] | 0; + $410 = $405 | 1; + HEAP32[$29 + 144 + ($410 << 2) >> 2] = 7; + HEAP8[$29 + 1168 + $410 >> 0] = HEAP8[$406 >> 0] | 0; + $415 = $$7138$us$6 + 1 | 0; + if ($$1127137$us$6 >>> 0 < (HEAPU8[$400 >> 0] | 0) >>> 0) { + $$1127137$us$6 = $$1127137$us$6 + 1 | 0; + $$7138$us$6 = $415; + } else { + $$7$lcssa$6 = $415; + break; + } + } + } + $419 = $15 + 8 | 0; + if (HEAP8[$419 >> 0] | 0) { + $$1127137$us$7 = 1; + $$7138$us$7 = $$7$lcssa$6; + while (1) { + $423 = HEAP32[$5 + ($$7138$us$7 << 2) >> 2] | 0; + HEAP32[$29 + 144 + ($423 << 2) >> 2] = 8; + HEAP8[$29 + 1168 + $423 >> 0] = HEAP8[$15 + 17 + $$7138$us$7 >> 0] | 0; + if ($$1127137$us$7 >>> 0 < (HEAPU8[$419 >> 0] | 0) >>> 0) { + $$1127137$us$7 = $$1127137$us$7 + 1 | 0; + $$7138$us$7 = $$7138$us$7 + 1 | 0; + } else break; + } + } + if (!($12 & ($$1$lcssa$15 | 0) > 0)) { + STACKTOP = sp; + return; + } + $$2128133 = 0; + do { + if ((HEAPU8[$15 + 17 + $$2128133 >> 0] | 0) > 15) { + $97 = HEAP32[$0 >> 2] | 0; + HEAP32[$97 + 20 >> 2] = 9; + FUNCTION_TABLE_vi[HEAP32[$97 >> 2] & 255]($$pre$phiZ2D); + } + $$2128133 = $$2128133 + 1 | 0; + } while (($$2128133 | 0) != ($$1$lcssa$15 | 0)); + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E13parseFoldExprEv($0) { + $0 = $0 | 0; + var $$0 = 0, $$1 = 0, $$2 = 0, $$3 = 0, $$byval_copy30 = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $106 = 0, $11 = 0, $111 = 0, $112 = 0, $117 = 0, $12 = 0, $122 = 0, $123 = 0, $128 = 0, $13 = 0, $133 = 0, $134 = 0, $139 = 0, $14 = 0, $144 = 0, $145 = 0, $15 = 0, $150 = 0, $155 = 0, $156 = 0, $16 = 0, $161 = 0, $166 = 0, $167 = 0, $17 = 0, $172 = 0, $177 = 0, $178 = 0, $18 = 0, $183 = 0, $188 = 0, $189 = 0, $19 = 0, $194 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $205 = 0, $21 = 0, $210 = 0, $211 = 0, $216 = 0, $22 = 0, $221 = 0, $222 = 0, $227 = 0, $23 = 0, $232 = 0, $233 = 0, $238 = 0, $24 = 0, $243 = 0, $244 = 0, $249 = 0, $25 = 0, $254 = 0, $255 = 0, $26 = 0, $260 = 0, $265 = 0, $266 = 0, $27 = 0, $271 = 0, $276 = 0, $277 = 0, $28 = 0, $282 = 0, $287 = 0, $288 = 0, $29 = 0, $293 = 0, $298 = 0, $299 = 0, $3 = 0, $30 = 0, $304 = 0, $309 = 0, $31 = 0, $310 = 0, $315 = 0, $32 = 0, $320 = 0, $321 = 0, $326 = 0, $33 = 0, $331 = 0, $332 = 0, $337 = 0, $34 = 0, $342 = 0, $343 = 0, $348 = 0, $353 = 0, $354 = 0, $359 = 0, $36 = 0, $364 = 0, $365 = 0, $370 = 0, $375 = 0, $376 = 0, $380 = 0, $381 = 0, $383 = 0, $384 = 0, $4 = 0, $40 = 0, $45 = 0, $46 = 0, $5 = 0, $51 = 0, $56 = 0, $57 = 0, $6 = 0, $62 = 0, $67 = 0, $68 = 0, $7 = 0, $73 = 0, $78 = 0, $79 = 0, $8 = 0, $84 = 0, $89 = 0, $9 = 0, $90 = 0, $95 = 0, $storemerge = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 288 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(288); + $$byval_copy30 = sp + 8 | 0; + $1 = sp + 272 | 0; + $2 = sp; + $3 = sp + 264 | 0; + $4 = sp + 256 | 0; + $5 = sp + 248 | 0; + $6 = sp + 240 | 0; + $7 = sp + 232 | 0; + $8 = sp + 224 | 0; + $9 = sp + 216 | 0; + $10 = sp + 208 | 0; + $11 = sp + 200 | 0; + $12 = sp + 192 | 0; + $13 = sp + 184 | 0; + $14 = sp + 176 | 0; + $15 = sp + 168 | 0; + $16 = sp + 160 | 0; + $17 = sp + 152 | 0; + $18 = sp + 144 | 0; + $19 = sp + 136 | 0; + $20 = sp + 128 | 0; + $21 = sp + 120 | 0; + $22 = sp + 112 | 0; + $23 = sp + 104 | 0; + $24 = sp + 96 | 0; + $25 = sp + 88 | 0; + $26 = sp + 80 | 0; + $27 = sp + 72 | 0; + $28 = sp + 64 | 0; + $29 = sp + 56 | 0; + $30 = sp + 48 | 0; + $31 = sp + 40 | 0; + $32 = sp + 32 | 0; + $33 = sp + 24 | 0; + $34 = sp + 16 | 0; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 102) | 0) { + $36 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 0) | 0; + switch ($36 << 24 >> 24) { + case 76: + case 108: + { + $storemerge = 1; + label = 4; + break; + } + case 82: + case 114: + { + $storemerge = 0; + label = 4; + break; + } + default: + $$2 = 0; + } + if ((label | 0) == 4) { + HEAP8[$1 >> 0] = $storemerge; + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + __ZN12_GLOBAL__N_110StringViewC2Ev($2); + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, 54764); + HEAP32[$$byval_copy30 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy30 + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + do if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy30) | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($$byval_copy30, 51972); + $40 = $$byval_copy30; + $45 = HEAP32[$40 + 4 >> 2] | 0; + $46 = $2; + HEAP32[$46 >> 2] = HEAP32[$40 >> 2]; + HEAP32[$46 + 4 >> 2] = $45; + label = 66; + } else { + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, 54767); + HEAP32[$$byval_copy30 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy30 + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy30) | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($$byval_copy30, 51970); + $51 = $$byval_copy30; + $56 = HEAP32[$51 + 4 >> 2] | 0; + $57 = $2; + HEAP32[$57 >> 2] = HEAP32[$51 >> 2]; + HEAP32[$57 + 4 >> 2] = $56; + label = 66; + break; + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($5, 54770); + HEAP32[$$byval_copy30 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$$byval_copy30 + 4 >> 2] = HEAP32[$5 + 4 >> 2]; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy30) | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($$byval_copy30, 52668); + $62 = $$byval_copy30; + $67 = HEAP32[$62 + 4 >> 2] | 0; + $68 = $2; + HEAP32[$68 >> 2] = HEAP32[$62 >> 2]; + HEAP32[$68 + 4 >> 2] = $67; + label = 66; + break; + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($6, 54773); + HEAP32[$$byval_copy30 >> 2] = HEAP32[$6 >> 2]; + HEAP32[$$byval_copy30 + 4 >> 2] = HEAP32[$6 + 4 >> 2]; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy30) | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($$byval_copy30, 52671); + $73 = $$byval_copy30; + $78 = HEAP32[$73 + 4 >> 2] | 0; + $79 = $2; + HEAP32[$79 >> 2] = HEAP32[$73 >> 2]; + HEAP32[$79 + 4 >> 2] = $78; + label = 66; + break; + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($7, 54776); + HEAP32[$$byval_copy30 >> 2] = HEAP32[$7 >> 2]; + HEAP32[$$byval_copy30 + 4 >> 2] = HEAP32[$7 + 4 >> 2]; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy30) | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($$byval_copy30, 52683); + $84 = $$byval_copy30; + $89 = HEAP32[$84 + 4 >> 2] | 0; + $90 = $2; + HEAP32[$90 >> 2] = HEAP32[$84 >> 2]; + HEAP32[$90 + 4 >> 2] = $89; + label = 66; + break; + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($8, 54779); + HEAP32[$$byval_copy30 >> 2] = HEAP32[$8 >> 2]; + HEAP32[$$byval_copy30 + 4 >> 2] = HEAP32[$8 + 4 >> 2]; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy30) | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($$byval_copy30, 52687); + $95 = $$byval_copy30; + $100 = HEAP32[$95 + 4 >> 2] | 0; + $101 = $2; + HEAP32[$101 >> 2] = HEAP32[$95 >> 2]; + HEAP32[$101 + 4 >> 2] = $100; + label = 66; + break; + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($9, 54782); + HEAP32[$$byval_copy30 >> 2] = HEAP32[$9 >> 2]; + HEAP32[$$byval_copy30 + 4 >> 2] = HEAP32[$9 + 4 >> 2]; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy30) | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($$byval_copy30, 52690); + $106 = $$byval_copy30; + $111 = HEAP32[$106 + 4 >> 2] | 0; + $112 = $2; + HEAP32[$112 >> 2] = HEAP32[$106 >> 2]; + HEAP32[$112 + 4 >> 2] = $111; + label = 66; + break; + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($10, 54785); + HEAP32[$$byval_copy30 >> 2] = HEAP32[$10 >> 2]; + HEAP32[$$byval_copy30 + 4 >> 2] = HEAP32[$10 + 4 >> 2]; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy30) | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($$byval_copy30, 52692); + $117 = $$byval_copy30; + $122 = HEAP32[$117 + 4 >> 2] | 0; + $123 = $2; + HEAP32[$123 >> 2] = HEAP32[$117 >> 2]; + HEAP32[$123 + 4 >> 2] = $122; + label = 66; + break; + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($11, 54788); + HEAP32[$$byval_copy30 >> 2] = HEAP32[$11 >> 2]; + HEAP32[$$byval_copy30 + 4 >> 2] = HEAP32[$11 + 4 >> 2]; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy30) | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($$byval_copy30, 52695); + $128 = $$byval_copy30; + $133 = HEAP32[$128 + 4 >> 2] | 0; + $134 = $2; + HEAP32[$134 >> 2] = HEAP32[$128 >> 2]; + HEAP32[$134 + 4 >> 2] = $133; + label = 66; + break; + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($12, 54791); + HEAP32[$$byval_copy30 >> 2] = HEAP32[$12 >> 2]; + HEAP32[$$byval_copy30 + 4 >> 2] = HEAP32[$12 + 4 >> 2]; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy30) | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($$byval_copy30, 52697); + $139 = $$byval_copy30; + $144 = HEAP32[$139 + 4 >> 2] | 0; + $145 = $2; + HEAP32[$145 >> 2] = HEAP32[$139 >> 2]; + HEAP32[$145 + 4 >> 2] = $144; + label = 66; + break; + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($13, 54794); + HEAP32[$$byval_copy30 >> 2] = HEAP32[$13 >> 2]; + HEAP32[$$byval_copy30 + 4 >> 2] = HEAP32[$13 + 4 >> 2]; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy30) | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($$byval_copy30, 52700); + $150 = $$byval_copy30; + $155 = HEAP32[$150 + 4 >> 2] | 0; + $156 = $2; + HEAP32[$156 >> 2] = HEAP32[$150 >> 2]; + HEAP32[$156 + 4 >> 2] = $155; + label = 66; + break; + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($14, 54797); + HEAP32[$$byval_copy30 >> 2] = HEAP32[$14 >> 2]; + HEAP32[$$byval_copy30 + 4 >> 2] = HEAP32[$14 + 4 >> 2]; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy30) | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($$byval_copy30, 52703); + $161 = $$byval_copy30; + $166 = HEAP32[$161 + 4 >> 2] | 0; + $167 = $2; + HEAP32[$167 >> 2] = HEAP32[$161 >> 2]; + HEAP32[$167 + 4 >> 2] = $166; + label = 66; + break; + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($15, 54800); + HEAP32[$$byval_copy30 >> 2] = HEAP32[$15 >> 2]; + HEAP32[$$byval_copy30 + 4 >> 2] = HEAP32[$15 + 4 >> 2]; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy30) | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($$byval_copy30, 52043); + $172 = $$byval_copy30; + $177 = HEAP32[$172 + 4 >> 2] | 0; + $178 = $2; + HEAP32[$178 >> 2] = HEAP32[$172 >> 2]; + HEAP32[$178 + 4 >> 2] = $177; + label = 66; + break; + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($16, 54803); + HEAP32[$$byval_copy30 >> 2] = HEAP32[$16 >> 2]; + HEAP32[$$byval_copy30 + 4 >> 2] = HEAP32[$16 + 4 >> 2]; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy30) | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($$byval_copy30, 52706); + $183 = $$byval_copy30; + $188 = HEAP32[$183 + 4 >> 2] | 0; + $189 = $2; + HEAP32[$189 >> 2] = HEAP32[$183 >> 2]; + HEAP32[$189 + 4 >> 2] = $188; + label = 66; + break; + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($17, 54806); + HEAP32[$$byval_copy30 >> 2] = HEAP32[$17 >> 2]; + HEAP32[$$byval_copy30 + 4 >> 2] = HEAP32[$17 + 4 >> 2]; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy30) | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($$byval_copy30, 52709); + $194 = $$byval_copy30; + $199 = HEAP32[$194 + 4 >> 2] | 0; + $200 = $2; + HEAP32[$200 >> 2] = HEAP32[$194 >> 2]; + HEAP32[$200 + 4 >> 2] = $199; + label = 66; + break; + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($18, 54809); + HEAP32[$$byval_copy30 >> 2] = HEAP32[$18 >> 2]; + HEAP32[$$byval_copy30 + 4 >> 2] = HEAP32[$18 + 4 >> 2]; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy30) | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($$byval_copy30, 52712); + $205 = $$byval_copy30; + $210 = HEAP32[$205 + 4 >> 2] | 0; + $211 = $2; + HEAP32[$211 >> 2] = HEAP32[$205 >> 2]; + HEAP32[$211 + 4 >> 2] = $210; + label = 66; + break; + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($19, 54812); + HEAP32[$$byval_copy30 >> 2] = HEAP32[$19 >> 2]; + HEAP32[$$byval_copy30 + 4 >> 2] = HEAP32[$19 + 4 >> 2]; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy30) | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($$byval_copy30, 52150); + $216 = $$byval_copy30; + $221 = HEAP32[$216 + 4 >> 2] | 0; + $222 = $2; + HEAP32[$222 >> 2] = HEAP32[$216 >> 2]; + HEAP32[$222 + 4 >> 2] = $221; + label = 66; + break; + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($20, 54815); + HEAP32[$$byval_copy30 >> 2] = HEAP32[$20 >> 2]; + HEAP32[$$byval_copy30 + 4 >> 2] = HEAP32[$20 + 4 >> 2]; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy30) | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($$byval_copy30, 52555); + $227 = $$byval_copy30; + $232 = HEAP32[$227 + 4 >> 2] | 0; + $233 = $2; + HEAP32[$233 >> 2] = HEAP32[$227 >> 2]; + HEAP32[$233 + 4 >> 2] = $232; + label = 66; + break; + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($21, 54818); + HEAP32[$$byval_copy30 >> 2] = HEAP32[$21 >> 2]; + HEAP32[$$byval_copy30 + 4 >> 2] = HEAP32[$21 + 4 >> 2]; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy30) | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($$byval_copy30, 52716); + $238 = $$byval_copy30; + $243 = HEAP32[$238 + 4 >> 2] | 0; + $244 = $2; + HEAP32[$244 >> 2] = HEAP32[$238 >> 2]; + HEAP32[$244 + 4 >> 2] = $243; + label = 66; + break; + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($22, 54821); + HEAP32[$$byval_copy30 >> 2] = HEAP32[$22 >> 2]; + HEAP32[$$byval_copy30 + 4 >> 2] = HEAP32[$22 + 4 >> 2]; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy30) | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($$byval_copy30, 52037); + $249 = $$byval_copy30; + $254 = HEAP32[$249 + 4 >> 2] | 0; + $255 = $2; + HEAP32[$255 >> 2] = HEAP32[$249 >> 2]; + HEAP32[$255 + 4 >> 2] = $254; + label = 66; + break; + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($23, 54824); + HEAP32[$$byval_copy30 >> 2] = HEAP32[$23 >> 2]; + HEAP32[$$byval_copy30 + 4 >> 2] = HEAP32[$23 + 4 >> 2]; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy30) | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($$byval_copy30, 52719); + $260 = $$byval_copy30; + $265 = HEAP32[$260 + 4 >> 2] | 0; + $266 = $2; + HEAP32[$266 >> 2] = HEAP32[$260 >> 2]; + HEAP32[$266 + 4 >> 2] = $265; + label = 66; + break; + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($24, 54827); + HEAP32[$$byval_copy30 >> 2] = HEAP32[$24 >> 2]; + HEAP32[$$byval_copy30 + 4 >> 2] = HEAP32[$24 + 4 >> 2]; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy30) | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($$byval_copy30, 52725); + $271 = $$byval_copy30; + $276 = HEAP32[$271 + 4 >> 2] | 0; + $277 = $2; + HEAP32[$277 >> 2] = HEAP32[$271 >> 2]; + HEAP32[$277 + 4 >> 2] = $276; + label = 66; + break; + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($25, 54830); + HEAP32[$$byval_copy30 >> 2] = HEAP32[$25 >> 2]; + HEAP32[$$byval_copy30 + 4 >> 2] = HEAP32[$25 + 4 >> 2]; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy30) | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($$byval_copy30, 52730); + $282 = $$byval_copy30; + $287 = HEAP32[$282 + 4 >> 2] | 0; + $288 = $2; + HEAP32[$288 >> 2] = HEAP32[$282 >> 2]; + HEAP32[$288 + 4 >> 2] = $287; + label = 66; + break; + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($26, 54833); + HEAP32[$$byval_copy30 >> 2] = HEAP32[$26 >> 2]; + HEAP32[$$byval_copy30 + 4 >> 2] = HEAP32[$26 + 4 >> 2]; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy30) | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($$byval_copy30, 52733); + $293 = $$byval_copy30; + $298 = HEAP32[$293 + 4 >> 2] | 0; + $299 = $2; + HEAP32[$299 >> 2] = HEAP32[$293 >> 2]; + HEAP32[$299 + 4 >> 2] = $298; + label = 66; + break; + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($27, 54836); + HEAP32[$$byval_copy30 >> 2] = HEAP32[$27 >> 2]; + HEAP32[$$byval_copy30 + 4 >> 2] = HEAP32[$27 + 4 >> 2]; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy30) | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($$byval_copy30, 52735); + $304 = $$byval_copy30; + $309 = HEAP32[$304 + 4 >> 2] | 0; + $310 = $2; + HEAP32[$310 >> 2] = HEAP32[$304 >> 2]; + HEAP32[$310 + 4 >> 2] = $309; + label = 66; + break; + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($28, 54839); + HEAP32[$$byval_copy30 >> 2] = HEAP32[$28 >> 2]; + HEAP32[$$byval_copy30 + 4 >> 2] = HEAP32[$28 + 4 >> 2]; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy30) | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($$byval_copy30, 52742); + $315 = $$byval_copy30; + $320 = HEAP32[$315 + 4 >> 2] | 0; + $321 = $2; + HEAP32[$321 >> 2] = HEAP32[$315 >> 2]; + HEAP32[$321 + 4 >> 2] = $320; + label = 66; + break; + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($29, 54842); + HEAP32[$$byval_copy30 >> 2] = HEAP32[$29 >> 2]; + HEAP32[$$byval_copy30 + 4 >> 2] = HEAP32[$29 + 4 >> 2]; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy30) | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($$byval_copy30, 52744); + $326 = $$byval_copy30; + $331 = HEAP32[$326 + 4 >> 2] | 0; + $332 = $2; + HEAP32[$332 >> 2] = HEAP32[$326 >> 2]; + HEAP32[$332 + 4 >> 2] = $331; + label = 66; + break; + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($30, 54845); + HEAP32[$$byval_copy30 >> 2] = HEAP32[$30 >> 2]; + HEAP32[$$byval_copy30 + 4 >> 2] = HEAP32[$30 + 4 >> 2]; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy30) | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($$byval_copy30, 52753); + $337 = $$byval_copy30; + $342 = HEAP32[$337 + 4 >> 2] | 0; + $343 = $2; + HEAP32[$343 >> 2] = HEAP32[$337 >> 2]; + HEAP32[$343 + 4 >> 2] = $342; + label = 66; + break; + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($31, 54848); + HEAP32[$$byval_copy30 >> 2] = HEAP32[$31 >> 2]; + HEAP32[$$byval_copy30 + 4 >> 2] = HEAP32[$31 + 4 >> 2]; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy30) | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($$byval_copy30, 52755); + $348 = $$byval_copy30; + $353 = HEAP32[$348 + 4 >> 2] | 0; + $354 = $2; + HEAP32[$354 >> 2] = HEAP32[$348 >> 2]; + HEAP32[$354 + 4 >> 2] = $353; + label = 66; + break; + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($32, 54851); + HEAP32[$$byval_copy30 >> 2] = HEAP32[$32 >> 2]; + HEAP32[$$byval_copy30 + 4 >> 2] = HEAP32[$32 + 4 >> 2]; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy30) | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($$byval_copy30, 52758); + $359 = $$byval_copy30; + $364 = HEAP32[$359 + 4 >> 2] | 0; + $365 = $2; + HEAP32[$365 >> 2] = HEAP32[$359 >> 2]; + HEAP32[$365 + 4 >> 2] = $364; + label = 66; + break; + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($33, 54854); + HEAP32[$$byval_copy30 >> 2] = HEAP32[$33 >> 2]; + HEAP32[$$byval_copy30 + 4 >> 2] = HEAP32[$33 + 4 >> 2]; + if (!(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy30) | 0)) { + $$1 = 0; + break; + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($$byval_copy30, 52761); + $370 = $$byval_copy30; + $375 = HEAP32[$370 + 4 >> 2] | 0; + $376 = $2; + HEAP32[$376 >> 2] = HEAP32[$370 >> 2]; + HEAP32[$376 + 4 >> 2] = $375; + label = 66; + } while (0); + if ((label | 0) == 66) { + $380 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + $381 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv($380) | 0; + HEAP32[$$byval_copy30 >> 2] = $381; + HEAP32[$34 >> 2] = 0; + $383 = $381; + L100 : do if (!$381) $$0 = 0; else { + switch ($36 << 24 >> 24) { + case 76: + case 82: + { + $384 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv($380) | 0; + HEAP32[$34 >> 2] = $384; + if (!$384) { + $$0 = 0; + break L100; + } + if ($storemerge << 24 >> 24) { + HEAP32[$$byval_copy30 >> 2] = $384; + HEAP32[$34 >> 2] = $383; + } + break; + } + default: + {} + } + $$0 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8FoldExprEJRbRNS_10StringViewERPNS0_4NodeESD_EEESC_DpOT0_($0, $1, $2, $$byval_copy30, $34) | 0; + } while (0); + $$1 = $$0; + } + $$2 = $$1; + } + $$3 = $$2; + } else $$3 = 0; + STACKTOP = sp; + return $$3 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseTypeEv($0) { + $0 = $0 | 0; + var $$033 = 0, $$10 = 0, $$131 = 0, $$942$ph = 0, $1 = 0, $117 = 0, $119 = 0, $123 = 0, $125 = 0, $127 = 0, $129 = 0, $131 = 0, $133 = 0, $136 = 0, $137 = 0, $138 = 0, $145 = 0, $147 = 0, $151 = 0, $153 = 0, $157 = 0, $159 = 0, $163 = 0, $165 = 0, $169 = 0, $17 = 0, $171 = 0, $175 = 0, $177 = 0, $179 = 0, $180 = 0, $187 = 0, $189 = 0, $19 = 0, $191 = 0, $193 = 0, $2 = 0, $3 = 0, $4 = 0, $6 = 0, $8 = 0, $spec$select = 0, $spec$select43 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $1 = sp + 16 | 0; + $2 = sp + 8 | 0; + $3 = sp; + HEAP32[$1 >> 2] = 0; + $4 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 0) | 0; + L1 : do switch ($4 << 24 >> 24 | 0) { + case 75: + case 86: + case 114: + { + $6 = $4 << 24 >> 24 == 114; + $spec$select = $6 & 1; + $8 = (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, $spec$select) | 0) << 24 >> 24 == 86; + $$131 = $8 ? ($6 ? 2 : 1) : $spec$select; + $spec$select43 = $$131 + ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, $$131) | 0) << 24 >> 24 == 75 & 1) | 0; + switch ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, $spec$select43) | 0) << 24 >> 24) { + case 70: + break; + case 68: + { + switch ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, $spec$select43 + 1 | 0) | 0) << 24 >> 24) { + case 120: + case 119: + case 79: + case 111: + break; + default: + { + label = 5; + break L1; + } + } + break; + } + default: + { + label = 5; + break L1; + } + } + $17 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E17parseFunctionTypeEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$1 >> 2] = $17; + $193 = $17; + label = 81; + break; + } + case 85: + { + label = 5; + break; + } + case 118: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $$10 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA5_KcEEEPNS0_4NodeEDpOT0_($0, 57068) | 0; + break; + } + case 119: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $$10 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA8_KcEEEPNS0_4NodeEDpOT0_($0) | 0; + break; + } + case 98: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $$10 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA5_KcEEEPNS0_4NodeEDpOT0_($0, 57073) | 0; + break; + } + case 99: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $$10 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA5_KcEEEPNS0_4NodeEDpOT0_($0, 57078) | 0; + break; + } + case 97: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $$10 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA12_KcEEEPNS0_4NodeEDpOT0_($0, 57083) | 0; + break; + } + case 104: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $$10 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA14_KcEEEPNS0_4NodeEDpOT0_($0, 57095) | 0; + break; + } + case 115: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $$10 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA6_KcEEEPNS0_4NodeEDpOT0_($0, 57109) | 0; + break; + } + case 116: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $$10 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA15_KcEEEPNS0_4NodeEDpOT0_($0, 57115) | 0; + break; + } + case 105: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $$10 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA4_KcEEEPNS0_4NodeEDpOT0_($0, 57130) | 0; + break; + } + case 106: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $$10 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA13_KcEEEPNS0_4NodeEDpOT0_($0, 57134) | 0; + break; + } + case 108: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $$10 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA5_KcEEEPNS0_4NodeEDpOT0_($0, 57147) | 0; + break; + } + case 109: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $$10 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA14_KcEEEPNS0_4NodeEDpOT0_($0, 57152) | 0; + break; + } + case 120: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $$10 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA10_KcEEEPNS0_4NodeEDpOT0_($0, 51450) | 0; + break; + } + case 121: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $$10 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA19_KcEEEPNS0_4NodeEDpOT0_($0) | 0; + break; + } + case 110: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $$10 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA9_KcEEEPNS0_4NodeEDpOT0_($0, 51460) | 0; + break; + } + case 111: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $$10 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA18_KcEEEPNS0_4NodeEDpOT0_($0, 51469) | 0; + break; + } + case 102: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $$10 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA6_KcEEEPNS0_4NodeEDpOT0_($0, 57166) | 0; + break; + } + case 100: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $$10 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA7_KcEEEPNS0_4NodeEDpOT0_($0) | 0; + break; + } + case 101: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $$10 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA12_KcEEEPNS0_4NodeEDpOT0_($0, 51487) | 0; + break; + } + case 103: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $$10 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA11_KcEEEPNS0_4NodeEDpOT0_($0, 51499) | 0; + break; + } + case 122: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $$10 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA4_KcEEEPNS0_4NodeEDpOT0_($0, 51510) | 0; + break; + } + case 117: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E19parseBareSourceNameEv($2, $0); + if (__ZNK12_GLOBAL__N_110StringView5emptyEv($2) | 0) $$033 = 0; else $$033 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRNS_10StringViewEEEEPNS0_4NodeEDpOT0_($0, $2) | 0; + $$10 = $$033; + break; + } + case 68: + { + do switch ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 1) | 0) << 24 >> 24 | 0) { + case 100: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$10 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA10_KcEEEPNS0_4NodeEDpOT0_($0, 51514) | 0; + break L1; + break; + } + case 101: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$10 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA11_KcEEEPNS0_4NodeEDpOT0_($0, 51524) | 0; + break L1; + break; + } + case 102: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$10 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA10_KcEEEPNS0_4NodeEDpOT0_($0, 51535) | 0; + break L1; + break; + } + case 104: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$10 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA10_KcEEEPNS0_4NodeEDpOT0_($0, 51545) | 0; + break L1; + break; + } + case 105: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$10 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA9_KcEEEPNS0_4NodeEDpOT0_($0, 51555) | 0; + break L1; + break; + } + case 115: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$10 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA9_KcEEEPNS0_4NodeEDpOT0_($0, 51564) | 0; + break L1; + break; + } + case 97: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$10 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA5_KcEEEPNS0_4NodeEDpOT0_($0, 51573) | 0; + break L1; + break; + } + case 99: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$10 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA15_KcEEEPNS0_4NodeEDpOT0_($0, 51578) | 0; + break L1; + break; + } + case 110: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$10 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA15_KcEEEPNS0_4NodeEDpOT0_($0, 51593) | 0; + break L1; + break; + } + case 84: + case 116: + { + $117 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E13parseDecltypeEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$1 >> 2] = $117; + $193 = $117; + label = 81; + break L1; + break; + } + case 118: + { + $119 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseVectorTypeEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$1 >> 2] = $119; + $193 = $119; + label = 81; + break L1; + break; + } + case 112: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $123 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseTypeEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$2 >> 2] = $123; + if (!$123) { + $$10 = 0; + break L1; + } else { + $125 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_22ParameterPackExpansionEJRPNS0_4NodeEEEES9_DpOT0_($0, $2) | 0; + HEAP32[$1 >> 2] = $125; + label = 82; + break L1; + } + break; + } + case 120: + case 119: + case 79: + case 111: + { + $127 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E17parseFunctionTypeEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$1 >> 2] = $127; + $193 = $127; + label = 81; + break L1; + break; + } + default: + { + $$10 = 0; + break L1; + } + } while (0); + break; + } + case 70: + { + $129 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E17parseFunctionTypeEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$1 >> 2] = $129; + $193 = $129; + label = 81; + break; + } + case 65: + { + $131 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E14parseArrayTypeEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$1 >> 2] = $131; + $193 = $131; + label = 81; + break; + } + case 77: + { + $133 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E24parsePointerToMemberTypeEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$1 >> 2] = $133; + $193 = $133; + label = 81; + break; + } + case 84: + { + switch ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 1) | 0) << 24 >> 24) { + case 101: + case 117: + case 115: + { + $136 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E18parseClassEnumTypeEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$1 >> 2] = $136; + $193 = $136; + label = 81; + break L1; + break; + } + default: + {} + } + $137 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + $138 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E18parseTemplateParamEv($137) | 0; + HEAP32[$1 >> 2] = $138; + if ($138) if ((HEAP8[$0 + 360 >> 0] | 0) != 0 ? (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 0) | 0) << 24 >> 24 == 73 : 0) { + $145 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E17parseTemplateArgsEb($137, 0) | 0; + HEAP32[$2 >> 2] = $145; + if (!$145) { + $$10 = 0; + break L1; + } else { + $147 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_20NameWithTemplateArgsEJRPNS0_4NodeESA_EEES9_DpOT0_($0, $1, $2) | 0; + HEAP32[$1 >> 2] = $147; + label = 82; + break L1; + } + } else label = 82; else $$10 = 0; + break; + } + case 80: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $151 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseTypeEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$2 >> 2] = $151; + if (!$151) { + $$10 = 0; + break L1; + } else { + $153 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_11PointerTypeEJRPNS0_4NodeEEEES9_DpOT0_($0, $2) | 0; + HEAP32[$1 >> 2] = $153; + label = 82; + break L1; + } + break; + } + case 82: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $157 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseTypeEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$2 >> 2] = $157; + if (!$157) { + $$10 = 0; + break L1; + } else { + HEAP32[$3 >> 2] = 0; + $159 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_13ReferenceTypeEJRPNS0_4NodeENS0_13ReferenceKindEEEES9_DpOT0_($0, $2, $3) | 0; + HEAP32[$1 >> 2] = $159; + label = 82; + break L1; + } + break; + } + case 79: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $163 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseTypeEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$2 >> 2] = $163; + if (!$163) { + $$10 = 0; + break L1; + } else { + HEAP32[$3 >> 2] = 1; + $165 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_13ReferenceTypeEJRPNS0_4NodeENS0_13ReferenceKindEEEES9_DpOT0_($0, $2, $3) | 0; + HEAP32[$1 >> 2] = $165; + label = 82; + break L1; + } + break; + } + case 67: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $169 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseTypeEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$2 >> 2] = $169; + if (!$169) { + $$10 = 0; + break L1; + } else { + $171 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_20PostfixQualifiedTypeEJRPNS0_4NodeERA9_KcEEES9_DpOT0_($0, $2) | 0; + HEAP32[$1 >> 2] = $171; + label = 82; + break L1; + } + break; + } + case 71: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $175 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseTypeEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$2 >> 2] = $175; + if (!$175) { + $$10 = 0; + break L1; + } else { + $177 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_20PostfixQualifiedTypeEJRPNS0_4NodeERA11_KcEEES9_DpOT0_($0, $2) | 0; + HEAP32[$1 >> 2] = $177; + label = 82; + break L1; + } + break; + } + case 83: + { + switch ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 1) | 0) << 24 >> 24) { + case 116: + case 0: + { + label = 80; + break L1; + break; + } + default: + {} + } + $179 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + $180 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E17parseSubstitutionEv($179) | 0; + HEAP32[$2 >> 2] = $180; + if ($180) if ((HEAP8[$0 + 360 >> 0] | 0) != 0 ? (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 0) | 0) << 24 >> 24 == 73 : 0) { + $187 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E17parseTemplateArgsEb($179, 0) | 0; + HEAP32[$3 >> 2] = $187; + if (!$187) { + $$10 = 0; + break L1; + } else { + $189 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_20NameWithTemplateArgsEJRPNS0_4NodeESA_EEES9_DpOT0_($0, $2, $3) | 0; + HEAP32[$1 >> 2] = $189; + label = 82; + break L1; + } + } else $$942$ph = $180; else $$942$ph = 0; + $$10 = $$942$ph; + break; + } + default: + label = 80; + } while (0); + if ((label | 0) == 5) { + $19 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E18parseQualifiedTypeEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$1 >> 2] = $19; + $193 = $19; + label = 81; + } else if ((label | 0) == 80) { + $191 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E18parseClassEnumTypeEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$1 >> 2] = $191; + $193 = $191; + label = 81; + } + if ((label | 0) == 81) if (!$193) $$10 = 0; else label = 82; + if ((label | 0) == 82) { + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE9push_backERKS3_($0 + 148 | 0, $1); + $$10 = HEAP32[$1 >> 2] | 0; + } + STACKTOP = sp; + return $$10 | 0; +} + +function _vfscanf($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0266$lcssa = 0, $$0266407 = 0, $$0268 = 0, $$0270 = 0, $$0272 = 0, $$0273418 = 0, $$0276$ph$ph = 0, $$0280$ph = 0, $$0280$ph$ph = 0, $$0288409 = 0, $$0290414 = 0, $$0294 = 0, $$0295 = 0, $$0308412 = 0, $$10 = 0, $$10318 = 0, $$11 = 0, $$12 = 0, $$1267 = 0, $$1271 = 0, $$1274 = 0, $$1281 = 0, $$1291 = 0, $$1309 = 0, $$2 = 0, $$2275 = 0, $$2278$ph = 0, $$2282 = 0, $$2282$ph = 0, $$2292 = 0, $$2310$ph = 0, $$3$lcssa = 0, $$3283 = 0, $$3293 = 0, $$3406 = 0, $$4 = 0, $$4284 = 0, $$5 = 0, $$5313 = 0, $$6 = 0, $$6302 = 0, $$6314 = 0, $$7 = 0, $$7315 = 0, $$8 = 0, $$8316 = 0, $$9 = 0, $$9317 = 0, $$ph$ph = 0, $$pre$phi491Z2D = 0, $$pre$phiZ2D = 0, $$sroa$2$0$$sroa_idx13 = 0, $104 = 0, $105 = 0, $11 = 0, $114 = 0, $115 = 0, $120 = 0, $122 = 0, $125 = 0, $127 = 0, $13 = 0, $130 = 0, $133 = 0, $135 = 0, $138 = 0, $14 = 0, $145 = 0, $15 = 0, $151 = 0, $153 = 0, $16 = 0, $160 = 0, $161 = 0, $164 = 0, $166 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $177 = 0, $18 = 0, $180 = 0, $184 = 0, $186 = 0, $19 = 0, $191 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $199 = 0, $20 = 0, $204 = 0, $208 = 0, $213 = 0, $214 = 0, $215 = 0, $217 = 0, $219 = 0, $22 = 0, $220 = 0, $228 = 0, $240 = 0, $244 = 0, $246 = 0, $25 = 0, $254 = 0, $263 = 0, $266 = 0, $274 = 0, $281 = 0, $289 = 0, $296 = 0, $298 = 0, $3 = 0, $30 = 0, $305 = 0, $306 = 0, $309 = 0, $310 = 0, $321 = 0, $322 = 0, $323 = 0, $325 = 0, $328 = 0, $331 = 0, $334 = 0, $342 = 0.0, $343 = 0, $345 = 0, $348 = 0, $351 = 0, $354 = 0, $361 = 0, $369 = 0, $37 = 0, $372 = 0, $373 = 0, $374 = 0, $376 = 0, $384 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $395 = 0, $396 = 0, $4 = 0, $43 = 0, $45 = 0, $5 = 0, $52 = 0, $53 = 0, $56 = 0, $57 = 0, $58 = 0, $6 = 0, $60 = 0, $63 = 0, $64 = 0, $65 = 0, $67 = 0, $68 = 0, $78 = 0, $85 = 0, $spec$select = 0, $spec$select319 = 0, $trunc = 0, label = 0, sp = 0, $$2282$looptemp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 288 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(288); + $3 = sp + 264 | 0; + $4 = sp; + $5 = sp + 260 | 0; + $6 = sp + 272 | 0; + if ((HEAP32[$0 + 76 >> 2] | 0) > -1) $386 = ___lockfile($0) | 0; else $386 = 0; + $11 = HEAP8[$1 >> 0] | 0; + L4 : do if ($11 << 24 >> 24) { + $13 = $0 + 4 | 0; + $14 = $0 + 104 | 0; + $15 = $0 + 120 | 0; + $16 = $0 + 8 | 0; + $17 = $4 + 10 | 0; + $18 = $4 + 33 | 0; + $19 = $4 + 46 | 0; + $20 = $4 + 94 | 0; + $$sroa$2$0$$sroa_idx13 = $3 + 4 | 0; + $$0273418 = $1; + $$0290414 = 0; + $$0308412 = 0; + $22 = $11; + $387 = 0; + $56 = 0; + $57 = 0; + L6 : while (1) { + L8 : do if (!(_isspace($22 & 255) | 0)) { + $63 = (HEAP8[$$0273418 >> 0] | 0) == 37; + L10 : do if ($63) { + $64 = $$0273418 + 1 | 0; + $65 = HEAP8[$64 >> 0] | 0; + L12 : do switch ($65 << 24 >> 24) { + case 37: + { + break L10; + break; + } + case 42: + { + $$0295 = 0; + $$2275 = $$0273418 + 2 | 0; + break; + } + default: + { + if (_isdigit($65 & 255) | 0 ? (HEAP8[$$0273418 + 2 >> 0] | 0) == 36 : 0) { + $$0295 = _arg_n($2, (HEAPU8[$64 >> 0] | 0) + -48 | 0) | 0; + $$2275 = $$0273418 + 3 | 0; + break L12; + } + $104 = (HEAP32[$2 >> 2] | 0) + (4 - 1) & ~(4 - 1); + $105 = HEAP32[$104 >> 2] | 0; + HEAP32[$2 >> 2] = $104 + 4; + $$0295 = $105; + $$2275 = $64; + } + } while (0); + if (!(_isdigit(HEAPU8[$$2275 >> 0] | 0) | 0)) { + $$0266$lcssa = 0; + $$3$lcssa = $$2275; + } else { + $$0266407 = 0; + $$3406 = $$2275; + while (1) { + $114 = ($$0266407 * 10 | 0) + -48 + (HEAPU8[$$3406 >> 0] | 0) | 0; + $115 = $$3406 + 1 | 0; + if (!(_isdigit(HEAPU8[$115 >> 0] | 0) | 0)) { + $$0266$lcssa = $114; + $$3$lcssa = $115; + break; + } else { + $$0266407 = $114; + $$3406 = $115; + } + } + } + $120 = HEAP8[$$3$lcssa >> 0] | 0; + $122 = $$3$lcssa + 1 | 0; + if ($120 << 24 >> 24 == 109) { + $$0270 = ($$0295 | 0) != 0 & 1; + $$1309 = 0; + $$4 = $122; + $$pre$phiZ2D = $$3$lcssa + 2 | 0; + $125 = HEAP8[$122 >> 0] | 0; + $392 = 0; + } else { + $$0270 = 0; + $$1309 = $$0308412; + $$4 = $$3$lcssa; + $$pre$phiZ2D = $122; + $125 = $120; + $392 = $387; + } + switch ($125 << 24 >> 24) { + case 104: + { + $127 = (HEAP8[$$pre$phiZ2D >> 0] | 0) == 104; + $$0268 = $127 ? -2 : -1; + $$5 = $127 ? $$4 + 2 | 0 : $$pre$phiZ2D; + break; + } + case 108: + { + $130 = (HEAP8[$$pre$phiZ2D >> 0] | 0) == 108; + $$0268 = $130 ? 3 : 1; + $$5 = $130 ? $$4 + 2 | 0 : $$pre$phiZ2D; + break; + } + case 106: + { + $$0268 = 3; + $$5 = $$pre$phiZ2D; + break; + } + case 116: + case 122: + { + $$0268 = 1; + $$5 = $$pre$phiZ2D; + break; + } + case 76: + { + $$0268 = 2; + $$5 = $$pre$phiZ2D; + 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 = $$4; + break; + } + default: + { + $$8316 = $$1309; + $393 = $392; + label = 143; + break L6; + } + } + $133 = HEAPU8[$$5 >> 0] | 0; + $135 = ($133 & 47 | 0) == 3; + $spec$select = $135 ? $133 | 32 : $133; + $spec$select319 = $135 ? 1 : $$0268; + $trunc = $spec$select & 255; + switch ($trunc << 24 >> 24) { + case 99: + { + $$1267 = ($$0266$lcssa | 0) > 1 ? $$0266$lcssa : 1; + $372 = $56; + $373 = $57; + break; + } + case 91: + { + $$1267 = $$0266$lcssa; + $372 = $56; + $373 = $57; + break; + } + case 110: + { + _store_int($$0295, $spec$select319, $56, $57); + $$12 = $$5; + $$1291 = $$0290414; + $$7315 = $$1309; + $388 = $392; + $389 = $56; + $390 = $57; + break L8; + break; + } + default: + { + ___shlim($0, 0, 0); + do { + $138 = HEAP32[$13 >> 2] | 0; + if ($138 >>> 0 < (HEAP32[$14 >> 2] | 0) >>> 0) { + HEAP32[$13 >> 2] = $138 + 1; + $145 = HEAPU8[$138 >> 0] | 0; + } else $145 = ___shgetc($0) | 0; + } while ((_isspace($145) | 0) != 0); + if (!(HEAP32[$14 >> 2] | 0)) $161 = HEAP32[$13 >> 2] | 0; else { + $151 = (HEAP32[$13 >> 2] | 0) + -1 | 0; + HEAP32[$13 >> 2] = $151; + $161 = $151; + } + $153 = $15; + $160 = $161 - (HEAP32[$16 >> 2] | 0) | 0; + $164 = _i64Add(HEAP32[$153 >> 2] | 0, HEAP32[$153 + 4 >> 2] | 0, $56 | 0, $57 | 0) | 0; + $166 = _i64Add($164 | 0, getTempRet0() | 0, $160 | 0, (($160 | 0) < 0) << 31 >> 31 | 0) | 0; + $$1267 = $$0266$lcssa; + $372 = $166; + $373 = getTempRet0() | 0; + } + } + $169 = (($$1267 | 0) < 0) << 31 >> 31; + ___shlim($0, $$1267, $169); + $170 = HEAP32[$13 >> 2] | 0; + $171 = HEAP32[$14 >> 2] | 0; + if ($170 >>> 0 < $171 >>> 0) { + HEAP32[$13 >> 2] = $170 + 1; + $177 = $171; + } else { + if ((___shgetc($0) | 0) < 0) { + $$8316 = $$1309; + $393 = $392; + label = 143; + break L6; + } + $177 = HEAP32[$14 >> 2] | 0; + } + if ($177 | 0) HEAP32[$13 >> 2] = (HEAP32[$13 >> 2] | 0) + -1; + L59 : do switch ($trunc << 24 >> 24) { + case 91: + case 99: + case 115: + { + $180 = ($spec$select | 0) == 99; + L61 : do if (($spec$select | 16 | 0) == 115) { + _memset($4 | 0, -1, 257) | 0; + HEAP8[$4 >> 0] = 0; + if (($spec$select | 0) == 115) { + HEAP8[$18 >> 0] = 0; + HEAP16[$17 >> 1] = 0; + HEAP16[$17 + 2 >> 1] = 0; + HEAP8[$17 + 4 >> 0] = 0; + $$10 = $$5; + } else $$10 = $$5; + } else { + $184 = $$5 + 1 | 0; + $186 = (HEAP8[$184 >> 0] | 0) == 94; + $$0294 = $186 & 1; + $$6 = $186 ? $$5 + 2 | 0 : $184; + _memset($4 | 0, $$0294 | 0, 257) | 0; + HEAP8[$4 >> 0] = 0; + switch (HEAP8[$$6 >> 0] | 0) { + case 45: + { + $191 = ($$0294 ^ 1) & 255; + HEAP8[$19 >> 0] = $191; + $$7 = $$6 + 1 | 0; + $$pre$phi491Z2D = $191; + break; + } + case 93: + { + $194 = ($$0294 ^ 1) & 255; + HEAP8[$20 >> 0] = $194; + $$7 = $$6 + 1 | 0; + $$pre$phi491Z2D = $194; + break; + } + default: + { + $$7 = $$6; + $$pre$phi491Z2D = ($$0294 ^ 1) & 255; + } + } + $$8 = $$7; + while (1) { + $195 = HEAP8[$$8 >> 0] | 0; + L72 : do switch ($195 << 24 >> 24) { + case 0: + { + $$8316 = $$1309; + $393 = $392; + label = 143; + break L6; + break; + } + case 93: + { + $$10 = $$8; + break L61; + break; + } + case 45: + { + $196 = $$8 + 1 | 0; + $197 = HEAP8[$196 >> 0] | 0; + switch ($197 << 24 >> 24) { + case 93: + case 0: + { + $$9 = $$8; + $208 = 45; + break L72; + break; + } + default: + {} + } + $199 = HEAP8[$$8 + -1 >> 0] | 0; + if (($199 & 255) < ($197 & 255)) { + $$0288409 = $199 & 255; + do { + $$0288409 = $$0288409 + 1 | 0; + HEAP8[$4 + $$0288409 >> 0] = $$pre$phi491Z2D; + $204 = HEAP8[$196 >> 0] | 0; + } while ($$0288409 >>> 0 < ($204 & 255) >>> 0); + $$9 = $196; + $208 = $204; + } else { + $$9 = $196; + $208 = $197; + } + break; + } + default: + { + $$9 = $$8; + $208 = $195; + } + } while (0); + HEAP8[$4 + (($208 & 255) + 1) >> 0] = $$pre$phi491Z2D; + $$8 = $$9 + 1 | 0; + } + } while (0); + $213 = $180 ? $$1267 + 1 | 0 : 31; + $214 = ($spec$select319 | 0) == 1; + $215 = ($$0270 | 0) != 0; + L80 : do if ($214) { + if ($215) { + $217 = _malloc($213 << 2) | 0; + if (!$217) { + $$8316 = 0; + $393 = 0; + label = 143; + break L6; + } else $395 = $217; + } else $395 = $$0295; + HEAP32[$3 >> 2] = 0; + HEAP32[$$sroa$2$0$$sroa_idx13 >> 2] = 0; + $$0276$ph$ph = $213; + $$0280$ph$ph = 0; + $$ph$ph = $395; + L85 : while (1) { + $219 = ($$ph$ph | 0) == 0; + $$0280$ph = $$0280$ph$ph; + while (1) { + L89 : while (1) { + $220 = HEAP32[$13 >> 2] | 0; + if ($220 >>> 0 < (HEAP32[$14 >> 2] | 0) >>> 0) { + HEAP32[$13 >> 2] = $220 + 1; + $228 = HEAPU8[$220 >> 0] | 0; + } else $228 = ___shgetc($0) | 0; + if (!(HEAP8[$4 + ($228 + 1) >> 0] | 0)) break L85; + HEAP8[$6 >> 0] = $228; + switch (_mbrtowc($5, $6, 1, $3) | 0) { + case -1: + { + $$8316 = 0; + $393 = $$ph$ph; + label = 143; + break L6; + break; + } + case -2: + break; + default: + break L89; + } + } + if ($219) $$1281 = $$0280$ph; else { + HEAP32[$$ph$ph + ($$0280$ph << 2) >> 2] = HEAP32[$5 >> 2]; + $$1281 = $$0280$ph + 1 | 0; + } + if ($215 & ($$1281 | 0) == ($$0276$ph$ph | 0)) break; else $$0280$ph = $$1281; + } + $$0276$ph$ph = $$0276$ph$ph << 1 | 1; + $240 = _realloc($$ph$ph, $$0276$ph$ph << 2) | 0; + if (!$240) { + $$8316 = 0; + $393 = $$ph$ph; + label = 143; + break L6; + } else { + $$0280$ph$ph = $$1281; + $$ph$ph = $240; + } + } + if (!(_mbsinit($3) | 0)) { + $$8316 = 0; + $393 = $$ph$ph; + label = 143; + break L6; + } else { + $$4284 = $$0280$ph; + $$5313 = 0; + $$6302 = $$ph$ph; + $396 = $$ph$ph; + } + } else { + if ($215) { + $244 = _malloc($213) | 0; + if (!$244) { + $$8316 = 0; + $393 = 0; + label = 143; + break L6; + } + $$2278$ph = $213; + $$2282$ph = 0; + $$2310$ph = $244; + while (1) { + $$2282 = $$2282$ph; + do { + $246 = HEAP32[$13 >> 2] | 0; + if ($246 >>> 0 < (HEAP32[$14 >> 2] | 0) >>> 0) { + HEAP32[$13 >> 2] = $246 + 1; + $254 = HEAPU8[$246 >> 0] | 0; + } else $254 = ___shgetc($0) | 0; + if (!(HEAP8[$4 + ($254 + 1) >> 0] | 0)) { + $$4284 = $$2282; + $$5313 = $$2310$ph; + $$6302 = 0; + $396 = 0; + break L80; + } + $$2282$looptemp = $$2282; + $$2282 = $$2282 + 1 | 0; + HEAP8[$$2310$ph + $$2282$looptemp >> 0] = $254; + } while (($$2282 | 0) != ($$2278$ph | 0)); + $$2278$ph = $$2278$ph << 1 | 1; + $263 = _realloc($$2310$ph, $$2278$ph) | 0; + if (!$263) { + $$8316 = $$2310$ph; + $393 = 0; + label = 143; + break L6; + } else { + $$2282$ph = $$2282; + $$2310$ph = $263; + } + } + } + if (!$$0295) while (1) { + $281 = HEAP32[$13 >> 2] | 0; + if ($281 >>> 0 < (HEAP32[$14 >> 2] | 0) >>> 0) { + HEAP32[$13 >> 2] = $281 + 1; + $289 = HEAPU8[$281 >> 0] | 0; + } else $289 = ___shgetc($0) | 0; + if (!(HEAP8[$4 + ($289 + 1) >> 0] | 0)) { + $$4284 = 0; + $$5313 = 0; + $$6302 = 0; + $396 = 0; + break L80; + } + } + $$3283 = 0; + while (1) { + $266 = HEAP32[$13 >> 2] | 0; + if ($266 >>> 0 < (HEAP32[$14 >> 2] | 0) >>> 0) { + HEAP32[$13 >> 2] = $266 + 1; + $274 = HEAPU8[$266 >> 0] | 0; + } else $274 = ___shgetc($0) | 0; + if (!(HEAP8[$4 + ($274 + 1) >> 0] | 0)) { + $$4284 = $$3283; + $$5313 = $$0295; + $$6302 = 0; + $396 = 0; + break L80; + } + HEAP8[$$0295 + $$3283 >> 0] = $274; + $$3283 = $$3283 + 1 | 0; + } + } while (0); + if (!(HEAP32[$14 >> 2] | 0)) $306 = HEAP32[$13 >> 2] | 0; else { + $296 = (HEAP32[$13 >> 2] | 0) + -1 | 0; + HEAP32[$13 >> 2] = $296; + $306 = $296; + } + $298 = $15; + $305 = $306 - (HEAP32[$16 >> 2] | 0) | 0; + $309 = _i64Add(HEAP32[$298 >> 2] | 0, HEAP32[$298 + 4 >> 2] | 0, $305 | 0, (($305 | 0) < 0) << 31 >> 31 | 0) | 0; + $310 = getTempRet0() | 0; + if (($309 | 0) == 0 & ($310 | 0) == 0) { + $$10318 = $$5313; + $$2 = $$0270; + $$2292 = $$0290414; + $384 = $396; + break L6; + } + if (!(($309 | 0) == ($$1267 | 0) & ($310 | 0) == ($169 | 0) | $180 ^ 1)) { + $$10318 = $$5313; + $$2 = $$0270; + $$2292 = $$0290414; + $384 = $396; + break L6; + } + do if ($215) if ($214) { + HEAP32[$$0295 >> 2] = $$6302; + break; + } else { + HEAP32[$$0295 >> 2] = $$5313; + break; + } while (0); + if ($180) { + $$11 = $$10; + $$6314 = $$5313; + $394 = $396; + } else { + if ($$6302 | 0) HEAP32[$$6302 + ($$4284 << 2) >> 2] = 0; + if (!$$5313) { + $$11 = $$10; + $$6314 = 0; + $394 = $396; + break L59; + } + HEAP8[$$5313 + $$4284 >> 0] = 0; + $$11 = $$10; + $$6314 = $$5313; + $394 = $396; + } + break; + } + case 120: + case 88: + case 112: + { + $$0272 = 16; + label = 131; + break; + } + case 111: + { + $$0272 = 8; + label = 131; + break; + } + case 117: + case 100: + { + $$0272 = 10; + label = 131; + break; + } + case 105: + { + $$0272 = 0; + label = 131; + break; + } + case 71: + case 103: + case 70: + case 102: + case 69: + case 101: + case 65: + case 97: + { + $342 = +___floatscan($0, $spec$select319, 0); + $343 = $15; + $345 = HEAP32[$343 >> 2] | 0; + $348 = HEAP32[$343 + 4 >> 2] | 0; + $351 = (HEAP32[$13 >> 2] | 0) - (HEAP32[$16 >> 2] | 0) | 0; + $354 = _i64Subtract(0, 0, $351 | 0, (($351 | 0) < 0) << 31 >> 31 | 0) | 0; + if (($345 | 0) == ($354 | 0) & ($348 | 0) == (getTempRet0() | 0)) { + $$10318 = $$1309; + $$2 = $$0270; + $$2292 = $$0290414; + $384 = $392; + break L6; + } + if (!$$0295) { + $$11 = $$5; + $$6314 = $$1309; + $394 = $392; + } else switch ($spec$select319 | 0) { + case 0: + { + HEAPF32[$$0295 >> 2] = $342; + $$11 = $$5; + $$6314 = $$1309; + $394 = $392; + break L59; + break; + } + case 1: + { + HEAPF64[$$0295 >> 3] = $342; + $$11 = $$5; + $$6314 = $$1309; + $394 = $392; + break L59; + break; + } + case 2: + { + HEAPF64[$$0295 >> 3] = $342; + $$11 = $$5; + $$6314 = $$1309; + $394 = $392; + break L59; + break; + } + default: + { + $$11 = $$5; + $$6314 = $$1309; + $394 = $392; + break L59; + } + } + break; + } + default: + { + $$11 = $$5; + $$6314 = $$1309; + $394 = $392; + } + } while (0); + do if ((label | 0) == 131) { + label = 0; + $321 = ___intscan($0, $$0272, 0, -1, -1) | 0; + $322 = getTempRet0() | 0; + $323 = $15; + $325 = HEAP32[$323 >> 2] | 0; + $328 = HEAP32[$323 + 4 >> 2] | 0; + $331 = (HEAP32[$13 >> 2] | 0) - (HEAP32[$16 >> 2] | 0) | 0; + $334 = _i64Subtract(0, 0, $331 | 0, (($331 | 0) < 0) << 31 >> 31 | 0) | 0; + if (($325 | 0) == ($334 | 0) & ($328 | 0) == (getTempRet0() | 0)) { + $$10318 = $$1309; + $$2 = $$0270; + $$2292 = $$0290414; + $384 = $392; + break L6; + } + if (($$0295 | 0) != 0 & ($spec$select | 0) == 112) { + HEAP32[$$0295 >> 2] = $321; + $$11 = $$5; + $$6314 = $$1309; + $394 = $392; + break; + } else { + _store_int($$0295, $spec$select319, $321, $322); + $$11 = $$5; + $$6314 = $$1309; + $394 = $392; + break; + } + } while (0); + $361 = $15; + $369 = (HEAP32[$13 >> 2] | 0) - (HEAP32[$16 >> 2] | 0) | 0; + $374 = _i64Add(HEAP32[$361 >> 2] | 0, HEAP32[$361 + 4 >> 2] | 0, $372 | 0, $373 | 0) | 0; + $376 = _i64Add($374 | 0, getTempRet0() | 0, $369 | 0, (($369 | 0) < 0) << 31 >> 31 | 0) | 0; + $$12 = $$11; + $$1291 = $$0290414 + (($$0295 | 0) != 0 & 1) | 0; + $$7315 = $$6314; + $388 = $394; + $389 = $376; + $390 = getTempRet0() | 0; + break L8; + } while (0); + $67 = $$0273418 + ($63 & 1) | 0; + ___shlim($0, 0, 0); + $68 = HEAP32[$13 >> 2] | 0; + if ($68 >>> 0 < (HEAP32[$14 >> 2] | 0) >>> 0) { + HEAP32[$13 >> 2] = $68 + 1; + $78 = HEAPU8[$68 >> 0] | 0; + } else $78 = ___shgetc($0) | 0; + if (($78 | 0) != (HEAPU8[$67 >> 0] | 0)) { + label = 23; + break L6; + } + $85 = _i64Add($56 | 0, $57 | 0, 1, 0) | 0; + $$12 = $67; + $$1291 = $$0290414; + $$7315 = $$0308412; + $388 = $387; + $389 = $85; + $390 = getTempRet0() | 0; + } else { + $$1274 = $$0273418; + while (1) { + $25 = $$1274 + 1 | 0; + if (!(_isspace(HEAPU8[$25 >> 0] | 0) | 0)) break; else $$1274 = $25; + } + ___shlim($0, 0, 0); + do { + $30 = HEAP32[$13 >> 2] | 0; + if ($30 >>> 0 < (HEAP32[$14 >> 2] | 0) >>> 0) { + HEAP32[$13 >> 2] = $30 + 1; + $37 = HEAPU8[$30 >> 0] | 0; + } else $37 = ___shgetc($0) | 0; + } while ((_isspace($37) | 0) != 0); + if (!(HEAP32[$14 >> 2] | 0)) $53 = HEAP32[$13 >> 2] | 0; else { + $43 = (HEAP32[$13 >> 2] | 0) + -1 | 0; + HEAP32[$13 >> 2] = $43; + $53 = $43; + } + $45 = $15; + $52 = $53 - (HEAP32[$16 >> 2] | 0) | 0; + $58 = _i64Add(HEAP32[$45 >> 2] | 0, HEAP32[$45 + 4 >> 2] | 0, $56 | 0, $57 | 0) | 0; + $60 = _i64Add($58 | 0, getTempRet0() | 0, $52 | 0, (($52 | 0) < 0) << 31 >> 31 | 0) | 0; + $$12 = $$1274; + $$1291 = $$0290414; + $$7315 = $$0308412; + $388 = $387; + $389 = $60; + $390 = getTempRet0() | 0; + } while (0); + $$0273418 = $$12 + 1 | 0; + $22 = HEAP8[$$0273418 >> 0] | 0; + if (!($22 << 24 >> 24)) { + $$3293 = $$1291; + break L4; + } else { + $$0290414 = $$1291; + $$0308412 = $$7315; + $387 = $388; + $56 = $389; + $57 = $390; + } + } + if ((label | 0) == 23) { + if (HEAP32[$14 >> 2] | 0) HEAP32[$13 >> 2] = (HEAP32[$13 >> 2] | 0) + -1; + if (($$0290414 | 0) != 0 | ($78 | 0) > -1) { + $$3293 = $$0290414; + break; + } else { + $$1271 = 0; + $$9317 = $$0308412; + $391 = $387; + label = 144; + } + } else if ((label | 0) == 143) if (!$$0290414) { + $$1271 = $$0270; + $$9317 = $$8316; + $391 = $393; + label = 144; + } else { + $$10318 = $$8316; + $$2 = $$0270; + $$2292 = $$0290414; + $384 = $393; + } + if ((label | 0) == 144) { + $$10318 = $$9317; + $$2 = $$1271; + $$2292 = -1; + $384 = $391; + } + if (!$$2) $$3293 = $$2292; else { + _free($$10318); + _free($384); + $$3293 = $$2292; + } + } else $$3293 = 0; while (0); + if ($386 | 0) ___unlockfile($0); + STACKTOP = sp; + return $$3293 | 0; +} + +function __ZNSt3__212__next_primeEm($0) { + $0 = $0 | 0; + var $$0 = 0, $$0328 = 0, $$0334 = 0, $$0337 = 0, $$1 = 0, $$2332 = 0, $$4 = 0, $$5 = 0, $$6 = 0, $$8 = 0, $$sink369 = 0, $1 = 0, $100 = 0, $104 = 0, $105 = 0, $109 = 0, $110 = 0, $114 = 0, $115 = 0, $119 = 0, $120 = 0, $124 = 0, $125 = 0, $129 = 0, $130 = 0, $134 = 0, $135 = 0, $139 = 0, $140 = 0, $144 = 0, $145 = 0, $149 = 0, $150 = 0, $154 = 0, $155 = 0, $159 = 0, $16 = 0, $160 = 0, $164 = 0, $165 = 0, $169 = 0, $170 = 0, $174 = 0, $175 = 0, $179 = 0, $180 = 0, $184 = 0, $185 = 0, $189 = 0, $19 = 0, $190 = 0, $194 = 0, $195 = 0, $199 = 0, $2 = 0, $20 = 0, $200 = 0, $204 = 0, $205 = 0, $209 = 0, $210 = 0, $214 = 0, $215 = 0, $219 = 0, $220 = 0, $224 = 0, $225 = 0, $229 = 0, $230 = 0, $234 = 0, $235 = 0, $239 = 0, $240 = 0, $244 = 0, $245 = 0, $249 = 0, $25 = 0, $250 = 0, $254 = 0, $255 = 0, $259 = 0, $260 = 0, $261 = 0, $263 = 0, $266 = 0, $267 = 0, $29 = 0, $3 = 0, $30 = 0, $34 = 0, $35 = 0, $39 = 0, $40 = 0, $44 = 0, $45 = 0, $49 = 0, $5 = 0, $50 = 0, $54 = 0, $55 = 0, $59 = 0, $60 = 0, $64 = 0, $65 = 0, $69 = 0, $7 = 0, $70 = 0, $74 = 0, $75 = 0, $79 = 0, $8 = 0, $80 = 0, $84 = 0, $85 = 0, $89 = 0, $90 = 0, $94 = 0, $95 = 0, $99 = 0, $spec$select = 0, $spec$select339$sink = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + $2 = sp + 8 | 0; + $3 = sp + 4 | 0; + HEAP32[$2 >> 2] = $0; + do if ($0 >>> 0 >= 212) { + $7 = ($0 >>> 0) / 210 | 0; + $8 = $7 * 210 | 0; + HEAP32[$3 >> 2] = $0 - $8; + $$0328 = 0; + $$0337 = $7; + $$sink369 = $8; + $spec$select339$sink = (__ZNSt3__213__lower_boundIRNS_6__lessIjmEEPKjmEET0_S6_S6_RKT1_T_(12736, 12928, $3, $1) | 0) - 12736 >> 2; + L4 : while (1) { + $16 = (HEAP32[12736 + ($spec$select339$sink << 2) >> 2] | 0) + $$sink369 | 0; + $$0334 = 5; + while (1) { + if ($$0334 >>> 0 >= 47) { + label = 6; + break; + } + $19 = HEAP32[12544 + ($$0334 << 2) >> 2] | 0; + $20 = ($16 >>> 0) / ($19 >>> 0) | 0; + if ($20 >>> 0 < $19 >>> 0) { + label = 107; + break L4; + } + if (($16 | 0) == (Math_imul($20, $19) | 0)) { + $$6 = $$0328; + break; + } else $$0334 = $$0334 + 1 | 0; + } + L10 : do if ((label | 0) == 6) { + label = 0; + $$0 = 211; + $$4 = $$0328; + L12 : while (1) { + $25 = ($16 >>> 0) / ($$0 >>> 0) | 0; + do if ($25 >>> 0 >= $$0 >>> 0) if (($16 | 0) != (Math_imul($25, $$0) | 0)) { + $29 = $$0 + 10 | 0; + $30 = ($16 >>> 0) / ($29 >>> 0) | 0; + if ($30 >>> 0 >= $29 >>> 0) if (($16 | 0) != (Math_imul($30, $29) | 0)) { + $34 = $$0 + 12 | 0; + $35 = ($16 >>> 0) / ($34 >>> 0) | 0; + if ($35 >>> 0 >= $34 >>> 0) if (($16 | 0) != (Math_imul($35, $34) | 0)) { + $39 = $$0 + 16 | 0; + $40 = ($16 >>> 0) / ($39 >>> 0) | 0; + if ($40 >>> 0 >= $39 >>> 0) if (($16 | 0) != (Math_imul($40, $39) | 0)) { + $44 = $$0 + 18 | 0; + $45 = ($16 >>> 0) / ($44 >>> 0) | 0; + if ($45 >>> 0 >= $44 >>> 0) if (($16 | 0) != (Math_imul($45, $44) | 0)) { + $49 = $$0 + 22 | 0; + $50 = ($16 >>> 0) / ($49 >>> 0) | 0; + if ($50 >>> 0 >= $49 >>> 0) if (($16 | 0) != (Math_imul($50, $49) | 0)) { + $54 = $$0 + 28 | 0; + $55 = ($16 >>> 0) / ($54 >>> 0) | 0; + if ($55 >>> 0 >= $54 >>> 0) if (($16 | 0) == (Math_imul($55, $54) | 0)) { + $$1 = $54; + $$2332 = 9; + $$5 = $$4; + } else { + $59 = $$0 + 30 | 0; + $60 = ($16 >>> 0) / ($59 >>> 0) | 0; + if ($60 >>> 0 < $59 >>> 0) { + $$1 = $59; + $$2332 = 1; + $$5 = $16; + break; + } + if (($16 | 0) == (Math_imul($60, $59) | 0)) { + $$1 = $59; + $$2332 = 9; + $$5 = $$4; + break; + } + $64 = $$0 + 36 | 0; + $65 = ($16 >>> 0) / ($64 >>> 0) | 0; + if ($65 >>> 0 < $64 >>> 0) { + $$1 = $64; + $$2332 = 1; + $$5 = $16; + break; + } + if (($16 | 0) == (Math_imul($65, $64) | 0)) { + $$1 = $64; + $$2332 = 9; + $$5 = $$4; + break; + } + $69 = $$0 + 40 | 0; + $70 = ($16 >>> 0) / ($69 >>> 0) | 0; + if ($70 >>> 0 < $69 >>> 0) { + $$1 = $69; + $$2332 = 1; + $$5 = $16; + break; + } + if (($16 | 0) == (Math_imul($70, $69) | 0)) { + $$1 = $69; + $$2332 = 9; + $$5 = $$4; + break; + } + $74 = $$0 + 42 | 0; + $75 = ($16 >>> 0) / ($74 >>> 0) | 0; + if ($75 >>> 0 < $74 >>> 0) { + $$1 = $74; + $$2332 = 1; + $$5 = $16; + break; + } + if (($16 | 0) == (Math_imul($75, $74) | 0)) { + $$1 = $74; + $$2332 = 9; + $$5 = $$4; + break; + } + $79 = $$0 + 46 | 0; + $80 = ($16 >>> 0) / ($79 >>> 0) | 0; + if ($80 >>> 0 < $79 >>> 0) { + $$1 = $79; + $$2332 = 1; + $$5 = $16; + break; + } + if (($16 | 0) == (Math_imul($80, $79) | 0)) { + $$1 = $79; + $$2332 = 9; + $$5 = $$4; + break; + } + $84 = $$0 + 52 | 0; + $85 = ($16 >>> 0) / ($84 >>> 0) | 0; + if ($85 >>> 0 < $84 >>> 0) { + $$1 = $84; + $$2332 = 1; + $$5 = $16; + break; + } + if (($16 | 0) == (Math_imul($85, $84) | 0)) { + $$1 = $84; + $$2332 = 9; + $$5 = $$4; + break; + } + $89 = $$0 + 58 | 0; + $90 = ($16 >>> 0) / ($89 >>> 0) | 0; + if ($90 >>> 0 < $89 >>> 0) { + $$1 = $89; + $$2332 = 1; + $$5 = $16; + break; + } + if (($16 | 0) == (Math_imul($90, $89) | 0)) { + $$1 = $89; + $$2332 = 9; + $$5 = $$4; + break; + } + $94 = $$0 + 60 | 0; + $95 = ($16 >>> 0) / ($94 >>> 0) | 0; + if ($95 >>> 0 < $94 >>> 0) { + $$1 = $94; + $$2332 = 1; + $$5 = $16; + break; + } + if (($16 | 0) == (Math_imul($95, $94) | 0)) { + $$1 = $94; + $$2332 = 9; + $$5 = $$4; + break; + } + $99 = $$0 + 66 | 0; + $100 = ($16 >>> 0) / ($99 >>> 0) | 0; + if ($100 >>> 0 < $99 >>> 0) { + $$1 = $99; + $$2332 = 1; + $$5 = $16; + break; + } + if (($16 | 0) == (Math_imul($100, $99) | 0)) { + $$1 = $99; + $$2332 = 9; + $$5 = $$4; + break; + } + $104 = $$0 + 70 | 0; + $105 = ($16 >>> 0) / ($104 >>> 0) | 0; + if ($105 >>> 0 < $104 >>> 0) { + $$1 = $104; + $$2332 = 1; + $$5 = $16; + break; + } + if (($16 | 0) == (Math_imul($105, $104) | 0)) { + $$1 = $104; + $$2332 = 9; + $$5 = $$4; + break; + } + $109 = $$0 + 72 | 0; + $110 = ($16 >>> 0) / ($109 >>> 0) | 0; + if ($110 >>> 0 < $109 >>> 0) { + $$1 = $109; + $$2332 = 1; + $$5 = $16; + break; + } + if (($16 | 0) == (Math_imul($110, $109) | 0)) { + $$1 = $109; + $$2332 = 9; + $$5 = $$4; + break; + } + $114 = $$0 + 78 | 0; + $115 = ($16 >>> 0) / ($114 >>> 0) | 0; + if ($115 >>> 0 < $114 >>> 0) { + $$1 = $114; + $$2332 = 1; + $$5 = $16; + break; + } + if (($16 | 0) == (Math_imul($115, $114) | 0)) { + $$1 = $114; + $$2332 = 9; + $$5 = $$4; + break; + } + $119 = $$0 + 82 | 0; + $120 = ($16 >>> 0) / ($119 >>> 0) | 0; + if ($120 >>> 0 < $119 >>> 0) { + $$1 = $119; + $$2332 = 1; + $$5 = $16; + break; + } + if (($16 | 0) == (Math_imul($120, $119) | 0)) { + $$1 = $119; + $$2332 = 9; + $$5 = $$4; + break; + } + $124 = $$0 + 88 | 0; + $125 = ($16 >>> 0) / ($124 >>> 0) | 0; + if ($125 >>> 0 < $124 >>> 0) { + $$1 = $124; + $$2332 = 1; + $$5 = $16; + break; + } + if (($16 | 0) == (Math_imul($125, $124) | 0)) { + $$1 = $124; + $$2332 = 9; + $$5 = $$4; + break; + } + $129 = $$0 + 96 | 0; + $130 = ($16 >>> 0) / ($129 >>> 0) | 0; + if ($130 >>> 0 < $129 >>> 0) { + $$1 = $129; + $$2332 = 1; + $$5 = $16; + break; + } + if (($16 | 0) == (Math_imul($130, $129) | 0)) { + $$1 = $129; + $$2332 = 9; + $$5 = $$4; + break; + } + $134 = $$0 + 100 | 0; + $135 = ($16 >>> 0) / ($134 >>> 0) | 0; + if ($135 >>> 0 < $134 >>> 0) { + $$1 = $134; + $$2332 = 1; + $$5 = $16; + break; + } + if (($16 | 0) == (Math_imul($135, $134) | 0)) { + $$1 = $134; + $$2332 = 9; + $$5 = $$4; + break; + } + $139 = $$0 + 102 | 0; + $140 = ($16 >>> 0) / ($139 >>> 0) | 0; + if ($140 >>> 0 < $139 >>> 0) { + $$1 = $139; + $$2332 = 1; + $$5 = $16; + break; + } + if (($16 | 0) == (Math_imul($140, $139) | 0)) { + $$1 = $139; + $$2332 = 9; + $$5 = $$4; + break; + } + $144 = $$0 + 106 | 0; + $145 = ($16 >>> 0) / ($144 >>> 0) | 0; + if ($145 >>> 0 < $144 >>> 0) { + $$1 = $144; + $$2332 = 1; + $$5 = $16; + break; + } + if (($16 | 0) == (Math_imul($145, $144) | 0)) { + $$1 = $144; + $$2332 = 9; + $$5 = $$4; + break; + } + $149 = $$0 + 108 | 0; + $150 = ($16 >>> 0) / ($149 >>> 0) | 0; + if ($150 >>> 0 < $149 >>> 0) { + $$1 = $149; + $$2332 = 1; + $$5 = $16; + break; + } + if (($16 | 0) == (Math_imul($150, $149) | 0)) { + $$1 = $149; + $$2332 = 9; + $$5 = $$4; + break; + } + $154 = $$0 + 112 | 0; + $155 = ($16 >>> 0) / ($154 >>> 0) | 0; + if ($155 >>> 0 < $154 >>> 0) { + $$1 = $154; + $$2332 = 1; + $$5 = $16; + break; + } + if (($16 | 0) == (Math_imul($155, $154) | 0)) { + $$1 = $154; + $$2332 = 9; + $$5 = $$4; + break; + } + $159 = $$0 + 120 | 0; + $160 = ($16 >>> 0) / ($159 >>> 0) | 0; + if ($160 >>> 0 < $159 >>> 0) { + $$1 = $159; + $$2332 = 1; + $$5 = $16; + break; + } + if (($16 | 0) == (Math_imul($160, $159) | 0)) { + $$1 = $159; + $$2332 = 9; + $$5 = $$4; + break; + } + $164 = $$0 + 126 | 0; + $165 = ($16 >>> 0) / ($164 >>> 0) | 0; + if ($165 >>> 0 < $164 >>> 0) { + $$1 = $164; + $$2332 = 1; + $$5 = $16; + break; + } + if (($16 | 0) == (Math_imul($165, $164) | 0)) { + $$1 = $164; + $$2332 = 9; + $$5 = $$4; + break; + } + $169 = $$0 + 130 | 0; + $170 = ($16 >>> 0) / ($169 >>> 0) | 0; + if ($170 >>> 0 < $169 >>> 0) { + $$1 = $169; + $$2332 = 1; + $$5 = $16; + break; + } + if (($16 | 0) == (Math_imul($170, $169) | 0)) { + $$1 = $169; + $$2332 = 9; + $$5 = $$4; + break; + } + $174 = $$0 + 136 | 0; + $175 = ($16 >>> 0) / ($174 >>> 0) | 0; + if ($175 >>> 0 < $174 >>> 0) { + $$1 = $174; + $$2332 = 1; + $$5 = $16; + break; + } + if (($16 | 0) == (Math_imul($175, $174) | 0)) { + $$1 = $174; + $$2332 = 9; + $$5 = $$4; + break; + } + $179 = $$0 + 138 | 0; + $180 = ($16 >>> 0) / ($179 >>> 0) | 0; + if ($180 >>> 0 < $179 >>> 0) { + $$1 = $179; + $$2332 = 1; + $$5 = $16; + break; + } + if (($16 | 0) == (Math_imul($180, $179) | 0)) { + $$1 = $179; + $$2332 = 9; + $$5 = $$4; + break; + } + $184 = $$0 + 142 | 0; + $185 = ($16 >>> 0) / ($184 >>> 0) | 0; + if ($185 >>> 0 < $184 >>> 0) { + $$1 = $184; + $$2332 = 1; + $$5 = $16; + break; + } + if (($16 | 0) == (Math_imul($185, $184) | 0)) { + $$1 = $184; + $$2332 = 9; + $$5 = $$4; + break; + } + $189 = $$0 + 148 | 0; + $190 = ($16 >>> 0) / ($189 >>> 0) | 0; + if ($190 >>> 0 < $189 >>> 0) { + $$1 = $189; + $$2332 = 1; + $$5 = $16; + break; + } + if (($16 | 0) == (Math_imul($190, $189) | 0)) { + $$1 = $189; + $$2332 = 9; + $$5 = $$4; + break; + } + $194 = $$0 + 150 | 0; + $195 = ($16 >>> 0) / ($194 >>> 0) | 0; + if ($195 >>> 0 < $194 >>> 0) { + $$1 = $194; + $$2332 = 1; + $$5 = $16; + break; + } + if (($16 | 0) == (Math_imul($195, $194) | 0)) { + $$1 = $194; + $$2332 = 9; + $$5 = $$4; + break; + } + $199 = $$0 + 156 | 0; + $200 = ($16 >>> 0) / ($199 >>> 0) | 0; + if ($200 >>> 0 < $199 >>> 0) { + $$1 = $199; + $$2332 = 1; + $$5 = $16; + break; + } + if (($16 | 0) == (Math_imul($200, $199) | 0)) { + $$1 = $199; + $$2332 = 9; + $$5 = $$4; + break; + } + $204 = $$0 + 162 | 0; + $205 = ($16 >>> 0) / ($204 >>> 0) | 0; + if ($205 >>> 0 < $204 >>> 0) { + $$1 = $204; + $$2332 = 1; + $$5 = $16; + break; + } + if (($16 | 0) == (Math_imul($205, $204) | 0)) { + $$1 = $204; + $$2332 = 9; + $$5 = $$4; + break; + } + $209 = $$0 + 166 | 0; + $210 = ($16 >>> 0) / ($209 >>> 0) | 0; + if ($210 >>> 0 < $209 >>> 0) { + $$1 = $209; + $$2332 = 1; + $$5 = $16; + break; + } + if (($16 | 0) == (Math_imul($210, $209) | 0)) { + $$1 = $209; + $$2332 = 9; + $$5 = $$4; + break; + } + $214 = $$0 + 168 | 0; + $215 = ($16 >>> 0) / ($214 >>> 0) | 0; + if ($215 >>> 0 < $214 >>> 0) { + $$1 = $214; + $$2332 = 1; + $$5 = $16; + break; + } + if (($16 | 0) == (Math_imul($215, $214) | 0)) { + $$1 = $214; + $$2332 = 9; + $$5 = $$4; + break; + } + $219 = $$0 + 172 | 0; + $220 = ($16 >>> 0) / ($219 >>> 0) | 0; + if ($220 >>> 0 < $219 >>> 0) { + $$1 = $219; + $$2332 = 1; + $$5 = $16; + break; + } + if (($16 | 0) == (Math_imul($220, $219) | 0)) { + $$1 = $219; + $$2332 = 9; + $$5 = $$4; + break; + } + $224 = $$0 + 178 | 0; + $225 = ($16 >>> 0) / ($224 >>> 0) | 0; + if ($225 >>> 0 < $224 >>> 0) { + $$1 = $224; + $$2332 = 1; + $$5 = $16; + break; + } + if (($16 | 0) == (Math_imul($225, $224) | 0)) { + $$1 = $224; + $$2332 = 9; + $$5 = $$4; + break; + } + $229 = $$0 + 180 | 0; + $230 = ($16 >>> 0) / ($229 >>> 0) | 0; + if ($230 >>> 0 < $229 >>> 0) { + $$1 = $229; + $$2332 = 1; + $$5 = $16; + break; + } + if (($16 | 0) == (Math_imul($230, $229) | 0)) { + $$1 = $229; + $$2332 = 9; + $$5 = $$4; + break; + } + $234 = $$0 + 186 | 0; + $235 = ($16 >>> 0) / ($234 >>> 0) | 0; + if ($235 >>> 0 < $234 >>> 0) { + $$1 = $234; + $$2332 = 1; + $$5 = $16; + break; + } + if (($16 | 0) == (Math_imul($235, $234) | 0)) { + $$1 = $234; + $$2332 = 9; + $$5 = $$4; + break; + } + $239 = $$0 + 190 | 0; + $240 = ($16 >>> 0) / ($239 >>> 0) | 0; + if ($240 >>> 0 < $239 >>> 0) { + $$1 = $239; + $$2332 = 1; + $$5 = $16; + break; + } + if (($16 | 0) == (Math_imul($240, $239) | 0)) { + $$1 = $239; + $$2332 = 9; + $$5 = $$4; + break; + } + $244 = $$0 + 192 | 0; + $245 = ($16 >>> 0) / ($244 >>> 0) | 0; + if ($245 >>> 0 < $244 >>> 0) { + $$1 = $244; + $$2332 = 1; + $$5 = $16; + break; + } + if (($16 | 0) == (Math_imul($245, $244) | 0)) { + $$1 = $244; + $$2332 = 9; + $$5 = $$4; + break; + } + $249 = $$0 + 196 | 0; + $250 = ($16 >>> 0) / ($249 >>> 0) | 0; + if ($250 >>> 0 < $249 >>> 0) { + $$1 = $249; + $$2332 = 1; + $$5 = $16; + break; + } + if (($16 | 0) == (Math_imul($250, $249) | 0)) { + $$1 = $249; + $$2332 = 9; + $$5 = $$4; + break; + } + $254 = $$0 + 198 | 0; + $255 = ($16 >>> 0) / ($254 >>> 0) | 0; + if ($255 >>> 0 < $254 >>> 0) { + $$1 = $254; + $$2332 = 1; + $$5 = $16; + break; + } + if (($16 | 0) == (Math_imul($255, $254) | 0)) { + $$1 = $254; + $$2332 = 9; + $$5 = $$4; + break; + } + $259 = $$0 + 208 | 0; + $260 = ($16 >>> 0) / ($259 >>> 0) | 0; + $261 = $260 >>> 0 < $259 >>> 0; + $263 = ($16 | 0) == (Math_imul($260, $259) | 0); + $$1 = $261 | $263 ? $259 : $$0 + 210 | 0; + $$2332 = $261 ? 1 : $263 ? 9 : 0; + $$5 = $261 ? $16 : $$4; + } else { + $$1 = $54; + $$2332 = 1; + $$5 = $16; + } + } else { + $$1 = $49; + $$2332 = 9; + $$5 = $$4; + } else { + $$1 = $49; + $$2332 = 1; + $$5 = $16; + } + } else { + $$1 = $44; + $$2332 = 9; + $$5 = $$4; + } else { + $$1 = $44; + $$2332 = 1; + $$5 = $16; + } + } else { + $$1 = $39; + $$2332 = 9; + $$5 = $$4; + } else { + $$1 = $39; + $$2332 = 1; + $$5 = $16; + } + } else { + $$1 = $34; + $$2332 = 9; + $$5 = $$4; + } else { + $$1 = $34; + $$2332 = 1; + $$5 = $16; + } + } else { + $$1 = $29; + $$2332 = 9; + $$5 = $$4; + } else { + $$1 = $29; + $$2332 = 1; + $$5 = $16; + } + } else { + $$1 = $$0; + $$2332 = 9; + $$5 = $$4; + } else { + $$1 = $$0; + $$2332 = 1; + $$5 = $16; + } while (0); + switch ($$2332 & 15) { + case 9: + { + $$6 = $$5; + break L10; + break; + } + case 0: + { + $$0 = $$1; + $$4 = $$5; + break; + } + default: + break L12; + } + } + if (!$$2332) $$6 = $$5; else { + label = 108; + break L4; + } + } while (0); + $266 = $spec$select339$sink + 1 | 0; + $267 = ($266 | 0) == 48; + $spec$select = $$0337 + ($267 & 1) | 0; + $$0328 = $$6; + $$0337 = $spec$select; + $$sink369 = $spec$select * 210 | 0; + $spec$select339$sink = $267 ? 0 : $266; + } + if ((label | 0) == 107) { + HEAP32[$2 >> 2] = $16; + $$8 = $16; + break; + } else if ((label | 0) == 108) { + HEAP32[$2 >> 2] = $16; + $$8 = $$5; + break; + } + } else { + $5 = __ZNSt3__213__lower_boundIRNS_6__lessIjmEEPKjmEET0_S6_S6_RKT1_T_(12544, 12736, $2, $1) | 0; + $$8 = HEAP32[$5 >> 2] | 0; + } while (0); + STACKTOP = sp; + return $$8 | 0; +} + +function _fill_inverse_cmap($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0$i = 0, $$0115$i = 0, $$0153$i = 0, $$0156166$i = 0, $$0158$lcssa$i = 0, $$0158164$i = 0, $$0160165$i = 0, $$05466 = 0, $$05765 = 0, $$089114$i = 0, $$092113$i = 0, $$093112$i = 0, $$1$i = 0, $$1154$i = 0, $$1159$i = 0, $$1161163$i = 0, $$195111$i = 0, $$199116$i = 0, $$2$i = 0, $$2155$i = 0, $$pn$i = 0, $$pn162$i = 0, $10 = 0, $102 = 0, $105 = 0, $107 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $21 = 0, $22 = 0, $24 = 0, $247 = 0, $249 = 0, $25 = 0, $250 = 0, $251 = 0, $256 = 0, $257 = 0, $258 = 0, $264 = 0, $265 = 0, $267 = 0, $27 = 0, $273 = 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, $292 = 0, $293 = 0, $298 = 0, $299 = 0, $30 = 0, $303 = 0, $304 = 0, $308 = 0, $311 = 0, $312 = 0, $316 = 0, $317 = 0, $321 = 0, $322 = 0, $326 = 0, $329 = 0, $33 = 0, $330 = 0, $334 = 0, $335 = 0, $339 = 0, $34 = 0, $340 = 0, $344 = 0, $347 = 0, $348 = 0, $352 = 0, $353 = 0, $357 = 0, $358 = 0, $36 = 0, $362 = 0, $365 = 0, $366 = 0, $370 = 0, $371 = 0, $375 = 0, $376 = 0, $38 = 0, $380 = 0, $383 = 0, $384 = 0, $388 = 0, $389 = 0, $393 = 0, $394 = 0, $398 = 0, $4 = 0, $401 = 0, $402 = 0, $406 = 0, $407 = 0, $41 = 0, $411 = 0, $412 = 0, $416 = 0, $419 = 0, $420 = 0, $424 = 0, $425 = 0, $429 = 0, $430 = 0, $438 = 0, $439 = 0, $44 = 0, $440 = 0, $441 = 0, $442 = 0, $443 = 0, $444 = 0, $445 = 0, $446 = 0, $447 = 0, $449 = 0, $450 = 0, $451 = 0, $47 = 0, $474 = 0, $497 = 0, $5 = 0, $51 = 0, $520 = 0, $54 = 0, $543 = 0, $544 = 0, $567 = 0, $58 = 0, $590 = 0, $6 = 0, $61 = 0, $613 = 0, $65 = 0, $68 = 0, $72 = 0, $76 = 0, $80 = 0, $84 = 0, $87 = 0, $91 = 0, $93 = 0, $96 = 0, $99 = 0, $scevgep$1$i = 0, $scevgep$2$i = 0, $scevgep$3$i = 0, $scevgep$4$i = 0, $scevgep$5$i = 0, $scevgep$6$i = 0, $scevgep$i = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1408 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(1408); + $4 = sp + 384 | 0; + $5 = sp + 128 | 0; + $6 = sp; + $10 = HEAP32[(HEAP32[$0 + 484 >> 2] | 0) + 24 >> 2] | 0; + $14 = $1 >>> 2 << 5; + $15 = $14 | 4; + $16 = $2 >>> 3 << 5; + $17 = $16 | 2; + $18 = $3 >>> 2 << 5; + $19 = $18 | 4; + $21 = HEAP32[$0 + 132 >> 2] | 0; + $22 = $14 | 28; + $24 = $22 + $15 >> 1; + $25 = $16 | 30; + $27 = $25 + $17 >> 1; + $28 = $18 | 28; + $30 = $28 + $19 >> 1; + if (($21 | 0) > 0) { + $33 = HEAP32[$0 + 136 >> 2] | 0; + $34 = HEAP32[$33 >> 2] | 0; + $36 = HEAP32[$33 + 4 >> 2] | 0; + $38 = HEAP32[$33 + 8 >> 2] | 0; + $$0156166$i = 2147483647; + $$0160165$i = 0; + do { + $41 = HEAPU8[$34 + $$0160165$i >> 0] | 0; + do if (($15 | 0) <= ($41 | 0)) { + if (($22 | 0) < ($41 | 0)) { + $51 = $41 - $22 << 1; + $54 = $41 - $15 << 1; + $$0$i = Math_imul($54, $54) | 0; + $$0153$i = Math_imul($51, $51) | 0; + break; + } + if (($24 | 0) < ($41 | 0)) { + $61 = $41 - $15 << 1; + $$0$i = Math_imul($61, $61) | 0; + $$0153$i = 0; + break; + } else { + $58 = $41 - $22 << 1; + $$0$i = Math_imul($58, $58) | 0; + $$0153$i = 0; + break; + } + } else { + $44 = $41 - $15 << 1; + $47 = $41 - $22 << 1; + $$0$i = Math_imul($47, $47) | 0; + $$0153$i = Math_imul($44, $44) | 0; + } while (0); + $65 = HEAPU8[$36 + $$0160165$i >> 0] | 0; + do if (($17 | 0) <= ($65 | 0)) { + if (($25 | 0) < ($65 | 0)) { + $76 = ($65 - $25 | 0) * 3 | 0; + $80 = ($65 - $17 | 0) * 3 | 0; + $$1154$i = (Math_imul($76, $76) | 0) + $$0153$i | 0; + $$pn$i = Math_imul($80, $80) | 0; + break; + } + if (($27 | 0) < ($65 | 0)) { + $87 = ($65 - $17 | 0) * 3 | 0; + $$1154$i = $$0153$i; + $$pn$i = Math_imul($87, $87) | 0; + break; + } else { + $84 = ($65 - $25 | 0) * 3 | 0; + $$1154$i = $$0153$i; + $$pn$i = Math_imul($84, $84) | 0; + break; + } + } else { + $68 = ($65 - $17 | 0) * 3 | 0; + $72 = ($65 - $25 | 0) * 3 | 0; + $$1154$i = (Math_imul($68, $68) | 0) + $$0153$i | 0; + $$pn$i = Math_imul($72, $72) | 0; + } while (0); + $$1$i = $$pn$i + $$0$i | 0; + $91 = HEAPU8[$38 + $$0160165$i >> 0] | 0; + do if (($19 | 0) <= ($91 | 0)) { + if (($28 | 0) < ($91 | 0)) { + $99 = $91 - $28 | 0; + $102 = $91 - $19 | 0; + $$2155$i = (Math_imul($99, $99) | 0) + $$1154$i | 0; + $$pn162$i = Math_imul($102, $102) | 0; + break; + } + if (($30 | 0) < ($91 | 0)) { + $107 = $91 - $19 | 0; + $$2155$i = $$1154$i; + $$pn162$i = Math_imul($107, $107) | 0; + break; + } else { + $105 = $91 - $28 | 0; + $$2155$i = $$1154$i; + $$pn162$i = Math_imul($105, $105) | 0; + break; + } + } else { + $93 = $91 - $19 | 0; + $96 = $91 - $28 | 0; + $$2155$i = (Math_imul($93, $93) | 0) + $$1154$i | 0; + $$pn162$i = Math_imul($96, $96) | 0; + } while (0); + $$2$i = $$1$i + $$pn162$i | 0; + HEAP32[$4 + ($$0160165$i << 2) >> 2] = $$2155$i; + $$0156166$i = ($$2$i | 0) < ($$0156166$i | 0) ? $$2$i : $$0156166$i; + $$0160165$i = $$0160165$i + 1 | 0; + } while (($$0160165$i | 0) != ($21 | 0)); + $$0158164$i = 0; + $$1161163$i = 0; + while (1) { + if ((HEAP32[$4 + ($$1161163$i << 2) >> 2] | 0) > ($$0156166$i | 0)) $$1159$i = $$0158164$i; else { + HEAP8[$5 + $$0158164$i >> 0] = $$1161163$i; + $$1159$i = $$0158164$i + 1 | 0; + } + $$1161163$i = $$1161163$i + 1 | 0; + if (($$1161163$i | 0) == ($21 | 0)) { + $$0158$lcssa$i = $$1159$i; + break; + } else $$0158164$i = $$1159$i; + } + } else $$0158$lcssa$i = 0; + HEAP32[$4 >> 2] = 2147483647; + HEAP32[$4 + 4 >> 2] = 2147483647; + HEAP32[$4 + 8 >> 2] = 2147483647; + HEAP32[$4 + 12 >> 2] = 2147483647; + HEAP32[$4 + 16 >> 2] = 2147483647; + HEAP32[$4 + 20 >> 2] = 2147483647; + HEAP32[$4 + 24 >> 2] = 2147483647; + HEAP32[$4 + 28 >> 2] = 2147483647; + HEAP32[$4 + 32 >> 2] = 2147483647; + HEAP32[$4 + 36 >> 2] = 2147483647; + HEAP32[$4 + 40 >> 2] = 2147483647; + HEAP32[$4 + 44 >> 2] = 2147483647; + HEAP32[$4 + 48 >> 2] = 2147483647; + HEAP32[$4 + 52 >> 2] = 2147483647; + HEAP32[$4 + 56 >> 2] = 2147483647; + HEAP32[$4 + 60 >> 2] = 2147483647; + HEAP32[$4 + 64 >> 2] = 2147483647; + HEAP32[$4 + 68 >> 2] = 2147483647; + HEAP32[$4 + 72 >> 2] = 2147483647; + HEAP32[$4 + 76 >> 2] = 2147483647; + HEAP32[$4 + 80 >> 2] = 2147483647; + HEAP32[$4 + 84 >> 2] = 2147483647; + HEAP32[$4 + 88 >> 2] = 2147483647; + HEAP32[$4 + 92 >> 2] = 2147483647; + HEAP32[$4 + 96 >> 2] = 2147483647; + HEAP32[$4 + 100 >> 2] = 2147483647; + HEAP32[$4 + 104 >> 2] = 2147483647; + HEAP32[$4 + 108 >> 2] = 2147483647; + HEAP32[$4 + 112 >> 2] = 2147483647; + HEAP32[$4 + 116 >> 2] = 2147483647; + HEAP32[$4 + 120 >> 2] = 2147483647; + HEAP32[$4 + 124 >> 2] = 2147483647; + HEAP32[$4 + 128 >> 2] = 2147483647; + HEAP32[$4 + 132 >> 2] = 2147483647; + HEAP32[$4 + 136 >> 2] = 2147483647; + HEAP32[$4 + 140 >> 2] = 2147483647; + HEAP32[$4 + 144 >> 2] = 2147483647; + HEAP32[$4 + 148 >> 2] = 2147483647; + HEAP32[$4 + 152 >> 2] = 2147483647; + HEAP32[$4 + 156 >> 2] = 2147483647; + HEAP32[$4 + 160 >> 2] = 2147483647; + HEAP32[$4 + 164 >> 2] = 2147483647; + HEAP32[$4 + 168 >> 2] = 2147483647; + HEAP32[$4 + 172 >> 2] = 2147483647; + HEAP32[$4 + 176 >> 2] = 2147483647; + HEAP32[$4 + 180 >> 2] = 2147483647; + HEAP32[$4 + 184 >> 2] = 2147483647; + HEAP32[$4 + 188 >> 2] = 2147483647; + HEAP32[$4 + 192 >> 2] = 2147483647; + HEAP32[$4 + 196 >> 2] = 2147483647; + HEAP32[$4 + 200 >> 2] = 2147483647; + HEAP32[$4 + 204 >> 2] = 2147483647; + HEAP32[$4 + 208 >> 2] = 2147483647; + HEAP32[$4 + 212 >> 2] = 2147483647; + HEAP32[$4 + 216 >> 2] = 2147483647; + HEAP32[$4 + 220 >> 2] = 2147483647; + HEAP32[$4 + 224 >> 2] = 2147483647; + HEAP32[$4 + 228 >> 2] = 2147483647; + HEAP32[$4 + 232 >> 2] = 2147483647; + HEAP32[$4 + 236 >> 2] = 2147483647; + HEAP32[$4 + 240 >> 2] = 2147483647; + HEAP32[$4 + 244 >> 2] = 2147483647; + HEAP32[$4 + 248 >> 2] = 2147483647; + HEAP32[$4 + 252 >> 2] = 2147483647; + HEAP32[$4 + 256 >> 2] = 2147483647; + HEAP32[$4 + 260 >> 2] = 2147483647; + HEAP32[$4 + 264 >> 2] = 2147483647; + HEAP32[$4 + 268 >> 2] = 2147483647; + HEAP32[$4 + 272 >> 2] = 2147483647; + HEAP32[$4 + 276 >> 2] = 2147483647; + HEAP32[$4 + 280 >> 2] = 2147483647; + HEAP32[$4 + 284 >> 2] = 2147483647; + HEAP32[$4 + 288 >> 2] = 2147483647; + HEAP32[$4 + 292 >> 2] = 2147483647; + HEAP32[$4 + 296 >> 2] = 2147483647; + HEAP32[$4 + 300 >> 2] = 2147483647; + HEAP32[$4 + 304 >> 2] = 2147483647; + HEAP32[$4 + 308 >> 2] = 2147483647; + HEAP32[$4 + 312 >> 2] = 2147483647; + HEAP32[$4 + 316 >> 2] = 2147483647; + HEAP32[$4 + 320 >> 2] = 2147483647; + HEAP32[$4 + 324 >> 2] = 2147483647; + HEAP32[$4 + 328 >> 2] = 2147483647; + HEAP32[$4 + 332 >> 2] = 2147483647; + HEAP32[$4 + 336 >> 2] = 2147483647; + HEAP32[$4 + 340 >> 2] = 2147483647; + HEAP32[$4 + 344 >> 2] = 2147483647; + HEAP32[$4 + 348 >> 2] = 2147483647; + HEAP32[$4 + 352 >> 2] = 2147483647; + HEAP32[$4 + 356 >> 2] = 2147483647; + HEAP32[$4 + 360 >> 2] = 2147483647; + HEAP32[$4 + 364 >> 2] = 2147483647; + HEAP32[$4 + 368 >> 2] = 2147483647; + HEAP32[$4 + 372 >> 2] = 2147483647; + HEAP32[$4 + 376 >> 2] = 2147483647; + HEAP32[$4 + 380 >> 2] = 2147483647; + HEAP32[$4 + 384 >> 2] = 2147483647; + HEAP32[$4 + 388 >> 2] = 2147483647; + HEAP32[$4 + 392 >> 2] = 2147483647; + HEAP32[$4 + 396 >> 2] = 2147483647; + HEAP32[$4 + 400 >> 2] = 2147483647; + HEAP32[$4 + 404 >> 2] = 2147483647; + HEAP32[$4 + 408 >> 2] = 2147483647; + HEAP32[$4 + 412 >> 2] = 2147483647; + HEAP32[$4 + 416 >> 2] = 2147483647; + HEAP32[$4 + 420 >> 2] = 2147483647; + HEAP32[$4 + 424 >> 2] = 2147483647; + HEAP32[$4 + 428 >> 2] = 2147483647; + HEAP32[$4 + 432 >> 2] = 2147483647; + HEAP32[$4 + 436 >> 2] = 2147483647; + HEAP32[$4 + 440 >> 2] = 2147483647; + HEAP32[$4 + 444 >> 2] = 2147483647; + HEAP32[$4 + 448 >> 2] = 2147483647; + HEAP32[$4 + 452 >> 2] = 2147483647; + HEAP32[$4 + 456 >> 2] = 2147483647; + HEAP32[$4 + 460 >> 2] = 2147483647; + HEAP32[$4 + 464 >> 2] = 2147483647; + HEAP32[$4 + 468 >> 2] = 2147483647; + HEAP32[$4 + 472 >> 2] = 2147483647; + HEAP32[$4 + 476 >> 2] = 2147483647; + HEAP32[$4 + 480 >> 2] = 2147483647; + HEAP32[$4 + 484 >> 2] = 2147483647; + HEAP32[$4 + 488 >> 2] = 2147483647; + HEAP32[$4 + 492 >> 2] = 2147483647; + HEAP32[$4 + 496 >> 2] = 2147483647; + HEAP32[$4 + 500 >> 2] = 2147483647; + HEAP32[$4 + 504 >> 2] = 2147483647; + HEAP32[$4 + 508 >> 2] = 2147483647; + if (($$0158$lcssa$i | 0) > 0) { + $247 = $0 + 136 | 0; + $$199116$i = 0; + do { + $249 = HEAP8[$5 + $$199116$i >> 0] | 0; + $250 = $249 & 255; + $251 = HEAP32[$247 >> 2] | 0; + $256 = $15 - (HEAPU8[(HEAP32[$251 >> 2] | 0) + $250 >> 0] | 0) | 0; + $257 = $256 << 1; + $258 = Math_imul($257, $257) | 0; + $264 = $17 - (HEAPU8[(HEAP32[$251 + 4 >> 2] | 0) + $250 >> 0] | 0) | 0; + $265 = $264 * 3 | 0; + $267 = (Math_imul($265, $265) | 0) + $258 | 0; + $273 = $19 - (HEAPU8[(HEAP32[$251 + 8 >> 2] | 0) + $250 >> 0] | 0) | 0; + $278 = $264 * 72 | 0; + $279 = $278 + 144 | 0; + $280 = $273 << 4; + $281 = $280 + 64 | 0; + $282 = $280 + 192 | 0; + $283 = $280 + 320 | 0; + $284 = $278 + 432 | 0; + $285 = $278 + 720 | 0; + $286 = $278 + 1008 | 0; + $287 = $278 + 1296 | 0; + $288 = $278 + 1584 | 0; + $289 = $278 + 1872 | 0; + $$0115$i = 3; + $$089114$i = ($256 << 6) + 256 | 0; + $$092113$i = $267 + (Math_imul($273, $273) | 0) | 0; + $$093112$i = $6; + $$195111$i = $4; + while (1) { + $scevgep$i = $$195111$i + 16 | 0; + if (($$092113$i | 0) < (HEAP32[$$195111$i >> 2] | 0)) { + HEAP32[$$195111$i >> 2] = $$092113$i; + HEAP8[$$093112$i >> 0] = $249; + } + $292 = $$092113$i + $281 | 0; + $293 = $$195111$i + 4 | 0; + if (($292 | 0) < (HEAP32[$293 >> 2] | 0)) { + HEAP32[$293 >> 2] = $292; + HEAP8[$$093112$i + 1 >> 0] = $249; + } + $298 = $292 + $282 | 0; + $299 = $$195111$i + 8 | 0; + if (($298 | 0) < (HEAP32[$299 >> 2] | 0)) { + HEAP32[$299 >> 2] = $298; + HEAP8[$$093112$i + 2 >> 0] = $249; + } + $303 = $298 + $283 | 0; + $304 = $$195111$i + 12 | 0; + if (($303 | 0) < (HEAP32[$304 >> 2] | 0)) { + HEAP32[$304 >> 2] = $303; + HEAP8[$$093112$i + 3 >> 0] = $249; + } + $308 = $279 + $$092113$i | 0; + $scevgep$1$i = $$195111$i + 32 | 0; + if (($308 | 0) < (HEAP32[$scevgep$i >> 2] | 0)) { + HEAP32[$scevgep$i >> 2] = $308; + HEAP8[$$093112$i + 4 >> 0] = $249; + } + $311 = $308 + $281 | 0; + $312 = $$195111$i + 20 | 0; + if (($311 | 0) < (HEAP32[$312 >> 2] | 0)) { + HEAP32[$312 >> 2] = $311; + HEAP8[$$093112$i + 5 >> 0] = $249; + } + $316 = $311 + $282 | 0; + $317 = $$195111$i + 24 | 0; + if (($316 | 0) < (HEAP32[$317 >> 2] | 0)) { + HEAP32[$317 >> 2] = $316; + HEAP8[$$093112$i + 6 >> 0] = $249; + } + $321 = $316 + $283 | 0; + $322 = $$195111$i + 28 | 0; + if (($321 | 0) < (HEAP32[$322 >> 2] | 0)) { + HEAP32[$322 >> 2] = $321; + HEAP8[$$093112$i + 7 >> 0] = $249; + } + $326 = $284 + $308 | 0; + $scevgep$2$i = $$195111$i + 48 | 0; + if (($326 | 0) < (HEAP32[$scevgep$1$i >> 2] | 0)) { + HEAP32[$scevgep$1$i >> 2] = $326; + HEAP8[$$093112$i + 8 >> 0] = $249; + } + $329 = $326 + $281 | 0; + $330 = $$195111$i + 36 | 0; + if (($329 | 0) < (HEAP32[$330 >> 2] | 0)) { + HEAP32[$330 >> 2] = $329; + HEAP8[$$093112$i + 9 >> 0] = $249; + } + $334 = $329 + $282 | 0; + $335 = $$195111$i + 40 | 0; + if (($334 | 0) < (HEAP32[$335 >> 2] | 0)) { + HEAP32[$335 >> 2] = $334; + HEAP8[$$093112$i + 10 >> 0] = $249; + } + $339 = $334 + $283 | 0; + $340 = $$195111$i + 44 | 0; + if (($339 | 0) < (HEAP32[$340 >> 2] | 0)) { + HEAP32[$340 >> 2] = $339; + HEAP8[$$093112$i + 11 >> 0] = $249; + } + $344 = $285 + $326 | 0; + $scevgep$3$i = $$195111$i + 64 | 0; + if (($344 | 0) < (HEAP32[$scevgep$2$i >> 2] | 0)) { + HEAP32[$scevgep$2$i >> 2] = $344; + HEAP8[$$093112$i + 12 >> 0] = $249; + } + $347 = $344 + $281 | 0; + $348 = $$195111$i + 52 | 0; + if (($347 | 0) < (HEAP32[$348 >> 2] | 0)) { + HEAP32[$348 >> 2] = $347; + HEAP8[$$093112$i + 13 >> 0] = $249; + } + $352 = $347 + $282 | 0; + $353 = $$195111$i + 56 | 0; + if (($352 | 0) < (HEAP32[$353 >> 2] | 0)) { + HEAP32[$353 >> 2] = $352; + HEAP8[$$093112$i + 14 >> 0] = $249; + } + $357 = $352 + $283 | 0; + $358 = $$195111$i + 60 | 0; + if (($357 | 0) < (HEAP32[$358 >> 2] | 0)) { + HEAP32[$358 >> 2] = $357; + HEAP8[$$093112$i + 15 >> 0] = $249; + } + $362 = $286 + $344 | 0; + $scevgep$4$i = $$195111$i + 80 | 0; + if (($362 | 0) < (HEAP32[$scevgep$3$i >> 2] | 0)) { + HEAP32[$scevgep$3$i >> 2] = $362; + HEAP8[$$093112$i + 16 >> 0] = $249; + } + $365 = $362 + $281 | 0; + $366 = $$195111$i + 68 | 0; + if (($365 | 0) < (HEAP32[$366 >> 2] | 0)) { + HEAP32[$366 >> 2] = $365; + HEAP8[$$093112$i + 17 >> 0] = $249; + } + $370 = $365 + $282 | 0; + $371 = $$195111$i + 72 | 0; + if (($370 | 0) < (HEAP32[$371 >> 2] | 0)) { + HEAP32[$371 >> 2] = $370; + HEAP8[$$093112$i + 18 >> 0] = $249; + } + $375 = $370 + $283 | 0; + $376 = $$195111$i + 76 | 0; + if (($375 | 0) < (HEAP32[$376 >> 2] | 0)) { + HEAP32[$376 >> 2] = $375; + HEAP8[$$093112$i + 19 >> 0] = $249; + } + $380 = $287 + $362 | 0; + $scevgep$5$i = $$195111$i + 96 | 0; + if (($380 | 0) < (HEAP32[$scevgep$4$i >> 2] | 0)) { + HEAP32[$scevgep$4$i >> 2] = $380; + HEAP8[$$093112$i + 20 >> 0] = $249; + } + $383 = $380 + $281 | 0; + $384 = $$195111$i + 84 | 0; + if (($383 | 0) < (HEAP32[$384 >> 2] | 0)) { + HEAP32[$384 >> 2] = $383; + HEAP8[$$093112$i + 21 >> 0] = $249; + } + $388 = $383 + $282 | 0; + $389 = $$195111$i + 88 | 0; + if (($388 | 0) < (HEAP32[$389 >> 2] | 0)) { + HEAP32[$389 >> 2] = $388; + HEAP8[$$093112$i + 22 >> 0] = $249; + } + $393 = $388 + $283 | 0; + $394 = $$195111$i + 92 | 0; + if (($393 | 0) < (HEAP32[$394 >> 2] | 0)) { + HEAP32[$394 >> 2] = $393; + HEAP8[$$093112$i + 23 >> 0] = $249; + } + $398 = $288 + $380 | 0; + $scevgep$6$i = $$195111$i + 112 | 0; + if (($398 | 0) < (HEAP32[$scevgep$5$i >> 2] | 0)) { + HEAP32[$scevgep$5$i >> 2] = $398; + HEAP8[$$093112$i + 24 >> 0] = $249; + } + $401 = $398 + $281 | 0; + $402 = $$195111$i + 100 | 0; + if (($401 | 0) < (HEAP32[$402 >> 2] | 0)) { + HEAP32[$402 >> 2] = $401; + HEAP8[$$093112$i + 25 >> 0] = $249; + } + $406 = $401 + $282 | 0; + $407 = $$195111$i + 104 | 0; + if (($406 | 0) < (HEAP32[$407 >> 2] | 0)) { + HEAP32[$407 >> 2] = $406; + HEAP8[$$093112$i + 26 >> 0] = $249; + } + $411 = $406 + $283 | 0; + $412 = $$195111$i + 108 | 0; + if (($411 | 0) < (HEAP32[$412 >> 2] | 0)) { + HEAP32[$412 >> 2] = $411; + HEAP8[$$093112$i + 27 >> 0] = $249; + } + $416 = $289 + $398 | 0; + if (($416 | 0) < (HEAP32[$scevgep$6$i >> 2] | 0)) { + HEAP32[$scevgep$6$i >> 2] = $416; + HEAP8[$$093112$i + 28 >> 0] = $249; + } + $419 = $416 + $281 | 0; + $420 = $$195111$i + 116 | 0; + if (($419 | 0) < (HEAP32[$420 >> 2] | 0)) { + HEAP32[$420 >> 2] = $419; + HEAP8[$$093112$i + 29 >> 0] = $249; + } + $424 = $419 + $282 | 0; + $425 = $$195111$i + 120 | 0; + if (($424 | 0) < (HEAP32[$425 >> 2] | 0)) { + HEAP32[$425 >> 2] = $424; + HEAP8[$$093112$i + 30 >> 0] = $249; + } + $429 = $424 + $283 | 0; + $430 = $$195111$i + 124 | 0; + if (($429 | 0) < (HEAP32[$430 >> 2] | 0)) { + HEAP32[$430 >> 2] = $429; + HEAP8[$$093112$i + 31 >> 0] = $249; + } + $$092113$i = $$092113$i + $$089114$i | 0; + if (!$$0115$i) break; else { + $$0115$i = $$0115$i + -1 | 0; + $$089114$i = $$089114$i + 512 | 0; + $$093112$i = $$093112$i + 32 | 0; + $$195111$i = $$195111$i + 128 | 0; + } + } + $$199116$i = $$199116$i + 1 | 0; + } while (($$199116$i | 0) != ($$0158$lcssa$i | 0)); + } + $438 = $1 & -4; + $439 = $2 & -8; + $440 = $3 & -4; + $441 = $439 | 1; + $442 = $439 | 2; + $443 = $439 | 3; + $444 = $439 | 4; + $445 = $439 | 5; + $446 = $439 | 6; + $447 = $2 | 7; + $$05466 = $6; + $$05765 = 0; + while (1) { + $449 = $10 + ($$05765 + $438 << 2) | 0; + $450 = HEAP32[$449 >> 2] | 0; + $451 = $450 + ($439 << 6) + ($440 << 1) | 0; + HEAP16[$451 >> 1] = (HEAPU8[$$05466 >> 0] | 0) + 1; + HEAP16[$451 + 2 >> 1] = (HEAPU8[$$05466 + 1 >> 0] | 0) + 1; + HEAP16[$451 + 4 >> 1] = (HEAPU8[$$05466 + 2 >> 0] | 0) + 1; + HEAP16[$451 + 6 >> 1] = (HEAPU8[$$05466 + 3 >> 0] | 0) + 1; + $474 = $450 + ($441 << 6) + ($440 << 1) | 0; + HEAP16[$474 >> 1] = (HEAPU8[$$05466 + 4 >> 0] | 0) + 1; + HEAP16[$474 + 2 >> 1] = (HEAPU8[$$05466 + 5 >> 0] | 0) + 1; + HEAP16[$474 + 4 >> 1] = (HEAPU8[$$05466 + 6 >> 0] | 0) + 1; + HEAP16[$474 + 6 >> 1] = (HEAPU8[$$05466 + 7 >> 0] | 0) + 1; + $497 = $450 + ($442 << 6) + ($440 << 1) | 0; + HEAP16[$497 >> 1] = (HEAPU8[$$05466 + 8 >> 0] | 0) + 1; + HEAP16[$497 + 2 >> 1] = (HEAPU8[$$05466 + 9 >> 0] | 0) + 1; + HEAP16[$497 + 4 >> 1] = (HEAPU8[$$05466 + 10 >> 0] | 0) + 1; + HEAP16[$497 + 6 >> 1] = (HEAPU8[$$05466 + 11 >> 0] | 0) + 1; + $520 = $450 + ($443 << 6) + ($440 << 1) | 0; + HEAP16[$520 >> 1] = (HEAPU8[$$05466 + 12 >> 0] | 0) + 1; + HEAP16[$520 + 2 >> 1] = (HEAPU8[$$05466 + 13 >> 0] | 0) + 1; + HEAP16[$520 + 4 >> 1] = (HEAPU8[$$05466 + 14 >> 0] | 0) + 1; + HEAP16[$520 + 6 >> 1] = (HEAPU8[$$05466 + 15 >> 0] | 0) + 1; + $543 = HEAP32[$449 >> 2] | 0; + $544 = $543 + ($444 << 6) + ($440 << 1) | 0; + HEAP16[$544 >> 1] = (HEAPU8[$$05466 + 16 >> 0] | 0) + 1; + HEAP16[$544 + 2 >> 1] = (HEAPU8[$$05466 + 17 >> 0] | 0) + 1; + HEAP16[$544 + 4 >> 1] = (HEAPU8[$$05466 + 18 >> 0] | 0) + 1; + HEAP16[$544 + 6 >> 1] = (HEAPU8[$$05466 + 19 >> 0] | 0) + 1; + $567 = $543 + ($445 << 6) + ($440 << 1) | 0; + HEAP16[$567 >> 1] = (HEAPU8[$$05466 + 20 >> 0] | 0) + 1; + HEAP16[$567 + 2 >> 1] = (HEAPU8[$$05466 + 21 >> 0] | 0) + 1; + HEAP16[$567 + 4 >> 1] = (HEAPU8[$$05466 + 22 >> 0] | 0) + 1; + HEAP16[$567 + 6 >> 1] = (HEAPU8[$$05466 + 23 >> 0] | 0) + 1; + $590 = $543 + ($446 << 6) + ($440 << 1) | 0; + HEAP16[$590 >> 1] = (HEAPU8[$$05466 + 24 >> 0] | 0) + 1; + HEAP16[$590 + 2 >> 1] = (HEAPU8[$$05466 + 25 >> 0] | 0) + 1; + HEAP16[$590 + 4 >> 1] = (HEAPU8[$$05466 + 26 >> 0] | 0) + 1; + HEAP16[$590 + 6 >> 1] = (HEAPU8[$$05466 + 27 >> 0] | 0) + 1; + $613 = $543 + ($447 << 6) + ($440 << 1) | 0; + HEAP16[$613 >> 1] = (HEAPU8[$$05466 + 28 >> 0] | 0) + 1; + HEAP16[$613 + 2 >> 1] = (HEAPU8[$$05466 + 29 >> 0] | 0) + 1; + HEAP16[$613 + 4 >> 1] = (HEAPU8[$$05466 + 30 >> 0] | 0) + 1; + HEAP16[$613 + 6 >> 1] = (HEAPU8[$$05466 + 31 >> 0] | 0) + 1; + $$05765 = $$05765 + 1 | 0; + if (($$05765 | 0) == 4) break; else $$05466 = $$05466 + 32 | 0; + } + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E17parseOperatorNameEPNS5_9NameStateE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$1 = 0, $$2 = 0, $$3 = 0, $199 = 0, $2 = 0, $3 = 0, $35 = 0, $38 = 0, $4 = 0, $41 = 0, $93 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp + 16 | 0; + $3 = sp + 8 | 0; + $4 = sp; + L1 : do switch ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 0) | 0) << 24 >> 24 | 0) { + case 97: + { + switch ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 1) | 0) << 24 >> 24 | 0) { + case 97: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA11_KcEEEPNS0_4NodeEDpOT0_($0, 53763) | 0; + break L1; + break; + } + case 110: + case 100: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA10_KcEEEPNS0_4NodeEDpOT0_($0, 53774) | 0; + break L1; + break; + } + case 78: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA11_KcEEEPNS0_4NodeEDpOT0_($0, 53784) | 0; + break L1; + break; + } + case 83: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA10_KcEEEPNS0_4NodeEDpOT0_($0, 53795) | 0; + break L1; + break; + } + default: + { + $$3 = 0; + break L1; + } + } + break; + } + case 99: + { + switch ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 1) | 0) << 24 >> 24 | 0) { + case 108: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA11_KcEEEPNS0_4NodeEDpOT0_($0, 53805) | 0; + break L1; + break; + } + case 109: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA10_KcEEEPNS0_4NodeEDpOT0_($0, 53816) | 0; + break L1; + break; + } + case 111: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA10_KcEEEPNS0_4NodeEDpOT0_($0, 53826) | 0; + break L1; + break; + } + case 118: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + __ZN12_GLOBAL__N_114SwapAndRestoreIbEC2ERbb($2, $0 + 360 | 0, 0); + $35 = $0 + 361 | 0; + $38 = ($1 | 0) != 0; + __ZN12_GLOBAL__N_114SwapAndRestoreIbEC2ERbb($3, $35, $38 | (HEAP8[$35 >> 0] | 0) != 0); + $41 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseTypeEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$4 >> 2] = $41; + if (!$41) $$0 = 0; else { + if ($38) HEAP8[$1 >> 0] = 1; + $$0 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_22ConversionOperatorTypeEJRPNS0_4NodeEEEES9_DpOT0_($0, $4) | 0; + } + __ZN12_GLOBAL__N_114SwapAndRestoreIbED2Ev($3); + __ZN12_GLOBAL__N_114SwapAndRestoreIbED2Ev($2); + $$3 = $$0; + break L1; + break; + } + default: + { + $$3 = 0; + break L1; + } + } + break; + } + case 100: + { + switch ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 1) | 0) << 24 >> 24 | 0) { + case 97: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA18_KcEEEPNS0_4NodeEDpOT0_($0, 53836) | 0; + break L1; + break; + } + case 101: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA10_KcEEEPNS0_4NodeEDpOT0_($0, 53854) | 0; + break L1; + break; + } + case 108: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA16_KcEEEPNS0_4NodeEDpOT0_($0) | 0; + break L1; + break; + } + case 118: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA10_KcEEEPNS0_4NodeEDpOT0_($0, 53864) | 0; + break L1; + break; + } + case 86: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA11_KcEEEPNS0_4NodeEDpOT0_($0, 53874) | 0; + break L1; + break; + } + default: + { + $$3 = 0; + break L1; + } + } + break; + } + case 101: + { + switch ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 1) | 0) << 24 >> 24 | 0) { + case 111: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA10_KcEEEPNS0_4NodeEDpOT0_($0, 53885) | 0; + break L1; + break; + } + case 79: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA11_KcEEEPNS0_4NodeEDpOT0_($0, 53895) | 0; + break L1; + break; + } + case 113: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA11_KcEEEPNS0_4NodeEDpOT0_($0, 53906) | 0; + break L1; + break; + } + default: + { + $$3 = 0; + break L1; + } + } + break; + } + case 103: + { + switch ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 1) | 0) << 24 >> 24 | 0) { + case 101: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA11_KcEEEPNS0_4NodeEDpOT0_($0, 53917) | 0; + break L1; + break; + } + case 116: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA10_KcEEEPNS0_4NodeEDpOT0_($0, 53928) | 0; + break L1; + break; + } + default: + { + $$3 = 0; + break L1; + } + } + break; + } + case 105: + { + if ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 1) | 0) << 24 >> 24 == 120) { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA11_KcEEEPNS0_4NodeEDpOT0_($0, 53938) | 0; + } else $$3 = 0; + break; + } + case 108: + { + switch ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 1) | 0) << 24 >> 24 | 0) { + case 101: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA11_KcEEEPNS0_4NodeEDpOT0_($0, 53949) | 0; + break L1; + break; + } + case 105: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $93 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseSourceNameEPNS5_9NameStateE(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$2 >> 2] = $93; + if (!$93) $$1 = 0; else $$1 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_15LiteralOperatorEJRPNS0_4NodeEEEES9_DpOT0_($0, $2) | 0; + $$3 = $$1; + break L1; + break; + } + case 115: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA11_KcEEEPNS0_4NodeEDpOT0_($0, 53960) | 0; + break L1; + break; + } + case 83: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA12_KcEEEPNS0_4NodeEDpOT0_($0, 53971) | 0; + break L1; + break; + } + case 116: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA10_KcEEEPNS0_4NodeEDpOT0_($0, 53983) | 0; + break L1; + break; + } + default: + { + $$3 = 0; + break L1; + } + } + break; + } + case 109: + { + switch ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 1) | 0) << 24 >> 24 | 0) { + case 105: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA10_KcEEEPNS0_4NodeEDpOT0_($0, 53993) | 0; + break L1; + break; + } + case 73: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA11_KcEEEPNS0_4NodeEDpOT0_($0, 54003) | 0; + break L1; + break; + } + case 108: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA10_KcEEEPNS0_4NodeEDpOT0_($0, 53854) | 0; + break L1; + break; + } + case 76: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA11_KcEEEPNS0_4NodeEDpOT0_($0, 54014) | 0; + break L1; + break; + } + case 109: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA11_KcEEEPNS0_4NodeEDpOT0_($0, 54025) | 0; + break L1; + break; + } + default: + { + $$3 = 0; + break L1; + } + } + break; + } + case 110: + { + switch ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 1) | 0) << 24 >> 24 | 0) { + case 97: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA15_KcEEEPNS0_4NodeEDpOT0_($0, 54036) | 0; + break L1; + break; + } + case 101: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA11_KcEEEPNS0_4NodeEDpOT0_($0, 54051) | 0; + break L1; + break; + } + case 103: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA10_KcEEEPNS0_4NodeEDpOT0_($0, 53993) | 0; + break L1; + break; + } + case 116: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA10_KcEEEPNS0_4NodeEDpOT0_($0, 54062) | 0; + break L1; + break; + } + case 119: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA13_KcEEEPNS0_4NodeEDpOT0_($0, 54072) | 0; + break L1; + break; + } + default: + { + $$3 = 0; + break L1; + } + } + break; + } + case 111: + { + switch ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 1) | 0) << 24 >> 24 | 0) { + case 111: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA11_KcEEEPNS0_4NodeEDpOT0_($0, 54085) | 0; + break L1; + break; + } + case 114: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA10_KcEEEPNS0_4NodeEDpOT0_($0, 54096) | 0; + break L1; + break; + } + case 82: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA11_KcEEEPNS0_4NodeEDpOT0_($0, 54106) | 0; + break L1; + break; + } + default: + { + $$3 = 0; + break L1; + } + } + break; + } + case 112: + { + switch ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 1) | 0) << 24 >> 24 | 0) { + case 109: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA12_KcEEEPNS0_4NodeEDpOT0_($0, 54117) | 0; + break L1; + break; + } + case 108: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA10_KcEEEPNS0_4NodeEDpOT0_($0, 54129) | 0; + break L1; + break; + } + case 76: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA11_KcEEEPNS0_4NodeEDpOT0_($0, 54139) | 0; + break L1; + break; + } + case 112: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA11_KcEEEPNS0_4NodeEDpOT0_($0, 54150) | 0; + break L1; + break; + } + case 115: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA10_KcEEEPNS0_4NodeEDpOT0_($0, 54129) | 0; + break L1; + break; + } + case 116: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA11_KcEEEPNS0_4NodeEDpOT0_($0, 54161) | 0; + break L1; + break; + } + default: + { + $$3 = 0; + break L1; + } + } + break; + } + case 113: + { + if ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 1) | 0) << 24 >> 24 == 117) { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA10_KcEEEPNS0_4NodeEDpOT0_($0, 54172) | 0; + } else $$3 = 0; + break; + } + case 114: + { + switch ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 1) | 0) << 24 >> 24 | 0) { + case 109: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA10_KcEEEPNS0_4NodeEDpOT0_($0, 54182) | 0; + break L1; + break; + } + case 77: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA11_KcEEEPNS0_4NodeEDpOT0_($0, 54192) | 0; + break L1; + break; + } + case 115: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA11_KcEEEPNS0_4NodeEDpOT0_($0, 54203) | 0; + break L1; + break; + } + case 83: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA12_KcEEEPNS0_4NodeEDpOT0_($0, 54214) | 0; + break L1; + break; + } + default: + { + $$3 = 0; + break L1; + } + } + break; + } + case 115: + { + if ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 1) | 0) << 24 >> 24 == 115) { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA12_KcEEEPNS0_4NodeEDpOT0_($0, 54226) | 0; + } else $$3 = 0; + break; + } + case 118: + { + if ((((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 1) | 0) << 24 >> 24) + -48 | 0) >>> 0 < 10) { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $199 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseSourceNameEPNS5_9NameStateE(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$2 >> 2] = $199; + if (!$199) $$2 = 0; else $$2 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_22ConversionOperatorTypeEJRPNS0_4NodeEEEES9_DpOT0_($0, $2) | 0; + $$3 = $$2; + } else $$3 = 0; + break; + } + default: + $$3 = 0; + } while (0); + STACKTOP = sp; + return $$3 | 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, $$0463$lcssa = 0, $$0463588 = 0, $$0464599 = 0, $$0471 = 0.0, $$0479 = 0, $$0487657 = 0, $$0488669 = 0, $$0488671 = 0, $$0497670 = 0, $$0498 = 0, $$0511586 = 0.0, $$0513 = 0, $$0516652 = 0, $$0522 = 0, $$0523 = 0, $$0525 = 0, $$0527 = 0, $$0529$in646 = 0, $$0532651 = 0, $$1465 = 0, $$1467 = 0.0, $$1469 = 0.0, $$1472 = 0.0, $$1480 = 0, $$1482$lcssa = 0, $$1482683 = 0, $$1489656 = 0, $$1499 = 0, $$1510587 = 0, $$1514$lcssa = 0, $$1514614 = 0, $$1517 = 0, $$1526 = 0, $$1530621 = 0, $$1533$lcssa = 0, $$1533645 = 0, $$1604 = 0, $$2 = 0, $$2473 = 0.0, $$2476 = 0, $$2483 = 0, $$2490$lcssa = 0, $$2490638 = 0, $$2500$lcssa = 0, $$2500682 = 0, $$2515 = 0, $$2518634 = 0, $$2531 = 0, $$2534633 = 0, $$3 = 0.0, $$3477 = 0, $$3484$lcssa = 0, $$3484663 = 0, $$3501$lcssa = 0, $$3501676 = 0, $$3535620 = 0, $$4 = 0.0, $$4478$lcssa = 0, $$4478594 = 0, $$4492 = 0, $$4502$lcssa = 0, $$4502662 = 0, $$4520 = 0, $$5$lcssa = 0, $$5486$lcssa = 0, $$5486639 = 0, $$5493603 = 0, $$5503 = 0, $$5521 = 0, $$5609 = 0, $$6 = 0, $$6494593 = 0, $$7495608 = 0, $$8 = 0, $$8506 = 0, $$9 = 0, $$9507$lcssa = 0, $$9507625 = 0, $$lcssa583 = 0, $$pn = 0, $$pr = 0, $$pr564 = 0, $$pre$phi717Z2D = 0, $$pre$phi718Z2D = 0, $$pre720 = 0, $$sink757 = 0, $10 = 0, $103 = 0, $104 = 0, $108 = 0, $109 = 0, $11 = 0, $113 = 0, $115 = 0, $116 = 0, $12 = 0, $123 = 0, $126 = 0, $13 = 0, $132 = 0, $135 = 0, $136 = 0, $139 = 0, $141 = 0, $142 = 0, $145 = 0, $147 = 0, $15 = 0.0, $151 = 0, $154 = 0, $158 = 0, $16 = 0, $163 = 0, $164 = 0, $165 = 0, $166 = 0, $168 = 0, $174 = 0, $175 = 0, $176 = 0, $188 = 0, $202 = 0, $203 = 0, $206 = 0, $211 = 0, $212 = 0, $214 = 0, $222 = 0, $223 = 0, $225 = 0, $227 = 0, $229 = 0, $231 = 0, $232 = 0, $234 = 0, $237 = 0, $240 = 0, $245 = 0, $248 = 0, $25 = 0, $251 = 0, $253 = 0, $255 = 0, $257 = 0, $262 = 0, $263 = 0, $266 = 0, $268 = 0, $270 = 0, $273 = 0, $286 = 0, $291 = 0, $30 = 0, $300 = 0, $301 = 0, $305 = 0, $308 = 0, $310 = 0, $312 = 0, $316 = 0, $319 = 0, $320 = 0, $324 = 0, $334 = 0, $339 = 0, $34 = 0, $342 = 0, $343 = 0, $344 = 0, $346 = 0, $351 = 0, $364 = 0, $368 = 0, $373 = 0, $38 = 0.0, $382 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $389 = 0, $39 = 0, $393 = 0, $395 = 0, $398 = 0, $401 = 0, $412 = 0, $42 = 0, $44 = 0, $47 = 0, $49 = 0, $6 = 0, $63 = 0, $66 = 0, $69 = 0, $7 = 0, $71 = 0, $79 = 0, $8 = 0, $80 = 0, $82 = 0, $83 = 0, $89 = 0, $9 = 0, $spec$select = 0, $spec$select539 = 0, $spec$select540 = 0, $spec$select540723 = 0, $spec$select541 = 0, $spec$select544 = 0.0, $spec$select548 = 0, $spec$select549 = 0, $spec$select551 = 0, $spec$select554 = 0, $spec$select557 = 0, $spec$select567 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 560 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(560); + $6 = sp + 32 | 0; + $7 = sp + 536 | 0; + $8 = sp; + $9 = $8; + $10 = sp + 540 | 0; + HEAP32[$7 >> 2] = 0; + $11 = $10 + 12 | 0; + $12 = ___DOUBLE_BITS_670($1) | 0; + $13 = getTempRet0() | 0; + if (($13 | 0) < 0) { + $15 = -$1; + $16 = ___DOUBLE_BITS_670($15) | 0; + $$0471 = $15; + $$0522 = 1; + $$0523 = 50757; + $25 = getTempRet0() | 0; + $412 = $16; + } else { + $$0471 = $1; + $$0522 = ($4 & 2049 | 0) != 0 & 1; + $$0523 = ($4 & 2048 | 0) == 0 ? (($4 & 1 | 0) == 0 ? 50758 : 50763) : 50760; + $25 = $13; + $412 = $12; + } + do if (0 == 0 & ($25 & 2146435072 | 0) == 2146435072) { + $30 = ($5 & 32 | 0) != 0; + $34 = $$0522 + 3 | 0; + _pad_667($0, 32, $2, $34, $4 & -65537); + _out($0, $$0523, $$0522); + _out($0, $$0471 != $$0471 | 0.0 != 0.0 ? ($30 ? 50797 : 50784) : $30 ? 50776 : 50780, 3); + _pad_667($0, 32, $2, $34, $4 ^ 8192); + $$sink757 = $34; + } else { + $38 = +_frexp($$0471, $7) * 2.0; + $39 = $38 != 0.0; + if ($39) HEAP32[$7 >> 2] = (HEAP32[$7 >> 2] | 0) + -1; + $42 = $5 | 32; + if (($42 | 0) == 97) { + $44 = $5 & 32; + $spec$select = ($44 | 0) == 0 ? $$0523 : $$0523 + 9 | 0; + $47 = $$0522 | 2; + $49 = 12 - $3 | 0; + do if (!($3 >>> 0 > 11 | ($49 | 0) == 0)) { + $$0511586 = 8.0; + $$1510587 = $49; + do { + $$1510587 = $$1510587 + -1 | 0; + $$0511586 = $$0511586 * 16.0; + } while (($$1510587 | 0) != 0); + if ((HEAP8[$spec$select >> 0] | 0) == 45) { + $$1472 = -($$0511586 + (-$38 - $$0511586)); + break; + } else { + $$1472 = $38 + $$0511586 - $$0511586; + break; + } + } else $$1472 = $38; while (0); + $63 = HEAP32[$7 >> 2] | 0; + $66 = ($63 | 0) < 0 ? 0 - $63 | 0 : $63; + $69 = _fmt_u($66, (($66 | 0) < 0) << 31 >> 31, $11) | 0; + if (($69 | 0) == ($11 | 0)) { + $71 = $10 + 11 | 0; + HEAP8[$71 >> 0] = 48; + $$0513 = $71; + } else $$0513 = $69; + HEAP8[$$0513 + -1 >> 0] = ($63 >> 31 & 2) + 43; + $79 = $$0513 + -2 | 0; + HEAP8[$79 >> 0] = $5 + 15; + $80 = ($3 | 0) < 1; + $82 = ($4 & 8 | 0) == 0; + $$0525 = $8; + $$2473 = $$1472; + while (1) { + $83 = ~~$$2473; + $89 = $$0525 + 1 | 0; + HEAP8[$$0525 >> 0] = $44 | HEAPU8[6672 + $83 >> 0]; + $$2473 = ($$2473 - +($83 | 0)) * 16.0; + if (($89 - $9 | 0) == 1 ? !($82 & ($80 & $$2473 == 0.0)) : 0) { + HEAP8[$89 >> 0] = 46; + $$1526 = $$0525 + 2 | 0; + } else $$1526 = $89; + if (!($$2473 != 0.0)) break; else $$0525 = $$1526; + } + $$pre720 = $$1526; + if (($3 | 0) != 0 ? (-2 - $9 + $$pre720 | 0) < ($3 | 0) : 0) { + $103 = $11; + $104 = $79; + $$0527 = $3 + 2 + $103 - $104 | 0; + $$pre$phi717Z2D = $103; + $$pre$phi718Z2D = $104; + } else { + $108 = $11; + $109 = $79; + $$0527 = $108 - $9 - $109 + $$pre720 | 0; + $$pre$phi717Z2D = $108; + $$pre$phi718Z2D = $109; + } + $113 = $$0527 + $47 | 0; + _pad_667($0, 32, $2, $113, $4); + _out($0, $spec$select, $47); + _pad_667($0, 48, $2, $113, $4 ^ 65536); + $115 = $$pre720 - $9 | 0; + _out($0, $8, $115); + $116 = $$pre$phi717Z2D - $$pre$phi718Z2D | 0; + _pad_667($0, 48, $$0527 - ($115 + $116) | 0, 0, 0); + _out($0, $79, $116); + _pad_667($0, 32, $2, $113, $4 ^ 8192); + $$sink757 = $113; + break; + } + $spec$select539 = ($3 | 0) < 0 ? 6 : $3; + if ($39) { + $123 = (HEAP32[$7 >> 2] | 0) + -28 | 0; + HEAP32[$7 >> 2] = $123; + $$3 = $38 * 268435456.0; + $$pr = $123; + } else { + $$3 = $38; + $$pr = HEAP32[$7 >> 2] | 0; + } + $$0498 = ($$pr | 0) < 0 ? $6 : $6 + 288 | 0; + $$1499 = $$0498; + $$4 = $$3; + do { + $126 = ~~$$4 >>> 0; + HEAP32[$$1499 >> 2] = $126; + $$1499 = $$1499 + 4 | 0; + $$4 = ($$4 - +($126 >>> 0)) * 1.0e9; + } while ($$4 != 0.0); + $132 = $$0498; + if (($$pr | 0) > 0) { + $$1482683 = $$0498; + $$2500682 = $$1499; + $135 = $$pr; + while (1) { + $136 = ($135 | 0) < 29 ? $135 : 29; + $$0488669 = $$2500682 + -4 | 0; + if ($$0488669 >>> 0 >= $$1482683 >>> 0) { + $$0488671 = $$0488669; + $$0497670 = 0; + do { + $139 = _bitshift64Shl(HEAP32[$$0488671 >> 2] | 0, 0, $136 | 0) | 0; + $141 = _i64Add($139 | 0, getTempRet0() | 0, $$0497670 | 0, 0) | 0; + $142 = getTempRet0() | 0; + $$0497670 = ___udivdi3($141 | 0, $142 | 0, 1e9, 0) | 0; + $145 = ___muldi3($$0497670 | 0, getTempRet0() | 0, 1e9, 0) | 0; + $147 = _i64Subtract($141 | 0, $142 | 0, $145 | 0, getTempRet0() | 0) | 0; + getTempRet0() | 0; + HEAP32[$$0488671 >> 2] = $147; + $$0488671 = $$0488671 + -4 | 0; + } while ($$0488671 >>> 0 >= $$1482683 >>> 0); + if ($$0497670) { + $151 = $$1482683 + -4 | 0; + HEAP32[$151 >> 2] = $$0497670; + $$2483 = $151; + } else $$2483 = $$1482683; + } else $$2483 = $$1482683; + L57 : do if ($$2500682 >>> 0 > $$2483 >>> 0) { + $$3501676 = $$2500682; + while (1) { + $154 = $$3501676 + -4 | 0; + if (HEAP32[$154 >> 2] | 0) { + $$3501$lcssa = $$3501676; + break L57; + } + if ($154 >>> 0 > $$2483 >>> 0) $$3501676 = $154; else { + $$3501$lcssa = $154; + break; + } + } + } else $$3501$lcssa = $$2500682; while (0); + $158 = (HEAP32[$7 >> 2] | 0) - $136 | 0; + HEAP32[$7 >> 2] = $158; + if (($158 | 0) > 0) { + $$1482683 = $$2483; + $$2500682 = $$3501$lcssa; + $135 = $158; + } else { + $$1482$lcssa = $$2483; + $$2500$lcssa = $$3501$lcssa; + $$pr564 = $158; + break; + } + } + } else { + $$1482$lcssa = $$0498; + $$2500$lcssa = $$1499; + $$pr564 = $$pr; + } + if (($$pr564 | 0) < 0) { + $163 = (($spec$select539 + 25 | 0) / 9 | 0) + 1 | 0; + $164 = ($42 | 0) == 102; + $$3484663 = $$1482$lcssa; + $$4502662 = $$2500$lcssa; + $166 = $$pr564; + while (1) { + $165 = 0 - $166 | 0; + $168 = ($165 | 0) < 9 ? $165 : 9; + if ($$3484663 >>> 0 < $$4502662 >>> 0) { + $174 = (1 << $168) + -1 | 0; + $175 = 1e9 >>> $168; + $$0487657 = 0; + $$1489656 = $$3484663; + do { + $176 = HEAP32[$$1489656 >> 2] | 0; + HEAP32[$$1489656 >> 2] = ($176 >>> $168) + $$0487657; + $$0487657 = Math_imul($176 & $174, $175) | 0; + $$1489656 = $$1489656 + 4 | 0; + } while ($$1489656 >>> 0 < $$4502662 >>> 0); + $spec$select540 = (HEAP32[$$3484663 >> 2] | 0) == 0 ? $$3484663 + 4 | 0 : $$3484663; + if (!$$0487657) { + $$5503 = $$4502662; + $spec$select540723 = $spec$select540; + } else { + HEAP32[$$4502662 >> 2] = $$0487657; + $$5503 = $$4502662 + 4 | 0; + $spec$select540723 = $spec$select540; + } + } else { + $$5503 = $$4502662; + $spec$select540723 = (HEAP32[$$3484663 >> 2] | 0) == 0 ? $$3484663 + 4 | 0 : $$3484663; + } + $188 = $164 ? $$0498 : $spec$select540723; + $spec$select541 = ($$5503 - $188 >> 2 | 0) > ($163 | 0) ? $188 + ($163 << 2) | 0 : $$5503; + $166 = (HEAP32[$7 >> 2] | 0) + $168 | 0; + HEAP32[$7 >> 2] = $166; + if (($166 | 0) >= 0) { + $$3484$lcssa = $spec$select540723; + $$4502$lcssa = $spec$select541; + break; + } else { + $$3484663 = $spec$select540723; + $$4502662 = $spec$select541; + } + } + } else { + $$3484$lcssa = $$1482$lcssa; + $$4502$lcssa = $$2500$lcssa; + } + if ($$3484$lcssa >>> 0 < $$4502$lcssa >>> 0) { + $202 = ($132 - $$3484$lcssa >> 2) * 9 | 0; + $203 = HEAP32[$$3484$lcssa >> 2] | 0; + if ($203 >>> 0 < 10) $$1517 = $202; else { + $$0516652 = $202; + $$0532651 = 10; + while (1) { + $$0532651 = $$0532651 * 10 | 0; + $206 = $$0516652 + 1 | 0; + if ($203 >>> 0 < $$0532651 >>> 0) { + $$1517 = $206; + break; + } else $$0516652 = $206; + } + } + } else $$1517 = 0; + $211 = ($42 | 0) == 103; + $212 = ($spec$select539 | 0) != 0; + $214 = $spec$select539 - (($42 | 0) == 102 ? 0 : $$1517) + (($212 & $211) << 31 >> 31) | 0; + if (($214 | 0) < ((($$4502$lcssa - $132 >> 2) * 9 | 0) + -9 | 0)) { + $222 = $214 + 9216 | 0; + $223 = ($222 | 0) / 9 | 0; + $225 = $$0498 + 4 + ($223 + -1024 << 2) | 0; + $227 = $222 - ($223 * 9 | 0) | 0; + if (($227 | 0) < 8) { + $$0529$in646 = $227; + $$1533645 = 10; + while (1) { + $229 = $$1533645 * 10 | 0; + if (($$0529$in646 | 0) < 7) { + $$0529$in646 = $$0529$in646 + 1 | 0; + $$1533645 = $229; + } else { + $$1533$lcssa = $229; + break; + } + } + } else $$1533$lcssa = 10; + $231 = HEAP32[$225 >> 2] | 0; + $232 = ($231 >>> 0) / ($$1533$lcssa >>> 0) | 0; + $234 = $231 - (Math_imul($232, $$1533$lcssa) | 0) | 0; + $237 = ($225 + 4 | 0) == ($$4502$lcssa | 0); + if (!($237 & ($234 | 0) == 0)) { + $spec$select544 = ($232 & 1 | 0) == 0 ? 9007199254740992.0 : 9007199254740994.0; + $240 = $$1533$lcssa >>> 1; + $spec$select567 = $234 >>> 0 < $240 >>> 0 ? .5 : $237 & ($234 | 0) == ($240 | 0) ? 1.0 : 1.5; + if (!$$0522) { + $$1467 = $spec$select567; + $$1469 = $spec$select544; + } else { + $245 = (HEAP8[$$0523 >> 0] | 0) == 45; + $$1467 = $245 ? -$spec$select567 : $spec$select567; + $$1469 = $245 ? -$spec$select544 : $spec$select544; + } + $248 = $231 - $234 | 0; + HEAP32[$225 >> 2] = $248; + if ($$1469 + $$1467 != $$1469) { + $251 = $248 + $$1533$lcssa | 0; + HEAP32[$225 >> 2] = $251; + if ($251 >>> 0 > 999999999) { + $$2490638 = $225; + $$5486639 = $$3484$lcssa; + while (1) { + $253 = $$2490638 + -4 | 0; + HEAP32[$$2490638 >> 2] = 0; + if ($253 >>> 0 < $$5486639 >>> 0) { + $255 = $$5486639 + -4 | 0; + HEAP32[$255 >> 2] = 0; + $$6 = $255; + } else $$6 = $$5486639; + $257 = (HEAP32[$253 >> 2] | 0) + 1 | 0; + HEAP32[$253 >> 2] = $257; + if ($257 >>> 0 > 999999999) { + $$2490638 = $253; + $$5486639 = $$6; + } else { + $$2490$lcssa = $253; + $$5486$lcssa = $$6; + break; + } + } + } else { + $$2490$lcssa = $225; + $$5486$lcssa = $$3484$lcssa; + } + $262 = ($132 - $$5486$lcssa >> 2) * 9 | 0; + $263 = HEAP32[$$5486$lcssa >> 2] | 0; + if ($263 >>> 0 < 10) { + $$4492 = $$2490$lcssa; + $$4520 = $262; + $$8 = $$5486$lcssa; + } else { + $$2518634 = $262; + $$2534633 = 10; + while (1) { + $$2534633 = $$2534633 * 10 | 0; + $266 = $$2518634 + 1 | 0; + if ($263 >>> 0 < $$2534633 >>> 0) { + $$4492 = $$2490$lcssa; + $$4520 = $266; + $$8 = $$5486$lcssa; + break; + } else $$2518634 = $266; + } + } + } else { + $$4492 = $225; + $$4520 = $$1517; + $$8 = $$3484$lcssa; + } + } else { + $$4492 = $225; + $$4520 = $$1517; + $$8 = $$3484$lcssa; + } + $268 = $$4492 + 4 | 0; + $$5521 = $$4520; + $$8506 = $$4502$lcssa >>> 0 > $268 >>> 0 ? $268 : $$4502$lcssa; + $$9 = $$8; + } else { + $$5521 = $$1517; + $$8506 = $$4502$lcssa; + $$9 = $$3484$lcssa; + } + $270 = 0 - $$5521 | 0; + L109 : do if ($$8506 >>> 0 > $$9 >>> 0) { + $$9507625 = $$8506; + while (1) { + $273 = $$9507625 + -4 | 0; + if (HEAP32[$273 >> 2] | 0) { + $$9507$lcssa = $$9507625; + $$lcssa583 = 1; + break L109; + } + if ($273 >>> 0 > $$9 >>> 0) $$9507625 = $273; else { + $$9507$lcssa = $273; + $$lcssa583 = 0; + break; + } + } + } else { + $$9507$lcssa = $$8506; + $$lcssa583 = 0; + } while (0); + do if ($211) { + $spec$select548 = $spec$select539 + (($212 ^ 1) & 1) | 0; + if (($spec$select548 | 0) > ($$5521 | 0) & ($$5521 | 0) > -5) { + $$0479 = $5 + -1 | 0; + $$2476 = $spec$select548 + -1 - $$5521 | 0; + } else { + $$0479 = $5 + -2 | 0; + $$2476 = $spec$select548 + -1 | 0; + } + if (!($4 & 8)) { + if ($$lcssa583 ? ($286 = HEAP32[$$9507$lcssa + -4 >> 2] | 0, ($286 | 0) != 0) : 0) if (!(($286 >>> 0) % 10 | 0)) { + $$1530621 = 0; + $$3535620 = 10; + while (1) { + $$3535620 = $$3535620 * 10 | 0; + $291 = $$1530621 + 1 | 0; + if (($286 >>> 0) % ($$3535620 >>> 0) | 0 | 0) { + $$2531 = $291; + break; + } else $$1530621 = $291; + } + } else $$2531 = 0; else $$2531 = 9; + $300 = (($$9507$lcssa - $132 >> 2) * 9 | 0) + -9 | 0; + if (($$0479 | 32 | 0) == 102) { + $301 = $300 - $$2531 | 0; + $spec$select549 = ($301 | 0) > 0 ? $301 : 0; + $$1480 = $$0479; + $$3477 = ($$2476 | 0) < ($spec$select549 | 0) ? $$2476 : $spec$select549; + break; + } else { + $305 = $300 + $$5521 - $$2531 | 0; + $spec$select551 = ($305 | 0) > 0 ? $305 : 0; + $$1480 = $$0479; + $$3477 = ($$2476 | 0) < ($spec$select551 | 0) ? $$2476 : $spec$select551; + break; + } + } else { + $$1480 = $$0479; + $$3477 = $$2476; + } + } else { + $$1480 = $5; + $$3477 = $spec$select539; + } while (0); + $308 = ($$3477 | 0) != 0; + $310 = $308 ? 1 : $4 >>> 3 & 1; + $312 = ($$1480 | 32 | 0) == 102; + if ($312) { + $$2515 = 0; + $$pn = ($$5521 | 0) > 0 ? $$5521 : 0; + } else { + $316 = ($$5521 | 0) < 0 ? $270 : $$5521; + $319 = _fmt_u($316, (($316 | 0) < 0) << 31 >> 31, $11) | 0; + $320 = $11; + if (($320 - $319 | 0) < 2) { + $$1514614 = $319; + while (1) { + $324 = $$1514614 + -1 | 0; + HEAP8[$324 >> 0] = 48; + if (($320 - $324 | 0) < 2) $$1514614 = $324; else { + $$1514$lcssa = $324; + break; + } + } + } else $$1514$lcssa = $319; + HEAP8[$$1514$lcssa + -1 >> 0] = ($$5521 >> 31 & 2) + 43; + $334 = $$1514$lcssa + -2 | 0; + HEAP8[$334 >> 0] = $$1480; + $$2515 = $334; + $$pn = $320 - $334 | 0; + } + $339 = $$0522 + 1 + $$3477 + $310 + $$pn | 0; + _pad_667($0, 32, $2, $339, $4); + _out($0, $$0523, $$0522); + _pad_667($0, 48, $2, $339, $4 ^ 65536); + if ($312) { + $spec$select554 = $$9 >>> 0 > $$0498 >>> 0 ? $$0498 : $$9; + $342 = $8 + 9 | 0; + $343 = $342; + $344 = $8 + 8 | 0; + $$5493603 = $spec$select554; + do { + $346 = _fmt_u(HEAP32[$$5493603 >> 2] | 0, 0, $342) | 0; + if (($$5493603 | 0) == ($spec$select554 | 0)) if (($346 | 0) == ($342 | 0)) { + HEAP8[$344 >> 0] = 48; + $$1465 = $344; + } else $$1465 = $346; else if ($346 >>> 0 > $8 >>> 0) { + _memset($8 | 0, 48, $346 - $9 | 0) | 0; + $$0464599 = $346; + while (1) { + $351 = $$0464599 + -1 | 0; + if ($351 >>> 0 > $8 >>> 0) $$0464599 = $351; else { + $$1465 = $351; + break; + } + } + } else $$1465 = $346; + _out($0, $$1465, $343 - $$1465 | 0); + $$5493603 = $$5493603 + 4 | 0; + } while ($$5493603 >>> 0 <= $$0498 >>> 0); + if (!(($4 & 8 | 0) == 0 & ($308 ^ 1))) _out($0, 53642, 1); + if ($$5493603 >>> 0 < $$9507$lcssa >>> 0 & ($$3477 | 0) > 0) { + $$4478594 = $$3477; + $$6494593 = $$5493603; + while (1) { + $364 = _fmt_u(HEAP32[$$6494593 >> 2] | 0, 0, $342) | 0; + if ($364 >>> 0 > $8 >>> 0) { + _memset($8 | 0, 48, $364 - $9 | 0) | 0; + $$0463588 = $364; + while (1) { + $368 = $$0463588 + -1 | 0; + if ($368 >>> 0 > $8 >>> 0) $$0463588 = $368; else { + $$0463$lcssa = $368; + break; + } + } + } else $$0463$lcssa = $364; + _out($0, $$0463$lcssa, ($$4478594 | 0) < 9 ? $$4478594 : 9); + $$6494593 = $$6494593 + 4 | 0; + $373 = $$4478594 + -9 | 0; + if (!($$6494593 >>> 0 < $$9507$lcssa >>> 0 & ($$4478594 | 0) > 9)) { + $$4478$lcssa = $373; + break; + } else $$4478594 = $373; + } + } else $$4478$lcssa = $$3477; + _pad_667($0, 48, $$4478$lcssa + 9 | 0, 9, 0); + } else { + $spec$select557 = $$lcssa583 ? $$9507$lcssa : $$9 + 4 | 0; + if ($$9 >>> 0 < $spec$select557 >>> 0 & ($$3477 | 0) > -1) { + $382 = $8 + 9 | 0; + $384 = ($4 & 8 | 0) == 0; + $385 = $382; + $386 = 0 - $9 | 0; + $387 = $8 + 8 | 0; + $$5609 = $$3477; + $$7495608 = $$9; + while (1) { + $389 = _fmt_u(HEAP32[$$7495608 >> 2] | 0, 0, $382) | 0; + if (($389 | 0) == ($382 | 0)) { + HEAP8[$387 >> 0] = 48; + $$0 = $387; + } else $$0 = $389; + do if (($$7495608 | 0) == ($$9 | 0)) { + $395 = $$0 + 1 | 0; + _out($0, $$0, 1); + if ($384 & ($$5609 | 0) < 1) { + $$2 = $395; + break; + } + _out($0, 53642, 1); + $$2 = $395; + } else { + if ($$0 >>> 0 <= $8 >>> 0) { + $$2 = $$0; + break; + } + _memset($8 | 0, 48, $$0 + $386 | 0) | 0; + $$1604 = $$0; + while (1) { + $393 = $$1604 + -1 | 0; + if ($393 >>> 0 > $8 >>> 0) $$1604 = $393; else { + $$2 = $393; + break; + } + } + } while (0); + $398 = $385 - $$2 | 0; + _out($0, $$2, ($$5609 | 0) > ($398 | 0) ? $398 : $$5609); + $401 = $$5609 - $398 | 0; + $$7495608 = $$7495608 + 4 | 0; + if (!($$7495608 >>> 0 < $spec$select557 >>> 0 & ($401 | 0) > -1)) { + $$5$lcssa = $401; + break; + } else $$5609 = $401; + } + } else $$5$lcssa = $$3477; + _pad_667($0, 48, $$5$lcssa + 18 | 0, 18, 0); + _out($0, $$2515, $11 - $$2515 | 0); + } + _pad_667($0, 32, $2, $339, $4 ^ 8192); + $$sink757 = $339; + } while (0); + STACKTOP = sp; + return (($$sink757 | 0) < ($2 | 0) ? $2 : $$sink757) | 0; +} + +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 $$0324 = 0, $$0324$be = 0, $$0327480 = 0, $$0328 = 0, $$0329 = 0, $$0331476 = 0, $$0335486 = 0, $$0336$lcssa = 0, $$0336453 = 0, $$0336454 = 0, $$0336455 = 0, $$0336503 = 0, $$0340$lcssa = 0, $$0340457 = 0, $$0340458 = 0, $$0340459 = 0, $$0340502 = 0, $$0345$lcssa540 = 0, $$0345484 = 0, $$0355 = 0.0, $$0356 = 0.0, $$0360474 = 0.0, $$0367 = 0, $$0376 = 0, $$0376$ph = 0, $$0381$lcssa539 = 0, $$0381483 = 0, $$0390 = 0, $$0393 = 0, $$0398$lcssa = 0, $$0398463 = 0, $$0398464 = 0, $$0398465 = 0, $$0398499 = 0, $$1 = 0.0, $$10473 = 0, $$11 = 0, $$1330 = 0, $$1357 = 0.0, $$1361 = 0.0, $$1377 = 0, $$1377$ph = 0, $$1377$ph$ph = 0, $$1391$lcssa = 0, $$1391501 = 0, $$2 = 0, $$2338 = 0, $$2342 = 0, $$2362 = 0.0, $$2369 = 0, $$2369$ph = 0, $$2369$ph579 = 0, $$2392 = 0, $$2395 = 0, $$2400 = 0, $$3$lcssa = 0, $$3339493 = 0, $$3343 = 0, $$3348$ph = 0, $$3348$ph580 = 0, $$3359 = 0.0, $$3363 = 0.0, $$3370 = 0, $$3379 = 0, $$3384$ph = 0, $$3384$ph578 = 0, $$3396$lcssa = 0, $$3396500 = 0, $$3504 = 0, $$4344485 = 0, $$4380 = 0, $$4397 = 0, $$4475 = 0, $$5 = 0, $$5$in = 0, $$5350 = 0, $$5350$ph = 0, $$5350$ph$ph = 0, $$5372 = 0, $$5386$ph = 0, $$5386$ph576 = 0, $$5386$ph576$ph = 0, $$6351478 = 0, $$6387477 = 0, $$6479 = 0, $$7374$ph$ph = 0, $$pre = 0, $$sink$off0 = 0, $10 = 0, $104 = 0, $105 = 0, $11 = 0, $110 = 0, $111 = 0, $113 = 0, $114 = 0, $127 = 0, $129 = 0, $135 = 0, $139 = 0, $141 = 0, $147 = 0, $153 = 0, $155 = 0, $177 = 0, $18 = 0, $189 = 0, $193 = 0, $196 = 0, $198 = 0, $199 = 0, $200 = 0, $201 = 0, $203 = 0, $204 = 0, $218 = 0, $219 = 0, $220 = 0, $224 = 0, $226 = 0, $228 = 0, $229 = 0, $235 = 0, $237 = 0, $239 = 0, $244 = 0, $247 = 0, $251 = 0, $254 = 0, $257 = 0, $26 = 0, $264 = 0, $267 = 0, $269 = 0, $27 = 0, $274 = 0, $277 = 0, $278 = 0, $279 = 0, $28 = 0, $280 = 0, $283 = 0, $29 = 0, $294 = 0, $297 = 0, $30 = 0, $302 = 0, $306 = 0, $309 = 0, $31 = 0, $318 = 0.0, $319 = 0.0, $320 = 0, $321 = 0, $322 = 0, $327 = 0.0, $330 = 0.0, $334 = 0, $337 = 0, $361 = 0.0, $366 = 0, $373 = 0, $375 = 0, $376 = 0, $377 = 0, $378 = 0, $379 = 0, $380 = 0, $381 = 0, $382 = 0, $383 = 0, $384 = 0, $385 = 0, $386 = 0, $387 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $391 = 0, $392 = 0, $393 = 0, $394 = 0, $40 = 0, $42 = 0, $44 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $51 = 0, $53 = 0, $58 = 0, $59 = 0, $6 = 0, $63 = 0, $7 = 0, $71 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $85 = 0, $86 = 0, $9 = 0, $95 = 0, $96 = 0, $97 = 0, $or$cond417 = 0, $or$cond421 = 0, $spec$select420 = 0, $spec$select441 = 0, $storemerge446 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 512 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(512); + $6 = sp; + $7 = $3 + $2 | 0; + $8 = 0 - $7 | 0; + $9 = $0 + 4 | 0; + $10 = $0 + 104 | 0; + $$0324 = $1; + $$0393 = 0; + L1 : while (1) { + switch ($$0324 | 0) { + case 46: + { + label = 7; + break L1; + break; + } + case 48: + break; + default: + { + $$0390 = 0; + $$2 = $$0324; + $$2395 = $$0393; + $375 = 0; + $376 = 0; + break L1; + } + } + $11 = HEAP32[$9 >> 2] | 0; + if ($11 >>> 0 < (HEAP32[$10 >> 2] | 0) >>> 0) { + HEAP32[$9 >> 2] = $11 + 1; + $$0324$be = HEAPU8[$11 >> 0] | 0; + } else $$0324$be = ___shgetc($0) | 0; + $$0324 = $$0324$be; + $$0393 = 1; + } + if ((label | 0) == 7) { + $18 = HEAP32[$9 >> 2] | 0; + if ($18 >>> 0 < (HEAP32[$10 >> 2] | 0) >>> 0) { + HEAP32[$9 >> 2] = $18 + 1; + $26 = HEAPU8[$18 >> 0] | 0; + } else $26 = ___shgetc($0) | 0; + if (($26 | 0) == 48) { + $27 = 0; + $28 = 0; + while (1) { + $29 = _i64Add($27 | 0, $28 | 0, -1, -1) | 0; + $30 = getTempRet0() | 0; + $31 = HEAP32[$9 >> 2] | 0; + if ($31 >>> 0 < (HEAP32[$10 >> 2] | 0) >>> 0) { + HEAP32[$9 >> 2] = $31 + 1; + $39 = HEAPU8[$31 >> 0] | 0; + } else $39 = ___shgetc($0) | 0; + if (($39 | 0) == 48) { + $27 = $29; + $28 = $30; + } else { + $$0390 = 1; + $$2 = $39; + $$2395 = 1; + $375 = $29; + $376 = $30; + break; + } + } + } else { + $$0390 = 1; + $$2 = $26; + $$2395 = $$0393; + $375 = 0; + $376 = 0; + } + } + HEAP32[$6 >> 2] = 0; + $40 = $$2 + -48 | 0; + $42 = ($$2 | 0) == 46; + L22 : do if ($42 | $40 >>> 0 < 10) { + $44 = $6 + 496 | 0; + $$0336503 = 0; + $$0340502 = 0; + $$0398499 = 0; + $$1391501 = $$0390; + $$3396500 = $$2395; + $$3504 = $$2; + $377 = $42; + $378 = $40; + $379 = $375; + $380 = $376; + $47 = 0; + $48 = 0; + L24 : while (1) { + do if ($377) if (!$$1391501) { + $$2338 = $$0336503; + $$2342 = $$0340502; + $$2392 = 1; + $$2400 = $$0398499; + $$4397 = $$3396500; + $381 = $47; + $382 = $48; + $383 = $47; + $384 = $48; + } else break L24; else { + $49 = _i64Add($47 | 0, $48 | 0, 1, 0) | 0; + $50 = getTempRet0() | 0; + $51 = ($$3504 | 0) != 48; + if (($$0340502 | 0) >= 125) { + if (!$51) { + $$2338 = $$0336503; + $$2342 = $$0340502; + $$2392 = $$1391501; + $$2400 = $$0398499; + $$4397 = $$3396500; + $381 = $379; + $382 = $380; + $383 = $49; + $384 = $50; + break; + } + HEAP32[$44 >> 2] = HEAP32[$44 >> 2] | 1; + $$2338 = $$0336503; + $$2342 = $$0340502; + $$2392 = $$1391501; + $$2400 = $$0398499; + $$4397 = $$3396500; + $381 = $379; + $382 = $380; + $383 = $49; + $384 = $50; + break; + } + $53 = $6 + ($$0340502 << 2) | 0; + if (!$$0336503) $storemerge446 = $378; else $storemerge446 = $$3504 + -48 + ((HEAP32[$53 >> 2] | 0) * 10 | 0) | 0; + HEAP32[$53 >> 2] = $storemerge446; + $58 = $$0336503 + 1 | 0; + $59 = ($58 | 0) == 9; + $$2338 = $59 ? 0 : $58; + $$2342 = $$0340502 + ($59 & 1) | 0; + $$2392 = $$1391501; + $$2400 = $51 ? $49 : $$0398499; + $$4397 = 1; + $381 = $379; + $382 = $380; + $383 = $49; + $384 = $50; + } while (0); + $63 = HEAP32[$9 >> 2] | 0; + if ($63 >>> 0 < (HEAP32[$10 >> 2] | 0) >>> 0) { + HEAP32[$9 >> 2] = $63 + 1; + $71 = HEAPU8[$63 >> 0] | 0; + } else $71 = ___shgetc($0) | 0; + $378 = $71 + -48 | 0; + $377 = ($71 | 0) == 46; + if (!($377 | $378 >>> 0 < 10)) { + $$0336$lcssa = $$2338; + $$0340$lcssa = $$2342; + $$0398$lcssa = $$2400; + $$1391$lcssa = $$2392; + $$3$lcssa = $71; + $$3396$lcssa = $$4397; + $77 = $383; + $78 = $381; + $80 = $384; + $81 = $382; + label = 31; + break L22; + } else { + $$0336503 = $$2338; + $$0340502 = $$2342; + $$0398499 = $$2400; + $$1391501 = $$2392; + $$3396500 = $$4397; + $$3504 = $71; + $379 = $381; + $380 = $382; + $47 = $383; + $48 = $384; + } + } + $$0336455 = $$0336503; + $$0340459 = $$0340502; + $$0398465 = $$0398499; + $385 = $47; + $386 = $48; + $387 = $379; + $388 = $380; + $389 = ($$3396500 | 0) != 0; + label = 39; + } else { + $$0336$lcssa = 0; + $$0340$lcssa = 0; + $$0398$lcssa = 0; + $$1391$lcssa = $$0390; + $$3$lcssa = $$2; + $$3396$lcssa = $$2395; + $77 = 0; + $78 = $375; + $80 = 0; + $81 = $376; + label = 31; + } while (0); + do if ((label | 0) == 31) { + $75 = ($$1391$lcssa | 0) == 0; + $76 = $75 ? $77 : $78; + $79 = $75 ? $80 : $81; + $82 = ($$3396$lcssa | 0) != 0; + if (!($82 & ($$3$lcssa | 32 | 0) == 101)) if (($$3$lcssa | 0) > -1) { + $$0336455 = $$0336$lcssa; + $$0340459 = $$0340$lcssa; + $$0398465 = $$0398$lcssa; + $385 = $77; + $386 = $80; + $387 = $76; + $388 = $79; + $389 = $82; + label = 39; + break; + } else { + $$0336454 = $$0336$lcssa; + $$0340458 = $$0340$lcssa; + $$0398464 = $$0398$lcssa; + $390 = $77; + $391 = $80; + $392 = $82; + $393 = $76; + $394 = $79; + label = 41; + break; + } + $85 = _scanexp($0, $5) | 0; + $86 = getTempRet0() | 0; + if (($85 | 0) == 0 & ($86 | 0) == -2147483648) { + if (!$5) { + ___shlim($0, 0, 0); + $$1 = 0.0; + break; + } + if (!(HEAP32[$10 >> 2] | 0)) { + $95 = 0; + $96 = 0; + } else { + HEAP32[$9 >> 2] = (HEAP32[$9 >> 2] | 0) + -1; + $95 = 0; + $96 = 0; + } + } else { + $95 = $85; + $96 = $86; + } + $97 = _i64Add($95 | 0, $96 | 0, $76 | 0, $79 | 0) | 0; + $$0336453 = $$0336$lcssa; + $$0340457 = $$0340$lcssa; + $$0398463 = $$0398$lcssa; + $110 = $97; + $111 = $77; + $113 = getTempRet0() | 0; + $114 = $80; + label = 43; + } while (0); + if ((label | 0) == 39) if (HEAP32[$10 >> 2] | 0) { + HEAP32[$9 >> 2] = (HEAP32[$9 >> 2] | 0) + -1; + if ($389) { + $$0336453 = $$0336455; + $$0340457 = $$0340459; + $$0398463 = $$0398465; + $110 = $387; + $111 = $385; + $113 = $388; + $114 = $386; + label = 43; + } else label = 42; + } else { + $$0336454 = $$0336455; + $$0340458 = $$0340459; + $$0398464 = $$0398465; + $390 = $385; + $391 = $386; + $392 = $389; + $393 = $387; + $394 = $388; + label = 41; + } + if ((label | 0) == 41) if ($392) { + $$0336453 = $$0336454; + $$0340457 = $$0340458; + $$0398463 = $$0398464; + $110 = $393; + $111 = $390; + $113 = $394; + $114 = $391; + label = 43; + } else label = 42; + do if ((label | 0) == 42) { + $104 = ___errno_location() | 0; + HEAP32[$104 >> 2] = 28; + ___shlim($0, 0, 0); + $$1 = 0.0; + } else if ((label | 0) == 43) { + $105 = HEAP32[$6 >> 2] | 0; + if (!$105) { + $$1 = +($4 | 0) * 0.0; + break; + } + if ((($114 | 0) < 0 | ($114 | 0) == 0 & $111 >>> 0 < 10) & (($110 | 0) == ($111 | 0) & ($113 | 0) == ($114 | 0)) ? ($2 | 0) > 30 | ($105 >>> $2 | 0) == 0 : 0) { + $$1 = +($4 | 0) * +($105 >>> 0); + break; + } + $127 = ($3 | 0) / -2 | 0; + $129 = (($127 | 0) < 0) << 31 >> 31; + if (($113 | 0) > ($129 | 0) | ($113 | 0) == ($129 | 0) & $110 >>> 0 > $127 >>> 0) { + $135 = ___errno_location() | 0; + HEAP32[$135 >> 2] = 68; + $$1 = +($4 | 0) * 1797693134862315708145274.0e284 * 1797693134862315708145274.0e284; + break; + } + $139 = $3 + -106 | 0; + $141 = (($139 | 0) < 0) << 31 >> 31; + if (($113 | 0) < ($141 | 0) | ($113 | 0) == ($141 | 0) & $110 >>> 0 < $139 >>> 0) { + $147 = ___errno_location() | 0; + HEAP32[$147 >> 2] = 68; + $$1 = +($4 | 0) * 2.2250738585072014e-308 * 2.2250738585072014e-308; + break; + } + if (!$$0336453) $$3343 = $$0340457; else { + if (($$0336453 | 0) < 9) { + $153 = $6 + ($$0340457 << 2) | 0; + $$3339493 = $$0336453; + $155 = HEAP32[$153 >> 2] | 0; + while (1) { + $155 = $155 * 10 | 0; + if (($$3339493 | 0) >= 8) break; else $$3339493 = $$3339493 + 1 | 0; + } + HEAP32[$153 >> 2] = $155; + } + $$3343 = $$0340457 + 1 | 0; + } + if (($$0398463 | 0) < 9 ? ($$0398463 | 0) <= ($110 | 0) & ($110 | 0) < 18 : 0) { + if (($110 | 0) == 9) { + $$1 = +($4 | 0) * +((HEAP32[$6 >> 2] | 0) >>> 0); + break; + } + if (($110 | 0) < 9) { + $$1 = +($4 | 0) * +((HEAP32[$6 >> 2] | 0) >>> 0) / +(HEAP32[12432 + (8 - $110 << 2) >> 2] | 0); + break; + } + $177 = $2 + 27 + (Math_imul($110, -3) | 0) | 0; + $$pre = HEAP32[$6 >> 2] | 0; + if (($177 | 0) > 30 | ($$pre >>> $177 | 0) == 0) { + $$1 = +($4 | 0) * +($$pre >>> 0) * +(HEAP32[12432 + ($110 + -10 << 2) >> 2] | 0); + break; + } + } + $189 = ($110 | 0) % 9 | 0; + if (!$189) { + $$2369$ph = $$3343; + $$3348$ph = 0; + $$3384$ph = $110; + } else { + $193 = ($110 | 0) > -1 ? $189 : $189 + 9 | 0; + $196 = HEAP32[12432 + (8 - $193 << 2) >> 2] | 0; + if ($$3343) { + $198 = 1e9 / ($196 | 0) | 0; + $$0335486 = 0; + $$0345484 = 0; + $$0381483 = $110; + $$4344485 = 0; + do { + $199 = $6 + ($$4344485 << 2) | 0; + $200 = HEAP32[$199 >> 2] | 0; + $201 = ($200 >>> 0) / ($196 >>> 0) | 0; + $203 = $200 - (Math_imul($201, $196) | 0) | 0; + $204 = $201 + $$0335486 | 0; + HEAP32[$199 >> 2] = $204; + $$0335486 = Math_imul($198, $203) | 0; + $or$cond417 = ($$4344485 | 0) == ($$0345484 | 0) & ($204 | 0) == 0; + $$0381483 = $or$cond417 ? $$0381483 + -9 | 0 : $$0381483; + $$0345484 = $or$cond417 ? $$0345484 + 1 & 127 : $$0345484; + $$4344485 = $$4344485 + 1 | 0; + } while (($$4344485 | 0) != ($$3343 | 0)); + if (!$$0335486) { + $$0345$lcssa540 = $$0345484; + $$0367 = $$3343; + $$0381$lcssa539 = $$0381483; + } else { + HEAP32[$6 + ($$3343 << 2) >> 2] = $$0335486; + $$0345$lcssa540 = $$0345484; + $$0367 = $$3343 + 1 | 0; + $$0381$lcssa539 = $$0381483; + } + } else { + $$0345$lcssa540 = 0; + $$0367 = 0; + $$0381$lcssa539 = $110; + } + $$2369$ph = $$0367; + $$3348$ph = $$0345$lcssa540; + $$3384$ph = 9 - $193 + $$0381$lcssa539 | 0; + } + $$0376$ph = 0; + $$2369$ph579 = $$2369$ph; + $$3348$ph580 = $$3348$ph; + $$3384$ph578 = $$3384$ph; + L104 : while (1) { + $218 = ($$3384$ph578 | 0) < 18; + $219 = ($$3384$ph578 | 0) == 18; + $220 = $6 + ($$3348$ph580 << 2) | 0; + $$0376 = $$0376$ph; + $$2369 = $$2369$ph579; + while (1) { + if (!$218) { + if (!$219) { + $$5386$ph = $$3384$ph578; + break L104; + } + if ((HEAP32[$220 >> 2] | 0) >>> 0 >= 9007199) { + $$5386$ph = 18; + break L104; + } + } + $$0329 = 0; + $$3370 = $$2369; + $$5$in = $$2369 + 127 | 0; + while (1) { + $$5 = $$5$in & 127; + $224 = $6 + ($$5 << 2) | 0; + $226 = _bitshift64Shl(HEAP32[$224 >> 2] | 0, 0, 29) | 0; + $228 = _i64Add($226 | 0, getTempRet0() | 0, $$0329 | 0, 0) | 0; + $229 = getTempRet0() | 0; + if ($229 >>> 0 > 0 | ($229 | 0) == 0 & $228 >>> 0 > 1e9) { + $235 = ___udivdi3($228 | 0, $229 | 0, 1e9, 0) | 0; + $237 = ___muldi3($235 | 0, getTempRet0() | 0, 1e9, 0) | 0; + $239 = _i64Subtract($228 | 0, $229 | 0, $237 | 0, getTempRet0() | 0) | 0; + getTempRet0() | 0; + $$1330 = $235; + $$sink$off0 = $239; + } else { + $$1330 = 0; + $$sink$off0 = $228; + } + HEAP32[$224 >> 2] = $$sink$off0; + $244 = ($$5 | 0) == ($$3348$ph580 | 0); + $spec$select441 = ($$5 | 0) != ($$3370 + 127 & 127 | 0) | $244 ? $$3370 : ($$sink$off0 | 0) == 0 ? $$5 : $$3370; + if ($244) break; else { + $$0329 = $$1330; + $$3370 = $spec$select441; + $$5$in = $$5 + -1 | 0; + } + } + $247 = $$0376 + -29 | 0; + if (!$$1330) { + $$0376 = $247; + $$2369 = $$3370; + } else break; + } + $251 = $$3348$ph580 + 127 & 127; + $254 = $spec$select441 + 127 & 127; + $257 = $6 + (($spec$select441 + 126 & 127) << 2) | 0; + if (($251 | 0) == ($spec$select441 | 0)) { + HEAP32[$257 >> 2] = HEAP32[$257 >> 2] | HEAP32[$6 + ($254 << 2) >> 2]; + $$5372 = $254; + } else $$5372 = $$3370; + HEAP32[$6 + ($251 << 2) >> 2] = $$1330; + $$0376$ph = $247; + $$2369$ph579 = $$5372; + $$3348$ph580 = $251; + $$3384$ph578 = $$3384$ph578 + 9 | 0; + } + $$1377$ph$ph = $$0376; + $$5350$ph$ph = $$3348$ph580; + $$5386$ph576$ph = $$5386$ph; + $$7374$ph$ph = $$2369; + L123 : while (1) { + $297 = $$7374$ph$ph + 1 & 127; + $302 = $6 + (($$7374$ph$ph + 127 & 127) << 2) | 0; + $$1377$ph = $$1377$ph$ph; + $$5350$ph = $$5350$ph$ph; + $$5386$ph576 = $$5386$ph576$ph; + while (1) { + $294 = ($$5386$ph576 | 0) == 18; + $spec$select420 = ($$5386$ph576 | 0) > 27 ? 9 : 1; + $$1377 = $$1377$ph; + $$5350 = $$5350$ph; + while (1) { + $$0331476 = 0; + while (1) { + $264 = $$0331476 + $$5350 & 127; + if (($264 | 0) == ($$7374$ph$ph | 0)) { + label = 92; + break; + } + $267 = HEAP32[$6 + ($264 << 2) >> 2] | 0; + $269 = HEAP32[17356 + ($$0331476 << 2) >> 2] | 0; + if ($267 >>> 0 < $269 >>> 0) { + label = 92; + break; + } + if ($267 >>> 0 > $269 >>> 0) break; + if (($$0331476 + 1 | 0) >>> 0 < 2) $$0331476 = 1; else { + label = 92; + break; + } + } + if ((label | 0) == 92 ? (label = 0, $294) : 0) break L123; + $274 = $spec$select420 + $$1377 | 0; + if (($$5350 | 0) == ($$7374$ph$ph | 0)) { + $$1377 = $274; + $$5350 = $$7374$ph$ph; + } else break; + } + $277 = (1 << $spec$select420) + -1 | 0; + $278 = 1e9 >>> $spec$select420; + $$0327480 = 0; + $$6351478 = $$5350; + $$6387477 = $$5386$ph576; + $$6479 = $$5350; + do { + $279 = $6 + ($$6479 << 2) | 0; + $280 = HEAP32[$279 >> 2] | 0; + $283 = ($280 >>> $spec$select420) + $$0327480 | 0; + HEAP32[$279 >> 2] = $283; + $$0327480 = Math_imul($280 & $277, $278) | 0; + $or$cond421 = ($$6479 | 0) == ($$6351478 | 0) & ($283 | 0) == 0; + $$6387477 = $or$cond421 ? $$6387477 + -9 | 0 : $$6387477; + $$6351478 = $or$cond421 ? $$6351478 + 1 & 127 : $$6351478; + $$6479 = $$6479 + 1 & 127; + } while (($$6479 | 0) != ($$7374$ph$ph | 0)); + if ($$0327480 | 0) { + if (($297 | 0) != ($$6351478 | 0)) break; + HEAP32[$302 >> 2] = HEAP32[$302 >> 2] | 1; + } + $$1377$ph = $274; + $$5350$ph = $$6351478; + $$5386$ph576 = $$6387477; + } + HEAP32[$6 + ($$7374$ph$ph << 2) >> 2] = $$0327480; + $$1377$ph$ph = $274; + $$5350$ph$ph = $$6351478; + $$5386$ph576$ph = $$6387477; + $$7374$ph$ph = $297; + } + $$0360474 = 0.0; + $$10473 = $$7374$ph$ph; + $$4475 = 0; + while (1) { + $306 = $$4475 + $$5350 & 127; + $309 = $$10473 + 1 & 127; + if (($306 | 0) == ($$10473 | 0)) { + HEAP32[$6 + ($309 + -1 << 2) >> 2] = 0; + $$11 = $309; + } else $$11 = $$10473; + $$0360474 = $$0360474 * 1.0e9 + +((HEAP32[$6 + ($306 << 2) >> 2] | 0) >>> 0); + $$4475 = $$4475 + 1 | 0; + if (($$4475 | 0) == 2) break; else $$10473 = $$11; + } + $318 = +($4 | 0); + $319 = $$0360474 * $318; + $320 = $$1377 + 53 | 0; + $321 = $320 - $3 | 0; + $322 = ($321 | 0) < ($2 | 0); + $$0328 = $322 ? (($321 | 0) > 0 ? $321 : 0) : $2; + if (($$0328 | 0) < 53) { + $327 = +_copysignl(+_scalbn(1.0, 105 - $$0328 | 0), $319); + $330 = +_fmodl($319, +_scalbn(1.0, 53 - $$0328 | 0)); + $$0355 = $327; + $$0356 = $330; + $$1361 = $327 + ($319 - $330); + } else { + $$0355 = 0.0; + $$0356 = 0.0; + $$1361 = $319; + } + $334 = $$5350 + 2 & 127; + if (($334 | 0) != ($$11 | 0)) { + $337 = HEAP32[$6 + ($334 << 2) >> 2] | 0; + do if ($337 >>> 0 >= 5e8) { + if (($337 | 0) != 5e8) { + $$1357 = $318 * .75 + $$0356; + break; + } + if (($$5350 + 3 & 127 | 0) == ($$11 | 0)) { + $$1357 = $318 * .5 + $$0356; + break; + } else { + $$1357 = $318 * .75 + $$0356; + break; + } + } else { + if (($337 | 0) == 0 ? ($$5350 + 3 & 127 | 0) == ($$11 | 0) : 0) { + $$1357 = $$0356; + break; + } + $$1357 = $318 * .25 + $$0356; + } while (0); + if ((53 - $$0328 | 0) > 1 ? !(+_fmodl($$1357, 1.0) != 0.0) : 0) $$3359 = $$1357 + 1.0; else $$3359 = $$1357; + } else $$3359 = $$0356; + $361 = $$1361 + $$3359 - $$0355; + do if (($320 & 2147483647 | 0) > (-2 - $7 | 0)) { + $366 = !(+Math_abs(+$361) >= 9007199254740992.0); + $$3379 = $$1377 + (($366 ^ 1) & 1) | 0; + $$2362 = $366 ? $361 : $361 * .5; + if (($$3379 + 50 | 0) <= ($8 | 0) ? !($$3359 != 0.0 & ($322 & (($$0328 | 0) != ($321 | 0) | $366))) : 0) { + $$3363 = $$2362; + $$4380 = $$3379; + break; + } + $373 = ___errno_location() | 0; + HEAP32[$373 >> 2] = 68; + $$3363 = $$2362; + $$4380 = $$3379; + } else { + $$3363 = $361; + $$4380 = $$1377; + } while (0); + $$1 = +_scalbnl($$3363, $$4380); + } while (0); + STACKTOP = sp; + return +$$1; +} + +function _arDetectMarker($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$0440 = 0, $$0442 = 0, $$0447 = 0, $$0452 = 0, $$0456 = 0, $$0458 = 0.0, $$0462 = 0.0, $$0464 = 0.0, $$1441 = 0, $$1443 = 0, $$1448 = 0, $$1453 = 0, $$1457 = 0, $$1459 = 0.0, $$1463 = 0.0, $$1465 = 0.0, $$2444 = 0, $$2449 = 0, $$2454 = 0, $$2460 = 0.0, $$3445 = 0, $$3450 = 0, $$3455 = 0, $$4 = 0, $$4446 = 0, $$4451 = 0, $$5 = 0, $$6 = 0, $$pre$phi495Z2D = 0, $$pre$phi501Z2D = 0, $$pre$phi503Z2D = 0, $$pre$phi505Z2D = 0, $$pre$phiZ2D = 0, $$pre486 = 0, $$pre487 = 0, $$pre488 = 0, $10 = 0, $100 = 0, $11 = 0, $111 = 0, $112 = 0, $114 = 0, $116 = 0, $119 = 0, $127 = 0, $129 = 0, $131 = 0, $132 = 0, $137 = 0, $139 = 0, $14 = 0, $145 = 0, $148 = 0, $15 = 0, $159 = 0, $16 = 0, $161 = 0, $168 = 0, $170 = 0, $176 = 0, $177 = 0, $18 = 0, $2 = 0, $20 = 0, $201 = 0, $204 = 0, $205 = 0, $206 = 0, $208 = 0, $209 = 0, $210 = 0, $211 = 0, $217 = 0.0, $218 = 0.0, $22 = 0, $224 = 0.0, $229 = 0.0, $232 = 0.0, $236 = 0, $237 = 0, $240 = 0.0, $243 = 0, $245 = 0, $249 = 0, $252 = 0.0, $258 = 0.0, $26 = 0, $27 = 0, $276 = 0, $279 = 0.0, $28 = 0, $281 = 0, $284 = 0.0, $289 = 0.0, $29 = 0, $296 = 0, $299 = 0.0, $3 = 0, $30 = 0, $305 = 0.0, $31 = 0, $310 = 0, $314 = 0, $32 = 0, $326 = 0, $327 = 0, $33 = 0, $336 = 0, $338 = 0, $34 = 0, $341 = 0, $348 = 0, $35 = 0, $355 = 0, $356 = 0, $357 = 0, $358 = 0, $36 = 0, $360 = 0, $365 = 0.0, $366 = 0.0, $37 = 0, $372 = 0.0, $377 = 0.0, $38 = 0, $386 = 0, $388 = 0, $389 = 0, $39 = 0, $390 = 0, $40 = 0, $6 = 0, $7 = 0, $77 = 0, $79 = 0, $8 = 0, $80 = 0, $82 = 0, $83 = 0, $85 = 0, $86 = 0, $88 = 0, $91 = 0, $94 = 0, $97 = 0, $99 = 0, $spec$select = 0, $storemerge = 0, $storemerge466 = 0, $vararg_buffer = 0, $vararg_buffer6 = 0, $vararg_buffer9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(64); + $vararg_buffer9 = sp + 32 | 0; + $vararg_buffer6 = sp + 24 | 0; + $vararg_buffer = sp; + $2 = sp + 52 | 0; + $3 = sp + 40 | 0; + L1 : do if (($0 | 0) != 0 & ($1 | 0) != 0) { + $6 = $0 + 44 | 0; + HEAP32[$6 >> 2] = 0; + $7 = $0 + 7062388 | 0; + $8 = HEAP32[$7 >> 2] | 0; + L3 : do if (($8 | 0) == 4) { + $10 = $0 + 7062396 | 0; + $11 = HEAP32[$10 >> 2] | 0; + do if (($11 | 0) > 0) HEAP32[$10 >> 2] = $11 + -1; else { + $14 = $0 + 16 | 0; + $15 = HEAP32[$14 >> 2] | 0; + $16 = $0 + 7062400 | 0; + $18 = (HEAP32[$16 >> 2] | 0) + $15 | 0; + $spec$select = ($18 | 0) < 255 ? $18 : 255; + HEAP32[$2 >> 2] = $spec$select; + $20 = $0 + 7062404 | 0; + $22 = $15 - (HEAP32[$20 >> 2] | 0) | 0; + $storemerge466 = ($22 | 0) > 0 ? $22 : 0; + HEAP32[$2 + 4 >> 2] = $storemerge466; + HEAP32[$2 + 8 >> 2] = $15; + $26 = $1 + 12 | 0; + $27 = $0 + 36 | 0; + $28 = $0 + 40 | 0; + $29 = $0 + 12 | 0; + $30 = $0 + 20 | 0; + $31 = $0 + 4834144 | 0; + $32 = $0 + 15416 | 0; + $33 = $0 + 15408 | 0; + $34 = $0 + 4 | 0; + $35 = $0 + 7062384 | 0; + $36 = $0 + 24 | 0; + $37 = $0 + 32 | 0; + $38 = $0 + 7062416 | 0; + $39 = $0 + 48 | 0; + $40 = $0 + 7062424 | 0; + $$0447 = 0; + while (1) { + if ($$0447 >>> 0 >= 3) break; + if ((_arLabeling(HEAP32[$26 >> 2] | 0, HEAP32[$27 >> 2] | 0, HEAP32[$28 >> 2] | 0, HEAP32[$0 >> 2] | 0, HEAP32[$29 >> 2] | 0, HEAP32[$2 + ($$0447 << 2) >> 2] | 0, HEAP32[$30 >> 2] | 0, $31, 0) | 0) < 0) { + label = 29; + break; + } + if ((_arDetectMarker2(HEAP32[$27 >> 2] | 0, HEAP32[$28 >> 2] | 0, $31, HEAP32[$30 >> 2] | 0, 1e6, 70, 1.0, $32, $33) | 0) < 0) { + label = 29; + break; + } + if ((_arGetMarkerInfo(HEAP32[$1 >> 2] | 0, HEAP32[$27 >> 2] | 0, HEAP32[$28 >> 2] | 0, HEAP32[$34 >> 2] | 0, $32, HEAP32[$33 >> 2] | 0, HEAP32[$35 >> 2] | 0, HEAP32[$30 >> 2] | 0, HEAP32[$36 >> 2] | 0, (HEAP32[$37 >> 2] | 0) + 184 | 0, +HEAPF64[$38 >> 3], $39, $6, HEAP32[$40 >> 2] | 0) | 0) < 0) { + label = 29; + break; + } + HEAP32[$3 + ($$0447 << 2) >> 2] = HEAP32[$6 >> 2]; + $$0447 = $$0447 + 1 | 0; + } + if ((label | 0) == 29) { + $$4 = -1; + break L1; + } + if ((HEAP32[$0 >> 2] | 0) == 1) { + $77 = HEAP32[$3 + 4 >> 2] | 0; + $79 = HEAP32[$3 + 8 >> 2] | 0; + $80 = HEAP32[$3 >> 2] | 0; + HEAP32[$vararg_buffer >> 2] = $storemerge466; + HEAP32[$vararg_buffer + 4 >> 2] = $77; + HEAP32[$vararg_buffer + 8 >> 2] = $15; + HEAP32[$vararg_buffer + 12 >> 2] = $79; + HEAP32[$vararg_buffer + 16 >> 2] = $spec$select; + HEAP32[$vararg_buffer + 20 >> 2] = $80; + _arLog(0, 3, 24030, $vararg_buffer); + $82 = $80; + $83 = $79; + } else { + $82 = HEAP32[$3 >> 2] | 0; + $83 = HEAP32[$3 + 8 >> 2] | 0; + } + $$pre486 = HEAP32[$3 + 4 >> 2] | 0; + if (($82 | 0) > ($83 | 0) | ($$pre486 | 0) > ($83 | 0)) { + $99 = ($82 | 0) < ($$pre486 | 0) ? $storemerge466 : $spec$select; + HEAP32[$14 >> 2] = $99; + $100 = $99 - $15 | 0; + if (($100 | 0) > 0) { + HEAP32[$16 >> 2] = $100; + $storemerge = 1; + } else { + HEAP32[$16 >> 2] = 1; + $storemerge = 0 - $100 | 0; + } + HEAP32[$20 >> 2] = $storemerge; + if ((HEAP32[$0 >> 2] | 0) == 1) { + HEAP32[$vararg_buffer6 >> 2] = $99; + _arLog(0, 3, 24106, $vararg_buffer6); + HEAP32[$10 >> 2] = HEAP32[$0 + 7062392 >> 2]; + break; + } else { + HEAP32[$10 >> 2] = HEAP32[$0 + 7062392 >> 2]; + break; + } + } + $85 = HEAP32[$16 >> 2] | 0; + $86 = HEAP32[$20 >> 2] | 0; + do if (($85 | 0) >= ($86 | 0)) if (($85 | 0) > ($86 | 0)) { + HEAP32[$20 >> 2] = $86 + 1; + $94 = $85; + break; + } else { + $91 = $85 + 1 | 0; + HEAP32[$16 >> 2] = $91; + HEAP32[$20 >> 2] = $86 + 1; + $94 = $91; + break; + } else { + $88 = $85 + 1 | 0; + HEAP32[$16 >> 2] = $88; + $94 = $88; + } while (0); + if (($94 + $15 | 0) > 254) { + HEAP32[$16 >> 2] = 1; + $97 = 1; + } else $97 = $94; + if (($15 | 0) <= ($97 | 0)) HEAP32[$20 >> 2] = 1; + HEAP32[$10 >> 2] = HEAP32[$0 + 7062392 >> 2]; + break L3; + } while (0); + $111 = HEAP32[$7 >> 2] | 0; + label = 33; + } else { + $111 = $8; + label = 33; + } while (0); + if ((label | 0) == 33) { + L47 : do switch ($111 | 0) { + case 3: + { + $112 = $0 + 7062408 | 0; + $114 = $1 + 12 | 0; + $116 = _arImageProcLumaHistAndBoxFilterWithBias(HEAP32[$112 >> 2] | 0, HEAP32[$114 >> 2] | 0, 9, -7) | 0; + if (($116 | 0) < 0) { + $$4 = $116; + break L1; + } + $119 = HEAP32[$112 >> 2] | 0; + $127 = $0 + 4834144 | 0; + $129 = _arLabeling(HEAP32[$114 >> 2] | 0, HEAP32[$119 + 4 >> 2] | 0, HEAP32[$119 + 8 >> 2] | 0, HEAP32[$0 >> 2] | 0, HEAP32[$0 + 12 >> 2] | 0, 0, 0, $127, HEAP32[$119 >> 2] | 0) | 0; + if (($129 | 0) < 0) { + $$4 = $129; + break L1; + } + $$pre$phi501Z2D = $0 + 36 | 0; + $$pre$phi503Z2D = $0 + 40 | 0; + $$pre$phi505Z2D = $0 + 20 | 0; + $$pre$phiZ2D = $127; + break; + } + case 2: + case 1: + { + $131 = $0 + 7062396 | 0; + $132 = HEAP32[$131 >> 2] | 0; + if (($132 | 0) > 0) { + HEAP32[$131 >> 2] = $132 + -1; + label = 48; + break L47; + } + $137 = HEAP32[$0 + 7062408 >> 2] | 0; + $139 = HEAP32[$1 + 12 >> 2] | 0; + if (($111 | 0) == 1) $$0 = _arImageProcLumaHistAndCDFAndMedian($137, $139, $2) | 0; else $$0 = _arImageProcLumaHistAndOtsu($137, $139, $2) | 0; + if (($$0 | 0) < 0) { + $$4 = $$0; + break L1; + } + $145 = $0 + 16 | 0; + if ((HEAP32[$0 >> 2] | 0) == 1 ? ($148 = HEAPU8[$2 >> 0] | 0, (HEAP32[$145 >> 2] | 0) != ($148 | 0)) : 0) { + HEAP32[$vararg_buffer9 >> 2] = (HEAP32[$7 >> 2] | 0) == 1 ? 24158 : 24165; + HEAP32[$vararg_buffer9 + 4 >> 2] = $148; + _arLog(0, 3, 24170, $vararg_buffer9); + } + HEAP32[$145 >> 2] = HEAPU8[$2 >> 0]; + HEAP32[$131 >> 2] = HEAP32[$0 + 7062392 >> 2]; + label = 48; + break; + } + default: + label = 48; + } while (0); + if ((label | 0) == 48) { + $159 = $0 + 36 | 0; + $161 = $0 + 40 | 0; + $168 = $0 + 20 | 0; + $170 = $0 + 4834144 | 0; + if ((_arLabeling(HEAP32[$1 + 12 >> 2] | 0, HEAP32[$159 >> 2] | 0, HEAP32[$161 >> 2] | 0, HEAP32[$0 >> 2] | 0, HEAP32[$0 + 12 >> 2] | 0, HEAP32[$0 + 16 >> 2] | 0, HEAP32[$168 >> 2] | 0, $170, 0) | 0) < 0) { + $$4 = -1; + break; + } else { + $$pre$phi501Z2D = $159; + $$pre$phi503Z2D = $161; + $$pre$phi505Z2D = $168; + $$pre$phiZ2D = $170; + } + } + $176 = $0 + 15416 | 0; + $177 = $0 + 15408 | 0; + if ((_arDetectMarker2(HEAP32[$$pre$phi501Z2D >> 2] | 0, HEAP32[$$pre$phi503Z2D >> 2] | 0, $$pre$phiZ2D, HEAP32[$$pre$phi505Z2D >> 2] | 0, 1e6, 70, 1.0, $176, $177) | 0) < 0) { + $$4 = -1; + break; + } + if ((_arGetMarkerInfo(HEAP32[$1 >> 2] | 0, HEAP32[$$pre$phi501Z2D >> 2] | 0, HEAP32[$$pre$phi503Z2D >> 2] | 0, HEAP32[$0 + 4 >> 2] | 0, $176, HEAP32[$177 >> 2] | 0, HEAP32[$0 + 7062384 >> 2] | 0, HEAP32[$$pre$phi505Z2D >> 2] | 0, HEAP32[$0 + 24 >> 2] | 0, (HEAP32[$0 + 32 >> 2] | 0) + 184 | 0, +HEAPF64[$0 + 7062416 >> 3], $0 + 48 | 0, $6, HEAP32[$0 + 7062424 >> 2] | 0) | 0) < 0) { + $$4 = -1; + break; + } + } + $201 = $0 + 28 | 0; + if ((HEAP32[$201 >> 2] | 0) == 1) { + _confidenceCutoff($0); + $$4 = 0; + break; + } + $204 = $0 + 4818296 | 0; + $205 = HEAP32[$204 >> 2] | 0; + $206 = $0 + 24 | 0; + $$1448 = 0; + while (1) { + if (($$1448 | 0) >= ($205 | 0)) break; + $208 = HEAP32[$6 >> 2] | 0; + $209 = $0 + 4818304 + ($$1448 * 264 | 0) | 0; + $210 = $0 + 4818304 + ($$1448 * 264 | 0) + 56 | 0; + $211 = $0 + 4818304 + ($$1448 * 264 | 0) + 64 | 0; + $$0442 = 0; + $$0456 = -1; + $$0464 = .5; + while (1) { + if (($$0442 | 0) >= ($208 | 0)) break; + $217 = +(HEAP32[$0 + 48 + ($$0442 << 8) >> 2] | 0); + $218 = +(HEAP32[$209 >> 2] | 0) / $217; + if (!($218 < .7 | $218 > 1.43) ? ($224 = +HEAPF64[$0 + 48 + ($$0442 << 8) + 56 >> 3] - +HEAPF64[$210 >> 3], $229 = +HEAPF64[$0 + 48 + ($$0442 << 8) + 64 >> 3] - +HEAPF64[$211 >> 3], $232 = ($224 * $224 + $229 * $229) / $217, $232 < $$0464) : 0) { + $$1457 = $$0442; + $$1465 = $232; + } else { + $$1457 = $$0456; + $$1465 = $$0464; + } + $$0442 = $$0442 + 1 | 0; + $$0456 = $$1457; + $$0464 = $$1465; + } + L85 : do if (($$0456 | 0) > -1) { + $236 = HEAP32[$206 >> 2] | 0; + switch ($236 | 0) { + case 2: + case 1: + case 0: + break; + case 4: + case 3: + { + $276 = $0 + 48 + ($$0456 << 8) + 40 | 0; + $279 = +HEAPF64[$0 + 4818304 + ($$1448 * 264 | 0) + 40 >> 3]; + if (!(+HEAPF64[$276 >> 3] < $279)) { + $281 = $0 + 48 + ($$0456 << 8) + 48 | 0; + $284 = +HEAPF64[$0 + 4818304 + ($$1448 * 264 | 0) + 48 >> 3]; + if (+HEAPF64[$281 >> 3] < $284) { + $$pre$phi495Z2D = $281; + $289 = $284; + } else break L85; + } else { + $$pre$phi495Z2D = $0 + 48 + ($$0456 << 8) + 48 | 0; + $289 = +HEAPF64[$0 + 4818304 + ($$1448 * 264 | 0) + 48 >> 3]; + } + HEAPF64[$276 >> 3] = $279; + HEAP32[$0 + 48 + ($$0456 << 8) + 8 >> 2] = HEAP32[$0 + 4818304 + ($$1448 * 264 | 0) + 8 >> 2]; + HEAPF64[$$pre$phi495Z2D >> 3] = $289; + HEAP32[$0 + 48 + ($$0456 << 8) + 12 >> 2] = HEAP32[$0 + 4818304 + ($$1448 * 264 | 0) + 12 >> 2]; + $$2444 = 0; + $$2454 = -1; + $$2460 = 1.0e8; + while (1) { + if (($$2444 | 0) == 4) break; + $$1441 = 0; + $$1463 = 0.0; + while (1) { + if (($$1441 | 0) == 4) break; + $296 = $$1441 + $$2444 & 3; + $299 = +HEAPF64[$0 + 4818304 + ($$1448 * 264 | 0) + 168 + ($$1441 << 4) >> 3] - +HEAPF64[$0 + 48 + ($$0456 << 8) + 168 + ($296 << 4) >> 3]; + $305 = +HEAPF64[$0 + 4818304 + ($$1448 * 264 | 0) + 168 + ($$1441 << 4) + 8 >> 3] - +HEAPF64[$0 + 48 + ($$0456 << 8) + 168 + ($296 << 4) + 8 >> 3]; + $$1441 = $$1441 + 1 | 0; + $$1463 = $$1463 + ($299 * $299 + $305 * $305); + } + $310 = $$1463 < $$2460; + $$3455 = $310 ? $$2444 : $$2454; + $$2444 = $$2444 + 1 | 0; + $$2454 = $$3455; + $$2460 = $310 ? $$1463 : $$2460; + } + $314 = 4 - $$2454 | 0; + HEAP32[$0 + 48 + ($$0456 << 8) + 20 >> 2] = ($314 + (HEAP32[$0 + 4818304 + ($$1448 * 264 | 0) + 20 >> 2] | 0) | 0) % 4 | 0; + HEAP32[$0 + 48 + ($$0456 << 8) + 24 >> 2] = ($314 + (HEAP32[$0 + 4818304 + ($$1448 * 264 | 0) + 24 >> 2] | 0) | 0) % 4 | 0; + break L85; + break; + } + default: + { + $$4 = -1; + break L1; + } + } + $237 = $0 + 48 + ($$0456 << 8) + 32 | 0; + $240 = +HEAPF64[$0 + 4818304 + ($$1448 * 264 | 0) + 32 >> 3]; + if (+HEAPF64[$237 >> 3] < $240) { + HEAPF64[$237 >> 3] = $240; + $243 = HEAP32[$0 + 4818304 + ($$1448 * 264 | 0) + 4 >> 2] | 0; + HEAP32[$0 + 48 + ($$0456 << 8) + 4 >> 2] = $243; + $245 = $0 + 4818304 + ($$1448 * 264 | 0) + 16 | 0; + $$0452 = -1; + $$0458 = 1.0e8; + $$1443 = 0; + while (1) { + if (($$1443 | 0) == 4) break; + $$0440 = 0; + $$0462 = 0.0; + while (1) { + if (($$0440 | 0) == 4) break; + $249 = $$0440 + $$1443 & 3; + $252 = +HEAPF64[$0 + 4818304 + ($$1448 * 264 | 0) + 168 + ($$0440 << 4) >> 3] - +HEAPF64[$0 + 48 + ($$0456 << 8) + 168 + ($249 << 4) >> 3]; + $258 = +HEAPF64[$0 + 4818304 + ($$1448 * 264 | 0) + 168 + ($$0440 << 4) + 8 >> 3] - +HEAPF64[$0 + 48 + ($$0456 << 8) + 168 + ($249 << 4) + 8 >> 3]; + $$0440 = $$0440 + 1 | 0; + $$0462 = $$0462 + ($252 * $252 + $258 * $258); + } + if ($$0462 < $$0458) { + $$1453 = (4 - $$1443 + (HEAP32[$245 >> 2] | 0) | 0) % 4 | 0; + $$1459 = $$0462; + } else { + $$1453 = $$0452; + $$1459 = $$0458; + } + $$0452 = $$1453; + $$0458 = $$1459; + $$1443 = $$1443 + 1 | 0; + } + HEAP32[$0 + 48 + ($$0456 << 8) + 16 >> 2] = $$0452; + if ($236 >>> 0 < 2) { + HEAP32[$0 + 48 + ($$0456 << 8) + 8 >> 2] = $243; + HEAPF64[$0 + 48 + ($$0456 << 8) + 40 >> 3] = $240; + HEAP32[$0 + 48 + ($$0456 << 8) + 20 >> 2] = $$0452; + break; + } else { + HEAP32[$0 + 48 + ($$0456 << 8) + 12 >> 2] = $243; + HEAPF64[$0 + 48 + ($$0456 << 8) + 48 >> 3] = $240; + HEAP32[$0 + 48 + ($$0456 << 8) + 24 >> 2] = $$0452; + break; + } + } + } while (0); + $$1448 = $$1448 + 1 | 0; + } + _confidenceCutoff($0); + $$2449 = 0; + $$3445 = 0; + while (1) { + if (($$2449 | 0) >= (HEAP32[$204 >> 2] | 0)) break; + $326 = $0 + 4818304 + ($$2449 * 264 | 0) + 256 | 0; + $327 = HEAP32[$326 >> 2] | 0; + HEAP32[$326 >> 2] = $327 + 1; + if (($327 | 0) < 3) { + if (($$2449 | 0) != ($$3445 | 0)) _memcpy($0 + 4818304 + ($$3445 * 264 | 0) | 0, $0 + 4818304 + ($$2449 * 264 | 0) | 0, 264) | 0; + $$4446 = $$3445 + 1 | 0; + } else $$4446 = $$3445; + $$2449 = $$2449 + 1 | 0; + $$3445 = $$4446; + } + HEAP32[$204 >> 2] = $$3445; + $$pre487 = HEAP32[$6 >> 2] | 0; + $$3450 = 0; + $341 = $$3445; + while (1) { + if (($$3450 | 0) >= ($$pre487 | 0)) break; + $336 = $0 + 48 + ($$3450 << 8) | 0; + $338 = HEAP32[$0 + 48 + ($$3450 << 8) + 4 >> 2] | 0; + if (($338 | 0) < 0) $388 = $341; else { + $$5 = 0; + while (1) { + if (($$5 | 0) >= ($341 | 0)) break; + if ((HEAP32[$0 + 4818304 + ($$5 * 264 | 0) + 4 >> 2] | 0) == ($338 | 0)) break; + $$5 = $$5 + 1 | 0; + } + if (($$5 | 0) == ($341 | 0)) { + if (($341 | 0) == 60) break; + $348 = $341 + 1 | 0; + HEAP32[$204 >> 2] = $348; + $389 = $348; + } else $389 = $341; + _memcpy($0 + 4818304 + ($$5 * 264 | 0) | 0, $336 | 0, 256) | 0; + HEAP32[$0 + 4818304 + ($$5 * 264 | 0) + 256 >> 2] = 1; + $388 = $389; + } + $$3450 = $$3450 + 1 | 0; + $341 = $388; + } + if ((HEAP32[$201 >> 2] | 0) == 2) $$4 = 0; else { + $$4451 = 0; + $355 = $341; + $360 = $$pre487; + while (1) { + if (($$4451 | 0) >= ($355 | 0)) { + $$4 = 0; + break L1; + } + $356 = $0 + 4818304 + ($$4451 * 264 | 0) | 0; + $357 = $0 + 4818304 + ($$4451 * 264 | 0) + 56 | 0; + $358 = $0 + 4818304 + ($$4451 * 264 | 0) + 64 | 0; + $$6 = 0; + while (1) { + if (($$6 | 0) >= ($360 | 0)) break; + $365 = +(HEAP32[$0 + 48 + ($$6 << 8) >> 2] | 0); + $366 = +(HEAP32[$356 >> 2] | 0) / $365; + if (!($366 < .7 | $366 > 1.43) ? ($372 = +HEAPF64[$0 + 48 + ($$6 << 8) + 56 >> 3] - +HEAPF64[$357 >> 3], $377 = +HEAPF64[$0 + 48 + ($$6 << 8) + 64 >> 3] - +HEAPF64[$358 >> 3], ($372 * $372 + $377 * $377) / $365 < .5) : 0) break; + $$6 = $$6 + 1 | 0; + } + if (($$6 | 0) == ($360 | 0)) { + _memcpy($0 + 48 + ($360 << 8) | 0, $0 + 4818304 + ($$4451 * 264 | 0) | 0, 256) | 0; + $386 = $360 + 1 | 0; + HEAP32[$6 >> 2] = $386; + $$pre488 = HEAP32[$204 >> 2] | 0; + $390 = $386; + } else { + $$pre488 = $355; + $390 = $360; + } + $$4451 = $$4451 + 1 | 0; + $355 = $$pre488; + $360 = $390; + } + } + } else $$4 = -1; while (0); + STACKTOP = sp; + return $$4 | 0; +} + +function _printf_core($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 = 0, $$0231 = 0, $$0232336 = 0, $$0234 = 0, $$0237 = 0, $$0239 = 0, $$0242315 = 0, $$0242315373 = 0, $$0242335 = 0, $$0245 = 0, $$0245$ph = 0, $$0245$ph$be = 0, $$0249 = 0, $$0249$ph = 0, $$0251$lcssa = 0, $$0251323 = 0, $$0254 = 0, $$0255 = 0, $$0256 = 0, $$0261 = 0, $$0264$lcssa = 0, $$0264330 = 0, $$0271$ph = 0, $$1 = 0, $$1233342 = 0, $$1235 = 0, $$1238 = 0, $$1240 = 0, $$1243341 = 0, $$1250 = 0, $$1257 = 0, $$1262 = 0, $$1265 = 0, $$1272 = 0, $$2236 = 0, $$2241 = 0, $$2244322 = 0, $$2258 = 0, $$2263 = 0, $$2273 = 0, $$3267 = 0, $$3274 = 0, $$3319 = 0, $$4260372 = 0, $$4268 = 0, $$5 = 0, $$6270 = 0, $$lcssa310 = 0, $$pre$phiZ2D = 0, $$pre362 = 0, $$pre365 = 0, $$sink = 0, $10 = 0, $104 = 0, $105 = 0, $108 = 0, $11 = 0, $111 = 0, $114 = 0, $116 = 0, $12 = 0, $124 = 0, $128 = 0, $13 = 0, $139 = 0, $14 = 0, $143 = 0, $15 = 0, $150 = 0, $151 = 0, $153 = 0, $154 = 0, $156 = 0, $16 = 0, $165 = 0, $166 = 0, $171 = 0, $174 = 0, $179 = 0, $180 = 0, $185 = 0, $187 = 0, $194 = 0, $195 = 0, $20 = 0, $206 = 0, $218 = 0, $22 = 0, $225 = 0, $23 = 0, $232 = 0, $233 = 0, $246 = 0, $25 = 0, $252 = 0, $256 = 0, $26 = 0, $260 = 0, $262 = 0, $265 = 0, $267 = 0, $268 = 0, $269 = 0, $27 = 0, $279 = 0, $280 = 0, $284 = 0, $29 = 0, $292 = 0, $298 = 0, $307 = 0, $309 = 0, $310 = 0, $311 = 0, $32 = 0, $324 = 0, $326 = 0, $327 = 0, $331 = 0, $335 = 0, $337 = 0, $348 = 0, $350 = 0, $357 = 0, $360 = 0, $367 = 0, $368 = 0, $45 = 0, $53 = 0, $54 = 0, $56 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $7 = 0, $78 = 0, $8 = 0, $82 = 0, $9 = 0, $or$cond = 0, $or$cond280 = 0, $spec$select = 0, $spec$select286 = 0, $storemerge275$lcssa = 0, $storemerge275329 = 0, $storemerge276 = 0, label = 0, sp = 0, $156$looptemp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(64); + $7 = sp + 56 | 0; + $8 = sp + 40 | 0; + $9 = sp; + $10 = sp + 48 | 0; + $11 = sp + 60 | 0; + HEAP32[$7 >> 2] = $1; + $12 = ($0 | 0) != 0; + $13 = $9 + 40 | 0; + $14 = $13; + $15 = $9 + 39 | 0; + $16 = $10 + 4 | 0; + $$0245$ph = 0; + $$0249$ph = 0; + $$0271$ph = 0; + L1 : while (1) { + $$0245 = $$0245$ph; + $$0249 = $$0249$ph; + while (1) { + do if (($$0249 | 0) > -1) if (($$0245 | 0) > (2147483647 - $$0249 | 0)) { + $20 = ___errno_location() | 0; + HEAP32[$20 >> 2] = 61; + $$1250 = -1; + break; + } else { + $$1250 = $$0245 + $$0249 | 0; + break; + } else $$1250 = $$0249; while (0); + $22 = HEAP32[$7 >> 2] | 0; + $23 = HEAP8[$22 >> 0] | 0; + if (!($23 << 24 >> 24)) { + label = 92; + break L1; + } + $25 = $23; + $27 = $22; + L12 : while (1) { + switch ($25 << 24 >> 24) { + case 37: + { + label = 10; + break L12; + break; + } + case 0: + { + $$0251$lcssa = $27; + break L12; + break; + } + default: + {} + } + $26 = $27 + 1 | 0; + HEAP32[$7 >> 2] = $26; + $25 = HEAP8[$26 >> 0] | 0; + $27 = $26; + } + L15 : do if ((label | 0) == 10) { + label = 0; + $$0251323 = $27; + $29 = $27; + while (1) { + if ((HEAP8[$29 + 1 >> 0] | 0) != 37) { + $$0251$lcssa = $$0251323; + break L15; + } + $32 = $$0251323 + 1 | 0; + $29 = $29 + 2 | 0; + HEAP32[$7 >> 2] = $29; + if ((HEAP8[$29 >> 0] | 0) != 37) { + $$0251$lcssa = $32; + break; + } else $$0251323 = $32; + } + } while (0); + $$0245 = $$0251$lcssa - $22 | 0; + if ($12) _out($0, $22, $$0245); + if (!$$0245) break; else $$0249 = $$1250; + } + $45 = (_isdigit(HEAP8[(HEAP32[$7 >> 2] | 0) + 1 >> 0] | 0) | 0) == 0; + $$pre362 = HEAP32[$7 >> 2] | 0; + if (!$45 ? (HEAP8[$$pre362 + 2 >> 0] | 0) == 36 : 0) { + $$0255 = (HEAP8[$$pre362 + 1 >> 0] | 0) + -48 | 0; + $$1272 = 1; + $$sink = 3; + } else { + $$0255 = -1; + $$1272 = $$0271$ph; + $$sink = 1; + } + $53 = $$pre362 + $$sink | 0; + HEAP32[$7 >> 2] = $53; + $54 = HEAP8[$53 >> 0] | 0; + $56 = ($54 << 24 >> 24) + -32 | 0; + if ($56 >>> 0 > 31 | (1 << $56 & 75913 | 0) == 0) { + $$0264$lcssa = 0; + $$lcssa310 = $54; + $storemerge275$lcssa = $53; + } else { + $$0264330 = 0; + $62 = $56; + $storemerge275329 = $53; + while (1) { + $63 = 1 << $62 | $$0264330; + $64 = $storemerge275329 + 1 | 0; + HEAP32[$7 >> 2] = $64; + $65 = HEAP8[$64 >> 0] | 0; + $62 = ($65 << 24 >> 24) + -32 | 0; + if ($62 >>> 0 > 31 | (1 << $62 & 75913 | 0) == 0) { + $$0264$lcssa = $63; + $$lcssa310 = $65; + $storemerge275$lcssa = $64; + break; + } else { + $$0264330 = $63; + $storemerge275329 = $64; + } + } + } + if ($$lcssa310 << 24 >> 24 == 42) { + if ((_isdigit(HEAP8[$storemerge275$lcssa + 1 >> 0] | 0) | 0) != 0 ? ($78 = HEAP32[$7 >> 2] | 0, (HEAP8[$78 + 2 >> 0] | 0) == 36) : 0) { + $82 = $78 + 1 | 0; + HEAP32[$4 + ((HEAP8[$82 >> 0] | 0) + -48 << 2) >> 2] = 10; + $$0261 = HEAP32[$3 + ((HEAP8[$82 >> 0] | 0) + -48 << 3) >> 2] | 0; + $$2273 = 1; + $storemerge276 = $78 + 3 | 0; + } else { + if ($$1272 | 0) { + $$0 = -1; + break; + } + if ($12) { + $104 = (HEAP32[$2 >> 2] | 0) + (4 - 1) & ~(4 - 1); + $105 = HEAP32[$104 >> 2] | 0; + HEAP32[$2 >> 2] = $104 + 4; + $367 = $105; + } else $367 = 0; + $$0261 = $367; + $$2273 = 0; + $storemerge276 = (HEAP32[$7 >> 2] | 0) + 1 | 0; + } + HEAP32[$7 >> 2] = $storemerge276; + $108 = ($$0261 | 0) < 0; + $$1262 = $108 ? 0 - $$0261 | 0 : $$0261; + $$1265 = $108 ? $$0264$lcssa | 8192 : $$0264$lcssa; + $$3274 = $$2273; + $114 = $storemerge276; + } else { + $111 = _getint($7) | 0; + if (($111 | 0) < 0) { + $$0 = -1; + break; + } + $$1262 = $111; + $$1265 = $$0264$lcssa; + $$3274 = $$1272; + $114 = HEAP32[$7 >> 2] | 0; + } + do if ((HEAP8[$114 >> 0] | 0) == 46) { + $116 = $114 + 1 | 0; + if ((HEAP8[$116 >> 0] | 0) != 42) { + HEAP32[$7 >> 2] = $116; + $154 = _getint($7) | 0; + $$0256 = $154; + $$pre365 = HEAP32[$7 >> 2] | 0; + break; + } + if (_isdigit(HEAP8[$114 + 2 >> 0] | 0) | 0 ? ($124 = HEAP32[$7 >> 2] | 0, (HEAP8[$124 + 3 >> 0] | 0) == 36) : 0) { + $128 = $124 + 2 | 0; + HEAP32[$4 + ((HEAP8[$128 >> 0] | 0) + -48 << 2) >> 2] = 10; + $139 = HEAP32[$3 + ((HEAP8[$128 >> 0] | 0) + -48 << 3) >> 2] | 0; + $143 = $124 + 4 | 0; + HEAP32[$7 >> 2] = $143; + $$0256 = $139; + $$pre365 = $143; + break; + } + if ($$3274 | 0) { + $$0 = -1; + break L1; + } + if ($12) { + $150 = (HEAP32[$2 >> 2] | 0) + (4 - 1) & ~(4 - 1); + $151 = HEAP32[$150 >> 2] | 0; + HEAP32[$2 >> 2] = $150 + 4; + $368 = $151; + } else $368 = 0; + $153 = (HEAP32[$7 >> 2] | 0) + 2 | 0; + HEAP32[$7 >> 2] = $153; + $$0256 = $368; + $$pre365 = $153; + } else { + $$0256 = -1; + $$pre365 = $114; + } while (0); + $$0254 = 0; + $156 = $$pre365; + while (1) { + if (((HEAP8[$156 >> 0] | 0) + -65 | 0) >>> 0 > 57) { + $$0 = -1; + break L1; + } + $156$looptemp = $156; + $156 = $156 + 1 | 0; + HEAP32[$7 >> 2] = $156; + $165 = HEAP8[(HEAP8[$156$looptemp >> 0] | 0) + -65 + (6208 + ($$0254 * 58 | 0)) >> 0] | 0; + $166 = $165 & 255; + if (($166 + -1 | 0) >>> 0 >= 8) break; else $$0254 = $166; + } + if (!($165 << 24 >> 24)) { + $$0 = -1; + break; + } + $171 = ($$0255 | 0) > -1; + do if ($165 << 24 >> 24 == 19) if ($171) { + $$0 = -1; + break L1; + } else label = 54; else { + if ($171) { + HEAP32[$4 + ($$0255 << 2) >> 2] = $166; + $174 = $3 + ($$0255 << 3) | 0; + $179 = HEAP32[$174 + 4 >> 2] | 0; + $180 = $8; + HEAP32[$180 >> 2] = HEAP32[$174 >> 2]; + HEAP32[$180 + 4 >> 2] = $179; + label = 54; + break; + } + if (!$12) { + $$0 = 0; + break L1; + } + _pop_arg($8, $166, $2, $6); + $185 = HEAP32[$7 >> 2] | 0; + label = 55; + } while (0); + if ((label | 0) == 54) { + label = 0; + if ($12) { + $185 = $156; + label = 55; + } else $$0245$ph$be = 0; + } + L77 : do if ((label | 0) == 55) { + label = 0; + $187 = HEAP8[$185 + -1 >> 0] | 0; + $$0237 = ($$0254 | 0) != 0 & ($187 & 15 | 0) == 3 ? $187 & -33 : $187; + $194 = $$1265 & -65537; + $spec$select = ($$1265 & 8192 | 0) == 0 ? $$1265 : $194; + L79 : do switch ($$0237 | 0) { + case 110: + { + switch (($$0254 & 255) << 24 >> 24) { + case 0: + { + HEAP32[HEAP32[$8 >> 2] >> 2] = $$1250; + $$0245$ph$be = 0; + break L77; + break; + } + case 1: + { + HEAP32[HEAP32[$8 >> 2] >> 2] = $$1250; + $$0245$ph$be = 0; + break L77; + break; + } + case 2: + { + $206 = HEAP32[$8 >> 2] | 0; + HEAP32[$206 >> 2] = $$1250; + HEAP32[$206 + 4 >> 2] = (($$1250 | 0) < 0) << 31 >> 31; + $$0245$ph$be = 0; + break L77; + break; + } + case 3: + { + HEAP16[HEAP32[$8 >> 2] >> 1] = $$1250; + $$0245$ph$be = 0; + break L77; + break; + } + case 4: + { + HEAP8[HEAP32[$8 >> 2] >> 0] = $$1250; + $$0245$ph$be = 0; + break L77; + break; + } + case 6: + { + HEAP32[HEAP32[$8 >> 2] >> 2] = $$1250; + $$0245$ph$be = 0; + break L77; + break; + } + case 7: + { + $218 = HEAP32[$8 >> 2] | 0; + HEAP32[$218 >> 2] = $$1250; + HEAP32[$218 + 4 >> 2] = (($$1250 | 0) < 0) << 31 >> 31; + $$0245$ph$be = 0; + break L77; + break; + } + default: + { + $$0245$ph$be = 0; + break L77; + } + } + break; + } + case 112: + { + $$1238 = 120; + $$1257 = $$0256 >>> 0 > 8 ? $$0256 : 8; + $$3267 = $spec$select | 8; + label = 67; + break; + } + case 88: + case 120: + { + $$1238 = $$0237; + $$1257 = $$0256; + $$3267 = $spec$select; + label = 67; + break; + } + case 111: + { + $246 = $8; + $252 = _fmt_o(HEAP32[$246 >> 2] | 0, HEAP32[$246 + 4 >> 2] | 0, $13) | 0; + $256 = $14 - $252 | 0; + $$0231 = $252; + $$1235 = 0; + $$1240 = 50740; + $$2258 = ($spec$select & 8 | 0) == 0 | ($$0256 | 0) > ($256 | 0) ? $$0256 : $256 + 1 | 0; + $$4268 = $spec$select; + label = 73; + break; + } + case 105: + case 100: + { + $260 = $8; + $262 = HEAP32[$260 >> 2] | 0; + $265 = HEAP32[$260 + 4 >> 2] | 0; + if (($265 | 0) < 0) { + $267 = _i64Subtract(0, 0, $262 | 0, $265 | 0) | 0; + $268 = getTempRet0() | 0; + $269 = $8; + HEAP32[$269 >> 2] = $267; + HEAP32[$269 + 4 >> 2] = $268; + $$0234 = 1; + $$0239 = 50740; + $279 = $267; + $280 = $268; + label = 72; + break L79; + } else { + $$0234 = ($spec$select & 2049 | 0) != 0 & 1; + $$0239 = ($spec$select & 2048 | 0) == 0 ? (($spec$select & 1 | 0) == 0 ? 50740 : 50742) : 50741; + $279 = $262; + $280 = $265; + label = 72; + break L79; + } + break; + } + case 117: + { + $195 = $8; + $$0234 = 0; + $$0239 = 50740; + $279 = HEAP32[$195 >> 2] | 0; + $280 = HEAP32[$195 + 4 >> 2] | 0; + label = 72; + break; + } + case 99: + { + HEAP8[$15 >> 0] = HEAP32[$8 >> 2]; + $$1 = $15; + $$2236 = 0; + $$2241 = 50740; + $$5 = 1; + $$6270 = $194; + $$pre$phiZ2D = $14; + break; + } + case 115: + { + $307 = HEAP32[$8 >> 2] | 0; + $309 = ($307 | 0) == 0 ? 50750 : $307; + $310 = _memchr($309, 0, $$0256) | 0; + $311 = ($310 | 0) == 0; + $$1 = $309; + $$2236 = 0; + $$2241 = 50740; + $$5 = $311 ? $$0256 : $310 - $309 | 0; + $$6270 = $194; + $$pre$phiZ2D = $311 ? $309 + $$0256 | 0 : $310; + break; + } + case 67: + { + HEAP32[$10 >> 2] = HEAP32[$8 >> 2]; + HEAP32[$16 >> 2] = 0; + HEAP32[$8 >> 2] = $10; + $$4260372 = -1; + label = 79; + break; + } + case 83: + { + if (!$$0256) { + _pad_667($0, 32, $$1262, 0, $spec$select); + $$0242315373 = 0; + label = 89; + } else { + $$4260372 = $$0256; + label = 79; + } + break; + } + case 65: + case 71: + case 70: + case 69: + case 97: + case 103: + case 102: + case 101: + { + $$0245$ph$be = FUNCTION_TABLE_iidiiii[$5 & 1]($0, +HEAPF64[$8 >> 3], $$1262, $$0256, $spec$select, $$0237) | 0; + break L77; + break; + } + default: + { + $$1 = $22; + $$2236 = 0; + $$2241 = 50740; + $$5 = $$0256; + $$6270 = $spec$select; + $$pre$phiZ2D = $14; + } + } while (0); + L102 : do if ((label | 0) == 67) { + label = 0; + $225 = $8; + $232 = _fmt_x(HEAP32[$225 >> 2] | 0, HEAP32[$225 + 4 >> 2] | 0, $13, $$1238 & 32) | 0; + $233 = $8; + $or$cond280 = ($$3267 & 8 | 0) == 0 | (HEAP32[$233 >> 2] | 0) == 0 & (HEAP32[$233 + 4 >> 2] | 0) == 0; + $$0231 = $232; + $$1235 = $or$cond280 ? 0 : 2; + $$1240 = $or$cond280 ? 50740 : 50740 + ($$1238 >>> 4) | 0; + $$2258 = $$1257; + $$4268 = $$3267; + label = 73; + } else if ((label | 0) == 72) { + label = 0; + $$0231 = _fmt_u($279, $280, $13) | 0; + $$1235 = $$0234; + $$1240 = $$0239; + $$2258 = $$0256; + $$4268 = $spec$select; + label = 73; + } else if ((label | 0) == 79) { + label = 0; + $$0232336 = HEAP32[$8 >> 2] | 0; + $$0242335 = 0; + while (1) { + $324 = HEAP32[$$0232336 >> 2] | 0; + if (!$324) { + $$0242315 = $$0242335; + break; + } + $326 = _wctomb($11, $324) | 0; + $327 = ($326 | 0) < 0; + if ($327 | $326 >>> 0 > ($$4260372 - $$0242335 | 0) >>> 0) { + label = 83; + break; + } + $331 = $326 + $$0242335 | 0; + if ($$4260372 >>> 0 > $331 >>> 0) { + $$0232336 = $$0232336 + 4 | 0; + $$0242335 = $331; + } else { + $$0242315 = $331; + break; + } + } + if ((label | 0) == 83) { + label = 0; + if ($327) { + $$0 = -1; + break L1; + } else $$0242315 = $$0242335; + } + _pad_667($0, 32, $$1262, $$0242315, $spec$select); + if (!$$0242315) { + $$0242315373 = 0; + label = 89; + } else { + $$1233342 = HEAP32[$8 >> 2] | 0; + $$1243341 = 0; + while (1) { + $335 = HEAP32[$$1233342 >> 2] | 0; + if (!$335) { + $$0242315373 = $$0242315; + label = 89; + break L102; + } + $337 = _wctomb($11, $335) | 0; + $$1243341 = $337 + $$1243341 | 0; + if (($$1243341 | 0) > ($$0242315 | 0)) { + $$0242315373 = $$0242315; + label = 89; + break L102; + } + _out($0, $11, $337); + if ($$1243341 >>> 0 >= $$0242315 >>> 0) { + $$0242315373 = $$0242315; + label = 89; + break; + } else $$1233342 = $$1233342 + 4 | 0; + } + } + } while (0); + if ((label | 0) == 73) { + label = 0; + $284 = $8; + $292 = (HEAP32[$284 >> 2] | 0) != 0 | (HEAP32[$284 + 4 >> 2] | 0) != 0; + $or$cond = ($$2258 | 0) != 0 | $292; + $298 = $14 - $$0231 + (($292 ^ 1) & 1) | 0; + $$1 = $or$cond ? $$0231 : $13; + $$2236 = $$1235; + $$2241 = $$1240; + $$5 = $or$cond ? (($$2258 | 0) > ($298 | 0) ? $$2258 : $298) : 0; + $$6270 = ($$2258 | 0) > -1 ? $$4268 & -65537 : $$4268; + $$pre$phiZ2D = $14; + } else if ((label | 0) == 89) { + label = 0; + _pad_667($0, 32, $$1262, $$0242315373, $spec$select ^ 8192); + $$0245$ph$be = ($$1262 | 0) > ($$0242315373 | 0) ? $$1262 : $$0242315373; + break; + } + $348 = $$pre$phiZ2D - $$1 | 0; + $spec$select286 = ($$5 | 0) < ($348 | 0) ? $348 : $$5; + $350 = $spec$select286 + $$2236 | 0; + $$2263 = ($$1262 | 0) < ($350 | 0) ? $350 : $$1262; + _pad_667($0, 32, $$2263, $350, $$6270); + _out($0, $$2241, $$2236); + _pad_667($0, 48, $$2263, $350, $$6270 ^ 65536); + _pad_667($0, 48, $spec$select286, $348, 0); + _out($0, $$1, $348); + _pad_667($0, 32, $$2263, $350, $$6270 ^ 8192); + $$0245$ph$be = $$2263; + } while (0); + $$0245$ph = $$0245$ph$be; + $$0249$ph = $$1250; + $$0271$ph = $$3274; + } + L123 : do if ((label | 0) == 92) if (!$0) if (!$$0271$ph) $$0 = 0; else { + $$2244322 = 1; + while (1) { + $357 = HEAP32[$4 + ($$2244322 << 2) >> 2] | 0; + if (!$357) break; + _pop_arg($3 + ($$2244322 << 3) | 0, $357, $2, $6); + $360 = $$2244322 + 1 | 0; + if ($360 >>> 0 < 10) $$2244322 = $360; else { + $$0 = 1; + break L123; + } + } + $$3319 = $$2244322; + while (1) { + if (HEAP32[$4 + ($$3319 << 2) >> 2] | 0) { + $$0 = -1; + break L123; + } + $$3319 = $$3319 + 1 | 0; + if ($$3319 >>> 0 >= 10) { + $$0 = 1; + break; + } + } + } else $$0 = $$1250; while (0); + STACKTOP = sp; + return $$0 | 0; +} +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E16parseExprPrimaryEv($0) { + $0 = $0 | 0; + var $$1 = 0, $$2 = 0, $$3 = 0, $$byval_copy16 = 0, $1 = 0, $10 = 0, $100 = 0, $102 = 0, $103 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $24 = 0, $3 = 0, $32 = 0, $36 = 0, $4 = 0, $40 = 0, $44 = 0, $48 = 0, $5 = 0, $52 = 0, $56 = 0, $6 = 0, $60 = 0, $64 = 0, $68 = 0, $7 = 0, $72 = 0, $76 = 0, $8 = 0, $80 = 0, $9 = 0, $96 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 160 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(160); + $$byval_copy16 = sp + 144 | 0; + $1 = sp + 136 | 0; + $2 = sp + 128 | 0; + $3 = sp + 120 | 0; + $4 = sp + 112 | 0; + $5 = sp + 104 | 0; + $6 = sp + 96 | 0; + $7 = sp + 88 | 0; + $8 = sp + 80 | 0; + $9 = sp + 72 | 0; + $10 = sp + 64 | 0; + $11 = sp + 56 | 0; + $12 = sp + 48 | 0; + $13 = sp + 40 | 0; + $14 = sp + 32 | 0; + $15 = sp + 24 | 0; + $16 = sp + 16 | 0; + $17 = sp + 8 | 0; + $18 = sp; + L1 : do if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 76) | 0) do switch ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 0) | 0) << 24 >> 24 | 0) { + case 84: + { + $$3 = 0; + break L1; + break; + } + case 119: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $24 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($1, 52254); + HEAP32[$$byval_copy16 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$$byval_copy16 + 4 >> 2] = HEAP32[$1 + 4 >> 2]; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E19parseIntegerLiteralENS_10StringViewE($24, $$byval_copy16) | 0; + break L1; + break; + } + case 98: + { + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 52262); + HEAP32[$$byval_copy16 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy16 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy16) | 0) { + HEAP32[$$byval_copy16 >> 2] = 0; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8BoolExprEJiEEEPNS0_4NodeEDpOT0_($0, $$byval_copy16) | 0; + break L1; + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, 52266); + HEAP32[$$byval_copy16 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy16 + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + if (!(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy16) | 0)) { + $$3 = 0; + break L1; + } + HEAP32[$$byval_copy16 >> 2] = 1; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8BoolExprEJiEEEPNS0_4NodeEDpOT0_($0, $$byval_copy16) | 0; + break L1; + break; + } + case 99: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $32 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, 57078); + HEAP32[$$byval_copy16 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy16 + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E19parseIntegerLiteralENS_10StringViewE($32, $$byval_copy16) | 0; + break L1; + break; + } + case 97: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $36 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($5, 57083); + HEAP32[$$byval_copy16 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$$byval_copy16 + 4 >> 2] = HEAP32[$5 + 4 >> 2]; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E19parseIntegerLiteralENS_10StringViewE($36, $$byval_copy16) | 0; + break L1; + break; + } + case 104: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $40 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($6, 57095); + HEAP32[$$byval_copy16 >> 2] = HEAP32[$6 >> 2]; + HEAP32[$$byval_copy16 + 4 >> 2] = HEAP32[$6 + 4 >> 2]; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E19parseIntegerLiteralENS_10StringViewE($40, $$byval_copy16) | 0; + break L1; + break; + } + case 115: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $44 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($7, 57109); + HEAP32[$$byval_copy16 >> 2] = HEAP32[$7 >> 2]; + HEAP32[$$byval_copy16 + 4 >> 2] = HEAP32[$7 + 4 >> 2]; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E19parseIntegerLiteralENS_10StringViewE($44, $$byval_copy16) | 0; + break L1; + break; + } + case 116: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $48 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($8, 57115); + HEAP32[$$byval_copy16 >> 2] = HEAP32[$8 >> 2]; + HEAP32[$$byval_copy16 + 4 >> 2] = HEAP32[$8 + 4 >> 2]; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E19parseIntegerLiteralENS_10StringViewE($48, $$byval_copy16) | 0; + break L1; + break; + } + case 105: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $52 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($9, 67447); + HEAP32[$$byval_copy16 >> 2] = HEAP32[$9 >> 2]; + HEAP32[$$byval_copy16 + 4 >> 2] = HEAP32[$9 + 4 >> 2]; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E19parseIntegerLiteralENS_10StringViewE($52, $$byval_copy16) | 0; + break L1; + break; + } + case 106: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $56 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($10, 52270); + HEAP32[$$byval_copy16 >> 2] = HEAP32[$10 >> 2]; + HEAP32[$$byval_copy16 + 4 >> 2] = HEAP32[$10 + 4 >> 2]; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E19parseIntegerLiteralENS_10StringViewE($56, $$byval_copy16) | 0; + break L1; + break; + } + case 108: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $60 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($11, 59195); + HEAP32[$$byval_copy16 >> 2] = HEAP32[$11 >> 2]; + HEAP32[$$byval_copy16 + 4 >> 2] = HEAP32[$11 + 4 >> 2]; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E19parseIntegerLiteralENS_10StringViewE($60, $$byval_copy16) | 0; + break L1; + break; + } + case 109: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $64 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($12, 52272); + HEAP32[$$byval_copy16 >> 2] = HEAP32[$12 >> 2]; + HEAP32[$$byval_copy16 + 4 >> 2] = HEAP32[$12 + 4 >> 2]; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E19parseIntegerLiteralENS_10StringViewE($64, $$byval_copy16) | 0; + break L1; + break; + } + case 120: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $68 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($13, 59186); + HEAP32[$$byval_copy16 >> 2] = HEAP32[$13 >> 2]; + HEAP32[$$byval_copy16 + 4 >> 2] = HEAP32[$13 + 4 >> 2]; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E19parseIntegerLiteralENS_10StringViewE($68, $$byval_copy16) | 0; + break L1; + break; + } + case 121: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $72 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($14, 52275); + HEAP32[$$byval_copy16 >> 2] = HEAP32[$14 >> 2]; + HEAP32[$$byval_copy16 + 4 >> 2] = HEAP32[$14 + 4 >> 2]; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E19parseIntegerLiteralENS_10StringViewE($72, $$byval_copy16) | 0; + break L1; + break; + } + case 110: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $76 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($15, 51460); + HEAP32[$$byval_copy16 >> 2] = HEAP32[$15 >> 2]; + HEAP32[$$byval_copy16 + 4 >> 2] = HEAP32[$15 + 4 >> 2]; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E19parseIntegerLiteralENS_10StringViewE($76, $$byval_copy16) | 0; + break L1; + break; + } + case 111: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $80 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($16, 51469); + HEAP32[$$byval_copy16 >> 2] = HEAP32[$16 >> 2]; + HEAP32[$$byval_copy16 + 4 >> 2] = HEAP32[$16 + 4 >> 2]; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E19parseIntegerLiteralENS_10StringViewE($80, $$byval_copy16) | 0; + break L1; + break; + } + case 102: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E20parseFloatingLiteralIfEEPNS0_4NodeEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + break L1; + break; + } + case 100: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E20parseFloatingLiteralIdEEPNS0_4NodeEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + break L1; + break; + } + case 101: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E20parseFloatingLiteralIeEEPNS0_4NodeEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + break L1; + break; + } + case 95: + { + __ZN12_GLOBAL__N_110StringViewC2EPKc($17, 51394); + HEAP32[$$byval_copy16 >> 2] = HEAP32[$17 >> 2]; + HEAP32[$$byval_copy16 + 4 >> 2] = HEAP32[$17 + 4 >> 2]; + if (!(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy16) | 0)) { + $$3 = 0; + break L1; + } + $96 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E13parseEncodingEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + if ($96 | 0 ? __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 69) | 0 : 0) { + $$3 = $96; + break L1; + } + $$3 = 0; + break L1; + break; + } + default: + { + $100 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseTypeEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$$byval_copy16 >> 2] = $100; + if (!$100) $$2 = 0; else { + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E11parseNumberEb($18, $0, 0); + $102 = __ZNK12_GLOBAL__N_110StringView5emptyEv($18) | 0; + $103 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 69) | 0; + if (!$102) if ($103) $$1 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_15IntegerCastExprEJRPNS0_4NodeERNS_10StringViewEEEES9_DpOT0_($0, $$byval_copy16, $18) | 0; else $$1 = 0; else $$1 = $103 ? $100 : 0; + $$2 = $$1; + } + $$3 = $$2; + break L1; + } + } while (0); else $$3 = 0; while (0); + STACKTOP = sp; + return $$3 | 0; +} + +function __ZN6vision20SamplePyramidFREAK84EPfPKNS_25GaussianScaleSpacePyramidERKNS_12FeaturePointEPKfS8_S8_S8_S8_S8_ffffffff($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + $9 = +$9; + $10 = +$10; + $11 = +$11; + $12 = +$12; + $13 = +$13; + $14 = +$14; + $15 = +$15; + $16 = +$16; + var $$0 = 0.0, $111 = 0.0, $117 = 0.0, $124 = 0.0, $131 = 0.0, $138 = 0.0, $145 = 0.0, $152 = 0.0, $159 = 0.0, $166 = 0.0, $17 = 0, $173 = 0.0, $18 = 0, $180 = 0.0, $187 = 0.0, $19 = 0, $194 = 0.0, $20 = 0, $201 = 0.0, $208 = 0.0, $21 = 0, $215 = 0.0, $22 = 0, $222 = 0.0, $229 = 0.0, $23 = 0, $236 = 0.0, $24 = 0, $243 = 0.0, $25 = 0, $250 = 0.0, $257 = 0.0, $264 = 0.0, $271 = 0.0, $278 = 0.0, $28 = 0.0, $285 = 0.0, $292 = 0.0, $299 = 0.0, $306 = 0.0, $313 = 0.0, $320 = 0.0, $327 = 0.0, $334 = 0.0, $341 = 0.0, $348 = 0.0, $355 = 0.0, $359 = 0.0, $36 = 0.0, $38 = 0.0, $39 = 0, $41 = 0, $43 = 0, $45 = 0, $47 = 0, $49 = 0, $51 = 0, $53 = 0, $55 = 0, $57 = 0, $59 = 0, $61 = 0, $63 = 0, $65 = 0, $67 = 0, $69 = 0, $71 = 0, $73 = 0, $75 = 0, $77 = 0, $79 = 0, $81 = 0, $83 = 0, $85 = 0, $87 = 0, $89 = 0, $91 = 0, $93 = 0, $95 = 0, $97 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 336 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(336); + $17 = sp + 288 | 0; + $18 = sp + 240 | 0; + $19 = sp + 192 | 0; + $20 = sp + 144 | 0; + $21 = sp + 96 | 0; + $22 = sp + 48 | 0; + $23 = sp; + $24 = sp + 328 | 0; + $25 = sp + 324 | 0; + $28 = +HEAPF32[$2 + 12 >> 2] * $16; + $$0 = $28 < 1.0 ? 1.0 : $28; + __ZN6vision10SimilarityIfEEvPT_S1_S1_S1_S1_($17, +HEAPF32[$2 >> 2], +HEAPF32[$2 + 4 >> 2], +HEAPF32[$2 + 8 >> 2], $$0); + $36 = +HEAPF32[$17 + 8 >> 2]; + $38 = +HEAPF32[$17 + 20 >> 2]; + __ZN6vision35MultiplyPointSimilarityInhomogenousIfEEvPT_PKS1_S4_($18, $17, $3); + $39 = $18 + 8 | 0; + __ZN6vision35MultiplyPointSimilarityInhomogenousIfEEvPT_PKS1_S4_($39, $17, $3 + 8 | 0); + $41 = $18 + 16 | 0; + __ZN6vision35MultiplyPointSimilarityInhomogenousIfEEvPT_PKS1_S4_($41, $17, $3 + 16 | 0); + $43 = $18 + 24 | 0; + __ZN6vision35MultiplyPointSimilarityInhomogenousIfEEvPT_PKS1_S4_($43, $17, $3 + 24 | 0); + $45 = $18 + 32 | 0; + __ZN6vision35MultiplyPointSimilarityInhomogenousIfEEvPT_PKS1_S4_($45, $17, $3 + 32 | 0); + $47 = $18 + 40 | 0; + __ZN6vision35MultiplyPointSimilarityInhomogenousIfEEvPT_PKS1_S4_($47, $17, $3 + 40 | 0); + __ZN6vision35MultiplyPointSimilarityInhomogenousIfEEvPT_PKS1_S4_($19, $17, $4); + $49 = $19 + 8 | 0; + __ZN6vision35MultiplyPointSimilarityInhomogenousIfEEvPT_PKS1_S4_($49, $17, $4 + 8 | 0); + $51 = $19 + 16 | 0; + __ZN6vision35MultiplyPointSimilarityInhomogenousIfEEvPT_PKS1_S4_($51, $17, $4 + 16 | 0); + $53 = $19 + 24 | 0; + __ZN6vision35MultiplyPointSimilarityInhomogenousIfEEvPT_PKS1_S4_($53, $17, $4 + 24 | 0); + $55 = $19 + 32 | 0; + __ZN6vision35MultiplyPointSimilarityInhomogenousIfEEvPT_PKS1_S4_($55, $17, $4 + 32 | 0); + $57 = $19 + 40 | 0; + __ZN6vision35MultiplyPointSimilarityInhomogenousIfEEvPT_PKS1_S4_($57, $17, $4 + 40 | 0); + __ZN6vision35MultiplyPointSimilarityInhomogenousIfEEvPT_PKS1_S4_($20, $17, $5); + $59 = $20 + 8 | 0; + __ZN6vision35MultiplyPointSimilarityInhomogenousIfEEvPT_PKS1_S4_($59, $17, $5 + 8 | 0); + $61 = $20 + 16 | 0; + __ZN6vision35MultiplyPointSimilarityInhomogenousIfEEvPT_PKS1_S4_($61, $17, $5 + 16 | 0); + $63 = $20 + 24 | 0; + __ZN6vision35MultiplyPointSimilarityInhomogenousIfEEvPT_PKS1_S4_($63, $17, $5 + 24 | 0); + $65 = $20 + 32 | 0; + __ZN6vision35MultiplyPointSimilarityInhomogenousIfEEvPT_PKS1_S4_($65, $17, $5 + 32 | 0); + $67 = $20 + 40 | 0; + __ZN6vision35MultiplyPointSimilarityInhomogenousIfEEvPT_PKS1_S4_($67, $17, $5 + 40 | 0); + __ZN6vision35MultiplyPointSimilarityInhomogenousIfEEvPT_PKS1_S4_($21, $17, $6); + $69 = $21 + 8 | 0; + __ZN6vision35MultiplyPointSimilarityInhomogenousIfEEvPT_PKS1_S4_($69, $17, $6 + 8 | 0); + $71 = $21 + 16 | 0; + __ZN6vision35MultiplyPointSimilarityInhomogenousIfEEvPT_PKS1_S4_($71, $17, $6 + 16 | 0); + $73 = $21 + 24 | 0; + __ZN6vision35MultiplyPointSimilarityInhomogenousIfEEvPT_PKS1_S4_($73, $17, $6 + 24 | 0); + $75 = $21 + 32 | 0; + __ZN6vision35MultiplyPointSimilarityInhomogenousIfEEvPT_PKS1_S4_($75, $17, $6 + 32 | 0); + $77 = $21 + 40 | 0; + __ZN6vision35MultiplyPointSimilarityInhomogenousIfEEvPT_PKS1_S4_($77, $17, $6 + 40 | 0); + __ZN6vision35MultiplyPointSimilarityInhomogenousIfEEvPT_PKS1_S4_($22, $17, $7); + $79 = $22 + 8 | 0; + __ZN6vision35MultiplyPointSimilarityInhomogenousIfEEvPT_PKS1_S4_($79, $17, $7 + 8 | 0); + $81 = $22 + 16 | 0; + __ZN6vision35MultiplyPointSimilarityInhomogenousIfEEvPT_PKS1_S4_($81, $17, $7 + 16 | 0); + $83 = $22 + 24 | 0; + __ZN6vision35MultiplyPointSimilarityInhomogenousIfEEvPT_PKS1_S4_($83, $17, $7 + 24 | 0); + $85 = $22 + 32 | 0; + __ZN6vision35MultiplyPointSimilarityInhomogenousIfEEvPT_PKS1_S4_($85, $17, $7 + 32 | 0); + $87 = $22 + 40 | 0; + __ZN6vision35MultiplyPointSimilarityInhomogenousIfEEvPT_PKS1_S4_($87, $17, $7 + 40 | 0); + __ZN6vision35MultiplyPointSimilarityInhomogenousIfEEvPT_PKS1_S4_($23, $17, $8); + $89 = $23 + 8 | 0; + __ZN6vision35MultiplyPointSimilarityInhomogenousIfEEvPT_PKS1_S4_($89, $17, $8 + 8 | 0); + $91 = $23 + 16 | 0; + __ZN6vision35MultiplyPointSimilarityInhomogenousIfEEvPT_PKS1_S4_($91, $17, $8 + 16 | 0); + $93 = $23 + 24 | 0; + __ZN6vision35MultiplyPointSimilarityInhomogenousIfEEvPT_PKS1_S4_($93, $17, $8 + 24 | 0); + $95 = $23 + 32 | 0; + __ZN6vision35MultiplyPointSimilarityInhomogenousIfEEvPT_PKS1_S4_($95, $17, $8 + 32 | 0); + $97 = $23 + 40 | 0; + __ZN6vision35MultiplyPointSimilarityInhomogenousIfEEvPT_PKS1_S4_($97, $17, $8 + 40 | 0); + __ZNK6vision25GaussianScaleSpacePyramid6locateERiS1_f($1, $24, $25, $$0 * $15); + $111 = +__ZN6vision14SampleReceptorEPKNS_25GaussianScaleSpacePyramidEffii($1, +HEAPF32[$23 >> 2], +HEAPF32[$23 + 4 >> 2], HEAP32[$24 >> 2] | 0, HEAP32[$25 >> 2] | 0); + HEAPF32[$0 >> 2] = $111; + $117 = +__ZN6vision14SampleReceptorEPKNS_25GaussianScaleSpacePyramidEffii($1, +HEAPF32[$89 >> 2], +HEAPF32[$23 + 12 >> 2], HEAP32[$24 >> 2] | 0, HEAP32[$25 >> 2] | 0); + HEAPF32[$0 + 4 >> 2] = $117; + $124 = +__ZN6vision14SampleReceptorEPKNS_25GaussianScaleSpacePyramidEffii($1, +HEAPF32[$91 >> 2], +HEAPF32[$23 + 20 >> 2], HEAP32[$24 >> 2] | 0, HEAP32[$25 >> 2] | 0); + HEAPF32[$0 + 8 >> 2] = $124; + $131 = +__ZN6vision14SampleReceptorEPKNS_25GaussianScaleSpacePyramidEffii($1, +HEAPF32[$93 >> 2], +HEAPF32[$23 + 28 >> 2], HEAP32[$24 >> 2] | 0, HEAP32[$25 >> 2] | 0); + HEAPF32[$0 + 12 >> 2] = $131; + $138 = +__ZN6vision14SampleReceptorEPKNS_25GaussianScaleSpacePyramidEffii($1, +HEAPF32[$95 >> 2], +HEAPF32[$23 + 36 >> 2], HEAP32[$24 >> 2] | 0, HEAP32[$25 >> 2] | 0); + HEAPF32[$0 + 16 >> 2] = $138; + $145 = +__ZN6vision14SampleReceptorEPKNS_25GaussianScaleSpacePyramidEffii($1, +HEAPF32[$97 >> 2], +HEAPF32[$23 + 44 >> 2], HEAP32[$24 >> 2] | 0, HEAP32[$25 >> 2] | 0); + HEAPF32[$0 + 20 >> 2] = $145; + __ZNK6vision25GaussianScaleSpacePyramid6locateERiS1_f($1, $24, $25, $$0 * $14); + $152 = +__ZN6vision14SampleReceptorEPKNS_25GaussianScaleSpacePyramidEffii($1, +HEAPF32[$22 >> 2], +HEAPF32[$22 + 4 >> 2], HEAP32[$24 >> 2] | 0, HEAP32[$25 >> 2] | 0); + HEAPF32[$0 + 24 >> 2] = $152; + $159 = +__ZN6vision14SampleReceptorEPKNS_25GaussianScaleSpacePyramidEffii($1, +HEAPF32[$79 >> 2], +HEAPF32[$22 + 12 >> 2], HEAP32[$24 >> 2] | 0, HEAP32[$25 >> 2] | 0); + HEAPF32[$0 + 28 >> 2] = $159; + $166 = +__ZN6vision14SampleReceptorEPKNS_25GaussianScaleSpacePyramidEffii($1, +HEAPF32[$81 >> 2], +HEAPF32[$22 + 20 >> 2], HEAP32[$24 >> 2] | 0, HEAP32[$25 >> 2] | 0); + HEAPF32[$0 + 32 >> 2] = $166; + $173 = +__ZN6vision14SampleReceptorEPKNS_25GaussianScaleSpacePyramidEffii($1, +HEAPF32[$83 >> 2], +HEAPF32[$22 + 28 >> 2], HEAP32[$24 >> 2] | 0, HEAP32[$25 >> 2] | 0); + HEAPF32[$0 + 36 >> 2] = $173; + $180 = +__ZN6vision14SampleReceptorEPKNS_25GaussianScaleSpacePyramidEffii($1, +HEAPF32[$85 >> 2], +HEAPF32[$22 + 36 >> 2], HEAP32[$24 >> 2] | 0, HEAP32[$25 >> 2] | 0); + HEAPF32[$0 + 40 >> 2] = $180; + $187 = +__ZN6vision14SampleReceptorEPKNS_25GaussianScaleSpacePyramidEffii($1, +HEAPF32[$87 >> 2], +HEAPF32[$22 + 44 >> 2], HEAP32[$24 >> 2] | 0, HEAP32[$25 >> 2] | 0); + HEAPF32[$0 + 44 >> 2] = $187; + __ZNK6vision25GaussianScaleSpacePyramid6locateERiS1_f($1, $24, $25, $$0 * $13); + $194 = +__ZN6vision14SampleReceptorEPKNS_25GaussianScaleSpacePyramidEffii($1, +HEAPF32[$21 >> 2], +HEAPF32[$21 + 4 >> 2], HEAP32[$24 >> 2] | 0, HEAP32[$25 >> 2] | 0); + HEAPF32[$0 + 48 >> 2] = $194; + $201 = +__ZN6vision14SampleReceptorEPKNS_25GaussianScaleSpacePyramidEffii($1, +HEAPF32[$69 >> 2], +HEAPF32[$21 + 12 >> 2], HEAP32[$24 >> 2] | 0, HEAP32[$25 >> 2] | 0); + HEAPF32[$0 + 52 >> 2] = $201; + $208 = +__ZN6vision14SampleReceptorEPKNS_25GaussianScaleSpacePyramidEffii($1, +HEAPF32[$71 >> 2], +HEAPF32[$21 + 20 >> 2], HEAP32[$24 >> 2] | 0, HEAP32[$25 >> 2] | 0); + HEAPF32[$0 + 56 >> 2] = $208; + $215 = +__ZN6vision14SampleReceptorEPKNS_25GaussianScaleSpacePyramidEffii($1, +HEAPF32[$73 >> 2], +HEAPF32[$21 + 28 >> 2], HEAP32[$24 >> 2] | 0, HEAP32[$25 >> 2] | 0); + HEAPF32[$0 + 60 >> 2] = $215; + $222 = +__ZN6vision14SampleReceptorEPKNS_25GaussianScaleSpacePyramidEffii($1, +HEAPF32[$75 >> 2], +HEAPF32[$21 + 36 >> 2], HEAP32[$24 >> 2] | 0, HEAP32[$25 >> 2] | 0); + HEAPF32[$0 + 64 >> 2] = $222; + $229 = +__ZN6vision14SampleReceptorEPKNS_25GaussianScaleSpacePyramidEffii($1, +HEAPF32[$77 >> 2], +HEAPF32[$21 + 44 >> 2], HEAP32[$24 >> 2] | 0, HEAP32[$25 >> 2] | 0); + HEAPF32[$0 + 68 >> 2] = $229; + __ZNK6vision25GaussianScaleSpacePyramid6locateERiS1_f($1, $24, $25, $$0 * $12); + $236 = +__ZN6vision14SampleReceptorEPKNS_25GaussianScaleSpacePyramidEffii($1, +HEAPF32[$20 >> 2], +HEAPF32[$20 + 4 >> 2], HEAP32[$24 >> 2] | 0, HEAP32[$25 >> 2] | 0); + HEAPF32[$0 + 72 >> 2] = $236; + $243 = +__ZN6vision14SampleReceptorEPKNS_25GaussianScaleSpacePyramidEffii($1, +HEAPF32[$59 >> 2], +HEAPF32[$20 + 12 >> 2], HEAP32[$24 >> 2] | 0, HEAP32[$25 >> 2] | 0); + HEAPF32[$0 + 76 >> 2] = $243; + $250 = +__ZN6vision14SampleReceptorEPKNS_25GaussianScaleSpacePyramidEffii($1, +HEAPF32[$61 >> 2], +HEAPF32[$20 + 20 >> 2], HEAP32[$24 >> 2] | 0, HEAP32[$25 >> 2] | 0); + HEAPF32[$0 + 80 >> 2] = $250; + $257 = +__ZN6vision14SampleReceptorEPKNS_25GaussianScaleSpacePyramidEffii($1, +HEAPF32[$63 >> 2], +HEAPF32[$20 + 28 >> 2], HEAP32[$24 >> 2] | 0, HEAP32[$25 >> 2] | 0); + HEAPF32[$0 + 84 >> 2] = $257; + $264 = +__ZN6vision14SampleReceptorEPKNS_25GaussianScaleSpacePyramidEffii($1, +HEAPF32[$65 >> 2], +HEAPF32[$20 + 36 >> 2], HEAP32[$24 >> 2] | 0, HEAP32[$25 >> 2] | 0); + HEAPF32[$0 + 88 >> 2] = $264; + $271 = +__ZN6vision14SampleReceptorEPKNS_25GaussianScaleSpacePyramidEffii($1, +HEAPF32[$67 >> 2], +HEAPF32[$20 + 44 >> 2], HEAP32[$24 >> 2] | 0, HEAP32[$25 >> 2] | 0); + HEAPF32[$0 + 92 >> 2] = $271; + __ZNK6vision25GaussianScaleSpacePyramid6locateERiS1_f($1, $24, $25, $$0 * $11); + $278 = +__ZN6vision14SampleReceptorEPKNS_25GaussianScaleSpacePyramidEffii($1, +HEAPF32[$19 >> 2], +HEAPF32[$19 + 4 >> 2], HEAP32[$24 >> 2] | 0, HEAP32[$25 >> 2] | 0); + HEAPF32[$0 + 96 >> 2] = $278; + $285 = +__ZN6vision14SampleReceptorEPKNS_25GaussianScaleSpacePyramidEffii($1, +HEAPF32[$49 >> 2], +HEAPF32[$19 + 12 >> 2], HEAP32[$24 >> 2] | 0, HEAP32[$25 >> 2] | 0); + HEAPF32[$0 + 100 >> 2] = $285; + $292 = +__ZN6vision14SampleReceptorEPKNS_25GaussianScaleSpacePyramidEffii($1, +HEAPF32[$51 >> 2], +HEAPF32[$19 + 20 >> 2], HEAP32[$24 >> 2] | 0, HEAP32[$25 >> 2] | 0); + HEAPF32[$0 + 104 >> 2] = $292; + $299 = +__ZN6vision14SampleReceptorEPKNS_25GaussianScaleSpacePyramidEffii($1, +HEAPF32[$53 >> 2], +HEAPF32[$19 + 28 >> 2], HEAP32[$24 >> 2] | 0, HEAP32[$25 >> 2] | 0); + HEAPF32[$0 + 108 >> 2] = $299; + $306 = +__ZN6vision14SampleReceptorEPKNS_25GaussianScaleSpacePyramidEffii($1, +HEAPF32[$55 >> 2], +HEAPF32[$19 + 36 >> 2], HEAP32[$24 >> 2] | 0, HEAP32[$25 >> 2] | 0); + HEAPF32[$0 + 112 >> 2] = $306; + $313 = +__ZN6vision14SampleReceptorEPKNS_25GaussianScaleSpacePyramidEffii($1, +HEAPF32[$57 >> 2], +HEAPF32[$19 + 44 >> 2], HEAP32[$24 >> 2] | 0, HEAP32[$25 >> 2] | 0); + HEAPF32[$0 + 116 >> 2] = $313; + __ZNK6vision25GaussianScaleSpacePyramid6locateERiS1_f($1, $24, $25, $$0 * $10); + $320 = +__ZN6vision14SampleReceptorEPKNS_25GaussianScaleSpacePyramidEffii($1, +HEAPF32[$18 >> 2], +HEAPF32[$18 + 4 >> 2], HEAP32[$24 >> 2] | 0, HEAP32[$25 >> 2] | 0); + HEAPF32[$0 + 120 >> 2] = $320; + $327 = +__ZN6vision14SampleReceptorEPKNS_25GaussianScaleSpacePyramidEffii($1, +HEAPF32[$39 >> 2], +HEAPF32[$18 + 12 >> 2], HEAP32[$24 >> 2] | 0, HEAP32[$25 >> 2] | 0); + HEAPF32[$0 + 124 >> 2] = $327; + $334 = +__ZN6vision14SampleReceptorEPKNS_25GaussianScaleSpacePyramidEffii($1, +HEAPF32[$41 >> 2], +HEAPF32[$18 + 20 >> 2], HEAP32[$24 >> 2] | 0, HEAP32[$25 >> 2] | 0); + HEAPF32[$0 + 128 >> 2] = $334; + $341 = +__ZN6vision14SampleReceptorEPKNS_25GaussianScaleSpacePyramidEffii($1, +HEAPF32[$43 >> 2], +HEAPF32[$18 + 28 >> 2], HEAP32[$24 >> 2] | 0, HEAP32[$25 >> 2] | 0); + HEAPF32[$0 + 132 >> 2] = $341; + $348 = +__ZN6vision14SampleReceptorEPKNS_25GaussianScaleSpacePyramidEffii($1, +HEAPF32[$45 >> 2], +HEAPF32[$18 + 36 >> 2], HEAP32[$24 >> 2] | 0, HEAP32[$25 >> 2] | 0); + HEAPF32[$0 + 136 >> 2] = $348; + $355 = +__ZN6vision14SampleReceptorEPKNS_25GaussianScaleSpacePyramidEffii($1, +HEAPF32[$47 >> 2], +HEAPF32[$18 + 44 >> 2], HEAP32[$24 >> 2] | 0, HEAP32[$25 >> 2] | 0); + HEAPF32[$0 + 140 >> 2] = $355; + __ZNK6vision25GaussianScaleSpacePyramid6locateERiS1_f($1, $24, $25, $$0 * $9); + $359 = +__ZN6vision14SampleReceptorEPKNS_25GaussianScaleSpacePyramidEffii($1, $36, $38, HEAP32[$24 >> 2] | 0, HEAP32[$25 >> 2] | 0); + HEAPF32[$0 + 144 >> 2] = $359; + STACKTOP = sp; + return 1; +} + +function _ar2TrackingMod($ar2Handle, $surfaceSet, $dataPtr, $trans, $err) { + $ar2Handle = $ar2Handle | 0; + $surfaceSet = $surfaceSet | 0; + $dataPtr = $dataPtr | 0; + $trans = $trans | 0; + $err = $err | 0; + var $27 = 0, $38 = 0, $arraydecay = 0, $arraydecay13 = 0, $arraydecay222 = 0, $arraydecay224 = 0, $arraydecay23 = 0, $arraydecay279 = 0, $arraydecay281 = 0, $arraydecay34 = 0, $arraydecay35 = 0, $arraydecay40 = 0, $arraydecay42 = 0, $arraydecay45$pre$phiZ2D = 0, $arraydecay50 = 0, $arraydecay51 = 0, $arraydecay60$pre$phiZ2D = 0, $arrayidx206 = 0, $arrayidx208 = 0, $arrayidx69 = 0, $call104 = 0, $call225 = 0.0, $call235 = 0.0, $call246 = 0.0, $call257 = 0.0, $call268 = 0.0, $call282 = 0.0, $call290 = 0.0, $call298 = 0.0, $call306 = 0.0, $call314 = 0.0, $call54 = 0, $call67 = 0, $candidatePtr$0 = 0, $candidatePtr$1 = 0, $candidatePtr$2 = 0, $candidatePtr$3 = 0, $cmp216 = 0, $contNum = 0, $cp = 0, $cparamLT = 0, $cparamLT115$pre$phiZ2D = 0, $i$0 = 0, $i$1 = 0, $i$2 = 0, $i$3 = 0, $i$4 = 0, $i$5 = 0, $i$6 = 0, $icpHandle = 0, $inc91 = 0, $j$0 = 0, $j$1 = 0, $j$2 = 0, $j$3 = 0, $j$4 = 0, $k$0 = 0, $num$0 = 0, $num$1 = 0, $num$2 = 0, $num2$0 = 0, $num5 = 0, $pos2d0 = 0, $pos2d1 = 0, $result = 0, $retval$0 = 0, $searchFeatureNum = 0, $simThresh = 0, $threadNum = 0, $trackingThresh = 0, $trackingThresh283 = 0, $xsize = 0, $xsize52$pre$phiZ2D = 0, $ysize = 0, $ysize53$pre$phiZ2D = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $cp = sp; + $pos2d0 = sp + 40 | 0; + $pos2d1 = sp + 32 | 0; + L1 : do if (($ar2Handle | 0) != 0 & ($surfaceSet | 0) != 0 & ($dataPtr | 0) != 0 & ($trans | 0) != 0 & ($err | 0) != 0) { + $contNum = $surfaceSet + 152 | 0; + if ((HEAP32[$contNum >> 2] | 0) < 1) $retval$0 = -2; else { + HEAPF32[$err >> 2] = 0.0; + $num5 = $surfaceSet + 4 | 0; + $arraydecay = $surfaceSet + 8 | 0; + $arraydecay13 = $surfaceSet + 56 | 0; + $arraydecay23 = $surfaceSet + 104 | 0; + $i$0 = 0; + while (1) { + if (($i$0 | 0) >= (HEAP32[$num5 >> 2] | 0)) break; + _arUtilMatMulf($arraydecay, (HEAP32[$surfaceSet >> 2] | 0) + ($i$0 * 112 | 0) + 12 | 0, $ar2Handle + 48 + ($i$0 * 48 | 0) | 0) | 0; + if ((HEAP32[$contNum >> 2] | 0) > 1 ? (_arUtilMatMulf($arraydecay13, (HEAP32[$surfaceSet >> 2] | 0) + ($i$0 * 112 | 0) + 12 | 0, $ar2Handle + 528 + ($i$0 * 48 | 0) | 0) | 0, (HEAP32[$contNum >> 2] | 0) > 2) : 0) _arUtilMatMulf($arraydecay23, (HEAP32[$surfaceSet >> 2] | 0) + ($i$0 * 112 | 0) + 12 | 0, $ar2Handle + 1008 + ($i$0 * 48 | 0) | 0) | 0; + $i$0 = $i$0 + 1 | 0; + } + if ((HEAP32[$ar2Handle >> 2] | 0) == 1) { + $cparamLT = $ar2Handle + 12 | 0; + $arraydecay34 = $ar2Handle + 2672 | 0; + $arraydecay35 = $ar2Handle + 7496 | 0; + _extractVisibleFeatures_171(HEAP32[$cparamLT >> 2] | 0, $ar2Handle + 48 | 0, $surfaceSet, $arraydecay34, $arraydecay35); + $arraydecay45$pre$phiZ2D = $arraydecay34; + $arraydecay60$pre$phiZ2D = $arraydecay35; + $cparamLT115$pre$phiZ2D = $cparamLT; + $xsize52$pre$phiZ2D = $ar2Handle + 4 | 0; + $ysize53$pre$phiZ2D = $ar2Handle + 8 | 0; + } else { + $xsize = $ar2Handle + 4 | 0; + $ysize = $ar2Handle + 8 | 0; + $arraydecay40 = $ar2Handle + 2672 | 0; + $arraydecay42 = $ar2Handle + 7496 | 0; + _extractVisibleFeaturesHomography_172(HEAP32[$xsize >> 2] | 0, HEAP32[$ysize >> 2] | 0, $ar2Handle + 48 | 0, $surfaceSet, $arraydecay40, $arraydecay42); + $arraydecay45$pre$phiZ2D = $arraydecay40; + $arraydecay60$pre$phiZ2D = $arraydecay42; + $cparamLT115$pre$phiZ2D = $ar2Handle + 12 | 0; + $xsize52$pre$phiZ2D = $xsize; + $ysize53$pre$phiZ2D = $ysize; + } + $searchFeatureNum = $ar2Handle + 36 | 0; + $threadNum = $ar2Handle + 13280 | 0; + $arraydecay50 = $surfaceSet + 156 | 0; + $arraydecay51 = $ar2Handle + 1488 | 0; + $simThresh = $ar2Handle + 40 | 0; + $candidatePtr$0 = $arraydecay45$pre$phiZ2D; + $i$1 = 0; + $num$0 = 0; + while (1) { + if (($i$1 | 0) >= (HEAP32[$searchFeatureNum >> 2] | 0)) break; + $candidatePtr$1 = $candidatePtr$0; + $i$2 = $i$1; + $j$0 = 0; + $num2$0 = $num$0; + while (1) { + if (($j$0 | 0) >= (HEAP32[$threadNum >> 2] | 0)) { + $candidatePtr$3 = $candidatePtr$1; + break; + } + if (($i$2 | 0) == (HEAP32[$searchFeatureNum >> 2] | 0)) { + $candidatePtr$3 = $candidatePtr$1; + break; + } + $call54 = _ar2SelectTemplate($candidatePtr$1, $arraydecay50, $num2$0, $arraydecay51, HEAP32[$xsize52$pre$phiZ2D >> 2] | 0, HEAP32[$ysize53$pre$phiZ2D >> 2] | 0) | 0; + if (($call54 | 0) < 0) { + if (($candidatePtr$1 | 0) != ($arraydecay45$pre$phiZ2D | 0)) { + $candidatePtr$3 = $candidatePtr$1; + break; + } + $call67 = _ar2SelectTemplate($arraydecay60$pre$phiZ2D, $arraydecay50, $num2$0, $arraydecay51, HEAP32[$xsize52$pre$phiZ2D >> 2] | 0, HEAP32[$ysize53$pre$phiZ2D >> 2] | 0) | 0; + if (($call67 | 0) < 0) { + $candidatePtr$3 = $arraydecay60$pre$phiZ2D; + break; + } else { + $candidatePtr$2 = $arraydecay60$pre$phiZ2D; + $k$0 = $call67; + } + } else { + $candidatePtr$2 = $candidatePtr$1; + $k$0 = $call54; + } + $arrayidx69 = $candidatePtr$2 + ($k$0 * 24 | 0) | 0; + HEAP32[$cp + ($j$0 << 2) >> 2] = $arrayidx69; + HEAP32[$ar2Handle + 1488 + ($num2$0 << 3) >> 2] = HEAP32[$candidatePtr$2 + ($k$0 * 24 | 0) + 16 >> 2]; + HEAP32[$ar2Handle + 1488 + ($num2$0 << 3) + 4 >> 2] = HEAP32[$candidatePtr$2 + ($k$0 * 24 | 0) + 20 >> 2]; + HEAP32[$ar2Handle + 13284 + ($j$0 * 52 | 0) >> 2] = $ar2Handle; + HEAP32[$ar2Handle + 13284 + ($j$0 * 52 | 0) + 4 >> 2] = $surfaceSet; + HEAP32[$ar2Handle + 13284 + ($j$0 * 52 | 0) + 8 >> 2] = $arrayidx69; + HEAP32[$ar2Handle + 13284 + ($j$0 * 52 | 0) + 12 >> 2] = $dataPtr; + $inc91 = $num2$0 + 1 | 0; + $candidatePtr$1 = $candidatePtr$2; + $i$2 = $i$2 + 1 | 0; + $j$0 = $j$0 + 1 | 0; + $num2$0 = ($inc91 | 0) == 5 ? $num$0 : $inc91; + } + if (!$j$0) break; + $j$1 = 0; + $num$1 = $num$0; + while (1) { + if (($j$1 | 0) == ($j$0 | 0)) break; + $result = $ar2Handle + 13284 + ($j$1 * 52 | 0) + 24 | 0; + $call104 = _ar2Tracking2dSub(HEAP32[$ar2Handle + 13284 + ($j$1 * 52 | 0) >> 2] | 0, HEAP32[$ar2Handle + 13284 + ($j$1 * 52 | 0) + 4 >> 2] | 0, HEAP32[$ar2Handle + 13284 + ($j$1 * 52 | 0) + 8 >> 2] | 0, HEAP32[$ar2Handle + 13284 + ($j$1 * 52 | 0) + 12 >> 2] | 0, HEAP32[$ar2Handle + 13284 + ($j$1 * 52 | 0) + 16 >> 2] | 0, $ar2Handle + 13284 + ($j$1 * 52 | 0) + 20 | 0, $result) | 0; + HEAP32[$ar2Handle + 13284 + ($j$1 * 52 | 0) + 48 >> 2] = $call104; + if (($call104 | 0) == 0 ? +HEAPF32[$result >> 2] > +HEAPF32[$simThresh >> 2] : 0) { + if ((HEAP32[$ar2Handle >> 2] | 0) == 1) { + $27 = HEAP32[$cparamLT115$pre$phiZ2D >> 2] | 0; + _arParamObserv2Ideal($27 + 104 | 0, +HEAPF32[$ar2Handle + 13284 + ($j$1 * 52 | 0) + 28 >> 2], +HEAPF32[$ar2Handle + 13284 + ($j$1 * 52 | 0) + 32 >> 2], $pos2d0, $pos2d1, HEAP32[$27 + 176 >> 2] | 0) | 0; + HEAPF32[$ar2Handle + 1872 + ($num$1 << 3) >> 2] = +HEAPF64[$pos2d0 >> 3]; + HEAPF32[$ar2Handle + 1872 + ($num$1 << 3) + 4 >> 2] = +HEAPF64[$pos2d1 >> 3]; + } else { + HEAP32[$ar2Handle + 1872 + ($num$1 << 3) >> 2] = HEAP32[$ar2Handle + 13284 + ($j$1 * 52 | 0) + 28 >> 2]; + HEAP32[$ar2Handle + 1872 + ($num$1 << 3) + 4 >> 2] = HEAP32[$ar2Handle + 13284 + ($j$1 * 52 | 0) + 32 >> 2]; + } + HEAP32[$ar2Handle + 2192 + ($num$1 * 12 | 0) >> 2] = HEAP32[$ar2Handle + 13284 + ($j$1 * 52 | 0) + 36 >> 2]; + HEAP32[$ar2Handle + 2192 + ($num$1 * 12 | 0) + 4 >> 2] = HEAP32[$ar2Handle + 13284 + ($j$1 * 52 | 0) + 40 >> 2]; + HEAP32[$ar2Handle + 2192 + ($num$1 * 12 | 0) + 8 >> 2] = HEAP32[$ar2Handle + 13284 + ($j$1 * 52 | 0) + 44 >> 2]; + $38 = HEAP32[$cp + ($j$1 << 2) >> 2] | 0; + HEAP32[$ar2Handle + 1488 + ($num$1 << 3) >> 2] = HEAP32[$38 + 16 >> 2]; + HEAP32[$ar2Handle + 1488 + ($num$1 << 3) + 4 >> 2] = HEAP32[$38 + 20 >> 2]; + HEAP32[$ar2Handle + 12320 + ($num$1 * 24 | 0) >> 2] = HEAP32[$38 >> 2]; + HEAP32[$ar2Handle + 12320 + ($num$1 * 24 | 0) + 4 >> 2] = HEAP32[$38 + 4 >> 2]; + HEAP32[$ar2Handle + 12320 + ($num$1 * 24 | 0) + 8 >> 2] = HEAP32[$38 + 8 >> 2]; + HEAP32[$ar2Handle + 12320 + ($num$1 * 24 | 0) + 12 >> 2] = 0; + $num$2 = $num$1 + 1 | 0; + } else $num$2 = $num$1; + $j$1 = $j$1 + 1 | 0; + $num$1 = $num$2; + } + $candidatePtr$0 = $candidatePtr$3; + $i$1 = $i$2; + $num$0 = $num$1; + } + $i$3 = 0; + while (1) { + if (($i$3 | 0) >= ($num$0 | 0)) break; + $arrayidx206 = $surfaceSet + 156 + ($i$3 * 24 | 0) | 0; + $arrayidx208 = $ar2Handle + 12320 + ($i$3 * 24 | 0) | 0; + HEAP32[$arrayidx206 >> 2] = HEAP32[$arrayidx208 >> 2]; + HEAP32[$arrayidx206 + 4 >> 2] = HEAP32[$arrayidx208 + 4 >> 2]; + HEAP32[$arrayidx206 + 8 >> 2] = HEAP32[$arrayidx208 + 8 >> 2]; + HEAP32[$arrayidx206 + 12 >> 2] = HEAP32[$arrayidx208 + 12 >> 2]; + HEAP32[$arrayidx206 + 16 >> 2] = HEAP32[$arrayidx208 + 16 >> 2]; + HEAP32[$arrayidx206 + 20 >> 2] = HEAP32[$arrayidx208 + 20 >> 2]; + $i$3 = $i$3 + 1 | 0; + } + HEAP32[$surfaceSet + 156 + ($num$0 * 24 | 0) + 12 >> 2] = -1; + $cmp216 = ($num$0 | 0) < 3; + if ((HEAP32[$ar2Handle >> 2] | 0) == 1) { + if ($cmp216) { + HEAP32[$contNum >> 2] = 0; + $retval$0 = -3; + break; + } + $icpHandle = $ar2Handle + 16 | 0; + $arraydecay222 = $ar2Handle + 1872 | 0; + $arraydecay224 = $ar2Handle + 2192 | 0; + $call225 = +_ar2GetTransMat_175(HEAP32[$icpHandle >> 2] | 0, $arraydecay, $arraydecay222, $arraydecay224, $num$0, $trans, 0); + HEAPF32[$err >> 2] = $call225; + $trackingThresh = $ar2Handle + 44 | 0; + if (((($call225 > +HEAPF32[$trackingThresh >> 2] ? (_icpSetInlierProbability(HEAP32[$icpHandle >> 2] | 0, .800000011920929) | 0, $call235 = +_ar2GetTransMat_175(HEAP32[$icpHandle >> 2] | 0, $trans, $arraydecay222, $arraydecay224, $num$0, $trans, 1), HEAPF32[$err >> 2] = $call235, $call235 > +HEAPF32[$trackingThresh >> 2]) : 0) ? (_icpSetInlierProbability(HEAP32[$icpHandle >> 2] | 0, .6000000238418579) | 0, $call246 = +_ar2GetTransMat_175(HEAP32[$icpHandle >> 2] | 0, $trans, $arraydecay222, $arraydecay224, $num$0, $trans, 1), HEAPF32[$err >> 2] = $call246, $call246 > +HEAPF32[$trackingThresh >> 2]) : 0) ? (_icpSetInlierProbability(HEAP32[$icpHandle >> 2] | 0, .4000000059604645) | 0, $call257 = +_ar2GetTransMat_175(HEAP32[$icpHandle >> 2] | 0, $trans, $arraydecay222, $arraydecay224, $num$0, $trans, 1), HEAPF32[$err >> 2] = $call257, $call257 > +HEAPF32[$trackingThresh >> 2]) : 0) ? (_icpSetInlierProbability(HEAP32[$icpHandle >> 2] | 0, 0.0) | 0, $call268 = +_ar2GetTransMat_175(HEAP32[$icpHandle >> 2] | 0, $trans, $arraydecay222, $arraydecay224, $num$0, $trans, 1), HEAPF32[$err >> 2] = $call268, $call268 > +HEAPF32[$trackingThresh >> 2]) : 0) { + HEAP32[$contNum >> 2] = 0; + $retval$0 = -4; + break; + } + } else { + if ($cmp216) { + HEAP32[$contNum >> 2] = 0; + $retval$0 = -3; + break; + } + $arraydecay279 = $ar2Handle + 1872 | 0; + $arraydecay281 = $ar2Handle + 2192 | 0; + $call282 = +_ar2GetTransMatHomography_176($arraydecay, $arraydecay279, $arraydecay281, $num$0, $trans, 0, 1.0); + HEAPF32[$err >> 2] = $call282; + $trackingThresh283 = $ar2Handle + 44 | 0; + if (((($call282 > +HEAPF32[$trackingThresh283 >> 2] ? ($call290 = +_ar2GetTransMatHomography_176($trans, $arraydecay279, $arraydecay281, $num$0, $trans, 1, .800000011920929), HEAPF32[$err >> 2] = $call290, $call290 > +HEAPF32[$trackingThresh283 >> 2]) : 0) ? ($call298 = +_ar2GetTransMatHomography_176($trans, $arraydecay279, $arraydecay281, $num$0, $trans, 1, .6000000238418579), HEAPF32[$err >> 2] = $call298, $call298 > +HEAPF32[$trackingThresh283 >> 2]) : 0) ? ($call306 = +_ar2GetTransMatHomography_176($trans, $arraydecay279, $arraydecay281, $num$0, $trans, 1, .4000000059604645), HEAPF32[$err >> 2] = $call306, $call306 > +HEAPF32[$trackingThresh283 >> 2]) : 0) ? ($call314 = +_ar2GetTransMatHomography_176($trans, $arraydecay279, $arraydecay281, $num$0, $trans, 1, 0.0), HEAPF32[$err >> 2] = $call314, $call314 > +HEAPF32[$trackingThresh283 >> 2]) : 0) { + HEAP32[$contNum >> 2] = 0; + $retval$0 = -4; + break; + } + } + HEAP32[$contNum >> 2] = (HEAP32[$contNum >> 2] | 0) + 1; + $j$2 = 0; + while (1) { + if (($j$2 | 0) == 3) break; + $i$4 = 0; + while (1) { + if (($i$4 | 0) == 4) break; + HEAP32[$surfaceSet + 104 + ($j$2 << 4) + ($i$4 << 2) >> 2] = HEAP32[$surfaceSet + 56 + ($j$2 << 4) + ($i$4 << 2) >> 2]; + $i$4 = $i$4 + 1 | 0; + } + $j$2 = $j$2 + 1 | 0; + } + $j$3 = 0; + while (1) { + if (($j$3 | 0) == 3) break; + $i$5 = 0; + while (1) { + if (($i$5 | 0) == 4) break; + HEAP32[$surfaceSet + 56 + ($j$3 << 4) + ($i$5 << 2) >> 2] = HEAP32[$surfaceSet + 8 + ($j$3 << 4) + ($i$5 << 2) >> 2]; + $i$5 = $i$5 + 1 | 0; + } + $j$3 = $j$3 + 1 | 0; + } + $j$4 = 0; + while (1) { + if (($j$4 | 0) == 3) { + $retval$0 = 0; + break L1; + } + $i$6 = 0; + while (1) { + if (($i$6 | 0) == 4) break; + HEAP32[$surfaceSet + 8 + ($j$4 << 4) + ($i$6 << 2) >> 2] = HEAP32[$trans + ($j$4 << 4) + ($i$6 << 2) >> 2]; + $i$6 = $i$6 + 1 | 0; + } + $j$4 = $j$4 + 1 | 0; + } + } + } else $retval$0 = -1; while (0); + STACKTOP = sp; + return $retval$0 | 0; +} + +function _arGetTransMatMultiSquare2($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0 = 0, $$0389 = 0, $$0394 = 0, $$0404 = 0.0, $$0405 = 0, $$0407 = 0, $$0410 = 0, $$0413 = 0.0, $$1 = 0, $$10 = 0, $$1390 = 0, $$1395 = 0, $$1406 = 0, $$1408 = 0, $$1411 = 0, $$1414 = 0.0, $$2 = 0, $$2391 = 0, $$2396 = 0, $$2409 = 0, $$2412 = 0, $$2415 = 0.0, $$3 = 0, $$3392 = 0, $$3397 = 0, $$3416 = 0.0, $$4 = 0, $$4393 = 0, $$4398 = 0, $$4417 = 0.0, $$5 = 0, $$5399 = 0, $$5418 = 0.0, $$6 = 0, $$6400 = 0, $$6419 = 0.0, $$7 = 0, $$7401 = 0, $$8 = 0, $$8402 = 0, $$9 = 0, $$9403 = 0, $$pre441 = 0, $10 = 0, $109 = 0, $111 = 0, $114 = 0, $116 = 0, $118 = 0, $12 = 0, $120 = 0, $123 = 0, $125 = 0, $128 = 0, $135 = 0, $145 = 0, $155 = 0, $16 = 0, $166 = 0, $214 = 0, $217 = 0, $218 = 0, $219 = 0.0, $222 = 0.0, $225 = 0.0, $228 = 0.0, $23 = 0.0, $232 = 0.0, $233 = 0, $234 = 0.0, $235 = 0, $243 = 0.0, $244 = 0.0, $253 = 0.0, $254 = 0.0, $263 = 0.0, $264 = 0.0, $273 = 0.0, $274 = 0.0, $287 = 0, $291 = 0, $293 = 0, $36 = 0, $39 = 0, $42 = 0, $44 = 0, $47 = 0, $5 = 0, $51 = 0, $6 = 0, $63 = 0.0, $7 = 0, $78 = 0, $79 = 0, $8 = 0, $81 = 0, $83 = 0, $9 = 0, $90 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 208 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(208); + $vararg_buffer1 = sp + 200 | 0; + $vararg_buffer = sp + 192 | 0; + $5 = sp + 96 | 0; + $6 = sp; + $7 = $3 + 4 | 0; + $8 = HEAP32[$7 >> 2] | 0; + $9 = $3 + 112 | 0; + $10 = $3 + 120 | 0; + $$0394 = 0; + while (1) { + if (($$0394 | 0) >= ($8 | 0)) break; + $12 = HEAP32[$3 >> 2] | 0; + $16 = $12 + ($$0394 * 320 | 0) | 0; + if (!(HEAP32[$12 + ($$0394 * 320 | 0) + 4 >> 2] | 0)) { + $$0 = -1; + $$0389 = 0; + while (1) { + if (($$0389 | 0) >= ($2 | 0)) break; + if ((HEAP32[$1 + ($$0389 << 8) + 8 >> 2] | 0) == (HEAP32[$16 >> 2] | 0) ? ($23 = +HEAPF64[$1 + ($$0389 << 8) + 40 >> 3], !($23 < +HEAPF64[$9 >> 3])) : 0) if (($$0 | 0) != -1 ? !(+HEAPF64[$1 + ($$0 << 8) + 40 >> 3] < $23) : 0) $$1 = $$0; else $$1 = $$0389; else $$1 = $$0; + $$0 = $$1; + $$0389 = $$0389 + 1 | 0; + } + HEAP32[$12 + ($$0394 * 320 | 0) + 304 >> 2] = $$0; + if (($$0 | 0) > -1) HEAP32[$1 + ($$0 << 8) + 16 >> 2] = HEAP32[$1 + ($$0 << 8) + 20 >> 2]; + } else { + $36 = $12 + ($$0394 * 320 | 0) + 312 | 0; + $$1390 = 0; + $$2 = -1; + while (1) { + if (($$1390 | 0) >= ($2 | 0)) break; + $39 = HEAP32[$1 + ($$1390 << 8) + 12 >> 2] | 0; + if (($39 | 0) == 0 ? ($42 = $1 + ($$1390 << 8) + 248 | 0, $44 = HEAP32[$42 >> 2] | 0, $47 = HEAP32[$42 + 4 >> 2] | 0, !(($44 | 0) == 0 & ($47 | 0) == 0)) : 0) { + $51 = $36; + if (($44 | 0) == (HEAP32[$51 >> 2] | 0) ? ($47 | 0) == (HEAP32[$51 + 4 >> 2] | 0) : 0) label = 20; else $$3 = $$2; + } else if (($39 | 0) == (HEAP32[$16 >> 2] | 0)) label = 20; else $$3 = $$2; + if ((label | 0) == 20) { + label = 0; + $63 = +HEAPF64[$1 + ($$1390 << 8) + 48 >> 3]; + if (!($63 < +HEAPF64[$10 >> 3])) if (($$2 | 0) != -1 ? !(+HEAPF64[$1 + ($$2 << 8) + 48 >> 3] < $63) : 0) $$3 = $$2; else $$3 = $$1390; else $$3 = $$2; + } + $$1390 = $$1390 + 1 | 0; + $$2 = $$3; + } + HEAP32[$12 + ($$0394 * 320 | 0) + 304 >> 2] = $$2; + if (($$2 | 0) > -1) HEAP32[$1 + ($$2 << 8) + 16 >> 2] = HEAP32[$1 + ($$2 << 8) + 24 >> 2]; + } + $$0394 = $$0394 + 1 | 0; + } + $$0405 = 0; + $$0407 = 0; + $$0410 = 0; + $$1395 = 0; + $78 = $8; + while (1) { + if (($$1395 | 0) >= ($78 | 0)) break; + $79 = HEAP32[$3 >> 2] | 0; + $81 = HEAP32[$79 + ($$1395 * 320 | 0) + 304 >> 2] | 0; + do if (($81 | 0) < 0) { + $$1406 = $$0405; + $$2409 = $$0407; + $$2412 = $$0410; + } else { + $83 = $1 + ($81 << 8) | 0; + if (+_arGetTransMatSquare($0, $83, +HEAPF64[$79 + ($$1395 * 320 | 0) + 8 >> 3], $6) > 4.0) { + HEAP32[(HEAP32[$3 >> 2] | 0) + ($$1395 * 320 | 0) + 304 >> 2] = -1; + $90 = $1 + ($81 << 8) + 236 | 0; + if (HEAP32[$90 >> 2] | 0) { + $$1406 = $$0405; + $$2409 = $$0407; + $$2412 = $$0410; + break; + } + HEAP32[$90 >> 2] = 7; + $$1406 = $$0405; + $$2409 = $$0407; + $$2412 = $$0410; + break; + } + $$pre441 = HEAP32[$83 >> 2] | 0; + L45 : do if (($$0405 | 0) == 0 | ($$0407 | 0) < ($$pre441 | 0)) { + $$2391 = 0; + while (1) { + if (($$2391 | 0) == 3) { + $$1408 = $$pre441; + $$1411 = $$1395; + break L45; + } + $$4 = 0; + while (1) { + if (($$4 | 0) == 4) break; + HEAPF64[$5 + ($$2391 << 5) + ($$4 << 3) >> 3] = +HEAPF64[$6 + ($$2391 << 5) + ($$4 << 3) >> 3]; + $$4 = $$4 + 1 | 0; + } + $$2391 = $$2391 + 1 | 0; + } + } else { + $$1408 = $$0407; + $$1411 = $$0410; + } while (0); + $$1406 = $$0405 + 1 | 0; + $$2409 = $$1408; + $$2412 = $$1411; + } while (0); + $$0405 = $$1406; + $$0407 = $$2409; + $$0410 = $$2412; + $$1395 = $$1395 + 1 | 0; + $78 = HEAP32[$7 >> 2] | 0; + } + L57 : do if (($$0405 | 0) != 0 ? ($$0405 | 0) >= (HEAP32[$3 + 128 >> 2] | 0) : 0) { + _arUtilMatMul($5, (HEAP32[$3 >> 2] | 0) + ($$0410 * 320 | 0) + 112 | 0, $6) | 0; + $109 = $$0405 << 2; + $111 = _malloc($$0405 << 6) | 0; + if (!$111) { + _arLog(0, 3, 45930, $vararg_buffer); + _exit(1); + } + $114 = _malloc($$0405 * 96 | 0) | 0; + if (!$114) { + _arLog(0, 3, 45930, $vararg_buffer1); + _exit(1); + } + $116 = HEAP32[$7 >> 2] | 0; + $$2396 = 0; + $$3392 = 0; + while (1) { + if (($$2396 | 0) >= ($116 | 0)) break; + $118 = HEAP32[$3 >> 2] | 0; + $120 = HEAP32[$118 + ($$2396 * 320 | 0) + 304 >> 2] | 0; + if (($120 | 0) < 0) $$4393 = $$3392; else { + $123 = HEAP32[$1 + ($120 << 8) + 16 >> 2] | 0; + $125 = (4 - $123 | 0) % 4 | 0; + $128 = $$3392 << 3; + HEAPF64[$111 + ($128 << 3) >> 3] = +HEAPF64[$1 + ($120 << 8) + 168 + ($125 << 4) >> 3]; + HEAPF64[$111 + (($128 | 1) << 3) >> 3] = +HEAPF64[$1 + ($120 << 8) + 168 + ($125 << 4) + 8 >> 3]; + $135 = (5 - $123 | 0) % 4 | 0; + HEAPF64[$111 + (($128 | 2) << 3) >> 3] = +HEAPF64[$1 + ($120 << 8) + 168 + ($135 << 4) >> 3]; + HEAPF64[$111 + (($128 | 3) << 3) >> 3] = +HEAPF64[$1 + ($120 << 8) + 168 + ($135 << 4) + 8 >> 3]; + $145 = (6 - $123 | 0) % 4 | 0; + HEAPF64[$111 + (($128 | 4) << 3) >> 3] = +HEAPF64[$1 + ($120 << 8) + 168 + ($145 << 4) >> 3]; + HEAPF64[$111 + (($128 | 5) << 3) >> 3] = +HEAPF64[$1 + ($120 << 8) + 168 + ($145 << 4) + 8 >> 3]; + $155 = (7 - $123 | 0) % 4 | 0; + HEAPF64[$111 + (($128 | 6) << 3) >> 3] = +HEAPF64[$1 + ($120 << 8) + 168 + ($155 << 4) >> 3]; + HEAPF64[$111 + (($128 | 7) << 3) >> 3] = +HEAPF64[$1 + ($120 << 8) + 168 + ($155 << 4) + 8 >> 3]; + $166 = $$3392 * 12 | 0; + HEAPF64[$114 + ($166 << 3) >> 3] = +HEAPF64[$118 + ($$2396 * 320 | 0) + 208 >> 3]; + HEAPF64[$114 + (($166 | 1) << 3) >> 3] = +HEAPF64[$118 + ($$2396 * 320 | 0) + 216 >> 3]; + HEAPF64[$114 + (($166 | 2) << 3) >> 3] = +HEAPF64[$118 + ($$2396 * 320 | 0) + 224 >> 3]; + HEAPF64[$114 + (($166 | 3) << 3) >> 3] = +HEAPF64[$118 + ($$2396 * 320 | 0) + 232 >> 3]; + HEAPF64[$114 + ($166 + 4 << 3) >> 3] = +HEAPF64[$118 + ($$2396 * 320 | 0) + 240 >> 3]; + HEAPF64[$114 + ($166 + 5 << 3) >> 3] = +HEAPF64[$118 + ($$2396 * 320 | 0) + 248 >> 3]; + HEAPF64[$114 + ($166 + 6 << 3) >> 3] = +HEAPF64[$118 + ($$2396 * 320 | 0) + 256 >> 3]; + HEAPF64[$114 + ($166 + 7 << 3) >> 3] = +HEAPF64[$118 + ($$2396 * 320 | 0) + 264 >> 3]; + HEAPF64[$114 + ($166 + 8 << 3) >> 3] = +HEAPF64[$118 + ($$2396 * 320 | 0) + 272 >> 3]; + HEAPF64[$114 + ($166 + 9 << 3) >> 3] = +HEAPF64[$118 + ($$2396 * 320 | 0) + 280 >> 3]; + HEAPF64[$114 + ($166 + 10 << 3) >> 3] = +HEAPF64[$118 + ($$2396 * 320 | 0) + 288 >> 3]; + HEAPF64[$114 + ($166 + 11 << 3) >> 3] = +HEAPF64[$118 + ($$2396 * 320 | 0) + 296 >> 3]; + $$4393 = $$3392 + 1 | 0; + } + $$2396 = $$2396 + 1 | 0; + $$3392 = $$4393; + } + $214 = $3 + 104 | 0; + $217 = ($4 | 0) != 0; + if (!(HEAP32[$214 >> 2] | 0)) { + $218 = $3 + 8 | 0; + $219 = +_arGetTransMat($0, $6, $111, $114, $109, $218); + if ($217 & $219 >= 20.0) { + _icpSetInlierProbability(HEAP32[$0 >> 2] | 0, .8) | 0; + $222 = +_arGetTransMatRobust($0, $6, $111, $114, $109, $218); + if ($222 >= 20.0) { + _icpSetInlierProbability(HEAP32[$0 >> 2] | 0, .6) | 0; + $225 = +_arGetTransMatRobust($0, $6, $111, $114, $109, $218); + if ($225 >= 20.0) { + _icpSetInlierProbability(HEAP32[$0 >> 2] | 0, .4) | 0; + $228 = +_arGetTransMatRobust($0, $6, $111, $114, $109, $218); + if (!($228 >= 20.0)) $$0413 = $228; else { + _icpSetInlierProbability(HEAP32[$0 >> 2] | 0, 0.0) | 0; + $$0413 = +_arGetTransMatRobust($0, $6, $111, $114, $109, $218); + } + } else $$0413 = $225; + } else $$0413 = $222; + } else $$0413 = $219; + _free($114); + _free($111); + $$6419 = $$0413; + } else { + $232 = +_arGetTransMat($0, $6, $111, $114, $109, $5); + $233 = $3 + 8 | 0; + $234 = +_arGetTransMat($0, $233, $111, $114, $109, $233); + $235 = $232 < $234; + L82 : do if ($217) { + L84 : do if ($235) { + $$5 = 0; + while (1) { + if (($$5 | 0) == 3) { + $$1414 = $232; + break L84; + } + $$3397 = 0; + while (1) { + if (($$3397 | 0) == 4) break; + HEAPF64[$3 + 8 + ($$5 << 5) + ($$3397 << 3) >> 3] = +HEAPF64[$5 + ($$5 << 5) + ($$3397 << 3) >> 3]; + $$3397 = $$3397 + 1 | 0; + } + $$5 = $$5 + 1 | 0; + } + } else $$1414 = $234; while (0); + if ($$1414 >= 20.0) { + _icpSetInlierProbability(HEAP32[$0 >> 2] | 0, .8) | 0; + $243 = +_arGetTransMatRobust($0, $6, $111, $114, $109, $5); + $244 = +_arGetTransMatRobust($0, $233, $111, $114, $109, $233); + L95 : do if ($243 < $244) { + $$6 = 0; + while (1) { + if (($$6 | 0) == 3) { + $$2415 = $243; + break L95; + } + $$4398 = 0; + while (1) { + if (($$4398 | 0) == 4) break; + HEAPF64[$3 + 8 + ($$6 << 5) + ($$4398 << 3) >> 3] = +HEAPF64[$5 + ($$6 << 5) + ($$4398 << 3) >> 3]; + $$4398 = $$4398 + 1 | 0; + } + $$6 = $$6 + 1 | 0; + } + } else $$2415 = $244; while (0); + if ($$2415 >= 20.0) { + _icpSetInlierProbability(HEAP32[$0 >> 2] | 0, .6) | 0; + $253 = +_arGetTransMatRobust($0, $6, $111, $114, $109, $5); + $254 = +_arGetTransMatRobust($0, $233, $111, $114, $109, $233); + L106 : do if ($253 < $254) { + $$7 = 0; + while (1) { + if (($$7 | 0) == 3) { + $$3416 = $253; + break L106; + } + $$5399 = 0; + while (1) { + if (($$5399 | 0) == 4) break; + HEAPF64[$3 + 8 + ($$7 << 5) + ($$5399 << 3) >> 3] = +HEAPF64[$5 + ($$7 << 5) + ($$5399 << 3) >> 3]; + $$5399 = $$5399 + 1 | 0; + } + $$7 = $$7 + 1 | 0; + } + } else $$3416 = $254; while (0); + if ($$3416 >= 20.0) { + _icpSetInlierProbability(HEAP32[$0 >> 2] | 0, .4) | 0; + $263 = +_arGetTransMatRobust($0, $6, $111, $114, $109, $5); + $264 = +_arGetTransMatRobust($0, $233, $111, $114, $109, $233); + L117 : do if ($263 < $264) { + $$8 = 0; + while (1) { + if (($$8 | 0) == 3) { + $$4417 = $263; + break L117; + } + $$6400 = 0; + while (1) { + if (($$6400 | 0) == 4) break; + HEAPF64[$3 + 8 + ($$8 << 5) + ($$6400 << 3) >> 3] = +HEAPF64[$5 + ($$8 << 5) + ($$6400 << 3) >> 3]; + $$6400 = $$6400 + 1 | 0; + } + $$8 = $$8 + 1 | 0; + } + } else $$4417 = $264; while (0); + if ($$4417 >= 20.0) { + _icpSetInlierProbability(HEAP32[$0 >> 2] | 0, 0.0) | 0; + $273 = +_arGetTransMatRobust($0, $6, $111, $114, $109, $5); + $274 = +_arGetTransMatRobust($0, $233, $111, $114, $109, $233); + if ($273 < $274) { + $$9 = 0; + while (1) { + if (($$9 | 0) == 3) { + $$5418 = $273; + break L82; + } + $$7401 = 0; + while (1) { + if (($$7401 | 0) == 4) break; + HEAPF64[$3 + 8 + ($$9 << 5) + ($$7401 << 3) >> 3] = +HEAPF64[$5 + ($$9 << 5) + ($$7401 << 3) >> 3]; + $$7401 = $$7401 + 1 | 0; + } + $$9 = $$9 + 1 | 0; + } + } else $$5418 = $274; + } else $$5418 = $$4417; + } else $$5418 = $$3416; + } else $$5418 = $$2415; + } else $$5418 = $$1414; + } else if ($235) { + $$10 = 0; + while (1) { + if (($$10 | 0) == 3) { + $$5418 = $232; + break L82; + } + $$8402 = 0; + while (1) { + if (($$8402 | 0) == 4) break; + HEAPF64[$3 + 8 + ($$10 << 5) + ($$8402 << 3) >> 3] = +HEAPF64[$5 + ($$10 << 5) + ($$8402 << 3) >> 3]; + $$8402 = $$8402 + 1 | 0; + } + $$10 = $$10 + 1 | 0; + } + } else $$5418 = $234; while (0); + _free($114); + _free($111); + $$6419 = $$5418; + } + if ($$6419 < 20.0) { + HEAP32[$214 >> 2] = 1; + $$0404 = $$6419; + break; + } + HEAP32[$214 >> 2] = 0; + $287 = HEAP32[$7 >> 2] | 0; + $$9403 = 0; + while (1) { + if (($$9403 | 0) >= ($287 | 0)) { + $$0404 = $$6419; + break L57; + } + $291 = HEAP32[(HEAP32[$3 >> 2] | 0) + ($$9403 * 320 | 0) + 304 >> 2] | 0; + if (($291 | 0) >= 0 ? ($293 = $1 + ($291 << 8) + 236 | 0, (HEAP32[$293 >> 2] | 0) == 0) : 0) HEAP32[$293 >> 2] = 8; + $$9403 = $$9403 + 1 | 0; + } + } else label = 45; while (0); + if ((label | 0) == 45) { + HEAP32[$3 + 104 >> 2] = 0; + $$0404 = -1.0; + } + STACKTOP = sp; + return +$$0404; +} + +function __ZN6vision36ComputeSubpixelHessianFineOctavePairEPfS0_RKNS_5ImageES3_S3_ii($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 $10 = 0, $104 = 0, $108 = 0, $11 = 0, $110 = 0, $118 = 0, $12 = 0, $123 = 0, $127 = 0, $129 = 0, $13 = 0, $131 = 0, $133 = 0, $135 = 0, $138 = 0.0, $14 = 0, $146 = 0, $151 = 0, $155 = 0, $164 = 0, $169 = 0, $173 = 0, $183 = 0, $188 = 0, $192 = 0, $194 = 0.0, $203 = 0, $208 = 0, $212 = 0, $215 = 0.0, $216 = 0.0, $222 = 0.0, $224 = 0.0, $229 = 0.0, $231 = 0.0, $238 = 0.0, $239 = 0.0, $24 = 0, $244 = 0.0, $245 = 0.0, $252 = 0.0, $254 = 0, $29 = 0, $33 = 0, $34 = 0, $36 = 0, $44 = 0, $49 = 0, $53 = 0, $54 = 0, $62 = 0, $67 = 0, $7 = 0, $71 = 0, $73 = 0, $8 = 0, $81 = 0, $86 = 0, $9 = 0, $90 = 0, $91 = 0, $99 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $7 = sp + 28 | 0; + $8 = sp + 24 | 0; + $9 = sp + 20 | 0; + $10 = sp + 16 | 0; + $11 = sp + 12 | 0; + $12 = sp + 8 | 0; + $13 = sp + 4 | 0; + $14 = sp; + if (($5 | 0) > 0 ? ($5 + 1 | 0) >>> 0 < (__ZNK6vision5Image5widthEv($3) | 0) >>> 0 : 0) { + $34 = $6 + -1 | 0; + if (($6 | 0) > 0 ? ($36 = $6 + 1 | 0, $36 >>> 0 < (__ZNK6vision5Image6heightEv($3) | 0) >>> 0) : 0) { + $54 = __ZNK6vision5Image5widthEv($2) | 0; + if (($54 | 0) != (__ZNK6vision5Image5widthEv($3) | 0)) { + $62 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 30218) | 0, 28600) | 0, 39072) | 0, 415) | 0, 39079) | 0, 29150) | 0; + __ZNKSt3__28ios_base6getlocEv($7, $62 + (HEAP32[(HEAP32[$62 >> 2] | 0) + -12 >> 2] | 0) | 0); + $67 = __ZNKSt3__26locale9use_facetERNS0_2idE($7, 66512) | 0; + $71 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$67 >> 2] | 0) + 28 >> 2] & 127]($67, 10) | 0; + __ZNSt3__26localeD2Ev($7); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($62, $71) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($62) | 0; + _abort(); + } + $73 = (__ZNK6vision5Image5widthEv($2) | 0) >>> 1; + if (($73 | 0) != (__ZNK6vision5Image5widthEv($4) | 0)) { + $81 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 29180) | 0, 28600) | 0, 39072) | 0, 416) | 0, 39079) | 0, 29150) | 0; + __ZNKSt3__28ios_base6getlocEv($7, $81 + (HEAP32[(HEAP32[$81 >> 2] | 0) + -12 >> 2] | 0) | 0); + $86 = __ZNKSt3__26locale9use_facetERNS0_2idE($7, 66512) | 0; + $90 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$86 >> 2] | 0) + 28 >> 2] & 127]($86, 10) | 0; + __ZNSt3__26localeD2Ev($7); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($81, $90) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($81) | 0; + _abort(); + } + $91 = __ZNK6vision5Image6heightEv($2) | 0; + if (($91 | 0) != (__ZNK6vision5Image6heightEv($3) | 0)) { + $99 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 30270) | 0, 28600) | 0, 39072) | 0, 417) | 0, 39079) | 0, 29150) | 0; + __ZNKSt3__28ios_base6getlocEv($7, $99 + (HEAP32[(HEAP32[$99 >> 2] | 0) + -12 >> 2] | 0) | 0); + $104 = __ZNKSt3__26locale9use_facetERNS0_2idE($7, 66512) | 0; + $108 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$104 >> 2] | 0) + 28 >> 2] & 127]($104, 10) | 0; + __ZNSt3__26localeD2Ev($7); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($99, $108) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($99) | 0; + _abort(); + } + $110 = (__ZNK6vision5Image6heightEv($2) | 0) >>> 1; + if (($110 | 0) != (__ZNK6vision5Image6heightEv($4) | 0)) { + $118 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 29296) | 0, 28600) | 0, 39072) | 0, 418) | 0, 39079) | 0, 29150) | 0; + __ZNKSt3__28ios_base6getlocEv($7, $118 + (HEAP32[(HEAP32[$118 >> 2] | 0) + -12 >> 2] | 0) | 0); + $123 = __ZNKSt3__26locale9use_facetERNS0_2idE($7, 66512) | 0; + $127 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$123 >> 2] | 0) + 28 >> 2] & 127]($123, 10) | 0; + __ZNSt3__26localeD2Ev($7); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($118, $127) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($118) | 0; + _abort(); + } + $129 = (__ZNK6vision5Image3getIfEEPKT_m($2, $34) | 0) + ($5 << 2) | 0; + $131 = (__ZNK6vision5Image3getIfEEPKT_m($2, $6) | 0) + ($5 << 2) | 0; + $133 = (__ZNK6vision5Image3getIfEEPKT_m($2, $36) | 0) + ($5 << 2) | 0; + $135 = (__ZNK6vision5Image3getIfEEPKT_m($3, $6) | 0) + ($5 << 2) | 0; + __ZN6vision25bilinear_downsample_pointERfS0_ffi($8, $9, +($5 | 0), +($6 | 0), 1); + $138 = +HEAPF32[$8 >> 2]; + if (!($138 + -.5 >= 0.0)) { + $146 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 30324) | 0, 28600) | 0, 39072) | 0, 428) | 0, 39079) | 0, 30365) | 0; + __ZNKSt3__28ios_base6getlocEv($7, $146 + (HEAP32[(HEAP32[$146 >> 2] | 0) + -12 >> 2] | 0) | 0); + $151 = __ZNKSt3__26locale9use_facetERNS0_2idE($7, 66512) | 0; + $155 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$151 >> 2] | 0) + 28 >> 2] & 127]($151, 10) | 0; + __ZNSt3__26localeD2Ev($7); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($146, $155) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($146) | 0; + _abort(); + } + if (!(+HEAPF32[$9 >> 2] + -.5 >= 0.0)) { + $164 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 30419) | 0, 28600) | 0, 39072) | 0, 429) | 0, 39079) | 0, 30460) | 0; + __ZNKSt3__28ios_base6getlocEv($7, $164 + (HEAP32[(HEAP32[$164 >> 2] | 0) + -12 >> 2] | 0) | 0); + $169 = __ZNKSt3__26locale9use_facetERNS0_2idE($7, 66512) | 0; + $173 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$169 >> 2] | 0) + 28 >> 2] & 127]($169, 10) | 0; + __ZNSt3__26localeD2Ev($7); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($164, $173) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($164) | 0; + _abort(); + } + if (!($138 + .5 < +((__ZNK6vision5Image5widthEv($4) | 0) >>> 0))) { + $183 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 30514) | 0, 28600) | 0, 39072) | 0, 430) | 0, 39079) | 0, 30365) | 0; + __ZNKSt3__28ios_base6getlocEv($7, $183 + (HEAP32[(HEAP32[$183 >> 2] | 0) + -12 >> 2] | 0) | 0); + $188 = __ZNKSt3__26locale9use_facetERNS0_2idE($7, 66512) | 0; + $192 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$188 >> 2] | 0) + 28 >> 2] & 127]($188, 10) | 0; + __ZNSt3__26localeD2Ev($7); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($183, $192) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($183) | 0; + _abort(); + } + $194 = +HEAPF32[$9 >> 2] + .5; + if ($194 < +((__ZNK6vision5Image6heightEv($4) | 0) >>> 0)) { + __ZN6vision26ComputeSubpixelDerivativesERfS0_S0_S0_S0_RKNS_5ImageEii($10, $11, $12, $13, $14, $3, $5, $6); + $215 = +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($4, +HEAPF32[$8 >> 2], +HEAPF32[$9 >> 2]); + $216 = +HEAPF32[$131 >> 2]; + $222 = $215 + ($216 - +HEAPF32[$135 >> 2] * 2.0); + $224 = +HEAPF32[$131 + -4 >> 2]; + $229 = $224 + +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($4, +HEAPF32[$8 >> 2] + .5, +HEAPF32[$9 >> 2]); + $231 = +HEAPF32[$131 + 4 >> 2]; + $238 = ($229 - ($231 + +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($4, +HEAPF32[$8 >> 2] + -.5, +HEAPF32[$9 >> 2]))) * .25; + $239 = +HEAPF32[$129 >> 2]; + $244 = $239 + +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($4, +HEAPF32[$8 >> 2], +HEAPF32[$9 >> 2] + .5); + $245 = +HEAPF32[$133 >> 2]; + $252 = ($244 - ($245 + +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($4, +HEAPF32[$8 >> 2], +HEAPF32[$9 >> 2] + -.5))) * .25; + HEAP32[$0 >> 2] = HEAP32[$12 >> 2]; + $254 = HEAP32[$14 >> 2] | 0; + HEAP32[$0 + 4 >> 2] = $254; + HEAPF32[$0 + 8 >> 2] = $238; + HEAP32[$0 + 12 >> 2] = $254; + HEAP32[$0 + 16 >> 2] = HEAP32[$13 >> 2]; + HEAPF32[$0 + 20 >> 2] = $252; + HEAPF32[$0 + 24 >> 2] = $238; + HEAPF32[$0 + 28 >> 2] = $252; + HEAPF32[$0 + 32 >> 2] = $222; + HEAPF32[$1 >> 2] = -+HEAPF32[$10 >> 2]; + HEAPF32[$1 + 4 >> 2] = -+HEAPF32[$11 >> 2]; + HEAPF32[$1 + 8 >> 2] = -(($215 - $216) * .5); + STACKTOP = sp; + return; + } else { + $203 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 30565) | 0, 28600) | 0, 39072) | 0, 431) | 0, 39079) | 0, 30460) | 0; + __ZNKSt3__28ios_base6getlocEv($7, $203 + (HEAP32[(HEAP32[$203 >> 2] | 0) + -12 >> 2] | 0) | 0); + $208 = __ZNKSt3__26locale9use_facetERNS0_2idE($7, 66512) | 0; + $212 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$208 >> 2] | 0) + 28 >> 2] & 127]($208, 10) | 0; + __ZNSt3__26localeD2Ev($7); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($203, $212) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($203) | 0; + _abort(); + } + } + $44 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 29018) | 0, 28600) | 0, 39072) | 0, 414) | 0, 39079) | 0, 29077) | 0; + __ZNKSt3__28ios_base6getlocEv($7, $44 + (HEAP32[(HEAP32[$44 >> 2] | 0) + -12 >> 2] | 0) | 0); + $49 = __ZNKSt3__26locale9use_facetERNS0_2idE($7, 66512) | 0; + $53 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$49 >> 2] | 0) + 28 >> 2] & 127]($49, 10) | 0; + __ZNSt3__26localeD2Ev($7); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($44, $53) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($44) | 0; + _abort(); + } + $24 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 28944) | 0, 28600) | 0, 39072) | 0, 413) | 0, 39079) | 0, 29002) | 0; + __ZNKSt3__28ios_base6getlocEv($7, $24 + (HEAP32[(HEAP32[$24 >> 2] | 0) + -12 >> 2] | 0) | 0); + $29 = __ZNKSt3__26locale9use_facetERNS0_2idE($7, 66512) | 0; + $33 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$29 >> 2] | 0) + 28 >> 2] & 127]($29, 10) | 0; + __ZNSt3__26localeD2Ev($7); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($24, $33) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($24) | 0; + _abort(); +} + +function __ZNSt3__213__nth_elementIRNS_7greaterINS_4pairIfmEEEENS_11__wrap_iterIPS3_EEEEvT0_S9_S9_T_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$2 = 0, $$3 = 0, $$4 = 0, $$5 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $$cast222 = 0, $$phi$trans$insert = 0, $$phi$trans$insert262 = 0, $$phi$trans$insert264 = 0, $$phi$trans$insert266 = 0, $$phi$trans$insert268 = 0, $$pre = 0, $$pre$phi270Z2D = 0, $$pre$phi271Z2D = 0, $$pre$phi272Z2D = 0, $$pre$phi273Z2D = 0, $$pre$phi275Z2D = 0, $$pre$phi279Z2D = 0, $$pre$phiZ2D = 0, $$pre276 = 0, $$sroa$0$0$ptr = 0, $$sroa$0$1 = 0, $$sroa$0$1$ptr = 0, $$sroa$0$2$ptr = 0, $$sroa$0$3$in = 0, $$sroa$0$4 = 0, $$sroa$0$4$ptr = 0, $$sroa$0$5$ptr = 0, $$sroa$0107$0 = 0, $$sroa$0107$2$ptr = 0, $$sroa$0107$3$ptr = 0, $$sroa$0107$4$ptr = 0, $$sroa$068$0$ptr = 0, $$sroa$068$1 = 0, $$sroa$068$2 = 0, $$sroa$068$3 = 0, $$sroa$068$4 = 0, $$sroa$068$5 = 0, $$sroa$068$6 = 0, $$sroa$068$6$ptr = 0, $10 = 0, $103 = 0, $105 = 0, $106 = 0, $107 = 0, $11 = 0, $111 = 0, $113 = 0.0, $118 = 0, $12 = 0, $121 = 0, $123 = 0, $125 = 0, $126 = 0, $127 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $135 = 0, $136 = 0, $137 = 0.0, $138 = 0, $139 = 0.0, $148 = 0, $149 = 0, $15 = 0, $150 = 0.0, $157 = 0, $16 = 0, $160 = 0, $162 = 0, $163 = 0, $164 = 0, $17 = 0, $173 = 0.0, $174 = 0.0, $177 = 0, $178 = 0, $179 = 0, $180 = 0, $183 = 0, $185 = 0, $186 = 0, $19 = 0, $191 = 0, $193 = 0.0, $194 = 0.0, $20 = 0, $202 = 0, $204 = 0.0, $205 = 0.0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0.0, $27 = 0, $28 = 0, $29 = 0, $31 = 0, $32 = 0, $38 = 0, $39 = 0, $4 = 0, $41 = 0, $42 = 0, $43 = 0.0, $44 = 0.0, $5 = 0, $51 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $6 = 0, $60 = 0, $64 = 0.0, $68 = 0, $7 = 0, $73 = 0, $79 = 0, $8 = 0, $80 = 0.0, $81 = 0, $82 = 0.0, $9 = 0, $91 = 0, $92 = 0, $93 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $$byval_copy7 = sp + 40 | 0; + $$byval_copy6 = sp + 36 | 0; + $$byval_copy5 = sp + 32 | 0; + $4 = sp + 28 | 0; + $5 = sp + 24 | 0; + $6 = sp + 20 | 0; + $7 = sp + 16 | 0; + $8 = sp + 12 | 0; + $9 = sp + 8 | 0; + $10 = sp + 4 | 0; + $11 = sp; + $12 = HEAP32[$1 >> 2] | 0; + L1 : while (1) { + $13 = HEAP32[$2 >> 2] | 0; + $$cast222 = $13; + $15 = $13 + -8 | 0; + $16 = $15; + $17 = $13 + -4 | 0; + if (($12 | 0) == ($13 | 0)) break; + $$pre = HEAP32[$0 >> 2] | 0; + $20 = $$pre; + $23 = $$pre; + L4 : while (1) { + $19 = $$cast222 - $20 | 0; + $21 = $19 >> 3; + switch ($21 | 0) { + case 1: + case 0: + { + break L1; + break; + } + case 2: + { + label = 5; + break L1; + break; + } + case 3: + { + label = 10; + break L1; + break; + } + default: + {} + } + if (($19 | 0) < 64) { + label = 12; + break L1; + } + $38 = $21 >>> 1; + $39 = $23 + ($38 << 3) | 0; + HEAP32[$9 >> 2] = $20; + HEAP32[$10 >> 2] = $39; + HEAP32[$11 >> 2] = $16; + HEAP32[$$byval_copy5 >> 2] = HEAP32[$9 >> 2]; + HEAP32[$$byval_copy6 >> 2] = HEAP32[$10 >> 2]; + HEAP32[$$byval_copy7 >> 2] = HEAP32[$11 >> 2]; + $41 = __ZNSt3__27__sort3IRNS_7greaterINS_4pairIfmEEEENS_11__wrap_iterIPS3_EEEEjT0_S9_S9_T_($$byval_copy5, $$byval_copy6, $$byval_copy7, $3) | 0; + $42 = $20; + $43 = +HEAPF32[$39 >> 2]; + $44 = +HEAPF32[$42 >> 2]; + if ($43 < $44) { + label = 53; + break; + } + $$pre276 = $23 + ($38 << 3) + 4 | 0; + if (!($44 < $43) ? (HEAP32[$$pre276 >> 2] | 0) >>> 0 < (HEAP32[$42 + 4 >> 2] | 0) >>> 0 : 0) { + label = 53; + break; + } + $$sroa$0$0$ptr = $15; + while (1) { + $51 = $$sroa$0$0$ptr + -8 | 0; + if (($51 | 0) == ($42 | 0)) break; + $113 = +HEAPF32[$51 >> 2]; + if ($43 < $113) { + label = 47; + break L4; + } + if (!($113 < $43) ? ($118 = HEAP32[$$sroa$0$0$ptr + -4 >> 2] | 0, (HEAP32[$$pre276 >> 2] | 0) >>> 0 < $118 >>> 0) : 0) { + label = 51; + break L4; + } + $$sroa$0$0$ptr = $51; + } + $53 = $42 + 8 | 0; + $54 = $53; + $55 = +HEAPF32[$15 >> 2]; + $56 = +HEAPF32[$23 >> 2]; + do if ($55 < $56) $$sroa$068$1 = $54; else { + if (!($56 < $55)) { + $60 = $23 + 4 | 0; + if ((HEAP32[$17 >> 2] | 0) >>> 0 < (HEAP32[$60 >> 2] | 0) >>> 0) { + $$sroa$068$1 = $54; + break; + } else $$pre$phi279Z2D = $60; + } else $$pre$phi279Z2D = $23 + 4 | 0; + $$sroa$068$0$ptr = $53; + while (1) { + if (($$sroa$068$0$ptr | 0) == ($15 | 0)) break L1; + $64 = +HEAPF32[$$sroa$068$0$ptr >> 2]; + if ($64 < $56) { + label = 25; + break; + } + if (!($56 < $64) ? ($68 = HEAP32[$$sroa$068$0$ptr + 4 >> 2] | 0, $68 >>> 0 < (HEAP32[$$pre$phi279Z2D >> 2] | 0) >>> 0) : 0) { + label = 28; + break; + } + $$sroa$068$0$ptr = $$sroa$068$0$ptr + 8 | 0; + } + if ((label | 0) == 25) { + label = 0; + $$phi$trans$insert264 = $$sroa$068$0$ptr + 4 | 0; + $$pre$phi271Z2D = $$phi$trans$insert264; + $73 = HEAP32[$$phi$trans$insert264 >> 2] | 0; + } else if ((label | 0) == 28) { + label = 0; + $$pre$phi271Z2D = $$sroa$068$0$ptr + 4 | 0; + $73 = $68; + } + HEAPF32[$$sroa$068$0$ptr >> 2] = $55; + HEAPF32[$15 >> 2] = $64; + HEAP32[$$pre$phi271Z2D >> 2] = HEAP32[$17 >> 2]; + HEAP32[$17 >> 2] = $73; + $$sroa$068$1 = $$sroa$068$0$ptr + 8 | 0; + } while (0); + if (($15 | 0) == ($$sroa$068$1 | 0)) break L1; + $79 = $23 + 4 | 0; + $$sroa$0$1 = $16; + $$sroa$068$2 = $$sroa$068$1; + while (1) { + $$sroa$0$1$ptr = $$sroa$0$1; + $80 = +HEAPF32[$23 >> 2]; + $$sroa$068$3 = $$sroa$068$2; + while (1) { + $81 = $$sroa$068$3; + $82 = +HEAPF32[$81 >> 2]; + if ($82 < $80) break; + if (!($80 < $82) ? (HEAP32[$81 + 4 >> 2] | 0) >>> 0 < (HEAP32[$79 >> 2] | 0) >>> 0 : 0) break; + $$sroa$068$3 = $81 + 8 | 0; + } + $91 = $$sroa$068$3; + $$sroa$0$2$ptr = $$sroa$0$1$ptr; + while (1) { + $92 = $$sroa$0$2$ptr + -8 | 0; + $93 = +HEAPF32[$92 >> 2]; + if (!($93 < $80)) { + if ($80 < $93) break; + if ((HEAP32[$$sroa$0$2$ptr + -4 >> 2] | 0) >>> 0 >= (HEAP32[$79 >> 2] | 0) >>> 0) break; + } + $$sroa$0$2$ptr = $92; + } + if ($92 >>> 0 <= $91 >>> 0) break; + $103 = HEAP32[$$sroa$068$3 >> 2] | 0; + HEAPF32[$$sroa$068$3 >> 2] = $93; + HEAP32[$92 >> 2] = $103; + $105 = $91 + 4 | 0; + $106 = $$sroa$0$2$ptr + -4 | 0; + $107 = HEAP32[$105 >> 2] | 0; + HEAP32[$105 >> 2] = HEAP32[$106 >> 2]; + HEAP32[$106 >> 2] = $107; + $$sroa$0$1 = $92; + $$sroa$068$2 = $91 + 8 | 0; + } + $111 = $$sroa$068$3; + if ($12 >>> 0 < $111 >>> 0) break L1; + HEAP32[$0 >> 2] = $$sroa$068$3; + $20 = $$sroa$068$3; + $23 = $111; + } + if ((label | 0) == 47) { + label = 0; + $$phi$trans$insert262 = $$sroa$0$0$ptr + -4 | 0; + $$pre$phi272Z2D = $$phi$trans$insert262; + $127 = HEAP32[$$phi$trans$insert262 >> 2] | 0; + label = 52; + } else if ((label | 0) == 51) { + label = 0; + $$pre$phi272Z2D = $$sroa$0$0$ptr + -4 | 0; + $127 = $118; + label = 52; + } else if ((label | 0) == 53) { + label = 0; + $$2 = $41; + $$sroa$0$3$in = $15; + $131 = $20; + } + if ((label | 0) == 52) { + label = 0; + $121 = $20; + $123 = HEAP32[$20 >> 2] | 0; + HEAPF32[$20 >> 2] = $113; + HEAP32[$51 >> 2] = $123; + $125 = $121 + 4 | 0; + $126 = HEAP32[$125 >> 2] | 0; + HEAP32[$125 >> 2] = $127; + HEAP32[$$pre$phi272Z2D >> 2] = $126; + $$2 = $41 + 1 | 0; + $$sroa$0$3$in = $51; + $131 = $121; + } + $130 = $131 + 8 | 0; + $132 = $130; + if ($130 >>> 0 < $$sroa$0$3$in >>> 0) { + $$3 = $$2; + $$sroa$0$4 = $$sroa$0$3$in; + $$sroa$0107$0 = $39; + $$sroa$068$4 = $132; + while (1) { + $$sroa$0$4$ptr = $$sroa$0$4; + $135 = $$sroa$0107$0; + $136 = $135 + 4 | 0; + $137 = +HEAPF32[$135 >> 2]; + $$sroa$068$5 = $$sroa$068$4; + while (1) { + $138 = $$sroa$068$5; + $139 = +HEAPF32[$138 >> 2]; + if (!($137 < $139)) { + if ($139 < $137) break; + if ((HEAP32[$136 >> 2] | 0) >>> 0 >= (HEAP32[$138 + 4 >> 2] | 0) >>> 0) break; + } + $$sroa$068$5 = $138 + 8 | 0; + } + $148 = $$sroa$068$5; + $$sroa$0$5$ptr = $$sroa$0$4$ptr; + while (1) { + $149 = $$sroa$0$5$ptr + -8 | 0; + $150 = +HEAPF32[$149 >> 2]; + if ($137 < $150) break; + if (!($150 < $137) ? (HEAP32[$136 >> 2] | 0) >>> 0 < (HEAP32[$$sroa$0$5$ptr + -4 >> 2] | 0) >>> 0 : 0) break; + $$sroa$0$5$ptr = $149; + } + $157 = $149; + if ($149 >>> 0 <= $148 >>> 0) break; + $160 = HEAP32[$$sroa$068$5 >> 2] | 0; + HEAPF32[$$sroa$068$5 >> 2] = $150; + HEAP32[$149 >> 2] = $160; + $162 = $148 + 4 | 0; + $163 = $$sroa$0$5$ptr + -4 | 0; + $164 = HEAP32[$162 >> 2] | 0; + HEAP32[$162 >> 2] = HEAP32[$163 >> 2]; + HEAP32[$163 >> 2] = $164; + $$3 = $$3 + 1 | 0; + $$sroa$0$4 = $157; + $$sroa$0107$0 = ($135 | 0) == ($148 | 0) ? $157 : $$sroa$0107$0; + $$sroa$068$4 = $148 + 8 | 0; + } + $$4 = $$3; + $$pre$phi275Z2D = $$sroa$068$5; + $$sroa$0107$2$ptr = $$sroa$0107$0; + $$sroa$068$6 = $$sroa$068$5; + } else { + $$4 = $$2; + $$pre$phi275Z2D = $130; + $$sroa$0107$2$ptr = $39; + $$sroa$068$6 = $132; + } + $$sroa$068$6$ptr = $$sroa$068$6; + do if (($$sroa$0107$2$ptr | 0) == ($$pre$phi275Z2D | 0)) $$5 = $$4; else { + $173 = +HEAPF32[$$pre$phi275Z2D >> 2]; + $174 = +HEAPF32[$$sroa$0107$2$ptr >> 2]; + if (!($173 < $174)) { + if ($174 < $173) { + $$5 = $$4; + break; + } + $177 = $$pre$phi275Z2D + 4 | 0; + $178 = HEAP32[$177 >> 2] | 0; + $179 = $$sroa$0107$2$ptr + 4 | 0; + $180 = HEAP32[$179 >> 2] | 0; + if ($178 >>> 0 < $180 >>> 0) { + $$pre$phi270Z2D = $179; + $$pre$phiZ2D = $177; + $185 = $180; + $186 = $178; + } else { + $$5 = $$4; + break; + } + } else { + $$phi$trans$insert266 = $$pre$phi275Z2D + 4 | 0; + $$phi$trans$insert268 = $$sroa$0107$2$ptr + 4 | 0; + $$pre$phi270Z2D = $$phi$trans$insert268; + $$pre$phiZ2D = $$phi$trans$insert266; + $185 = HEAP32[$$phi$trans$insert268 >> 2] | 0; + $186 = HEAP32[$$phi$trans$insert266 >> 2] | 0; + } + $183 = HEAP32[$$sroa$068$6 >> 2] | 0; + HEAPF32[$$sroa$068$6 >> 2] = $174; + HEAP32[$$sroa$0107$2$ptr >> 2] = $183; + HEAP32[$$pre$phiZ2D >> 2] = $185; + HEAP32[$$pre$phi270Z2D >> 2] = $186; + $$5 = $$4 + 1 | 0; + } while (0); + if (($12 | 0) == ($$pre$phi275Z2D | 0)) break; + L95 : do if (!$$5) if ($12 >>> 0 < $$pre$phi275Z2D >>> 0) { + $$sroa$0107$3$ptr = $131; + while (1) { + $191 = $$sroa$0107$3$ptr + 8 | 0; + if (($191 | 0) == ($$pre$phi275Z2D | 0)) break L1; + $193 = +HEAPF32[$$sroa$0107$3$ptr >> 2]; + $194 = +HEAPF32[$191 >> 2]; + if ($193 < $194) break L95; + if (!($194 < $193) ? (HEAP32[$$sroa$0107$3$ptr + 4 >> 2] | 0) >>> 0 < (HEAP32[$$sroa$0107$3$ptr + 12 >> 2] | 0) >>> 0 : 0) break L95; + $$sroa$0107$3$ptr = $191; + } + } else { + $$sroa$0107$4$ptr = $$sroa$068$6$ptr; + while (1) { + $202 = $$sroa$0107$4$ptr + 8 | 0; + if (($202 | 0) == ($13 | 0)) break L1; + $204 = +HEAPF32[$$sroa$0107$4$ptr >> 2]; + $205 = +HEAPF32[$202 >> 2]; + if ($204 < $205) break L95; + if (!($205 < $204) ? (HEAP32[$$sroa$0107$4$ptr + 4 >> 2] | 0) >>> 0 < (HEAP32[$$sroa$0107$4$ptr + 12 >> 2] | 0) >>> 0 : 0) break L95; + $$sroa$0107$4$ptr = $202; + } + } while (0); + if ($12 >>> 0 < $$pre$phi275Z2D >>> 0) HEAP32[$2 >> 2] = $$sroa$068$6; else HEAP32[$0 >> 2] = $$pre$phi275Z2D + 8; + } + do if ((label | 0) == 5) { + HEAP32[$2 >> 2] = $15; + $22 = +HEAPF32[$23 >> 2]; + $24 = +HEAPF32[$15 >> 2]; + if (!($22 < $24)) { + if ($24 < $22) break; + $27 = $23 + 4 | 0; + $28 = HEAP32[$27 >> 2] | 0; + $29 = HEAP32[$17 >> 2] | 0; + if ($28 >>> 0 < $29 >>> 0) { + $$pre$phi273Z2D = $27; + $31 = $29; + $32 = $28; + } else break; + } else { + $$phi$trans$insert = $23 + 4 | 0; + $$pre$phi273Z2D = $$phi$trans$insert; + $31 = HEAP32[$17 >> 2] | 0; + $32 = HEAP32[$$phi$trans$insert >> 2] | 0; + } + HEAPF32[$23 >> 2] = $24; + HEAPF32[$15 >> 2] = $22; + HEAP32[$$pre$phi273Z2D >> 2] = $31; + HEAP32[$17 >> 2] = $32; + } else if ((label | 0) == 10) { + HEAP32[$4 >> 2] = $20; + HEAP32[$5 >> 2] = $20 + 8; + HEAP32[$2 >> 2] = $15; + HEAP32[$6 >> 2] = $15; + HEAP32[$$byval_copy5 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy6 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$$byval_copy7 >> 2] = HEAP32[$6 >> 2]; + __ZNSt3__27__sort3IRNS_7greaterINS_4pairIfmEEEENS_11__wrap_iterIPS3_EEEEjT0_S9_S9_T_($$byval_copy5, $$byval_copy6, $$byval_copy7, $3) | 0; + } else if ((label | 0) == 12) { + HEAP32[$7 >> 2] = $20; + HEAP32[$8 >> 2] = $13; + HEAP32[$$byval_copy6 >> 2] = HEAP32[$7 >> 2]; + HEAP32[$$byval_copy7 >> 2] = HEAP32[$8 >> 2]; + __ZNSt3__216__selection_sortIRNS_7greaterINS_4pairIfmEEEENS_11__wrap_iterIPS3_EEEEvT0_S9_T_($$byval_copy6, $$byval_copy7, $3); + } while (0); + STACKTOP = sp; + return; +} + +function _decode_mcu_sub($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$017$i = 0, $$0196 = 0, $$0197304 = 0, $$0198 = 0, $$0199$lcssa = 0, $$0199303 = 0, $$0209 = 0, $$0210$lcssa = 0, $$0210302 = 0, $$0239288 = 0, $$11$ph = 0, $$11221$ph = 0, $$11255$ph = 0, $$12 = 0, $$1200 = 0, $$1211 = 0, $$12222 = 0, $$1240 = 0, $$13 = 0, $$13223 = 0, $$14 = 0, $$14224 = 0, $$15 = 0, $$15225 = 0, $$16226294 = 0, $$16295 = 0, $$17 = 0, $$17227 = 0, $$18 = 0, $$18228 = 0, $$20$ph = 0, $$20230$ph = 0, $$21 = 0, $$21231 = 0, $$22 = 0, $$2201 = 0, $$2212 = 0, $$22232 = 0, $$2241 = 0, $$2246$ph = 0, $$24 = 0, $$24234 = 0, $$3242293 = 0, $$3247 = 0, $$4203$ph = 0, $$4214$ph = 0, $$5204 = 0, $$5215 = 0, $$6205 = 0, $$6216 = 0, $$6250$ph = 0, $$7206290 = 0, $$7217289 = 0, $$8207 = 0, $$8218 = 0, $$9 = 0, $$9208 = 0, $$9219 = 0, $$in = 0, $$pn = 0, $100 = 0, $108 = 0, $110 = 0, $116 = 0, $117 = 0, $12 = 0, $121 = 0, $123 = 0, $129 = 0, $133 = 0, $134 = 0, $136 = 0, $142 = 0, $145 = 0, $146 = 0, $158 = 0, $16 = 0, $17 = 0, $170 = 0, $171 = 0, $175 = 0, $177 = 0, $183 = 0, $187 = 0, $188 = 0, $2 = 0, $202 = 0, $204 = 0, $205 = 0, $24 = 0, $3 = 0, $41 = 0, $43 = 0, $45 = 0, $46 = 0, $47 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $59 = 0, $6 = 0, $60 = 0, $62 = 0, $64 = 0, $68 = 0, $69 = 0, $73 = 0, $75 = 0, $81 = 0, $86 = 0, $88 = 0, $9 = 0, $90 = 0, $96 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $2 = sp + 20 | 0; + $3 = sp; + $5 = HEAP32[$0 + 468 >> 2] | 0; + $6 = $0 + 280 | 0; + if (HEAP32[$6 >> 2] | 0 ? ($9 = $5 + 44 | 0, (HEAP32[$9 >> 2] | 0) == 0) : 0) { + $12 = $5 + 16 | 0; + $16 = HEAP32[$0 + 464 >> 2] | 0; + $17 = $16 + 24 | 0; + HEAP32[$17 >> 2] = (HEAP32[$17 >> 2] | 0) + ((HEAP32[$12 >> 2] | 0) / 8 | 0); + HEAP32[$12 >> 2] = 0; + if (!(FUNCTION_TABLE_ii[HEAP32[$16 + 8 >> 2] & 127]($0) | 0)) { + $$9 = 0; + STACKTOP = sp; + return $$9 | 0; + } + $24 = $0 + 340 | 0; + if ((HEAP32[$24 >> 2] | 0) > 0) { + $$017$i = 0; + do { + HEAP32[$5 + 24 + ($$017$i << 2) >> 2] = 0; + $$017$i = $$017$i + 1 | 0; + } while (($$017$i | 0) < (HEAP32[$24 >> 2] | 0)); + } + HEAP32[$5 + 20 >> 2] = 0; + HEAP32[$9 >> 2] = HEAP32[$6 >> 2]; + if (!(HEAP32[$0 + 440 >> 2] | 0)) HEAP32[$5 + 40 >> 2] = 0; + } + if (!(HEAP32[$5 + 40 >> 2] | 0)) { + $41 = HEAP32[$0 + 432 >> 2] | 0; + $43 = HEAP32[$0 + 436 >> 2] | 0; + HEAP32[$2 + 16 >> 2] = $0; + $45 = $0 + 24 | 0; + $46 = HEAP32[$45 >> 2] | 0; + $47 = HEAP32[$46 >> 2] | 0; + HEAP32[$2 >> 2] = $47; + $49 = HEAP32[$46 + 4 >> 2] | 0; + $50 = $2 + 4 | 0; + HEAP32[$50 >> 2] = $49; + $51 = $5 + 12 | 0; + $52 = HEAP32[$51 >> 2] | 0; + $53 = $5 + 16 | 0; + $54 = HEAP32[$53 >> 2] | 0; + $55 = $5 + 20 | 0; + HEAP32[$3 >> 2] = HEAP32[$55 >> 2]; + HEAP32[$3 + 4 >> 2] = HEAP32[$55 + 4 >> 2]; + HEAP32[$3 + 8 >> 2] = HEAP32[$55 + 8 >> 2]; + HEAP32[$3 + 12 >> 2] = HEAP32[$55 + 12 >> 2]; + HEAP32[$3 + 16 >> 2] = HEAP32[$55 + 16 >> 2]; + $56 = $0 + 368 | 0; + do if ((HEAP32[$56 >> 2] | 0) > 0) { + $59 = $2 + 8 | 0; + $60 = $2 + 12 | 0; + $$0197304 = 0; + $$0199303 = $52; + $$0210302 = $54; + L18 : while (1) { + $62 = HEAP32[$1 + ($$0197304 << 2) >> 2] | 0; + $64 = HEAP32[$5 + 100 + ($$0197304 << 2) >> 2] | 0; + if (($$0210302 | 0) < 8) { + if (!(_jpeg_fill_bit_buffer($2, $$0199303, $$0210302, 0) | 0)) { + $$9 = 0; + label = 67; + break; + } + $68 = HEAP32[$59 >> 2] | 0; + $69 = HEAP32[$60 >> 2] | 0; + if (($69 | 0) < 8) { + $$0209 = 1; + $$2201 = $68; + $$2212 = $69; + label = 17; + } else { + $$1200 = $68; + $$1211 = $69; + label = 15; + } + } else { + $$1200 = $$0199303; + $$1211 = $$0210302; + label = 15; + } + if ((label | 0) == 15) { + label = 0; + $73 = $$1200 >> $$1211 + -8 & 255; + $75 = HEAP32[$64 + 144 + ($73 << 2) >> 2] | 0; + if (!$75) { + $$0209 = 9; + $$2201 = $$1200; + $$2212 = $$1211; + label = 17; + } else { + $$2246$ph = HEAPU8[$64 + 1168 + $73 >> 0] | 0; + $$4203$ph = $$1200; + $$4214$ph = $$1211 - $75 | 0; + } + } + if ((label | 0) == 17) { + label = 0; + $81 = _jpeg_huff_decode($2, $$2201, $$2212, $64, $$0209) | 0; + if (($81 | 0) < 0) { + $$9 = 0; + label = 67; + break; + } + $$2246$ph = $81; + $$4203$ph = HEAP32[$59 >> 2] | 0; + $$4214$ph = HEAP32[$60 >> 2] | 0; + } + $86 = HEAP32[$5 + 140 + ($$0197304 << 2) >> 2] | 0; + $88 = HEAP32[$5 + 180 + ($$0197304 << 2) >> 2] | 0; + $90 = ($$2246$ph | 0) != 0; + L30 : do if (!$88) if ($90) { + if (($$4214$ph | 0) < ($$2246$ph | 0)) { + if (!(_jpeg_fill_bit_buffer($2, $$4203$ph, $$4214$ph, $$2246$ph) | 0)) { + $$9 = 0; + label = 67; + break L18; + } + $$14 = HEAP32[$59 >> 2] | 0; + $$14224 = HEAP32[$60 >> 2] | 0; + } else { + $$14 = $$4203$ph; + $$14224 = $$4214$ph; + } + $$15 = $$14; + $$15225 = $$14224 - $$2246$ph | 0; + $$2241 = 1; + label = 47; + } else { + $$15 = $$4203$ph; + $$15225 = $$4214$ph; + $$2241 = 1; + label = 47; + } else { + if ($90) { + if (($$4214$ph | 0) < ($$2246$ph | 0)) { + if (!(_jpeg_fill_bit_buffer($2, $$4203$ph, $$4214$ph, $$2246$ph) | 0)) { + $$9 = 0; + label = 67; + break L18; + } + $$5204 = HEAP32[$59 >> 2] | 0; + $$5215 = HEAP32[$60 >> 2] | 0; + } else { + $$5204 = $$4203$ph; + $$5215 = $$4214$ph; + } + $96 = $$5215 - $$2246$ph | 0; + $99 = HEAP32[5184 + ($$2246$ph << 2) >> 2] | 0; + $100 = $$5204 >> $96 & $99; + $$3247 = $100 - (($100 | 0) > (HEAP32[5184 + ($$2246$ph + -1 << 2) >> 2] | 0) ? 0 : $99) | 0; + $$6205 = $$5204; + $$6216 = $96; + } else { + $$3247 = 0; + $$6205 = $$4203$ph; + $$6216 = $$4214$ph; + } + $108 = $3 + 4 + (HEAP32[$0 + 372 + ($$0197304 << 2) >> 2] << 2) | 0; + $110 = (HEAP32[$108 >> 2] | 0) + $$3247 | 0; + HEAP32[$108 >> 2] = $110; + HEAP16[$62 >> 1] = $110; + if (($88 | 0) > 1) { + $$0239288 = 1; + $$7206290 = $$6205; + $$7217289 = $$6216; + while (1) { + if (($$7217289 | 0) < 8) { + if (!(_jpeg_fill_bit_buffer($2, $$7206290, $$7217289, 0) | 0)) { + $$9 = 0; + label = 67; + break L18; + } + $116 = HEAP32[$59 >> 2] | 0; + $117 = HEAP32[$60 >> 2] | 0; + if (($117 | 0) < 8) { + $$0198 = 1; + $$9208 = $116; + $$9219 = $117; + label = 32; + } else { + $$8207 = $116; + $$8218 = $117; + label = 30; + } + } else { + $$8207 = $$7206290; + $$8218 = $$7217289; + label = 30; + } + if ((label | 0) == 30) { + label = 0; + $121 = $$8207 >> $$8218 + -8 & 255; + $123 = HEAP32[$86 + 144 + ($121 << 2) >> 2] | 0; + if (!$123) { + $$0198 = 9; + $$9208 = $$8207; + $$9219 = $$8218; + label = 32; + } else { + $$11$ph = $$8207; + $$11221$ph = $$8218 - $123 | 0; + $$6250$ph = HEAPU8[$86 + 1168 + $121 >> 0] | 0; + } + } + if ((label | 0) == 32) { + label = 0; + $129 = _jpeg_huff_decode($2, $$9208, $$9219, $86, $$0198) | 0; + if (($129 | 0) < 0) { + $$9 = 0; + label = 67; + break L18; + } + $$11$ph = HEAP32[$59 >> 2] | 0; + $$11221$ph = HEAP32[$60 >> 2] | 0; + $$6250$ph = $129; + } + $133 = $$6250$ph >>> 4; + $134 = $$6250$ph & 15; + if (!$134) { + if (($133 | 0) != 15) { + $$24 = $$11$ph; + $$24234 = $$11221$ph; + break L30; + } + $$1240 = $$0239288 + 15 | 0; + $$13 = $$11$ph; + $$13223 = $$11221$ph; + } else { + $136 = $133 + $$0239288 | 0; + if (($$11221$ph | 0) < ($134 | 0)) { + if (!(_jpeg_fill_bit_buffer($2, $$11$ph, $$11221$ph, $134) | 0)) { + $$9 = 0; + label = 67; + break L18; + } + $$12 = HEAP32[$59 >> 2] | 0; + $$12222 = HEAP32[$60 >> 2] | 0; + } else { + $$12 = $$11$ph; + $$12222 = $$11221$ph; + } + $142 = $$12222 - $134 | 0; + $145 = HEAP32[5184 + ($134 << 2) >> 2] | 0; + $146 = $$12 >> $142 & $145; + HEAP16[$62 + (HEAP32[$41 + ($136 << 2) >> 2] << 1) >> 1] = $146 - (($146 | 0) > (HEAP32[5184 + ($134 + -1 << 2) >> 2] | 0) ? 0 : $145); + $$1240 = $136; + $$13 = $$12; + $$13223 = $142; + } + $158 = $$1240 + 1 | 0; + if (($158 | 0) < ($88 | 0)) { + $$0239288 = $158; + $$7206290 = $$13; + $$7217289 = $$13223; + } else { + $$15 = $$13; + $$15225 = $$13223; + $$2241 = $158; + label = 47; + break; + } + } + } else { + $$15 = $$6205; + $$15225 = $$6216; + $$2241 = 1; + label = 47; + } + } while (0); + L67 : do if ((label | 0) == 47) { + label = 0; + if (($$2241 | 0) > ($43 | 0)) { + $$24 = $$15; + $$24234 = $$15225; + } else { + $$16226294 = $$15225; + $$16295 = $$15; + $$3242293 = $$2241; + while (1) { + if (($$16226294 | 0) < 8) { + if (!(_jpeg_fill_bit_buffer($2, $$16295, $$16226294, 0) | 0)) { + $$9 = 0; + label = 67; + break L18; + } + $170 = HEAP32[$59 >> 2] | 0; + $171 = HEAP32[$60 >> 2] | 0; + if (($171 | 0) < 8) { + $$0196 = 1; + $$18 = $170; + $$18228 = $171; + label = 54; + } else { + $$17 = $170; + $$17227 = $171; + label = 52; + } + } else { + $$17 = $$16295; + $$17227 = $$16226294; + label = 52; + } + if ((label | 0) == 52) { + label = 0; + $175 = $$17 >> $$17227 + -8 & 255; + $177 = HEAP32[$86 + 144 + ($175 << 2) >> 2] | 0; + if (!$177) { + $$0196 = 9; + $$18 = $$17; + $$18228 = $$17227; + label = 54; + } else { + $$11255$ph = HEAPU8[$86 + 1168 + $175 >> 0] | 0; + $$20$ph = $$17; + $$20230$ph = $$17227 - $177 | 0; + } + } + if ((label | 0) == 54) { + label = 0; + $183 = _jpeg_huff_decode($2, $$18, $$18228, $86, $$0196) | 0; + if (($183 | 0) < 0) { + $$9 = 0; + label = 67; + break L18; + } + $$11255$ph = $183; + $$20$ph = HEAP32[$59 >> 2] | 0; + $$20230$ph = HEAP32[$60 >> 2] | 0; + } + $187 = $$11255$ph >>> 4; + $188 = $$11255$ph & 15; + if (!$188) if (($187 | 0) == 15) { + $$22 = $$20$ph; + $$22232 = $$20230$ph; + $$pn = 15; + } else { + $$24 = $$20$ph; + $$24234 = $$20230$ph; + break L67; + } else { + if (($$20230$ph | 0) < ($188 | 0)) { + if (!(_jpeg_fill_bit_buffer($2, $$20$ph, $$20230$ph, $188) | 0)) { + $$9 = 0; + label = 67; + break L18; + } + $$21 = HEAP32[$59 >> 2] | 0; + $$21231 = HEAP32[$60 >> 2] | 0; + } else { + $$21 = $$20$ph; + $$21231 = $$20230$ph; + } + $$22 = $$21; + $$22232 = $$21231 - $188 | 0; + $$pn = $187; + } + $$3242293 = $$3242293 + 1 + $$pn | 0; + if (($$3242293 | 0) > ($43 | 0)) { + $$24 = $$22; + $$24234 = $$22232; + break; + } else { + $$16226294 = $$22232; + $$16295 = $$22; + } + } + } + } while (0); + $$0197304 = $$0197304 + 1 | 0; + if (($$0197304 | 0) >= (HEAP32[$56 >> 2] | 0)) { + label = 64; + break; + } else { + $$0199303 = $$24; + $$0210302 = $$24234; + } + } + if ((label | 0) == 64) { + $$0199$lcssa = $$24; + $$0210$lcssa = $$24234; + $$in = HEAP32[$45 >> 2] | 0; + $202 = HEAP32[$2 >> 2] | 0; + $204 = HEAP32[$50 >> 2] | 0; + break; + } else if ((label | 0) == 67) { + STACKTOP = sp; + return $$9 | 0; + } + } else { + $$0199$lcssa = $52; + $$0210$lcssa = $54; + $$in = $46; + $202 = $47; + $204 = $49; + } while (0); + HEAP32[$$in >> 2] = $202; + HEAP32[$$in + 4 >> 2] = $204; + HEAP32[$51 >> 2] = $$0199$lcssa; + HEAP32[$53 >> 2] = $$0210$lcssa; + HEAP32[$55 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$55 + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + HEAP32[$55 + 8 >> 2] = HEAP32[$3 + 8 >> 2]; + HEAP32[$55 + 12 >> 2] = HEAP32[$3 + 12 >> 2]; + HEAP32[$55 + 16 >> 2] = HEAP32[$3 + 16 >> 2]; + } + $205 = $5 + 44 | 0; + HEAP32[$205 >> 2] = (HEAP32[$205 >> 2] | 0) + -1; + $$9 = 1; + STACKTOP = sp; + return $$9 | 0; +} + +function _decode_mcu_66($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$017$i = 0, $$0188 = 0, $$0189296 = 0, $$0190 = 0, $$0191$lcssa = 0, $$0191295 = 0, $$0201 = 0, $$0202$lcssa = 0, $$0202294 = 0, $$0231280 = 0, $$11$ph = 0, $$11213$ph = 0, $$11247$ph = 0, $$1192 = 0, $$12 = 0, $$1203 = 0, $$12214 = 0, $$1232 = 0, $$13 = 0, $$13215 = 0, $$14 = 0, $$14216 = 0, $$16218286 = 0, $$16218286$ph = 0, $$16287 = 0, $$16287$ph = 0, $$17 = 0, $$17219 = 0, $$18 = 0, $$18220 = 0, $$20$ph = 0, $$20222$ph = 0, $$21 = 0, $$21223 = 0, $$2193 = 0, $$22 = 0, $$2204 = 0, $$22224 = 0, $$2238$ph = 0, $$24 = 0, $$24226 = 0, $$3234285 = 0, $$3234285$ph = 0, $$3239 = 0, $$4195$ph = 0, $$4206$ph = 0, $$5196 = 0, $$5207 = 0, $$6197 = 0, $$6208 = 0, $$6242$ph = 0, $$7198282 = 0, $$7209281 = 0, $$8199 = 0, $$8210 = 0, $$9 = 0, $$9200 = 0, $$9211 = 0, $$in = 0, $$pn = 0, $104 = 0, $106 = 0, $112 = 0, $113 = 0, $117 = 0, $119 = 0, $12 = 0, $125 = 0, $129 = 0, $130 = 0, $132 = 0, $138 = 0, $141 = 0, $142 = 0, $16 = 0, $166 = 0, $167 = 0, $17 = 0, $171 = 0, $173 = 0, $179 = 0, $183 = 0, $184 = 0, $198 = 0, $2 = 0, $200 = 0, $201 = 0, $24 = 0, $3 = 0, $41 = 0, $42 = 0, $43 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $55 = 0, $56 = 0, $58 = 0, $6 = 0, $60 = 0, $64 = 0, $65 = 0, $69 = 0, $71 = 0, $77 = 0, $82 = 0, $84 = 0, $86 = 0, $9 = 0, $92 = 0, $95 = 0, $96 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $2 = sp + 20 | 0; + $3 = sp; + $5 = HEAP32[$0 + 468 >> 2] | 0; + $6 = $0 + 280 | 0; + if (HEAP32[$6 >> 2] | 0 ? ($9 = $5 + 44 | 0, (HEAP32[$9 >> 2] | 0) == 0) : 0) { + $12 = $5 + 16 | 0; + $16 = HEAP32[$0 + 464 >> 2] | 0; + $17 = $16 + 24 | 0; + HEAP32[$17 >> 2] = (HEAP32[$17 >> 2] | 0) + ((HEAP32[$12 >> 2] | 0) / 8 | 0); + HEAP32[$12 >> 2] = 0; + if (!(FUNCTION_TABLE_ii[HEAP32[$16 + 8 >> 2] & 127]($0) | 0)) { + $$9 = 0; + STACKTOP = sp; + return $$9 | 0; + } + $24 = $0 + 340 | 0; + if ((HEAP32[$24 >> 2] | 0) > 0) { + $$017$i = 0; + do { + HEAP32[$5 + 24 + ($$017$i << 2) >> 2] = 0; + $$017$i = $$017$i + 1 | 0; + } while (($$017$i | 0) < (HEAP32[$24 >> 2] | 0)); + } + HEAP32[$5 + 20 >> 2] = 0; + HEAP32[$9 >> 2] = HEAP32[$6 >> 2]; + if (!(HEAP32[$0 + 440 >> 2] | 0)) HEAP32[$5 + 40 >> 2] = 0; + } + if (!(HEAP32[$5 + 40 >> 2] | 0)) { + HEAP32[$2 + 16 >> 2] = $0; + $41 = $0 + 24 | 0; + $42 = HEAP32[$41 >> 2] | 0; + $43 = HEAP32[$42 >> 2] | 0; + HEAP32[$2 >> 2] = $43; + $45 = HEAP32[$42 + 4 >> 2] | 0; + $46 = $2 + 4 | 0; + HEAP32[$46 >> 2] = $45; + $47 = $5 + 12 | 0; + $48 = HEAP32[$47 >> 2] | 0; + $49 = $5 + 16 | 0; + $50 = HEAP32[$49 >> 2] | 0; + $51 = $5 + 20 | 0; + HEAP32[$3 >> 2] = HEAP32[$51 >> 2]; + HEAP32[$3 + 4 >> 2] = HEAP32[$51 + 4 >> 2]; + HEAP32[$3 + 8 >> 2] = HEAP32[$51 + 8 >> 2]; + HEAP32[$3 + 12 >> 2] = HEAP32[$51 + 12 >> 2]; + HEAP32[$3 + 16 >> 2] = HEAP32[$51 + 16 >> 2]; + $52 = $0 + 368 | 0; + do if ((HEAP32[$52 >> 2] | 0) > 0) { + $55 = $2 + 8 | 0; + $56 = $2 + 12 | 0; + $$0189296 = 0; + $$0191295 = $48; + $$0202294 = $50; + L18 : while (1) { + $58 = HEAP32[$1 + ($$0189296 << 2) >> 2] | 0; + $60 = HEAP32[$5 + 100 + ($$0189296 << 2) >> 2] | 0; + if (($$0202294 | 0) < 8) { + if (!(_jpeg_fill_bit_buffer($2, $$0191295, $$0202294, 0) | 0)) { + $$9 = 0; + label = 67; + break; + } + $64 = HEAP32[$55 >> 2] | 0; + $65 = HEAP32[$56 >> 2] | 0; + if (($65 | 0) < 8) { + $$0201 = 1; + $$2193 = $64; + $$2204 = $65; + label = 17; + } else { + $$1192 = $64; + $$1203 = $65; + label = 15; + } + } else { + $$1192 = $$0191295; + $$1203 = $$0202294; + label = 15; + } + if ((label | 0) == 15) { + label = 0; + $69 = $$1192 >> $$1203 + -8 & 255; + $71 = HEAP32[$60 + 144 + ($69 << 2) >> 2] | 0; + if (!$71) { + $$0201 = 9; + $$2193 = $$1192; + $$2204 = $$1203; + label = 17; + } else { + $$2238$ph = HEAPU8[$60 + 1168 + $69 >> 0] | 0; + $$4195$ph = $$1192; + $$4206$ph = $$1203 - $71 | 0; + } + } + if ((label | 0) == 17) { + label = 0; + $77 = _jpeg_huff_decode($2, $$2193, $$2204, $60, $$0201) | 0; + if (($77 | 0) < 0) { + $$9 = 0; + label = 67; + break; + } + $$2238$ph = $77; + $$4195$ph = HEAP32[$55 >> 2] | 0; + $$4206$ph = HEAP32[$56 >> 2] | 0; + } + $82 = HEAP32[$5 + 140 + ($$0189296 << 2) >> 2] | 0; + $84 = HEAP32[$5 + 180 + ($$0189296 << 2) >> 2] | 0; + $86 = ($$2238$ph | 0) != 0; + L30 : do if (!$84) if ($86) { + if (($$4206$ph | 0) < ($$2238$ph | 0)) { + if (!(_jpeg_fill_bit_buffer($2, $$4195$ph, $$4206$ph, $$2238$ph) | 0)) { + $$9 = 0; + label = 67; + break L18; + } + $$14 = HEAP32[$55 >> 2] | 0; + $$14216 = HEAP32[$56 >> 2] | 0; + } else { + $$14 = $$4195$ph; + $$14216 = $$4206$ph; + } + $$16218286$ph = $$14216 - $$2238$ph | 0; + $$16287$ph = $$14; + $$3234285$ph = 1; + label = 48; + } else { + $$16218286$ph = $$4206$ph; + $$16287$ph = $$4195$ph; + $$3234285$ph = 1; + label = 48; + } else { + if ($86) { + if (($$4206$ph | 0) < ($$2238$ph | 0)) { + if (!(_jpeg_fill_bit_buffer($2, $$4195$ph, $$4206$ph, $$2238$ph) | 0)) { + $$9 = 0; + label = 67; + break L18; + } + $$5196 = HEAP32[$55 >> 2] | 0; + $$5207 = HEAP32[$56 >> 2] | 0; + } else { + $$5196 = $$4195$ph; + $$5207 = $$4206$ph; + } + $92 = $$5207 - $$2238$ph | 0; + $95 = HEAP32[5184 + ($$2238$ph << 2) >> 2] | 0; + $96 = $$5196 >> $92 & $95; + $$3239 = $96 - (($96 | 0) > (HEAP32[5184 + ($$2238$ph + -1 << 2) >> 2] | 0) ? 0 : $95) | 0; + $$6197 = $$5196; + $$6208 = $92; + } else { + $$3239 = 0; + $$6197 = $$4195$ph; + $$6208 = $$4206$ph; + } + $104 = $3 + 4 + (HEAP32[$0 + 372 + ($$0189296 << 2) >> 2] << 2) | 0; + $106 = (HEAP32[$104 >> 2] | 0) + $$3239 | 0; + HEAP32[$104 >> 2] = $106; + HEAP16[$58 >> 1] = $106; + if (($84 | 0) > 1) { + $$0231280 = 1; + $$7198282 = $$6197; + $$7209281 = $$6208; + while (1) { + if (($$7209281 | 0) < 8) { + if (!(_jpeg_fill_bit_buffer($2, $$7198282, $$7209281, 0) | 0)) { + $$9 = 0; + label = 67; + break L18; + } + $112 = HEAP32[$55 >> 2] | 0; + $113 = HEAP32[$56 >> 2] | 0; + if (($113 | 0) < 8) { + $$0190 = 1; + $$9200 = $112; + $$9211 = $113; + label = 32; + } else { + $$8199 = $112; + $$8210 = $113; + label = 30; + } + } else { + $$8199 = $$7198282; + $$8210 = $$7209281; + label = 30; + } + if ((label | 0) == 30) { + label = 0; + $117 = $$8199 >> $$8210 + -8 & 255; + $119 = HEAP32[$82 + 144 + ($117 << 2) >> 2] | 0; + if (!$119) { + $$0190 = 9; + $$9200 = $$8199; + $$9211 = $$8210; + label = 32; + } else { + $$11$ph = $$8199; + $$11213$ph = $$8210 - $119 | 0; + $$6242$ph = HEAPU8[$82 + 1168 + $117 >> 0] | 0; + } + } + if ((label | 0) == 32) { + label = 0; + $125 = _jpeg_huff_decode($2, $$9200, $$9211, $82, $$0190) | 0; + if (($125 | 0) < 0) { + $$9 = 0; + label = 67; + break L18; + } + $$11$ph = HEAP32[$55 >> 2] | 0; + $$11213$ph = HEAP32[$56 >> 2] | 0; + $$6242$ph = $125; + } + $129 = $$6242$ph >>> 4; + $130 = $$6242$ph & 15; + if (!$130) { + if (($129 | 0) != 15) { + $$24 = $$11$ph; + $$24226 = $$11213$ph; + break L30; + } + $$1232 = $$0231280 + 15 | 0; + $$13 = $$11$ph; + $$13215 = $$11213$ph; + } else { + $132 = $129 + $$0231280 | 0; + if (($$11213$ph | 0) < ($130 | 0)) { + if (!(_jpeg_fill_bit_buffer($2, $$11$ph, $$11213$ph, $130) | 0)) { + $$9 = 0; + label = 67; + break L18; + } + $$12 = HEAP32[$55 >> 2] | 0; + $$12214 = HEAP32[$56 >> 2] | 0; + } else { + $$12 = $$11$ph; + $$12214 = $$11213$ph; + } + $138 = $$12214 - $130 | 0; + $141 = HEAP32[5184 + ($130 << 2) >> 2] | 0; + $142 = $$12 >> $138 & $141; + HEAP16[$58 + (HEAP32[2576 + ($132 << 2) >> 2] << 1) >> 1] = $142 - (($142 | 0) > (HEAP32[5184 + ($130 + -1 << 2) >> 2] | 0) ? 0 : $141); + $$1232 = $132; + $$13 = $$12; + $$13215 = $138; + } + $$0231280 = $$1232 + 1 | 0; + if (($$0231280 | 0) >= ($84 | 0)) break; else { + $$7198282 = $$13; + $$7209281 = $$13215; + } + } + if (($$1232 | 0) < 63) { + $$16218286$ph = $$13215; + $$16287$ph = $$13; + $$3234285$ph = $$0231280; + label = 48; + } else { + $$24 = $$13; + $$24226 = $$13215; + } + } else { + $$16218286$ph = $$6208; + $$16287$ph = $$6197; + $$3234285$ph = 1; + label = 48; + } + } while (0); + L68 : do if ((label | 0) == 48) { + label = 0; + $$16218286 = $$16218286$ph; + $$16287 = $$16287$ph; + $$3234285 = $$3234285$ph; + while (1) { + if (($$16218286 | 0) < 8) { + if (!(_jpeg_fill_bit_buffer($2, $$16287, $$16218286, 0) | 0)) { + $$9 = 0; + label = 67; + break L18; + } + $166 = HEAP32[$55 >> 2] | 0; + $167 = HEAP32[$56 >> 2] | 0; + if (($167 | 0) < 8) { + $$0188 = 1; + $$18 = $166; + $$18220 = $167; + label = 54; + } else { + $$17 = $166; + $$17219 = $167; + label = 52; + } + } else { + $$17 = $$16287; + $$17219 = $$16218286; + label = 52; + } + if ((label | 0) == 52) { + label = 0; + $171 = $$17 >> $$17219 + -8 & 255; + $173 = HEAP32[$82 + 144 + ($171 << 2) >> 2] | 0; + if (!$173) { + $$0188 = 9; + $$18 = $$17; + $$18220 = $$17219; + label = 54; + } else { + $$11247$ph = HEAPU8[$82 + 1168 + $171 >> 0] | 0; + $$20$ph = $$17; + $$20222$ph = $$17219 - $173 | 0; + } + } + if ((label | 0) == 54) { + label = 0; + $179 = _jpeg_huff_decode($2, $$18, $$18220, $82, $$0188) | 0; + if (($179 | 0) < 0) { + $$9 = 0; + label = 67; + break L18; + } + $$11247$ph = $179; + $$20$ph = HEAP32[$55 >> 2] | 0; + $$20222$ph = HEAP32[$56 >> 2] | 0; + } + $183 = $$11247$ph >>> 4; + $184 = $$11247$ph & 15; + if (!$184) if (($183 | 0) == 15) { + $$22 = $$20$ph; + $$22224 = $$20222$ph; + $$pn = 15; + } else { + $$24 = $$20$ph; + $$24226 = $$20222$ph; + break L68; + } else { + if (($$20222$ph | 0) < ($184 | 0)) { + if (!(_jpeg_fill_bit_buffer($2, $$20$ph, $$20222$ph, $184) | 0)) { + $$9 = 0; + label = 67; + break L18; + } + $$21 = HEAP32[$55 >> 2] | 0; + $$21223 = HEAP32[$56 >> 2] | 0; + } else { + $$21 = $$20$ph; + $$21223 = $$20222$ph; + } + $$22 = $$21; + $$22224 = $$21223 - $184 | 0; + $$pn = $183; + } + $$3234285 = $$3234285 + 1 + $$pn | 0; + if (($$3234285 | 0) >= 64) { + $$24 = $$22; + $$24226 = $$22224; + break; + } else { + $$16218286 = $$22224; + $$16287 = $$22; + } + } + } while (0); + $$0189296 = $$0189296 + 1 | 0; + if (($$0189296 | 0) >= (HEAP32[$52 >> 2] | 0)) { + label = 64; + break; + } else { + $$0191295 = $$24; + $$0202294 = $$24226; + } + } + if ((label | 0) == 64) { + $$0191$lcssa = $$24; + $$0202$lcssa = $$24226; + $$in = HEAP32[$41 >> 2] | 0; + $198 = HEAP32[$2 >> 2] | 0; + $200 = HEAP32[$46 >> 2] | 0; + break; + } else if ((label | 0) == 67) { + STACKTOP = sp; + return $$9 | 0; + } + } else { + $$0191$lcssa = $48; + $$0202$lcssa = $50; + $$in = $42; + $198 = $43; + $200 = $45; + } while (0); + HEAP32[$$in >> 2] = $198; + HEAP32[$$in + 4 >> 2] = $200; + HEAP32[$47 >> 2] = $$0191$lcssa; + HEAP32[$49 >> 2] = $$0202$lcssa; + HEAP32[$51 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$51 + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + HEAP32[$51 + 8 >> 2] = HEAP32[$3 + 8 >> 2]; + HEAP32[$51 + 12 >> 2] = HEAP32[$3 + 12 >> 2]; + HEAP32[$51 + 16 >> 2] = HEAP32[$3 + 16 >> 2]; + } + $201 = $5 + 44 | 0; + HEAP32[$201 >> 2] = (HEAP32[$201 >> 2] | 0) + -1; + $$9 = 1; + STACKTOP = sp; + return $$9 | 0; +} + +function _free($0) { + $0 = $0 | 0; + var $$0211$i = 0, $$0211$in$i = 0, $$0381438 = 0, $$0382$lcssa = 0, $$0382437 = 0, $$0394 = 0, $$0401 = 0, $$1 = 0, $$1380 = 0, $$1385 = 0, $$1385$be = 0, $$1385$ph = 0, $$1388 = 0, $$1388$be = 0, $$1388$ph = 0, $$1396 = 0, $$1396$be = 0, $$1396$ph = 0, $$1400 = 0, $$1400$be = 0, $$1400$ph = 0, $$2 = 0, $$3 = 0, $$3398 = 0, $$pre$phi444Z2D = 0, $$pre$phi446Z2D = 0, $$pre$phiZ2D = 0, $10 = 0, $105 = 0, $106 = 0, $114 = 0, $115 = 0, $116 = 0, $124 = 0, $13 = 0, $132 = 0, $137 = 0, $138 = 0, $141 = 0, $143 = 0, $145 = 0, $16 = 0, $160 = 0, $165 = 0, $167 = 0, $17 = 0, $170 = 0, $173 = 0, $176 = 0, $179 = 0, $180 = 0, $181 = 0, $183 = 0, $185 = 0, $186 = 0, $188 = 0, $189 = 0, $195 = 0, $196 = 0, $2 = 0, $205 = 0, $21 = 0, $210 = 0, $213 = 0, $214 = 0, $220 = 0, $235 = 0, $238 = 0, $239 = 0, $24 = 0, $240 = 0, $244 = 0, $245 = 0, $251 = 0, $256 = 0, $257 = 0, $26 = 0, $260 = 0, $262 = 0, $265 = 0, $270 = 0, $276 = 0, $28 = 0, $280 = 0, $281 = 0, $288 = 0, $3 = 0, $300 = 0, $305 = 0, $312 = 0, $313 = 0, $314 = 0, $323 = 0, $41 = 0, $46 = 0, $48 = 0, $51 = 0, $53 = 0, $56 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $63 = 0, $65 = 0, $66 = 0, $68 = 0, $69 = 0, $7 = 0, $74 = 0, $75 = 0, $84 = 0, $89 = 0, $9 = 0, $92 = 0, $93 = 0, $99 = 0; + if (!$0) return; + $2 = $0 + -8 | 0; + $3 = HEAP32[16739] | 0; + if ($2 >>> 0 < $3 >>> 0) _abort(); + $6 = HEAP32[$0 + -4 >> 2] | 0; + $7 = $6 & 3; + if (($7 | 0) == 1) _abort(); + $9 = $6 & -8; + $10 = $2 + $9 | 0; + L10 : do if (!($6 & 1)) { + $13 = HEAP32[$2 >> 2] | 0; + if (!$7) return; + $16 = $2 + (0 - $13) | 0; + $17 = $13 + $9 | 0; + if ($16 >>> 0 < $3 >>> 0) _abort(); + if ((HEAP32[16740] | 0) == ($16 | 0)) { + $105 = $10 + 4 | 0; + $106 = HEAP32[$105 >> 2] | 0; + if (($106 & 3 | 0) != 3) { + $$1 = $16; + $$1380 = $17; + $114 = $16; + break; + } + HEAP32[16737] = $17; + HEAP32[$105 >> 2] = $106 & -2; + HEAP32[$16 + 4 >> 2] = $17 | 1; + HEAP32[$16 + $17 >> 2] = $17; + return; + } + $21 = $13 >>> 3; + if ($13 >>> 0 < 256) { + $24 = HEAP32[$16 + 8 >> 2] | 0; + $26 = HEAP32[$16 + 12 >> 2] | 0; + $28 = 66980 + ($21 << 1 << 2) | 0; + if (($24 | 0) != ($28 | 0)) { + if ($3 >>> 0 > $24 >>> 0) _abort(); + if ((HEAP32[$24 + 12 >> 2] | 0) != ($16 | 0)) _abort(); + } + if (($26 | 0) == ($24 | 0)) { + HEAP32[16735] = HEAP32[16735] & ~(1 << $21); + $$1 = $16; + $$1380 = $17; + $114 = $16; + break; + } + if (($26 | 0) != ($28 | 0)) { + if ($3 >>> 0 > $26 >>> 0) _abort(); + $41 = $26 + 8 | 0; + if ((HEAP32[$41 >> 2] | 0) == ($16 | 0)) $$pre$phi446Z2D = $41; else _abort(); + } else $$pre$phi446Z2D = $26 + 8 | 0; + HEAP32[$24 + 12 >> 2] = $26; + HEAP32[$$pre$phi446Z2D >> 2] = $24; + $$1 = $16; + $$1380 = $17; + $114 = $16; + break; + } + $46 = HEAP32[$16 + 24 >> 2] | 0; + $48 = HEAP32[$16 + 12 >> 2] | 0; + do if (($48 | 0) == ($16 | 0)) { + $59 = $16 + 16 | 0; + $60 = $59 + 4 | 0; + $61 = HEAP32[$60 >> 2] | 0; + if (!$61) { + $63 = HEAP32[$59 >> 2] | 0; + if (!$63) { + $$3 = 0; + break; + } else { + $$1385$ph = $63; + $$1388$ph = $59; + } + } else { + $$1385$ph = $61; + $$1388$ph = $60; + } + $$1385 = $$1385$ph; + $$1388 = $$1388$ph; + while (1) { + $65 = $$1385 + 20 | 0; + $66 = HEAP32[$65 >> 2] | 0; + if (!$66) { + $68 = $$1385 + 16 | 0; + $69 = HEAP32[$68 >> 2] | 0; + if (!$69) break; else { + $$1385$be = $69; + $$1388$be = $68; + } + } else { + $$1385$be = $66; + $$1388$be = $65; + } + $$1385 = $$1385$be; + $$1388 = $$1388$be; + } + if ($3 >>> 0 > $$1388 >>> 0) _abort(); else { + HEAP32[$$1388 >> 2] = 0; + $$3 = $$1385; + break; + } + } else { + $51 = HEAP32[$16 + 8 >> 2] | 0; + if ($3 >>> 0 > $51 >>> 0) _abort(); + $53 = $51 + 12 | 0; + if ((HEAP32[$53 >> 2] | 0) != ($16 | 0)) _abort(); + $56 = $48 + 8 | 0; + if ((HEAP32[$56 >> 2] | 0) == ($16 | 0)) { + HEAP32[$53 >> 2] = $48; + HEAP32[$56 >> 2] = $51; + $$3 = $48; + break; + } else _abort(); + } while (0); + if ($46) { + $74 = HEAP32[$16 + 28 >> 2] | 0; + $75 = 67244 + ($74 << 2) | 0; + do if ((HEAP32[$75 >> 2] | 0) == ($16 | 0)) { + HEAP32[$75 >> 2] = $$3; + if (!$$3) { + HEAP32[16736] = HEAP32[16736] & ~(1 << $74); + $$1 = $16; + $$1380 = $17; + $114 = $16; + break L10; + } + } else if ((HEAP32[16739] | 0) >>> 0 <= $46 >>> 0) { + $84 = $46 + 16 | 0; + HEAP32[((HEAP32[$84 >> 2] | 0) == ($16 | 0) ? $84 : $46 + 20 | 0) >> 2] = $$3; + if (!$$3) { + $$1 = $16; + $$1380 = $17; + $114 = $16; + break L10; + } else break; + } else _abort(); while (0); + $89 = HEAP32[16739] | 0; + if ($89 >>> 0 > $$3 >>> 0) _abort(); + HEAP32[$$3 + 24 >> 2] = $46; + $92 = $16 + 16 | 0; + $93 = HEAP32[$92 >> 2] | 0; + do if ($93 | 0) if ($89 >>> 0 > $93 >>> 0) _abort(); else { + HEAP32[$$3 + 16 >> 2] = $93; + HEAP32[$93 + 24 >> 2] = $$3; + break; + } while (0); + $99 = HEAP32[$92 + 4 >> 2] | 0; + if ($99) if ((HEAP32[16739] | 0) >>> 0 > $99 >>> 0) _abort(); else { + HEAP32[$$3 + 20 >> 2] = $99; + HEAP32[$99 + 24 >> 2] = $$3; + $$1 = $16; + $$1380 = $17; + $114 = $16; + break; + } else { + $$1 = $16; + $$1380 = $17; + $114 = $16; + } + } else { + $$1 = $16; + $$1380 = $17; + $114 = $16; + } + } else { + $$1 = $2; + $$1380 = $9; + $114 = $2; + } while (0); + if ($114 >>> 0 >= $10 >>> 0) _abort(); + $115 = $10 + 4 | 0; + $116 = HEAP32[$115 >> 2] | 0; + if (!($116 & 1)) _abort(); + if (!($116 & 2)) { + if ((HEAP32[16741] | 0) == ($10 | 0)) { + $124 = (HEAP32[16738] | 0) + $$1380 | 0; + HEAP32[16738] = $124; + HEAP32[16741] = $$1; + HEAP32[$$1 + 4 >> 2] = $124 | 1; + if (($$1 | 0) != (HEAP32[16740] | 0)) return; + HEAP32[16740] = 0; + HEAP32[16737] = 0; + return; + } + if ((HEAP32[16740] | 0) == ($10 | 0)) { + $132 = (HEAP32[16737] | 0) + $$1380 | 0; + HEAP32[16737] = $132; + HEAP32[16740] = $114; + HEAP32[$$1 + 4 >> 2] = $132 | 1; + HEAP32[$114 + $132 >> 2] = $132; + return; + } + $137 = ($116 & -8) + $$1380 | 0; + $138 = $116 >>> 3; + L111 : do if ($116 >>> 0 >= 256) { + $165 = HEAP32[$10 + 24 >> 2] | 0; + $167 = HEAP32[$10 + 12 >> 2] | 0; + do if (($167 | 0) == ($10 | 0)) { + $179 = $10 + 16 | 0; + $180 = $179 + 4 | 0; + $181 = HEAP32[$180 >> 2] | 0; + if (!$181) { + $183 = HEAP32[$179 >> 2] | 0; + if (!$183) { + $$3398 = 0; + break; + } else { + $$1396$ph = $183; + $$1400$ph = $179; + } + } else { + $$1396$ph = $181; + $$1400$ph = $180; + } + $$1396 = $$1396$ph; + $$1400 = $$1400$ph; + while (1) { + $185 = $$1396 + 20 | 0; + $186 = HEAP32[$185 >> 2] | 0; + if (!$186) { + $188 = $$1396 + 16 | 0; + $189 = HEAP32[$188 >> 2] | 0; + if (!$189) break; else { + $$1396$be = $189; + $$1400$be = $188; + } + } else { + $$1396$be = $186; + $$1400$be = $185; + } + $$1396 = $$1396$be; + $$1400 = $$1400$be; + } + if ((HEAP32[16739] | 0) >>> 0 > $$1400 >>> 0) _abort(); else { + HEAP32[$$1400 >> 2] = 0; + $$3398 = $$1396; + break; + } + } else { + $170 = HEAP32[$10 + 8 >> 2] | 0; + if ((HEAP32[16739] | 0) >>> 0 > $170 >>> 0) _abort(); + $173 = $170 + 12 | 0; + if ((HEAP32[$173 >> 2] | 0) != ($10 | 0)) _abort(); + $176 = $167 + 8 | 0; + if ((HEAP32[$176 >> 2] | 0) == ($10 | 0)) { + HEAP32[$173 >> 2] = $167; + HEAP32[$176 >> 2] = $170; + $$3398 = $167; + break; + } else _abort(); + } while (0); + if ($165 | 0) { + $195 = HEAP32[$10 + 28 >> 2] | 0; + $196 = 67244 + ($195 << 2) | 0; + do if ((HEAP32[$196 >> 2] | 0) == ($10 | 0)) { + HEAP32[$196 >> 2] = $$3398; + if (!$$3398) { + HEAP32[16736] = HEAP32[16736] & ~(1 << $195); + break L111; + } + } else if ((HEAP32[16739] | 0) >>> 0 <= $165 >>> 0) { + $205 = $165 + 16 | 0; + HEAP32[((HEAP32[$205 >> 2] | 0) == ($10 | 0) ? $205 : $165 + 20 | 0) >> 2] = $$3398; + if (!$$3398) break L111; else break; + } else _abort(); while (0); + $210 = HEAP32[16739] | 0; + if ($210 >>> 0 > $$3398 >>> 0) _abort(); + HEAP32[$$3398 + 24 >> 2] = $165; + $213 = $10 + 16 | 0; + $214 = HEAP32[$213 >> 2] | 0; + do if ($214 | 0) if ($210 >>> 0 > $214 >>> 0) _abort(); else { + HEAP32[$$3398 + 16 >> 2] = $214; + HEAP32[$214 + 24 >> 2] = $$3398; + break; + } while (0); + $220 = HEAP32[$213 + 4 >> 2] | 0; + if ($220 | 0) if ((HEAP32[16739] | 0) >>> 0 > $220 >>> 0) _abort(); else { + HEAP32[$$3398 + 20 >> 2] = $220; + HEAP32[$220 + 24 >> 2] = $$3398; + break; + } + } + } else { + $141 = HEAP32[$10 + 8 >> 2] | 0; + $143 = HEAP32[$10 + 12 >> 2] | 0; + $145 = 66980 + ($138 << 1 << 2) | 0; + if (($141 | 0) != ($145 | 0)) { + if ((HEAP32[16739] | 0) >>> 0 > $141 >>> 0) _abort(); + if ((HEAP32[$141 + 12 >> 2] | 0) != ($10 | 0)) _abort(); + } + if (($143 | 0) == ($141 | 0)) { + HEAP32[16735] = HEAP32[16735] & ~(1 << $138); + break; + } + if (($143 | 0) != ($145 | 0)) { + if ((HEAP32[16739] | 0) >>> 0 > $143 >>> 0) _abort(); + $160 = $143 + 8 | 0; + if ((HEAP32[$160 >> 2] | 0) == ($10 | 0)) $$pre$phi444Z2D = $160; else _abort(); + } else $$pre$phi444Z2D = $143 + 8 | 0; + HEAP32[$141 + 12 >> 2] = $143; + HEAP32[$$pre$phi444Z2D >> 2] = $141; + } while (0); + HEAP32[$$1 + 4 >> 2] = $137 | 1; + HEAP32[$114 + $137 >> 2] = $137; + if (($$1 | 0) == (HEAP32[16740] | 0)) { + HEAP32[16737] = $137; + return; + } else $$2 = $137; + } else { + HEAP32[$115 >> 2] = $116 & -2; + HEAP32[$$1 + 4 >> 2] = $$1380 | 1; + HEAP32[$114 + $$1380 >> 2] = $$1380; + $$2 = $$1380; + } + $235 = $$2 >>> 3; + if ($$2 >>> 0 < 256) { + $238 = 66980 + ($235 << 1 << 2) | 0; + $239 = HEAP32[16735] | 0; + $240 = 1 << $235; + if ($239 & $240) { + $244 = $238 + 8 | 0; + $245 = HEAP32[$244 >> 2] | 0; + if ((HEAP32[16739] | 0) >>> 0 > $245 >>> 0) _abort(); else { + $$0401 = $245; + $$pre$phiZ2D = $244; + } + } else { + HEAP32[16735] = $239 | $240; + $$0401 = $238; + $$pre$phiZ2D = $238 + 8 | 0; + } + HEAP32[$$pre$phiZ2D >> 2] = $$1; + HEAP32[$$0401 + 12 >> 2] = $$1; + HEAP32[$$1 + 8 >> 2] = $$0401; + HEAP32[$$1 + 12 >> 2] = $238; + return; + } + $251 = $$2 >>> 8; + if ($251) if ($$2 >>> 0 > 16777215) $$0394 = 31; else { + $256 = ($251 + 1048320 | 0) >>> 16 & 8; + $257 = $251 << $256; + $260 = ($257 + 520192 | 0) >>> 16 & 4; + $262 = $257 << $260; + $265 = ($262 + 245760 | 0) >>> 16 & 2; + $270 = 14 - ($260 | $256 | $265) + ($262 << $265 >>> 15) | 0; + $$0394 = $$2 >>> ($270 + 7 | 0) & 1 | $270 << 1; + } else $$0394 = 0; + $276 = 67244 + ($$0394 << 2) | 0; + HEAP32[$$1 + 28 >> 2] = $$0394; + HEAP32[$$1 + 20 >> 2] = 0; + HEAP32[$$1 + 16 >> 2] = 0; + $280 = HEAP32[16736] | 0; + $281 = 1 << $$0394; + L197 : do if ($280 & $281) { + $288 = HEAP32[$276 >> 2] | 0; + L200 : do if ((HEAP32[$288 + 4 >> 2] & -8 | 0) != ($$2 | 0)) { + $$0381438 = $$2 << (($$0394 | 0) == 31 ? 0 : 25 - ($$0394 >>> 1) | 0); + $$0382437 = $288; + while (1) { + $305 = $$0382437 + 16 + ($$0381438 >>> 31 << 2) | 0; + $300 = HEAP32[$305 >> 2] | 0; + if (!$300) break; + if ((HEAP32[$300 + 4 >> 2] & -8 | 0) == ($$2 | 0)) { + $$0382$lcssa = $300; + break L200; + } else { + $$0381438 = $$0381438 << 1; + $$0382437 = $300; + } + } + if ((HEAP32[16739] | 0) >>> 0 > $305 >>> 0) _abort(); else { + HEAP32[$305 >> 2] = $$1; + HEAP32[$$1 + 24 >> 2] = $$0382437; + HEAP32[$$1 + 12 >> 2] = $$1; + HEAP32[$$1 + 8 >> 2] = $$1; + break L197; + } + } else $$0382$lcssa = $288; while (0); + $312 = $$0382$lcssa + 8 | 0; + $313 = HEAP32[$312 >> 2] | 0; + $314 = HEAP32[16739] | 0; + if ($314 >>> 0 <= $313 >>> 0 & $314 >>> 0 <= $$0382$lcssa >>> 0) { + HEAP32[$313 + 12 >> 2] = $$1; + HEAP32[$312 >> 2] = $$1; + HEAP32[$$1 + 8 >> 2] = $313; + HEAP32[$$1 + 12 >> 2] = $$0382$lcssa; + HEAP32[$$1 + 24 >> 2] = 0; + break; + } else _abort(); + } else { + HEAP32[16736] = $280 | $281; + HEAP32[$276 >> 2] = $$1; + HEAP32[$$1 + 24 >> 2] = $276; + HEAP32[$$1 + 12 >> 2] = $$1; + HEAP32[$$1 + 8 >> 2] = $$1; + } while (0); + $323 = (HEAP32[16743] | 0) + -1 | 0; + HEAP32[16743] = $323; + if ($323 | 0) return; + $$0211$in$i = 67396; + while (1) { + $$0211$i = HEAP32[$$0211$in$i >> 2] | 0; + if (!$$0211$i) break; else $$0211$in$i = $$0211$i + 8 | 0; + } + HEAP32[16743] = -1; + return; +} + +function _arLabelingSubEWZ($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0 = 0, $$0373 = 0, $$0374 = 0, $$0376 = 0, $$0378 = 0, $$0380 = 0, $$0384 = 0, $$0387 = 0, $$0392 = 0, $$0395 = 0, $$0399 = 0, $$1 = 0, $$1375 = 0, $$1377 = 0, $$1379 = 0, $$1381 = 0, $$1385 = 0, $$1388 = 0, $$1393 = 0, $$1396 = 0, $$1400 = 0, $$2 = 0, $$2382 = 0, $$2386 = 0, $$2389 = 0, $$2394 = 0, $$2397 = 0, $$3 = 0, $$3383 = 0, $$3390 = 0, $$3398 = 0, $$4 = 0, $$4391 = 0, $$5 = 0, $$6 = 0, $103 = 0, $106 = 0, $121 = 0, $123 = 0, $125 = 0, $129 = 0, $13 = 0, $133 = 0, $136 = 0, $138 = 0, $142 = 0, $146 = 0, $150 = 0, $155 = 0, $157 = 0, $161 = 0, $165 = 0, $169 = 0, $175 = 0, $178 = 0, $180 = 0, $184 = 0, $188 = 0, $19 = 0, $192 = 0, $195 = 0, $20 = 0, $200 = 0, $224 = 0, $226 = 0, $232 = 0, $235 = 0, $236 = 0, $242 = 0, $254 = 0, $255 = 0, $258 = 0, $265 = 0, $266 = 0, $27 = 0, $274 = 0, $277 = 0, $278 = 0, $282 = 0, $285 = 0, $289 = 0, $292 = 0, $296 = 0, $299 = 0, $303 = 0, $306 = 0, $310 = 0.0, $311 = 0, $312 = 0, $316 = 0, $33 = 0, $34 = 0, $37 = 0, $39 = 0, $43 = 0, $47 = 0, $5 = 0, $53 = 0, $54 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $62 = 0, $65 = 0, $80 = 0, $82 = 0, $84 = 0, $88 = 0, $92 = 0, $98 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $vararg_buffer = sp; + $5 = HEAP32[$4 >> 2] | 0; + $6 = $2 + -1 | 0; + $$0376 = $5; + $$0387 = 0; + $$0395 = $5 + ((Math_imul($6, $1) | 0) << 1) | 0; + while (1) { + if (($$0387 | 0) >= ($1 | 0)) break; + HEAP16[$$0395 >> 1] = 0; + HEAP16[$$0376 >> 1] = 0; + $$0376 = $$0376 + 2 | 0; + $$0387 = $$0387 + 1 | 0; + $$0395 = $$0395 + 2 | 0; + } + $13 = $1 + -1 | 0; + $$1377 = $5; + $$1388 = 0; + $$1396 = $5 + ($13 << 1) | 0; + while (1) { + if (($$1388 | 0) >= ($2 | 0)) break; + HEAP16[$$1396 >> 1] = 0; + HEAP16[$$1377 >> 1] = 0; + $$1377 = $$1377 + ($1 << 1) | 0; + $$1388 = $$1388 + 1 | 0; + $$1396 = $$1396 + ($1 << 1) | 0; + } + $19 = $4 + 1179664 | 0; + $20 = $1 + 1 | 0; + $27 = 0 - $1 | 0; + $$0373 = $0 + $20 | 0; + $$0374 = $3 + $20 | 0; + $$0384 = 1; + $$0392 = 0; + $$0399 = (HEAP32[$4 + 4 >> 2] | 0) + $20 | 0; + $$2397 = $5 + ($20 << 1) | 0; + L9 : while (1) { + if (($$0384 | 0) >= ($6 | 0)) { + label = 59; + break; + } + $$1 = $$0373; + $$1375 = $$0374; + $$1393 = $$0392; + $$1400 = $$0399; + $$2389 = 1; + $$3398 = $$2397; + while (1) { + if (($$2389 | 0) >= ($13 | 0)) break; + do if ((HEAPU8[$$1 >> 0] | 0) > (HEAPU8[$$1375 >> 0] | 0)) { + HEAP8[$$1400 >> 0] = -1; + $33 = $$3398 + ($27 << 1) | 0; + $34 = HEAP16[$33 >> 1] | 0; + if ($34 << 16 >> 16 > 0) { + HEAP16[$$3398 >> 1] = $34; + $37 = ($34 << 16 >> 16) * 7 | 0; + $39 = $4 + 1310736 + ($37 + -7 << 2) | 0; + HEAP32[$39 >> 2] = (HEAP32[$39 >> 2] | 0) + 1; + $43 = $4 + 1310736 + ($37 + -6 << 2) | 0; + HEAP32[$43 >> 2] = (HEAP32[$43 >> 2] | 0) + $$2389; + $47 = $4 + 1310736 + ($37 + -5 << 2) | 0; + HEAP32[$47 >> 2] = (HEAP32[$47 >> 2] | 0) + $$0384; + HEAP32[$4 + 1310736 + ($37 + -1 << 2) >> 2] = $$0384; + $$2394 = $$1393; + break; + } + $53 = HEAP16[$33 + 2 >> 1] | 0; + $54 = $53 << 16 >> 16; + $57 = HEAP16[$33 + -2 >> 1] | 0; + $58 = $57 << 16 >> 16; + $59 = $57 << 16 >> 16 > 0; + if ($53 << 16 >> 16 <= 0) { + if ($59) { + HEAP16[$$3398 >> 1] = $57; + $155 = $58 * 7 | 0; + $157 = $4 + 1310736 + ($155 + -7 << 2) | 0; + HEAP32[$157 >> 2] = (HEAP32[$157 >> 2] | 0) + 1; + $161 = $4 + 1310736 + ($155 + -6 << 2) | 0; + HEAP32[$161 >> 2] = (HEAP32[$161 >> 2] | 0) + $$2389; + $165 = $4 + 1310736 + ($155 + -5 << 2) | 0; + HEAP32[$165 >> 2] = (HEAP32[$165 >> 2] | 0) + $$0384; + $169 = $4 + 1310736 + ($155 + -3 << 2) | 0; + if ((HEAP32[$169 >> 2] | 0) < ($$2389 | 0)) HEAP32[$169 >> 2] = $$2389; + HEAP32[$4 + 1310736 + ($155 + -1 << 2) >> 2] = $$0384; + $$2394 = $$1393; + break; + } + $175 = HEAP16[$$3398 + -2 >> 1] | 0; + if ($175 << 16 >> 16 > 0) { + HEAP16[$$3398 >> 1] = $175; + $178 = ($175 << 16 >> 16) * 7 | 0; + $180 = $4 + 1310736 + ($178 + -7 << 2) | 0; + HEAP32[$180 >> 2] = (HEAP32[$180 >> 2] | 0) + 1; + $184 = $4 + 1310736 + ($178 + -6 << 2) | 0; + HEAP32[$184 >> 2] = (HEAP32[$184 >> 2] | 0) + $$2389; + $188 = $4 + 1310736 + ($178 + -5 << 2) | 0; + HEAP32[$188 >> 2] = (HEAP32[$188 >> 2] | 0) + $$0384; + $192 = $4 + 1310736 + ($178 + -3 << 2) | 0; + if ((HEAP32[$192 >> 2] | 0) >= ($$2389 | 0)) { + $$2394 = $$1393; + break; + } + HEAP32[$192 >> 2] = $$2389; + $$2394 = $$1393; + break; + } else { + $195 = $$1393 + 1 | 0; + if (($$1393 | 0) > 32767) { + label = 54; + break L9; + } + HEAP16[$$3398 >> 1] = $195; + HEAP32[$4 + 1179664 + ($$1393 << 2) >> 2] = $195 << 16 >> 16; + $200 = $$1393 * 7 | 0; + HEAP32[$4 + 1310736 + ($200 << 2) >> 2] = 1; + HEAP32[$4 + 1310736 + ($200 + 1 << 2) >> 2] = $$2389; + HEAP32[$4 + 1310736 + ($200 + 2 << 2) >> 2] = $$0384; + HEAP32[$4 + 1310736 + ($200 + 3 << 2) >> 2] = $$2389; + HEAP32[$4 + 1310736 + ($200 + 4 << 2) >> 2] = $$2389; + HEAP32[$4 + 1310736 + ($200 + 5 << 2) >> 2] = $$0384; + HEAP32[$4 + 1310736 + ($200 + 6 << 2) >> 2] = $$0384; + $$2394 = $195; + break; + } + } + if ($59) { + $62 = HEAP32[$4 + 1179664 + ($54 + -1 << 2) >> 2] | 0; + $65 = HEAP32[$4 + 1179664 + ($58 + -1 << 2) >> 2] | 0; + L36 : do if (($62 | 0) <= ($65 | 0)) { + HEAP16[$$3398 >> 1] = $62; + if (($62 | 0) < ($65 | 0)) { + $$1379 = $19; + $$1381 = 0; + while (1) { + if (($$1381 | 0) >= ($$1393 | 0)) { + $80 = $62; + break L36; + } + if ((HEAP32[$$1379 >> 2] | 0) == ($65 | 0)) HEAP32[$$1379 >> 2] = $62; + $$1379 = $$1379 + 4 | 0; + $$1381 = $$1381 + 1 | 0; + } + } else $80 = $62; + } else { + HEAP16[$$3398 >> 1] = $65; + $$0378 = $19; + $$0380 = 0; + while (1) { + if (($$0380 | 0) >= ($$1393 | 0)) { + $80 = $65; + break L36; + } + if ((HEAP32[$$0378 >> 2] | 0) == ($62 | 0)) HEAP32[$$0378 >> 2] = $65; + $$0378 = $$0378 + 4 | 0; + $$0380 = $$0380 + 1 | 0; + } + } while (0); + $82 = ($80 << 16 >> 16) * 7 | 0; + $84 = $4 + 1310736 + ($82 + -7 << 2) | 0; + HEAP32[$84 >> 2] = (HEAP32[$84 >> 2] | 0) + 1; + $88 = $4 + 1310736 + ($82 + -6 << 2) | 0; + HEAP32[$88 >> 2] = (HEAP32[$88 >> 2] | 0) + $$2389; + $92 = $4 + 1310736 + ($82 + -5 << 2) | 0; + HEAP32[$92 >> 2] = (HEAP32[$92 >> 2] | 0) + $$0384; + HEAP32[$4 + 1310736 + ($82 + -1 << 2) >> 2] = $$0384; + $$2394 = $$1393; + break; + } + $98 = HEAP16[$$3398 + -2 >> 1] | 0; + if ($98 << 16 >> 16 <= 0) { + HEAP16[$$3398 >> 1] = $53; + $136 = $54 * 7 | 0; + $138 = $4 + 1310736 + ($136 + -7 << 2) | 0; + HEAP32[$138 >> 2] = (HEAP32[$138 >> 2] | 0) + 1; + $142 = $4 + 1310736 + ($136 + -6 << 2) | 0; + HEAP32[$142 >> 2] = (HEAP32[$142 >> 2] | 0) + $$2389; + $146 = $4 + 1310736 + ($136 + -5 << 2) | 0; + HEAP32[$146 >> 2] = (HEAP32[$146 >> 2] | 0) + $$0384; + $150 = $4 + 1310736 + ($136 + -4 << 2) | 0; + if ((HEAP32[$150 >> 2] | 0) > ($$2389 | 0)) HEAP32[$150 >> 2] = $$2389; + HEAP32[$4 + 1310736 + ($136 + -1 << 2) >> 2] = $$0384; + $$2394 = $$1393; + break; + } + $103 = HEAP32[$4 + 1179664 + ($54 + -1 << 2) >> 2] | 0; + $106 = HEAP32[$4 + 1179664 + (($98 << 16 >> 16) + -1 << 2) >> 2] | 0; + L60 : do if (($103 | 0) <= ($106 | 0)) { + HEAP16[$$3398 >> 1] = $103; + if (($103 | 0) < ($106 | 0)) { + $$3 = $19; + $$3383 = 0; + while (1) { + if (($$3383 | 0) >= ($$1393 | 0)) { + $121 = $103; + break L60; + } + if ((HEAP32[$$3 >> 2] | 0) == ($106 | 0)) HEAP32[$$3 >> 2] = $103; + $$3 = $$3 + 4 | 0; + $$3383 = $$3383 + 1 | 0; + } + } else $121 = $103; + } else { + HEAP16[$$3398 >> 1] = $106; + $$2 = $19; + $$2382 = 0; + while (1) { + if (($$2382 | 0) >= ($$1393 | 0)) { + $121 = $106; + break L60; + } + if ((HEAP32[$$2 >> 2] | 0) == ($103 | 0)) HEAP32[$$2 >> 2] = $106; + $$2 = $$2 + 4 | 0; + $$2382 = $$2382 + 1 | 0; + } + } while (0); + $123 = ($121 << 16 >> 16) * 7 | 0; + $125 = $4 + 1310736 + ($123 + -7 << 2) | 0; + HEAP32[$125 >> 2] = (HEAP32[$125 >> 2] | 0) + 1; + $129 = $4 + 1310736 + ($123 + -6 << 2) | 0; + HEAP32[$129 >> 2] = (HEAP32[$129 >> 2] | 0) + $$2389; + $133 = $4 + 1310736 + ($123 + -5 << 2) | 0; + HEAP32[$133 >> 2] = (HEAP32[$133 >> 2] | 0) + $$0384; + $$2394 = $$1393; + } else { + HEAP16[$$3398 >> 1] = 0; + HEAP8[$$1400 >> 0] = 0; + $$2394 = $$1393; + } while (0); + $$1 = $$1 + 1 | 0; + $$1375 = $$1375 + 1 | 0; + $$1393 = $$2394; + $$1400 = $$1400 + 1 | 0; + $$2389 = $$2389 + 1 | 0; + $$3398 = $$3398 + 2 | 0; + } + $$0373 = $$1 + 2 | 0; + $$0374 = $$1375 + 2 | 0; + $$0384 = $$0384 + 1 | 0; + $$0392 = $$1393; + $$0399 = $$1400 + 2 | 0; + $$2397 = $$3398 + 4 | 0; + } + L80 : do if ((label | 0) == 54) { + _arLog(0, 3, 23780, $vararg_buffer); + $$0 = -1; + } else if ((label | 0) == 59) { + $224 = $4 + 12 | 0; + $$1385 = 1; + $$3390 = 1; + $$4 = $19; + while (1) { + if (($$3390 | 0) > ($$0392 | 0)) break; + $226 = HEAP32[$$4 >> 2] | 0; + if (($226 | 0) == ($$3390 | 0)) { + $$2386 = $$1385 + 1 | 0; + $232 = $$1385; + } else { + $$2386 = $$1385; + $232 = HEAP32[$4 + 1179664 + ($226 + -1 << 2) >> 2] | 0; + } + HEAP32[$$4 >> 2] = $232; + $$1385 = $$2386; + $$3390 = $$3390 + 1 | 0; + $$4 = $$4 + 4 | 0; + } + $235 = $4 + 8 | 0; + $236 = $$1385 + -1 | 0; + HEAP32[$235 >> 2] = $236; + if (!$236) $$0 = 0; else { + _memset($224 | 0, 0, $236 << 2 | 0) | 0; + _memset($4 + 655376 | 0, 0, $236 << 4 | 0) | 0; + $$4391 = 0; + while (1) { + if (($$4391 | 0) >= ($236 | 0)) break; + $242 = $$4391 << 2; + HEAP32[$4 + 131084 + ($242 << 2) >> 2] = $1; + HEAP32[$4 + 131084 + (($242 | 1) << 2) >> 2] = 0; + HEAP32[$4 + 131084 + (($242 | 2) << 2) >> 2] = $2; + HEAP32[$4 + 131084 + (($242 | 3) << 2) >> 2] = 0; + $$4391 = $$4391 + 1 | 0; + } + $$5 = 0; + while (1) { + if (($$5 | 0) >= ($$0392 | 0)) break; + $254 = (HEAP32[$4 + 1179664 + ($$5 << 2) >> 2] | 0) + -1 | 0; + $255 = $$5 * 7 | 0; + $258 = $4 + 12 + ($254 << 2) | 0; + HEAP32[$258 >> 2] = (HEAP32[$258 >> 2] | 0) + (HEAP32[$4 + 1310736 + ($255 << 2) >> 2] | 0); + $265 = $254 << 1; + $266 = $4 + 655376 + ($265 << 3) | 0; + HEAPF64[$266 >> 3] = +HEAPF64[$266 >> 3] + +(HEAP32[$4 + 1310736 + ($255 + 1 << 2) >> 2] | 0); + $274 = $4 + 655376 + (($265 | 1) << 3) | 0; + HEAPF64[$274 >> 3] = +HEAPF64[$274 >> 3] + +(HEAP32[$4 + 1310736 + ($255 + 2 << 2) >> 2] | 0); + $277 = $254 << 2; + $278 = $4 + 131084 + ($277 << 2) | 0; + $282 = HEAP32[$4 + 1310736 + ($255 + 3 << 2) >> 2] | 0; + if ((HEAP32[$278 >> 2] | 0) > ($282 | 0)) HEAP32[$278 >> 2] = $282; + $285 = $4 + 131084 + (($277 | 1) << 2) | 0; + $289 = HEAP32[$4 + 1310736 + ($255 + 4 << 2) >> 2] | 0; + if ((HEAP32[$285 >> 2] | 0) < ($289 | 0)) HEAP32[$285 >> 2] = $289; + $292 = $4 + 131084 + (($277 | 2) << 2) | 0; + $296 = HEAP32[$4 + 1310736 + ($255 + 5 << 2) >> 2] | 0; + if ((HEAP32[$292 >> 2] | 0) > ($296 | 0)) HEAP32[$292 >> 2] = $296; + $299 = $4 + 131084 + (($277 | 3) << 2) | 0; + $303 = HEAP32[$4 + 1310736 + ($255 + 6 << 2) >> 2] | 0; + if ((HEAP32[$299 >> 2] | 0) < ($303 | 0)) HEAP32[$299 >> 2] = $303; + $$5 = $$5 + 1 | 0; + } + $306 = HEAP32[$235 >> 2] | 0; + $$6 = 0; + while (1) { + if (($$6 | 0) >= ($306 | 0)) { + $$0 = 0; + break L80; + } + $310 = +(HEAP32[$4 + 12 + ($$6 << 2) >> 2] | 0); + $311 = $$6 << 1; + $312 = $4 + 655376 + ($311 << 3) | 0; + HEAPF64[$312 >> 3] = +HEAPF64[$312 >> 3] / $310; + $316 = $4 + 655376 + (($311 | 1) << 3) | 0; + HEAPF64[$316 >> 3] = +HEAPF64[$316 >> 3] / $310; + $$6 = $$6 + 1 | 0; + } + } + } while (0); + STACKTOP = sp; + return $$0 | 0; +} + +function _arLabelingSubEBZ($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0 = 0, $$0373 = 0, $$0374 = 0, $$0376 = 0, $$0378 = 0, $$0380 = 0, $$0384 = 0, $$0387 = 0, $$0392 = 0, $$0395 = 0, $$0399 = 0, $$1 = 0, $$1375 = 0, $$1377 = 0, $$1379 = 0, $$1381 = 0, $$1385 = 0, $$1388 = 0, $$1393 = 0, $$1396 = 0, $$1400 = 0, $$2 = 0, $$2382 = 0, $$2386 = 0, $$2389 = 0, $$2394 = 0, $$2397 = 0, $$3 = 0, $$3383 = 0, $$3390 = 0, $$3398 = 0, $$4 = 0, $$4391 = 0, $$5 = 0, $$6 = 0, $103 = 0, $106 = 0, $121 = 0, $123 = 0, $125 = 0, $129 = 0, $13 = 0, $133 = 0, $136 = 0, $138 = 0, $142 = 0, $146 = 0, $150 = 0, $155 = 0, $157 = 0, $161 = 0, $165 = 0, $169 = 0, $175 = 0, $178 = 0, $180 = 0, $184 = 0, $188 = 0, $19 = 0, $192 = 0, $195 = 0, $20 = 0, $200 = 0, $224 = 0, $226 = 0, $232 = 0, $235 = 0, $236 = 0, $242 = 0, $254 = 0, $255 = 0, $258 = 0, $265 = 0, $266 = 0, $27 = 0, $274 = 0, $277 = 0, $278 = 0, $282 = 0, $285 = 0, $289 = 0, $292 = 0, $296 = 0, $299 = 0, $303 = 0, $306 = 0, $310 = 0.0, $311 = 0, $312 = 0, $316 = 0, $33 = 0, $34 = 0, $37 = 0, $39 = 0, $43 = 0, $47 = 0, $5 = 0, $53 = 0, $54 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $62 = 0, $65 = 0, $80 = 0, $82 = 0, $84 = 0, $88 = 0, $92 = 0, $98 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $vararg_buffer = sp; + $5 = HEAP32[$4 >> 2] | 0; + $6 = $2 + -1 | 0; + $$0376 = $5; + $$0387 = 0; + $$0395 = $5 + ((Math_imul($6, $1) | 0) << 1) | 0; + while (1) { + if (($$0387 | 0) >= ($1 | 0)) break; + HEAP16[$$0395 >> 1] = 0; + HEAP16[$$0376 >> 1] = 0; + $$0376 = $$0376 + 2 | 0; + $$0387 = $$0387 + 1 | 0; + $$0395 = $$0395 + 2 | 0; + } + $13 = $1 + -1 | 0; + $$1377 = $5; + $$1388 = 0; + $$1396 = $5 + ($13 << 1) | 0; + while (1) { + if (($$1388 | 0) >= ($2 | 0)) break; + HEAP16[$$1396 >> 1] = 0; + HEAP16[$$1377 >> 1] = 0; + $$1377 = $$1377 + ($1 << 1) | 0; + $$1388 = $$1388 + 1 | 0; + $$1396 = $$1396 + ($1 << 1) | 0; + } + $19 = $4 + 1179664 | 0; + $20 = $1 + 1 | 0; + $27 = 0 - $1 | 0; + $$0373 = $0 + $20 | 0; + $$0374 = $3 + $20 | 0; + $$0384 = 1; + $$0392 = 0; + $$0399 = (HEAP32[$4 + 4 >> 2] | 0) + $20 | 0; + $$2397 = $5 + ($20 << 1) | 0; + L9 : while (1) { + if (($$0384 | 0) >= ($6 | 0)) { + label = 59; + break; + } + $$1 = $$0373; + $$1375 = $$0374; + $$1393 = $$0392; + $$1400 = $$0399; + $$2389 = 1; + $$3398 = $$2397; + while (1) { + if (($$2389 | 0) >= ($13 | 0)) break; + do if ((HEAPU8[$$1 >> 0] | 0) > (HEAPU8[$$1375 >> 0] | 0)) { + HEAP16[$$3398 >> 1] = 0; + HEAP8[$$1400 >> 0] = 0; + $$2394 = $$1393; + } else { + HEAP8[$$1400 >> 0] = -1; + $33 = $$3398 + ($27 << 1) | 0; + $34 = HEAP16[$33 >> 1] | 0; + if ($34 << 16 >> 16 > 0) { + HEAP16[$$3398 >> 1] = $34; + $37 = ($34 << 16 >> 16) * 7 | 0; + $39 = $4 + 1310736 + ($37 + -7 << 2) | 0; + HEAP32[$39 >> 2] = (HEAP32[$39 >> 2] | 0) + 1; + $43 = $4 + 1310736 + ($37 + -6 << 2) | 0; + HEAP32[$43 >> 2] = (HEAP32[$43 >> 2] | 0) + $$2389; + $47 = $4 + 1310736 + ($37 + -5 << 2) | 0; + HEAP32[$47 >> 2] = (HEAP32[$47 >> 2] | 0) + $$0384; + HEAP32[$4 + 1310736 + ($37 + -1 << 2) >> 2] = $$0384; + $$2394 = $$1393; + break; + } + $53 = HEAP16[$33 + 2 >> 1] | 0; + $54 = $53 << 16 >> 16; + $57 = HEAP16[$33 + -2 >> 1] | 0; + $58 = $57 << 16 >> 16; + $59 = $57 << 16 >> 16 > 0; + if ($53 << 16 >> 16 <= 0) { + if ($59) { + HEAP16[$$3398 >> 1] = $57; + $155 = $58 * 7 | 0; + $157 = $4 + 1310736 + ($155 + -7 << 2) | 0; + HEAP32[$157 >> 2] = (HEAP32[$157 >> 2] | 0) + 1; + $161 = $4 + 1310736 + ($155 + -6 << 2) | 0; + HEAP32[$161 >> 2] = (HEAP32[$161 >> 2] | 0) + $$2389; + $165 = $4 + 1310736 + ($155 + -5 << 2) | 0; + HEAP32[$165 >> 2] = (HEAP32[$165 >> 2] | 0) + $$0384; + $169 = $4 + 1310736 + ($155 + -3 << 2) | 0; + if ((HEAP32[$169 >> 2] | 0) < ($$2389 | 0)) HEAP32[$169 >> 2] = $$2389; + HEAP32[$4 + 1310736 + ($155 + -1 << 2) >> 2] = $$0384; + $$2394 = $$1393; + break; + } + $175 = HEAP16[$$3398 + -2 >> 1] | 0; + if ($175 << 16 >> 16 > 0) { + HEAP16[$$3398 >> 1] = $175; + $178 = ($175 << 16 >> 16) * 7 | 0; + $180 = $4 + 1310736 + ($178 + -7 << 2) | 0; + HEAP32[$180 >> 2] = (HEAP32[$180 >> 2] | 0) + 1; + $184 = $4 + 1310736 + ($178 + -6 << 2) | 0; + HEAP32[$184 >> 2] = (HEAP32[$184 >> 2] | 0) + $$2389; + $188 = $4 + 1310736 + ($178 + -5 << 2) | 0; + HEAP32[$188 >> 2] = (HEAP32[$188 >> 2] | 0) + $$0384; + $192 = $4 + 1310736 + ($178 + -3 << 2) | 0; + if ((HEAP32[$192 >> 2] | 0) >= ($$2389 | 0)) { + $$2394 = $$1393; + break; + } + HEAP32[$192 >> 2] = $$2389; + $$2394 = $$1393; + break; + } else { + $195 = $$1393 + 1 | 0; + if (($$1393 | 0) > 32767) { + label = 54; + break L9; + } + HEAP16[$$3398 >> 1] = $195; + HEAP32[$4 + 1179664 + ($$1393 << 2) >> 2] = $195 << 16 >> 16; + $200 = $$1393 * 7 | 0; + HEAP32[$4 + 1310736 + ($200 << 2) >> 2] = 1; + HEAP32[$4 + 1310736 + ($200 + 1 << 2) >> 2] = $$2389; + HEAP32[$4 + 1310736 + ($200 + 2 << 2) >> 2] = $$0384; + HEAP32[$4 + 1310736 + ($200 + 3 << 2) >> 2] = $$2389; + HEAP32[$4 + 1310736 + ($200 + 4 << 2) >> 2] = $$2389; + HEAP32[$4 + 1310736 + ($200 + 5 << 2) >> 2] = $$0384; + HEAP32[$4 + 1310736 + ($200 + 6 << 2) >> 2] = $$0384; + $$2394 = $195; + break; + } + } + if ($59) { + $62 = HEAP32[$4 + 1179664 + ($54 + -1 << 2) >> 2] | 0; + $65 = HEAP32[$4 + 1179664 + ($58 + -1 << 2) >> 2] | 0; + L37 : do if (($62 | 0) <= ($65 | 0)) { + HEAP16[$$3398 >> 1] = $62; + if (($62 | 0) < ($65 | 0)) { + $$1379 = $19; + $$1381 = 0; + while (1) { + if (($$1381 | 0) >= ($$1393 | 0)) { + $80 = $62; + break L37; + } + if ((HEAP32[$$1379 >> 2] | 0) == ($65 | 0)) HEAP32[$$1379 >> 2] = $62; + $$1379 = $$1379 + 4 | 0; + $$1381 = $$1381 + 1 | 0; + } + } else $80 = $62; + } else { + HEAP16[$$3398 >> 1] = $65; + $$0378 = $19; + $$0380 = 0; + while (1) { + if (($$0380 | 0) >= ($$1393 | 0)) { + $80 = $65; + break L37; + } + if ((HEAP32[$$0378 >> 2] | 0) == ($62 | 0)) HEAP32[$$0378 >> 2] = $65; + $$0378 = $$0378 + 4 | 0; + $$0380 = $$0380 + 1 | 0; + } + } while (0); + $82 = ($80 << 16 >> 16) * 7 | 0; + $84 = $4 + 1310736 + ($82 + -7 << 2) | 0; + HEAP32[$84 >> 2] = (HEAP32[$84 >> 2] | 0) + 1; + $88 = $4 + 1310736 + ($82 + -6 << 2) | 0; + HEAP32[$88 >> 2] = (HEAP32[$88 >> 2] | 0) + $$2389; + $92 = $4 + 1310736 + ($82 + -5 << 2) | 0; + HEAP32[$92 >> 2] = (HEAP32[$92 >> 2] | 0) + $$0384; + HEAP32[$4 + 1310736 + ($82 + -1 << 2) >> 2] = $$0384; + $$2394 = $$1393; + break; + } + $98 = HEAP16[$$3398 + -2 >> 1] | 0; + if ($98 << 16 >> 16 <= 0) { + HEAP16[$$3398 >> 1] = $53; + $136 = $54 * 7 | 0; + $138 = $4 + 1310736 + ($136 + -7 << 2) | 0; + HEAP32[$138 >> 2] = (HEAP32[$138 >> 2] | 0) + 1; + $142 = $4 + 1310736 + ($136 + -6 << 2) | 0; + HEAP32[$142 >> 2] = (HEAP32[$142 >> 2] | 0) + $$2389; + $146 = $4 + 1310736 + ($136 + -5 << 2) | 0; + HEAP32[$146 >> 2] = (HEAP32[$146 >> 2] | 0) + $$0384; + $150 = $4 + 1310736 + ($136 + -4 << 2) | 0; + if ((HEAP32[$150 >> 2] | 0) > ($$2389 | 0)) HEAP32[$150 >> 2] = $$2389; + HEAP32[$4 + 1310736 + ($136 + -1 << 2) >> 2] = $$0384; + $$2394 = $$1393; + break; + } + $103 = HEAP32[$4 + 1179664 + ($54 + -1 << 2) >> 2] | 0; + $106 = HEAP32[$4 + 1179664 + (($98 << 16 >> 16) + -1 << 2) >> 2] | 0; + L61 : do if (($103 | 0) <= ($106 | 0)) { + HEAP16[$$3398 >> 1] = $103; + if (($103 | 0) < ($106 | 0)) { + $$3 = $19; + $$3383 = 0; + while (1) { + if (($$3383 | 0) >= ($$1393 | 0)) { + $121 = $103; + break L61; + } + if ((HEAP32[$$3 >> 2] | 0) == ($106 | 0)) HEAP32[$$3 >> 2] = $103; + $$3 = $$3 + 4 | 0; + $$3383 = $$3383 + 1 | 0; + } + } else $121 = $103; + } else { + HEAP16[$$3398 >> 1] = $106; + $$2 = $19; + $$2382 = 0; + while (1) { + if (($$2382 | 0) >= ($$1393 | 0)) { + $121 = $106; + break L61; + } + if ((HEAP32[$$2 >> 2] | 0) == ($103 | 0)) HEAP32[$$2 >> 2] = $106; + $$2 = $$2 + 4 | 0; + $$2382 = $$2382 + 1 | 0; + } + } while (0); + $123 = ($121 << 16 >> 16) * 7 | 0; + $125 = $4 + 1310736 + ($123 + -7 << 2) | 0; + HEAP32[$125 >> 2] = (HEAP32[$125 >> 2] | 0) + 1; + $129 = $4 + 1310736 + ($123 + -6 << 2) | 0; + HEAP32[$129 >> 2] = (HEAP32[$129 >> 2] | 0) + $$2389; + $133 = $4 + 1310736 + ($123 + -5 << 2) | 0; + HEAP32[$133 >> 2] = (HEAP32[$133 >> 2] | 0) + $$0384; + $$2394 = $$1393; + } while (0); + $$1 = $$1 + 1 | 0; + $$1375 = $$1375 + 1 | 0; + $$1393 = $$2394; + $$1400 = $$1400 + 1 | 0; + $$2389 = $$2389 + 1 | 0; + $$3398 = $$3398 + 2 | 0; + } + $$0373 = $$1 + 2 | 0; + $$0374 = $$1375 + 2 | 0; + $$0384 = $$0384 + 1 | 0; + $$0392 = $$1393; + $$0399 = $$1400 + 2 | 0; + $$2397 = $$3398 + 4 | 0; + } + L80 : do if ((label | 0) == 54) { + _arLog(0, 3, 23780, $vararg_buffer); + $$0 = -1; + } else if ((label | 0) == 59) { + $224 = $4 + 12 | 0; + $$1385 = 1; + $$3390 = 1; + $$4 = $19; + while (1) { + if (($$3390 | 0) > ($$0392 | 0)) break; + $226 = HEAP32[$$4 >> 2] | 0; + if (($226 | 0) == ($$3390 | 0)) { + $$2386 = $$1385 + 1 | 0; + $232 = $$1385; + } else { + $$2386 = $$1385; + $232 = HEAP32[$4 + 1179664 + ($226 + -1 << 2) >> 2] | 0; + } + HEAP32[$$4 >> 2] = $232; + $$1385 = $$2386; + $$3390 = $$3390 + 1 | 0; + $$4 = $$4 + 4 | 0; + } + $235 = $4 + 8 | 0; + $236 = $$1385 + -1 | 0; + HEAP32[$235 >> 2] = $236; + if (!$236) $$0 = 0; else { + _memset($224 | 0, 0, $236 << 2 | 0) | 0; + _memset($4 + 655376 | 0, 0, $236 << 4 | 0) | 0; + $$4391 = 0; + while (1) { + if (($$4391 | 0) >= ($236 | 0)) break; + $242 = $$4391 << 2; + HEAP32[$4 + 131084 + ($242 << 2) >> 2] = $1; + HEAP32[$4 + 131084 + (($242 | 1) << 2) >> 2] = 0; + HEAP32[$4 + 131084 + (($242 | 2) << 2) >> 2] = $2; + HEAP32[$4 + 131084 + (($242 | 3) << 2) >> 2] = 0; + $$4391 = $$4391 + 1 | 0; + } + $$5 = 0; + while (1) { + if (($$5 | 0) >= ($$0392 | 0)) break; + $254 = (HEAP32[$4 + 1179664 + ($$5 << 2) >> 2] | 0) + -1 | 0; + $255 = $$5 * 7 | 0; + $258 = $4 + 12 + ($254 << 2) | 0; + HEAP32[$258 >> 2] = (HEAP32[$258 >> 2] | 0) + (HEAP32[$4 + 1310736 + ($255 << 2) >> 2] | 0); + $265 = $254 << 1; + $266 = $4 + 655376 + ($265 << 3) | 0; + HEAPF64[$266 >> 3] = +HEAPF64[$266 >> 3] + +(HEAP32[$4 + 1310736 + ($255 + 1 << 2) >> 2] | 0); + $274 = $4 + 655376 + (($265 | 1) << 3) | 0; + HEAPF64[$274 >> 3] = +HEAPF64[$274 >> 3] + +(HEAP32[$4 + 1310736 + ($255 + 2 << 2) >> 2] | 0); + $277 = $254 << 2; + $278 = $4 + 131084 + ($277 << 2) | 0; + $282 = HEAP32[$4 + 1310736 + ($255 + 3 << 2) >> 2] | 0; + if ((HEAP32[$278 >> 2] | 0) > ($282 | 0)) HEAP32[$278 >> 2] = $282; + $285 = $4 + 131084 + (($277 | 1) << 2) | 0; + $289 = HEAP32[$4 + 1310736 + ($255 + 4 << 2) >> 2] | 0; + if ((HEAP32[$285 >> 2] | 0) < ($289 | 0)) HEAP32[$285 >> 2] = $289; + $292 = $4 + 131084 + (($277 | 2) << 2) | 0; + $296 = HEAP32[$4 + 1310736 + ($255 + 5 << 2) >> 2] | 0; + if ((HEAP32[$292 >> 2] | 0) > ($296 | 0)) HEAP32[$292 >> 2] = $296; + $299 = $4 + 131084 + (($277 | 3) << 2) | 0; + $303 = HEAP32[$4 + 1310736 + ($255 + 6 << 2) >> 2] | 0; + if ((HEAP32[$299 >> 2] | 0) < ($303 | 0)) HEAP32[$299 >> 2] = $303; + $$5 = $$5 + 1 | 0; + } + $306 = HEAP32[$235 >> 2] | 0; + $$6 = 0; + while (1) { + if (($$6 | 0) >= ($306 | 0)) { + $$0 = 0; + break L80; + } + $310 = +(HEAP32[$4 + 12 + ($$6 << 2) >> 2] | 0); + $311 = $$6 << 1; + $312 = $4 + 655376 + ($311 << 3) | 0; + HEAPF64[$312 >> 3] = +HEAPF64[$312 >> 3] / $310; + $316 = $4 + 655376 + (($311 | 1) << 3) | 0; + HEAPF64[$316 >> 3] = +HEAPF64[$316 >> 3] / $310; + $$6 = $$6 + 1 | 0; + } + } + } while (0); + STACKTOP = sp; + return $$0 | 0; +} + +function _arLabelingSubEWIC($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0 = 0, $$0369 = 0, $$0370 = 0, $$0372 = 0, $$0374 = 0, $$0378 = 0, $$0382 = 0, $$0385 = 0, $$0390 = 0, $$0393 = 0, $$1 = 0, $$1371 = 0, $$1373 = 0, $$1375 = 0, $$1379 = 0, $$1383 = 0, $$1386 = 0, $$1391 = 0, $$1394 = 0, $$2 = 0, $$2376 = 0, $$2380 = 0, $$2384 = 0, $$2387 = 0, $$2392 = 0, $$3 = 0, $$3377 = 0, $$3381 = 0, $$3388 = 0, $$4 = 0, $$4389 = 0, $$5 = 0, $$6 = 0, $101 = 0, $106 = 0, $109 = 0, $124 = 0, $126 = 0, $128 = 0, $132 = 0, $136 = 0, $139 = 0, $141 = 0, $145 = 0, $149 = 0, $15 = 0, $153 = 0, $158 = 0, $160 = 0, $164 = 0, $168 = 0, $172 = 0, $178 = 0, $181 = 0, $183 = 0, $187 = 0, $191 = 0, $195 = 0, $198 = 0, $203 = 0, $21 = 0, $22 = 0, $226 = 0, $228 = 0, $234 = 0, $237 = 0, $238 = 0, $244 = 0, $256 = 0, $257 = 0, $260 = 0, $267 = 0, $268 = 0, $276 = 0, $279 = 0, $280 = 0, $284 = 0, $287 = 0, $291 = 0, $294 = 0, $298 = 0, $30 = 0, $301 = 0, $305 = 0, $308 = 0, $312 = 0.0, $313 = 0, $314 = 0, $318 = 0, $36 = 0, $37 = 0, $40 = 0, $42 = 0, $46 = 0, $5 = 0, $50 = 0, $56 = 0, $57 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $65 = 0, $68 = 0, $7 = 0, $8 = 0, $83 = 0, $85 = 0, $87 = 0, $91 = 0, $95 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $vararg_buffer = sp; + $5 = ($1 | 0) / 2 | 0; + $6 = ($2 | 0) / 2 | 0; + $7 = HEAP32[$4 >> 2] | 0; + $8 = $6 + -1 | 0; + $$0370 = $7; + $$0372 = $7 + ((Math_imul($8, $5) | 0) << 1) | 0; + $$0385 = 0; + while (1) { + if (($$0385 | 0) >= ($5 | 0)) break; + HEAP16[$$0372 >> 1] = 0; + HEAP16[$$0370 >> 1] = 0; + $$0370 = $$0370 + 2 | 0; + $$0372 = $$0372 + 2 | 0; + $$0385 = $$0385 + 1 | 0; + } + $15 = $5 + -1 | 0; + $$1371 = $7; + $$1373 = $7 + ($15 << 1) | 0; + $$1386 = 0; + while (1) { + if (($$1386 | 0) >= ($6 | 0)) break; + HEAP16[$$1373 >> 1] = 0; + HEAP16[$$1371 >> 1] = 0; + $$1371 = $$1371 + ($5 << 1) | 0; + $$1373 = $$1373 + ($5 << 1) | 0; + $$1386 = $$1386 + 1 | 0; + } + $21 = $4 + 1179664 | 0; + $22 = $5 + 1 | 0; + $30 = 0 - $5 | 0; + $$0369 = $0 + (($1 << 1) + 2) | 0; + $$0382 = 1; + $$0390 = 0; + $$0393 = (HEAP32[$4 + 4 >> 2] | 0) + $22 | 0; + $$2 = $7 + ($22 << 1) | 0; + L9 : while (1) { + if (($$0382 | 0) >= ($8 | 0)) { + label = 59; + break; + } + $$1 = $$0369; + $$1391 = $$0390; + $$1394 = $$0393; + $$2387 = 1; + $$3 = $$2; + while (1) { + if (($$2387 | 0) >= ($15 | 0)) break; + do if ((HEAPU8[$$1 >> 0] | 0 | 0) > ($3 | 0)) { + HEAP8[$$1394 >> 0] = -1; + $36 = $$3 + ($30 << 1) | 0; + $37 = HEAP16[$36 >> 1] | 0; + if ($37 << 16 >> 16 > 0) { + HEAP16[$$3 >> 1] = $37; + $40 = ($37 << 16 >> 16) * 7 | 0; + $42 = $4 + 1310736 + ($40 + -7 << 2) | 0; + HEAP32[$42 >> 2] = (HEAP32[$42 >> 2] | 0) + 1; + $46 = $4 + 1310736 + ($40 + -6 << 2) | 0; + HEAP32[$46 >> 2] = (HEAP32[$46 >> 2] | 0) + $$2387; + $50 = $4 + 1310736 + ($40 + -5 << 2) | 0; + HEAP32[$50 >> 2] = (HEAP32[$50 >> 2] | 0) + $$0382; + HEAP32[$4 + 1310736 + ($40 + -1 << 2) >> 2] = $$0382; + $$2392 = $$1391; + break; + } + $56 = HEAP16[$36 + 2 >> 1] | 0; + $57 = $56 << 16 >> 16; + $60 = HEAP16[$36 + -2 >> 1] | 0; + $61 = $60 << 16 >> 16; + $62 = $60 << 16 >> 16 > 0; + if ($56 << 16 >> 16 <= 0) { + if ($62) { + HEAP16[$$3 >> 1] = $60; + $158 = $61 * 7 | 0; + $160 = $4 + 1310736 + ($158 + -7 << 2) | 0; + HEAP32[$160 >> 2] = (HEAP32[$160 >> 2] | 0) + 1; + $164 = $4 + 1310736 + ($158 + -6 << 2) | 0; + HEAP32[$164 >> 2] = (HEAP32[$164 >> 2] | 0) + $$2387; + $168 = $4 + 1310736 + ($158 + -5 << 2) | 0; + HEAP32[$168 >> 2] = (HEAP32[$168 >> 2] | 0) + $$0382; + $172 = $4 + 1310736 + ($158 + -3 << 2) | 0; + if ((HEAP32[$172 >> 2] | 0) < ($$2387 | 0)) HEAP32[$172 >> 2] = $$2387; + HEAP32[$4 + 1310736 + ($158 + -1 << 2) >> 2] = $$0382; + $$2392 = $$1391; + break; + } + $178 = HEAP16[$$3 + -2 >> 1] | 0; + if ($178 << 16 >> 16 > 0) { + HEAP16[$$3 >> 1] = $178; + $181 = ($178 << 16 >> 16) * 7 | 0; + $183 = $4 + 1310736 + ($181 + -7 << 2) | 0; + HEAP32[$183 >> 2] = (HEAP32[$183 >> 2] | 0) + 1; + $187 = $4 + 1310736 + ($181 + -6 << 2) | 0; + HEAP32[$187 >> 2] = (HEAP32[$187 >> 2] | 0) + $$2387; + $191 = $4 + 1310736 + ($181 + -5 << 2) | 0; + HEAP32[$191 >> 2] = (HEAP32[$191 >> 2] | 0) + $$0382; + $195 = $4 + 1310736 + ($181 + -3 << 2) | 0; + if ((HEAP32[$195 >> 2] | 0) >= ($$2387 | 0)) { + $$2392 = $$1391; + break; + } + HEAP32[$195 >> 2] = $$2387; + $$2392 = $$1391; + break; + } else { + $198 = $$1391 + 1 | 0; + if (($$1391 | 0) > 32767) { + label = 54; + break L9; + } + HEAP16[$$3 >> 1] = $198; + HEAP32[$4 + 1179664 + ($$1391 << 2) >> 2] = $198 << 16 >> 16; + $203 = $$1391 * 7 | 0; + HEAP32[$4 + 1310736 + ($203 << 2) >> 2] = 1; + HEAP32[$4 + 1310736 + ($203 + 1 << 2) >> 2] = $$2387; + HEAP32[$4 + 1310736 + ($203 + 2 << 2) >> 2] = $$0382; + HEAP32[$4 + 1310736 + ($203 + 3 << 2) >> 2] = $$2387; + HEAP32[$4 + 1310736 + ($203 + 4 << 2) >> 2] = $$2387; + HEAP32[$4 + 1310736 + ($203 + 5 << 2) >> 2] = $$0382; + HEAP32[$4 + 1310736 + ($203 + 6 << 2) >> 2] = $$0382; + $$2392 = $198; + break; + } + } + if ($62) { + $65 = HEAP32[$4 + 1179664 + ($57 + -1 << 2) >> 2] | 0; + $68 = HEAP32[$4 + 1179664 + ($61 + -1 << 2) >> 2] | 0; + L36 : do if (($65 | 0) <= ($68 | 0)) { + HEAP16[$$3 >> 1] = $65; + if (($65 | 0) < ($68 | 0)) { + $$1375 = $21; + $$1379 = 0; + while (1) { + if (($$1379 | 0) >= ($$1391 | 0)) { + $83 = $65; + break L36; + } + if ((HEAP32[$$1375 >> 2] | 0) == ($68 | 0)) HEAP32[$$1375 >> 2] = $65; + $$1375 = $$1375 + 4 | 0; + $$1379 = $$1379 + 1 | 0; + } + } else $83 = $65; + } else { + HEAP16[$$3 >> 1] = $68; + $$0374 = $21; + $$0378 = 0; + while (1) { + if (($$0378 | 0) >= ($$1391 | 0)) { + $83 = $68; + break L36; + } + if ((HEAP32[$$0374 >> 2] | 0) == ($65 | 0)) HEAP32[$$0374 >> 2] = $68; + $$0374 = $$0374 + 4 | 0; + $$0378 = $$0378 + 1 | 0; + } + } while (0); + $85 = ($83 << 16 >> 16) * 7 | 0; + $87 = $4 + 1310736 + ($85 + -7 << 2) | 0; + HEAP32[$87 >> 2] = (HEAP32[$87 >> 2] | 0) + 1; + $91 = $4 + 1310736 + ($85 + -6 << 2) | 0; + HEAP32[$91 >> 2] = (HEAP32[$91 >> 2] | 0) + $$2387; + $95 = $4 + 1310736 + ($85 + -5 << 2) | 0; + HEAP32[$95 >> 2] = (HEAP32[$95 >> 2] | 0) + $$0382; + HEAP32[$4 + 1310736 + ($85 + -1 << 2) >> 2] = $$0382; + $$2392 = $$1391; + break; + } + $101 = HEAP16[$$3 + -2 >> 1] | 0; + if ($101 << 16 >> 16 <= 0) { + HEAP16[$$3 >> 1] = $56; + $139 = $57 * 7 | 0; + $141 = $4 + 1310736 + ($139 + -7 << 2) | 0; + HEAP32[$141 >> 2] = (HEAP32[$141 >> 2] | 0) + 1; + $145 = $4 + 1310736 + ($139 + -6 << 2) | 0; + HEAP32[$145 >> 2] = (HEAP32[$145 >> 2] | 0) + $$2387; + $149 = $4 + 1310736 + ($139 + -5 << 2) | 0; + HEAP32[$149 >> 2] = (HEAP32[$149 >> 2] | 0) + $$0382; + $153 = $4 + 1310736 + ($139 + -4 << 2) | 0; + if ((HEAP32[$153 >> 2] | 0) > ($$2387 | 0)) HEAP32[$153 >> 2] = $$2387; + HEAP32[$4 + 1310736 + ($139 + -1 << 2) >> 2] = $$0382; + $$2392 = $$1391; + break; + } + $106 = HEAP32[$4 + 1179664 + ($57 + -1 << 2) >> 2] | 0; + $109 = HEAP32[$4 + 1179664 + (($101 << 16 >> 16) + -1 << 2) >> 2] | 0; + L60 : do if (($106 | 0) <= ($109 | 0)) { + HEAP16[$$3 >> 1] = $106; + if (($106 | 0) < ($109 | 0)) { + $$3377 = $21; + $$3381 = 0; + while (1) { + if (($$3381 | 0) >= ($$1391 | 0)) { + $124 = $106; + break L60; + } + if ((HEAP32[$$3377 >> 2] | 0) == ($109 | 0)) HEAP32[$$3377 >> 2] = $106; + $$3377 = $$3377 + 4 | 0; + $$3381 = $$3381 + 1 | 0; + } + } else $124 = $106; + } else { + HEAP16[$$3 >> 1] = $109; + $$2376 = $21; + $$2380 = 0; + while (1) { + if (($$2380 | 0) >= ($$1391 | 0)) { + $124 = $109; + break L60; + } + if ((HEAP32[$$2376 >> 2] | 0) == ($106 | 0)) HEAP32[$$2376 >> 2] = $109; + $$2376 = $$2376 + 4 | 0; + $$2380 = $$2380 + 1 | 0; + } + } while (0); + $126 = ($124 << 16 >> 16) * 7 | 0; + $128 = $4 + 1310736 + ($126 + -7 << 2) | 0; + HEAP32[$128 >> 2] = (HEAP32[$128 >> 2] | 0) + 1; + $132 = $4 + 1310736 + ($126 + -6 << 2) | 0; + HEAP32[$132 >> 2] = (HEAP32[$132 >> 2] | 0) + $$2387; + $136 = $4 + 1310736 + ($126 + -5 << 2) | 0; + HEAP32[$136 >> 2] = (HEAP32[$136 >> 2] | 0) + $$0382; + $$2392 = $$1391; + } else { + HEAP16[$$3 >> 1] = 0; + HEAP8[$$1394 >> 0] = 0; + $$2392 = $$1391; + } while (0); + $$1 = $$1 + 2 | 0; + $$1391 = $$2392; + $$1394 = $$1394 + 1 | 0; + $$2387 = $$2387 + 1 | 0; + $$3 = $$3 + 2 | 0; + } + $$0369 = $$1 + $1 + 4 | 0; + $$0382 = $$0382 + 1 | 0; + $$0390 = $$1391; + $$0393 = $$1394 + 2 | 0; + $$2 = $$3 + 4 | 0; + } + L80 : do if ((label | 0) == 54) { + _arLog(0, 3, 23780, $vararg_buffer); + $$0 = -1; + } else if ((label | 0) == 59) { + $226 = $4 + 12 | 0; + $$1383 = 1; + $$3388 = 1; + $$4 = $21; + while (1) { + if (($$3388 | 0) > ($$0390 | 0)) break; + $228 = HEAP32[$$4 >> 2] | 0; + if (($228 | 0) == ($$3388 | 0)) { + $$2384 = $$1383 + 1 | 0; + $234 = $$1383; + } else { + $$2384 = $$1383; + $234 = HEAP32[$4 + 1179664 + ($228 + -1 << 2) >> 2] | 0; + } + HEAP32[$$4 >> 2] = $234; + $$1383 = $$2384; + $$3388 = $$3388 + 1 | 0; + $$4 = $$4 + 4 | 0; + } + $237 = $4 + 8 | 0; + $238 = $$1383 + -1 | 0; + HEAP32[$237 >> 2] = $238; + if (!$238) $$0 = 0; else { + _memset($226 | 0, 0, $238 << 2 | 0) | 0; + _memset($4 + 655376 | 0, 0, $238 << 4 | 0) | 0; + $$4389 = 0; + while (1) { + if (($$4389 | 0) >= ($238 | 0)) break; + $244 = $$4389 << 2; + HEAP32[$4 + 131084 + ($244 << 2) >> 2] = $5; + HEAP32[$4 + 131084 + (($244 | 1) << 2) >> 2] = 0; + HEAP32[$4 + 131084 + (($244 | 2) << 2) >> 2] = $6; + HEAP32[$4 + 131084 + (($244 | 3) << 2) >> 2] = 0; + $$4389 = $$4389 + 1 | 0; + } + $$5 = 0; + while (1) { + if (($$5 | 0) >= ($$0390 | 0)) break; + $256 = (HEAP32[$4 + 1179664 + ($$5 << 2) >> 2] | 0) + -1 | 0; + $257 = $$5 * 7 | 0; + $260 = $4 + 12 + ($256 << 2) | 0; + HEAP32[$260 >> 2] = (HEAP32[$260 >> 2] | 0) + (HEAP32[$4 + 1310736 + ($257 << 2) >> 2] | 0); + $267 = $256 << 1; + $268 = $4 + 655376 + ($267 << 3) | 0; + HEAPF64[$268 >> 3] = +HEAPF64[$268 >> 3] + +(HEAP32[$4 + 1310736 + ($257 + 1 << 2) >> 2] | 0); + $276 = $4 + 655376 + (($267 | 1) << 3) | 0; + HEAPF64[$276 >> 3] = +HEAPF64[$276 >> 3] + +(HEAP32[$4 + 1310736 + ($257 + 2 << 2) >> 2] | 0); + $279 = $256 << 2; + $280 = $4 + 131084 + ($279 << 2) | 0; + $284 = HEAP32[$4 + 1310736 + ($257 + 3 << 2) >> 2] | 0; + if ((HEAP32[$280 >> 2] | 0) > ($284 | 0)) HEAP32[$280 >> 2] = $284; + $287 = $4 + 131084 + (($279 | 1) << 2) | 0; + $291 = HEAP32[$4 + 1310736 + ($257 + 4 << 2) >> 2] | 0; + if ((HEAP32[$287 >> 2] | 0) < ($291 | 0)) HEAP32[$287 >> 2] = $291; + $294 = $4 + 131084 + (($279 | 2) << 2) | 0; + $298 = HEAP32[$4 + 1310736 + ($257 + 5 << 2) >> 2] | 0; + if ((HEAP32[$294 >> 2] | 0) > ($298 | 0)) HEAP32[$294 >> 2] = $298; + $301 = $4 + 131084 + (($279 | 3) << 2) | 0; + $305 = HEAP32[$4 + 1310736 + ($257 + 6 << 2) >> 2] | 0; + if ((HEAP32[$301 >> 2] | 0) < ($305 | 0)) HEAP32[$301 >> 2] = $305; + $$5 = $$5 + 1 | 0; + } + $308 = HEAP32[$237 >> 2] | 0; + $$6 = 0; + while (1) { + if (($$6 | 0) >= ($308 | 0)) { + $$0 = 0; + break L80; + } + $312 = +(HEAP32[$4 + 12 + ($$6 << 2) >> 2] | 0); + $313 = $$6 << 1; + $314 = $4 + 655376 + ($313 << 3) | 0; + HEAPF64[$314 >> 3] = +HEAPF64[$314 >> 3] / $312; + $318 = $4 + 655376 + (($313 | 1) << 3) | 0; + HEAPF64[$318 >> 3] = +HEAPF64[$318 >> 3] / $312; + $$6 = $$6 + 1 | 0; + } + } + } while (0); + STACKTOP = sp; + return $$0 | 0; +} + +function _arLabelingSubEBIC($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0 = 0, $$0369 = 0, $$0370 = 0, $$0372 = 0, $$0374 = 0, $$0378 = 0, $$0382 = 0, $$0385 = 0, $$0390 = 0, $$0393 = 0, $$1 = 0, $$1371 = 0, $$1373 = 0, $$1375 = 0, $$1379 = 0, $$1383 = 0, $$1386 = 0, $$1391 = 0, $$1394 = 0, $$2 = 0, $$2376 = 0, $$2380 = 0, $$2384 = 0, $$2387 = 0, $$2392 = 0, $$3 = 0, $$3377 = 0, $$3381 = 0, $$3388 = 0, $$4 = 0, $$4389 = 0, $$5 = 0, $$6 = 0, $101 = 0, $106 = 0, $109 = 0, $124 = 0, $126 = 0, $128 = 0, $132 = 0, $136 = 0, $139 = 0, $141 = 0, $145 = 0, $149 = 0, $15 = 0, $153 = 0, $158 = 0, $160 = 0, $164 = 0, $168 = 0, $172 = 0, $178 = 0, $181 = 0, $183 = 0, $187 = 0, $191 = 0, $195 = 0, $198 = 0, $203 = 0, $21 = 0, $22 = 0, $226 = 0, $228 = 0, $234 = 0, $237 = 0, $238 = 0, $244 = 0, $256 = 0, $257 = 0, $260 = 0, $267 = 0, $268 = 0, $276 = 0, $279 = 0, $280 = 0, $284 = 0, $287 = 0, $291 = 0, $294 = 0, $298 = 0, $30 = 0, $301 = 0, $305 = 0, $308 = 0, $312 = 0.0, $313 = 0, $314 = 0, $318 = 0, $36 = 0, $37 = 0, $40 = 0, $42 = 0, $46 = 0, $5 = 0, $50 = 0, $56 = 0, $57 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $65 = 0, $68 = 0, $7 = 0, $8 = 0, $83 = 0, $85 = 0, $87 = 0, $91 = 0, $95 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $vararg_buffer = sp; + $5 = ($1 | 0) / 2 | 0; + $6 = ($2 | 0) / 2 | 0; + $7 = HEAP32[$4 >> 2] | 0; + $8 = $6 + -1 | 0; + $$0370 = $7; + $$0372 = $7 + ((Math_imul($8, $5) | 0) << 1) | 0; + $$0385 = 0; + while (1) { + if (($$0385 | 0) >= ($5 | 0)) break; + HEAP16[$$0372 >> 1] = 0; + HEAP16[$$0370 >> 1] = 0; + $$0370 = $$0370 + 2 | 0; + $$0372 = $$0372 + 2 | 0; + $$0385 = $$0385 + 1 | 0; + } + $15 = $5 + -1 | 0; + $$1371 = $7; + $$1373 = $7 + ($15 << 1) | 0; + $$1386 = 0; + while (1) { + if (($$1386 | 0) >= ($6 | 0)) break; + HEAP16[$$1373 >> 1] = 0; + HEAP16[$$1371 >> 1] = 0; + $$1371 = $$1371 + ($5 << 1) | 0; + $$1373 = $$1373 + ($5 << 1) | 0; + $$1386 = $$1386 + 1 | 0; + } + $21 = $4 + 1179664 | 0; + $22 = $5 + 1 | 0; + $30 = 0 - $5 | 0; + $$0369 = $0 + (($1 << 1) + 2) | 0; + $$0382 = 1; + $$0390 = 0; + $$0393 = (HEAP32[$4 + 4 >> 2] | 0) + $22 | 0; + $$2 = $7 + ($22 << 1) | 0; + L9 : while (1) { + if (($$0382 | 0) >= ($8 | 0)) { + label = 59; + break; + } + $$1 = $$0369; + $$1391 = $$0390; + $$1394 = $$0393; + $$2387 = 1; + $$3 = $$2; + while (1) { + if (($$2387 | 0) >= ($15 | 0)) break; + do if ((HEAPU8[$$1 >> 0] | 0 | 0) > ($3 | 0)) { + HEAP16[$$3 >> 1] = 0; + HEAP8[$$1394 >> 0] = 0; + $$2392 = $$1391; + } else { + HEAP8[$$1394 >> 0] = -1; + $36 = $$3 + ($30 << 1) | 0; + $37 = HEAP16[$36 >> 1] | 0; + if ($37 << 16 >> 16 > 0) { + HEAP16[$$3 >> 1] = $37; + $40 = ($37 << 16 >> 16) * 7 | 0; + $42 = $4 + 1310736 + ($40 + -7 << 2) | 0; + HEAP32[$42 >> 2] = (HEAP32[$42 >> 2] | 0) + 1; + $46 = $4 + 1310736 + ($40 + -6 << 2) | 0; + HEAP32[$46 >> 2] = (HEAP32[$46 >> 2] | 0) + $$2387; + $50 = $4 + 1310736 + ($40 + -5 << 2) | 0; + HEAP32[$50 >> 2] = (HEAP32[$50 >> 2] | 0) + $$0382; + HEAP32[$4 + 1310736 + ($40 + -1 << 2) >> 2] = $$0382; + $$2392 = $$1391; + break; + } + $56 = HEAP16[$36 + 2 >> 1] | 0; + $57 = $56 << 16 >> 16; + $60 = HEAP16[$36 + -2 >> 1] | 0; + $61 = $60 << 16 >> 16; + $62 = $60 << 16 >> 16 > 0; + if ($56 << 16 >> 16 <= 0) { + if ($62) { + HEAP16[$$3 >> 1] = $60; + $158 = $61 * 7 | 0; + $160 = $4 + 1310736 + ($158 + -7 << 2) | 0; + HEAP32[$160 >> 2] = (HEAP32[$160 >> 2] | 0) + 1; + $164 = $4 + 1310736 + ($158 + -6 << 2) | 0; + HEAP32[$164 >> 2] = (HEAP32[$164 >> 2] | 0) + $$2387; + $168 = $4 + 1310736 + ($158 + -5 << 2) | 0; + HEAP32[$168 >> 2] = (HEAP32[$168 >> 2] | 0) + $$0382; + $172 = $4 + 1310736 + ($158 + -3 << 2) | 0; + if ((HEAP32[$172 >> 2] | 0) < ($$2387 | 0)) HEAP32[$172 >> 2] = $$2387; + HEAP32[$4 + 1310736 + ($158 + -1 << 2) >> 2] = $$0382; + $$2392 = $$1391; + break; + } + $178 = HEAP16[$$3 + -2 >> 1] | 0; + if ($178 << 16 >> 16 > 0) { + HEAP16[$$3 >> 1] = $178; + $181 = ($178 << 16 >> 16) * 7 | 0; + $183 = $4 + 1310736 + ($181 + -7 << 2) | 0; + HEAP32[$183 >> 2] = (HEAP32[$183 >> 2] | 0) + 1; + $187 = $4 + 1310736 + ($181 + -6 << 2) | 0; + HEAP32[$187 >> 2] = (HEAP32[$187 >> 2] | 0) + $$2387; + $191 = $4 + 1310736 + ($181 + -5 << 2) | 0; + HEAP32[$191 >> 2] = (HEAP32[$191 >> 2] | 0) + $$0382; + $195 = $4 + 1310736 + ($181 + -3 << 2) | 0; + if ((HEAP32[$195 >> 2] | 0) >= ($$2387 | 0)) { + $$2392 = $$1391; + break; + } + HEAP32[$195 >> 2] = $$2387; + $$2392 = $$1391; + break; + } else { + $198 = $$1391 + 1 | 0; + if (($$1391 | 0) > 32767) { + label = 54; + break L9; + } + HEAP16[$$3 >> 1] = $198; + HEAP32[$4 + 1179664 + ($$1391 << 2) >> 2] = $198 << 16 >> 16; + $203 = $$1391 * 7 | 0; + HEAP32[$4 + 1310736 + ($203 << 2) >> 2] = 1; + HEAP32[$4 + 1310736 + ($203 + 1 << 2) >> 2] = $$2387; + HEAP32[$4 + 1310736 + ($203 + 2 << 2) >> 2] = $$0382; + HEAP32[$4 + 1310736 + ($203 + 3 << 2) >> 2] = $$2387; + HEAP32[$4 + 1310736 + ($203 + 4 << 2) >> 2] = $$2387; + HEAP32[$4 + 1310736 + ($203 + 5 << 2) >> 2] = $$0382; + HEAP32[$4 + 1310736 + ($203 + 6 << 2) >> 2] = $$0382; + $$2392 = $198; + break; + } + } + if ($62) { + $65 = HEAP32[$4 + 1179664 + ($57 + -1 << 2) >> 2] | 0; + $68 = HEAP32[$4 + 1179664 + ($61 + -1 << 2) >> 2] | 0; + L37 : do if (($65 | 0) <= ($68 | 0)) { + HEAP16[$$3 >> 1] = $65; + if (($65 | 0) < ($68 | 0)) { + $$1375 = $21; + $$1379 = 0; + while (1) { + if (($$1379 | 0) >= ($$1391 | 0)) { + $83 = $65; + break L37; + } + if ((HEAP32[$$1375 >> 2] | 0) == ($68 | 0)) HEAP32[$$1375 >> 2] = $65; + $$1375 = $$1375 + 4 | 0; + $$1379 = $$1379 + 1 | 0; + } + } else $83 = $65; + } else { + HEAP16[$$3 >> 1] = $68; + $$0374 = $21; + $$0378 = 0; + while (1) { + if (($$0378 | 0) >= ($$1391 | 0)) { + $83 = $68; + break L37; + } + if ((HEAP32[$$0374 >> 2] | 0) == ($65 | 0)) HEAP32[$$0374 >> 2] = $68; + $$0374 = $$0374 + 4 | 0; + $$0378 = $$0378 + 1 | 0; + } + } while (0); + $85 = ($83 << 16 >> 16) * 7 | 0; + $87 = $4 + 1310736 + ($85 + -7 << 2) | 0; + HEAP32[$87 >> 2] = (HEAP32[$87 >> 2] | 0) + 1; + $91 = $4 + 1310736 + ($85 + -6 << 2) | 0; + HEAP32[$91 >> 2] = (HEAP32[$91 >> 2] | 0) + $$2387; + $95 = $4 + 1310736 + ($85 + -5 << 2) | 0; + HEAP32[$95 >> 2] = (HEAP32[$95 >> 2] | 0) + $$0382; + HEAP32[$4 + 1310736 + ($85 + -1 << 2) >> 2] = $$0382; + $$2392 = $$1391; + break; + } + $101 = HEAP16[$$3 + -2 >> 1] | 0; + if ($101 << 16 >> 16 <= 0) { + HEAP16[$$3 >> 1] = $56; + $139 = $57 * 7 | 0; + $141 = $4 + 1310736 + ($139 + -7 << 2) | 0; + HEAP32[$141 >> 2] = (HEAP32[$141 >> 2] | 0) + 1; + $145 = $4 + 1310736 + ($139 + -6 << 2) | 0; + HEAP32[$145 >> 2] = (HEAP32[$145 >> 2] | 0) + $$2387; + $149 = $4 + 1310736 + ($139 + -5 << 2) | 0; + HEAP32[$149 >> 2] = (HEAP32[$149 >> 2] | 0) + $$0382; + $153 = $4 + 1310736 + ($139 + -4 << 2) | 0; + if ((HEAP32[$153 >> 2] | 0) > ($$2387 | 0)) HEAP32[$153 >> 2] = $$2387; + HEAP32[$4 + 1310736 + ($139 + -1 << 2) >> 2] = $$0382; + $$2392 = $$1391; + break; + } + $106 = HEAP32[$4 + 1179664 + ($57 + -1 << 2) >> 2] | 0; + $109 = HEAP32[$4 + 1179664 + (($101 << 16 >> 16) + -1 << 2) >> 2] | 0; + L61 : do if (($106 | 0) <= ($109 | 0)) { + HEAP16[$$3 >> 1] = $106; + if (($106 | 0) < ($109 | 0)) { + $$3377 = $21; + $$3381 = 0; + while (1) { + if (($$3381 | 0) >= ($$1391 | 0)) { + $124 = $106; + break L61; + } + if ((HEAP32[$$3377 >> 2] | 0) == ($109 | 0)) HEAP32[$$3377 >> 2] = $106; + $$3377 = $$3377 + 4 | 0; + $$3381 = $$3381 + 1 | 0; + } + } else $124 = $106; + } else { + HEAP16[$$3 >> 1] = $109; + $$2376 = $21; + $$2380 = 0; + while (1) { + if (($$2380 | 0) >= ($$1391 | 0)) { + $124 = $109; + break L61; + } + if ((HEAP32[$$2376 >> 2] | 0) == ($106 | 0)) HEAP32[$$2376 >> 2] = $109; + $$2376 = $$2376 + 4 | 0; + $$2380 = $$2380 + 1 | 0; + } + } while (0); + $126 = ($124 << 16 >> 16) * 7 | 0; + $128 = $4 + 1310736 + ($126 + -7 << 2) | 0; + HEAP32[$128 >> 2] = (HEAP32[$128 >> 2] | 0) + 1; + $132 = $4 + 1310736 + ($126 + -6 << 2) | 0; + HEAP32[$132 >> 2] = (HEAP32[$132 >> 2] | 0) + $$2387; + $136 = $4 + 1310736 + ($126 + -5 << 2) | 0; + HEAP32[$136 >> 2] = (HEAP32[$136 >> 2] | 0) + $$0382; + $$2392 = $$1391; + } while (0); + $$1 = $$1 + 2 | 0; + $$1391 = $$2392; + $$1394 = $$1394 + 1 | 0; + $$2387 = $$2387 + 1 | 0; + $$3 = $$3 + 2 | 0; + } + $$0369 = $$1 + $1 + 4 | 0; + $$0382 = $$0382 + 1 | 0; + $$0390 = $$1391; + $$0393 = $$1394 + 2 | 0; + $$2 = $$3 + 4 | 0; + } + L80 : do if ((label | 0) == 54) { + _arLog(0, 3, 23780, $vararg_buffer); + $$0 = -1; + } else if ((label | 0) == 59) { + $226 = $4 + 12 | 0; + $$1383 = 1; + $$3388 = 1; + $$4 = $21; + while (1) { + if (($$3388 | 0) > ($$0390 | 0)) break; + $228 = HEAP32[$$4 >> 2] | 0; + if (($228 | 0) == ($$3388 | 0)) { + $$2384 = $$1383 + 1 | 0; + $234 = $$1383; + } else { + $$2384 = $$1383; + $234 = HEAP32[$4 + 1179664 + ($228 + -1 << 2) >> 2] | 0; + } + HEAP32[$$4 >> 2] = $234; + $$1383 = $$2384; + $$3388 = $$3388 + 1 | 0; + $$4 = $$4 + 4 | 0; + } + $237 = $4 + 8 | 0; + $238 = $$1383 + -1 | 0; + HEAP32[$237 >> 2] = $238; + if (!$238) $$0 = 0; else { + _memset($226 | 0, 0, $238 << 2 | 0) | 0; + _memset($4 + 655376 | 0, 0, $238 << 4 | 0) | 0; + $$4389 = 0; + while (1) { + if (($$4389 | 0) >= ($238 | 0)) break; + $244 = $$4389 << 2; + HEAP32[$4 + 131084 + ($244 << 2) >> 2] = $5; + HEAP32[$4 + 131084 + (($244 | 1) << 2) >> 2] = 0; + HEAP32[$4 + 131084 + (($244 | 2) << 2) >> 2] = $6; + HEAP32[$4 + 131084 + (($244 | 3) << 2) >> 2] = 0; + $$4389 = $$4389 + 1 | 0; + } + $$5 = 0; + while (1) { + if (($$5 | 0) >= ($$0390 | 0)) break; + $256 = (HEAP32[$4 + 1179664 + ($$5 << 2) >> 2] | 0) + -1 | 0; + $257 = $$5 * 7 | 0; + $260 = $4 + 12 + ($256 << 2) | 0; + HEAP32[$260 >> 2] = (HEAP32[$260 >> 2] | 0) + (HEAP32[$4 + 1310736 + ($257 << 2) >> 2] | 0); + $267 = $256 << 1; + $268 = $4 + 655376 + ($267 << 3) | 0; + HEAPF64[$268 >> 3] = +HEAPF64[$268 >> 3] + +(HEAP32[$4 + 1310736 + ($257 + 1 << 2) >> 2] | 0); + $276 = $4 + 655376 + (($267 | 1) << 3) | 0; + HEAPF64[$276 >> 3] = +HEAPF64[$276 >> 3] + +(HEAP32[$4 + 1310736 + ($257 + 2 << 2) >> 2] | 0); + $279 = $256 << 2; + $280 = $4 + 131084 + ($279 << 2) | 0; + $284 = HEAP32[$4 + 1310736 + ($257 + 3 << 2) >> 2] | 0; + if ((HEAP32[$280 >> 2] | 0) > ($284 | 0)) HEAP32[$280 >> 2] = $284; + $287 = $4 + 131084 + (($279 | 1) << 2) | 0; + $291 = HEAP32[$4 + 1310736 + ($257 + 4 << 2) >> 2] | 0; + if ((HEAP32[$287 >> 2] | 0) < ($291 | 0)) HEAP32[$287 >> 2] = $291; + $294 = $4 + 131084 + (($279 | 2) << 2) | 0; + $298 = HEAP32[$4 + 1310736 + ($257 + 5 << 2) >> 2] | 0; + if ((HEAP32[$294 >> 2] | 0) > ($298 | 0)) HEAP32[$294 >> 2] = $298; + $301 = $4 + 131084 + (($279 | 3) << 2) | 0; + $305 = HEAP32[$4 + 1310736 + ($257 + 6 << 2) >> 2] | 0; + if ((HEAP32[$301 >> 2] | 0) < ($305 | 0)) HEAP32[$301 >> 2] = $305; + $$5 = $$5 + 1 | 0; + } + $308 = HEAP32[$237 >> 2] | 0; + $$6 = 0; + while (1) { + if (($$6 | 0) >= ($308 | 0)) { + $$0 = 0; + break L80; + } + $312 = +(HEAP32[$4 + 12 + ($$6 << 2) >> 2] | 0); + $313 = $$6 << 1; + $314 = $4 + 655376 + ($313 << 3) | 0; + HEAPF64[$314 >> 3] = +HEAPF64[$314 >> 3] / $312; + $318 = $4 + 655376 + (($313 | 1) << 3) | 0; + HEAPF64[$318 >> 3] = +HEAPF64[$318 >> 3] / $312; + $$6 = $$6 + 1 | 0; + } + } + } while (0); + STACKTOP = sp; + return $$0 | 0; +} + +function __ZN6vision21HoughSimilarityVoting4voteEffff($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + var $$0 = 0, $10 = 0.0, $102 = 0, $106 = 0, $113 = 0, $118 = 0, $122 = 0, $129 = 0, $13 = 0.0, $134 = 0, $138 = 0, $145 = 0, $150 = 0, $154 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $16 = 0.0, $162 = 0, $166 = 0, $170 = 0, $174 = 0, $176 = 0, $178 = 0, $18 = 0.0, $180 = 0, $185 = 0, $190 = 0, $195 = 0, $22 = 0.0, $25 = 0.0, $33 = 0, $38 = 0, $42 = 0, $49 = 0, $5 = 0, $54 = 0, $58 = 0, $65 = 0, $7 = 0.0, $70 = 0, $74 = 0, $81 = 0, $86 = 0, $90 = 0, $97 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $5 = sp; + $7 = +HEAPF32[$0 + 20 >> 2]; + if ((((((!($7 > $1) ? ($10 = +HEAPF32[$0 + 24 >> 2], !($10 <= $1)) : 0) ? ($13 = +HEAPF32[$0 + 28 >> 2], !($13 > $2)) : 0) ? ($16 = +HEAPF32[$0 + 32 >> 2], !($16 <= $2)) : 0) ? ($18 = $3, !($18 <= -3.141592653589793 | $18 > 3.141592653589793)) : 0) ? ($22 = +HEAPF32[$0 + 36 >> 2], !($22 > $4)) : 0) ? ($25 = +HEAPF32[$0 + 40 >> 2], !($25 <= $4)) : 0) { + if (!($7 <= $1)) { + $33 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 36193) | 0, 36227) | 0, 39072) | 0, 360) | 0, 39079) | 0, 36314) | 0; + __ZNKSt3__28ios_base6getlocEv($5, $33 + (HEAP32[(HEAP32[$33 >> 2] | 0) + -12 >> 2] | 0) | 0); + $38 = __ZNKSt3__26locale9use_facetERNS0_2idE($5, 66512) | 0; + $42 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$38 >> 2] | 0) + 28 >> 2] & 127]($38, 10) | 0; + __ZNSt3__26localeD2Ev($5); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($33, $42) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($33) | 0; + _abort(); + } + if (!($10 > $1)) { + $49 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 36329) | 0, 36227) | 0, 39072) | 0, 361) | 0, 39079) | 0, 36314) | 0; + __ZNKSt3__28ios_base6getlocEv($5, $49 + (HEAP32[(HEAP32[$49 >> 2] | 0) + -12 >> 2] | 0) | 0); + $54 = __ZNKSt3__26locale9use_facetERNS0_2idE($5, 66512) | 0; + $58 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$54 >> 2] | 0) + 28 >> 2] & 127]($54, 10) | 0; + __ZNSt3__26localeD2Ev($5); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($49, $58) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($49) | 0; + _abort(); + } + if (!($13 <= $2)) { + $65 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 36362) | 0, 36227) | 0, 39072) | 0, 362) | 0, 39079) | 0, 36396) | 0; + __ZNKSt3__28ios_base6getlocEv($5, $65 + (HEAP32[(HEAP32[$65 >> 2] | 0) + -12 >> 2] | 0) | 0); + $70 = __ZNKSt3__26locale9use_facetERNS0_2idE($5, 66512) | 0; + $74 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$70 >> 2] | 0) + 28 >> 2] & 127]($70, 10) | 0; + __ZNSt3__26localeD2Ev($5); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($65, $74) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($65) | 0; + _abort(); + } + if (!($16 > $2)) { + $81 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 36411) | 0, 36227) | 0, 39072) | 0, 363) | 0, 39079) | 0, 36396) | 0; + __ZNKSt3__28ios_base6getlocEv($5, $81 + (HEAP32[(HEAP32[$81 >> 2] | 0) + -12 >> 2] | 0) | 0); + $86 = __ZNKSt3__26locale9use_facetERNS0_2idE($5, 66512) | 0; + $90 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$86 >> 2] | 0) + 28 >> 2] & 127]($86, 10) | 0; + __ZNSt3__26localeD2Ev($5); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($81, $90) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($81) | 0; + _abort(); + } + if (!($18 > -3.141592653589793)) { + $97 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 36444) | 0, 36227) | 0, 39072) | 0, 364) | 0, 39079) | 0, 36479) | 0; + __ZNKSt3__28ios_base6getlocEv($5, $97 + (HEAP32[(HEAP32[$97 >> 2] | 0) + -12 >> 2] | 0) | 0); + $102 = __ZNKSt3__26locale9use_facetERNS0_2idE($5, 66512) | 0; + $106 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$102 >> 2] | 0) + 28 >> 2] & 127]($102, 10) | 0; + __ZNSt3__26localeD2Ev($5); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($97, $106) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($97) | 0; + _abort(); + } + if (!($18 <= 3.141592653589793)) { + $113 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 36498) | 0, 36227) | 0, 39072) | 0, 365) | 0, 39079) | 0, 36479) | 0; + __ZNKSt3__28ios_base6getlocEv($5, $113 + (HEAP32[(HEAP32[$113 >> 2] | 0) + -12 >> 2] | 0) | 0); + $118 = __ZNKSt3__26locale9use_facetERNS0_2idE($5, 66512) | 0; + $122 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$118 >> 2] | 0) + 28 >> 2] & 127]($118, 10) | 0; + __ZNSt3__26localeD2Ev($5); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($113, $122) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($113) | 0; + _abort(); + } + if (!($22 <= $4)) { + $129 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 36533) | 0, 36227) | 0, 39072) | 0, 366) | 0, 39079) | 0, 36575) | 0; + __ZNKSt3__28ios_base6getlocEv($5, $129 + (HEAP32[(HEAP32[$129 >> 2] | 0) + -12 >> 2] | 0) | 0); + $134 = __ZNKSt3__26locale9use_facetERNS0_2idE($5, 66512) | 0; + $138 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$134 >> 2] | 0) + 28 >> 2] & 127]($134, 10) | 0; + __ZNSt3__26localeD2Ev($5); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($129, $138) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($129) | 0; + _abort(); + } + if (!($25 > $4)) { + $145 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 36594) | 0, 36227) | 0, 39072) | 0, 367) | 0, 39079) | 0, 36575) | 0; + __ZNKSt3__28ios_base6getlocEv($5, $145 + (HEAP32[(HEAP32[$145 >> 2] | 0) + -12 >> 2] | 0) | 0); + $150 = __ZNKSt3__26locale9use_facetERNS0_2idE($5, 66512) | 0; + $154 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$150 >> 2] | 0) + 28 >> 2] & 127]($150, 10) | 0; + __ZNSt3__26localeD2Ev($5); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($145, $154) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($145) | 0; + _abort(); + } + $155 = $0 + 68 | 0; + $156 = $0 + 72 | 0; + $157 = $0 + 76 | 0; + $158 = $0 + 80 | 0; + __ZNK6vision21HoughSimilarityVoting12mapVoteToBinERfS1_S1_S1_ffff($0, $155, $156, $157, $158, $1, $2, $3, $4); + $162 = ~~+Math_floor(+(+HEAPF32[$155 >> 2] + -.5)); + $166 = ~~+Math_floor(+(+HEAPF32[$156 >> 2] + -.5)); + $170 = ~~+Math_floor(+(+HEAPF32[$157 >> 2] + -.5)); + $174 = ~~+Math_floor(+(+HEAPF32[$158 >> 2] + -.5)); + $176 = HEAP32[$0 + 60 >> 2] | 0; + $178 = ($176 + $170 | 0) % ($176 | 0) | 0; + if (((($162 | 0) >= 0 ? ($180 = $162 + 1 | 0, !(($166 | 0) < 0 ? 1 : ($180 | 0) >= (HEAP32[$0 + 52 >> 2] | 0))) : 0) ? ($185 = $166 + 1 | 0, !(($174 | 0) < 0 ? 1 : ($185 | 0) >= (HEAP32[$0 + 56 >> 2] | 0))) : 0) ? ($190 = $174 + 1 | 0, ($190 | 0) < (HEAP32[$0 + 64 >> 2] | 0)) : 0) { + $195 = ($178 + 1 | 0) % ($176 | 0) | 0; + __ZN6vision21HoughSimilarityVoting11voteAtIndexEij($0, __ZNK6vision21HoughSimilarityVoting11getBinIndexEiiii($0, $162, $166, $178, $174) | 0, 1); + __ZN6vision21HoughSimilarityVoting11voteAtIndexEij($0, __ZNK6vision21HoughSimilarityVoting11getBinIndexEiiii($0, $180, $166, $178, $174) | 0, 1); + __ZN6vision21HoughSimilarityVoting11voteAtIndexEij($0, __ZNK6vision21HoughSimilarityVoting11getBinIndexEiiii($0, $180, $185, $178, $174) | 0, 1); + __ZN6vision21HoughSimilarityVoting11voteAtIndexEij($0, __ZNK6vision21HoughSimilarityVoting11getBinIndexEiiii($0, $180, $185, $195, $174) | 0, 1); + __ZN6vision21HoughSimilarityVoting11voteAtIndexEij($0, __ZNK6vision21HoughSimilarityVoting11getBinIndexEiiii($0, $180, $185, $195, $190) | 0, 1); + __ZN6vision21HoughSimilarityVoting11voteAtIndexEij($0, __ZNK6vision21HoughSimilarityVoting11getBinIndexEiiii($0, $180, $185, $178, $190) | 0, 1); + __ZN6vision21HoughSimilarityVoting11voteAtIndexEij($0, __ZNK6vision21HoughSimilarityVoting11getBinIndexEiiii($0, $180, $166, $195, $174) | 0, 1); + __ZN6vision21HoughSimilarityVoting11voteAtIndexEij($0, __ZNK6vision21HoughSimilarityVoting11getBinIndexEiiii($0, $180, $166, $195, $190) | 0, 1); + __ZN6vision21HoughSimilarityVoting11voteAtIndexEij($0, __ZNK6vision21HoughSimilarityVoting11getBinIndexEiiii($0, $180, $166, $178, $190) | 0, 1); + __ZN6vision21HoughSimilarityVoting11voteAtIndexEij($0, __ZNK6vision21HoughSimilarityVoting11getBinIndexEiiii($0, $162, $185, $178, $174) | 0, 1); + __ZN6vision21HoughSimilarityVoting11voteAtIndexEij($0, __ZNK6vision21HoughSimilarityVoting11getBinIndexEiiii($0, $162, $185, $195, $174) | 0, 1); + __ZN6vision21HoughSimilarityVoting11voteAtIndexEij($0, __ZNK6vision21HoughSimilarityVoting11getBinIndexEiiii($0, $162, $185, $195, $190) | 0, 1); + __ZN6vision21HoughSimilarityVoting11voteAtIndexEij($0, __ZNK6vision21HoughSimilarityVoting11getBinIndexEiiii($0, $162, $185, $178, $190) | 0, 1); + __ZN6vision21HoughSimilarityVoting11voteAtIndexEij($0, __ZNK6vision21HoughSimilarityVoting11getBinIndexEiiii($0, $162, $166, $195, $174) | 0, 1); + __ZN6vision21HoughSimilarityVoting11voteAtIndexEij($0, __ZNK6vision21HoughSimilarityVoting11getBinIndexEiiii($0, $162, $166, $195, $190) | 0, 1); + __ZN6vision21HoughSimilarityVoting11voteAtIndexEij($0, __ZNK6vision21HoughSimilarityVoting11getBinIndexEiiii($0, $162, $166, $178, $190) | 0, 1); + $$0 = 1; + } else $$0 = 0; + } else $$0 = 0; + STACKTOP = sp; + return $$0 | 0; +} + +function _arLabelingSubEWRC($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0 = 0, $$0367 = 0, $$0368 = 0, $$0370 = 0, $$0372 = 0, $$0376 = 0, $$0380 = 0, $$0383 = 0, $$0388 = 0, $$0391 = 0, $$1 = 0, $$1369 = 0, $$1371 = 0, $$1373 = 0, $$1377 = 0, $$1381 = 0, $$1384 = 0, $$1389 = 0, $$1392 = 0, $$2 = 0, $$2374 = 0, $$2378 = 0, $$2382 = 0, $$2385 = 0, $$2390 = 0, $$3 = 0, $$3375 = 0, $$3379 = 0, $$3386 = 0, $$4 = 0, $$4387 = 0, $$5 = 0, $$6 = 0, $102 = 0, $105 = 0, $120 = 0, $122 = 0, $124 = 0, $128 = 0, $13 = 0, $132 = 0, $135 = 0, $137 = 0, $141 = 0, $145 = 0, $149 = 0, $154 = 0, $156 = 0, $160 = 0, $164 = 0, $168 = 0, $174 = 0, $177 = 0, $179 = 0, $183 = 0, $187 = 0, $19 = 0, $191 = 0, $194 = 0, $199 = 0, $20 = 0, $221 = 0, $223 = 0, $229 = 0, $232 = 0, $233 = 0, $239 = 0, $251 = 0, $252 = 0, $255 = 0, $26 = 0, $262 = 0, $263 = 0, $271 = 0, $274 = 0, $275 = 0, $279 = 0, $282 = 0, $286 = 0, $289 = 0, $293 = 0, $296 = 0, $300 = 0, $303 = 0, $307 = 0.0, $308 = 0, $309 = 0, $313 = 0, $32 = 0, $33 = 0, $36 = 0, $38 = 0, $42 = 0, $46 = 0, $5 = 0, $52 = 0, $53 = 0, $56 = 0, $57 = 0, $58 = 0, $6 = 0, $61 = 0, $64 = 0, $79 = 0, $81 = 0, $83 = 0, $87 = 0, $91 = 0, $97 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $vararg_buffer = sp; + $5 = HEAP32[$4 >> 2] | 0; + $6 = $2 + -1 | 0; + $$0368 = $5; + $$0370 = $5 + ((Math_imul($6, $1) | 0) << 1) | 0; + $$0383 = 0; + while (1) { + if (($$0383 | 0) >= ($1 | 0)) break; + HEAP16[$$0370 >> 1] = 0; + HEAP16[$$0368 >> 1] = 0; + $$0368 = $$0368 + 2 | 0; + $$0370 = $$0370 + 2 | 0; + $$0383 = $$0383 + 1 | 0; + } + $13 = $1 + -1 | 0; + $$1369 = $5; + $$1371 = $5 + ($13 << 1) | 0; + $$1384 = 0; + while (1) { + if (($$1384 | 0) >= ($2 | 0)) break; + HEAP16[$$1371 >> 1] = 0; + HEAP16[$$1369 >> 1] = 0; + $$1369 = $$1369 + ($1 << 1) | 0; + $$1371 = $$1371 + ($1 << 1) | 0; + $$1384 = $$1384 + 1 | 0; + } + $19 = $4 + 1179664 | 0; + $20 = $1 + 1 | 0; + $26 = 0 - $1 | 0; + $$0367 = $0 + $20 | 0; + $$0380 = 1; + $$0388 = 0; + $$0391 = (HEAP32[$4 + 4 >> 2] | 0) + $20 | 0; + $$2 = $5 + ($20 << 1) | 0; + L9 : while (1) { + if (($$0380 | 0) >= ($6 | 0)) { + label = 59; + break; + } + $$1 = $$0367; + $$1389 = $$0388; + $$1392 = $$0391; + $$2385 = 1; + $$3 = $$2; + while (1) { + if (($$2385 | 0) >= ($13 | 0)) break; + do if ((HEAPU8[$$1 >> 0] | 0 | 0) > ($3 | 0)) { + HEAP8[$$1392 >> 0] = -1; + $32 = $$3 + ($26 << 1) | 0; + $33 = HEAP16[$32 >> 1] | 0; + if ($33 << 16 >> 16 > 0) { + HEAP16[$$3 >> 1] = $33; + $36 = ($33 << 16 >> 16) * 7 | 0; + $38 = $4 + 1310736 + ($36 + -7 << 2) | 0; + HEAP32[$38 >> 2] = (HEAP32[$38 >> 2] | 0) + 1; + $42 = $4 + 1310736 + ($36 + -6 << 2) | 0; + HEAP32[$42 >> 2] = (HEAP32[$42 >> 2] | 0) + $$2385; + $46 = $4 + 1310736 + ($36 + -5 << 2) | 0; + HEAP32[$46 >> 2] = (HEAP32[$46 >> 2] | 0) + $$0380; + HEAP32[$4 + 1310736 + ($36 + -1 << 2) >> 2] = $$0380; + $$2390 = $$1389; + break; + } + $52 = HEAP16[$32 + 2 >> 1] | 0; + $53 = $52 << 16 >> 16; + $56 = HEAP16[$32 + -2 >> 1] | 0; + $57 = $56 << 16 >> 16; + $58 = $56 << 16 >> 16 > 0; + if ($52 << 16 >> 16 <= 0) { + if ($58) { + HEAP16[$$3 >> 1] = $56; + $154 = $57 * 7 | 0; + $156 = $4 + 1310736 + ($154 + -7 << 2) | 0; + HEAP32[$156 >> 2] = (HEAP32[$156 >> 2] | 0) + 1; + $160 = $4 + 1310736 + ($154 + -6 << 2) | 0; + HEAP32[$160 >> 2] = (HEAP32[$160 >> 2] | 0) + $$2385; + $164 = $4 + 1310736 + ($154 + -5 << 2) | 0; + HEAP32[$164 >> 2] = (HEAP32[$164 >> 2] | 0) + $$0380; + $168 = $4 + 1310736 + ($154 + -3 << 2) | 0; + if ((HEAP32[$168 >> 2] | 0) < ($$2385 | 0)) HEAP32[$168 >> 2] = $$2385; + HEAP32[$4 + 1310736 + ($154 + -1 << 2) >> 2] = $$0380; + $$2390 = $$1389; + break; + } + $174 = HEAP16[$$3 + -2 >> 1] | 0; + if ($174 << 16 >> 16 > 0) { + HEAP16[$$3 >> 1] = $174; + $177 = ($174 << 16 >> 16) * 7 | 0; + $179 = $4 + 1310736 + ($177 + -7 << 2) | 0; + HEAP32[$179 >> 2] = (HEAP32[$179 >> 2] | 0) + 1; + $183 = $4 + 1310736 + ($177 + -6 << 2) | 0; + HEAP32[$183 >> 2] = (HEAP32[$183 >> 2] | 0) + $$2385; + $187 = $4 + 1310736 + ($177 + -5 << 2) | 0; + HEAP32[$187 >> 2] = (HEAP32[$187 >> 2] | 0) + $$0380; + $191 = $4 + 1310736 + ($177 + -3 << 2) | 0; + if ((HEAP32[$191 >> 2] | 0) >= ($$2385 | 0)) { + $$2390 = $$1389; + break; + } + HEAP32[$191 >> 2] = $$2385; + $$2390 = $$1389; + break; + } else { + $194 = $$1389 + 1 | 0; + if (($$1389 | 0) > 32767) { + label = 54; + break L9; + } + HEAP16[$$3 >> 1] = $194; + HEAP32[$4 + 1179664 + ($$1389 << 2) >> 2] = $194 << 16 >> 16; + $199 = $$1389 * 7 | 0; + HEAP32[$4 + 1310736 + ($199 << 2) >> 2] = 1; + HEAP32[$4 + 1310736 + ($199 + 1 << 2) >> 2] = $$2385; + HEAP32[$4 + 1310736 + ($199 + 2 << 2) >> 2] = $$0380; + HEAP32[$4 + 1310736 + ($199 + 3 << 2) >> 2] = $$2385; + HEAP32[$4 + 1310736 + ($199 + 4 << 2) >> 2] = $$2385; + HEAP32[$4 + 1310736 + ($199 + 5 << 2) >> 2] = $$0380; + HEAP32[$4 + 1310736 + ($199 + 6 << 2) >> 2] = $$0380; + $$2390 = $194; + break; + } + } + if ($58) { + $61 = HEAP32[$4 + 1179664 + ($53 + -1 << 2) >> 2] | 0; + $64 = HEAP32[$4 + 1179664 + ($57 + -1 << 2) >> 2] | 0; + L36 : do if (($61 | 0) <= ($64 | 0)) { + HEAP16[$$3 >> 1] = $61; + if (($61 | 0) < ($64 | 0)) { + $$1373 = $19; + $$1377 = 0; + while (1) { + if (($$1377 | 0) >= ($$1389 | 0)) { + $79 = $61; + break L36; + } + if ((HEAP32[$$1373 >> 2] | 0) == ($64 | 0)) HEAP32[$$1373 >> 2] = $61; + $$1373 = $$1373 + 4 | 0; + $$1377 = $$1377 + 1 | 0; + } + } else $79 = $61; + } else { + HEAP16[$$3 >> 1] = $64; + $$0372 = $19; + $$0376 = 0; + while (1) { + if (($$0376 | 0) >= ($$1389 | 0)) { + $79 = $64; + break L36; + } + if ((HEAP32[$$0372 >> 2] | 0) == ($61 | 0)) HEAP32[$$0372 >> 2] = $64; + $$0372 = $$0372 + 4 | 0; + $$0376 = $$0376 + 1 | 0; + } + } while (0); + $81 = ($79 << 16 >> 16) * 7 | 0; + $83 = $4 + 1310736 + ($81 + -7 << 2) | 0; + HEAP32[$83 >> 2] = (HEAP32[$83 >> 2] | 0) + 1; + $87 = $4 + 1310736 + ($81 + -6 << 2) | 0; + HEAP32[$87 >> 2] = (HEAP32[$87 >> 2] | 0) + $$2385; + $91 = $4 + 1310736 + ($81 + -5 << 2) | 0; + HEAP32[$91 >> 2] = (HEAP32[$91 >> 2] | 0) + $$0380; + HEAP32[$4 + 1310736 + ($81 + -1 << 2) >> 2] = $$0380; + $$2390 = $$1389; + break; + } + $97 = HEAP16[$$3 + -2 >> 1] | 0; + if ($97 << 16 >> 16 <= 0) { + HEAP16[$$3 >> 1] = $52; + $135 = $53 * 7 | 0; + $137 = $4 + 1310736 + ($135 + -7 << 2) | 0; + HEAP32[$137 >> 2] = (HEAP32[$137 >> 2] | 0) + 1; + $141 = $4 + 1310736 + ($135 + -6 << 2) | 0; + HEAP32[$141 >> 2] = (HEAP32[$141 >> 2] | 0) + $$2385; + $145 = $4 + 1310736 + ($135 + -5 << 2) | 0; + HEAP32[$145 >> 2] = (HEAP32[$145 >> 2] | 0) + $$0380; + $149 = $4 + 1310736 + ($135 + -4 << 2) | 0; + if ((HEAP32[$149 >> 2] | 0) > ($$2385 | 0)) HEAP32[$149 >> 2] = $$2385; + HEAP32[$4 + 1310736 + ($135 + -1 << 2) >> 2] = $$0380; + $$2390 = $$1389; + break; + } + $102 = HEAP32[$4 + 1179664 + ($53 + -1 << 2) >> 2] | 0; + $105 = HEAP32[$4 + 1179664 + (($97 << 16 >> 16) + -1 << 2) >> 2] | 0; + L60 : do if (($102 | 0) <= ($105 | 0)) { + HEAP16[$$3 >> 1] = $102; + if (($102 | 0) < ($105 | 0)) { + $$3375 = $19; + $$3379 = 0; + while (1) { + if (($$3379 | 0) >= ($$1389 | 0)) { + $120 = $102; + break L60; + } + if ((HEAP32[$$3375 >> 2] | 0) == ($105 | 0)) HEAP32[$$3375 >> 2] = $102; + $$3375 = $$3375 + 4 | 0; + $$3379 = $$3379 + 1 | 0; + } + } else $120 = $102; + } else { + HEAP16[$$3 >> 1] = $105; + $$2374 = $19; + $$2378 = 0; + while (1) { + if (($$2378 | 0) >= ($$1389 | 0)) { + $120 = $105; + break L60; + } + if ((HEAP32[$$2374 >> 2] | 0) == ($102 | 0)) HEAP32[$$2374 >> 2] = $105; + $$2374 = $$2374 + 4 | 0; + $$2378 = $$2378 + 1 | 0; + } + } while (0); + $122 = ($120 << 16 >> 16) * 7 | 0; + $124 = $4 + 1310736 + ($122 + -7 << 2) | 0; + HEAP32[$124 >> 2] = (HEAP32[$124 >> 2] | 0) + 1; + $128 = $4 + 1310736 + ($122 + -6 << 2) | 0; + HEAP32[$128 >> 2] = (HEAP32[$128 >> 2] | 0) + $$2385; + $132 = $4 + 1310736 + ($122 + -5 << 2) | 0; + HEAP32[$132 >> 2] = (HEAP32[$132 >> 2] | 0) + $$0380; + $$2390 = $$1389; + } else { + HEAP16[$$3 >> 1] = 0; + HEAP8[$$1392 >> 0] = 0; + $$2390 = $$1389; + } while (0); + $$1 = $$1 + 1 | 0; + $$1389 = $$2390; + $$1392 = $$1392 + 1 | 0; + $$2385 = $$2385 + 1 | 0; + $$3 = $$3 + 2 | 0; + } + $$0367 = $$1 + 2 | 0; + $$0380 = $$0380 + 1 | 0; + $$0388 = $$1389; + $$0391 = $$1392 + 2 | 0; + $$2 = $$3 + 4 | 0; + } + L80 : do if ((label | 0) == 54) { + _arLog(0, 3, 23780, $vararg_buffer); + $$0 = -1; + } else if ((label | 0) == 59) { + $221 = $4 + 12 | 0; + $$1381 = 1; + $$3386 = 1; + $$4 = $19; + while (1) { + if (($$3386 | 0) > ($$0388 | 0)) break; + $223 = HEAP32[$$4 >> 2] | 0; + if (($223 | 0) == ($$3386 | 0)) { + $$2382 = $$1381 + 1 | 0; + $229 = $$1381; + } else { + $$2382 = $$1381; + $229 = HEAP32[$4 + 1179664 + ($223 + -1 << 2) >> 2] | 0; + } + HEAP32[$$4 >> 2] = $229; + $$1381 = $$2382; + $$3386 = $$3386 + 1 | 0; + $$4 = $$4 + 4 | 0; + } + $232 = $4 + 8 | 0; + $233 = $$1381 + -1 | 0; + HEAP32[$232 >> 2] = $233; + if (!$233) $$0 = 0; else { + _memset($221 | 0, 0, $233 << 2 | 0) | 0; + _memset($4 + 655376 | 0, 0, $233 << 4 | 0) | 0; + $$4387 = 0; + while (1) { + if (($$4387 | 0) >= ($233 | 0)) break; + $239 = $$4387 << 2; + HEAP32[$4 + 131084 + ($239 << 2) >> 2] = $1; + HEAP32[$4 + 131084 + (($239 | 1) << 2) >> 2] = 0; + HEAP32[$4 + 131084 + (($239 | 2) << 2) >> 2] = $2; + HEAP32[$4 + 131084 + (($239 | 3) << 2) >> 2] = 0; + $$4387 = $$4387 + 1 | 0; + } + $$5 = 0; + while (1) { + if (($$5 | 0) >= ($$0388 | 0)) break; + $251 = (HEAP32[$4 + 1179664 + ($$5 << 2) >> 2] | 0) + -1 | 0; + $252 = $$5 * 7 | 0; + $255 = $4 + 12 + ($251 << 2) | 0; + HEAP32[$255 >> 2] = (HEAP32[$255 >> 2] | 0) + (HEAP32[$4 + 1310736 + ($252 << 2) >> 2] | 0); + $262 = $251 << 1; + $263 = $4 + 655376 + ($262 << 3) | 0; + HEAPF64[$263 >> 3] = +HEAPF64[$263 >> 3] + +(HEAP32[$4 + 1310736 + ($252 + 1 << 2) >> 2] | 0); + $271 = $4 + 655376 + (($262 | 1) << 3) | 0; + HEAPF64[$271 >> 3] = +HEAPF64[$271 >> 3] + +(HEAP32[$4 + 1310736 + ($252 + 2 << 2) >> 2] | 0); + $274 = $251 << 2; + $275 = $4 + 131084 + ($274 << 2) | 0; + $279 = HEAP32[$4 + 1310736 + ($252 + 3 << 2) >> 2] | 0; + if ((HEAP32[$275 >> 2] | 0) > ($279 | 0)) HEAP32[$275 >> 2] = $279; + $282 = $4 + 131084 + (($274 | 1) << 2) | 0; + $286 = HEAP32[$4 + 1310736 + ($252 + 4 << 2) >> 2] | 0; + if ((HEAP32[$282 >> 2] | 0) < ($286 | 0)) HEAP32[$282 >> 2] = $286; + $289 = $4 + 131084 + (($274 | 2) << 2) | 0; + $293 = HEAP32[$4 + 1310736 + ($252 + 5 << 2) >> 2] | 0; + if ((HEAP32[$289 >> 2] | 0) > ($293 | 0)) HEAP32[$289 >> 2] = $293; + $296 = $4 + 131084 + (($274 | 3) << 2) | 0; + $300 = HEAP32[$4 + 1310736 + ($252 + 6 << 2) >> 2] | 0; + if ((HEAP32[$296 >> 2] | 0) < ($300 | 0)) HEAP32[$296 >> 2] = $300; + $$5 = $$5 + 1 | 0; + } + $303 = HEAP32[$232 >> 2] | 0; + $$6 = 0; + while (1) { + if (($$6 | 0) >= ($303 | 0)) { + $$0 = 0; + break L80; + } + $307 = +(HEAP32[$4 + 12 + ($$6 << 2) >> 2] | 0); + $308 = $$6 << 1; + $309 = $4 + 655376 + ($308 << 3) | 0; + HEAPF64[$309 >> 3] = +HEAPF64[$309 >> 3] / $307; + $313 = $4 + 655376 + (($308 | 1) << 3) | 0; + HEAPF64[$313 >> 3] = +HEAPF64[$313 >> 3] / $307; + $$6 = $$6 + 1 | 0; + } + } + } while (0); + STACKTOP = sp; + return $$0 | 0; +} + +function _arLabelingSubEBRC($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0 = 0, $$0367 = 0, $$0368 = 0, $$0370 = 0, $$0372 = 0, $$0376 = 0, $$0380 = 0, $$0383 = 0, $$0388 = 0, $$0391 = 0, $$1 = 0, $$1369 = 0, $$1371 = 0, $$1373 = 0, $$1377 = 0, $$1381 = 0, $$1384 = 0, $$1389 = 0, $$1392 = 0, $$2 = 0, $$2374 = 0, $$2378 = 0, $$2382 = 0, $$2385 = 0, $$2390 = 0, $$3 = 0, $$3375 = 0, $$3379 = 0, $$3386 = 0, $$4 = 0, $$4387 = 0, $$5 = 0, $$6 = 0, $102 = 0, $105 = 0, $120 = 0, $122 = 0, $124 = 0, $128 = 0, $13 = 0, $132 = 0, $135 = 0, $137 = 0, $141 = 0, $145 = 0, $149 = 0, $154 = 0, $156 = 0, $160 = 0, $164 = 0, $168 = 0, $174 = 0, $177 = 0, $179 = 0, $183 = 0, $187 = 0, $19 = 0, $191 = 0, $194 = 0, $199 = 0, $20 = 0, $221 = 0, $223 = 0, $229 = 0, $232 = 0, $233 = 0, $239 = 0, $251 = 0, $252 = 0, $255 = 0, $26 = 0, $262 = 0, $263 = 0, $271 = 0, $274 = 0, $275 = 0, $279 = 0, $282 = 0, $286 = 0, $289 = 0, $293 = 0, $296 = 0, $300 = 0, $303 = 0, $307 = 0.0, $308 = 0, $309 = 0, $313 = 0, $32 = 0, $33 = 0, $36 = 0, $38 = 0, $42 = 0, $46 = 0, $5 = 0, $52 = 0, $53 = 0, $56 = 0, $57 = 0, $58 = 0, $6 = 0, $61 = 0, $64 = 0, $79 = 0, $81 = 0, $83 = 0, $87 = 0, $91 = 0, $97 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $vararg_buffer = sp; + $5 = HEAP32[$4 >> 2] | 0; + $6 = $2 + -1 | 0; + $$0368 = $5; + $$0370 = $5 + ((Math_imul($6, $1) | 0) << 1) | 0; + $$0383 = 0; + while (1) { + if (($$0383 | 0) >= ($1 | 0)) break; + HEAP16[$$0370 >> 1] = 0; + HEAP16[$$0368 >> 1] = 0; + $$0368 = $$0368 + 2 | 0; + $$0370 = $$0370 + 2 | 0; + $$0383 = $$0383 + 1 | 0; + } + $13 = $1 + -1 | 0; + $$1369 = $5; + $$1371 = $5 + ($13 << 1) | 0; + $$1384 = 0; + while (1) { + if (($$1384 | 0) >= ($2 | 0)) break; + HEAP16[$$1371 >> 1] = 0; + HEAP16[$$1369 >> 1] = 0; + $$1369 = $$1369 + ($1 << 1) | 0; + $$1371 = $$1371 + ($1 << 1) | 0; + $$1384 = $$1384 + 1 | 0; + } + $19 = $4 + 1179664 | 0; + $20 = $1 + 1 | 0; + $26 = 0 - $1 | 0; + $$0367 = $0 + $20 | 0; + $$0380 = 1; + $$0388 = 0; + $$0391 = (HEAP32[$4 + 4 >> 2] | 0) + $20 | 0; + $$2 = $5 + ($20 << 1) | 0; + L9 : while (1) { + if (($$0380 | 0) >= ($6 | 0)) { + label = 59; + break; + } + $$1 = $$0367; + $$1389 = $$0388; + $$1392 = $$0391; + $$2385 = 1; + $$3 = $$2; + while (1) { + if (($$2385 | 0) >= ($13 | 0)) break; + do if ((HEAPU8[$$1 >> 0] | 0 | 0) > ($3 | 0)) { + HEAP16[$$3 >> 1] = 0; + HEAP8[$$1392 >> 0] = 0; + $$2390 = $$1389; + } else { + HEAP8[$$1392 >> 0] = -1; + $32 = $$3 + ($26 << 1) | 0; + $33 = HEAP16[$32 >> 1] | 0; + if ($33 << 16 >> 16 > 0) { + HEAP16[$$3 >> 1] = $33; + $36 = ($33 << 16 >> 16) * 7 | 0; + $38 = $4 + 1310736 + ($36 + -7 << 2) | 0; + HEAP32[$38 >> 2] = (HEAP32[$38 >> 2] | 0) + 1; + $42 = $4 + 1310736 + ($36 + -6 << 2) | 0; + HEAP32[$42 >> 2] = (HEAP32[$42 >> 2] | 0) + $$2385; + $46 = $4 + 1310736 + ($36 + -5 << 2) | 0; + HEAP32[$46 >> 2] = (HEAP32[$46 >> 2] | 0) + $$0380; + HEAP32[$4 + 1310736 + ($36 + -1 << 2) >> 2] = $$0380; + $$2390 = $$1389; + break; + } + $52 = HEAP16[$32 + 2 >> 1] | 0; + $53 = $52 << 16 >> 16; + $56 = HEAP16[$32 + -2 >> 1] | 0; + $57 = $56 << 16 >> 16; + $58 = $56 << 16 >> 16 > 0; + if ($52 << 16 >> 16 <= 0) { + if ($58) { + HEAP16[$$3 >> 1] = $56; + $154 = $57 * 7 | 0; + $156 = $4 + 1310736 + ($154 + -7 << 2) | 0; + HEAP32[$156 >> 2] = (HEAP32[$156 >> 2] | 0) + 1; + $160 = $4 + 1310736 + ($154 + -6 << 2) | 0; + HEAP32[$160 >> 2] = (HEAP32[$160 >> 2] | 0) + $$2385; + $164 = $4 + 1310736 + ($154 + -5 << 2) | 0; + HEAP32[$164 >> 2] = (HEAP32[$164 >> 2] | 0) + $$0380; + $168 = $4 + 1310736 + ($154 + -3 << 2) | 0; + if ((HEAP32[$168 >> 2] | 0) < ($$2385 | 0)) HEAP32[$168 >> 2] = $$2385; + HEAP32[$4 + 1310736 + ($154 + -1 << 2) >> 2] = $$0380; + $$2390 = $$1389; + break; + } + $174 = HEAP16[$$3 + -2 >> 1] | 0; + if ($174 << 16 >> 16 > 0) { + HEAP16[$$3 >> 1] = $174; + $177 = ($174 << 16 >> 16) * 7 | 0; + $179 = $4 + 1310736 + ($177 + -7 << 2) | 0; + HEAP32[$179 >> 2] = (HEAP32[$179 >> 2] | 0) + 1; + $183 = $4 + 1310736 + ($177 + -6 << 2) | 0; + HEAP32[$183 >> 2] = (HEAP32[$183 >> 2] | 0) + $$2385; + $187 = $4 + 1310736 + ($177 + -5 << 2) | 0; + HEAP32[$187 >> 2] = (HEAP32[$187 >> 2] | 0) + $$0380; + $191 = $4 + 1310736 + ($177 + -3 << 2) | 0; + if ((HEAP32[$191 >> 2] | 0) >= ($$2385 | 0)) { + $$2390 = $$1389; + break; + } + HEAP32[$191 >> 2] = $$2385; + $$2390 = $$1389; + break; + } else { + $194 = $$1389 + 1 | 0; + if (($$1389 | 0) > 32767) { + label = 54; + break L9; + } + HEAP16[$$3 >> 1] = $194; + HEAP32[$4 + 1179664 + ($$1389 << 2) >> 2] = $194 << 16 >> 16; + $199 = $$1389 * 7 | 0; + HEAP32[$4 + 1310736 + ($199 << 2) >> 2] = 1; + HEAP32[$4 + 1310736 + ($199 + 1 << 2) >> 2] = $$2385; + HEAP32[$4 + 1310736 + ($199 + 2 << 2) >> 2] = $$0380; + HEAP32[$4 + 1310736 + ($199 + 3 << 2) >> 2] = $$2385; + HEAP32[$4 + 1310736 + ($199 + 4 << 2) >> 2] = $$2385; + HEAP32[$4 + 1310736 + ($199 + 5 << 2) >> 2] = $$0380; + HEAP32[$4 + 1310736 + ($199 + 6 << 2) >> 2] = $$0380; + $$2390 = $194; + break; + } + } + if ($58) { + $61 = HEAP32[$4 + 1179664 + ($53 + -1 << 2) >> 2] | 0; + $64 = HEAP32[$4 + 1179664 + ($57 + -1 << 2) >> 2] | 0; + L37 : do if (($61 | 0) <= ($64 | 0)) { + HEAP16[$$3 >> 1] = $61; + if (($61 | 0) < ($64 | 0)) { + $$1373 = $19; + $$1377 = 0; + while (1) { + if (($$1377 | 0) >= ($$1389 | 0)) { + $79 = $61; + break L37; + } + if ((HEAP32[$$1373 >> 2] | 0) == ($64 | 0)) HEAP32[$$1373 >> 2] = $61; + $$1373 = $$1373 + 4 | 0; + $$1377 = $$1377 + 1 | 0; + } + } else $79 = $61; + } else { + HEAP16[$$3 >> 1] = $64; + $$0372 = $19; + $$0376 = 0; + while (1) { + if (($$0376 | 0) >= ($$1389 | 0)) { + $79 = $64; + break L37; + } + if ((HEAP32[$$0372 >> 2] | 0) == ($61 | 0)) HEAP32[$$0372 >> 2] = $64; + $$0372 = $$0372 + 4 | 0; + $$0376 = $$0376 + 1 | 0; + } + } while (0); + $81 = ($79 << 16 >> 16) * 7 | 0; + $83 = $4 + 1310736 + ($81 + -7 << 2) | 0; + HEAP32[$83 >> 2] = (HEAP32[$83 >> 2] | 0) + 1; + $87 = $4 + 1310736 + ($81 + -6 << 2) | 0; + HEAP32[$87 >> 2] = (HEAP32[$87 >> 2] | 0) + $$2385; + $91 = $4 + 1310736 + ($81 + -5 << 2) | 0; + HEAP32[$91 >> 2] = (HEAP32[$91 >> 2] | 0) + $$0380; + HEAP32[$4 + 1310736 + ($81 + -1 << 2) >> 2] = $$0380; + $$2390 = $$1389; + break; + } + $97 = HEAP16[$$3 + -2 >> 1] | 0; + if ($97 << 16 >> 16 <= 0) { + HEAP16[$$3 >> 1] = $52; + $135 = $53 * 7 | 0; + $137 = $4 + 1310736 + ($135 + -7 << 2) | 0; + HEAP32[$137 >> 2] = (HEAP32[$137 >> 2] | 0) + 1; + $141 = $4 + 1310736 + ($135 + -6 << 2) | 0; + HEAP32[$141 >> 2] = (HEAP32[$141 >> 2] | 0) + $$2385; + $145 = $4 + 1310736 + ($135 + -5 << 2) | 0; + HEAP32[$145 >> 2] = (HEAP32[$145 >> 2] | 0) + $$0380; + $149 = $4 + 1310736 + ($135 + -4 << 2) | 0; + if ((HEAP32[$149 >> 2] | 0) > ($$2385 | 0)) HEAP32[$149 >> 2] = $$2385; + HEAP32[$4 + 1310736 + ($135 + -1 << 2) >> 2] = $$0380; + $$2390 = $$1389; + break; + } + $102 = HEAP32[$4 + 1179664 + ($53 + -1 << 2) >> 2] | 0; + $105 = HEAP32[$4 + 1179664 + (($97 << 16 >> 16) + -1 << 2) >> 2] | 0; + L61 : do if (($102 | 0) <= ($105 | 0)) { + HEAP16[$$3 >> 1] = $102; + if (($102 | 0) < ($105 | 0)) { + $$3375 = $19; + $$3379 = 0; + while (1) { + if (($$3379 | 0) >= ($$1389 | 0)) { + $120 = $102; + break L61; + } + if ((HEAP32[$$3375 >> 2] | 0) == ($105 | 0)) HEAP32[$$3375 >> 2] = $102; + $$3375 = $$3375 + 4 | 0; + $$3379 = $$3379 + 1 | 0; + } + } else $120 = $102; + } else { + HEAP16[$$3 >> 1] = $105; + $$2374 = $19; + $$2378 = 0; + while (1) { + if (($$2378 | 0) >= ($$1389 | 0)) { + $120 = $105; + break L61; + } + if ((HEAP32[$$2374 >> 2] | 0) == ($102 | 0)) HEAP32[$$2374 >> 2] = $105; + $$2374 = $$2374 + 4 | 0; + $$2378 = $$2378 + 1 | 0; + } + } while (0); + $122 = ($120 << 16 >> 16) * 7 | 0; + $124 = $4 + 1310736 + ($122 + -7 << 2) | 0; + HEAP32[$124 >> 2] = (HEAP32[$124 >> 2] | 0) + 1; + $128 = $4 + 1310736 + ($122 + -6 << 2) | 0; + HEAP32[$128 >> 2] = (HEAP32[$128 >> 2] | 0) + $$2385; + $132 = $4 + 1310736 + ($122 + -5 << 2) | 0; + HEAP32[$132 >> 2] = (HEAP32[$132 >> 2] | 0) + $$0380; + $$2390 = $$1389; + } while (0); + $$1 = $$1 + 1 | 0; + $$1389 = $$2390; + $$1392 = $$1392 + 1 | 0; + $$2385 = $$2385 + 1 | 0; + $$3 = $$3 + 2 | 0; + } + $$0367 = $$1 + 2 | 0; + $$0380 = $$0380 + 1 | 0; + $$0388 = $$1389; + $$0391 = $$1392 + 2 | 0; + $$2 = $$3 + 4 | 0; + } + L80 : do if ((label | 0) == 54) { + _arLog(0, 3, 23780, $vararg_buffer); + $$0 = -1; + } else if ((label | 0) == 59) { + $221 = $4 + 12 | 0; + $$1381 = 1; + $$3386 = 1; + $$4 = $19; + while (1) { + if (($$3386 | 0) > ($$0388 | 0)) break; + $223 = HEAP32[$$4 >> 2] | 0; + if (($223 | 0) == ($$3386 | 0)) { + $$2382 = $$1381 + 1 | 0; + $229 = $$1381; + } else { + $$2382 = $$1381; + $229 = HEAP32[$4 + 1179664 + ($223 + -1 << 2) >> 2] | 0; + } + HEAP32[$$4 >> 2] = $229; + $$1381 = $$2382; + $$3386 = $$3386 + 1 | 0; + $$4 = $$4 + 4 | 0; + } + $232 = $4 + 8 | 0; + $233 = $$1381 + -1 | 0; + HEAP32[$232 >> 2] = $233; + if (!$233) $$0 = 0; else { + _memset($221 | 0, 0, $233 << 2 | 0) | 0; + _memset($4 + 655376 | 0, 0, $233 << 4 | 0) | 0; + $$4387 = 0; + while (1) { + if (($$4387 | 0) >= ($233 | 0)) break; + $239 = $$4387 << 2; + HEAP32[$4 + 131084 + ($239 << 2) >> 2] = $1; + HEAP32[$4 + 131084 + (($239 | 1) << 2) >> 2] = 0; + HEAP32[$4 + 131084 + (($239 | 2) << 2) >> 2] = $2; + HEAP32[$4 + 131084 + (($239 | 3) << 2) >> 2] = 0; + $$4387 = $$4387 + 1 | 0; + } + $$5 = 0; + while (1) { + if (($$5 | 0) >= ($$0388 | 0)) break; + $251 = (HEAP32[$4 + 1179664 + ($$5 << 2) >> 2] | 0) + -1 | 0; + $252 = $$5 * 7 | 0; + $255 = $4 + 12 + ($251 << 2) | 0; + HEAP32[$255 >> 2] = (HEAP32[$255 >> 2] | 0) + (HEAP32[$4 + 1310736 + ($252 << 2) >> 2] | 0); + $262 = $251 << 1; + $263 = $4 + 655376 + ($262 << 3) | 0; + HEAPF64[$263 >> 3] = +HEAPF64[$263 >> 3] + +(HEAP32[$4 + 1310736 + ($252 + 1 << 2) >> 2] | 0); + $271 = $4 + 655376 + (($262 | 1) << 3) | 0; + HEAPF64[$271 >> 3] = +HEAPF64[$271 >> 3] + +(HEAP32[$4 + 1310736 + ($252 + 2 << 2) >> 2] | 0); + $274 = $251 << 2; + $275 = $4 + 131084 + ($274 << 2) | 0; + $279 = HEAP32[$4 + 1310736 + ($252 + 3 << 2) >> 2] | 0; + if ((HEAP32[$275 >> 2] | 0) > ($279 | 0)) HEAP32[$275 >> 2] = $279; + $282 = $4 + 131084 + (($274 | 1) << 2) | 0; + $286 = HEAP32[$4 + 1310736 + ($252 + 4 << 2) >> 2] | 0; + if ((HEAP32[$282 >> 2] | 0) < ($286 | 0)) HEAP32[$282 >> 2] = $286; + $289 = $4 + 131084 + (($274 | 2) << 2) | 0; + $293 = HEAP32[$4 + 1310736 + ($252 + 5 << 2) >> 2] | 0; + if ((HEAP32[$289 >> 2] | 0) > ($293 | 0)) HEAP32[$289 >> 2] = $293; + $296 = $4 + 131084 + (($274 | 3) << 2) | 0; + $300 = HEAP32[$4 + 1310736 + ($252 + 6 << 2) >> 2] | 0; + if ((HEAP32[$296 >> 2] | 0) < ($300 | 0)) HEAP32[$296 >> 2] = $300; + $$5 = $$5 + 1 | 0; + } + $303 = HEAP32[$232 >> 2] | 0; + $$6 = 0; + while (1) { + if (($$6 | 0) >= ($303 | 0)) { + $$0 = 0; + break L80; + } + $307 = +(HEAP32[$4 + 12 + ($$6 << 2) >> 2] | 0); + $308 = $$6 << 1; + $309 = $4 + 655376 + ($308 << 3) | 0; + HEAPF64[$309 >> 3] = +HEAPF64[$309 >> 3] / $307; + $313 = $4 + 655376 + (($308 | 1) << 3) | 0; + HEAPF64[$313 >> 3] = +HEAPF64[$313 >> 3] / $307; + $$6 = $$6 + 1 | 0; + } + } + } while (0); + STACKTOP = sp; + return $$0 | 0; +} + +function _arLabelingSubDWZ($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0 = 0, $$0364 = 0, $$0365 = 0, $$0367 = 0, $$0369 = 0, $$0371 = 0, $$0375 = 0, $$0378 = 0, $$0383 = 0, $$0386 = 0, $$1 = 0, $$1366 = 0, $$1368 = 0, $$1370 = 0, $$1372 = 0, $$1376 = 0, $$1379 = 0, $$1384 = 0, $$1387 = 0, $$2 = 0, $$2373 = 0, $$2377 = 0, $$2380 = 0, $$2385 = 0, $$2388 = 0, $$3 = 0, $$3374 = 0, $$3381 = 0, $$3389 = 0, $$4 = 0, $$4382 = 0, $$5 = 0, $$6 = 0, $100 = 0, $103 = 0, $118 = 0, $120 = 0, $122 = 0, $126 = 0, $13 = 0, $130 = 0, $133 = 0, $135 = 0, $139 = 0, $143 = 0, $147 = 0, $152 = 0, $154 = 0, $158 = 0, $162 = 0, $166 = 0, $172 = 0, $175 = 0, $177 = 0, $181 = 0, $185 = 0, $189 = 0, $19 = 0, $192 = 0, $197 = 0, $20 = 0, $219 = 0, $221 = 0, $227 = 0, $230 = 0, $231 = 0, $237 = 0, $24 = 0, $249 = 0, $250 = 0, $253 = 0, $260 = 0, $261 = 0, $269 = 0, $272 = 0, $273 = 0, $277 = 0, $280 = 0, $284 = 0, $287 = 0, $291 = 0, $294 = 0, $298 = 0, $30 = 0, $301 = 0, $305 = 0.0, $306 = 0, $307 = 0, $31 = 0, $311 = 0, $34 = 0, $36 = 0, $40 = 0, $44 = 0, $5 = 0, $50 = 0, $51 = 0, $54 = 0, $55 = 0, $56 = 0, $59 = 0, $6 = 0, $62 = 0, $77 = 0, $79 = 0, $81 = 0, $85 = 0, $89 = 0, $95 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $vararg_buffer = sp; + $5 = HEAP32[$4 >> 2] | 0; + $6 = $2 + -1 | 0; + $$0367 = $5; + $$0378 = 0; + $$0386 = $5 + ((Math_imul($6, $1) | 0) << 1) | 0; + while (1) { + if (($$0378 | 0) >= ($1 | 0)) break; + HEAP16[$$0386 >> 1] = 0; + HEAP16[$$0367 >> 1] = 0; + $$0367 = $$0367 + 2 | 0; + $$0378 = $$0378 + 1 | 0; + $$0386 = $$0386 + 2 | 0; + } + $13 = $1 + -1 | 0; + $$1368 = $5; + $$1379 = 0; + $$1387 = $5 + ($13 << 1) | 0; + while (1) { + if (($$1379 | 0) >= ($2 | 0)) break; + HEAP16[$$1387 >> 1] = 0; + HEAP16[$$1368 >> 1] = 0; + $$1368 = $$1368 + ($1 << 1) | 0; + $$1379 = $$1379 + 1 | 0; + $$1387 = $$1387 + ($1 << 1) | 0; + } + $19 = $4 + 1179664 | 0; + $20 = $1 + 1 | 0; + $24 = 0 - $1 | 0; + $$0364 = $0 + $20 | 0; + $$0365 = $3 + $20 | 0; + $$0375 = 1; + $$0383 = 0; + $$2388 = $5 + ($20 << 1) | 0; + L9 : while (1) { + if (($$0375 | 0) >= ($6 | 0)) { + label = 59; + break; + } + $$1 = $$0364; + $$1366 = $$0365; + $$1384 = $$0383; + $$2380 = 1; + $$3389 = $$2388; + while (1) { + if (($$2380 | 0) >= ($13 | 0)) break; + do if ((HEAPU8[$$1 >> 0] | 0) > (HEAPU8[$$1366 >> 0] | 0)) { + $30 = $$3389 + ($24 << 1) | 0; + $31 = HEAP16[$30 >> 1] | 0; + if ($31 << 16 >> 16 > 0) { + HEAP16[$$3389 >> 1] = $31; + $34 = ($31 << 16 >> 16) * 7 | 0; + $36 = $4 + 1310736 + ($34 + -7 << 2) | 0; + HEAP32[$36 >> 2] = (HEAP32[$36 >> 2] | 0) + 1; + $40 = $4 + 1310736 + ($34 + -6 << 2) | 0; + HEAP32[$40 >> 2] = (HEAP32[$40 >> 2] | 0) + $$2380; + $44 = $4 + 1310736 + ($34 + -5 << 2) | 0; + HEAP32[$44 >> 2] = (HEAP32[$44 >> 2] | 0) + $$0375; + HEAP32[$4 + 1310736 + ($34 + -1 << 2) >> 2] = $$0375; + $$2385 = $$1384; + break; + } + $50 = HEAP16[$30 + 2 >> 1] | 0; + $51 = $50 << 16 >> 16; + $54 = HEAP16[$30 + -2 >> 1] | 0; + $55 = $54 << 16 >> 16; + $56 = $54 << 16 >> 16 > 0; + if ($50 << 16 >> 16 <= 0) { + if ($56) { + HEAP16[$$3389 >> 1] = $54; + $152 = $55 * 7 | 0; + $154 = $4 + 1310736 + ($152 + -7 << 2) | 0; + HEAP32[$154 >> 2] = (HEAP32[$154 >> 2] | 0) + 1; + $158 = $4 + 1310736 + ($152 + -6 << 2) | 0; + HEAP32[$158 >> 2] = (HEAP32[$158 >> 2] | 0) + $$2380; + $162 = $4 + 1310736 + ($152 + -5 << 2) | 0; + HEAP32[$162 >> 2] = (HEAP32[$162 >> 2] | 0) + $$0375; + $166 = $4 + 1310736 + ($152 + -3 << 2) | 0; + if ((HEAP32[$166 >> 2] | 0) < ($$2380 | 0)) HEAP32[$166 >> 2] = $$2380; + HEAP32[$4 + 1310736 + ($152 + -1 << 2) >> 2] = $$0375; + $$2385 = $$1384; + break; + } + $172 = HEAP16[$$3389 + -2 >> 1] | 0; + if ($172 << 16 >> 16 > 0) { + HEAP16[$$3389 >> 1] = $172; + $175 = ($172 << 16 >> 16) * 7 | 0; + $177 = $4 + 1310736 + ($175 + -7 << 2) | 0; + HEAP32[$177 >> 2] = (HEAP32[$177 >> 2] | 0) + 1; + $181 = $4 + 1310736 + ($175 + -6 << 2) | 0; + HEAP32[$181 >> 2] = (HEAP32[$181 >> 2] | 0) + $$2380; + $185 = $4 + 1310736 + ($175 + -5 << 2) | 0; + HEAP32[$185 >> 2] = (HEAP32[$185 >> 2] | 0) + $$0375; + $189 = $4 + 1310736 + ($175 + -3 << 2) | 0; + if ((HEAP32[$189 >> 2] | 0) >= ($$2380 | 0)) { + $$2385 = $$1384; + break; + } + HEAP32[$189 >> 2] = $$2380; + $$2385 = $$1384; + break; + } else { + $192 = $$1384 + 1 | 0; + if (($$1384 | 0) > 32767) { + label = 54; + break L9; + } + HEAP16[$$3389 >> 1] = $192; + HEAP32[$4 + 1179664 + ($$1384 << 2) >> 2] = $192 << 16 >> 16; + $197 = $$1384 * 7 | 0; + HEAP32[$4 + 1310736 + ($197 << 2) >> 2] = 1; + HEAP32[$4 + 1310736 + ($197 + 1 << 2) >> 2] = $$2380; + HEAP32[$4 + 1310736 + ($197 + 2 << 2) >> 2] = $$0375; + HEAP32[$4 + 1310736 + ($197 + 3 << 2) >> 2] = $$2380; + HEAP32[$4 + 1310736 + ($197 + 4 << 2) >> 2] = $$2380; + HEAP32[$4 + 1310736 + ($197 + 5 << 2) >> 2] = $$0375; + HEAP32[$4 + 1310736 + ($197 + 6 << 2) >> 2] = $$0375; + $$2385 = $192; + break; + } + } + if ($56) { + $59 = HEAP32[$4 + 1179664 + ($51 + -1 << 2) >> 2] | 0; + $62 = HEAP32[$4 + 1179664 + ($55 + -1 << 2) >> 2] | 0; + L36 : do if (($59 | 0) <= ($62 | 0)) { + HEAP16[$$3389 >> 1] = $59; + if (($59 | 0) < ($62 | 0)) { + $$1370 = $19; + $$1372 = 0; + while (1) { + if (($$1372 | 0) >= ($$1384 | 0)) { + $77 = $59; + break L36; + } + if ((HEAP32[$$1370 >> 2] | 0) == ($62 | 0)) HEAP32[$$1370 >> 2] = $59; + $$1370 = $$1370 + 4 | 0; + $$1372 = $$1372 + 1 | 0; + } + } else $77 = $59; + } else { + HEAP16[$$3389 >> 1] = $62; + $$0369 = $19; + $$0371 = 0; + while (1) { + if (($$0371 | 0) >= ($$1384 | 0)) { + $77 = $62; + break L36; + } + if ((HEAP32[$$0369 >> 2] | 0) == ($59 | 0)) HEAP32[$$0369 >> 2] = $62; + $$0369 = $$0369 + 4 | 0; + $$0371 = $$0371 + 1 | 0; + } + } while (0); + $79 = ($77 << 16 >> 16) * 7 | 0; + $81 = $4 + 1310736 + ($79 + -7 << 2) | 0; + HEAP32[$81 >> 2] = (HEAP32[$81 >> 2] | 0) + 1; + $85 = $4 + 1310736 + ($79 + -6 << 2) | 0; + HEAP32[$85 >> 2] = (HEAP32[$85 >> 2] | 0) + $$2380; + $89 = $4 + 1310736 + ($79 + -5 << 2) | 0; + HEAP32[$89 >> 2] = (HEAP32[$89 >> 2] | 0) + $$0375; + HEAP32[$4 + 1310736 + ($79 + -1 << 2) >> 2] = $$0375; + $$2385 = $$1384; + break; + } + $95 = HEAP16[$$3389 + -2 >> 1] | 0; + if ($95 << 16 >> 16 <= 0) { + HEAP16[$$3389 >> 1] = $50; + $133 = $51 * 7 | 0; + $135 = $4 + 1310736 + ($133 + -7 << 2) | 0; + HEAP32[$135 >> 2] = (HEAP32[$135 >> 2] | 0) + 1; + $139 = $4 + 1310736 + ($133 + -6 << 2) | 0; + HEAP32[$139 >> 2] = (HEAP32[$139 >> 2] | 0) + $$2380; + $143 = $4 + 1310736 + ($133 + -5 << 2) | 0; + HEAP32[$143 >> 2] = (HEAP32[$143 >> 2] | 0) + $$0375; + $147 = $4 + 1310736 + ($133 + -4 << 2) | 0; + if ((HEAP32[$147 >> 2] | 0) > ($$2380 | 0)) HEAP32[$147 >> 2] = $$2380; + HEAP32[$4 + 1310736 + ($133 + -1 << 2) >> 2] = $$0375; + $$2385 = $$1384; + break; + } + $100 = HEAP32[$4 + 1179664 + ($51 + -1 << 2) >> 2] | 0; + $103 = HEAP32[$4 + 1179664 + (($95 << 16 >> 16) + -1 << 2) >> 2] | 0; + L60 : do if (($100 | 0) <= ($103 | 0)) { + HEAP16[$$3389 >> 1] = $100; + if (($100 | 0) < ($103 | 0)) { + $$3 = $19; + $$3374 = 0; + while (1) { + if (($$3374 | 0) >= ($$1384 | 0)) { + $118 = $100; + break L60; + } + if ((HEAP32[$$3 >> 2] | 0) == ($103 | 0)) HEAP32[$$3 >> 2] = $100; + $$3 = $$3 + 4 | 0; + $$3374 = $$3374 + 1 | 0; + } + } else $118 = $100; + } else { + HEAP16[$$3389 >> 1] = $103; + $$2 = $19; + $$2373 = 0; + while (1) { + if (($$2373 | 0) >= ($$1384 | 0)) { + $118 = $103; + break L60; + } + if ((HEAP32[$$2 >> 2] | 0) == ($100 | 0)) HEAP32[$$2 >> 2] = $103; + $$2 = $$2 + 4 | 0; + $$2373 = $$2373 + 1 | 0; + } + } while (0); + $120 = ($118 << 16 >> 16) * 7 | 0; + $122 = $4 + 1310736 + ($120 + -7 << 2) | 0; + HEAP32[$122 >> 2] = (HEAP32[$122 >> 2] | 0) + 1; + $126 = $4 + 1310736 + ($120 + -6 << 2) | 0; + HEAP32[$126 >> 2] = (HEAP32[$126 >> 2] | 0) + $$2380; + $130 = $4 + 1310736 + ($120 + -5 << 2) | 0; + HEAP32[$130 >> 2] = (HEAP32[$130 >> 2] | 0) + $$0375; + $$2385 = $$1384; + } else { + HEAP16[$$3389 >> 1] = 0; + $$2385 = $$1384; + } while (0); + $$1 = $$1 + 1 | 0; + $$1366 = $$1366 + 1 | 0; + $$1384 = $$2385; + $$2380 = $$2380 + 1 | 0; + $$3389 = $$3389 + 2 | 0; + } + $$0364 = $$1 + 2 | 0; + $$0365 = $$1366 + 2 | 0; + $$0375 = $$0375 + 1 | 0; + $$0383 = $$1384; + $$2388 = $$3389 + 4 | 0; + } + L80 : do if ((label | 0) == 54) { + _arLog(0, 3, 23780, $vararg_buffer); + $$0 = -1; + } else if ((label | 0) == 59) { + $219 = $4 + 12 | 0; + $$1376 = 1; + $$3381 = 1; + $$4 = $19; + while (1) { + if (($$3381 | 0) > ($$0383 | 0)) break; + $221 = HEAP32[$$4 >> 2] | 0; + if (($221 | 0) == ($$3381 | 0)) { + $$2377 = $$1376 + 1 | 0; + $227 = $$1376; + } else { + $$2377 = $$1376; + $227 = HEAP32[$4 + 1179664 + ($221 + -1 << 2) >> 2] | 0; + } + HEAP32[$$4 >> 2] = $227; + $$1376 = $$2377; + $$3381 = $$3381 + 1 | 0; + $$4 = $$4 + 4 | 0; + } + $230 = $4 + 8 | 0; + $231 = $$1376 + -1 | 0; + HEAP32[$230 >> 2] = $231; + if (!$231) $$0 = 0; else { + _memset($219 | 0, 0, $231 << 2 | 0) | 0; + _memset($4 + 655376 | 0, 0, $231 << 4 | 0) | 0; + $$4382 = 0; + while (1) { + if (($$4382 | 0) >= ($231 | 0)) break; + $237 = $$4382 << 2; + HEAP32[$4 + 131084 + ($237 << 2) >> 2] = $1; + HEAP32[$4 + 131084 + (($237 | 1) << 2) >> 2] = 0; + HEAP32[$4 + 131084 + (($237 | 2) << 2) >> 2] = $2; + HEAP32[$4 + 131084 + (($237 | 3) << 2) >> 2] = 0; + $$4382 = $$4382 + 1 | 0; + } + $$5 = 0; + while (1) { + if (($$5 | 0) >= ($$0383 | 0)) break; + $249 = (HEAP32[$4 + 1179664 + ($$5 << 2) >> 2] | 0) + -1 | 0; + $250 = $$5 * 7 | 0; + $253 = $4 + 12 + ($249 << 2) | 0; + HEAP32[$253 >> 2] = (HEAP32[$253 >> 2] | 0) + (HEAP32[$4 + 1310736 + ($250 << 2) >> 2] | 0); + $260 = $249 << 1; + $261 = $4 + 655376 + ($260 << 3) | 0; + HEAPF64[$261 >> 3] = +HEAPF64[$261 >> 3] + +(HEAP32[$4 + 1310736 + ($250 + 1 << 2) >> 2] | 0); + $269 = $4 + 655376 + (($260 | 1) << 3) | 0; + HEAPF64[$269 >> 3] = +HEAPF64[$269 >> 3] + +(HEAP32[$4 + 1310736 + ($250 + 2 << 2) >> 2] | 0); + $272 = $249 << 2; + $273 = $4 + 131084 + ($272 << 2) | 0; + $277 = HEAP32[$4 + 1310736 + ($250 + 3 << 2) >> 2] | 0; + if ((HEAP32[$273 >> 2] | 0) > ($277 | 0)) HEAP32[$273 >> 2] = $277; + $280 = $4 + 131084 + (($272 | 1) << 2) | 0; + $284 = HEAP32[$4 + 1310736 + ($250 + 4 << 2) >> 2] | 0; + if ((HEAP32[$280 >> 2] | 0) < ($284 | 0)) HEAP32[$280 >> 2] = $284; + $287 = $4 + 131084 + (($272 | 2) << 2) | 0; + $291 = HEAP32[$4 + 1310736 + ($250 + 5 << 2) >> 2] | 0; + if ((HEAP32[$287 >> 2] | 0) > ($291 | 0)) HEAP32[$287 >> 2] = $291; + $294 = $4 + 131084 + (($272 | 3) << 2) | 0; + $298 = HEAP32[$4 + 1310736 + ($250 + 6 << 2) >> 2] | 0; + if ((HEAP32[$294 >> 2] | 0) < ($298 | 0)) HEAP32[$294 >> 2] = $298; + $$5 = $$5 + 1 | 0; + } + $301 = HEAP32[$230 >> 2] | 0; + $$6 = 0; + while (1) { + if (($$6 | 0) >= ($301 | 0)) { + $$0 = 0; + break L80; + } + $305 = +(HEAP32[$4 + 12 + ($$6 << 2) >> 2] | 0); + $306 = $$6 << 1; + $307 = $4 + 655376 + ($306 << 3) | 0; + HEAPF64[$307 >> 3] = +HEAPF64[$307 >> 3] / $305; + $311 = $4 + 655376 + (($306 | 1) << 3) | 0; + HEAPF64[$311 >> 3] = +HEAPF64[$311 >> 3] / $305; + $$6 = $$6 + 1 | 0; + } + } + } while (0); + STACKTOP = sp; + return $$0 | 0; +} + +function _arLabelingSubDBZ($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0 = 0, $$0364 = 0, $$0365 = 0, $$0367 = 0, $$0369 = 0, $$0371 = 0, $$0375 = 0, $$0378 = 0, $$0383 = 0, $$0386 = 0, $$1 = 0, $$1366 = 0, $$1368 = 0, $$1370 = 0, $$1372 = 0, $$1376 = 0, $$1379 = 0, $$1384 = 0, $$1387 = 0, $$2 = 0, $$2373 = 0, $$2377 = 0, $$2380 = 0, $$2385 = 0, $$2388 = 0, $$3 = 0, $$3374 = 0, $$3381 = 0, $$3389 = 0, $$4 = 0, $$4382 = 0, $$5 = 0, $$6 = 0, $100 = 0, $103 = 0, $118 = 0, $120 = 0, $122 = 0, $126 = 0, $13 = 0, $130 = 0, $133 = 0, $135 = 0, $139 = 0, $143 = 0, $147 = 0, $152 = 0, $154 = 0, $158 = 0, $162 = 0, $166 = 0, $172 = 0, $175 = 0, $177 = 0, $181 = 0, $185 = 0, $189 = 0, $19 = 0, $192 = 0, $197 = 0, $20 = 0, $219 = 0, $221 = 0, $227 = 0, $230 = 0, $231 = 0, $237 = 0, $24 = 0, $249 = 0, $250 = 0, $253 = 0, $260 = 0, $261 = 0, $269 = 0, $272 = 0, $273 = 0, $277 = 0, $280 = 0, $284 = 0, $287 = 0, $291 = 0, $294 = 0, $298 = 0, $30 = 0, $301 = 0, $305 = 0.0, $306 = 0, $307 = 0, $31 = 0, $311 = 0, $34 = 0, $36 = 0, $40 = 0, $44 = 0, $5 = 0, $50 = 0, $51 = 0, $54 = 0, $55 = 0, $56 = 0, $59 = 0, $6 = 0, $62 = 0, $77 = 0, $79 = 0, $81 = 0, $85 = 0, $89 = 0, $95 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $vararg_buffer = sp; + $5 = HEAP32[$4 >> 2] | 0; + $6 = $2 + -1 | 0; + $$0367 = $5; + $$0378 = 0; + $$0386 = $5 + ((Math_imul($6, $1) | 0) << 1) | 0; + while (1) { + if (($$0378 | 0) >= ($1 | 0)) break; + HEAP16[$$0386 >> 1] = 0; + HEAP16[$$0367 >> 1] = 0; + $$0367 = $$0367 + 2 | 0; + $$0378 = $$0378 + 1 | 0; + $$0386 = $$0386 + 2 | 0; + } + $13 = $1 + -1 | 0; + $$1368 = $5; + $$1379 = 0; + $$1387 = $5 + ($13 << 1) | 0; + while (1) { + if (($$1379 | 0) >= ($2 | 0)) break; + HEAP16[$$1387 >> 1] = 0; + HEAP16[$$1368 >> 1] = 0; + $$1368 = $$1368 + ($1 << 1) | 0; + $$1379 = $$1379 + 1 | 0; + $$1387 = $$1387 + ($1 << 1) | 0; + } + $19 = $4 + 1179664 | 0; + $20 = $1 + 1 | 0; + $24 = 0 - $1 | 0; + $$0364 = $0 + $20 | 0; + $$0365 = $3 + $20 | 0; + $$0375 = 1; + $$0383 = 0; + $$2388 = $5 + ($20 << 1) | 0; + L9 : while (1) { + if (($$0375 | 0) >= ($6 | 0)) { + label = 59; + break; + } + $$1 = $$0364; + $$1366 = $$0365; + $$1384 = $$0383; + $$2380 = 1; + $$3389 = $$2388; + while (1) { + if (($$2380 | 0) >= ($13 | 0)) break; + do if ((HEAPU8[$$1 >> 0] | 0) > (HEAPU8[$$1366 >> 0] | 0)) { + HEAP16[$$3389 >> 1] = 0; + $$2385 = $$1384; + } else { + $30 = $$3389 + ($24 << 1) | 0; + $31 = HEAP16[$30 >> 1] | 0; + if ($31 << 16 >> 16 > 0) { + HEAP16[$$3389 >> 1] = $31; + $34 = ($31 << 16 >> 16) * 7 | 0; + $36 = $4 + 1310736 + ($34 + -7 << 2) | 0; + HEAP32[$36 >> 2] = (HEAP32[$36 >> 2] | 0) + 1; + $40 = $4 + 1310736 + ($34 + -6 << 2) | 0; + HEAP32[$40 >> 2] = (HEAP32[$40 >> 2] | 0) + $$2380; + $44 = $4 + 1310736 + ($34 + -5 << 2) | 0; + HEAP32[$44 >> 2] = (HEAP32[$44 >> 2] | 0) + $$0375; + HEAP32[$4 + 1310736 + ($34 + -1 << 2) >> 2] = $$0375; + $$2385 = $$1384; + break; + } + $50 = HEAP16[$30 + 2 >> 1] | 0; + $51 = $50 << 16 >> 16; + $54 = HEAP16[$30 + -2 >> 1] | 0; + $55 = $54 << 16 >> 16; + $56 = $54 << 16 >> 16 > 0; + if ($50 << 16 >> 16 <= 0) { + if ($56) { + HEAP16[$$3389 >> 1] = $54; + $152 = $55 * 7 | 0; + $154 = $4 + 1310736 + ($152 + -7 << 2) | 0; + HEAP32[$154 >> 2] = (HEAP32[$154 >> 2] | 0) + 1; + $158 = $4 + 1310736 + ($152 + -6 << 2) | 0; + HEAP32[$158 >> 2] = (HEAP32[$158 >> 2] | 0) + $$2380; + $162 = $4 + 1310736 + ($152 + -5 << 2) | 0; + HEAP32[$162 >> 2] = (HEAP32[$162 >> 2] | 0) + $$0375; + $166 = $4 + 1310736 + ($152 + -3 << 2) | 0; + if ((HEAP32[$166 >> 2] | 0) < ($$2380 | 0)) HEAP32[$166 >> 2] = $$2380; + HEAP32[$4 + 1310736 + ($152 + -1 << 2) >> 2] = $$0375; + $$2385 = $$1384; + break; + } + $172 = HEAP16[$$3389 + -2 >> 1] | 0; + if ($172 << 16 >> 16 > 0) { + HEAP16[$$3389 >> 1] = $172; + $175 = ($172 << 16 >> 16) * 7 | 0; + $177 = $4 + 1310736 + ($175 + -7 << 2) | 0; + HEAP32[$177 >> 2] = (HEAP32[$177 >> 2] | 0) + 1; + $181 = $4 + 1310736 + ($175 + -6 << 2) | 0; + HEAP32[$181 >> 2] = (HEAP32[$181 >> 2] | 0) + $$2380; + $185 = $4 + 1310736 + ($175 + -5 << 2) | 0; + HEAP32[$185 >> 2] = (HEAP32[$185 >> 2] | 0) + $$0375; + $189 = $4 + 1310736 + ($175 + -3 << 2) | 0; + if ((HEAP32[$189 >> 2] | 0) >= ($$2380 | 0)) { + $$2385 = $$1384; + break; + } + HEAP32[$189 >> 2] = $$2380; + $$2385 = $$1384; + break; + } else { + $192 = $$1384 + 1 | 0; + if (($$1384 | 0) > 32767) { + label = 54; + break L9; + } + HEAP16[$$3389 >> 1] = $192; + HEAP32[$4 + 1179664 + ($$1384 << 2) >> 2] = $192 << 16 >> 16; + $197 = $$1384 * 7 | 0; + HEAP32[$4 + 1310736 + ($197 << 2) >> 2] = 1; + HEAP32[$4 + 1310736 + ($197 + 1 << 2) >> 2] = $$2380; + HEAP32[$4 + 1310736 + ($197 + 2 << 2) >> 2] = $$0375; + HEAP32[$4 + 1310736 + ($197 + 3 << 2) >> 2] = $$2380; + HEAP32[$4 + 1310736 + ($197 + 4 << 2) >> 2] = $$2380; + HEAP32[$4 + 1310736 + ($197 + 5 << 2) >> 2] = $$0375; + HEAP32[$4 + 1310736 + ($197 + 6 << 2) >> 2] = $$0375; + $$2385 = $192; + break; + } + } + if ($56) { + $59 = HEAP32[$4 + 1179664 + ($51 + -1 << 2) >> 2] | 0; + $62 = HEAP32[$4 + 1179664 + ($55 + -1 << 2) >> 2] | 0; + L37 : do if (($59 | 0) <= ($62 | 0)) { + HEAP16[$$3389 >> 1] = $59; + if (($59 | 0) < ($62 | 0)) { + $$1370 = $19; + $$1372 = 0; + while (1) { + if (($$1372 | 0) >= ($$1384 | 0)) { + $77 = $59; + break L37; + } + if ((HEAP32[$$1370 >> 2] | 0) == ($62 | 0)) HEAP32[$$1370 >> 2] = $59; + $$1370 = $$1370 + 4 | 0; + $$1372 = $$1372 + 1 | 0; + } + } else $77 = $59; + } else { + HEAP16[$$3389 >> 1] = $62; + $$0369 = $19; + $$0371 = 0; + while (1) { + if (($$0371 | 0) >= ($$1384 | 0)) { + $77 = $62; + break L37; + } + if ((HEAP32[$$0369 >> 2] | 0) == ($59 | 0)) HEAP32[$$0369 >> 2] = $62; + $$0369 = $$0369 + 4 | 0; + $$0371 = $$0371 + 1 | 0; + } + } while (0); + $79 = ($77 << 16 >> 16) * 7 | 0; + $81 = $4 + 1310736 + ($79 + -7 << 2) | 0; + HEAP32[$81 >> 2] = (HEAP32[$81 >> 2] | 0) + 1; + $85 = $4 + 1310736 + ($79 + -6 << 2) | 0; + HEAP32[$85 >> 2] = (HEAP32[$85 >> 2] | 0) + $$2380; + $89 = $4 + 1310736 + ($79 + -5 << 2) | 0; + HEAP32[$89 >> 2] = (HEAP32[$89 >> 2] | 0) + $$0375; + HEAP32[$4 + 1310736 + ($79 + -1 << 2) >> 2] = $$0375; + $$2385 = $$1384; + break; + } + $95 = HEAP16[$$3389 + -2 >> 1] | 0; + if ($95 << 16 >> 16 <= 0) { + HEAP16[$$3389 >> 1] = $50; + $133 = $51 * 7 | 0; + $135 = $4 + 1310736 + ($133 + -7 << 2) | 0; + HEAP32[$135 >> 2] = (HEAP32[$135 >> 2] | 0) + 1; + $139 = $4 + 1310736 + ($133 + -6 << 2) | 0; + HEAP32[$139 >> 2] = (HEAP32[$139 >> 2] | 0) + $$2380; + $143 = $4 + 1310736 + ($133 + -5 << 2) | 0; + HEAP32[$143 >> 2] = (HEAP32[$143 >> 2] | 0) + $$0375; + $147 = $4 + 1310736 + ($133 + -4 << 2) | 0; + if ((HEAP32[$147 >> 2] | 0) > ($$2380 | 0)) HEAP32[$147 >> 2] = $$2380; + HEAP32[$4 + 1310736 + ($133 + -1 << 2) >> 2] = $$0375; + $$2385 = $$1384; + break; + } + $100 = HEAP32[$4 + 1179664 + ($51 + -1 << 2) >> 2] | 0; + $103 = HEAP32[$4 + 1179664 + (($95 << 16 >> 16) + -1 << 2) >> 2] | 0; + L61 : do if (($100 | 0) <= ($103 | 0)) { + HEAP16[$$3389 >> 1] = $100; + if (($100 | 0) < ($103 | 0)) { + $$3 = $19; + $$3374 = 0; + while (1) { + if (($$3374 | 0) >= ($$1384 | 0)) { + $118 = $100; + break L61; + } + if ((HEAP32[$$3 >> 2] | 0) == ($103 | 0)) HEAP32[$$3 >> 2] = $100; + $$3 = $$3 + 4 | 0; + $$3374 = $$3374 + 1 | 0; + } + } else $118 = $100; + } else { + HEAP16[$$3389 >> 1] = $103; + $$2 = $19; + $$2373 = 0; + while (1) { + if (($$2373 | 0) >= ($$1384 | 0)) { + $118 = $103; + break L61; + } + if ((HEAP32[$$2 >> 2] | 0) == ($100 | 0)) HEAP32[$$2 >> 2] = $103; + $$2 = $$2 + 4 | 0; + $$2373 = $$2373 + 1 | 0; + } + } while (0); + $120 = ($118 << 16 >> 16) * 7 | 0; + $122 = $4 + 1310736 + ($120 + -7 << 2) | 0; + HEAP32[$122 >> 2] = (HEAP32[$122 >> 2] | 0) + 1; + $126 = $4 + 1310736 + ($120 + -6 << 2) | 0; + HEAP32[$126 >> 2] = (HEAP32[$126 >> 2] | 0) + $$2380; + $130 = $4 + 1310736 + ($120 + -5 << 2) | 0; + HEAP32[$130 >> 2] = (HEAP32[$130 >> 2] | 0) + $$0375; + $$2385 = $$1384; + } while (0); + $$1 = $$1 + 1 | 0; + $$1366 = $$1366 + 1 | 0; + $$1384 = $$2385; + $$2380 = $$2380 + 1 | 0; + $$3389 = $$3389 + 2 | 0; + } + $$0364 = $$1 + 2 | 0; + $$0365 = $$1366 + 2 | 0; + $$0375 = $$0375 + 1 | 0; + $$0383 = $$1384; + $$2388 = $$3389 + 4 | 0; + } + L80 : do if ((label | 0) == 54) { + _arLog(0, 3, 23780, $vararg_buffer); + $$0 = -1; + } else if ((label | 0) == 59) { + $219 = $4 + 12 | 0; + $$1376 = 1; + $$3381 = 1; + $$4 = $19; + while (1) { + if (($$3381 | 0) > ($$0383 | 0)) break; + $221 = HEAP32[$$4 >> 2] | 0; + if (($221 | 0) == ($$3381 | 0)) { + $$2377 = $$1376 + 1 | 0; + $227 = $$1376; + } else { + $$2377 = $$1376; + $227 = HEAP32[$4 + 1179664 + ($221 + -1 << 2) >> 2] | 0; + } + HEAP32[$$4 >> 2] = $227; + $$1376 = $$2377; + $$3381 = $$3381 + 1 | 0; + $$4 = $$4 + 4 | 0; + } + $230 = $4 + 8 | 0; + $231 = $$1376 + -1 | 0; + HEAP32[$230 >> 2] = $231; + if (!$231) $$0 = 0; else { + _memset($219 | 0, 0, $231 << 2 | 0) | 0; + _memset($4 + 655376 | 0, 0, $231 << 4 | 0) | 0; + $$4382 = 0; + while (1) { + if (($$4382 | 0) >= ($231 | 0)) break; + $237 = $$4382 << 2; + HEAP32[$4 + 131084 + ($237 << 2) >> 2] = $1; + HEAP32[$4 + 131084 + (($237 | 1) << 2) >> 2] = 0; + HEAP32[$4 + 131084 + (($237 | 2) << 2) >> 2] = $2; + HEAP32[$4 + 131084 + (($237 | 3) << 2) >> 2] = 0; + $$4382 = $$4382 + 1 | 0; + } + $$5 = 0; + while (1) { + if (($$5 | 0) >= ($$0383 | 0)) break; + $249 = (HEAP32[$4 + 1179664 + ($$5 << 2) >> 2] | 0) + -1 | 0; + $250 = $$5 * 7 | 0; + $253 = $4 + 12 + ($249 << 2) | 0; + HEAP32[$253 >> 2] = (HEAP32[$253 >> 2] | 0) + (HEAP32[$4 + 1310736 + ($250 << 2) >> 2] | 0); + $260 = $249 << 1; + $261 = $4 + 655376 + ($260 << 3) | 0; + HEAPF64[$261 >> 3] = +HEAPF64[$261 >> 3] + +(HEAP32[$4 + 1310736 + ($250 + 1 << 2) >> 2] | 0); + $269 = $4 + 655376 + (($260 | 1) << 3) | 0; + HEAPF64[$269 >> 3] = +HEAPF64[$269 >> 3] + +(HEAP32[$4 + 1310736 + ($250 + 2 << 2) >> 2] | 0); + $272 = $249 << 2; + $273 = $4 + 131084 + ($272 << 2) | 0; + $277 = HEAP32[$4 + 1310736 + ($250 + 3 << 2) >> 2] | 0; + if ((HEAP32[$273 >> 2] | 0) > ($277 | 0)) HEAP32[$273 >> 2] = $277; + $280 = $4 + 131084 + (($272 | 1) << 2) | 0; + $284 = HEAP32[$4 + 1310736 + ($250 + 4 << 2) >> 2] | 0; + if ((HEAP32[$280 >> 2] | 0) < ($284 | 0)) HEAP32[$280 >> 2] = $284; + $287 = $4 + 131084 + (($272 | 2) << 2) | 0; + $291 = HEAP32[$4 + 1310736 + ($250 + 5 << 2) >> 2] | 0; + if ((HEAP32[$287 >> 2] | 0) > ($291 | 0)) HEAP32[$287 >> 2] = $291; + $294 = $4 + 131084 + (($272 | 3) << 2) | 0; + $298 = HEAP32[$4 + 1310736 + ($250 + 6 << 2) >> 2] | 0; + if ((HEAP32[$294 >> 2] | 0) < ($298 | 0)) HEAP32[$294 >> 2] = $298; + $$5 = $$5 + 1 | 0; + } + $301 = HEAP32[$230 >> 2] | 0; + $$6 = 0; + while (1) { + if (($$6 | 0) >= ($301 | 0)) { + $$0 = 0; + break L80; + } + $305 = +(HEAP32[$4 + 12 + ($$6 << 2) >> 2] | 0); + $306 = $$6 << 1; + $307 = $4 + 655376 + ($306 << 3) | 0; + HEAPF64[$307 >> 3] = +HEAPF64[$307 >> 3] / $305; + $311 = $4 + 655376 + (($306 | 1) << 3) | 0; + HEAPF64[$311 >> 3] = +HEAPF64[$311 >> 3] / $305; + $$6 = $$6 + 1 | 0; + } + } + } while (0); + STACKTOP = sp; + return $$0 | 0; +} + +function __ZN6vision22bilinear_interpolationIffEET0_PKT_mmmff($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = +$4; + $5 = +$5; + var $103 = 0, $108 = 0, $112 = 0, $114 = 0, $115 = 0, $117 = 0.0, $119 = 0.0, $120 = 0.0, $122 = 0.0, $123 = 0.0, $125 = 0.0, $126 = 0.0, $127 = 0.0, $136 = 0, $141 = 0, $145 = 0, $154 = 0, $159 = 0, $16 = 0, $163 = 0, $172 = 0, $177 = 0, $181 = 0, $190 = 0, $195 = 0, $199 = 0, $21 = 0, $210 = 0, $215 = 0, $219 = 0, $25 = 0, $27 = 0, $35 = 0, $40 = 0, $44 = 0, $45 = 0, $46 = 0, $54 = 0, $59 = 0, $6 = 0, $63 = 0, $70 = 0, $75 = 0, $79 = 0, $8 = 0, $87 = 0, $92 = 0, $96 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $6 = sp; + $8 = ~~+Math_floor(+$4); + if (($8 | 0) != (~~$4 | 0)) { + $16 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 29355) | 0, 29407) | 0, 39072) | 0, 69) | 0, 39079) | 0, 29483) | 0; + __ZNKSt3__28ios_base6getlocEv($6, $16 + (HEAP32[(HEAP32[$16 >> 2] | 0) + -12 >> 2] | 0) | 0); + $21 = __ZNKSt3__26locale9use_facetERNS0_2idE($6, 66512) | 0; + $25 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$21 >> 2] | 0) + 28 >> 2] & 127]($21, 10) | 0; + __ZNSt3__26localeD2Ev($6); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($16, $25) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($16) | 0; + _abort(); + } + $27 = ~~+Math_floor(+$5); + if (($27 | 0) != (~~$5 | 0)) { + $35 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 29513) | 0, 29407) | 0, 39072) | 0, 70) | 0, 39079) | 0, 29483) | 0; + __ZNKSt3__28ios_base6getlocEv($6, $35 + (HEAP32[(HEAP32[$35 >> 2] | 0) + -12 >> 2] | 0) | 0); + $40 = __ZNKSt3__26locale9use_facetERNS0_2idE($6, 66512) | 0; + $44 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$40 >> 2] | 0) + 28 >> 2] & 127]($40, 10) | 0; + __ZNSt3__26localeD2Ev($6); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($35, $44) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($35) | 0; + _abort(); + } + $45 = $8 + 1 | 0; + $46 = $27 + 1 | 0; + if (!(($27 | 0) > -1 & $27 >>> 0 < $2 >>> 0)) { + $54 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 29565) | 0, 29407) | 0, 39072) | 0, 79) | 0, 39079) | 0, 29611) | 0; + __ZNKSt3__28ios_base6getlocEv($6, $54 + (HEAP32[(HEAP32[$54 >> 2] | 0) + -12 >> 2] | 0) | 0); + $59 = __ZNKSt3__26locale9use_facetERNS0_2idE($6, 66512) | 0; + $63 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$59 >> 2] | 0) + 28 >> 2] & 127]($59, 10) | 0; + __ZNSt3__26localeD2Ev($6); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($54, $63) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($54) | 0; + _abort(); + } + if ($46 >>> 0 >= $2 >>> 0) { + $70 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 29628) | 0, 29407) | 0, 39072) | 0, 80) | 0, 39079) | 0, 29688) | 0; + __ZNKSt3__28ios_base6getlocEv($6, $70 + (HEAP32[(HEAP32[$70 >> 2] | 0) + -12 >> 2] | 0) | 0); + $75 = __ZNKSt3__26locale9use_facetERNS0_2idE($6, 66512) | 0; + $79 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$75 >> 2] | 0) + 28 >> 2] & 127]($75, 10) | 0; + __ZNSt3__26localeD2Ev($6); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($70, $79) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($70) | 0; + _abort(); + } + if (!(($8 | 0) > -1 & $8 >>> 0 < $1 >>> 0)) { + $87 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 29712) | 0, 29407) | 0, 39072) | 0, 81) | 0, 39079) | 0, 29757) | 0; + __ZNKSt3__28ios_base6getlocEv($6, $87 + (HEAP32[(HEAP32[$87 >> 2] | 0) + -12 >> 2] | 0) | 0); + $92 = __ZNKSt3__26locale9use_facetERNS0_2idE($6, 66512) | 0; + $96 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$92 >> 2] | 0) + 28 >> 2] & 127]($92, 10) | 0; + __ZNSt3__26localeD2Ev($6); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($87, $96) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($87) | 0; + _abort(); + } + if ($45 >>> 0 >= $1 >>> 0) { + $103 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 29774) | 0, 29407) | 0, 39072) | 0, 82) | 0, 39079) | 0, 29833) | 0; + __ZNKSt3__28ios_base6getlocEv($6, $103 + (HEAP32[(HEAP32[$103 >> 2] | 0) + -12 >> 2] | 0) | 0); + $108 = __ZNKSt3__26locale9use_facetERNS0_2idE($6, 66512) | 0; + $112 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$108 >> 2] | 0) + 28 >> 2] & 127]($108, 10) | 0; + __ZNSt3__26localeD2Ev($6); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($103, $112) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($103) | 0; + _abort(); + } + $114 = $0 + (Math_imul($27, $3) | 0) | 0; + $115 = $114 + $3 | 0; + $117 = +($45 | 0) - $4; + $119 = +($46 | 0) - $5; + $120 = $117 * $119; + $122 = $4 - +($8 | 0); + $123 = $122 * $119; + $125 = $5 - +($27 | 0); + $126 = $117 * $125; + $127 = $122 * $125; + if (!($120 >= 0.0) | !($120 <= 1.0001)) { + $136 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 29857) | 0, 29407) | 0, 39072) | 0, 94) | 0, 39079) | 0, 29904) | 0; + __ZNKSt3__28ios_base6getlocEv($6, $136 + (HEAP32[(HEAP32[$136 >> 2] | 0) + -12 >> 2] | 0) | 0); + $141 = __ZNKSt3__26locale9use_facetERNS0_2idE($6, 66512) | 0; + $145 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$141 >> 2] | 0) + 28 >> 2] & 127]($141, 10) | 0; + __ZNSt3__26localeD2Ev($6); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($136, $145) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($136) | 0; + _abort(); + } + if (!($123 >= 0.0) | !($123 <= 1.0001)) { + $154 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 29917) | 0, 29407) | 0, 39072) | 0, 95) | 0, 39079) | 0, 29904) | 0; + __ZNKSt3__28ios_base6getlocEv($6, $154 + (HEAP32[(HEAP32[$154 >> 2] | 0) + -12 >> 2] | 0) | 0); + $159 = __ZNKSt3__26locale9use_facetERNS0_2idE($6, 66512) | 0; + $163 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$159 >> 2] | 0) + 28 >> 2] & 127]($159, 10) | 0; + __ZNSt3__26localeD2Ev($6); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($154, $163) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($154) | 0; + _abort(); + } + if (!($126 >= 0.0) | !($126 <= 1.0001)) { + $172 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 29964) | 0, 29407) | 0, 39072) | 0, 96) | 0, 39079) | 0, 29904) | 0; + __ZNKSt3__28ios_base6getlocEv($6, $172 + (HEAP32[(HEAP32[$172 >> 2] | 0) + -12 >> 2] | 0) | 0); + $177 = __ZNKSt3__26locale9use_facetERNS0_2idE($6, 66512) | 0; + $181 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$177 >> 2] | 0) + 28 >> 2] & 127]($177, 10) | 0; + __ZNSt3__26localeD2Ev($6); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($172, $181) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($172) | 0; + _abort(); + } + if (!($127 >= 0.0) | !($127 <= 1.0001)) { + $190 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 30011) | 0, 29407) | 0, 39072) | 0, 97) | 0, 39079) | 0, 29904) | 0; + __ZNKSt3__28ios_base6getlocEv($6, $190 + (HEAP32[(HEAP32[$190 >> 2] | 0) + -12 >> 2] | 0) | 0); + $195 = __ZNKSt3__26locale9use_facetERNS0_2idE($6, 66512) | 0; + $199 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$195 >> 2] | 0) + 28 >> 2] & 127]($195, 10) | 0; + __ZNSt3__26localeD2Ev($6); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($190, $199) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($190) | 0; + _abort(); + } + if (!($127 + ($126 + ($120 + $123)) <= 1.0001)) { + $210 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 30058) | 0, 29407) | 0, 39072) | 0, 98) | 0, 39079) | 0, 29904) | 0; + __ZNKSt3__28ios_base6getlocEv($6, $210 + (HEAP32[(HEAP32[$210 >> 2] | 0) + -12 >> 2] | 0) | 0); + $215 = __ZNKSt3__26locale9use_facetERNS0_2idE($6, 66512) | 0; + $219 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$215 >> 2] | 0) + 28 >> 2] & 127]($215, 10) | 0; + __ZNSt3__26localeD2Ev($6); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($210, $219) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($210) | 0; + _abort(); + } else { + STACKTOP = sp; + return +($120 * +HEAPF32[$114 + ($8 << 2) >> 2] + $123 * +HEAPF32[$114 + ($45 << 2) >> 2] + $126 * +HEAPF32[$115 + ($8 << 2) >> 2] + $127 * +HEAPF32[$115 + ($45 << 2) >> 2]); + } + return +(0.0); +} + +function _arLabelingSubDWIC($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0 = 0, $$0360 = 0, $$0361 = 0, $$0363 = 0, $$0365 = 0, $$0369 = 0, $$0373 = 0, $$0376 = 0, $$0381 = 0, $$1 = 0, $$1362 = 0, $$1364 = 0, $$1366 = 0, $$1370 = 0, $$1374 = 0, $$1377 = 0, $$1382 = 0, $$2 = 0, $$2367 = 0, $$2371 = 0, $$2375 = 0, $$2378 = 0, $$2383 = 0, $$3 = 0, $$3368 = 0, $$3372 = 0, $$3379 = 0, $$4 = 0, $$4380 = 0, $$5 = 0, $$6 = 0, $103 = 0, $106 = 0, $121 = 0, $123 = 0, $125 = 0, $129 = 0, $133 = 0, $136 = 0, $138 = 0, $142 = 0, $146 = 0, $15 = 0, $150 = 0, $155 = 0, $157 = 0, $161 = 0, $165 = 0, $169 = 0, $175 = 0, $178 = 0, $180 = 0, $184 = 0, $188 = 0, $192 = 0, $195 = 0, $200 = 0, $21 = 0, $221 = 0, $223 = 0, $229 = 0, $232 = 0, $233 = 0, $239 = 0, $251 = 0, $252 = 0, $255 = 0, $262 = 0, $263 = 0, $27 = 0, $271 = 0, $274 = 0, $275 = 0, $279 = 0, $282 = 0, $286 = 0, $289 = 0, $293 = 0, $296 = 0, $300 = 0, $303 = 0, $307 = 0.0, $308 = 0, $309 = 0, $313 = 0, $33 = 0, $34 = 0, $37 = 0, $39 = 0, $43 = 0, $47 = 0, $5 = 0, $53 = 0, $54 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $62 = 0, $65 = 0, $7 = 0, $8 = 0, $80 = 0, $82 = 0, $84 = 0, $88 = 0, $92 = 0, $98 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $vararg_buffer = sp; + $5 = ($1 | 0) / 2 | 0; + $6 = ($2 | 0) / 2 | 0; + $7 = HEAP32[$4 >> 2] | 0; + $8 = $6 + -1 | 0; + $$0361 = $7; + $$0363 = $7 + ((Math_imul($8, $5) | 0) << 1) | 0; + $$0376 = 0; + while (1) { + if (($$0376 | 0) >= ($5 | 0)) break; + HEAP16[$$0363 >> 1] = 0; + HEAP16[$$0361 >> 1] = 0; + $$0361 = $$0361 + 2 | 0; + $$0363 = $$0363 + 2 | 0; + $$0376 = $$0376 + 1 | 0; + } + $15 = $5 + -1 | 0; + $$1362 = $7; + $$1364 = $7 + ($15 << 1) | 0; + $$1377 = 0; + while (1) { + if (($$1377 | 0) >= ($6 | 0)) break; + HEAP16[$$1364 >> 1] = 0; + HEAP16[$$1362 >> 1] = 0; + $$1362 = $$1362 + ($5 << 1) | 0; + $$1364 = $$1364 + ($5 << 1) | 0; + $$1377 = $$1377 + 1 | 0; + } + $21 = $4 + 1179664 | 0; + $27 = 0 - $5 | 0; + $$0360 = $0 + (($1 << 1) + 2) | 0; + $$0373 = 1; + $$0381 = 0; + $$2 = $7 + ($5 + 1 << 1) | 0; + L9 : while (1) { + if (($$0373 | 0) >= ($8 | 0)) { + label = 59; + break; + } + $$1 = $$0360; + $$1382 = $$0381; + $$2378 = 1; + $$3 = $$2; + while (1) { + if (($$2378 | 0) >= ($15 | 0)) break; + do if ((HEAPU8[$$1 >> 0] | 0 | 0) > ($3 | 0)) { + $33 = $$3 + ($27 << 1) | 0; + $34 = HEAP16[$33 >> 1] | 0; + if ($34 << 16 >> 16 > 0) { + HEAP16[$$3 >> 1] = $34; + $37 = ($34 << 16 >> 16) * 7 | 0; + $39 = $4 + 1310736 + ($37 + -7 << 2) | 0; + HEAP32[$39 >> 2] = (HEAP32[$39 >> 2] | 0) + 1; + $43 = $4 + 1310736 + ($37 + -6 << 2) | 0; + HEAP32[$43 >> 2] = (HEAP32[$43 >> 2] | 0) + $$2378; + $47 = $4 + 1310736 + ($37 + -5 << 2) | 0; + HEAP32[$47 >> 2] = (HEAP32[$47 >> 2] | 0) + $$0373; + HEAP32[$4 + 1310736 + ($37 + -1 << 2) >> 2] = $$0373; + $$2383 = $$1382; + break; + } + $53 = HEAP16[$33 + 2 >> 1] | 0; + $54 = $53 << 16 >> 16; + $57 = HEAP16[$33 + -2 >> 1] | 0; + $58 = $57 << 16 >> 16; + $59 = $57 << 16 >> 16 > 0; + if ($53 << 16 >> 16 <= 0) { + if ($59) { + HEAP16[$$3 >> 1] = $57; + $155 = $58 * 7 | 0; + $157 = $4 + 1310736 + ($155 + -7 << 2) | 0; + HEAP32[$157 >> 2] = (HEAP32[$157 >> 2] | 0) + 1; + $161 = $4 + 1310736 + ($155 + -6 << 2) | 0; + HEAP32[$161 >> 2] = (HEAP32[$161 >> 2] | 0) + $$2378; + $165 = $4 + 1310736 + ($155 + -5 << 2) | 0; + HEAP32[$165 >> 2] = (HEAP32[$165 >> 2] | 0) + $$0373; + $169 = $4 + 1310736 + ($155 + -3 << 2) | 0; + if ((HEAP32[$169 >> 2] | 0) < ($$2378 | 0)) HEAP32[$169 >> 2] = $$2378; + HEAP32[$4 + 1310736 + ($155 + -1 << 2) >> 2] = $$0373; + $$2383 = $$1382; + break; + } + $175 = HEAP16[$$3 + -2 >> 1] | 0; + if ($175 << 16 >> 16 > 0) { + HEAP16[$$3 >> 1] = $175; + $178 = ($175 << 16 >> 16) * 7 | 0; + $180 = $4 + 1310736 + ($178 + -7 << 2) | 0; + HEAP32[$180 >> 2] = (HEAP32[$180 >> 2] | 0) + 1; + $184 = $4 + 1310736 + ($178 + -6 << 2) | 0; + HEAP32[$184 >> 2] = (HEAP32[$184 >> 2] | 0) + $$2378; + $188 = $4 + 1310736 + ($178 + -5 << 2) | 0; + HEAP32[$188 >> 2] = (HEAP32[$188 >> 2] | 0) + $$0373; + $192 = $4 + 1310736 + ($178 + -3 << 2) | 0; + if ((HEAP32[$192 >> 2] | 0) >= ($$2378 | 0)) { + $$2383 = $$1382; + break; + } + HEAP32[$192 >> 2] = $$2378; + $$2383 = $$1382; + break; + } else { + $195 = $$1382 + 1 | 0; + if (($$1382 | 0) > 32767) { + label = 54; + break L9; + } + HEAP16[$$3 >> 1] = $195; + HEAP32[$4 + 1179664 + ($$1382 << 2) >> 2] = $195 << 16 >> 16; + $200 = $$1382 * 7 | 0; + HEAP32[$4 + 1310736 + ($200 << 2) >> 2] = 1; + HEAP32[$4 + 1310736 + ($200 + 1 << 2) >> 2] = $$2378; + HEAP32[$4 + 1310736 + ($200 + 2 << 2) >> 2] = $$0373; + HEAP32[$4 + 1310736 + ($200 + 3 << 2) >> 2] = $$2378; + HEAP32[$4 + 1310736 + ($200 + 4 << 2) >> 2] = $$2378; + HEAP32[$4 + 1310736 + ($200 + 5 << 2) >> 2] = $$0373; + HEAP32[$4 + 1310736 + ($200 + 6 << 2) >> 2] = $$0373; + $$2383 = $195; + break; + } + } + if ($59) { + $62 = HEAP32[$4 + 1179664 + ($54 + -1 << 2) >> 2] | 0; + $65 = HEAP32[$4 + 1179664 + ($58 + -1 << 2) >> 2] | 0; + L36 : do if (($62 | 0) <= ($65 | 0)) { + HEAP16[$$3 >> 1] = $62; + if (($62 | 0) < ($65 | 0)) { + $$1366 = $21; + $$1370 = 0; + while (1) { + if (($$1370 | 0) >= ($$1382 | 0)) { + $80 = $62; + break L36; + } + if ((HEAP32[$$1366 >> 2] | 0) == ($65 | 0)) HEAP32[$$1366 >> 2] = $62; + $$1366 = $$1366 + 4 | 0; + $$1370 = $$1370 + 1 | 0; + } + } else $80 = $62; + } else { + HEAP16[$$3 >> 1] = $65; + $$0365 = $21; + $$0369 = 0; + while (1) { + if (($$0369 | 0) >= ($$1382 | 0)) { + $80 = $65; + break L36; + } + if ((HEAP32[$$0365 >> 2] | 0) == ($62 | 0)) HEAP32[$$0365 >> 2] = $65; + $$0365 = $$0365 + 4 | 0; + $$0369 = $$0369 + 1 | 0; + } + } while (0); + $82 = ($80 << 16 >> 16) * 7 | 0; + $84 = $4 + 1310736 + ($82 + -7 << 2) | 0; + HEAP32[$84 >> 2] = (HEAP32[$84 >> 2] | 0) + 1; + $88 = $4 + 1310736 + ($82 + -6 << 2) | 0; + HEAP32[$88 >> 2] = (HEAP32[$88 >> 2] | 0) + $$2378; + $92 = $4 + 1310736 + ($82 + -5 << 2) | 0; + HEAP32[$92 >> 2] = (HEAP32[$92 >> 2] | 0) + $$0373; + HEAP32[$4 + 1310736 + ($82 + -1 << 2) >> 2] = $$0373; + $$2383 = $$1382; + break; + } + $98 = HEAP16[$$3 + -2 >> 1] | 0; + if ($98 << 16 >> 16 <= 0) { + HEAP16[$$3 >> 1] = $53; + $136 = $54 * 7 | 0; + $138 = $4 + 1310736 + ($136 + -7 << 2) | 0; + HEAP32[$138 >> 2] = (HEAP32[$138 >> 2] | 0) + 1; + $142 = $4 + 1310736 + ($136 + -6 << 2) | 0; + HEAP32[$142 >> 2] = (HEAP32[$142 >> 2] | 0) + $$2378; + $146 = $4 + 1310736 + ($136 + -5 << 2) | 0; + HEAP32[$146 >> 2] = (HEAP32[$146 >> 2] | 0) + $$0373; + $150 = $4 + 1310736 + ($136 + -4 << 2) | 0; + if ((HEAP32[$150 >> 2] | 0) > ($$2378 | 0)) HEAP32[$150 >> 2] = $$2378; + HEAP32[$4 + 1310736 + ($136 + -1 << 2) >> 2] = $$0373; + $$2383 = $$1382; + break; + } + $103 = HEAP32[$4 + 1179664 + ($54 + -1 << 2) >> 2] | 0; + $106 = HEAP32[$4 + 1179664 + (($98 << 16 >> 16) + -1 << 2) >> 2] | 0; + L60 : do if (($103 | 0) <= ($106 | 0)) { + HEAP16[$$3 >> 1] = $103; + if (($103 | 0) < ($106 | 0)) { + $$3368 = $21; + $$3372 = 0; + while (1) { + if (($$3372 | 0) >= ($$1382 | 0)) { + $121 = $103; + break L60; + } + if ((HEAP32[$$3368 >> 2] | 0) == ($106 | 0)) HEAP32[$$3368 >> 2] = $103; + $$3368 = $$3368 + 4 | 0; + $$3372 = $$3372 + 1 | 0; + } + } else $121 = $103; + } else { + HEAP16[$$3 >> 1] = $106; + $$2367 = $21; + $$2371 = 0; + while (1) { + if (($$2371 | 0) >= ($$1382 | 0)) { + $121 = $106; + break L60; + } + if ((HEAP32[$$2367 >> 2] | 0) == ($103 | 0)) HEAP32[$$2367 >> 2] = $106; + $$2367 = $$2367 + 4 | 0; + $$2371 = $$2371 + 1 | 0; + } + } while (0); + $123 = ($121 << 16 >> 16) * 7 | 0; + $125 = $4 + 1310736 + ($123 + -7 << 2) | 0; + HEAP32[$125 >> 2] = (HEAP32[$125 >> 2] | 0) + 1; + $129 = $4 + 1310736 + ($123 + -6 << 2) | 0; + HEAP32[$129 >> 2] = (HEAP32[$129 >> 2] | 0) + $$2378; + $133 = $4 + 1310736 + ($123 + -5 << 2) | 0; + HEAP32[$133 >> 2] = (HEAP32[$133 >> 2] | 0) + $$0373; + $$2383 = $$1382; + } else { + HEAP16[$$3 >> 1] = 0; + $$2383 = $$1382; + } while (0); + $$1 = $$1 + 2 | 0; + $$1382 = $$2383; + $$2378 = $$2378 + 1 | 0; + $$3 = $$3 + 2 | 0; + } + $$0360 = $$1 + $1 + 4 | 0; + $$0373 = $$0373 + 1 | 0; + $$0381 = $$1382; + $$2 = $$3 + 4 | 0; + } + L80 : do if ((label | 0) == 54) { + _arLog(0, 3, 23780, $vararg_buffer); + $$0 = -1; + } else if ((label | 0) == 59) { + $221 = $4 + 12 | 0; + $$1374 = 1; + $$3379 = 1; + $$4 = $21; + while (1) { + if (($$3379 | 0) > ($$0381 | 0)) break; + $223 = HEAP32[$$4 >> 2] | 0; + if (($223 | 0) == ($$3379 | 0)) { + $$2375 = $$1374 + 1 | 0; + $229 = $$1374; + } else { + $$2375 = $$1374; + $229 = HEAP32[$4 + 1179664 + ($223 + -1 << 2) >> 2] | 0; + } + HEAP32[$$4 >> 2] = $229; + $$1374 = $$2375; + $$3379 = $$3379 + 1 | 0; + $$4 = $$4 + 4 | 0; + } + $232 = $4 + 8 | 0; + $233 = $$1374 + -1 | 0; + HEAP32[$232 >> 2] = $233; + if (!$233) $$0 = 0; else { + _memset($221 | 0, 0, $233 << 2 | 0) | 0; + _memset($4 + 655376 | 0, 0, $233 << 4 | 0) | 0; + $$4380 = 0; + while (1) { + if (($$4380 | 0) >= ($233 | 0)) break; + $239 = $$4380 << 2; + HEAP32[$4 + 131084 + ($239 << 2) >> 2] = $5; + HEAP32[$4 + 131084 + (($239 | 1) << 2) >> 2] = 0; + HEAP32[$4 + 131084 + (($239 | 2) << 2) >> 2] = $6; + HEAP32[$4 + 131084 + (($239 | 3) << 2) >> 2] = 0; + $$4380 = $$4380 + 1 | 0; + } + $$5 = 0; + while (1) { + if (($$5 | 0) >= ($$0381 | 0)) break; + $251 = (HEAP32[$4 + 1179664 + ($$5 << 2) >> 2] | 0) + -1 | 0; + $252 = $$5 * 7 | 0; + $255 = $4 + 12 + ($251 << 2) | 0; + HEAP32[$255 >> 2] = (HEAP32[$255 >> 2] | 0) + (HEAP32[$4 + 1310736 + ($252 << 2) >> 2] | 0); + $262 = $251 << 1; + $263 = $4 + 655376 + ($262 << 3) | 0; + HEAPF64[$263 >> 3] = +HEAPF64[$263 >> 3] + +(HEAP32[$4 + 1310736 + ($252 + 1 << 2) >> 2] | 0); + $271 = $4 + 655376 + (($262 | 1) << 3) | 0; + HEAPF64[$271 >> 3] = +HEAPF64[$271 >> 3] + +(HEAP32[$4 + 1310736 + ($252 + 2 << 2) >> 2] | 0); + $274 = $251 << 2; + $275 = $4 + 131084 + ($274 << 2) | 0; + $279 = HEAP32[$4 + 1310736 + ($252 + 3 << 2) >> 2] | 0; + if ((HEAP32[$275 >> 2] | 0) > ($279 | 0)) HEAP32[$275 >> 2] = $279; + $282 = $4 + 131084 + (($274 | 1) << 2) | 0; + $286 = HEAP32[$4 + 1310736 + ($252 + 4 << 2) >> 2] | 0; + if ((HEAP32[$282 >> 2] | 0) < ($286 | 0)) HEAP32[$282 >> 2] = $286; + $289 = $4 + 131084 + (($274 | 2) << 2) | 0; + $293 = HEAP32[$4 + 1310736 + ($252 + 5 << 2) >> 2] | 0; + if ((HEAP32[$289 >> 2] | 0) > ($293 | 0)) HEAP32[$289 >> 2] = $293; + $296 = $4 + 131084 + (($274 | 3) << 2) | 0; + $300 = HEAP32[$4 + 1310736 + ($252 + 6 << 2) >> 2] | 0; + if ((HEAP32[$296 >> 2] | 0) < ($300 | 0)) HEAP32[$296 >> 2] = $300; + $$5 = $$5 + 1 | 0; + } + $303 = HEAP32[$232 >> 2] | 0; + $$6 = 0; + while (1) { + if (($$6 | 0) >= ($303 | 0)) { + $$0 = 0; + break L80; + } + $307 = +(HEAP32[$4 + 12 + ($$6 << 2) >> 2] | 0); + $308 = $$6 << 1; + $309 = $4 + 655376 + ($308 << 3) | 0; + HEAPF64[$309 >> 3] = +HEAPF64[$309 >> 3] / $307; + $313 = $4 + 655376 + (($308 | 1) << 3) | 0; + HEAPF64[$313 >> 3] = +HEAPF64[$313 >> 3] / $307; + $$6 = $$6 + 1 | 0; + } + } + } while (0); + STACKTOP = sp; + return $$0 | 0; +} + +function _arLabelingSubDBIC($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0 = 0, $$0360 = 0, $$0361 = 0, $$0363 = 0, $$0365 = 0, $$0369 = 0, $$0373 = 0, $$0376 = 0, $$0381 = 0, $$1 = 0, $$1362 = 0, $$1364 = 0, $$1366 = 0, $$1370 = 0, $$1374 = 0, $$1377 = 0, $$1382 = 0, $$2 = 0, $$2367 = 0, $$2371 = 0, $$2375 = 0, $$2378 = 0, $$2383 = 0, $$3 = 0, $$3368 = 0, $$3372 = 0, $$3379 = 0, $$4 = 0, $$4380 = 0, $$5 = 0, $$6 = 0, $103 = 0, $106 = 0, $121 = 0, $123 = 0, $125 = 0, $129 = 0, $133 = 0, $136 = 0, $138 = 0, $142 = 0, $146 = 0, $15 = 0, $150 = 0, $155 = 0, $157 = 0, $161 = 0, $165 = 0, $169 = 0, $175 = 0, $178 = 0, $180 = 0, $184 = 0, $188 = 0, $192 = 0, $195 = 0, $200 = 0, $21 = 0, $221 = 0, $223 = 0, $229 = 0, $232 = 0, $233 = 0, $239 = 0, $251 = 0, $252 = 0, $255 = 0, $262 = 0, $263 = 0, $27 = 0, $271 = 0, $274 = 0, $275 = 0, $279 = 0, $282 = 0, $286 = 0, $289 = 0, $293 = 0, $296 = 0, $300 = 0, $303 = 0, $307 = 0.0, $308 = 0, $309 = 0, $313 = 0, $33 = 0, $34 = 0, $37 = 0, $39 = 0, $43 = 0, $47 = 0, $5 = 0, $53 = 0, $54 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $62 = 0, $65 = 0, $7 = 0, $8 = 0, $80 = 0, $82 = 0, $84 = 0, $88 = 0, $92 = 0, $98 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $vararg_buffer = sp; + $5 = ($1 | 0) / 2 | 0; + $6 = ($2 | 0) / 2 | 0; + $7 = HEAP32[$4 >> 2] | 0; + $8 = $6 + -1 | 0; + $$0361 = $7; + $$0363 = $7 + ((Math_imul($8, $5) | 0) << 1) | 0; + $$0376 = 0; + while (1) { + if (($$0376 | 0) >= ($5 | 0)) break; + HEAP16[$$0363 >> 1] = 0; + HEAP16[$$0361 >> 1] = 0; + $$0361 = $$0361 + 2 | 0; + $$0363 = $$0363 + 2 | 0; + $$0376 = $$0376 + 1 | 0; + } + $15 = $5 + -1 | 0; + $$1362 = $7; + $$1364 = $7 + ($15 << 1) | 0; + $$1377 = 0; + while (1) { + if (($$1377 | 0) >= ($6 | 0)) break; + HEAP16[$$1364 >> 1] = 0; + HEAP16[$$1362 >> 1] = 0; + $$1362 = $$1362 + ($5 << 1) | 0; + $$1364 = $$1364 + ($5 << 1) | 0; + $$1377 = $$1377 + 1 | 0; + } + $21 = $4 + 1179664 | 0; + $27 = 0 - $5 | 0; + $$0360 = $0 + (($1 << 1) + 2) | 0; + $$0373 = 1; + $$0381 = 0; + $$2 = $7 + ($5 + 1 << 1) | 0; + L9 : while (1) { + if (($$0373 | 0) >= ($8 | 0)) { + label = 59; + break; + } + $$1 = $$0360; + $$1382 = $$0381; + $$2378 = 1; + $$3 = $$2; + while (1) { + if (($$2378 | 0) >= ($15 | 0)) break; + do if ((HEAPU8[$$1 >> 0] | 0 | 0) > ($3 | 0)) { + HEAP16[$$3 >> 1] = 0; + $$2383 = $$1382; + } else { + $33 = $$3 + ($27 << 1) | 0; + $34 = HEAP16[$33 >> 1] | 0; + if ($34 << 16 >> 16 > 0) { + HEAP16[$$3 >> 1] = $34; + $37 = ($34 << 16 >> 16) * 7 | 0; + $39 = $4 + 1310736 + ($37 + -7 << 2) | 0; + HEAP32[$39 >> 2] = (HEAP32[$39 >> 2] | 0) + 1; + $43 = $4 + 1310736 + ($37 + -6 << 2) | 0; + HEAP32[$43 >> 2] = (HEAP32[$43 >> 2] | 0) + $$2378; + $47 = $4 + 1310736 + ($37 + -5 << 2) | 0; + HEAP32[$47 >> 2] = (HEAP32[$47 >> 2] | 0) + $$0373; + HEAP32[$4 + 1310736 + ($37 + -1 << 2) >> 2] = $$0373; + $$2383 = $$1382; + break; + } + $53 = HEAP16[$33 + 2 >> 1] | 0; + $54 = $53 << 16 >> 16; + $57 = HEAP16[$33 + -2 >> 1] | 0; + $58 = $57 << 16 >> 16; + $59 = $57 << 16 >> 16 > 0; + if ($53 << 16 >> 16 <= 0) { + if ($59) { + HEAP16[$$3 >> 1] = $57; + $155 = $58 * 7 | 0; + $157 = $4 + 1310736 + ($155 + -7 << 2) | 0; + HEAP32[$157 >> 2] = (HEAP32[$157 >> 2] | 0) + 1; + $161 = $4 + 1310736 + ($155 + -6 << 2) | 0; + HEAP32[$161 >> 2] = (HEAP32[$161 >> 2] | 0) + $$2378; + $165 = $4 + 1310736 + ($155 + -5 << 2) | 0; + HEAP32[$165 >> 2] = (HEAP32[$165 >> 2] | 0) + $$0373; + $169 = $4 + 1310736 + ($155 + -3 << 2) | 0; + if ((HEAP32[$169 >> 2] | 0) < ($$2378 | 0)) HEAP32[$169 >> 2] = $$2378; + HEAP32[$4 + 1310736 + ($155 + -1 << 2) >> 2] = $$0373; + $$2383 = $$1382; + break; + } + $175 = HEAP16[$$3 + -2 >> 1] | 0; + if ($175 << 16 >> 16 > 0) { + HEAP16[$$3 >> 1] = $175; + $178 = ($175 << 16 >> 16) * 7 | 0; + $180 = $4 + 1310736 + ($178 + -7 << 2) | 0; + HEAP32[$180 >> 2] = (HEAP32[$180 >> 2] | 0) + 1; + $184 = $4 + 1310736 + ($178 + -6 << 2) | 0; + HEAP32[$184 >> 2] = (HEAP32[$184 >> 2] | 0) + $$2378; + $188 = $4 + 1310736 + ($178 + -5 << 2) | 0; + HEAP32[$188 >> 2] = (HEAP32[$188 >> 2] | 0) + $$0373; + $192 = $4 + 1310736 + ($178 + -3 << 2) | 0; + if ((HEAP32[$192 >> 2] | 0) >= ($$2378 | 0)) { + $$2383 = $$1382; + break; + } + HEAP32[$192 >> 2] = $$2378; + $$2383 = $$1382; + break; + } else { + $195 = $$1382 + 1 | 0; + if (($$1382 | 0) > 32767) { + label = 54; + break L9; + } + HEAP16[$$3 >> 1] = $195; + HEAP32[$4 + 1179664 + ($$1382 << 2) >> 2] = $195 << 16 >> 16; + $200 = $$1382 * 7 | 0; + HEAP32[$4 + 1310736 + ($200 << 2) >> 2] = 1; + HEAP32[$4 + 1310736 + ($200 + 1 << 2) >> 2] = $$2378; + HEAP32[$4 + 1310736 + ($200 + 2 << 2) >> 2] = $$0373; + HEAP32[$4 + 1310736 + ($200 + 3 << 2) >> 2] = $$2378; + HEAP32[$4 + 1310736 + ($200 + 4 << 2) >> 2] = $$2378; + HEAP32[$4 + 1310736 + ($200 + 5 << 2) >> 2] = $$0373; + HEAP32[$4 + 1310736 + ($200 + 6 << 2) >> 2] = $$0373; + $$2383 = $195; + break; + } + } + if ($59) { + $62 = HEAP32[$4 + 1179664 + ($54 + -1 << 2) >> 2] | 0; + $65 = HEAP32[$4 + 1179664 + ($58 + -1 << 2) >> 2] | 0; + L37 : do if (($62 | 0) <= ($65 | 0)) { + HEAP16[$$3 >> 1] = $62; + if (($62 | 0) < ($65 | 0)) { + $$1366 = $21; + $$1370 = 0; + while (1) { + if (($$1370 | 0) >= ($$1382 | 0)) { + $80 = $62; + break L37; + } + if ((HEAP32[$$1366 >> 2] | 0) == ($65 | 0)) HEAP32[$$1366 >> 2] = $62; + $$1366 = $$1366 + 4 | 0; + $$1370 = $$1370 + 1 | 0; + } + } else $80 = $62; + } else { + HEAP16[$$3 >> 1] = $65; + $$0365 = $21; + $$0369 = 0; + while (1) { + if (($$0369 | 0) >= ($$1382 | 0)) { + $80 = $65; + break L37; + } + if ((HEAP32[$$0365 >> 2] | 0) == ($62 | 0)) HEAP32[$$0365 >> 2] = $65; + $$0365 = $$0365 + 4 | 0; + $$0369 = $$0369 + 1 | 0; + } + } while (0); + $82 = ($80 << 16 >> 16) * 7 | 0; + $84 = $4 + 1310736 + ($82 + -7 << 2) | 0; + HEAP32[$84 >> 2] = (HEAP32[$84 >> 2] | 0) + 1; + $88 = $4 + 1310736 + ($82 + -6 << 2) | 0; + HEAP32[$88 >> 2] = (HEAP32[$88 >> 2] | 0) + $$2378; + $92 = $4 + 1310736 + ($82 + -5 << 2) | 0; + HEAP32[$92 >> 2] = (HEAP32[$92 >> 2] | 0) + $$0373; + HEAP32[$4 + 1310736 + ($82 + -1 << 2) >> 2] = $$0373; + $$2383 = $$1382; + break; + } + $98 = HEAP16[$$3 + -2 >> 1] | 0; + if ($98 << 16 >> 16 <= 0) { + HEAP16[$$3 >> 1] = $53; + $136 = $54 * 7 | 0; + $138 = $4 + 1310736 + ($136 + -7 << 2) | 0; + HEAP32[$138 >> 2] = (HEAP32[$138 >> 2] | 0) + 1; + $142 = $4 + 1310736 + ($136 + -6 << 2) | 0; + HEAP32[$142 >> 2] = (HEAP32[$142 >> 2] | 0) + $$2378; + $146 = $4 + 1310736 + ($136 + -5 << 2) | 0; + HEAP32[$146 >> 2] = (HEAP32[$146 >> 2] | 0) + $$0373; + $150 = $4 + 1310736 + ($136 + -4 << 2) | 0; + if ((HEAP32[$150 >> 2] | 0) > ($$2378 | 0)) HEAP32[$150 >> 2] = $$2378; + HEAP32[$4 + 1310736 + ($136 + -1 << 2) >> 2] = $$0373; + $$2383 = $$1382; + break; + } + $103 = HEAP32[$4 + 1179664 + ($54 + -1 << 2) >> 2] | 0; + $106 = HEAP32[$4 + 1179664 + (($98 << 16 >> 16) + -1 << 2) >> 2] | 0; + L61 : do if (($103 | 0) <= ($106 | 0)) { + HEAP16[$$3 >> 1] = $103; + if (($103 | 0) < ($106 | 0)) { + $$3368 = $21; + $$3372 = 0; + while (1) { + if (($$3372 | 0) >= ($$1382 | 0)) { + $121 = $103; + break L61; + } + if ((HEAP32[$$3368 >> 2] | 0) == ($106 | 0)) HEAP32[$$3368 >> 2] = $103; + $$3368 = $$3368 + 4 | 0; + $$3372 = $$3372 + 1 | 0; + } + } else $121 = $103; + } else { + HEAP16[$$3 >> 1] = $106; + $$2367 = $21; + $$2371 = 0; + while (1) { + if (($$2371 | 0) >= ($$1382 | 0)) { + $121 = $106; + break L61; + } + if ((HEAP32[$$2367 >> 2] | 0) == ($103 | 0)) HEAP32[$$2367 >> 2] = $106; + $$2367 = $$2367 + 4 | 0; + $$2371 = $$2371 + 1 | 0; + } + } while (0); + $123 = ($121 << 16 >> 16) * 7 | 0; + $125 = $4 + 1310736 + ($123 + -7 << 2) | 0; + HEAP32[$125 >> 2] = (HEAP32[$125 >> 2] | 0) + 1; + $129 = $4 + 1310736 + ($123 + -6 << 2) | 0; + HEAP32[$129 >> 2] = (HEAP32[$129 >> 2] | 0) + $$2378; + $133 = $4 + 1310736 + ($123 + -5 << 2) | 0; + HEAP32[$133 >> 2] = (HEAP32[$133 >> 2] | 0) + $$0373; + $$2383 = $$1382; + } while (0); + $$1 = $$1 + 2 | 0; + $$1382 = $$2383; + $$2378 = $$2378 + 1 | 0; + $$3 = $$3 + 2 | 0; + } + $$0360 = $$1 + $1 + 4 | 0; + $$0373 = $$0373 + 1 | 0; + $$0381 = $$1382; + $$2 = $$3 + 4 | 0; + } + L80 : do if ((label | 0) == 54) { + _arLog(0, 3, 23780, $vararg_buffer); + $$0 = -1; + } else if ((label | 0) == 59) { + $221 = $4 + 12 | 0; + $$1374 = 1; + $$3379 = 1; + $$4 = $21; + while (1) { + if (($$3379 | 0) > ($$0381 | 0)) break; + $223 = HEAP32[$$4 >> 2] | 0; + if (($223 | 0) == ($$3379 | 0)) { + $$2375 = $$1374 + 1 | 0; + $229 = $$1374; + } else { + $$2375 = $$1374; + $229 = HEAP32[$4 + 1179664 + ($223 + -1 << 2) >> 2] | 0; + } + HEAP32[$$4 >> 2] = $229; + $$1374 = $$2375; + $$3379 = $$3379 + 1 | 0; + $$4 = $$4 + 4 | 0; + } + $232 = $4 + 8 | 0; + $233 = $$1374 + -1 | 0; + HEAP32[$232 >> 2] = $233; + if (!$233) $$0 = 0; else { + _memset($221 | 0, 0, $233 << 2 | 0) | 0; + _memset($4 + 655376 | 0, 0, $233 << 4 | 0) | 0; + $$4380 = 0; + while (1) { + if (($$4380 | 0) >= ($233 | 0)) break; + $239 = $$4380 << 2; + HEAP32[$4 + 131084 + ($239 << 2) >> 2] = $5; + HEAP32[$4 + 131084 + (($239 | 1) << 2) >> 2] = 0; + HEAP32[$4 + 131084 + (($239 | 2) << 2) >> 2] = $6; + HEAP32[$4 + 131084 + (($239 | 3) << 2) >> 2] = 0; + $$4380 = $$4380 + 1 | 0; + } + $$5 = 0; + while (1) { + if (($$5 | 0) >= ($$0381 | 0)) break; + $251 = (HEAP32[$4 + 1179664 + ($$5 << 2) >> 2] | 0) + -1 | 0; + $252 = $$5 * 7 | 0; + $255 = $4 + 12 + ($251 << 2) | 0; + HEAP32[$255 >> 2] = (HEAP32[$255 >> 2] | 0) + (HEAP32[$4 + 1310736 + ($252 << 2) >> 2] | 0); + $262 = $251 << 1; + $263 = $4 + 655376 + ($262 << 3) | 0; + HEAPF64[$263 >> 3] = +HEAPF64[$263 >> 3] + +(HEAP32[$4 + 1310736 + ($252 + 1 << 2) >> 2] | 0); + $271 = $4 + 655376 + (($262 | 1) << 3) | 0; + HEAPF64[$271 >> 3] = +HEAPF64[$271 >> 3] + +(HEAP32[$4 + 1310736 + ($252 + 2 << 2) >> 2] | 0); + $274 = $251 << 2; + $275 = $4 + 131084 + ($274 << 2) | 0; + $279 = HEAP32[$4 + 1310736 + ($252 + 3 << 2) >> 2] | 0; + if ((HEAP32[$275 >> 2] | 0) > ($279 | 0)) HEAP32[$275 >> 2] = $279; + $282 = $4 + 131084 + (($274 | 1) << 2) | 0; + $286 = HEAP32[$4 + 1310736 + ($252 + 4 << 2) >> 2] | 0; + if ((HEAP32[$282 >> 2] | 0) < ($286 | 0)) HEAP32[$282 >> 2] = $286; + $289 = $4 + 131084 + (($274 | 2) << 2) | 0; + $293 = HEAP32[$4 + 1310736 + ($252 + 5 << 2) >> 2] | 0; + if ((HEAP32[$289 >> 2] | 0) > ($293 | 0)) HEAP32[$289 >> 2] = $293; + $296 = $4 + 131084 + (($274 | 3) << 2) | 0; + $300 = HEAP32[$4 + 1310736 + ($252 + 6 << 2) >> 2] | 0; + if ((HEAP32[$296 >> 2] | 0) < ($300 | 0)) HEAP32[$296 >> 2] = $300; + $$5 = $$5 + 1 | 0; + } + $303 = HEAP32[$232 >> 2] | 0; + $$6 = 0; + while (1) { + if (($$6 | 0) >= ($303 | 0)) { + $$0 = 0; + break L80; + } + $307 = +(HEAP32[$4 + 12 + ($$6 << 2) >> 2] | 0); + $308 = $$6 << 1; + $309 = $4 + 655376 + ($308 << 3) | 0; + HEAPF64[$309 >> 3] = +HEAPF64[$309 >> 3] / $307; + $313 = $4 + 655376 + (($308 | 1) << 3) | 0; + HEAPF64[$313 >> 3] = +HEAPF64[$313 >> 3] / $307; + $$6 = $$6 + 1 | 0; + } + } + } while (0); + STACKTOP = sp; + return $$0 | 0; +} + +function _arLabelingSubDWRC($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0 = 0, $$0358 = 0, $$0359 = 0, $$0361 = 0, $$0363 = 0, $$0367 = 0, $$0371 = 0, $$0374 = 0, $$0379 = 0, $$1 = 0, $$1360 = 0, $$1362 = 0, $$1364 = 0, $$1368 = 0, $$1372 = 0, $$1375 = 0, $$1380 = 0, $$2 = 0, $$2365 = 0, $$2369 = 0, $$2373 = 0, $$2376 = 0, $$2381 = 0, $$3 = 0, $$3366 = 0, $$3370 = 0, $$3377 = 0, $$4 = 0, $$4378 = 0, $$5 = 0, $$6 = 0, $102 = 0, $117 = 0, $119 = 0, $121 = 0, $125 = 0, $129 = 0, $13 = 0, $132 = 0, $134 = 0, $138 = 0, $142 = 0, $146 = 0, $151 = 0, $153 = 0, $157 = 0, $161 = 0, $165 = 0, $171 = 0, $174 = 0, $176 = 0, $180 = 0, $184 = 0, $188 = 0, $19 = 0, $191 = 0, $196 = 0, $20 = 0, $216 = 0, $218 = 0, $224 = 0, $227 = 0, $228 = 0, $23 = 0, $234 = 0, $246 = 0, $247 = 0, $250 = 0, $257 = 0, $258 = 0, $266 = 0, $269 = 0, $270 = 0, $274 = 0, $277 = 0, $281 = 0, $284 = 0, $288 = 0, $29 = 0, $291 = 0, $295 = 0, $298 = 0, $30 = 0, $302 = 0.0, $303 = 0, $304 = 0, $308 = 0, $33 = 0, $35 = 0, $39 = 0, $43 = 0, $49 = 0, $5 = 0, $50 = 0, $53 = 0, $54 = 0, $55 = 0, $58 = 0, $6 = 0, $61 = 0, $76 = 0, $78 = 0, $80 = 0, $84 = 0, $88 = 0, $94 = 0, $99 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $vararg_buffer = sp; + $5 = HEAP32[$4 >> 2] | 0; + $6 = $2 + -1 | 0; + $$0359 = $5; + $$0361 = $5 + ((Math_imul($6, $1) | 0) << 1) | 0; + $$0374 = 0; + while (1) { + if (($$0374 | 0) >= ($1 | 0)) break; + HEAP16[$$0361 >> 1] = 0; + HEAP16[$$0359 >> 1] = 0; + $$0359 = $$0359 + 2 | 0; + $$0361 = $$0361 + 2 | 0; + $$0374 = $$0374 + 1 | 0; + } + $13 = $1 + -1 | 0; + $$1360 = $5; + $$1362 = $5 + ($13 << 1) | 0; + $$1375 = 0; + while (1) { + if (($$1375 | 0) >= ($2 | 0)) break; + HEAP16[$$1362 >> 1] = 0; + HEAP16[$$1360 >> 1] = 0; + $$1360 = $$1360 + ($1 << 1) | 0; + $$1362 = $$1362 + ($1 << 1) | 0; + $$1375 = $$1375 + 1 | 0; + } + $19 = $4 + 1179664 | 0; + $20 = $1 + 1 | 0; + $23 = 0 - $1 | 0; + $$0358 = $0 + $20 | 0; + $$0371 = 1; + $$0379 = 0; + $$2 = $5 + ($20 << 1) | 0; + L9 : while (1) { + if (($$0371 | 0) >= ($6 | 0)) { + label = 59; + break; + } + $$1 = $$0358; + $$1380 = $$0379; + $$2376 = 1; + $$3 = $$2; + while (1) { + if (($$2376 | 0) >= ($13 | 0)) break; + do if ((HEAPU8[$$1 >> 0] | 0 | 0) > ($3 | 0)) { + $29 = $$3 + ($23 << 1) | 0; + $30 = HEAP16[$29 >> 1] | 0; + if ($30 << 16 >> 16 > 0) { + HEAP16[$$3 >> 1] = $30; + $33 = ($30 << 16 >> 16) * 7 | 0; + $35 = $4 + 1310736 + ($33 + -7 << 2) | 0; + HEAP32[$35 >> 2] = (HEAP32[$35 >> 2] | 0) + 1; + $39 = $4 + 1310736 + ($33 + -6 << 2) | 0; + HEAP32[$39 >> 2] = (HEAP32[$39 >> 2] | 0) + $$2376; + $43 = $4 + 1310736 + ($33 + -5 << 2) | 0; + HEAP32[$43 >> 2] = (HEAP32[$43 >> 2] | 0) + $$0371; + HEAP32[$4 + 1310736 + ($33 + -1 << 2) >> 2] = $$0371; + $$2381 = $$1380; + break; + } + $49 = HEAP16[$29 + 2 >> 1] | 0; + $50 = $49 << 16 >> 16; + $53 = HEAP16[$29 + -2 >> 1] | 0; + $54 = $53 << 16 >> 16; + $55 = $53 << 16 >> 16 > 0; + if ($49 << 16 >> 16 <= 0) { + if ($55) { + HEAP16[$$3 >> 1] = $53; + $151 = $54 * 7 | 0; + $153 = $4 + 1310736 + ($151 + -7 << 2) | 0; + HEAP32[$153 >> 2] = (HEAP32[$153 >> 2] | 0) + 1; + $157 = $4 + 1310736 + ($151 + -6 << 2) | 0; + HEAP32[$157 >> 2] = (HEAP32[$157 >> 2] | 0) + $$2376; + $161 = $4 + 1310736 + ($151 + -5 << 2) | 0; + HEAP32[$161 >> 2] = (HEAP32[$161 >> 2] | 0) + $$0371; + $165 = $4 + 1310736 + ($151 + -3 << 2) | 0; + if ((HEAP32[$165 >> 2] | 0) < ($$2376 | 0)) HEAP32[$165 >> 2] = $$2376; + HEAP32[$4 + 1310736 + ($151 + -1 << 2) >> 2] = $$0371; + $$2381 = $$1380; + break; + } + $171 = HEAP16[$$3 + -2 >> 1] | 0; + if ($171 << 16 >> 16 > 0) { + HEAP16[$$3 >> 1] = $171; + $174 = ($171 << 16 >> 16) * 7 | 0; + $176 = $4 + 1310736 + ($174 + -7 << 2) | 0; + HEAP32[$176 >> 2] = (HEAP32[$176 >> 2] | 0) + 1; + $180 = $4 + 1310736 + ($174 + -6 << 2) | 0; + HEAP32[$180 >> 2] = (HEAP32[$180 >> 2] | 0) + $$2376; + $184 = $4 + 1310736 + ($174 + -5 << 2) | 0; + HEAP32[$184 >> 2] = (HEAP32[$184 >> 2] | 0) + $$0371; + $188 = $4 + 1310736 + ($174 + -3 << 2) | 0; + if ((HEAP32[$188 >> 2] | 0) >= ($$2376 | 0)) { + $$2381 = $$1380; + break; + } + HEAP32[$188 >> 2] = $$2376; + $$2381 = $$1380; + break; + } else { + $191 = $$1380 + 1 | 0; + if (($$1380 | 0) > 32767) { + label = 54; + break L9; + } + HEAP16[$$3 >> 1] = $191; + HEAP32[$4 + 1179664 + ($$1380 << 2) >> 2] = $191 << 16 >> 16; + $196 = $$1380 * 7 | 0; + HEAP32[$4 + 1310736 + ($196 << 2) >> 2] = 1; + HEAP32[$4 + 1310736 + ($196 + 1 << 2) >> 2] = $$2376; + HEAP32[$4 + 1310736 + ($196 + 2 << 2) >> 2] = $$0371; + HEAP32[$4 + 1310736 + ($196 + 3 << 2) >> 2] = $$2376; + HEAP32[$4 + 1310736 + ($196 + 4 << 2) >> 2] = $$2376; + HEAP32[$4 + 1310736 + ($196 + 5 << 2) >> 2] = $$0371; + HEAP32[$4 + 1310736 + ($196 + 6 << 2) >> 2] = $$0371; + $$2381 = $191; + break; + } + } + if ($55) { + $58 = HEAP32[$4 + 1179664 + ($50 + -1 << 2) >> 2] | 0; + $61 = HEAP32[$4 + 1179664 + ($54 + -1 << 2) >> 2] | 0; + L36 : do if (($58 | 0) <= ($61 | 0)) { + HEAP16[$$3 >> 1] = $58; + if (($58 | 0) < ($61 | 0)) { + $$1364 = $19; + $$1368 = 0; + while (1) { + if (($$1368 | 0) >= ($$1380 | 0)) { + $76 = $58; + break L36; + } + if ((HEAP32[$$1364 >> 2] | 0) == ($61 | 0)) HEAP32[$$1364 >> 2] = $58; + $$1364 = $$1364 + 4 | 0; + $$1368 = $$1368 + 1 | 0; + } + } else $76 = $58; + } else { + HEAP16[$$3 >> 1] = $61; + $$0363 = $19; + $$0367 = 0; + while (1) { + if (($$0367 | 0) >= ($$1380 | 0)) { + $76 = $61; + break L36; + } + if ((HEAP32[$$0363 >> 2] | 0) == ($58 | 0)) HEAP32[$$0363 >> 2] = $61; + $$0363 = $$0363 + 4 | 0; + $$0367 = $$0367 + 1 | 0; + } + } while (0); + $78 = ($76 << 16 >> 16) * 7 | 0; + $80 = $4 + 1310736 + ($78 + -7 << 2) | 0; + HEAP32[$80 >> 2] = (HEAP32[$80 >> 2] | 0) + 1; + $84 = $4 + 1310736 + ($78 + -6 << 2) | 0; + HEAP32[$84 >> 2] = (HEAP32[$84 >> 2] | 0) + $$2376; + $88 = $4 + 1310736 + ($78 + -5 << 2) | 0; + HEAP32[$88 >> 2] = (HEAP32[$88 >> 2] | 0) + $$0371; + HEAP32[$4 + 1310736 + ($78 + -1 << 2) >> 2] = $$0371; + $$2381 = $$1380; + break; + } + $94 = HEAP16[$$3 + -2 >> 1] | 0; + if ($94 << 16 >> 16 <= 0) { + HEAP16[$$3 >> 1] = $49; + $132 = $50 * 7 | 0; + $134 = $4 + 1310736 + ($132 + -7 << 2) | 0; + HEAP32[$134 >> 2] = (HEAP32[$134 >> 2] | 0) + 1; + $138 = $4 + 1310736 + ($132 + -6 << 2) | 0; + HEAP32[$138 >> 2] = (HEAP32[$138 >> 2] | 0) + $$2376; + $142 = $4 + 1310736 + ($132 + -5 << 2) | 0; + HEAP32[$142 >> 2] = (HEAP32[$142 >> 2] | 0) + $$0371; + $146 = $4 + 1310736 + ($132 + -4 << 2) | 0; + if ((HEAP32[$146 >> 2] | 0) > ($$2376 | 0)) HEAP32[$146 >> 2] = $$2376; + HEAP32[$4 + 1310736 + ($132 + -1 << 2) >> 2] = $$0371; + $$2381 = $$1380; + break; + } + $99 = HEAP32[$4 + 1179664 + ($50 + -1 << 2) >> 2] | 0; + $102 = HEAP32[$4 + 1179664 + (($94 << 16 >> 16) + -1 << 2) >> 2] | 0; + L60 : do if (($99 | 0) <= ($102 | 0)) { + HEAP16[$$3 >> 1] = $99; + if (($99 | 0) < ($102 | 0)) { + $$3366 = $19; + $$3370 = 0; + while (1) { + if (($$3370 | 0) >= ($$1380 | 0)) { + $117 = $99; + break L60; + } + if ((HEAP32[$$3366 >> 2] | 0) == ($102 | 0)) HEAP32[$$3366 >> 2] = $99; + $$3366 = $$3366 + 4 | 0; + $$3370 = $$3370 + 1 | 0; + } + } else $117 = $99; + } else { + HEAP16[$$3 >> 1] = $102; + $$2365 = $19; + $$2369 = 0; + while (1) { + if (($$2369 | 0) >= ($$1380 | 0)) { + $117 = $102; + break L60; + } + if ((HEAP32[$$2365 >> 2] | 0) == ($99 | 0)) HEAP32[$$2365 >> 2] = $102; + $$2365 = $$2365 + 4 | 0; + $$2369 = $$2369 + 1 | 0; + } + } while (0); + $119 = ($117 << 16 >> 16) * 7 | 0; + $121 = $4 + 1310736 + ($119 + -7 << 2) | 0; + HEAP32[$121 >> 2] = (HEAP32[$121 >> 2] | 0) + 1; + $125 = $4 + 1310736 + ($119 + -6 << 2) | 0; + HEAP32[$125 >> 2] = (HEAP32[$125 >> 2] | 0) + $$2376; + $129 = $4 + 1310736 + ($119 + -5 << 2) | 0; + HEAP32[$129 >> 2] = (HEAP32[$129 >> 2] | 0) + $$0371; + $$2381 = $$1380; + } else { + HEAP16[$$3 >> 1] = 0; + $$2381 = $$1380; + } while (0); + $$1 = $$1 + 1 | 0; + $$1380 = $$2381; + $$2376 = $$2376 + 1 | 0; + $$3 = $$3 + 2 | 0; + } + $$0358 = $$1 + 2 | 0; + $$0371 = $$0371 + 1 | 0; + $$0379 = $$1380; + $$2 = $$3 + 4 | 0; + } + L80 : do if ((label | 0) == 54) { + _arLog(0, 3, 23780, $vararg_buffer); + $$0 = -1; + } else if ((label | 0) == 59) { + $216 = $4 + 12 | 0; + $$1372 = 1; + $$3377 = 1; + $$4 = $19; + while (1) { + if (($$3377 | 0) > ($$0379 | 0)) break; + $218 = HEAP32[$$4 >> 2] | 0; + if (($218 | 0) == ($$3377 | 0)) { + $$2373 = $$1372 + 1 | 0; + $224 = $$1372; + } else { + $$2373 = $$1372; + $224 = HEAP32[$4 + 1179664 + ($218 + -1 << 2) >> 2] | 0; + } + HEAP32[$$4 >> 2] = $224; + $$1372 = $$2373; + $$3377 = $$3377 + 1 | 0; + $$4 = $$4 + 4 | 0; + } + $227 = $4 + 8 | 0; + $228 = $$1372 + -1 | 0; + HEAP32[$227 >> 2] = $228; + if (!$228) $$0 = 0; else { + _memset($216 | 0, 0, $228 << 2 | 0) | 0; + _memset($4 + 655376 | 0, 0, $228 << 4 | 0) | 0; + $$4378 = 0; + while (1) { + if (($$4378 | 0) >= ($228 | 0)) break; + $234 = $$4378 << 2; + HEAP32[$4 + 131084 + ($234 << 2) >> 2] = $1; + HEAP32[$4 + 131084 + (($234 | 1) << 2) >> 2] = 0; + HEAP32[$4 + 131084 + (($234 | 2) << 2) >> 2] = $2; + HEAP32[$4 + 131084 + (($234 | 3) << 2) >> 2] = 0; + $$4378 = $$4378 + 1 | 0; + } + $$5 = 0; + while (1) { + if (($$5 | 0) >= ($$0379 | 0)) break; + $246 = (HEAP32[$4 + 1179664 + ($$5 << 2) >> 2] | 0) + -1 | 0; + $247 = $$5 * 7 | 0; + $250 = $4 + 12 + ($246 << 2) | 0; + HEAP32[$250 >> 2] = (HEAP32[$250 >> 2] | 0) + (HEAP32[$4 + 1310736 + ($247 << 2) >> 2] | 0); + $257 = $246 << 1; + $258 = $4 + 655376 + ($257 << 3) | 0; + HEAPF64[$258 >> 3] = +HEAPF64[$258 >> 3] + +(HEAP32[$4 + 1310736 + ($247 + 1 << 2) >> 2] | 0); + $266 = $4 + 655376 + (($257 | 1) << 3) | 0; + HEAPF64[$266 >> 3] = +HEAPF64[$266 >> 3] + +(HEAP32[$4 + 1310736 + ($247 + 2 << 2) >> 2] | 0); + $269 = $246 << 2; + $270 = $4 + 131084 + ($269 << 2) | 0; + $274 = HEAP32[$4 + 1310736 + ($247 + 3 << 2) >> 2] | 0; + if ((HEAP32[$270 >> 2] | 0) > ($274 | 0)) HEAP32[$270 >> 2] = $274; + $277 = $4 + 131084 + (($269 | 1) << 2) | 0; + $281 = HEAP32[$4 + 1310736 + ($247 + 4 << 2) >> 2] | 0; + if ((HEAP32[$277 >> 2] | 0) < ($281 | 0)) HEAP32[$277 >> 2] = $281; + $284 = $4 + 131084 + (($269 | 2) << 2) | 0; + $288 = HEAP32[$4 + 1310736 + ($247 + 5 << 2) >> 2] | 0; + if ((HEAP32[$284 >> 2] | 0) > ($288 | 0)) HEAP32[$284 >> 2] = $288; + $291 = $4 + 131084 + (($269 | 3) << 2) | 0; + $295 = HEAP32[$4 + 1310736 + ($247 + 6 << 2) >> 2] | 0; + if ((HEAP32[$291 >> 2] | 0) < ($295 | 0)) HEAP32[$291 >> 2] = $295; + $$5 = $$5 + 1 | 0; + } + $298 = HEAP32[$227 >> 2] | 0; + $$6 = 0; + while (1) { + if (($$6 | 0) >= ($298 | 0)) { + $$0 = 0; + break L80; + } + $302 = +(HEAP32[$4 + 12 + ($$6 << 2) >> 2] | 0); + $303 = $$6 << 1; + $304 = $4 + 655376 + ($303 << 3) | 0; + HEAPF64[$304 >> 3] = +HEAPF64[$304 >> 3] / $302; + $308 = $4 + 655376 + (($303 | 1) << 3) | 0; + HEAPF64[$308 >> 3] = +HEAPF64[$308 >> 3] / $302; + $$6 = $$6 + 1 | 0; + } + } + } while (0); + STACKTOP = sp; + return $$0 | 0; +} + +function _arLabelingSubDBRC($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0 = 0, $$0358 = 0, $$0359 = 0, $$0361 = 0, $$0363 = 0, $$0367 = 0, $$0371 = 0, $$0374 = 0, $$0379 = 0, $$1 = 0, $$1360 = 0, $$1362 = 0, $$1364 = 0, $$1368 = 0, $$1372 = 0, $$1375 = 0, $$1380 = 0, $$2 = 0, $$2365 = 0, $$2369 = 0, $$2373 = 0, $$2376 = 0, $$2381 = 0, $$3 = 0, $$3366 = 0, $$3370 = 0, $$3377 = 0, $$4 = 0, $$4378 = 0, $$5 = 0, $$6 = 0, $102 = 0, $117 = 0, $119 = 0, $121 = 0, $125 = 0, $129 = 0, $13 = 0, $132 = 0, $134 = 0, $138 = 0, $142 = 0, $146 = 0, $151 = 0, $153 = 0, $157 = 0, $161 = 0, $165 = 0, $171 = 0, $174 = 0, $176 = 0, $180 = 0, $184 = 0, $188 = 0, $19 = 0, $191 = 0, $196 = 0, $20 = 0, $216 = 0, $218 = 0, $224 = 0, $227 = 0, $228 = 0, $23 = 0, $234 = 0, $246 = 0, $247 = 0, $250 = 0, $257 = 0, $258 = 0, $266 = 0, $269 = 0, $270 = 0, $274 = 0, $277 = 0, $281 = 0, $284 = 0, $288 = 0, $29 = 0, $291 = 0, $295 = 0, $298 = 0, $30 = 0, $302 = 0.0, $303 = 0, $304 = 0, $308 = 0, $33 = 0, $35 = 0, $39 = 0, $43 = 0, $49 = 0, $5 = 0, $50 = 0, $53 = 0, $54 = 0, $55 = 0, $58 = 0, $6 = 0, $61 = 0, $76 = 0, $78 = 0, $80 = 0, $84 = 0, $88 = 0, $94 = 0, $99 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $vararg_buffer = sp; + $5 = HEAP32[$4 >> 2] | 0; + $6 = $2 + -1 | 0; + $$0359 = $5; + $$0361 = $5 + ((Math_imul($6, $1) | 0) << 1) | 0; + $$0374 = 0; + while (1) { + if (($$0374 | 0) >= ($1 | 0)) break; + HEAP16[$$0361 >> 1] = 0; + HEAP16[$$0359 >> 1] = 0; + $$0359 = $$0359 + 2 | 0; + $$0361 = $$0361 + 2 | 0; + $$0374 = $$0374 + 1 | 0; + } + $13 = $1 + -1 | 0; + $$1360 = $5; + $$1362 = $5 + ($13 << 1) | 0; + $$1375 = 0; + while (1) { + if (($$1375 | 0) >= ($2 | 0)) break; + HEAP16[$$1362 >> 1] = 0; + HEAP16[$$1360 >> 1] = 0; + $$1360 = $$1360 + ($1 << 1) | 0; + $$1362 = $$1362 + ($1 << 1) | 0; + $$1375 = $$1375 + 1 | 0; + } + $19 = $4 + 1179664 | 0; + $20 = $1 + 1 | 0; + $23 = 0 - $1 | 0; + $$0358 = $0 + $20 | 0; + $$0371 = 1; + $$0379 = 0; + $$2 = $5 + ($20 << 1) | 0; + L9 : while (1) { + if (($$0371 | 0) >= ($6 | 0)) { + label = 59; + break; + } + $$1 = $$0358; + $$1380 = $$0379; + $$2376 = 1; + $$3 = $$2; + while (1) { + if (($$2376 | 0) >= ($13 | 0)) break; + do if ((HEAPU8[$$1 >> 0] | 0 | 0) > ($3 | 0)) { + HEAP16[$$3 >> 1] = 0; + $$2381 = $$1380; + } else { + $29 = $$3 + ($23 << 1) | 0; + $30 = HEAP16[$29 >> 1] | 0; + if ($30 << 16 >> 16 > 0) { + HEAP16[$$3 >> 1] = $30; + $33 = ($30 << 16 >> 16) * 7 | 0; + $35 = $4 + 1310736 + ($33 + -7 << 2) | 0; + HEAP32[$35 >> 2] = (HEAP32[$35 >> 2] | 0) + 1; + $39 = $4 + 1310736 + ($33 + -6 << 2) | 0; + HEAP32[$39 >> 2] = (HEAP32[$39 >> 2] | 0) + $$2376; + $43 = $4 + 1310736 + ($33 + -5 << 2) | 0; + HEAP32[$43 >> 2] = (HEAP32[$43 >> 2] | 0) + $$0371; + HEAP32[$4 + 1310736 + ($33 + -1 << 2) >> 2] = $$0371; + $$2381 = $$1380; + break; + } + $49 = HEAP16[$29 + 2 >> 1] | 0; + $50 = $49 << 16 >> 16; + $53 = HEAP16[$29 + -2 >> 1] | 0; + $54 = $53 << 16 >> 16; + $55 = $53 << 16 >> 16 > 0; + if ($49 << 16 >> 16 <= 0) { + if ($55) { + HEAP16[$$3 >> 1] = $53; + $151 = $54 * 7 | 0; + $153 = $4 + 1310736 + ($151 + -7 << 2) | 0; + HEAP32[$153 >> 2] = (HEAP32[$153 >> 2] | 0) + 1; + $157 = $4 + 1310736 + ($151 + -6 << 2) | 0; + HEAP32[$157 >> 2] = (HEAP32[$157 >> 2] | 0) + $$2376; + $161 = $4 + 1310736 + ($151 + -5 << 2) | 0; + HEAP32[$161 >> 2] = (HEAP32[$161 >> 2] | 0) + $$0371; + $165 = $4 + 1310736 + ($151 + -3 << 2) | 0; + if ((HEAP32[$165 >> 2] | 0) < ($$2376 | 0)) HEAP32[$165 >> 2] = $$2376; + HEAP32[$4 + 1310736 + ($151 + -1 << 2) >> 2] = $$0371; + $$2381 = $$1380; + break; + } + $171 = HEAP16[$$3 + -2 >> 1] | 0; + if ($171 << 16 >> 16 > 0) { + HEAP16[$$3 >> 1] = $171; + $174 = ($171 << 16 >> 16) * 7 | 0; + $176 = $4 + 1310736 + ($174 + -7 << 2) | 0; + HEAP32[$176 >> 2] = (HEAP32[$176 >> 2] | 0) + 1; + $180 = $4 + 1310736 + ($174 + -6 << 2) | 0; + HEAP32[$180 >> 2] = (HEAP32[$180 >> 2] | 0) + $$2376; + $184 = $4 + 1310736 + ($174 + -5 << 2) | 0; + HEAP32[$184 >> 2] = (HEAP32[$184 >> 2] | 0) + $$0371; + $188 = $4 + 1310736 + ($174 + -3 << 2) | 0; + if ((HEAP32[$188 >> 2] | 0) >= ($$2376 | 0)) { + $$2381 = $$1380; + break; + } + HEAP32[$188 >> 2] = $$2376; + $$2381 = $$1380; + break; + } else { + $191 = $$1380 + 1 | 0; + if (($$1380 | 0) > 32767) { + label = 54; + break L9; + } + HEAP16[$$3 >> 1] = $191; + HEAP32[$4 + 1179664 + ($$1380 << 2) >> 2] = $191 << 16 >> 16; + $196 = $$1380 * 7 | 0; + HEAP32[$4 + 1310736 + ($196 << 2) >> 2] = 1; + HEAP32[$4 + 1310736 + ($196 + 1 << 2) >> 2] = $$2376; + HEAP32[$4 + 1310736 + ($196 + 2 << 2) >> 2] = $$0371; + HEAP32[$4 + 1310736 + ($196 + 3 << 2) >> 2] = $$2376; + HEAP32[$4 + 1310736 + ($196 + 4 << 2) >> 2] = $$2376; + HEAP32[$4 + 1310736 + ($196 + 5 << 2) >> 2] = $$0371; + HEAP32[$4 + 1310736 + ($196 + 6 << 2) >> 2] = $$0371; + $$2381 = $191; + break; + } + } + if ($55) { + $58 = HEAP32[$4 + 1179664 + ($50 + -1 << 2) >> 2] | 0; + $61 = HEAP32[$4 + 1179664 + ($54 + -1 << 2) >> 2] | 0; + L37 : do if (($58 | 0) <= ($61 | 0)) { + HEAP16[$$3 >> 1] = $58; + if (($58 | 0) < ($61 | 0)) { + $$1364 = $19; + $$1368 = 0; + while (1) { + if (($$1368 | 0) >= ($$1380 | 0)) { + $76 = $58; + break L37; + } + if ((HEAP32[$$1364 >> 2] | 0) == ($61 | 0)) HEAP32[$$1364 >> 2] = $58; + $$1364 = $$1364 + 4 | 0; + $$1368 = $$1368 + 1 | 0; + } + } else $76 = $58; + } else { + HEAP16[$$3 >> 1] = $61; + $$0363 = $19; + $$0367 = 0; + while (1) { + if (($$0367 | 0) >= ($$1380 | 0)) { + $76 = $61; + break L37; + } + if ((HEAP32[$$0363 >> 2] | 0) == ($58 | 0)) HEAP32[$$0363 >> 2] = $61; + $$0363 = $$0363 + 4 | 0; + $$0367 = $$0367 + 1 | 0; + } + } while (0); + $78 = ($76 << 16 >> 16) * 7 | 0; + $80 = $4 + 1310736 + ($78 + -7 << 2) | 0; + HEAP32[$80 >> 2] = (HEAP32[$80 >> 2] | 0) + 1; + $84 = $4 + 1310736 + ($78 + -6 << 2) | 0; + HEAP32[$84 >> 2] = (HEAP32[$84 >> 2] | 0) + $$2376; + $88 = $4 + 1310736 + ($78 + -5 << 2) | 0; + HEAP32[$88 >> 2] = (HEAP32[$88 >> 2] | 0) + $$0371; + HEAP32[$4 + 1310736 + ($78 + -1 << 2) >> 2] = $$0371; + $$2381 = $$1380; + break; + } + $94 = HEAP16[$$3 + -2 >> 1] | 0; + if ($94 << 16 >> 16 <= 0) { + HEAP16[$$3 >> 1] = $49; + $132 = $50 * 7 | 0; + $134 = $4 + 1310736 + ($132 + -7 << 2) | 0; + HEAP32[$134 >> 2] = (HEAP32[$134 >> 2] | 0) + 1; + $138 = $4 + 1310736 + ($132 + -6 << 2) | 0; + HEAP32[$138 >> 2] = (HEAP32[$138 >> 2] | 0) + $$2376; + $142 = $4 + 1310736 + ($132 + -5 << 2) | 0; + HEAP32[$142 >> 2] = (HEAP32[$142 >> 2] | 0) + $$0371; + $146 = $4 + 1310736 + ($132 + -4 << 2) | 0; + if ((HEAP32[$146 >> 2] | 0) > ($$2376 | 0)) HEAP32[$146 >> 2] = $$2376; + HEAP32[$4 + 1310736 + ($132 + -1 << 2) >> 2] = $$0371; + $$2381 = $$1380; + break; + } + $99 = HEAP32[$4 + 1179664 + ($50 + -1 << 2) >> 2] | 0; + $102 = HEAP32[$4 + 1179664 + (($94 << 16 >> 16) + -1 << 2) >> 2] | 0; + L61 : do if (($99 | 0) <= ($102 | 0)) { + HEAP16[$$3 >> 1] = $99; + if (($99 | 0) < ($102 | 0)) { + $$3366 = $19; + $$3370 = 0; + while (1) { + if (($$3370 | 0) >= ($$1380 | 0)) { + $117 = $99; + break L61; + } + if ((HEAP32[$$3366 >> 2] | 0) == ($102 | 0)) HEAP32[$$3366 >> 2] = $99; + $$3366 = $$3366 + 4 | 0; + $$3370 = $$3370 + 1 | 0; + } + } else $117 = $99; + } else { + HEAP16[$$3 >> 1] = $102; + $$2365 = $19; + $$2369 = 0; + while (1) { + if (($$2369 | 0) >= ($$1380 | 0)) { + $117 = $102; + break L61; + } + if ((HEAP32[$$2365 >> 2] | 0) == ($99 | 0)) HEAP32[$$2365 >> 2] = $102; + $$2365 = $$2365 + 4 | 0; + $$2369 = $$2369 + 1 | 0; + } + } while (0); + $119 = ($117 << 16 >> 16) * 7 | 0; + $121 = $4 + 1310736 + ($119 + -7 << 2) | 0; + HEAP32[$121 >> 2] = (HEAP32[$121 >> 2] | 0) + 1; + $125 = $4 + 1310736 + ($119 + -6 << 2) | 0; + HEAP32[$125 >> 2] = (HEAP32[$125 >> 2] | 0) + $$2376; + $129 = $4 + 1310736 + ($119 + -5 << 2) | 0; + HEAP32[$129 >> 2] = (HEAP32[$129 >> 2] | 0) + $$0371; + $$2381 = $$1380; + } while (0); + $$1 = $$1 + 1 | 0; + $$1380 = $$2381; + $$2376 = $$2376 + 1 | 0; + $$3 = $$3 + 2 | 0; + } + $$0358 = $$1 + 2 | 0; + $$0371 = $$0371 + 1 | 0; + $$0379 = $$1380; + $$2 = $$3 + 4 | 0; + } + L80 : do if ((label | 0) == 54) { + _arLog(0, 3, 23780, $vararg_buffer); + $$0 = -1; + } else if ((label | 0) == 59) { + $216 = $4 + 12 | 0; + $$1372 = 1; + $$3377 = 1; + $$4 = $19; + while (1) { + if (($$3377 | 0) > ($$0379 | 0)) break; + $218 = HEAP32[$$4 >> 2] | 0; + if (($218 | 0) == ($$3377 | 0)) { + $$2373 = $$1372 + 1 | 0; + $224 = $$1372; + } else { + $$2373 = $$1372; + $224 = HEAP32[$4 + 1179664 + ($218 + -1 << 2) >> 2] | 0; + } + HEAP32[$$4 >> 2] = $224; + $$1372 = $$2373; + $$3377 = $$3377 + 1 | 0; + $$4 = $$4 + 4 | 0; + } + $227 = $4 + 8 | 0; + $228 = $$1372 + -1 | 0; + HEAP32[$227 >> 2] = $228; + if (!$228) $$0 = 0; else { + _memset($216 | 0, 0, $228 << 2 | 0) | 0; + _memset($4 + 655376 | 0, 0, $228 << 4 | 0) | 0; + $$4378 = 0; + while (1) { + if (($$4378 | 0) >= ($228 | 0)) break; + $234 = $$4378 << 2; + HEAP32[$4 + 131084 + ($234 << 2) >> 2] = $1; + HEAP32[$4 + 131084 + (($234 | 1) << 2) >> 2] = 0; + HEAP32[$4 + 131084 + (($234 | 2) << 2) >> 2] = $2; + HEAP32[$4 + 131084 + (($234 | 3) << 2) >> 2] = 0; + $$4378 = $$4378 + 1 | 0; + } + $$5 = 0; + while (1) { + if (($$5 | 0) >= ($$0379 | 0)) break; + $246 = (HEAP32[$4 + 1179664 + ($$5 << 2) >> 2] | 0) + -1 | 0; + $247 = $$5 * 7 | 0; + $250 = $4 + 12 + ($246 << 2) | 0; + HEAP32[$250 >> 2] = (HEAP32[$250 >> 2] | 0) + (HEAP32[$4 + 1310736 + ($247 << 2) >> 2] | 0); + $257 = $246 << 1; + $258 = $4 + 655376 + ($257 << 3) | 0; + HEAPF64[$258 >> 3] = +HEAPF64[$258 >> 3] + +(HEAP32[$4 + 1310736 + ($247 + 1 << 2) >> 2] | 0); + $266 = $4 + 655376 + (($257 | 1) << 3) | 0; + HEAPF64[$266 >> 3] = +HEAPF64[$266 >> 3] + +(HEAP32[$4 + 1310736 + ($247 + 2 << 2) >> 2] | 0); + $269 = $246 << 2; + $270 = $4 + 131084 + ($269 << 2) | 0; + $274 = HEAP32[$4 + 1310736 + ($247 + 3 << 2) >> 2] | 0; + if ((HEAP32[$270 >> 2] | 0) > ($274 | 0)) HEAP32[$270 >> 2] = $274; + $277 = $4 + 131084 + (($269 | 1) << 2) | 0; + $281 = HEAP32[$4 + 1310736 + ($247 + 4 << 2) >> 2] | 0; + if ((HEAP32[$277 >> 2] | 0) < ($281 | 0)) HEAP32[$277 >> 2] = $281; + $284 = $4 + 131084 + (($269 | 2) << 2) | 0; + $288 = HEAP32[$4 + 1310736 + ($247 + 5 << 2) >> 2] | 0; + if ((HEAP32[$284 >> 2] | 0) > ($288 | 0)) HEAP32[$284 >> 2] = $288; + $291 = $4 + 131084 + (($269 | 3) << 2) | 0; + $295 = HEAP32[$4 + 1310736 + ($247 + 6 << 2) >> 2] | 0; + if ((HEAP32[$291 >> 2] | 0) < ($295 | 0)) HEAP32[$291 >> 2] = $295; + $$5 = $$5 + 1 | 0; + } + $298 = HEAP32[$227 >> 2] | 0; + $$6 = 0; + while (1) { + if (($$6 | 0) >= ($298 | 0)) { + $$0 = 0; + break L80; + } + $302 = +(HEAP32[$4 + 12 + ($$6 << 2) >> 2] | 0); + $303 = $$6 << 1; + $304 = $4 + 655376 + ($303 << 3) | 0; + HEAPF64[$304 >> 3] = +HEAPF64[$304 >> 3] / $302; + $308 = $4 + 655376 + (($303 | 1) << 3) | 0; + HEAPF64[$308 >> 3] = +HEAPF64[$308 >> 3] / $302; + $$6 = $$6 + 1 | 0; + } + } + } while (0); + STACKTOP = sp; + return $$0 | 0; +} + +function _dispose_chunk($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$041722 = 0, $$0418$lcssa = 0, $$041821 = 0, $$0429 = 0, $$0436 = 0, $$1 = 0, $$1416 = 0, $$1424 = 0, $$1424$be = 0, $$1424$ph = 0, $$1427 = 0, $$1427$be = 0, $$1427$ph = 0, $$1431 = 0, $$1431$be = 0, $$1431$ph = 0, $$1435 = 0, $$1435$be = 0, $$1435$ph = 0, $$2 = 0, $$3 = 0, $$3433 = 0, $$pre$phi28Z2D = 0, $$pre$phi30Z2D = 0, $$pre$phiZ2D = 0, $101 = 0, $102 = 0, $108 = 0, $11 = 0, $110 = 0, $111 = 0, $117 = 0, $12 = 0, $125 = 0, $13 = 0, $130 = 0, $131 = 0, $134 = 0, $136 = 0, $138 = 0, $151 = 0, $156 = 0, $158 = 0, $161 = 0, $163 = 0, $166 = 0, $169 = 0, $17 = 0, $170 = 0, $171 = 0, $173 = 0, $175 = 0, $176 = 0, $178 = 0, $179 = 0, $184 = 0, $185 = 0, $194 = 0, $199 = 0, $2 = 0, $20 = 0, $202 = 0, $203 = 0, $209 = 0, $22 = 0, $224 = 0, $227 = 0, $228 = 0, $229 = 0, $233 = 0, $234 = 0, $24 = 0, $240 = 0, $245 = 0, $246 = 0, $249 = 0, $251 = 0, $254 = 0, $259 = 0, $265 = 0, $269 = 0, $270 = 0, $277 = 0, $289 = 0, $294 = 0, $301 = 0, $302 = 0, $303 = 0, $37 = 0, $4 = 0, $42 = 0, $44 = 0, $47 = 0, $49 = 0, $52 = 0, $55 = 0, $56 = 0, $57 = 0, $59 = 0, $61 = 0, $62 = 0, $64 = 0, $65 = 0, $7 = 0, $70 = 0, $71 = 0, $80 = 0, $85 = 0, $88 = 0, $89 = 0, $95 = 0; + $2 = $0 + $1 | 0; + $4 = HEAP32[$0 + 4 >> 2] | 0; + L1 : do if (!($4 & 1)) { + $7 = HEAP32[$0 >> 2] | 0; + if (!($4 & 3)) return; + $11 = $0 + (0 - $7) | 0; + $12 = $7 + $1 | 0; + $13 = HEAP32[16739] | 0; + if ($11 >>> 0 < $13 >>> 0) _abort(); + if ((HEAP32[16740] | 0) == ($11 | 0)) { + $101 = $2 + 4 | 0; + $102 = HEAP32[$101 >> 2] | 0; + if (($102 & 3 | 0) != 3) { + $$1 = $11; + $$1416 = $12; + break; + } + HEAP32[16737] = $12; + HEAP32[$101 >> 2] = $102 & -2; + HEAP32[$11 + 4 >> 2] = $12 | 1; + HEAP32[$2 >> 2] = $12; + return; + } + $17 = $7 >>> 3; + if ($7 >>> 0 < 256) { + $20 = HEAP32[$11 + 8 >> 2] | 0; + $22 = HEAP32[$11 + 12 >> 2] | 0; + $24 = 66980 + ($17 << 1 << 2) | 0; + if (($20 | 0) != ($24 | 0)) { + if ($13 >>> 0 > $20 >>> 0) _abort(); + if ((HEAP32[$20 + 12 >> 2] | 0) != ($11 | 0)) _abort(); + } + if (($22 | 0) == ($20 | 0)) { + HEAP32[16735] = HEAP32[16735] & ~(1 << $17); + $$1 = $11; + $$1416 = $12; + break; + } + if (($22 | 0) != ($24 | 0)) { + if ($13 >>> 0 > $22 >>> 0) _abort(); + $37 = $22 + 8 | 0; + if ((HEAP32[$37 >> 2] | 0) == ($11 | 0)) $$pre$phi30Z2D = $37; else _abort(); + } else $$pre$phi30Z2D = $22 + 8 | 0; + HEAP32[$20 + 12 >> 2] = $22; + HEAP32[$$pre$phi30Z2D >> 2] = $20; + $$1 = $11; + $$1416 = $12; + break; + } + $42 = HEAP32[$11 + 24 >> 2] | 0; + $44 = HEAP32[$11 + 12 >> 2] | 0; + do if (($44 | 0) == ($11 | 0)) { + $55 = $11 + 16 | 0; + $56 = $55 + 4 | 0; + $57 = HEAP32[$56 >> 2] | 0; + if (!$57) { + $59 = HEAP32[$55 >> 2] | 0; + if (!$59) { + $$3 = 0; + break; + } else { + $$1424$ph = $59; + $$1427$ph = $55; + } + } else { + $$1424$ph = $57; + $$1427$ph = $56; + } + $$1424 = $$1424$ph; + $$1427 = $$1427$ph; + while (1) { + $61 = $$1424 + 20 | 0; + $62 = HEAP32[$61 >> 2] | 0; + if (!$62) { + $64 = $$1424 + 16 | 0; + $65 = HEAP32[$64 >> 2] | 0; + if (!$65) break; else { + $$1424$be = $65; + $$1427$be = $64; + } + } else { + $$1424$be = $62; + $$1427$be = $61; + } + $$1424 = $$1424$be; + $$1427 = $$1427$be; + } + if ($13 >>> 0 > $$1427 >>> 0) _abort(); else { + HEAP32[$$1427 >> 2] = 0; + $$3 = $$1424; + break; + } + } else { + $47 = HEAP32[$11 + 8 >> 2] | 0; + if ($13 >>> 0 > $47 >>> 0) _abort(); + $49 = $47 + 12 | 0; + if ((HEAP32[$49 >> 2] | 0) != ($11 | 0)) _abort(); + $52 = $44 + 8 | 0; + if ((HEAP32[$52 >> 2] | 0) == ($11 | 0)) { + HEAP32[$49 >> 2] = $44; + HEAP32[$52 >> 2] = $47; + $$3 = $44; + break; + } else _abort(); + } while (0); + if ($42) { + $70 = HEAP32[$11 + 28 >> 2] | 0; + $71 = 67244 + ($70 << 2) | 0; + do if ((HEAP32[$71 >> 2] | 0) == ($11 | 0)) { + HEAP32[$71 >> 2] = $$3; + if (!$$3) { + HEAP32[16736] = HEAP32[16736] & ~(1 << $70); + $$1 = $11; + $$1416 = $12; + break L1; + } + } else if ((HEAP32[16739] | 0) >>> 0 <= $42 >>> 0) { + $80 = $42 + 16 | 0; + HEAP32[((HEAP32[$80 >> 2] | 0) == ($11 | 0) ? $80 : $42 + 20 | 0) >> 2] = $$3; + if (!$$3) { + $$1 = $11; + $$1416 = $12; + break L1; + } else break; + } else _abort(); while (0); + $85 = HEAP32[16739] | 0; + if ($85 >>> 0 > $$3 >>> 0) _abort(); + HEAP32[$$3 + 24 >> 2] = $42; + $88 = $11 + 16 | 0; + $89 = HEAP32[$88 >> 2] | 0; + do if ($89 | 0) if ($85 >>> 0 > $89 >>> 0) _abort(); else { + HEAP32[$$3 + 16 >> 2] = $89; + HEAP32[$89 + 24 >> 2] = $$3; + break; + } while (0); + $95 = HEAP32[$88 + 4 >> 2] | 0; + if ($95) if ((HEAP32[16739] | 0) >>> 0 > $95 >>> 0) _abort(); else { + HEAP32[$$3 + 20 >> 2] = $95; + HEAP32[$95 + 24 >> 2] = $$3; + $$1 = $11; + $$1416 = $12; + break; + } else { + $$1 = $11; + $$1416 = $12; + } + } else { + $$1 = $11; + $$1416 = $12; + } + } else { + $$1 = $0; + $$1416 = $1; + } while (0); + $108 = HEAP32[16739] | 0; + if ($2 >>> 0 < $108 >>> 0) _abort(); + $110 = $2 + 4 | 0; + $111 = HEAP32[$110 >> 2] | 0; + if (!($111 & 2)) { + if ((HEAP32[16741] | 0) == ($2 | 0)) { + $117 = (HEAP32[16738] | 0) + $$1416 | 0; + HEAP32[16738] = $117; + HEAP32[16741] = $$1; + HEAP32[$$1 + 4 >> 2] = $117 | 1; + if (($$1 | 0) != (HEAP32[16740] | 0)) return; + HEAP32[16740] = 0; + HEAP32[16737] = 0; + return; + } + if ((HEAP32[16740] | 0) == ($2 | 0)) { + $125 = (HEAP32[16737] | 0) + $$1416 | 0; + HEAP32[16737] = $125; + HEAP32[16740] = $$1; + HEAP32[$$1 + 4 >> 2] = $125 | 1; + HEAP32[$$1 + $125 >> 2] = $125; + return; + } + $130 = ($111 & -8) + $$1416 | 0; + $131 = $111 >>> 3; + L99 : do if ($111 >>> 0 >= 256) { + $156 = HEAP32[$2 + 24 >> 2] | 0; + $158 = HEAP32[$2 + 12 >> 2] | 0; + do if (($158 | 0) == ($2 | 0)) { + $169 = $2 + 16 | 0; + $170 = $169 + 4 | 0; + $171 = HEAP32[$170 >> 2] | 0; + if (!$171) { + $173 = HEAP32[$169 >> 2] | 0; + if (!$173) { + $$3433 = 0; + break; + } else { + $$1431$ph = $173; + $$1435$ph = $169; + } + } else { + $$1431$ph = $171; + $$1435$ph = $170; + } + $$1431 = $$1431$ph; + $$1435 = $$1435$ph; + while (1) { + $175 = $$1431 + 20 | 0; + $176 = HEAP32[$175 >> 2] | 0; + if (!$176) { + $178 = $$1431 + 16 | 0; + $179 = HEAP32[$178 >> 2] | 0; + if (!$179) break; else { + $$1431$be = $179; + $$1435$be = $178; + } + } else { + $$1431$be = $176; + $$1435$be = $175; + } + $$1431 = $$1431$be; + $$1435 = $$1435$be; + } + if ($108 >>> 0 > $$1435 >>> 0) _abort(); else { + HEAP32[$$1435 >> 2] = 0; + $$3433 = $$1431; + break; + } + } else { + $161 = HEAP32[$2 + 8 >> 2] | 0; + if ($108 >>> 0 > $161 >>> 0) _abort(); + $163 = $161 + 12 | 0; + if ((HEAP32[$163 >> 2] | 0) != ($2 | 0)) _abort(); + $166 = $158 + 8 | 0; + if ((HEAP32[$166 >> 2] | 0) == ($2 | 0)) { + HEAP32[$163 >> 2] = $158; + HEAP32[$166 >> 2] = $161; + $$3433 = $158; + break; + } else _abort(); + } while (0); + if ($156 | 0) { + $184 = HEAP32[$2 + 28 >> 2] | 0; + $185 = 67244 + ($184 << 2) | 0; + do if ((HEAP32[$185 >> 2] | 0) == ($2 | 0)) { + HEAP32[$185 >> 2] = $$3433; + if (!$$3433) { + HEAP32[16736] = HEAP32[16736] & ~(1 << $184); + break L99; + } + } else if ((HEAP32[16739] | 0) >>> 0 <= $156 >>> 0) { + $194 = $156 + 16 | 0; + HEAP32[((HEAP32[$194 >> 2] | 0) == ($2 | 0) ? $194 : $156 + 20 | 0) >> 2] = $$3433; + if (!$$3433) break L99; else break; + } else _abort(); while (0); + $199 = HEAP32[16739] | 0; + if ($199 >>> 0 > $$3433 >>> 0) _abort(); + HEAP32[$$3433 + 24 >> 2] = $156; + $202 = $2 + 16 | 0; + $203 = HEAP32[$202 >> 2] | 0; + do if ($203 | 0) if ($199 >>> 0 > $203 >>> 0) _abort(); else { + HEAP32[$$3433 + 16 >> 2] = $203; + HEAP32[$203 + 24 >> 2] = $$3433; + break; + } while (0); + $209 = HEAP32[$202 + 4 >> 2] | 0; + if ($209 | 0) if ((HEAP32[16739] | 0) >>> 0 > $209 >>> 0) _abort(); else { + HEAP32[$$3433 + 20 >> 2] = $209; + HEAP32[$209 + 24 >> 2] = $$3433; + break; + } + } + } else { + $134 = HEAP32[$2 + 8 >> 2] | 0; + $136 = HEAP32[$2 + 12 >> 2] | 0; + $138 = 66980 + ($131 << 1 << 2) | 0; + if (($134 | 0) != ($138 | 0)) { + if ($108 >>> 0 > $134 >>> 0) _abort(); + if ((HEAP32[$134 + 12 >> 2] | 0) != ($2 | 0)) _abort(); + } + if (($136 | 0) == ($134 | 0)) { + HEAP32[16735] = HEAP32[16735] & ~(1 << $131); + break; + } + if (($136 | 0) != ($138 | 0)) { + if ($108 >>> 0 > $136 >>> 0) _abort(); + $151 = $136 + 8 | 0; + if ((HEAP32[$151 >> 2] | 0) == ($2 | 0)) $$pre$phi28Z2D = $151; else _abort(); + } else $$pre$phi28Z2D = $136 + 8 | 0; + HEAP32[$134 + 12 >> 2] = $136; + HEAP32[$$pre$phi28Z2D >> 2] = $134; + } while (0); + HEAP32[$$1 + 4 >> 2] = $130 | 1; + HEAP32[$$1 + $130 >> 2] = $130; + if (($$1 | 0) == (HEAP32[16740] | 0)) { + HEAP32[16737] = $130; + return; + } else $$2 = $130; + } else { + HEAP32[$110 >> 2] = $111 & -2; + HEAP32[$$1 + 4 >> 2] = $$1416 | 1; + HEAP32[$$1 + $$1416 >> 2] = $$1416; + $$2 = $$1416; + } + $224 = $$2 >>> 3; + if ($$2 >>> 0 < 256) { + $227 = 66980 + ($224 << 1 << 2) | 0; + $228 = HEAP32[16735] | 0; + $229 = 1 << $224; + if ($228 & $229) { + $233 = $227 + 8 | 0; + $234 = HEAP32[$233 >> 2] | 0; + if ((HEAP32[16739] | 0) >>> 0 > $234 >>> 0) _abort(); else { + $$0436 = $234; + $$pre$phiZ2D = $233; + } + } else { + HEAP32[16735] = $228 | $229; + $$0436 = $227; + $$pre$phiZ2D = $227 + 8 | 0; + } + HEAP32[$$pre$phiZ2D >> 2] = $$1; + HEAP32[$$0436 + 12 >> 2] = $$1; + HEAP32[$$1 + 8 >> 2] = $$0436; + HEAP32[$$1 + 12 >> 2] = $227; + return; + } + $240 = $$2 >>> 8; + if ($240) if ($$2 >>> 0 > 16777215) $$0429 = 31; else { + $245 = ($240 + 1048320 | 0) >>> 16 & 8; + $246 = $240 << $245; + $249 = ($246 + 520192 | 0) >>> 16 & 4; + $251 = $246 << $249; + $254 = ($251 + 245760 | 0) >>> 16 & 2; + $259 = 14 - ($249 | $245 | $254) + ($251 << $254 >>> 15) | 0; + $$0429 = $$2 >>> ($259 + 7 | 0) & 1 | $259 << 1; + } else $$0429 = 0; + $265 = 67244 + ($$0429 << 2) | 0; + HEAP32[$$1 + 28 >> 2] = $$0429; + HEAP32[$$1 + 20 >> 2] = 0; + HEAP32[$$1 + 16 >> 2] = 0; + $269 = HEAP32[16736] | 0; + $270 = 1 << $$0429; + if (!($269 & $270)) { + HEAP32[16736] = $269 | $270; + HEAP32[$265 >> 2] = $$1; + HEAP32[$$1 + 24 >> 2] = $265; + HEAP32[$$1 + 12 >> 2] = $$1; + HEAP32[$$1 + 8 >> 2] = $$1; + return; + } + $277 = HEAP32[$265 >> 2] | 0; + L189 : do if ((HEAP32[$277 + 4 >> 2] & -8 | 0) == ($$2 | 0)) $$0418$lcssa = $277; else { + $$041722 = $$2 << (($$0429 | 0) == 31 ? 0 : 25 - ($$0429 >>> 1) | 0); + $$041821 = $277; + while (1) { + $294 = $$041821 + 16 + ($$041722 >>> 31 << 2) | 0; + $289 = HEAP32[$294 >> 2] | 0; + if (!$289) break; + if ((HEAP32[$289 + 4 >> 2] & -8 | 0) == ($$2 | 0)) { + $$0418$lcssa = $289; + break L189; + } else { + $$041722 = $$041722 << 1; + $$041821 = $289; + } + } + if ((HEAP32[16739] | 0) >>> 0 > $294 >>> 0) _abort(); + HEAP32[$294 >> 2] = $$1; + HEAP32[$$1 + 24 >> 2] = $$041821; + HEAP32[$$1 + 12 >> 2] = $$1; + HEAP32[$$1 + 8 >> 2] = $$1; + return; + } while (0); + $301 = $$0418$lcssa + 8 | 0; + $302 = HEAP32[$301 >> 2] | 0; + $303 = HEAP32[16739] | 0; + if (!($303 >>> 0 <= $302 >>> 0 & $303 >>> 0 <= $$0418$lcssa >>> 0)) _abort(); + HEAP32[$302 + 12 >> 2] = $$1; + HEAP32[$301 >> 2] = $$1; + HEAP32[$$1 + 8 >> 2] = $302; + HEAP32[$$1 + 12 >> 2] = $$0418$lcssa; + HEAP32[$$1 + 24 >> 2] = 0; + return; +} + +function __ZN6vision21OrientationAssignment7computeEPfRiiifff($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; + $6 = +$6; + $7 = +$7; + var $$0 = 0, $$0148 = 0, $$0149 = 0, $$0150 = 0.0, $$0152 = 0, $$0153 = 0, $$pre = 0, $10 = 0, $107 = 0, $11 = 0, $112 = 0, $116 = 0, $118 = 0, $12 = 0, $120 = 0, $13 = 0, $130 = 0.0, $133 = 0.0, $136 = 0.0, $138 = 0.0, $14 = 0, $140 = 0, $145 = 0, $148 = 0, $149 = 0, $152 = 0, $153 = 0, $154 = 0, $159 = 0, $161 = 0, $164 = 0.0, $165 = 0, $171 = 0.0, $174 = 0, $177 = 0.0, $178 = 0, $191 = 0, $192 = 0, $199 = 0.0, $208 = 0, $21 = 0, $213 = 0, $217 = 0, $218 = 0, $219 = 0, $220 = 0, $221 = 0, $223 = 0, $224 = 0.0, $225 = 0, $226 = 0, $227 = 0, $228 = 0, $233 = 0, $234 = 0, $239 = 0, $244 = 0.0, $245 = 0.0, $256 = 0.0, $26 = 0, $263 = 0, $30 = 0, $31 = 0, $34 = 0, $35 = 0, $46 = 0, $51 = 0, $55 = 0, $62 = 0, $67 = 0, $71 = 0, $74 = 0, $8 = 0, $85 = 0, $9 = 0, $90 = 0, $94 = 0, $97 = 0, $99 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $8 = sp + 32 | 0; + $9 = sp + 24 | 0; + $10 = sp + 16 | 0; + $11 = sp + 12 | 0; + $12 = sp + 8 | 0; + $13 = sp + 4 | 0; + $14 = sp; + if (!($5 >= 0.0)) { + $21 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 32047) | 0, 31917) | 0, 39072) | 0, 119) | 0, 39079) | 0, 32077) | 0; + __ZNKSt3__28ios_base6getlocEv($8, $21 + (HEAP32[(HEAP32[$21 >> 2] | 0) + -12 >> 2] | 0) | 0); + $26 = __ZNKSt3__26locale9use_facetERNS0_2idE($8, 66512) | 0; + $30 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$26 >> 2] | 0) + 28 >> 2] & 127]($26, 10) | 0; + __ZNSt3__26localeD2Ev($8); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($21, $30) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($21) | 0; + _abort(); + } + $31 = $0 + 4 | 0; + $34 = (Math_imul(HEAP32[$31 >> 2] | 0, $3) | 0) + $4 | 0; + $35 = $0 + 40 | 0; + if (!(+((__ZNK6vision5Image5widthEv((HEAP32[$35 >> 2] | 0) + ($34 << 5) | 0) | 0) >>> 0) > $5)) { + $46 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 32096) | 0, 31917) | 0, 39072) | 0, 120) | 0, 39079) | 0, 32176) | 0; + __ZNKSt3__28ios_base6getlocEv($8, $46 + (HEAP32[(HEAP32[$46 >> 2] | 0) + -12 >> 2] | 0) | 0); + $51 = __ZNKSt3__26locale9use_facetERNS0_2idE($8, 66512) | 0; + $55 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$51 >> 2] | 0) + 28 >> 2] & 127]($51, 10) | 0; + __ZNSt3__26localeD2Ev($8); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($46, $55) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($46) | 0; + _abort(); + } + if (!($6 >= 0.0)) { + $62 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 32212) | 0, 31917) | 0, 39072) | 0, 121) | 0, 39079) | 0, 32242) | 0; + __ZNKSt3__28ios_base6getlocEv($8, $62 + (HEAP32[(HEAP32[$62 >> 2] | 0) + -12 >> 2] | 0) | 0); + $67 = __ZNKSt3__26locale9use_facetERNS0_2idE($8, 66512) | 0; + $71 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$67 >> 2] | 0) + 28 >> 2] & 127]($67, 10) | 0; + __ZNSt3__26localeD2Ev($8); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($62, $71) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($62) | 0; + _abort(); + } + $74 = (Math_imul(HEAP32[$31 >> 2] | 0, $3) | 0) + $4 | 0; + if (!(+((__ZNK6vision5Image6heightEv((HEAP32[$35 >> 2] | 0) + ($74 << 5) | 0) | 0) >>> 0) > $6)) { + $85 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 32261) | 0, 31917) | 0, 39072) | 0, 122) | 0, 39079) | 0, 32342) | 0; + __ZNKSt3__28ios_base6getlocEv($8, $85 + (HEAP32[(HEAP32[$85 >> 2] | 0) + -12 >> 2] | 0) | 0); + $90 = __ZNKSt3__26locale9use_facetERNS0_2idE($8, 66512) | 0; + $94 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$90 >> 2] | 0) + 28 >> 2] & 127]($90, 10) | 0; + __ZNSt3__26localeD2Ev($8); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($85, $94) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($85) | 0; + _abort(); + } + $97 = (Math_imul(HEAP32[$31 >> 2] | 0, $3) | 0) + $4 | 0; + $99 = (HEAP32[$35 >> 2] | 0) + ($97 << 5) | 0; + if ((__ZNK6vision5Image8channelsEv($99) | 0) != 2) { + $107 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 32379) | 0, 31917) | 0, 39072) | 0, 126) | 0, 39079) | 0, 32420) | 0; + __ZNKSt3__28ios_base6getlocEv($8, $107 + (HEAP32[(HEAP32[$107 >> 2] | 0) + -12 >> 2] | 0) | 0); + $112 = __ZNKSt3__26locale9use_facetERNS0_2idE($8, 66512) | 0; + $116 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$112 >> 2] | 0) + 28 >> 2] & 127]($112, 10) | 0; + __ZNSt3__26localeD2Ev($8); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($107, $116) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($107) | 0; + _abort(); + } + HEAP32[$2 >> 2] = 0; + $118 = ~~($5 + .5); + $120 = ~~($6 + .5); + L16 : do if ((($118 | 0) >= 0 ? !(($120 | 0) < 0 | (__ZNK6vision5Image5widthEv($99) | 0) >>> 0 <= $118 >>> 0) : 0) ? (__ZNK6vision5Image6heightEv($99) | 0) >>> 0 > $120 >>> 0 : 0) { + $130 = +__ZN6vision4max2IfEET_S1_S1_(1.0, +HEAPF32[$0 + 12 >> 2] * $7); + $133 = -1.0 / (+__ZN6vision3sqrIfEET_S1_($130) * 2.0); + $136 = $130 * +HEAPF32[$0 + 16 >> 2]; + $138 = +Math_ceil(+(+__ZN6vision3sqrIfEET_S1_($136))); + $140 = ~~($136 + .5); + $145 = __ZN6vision4max2IiEET_S1_S1_(0, $118 - $140 | 0) | 0; + $148 = __ZN6vision4min2IiEET_S1_S1_($140 + $118 | 0, (__ZNK6vision5Image5widthEv($99) | 0) + -1 | 0) | 0; + $149 = __ZN6vision4max2IiEET_S1_S1_(0, $120 - $140 | 0) | 0; + $152 = __ZN6vision4min2IiEET_S1_S1_($140 + $120 | 0, (__ZNK6vision5Image6heightEv($99) | 0) + -1 | 0) | 0; + $153 = $0 + 28 | 0; + $154 = HEAP32[$153 >> 2] | 0; + __ZN6vision10ZeroVectorIfEEvPT_m($154, (HEAP32[$0 + 32 >> 2] | 0) - $154 >> 2); + $159 = $0 + 8 | 0; + $$0152 = $149; + while (1) { + if (($$0152 | 0) > ($152 | 0)) break; + $164 = +__ZN6vision3sqrIfEET_S1_(+($$0152 | 0) - $6); + $165 = __ZNK6vision5Image3getIfEEPKT_m($99, $$0152) | 0; + $$0153 = $145; + while (1) { + if (($$0153 | 0) > ($148 | 0)) break; + $171 = $164 + +__ZN6vision3sqrIfEET_S1_(+($$0153 | 0) - $5); + if (!($171 > $138)) { + $174 = $165 + ($$0153 << 1 << 2) | 0; + $177 = +__ZN6vision8fastexp6IfEET_S1_($133 * $171); + $178 = HEAP32[$159 >> 2] | 0; + __ZN6vision25bilinear_histogram_updateEPfffi(HEAP32[$153 >> 2] | 0, +HEAPF32[$174 >> 2] * +($178 | 0) * .159154943091895, $177 * +HEAPF32[$174 + 4 >> 2], $178); + } + $$0153 = $$0153 + 1 | 0; + } + $$0152 = $$0152 + 1 | 0; + } + $161 = $0 + 20 | 0; + $$0149 = 0; + while (1) { + if (($$0149 | 0) >= (HEAP32[$161 >> 2] | 0)) break; + $192 = HEAP32[$153 >> 2] | 0; + __ZN6vision26SmoothOrientationHistogramIfEEvPT_PKS1_mS4_($192, $192, HEAP32[$159 >> 2] | 0, 16800); + $$0149 = $$0149 + 1 | 0; + } + $191 = HEAP32[$159 >> 2] | 0; + $$0148 = 0; + $$0150 = 0.0; + while (1) { + if (($$0148 | 0) >= ($191 | 0)) break; + $199 = +HEAPF32[(HEAP32[$153 >> 2] | 0) + ($$0148 << 2) >> 2]; + $$0148 = $$0148 + 1 | 0; + $$0150 = $199 > $$0150 ? $199 : $$0150; + } + if (!($$0150 == 0.0)) { + if (!($$0150 > 0.0)) { + $208 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 32451) | 0, 31917) | 0, 39072) | 0, 218) | 0, 39079) | 0, 32489) | 0; + __ZNKSt3__28ios_base6getlocEv($8, $208 + (HEAP32[(HEAP32[$208 >> 2] | 0) + -12 >> 2] | 0) | 0); + $213 = __ZNKSt3__26locale9use_facetERNS0_2idE($8, 66512) | 0; + $217 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$213 >> 2] | 0) + 28 >> 2] & 127]($213, 10) | 0; + __ZNSt3__26localeD2Ev($8); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($208, $217) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($208) | 0; + _abort(); + } + $218 = $8 + 4 | 0; + $219 = $9 + 4 | 0; + $220 = $10 + 4 | 0; + $221 = $0 + 24 | 0; + $$0 = 0; + $223 = $191; + while (1) { + if (($$0 | 0) >= ($223 | 0)) break L16; + $224 = +($$0 | 0); + HEAPF32[$8 >> 2] = $224; + $225 = HEAP32[$153 >> 2] | 0; + $226 = $225 + ($$0 << 2) | 0; + $227 = HEAP32[$226 >> 2] | 0; + HEAP32[$218 >> 2] = $227; + $228 = $$0 + -1 | 0; + HEAPF32[$9 >> 2] = +($228 | 0); + $233 = HEAP32[$225 + ((($228 + $223 | 0) % ($223 | 0) | 0) << 2) >> 2] | 0; + HEAP32[$219 >> 2] = $233; + $234 = $$0 + 1 | 0; + HEAPF32[$10 >> 2] = +($234 | 0); + $239 = HEAP32[$225 + ((($234 + $223 | 0) % ($223 | 0) | 0) << 2) >> 2] | 0; + HEAP32[$220 >> 2] = $239; + $244 = (HEAP32[tempDoublePtr >> 2] = $227, +HEAPF32[tempDoublePtr >> 2]); + if (+HEAPF32[$226 >> 2] > $$0150 * +HEAPF32[$221 >> 2] ? ($245 = (HEAP32[tempDoublePtr >> 2] = $239, +HEAPF32[tempDoublePtr >> 2]), $244 > (HEAP32[tempDoublePtr >> 2] = $233, +HEAPF32[tempDoublePtr >> 2]) & $244 > $245) : 0) { + HEAPF32[$14 >> 2] = $224; + if (__ZN6vision16Quadratic3PointsIfEEbRT_S2_S2_PKS1_S4_S4_($11, $12, $13, $9, $8, $10) | 0) __ZN6vision22QuadraticCriticalPointIfEEbRT_S1_S1_S1_($14, +HEAPF32[$11 >> 2], +HEAPF32[$12 >> 2], +HEAPF32[$13 >> 2]) | 0; + $256 = +(HEAP32[$159 >> 2] | 0); + $263 = HEAP32[$2 >> 2] | 0; + HEAPF32[$1 + ($263 << 2) >> 2] = (+HEAPF32[$14 >> 2] + .5 + $256) / $256 * 6.283185307179586 % 6.283185307179586; + HEAP32[$2 >> 2] = $263 + 1; + $$pre = HEAP32[$159 >> 2] | 0; + } else $$pre = $223; + $$0 = $234; + $223 = $$pre; + } + } + } while (0); + STACKTOP = sp; + return; +} + +function _jpeg_idct_5x5($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $103 = 0, $109 = 0, $111 = 0, $113 = 0, $115 = 0, $137 = 0, $143 = 0, $149 = 0, $15 = 0, $151 = 0, $152 = 0, $154 = 0, $155 = 0, $156 = 0, $158 = 0, $164 = 0, $170 = 0, $172 = 0, $174 = 0, $176 = 0, $198 = 0, $204 = 0, $21 = 0, $210 = 0, $212 = 0, $213 = 0, $215 = 0, $216 = 0, $217 = 0, $219 = 0, $225 = 0, $231 = 0, $233 = 0, $235 = 0, $237 = 0, $259 = 0, $265 = 0, $27 = 0, $271 = 0, $273 = 0, $274 = 0, $276 = 0, $277 = 0, $278 = 0, $280 = 0, $286 = 0, $29 = 0, $292 = 0, $294 = 0, $296 = 0, $298 = 0, $30 = 0, $312 = 0, $314 = 0, $317 = 0, $319 = 0, $32 = 0, $321 = 0, $323 = 0, $324 = 0, $326 = 0, $327 = 0, $328 = 0, $33 = 0, $330 = 0, $331 = 0, $333 = 0, $335 = 0, $337 = 0, $339 = 0, $34 = 0, $36 = 0, $370 = 0, $373 = 0, $375 = 0, $377 = 0, $379 = 0, $380 = 0, $382 = 0, $383 = 0, $384 = 0, $386 = 0, $388 = 0, $390 = 0, $392 = 0, $394 = 0, $396 = 0, $42 = 0, $428 = 0, $431 = 0, $433 = 0, $435 = 0, $437 = 0, $438 = 0, $440 = 0, $441 = 0, $442 = 0, $444 = 0, $446 = 0, $448 = 0, $450 = 0, $452 = 0, $454 = 0, $48 = 0, $486 = 0, $489 = 0, $491 = 0, $493 = 0, $495 = 0, $496 = 0, $498 = 0, $499 = 0, $5 = 0, $50 = 0, $500 = 0, $502 = 0, $504 = 0, $506 = 0, $508 = 0, $510 = 0, $512 = 0, $52 = 0, $54 = 0, $544 = 0, $547 = 0, $549 = 0, $551 = 0, $553 = 0, $554 = 0, $556 = 0, $557 = 0, $558 = 0, $560 = 0, $562 = 0, $564 = 0, $566 = 0, $568 = 0, $570 = 0, $62 = 0, $7 = 0, $70 = 0, $76 = 0, $82 = 0, $88 = 0, $9 = 0, $90 = 0, $91 = 0, $93 = 0, $94 = 0, $95 = 0, $97 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(112); + $5 = sp; + $7 = HEAP32[$0 + 336 >> 2] | 0; + $9 = HEAP32[$1 + 84 >> 2] | 0; + $15 = Math_imul(HEAP16[$2 >> 1] << 13, HEAP32[$9 >> 2] | 0) | 0 | 1024; + $21 = Math_imul(HEAP32[$9 + 64 >> 2] | 0, HEAP16[$2 + 32 >> 1] | 0) | 0; + $27 = Math_imul(HEAP32[$9 + 128 >> 2] | 0, HEAP16[$2 + 64 >> 1] | 0) | 0; + $29 = ($27 + $21 | 0) * 6476 | 0; + $30 = $21 - $27 | 0; + $32 = ($30 * 2896 | 0) + $15 | 0; + $33 = $32 + $29 | 0; + $34 = $32 - $29 | 0; + $36 = (Math_imul($30, -11584) | 0) + $15 | 0; + $42 = Math_imul(HEAP32[$9 + 32 >> 2] | 0, HEAP16[$2 + 16 >> 1] | 0) | 0; + $48 = Math_imul(HEAP32[$9 + 96 >> 2] | 0, HEAP16[$2 + 48 >> 1] | 0) | 0; + $50 = ($48 + $42 | 0) * 6810 | 0; + $52 = $50 + ($42 * 4209 | 0) | 0; + $54 = $50 + (Math_imul($48, -17828) | 0) | 0; + HEAP32[$5 >> 2] = $52 + $33 >> 11; + HEAP32[$5 + 80 >> 2] = $33 - $52 >> 11; + $62 = $5 + 20 | 0; + HEAP32[$62 >> 2] = $54 + $34 >> 11; + HEAP32[$5 + 60 >> 2] = $34 - $54 >> 11; + HEAP32[$5 + 40 >> 2] = $36 >> 11; + $70 = $5 + 4 | 0; + $76 = Math_imul(HEAP16[$2 + 2 >> 1] << 13, HEAP32[$9 + 4 >> 2] | 0) | 0 | 1024; + $82 = Math_imul(HEAP32[$9 + 68 >> 2] | 0, HEAP16[$2 + 34 >> 1] | 0) | 0; + $88 = Math_imul(HEAP32[$9 + 132 >> 2] | 0, HEAP16[$2 + 66 >> 1] | 0) | 0; + $90 = ($88 + $82 | 0) * 6476 | 0; + $91 = $82 - $88 | 0; + $93 = ($91 * 2896 | 0) + $76 | 0; + $94 = $93 + $90 | 0; + $95 = $93 - $90 | 0; + $97 = (Math_imul($91, -11584) | 0) + $76 | 0; + $103 = Math_imul(HEAP32[$9 + 36 >> 2] | 0, HEAP16[$2 + 18 >> 1] | 0) | 0; + $109 = Math_imul(HEAP32[$9 + 100 >> 2] | 0, HEAP16[$2 + 50 >> 1] | 0) | 0; + $111 = ($109 + $103 | 0) * 6810 | 0; + $113 = $111 + ($103 * 4209 | 0) | 0; + $115 = $111 + (Math_imul($109, -17828) | 0) | 0; + HEAP32[$70 >> 2] = $113 + $94 >> 11; + HEAP32[$5 + 84 >> 2] = $94 - $113 >> 11; + HEAP32[$5 + 24 >> 2] = $115 + $95 >> 11; + HEAP32[$5 + 64 >> 2] = $95 - $115 >> 11; + HEAP32[$5 + 44 >> 2] = $97 >> 11; + $137 = Math_imul(HEAP16[$2 + 4 >> 1] << 13, HEAP32[$9 + 8 >> 2] | 0) | 0 | 1024; + $143 = Math_imul(HEAP32[$9 + 72 >> 2] | 0, HEAP16[$2 + 36 >> 1] | 0) | 0; + $149 = Math_imul(HEAP32[$9 + 136 >> 2] | 0, HEAP16[$2 + 68 >> 1] | 0) | 0; + $151 = ($149 + $143 | 0) * 6476 | 0; + $152 = $143 - $149 | 0; + $154 = ($152 * 2896 | 0) + $137 | 0; + $155 = $154 + $151 | 0; + $156 = $154 - $151 | 0; + $158 = (Math_imul($152, -11584) | 0) + $137 | 0; + $164 = Math_imul(HEAP32[$9 + 40 >> 2] | 0, HEAP16[$2 + 20 >> 1] | 0) | 0; + $170 = Math_imul(HEAP32[$9 + 104 >> 2] | 0, HEAP16[$2 + 52 >> 1] | 0) | 0; + $172 = ($170 + $164 | 0) * 6810 | 0; + $174 = $172 + ($164 * 4209 | 0) | 0; + $176 = $172 + (Math_imul($170, -17828) | 0) | 0; + HEAP32[$5 + 8 >> 2] = $174 + $155 >> 11; + HEAP32[$5 + 88 >> 2] = $155 - $174 >> 11; + HEAP32[$5 + 28 >> 2] = $176 + $156 >> 11; + HEAP32[$5 + 68 >> 2] = $156 - $176 >> 11; + HEAP32[$5 + 48 >> 2] = $158 >> 11; + $198 = Math_imul(HEAP16[$2 + 6 >> 1] << 13, HEAP32[$9 + 12 >> 2] | 0) | 0 | 1024; + $204 = Math_imul(HEAP32[$9 + 76 >> 2] | 0, HEAP16[$2 + 38 >> 1] | 0) | 0; + $210 = Math_imul(HEAP32[$9 + 140 >> 2] | 0, HEAP16[$2 + 70 >> 1] | 0) | 0; + $212 = ($210 + $204 | 0) * 6476 | 0; + $213 = $204 - $210 | 0; + $215 = ($213 * 2896 | 0) + $198 | 0; + $216 = $215 + $212 | 0; + $217 = $215 - $212 | 0; + $219 = (Math_imul($213, -11584) | 0) + $198 | 0; + $225 = Math_imul(HEAP32[$9 + 44 >> 2] | 0, HEAP16[$2 + 22 >> 1] | 0) | 0; + $231 = Math_imul(HEAP32[$9 + 108 >> 2] | 0, HEAP16[$2 + 54 >> 1] | 0) | 0; + $233 = ($231 + $225 | 0) * 6810 | 0; + $235 = $233 + ($225 * 4209 | 0) | 0; + $237 = $233 + (Math_imul($231, -17828) | 0) | 0; + HEAP32[$5 + 12 >> 2] = $235 + $216 >> 11; + HEAP32[$5 + 92 >> 2] = $216 - $235 >> 11; + HEAP32[$5 + 32 >> 2] = $237 + $217 >> 11; + HEAP32[$5 + 72 >> 2] = $217 - $237 >> 11; + HEAP32[$5 + 52 >> 2] = $219 >> 11; + $259 = Math_imul(HEAP16[$2 + 8 >> 1] << 13, HEAP32[$9 + 16 >> 2] | 0) | 0 | 1024; + $265 = Math_imul(HEAP32[$9 + 80 >> 2] | 0, HEAP16[$2 + 40 >> 1] | 0) | 0; + $271 = Math_imul(HEAP32[$9 + 144 >> 2] | 0, HEAP16[$2 + 72 >> 1] | 0) | 0; + $273 = ($271 + $265 | 0) * 6476 | 0; + $274 = $265 - $271 | 0; + $276 = ($274 * 2896 | 0) + $259 | 0; + $277 = $276 + $273 | 0; + $278 = $276 - $273 | 0; + $280 = (Math_imul($274, -11584) | 0) + $259 | 0; + $286 = Math_imul(HEAP32[$9 + 48 >> 2] | 0, HEAP16[$2 + 24 >> 1] | 0) | 0; + $292 = Math_imul(HEAP32[$9 + 112 >> 2] | 0, HEAP16[$2 + 56 >> 1] | 0) | 0; + $294 = ($292 + $286 | 0) * 6810 | 0; + $296 = $294 + ($286 * 4209 | 0) | 0; + $298 = $294 + (Math_imul($292, -17828) | 0) | 0; + HEAP32[$5 + 16 >> 2] = $296 + $277 >> 11; + HEAP32[$5 + 96 >> 2] = $277 - $296 >> 11; + HEAP32[$5 + 36 >> 2] = $298 + $278 >> 11; + HEAP32[$5 + 76 >> 2] = $278 - $298 >> 11; + HEAP32[$5 + 56 >> 2] = $280 >> 11; + $312 = $7 + -384 | 0; + $314 = (HEAP32[$3 >> 2] | 0) + $4 | 0; + $317 = (HEAP32[$5 >> 2] << 13) + 134348800 | 0; + $319 = HEAP32[$5 + 8 >> 2] | 0; + $321 = HEAP32[$5 + 16 >> 2] | 0; + $323 = ($321 + $319 | 0) * 6476 | 0; + $324 = $319 - $321 | 0; + $326 = ($324 * 2896 | 0) + $317 | 0; + $327 = $326 + $323 | 0; + $328 = $326 - $323 | 0; + $330 = (Math_imul($324, -11584) | 0) + $317 | 0; + $331 = HEAP32[$70 >> 2] | 0; + $333 = HEAP32[$5 + 12 >> 2] | 0; + $335 = ($333 + $331 | 0) * 6810 | 0; + $337 = $335 + ($331 * 4209 | 0) | 0; + $339 = $335 + (Math_imul($333, -17828) | 0) | 0; + HEAP8[$314 >> 0] = HEAP8[$312 + (($337 + $327 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$314 + 4 >> 0] = HEAP8[$312 + (($327 - $337 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$314 + 1 >> 0] = HEAP8[$312 + (($339 + $328 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$314 + 3 >> 0] = HEAP8[$312 + (($328 - $339 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$314 + 2 >> 0] = HEAP8[$312 + ($330 >>> 18 & 1023) >> 0] | 0; + $370 = (HEAP32[$3 + 4 >> 2] | 0) + $4 | 0; + $373 = (HEAP32[$62 >> 2] << 13) + 134348800 | 0; + $375 = HEAP32[$5 + 28 >> 2] | 0; + $377 = HEAP32[$5 + 36 >> 2] | 0; + $379 = ($377 + $375 | 0) * 6476 | 0; + $380 = $375 - $377 | 0; + $382 = ($380 * 2896 | 0) + $373 | 0; + $383 = $382 + $379 | 0; + $384 = $382 - $379 | 0; + $386 = (Math_imul($380, -11584) | 0) + $373 | 0; + $388 = HEAP32[$5 + 24 >> 2] | 0; + $390 = HEAP32[$5 + 32 >> 2] | 0; + $392 = ($390 + $388 | 0) * 6810 | 0; + $394 = $392 + ($388 * 4209 | 0) | 0; + $396 = $392 + (Math_imul($390, -17828) | 0) | 0; + HEAP8[$370 >> 0] = HEAP8[$312 + (($394 + $383 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$370 + 4 >> 0] = HEAP8[$312 + (($383 - $394 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$370 + 1 >> 0] = HEAP8[$312 + (($396 + $384 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$370 + 3 >> 0] = HEAP8[$312 + (($384 - $396 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$370 + 2 >> 0] = HEAP8[$312 + ($386 >>> 18 & 1023) >> 0] | 0; + $428 = (HEAP32[$3 + 8 >> 2] | 0) + $4 | 0; + $431 = (HEAP32[$5 + 40 >> 2] << 13) + 134348800 | 0; + $433 = HEAP32[$5 + 48 >> 2] | 0; + $435 = HEAP32[$5 + 56 >> 2] | 0; + $437 = ($435 + $433 | 0) * 6476 | 0; + $438 = $433 - $435 | 0; + $440 = ($438 * 2896 | 0) + $431 | 0; + $441 = $440 + $437 | 0; + $442 = $440 - $437 | 0; + $444 = (Math_imul($438, -11584) | 0) + $431 | 0; + $446 = HEAP32[$5 + 44 >> 2] | 0; + $448 = HEAP32[$5 + 52 >> 2] | 0; + $450 = ($448 + $446 | 0) * 6810 | 0; + $452 = $450 + ($446 * 4209 | 0) | 0; + $454 = $450 + (Math_imul($448, -17828) | 0) | 0; + HEAP8[$428 >> 0] = HEAP8[$312 + (($452 + $441 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$428 + 4 >> 0] = HEAP8[$312 + (($441 - $452 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$428 + 1 >> 0] = HEAP8[$312 + (($454 + $442 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$428 + 3 >> 0] = HEAP8[$312 + (($442 - $454 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$428 + 2 >> 0] = HEAP8[$312 + ($444 >>> 18 & 1023) >> 0] | 0; + $486 = (HEAP32[$3 + 12 >> 2] | 0) + $4 | 0; + $489 = (HEAP32[$5 + 60 >> 2] << 13) + 134348800 | 0; + $491 = HEAP32[$5 + 68 >> 2] | 0; + $493 = HEAP32[$5 + 76 >> 2] | 0; + $495 = ($493 + $491 | 0) * 6476 | 0; + $496 = $491 - $493 | 0; + $498 = ($496 * 2896 | 0) + $489 | 0; + $499 = $498 + $495 | 0; + $500 = $498 - $495 | 0; + $502 = (Math_imul($496, -11584) | 0) + $489 | 0; + $504 = HEAP32[$5 + 64 >> 2] | 0; + $506 = HEAP32[$5 + 72 >> 2] | 0; + $508 = ($506 + $504 | 0) * 6810 | 0; + $510 = $508 + ($504 * 4209 | 0) | 0; + $512 = $508 + (Math_imul($506, -17828) | 0) | 0; + HEAP8[$486 >> 0] = HEAP8[$312 + (($510 + $499 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$486 + 4 >> 0] = HEAP8[$312 + (($499 - $510 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$486 + 1 >> 0] = HEAP8[$312 + (($512 + $500 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$486 + 3 >> 0] = HEAP8[$312 + (($500 - $512 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$486 + 2 >> 0] = HEAP8[$312 + ($502 >>> 18 & 1023) >> 0] | 0; + $544 = (HEAP32[$3 + 16 >> 2] | 0) + $4 | 0; + $547 = (HEAP32[$5 + 80 >> 2] << 13) + 134348800 | 0; + $549 = HEAP32[$5 + 88 >> 2] | 0; + $551 = HEAP32[$5 + 96 >> 2] | 0; + $553 = ($551 + $549 | 0) * 6476 | 0; + $554 = $549 - $551 | 0; + $556 = ($554 * 2896 | 0) + $547 | 0; + $557 = $556 + $553 | 0; + $558 = $556 - $553 | 0; + $560 = (Math_imul($554, -11584) | 0) + $547 | 0; + $562 = HEAP32[$5 + 84 >> 2] | 0; + $564 = HEAP32[$5 + 92 >> 2] | 0; + $566 = ($564 + $562 | 0) * 6810 | 0; + $568 = $566 + ($562 * 4209 | 0) | 0; + $570 = $566 + (Math_imul($564, -17828) | 0) | 0; + HEAP8[$544 >> 0] = HEAP8[$312 + (($568 + $557 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$544 + 4 >> 0] = HEAP8[$312 + (($557 - $568 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$544 + 1 >> 0] = HEAP8[$312 + (($570 + $558 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$544 + 3 >> 0] = HEAP8[$312 + (($558 - $570 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$544 + 2 >> 0] = HEAP8[$312 + ($560 >>> 18 & 1023) >> 0] | 0; + STACKTOP = sp; + return; +} + +function __ZN6vision10DoGPyramid25difference_image_binomialERNS_5ImageERKS1_S4_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0, $$041 = 0, $102 = 0, $106 = 0, $107 = 0, $115 = 0, $12 = 0, $120 = 0, $124 = 0, $125 = 0, $133 = 0, $138 = 0, $142 = 0, $143 = 0, $151 = 0, $156 = 0, $160 = 0, $161 = 0, $169 = 0, $17 = 0, $174 = 0, $178 = 0, $181 = 0, $182 = 0, $183 = 0, $21 = 0, $29 = 0, $34 = 0, $38 = 0, $4 = 0, $46 = 0, $51 = 0, $55 = 0, $63 = 0, $68 = 0, $72 = 0, $80 = 0, $85 = 0, $89 = 0, $97 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $4 = sp; + if ((__ZNK6vision5Image4typeEv($1) | 0) != 2) { + $12 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 27182) | 0, 26748) | 0, 39072) | 0, 86) | 0, 39079) | 0, 27227) | 0; + __ZNKSt3__28ios_base6getlocEv($4, $12 + (HEAP32[(HEAP32[$12 >> 2] | 0) + -12 >> 2] | 0) | 0); + $17 = __ZNKSt3__26locale9use_facetERNS0_2idE($4, 66512) | 0; + $21 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$17 >> 2] | 0) + 28 >> 2] & 127]($17, 10) | 0; + __ZNSt3__26localeD2Ev($4); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($12, $21) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($12) | 0; + _abort(); + } + if ((__ZNK6vision5Image4typeEv($2) | 0) != 2) { + $29 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 27253) | 0, 26748) | 0, 39072) | 0, 87) | 0, 39079) | 0, 27227) | 0; + __ZNKSt3__28ios_base6getlocEv($4, $29 + (HEAP32[(HEAP32[$29 >> 2] | 0) + -12 >> 2] | 0) | 0); + $34 = __ZNKSt3__26locale9use_facetERNS0_2idE($4, 66512) | 0; + $38 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$34 >> 2] | 0) + 28 >> 2] & 127]($34, 10) | 0; + __ZNSt3__26localeD2Ev($4); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($29, $38) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($29) | 0; + _abort(); + } + if ((__ZNK6vision5Image4typeEv($3) | 0) != 2) { + $46 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 27300) | 0, 26748) | 0, 39072) | 0, 88) | 0, 39079) | 0, 27227) | 0; + __ZNKSt3__28ios_base6getlocEv($4, $46 + (HEAP32[(HEAP32[$46 >> 2] | 0) + -12 >> 2] | 0) | 0); + $51 = __ZNKSt3__26locale9use_facetERNS0_2idE($4, 66512) | 0; + $55 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$51 >> 2] | 0) + 28 >> 2] & 127]($51, 10) | 0; + __ZNSt3__26localeD2Ev($4); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($46, $55) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($46) | 0; + _abort(); + } + if ((__ZNK6vision5Image8channelsEv($1) | 0) != 1) { + $63 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 27347) | 0, 26748) | 0, 39072) | 0, 89) | 0, 39079) | 0, 27388) | 0; + __ZNKSt3__28ios_base6getlocEv($4, $63 + (HEAP32[(HEAP32[$63 >> 2] | 0) + -12 >> 2] | 0) | 0); + $68 = __ZNKSt3__26locale9use_facetERNS0_2idE($4, 66512) | 0; + $72 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$68 >> 2] | 0) + 28 >> 2] & 127]($68, 10) | 0; + __ZNSt3__26localeD2Ev($4); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($63, $72) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($63) | 0; + _abort(); + } + if ((__ZNK6vision5Image8channelsEv($2) | 0) != 1) { + $80 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 27425) | 0, 26748) | 0, 39072) | 0, 90) | 0, 39079) | 0, 27388) | 0; + __ZNKSt3__28ios_base6getlocEv($4, $80 + (HEAP32[(HEAP32[$80 >> 2] | 0) + -12 >> 2] | 0) | 0); + $85 = __ZNKSt3__26locale9use_facetERNS0_2idE($4, 66512) | 0; + $89 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$85 >> 2] | 0) + 28 >> 2] & 127]($85, 10) | 0; + __ZNSt3__26localeD2Ev($4); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($80, $89) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($80) | 0; + _abort(); + } + if ((__ZNK6vision5Image8channelsEv($3) | 0) != 1) { + $97 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 27468) | 0, 26748) | 0, 39072) | 0, 91) | 0, 39079) | 0, 27388) | 0; + __ZNKSt3__28ios_base6getlocEv($4, $97 + (HEAP32[(HEAP32[$97 >> 2] | 0) + -12 >> 2] | 0) | 0); + $102 = __ZNKSt3__26locale9use_facetERNS0_2idE($4, 66512) | 0; + $106 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$102 >> 2] | 0) + 28 >> 2] & 127]($102, 10) | 0; + __ZNSt3__26localeD2Ev($4); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($97, $106) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($97) | 0; + _abort(); + } + $107 = __ZNK6vision5Image5widthEv($1) | 0; + if (($107 | 0) != (__ZNK6vision5Image5widthEv($3) | 0)) { + $115 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 27511) | 0, 26748) | 0, 39072) | 0, 92) | 0, 39079) | 0, 27559) | 0; + __ZNKSt3__28ios_base6getlocEv($4, $115 + (HEAP32[(HEAP32[$115 >> 2] | 0) + -12 >> 2] | 0) | 0); + $120 = __ZNKSt3__26locale9use_facetERNS0_2idE($4, 66512) | 0; + $124 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$120 >> 2] | 0) + 28 >> 2] & 127]($120, 10) | 0; + __ZNSt3__26localeD2Ev($4); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($115, $124) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($115) | 0; + _abort(); + } + $125 = __ZNK6vision5Image6heightEv($1) | 0; + if (($125 | 0) != (__ZNK6vision5Image6heightEv($3) | 0)) { + $133 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 27591) | 0, 26748) | 0, 39072) | 0, 93) | 0, 39079) | 0, 27641) | 0; + __ZNKSt3__28ios_base6getlocEv($4, $133 + (HEAP32[(HEAP32[$133 >> 2] | 0) + -12 >> 2] | 0) | 0); + $138 = __ZNKSt3__26locale9use_facetERNS0_2idE($4, 66512) | 0; + $142 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$138 >> 2] | 0) + 28 >> 2] & 127]($138, 10) | 0; + __ZNSt3__26localeD2Ev($4); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($133, $142) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($133) | 0; + _abort(); + } + $143 = __ZNK6vision5Image5widthEv($2) | 0; + if (($143 | 0) != (__ZNK6vision5Image5widthEv($3) | 0)) { + $151 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 27674) | 0, 26748) | 0, 39072) | 0, 94) | 0, 39079) | 0, 27559) | 0; + __ZNKSt3__28ios_base6getlocEv($4, $151 + (HEAP32[(HEAP32[$151 >> 2] | 0) + -12 >> 2] | 0) | 0); + $156 = __ZNKSt3__26locale9use_facetERNS0_2idE($4, 66512) | 0; + $160 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$156 >> 2] | 0) + 28 >> 2] & 127]($156, 10) | 0; + __ZNSt3__26localeD2Ev($4); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($151, $160) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($151) | 0; + _abort(); + } + $161 = __ZNK6vision5Image6heightEv($2) | 0; + if (($161 | 0) != (__ZNK6vision5Image6heightEv($3) | 0)) { + $169 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 27724) | 0, 26748) | 0, 39072) | 0, 95) | 0, 39079) | 0, 27641) | 0; + __ZNKSt3__28ios_base6getlocEv($4, $169 + (HEAP32[(HEAP32[$169 >> 2] | 0) + -12 >> 2] | 0) | 0); + $174 = __ZNKSt3__26locale9use_facetERNS0_2idE($4, 66512) | 0; + $178 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$174 >> 2] | 0) + 28 >> 2] & 127]($174, 10) | 0; + __ZNSt3__26localeD2Ev($4); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($169, $178) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($169) | 0; + _abort(); + } + $$041 = 0; + while (1) { + if ($$041 >>> 0 >= (__ZNK6vision5Image6heightEv($2) | 0) >>> 0) break; + $181 = __ZN6vision5Image3getIfEEPT_m($1, $$041) | 0; + $182 = __ZNK6vision5Image3getIfEEPKT_m($2, $$041) | 0; + $183 = __ZNK6vision5Image3getIfEEPKT_m($3, $$041) | 0; + $$0 = 0; + while (1) { + if ($$0 >>> 0 >= (__ZNK6vision5Image5widthEv($2) | 0) >>> 0) break; + HEAPF32[$181 + ($$0 << 2) >> 2] = +HEAPF32[$182 + ($$0 << 2) >> 2] - +HEAPF32[$183 + ($$0 << 2) >> 2]; + $$0 = $$0 + 1 | 0; + } + $$041 = $$041 + 1 | 0; + } + STACKTOP = sp; + return; +} + +function ___intscan($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0154215 = 0, $$0157 = 0, $$0159 = 0, $$1155184 = 0, $$1158 = 0, $$1160 = 0, $$1160170 = 0, $$1165 = 0, $$1165168 = 0, $$1165169 = 0, $$2156202 = 0, $$3162208 = 0, $$4163$lcssa = 0, $$6$lcssa = 0, $$7190 = 0, $$8 = 0, $$pre$phi237Z2D = 0, $$pre$phi239Z2D = 0, $104 = 0, $112 = 0, $128 = 0, $130 = 0, $131 = 0, $135 = 0, $136 = 0, $144 = 0, $145 = 0, $150 = 0, $151 = 0, $154 = 0, $156 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $165 = 0, $166 = 0, $167 = 0, $175 = 0, $185 = 0, $186 = 0, $190 = 0, $191 = 0, $199 = 0, $20 = 0, $200 = 0, $206 = 0, $207 = 0, $209 = 0, $21 = 0, $211 = 0, $215 = 0, $216 = 0, $217 = 0, $218 = 0, $225 = 0, $226 = 0, $227 = 0, $235 = 0, $243 = 0, $251 = 0, $255 = 0, $265 = 0, $267 = 0, $276 = 0, $277 = 0, $28 = 0, $284 = 0, $286 = 0, $289 = 0, $291 = 0, $292 = 0, $293 = 0, $294 = 0, $295 = 0, $296 = 0, $297 = 0, $298 = 0, $32 = 0, $40 = 0, $42 = 0, $50 = 0, $54 = 0, $6 = 0, $68 = 0, $7 = 0, $70 = 0, $74 = 0, $75 = 0, $8 = 0, $83 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $93 = 0, $94 = 0, $96 = 0, $spec$select166 = 0, label = 0; + L1 : do if ($1 >>> 0 > 36) { + $6 = ___errno_location() | 0; + HEAP32[$6 >> 2] = 28; + $291 = 0; + $292 = 0; + } else { + $7 = $0 + 4 | 0; + $8 = $0 + 104 | 0; + do { + $9 = HEAP32[$7 >> 2] | 0; + if ($9 >>> 0 < (HEAP32[$8 >> 2] | 0) >>> 0) { + HEAP32[$7 >> 2] = $9 + 1; + $16 = HEAPU8[$9 >> 0] | 0; + } else $16 = ___shgetc($0) | 0; + } while ((_isspace($16) | 0) != 0); + L11 : do switch ($16 | 0) { + case 43: + case 45: + { + $20 = (($16 | 0) == 45) << 31 >> 31; + $21 = HEAP32[$7 >> 2] | 0; + if ($21 >>> 0 < (HEAP32[$8 >> 2] | 0) >>> 0) { + HEAP32[$7 >> 2] = $21 + 1; + $$0157 = $20; + $$0159 = HEAPU8[$21 >> 0] | 0; + break L11; + } else { + $$0157 = $20; + $$0159 = ___shgetc($0) | 0; + break L11; + } + break; + } + default: + { + $$0157 = 0; + $$0159 = $16; + } + } while (0); + $28 = ($1 | 0) == 0; + do if (($1 | 16 | 0) == 16 & ($$0159 | 0) == 48) { + $32 = HEAP32[$7 >> 2] | 0; + if ($32 >>> 0 < (HEAP32[$8 >> 2] | 0) >>> 0) { + HEAP32[$7 >> 2] = $32 + 1; + $40 = HEAPU8[$32 >> 0] | 0; + } else $40 = ___shgetc($0) | 0; + if (($40 | 32 | 0) != 120) if ($28) { + $$1160170 = $40; + $$1165168 = 8; + label = 47; + break; + } else { + $$1160 = $40; + $$1165 = $1; + label = 32; + break; + } + $42 = HEAP32[$7 >> 2] | 0; + if ($42 >>> 0 < (HEAP32[$8 >> 2] | 0) >>> 0) { + HEAP32[$7 >> 2] = $42 + 1; + $50 = HEAPU8[$42 >> 0] | 0; + } else $50 = ___shgetc($0) | 0; + if ((HEAPU8[5937 + $50 >> 0] | 0) > 15) { + $54 = (HEAP32[$8 >> 2] | 0) == 0; + if (!$54) HEAP32[$7 >> 2] = (HEAP32[$7 >> 2] | 0) + -1; + if (!$2) { + ___shlim($0, 0, 0); + $291 = 0; + $292 = 0; + break L1; + } + if ($54) { + $291 = 0; + $292 = 0; + break L1; + } + HEAP32[$7 >> 2] = (HEAP32[$7 >> 2] | 0) + -1; + $291 = 0; + $292 = 0; + break L1; + } else { + $$1160170 = $50; + $$1165168 = 16; + label = 47; + } + } else { + $spec$select166 = $28 ? 10 : $1; + if ($spec$select166 >>> 0 > (HEAPU8[5937 + $$0159 >> 0] | 0) >>> 0) { + $$1160 = $$0159; + $$1165 = $spec$select166; + label = 32; + } else { + if (HEAP32[$8 >> 2] | 0) HEAP32[$7 >> 2] = (HEAP32[$7 >> 2] | 0) + -1; + ___shlim($0, 0, 0); + $68 = ___errno_location() | 0; + HEAP32[$68 >> 2] = 28; + $291 = 0; + $292 = 0; + break L1; + } + } while (0); + L43 : do if ((label | 0) == 32) if (($$1165 | 0) == 10) { + $70 = $$1160 + -48 | 0; + if ($70 >>> 0 < 10) { + $$0154215 = 0; + $74 = $70; + do { + $$0154215 = ($$0154215 * 10 | 0) + $74 | 0; + $75 = HEAP32[$7 >> 2] | 0; + if ($75 >>> 0 < (HEAP32[$8 >> 2] | 0) >>> 0) { + HEAP32[$7 >> 2] = $75 + 1; + $83 = HEAPU8[$75 >> 0] | 0; + } else $83 = ___shgetc($0) | 0; + $74 = $83 + -48 | 0; + } while ($74 >>> 0 < 10 & $$0154215 >>> 0 < 429496729); + if ($74 >>> 0 < 10) { + $$3162208 = $83; + $88 = $$0154215; + $89 = 0; + $93 = $74; + while (1) { + $90 = ___muldi3($88 | 0, $89 | 0, 10, 0) | 0; + $91 = getTempRet0() | 0; + $94 = (($93 | 0) < 0) << 31 >> 31; + $96 = ~$94; + if ($91 >>> 0 > $96 >>> 0 | ($91 | 0) == ($96 | 0) & $90 >>> 0 > ~$93 >>> 0) { + $$1165169 = 10; + $$8 = $$3162208; + $293 = $88; + $294 = $89; + label = 76; + break L43; + } + $88 = _i64Add($90 | 0, $91 | 0, $93 | 0, $94 | 0) | 0; + $89 = getTempRet0() | 0; + $104 = HEAP32[$7 >> 2] | 0; + if ($104 >>> 0 < (HEAP32[$8 >> 2] | 0) >>> 0) { + HEAP32[$7 >> 2] = $104 + 1; + $112 = HEAPU8[$104 >> 0] | 0; + } else $112 = ___shgetc($0) | 0; + $93 = $112 + -48 | 0; + if (!($93 >>> 0 < 10 & ($89 >>> 0 < 429496729 | ($89 | 0) == 429496729 & $88 >>> 0 < 2576980378))) break; else $$3162208 = $112; + } + if ($93 >>> 0 > 9) { + $$1158 = $$0157; + $265 = $89; + $267 = $88; + } else { + $$1165169 = 10; + $$8 = $112; + $293 = $88; + $294 = $89; + label = 76; + } + } else { + $$1158 = $$0157; + $265 = 0; + $267 = $$0154215; + } + } else { + $$1158 = $$0157; + $265 = 0; + $267 = 0; + } + } else { + $$1160170 = $$1160; + $$1165168 = $$1165; + label = 47; + } while (0); + L63 : do if ((label | 0) == 47) { + if (!($$1165168 + -1 & $$1165168)) { + $128 = HEAP8[50731 + (($$1165168 * 23 | 0) >>> 5 & 7) >> 0] | 0; + $130 = HEAP8[5937 + $$1160170 >> 0] | 0; + $131 = $130 & 255; + if ($$1165168 >>> 0 > $131 >>> 0) { + $$1155184 = 0; + $135 = $131; + do { + $$1155184 = $135 | $$1155184 << $128; + $136 = HEAP32[$7 >> 2] | 0; + if ($136 >>> 0 < (HEAP32[$8 >> 2] | 0) >>> 0) { + HEAP32[$7 >> 2] = $136 + 1; + $144 = HEAPU8[$136 >> 0] | 0; + } else $144 = ___shgetc($0) | 0; + $145 = HEAP8[5937 + $144 >> 0] | 0; + $135 = $145 & 255; + } while ($$1155184 >>> 0 < 134217728 & $$1165168 >>> 0 > $135 >>> 0); + $$4163$lcssa = $144; + $$pre$phi237Z2D = $135; + $154 = 0; + $156 = $$1155184; + $295 = $145; + } else { + $$4163$lcssa = $$1160170; + $$pre$phi237Z2D = $131; + $154 = 0; + $156 = 0; + $295 = $130; + } + $150 = _bitshift64Lshr(-1, -1, $128 | 0) | 0; + $151 = getTempRet0() | 0; + if ($$1165168 >>> 0 <= $$pre$phi237Z2D >>> 0 | ($151 >>> 0 < $154 >>> 0 | ($151 | 0) == ($154 | 0) & $150 >>> 0 < $156 >>> 0)) { + $$1165169 = $$1165168; + $$8 = $$4163$lcssa; + $293 = $156; + $294 = $154; + label = 76; + break; + } + $160 = $156; + $161 = $154; + $165 = $295; + while (1) { + $162 = _bitshift64Shl($160 | 0, $161 | 0, $128 | 0) | 0; + $163 = getTempRet0() | 0; + $166 = $162 | $165 & 255; + $167 = HEAP32[$7 >> 2] | 0; + if ($167 >>> 0 < (HEAP32[$8 >> 2] | 0) >>> 0) { + HEAP32[$7 >> 2] = $167 + 1; + $175 = HEAPU8[$167 >> 0] | 0; + } else $175 = ___shgetc($0) | 0; + $165 = HEAP8[5937 + $175 >> 0] | 0; + if ($$1165168 >>> 0 <= ($165 & 255) >>> 0 | ($163 >>> 0 > $151 >>> 0 | ($163 | 0) == ($151 | 0) & $166 >>> 0 > $150 >>> 0)) { + $$1165169 = $$1165168; + $$8 = $175; + $293 = $166; + $294 = $163; + label = 76; + break L63; + } else { + $160 = $166; + $161 = $163; + } + } + } + $185 = HEAP8[5937 + $$1160170 >> 0] | 0; + $186 = $185 & 255; + if ($$1165168 >>> 0 > $186 >>> 0) { + $$2156202 = 0; + $190 = $186; + do { + $$2156202 = $190 + (Math_imul($$2156202, $$1165168) | 0) | 0; + $191 = HEAP32[$7 >> 2] | 0; + if ($191 >>> 0 < (HEAP32[$8 >> 2] | 0) >>> 0) { + HEAP32[$7 >> 2] = $191 + 1; + $199 = HEAPU8[$191 >> 0] | 0; + } else $199 = ___shgetc($0) | 0; + $200 = HEAP8[5937 + $199 >> 0] | 0; + $190 = $200 & 255; + } while ($$2156202 >>> 0 < 119304647 & $$1165168 >>> 0 > $190 >>> 0); + $$6$lcssa = $199; + $$pre$phi239Z2D = $190; + $296 = $200; + $297 = $$2156202; + $298 = 0; + } else { + $$6$lcssa = $$1160170; + $$pre$phi239Z2D = $186; + $296 = $185; + $297 = 0; + $298 = 0; + } + if ($$1165168 >>> 0 > $$pre$phi239Z2D >>> 0) { + $206 = ___udivdi3(-1, -1, $$1165168 | 0, 0) | 0; + $207 = getTempRet0() | 0; + $$7190 = $$6$lcssa; + $209 = $298; + $211 = $297; + $218 = $296; + while (1) { + if ($209 >>> 0 > $207 >>> 0 | ($209 | 0) == ($207 | 0) & $211 >>> 0 > $206 >>> 0) { + $$1165169 = $$1165168; + $$8 = $$7190; + $293 = $211; + $294 = $209; + label = 76; + break L63; + } + $215 = ___muldi3($211 | 0, $209 | 0, $$1165168 | 0, 0) | 0; + $216 = getTempRet0() | 0; + $217 = $218 & 255; + if ($216 >>> 0 > 4294967295 | ($216 | 0) == -1 & $215 >>> 0 > ~$217 >>> 0) { + $$1165169 = $$1165168; + $$8 = $$7190; + $293 = $211; + $294 = $209; + label = 76; + break L63; + } + $225 = _i64Add($215 | 0, $216 | 0, $217 | 0, 0) | 0; + $226 = getTempRet0() | 0; + $227 = HEAP32[$7 >> 2] | 0; + if ($227 >>> 0 < (HEAP32[$8 >> 2] | 0) >>> 0) { + HEAP32[$7 >> 2] = $227 + 1; + $235 = HEAPU8[$227 >> 0] | 0; + } else $235 = ___shgetc($0) | 0; + $218 = HEAP8[5937 + $235 >> 0] | 0; + if ($$1165168 >>> 0 <= ($218 & 255) >>> 0) { + $$1165169 = $$1165168; + $$8 = $235; + $293 = $225; + $294 = $226; + label = 76; + break; + } else { + $$7190 = $235; + $209 = $226; + $211 = $225; + } + } + } else { + $$1165169 = $$1165168; + $$8 = $$6$lcssa; + $293 = $297; + $294 = $298; + label = 76; + } + } while (0); + if ((label | 0) == 76) if ($$1165169 >>> 0 > (HEAPU8[5937 + $$8 >> 0] | 0) >>> 0) { + do { + $243 = HEAP32[$7 >> 2] | 0; + if ($243 >>> 0 < (HEAP32[$8 >> 2] | 0) >>> 0) { + HEAP32[$7 >> 2] = $243 + 1; + $251 = HEAPU8[$243 >> 0] | 0; + } else $251 = ___shgetc($0) | 0; + } while ($$1165169 >>> 0 > (HEAPU8[5937 + $251 >> 0] | 0) >>> 0); + $255 = ___errno_location() | 0; + HEAP32[$255 >> 2] = 68; + $$1158 = ($3 & 1 | 0) == 0 & 0 == 0 ? $$0157 : 0; + $265 = $4; + $267 = $3; + } else { + $$1158 = $$0157; + $265 = $294; + $267 = $293; + } + if (HEAP32[$8 >> 2] | 0) HEAP32[$7 >> 2] = (HEAP32[$7 >> 2] | 0) + -1; + if (!($265 >>> 0 < $4 >>> 0 | ($265 | 0) == ($4 | 0) & $267 >>> 0 < $3 >>> 0)) { + if (!(($3 & 1 | 0) != 0 | 0 != 0 | ($$1158 | 0) != 0)) { + $276 = ___errno_location() | 0; + HEAP32[$276 >> 2] = 68; + $277 = _i64Add($3 | 0, $4 | 0, -1, -1) | 0; + $291 = getTempRet0() | 0; + $292 = $277; + break; + } + if ($265 >>> 0 > $4 >>> 0 | ($265 | 0) == ($4 | 0) & $267 >>> 0 > $3 >>> 0) { + $284 = ___errno_location() | 0; + HEAP32[$284 >> 2] = 68; + $291 = $4; + $292 = $3; + break; + } + } + $286 = (($$1158 | 0) < 0) << 31 >> 31; + $289 = _i64Subtract($267 ^ $$1158 | 0, $265 ^ $286 | 0, $$1158 | 0, $286 | 0) | 0; + $291 = getTempRet0() | 0; + $292 = $289; + } while (0); + setTempRet0($291 | 0); + return $292 | 0; +} + +function _ar2GetBestMatchingSubFine($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 $$0231 = 0, $$0232 = 0, $$0239 = 0, $$0251 = 0, $$0257 = 0, $$0263 = 0, $$0282 = 0, $$1 = 0, $$10 = 0, $$10249 = 0, $$10273 = 0, $$10292 = 0, $$11 = 0, $$11250 = 0, $$11274 = 0, $$11293 = 0, $$12 = 0, $$12275 = 0, $$12294 = 0, $$1233 = 0, $$1240 = 0, $$1252 = 0, $$1258 = 0, $$1264 = 0, $$1283 = 0, $$13 = 0, $$13276 = 0, $$13295 = 0, $$14 = 0, $$14277 = 0, $$14296 = 0, $$15 = 0, $$15278 = 0, $$15297 = 0, $$16 = 0, $$16279 = 0, $$16298 = 0, $$17 = 0, $$17280 = 0, $$17299 = 0, $$18 = 0, $$18281 = 0, $$18300 = 0, $$2 = 0, $$2234 = 0, $$2241 = 0, $$2253 = 0, $$2259 = 0, $$2265 = 0, $$2284 = 0, $$3 = 0, $$3235 = 0, $$3242 = 0, $$3254 = 0, $$3260 = 0, $$3266 = 0, $$3285 = 0, $$4 = 0, $$4236 = 0, $$4243 = 0, $$4255 = 0, $$4261 = 0, $$4267 = 0, $$4286 = 0, $$5 = 0, $$5237 = 0, $$5244 = 0, $$5256 = 0, $$5262 = 0, $$5268 = 0, $$5287 = 0, $$6 = 0, $$6238 = 0, $$6245 = 0, $$6269 = 0, $$6288 = 0, $$7 = 0, $$7246 = 0, $$7270 = 0, $$7289 = 0, $$8 = 0, $$8247 = 0, $$8271 = 0, $$8290 = 0, $$9 = 0, $$9248 = 0, $$9272 = 0, $$9291 = 0, $101 = 0, $102 = 0, $108 = 0, $11 = 0, $110 = 0, $123 = 0, $13 = 0, $139 = 0, $140 = 0, $141 = 0, $146 = 0, $147 = 0, $153 = 0, $155 = 0, $16 = 0, $169 = 0, $18 = 0, $183 = 0, $184 = 0, $185 = 0, $190 = 0, $191 = 0, $197 = 0, $199 = 0, $204 = 0, $218 = 0, $219 = 0, $220 = 0, $225 = 0, $226 = 0, $232 = 0, $234 = 0, $238 = 0, $249 = 0, $252 = 0, $259 = 0, $26 = 0, $29 = 0, $33 = 0, $49 = 0, $50 = 0, $51 = 0, $56 = 0, $57 = 0, $63 = 0, $65 = 0, $78 = 0, $8 = 0, $94 = 0, $95 = 0, $96 = 0, $storemerge = 0; + $8 = HEAP32[$3 + 24 >> 2] | 0; + L1 : do switch ($2 | 0) { + case 5: + case 12: + case 13: + case 14: + { + $11 = 0 - (HEAP32[$3 + 8 >> 2] | 0) | 0; + $13 = HEAP32[$3 + 12 >> 2] | 0; + $16 = 0 - (HEAP32[$3 + 16 >> 2] | 0) | 0; + $18 = HEAP32[$3 + 20 >> 2] | 0; + $26 = $1 << 1; + $$0231 = $8; + $$0232 = $0 + (($11 << 1) + $4 + (Math_imul(($16 << 1) + $5 | 0, $1) | 0)) | 0; + $$0239 = 0; + $$0251 = $16; + $$0263 = 0; + $$0282 = 0; + while (1) { + if (($$0251 | 0) > ($18 | 0)) { + $$18 = $$0239; + $$18281 = $$0263; + $$18300 = $$0282; + break L1; + } + $$0257 = $11; + $$1 = $$0231; + $$1233 = $$0232; + $$1240 = $$0239; + $$1264 = $$0263; + $$1283 = $$0282; + while (1) { + if (($$0257 | 0) > ($13 | 0)) break; + $29 = HEAP16[$$1 >> 1] | 0; + if ($29 << 16 >> 16 == 4096) { + $$2241 = $$1240; + $$2265 = $$1264; + $$2284 = $$1283; + } else { + $33 = HEAPU8[$$1233 >> 0] | 0; + $$2241 = $$1240 + $33 | 0; + $$2265 = (Math_imul($33, $33) | 0) + $$1264 | 0; + $$2284 = (Math_imul($33, $29 & 65535) | 0) + $$1283 | 0; + } + $$0257 = $$0257 + 1 | 0; + $$1 = $$1 + 2 | 0; + $$1233 = $$1233 + 2 | 0; + $$1240 = $$2241; + $$1264 = $$2265; + $$1283 = $$2284; + } + $$0231 = $$1; + $$0232 = $$0232 + $26 | 0; + $$0239 = $$1240; + $$0251 = $$0251 + 1 | 0; + $$0263 = $$1264; + $$0282 = $$1283; + } + break; + } + default: + { + if ($2 >>> 0 < 2) { + $49 = HEAP32[$3 + 20 >> 2] | 0; + $50 = $3 + 8 | 0; + $51 = $3 + 12 | 0; + $$1252 = 0 - (HEAP32[$3 + 16 >> 2] | 0) | 0; + $$2 = $8; + $$3242 = 0; + $$3266 = 0; + $$3285 = 0; + while (1) { + if (($$1252 | 0) > ($49 | 0)) { + $$18 = $$3242; + $$18281 = $$3266; + $$18300 = $$3285; + break L1; + } + $56 = (Math_imul(($$1252 << 1) + $5 | 0, $1) | 0) + $4 | 0; + $57 = HEAP32[$50 >> 2] | 0; + $63 = HEAP32[$51 >> 2] | 0; + $$1258 = 0 - $57 | 0; + $$2234 = $0 + (($56 - ($57 << 1) | 0) * 3 | 0) | 0; + $$3 = $$2; + $$4243 = $$3242; + $$4267 = $$3266; + $$4286 = $$3285; + while (1) { + if (($$1258 | 0) > ($63 | 0)) break; + $65 = HEAP16[$$3 >> 1] | 0; + if ($65 << 16 >> 16 == 4096) { + $$5244 = $$4243; + $$5268 = $$4267; + $$5287 = $$4286; + } else { + $78 = (((HEAPU8[$$2234 + 1 >> 0] | 0) + (HEAPU8[$$2234 >> 0] | 0) + (HEAPU8[$$2234 + 2 >> 0] | 0) | 0) >>> 0) / 3 | 0; + $$5244 = $78 + $$4243 | 0; + $$5268 = (Math_imul($78, $78) | 0) + $$4267 | 0; + $$5287 = (Math_imul($78, $65 & 65535) | 0) + $$4286 | 0; + } + $$1258 = $$1258 + 1 | 0; + $$2234 = $$2234 + 6 | 0; + $$3 = $$3 + 2 | 0; + $$4243 = $$5244; + $$4267 = $$5268; + $$4286 = $$5287; + } + $$1252 = $$1252 + 1 | 0; + $$2 = $$3; + $$3242 = $$4243; + $$3266 = $$4267; + $$3285 = $$4286; + } + } + if (($2 | 1 | 0) == 3) { + $94 = HEAP32[$3 + 20 >> 2] | 0; + $95 = $3 + 8 | 0; + $96 = $3 + 12 | 0; + $$2253 = 0 - (HEAP32[$3 + 16 >> 2] | 0) | 0; + $$4 = $8; + $$6245 = 0; + $$6269 = 0; + $$6288 = 0; + while (1) { + if (($$2253 | 0) > ($94 | 0)) { + $$18 = $$6245; + $$18281 = $$6269; + $$18300 = $$6288; + break L1; + } + $101 = (Math_imul(($$2253 << 1) + $5 | 0, $1) | 0) + $4 | 0; + $102 = HEAP32[$95 >> 2] | 0; + $108 = HEAP32[$96 >> 2] | 0; + $$2259 = 0 - $102 | 0; + $$3235 = $0 + ($101 - ($102 << 1) << 2) | 0; + $$5 = $$4; + $$7246 = $$6245; + $$7270 = $$6269; + $$7289 = $$6288; + while (1) { + if (($$2259 | 0) > ($108 | 0)) break; + $110 = HEAP16[$$5 >> 1] | 0; + if ($110 << 16 >> 16 == 4096) { + $$8247 = $$7246; + $$8271 = $$7270; + $$8290 = $$7289; + } else { + $123 = (((HEAPU8[$$3235 + 1 >> 0] | 0) + (HEAPU8[$$3235 >> 0] | 0) + (HEAPU8[$$3235 + 2 >> 0] | 0) | 0) >>> 0) / 3 | 0; + $$8247 = $123 + $$7246 | 0; + $$8271 = (Math_imul($123, $123) | 0) + $$7270 | 0; + $$8290 = (Math_imul($123, $110 & 65535) | 0) + $$7289 | 0; + } + $$2259 = $$2259 + 1 | 0; + $$3235 = $$3235 + 8 | 0; + $$5 = $$5 + 2 | 0; + $$7246 = $$8247; + $$7270 = $$8271; + $$7289 = $$8290; + } + $$2253 = $$2253 + 1 | 0; + $$4 = $$5; + $$6245 = $$7246; + $$6269 = $$7270; + $$6288 = $$7289; + } + } + if (($2 | 2 | 0) == 6) { + $139 = HEAP32[$3 + 20 >> 2] | 0; + $140 = $3 + 8 | 0; + $141 = $3 + 12 | 0; + $$3254 = 0 - (HEAP32[$3 + 16 >> 2] | 0) | 0; + $$6 = $8; + $$9248 = 0; + $$9272 = 0; + $$9291 = 0; + while (1) { + if (($$3254 | 0) > ($139 | 0)) { + $$18 = $$9248; + $$18281 = $$9272; + $$18300 = $$9291; + break L1; + } + $146 = (Math_imul(($$3254 << 1) + $5 | 0, $1) | 0) + $4 | 0; + $147 = HEAP32[$140 >> 2] | 0; + $153 = HEAP32[$141 >> 2] | 0; + $$10249 = $$9248; + $$10273 = $$9272; + $$10292 = $$9291; + $$3260 = 0 - $147 | 0; + $$4236 = $0 + ($146 - ($147 << 1) << 2) | 0; + $$7 = $$6; + while (1) { + if (($$3260 | 0) > ($153 | 0)) break; + $155 = HEAP16[$$7 >> 1] | 0; + if ($155 << 16 >> 16 == 4096) { + $$11250 = $$10249; + $$11274 = $$10273; + $$11293 = $$10292; + } else { + $169 = (((HEAPU8[$$4236 + 2 >> 0] | 0) + (HEAPU8[$$4236 + 1 >> 0] | 0) + (HEAPU8[$$4236 + 3 >> 0] | 0) | 0) >>> 0) / 3 | 0; + $$11250 = $169 + $$10249 | 0; + $$11274 = (Math_imul($169, $169) | 0) + $$10273 | 0; + $$11293 = (Math_imul($169, $155 & 65535) | 0) + $$10292 | 0; + } + $$10249 = $$11250; + $$10273 = $$11274; + $$10292 = $$11293; + $$3260 = $$3260 + 1 | 0; + $$4236 = $$4236 + 8 | 0; + $$7 = $$7 + 2 | 0; + } + $$3254 = $$3254 + 1 | 0; + $$6 = $$7; + $$9248 = $$10249; + $$9272 = $$10273; + $$9291 = $$10292; + } + } + switch ($2 | 0) { + case 7: + { + $183 = HEAP32[$3 + 20 >> 2] | 0; + $184 = $3 + 8 | 0; + $185 = $3 + 12 | 0; + $$12 = 0; + $$12275 = 0; + $$12294 = 0; + $$4255 = 0 - (HEAP32[$3 + 16 >> 2] | 0) | 0; + $$8 = $8; + while (1) { + if (($$4255 | 0) > ($183 | 0)) { + $$18 = $$12; + $$18281 = $$12275; + $$18300 = $$12294; + break L1; + } + $190 = (Math_imul(($$4255 << 1) + $5 | 0, $1) | 0) + $4 | 0; + $191 = HEAP32[$184 >> 2] | 0; + $197 = HEAP32[$185 >> 2] | 0; + $$13 = $$12; + $$13276 = $$12275; + $$13295 = $$12294; + $$4261 = 0 - $191 | 0; + $$5237 = $0 + ($190 - ($191 << 1) << 1) | 0; + $$9 = $$8; + while (1) { + if (($$4261 | 0) > ($197 | 0)) break; + $199 = HEAP16[$$9 >> 1] | 0; + if ($199 << 16 >> 16 == 4096) { + $$14 = $$13; + $$14277 = $$13276; + $$14296 = $$13295; + } else { + $204 = HEAPU8[$$5237 + 1 >> 0] | 0; + $$14 = $$13 + $204 | 0; + $$14277 = (Math_imul($204, $204) | 0) + $$13276 | 0; + $$14296 = (Math_imul($204, $199 & 65535) | 0) + $$13295 | 0; + } + $$13 = $$14; + $$13276 = $$14277; + $$13295 = $$14296; + $$4261 = $$4261 + 1 | 0; + $$5237 = $$5237 + 4 | 0; + $$9 = $$9 + 2 | 0; + } + $$12 = $$13; + $$12275 = $$13276; + $$12294 = $$13295; + $$4255 = $$4255 + 1 | 0; + $$8 = $$9; + } + break; + } + case 8: + { + $218 = HEAP32[$3 + 20 >> 2] | 0; + $219 = $3 + 8 | 0; + $220 = $3 + 12 | 0; + $$10 = $8; + $$15 = 0; + $$15278 = 0; + $$15297 = 0; + $$5256 = 0 - (HEAP32[$3 + 16 >> 2] | 0) | 0; + while (1) { + if (($$5256 | 0) > ($218 | 0)) { + $$18 = $$15; + $$18281 = $$15278; + $$18300 = $$15297; + break L1; + } + $225 = (Math_imul(($$5256 << 1) + $5 | 0, $1) | 0) + $4 | 0; + $226 = HEAP32[$219 >> 2] | 0; + $232 = HEAP32[$220 >> 2] | 0; + $$11 = $$10; + $$16 = $$15; + $$16279 = $$15278; + $$16298 = $$15297; + $$5262 = 0 - $226 | 0; + $$6238 = $0 + ($225 - ($226 << 1) << 1) | 0; + while (1) { + if (($$5262 | 0) > ($232 | 0)) break; + $234 = HEAP16[$$11 >> 1] | 0; + if ($234 << 16 >> 16 == 4096) { + $$17 = $$16; + $$17280 = $$16279; + $$17299 = $$16298; + } else { + $238 = HEAPU8[$$6238 >> 0] | 0; + $$17 = $$16 + $238 | 0; + $$17280 = (Math_imul($238, $238) | 0) + $$16279 | 0; + $$17299 = (Math_imul($238, $234 & 65535) | 0) + $$16298 | 0; + } + $$11 = $$11 + 2 | 0; + $$16 = $$17; + $$16279 = $$17280; + $$16298 = $$17299; + $$5262 = $$5262 + 1 | 0; + $$6238 = $$6238 + 4 | 0; + } + $$10 = $$11; + $$15 = $$16; + $$15278 = $$16279; + $$15297 = $$16298; + $$5256 = $$5256 + 1 | 0; + } + break; + } + default: + { + $$18 = 0; + $$18281 = 0; + $$18300 = 0; + break L1; + } + } + } + } while (0); + $249 = HEAP32[$3 + 36 >> 2] | 0; + $252 = $$18281 - ((Math_imul($$18, $$18) | 0) / ($249 | 0) | 0) | 0; + if (!$252) $storemerge = 0; else { + $259 = ($$18300 - ((Math_imul(HEAP32[$3 + 32 >> 2] | 0, $$18) | 0) / ($249 | 0) | 0) | 0) * 100 | 0; + $storemerge = ((($259 | 0) / (HEAP32[$3 + 28 >> 2] | 0) | 0) * 100 | 0) / (~~+Math_sqrt(+(+($252 | 0))) | 0) | 0; + } + HEAP32[$6 >> 2] = $storemerge; + return; +} + +function __ZNSt3__211__money_putIcE13__gather_infoEbbRKNS_6localeERNS_10money_base7patternERcS8_RNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEESF_SF_Ri($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + $9 = $9 | 0; + var $$0$i$i$i = 0, $$0$i$i$i51 = 0, $$0$i$i$i59 = 0, $$0$i$i$i67 = 0, $$0$i$i$i75 = 0, $$0$i$i$i83 = 0, $$0$i$i$i91 = 0, $$0$i$i$i99 = 0, $$pre$phi102Z2D = 0, $$pre$phiZ2D = 0, $10 = 0, $101 = 0, $104 = 0, $108 = 0, $11 = 0, $116 = 0, $12 = 0, $120 = 0, $123 = 0, $127 = 0, $135 = 0, $139 = 0, $143 = 0, $146 = 0, $150 = 0, $158 = 0, $16 = 0, $161 = 0, $165 = 0, $20 = 0, $23 = 0, $27 = 0, $35 = 0, $39 = 0, $42 = 0, $46 = 0, $54 = 0, $58 = 0, $62 = 0, $65 = 0, $69 = 0, $77 = 0, $80 = 0, $84 = 0, $93 = 0, $97 = 0, $storemerge = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $10 = sp + 12 | 0; + $11 = sp; + if ($0) { + $12 = __ZNKSt3__26locale9use_facetERNS0_2idE($2, 66744) | 0; + if ($1) { + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$12 >> 2] | 0) + 44 >> 2] & 255]($10, $12); + $16 = HEAP32[$10 >> 2] | 0; + HEAP8[$3 >> 0] = $16; + HEAP8[$3 + 1 >> 0] = $16 >> 8; + HEAP8[$3 + 2 >> 0] = $16 >> 16; + HEAP8[$3 + 3 >> 0] = $16 >> 24; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$12 >> 2] | 0) + 32 >> 2] & 255]($11, $12); + $20 = $8 + 11 | 0; + if ((HEAP8[$20 >> 0] | 0) < 0) { + $23 = HEAP32[$8 >> 2] | 0; + HEAP8[$10 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($23, $10); + HEAP32[$8 + 4 >> 2] = 0; + if ((HEAP8[$20 >> 0] | 0) < 0) { + $27 = $8 + 8 | 0; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm(HEAP32[$8 >> 2] | 0, HEAP32[$27 >> 2] & 2147483647); + HEAP32[$27 >> 2] = 0; + } + } else { + HEAP8[$10 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($8, $10); + HEAP8[$20 >> 0] = 0; + }; + HEAP32[$8 >> 2] = HEAP32[$11 >> 2]; + HEAP32[$8 + 4 >> 2] = HEAP32[$11 + 4 >> 2]; + HEAP32[$8 + 8 >> 2] = HEAP32[$11 + 8 >> 2]; + $$0$i$i$i = 0; + while (1) { + if (($$0$i$i$i | 0) == 3) break; + HEAP32[$11 + ($$0$i$i$i << 2) >> 2] = 0; + $$0$i$i$i = $$0$i$i$i + 1 | 0; + } + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($11); + $$pre$phiZ2D = $12; + } else { + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$12 >> 2] | 0) + 40 >> 2] & 255]($10, $12); + $35 = HEAP32[$10 >> 2] | 0; + HEAP8[$3 >> 0] = $35; + HEAP8[$3 + 1 >> 0] = $35 >> 8; + HEAP8[$3 + 2 >> 0] = $35 >> 16; + HEAP8[$3 + 3 >> 0] = $35 >> 24; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$12 >> 2] | 0) + 28 >> 2] & 255]($11, $12); + $39 = $8 + 11 | 0; + if ((HEAP8[$39 >> 0] | 0) < 0) { + $42 = HEAP32[$8 >> 2] | 0; + HEAP8[$10 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($42, $10); + HEAP32[$8 + 4 >> 2] = 0; + if ((HEAP8[$39 >> 0] | 0) < 0) { + $46 = $8 + 8 | 0; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm(HEAP32[$8 >> 2] | 0, HEAP32[$46 >> 2] & 2147483647); + HEAP32[$46 >> 2] = 0; + } + } else { + HEAP8[$10 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($8, $10); + HEAP8[$39 >> 0] = 0; + }; + HEAP32[$8 >> 2] = HEAP32[$11 >> 2]; + HEAP32[$8 + 4 >> 2] = HEAP32[$11 + 4 >> 2]; + HEAP32[$8 + 8 >> 2] = HEAP32[$11 + 8 >> 2]; + $$0$i$i$i51 = 0; + while (1) { + if (($$0$i$i$i51 | 0) == 3) break; + HEAP32[$11 + ($$0$i$i$i51 << 2) >> 2] = 0; + $$0$i$i$i51 = $$0$i$i$i51 + 1 | 0; + } + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($11); + $$pre$phiZ2D = $12; + } + $54 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$12 >> 2] | 0) + 12 >> 2] & 127]($12) | 0; + HEAP8[$4 >> 0] = $54; + $58 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$12 >> 2] | 0) + 16 >> 2] & 127]($12) | 0; + HEAP8[$5 >> 0] = $58; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$$pre$phiZ2D >> 2] | 0) + 20 >> 2] & 255]($11, $12); + $62 = $6 + 11 | 0; + if ((HEAP8[$62 >> 0] | 0) < 0) { + $65 = HEAP32[$6 >> 2] | 0; + HEAP8[$10 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($65, $10); + HEAP32[$6 + 4 >> 2] = 0; + if ((HEAP8[$62 >> 0] | 0) < 0) { + $69 = $6 + 8 | 0; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm(HEAP32[$6 >> 2] | 0, HEAP32[$69 >> 2] & 2147483647); + HEAP32[$69 >> 2] = 0; + } + } else { + HEAP8[$10 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($6, $10); + HEAP8[$62 >> 0] = 0; + }; + HEAP32[$6 >> 2] = HEAP32[$11 >> 2]; + HEAP32[$6 + 4 >> 2] = HEAP32[$11 + 4 >> 2]; + HEAP32[$6 + 8 >> 2] = HEAP32[$11 + 8 >> 2]; + $$0$i$i$i59 = 0; + while (1) { + if (($$0$i$i$i59 | 0) == 3) break; + HEAP32[$11 + ($$0$i$i$i59 << 2) >> 2] = 0; + $$0$i$i$i59 = $$0$i$i$i59 + 1 | 0; + } + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($11); + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$$pre$phiZ2D >> 2] | 0) + 24 >> 2] & 255]($11, $12); + $77 = $7 + 11 | 0; + if ((HEAP8[$77 >> 0] | 0) < 0) { + $80 = HEAP32[$7 >> 2] | 0; + HEAP8[$10 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($80, $10); + HEAP32[$7 + 4 >> 2] = 0; + if ((HEAP8[$77 >> 0] | 0) < 0) { + $84 = $7 + 8 | 0; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm(HEAP32[$7 >> 2] | 0, HEAP32[$84 >> 2] & 2147483647); + HEAP32[$84 >> 2] = 0; + } + } else { + HEAP8[$10 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($7, $10); + HEAP8[$77 >> 0] = 0; + }; + HEAP32[$7 >> 2] = HEAP32[$11 >> 2]; + HEAP32[$7 + 4 >> 2] = HEAP32[$11 + 4 >> 2]; + HEAP32[$7 + 8 >> 2] = HEAP32[$11 + 8 >> 2]; + $$0$i$i$i67 = 0; + while (1) { + if (($$0$i$i$i67 | 0) == 3) break; + HEAP32[$11 + ($$0$i$i$i67 << 2) >> 2] = 0; + $$0$i$i$i67 = $$0$i$i$i67 + 1 | 0; + } + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($11); + $storemerge = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$12 >> 2] | 0) + 36 >> 2] & 127]($12) | 0; + } else { + $93 = __ZNKSt3__26locale9use_facetERNS0_2idE($2, 66736) | 0; + if ($1) { + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$93 >> 2] | 0) + 44 >> 2] & 255]($10, $93); + $97 = HEAP32[$10 >> 2] | 0; + HEAP8[$3 >> 0] = $97; + HEAP8[$3 + 1 >> 0] = $97 >> 8; + HEAP8[$3 + 2 >> 0] = $97 >> 16; + HEAP8[$3 + 3 >> 0] = $97 >> 24; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$93 >> 2] | 0) + 32 >> 2] & 255]($11, $93); + $101 = $8 + 11 | 0; + if ((HEAP8[$101 >> 0] | 0) < 0) { + $104 = HEAP32[$8 >> 2] | 0; + HEAP8[$10 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($104, $10); + HEAP32[$8 + 4 >> 2] = 0; + if ((HEAP8[$101 >> 0] | 0) < 0) { + $108 = $8 + 8 | 0; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm(HEAP32[$8 >> 2] | 0, HEAP32[$108 >> 2] & 2147483647); + HEAP32[$108 >> 2] = 0; + } + } else { + HEAP8[$10 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($8, $10); + HEAP8[$101 >> 0] = 0; + }; + HEAP32[$8 >> 2] = HEAP32[$11 >> 2]; + HEAP32[$8 + 4 >> 2] = HEAP32[$11 + 4 >> 2]; + HEAP32[$8 + 8 >> 2] = HEAP32[$11 + 8 >> 2]; + $$0$i$i$i75 = 0; + while (1) { + if (($$0$i$i$i75 | 0) == 3) break; + HEAP32[$11 + ($$0$i$i$i75 << 2) >> 2] = 0; + $$0$i$i$i75 = $$0$i$i$i75 + 1 | 0; + } + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($11); + $$pre$phi102Z2D = $93; + } else { + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$93 >> 2] | 0) + 40 >> 2] & 255]($10, $93); + $116 = HEAP32[$10 >> 2] | 0; + HEAP8[$3 >> 0] = $116; + HEAP8[$3 + 1 >> 0] = $116 >> 8; + HEAP8[$3 + 2 >> 0] = $116 >> 16; + HEAP8[$3 + 3 >> 0] = $116 >> 24; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$93 >> 2] | 0) + 28 >> 2] & 255]($11, $93); + $120 = $8 + 11 | 0; + if ((HEAP8[$120 >> 0] | 0) < 0) { + $123 = HEAP32[$8 >> 2] | 0; + HEAP8[$10 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($123, $10); + HEAP32[$8 + 4 >> 2] = 0; + if ((HEAP8[$120 >> 0] | 0) < 0) { + $127 = $8 + 8 | 0; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm(HEAP32[$8 >> 2] | 0, HEAP32[$127 >> 2] & 2147483647); + HEAP32[$127 >> 2] = 0; + } + } else { + HEAP8[$10 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($8, $10); + HEAP8[$120 >> 0] = 0; + }; + HEAP32[$8 >> 2] = HEAP32[$11 >> 2]; + HEAP32[$8 + 4 >> 2] = HEAP32[$11 + 4 >> 2]; + HEAP32[$8 + 8 >> 2] = HEAP32[$11 + 8 >> 2]; + $$0$i$i$i83 = 0; + while (1) { + if (($$0$i$i$i83 | 0) == 3) break; + HEAP32[$11 + ($$0$i$i$i83 << 2) >> 2] = 0; + $$0$i$i$i83 = $$0$i$i$i83 + 1 | 0; + } + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($11); + $$pre$phi102Z2D = $93; + } + $135 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$93 >> 2] | 0) + 12 >> 2] & 127]($93) | 0; + HEAP8[$4 >> 0] = $135; + $139 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$93 >> 2] | 0) + 16 >> 2] & 127]($93) | 0; + HEAP8[$5 >> 0] = $139; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$$pre$phi102Z2D >> 2] | 0) + 20 >> 2] & 255]($11, $93); + $143 = $6 + 11 | 0; + if ((HEAP8[$143 >> 0] | 0) < 0) { + $146 = HEAP32[$6 >> 2] | 0; + HEAP8[$10 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($146, $10); + HEAP32[$6 + 4 >> 2] = 0; + if ((HEAP8[$143 >> 0] | 0) < 0) { + $150 = $6 + 8 | 0; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm(HEAP32[$6 >> 2] | 0, HEAP32[$150 >> 2] & 2147483647); + HEAP32[$150 >> 2] = 0; + } + } else { + HEAP8[$10 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($6, $10); + HEAP8[$143 >> 0] = 0; + }; + HEAP32[$6 >> 2] = HEAP32[$11 >> 2]; + HEAP32[$6 + 4 >> 2] = HEAP32[$11 + 4 >> 2]; + HEAP32[$6 + 8 >> 2] = HEAP32[$11 + 8 >> 2]; + $$0$i$i$i91 = 0; + while (1) { + if (($$0$i$i$i91 | 0) == 3) break; + HEAP32[$11 + ($$0$i$i$i91 << 2) >> 2] = 0; + $$0$i$i$i91 = $$0$i$i$i91 + 1 | 0; + } + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($11); + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$$pre$phi102Z2D >> 2] | 0) + 24 >> 2] & 255]($11, $93); + $158 = $7 + 11 | 0; + if ((HEAP8[$158 >> 0] | 0) < 0) { + $161 = HEAP32[$7 >> 2] | 0; + HEAP8[$10 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($161, $10); + HEAP32[$7 + 4 >> 2] = 0; + if ((HEAP8[$158 >> 0] | 0) < 0) { + $165 = $7 + 8 | 0; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm(HEAP32[$7 >> 2] | 0, HEAP32[$165 >> 2] & 2147483647); + HEAP32[$165 >> 2] = 0; + } + } else { + HEAP8[$10 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($7, $10); + HEAP8[$158 >> 0] = 0; + }; + HEAP32[$7 >> 2] = HEAP32[$11 >> 2]; + HEAP32[$7 + 4 >> 2] = HEAP32[$11 + 4 >> 2]; + HEAP32[$7 + 8 >> 2] = HEAP32[$11 + 8 >> 2]; + $$0$i$i$i99 = 0; + while (1) { + if (($$0$i$i$i99 | 0) == 3) break; + HEAP32[$11 + ($$0$i$i$i99 << 2) >> 2] = 0; + $$0$i$i$i99 = $$0$i$i$i99 + 1 | 0; + } + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($11); + $storemerge = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$93 >> 2] | 0) + 36 >> 2] & 127]($93) | 0; + } + HEAP32[$9 >> 2] = $storemerge; + STACKTOP = sp; + return; +} + +function _consume_markers($0) { + $0 = $0 | 0; + var $$0 = 0, $$0160168$i = 0, $$0169$i = 0, $$1161166$i = 0, $$1167$i = 0, $$pre183$i = 0, $1 = 0, $10 = 0, $103 = 0, $105 = 0, $108 = 0, $11 = 0, $111 = 0, $113 = 0, $116 = 0, $119 = 0, $12 = 0, $121 = 0, $125 = 0, $129 = 0, $13 = 0, $131 = 0, $135 = 0, $137 = 0, $14 = 0, $141 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $16 = 0, $160 = 0, $163 = 0, $17 = 0, $174 = 0, $177 = 0, $18 = 0, $180 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $32 = 0, $38 = 0, $43 = 0, $45 = 0, $50 = 0, $52 = 0, $6 = 0, $60 = 0, $62 = 0, $63 = 0, $65 = 0, $67 = 0, $7 = 0, $71 = 0, $72 = 0, $74 = 0, $75 = 0, $8 = 0, $80 = 0, $88 = 0, $9 = 0, label = 0; + $1 = $0 + 460 | 0; + $2 = HEAP32[$1 >> 2] | 0; + $3 = $2 + 20 | 0; + if (HEAP32[$3 >> 2] | 0) { + $$0 = 2; + return $$0 | 0; + } + $6 = $0 + 464 | 0; + $7 = $2 + 24 | 0; + $8 = $0 + 340 | 0; + $9 = $2 + 16 | 0; + $10 = $0 + 32 | 0; + $11 = $0 + 212 | 0; + $12 = $0 + 28 | 0; + $13 = $0 + 36 | 0; + $14 = $0 + 316 | 0; + $15 = $0 + 320 | 0; + $16 = $0 + 216 | 0; + $17 = $0 + 220 | 0; + $18 = $0 + 224 | 0; + $19 = $0 + 324 | 0; + $20 = $0 + 328 | 0; + $21 = $0 + 428 | 0; + $22 = $0 + 432 | 0; + $23 = $0 + 436 | 0; + $24 = $0 + 416 | 0; + $25 = $0 + 332 | 0; + $26 = $0 + 412 | 0; + $27 = $0 + 420 | 0; + $28 = $0 + 424 | 0; + L4 : while (1) { + $32 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$6 >> 2] | 0) + 4 >> 2] & 127]($0) | 0; + switch ($32 | 0) { + case 2: + { + label = 58; + break L4; + break; + } + case 1: + break; + default: + { + $$0 = $32; + label = 63; + break L4; + } + } + L7 : do switch (HEAP32[$7 >> 2] | 0) { + case 0: + { + if (!(HEAP32[$9 >> 2] | 0)) { + $163 = HEAP32[$0 >> 2] | 0; + HEAP32[$163 + 20 >> 2] = 36; + FUNCTION_TABLE_vi[HEAP32[$163 >> 2] & 255]($0); + } + if (HEAP32[$8 >> 2] | 0) { + label = 57; + break L4; + } + break; + } + case 1: + { + if ((HEAP32[$10 >> 2] | 0) <= 65500 ? (HEAP32[$12 >> 2] | 0) <= 65500 : 0) {} else { + $38 = HEAP32[$0 >> 2] | 0; + HEAP32[$38 + 20 >> 2] = 42; + HEAP32[$38 + 24 >> 2] = 65500; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + $43 = HEAP32[$11 >> 2] | 0; + if (($43 + -8 | 0) >>> 0 > 4) { + $45 = HEAP32[$0 >> 2] | 0; + HEAP32[$45 + 20 >> 2] = 16; + HEAP32[$45 + 24 >> 2] = $43; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + $50 = HEAP32[$13 >> 2] | 0; + if (($50 | 0) > 10) { + $52 = HEAP32[$0 >> 2] | 0; + HEAP32[$52 + 20 >> 2] = 27; + HEAP32[$52 + 24 >> 2] = $50; + HEAP32[(HEAP32[$0 >> 2] | 0) + 28 >> 2] = 10; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + $60 = HEAP32[$13 >> 2] | 0; + } else $60 = $50; + HEAP32[$14 >> 2] = 1; + HEAP32[$15 >> 2] = 1; + if (($60 | 0) > 0) { + $$0160168$i = 0; + $$0169$i = HEAP32[$16 >> 2] | 0; + $183 = $60; + $184 = 1; + $185 = 1; + while (1) { + $62 = $$0169$i + 8 | 0; + $63 = HEAP32[$62 >> 2] | 0; + $$pre183$i = $$0169$i + 12 | 0; + if (($63 + -1 | 0) >>> 0 <= 3 ? ($65 = HEAP32[$$pre183$i >> 2] | 0, ($65 + -1 | 0) >>> 0 <= 3) : 0) { + $71 = $185; + $72 = $63; + $74 = $184; + $75 = $65; + $80 = $183; + } else { + $67 = HEAP32[$0 >> 2] | 0; + HEAP32[$67 + 20 >> 2] = 19; + FUNCTION_TABLE_vi[HEAP32[$67 >> 2] & 255]($0); + $71 = HEAP32[$14 >> 2] | 0; + $72 = HEAP32[$62 >> 2] | 0; + $74 = HEAP32[$15 >> 2] | 0; + $75 = HEAP32[$$pre183$i >> 2] | 0; + $80 = HEAP32[$13 >> 2] | 0; + } + $185 = ($71 | 0) > ($72 | 0) ? $71 : $72; + HEAP32[$14 >> 2] = $185; + $184 = ($74 | 0) > ($75 | 0) ? $74 : $75; + HEAP32[$15 >> 2] = $184; + $$0160168$i = $$0160168$i + 1 | 0; + if (($$0160168$i | 0) >= ($80 | 0)) { + $182 = $80; + break; + } else { + $$0169$i = $$0169$i + 88 | 0; + $183 = $80; + } + } + } else $182 = $60; + L35 : do if (!(HEAP32[$17 >> 2] | 0)) { + if (HEAP32[$18 >> 2] | 0 ? HEAP32[$8 >> 2] | 0 : 0) { + label = 22; + break; + } + do switch (HEAP32[$24 >> 2] | 0) { + case 0: + { + HEAP32[$21 >> 2] = 1; + HEAP32[$22 >> 2] = 2576; + HEAP32[$23 >> 2] = 0; + $103 = 1; + $105 = $182; + break L35; + break; + } + case 3: + { + HEAP32[$21 >> 2] = 2; + HEAP32[$22 >> 2] = 3792; + HEAP32[$23 >> 2] = 3; + $103 = 2; + $105 = $182; + break L35; + break; + } + case 8: + { + HEAP32[$21 >> 2] = 3; + HEAP32[$22 >> 2] = 3680; + HEAP32[$23 >> 2] = 8; + $103 = 3; + $105 = $182; + break L35; + break; + } + case 15: + { + HEAP32[$21 >> 2] = 4; + HEAP32[$22 >> 2] = 3552; + HEAP32[$23 >> 2] = 15; + $103 = 4; + $105 = $182; + break L35; + break; + } + case 24: + { + HEAP32[$21 >> 2] = 5; + HEAP32[$22 >> 2] = 3376; + HEAP32[$23 >> 2] = 24; + $103 = 5; + $105 = $182; + break L35; + break; + } + case 35: + { + HEAP32[$21 >> 2] = 6; + HEAP32[$22 >> 2] = 3168; + HEAP32[$23 >> 2] = 35; + $103 = 6; + $105 = $182; + break L35; + break; + } + case 48: + { + HEAP32[$21 >> 2] = 7; + HEAP32[$22 >> 2] = 2896; + HEAP32[$23 >> 2] = 48; + $103 = 7; + $105 = $182; + break L35; + break; + } + case 63: + { + HEAP32[$21 >> 2] = 8; + HEAP32[$22 >> 2] = 2576; + HEAP32[$23 >> 2] = 63; + $103 = 8; + $105 = $182; + break L35; + break; + } + case 80: + { + HEAP32[$21 >> 2] = 9; + HEAP32[$22 >> 2] = 2576; + HEAP32[$23 >> 2] = 63; + $103 = 9; + $105 = $182; + break L35; + break; + } + case 99: + { + HEAP32[$21 >> 2] = 10; + HEAP32[$22 >> 2] = 2576; + HEAP32[$23 >> 2] = 63; + $103 = 10; + $105 = $182; + break L35; + break; + } + case 120: + { + HEAP32[$21 >> 2] = 11; + HEAP32[$22 >> 2] = 2576; + HEAP32[$23 >> 2] = 63; + $103 = 11; + $105 = $182; + break L35; + break; + } + case 143: + { + HEAP32[$21 >> 2] = 12; + HEAP32[$22 >> 2] = 2576; + HEAP32[$23 >> 2] = 63; + $103 = 12; + $105 = $182; + break L35; + break; + } + case 168: + { + HEAP32[$21 >> 2] = 13; + HEAP32[$22 >> 2] = 2576; + HEAP32[$23 >> 2] = 63; + $103 = 13; + $105 = $182; + break L35; + break; + } + case 195: + { + HEAP32[$21 >> 2] = 14; + HEAP32[$22 >> 2] = 2576; + HEAP32[$23 >> 2] = 63; + $103 = 14; + $105 = $182; + break L35; + break; + } + case 224: + { + HEAP32[$21 >> 2] = 15; + HEAP32[$22 >> 2] = 2576; + HEAP32[$23 >> 2] = 63; + $103 = 15; + $105 = $182; + break L35; + break; + } + case 255: + { + HEAP32[$21 >> 2] = 16; + HEAP32[$22 >> 2] = 2576; + HEAP32[$23 >> 2] = 63; + $103 = 16; + $105 = $182; + break L35; + break; + } + default: + { + $88 = HEAP32[$0 >> 2] | 0; + HEAP32[$88 + 20 >> 2] = 17; + HEAP32[$88 + 24 >> 2] = HEAP32[$26 >> 2]; + HEAP32[(HEAP32[$0 >> 2] | 0) + 28 >> 2] = HEAP32[$24 >> 2]; + HEAP32[(HEAP32[$0 >> 2] | 0) + 32 >> 2] = HEAP32[$27 >> 2]; + HEAP32[(HEAP32[$0 >> 2] | 0) + 36 >> 2] = HEAP32[$28 >> 2]; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + $103 = HEAP32[$21 >> 2] | 0; + $105 = HEAP32[$13 >> 2] | 0; + break L35; + } + } while (0); + } else label = 22; while (0); + if ((label | 0) == 22) { + label = 0; + HEAP32[$21 >> 2] = 8; + HEAP32[$22 >> 2] = 2576; + HEAP32[$23 >> 2] = 63; + $103 = 8; + $105 = $182; + } + HEAP32[$19 >> 2] = $103; + HEAP32[$20 >> 2] = $103; + if (($105 | 0) > 0) { + $$1161166$i = 0; + $$1167$i = HEAP32[$16 >> 2] | 0; + $108 = $103; + while (1) { + HEAP32[$$1167$i + 36 >> 2] = $108; + HEAP32[$$1167$i + 40 >> 2] = $108; + $111 = $$1167$i + 8 | 0; + $113 = Math_imul(HEAP32[$111 >> 2] | 0, HEAP32[$12 >> 2] | 0) | 0; + $116 = _jdiv_round_up($113, Math_imul(HEAP32[$14 >> 2] | 0, $108) | 0) | 0; + HEAP32[$$1167$i + 28 >> 2] = $116; + $119 = $$1167$i + 12 | 0; + $121 = Math_imul(HEAP32[$119 >> 2] | 0, HEAP32[$10 >> 2] | 0) | 0; + $125 = _jdiv_round_up($121, Math_imul(HEAP32[$21 >> 2] | 0, HEAP32[$15 >> 2] | 0) | 0) | 0; + HEAP32[$$1167$i + 32 >> 2] = $125; + $129 = Math_imul(HEAP32[$111 >> 2] | 0, HEAP32[$12 >> 2] | 0) | 0; + $131 = _jdiv_round_up($129, HEAP32[$14 >> 2] | 0) | 0; + HEAP32[$$1167$i + 44 >> 2] = $131; + $135 = Math_imul(HEAP32[$119 >> 2] | 0, HEAP32[$10 >> 2] | 0) | 0; + $137 = _jdiv_round_up($135, HEAP32[$15 >> 2] | 0) | 0; + HEAP32[$$1167$i + 48 >> 2] = $137; + HEAP32[$$1167$i + 52 >> 2] = 1; + HEAP32[$$1167$i + 80 >> 2] = 0; + $141 = $$1161166$i + 1 | 0; + if (($141 | 0) >= (HEAP32[$13 >> 2] | 0)) break; + $$1161166$i = $141; + $$1167$i = $$1167$i + 88 | 0; + $108 = HEAP32[$21 >> 2] | 0; + } + $148 = HEAP32[$21 >> 2] | 0; + } else $148 = $103; + $149 = _jdiv_round_up(HEAP32[$10 >> 2] | 0, Math_imul($148, HEAP32[$15 >> 2] | 0) | 0) | 0; + HEAP32[$25 >> 2] = $149; + $150 = HEAP32[$8 >> 2] | 0; + if (($150 | 0) >= (HEAP32[$13 >> 2] | 0) ? (HEAP32[$18 >> 2] | 0) == 0 : 0) { + HEAP32[(HEAP32[$1 >> 2] | 0) + 16 >> 2] = 0; + $160 = $150; + label = 50; + break L7; + } + HEAP32[(HEAP32[$1 >> 2] | 0) + 16 >> 2] = 1; + $160 = $150; + label = 50; + break; + } + default: + { + $160 = HEAP32[$8 >> 2] | 0; + label = 50; + } + } while (0); + if ((label | 0) == 50) { + label = 0; + if ($160 | 0) { + label = 52; + break; + } + HEAP32[$7 >> 2] = 2; + } + } + if ((label | 0) == 52) { + HEAP32[$7 >> 2] = 0; + $$0 = 1; + return $$0 | 0; + } else if ((label | 0) == 57) { + _start_input_pass_79($0); + $$0 = 1; + return $$0 | 0; + } else if ((label | 0) == 58) { + HEAP32[$3 >> 2] = 1; + if (!(HEAP32[$7 >> 2] | 0)) { + $177 = $0 + 152 | 0; + $180 = HEAP32[$0 + 144 >> 2] | 0; + if ((HEAP32[$177 >> 2] | 0) <= ($180 | 0)) { + $$0 = 2; + return $$0 | 0; + } + HEAP32[$177 >> 2] = $180; + $$0 = 2; + return $$0 | 0; + } else { + if (!(HEAP32[(HEAP32[$6 >> 2] | 0) + 16 >> 2] | 0)) { + $$0 = 2; + return $$0 | 0; + } + $174 = HEAP32[$0 >> 2] | 0; + HEAP32[$174 + 20 >> 2] = 62; + FUNCTION_TABLE_vi[HEAP32[$174 >> 2] & 255]($0); + $$0 = 2; + return $$0 | 0; + } + } else if ((label | 0) == 63) return $$0 | 0; + return 0; +} + +function __ZNSt3__211__money_putIwE13__gather_infoEbbRKNS_6localeERNS_10money_base7patternERwS8_RNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERNS9_IwNSA_IwEENSC_IwEEEESJ_Ri($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + $9 = $9 | 0; + var $$0$i$i$i = 0, $$0$i$i$i51 = 0, $$0$i$i$i55 = 0, $$0$i$i$i62 = 0, $$0$i$i$i70 = 0, $$0$i$i$i78 = 0, $$0$i$i$i86 = 0, $$0$i$i$i94 = 0, $10 = 0, $101 = 0, $102 = 0, $105 = 0, $11 = 0, $116 = 0, $12 = 0, $120 = 0, $121 = 0, $124 = 0, $135 = 0, $139 = 0, $143 = 0, $146 = 0, $150 = 0, $158 = 0, $159 = 0, $16 = 0, $162 = 0, $20 = 0, $21 = 0, $24 = 0, $35 = 0, $39 = 0, $40 = 0, $43 = 0, $54 = 0, $58 = 0, $62 = 0, $65 = 0, $69 = 0, $77 = 0, $78 = 0, $81 = 0, $93 = 0, $97 = 0, $storemerge = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $10 = sp + 12 | 0; + $11 = sp; + if ($0) { + $12 = __ZNKSt3__26locale9use_facetERNS0_2idE($2, 66760) | 0; + if ($1) { + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$12 >> 2] | 0) + 44 >> 2] & 255]($10, $12); + $16 = HEAP32[$10 >> 2] | 0; + HEAP8[$3 >> 0] = $16; + HEAP8[$3 + 1 >> 0] = $16 >> 8; + HEAP8[$3 + 2 >> 0] = $16 >> 16; + HEAP8[$3 + 3 >> 0] = $16 >> 24; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$12 >> 2] | 0) + 32 >> 2] & 255]($11, $12); + $20 = $8 + 8 | 0; + $21 = $20 + 3 | 0; + if ((HEAP8[$21 >> 0] | 0) < 0) { + $24 = HEAP32[$8 >> 2] | 0; + HEAP32[$10 >> 2] = 0; + __ZNSt3__211char_traitsIwE6assignERwRKw($24, $10); + HEAP32[$8 + 4 >> 2] = 0; + if ((HEAP8[$21 >> 0] | 0) < 0) { + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm(HEAP32[$8 >> 2] | 0, HEAP32[$20 >> 2] << 2); + HEAP32[$20 >> 2] = 0; + } + } else { + HEAP32[$10 >> 2] = 0; + __ZNSt3__211char_traitsIwE6assignERwRKw($8, $10); + HEAP8[$21 >> 0] = 0; + }; + HEAP32[$8 >> 2] = HEAP32[$11 >> 2]; + HEAP32[$8 + 4 >> 2] = HEAP32[$11 + 4 >> 2]; + HEAP32[$8 + 8 >> 2] = HEAP32[$11 + 8 >> 2]; + $$0$i$i$i = 0; + while (1) { + if (($$0$i$i$i | 0) == 3) break; + HEAP32[$11 + ($$0$i$i$i << 2) >> 2] = 0; + $$0$i$i$i = $$0$i$i$i + 1 | 0; + } + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev($11); + } else { + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$12 >> 2] | 0) + 40 >> 2] & 255]($10, $12); + $35 = HEAP32[$10 >> 2] | 0; + HEAP8[$3 >> 0] = $35; + HEAP8[$3 + 1 >> 0] = $35 >> 8; + HEAP8[$3 + 2 >> 0] = $35 >> 16; + HEAP8[$3 + 3 >> 0] = $35 >> 24; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$12 >> 2] | 0) + 28 >> 2] & 255]($11, $12); + $39 = $8 + 8 | 0; + $40 = $39 + 3 | 0; + if ((HEAP8[$40 >> 0] | 0) < 0) { + $43 = HEAP32[$8 >> 2] | 0; + HEAP32[$10 >> 2] = 0; + __ZNSt3__211char_traitsIwE6assignERwRKw($43, $10); + HEAP32[$8 + 4 >> 2] = 0; + if ((HEAP8[$40 >> 0] | 0) < 0) { + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm(HEAP32[$8 >> 2] | 0, HEAP32[$39 >> 2] << 2); + HEAP32[$39 >> 2] = 0; + } + } else { + HEAP32[$10 >> 2] = 0; + __ZNSt3__211char_traitsIwE6assignERwRKw($8, $10); + HEAP8[$40 >> 0] = 0; + }; + HEAP32[$8 >> 2] = HEAP32[$11 >> 2]; + HEAP32[$8 + 4 >> 2] = HEAP32[$11 + 4 >> 2]; + HEAP32[$8 + 8 >> 2] = HEAP32[$11 + 8 >> 2]; + $$0$i$i$i51 = 0; + while (1) { + if (($$0$i$i$i51 | 0) == 3) break; + HEAP32[$11 + ($$0$i$i$i51 << 2) >> 2] = 0; + $$0$i$i$i51 = $$0$i$i$i51 + 1 | 0; + } + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev($11); + } + $54 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$12 >> 2] | 0) + 12 >> 2] & 127]($12) | 0; + HEAP32[$4 >> 2] = $54; + $58 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$12 >> 2] | 0) + 16 >> 2] & 127]($12) | 0; + HEAP32[$5 >> 2] = $58; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$12 >> 2] | 0) + 20 >> 2] & 255]($11, $12); + $62 = $6 + 11 | 0; + if ((HEAP8[$62 >> 0] | 0) < 0) { + $65 = HEAP32[$6 >> 2] | 0; + HEAP8[$10 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($65, $10); + HEAP32[$6 + 4 >> 2] = 0; + if ((HEAP8[$62 >> 0] | 0) < 0) { + $69 = $6 + 8 | 0; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm(HEAP32[$6 >> 2] | 0, HEAP32[$69 >> 2] & 2147483647); + HEAP32[$69 >> 2] = 0; + } + } else { + HEAP8[$10 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($6, $10); + HEAP8[$62 >> 0] = 0; + }; + HEAP32[$6 >> 2] = HEAP32[$11 >> 2]; + HEAP32[$6 + 4 >> 2] = HEAP32[$11 + 4 >> 2]; + HEAP32[$6 + 8 >> 2] = HEAP32[$11 + 8 >> 2]; + $$0$i$i$i55 = 0; + while (1) { + if (($$0$i$i$i55 | 0) == 3) break; + HEAP32[$11 + ($$0$i$i$i55 << 2) >> 2] = 0; + $$0$i$i$i55 = $$0$i$i$i55 + 1 | 0; + } + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($11); + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$12 >> 2] | 0) + 24 >> 2] & 255]($11, $12); + $77 = $7 + 8 | 0; + $78 = $77 + 3 | 0; + if ((HEAP8[$78 >> 0] | 0) < 0) { + $81 = HEAP32[$7 >> 2] | 0; + HEAP32[$10 >> 2] = 0; + __ZNSt3__211char_traitsIwE6assignERwRKw($81, $10); + HEAP32[$7 + 4 >> 2] = 0; + if ((HEAP8[$78 >> 0] | 0) < 0) { + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm(HEAP32[$7 >> 2] | 0, HEAP32[$77 >> 2] << 2); + HEAP32[$77 >> 2] = 0; + } + } else { + HEAP32[$10 >> 2] = 0; + __ZNSt3__211char_traitsIwE6assignERwRKw($7, $10); + HEAP8[$78 >> 0] = 0; + }; + HEAP32[$7 >> 2] = HEAP32[$11 >> 2]; + HEAP32[$7 + 4 >> 2] = HEAP32[$11 + 4 >> 2]; + HEAP32[$7 + 8 >> 2] = HEAP32[$11 + 8 >> 2]; + $$0$i$i$i62 = 0; + while (1) { + if (($$0$i$i$i62 | 0) == 3) break; + HEAP32[$11 + ($$0$i$i$i62 << 2) >> 2] = 0; + $$0$i$i$i62 = $$0$i$i$i62 + 1 | 0; + } + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev($11); + $storemerge = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$12 >> 2] | 0) + 36 >> 2] & 127]($12) | 0; + } else { + $93 = __ZNKSt3__26locale9use_facetERNS0_2idE($2, 66752) | 0; + if ($1) { + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$93 >> 2] | 0) + 44 >> 2] & 255]($10, $93); + $97 = HEAP32[$10 >> 2] | 0; + HEAP8[$3 >> 0] = $97; + HEAP8[$3 + 1 >> 0] = $97 >> 8; + HEAP8[$3 + 2 >> 0] = $97 >> 16; + HEAP8[$3 + 3 >> 0] = $97 >> 24; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$93 >> 2] | 0) + 32 >> 2] & 255]($11, $93); + $101 = $8 + 8 | 0; + $102 = $101 + 3 | 0; + if ((HEAP8[$102 >> 0] | 0) < 0) { + $105 = HEAP32[$8 >> 2] | 0; + HEAP32[$10 >> 2] = 0; + __ZNSt3__211char_traitsIwE6assignERwRKw($105, $10); + HEAP32[$8 + 4 >> 2] = 0; + if ((HEAP8[$102 >> 0] | 0) < 0) { + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm(HEAP32[$8 >> 2] | 0, HEAP32[$101 >> 2] << 2); + HEAP32[$101 >> 2] = 0; + } + } else { + HEAP32[$10 >> 2] = 0; + __ZNSt3__211char_traitsIwE6assignERwRKw($8, $10); + HEAP8[$102 >> 0] = 0; + }; + HEAP32[$8 >> 2] = HEAP32[$11 >> 2]; + HEAP32[$8 + 4 >> 2] = HEAP32[$11 + 4 >> 2]; + HEAP32[$8 + 8 >> 2] = HEAP32[$11 + 8 >> 2]; + $$0$i$i$i70 = 0; + while (1) { + if (($$0$i$i$i70 | 0) == 3) break; + HEAP32[$11 + ($$0$i$i$i70 << 2) >> 2] = 0; + $$0$i$i$i70 = $$0$i$i$i70 + 1 | 0; + } + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev($11); + } else { + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$93 >> 2] | 0) + 40 >> 2] & 255]($10, $93); + $116 = HEAP32[$10 >> 2] | 0; + HEAP8[$3 >> 0] = $116; + HEAP8[$3 + 1 >> 0] = $116 >> 8; + HEAP8[$3 + 2 >> 0] = $116 >> 16; + HEAP8[$3 + 3 >> 0] = $116 >> 24; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$93 >> 2] | 0) + 28 >> 2] & 255]($11, $93); + $120 = $8 + 8 | 0; + $121 = $120 + 3 | 0; + if ((HEAP8[$121 >> 0] | 0) < 0) { + $124 = HEAP32[$8 >> 2] | 0; + HEAP32[$10 >> 2] = 0; + __ZNSt3__211char_traitsIwE6assignERwRKw($124, $10); + HEAP32[$8 + 4 >> 2] = 0; + if ((HEAP8[$121 >> 0] | 0) < 0) { + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm(HEAP32[$8 >> 2] | 0, HEAP32[$120 >> 2] << 2); + HEAP32[$120 >> 2] = 0; + } + } else { + HEAP32[$10 >> 2] = 0; + __ZNSt3__211char_traitsIwE6assignERwRKw($8, $10); + HEAP8[$121 >> 0] = 0; + }; + HEAP32[$8 >> 2] = HEAP32[$11 >> 2]; + HEAP32[$8 + 4 >> 2] = HEAP32[$11 + 4 >> 2]; + HEAP32[$8 + 8 >> 2] = HEAP32[$11 + 8 >> 2]; + $$0$i$i$i78 = 0; + while (1) { + if (($$0$i$i$i78 | 0) == 3) break; + HEAP32[$11 + ($$0$i$i$i78 << 2) >> 2] = 0; + $$0$i$i$i78 = $$0$i$i$i78 + 1 | 0; + } + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev($11); + } + $135 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$93 >> 2] | 0) + 12 >> 2] & 127]($93) | 0; + HEAP32[$4 >> 2] = $135; + $139 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$93 >> 2] | 0) + 16 >> 2] & 127]($93) | 0; + HEAP32[$5 >> 2] = $139; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$93 >> 2] | 0) + 20 >> 2] & 255]($11, $93); + $143 = $6 + 11 | 0; + if ((HEAP8[$143 >> 0] | 0) < 0) { + $146 = HEAP32[$6 >> 2] | 0; + HEAP8[$10 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($146, $10); + HEAP32[$6 + 4 >> 2] = 0; + if ((HEAP8[$143 >> 0] | 0) < 0) { + $150 = $6 + 8 | 0; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm(HEAP32[$6 >> 2] | 0, HEAP32[$150 >> 2] & 2147483647); + HEAP32[$150 >> 2] = 0; + } + } else { + HEAP8[$10 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($6, $10); + HEAP8[$143 >> 0] = 0; + }; + HEAP32[$6 >> 2] = HEAP32[$11 >> 2]; + HEAP32[$6 + 4 >> 2] = HEAP32[$11 + 4 >> 2]; + HEAP32[$6 + 8 >> 2] = HEAP32[$11 + 8 >> 2]; + $$0$i$i$i86 = 0; + while (1) { + if (($$0$i$i$i86 | 0) == 3) break; + HEAP32[$11 + ($$0$i$i$i86 << 2) >> 2] = 0; + $$0$i$i$i86 = $$0$i$i$i86 + 1 | 0; + } + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($11); + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$93 >> 2] | 0) + 24 >> 2] & 255]($11, $93); + $158 = $7 + 8 | 0; + $159 = $158 + 3 | 0; + if ((HEAP8[$159 >> 0] | 0) < 0) { + $162 = HEAP32[$7 >> 2] | 0; + HEAP32[$10 >> 2] = 0; + __ZNSt3__211char_traitsIwE6assignERwRKw($162, $10); + HEAP32[$7 + 4 >> 2] = 0; + if ((HEAP8[$159 >> 0] | 0) < 0) { + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm(HEAP32[$7 >> 2] | 0, HEAP32[$158 >> 2] << 2); + HEAP32[$158 >> 2] = 0; + } + } else { + HEAP32[$10 >> 2] = 0; + __ZNSt3__211char_traitsIwE6assignERwRKw($7, $10); + HEAP8[$159 >> 0] = 0; + }; + HEAP32[$7 >> 2] = HEAP32[$11 >> 2]; + HEAP32[$7 + 4 >> 2] = HEAP32[$11 + 4 >> 2]; + HEAP32[$7 + 8 >> 2] = HEAP32[$11 + 8 >> 2]; + $$0$i$i$i94 = 0; + while (1) { + if (($$0$i$i$i94 | 0) == 3) break; + HEAP32[$11 + ($$0$i$i$i94 << 2) >> 2] = 0; + $$0$i$i$i94 = $$0$i$i$i94 + 1 | 0; + } + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev($11); + $storemerge = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$93 >> 2] | 0) + 36 >> 2] & 127]($93) | 0; + } + HEAP32[$9 >> 2] = $storemerge; + STACKTOP = sp; + return; +} + +function _ar2GetBestMatching($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + $9 = $9 | 0; + $10 = $10 | 0; + $11 = $11 | 0; + var $$0 = 0, $$0282 = 0, $$0284 = 0, $$0286 = 0, $$0288 = 0, $$0289 = 0, $$0293 = 0, $$0295 = 0, $$0299 = 0, $$0305 = 0, $$0306 = 0, $$0315 = 0, $$0317 = 0, $$0318 = 0, $$1 = 0, $$10 = 0, $$11 = 0, $$12 = 0, $$1285 = 0, $$1287 = 0, $$1290 = 0, $$1294 = 0, $$1296 = 0, $$13 = 0, $$1300 = 0, $$1307 = 0, $$1316 = 0, $$1319 = 0, $$14 = 0, $$2 = 0, $$2291 = 0, $$2297 = 0, $$2301 = 0, $$2308 = 0, $$2320 = 0, $$3 = 0, $$3292 = 0, $$3298 = 0, $$3302 = 0, $$3309 = 0, $$3321 = 0, $$4 = 0, $$4303 = 0, $$4310 = 0, $$4322 = 0, $$5 = 0, $$5304 = 0, $$5323 = 0, $$6 = 0, $$6312 = 0, $$7 = 0, $$7313 = 0, $$8 = 0, $$8314 = 0, $$9 = 0, $101 = 0, $102 = 0, $104 = 0, $106 = 0, $110 = 0, $111 = 0, $114 = 0, $115 = 0, $119 = 0, $12 = 0, $126 = 0, $127 = 0, $13 = 0, $131 = 0, $139 = 0, $14 = 0, $141 = 0, $142 = 0, $15 = 0, $151 = 0, $153 = 0, $16 = 0, $162 = 0, $169 = 0, $17 = 0, $171 = 0, $177 = 0, $18 = 0, $19 = 0, $192 = 0, $193 = 0, $195 = 0, $197 = 0, $198 = 0, $199 = 0, $20 = 0, $201 = 0, $21 = 0, $214 = 0, $215 = 0, $216 = 0, $219 = 0, $22 = 0, $23 = 0, $24 = 0, $27 = 0, $30 = 0, $35 = 0, $36 = 0, $38 = 0, $40 = 0, $42 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $59 = 0, $63 = 0, $68 = 0, $70 = 0, $71 = 0, $72 = 0, $77 = 0, $87 = 0, $96 = 0, $scevgep = 0, $spec$select = 0, $spec$store$select = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(80); + $vararg_buffer1 = sp + 8 | 0; + $vararg_buffer = sp; + $12 = sp + 72 | 0; + $13 = sp + 60 | 0; + $14 = sp + 48 | 0; + $15 = sp + 36 | 0; + $16 = sp + 32 | 0; + $17 = sp + 24 | 0; + $18 = sp + 16 | 0; + $19 = $5 + 16 | 0; + $20 = HEAP32[$19 >> 2] | 0; + $21 = $5 + 20 | 0; + $22 = HEAP32[$21 >> 2] | 0; + $23 = $2 + -1 | 0; + $24 = $3 + -1 | 0; + $$0315 = 0; + while (1) { + if ($$0315 >>> 0 >= 3) break; + $27 = HEAP32[$8 + ($$0315 << 3) >> 2] | 0; + if (($27 | 0) < 0) break; + $30 = $27 & -4 | 2; + $35 = ((HEAP32[$8 + ($$0315 << 3) + 4 >> 2] | 0) / 4 | 0) << 2 | 2; + $36 = $30 - $6 | 0; + $spec$store$select = ($36 | 0) > 0 ? $36 : 0; + $38 = $30 + $6 | 0; + $spec$select = ($38 | 0) < ($2 | 0) ? $38 : $23; + $40 = $35 - $7 | 0; + $42 = $35 + $7 | 0; + $$0288 = ($42 | 0) < ($3 | 0) ? $42 : $24; + $$0318 = ($40 | 0) > 0 ? $40 : 0; + while (1) { + if (($$0318 | 0) > ($$0288 | 0)) break; + $$0299 = $spec$store$select; + $$0305 = $1 + ((Math_imul($$0318, $2) | 0) + $spec$store$select) | 0; + while (1) { + if (($$0299 | 0) > ($spec$select | 0)) break; + HEAP8[$$0305 >> 0] = 0; + $$0299 = $$0299 + 1 | 0; + $$0305 = $$0305 + 1 | 0; + } + $$0318 = $$0318 + 1 | 0; + } + $$0315 = $$0315 + 1 | 0; + } + HEAP32[$12 >> 2] = 0; + $53 = $22 << 1; + $54 = $20 << 1; + $55 = $5 + 12 | 0; + $56 = $5 + 8 | 0; + $$0306 = 1; + $$1316 = 0; + while (1) { + if ($$1316 >>> 0 >= 3) { + label = 28; + break; + } + $59 = HEAP32[$8 + ($$1316 << 3) >> 2] | 0; + if (($59 | 0) < 0) { + label = 14; + break; + } + $63 = $59 & -4 | 2; + $68 = ((HEAP32[$8 + ($$1316 << 3) + 4 >> 2] | 0) / 4 | 0) << 2 | 2; + $70 = $68 + $7 | 0; + $71 = $63 - $6 | 0; + $72 = $63 + $6 | 0; + $$1307 = $$0306; + $$1319 = $68 - $7 | 0; + L18 : while (1) { + if (($$1319 | 0) > ($70 | 0)) break; + L21 : do if (($$1319 | 0) < ($54 | 0)) $$4310 = $$1307; else { + if (($$1319 + $53 | 0) >= ($3 | 0)) break L18; + $77 = Math_imul($$1319, $2) | 0; + $$1300 = $71; + $$2308 = $$1307; + while (1) { + if (($$1300 | 0) > ($72 | 0)) { + $$4310 = $$2308; + break L21; + } + if (($$1300 | 0) >= (HEAP32[$56 >> 2] << 1 | 0)) { + if (((HEAP32[$55 >> 2] << 1) + $$1300 | 0) >= ($2 | 0)) { + $$4310 = $$2308; + break L21; + } + $87 = $1 + ($$1300 + $77) | 0; + if (!(HEAP8[$87 >> 0] | 0)) { + HEAP8[$87 >> 0] = 1; + _ar2GetBestMatchingSubFine($0, $2, $4, $5, $$1300, $$1319, $16); + _updateCandidate($$1300, $$1319, HEAP32[$16 >> 2] | 0, $12, $13, $14, $15); + $$3309 = 0; + } else $$3309 = $$2308; + } else $$3309 = $$2308; + $$1300 = $$1300 + 4 | 0; + $$2308 = $$3309; + } + } while (0); + $$1307 = $$4310; + $$1319 = $$1319 + 4 | 0; + } + $$0306 = $$1307; + $$1316 = $$1316 + 1 | 0; + } + if ((label | 0) == 14) if (!$$0306) label = 28; else $$0 = -1; + if ((label | 0) == 28) { + $96 = $5 + 4 | 0; + $101 = Math_imul((HEAP32[$5 >> 2] << 3) + 32 | 0, (HEAP32[$96 >> 2] << 1) + 8 | 0) | 0; + $102 = _malloc($101) | 0; + if (!$102) { + _arLog(0, 3, 45930, $vararg_buffer); + _exit(1); + } + $104 = _malloc($101) | 0; + if (!$104) { + _arLog(0, 3, 45930, $vararg_buffer1); + _exit(1); + } + $106 = $5 + 36 | 0; + $$0289 = 0; + $$0317 = 0; + $$6312 = -1; + while (1) { + if (($$0317 | 0) >= (HEAP32[$12 >> 2] | 0)) break; + $110 = HEAP32[$5 >> 2] | 0; + $111 = HEAP32[$96 >> 2] | 0; + L47 : do if ((HEAP32[$106 >> 2] | 0) == (Math_imul($111, $110) | 0)) { + switch ($4 | 0) { + case 5: + case 12: + case 13: + case 14: + break; + default: + { + label = 40; + break L47; + } + } + $114 = $14 + ($$0317 << 2) | 0; + $115 = HEAP32[$114 >> 2] | 0; + $119 = $115 + -3 - (HEAP32[$19 >> 2] << 1) | 0; + if (((($119 | 0) >= 0 ? ($115 + 3 + (HEAP32[$21 >> 2] << 1) | 0) < ($3 | 0) : 0) ? ($126 = $13 + ($$0317 << 2) | 0, $127 = HEAP32[$126 >> 2] | 0, $131 = $127 + -3 - (HEAP32[$56 >> 2] << 1) | 0, ($131 | 0) >= 0) : 0) ? ($127 + 3 + (HEAP32[$55 >> 2] << 1) | 0) < ($2 | 0) : 0) { + $169 = ($111 << 1) + 6 | 0; + $171 = ($110 << 2) + 16 | 0; + $$0286 = $104; + $$0295 = $102; + $$3321 = 0; + while (1) { + if (($$3321 | 0) >= ($171 | 0)) break; + HEAP32[$$0295 >> 2] = 0; + HEAP32[$$0286 >> 2] = 0; + $$0286 = $$0286 + 4 | 0; + $$0295 = $$0295 + 4 | 0; + $$3321 = $$3321 + 1 | 0; + } + $177 = ($110 << 1) + 6 | 0; + $$0282 = $0 + ($131 + (Math_imul($119, $2) | 0)) | 0; + $$0284 = $104; + $$0293 = $102; + $$1287 = $$0286; + $$1296 = $$0295; + $$4322 = 0; + while (1) { + if (($$4322 | 0) >= ($169 | 0)) break; + $scevgep = $$1296 + 8 | 0; + $$2 = $$1287; + $$2297 = $$1296; + $$3302 = 0; + while (1) { + if (($$3302 | 0) == 2) break; + HEAP32[$$2297 >> 2] = 0; + HEAP32[$$2 >> 2] = 0; + HEAP32[$17 + ($$3302 << 2) >> 2] = 0; + HEAP32[$18 + ($$3302 << 2) >> 2] = 0; + $$2 = $$2 + 4 | 0; + $$2297 = $$2297 + 4 | 0; + $$3302 = $$3302 + 1 | 0; + } + $$1 = $$0282; + $$1285 = $$0284 + 8 | 0; + $$1294 = $$0293 + 8 | 0; + $$3 = $$1287 + 8 | 0; + $$3298 = $scevgep; + $$4303 = 0; + while (1) { + if (($$4303 | 0) >= ($177 | 0)) break; + $192 = $$4303 & 1; + $193 = $17 + ($192 << 2) | 0; + $195 = (HEAP32[$193 >> 2] | 0) + (HEAPU8[$$1 >> 0] | 0) | 0; + HEAP32[$193 >> 2] = $195; + $197 = HEAPU8[$$1 >> 0] | 0; + $198 = Math_imul($197, $197) | 0; + $199 = $18 + ($192 << 2) | 0; + $201 = $198 + (HEAP32[$199 >> 2] | 0) | 0; + HEAP32[$199 >> 2] = $201; + HEAP32[$$3298 >> 2] = (HEAP32[$$1294 >> 2] | 0) + $195; + HEAP32[$$3 >> 2] = (HEAP32[$$1285 >> 2] | 0) + $201; + $$1 = $$1 + 1 | 0; + $$1285 = $$1285 + 4 | 0; + $$1294 = $$1294 + 4 | 0; + $$3 = $$3 + 4 | 0; + $$3298 = $$3298 + 4 | 0; + $$4303 = $$4303 + 1 | 0; + } + $$0282 = $$0282 + $2 | 0; + $$0284 = $$1285; + $$0293 = $$1294; + $$1287 = $$3; + $$1296 = $$3298; + $$4322 = $$4322 + 1 | 0; + } + $$11 = $$6312; + $$5 = $$0289; + $$5323 = 0; + while (1) { + if (($$5323 | 0) == 7) { + $$14 = $$11; + $$8 = $$5; + break L47; + } + $214 = $$5323 + $119 | 0; + $215 = $$5323 + 2 | 0; + $216 = $$5323 + -3 | 0; + $$12 = $$11; + $$5304 = 0; + $$6 = $$5; + while (1) { + if (($$5304 | 0) == 7) break; + _ar2GetBestMatchingSubFineOpt($0, $2, $$5304 + $131 | 0, $214, $5, $102, $104, $$5304 + 2 | 0, $215, $16); + $219 = HEAP32[$16 >> 2] | 0; + if (($219 | 0) > ($$6 | 0)) { + HEAP32[$9 >> 2] = $$5304 + -3 + (HEAP32[$126 >> 2] | 0); + HEAP32[$10 >> 2] = $216 + (HEAP32[$114 >> 2] | 0); + HEAPF32[$11 >> 2] = +($219 | 0) / 1.0e4; + $$13 = 0; + $$7 = $219; + } else { + $$13 = $$12; + $$7 = $$6; + } + $$12 = $$13; + $$5304 = $$5304 + 1 | 0; + $$6 = $$7; + } + $$11 = $$12; + $$5 = $$6; + $$5323 = $$5323 + 1 | 0; + } + } else label = 40; + } else label = 40; while (0); + L80 : do if ((label | 0) == 40) { + label = 0; + $139 = HEAP32[$14 + ($$0317 << 2) >> 2] | 0; + $141 = $139 + 3 | 0; + $142 = $13 + ($$0317 << 2) | 0; + $$1290 = $$0289; + $$2320 = $139 + -3 | 0; + $$7313 = $$6312; + while (1) { + if (($$2320 | 0) > ($141 | 0)) { + $$14 = $$7313; + $$8 = $$1290; + break L80; + } + L85 : do if (($$2320 | 0) < (HEAP32[$19 >> 2] << 1 | 0)) { + $$10 = $$7313; + $$4 = $$1290; + } else { + if (((HEAP32[$21 >> 2] << 1) + $$2320 | 0) >= ($3 | 0)) { + $$14 = $$7313; + $$8 = $$1290; + break L80; + } + $151 = HEAP32[$142 >> 2] | 0; + $153 = $151 + 3 | 0; + $$2291 = $$1290; + $$2301 = $151 + -3 | 0; + $$8314 = $$7313; + while (1) { + if (($$2301 | 0) > ($153 | 0)) { + $$10 = $$8314; + $$4 = $$2291; + break L85; + } + if (($$2301 | 0) >= (HEAP32[$56 >> 2] << 1 | 0)) { + if (((HEAP32[$55 >> 2] << 1) + $$2301 | 0) >= ($2 | 0)) { + $$10 = $$8314; + $$4 = $$2291; + break L85; + } + _ar2GetBestMatchingSubFine($0, $2, $4, $5, $$2301, $$2320, $16); + $162 = HEAP32[$16 >> 2] | 0; + if (($162 | 0) > ($$2291 | 0)) { + HEAP32[$9 >> 2] = $$2301; + HEAP32[$10 >> 2] = $$2320; + HEAPF32[$11 >> 2] = +($162 | 0) / 1.0e4; + $$3292 = $162; + $$9 = 0; + } else { + $$3292 = $$2291; + $$9 = $$8314; + } + } else { + $$3292 = $$2291; + $$9 = $$8314; + } + $$2291 = $$3292; + $$2301 = $$2301 + 1 | 0; + $$8314 = $$9; + } + } while (0); + $$1290 = $$4; + $$2320 = $$2320 + 1 | 0; + $$7313 = $$10; + } + } while (0); + $$0289 = $$8; + $$0317 = $$0317 + 1 | 0; + $$6312 = $$14; + } + _free($102); + _free($104); + $$0 = $$6312; + } + STACKTOP = sp; + return $$0 | 0; +} + +function __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjP2tmcc($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 $$byval_copy26 = 0, $$byval_copy30 = 0, $$sroa$095$0 = 0, $10 = 0, $103 = 0, $107 = 0, $11 = 0, $112 = 0, $113 = 0, $118 = 0, $12 = 0, $120 = 0, $121 = 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, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $45 = 0, $49 = 0, $54 = 0, $55 = 0, $60 = 0, $62 = 0, $63 = 0, $68 = 0, $71 = 0, $8 = 0, $87 = 0, $9 = 0, $90 = 0, $94 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(144); + $$byval_copy30 = sp + 128 | 0; + $$byval_copy26 = sp + 112 | 0; + $8 = sp + 124 | 0; + $9 = sp + 120 | 0; + $10 = sp + 116 | 0; + $11 = sp + 108 | 0; + $12 = sp + 104 | 0; + $13 = sp + 100 | 0; + $14 = sp + 96 | 0; + $15 = sp + 92 | 0; + $16 = sp + 88 | 0; + $17 = sp + 84 | 0; + $18 = sp + 80 | 0; + $19 = sp + 76 | 0; + $20 = sp + 72 | 0; + $21 = sp + 68 | 0; + $22 = sp + 64 | 0; + $23 = sp + 60 | 0; + $24 = sp + 56 | 0; + $25 = sp + 52 | 0; + $26 = sp + 48 | 0; + $27 = sp + 44 | 0; + $28 = sp + 40 | 0; + $29 = sp + 36 | 0; + $30 = sp + 32 | 0; + $31 = sp + 28 | 0; + $32 = sp + 24 | 0; + $33 = sp + 20 | 0; + $34 = sp + 16 | 0; + $35 = sp + 12 | 0; + $36 = sp + 8 | 0; + $37 = sp + 4 | 0; + $38 = sp; + HEAP32[$4 >> 2] = 0; + __ZNKSt3__28ios_base6getlocEv($$byval_copy30, $3); + $39 = __ZNKSt3__26locale9use_facetERNS0_2idE($$byval_copy30, 66544) | 0; + __ZNSt3__26localeD2Ev($$byval_copy30); + do switch ($6 << 24 >> 24 | 0) { + case 65: + case 97: + { + HEAP32[$8 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$8 >> 2]; + __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__get_weekdaynameERiRS4_S4_RjRKNS_5ctypeIwEE($0, $5 + 24 | 0, $1, $$byval_copy30, $4, $39); + label = 26; + break; + } + case 104: + case 66: + case 98: + { + HEAP32[$9 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$9 >> 2]; + __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE15__get_monthnameERiRS4_S4_RjRKNS_5ctypeIwEE($0, $5 + 16 | 0, $1, $$byval_copy30, $4, $39); + label = 26; + break; + } + case 99: + { + $45 = $0 + 8 | 0; + $49 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$45 >> 2] | 0) + 12 >> 2] & 127]($45) | 0; + HEAP32[$10 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$11 >> 2] = HEAP32[$2 >> 2]; + $54 = HEAP8[$49 + 8 + 3 >> 0] | 0; + $55 = $54 << 24 >> 24 < 0; + $60 = $55 ? HEAP32[$49 >> 2] | 0 : $49; + $62 = $60 + (($55 ? HEAP32[$49 + 4 >> 2] | 0 : $54 & 255) << 2) | 0; + HEAP32[$$byval_copy26 >> 2] = HEAP32[$10 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$11 >> 2]; + $63 = __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjP2tmPKwSC_($0, $$byval_copy26, $$byval_copy30, $3, $4, $5, $60, $62) | 0; + HEAP32[$1 >> 2] = $63; + label = 26; + break; + } + case 101: + case 100: + { + HEAP32[$12 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$12 >> 2]; + __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE9__get_dayERiRS4_S4_RjRKNS_5ctypeIwEE($0, $5 + 12 | 0, $1, $$byval_copy30, $4, $39); + label = 26; + break; + } + case 68: + { + HEAP32[$13 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$14 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy26 >> 2] = HEAP32[$13 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$14 >> 2]; + $68 = __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjP2tmPKwSC_($0, $$byval_copy26, $$byval_copy30, $3, $4, $5, 12976, 13008) | 0; + HEAP32[$1 >> 2] = $68; + label = 26; + break; + } + case 70: + { + HEAP32[$15 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$16 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy26 >> 2] = HEAP32[$15 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$16 >> 2]; + $71 = __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjP2tmPKwSC_($0, $$byval_copy26, $$byval_copy30, $3, $4, $5, 13008, 13040) | 0; + HEAP32[$1 >> 2] = $71; + label = 26; + break; + } + case 72: + { + HEAP32[$17 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$17 >> 2]; + __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE10__get_hourERiRS4_S4_RjRKNS_5ctypeIwEE($0, $5 + 8 | 0, $1, $$byval_copy30, $4, $39); + label = 26; + break; + } + case 73: + { + HEAP32[$18 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$18 >> 2]; + __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE13__get_12_hourERiRS4_S4_RjRKNS_5ctypeIwEE($0, $5 + 8 | 0, $1, $$byval_copy30, $4, $39); + label = 26; + break; + } + case 106: + { + HEAP32[$19 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$19 >> 2]; + __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE18__get_day_year_numERiRS4_S4_RjRKNS_5ctypeIwEE($0, $5 + 28 | 0, $1, $$byval_copy30, $4, $39); + label = 26; + break; + } + case 109: + { + HEAP32[$20 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$20 >> 2]; + __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11__get_monthERiRS4_S4_RjRKNS_5ctypeIwEE($0, $5 + 16 | 0, $1, $$byval_copy30, $4, $39); + label = 26; + break; + } + case 77: + { + HEAP32[$21 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$21 >> 2]; + __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE12__get_minuteERiRS4_S4_RjRKNS_5ctypeIwEE($0, $5 + 4 | 0, $1, $$byval_copy30, $4, $39); + label = 26; + break; + } + case 116: + case 110: + { + HEAP32[$22 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$22 >> 2]; + __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__get_white_spaceERS4_S4_RjRKNS_5ctypeIwEE($0, $1, $$byval_copy30, $4, $39); + label = 26; + break; + } + case 112: + { + HEAP32[$23 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$23 >> 2]; + __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11__get_am_pmERiRS4_S4_RjRKNS_5ctypeIwEE($0, $5 + 8 | 0, $1, $$byval_copy30, $4, $39); + label = 26; + break; + } + case 114: + { + HEAP32[$24 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$25 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy26 >> 2] = HEAP32[$24 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$25 >> 2]; + $87 = __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjP2tmPKwSC_($0, $$byval_copy26, $$byval_copy30, $3, $4, $5, 13040, 13084) | 0; + HEAP32[$1 >> 2] = $87; + label = 26; + break; + } + case 82: + { + HEAP32[$26 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$27 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy26 >> 2] = HEAP32[$26 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$27 >> 2]; + $90 = __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjP2tmPKwSC_($0, $$byval_copy26, $$byval_copy30, $3, $4, $5, 13088, 13108) | 0; + HEAP32[$1 >> 2] = $90; + label = 26; + break; + } + case 83: + { + HEAP32[$28 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$28 >> 2]; + __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE12__get_secondERiRS4_S4_RjRKNS_5ctypeIwEE($0, $5, $1, $$byval_copy30, $4, $39); + label = 26; + break; + } + case 84: + { + HEAP32[$29 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$30 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy26 >> 2] = HEAP32[$29 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$30 >> 2]; + $94 = __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjP2tmPKwSC_($0, $$byval_copy26, $$byval_copy30, $3, $4, $5, 13120, 13152) | 0; + HEAP32[$1 >> 2] = $94; + label = 26; + break; + } + case 119: + { + HEAP32[$31 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$31 >> 2]; + __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE13__get_weekdayERiRS4_S4_RjRKNS_5ctypeIwEE($0, $5 + 24 | 0, $1, $$byval_copy30, $4, $39); + label = 26; + break; + } + case 120: + { + $99 = HEAP32[(HEAP32[$0 >> 2] | 0) + 20 >> 2] | 0; + HEAP32[$32 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$33 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy26 >> 2] = HEAP32[$32 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$33 >> 2]; + $$sroa$095$0 = FUNCTION_TABLE_iiiiiii[$99 & 63]($0, $$byval_copy26, $$byval_copy30, $3, $4, $5) | 0; + break; + } + case 88: + { + $103 = $0 + 8 | 0; + $107 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$103 >> 2] | 0) + 24 >> 2] & 127]($103) | 0; + HEAP32[$34 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$35 >> 2] = HEAP32[$2 >> 2]; + $112 = HEAP8[$107 + 8 + 3 >> 0] | 0; + $113 = $112 << 24 >> 24 < 0; + $118 = $113 ? HEAP32[$107 >> 2] | 0 : $107; + $120 = $118 + (($113 ? HEAP32[$107 + 4 >> 2] | 0 : $112 & 255) << 2) | 0; + HEAP32[$$byval_copy26 >> 2] = HEAP32[$34 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$35 >> 2]; + $121 = __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjP2tmPKwSC_($0, $$byval_copy26, $$byval_copy30, $3, $4, $5, $118, $120) | 0; + HEAP32[$1 >> 2] = $121; + label = 26; + break; + } + case 121: + { + HEAP32[$36 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$36 >> 2]; + __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE10__get_yearERiRS4_S4_RjRKNS_5ctypeIwEE($0, $5 + 20 | 0, $1, $$byval_copy30, $4, $39); + label = 26; + break; + } + case 89: + { + HEAP32[$37 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$37 >> 2]; + __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11__get_year4ERiRS4_S4_RjRKNS_5ctypeIwEE($0, $5 + 20 | 0, $1, $$byval_copy30, $4, $39); + label = 26; + break; + } + case 37: + { + HEAP32[$38 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$38 >> 2]; + __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE13__get_percentERS4_S4_RjRKNS_5ctypeIwEE($0, $1, $$byval_copy30, $4, $39); + label = 26; + break; + } + default: + { + HEAP32[$4 >> 2] = HEAP32[$4 >> 2] | 4; + label = 26; + } + } while (0); + if ((label | 0) == 26) $$sroa$095$0 = HEAP32[$1 >> 2] | 0; + STACKTOP = sp; + return $$sroa$095$0 | 0; +} + +function __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjP2tmcc($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 $$byval_copy26 = 0, $$byval_copy30 = 0, $$sroa$095$0 = 0, $10 = 0, $102 = 0, $106 = 0, $11 = 0, $110 = 0, $111 = 0, $116 = 0, $118 = 0, $119 = 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, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $45 = 0, $49 = 0, $53 = 0, $54 = 0, $59 = 0, $61 = 0, $62 = 0, $67 = 0, $70 = 0, $8 = 0, $86 = 0, $89 = 0, $9 = 0, $93 = 0, $98 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(144); + $$byval_copy30 = sp + 128 | 0; + $$byval_copy26 = sp + 112 | 0; + $8 = sp + 124 | 0; + $9 = sp + 120 | 0; + $10 = sp + 116 | 0; + $11 = sp + 108 | 0; + $12 = sp + 104 | 0; + $13 = sp + 100 | 0; + $14 = sp + 96 | 0; + $15 = sp + 92 | 0; + $16 = sp + 88 | 0; + $17 = sp + 84 | 0; + $18 = sp + 80 | 0; + $19 = sp + 76 | 0; + $20 = sp + 72 | 0; + $21 = sp + 68 | 0; + $22 = sp + 64 | 0; + $23 = sp + 60 | 0; + $24 = sp + 56 | 0; + $25 = sp + 52 | 0; + $26 = sp + 48 | 0; + $27 = sp + 44 | 0; + $28 = sp + 40 | 0; + $29 = sp + 36 | 0; + $30 = sp + 32 | 0; + $31 = sp + 28 | 0; + $32 = sp + 24 | 0; + $33 = sp + 20 | 0; + $34 = sp + 16 | 0; + $35 = sp + 12 | 0; + $36 = sp + 8 | 0; + $37 = sp + 4 | 0; + $38 = sp; + HEAP32[$4 >> 2] = 0; + __ZNKSt3__28ios_base6getlocEv($$byval_copy30, $3); + $39 = __ZNKSt3__26locale9use_facetERNS0_2idE($$byval_copy30, 66512) | 0; + __ZNSt3__26localeD2Ev($$byval_copy30); + do switch ($6 << 24 >> 24 | 0) { + case 65: + case 97: + { + HEAP32[$8 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$8 >> 2]; + __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__get_weekdaynameERiRS4_S4_RjRKNS_5ctypeIcEE($0, $5 + 24 | 0, $1, $$byval_copy30, $4, $39); + label = 26; + break; + } + case 104: + case 66: + case 98: + { + HEAP32[$9 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$9 >> 2]; + __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE15__get_monthnameERiRS4_S4_RjRKNS_5ctypeIcEE($0, $5 + 16 | 0, $1, $$byval_copy30, $4, $39); + label = 26; + break; + } + case 99: + { + $45 = $0 + 8 | 0; + $49 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$45 >> 2] | 0) + 12 >> 2] & 127]($45) | 0; + HEAP32[$10 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$11 >> 2] = HEAP32[$2 >> 2]; + $53 = HEAP8[$49 + 11 >> 0] | 0; + $54 = $53 << 24 >> 24 < 0; + $59 = $54 ? HEAP32[$49 >> 2] | 0 : $49; + $61 = $59 + ($54 ? HEAP32[$49 + 4 >> 2] | 0 : $53 & 255) | 0; + HEAP32[$$byval_copy26 >> 2] = HEAP32[$10 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$11 >> 2]; + $62 = __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjP2tmPKcSC_($0, $$byval_copy26, $$byval_copy30, $3, $4, $5, $59, $61) | 0; + HEAP32[$1 >> 2] = $62; + label = 26; + break; + } + case 101: + case 100: + { + HEAP32[$12 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$12 >> 2]; + __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE9__get_dayERiRS4_S4_RjRKNS_5ctypeIcEE($0, $5 + 12 | 0, $1, $$byval_copy30, $4, $39); + label = 26; + break; + } + case 68: + { + HEAP32[$13 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$14 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy26 >> 2] = HEAP32[$13 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$14 >> 2]; + $67 = __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjP2tmPKcSC_($0, $$byval_copy26, $$byval_copy30, $3, $4, $5, 59674, 59682) | 0; + HEAP32[$1 >> 2] = $67; + label = 26; + break; + } + case 70: + { + HEAP32[$15 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$16 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy26 >> 2] = HEAP32[$15 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$16 >> 2]; + $70 = __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjP2tmPKcSC_($0, $$byval_copy26, $$byval_copy30, $3, $4, $5, 59682, 59690) | 0; + HEAP32[$1 >> 2] = $70; + label = 26; + break; + } + case 72: + { + HEAP32[$17 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$17 >> 2]; + __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE10__get_hourERiRS4_S4_RjRKNS_5ctypeIcEE($0, $5 + 8 | 0, $1, $$byval_copy30, $4, $39); + label = 26; + break; + } + case 73: + { + HEAP32[$18 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$18 >> 2]; + __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE13__get_12_hourERiRS4_S4_RjRKNS_5ctypeIcEE($0, $5 + 8 | 0, $1, $$byval_copy30, $4, $39); + label = 26; + break; + } + case 106: + { + HEAP32[$19 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$19 >> 2]; + __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE18__get_day_year_numERiRS4_S4_RjRKNS_5ctypeIcEE($0, $5 + 28 | 0, $1, $$byval_copy30, $4, $39); + label = 26; + break; + } + case 109: + { + HEAP32[$20 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$20 >> 2]; + __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11__get_monthERiRS4_S4_RjRKNS_5ctypeIcEE($0, $5 + 16 | 0, $1, $$byval_copy30, $4, $39); + label = 26; + break; + } + case 77: + { + HEAP32[$21 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$21 >> 2]; + __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE12__get_minuteERiRS4_S4_RjRKNS_5ctypeIcEE($0, $5 + 4 | 0, $1, $$byval_copy30, $4, $39); + label = 26; + break; + } + case 116: + case 110: + { + HEAP32[$22 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$22 >> 2]; + __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__get_white_spaceERS4_S4_RjRKNS_5ctypeIcEE($0, $1, $$byval_copy30, $4, $39); + label = 26; + break; + } + case 112: + { + HEAP32[$23 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$23 >> 2]; + __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11__get_am_pmERiRS4_S4_RjRKNS_5ctypeIcEE($0, $5 + 8 | 0, $1, $$byval_copy30, $4, $39); + label = 26; + break; + } + case 114: + { + HEAP32[$24 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$25 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy26 >> 2] = HEAP32[$24 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$25 >> 2]; + $86 = __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjP2tmPKcSC_($0, $$byval_copy26, $$byval_copy30, $3, $4, $5, 59690, 59701) | 0; + HEAP32[$1 >> 2] = $86; + label = 26; + break; + } + case 82: + { + HEAP32[$26 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$27 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy26 >> 2] = HEAP32[$26 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$27 >> 2]; + $89 = __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjP2tmPKcSC_($0, $$byval_copy26, $$byval_copy30, $3, $4, $5, 59701, 59706) | 0; + HEAP32[$1 >> 2] = $89; + label = 26; + break; + } + case 83: + { + HEAP32[$28 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$28 >> 2]; + __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE12__get_secondERiRS4_S4_RjRKNS_5ctypeIcEE($0, $5, $1, $$byval_copy30, $4, $39); + label = 26; + break; + } + case 84: + { + HEAP32[$29 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$30 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy26 >> 2] = HEAP32[$29 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$30 >> 2]; + $93 = __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjP2tmPKcSC_($0, $$byval_copy26, $$byval_copy30, $3, $4, $5, 59706, 59714) | 0; + HEAP32[$1 >> 2] = $93; + label = 26; + break; + } + case 119: + { + HEAP32[$31 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$31 >> 2]; + __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE13__get_weekdayERiRS4_S4_RjRKNS_5ctypeIcEE($0, $5 + 24 | 0, $1, $$byval_copy30, $4, $39); + label = 26; + break; + } + case 120: + { + $98 = HEAP32[(HEAP32[$0 >> 2] | 0) + 20 >> 2] | 0; + HEAP32[$32 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$33 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy26 >> 2] = HEAP32[$32 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$33 >> 2]; + $$sroa$095$0 = FUNCTION_TABLE_iiiiiii[$98 & 63]($0, $$byval_copy26, $$byval_copy30, $3, $4, $5) | 0; + break; + } + case 88: + { + $102 = $0 + 8 | 0; + $106 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$102 >> 2] | 0) + 24 >> 2] & 127]($102) | 0; + HEAP32[$34 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$35 >> 2] = HEAP32[$2 >> 2]; + $110 = HEAP8[$106 + 11 >> 0] | 0; + $111 = $110 << 24 >> 24 < 0; + $116 = $111 ? HEAP32[$106 >> 2] | 0 : $106; + $118 = $116 + ($111 ? HEAP32[$106 + 4 >> 2] | 0 : $110 & 255) | 0; + HEAP32[$$byval_copy26 >> 2] = HEAP32[$34 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$35 >> 2]; + $119 = __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjP2tmPKcSC_($0, $$byval_copy26, $$byval_copy30, $3, $4, $5, $116, $118) | 0; + HEAP32[$1 >> 2] = $119; + label = 26; + break; + } + case 121: + { + HEAP32[$36 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$36 >> 2]; + __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE10__get_yearERiRS4_S4_RjRKNS_5ctypeIcEE($0, $5 + 20 | 0, $1, $$byval_copy30, $4, $39); + label = 26; + break; + } + case 89: + { + HEAP32[$37 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$37 >> 2]; + __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11__get_year4ERiRS4_S4_RjRKNS_5ctypeIcEE($0, $5 + 20 | 0, $1, $$byval_copy30, $4, $39); + label = 26; + break; + } + case 37: + { + HEAP32[$38 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy30 >> 2] = HEAP32[$38 >> 2]; + __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE13__get_percentERS4_S4_RjRKNS_5ctypeIcEE($0, $1, $$byval_copy30, $4, $39); + label = 26; + break; + } + default: + { + HEAP32[$4 >> 2] = HEAP32[$4 >> 2] | 4; + label = 26; + } + } while (0); + if ((label | 0) == 26) $$sroa$095$0 = HEAP32[$1 >> 2] | 0; + STACKTOP = sp; + return $$sroa$095$0 | 0; +} + +function _jpgread($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0$reg2mem$0 = 0, $$033$reg2mem99$0 = 0, $$034$reg2mem101$0 = 0, $$reg2mem103$0 = 0, $10 = 0, $11 = 0, $13 = 0, $14 = 0, $15 = 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, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $45 = 0, $47 = 0, $48 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $69 = 0, $7 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $9 = 0, $91 = 0, $93 = 0, $99 = 0, $vararg_buffer = 0, $vararg_buffer105 = 0, $vararg_buffer107 = 0, _setjmpTable = 0, _setjmpTableSize = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 832 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(832); + $vararg_buffer107 = sp + 528 | 0; + $vararg_buffer105 = sp + 520 | 0; + $vararg_buffer = sp + 512 | 0; + _setjmpTableSize = 4; + _setjmpTable = _malloc(40) | 0; + HEAP32[_setjmpTable >> 2] = 0; + $5 = sp + 24 | 0; + $6 = sp + 536 | 0; + $7 = sp; + _memset($5 | 0, 0, 488) | 0; + __THREW__ = 0; + $8 = invoke_ii(63, $6 | 0) | 0; + $9 = __THREW__; + __THREW__ = 0; + if (($9 | 0) != 0 & (threwValue | 0) != 0) { + $10 = _testSetjmp(HEAP32[$9 >> 2] | 0, _setjmpTable | 0, _setjmpTableSize | 0) | 0; + if (!$10) _longjmp($9 | 0, threwValue | 0); + setTempRet0(threwValue | 0); + } else $10 = -1; + $11 = getTempRet0() | 0; + if (($10 | 0) != 1) { + HEAP32[$5 >> 2] = $8; + HEAP32[$6 >> 2] = 181; + _setjmpTable = _saveSetjmp($6 + 132 | 0, 1, _setjmpTable | 0, _setjmpTableSize | 0) | 0; + _setjmpTableSize = getTempRet0() | 0; + __THREW__ = 0; + $13 = __THREW__; + __THREW__ = 0; + if (($13 | 0) != 0 & (threwValue | 0) != 0) { + $14 = _testSetjmp(HEAP32[$13 >> 2] | 0, _setjmpTable | 0, _setjmpTableSize | 0) | 0; + if (!$14) _longjmp($13 | 0, threwValue | 0); + setTempRet0(threwValue | 0); + } else $14 = -1; + $15 = getTempRet0() | 0; + if (($14 | 0) == 1) $$reg2mem103$0 = $15; else $$reg2mem103$0 = 0; + } else $$reg2mem103$0 = $11; + L4 : while (1) { + if ($$reg2mem103$0 | 0) { + __THREW__ = 0; + invoke_vi(182, $5 | 0); + $17 = __THREW__; + __THREW__ = 0; + if (($17 | 0) != 0 & (threwValue | 0) != 0) { + $18 = _testSetjmp(HEAP32[$17 >> 2] | 0, _setjmpTable | 0, _setjmpTableSize | 0) | 0; + if (!$18) _longjmp($17 | 0, threwValue | 0); + setTempRet0(threwValue | 0); + } else $18 = -1; + $19 = getTempRet0() | 0; + if (($18 | 0) == 1) { + $$reg2mem103$0 = $19; + continue; + } + __THREW__ = 0; + invoke_viiii(8, 0, 3, 25828, $vararg_buffer | 0); + $20 = __THREW__; + __THREW__ = 0; + if (($20 | 0) != 0 & (threwValue | 0) != 0) { + $21 = _testSetjmp(HEAP32[$20 >> 2] | 0, _setjmpTable | 0, _setjmpTableSize | 0) | 0; + if (!$21) _longjmp($20 | 0, threwValue | 0); + setTempRet0(threwValue | 0); + } else $21 = -1; + $22 = getTempRet0() | 0; + if (($21 | 0) == 1) { + $$reg2mem103$0 = $22; + continue; + } else { + label = 7; + break; + } + } + __THREW__ = 0; + invoke_viii(1, $5 | 0, 90, 488); + $23 = __THREW__; + __THREW__ = 0; + if (($23 | 0) != 0 & (threwValue | 0) != 0) { + $24 = _testSetjmp(HEAP32[$23 >> 2] | 0, _setjmpTable | 0, _setjmpTableSize | 0) | 0; + if (!$24) _longjmp($23 | 0, threwValue | 0); + setTempRet0(threwValue | 0); + } else $24 = -1; + $25 = getTempRet0() | 0; + if (($24 | 0) == 1) { + $$reg2mem103$0 = $25; + continue; + } + __THREW__ = 0; + invoke_vii(125, $5 | 0, $0 | 0); + $26 = __THREW__; + __THREW__ = 0; + if (($26 | 0) != 0 & (threwValue | 0) != 0) { + $27 = _testSetjmp(HEAP32[$26 >> 2] | 0, _setjmpTable | 0, _setjmpTableSize | 0) | 0; + if (!$27) _longjmp($26 | 0, threwValue | 0); + setTempRet0(threwValue | 0); + } else $27 = -1; + $28 = getTempRet0() | 0; + if (($27 | 0) == 1) { + $$reg2mem103$0 = $28; + continue; + } + __THREW__ = 0; + $29 = invoke_iii(43, $5 | 0, 1) | 0; + $30 = __THREW__; + __THREW__ = 0; + if (($30 | 0) != 0 & (threwValue | 0) != 0) { + $31 = _testSetjmp(HEAP32[$30 >> 2] | 0, _setjmpTable | 0, _setjmpTableSize | 0) | 0; + if (!$31) _longjmp($30 | 0, threwValue | 0); + setTempRet0(threwValue | 0); + } else $31 = -1; + $32 = getTempRet0() | 0; + if (($31 | 0) == 1) { + $$reg2mem103$0 = $32; + continue; + } + if (($29 | 0) != 1) { + __THREW__ = 0; + invoke_viiii(8, 0, 3, 25854, $vararg_buffer105 | 0); + $34 = __THREW__; + __THREW__ = 0; + if (($34 | 0) != 0 & (threwValue | 0) != 0) { + $35 = _testSetjmp(HEAP32[$34 >> 2] | 0, _setjmpTable | 0, _setjmpTableSize | 0) | 0; + if (!$35) _longjmp($34 | 0, threwValue | 0); + setTempRet0(threwValue | 0); + } else $35 = -1; + $36 = getTempRet0() | 0; + if (($35 | 0) == 1) { + $$reg2mem103$0 = $36; + continue; + } + __THREW__ = 0; + invoke_vi(182, $5 | 0); + $37 = __THREW__; + __THREW__ = 0; + if (($37 | 0) != 0 & (threwValue | 0) != 0) { + $38 = _testSetjmp(HEAP32[$37 >> 2] | 0, _setjmpTable | 0, _setjmpTableSize | 0) | 0; + if (!$38) _longjmp($37 | 0, threwValue | 0); + setTempRet0(threwValue | 0); + } else $38 = -1; + $39 = getTempRet0() | 0; + if (($38 | 0) == 1) { + $$reg2mem103$0 = $39; + continue; + } else { + label = 14; + break; + } + } + __THREW__ = 0; + invoke_ii(64, $5 | 0) | 0; + $40 = __THREW__; + __THREW__ = 0; + if (($40 | 0) != 0 & (threwValue | 0) != 0) { + $41 = _testSetjmp(HEAP32[$40 >> 2] | 0, _setjmpTable | 0, _setjmpTableSize | 0) | 0; + if (!$41) _longjmp($40 | 0, threwValue | 0); + setTempRet0(threwValue | 0); + } else $41 = -1; + $42 = getTempRet0() | 0; + if (($41 | 0) == 1) { + $$reg2mem103$0 = $42; + continue; + } + $43 = $5 + 36 | 0; + $45 = $5 + 28 | 0; + $47 = Math_imul(HEAP32[$45 >> 2] | 0, HEAP32[$43 >> 2] | 0) | 0; + $48 = $5 + 32 | 0; + $50 = Math_imul($47, HEAP32[$48 >> 2] | 0) | 0; + __THREW__ = 0; + $51 = invoke_ii(65, $50 | 0) | 0; + $52 = __THREW__; + __THREW__ = 0; + if (($52 | 0) != 0 & (threwValue | 0) != 0) { + $53 = _testSetjmp(HEAP32[$52 >> 2] | 0, _setjmpTable | 0, _setjmpTableSize | 0) | 0; + if (!$53) _longjmp($52 | 0, threwValue | 0); + setTempRet0(threwValue | 0); + } else $53 = -1; + $54 = getTempRet0() | 0; + if (($53 | 0) == 1) { + $$reg2mem103$0 = $54; + continue; + } + if (!$51) { + __THREW__ = 0; + invoke_viiii(8, 0, 3, 45930, $vararg_buffer107 | 0); + $56 = __THREW__; + __THREW__ = 0; + if (($56 | 0) != 0 & (threwValue | 0) != 0) { + $57 = _testSetjmp(HEAP32[$56 >> 2] | 0, _setjmpTable | 0, _setjmpTableSize | 0) | 0; + if (!$57) _longjmp($56 | 0, threwValue | 0); + setTempRet0(threwValue | 0); + } else $57 = -1; + $58 = getTempRet0() | 0; + if (($57 | 0) == 1) { + $$reg2mem103$0 = $58; + continue; + } + __THREW__ = 0; + invoke_vi(182, $5 | 0); + $59 = __THREW__; + __THREW__ = 0; + if (($59 | 0) != 0 & (threwValue | 0) != 0) { + $60 = _testSetjmp(HEAP32[$59 >> 2] | 0, _setjmpTable | 0, _setjmpTableSize | 0) | 0; + if (!$60) _longjmp($59 | 0, threwValue | 0); + setTempRet0(threwValue | 0); + } else $60 = -1; + $61 = getTempRet0() | 0; + if (($60 | 0) == 1) { + $$reg2mem103$0 = $61; + continue; + } else { + label = 20; + break; + } + } + $62 = $5 + 140 | 0; + $63 = $5 + 116 | 0; + $$034$reg2mem101$0 = 0; + while (1) { + if ((HEAP32[$62 >> 2] | 0) >>> 0 >= (HEAP32[$63 >> 2] | 0) >>> 0) break; + $$033$reg2mem99$0 = 0; + while (1) { + if (($$033$reg2mem99$0 | 0) == 5) break; + $69 = $51 + (Math_imul($$033$reg2mem99$0 + $$034$reg2mem101$0 | 0, $47) | 0) | 0; + HEAP32[$7 + ($$033$reg2mem99$0 << 2) >> 2] = $69; + $$033$reg2mem99$0 = $$033$reg2mem99$0 + 1 | 0; + } + __THREW__ = 0; + $72 = invoke_iiii(25, $5 | 0, $7 | 0, 5) | 0; + $73 = __THREW__; + __THREW__ = 0; + if (($73 | 0) != 0 & (threwValue | 0) != 0) { + $74 = _testSetjmp(HEAP32[$73 >> 2] | 0, _setjmpTable | 0, _setjmpTableSize | 0) | 0; + if (!$74) _longjmp($73 | 0, threwValue | 0); + setTempRet0(threwValue | 0); + } else $74 = -1; + $75 = getTempRet0() | 0; + if (($74 | 0) == 1) { + $$reg2mem103$0 = $75; + continue L4; + } + $$034$reg2mem101$0 = $72 + $$034$reg2mem101$0 | 0; + } + __THREW__ = 0; + invoke_ii(66, $5 | 0) | 0; + $77 = __THREW__; + __THREW__ = 0; + if (($77 | 0) != 0 & (threwValue | 0) != 0) { + $78 = _testSetjmp(HEAP32[$77 >> 2] | 0, _setjmpTable | 0, _setjmpTableSize | 0) | 0; + if (!$78) _longjmp($77 | 0, threwValue | 0); + setTempRet0(threwValue | 0); + } else $78 = -1; + $79 = getTempRet0() | 0; + if (($78 | 0) == 1) { + $$reg2mem103$0 = $79; + continue; + } + __THREW__ = 0; + invoke_vi(182, $5 | 0); + $80 = __THREW__; + __THREW__ = 0; + if (($80 | 0) != 0 & (threwValue | 0) != 0) { + $81 = _testSetjmp(HEAP32[$80 >> 2] | 0, _setjmpTable | 0, _setjmpTableSize | 0) | 0; + if (!$81) _longjmp($80 | 0, threwValue | 0); + setTempRet0(threwValue | 0); + } else $81 = -1; + $$reg2mem103$0 = getTempRet0() | 0; + if (($81 | 0) != 1) { + label = 30; + break; + } + } + L33 : do if ((label | 0) == 7) $$0$reg2mem$0 = 0; else if ((label | 0) == 14) $$0$reg2mem$0 = 0; else if ((label | 0) == 20) $$0$reg2mem$0 = 0; else if ((label | 0) == 30) { + if ($1 | 0) HEAP32[$1 >> 2] = HEAP32[$45 >> 2]; + if ($2 | 0) HEAP32[$2 >> 2] = HEAP32[$48 >> 2]; + if ($3 | 0) HEAP32[$3 >> 2] = HEAP32[$43 >> 2]; + if (!$4) $$0$reg2mem$0 = $51; else { + $91 = HEAP8[$5 + 290 >> 0] | 0; + switch ($91 << 24 >> 24) { + case 1: + { + $93 = HEAP16[$5 + 292 >> 1] | 0; + if ($93 << 16 >> 16 == (HEAP16[$5 + 294 >> 1] | 0)) { + HEAPF32[$4 >> 2] = +($93 & 65535); + $$0$reg2mem$0 = $51; + break L33; + } + break; + } + case 2: + { + $99 = HEAP16[$5 + 292 >> 1] | 0; + if ($99 << 16 >> 16 == (HEAP16[$5 + 294 >> 1] | 0)) { + HEAPF32[$4 >> 2] = +($99 & 65535) * 2.5399999618530273; + $$0$reg2mem$0 = $51; + break L33; + } + break; + } + default: + if ((($91 & 255) > 2 ? (HEAP16[$5 + 292 >> 1] | 0) == 0 : 0) ? (HEAP16[$5 + 294 >> 1] | 0) == 0 : 0) { + HEAPF32[$4 >> 2] = +($91 & 255); + $$0$reg2mem$0 = $51; + break L33; + } + } + HEAPF32[$4 >> 2] = 0.0; + $$0$reg2mem$0 = $51; + } + } while (0); + _free(_setjmpTable | 0); + STACKTOP = sp; + return $$0$reg2mem$0 | 0; +} + +function _decompress_smooth_data($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0284 = 0, $$0288350 = 0, $$0289349 = 0, $$0289349$phi = 0, $$0292348 = 0, $$0293347 = 0, $$0293347$phi = 0, $$0296346 = 0, $$0297345 = 0, $$0297345$phi = 0, $$0298344 = 0, $$0299354 = 0, $$0300352 = 0, $$0303 = 0, $$0304 = 0, $$0305343 = 0, $$0306 = 0, $$0308 = 0, $$0309 = 0, $$0310 = 0, $$0312353 = 0, $$0313340 = 0, $$0314351 = 0, $$1 = 0, $$1287 = 0, $$1291 = 0, $$1295 = 0, $$1302 = 0, $$1307342 = 0, $$1311341 = 0, $$3 = 0, $$5 = 0, $$7 = 0, $$9 = 0, $$pre$phiZ2D = 0, $10 = 0, $100 = 0, $103 = 0, $106 = 0, $109 = 0, $11 = 0, $113 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $136 = 0, $138 = 0, $14 = 0, $148 = 0, $15 = 0, $150 = 0, $152 = 0, $154 = 0, $16 = 0, $165 = 0, $170 = 0, $173 = 0, $175 = 0, $179 = 0, $181 = 0, $186 = 0, $191 = 0, $194 = 0, $196 = 0, $2 = 0, $20 = 0, $200 = 0, $202 = 0, $207 = 0, $214 = 0, $217 = 0, $219 = 0, $223 = 0, $225 = 0, $230 = 0, $237 = 0, $240 = 0, $242 = 0, $246 = 0, $248 = 0, $25 = 0, $253 = 0, $26 = 0, $260 = 0, $263 = 0, $265 = 0, $269 = 0, $271 = 0, $291 = 0, $37 = 0, $4 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $54 = 0, $57 = 0, $62 = 0, $63 = 0, $68 = 0, $7 = 0, $75 = 0, $76 = 0, $8 = 0, $87 = 0, $89 = 0, $9 = 0, $91 = 0, $94 = 0, $97 = 0, $spec$select = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(128); + $2 = sp; + $4 = HEAP32[$0 + 452 >> 2] | 0; + $5 = $0 + 332 | 0; + $7 = (HEAP32[$5 >> 2] | 0) + -1 | 0; + $8 = $0 + 144 | 0; + $9 = HEAP32[$8 >> 2] | 0; + $10 = $0 + 152 | 0; + $11 = HEAP32[$10 >> 2] | 0; + L1 : do if (($9 | 0) <= ($11 | 0)) { + $13 = $0 + 460 | 0; + $14 = $0 + 412 | 0; + $15 = $0 + 148 | 0; + $16 = $0 + 156 | 0; + $25 = $9; + $26 = $11; + while (1) { + $20 = HEAP32[$13 >> 2] | 0; + if (HEAP32[$20 + 20 >> 2] | 0) break L1; + if (($25 | 0) == ($26 | 0) ? (HEAP32[$15 >> 2] | 0) >>> 0 > ((HEAP32[$16 >> 2] | 0) + ((HEAP32[$14 >> 2] | 0) == 0 & 1) | 0) >>> 0 : 0) break L1; + if (!(FUNCTION_TABLE_ii[HEAP32[$20 >> 2] & 127]($0) | 0)) { + $$0284 = 0; + break; + } + $25 = HEAP32[$8 >> 2] | 0; + $26 = HEAP32[$10 >> 2] | 0; + if (($25 | 0) > ($26 | 0)) break L1; + } + STACKTOP = sp; + return $$0284 | 0; + } while (0); + $37 = $0 + 36 | 0; + if ((HEAP32[$37 >> 2] | 0) > 0) { + $42 = $0 + 156 | 0; + $43 = $0 + 4 | 0; + $44 = $4 + 112 | 0; + $45 = $0 + 472 | 0; + $46 = $2 + 2 | 0; + $47 = $2 + 16 | 0; + $48 = $2 + 32 | 0; + $49 = $2 + 18 | 0; + $50 = $2 + 4 | 0; + $$0299354 = 0; + $$0312353 = HEAP32[$0 + 216 >> 2] | 0; + while (1) { + if (HEAP32[$$0312353 + 52 >> 2] | 0) { + $54 = HEAP32[$42 >> 2] | 0; + if ($54 >>> 0 < $7 >>> 0) { + $57 = HEAP32[$$0312353 + 12 >> 2] | 0; + $$0303 = $57 << 1; + $$0308 = 0; + $$1302 = $57; + $68 = $57; + } else { + $62 = HEAP32[$$0312353 + 12 >> 2] | 0; + $63 = ((HEAP32[$$0312353 + 32 >> 2] | 0) >>> 0) % ($62 >>> 0) | 0; + $spec$select = ($63 | 0) == 0 ? $62 : $63; + $$0303 = $spec$select; + $$0308 = 1; + $$1302 = $spec$select; + $68 = $62; + } + if (!$54) { + $$0304 = FUNCTION_TABLE_iiiiii[HEAP32[(HEAP32[$43 >> 2] | 0) + 32 >> 2] & 31]($0, HEAP32[$4 + 72 + ($$0299354 << 2) >> 2] | 0, 0, $$0303, 0) | 0; + $$0309 = 1; + } else { + $75 = Math_imul($68, $54 + -1 | 0) | 0; + $76 = FUNCTION_TABLE_iiiiii[HEAP32[(HEAP32[$43 >> 2] | 0) + 32 >> 2] & 31]($0, HEAP32[$4 + 72 + ($$0299354 << 2) >> 2] | 0, $75, $68 + $$0303 | 0, 0) | 0; + $$0304 = $76 + (HEAP32[$$0312353 + 12 >> 2] << 2) | 0; + $$0309 = 0; + } + $87 = (HEAP32[$44 >> 2] | 0) + ($$0299354 * 6 << 2) | 0; + $89 = HEAP32[$$0312353 + 80 >> 2] | 0; + $91 = HEAPU16[$89 >> 1] | 0; + $94 = HEAPU16[$89 + 2 >> 1] | 0; + $97 = HEAPU16[$89 + 16 >> 1] | 0; + $100 = HEAPU16[$89 + 32 >> 1] | 0; + $103 = HEAPU16[$89 + 18 >> 1] | 0; + $106 = HEAPU16[$89 + 4 >> 1] | 0; + $109 = HEAP32[(HEAP32[$45 >> 2] | 0) + 4 + ($$0299354 << 2) >> 2] | 0; + if (($$1302 | 0) > 0) { + $113 = ($$0309 | 0) != 0; + $114 = ($$0308 | 0) != 0; + $115 = $$1302 + -1 | 0; + $116 = $$0312353 + 28 | 0; + $117 = $87 + 4 | 0; + $118 = $87 + 8 | 0; + $119 = $87 + 12 | 0; + $120 = $91 * 36 | 0; + $121 = $94 << 7; + $122 = $87 + 16 | 0; + $123 = $97 << 7; + $124 = $94 << 8; + $125 = $87 + 20 | 0; + $126 = $91 * 9 | 0; + $127 = $100 << 7; + $128 = $97 << 8; + $129 = $$0312353 + 36 | 0; + $130 = $91 * 5 | 0; + $131 = $103 << 7; + $132 = $100 << 8; + $133 = $106 << 7; + $134 = $103 << 8; + $135 = $106 << 8; + $136 = $$0312353 + 40 | 0; + $$0300352 = 0; + $$0314351 = HEAP32[$1 + ($$0299354 << 2) >> 2] | 0; + while (1) { + $138 = HEAP32[$$0304 + ($$0300352 << 2) >> 2] | 0; + if ($113 & ($$0300352 | 0) == 0) $$0306 = $138; else $$0306 = HEAP32[$$0304 + ($$0300352 + -1 << 2) >> 2] | 0; + if ($114 & ($$0300352 | 0) == ($115 | 0)) $$0310 = $138; else $$0310 = HEAP32[$$0304 + ($$0300352 + 1 << 2) >> 2] | 0; + $148 = HEAP16[$$0306 >> 1] | 0; + $150 = HEAP16[$138 >> 1] | 0; + $152 = HEAP16[$$0310 >> 1] | 0; + $154 = (HEAP32[$116 >> 2] | 0) + -1 | 0; + $$0288350 = $152; + $$0289349 = $152; + $$0292348 = $150; + $$0293347 = $150; + $$0296346 = $148; + $$0297345 = $148; + $$0298344 = 0; + $$0305343 = $138; + $$0313340 = 0; + $$1307342 = $$0306; + $$1311341 = $$0310; + while (1) { + _jcopy_block_row($$0305343, $2, 1); + if ($$0298344 >>> 0 < $154 >>> 0) { + $$1287 = HEAP16[$$1311341 + 128 >> 1] | 0; + $$1291 = HEAP16[$$0305343 + 128 >> 1] | 0; + $$1295 = HEAP16[$$1307342 + 128 >> 1] | 0; + } else { + $$1287 = $$0288350; + $$1291 = $$0292348; + $$1295 = $$0296346; + } + $165 = HEAP32[$117 >> 2] | 0; + if (($165 | 0) != 0 & (HEAP16[$46 >> 1] | 0) == 0) { + $170 = Math_imul($120, $$0293347 - $$1291 | 0) | 0; + if (($170 | 0) > -1) { + $173 = ($170 + $121 | 0) / ($124 | 0) | 0; + $175 = 1 << $165; + $$1 = ($165 | 0) > 0 ? (($173 | 0) < ($175 | 0) ? $173 : $175 + -1 | 0) : $173; + } else { + $179 = ($121 - $170 | 0) / ($124 | 0) | 0; + $181 = 1 << $165; + $$1 = 0 - (($165 | 0) > 0 ? (($179 | 0) < ($181 | 0) ? $179 : $181 + -1 | 0) : $179) | 0; + } + HEAP16[$46 >> 1] = $$1; + } + $186 = HEAP32[$118 >> 2] | 0; + if (($186 | 0) != 0 & (HEAP16[$47 >> 1] | 0) == 0) { + $191 = Math_imul($120, $$0296346 - $$0288350 | 0) | 0; + if (($191 | 0) > -1) { + $194 = ($191 + $123 | 0) / ($128 | 0) | 0; + $196 = 1 << $186; + $$3 = ($186 | 0) > 0 ? (($194 | 0) < ($196 | 0) ? $194 : $196 + -1 | 0) : $194; + } else { + $200 = ($123 - $191 | 0) / ($128 | 0) | 0; + $202 = 1 << $186; + $$3 = 0 - (($186 | 0) > 0 ? (($200 | 0) < ($202 | 0) ? $200 : $202 + -1 | 0) : $200) | 0; + } + HEAP16[$47 >> 1] = $$3; + } + $207 = HEAP32[$119 >> 2] | 0; + if (($207 | 0) != 0 & (HEAP16[$48 >> 1] | 0) == 0) { + $214 = Math_imul($126, $$0296346 - ($$0292348 << 1) + $$0288350 | 0) | 0; + if (($214 | 0) > -1) { + $217 = ($214 + $127 | 0) / ($132 | 0) | 0; + $219 = 1 << $207; + $$5 = ($207 | 0) > 0 ? (($217 | 0) < ($219 | 0) ? $217 : $219 + -1 | 0) : $217; + } else { + $223 = ($127 - $214 | 0) / ($132 | 0) | 0; + $225 = 1 << $207; + $$5 = 0 - (($207 | 0) > 0 ? (($223 | 0) < ($225 | 0) ? $223 : $225 + -1 | 0) : $223) | 0; + } + HEAP16[$48 >> 1] = $$5; + } + $230 = HEAP32[$122 >> 2] | 0; + if (($230 | 0) != 0 & (HEAP16[$49 >> 1] | 0) == 0) { + $237 = Math_imul($130, $$0297345 - $$0289349 - $$1295 + $$1287 | 0) | 0; + if (($237 | 0) > -1) { + $240 = ($237 + $131 | 0) / ($134 | 0) | 0; + $242 = 1 << $230; + $$7 = ($230 | 0) > 0 ? (($240 | 0) < ($242 | 0) ? $240 : $242 + -1 | 0) : $240; + } else { + $246 = ($131 - $237 | 0) / ($134 | 0) | 0; + $248 = 1 << $230; + $$7 = 0 - (($230 | 0) > 0 ? (($246 | 0) < ($248 | 0) ? $246 : $248 + -1 | 0) : $246) | 0; + } + HEAP16[$49 >> 1] = $$7; + } + $253 = HEAP32[$125 >> 2] | 0; + if (($253 | 0) != 0 & (HEAP16[$50 >> 1] | 0) == 0) { + $260 = Math_imul($126, $$0293347 - ($$0292348 << 1) + $$1291 | 0) | 0; + if (($260 | 0) > -1) { + $263 = ($260 + $133 | 0) / ($135 | 0) | 0; + $265 = 1 << $253; + $$9 = ($253 | 0) > 0 ? (($263 | 0) < ($265 | 0) ? $263 : $265 + -1 | 0) : $263; + } else { + $269 = ($133 - $260 | 0) / ($135 | 0) | 0; + $271 = 1 << $253; + $$9 = 0 - (($253 | 0) > 0 ? (($269 | 0) < ($271 | 0) ? $269 : $271 + -1 | 0) : $269) | 0; + } + HEAP16[$50 >> 1] = $$9; + } + FUNCTION_TABLE_viiiii[$109 & 63]($0, $$0312353, $2, $$0314351, $$0313340); + $$0298344 = $$0298344 + 1 | 0; + if ($$0298344 >>> 0 > $154 >>> 0) break; else { + $$0297345$phi = $$0296346; + $$0293347$phi = $$0292348; + $$0289349$phi = $$0288350; + $$0288350 = $$1287; + $$0292348 = $$1291; + $$0296346 = $$1295; + $$0305343 = $$0305343 + 128 | 0; + $$0313340 = (HEAP32[$129 >> 2] | 0) + $$0313340 | 0; + $$1307342 = $$1307342 + 128 | 0; + $$1311341 = $$1311341 + 128 | 0; + $$0297345 = $$0297345$phi; + $$0293347 = $$0293347$phi; + $$0289349 = $$0289349$phi; + } + } + $$0300352 = $$0300352 + 1 | 0; + if (($$0300352 | 0) == ($$1302 | 0)) break; else $$0314351 = $$0314351 + (HEAP32[$136 >> 2] << 2) | 0; + } + } + } + $$0299354 = $$0299354 + 1 | 0; + if (($$0299354 | 0) >= (HEAP32[$37 >> 2] | 0)) { + $$pre$phiZ2D = $42; + break; + } else $$0312353 = $$0312353 + 88 | 0; + } + } else $$pre$phiZ2D = $0 + 156 | 0; + $291 = (HEAP32[$$pre$phiZ2D >> 2] | 0) + 1 | 0; + HEAP32[$$pre$phiZ2D >> 2] = $291; + $$0284 = $291 >>> 0 < (HEAP32[$5 >> 2] | 0) >>> 0 ? 3 : 4; + STACKTOP = sp; + return $$0284 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E16parseSpecialNameEv($0) { + $0 = $0 | 0; + var $$0 = 0, $$1 = 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, $1 = 0, $10 = 0, $16 = 0, $2 = 0, $22 = 0, $28 = 0, $36 = 0, $41 = 0, $42 = 0, $46 = 0, $52 = 0, $58 = 0, $64 = 0, $67 = 0, $76 = 0, $82 = 0, $84 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp + 8 | 0; + $2 = sp; + L1 : do switch ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 0) | 0) << 24 >> 24 | 0) { + case 84: + { + switch ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 1) | 0) << 24 >> 24 | 0) { + case 86: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $10 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseTypeEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$1 >> 2] = $10; + if (!$10) $$0 = 0; else $$0 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_11SpecialNameEJRA12_KcRPNS0_4NodeEEEESC_DpOT0_($0, $1) | 0; + $$14 = $$0; + break L1; + break; + } + case 84: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $16 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseTypeEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$1 >> 2] = $16; + if (!$16) $$1 = 0; else $$1 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_11SpecialNameEJRA9_KcRPNS0_4NodeEEEESC_DpOT0_($0, $1) | 0; + $$14 = $$1; + break L1; + break; + } + case 73: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $22 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseTypeEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$1 >> 2] = $22; + if (!$22) $$2 = 0; else $$2 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_11SpecialNameEJRA14_KcRPNS0_4NodeEEEESC_DpOT0_($0, $1) | 0; + $$14 = $$2; + break L1; + break; + } + case 83: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $28 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseTypeEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$1 >> 2] = $28; + if (!$28) $$3 = 0; else $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_11SpecialNameEJRA19_KcRPNS0_4NodeEEEESC_DpOT0_($0, $1) | 0; + $$14 = $$3; + break L1; + break; + } + case 99: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseCallOffsetEv($0) | 0) { + $$14 = 0; + break L1; + } + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseCallOffsetEv($0) | 0) { + $$14 = 0; + break L1; + } + $36 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E13parseEncodingEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$1 >> 2] = $36; + if (!$36) $$4 = 0; else $$4 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_11SpecialNameEJRA27_KcRPNS0_4NodeEEEESC_DpOT0_($0, $1) | 0; + $$14 = $$4; + break L1; + break; + } + case 67: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $41 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + $42 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseTypeEv($41) | 0; + HEAP32[$1 >> 2] = $42; + do if ($42) { + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E11parseNumberEb($2, $0, 1); + if (__ZNK12_GLOBAL__N_110StringView5emptyEv($2) | 0) { + $$6 = 0; + break; + } + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 95) | 0) { + $46 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseTypeEv($41) | 0; + HEAP32[$2 >> 2] = $46; + if (!$46) $$5 = 0; else $$5 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_21CtorVtableSpecialNameEJRPNS0_4NodeESA_EEES9_DpOT0_($0, $2, $1) | 0; + $$6 = $$5; + } else $$6 = 0; + } else $$6 = 0; while (0); + $$14 = $$6; + break L1; + break; + } + case 87: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $52 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseNameEPNS5_9NameStateE(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0, 0) | 0; + HEAP32[$1 >> 2] = $52; + if (!$52) $$7 = 0; else $$7 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_11SpecialNameEJRA34_KcRPNS0_4NodeEEEESC_DpOT0_($0, 56739, $1) | 0; + $$14 = $$7; + break L1; + break; + } + case 72: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $58 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseNameEPNS5_9NameStateE(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0, 0) | 0; + HEAP32[$1 >> 2] = $58; + if (!$58) $$8 = 0; else $$8 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_11SpecialNameEJRA41_KcRPNS0_4NodeEEEESC_DpOT0_($0, $1) | 0; + $$14 = $$8; + break L1; + break; + } + default: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $64 = (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 0) | 0) << 24 >> 24 == 118; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseCallOffsetEv($0) | 0) { + $$14 = 0; + break L1; + } + $67 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E13parseEncodingEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$1 >> 2] = $67; + do if ($67) if ($64) { + $$9 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_11SpecialNameEJRA18_KcRPNS0_4NodeEEEESC_DpOT0_($0, $1) | 0; + break; + } else { + $$9 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_11SpecialNameEJRA22_KcRPNS0_4NodeEEEESC_DpOT0_($0, $1) | 0; + break; + } else $$9 = 0; while (0); + $$14 = $$9; + break L1; + } + } + break; + } + case 71: + { + switch ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 1) | 0) << 24 >> 24 | 0) { + case 86: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $76 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseNameEPNS5_9NameStateE(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0, 0) | 0; + HEAP32[$1 >> 2] = $76; + if (!$76) $$11 = 0; else $$11 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_11SpecialNameEJRA20_KcRPNS0_4NodeEEEESC_DpOT0_($0, $1) | 0; + $$14 = $$11; + break L1; + break; + } + case 82: + break; + default: + { + $$14 = 0; + break L1; + } + } + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $82 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseNameEPNS5_9NameStateE(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0, 0) | 0; + HEAP32[$1 >> 2] = $82; + if (!$82) $$13 = 0; else { + $84 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10parseSeqIdEPm($0, $2) | 0; + if ($84 | (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 95) | 0)) $$12 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_11SpecialNameEJRA25_KcRPNS0_4NodeEEEESC_DpOT0_($0, $1) | 0; else $$12 = 0; + $$13 = $$12; + } + $$14 = $$13; + break; + } + default: + $$14 = 0; + } while (0); + STACKTOP = sp; + return $$14 | 0; +} + +function _ar2SelectTemplate($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 $$0248 = 0, $$0250 = 0, $$0253 = 0, $$0255 = 0, $$0256 = 0, $$0257 = 0, $$0258 = 0, $$0259 = 0.0, $$0261 = 0.0, $$0263 = 0, $$0265 = 0, $$0266 = 0.0, $$0268 = 0, $$0270 = 0, $$0271 = 0.0, $$0273 = 0, $$0274 = 0, $$1 = 0, $$1249 = 0, $$1251 = 0, $$1254 = 0, $$1260 = 0.0, $$1262 = 0.0, $$1264 = 0, $$1267 = 0.0, $$1269 = 0, $$1272 = 0.0, $$1275 = 0, $$2 = 0, $$2252 = 0, $$279 = 0, $$280 = 0, $$3 = 0, $$4 = 0, $$pre = 0.0, $10 = 0, $101 = 0.0, $104 = 0.0, $11 = 0, $111 = 0.0, $112 = 0.0, $120 = 0.0, $123 = 0.0, $125 = 0.0, $128 = 0.0, $129 = 0, $130 = 0, $131 = 0.0, $132 = 0.0, $133 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $138 = 0, $14 = 0.0, $140 = 0, $144 = 0.0, $147 = 0, $148 = 0.0, $153 = 0.0, $160 = 0, $161 = 0.0, $162 = 0.0, $163 = 0.0, $169 = 0, $17 = 0.0, $176 = 0.0, $181 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $19 = 0.0, $203 = 0, $206 = 0, $207 = 0, $219 = 0, $22 = 0.0, $220 = 0, $221 = 0, $24 = 0.0, $26 = 0.0, $30 = 0.0, $34 = 0.0, $37 = 0.0, $39 = 0.0, $41 = 0.0, $47 = 0.0, $50 = 0.0, $52 = 0.0, $55 = 0.0, $56 = 0, $6 = 0, $60 = 0.0, $64 = 0.0, $68 = 0.0, $7 = 0, $71 = 0.0, $73 = 0.0, $79 = 0.0, $8 = 0, $82 = 0.0, $84 = 0.0, $87 = 0.0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $94 = 0.0, $98 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $6 = sp + 20 | 0; + $7 = sp + 16 | 0; + $8 = sp + 12 | 0; + $9 = sp + 8 | 0; + $10 = sp + 4 | 0; + $11 = sp; + L1 : do if (($2 | 0) < 0) $$1 = -1; else switch ($2 | 0) { + case 0: + { + $14 = +(($4 | 0) / 8 | 0 | 0); + $17 = +(($4 * 7 | 0) / 8 | 0 | 0); + $19 = +(($5 | 0) / 8 | 0 | 0); + $22 = +(($5 * 7 | 0) / 8 | 0 | 0); + $24 = +(($4 | 0) / 2 | 0 | 0); + $26 = +(($5 | 0) / 2 | 0 | 0); + $$0259 = 0.0; + $$0273 = 0; + $$0274 = -1; + L38 : while (1) { + switch (HEAP32[$0 + ($$0273 * 24 | 0) + 12 >> 2] | 0) { + case -1: + { + break L38; + break; + } + case 0: + { + $30 = +HEAPF32[$0 + ($$0273 * 24 | 0) + 16 >> 2]; + if ((!($30 < $14 | $30 > $17) ? ($34 = +HEAPF32[$0 + ($$0273 * 24 | 0) + 20 >> 2], !($34 < $19 | $34 > $22)) : 0) ? ($37 = $30 - $24, $39 = $34 - $26, $41 = $37 * $37 + $39 * $39, $41 > $$0259) : 0) { + $$1260 = $41; + $$1275 = $$0273; + } else { + $$1260 = $$0259; + $$1275 = $$0274; + } + break; + } + default: + { + $$1260 = $$0259; + $$1275 = $$0274; + } + } + $$0259 = $$1260; + $$0273 = $$0273 + 1 | 0; + $$0274 = $$1275; + } + if (($$0274 | 0) == -1) { + $$1 = -1; + break L1; + } + HEAP32[$0 + ($$0274 * 24 | 0) + 12 >> 2] = 1; + $$1 = $$0274; + break L1; + break; + } + case 1: + { + $47 = +(($4 | 0) / 8 | 0 | 0); + $50 = +(($4 * 7 | 0) / 8 | 0 | 0); + $52 = +(($5 | 0) / 8 | 0 | 0); + $55 = +(($5 * 7 | 0) / 8 | 0 | 0); + $56 = $3 + 4 | 0; + $$0268 = -1; + $$0270 = 0; + $$0271 = 0.0; + L49 : while (1) { + switch (HEAP32[$0 + ($$0270 * 24 | 0) + 12 >> 2] | 0) { + case -1: + { + break L49; + break; + } + case 0: + { + $60 = +HEAPF32[$0 + ($$0270 * 24 | 0) + 16 >> 2]; + if ((!($60 < $47 | $60 > $50) ? ($64 = +HEAPF32[$0 + ($$0270 * 24 | 0) + 20 >> 2], !($64 < $52 | $64 > $55)) : 0) ? ($68 = $60 - +HEAPF32[$3 >> 2], $71 = $64 - +HEAPF32[$56 >> 2], $73 = $68 * $68 + $71 * $71, $73 > $$0271) : 0) { + $$1269 = $$0270; + $$1272 = $73; + } else { + $$1269 = $$0268; + $$1272 = $$0271; + } + break; + } + default: + { + $$1269 = $$0268; + $$1272 = $$0271; + } + } + $$0268 = $$1269; + $$0270 = $$0270 + 1 | 0; + $$0271 = $$1272; + } + if (($$0268 | 0) == -1) { + $$1 = -1; + break L1; + } + HEAP32[$0 + ($$0268 * 24 | 0) + 12 >> 2] = 1; + $$1 = $$0268; + break L1; + break; + } + case 2: + { + $79 = +(($4 | 0) / 8 | 0 | 0); + $82 = +(($4 * 7 | 0) / 8 | 0 | 0); + $84 = +(($5 | 0) / 8 | 0 | 0); + $87 = +(($5 * 7 | 0) / 8 | 0 | 0); + $88 = $3 + 12 | 0; + $89 = $3 + 4 | 0; + $90 = $3 + 8 | 0; + $$0263 = -1; + $$0265 = 0; + $$0266 = 0.0; + L60 : while (1) { + switch (HEAP32[$0 + ($$0265 * 24 | 0) + 12 >> 2] | 0) { + case -1: + { + break L60; + break; + } + case 0: + { + $94 = +HEAPF32[$0 + ($$0265 * 24 | 0) + 16 >> 2]; + if ((!($94 < $79 | $94 > $82) ? ($98 = +HEAPF32[$0 + ($$0265 * 24 | 0) + 20 >> 2], !($98 < $84 | $98 > $87)) : 0) ? ($101 = +HEAPF32[$3 >> 2], $104 = +HEAPF32[$89 >> 2], $111 = ($94 - $101) * (+HEAPF32[$88 >> 2] - $104) - ($98 - $104) * (+HEAPF32[$90 >> 2] - $101), $112 = $111 * $111, $112 > $$0266) : 0) { + $$1264 = $$0265; + $$1267 = $112; + } else { + $$1264 = $$0263; + $$1267 = $$0266; + } + break; + } + default: + { + $$1264 = $$0263; + $$1267 = $$0266; + } + } + $$0263 = $$1264; + $$0265 = $$0265 + 1 | 0; + $$0266 = $$1267; + } + if (($$0263 | 0) == -1) { + $$1 = -1; + break L1; + } + HEAP32[$0 + ($$0263 * 24 | 0) + 12 >> 2] = 1; + $$1 = $$0263; + break L1; + break; + } + case 3: + { + _ar2GetVectorAngle($3, $3 + 8 | 0, $6, $7); + _ar2GetVectorAngle($3, $3 + 16 | 0, $8, $9); + $120 = +(($4 | 0) / 8 | 0 | 0); + $123 = +(($4 * 7 | 0) / 8 | 0 | 0); + $125 = +(($5 | 0) / 8 | 0 | 0); + $128 = +(($5 * 7 | 0) / 8 | 0 | 0); + $129 = $3 + 24 | 0; + $130 = $3 + 28 | 0; + $131 = +HEAPF32[$8 >> 2]; + $132 = +HEAPF32[$7 >> 2]; + $133 = $131 * $132; + $134 = +HEAPF32[$9 >> 2]; + $135 = +HEAPF32[$6 >> 2]; + $136 = $134 * $135; + $138 = !($133 - $136 >= 0.0); + $140 = !($136 - $133 >= 0.0); + $$279 = $138 ? 2 : 1; + $$280 = $138 ? 1 : 2; + $$0253 = -1; + $$0255 = 0; + $$0261 = 0.0; + L71 : while (1) { + L73 : do switch (HEAP32[$0 + ($$0255 * 24 | 0) + 12 >> 2] | 0) { + case -1: + { + break L71; + break; + } + case 0: + { + $144 = +HEAPF32[$0 + ($$0255 * 24 | 0) + 16 >> 2]; + if (!($144 < $120 | $144 > $123) ? ($147 = $0 + ($$0255 * 24 | 0) + 20 | 0, $148 = +HEAPF32[$147 >> 2], !($148 < $125 | $148 > $128)) : 0) { + HEAPF32[$129 >> 2] = $144; + HEAP32[$130 >> 2] = HEAP32[$147 >> 2]; + _ar2GetVectorAngle($3, $129, $10, $11); + $$pre = +HEAPF32[$10 >> 2]; + if (!$138) { + $153 = +HEAPF32[$11 >> 2]; + if (!($132 * $$pre - $135 * $153 >= 0.0)) { + $163 = $153; + label = 39; + } else { + $160 = !($134 * $$pre - $131 * $153 >= 0.0); + $$0256 = $160 ? 2 : 3; + $$0257 = $160 ? 3 : 2; + $$0258 = 1; + } + } else { + $163 = +HEAPF32[$11 >> 2]; + label = 39; + } + do if ((label | 0) == 39) { + label = 0; + $161 = $134 * $$pre; + $162 = $131 * $163; + if ($140 | !($161 - $162 >= 0.0)) if ($162 - $161 >= 0.0 ? !($135 * $163 - $132 * $$pre >= 0.0) : 1) { + $$1254 = $$0253; + $$1262 = $$0261; + break L73; + } else { + $$0256 = $$280; + $$0257 = $$279; + $$0258 = 3; + break; + } else { + $169 = !($132 * $$pre - $135 * $163 >= 0.0); + $$0256 = $169 ? 1 : 3; + $$0257 = $169 ? 3 : 1; + $$0258 = 2; + break; + } + } while (0); + $176 = +_ar2GetRegionArea($3, $$0258, $$0257, $$0256); + if ($176 > $$0261) { + $$1254 = $$0255; + $$1262 = $176; + } else { + $$1254 = $$0253; + $$1262 = $$0261; + } + } else { + $$1254 = $$0253; + $$1262 = $$0261; + } + break; + } + default: + { + $$1254 = $$0253; + $$1262 = $$0261; + } + } while (0); + $$0253 = $$1254; + $$0255 = $$0255 + 1 | 0; + $$0261 = $$1262; + } + if (($$0253 | 0) != -1) HEAP32[$0 + ($$0253 * 24 | 0) + 12 >> 2] = 1; + $$1 = $$0253; + break L1; + break; + } + default: + { + $$0250 = 0; + L5 : while (1) { + $181 = $1 + ($$0250 * 24 | 0) + 12 | 0; + L7 : do switch (HEAP32[$181 >> 2] | 0) { + case -1: + { + break L5; + break; + } + case 0: + { + HEAP32[$181 >> 2] = 1; + $183 = $1 + ($$0250 * 24 | 0) | 0; + $184 = $1 + ($$0250 * 24 | 0) + 4 | 0; + $185 = $1 + ($$0250 * 24 | 0) + 8 | 0; + $$0248 = 0; + while (1) { + $186 = $0 + ($$0248 * 24 | 0) + 12 | 0; + switch (HEAP32[$186 >> 2] | 0) { + case -1: + { + break L7; + break; + } + case 0: + { + if (((HEAP32[$183 >> 2] | 0) == (HEAP32[$0 + ($$0248 * 24 | 0) >> 2] | 0) ? (HEAP32[$184 >> 2] | 0) == (HEAP32[$0 + ($$0248 * 24 | 0) + 4 >> 2] | 0) : 0) ? (HEAP32[$185 >> 2] | 0) == (HEAP32[$0 + ($$0248 * 24 | 0) + 8 >> 2] | 0) : 0) { + label = 55; + break L5; + } + break; + } + default: + {} + } + $$0248 = $$0248 + 1 | 0; + } + break; + } + default: + {} + } while (0); + $$0250 = $$0250 + 1 | 0; + } + if ((label | 0) == 55) { + HEAP32[$186 >> 2] = 1; + $$1 = $$0248; + break L1; + } + HEAP32[$1 + 12 >> 2] = -1; + $203 = HEAP32[16309] | 0; + if (!$203) { + _srand(_time(0) | 0); + $207 = HEAP32[16309] | 0; + } else $207 = $203; + $206 = $207 + 1 | 0; + HEAP32[16309] = ($206 | 0) == 128 ? 0 : $206; + $$1249 = 0; + $$1251 = 0; + L23 : while (1) { + switch (HEAP32[$0 + ($$1251 * 24 | 0) + 12 >> 2] | 0) { + case -1: + { + break L23; + break; + } + case 0: + { + $$2 = $$1249 + 1 | 0; + break; + } + default: + $$2 = $$1249; + } + $$1249 = $$2; + $$1251 = $$1251 + 1 | 0; + } + if (!$$1249) { + $$1 = -1; + break L1; + } + $219 = ~~(+($$1249 | 0) * +(_rand() | 0) * 4.656612873077393e-10); + $$2252 = 0; + $$3 = 0; + L30 : while (1) { + $220 = $0 + ($$2252 * 24 | 0) + 12 | 0; + $221 = HEAP32[$220 >> 2] | 0; + switch ($221 | 0) { + case -1: + { + $$1 = $221; + break L1; + break; + } + case 0: + { + if (($$3 | 0) == ($219 | 0)) break L30; + $$4 = $$3 + 1 | 0; + break; + } + default: + $$4 = $$3; + } + $$2252 = $$2252 + 1 | 0; + $$3 = $$4; + } + HEAP32[$220 >> 2] = 1; + $$1 = $$2252; + break L1; + } + } while (0); + STACKTOP = sp; + return $$1 | 0; +} + +function _jpeg_idct_4x8($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0199209 = 0, $$0201208 = 0, $$0203207 = 0, $$0210 = 0, $$sink = 0, $$sink212 = 0, $100 = 0, $101 = 0, $103 = 0, $106 = 0, $107 = 0, $109 = 0, $11 = 0, $113 = 0, $115 = 0, $117 = 0, $121 = 0, $123 = 0, $13 = 0, $149 = 0, $151 = 0, $153 = 0, $155 = 0, $157 = 0, $159 = 0, $161 = 0, $163 = 0, $165 = 0, $167 = 0, $169 = 0, $196 = 0, $198 = 0, $200 = 0, $202 = 0, $204 = 0, $206 = 0, $208 = 0, $210 = 0, $212 = 0, $214 = 0, $241 = 0, $243 = 0, $245 = 0, $247 = 0, $249 = 0, $251 = 0, $253 = 0, $255 = 0, $257 = 0, $259 = 0, $286 = 0, $288 = 0, $290 = 0, $292 = 0, $294 = 0, $296 = 0, $298 = 0, $300 = 0, $302 = 0, $304 = 0, $331 = 0, $333 = 0, $335 = 0, $337 = 0, $339 = 0, $341 = 0, $343 = 0, $345 = 0, $347 = 0, $349 = 0, $35 = 0, $376 = 0, $378 = 0, $380 = 0, $382 = 0, $384 = 0, $386 = 0, $388 = 0, $390 = 0, $392 = 0, $394 = 0, $421 = 0, $423 = 0, $425 = 0, $427 = 0, $429 = 0, $431 = 0, $433 = 0, $435 = 0, $437 = 0, $439 = 0, $466 = 0, $468 = 0, $470 = 0, $472 = 0, $474 = 0, $476 = 0, $478 = 0, $480 = 0, $482 = 0, $484 = 0, $5 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $58 = 0, $61 = 0, $67 = 0, $69 = 0, $7 = 0, $71 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $83 = 0, $89 = 0, $95 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(128); + $5 = sp; + $7 = HEAP32[$0 + 336 >> 2] | 0; + $$0199209 = $5; + $$0201208 = HEAP32[$1 + 84 >> 2] | 0; + $$0203207 = $2; + $$0210 = 4; + while (1) { + $11 = HEAP16[$$0203207 + 16 >> 1] | 0; + $13 = HEAP16[$$0203207 + 32 >> 1] | 0; + if (!(($11 | $13) << 16 >> 16)) if (((((HEAP16[$$0203207 + 48 >> 1] | 0) == 0 ? (HEAP16[$$0203207 + 64 >> 1] | 0) == 0 : 0) ? (HEAP16[$$0203207 + 80 >> 1] | 0) == 0 : 0) ? (HEAP16[$$0203207 + 96 >> 1] | 0) == 0 : 0) ? (HEAP16[$$0203207 + 112 >> 1] | 0) == 0 : 0) { + $35 = Math_imul(HEAP16[$$0203207 >> 1] << 2, HEAP32[$$0201208 >> 2] | 0) | 0; + HEAP32[$$0199209 >> 2] = $35; + HEAP32[$$0199209 + 16 >> 2] = $35; + HEAP32[$$0199209 + 32 >> 2] = $35; + HEAP32[$$0199209 + 48 >> 2] = $35; + HEAP32[$$0199209 + 64 >> 2] = $35; + HEAP32[$$0199209 + 80 >> 2] = $35; + HEAP32[$$0199209 + 96 >> 2] = $35; + $$sink = $35; + $$sink212 = 28; + } else { + $58 = 0; + label = 9; + } else { + $58 = $13; + label = 9; + } + if ((label | 0) == 9) { + label = 0; + $53 = Math_imul(HEAP16[$$0203207 + 64 >> 1] << 13, HEAP32[$$0201208 + 128 >> 2] | 0) | 0; + $54 = Math_imul(HEAP16[$$0203207 >> 1] << 13, HEAP32[$$0201208 >> 2] | 0) | 0 | 1024; + $55 = $53 + $54 | 0; + $56 = $54 - $53 | 0; + $61 = Math_imul(HEAP32[$$0201208 + 64 >> 2] | 0, $58 << 16 >> 16) | 0; + $67 = Math_imul(HEAP32[$$0201208 + 192 >> 2] | 0, HEAP16[$$0203207 + 96 >> 1] | 0) | 0; + $69 = ($67 + $61 | 0) * 4433 | 0; + $71 = $69 + ($61 * 6270 | 0) | 0; + $73 = $69 + (Math_imul($67, -15137) | 0) | 0; + $74 = $71 + $55 | 0; + $75 = $55 - $71 | 0; + $76 = $73 + $56 | 0; + $77 = $56 - $73 | 0; + $83 = Math_imul(HEAP32[$$0201208 + 224 >> 2] | 0, HEAP16[$$0203207 + 112 >> 1] | 0) | 0; + $89 = Math_imul(HEAP32[$$0201208 + 160 >> 2] | 0, HEAP16[$$0203207 + 80 >> 1] | 0) | 0; + $95 = Math_imul(HEAP32[$$0201208 + 96 >> 2] | 0, HEAP16[$$0203207 + 48 >> 1] | 0) | 0; + $99 = Math_imul(HEAP32[$$0201208 + 32 >> 2] | 0, $11 << 16 >> 16) | 0; + $100 = $95 + $83 | 0; + $101 = $99 + $89 | 0; + $103 = ($101 + $100 | 0) * 9633 | 0; + $106 = $103 + (Math_imul($100, -16069) | 0) | 0; + $107 = $103 + (Math_imul($101, -3196) | 0) | 0; + $109 = Math_imul($99 + $83 | 0, -7373) | 0; + $113 = $109 + ($83 * 2446 | 0) + $106 | 0; + $115 = $109 + ($99 * 12299 | 0) + $107 | 0; + $117 = Math_imul($95 + $89 | 0, -20995) | 0; + $121 = $117 + ($89 * 16819 | 0) + $107 | 0; + $123 = $117 + ($95 * 25172 | 0) + $106 | 0; + HEAP32[$$0199209 >> 2] = $115 + $74 >> 11; + HEAP32[$$0199209 + 112 >> 2] = $74 - $115 >> 11; + HEAP32[$$0199209 + 16 >> 2] = $123 + $76 >> 11; + HEAP32[$$0199209 + 96 >> 2] = $76 - $123 >> 11; + HEAP32[$$0199209 + 32 >> 2] = $121 + $77 >> 11; + HEAP32[$$0199209 + 80 >> 2] = $77 - $121 >> 11; + HEAP32[$$0199209 + 48 >> 2] = $113 + $75 >> 11; + $$sink = $75 - $113 >> 11; + $$sink212 = 16; + } + HEAP32[$$0199209 + ($$sink212 << 2) >> 2] = $$sink; + if ($$0210 >>> 0 > 1) { + $$0199209 = $$0199209 + 4 | 0; + $$0201208 = $$0201208 + 4 | 0; + $$0203207 = $$0203207 + 2 | 0; + $$0210 = $$0210 + -1 | 0; + } else break; + } + $149 = $7 + -384 | 0; + $151 = (HEAP32[$3 >> 2] | 0) + $4 | 0; + $153 = (HEAP32[$5 >> 2] | 0) + 16400 | 0; + $155 = HEAP32[$5 + 8 >> 2] | 0; + $157 = $153 + $155 << 13; + $159 = $153 - $155 << 13; + $161 = HEAP32[$5 + 4 >> 2] | 0; + $163 = HEAP32[$5 + 12 >> 2] | 0; + $165 = ($163 + $161 | 0) * 4433 | 0; + $167 = $165 + ($161 * 6270 | 0) | 0; + $169 = $165 + (Math_imul($163, -15137) | 0) | 0; + HEAP8[$151 >> 0] = HEAP8[$149 + (($167 + $157 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$151 + 3 >> 0] = HEAP8[$149 + (($157 - $167 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$151 + 1 >> 0] = HEAP8[$149 + (($169 + $159 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$151 + 2 >> 0] = HEAP8[$149 + (($159 - $169 | 0) >>> 18 & 1023) >> 0] | 0; + $196 = (HEAP32[$3 + 4 >> 2] | 0) + $4 | 0; + $198 = (HEAP32[$5 + 16 >> 2] | 0) + 16400 | 0; + $200 = HEAP32[$5 + 24 >> 2] | 0; + $202 = $198 + $200 << 13; + $204 = $198 - $200 << 13; + $206 = HEAP32[$5 + 20 >> 2] | 0; + $208 = HEAP32[$5 + 28 >> 2] | 0; + $210 = ($208 + $206 | 0) * 4433 | 0; + $212 = $210 + ($206 * 6270 | 0) | 0; + $214 = $210 + (Math_imul($208, -15137) | 0) | 0; + HEAP8[$196 >> 0] = HEAP8[$149 + (($212 + $202 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$196 + 3 >> 0] = HEAP8[$149 + (($202 - $212 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$196 + 1 >> 0] = HEAP8[$149 + (($214 + $204 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$196 + 2 >> 0] = HEAP8[$149 + (($204 - $214 | 0) >>> 18 & 1023) >> 0] | 0; + $241 = (HEAP32[$3 + 8 >> 2] | 0) + $4 | 0; + $243 = (HEAP32[$5 + 32 >> 2] | 0) + 16400 | 0; + $245 = HEAP32[$5 + 40 >> 2] | 0; + $247 = $243 + $245 << 13; + $249 = $243 - $245 << 13; + $251 = HEAP32[$5 + 36 >> 2] | 0; + $253 = HEAP32[$5 + 44 >> 2] | 0; + $255 = ($253 + $251 | 0) * 4433 | 0; + $257 = $255 + ($251 * 6270 | 0) | 0; + $259 = $255 + (Math_imul($253, -15137) | 0) | 0; + HEAP8[$241 >> 0] = HEAP8[$149 + (($257 + $247 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$241 + 3 >> 0] = HEAP8[$149 + (($247 - $257 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$241 + 1 >> 0] = HEAP8[$149 + (($259 + $249 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$241 + 2 >> 0] = HEAP8[$149 + (($249 - $259 | 0) >>> 18 & 1023) >> 0] | 0; + $286 = (HEAP32[$3 + 12 >> 2] | 0) + $4 | 0; + $288 = (HEAP32[$5 + 48 >> 2] | 0) + 16400 | 0; + $290 = HEAP32[$5 + 56 >> 2] | 0; + $292 = $288 + $290 << 13; + $294 = $288 - $290 << 13; + $296 = HEAP32[$5 + 52 >> 2] | 0; + $298 = HEAP32[$5 + 60 >> 2] | 0; + $300 = ($298 + $296 | 0) * 4433 | 0; + $302 = $300 + ($296 * 6270 | 0) | 0; + $304 = $300 + (Math_imul($298, -15137) | 0) | 0; + HEAP8[$286 >> 0] = HEAP8[$149 + (($302 + $292 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$286 + 3 >> 0] = HEAP8[$149 + (($292 - $302 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$286 + 1 >> 0] = HEAP8[$149 + (($304 + $294 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$286 + 2 >> 0] = HEAP8[$149 + (($294 - $304 | 0) >>> 18 & 1023) >> 0] | 0; + $331 = (HEAP32[$3 + 16 >> 2] | 0) + $4 | 0; + $333 = (HEAP32[$5 + 64 >> 2] | 0) + 16400 | 0; + $335 = HEAP32[$5 + 72 >> 2] | 0; + $337 = $333 + $335 << 13; + $339 = $333 - $335 << 13; + $341 = HEAP32[$5 + 68 >> 2] | 0; + $343 = HEAP32[$5 + 76 >> 2] | 0; + $345 = ($343 + $341 | 0) * 4433 | 0; + $347 = $345 + ($341 * 6270 | 0) | 0; + $349 = $345 + (Math_imul($343, -15137) | 0) | 0; + HEAP8[$331 >> 0] = HEAP8[$149 + (($347 + $337 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$331 + 3 >> 0] = HEAP8[$149 + (($337 - $347 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$331 + 1 >> 0] = HEAP8[$149 + (($349 + $339 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$331 + 2 >> 0] = HEAP8[$149 + (($339 - $349 | 0) >>> 18 & 1023) >> 0] | 0; + $376 = (HEAP32[$3 + 20 >> 2] | 0) + $4 | 0; + $378 = (HEAP32[$5 + 80 >> 2] | 0) + 16400 | 0; + $380 = HEAP32[$5 + 88 >> 2] | 0; + $382 = $378 + $380 << 13; + $384 = $378 - $380 << 13; + $386 = HEAP32[$5 + 84 >> 2] | 0; + $388 = HEAP32[$5 + 92 >> 2] | 0; + $390 = ($388 + $386 | 0) * 4433 | 0; + $392 = $390 + ($386 * 6270 | 0) | 0; + $394 = $390 + (Math_imul($388, -15137) | 0) | 0; + HEAP8[$376 >> 0] = HEAP8[$149 + (($392 + $382 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$376 + 3 >> 0] = HEAP8[$149 + (($382 - $392 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$376 + 1 >> 0] = HEAP8[$149 + (($394 + $384 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$376 + 2 >> 0] = HEAP8[$149 + (($384 - $394 | 0) >>> 18 & 1023) >> 0] | 0; + $421 = (HEAP32[$3 + 24 >> 2] | 0) + $4 | 0; + $423 = (HEAP32[$5 + 96 >> 2] | 0) + 16400 | 0; + $425 = HEAP32[$5 + 104 >> 2] | 0; + $427 = $423 + $425 << 13; + $429 = $423 - $425 << 13; + $431 = HEAP32[$5 + 100 >> 2] | 0; + $433 = HEAP32[$5 + 108 >> 2] | 0; + $435 = ($433 + $431 | 0) * 4433 | 0; + $437 = $435 + ($431 * 6270 | 0) | 0; + $439 = $435 + (Math_imul($433, -15137) | 0) | 0; + HEAP8[$421 >> 0] = HEAP8[$149 + (($437 + $427 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$421 + 3 >> 0] = HEAP8[$149 + (($427 - $437 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$421 + 1 >> 0] = HEAP8[$149 + (($439 + $429 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$421 + 2 >> 0] = HEAP8[$149 + (($429 - $439 | 0) >>> 18 & 1023) >> 0] | 0; + $466 = (HEAP32[$3 + 28 >> 2] | 0) + $4 | 0; + $468 = (HEAP32[$5 + 112 >> 2] | 0) + 16400 | 0; + $470 = HEAP32[$5 + 120 >> 2] | 0; + $472 = $468 + $470 << 13; + $474 = $468 - $470 << 13; + $476 = HEAP32[$5 + 116 >> 2] | 0; + $478 = HEAP32[$5 + 124 >> 2] | 0; + $480 = ($478 + $476 | 0) * 4433 | 0; + $482 = $480 + ($476 * 6270 | 0) | 0; + $484 = $480 + (Math_imul($478, -15137) | 0) | 0; + HEAP8[$466 >> 0] = HEAP8[$149 + (($482 + $472 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$466 + 3 >> 0] = HEAP8[$149 + (($472 - $482 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$466 + 1 >> 0] = HEAP8[$149 + (($484 + $474 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$466 + 2 >> 0] = HEAP8[$149 + (($474 - $484 | 0) >>> 18 & 1023) >> 0] | 0; + STACKTOP = sp; + return; +} + +function __ZNSt3__211__money_getIcE13__gather_infoEbRKNS_6localeERNS_10money_base7patternERcS8_RNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEESF_SF_SF_Ri($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + $9 = $9 | 0; + var $$0$i$i$i = 0, $$0$i$i$i43 = 0, $$0$i$i$i51 = 0, $$0$i$i$i59 = 0, $$0$i$i$i67 = 0, $$0$i$i$i75 = 0, $$0$i$i$i83 = 0, $$0$i$i$i91 = 0, $10 = 0, $100 = 0, $104 = 0, $11 = 0, $112 = 0, $115 = 0, $119 = 0, $12 = 0, $127 = 0, $131 = 0, $135 = 0, $138 = 0, $142 = 0, $150 = 0, $153 = 0, $157 = 0, $16 = 0, $20 = 0, $23 = 0, $27 = 0, $35 = 0, $38 = 0, $42 = 0, $50 = 0, $54 = 0, $58 = 0, $61 = 0, $65 = 0, $73 = 0, $76 = 0, $80 = 0, $89 = 0, $93 = 0, $97 = 0, $storemerge = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $10 = sp + 12 | 0; + $11 = sp; + if ($0) { + $12 = __ZNKSt3__26locale9use_facetERNS0_2idE($1, 66744) | 0; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$12 >> 2] | 0) + 44 >> 2] & 255]($10, $12); + $16 = HEAP32[$10 >> 2] | 0; + HEAP8[$2 >> 0] = $16; + HEAP8[$2 + 1 >> 0] = $16 >> 8; + HEAP8[$2 + 2 >> 0] = $16 >> 16; + HEAP8[$2 + 3 >> 0] = $16 >> 24; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$12 >> 2] | 0) + 32 >> 2] & 255]($11, $12); + $20 = $8 + 11 | 0; + if ((HEAP8[$20 >> 0] | 0) < 0) { + $23 = HEAP32[$8 >> 2] | 0; + HEAP8[$10 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($23, $10); + HEAP32[$8 + 4 >> 2] = 0; + if ((HEAP8[$20 >> 0] | 0) < 0) { + $27 = $8 + 8 | 0; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm(HEAP32[$8 >> 2] | 0, HEAP32[$27 >> 2] & 2147483647); + HEAP32[$27 >> 2] = 0; + } + } else { + HEAP8[$10 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($8, $10); + HEAP8[$20 >> 0] = 0; + }; + HEAP32[$8 >> 2] = HEAP32[$11 >> 2]; + HEAP32[$8 + 4 >> 2] = HEAP32[$11 + 4 >> 2]; + HEAP32[$8 + 8 >> 2] = HEAP32[$11 + 8 >> 2]; + $$0$i$i$i = 0; + while (1) { + if (($$0$i$i$i | 0) == 3) break; + HEAP32[$11 + ($$0$i$i$i << 2) >> 2] = 0; + $$0$i$i$i = $$0$i$i$i + 1 | 0; + } + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($11); + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$12 >> 2] | 0) + 28 >> 2] & 255]($11, $12); + $35 = $7 + 11 | 0; + if ((HEAP8[$35 >> 0] | 0) < 0) { + $38 = HEAP32[$7 >> 2] | 0; + HEAP8[$10 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($38, $10); + HEAP32[$7 + 4 >> 2] = 0; + if ((HEAP8[$35 >> 0] | 0) < 0) { + $42 = $7 + 8 | 0; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm(HEAP32[$7 >> 2] | 0, HEAP32[$42 >> 2] & 2147483647); + HEAP32[$42 >> 2] = 0; + } + } else { + HEAP8[$10 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($7, $10); + HEAP8[$35 >> 0] = 0; + }; + HEAP32[$7 >> 2] = HEAP32[$11 >> 2]; + HEAP32[$7 + 4 >> 2] = HEAP32[$11 + 4 >> 2]; + HEAP32[$7 + 8 >> 2] = HEAP32[$11 + 8 >> 2]; + $$0$i$i$i43 = 0; + while (1) { + if (($$0$i$i$i43 | 0) == 3) break; + HEAP32[$11 + ($$0$i$i$i43 << 2) >> 2] = 0; + $$0$i$i$i43 = $$0$i$i$i43 + 1 | 0; + } + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($11); + $50 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$12 >> 2] | 0) + 12 >> 2] & 127]($12) | 0; + HEAP8[$3 >> 0] = $50; + $54 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$12 >> 2] | 0) + 16 >> 2] & 127]($12) | 0; + HEAP8[$4 >> 0] = $54; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$12 >> 2] | 0) + 20 >> 2] & 255]($11, $12); + $58 = $5 + 11 | 0; + if ((HEAP8[$58 >> 0] | 0) < 0) { + $61 = HEAP32[$5 >> 2] | 0; + HEAP8[$10 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($61, $10); + HEAP32[$5 + 4 >> 2] = 0; + if ((HEAP8[$58 >> 0] | 0) < 0) { + $65 = $5 + 8 | 0; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm(HEAP32[$5 >> 2] | 0, HEAP32[$65 >> 2] & 2147483647); + HEAP32[$65 >> 2] = 0; + } + } else { + HEAP8[$10 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($5, $10); + HEAP8[$58 >> 0] = 0; + }; + HEAP32[$5 >> 2] = HEAP32[$11 >> 2]; + HEAP32[$5 + 4 >> 2] = HEAP32[$11 + 4 >> 2]; + HEAP32[$5 + 8 >> 2] = HEAP32[$11 + 8 >> 2]; + $$0$i$i$i51 = 0; + while (1) { + if (($$0$i$i$i51 | 0) == 3) break; + HEAP32[$11 + ($$0$i$i$i51 << 2) >> 2] = 0; + $$0$i$i$i51 = $$0$i$i$i51 + 1 | 0; + } + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($11); + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$12 >> 2] | 0) + 24 >> 2] & 255]($11, $12); + $73 = $6 + 11 | 0; + if ((HEAP8[$73 >> 0] | 0) < 0) { + $76 = HEAP32[$6 >> 2] | 0; + HEAP8[$10 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($76, $10); + HEAP32[$6 + 4 >> 2] = 0; + if ((HEAP8[$73 >> 0] | 0) < 0) { + $80 = $6 + 8 | 0; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm(HEAP32[$6 >> 2] | 0, HEAP32[$80 >> 2] & 2147483647); + HEAP32[$80 >> 2] = 0; + } + } else { + HEAP8[$10 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($6, $10); + HEAP8[$73 >> 0] = 0; + }; + HEAP32[$6 >> 2] = HEAP32[$11 >> 2]; + HEAP32[$6 + 4 >> 2] = HEAP32[$11 + 4 >> 2]; + HEAP32[$6 + 8 >> 2] = HEAP32[$11 + 8 >> 2]; + $$0$i$i$i59 = 0; + while (1) { + if (($$0$i$i$i59 | 0) == 3) break; + HEAP32[$11 + ($$0$i$i$i59 << 2) >> 2] = 0; + $$0$i$i$i59 = $$0$i$i$i59 + 1 | 0; + } + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($11); + $storemerge = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$12 >> 2] | 0) + 36 >> 2] & 127]($12) | 0; + } else { + $89 = __ZNKSt3__26locale9use_facetERNS0_2idE($1, 66736) | 0; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$89 >> 2] | 0) + 44 >> 2] & 255]($10, $89); + $93 = HEAP32[$10 >> 2] | 0; + HEAP8[$2 >> 0] = $93; + HEAP8[$2 + 1 >> 0] = $93 >> 8; + HEAP8[$2 + 2 >> 0] = $93 >> 16; + HEAP8[$2 + 3 >> 0] = $93 >> 24; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$89 >> 2] | 0) + 32 >> 2] & 255]($11, $89); + $97 = $8 + 11 | 0; + if ((HEAP8[$97 >> 0] | 0) < 0) { + $100 = HEAP32[$8 >> 2] | 0; + HEAP8[$10 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($100, $10); + HEAP32[$8 + 4 >> 2] = 0; + if ((HEAP8[$97 >> 0] | 0) < 0) { + $104 = $8 + 8 | 0; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm(HEAP32[$8 >> 2] | 0, HEAP32[$104 >> 2] & 2147483647); + HEAP32[$104 >> 2] = 0; + } + } else { + HEAP8[$10 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($8, $10); + HEAP8[$97 >> 0] = 0; + }; + HEAP32[$8 >> 2] = HEAP32[$11 >> 2]; + HEAP32[$8 + 4 >> 2] = HEAP32[$11 + 4 >> 2]; + HEAP32[$8 + 8 >> 2] = HEAP32[$11 + 8 >> 2]; + $$0$i$i$i67 = 0; + while (1) { + if (($$0$i$i$i67 | 0) == 3) break; + HEAP32[$11 + ($$0$i$i$i67 << 2) >> 2] = 0; + $$0$i$i$i67 = $$0$i$i$i67 + 1 | 0; + } + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($11); + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$89 >> 2] | 0) + 28 >> 2] & 255]($11, $89); + $112 = $7 + 11 | 0; + if ((HEAP8[$112 >> 0] | 0) < 0) { + $115 = HEAP32[$7 >> 2] | 0; + HEAP8[$10 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($115, $10); + HEAP32[$7 + 4 >> 2] = 0; + if ((HEAP8[$112 >> 0] | 0) < 0) { + $119 = $7 + 8 | 0; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm(HEAP32[$7 >> 2] | 0, HEAP32[$119 >> 2] & 2147483647); + HEAP32[$119 >> 2] = 0; + } + } else { + HEAP8[$10 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($7, $10); + HEAP8[$112 >> 0] = 0; + }; + HEAP32[$7 >> 2] = HEAP32[$11 >> 2]; + HEAP32[$7 + 4 >> 2] = HEAP32[$11 + 4 >> 2]; + HEAP32[$7 + 8 >> 2] = HEAP32[$11 + 8 >> 2]; + $$0$i$i$i75 = 0; + while (1) { + if (($$0$i$i$i75 | 0) == 3) break; + HEAP32[$11 + ($$0$i$i$i75 << 2) >> 2] = 0; + $$0$i$i$i75 = $$0$i$i$i75 + 1 | 0; + } + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($11); + $127 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$89 >> 2] | 0) + 12 >> 2] & 127]($89) | 0; + HEAP8[$3 >> 0] = $127; + $131 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$89 >> 2] | 0) + 16 >> 2] & 127]($89) | 0; + HEAP8[$4 >> 0] = $131; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$89 >> 2] | 0) + 20 >> 2] & 255]($11, $89); + $135 = $5 + 11 | 0; + if ((HEAP8[$135 >> 0] | 0) < 0) { + $138 = HEAP32[$5 >> 2] | 0; + HEAP8[$10 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($138, $10); + HEAP32[$5 + 4 >> 2] = 0; + if ((HEAP8[$135 >> 0] | 0) < 0) { + $142 = $5 + 8 | 0; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm(HEAP32[$5 >> 2] | 0, HEAP32[$142 >> 2] & 2147483647); + HEAP32[$142 >> 2] = 0; + } + } else { + HEAP8[$10 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($5, $10); + HEAP8[$135 >> 0] = 0; + }; + HEAP32[$5 >> 2] = HEAP32[$11 >> 2]; + HEAP32[$5 + 4 >> 2] = HEAP32[$11 + 4 >> 2]; + HEAP32[$5 + 8 >> 2] = HEAP32[$11 + 8 >> 2]; + $$0$i$i$i83 = 0; + while (1) { + if (($$0$i$i$i83 | 0) == 3) break; + HEAP32[$11 + ($$0$i$i$i83 << 2) >> 2] = 0; + $$0$i$i$i83 = $$0$i$i$i83 + 1 | 0; + } + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($11); + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$89 >> 2] | 0) + 24 >> 2] & 255]($11, $89); + $150 = $6 + 11 | 0; + if ((HEAP8[$150 >> 0] | 0) < 0) { + $153 = HEAP32[$6 >> 2] | 0; + HEAP8[$10 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($153, $10); + HEAP32[$6 + 4 >> 2] = 0; + if ((HEAP8[$150 >> 0] | 0) < 0) { + $157 = $6 + 8 | 0; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm(HEAP32[$6 >> 2] | 0, HEAP32[$157 >> 2] & 2147483647); + HEAP32[$157 >> 2] = 0; + } + } else { + HEAP8[$10 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($6, $10); + HEAP8[$150 >> 0] = 0; + }; + HEAP32[$6 >> 2] = HEAP32[$11 >> 2]; + HEAP32[$6 + 4 >> 2] = HEAP32[$11 + 4 >> 2]; + HEAP32[$6 + 8 >> 2] = HEAP32[$11 + 8 >> 2]; + $$0$i$i$i91 = 0; + while (1) { + if (($$0$i$i$i91 | 0) == 3) break; + HEAP32[$11 + ($$0$i$i$i91 << 2) >> 2] = 0; + $$0$i$i$i91 = $$0$i$i$i91 + 1 | 0; + } + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($11); + $storemerge = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$89 >> 2] | 0) + 36 >> 2] & 127]($89) | 0; + } + HEAP32[$9 >> 2] = $storemerge; + STACKTOP = sp; + return; +} + +function __ZNSt3__211__money_getIwE13__gather_infoEbRKNS_6localeERNS_10money_base7patternERwS8_RNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERNS9_IwNSA_IwEENSC_IwEEEESJ_SJ_Ri($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + $9 = $9 | 0; + var $$0$i$i$i = 0, $$0$i$i$i43 = 0, $$0$i$i$i47 = 0, $$0$i$i$i54 = 0, $$0$i$i$i62 = 0, $$0$i$i$i70 = 0, $$0$i$i$i78 = 0, $$0$i$i$i86 = 0, $10 = 0, $101 = 0, $11 = 0, $112 = 0, $113 = 0, $116 = 0, $12 = 0, $127 = 0, $131 = 0, $135 = 0, $138 = 0, $142 = 0, $150 = 0, $151 = 0, $154 = 0, $16 = 0, $20 = 0, $21 = 0, $24 = 0, $35 = 0, $36 = 0, $39 = 0, $50 = 0, $54 = 0, $58 = 0, $61 = 0, $65 = 0, $73 = 0, $74 = 0, $77 = 0, $89 = 0, $93 = 0, $97 = 0, $98 = 0, $storemerge = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $10 = sp + 12 | 0; + $11 = sp; + if ($0) { + $12 = __ZNKSt3__26locale9use_facetERNS0_2idE($1, 66760) | 0; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$12 >> 2] | 0) + 44 >> 2] & 255]($10, $12); + $16 = HEAP32[$10 >> 2] | 0; + HEAP8[$2 >> 0] = $16; + HEAP8[$2 + 1 >> 0] = $16 >> 8; + HEAP8[$2 + 2 >> 0] = $16 >> 16; + HEAP8[$2 + 3 >> 0] = $16 >> 24; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$12 >> 2] | 0) + 32 >> 2] & 255]($11, $12); + $20 = $8 + 8 | 0; + $21 = $20 + 3 | 0; + if ((HEAP8[$21 >> 0] | 0) < 0) { + $24 = HEAP32[$8 >> 2] | 0; + HEAP32[$10 >> 2] = 0; + __ZNSt3__211char_traitsIwE6assignERwRKw($24, $10); + HEAP32[$8 + 4 >> 2] = 0; + if ((HEAP8[$21 >> 0] | 0) < 0) { + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm(HEAP32[$8 >> 2] | 0, HEAP32[$20 >> 2] << 2); + HEAP32[$20 >> 2] = 0; + } + } else { + HEAP32[$10 >> 2] = 0; + __ZNSt3__211char_traitsIwE6assignERwRKw($8, $10); + HEAP8[$21 >> 0] = 0; + }; + HEAP32[$8 >> 2] = HEAP32[$11 >> 2]; + HEAP32[$8 + 4 >> 2] = HEAP32[$11 + 4 >> 2]; + HEAP32[$8 + 8 >> 2] = HEAP32[$11 + 8 >> 2]; + $$0$i$i$i = 0; + while (1) { + if (($$0$i$i$i | 0) == 3) break; + HEAP32[$11 + ($$0$i$i$i << 2) >> 2] = 0; + $$0$i$i$i = $$0$i$i$i + 1 | 0; + } + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev($11); + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$12 >> 2] | 0) + 28 >> 2] & 255]($11, $12); + $35 = $7 + 8 | 0; + $36 = $35 + 3 | 0; + if ((HEAP8[$36 >> 0] | 0) < 0) { + $39 = HEAP32[$7 >> 2] | 0; + HEAP32[$10 >> 2] = 0; + __ZNSt3__211char_traitsIwE6assignERwRKw($39, $10); + HEAP32[$7 + 4 >> 2] = 0; + if ((HEAP8[$36 >> 0] | 0) < 0) { + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm(HEAP32[$7 >> 2] | 0, HEAP32[$35 >> 2] << 2); + HEAP32[$35 >> 2] = 0; + } + } else { + HEAP32[$10 >> 2] = 0; + __ZNSt3__211char_traitsIwE6assignERwRKw($7, $10); + HEAP8[$36 >> 0] = 0; + }; + HEAP32[$7 >> 2] = HEAP32[$11 >> 2]; + HEAP32[$7 + 4 >> 2] = HEAP32[$11 + 4 >> 2]; + HEAP32[$7 + 8 >> 2] = HEAP32[$11 + 8 >> 2]; + $$0$i$i$i43 = 0; + while (1) { + if (($$0$i$i$i43 | 0) == 3) break; + HEAP32[$11 + ($$0$i$i$i43 << 2) >> 2] = 0; + $$0$i$i$i43 = $$0$i$i$i43 + 1 | 0; + } + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev($11); + $50 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$12 >> 2] | 0) + 12 >> 2] & 127]($12) | 0; + HEAP32[$3 >> 2] = $50; + $54 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$12 >> 2] | 0) + 16 >> 2] & 127]($12) | 0; + HEAP32[$4 >> 2] = $54; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$12 >> 2] | 0) + 20 >> 2] & 255]($11, $12); + $58 = $5 + 11 | 0; + if ((HEAP8[$58 >> 0] | 0) < 0) { + $61 = HEAP32[$5 >> 2] | 0; + HEAP8[$10 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($61, $10); + HEAP32[$5 + 4 >> 2] = 0; + if ((HEAP8[$58 >> 0] | 0) < 0) { + $65 = $5 + 8 | 0; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm(HEAP32[$5 >> 2] | 0, HEAP32[$65 >> 2] & 2147483647); + HEAP32[$65 >> 2] = 0; + } + } else { + HEAP8[$10 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($5, $10); + HEAP8[$58 >> 0] = 0; + }; + HEAP32[$5 >> 2] = HEAP32[$11 >> 2]; + HEAP32[$5 + 4 >> 2] = HEAP32[$11 + 4 >> 2]; + HEAP32[$5 + 8 >> 2] = HEAP32[$11 + 8 >> 2]; + $$0$i$i$i47 = 0; + while (1) { + if (($$0$i$i$i47 | 0) == 3) break; + HEAP32[$11 + ($$0$i$i$i47 << 2) >> 2] = 0; + $$0$i$i$i47 = $$0$i$i$i47 + 1 | 0; + } + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($11); + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$12 >> 2] | 0) + 24 >> 2] & 255]($11, $12); + $73 = $6 + 8 | 0; + $74 = $73 + 3 | 0; + if ((HEAP8[$74 >> 0] | 0) < 0) { + $77 = HEAP32[$6 >> 2] | 0; + HEAP32[$10 >> 2] = 0; + __ZNSt3__211char_traitsIwE6assignERwRKw($77, $10); + HEAP32[$6 + 4 >> 2] = 0; + if ((HEAP8[$74 >> 0] | 0) < 0) { + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm(HEAP32[$6 >> 2] | 0, HEAP32[$73 >> 2] << 2); + HEAP32[$73 >> 2] = 0; + } + } else { + HEAP32[$10 >> 2] = 0; + __ZNSt3__211char_traitsIwE6assignERwRKw($6, $10); + HEAP8[$74 >> 0] = 0; + }; + HEAP32[$6 >> 2] = HEAP32[$11 >> 2]; + HEAP32[$6 + 4 >> 2] = HEAP32[$11 + 4 >> 2]; + HEAP32[$6 + 8 >> 2] = HEAP32[$11 + 8 >> 2]; + $$0$i$i$i54 = 0; + while (1) { + if (($$0$i$i$i54 | 0) == 3) break; + HEAP32[$11 + ($$0$i$i$i54 << 2) >> 2] = 0; + $$0$i$i$i54 = $$0$i$i$i54 + 1 | 0; + } + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev($11); + $storemerge = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$12 >> 2] | 0) + 36 >> 2] & 127]($12) | 0; + } else { + $89 = __ZNKSt3__26locale9use_facetERNS0_2idE($1, 66752) | 0; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$89 >> 2] | 0) + 44 >> 2] & 255]($10, $89); + $93 = HEAP32[$10 >> 2] | 0; + HEAP8[$2 >> 0] = $93; + HEAP8[$2 + 1 >> 0] = $93 >> 8; + HEAP8[$2 + 2 >> 0] = $93 >> 16; + HEAP8[$2 + 3 >> 0] = $93 >> 24; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$89 >> 2] | 0) + 32 >> 2] & 255]($11, $89); + $97 = $8 + 8 | 0; + $98 = $97 + 3 | 0; + if ((HEAP8[$98 >> 0] | 0) < 0) { + $101 = HEAP32[$8 >> 2] | 0; + HEAP32[$10 >> 2] = 0; + __ZNSt3__211char_traitsIwE6assignERwRKw($101, $10); + HEAP32[$8 + 4 >> 2] = 0; + if ((HEAP8[$98 >> 0] | 0) < 0) { + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm(HEAP32[$8 >> 2] | 0, HEAP32[$97 >> 2] << 2); + HEAP32[$97 >> 2] = 0; + } + } else { + HEAP32[$10 >> 2] = 0; + __ZNSt3__211char_traitsIwE6assignERwRKw($8, $10); + HEAP8[$98 >> 0] = 0; + }; + HEAP32[$8 >> 2] = HEAP32[$11 >> 2]; + HEAP32[$8 + 4 >> 2] = HEAP32[$11 + 4 >> 2]; + HEAP32[$8 + 8 >> 2] = HEAP32[$11 + 8 >> 2]; + $$0$i$i$i62 = 0; + while (1) { + if (($$0$i$i$i62 | 0) == 3) break; + HEAP32[$11 + ($$0$i$i$i62 << 2) >> 2] = 0; + $$0$i$i$i62 = $$0$i$i$i62 + 1 | 0; + } + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev($11); + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$89 >> 2] | 0) + 28 >> 2] & 255]($11, $89); + $112 = $7 + 8 | 0; + $113 = $112 + 3 | 0; + if ((HEAP8[$113 >> 0] | 0) < 0) { + $116 = HEAP32[$7 >> 2] | 0; + HEAP32[$10 >> 2] = 0; + __ZNSt3__211char_traitsIwE6assignERwRKw($116, $10); + HEAP32[$7 + 4 >> 2] = 0; + if ((HEAP8[$113 >> 0] | 0) < 0) { + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm(HEAP32[$7 >> 2] | 0, HEAP32[$112 >> 2] << 2); + HEAP32[$112 >> 2] = 0; + } + } else { + HEAP32[$10 >> 2] = 0; + __ZNSt3__211char_traitsIwE6assignERwRKw($7, $10); + HEAP8[$113 >> 0] = 0; + }; + HEAP32[$7 >> 2] = HEAP32[$11 >> 2]; + HEAP32[$7 + 4 >> 2] = HEAP32[$11 + 4 >> 2]; + HEAP32[$7 + 8 >> 2] = HEAP32[$11 + 8 >> 2]; + $$0$i$i$i70 = 0; + while (1) { + if (($$0$i$i$i70 | 0) == 3) break; + HEAP32[$11 + ($$0$i$i$i70 << 2) >> 2] = 0; + $$0$i$i$i70 = $$0$i$i$i70 + 1 | 0; + } + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev($11); + $127 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$89 >> 2] | 0) + 12 >> 2] & 127]($89) | 0; + HEAP32[$3 >> 2] = $127; + $131 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$89 >> 2] | 0) + 16 >> 2] & 127]($89) | 0; + HEAP32[$4 >> 2] = $131; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$89 >> 2] | 0) + 20 >> 2] & 255]($11, $89); + $135 = $5 + 11 | 0; + if ((HEAP8[$135 >> 0] | 0) < 0) { + $138 = HEAP32[$5 >> 2] | 0; + HEAP8[$10 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($138, $10); + HEAP32[$5 + 4 >> 2] = 0; + if ((HEAP8[$135 >> 0] | 0) < 0) { + $142 = $5 + 8 | 0; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm(HEAP32[$5 >> 2] | 0, HEAP32[$142 >> 2] & 2147483647); + HEAP32[$142 >> 2] = 0; + } + } else { + HEAP8[$10 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($5, $10); + HEAP8[$135 >> 0] = 0; + }; + HEAP32[$5 >> 2] = HEAP32[$11 >> 2]; + HEAP32[$5 + 4 >> 2] = HEAP32[$11 + 4 >> 2]; + HEAP32[$5 + 8 >> 2] = HEAP32[$11 + 8 >> 2]; + $$0$i$i$i78 = 0; + while (1) { + if (($$0$i$i$i78 | 0) == 3) break; + HEAP32[$11 + ($$0$i$i$i78 << 2) >> 2] = 0; + $$0$i$i$i78 = $$0$i$i$i78 + 1 | 0; + } + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($11); + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$89 >> 2] | 0) + 24 >> 2] & 255]($11, $89); + $150 = $6 + 8 | 0; + $151 = $150 + 3 | 0; + if ((HEAP8[$151 >> 0] | 0) < 0) { + $154 = HEAP32[$6 >> 2] | 0; + HEAP32[$10 >> 2] = 0; + __ZNSt3__211char_traitsIwE6assignERwRKw($154, $10); + HEAP32[$6 + 4 >> 2] = 0; + if ((HEAP8[$151 >> 0] | 0) < 0) { + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm(HEAP32[$6 >> 2] | 0, HEAP32[$150 >> 2] << 2); + HEAP32[$150 >> 2] = 0; + } + } else { + HEAP32[$10 >> 2] = 0; + __ZNSt3__211char_traitsIwE6assignERwRKw($6, $10); + HEAP8[$151 >> 0] = 0; + }; + HEAP32[$6 >> 2] = HEAP32[$11 >> 2]; + HEAP32[$6 + 4 >> 2] = HEAP32[$11 + 4 >> 2]; + HEAP32[$6 + 8 >> 2] = HEAP32[$11 + 8 >> 2]; + $$0$i$i$i86 = 0; + while (1) { + if (($$0$i$i$i86 | 0) == 3) break; + HEAP32[$11 + ($$0$i$i$i86 << 2) >> 2] = 0; + $$0$i$i$i86 = $$0$i$i$i86 + 1 | 0; + } + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev($11); + $storemerge = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$89 >> 2] | 0) + 36 >> 2] & 127]($89) | 0; + } + HEAP32[$9 >> 2] = $storemerge; + STACKTOP = sp; + return; +} + +function _ar2GetTransMatHomographyRobust_178($initConv, $pos2d, $pos3d, $num, $conv, $inlierProb) { + $initConv = $initConv | 0; + $pos2d = $pos2d | 0; + $pos3d = $pos3d | 0; + $num = $num | 0; + $conv = $conv | 0; + $inlierProb = +$inlierProb; + var $21 = 0.0, $22 = 0.0, $5 = 0.0, $7 = 0.0, $K2$0 = 0.0, $add49 = 0.0, $add63 = 0.0, $add75 = 0.0, $add95 = 0.0, $arrayidx181 = 0, $arrayidx2 = 0, $arrayidx368 = 0, $arrayidx372 = 0, $arrayidx376 = 0, $arrayidx380 = 0, $arrayidx384 = 0, $arrayidx388 = 0, $arrayidx392 = 0, $arrayidx43 = 0, $arrayidx48 = 0, $arrayidx51 = 0, $arrayidx56 = 0, $arrayidx62 = 0, $arrayidx65 = 0, $arrayidx70 = 0, $call = 0, $call13 = 0, $call17 = 0, $call21 = 0, $conv5 = 0.0, $dH = 0, $div100 = 0.0, $div106 = 0.0, $div110 = 0.0, $div190 = 0.0, $div190$pn = 0.0, $div209 = 0.0, $err0$0 = 0.0, $err1$0 = 0.0, $i$0 = 0, $i$1 = 0, $j$0 = 0, $j$1 = 0, $j$2 = 0, $j$3 = 0, $k$0 = 0, $k$1 = 0, $mul101 = 0, $mul16 = 0, $mul182 = 0.0, $mul232 = 0.0, $mul233 = 0, $mul237 = 0, $mul345 = 0, $mul78 = 0.0, $mul87 = 0, $retval$0 = 0.0, $spec$store$select = 0, $sub = 0, $sub195 = 0.0, $sub228 = 0.0, $sub83 = 0.0, $sub86 = 0.0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(64); + $vararg_buffer5 = sp + 56 | 0; + $vararg_buffer3 = sp + 48 | 0; + $vararg_buffer1 = sp + 40 | 0; + $vararg_buffer = sp + 32 | 0; + $dH = sp; + do if (($num | 0) >= 4 ? ($arrayidx2 = $initConv + 44 | 0, !(+HEAPF32[$arrayidx2 >> 2] == 0.0)) : 0) { + $conv5 = +($num | 0); + $sub = ~~($conv5 * $inlierProb) + -1 | 0; + $spec$store$select = ($sub | 0) > 4 ? $sub : 4; + $call = _malloc($num << 6) | 0; + if (!$call) { + _arLog(0, 3, 45947, $vararg_buffer); + $retval$0 = -1.0; + break; + } + $call13 = _malloc($num << 3) | 0; + if (!$call13) { + _arLog(0, 3, 45947, $vararg_buffer1); + _free($call); + $retval$0 = -1.0; + break; + } + $mul16 = $num << 2; + $call17 = _malloc($mul16) | 0; + if (!$call17) { + _arLog(0, 3, 45947, $vararg_buffer3); + _free($call); + _free($call13); + $retval$0 = -1.0; + break; + } + $call21 = _malloc($mul16) | 0; + if (!$call21) { + _arLog(0, 3, 45947, $vararg_buffer5); + _free($call); + _free($call13); + _free($call17); + $retval$0 = -1.0; + break; + } + $j$0 = 0; + while (1) { + if (($j$0 | 0) == 3) break; + $i$0 = 0; + while (1) { + if (($i$0 | 0) == 4) break; + HEAPF32[$conv + ($j$0 << 4) + ($i$0 << 2) >> 2] = +HEAPF32[$initConv + ($j$0 << 4) + ($i$0 << 2) >> 2] / +HEAPF32[$arrayidx2 >> 2]; + $i$0 = $i$0 + 1 | 0; + } + $j$0 = $j$0 + 1 | 0; + } + $arrayidx43 = $conv + 4 | 0; + $arrayidx48 = $conv + 12 | 0; + $arrayidx51 = $conv + 16 | 0; + $arrayidx56 = $conv + 20 | 0; + $arrayidx62 = $conv + 28 | 0; + $arrayidx65 = $conv + 32 | 0; + $arrayidx70 = $conv + 36 | 0; + $arrayidx181 = $call21 + ($spec$store$select << 2) | 0; + $arrayidx368 = $dH + 4 | 0; + $arrayidx372 = $dH + 8 | 0; + $arrayidx376 = $dH + 12 | 0; + $arrayidx380 = $dH + 16 | 0; + $arrayidx384 = $dH + 20 | 0; + $arrayidx388 = $dH + 24 | 0; + $arrayidx392 = $dH + 28 | 0; + $err0$0 = 0.0; + $i$1 = 0; + L24 : while (1) { + $j$1 = 0; + while (1) { + if (($j$1 | 0) >= ($num | 0)) break; + $5 = +HEAPF32[$pos3d + ($j$1 * 12 | 0) >> 2]; + $7 = +HEAPF32[$pos3d + ($j$1 * 12 | 0) + 4 >> 2]; + $add49 = +HEAPF32[$arrayidx48 >> 2] + (+HEAPF32[$conv >> 2] * $5 + +HEAPF32[$arrayidx43 >> 2] * $7); + $add63 = +HEAPF32[$arrayidx62 >> 2] + ($5 * +HEAPF32[$arrayidx51 >> 2] + $7 * +HEAPF32[$arrayidx56 >> 2]); + $add75 = $5 * +HEAPF32[$arrayidx65 >> 2] + $7 * +HEAPF32[$arrayidx70 >> 2] + 1.0; + if ($add75 == 0.0) { + label = 21; + break L24; + } + $mul78 = $add75 * $add75; + $sub83 = +HEAPF32[$pos2d + ($j$1 << 3) >> 2] - $add49 / $add75; + $sub86 = +HEAPF32[$pos2d + ($j$1 << 3) + 4 >> 2] - $add63 / $add75; + $mul87 = $j$1 << 1; + HEAPF32[$call13 + ($mul87 << 2) >> 2] = $sub83; + HEAPF32[$call13 + (($mul87 | 1) << 2) >> 2] = $sub86; + $add95 = $sub83 * $sub83 + $sub86 * $sub86; + HEAPF32[$call21 + ($j$1 << 2) >> 2] = $add95; + HEAPF32[$call17 + ($j$1 << 2) >> 2] = $add95; + $div100 = $5 / $add75; + $mul101 = $j$1 << 4; + HEAPF32[$call + ($mul101 << 2) >> 2] = $div100; + $div106 = $7 / $add75; + HEAPF32[$call + (($mul101 | 1) << 2) >> 2] = $div106; + $div110 = 1.0 / $add75; + HEAPF32[$call + (($mul101 | 2) << 2) >> 2] = $div110; + HEAPF32[$call + (($mul101 | 3) << 2) >> 2] = 0.0; + HEAPF32[$call + (($mul101 | 4) << 2) >> 2] = 0.0; + HEAPF32[$call + (($mul101 | 5) << 2) >> 2] = 0.0; + HEAPF32[$call + (($mul101 | 6) << 2) >> 2] = -($5 * $add49) / $mul78; + HEAPF32[$call + (($mul101 | 7) << 2) >> 2] = -($7 * $add49) / $mul78; + HEAPF32[$call + (($mul101 | 8) << 2) >> 2] = 0.0; + HEAPF32[$call + (($mul101 | 9) << 2) >> 2] = 0.0; + HEAPF32[$call + (($mul101 | 10) << 2) >> 2] = 0.0; + HEAPF32[$call + (($mul101 | 11) << 2) >> 2] = $div100; + HEAPF32[$call + (($mul101 | 12) << 2) >> 2] = $div106; + HEAPF32[$call + (($mul101 | 13) << 2) >> 2] = $div110; + HEAPF32[$call + (($mul101 | 14) << 2) >> 2] = -($5 * $add63) / $mul78; + HEAPF32[$call + (($mul101 | 15) << 2) >> 2] = -($7 * $add63) / $mul78; + $j$1 = $j$1 + 1 | 0; + } + _qsort($call21, $num, 4, 56); + $mul182 = +HEAPF32[$arrayidx181 >> 2] * 4.0; + $K2$0 = $mul182 < 16.0 ? 16.0 : $mul182; + $div190 = $K2$0 / 6.0; + $err1$0 = 0.0; + $j$2 = 0; + while (1) { + if (($j$2 | 0) == ($num | 0)) break; + $21 = +HEAPF32[$call21 + ($j$2 << 2) >> 2]; + if ($21 > $K2$0) $div190$pn = $div190; else { + $sub195 = 1.0 - $21 / $K2$0; + $div190$pn = $div190 * (1.0 - $sub195 * ($sub195 * $sub195)); + } + $err1$0 = $err1$0 + $div190$pn; + $j$2 = $j$2 + 1 | 0; + } + $div209 = $err1$0 / $conv5; + if ($div209 < .10000000149011612) { + label = 42; + break; + } + if (($i$1 | 0) != 0 & $div209 < 4.0) { + if (($i$1 | 0) == 10 | $div209 / $err0$0 > .9900000095367432) { + label = 42; + break; + } + } else if (($i$1 | 0) == 10) { + label = 42; + break; + } + $j$3 = 0; + $k$0 = 0; + while (1) { + if (($j$3 | 0) == ($num | 0)) break; + $22 = +HEAPF32[$call17 + ($j$3 << 2) >> 2]; + if (!($22 <= $K2$0)) $k$1 = $k$0; else { + $sub228 = 1.0 - $22 / $K2$0; + $mul232 = $sub228 * $sub228; + $mul233 = $j$3 << 4; + $mul237 = $k$0 << 3; + HEAPF32[$call + ($mul237 << 2) >> 2] = $mul232 * +HEAPF32[$call + ($mul233 << 2) >> 2]; + HEAPF32[$call + (($mul237 | 1) << 2) >> 2] = $mul232 * +HEAPF32[$call + (($mul233 | 1) << 2) >> 2]; + HEAPF32[$call + (($mul237 | 2) << 2) >> 2] = $mul232 * +HEAPF32[$call + (($mul233 | 2) << 2) >> 2]; + HEAPF32[$call + (($mul237 | 3) << 2) >> 2] = $mul232 * +HEAPF32[$call + (($mul233 | 3) << 2) >> 2]; + HEAPF32[$call + (($mul237 | 4) << 2) >> 2] = $mul232 * +HEAPF32[$call + (($mul233 | 4) << 2) >> 2]; + HEAPF32[$call + (($mul237 | 5) << 2) >> 2] = $mul232 * +HEAPF32[$call + (($mul233 | 5) << 2) >> 2]; + HEAPF32[$call + (($mul237 | 6) << 2) >> 2] = $mul232 * +HEAPF32[$call + (($mul233 | 6) << 2) >> 2]; + HEAPF32[$call + (($mul237 | 7) << 2) >> 2] = $mul232 * +HEAPF32[$call + (($mul233 | 7) << 2) >> 2]; + HEAPF32[$call + ($mul237 + 8 << 2) >> 2] = $mul232 * +HEAPF32[$call + (($mul233 | 8) << 2) >> 2]; + HEAPF32[$call + ($mul237 + 9 << 2) >> 2] = $mul232 * +HEAPF32[$call + (($mul233 | 9) << 2) >> 2]; + HEAPF32[$call + ($mul237 + 10 << 2) >> 2] = $mul232 * +HEAPF32[$call + (($mul233 | 10) << 2) >> 2]; + HEAPF32[$call + ($mul237 + 11 << 2) >> 2] = $mul232 * +HEAPF32[$call + (($mul233 | 11) << 2) >> 2]; + HEAPF32[$call + ($mul237 + 12 << 2) >> 2] = $mul232 * +HEAPF32[$call + (($mul233 | 12) << 2) >> 2]; + HEAPF32[$call + ($mul237 + 13 << 2) >> 2] = $mul232 * +HEAPF32[$call + (($mul233 | 13) << 2) >> 2]; + HEAPF32[$call + ($mul237 + 14 << 2) >> 2] = $mul232 * +HEAPF32[$call + (($mul233 | 14) << 2) >> 2]; + HEAPF32[$call + ($mul237 + 15 << 2) >> 2] = $mul232 * +HEAPF32[$call + (($mul233 | 15) << 2) >> 2]; + $mul345 = $j$3 << 1; + HEAPF32[$call13 + ($k$0 << 2) >> 2] = $mul232 * +HEAPF32[$call13 + ($mul345 << 2) >> 2]; + HEAPF32[$call13 + ($k$0 + 1 << 2) >> 2] = $mul232 * +HEAPF32[$call13 + (($mul345 | 1) << 2) >> 2]; + $k$1 = $k$0 + 2 | 0; + } + $j$3 = $j$3 + 1 | 0; + $k$0 = $k$1; + } + if (($k$0 | 0) < 6) { + label = 38; + break; + } + if ((_getDeltaS_181($dH, $call13, $call, $k$0) | 0) < 0) { + label = 40; + break; + } + HEAPF32[$conv >> 2] = +HEAPF32[$dH >> 2] + +HEAPF32[$conv >> 2]; + HEAPF32[$arrayidx43 >> 2] = +HEAPF32[$arrayidx368 >> 2] + +HEAPF32[$arrayidx43 >> 2]; + HEAPF32[$arrayidx48 >> 2] = +HEAPF32[$arrayidx372 >> 2] + +HEAPF32[$arrayidx48 >> 2]; + HEAPF32[$arrayidx51 >> 2] = +HEAPF32[$arrayidx376 >> 2] + +HEAPF32[$arrayidx51 >> 2]; + HEAPF32[$arrayidx56 >> 2] = +HEAPF32[$arrayidx380 >> 2] + +HEAPF32[$arrayidx56 >> 2]; + HEAPF32[$arrayidx62 >> 2] = +HEAPF32[$arrayidx384 >> 2] + +HEAPF32[$arrayidx62 >> 2]; + HEAPF32[$arrayidx65 >> 2] = +HEAPF32[$arrayidx388 >> 2] + +HEAPF32[$arrayidx65 >> 2]; + HEAPF32[$arrayidx70 >> 2] = +HEAPF32[$arrayidx392 >> 2] + +HEAPF32[$arrayidx70 >> 2]; + $err0$0 = $div209; + $i$1 = $i$1 + 1 | 0; + } + if ((label | 0) == 21) { + _free($call); + _free($call13); + _free($call17); + _free($call21); + $retval$0 = 1.0e8; + break; + } else if ((label | 0) == 38) { + _free($call); + _free($call13); + _free($call17); + _free($call21); + $retval$0 = -1.0; + break; + } else if ((label | 0) == 40) { + _free($call); + _free($call13); + _free($call17); + _free($call21); + $retval$0 = 1.0e8; + break; + } else if ((label | 0) == 42) { + _free($call); + _free($call13); + _free($call17); + _free($call21); + $retval$0 = $div209; + break; + } + } else $retval$0 = 1.0e8; while (0); + STACKTOP = sp; + return +$retval$0; +} + +function _decode_bch($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$ = 0, $$0 = 0, $$0235 = 0, $$0237 = 0, $$0238 = 0, $$0240 = 0, $$0242 = 0, $$0245 = 0, $$0251 = 0, $$0253 = 0, $$0259 = 0, $$0261 = 0, $$0268 = 0, $$10 = 0, $$11 = 0, $$12 = 0, $$1236 = 0, $$1239 = 0, $$1241 = 0, $$1243 = 0, $$1246 = 0, $$1252 = 0, $$1254 = 0, $$1256 = 0, $$1260 = 0, $$1262 = 0, $$1264 = 0, $$2 = 0, $$2244 = 0, $$2247 = 0, $$2257 = 0, $$2265 = 0, $$3 = 0, $$3248 = 0, $$3258 = 0, $$3266 = 0, $$4 = 0, $$4249 = 0, $$5 = 0, $$5250 = 0, $$6 = 0, $$7 = 0, $$8 = 0, $$9 = 0, $$pre$phiZ2D = 0, $$pre280 = 0, $$sink = 0, $10 = 0, $105 = 0, $106 = 0, $107 = 0, $11 = 0, $114 = 0, $118 = 0, $12 = 0, $122 = 0, $126 = 0, $129 = 0, $137 = 0, $138 = 0, $14 = 0, $145 = 0, $157 = 0, $158 = 0, $161 = 0, $17 = 0, $175 = 0, $179 = 0, $18 = 0, $188 = 0, $189 = 0, $190 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $200 = 0, $205 = 0, $206 = 0, $21 = 0, $23 = 0, $30 = 0, $32 = 0, $33 = 0, $39 = 0, $41 = 0, $5 = 0, $52 = 0, $53 = 0, $55 = 0, $57 = 0, $58 = 0, $6 = 0, $66 = 0, $7 = 0, $79 = 0, $8 = 0, $81 = 0, $82 = 0, $84 = 0, $89 = 0, $9 = 0, $90 = 0, $93 = 0, label = 0, sp = 0, $$1243$looptemp = 0, $$0240$looptemp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2384 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(2384); + $5 = sp + 2320 | 0; + $6 = sp + 880 | 0; + $7 = sp + 800 | 0; + $8 = sp + 720 | 0; + $9 = sp + 640 | 0; + $10 = sp + 560 | 0; + $11 = sp + 48 | 0; + $12 = sp; + switch ($0 | 0) { + case 2830: + { + $$0268 = $3; + $$1252 = 1200; + $$1254 = 688; + $$1260 = 120; + $$1262 = 127; + $$3258 = 64; + $$3266 = 9; + label = 8; + break; + } + case 772: + { + $$0251 = 624; + $$0253 = 432; + $$0259 = 13; + $$0261 = 15; + $$2257 = 9; + $$2265 = 1; + label = 5; + break; + } + case 1028: + { + $$0251 = 624; + $$0253 = 432; + $$0259 = 13; + $$0261 = 15; + $$2257 = 5; + $$2265 = 2; + label = 5; + break; + } + case 1029: + { + $$1256 = 12; + $$1264 = 2; + label = 4; + break; + } + case 1285: + { + $$1256 = 7; + $$1264 = 3; + label = 4; + break; + } + default: + $$0237 = -1; + } + if ((label | 0) == 4) { + $$0251 = 496; + $$0253 = 304; + $$0259 = 22; + $$0261 = 31; + $$2257 = $$1256; + $$2265 = $$1264; + label = 5; + } + L6 : do if ((label | 0) == 5) { + $$0245 = 0; + $14 = $1; + $17 = $2; + while (1) { + if (($$0245 | 0) == ($$0259 | 0)) { + $$0268 = $5; + $$1252 = $$0251; + $$1254 = $$0253; + $$1260 = $$0259; + $$1262 = $$0261; + $$3258 = $$2257; + $$3266 = $$2265; + label = 8; + break L6; + } + HEAP8[$5 + $$0245 >> 0] = $14 & 1; + $18 = _bitshift64Lshr($14 | 0, $17 | 0, 1) | 0; + $$0245 = $$0245 + 1 | 0; + $14 = $18; + $17 = getTempRet0() | 0; + } + } while (0); + L11 : do if ((label | 0) == 8) { + $21 = $$3266 << 1; + $$0 = 0; + $$1246 = 1; + while (1) { + if (($$1246 | 0) > ($21 | 0)) break; + $23 = $10 + ($$1246 << 2) | 0; + HEAP32[$23 >> 2] = 0; + $$0242 = 0; + $33 = 0; + while (1) { + if (($$0242 | 0) >= ($$1260 | 0)) break; + if (!(HEAP8[$$0268 + $$0242 >> 0] | 0)) $205 = $33; else { + $30 = $$1254 + (((Math_imul($$0242, $$1246) | 0) % ($$1262 | 0) | 0) << 2) | 0; + $32 = $33 ^ HEAP32[$30 >> 2]; + HEAP32[$23 >> 2] = $32; + $205 = $32; + } + $$0242 = $$0242 + 1 | 0; + $33 = $205; + } + HEAP32[$23 >> 2] = HEAP32[$$1252 + ($33 << 2) >> 2]; + $$0 = ($33 | 0) == 0 ? $$0 : 1; + $$1246 = $$1246 + 1 | 0; + } + $39 = ($$0 | 0) != 0; + L24 : do if ($39) { + HEAP32[$7 >> 2] = 0; + $41 = HEAP32[$10 + 4 >> 2] | 0; + HEAP32[$7 + 4 >> 2] = $41; + HEAP32[$6 >> 2] = 0; + HEAP32[$6 + 72 >> 2] = 1; + $$2247 = 1; + while (1) { + if (($$2247 | 0) >= ($21 | 0)) break; + HEAP32[$6 + ($$2247 << 2) >> 2] = -1; + HEAP32[$6 + 72 + ($$2247 << 2) >> 2] = 0; + $$2247 = $$2247 + 1 | 0; + } + HEAP32[$8 >> 2] = 0; + HEAP32[$8 + 4 >> 2] = 0; + HEAP32[$9 >> 2] = -1; + HEAP32[$9 + 4 >> 2] = 0; + $$0240 = 0; + $52 = $41; + $55 = 0; + while (1) { + $$0240$looptemp = $$0240; + $$0240 = $$0240 + 1 | 0; + L32 : do if (($52 | 0) == -1) { + $53 = $$0240$looptemp + 2 | 0; + HEAP32[$8 + ($53 << 2) >> 2] = $55; + $$3248 = 0; + while (1) { + if (($$3248 | 0) > ($55 | 0)) { + $$pre$phiZ2D = $53; + $114 = $55; + break L32; + } + $57 = $6 + ($$0240 * 72 | 0) + ($$3248 << 2) | 0; + $58 = HEAP32[$57 >> 2] | 0; + HEAP32[$6 + ($53 * 72 | 0) + ($$3248 << 2) >> 2] = $58; + HEAP32[$57 >> 2] = HEAP32[$$1252 + ($58 << 2) >> 2]; + $$3248 = $$3248 + 1 | 0; + } + } else { + $$0238 = $$0240$looptemp; + while (1) { + $66 = ($$0238 | 0) > 0; + if ($66 & (HEAP32[$7 + ($$0238 << 2) >> 2] | 0) == -1) $$0238 = $$0238 + -1 | 0; else break; + } + if ($66) { + $$1239 = $$0238; + $$1243 = $$0238; + while (1) { + $$1243$looptemp = $$1243; + $$1243 = $$1243 + -1 | 0; + if ((HEAP32[$7 + ($$1243 << 2) >> 2] | 0) == -1) $$2 = $$1239; else $$2 = (HEAP32[$9 + ($$1239 << 2) >> 2] | 0) < (HEAP32[$9 + ($$1243 << 2) >> 2] | 0) ? $$1243 : $$1239; + if (($$1243$looptemp | 0) <= 1) { + $$3 = $$2; + break; + } else $$1239 = $$2; + } + } else $$3 = $$0238; + $79 = $8 + ($$3 << 2) | 0; + $81 = $$0240 - $$3 | 0; + $82 = $81 + (HEAP32[$79 >> 2] | 0) | 0; + $84 = $$0240$looptemp + 2 | 0; + $$ = ($55 | 0) > ($82 | 0) ? $55 : $82; + HEAP32[$8 + ($84 << 2) >> 2] = $$; + $$4249 = 0; + while (1) { + if (($$4249 | 0) >= ($21 | 0)) break; + HEAP32[$6 + ($84 * 72 | 0) + ($$4249 << 2) >> 2] = 0; + $$4249 = $$4249 + 1 | 0; + } + $89 = $52 + $$1262 | 0; + $90 = $7 + ($$3 << 2) | 0; + $$pre280 = HEAP32[$79 >> 2] | 0; + $$5250 = 0; + while (1) { + if (($$5250 | 0) > ($$pre280 | 0)) break; + $93 = HEAP32[$6 + ($$3 * 72 | 0) + ($$5250 << 2) >> 2] | 0; + if (($93 | 0) != -1) HEAP32[$6 + ($84 * 72 | 0) + ($81 + $$5250 << 2) >> 2] = HEAP32[$$1254 + ((($89 + $93 - (HEAP32[$90 >> 2] | 0) | 0) % ($$1262 | 0) | 0) << 2) >> 2]; + $$5250 = $$5250 + 1 | 0; + } + $$6 = 0; + while (1) { + if (($$6 | 0) > ($55 | 0)) { + $$pre$phiZ2D = $84; + $114 = $$; + break L32; + } + $105 = $6 + ($$0240 * 72 | 0) + ($$6 << 2) | 0; + $106 = HEAP32[$105 >> 2] | 0; + $107 = $6 + ($84 * 72 | 0) + ($$6 << 2) | 0; + HEAP32[$107 >> 2] = HEAP32[$107 >> 2] ^ $106; + HEAP32[$105 >> 2] = HEAP32[$$1252 + ($106 << 2) >> 2]; + $$6 = $$6 + 1 | 0; + } + } while (0); + HEAP32[$9 + ($$pre$phiZ2D << 2) >> 2] = $$0240 - $114; + if (($$0240 | 0) >= ($21 | 0)) break; + $118 = HEAP32[$10 + ($$pre$phiZ2D << 2) >> 2] | 0; + if (($118 | 0) == -1) $$sink = 0; else $$sink = HEAP32[$$1254 + ($118 << 2) >> 2] | 0; + $122 = $7 + ($$pre$phiZ2D << 2) | 0; + HEAP32[$122 >> 2] = $$sink; + $$7 = 1; + $138 = $$sink; + while (1) { + if (($$7 | 0) > ($114 | 0)) break; + $126 = HEAP32[$10 + ($$pre$phiZ2D - $$7 << 2) >> 2] | 0; + if (($126 | 0) != -1 ? ($129 = HEAP32[$6 + ($$pre$phiZ2D * 72 | 0) + ($$7 << 2) >> 2] | 0, ($129 | 0) != 0) : 0) { + $137 = $138 ^ HEAP32[$$1254 + ((((HEAP32[$$1252 + ($129 << 2) >> 2] | 0) + $126 | 0) % ($$1262 | 0) | 0) << 2) >> 2]; + HEAP32[$122 >> 2] = $137; + $206 = $137; + } else $206 = $138; + $$7 = $$7 + 1 | 0; + $138 = $206; + } + $52 = HEAP32[$$1252 + ($138 << 2) >> 2] | 0; + HEAP32[$122 >> 2] = $52; + if (($114 | 0) > ($$3266 | 0)) break; else $55 = $114; + } + if (($114 | 0) > ($$3266 | 0)) { + $$0237 = -1; + break L11; + } + $$8 = 0; + while (1) { + if (($$8 | 0) > ($114 | 0)) break; + $145 = $6 + ($$pre$phiZ2D * 72 | 0) + ($$8 << 2) | 0; + HEAP32[$145 >> 2] = HEAP32[$$1252 + (HEAP32[$145 >> 2] << 2) >> 2]; + $$8 = $$8 + 1 | 0; + } + $$9 = 1; + while (1) { + if (($$9 | 0) > ($114 | 0)) break; + HEAP32[$12 + ($$9 << 2) >> 2] = HEAP32[$6 + ($$pre$phiZ2D * 72 | 0) + ($$9 << 2) >> 2]; + $$9 = $$9 + 1 | 0; + } + $$0235 = 0; + $$10 = 1; + while (1) { + if (($$1262 | 0) < ($$10 | 0)) break; + $$2244 = 1; + $$4 = 1; + while (1) { + if (($$2244 | 0) > ($114 | 0)) break; + $157 = $12 + ($$2244 << 2) | 0; + $158 = HEAP32[$157 >> 2] | 0; + if (($158 | 0) == -1) $$5 = $$4; else { + $161 = ($158 + $$2244 | 0) % ($$1262 | 0) | 0; + HEAP32[$157 >> 2] = $161; + $$5 = HEAP32[$$1254 + ($161 << 2) >> 2] ^ $$4; + } + $$2244 = $$2244 + 1 | 0; + $$4 = $$5; + } + if (!$$4) { + HEAP32[$11 + ($$0235 << 2) >> 2] = $$1262 - $$10; + $$1236 = $$0235 + 1 | 0; + } else $$1236 = $$0235; + $$0235 = $$1236; + $$10 = $$10 + 1 | 0; + } + if (($$0235 | 0) != ($114 | 0)) { + $$0237 = -1; + break L11; + } + $$11 = 0; + while (1) { + if (($$11 | 0) >= ($114 | 0)) { + $$1241 = $$pre$phiZ2D; + break L24; + } + $175 = $$0268 + (HEAP32[$11 + ($$11 << 2) >> 2] | 0) | 0; + HEAP8[$175 >> 0] = HEAP8[$175 >> 0] ^ 1; + $$11 = $$11 + 1 | 0; + } + } else $$1241 = 0; while (0); + $179 = $4; + HEAP32[$179 >> 2] = 0; + HEAP32[$179 + 4 >> 2] = 0; + $$12 = $$1260 - $$3258 | 0; + $188 = 1; + $189 = 0; + $192 = 0; + $193 = 0; + while (1) { + if (($$12 | 0) >= ($$1260 | 0)) break; + $190 = ___muldi3($188 | 0, $189 | 0, HEAPU8[$$0268 + $$12 >> 0] | 0, 0) | 0; + $194 = _i64Add($190 | 0, getTempRet0() | 0, $192 | 0, $193 | 0) | 0; + $195 = getTempRet0() | 0; + $196 = $4; + HEAP32[$196 >> 2] = $194; + HEAP32[$196 + 4 >> 2] = $195; + $200 = _bitshift64Shl($188 | 0, $189 | 0, 1) | 0; + $$12 = $$12 + 1 | 0; + $188 = $200; + $189 = getTempRet0() | 0; + $192 = $194; + $193 = $195; + } + if ($39) $$0237 = HEAP32[$8 + ($$1241 << 2) >> 2] | 0; else $$0237 = 0; + } while (0); + STACKTOP = sp; + return $$0237 | 0; +} + +function _jinit_color_deconverter($0) { + $0 = $0 | 0; + var $$0107 = 0, $$019$i = 0, $$03233$i = 0, $$03233$i100 = 0, $$03233$i96 = 0, $$034$i = 0, $$034$i95 = 0, $$034$i99 = 0, $$sink = 0, $1 = 0, $108 = 0, $11 = 0, $111 = 0, $116 = 0, $119 = 0, $120 = 0, $123 = 0, $124 = 0, $127 = 0, $128 = 0, $131 = 0, $133 = 0, $134 = 0, $135 = 0, $144 = 0, $147 = 0, $154 = 0, $157 = 0, $166 = 0, $169 = 0, $17 = 0, $175 = 0, $178 = 0, $179 = 0, $182 = 0, $183 = 0, $186 = 0, $187 = 0, $190 = 0, $192 = 0, $193 = 0, $194 = 0, $203 = 0, $206 = 0, $211 = 0, $220 = 0, $228 = 0, $23 = 0, $29 = 0, $32 = 0, $36 = 0, $4 = 0, $40 = 0, $45 = 0, $48 = 0, $5 = 0, $55 = 0, $58 = 0, $6 = 0, $61 = 0, $73 = 0, $80 = 0, $83 = 0, $84 = 0, $87 = 0, $88 = 0, $91 = 0, $92 = 0, $95 = 0, $97 = 0, $98 = 0, $99 = 0; + $1 = $0 + 4 | 0; + $4 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 28) | 0; + $5 = $0 + 480 | 0; + HEAP32[$5 >> 2] = $4; + HEAP32[$4 >> 2] = 190; + $6 = $0 + 40 | 0; + switch (HEAP32[$6 >> 2] | 0) { + case 1: + { + if ((HEAP32[$0 + 36 >> 2] | 0) != 1) { + $11 = HEAP32[$0 >> 2] | 0; + HEAP32[$11 + 20 >> 2] = 11; + FUNCTION_TABLE_vi[HEAP32[$11 >> 2] & 255]($0); + } + break; + } + case 7: + case 6: + case 3: + case 2: + { + if ((HEAP32[$0 + 36 >> 2] | 0) != 3) { + $17 = HEAP32[$0 >> 2] | 0; + HEAP32[$17 + 20 >> 2] = 11; + FUNCTION_TABLE_vi[HEAP32[$17 >> 2] & 255]($0); + } + break; + } + case 5: + case 4: + { + if ((HEAP32[$0 + 36 >> 2] | 0) != 4) { + $23 = HEAP32[$0 >> 2] | 0; + HEAP32[$23 + 20 >> 2] = 11; + FUNCTION_TABLE_vi[HEAP32[$23 >> 2] & 255]($0); + } + break; + } + default: + if ((HEAP32[$0 + 36 >> 2] | 0) < 1) { + $29 = HEAP32[$0 >> 2] | 0; + HEAP32[$29 + 20 >> 2] = 11; + FUNCTION_TABLE_vi[HEAP32[$29 >> 2] & 255]($0); + } + } + $32 = $0 + 304 | 0; + L11 : do if (HEAP32[$32 >> 2] | 0) { + switch (HEAP32[$6 >> 2] | 0) { + case 6: + case 2: + { + break L11; + break; + } + default: + {} + } + $36 = HEAP32[$0 >> 2] | 0; + HEAP32[$36 + 20 >> 2] = 28; + FUNCTION_TABLE_vi[HEAP32[$36 >> 2] & 255]($0); + } while (0); + $40 = HEAP32[$0 + 44 >> 2] | 0; + L15 : do switch ($40 | 0) { + case 1: + { + HEAP32[$0 + 120 >> 2] = 1; + switch (HEAP32[$6 >> 2] | 0) { + case 7: + case 3: + case 1: + { + HEAP32[$4 + 4 >> 2] = 4; + $45 = HEAP32[$0 + 36 >> 2] | 0; + if (($45 | 0) <= 1) break L15; + $48 = HEAP32[$0 + 216 >> 2] | 0; + $$0107 = 1; + do { + HEAP32[$48 + ($$0107 * 88 | 0) + 52 >> 2] = 0; + $$0107 = $$0107 + 1 | 0; + } while (($$0107 | 0) < ($45 | 0)); + break; + } + case 2: + { + switch (HEAP32[$32 >> 2] | 0) { + case 0: + { + HEAP32[$4 + 4 >> 2] = 5; + break; + } + case 1: + { + HEAP32[$4 + 4 >> 2] = 6; + break; + } + default: + { + $55 = HEAP32[$0 >> 2] | 0; + HEAP32[$55 + 20 >> 2] = 28; + FUNCTION_TABLE_vi[HEAP32[$55 >> 2] & 255]($0); + } + } + $58 = HEAP32[$5 >> 2] | 0; + $61 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 3072) | 0; + HEAP32[$58 + 24 >> 2] = $61; + $$019$i = 0; + do { + HEAP32[$61 + ($$019$i << 2) >> 2] = $$019$i * 19595; + HEAP32[$61 + ($$019$i + 256 << 2) >> 2] = $$019$i * 38470; + HEAP32[$61 + ($$019$i + 512 << 2) >> 2] = ($$019$i * 7471 | 0) + 32768; + $$019$i = $$019$i + 1 | 0; + } while (($$019$i | 0) != 256); + break; + } + default: + { + $73 = HEAP32[$0 >> 2] | 0; + HEAP32[$73 + 20 >> 2] = 28; + FUNCTION_TABLE_vi[HEAP32[$73 >> 2] & 255]($0); + break L15; + } + } + break; + } + case 2: + { + HEAP32[$0 + 120 >> 2] = 3; + switch (HEAP32[$6 >> 2] | 0) { + case 1: + { + HEAP32[$4 + 4 >> 2] = 7; + break L15; + break; + } + case 3: + { + HEAP32[$4 + 4 >> 2] = 8; + $80 = HEAP32[$5 >> 2] | 0; + $83 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 1024) | 0; + $84 = $80 + 8 | 0; + HEAP32[$84 >> 2] = $83; + $87 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 1024) | 0; + $88 = $80 + 12 | 0; + HEAP32[$88 >> 2] = $87; + $91 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 1024) | 0; + $92 = $80 + 16 | 0; + HEAP32[$92 >> 2] = $91; + $95 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 1024) | 0; + HEAP32[$80 + 20 >> 2] = $95; + $97 = HEAP32[$84 >> 2] | 0; + $98 = HEAP32[$88 >> 2] | 0; + $99 = HEAP32[$92 >> 2] | 0; + $$03233$i = 0; + $$034$i = -128; + while (1) { + HEAP32[$97 + ($$03233$i << 2) >> 2] = ($$034$i * 91881 | 0) + 32768 >> 16; + HEAP32[$98 + ($$03233$i << 2) >> 2] = ($$034$i * 116130 | 0) + 32768 >> 16; + $108 = Math_imul($$034$i, -46802) | 0; + HEAP32[$99 + ($$03233$i << 2) >> 2] = $108; + $111 = (Math_imul($$034$i, -22553) | 0) + 32768 | 0; + HEAP32[$95 + ($$03233$i << 2) >> 2] = $111; + $$03233$i = $$03233$i + 1 | 0; + if (($$03233$i | 0) == 256) break; else $$034$i = $$034$i + 1 | 0; + } + break; + } + case 7: + { + HEAP32[$4 + 4 >> 2] = 8; + $116 = HEAP32[$5 >> 2] | 0; + $119 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 1024) | 0; + $120 = $116 + 8 | 0; + HEAP32[$120 >> 2] = $119; + $123 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 1024) | 0; + $124 = $116 + 12 | 0; + HEAP32[$124 >> 2] = $123; + $127 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 1024) | 0; + $128 = $116 + 16 | 0; + HEAP32[$128 >> 2] = $127; + $131 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 1024) | 0; + HEAP32[$116 + 20 >> 2] = $131; + $133 = HEAP32[$120 >> 2] | 0; + $134 = HEAP32[$124 >> 2] | 0; + $135 = HEAP32[$128 >> 2] | 0; + $$03233$i96 = 0; + $$034$i95 = -128; + while (1) { + HEAP32[$133 + ($$03233$i96 << 2) >> 2] = ($$034$i95 * 183763 | 0) + 32768 >> 16; + HEAP32[$134 + ($$03233$i96 << 2) >> 2] = ($$034$i95 * 232260 | 0) + 32768 >> 16; + $144 = Math_imul($$034$i95, -93603) | 0; + HEAP32[$135 + ($$03233$i96 << 2) >> 2] = $144; + $147 = (Math_imul($$034$i95, -45107) | 0) + 32768 | 0; + HEAP32[$131 + ($$03233$i96 << 2) >> 2] = $147; + $$03233$i96 = $$03233$i96 + 1 | 0; + if (($$03233$i96 | 0) == 256) break; else $$034$i95 = $$034$i95 + 1 | 0; + } + break; + } + case 2: + { + switch (HEAP32[$32 >> 2] | 0) { + case 0: + { + HEAP32[$4 + 4 >> 2] = 9; + break L15; + break; + } + case 1: + { + HEAP32[$4 + 4 >> 2] = 10; + break L15; + break; + } + default: + { + $154 = HEAP32[$0 >> 2] | 0; + HEAP32[$154 + 20 >> 2] = 28; + FUNCTION_TABLE_vi[HEAP32[$154 >> 2] & 255]($0); + break L15; + } + } + break; + } + default: + { + $157 = HEAP32[$0 >> 2] | 0; + HEAP32[$157 + 20 >> 2] = 28; + FUNCTION_TABLE_vi[HEAP32[$157 >> 2] & 255]($0); + break L15; + } + } + break; + } + case 6: + { + HEAP32[$0 + 120 >> 2] = 3; + if ((HEAP32[$6 >> 2] | 0) != 6) { + $169 = HEAP32[$0 >> 2] | 0; + HEAP32[$169 + 20 >> 2] = 28; + FUNCTION_TABLE_vi[HEAP32[$169 >> 2] & 255]($0); + break L15; + } + switch (HEAP32[$32 >> 2] | 0) { + case 0: + { + HEAP32[$4 + 4 >> 2] = 9; + break L15; + break; + } + case 1: + { + HEAP32[$4 + 4 >> 2] = 10; + break L15; + break; + } + default: + { + $166 = HEAP32[$0 >> 2] | 0; + HEAP32[$166 + 20 >> 2] = 28; + FUNCTION_TABLE_vi[HEAP32[$166 >> 2] & 255]($0); + break L15; + } + } + break; + } + case 4: + { + HEAP32[$0 + 120 >> 2] = 4; + switch (HEAP32[$6 >> 2] | 0) { + case 5: + { + HEAP32[$4 + 4 >> 2] = 11; + $175 = HEAP32[$5 >> 2] | 0; + $178 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 1024) | 0; + $179 = $175 + 8 | 0; + HEAP32[$179 >> 2] = $178; + $182 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 1024) | 0; + $183 = $175 + 12 | 0; + HEAP32[$183 >> 2] = $182; + $186 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 1024) | 0; + $187 = $175 + 16 | 0; + HEAP32[$187 >> 2] = $186; + $190 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 1024) | 0; + HEAP32[$175 + 20 >> 2] = $190; + $192 = HEAP32[$179 >> 2] | 0; + $193 = HEAP32[$183 >> 2] | 0; + $194 = HEAP32[$187 >> 2] | 0; + $$03233$i100 = 0; + $$034$i99 = -128; + while (1) { + HEAP32[$192 + ($$03233$i100 << 2) >> 2] = ($$034$i99 * 91881 | 0) + 32768 >> 16; + HEAP32[$193 + ($$03233$i100 << 2) >> 2] = ($$034$i99 * 116130 | 0) + 32768 >> 16; + $203 = Math_imul($$034$i99, -46802) | 0; + HEAP32[$194 + ($$03233$i100 << 2) >> 2] = $203; + $206 = (Math_imul($$034$i99, -22553) | 0) + 32768 | 0; + HEAP32[$190 + ($$03233$i100 << 2) >> 2] = $206; + $$03233$i100 = $$03233$i100 + 1 | 0; + if (($$03233$i100 | 0) == 256) break; else $$034$i99 = $$034$i99 + 1 | 0; + } + break; + } + case 4: + { + HEAP32[$4 + 4 >> 2] = 12; + break L15; + break; + } + default: + { + $211 = HEAP32[$0 >> 2] | 0; + HEAP32[$211 + 20 >> 2] = 28; + FUNCTION_TABLE_vi[HEAP32[$211 >> 2] & 255]($0); + break L15; + } + } + break; + } + default: + if (($40 | 0) == (HEAP32[$6 >> 2] | 0)) { + HEAP32[$0 + 120 >> 2] = HEAP32[$0 + 36 >> 2]; + HEAP32[$4 + 4 >> 2] = 12; + break L15; + } else { + $220 = HEAP32[$0 >> 2] | 0; + HEAP32[$220 + 20 >> 2] = 28; + FUNCTION_TABLE_vi[HEAP32[$220 >> 2] & 255]($0); + break L15; + } + } while (0); + if (HEAP32[$0 + 84 >> 2] | 0) { + $$sink = 1; + $228 = $0 + 124 | 0; + HEAP32[$228 >> 2] = $$sink; + return; + } + $$sink = HEAP32[$0 + 120 >> 2] | 0; + $228 = $0 + 124 | 0; + HEAP32[$228 >> 2] = $$sink; + return; +} + +function _decode_mcu_AC_refine_65($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$0164 = 0, $$0166 = 0, $$017$i = 0, $$0170 = 0, $$0175 = 0, $$0180 = 0, $$0197 = 0, $$0199205 = 0, $$10 = 0, $$10190 = 0, $$11 = 0, $$11191 = 0, $$1167 = 0, $$1171 = 0, $$1176 = 0, $$1181 = 0, $$1198 = 0, $$1200 = 0, $$12192206 = 0, $$12207 = 0, $$13 = 0, $$13193 = 0, $$14 = 0, $$14194 = 0, $$15 = 0, $$15195 = 0, $$16 = 0, $$16196 = 0, $$2$ph = 0, $$2168209 = 0, $$2172 = 0, $$2177 = 0, $$2182 = 0, $$3 = 0, $$3169 = 0, $$3173208 = 0, $$4174 = 0, $$4179$ph = 0, $$4184$ph = 0, $$4226 = 0, $$5 = 0, $$5185 = 0, $$6 = 0, $$6186 = 0, $$7 = 0, $$7187 = 0, $$8 = 0, $$8188 = 0, $$9 = 0, $$9189 = 0, $104 = 0, $113 = 0, $12 = 0, $121 = 0, $125 = 0, $126 = 0, $136 = 0, $140 = 0, $147 = 0, $152 = 0, $156 = 0, $16 = 0, $164 = 0, $168 = 0, $169 = 0, $17 = 0, $181 = 0, $184 = 0, $2 = 0, $24 = 0, $3 = 0, $41 = 0, $43 = 0, $44 = 0, $45 = 0, $47 = 0, $49 = 0, $5 = 0, $50 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $63 = 0, $65 = 0, $67 = 0, $68 = 0, $72 = 0, $73 = 0, $77 = 0, $79 = 0, $85 = 0, $89 = 0, $9 = 0, $90 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 288 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(288); + $2 = sp + 256 | 0; + $3 = sp; + $5 = HEAP32[$0 + 468 >> 2] | 0; + $6 = $0 + 280 | 0; + if (HEAP32[$6 >> 2] | 0 ? ($9 = $5 + 44 | 0, (HEAP32[$9 >> 2] | 0) == 0) : 0) { + $12 = $5 + 16 | 0; + $16 = HEAP32[$0 + 464 >> 2] | 0; + $17 = $16 + 24 | 0; + HEAP32[$17 >> 2] = (HEAP32[$17 >> 2] | 0) + ((HEAP32[$12 >> 2] | 0) / 8 | 0); + HEAP32[$12 >> 2] = 0; + if (!(FUNCTION_TABLE_ii[HEAP32[$16 + 8 >> 2] & 127]($0) | 0)) { + $$0 = 0; + STACKTOP = sp; + return $$0 | 0; + } + $24 = $0 + 340 | 0; + if ((HEAP32[$24 >> 2] | 0) > 0) { + $$017$i = 0; + do { + HEAP32[$5 + 24 + ($$017$i << 2) >> 2] = 0; + $$017$i = $$017$i + 1 | 0; + } while (($$017$i | 0) < (HEAP32[$24 >> 2] | 0)); + } + HEAP32[$5 + 20 >> 2] = 0; + HEAP32[$9 >> 2] = HEAP32[$6 >> 2]; + if (!(HEAP32[$0 + 440 >> 2] | 0)) HEAP32[$5 + 40 >> 2] = 0; + } + do if (!(HEAP32[$5 + 40 >> 2] | 0)) { + $41 = HEAP32[$0 + 416 >> 2] | 0; + $43 = HEAP32[$0 + 424 >> 2] | 0; + $44 = 1 << $43; + $45 = -1 << $43; + $47 = HEAP32[$0 + 432 >> 2] | 0; + HEAP32[$2 + 16 >> 2] = $0; + $49 = $0 + 24 | 0; + $50 = HEAP32[$49 >> 2] | 0; + HEAP32[$2 >> 2] = HEAP32[$50 >> 2]; + $54 = $2 + 4 | 0; + HEAP32[$54 >> 2] = HEAP32[$50 + 4 >> 2]; + $55 = $5 + 12 | 0; + $56 = HEAP32[$55 >> 2] | 0; + $57 = $5 + 16 | 0; + $58 = HEAP32[$57 >> 2] | 0; + $59 = $5 + 20 | 0; + $60 = HEAP32[$59 >> 2] | 0; + $61 = HEAP32[$1 >> 2] | 0; + $63 = HEAP32[$5 + 64 >> 2] | 0; + $65 = HEAP32[$0 + 412 >> 2] | 0; + $67 = $2 + 8 | 0; + $68 = $2 + 12 | 0; + L16 : do if (!$60) { + $$0166 = 0; + $$0170 = $65; + $$0175 = $58; + $$0180 = $56; + L18 : while (1) { + if (($$0175 | 0) < 8) { + if (!(_jpeg_fill_bit_buffer($2, $$0180, $$0175, 0) | 0)) { + $$3169 = $$0166; + break L16; + } + $72 = HEAP32[$67 >> 2] | 0; + $73 = HEAP32[$68 >> 2] | 0; + if (($73 | 0) < 8) { + $$0164 = 1; + $$2177 = $73; + $$2182 = $72; + label = 17; + } else { + $$1176 = $73; + $$1181 = $72; + label = 15; + } + } else { + $$1176 = $$0175; + $$1181 = $$0180; + label = 15; + } + if ((label | 0) == 15) { + label = 0; + $77 = $$1181 >> $$1176 + -8 & 255; + $79 = HEAP32[$63 + 144 + ($77 << 2) >> 2] | 0; + if (!$79) { + $$0164 = 9; + $$2177 = $$1176; + $$2182 = $$1181; + label = 17; + } else { + $$2$ph = HEAPU8[$63 + 1168 + $77 >> 0] | 0; + $$4179$ph = $$1176 - $79 | 0; + $$4184$ph = $$1181; + } + } + if ((label | 0) == 17) { + label = 0; + $85 = _jpeg_huff_decode($2, $$2182, $$2177, $63, $$0164) | 0; + if (($85 | 0) < 0) { + $$3169 = $$0166; + break L16; + } + $$2$ph = $85; + $$4179$ph = HEAP32[$68 >> 2] | 0; + $$4184$ph = HEAP32[$67 >> 2] | 0; + } + $89 = $$2$ph >>> 4; + switch ($$2$ph & 15) { + case 0: + { + if (($89 | 0) == 15) { + $$3 = 0; + $$7 = $$4179$ph; + $$7187 = $$4184$ph; + } else break L18; + break; + } + case 1: + { + label = 21; + break; + } + default: + { + $90 = HEAP32[$0 >> 2] | 0; + HEAP32[$90 + 20 >> 2] = 121; + FUNCTION_TABLE_vii[HEAP32[$90 + 4 >> 2] & 255]($0, -1); + label = 21; + } + } + if ((label | 0) == 21) { + label = 0; + if (($$4179$ph | 0) < 1) { + if (!(_jpeg_fill_bit_buffer($2, $$4184$ph, $$4179$ph, 1) | 0)) { + $$3169 = $$0166; + break L16; + } + $$5 = HEAP32[$68 >> 2] | 0; + $$5185 = HEAP32[$67 >> 2] | 0; + } else { + $$5 = $$4179$ph; + $$5185 = $$4184$ph; + } + $99 = $$5 + -1 | 0; + $$3 = (1 << $99 & $$5185 | 0) == 0 ? $45 : $44; + $$7 = $99; + $$7187 = $$5185; + } + $$0197 = $89; + $$1171 = $$0170; + $$8 = $$7; + $$8188 = $$7187; + L40 : while (1) { + $113 = $61 + (HEAP32[$47 + ($$1171 << 2) >> 2] << 1) | 0; + do if (!(HEAP16[$113 >> 1] | 0)) if (($$0197 | 0) < 1) { + $$11 = $$8; + $$11191 = $$8188; + $$2172 = $$1171; + break L40; + } else { + $$10 = $$8; + $$10190 = $$8188; + $$1198 = $$0197 + -1 | 0; + } else { + if (($$8 | 0) < 1) { + if (!(_jpeg_fill_bit_buffer($2, $$8188, $$8, 1) | 0)) { + $$3169 = $$0166; + break L16; + } + $$9 = HEAP32[$68 >> 2] | 0; + $$9189 = HEAP32[$67 >> 2] | 0; + } else { + $$9 = $$8; + $$9189 = $$8188; + } + $121 = $$9 + -1 | 0; + if ((1 << $121 & $$9189 | 0) != 0 ? ($125 = HEAP16[$113 >> 1] | 0, $126 = $125 << 16 >> 16, ($44 & $126 | 0) == 0) : 0) if ($125 << 16 >> 16 > -1) { + HEAP16[$113 >> 1] = $44 + $126; + $$10 = $121; + $$10190 = $$9189; + $$1198 = $$0197; + break; + } else { + HEAP16[$113 >> 1] = $45 + $126; + $$10 = $121; + $$10190 = $$9189; + $$1198 = $$0197; + break; + } else { + $$10 = $121; + $$10190 = $$9189; + $$1198 = $$0197; + } + } while (0); + $136 = $$1171 + 1 | 0; + if (($$1171 | 0) < ($41 | 0)) { + $$0197 = $$1198; + $$1171 = $136; + $$8 = $$10; + $$8188 = $$10190; + } else { + $$11 = $$10; + $$11191 = $$10190; + $$2172 = $136; + break; + } + } + if (!$$3) $$1167 = $$0166; else { + $140 = HEAP32[$47 + ($$2172 << 2) >> 2] | 0; + HEAP16[$61 + ($140 << 1) >> 1] = $$3; + HEAP32[$3 + ($$0166 << 2) >> 2] = $140; + $$1167 = $$0166 + 1 | 0; + } + if (($$2172 | 0) < ($41 | 0)) { + $$0166 = $$1167; + $$0170 = $$2172 + 1 | 0; + $$0175 = $$11; + $$0180 = $$11191; + } else { + $$1200 = 0; + $$16 = $$11; + $$16196 = $$11191; + label = 58; + break L16; + } + } + $104 = 1 << $89; + if ($89) { + if (($$4179$ph | 0) < ($89 | 0)) { + if (!(_jpeg_fill_bit_buffer($2, $$4184$ph, $$4179$ph, $89) | 0)) { + $$3169 = $$0166; + break; + } + $$6 = HEAP32[$68 >> 2] | 0; + $$6186 = HEAP32[$67 >> 2] | 0; + } else { + $$6 = $$4179$ph; + $$6186 = $$4184$ph; + } + $147 = $$6 - $89 | 0; + $152 = ($$6186 >> $147 & HEAP32[5184 + ($89 << 2) >> 2]) + $104 | 0; + if (!$152) { + $$1200 = 0; + $$16 = $147; + $$16196 = $$6186; + label = 58; + } else { + $$0199205 = $152; + $$12192206 = $$6186; + $$12207 = $147; + $$2168209 = $$0166; + $$3173208 = $$0170; + label = 46; + } + } else { + $$0199205 = 1; + $$12192206 = $$4184$ph; + $$12207 = $$4179$ph; + $$2168209 = $$0166; + $$3173208 = $$0170; + label = 46; + } + } else { + $$0199205 = $60; + $$12192206 = $56; + $$12207 = $58; + $$2168209 = 0; + $$3173208 = $65; + label = 46; + } while (0); + L65 : do if ((label | 0) == 46) { + $$13 = $$12207; + $$13193 = $$12192206; + $$4174 = $$3173208; + while (1) { + $156 = $61 + (HEAP32[$47 + ($$4174 << 2) >> 2] << 1) | 0; + do if (HEAP16[$156 >> 1] | 0) { + if (($$13 | 0) < 1) { + if (!(_jpeg_fill_bit_buffer($2, $$13193, $$13, 1) | 0)) { + $$3169 = $$2168209; + break L65; + } + $$14 = HEAP32[$68 >> 2] | 0; + $$14194 = HEAP32[$67 >> 2] | 0; + } else { + $$14 = $$13; + $$14194 = $$13193; + } + $164 = $$14 + -1 | 0; + if ((1 << $164 & $$14194 | 0) != 0 ? ($168 = HEAP16[$156 >> 1] | 0, $169 = $168 << 16 >> 16, ($44 & $169 | 0) == 0) : 0) if ($168 << 16 >> 16 > -1) { + HEAP16[$156 >> 1] = $44 + $169; + $$15 = $164; + $$15195 = $$14194; + break; + } else { + HEAP16[$156 >> 1] = $45 + $169; + $$15 = $164; + $$15195 = $$14194; + break; + } else { + $$15 = $164; + $$15195 = $$14194; + } + } else { + $$15 = $$13; + $$15195 = $$13193; + } while (0); + if (($$4174 | 0) < ($41 | 0)) { + $$13 = $$15; + $$13193 = $$15195; + $$4174 = $$4174 + 1 | 0; + } else break; + } + $$1200 = $$0199205 + -1 | 0; + $$16 = $$15; + $$16196 = $$15195; + label = 58; + } while (0); + if ((label | 0) == 58) { + $181 = HEAP32[$49 >> 2] | 0; + HEAP32[$181 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$181 + 4 >> 2] = HEAP32[$54 >> 2]; + HEAP32[$55 >> 2] = $$16196; + HEAP32[$57 >> 2] = $$16; + HEAP32[$59 >> 2] = $$1200; + break; + } + if (!$$3169) { + $$0 = 0; + STACKTOP = sp; + return $$0 | 0; + } + $$4226 = $$3169; + do { + $$4226 = $$4226 + -1 | 0; + HEAP16[$61 + (HEAP32[$3 + ($$4226 << 2) >> 2] << 1) >> 1] = 0; + } while (($$4226 | 0) != 0); + $$0 = 0; + STACKTOP = sp; + return $$0 | 0; + } while (0); + $184 = $5 + 44 | 0; + HEAP32[$184 >> 2] = (HEAP32[$184 >> 2] | 0) + -1; + $$0 = 1; + STACKTOP = sp; + return $$0 | 0; +} + +function _mbsrtowcs($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0105132 = 0, $$0111131 = 0, $$097 = 0, $$098$lcssa = 0, $$098133 = 0, $$10 = 0, $$1106$ph = 0, $$1106147 = 0, $$1112 = 0, $$1112$ph = 0, $$11122124 = 0, $$11182 = 0, $$11183 = 0, $$199 = 0, $$199$ph = 0, $$2 = 0, $$2100154 = 0, $$2107135 = 0, $$2113153 = 0, $$3101 = 0, $$3108 = 0, $$3108$ph = 0, $$3108176 = 0, $$3114 = 0, $$4 = 0, $$4102 = 0, $$4109 = 0, $$4115 = 0, $$5 = 0, $$5103 = 0, $$5110 = 0, $$5110180 = 0, $$5110181 = 0, $$5116$ph = 0, $$5116146 = 0, $$6 = 0, $$6104$lcssa = 0, $$6104$ph = 0, $$6104148 = 0, $$6117134 = 0, $$7118 = 0, $$7118$ph = 0, $$7118175 = 0, $$7136 = 0, $$8 = 0, $$8$ph = 0, $$8119 = 0, $$8177 = 0, $$9 = 0, $$9$sink = 0, $$9120 = 0, $$9120179 = 0, $$pre = 0, $$pre$phi173Z2D = 0, $$pre$phi174Z2D = 0, $$pre$phiZ2D = 0, $$pre171 = 0, $10 = 0, $105 = 0, $108 = 0, $109 = 0, $113 = 0, $117 = 0, $123 = 0, $124 = 0, $131 = 0, $133 = 0, $137 = 0, $14 = 0, $140 = 0, $141 = 0, $145 = 0, $152 = 0, $153 = 0, $159 = 0, $17 = 0, $19 = 0, $23 = 0, $26 = 0, $33 = 0, $38 = 0, $4 = 0, $41 = 0, $47 = 0, $48 = 0, $53 = 0, $6 = 0, $60 = 0, $66 = 0, $72 = 0, $82 = 0, $83 = 0, $89 = 0, label = 0; + $4 = HEAP32[$1 >> 2] | 0; + if (($3 | 0) != 0 ? ($6 = HEAP32[$3 >> 2] | 0, ($6 | 0) != 0) : 0) if (!$0) { + $$2 = $6; + $$4102 = $4; + $$4115 = $2; + label = 26; + } else { + HEAP32[$3 >> 2] = 0; + $$4 = $6; + $$4109 = $0; + $$8119 = $2; + $$9 = $4; + label = 48; + } else label = 5; + L5 : do if ((label | 0) == 5) { + $10 = (___pthread_self_417() | 0) + 188 | 0; + $14 = ($0 | 0) != 0; + if (HEAP32[HEAP32[$10 >> 2] >> 2] | 0) if ($14) { + $$1106$ph = $0; + $$5116$ph = $2; + $$6104$ph = $4; + label = 33; + break; + } else { + $$1112$ph = $2; + $$199$ph = $4; + label = 15; + break; + } + if (!$14) { + $$097 = _strlen($4) | 0; + label = 63; + break; + } + L13 : do if (!$2) $$098$lcssa = $4; else { + $$0105132 = $0; + $$0111131 = $2; + $$098133 = $4; + while (1) { + $17 = HEAP8[$$098133 >> 0] | 0; + if (!($17 << 24 >> 24)) break; + $19 = $$098133 + 1 | 0; + HEAP32[$$0105132 >> 2] = $17 << 24 >> 24 & 57343; + $23 = $$0111131 + -1 | 0; + if (!$23) { + $$098$lcssa = $19; + break L13; + } else { + $$0105132 = $$0105132 + 4 | 0; + $$0111131 = $23; + $$098133 = $19; + } + } + HEAP32[$$0105132 >> 2] = 0; + HEAP32[$1 >> 2] = 0; + $$097 = $2 - $$0111131 | 0; + label = 63; + break L5; + } while (0); + HEAP32[$1 >> 2] = $$098$lcssa; + $$097 = $2; + label = 63; + } while (0); + L20 : while (1) { + L21 : do if ((label | 0) == 15) { + label = 0; + $$1112 = $$1112$ph; + $$199 = $$199$ph; + while (1) { + $26 = HEAP8[$$199 >> 0] | 0; + if ((($26 & 255) + -1 | 0) >>> 0 < 127 ? ($$199 & 3 | 0) == 0 : 0) { + $33 = HEAP32[$$199 >> 2] | 0; + $38 = $33 & 255; + if (!(($33 + -16843009 | $33) & -2139062144)) { + $$2100154 = $$199; + $$2113153 = $$1112; + do { + $$2100154 = $$2100154 + 4 | 0; + $$2113153 = $$2113153 + -4 | 0; + $41 = HEAP32[$$2100154 >> 2] | 0; + } while (!(($41 + -16843009 | $41) & -2139062144 | 0)); + $$3101 = $$2100154; + $$3114 = $$2113153; + $48 = $41 & 255; + } else { + $$3101 = $$199; + $$3114 = $$1112; + $48 = $38; + } + } else { + $$3101 = $$199; + $$3114 = $$1112; + $48 = $26; + } + $47 = $48 & 255; + if (($47 + -1 | 0) >>> 0 >= 127) break; + $$1112 = $$3114 + -1 | 0; + $$199 = $$3101 + 1 | 0; + } + $53 = $47 + -194 | 0; + if ($53 >>> 0 > 50) { + $$11182 = $$3101; + $$5110180 = $0; + $$9120179 = $$3114; + label = 57; + } else { + $$2 = HEAP32[5728 + ($53 << 2) >> 2] | 0; + $$4102 = $$3101 + 1 | 0; + $$4115 = $$3114; + label = 26; + continue L20; + } + } else if ((label | 0) == 26) { + label = 0; + $60 = (HEAPU8[$$4102 >> 0] | 0) >>> 3; + if (($60 + -16 | $60 + ($$2 >> 26)) >>> 0 > 7) { + $$5110 = $0; + $$6 = $$2; + $$9$sink = $$4102; + $$9120 = $$4115; + label = 56; + } else { + $66 = $$4102 + 1 | 0; + if ($$2 & 33554432) { + if ((HEAP8[$66 >> 0] & -64) << 24 >> 24 != -128) { + $$5110 = $0; + $$6 = $$2; + $$9$sink = $$4102; + $$9120 = $$4115; + label = 56; + break; + } + $72 = $$4102 + 2 | 0; + if (!($$2 & 524288)) $$5103 = $72; else { + if ((HEAP8[$72 >> 0] & -64) << 24 >> 24 != -128) { + $$5110 = $0; + $$6 = $$2; + $$9$sink = $$4102; + $$9120 = $$4115; + label = 56; + break; + } + $$5103 = $$4102 + 3 | 0; + } + } else $$5103 = $66; + $$1112$ph = $$4115 + -1 | 0; + $$199$ph = $$5103; + label = 15; + continue L20; + } + } else if ((label | 0) == 33) { + label = 0; + L23 : do if (!$$5116$ph) $$6104$lcssa = $$6104$ph; else { + $$1106147 = $$1106$ph; + $$5116146 = $$5116$ph; + $$6104148 = $$6104$ph; + while (1) { + $82 = HEAPU8[$$6104148 >> 0] | 0; + $83 = $82 + -1 | 0; + if ($83 >>> 0 < 127) if (($$6104148 & 3 | 0) == 0 & $$5116146 >>> 0 > 4) { + $$2107135 = $$1106147; + $$6117134 = $$5116146; + $$7136 = $$6104148; + while (1) { + $89 = HEAP32[$$7136 >> 2] | 0; + if (($89 + -16843009 | $89) & -2139062144 | 0) { + label = 42; + break; + } + HEAP32[$$2107135 >> 2] = $89 & 255; + HEAP32[$$2107135 + 4 >> 2] = HEAPU8[$$7136 + 1 >> 0]; + HEAP32[$$2107135 + 8 >> 2] = HEAPU8[$$7136 + 2 >> 0]; + $105 = $$7136 + 4 | 0; + $108 = $$2107135 + 16 | 0; + HEAP32[$$2107135 + 12 >> 2] = HEAPU8[$$7136 + 3 >> 0]; + $109 = $$6117134 + -4 | 0; + if ($109 >>> 0 > 4) { + $$2107135 = $108; + $$6117134 = $109; + $$7136 = $105; + } else { + label = 41; + break; + } + } + if ((label | 0) == 41) { + label = 0; + $$3108$ph = $108; + $$7118$ph = $109; + $$8$ph = $105; + $$pre = HEAP8[$105 >> 0] | 0; + } else if ((label | 0) == 42) { + label = 0; + $$3108$ph = $$2107135; + $$7118$ph = $$6117134; + $$8$ph = $$7136; + $$pre = $89 & 255; + } + $$pre171 = $$pre & 255; + $$3108 = $$3108$ph; + $$7118 = $$7118$ph; + $$8 = $$8$ph; + $$pre$phi173Z2D = $$pre171 + -1 | 0; + $$pre$phiZ2D = $$pre171; + label = 44; + } else { + $$3108176 = $$1106147; + $$7118175 = $$5116146; + $$8177 = $$6104148; + $$pre$phi174Z2D = $82; + } else { + $$3108 = $$1106147; + $$7118 = $$5116146; + $$8 = $$6104148; + $$pre$phi173Z2D = $83; + $$pre$phiZ2D = $82; + label = 44; + } + if ((label | 0) == 44) { + label = 0; + if ($$pre$phi173Z2D >>> 0 < 127) { + $$3108176 = $$3108; + $$7118175 = $$7118; + $$8177 = $$8; + $$pre$phi174Z2D = $$pre$phiZ2D; + } else break; + } + $113 = $$8177 + 1 | 0; + HEAP32[$$3108176 >> 2] = $$pre$phi174Z2D; + $$5116146 = $$7118175 + -1 | 0; + if (!$$5116146) { + $$6104$lcssa = $113; + break L23; + } else { + $$1106147 = $$3108176 + 4 | 0; + $$6104148 = $113; + } + } + $117 = $$pre$phiZ2D + -194 | 0; + if ($117 >>> 0 > 50) { + $$11182 = $$8; + $$5110180 = $$3108; + $$9120179 = $$7118; + label = 57; + break L21; + } + $$4 = HEAP32[5728 + ($117 << 2) >> 2] | 0; + $$4109 = $$3108; + $$8119 = $$7118; + $$9 = $$8 + 1 | 0; + label = 48; + continue L20; + } while (0); + HEAP32[$1 >> 2] = $$6104$lcssa; + $$097 = $2; + label = 63; + continue L20; + } else if ((label | 0) == 48) { + label = 0; + $123 = HEAPU8[$$9 >> 0] | 0; + $124 = $123 >>> 3; + if (($124 + -16 | $124 + ($$4 >> 26)) >>> 0 > 7) { + $$5110 = $$4109; + $$6 = $$4; + $$9$sink = $$9; + $$9120 = $$8119; + label = 56; + } else { + $131 = $$9 + 1 | 0; + $133 = $123 + -128 | $$4 << 6; + do if (($133 | 0) < 0) { + $137 = (HEAPU8[$131 >> 0] | 0) + -128 | 0; + if ($137 >>> 0 <= 63) { + $140 = $$9 + 2 | 0; + $141 = $137 | $133 << 6; + if (($141 | 0) >= 0) { + $$10 = $140; + $$5 = $141; + break; + } + $145 = (HEAPU8[$140 >> 0] | 0) + -128 | 0; + if ($145 >>> 0 <= 63) { + $$10 = $$9 + 3 | 0; + $$5 = $145 | $141 << 6; + break; + } + } + $152 = ___errno_location() | 0; + HEAP32[$152 >> 2] = 25; + $$11122124 = $$9 + -1 | 0; + break L21; + } else { + $$10 = $131; + $$5 = $133; + } while (0); + HEAP32[$$4109 >> 2] = $$5; + $$1106$ph = $$4109 + 4 | 0; + $$5116$ph = $$8119 + -1 | 0; + $$6104$ph = $$10; + label = 33; + continue L20; + } + } else if ((label | 0) == 63) { + label = 0; + return $$097 | 0; + } while (0); + if ((label | 0) == 56) { + label = 0; + $153 = $$9$sink + -1 | 0; + if (!$$6) { + $$11182 = $153; + $$5110180 = $$5110; + $$9120179 = $$9120; + label = 57; + } else { + $$11183 = $153; + $$5110181 = $$5110; + label = 61; + } + } + if ((label | 0) == 57) { + label = 0; + if (!(HEAP8[$$11182 >> 0] | 0)) { + if ($$5110180 | 0) { + HEAP32[$$5110180 >> 2] = 0; + HEAP32[$1 >> 2] = 0; + } + $$097 = $2 - $$9120179 | 0; + label = 63; + continue; + } else { + $$11183 = $$11182; + $$5110181 = $$5110180; + label = 61; + } + } + if ((label | 0) == 61) { + label = 0; + $159 = ___errno_location() | 0; + HEAP32[$159 >> 2] = 25; + if (!$$5110181) { + $$097 = -1; + label = 63; + continue; + } else $$11122124 = $$11183; + } + HEAP32[$1 >> 2] = $$11122124; + $$097 = -1; + label = 63; + } + return 0; +} + +function __ZNK6vision21HoughSimilarityVoting11getBinIndexEiiii($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $103 = 0, $107 = 0, $114 = 0, $119 = 0, $12 = 0, $123 = 0, $132 = 0, $137 = 0, $141 = 0, $143 = 0, $147 = 0, $151 = 0, $160 = 0, $165 = 0, $169 = 0, $17 = 0, $21 = 0, $23 = 0, $30 = 0, $35 = 0, $39 = 0, $46 = 0, $5 = 0, $51 = 0, $55 = 0, $57 = 0, $64 = 0, $69 = 0, $73 = 0, $80 = 0, $85 = 0, $89 = 0, $91 = 0, $98 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $5 = sp; + if (($1 | 0) <= -1) { + $12 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 36688) | 0, 36227) | 0, 39072) | 0, 165) | 0, 39079) | 0, 36721) | 0; + __ZNKSt3__28ios_base6getlocEv($5, $12 + (HEAP32[(HEAP32[$12 >> 2] | 0) + -12 >> 2] | 0) | 0); + $17 = __ZNKSt3__26locale9use_facetERNS0_2idE($5, 66512) | 0; + $21 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$17 >> 2] | 0) + 28 >> 2] & 127]($17, 10) | 0; + __ZNSt3__26localeD2Ev($5); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($12, $21) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($12) | 0; + _abort(); + } + $23 = HEAP32[$0 + 52 >> 2] | 0; + if (($23 | 0) <= ($1 | 0)) { + $30 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 36739) | 0, 36227) | 0, 39072) | 0, 166) | 0, 39079) | 0, 36721) | 0; + __ZNKSt3__28ios_base6getlocEv($5, $30 + (HEAP32[(HEAP32[$30 >> 2] | 0) + -12 >> 2] | 0) | 0); + $35 = __ZNKSt3__26locale9use_facetERNS0_2idE($5, 66512) | 0; + $39 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$35 >> 2] | 0) + 28 >> 2] & 127]($35, 10) | 0; + __ZNSt3__26localeD2Ev($5); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($30, $39) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($30) | 0; + _abort(); + } + if (($2 | 0) <= -1) { + $46 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 36779) | 0, 36227) | 0, 39072) | 0, 167) | 0, 39079) | 0, 36812) | 0; + __ZNKSt3__28ios_base6getlocEv($5, $46 + (HEAP32[(HEAP32[$46 >> 2] | 0) + -12 >> 2] | 0) | 0); + $51 = __ZNKSt3__26locale9use_facetERNS0_2idE($5, 66512) | 0; + $55 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$51 >> 2] | 0) + 28 >> 2] & 127]($51, 10) | 0; + __ZNSt3__26localeD2Ev($5); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($46, $55) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($46) | 0; + _abort(); + } + $57 = HEAP32[$0 + 56 >> 2] | 0; + if (($57 | 0) <= ($2 | 0)) { + $64 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 36830) | 0, 36227) | 0, 39072) | 0, 168) | 0, 39079) | 0, 36812) | 0; + __ZNKSt3__28ios_base6getlocEv($5, $64 + (HEAP32[(HEAP32[$64 >> 2] | 0) + -12 >> 2] | 0) | 0); + $69 = __ZNKSt3__26locale9use_facetERNS0_2idE($5, 66512) | 0; + $73 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$69 >> 2] | 0) + 28 >> 2] & 127]($69, 10) | 0; + __ZNSt3__26localeD2Ev($5); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($64, $73) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($64) | 0; + _abort(); + } + if (($3 | 0) <= -1) { + $80 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 36870) | 0, 36227) | 0, 39072) | 0, 169) | 0, 39079) | 0, 36907) | 0; + __ZNKSt3__28ios_base6getlocEv($5, $80 + (HEAP32[(HEAP32[$80 >> 2] | 0) + -12 >> 2] | 0) | 0); + $85 = __ZNKSt3__26locale9use_facetERNS0_2idE($5, 66512) | 0; + $89 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$85 >> 2] | 0) + 28 >> 2] & 127]($85, 10) | 0; + __ZNSt3__26localeD2Ev($5); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($80, $89) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($80) | 0; + _abort(); + } + $91 = HEAP32[$0 + 60 >> 2] | 0; + if (($91 | 0) <= ($3 | 0)) { + $98 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 36929) | 0, 36227) | 0, 39072) | 0, 170) | 0, 39079) | 0, 36907) | 0; + __ZNKSt3__28ios_base6getlocEv($5, $98 + (HEAP32[(HEAP32[$98 >> 2] | 0) + -12 >> 2] | 0) | 0); + $103 = __ZNKSt3__26locale9use_facetERNS0_2idE($5, 66512) | 0; + $107 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$103 >> 2] | 0) + 28 >> 2] & 127]($103, 10) | 0; + __ZNSt3__26localeD2Ev($5); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($98, $107) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($98) | 0; + _abort(); + } + if (($4 | 0) <= -1) { + $114 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 36977) | 0, 36227) | 0, 39072) | 0, 171) | 0, 39079) | 0, 37014) | 0; + __ZNKSt3__28ios_base6getlocEv($5, $114 + (HEAP32[(HEAP32[$114 >> 2] | 0) + -12 >> 2] | 0) | 0); + $119 = __ZNKSt3__26locale9use_facetERNS0_2idE($5, 66512) | 0; + $123 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$119 >> 2] | 0) + 28 >> 2] & 127]($119, 10) | 0; + __ZNSt3__26localeD2Ev($5); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($114, $123) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($114) | 0; + _abort(); + } + if ((HEAP32[$0 + 64 >> 2] | 0) <= ($4 | 0)) { + $132 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 37036) | 0, 36227) | 0, 39072) | 0, 172) | 0, 39079) | 0, 37014) | 0; + __ZNKSt3__28ios_base6getlocEv($5, $132 + (HEAP32[(HEAP32[$132 >> 2] | 0) + -12 >> 2] | 0) | 0); + $137 = __ZNKSt3__26locale9use_facetERNS0_2idE($5, 66512) | 0; + $141 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$137 >> 2] | 0) + 28 >> 2] & 127]($137, 10) | 0; + __ZNSt3__26localeD2Ev($5); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($132, $141) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($132) | 0; + _abort(); + } + $143 = (Math_imul($23, $2) | 0) + $1 | 0; + $147 = (Math_imul(HEAP32[$0 + 84 >> 2] | 0, $3) | 0) + $143 | 0; + $151 = $147 + (Math_imul(HEAP32[$0 + 88 >> 2] | 0, $4) | 0) | 0; + if (($151 | 0) > ((Math_imul(Math_imul($57, $23) | 0, (Math_imul($91, $4) | 0) + $3 | 0) | 0) + $143 | 0)) { + $160 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 37084) | 0, 36227) | 0, 39072) | 0, 176) | 0, 39079) | 0, 36669) | 0; + __ZNKSt3__28ios_base6getlocEv($5, $160 + (HEAP32[(HEAP32[$160 >> 2] | 0) + -12 >> 2] | 0) | 0); + $165 = __ZNKSt3__26locale9use_facetERNS0_2idE($5, 66512) | 0; + $169 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$165 >> 2] | 0) + 28 >> 2] & 127]($165, 10) | 0; + __ZNSt3__26localeD2Ev($5); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($160, $169) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($160) | 0; + _abort(); + } else { + STACKTOP = sp; + return $151 | 0; + } + return 0; +} + +function __ZN6vision28BinaryHierarchicalClusteringILi96EE5buildEPNS_4NodeILi96EEEPKhiPKii($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, $$065 = 0, $$066 = 0, $$in = 0, $$sroa$0120$0 = 0, $$sroa$0120$0$in = 0, $100 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $118 = 0, $119 = 0, $123 = 0, $127 = 0, $128 = 0, $129 = 0, $138 = 0, $143 = 0, $147 = 0, $148 = 0, $149 = 0, $154 = 0, $155 = 0, $156 = 0, $164 = 0, $17 = 0, $18 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $35 = 0, $40 = 0, $44 = 0, $46 = 0, $49 = 0, $54 = 0, $6 = 0, $61 = 0, $66 = 0, $7 = 0, $70 = 0, $77 = 0, $8 = 0, $82 = 0, $86 = 0, $87 = 0, $9 = 0, $95 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $6 = sp + 20 | 0; + $7 = sp; + $8 = $0 + 12 | 0; + $9 = __ZNK6vision14BinarykMedoidsILi96EE1kEv($8) | 0; + if ((__ZN6vision4max2IiEET_S1_S1_($9, HEAP32[$0 + 108 >> 2] | 0) | 0) >= ($5 | 0)) { + __ZN6vision4NodeILi96EE4leafEb($1, 1); + __ZNSt3__26vectorIiNS_9allocatorIiEEE6resizeEm(__ZN6vision4NodeILi96EE12reverseIndexEv($1) | 0, $5); + $$0 = 0; + while (1) { + if (($$0 | 0) >= ($5 | 0)) break; + $17 = HEAP32[$4 + ($$0 << 2) >> 2] | 0; + $18 = __ZN6vision4NodeILi96EE12reverseIndexEv($1) | 0; + HEAP32[(HEAP32[$18 >> 2] | 0) + ($$0 << 2) >> 2] = $17; + $$0 = $$0 + 1 | 0; + } + STACKTOP = sp; + return; + } + HEAP32[$7 >> 2] = 0; + HEAP32[$7 + 4 >> 2] = 0; + HEAP32[$7 + 8 >> 2] = 0; + HEAP32[$7 + 12 >> 2] = 0; + HEAP32[$7 + 16 >> 2] = 1065353216; + __ZN6vision14BinarykMedoidsILi96EE6assignEPKhiPKii($8, $2, $3, $4, $5); + $23 = __ZNK6vision14BinarykMedoidsILi96EE10assignmentEv($8) | 0; + $24 = $23 + 4 | 0; + $25 = HEAP32[$24 >> 2] | 0; + $26 = HEAP32[$23 >> 2] | 0; + if (($25 - $26 >> 2 | 0) != ($5 | 0)) { + $35 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 33206) | 0, 33262) | 0, 39072) | 0, 363) | 0, 39079) | 0, 33356) | 0; + __ZNKSt3__28ios_base6getlocEv($6, $35 + (HEAP32[(HEAP32[$35 >> 2] | 0) + -12 >> 2] | 0) | 0); + $40 = __ZNKSt3__26locale9use_facetERNS0_2idE($6, 66512) | 0; + $44 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$40 >> 2] | 0) + 28 >> 2] & 127]($40, 10) | 0; + __ZNSt3__26localeD2Ev($6); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($35, $44) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($35) | 0; + _abort(); + } + $$066 = 0; + $$in = $26; + $46 = $25; + while (1) { + if ($$066 >>> 0 >= $46 - $$in >> 2 >>> 0) { + label = 10; + break; + } + $54 = HEAP32[$$in + ($$066 << 2) >> 2] | 0; + if (($54 | 0) == -1) { + label = 12; + break; + } + if (($54 | 0) >= ($5 | 0)) { + label = 14; + break; + } + $87 = $4 + ($54 << 2) | 0; + if ((HEAP32[$87 >> 2] | 0) >= ($3 | 0)) { + label = 16; + break; + } + $105 = __ZNSt3__213unordered_mapIiNS_6vectorIiNS_9allocatorIiEEEENS_4hashIiEENS_8equal_toIiEENS2_INS_4pairIKiS4_EEEEEixERSA_($7, $87) | 0; + $106 = $4 + ($$066 << 2) | 0; + $107 = $105 + 4 | 0; + $108 = HEAP32[$107 >> 2] | 0; + if (($108 | 0) == (HEAP32[$105 + 8 >> 2] | 0)) __ZNSt3__26vectorIiNS_9allocatorIiEEE21__push_back_slow_pathIRKiEEvOT_($105, $106); else { + HEAP32[$108 >> 2] = HEAP32[$106 >> 2]; + HEAP32[$107 >> 2] = $108 + 4; + } + $$066 = $$066 + 1 | 0; + $$in = HEAP32[$23 >> 2] | 0; + $46 = HEAP32[$24 >> 2] | 0; + } + if ((label | 0) == 10) { + $49 = $7 + 12 | 0; + L23 : do if ((HEAP32[$49 >> 2] | 0) == 1) { + __ZN6vision4NodeILi96EE4leafEb($1, 1); + __ZNSt3__26vectorIiNS_9allocatorIiEEE6resizeEm(__ZN6vision4NodeILi96EE12reverseIndexEv($1) | 0, $5); + $$065 = 0; + while (1) { + if (($$065 | 0) >= ($5 | 0)) break L23; + $118 = HEAP32[$4 + ($$065 << 2) >> 2] | 0; + $119 = __ZN6vision4NodeILi96EE12reverseIndexEv($1) | 0; + HEAP32[(HEAP32[$119 >> 2] | 0) + ($$065 << 2) >> 2] = $118; + $$065 = $$065 + 1 | 0; + } + } else { + $123 = __ZN6vision4NodeILi96EE8childrenEv($1) | 0; + __ZNSt3__26vectorIPN6vision4NodeILi96EEENS_9allocatorIS4_EEE7reserveEm($123, HEAP32[$49 >> 2] | 0); + $$sroa$0120$0$in = $7 + 8 | 0; + while (1) { + $$sroa$0120$0 = HEAP32[$$sroa$0120$0$in >> 2] | 0; + if (!$$sroa$0120$0) break L23; + $127 = $$sroa$0120$0; + $128 = $127 + 12 | 0; + $129 = $127 + 16 | 0; + if ((HEAP32[$129 >> 2] | 0) == (HEAP32[$128 >> 2] | 0)) break; + $148 = __Znwm(128) | 0; + $149 = __ZN6vision28BinaryHierarchicalClusteringILi96EE10nextNodeIdEv($0) | 0; + __ZN6vision4NodeILi96EEC2EiPKh($148, $149, $2 + ((HEAP32[$127 + 8 >> 2] | 0) * 96 | 0) | 0); + HEAP32[$6 >> 2] = $148; + __ZN6vision4NodeILi96EE4leafEb($148, 0); + $154 = __ZN6vision4NodeILi96EE8childrenEv($1) | 0; + $155 = $154 + 4 | 0; + $156 = HEAP32[$155 >> 2] | 0; + if (($156 | 0) == (HEAP32[$154 + 8 >> 2] | 0)) __ZNSt3__26vectorIPN6vision4NodeILi96EEENS_9allocatorIS4_EEE21__push_back_slow_pathIRKS4_EEvOT_($154, $6); else { + HEAP32[$156 >> 2] = HEAP32[$6 >> 2]; + HEAP32[$155 >> 2] = (HEAP32[$155 >> 2] | 0) + 4; + } + $164 = HEAP32[$128 >> 2] | 0; + __ZN6vision28BinaryHierarchicalClusteringILi96EE5buildEPNS_4NodeILi96EEEPKhiPKii($0, HEAP32[$6 >> 2] | 0, $2, $3, $164, (HEAP32[$129 >> 2] | 0) - $164 >> 2); + $$sroa$0120$0$in = $$sroa$0120$0; + } + $138 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 33579) | 0, 33262) | 0, 39072) | 0, 387) | 0, 39079) | 0, 33625) | 0; + __ZNKSt3__28ios_base6getlocEv($6, $138 + (HEAP32[(HEAP32[$138 >> 2] | 0) + -12 >> 2] | 0) | 0); + $143 = __ZNKSt3__26locale9use_facetERNS0_2idE($6, 66512) | 0; + $147 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$143 >> 2] | 0) + 28 >> 2] & 127]($143, 10) | 0; + __ZNSt3__26localeD2Ev($6); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($138, $147) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($138) | 0; + _abort(); + } while (0); + __ZNSt3__213unordered_mapIiNS_6vectorIiNS_9allocatorIiEEEENS_4hashIiEENS_8equal_toIiEENS2_INS_4pairIKiS4_EEEEED2Ev($7); + STACKTOP = sp; + return; + } else if ((label | 0) == 12) { + $61 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 33378) | 0, 33262) | 0, 39072) | 0, 365) | 0, 39079) | 0, 33421) | 0; + __ZNKSt3__28ios_base6getlocEv($6, $61 + (HEAP32[(HEAP32[$61 >> 2] | 0) + -12 >> 2] | 0) | 0); + $66 = __ZNKSt3__26locale9use_facetERNS0_2idE($6, 66512) | 0; + $70 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$66 >> 2] | 0) + 28 >> 2] & 127]($66, 10) | 0; + __ZNSt3__26localeD2Ev($6); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($61, $70) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($61) | 0; + _abort(); + } else if ((label | 0) == 14) { + $77 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 33443) | 0, 33262) | 0, 39072) | 0, 366) | 0, 39079) | 0, 33494) | 0; + __ZNKSt3__28ios_base6getlocEv($6, $77 + (HEAP32[(HEAP32[$77 >> 2] | 0) + -12 >> 2] | 0) | 0); + $82 = __ZNKSt3__26locale9use_facetERNS0_2idE($6, 66512) | 0; + $86 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$82 >> 2] | 0) + 28 >> 2] & 127]($82, 10) | 0; + __ZNSt3__26localeD2Ev($6); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($77, $86) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($77) | 0; + _abort(); + } else if ((label | 0) == 16) { + $95 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 33518) | 0, 33262) | 0, 39072) | 0, 367) | 0, 39079) | 0, 33494) | 0; + __ZNKSt3__28ios_base6getlocEv($6, $95 + (HEAP32[(HEAP32[$95 >> 2] | 0) + -12 >> 2] | 0) | 0); + $100 = __ZNKSt3__26locale9use_facetERNS0_2idE($6, 66512) | 0; + $104 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$100 >> 2] | 0) + 28 >> 2] & 127]($100, 10) | 0; + __ZNSt3__26localeD2Ev($6); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($95, $104) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($95) | 0; + _abort(); + } +} + +function _realize_virt_arrays($0) { + $0 = $0 | 0; + var $$$i = 0, $$$i108 = 0, $$0$i = 0, $$0101 = 0, $$0102$lcssa = 0, $$0102139 = 0, $$0104$lcssa = 0, $$0104138 = 0, $$0129 = 0, $$0132 = 0, $$04853$i = 0, $$04853$i116 = 0, $$04956$i = 0, $$04956$i110 = 0, $$054$i = 0, $$054$i115 = 0, $$099137 = 0, $$099140 = 0, $$1$lcssa$i = 0, $$1$lcssa$i119 = 0, $$1100125 = 0, $$1100126 = 0, $$1103 = 0, $$1105 = 0, $$1122 = 0, $$1123 = 0, $$15155$i = 0, $$15155$i111 = 0, $$152$i = 0, $$152$i117 = 0, $$2$lcssa = 0, $$2106$lcssa = 0, $$2106130 = 0, $$2131 = 0, $$3 = 0, $$3107 = 0, $$pre$phi151Z2D = 0, $$pre$phiZ2D = 0, $1 = 0, $10 = 0, $100 = 0, $103 = 0, $109 = 0, $110 = 0, $111 = 0, $12 = 0, $128 = 0, $132 = 0, $135 = 0, $140 = 0, $141 = 0, $143 = 0, $148 = 0, $149 = 0, $150 = 0, $151 = 0, $153 = 0, $157 = 0, $160 = 0, $162 = 0, $163 = 0, $165 = 0, $166 = 0, $168 = 0, $173 = 0, $174 = 0, $176 = 0, $181 = 0, $184 = 0, $19 = 0, $190 = 0, $191 = 0, $192 = 0, $2 = 0, $26 = 0, $29 = 0, $3 = 0, $40 = 0, $42 = 0, $45 = 0, $49 = 0, $52 = 0, $57 = 0, $58 = 0, $60 = 0, $64 = 0, $65 = 0, $66 = 0, $68 = 0, $72 = 0, $75 = 0, $77 = 0, $78 = 0, $80 = 0, $81 = 0, $83 = 0, $88 = 0, $92 = 0, $93 = 0, $95 = 0, $$15155$i$looptemp = 0, $$15155$i111$looptemp = 0; + $1 = $0 + 4 | 0; + $2 = HEAP32[$1 >> 2] | 0; + $3 = $2 + 68 | 0; + $$099137 = HEAP32[$3 >> 2] | 0; + if (!$$099137) { + $$0102$lcssa = 0; + $$0104$lcssa = 0; + } else { + $$0102139 = 0; + $$0104138 = 0; + $$099140 = $$099137; + while (1) { + if (!(HEAP32[$$099140 >> 2] | 0)) { + $10 = HEAP32[$$099140 + 8 >> 2] | 0; + $12 = (Math_imul($10, HEAP32[$$099140 + 12 >> 2] | 0) | 0) + $$0102139 | 0; + $$1103 = $12; + $$1105 = (Math_imul(HEAP32[$$099140 + 4 >> 2] | 0, $10) | 0) + $$0104138 | 0; + } else { + $$1103 = $$0102139; + $$1105 = $$0104138; + } + $$099140 = HEAP32[$$099140 + 44 >> 2] | 0; + if (!$$099140) { + $$0102$lcssa = $$1103; + $$0104$lcssa = $$1105; + break; + } else { + $$0102139 = $$1103; + $$0104138 = $$1105; + } + } + } + $19 = $2 + 72 | 0; + $$0129 = HEAP32[$19 >> 2] | 0; + if (!$$0129) { + $$2$lcssa = $$0102$lcssa; + $$2106$lcssa = $$0104$lcssa; + } else { + $$0132 = $$0129; + $$2106130 = $$0104$lcssa; + $$2131 = $$0102$lcssa; + while (1) { + if (!(HEAP32[$$0132 >> 2] | 0)) { + $26 = HEAP32[$$0132 + 8 >> 2] | 0; + $29 = (Math_imul(HEAP32[$$0132 + 12 >> 2] << 7, $26) | 0) + $$2131 | 0; + $$3 = $29; + $$3107 = (Math_imul($26 << 7, HEAP32[$$0132 + 4 >> 2] | 0) | 0) + $$2106130 | 0; + } else { + $$3 = $$2131; + $$3107 = $$2106130; + } + $$0132 = HEAP32[$$0132 + 44 >> 2] | 0; + if (!$$0132) { + $$2$lcssa = $$3; + $$2106$lcssa = $$3107; + break; + } else { + $$2106130 = $$3107; + $$2131 = $$3; + } + } + } + if (($$2$lcssa | 0) < 1) return; + $40 = _jpeg_mem_available($0, $$2$lcssa, $$2106$lcssa, HEAP32[$2 + 76 >> 2] | 0) | 0; + if (($40 | 0) < ($$2106$lcssa | 0)) { + $42 = ($40 | 0) / ($$2$lcssa | 0) | 0; + $$0101 = ($42 | 0) > 1 ? $42 : 1; + } else $$0101 = 1e9; + $$1100125 = HEAP32[$3 >> 2] | 0; + if ($$1100125 | 0) { + $45 = $2 + 80 | 0; + $$1100126 = $$1100125; + do { + if (!(HEAP32[$$1100126 >> 2] | 0)) { + $49 = HEAP32[$$1100126 + 4 >> 2] | 0; + $52 = HEAP32[$$1100126 + 12 >> 2] | 0; + if ((((($49 + -1 | 0) >>> 0) / ($52 >>> 0) | 0) + 1 | 0) > ($$0101 | 0)) { + $57 = Math_imul($52, $$0101) | 0; + $58 = $$1100126 + 16 | 0; + HEAP32[$58 >> 2] = $57; + $60 = $$1100126 + 8 | 0; + _jpeg_open_backing_store($0, $$1100126 + 48 | 0, Math_imul(HEAP32[$60 >> 2] | 0, $49) | 0); + HEAP32[$$1100126 + 40 >> 2] = 1; + $$pre$phi151Z2D = $60; + $72 = HEAP32[$58 >> 2] | 0; + } else { + HEAP32[$$1100126 + 16 >> 2] = $49; + $$pre$phi151Z2D = $$1100126 + 8 | 0; + $72 = $49; + } + $64 = HEAP32[$$pre$phi151Z2D >> 2] | 0; + $65 = HEAP32[$1 >> 2] | 0; + $66 = 999999984 / ($64 >>> 0) | 0; + if ($64 >>> 0 > 999999984) { + $68 = HEAP32[$0 >> 2] | 0; + HEAP32[$68 + 20 >> 2] = 72; + FUNCTION_TABLE_vi[HEAP32[$68 >> 2] & 255]($0); + } + $$$i = ($66 | 0) < ($72 | 0) ? $66 : $72; + HEAP32[$65 + 80 >> 2] = $$$i; + $75 = _alloc_small($0, 1, $72 << 2) | 0; + if ($72 | 0) { + $77 = ~$72; + $$04956$i = 0; + $$15155$i = $$$i; + while (1) { + $78 = $72 - $$04956$i | 0; + $$15155$i$looptemp = $$15155$i; + $$15155$i = $$15155$i >>> 0 < $78 >>> 0 ? $$15155$i : $78; + $80 = Math_imul($$15155$i, $64) | 0; + $81 = HEAP32[$1 >> 2] | 0; + if ($80 >>> 0 > 999999984) { + $83 = HEAP32[$0 >> 2] | 0; + HEAP32[$83 + 20 >> 2] = 56; + HEAP32[$83 + 24 >> 2] = 3; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + $88 = $80 & 7; + $$0$i = (($88 | 0) == 0 ? 0 : 8 - $88 | 0) + $80 | 0; + $92 = $$0$i + 16 | 0; + $93 = _jpeg_get_large($0, $92) | 0; + if (!$93) { + $95 = HEAP32[$0 >> 2] | 0; + HEAP32[$95 + 20 >> 2] = 56; + HEAP32[$95 + 24 >> 2] = 4; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + $100 = $81 + 76 | 0; + HEAP32[$100 >> 2] = (HEAP32[$100 >> 2] | 0) + $92; + $103 = $81 + 64 | 0; + HEAP32[$93 >> 2] = HEAP32[$103 >> 2]; + HEAP32[$93 + 4 >> 2] = $$0$i; + HEAP32[$93 + 8 >> 2] = 0; + HEAP32[$103 >> 2] = $93; + if (!$$15155$i) $$1$lcssa$i = $$04956$i; else { + $109 = $$04956$i + $77 | 0; + $110 = ~$$15155$i$looptemp; + $111 = $109 >>> 0 > $110 >>> 0; + $$04853$i = $$15155$i; + $$054$i = $93 + 16 | 0; + $$152$i = $$04956$i; + while (1) { + HEAP32[$75 + ($$152$i << 2) >> 2] = $$054$i; + $$04853$i = $$04853$i + -1 | 0; + if (!$$04853$i) break; else { + $$054$i = $$054$i + $64 | 0; + $$152$i = $$152$i + 1 | 0; + } + } + $$1$lcssa$i = $$04956$i + -1 - ($111 ? $109 : $110) | 0; + } + if ($$1$lcssa$i >>> 0 >= $72 >>> 0) break; else $$04956$i = $$1$lcssa$i; + } + } + HEAP32[$$1100126 >> 2] = $75; + HEAP32[$$1100126 + 20 >> 2] = HEAP32[$45 >> 2]; + HEAP32[$$1100126 + 24 >> 2] = 0; + HEAP32[$$1100126 + 28 >> 2] = 0; + HEAP32[$$1100126 + 36 >> 2] = 0; + } + $$1100126 = HEAP32[$$1100126 + 44 >> 2] | 0; + } while (($$1100126 | 0) != 0); + } + $$1122 = HEAP32[$19 >> 2] | 0; + if (!$$1122) return; + $128 = $2 + 80 | 0; + $$1123 = $$1122; + do { + if (!(HEAP32[$$1123 >> 2] | 0)) { + $132 = HEAP32[$$1123 + 4 >> 2] | 0; + $135 = HEAP32[$$1123 + 12 >> 2] | 0; + if ((((($132 + -1 | 0) >>> 0) / ($135 >>> 0) | 0) + 1 | 0) > ($$0101 | 0)) { + $140 = Math_imul($135, $$0101) | 0; + $141 = $$1123 + 16 | 0; + HEAP32[$141 >> 2] = $140; + $143 = $$1123 + 8 | 0; + _jpeg_open_backing_store($0, $$1123 + 48 | 0, Math_imul($132 << 7, HEAP32[$143 >> 2] | 0) | 0); + HEAP32[$$1123 + 40 >> 2] = 1; + $$pre$phiZ2D = $143; + $157 = HEAP32[$141 >> 2] | 0; + } else { + HEAP32[$$1123 + 16 >> 2] = $132; + $$pre$phiZ2D = $$1123 + 8 | 0; + $157 = $132; + } + $148 = HEAP32[$$pre$phiZ2D >> 2] | 0; + $149 = HEAP32[$1 >> 2] | 0; + $150 = $148 << 7; + $151 = 999999984 / ($150 >>> 0) | 0; + if ($150 >>> 0 > 999999984) { + $153 = HEAP32[$0 >> 2] | 0; + HEAP32[$153 + 20 >> 2] = 72; + FUNCTION_TABLE_vi[HEAP32[$153 >> 2] & 255]($0); + } + $$$i108 = ($151 | 0) < ($157 | 0) ? $151 : $157; + HEAP32[$149 + 80 >> 2] = $$$i108; + $160 = _alloc_small($0, 1, $157 << 2) | 0; + if ($157 | 0) { + $162 = ~$157; + $$04956$i110 = 0; + $$15155$i111 = $$$i108; + while (1) { + $163 = $157 - $$04956$i110 | 0; + $$15155$i111$looptemp = $$15155$i111; + $$15155$i111 = $$15155$i111 >>> 0 < $163 >>> 0 ? $$15155$i111 : $163; + $165 = Math_imul($$15155$i111, $150) | 0; + $166 = HEAP32[$1 >> 2] | 0; + if ($165 >>> 0 > 999999984) { + $168 = HEAP32[$0 >> 2] | 0; + HEAP32[$168 + 20 >> 2] = 56; + HEAP32[$168 + 24 >> 2] = 3; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + $173 = $165 | 16; + $174 = _jpeg_get_large($0, $173) | 0; + if (!$174) { + $176 = HEAP32[$0 >> 2] | 0; + HEAP32[$176 + 20 >> 2] = 56; + HEAP32[$176 + 24 >> 2] = 4; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + $181 = $166 + 76 | 0; + HEAP32[$181 >> 2] = (HEAP32[$181 >> 2] | 0) + $173; + $184 = $166 + 64 | 0; + HEAP32[$174 >> 2] = HEAP32[$184 >> 2]; + HEAP32[$174 + 4 >> 2] = $165; + HEAP32[$174 + 8 >> 2] = 0; + HEAP32[$184 >> 2] = $174; + if (!$$15155$i111) $$1$lcssa$i119 = $$04956$i110; else { + $190 = $$04956$i110 + $162 | 0; + $191 = ~$$15155$i111$looptemp; + $192 = $190 >>> 0 > $191 >>> 0; + $$04853$i116 = $$15155$i111; + $$054$i115 = $174 + 16 | 0; + $$152$i117 = $$04956$i110; + while (1) { + HEAP32[$160 + ($$152$i117 << 2) >> 2] = $$054$i115; + $$04853$i116 = $$04853$i116 + -1 | 0; + if (!$$04853$i116) break; else { + $$054$i115 = $$054$i115 + ($148 << 7) | 0; + $$152$i117 = $$152$i117 + 1 | 0; + } + } + $$1$lcssa$i119 = $$04956$i110 + -1 - ($192 ? $190 : $191) | 0; + } + if ($$1$lcssa$i119 >>> 0 >= $157 >>> 0) break; else $$04956$i110 = $$1$lcssa$i119; + } + } + HEAP32[$$1123 >> 2] = $160; + HEAP32[$$1123 + 20 >> 2] = HEAP32[$128 >> 2]; + HEAP32[$$1123 + 24 >> 2] = 0; + HEAP32[$$1123 + 28 >> 2] = 0; + HEAP32[$$1123 + 36 >> 2] = 0; + } + $$1123 = HEAP32[$$1123 + 44 >> 2] | 0; + } while (($$1123 | 0) != 0); + return; +} + +function __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjP2tmPKcSC_($0, $1, $2, $3, $4, $5, $6, $7) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + var $$0 = 0, $$0$i$i = 0, $$0$i$i$i$i = 0, $$0$i$i$i$i53 = 0, $$0$i$i$i$i68 = 0, $$0$i$i2$i$i = 0, $$0$i$i2$i$i59 = 0, $$0$i$i2$i$i74 = 0, $$0$i$i65 = 0, $$0$pn = 0, $$049 = 0, $$050 = 0, $$3 = 0, $$3$lcssa = 0, $$4 = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$ph = 0, $$sroa$047$0$copyload = 0, $10 = 0, $107 = 0, $109 = 0, $11 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $14 = 0, $141 = 0, $149 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $165 = 0, $17 = 0, $172 = 0, $182 = 0, $184 = 0, $19 = 0, $196 = 0, $199 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $31 = 0, $33 = 0, $35 = 0, $53 = 0, $59 = 0, $60 = 0, $69 = 0, $70 = 0, $71 = 0, $72 = 0, $74 = 0, $75 = 0, $78 = 0, $8 = 0, $84 = 0, $9 = 0, $92 = 0, $94 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy1 = sp + 12 | 0; + $$byval_copy = sp + 8 | 0; + $8 = sp + 4 | 0; + $9 = sp; + __ZNKSt3__28ios_base6getlocEv($$byval_copy1, $3); + $10 = __ZNKSt3__26locale9use_facetERNS0_2idE($$byval_copy1, 66512) | 0; + __ZNSt3__26localeD2Ev($$byval_copy1); + HEAP32[$4 >> 2] = 0; + $11 = $10 + 8 | 0; + $$0 = $6; + $14 = 0; + L1 : while (1) { + $15 = HEAP32[$1 >> 2] | 0; + if (!(($$0 | 0) != ($7 | 0) & ($14 | 0) == 0)) { + $182 = $15; + break; + } + $17 = $15; + if ($15) { + $19 = HEAP32[$15 + 12 >> 2] | 0; + if (($19 | 0) == (HEAP32[$15 + 16 >> 2] | 0)) $$0$i$i$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$15 >> 2] | 0) + 36 >> 2] & 127]($15) | 0; else $$0$i$i$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$19 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $150 = 0; + $213 = 1; + $70 = 0; + } else { + $150 = $15; + $213 = 0; + $70 = $17; + } + } else { + $150 = 0; + $213 = 1; + $70 = $17; + } + $31 = HEAP32[$2 >> 2] | 0; + $33 = $31; + do if ($31) { + $35 = HEAP32[$31 + 12 >> 2] | 0; + if (($35 | 0) == (HEAP32[$31 + 16 >> 2] | 0)) $$0$i$i2$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$31 >> 2] | 0) + 36 >> 2] & 127]($31) | 0; else $$0$i$i2$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$35 >> 0] | 0) | 0; + if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) if ($213) { + $214 = $31; + $71 = $33; + break; + } else { + label = 63; + break L1; + } else { + HEAP32[$2 >> 2] = 0; + $$ph = 0; + label = 15; + break; + } + } else { + $$ph = $33; + label = 15; + } while (0); + if ((label | 0) == 15) { + label = 0; + if ($213) { + label = 63; + break; + } else { + $214 = 0; + $71 = $$ph; + } + } + L24 : do if ((FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$10 >> 2] | 0) + 36 >> 2] & 63]($10, HEAP8[$$0 >> 0] | 0, 0) | 0) << 24 >> 24 == 37) { + $53 = $$0 + 1 | 0; + if (($53 | 0) == ($7 | 0)) { + label = 63; + break L1; + } + $59 = FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$10 >> 2] | 0) + 36 >> 2] & 63]($10, HEAP8[$53 >> 0] | 0, 0) | 0; + switch ($59 << 24 >> 24) { + case 48: + case 69: + { + $60 = $$0 + 2 | 0; + if (($60 | 0) == ($7 | 0)) { + label = 63; + break L1; + } + $$049 = $59; + $$050 = FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$10 >> 2] | 0) + 36 >> 2] & 63]($10, HEAP8[$60 >> 0] | 0, 0) | 0; + $74 = $53; + break; + } + default: + { + $$049 = 0; + $$050 = $59; + $74 = $$0; + } + } + $69 = HEAP32[(HEAP32[$0 >> 2] | 0) + 36 >> 2] | 0; + HEAP32[$8 >> 2] = $70; + HEAP32[$9 >> 2] = $71; + HEAP32[$$byval_copy >> 2] = HEAP32[$8 >> 2]; + HEAP32[$$byval_copy1 >> 2] = HEAP32[$9 >> 2]; + $72 = FUNCTION_TABLE_iiiiiiiii[$69 & 15]($0, $$byval_copy, $$byval_copy1, $3, $4, $5, $$050, $$049) | 0; + HEAP32[$1 >> 2] = $72; + $$4 = $74 + 2 | 0; + } else { + $75 = HEAP8[$$0 >> 0] | 0; + if ($75 << 24 >> 24 > -1 ? ($78 = HEAP32[$11 >> 2] | 0, HEAP16[$78 + ($75 << 24 >> 24 << 1) >> 1] & 8192) : 0) { + $$0$pn = $$0; + while (1) { + $$3 = $$0$pn + 1 | 0; + if (($$3 | 0) == ($7 | 0)) { + $$3$lcssa = $7; + break; + } + $84 = HEAP8[$$3 >> 0] | 0; + if ($84 << 24 >> 24 <= -1) { + $$3$lcssa = $$3; + break; + } + if (!(HEAP16[$78 + ($84 << 24 >> 24 << 1) >> 1] & 8192)) { + $$3$lcssa = $$3; + break; + } else $$0$pn = $$3; + } + $107 = $214; + $92 = $150; + while (1) { + if ($92) { + $94 = HEAP32[$92 + 12 >> 2] | 0; + if (($94 | 0) == (HEAP32[$92 + 16 >> 2] | 0)) $$0$i$i$i$i53 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$92 >> 2] | 0) + 36 >> 2] & 127]($92) | 0; else $$0$i$i$i$i53 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$94 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i53, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $122 = 0; + $215 = 1; + } else { + $122 = $92; + $215 = 0; + } + } else { + $122 = 0; + $215 = 1; + } + do if ($107) { + $109 = HEAP32[$107 + 12 >> 2] | 0; + if (($109 | 0) == (HEAP32[$107 + 16 >> 2] | 0)) $$0$i$i2$i$i59 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$107 >> 2] | 0) + 36 >> 2] & 127]($107) | 0; else $$0$i$i2$i$i59 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$109 >> 0] | 0) | 0; + if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i59, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) if ($215) { + $216 = $107; + break; + } else { + $$4 = $$3$lcssa; + break L24; + } else { + HEAP32[$2 >> 2] = 0; + label = 42; + break; + } + } else label = 42; while (0); + if ((label | 0) == 42) { + label = 0; + if ($215) { + $$4 = $$3$lcssa; + break L24; + } else $216 = 0; + } + $121 = $122 + 12 | 0; + $123 = HEAP32[$121 >> 2] | 0; + $124 = $122 + 16 | 0; + if (($123 | 0) == (HEAP32[$124 >> 2] | 0)) $$0$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$122 >> 2] | 0) + 36 >> 2] & 127]($122) | 0; else $$0$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$123 >> 0] | 0) | 0; + if (($$0$i$i & 255) << 24 >> 24 <= -1) { + $$4 = $$3$lcssa; + break L24; + } + if (!(HEAP16[(HEAP32[$11 >> 2] | 0) + ($$0$i$i << 24 >> 24 << 1) >> 1] & 8192)) { + $$4 = $$3$lcssa; + break L24; + } + $141 = HEAP32[$121 >> 2] | 0; + if (($141 | 0) == (HEAP32[$124 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$122 >> 2] | 0) + 40 >> 2] & 127]($122) | 0; else { + HEAP32[$121 >> 2] = $141 + 1; + __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$141 >> 0] | 0) | 0; + } + $107 = $216; + $92 = $122; + } + } + $149 = $150 + 12 | 0; + $151 = HEAP32[$149 >> 2] | 0; + $152 = $150 + 16 | 0; + if (($151 | 0) == (HEAP32[$152 >> 2] | 0)) $$0$i$i65 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$150 >> 2] | 0) + 36 >> 2] & 127]($150) | 0; else $$0$i$i65 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$151 >> 0] | 0) | 0; + $165 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$10 >> 2] | 0) + 12 >> 2] & 127]($10, $$0$i$i65 & 255) | 0; + if ($165 << 24 >> 24 != (FUNCTION_TABLE_iii[HEAP32[(HEAP32[$10 >> 2] | 0) + 12 >> 2] & 127]($10, HEAP8[$$0 >> 0] | 0) | 0) << 24 >> 24) { + HEAP32[$4 >> 2] = 4; + $$4 = $$0; + break; + } + $172 = HEAP32[$149 >> 2] | 0; + if (($172 | 0) == (HEAP32[$152 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$150 >> 2] | 0) + 40 >> 2] & 127]($150) | 0; else { + HEAP32[$149 >> 2] = $172 + 1; + __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$172 >> 0] | 0) | 0; + } + $$4 = $$0 + 1 | 0; + } while (0); + $$0 = $$4; + $14 = HEAP32[$4 >> 2] | 0; + } + if ((label | 0) == 63) { + HEAP32[$4 >> 2] = 4; + $182 = $150; + } + if ($182) { + $184 = HEAP32[$182 + 12 >> 2] | 0; + if (($184 | 0) == (HEAP32[$182 + 16 >> 2] | 0)) $$0$i$i$i$i68 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$182 >> 2] | 0) + 36 >> 2] & 127]($182) | 0; else $$0$i$i$i$i68 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$184 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i68, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $$sroa$047$0$copyload = 0; + $217 = 1; + } else { + $$sroa$047$0$copyload = $182; + $217 = 0; + } + } else { + $$sroa$047$0$copyload = 0; + $217 = 1; + } + $196 = HEAP32[$2 >> 2] | 0; + do if ($196) { + $199 = HEAP32[$196 + 12 >> 2] | 0; + if (($199 | 0) == (HEAP32[$196 + 16 >> 2] | 0)) $$0$i$i2$i$i74 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$196 >> 2] | 0) + 36 >> 2] & 127]($196) | 0; else $$0$i$i2$i$i74 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$199 >> 0] | 0) | 0; + if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i74, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) if ($217) break; else { + label = 78; + break; + } else { + HEAP32[$2 >> 2] = 0; + label = 76; + break; + } + } else label = 76; while (0); + if ((label | 0) == 76 ? $217 : 0) label = 78; + if ((label | 0) == 78) HEAP32[$4 >> 2] = HEAP32[$4 >> 2] | 2; + STACKTOP = sp; + return $$sroa$047$0$copyload | 0; +} + +function __ZNK6vision21HoughSimilarityVoting16getBinsFromIndexERiS1_S1_S1_i($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 $$neg31 = 0, $10 = 0, $104 = 0, $108 = 0, $109 = 0, $116 = 0, $121 = 0, $125 = 0, $13 = 0, $134 = 0, $139 = 0, $143 = 0, $15 = 0, $150 = 0, $155 = 0, $159 = 0, $168 = 0, $173 = 0, $177 = 0, $22 = 0, $27 = 0, $31 = 0, $37 = 0, $39 = 0, $40 = 0, $47 = 0, $52 = 0, $56 = 0, $6 = 0, $64 = 0, $69 = 0, $7 = 0, $73 = 0, $74 = 0, $81 = 0, $86 = 0, $90 = 0, $99 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $6 = sp; + $7 = $0 + 88 | 0; + $10 = $0 + 84 | 0; + $13 = $0 + 52 | 0; + $15 = ((($5 | 0) % (HEAP32[$7 >> 2] | 0) | 0 | 0) % (HEAP32[$10 >> 2] | 0) | 0 | 0) % (HEAP32[$13 >> 2] | 0) | 0; + HEAP32[$1 >> 2] = $15; + $22 = ((($5 - $15 | 0) % (HEAP32[$7 >> 2] | 0) | 0 | 0) % (HEAP32[$10 >> 2] | 0) | 0 | 0) / (HEAP32[$13 >> 2] | 0) | 0; + HEAP32[$2 >> 2] = $22; + $27 = $5 - (HEAP32[$1 >> 2] | 0) - (Math_imul(HEAP32[$13 >> 2] | 0, $22) | 0) | 0; + $31 = (($27 | 0) % (HEAP32[$7 >> 2] | 0) | 0 | 0) / (HEAP32[$10 >> 2] | 0) | 0; + HEAP32[$3 >> 2] = $31; + $$neg31 = Math_imul(HEAP32[$13 >> 2] | 0, HEAP32[$2 >> 2] | 0) | 0; + $37 = $5 - (HEAP32[$1 >> 2] | 0) - ((Math_imul(HEAP32[$10 >> 2] | 0, $31) | 0) + $$neg31) | 0; + $39 = ($37 | 0) / (HEAP32[$7 >> 2] | 0) | 0; + HEAP32[$4 >> 2] = $39; + $40 = HEAP32[$1 >> 2] | 0; + if (($40 | 0) <= -1) { + $47 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 36688) | 0, 36227) | 0, 39072) | 0, 190) | 0, 39079) | 0, 36721) | 0; + __ZNKSt3__28ios_base6getlocEv($6, $47 + (HEAP32[(HEAP32[$47 >> 2] | 0) + -12 >> 2] | 0) | 0); + $52 = __ZNKSt3__26locale9use_facetERNS0_2idE($6, 66512) | 0; + $56 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$52 >> 2] | 0) + 28 >> 2] & 127]($52, 10) | 0; + __ZNSt3__26localeD2Ev($6); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($47, $56) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($47) | 0; + _abort(); + } + if (($40 | 0) >= (HEAP32[$13 >> 2] | 0)) { + $64 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 36739) | 0, 36227) | 0, 39072) | 0, 191) | 0, 39079) | 0, 36721) | 0; + __ZNKSt3__28ios_base6getlocEv($6, $64 + (HEAP32[(HEAP32[$64 >> 2] | 0) + -12 >> 2] | 0) | 0); + $69 = __ZNKSt3__26locale9use_facetERNS0_2idE($6, 66512) | 0; + $73 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$69 >> 2] | 0) + 28 >> 2] & 127]($69, 10) | 0; + __ZNSt3__26localeD2Ev($6); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($64, $73) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($64) | 0; + _abort(); + } + $74 = HEAP32[$2 >> 2] | 0; + if (($74 | 0) <= -1) { + $81 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 36779) | 0, 36227) | 0, 39072) | 0, 192) | 0, 39079) | 0, 36812) | 0; + __ZNKSt3__28ios_base6getlocEv($6, $81 + (HEAP32[(HEAP32[$81 >> 2] | 0) + -12 >> 2] | 0) | 0); + $86 = __ZNKSt3__26locale9use_facetERNS0_2idE($6, 66512) | 0; + $90 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$86 >> 2] | 0) + 28 >> 2] & 127]($86, 10) | 0; + __ZNSt3__26localeD2Ev($6); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($81, $90) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($81) | 0; + _abort(); + } + if (($74 | 0) >= (HEAP32[$0 + 56 >> 2] | 0)) { + $99 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 36830) | 0, 36227) | 0, 39072) | 0, 193) | 0, 39079) | 0, 36812) | 0; + __ZNKSt3__28ios_base6getlocEv($6, $99 + (HEAP32[(HEAP32[$99 >> 2] | 0) + -12 >> 2] | 0) | 0); + $104 = __ZNKSt3__26locale9use_facetERNS0_2idE($6, 66512) | 0; + $108 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$104 >> 2] | 0) + 28 >> 2] & 127]($104, 10) | 0; + __ZNSt3__26localeD2Ev($6); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($99, $108) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($99) | 0; + _abort(); + } + $109 = HEAP32[$3 >> 2] | 0; + if (($109 | 0) <= -1) { + $116 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 36870) | 0, 36227) | 0, 39072) | 0, 194) | 0, 39079) | 0, 36907) | 0; + __ZNKSt3__28ios_base6getlocEv($6, $116 + (HEAP32[(HEAP32[$116 >> 2] | 0) + -12 >> 2] | 0) | 0); + $121 = __ZNKSt3__26locale9use_facetERNS0_2idE($6, 66512) | 0; + $125 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$121 >> 2] | 0) + 28 >> 2] & 127]($121, 10) | 0; + __ZNSt3__26localeD2Ev($6); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($116, $125) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($116) | 0; + _abort(); + } + if (($109 | 0) >= (HEAP32[$0 + 60 >> 2] | 0)) { + $134 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 36929) | 0, 36227) | 0, 39072) | 0, 195) | 0, 39079) | 0, 36907) | 0; + __ZNKSt3__28ios_base6getlocEv($6, $134 + (HEAP32[(HEAP32[$134 >> 2] | 0) + -12 >> 2] | 0) | 0); + $139 = __ZNKSt3__26locale9use_facetERNS0_2idE($6, 66512) | 0; + $143 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$139 >> 2] | 0) + 28 >> 2] & 127]($139, 10) | 0; + __ZNSt3__26localeD2Ev($6); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($134, $143) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($134) | 0; + _abort(); + } + if (($39 | 0) <= -1) { + $150 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 36977) | 0, 36227) | 0, 39072) | 0, 196) | 0, 39079) | 0, 37014) | 0; + __ZNKSt3__28ios_base6getlocEv($6, $150 + (HEAP32[(HEAP32[$150 >> 2] | 0) + -12 >> 2] | 0) | 0); + $155 = __ZNKSt3__26locale9use_facetERNS0_2idE($6, 66512) | 0; + $159 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$155 >> 2] | 0) + 28 >> 2] & 127]($155, 10) | 0; + __ZNSt3__26localeD2Ev($6); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($150, $159) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($150) | 0; + _abort(); + } + if (($39 | 0) < (HEAP32[$0 + 64 >> 2] | 0)) { + STACKTOP = sp; + return; + } else { + $168 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 37036) | 0, 36227) | 0, 39072) | 0, 197) | 0, 39079) | 0, 37014) | 0; + __ZNKSt3__28ios_base6getlocEv($6, $168 + (HEAP32[(HEAP32[$168 >> 2] | 0) + -12 >> 2] | 0) | 0); + $173 = __ZNKSt3__26locale9use_facetERNS0_2idE($6, 66512) | 0; + $177 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$173 >> 2] | 0) + 28 >> 2] & 127]($173, 10) | 0; + __ZNSt3__26localeD2Ev($6); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($168, $177) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($168) | 0; + _abort(); + } +} + +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, $$0$be = 0, $$0$ph = 0, $$0133 = 0, $$0143 = 0, $$0151 = 0, $$0154 = 0.0, $$0155 = 0.0, $$0158 = 0.0, $$0163 = 0, $$0169 = 0.0, $$0170 = 0, $$0170173 = 0, $$0170174 = 0, $$1149 = 0, $$1149$ph = 0, $$1152 = 0, $$1156 = 0.0, $$1159 = 0.0, $$1164 = 0, $$2150 = 0, $$2153 = 0, $$2157 = 0.0, $$2160 = 0.0, $$2165 = 0, $$3 = 0, $$3$be = 0, $$3$lcssa = 0, $$3$ph = 0, $$3146 = 0, $$3146$ph = 0, $$3161$lcssa = 0.0, $$3161181 = 0.0, $$3166$lcssa = 0, $$3166185 = 0, $$4147 = 0, $$4162 = 0.0, $$4167$lcssa = 0, $$4167180 = 0, $$5168 = 0, $$pre = 0, $$pre$phi204Z2D = 0.0, $105 = 0, $106 = 0, $107 = 0, $117 = 0, $118 = 0, $131 = 0, $133 = 0, $135 = 0, $136 = 0, $137 = 0, $138 = 0, $14 = 0, $142 = 0, $144 = 0, $150 = 0, $154 = 0, $156 = 0, $162 = 0, $167 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $177 = 0, $180 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $194 = 0.0, $195 = 0, $208 = 0.0, $21 = 0, $210 = 0, $212 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $217 = 0, $29 = 0, $30 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $42 = 0, $43 = 0, $47 = 0, $5 = 0, $52 = 0, $54 = 0, $6 = 0, $66 = 0.0, $7 = 0, $73 = 0, $75 = 0, $84 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, $or$cond = 0, $or$cond172 = 0, label = 0, $106$looptemp = 0, $107$looptemp = 0; + $5 = $0 + 4 | 0; + $6 = HEAP32[$5 >> 2] | 0; + $7 = $0 + 104 | 0; + if ($6 >>> 0 < (HEAP32[$7 >> 2] | 0) >>> 0) { + HEAP32[$5 >> 2] = $6 + 1; + $$0$ph = HEAPU8[$6 >> 0] | 0; + } else $$0$ph = ___shgetc($0) | 0; + $$0 = $$0$ph; + $$0143 = 0; + L5 : while (1) { + switch ($$0 | 0) { + case 46: + { + label = 10; + break L5; + break; + } + case 48: + break; + default: + { + $$1149$ph = 0; + $$3$ph = $$0; + $$3146$ph = $$0143; + $212 = 0; + $213 = 0; + break L5; + } + } + $14 = HEAP32[$5 >> 2] | 0; + if ($14 >>> 0 < (HEAP32[$7 >> 2] | 0) >>> 0) { + HEAP32[$5 >> 2] = $14 + 1; + $$0$be = HEAPU8[$14 >> 0] | 0; + } else $$0$be = ___shgetc($0) | 0; + $$0 = $$0$be; + $$0143 = 1; + } + if ((label | 0) == 10) { + $21 = HEAP32[$5 >> 2] | 0; + if ($21 >>> 0 < (HEAP32[$7 >> 2] | 0) >>> 0) { + HEAP32[$5 >> 2] = $21 + 1; + $29 = HEAPU8[$21 >> 0] | 0; + } else $29 = ___shgetc($0) | 0; + if (($29 | 0) == 48) { + $37 = 0; + $38 = 0; + while (1) { + $30 = HEAP32[$5 >> 2] | 0; + if ($30 >>> 0 < (HEAP32[$7 >> 2] | 0) >>> 0) { + HEAP32[$5 >> 2] = $30 + 1; + $42 = HEAPU8[$30 >> 0] | 0; + } else $42 = ___shgetc($0) | 0; + $39 = _i64Add($37 | 0, $38 | 0, -1, -1) | 0; + $40 = getTempRet0() | 0; + if (($42 | 0) == 48) { + $37 = $39; + $38 = $40; + } else { + $$1149$ph = 1; + $$3$ph = $42; + $$3146$ph = 1; + $212 = $39; + $213 = $40; + break; + } + } + } else { + $$1149$ph = 1; + $$3$ph = $29; + $$3146$ph = $$0143; + $212 = 0; + $213 = 0; + } + } + $$0151 = 0; + $$0155 = 1.0; + $$0158 = 0.0; + $$0163 = 0; + $$1149 = $$1149$ph; + $$3 = $$3$ph; + $$3146 = $$3146$ph; + $52 = 0; + $54 = 0; + $97 = $212; + $99 = $213; + while (1) { + $43 = $$3 + -48 | 0; + $$pre = $$3 | 32; + if ($43 >>> 0 >= 10) { + $47 = ($$3 | 0) == 46; + if (!($47 | ($$pre + -97 | 0) >>> 0 < 6)) { + $$3$lcssa = $$3; + break; + } + if ($47) if (!$$1149) { + $$2150 = 1; + $$2153 = $$0151; + $$2157 = $$0155; + $$2160 = $$0158; + $$2165 = $$0163; + $$4147 = $$3146; + $214 = $54; + $215 = $52; + $216 = $54; + $217 = $52; + } else { + $$3$lcssa = 46; + break; + } else label = 24; + } else label = 24; + if ((label | 0) == 24) { + label = 0; + $$0133 = ($$3 | 0) > 57 ? $$pre + -87 | 0 : $43; + do if (!(($52 | 0) < 0 | ($52 | 0) == 0 & $54 >>> 0 < 8)) if (($52 | 0) < 0 | ($52 | 0) == 0 & $54 >>> 0 < 14) { + $66 = $$0155 * .0625; + $$1152 = $$0151; + $$1156 = $66; + $$1159 = $$0158 + $66 * +($$0133 | 0); + $$1164 = $$0163; + break; + } else { + $or$cond = ($$0151 | 0) != 0 | ($$0133 | 0) == 0; + $$1152 = $or$cond ? $$0151 : 1; + $$1156 = $$0155; + $$1159 = $or$cond ? $$0158 : $$0158 + $$0155 * .5; + $$1164 = $$0163; + break; + } else { + $$1152 = $$0151; + $$1156 = $$0155; + $$1159 = $$0158; + $$1164 = $$0133 + ($$0163 << 4) | 0; + } while (0); + $73 = _i64Add($54 | 0, $52 | 0, 1, 0) | 0; + $$2150 = $$1149; + $$2153 = $$1152; + $$2157 = $$1156; + $$2160 = $$1159; + $$2165 = $$1164; + $$4147 = 1; + $214 = $97; + $215 = $99; + $216 = $73; + $217 = getTempRet0() | 0; + } + $75 = HEAP32[$5 >> 2] | 0; + if ($75 >>> 0 < (HEAP32[$7 >> 2] | 0) >>> 0) { + HEAP32[$5 >> 2] = $75 + 1; + $$3$be = HEAPU8[$75 >> 0] | 0; + } else $$3$be = ___shgetc($0) | 0; + $$0151 = $$2153; + $$0155 = $$2157; + $$0158 = $$2160; + $$0163 = $$2165; + $$1149 = $$2150; + $$3 = $$3$be; + $$3146 = $$4147; + $52 = $217; + $54 = $216; + $97 = $214; + $99 = $215; + } + do if (!$$3146) { + $84 = (HEAP32[$7 >> 2] | 0) == 0; + if (!$84) HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + -1; + if ($4) { + if (!$84 ? (HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + -1, !(($$1149 | 0) == 0 | $84)) : 0) HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + -1; + } else ___shlim($0, 0, 0); + $$0169 = +($3 | 0) * 0.0; + } else { + $95 = ($$1149 | 0) == 0; + $96 = $95 ? $54 : $97; + $98 = $95 ? $52 : $99; + if (($52 | 0) < 0 | ($52 | 0) == 0 & $54 >>> 0 < 8) { + $$3166185 = $$0163; + $106 = $54; + $107 = $52; + while (1) { + $105 = $$3166185 << 4; + $106$looptemp = $106; + $106 = _i64Add($106 | 0, $107 | 0, 1, 0) | 0; + $107$looptemp = $107; + $107 = getTempRet0() | 0; + if (!(($107$looptemp | 0) < 0 | ($107$looptemp | 0) == 0 & $106$looptemp >>> 0 < 7)) { + $$3166$lcssa = $105; + break; + } else $$3166185 = $105; + } + } else $$3166$lcssa = $$0163; + if (($$3$lcssa | 32 | 0) == 112) { + $117 = _scanexp($0, $4) | 0; + $118 = getTempRet0() | 0; + if (($117 | 0) == 0 & ($118 | 0) == -2147483648) { + if (!$4) { + ___shlim($0, 0, 0); + $$0169 = 0.0; + break; + } + if (!(HEAP32[$7 >> 2] | 0)) { + $135 = 0; + $136 = 0; + } else { + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + -1; + $135 = 0; + $136 = 0; + } + } else { + $135 = $117; + $136 = $118; + } + } else if (!(HEAP32[$7 >> 2] | 0)) { + $135 = 0; + $136 = 0; + } else { + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + -1; + $135 = 0; + $136 = 0; + } + $131 = _bitshift64Shl($96 | 0, $98 | 0, 2) | 0; + $133 = _i64Add($131 | 0, getTempRet0() | 0, -32, -1) | 0; + $137 = _i64Add($133 | 0, getTempRet0() | 0, $135 | 0, $136 | 0) | 0; + $138 = getTempRet0() | 0; + if (!$$3166$lcssa) { + $$0169 = +($3 | 0) * 0.0; + break; + } + $142 = 0 - $2 | 0; + $144 = (($142 | 0) < 0) << 31 >> 31; + if (($138 | 0) > ($144 | 0) | ($138 | 0) == ($144 | 0) & $137 >>> 0 > $142 >>> 0) { + $150 = ___errno_location() | 0; + HEAP32[$150 >> 2] = 68; + $$0169 = +($3 | 0) * 1797693134862315708145274.0e284 * 1797693134862315708145274.0e284; + break; + } + $154 = $2 + -106 | 0; + $156 = (($154 | 0) < 0) << 31 >> 31; + if (($138 | 0) < ($156 | 0) | ($138 | 0) == ($156 | 0) & $137 >>> 0 < $154 >>> 0) { + $162 = ___errno_location() | 0; + HEAP32[$162 >> 2] = 68; + $$0169 = +($3 | 0) * 2.2250738585072014e-308 * 2.2250738585072014e-308; + break; + } + if (($$3166$lcssa | 0) > -1) { + $$3161181 = $$0158; + $$4167180 = $$3166$lcssa; + $171 = $137; + $172 = $138; + while (1) { + $167 = !($$3161181 >= .5); + $$5168 = $$4167180 << 1 | ($167 ^ 1) & 1; + $$4162 = $$3161181 + ($167 ? $$3161181 : $$3161181 + -1.0); + $173 = _i64Add($171 | 0, $172 | 0, -1, -1) | 0; + $174 = getTempRet0() | 0; + if (($$5168 | 0) > -1) { + $$3161181 = $$4162; + $$4167180 = $$5168; + $171 = $173; + $172 = $174; + } else { + $$3161$lcssa = $$4162; + $$4167$lcssa = $$5168; + $182 = $173; + $183 = $174; + break; + } + } + } else { + $$3161$lcssa = $$0158; + $$4167$lcssa = $$3166$lcssa; + $182 = $137; + $183 = $138; + } + $177 = (($1 | 0) < 0) << 31 >> 31; + $180 = _i64Subtract(32, 0, $2 | 0, (($2 | 0) < 0) << 31 >> 31 | 0) | 0; + $184 = _i64Add($180 | 0, getTempRet0() | 0, $182 | 0, $183 | 0) | 0; + $185 = getTempRet0() | 0; + if (($185 | 0) < ($177 | 0) | ($185 | 0) == ($177 | 0) & $184 >>> 0 < $1 >>> 0) if (($184 | 0) > 0) { + $$0170 = $184; + label = 65; + } else { + $$0170174 = 0; + $195 = 84; + label = 67; + } else { + $$0170 = $1; + label = 65; + } + if ((label | 0) == 65) if (($$0170 | 0) < 53) { + $$0170174 = $$0170; + $195 = 84 - $$0170 | 0; + label = 67; + } else { + $$0154 = 0.0; + $$0170173 = $$0170; + $$pre$phi204Z2D = +($3 | 0); + } + if ((label | 0) == 67) { + $194 = +($3 | 0); + $$0154 = +_copysignl(+_scalbn(1.0, $195), $194); + $$0170173 = $$0170174; + $$pre$phi204Z2D = $194; + } + $or$cond172 = ($$4167$lcssa & 1 | 0) == 0 & ($$3161$lcssa != 0.0 & ($$0170173 | 0) < 32); + $208 = ($or$cond172 ? 0.0 : $$3161$lcssa) * $$pre$phi204Z2D + ($$0154 + $$pre$phi204Z2D * +(($$4167$lcssa + ($or$cond172 & 1) | 0) >>> 0)) - $$0154; + if (!($208 != 0.0)) { + $210 = ___errno_location() | 0; + HEAP32[$210 >> 2] = 68; + } + $$0169 = +_scalbnl($208, $182); + } while (0); + return +$$0169; +} + +function __ZN6vision38ComputeSubpixelHessianCoarseOctavePairEPfS0_RKNS_5ImageES3_S3_ii($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 $10 = 0, $101 = 0, $106 = 0, $11 = 0, $110 = 0, $112 = 0, $12 = 0, $120 = 0, $125 = 0, $129 = 0, $13 = 0, $131 = 0, $133 = 0, $135 = 0, $137 = 0, $14 = 0, $142 = 0.0, $143 = 0.0, $149 = 0.0, $153 = 0.0, $156 = 0.0, $160 = 0.0, $165 = 0.0, $169 = 0.0, $171 = 0.0, $175 = 0.0, $179 = 0.0, $181 = 0, $24 = 0, $29 = 0, $33 = 0, $34 = 0, $36 = 0, $44 = 0, $49 = 0, $53 = 0, $55 = 0, $63 = 0, $68 = 0, $7 = 0, $72 = 0, $74 = 0, $8 = 0, $82 = 0, $87 = 0, $9 = 0, $91 = 0, $93 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $7 = sp + 28 | 0; + $8 = sp + 24 | 0; + $9 = sp + 20 | 0; + $10 = sp + 16 | 0; + $11 = sp + 12 | 0; + $12 = sp + 8 | 0; + $13 = sp + 4 | 0; + $14 = sp; + if (($5 | 0) > 0 ? ($5 + 1 | 0) >>> 0 < (__ZNK6vision5Image5widthEv($3) | 0) >>> 0 : 0) { + $34 = $6 + -1 | 0; + if (($6 | 0) > 0 ? ($36 = $6 + 1 | 0, $36 >>> 0 < (__ZNK6vision5Image6heightEv($3) | 0) >>> 0) : 0) { + $55 = (__ZNK6vision5Image5widthEv($2) | 0) >>> 1; + if (($55 | 0) != (__ZNK6vision5Image5widthEv($3) | 0)) { + $63 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 29093) | 0, 28600) | 0, 39072) | 0, 361) | 0, 39079) | 0, 29150) | 0; + __ZNKSt3__28ios_base6getlocEv($7, $63 + (HEAP32[(HEAP32[$63 >> 2] | 0) + -12 >> 2] | 0) | 0); + $68 = __ZNKSt3__26locale9use_facetERNS0_2idE($7, 66512) | 0; + $72 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$68 >> 2] | 0) + 28 >> 2] & 127]($68, 10) | 0; + __ZNSt3__26localeD2Ev($7); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($63, $72) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($63) | 0; + _abort(); + } + $74 = (__ZNK6vision5Image5widthEv($2) | 0) >>> 1; + if (($74 | 0) != (__ZNK6vision5Image5widthEv($4) | 0)) { + $82 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 29180) | 0, 28600) | 0, 39072) | 0, 362) | 0, 39079) | 0, 29150) | 0; + __ZNKSt3__28ios_base6getlocEv($7, $82 + (HEAP32[(HEAP32[$82 >> 2] | 0) + -12 >> 2] | 0) | 0); + $87 = __ZNKSt3__26locale9use_facetERNS0_2idE($7, 66512) | 0; + $91 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$87 >> 2] | 0) + 28 >> 2] & 127]($87, 10) | 0; + __ZNSt3__26localeD2Ev($7); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($82, $91) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($82) | 0; + _abort(); + } + $93 = (__ZNK6vision5Image6heightEv($2) | 0) >>> 1; + if (($93 | 0) != (__ZNK6vision5Image6heightEv($3) | 0)) { + $101 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 29237) | 0, 28600) | 0, 39072) | 0, 363) | 0, 39079) | 0, 29150) | 0; + __ZNKSt3__28ios_base6getlocEv($7, $101 + (HEAP32[(HEAP32[$101 >> 2] | 0) + -12 >> 2] | 0) | 0); + $106 = __ZNKSt3__26locale9use_facetERNS0_2idE($7, 66512) | 0; + $110 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$106 >> 2] | 0) + 28 >> 2] & 127]($106, 10) | 0; + __ZNSt3__26localeD2Ev($7); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($101, $110) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($101) | 0; + _abort(); + } + $112 = (__ZNK6vision5Image6heightEv($2) | 0) >>> 1; + if (($112 | 0) == (__ZNK6vision5Image6heightEv($4) | 0)) { + $131 = (__ZNK6vision5Image3getIfEEPKT_m($3, $6) | 0) + ($5 << 2) | 0; + $133 = (__ZNK6vision5Image3getIfEEPKT_m($4, $34) | 0) + ($5 << 2) | 0; + $135 = (__ZNK6vision5Image3getIfEEPKT_m($4, $6) | 0) + ($5 << 2) | 0; + $137 = (__ZNK6vision5Image3getIfEEPKT_m($4, $36) | 0) + ($5 << 2) | 0; + __ZN6vision23bilinear_upsample_pointERfS0_ffi($8, $9, +($5 | 0), +($6 | 0), 1); + __ZN6vision26ComputeSubpixelDerivativesERfS0_S0_S0_S0_RKNS_5ImageEii($10, $11, $12, $13, $14, $3, $5, $6); + $142 = +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($2, +HEAPF32[$8 >> 2], +HEAPF32[$9 >> 2]); + $143 = +HEAPF32[$135 >> 2]; + $149 = $143 + ($142 - +HEAPF32[$131 >> 2] * 2.0); + $153 = +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($2, +HEAPF32[$8 >> 2] + -2.0, +HEAPF32[$9 >> 2]); + $156 = $153 + +HEAPF32[$135 + 4 >> 2]; + $160 = +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($2, +HEAPF32[$8 >> 2] + 2.0, +HEAPF32[$9 >> 2]); + $165 = ($156 - ($160 + +HEAPF32[$135 + -4 >> 2])) * .25; + $169 = +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($2, +HEAPF32[$8 >> 2], +HEAPF32[$9 >> 2] + -2.0); + $171 = $169 + +HEAPF32[$137 >> 2]; + $175 = +__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($2, +HEAPF32[$8 >> 2], +HEAPF32[$9 >> 2] + 2.0); + $179 = ($171 - ($175 + +HEAPF32[$133 >> 2])) * .25; + HEAP32[$0 >> 2] = HEAP32[$12 >> 2]; + $181 = HEAP32[$14 >> 2] | 0; + HEAP32[$0 + 4 >> 2] = $181; + HEAPF32[$0 + 8 >> 2] = $165; + HEAP32[$0 + 12 >> 2] = $181; + HEAP32[$0 + 16 >> 2] = HEAP32[$13 >> 2]; + HEAPF32[$0 + 20 >> 2] = $179; + HEAPF32[$0 + 24 >> 2] = $165; + HEAPF32[$0 + 28 >> 2] = $179; + HEAPF32[$0 + 32 >> 2] = $149; + HEAPF32[$1 >> 2] = -+HEAPF32[$10 >> 2]; + HEAPF32[$1 + 4 >> 2] = -+HEAPF32[$11 >> 2]; + HEAPF32[$1 + 8 >> 2] = -(($143 - $142) * .5); + STACKTOP = sp; + return; + } else { + $120 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 29296) | 0, 28600) | 0, 39072) | 0, 364) | 0, 39079) | 0, 29150) | 0; + __ZNKSt3__28ios_base6getlocEv($7, $120 + (HEAP32[(HEAP32[$120 >> 2] | 0) + -12 >> 2] | 0) | 0); + $125 = __ZNKSt3__26locale9use_facetERNS0_2idE($7, 66512) | 0; + $129 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$125 >> 2] | 0) + 28 >> 2] & 127]($125, 10) | 0; + __ZNSt3__26localeD2Ev($7); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($120, $129) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($120) | 0; + _abort(); + } + } + $44 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 29018) | 0, 28600) | 0, 39072) | 0, 360) | 0, 39079) | 0, 29077) | 0; + __ZNKSt3__28ios_base6getlocEv($7, $44 + (HEAP32[(HEAP32[$44 >> 2] | 0) + -12 >> 2] | 0) | 0); + $49 = __ZNKSt3__26locale9use_facetERNS0_2idE($7, 66512) | 0; + $53 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$49 >> 2] | 0) + 28 >> 2] & 127]($49, 10) | 0; + __ZNSt3__26localeD2Ev($7); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($44, $53) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($44) | 0; + _abort(); + } + $24 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 28944) | 0, 28600) | 0, 39072) | 0, 359) | 0, 39079) | 0, 29002) | 0; + __ZNKSt3__28ios_base6getlocEv($7, $24 + (HEAP32[(HEAP32[$24 >> 2] | 0) + -12 >> 2] | 0) | 0); + $29 = __ZNKSt3__26locale9use_facetERNS0_2idE($7, 66512) | 0; + $33 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$29 >> 2] | 0) + 28 >> 2] & 127]($29, 10) | 0; + __ZNSt3__26localeD2Ev($7); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($24, $33) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($24) | 0; + _abort(); +} + +function _kpmSetRefDataSet($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$0156 = 0, $$0157 = 0, $$0158 = 0, $$0159 = 0, $$0161 = 0, $$0162 = 0, $$0163 = 0, $$0165 = 0, $$1160 = 0, $$1164 = 0, $$2 = 0, $$pre = 0, $$pre199 = 0, $$pre201 = 0, $11 = 0, $110 = 0, $116 = 0, $12 = 0, $123 = 0, $126 = 0, $148 = 0, $152 = 0, $157 = 0, $16 = 0, $164 = 0, $165 = 0, $17 = 0, $2 = 0, $20 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $31 = 0, $35 = 0, $36 = 0, $39 = 0, $4 = 0, $40 = 0, $43 = 0, $45 = 0, $47 = 0, $48 = 0, $5 = 0, $51 = 0, $53 = 0, $56 = 0, $59 = 0, $63 = 0, $68 = 0, $72 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $82 = 0, $86 = 0, $9 = 0, $90 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_buffer9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(112); + $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; + $2 = sp + 96 | 0; + $3 = sp + 84 | 0; + $4 = sp + 72 | 0; + $5 = sp + 52 | 0; + L1 : do if (($0 | 0) != 0 & ($1 | 0) != 0) { + $8 = $1 + 4 | 0; + $9 = HEAP32[$8 >> 2] | 0; + if (!$9) { + _arLog(0, 3, 26571, $vararg_buffer1); + $$0165 = -1; + break; + } + $11 = $0 + 28 | 0; + $12 = HEAP32[$11 >> 2] | 0; + if ($12) { + _free($12); + $$pre = HEAP32[$8 >> 2] | 0; + if (!$$pre) { + HEAP32[$11 >> 2] = 0; + $27 = 0; + } else { + $16 = $$pre; + label = 7; + } + } else { + $16 = $9; + label = 7; + } + L9 : do if ((label | 0) == 7) { + $17 = _malloc($16 * 132 | 0) | 0; + HEAP32[$11 >> 2] = $17; + if (!$17) { + _arLog(0, 3, 45930, $vararg_buffer3); + _exit(1); + } + $$0163 = 0; + $20 = $16; + while (1) { + if (($$0163 | 0) >= ($20 | 0)) { + $27 = $20; + break L9; + } + _memcpy((HEAP32[$11 >> 2] | 0) + ($$0163 * 132 | 0) | 0, (HEAP32[$1 >> 2] | 0) + ($$0163 * 132 | 0) | 0, 132) | 0; + $$0163 = $$0163 + 1 | 0; + $20 = HEAP32[$8 >> 2] | 0; + } + } while (0); + $26 = $0 + 32 | 0; + HEAP32[$26 >> 2] = $27; + $28 = $0 + 36 | 0; + $29 = HEAP32[$28 >> 2] | 0; + if ($29 | 0) { + $31 = $0 + 40 | 0; + $$1164 = 0; + $35 = $29; + while (1) { + if (($$1164 | 0) >= (HEAP32[$31 >> 2] | 0)) break; + $36 = HEAP32[$35 + ($$1164 * 12 | 0) >> 2] | 0; + if (!$36) $$pre199 = $35; else { + _free($36); + $$pre199 = HEAP32[$28 >> 2] | 0; + } + $$1164 = $$1164 + 1 | 0; + $35 = $$pre199; + } + _free($35); + } + $39 = $1 + 12 | 0; + $40 = HEAP32[$39 >> 2] | 0; + L28 : do if (!$40) { + HEAP32[$28 >> 2] = 0; + $77 = 0; + } else { + $43 = _malloc($40 * 12 | 0) | 0; + HEAP32[$28 >> 2] = $43; + if (!$43) { + _arLog(0, 3, 45930, $vararg_buffer5); + _exit(1); + } + $45 = $1 + 8 | 0; + $$2 = 0; + $47 = $40; + while (1) { + if (($$2 | 0) >= ($47 | 0)) { + $77 = $47; + break L28; + } + $48 = HEAP32[$45 >> 2] | 0; + $51 = HEAP32[$28 >> 2] | 0; + HEAP32[$51 + ($$2 * 12 | 0) + 8 >> 2] = HEAP32[$48 + ($$2 * 12 | 0) + 8 >> 2]; + $53 = $48 + ($$2 * 12 | 0) + 4 | 0; + HEAP32[$51 + ($$2 * 12 | 0) + 4 >> 2] = HEAP32[$53 >> 2]; + $56 = HEAP32[$53 >> 2] | 0; + if (!$56) { + HEAP32[$48 + ($$2 * 12 | 0) >> 2] = 0; + $$pre201 = $47; + } else { + $59 = _malloc($56 * 12 | 0) | 0; + HEAP32[$51 + ($$2 * 12 | 0) >> 2] = $59; + if (!$59) break; + $$0162 = 0; + $63 = $48; + while (1) { + if (($$0162 | 0) >= (HEAP32[$63 + ($$2 * 12 | 0) + 4 >> 2] | 0)) break; + $68 = (HEAP32[$63 + ($$2 * 12 | 0) >> 2] | 0) + ($$0162 * 12 | 0) | 0; + $72 = (HEAP32[(HEAP32[$28 >> 2] | 0) + ($$2 * 12 | 0) >> 2] | 0) + ($$0162 * 12 | 0) | 0; + HEAP32[$72 >> 2] = HEAP32[$68 >> 2]; + HEAP32[$72 + 4 >> 2] = HEAP32[$68 + 4 >> 2]; + HEAP32[$72 + 8 >> 2] = HEAP32[$68 + 8 >> 2]; + $$0162 = $$0162 + 1 | 0; + $63 = HEAP32[$45 >> 2] | 0; + } + $$pre201 = HEAP32[$39 >> 2] | 0; + } + $$2 = $$2 + 1 | 0; + $47 = $$pre201; + } + _arLog(0, 3, 45930, $vararg_buffer7); + _exit(1); + } while (0); + $76 = $0 + 40 | 0; + HEAP32[$76 >> 2] = $77; + $78 = $0 + 52 | 0; + $79 = HEAP32[$78 >> 2] | 0; + if ($79 | 0) { + _free($79); + HEAP32[$78 >> 2] = 0; + HEAP32[$0 + 56 >> 2] = 0; + } + $82 = HEAP32[$39 >> 2] | 0; + L51 : do if (($82 | 0) > 0) { + HEAP32[$0 + 56 >> 2] = $82; + $86 = _malloc($82 * 68 | 0) | 0; + HEAP32[$78 >> 2] = $86; + if (!$86) { + _arLog(0, 3, 45930, $vararg_buffer9); + _exit(1); + } + $$0161 = 0; + while (1) { + if (($$0161 | 0) == ($82 | 0)) break L51; + HEAP32[$86 + ($$0161 * 68 | 0) + 64 >> 2] = 0; + $$0161 = $$0161 + 1 | 0; + } + } while (0); + $90 = HEAP32[$26 >> 2] | 0; + if (!$90) $$0165 = 0; else { + $92 = $2 + 4 | 0; + $93 = $2 + 8 | 0; + $94 = $3 + 4 | 0; + $95 = $3 + 8 | 0; + $96 = $4 + 4 | 0; + $97 = $4 + 8 | 0; + $$0158 = 0; + $$0159 = 0; + while (1) { + if (($$0158 | 0) >= (HEAP32[$76 >> 2] | 0)) { + $$0165 = 0; + break L1; + } + $$0157 = 0; + $$1160 = $$0159; + while (1) { + if (($$0157 | 0) >= (HEAP32[(HEAP32[$28 >> 2] | 0) + ($$0158 * 12 | 0) + 4 >> 2] | 0)) break; + HEAP32[$2 >> 2] = 0; + HEAP32[$92 >> 2] = 0; + HEAP32[$93 >> 2] = 0; + HEAP32[$3 >> 2] = 0; + HEAP32[$94 >> 2] = 0; + HEAP32[$95 >> 2] = 0; + HEAP32[$4 >> 2] = 0; + HEAP32[$96 >> 2] = 0; + HEAP32[$97 >> 2] = 0; + $$0156 = 0; + while (1) { + if (($$0156 | 0) >= ($90 | 0)) break; + $123 = HEAP32[$11 >> 2] | 0; + $126 = HEAP32[$28 >> 2] | 0; + L70 : do if ((HEAP32[$123 + ($$0156 * 132 | 0) + 128 >> 2] | 0) == (HEAP32[(HEAP32[$126 + ($$0158 * 12 | 0) >> 2] | 0) + ($$0157 * 12 | 0) + 8 >> 2] | 0) ? (HEAP32[$123 + ($$0156 * 132 | 0) + 124 >> 2] | 0) == (HEAP32[$126 + ($$0158 * 12 | 0) + 8 >> 2] | 0) : 0) { + __ZN6vision12FeaturePointC2Effffb($5, +HEAPF32[$123 + ($$0156 * 132 | 0) >> 2], +HEAPF32[$123 + ($$0156 * 132 | 0) + 4 >> 2], +HEAPF32[$123 + ($$0156 * 132 | 0) + 112 >> 2], +HEAPF32[$123 + ($$0156 * 132 | 0) + 116 >> 2], (HEAP32[$123 + ($$0156 * 132 | 0) + 120 >> 2] | 0) != 0); + $148 = HEAP32[$92 >> 2] | 0; + if ($148 >>> 0 < (HEAP32[$93 >> 2] | 0) >>> 0) { + HEAP32[$148 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$148 + 4 >> 2] = HEAP32[$5 + 4 >> 2]; + HEAP32[$148 + 8 >> 2] = HEAP32[$5 + 8 >> 2]; + HEAP32[$148 + 12 >> 2] = HEAP32[$5 + 12 >> 2]; + HEAP32[$148 + 16 >> 2] = HEAP32[$5 + 16 >> 2]; + HEAP32[$92 >> 2] = $148 + 20; + } else __ZNSt3__26vectorIN6vision12FeaturePointENS_9allocatorIS2_EEE21__push_back_slow_pathIS2_EEvOT_($2, $5); + __ZN6vision12FeaturePointD2Ev($5); + $152 = HEAP32[$11 >> 2] | 0; + __ZN6vision7Point3dIfEC2Efff($5, +HEAPF32[$152 + ($$0156 * 132 | 0) + 8 >> 2], +HEAPF32[$152 + ($$0156 * 132 | 0) + 12 >> 2], 0.0); + $157 = HEAP32[$94 >> 2] | 0; + if ($157 >>> 0 < (HEAP32[$95 >> 2] | 0) >>> 0) { + HEAP32[$157 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$157 + 4 >> 2] = HEAP32[$5 + 4 >> 2]; + HEAP32[$157 + 8 >> 2] = HEAP32[$5 + 8 >> 2]; + HEAP32[$94 >> 2] = (HEAP32[$94 >> 2] | 0) + 12; + } else __ZNSt3__26vectorIN6vision7Point3dIfEENS_9allocatorIS3_EEE21__push_back_slow_pathIS3_EEvOT_($3, $5); + $$0 = 0; + while (1) { + if ($$0 >>> 0 >= 96) break L70; + $164 = (HEAP32[$11 >> 2] | 0) + ($$0156 * 132 | 0) + 16 + $$0 | 0; + $165 = HEAP32[$96 >> 2] | 0; + if (($165 | 0) == (HEAP32[$97 >> 2] | 0)) __ZNSt3__26vectorIhNS_9allocatorIhEEE21__push_back_slow_pathIRKhEEvOT_($4, $164); else { + HEAP8[$165 >> 0] = HEAP8[$164 >> 0] | 0; + HEAP32[$96 >> 2] = (HEAP32[$96 >> 2] | 0) + 1; + } + $$0 = $$0 + 1 | 0; + } + } while (0); + $$0156 = $$0156 + 1 | 0; + } + HEAP32[$vararg_buffer11 >> 2] = ((HEAP32[$92 >> 2] | 0) - (HEAP32[$2 >> 2] | 0) | 0) / 20 | 0; + _arLog(0, 1, 26604, $vararg_buffer11); + $110 = HEAP32[$28 >> 2] | 0; + HEAP32[$0 + 60 + ($$1160 << 2) >> 2] = HEAP32[$110 + ($$0158 * 12 | 0) + 8 >> 2]; + $116 = HEAP32[$110 + ($$0158 * 12 | 0) >> 2] | 0; + __ZN6vision20VisualDatabaseFacade30addFreakFeaturesAndDescriptorsERKNSt3__26vectorINS_12FeaturePointENS1_9allocatorIS3_EEEERKNS2_IhNS4_IhEEEERKNS2_INS_7Point3dIfEENS4_ISE_EEEEmmi(HEAP32[$0 >> 2] | 0, $2, $4, $3, HEAP32[$116 + ($$0157 * 12 | 0) >> 2] | 0, HEAP32[$116 + ($$0157 * 12 | 0) + 4 >> 2] | 0, $$1160); + __ZNSt3__213__vector_baseIhNS_9allocatorIhEEED2Ev($4); + __ZNSt3__213__vector_baseIN6vision7Point3dIfEENS_9allocatorIS3_EEED2Ev($3); + __ZNSt3__213__vector_baseIN6vision12FeaturePointENS_9allocatorIS2_EEED2Ev($2); + $$0157 = $$0157 + 1 | 0; + $$1160 = $$1160 + 1 | 0; + } + $$0158 = $$0158 + 1 | 0; + $$0159 = $$1160; + } + } + } else { + _arLog(0, 3, 26523, $vararg_buffer); + $$0165 = -1; + } while (0); + STACKTOP = sp; + return $$0165 | 0; +} + +function __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjP2tmPKwSC_($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 $$0 = 0, $$0$i$i = 0, $$0$i$i$i$i = 0, $$0$i$i$i$i52 = 0, $$0$i$i$i$i66 = 0, $$0$i$i2$i$i = 0, $$0$i$i2$i$i58 = 0, $$0$i$i2$i$i72 = 0, $$0$i$i63 = 0, $$0$pn = 0, $$049 = 0, $$050 = 0, $$3 = 0, $$3$lcssa = 0, $$4 = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$ph = 0, $$sroa$047$0$copyload = 0, $10 = 0, $101 = 0, $103 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $13 = 0, $131 = 0, $139 = 0, $14 = 0, $140 = 0, $141 = 0, $142 = 0, $154 = 0, $16 = 0, $161 = 0, $171 = 0, $173 = 0, $18 = 0, $185 = 0, $188 = 0, $202 = 0, $203 = 0, $204 = 0, $205 = 0, $206 = 0, $30 = 0, $32 = 0, $34 = 0, $52 = 0, $58 = 0, $59 = 0, $68 = 0, $69 = 0, $70 = 0, $71 = 0, $73 = 0, $8 = 0, $86 = 0, $88 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy1 = sp + 12 | 0; + $$byval_copy = sp + 8 | 0; + $8 = sp + 4 | 0; + $9 = sp; + __ZNKSt3__28ios_base6getlocEv($$byval_copy1, $3); + $10 = __ZNKSt3__26locale9use_facetERNS0_2idE($$byval_copy1, 66544) | 0; + __ZNSt3__26localeD2Ev($$byval_copy1); + HEAP32[$4 >> 2] = 0; + $$0 = $6; + $13 = 0; + L1 : while (1) { + $14 = HEAP32[$1 >> 2] | 0; + if (!(($$0 | 0) != ($7 | 0) & ($13 | 0) == 0)) { + $171 = $14; + break; + } + $16 = $14; + if ($14) { + $18 = HEAP32[$14 + 12 >> 2] | 0; + if (($18 | 0) == (HEAP32[$14 + 16 >> 2] | 0)) $$0$i$i$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$14 >> 2] | 0) + 36 >> 2] & 127]($14) | 0; else $$0$i$i$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$18 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $140 = 0; + $202 = 1; + $69 = 0; + } else { + $140 = $14; + $202 = 0; + $69 = $16; + } + } else { + $140 = 0; + $202 = 1; + $69 = $16; + } + $30 = HEAP32[$2 >> 2] | 0; + $32 = $30; + do if ($30) { + $34 = HEAP32[$30 + 12 >> 2] | 0; + if (($34 | 0) == (HEAP32[$30 + 16 >> 2] | 0)) $$0$i$i2$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$30 >> 2] | 0) + 36 >> 2] & 127]($30) | 0; else $$0$i$i2$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$34 >> 2] | 0) | 0; + if (!(__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0)) if ($202) { + $203 = $30; + $70 = $32; + break; + } else { + label = 60; + break L1; + } else { + HEAP32[$2 >> 2] = 0; + $$ph = 0; + label = 15; + break; + } + } else { + $$ph = $32; + label = 15; + } while (0); + if ((label | 0) == 15) { + label = 0; + if ($202) { + label = 60; + break; + } else { + $203 = 0; + $70 = $$ph; + } + } + L24 : do if ((FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$10 >> 2] | 0) + 52 >> 2] & 63]($10, HEAP32[$$0 >> 2] | 0, 0) | 0) << 24 >> 24 == 37) { + $52 = $$0 + 4 | 0; + if (($52 | 0) == ($7 | 0)) { + label = 60; + break L1; + } + $58 = FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$10 >> 2] | 0) + 52 >> 2] & 63]($10, HEAP32[$52 >> 2] | 0, 0) | 0; + switch ($58 << 24 >> 24) { + case 48: + case 69: + { + $59 = $$0 + 8 | 0; + if (($59 | 0) == ($7 | 0)) { + label = 60; + break L1; + } + $$049 = $58; + $$050 = FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$10 >> 2] | 0) + 52 >> 2] & 63]($10, HEAP32[$59 >> 2] | 0, 0) | 0; + $73 = $52; + break; + } + default: + { + $$049 = 0; + $$050 = $58; + $73 = $$0; + } + } + $68 = HEAP32[(HEAP32[$0 >> 2] | 0) + 36 >> 2] | 0; + HEAP32[$8 >> 2] = $69; + HEAP32[$9 >> 2] = $70; + HEAP32[$$byval_copy >> 2] = HEAP32[$8 >> 2]; + HEAP32[$$byval_copy1 >> 2] = HEAP32[$9 >> 2]; + $71 = FUNCTION_TABLE_iiiiiiiii[$68 & 15]($0, $$byval_copy, $$byval_copy1, $3, $4, $5, $$050, $$049) | 0; + HEAP32[$1 >> 2] = $71; + $$4 = $73 + 8 | 0; + } else { + if (!(FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$10 >> 2] | 0) + 12 >> 2] & 63]($10, 8192, HEAP32[$$0 >> 2] | 0) | 0)) { + $139 = $140 + 12 | 0; + $141 = HEAP32[$139 >> 2] | 0; + $142 = $140 + 16 | 0; + if (($141 | 0) == (HEAP32[$142 >> 2] | 0)) $$0$i$i63 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$140 >> 2] | 0) + 36 >> 2] & 127]($140) | 0; else $$0$i$i63 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$141 >> 2] | 0) | 0; + $154 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$10 >> 2] | 0) + 28 >> 2] & 127]($10, $$0$i$i63) | 0; + if (($154 | 0) != (FUNCTION_TABLE_iii[HEAP32[(HEAP32[$10 >> 2] | 0) + 28 >> 2] & 127]($10, HEAP32[$$0 >> 2] | 0) | 0)) { + HEAP32[$4 >> 2] = 4; + $$4 = $$0; + break; + } + $161 = HEAP32[$139 >> 2] | 0; + if (($161 | 0) == (HEAP32[$142 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$140 >> 2] | 0) + 40 >> 2] & 127]($140) | 0; else { + HEAP32[$139 >> 2] = $161 + 4; + __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$161 >> 2] | 0) | 0; + } + $$4 = $$0 + 4 | 0; + break; + } + $$0$pn = $$0; + while (1) { + $$3 = $$0$pn + 4 | 0; + if (($$3 | 0) == ($7 | 0)) { + $$3$lcssa = $7; + break; + } + if (FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$10 >> 2] | 0) + 12 >> 2] & 63]($10, 8192, HEAP32[$$3 >> 2] | 0) | 0) $$0$pn = $$3; else { + $$3$lcssa = $$3; + break; + } + } + $101 = $203; + $86 = $140; + while (1) { + if ($86) { + $88 = HEAP32[$86 + 12 >> 2] | 0; + if (($88 | 0) == (HEAP32[$86 + 16 >> 2] | 0)) $$0$i$i$i$i52 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$86 >> 2] | 0) + 36 >> 2] & 127]($86) | 0; else $$0$i$i$i$i52 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$88 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i52, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $116 = 0; + $204 = 1; + } else { + $116 = $86; + $204 = 0; + } + } else { + $116 = 0; + $204 = 1; + } + do if ($101) { + $103 = HEAP32[$101 + 12 >> 2] | 0; + if (($103 | 0) == (HEAP32[$101 + 16 >> 2] | 0)) $$0$i$i2$i$i58 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$101 >> 2] | 0) + 36 >> 2] & 127]($101) | 0; else $$0$i$i2$i$i58 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$103 >> 2] | 0) | 0; + if (!(__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i58, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0)) if ($204) { + $205 = $101; + break; + } else { + $$4 = $$3$lcssa; + break L24; + } else { + HEAP32[$2 >> 2] = 0; + label = 40; + break; + } + } else label = 40; while (0); + if ((label | 0) == 40) { + label = 0; + if ($204) { + $$4 = $$3$lcssa; + break L24; + } else $205 = 0; + } + $115 = $116 + 12 | 0; + $117 = HEAP32[$115 >> 2] | 0; + $118 = $116 + 16 | 0; + if (($117 | 0) == (HEAP32[$118 >> 2] | 0)) $$0$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$116 >> 2] | 0) + 36 >> 2] & 127]($116) | 0; else $$0$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$117 >> 2] | 0) | 0; + if (!(FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$10 >> 2] | 0) + 12 >> 2] & 63]($10, 8192, $$0$i$i) | 0)) { + $$4 = $$3$lcssa; + break L24; + } + $131 = HEAP32[$115 >> 2] | 0; + if (($131 | 0) == (HEAP32[$118 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$116 >> 2] | 0) + 40 >> 2] & 127]($116) | 0; else { + HEAP32[$115 >> 2] = $131 + 4; + __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$131 >> 2] | 0) | 0; + } + $101 = $205; + $86 = $116; + } + } while (0); + $$0 = $$4; + $13 = HEAP32[$4 >> 2] | 0; + } + if ((label | 0) == 60) { + HEAP32[$4 >> 2] = 4; + $171 = $140; + } + if ($171) { + $173 = HEAP32[$171 + 12 >> 2] | 0; + if (($173 | 0) == (HEAP32[$171 + 16 >> 2] | 0)) $$0$i$i$i$i66 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$171 >> 2] | 0) + 36 >> 2] & 127]($171) | 0; else $$0$i$i$i$i66 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$173 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i66, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $$sroa$047$0$copyload = 0; + $206 = 1; + } else { + $$sroa$047$0$copyload = $171; + $206 = 0; + } + } else { + $$sroa$047$0$copyload = 0; + $206 = 1; + } + $185 = HEAP32[$2 >> 2] | 0; + do if ($185) { + $188 = HEAP32[$185 + 12 >> 2] | 0; + if (($188 | 0) == (HEAP32[$185 + 16 >> 2] | 0)) $$0$i$i2$i$i72 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$185 >> 2] | 0) + 36 >> 2] & 127]($185) | 0; else $$0$i$i2$i$i72 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$188 >> 2] | 0) | 0; + if (!(__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i72, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0)) if ($206) break; else { + label = 75; + break; + } else { + HEAP32[$2 >> 2] = 0; + label = 73; + break; + } + } else label = 73; while (0); + if ((label | 0) == 73 ? $206 : 0) label = 75; + if ((label | 0) == 75) HEAP32[$4 >> 2] = HEAP32[$4 >> 2] | 2; + STACKTOP = sp; + return $$sroa$047$0$copyload | 0; +} + +function _check_rotation($0) { + $0 = $0 | 0; + var $$0 = 0, $$0457 = 0.0, $$0458 = 0.0, $$0459 = 0.0, $$0460 = 0.0, $$0461 = 0.0, $$0462 = 0.0, $$0463 = 0.0, $$0464 = 0.0, $$0465 = 0.0, $$0466 = 0.0, $$0467 = 0.0, $$0468 = 0.0, $$0469 = 0.0, $$0470 = 0.0, $$0471 = 0.0, $$0472 = 0.0, $$0473 = 0.0, $$1 = 0, $$10 = 0.0, $$2 = 0.0, $$3 = 0.0, $$5 = 0.0, $$6 = 0.0, $$9 = 0.0, $$pre = 0.0, $$pre$phi15Z2D = 0.0, $$pre$phi17Z2D = 0.0, $$pre$phi19Z2D = 0.0, $$pre$phi21Z2D = 0.0, $$pre$phi23Z2D = 0.0, $$pre$phiZ2D = 0.0, $$pre14 = 0.0, $$pre18 = 0.0, $$pre20 = 0.0, $$sroa$0$0 = 0.0, $$sroa$0$1 = 0.0, $$sroa$0$1$$sroa$62$1 = 0.0, $$sroa$0$2 = 0.0, $$sroa$0333$0 = 0.0, $$sroa$0370$0 = 0.0, $$sroa$18$0 = 0.0, $$sroa$18384$0 = 0.0, $$sroa$33$0 = 0.0, $$sroa$33$1 = 0.0, $$sroa$33$2 = 0.0, $$sroa$33359$0 = 0.0, $$sroa$33397$0 = 0.0, $$sroa$62$0 = 0.0, $$sroa$62$1 = 0.0, $$sroa$62$1$$sroa$33$1 = 0.0, $$sroa$62$2 = 0.0, $1 = 0.0, $10 = 0, $102 = 0, $107 = 0.0, $109 = 0.0, $11 = 0.0, $113 = 0.0, $114 = 0.0, $116 = 0.0, $120 = 0.0, $123 = 0.0, $130 = 0.0, $133 = 0.0, $135 = 0.0, $137 = 0.0, $139 = 0.0, $14 = 0.0, $141 = 0.0, $143 = 0.0, $145 = 0.0, $150 = 0.0, $157 = 0.0, $164 = 0.0, $17 = 0.0, $171 = 0.0, $2 = 0, $20 = 0.0, $26 = 0.0, $28 = 0.0, $29 = 0.0, $3 = 0.0, $30 = 0.0, $35 = 0.0, $4 = 0, $43 = 0.0, $44 = 0.0, $45 = 0.0, $46 = 0.0, $5 = 0.0, $51 = 0, $56 = 0.0, $58 = 0.0, $6 = 0, $62 = 0.0, $63 = 0.0, $65 = 0.0, $69 = 0.0, $7 = 0.0, $72 = 0.0, $79 = 0.0, $8 = 0, $82 = 0.0, $84 = 0.0, $86 = 0.0, $88 = 0.0, $9 = 0.0, $90 = 0.0, $92 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0; + $1 = +HEAPF64[$0 >> 3]; + $2 = $0 + 8 | 0; + $3 = +HEAPF64[$2 >> 3]; + $4 = $0 + 16 | 0; + $5 = +HEAPF64[$4 >> 3]; + $6 = $0 + 24 | 0; + $7 = +HEAPF64[$6 >> 3]; + $8 = $0 + 32 | 0; + $9 = +HEAPF64[$8 >> 3]; + $10 = $0 + 40 | 0; + $11 = +HEAPF64[$10 >> 3]; + $14 = $3 * $11 - $5 * $9; + $17 = $5 * $7 - $1 * $11; + $20 = $1 * $9 - $3 * $7; + $26 = +Math_sqrt(+($20 * $20 + ($14 * $14 + $17 * $17))); + do if (!($26 == 0.0)) { + $28 = $14 / $26; + $29 = $17 / $26; + $30 = $20 / $26; + $35 = $1 * $7 + $3 * $9 + $5 * $11; + $$0473 = $35 < 0.0 ? -$35 : $35; + $43 = (+Math_sqrt(+($$0473 + 1.0)) + +Math_sqrt(+(1.0 - $$0473))) * .5; + $44 = $1 * $29; + $45 = $3 * $28; + $46 = $44 - $45; + if ($46 != 0.0) { + $$0 = 0; + $$pre$phi15Z2D = $45; + $$pre$phi17Z2D = $46; + $$pre$phiZ2D = $44; + $$sroa$0$0 = $28; + $$sroa$0370$0 = $1; + $$sroa$18384$0 = $3; + $$sroa$33$0 = $29; + $$sroa$33397$0 = $5; + $$sroa$62$0 = $30; + } else { + $51 = $1 * $30 - $5 * $28 != 0.0; + $$2 = $51 ? $5 : $3; + $$3 = $51 ? $1 : $5; + $$5 = $51 ? $30 : $29; + $$6 = $51 ? $28 : $30; + $$pre = $$3 * $$5; + $$pre14 = $$2 * $$6; + $$0 = $51 ? 1 : 2; + $$pre$phi15Z2D = $$pre14; + $$pre$phi17Z2D = $$pre - $$pre14; + $$pre$phiZ2D = $$pre; + $$sroa$0$0 = $$6; + $$sroa$0370$0 = $$3; + $$sroa$18384$0 = $$2; + $$sroa$33$0 = $$5; + $$sroa$33397$0 = $51 ? $3 : $1; + $$sroa$62$0 = $51 ? $29 : $28; + } + if (!($$pre$phi17Z2D == 0.0) ? ($56 = ($$sroa$18384$0 * $$sroa$62$0 - $$sroa$33397$0 * $$sroa$33$0) / $$pre$phi17Z2D, $58 = $43 * $$sroa$33$0 / $$pre$phi17Z2D, $62 = $$pre$phi15Z2D - $$pre$phiZ2D, $63 = ($$sroa$0370$0 * $$sroa$62$0 - $$sroa$33397$0 * $$sroa$0$0) / $62, $65 = $43 * $$sroa$0$0 / $62, $69 = $56 * $56 + $63 * $63 + 1.0, $72 = $56 * $58 + $63 * $65, $79 = $72 * $72 - $69 * ($58 * $58 + $65 * $65 + -1.0), !($79 < 0.0)) : 0) { + $82 = +Math_sqrt(+$79); + $84 = ($82 - $72) / $69; + $86 = $58 + $56 * $84; + $88 = $65 + $63 * $84; + $90 = (-$72 - $82) / $69; + $92 = $58 + $56 * $90; + $94 = $65 + $63 * $90; + switch ($$0 & 3) { + case 1: + { + $$0467 = $94; + $$0468 = $90; + $$0469 = $92; + $$0470 = $88; + $$0471 = $84; + $$0472 = $86; + $$sroa$0$1 = $$sroa$0$0; + $$sroa$33$1 = $$sroa$62$0; + $$sroa$62$1 = $$sroa$33$0; + break; + } + case 2: + { + $$0467 = $92; + $$0468 = $94; + $$0469 = $90; + $$0470 = $86; + $$0471 = $88; + $$0472 = $84; + $$sroa$0$1 = $$sroa$62$0; + $$sroa$33$1 = $$sroa$33$0; + $$sroa$62$1 = $$sroa$0$0; + break; + } + default: + { + $$0467 = $90; + $$0468 = $94; + $$0469 = $92; + $$0470 = $84; + $$0471 = $88; + $$0472 = $86; + $$sroa$0$1 = $$sroa$0$0; + $$sroa$33$1 = $$sroa$33$0; + $$sroa$62$1 = $$sroa$62$0; + } + } + $95 = $7 * $$sroa$33$1; + $96 = $9 * $$sroa$0$1; + $97 = $95 - $96; + if ($97 != 0.0) { + $$1 = 0; + $$pre$phi19Z2D = $95; + $$pre$phi21Z2D = $96; + $$pre$phi23Z2D = $97; + $$sroa$0$2 = $$sroa$0$1; + $$sroa$0333$0 = $7; + $$sroa$18$0 = $9; + $$sroa$33$2 = $$sroa$33$1; + $$sroa$33359$0 = $11; + $$sroa$62$2 = $$sroa$62$1; + } else { + $102 = $7 * $$sroa$62$1 - $11 * $$sroa$0$1 != 0.0; + $$9 = $102 ? $11 : $9; + $$10 = $102 ? $7 : $11; + $$sroa$62$1$$sroa$33$1 = $102 ? $$sroa$62$1 : $$sroa$33$1; + $$sroa$0$1$$sroa$62$1 = $102 ? $$sroa$0$1 : $$sroa$62$1; + $$pre18 = $$10 * $$sroa$62$1$$sroa$33$1; + $$pre20 = $$9 * $$sroa$0$1$$sroa$62$1; + $$1 = $102 ? 1 : 2; + $$pre$phi19Z2D = $$pre18; + $$pre$phi21Z2D = $$pre20; + $$pre$phi23Z2D = $$pre18 - $$pre20; + $$sroa$0$2 = $$sroa$0$1$$sroa$62$1; + $$sroa$0333$0 = $$10; + $$sroa$18$0 = $$9; + $$sroa$33$2 = $$sroa$62$1$$sroa$33$1; + $$sroa$33359$0 = $102 ? $9 : $7; + $$sroa$62$2 = $102 ? $$sroa$33$1 : $$sroa$0$1; + } + if (!($$pre$phi23Z2D == 0.0) ? ($107 = ($$sroa$18$0 * $$sroa$62$2 - $$sroa$33359$0 * $$sroa$33$2) / $$pre$phi23Z2D, $109 = $43 * $$sroa$33$2 / $$pre$phi23Z2D, $113 = $$pre$phi21Z2D - $$pre$phi19Z2D, $114 = ($$sroa$0333$0 * $$sroa$62$2 - $$sroa$33359$0 * $$sroa$0$2) / $113, $116 = $43 * $$sroa$0$2 / $113, $120 = $107 * $107 + $114 * $114 + 1.0, $123 = $107 * $109 + $114 * $116, $130 = $123 * $123 - $120 * ($109 * $109 + $116 * $116 + -1.0), !($130 < 0.0)) : 0) { + $133 = +Math_sqrt(+$130); + $135 = ($133 - $123) / $120; + $137 = $109 + $107 * $135; + $139 = $116 + $114 * $135; + $141 = (-$123 - $133) / $120; + $143 = $109 + $107 * $141; + $145 = $116 + $114 * $141; + switch ($$1 & 3) { + case 1: + { + $$0461 = $145; + $$0462 = $141; + $$0463 = $143; + $$0464 = $139; + $$0465 = $135; + $$0466 = $137; + break; + } + case 2: + { + $$0461 = $143; + $$0462 = $145; + $$0463 = $141; + $$0464 = $137; + $$0465 = $139; + $$0466 = $135; + break; + } + default: + { + $$0461 = $141; + $$0462 = $145; + $$0463 = $143; + $$0464 = $135; + $$0465 = $139; + $$0466 = $137; + } + } + $150 = $$0472 * $$0466 + $$0471 * $$0465 + $$0470 * $$0464; + $$0460 = $150 < 0.0 ? -$150 : $150; + $157 = $$0472 * $$0463 + $$0471 * $$0462 + $$0470 * $$0461; + $$0459 = $157 < 0.0 ? -$157 : $157; + $164 = $$0469 * $$0466 + $$0468 * $$0465 + $$0467 * $$0464; + $$0458 = $164 < 0.0 ? -$164 : $164; + $171 = $$0469 * $$0463 + $$0468 * $$0462 + $$0467 * $$0461; + $$0457 = $171 < 0.0 ? -$171 : $171; + if ($$0460 < $$0459) if ($$0460 < $$0458) if ($$0460 < $$0457) { + HEAPF64[$0 >> 3] = $$0472; + HEAPF64[$2 >> 3] = $$0471; + HEAPF64[$4 >> 3] = $$0470; + HEAPF64[$6 >> 3] = $$0466; + HEAPF64[$8 >> 3] = $$0465; + HEAPF64[$10 >> 3] = $$0464; + break; + } else { + HEAPF64[$0 >> 3] = $$0469; + HEAPF64[$2 >> 3] = $$0468; + HEAPF64[$4 >> 3] = $$0467; + HEAPF64[$6 >> 3] = $$0463; + HEAPF64[$8 >> 3] = $$0462; + HEAPF64[$10 >> 3] = $$0461; + break; + } else { + HEAPF64[$0 >> 3] = $$0469; + HEAPF64[$2 >> 3] = $$0468; + HEAPF64[$4 >> 3] = $$0467; + if ($$0458 < $$0457) { + HEAPF64[$6 >> 3] = $$0466; + HEAPF64[$8 >> 3] = $$0465; + HEAPF64[$10 >> 3] = $$0464; + break; + } else { + HEAPF64[$6 >> 3] = $$0463; + HEAPF64[$8 >> 3] = $$0462; + HEAPF64[$10 >> 3] = $$0461; + break; + } + } else if ($$0459 < $$0458) if ($$0459 < $$0457) { + HEAPF64[$0 >> 3] = $$0472; + HEAPF64[$2 >> 3] = $$0471; + HEAPF64[$4 >> 3] = $$0470; + HEAPF64[$6 >> 3] = $$0463; + HEAPF64[$8 >> 3] = $$0462; + HEAPF64[$10 >> 3] = $$0461; + break; + } else { + HEAPF64[$0 >> 3] = $$0469; + HEAPF64[$2 >> 3] = $$0468; + HEAPF64[$4 >> 3] = $$0467; + HEAPF64[$6 >> 3] = $$0463; + HEAPF64[$8 >> 3] = $$0462; + HEAPF64[$10 >> 3] = $$0461; + break; + } else { + HEAPF64[$0 >> 3] = $$0469; + HEAPF64[$2 >> 3] = $$0468; + HEAPF64[$4 >> 3] = $$0467; + if ($$0458 < $$0457) { + HEAPF64[$6 >> 3] = $$0466; + HEAPF64[$8 >> 3] = $$0465; + HEAPF64[$10 >> 3] = $$0464; + break; + } else { + HEAPF64[$6 >> 3] = $$0463; + HEAPF64[$8 >> 3] = $$0462; + HEAPF64[$10 >> 3] = $$0461; + break; + } + } + } + } + } while (0); + return; +} + +function _ar2ReadSurfaceSet($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$093 = 0, $$094 = 0, $$096 = 0, $$1 = 0, $$198 = 0, $$sink = 0, $13 = 0, $15 = 0, $17 = 0, $18 = 0, $20 = 0, $25 = 0, $3 = 0, $30 = 0, $32 = 0, $39 = 0, $4 = 0, $44 = 0, $5 = 0, $51 = 0, $6 = 0, $64 = 0, $73 = 0, $82 = 0, $89 = 0, $96 = 0, $98 = 0, $storemerge = 0, $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer14 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer2 = 0, $vararg_buffer22 = 0, $vararg_buffer24 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer31 = 0, $vararg_buffer34 = 0, $vararg_buffer36 = 0, $vararg_buffer38 = 0, $vararg_buffer41 = 0, $vararg_buffer43 = 0, $vararg_buffer49 = 0, $vararg_buffer5 = 0, $vararg_buffer51 = 0, $vararg_buffer57 = 0, $vararg_buffer59 = 0, $vararg_buffer65 = 0, $vararg_buffer67 = 0, $vararg_buffer9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1248 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(1248); + $vararg_buffer67 = sp + 1232 | 0; + $vararg_buffer65 = sp + 1224 | 0; + $vararg_buffer59 = sp + 1208 | 0; + $vararg_buffer57 = sp + 1200 | 0; + $vararg_buffer51 = sp + 1184 | 0; + $vararg_buffer49 = sp + 1176 | 0; + $vararg_buffer43 = sp + 1160 | 0; + $vararg_buffer41 = sp + 1152 | 0; + $vararg_buffer38 = sp + 1144 | 0; + $vararg_buffer36 = sp + 1136 | 0; + $vararg_buffer34 = sp + 1128 | 0; + $vararg_buffer31 = sp + 1120 | 0; + $vararg_buffer29 = sp + 1112 | 0; + $vararg_buffer27 = sp + 1104 | 0; + $vararg_buffer24 = sp + 1096 | 0; + $vararg_buffer22 = sp + 1088 | 0; + $vararg_buffer19 = sp + 1080 | 0; + $vararg_buffer16 = sp + 1072 | 0; + $vararg_buffer14 = sp + 1064 | 0; + $vararg_buffer11 = sp + 1056 | 0; + $vararg_buffer9 = sp + 1048 | 0; + $vararg_buffer5 = sp + 1040 | 0; + $vararg_buffer2 = sp + 1032 | 0; + $vararg_buffer = sp + 1024 | 0; + $3 = sp + 768 | 0; + $4 = sp + 512 | 0; + $5 = sp + 1236 | 0; + $6 = sp; + do if ((($1 | 0) != 0 ? (HEAP8[$1 >> 0] | 0) != 0 : 0) ? (_strcmp($1, 45135) | 0) != 0 : 0) { + HEAP32[$vararg_buffer >> 2] = $0; + HEAP32[$vararg_buffer + 4 >> 2] = $1; + _sprintf($6, 26699, $vararg_buffer) | 0; + $13 = _fopen($6, 25925) | 0; + if (!$13) { + HEAP32[$vararg_buffer2 >> 2] = $0; + _arLog(0, 3, 25927, $vararg_buffer2); + $15 = ___errno_location() | 0; + $17 = _strerror(HEAP32[$15 >> 2] | 0) | 0; + HEAP32[$vararg_buffer5 >> 2] = 67447; + HEAP32[$vararg_buffer5 + 4 >> 2] = $17; + _arLog(0, 3, 25953, $vararg_buffer5); + $$198 = 0; + break; + } else { + $$096 = $13; + $$1 = 1; + label = 8; + break; + } + } else label = 4; while (0); + if ((label | 0) == 4) { + _strncpy($4, $0, 255) | 0; + HEAP8[$4 + 255 >> 0] = 0; + $$096 = 0; + $$1 = 0; + label = 8; + } + do if ((label | 0) == 8) { + $18 = _malloc(1140) | 0; + if (!$18) { + _arLog(0, 3, 45930, $vararg_buffer9); + _exit(1); + } + $20 = ($$1 | 0) != 0; + if ($20) { + if (!(_get_buff_380($3, $$096) | 0)) { + _fclose($$096) | 0; + _free($18); + $$198 = 0; + break; + } + HEAP32[$vararg_buffer11 >> 2] = $5; + if ((_sscanf($3, 25959, $vararg_buffer11) | 0) != 1) { + _fclose($$096) | 0; + _free($18); + $$198 = 0; + break; + } + $25 = HEAP32[$5 >> 2] | 0; + if (($25 | 0) < 1) { + _fclose($$096) | 0; + _free($18); + $$198 = 0; + break; + } else $$sink = $25; + } else $$sink = 1; + HEAP32[$18 + 4 >> 2] = $$sink; + HEAP32[$18 + 152 >> 2] = 0; + $30 = _malloc($$sink * 112 | 0) | 0; + HEAP32[$18 >> 2] = $30; + if (!$30) { + _arLog(0, 3, 45930, $vararg_buffer14); + _exit(1); + } + $32 = ($2 | 0) == 0; + $storemerge = 0; + L28 : while (1) { + HEAP32[$5 >> 2] = $storemerge; + if (($storemerge | 0) >= ($$sink | 0)) { + label = 57; + break; + } + HEAP32[$vararg_buffer16 >> 2] = $storemerge + 1; + _arLog(0, 1, 25962, $vararg_buffer16); + if ($20) { + if (!(_get_buff_380($3, $$096) | 0)) { + label = 57; + break; + } + HEAP32[$vararg_buffer19 >> 2] = $4; + if ((_sscanf($3, 25986, $vararg_buffer19) | 0) != 1) { + label = 57; + break; + } + _ar2UtilRemoveExt($4) | 0; + } + _arLog(0, 1, 25989, $vararg_buffer22); + $39 = _ar2ReadImageSet($4) | 0; + HEAP32[$30 + ((HEAP32[$5 >> 2] | 0) * 112 | 0) >> 2] = $39; + if (!$39) { + label = 26; + break; + } + _arLog(0, 1, 26038, $vararg_buffer27); + _arLog(0, 1, 26048, $vararg_buffer29); + $44 = _ar2ReadFeatureSet($4, 45135) | 0; + HEAP32[$30 + ((HEAP32[$5 >> 2] | 0) * 112 | 0) + 4 >> 2] = $44; + if (!$44) { + label = 29; + break; + } + _arLog(0, 1, 26038, $vararg_buffer34); + if ($32) HEAP32[$30 + ((HEAP32[$5 >> 2] | 0) * 112 | 0) + 8 >> 2] = 0; else { + _arLog(0, 1, 26099, $vararg_buffer36); + _ar2UtilRemoveExt($4) | 0; + $51 = _ar2ReadMarkerSet($4, 26118, $2) | 0; + HEAP32[$30 + ((HEAP32[$5 >> 2] | 0) * 112 | 0) + 8 >> 2] = $51; + if (!$51) { + label = 33; + break; + } + _arLog(0, 1, 26038, $vararg_buffer41); + } + L43 : do if ($20) { + if (!(_get_buff_380($3, $$096) | 0)) { + label = 57; + break L28; + } + $64 = HEAP32[$5 >> 2] | 0; + HEAP32[$vararg_buffer43 >> 2] = $30 + ($64 * 112 | 0) + 12; + HEAP32[$vararg_buffer43 + 4 >> 2] = $30 + ($64 * 112 | 0) + 16; + HEAP32[$vararg_buffer43 + 8 >> 2] = $30 + ($64 * 112 | 0) + 20; + HEAP32[$vararg_buffer43 + 12 >> 2] = $30 + ($64 * 112 | 0) + 24; + if ((_sscanf($3, 26152, $vararg_buffer43) | 0) != 4) { + label = 40; + break L28; + } + if (!(_get_buff_380($3, $$096) | 0)) { + label = 57; + break L28; + } + $73 = HEAP32[$5 >> 2] | 0; + HEAP32[$vararg_buffer51 >> 2] = $30 + ($73 * 112 | 0) + 28; + HEAP32[$vararg_buffer51 + 4 >> 2] = $30 + ($73 * 112 | 0) + 32; + HEAP32[$vararg_buffer51 + 8 >> 2] = $30 + ($73 * 112 | 0) + 36; + HEAP32[$vararg_buffer51 + 12 >> 2] = $30 + ($73 * 112 | 0) + 40; + if ((_sscanf($3, 26152, $vararg_buffer51) | 0) != 4) { + label = 43; + break L28; + } + if (!(_get_buff_380($3, $$096) | 0)) { + label = 57; + break L28; + } + $82 = HEAP32[$5 >> 2] | 0; + HEAP32[$vararg_buffer59 >> 2] = $30 + ($82 * 112 | 0) + 44; + HEAP32[$vararg_buffer59 + 4 >> 2] = $30 + ($82 * 112 | 0) + 48; + HEAP32[$vararg_buffer59 + 8 >> 2] = $30 + ($82 * 112 | 0) + 52; + HEAP32[$vararg_buffer59 + 12 >> 2] = $30 + ($82 * 112 | 0) + 56; + if ((_sscanf($3, 26152, $vararg_buffer59) | 0) != 4) { + label = 47; + break L28; + } + $96 = HEAP32[$5 >> 2] | 0; + } else { + $89 = HEAP32[$5 >> 2] | 0; + $$094 = 0; + while (1) { + if (($$094 | 0) == 3) { + $96 = $89; + break L43; + } + $$093 = 0; + while (1) { + if (($$093 | 0) == 4) break; + HEAPF32[$30 + ($89 * 112 | 0) + 12 + ($$094 << 4) + ($$093 << 2) >> 2] = ($$094 | 0) == ($$093 | 0) ? 1.0 : 0.0; + $$093 = $$093 + 1 | 0; + } + $$094 = $$094 + 1 | 0; + } + } while (0); + _arUtilMatInvf($30 + ($96 * 112 | 0) + 12 | 0, $30 + ($96 * 112 | 0) + 60 | 0) | 0; + _ar2UtilReplaceExt($4, 256, 26200) | 0; + $98 = _malloc(256) | 0; + HEAP32[$30 + ((HEAP32[$5 >> 2] | 0) * 112 | 0) + 108 >> 2] = $98; + if (!$98) { + label = 55; + break; + } + _strncpy($98, $4, 256) | 0; + $storemerge = (HEAP32[$5 >> 2] | 0) + 1 | 0; + } + if ((label | 0) == 26) { + HEAP32[$vararg_buffer24 >> 2] = $4; + _arLog(0, 3, 26007, $vararg_buffer24); + _free($30); + _free($18); + if (!$$096) { + $$198 = 0; + break; + } + _fclose($$096) | 0; + $$198 = 0; + break; + } else if ((label | 0) == 29) { + HEAP32[$vararg_buffer31 >> 2] = $4; + _arLog(0, 3, 26068, $vararg_buffer31); + _ar2FreeImageSet($30 + ((HEAP32[$5 >> 2] | 0) * 112 | 0) | 0) | 0; + _free($30); + _free($18); + if (!$$096) { + $$198 = 0; + break; + } + _fclose($$096) | 0; + $$198 = 0; + break; + } else if ((label | 0) == 33) { + HEAP32[$vararg_buffer38 >> 2] = $4; + _arLog(0, 3, 26122, $vararg_buffer38); + _ar2FreeFeatureSet($30 + ((HEAP32[$5 >> 2] | 0) * 112 | 0) + 4 | 0) | 0; + _ar2FreeImageSet($30 + ((HEAP32[$5 >> 2] | 0) * 112 | 0) | 0) | 0; + _free($30); + _free($18); + if (!$$096) { + $$198 = 0; + break; + } + _fclose($$096) | 0; + $$198 = 0; + break; + } else if ((label | 0) == 40) { + _arLog(0, 3, 26164, $vararg_buffer49); + _fclose($$096) | 0; + _exit(0); + } else if ((label | 0) == 43) { + _arLog(0, 3, 26164, $vararg_buffer57); + _fclose($$096) | 0; + _exit(0); + } else if ((label | 0) == 47) { + _arLog(0, 3, 26164, $vararg_buffer65); + _fclose($$096) | 0; + _exit(0); + } else if ((label | 0) == 55) { + _arLog(0, 3, 45930, $vararg_buffer67); + _exit(1); + } else if ((label | 0) == 57) { + if ($$096 | 0) _fclose($$096) | 0; + if ((HEAP32[$5 >> 2] | 0) >= ($$sink | 0)) { + $$198 = $18; + break; + } + _exit(0); + } + } while (0); + STACKTOP = sp; + return $$198 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseNestedNameEPNS5_9NameStateE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$3 = 0, $$4 = 0, $$byval_copy = 0, $13 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $32 = 0, $36 = 0, $37 = 0, $4 = 0, $47 = 0, $5 = 0, $53 = 0, $58 = 0, $60 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $$byval_copy = sp + 32 | 0; + $2 = sp + 20 | 0; + $3 = sp + 24 | 0; + $4 = sp + 8 | 0; + $5 = sp; + HEAP32[$2 >> 2] = $1; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 78) | 0) { + $7 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E17parseCVQualifiersEv($0) | 0; + $8 = ($1 | 0) == 0; + if (!$8) HEAP32[$1 + 4 >> 2] = $7; + do if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 79) | 0) { + if (!$8) HEAP8[$1 + 8 >> 0] = 2; + } else { + $13 = ($1 | 0) != 0; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 82) | 0) { + if (!$13) break; + HEAP8[$1 + 8 >> 0] = 1; + break; + } else { + if (!$13) break; + HEAP8[$1 + 8 >> 0] = 0; + break; + } + } while (0); + HEAP32[$3 >> 2] = 0; + HEAP32[$4 >> 2] = $0; + HEAP32[$4 + 4 >> 2] = $3; + HEAP32[$4 + 8 >> 2] = $2; + __ZN12_GLOBAL__N_110StringViewC2EPKc($5, 55118); + HEAP32[$$byval_copy >> 2] = HEAP32[$5 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$5 + 4 >> 2]; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy) | 0) { + $19 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA4_KcEEEPNS0_4NodeEDpOT0_($0, 55436) | 0; + HEAP32[$3 >> 2] = $19; + } + $20 = $0 + 148 | 0; + L19 : while (1) { + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 69) | 0) { + label = 41; + break; + } + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 76) | 0; + L22 : do if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 77) | 0) { + if (!(HEAP32[$3 >> 2] | 0)) { + $$3 = 0; + break L19; + } + } else { + L25 : do switch ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 0) | 0) << 24 >> 24) { + case 84: + { + if (!(__ZZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseNestedNameEPNS5_9NameStateEENKUlPNS0_4NodeEE_clES9_($4, __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E18parseTemplateParamEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0) | 0)) { + $$3 = 0; + break L19; + } + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE9push_backERKS3_($20, $3); + break L22; + break; + } + case 73: + { + $32 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E17parseTemplateArgsEb(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0, (HEAP32[$2 >> 2] | 0) != 0) | 0; + HEAP32[$$byval_copy >> 2] = $32; + if (($32 | 0) == 0 | (HEAP32[$3 >> 2] | 0) == 0) { + label = 26; + break L19; + } + $36 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_20NameWithTemplateArgsEJRPNS0_4NodeESA_EEES9_DpOT0_($0, $3, $$byval_copy) | 0; + HEAP32[$3 >> 2] = $36; + $37 = HEAP32[$2 >> 2] | 0; + if ($37 | 0) HEAP8[$37 + 1 >> 0] = 1; + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE9push_backERKS3_($20, $3); + break L22; + break; + } + case 68: + { + switch ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 1) | 0) << 24 >> 24) { + case 67: + { + label = 39; + break L25; + break; + } + case 84: + case 116: + break; + default: + break L25; + } + if (!(__ZZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseNestedNameEPNS5_9NameStateEENKUlPNS0_4NodeEE_clES9_($4, __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E13parseDecltypeEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0) | 0)) { + $$3 = 0; + break L19; + } + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE9push_backERKS3_($20, $3); + break L22; + break; + } + case 83: + { + if ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 1) | 0) << 24 >> 24 == 116) label = 39; else { + $47 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E17parseSubstitutionEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$$byval_copy >> 2] = $47; + if (!(__ZZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseNestedNameEPNS5_9NameStateEENKUlPNS0_4NodeEE_clES9_($4, $47) | 0)) { + label = 44; + break L19; + } + if ((HEAP32[$3 >> 2] | 0) != ($47 | 0)) __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE9push_backERKS3_($20, $$byval_copy); + break L22; + } + break; + } + case 67: + break; + default: + label = 39; + } while (0); + if ((label | 0) == 39) { + label = 0; + $60 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + if (!(__ZZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseNestedNameEPNS5_9NameStateEENKUlPNS0_4NodeEE_clES9_($4, __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E20parseUnqualifiedNameEPNS5_9NameStateE($60, HEAP32[$2 >> 2] | 0) | 0) | 0)) { + $$3 = 0; + break L19; + } + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE9push_backERKS3_($20, $3); + break; + } + if (!(HEAP32[$3 >> 2] | 0)) { + $$3 = 0; + break L19; + } + $53 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + if (!(__ZZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseNestedNameEPNS5_9NameStateEENKUlPNS0_4NodeEE_clES9_($4, __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E17parseCtorDtorNameERPNS0_4NodeEPNS5_9NameStateE($53, $3, HEAP32[$2 >> 2] | 0) | 0) | 0)) { + $$3 = 0; + break L19; + } + $58 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E12parseAbiTagsEPNS0_4NodeE($53, HEAP32[$3 >> 2] | 0) | 0; + HEAP32[$3 >> 2] = $58; + if (!$58) { + $$3 = 0; + break L19; + } + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE9push_backERKS3_($20, $3); + } while (0); + } + if ((label | 0) == 26) $$3 = 0; else if ((label | 0) == 41) if ((HEAP32[$3 >> 2] | 0) != 0 ? !(__ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE5emptyEv($20) | 0) : 0) { + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE8pop_backEv($20); + $$3 = HEAP32[$3 >> 2] | 0; + } else $$3 = 0; else if ((label | 0) == 44) $$3 = 0; + $$4 = $$3; + } else $$4 = 0; + STACKTOP = sp; + return $$4 | 0; +} + +function _get_sof($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0, $$0192 = 0, $$0193 = 0, $$0205$lcssa = 0, $$0205222 = 0, $$0208219 = 0, $$0211218 = 0, $$0213229 = 0, $$1 = 0, $$10 = 0, $$10203 = 0, $$11 = 0, $$11204 = 0, $$1194 = 0, $$1209$lcssa = 0, $$1209220 = 0, $$1209223 = 0, $$1212221 = 0, $$2 = 0, $$2195 = 0, $$2207 = 0, $$2210 = 0, $$3 = 0, $$3196 = 0, $$4 = 0, $$4197 = 0, $$5 = 0, $$5198 = 0, $$6 = 0, $$6199 = 0, $$7 = 0, $$7200 = 0, $$8 = 0, $$8$lcssa = 0, $$8201 = 0, $$8201$lcssa = 0, $$8201228 = 0, $$8201234 = 0, $$8227 = 0, $$8233 = 0, $$9 = 0, $$9202 = 0, $109 = 0, $110 = 0, $111 = 0, $124 = 0, $129 = 0, $136 = 0, $138 = 0, $142 = 0, $144 = 0, $147 = 0, $155 = 0, $158 = 0, $165 = 0, $166 = 0, $168 = 0, $169 = 0, $173 = 0, $175 = 0, $180 = 0, $189 = 0, $19 = 0, $190 = 0, $192 = 0, $194 = 0, $196 = 0, $20 = 0, $205 = 0, $206 = 0, $23 = 0, $31 = 0, $32 = 0, $35 = 0, $43 = 0, $44 = 0, $5 = 0, $55 = 0, $56 = 0, $59 = 0, $6 = 0, $60 = 0, $68 = 0, $69 = 0, $7 = 0, $73 = 0, $8 = 0, $81 = 0, $82 = 0, $85 = 0, $86 = 0, $94 = 0, $95 = 0, $99 = 0, label = 0; + $5 = HEAP32[$0 + 24 >> 2] | 0; + $6 = HEAP32[$5 >> 2] | 0; + $7 = $5 + 4 | 0; + $8 = HEAP32[$7 >> 2] | 0; + HEAP32[$0 + 220 >> 2] = $1; + HEAP32[$0 + 224 >> 2] = $2; + HEAP32[$0 + 228 >> 2] = $3; + do if (!$8) if (!(FUNCTION_TABLE_ii[HEAP32[$5 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + return $$0 | 0; + } else { + $$0192 = HEAP32[$7 >> 2] | 0; + $$0193 = HEAP32[$5 >> 2] | 0; + break; + } else { + $$0192 = $8; + $$0193 = $6; + } while (0); + $19 = $$0192 + -1 | 0; + $20 = $$0193 + 1 | 0; + $23 = (HEAPU8[$$0193 >> 0] | 0) << 8; + do if (!$19) if (!(FUNCTION_TABLE_ii[HEAP32[$5 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + return $$0 | 0; + } else { + $$1 = HEAP32[$7 >> 2] | 0; + $$1194 = HEAP32[$5 >> 2] | 0; + break; + } else { + $$1 = $19; + $$1194 = $20; + } while (0); + $31 = $$1 + -1 | 0; + $32 = $$1194 + 1 | 0; + $35 = $23 | (HEAPU8[$$1194 >> 0] | 0); + do if (!$31) if (!(FUNCTION_TABLE_ii[HEAP32[$5 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + return $$0 | 0; + } else { + $$2 = HEAP32[$7 >> 2] | 0; + $$2195 = HEAP32[$5 >> 2] | 0; + break; + } else { + $$2 = $31; + $$2195 = $32; + } while (0); + $43 = $$2 + -1 | 0; + $44 = $$2195 + 1 | 0; + HEAP32[$0 + 212 >> 2] = HEAPU8[$$2195 >> 0]; + do if (!$43) if (!(FUNCTION_TABLE_ii[HEAP32[$5 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + return $$0 | 0; + } else { + $$3 = HEAP32[$7 >> 2] | 0; + $$3196 = HEAP32[$5 >> 2] | 0; + break; + } else { + $$3 = $43; + $$3196 = $44; + } while (0); + $55 = $$3 + -1 | 0; + $56 = $$3196 + 1 | 0; + $59 = (HEAPU8[$$3196 >> 0] | 0) << 8; + $60 = $0 + 32 | 0; + HEAP32[$60 >> 2] = $59; + do if (!$55) if (!(FUNCTION_TABLE_ii[HEAP32[$5 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + return $$0 | 0; + } else { + $$4 = HEAP32[$7 >> 2] | 0; + $$4197 = HEAP32[$5 >> 2] | 0; + $73 = HEAP32[$60 >> 2] | 0; + break; + } else { + $$4 = $55; + $$4197 = $56; + $73 = $59; + } while (0); + $68 = $$4 + -1 | 0; + $69 = $$4197 + 1 | 0; + HEAP32[$60 >> 2] = $73 + (HEAPU8[$$4197 >> 0] | 0); + do if (!$68) if (!(FUNCTION_TABLE_ii[HEAP32[$5 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + return $$0 | 0; + } else { + $$5 = HEAP32[$7 >> 2] | 0; + $$5198 = HEAP32[$5 >> 2] | 0; + break; + } else { + $$5 = $68; + $$5198 = $69; + } while (0); + $81 = $$5 + -1 | 0; + $82 = $$5198 + 1 | 0; + $85 = (HEAPU8[$$5198 >> 0] | 0) << 8; + $86 = $0 + 28 | 0; + HEAP32[$86 >> 2] = $85; + do if (!$81) if (!(FUNCTION_TABLE_ii[HEAP32[$5 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + return $$0 | 0; + } else { + $$6 = HEAP32[$7 >> 2] | 0; + $$6199 = HEAP32[$5 >> 2] | 0; + $99 = HEAP32[$86 >> 2] | 0; + break; + } else { + $$6 = $81; + $$6199 = $82; + $99 = $85; + } while (0); + $94 = $$6 + -1 | 0; + $95 = $$6199 + 1 | 0; + HEAP32[$86 >> 2] = $99 + (HEAPU8[$$6199 >> 0] | 0); + do if (!$94) if (!(FUNCTION_TABLE_ii[HEAP32[$5 + 12 >> 2] & 127]($0) | 0)) { + $$0 = 0; + return $$0 | 0; + } else { + $$7 = HEAP32[$7 >> 2] | 0; + $$7200 = HEAP32[$5 >> 2] | 0; + break; + } else { + $$7 = $94; + $$7200 = $95; + } while (0); + $109 = $0 + 36 | 0; + HEAP32[$109 >> 2] = HEAPU8[$$7200 >> 0]; + $110 = $35 + -8 | 0; + $111 = HEAP32[$0 >> 2] | 0; + HEAP32[$111 + 24 >> 2] = HEAP32[$0 + 440 >> 2]; + HEAP32[$111 + 28 >> 2] = HEAP32[$86 >> 2]; + HEAP32[$111 + 32 >> 2] = HEAP32[$60 >> 2]; + HEAP32[$111 + 36 >> 2] = HEAP32[$109 >> 2]; + HEAP32[$111 + 20 >> 2] = 102; + FUNCTION_TABLE_vii[HEAP32[$111 + 4 >> 2] & 255]($0, 1); + $124 = $0 + 464 | 0; + if (HEAP32[(HEAP32[$124 >> 2] | 0) + 16 >> 2] | 0) { + $129 = HEAP32[$0 >> 2] | 0; + HEAP32[$129 + 20 >> 2] = 61; + FUNCTION_TABLE_vi[HEAP32[$129 >> 2] & 255]($0); + } + if (((HEAP32[$60 >> 2] | 0) != 0 ? (HEAP32[$86 >> 2] | 0) != 0 : 0) ? ($136 = HEAP32[$109 >> 2] | 0, ($136 | 0) >= 1) : 0) $142 = $136; else { + $138 = HEAP32[$0 >> 2] | 0; + HEAP32[$138 + 20 >> 2] = 33; + FUNCTION_TABLE_vi[HEAP32[$138 >> 2] & 255]($0); + $142 = HEAP32[$109 >> 2] | 0; + } + if (($110 | 0) != ($142 * 3 | 0)) { + $144 = HEAP32[$0 >> 2] | 0; + HEAP32[$144 + 20 >> 2] = 12; + FUNCTION_TABLE_vi[HEAP32[$144 >> 2] & 255]($0); + } + $147 = $0 + 216 | 0; + if (!(HEAP32[$147 >> 2] | 0)) { + $155 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$0 + 4 >> 2] >> 2] & 63]($0, 1, (HEAP32[$109 >> 2] | 0) * 88 | 0) | 0; + HEAP32[$147 >> 2] = $155; + } + $$8227 = $$7 + -1 | 0; + $$8201228 = $$7200 + 1 | 0; + L64 : do if ((HEAP32[$109 >> 2] | 0) > 0) { + $158 = $5 + 12 | 0; + $$0213229 = 0; + $$8201234 = $$8201228; + $$8233 = $$8227; + while (1) { + if (!$$8233) { + if (!(FUNCTION_TABLE_ii[HEAP32[$158 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 57; + break; + } + $$9 = HEAP32[$7 >> 2] | 0; + $$9202 = HEAP32[$5 >> 2] | 0; + } else { + $$9 = $$8233; + $$9202 = $$8201234; + } + $165 = $$9 + -1 | 0; + $166 = $$9202 + 1 | 0; + $168 = HEAPU8[$$9202 >> 0] | 0; + $169 = HEAP32[$147 >> 2] | 0; + L72 : do if (!$$0213229) { + $$2207 = $168; + $$2210 = $169; + } else { + $$0208219 = $169; + $$0211218 = 0; + while (1) { + if ((HEAP32[$$0208219 >> 2] | 0) == ($168 | 0)) break; + $$0211218 = $$0211218 + 1 | 0; + $180 = $$0208219 + 88 | 0; + if ($$0211218 >>> 0 >= $$0213229 >>> 0) { + $$2207 = $168; + $$2210 = $180; + break L72; + } else $$0208219 = $180; + } + $173 = HEAP32[$169 >> 2] | 0; + $$1209220 = $169 + 88 | 0; + if ($$0213229 >>> 0 > 1) { + $$0205222 = $173; + $$1209223 = $$1209220; + $$1212221 = 1; + while (1) { + $175 = HEAP32[$$1209223 >> 2] | 0; + $$0205222 = ($175 | 0) > ($$0205222 | 0) ? $175 : $$0205222; + $$1212221 = $$1212221 + 1 | 0; + if (($$1212221 | 0) == ($$0213229 | 0)) break; else $$1209223 = $$1209223 + 88 | 0; + } + $$0205$lcssa = $$0205222; + $$1209$lcssa = $169 + ($$0213229 * 88 | 0) | 0; + } else { + $$0205$lcssa = $173; + $$1209$lcssa = $$1209220; + } + $$2207 = $$0205$lcssa + 1 | 0; + $$2210 = $$1209$lcssa; + } while (0); + HEAP32[$$2210 >> 2] = $$2207; + HEAP32[$$2210 + 4 >> 2] = $$0213229; + if (!$165) { + if (!(FUNCTION_TABLE_ii[HEAP32[$158 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 57; + break; + } + $$10 = HEAP32[$7 >> 2] | 0; + $$10203 = HEAP32[$5 >> 2] | 0; + } else { + $$10 = $165; + $$10203 = $166; + } + $189 = $$10 + -1 | 0; + $190 = $$10203 + 1 | 0; + $192 = HEAPU8[$$10203 >> 0] | 0; + $194 = $$2210 + 8 | 0; + HEAP32[$194 >> 2] = $192 >>> 4; + $196 = $$2210 + 12 | 0; + HEAP32[$196 >> 2] = $192 & 15; + if (!$189) { + if (!(FUNCTION_TABLE_ii[HEAP32[$158 >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 57; + break; + } + $$11 = HEAP32[$7 >> 2] | 0; + $$11204 = HEAP32[$5 >> 2] | 0; + } else { + $$11 = $189; + $$11204 = $190; + } + $205 = $$2210 + 16 | 0; + HEAP32[$205 >> 2] = HEAPU8[$$11204 >> 0]; + $206 = HEAP32[$0 >> 2] | 0; + HEAP32[$206 + 24 >> 2] = HEAP32[$$2210 >> 2]; + HEAP32[$206 + 28 >> 2] = HEAP32[$194 >> 2]; + HEAP32[$206 + 32 >> 2] = HEAP32[$196 >> 2]; + HEAP32[$206 + 36 >> 2] = HEAP32[$205 >> 2]; + HEAP32[$206 + 20 >> 2] = 103; + FUNCTION_TABLE_vii[HEAP32[$206 + 4 >> 2] & 255]($0, 1); + $$0213229 = $$0213229 + 1 | 0; + $$8 = $$11 + -1 | 0; + $$8201 = $$11204 + 1 | 0; + if (($$0213229 | 0) >= (HEAP32[$109 >> 2] | 0)) { + $$8$lcssa = $$8; + $$8201$lcssa = $$8201; + break L64; + } else { + $$8201234 = $$8201; + $$8233 = $$8; + } + } + if ((label | 0) == 57) return $$0 | 0; + } else { + $$8$lcssa = $$8227; + $$8201$lcssa = $$8201228; + } while (0); + HEAP32[(HEAP32[$124 >> 2] | 0) + 16 >> 2] = 1; + HEAP32[$5 >> 2] = $$8201$lcssa; + HEAP32[$7 >> 2] = $$8$lcssa; + $$0 = 1; + return $$0 | 0; +} + +function __ZN6vision32ComputeSubpixelHessianSameOctaveEPfS0_RKNS_5ImageES3_S3_ii($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 $10 = 0, $101 = 0, $105 = 0, $106 = 0, $11 = 0, $114 = 0, $119 = 0, $12 = 0, $123 = 0, $125 = 0, $127 = 0, $129 = 0, $131 = 0, $133 = 0, $135 = 0, $137 = 0, $138 = 0.0, $139 = 0.0, $145 = 0.0, $157 = 0.0, $165 = 0.0, $167 = 0, $22 = 0, $27 = 0, $31 = 0, $32 = 0, $34 = 0, $42 = 0, $47 = 0, $51 = 0, $52 = 0, $60 = 0, $65 = 0, $69 = 0, $7 = 0, $70 = 0, $78 = 0, $8 = 0, $83 = 0, $87 = 0, $88 = 0, $9 = 0, $96 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $7 = sp + 20 | 0; + $8 = sp + 16 | 0; + $9 = sp + 12 | 0; + $10 = sp + 8 | 0; + $11 = sp + 4 | 0; + $12 = sp; + if (($5 | 0) > 0 ? ($5 + 1 | 0) >>> 0 < (__ZNK6vision5Image5widthEv($3) | 0) >>> 0 : 0) { + $32 = $6 + -1 | 0; + if (($6 | 0) > 0 ? ($34 = $6 + 1 | 0, $34 >>> 0 < (__ZNK6vision5Image6heightEv($3) | 0) >>> 0) : 0) { + $52 = __ZNK6vision5Image5widthEv($2) | 0; + if (($52 | 0) != (__ZNK6vision5Image5widthEv($3) | 0)) { + $60 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 30218) | 0, 28600) | 0, 39072) | 0, 311) | 0, 39079) | 0, 29150) | 0; + __ZNKSt3__28ios_base6getlocEv($7, $60 + (HEAP32[(HEAP32[$60 >> 2] | 0) + -12 >> 2] | 0) | 0); + $65 = __ZNKSt3__26locale9use_facetERNS0_2idE($7, 66512) | 0; + $69 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$65 >> 2] | 0) + 28 >> 2] & 127]($65, 10) | 0; + __ZNSt3__26localeD2Ev($7); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($60, $69) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($60) | 0; + _abort(); + } + $70 = __ZNK6vision5Image5widthEv($2) | 0; + if (($70 | 0) != (__ZNK6vision5Image5widthEv($4) | 0)) { + $78 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 30617) | 0, 28600) | 0, 39072) | 0, 312) | 0, 39079) | 0, 29150) | 0; + __ZNKSt3__28ios_base6getlocEv($7, $78 + (HEAP32[(HEAP32[$78 >> 2] | 0) + -12 >> 2] | 0) | 0); + $83 = __ZNKSt3__26locale9use_facetERNS0_2idE($7, 66512) | 0; + $87 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$83 >> 2] | 0) + 28 >> 2] & 127]($83, 10) | 0; + __ZNSt3__26localeD2Ev($7); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($78, $87) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($78) | 0; + _abort(); + } + $88 = __ZNK6vision5Image6heightEv($2) | 0; + if (($88 | 0) != (__ZNK6vision5Image6heightEv($3) | 0)) { + $96 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 30270) | 0, 28600) | 0, 39072) | 0, 313) | 0, 39079) | 0, 29150) | 0; + __ZNKSt3__28ios_base6getlocEv($7, $96 + (HEAP32[(HEAP32[$96 >> 2] | 0) + -12 >> 2] | 0) | 0); + $101 = __ZNKSt3__26locale9use_facetERNS0_2idE($7, 66512) | 0; + $105 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$101 >> 2] | 0) + 28 >> 2] & 127]($101, 10) | 0; + __ZNSt3__26localeD2Ev($7); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($96, $105) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($96) | 0; + _abort(); + } + $106 = __ZNK6vision5Image6heightEv($2) | 0; + if (($106 | 0) == (__ZNK6vision5Image6heightEv($4) | 0)) { + $125 = (__ZNK6vision5Image3getIfEEPKT_m($2, $32) | 0) + ($5 << 2) | 0; + $127 = (__ZNK6vision5Image3getIfEEPKT_m($2, $6) | 0) + ($5 << 2) | 0; + $129 = (__ZNK6vision5Image3getIfEEPKT_m($2, $34) | 0) + ($5 << 2) | 0; + $131 = (__ZNK6vision5Image3getIfEEPKT_m($3, $6) | 0) + ($5 << 2) | 0; + $133 = (__ZNK6vision5Image3getIfEEPKT_m($4, $32) | 0) + ($5 << 2) | 0; + $135 = (__ZNK6vision5Image3getIfEEPKT_m($4, $6) | 0) + ($5 << 2) | 0; + $137 = (__ZNK6vision5Image3getIfEEPKT_m($4, $34) | 0) + ($5 << 2) | 0; + __ZN6vision26ComputeSubpixelDerivativesERfS0_S0_S0_S0_RKNS_5ImageEii($8, $9, $10, $11, $12, $3, $5, $6); + $138 = +HEAPF32[$135 >> 2]; + $139 = +HEAPF32[$127 >> 2]; + $145 = $138 + ($139 - +HEAPF32[$131 >> 2] * 2.0); + $157 = (+HEAPF32[$127 + -4 >> 2] - +HEAPF32[$127 + 4 >> 2] + (+HEAPF32[$135 + 4 >> 2] - +HEAPF32[$135 + -4 >> 2])) * .25; + $165 = (+HEAPF32[$125 >> 2] - +HEAPF32[$129 >> 2] + (+HEAPF32[$137 >> 2] - +HEAPF32[$133 >> 2])) * .25; + HEAP32[$0 >> 2] = HEAP32[$10 >> 2]; + $167 = HEAP32[$12 >> 2] | 0; + HEAP32[$0 + 4 >> 2] = $167; + HEAPF32[$0 + 8 >> 2] = $157; + HEAP32[$0 + 12 >> 2] = $167; + HEAP32[$0 + 16 >> 2] = HEAP32[$11 >> 2]; + HEAPF32[$0 + 20 >> 2] = $165; + HEAPF32[$0 + 24 >> 2] = $157; + HEAPF32[$0 + 28 >> 2] = $165; + HEAPF32[$0 + 32 >> 2] = $145; + HEAPF32[$1 >> 2] = -+HEAPF32[$8 >> 2]; + HEAPF32[$1 + 4 >> 2] = -+HEAPF32[$9 >> 2]; + HEAPF32[$1 + 8 >> 2] = -(($138 - $139) * .5); + STACKTOP = sp; + return; + } else { + $114 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 30669) | 0, 28600) | 0, 39072) | 0, 314) | 0, 39079) | 0, 29150) | 0; + __ZNKSt3__28ios_base6getlocEv($7, $114 + (HEAP32[(HEAP32[$114 >> 2] | 0) + -12 >> 2] | 0) | 0); + $119 = __ZNKSt3__26locale9use_facetERNS0_2idE($7, 66512) | 0; + $123 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$119 >> 2] | 0) + 28 >> 2] & 127]($119, 10) | 0; + __ZNSt3__26localeD2Ev($7); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($114, $123) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($114) | 0; + _abort(); + } + } + $42 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 29018) | 0, 28600) | 0, 39072) | 0, 310) | 0, 39079) | 0, 29077) | 0; + __ZNKSt3__28ios_base6getlocEv($7, $42 + (HEAP32[(HEAP32[$42 >> 2] | 0) + -12 >> 2] | 0) | 0); + $47 = __ZNKSt3__26locale9use_facetERNS0_2idE($7, 66512) | 0; + $51 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$47 >> 2] | 0) + 28 >> 2] & 127]($47, 10) | 0; + __ZNSt3__26localeD2Ev($7); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($42, $51) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($42) | 0; + _abort(); + } + $22 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 28944) | 0, 28600) | 0, 39072) | 0, 309) | 0, 39079) | 0, 29002) | 0; + __ZNKSt3__28ios_base6getlocEv($7, $22 + (HEAP32[(HEAP32[$22 >> 2] | 0) + -12 >> 2] | 0) | 0); + $27 = __ZNKSt3__26locale9use_facetERNS0_2idE($7, 66512) | 0; + $31 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$27 >> 2] | 0) + 28 >> 2] & 127]($27, 10) | 0; + __ZNSt3__26localeD2Ev($7); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($22, $31) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($22) | 0; + _abort(); +} + +function _start_pass_huff_decoder($0) { + $0 = $0 | 0; + var $$0242284 = 0, $$0243291 = 0, $$0295 = 0, $$1287 = 0, $$2285 = 0, $$off = 0, $$off251 = 0, $$off252 = 0, $$off253 = 0, $$off254 = 0, $$off255 = 0, $$off256 = 0, $$off257 = 0, $$off258 = 0, $$off259 = 0, $$off262 = 0, $$off263 = 0, $$pre$phi308Z2D = 0, $$sink = 0, $10 = 0, $100 = 0, $102 = 0, $106 = 0, $109 = 0, $110 = 0, $113 = 0, $127 = 0, $132 = 0, $136 = 0, $140 = 0, $144 = 0, $146 = 0, $151 = 0, $157 = 0, $163 = 0, $178 = 0, $180 = 0, $2 = 0, $20 = 0, $22 = 0, $235 = 0, $236 = 0, $237 = 0, $238 = 0, $239 = 0, $240 = 0, $27 = 0, $28 = 0, $44 = 0, $45 = 0, $47 = 0, $48 = 0, $49 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $60 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $76 = 0, $8 = 0, $89 = 0, $9 = 0, $93 = 0, $94 = 0, $97 = 0, $98 = 0, label = 0; + $2 = HEAP32[$0 + 468 >> 2] | 0; + $6 = $0 + 412 | 0; + $7 = HEAP32[$6 >> 2] | 0; + $8 = ($7 | 0) == 0; + if (!(HEAP32[$0 + 224 >> 2] | 0)) { + if (($8 ? (HEAP32[$0 + 420 >> 2] | 0) == 0 : 0) ? (HEAP32[$0 + 424 >> 2] | 0) == 0 : 0) { + $127 = HEAP32[$0 + 416 >> 2] | 0; + if ((HEAP32[$0 + 220 >> 2] | 0) != 0 | ($127 | 0) < 64 ? ($127 | 0) != (HEAP32[$0 + 436 >> 2] | 0) : 0) label = 38; + } else label = 38; + if ((label | 0) == 38) { + $132 = HEAP32[$0 >> 2] | 0; + HEAP32[$132 + 20 >> 2] = 125; + FUNCTION_TABLE_vii[HEAP32[$132 + 4 >> 2] & 255]($0, -1); + } + $136 = $0 + 436 | 0; + HEAP32[$2 + 4 >> 2] = (HEAP32[$136 >> 2] | 0) == 63 ? 64 : 65; + $140 = $0 + 340 | 0; + if ((HEAP32[$140 >> 2] | 0) > 0) { + $$2285 = 0; + do { + $144 = HEAP32[$0 + 344 + ($$2285 << 2) >> 2] | 0; + $146 = HEAP32[$144 + 20 >> 2] | 0; + _jpeg_make_d_derived_tbl($0, 1, $146, $2 + 68 + ($146 << 2) | 0); + if (HEAP32[$136 >> 2] | 0) { + $151 = HEAP32[$144 + 24 >> 2] | 0; + _jpeg_make_d_derived_tbl($0, 0, $151, $2 + 84 + ($151 << 2) | 0); + } + HEAP32[$2 + 24 + ($$2285 << 2) >> 2] = 0; + $$2285 = $$2285 + 1 | 0; + } while (($$2285 | 0) < (HEAP32[$140 >> 2] | 0)); + } + $157 = $0 + 368 | 0; + if ((HEAP32[$157 >> 2] | 0) <= 0) { + $235 = $2 + 16 | 0; + HEAP32[$235 >> 2] = 0; + $236 = $2 + 12 | 0; + HEAP32[$236 >> 2] = 0; + $237 = $2 + 40 | 0; + HEAP32[$237 >> 2] = 0; + $238 = $0 + 280 | 0; + $239 = HEAP32[$238 >> 2] | 0; + $240 = $2 + 44 | 0; + HEAP32[$240 >> 2] = $239; + return; + } + $$0242284 = 0; + do { + $163 = HEAP32[$0 + 344 + (HEAP32[$0 + 372 + ($$0242284 << 2) >> 2] << 2) >> 2] | 0; + HEAP32[$2 + 100 + ($$0242284 << 2) >> 2] = HEAP32[$2 + 68 + (HEAP32[$163 + 20 >> 2] << 2) >> 2]; + HEAP32[$2 + 140 + ($$0242284 << 2) >> 2] = HEAP32[$2 + 84 + (HEAP32[$163 + 24 >> 2] << 2) >> 2]; + L24 : do if (!(HEAP32[$163 + 52 >> 2] | 0)) $$sink = 0; else { + $178 = HEAP32[$163 + 40 >> 2] | 0; + $180 = HEAP32[$163 + 36 >> 2] | 0; + switch (HEAP32[$136 >> 2] | 0) { + case 0: + { + $$sink = 1; + break L24; + break; + } + case 3: + { + $$sink = (HEAP32[4336 + ((($178 | 0) != 1 & 1) << 3) + ((($180 | 0) != 1 & 1) << 2) >> 2] | 0) + 1 | 0; + break L24; + break; + } + case 8: + { + $$off258 = $178 + -1 | 0; + $$off259 = $180 + -1 | 0; + $$sink = (HEAP32[4352 + (($$off258 >>> 0 < 2 ? $$off258 : 2) * 12 | 0) + (($$off259 >>> 0 < 2 ? $$off259 : 2) << 2) >> 2] | 0) + 1 | 0; + break L24; + break; + } + case 15: + { + $$off256 = $178 + -1 | 0; + $$off257 = $180 + -1 | 0; + $$sink = (HEAP32[4400 + (($$off256 >>> 0 < 3 ? $$off256 : 3) << 4) + (($$off257 >>> 0 < 3 ? $$off257 : 3) << 2) >> 2] | 0) + 1 | 0; + break L24; + break; + } + case 24: + { + $$off254 = $178 + -1 | 0; + $$off255 = $180 + -1 | 0; + $$sink = (HEAP32[4464 + (($$off254 >>> 0 < 4 ? $$off254 : 4) * 20 | 0) + (($$off255 >>> 0 < 4 ? $$off255 : 4) << 2) >> 2] | 0) + 1 | 0; + break L24; + break; + } + case 35: + { + $$off252 = $178 + -1 | 0; + $$off253 = $180 + -1 | 0; + $$sink = (HEAP32[4576 + (($$off252 >>> 0 < 5 ? $$off252 : 5) * 24 | 0) + (($$off253 >>> 0 < 5 ? $$off253 : 5) << 2) >> 2] | 0) + 1 | 0; + break L24; + break; + } + case 48: + { + $$off = $178 + -1 | 0; + $$off251 = $180 + -1 | 0; + $$sink = (HEAP32[4720 + (($$off >>> 0 < 6 ? $$off : 6) * 28 | 0) + (($$off251 >>> 0 < 6 ? $$off251 : 6) << 2) >> 2] | 0) + 1 | 0; + break L24; + break; + } + default: + { + $$off262 = $178 + -1 | 0; + $$off263 = $180 + -1 | 0; + $$sink = (HEAP32[4928 + (($$off262 >>> 0 < 7 ? $$off262 : 7) << 5) + (($$off263 >>> 0 < 7 ? $$off263 : 7) << 2) >> 2] | 0) + 1 | 0; + break L24; + } + } + } while (0); + HEAP32[$2 + 180 + ($$0242284 << 2) >> 2] = $$sink; + $$0242284 = $$0242284 + 1 | 0; + } while (($$0242284 | 0) < (HEAP32[$157 >> 2] | 0)); + $235 = $2 + 16 | 0; + HEAP32[$235 >> 2] = 0; + $236 = $2 + 12 | 0; + HEAP32[$236 >> 2] = 0; + $237 = $2 + 40 | 0; + HEAP32[$237 >> 2] = 0; + $238 = $0 + 280 | 0; + $239 = HEAP32[$238 >> 2] | 0; + $240 = $2 + 44 | 0; + HEAP32[$240 >> 2] = $239; + return; + } + $9 = $0 + 416 | 0; + $10 = HEAP32[$9 >> 2] | 0; + if ($8) if (!$10) label = 7; else label = 11; else if ((($10 | 0) >= ($7 | 0) ? ($10 | 0) <= (HEAP32[$0 + 436 >> 2] | 0) : 0) ? (HEAP32[$0 + 340 >> 2] | 0) == 1 : 0) label = 7; else label = 11; + do if ((label | 0) == 7) { + $20 = HEAP32[$0 + 420 >> 2] | 0; + if ($20) { + $22 = $20 + -1 | 0; + if (($22 | 0) == (HEAP32[$0 + 424 >> 2] | 0)) $27 = $22; else { + label = 11; + break; + } + } else $27 = HEAP32[$0 + 424 >> 2] | 0; + if (($27 | 0) > 13) label = 11; + } while (0); + if ((label | 0) == 11) { + $28 = HEAP32[$0 >> 2] | 0; + HEAP32[$28 + 20 >> 2] = 17; + HEAP32[$28 + 24 >> 2] = $7; + HEAP32[(HEAP32[$0 >> 2] | 0) + 28 >> 2] = HEAP32[$9 >> 2]; + HEAP32[(HEAP32[$0 >> 2] | 0) + 32 >> 2] = HEAP32[$0 + 420 >> 2]; + HEAP32[(HEAP32[$0 >> 2] | 0) + 36 >> 2] = HEAP32[$0 + 424 >> 2]; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + $44 = $0 + 340 | 0; + $45 = HEAP32[$44 >> 2] | 0; + if (($45 | 0) > 0) { + $47 = $0 + 160 | 0; + $48 = $0 + 420 | 0; + $49 = $0 + 424 | 0; + $$0295 = 0; + do { + $53 = HEAP32[(HEAP32[$0 + 344 + ($$0295 << 2) >> 2] | 0) + 4 >> 2] | 0; + $54 = HEAP32[$47 >> 2] | 0; + $55 = HEAP32[$6 >> 2] | 0; + if ($55) if ((HEAP32[$54 + ($53 << 8) >> 2] | 0) < 0) { + $60 = HEAP32[$0 >> 2] | 0; + HEAP32[$60 + 20 >> 2] = 118; + HEAP32[$60 + 24 >> 2] = $53; + HEAP32[(HEAP32[$0 >> 2] | 0) + 28 >> 2] = 0; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$0 >> 2] | 0) + 4 >> 2] & 255]($0, -1); + $70 = HEAP32[$6 >> 2] | 0; + } else $70 = $55; else $70 = 0; + if (($70 | 0) <= (HEAP32[$9 >> 2] | 0)) { + $$0243291 = $70; + while (1) { + $71 = $54 + ($53 << 8) + ($$0243291 << 2) | 0; + $72 = HEAP32[$71 >> 2] | 0; + if ((HEAP32[$48 >> 2] | 0) != ((($72 | 0) > 0 ? $72 : 0) | 0)) { + $76 = HEAP32[$0 >> 2] | 0; + HEAP32[$76 + 20 >> 2] = 118; + HEAP32[$76 + 24 >> 2] = $53; + HEAP32[(HEAP32[$0 >> 2] | 0) + 28 >> 2] = $$0243291; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$0 >> 2] | 0) + 4 >> 2] & 255]($0, -1); + } + HEAP32[$71 >> 2] = HEAP32[$49 >> 2]; + if (($$0243291 | 0) < (HEAP32[$9 >> 2] | 0)) $$0243291 = $$0243291 + 1 | 0; else break; + } + } + $$0295 = $$0295 + 1 | 0; + $89 = HEAP32[$44 >> 2] | 0; + } while (($$0295 | 0) < ($89 | 0)); + $$pre$phi308Z2D = $48; + $97 = $89; + } else { + $$pre$phi308Z2D = $0 + 420 | 0; + $97 = $45; + } + $93 = HEAP32[$6 >> 2] | 0; + $94 = ($93 | 0) == 0; + HEAP32[$2 + 4 >> 2] = (HEAP32[$$pre$phi308Z2D >> 2] | 0) == 0 ? ($94 ? 60 : 61) : $94 ? 62 : 63; + L69 : do if (($97 | 0) > 0) { + $98 = $2 + 64 | 0; + $$1287 = 0; + $102 = $93; + while (1) { + $100 = HEAP32[$0 + 344 + ($$1287 << 2) >> 2] | 0; + if (!$102) { + if (!(HEAP32[$$pre$phi308Z2D >> 2] | 0)) { + $106 = HEAP32[$100 + 20 >> 2] | 0; + _jpeg_make_d_derived_tbl($0, 1, $106, $2 + 48 + ($106 << 2) | 0); + } + } else { + $109 = HEAP32[$100 + 24 >> 2] | 0; + $110 = $2 + 48 + ($109 << 2) | 0; + _jpeg_make_d_derived_tbl($0, 0, $109, $110); + HEAP32[$98 >> 2] = HEAP32[$110 >> 2]; + } + HEAP32[$2 + 24 + ($$1287 << 2) >> 2] = 0; + $113 = $$1287 + 1 | 0; + if (($113 | 0) >= (HEAP32[$44 >> 2] | 0)) break L69; + $$1287 = $113; + $102 = HEAP32[$6 >> 2] | 0; + } + } while (0); + HEAP32[$2 + 20 >> 2] = 0; + $235 = $2 + 16 | 0; + HEAP32[$235 >> 2] = 0; + $236 = $2 + 12 | 0; + HEAP32[$236 >> 2] = 0; + $237 = $2 + 40 | 0; + HEAP32[$237 >> 2] = 0; + $238 = $0 + 280 | 0; + $239 = HEAP32[$238 >> 2] | 0; + $240 = $2 + 44 | 0; + HEAP32[$240 >> 2] = $239; + return; +} + +function _kpmMatching($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$0224 = 0, $$0225 = 0, $$0226 = 0, $$0227 = 0, $$1 = 0, $$2 = 0, $$3 = 0, $$4 = 0, $$5 = 0, $$6 = 0, $$pre$phi239Z2D = 0, $$pre$phi240Z2D = 0, $101 = 0.0, $103 = 0.0, $104 = 0, $109 = 0, $11 = 0, $113 = 0, $118 = 0, $12 = 0, $121 = 0, $123 = 0.0, $125 = 0.0, $126 = 0, $13 = 0, $131 = 0, $135 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $148 = 0, $155 = 0, $157 = 0, $159 = 0, $161 = 0, $163 = 0, $164 = 0, $169 = 0, $17 = 0, $175 = 0, $182 = 0.0, $185 = 0, $186 = 0, $192 = 0, $2 = 0, $21 = 0, $22 = 0, $23 = 0, $25 = 0, $26 = 0, $29 = 0, $3 = 0, $30 = 0, $33 = 0, $34 = 0, $37 = 0, $39 = 0.0, $41 = 0.0, $42 = 0, $45 = 0, $48 = 0, $52 = 0, $55 = 0, $57 = 0.0, $59 = 0.0, $60 = 0, $65 = 0, $69 = 0, $7 = 0, $74 = 0, $77 = 0, $79 = 0.0, $81 = 0.0, $82 = 0, $87 = 0, $9 = 0, $91 = 0, $96 = 0, $99 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $vararg_buffer3 = sp + 16 | 0; + $vararg_buffer1 = sp + 8 | 0; + $vararg_buffer = sp; + $2 = sp + 44 | 0; + $3 = sp + 40 | 0; + do if (($0 | 0) != 0 & ($1 | 0) != 0) { + $7 = HEAP32[$0 + 12 >> 2] | 0; + $9 = HEAP32[$0 + 16 >> 2] | 0; + $11 = HEAP32[$0 + 20 >> 2] | 0; + $12 = ($11 | 0) == 1; + if (!$12) { + $13 = _kpmUtilResizeImage($1, $7, $9, $11, $2, $3) | 0; + if (!$13) { + $$0 = -1; + break; + } else { + $$0224 = $13; + $$0226 = 1; + } + } else { + $$0224 = $1; + $$0226 = 0; + } + __ZN6vision20VisualDatabaseFacade5queryEPhmm(HEAP32[$0 >> 2] | 0, $$0224, $7, $9) | 0; + $17 = __ZNK6vision20VisualDatabaseFacade21getQueryFeaturePointsEv(HEAP32[$0 >> 2] | 0) | 0; + $21 = (HEAP32[$17 + 4 >> 2] | 0) - (HEAP32[$17 >> 2] | 0) | 0; + $22 = ($21 | 0) / 20 | 0; + $23 = $0 + 48 | 0; + HEAP32[$23 >> 2] = $22; + L6 : do if (!$21) { + $185 = HEAP32[$0 + 56 >> 2] | 0; + $186 = $0 + 52 | 0; + $$5 = 0; + while (1) { + if (($$5 | 0) >= ($185 | 0)) { + $$pre$phi239Z2D = $186; + $192 = $185; + break L6; + } + HEAP32[(HEAP32[$186 >> 2] | 0) + ($$5 * 68 | 0) + 60 >> 2] = -1; + $$5 = $$5 + 1 | 0; + } + } else { + $25 = $0 + 44 | 0; + $26 = HEAP32[$25 >> 2] | 0; + if (!$26) $29 = $22; else { + _free($26); + $29 = HEAP32[$23 >> 2] | 0; + } + $30 = _malloc($29 << 3) | 0; + HEAP32[$25 >> 2] = $30; + if (!$30) { + _arLog(0, 3, 45930, $vararg_buffer1); + _exit(1); + } + $33 = __ZNK6vision20VisualDatabaseFacade21getQueryFeaturePointsEv(HEAP32[$0 >> 2] | 0) | 0; + L18 : do if ($12) { + $34 = $0 + 4 | 0; + $$0227 = 0; + while (1) { + if (($$0227 | 0) >= (HEAP32[$23 >> 2] | 0)) { + $$pre$phi240Z2D = $34; + break L18; + } + $37 = HEAP32[$33 >> 2] | 0; + $39 = +HEAPF32[$37 + ($$0227 * 20 | 0) >> 2]; + $41 = +HEAPF32[$37 + ($$0227 * 20 | 0) + 4 >> 2]; + $42 = HEAP32[$34 >> 2] | 0; + if (!$42) { + $48 = HEAP32[$25 >> 2] | 0; + HEAPF32[$48 + ($$0227 << 3) >> 2] = $39; + HEAPF32[$48 + ($$0227 << 3) + 4 >> 2] = $41; + } else { + $45 = HEAP32[$25 >> 2] | 0; + _arParamObserv2IdealLTf($42 + 184 | 0, $39, $41, $45 + ($$0227 << 3) | 0, $45 + ($$0227 << 3) + 4 | 0) | 0; + } + $$0227 = $$0227 + 1 | 0; + } + } else switch ($11 | 0) { + case 5: + { + $52 = $0 + 4 | 0; + $$1 = 0; + while (1) { + if (($$1 | 0) >= (HEAP32[$23 >> 2] | 0)) { + $$pre$phi240Z2D = $52; + break L18; + } + $55 = HEAP32[$33 >> 2] | 0; + $57 = +HEAPF32[$55 + ($$1 * 20 | 0) >> 2]; + $59 = +HEAPF32[$55 + ($$1 * 20 | 0) + 4 >> 2]; + $60 = HEAP32[$52 >> 2] | 0; + if (!$60) { + $69 = HEAP32[$25 >> 2] | 0; + HEAPF32[$69 + ($$1 << 3) >> 2] = $57 * 1.5; + HEAPF32[$69 + ($$1 << 3) + 4 >> 2] = $59 * 1.5; + } else { + $65 = HEAP32[$25 >> 2] | 0; + _arParamObserv2IdealLTf($60 + 184 | 0, $57 * 1.5, $59 * 1.5, $65 + ($$1 << 3) | 0, $65 + ($$1 << 3) + 4 | 0) | 0; + } + $$1 = $$1 + 1 | 0; + } + break; + } + case 2: + { + $74 = $0 + 4 | 0; + $$2 = 0; + while (1) { + if (($$2 | 0) >= (HEAP32[$23 >> 2] | 0)) { + $$pre$phi240Z2D = $74; + break L18; + } + $77 = HEAP32[$33 >> 2] | 0; + $79 = +HEAPF32[$77 + ($$2 * 20 | 0) >> 2]; + $81 = +HEAPF32[$77 + ($$2 * 20 | 0) + 4 >> 2]; + $82 = HEAP32[$74 >> 2] | 0; + if (!$82) { + $91 = HEAP32[$25 >> 2] | 0; + HEAPF32[$91 + ($$2 << 3) >> 2] = $79 * 2.0; + HEAPF32[$91 + ($$2 << 3) + 4 >> 2] = $81 * 2.0; + } else { + $87 = HEAP32[$25 >> 2] | 0; + _arParamObserv2IdealLTf($82 + 184 | 0, $79 * 2.0, $81 * 2.0, $87 + ($$2 << 3) | 0, $87 + ($$2 << 3) + 4 | 0) | 0; + } + $$2 = $$2 + 1 | 0; + } + break; + } + case 4: + { + $96 = $0 + 4 | 0; + $$3 = 0; + while (1) { + if (($$3 | 0) >= (HEAP32[$23 >> 2] | 0)) { + $$pre$phi240Z2D = $96; + break L18; + } + $99 = HEAP32[$33 >> 2] | 0; + $101 = +HEAPF32[$99 + ($$3 * 20 | 0) >> 2]; + $103 = +HEAPF32[$99 + ($$3 * 20 | 0) + 4 >> 2]; + $104 = HEAP32[$96 >> 2] | 0; + if (!$104) { + $113 = HEAP32[$25 >> 2] | 0; + HEAPF32[$113 + ($$3 << 3) >> 2] = $101 * 3.0; + HEAPF32[$113 + ($$3 << 3) + 4 >> 2] = $103 * 3.0; + } else { + $109 = HEAP32[$25 >> 2] | 0; + _arParamObserv2IdealLTf($104 + 184 | 0, $101 * 3.0, $103 * 3.0, $109 + ($$3 << 3) | 0, $109 + ($$3 << 3) + 4 | 0) | 0; + } + $$3 = $$3 + 1 | 0; + } + break; + } + default: + { + $118 = $0 + 4 | 0; + $$4 = 0; + while (1) { + if (($$4 | 0) >= (HEAP32[$23 >> 2] | 0)) { + $$pre$phi240Z2D = $118; + break L18; + } + $121 = HEAP32[$33 >> 2] | 0; + $123 = +HEAPF32[$121 + ($$4 * 20 | 0) >> 2]; + $125 = +HEAPF32[$121 + ($$4 * 20 | 0) + 4 >> 2]; + $126 = HEAP32[$118 >> 2] | 0; + if (!$126) { + $135 = HEAP32[$25 >> 2] | 0; + HEAPF32[$135 + ($$4 << 3) >> 2] = $123 * 4.0; + HEAPF32[$135 + ($$4 << 3) + 4 >> 2] = $125 * 4.0; + } else { + $131 = HEAP32[$25 >> 2] | 0; + _arParamObserv2IdealLTf($126 + 184 | 0, $123 * 4.0, $125 * 4.0, $131 + ($$4 << 3) | 0, $131 + ($$4 << 3) + 4 | 0) | 0; + } + $$4 = $$4 + 1 | 0; + } + } + } while (0); + $140 = $0 + 56 | 0; + $141 = $0 + 36 | 0; + $142 = $0 + 52 | 0; + $$0225 = 0; + while (1) { + $143 = HEAP32[$140 >> 2] | 0; + if (($$0225 | 0) >= ($143 | 0)) { + $$pre$phi239Z2D = $142; + $192 = $143; + break L6; + } + $148 = HEAP32[$142 >> 2] | 0; + HEAP32[$148 + ($$0225 * 68 | 0) + 48 >> 2] = HEAP32[(HEAP32[$141 >> 2] | 0) + ($$0225 * 12 | 0) + 8 >> 2]; + HEAP32[$148 + ($$0225 * 68 | 0) + 60 >> 2] = -1; + if (((HEAP32[$148 + ($$0225 * 68 | 0) + 64 >> 2] | 0) == 0 ? ($155 = __ZNK6vision20VisualDatabaseFacade7inliersEv(HEAP32[$0 >> 2] | 0) | 0, $157 = __ZN6vision20VisualDatabaseFacade9matchedIdEv(HEAP32[$0 >> 2] | 0) | 0, ($157 | 0) >= 0) : 0) ? ($159 = HEAP32[$$pre$phi240Z2D >> 2] | 0, $161 = __ZNK6vision20VisualDatabaseFacade18get3DFeaturePointsEi(HEAP32[$0 >> 2] | 0, $157) | 0, $163 = __ZNK6vision20VisualDatabaseFacade21getQueryFeaturePointsEv(HEAP32[$0 >> 2] | 0) | 0, $164 = HEAP32[$142 >> 2] | 0, (__Z21kpmUtilGetPose_binaryP9ARParamLTRKNSt3__26vectorIN6vision7match_tENS1_9allocatorIS4_EEEERKNS2_INS3_7Point3dIfEENS5_ISB_EEEERKNS2_INS3_12FeaturePointENS5_ISG_EEEEPA4_fPf($159, $155, $161, $163, $164 + ($$0225 * 68 | 0) | 0, $164 + ($$0225 * 68 | 0) + 52 | 0) | 0) == 0) : 0) { + $169 = HEAP32[$142 >> 2] | 0; + HEAP32[$169 + ($$0225 * 68 | 0) + 60 >> 2] = 0; + $175 = (HEAP32[$155 + 4 >> 2] | 0) - (HEAP32[$155 >> 2] | 0) >> 3; + HEAP32[$169 + ($$0225 * 68 | 0) + 56 >> 2] = $175; + HEAP32[$169 + ($$0225 * 68 | 0) + 48 >> 2] = HEAP32[$0 + 60 + ($157 << 2) >> 2]; + $182 = +HEAPF32[$169 + ($$0225 * 68 | 0) + 52 >> 2]; + HEAP32[$vararg_buffer3 >> 2] = $$0225; + HEAP32[$vararg_buffer3 + 4 >> 2] = $175; + HEAP32[$vararg_buffer3 + 8 >> 2] = $175; + HEAPF64[$vararg_buffer3 + 16 >> 3] = $182; + _arLog(0, 1, 26659, $vararg_buffer3); + } + $$0225 = $$0225 + 1 | 0; + } + } while (0); + $$6 = 0; + while (1) { + if (($$6 | 0) >= ($192 | 0)) break; + HEAP32[(HEAP32[$$pre$phi239Z2D >> 2] | 0) + ($$6 * 68 | 0) + 64 >> 2] = 0; + $$6 = $$6 + 1 | 0; + } + if (!$$0226) $$0 = 0; else { + _free($$0224); + $$0 = 0; + } + } else { + _arLog(0, 3, 26615, $vararg_buffer); + $$0 = -1; + } while (0); + STACKTOP = sp; + return $$0 | 0; +} + +function __ZN6vision25bilinear_histogram_updateEPfffi($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = +$1; + $2 = +$2; + $3 = $3 | 0; + var $105 = 0, $11 = 0, $110 = 0, $114 = 0, $121 = 0, $126 = 0, $130 = 0, $137 = 0, $142 = 0, $146 = 0, $148 = 0, $152 = 0, $16 = 0, $20 = 0, $23 = 0.0, $31 = 0, $36 = 0, $4 = 0, $40 = 0, $47 = 0, $52 = 0, $56 = 0, $63 = 0, $68 = 0, $72 = 0, $74 = 0, $77 = 0.0, $78 = 0.0, $80 = 0, $82 = 0, $89 = 0, $94 = 0, $98 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $4 = sp; + if (!$0) { + $11 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 32520) | 0, 32556) | 0, 39072) | 0, 139) | 0, 39079) | 0, 32643) | 0; + __ZNKSt3__28ios_base6getlocEv($4, $11 + (HEAP32[(HEAP32[$11 >> 2] | 0) + -12 >> 2] | 0) | 0); + $16 = __ZNKSt3__26locale9use_facetERNS0_2idE($4, 66512) | 0; + $20 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$16 >> 2] | 0) + 28 >> 2] & 127]($16, 10) | 0; + __ZNSt3__26localeD2Ev($4); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($11, $20) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($11) | 0; + _abort(); + } + if ($1 + .5 > 0.0 ? ($23 = $1 + -.5, $23 < +($3 | 0)) : 0) { + if (!($2 >= 0.0)) { + $47 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 32774) | 0, 32556) | 0, 39072) | 0, 141) | 0, 39079) | 0, 32812) | 0; + __ZNKSt3__28ios_base6getlocEv($4, $47 + (HEAP32[(HEAP32[$47 >> 2] | 0) + -12 >> 2] | 0) | 0); + $52 = __ZNKSt3__26locale9use_facetERNS0_2idE($4, 66512) | 0; + $56 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$52 >> 2] | 0) + 28 >> 2] & 127]($52, 10) | 0; + __ZNSt3__26localeD2Ev($4); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($47, $56) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($47) | 0; + _abort(); + } + if (($3 | 0) <= -1) { + $63 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 32841) | 0, 32556) | 0, 39072) | 0, 142) | 0, 39079) | 0, 32878) | 0; + __ZNKSt3__28ios_base6getlocEv($4, $63 + (HEAP32[(HEAP32[$63 >> 2] | 0) + -12 >> 2] | 0) | 0); + $68 = __ZNKSt3__26locale9use_facetERNS0_2idE($4, 66512) | 0; + $72 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$68 >> 2] | 0) + 28 >> 2] & 127]($68, 10) | 0; + __ZNSt3__26localeD2Ev($4); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($63, $72) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($63) | 0; + _abort(); + } + $74 = ~~+Math_floor(+$23); + $77 = $1 - +($74 | 0) + -.5; + $78 = 1.0 - $77; + $80 = ($74 + $3 | 0) % ($3 | 0) | 0; + $82 = ($74 + 1 | 0) % ($3 | 0) | 0; + if (!($78 >= 0.0)) { + $89 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 32907) | 0, 32556) | 0, 39072) | 0, 150) | 0, 39079) | 0, 32938) | 0; + __ZNKSt3__28ios_base6getlocEv($4, $89 + (HEAP32[(HEAP32[$89 >> 2] | 0) + -12 >> 2] | 0) | 0); + $94 = __ZNKSt3__26locale9use_facetERNS0_2idE($4, 66512) | 0; + $98 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$94 >> 2] | 0) + 28 >> 2] & 127]($94, 10) | 0; + __ZNSt3__26localeD2Ev($4); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($89, $98) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($89) | 0; + _abort(); + } + if (!($77 >= 0.0)) { + $105 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 32958) | 0, 32556) | 0, 39072) | 0, 151) | 0, 39079) | 0, 32989) | 0; + __ZNKSt3__28ios_base6getlocEv($4, $105 + (HEAP32[(HEAP32[$105 >> 2] | 0) + -12 >> 2] | 0) | 0); + $110 = __ZNKSt3__26locale9use_facetERNS0_2idE($4, 66512) | 0; + $114 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$110 >> 2] | 0) + 28 >> 2] & 127]($110, 10) | 0; + __ZNSt3__26localeD2Ev($4); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($105, $114) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($105) | 0; + _abort(); + } + if (($80 | 0) <= -1) { + $121 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 33009) | 0, 32556) | 0, 39072) | 0, 152) | 0, 39079) | 0, 33057) | 0; + __ZNKSt3__28ios_base6getlocEv($4, $121 + (HEAP32[(HEAP32[$121 >> 2] | 0) + -12 >> 2] | 0) | 0); + $126 = __ZNKSt3__26locale9use_facetERNS0_2idE($4, 66512) | 0; + $130 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$126 >> 2] | 0) + 28 >> 2] & 127]($126, 10) | 0; + __ZNSt3__26localeD2Ev($4); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($121, $130) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($121) | 0; + _abort(); + } + if (($82 | 0) > -1) { + $148 = $0 + ($80 << 2) | 0; + HEAPF32[$148 >> 2] = $78 * $2 + +HEAPF32[$148 >> 2]; + $152 = $0 + ($82 << 2) | 0; + HEAPF32[$152 >> 2] = $77 * $2 + +HEAPF32[$152 >> 2]; + STACKTOP = sp; + return; + } else { + $137 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 33083) | 0, 32556) | 0, 39072) | 0, 153) | 0, 39079) | 0, 33131) | 0; + __ZNKSt3__28ios_base6getlocEv($4, $137 + (HEAP32[(HEAP32[$137 >> 2] | 0) + -12 >> 2] | 0) | 0); + $142 = __ZNKSt3__26locale9use_facetERNS0_2idE($4, 66512) | 0; + $146 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$142 >> 2] | 0) + 28 >> 2] & 127]($142, 10) | 0; + __ZNSt3__26localeD2Ev($4); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($137, $146) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($137) | 0; + _abort(); + } + } + $31 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 32669) | 0, 32556) | 0, 39072) | 0, 140) | 0, 39079) | 0, 32734) | 0; + __ZNKSt3__28ios_base6getlocEv($4, $31 + (HEAP32[(HEAP32[$31 >> 2] | 0) + -12 >> 2] | 0) | 0); + $36 = __ZNKSt3__26locale9use_facetERNS0_2idE($4, 66512) | 0; + $40 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$36 >> 2] | 0) + 28 >> 2] & 127]($36, 10) | 0; + __ZNSt3__26localeD2Ev($4); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($31, $40) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($31) | 0; + _abort(); +} + +function _jpeg_idct_8x4($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$1168171 = 0, $$1172 = 0, $103 = 0, $109 = 0, $111 = 0, $113 = 0, $119 = 0, $125 = 0, $128 = 0, $13 = 0, $131 = 0, $134 = 0, $148 = 0, $154 = 0, $156 = 0, $158 = 0, $164 = 0, $170 = 0, $173 = 0, $176 = 0, $179 = 0, $19 = 0, $193 = 0, $199 = 0, $201 = 0, $203 = 0, $209 = 0, $21 = 0, $215 = 0, $218 = 0, $221 = 0, $224 = 0, $23 = 0, $238 = 0, $244 = 0, $246 = 0, $248 = 0, $254 = 0, $260 = 0, $263 = 0, $266 = 0, $269 = 0, $283 = 0, $289 = 0, $29 = 0, $291 = 0, $293 = 0, $299 = 0, $305 = 0, $308 = 0, $311 = 0, $314 = 0, $328 = 0, $334 = 0, $336 = 0, $338 = 0, $344 = 0, $35 = 0, $350 = 0, $353 = 0, $356 = 0, $359 = 0, $367 = 0, $370 = 0, $372 = 0, $374 = 0, $376 = 0, $378 = 0, $38 = 0, $380 = 0, $382 = 0, $384 = 0, $386 = 0, $388 = 0, $389 = 0, $390 = 0, $391 = 0, $392 = 0, $394 = 0, $396 = 0, $398 = 0, $400 = 0, $401 = 0, $402 = 0, $404 = 0, $407 = 0, $408 = 0, $41 = 0, $410 = 0, $414 = 0, $416 = 0, $418 = 0, $422 = 0, $424 = 0, $44 = 0, $5 = 0, $58 = 0, $64 = 0, $66 = 0, $68 = 0, $7 = 0, $74 = 0, $80 = 0, $83 = 0, $86 = 0, $89 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(128); + $5 = sp; + $7 = HEAP32[$0 + 336 >> 2] | 0; + $9 = HEAP32[$1 + 84 >> 2] | 0; + $13 = Math_imul(HEAP32[$9 >> 2] | 0, HEAP16[$2 >> 1] | 0) | 0; + $19 = Math_imul(HEAP32[$9 + 64 >> 2] | 0, HEAP16[$2 + 32 >> 1] | 0) | 0; + $21 = $19 + $13 << 2; + $23 = $13 - $19 << 2; + $29 = Math_imul(HEAP32[$9 + 32 >> 2] | 0, HEAP16[$2 + 16 >> 1] | 0) | 0; + $35 = Math_imul(HEAP32[$9 + 96 >> 2] | 0, HEAP16[$2 + 48 >> 1] | 0) | 0; + $38 = (($35 + $29 | 0) * 4433 | 0) + 1024 | 0; + $41 = $38 + ($29 * 6270 | 0) >> 11; + $44 = $38 + (Math_imul($35, -15137) | 0) >> 11; + HEAP32[$5 >> 2] = $41 + $21; + HEAP32[$5 + 96 >> 2] = $21 - $41; + HEAP32[$5 + 32 >> 2] = $44 + $23; + HEAP32[$5 + 64 >> 2] = $23 - $44; + $58 = Math_imul(HEAP32[$9 + 4 >> 2] | 0, HEAP16[$2 + 2 >> 1] | 0) | 0; + $64 = Math_imul(HEAP32[$9 + 68 >> 2] | 0, HEAP16[$2 + 34 >> 1] | 0) | 0; + $66 = $64 + $58 << 2; + $68 = $58 - $64 << 2; + $74 = Math_imul(HEAP32[$9 + 36 >> 2] | 0, HEAP16[$2 + 18 >> 1] | 0) | 0; + $80 = Math_imul(HEAP32[$9 + 100 >> 2] | 0, HEAP16[$2 + 50 >> 1] | 0) | 0; + $83 = (($80 + $74 | 0) * 4433 | 0) + 1024 | 0; + $86 = $83 + ($74 * 6270 | 0) >> 11; + $89 = $83 + (Math_imul($80, -15137) | 0) >> 11; + HEAP32[$5 + 4 >> 2] = $86 + $66; + HEAP32[$5 + 100 >> 2] = $66 - $86; + HEAP32[$5 + 36 >> 2] = $89 + $68; + HEAP32[$5 + 68 >> 2] = $68 - $89; + $103 = Math_imul(HEAP32[$9 + 8 >> 2] | 0, HEAP16[$2 + 4 >> 1] | 0) | 0; + $109 = Math_imul(HEAP32[$9 + 72 >> 2] | 0, HEAP16[$2 + 36 >> 1] | 0) | 0; + $111 = $109 + $103 << 2; + $113 = $103 - $109 << 2; + $119 = Math_imul(HEAP32[$9 + 40 >> 2] | 0, HEAP16[$2 + 20 >> 1] | 0) | 0; + $125 = Math_imul(HEAP32[$9 + 104 >> 2] | 0, HEAP16[$2 + 52 >> 1] | 0) | 0; + $128 = (($125 + $119 | 0) * 4433 | 0) + 1024 | 0; + $131 = $128 + ($119 * 6270 | 0) >> 11; + $134 = $128 + (Math_imul($125, -15137) | 0) >> 11; + HEAP32[$5 + 8 >> 2] = $131 + $111; + HEAP32[$5 + 104 >> 2] = $111 - $131; + HEAP32[$5 + 40 >> 2] = $134 + $113; + HEAP32[$5 + 72 >> 2] = $113 - $134; + $148 = Math_imul(HEAP32[$9 + 12 >> 2] | 0, HEAP16[$2 + 6 >> 1] | 0) | 0; + $154 = Math_imul(HEAP32[$9 + 76 >> 2] | 0, HEAP16[$2 + 38 >> 1] | 0) | 0; + $156 = $154 + $148 << 2; + $158 = $148 - $154 << 2; + $164 = Math_imul(HEAP32[$9 + 44 >> 2] | 0, HEAP16[$2 + 22 >> 1] | 0) | 0; + $170 = Math_imul(HEAP32[$9 + 108 >> 2] | 0, HEAP16[$2 + 54 >> 1] | 0) | 0; + $173 = (($170 + $164 | 0) * 4433 | 0) + 1024 | 0; + $176 = $173 + ($164 * 6270 | 0) >> 11; + $179 = $173 + (Math_imul($170, -15137) | 0) >> 11; + HEAP32[$5 + 12 >> 2] = $176 + $156; + HEAP32[$5 + 108 >> 2] = $156 - $176; + HEAP32[$5 + 44 >> 2] = $179 + $158; + HEAP32[$5 + 76 >> 2] = $158 - $179; + $193 = Math_imul(HEAP32[$9 + 16 >> 2] | 0, HEAP16[$2 + 8 >> 1] | 0) | 0; + $199 = Math_imul(HEAP32[$9 + 80 >> 2] | 0, HEAP16[$2 + 40 >> 1] | 0) | 0; + $201 = $199 + $193 << 2; + $203 = $193 - $199 << 2; + $209 = Math_imul(HEAP32[$9 + 48 >> 2] | 0, HEAP16[$2 + 24 >> 1] | 0) | 0; + $215 = Math_imul(HEAP32[$9 + 112 >> 2] | 0, HEAP16[$2 + 56 >> 1] | 0) | 0; + $218 = (($215 + $209 | 0) * 4433 | 0) + 1024 | 0; + $221 = $218 + ($209 * 6270 | 0) >> 11; + $224 = $218 + (Math_imul($215, -15137) | 0) >> 11; + HEAP32[$5 + 16 >> 2] = $221 + $201; + HEAP32[$5 + 112 >> 2] = $201 - $221; + HEAP32[$5 + 48 >> 2] = $224 + $203; + HEAP32[$5 + 80 >> 2] = $203 - $224; + $238 = Math_imul(HEAP32[$9 + 20 >> 2] | 0, HEAP16[$2 + 10 >> 1] | 0) | 0; + $244 = Math_imul(HEAP32[$9 + 84 >> 2] | 0, HEAP16[$2 + 42 >> 1] | 0) | 0; + $246 = $244 + $238 << 2; + $248 = $238 - $244 << 2; + $254 = Math_imul(HEAP32[$9 + 52 >> 2] | 0, HEAP16[$2 + 26 >> 1] | 0) | 0; + $260 = Math_imul(HEAP32[$9 + 116 >> 2] | 0, HEAP16[$2 + 58 >> 1] | 0) | 0; + $263 = (($260 + $254 | 0) * 4433 | 0) + 1024 | 0; + $266 = $263 + ($254 * 6270 | 0) >> 11; + $269 = $263 + (Math_imul($260, -15137) | 0) >> 11; + HEAP32[$5 + 20 >> 2] = $266 + $246; + HEAP32[$5 + 116 >> 2] = $246 - $266; + HEAP32[$5 + 52 >> 2] = $269 + $248; + HEAP32[$5 + 84 >> 2] = $248 - $269; + $283 = Math_imul(HEAP32[$9 + 24 >> 2] | 0, HEAP16[$2 + 12 >> 1] | 0) | 0; + $289 = Math_imul(HEAP32[$9 + 88 >> 2] | 0, HEAP16[$2 + 44 >> 1] | 0) | 0; + $291 = $289 + $283 << 2; + $293 = $283 - $289 << 2; + $299 = Math_imul(HEAP32[$9 + 56 >> 2] | 0, HEAP16[$2 + 28 >> 1] | 0) | 0; + $305 = Math_imul(HEAP32[$9 + 120 >> 2] | 0, HEAP16[$2 + 60 >> 1] | 0) | 0; + $308 = (($305 + $299 | 0) * 4433 | 0) + 1024 | 0; + $311 = $308 + ($299 * 6270 | 0) >> 11; + $314 = $308 + (Math_imul($305, -15137) | 0) >> 11; + HEAP32[$5 + 24 >> 2] = $311 + $291; + HEAP32[$5 + 120 >> 2] = $291 - $311; + HEAP32[$5 + 56 >> 2] = $314 + $293; + HEAP32[$5 + 88 >> 2] = $293 - $314; + $328 = Math_imul(HEAP32[$9 + 28 >> 2] | 0, HEAP16[$2 + 14 >> 1] | 0) | 0; + $334 = Math_imul(HEAP32[$9 + 92 >> 2] | 0, HEAP16[$2 + 46 >> 1] | 0) | 0; + $336 = $334 + $328 << 2; + $338 = $328 - $334 << 2; + $344 = Math_imul(HEAP32[$9 + 60 >> 2] | 0, HEAP16[$2 + 30 >> 1] | 0) | 0; + $350 = Math_imul(HEAP32[$9 + 124 >> 2] | 0, HEAP16[$2 + 62 >> 1] | 0) | 0; + $353 = (($350 + $344 | 0) * 4433 | 0) + 1024 | 0; + $356 = $353 + ($344 * 6270 | 0) >> 11; + $359 = $353 + (Math_imul($350, -15137) | 0) >> 11; + HEAP32[$5 + 28 >> 2] = $356 + $336; + HEAP32[$5 + 124 >> 2] = $336 - $356; + HEAP32[$5 + 60 >> 2] = $359 + $338; + HEAP32[$5 + 92 >> 2] = $338 - $359; + $367 = $7 + -384 | 0; + $$1168171 = $5; + $$1172 = 0; + while (1) { + $370 = (HEAP32[$3 + ($$1172 << 2) >> 2] | 0) + $4 | 0; + $372 = (HEAP32[$$1168171 >> 2] | 0) + 16400 | 0; + $374 = HEAP32[$$1168171 + 16 >> 2] | 0; + $376 = $372 + $374 << 13; + $378 = $372 - $374 << 13; + $380 = HEAP32[$$1168171 + 8 >> 2] | 0; + $382 = HEAP32[$$1168171 + 24 >> 2] | 0; + $384 = ($382 + $380 | 0) * 4433 | 0; + $386 = $384 + ($380 * 6270 | 0) | 0; + $388 = $384 + (Math_imul($382, -15137) | 0) | 0; + $389 = $386 + $376 | 0; + $390 = $376 - $386 | 0; + $391 = $388 + $378 | 0; + $392 = $378 - $388 | 0; + $394 = HEAP32[$$1168171 + 28 >> 2] | 0; + $396 = HEAP32[$$1168171 + 20 >> 2] | 0; + $398 = HEAP32[$$1168171 + 12 >> 2] | 0; + $400 = HEAP32[$$1168171 + 4 >> 2] | 0; + $401 = $398 + $394 | 0; + $402 = $400 + $396 | 0; + $404 = ($402 + $401 | 0) * 9633 | 0; + $407 = $404 + (Math_imul($401, -16069) | 0) | 0; + $408 = $404 + (Math_imul($402, -3196) | 0) | 0; + $410 = Math_imul($400 + $394 | 0, -7373) | 0; + $414 = $410 + ($394 * 2446 | 0) + $407 | 0; + $416 = $410 + ($400 * 12299 | 0) + $408 | 0; + $418 = Math_imul($398 + $396 | 0, -20995) | 0; + $422 = $418 + ($396 * 16819 | 0) + $408 | 0; + $424 = $418 + ($398 * 25172 | 0) + $407 | 0; + HEAP8[$370 >> 0] = HEAP8[$367 + (($416 + $389 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$370 + 7 >> 0] = HEAP8[$367 + (($389 - $416 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$370 + 1 >> 0] = HEAP8[$367 + (($424 + $391 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$370 + 6 >> 0] = HEAP8[$367 + (($391 - $424 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$370 + 2 >> 0] = HEAP8[$367 + (($422 + $392 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$370 + 5 >> 0] = HEAP8[$367 + (($392 - $422 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$370 + 3 >> 0] = HEAP8[$367 + (($414 + $390 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$370 + 4 >> 0] = HEAP8[$367 + (($390 - $414 | 0) >>> 18 & 1023) >> 0] | 0; + $$1172 = $$1172 + 1 | 0; + if (($$1172 | 0) == 4) break; else $$1168171 = $$1168171 + 32 | 0; + } + STACKTOP = sp; + return; +} + +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, $51 = 0, $57 = 0, $58 = 0, $66 = 0, $78 = 0, $88 = 0, $89 = 0, $91 = 0, $92 = 0, $95 = 0, $105 = 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, $r_sroa_0_0_insert_insert42$0 = 0, $r_sroa_0_0_insert_insert42$1 = 0, $150$1 = 0, $151$0 = 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, $_0$0 = 0, $_0$1 = 0, $q_sroa_1_1198$looptemp = 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) { + $4 = ($rem | 0) != 0; + if (!$d_sroa_1_4_extract_trunc) { + 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 (setTempRet0($_0$1 | 0), $_0$0) | 0; + } else { + if (!$4) { + $_0$1 = 0; + $_0$0 = 0; + return (setTempRet0($_0$1 | 0), $_0$0) | 0; + } + HEAP32[$rem >> 2] = $a$0 | 0; + HEAP32[$rem + 4 >> 2] = $a$1 & 0; + $_0$1 = 0; + $_0$0 = 0; + return (setTempRet0($_0$1 | 0), $_0$0) | 0; + } + } + $17 = ($d_sroa_1_4_extract_trunc | 0) == 0; + do if ($d_sroa_0_0_extract_trunc) { + if (!$17) { + $119 = (Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0) - (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$1 = 0; + $_0$0 = 0; + return (setTempRet0($_0$1 | 0), $_0$0) | 0; + } + HEAP32[$rem >> 2] = $a$0 | 0; + HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; + $_0$1 = 0; + $_0$0 = 0; + return (setTempRet0($_0$1 | 0), $_0$0) | 0; + } + $66 = $d_sroa_0_0_extract_trunc - 1 | 0; + if ($66 & $d_sroa_0_0_extract_trunc | 0) { + $88 = (Math_clz32($d_sroa_0_0_extract_trunc | 0) | 0) + 33 - (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) { + 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 = $a$0 | 0 | 0; + return (setTempRet0($_0$1 | 0), $_0$0) | 0; + } else { + $78 = _llvm_cttz_i32($d_sroa_0_0_extract_trunc | 0) | 0; + $_0$1 = $n_sroa_1_4_extract_trunc >>> ($78 >>> 0) | 0; + $_0$0 = $n_sroa_1_4_extract_trunc << 32 - $78 | $n_sroa_0_0_extract_trunc >>> ($78 >>> 0) | 0; + return (setTempRet0($_0$1 | 0), $_0$0) | 0; + } + } else { + if ($17) { + if ($rem | 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 (setTempRet0($_0$1 | 0), $_0$0) | 0; + } + if (!$n_sroa_0_0_extract_trunc) { + if ($rem | 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 (setTempRet0($_0$1 | 0), $_0$0) | 0; + } + $37 = $d_sroa_1_4_extract_trunc - 1 | 0; + if (!($37 & $d_sroa_1_4_extract_trunc)) { + if ($rem | 0) { + HEAP32[$rem >> 2] = $a$0 | 0; + 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 (setTempRet0($_0$1 | 0), $_0$0) | 0; + } + $51 = (Math_clz32($d_sroa_1_4_extract_trunc | 0) | 0) - (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$1 = 0; + $_0$0 = 0; + return (setTempRet0($_0$1 | 0), $_0$0) | 0; + } + HEAP32[$rem >> 2] = $a$0 | 0; + HEAP32[$rem + 4 >> 2] = $n_sroa_1_4_extract_shift$0 | $a$1 & 0; + $_0$1 = 0; + $_0$0 = 0; + return (setTempRet0($_0$1 | 0), $_0$0) | 0; + } while (0); + if (!$sr_1_ph) { + $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 = $b$0 | 0 | 0; + $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 = getTempRet0() | 0; + $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; + do { + $q_sroa_1_1198$looptemp = $q_sroa_1_1198; + $q_sroa_1_1198 = $q_sroa_0_1199 >>> 31 | $q_sroa_1_1198 << 1; + $q_sroa_0_1199 = $carry_0203 | $q_sroa_0_1199 << 1; + $r_sroa_0_0_insert_insert42$0 = $r_sroa_0_1201 << 1 | $q_sroa_1_1198$looptemp >>> 31 | 0; + $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 = getTempRet0() | 0; + $151$0 = $150$1 >> 31 | (($150$1 | 0) < 0 ? -1 : 0) << 1; + $carry_0203 = $151$0 & 1; + $r_sroa_0_1201 = _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_1_1200 = getTempRet0() | 0; + $sr_1202 = $sr_1202 - 1 | 0; + } while (($sr_1202 | 0) != 0); + $q_sroa_1_1_lcssa = $q_sroa_1_1198; + $q_sroa_0_1_lcssa = $q_sroa_0_1199; + $r_sroa_1_1_lcssa = $r_sroa_1_1200; + $r_sroa_0_1_lcssa = $r_sroa_0_1201; + $carry_0_lcssa$1 = 0; + $carry_0_lcssa$0 = $carry_0203; + } + $q_sroa_0_0_insert_ext75$0 = $q_sroa_0_1_lcssa; + $q_sroa_0_0_insert_ext75$1 = 0; + if ($rem | 0) { + HEAP32[$rem >> 2] = $r_sroa_0_1_lcssa; + HEAP32[$rem + 4 >> 2] = $r_sroa_1_1_lcssa; + } + $_0$1 = ($q_sroa_0_0_insert_ext75$0 | 0) >>> 31 | ($q_sroa_1_1_lcssa | $q_sroa_0_0_insert_ext75$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 (setTempRet0($_0$1 | 0), $_0$0) | 0; +} + +function __ZN6vision14VisualDatabaseINS_14FREAKExtractorENS_18BinaryFeatureStoreENS_20BinaryFeatureMatcherILi96EEEE5queryEPKNS_8KeyframeILi96EEE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$047 = 0, $$249 = 0, $$pre = 0, $$pre$phi257Z2D = 0, $$pre$phiZ2D = 0, $$sroa$082$0 = 0, $$sroa$082$0$in = 0, $100 = 0, $11 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $31 = 0, $34 = 0, $37 = 0, $4 = 0, $42 = 0, $44 = 0, $45 = 0, $46 = 0, $48 = 0, $5 = 0, $51 = 0, $57 = 0, $6 = 0, $70 = 0, $73 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $81 = 0, $84 = 0, $9 = 0, $90 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(144); + $2 = sp + 104 | 0; + $3 = sp; + $4 = sp + 72 | 0; + $5 = sp + 40 | 0; + $6 = $0 + 12 | 0; + $8 = $0 + 16 | 0; + HEAP32[$8 >> 2] = HEAP32[$6 >> 2]; + $9 = $0 + 24 | 0; + HEAP32[$9 >> 2] = -1; + $11 = __ZNK6vision18BinaryFeatureStore6pointsEv(__ZNK6vision8KeyframeILi96EE5storeEv($1) | 0) | 0; + $13 = $0 + 8 | 0; + $14 = $0 + 636 | 0; + $15 = $0 + 652 | 0; + $16 = $2 + 4 | 0; + $17 = $2 + 8 | 0; + $18 = $0 + 788 | 0; + $19 = $4 + 4 | 0; + $20 = $4 + 8 | 0; + $21 = $0 + 4 | 0; + $22 = $0 + 28 | 0; + $$sroa$082$0$in = $0 + 80 | 0; + while (1) { + $$sroa$082$0 = HEAP32[$$sroa$082$0$in >> 2] | 0; + if (!$$sroa$082$0) break; + __ZN6vision11ScopedTimerC2EPKc($2, 35008); + do if (__ZN6vision11ScopedTimercvbEv($2) | 0) { + $26 = (HEAP8[$13 >> 0] | 0) == 0; + $27 = __ZNK6vision8KeyframeILi96EE5storeEv($1) | 0; + $28 = $$sroa$082$0; + $29 = $28 + 12 | 0; + $31 = __ZN6vision8KeyframeILi96EE5storeEv(HEAP32[$29 >> 2] | 0) | 0; + if ($26) { + $37 = __ZN6vision20BinaryFeatureMatcherILi96EE5matchEPKNS_18BinaryFeatureStoreES4_($14, $27, $31) | 0; + if ($37 >>> 0 >= (HEAP32[$0 >> 2] | 0) >>> 0) { + $$pre$phi257Z2D = $29; + $$pre$phiZ2D = $28; + label = 9; + break; + } + } else { + $34 = __ZN6vision20BinaryFeatureMatcherILi96EE5matchEPKNS_18BinaryFeatureStoreES4_RKNS_28BinaryHierarchicalClusteringILi96EEE($14, $27, $31, __ZNK6vision8KeyframeILi96EE5indexEv(HEAP32[$29 >> 2] | 0) | 0) | 0; + if ($34 >>> 0 >= (HEAP32[$0 >> 2] | 0) >>> 0) { + $$pre$phi257Z2D = $29; + $$pre$phiZ2D = $28; + label = 9; + break; + } + } + __ZN6vision11ScopedTimerD2Ev($2); + } else { + $$pre = $$sroa$082$0; + $$pre$phi257Z2D = $$pre + 12 | 0; + $$pre$phiZ2D = $$pre; + label = 9; + } while (0); + do if ((label | 0) == 9) { + label = 0; + __ZN6vision11ScopedTimerD2Ev($2); + $42 = __ZN6vision18BinaryFeatureStore6pointsEv(__ZN6vision8KeyframeILi96EE5storeEv(HEAP32[$$pre$phi257Z2D >> 2] | 0) | 0) | 0; + __ZN6vision11ScopedTimerC2EPKc($2, 35025); + if (__ZN6vision11ScopedTimercvbEv($2) | 0) { + $44 = __ZNK6vision20BinaryFeatureMatcherILi96EE7matchesEv($14) | 0; + $45 = __ZNK6vision8KeyframeILi96EE5widthEv($1) | 0; + $46 = __ZNK6vision8KeyframeILi96EE6heightEv($1) | 0; + $48 = __ZNK6vision8KeyframeILi96EE5widthEv(HEAP32[$$pre$phi257Z2D >> 2] | 0) | 0; + $51 = __ZN6vision19FindHoughSimilarityERNS_21HoughSimilarityVotingERKNSt3__26vectorINS_12FeaturePointENS2_9allocatorIS4_EEEES9_RKNS3_INS_7match_tENS5_ISA_EEEEiiii($15, $11, $42, $44, $45, $46, $48, __ZNK6vision8KeyframeILi96EE6heightEv(HEAP32[$$pre$phi257Z2D >> 2] | 0) | 0) | 0; + if (($51 | 0) < 0) { + __ZN6vision11ScopedTimerD2Ev($2); + break; + } else $$047 = $51; + } else $$047 = -1; + __ZN6vision11ScopedTimerD2Ev($2); + HEAP32[$2 >> 2] = 0; + HEAP32[$16 >> 2] = 0; + HEAP32[$17 >> 2] = 0; + __ZN6vision11ScopedTimerC2EPKc($3, 35042); + if (__ZN6vision11ScopedTimercvbEv($3) | 0) __ZN6vision16FindHoughMatchesERNSt3__26vectorINS_7match_tENS0_9allocatorIS2_EEEERKNS_21HoughSimilarityVotingERKS5_if($2, $15, __ZNK6vision20BinaryFeatureMatcherILi96EE7matchesEv($14) | 0, $$047, 1.0); + __ZN6vision11ScopedTimerD2Ev($3); + __ZN6vision11ScopedTimerC2EPKc($4, 35065); + if (__ZN6vision11ScopedTimercvbEv($4) | 0 ? ($57 = __ZNK6vision8KeyframeILi96EE5widthEv(HEAP32[$$pre$phi257Z2D >> 2] | 0) | 0, !(__ZN6vision18EstimateHomographyEPfRKNSt3__26vectorINS_12FeaturePointENS1_9allocatorIS3_EEEES8_RKNS2_INS_7match_tENS4_IS9_EEEERNS_16RobustHomographyIfEEii($3, $11, $42, $2, $18, $57, __ZNK6vision8KeyframeILi96EE6heightEv(HEAP32[$$pre$phi257Z2D >> 2] | 0) | 0) | 0)) : 0) __ZN6vision11ScopedTimerD2Ev($4); else { + __ZN6vision11ScopedTimerD2Ev($4); + HEAP32[$4 >> 2] = 0; + HEAP32[$19 >> 2] = 0; + HEAP32[$20 >> 2] = 0; + __ZN6vision11ScopedTimerC2EPKc($5, 35089); + if (__ZN6vision11ScopedTimercvbEv($5) | 0 ? (__ZN6vision11FindInliersERNSt3__26vectorINS_7match_tENS0_9allocatorIS2_EEEEPKfRKNS1_INS_12FeaturePointENS3_IS9_EEEESD_RKS5_f($4, $3, $11, $42, $2, +HEAPF32[$21 >> 2]), (HEAP32[$19 >> 2] | 0) - (HEAP32[$4 >> 2] | 0) >> 3 >>> 0 < (HEAP32[$0 >> 2] | 0) >>> 0) : 0) __ZN6vision11ScopedTimerD2Ev($5); else label = 20; + do if ((label | 0) == 20) { + label = 0; + __ZN6vision11ScopedTimerD2Ev($5); + __ZN6vision11ScopedTimerC2EPKc($5, 35106); + if (__ZN6vision11ScopedTimercvbEv($5) | 0 ? ($70 = __ZNK6vision8KeyframeILi96EE5storeEv($1) | 0, $73 = __ZN6vision20BinaryFeatureMatcherILi96EE5matchEPKNS_18BinaryFeatureStoreES4_PKff($14, $70, __ZN6vision8KeyframeILi96EE5storeEv(HEAP32[$$pre$phi257Z2D >> 2] | 0) | 0, $3, 10.0) | 0, $73 >>> 0 < (HEAP32[$0 >> 2] | 0) >>> 0) : 0) { + __ZN6vision11ScopedTimerD2Ev($5); + break; + } + __ZN6vision11ScopedTimerD2Ev($5); + __ZN6vision11ScopedTimerC2EPKc($5, 35123); + if (__ZN6vision11ScopedTimercvbEv($5) | 0) { + $77 = __ZNK6vision20BinaryFeatureMatcherILi96EE7matchesEv($14) | 0; + $78 = __ZNK6vision8KeyframeILi96EE5widthEv($1) | 0; + $79 = __ZNK6vision8KeyframeILi96EE6heightEv($1) | 0; + $81 = __ZNK6vision8KeyframeILi96EE5widthEv(HEAP32[$$pre$phi257Z2D >> 2] | 0) | 0; + $84 = __ZN6vision19FindHoughSimilarityERNS_21HoughSimilarityVotingERKNSt3__26vectorINS_12FeaturePointENS2_9allocatorIS4_EEEES9_RKNS3_INS_7match_tENS5_ISA_EEEEiiii($15, $11, $42, $77, $78, $79, $81, __ZNK6vision8KeyframeILi96EE6heightEv(HEAP32[$$pre$phi257Z2D >> 2] | 0) | 0) | 0; + if (($84 | 0) < 0) { + __ZN6vision11ScopedTimerD2Ev($5); + break; + } else $$249 = $84; + } else $$249 = $$047; + __ZN6vision11ScopedTimerD2Ev($5); + __ZN6vision11ScopedTimerC2EPKc($5, 35140); + if (__ZN6vision11ScopedTimercvbEv($5) | 0) __ZN6vision16FindHoughMatchesERNSt3__26vectorINS_7match_tENS0_9allocatorIS2_EEEERKNS_21HoughSimilarityVotingERKS5_if($2, $15, __ZNK6vision20BinaryFeatureMatcherILi96EE7matchesEv($14) | 0, $$249, 1.0); + __ZN6vision11ScopedTimerD2Ev($5); + __ZN6vision11ScopedTimerC2EPKc($5, 35163); + if (__ZN6vision11ScopedTimercvbEv($5) | 0 ? ($90 = __ZNK6vision8KeyframeILi96EE5widthEv(HEAP32[$$pre$phi257Z2D >> 2] | 0) | 0, !(__ZN6vision18EstimateHomographyEPfRKNSt3__26vectorINS_12FeaturePointENS1_9allocatorIS3_EEEES8_RKNS2_INS_7match_tENS4_IS9_EEEERNS_16RobustHomographyIfEEii($3, $11, $42, $2, $18, $90, __ZNK6vision8KeyframeILi96EE6heightEv(HEAP32[$$pre$phi257Z2D >> 2] | 0) | 0) | 0)) : 0) { + __ZN6vision11ScopedTimerD2Ev($5); + break; + } + __ZN6vision11ScopedTimerD2Ev($5); + HEAP32[$19 >> 2] = HEAP32[$4 >> 2]; + __ZN6vision11ScopedTimerC2EPKc($5, 35187); + if (__ZN6vision11ScopedTimercvbEv($5) | 0) __ZN6vision11FindInliersERNSt3__26vectorINS_7match_tENS0_9allocatorIS2_EEEEPKfRKNS1_INS_12FeaturePointENS3_IS9_EEEESD_RKS5_f($4, $3, $11, $42, $2, +HEAPF32[$21 >> 2]); + __ZN6vision11ScopedTimerD2Ev($5); + $100 = (HEAP32[$19 >> 2] | 0) - (HEAP32[$4 >> 2] | 0) >> 3; + if ($100 >>> 0 >= (HEAP32[$0 >> 2] | 0) >>> 0 ? $100 >>> 0 > (HEAP32[$8 >> 2] | 0) - (HEAP32[$6 >> 2] | 0) >> 3 >>> 0 : 0) { + __ZN6vision11CopyVector9IfEEvPT_PKS1_($22, $3); + __ZNSt3__26vectorIN6vision7match_tENS_9allocatorIS2_EEE4swapERS5_($6, $4); + HEAP32[$9 >> 2] = HEAP32[$$pre$phiZ2D + 8 >> 2]; + } + } while (0); + __ZNSt3__213__vector_baseIN6vision7match_tENS_9allocatorIS2_EEED2Ev($4); + } + __ZNSt3__213__vector_baseIN6vision7match_tENS_9allocatorIS2_EEED2Ev($2); + } while (0); + $$sroa$082$0$in = $$sroa$082$0; + } + STACKTOP = sp; + return (HEAP32[$9 >> 2] | 0) > -1 | 0; +} + +function _decode_mcu($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0148177 = 0, $$0149$lcssa = 0, $$0149179 = 0, $$0155 = 0, $$0157176 = 0, $$0162200 = 0, $$035$i = 0, $$1 = 0, $$1156$lcssa = 0, $$1158 = 0, $$2159$lcssa = 0, $$2159182 = 0, $$3152$lcssa = 0, $$3152195 = 0, $$3160189 = 0, $$3190 = 0, $$4 = 0, $$4161 = 0, $$lcssa = 0, $$sink = 0, $113 = 0, $116 = 0, $117 = 0, $120 = 0, $122 = 0, $128 = 0, $130 = 0, $132 = 0, $136 = 0, $137 = 0, $138 = 0, $141 = 0, $144 = 0, $150 = 0, $151 = 0, $155 = 0, $156 = 0, $16 = 0, $160 = 0, $161 = 0, $162 = 0, $166 = 0, $172 = 0, $175 = 0, $177 = 0, $181 = 0, $184 = 0, $185 = 0, $188 = 0, $19 = 0, $190 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $27 = 0, $3 = 0, $4 = 0, $54 = 0, $56 = 0, $57 = 0, $61 = 0, $62 = 0, $65 = 0, $66 = 0, $68 = 0, $7 = 0, $70 = 0, $72 = 0, $74 = 0, $75 = 0, $77 = 0, $79 = 0, $8 = 0, $83 = 0, $85 = 0, $86 = 0, $89 = 0, $92 = 0, $94 = 0, $98 = 0, $spec$select = 0, $spec$select164 = 0, dest = 0, label = 0, stop = 0; + $3 = HEAP32[$0 + 468 >> 2] | 0; + $4 = $0 + 280 | 0; + if (HEAP32[$4 >> 2] | 0) { + $7 = $3 + 56 | 0; + $8 = HEAP32[$7 >> 2] | 0; + if (!$8) { + if (!(FUNCTION_TABLE_ii[HEAP32[(HEAP32[$0 + 464 >> 2] | 0) + 8 >> 2] & 127]($0) | 0)) { + $16 = HEAP32[$0 >> 2] | 0; + HEAP32[$16 + 20 >> 2] = 25; + FUNCTION_TABLE_vi[HEAP32[$16 >> 2] & 255]($0); + } + $19 = $0 + 340 | 0; + if ((HEAP32[$19 >> 2] | 0) > 0) { + $22 = $0 + 224 | 0; + $23 = $0 + 412 | 0; + $24 = $0 + 436 | 0; + $25 = $0 + 420 | 0; + $$035$i = 0; + do { + $27 = HEAP32[$0 + 344 + ($$035$i << 2) >> 2] | 0; + if (HEAP32[$22 >> 2] | 0) if (!(HEAP32[$23 >> 2] | 0)) { + if (!(HEAP32[$25 >> 2] | 0)) label = 10; + } else label = 13; else label = 10; + do if ((label | 0) == 10) { + label = 0; + dest = HEAP32[$3 + 60 + (HEAP32[$27 + 20 >> 2] << 2) >> 2] | 0; + stop = dest + 64 | 0; + do { + HEAP8[dest >> 0] = 0; + dest = dest + 1 | 0; + } while ((dest | 0) < (stop | 0)); + HEAP32[$3 + 24 + ($$035$i << 2) >> 2] = 0; + HEAP32[$3 + 40 + ($$035$i << 2) >> 2] = 0; + if (!(HEAP32[$22 >> 2] | 0)) if (!(HEAP32[$24 >> 2] | 0)) break; else { + label = 13; + break; + } else if (!(HEAP32[$23 >> 2] | 0)) break; else { + label = 13; + break; + } + } while (0); + if ((label | 0) == 13) { + label = 0; + _memset(HEAP32[$3 + 124 + (HEAP32[$27 + 24 >> 2] << 2) >> 2] | 0, 0, 256) | 0; + } + $$035$i = $$035$i + 1 | 0; + } while (($$035$i | 0) < (HEAP32[$19 >> 2] | 0)); + } + HEAP32[$3 + 12 >> 2] = 0; + HEAP32[$3 + 16 >> 2] = 0; + HEAP32[$3 + 20 >> 2] = -16; + $54 = HEAP32[$4 >> 2] | 0; + HEAP32[$7 >> 2] = $54; + $56 = $54; + } else $56 = $8; + HEAP32[$7 >> 2] = $56 + -1; + } + $57 = $3 + 20 | 0; + if ((HEAP32[$57 >> 2] | 0) == -1) return 1; + $61 = HEAP32[$0 + 432 >> 2] | 0; + $62 = $0 + 368 | 0; + if ((HEAP32[$62 >> 2] | 0) <= 0) return 1; + $65 = $0 + 436 | 0; + $66 = $3 + 188 | 0; + $$0162200 = 0; + L32 : while (1) { + $68 = HEAP32[$1 + ($$0162200 << 2) >> 2] | 0; + $70 = HEAP32[$0 + 372 + ($$0162200 << 2) >> 2] | 0; + $72 = HEAP32[$0 + 344 + ($70 << 2) >> 2] | 0; + $74 = HEAP32[$72 + 20 >> 2] | 0; + $75 = $3 + 60 + ($74 << 2) | 0; + $77 = $3 + 40 + ($70 << 2) | 0; + $79 = (HEAP32[$75 >> 2] | 0) + (HEAP32[$77 >> 2] | 0) | 0; + if (!(_arith_decode($0, $79) | 0)) { + HEAP32[$77 >> 2] = 0; + $132 = HEAP32[$3 + 24 + ($70 << 2) >> 2] | 0; + } else { + $83 = _arith_decode($0, $79 + 1 | 0) | 0; + $85 = $79 + 2 + $83 | 0; + $86 = _arith_decode($0, $85) | 0; + if ($86) { + $89 = (HEAP32[$75 >> 2] | 0) + 20 | 0; + if (!(_arith_decode($0, $89) | 0)) { + $$1 = $86; + $$1158 = $89; + } else { + $$0148177 = $86; + $$0157176 = $89; + while (1) { + $92 = $$0148177 << 1; + if (($92 | 0) == 32768) { + label = 26; + break L32; + } + $98 = $$0157176 + 1 | 0; + if (!(_arith_decode($0, $98) | 0)) { + $$1 = $92; + $$1158 = $98; + break; + } else { + $$0148177 = $92; + $$0157176 = $98; + } + } + } + } else { + $$1 = 0; + $$1158 = $85; + } + do if (($$1 | 0) >= (1 << (HEAPU8[$0 + 232 + $74 >> 0] | 0) >> 1 | 0)) { + $113 = $83 << 2; + if (($$1 | 0) > (1 << (HEAPU8[$0 + 248 + $74 >> 0] | 0) >> 1 | 0)) { + $$sink = $113 + 12 | 0; + break; + } else { + $$sink = $113 + 4 | 0; + break; + } + } else $$sink = 0; while (0); + HEAP32[$77 >> 2] = $$sink; + $116 = $$1158 + 14 | 0; + $117 = $$1 >> 1; + if (!$117) $$0149$lcssa = $$1; else { + $$0149179 = $$1; + $122 = $117; + while (1) { + $120 = (_arith_decode($0, $116) | 0) == 0; + $spec$select = ($120 ? 0 : $122) | $$0149179; + $122 = $122 >> 1; + if (!$122) { + $$0149$lcssa = $spec$select; + break; + } else $$0149179 = $spec$select; + } + } + $128 = $3 + 24 + ($70 << 2) | 0; + $130 = (HEAP32[$128 >> 2] | 0) + (($83 | 0) == 0 ? $$0149$lcssa + 1 | 0 : ~$$0149$lcssa) | 0; + HEAP32[$128 >> 2] = $130; + $132 = $130; + } + HEAP16[$68 >> 1] = $132; + L56 : do if (HEAP32[$65 >> 2] | 0) { + $136 = HEAP32[$72 + 24 >> 2] | 0; + $137 = $3 + 124 + ($136 << 2) | 0; + $138 = $0 + 264 + $136 | 0; + $$0155 = 0; + while (1) { + $141 = (HEAP32[$137 >> 2] | 0) + ($$0155 * 3 | 0) | 0; + if (_arith_decode($0, $141) | 0) break L56; + $144 = $$0155 + 1 | 0; + if (!(_arith_decode($0, $141 + 1 | 0) | 0)) { + $$2159182 = $141; + $150 = $144; + while (1) { + if (($150 | 0) >= (HEAP32[$65 >> 2] | 0)) { + label = 42; + break L32; + } + $155 = $$2159182 + 3 | 0; + $156 = $150 + 1 | 0; + if (!(_arith_decode($0, $$2159182 + 4 | 0) | 0)) { + $$2159182 = $155; + $150 = $156; + } else { + $$1156$lcssa = $150; + $$2159$lcssa = $155; + $$lcssa = $156; + break; + } + } + } else { + $$1156$lcssa = $$0155; + $$2159$lcssa = $141; + $$lcssa = $144; + } + $160 = _arith_decode($0, $66) | 0; + $161 = $$2159$lcssa + 2 | 0; + $162 = _arith_decode($0, $161) | 0; + if ($162) { + if (_arith_decode($0, $161) | 0) { + $166 = $162 << 1; + $172 = (HEAP32[$137 >> 2] | 0) + (($$1156$lcssa | 0) < (HEAPU8[$138 >> 0] | 0 | 0) ? 189 : 217) | 0; + if (!(_arith_decode($0, $172) | 0)) { + $$4 = $166; + $$4161 = $172; + } else { + $$3160189 = $172; + $$3190 = $166; + while (1) { + $175 = $$3190 << 1; + if (($175 | 0) == 32768) { + label = 49; + break L32; + } + $181 = $$3160189 + 1 | 0; + if (!(_arith_decode($0, $181) | 0)) { + $$4 = $175; + $$4161 = $181; + break; + } else { + $$3160189 = $181; + $$3190 = $175; + } + } + } + } else { + $$4 = $162; + $$4161 = $161; + } + $184 = $$4161 + 14 | 0; + $185 = $$4 >> 1; + if (!$185) $$3152$lcssa = $$4; else { + $$3152195 = $$4; + $190 = $185; + while (1) { + $188 = (_arith_decode($0, $184) | 0) == 0; + $spec$select164 = ($188 ? 0 : $190) | $$3152195; + $190 = $190 >> 1; + if (!$190) { + $$3152$lcssa = $spec$select164; + break; + } else $$3152195 = $spec$select164; + } + } + } else $$3152$lcssa = 0; + HEAP16[$68 + (HEAP32[$61 + ($$lcssa << 2) >> 2] << 1) >> 1] = ($160 | 0) == 0 ? $$3152$lcssa + 1 | 0 : $$3152$lcssa ^ 65535; + if (($$lcssa | 0) < (HEAP32[$65 >> 2] | 0)) $$0155 = $$lcssa; else break; + } + } while (0); + $$0162200 = $$0162200 + 1 | 0; + if (($$0162200 | 0) >= (HEAP32[$62 >> 2] | 0)) { + label = 56; + break; + } + } + if ((label | 0) == 26) { + $94 = HEAP32[$0 >> 2] | 0; + HEAP32[$94 + 20 >> 2] = 117; + FUNCTION_TABLE_vii[HEAP32[$94 + 4 >> 2] & 255]($0, -1); + HEAP32[$57 >> 2] = -1; + return 1; + } else if ((label | 0) == 42) { + $151 = HEAP32[$0 >> 2] | 0; + HEAP32[$151 + 20 >> 2] = 117; + FUNCTION_TABLE_vii[HEAP32[$151 + 4 >> 2] & 255]($0, -1); + HEAP32[$57 >> 2] = -1; + return 1; + } else if ((label | 0) == 49) { + $177 = HEAP32[$0 >> 2] | 0; + HEAP32[$177 + 20 >> 2] = 117; + FUNCTION_TABLE_vii[HEAP32[$177 + 4 >> 2] & 255]($0, -1); + HEAP32[$57 >> 2] = -1; + return 1; + } else if ((label | 0) == 56) return 1; + return 0; +} + +function _jpeg_idct_16x16($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0403411 = 0, $$0405410 = 0, $$0406409 = 0, $$0412 = 0, $$1404407 = 0, $$1408 = 0, $101 = 0, $103 = 0, $109 = 0, $114 = 0, $115 = 0, $118 = 0, $122 = 0, $128 = 0, $130 = 0, $131 = 0, $132 = 0, $134 = 0, $135 = 0, $136 = 0, $15 = 0, $188 = 0, $191 = 0, $194 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $200 = 0, $201 = 0, $202 = 0, $204 = 0, $206 = 0, $207 = 0, $208 = 0, $209 = 0, $21 = 0, $211 = 0, $213 = 0, $215 = 0, $217 = 0, $218 = 0, $219 = 0, $22 = 0, $220 = 0, $221 = 0, $222 = 0, $223 = 0, $224 = 0, $225 = 0, $227 = 0, $229 = 0, $23 = 0, $231 = 0, $233 = 0, $234 = 0, $236 = 0, $237 = 0, $239 = 0, $24 = 0, $241 = 0, $242 = 0, $244 = 0, $248 = 0, $25 = 0, $252 = 0, $254 = 0, $26 = 0, $260 = 0, $265 = 0, $266 = 0, $269 = 0, $27 = 0, $273 = 0, $279 = 0, $281 = 0, $282 = 0, $283 = 0, $285 = 0, $286 = 0, $287 = 0, $33 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $44 = 0, $46 = 0, $48 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $64 = 0, $7 = 0, $70 = 0, $76 = 0, $82 = 0, $83 = 0, $85 = 0, $86 = 0, $88 = 0, $90 = 0, $91 = 0, $93 = 0, $97 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 512 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(512); + $5 = sp; + $7 = HEAP32[$0 + 336 >> 2] | 0; + $$0403411 = $5; + $$0405410 = HEAP32[$1 + 84 >> 2] | 0; + $$0406409 = $2; + $$0412 = 0; + while (1) { + $15 = Math_imul(HEAP16[$$0406409 >> 1] << 13, HEAP32[$$0405410 >> 2] | 0) | 0 | 1024; + $21 = Math_imul(HEAP32[$$0405410 + 128 >> 2] | 0, HEAP16[$$0406409 + 64 >> 1] | 0) | 0; + $22 = $21 * 10703 | 0; + $23 = $21 * 4433 | 0; + $24 = $22 + $15 | 0; + $25 = $15 - $22 | 0; + $26 = $23 + $15 | 0; + $27 = $15 - $23 | 0; + $33 = Math_imul(HEAP32[$$0405410 + 64 >> 2] | 0, HEAP16[$$0406409 + 32 >> 1] | 0) | 0; + $39 = Math_imul(HEAP32[$$0405410 + 192 >> 2] | 0, HEAP16[$$0406409 + 96 >> 1] | 0) | 0; + $40 = $33 - $39 | 0; + $41 = $40 * 2260 | 0; + $42 = $40 * 11363 | 0; + $44 = $42 + ($39 * 20995 | 0) | 0; + $46 = $41 + ($33 * 7373 | 0) | 0; + $48 = $42 + (Math_imul($33, -4926) | 0) | 0; + $50 = $41 + (Math_imul($39, -4176) | 0) | 0; + $51 = $44 + $24 | 0; + $52 = $24 - $44 | 0; + $53 = $46 + $26 | 0; + $54 = $26 - $46 | 0; + $55 = $48 + $27 | 0; + $56 = $27 - $48 | 0; + $57 = $50 + $25 | 0; + $58 = $25 - $50 | 0; + $64 = Math_imul(HEAP32[$$0405410 + 32 >> 2] | 0, HEAP16[$$0406409 + 16 >> 1] | 0) | 0; + $70 = Math_imul(HEAP32[$$0405410 + 96 >> 2] | 0, HEAP16[$$0406409 + 48 >> 1] | 0) | 0; + $76 = Math_imul(HEAP32[$$0405410 + 160 >> 2] | 0, HEAP16[$$0406409 + 80 >> 1] | 0) | 0; + $82 = Math_imul(HEAP32[$$0405410 + 224 >> 2] | 0, HEAP16[$$0406409 + 112 >> 1] | 0) | 0; + $83 = $76 + $64 | 0; + $85 = ($70 + $64 | 0) * 11086 | 0; + $86 = $83 * 10217 | 0; + $88 = ($82 + $64 | 0) * 8956 | 0; + $90 = ($64 - $82 | 0) * 7350 | 0; + $91 = $83 * 5461 | 0; + $93 = ($64 - $70 | 0) * 3363 | 0; + $97 = $85 + (Math_imul($64, -18730) | 0) + $86 + $88 | 0; + $101 = $93 + (Math_imul($64, -15038) | 0) + $91 + $90 | 0; + $103 = ($76 + $70 | 0) * 1136 | 0; + $109 = ($76 - $70 | 0) * 11529 | 0; + $114 = $82 + $70 | 0; + $115 = Math_imul($114, -5461) | 0; + $118 = $85 + ($70 * 589 | 0) + $103 + $115 | 0; + $122 = Math_imul($114, -10217) | 0; + $128 = $93 + ($70 * 16154 | 0) + $109 + $122 | 0; + $130 = Math_imul($82 + $76 | 0, -11086) | 0; + $131 = $103 + (Math_imul($76, -9222) | 0) + $86 + $130 | 0; + $132 = $115 + ($82 * 8728 | 0) + $88 + $130 | 0; + $134 = ($82 - $76 | 0) * 3363 | 0; + $135 = $122 + ($82 * 25733 | 0) + $90 + $134 | 0; + $136 = $109 + (Math_imul($76, -6278) | 0) + $91 + $134 | 0; + HEAP32[$$0403411 >> 2] = $97 + $51 >> 11; + HEAP32[$$0403411 + 480 >> 2] = $51 - $97 >> 11; + HEAP32[$$0403411 + 32 >> 2] = $118 + $53 >> 11; + HEAP32[$$0403411 + 448 >> 2] = $53 - $118 >> 11; + HEAP32[$$0403411 + 64 >> 2] = $131 + $55 >> 11; + HEAP32[$$0403411 + 416 >> 2] = $55 - $131 >> 11; + HEAP32[$$0403411 + 96 >> 2] = $132 + $57 >> 11; + HEAP32[$$0403411 + 384 >> 2] = $57 - $132 >> 11; + HEAP32[$$0403411 + 128 >> 2] = $135 + $58 >> 11; + HEAP32[$$0403411 + 352 >> 2] = $58 - $135 >> 11; + HEAP32[$$0403411 + 160 >> 2] = $136 + $56 >> 11; + HEAP32[$$0403411 + 320 >> 2] = $56 - $136 >> 11; + HEAP32[$$0403411 + 192 >> 2] = $128 + $54 >> 11; + HEAP32[$$0403411 + 288 >> 2] = $54 - $128 >> 11; + HEAP32[$$0403411 + 224 >> 2] = $101 + $52 >> 11; + HEAP32[$$0403411 + 256 >> 2] = $52 - $101 >> 11; + $$0412 = $$0412 + 1 | 0; + if (($$0412 | 0) == 8) break; else { + $$0403411 = $$0403411 + 4 | 0; + $$0405410 = $$0405410 + 4 | 0; + $$0406409 = $$0406409 + 2 | 0; + } + } + $188 = $7 + -384 | 0; + $$1404407 = $5; + $$1408 = 0; + while (1) { + $191 = (HEAP32[$3 + ($$1408 << 2) >> 2] | 0) + $4 | 0; + $194 = (HEAP32[$$1404407 >> 2] << 13) + 134348800 | 0; + $196 = HEAP32[$$1404407 + 16 >> 2] | 0; + $197 = $196 * 10703 | 0; + $198 = $196 * 4433 | 0; + $199 = $194 + $197 | 0; + $200 = $194 - $197 | 0; + $201 = $194 + $198 | 0; + $202 = $194 - $198 | 0; + $204 = HEAP32[$$1404407 + 8 >> 2] | 0; + $206 = HEAP32[$$1404407 + 24 >> 2] | 0; + $207 = $204 - $206 | 0; + $208 = $207 * 2260 | 0; + $209 = $207 * 11363 | 0; + $211 = $209 + ($206 * 20995 | 0) | 0; + $213 = $208 + ($204 * 7373 | 0) | 0; + $215 = $209 + (Math_imul($204, -4926) | 0) | 0; + $217 = $208 + (Math_imul($206, -4176) | 0) | 0; + $218 = $211 + $199 | 0; + $219 = $199 - $211 | 0; + $220 = $213 + $201 | 0; + $221 = $201 - $213 | 0; + $222 = $215 + $202 | 0; + $223 = $202 - $215 | 0; + $224 = $217 + $200 | 0; + $225 = $200 - $217 | 0; + $227 = HEAP32[$$1404407 + 4 >> 2] | 0; + $229 = HEAP32[$$1404407 + 12 >> 2] | 0; + $231 = HEAP32[$$1404407 + 20 >> 2] | 0; + $233 = HEAP32[$$1404407 + 28 >> 2] | 0; + $234 = $231 + $227 | 0; + $236 = ($229 + $227 | 0) * 11086 | 0; + $237 = $234 * 10217 | 0; + $239 = ($233 + $227 | 0) * 8956 | 0; + $241 = ($227 - $233 | 0) * 7350 | 0; + $242 = $234 * 5461 | 0; + $244 = ($227 - $229 | 0) * 3363 | 0; + $248 = $236 + (Math_imul($227, -18730) | 0) + $237 + $239 | 0; + $252 = $244 + (Math_imul($227, -15038) | 0) + $242 + $241 | 0; + $254 = ($231 + $229 | 0) * 1136 | 0; + $260 = ($231 - $229 | 0) * 11529 | 0; + $265 = $233 + $229 | 0; + $266 = Math_imul($265, -5461) | 0; + $269 = $236 + ($229 * 589 | 0) + $254 + $266 | 0; + $273 = Math_imul($265, -10217) | 0; + $279 = $244 + ($229 * 16154 | 0) + $260 + $273 | 0; + $281 = Math_imul($233 + $231 | 0, -11086) | 0; + $282 = $254 + (Math_imul($231, -9222) | 0) + $237 + $281 | 0; + $283 = $266 + ($233 * 8728 | 0) + $239 + $281 | 0; + $285 = ($233 - $231 | 0) * 3363 | 0; + $286 = $273 + ($233 * 25733 | 0) + $241 + $285 | 0; + $287 = $260 + (Math_imul($231, -6278) | 0) + $242 + $285 | 0; + HEAP8[$191 >> 0] = HEAP8[$188 + (($248 + $218 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$191 + 15 >> 0] = HEAP8[$188 + (($218 - $248 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$191 + 1 >> 0] = HEAP8[$188 + (($269 + $220 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$191 + 14 >> 0] = HEAP8[$188 + (($220 - $269 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$191 + 2 >> 0] = HEAP8[$188 + (($282 + $222 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$191 + 13 >> 0] = HEAP8[$188 + (($222 - $282 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$191 + 3 >> 0] = HEAP8[$188 + (($283 + $224 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$191 + 12 >> 0] = HEAP8[$188 + (($224 - $283 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$191 + 4 >> 0] = HEAP8[$188 + (($286 + $225 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$191 + 11 >> 0] = HEAP8[$188 + (($225 - $286 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$191 + 5 >> 0] = HEAP8[$188 + (($287 + $223 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$191 + 10 >> 0] = HEAP8[$188 + (($223 - $287 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$191 + 6 >> 0] = HEAP8[$188 + (($279 + $221 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$191 + 9 >> 0] = HEAP8[$188 + (($221 - $279 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$191 + 7 >> 0] = HEAP8[$188 + (($252 + $219 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$191 + 8 >> 0] = HEAP8[$188 + (($219 - $252 | 0) >>> 18 & 1023) >> 0] | 0; + $$1408 = $$1408 + 1 | 0; + if (($$1408 | 0) == 16) break; else $$1404407 = $$1404407 + 32 | 0; + } + STACKTOP = sp; + return; +} + +function _finish_pass1($0) { + $0 = $0 | 0; + var $$0$lcssa$i$i = 0, $$0$lcssa$i34$i = 0, $$0124$i$i = 0, $$01623$i$i$i = 0, $$01724$i$i$i = 0, $$01822$i$i$i = 0, $$01921$i$i$i = 0, $$01923$i$i$i = 0, $$02022$i$i$i = 0, $$024$i$i$i = 0, $$025$i$i$i = 0, $$036$i = 0, $$05$i$i = 0, $$072$i$i = 0, $$083$lcssa$i$i = 0, $$083123$i$i = 0, $$087$lcssa$i$i = 0, $$087122$i$i = 0, $$091$lcssa$i$i = 0, $$091121$i$i = 0, $$095100$i$i = 0, $$096120$i$i = 0, $$097108$i$i = 0, $$09899$i$i = 0, $$1$i$i$i = 0, $$1112$i$i = 0, $$118$i$i$i = 0, $$184111$i$i = 0, $$188110$i$i = 0, $$192109$i$i = 0, $$2104$i$i = 0, $$285103$i$i = 0, $$289102$i$i = 0, $$293101$i$i = 0, $$3$i$i = 0, $$386$i$i = 0, $$390$i$i = 0, $$394$i$i = 0, $$sink11 = 0, $$sink12 = 0, $1 = 0, $100 = 0, $102 = 0, $103 = 0, $12 = 0, $120 = 0, $144 = 0, $2 = 0, $22 = 0, $26 = 0, $30 = 0, $31 = 0, $35 = 0, $36 = 0, $39 = 0, $42 = 0, $46 = 0, $48 = 0, $49 = 0, $5 = 0, $51 = 0, $52 = 0, $53 = 0, $55 = 0, $56 = 0, $57 = 0, $59 = 0, $60 = 0, $61 = 0, $64 = 0, $68 = 0, $7 = 0, $70 = 0, $72 = 0, $74 = 0, $78 = 0, $80 = 0, $82 = 0, $84 = 0, $86 = 0, $88 = 0, $90 = 0, $95 = 0, $97 = 0, $spec$select20$i$i$i = 0, label = 0; + $1 = $0 + 484 | 0; + $2 = HEAP32[$1 >> 2] | 0; + $5 = $0 + 136 | 0; + HEAP32[$5 >> 2] = HEAP32[$2 + 16 >> 2]; + $7 = HEAP32[$2 + 20 >> 2] | 0; + $12 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$0 + 4 >> 2] >> 2] & 63]($0, 1, $7 << 5) | 0; + HEAP32[$12 >> 2] = 0; + HEAP32[$12 + 4 >> 2] = 31; + HEAP32[$12 + 8 >> 2] = 0; + HEAP32[$12 + 12 >> 2] = 63; + HEAP32[$12 + 16 >> 2] = 0; + HEAP32[$12 + 20 >> 2] = 31; + _update_box($0, $12); + L1 : do if (($7 | 0) > 1) { + $$05$i$i = 1; + while (1) { + if (($$05$i$i << 1 | 0) > ($7 | 0)) { + $$01623$i$i$i = 0; + $$01822$i$i$i = 0; + $$01921$i$i$i = $12; + $$024$i$i$i = 0; + while (1) { + $30 = HEAP32[$$01921$i$i$i + 24 >> 2] | 0; + $31 = ($30 | 0) > ($$01623$i$i$i | 0); + $spec$select20$i$i$i = $31 ? $$01921$i$i$i : $$024$i$i$i; + $$01822$i$i$i = $$01822$i$i$i + 1 | 0; + if (($$01822$i$i$i | 0) == ($$05$i$i | 0)) { + $$072$i$i = $spec$select20$i$i$i; + break; + } else { + $$01623$i$i$i = $31 ? $30 : $$01623$i$i$i; + $$01921$i$i$i = $$01921$i$i$i + 32 | 0; + $$024$i$i$i = $spec$select20$i$i$i; + } + } + } else { + $$01724$i$i$i = 0; + $$01923$i$i$i = 0; + $$02022$i$i$i = $12; + $$025$i$i$i = 0; + while (1) { + $22 = HEAP32[$$02022$i$i$i + 28 >> 2] | 0; + if (($22 | 0) > ($$01724$i$i$i | 0)) { + $26 = (HEAP32[$$02022$i$i$i + 24 >> 2] | 0) > 0; + $$1$i$i$i = $26 ? $$02022$i$i$i : $$025$i$i$i; + $$118$i$i$i = $26 ? $22 : $$01724$i$i$i; + } else { + $$1$i$i$i = $$025$i$i$i; + $$118$i$i$i = $$01724$i$i$i; + } + $$01923$i$i$i = $$01923$i$i$i + 1 | 0; + if (($$01923$i$i$i | 0) == ($$05$i$i | 0)) { + $$072$i$i = $$1$i$i$i; + break; + } else { + $$01724$i$i$i = $$118$i$i$i; + $$02022$i$i$i = $$02022$i$i$i + 32 | 0; + $$025$i$i$i = $$1$i$i$i; + } + } + } + if (!$$072$i$i) { + $$0$lcssa$i$i = $$05$i$i; + break L1; + } + $35 = $12 + ($$05$i$i << 5) | 0; + $36 = $$072$i$i + 4 | 0; + HEAP32[$12 + ($$05$i$i << 5) + 4 >> 2] = HEAP32[$36 >> 2]; + $39 = $$072$i$i + 12 | 0; + HEAP32[$12 + ($$05$i$i << 5) + 12 >> 2] = HEAP32[$39 >> 2]; + $42 = $$072$i$i + 20 | 0; + HEAP32[$12 + ($$05$i$i << 5) + 20 >> 2] = HEAP32[$42 >> 2]; + HEAP32[$35 >> 2] = HEAP32[$$072$i$i >> 2]; + $46 = $$072$i$i + 8 | 0; + $48 = $12 + ($$05$i$i << 5) + 8 | 0; + HEAP32[$48 >> 2] = HEAP32[$46 >> 2]; + $49 = $$072$i$i + 16 | 0; + $51 = $12 + ($$05$i$i << 5) + 16 | 0; + HEAP32[$51 >> 2] = HEAP32[$49 >> 2]; + $52 = HEAP32[$36 >> 2] | 0; + $53 = HEAP32[$$072$i$i >> 2] | 0; + $55 = $52 - $53 << 4; + $56 = HEAP32[$39 >> 2] | 0; + $57 = HEAP32[$46 >> 2] | 0; + $59 = ($56 - $57 | 0) * 12 | 0; + $60 = HEAP32[$42 >> 2] | 0; + $61 = HEAP32[$49 >> 2] | 0; + $64 = ($55 | 0) > ($59 | 0); + switch ((($60 - $61 << 3 | 0) > (($64 ? $55 : $59) | 0) ? 2 : ($64 ^ 1) & 1) & 3) { + case 0: + { + $68 = ($53 + $52 | 0) / 2 | 0; + HEAP32[$36 >> 2] = $68; + $$sink11 = $35; + $$sink12 = $68; + label = 15; + break; + } + case 1: + { + $70 = ($57 + $56 | 0) / 2 | 0; + HEAP32[$39 >> 2] = $70; + $$sink11 = $48; + $$sink12 = $70; + label = 15; + break; + } + case 2: + { + $72 = ($61 + $60 | 0) / 2 | 0; + HEAP32[$42 >> 2] = $72; + $$sink11 = $51; + $$sink12 = $72; + label = 15; + break; + } + default: + {} + } + if ((label | 0) == 15) { + label = 0; + HEAP32[$$sink11 >> 2] = $$sink12 + 1; + } + _update_box($0, $$072$i$i); + _update_box($0, $35); + $74 = $$05$i$i + 1 | 0; + if (($74 | 0) < ($7 | 0)) $$05$i$i = $74; else { + $$0$lcssa$i$i = $74; + break L1; + } + } + } else $$0$lcssa$i$i = 1; while (0); + $$036$i = 0; + do { + $78 = HEAP32[(HEAP32[$1 >> 2] | 0) + 24 >> 2] | 0; + $80 = HEAP32[$12 + ($$036$i << 5) >> 2] | 0; + $82 = HEAP32[$12 + ($$036$i << 5) + 4 >> 2] | 0; + $84 = HEAP32[$12 + ($$036$i << 5) + 8 >> 2] | 0; + $86 = HEAP32[$12 + ($$036$i << 5) + 12 >> 2] | 0; + $88 = HEAP32[$12 + ($$036$i << 5) + 16 >> 2] | 0; + $90 = HEAP32[$12 + ($$036$i << 5) + 20 >> 2] | 0; + if (($80 | 0) > ($82 | 0) | ($84 | 0) > ($86 | 0) | ($88 | 0) > ($90 | 0)) { + $$0$lcssa$i34$i = 0; + $$083$lcssa$i$i = 0; + $$087$lcssa$i$i = 0; + $$091$lcssa$i$i = 0; + } else { + $$0124$i$i = 0; + $$083123$i$i = 0; + $$087122$i$i = 0; + $$091121$i$i = 0; + $$096120$i$i = $80; + while (1) { + $95 = HEAP32[$78 + ($$096120$i$i << 2) >> 2] | 0; + $97 = $$096120$i$i << 3 | 4; + $$097108$i$i = $84; + $$1112$i$i = $$0124$i$i; + $$184111$i$i = $$083123$i$i; + $$188110$i$i = $$087122$i$i; + $$192109$i$i = $$091121$i$i; + while (1) { + $100 = $$097108$i$i << 2 | 2; + $$095100$i$i = $95 + ($$097108$i$i << 6) + ($88 << 1) | 0; + $$09899$i$i = $88; + $$2104$i$i = $$1112$i$i; + $$285103$i$i = $$184111$i$i; + $$289102$i$i = $$188110$i$i; + $$293101$i$i = $$192109$i$i; + while (1) { + $102 = HEAP16[$$095100$i$i >> 1] | 0; + $103 = $102 & 65535; + if (!($102 << 16 >> 16)) { + $$3$i$i = $$2104$i$i; + $$386$i$i = $$285103$i$i; + $$390$i$i = $$289102$i$i; + $$394$i$i = $$293101$i$i; + } else { + $$3$i$i = (Math_imul($$09899$i$i << 3 | 4, $103) | 0) + $$2104$i$i | 0; + $$386$i$i = (Math_imul($100, $103) | 0) + $$285103$i$i | 0; + $$390$i$i = (Math_imul($97, $103) | 0) + $$289102$i$i | 0; + $$394$i$i = $$293101$i$i + $103 | 0; + } + if (($$09899$i$i | 0) < ($90 | 0)) { + $$095100$i$i = $$095100$i$i + 2 | 0; + $$09899$i$i = $$09899$i$i + 1 | 0; + $$2104$i$i = $$3$i$i; + $$285103$i$i = $$386$i$i; + $$289102$i$i = $$390$i$i; + $$293101$i$i = $$394$i$i; + } else break; + } + if (($$097108$i$i | 0) < ($86 | 0)) { + $$097108$i$i = $$097108$i$i + 1 | 0; + $$1112$i$i = $$3$i$i; + $$184111$i$i = $$386$i$i; + $$188110$i$i = $$390$i$i; + $$192109$i$i = $$394$i$i; + } else break; + } + if (($$096120$i$i | 0) < ($82 | 0)) { + $$0124$i$i = $$3$i$i; + $$083123$i$i = $$386$i$i; + $$087122$i$i = $$390$i$i; + $$091121$i$i = $$394$i$i; + $$096120$i$i = $$096120$i$i + 1 | 0; + } else { + $$0$lcssa$i34$i = $$3$i$i; + $$083$lcssa$i$i = $$386$i$i; + $$087$lcssa$i$i = $$390$i$i; + $$091$lcssa$i$i = $$394$i$i; + break; + } + } + } + $120 = $$091$lcssa$i$i >> 1; + HEAP8[(HEAP32[HEAP32[$5 >> 2] >> 2] | 0) + $$036$i >> 0] = ($$087$lcssa$i$i + $120 | 0) / ($$091$lcssa$i$i | 0) | 0; + HEAP8[(HEAP32[(HEAP32[$5 >> 2] | 0) + 4 >> 2] | 0) + $$036$i >> 0] = ($$083$lcssa$i$i + $120 | 0) / ($$091$lcssa$i$i | 0) | 0; + HEAP8[(HEAP32[(HEAP32[$5 >> 2] | 0) + 8 >> 2] | 0) + $$036$i >> 0] = ($$0$lcssa$i34$i + $120 | 0) / ($$091$lcssa$i$i | 0) | 0; + $$036$i = $$036$i + 1 | 0; + } while (($$036$i | 0) < ($$0$lcssa$i$i | 0)); + HEAP32[$0 + 132 >> 2] = $$0$lcssa$i$i; + $144 = HEAP32[$0 >> 2] | 0; + HEAP32[$144 + 20 >> 2] = 98; + HEAP32[$144 + 24 >> 2] = $$0$lcssa$i$i; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$0 >> 2] | 0) + 4 >> 2] & 255]($0, 1); + HEAP32[$2 + 28 >> 2] = 1; + return; +} + +function _get_matrix_code($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 $$0212 = 0, $$0213 = 0, $$0217 = 0, $$0225 = 0, $$0228 = 0, $$0230 = 0, $$1214 = 0, $$1218 = 0, $$2215 = 0, $$2219 = 0, $$3216 = 0, $$3220 = 0, $$4221 = 0, $$5222 = 0, $$6223 = 0, $$7224 = 0, $107 = 0, $11 = 0, $112 = 0, $113 = 0, $114 = 0, $115 = 0, $12 = 0, $125 = 0, $126 = 0, $132 = 0, $133 = 0, $134 = 0, $135 = 0, $138 = 0, $14 = 0, $149 = 0, $150 = 0, $151 = 0, $154 = 0, $160 = 0, $161 = 0, $164 = 0, $173 = 0, $174 = 0, $178 = 0, $188 = 0, $189 = 0, $190 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $200 = 0, $201 = 0, $202 = 0, $203 = 0, $21 = 0, $25 = 0, $26 = 0, $30 = 0, $44 = 0, $55 = 0, $57 = 0, $58 = 0, $65 = 0, $67 = 0, $68 = 0, $7 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $8 = 0, $86 = 0, $87 = 0, $89 = 0, $9 = 0, $91 = 0, $92 = 0, $93 = 0, $94 = 0, $97 = 0, $or$cond7249 = 0, $spec$select232 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $7 = sp + 24 | 0; + $8 = sp; + $9 = sp + 16 | 0; + L1 : do if (($1 + -3 | 0) >>> 0 > 5) { + HEAP32[$2 >> 2] = -1; + HEAP32[$3 >> 2] = 0; + HEAPF64[$4 >> 3] = -1.0; + $$0212 = -1; + } else { + HEAP32[$8 >> 2] = 0; + $11 = $1 + -1 | 0; + $12 = Math_imul($11, $1) | 0; + HEAP32[$8 + 4 >> 2] = $12; + $14 = Math_imul($1, $1) | 0; + HEAP32[$8 + 8 >> 2] = $14 + -1; + HEAP32[$8 + 12 >> 2] = $11; + $$0217 = 0; + $$0228 = 0; + $$0230 = -1; + while (1) { + if (($$0217 | 0) == 4) break; + $21 = HEAP8[$0 + (HEAP32[$8 + ($$0217 << 2) >> 2] | 0) >> 0] | 0; + $$0217 = $$0217 + 1 | 0; + $$0228 = ($21 & 255) > ($$0228 & 255) ? $21 : $$0228; + $$0230 = ($21 & 255) < ($$0230 & 255) ? $21 : $$0230; + } + $25 = $$0228 & 255; + $26 = $$0230 & 255; + if (($25 - $26 | 0) < 30) { + HEAP32[$2 >> 2] = -1; + HEAP32[$3 >> 2] = 0; + HEAPF64[$4 >> 3] = -1.0; + $$0212 = -2; + break; + } + $30 = ($25 + $26 | 0) >>> 1; + $$1218 = 0; + while (1) { + if (($$1218 | 0) == 4) break; + HEAP8[$7 + $$1218 >> 0] = $30 >>> 0 > (HEAPU8[$0 + (HEAP32[$8 + ($$1218 << 2) >> 2] | 0) >> 0] | 0) >>> 0 & 1; + $$1218 = $$1218 + 1 | 0; + } + $$2219 = 0; + while (1) { + if ($$2219 >>> 0 >= 4) { + label = 18; + break; + } + $44 = $$2219 + 1 | 0; + if (((HEAP8[$7 + $$2219 >> 0] | 0) == 1 ? (HEAP8[$7 + ($44 & 3) >> 0] | 0) == 1 : 0) ? (HEAP8[$7 + ($$2219 + 2 & 3) >> 0] | 0) == 0 : 0) { + label = 17; + break; + } + $$2219 = $44; + } + if ((label | 0) == 17) HEAP32[$3 >> 2] = $$2219; else if ((label | 0) == 18 ? ($$2219 | 0) == 4 : 0) { + HEAP32[$2 >> 2] = -1; + HEAP32[$3 >> 2] = 0; + HEAPF64[$4 >> 3] = -1.0; + $$0212 = -3; + break; + } + $$0225 = 255; + $$3220 = 0; + while (1) { + if (($$3220 | 0) == ($14 | 0)) break; + $55 = $0 + $$3220 | 0; + $57 = HEAPU8[$55 >> 0] | 0; + $58 = $57 - $30 | 0; + $spec$select232 = ($58 | 0) < 0 ? 0 - $58 | 0 : $58; + HEAP8[$55 >> 0] = $30 >>> 0 > $57 >>> 0 & 1; + $$0225 = ($spec$select232 | 0) < ($$0225 | 0) ? $spec$select232 : $$0225; + $$3220 = $$3220 + 1 | 0; + } + $65 = HEAP32[$3 >> 2] | 0; + L31 : do switch ($65 | 0) { + case 0: + { + $$0213 = $65; + $194 = 0; + $195 = 0; + while (1) { + if (($$0213 | 0) >= ($1 | 0)) { + $149 = $194; + $173 = $195; + break L31; + } + $67 = ($$0213 | 0) == ($11 | 0); + $68 = Math_imul($$0213, $1) | 0; + $$4221 = 0; + $73 = $194; + $74 = $195; + while (1) { + if (($$4221 | 0) == ($1 | 0)) break; + if (($$4221 | $$0213 | 0) != 0 ? !($67 & (($$4221 | 0) == 0 | ($$4221 | 0) == ($11 | 0))) : 0) { + $75 = _bitshift64Shl($73 | 0, $74 | 0, 1) | 0; + $76 = getTempRet0() | 0; + $196 = $75 | (HEAP8[$0 + ($$4221 + $68) >> 0] | 0) != 0; + $197 = $76; + } else { + $196 = $73; + $197 = $74; + } + $$4221 = $$4221 + 1 | 0; + $73 = $196; + $74 = $197; + } + $$0213 = $$0213 + 1 | 0; + $194 = $73; + $195 = $74; + } + break; + } + case 1: + { + $$5222 = 0; + $192 = 0; + $193 = 0; + while (1) { + if (($$5222 | 0) >= ($1 | 0)) { + $149 = $192; + $173 = $193; + break L31; + } + $86 = ($$5222 | 0) == 0; + $87 = ($$5222 | 0) == ($11 | 0); + $$1214 = $11; + $91 = $192; + $92 = $193; + while (1) { + if (($$1214 | 0) <= -1) break; + $89 = ($$1214 | 0) == ($11 | 0); + if (!($86 & $89) ? !($87 & ($89 | ($$1214 | 0) == 0)) : 0) { + $93 = _bitshift64Shl($91 | 0, $92 | 0, 1) | 0; + $94 = getTempRet0() | 0; + $97 = $0 + ((Math_imul($$1214, $1) | 0) + $$5222) | 0; + $198 = $93 | (HEAP8[$97 >> 0] | 0) != 0; + $199 = $94; + } else { + $198 = $91; + $199 = $92; + } + $$1214 = $$1214 + -1 | 0; + $91 = $198; + $92 = $199; + } + $$5222 = $$5222 + 1 | 0; + $192 = $91; + $193 = $92; + } + break; + } + case 2: + { + $$2215 = $11; + $190 = 0; + $191 = 0; + while (1) { + if (($$2215 | 0) <= -1) { + $149 = $190; + $173 = $191; + break L31; + } + $or$cond7249 = ($$2215 | 0) == ($11 | 0) | ($$2215 | 0) == 0; + $107 = Math_imul($$2215, $1) | 0; + $$6223 = $11; + $112 = $190; + $113 = $191; + while (1) { + if (($$6223 | 0) <= -1) break; + if ($or$cond7249 & ($$6223 | 0) == ($11 | 0) | ($$6223 | $$2215 | 0) == 0) { + $200 = $112; + $201 = $113; + } else { + $114 = _bitshift64Shl($112 | 0, $113 | 0, 1) | 0; + $115 = getTempRet0() | 0; + $200 = $114 | (HEAP8[$0 + ($$6223 + $107) >> 0] | 0) != 0; + $201 = $115; + } + $$6223 = $$6223 + -1 | 0; + $112 = $200; + $113 = $201; + } + $$2215 = $$2215 + -1 | 0; + $190 = $112; + $191 = $113; + } + break; + } + case 3: + { + $$7224 = $11; + $188 = 0; + $189 = 0; + while (1) { + if (($$7224 | 0) <= -1) { + $149 = $188; + $173 = $189; + break L31; + } + $125 = ($$7224 | 0) == ($11 | 0); + $126 = ($$7224 | 0) == 0; + $$3216 = 0; + $132 = $188; + $133 = $189; + while (1) { + if (($$3216 | 0) >= ($1 | 0)) break; + if ($125 & ($$3216 | 0) == 0 | ($$3216 | $$7224 | 0) == 0 | $126 & ($$3216 | 0) == ($11 | 0)) { + $202 = $132; + $203 = $133; + } else { + $134 = _bitshift64Shl($132 | 0, $133 | 0, 1) | 0; + $135 = getTempRet0() | 0; + $138 = $0 + ((Math_imul($$3216, $1) | 0) + $$7224) | 0; + $202 = $134 | (HEAP8[$138 >> 0] | 0) != 0; + $203 = $135; + } + $$3216 = $$3216 + 1 | 0; + $132 = $202; + $133 = $203; + } + $$7224 = $$7224 + -1 | 0; + $188 = $132; + $189 = $133; + } + break; + } + default: + { + $149 = 0; + $173 = 0; + } + } while (0); + HEAPF64[$4 >> 3] = ($$0225 | 0) > 30 ? 1.0 : +($$0225 | 0) / 30.0; + switch ($5 | 0) { + case 259: + { + $150 = HEAP8[240 + $149 >> 0] | 0; + $151 = $150 << 24 >> 24; + $154 = $9; + HEAP32[$154 >> 2] = $151; + HEAP32[$154 + 4 >> 2] = (($151 | 0) < 0) << 31 >> 31; + if ($150 << 24 >> 24 < 0) { + HEAP32[$2 >> 2] = -1; + HEAPF64[$4 >> 3] = -1.0; + $$0212 = -4; + break L1; + } + break; + } + case 515: + { + $160 = HEAP8[112 + $149 >> 0] | 0; + $161 = $160 << 24 >> 24; + $164 = $9; + HEAP32[$164 >> 2] = $161; + HEAP32[$164 + 4 >> 2] = (($161 | 0) < 0) << 31 >> 31; + if ($6 | 0) HEAP32[$6 >> 2] = HEAPU8[176 + $149 >> 0]; + if ($160 << 24 >> 24 < 0) { + HEAP32[$2 >> 2] = -1; + HEAPF64[$4 >> 3] = -1.0; + $$0212 = -4; + break L1; + } + break; + } + case 772: + case 1028: + case 1029: + case 1285: + { + $174 = _decode_bch($5, $149, $173, 0, $9) | 0; + if (($174 | 0) < 0) { + HEAP32[$2 >> 2] = -1; + HEAPF64[$4 >> 3] = -1.0; + $$0212 = -4; + break L1; + } + if (($6 | 0) != 0 & ($174 | 0) != 0) HEAP32[$6 >> 2] = $174; + break; + } + default: + { + $178 = $9; + HEAP32[$178 >> 2] = $149; + HEAP32[$178 + 4 >> 2] = $173; + } + } + HEAP32[$2 >> 2] = HEAP32[$9 >> 2]; + $$0212 = 0; + } while (0); + STACKTOP = sp; + return $$0212 | 0; +} + +function _kpmMergeRefDataSet($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$0181 = 0, $$0182 = 0, $$0185 = 0, $$0191 = 0, $$0193 = 0, $$1 = 0, $$1183 = 0, $$1186 = 0, $$1192 = 0, $$1194 = 0, $$2184 = 0, $$2187 = 0, $$2195 = 0, $$3 = 0, $$3188 = 0, $$4 = 0, $$4189 = 0, $$5 = 0, $$5190 = 0, $$pre$phiZ2D = 0, $$pre205 = 0, $103 = 0, $11 = 0, $113 = 0, $118 = 0, $121 = 0, $129 = 0, $131 = 0, $14 = 0, $142 = 0, $143 = 0, $146 = 0, $148 = 0, $15 = 0, $156 = 0, $158 = 0, $162 = 0, $163 = 0, $164 = 0, $167 = 0, $17 = 0, $171 = 0, $176 = 0, $18 = 0, $20 = 0, $33 = 0, $35 = 0, $36 = 0, $39 = 0, $4 = 0, $40 = 0, $42 = 0, $43 = 0, $44 = 0, $58 = 0, $6 = 0, $60 = 0, $64 = 0, $65 = 0, $66 = 0, $74 = 0, $83 = 0, $85 = 0, $89 = 0, $96 = 0, $98 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_buffer9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $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; + if (($0 | 0) != 0 & ($1 | 0) != 0) { + $4 = HEAP32[$0 >> 2] | 0; + do if (!$4) { + $6 = _malloc(16) | 0; + HEAP32[$0 >> 2] = $6; + if (!$6) { + _arLog(0, 3, 45930, $vararg_buffer1); + _exit(1); + } else { + HEAP32[$6 + 4 >> 2] = 0; + HEAP32[$6 >> 2] = 0; + HEAP32[$6 + 12 >> 2] = 0; + HEAP32[$6 + 8 >> 2] = 0; + $14 = $6; + $176 = $6; + break; + } + } else { + $14 = $4; + $176 = $4; + } while (0); + $11 = HEAP32[$1 >> 2] | 0; + if (!$11) $$0 = 0; else { + $15 = HEAP32[$14 + 4 >> 2] | 0; + $17 = HEAP32[$11 + 4 >> 2] | 0; + $18 = $17 + $15 | 0; + $20 = _malloc($18 * 132 | 0) | 0; + if (!$20) { + _arLog(0, 3, 45930, $vararg_buffer3); + _exit(1); + } + $$0185 = 0; + while (1) { + if (($$0185 | 0) >= ($15 | 0)) break; + _memcpy($20 + ($$0185 * 132 | 0) | 0, (HEAP32[$14 >> 2] | 0) + ($$0185 * 132 | 0) | 0, 132) | 0; + $$0185 = $$0185 + 1 | 0; + } + $$1186 = 0; + while (1) { + if (($$1186 | 0) >= ($17 | 0)) break; + _memcpy($20 + (($$1186 + $15 | 0) * 132 | 0) | 0, (HEAP32[$11 >> 2] | 0) + ($$1186 * 132 | 0) | 0, 132) | 0; + $$1186 = $$1186 + 1 | 0; + } + $33 = HEAP32[$14 >> 2] | 0; + if (!$33) $35 = $176; else { + _free($33); + $35 = HEAP32[$0 >> 2] | 0; + } + HEAP32[$35 >> 2] = $20; + $36 = HEAP32[$0 >> 2] | 0; + HEAP32[$36 + 4 >> 2] = $18; + $39 = HEAP32[$36 + 12 >> 2] | 0; + $40 = HEAP32[$1 >> 2] | 0; + $42 = HEAP32[$40 + 12 >> 2] | 0; + $43 = $40 + 8 | 0; + $44 = $36 + 8 | 0; + $$0191 = 0; + $$2187 = 0; + while (1) { + if (($$2187 | 0) >= ($42 | 0)) break; + $$0182 = 0; + while (1) { + if (($$0182 | 0) >= ($39 | 0)) { + $$1192 = $$0191; + break; + } + if ((HEAP32[(HEAP32[$43 >> 2] | 0) + ($$2187 * 12 | 0) + 8 >> 2] | 0) == (HEAP32[(HEAP32[$44 >> 2] | 0) + ($$0182 * 12 | 0) + 8 >> 2] | 0)) { + label = 23; + break; + } else $$0182 = $$0182 + 1 | 0; + } + if ((label | 0) == 23) { + label = 0; + $$1192 = $$0191 + 1 | 0; + } + $$0191 = $$1192; + $$2187 = $$2187 + 1 | 0; + } + $58 = $42 + $39 - $$0191 | 0; + $60 = _malloc($58 * 12 | 0) | 0; + if (!$60) { + _arLog(0, 3, 45930, $vararg_buffer5); + _exit(1); + } + $$3188 = 0; + while (1) { + if (($$3188 | 0) >= ($39 | 0)) break; + $64 = (HEAP32[$0 >> 2] | 0) + 8 | 0; + $65 = HEAP32[$64 >> 2] | 0; + $66 = $65 + ($$3188 * 12 | 0) + 8 | 0; + HEAP32[$60 + ($$3188 * 12 | 0) + 8 >> 2] = HEAP32[$66 >> 2]; + $$0193 = HEAP32[$65 + ($$3188 * 12 | 0) + 4 >> 2] | 0; + $$1183 = 0; + while (1) { + if (($$1183 | 0) >= ($42 | 0)) break; + $74 = HEAP32[(HEAP32[$1 >> 2] | 0) + 8 >> 2] | 0; + if ((HEAP32[$74 + ($$1183 * 12 | 0) + 8 >> 2] | 0) == (HEAP32[$66 >> 2] | 0)) $$1194 = (HEAP32[$74 + ($$1183 * 12 | 0) + 4 >> 2] | 0) + $$0193 | 0; else $$1194 = $$0193; + $$0193 = $$1194; + $$1183 = $$1183 + 1 | 0; + } + $83 = $60 + ($$3188 * 12 | 0) | 0; + $85 = _malloc($$0193 * 12 | 0) | 0; + HEAP32[$83 >> 2] = $85; + if (!$85) { + label = 36; + break; + } + $89 = HEAP32[(HEAP32[$64 >> 2] | 0) + ($$3188 * 12 | 0) + 4 >> 2] | 0; + $$2184 = 0; + while (1) { + if (($$2184 | 0) >= ($89 | 0)) break; + $96 = (HEAP32[(HEAP32[(HEAP32[$0 >> 2] | 0) + 8 >> 2] | 0) + ($$3188 * 12 | 0) >> 2] | 0) + ($$2184 * 12 | 0) | 0; + $98 = (HEAP32[$83 >> 2] | 0) + ($$2184 * 12 | 0) | 0; + HEAP32[$98 >> 2] = HEAP32[$96 >> 2]; + HEAP32[$98 + 4 >> 2] = HEAP32[$96 + 4 >> 2]; + HEAP32[$98 + 8 >> 2] = HEAP32[$96 + 8 >> 2]; + $$2184 = $$2184 + 1 | 0; + } + $$3 = 0; + while (1) { + if (($$3 | 0) >= ($42 | 0)) break; + $103 = HEAP32[(HEAP32[$1 >> 2] | 0) + 8 >> 2] | 0; + if ((HEAP32[$103 + ($$3 * 12 | 0) + 8 >> 2] | 0) == (HEAP32[(HEAP32[(HEAP32[$0 >> 2] | 0) + 8 >> 2] | 0) + ($$3188 * 12 | 0) + 8 >> 2] | 0)) { + label = 43; + break; + } + $$3 = $$3 + 1 | 0; + } + L56 : do if ((label | 0) == 43) { + label = 0; + $$0181 = 0; + $113 = $103; + while (1) { + if (($$0181 | 0) >= (HEAP32[$113 + ($$3 * 12 | 0) + 4 >> 2] | 0)) break L56; + $118 = (HEAP32[$113 + ($$3 * 12 | 0) >> 2] | 0) + ($$0181 * 12 | 0) | 0; + $121 = (HEAP32[$83 >> 2] | 0) + (($$0181 + $89 | 0) * 12 | 0) | 0; + HEAP32[$121 >> 2] = HEAP32[$118 >> 2]; + HEAP32[$121 + 4 >> 2] = HEAP32[$118 + 4 >> 2]; + HEAP32[$121 + 8 >> 2] = HEAP32[$118 + 8 >> 2]; + $$0181 = $$0181 + 1 | 0; + $113 = HEAP32[(HEAP32[$1 >> 2] | 0) + 8 >> 2] | 0; + } + } while (0); + HEAP32[$60 + ($$3188 * 12 | 0) + 4 >> 2] = $$0193; + $$3188 = $$3188 + 1 | 0; + } + if ((label | 0) == 36) { + _arLog(0, 3, 45930, $vararg_buffer7); + _exit(1); + } + $$1 = 0; + $$4189 = 0; + while (1) { + if (($$4189 | 0) >= ($42 | 0)) break; + $129 = HEAP32[(HEAP32[$1 >> 2] | 0) + 8 >> 2] | 0; + $131 = HEAP32[$129 + ($$4189 * 12 | 0) + 8 >> 2] | 0; + $$4 = 0; + while (1) { + if (($$4 | 0) >= ($39 | 0)) { + label = 53; + break; + } + if (($131 | 0) == (HEAP32[(HEAP32[(HEAP32[$0 >> 2] | 0) + 8 >> 2] | 0) + ($$4 * 12 | 0) + 8 >> 2] | 0)) { + label = 52; + break; + } else $$4 = $$4 + 1 | 0; + } + if ((label | 0) == 52) { + label = 0; + $$2195 = $$1 + 1 | 0; + } else if ((label | 0) == 53) { + label = 0; + $142 = $$4189 + $39 - $$1 | 0; + $143 = $60 + ($142 * 12 | 0) | 0; + HEAP32[$60 + ($142 * 12 | 0) + 8 >> 2] = $131; + $146 = HEAP32[$129 + ($$4189 * 12 | 0) + 4 >> 2] | 0; + $148 = _malloc($146 * 12 | 0) | 0; + HEAP32[$143 >> 2] = $148; + if (!$148) { + label = 55; + break; + } + $$5 = 0; + while (1) { + if (($$5 | 0) >= ($146 | 0)) break; + $156 = (HEAP32[(HEAP32[(HEAP32[$1 >> 2] | 0) + 8 >> 2] | 0) + ($$4189 * 12 | 0) >> 2] | 0) + ($$5 * 12 | 0) | 0; + $158 = (HEAP32[$143 >> 2] | 0) + ($$5 * 12 | 0) | 0; + HEAP32[$158 >> 2] = HEAP32[$156 >> 2]; + HEAP32[$158 + 4 >> 2] = HEAP32[$156 + 4 >> 2]; + HEAP32[$158 + 8 >> 2] = HEAP32[$156 + 8 >> 2]; + $$5 = $$5 + 1 | 0; + } + HEAP32[$60 + ($142 * 12 | 0) + 4 >> 2] = $146; + $$2195 = $$1; + } + $$1 = $$2195; + $$4189 = $$4189 + 1 | 0; + } + if ((label | 0) == 55) { + _arLog(0, 3, 45930, $vararg_buffer9); + _exit(1); + } + $162 = HEAP32[$0 >> 2] | 0; + $163 = $162 + 8 | 0; + $164 = HEAP32[$163 >> 2] | 0; + if (!$164) $$pre$phiZ2D = $163; else { + $$5190 = 0; + $167 = $162; + $171 = $164; + while (1) { + if (($$5190 | 0) >= (HEAP32[$167 + 12 >> 2] | 0)) break; + _free(HEAP32[$171 + ($$5190 * 12 | 0) >> 2] | 0); + $$pre205 = HEAP32[$0 >> 2] | 0; + $$5190 = $$5190 + 1 | 0; + $167 = $$pre205; + $171 = HEAP32[$$pre205 + 8 >> 2] | 0; + } + _free($171); + $$pre$phiZ2D = (HEAP32[$0 >> 2] | 0) + 8 | 0; + } + HEAP32[$$pre$phiZ2D >> 2] = $60; + HEAP32[(HEAP32[$0 >> 2] | 0) + 12 >> 2] = $58; + _kpmDeleteRefDataSet($1) | 0; + $$0 = 0; + } + } else { + _arLog(0, 3, 26204, $vararg_buffer); + $$0 = -1; + } + STACKTOP = sp; + return $$0 | 0; +} + +function _arMultiReadConfigFile($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0151 = 0, $$0152 = 0, $$0154 = 0, $$1 = 0, $$1$ph = 0, $$2 = 0, $$sink204 = 0, $$sink205 = 0, $10 = 0, $114 = 0, $12 = 0, $125 = 0, $15 = 0, $17 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $37 = 0, $4 = 0, $41 = 0, $5 = 0, $51 = 0, $52 = 0, $56 = 0, $57 = 0, $59 = 0, $6 = 0, $7 = 0, $75 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $86 = 0.0, $90 = 0.0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer13 = 0, $vararg_buffer17 = 0, $vararg_buffer21 = 0, $vararg_buffer24 = 0, $vararg_buffer28 = 0, $vararg_buffer31 = 0, $vararg_buffer35 = 0, $vararg_buffer41 = 0, $vararg_buffer45 = 0, $vararg_buffer49 = 0, $vararg_buffer5 = 0, $vararg_buffer55 = 0, $vararg_buffer59 = 0, $vararg_buffer8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2528 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(2528); + $vararg_buffer59 = sp + 2512 | 0; + $vararg_buffer55 = sp + 2504 | 0; + $vararg_buffer49 = sp + 2488 | 0; + $vararg_buffer45 = sp + 2480 | 0; + $vararg_buffer41 = sp + 2472 | 0; + $vararg_buffer35 = sp + 2456 | 0; + $vararg_buffer31 = sp + 2448 | 0; + $vararg_buffer28 = sp + 2440 | 0; + $vararg_buffer24 = sp + 2432 | 0; + $vararg_buffer21 = sp + 2424 | 0; + $vararg_buffer17 = sp + 2416 | 0; + $vararg_buffer13 = sp + 2408 | 0; + $vararg_buffer11 = sp + 2400 | 0; + $vararg_buffer8 = sp + 2392 | 0; + $vararg_buffer5 = sp + 2384 | 0; + $vararg_buffer1 = sp + 2376 | 0; + $vararg_buffer = sp + 2368 | 0; + $2 = sp + 2304 | 0; + $3 = sp + 2048 | 0; + $4 = sp; + $5 = sp + 2524 | 0; + $6 = sp + 2520 | 0; + $7 = sp + 2516 | 0; + $8 = _fopen($0, 25925) | 0; + do if (!$8) { + HEAP32[$vararg_buffer >> 2] = $0; + _arLog(0, 3, 24935, $vararg_buffer); + $10 = ___errno_location() | 0; + $12 = _strerror(HEAP32[$10 >> 2] | 0) | 0; + HEAP32[$vararg_buffer1 >> 2] = 67447; + HEAP32[$vararg_buffer1 + 4 >> 2] = $12; + _arLog(0, 3, 25953, $vararg_buffer1); + $$0154 = 0; + } else { + _get_buff($3, $8); + HEAP32[$vararg_buffer5 >> 2] = $6; + if ((_sscanf($3, 25959, $vararg_buffer5) | 0) != 1) { + HEAP32[$vararg_buffer8 >> 2] = $0; + _arLog(0, 3, 24988, $vararg_buffer8); + _fclose($8) | 0; + $$0154 = 0; + break; + } + $15 = HEAP32[$6 >> 2] | 0; + $17 = _malloc($15 * 320 | 0) | 0; + if (!$17) { + _arLog(0, 3, 45930, $vararg_buffer11); + _exit(1); + } + $19 = ($1 | 0) == 0; + $20 = $2 + 8 | 0; + $21 = $2 + 16 | 0; + $22 = $2 + 24 | 0; + $23 = $2 + 32 | 0; + $24 = $2 + 40 | 0; + $25 = $2 + 48 | 0; + $26 = $2 + 56 | 0; + $$0151 = 0; + $$0152 = 0; + $28 = $15; + L10 : while (1) { + if (($$0151 | 0) >= ($28 | 0)) { + label = 31; + break; + } + _get_buff($3, $8); + $29 = $17 + ($$0151 * 320 | 0) | 0; + $30 = $17 + ($$0151 * 320 | 0) + 312 | 0; + HEAP32[$vararg_buffer13 >> 2] = $30; + HEAP32[$vararg_buffer13 + 4 >> 2] = $5; + if ((_sscanf($3, 25089, $vararg_buffer13) | 0) != 1) { + if ($19) { + label = 11; + break; + } + if (!(_arUtilGetDirectoryNameFromPath($4, $0, 2048, 1) | 0)) { + label = 13; + break; + } + _strncat($4, $3, 2047 - (_strlen($4) | 0) | 0) | 0; + $37 = _arPattLoad($1, $4) | 0; + HEAP32[$29 >> 2] = $37; + if (($37 | 0) < 0) { + label = 15; + break; + } else { + $$sink204 = 1; + $$sink205 = 0; + } + } else { + $41 = HEAP32[$30 >> 2] | 0; + HEAP32[$29 >> 2] = ($41 & -32768 | 0) == 0 & 0 == 0 ? $41 & 32767 : 0; + $$sink204 = 2; + $$sink205 = 1; + } + HEAP32[$17 + ($$0151 * 320 | 0) + 4 >> 2] = $$sink205; + $51 = $$0152 | $$sink204; + _get_buff($3, $8); + $52 = $17 + ($$0151 * 320 | 0) + 8 | 0; + HEAP32[$vararg_buffer28 >> 2] = $52; + if ((_sscanf($3, 25385, $vararg_buffer28) | 0) != 1) { + label = 18; + break; + } + _get_buff($3, $8); + $56 = $17 + ($$0151 * 320 | 0) + 16 | 0; + $57 = $17 + ($$0151 * 320 | 0) + 24 | 0; + $59 = $17 + ($$0151 * 320 | 0) + 40 | 0; + HEAP32[$vararg_buffer35 >> 2] = $56; + HEAP32[$vararg_buffer35 + 4 >> 2] = $57; + HEAP32[$vararg_buffer35 + 8 >> 2] = $17 + ($$0151 * 320 | 0) + 32; + HEAP32[$vararg_buffer35 + 12 >> 2] = $59; + if ((_sscanf($3, 25494, $vararg_buffer35) | 0) == 4) $$1$ph = 1; else { + HEAP32[$vararg_buffer41 >> 2] = $vararg_buffer5; + HEAP32[$vararg_buffer41 + 4 >> 2] = $7; + if ((_sscanf($3, 25510, $vararg_buffer41) | 0) != 2) { + label = 23; + break; + } + $$1$ph = 0; + } + $$1 = $$1$ph; + do { + _get_buff($3, $8); + HEAP32[$vararg_buffer49 >> 2] = $17 + ($$0151 * 320 | 0) + 16 + ($$1 << 5); + HEAP32[$vararg_buffer49 + 4 >> 2] = $17 + ($$0151 * 320 | 0) + 16 + ($$1 << 5) + 8; + HEAP32[$vararg_buffer49 + 8 >> 2] = $17 + ($$0151 * 320 | 0) + 16 + ($$1 << 5) + 16; + HEAP32[$vararg_buffer49 + 12 >> 2] = $17 + ($$0151 * 320 | 0) + 16 + ($$1 << 5) + 24; + if ((_sscanf($3, 25494, $vararg_buffer49) | 0) != 4) { + label = 25; + break L10; + } + $$1 = $$1 + 1 | 0; + } while ($$1 >>> 0 < 3); + _arUtilMatInv($56, $17 + ($$0151 * 320 | 0) + 112 | 0) | 0; + $75 = +HEAPF64[$52 >> 3]; + $76 = $75 * -.5; + HEAPF64[$2 >> 3] = $76; + $77 = $75 * .5; + HEAPF64[$20 >> 3] = $77; + HEAPF64[$21 >> 3] = $77; + HEAPF64[$22 >> 3] = $77; + HEAPF64[$23 >> 3] = $77; + HEAPF64[$24 >> 3] = $76; + HEAPF64[$25 >> 3] = $76; + HEAPF64[$26 >> 3] = $76; + $78 = $17 + ($$0151 * 320 | 0) + 48 | 0; + $79 = $17 + ($$0151 * 320 | 0) + 56 | 0; + $80 = $17 + ($$0151 * 320 | 0) + 72 | 0; + $81 = $17 + ($$0151 * 320 | 0) + 80 | 0; + $82 = $17 + ($$0151 * 320 | 0) + 88 | 0; + $83 = $17 + ($$0151 * 320 | 0) + 104 | 0; + $$2 = 0; + while (1) { + if (($$2 | 0) == 4) break; + $86 = +HEAPF64[$2 + ($$2 << 4) >> 3]; + $90 = +HEAPF64[$2 + ($$2 << 4) + 8 >> 3]; + HEAPF64[$17 + ($$0151 * 320 | 0) + 208 + ($$2 * 24 | 0) >> 3] = +HEAPF64[$59 >> 3] + (+HEAPF64[$56 >> 3] * $86 + +HEAPF64[$57 >> 3] * $90); + HEAPF64[$17 + ($$0151 * 320 | 0) + 208 + ($$2 * 24 | 0) + 8 >> 3] = +HEAPF64[$80 >> 3] + ($86 * +HEAPF64[$78 >> 3] + $90 * +HEAPF64[$79 >> 3]); + HEAPF64[$17 + ($$0151 * 320 | 0) + 208 + ($$2 * 24 | 0) + 16 >> 3] = +HEAPF64[$83 >> 3] + ($86 * +HEAPF64[$81 >> 3] + $90 * +HEAPF64[$82 >> 3]); + $$2 = $$2 + 1 | 0; + } + $$0151 = $$0151 + 1 | 0; + $$0152 = $51; + $28 = HEAP32[$6 >> 2] | 0; + } + if ((label | 0) == 11) { + HEAP32[$vararg_buffer17 >> 2] = $0; + HEAP32[$vararg_buffer17 + 4 >> 2] = $3; + _arLog(0, 3, 25096, $vararg_buffer17); + } else if ((label | 0) == 13) { + HEAP32[$vararg_buffer21 >> 2] = $0; + _arLog(0, 3, 25224, $vararg_buffer21); + } else if ((label | 0) == 15) { + HEAP32[$vararg_buffer24 >> 2] = $0; + HEAP32[$vararg_buffer24 + 4 >> 2] = $4; + _arLog(0, 3, 25308, $vararg_buffer24); + } else if ((label | 0) == 18) { + HEAP32[$vararg_buffer31 >> 2] = $0; + HEAP32[$vararg_buffer31 + 4 >> 2] = $$0151 + 1; + _arLog(0, 3, 25389, $vararg_buffer31); + } else if ((label | 0) == 23) { + HEAP32[$vararg_buffer45 >> 2] = $0; + HEAP32[$vararg_buffer45 + 4 >> 2] = $$0151 + 1; + _arLog(0, 3, 25516, $vararg_buffer45); + } else if ((label | 0) == 25) { + HEAP32[$vararg_buffer55 >> 2] = $0; + HEAP32[$vararg_buffer55 + 4 >> 2] = $$0151 + 1; + _arLog(0, 3, 25516, $vararg_buffer55); + } else if ((label | 0) == 31) { + _fclose($8) | 0; + $114 = _malloc(136) | 0; + if (!$114) { + _arLog(0, 3, 45930, $vararg_buffer59); + _exit(1); + } + HEAP32[$114 >> 2] = $17; + HEAP32[$114 + 4 >> 2] = HEAP32[$6 >> 2]; + HEAP32[$114 + 128 >> 2] = 0; + HEAP32[$114 + 104 >> 2] = 0; + do if (($$0152 & 3 | 0) != 3) { + $125 = $114 + 108 | 0; + if (!($$0152 & 1)) { + HEAP32[$125 >> 2] = 1; + break; + } else { + HEAP32[$125 >> 2] = 0; + break; + } + } else HEAP32[$114 + 108 >> 2] = 2; while (0); + HEAPF64[$114 + 112 >> 3] = .5; + HEAPF64[$114 + 120 >> 3] = .5; + $$0154 = $114; + break; + } + _fclose($8) | 0; + _free($17); + $$0154 = 0; + } while (0); + STACKTOP = sp; + return $$0154 | 0; +} + +function _jinit_1pass_quantizer($0) { + $0 = $0 | 0; + var $$0$lcssa$lcssa$i$i = 0, $$0107$i = 0, $$014$i = 0, $$058$lcssa$us$i$ph$us$i = 0, $$058$lcssa$us$i$ph87$i = 0, $$05866$us$us$i$us$i = 0, $$05866$us$us$i$us$i$be = 0, $$05866$us71$i$i = 0, $$05866$us71$i$i$be = 0, $$05981$i$i = 0, $$06086$us$i$i = 0, $$063$lcssa$i$i = 0, $$063$us$i$i = 0, $$08195$us$i = 0, $$08290$us$us$i = 0, $$083106$i = 0, $$08489$us$us$i = 0, $$087$us$i$i = 0, $$16180$i$i = 0, $$2$lcssa$lcssa$i$i = 0, $$2$lcssa$us$i$ph$us$i = 0, $$2$lcssa$us$i$ph86$i = 0, $$26264$us$us$i$us$i = 0, $$26264$us$us$i$us$i$be = 0, $$26264$us73$i$i = 0, $$26264$us73$i$i$be = 0, $$265$us$us$i$us$i = 0, $$265$us$us$i$us$i$be = 0, $$265$us72$i$i = 0, $$265$us72$i$i$be = 0, $1 = 0, $10 = 0, $100 = 0, $101 = 0, $103 = 0, $104 = 0, $110 = 0, $119 = 0, $125 = 0, $129 = 0, $13 = 0, $135 = 0, $140 = 0, $18 = 0, $19 = 0, $21 = 0, $26 = 0, $27 = 0, $28 = 0, $30 = 0, $34 = 0, $38 = 0, $4 = 0, $5 = 0, $51 = 0, $52 = 0, $54 = 0, $55 = 0, $57 = 0, $60 = 0, $61 = 0, $63 = 0, $64 = 0, $66 = 0, $71 = 0, $93 = 0, $94 = 0, $97 = 0, $smax$i$i = 0, label = 0, $$083106$i$looptemp = 0; + $1 = $0 + 4 | 0; + $4 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 88) | 0; + $5 = $0 + 484 | 0; + HEAP32[$5 >> 2] = $4; + HEAP32[$4 >> 2] = 133; + HEAP32[$4 + 8 >> 2] = 186; + HEAP32[$4 + 12 >> 2] = 187; + HEAP32[$4 + 68 >> 2] = 0; + HEAP32[$4 + 52 >> 2] = 0; + $10 = $0 + 120 | 0; + if ((HEAP32[$10 >> 2] | 0) > 4) { + $13 = HEAP32[$0 >> 2] | 0; + HEAP32[$13 + 20 >> 2] = 57; + HEAP32[$13 + 24 >> 2] = 4; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + $18 = $0 + 96 | 0; + $19 = HEAP32[$18 >> 2] | 0; + if (($19 | 0) > 256) { + $21 = HEAP32[$0 >> 2] | 0; + HEAP32[$21 + 20 >> 2] = 59; + HEAP32[$21 + 24 >> 2] = 256; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + $34 = HEAP32[$18 >> 2] | 0; + } else $34 = $19; + $26 = HEAP32[$5 >> 2] | 0; + $27 = $26 + 32 | 0; + $28 = HEAP32[$10 >> 2] | 0; + if (($28 | 0) > 1) { + $$063$us$i$i = 1; + while (1) { + $30 = $$063$us$i$i + 1 | 0; + $$06086$us$i$i = 1; + $$087$us$i$i = $30; + do { + $$087$us$i$i = Math_imul($$087$us$i$i, $30) | 0; + $$06086$us$i$i = $$06086$us$i$i + 1 | 0; + } while (($$06086$us$i$i | 0) != ($28 | 0)); + if (($$087$us$i$i | 0) > ($34 | 0)) { + $$0$lcssa$lcssa$i$i = $$087$us$i$i; + $$063$lcssa$i$i = $$063$us$i$i; + break; + } else $$063$us$i$i = $30; + } + } else { + $smax$i$i = ($34 | 0) > 1 ? $34 : 1; + $$0$lcssa$lcssa$i$i = $smax$i$i + 1 | 0; + $$063$lcssa$i$i = $smax$i$i; + } + if ($$063$lcssa$i$i >>> 0 < 2) { + $38 = HEAP32[$0 >> 2] | 0; + HEAP32[$38 + 20 >> 2] = 58; + HEAP32[$38 + 24 >> 2] = $$0$lcssa$lcssa$i$i; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + L19 : do if (($28 | 0) > 0) { + $$05981$i$i = 1; + $$16180$i$i = 0; + do { + HEAP32[$26 + 32 + ($$16180$i$i << 2) >> 2] = $$063$lcssa$i$i; + $$05981$i$i = Math_imul($$05981$i$i, $$063$lcssa$i$i) | 0; + $$16180$i$i = $$16180$i$i + 1 | 0; + } while (($$16180$i$i | 0) != ($28 | 0)); + if ((HEAP32[$0 + 44 >> 2] | 0) == 2) { + $$05866$us$us$i$us$i = 0; + $$26264$us$us$i$us$i = 0; + $$265$us$us$i$us$i = $$05981$i$i; + while (1) { + $51 = $26 + 32 + (HEAP32[17004 + ($$26264$us$us$i$us$i << 2) >> 2] << 2) | 0; + $52 = HEAP32[$51 >> 2] | 0; + $54 = $52 + 1 | 0; + $55 = Math_imul(($$265$us$us$i$us$i | 0) / ($52 | 0) | 0, $54) | 0; + if (($55 | 0) <= ($34 | 0)) { + HEAP32[$51 >> 2] = $54; + $57 = $$26264$us$us$i$us$i + 1 | 0; + if (($57 | 0) < ($28 | 0)) { + $$05866$us$us$i$us$i$be = 1; + $$26264$us$us$i$us$i$be = $57; + $$265$us$us$i$us$i$be = $55; + } else { + $$058$lcssa$us$i$ph$us$i = 1; + $$2$lcssa$us$i$ph$us$i = $55; + label = 22; + } + } else { + $$058$lcssa$us$i$ph$us$i = $$05866$us$us$i$us$i; + $$2$lcssa$us$i$ph$us$i = $$265$us$us$i$us$i; + label = 22; + } + if ((label | 0) == 22) { + label = 0; + if (!$$058$lcssa$us$i$ph$us$i) { + $$2$lcssa$lcssa$i$i = $$2$lcssa$us$i$ph$us$i; + break L19; + } else { + $$05866$us$us$i$us$i$be = 0; + $$26264$us$us$i$us$i$be = 0; + $$265$us$us$i$us$i$be = $$2$lcssa$us$i$ph$us$i; + } + } + $$05866$us$us$i$us$i = $$05866$us$us$i$us$i$be; + $$26264$us$us$i$us$i = $$26264$us$us$i$us$i$be; + $$265$us$us$i$us$i = $$265$us$us$i$us$i$be; + } + } else { + $$05866$us71$i$i = 0; + $$26264$us73$i$i = 0; + $$265$us72$i$i = $$05981$i$i; + while (1) { + $60 = $26 + 32 + ($$26264$us73$i$i << 2) | 0; + $61 = HEAP32[$60 >> 2] | 0; + $63 = $61 + 1 | 0; + $64 = Math_imul(($$265$us72$i$i | 0) / ($61 | 0) | 0, $63) | 0; + if (($64 | 0) <= ($34 | 0)) { + HEAP32[$60 >> 2] = $63; + $66 = $$26264$us73$i$i + 1 | 0; + if (($66 | 0) < ($28 | 0)) { + $$05866$us71$i$i$be = 1; + $$26264$us73$i$i$be = $66; + $$265$us72$i$i$be = $64; + } else { + $$058$lcssa$us$i$ph87$i = 1; + $$2$lcssa$us$i$ph86$i = $64; + label = 26; + } + } else { + $$058$lcssa$us$i$ph87$i = $$05866$us71$i$i; + $$2$lcssa$us$i$ph86$i = $$265$us72$i$i; + label = 26; + } + if ((label | 0) == 26) { + label = 0; + if (!$$058$lcssa$us$i$ph87$i) { + $$2$lcssa$lcssa$i$i = $$2$lcssa$us$i$ph86$i; + break L19; + } else { + $$05866$us71$i$i$be = 0; + $$26264$us73$i$i$be = 0; + $$265$us72$i$i$be = $$2$lcssa$us$i$ph86$i; + } + } + $$05866$us71$i$i = $$05866$us71$i$i$be; + $$26264$us73$i$i = $$26264$us73$i$i$be; + $$265$us72$i$i = $$265$us72$i$i$be; + } + } + } else $$2$lcssa$lcssa$i$i = 1; while (0); + $71 = HEAP32[$0 >> 2] | 0; + if ((HEAP32[$10 >> 2] | 0) == 3) { + HEAP32[$71 + 24 >> 2] = $$2$lcssa$lcssa$i$i; + HEAP32[$71 + 28 >> 2] = HEAP32[$27 >> 2]; + HEAP32[$71 + 32 >> 2] = HEAP32[$26 + 36 >> 2]; + HEAP32[$71 + 36 >> 2] = HEAP32[$26 + 40 >> 2]; + HEAP32[$71 + 20 >> 2] = 96; + FUNCTION_TABLE_vii[HEAP32[$71 + 4 >> 2] & 255]($0, 1); + } else { + HEAP32[$71 + 20 >> 2] = 97; + HEAP32[$71 + 24 >> 2] = $$2$lcssa$lcssa$i$i; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$0 >> 2] | 0) + 4 >> 2] & 255]($0, 1); + } + $93 = FUNCTION_TABLE_iiiii[HEAP32[(HEAP32[$1 >> 2] | 0) + 8 >> 2] & 15]($0, 1, $$2$lcssa$lcssa$i$i, HEAP32[$10 >> 2] | 0) | 0; + $94 = HEAP32[$10 >> 2] | 0; + if (($94 | 0) > 0) { + $$0107$i = 0; + $$083106$i = $$2$lcssa$lcssa$i$i; + $140 = $94; + while (1) { + $97 = HEAP32[$26 + 32 + ($$0107$i << 2) >> 2] | 0; + $$083106$i$looptemp = $$083106$i; + $$083106$i = ($$083106$i | 0) / ($97 | 0) | 0; + if (($97 | 0) > 0 ? ($100 = $97 + -1 | 0, $101 = ($100 | 0) / 2 | 0, $103 = $93 + ($$0107$i << 2) | 0, ($$083106$i | 0) > 0) : 0) { + $$08195$us$i = 0; + do { + $104 = Math_imul($$08195$us$i, $$083106$i) | 0; + if (($104 | 0) < ($$2$lcssa$lcssa$i$i | 0)) { + $110 = ((($$08195$us$i * 255 | 0) + $101 | 0) / ($100 | 0) | 0) & 255; + $$08290$us$us$i = $104; + do { + $$08489$us$us$i = 0; + do { + HEAP8[(HEAP32[$103 >> 2] | 0) + ($$08489$us$us$i + $$08290$us$us$i) >> 0] = $110; + $$08489$us$us$i = $$08489$us$us$i + 1 | 0; + } while (($$08489$us$us$i | 0) != ($$083106$i | 0)); + $$08290$us$us$i = $$08290$us$us$i + $$083106$i$looptemp | 0; + } while (($$08290$us$us$i | 0) < ($$2$lcssa$lcssa$i$i | 0)); + } + $$08195$us$i = $$08195$us$i + 1 | 0; + } while (($$08195$us$i | 0) != ($97 | 0)); + $119 = HEAP32[$10 >> 2] | 0; + } else $119 = $140; + $$0107$i = $$0107$i + 1 | 0; + if (($$0107$i | 0) >= ($119 | 0)) break; else $140 = $119; + } + } + HEAP32[$26 + 16 >> 2] = $93; + HEAP32[$26 + 20 >> 2] = $$2$lcssa$lcssa$i$i; + _create_colorindex($0); + if ((HEAP32[$0 + 88 >> 2] | 0) != 2) return; + $125 = HEAP32[$5 >> 2] | 0; + $129 = (HEAP32[$0 + 112 >> 2] << 1) + 4 | 0; + if ((HEAP32[$10 >> 2] | 0) <= 0) return; + $$014$i = 0; + do { + $135 = FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$1 >> 2] | 0) + 4 >> 2] & 63]($0, 1, $129) | 0; + HEAP32[$125 + 68 + ($$014$i << 2) >> 2] = $135; + $$014$i = $$014$i + 1 | 0; + } while (($$014$i | 0) < (HEAP32[$10 >> 2] | 0)); + return; +} + +function __ZN6vision26PreemptiveRobustHomographyIfEEbPT_PKS1_S4_iS4_iRNSt3__26vectorIS1_NS5_9allocatorIS1_EEEERNS6_IiNS7_IiEEEERNS6_INS5_4pairIS1_iEENS7_ISF_EEEES1_iii($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + $9 = +$9; + $10 = $10 | 0; + $11 = $11 | 0; + $12 = $12 | 0; + var $$0 = 0, $$0156 = 0, $$0157 = 0, $$0158 = 0, $$0159 = 0, $$0160 = 0, $$0161 = 0, $$0162 = 0.0, $$0163 = 0, $$0165 = 0, $$0166 = 0, $$1 = 0.0, $$1164 = 0, $$1167 = 0, $106 = 0, $110 = 0, $113 = 0, $116 = 0, $119 = 0, $13 = 0, $131 = 0.0, $133 = 0, $14 = 0, $141 = 0, $147 = 0, $148 = 0, $154 = 0, $159 = 0, $162 = 0.0, $163 = 0, $164 = 0, $173 = 0.0, $178 = 0, $27 = 0, $32 = 0, $36 = 0, $39 = 0, $43 = 0, $49 = 0, $54 = 0, $58 = 0, $70 = 0, $75 = 0, $79 = 0, $81 = 0.0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $90 = 0, $93 = 0, $96 = 0, $99 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $13 = sp + 8 | 0; + $14 = sp; + if ((HEAP32[$6 + 4 >> 2] | 0) - (HEAP32[$6 >> 2] | 0) >> 2 >>> 0 < ($10 * 9 | 0) >>> 0) { + $27 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 35532) | 0, 35590) | 0, 39072) | 0, 119) | 0, 39079) | 0, 35684) | 0; + __ZNKSt3__28ios_base6getlocEv($13, $27 + (HEAP32[(HEAP32[$27 >> 2] | 0) + -12 >> 2] | 0) | 0); + $32 = __ZNKSt3__26locale9use_facetERNS0_2idE($13, 66512) | 0; + $36 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$32 >> 2] | 0) + 28 >> 2] & 127]($32, 10) | 0; + __ZNSt3__26localeD2Ev($13); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($27, $36) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($27) | 0; + _abort(); + } + $39 = HEAP32[$7 >> 2] | 0; + $43 = $39; + if ((HEAP32[$7 + 4 >> 2] | 0) - $39 >> 2 >>> 0 < $3 >>> 0) { + $49 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 35734) | 0, 35590) | 0, 39072) | 0, 120) | 0, 39079) | 0, 35784) | 0; + __ZNKSt3__28ios_base6getlocEv($13, $49 + (HEAP32[(HEAP32[$49 >> 2] | 0) + -12 >> 2] | 0) | 0); + $54 = __ZNKSt3__26locale9use_facetERNS0_2idE($13, 66512) | 0; + $58 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$54 >> 2] | 0) + 28 >> 2] & 127]($54, 10) | 0; + __ZNSt3__26localeD2Ev($13); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($49, $58) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($49) | 0; + _abort(); + } + if ((HEAP32[$8 + 4 >> 2] | 0) - (HEAP32[$8 >> 2] | 0) >> 3 >>> 0 < $10 >>> 0) { + $70 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 35826) | 0, 35590) | 0, 39072) | 0, 121) | 0, 39079) | 0, 35888) | 0; + __ZNKSt3__28ios_base6getlocEv($13, $70 + (HEAP32[(HEAP32[$70 >> 2] | 0) + -12 >> 2] | 0) | 0); + $75 = __ZNKSt3__26locale9use_facetERNS0_2idE($13, 66512) | 0; + $79 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$75 >> 2] | 0) + 28 >> 2] & 127]($75, 10) | 0; + __ZNSt3__26localeD2Ev($13); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($70, $79) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($70) | 0; + _abort(); + } + if (($3 | 0) >= 4) { + HEAP32[$14 >> 2] = 1234; + $81 = +__ZN6vision3sqrIfEET_S1_($9); + $82 = __ZN6vision4min2IiEET_S1_S1_($12, $3) | 0; + __ZN6vision16SequentialVectorIiEEvPT_iS1_($43, $3, 0); + __ZN6vision12ArrayShuffleIiEEvPT_iiRi($43, $3, $3, $14); + $83 = $43 + 4 | 0; + $84 = $43 + 8 | 0; + $85 = $43 + 12 | 0; + $86 = ($5 | 0) > 0; + $$0161 = 0; + $$0166 = 0; + while (1) { + if (!(($$0166 | 0) < ($10 | 0) & ($$0161 | 0) < ($11 | 0))) break; + __ZN6vision12ArrayShuffleIiEEvPT_iiRi($43, $3, 4, $14); + $90 = HEAP32[$43 >> 2] << 1; + $93 = HEAP32[$83 >> 2] << 1; + $96 = HEAP32[$84 >> 2] << 1; + $99 = HEAP32[$85 >> 2] << 1; + do if (__ZN6vision40Homography4PointsGeometricallyConsistentIfEEbPKT_S3_S3_S3_S3_S3_S3_S3_($1 + ($90 << 2) | 0, $1 + ($93 << 2) | 0, $1 + ($96 << 2) | 0, $1 + ($99 << 2) | 0, $2 + ($90 << 2) | 0, $2 + ($93 << 2) | 0, $2 + ($96 << 2) | 0, $2 + ($99 << 2) | 0) | 0 ? ($106 = $$0166 * 9 | 0, $110 = HEAP32[$43 >> 2] << 1, $113 = HEAP32[$83 >> 2] << 1, $116 = HEAP32[$84 >> 2] << 1, $119 = HEAP32[$85 >> 2] << 1, __ZN6vision22SolveHomography4PointsIfEEbPT_PKS1_S4_S4_S4_S4_S4_S4_S4_((HEAP32[$6 >> 2] | 0) + ($106 << 2) | 0, $1 + ($110 << 2) | 0, $1 + ($113 << 2) | 0, $1 + ($116 << 2) | 0, $1 + ($119 << 2) | 0, $2 + ($110 << 2) | 0, $2 + ($113 << 2) | 0, $2 + ($116 << 2) | 0, $2 + ($119 << 2) | 0) | 0) : 0) { + if ($86 ? !(__ZN6vision39HomographyPointsGeometricallyConsistentIfEEbPKT_S3_i((HEAP32[$6 >> 2] | 0) + ($106 << 2) | 0, $4, $5) | 0) : 0) { + $$1167 = $$0166; + break; + } + $$1167 = $$0166 + 1 | 0; + } else $$1167 = $$0166; while (0); + $$0161 = $$0161 + 1 | 0; + $$0166 = $$1167; + } + $131 = 1.0 / $81; + if ($$0166) { + $133 = HEAP32[$8 >> 2] | 0; + $$0160 = 0; + while (1) { + if (($$0160 | 0) >= ($$0166 | 0)) break; + HEAPF32[$133 + ($$0160 << 3) >> 2] = 0.0; + HEAP32[$133 + ($$0160 << 3) + 4 >> 2] = $$0160; + $$0160 = $$0160 + 1 | 0; + } + $$0159 = 0; + $$0165 = $$0166; + while (1) { + if (!(($$0165 | 0) > 2 & ($$0159 | 0) < ($3 | 0))) break; + $147 = (__ZN6vision4min2IiEET_S1_S1_($82, $3 - $$0159 | 0) | 0) + $$0159 | 0; + $$0158 = 0; + $148 = HEAP32[$8 >> 2] | 0; + while (1) { + if (($$0158 | 0) == ($$0165 | 0)) break; + $154 = (HEAP32[$6 >> 2] | 0) + ((HEAP32[$148 + ($$0158 << 3) + 4 >> 2] | 0) * 9 << 2) | 0; + $$0156 = $$0159; + $178 = $148; + while (1) { + if (($$0156 | 0) >= ($147 | 0)) break; + $159 = HEAP32[$43 + ($$0156 << 2) >> 2] << 1; + $162 = +__ZN6vision32CauchyProjectiveReprojectionCostIfEET_PKS1_S3_S3_S1_($154, $1 + ($159 << 2) | 0, $2 + ($159 << 2) | 0, $131); + $163 = HEAP32[$8 >> 2] | 0; + $164 = $163 + ($$0158 << 3) | 0; + HEAPF32[$164 >> 2] = $162 + +HEAPF32[$164 >> 2]; + $$0156 = $$0156 + 1 | 0; + $178 = $163; + } + $$0158 = $$0158 + 1 | 0; + $148 = $178; + } + __ZN6vision10FastMedianIfiEENSt3__24pairIT_T0_EEPS5_i($13, $148, $$0165); + $$0159 = $147; + $$0165 = $$0165 >> 1; + } + $141 = HEAP32[$8 >> 2] | 0; + $$0 = 1; + $$0162 = +HEAPF32[$141 >> 2]; + $$0163 = HEAP32[$141 + 4 >> 2] | 0; + while (1) { + if (($$0 | 0) >= ($$0165 | 0)) break; + $173 = +HEAPF32[$141 + ($$0 << 3) >> 2]; + if ($173 < $$0162) { + $$1 = $173; + $$1164 = HEAP32[$141 + ($$0 << 3) + 4 >> 2] | 0; + } else { + $$1 = $$0162; + $$1164 = $$0163; + } + $$0 = $$0 + 1 | 0; + $$0162 = $$1; + $$0163 = $$1164; + } + __ZN6vision11CopyVector9IfEEvPT_PKS1_($0, (HEAP32[$6 >> 2] | 0) + ($$0163 * 9 << 2) | 0); + __ZN6vision19NormalizeHomographyIfEEvPT_($0); + $$0157 = 1; + } else $$0157 = 0; + } else $$0157 = 0; + STACKTOP = sp; + return $$0157 | 0; +} + +function _jpeg_idct_16x8($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0360370 = 0, $$0362369 = 0, $$0364368 = 0, $$0371 = 0, $$1367 = 0, $$2366 = 0, $$sink = 0, $$sink373 = 0, $100 = 0, $101 = 0, $103 = 0, $106 = 0, $107 = 0, $109 = 0, $11 = 0, $113 = 0, $115 = 0, $117 = 0, $121 = 0, $123 = 0, $13 = 0, $149 = 0, $152 = 0, $155 = 0, $157 = 0, $158 = 0, $159 = 0, $160 = 0, $161 = 0, $162 = 0, $163 = 0, $165 = 0, $167 = 0, $168 = 0, $169 = 0, $170 = 0, $172 = 0, $174 = 0, $176 = 0, $178 = 0, $179 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $188 = 0, $190 = 0, $192 = 0, $194 = 0, $195 = 0, $197 = 0, $198 = 0, $200 = 0, $202 = 0, $203 = 0, $205 = 0, $209 = 0, $213 = 0, $215 = 0, $221 = 0, $226 = 0, $227 = 0, $230 = 0, $234 = 0, $240 = 0, $242 = 0, $243 = 0, $244 = 0, $246 = 0, $247 = 0, $248 = 0, $35 = 0, $5 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $58 = 0, $61 = 0, $67 = 0, $69 = 0, $7 = 0, $71 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $83 = 0, $89 = 0, $95 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(256); + $5 = sp; + $7 = HEAP32[$0 + 336 >> 2] | 0; + $$0360370 = $5; + $$0362369 = HEAP32[$1 + 84 >> 2] | 0; + $$0364368 = $2; + $$0371 = 8; + while (1) { + $11 = HEAP16[$$0364368 + 16 >> 1] | 0; + $13 = HEAP16[$$0364368 + 32 >> 1] | 0; + if (!(($11 | $13) << 16 >> 16)) if (((((HEAP16[$$0364368 + 48 >> 1] | 0) == 0 ? (HEAP16[$$0364368 + 64 >> 1] | 0) == 0 : 0) ? (HEAP16[$$0364368 + 80 >> 1] | 0) == 0 : 0) ? (HEAP16[$$0364368 + 96 >> 1] | 0) == 0 : 0) ? (HEAP16[$$0364368 + 112 >> 1] | 0) == 0 : 0) { + $35 = Math_imul(HEAP16[$$0364368 >> 1] << 2, HEAP32[$$0362369 >> 2] | 0) | 0; + HEAP32[$$0360370 >> 2] = $35; + HEAP32[$$0360370 + 32 >> 2] = $35; + HEAP32[$$0360370 + 64 >> 2] = $35; + HEAP32[$$0360370 + 96 >> 2] = $35; + HEAP32[$$0360370 + 128 >> 2] = $35; + HEAP32[$$0360370 + 160 >> 2] = $35; + HEAP32[$$0360370 + 192 >> 2] = $35; + $$sink = $35; + $$sink373 = 56; + } else { + $58 = 0; + label = 9; + } else { + $58 = $13; + label = 9; + } + if ((label | 0) == 9) { + label = 0; + $53 = Math_imul(HEAP16[$$0364368 + 64 >> 1] << 13, HEAP32[$$0362369 + 128 >> 2] | 0) | 0; + $54 = Math_imul(HEAP16[$$0364368 >> 1] << 13, HEAP32[$$0362369 >> 2] | 0) | 0 | 1024; + $55 = $53 + $54 | 0; + $56 = $54 - $53 | 0; + $61 = Math_imul(HEAP32[$$0362369 + 64 >> 2] | 0, $58 << 16 >> 16) | 0; + $67 = Math_imul(HEAP32[$$0362369 + 192 >> 2] | 0, HEAP16[$$0364368 + 96 >> 1] | 0) | 0; + $69 = ($67 + $61 | 0) * 4433 | 0; + $71 = $69 + ($61 * 6270 | 0) | 0; + $73 = $69 + (Math_imul($67, -15137) | 0) | 0; + $74 = $71 + $55 | 0; + $75 = $55 - $71 | 0; + $76 = $73 + $56 | 0; + $77 = $56 - $73 | 0; + $83 = Math_imul(HEAP32[$$0362369 + 224 >> 2] | 0, HEAP16[$$0364368 + 112 >> 1] | 0) | 0; + $89 = Math_imul(HEAP32[$$0362369 + 160 >> 2] | 0, HEAP16[$$0364368 + 80 >> 1] | 0) | 0; + $95 = Math_imul(HEAP32[$$0362369 + 96 >> 2] | 0, HEAP16[$$0364368 + 48 >> 1] | 0) | 0; + $99 = Math_imul(HEAP32[$$0362369 + 32 >> 2] | 0, $11 << 16 >> 16) | 0; + $100 = $95 + $83 | 0; + $101 = $99 + $89 | 0; + $103 = ($101 + $100 | 0) * 9633 | 0; + $106 = $103 + (Math_imul($100, -16069) | 0) | 0; + $107 = $103 + (Math_imul($101, -3196) | 0) | 0; + $109 = Math_imul($99 + $83 | 0, -7373) | 0; + $113 = $109 + ($83 * 2446 | 0) + $106 | 0; + $115 = $109 + ($99 * 12299 | 0) + $107 | 0; + $117 = Math_imul($95 + $89 | 0, -20995) | 0; + $121 = $117 + ($89 * 16819 | 0) + $107 | 0; + $123 = $117 + ($95 * 25172 | 0) + $106 | 0; + HEAP32[$$0360370 >> 2] = $115 + $74 >> 11; + HEAP32[$$0360370 + 224 >> 2] = $74 - $115 >> 11; + HEAP32[$$0360370 + 32 >> 2] = $123 + $76 >> 11; + HEAP32[$$0360370 + 192 >> 2] = $76 - $123 >> 11; + HEAP32[$$0360370 + 64 >> 2] = $121 + $77 >> 11; + HEAP32[$$0360370 + 160 >> 2] = $77 - $121 >> 11; + HEAP32[$$0360370 + 96 >> 2] = $113 + $75 >> 11; + $$sink = $75 - $113 >> 11; + $$sink373 = 32; + } + HEAP32[$$0360370 + ($$sink373 << 2) >> 2] = $$sink; + if ($$0371 >>> 0 > 1) { + $$0360370 = $$0360370 + 4 | 0; + $$0362369 = $$0362369 + 4 | 0; + $$0364368 = $$0364368 + 2 | 0; + $$0371 = $$0371 + -1 | 0; + } else break; + } + $149 = $7 + -384 | 0; + $$1367 = 0; + $$2366 = $5; + while (1) { + $152 = (HEAP32[$3 + ($$1367 << 2) >> 2] | 0) + $4 | 0; + $155 = (HEAP32[$$2366 >> 2] << 13) + 134348800 | 0; + $157 = HEAP32[$$2366 + 16 >> 2] | 0; + $158 = $157 * 10703 | 0; + $159 = $157 * 4433 | 0; + $160 = $155 + $158 | 0; + $161 = $155 - $158 | 0; + $162 = $155 + $159 | 0; + $163 = $155 - $159 | 0; + $165 = HEAP32[$$2366 + 8 >> 2] | 0; + $167 = HEAP32[$$2366 + 24 >> 2] | 0; + $168 = $165 - $167 | 0; + $169 = $168 * 2260 | 0; + $170 = $168 * 11363 | 0; + $172 = $170 + ($167 * 20995 | 0) | 0; + $174 = $169 + ($165 * 7373 | 0) | 0; + $176 = $170 + (Math_imul($165, -4926) | 0) | 0; + $178 = $169 + (Math_imul($167, -4176) | 0) | 0; + $179 = $172 + $160 | 0; + $180 = $160 - $172 | 0; + $181 = $174 + $162 | 0; + $182 = $162 - $174 | 0; + $183 = $176 + $163 | 0; + $184 = $163 - $176 | 0; + $185 = $178 + $161 | 0; + $186 = $161 - $178 | 0; + $188 = HEAP32[$$2366 + 4 >> 2] | 0; + $190 = HEAP32[$$2366 + 12 >> 2] | 0; + $192 = HEAP32[$$2366 + 20 >> 2] | 0; + $194 = HEAP32[$$2366 + 28 >> 2] | 0; + $195 = $192 + $188 | 0; + $197 = ($190 + $188 | 0) * 11086 | 0; + $198 = $195 * 10217 | 0; + $200 = ($194 + $188 | 0) * 8956 | 0; + $202 = ($188 - $194 | 0) * 7350 | 0; + $203 = $195 * 5461 | 0; + $205 = ($188 - $190 | 0) * 3363 | 0; + $209 = $197 + (Math_imul($188, -18730) | 0) + $198 + $200 | 0; + $213 = $205 + (Math_imul($188, -15038) | 0) + $203 + $202 | 0; + $215 = ($192 + $190 | 0) * 1136 | 0; + $221 = ($192 - $190 | 0) * 11529 | 0; + $226 = $194 + $190 | 0; + $227 = Math_imul($226, -5461) | 0; + $230 = $197 + ($190 * 589 | 0) + $215 + $227 | 0; + $234 = Math_imul($226, -10217) | 0; + $240 = $205 + ($190 * 16154 | 0) + $221 + $234 | 0; + $242 = Math_imul($194 + $192 | 0, -11086) | 0; + $243 = $215 + (Math_imul($192, -9222) | 0) + $198 + $242 | 0; + $244 = $227 + ($194 * 8728 | 0) + $200 + $242 | 0; + $246 = ($194 - $192 | 0) * 3363 | 0; + $247 = $234 + ($194 * 25733 | 0) + $202 + $246 | 0; + $248 = $221 + (Math_imul($192, -6278) | 0) + $203 + $246 | 0; + HEAP8[$152 >> 0] = HEAP8[$149 + (($209 + $179 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$152 + 15 >> 0] = HEAP8[$149 + (($179 - $209 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$152 + 1 >> 0] = HEAP8[$149 + (($230 + $181 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$152 + 14 >> 0] = HEAP8[$149 + (($181 - $230 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$152 + 2 >> 0] = HEAP8[$149 + (($243 + $183 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$152 + 13 >> 0] = HEAP8[$149 + (($183 - $243 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$152 + 3 >> 0] = HEAP8[$149 + (($244 + $185 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$152 + 12 >> 0] = HEAP8[$149 + (($185 - $244 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$152 + 4 >> 0] = HEAP8[$149 + (($247 + $186 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$152 + 11 >> 0] = HEAP8[$149 + (($186 - $247 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$152 + 5 >> 0] = HEAP8[$149 + (($248 + $184 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$152 + 10 >> 0] = HEAP8[$149 + (($184 - $248 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$152 + 6 >> 0] = HEAP8[$149 + (($240 + $182 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$152 + 9 >> 0] = HEAP8[$149 + (($182 - $240 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$152 + 7 >> 0] = HEAP8[$149 + (($213 + $180 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$152 + 8 >> 0] = HEAP8[$149 + (($180 - $213 | 0) >>> 18 & 1023) >> 0] | 0; + $$1367 = $$1367 + 1 | 0; + if (($$1367 | 0) == 8) break; else $$2366 = $$2366 + 32 | 0; + } + STACKTOP = sp; + return; +} + +function __ZN46EmscriptenBindingInitializer_constant_bindingsC2Ev($this) { + $this = $this | 0; + var $ref$tmp = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $ref$tmp = sp; + __ZN10emscripten8functionIiJiiiEJEEEvPKcPFT_DpT0_EDpT1_(39245, 26); + __ZN10emscripten8functionIiJiEJEEEvPKcPFT_DpT0_EDpT1_(39251, 67); + __ZN10emscripten8functionIiJiEJEEEvPKcPFT_DpT0_EDpT1_(39260, 68); + __ZN10emscripten8functionIiJiNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEEJEEEvPKcPFT_DpT0_EDpT1_(39269, 44); + __ZN10emscripten8functionIiJiNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEEJEEEvPKcPFT_DpT0_EDpT1_(39280, 45); + __ZN10emscripten8functionIiJiNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEEJEEEvPKcPFT_DpT0_EDpT1_(39296, 46); + __ZN10emscripten8functionIiJiiEJEEEvPKcPFT_DpT0_EDpT1_(39310, 47); + __ZN10emscripten8functionIiJiEJEEEvPKcPFT_DpT0_EDpT1_(39328, 69); + __ZN10emscripten8functionIiJNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEEJEEEvPKcPFT_DpT0_EDpT1_(39348, 70); + __ZN10emscripten8functionIiJiiiEJEEEvPKcPFT_DpT0_EDpT1_(39360, 27); + __ZN10emscripten8functionIiJiiEJEEEvPKcPFT_DpT0_EDpT1_(39377, 48); + __ZN10emscripten8functionIiJiiiEJEEEvPKcPFT_DpT0_EDpT1_(39397, 28); + __ZN10emscripten8functionIiJiiiEJEEEvPKcPFT_DpT0_EDpT1_(39415, 29); + __ZN10emscripten8functionIiJiiEJEEEvPKcPFT_DpT0_EDpT1_(39437, 49); + __ZN10emscripten8functionIiJiiEJEEEvPKcPFT_DpT0_EDpT1_(39460, 50); + __ZN10emscripten8functionIiJiEJEEEvPKcPFT_DpT0_EDpT1_(39489, 71); + __ZN10emscripten8functionIiJiEJEEEvPKcPFT_DpT0_EDpT1_(39502, 72); + __ZN10emscripten8functionIiJiEJEEEvPKcPFT_DpT0_EDpT1_(39515, 73); + __ZN10emscripten8functionIiJiiiEJEEEvPKcPFT_DpT0_EDpT1_(39531, 30); + __ZN10emscripten8functionIiJiiEJEEEvPKcPFT_DpT0_EDpT1_(39550, 51); + __ZN10emscripten8functionIiJiiEJEEEvPKcPFT_DpT0_EDpT1_(39560, 52); + __ZN10emscripten8functionIiJiiEJEEEvPKcPFT_DpT0_EDpT1_(39573, 53); + __ZN10emscripten8functionIiJiEJEEEvPKcPFT_DpT0_EDpT1_(39586, 74); + __ZN10emscripten8functionIiJiEJEEEvPKcPFT_DpT0_EDpT1_(39599, 75); + __ZN10emscripten8functionIvJiEJEEEvPKcPFT_DpT0_EDpT1_(39618, 183); + __ZN10emscripten8functionIiJEJEEEvPKcPFT_DpT0_EDpT1_(39630, 1); + __ZN10emscripten8functionIvJidEJEEEvPKcPFT_DpT0_EDpT1_(39642, 1); + __ZN10emscripten8functionIdJiEJEEEvPKcPFT_DpT0_EDpT1_(39665, 1); + __ZN10emscripten8functionIvJidEJEEEvPKcPFT_DpT0_EDpT1_(39688, 2); + __ZN10emscripten8functionIdJiEJEEEvPKcPFT_DpT0_EDpT1_(39710, 2); + __ZN10emscripten8functionIvJiiEJEEEvPKcPFT_DpT0_EDpT1_(39732, 126); + __ZN10emscripten8functionIiJiEJEEEvPKcPFT_DpT0_EDpT1_(39749, 76); + __ZN10emscripten8functionIvJiiEJEEEvPKcPFT_DpT0_EDpT1_(39766, 127); + __ZN10emscripten8functionIiJiEJEEEvPKcPFT_DpT0_EDpT1_(39779, 77); + __ZN10emscripten8functionIvJiiEJEEEvPKcPFT_DpT0_EDpT1_(39792, 128); + __ZN10emscripten8functionIiJiEJEEEvPKcPFT_DpT0_EDpT1_(39816, 78); + __ZN10emscripten8functionIvJifEJEEEvPKcPFT_DpT0_EDpT1_(39840, 3); + __ZN10emscripten8functionIdJiEJEEEvPKcPFT_DpT0_EDpT1_(39853, 3); + __ZN10emscripten8functionIvJiiEJEEEvPKcPFT_DpT0_EDpT1_(39866, 129); + __ZN10emscripten8functionIiJiEJEEEvPKcPFT_DpT0_EDpT1_(39884, 79); + __ZN10emscripten8functionIvJiiEJEEEvPKcPFT_DpT0_EDpT1_(39902, 130); + __ZN10emscripten8functionIiJiEJEEEvPKcPFT_DpT0_EDpT1_(39918, 80); + __ZN10emscripten8functionIvJiiEJEEEvPKcPFT_DpT0_EDpT1_(39934, 131); + __ZN10emscripten8functionIiJiEJEEEvPKcPFT_DpT0_EDpT1_(39951, 81); + __ZN10emscripten8constantIiEEvPKcRKT_(39968, 16896); + __ZN10emscripten8constantIiEEvPKcRKT_(39997, 16900); + __ZN10emscripten8constantIiEEvPKcRKT_(40025, 16904); + HEAP32[$ref$tmp >> 2] = 0; + __ZN10emscripten8constantIiEEvPKcRKT_(40058, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 1; + __ZN10emscripten8constantIiEEvPKcRKT_(40075, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 0; + __ZN10emscripten8constantIiEEvPKcRKT_(40091, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 0; + __ZN10emscripten8constantIiEEvPKcRKT_(40113, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 1; + __ZN10emscripten8constantIiEEvPKcRKT_(40138, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 1; + __ZN10emscripten8constantIiEEvPKcRKT_(40163, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 100; + __ZN10emscripten8constantIiEEvPKcRKT_(40188, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 0; + __ZN10emscripten8constantIiEEvPKcRKT_(40215, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 1; + __ZN10emscripten8constantIiEEvPKcRKT_(40241, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 0; + __ZN10emscripten8constantIiEEvPKcRKT_(40267, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 0; + __ZN10emscripten8constantIiEEvPKcRKT_(40294, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 1; + __ZN10emscripten8constantIiEEvPKcRKT_(40321, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 2; + __ZN10emscripten8constantIiEEvPKcRKT_(40347, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 3; + __ZN10emscripten8constantIiEEvPKcRKT_(40372, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 4; + __ZN10emscripten8constantIiEEvPKcRKT_(40410, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 0; + __ZN10emscripten8constantIiEEvPKcRKT_(40447, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 0; + __ZN10emscripten8constantIiEEvPKcRKT_(40481, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 1; + __ZN10emscripten8constantIiEEvPKcRKT_(40505, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 2; + __ZN10emscripten8constantIiEEvPKcRKT_(40531, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 2; + __ZN10emscripten8constantIiEEvPKcRKT_(40558, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 5; + __ZN10emscripten8constantIiEEvPKcRKT_(40592, $ref$tmp); + HEAPF64[$ref$tmp >> 3] = .5; + __ZN10emscripten8constantIdEEvPKcRKT_(40610, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 0; + __ZN10emscripten8constantIiEEvPKcRKT_(40631, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 1; + __ZN10emscripten8constantIiEEvPKcRKT_(40650, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 2; + __ZN10emscripten8constantIiEEvPKcRKT_(40668, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 3; + __ZN10emscripten8constantIiEEvPKcRKT_(40686, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 4; + __ZN10emscripten8constantIiEEvPKcRKT_(40705, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 3; + __ZN10emscripten8constantIiEEvPKcRKT_(40727, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 515; + __ZN10emscripten8constantIiEEvPKcRKT_(40746, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 259; + __ZN10emscripten8constantIiEEvPKcRKT_(40775, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 4; + __ZN10emscripten8constantIiEEvPKcRKT_(40803, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 772; + __ZN10emscripten8constantIiEEvPKcRKT_(40822, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 1028; + __ZN10emscripten8constantIiEEvPKcRKT_(40852, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 0; + __ZN10emscripten8constantIiEEvPKcRKT_(40882, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 1; + __ZN10emscripten8constantIiEEvPKcRKT_(40913, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 2; + __ZN10emscripten8constantIiEEvPKcRKT_(40949, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 3; + __ZN10emscripten8constantIiEEvPKcRKT_(40983, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 0; + __ZN10emscripten8constantIiEEvPKcRKT_(41021, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 1; + __ZN10emscripten8constantIiEEvPKcRKT_(41054, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 2; + __ZN10emscripten8constantIiEEvPKcRKT_(41101, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 3; + __ZN10emscripten8constantIiEEvPKcRKT_(41143, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 4; + __ZN10emscripten8constantIiEEvPKcRKT_(41186, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 5; + __ZN10emscripten8constantIiEEvPKcRKT_(41238, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 6; + __ZN10emscripten8constantIiEEvPKcRKT_(41289, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 7; + __ZN10emscripten8constantIiEEvPKcRKT_(41334, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 8; + __ZN10emscripten8constantIiEEvPKcRKT_(41373, $ref$tmp); + HEAP32[$ref$tmp >> 2] = 9; + __ZN10emscripten8constantIiEEvPKcRKT_(41418, $ref$tmp); + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E17parseFunctionTypeEv($0) { + $0 = $0 | 0; + var $$7 = 0, $$8 = 0, $$9 = 0, $$byval_copy5 = 0, $1 = 0, $10 = 0, $11 = 0, $13 = 0, $16 = 0, $19 = 0, $2 = 0, $21 = 0, $22 = 0, $25 = 0, $27 = 0, $29 = 0, $3 = 0, $30 = 0, $32 = 0, $33 = 0, $38 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(80); + $$byval_copy5 = sp + 64 | 0; + $1 = sp + 28 | 0; + $2 = sp + 24 | 0; + $3 = sp + 56 | 0; + $4 = sp + 48 | 0; + $5 = sp + 40 | 0; + $6 = sp + 32 | 0; + $7 = sp; + $8 = sp + 72 | 0; + $9 = sp + 16 | 0; + $10 = sp + 8 | 0; + $11 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E17parseCVQualifiersEv($0) | 0; + HEAP32[$1 >> 2] = $11; + HEAP32[$2 >> 2] = 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, 56311); + HEAP32[$$byval_copy5 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy5 + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + do if (!(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy5) | 0)) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, 56323); + HEAP32[$$byval_copy5 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy5 + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy5) | 0) { + $16 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$$byval_copy5 >> 2] = $16; + if (!$16) { + $$9 = 0; + break; + } + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 69) | 0) { + $19 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_12NoexceptSpecEJRPNS0_4NodeEEEES9_DpOT0_($0, $$byval_copy5) | 0; + HEAP32[$2 >> 2] = $19; + label = 14; + break; + } else { + $$9 = 0; + break; + } + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($5, 56326); + HEAP32[$$byval_copy5 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$$byval_copy5 + 4 >> 2] = HEAP32[$5 + 4 >> 2]; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy5) | 0) { + $21 = $0 + 8 | 0; + $22 = __ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE4sizeEv($21) | 0; + while (1) { + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 69) | 0) { + label = 12; + break; + } + $25 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseTypeEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$$byval_copy5 >> 2] = $25; + if (!$25) { + label = 13; + break; + } + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE9push_backERKS3_($21, $$byval_copy5); + } + if ((label | 0) == 12) { + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E20popTrailingNodeArrayEm($$byval_copy5, $0, $22); + $27 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_20DynamicExceptionSpecEJNS0_9NodeArrayEEEEPNS0_4NodeEDpOT0_($0, $$byval_copy5) | 0; + HEAP32[$2 >> 2] = $27; + label = 14; + break; + } else if ((label | 0) == 13) { + $$9 = 0; + break; + } + } else label = 14; + } else { + $13 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA9_KcEEEPNS0_4NodeEDpOT0_($0, 56314) | 0; + HEAP32[$2 >> 2] = $13; + label = 14; + } while (0); + if ((label | 0) == 14) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($6, 56329); + HEAP32[$$byval_copy5 >> 2] = HEAP32[$6 >> 2]; + HEAP32[$$byval_copy5 + 4 >> 2] = HEAP32[$6 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy5) | 0; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 70) | 0) { + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 89) | 0; + $29 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + $30 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseTypeEv($29) | 0; + HEAP32[$7 >> 2] = $30; + if (!$30) $$8 = 0; else { + HEAP8[$8 >> 0] = 0; + $32 = $0 + 8 | 0; + $33 = __ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE4sizeEv($32) | 0; + while (1) { + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 69) | 0) { + label = 27; + break; + } + if (!(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 118) | 0)) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($9, 56332); + HEAP32[$$byval_copy5 >> 2] = HEAP32[$9 >> 2]; + HEAP32[$$byval_copy5 + 4 >> 2] = HEAP32[$9 + 4 >> 2]; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy5) | 0) { + label = 21; + break; + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($10, 56335); + HEAP32[$$byval_copy5 >> 2] = HEAP32[$10 >> 2]; + HEAP32[$$byval_copy5 + 4 >> 2] = HEAP32[$10 + 4 >> 2]; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy5) | 0) { + label = 23; + break; + } + $38 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseTypeEv($29) | 0; + HEAP32[$$byval_copy5 >> 2] = $38; + if (!$38) { + label = 26; + break; + } + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE9push_backERKS3_($32, $$byval_copy5); + } + } + if ((label | 0) == 21) { + HEAP8[$8 >> 0] = 1; + label = 27; + } else if ((label | 0) == 23) { + HEAP8[$8 >> 0] = 2; + label = 27; + } else if ((label | 0) == 26) $$7 = 0; + if ((label | 0) == 27) { + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E20popTrailingNodeArrayEm($$byval_copy5, $0, $33); + $$7 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_12FunctionTypeEJRPNS0_4NodeERNS0_9NodeArrayERNS0_10QualifiersERNS0_15FunctionRefQualESA_EEES9_DpOT0_($0, $7, $$byval_copy5, $1, $8, $2) | 0; + } + $$8 = $$7; + } + $$9 = $$8; + } else $$9 = 0; + } + STACKTOP = sp; + return $$9 | 0; +} + +function __ZN6vision18binomial_4th_orderEPfPtPKhmm($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0 = 0, $$0254 = 0, $$0255 = 0, $$0256 = 0, $$0257 = 0, $$0258 = 0, $$0259 = 0, $$0260 = 0, $$0275 = 0, $$0280 = 0, $$0281 = 0, $$0283 = 0, $$0284 = 0, $$1 = 0, $$1261 = 0, $$1266 = 0, $$1276 = 0, $$1282 = 0, $$1285 = 0, $$2 = 0, $$2262 = 0, $$2267 = 0, $$2272 = 0, $$2277 = 0, $$2286 = 0, $$3263 = 0, $$3268 = 0, $$3273 = 0, $$3278 = 0, $$3287 = 0, $$4269 = 0, $$4274 = 0, $$4279 = 0, $$4288 = 0, $100 = 0, $12 = 0, $121 = 0, $143 = 0, $164 = 0, $17 = 0, $184 = 0, $185 = 0, $186 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $21 = 0, $227 = 0, $228 = 0, $239 = 0, $256 = 0, $28 = 0, $33 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $46 = 0, $48 = 0, $49 = 0, $5 = 0, $54 = 0, $66 = 0, $79 = 0, $83 = 0, $86 = 0, $88 = 0, $scevgep = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $5 = sp; + if ($3 >>> 0 <= 4) { + $12 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 31119) | 0, 31153) | 0, 39072) | 0, 55) | 0, 39079) | 0, 31248) | 0; + __ZNKSt3__28ios_base6getlocEv($5, $12 + (HEAP32[(HEAP32[$12 >> 2] | 0) + -12 >> 2] | 0) | 0); + $17 = __ZNKSt3__26locale9use_facetERNS0_2idE($5, 66512) | 0; + $21 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$17 >> 2] | 0) + 28 >> 2] & 127]($17, 10) | 0; + __ZNSt3__26localeD2Ev($5); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($12, $21) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($12) | 0; + _abort(); + } + if ($4 >>> 0 <= 4) { + $28 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 31267) | 0, 31153) | 0, 39072) | 0, 56) | 0, 39079) | 0, 31248) | 0; + __ZNKSt3__28ios_base6getlocEv($5, $28 + (HEAP32[(HEAP32[$28 >> 2] | 0) + -12 >> 2] | 0) | 0); + $33 = __ZNKSt3__26locale9use_facetERNS0_2idE($5, 66512) | 0; + $37 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$33 >> 2] | 0) + 28 >> 2] & 127]($33, 10) | 0; + __ZNSt3__26localeD2Ev($5); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($28, $37) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($28) | 0; + _abort(); + } + $38 = $3 + -1 | 0; + $39 = $3 + -2 | 0; + $40 = $3 + -3 | 0; + $41 = $3 + -4 | 0; + $$0281 = $1; + $$0283 = 0; + while (1) { + if (($$0283 | 0) == ($4 | 0)) break; + $46 = $2 + (Math_imul($$0283, $3) | 0) | 0; + $48 = HEAPU8[$46 >> 0] | 0; + $49 = $46 + 1 | 0; + $54 = $46 + 2 | 0; + HEAP16[$$0281 >> 1] = ($48 * 7 | 0) + (HEAPU8[$54 >> 0] | 0) + ((HEAPU8[$49 >> 0] | 0) + $48 << 2); + $66 = HEAPU8[$46 >> 0] | 0; + HEAP16[$$0281 + 2 >> 1] = ((HEAPU8[$49 >> 0] | 0) * 6 | 0) + $66 + (HEAPU8[$46 + 3 >> 0] | 0) + ((HEAPU8[$54 >> 0] | 0) + $66 << 2); + $$0280 = 2; + $$1282 = $$0281 + 4 | 0; + while (1) { + if (($$0280 | 0) == ($39 | 0)) break; + $121 = $$0280 + 1 | 0; + HEAP16[$$1282 >> 1] = ((HEAPU8[$46 + $$0280 >> 0] | 0) * 6 | 0) + (HEAPU8[$46 + ($$0280 + -2) >> 0] | 0) + ((HEAPU8[$46 + $121 >> 0] | 0) + (HEAPU8[$46 + ($$0280 + -1) >> 0] | 0) << 2) + (HEAPU8[$46 + ($$0280 + 2) >> 0] | 0); + $$0280 = $121; + $$1282 = $$1282 + 2 | 0; + } + $scevgep = $$0281 + ($39 << 1) | 0; + $79 = $46 + $39 | 0; + $83 = $46 + $40 | 0; + $86 = $46 + $38 | 0; + $88 = HEAPU8[$86 >> 0] | 0; + HEAP16[$scevgep >> 1] = ((HEAPU8[$79 >> 0] | 0) * 6 | 0) + $88 + (HEAPU8[$46 + $41 >> 0] | 0) + ($88 + (HEAPU8[$83 >> 0] | 0) << 2); + $100 = HEAPU8[$86 >> 0] | 0; + HEAP16[$scevgep + 2 >> 1] = ($100 * 7 | 0) + (HEAPU8[$83 >> 0] | 0) + ((HEAPU8[$79 >> 0] | 0) + $100 << 2); + $$0281 = $$0281 + ($3 << 1) | 0; + $$0283 = $$0283 + 1 | 0; + } + $42 = $4 + -2 | 0; + $43 = $1 + ($3 << 1) | 0; + $44 = $43 + ($3 << 1) | 0; + $$0258 = 0; + $$0259 = $44; + $$0260 = $43; + $$0275 = $1; + $$0284 = $0; + while (1) { + if (($$0258 | 0) == ($3 | 0)) break; + $143 = HEAPU16[$$0275 >> 1] | 0; + HEAPF32[$$0284 >> 2] = +(($143 * 7 | 0) + ((HEAPU16[$$0260 >> 1] | 0) + $143 << 2) + (HEAPU16[$$0259 >> 1] | 0) | 0) * .00390625; + $$0258 = $$0258 + 1 | 0; + $$0259 = $$0259 + 2 | 0; + $$0260 = $$0260 + 2 | 0; + $$0275 = $$0275 + 2 | 0; + $$0284 = $$0284 + 4 | 0; + } + $$0257 = 0; + $$1 = $44 + ($3 << 1) | 0; + $$1261 = $44; + $$1266 = $43; + $$1276 = $1; + $$1285 = $0 + ($3 << 2) | 0; + while (1) { + if (($$0257 | 0) == ($3 | 0)) break; + $164 = HEAPU16[$$1276 >> 1] | 0; + HEAPF32[$$1285 >> 2] = +(((HEAPU16[$$1266 >> 1] | 0) * 6 | 0) + $164 + ((HEAPU16[$$1261 >> 1] | 0) + $164 << 2) + (HEAPU16[$$1 >> 1] | 0) | 0) * .00390625; + $$0257 = $$0257 + 1 | 0; + $$1 = $$1 + 2 | 0; + $$1261 = $$1261 + 2 | 0; + $$1266 = $$1266 + 2 | 0; + $$1276 = $$1276 + 2 | 0; + $$1285 = $$1285 + 4 | 0; + } + $$0256 = 2; + while (1) { + if (($$0256 | 0) == ($42 | 0)) break; + $192 = $1 + ((Math_imul($$0256 + -2 | 0, $3) | 0) << 1) | 0; + $193 = $192 + ($3 << 1) | 0; + $194 = $193 + ($3 << 1) | 0; + $195 = $194 + ($3 << 1) | 0; + $$0255 = 0; + $$2 = $195 + ($3 << 1) | 0; + $$2262 = $195; + $$2267 = $194; + $$2272 = $193; + $$2277 = $192; + $$2286 = $0 + ((Math_imul($$0256, $3) | 0) << 2) | 0; + while (1) { + if (($$0255 | 0) == ($3 | 0)) break; + HEAPF32[$$2286 >> 2] = +(((HEAPU16[$$2267 >> 1] | 0) * 6 | 0) + (HEAPU16[$$2277 >> 1] | 0) + ((HEAPU16[$$2262 >> 1] | 0) + (HEAPU16[$$2272 >> 1] | 0) << 2) + (HEAPU16[$$2 >> 1] | 0) | 0) * .00390625; + $$0255 = $$0255 + 1 | 0; + $$2 = $$2 + 2 | 0; + $$2262 = $$2262 + 2 | 0; + $$2267 = $$2267 + 2 | 0; + $$2272 = $$2272 + 2 | 0; + $$2277 = $$2277 + 2 | 0; + $$2286 = $$2286 + 4 | 0; + } + $$0256 = $$0256 + 1 | 0; + } + $184 = $1 + ((Math_imul($4 + -4 | 0, $3) | 0) << 1) | 0; + $185 = $184 + ($3 << 1) | 0; + $186 = $185 + ($3 << 1) | 0; + $$0254 = 0; + $$3263 = $186 + ($3 << 1) | 0; + $$3268 = $186; + $$3273 = $185; + $$3278 = $184; + $$3287 = $0 + ((Math_imul($42, $3) | 0) << 2) | 0; + while (1) { + if (($$0254 | 0) == ($3 | 0)) break; + $239 = HEAPU16[$$3263 >> 1] | 0; + HEAPF32[$$3287 >> 2] = +(((HEAPU16[$$3268 >> 1] | 0) * 6 | 0) + (HEAPU16[$$3278 >> 1] | 0) + ($239 + (HEAPU16[$$3273 >> 1] | 0) << 2) + $239 | 0) * .00390625; + $$0254 = $$0254 + 1 | 0; + $$3263 = $$3263 + 2 | 0; + $$3268 = $$3268 + 2 | 0; + $$3273 = $$3273 + 2 | 0; + $$3278 = $$3278 + 2 | 0; + $$3287 = $$3287 + 4 | 0; + } + $227 = $1 + ((Math_imul($4 + -3 | 0, $3) | 0) << 1) | 0; + $228 = $227 + ($3 << 1) | 0; + $$0 = 0; + $$4269 = $228 + ($3 << 1) | 0; + $$4274 = $228; + $$4279 = $227; + $$4288 = $0 + ((Math_imul($4 + -1 | 0, $3) | 0) << 2) | 0; + while (1) { + if (($$0 | 0) == ($3 | 0)) break; + $256 = HEAPU16[$$4269 >> 1] | 0; + HEAPF32[$$4288 >> 2] = +(($256 * 6 | 0) + (HEAPU16[$$4279 >> 1] | 0) + ($256 + (HEAPU16[$$4274 >> 1] | 0) << 2) + $256 | 0) * .00390625; + $$0 = $$0 + 1 | 0; + $$4269 = $$4269 + 2 | 0; + $$4274 = $$4274 + 2 | 0; + $$4279 = $$4279 + 2 | 0; + $$4288 = $$4288 + 4 | 0; + } + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E19parseUnresolvedNameEv($0) { + $0 = $0 | 0; + var $$10 = 0, $$4 = 0, $$8 = 0, $$byval_copy2 = 0, $$pre$phi24Z2D = 0, $1 = 0, $11 = 0, $13 = 0, $15 = 0, $17 = 0, $18 = 0, $2 = 0, $21 = 0, $24 = 0, $26 = 0, $29 = 0, $3 = 0, $30 = 0, $34 = 0, $35 = 0, $37 = 0, $38 = 0, $4 = 0, $42 = 0, $44 = 0, $45 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $$byval_copy2 = sp + 32 | 0; + $1 = sp + 8 | 0; + $2 = sp + 24 | 0; + $3 = sp + 16 | 0; + $4 = sp; + HEAP32[$1 >> 2] = 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 53691); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + L1 : do if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy2) | 0) { + $6 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + $7 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E19parseUnresolvedTypeEv($6) | 0; + HEAP32[$1 >> 2] = $7; + if (!$7) $$10 = 0; else { + do if ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 0) | 0) << 24 >> 24 == 73) { + $11 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E17parseTemplateArgsEb($6, 0) | 0; + HEAP32[$$byval_copy2 >> 2] = $11; + if (!$11) { + $$10 = 0; + break L1; + } else { + $13 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_20NameWithTemplateArgsEJRPNS0_4NodeESA_EEES9_DpOT0_($0, $1, $$byval_copy2) | 0; + HEAP32[$1 >> 2] = $13; + break; + } + } while (0); + while (1) { + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 69) | 0) break; + $15 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E13parseSimpleIdEv($6) | 0; + HEAP32[$$byval_copy2 >> 2] = $15; + if (!$15) { + label = 35; + break; + } + $17 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_13QualifiedNameEJRPNS0_4NodeESA_EEES9_DpOT0_($0, $1, $$byval_copy2) | 0; + HEAP32[$1 >> 2] = $17; + } + if ((label | 0) == 35) { + $$10 = 0; + break; + } + $18 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E23parseBaseUnresolvedNameEv($6) | 0; + HEAP32[$$byval_copy2 >> 2] = $18; + if (!$18) $$4 = 0; else $$4 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_13QualifiedNameEJRPNS0_4NodeESA_EEES9_DpOT0_($0, $1, $$byval_copy2) | 0; + $$10 = $$4; + } + } else { + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, 52665); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + $21 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy2) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, 53695); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + if (!(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy2) | 0)) { + $24 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E23parseBaseUnresolvedNameEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$1 >> 2] = $24; + if (($24 | 0) == 0 | $21 ^ 1) { + $$10 = $24; + break; + } + $26 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_19GlobalQualifiedNameEJRPNS0_4NodeEEEES9_DpOT0_($0, $1) | 0; + HEAP32[$1 >> 2] = $26; + $$10 = $26; + break; + } + L25 : do if ((((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 0) | 0) << 24 >> 24) + -48 | 0) >>> 0 >= 10) { + $37 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + $38 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E19parseUnresolvedTypeEv($37) | 0; + HEAP32[$1 >> 2] = $38; + if (!$38) { + $$10 = 0; + break L1; + } + if ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 0) | 0) << 24 >> 24 == 73) { + $42 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E17parseTemplateArgsEb($37, 0) | 0; + HEAP32[$$byval_copy2 >> 2] = $42; + if (!$42) { + $$10 = 0; + break L1; + } else { + $44 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_20NameWithTemplateArgsEJRPNS0_4NodeESA_EEES9_DpOT0_($0, $1, $$byval_copy2) | 0; + HEAP32[$1 >> 2] = $44; + $$pre$phi24Z2D = $37; + break; + } + } else $$pre$phi24Z2D = $37; + } else { + while (1) { + $29 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + $30 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E13parseSimpleIdEv($29) | 0; + HEAP32[$$byval_copy2 >> 2] = $30; + if (!$30) break; + do if (!(HEAP32[$1 >> 2] | 0)) if ($21) { + $35 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_19GlobalQualifiedNameEJRPNS0_4NodeEEEES9_DpOT0_($0, $$byval_copy2) | 0; + HEAP32[$1 >> 2] = $35; + break; + } else { + HEAP32[$1 >> 2] = $30; + break; + } else { + $34 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_13QualifiedNameEJRPNS0_4NodeESA_EEES9_DpOT0_($0, $1, $$byval_copy2) | 0; + HEAP32[$1 >> 2] = $34; + } while (0); + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 69) | 0) { + $$pre$phi24Z2D = $29; + break L25; + } + } + $$10 = 0; + break L1; + } while (0); + $45 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E23parseBaseUnresolvedNameEv($$pre$phi24Z2D) | 0; + HEAP32[$$byval_copy2 >> 2] = $45; + if (!$45) $$8 = 0; else $$8 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_13QualifiedNameEJRPNS0_4NodeESA_EEES9_DpOT0_($0, $1, $$byval_copy2) | 0; + $$10 = $$8; + } while (0); + STACKTOP = sp; + return $$10 | 0; +} + +function __ZN6vision18binomial_4th_orderEPfS0_PKfmm($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0 = 0, $$0232 = 0, $$0233 = 0, $$0234 = 0, $$0235 = 0, $$0236 = 0, $$0237 = 0, $$0238 = 0, $$0253 = 0, $$0258 = 0, $$0259 = 0, $$0261 = 0, $$0262 = 0, $$1 = 0, $$1239 = 0, $$1244 = 0, $$1254 = 0, $$1260 = 0, $$1263 = 0, $$2 = 0, $$2240 = 0, $$2245 = 0, $$2250 = 0, $$2255 = 0, $$2264 = 0, $$3241 = 0, $$3246 = 0, $$3251 = 0, $$3256 = 0, $$3265 = 0, $$4247 = 0, $$4252 = 0, $$4257 = 0, $$4266 = 0, $103 = 0, $12 = 0, $120 = 0.0, $137 = 0.0, $154 = 0, $155 = 0, $156 = 0, $162 = 0, $163 = 0, $164 = 0, $165 = 0, $17 = 0, $191 = 0, $192 = 0, $200 = 0.0, $21 = 0, $214 = 0.0, $28 = 0, $33 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $46 = 0, $47 = 0.0, $49 = 0, $5 = 0, $55 = 0, $61 = 0.0, $71 = 0, $74 = 0, $76 = 0, $77 = 0.0, $86 = 0.0, $scevgep = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $5 = sp; + if ($3 >>> 0 <= 4) { + $12 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 31119) | 0, 31153) | 0, 39072) | 0, 168) | 0, 39079) | 0, 31248) | 0; + __ZNKSt3__28ios_base6getlocEv($5, $12 + (HEAP32[(HEAP32[$12 >> 2] | 0) + -12 >> 2] | 0) | 0); + $17 = __ZNKSt3__26locale9use_facetERNS0_2idE($5, 66512) | 0; + $21 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$17 >> 2] | 0) + 28 >> 2] & 127]($17, 10) | 0; + __ZNSt3__26localeD2Ev($5); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($12, $21) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($12) | 0; + _abort(); + } + if ($4 >>> 0 <= 4) { + $28 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 31267) | 0, 31153) | 0, 39072) | 0, 169) | 0, 39079) | 0, 31248) | 0; + __ZNKSt3__28ios_base6getlocEv($5, $28 + (HEAP32[(HEAP32[$28 >> 2] | 0) + -12 >> 2] | 0) | 0); + $33 = __ZNKSt3__26locale9use_facetERNS0_2idE($5, 66512) | 0; + $37 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$33 >> 2] | 0) + 28 >> 2] & 127]($33, 10) | 0; + __ZNSt3__26localeD2Ev($5); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($28, $37) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($28) | 0; + _abort(); + } + $38 = $3 + -1 | 0; + $39 = $3 + -2 | 0; + $40 = $3 + -3 | 0; + $41 = $3 + -4 | 0; + $$0259 = $1; + $$0261 = 0; + while (1) { + if (($$0261 | 0) == ($4 | 0)) break; + $46 = $2 + ((Math_imul($$0261, $3) | 0) << 2) | 0; + $47 = +HEAPF32[$46 >> 2]; + $49 = $46 + 4 | 0; + $55 = $46 + 8 | 0; + HEAPF32[$$0259 >> 2] = +HEAPF32[$55 >> 2] + ($47 + ($47 * 6.0 + ($47 + +HEAPF32[$49 >> 2]) * 4.0)); + $61 = +HEAPF32[$46 >> 2]; + HEAPF32[$$0259 + 4 >> 2] = +HEAPF32[$46 + 12 >> 2] + ($61 + (+HEAPF32[$49 >> 2] * 6.0 + ($61 + +HEAPF32[$55 >> 2]) * 4.0)); + $$0258 = 2; + $$1260 = $$0259 + 8 | 0; + while (1) { + if (($$0258 | 0) == ($39 | 0)) break; + $103 = $$0258 + 1 | 0; + HEAPF32[$$1260 >> 2] = +HEAPF32[$46 + ($$0258 + 2 << 2) >> 2] + (+HEAPF32[$46 + ($$0258 + -2 << 2) >> 2] + (+HEAPF32[$46 + ($$0258 << 2) >> 2] * 6.0 + (+HEAPF32[$46 + ($$0258 + -1 << 2) >> 2] + +HEAPF32[$46 + ($103 << 2) >> 2]) * 4.0)); + $$0258 = $103; + $$1260 = $$1260 + 4 | 0; + } + $scevgep = $$0259 + ($39 << 2) | 0; + $71 = $46 + ($39 << 2) | 0; + $74 = $46 + ($40 << 2) | 0; + $76 = $46 + ($38 << 2) | 0; + $77 = +HEAPF32[$76 >> 2]; + HEAPF32[$scevgep >> 2] = $77 + (+HEAPF32[$46 + ($41 << 2) >> 2] + (+HEAPF32[$71 >> 2] * 6.0 + (+HEAPF32[$74 >> 2] + $77) * 4.0)); + $86 = +HEAPF32[$76 >> 2]; + HEAPF32[$scevgep + 4 >> 2] = $86 + (+HEAPF32[$74 >> 2] + ($86 * 6.0 + ($86 + +HEAPF32[$71 >> 2]) * 4.0)); + $$0259 = $$0259 + ($3 << 2) | 0; + $$0261 = $$0261 + 1 | 0; + } + $42 = $4 + -2 | 0; + $43 = $1 + ($3 << 2) | 0; + $44 = $43 + ($3 << 2) | 0; + $$0236 = 0; + $$0237 = $44; + $$0238 = $43; + $$0253 = $1; + $$0262 = $0; + while (1) { + if (($$0236 | 0) == ($3 | 0)) break; + $120 = +HEAPF32[$$0253 >> 2]; + HEAPF32[$$0262 >> 2] = (+HEAPF32[$$0237 >> 2] + ($120 + ($120 * 6.0 + ($120 + +HEAPF32[$$0238 >> 2]) * 4.0))) * .00390625; + $$0236 = $$0236 + 1 | 0; + $$0237 = $$0237 + 4 | 0; + $$0238 = $$0238 + 4 | 0; + $$0253 = $$0253 + 4 | 0; + $$0262 = $$0262 + 4 | 0; + } + $$0235 = 0; + $$1 = $44 + ($3 << 2) | 0; + $$1239 = $44; + $$1244 = $43; + $$1254 = $1; + $$1263 = $0 + ($3 << 2) | 0; + while (1) { + if (($$0235 | 0) == ($3 | 0)) break; + $137 = +HEAPF32[$$1254 >> 2]; + HEAPF32[$$1263 >> 2] = (+HEAPF32[$$1 >> 2] + ($137 + (+HEAPF32[$$1244 >> 2] * 6.0 + ($137 + +HEAPF32[$$1239 >> 2]) * 4.0))) * .00390625; + $$0235 = $$0235 + 1 | 0; + $$1 = $$1 + 4 | 0; + $$1239 = $$1239 + 4 | 0; + $$1244 = $$1244 + 4 | 0; + $$1254 = $$1254 + 4 | 0; + $$1263 = $$1263 + 4 | 0; + } + $$0234 = 2; + while (1) { + if (($$0234 | 0) == ($42 | 0)) break; + $162 = $1 + ((Math_imul($$0234 + -2 | 0, $3) | 0) << 2) | 0; + $163 = $162 + ($3 << 2) | 0; + $164 = $163 + ($3 << 2) | 0; + $165 = $164 + ($3 << 2) | 0; + $$0233 = 0; + $$2 = $165 + ($3 << 2) | 0; + $$2240 = $165; + $$2245 = $164; + $$2250 = $163; + $$2255 = $162; + $$2264 = $0 + ((Math_imul($$0234, $3) | 0) << 2) | 0; + while (1) { + if (($$0233 | 0) == ($3 | 0)) break; + HEAPF32[$$2264 >> 2] = (+HEAPF32[$$2 >> 2] + (+HEAPF32[$$2255 >> 2] + (+HEAPF32[$$2245 >> 2] * 6.0 + (+HEAPF32[$$2250 >> 2] + +HEAPF32[$$2240 >> 2]) * 4.0))) * .00390625; + $$0233 = $$0233 + 1 | 0; + $$2 = $$2 + 4 | 0; + $$2240 = $$2240 + 4 | 0; + $$2245 = $$2245 + 4 | 0; + $$2250 = $$2250 + 4 | 0; + $$2255 = $$2255 + 4 | 0; + $$2264 = $$2264 + 4 | 0; + } + $$0234 = $$0234 + 1 | 0; + } + $154 = $1 + ((Math_imul($4 + -4 | 0, $3) | 0) << 2) | 0; + $155 = $154 + ($3 << 2) | 0; + $156 = $155 + ($3 << 2) | 0; + $$0232 = 0; + $$3241 = $156 + ($3 << 2) | 0; + $$3246 = $156; + $$3251 = $155; + $$3256 = $154; + $$3265 = $0 + ((Math_imul($42, $3) | 0) << 2) | 0; + while (1) { + if (($$0232 | 0) == ($3 | 0)) break; + $200 = +HEAPF32[$$3241 >> 2]; + HEAPF32[$$3265 >> 2] = ($200 + (+HEAPF32[$$3256 >> 2] + (+HEAPF32[$$3246 >> 2] * 6.0 + (+HEAPF32[$$3251 >> 2] + $200) * 4.0))) * .00390625; + $$0232 = $$0232 + 1 | 0; + $$3241 = $$3241 + 4 | 0; + $$3246 = $$3246 + 4 | 0; + $$3251 = $$3251 + 4 | 0; + $$3256 = $$3256 + 4 | 0; + $$3265 = $$3265 + 4 | 0; + } + $191 = $1 + ((Math_imul($4 + -3 | 0, $3) | 0) << 2) | 0; + $192 = $191 + ($3 << 2) | 0; + $$0 = 0; + $$4247 = $192 + ($3 << 2) | 0; + $$4252 = $192; + $$4257 = $191; + $$4266 = $0 + ((Math_imul($4 + -1 | 0, $3) | 0) << 2) | 0; + while (1) { + if (($$0 | 0) == ($3 | 0)) break; + $214 = +HEAPF32[$$4247 >> 2]; + HEAPF32[$$4266 >> 2] = ($214 + (+HEAPF32[$$4257 >> 2] + ($214 * 6.0 + (+HEAPF32[$$4252 >> 2] + $214) * 4.0))) * .00390625; + $$0 = $$0 + 1 | 0; + $$4247 = $$4247 + 4 | 0; + $$4252 = $$4252 + 4 | 0; + $$4257 = $$4257 + 4 | 0; + $$4266 = $$4266 + 4 | 0; + } + STACKTOP = sp; + return; +} + +function __ZNSt3__214__scan_keywordINS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEPKNS_12basic_stringIwS3_NS_9allocatorIwEEEENS_5ctypeIwEEEET0_RT_SE_SD_SD_RKT1_Rjb($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 = 0, $$0$i$i = 0, $$0$i$i$i$i = 0, $$0$i$i$i$i116 = 0, $$0$i$i2$i$i = 0, $$0$i$i2$i$i122 = 0, $$0101 = 0, $$0105 = 0, $$0111 = 0, $$0112 = 0, $$0112140 = 0, $$092 = 0, $$093 = 0, $$094$off0 = 0, $$095 = 0, $$096 = 0, $$097 = 0, $$098 = 0, $$1102 = 0, $$1106 = 0, $$199 = 0, $$2$off0 = 0, $$2100 = 0, $$2103 = 0, $$2103$be = 0, $$2107 = 0, $$3 = 0, $$3104 = 0, $$3108 = 0, $$5 = 0, $$5110 = 0, $$6 = 0, $$7 = 0, $$sroa$0129$0 = 0, $109 = 0, $11 = 0, $114 = 0, $119 = 0, $120 = 0, $126 = 0, $13 = 0, $132 = 0, $138 = 0, $139 = 0, $140 = 0, $156 = 0, $162 = 0, $175 = 0, $18 = 0, $24 = 0, $29 = 0, $32 = 0, $44 = 0, $47 = 0, $60 = 0, $61 = 0, $64 = 0, $67 = 0, $7 = 0, $80 = 0, $82 = 0, $95 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(112); + $7 = sp; + $11 = ($3 - $2 | 0) / 12 | 0; + if ($11 >>> 0 > 100) { + $13 = _malloc($11) | 0; + if (!$13) __ZSt17__throw_bad_allocv(); else { + $$0111 = $13; + $$sroa$0129$0 = $13; + } + } else { + $$0111 = $7; + $$sroa$0129$0 = 0; + } + $$0101 = 0; + $$0105 = $11; + $$097 = $2; + $$098 = $$0111; + while (1) { + if (($$097 | 0) == ($3 | 0)) break; + $18 = HEAP8[$$097 + 8 + 3 >> 0] | 0; + if ($18 << 24 >> 24 < 0) $24 = HEAP32[$$097 + 4 >> 2] | 0; else $24 = $18 & 255; + if (!$24) { + HEAP8[$$098 >> 0] = 2; + $$1102 = $$0101 + 1 | 0; + $$1106 = $$0105 + -1 | 0; + } else { + HEAP8[$$098 >> 0] = 1; + $$1102 = $$0101; + $$1106 = $$0105; + } + $$0101 = $$1102; + $$0105 = $$1106; + $$097 = $$097 + 12 | 0; + $$098 = $$098 + 1 | 0; + } + $$096 = 0; + $$2103 = $$0101; + $$2107 = $$0105; + while (1) { + $29 = HEAP32[$0 >> 2] | 0; + do if ($29) { + $32 = HEAP32[$29 + 12 >> 2] | 0; + if (($32 | 0) == (HEAP32[$29 + 16 >> 2] | 0)) $$0$i$i$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$29 >> 2] | 0) + 36 >> 2] & 127]($29) | 0; else $$0$i$i$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$32 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$0 >> 2] = 0; + $60 = 1; + break; + } else { + $60 = (HEAP32[$0 >> 2] | 0) == 0; + break; + } + } else $60 = 1; while (0); + $44 = HEAP32[$1 >> 2] | 0; + if ($44) { + $47 = HEAP32[$44 + 12 >> 2] | 0; + if (($47 | 0) == (HEAP32[$44 + 16 >> 2] | 0)) $$0$i$i2$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$44 >> 2] | 0) + 36 >> 2] & 127]($44) | 0; else $$0$i$i2$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$47 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $61 = 1; + $80 = 0; + } else { + $61 = 0; + $80 = $44; + } + } else { + $61 = 1; + $80 = 0; + } + $64 = HEAP32[$0 >> 2] | 0; + if (!(($$2107 | 0) != 0 & ($60 ^ $61))) break; + $95 = HEAP32[$64 + 12 >> 2] | 0; + if (($95 | 0) == (HEAP32[$64 + 16 >> 2] | 0)) $$0$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$64 >> 2] | 0) + 36 >> 2] & 127]($64) | 0; else $$0$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$95 >> 2] | 0) | 0; + if ($6) $$095 = $$0$i$i; else $$095 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$4 >> 2] | 0) + 28 >> 2] & 127]($4, $$0$i$i) | 0; + $109 = $$096 + 1 | 0; + $$093 = $2; + $$094$off0 = 0; + $$199 = $$0111; + $$3104 = $$2103; + $$3108 = $$2107; + while (1) { + if (($$093 | 0) == ($3 | 0)) break; + do if ((HEAP8[$$199 >> 0] | 0) == 1) { + $114 = $$093 + 8 + 3 | 0; + if ((HEAP8[$114 >> 0] | 0) < 0) $119 = HEAP32[$$093 >> 2] | 0; else $119 = $$093; + $120 = HEAP32[$119 + ($$096 << 2) >> 2] | 0; + if ($6) $$092 = $120; else $$092 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$4 >> 2] | 0) + 28 >> 2] & 127]($4, $120) | 0; + if (($$095 | 0) != ($$092 | 0)) { + HEAP8[$$199 >> 0] = 0; + $$2$off0 = $$094$off0; + $$5 = $$3104; + $$5110 = $$3108 + -1 | 0; + break; + } + $126 = HEAP8[$114 >> 0] | 0; + if ($126 << 24 >> 24 < 0) $132 = HEAP32[$$093 + 4 >> 2] | 0; else $132 = $126 & 255; + if (($132 | 0) == ($109 | 0)) { + HEAP8[$$199 >> 0] = 2; + $$2$off0 = 1; + $$5 = $$3104 + 1 | 0; + $$5110 = $$3108 + -1 | 0; + } else { + $$2$off0 = 1; + $$5 = $$3104; + $$5110 = $$3108; + } + } else { + $$2$off0 = $$094$off0; + $$5 = $$3104; + $$5110 = $$3108; + } while (0); + $$093 = $$093 + 12 | 0; + $$094$off0 = $$2$off0; + $$199 = $$199 + 1 | 0; + $$3104 = $$5; + $$3108 = $$5110; + } + L67 : do if ($$094$off0) { + $138 = HEAP32[$0 >> 2] | 0; + $139 = $138 + 12 | 0; + $140 = HEAP32[$139 >> 2] | 0; + if (($140 | 0) == (HEAP32[$138 + 16 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$138 >> 2] | 0) + 40 >> 2] & 127]($138) | 0; else { + HEAP32[$139 >> 2] = $140 + 4; + __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$140 >> 2] | 0) | 0; + } + if (($$3104 + $$3108 | 0) >>> 0 > 1) { + $$0 = $2; + $$2100 = $$0111; + $$6 = $$3104; + while (1) { + if (($$0 | 0) == ($3 | 0)) { + $$2103$be = $$6; + break L67; + } + if ((HEAP8[$$2100 >> 0] | 0) == 2) { + $156 = HEAP8[$$0 + 8 + 3 >> 0] | 0; + if ($156 << 24 >> 24 < 0) $162 = HEAP32[$$0 + 4 >> 2] | 0; else $162 = $156 & 255; + if (($162 | 0) != ($109 | 0)) { + HEAP8[$$2100 >> 0] = 0; + $$7 = $$6 + -1 | 0; + } else $$7 = $$6; + } else $$7 = $$6; + $$0 = $$0 + 12 | 0; + $$2100 = $$2100 + 1 | 0; + $$6 = $$7; + } + } else $$2103$be = $$3104; + } else $$2103$be = $$3104; while (0); + $$096 = $109; + $$2103 = $$2103$be; + $$2107 = $$3108; + } + do if ($64) { + $67 = HEAP32[$64 + 12 >> 2] | 0; + if (($67 | 0) == (HEAP32[$64 + 16 >> 2] | 0)) $$0$i$i$i$i116 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$64 >> 2] | 0) + 36 >> 2] & 127]($64) | 0; else $$0$i$i$i$i116 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$67 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i116, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$0 >> 2] = 0; + $175 = 1; + break; + } else { + $175 = (HEAP32[$0 >> 2] | 0) == 0; + break; + } + } else $175 = 1; while (0); + do if ($80) { + $82 = HEAP32[$80 + 12 >> 2] | 0; + if (($82 | 0) == (HEAP32[$80 + 16 >> 2] | 0)) $$0$i$i2$i$i122 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$80 >> 2] | 0) + 36 >> 2] & 127]($80) | 0; else $$0$i$i2$i$i122 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$82 >> 2] | 0) | 0; + if (!(__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i122, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0)) if ($175) break; else { + label = 79; + break; + } else { + HEAP32[$1 >> 2] = 0; + label = 41; + break; + } + } else label = 41; while (0); + if ((label | 0) == 41 ? $175 : 0) label = 79; + if ((label | 0) == 79) HEAP32[$5 >> 2] = HEAP32[$5 >> 2] | 2; + $$0112 = $2; + $$3 = $$0111; + while (1) { + if (($$0112 | 0) == ($3 | 0)) { + label = 84; + break; + } + if ((HEAP8[$$3 >> 0] | 0) == 2) { + $$0112140 = $$0112; + break; + } + $$0112 = $$0112 + 12 | 0; + $$3 = $$3 + 1 | 0; + } + if ((label | 0) == 84) { + HEAP32[$5 >> 2] = HEAP32[$5 >> 2] | 4; + $$0112140 = $3; + } + _free($$sroa$0129$0); + STACKTOP = sp; + return $$0112140 | 0; +} + +function __ZNSt3__214__scan_keywordINS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEPKNS_12basic_stringIcS3_NS_9allocatorIcEEEENS_5ctypeIcEEEET0_RT_SE_SD_SD_RKT1_Rjb($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 = 0, $$0$i$i = 0, $$0$i$i$i$i = 0, $$0$i$i$i$i112 = 0, $$0$i$i2$i$i = 0, $$0$i$i2$i$i118 = 0, $$0101 = 0, $$0107 = 0, $$0108 = 0, $$0108136 = 0, $$088 = 0, $$089 = 0, $$090$off0 = 0, $$091 = 0, $$092 = 0, $$093 = 0, $$094 = 0, $$097 = 0, $$1102 = 0, $$195 = 0, $$198 = 0, $$2$off0 = 0, $$2103 = 0, $$296 = 0, $$299 = 0, $$299$be = 0, $$3 = 0, $$3100 = 0, $$3104 = 0, $$5 = 0, $$5106 = 0, $$6 = 0, $$7 = 0, $$sroa$0125$0 = 0, $104 = 0, $109 = 0, $11 = 0, $113 = 0, $118 = 0, $119 = 0, $125 = 0, $13 = 0, $131 = 0, $137 = 0, $138 = 0, $139 = 0, $154 = 0, $160 = 0, $17 = 0, $173 = 0, $23 = 0, $28 = 0, $31 = 0, $43 = 0, $46 = 0, $59 = 0, $60 = 0, $63 = 0, $66 = 0, $7 = 0, $79 = 0, $81 = 0, $94 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(112); + $7 = sp; + $11 = ($3 - $2 | 0) / 12 | 0; + if ($11 >>> 0 > 100) { + $13 = _malloc($11) | 0; + if (!$13) __ZSt17__throw_bad_allocv(); else { + $$0107 = $13; + $$sroa$0125$0 = $13; + } + } else { + $$0107 = $7; + $$sroa$0125$0 = 0; + } + $$0101 = $11; + $$093 = $2; + $$094 = $$0107; + $$097 = 0; + while (1) { + if (($$093 | 0) == ($3 | 0)) break; + $17 = HEAP8[$$093 + 11 >> 0] | 0; + if ($17 << 24 >> 24 < 0) $23 = HEAP32[$$093 + 4 >> 2] | 0; else $23 = $17 & 255; + if (!$23) { + HEAP8[$$094 >> 0] = 2; + $$1102 = $$0101 + -1 | 0; + $$198 = $$097 + 1 | 0; + } else { + HEAP8[$$094 >> 0] = 1; + $$1102 = $$0101; + $$198 = $$097; + } + $$0101 = $$1102; + $$093 = $$093 + 12 | 0; + $$094 = $$094 + 1 | 0; + $$097 = $$198; + } + $$092 = 0; + $$2103 = $$0101; + $$299 = $$097; + while (1) { + $28 = HEAP32[$0 >> 2] | 0; + do if ($28) { + $31 = HEAP32[$28 + 12 >> 2] | 0; + if (($31 | 0) == (HEAP32[$28 + 16 >> 2] | 0)) $$0$i$i$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$28 >> 2] | 0) + 36 >> 2] & 127]($28) | 0; else $$0$i$i$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$31 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$0 >> 2] = 0; + $59 = 1; + break; + } else { + $59 = (HEAP32[$0 >> 2] | 0) == 0; + break; + } + } else $59 = 1; while (0); + $43 = HEAP32[$1 >> 2] | 0; + if ($43) { + $46 = HEAP32[$43 + 12 >> 2] | 0; + if (($46 | 0) == (HEAP32[$43 + 16 >> 2] | 0)) $$0$i$i2$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$43 >> 2] | 0) + 36 >> 2] & 127]($43) | 0; else $$0$i$i2$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$46 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $60 = 1; + $79 = 0; + } else { + $60 = 0; + $79 = $43; + } + } else { + $60 = 1; + $79 = 0; + } + $63 = HEAP32[$0 >> 2] | 0; + if (!(($$2103 | 0) != 0 & ($59 ^ $60))) break; + $94 = HEAP32[$63 + 12 >> 2] | 0; + if (($94 | 0) == (HEAP32[$63 + 16 >> 2] | 0)) $$0$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$63 >> 2] | 0) + 36 >> 2] & 127]($63) | 0; else $$0$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$94 >> 0] | 0) | 0; + $104 = $$0$i$i & 255; + if ($6) $$091 = $104; else $$091 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$4 >> 2] | 0) + 12 >> 2] & 127]($4, $104) | 0; + $109 = $$092 + 1 | 0; + $$089 = $2; + $$090$off0 = 0; + $$195 = $$0107; + $$3100 = $$299; + $$3104 = $$2103; + while (1) { + if (($$089 | 0) == ($3 | 0)) break; + do if ((HEAP8[$$195 >> 0] | 0) == 1) { + $113 = $$089 + 11 | 0; + if ((HEAP8[$113 >> 0] | 0) < 0) $118 = HEAP32[$$089 >> 2] | 0; else $118 = $$089; + $119 = HEAP8[$118 + $$092 >> 0] | 0; + if ($6) $$088 = $119; else $$088 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$4 >> 2] | 0) + 12 >> 2] & 127]($4, $119) | 0; + if ($$091 << 24 >> 24 != $$088 << 24 >> 24) { + HEAP8[$$195 >> 0] = 0; + $$2$off0 = $$090$off0; + $$5 = $$3100; + $$5106 = $$3104 + -1 | 0; + break; + } + $125 = HEAP8[$113 >> 0] | 0; + if ($125 << 24 >> 24 < 0) $131 = HEAP32[$$089 + 4 >> 2] | 0; else $131 = $125 & 255; + if (($131 | 0) == ($109 | 0)) { + HEAP8[$$195 >> 0] = 2; + $$2$off0 = 1; + $$5 = $$3100 + 1 | 0; + $$5106 = $$3104 + -1 | 0; + } else { + $$2$off0 = 1; + $$5 = $$3100; + $$5106 = $$3104; + } + } else { + $$2$off0 = $$090$off0; + $$5 = $$3100; + $$5106 = $$3104; + } while (0); + $$089 = $$089 + 12 | 0; + $$090$off0 = $$2$off0; + $$195 = $$195 + 1 | 0; + $$3100 = $$5; + $$3104 = $$5106; + } + L67 : do if ($$090$off0) { + $137 = HEAP32[$0 >> 2] | 0; + $138 = $137 + 12 | 0; + $139 = HEAP32[$138 >> 2] | 0; + if (($139 | 0) == (HEAP32[$137 + 16 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$137 >> 2] | 0) + 40 >> 2] & 127]($137) | 0; else { + HEAP32[$138 >> 2] = $139 + 1; + __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$139 >> 0] | 0) | 0; + } + if (($$3100 + $$3104 | 0) >>> 0 > 1) { + $$0 = $2; + $$296 = $$0107; + $$6 = $$3100; + while (1) { + if (($$0 | 0) == ($3 | 0)) { + $$299$be = $$6; + break L67; + } + if ((HEAP8[$$296 >> 0] | 0) == 2) { + $154 = HEAP8[$$0 + 11 >> 0] | 0; + if ($154 << 24 >> 24 < 0) $160 = HEAP32[$$0 + 4 >> 2] | 0; else $160 = $154 & 255; + if (($160 | 0) != ($109 | 0)) { + HEAP8[$$296 >> 0] = 0; + $$7 = $$6 + -1 | 0; + } else $$7 = $$6; + } else $$7 = $$6; + $$0 = $$0 + 12 | 0; + $$296 = $$296 + 1 | 0; + $$6 = $$7; + } + } else $$299$be = $$3100; + } else $$299$be = $$3100; while (0); + $$092 = $109; + $$2103 = $$3104; + $$299 = $$299$be; + } + do if ($63) { + $66 = HEAP32[$63 + 12 >> 2] | 0; + if (($66 | 0) == (HEAP32[$63 + 16 >> 2] | 0)) $$0$i$i$i$i112 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$63 >> 2] | 0) + 36 >> 2] & 127]($63) | 0; else $$0$i$i$i$i112 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$66 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i112, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$0 >> 2] = 0; + $173 = 1; + break; + } else { + $173 = (HEAP32[$0 >> 2] | 0) == 0; + break; + } + } else $173 = 1; while (0); + do if ($79) { + $81 = HEAP32[$79 + 12 >> 2] | 0; + if (($81 | 0) == (HEAP32[$79 + 16 >> 2] | 0)) $$0$i$i2$i$i118 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$79 >> 2] | 0) + 36 >> 2] & 127]($79) | 0; else $$0$i$i2$i$i118 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$81 >> 0] | 0) | 0; + if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i118, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) if ($173) break; else { + label = 79; + break; + } else { + HEAP32[$1 >> 2] = 0; + label = 41; + break; + } + } else label = 41; while (0); + if ((label | 0) == 41 ? $173 : 0) label = 79; + if ((label | 0) == 79) HEAP32[$5 >> 2] = HEAP32[$5 >> 2] | 2; + $$0108 = $2; + $$3 = $$0107; + while (1) { + if (($$0108 | 0) == ($3 | 0)) { + label = 84; + break; + } + if ((HEAP8[$$3 >> 0] | 0) == 2) { + $$0108136 = $$0108; + break; + } + $$0108 = $$0108 + 12 | 0; + $$3 = $$3 + 1 | 0; + } + if ((label | 0) == 84) { + HEAP32[$5 >> 2] = HEAP32[$5 >> 2] | 4; + $$0108136 = $3; + } + _free($$sroa$0125$0); + STACKTOP = sp; + return $$0108136 | 0; +} + +function _jpeg_idct_15x15($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0352372 = 0, $$0354371 = 0, $$0355370 = 0, $$0373 = 0, $$1353368 = 0, $$1369 = 0, $$neg356 = 0, $$neg362 = 0, $101 = 0, $104 = 0, $107 = 0, $109 = 0, $111 = 0, $115 = 0, $119 = 0, $15 = 0, $167 = 0, $170 = 0, $173 = 0, $175 = 0, $177 = 0, $179 = 0, $182 = 0, $183 = 0, $185 = 0, $186 = 0, $187 = 0, $188 = 0, $189 = 0, $190 = 0, $192 = 0, $195 = 0, $196 = 0, $198 = 0, $201 = 0, $202 = 0, $203 = 0, $205 = 0, $207 = 0, $209 = 0, $21 = 0, $210 = 0, $212 = 0, $214 = 0, $217 = 0, $219 = 0, $220 = 0, $222 = 0, $224 = 0, $226 = 0, $227 = 0, $228 = 0, $229 = 0, $231 = 0, $234 = 0, $237 = 0, $239 = 0, $241 = 0, $245 = 0, $249 = 0, $27 = 0, $33 = 0, $36 = 0, $37 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $46 = 0, $49 = 0, $5 = 0, $50 = 0, $52 = 0, $55 = 0, $56 = 0, $57 = 0, $59 = 0, $61 = 0, $63 = 0, $64 = 0, $7 = 0, $70 = 0, $76 = 0, $83 = 0, $89 = 0, $90 = 0, $92 = 0, $94 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 480 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(480); + $5 = sp; + $7 = HEAP32[$0 + 336 >> 2] | 0; + $$0352372 = $5; + $$0354371 = HEAP32[$1 + 84 >> 2] | 0; + $$0355370 = $2; + $$0373 = 0; + while (1) { + $15 = Math_imul(HEAP16[$$0355370 >> 1] << 13, HEAP32[$$0354371 >> 2] | 0) | 0 | 1024; + $21 = Math_imul(HEAP32[$$0354371 + 64 >> 2] | 0, HEAP16[$$0355370 + 32 >> 1] | 0) | 0; + $27 = Math_imul(HEAP32[$$0354371 + 128 >> 2] | 0, HEAP16[$$0355370 + 64 >> 1] | 0) | 0; + $33 = Math_imul(HEAP32[$$0354371 + 192 >> 2] | 0, HEAP16[$$0355370 + 96 >> 1] | 0) | 0; + $36 = (Math_imul($33, -3580) | 0) + $15 | 0; + $37 = ($33 * 9373 | 0) + $15 | 0; + $39 = (Math_imul($33, -11586) | 0) + $15 | 0; + $40 = $21 - $27 | 0; + $41 = $27 + $21 | 0; + $42 = $41 * 10958 | 0; + $43 = $40 * 374 | 0; + $44 = $21 * 11795 | 0; + $46 = $43 + $42 + $37 | 0; + $49 = $44 - $42 + $43 + $36 | 0; + $50 = $41 * 4482 | 0; + $$neg362 = Math_imul($40, -3271) | 0; + $52 = $37 - $50 + $$neg362 | 0; + $55 = $50 - $44 + $$neg362 + $36 | 0; + $56 = $41 * 6476 | 0; + $57 = $40 * 2896 | 0; + $59 = $57 + $56 + $36 | 0; + $61 = $37 - $56 + $57 | 0; + $63 = $39 + ($40 * 5792 | 0) | 0; + $64 = (Math_imul($40, -11584) | 0) + $39 | 0; + $70 = Math_imul(HEAP32[$$0354371 + 32 >> 2] | 0, HEAP16[$$0355370 + 16 >> 1] | 0) | 0; + $76 = Math_imul(HEAP32[$$0354371 + 96 >> 2] | 0, HEAP16[$$0355370 + 48 >> 1] | 0) | 0; + $83 = Math_imul((HEAP16[$$0355370 + 80 >> 1] | 0) * 10033 | 0, HEAP32[$$0354371 + 160 >> 2] | 0) | 0; + $89 = Math_imul(HEAP32[$$0354371 + 224 >> 2] | 0, HEAP16[$$0355370 + 112 >> 1] | 0) | 0; + $90 = $76 - $89 | 0; + $92 = ($90 + $70 | 0) * 6810 | 0; + $94 = $92 + ($70 * 4209 | 0) | 0; + $96 = $92 + (Math_imul($90, -17828) | 0) | 0; + $97 = Math_imul($76, -6810) | 0; + $98 = Math_imul($76, -11018) | 0; + $99 = $70 - $89 | 0; + $101 = ($99 * 11522 | 0) + $83 | 0; + $104 = ($89 * 20131 | 0) - $98 + $101 | 0; + $107 = $97 + (Math_imul($70, -9113) | 0) + $101 | 0; + $109 = ($99 * 10033 | 0) - $83 | 0; + $111 = ($89 + $70 | 0) * 4712 | 0; + $115 = $97 + ($70 * 3897 | 0) - $83 + $111 | 0; + $119 = $83 + $98 + (Math_imul($89, -7121) | 0) + $111 | 0; + HEAP32[$$0352372 >> 2] = $104 + $46 >> 11; + HEAP32[$$0352372 + 448 >> 2] = $46 - $104 >> 11; + HEAP32[$$0352372 + 32 >> 2] = $94 + $59 >> 11; + HEAP32[$$0352372 + 416 >> 2] = $59 - $94 >> 11; + HEAP32[$$0352372 + 64 >> 2] = $109 + $63 >> 11; + HEAP32[$$0352372 + 384 >> 2] = $63 - $109 >> 11; + HEAP32[$$0352372 + 96 >> 2] = $115 + $49 >> 11; + HEAP32[$$0352372 + 352 >> 2] = $49 - $115 >> 11; + HEAP32[$$0352372 + 128 >> 2] = $96 + $61 >> 11; + HEAP32[$$0352372 + 320 >> 2] = $61 - $96 >> 11; + HEAP32[$$0352372 + 160 >> 2] = $119 + $52 >> 11; + HEAP32[$$0352372 + 288 >> 2] = $52 - $119 >> 11; + HEAP32[$$0352372 + 192 >> 2] = $107 + $55 >> 11; + HEAP32[$$0352372 + 256 >> 2] = $55 - $107 >> 11; + HEAP32[$$0352372 + 224 >> 2] = $64 >> 11; + $$0373 = $$0373 + 1 | 0; + if (($$0373 | 0) == 8) break; else { + $$0352372 = $$0352372 + 4 | 0; + $$0354371 = $$0354371 + 4 | 0; + $$0355370 = $$0355370 + 2 | 0; + } + } + $167 = $7 + -384 | 0; + $$1353368 = $5; + $$1369 = 0; + while (1) { + $170 = (HEAP32[$3 + ($$1369 << 2) >> 2] | 0) + $4 | 0; + $173 = (HEAP32[$$1353368 >> 2] << 13) + 134348800 | 0; + $175 = HEAP32[$$1353368 + 8 >> 2] | 0; + $177 = HEAP32[$$1353368 + 16 >> 2] | 0; + $179 = HEAP32[$$1353368 + 24 >> 2] | 0; + $182 = (Math_imul($179, -3580) | 0) + $173 | 0; + $183 = ($179 * 9373 | 0) + $173 | 0; + $185 = (Math_imul($179, -11586) | 0) + $173 | 0; + $186 = $175 - $177 | 0; + $187 = $177 + $175 | 0; + $188 = $187 * 10958 | 0; + $189 = $186 * 374 | 0; + $190 = $175 * 11795 | 0; + $192 = $189 + $188 + $183 | 0; + $195 = $190 - $188 + $189 + $182 | 0; + $196 = $187 * 4482 | 0; + $$neg356 = Math_imul($186, -3271) | 0; + $198 = $183 - $196 + $$neg356 | 0; + $201 = $196 - $190 + $$neg356 + $182 | 0; + $202 = $187 * 6476 | 0; + $203 = $186 * 2896 | 0; + $205 = $203 + $202 + $182 | 0; + $207 = $183 - $202 + $203 | 0; + $209 = $185 + ($186 * 5792 | 0) | 0; + $210 = (Math_imul($186, -11584) | 0) + $185 | 0; + $212 = HEAP32[$$1353368 + 4 >> 2] | 0; + $214 = HEAP32[$$1353368 + 12 >> 2] | 0; + $217 = (HEAP32[$$1353368 + 20 >> 2] | 0) * 10033 | 0; + $219 = HEAP32[$$1353368 + 28 >> 2] | 0; + $220 = $214 - $219 | 0; + $222 = ($220 + $212 | 0) * 6810 | 0; + $224 = $222 + ($212 * 4209 | 0) | 0; + $226 = $222 + (Math_imul($220, -17828) | 0) | 0; + $227 = Math_imul($214, -6810) | 0; + $228 = Math_imul($214, -11018) | 0; + $229 = $212 - $219 | 0; + $231 = ($229 * 11522 | 0) + $217 | 0; + $234 = ($219 * 20131 | 0) - $228 + $231 | 0; + $237 = $227 + (Math_imul($212, -9113) | 0) + $231 | 0; + $239 = ($229 * 10033 | 0) - $217 | 0; + $241 = ($219 + $212 | 0) * 4712 | 0; + $245 = $227 + ($212 * 3897 | 0) - $217 + $241 | 0; + $249 = $217 + $228 + (Math_imul($219, -7121) | 0) + $241 | 0; + HEAP8[$170 >> 0] = HEAP8[$167 + (($234 + $192 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$170 + 14 >> 0] = HEAP8[$167 + (($192 - $234 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$170 + 1 >> 0] = HEAP8[$167 + (($224 + $205 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$170 + 13 >> 0] = HEAP8[$167 + (($205 - $224 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$170 + 2 >> 0] = HEAP8[$167 + (($239 + $209 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$170 + 12 >> 0] = HEAP8[$167 + (($209 - $239 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$170 + 3 >> 0] = HEAP8[$167 + (($245 + $195 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$170 + 11 >> 0] = HEAP8[$167 + (($195 - $245 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$170 + 4 >> 0] = HEAP8[$167 + (($226 + $207 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$170 + 10 >> 0] = HEAP8[$167 + (($207 - $226 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$170 + 5 >> 0] = HEAP8[$167 + (($249 + $198 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$170 + 9 >> 0] = HEAP8[$167 + (($198 - $249 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$170 + 6 >> 0] = HEAP8[$167 + (($237 + $201 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$170 + 8 >> 0] = HEAP8[$167 + (($201 - $237 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$170 + 7 >> 0] = HEAP8[$167 + ($210 >>> 18 & 1023) >> 0] | 0; + $$1369 = $$1369 + 1 | 0; + if (($$1369 | 0) == 15) break; else $$1353368 = $$1353368 + 32 | 0; + } + STACKTOP = sp; + return; +} + +function _icpGetInitXw2Xc_from_PlanarData($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0 = 0, $$0204 = 0, $$1 = 0, $101 = 0, $102 = 0, $108 = 0, $110 = 0, $112 = 0, $116 = 0, $118 = 0, $120 = 0.0, $121 = 0, $125 = 0.0, $128 = 0.0, $129 = 0.0, $130 = 0, $133 = 0.0, $137 = 0.0, $140 = 0.0, $141 = 0.0, $143 = 0.0, $144 = 0, $149 = 0.0, $150 = 0, $157 = 0.0, $158 = 0, $162 = 0.0, $164 = 0.0, $17 = 0, $170 = 0.0, $176 = 0.0, $184 = 0.0, $192 = 0.0, $193 = 0.0, $195 = 0.0, $196 = 0.0, $198 = 0.0, $200 = 0.0, $202 = 0.0, $204 = 0.0, $208 = 0.0, $215 = 0.0, $216 = 0.0, $217 = 0.0, $218 = 0.0, $38 = 0, $39 = 0, $41 = 0, $43 = 0, $45 = 0, $46 = 0, $48 = 0, $5 = 0, $61 = 0, $88 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_buffer9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(128); + $vararg_buffer11 = sp + 120 | 0; + $vararg_buffer9 = sp + 112 | 0; + $vararg_buffer7 = sp + 104 | 0; + $vararg_buffer5 = sp + 96 | 0; + $vararg_buffer3 = sp + 88 | 0; + $vararg_buffer1 = sp + 80 | 0; + $vararg_buffer = sp + 72 | 0; + $5 = sp; + L1 : do if (($3 | 0) >= 4) { + $$0 = 0; + while (1) { + if (($$0 | 0) >= ($3 | 0)) break; + if (+HEAPF64[$2 + ($$0 * 24 | 0) + 16 >> 3] != 0.0) { + $$0204 = -1; + break L1; + } else $$0 = $$0 + 1 | 0; + } + if ((((((((!(+HEAPF64[$0 >> 3] == 0.0) ? !(+HEAPF64[$0 + 32 >> 3] != 0.0) : 0) ? ($17 = $0 + 40 | 0, !(+HEAPF64[$17 >> 3] == 0.0)) : 0) ? !(+HEAPF64[$0 + 64 >> 3] != 0.0) : 0) ? !(+HEAPF64[$0 + 72 >> 3] != 0.0) : 0) ? !(+HEAPF64[$0 + 80 >> 3] != 1.0) : 0) ? !(+HEAPF64[$0 + 24 >> 3] != 0.0) : 0) ? !(+HEAPF64[$0 + 56 >> 3] != 0.0) : 0) ? !(+HEAPF64[$0 + 88 >> 3] != 0.0) : 0) { + $38 = $3 << 1; + $39 = _arMatrixAlloc($38, 8) | 0; + if (!$39) { + _arLog(0, 3, 24753, $vararg_buffer); + $$0204 = -1; + break; + } + $41 = _arMatrixAlloc($38, 1) | 0; + if (!$41) { + _arMatrixFree($39) | 0; + _arLog(0, 3, 24779, $vararg_buffer1); + $$0204 = -1; + break; + } + $$1 = 0; + while (1) { + if (($$1 | 0) == ($3 | 0)) break; + $43 = $2 + ($$1 * 24 | 0) | 0; + $45 = HEAP32[$39 >> 2] | 0; + $46 = $$1 << 4; + HEAPF64[$45 + ($46 << 3) >> 3] = +HEAPF64[$43 >> 3]; + $48 = $2 + ($$1 * 24 | 0) + 8 | 0; + HEAPF64[$45 + (($46 | 1) << 3) >> 3] = +HEAPF64[$48 >> 3]; + HEAPF64[$45 + (($46 | 2) << 3) >> 3] = 1.0; + HEAPF64[$45 + (($46 | 3) << 3) >> 3] = 0.0; + HEAPF64[$45 + (($46 | 4) << 3) >> 3] = 0.0; + HEAPF64[$45 + (($46 | 5) << 3) >> 3] = 0.0; + $61 = $1 + ($$1 << 4) | 0; + HEAPF64[$45 + (($46 | 6) << 3) >> 3] = -(+HEAPF64[$43 >> 3] * +HEAPF64[$61 >> 3]); + HEAPF64[$45 + (($46 | 7) << 3) >> 3] = -(+HEAPF64[$48 >> 3] * +HEAPF64[$61 >> 3]); + HEAPF64[$45 + (($46 | 8) << 3) >> 3] = 0.0; + HEAPF64[$45 + (($46 | 9) << 3) >> 3] = 0.0; + HEAPF64[$45 + (($46 | 10) << 3) >> 3] = 0.0; + HEAPF64[$45 + (($46 | 11) << 3) >> 3] = +HEAPF64[$43 >> 3]; + HEAPF64[$45 + (($46 | 12) << 3) >> 3] = +HEAPF64[$48 >> 3]; + HEAPF64[$45 + (($46 | 13) << 3) >> 3] = 1.0; + $88 = $1 + ($$1 << 4) + 8 | 0; + HEAPF64[$45 + (($46 | 14) << 3) >> 3] = -(+HEAPF64[$43 >> 3] * +HEAPF64[$88 >> 3]); + HEAPF64[$45 + (($46 | 15) << 3) >> 3] = -(+HEAPF64[$48 >> 3] * +HEAPF64[$88 >> 3]); + $101 = HEAP32[$41 >> 2] | 0; + $102 = $$1 << 1; + HEAPF64[$101 + ($102 << 3) >> 3] = +HEAPF64[$61 >> 3]; + HEAPF64[$101 + (($102 | 1) << 3) >> 3] = +HEAPF64[$88 >> 3]; + $$1 = $$1 + 1 | 0; + } + $108 = _arMatrixAllocTrans($39) | 0; + if (!$108) { + _arMatrixFree($39) | 0; + _arMatrixFree($41) | 0; + _arLog(0, 3, 24805, $vararg_buffer3); + $$0204 = -1; + break; + } + $110 = _arMatrixAllocMul($108, $39) | 0; + if (!$110) { + _arMatrixFree($39) | 0; + _arMatrixFree($41) | 0; + _arMatrixFree($108) | 0; + _arLog(0, 3, 24831, $vararg_buffer5); + $$0204 = -1; + break; + } + $112 = _arMatrixAllocMul($108, $41) | 0; + if (!$112) { + _arMatrixFree($39) | 0; + _arMatrixFree($41) | 0; + _arMatrixFree($108) | 0; + _arMatrixFree($110) | 0; + _arLog(0, 3, 24857, $vararg_buffer7); + $$0204 = -1; + break; + } + if ((_arMatrixSelfInv($110) | 0) < 0) { + _arMatrixFree($39) | 0; + _arMatrixFree($41) | 0; + _arMatrixFree($108) | 0; + _arMatrixFree($110) | 0; + _arMatrixFree($112) | 0; + _arLog(0, 3, 24883, $vararg_buffer9); + $$0204 = -1; + break; + } + $116 = _arMatrixAllocMul($110, $112) | 0; + if (!$116) { + _arMatrixFree($39) | 0; + _arMatrixFree($41) | 0; + _arMatrixFree($108) | 0; + _arMatrixFree($110) | 0; + _arMatrixFree($112) | 0; + _arLog(0, 3, 24909, $vararg_buffer11); + $$0204 = -1; + break; + } else { + $118 = HEAP32[$116 >> 2] | 0; + $120 = +HEAPF64[$118 + 48 >> 3]; + $121 = $5 + 16 | 0; + $125 = +HEAPF64[$0 + 48 >> 3]; + $128 = +HEAPF64[$17 >> 3]; + $129 = (+HEAPF64[$118 + 24 >> 3] - $120 * $125) / $128; + $130 = $5 + 8 | 0; + $133 = +HEAPF64[$0 + 16 >> 3]; + $137 = +HEAPF64[$0 + 8 >> 3]; + $140 = +HEAPF64[$0 >> 3]; + $141 = (+HEAPF64[$118 >> 3] - $120 * $133 - $129 * $137) / $140; + $143 = +HEAPF64[$118 + 56 >> 3]; + $144 = $5 + 40 | 0; + $149 = (+HEAPF64[$118 + 32 >> 3] - $125 * $143) / $128; + $150 = $5 + 32 | 0; + $157 = (+HEAPF64[$118 + 8 >> 3] - $133 * $143 - $137 * $149) / $140; + $158 = $5 + 24 | 0; + $162 = (+HEAPF64[$118 + 40 >> 3] - $125) / $128; + $164 = +HEAPF64[$118 + 16 >> 3]; + _arMatrixFree($39) | 0; + _arMatrixFree($41) | 0; + _arMatrixFree($108) | 0; + _arMatrixFree($110) | 0; + _arMatrixFree($112) | 0; + _arMatrixFree($116) | 0; + $170 = +Math_sqrt(+($120 * $120 + ($129 * $129 + $141 * $141))); + $176 = +Math_sqrt(+($143 * $143 + ($149 * $149 + $157 * $157))); + HEAPF64[$5 >> 3] = $141 / $170; + HEAPF64[$130 >> 3] = $129 / $170; + HEAPF64[$121 >> 3] = $120 / $170; + HEAPF64[$158 >> 3] = $157 / $176; + HEAPF64[$150 >> 3] = $149 / $176; + HEAPF64[$144 >> 3] = $143 / $176; + $184 = ($170 + $176) * .5; + _check_rotation($5); + $192 = +HEAPF64[$130 >> 3]; + $193 = +HEAPF64[$144 >> 3]; + $195 = +HEAPF64[$121 >> 3]; + $196 = +HEAPF64[$150 >> 3]; + $198 = $192 * $193 - $195 * $196; + $200 = +HEAPF64[$158 >> 3]; + $202 = +HEAPF64[$5 >> 3]; + $204 = $195 * $200 - $193 * $202; + $208 = $196 * $202 - $192 * $200; + $215 = +Math_sqrt(+($208 * $208 + ($198 * $198 + $204 * $204))); + $216 = $198 / $215; + HEAPF64[$5 + 48 >> 3] = $216; + $217 = $204 / $215; + HEAPF64[$5 + 56 >> 3] = $217; + $218 = $208 / $215; + HEAPF64[$5 + 64 >> 3] = $218; + HEAPF64[$4 >> 3] = $202; + HEAPF64[$4 + 32 >> 3] = $192; + HEAPF64[$4 + 64 >> 3] = $195; + HEAPF64[$4 + 8 >> 3] = $200; + HEAPF64[$4 + 40 >> 3] = $196; + HEAPF64[$4 + 72 >> 3] = $193; + HEAPF64[$4 + 16 >> 3] = $216; + HEAPF64[$4 + 48 >> 3] = $217; + HEAPF64[$4 + 80 >> 3] = $218; + HEAPF64[$4 + 24 >> 3] = ($164 - $133 - $137 * $162) / $140 / $184; + HEAPF64[$4 + 56 >> 3] = $162 / $184; + HEAPF64[$4 + 88 >> 3] = 1.0 / $184; + $$0204 = 0; + break; + } + } else $$0204 = -1; + } else $$0204 = -1; while (0); + STACKTOP = sp; + return $$0204 | 0; +} + +function __ZN6vision12FindFeaturesINS_14FREAKExtractorELi96EEEvPNS_8KeyframeIXT0_EEEPKNS_25GaussianScaleSpacePyramidEPNS_25DoGScaleInvariantDetectorEPT_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0, $104 = 0, $112 = 0, $113 = 0, $12 = 0, $126 = 0, $17 = 0, $21 = 0, $28 = 0, $33 = 0, $37 = 0, $38 = 0, $4 = 0, $48 = 0, $5 = 0, $53 = 0, $57 = 0, $58 = 0, $60 = 0, $68 = 0, $73 = 0, $77 = 0, $78 = 0, $80 = 0, $88 = 0, $93 = 0, $97 = 0, $98 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $4 = sp + 20 | 0; + $5 = sp; + if (!$1) { + $12 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 37660) | 0, 34139) | 0, 39072) | 0, 212) | 0, 39079) | 0, 37760) | 0; + __ZNKSt3__28ios_base6getlocEv($4, $12 + (HEAP32[(HEAP32[$12 >> 2] | 0) + -12 >> 2] | 0) | 0); + $17 = __ZNKSt3__26locale9use_facetERNS0_2idE($4, 66512) | 0; + $21 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$17 >> 2] | 0) + 28 >> 2] & 127]($17, 10) | 0; + __ZNSt3__26localeD2Ev($4); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($12, $21) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($12) | 0; + _abort(); + } + if (!$2) { + $28 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 34218) | 0, 34139) | 0, 39072) | 0, 213) | 0, 39079) | 0, 34250) | 0; + __ZNKSt3__28ios_base6getlocEv($4, $28 + (HEAP32[(HEAP32[$28 >> 2] | 0) + -12 >> 2] | 0) | 0); + $33 = __ZNKSt3__26locale9use_facetERNS0_2idE($4, 66512) | 0; + $37 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$33 >> 2] | 0) + 28 >> 2] & 127]($33, 10) | 0; + __ZNSt3__26localeD2Ev($4); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($28, $37) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($28) | 0; + _abort(); + } + $38 = __ZNK6vision25GaussianScaleSpacePyramid6imagesEv($1) | 0; + if ((HEAP32[$38 + 4 >> 2] | 0) == (HEAP32[$38 >> 2] | 0)) { + $48 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 34267) | 0, 34139) | 0, 39072) | 0, 214) | 0, 39079) | 0, 34319) | 0; + __ZNKSt3__28ios_base6getlocEv($4, $48 + (HEAP32[(HEAP32[$48 >> 2] | 0) + -12 >> 2] | 0) | 0); + $53 = __ZNKSt3__26locale9use_facetERNS0_2idE($4, 66512) | 0; + $57 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$53 >> 2] | 0) + 28 >> 2] & 127]($53, 10) | 0; + __ZNSt3__26localeD2Ev($4); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($48, $57) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($48) | 0; + _abort(); + } + $58 = __ZNK6vision25GaussianScaleSpacePyramid6imagesEv($1) | 0; + $60 = __ZNK6vision5Image5widthEv(HEAP32[$58 >> 2] | 0) | 0; + if (($60 | 0) != (__ZNK6vision25DoGScaleInvariantDetector5widthEv($2) | 0)) { + $68 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 34336) | 0, 34139) | 0, 39072) | 0, 215) | 0, 39079) | 0, 34409) | 0; + __ZNKSt3__28ios_base6getlocEv($4, $68 + (HEAP32[(HEAP32[$68 >> 2] | 0) + -12 >> 2] | 0) | 0); + $73 = __ZNKSt3__26locale9use_facetERNS0_2idE($4, 66512) | 0; + $77 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$73 >> 2] | 0) + 28 >> 2] & 127]($73, 10) | 0; + __ZNSt3__26localeD2Ev($4); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($68, $77) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($68) | 0; + _abort(); + } + $78 = __ZNK6vision25GaussianScaleSpacePyramid6imagesEv($1) | 0; + $80 = __ZNK6vision5Image6heightEv(HEAP32[$78 >> 2] | 0) | 0; + if (($80 | 0) != (__ZNK6vision25DoGScaleInvariantDetector6heightEv($2) | 0)) { + $88 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 34444) | 0, 34139) | 0, 39072) | 0, 216) | 0, 39079) | 0, 34409) | 0; + __ZNKSt3__28ios_base6getlocEv($4, $88 + (HEAP32[(HEAP32[$88 >> 2] | 0) + -12 >> 2] | 0) | 0); + $93 = __ZNKSt3__26locale9use_facetERNS0_2idE($4, 66512) | 0; + $97 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$93 >> 2] | 0) + 28 >> 2] & 127]($93, 10) | 0; + __ZNSt3__26localeD2Ev($4); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($88, $97) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($88) | 0; + _abort(); + } + __ZN6vision25DoGScaleInvariantDetector6detectEPKNS_25GaussianScaleSpacePyramidE($2, $1); + $98 = __ZNK6vision25DoGScaleInvariantDetector8featuresEv($2) | 0; + __ZNSt3__26vectorIN6vision12FeaturePointENS_9allocatorIS2_EEEC2Em($4, ((HEAP32[$98 + 4 >> 2] | 0) - (HEAP32[$98 >> 2] | 0) | 0) / 36 | 0); + $$0 = 0; + while (1) { + $104 = __ZNK6vision25DoGScaleInvariantDetector8featuresEv($2) | 0; + if ($$0 >>> 0 >= (((HEAP32[$104 + 4 >> 2] | 0) - (HEAP32[$104 >> 2] | 0) | 0) / 36 | 0) >>> 0) break; + $112 = __ZNK6vision25DoGScaleInvariantDetector8featuresEv($2) | 0; + $113 = HEAP32[$112 >> 2] | 0; + __ZN6vision12FeaturePointC2Effffb($5, +HEAPF32[$113 + ($$0 * 36 | 0) >> 2], +HEAPF32[$113 + ($$0 * 36 | 0) + 4 >> 2], +HEAPF32[$113 + ($$0 * 36 | 0) + 8 >> 2], +HEAPF32[$113 + ($$0 * 36 | 0) + 28 >> 2], +HEAPF32[$113 + ($$0 * 36 | 0) + 24 >> 2] > 0.0); + $126 = (HEAP32[$4 >> 2] | 0) + ($$0 * 20 | 0) | 0; + HEAP32[$126 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$126 + 4 >> 2] = HEAP32[$5 + 4 >> 2]; + HEAP32[$126 + 8 >> 2] = HEAP32[$5 + 8 >> 2]; + HEAP32[$126 + 12 >> 2] = HEAP32[$5 + 12 >> 2]; + HEAP8[$126 + 16 >> 0] = HEAP8[$5 + 16 >> 0] | 0; + __ZN6vision12FeaturePointD2Ev($5); + $$0 = $$0 + 1 | 0; + } + __ZN6vision14FREAKExtractor7extractERNS_18BinaryFeatureStoreEPKNS_25GaussianScaleSpacePyramidERKNSt3__26vectorINS_12FeaturePointENS6_9allocatorIS8_EEEE($3, __ZN6vision8KeyframeILi96EE5storeEv($0) | 0, $1, $4); + __ZNSt3__213__vector_baseIN6vision12FeaturePointENS_9allocatorIS2_EEED2Ev($4); + STACKTOP = sp; + return; +} + +function __ZN6vision18BinomialPyramid32f5buildERKNS_5ImageE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $10 = 0, $101 = 0, $103 = 0, $105 = 0, $111 = 0, $114 = 0, $117 = 0, $120 = 0, $123 = 0, $126 = 0, $129 = 0, $134 = 0, $136 = 0, $140 = 0, $142 = 0, $15 = 0, $19 = 0, $2 = 0, $27 = 0, $32 = 0, $36 = 0, $37 = 0, $43 = 0, $45 = 0, $54 = 0, $59 = 0, $63 = 0, $64 = 0, $73 = 0, $78 = 0, $82 = 0, $83 = 0, $92 = 0, $97 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $2 = sp; + if ((__ZNK6vision5Image4typeEv($1) | 0) != 1) { + $10 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 31302) | 0, 31153) | 0, 39072) | 0, 330) | 0, 39079) | 0, 31353) | 0; + __ZNKSt3__28ios_base6getlocEv($2, $10 + (HEAP32[(HEAP32[$10 >> 2] | 0) + -12 >> 2] | 0) | 0); + $15 = __ZNKSt3__26locale9use_facetERNS0_2idE($2, 66512) | 0; + $19 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$15 >> 2] | 0) + 28 >> 2] & 127]($15, 10) | 0; + __ZNSt3__26localeD2Ev($2); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($10, $19) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($10) | 0; + _abort(); + } + if ((__ZNK6vision5Image8channelsEv($1) | 0) != 1) { + $27 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 31377) | 0, 31153) | 0, 39072) | 0, 331) | 0, 39079) | 0, 31422) | 0; + __ZNKSt3__28ios_base6getlocEv($2, $27 + (HEAP32[(HEAP32[$27 >> 2] | 0) + -12 >> 2] | 0) | 0); + $32 = __ZNKSt3__26locale9use_facetERNS0_2idE($2, 66512) | 0; + $36 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$32 >> 2] | 0) + 28 >> 2] & 127]($32, 10) | 0; + __ZNSt3__26localeD2Ev($2); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($27, $36) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($27) | 0; + _abort(); + } + $37 = $0 + 4 | 0; + $43 = $0 + 16 | 0; + $45 = $0 + 20 | 0; + if (((HEAP32[$0 + 8 >> 2] | 0) - (HEAP32[$37 >> 2] | 0) >> 5 | 0) != (Math_imul(HEAP32[$45 >> 2] | 0, HEAP32[$43 >> 2] | 0) | 0)) { + $54 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 31448) | 0, 31153) | 0, 39072) | 0, 333) | 0, 39079) | 0, 31522) | 0; + __ZNKSt3__28ios_base6getlocEv($2, $54 + (HEAP32[(HEAP32[$54 >> 2] | 0) + -12 >> 2] | 0) | 0); + $59 = __ZNKSt3__26locale9use_facetERNS0_2idE($2, 66512) | 0; + $63 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$59 >> 2] | 0) + 28 >> 2] & 127]($59, 10) | 0; + __ZNSt3__26localeD2Ev($2); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($54, $63) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($54) | 0; + _abort(); + } + $64 = __ZNK6vision5Image5widthEv($1) | 0; + if (($64 | 0) != (__ZNK6vision5Image5widthEv(HEAP32[$37 >> 2] | 0) | 0)) { + $73 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 31557) | 0, 31153) | 0, 39072) | 0, 334) | 0, 39079) | 0, 31617) | 0; + __ZNKSt3__28ios_base6getlocEv($2, $73 + (HEAP32[(HEAP32[$73 >> 2] | 0) + -12 >> 2] | 0) | 0); + $78 = __ZNKSt3__26locale9use_facetERNS0_2idE($2, 66512) | 0; + $82 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$78 >> 2] | 0) + 28 >> 2] & 127]($78, 10) | 0; + __ZNSt3__26localeD2Ev($2); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($73, $82) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($73) | 0; + _abort(); + } + $83 = __ZNK6vision5Image6heightEv($1) | 0; + if (($83 | 0) != (__ZNK6vision5Image6heightEv(HEAP32[$37 >> 2] | 0) | 0)) { + $92 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 31649) | 0, 31153) | 0, 39072) | 0, 335) | 0, 39079) | 0, 31617) | 0; + __ZNKSt3__28ios_base6getlocEv($2, $92 + (HEAP32[(HEAP32[$92 >> 2] | 0) + -12 >> 2] | 0) | 0); + $97 = __ZNKSt3__26locale9use_facetERNS0_2idE($2, 66512) | 0; + $101 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$97 >> 2] | 0) + 28 >> 2] & 127]($97, 10) | 0; + __ZNSt3__26localeD2Ev($2); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($92, $101) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($92) | 0; + _abort(); + } + __ZN6vision18BinomialPyramid32f12apply_filterERNS_5ImageERKS1_($0, HEAP32[$37 >> 2] | 0, $1); + $103 = HEAP32[$37 >> 2] | 0; + __ZN6vision18BinomialPyramid32f12apply_filterERNS_5ImageERKS1_($0, $103 + 32 | 0, $103); + $105 = HEAP32[$37 >> 2] | 0; + __ZN6vision18BinomialPyramid32f18apply_filter_twiceERNS_5ImageERKS1_($0, $105 + 64 | 0, $105 + 32 | 0); + $$0 = 1; + while (1) { + if ($$0 >>> 0 >= (HEAP32[$43 >> 2] | 0) >>> 0) break; + $111 = Math_imul(HEAP32[$45 >> 2] | 0, $$0) | 0; + $114 = __ZN6vision5Image3getEv((HEAP32[$37 >> 2] | 0) + ($111 << 5) | 0) | 0; + $117 = (Math_imul(HEAP32[$45 >> 2] | 0, $$0) | 0) + -1 | 0; + $120 = __ZN6vision5Image3getEv((HEAP32[$37 >> 2] | 0) + ($117 << 5) | 0) | 0; + $123 = (Math_imul(HEAP32[$45 >> 2] | 0, $$0) | 0) + -1 | 0; + $126 = __ZNK6vision5Image5widthEv((HEAP32[$37 >> 2] | 0) + ($123 << 5) | 0) | 0; + $129 = (Math_imul(HEAP32[$45 >> 2] | 0, $$0) | 0) + -1 | 0; + __ZN6vision19downsample_bilinearEPfPKfmm($114, $120, $126, __ZNK6vision5Image6heightEv((HEAP32[$37 >> 2] | 0) + ($129 << 5) | 0) | 0); + $134 = Math_imul(HEAP32[$45 >> 2] | 0, $$0) | 0; + $136 = HEAP32[$37 >> 2] | 0; + __ZN6vision18BinomialPyramid32f12apply_filterERNS_5ImageERKS1_($0, $136 + ($134 + 1 << 5) | 0, $136 + ($134 << 5) | 0); + $140 = Math_imul(HEAP32[$45 >> 2] | 0, $$0) | 0; + $142 = HEAP32[$37 >> 2] | 0; + __ZN6vision18BinomialPyramid32f18apply_filter_twiceERNS_5ImageERKS1_($0, $142 + ($140 + 2 << 5) | 0, $142 + ($140 + 1 << 5) | 0); + $$0 = $$0 + 1 | 0; + } + STACKTOP = sp; + return; +} + +function _get_global_id_code($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0 = 0, $$0177 = 0, $$0178 = 0, $$0178$off = 0, $$0182 = 0, $$0189 = 0, $$0202 = 0, $$0204 = 0, $$1 = 0, $$10 = 0, $$10199 = 0, $$11 = 0, $$11200 = 0, $$1179 = 0, $$1183 = 0, $$1190 = 0, $$12 = 0, $$2 = 0, $$2180 = 0, $$2180$off = 0, $$2191 = 0, $$3 = 0, $$3181 = 0, $$3185 = 0, $$3192 = 0, $$4 = 0, $$4186 = 0, $$4186$off = 0, $$4193 = 0, $$5 = 0, $$5187 = 0, $$5194 = 0, $$6 = 0, $$6188 = 0, $$6188$off = 0, $$6195 = 0, $$7 = 0, $$7196 = 0, $$8 = 0, $$8197 = 0, $$9 = 0, $$9198 = 0, $109 = 0, $113 = 0, $118 = 0, $119 = 0, $120 = 0, $123 = 0, $133 = 0, $137 = 0, $144 = 0.0, $145 = 0, $148 = 0, $15 = 0, $153 = 0, $154 = 0, $19 = 0, $20 = 0, $24 = 0, $38 = 0, $49 = 0, $5 = 0, $50 = 0, $53 = 0, $6 = 0, $63 = 0, $67 = 0, $7 = 0, $71 = 0, $72 = 0, $73 = 0, $78 = 0, $8 = 0, $85 = 0, $89 = 0, $97 = 0, $or$cond229245 = 0, $trunc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 160 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(160); + $5 = sp + 152 | 0; + $6 = sp + 128 | 0; + $7 = sp + 144 | 0; + $8 = sp; + HEAP32[$6 >> 2] = 0; + HEAP32[$6 + 4 >> 2] = 182; + HEAP32[$6 + 8 >> 2] = 195; + HEAP32[$6 + 12 >> 2] = 13; + $$0182 = 0; + $$0202 = 0; + $$0204 = -1; + while (1) { + if (($$0182 | 0) == 4) break; + $15 = HEAP8[$0 + (HEAP32[$6 + ($$0182 << 2) >> 2] | 0) >> 0] | 0; + $$0182 = $$0182 + 1 | 0; + $$0202 = ($15 & 255) > ($$0202 & 255) ? $15 : $$0202; + $$0204 = ($15 & 255) < ($$0204 & 255) ? $15 : $$0204; + } + $19 = $$0202 & 255; + $20 = $$0204 & 255; + L5 : do if (($19 - $20 | 0) >= 30) { + $24 = ($19 + $20 | 0) >>> 1; + $$1183 = 0; + while (1) { + if (($$1183 | 0) == 4) break; + HEAP8[$5 + $$1183 >> 0] = $24 >>> 0 > (HEAPU8[$0 + (HEAP32[$6 + ($$1183 << 2) >> 2] | 0) >> 0] | 0) >>> 0 & 1; + $$1183 = $$1183 + 1 | 0; + } + $trunc = 0; + while (1) { + if ($trunc >>> 0 >= 4) break; + $38 = $trunc + 1 | 0; + if (((HEAP8[$5 + $trunc >> 0] | 0) == 1 ? (HEAP8[$5 + ($38 & 3) >> 0] | 0) == 1 : 0) ? (HEAP8[$5 + ($trunc + 2 & 3) >> 0] | 0) == 0 : 0) break; + $trunc = $38; + } + L20 : do switch ($trunc & 2147483647 | 0) { + case 4: + { + HEAP32[$2 >> 2] = 0; + HEAPF64[$3 >> 3] = -1.0; + $$0177 = -3; + break L5; + break; + } + case 0: + { + $$0 = 119; + $$0178 = 0; + $$0189 = 255; + while (1) { + if (($$0178 | 0) == 14) { + $$12 = $$0189; + label = 57; + break L20; + } + $$0178$off = $$0178 + -3 | 0; + $49 = ($$0178 & 2147483646 | 0) == 12; + $50 = $$0178 * 14 | 0; + $$1 = $$0; + $$1190 = $$0189; + $$3185 = 0; + while (1) { + if (($$3185 | 0) == 14) break; + if ((($$3185 + -3 | $$0178$off) >>> 0 >= 8 ? ($53 = $$3185 & 2147483646, (($$3185 | $$0178) & 2147483646 | 0) != 0) : 0) ? !($49 & (($53 | 0) == 0 | ($53 | 0) == 12)) : 0) { + $63 = (HEAPU8[$0 + ($$3185 + $50) >> 0] | 0) - $24 | 0; + HEAP8[$8 + $$1 >> 0] = $63 >>> 31; + $67 = ($63 | 0) > -1 ? $63 : 0 - $63 | 0; + $$2 = $$1 + -1 | 0; + $$2191 = ($67 | 0) < ($$1190 | 0) ? $67 : $$1190; + } else { + $$2 = $$1; + $$2191 = $$1190; + } + $$1 = $$2; + $$1190 = $$2191; + $$3185 = $$3185 + 1 | 0; + } + $$0 = $$1; + $$0178 = $$0178 + 1 | 0; + $$0189 = $$1190; + } + break; + } + case 1: + { + $$3 = 119; + $$3192 = 255; + $$4186 = 0; + while (1) { + if (($$4186 | 0) == 14) { + $$12 = $$3192; + label = 57; + break L20; + } + $$4186$off = $$4186 + -3 | 0; + $71 = $$4186 & 2147483646; + $72 = ($71 | 0) == 0; + $73 = ($71 | 0) == 12; + $$1179 = 13; + $$4 = $$3; + $$4193 = $$3192; + while (1) { + if (($$1179 | 0) <= -1) break; + if ((($$1179 + -3 | $$4186$off) >>> 0 >= 8 ? ($78 = ($$1179 & -2 | 0) == 12, !($72 & $78)) : 0) ? !($73 & ($$1179 >>> 0 < 2 | $78)) : 0) { + $85 = (HEAPU8[$0 + (($$1179 * 14 | 0) + $$4186) >> 0] | 0) - $24 | 0; + HEAP8[$8 + $$4 >> 0] = $85 >>> 31; + $89 = ($85 | 0) > -1 ? $85 : 0 - $85 | 0; + $$5 = $$4 + -1 | 0; + $$5194 = ($89 | 0) < ($$4193 | 0) ? $89 : $$4193; + } else { + $$5 = $$4; + $$5194 = $$4193; + } + $$1179 = $$1179 + -1 | 0; + $$4 = $$5; + $$4193 = $$5194; + } + $$3 = $$4; + $$3192 = $$4193; + $$4186 = $$4186 + 1 | 0; + } + break; + } + case 2: + { + $$2180 = 13; + $$6 = 119; + $$6195 = 255; + while (1) { + if (($$2180 | 0) <= -1) { + $$12 = $$6195; + label = 57; + break L20; + } + $$2180$off = $$2180 + -3 | 0; + $or$cond229245 = $$2180 >>> 0 < 2 | ($$2180 & -2 | 0) == 12; + $97 = $$2180 * 14 | 0; + $$5187 = 13; + $$7 = $$6; + $$7196 = $$6195; + while (1) { + if (($$5187 | 0) <= -1) break; + if (($$5187 + -3 | $$2180$off) >>> 0 >= 8 ? !(($$5187 | $$2180) >>> 0 < 2 | $or$cond229245 & ($$5187 & -2 | 0) == 12) : 0) { + $109 = (HEAPU8[$0 + ($$5187 + $97) >> 0] | 0) - $24 | 0; + HEAP8[$8 + $$7 >> 0] = $109 >>> 31; + $113 = ($109 | 0) > -1 ? $109 : 0 - $109 | 0; + $$8 = $$7 + -1 | 0; + $$8197 = ($113 | 0) < ($$7196 | 0) ? $113 : $$7196; + } else { + $$8 = $$7; + $$8197 = $$7196; + } + $$5187 = $$5187 + -1 | 0; + $$7 = $$8; + $$7196 = $$8197; + } + $$2180 = $$2180 + -1 | 0; + $$6 = $$7; + $$6195 = $$7196; + } + break; + } + case 3: + { + $$6188 = 13; + $$9 = 119; + $$9198 = 255; + while (1) { + if (($$6188 | 0) <= -1) { + $$12 = $$9198; + label = 57; + break L20; + } + $$6188$off = $$6188 + -3 | 0; + $118 = $$6188 & -2; + $119 = ($118 | 0) == 12; + $120 = ($118 | 0) == 0; + $$10 = $$9; + $$10199 = $$9198; + $$3181 = 0; + while (1) { + if (($$3181 | 0) == 14) break; + if ((($$3181 + -3 | $$6188$off) >>> 0 >= 8 ? ($123 = $$3181 & 2147483646, !($119 & ($123 | 0) == 0)) : 0) ? !(($123 | $118 | 0) == 0 | $120 & ($123 | 0) == 12) : 0) { + $133 = (HEAPU8[$0 + (($$3181 * 14 | 0) + $$6188) >> 0] | 0) - $24 | 0; + HEAP8[$8 + $$10 >> 0] = $133 >>> 31; + $137 = ($133 | 0) > -1 ? $133 : 0 - $133 | 0; + $$11 = $$10 + -1 | 0; + $$11200 = ($137 | 0) < ($$10199 | 0) ? $137 : $$10199; + } else { + $$11 = $$10; + $$11200 = $$10199; + } + $$10 = $$11; + $$10199 = $$11200; + $$3181 = $$3181 + 1 | 0; + } + $$6188 = $$6188 + -1 | 0; + $$9 = $$10; + $$9198 = $$10199; + } + break; + } + default: + { + HEAP32[$2 >> 2] = $trunc; + $144 = 1.0; + } + } while (0); + if ((label | 0) == 57) { + HEAP32[$2 >> 2] = $trunc; + $144 = ($$12 | 0) > 30 ? 1.0 : +($$12 | 0) / 30.0; + } + HEAPF64[$3 >> 3] = $144; + $145 = _decode_bch(2830, 0, 0, $8, $7) | 0; + if (($145 | 0) < 0) $$0177 = -4; else { + if ($4 | 0) HEAP32[$4 >> 2] = $145; + $148 = $7; + $153 = HEAP32[$148 + 4 >> 2] | 0; + $154 = $1; + HEAP32[$154 >> 2] = HEAP32[$148 >> 2]; + HEAP32[$154 + 4 >> 2] = $153; + $$0177 = 0; + } + } else { + HEAP32[$2 >> 2] = 0; + HEAPF64[$3 >> 3] = -1.0; + $$0177 = -2; + } while (0); + STACKTOP = sp; + return $$0177 | 0; +} + +function _jpeg_idct_3x6($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $104 = 0, $105 = 0, $106 = 0, $112 = 0, $118 = 0, $124 = 0, $126 = 0, $129 = 0, $132 = 0, $135 = 0, $15 = 0, $159 = 0, $166 = 0, $167 = 0, $169 = 0, $176 = 0, $177 = 0, $178 = 0, $184 = 0, $190 = 0, $196 = 0, $198 = 0, $201 = 0, $204 = 0, $207 = 0, $209 = 0, $213 = 0, $218 = 0, $22 = 0, $223 = 0, $225 = 0, $228 = 0, $23 = 0, $230 = 0, $231 = 0, $233 = 0, $25 = 0, $252 = 0, $255 = 0, $257 = 0, $258 = 0, $261 = 0, $281 = 0, $284 = 0, $286 = 0, $287 = 0, $290 = 0, $310 = 0, $313 = 0, $315 = 0, $317 = 0, $318 = 0, $32 = 0, $321 = 0, $33 = 0, $34 = 0, $341 = 0, $344 = 0, $346 = 0, $348 = 0, $349 = 0, $352 = 0, $372 = 0, $375 = 0, $377 = 0, $379 = 0, $380 = 0, $383 = 0, $40 = 0, $46 = 0, $5 = 0, $52 = 0, $54 = 0, $57 = 0, $60 = 0, $63 = 0, $7 = 0, $70 = 0, $81 = 0, $87 = 0, $9 = 0, $94 = 0, $95 = 0, $97 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(80); + $5 = sp; + $7 = HEAP32[$0 + 336 >> 2] | 0; + $9 = HEAP32[$1 + 84 >> 2] | 0; + $15 = Math_imul(HEAP16[$2 >> 1] << 13, HEAP32[$9 >> 2] | 0) | 0 | 1024; + $22 = Math_imul((HEAP16[$2 + 64 >> 1] | 0) * 5793 | 0, HEAP32[$9 + 128 >> 2] | 0) | 0; + $23 = $22 + $15 | 0; + $25 = (Math_imul($22, -2) | 0) + $15 >> 11; + $32 = Math_imul((HEAP16[$2 + 32 >> 1] | 0) * 10033 | 0, HEAP32[$9 + 64 >> 2] | 0) | 0; + $33 = $32 + $23 | 0; + $34 = $23 - $32 | 0; + $40 = Math_imul(HEAP32[$9 + 32 >> 2] | 0, HEAP16[$2 + 16 >> 1] | 0) | 0; + $46 = Math_imul(HEAP32[$9 + 96 >> 2] | 0, HEAP16[$2 + 48 >> 1] | 0) | 0; + $52 = Math_imul(HEAP32[$9 + 160 >> 2] | 0, HEAP16[$2 + 80 >> 1] | 0) | 0; + $54 = ($52 + $40 | 0) * 2998 | 0; + $57 = $54 + ($46 + $40 << 13) | 0; + $60 = $54 + ($52 - $46 << 13) | 0; + $63 = $40 - $46 - $52 << 2; + HEAP32[$5 >> 2] = $57 + $33 >> 11; + HEAP32[$5 + 60 >> 2] = $33 - $57 >> 11; + $70 = $5 + 12 | 0; + HEAP32[$70 >> 2] = $63 + $25; + HEAP32[$5 + 48 >> 2] = $25 - $63; + HEAP32[$5 + 24 >> 2] = $60 + $34 >> 11; + HEAP32[$5 + 36 >> 2] = $34 - $60 >> 11; + $81 = $5 + 4 | 0; + $87 = Math_imul(HEAP16[$2 + 2 >> 1] << 13, HEAP32[$9 + 4 >> 2] | 0) | 0 | 1024; + $94 = Math_imul((HEAP16[$2 + 66 >> 1] | 0) * 5793 | 0, HEAP32[$9 + 132 >> 2] | 0) | 0; + $95 = $94 + $87 | 0; + $97 = (Math_imul($94, -2) | 0) + $87 >> 11; + $104 = Math_imul((HEAP16[$2 + 34 >> 1] | 0) * 10033 | 0, HEAP32[$9 + 68 >> 2] | 0) | 0; + $105 = $104 + $95 | 0; + $106 = $95 - $104 | 0; + $112 = Math_imul(HEAP32[$9 + 36 >> 2] | 0, HEAP16[$2 + 18 >> 1] | 0) | 0; + $118 = Math_imul(HEAP32[$9 + 100 >> 2] | 0, HEAP16[$2 + 50 >> 1] | 0) | 0; + $124 = Math_imul(HEAP32[$9 + 164 >> 2] | 0, HEAP16[$2 + 82 >> 1] | 0) | 0; + $126 = ($124 + $112 | 0) * 2998 | 0; + $129 = $126 + ($118 + $112 << 13) | 0; + $132 = $126 + ($124 - $118 << 13) | 0; + $135 = $112 - $118 - $124 << 2; + HEAP32[$81 >> 2] = $129 + $105 >> 11; + HEAP32[$5 + 64 >> 2] = $105 - $129 >> 11; + HEAP32[$5 + 16 >> 2] = $135 + $97; + HEAP32[$5 + 52 >> 2] = $97 - $135; + HEAP32[$5 + 28 >> 2] = $132 + $106 >> 11; + HEAP32[$5 + 40 >> 2] = $106 - $132 >> 11; + $159 = Math_imul(HEAP16[$2 + 4 >> 1] << 13, HEAP32[$9 + 8 >> 2] | 0) | 0 | 1024; + $166 = Math_imul((HEAP16[$2 + 68 >> 1] | 0) * 5793 | 0, HEAP32[$9 + 136 >> 2] | 0) | 0; + $167 = $166 + $159 | 0; + $169 = (Math_imul($166, -2) | 0) + $159 >> 11; + $176 = Math_imul((HEAP16[$2 + 36 >> 1] | 0) * 10033 | 0, HEAP32[$9 + 72 >> 2] | 0) | 0; + $177 = $176 + $167 | 0; + $178 = $167 - $176 | 0; + $184 = Math_imul(HEAP32[$9 + 40 >> 2] | 0, HEAP16[$2 + 20 >> 1] | 0) | 0; + $190 = Math_imul(HEAP32[$9 + 104 >> 2] | 0, HEAP16[$2 + 52 >> 1] | 0) | 0; + $196 = Math_imul(HEAP32[$9 + 168 >> 2] | 0, HEAP16[$2 + 84 >> 1] | 0) | 0; + $198 = ($196 + $184 | 0) * 2998 | 0; + $201 = $198 + ($190 + $184 << 13) | 0; + $204 = $198 + ($196 - $190 << 13) | 0; + $207 = $184 - $190 - $196 << 2; + $209 = $201 + $177 >> 11; + HEAP32[$5 + 8 >> 2] = $209; + HEAP32[$5 + 68 >> 2] = $177 - $201 >> 11; + $213 = $207 + $169 | 0; + HEAP32[$5 + 20 >> 2] = $213; + HEAP32[$5 + 56 >> 2] = $169 - $207; + $218 = $204 + $178 >> 11; + HEAP32[$5 + 32 >> 2] = $218; + HEAP32[$5 + 44 >> 2] = $178 - $204 >> 11; + $223 = $7 + -384 | 0; + $225 = (HEAP32[$3 >> 2] | 0) + $4 | 0; + $228 = (HEAP32[$5 >> 2] << 13) + 134348800 | 0; + $230 = $228 + ($209 * 5793 | 0) | 0; + $231 = (Math_imul($209, -11586) | 0) + $228 | 0; + $233 = (HEAP32[$81 >> 2] | 0) * 10033 | 0; + HEAP8[$225 >> 0] = HEAP8[$223 + (($230 + $233 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$225 + 2 >> 0] = HEAP8[$223 + (($230 - $233 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$225 + 1 >> 0] = HEAP8[$223 + ($231 >>> 18 & 1023) >> 0] | 0; + $252 = (HEAP32[$3 + 4 >> 2] | 0) + $4 | 0; + $255 = (HEAP32[$70 >> 2] << 13) + 134348800 | 0; + $257 = $255 + ($213 * 5793 | 0) | 0; + $258 = (Math_imul($213, -11586) | 0) + $255 | 0; + $261 = (HEAP32[$5 + 16 >> 2] | 0) * 10033 | 0; + HEAP8[$252 >> 0] = HEAP8[$223 + (($257 + $261 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$252 + 2 >> 0] = HEAP8[$223 + (($257 - $261 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$252 + 1 >> 0] = HEAP8[$223 + ($258 >>> 18 & 1023) >> 0] | 0; + $281 = (HEAP32[$3 + 8 >> 2] | 0) + $4 | 0; + $284 = (HEAP32[$5 + 24 >> 2] << 13) + 134348800 | 0; + $286 = $284 + ($218 * 5793 | 0) | 0; + $287 = (Math_imul($218, -11586) | 0) + $284 | 0; + $290 = (HEAP32[$5 + 28 >> 2] | 0) * 10033 | 0; + HEAP8[$281 >> 0] = HEAP8[$223 + (($286 + $290 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$281 + 2 >> 0] = HEAP8[$223 + (($286 - $290 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$281 + 1 >> 0] = HEAP8[$223 + ($287 >>> 18 & 1023) >> 0] | 0; + $310 = (HEAP32[$3 + 12 >> 2] | 0) + $4 | 0; + $313 = (HEAP32[$5 + 36 >> 2] << 13) + 134348800 | 0; + $315 = HEAP32[$5 + 44 >> 2] | 0; + $317 = $313 + ($315 * 5793 | 0) | 0; + $318 = (Math_imul($315, -11586) | 0) + $313 | 0; + $321 = (HEAP32[$5 + 40 >> 2] | 0) * 10033 | 0; + HEAP8[$310 >> 0] = HEAP8[$223 + (($317 + $321 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$310 + 2 >> 0] = HEAP8[$223 + (($317 - $321 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$310 + 1 >> 0] = HEAP8[$223 + ($318 >>> 18 & 1023) >> 0] | 0; + $341 = (HEAP32[$3 + 16 >> 2] | 0) + $4 | 0; + $344 = (HEAP32[$5 + 48 >> 2] << 13) + 134348800 | 0; + $346 = HEAP32[$5 + 56 >> 2] | 0; + $348 = $344 + ($346 * 5793 | 0) | 0; + $349 = (Math_imul($346, -11586) | 0) + $344 | 0; + $352 = (HEAP32[$5 + 52 >> 2] | 0) * 10033 | 0; + HEAP8[$341 >> 0] = HEAP8[$223 + (($348 + $352 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$341 + 2 >> 0] = HEAP8[$223 + (($348 - $352 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$341 + 1 >> 0] = HEAP8[$223 + ($349 >>> 18 & 1023) >> 0] | 0; + $372 = (HEAP32[$3 + 20 >> 2] | 0) + $4 | 0; + $375 = (HEAP32[$5 + 60 >> 2] << 13) + 134348800 | 0; + $377 = HEAP32[$5 + 68 >> 2] | 0; + $379 = $375 + ($377 * 5793 | 0) | 0; + $380 = (Math_imul($377, -11586) | 0) + $375 | 0; + $383 = (HEAP32[$5 + 64 >> 2] | 0) * 10033 | 0; + HEAP8[$372 >> 0] = HEAP8[$223 + (($379 + $383 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$372 + 2 >> 0] = HEAP8[$223 + (($379 - $383 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$372 + 1 >> 0] = HEAP8[$223 + ($380 >>> 18 & 1023) >> 0] | 0; + STACKTOP = sp; + return; +} + +function _update_box($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0$lcssa = 0, $$0200513 = 0, $$0204522 = 0, $$0211517 = 0, $$0218 = 0, $$0219 = 0, $$0220 = 0, $$0221 = 0, $$0222 = 0, $$0223 = 0, $$0224512 = 0, $$0252 = 0, $$1201471 = 0, $$1205480 = 0, $$1212475 = 0, $$1225470 = 0, $$1246 = 0, $$2202429 = 0, $$2206433 = 0, $$2213438 = 0, $$2226428 = 0, $$2244 = 0, $$3203387 = 0, $$3207391 = 0, $$3214396 = 0, $$3227386 = 0, $$4208349 = 0, $$4215344 = 0, $$4228354 = 0, $$4345 = 0, $$5209308 = 0, $$5216303 = 0, $$5229312 = 0, $$5304 = 0, $$6210251 = 0, $$6217245 = 0, $$6230242 = 0, $$6243 = 0, $10 = 0, $108 = 0, $11 = 0, $110 = 0, $112 = 0, $117 = 0, $12 = 0, $123 = 0, $13 = 0, $135 = 0, $14 = 0, $15 = 0, $16 = 0, $21 = 0, $36 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + $5 = HEAP32[(HEAP32[$0 + 484 >> 2] | 0) + 24 >> 2] | 0; + $6 = HEAP32[$1 >> 2] | 0; + $7 = $1 + 4 | 0; + $8 = HEAP32[$7 >> 2] | 0; + $9 = $1 + 8 | 0; + $10 = HEAP32[$9 >> 2] | 0; + $11 = $1 + 12 | 0; + $12 = HEAP32[$11 >> 2] | 0; + $13 = $1 + 16 | 0; + $14 = HEAP32[$13 >> 2] | 0; + $15 = $1 + 20 | 0; + $16 = HEAP32[$15 >> 2] | 0; + L1 : do if (($8 | 0) <= ($6 | 0) | ($10 | 0) > ($12 | 0) | ($14 | 0) > ($16 | 0)) $$0223 = $6; else { + $$0204522 = $6; + L3 : while (1) { + $21 = HEAP32[$5 + ($$0204522 << 2) >> 2] | 0; + $$0211517 = $10; + while (1) { + $$0200513 = $21 + ($$0211517 << 6) + ($14 << 1) | 0; + $$0224512 = $14; + while (1) { + if (HEAP16[$$0200513 >> 1] | 0) break L3; + if (($$0224512 | 0) < ($16 | 0)) { + $$0200513 = $$0200513 + 2 | 0; + $$0224512 = $$0224512 + 1 | 0; + } else break; + } + if (($$0211517 | 0) < ($12 | 0)) $$0211517 = $$0211517 + 1 | 0; else break; + } + if (($$0204522 | 0) < ($8 | 0)) $$0204522 = $$0204522 + 1 | 0; else { + $$0223 = $6; + break L1; + } + } + HEAP32[$1 >> 2] = $$0204522; + $$0223 = $$0204522; + } while (0); + L14 : do if (($8 | 0) <= ($$0223 | 0) | ($10 | 0) > ($12 | 0) | ($14 | 0) > ($16 | 0)) $$0222 = $8; else { + $$1205480 = $8; + L16 : while (1) { + $36 = HEAP32[$5 + ($$1205480 << 2) >> 2] | 0; + $$1212475 = $10; + while (1) { + $$1201471 = $36 + ($$1212475 << 6) + ($14 << 1) | 0; + $$1225470 = $14; + while (1) { + if (HEAP16[$$1201471 >> 1] | 0) break L16; + if (($$1225470 | 0) < ($16 | 0)) { + $$1201471 = $$1201471 + 2 | 0; + $$1225470 = $$1225470 + 1 | 0; + } else break; + } + if (($$1212475 | 0) < ($12 | 0)) $$1212475 = $$1212475 + 1 | 0; else break; + } + if (($$1205480 | 0) > ($$0223 | 0)) $$1205480 = $$1205480 + -1 | 0; else { + $$0222 = $8; + break L14; + } + } + HEAP32[$7 >> 2] = $$1205480; + $$0222 = $$1205480; + } while (0); + L27 : do if (($12 | 0) <= ($10 | 0) | ($$0222 | 0) < ($$0223 | 0) | ($14 | 0) > ($16 | 0)) $$0221 = $10; else { + $$2213438 = $10; + L29 : while (1) { + $$2206433 = $$0223; + while (1) { + $$2202429 = (HEAP32[$5 + ($$2206433 << 2) >> 2] | 0) + ($$2213438 << 6) + ($14 << 1) | 0; + $$2226428 = $14; + while (1) { + if (HEAP16[$$2202429 >> 1] | 0) break L29; + if (($$2226428 | 0) < ($16 | 0)) { + $$2202429 = $$2202429 + 2 | 0; + $$2226428 = $$2226428 + 1 | 0; + } else break; + } + if (($$2206433 | 0) < ($$0222 | 0)) $$2206433 = $$2206433 + 1 | 0; else break; + } + if (($$2213438 | 0) < ($12 | 0)) $$2213438 = $$2213438 + 1 | 0; else { + $$0221 = $10; + break L27; + } + } + HEAP32[$9 >> 2] = $$2213438; + $$0221 = $$2213438; + } while (0); + L40 : do if (($12 | 0) <= ($$0221 | 0) | ($$0222 | 0) < ($$0223 | 0) | ($14 | 0) > ($16 | 0)) $$0220 = $12; else { + $$3214396 = $12; + L42 : while (1) { + $$3207391 = $$0223; + while (1) { + $$3203387 = (HEAP32[$5 + ($$3207391 << 2) >> 2] | 0) + ($$3214396 << 6) + ($14 << 1) | 0; + $$3227386 = $14; + while (1) { + if (HEAP16[$$3203387 >> 1] | 0) break L42; + if (($$3227386 | 0) < ($16 | 0)) { + $$3203387 = $$3203387 + 2 | 0; + $$3227386 = $$3227386 + 1 | 0; + } else break; + } + if (($$3207391 | 0) < ($$0222 | 0)) $$3207391 = $$3207391 + 1 | 0; else break; + } + if (($$3214396 | 0) > ($$0221 | 0)) $$3214396 = $$3214396 + -1 | 0; else { + $$0220 = $12; + break L40; + } + } + HEAP32[$11 >> 2] = $$3214396; + $$0220 = $$3214396; + } while (0); + L53 : do if (($16 | 0) <= ($14 | 0) | ($$0222 | 0) < ($$0223 | 0) | ($$0220 | 0) < ($$0221 | 0)) $$0219 = $14; else { + $$4228354 = $14; + L55 : while (1) { + $$4208349 = $$0223; + while (1) { + $$4215344 = $$0221; + $$4345 = (HEAP32[$5 + ($$4208349 << 2) >> 2] | 0) + ($$0221 << 6) + ($$4228354 << 1) | 0; + while (1) { + if (HEAP16[$$4345 >> 1] | 0) break L55; + if (($$4215344 | 0) < ($$0220 | 0)) { + $$4215344 = $$4215344 + 1 | 0; + $$4345 = $$4345 + 64 | 0; + } else break; + } + if (($$4208349 | 0) < ($$0222 | 0)) $$4208349 = $$4208349 + 1 | 0; else break; + } + if (($$4228354 | 0) < ($16 | 0)) $$4228354 = $$4228354 + 1 | 0; else { + $$0219 = $14; + break L53; + } + } + HEAP32[$13 >> 2] = $$4228354; + $$0219 = $$4228354; + } while (0); + L66 : do if (($16 | 0) <= ($$0219 | 0) | ($$0222 | 0) < ($$0223 | 0) | ($$0220 | 0) < ($$0221 | 0)) $$0218 = $16; else { + $$5229312 = $16; + L68 : while (1) { + $$5209308 = $$0223; + while (1) { + $$5216303 = $$0221; + $$5304 = (HEAP32[$5 + ($$5209308 << 2) >> 2] | 0) + ($$0221 << 6) + ($$5229312 << 1) | 0; + while (1) { + if (HEAP16[$$5304 >> 1] | 0) break L68; + if (($$5216303 | 0) < ($$0220 | 0)) { + $$5216303 = $$5216303 + 1 | 0; + $$5304 = $$5304 + 64 | 0; + } else break; + } + if (($$5209308 | 0) < ($$0222 | 0)) $$5209308 = $$5209308 + 1 | 0; else break; + } + if (($$5229312 | 0) > ($$0219 | 0)) $$5229312 = $$5229312 + -1 | 0; else { + $$0218 = $16; + break L66; + } + } + HEAP32[$15 >> 2] = $$5229312; + $$0218 = $$5229312; + } while (0); + $108 = $$0222 - $$0223 << 4; + $110 = ($$0220 - $$0221 | 0) * 12 | 0; + $112 = $$0218 - $$0219 << 3; + $117 = (Math_imul($110, $110) | 0) + (Math_imul($108, $108) | 0) + (Math_imul($112, $112) | 0) | 0; + HEAP32[$1 + 24 >> 2] = $117; + if (($$0222 | 0) < ($$0223 | 0) | ($$0220 | 0) < ($$0221 | 0) | ($$0218 | 0) < ($$0219 | 0)) { + $$0$lcssa = 0; + $135 = $1 + 28 | 0; + HEAP32[$135 >> 2] = $$0$lcssa; + return; + } + $$0252 = 0; + $$6210251 = $$0223; + while (1) { + $123 = HEAP32[$5 + ($$6210251 << 2) >> 2] | 0; + $$1246 = $$0252; + $$6217245 = $$0221; + while (1) { + $$2244 = $$1246; + $$6230242 = $$0219; + $$6243 = $123 + ($$6217245 << 6) + ($$0219 << 1) | 0; + while (1) { + $$2244 = $$2244 + ((HEAP16[$$6243 >> 1] | 0) != 0 & 1) | 0; + if (($$6230242 | 0) >= ($$0218 | 0)) break; else { + $$6230242 = $$6230242 + 1 | 0; + $$6243 = $$6243 + 2 | 0; + } + } + if (($$6217245 | 0) < ($$0220 | 0)) { + $$1246 = $$2244; + $$6217245 = $$6217245 + 1 | 0; + } else break; + } + if (($$6210251 | 0) < ($$0222 | 0)) { + $$0252 = $$2244; + $$6210251 = $$6210251 + 1 | 0; + } else { + $$0$lcssa = $$2244; + break; + } + } + $135 = $1 + 28 | 0; + HEAP32[$135 >> 2] = $$0$lcssa; + return; +} + +function _jpeg_idct_13x13($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0330339 = 0, $$0332338 = 0, $$0333337 = 0, $$0340 = 0, $$1331335 = 0, $$1336 = 0, $101 = 0, $107 = 0, $110 = 0, $115 = 0, $116 = 0, $117 = 0, $123 = 0, $125 = 0, $129 = 0, $15 = 0, $171 = 0, $174 = 0, $177 = 0, $179 = 0, $181 = 0, $183 = 0, $184 = 0, $185 = 0, $186 = 0, $188 = 0, $191 = 0, $194 = 0, $195 = 0, $197 = 0, $200 = 0, $203 = 0, $204 = 0, $206 = 0, $209 = 0, $21 = 0, $212 = 0, $217 = 0, $219 = 0, $221 = 0, $223 = 0, $225 = 0, $227 = 0, $228 = 0, $229 = 0, $233 = 0, $235 = 0, $241 = 0, $244 = 0, $249 = 0, $250 = 0, $251 = 0, $257 = 0, $259 = 0, $263 = 0, $27 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $38 = 0, $41 = 0, $44 = 0, $45 = 0, $47 = 0, $5 = 0, $50 = 0, $53 = 0, $54 = 0, $56 = 0, $59 = 0, $62 = 0, $7 = 0, $71 = 0, $77 = 0, $83 = 0, $89 = 0, $91 = 0, $93 = 0, $94 = 0, $95 = 0, $99 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 416 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(416); + $5 = sp; + $7 = HEAP32[$0 + 336 >> 2] | 0; + $$0330339 = $5; + $$0332338 = HEAP32[$1 + 84 >> 2] | 0; + $$0333337 = $2; + $$0340 = 0; + while (1) { + $15 = Math_imul(HEAP16[$$0333337 >> 1] << 13, HEAP32[$$0332338 >> 2] | 0) | 0 | 1024; + $21 = Math_imul(HEAP32[$$0332338 + 64 >> 2] | 0, HEAP16[$$0333337 + 32 >> 1] | 0) | 0; + $27 = Math_imul(HEAP32[$$0332338 + 128 >> 2] | 0, HEAP16[$$0333337 + 64 >> 1] | 0) | 0; + $33 = Math_imul(HEAP32[$$0332338 + 192 >> 2] | 0, HEAP16[$$0333337 + 96 >> 1] | 0) | 0; + $34 = $33 + $27 | 0; + $35 = $27 - $33 | 0; + $36 = $34 * 9465 | 0; + $38 = ($35 * 793 | 0) + $15 | 0; + $41 = $36 + ($21 * 11249 | 0) + $38 | 0; + $44 = ($21 * 4108 | 0) - $36 + $38 | 0; + $45 = $34 * 2592 | 0; + $47 = ($35 * 3989 | 0) + $15 | 0; + $50 = ($21 * 8672 | 0) - $45 + $47 | 0; + $53 = $45 + (Math_imul($21, -10258) | 0) + $47 | 0; + $54 = $34 * 3570 | 0; + $56 = $15 + (Math_imul($35, -7678) | 0) | 0; + $59 = (Math_imul($21, -1396) | 0) - $54 + $56 | 0; + $62 = $54 + (Math_imul($21, -6581) | 0) + $56 | 0; + $71 = Math_imul(HEAP32[$$0332338 + 32 >> 2] | 0, HEAP16[$$0333337 + 16 >> 1] | 0) | 0; + $77 = Math_imul(HEAP32[$$0332338 + 96 >> 2] | 0, HEAP16[$$0333337 + 48 >> 1] | 0) | 0; + $83 = Math_imul(HEAP32[$$0332338 + 160 >> 2] | 0, HEAP16[$$0333337 + 80 >> 1] | 0) | 0; + $89 = Math_imul(HEAP32[$$0332338 + 224 >> 2] | 0, HEAP16[$$0333337 + 112 >> 1] | 0) | 0; + $91 = ($77 + $71 | 0) * 10832 | 0; + $93 = ($83 + $71 | 0) * 9534 | 0; + $94 = $89 + $71 | 0; + $95 = $94 * 7682 | 0; + $99 = $91 + (Math_imul($71, -16549) | 0) + $93 + $95 | 0; + $101 = Math_imul($83 + $77 | 0, -2773) | 0; + $107 = Math_imul($89 + $77 | 0, -9534) | 0; + $110 = $91 + ($77 * 6859 | 0) + $101 + $107 | 0; + $115 = Math_imul($89 + $83 | 0, -5384) | 0; + $116 = $101 + (Math_imul($83, -12879) | 0) + $93 + $115 | 0; + $117 = $107 + ($89 * 18068 | 0) + $95 + $115 | 0; + $123 = ($94 * 2773 | 0) + (($83 - $77 | 0) * 7682 | 0) | 0; + $125 = $123 + ($71 * 2611 | 0) + (Math_imul($77, -3818) | 0) | 0; + $129 = $123 + ($83 * 3150 | 0) + (Math_imul($89, -14273) | 0) | 0; + HEAP32[$$0330339 >> 2] = $99 + $41 >> 11; + HEAP32[$$0330339 + 384 >> 2] = $41 - $99 >> 11; + HEAP32[$$0330339 + 32 >> 2] = $110 + $50 >> 11; + HEAP32[$$0330339 + 352 >> 2] = $50 - $110 >> 11; + HEAP32[$$0330339 + 64 >> 2] = $116 + $44 >> 11; + HEAP32[$$0330339 + 320 >> 2] = $44 - $116 >> 11; + HEAP32[$$0330339 + 96 >> 2] = $117 + $59 >> 11; + HEAP32[$$0330339 + 288 >> 2] = $59 - $117 >> 11; + HEAP32[$$0330339 + 128 >> 2] = $125 + $62 >> 11; + HEAP32[$$0330339 + 256 >> 2] = $62 - $125 >> 11; + HEAP32[$$0330339 + 160 >> 2] = $129 + $53 >> 11; + HEAP32[$$0330339 + 224 >> 2] = $53 - $129 >> 11; + HEAP32[$$0330339 + 192 >> 2] = (($35 - $21 | 0) * 11585 | 0) + $15 >> 11; + $$0340 = $$0340 + 1 | 0; + if (($$0340 | 0) == 8) break; else { + $$0330339 = $$0330339 + 4 | 0; + $$0332338 = $$0332338 + 4 | 0; + $$0333337 = $$0333337 + 2 | 0; + } + } + $171 = $7 + -384 | 0; + $$1331335 = $5; + $$1336 = 0; + while (1) { + $174 = (HEAP32[$3 + ($$1336 << 2) >> 2] | 0) + $4 | 0; + $177 = (HEAP32[$$1331335 >> 2] << 13) + 134348800 | 0; + $179 = HEAP32[$$1331335 + 8 >> 2] | 0; + $181 = HEAP32[$$1331335 + 16 >> 2] | 0; + $183 = HEAP32[$$1331335 + 24 >> 2] | 0; + $184 = $183 + $181 | 0; + $185 = $181 - $183 | 0; + $186 = $184 * 9465 | 0; + $188 = ($185 * 793 | 0) + $177 | 0; + $191 = $186 + ($179 * 11249 | 0) + $188 | 0; + $194 = ($179 * 4108 | 0) - $186 + $188 | 0; + $195 = $184 * 2592 | 0; + $197 = ($185 * 3989 | 0) + $177 | 0; + $200 = ($179 * 8672 | 0) - $195 + $197 | 0; + $203 = $195 + (Math_imul($179, -10258) | 0) + $197 | 0; + $204 = $184 * 3570 | 0; + $206 = $177 + (Math_imul($185, -7678) | 0) | 0; + $209 = (Math_imul($179, -1396) | 0) - $204 + $206 | 0; + $212 = $204 + (Math_imul($179, -6581) | 0) + $206 | 0; + $217 = HEAP32[$$1331335 + 4 >> 2] | 0; + $219 = HEAP32[$$1331335 + 12 >> 2] | 0; + $221 = HEAP32[$$1331335 + 20 >> 2] | 0; + $223 = HEAP32[$$1331335 + 28 >> 2] | 0; + $225 = ($219 + $217 | 0) * 10832 | 0; + $227 = ($221 + $217 | 0) * 9534 | 0; + $228 = $223 + $217 | 0; + $229 = $228 * 7682 | 0; + $233 = $225 + (Math_imul($217, -16549) | 0) + $227 + $229 | 0; + $235 = Math_imul($221 + $219 | 0, -2773) | 0; + $241 = Math_imul($223 + $219 | 0, -9534) | 0; + $244 = $225 + ($219 * 6859 | 0) + $235 + $241 | 0; + $249 = Math_imul($223 + $221 | 0, -5384) | 0; + $250 = $235 + (Math_imul($221, -12879) | 0) + $227 + $249 | 0; + $251 = $241 + ($223 * 18068 | 0) + $229 + $249 | 0; + $257 = ($228 * 2773 | 0) + (($221 - $219 | 0) * 7682 | 0) | 0; + $259 = $257 + ($217 * 2611 | 0) + (Math_imul($219, -3818) | 0) | 0; + $263 = $257 + ($221 * 3150 | 0) + (Math_imul($223, -14273) | 0) | 0; + HEAP8[$174 >> 0] = HEAP8[$171 + (($233 + $191 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$174 + 12 >> 0] = HEAP8[$171 + (($191 - $233 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$174 + 1 >> 0] = HEAP8[$171 + (($244 + $200 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$174 + 11 >> 0] = HEAP8[$171 + (($200 - $244 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$174 + 2 >> 0] = HEAP8[$171 + (($250 + $194 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$174 + 10 >> 0] = HEAP8[$171 + (($194 - $250 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$174 + 3 >> 0] = HEAP8[$171 + (($251 + $209 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$174 + 9 >> 0] = HEAP8[$171 + (($209 - $251 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$174 + 4 >> 0] = HEAP8[$171 + (($259 + $212 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$174 + 8 >> 0] = HEAP8[$171 + (($212 - $259 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$174 + 5 >> 0] = HEAP8[$171 + (($263 + $203 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$174 + 7 >> 0] = HEAP8[$171 + (($203 - $263 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$174 + 6 >> 0] = HEAP8[$171 + (((($185 - $179 | 0) * 11585 | 0) + $177 | 0) >>> 18 & 1023) >> 0] | 0; + $$1336 = $$1336 + 1 | 0; + if (($$1336 | 0) == 13) break; else $$1331335 = $$1331335 + 32 | 0; + } + STACKTOP = sp; + return; +} + +function _jpeg_idct_6x3($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $111 = 0, $118 = 0, $119 = 0, $120 = 0, $127 = 0, $143 = 0, $15 = 0, $150 = 0, $151 = 0, $152 = 0, $159 = 0, $175 = 0, $182 = 0, $183 = 0, $184 = 0, $191 = 0, $197 = 0, $199 = 0, $201 = 0, $204 = 0, $207 = 0, $208 = 0, $210 = 0, $213 = 0, $214 = 0, $215 = 0, $216 = 0, $218 = 0, $22 = 0, $220 = 0, $222 = 0, $225 = 0, $228 = 0, $23 = 0, $231 = 0, $24 = 0, $269 = 0, $272 = 0, $275 = 0, $276 = 0, $278 = 0, $281 = 0, $282 = 0, $283 = 0, $285 = 0, $287 = 0, $289 = 0, $292 = 0, $295 = 0, $298 = 0, $31 = 0, $337 = 0, $340 = 0, $343 = 0, $344 = 0, $346 = 0, $349 = 0, $350 = 0, $351 = 0, $353 = 0, $355 = 0, $357 = 0, $359 = 0, $362 = 0, $365 = 0, $368 = 0, $38 = 0, $41 = 0, $47 = 0, $5 = 0, $54 = 0, $55 = 0, $56 = 0, $63 = 0, $7 = 0, $79 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, $95 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(80); + $5 = sp; + $7 = HEAP32[$0 + 336 >> 2] | 0; + $9 = HEAP32[$1 + 84 >> 2] | 0; + $15 = Math_imul(HEAP16[$2 >> 1] << 13, HEAP32[$9 >> 2] | 0) | 0 | 1024; + $22 = Math_imul((HEAP16[$2 + 32 >> 1] | 0) * 5793 | 0, HEAP32[$9 + 64 >> 2] | 0) | 0; + $23 = $22 + $15 | 0; + $24 = (Math_imul($22, -2) | 0) + $15 | 0; + $31 = Math_imul((HEAP16[$2 + 16 >> 1] | 0) * 10033 | 0, HEAP32[$9 + 32 >> 2] | 0) | 0; + HEAP32[$5 >> 2] = $31 + $23 >> 11; + HEAP32[$5 + 48 >> 2] = $23 - $31 >> 11; + $38 = $5 + 24 | 0; + HEAP32[$38 >> 2] = $24 >> 11; + $41 = $5 + 4 | 0; + $47 = Math_imul(HEAP16[$2 + 2 >> 1] << 13, HEAP32[$9 + 4 >> 2] | 0) | 0 | 1024; + $54 = Math_imul((HEAP16[$2 + 34 >> 1] | 0) * 5793 | 0, HEAP32[$9 + 68 >> 2] | 0) | 0; + $55 = $54 + $47 | 0; + $56 = (Math_imul($54, -2) | 0) + $47 | 0; + $63 = Math_imul((HEAP16[$2 + 18 >> 1] | 0) * 10033 | 0, HEAP32[$9 + 36 >> 2] | 0) | 0; + HEAP32[$41 >> 2] = $63 + $55 >> 11; + HEAP32[$5 + 52 >> 2] = $55 - $63 >> 11; + HEAP32[$5 + 28 >> 2] = $56 >> 11; + $79 = Math_imul(HEAP16[$2 + 4 >> 1] << 13, HEAP32[$9 + 8 >> 2] | 0) | 0 | 1024; + $86 = Math_imul((HEAP16[$2 + 36 >> 1] | 0) * 5793 | 0, HEAP32[$9 + 72 >> 2] | 0) | 0; + $87 = $86 + $79 | 0; + $88 = (Math_imul($86, -2) | 0) + $79 | 0; + $95 = Math_imul((HEAP16[$2 + 20 >> 1] | 0) * 10033 | 0, HEAP32[$9 + 40 >> 2] | 0) | 0; + HEAP32[$5 + 8 >> 2] = $95 + $87 >> 11; + HEAP32[$5 + 56 >> 2] = $87 - $95 >> 11; + HEAP32[$5 + 32 >> 2] = $88 >> 11; + $111 = Math_imul(HEAP16[$2 + 6 >> 1] << 13, HEAP32[$9 + 12 >> 2] | 0) | 0 | 1024; + $118 = Math_imul((HEAP16[$2 + 38 >> 1] | 0) * 5793 | 0, HEAP32[$9 + 76 >> 2] | 0) | 0; + $119 = $118 + $111 | 0; + $120 = (Math_imul($118, -2) | 0) + $111 | 0; + $127 = Math_imul((HEAP16[$2 + 22 >> 1] | 0) * 10033 | 0, HEAP32[$9 + 44 >> 2] | 0) | 0; + HEAP32[$5 + 12 >> 2] = $127 + $119 >> 11; + HEAP32[$5 + 60 >> 2] = $119 - $127 >> 11; + HEAP32[$5 + 36 >> 2] = $120 >> 11; + $143 = Math_imul(HEAP16[$2 + 8 >> 1] << 13, HEAP32[$9 + 16 >> 2] | 0) | 0 | 1024; + $150 = Math_imul((HEAP16[$2 + 40 >> 1] | 0) * 5793 | 0, HEAP32[$9 + 80 >> 2] | 0) | 0; + $151 = $150 + $143 | 0; + $152 = (Math_imul($150, -2) | 0) + $143 | 0; + $159 = Math_imul((HEAP16[$2 + 24 >> 1] | 0) * 10033 | 0, HEAP32[$9 + 48 >> 2] | 0) | 0; + HEAP32[$5 + 16 >> 2] = $159 + $151 >> 11; + HEAP32[$5 + 64 >> 2] = $151 - $159 >> 11; + HEAP32[$5 + 40 >> 2] = $152 >> 11; + $175 = Math_imul(HEAP16[$2 + 10 >> 1] << 13, HEAP32[$9 + 20 >> 2] | 0) | 0 | 1024; + $182 = Math_imul((HEAP16[$2 + 42 >> 1] | 0) * 5793 | 0, HEAP32[$9 + 84 >> 2] | 0) | 0; + $183 = $182 + $175 | 0; + $184 = (Math_imul($182, -2) | 0) + $175 | 0; + $191 = Math_imul((HEAP16[$2 + 26 >> 1] | 0) * 10033 | 0, HEAP32[$9 + 52 >> 2] | 0) | 0; + HEAP32[$5 + 20 >> 2] = $191 + $183 >> 11; + HEAP32[$5 + 68 >> 2] = $183 - $191 >> 11; + $197 = $184 >> 11; + HEAP32[$5 + 44 >> 2] = $197; + $199 = $7 + -384 | 0; + $201 = (HEAP32[$3 >> 2] | 0) + $4 | 0; + $204 = (HEAP32[$5 >> 2] << 13) + 134348800 | 0; + $207 = (HEAP32[$5 + 16 >> 2] | 0) * 5793 | 0; + $208 = $204 + $207 | 0; + $210 = $204 - $207 - $207 | 0; + $213 = (HEAP32[$5 + 8 >> 2] | 0) * 10033 | 0; + $214 = $208 + $213 | 0; + $215 = $208 - $213 | 0; + $216 = HEAP32[$41 >> 2] | 0; + $218 = HEAP32[$5 + 12 >> 2] | 0; + $220 = HEAP32[$5 + 20 >> 2] | 0; + $222 = ($220 + $216 | 0) * 2998 | 0; + $225 = $222 + ($218 + $216 << 13) | 0; + $228 = $222 + ($220 - $218 << 13) | 0; + $231 = $216 - $218 - $220 << 13; + HEAP8[$201 >> 0] = HEAP8[$199 + (($225 + $214 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$201 + 5 >> 0] = HEAP8[$199 + (($214 - $225 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$201 + 1 >> 0] = HEAP8[$199 + (($231 + $210 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$201 + 4 >> 0] = HEAP8[$199 + (($210 - $231 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$201 + 2 >> 0] = HEAP8[$199 + (($228 + $215 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$201 + 3 >> 0] = HEAP8[$199 + (($215 - $228 | 0) >>> 18 & 1023) >> 0] | 0; + $269 = (HEAP32[$3 + 4 >> 2] | 0) + $4 | 0; + $272 = (HEAP32[$38 >> 2] << 13) + 134348800 | 0; + $275 = (HEAP32[$5 + 40 >> 2] | 0) * 5793 | 0; + $276 = $272 + $275 | 0; + $278 = $272 - $275 - $275 | 0; + $281 = (HEAP32[$5 + 32 >> 2] | 0) * 10033 | 0; + $282 = $276 + $281 | 0; + $283 = $276 - $281 | 0; + $285 = HEAP32[$5 + 28 >> 2] | 0; + $287 = HEAP32[$5 + 36 >> 2] | 0; + $289 = ($197 + $285 | 0) * 2998 | 0; + $292 = $289 + ($287 + $285 << 13) | 0; + $295 = $289 + ($197 - $287 << 13) | 0; + $298 = $285 - $287 - $197 << 13; + HEAP8[$269 >> 0] = HEAP8[$199 + (($292 + $282 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$269 + 5 >> 0] = HEAP8[$199 + (($282 - $292 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$269 + 1 >> 0] = HEAP8[$199 + (($298 + $278 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$269 + 4 >> 0] = HEAP8[$199 + (($278 - $298 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$269 + 2 >> 0] = HEAP8[$199 + (($295 + $283 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$269 + 3 >> 0] = HEAP8[$199 + (($283 - $295 | 0) >>> 18 & 1023) >> 0] | 0; + $337 = (HEAP32[$3 + 8 >> 2] | 0) + $4 | 0; + $340 = (HEAP32[$5 + 48 >> 2] << 13) + 134348800 | 0; + $343 = (HEAP32[$5 + 64 >> 2] | 0) * 5793 | 0; + $344 = $340 + $343 | 0; + $346 = $340 - $343 - $343 | 0; + $349 = (HEAP32[$5 + 56 >> 2] | 0) * 10033 | 0; + $350 = $344 + $349 | 0; + $351 = $344 - $349 | 0; + $353 = HEAP32[$5 + 52 >> 2] | 0; + $355 = HEAP32[$5 + 60 >> 2] | 0; + $357 = HEAP32[$5 + 68 >> 2] | 0; + $359 = ($357 + $353 | 0) * 2998 | 0; + $362 = $359 + ($355 + $353 << 13) | 0; + $365 = $359 + ($357 - $355 << 13) | 0; + $368 = $353 - $355 - $357 << 13; + HEAP8[$337 >> 0] = HEAP8[$199 + (($362 + $350 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$337 + 5 >> 0] = HEAP8[$199 + (($350 - $362 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$337 + 1 >> 0] = HEAP8[$199 + (($368 + $346 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$337 + 4 >> 0] = HEAP8[$199 + (($346 - $368 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$337 + 2 >> 0] = HEAP8[$199 + (($365 + $351 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$337 + 3 >> 0] = HEAP8[$199 + (($351 - $365 | 0) >>> 18 & 1023) >> 0] | 0; + STACKTOP = sp; + return; +} + +function __ZNSt3__211__money_putIwE8__formatEPwRS2_S3_jPKwS5_RKNS_5ctypeIwEEbRKNS_10money_base7patternEwwRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNSE_IwNSF_IwEENSH_IwEEEESQ_i($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + $9 = $9 | 0; + $10 = $10 | 0; + $11 = $11 | 0; + $12 = $12 | 0; + $13 = $13 | 0; + $14 = $14 | 0; + var $$0 = 0, $$0$i$i = 0, $$0$i$i108 = 0, $$0$i$i112 = 0, $$0$ph = 0, $$0101 = 0, $$0103 = 0, $$0106 = 0, $$07$i$i = 0, $$095 = 0, $$097 = 0, $$099 = 0, $$1 = 0, $$1102 = 0, $$1104 = 0, $$196 = 0, $$198 = 0, $$2 = 0, $$2105 = 0, $$3 = 0, $100 = 0, $101 = 0, $102 = 0, $103 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $126 = 0, $129 = 0, $130 = 0, $132 = 0, $135 = 0, $136 = 0, $138 = 0, $142 = 0, $144 = 0, $146 = 0, $147 = 0, $150 = 0, $152 = 0, $16 = 0, $17 = 0, $19 = 0, $20 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $30 = 0, $40 = 0, $41 = 0, $43 = 0, $44 = 0, $51 = 0, $52 = 0, $54 = 0, $55 = 0, $58 = 0, $61 = 0, $62 = 0, $63 = 0, $65 = 0, $69 = 0, $79 = 0, $81 = 0, $82 = 0, $83 = 0, $91 = 0, $92 = 0, $93 = 0, $99 = 0, $spec$select = 0; + HEAP32[$2 >> 2] = $0; + $16 = $13 + 8 + 3 | 0; + $17 = $13 + 4 | 0; + $19 = $12 + 8 + 3 | 0; + $20 = $12 + 4 | 0; + $22 = ($3 & 512 | 0) == 0; + $23 = ($14 | 0) > 0; + $24 = $11 + 11 | 0; + $25 = $11 + 4 | 0; + $$0106 = 0; + $$099 = $4; + while (1) { + if (($$0106 | 0) == 4) break; + L4 : do switch (HEAP8[$8 + $$0106 >> 0] | 0) { + case 0: + { + HEAP32[$1 >> 2] = HEAP32[$2 >> 2]; + $$2 = $$099; + break; + } + case 1: + { + HEAP32[$1 >> 2] = HEAP32[$2 >> 2]; + $40 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$6 >> 2] | 0) + 44 >> 2] & 127]($6, 32) | 0; + $41 = HEAP32[$2 >> 2] | 0; + HEAP32[$2 >> 2] = $41 + 4; + HEAP32[$41 >> 2] = $40; + $$2 = $$099; + break; + } + case 3: + { + $43 = HEAP8[$16 >> 0] | 0; + $44 = $43 << 24 >> 24 < 0; + if (!(($44 ? HEAP32[$17 >> 2] | 0 : $43 & 255) | 0)) $$2 = $$099; else { + $51 = HEAP32[($44 ? HEAP32[$13 >> 2] | 0 : $13) >> 2] | 0; + $52 = HEAP32[$2 >> 2] | 0; + HEAP32[$2 >> 2] = $52 + 4; + HEAP32[$52 >> 2] = $51; + $$2 = $$099; + } + break; + } + case 2: + { + $54 = HEAP8[$19 >> 0] | 0; + $55 = $54 << 24 >> 24 < 0; + $58 = $55 ? HEAP32[$20 >> 2] | 0 : $54 & 255; + if ($22 | ($58 | 0) == 0) $$2 = $$099; else { + $61 = $55 ? HEAP32[$12 >> 2] | 0 : $12; + $62 = $61 + ($58 << 2) | 0; + $63 = HEAP32[$2 >> 2] | 0; + $$0$i$i112 = $63; + $65 = $61; + while (1) { + if (($65 | 0) == ($62 | 0)) break; + HEAP32[$$0$i$i112 >> 2] = HEAP32[$65 >> 2]; + $$0$i$i112 = $$0$i$i112 + 4 | 0; + $65 = $65 + 4 | 0; + } + HEAP32[$2 >> 2] = $63 + ($58 << 2); + $$2 = $$099; + } + break; + } + case 4: + { + $69 = HEAP32[$2 >> 2] | 0; + $spec$select = $7 ? $$099 + 4 | 0 : $$099; + $$0103 = $spec$select; + while (1) { + if ($$0103 >>> 0 >= $5 >>> 0) break; + if (!(FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$6 >> 2] | 0) + 12 >> 2] & 63]($6, 2048, HEAP32[$$0103 >> 2] | 0) | 0)) break; + $$0103 = $$0103 + 4 | 0; + } + if ($23) { + $$0101 = $14; + $$1104 = $$0103; + while (1) { + $79 = ($$0101 | 0) > 0; + if (!($$1104 >>> 0 > $spec$select >>> 0 & $79)) break; + $81 = $$1104 + -4 | 0; + $82 = HEAP32[$81 >> 2] | 0; + $83 = HEAP32[$2 >> 2] | 0; + HEAP32[$2 >> 2] = $83 + 4; + HEAP32[$83 >> 2] = $82; + $$0101 = $$0101 + -1 | 0; + $$1104 = $81; + } + if ($79) $93 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$6 >> 2] | 0) + 44 >> 2] & 127]($6, 48) | 0; else $93 = 0; + $$1102 = $$0101; + $92 = HEAP32[$2 >> 2] | 0; + while (1) { + $91 = $92 + 4 | 0; + if (($$1102 | 0) <= 0) break; + HEAP32[$92 >> 2] = $93; + $$1102 = $$1102 + -1 | 0; + $92 = $91; + } + HEAP32[$2 >> 2] = $91; + HEAP32[$92 >> 2] = $9; + $$2105 = $$1104; + } else $$2105 = $$0103; + if (($$2105 | 0) == ($spec$select | 0)) { + $99 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$6 >> 2] | 0) + 44 >> 2] & 127]($6, 48) | 0; + $100 = HEAP32[$2 >> 2] | 0; + $101 = $100 + 4 | 0; + HEAP32[$2 >> 2] = $101; + HEAP32[$100 >> 2] = $99; + $135 = $101; + } else { + $102 = HEAP8[$24 >> 0] | 0; + $103 = $102 << 24 >> 24 < 0; + if (!(($103 ? HEAP32[$25 >> 2] | 0 : $102 & 255) | 0)) $$0$ph = -1; else $$0$ph = HEAP8[($103 ? HEAP32[$11 >> 2] | 0 : $11) >> 0] | 0; + $$0 = $$0$ph; + $$095 = 0; + $$097 = 0; + $$3 = $$2105; + while (1) { + if (($$3 | 0) == ($spec$select | 0)) break; + $114 = HEAP32[$2 >> 2] | 0; + if (($$097 | 0) == ($$0 | 0)) { + $115 = $114 + 4 | 0; + HEAP32[$2 >> 2] = $115; + HEAP32[$114 >> 2] = $10; + $116 = $$095 + 1 | 0; + $117 = HEAP8[$24 >> 0] | 0; + $118 = $117 << 24 >> 24 < 0; + if ($116 >>> 0 < ($118 ? HEAP32[$25 >> 2] | 0 : $117 & 255) >>> 0) { + $126 = HEAP8[($118 ? HEAP32[$11 >> 2] | 0 : $11) + $116 >> 0] | 0; + $$1 = $126 << 24 >> 24 == 127 ? -1 : $126 << 24 >> 24; + $$196 = $116; + $$198 = 0; + $132 = $115; + } else { + $$1 = $$097; + $$196 = $116; + $$198 = 0; + $132 = $115; + } + } else { + $$1 = $$0; + $$196 = $$095; + $$198 = $$097; + $132 = $114; + } + $129 = $$3 + -4 | 0; + $130 = HEAP32[$129 >> 2] | 0; + HEAP32[$2 >> 2] = $132 + 4; + HEAP32[$132 >> 2] = $130; + $$0 = $$1; + $$095 = $$196; + $$097 = $$198 + 1 | 0; + $$3 = $129; + } + $135 = HEAP32[$2 >> 2] | 0; + } + if (($69 | 0) == ($135 | 0)) $$2 = $spec$select; else { + $$0$i$i108 = $135; + $$07$i$i = $69; + while (1) { + $136 = $$0$i$i108 + -4 | 0; + if ($$07$i$i >>> 0 >= $136 >>> 0) { + $$2 = $spec$select; + break L4; + } + $138 = HEAP32[$$07$i$i >> 2] | 0; + HEAP32[$$07$i$i >> 2] = HEAP32[$136 >> 2]; + HEAP32[$136 >> 2] = $138; + $$0$i$i108 = $136; + $$07$i$i = $$07$i$i + 4 | 0; + } + } + break; + } + default: + $$2 = $$099; + } while (0); + $$0106 = $$0106 + 1 | 0; + $$099 = $$2; + } + $26 = HEAP8[$16 >> 0] | 0; + $27 = $26 << 24 >> 24 < 0; + $30 = $27 ? HEAP32[$17 >> 2] | 0 : $26 & 255; + if ($30 >>> 0 > 1) { + $142 = HEAP32[$13 >> 2] | 0; + $144 = $27 ? $142 + 4 | 0 : $17; + $146 = ($27 ? $142 : $13) + ($30 << 2) | 0; + $147 = HEAP32[$2 >> 2] | 0; + $150 = $146 - $144 | 0; + $$0$i$i = $147; + $152 = $144; + while (1) { + if (($152 | 0) == ($146 | 0)) break; + HEAP32[$$0$i$i >> 2] = HEAP32[$152 >> 2]; + $$0$i$i = $$0$i$i + 4 | 0; + $152 = $152 + 4 | 0; + } + HEAP32[$2 >> 2] = $147 + ($150 >>> 2 << 2); + } + switch (($3 & 176) << 24 >> 24) { + case 32: + { + HEAP32[$1 >> 2] = HEAP32[$2 >> 2]; + break; + } + case 16: + break; + default: + HEAP32[$1 >> 2] = $0; + } + return; +} + +function _pattern_match($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 $$0175 = 0.0, $$0178 = 0, $$0180 = 0, $$0184 = 0, $$0186 = 0, $$0192 = 0, $$0200 = 0, $$0208 = 0, $$0210 = 0, $$1176 = 0.0, $$1179 = 0, $$1181 = 0, $$1181$in = 0, $$1185 = 0, $$1187 = 0, $$1193 = 0, $$1201 = 0, $$1209 = 0, $$1211 = 0, $$2 = 0, $$2182 = 0, $$2188 = 0, $$2202 = 0, $$2212 = 0, $$3 = 0.0, $$3183 = 0, $$3183$in = 0, $$3189 = 0, $$3195 = 0, $$3203 = 0, $$3213 = 0, $$4 = 0.0, $$4190 = 0, $$4196 = 0, $$4204 = 0, $$5 = 0.0, $$5191 = 0, $$5197 = 0, $$5205 = 0, $$6206 = 0, $$7 = 0.0, $$7199 = 0, $$7207 = 0, $10 = 0, $115 = 0.0, $116 = 0, $12 = 0, $18 = 0, $20 = 0, $25 = 0, $31 = 0.0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $41 = 0, $44 = 0, $45 = 0, $61 = 0.0, $62 = 0, $65 = 0, $67 = 0, $75 = 0, $80 = 0, $86 = 0.0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $95 = 0, $98 = 0, $99 = 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); + $vararg_buffer1 = sp + 8 | 0; + $vararg_buffer = sp; + L1 : do if (($0 | 0) == 0 | ($3 | 0) < 1) { + HEAP32[$4 >> 2] = 0; + HEAP32[$5 >> 2] = 0; + HEAPF64[$6 >> 3] = -1.0; + $$2 = -1; + } else switch ($1 | 0) { + case 0: + { + $9 = Math_imul($3, $3) | 0; + $10 = $9 * 3 | 0; + $12 = _malloc($9 * 12 | 0) | 0; + if (!$12) { + _arLog(0, 3, 45930, $vararg_buffer); + _exit(1); + } + $$0186 = 0; + $$0208 = 0; + while (1) { + if (($$0186 | 0) == ($10 | 0)) break; + $18 = $$0208 + (~HEAP8[$2 + $$0186 >> 0] & 255) | 0; + $$0186 = $$0186 + 1 | 0; + $$0208 = $18; + } + $20 = ($$0208 >>> 0) / ($10 >>> 0) | 0; + $$0210 = 0; + $$1187 = 0; + while (1) { + if (($$1187 | 0) == ($10 | 0)) break; + $25 = (~HEAP8[$2 + $$1187 >> 0] & 255) - $20 | 0; + HEAP32[$12 + ($$1187 << 2) >> 2] = $25; + $$0210 = (Math_imul($25, $25) | 0) + $$0210 | 0; + $$1187 = $$1187 + 1 | 0; + } + $31 = +Math_sqrt(+(+($$0210 | 0))); + if ($31 / (+($3 | 0) * 1.7320508) < 15.0) { + HEAP32[$4 >> 2] = 0; + HEAP32[$5 >> 2] = 0; + HEAPF64[$6 >> 3] = -1.0; + _free($12); + $$2 = -2; + break L1; + } + $36 = HEAP32[$0 >> 2] | 0; + $37 = $0 + 8 | 0; + $38 = $0 + 12 | 0; + $39 = $0 + 16 | 0; + $$0175 = 0.0; + $$0178 = 0; + $$0180 = -1; + $$0192 = -1; + $$0200 = -1; + while (1) { + if (($$0178 | 0) >= ($36 | 0)) break; + $41 = HEAP32[$37 >> 2] | 0; + $$1181$in = $$0180; + L23 : while (1) { + $$1181 = $$1181$in + 1 | 0; + switch (HEAP32[$41 + ($$1181 << 2) >> 2] | 0) { + case 0: + { + $$1181$in = $$1181; + break; + } + case 2: + { + $$3 = $$0175; + $$3195 = $$0192; + $$3203 = $$0200; + break L23; + break; + } + default: + { + label = 18; + break L23; + } + } + } + L25 : do if ((label | 0) == 18) { + label = 0; + $44 = $$1181 << 2; + $$0184 = 0; + $$1176 = $$0175; + $$1193 = $$0192; + $$1201 = $$0200; + while (1) { + if (($$0184 | 0) == 4) { + $$3 = $$1176; + $$3195 = $$1193; + $$3203 = $$1201; + break L25; + } + $45 = $$0184 + $44 | 0; + $$1211 = 0; + $$2188 = 0; + while (1) { + if (($$2188 | 0) == ($10 | 0)) break; + $$1211 = (Math_imul(HEAP32[(HEAP32[(HEAP32[$38 >> 2] | 0) + ($45 << 2) >> 2] | 0) + ($$2188 << 2) >> 2] | 0, HEAP32[$12 + ($$2188 << 2) >> 2] | 0) | 0) + $$1211 | 0; + $$2188 = $$2188 + 1 | 0; + } + $61 = +($$1211 | 0) / +HEAPF64[(HEAP32[$39 >> 2] | 0) + ($45 << 3) >> 3] / $31; + $62 = $61 > $$1176; + $$2202 = $62 ? $$0184 : $$1201; + $$0184 = $$0184 + 1 | 0; + $$1176 = $62 ? $61 : $$1176; + $$1193 = $62 ? $$1181 : $$1193; + $$1201 = $$2202; + } + } while (0); + $$0175 = $$3; + $$0178 = $$0178 + 1 | 0; + $$0180 = $$1181; + $$0192 = $$3195; + $$0200 = $$3203; + } + HEAP32[$5 >> 2] = $$0200; + HEAP32[$4 >> 2] = $$0192; + HEAPF64[$6 >> 3] = $$0175; + _free($12); + $$2 = 0; + break L1; + break; + } + case 1: + { + $65 = Math_imul($3, $3) | 0; + $67 = _malloc($65 << 2) | 0; + if (!$67) { + _arLog(0, 3, 45930, $vararg_buffer1); + _exit(1); + } + $$1209 = 0; + $$3189 = 0; + while (1) { + if (($$3189 | 0) == ($65 | 0)) break; + $$1209 = $$1209 + (~HEAP8[$2 + $$3189 >> 0] & 255) | 0; + $$3189 = $$3189 + 1 | 0; + } + $75 = ($$1209 >>> 0) / ($65 >>> 0) | 0; + $$2212 = 0; + $$4190 = 0; + while (1) { + if (($$4190 | 0) == ($65 | 0)) break; + $80 = (~HEAP8[$2 + $$4190 >> 0] & 255) - $75 | 0; + HEAP32[$67 + ($$4190 << 2) >> 2] = $80; + $$2212 = (Math_imul($80, $80) | 0) + $$2212 | 0; + $$4190 = $$4190 + 1 | 0; + } + $86 = +Math_sqrt(+(+($$2212 | 0))); + if ($86 / +($3 | 0) < 15.0) { + HEAP32[$4 >> 2] = 0; + HEAP32[$5 >> 2] = 0; + HEAPF64[$6 >> 3] = -1.0; + _free($67); + $$2 = -2; + break L1; + } + $90 = HEAP32[$0 >> 2] | 0; + $91 = $0 + 8 | 0; + $92 = $0 + 20 | 0; + $93 = $0 + 24 | 0; + $$1179 = 0; + $$2182 = -1; + $$4 = 0.0; + $$4196 = -1; + $$4204 = -1; + while (1) { + if (($$1179 | 0) >= ($90 | 0)) break; + $95 = HEAP32[$91 >> 2] | 0; + $$3183$in = $$2182; + L54 : while (1) { + $$3183 = $$3183$in + 1 | 0; + switch (HEAP32[$95 + ($$3183 << 2) >> 2] | 0) { + case 0: + { + $$3183$in = $$3183; + break; + } + case 2: + { + $$7 = $$4; + $$7199 = $$4196; + $$7207 = $$4204; + break L54; + break; + } + default: + { + label = 40; + break L54; + } + } + } + L56 : do if ((label | 0) == 40) { + label = 0; + $98 = $$3183 << 2; + $$1185 = 0; + $$5 = $$4; + $$5197 = $$4196; + $$5205 = $$4204; + while (1) { + if (($$1185 | 0) == 4) { + $$7 = $$5; + $$7199 = $$5197; + $$7207 = $$5205; + break L56; + } + $99 = $$1185 + $98 | 0; + $$3213 = 0; + $$5191 = 0; + while (1) { + if (($$5191 | 0) == ($65 | 0)) break; + $$3213 = (Math_imul(HEAP32[(HEAP32[(HEAP32[$92 >> 2] | 0) + ($99 << 2) >> 2] | 0) + ($$5191 << 2) >> 2] | 0, HEAP32[$67 + ($$5191 << 2) >> 2] | 0) | 0) + $$3213 | 0; + $$5191 = $$5191 + 1 | 0; + } + $115 = +($$3213 | 0) / +HEAPF64[(HEAP32[$93 >> 2] | 0) + ($99 << 3) >> 3] / $86; + $116 = $115 > $$5; + $$6206 = $116 ? $$1185 : $$5205; + $$1185 = $$1185 + 1 | 0; + $$5 = $116 ? $115 : $$5; + $$5197 = $116 ? $$3183 : $$5197; + $$5205 = $$6206; + } + } while (0); + $$1179 = $$1179 + 1 | 0; + $$2182 = $$3183; + $$4 = $$7; + $$4196 = $$7199; + $$4204 = $$7207; + } + HEAP32[$5 >> 2] = $$4204; + HEAP32[$4 >> 2] = $$4196; + HEAPF64[$6 >> 3] = $$4; + _free($67); + $$2 = 0; + break L1; + break; + } + default: + { + $$2 = -1; + break L1; + } + } while (0); + STACKTOP = sp; + return $$2 | 0; +} + +function _jpeg_idct_14x14($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0332340 = 0, $$0334339 = 0, $$0335338 = 0, $$0341 = 0, $$1333336 = 0, $$1337 = 0, $100 = 0, $103 = 0, $106 = 0, $108 = 0, $112 = 0, $115 = 0, $118 = 0, $15 = 0, $162 = 0, $165 = 0, $168 = 0, $170 = 0, $173 = 0, $174 = 0, $176 = 0, $178 = 0, $180 = 0, $182 = 0, $184 = 0, $186 = 0, $188 = 0, $191 = 0, $192 = 0, $193 = 0, $194 = 0, $195 = 0, $196 = 0, $197 = 0, $199 = 0, $201 = 0, $203 = 0, $206 = 0, $207 = 0, $209 = 0, $21 = 0, $210 = 0, $214 = 0, $215 = 0, $218 = 0, $220 = 0, $221 = 0, $224 = 0, $227 = 0, $230 = 0, $232 = 0, $236 = 0, $239 = 0, $24 = 0, $242 = 0, $25 = 0, $27 = 0, $30 = 0, $36 = 0, $42 = 0, $44 = 0, $46 = 0, $48 = 0, $5 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $63 = 0, $69 = 0, $7 = 0, $75 = 0, $81 = 0, $82 = 0, $83 = 0, $85 = 0, $86 = 0, $90 = 0, $91 = 0, $94 = 0, $96 = 0, $97 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 448 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(448); + $5 = sp; + $7 = HEAP32[$0 + 336 >> 2] | 0; + $$0332340 = $5; + $$0334339 = HEAP32[$1 + 84 >> 2] | 0; + $$0335338 = $2; + $$0341 = 0; + while (1) { + $15 = Math_imul(HEAP16[$$0335338 >> 1] << 13, HEAP32[$$0334339 >> 2] | 0) | 0 | 1024; + $21 = Math_imul(HEAP32[$$0334339 + 128 >> 2] | 0, HEAP16[$$0335338 + 64 >> 1] | 0) | 0; + $24 = ($21 * 10438 | 0) + $15 | 0; + $25 = ($21 * 2578 | 0) + $15 | 0; + $27 = (Math_imul($21, -7223) | 0) + $15 | 0; + $30 = (Math_imul($21, -11586) | 0) + $15 >> 11; + $36 = Math_imul(HEAP32[$$0334339 + 64 >> 2] | 0, HEAP16[$$0335338 + 32 >> 1] | 0) | 0; + $42 = Math_imul(HEAP32[$$0334339 + 192 >> 2] | 0, HEAP16[$$0335338 + 96 >> 1] | 0) | 0; + $44 = ($42 + $36 | 0) * 9058 | 0; + $46 = $44 + ($36 * 2237 | 0) | 0; + $48 = $44 + (Math_imul($42, -14084) | 0) | 0; + $51 = (Math_imul($42, -11295) | 0) + ($36 * 5027 | 0) | 0; + $52 = $46 + $24 | 0; + $53 = $24 - $46 | 0; + $54 = $48 + $25 | 0; + $55 = $25 - $48 | 0; + $56 = $51 + $27 | 0; + $57 = $27 - $51 | 0; + $63 = Math_imul(HEAP32[$$0334339 + 32 >> 2] | 0, HEAP16[$$0335338 + 16 >> 1] | 0) | 0; + $69 = Math_imul(HEAP32[$$0334339 + 96 >> 2] | 0, HEAP16[$$0335338 + 48 >> 1] | 0) | 0; + $75 = Math_imul(HEAP32[$$0334339 + 160 >> 2] | 0, HEAP16[$$0335338 + 80 >> 1] | 0) | 0; + $81 = Math_imul(HEAP32[$$0334339 + 224 >> 2] | 0, HEAP16[$$0335338 + 112 >> 1] | 0) | 0; + $82 = $81 << 13; + $83 = $75 + $63 | 0; + $85 = ($69 + $63 | 0) * 10935 | 0; + $86 = $83 * 9810 | 0; + $90 = $85 + (Math_imul($63, -9232) | 0) + $86 + $82 | 0; + $91 = $83 * 6164 | 0; + $94 = $63 - $69 | 0; + $96 = ($94 * 3826 | 0) - $82 | 0; + $97 = $91 + (Math_imul($63, -8693) | 0) + $96 | 0; + $100 = (Math_imul($75 + $69 | 0, -1297) | 0) - $82 | 0; + $103 = $85 + (Math_imul($69, -3474) | 0) + $100 | 0; + $106 = $86 + (Math_imul($75, -19447) | 0) + $100 | 0; + $108 = ($75 - $69 | 0) * 11512 | 0; + $112 = $108 + (Math_imul($75, -13850) | 0) + $91 + $82 | 0; + $115 = $108 + ($69 * 5529 | 0) + $96 | 0; + $118 = $94 - $75 + $81 << 2; + HEAP32[$$0332340 >> 2] = $90 + $52 >> 11; + HEAP32[$$0332340 + 416 >> 2] = $52 - $90 >> 11; + HEAP32[$$0332340 + 32 >> 2] = $103 + $54 >> 11; + HEAP32[$$0332340 + 384 >> 2] = $54 - $103 >> 11; + HEAP32[$$0332340 + 64 >> 2] = $106 + $56 >> 11; + HEAP32[$$0332340 + 352 >> 2] = $56 - $106 >> 11; + HEAP32[$$0332340 + 96 >> 2] = $118 + $30; + HEAP32[$$0332340 + 320 >> 2] = $30 - $118; + HEAP32[$$0332340 + 128 >> 2] = $112 + $57 >> 11; + HEAP32[$$0332340 + 288 >> 2] = $57 - $112 >> 11; + HEAP32[$$0332340 + 160 >> 2] = $115 + $55 >> 11; + HEAP32[$$0332340 + 256 >> 2] = $55 - $115 >> 11; + HEAP32[$$0332340 + 192 >> 2] = $97 + $53 >> 11; + HEAP32[$$0332340 + 224 >> 2] = $53 - $97 >> 11; + $$0341 = $$0341 + 1 | 0; + if (($$0341 | 0) == 8) break; else { + $$0332340 = $$0332340 + 4 | 0; + $$0334339 = $$0334339 + 4 | 0; + $$0335338 = $$0335338 + 2 | 0; + } + } + $162 = $7 + -384 | 0; + $$1333336 = $5; + $$1337 = 0; + while (1) { + $165 = (HEAP32[$3 + ($$1337 << 2) >> 2] | 0) + $4 | 0; + $168 = (HEAP32[$$1333336 >> 2] << 13) + 134348800 | 0; + $170 = HEAP32[$$1333336 + 16 >> 2] | 0; + $173 = $168 + ($170 * 10438 | 0) | 0; + $174 = $168 + ($170 * 2578 | 0) | 0; + $176 = $168 + (Math_imul($170, -7223) | 0) | 0; + $178 = $168 + (Math_imul($170, -11586) | 0) | 0; + $180 = HEAP32[$$1333336 + 8 >> 2] | 0; + $182 = HEAP32[$$1333336 + 24 >> 2] | 0; + $184 = ($182 + $180 | 0) * 9058 | 0; + $186 = $184 + ($180 * 2237 | 0) | 0; + $188 = $184 + (Math_imul($182, -14084) | 0) | 0; + $191 = (Math_imul($182, -11295) | 0) + ($180 * 5027 | 0) | 0; + $192 = $186 + $173 | 0; + $193 = $173 - $186 | 0; + $194 = $188 + $174 | 0; + $195 = $174 - $188 | 0; + $196 = $191 + $176 | 0; + $197 = $176 - $191 | 0; + $199 = HEAP32[$$1333336 + 4 >> 2] | 0; + $201 = HEAP32[$$1333336 + 12 >> 2] | 0; + $203 = HEAP32[$$1333336 + 20 >> 2] | 0; + $206 = HEAP32[$$1333336 + 28 >> 2] << 13; + $207 = $203 + $199 | 0; + $209 = ($201 + $199 | 0) * 10935 | 0; + $210 = $207 * 9810 | 0; + $214 = $209 + (Math_imul($199, -9232) | 0) + $210 + $206 | 0; + $215 = $207 * 6164 | 0; + $218 = $199 - $201 | 0; + $220 = ($218 * 3826 | 0) - $206 | 0; + $221 = $215 + (Math_imul($199, -8693) | 0) + $220 | 0; + $224 = (Math_imul($203 + $201 | 0, -1297) | 0) - $206 | 0; + $227 = $209 + (Math_imul($201, -3474) | 0) + $224 | 0; + $230 = $210 + (Math_imul($203, -19447) | 0) + $224 | 0; + $232 = ($203 - $201 | 0) * 11512 | 0; + $236 = $206 + (Math_imul($203, -13850) | 0) + $232 + $215 | 0; + $239 = $232 + ($201 * 5529 | 0) + $220 | 0; + $242 = ($218 - $203 << 13) + $206 | 0; + HEAP8[$165 >> 0] = HEAP8[$162 + (($214 + $192 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$165 + 13 >> 0] = HEAP8[$162 + (($192 - $214 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$165 + 1 >> 0] = HEAP8[$162 + (($227 + $194 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$165 + 12 >> 0] = HEAP8[$162 + (($194 - $227 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$165 + 2 >> 0] = HEAP8[$162 + (($230 + $196 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$165 + 11 >> 0] = HEAP8[$162 + (($196 - $230 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$165 + 3 >> 0] = HEAP8[$162 + (($242 + $178 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$165 + 10 >> 0] = HEAP8[$162 + (($178 - $242 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$165 + 4 >> 0] = HEAP8[$162 + (($236 + $197 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$165 + 9 >> 0] = HEAP8[$162 + (($197 - $236 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$165 + 5 >> 0] = HEAP8[$162 + (($239 + $195 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$165 + 8 >> 0] = HEAP8[$162 + (($195 - $239 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$165 + 6 >> 0] = HEAP8[$162 + (($221 + $193 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$165 + 7 >> 0] = HEAP8[$162 + (($193 - $221 | 0) >>> 18 & 1023) >> 0] | 0; + $$1337 = $$1337 + 1 | 0; + if (($$1337 | 0) == 14) break; else $$1333336 = $$1333336 + 32 | 0; + } + STACKTOP = sp; + return; +} + +function __ZN6vision25DoGScaleInvariantDetector21findSubpixelLocationsEPKNS_25GaussianScaleSpacePyramidE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$070 = 0, $$2 = 0, $10 = 0.0, $100 = 0, $105 = 0, $109 = 0, $11 = 0, $111 = 0, $114 = 0.0, $117 = 0.0, $133 = 0.0, $134 = 0, $137 = 0.0, $14 = 0.0, $144 = 0.0, $146 = 0, $151 = 0.0, $153 = 0, $16 = 0.0, $160 = 0.0, $162 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $26 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $4 = 0, $41 = 0, $46 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $54 = 0, $56 = 0, $58 = 0, $6 = 0, $63 = 0, $66 = 0, $67 = 0, $7 = 0, $70 = 0, $71 = 0, $73 = 0, $74 = 0, $81 = 0.0, $84 = 0.0, $87 = 0, $89 = 0, $90 = 0.0, $92 = 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); + $2 = sp + 68 | 0; + $3 = sp; + $4 = sp + 56 | 0; + $5 = sp + 44 | 0; + $6 = sp + 40 | 0; + $7 = sp + 36 | 0; + $10 = +__ZN6vision3sqrIfEET_S1_(+HEAPF32[$0 + 52 >> 2]); + $11 = $0 + 56 | 0; + $14 = +__ZN6vision3sqrIfEET_S1_(+HEAPF32[$11 >> 2] + 1.0); + $16 = $14 / +HEAPF32[$11 >> 2]; + $17 = $0 + 60 | 0; + $18 = $0 + 64 | 0; + $19 = $0 + 32 | 0; + $20 = $5 + 4 | 0; + $21 = $0 + 88 | 0; + $22 = $4 + 4 | 0; + $23 = $4 + 8 | 0; + $24 = $5 + 8 | 0; + $$0 = 0; + $$070 = 0; + while (1) { + $26 = HEAP32[$17 >> 2] | 0; + $30 = $26; + if ($$070 >>> 0 >= (((HEAP32[$18 >> 2] | 0) - $26 | 0) / 36 | 0) >>> 0) { + label = 3; + break; + } + $31 = $30 + ($$070 * 36 | 0) | 0; + $32 = $30 + ($$070 * 36 | 0) + 16 | 0; + $33 = HEAP32[$32 >> 2] | 0; + if (($33 | 0) >= (__ZNK6vision10DoGPyramid17numScalePerOctaveEv($19) | 0)) { + label = 5; + break; + } + $51 = $30 + ($$070 * 36 | 0) + 12 | 0; + $52 = HEAP32[$51 >> 2] | 0; + $54 = Math_imul(__ZNK6vision10DoGPyramid17numScalePerOctaveEv($19) | 0, $52) | 0; + $56 = $54 + (HEAP32[$32 >> 2] | 0) | 0; + $58 = $30 + ($$070 * 36 | 0) + 4 | 0; + __ZN6vision25bilinear_downsample_pointERfS0_ffi($6, $7, +HEAPF32[$31 >> 2], +HEAPF32[$58 >> 2], HEAP32[$51 >> 2] | 0); + $63 = ~~(+HEAPF32[$6 >> 2] + .5); + $66 = ~~(+HEAPF32[$7 >> 2] + .5); + $67 = __ZNK6vision10DoGPyramid6imagesEv($19) | 0; + $70 = (HEAP32[$67 >> 2] | 0) + ($56 + -1 << 5) | 0; + $71 = __ZNK6vision10DoGPyramid6imagesEv($19) | 0; + $73 = (HEAP32[$71 >> 2] | 0) + ($56 << 5) | 0; + $74 = __ZNK6vision10DoGPyramid6imagesEv($19) | 0; + if (((__ZN6vision22ComputeSubpixelHessianEPfS0_RKNS_5ImageES3_S3_ii($3, $4, $70, $73, (HEAP32[$74 >> 2] | 0) + ($56 + 1 << 5) | 0, $63, $66) | 0 ? __ZN6vision29SolveSymmetricLinearSystem3x3IfEEbPT_PKS1_S4_($5, $3, $4) | 0 : 0) ? ($81 = +__ZN6vision3sqrIfEET_S1_(+HEAPF32[$5 >> 2]), $84 = $81 + +__ZN6vision3sqrIfEET_S1_(+HEAPF32[$20 >> 2]), !($84 > +HEAPF32[$21 >> 2])) : 0) ? ($87 = $30 + ($$070 * 36 | 0) + 32 | 0, __ZN6vision16ComputeEdgeScoreERfPKf($87, $3) | 0) : 0) { + $89 = $30 + ($$070 * 36 | 0) + 24 | 0; + $90 = +HEAPF32[$89 >> 2]; + $92 = (__ZNK6vision5Image3getIfEEPKT_m($73, $66) | 0) + ($63 << 2) | 0; + if (!($90 == +HEAPF32[$92 >> 2])) { + label = 11; + break; + } + $111 = (__ZNK6vision5Image3getIfEEPKT_m($73, $66) | 0) + ($63 << 2) | 0; + $114 = +HEAPF32[$5 >> 2]; + $117 = +HEAPF32[$20 >> 2]; + HEAPF32[$89 >> 2] = +HEAPF32[$111 >> 2] - (+HEAPF32[$4 >> 2] * $114 + +HEAPF32[$22 >> 2] * $117 + +HEAPF32[$23 >> 2] * +HEAPF32[$24 >> 2]); + __ZN6vision23bilinear_upsample_pointERfS0_ffi($31, $58, $114 + +HEAPF32[$6 >> 2], $117 + +HEAPF32[$7 >> 2], HEAP32[$51 >> 2] | 0); + $133 = +HEAPF32[$24 >> 2] + +(HEAP32[$32 >> 2] | 0); + $134 = $30 + ($$070 * 36 | 0) + 20 | 0; + HEAPF32[$134 >> 2] = $133; + $137 = +__ZN6vision10ClipScalarIfEET_S1_S1_S1_($133, 0.0, +(__ZNK6vision10DoGPyramid17numScalePerOctaveEv($19) | 0)); + HEAPF32[$134 >> 2] = $137; + if (((((+Math_abs(+(+HEAPF32[$87 >> 2])) < $16 ? +__ZN6vision3sqrIfEET_S1_(+HEAPF32[$89 >> 2]) >= $10 : 0) ? ($144 = +HEAPF32[$31 >> 2], $144 >= 0.0) : 0) ? ($146 = __ZNK6vision10DoGPyramid6imagesEv($19) | 0, $144 < +((__ZNK6vision5Image5widthEv(HEAP32[$146 >> 2] | 0) | 0) >>> 0)) : 0) ? ($151 = +HEAPF32[$58 >> 2], $151 >= 0.0) : 0) ? ($153 = __ZNK6vision10DoGPyramid6imagesEv($19) | 0, $151 < +((__ZNK6vision5Image6heightEv(HEAP32[$153 >> 2] | 0) | 0) >>> 0)) : 0) { + $160 = +__ZNK6vision25GaussianScaleSpacePyramid14effectiveSigmaEmf($1, HEAP32[$51 >> 2] | 0, +HEAPF32[$134 >> 2]); + HEAPF32[$30 + ($$070 * 36 | 0) + 28 >> 2] = $160; + $162 = $$0 + 1 | 0; + dest = (HEAP32[$17 >> 2] | 0) + ($$0 * 36 | 0) | 0; + src = $31; + stop = dest + 36 | 0; + do { + HEAP32[dest >> 2] = HEAP32[src >> 2]; + dest = dest + 4 | 0; + src = src + 4 | 0; + } while ((dest | 0) < (stop | 0)); + $$2 = $162; + } else $$2 = $$0; + } else $$2 = $$0; + $$0 = $$2; + $$070 = $$070 + 1 | 0; + } + if ((label | 0) == 3) { + __ZNSt3__26vectorIN6vision25DoGScaleInvariantDetector12FeaturePointENS_9allocatorIS3_EEE6resizeEm($17, $$0); + STACKTOP = sp; + return; + } else if ((label | 0) == 5) { + $41 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 28320) | 0, 26748) | 0, 39072) | 0, 489) | 0, 39079) | 0, 28392) | 0; + __ZNKSt3__28ios_base6getlocEv($2, $41 + (HEAP32[(HEAP32[$41 >> 2] | 0) + -12 >> 2] | 0) | 0); + $46 = __ZNKSt3__26locale9use_facetERNS0_2idE($2, 66512) | 0; + $50 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$46 >> 2] | 0) + 28 >> 2] & 127]($46, 10) | 0; + __ZNSt3__26localeD2Ev($2); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($41, $50) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($41) | 0; + _abort(); + } else if ((label | 0) == 11) { + $100 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 28429) | 0, 26748) | 0, 39072) | 0, 526) | 0, 39079) | 0, 28486) | 0; + __ZNKSt3__28ios_base6getlocEv($2, $100 + (HEAP32[(HEAP32[$100 >> 2] | 0) + -12 >> 2] | 0) | 0); + $105 = __ZNKSt3__26locale9use_facetERNS0_2idE($2, 66512) | 0; + $109 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$105 >> 2] | 0) + 28 >> 2] & 127]($105, 10) | 0; + __ZNSt3__26localeD2Ev($2); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($100, $109) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($100) | 0; + _abort(); + } +} + +function __ZNSt3__211__money_putIcE8__formatEPcRS2_S3_jPKcS5_RKNS_5ctypeIcEEbRKNS_10money_base7patternEccRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEESL_SL_i($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + $9 = $9 | 0; + $10 = $10 | 0; + $11 = $11 | 0; + $12 = $12 | 0; + $13 = $13 | 0; + $14 = $14 | 0; + var $$0 = 0, $$0$i$i = 0, $$0$i$i106 = 0, $$0$i$i113 = 0, $$0$ph = 0, $$0101 = 0, $$0104 = 0, $$07$i$i = 0, $$093 = 0, $$095 = 0, $$097 = 0, $$099 = 0, $$1 = 0, $$1100 = 0, $$1102 = 0, $$194 = 0, $$196 = 0, $$2 = 0, $$2103 = 0, $$3 = 0, $$pn = 0, $$pn$pn = 0, $$sroa$08$0$i = 0, $$sroa$08$0$i112 = 0, $100 = 0, $101 = 0, $103 = 0, $104 = 0, $115 = 0, $117 = 0, $118 = 0, $119 = 0, $127 = 0, $130 = 0, $131 = 0, $132 = 0, $135 = 0, $137 = 0, $139 = 0, $144 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $29 = 0, $39 = 0, $40 = 0, $42 = 0, $43 = 0, $50 = 0, $51 = 0, $53 = 0, $54 = 0, $57 = 0, $60 = 0, $61 = 0, $67 = 0, $70 = 0, $80 = 0, $82 = 0, $83 = 0, $84 = 0, $92 = 0, $94 = 0, $spec$select = 0; + HEAP32[$2 >> 2] = $0; + $15 = $13 + 11 | 0; + $16 = $13 + 4 | 0; + $17 = $12 + 11 | 0; + $18 = $12 + 4 | 0; + $20 = ($3 & 512 | 0) == 0; + $21 = $6 + 8 | 0; + $22 = ($14 | 0) > 0; + $23 = $11 + 11 | 0; + $24 = $11 + 4 | 0; + $$0104 = 0; + $$097 = $4; + while (1) { + if (($$0104 | 0) == 4) break; + L4 : do switch (HEAP8[$8 + $$0104 >> 0] | 0) { + case 0: + { + HEAP32[$1 >> 2] = HEAP32[$2 >> 2]; + $$2 = $$097; + break; + } + case 1: + { + HEAP32[$1 >> 2] = HEAP32[$2 >> 2]; + $39 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$6 >> 2] | 0) + 28 >> 2] & 127]($6, 32) | 0; + $40 = HEAP32[$2 >> 2] | 0; + HEAP32[$2 >> 2] = $40 + 1; + HEAP8[$40 >> 0] = $39; + $$2 = $$097; + break; + } + case 3: + { + $42 = HEAP8[$15 >> 0] | 0; + $43 = $42 << 24 >> 24 < 0; + if (!(($43 ? HEAP32[$16 >> 2] | 0 : $42 & 255) | 0)) $$2 = $$097; else { + $50 = HEAP8[($43 ? HEAP32[$13 >> 2] | 0 : $13) >> 0] | 0; + $51 = HEAP32[$2 >> 2] | 0; + HEAP32[$2 >> 2] = $51 + 1; + HEAP8[$51 >> 0] = $50; + $$2 = $$097; + } + break; + } + case 2: + { + $53 = HEAP8[$17 >> 0] | 0; + $54 = $53 << 24 >> 24 < 0; + $57 = $54 ? HEAP32[$18 >> 2] | 0 : $53 & 255; + if ($20 | ($57 | 0) == 0) $$2 = $$097; else { + $60 = $54 ? HEAP32[$12 >> 2] | 0 : $12; + $61 = $60 + $57 | 0; + $$0$i$i113 = HEAP32[$2 >> 2] | 0; + $$sroa$08$0$i112 = $60; + while (1) { + if (($$sroa$08$0$i112 | 0) == ($61 | 0)) break; + HEAP8[$$0$i$i113 >> 0] = HEAP8[$$sroa$08$0$i112 >> 0] | 0; + $$0$i$i113 = $$0$i$i113 + 1 | 0; + $$sroa$08$0$i112 = $$sroa$08$0$i112 + 1 | 0; + } + HEAP32[$2 >> 2] = $$0$i$i113; + $$2 = $$097; + } + break; + } + case 4: + { + $67 = HEAP32[$2 >> 2] | 0; + $spec$select = $7 ? $$097 + 1 | 0 : $$097; + $$0101 = $spec$select; + while (1) { + if ($$0101 >>> 0 >= $5 >>> 0) break; + $70 = HEAP8[$$0101 >> 0] | 0; + if ($70 << 24 >> 24 <= -1) break; + if (!(HEAP16[(HEAP32[$21 >> 2] | 0) + ($70 << 24 >> 24 << 1) >> 1] & 2048)) break; + $$0101 = $$0101 + 1 | 0; + } + if ($22) { + $$099 = $14; + $$1102 = $$0101; + while (1) { + $80 = ($$099 | 0) > 0; + if (!($$1102 >>> 0 > $spec$select >>> 0 & $80)) break; + $82 = $$1102 + -1 | 0; + $83 = HEAP8[$82 >> 0] | 0; + $84 = HEAP32[$2 >> 2] | 0; + HEAP32[$2 >> 2] = $84 + 1; + HEAP8[$84 >> 0] = $83; + $$099 = $$099 + -1 | 0; + $$1102 = $82; + } + if ($80) $94 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$6 >> 2] | 0) + 28 >> 2] & 127]($6, 48) | 0; else $94 = 0; + $$1100 = $$099; + while (1) { + $92 = HEAP32[$2 >> 2] | 0; + HEAP32[$2 >> 2] = $92 + 1; + if (($$1100 | 0) <= 0) break; + HEAP8[$92 >> 0] = $94; + $$1100 = $$1100 + -1 | 0; + } + HEAP8[$92 >> 0] = $9; + $$2103 = $$1102; + } else $$2103 = $$0101; + L36 : do if (($$2103 | 0) == ($spec$select | 0)) { + $100 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$6 >> 2] | 0) + 28 >> 2] & 127]($6, 48) | 0; + $101 = HEAP32[$2 >> 2] | 0; + HEAP32[$2 >> 2] = $101 + 1; + HEAP8[$101 >> 0] = $100; + } else { + $103 = HEAP8[$23 >> 0] | 0; + $104 = $103 << 24 >> 24 < 0; + if (!(($104 ? HEAP32[$24 >> 2] | 0 : $103 & 255) | 0)) $$0$ph = -1; else $$0$ph = HEAP8[($104 ? HEAP32[$11 >> 2] | 0 : $11) >> 0] | 0; + $$0 = $$0$ph; + $$093 = 0; + $$095 = 0; + $$3 = $$2103; + while (1) { + if (($$3 | 0) == ($spec$select | 0)) break L36; + if (($$095 | 0) == ($$0 | 0)) { + $115 = HEAP32[$2 >> 2] | 0; + HEAP32[$2 >> 2] = $115 + 1; + HEAP8[$115 >> 0] = $10; + $117 = $$093 + 1 | 0; + $118 = HEAP8[$23 >> 0] | 0; + $119 = $118 << 24 >> 24 < 0; + if ($117 >>> 0 < ($119 ? HEAP32[$24 >> 2] | 0 : $118 & 255) >>> 0) { + $127 = HEAP8[($119 ? HEAP32[$11 >> 2] | 0 : $11) + $117 >> 0] | 0; + $$1 = $127 << 24 >> 24 == 127 ? -1 : $127 << 24 >> 24; + $$194 = $117; + $$196 = 0; + } else { + $$1 = $$095; + $$194 = $117; + $$196 = 0; + } + } else { + $$1 = $$0; + $$194 = $$093; + $$196 = $$095; + } + $130 = $$3 + -1 | 0; + $131 = HEAP8[$130 >> 0] | 0; + $132 = HEAP32[$2 >> 2] | 0; + HEAP32[$2 >> 2] = $132 + 1; + HEAP8[$132 >> 0] = $131; + $$0 = $$1; + $$093 = $$194; + $$095 = $$196 + 1 | 0; + $$3 = $130; + } + } while (0); + $135 = HEAP32[$2 >> 2] | 0; + if (($67 | 0) == ($135 | 0)) $$2 = $spec$select; else { + $$0$i$i106 = $135; + $$07$i$i = $67; + while (1) { + $137 = $$0$i$i106 + -1 | 0; + if ($$07$i$i >>> 0 >= $137 >>> 0) { + $$2 = $spec$select; + break L4; + } + $139 = HEAP8[$$07$i$i >> 0] | 0; + HEAP8[$$07$i$i >> 0] = HEAP8[$137 >> 0] | 0; + HEAP8[$137 >> 0] = $139; + $$0$i$i106 = $137; + $$07$i$i = $$07$i$i + 1 | 0; + } + } + break; + } + default: + $$2 = $$097; + } while (0); + $$0104 = $$0104 + 1 | 0; + $$097 = $$2; + } + $25 = HEAP8[$15 >> 0] | 0; + $26 = $25 << 24 >> 24 < 0; + $29 = $26 ? HEAP32[$16 >> 2] | 0 : $25 & 255; + if ($29 >>> 0 > 1) { + $$pn = $26 ? HEAP32[$13 >> 2] | 0 : $13; + $144 = $$pn + $29 | 0; + $$0$i$i = HEAP32[$2 >> 2] | 0; + $$pn$pn = $$pn; + while (1) { + $$sroa$08$0$i = $$pn$pn + 1 | 0; + if (($$sroa$08$0$i | 0) == ($144 | 0)) break; + HEAP8[$$0$i$i >> 0] = HEAP8[$$sroa$08$0$i >> 0] | 0; + $$0$i$i = $$0$i$i + 1 | 0; + $$pn$pn = $$sroa$08$0$i; + } + HEAP32[$2 >> 2] = $$0$i$i; + } + switch (($3 & 176) << 24 >> 24) { + case 32: + { + HEAP32[$1 >> 2] = HEAP32[$2 >> 2]; + break; + } + case 16: + break; + default: + HEAP32[$1 >> 2] = $0; + } + return; +} + +function __ZNSt3__220__get_up_to_n_digitsIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEiRT0_S5_RjRKNS_5ctypeIT_EEi($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0 = 0, $$0$i$i = 0, $$0$i$i$i$i = 0, $$0$i$i$i$i25 = 0, $$0$i$i$i$i40 = 0, $$0$i$i2$i$i = 0, $$0$i$i2$i$i31 = 0, $$0$i$i2$i$i46 = 0, $$0$i$i36 = 0, $$0$in = 0, $$023 = 0, $$023$in = 0, $$2 = 0, $107 = 0, $108 = 0, $111 = 0, $113 = 0, $123 = 0, $137 = 0, $138 = 0, $139 = 0, $140 = 0, $151 = 0, $164 = 0, $166 = 0, $180 = 0, $181 = 0, $182 = 0, $183 = 0, $184 = 0, $20 = 0, $23 = 0, $37 = 0, $39 = 0, $49 = 0, $5 = 0, $52 = 0, $64 = 0, $65 = 0, $66 = 0, $67 = 0, $76 = 0, $79 = 0, $8 = 0, $92 = 0, $94 = 0, label = 0; + $5 = HEAP32[$0 >> 2] | 0; + do if ($5) { + $8 = HEAP32[$5 + 12 >> 2] | 0; + if (($8 | 0) == (HEAP32[$5 + 16 >> 2] | 0)) $$0$i$i$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$5 >> 2] | 0) + 36 >> 2] & 127]($5) | 0; else $$0$i$i$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$8 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$0 >> 2] = 0; + $180 = 1; + break; + } else { + $180 = (HEAP32[$0 >> 2] | 0) == 0; + break; + } + } else $180 = 1; while (0); + $20 = HEAP32[$1 >> 2] | 0; + do if ($20) { + $23 = HEAP32[$20 + 12 >> 2] | 0; + if (($23 | 0) == (HEAP32[$20 + 16 >> 2] | 0)) $$0$i$i2$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$20 >> 2] | 0) + 36 >> 2] & 127]($20) | 0; else $$0$i$i2$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$23 >> 0] | 0) | 0; + if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) if ($180) { + $181 = $20; + label = 17; + break; + } else { + label = 16; + break; + } else { + HEAP32[$1 >> 2] = 0; + label = 14; + break; + } + } else label = 14; while (0); + if ((label | 0) == 14) if ($180) label = 16; else { + $181 = 0; + label = 17; + } + L22 : do if ((label | 0) == 16) { + HEAP32[$2 >> 2] = HEAP32[$2 >> 2] | 6; + $$2 = 0; + } else if ((label | 0) == 17) { + $37 = HEAP32[$0 >> 2] | 0; + $39 = HEAP32[$37 + 12 >> 2] | 0; + if (($39 | 0) == (HEAP32[$37 + 16 >> 2] | 0)) $$0$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$37 >> 2] | 0) + 36 >> 2] & 127]($37) | 0; else $$0$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$39 >> 0] | 0) | 0; + $49 = $$0$i$i & 255; + if ($49 << 24 >> 24 > -1 ? ($52 = $3 + 8 | 0, HEAP16[(HEAP32[$52 >> 2] | 0) + ($$0$i$i << 24 >> 24 << 1) >> 1] & 2048) : 0) { + $64 = (FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$3 >> 2] | 0) + 36 >> 2] & 63]($3, $49, 0) | 0) << 24 >> 24; + $65 = HEAP32[$0 >> 2] | 0; + $66 = $65 + 12 | 0; + $67 = HEAP32[$66 >> 2] | 0; + if (($67 | 0) == (HEAP32[$65 + 16 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$65 >> 2] | 0) + 40 >> 2] & 127]($65) | 0; else { + HEAP32[$66 >> 2] = $67 + 1; + __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$67 >> 0] | 0) | 0; + } + $$0$in = $64; + $$023$in = $4; + $182 = $181; + $92 = $181; + while (1) { + $$0 = $$0$in + -48 | 0; + $$023 = $$023$in + -1 | 0; + $76 = HEAP32[$0 >> 2] | 0; + do if ($76) { + $79 = HEAP32[$76 + 12 >> 2] | 0; + if (($79 | 0) == (HEAP32[$76 + 16 >> 2] | 0)) $$0$i$i$i$i25 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$76 >> 2] | 0) + 36 >> 2] & 127]($76) | 0; else $$0$i$i$i$i25 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$79 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i25, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$0 >> 2] = 0; + $107 = 1; + break; + } else { + $107 = (HEAP32[$0 >> 2] | 0) == 0; + break; + } + } else $107 = 1; while (0); + if ($92) { + $94 = HEAP32[$92 + 12 >> 2] | 0; + if (($94 | 0) == (HEAP32[$92 + 16 >> 2] | 0)) $$0$i$i2$i$i31 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$92 >> 2] | 0) + 36 >> 2] & 127]($92) | 0; else $$0$i$i2$i$i31 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$94 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i31, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $108 = 1; + $164 = 0; + $183 = 0; + } else { + $108 = 0; + $164 = $182; + $183 = $92; + } + } else { + $108 = 1; + $164 = $182; + $183 = 0; + } + $111 = HEAP32[$0 >> 2] | 0; + if (!(($$023$in | 0) > 1 & ($107 ^ $108))) break; + $113 = HEAP32[$111 + 12 >> 2] | 0; + if (($113 | 0) == (HEAP32[$111 + 16 >> 2] | 0)) $$0$i$i36 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$111 >> 2] | 0) + 36 >> 2] & 127]($111) | 0; else $$0$i$i36 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$113 >> 0] | 0) | 0; + $123 = $$0$i$i36 & 255; + if ($123 << 24 >> 24 <= -1) { + $$2 = $$0; + break L22; + } + if (!(HEAP16[(HEAP32[$52 >> 2] | 0) + ($$0$i$i36 << 24 >> 24 << 1) >> 1] & 2048)) { + $$2 = $$0; + break L22; + } + $137 = ($$0 * 10 | 0) + ((FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$3 >> 2] | 0) + 36 >> 2] & 63]($3, $123, 0) | 0) << 24 >> 24) | 0; + $138 = HEAP32[$0 >> 2] | 0; + $139 = $138 + 12 | 0; + $140 = HEAP32[$139 >> 2] | 0; + if (($140 | 0) == (HEAP32[$138 + 16 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$138 >> 2] | 0) + 40 >> 2] & 127]($138) | 0; else { + HEAP32[$139 >> 2] = $140 + 1; + __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$140 >> 0] | 0) | 0; + } + $$0$in = $137; + $$023$in = $$023; + $182 = $164; + $92 = $183; + } + do if ($111) { + $151 = HEAP32[$111 + 12 >> 2] | 0; + if (($151 | 0) == (HEAP32[$111 + 16 >> 2] | 0)) $$0$i$i$i$i40 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$111 >> 2] | 0) + 36 >> 2] & 127]($111) | 0; else $$0$i$i$i$i40 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$151 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i40, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$0 >> 2] = 0; + $184 = 1; + break; + } else { + $184 = (HEAP32[$0 >> 2] | 0) == 0; + break; + } + } else $184 = 1; while (0); + do if ($164) { + $166 = HEAP32[$164 + 12 >> 2] | 0; + if (($166 | 0) == (HEAP32[$164 + 16 >> 2] | 0)) $$0$i$i2$i$i46 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$164 >> 2] | 0) + 36 >> 2] & 127]($164) | 0; else $$0$i$i2$i$i46 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$166 >> 0] | 0) | 0; + if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i46, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) if ($184) { + $$2 = $$0; + break L22; + } else break; else { + HEAP32[$1 >> 2] = 0; + label = 63; + break; + } + } else label = 63; while (0); + if ((label | 0) == 63 ? !$184 : 0) { + $$2 = $$0; + break; + } + HEAP32[$2 >> 2] = HEAP32[$2 >> 2] | 2; + $$2 = $$0; + break; + } + HEAP32[$2 >> 2] = HEAP32[$2 >> 2] | 4; + $$2 = 0; + } while (0); + return $$2 | 0; +} + +function __ZN6vision20BinaryFeatureMatcherILi96EE5matchEPKNS_18BinaryFeatureStoreES4_PKff($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = +$4; + var $$0 = 0, $$070 = 0, $$071 = 0, $$072 = 0, $$073 = 0, $$076 = 0, $$2 = 0, $$275 = 0, $$278 = 0, $10 = 0, $110 = 0, $113 = 0, $118 = 0, $119 = 0, $131 = 0, $136 = 0, $140 = 0, $15 = 0.0, $22 = 0, $27 = 0, $31 = 0, $33 = 0, $34 = 0, $40 = 0, $43 = 0, $44 = 0, $48 = 0, $5 = 0, $52 = 0, $6 = 0, $60 = 0.0, $69 = 0, $7 = 0, $70 = 0, $79 = 0, $8 = 0, $84 = 0, $88 = 0, $90 = 0, $93 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(64); + $5 = sp + 40 | 0; + $6 = sp; + $7 = sp + 52 | 0; + $8 = sp + 48 | 0; + $10 = $0 + 4 | 0; + HEAP32[$10 >> 2] = HEAP32[$0 >> 2]; + do if ((__ZNK6vision18BinaryFeatureStore4sizeEv($1) | 0) != 0 ? (__ZNK6vision18BinaryFeatureStore4sizeEv($2) | 0) != 0 : 0) { + $15 = +__ZN6vision3sqrIfEET_S1_($4); + if (!(__ZN6vision16MatrixInverse3x3IfEEbPT_PKS1_S1_($6, $3, 0.0) | 0)) { + $22 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 35204) | 0, 35229) | 0, 39072) | 0, 196) | 0, 39079) | 0, 35315) | 0; + __ZNKSt3__28ios_base6getlocEv($5, $22 + (HEAP32[(HEAP32[$22 >> 2] | 0) + -12 >> 2] | 0) | 0); + $27 = __ZNKSt3__26locale9use_facetERNS0_2idE($5, 66512) | 0; + $31 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$27 >> 2] | 0) + 28 >> 2] & 127]($27, 10) | 0; + __ZNSt3__26localeD2Ev($5); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($22, $31) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($22) | 0; + _abort(); + } + __ZNSt3__26vectorIN6vision7match_tENS_9allocatorIS2_EEE7reserveEm($0, __ZNK6vision18BinaryFeatureStore4sizeEv($1) | 0); + $33 = $0 + 8 | 0; + $34 = $0 + 12 | 0; + $$070 = 0; + L7 : while (1) { + if ($$070 >>> 0 >= (__ZNK6vision18BinaryFeatureStore4sizeEv($1) | 0) >>> 0) break; + $43 = __ZNK6vision18BinaryFeatureStore7featureEm($1, $$070) | 0; + $44 = __ZNK6vision18BinaryFeatureStore5pointEm($1, $$070) | 0; + __ZN6vision35MultiplyPointHomographyInhomogenousIfEEvRT_S2_PKS1_S1_S1_($7, $8, $6, +HEAPF32[$44 >> 2], +HEAPF32[$44 + 4 >> 2]); + $48 = $44 + 16 | 0; + $$071 = 0; + $$072 = -1; + $$073 = -1; + $$076 = 2147483647; + while (1) { + if ($$071 >>> 0 >= (__ZNK6vision18BinaryFeatureStore4sizeEv($2) | 0) >>> 0) break; + $52 = __ZNK6vision18BinaryFeatureStore5pointEm($2, $$071) | 0; + if ((HEAP8[$48 >> 0] | 0) == (HEAP8[$52 + 16 >> 0] | 0) ? ($60 = +__ZN6vision3sqrIfEET_S1_(+HEAPF32[$7 >> 2] - +HEAPF32[$52 >> 2]), !($60 + +__ZN6vision3sqrIfEET_S1_(+HEAPF32[$8 >> 2] - +HEAPF32[$52 + 4 >> 2]) > $15)) : 0) { + $69 = __ZN6vision18HammingDistance768EPKjS1_($43, __ZNK6vision18BinaryFeatureStore7featureEm($2, $$071) | 0) | 0; + $70 = $69 >>> 0 < $$072 >>> 0; + $$2 = $70 ? $69 : $$072; + $$275 = $70 ? $$072 : $69 >>> 0 < $$073 >>> 0 ? $69 : $$073; + $$278 = $70 ? $$071 : $$076; + } else { + $$2 = $$072; + $$275 = $$073; + $$278 = $$076; + } + $$071 = $$071 + 1 | 0; + $$072 = $$2; + $$073 = $$275; + $$076 = $$278; + } + do if (($$072 | 0) != -1) { + if (($$076 | 0) == -1) { + label = 16; + break L7; + } + if (($$073 | 0) == -1) { + __ZN6vision7match_tC2Eii($5, $$070, $$076); + $90 = HEAP32[$10 >> 2] | 0; + if ($90 >>> 0 < (HEAP32[$33 >> 2] | 0) >>> 0) { + $93 = $5; + $98 = HEAP32[$93 + 4 >> 2] | 0; + $99 = $90; + HEAP32[$99 >> 2] = HEAP32[$93 >> 2]; + HEAP32[$99 + 4 >> 2] = $98; + HEAP32[$10 >> 2] = (HEAP32[$10 >> 2] | 0) + 8; + } else __ZNSt3__26vectorIN6vision7match_tENS_9allocatorIS2_EEE21__push_back_slow_pathIS2_EEvOT_($0, $5); + break; + } + if (+($$072 >>> 0) / +($$073 >>> 0) < +HEAPF32[$34 >> 2]) { + __ZN6vision7match_tC2Eii($5, $$070, $$076); + $110 = HEAP32[$10 >> 2] | 0; + if ($110 >>> 0 < (HEAP32[$33 >> 2] | 0) >>> 0) { + $113 = $5; + $118 = HEAP32[$113 + 4 >> 2] | 0; + $119 = $110; + HEAP32[$119 >> 2] = HEAP32[$113 >> 2]; + HEAP32[$119 + 4 >> 2] = $118; + HEAP32[$10 >> 2] = (HEAP32[$10 >> 2] | 0) + 8; + } else __ZNSt3__26vectorIN6vision7match_tENS_9allocatorIS2_EEE21__push_back_slow_pathIS2_EEvOT_($0, $5); + } + } while (0); + $$070 = $$070 + 1 | 0; + } + if ((label | 0) == 16) { + $79 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 35348) | 0, 35229) | 0, 39072) | 0, 241) | 0, 39079) | 0, 35420) | 0; + __ZNKSt3__28ios_base6getlocEv($5, $79 + (HEAP32[(HEAP32[$79 >> 2] | 0) + -12 >> 2] | 0) | 0); + $84 = __ZNKSt3__26locale9use_facetERNS0_2idE($5, 66512) | 0; + $88 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$84 >> 2] | 0) + 28 >> 2] & 127]($84, 10) | 0; + __ZNSt3__26localeD2Ev($5); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($79, $88) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($79) | 0; + _abort(); + } + $40 = (HEAP32[$10 >> 2] | 0) - (HEAP32[$0 >> 2] | 0) >> 3; + if ($40 >>> 0 > (__ZNK6vision18BinaryFeatureStore4sizeEv($1) | 0) >>> 0) { + $131 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 35438) | 0, 35229) | 0, 39072) | 0, 256) | 0, 39079) | 0, 35498) | 0; + __ZNKSt3__28ios_base6getlocEv($5, $131 + (HEAP32[(HEAP32[$131 >> 2] | 0) + -12 >> 2] | 0) | 0); + $136 = __ZNKSt3__26locale9use_facetERNS0_2idE($5, 66512) | 0; + $140 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$136 >> 2] | 0) + 28 >> 2] & 127]($136, 10) | 0; + __ZNSt3__26localeD2Ev($5); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($131, $140) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($131) | 0; + _abort(); + } else { + $$0 = (HEAP32[$10 >> 2] | 0) - (HEAP32[$0 >> 2] | 0) >> 3; + break; + } + } else $$0 = 0; while (0); + STACKTOP = sp; + return $$0 | 0; +} + +function _start_pass($0) { + $0 = $0 | 0; + var $$0140148 = 0, $$0152 = 0, $$1144 = 0, $$phi$trans$insert158 = 0, $$pre$phi163Z2D = 0, $$pre$phiZ2D = 0, $10 = 0, $103 = 0, $108 = 0, $114 = 0, $115 = 0, $116 = 0, $117 = 0, $119 = 0, $127 = 0, $129 = 0, $134 = 0, $135 = 0, $139 = 0, $140 = 0, $148 = 0, $150 = 0, $155 = 0, $156 = 0, $160 = 0, $161 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $170 = 0, $171 = 0, $2 = 0, $20 = 0, $22 = 0, $27 = 0, $28 = 0, $3 = 0, $44 = 0, $45 = 0, $47 = 0, $48 = 0, $49 = 0, $53 = 0, $54 = 0, $55 = 0, $6 = 0, $60 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $76 = 0, $8 = 0, $89 = 0, $9 = 0, $94 = 0, $95 = 0, dest = 0, label = 0, stop = 0; + $2 = HEAP32[$0 + 468 >> 2] | 0; + $3 = $0 + 224 | 0; + $6 = $0 + 412 | 0; + $7 = HEAP32[$6 >> 2] | 0; + $8 = ($7 | 0) == 0; + do if (HEAP32[$3 >> 2] | 0) { + $9 = $0 + 416 | 0; + $10 = HEAP32[$9 >> 2] | 0; + if ($8) if (!$10) label = 7; else label = 11; else if ((($10 | 0) >= ($7 | 0) ? ($10 | 0) <= (HEAP32[$0 + 436 >> 2] | 0) : 0) ? (HEAP32[$0 + 340 >> 2] | 0) == 1 : 0) label = 7; else label = 11; + do if ((label | 0) == 7) { + $20 = HEAP32[$0 + 420 >> 2] | 0; + if ($20) { + $22 = $20 + -1 | 0; + if (($22 | 0) == (HEAP32[$0 + 424 >> 2] | 0)) $27 = $22; else { + label = 11; + break; + } + } else $27 = HEAP32[$0 + 424 >> 2] | 0; + if (($27 | 0) > 13) label = 11; + } while (0); + if ((label | 0) == 11) { + $28 = HEAP32[$0 >> 2] | 0; + HEAP32[$28 + 20 >> 2] = 17; + HEAP32[$28 + 24 >> 2] = $7; + HEAP32[(HEAP32[$0 >> 2] | 0) + 28 >> 2] = HEAP32[$9 >> 2]; + HEAP32[(HEAP32[$0 >> 2] | 0) + 32 >> 2] = HEAP32[$0 + 420 >> 2]; + HEAP32[(HEAP32[$0 >> 2] | 0) + 36 >> 2] = HEAP32[$0 + 424 >> 2]; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + $44 = $0 + 340 | 0; + $45 = HEAP32[$44 >> 2] | 0; + if (($45 | 0) > 0) { + $47 = $0 + 160 | 0; + $48 = $0 + 420 | 0; + $49 = $0 + 424 | 0; + $$0152 = 0; + do { + $53 = HEAP32[(HEAP32[$0 + 344 + ($$0152 << 2) >> 2] | 0) + 4 >> 2] | 0; + $54 = HEAP32[$47 >> 2] | 0; + $55 = HEAP32[$6 >> 2] | 0; + if ($55) if ((HEAP32[$54 + ($53 << 8) >> 2] | 0) < 0) { + $60 = HEAP32[$0 >> 2] | 0; + HEAP32[$60 + 20 >> 2] = 118; + HEAP32[$60 + 24 >> 2] = $53; + HEAP32[(HEAP32[$0 >> 2] | 0) + 28 >> 2] = 0; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$0 >> 2] | 0) + 4 >> 2] & 255]($0, -1); + $70 = HEAP32[$6 >> 2] | 0; + } else $70 = $55; else $70 = 0; + if (($70 | 0) <= (HEAP32[$9 >> 2] | 0)) { + $$0140148 = $70; + while (1) { + $71 = $54 + ($53 << 8) + ($$0140148 << 2) | 0; + $72 = HEAP32[$71 >> 2] | 0; + if ((HEAP32[$48 >> 2] | 0) != ((($72 | 0) > 0 ? $72 : 0) | 0)) { + $76 = HEAP32[$0 >> 2] | 0; + HEAP32[$76 + 20 >> 2] = 118; + HEAP32[$76 + 24 >> 2] = $53; + HEAP32[(HEAP32[$0 >> 2] | 0) + 28 >> 2] = $$0140148; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$0 >> 2] | 0) + 4 >> 2] & 255]($0, -1); + } + HEAP32[$71 >> 2] = HEAP32[$49 >> 2]; + if (($$0140148 | 0) < (HEAP32[$9 >> 2] | 0)) $$0140148 = $$0140148 + 1 | 0; else break; + } + } + $$0152 = $$0152 + 1 | 0; + $89 = HEAP32[$44 >> 2] | 0; + } while (($$0152 | 0) < ($89 | 0)); + $$pre$phi163Z2D = $48; + $171 = $89; + } else { + $$pre$phi163Z2D = $0 + 420 | 0; + $171 = $45; + } + $94 = (HEAP32[$6 >> 2] | 0) == 0; + $95 = $2 + 4 | 0; + if (!(HEAP32[$$pre$phi163Z2D >> 2] | 0)) if ($94) { + HEAP32[$95 >> 2] = 66; + $$pre$phiZ2D = $44; + $114 = $171; + break; + } else { + HEAP32[$95 >> 2] = 67; + $$pre$phiZ2D = $44; + $114 = $171; + break; + } else if ($94) { + HEAP32[$95 >> 2] = 68; + $$pre$phiZ2D = $44; + $114 = $171; + break; + } else { + HEAP32[$95 >> 2] = 69; + $$pre$phiZ2D = $44; + $114 = $171; + break; + } + } else { + if (($8 ? (HEAP32[$0 + 420 >> 2] | 0) == 0 : 0) ? (HEAP32[$0 + 424 >> 2] | 0) == 0 : 0) { + $103 = HEAP32[$0 + 416 >> 2] | 0; + if (($103 | 0) < 64 ? ($103 | 0) != (HEAP32[$0 + 436 >> 2] | 0) : 0) label = 36; + } else label = 36; + if ((label | 0) == 36) { + $108 = HEAP32[$0 >> 2] | 0; + HEAP32[$108 + 20 >> 2] = 125; + FUNCTION_TABLE_vii[HEAP32[$108 + 4 >> 2] & 255]($0, -1); + } + HEAP32[$2 + 4 >> 2] = 70; + $$phi$trans$insert158 = $0 + 340 | 0; + $$pre$phiZ2D = $$phi$trans$insert158; + $114 = HEAP32[$$phi$trans$insert158 >> 2] | 0; + } while (0); + if (($114 | 0) <= 0) { + $165 = $2 + 12 | 0; + HEAP32[$165 >> 2] = 0; + $166 = $2 + 16 | 0; + HEAP32[$166 >> 2] = 0; + $167 = $2 + 20 | 0; + HEAP32[$167 >> 2] = -16; + $168 = $0 + 280 | 0; + $169 = HEAP32[$168 >> 2] | 0; + $170 = $2 + 56 | 0; + HEAP32[$170 >> 2] = $169; + return; + } + $115 = $0 + 436 | 0; + $116 = $0 + 420 | 0; + $117 = $0 + 4 | 0; + $$1144 = 0; + do { + $119 = HEAP32[$0 + 344 + ($$1144 << 2) >> 2] | 0; + if (HEAP32[$3 >> 2] | 0) if (!(HEAP32[$6 >> 2] | 0)) { + if (!(HEAP32[$116 >> 2] | 0)) label = 43; + } else label = 50; else label = 43; + do if ((label | 0) == 43) { + label = 0; + $127 = HEAP32[$119 + 20 >> 2] | 0; + if ($127 >>> 0 > 15) { + $129 = HEAP32[$0 >> 2] | 0; + HEAP32[$129 + 20 >> 2] = 50; + HEAP32[$129 + 24 >> 2] = $127; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + $134 = $2 + 60 + ($127 << 2) | 0; + $135 = HEAP32[$134 >> 2] | 0; + if (!$135) { + $139 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$117 >> 2] >> 2] & 63]($0, 1, 64) | 0; + HEAP32[$134 >> 2] = $139; + $140 = $139; + } else $140 = $135; + dest = $140; + stop = dest + 64 | 0; + do { + HEAP8[dest >> 0] = 0; + dest = dest + 1 | 0; + } while ((dest | 0) < (stop | 0)); + HEAP32[$2 + 24 + ($$1144 << 2) >> 2] = 0; + HEAP32[$2 + 40 + ($$1144 << 2) >> 2] = 0; + if (!(HEAP32[$3 >> 2] | 0)) if (!(HEAP32[$115 >> 2] | 0)) break; else { + label = 50; + break; + } else if (!(HEAP32[$6 >> 2] | 0)) break; else { + label = 50; + break; + } + } while (0); + if ((label | 0) == 50) { + label = 0; + $148 = HEAP32[$119 + 24 >> 2] | 0; + if ($148 >>> 0 > 15) { + $150 = HEAP32[$0 >> 2] | 0; + HEAP32[$150 + 20 >> 2] = 50; + HEAP32[$150 + 24 >> 2] = $148; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + $155 = $2 + 124 + ($148 << 2) | 0; + $156 = HEAP32[$155 >> 2] | 0; + if (!$156) { + $160 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$117 >> 2] >> 2] & 63]($0, 1, 256) | 0; + HEAP32[$155 >> 2] = $160; + $161 = $160; + } else $161 = $156; + _memset($161 | 0, 0, 256) | 0; + } + $$1144 = $$1144 + 1 | 0; + } while (($$1144 | 0) < (HEAP32[$$pre$phiZ2D >> 2] | 0)); + $165 = $2 + 12 | 0; + HEAP32[$165 >> 2] = 0; + $166 = $2 + 16 | 0; + HEAP32[$166 >> 2] = 0; + $167 = $2 + 20 | 0; + HEAP32[$167 >> 2] = -16; + $168 = $0 + 280 | 0; + $169 = HEAP32[$168 >> 2] | 0; + $170 = $2 + 56 | 0; + HEAP32[$170 >> 2] = $169; + return; +} + +function __ZN6vision16PruneDoGFeaturesERNSt3__26vectorINS1_INS1_INS0_4pairIfmEENS0_9allocatorIS3_EEEENS4_IS6_EEEENS4_IS8_EEEERNS1_INS_25DoGScaleInvariantDetector12FeaturePointENS4_ISD_EEEERKSF_iiiii($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 $$0 = 0, $$087 = 0, $$089 = 0, $$090 = 0, $$091 = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$cast = 0, $$pre = 0, $$pre118 = 0, $$pre118119 = 0, $$pre118120 = 0, $$sroa$speculated = 0, $10 = 0, $101 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $109 = 0, $11 = 0, $116 = 0, $12 = 0, $120 = 0, $130 = 0, $135 = 0, $139 = 0, $145 = 0, $146 = 0, $153 = 0, $16 = 0.0, $20 = 0.0, $22 = 0, $23 = 0, $25 = 0, $27 = 0, $28 = 0, $31 = 0, $32 = 0.0, $33 = 0.0, $34 = 0, $38 = 0, $40 = 0, $41 = 0, $48 = 0, $52 = 0, $53 = 0, $54 = 0, $62 = 0, $65 = 0, $68 = 0.0, $69 = 0, $70 = 0, $74 = 0, $79 = 0, $8 = 0, $80 = 0, $9 = 0, $90 = 0, $94 = 0, $97 = 0, $storemerge = 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); + $$byval_copy2 = sp + 8 | 0; + $$byval_copy1 = sp + 32 | 0; + $$byval_copy = sp + 28 | 0; + $8 = sp + 24 | 0; + $9 = sp + 20 | 0; + $10 = sp + 16 | 0; + $11 = sp; + $12 = Math_imul($4, $3) | 0; + $16 = +Math_ceil(+(+($5 | 0) / +($3 | 0))); + $20 = +Math_ceil(+(+($6 | 0) / +($4 | 0))); + $22 = $1 + 4 | 0; + HEAP32[$22 >> 2] = HEAP32[$1 >> 2]; + __ZNSt3__26vectorIN6vision25DoGScaleInvariantDetector12FeaturePointENS_9allocatorIS3_EEE7reserveEm($1, $7); + $23 = $0 + 4 | 0; + $25 = HEAP32[$0 >> 2] | 0; + $27 = ((HEAP32[$23 >> 2] | 0) - $25 | 0) / 12 | 0; + $$cast = $25; + $$087 = 0; + while (1) { + if (($$087 | 0) == ($27 | 0)) break; + $38 = HEAP32[$$cast + ($$087 * 12 | 0) >> 2] | 0; + $40 = ((HEAP32[$$cast + ($$087 * 12 | 0) + 4 >> 2] | 0) - $38 | 0) / 12 | 0; + $41 = $38; + $$091 = 0; + while (1) { + if (($$091 | 0) == ($40 | 0)) break; + HEAP32[$41 + ($$091 * 12 | 0) + 4 >> 2] = HEAP32[$41 + ($$091 * 12 | 0) >> 2]; + $$091 = $$091 + 1 | 0; + } + $$087 = $$087 + 1 | 0; + } + $28 = ($7 | 0) / ($12 | 0) | 0; + $31 = $2 + 4 | 0; + $32 = +(~~$16 | 0); + $33 = +(~~$20 | 0); + $34 = $$byval_copy2 + 4 | 0; + $storemerge = 0; + while (1) { + $48 = HEAP32[$2 >> 2] | 0; + $52 = $48; + if ($storemerge >>> 0 >= (((HEAP32[$31 >> 2] | 0) - $48 | 0) / 36 | 0) >>> 0) break; + $62 = ~~(+HEAPF32[$52 + ($storemerge * 36 | 0) + 4 >> 2] / $33); + $65 = HEAP32[(HEAP32[$0 >> 2] | 0) + (~~(+HEAPF32[$52 + ($storemerge * 36 | 0) >> 2] / $32) * 12 | 0) >> 2] | 0; + $68 = +Math_abs(+(+HEAPF32[$52 + ($storemerge * 36 | 0) + 24 >> 2])); + HEAPF32[$$byval_copy2 >> 2] = $68; + HEAP32[$34 >> 2] = $storemerge; + $69 = $65 + ($62 * 12 | 0) + 4 | 0; + $70 = HEAP32[$69 >> 2] | 0; + if ($70 >>> 0 < (HEAP32[$65 + ($62 * 12 | 0) + 8 >> 2] | 0) >>> 0) { + $74 = $$byval_copy2; + $79 = HEAP32[$74 + 4 >> 2] | 0; + $80 = $70; + HEAP32[$80 >> 2] = HEAP32[$74 >> 2]; + HEAP32[$80 + 4 >> 2] = $79; + HEAP32[$69 >> 2] = (HEAP32[$69 >> 2] | 0) + 8; + } else __ZNSt3__26vectorINS_4pairIfmEENS_9allocatorIS2_EEE21__push_back_slow_pathIS2_EEvOT_($65 + ($62 * 12 | 0) | 0, $$byval_copy2); + $storemerge = $storemerge + 1 | 0; + } + $53 = $1 + 8 | 0; + $$pre = HEAP32[$0 >> 2] | 0; + $54 = $$pre; + $$090 = 0; + $$pre118119 = $54; + $153 = $54; + $90 = $$pre; + L17 : while (1) { + if ($$090 >>> 0 >= (((HEAP32[$23 >> 2] | 0) - $90 | 0) / 12 | 0) >>> 0) { + label = 16; + break; + } + $$089 = 0; + $$pre118120 = $$pre118119; + $94 = $153; + while (1) { + $97 = HEAP32[$94 + ($$090 * 12 | 0) >> 2] | 0; + $101 = $97; + if ($$089 >>> 0 >= (((HEAP32[$94 + ($$090 * 12 | 0) + 4 >> 2] | 0) - $97 | 0) / 12 | 0) >>> 0) break; + $104 = $101 + ($$089 * 12 | 0) | 0; + $105 = $101 + ($$089 * 12 | 0) + 4 | 0; + $106 = HEAP32[$105 >> 2] | 0; + $107 = HEAP32[$104 >> 2] | 0; + $109 = $106 - $107 >> 3; + $$sroa$speculated = $28 >>> 0 < $109 >>> 0 ? $28 : $109; + if (!$$sroa$speculated) $$pre118 = $$pre118120; else { + HEAP32[$8 >> 2] = $107; + HEAP32[$9 >> 2] = $107 + ($$sroa$speculated << 3); + HEAP32[$10 >> 2] = $106; + HEAP32[$$byval_copy >> 2] = HEAP32[$8 >> 2]; + HEAP32[$$byval_copy1 >> 2] = HEAP32[$9 >> 2]; + HEAP32[$$byval_copy2 >> 2] = HEAP32[$10 >> 2]; + __ZNSt3__213__nth_elementIRNS_7greaterINS_4pairIfmEEEENS_11__wrap_iterIPS3_EEEEvT0_S9_S9_T_($$byval_copy, $$byval_copy1, $$byval_copy2, $11); + $116 = HEAP32[$104 >> 2] | 0; + $120 = $116; + if ($$sroa$speculated >>> 0 > (HEAP32[$105 >> 2] | 0) - $116 >> 3 >>> 0 ? !(+HEAPF32[$120 >> 2] >= +HEAPF32[$120 + ($$sroa$speculated << 3) >> 2]) : 0) { + label = 23; + break L17; + } + $$0 = 0; + while (1) { + if ($$0 >>> 0 >= $$sroa$speculated >>> 0) break; + $145 = (HEAP32[$2 >> 2] | 0) + ((HEAP32[(HEAP32[$104 >> 2] | 0) + ($$0 << 3) + 4 >> 2] | 0) * 36 | 0) | 0; + $146 = HEAP32[$22 >> 2] | 0; + if (($146 | 0) == (HEAP32[$53 >> 2] | 0)) __ZNSt3__26vectorIN6vision25DoGScaleInvariantDetector12FeaturePointENS_9allocatorIS3_EEE21__push_back_slow_pathIRKS3_EEvOT_($1, $145); else { + dest = $146; + src = $145; + stop = dest + 36 | 0; + do { + HEAP32[dest >> 2] = HEAP32[src >> 2]; + dest = dest + 4 | 0; + src = src + 4 | 0; + } while ((dest | 0) < (stop | 0)); + HEAP32[$22 >> 2] = (HEAP32[$22 >> 2] | 0) + 36; + } + $$0 = $$0 + 1 | 0; + } + $$pre118 = HEAP32[$0 >> 2] | 0; + } + $$089 = $$089 + 1 | 0; + $$pre118120 = $$pre118; + $94 = $$pre118; + } + $$090 = $$090 + 1 | 0; + $$pre118119 = $$pre118120; + $153 = $94; + $90 = $94; + } + if ((label | 0) == 16) { + STACKTOP = sp; + return; + } else if ((label | 0) == 23) { + $130 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 28243) | 0, 26748) | 0, 39072) | 0, 661) | 0, 39079) | 0, 28301) | 0; + __ZNKSt3__28ios_base6getlocEv($$byval_copy2, $130 + (HEAP32[(HEAP32[$130 >> 2] | 0) + -12 >> 2] | 0) | 0); + $135 = __ZNKSt3__26locale9use_facetERNS0_2idE($$byval_copy2, 66512) | 0; + $139 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$135 >> 2] | 0) + 28 >> 2] & 127]($135, 10) | 0; + __ZNSt3__26localeD2Ev($$byval_copy2); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($130, $139) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($130) | 0; + _abort(); + } +} + +function __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__do_get_unsignedIyEES4_S4_S4_RNS_8ios_baseERjRT_($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$i$i = 0, $$0$i$i$i$i = 0, $$0$i$i$i$i25 = 0, $$0$i$i2$i$i = 0, $$0$i$i2$i$i31 = 0, $$0$i$i41 = 0, $$1 = 0, $$2 = 0, $$pre = 0, $$sroa$0$0$copyload = 0, $10 = 0, $103 = 0, $11 = 0, $110 = 0, $115 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $127 = 0, $13 = 0, $132 = 0, $14 = 0, $141 = 0, $143 = 0, $15 = 0, $157 = 0, $158 = 0, $159 = 0, $160 = 0, $18 = 0, $21 = 0, $24 = 0, $28 = 0, $29 = 0, $31 = 0, $33 = 0, $45 = 0, $48 = 0, $6 = 0, $61 = 0, $65 = 0, $73 = 0, $77 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $9 = 0, $94 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 304 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(304); + $6 = sp + 300 | 0; + $8 = sp + 288 | 0; + $9 = sp + 276 | 0; + $10 = sp + 272 | 0; + $11 = sp; + $12 = sp + 268 | 0; + $13 = sp + 264 | 0; + $14 = __ZNSt3__214__num_get_base10__get_baseERNS_8ios_baseE($3) | 0; + $15 = __ZNKSt3__29__num_getIwE10__do_widenERNS_8ios_baseEPw($0, $3, sp + 160 | 0) | 0; + __ZNSt3__29__num_getIwE17__stage2_int_prepERNS_8ios_baseERw($8, $3, $6); + HEAP32[$9 >> 2] = 0; + HEAP32[$9 + 4 >> 2] = 0; + HEAP32[$9 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$9 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + $18 = $9 + 11 | 0; + $21 = $9 + 8 | 0; + if ((HEAP8[$18 >> 0] | 0) < 0) $24 = (HEAP32[$21 >> 2] & 2147483647) + -1 | 0; else $24 = 10; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($9, $24, 0); + $28 = (HEAP8[$18 >> 0] | 0) < 0 ? HEAP32[$9 >> 2] | 0 : $9; + HEAP32[$10 >> 2] = $28; + HEAP32[$12 >> 2] = $11; + HEAP32[$13 >> 2] = 0; + $29 = $9 + 4 | 0; + $$pre = HEAP32[$1 >> 2] | 0; + $$0 = $28; + $157 = $$pre; + $31 = $$pre; + L8 : while (1) { + if ($31) { + $33 = HEAP32[$31 + 12 >> 2] | 0; + if (($33 | 0) == (HEAP32[$31 + 16 >> 2] | 0)) $$0$i$i$i$i25 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$31 >> 2] | 0) + 36 >> 2] & 127]($31) | 0; else $$0$i$i$i$i25 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$33 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i25, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $132 = 0; + $158 = 1; + $80 = 0; + } else { + $132 = $157; + $158 = 0; + $80 = $31; + } + } else { + $132 = 0; + $158 = 1; + $80 = 0; + } + $45 = HEAP32[$2 >> 2] | 0; + do if ($45) { + $48 = HEAP32[$45 + 12 >> 2] | 0; + if (($48 | 0) == (HEAP32[$45 + 16 >> 2] | 0)) $$0$i$i2$i$i31 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$45 >> 2] | 0) + 36 >> 2] & 127]($45) | 0; else $$0$i$i2$i$i31 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$48 >> 2] | 0) | 0; + if (!(__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i31, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0)) if ($158) { + $159 = $45; + break; + } else { + $$2 = $$0; + $141 = $45; + break L8; + } else { + HEAP32[$2 >> 2] = 0; + label = 19; + break; + } + } else label = 19; while (0); + if ((label | 0) == 19) { + label = 0; + if ($158) { + $$2 = $$0; + $141 = 0; + break; + } else $159 = 0; + } + $61 = HEAP8[$18 >> 0] | 0; + $65 = $61 << 24 >> 24 < 0 ? HEAP32[$29 >> 2] | 0 : $61 & 255; + if ((HEAP32[$10 >> 2] | 0) == ($$0 + $65 | 0)) { + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($9, $65 << 1, 0); + if ((HEAP8[$18 >> 0] | 0) < 0) $73 = (HEAP32[$21 >> 2] & 2147483647) + -1 | 0; else $73 = 10; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($9, $73, 0); + $77 = (HEAP8[$18 >> 0] | 0) < 0 ? HEAP32[$9 >> 2] | 0 : $9; + HEAP32[$10 >> 2] = $77 + $65; + $$1 = $77; + } else $$1 = $$0; + $79 = $80 + 12 | 0; + $81 = HEAP32[$79 >> 2] | 0; + $82 = $80 + 16 | 0; + if (($81 | 0) == (HEAP32[$82 >> 2] | 0)) $$0$i$i41 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$80 >> 2] | 0) + 36 >> 2] & 127]($80) | 0; else $$0$i$i41 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$81 >> 2] | 0) | 0; + if (__ZNSt3__29__num_getIwE17__stage2_int_loopEwiPcRS2_RjwRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSD_PKw($$0$i$i41, $14, $$1, $10, $13, HEAP32[$6 >> 2] | 0, $8, $11, $12, $15) | 0) { + $$2 = $$1; + $141 = $159; + break; + } + $94 = HEAP32[$79 >> 2] | 0; + if (($94 | 0) == (HEAP32[$82 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$80 >> 2] | 0) + 40 >> 2] & 127]($80) | 0; else { + HEAP32[$79 >> 2] = $94 + 4; + __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$94 >> 2] | 0) | 0; + } + $$0 = $$1; + $157 = $132; + $31 = $80; + } + $103 = HEAP8[$8 + 11 >> 0] | 0; + if (($103 << 24 >> 24 < 0 ? HEAP32[$8 + 4 >> 2] | 0 : $103 & 255) | 0 ? ($110 = HEAP32[$12 >> 2] | 0, ($110 - $11 | 0) < 160) : 0) { + $115 = HEAP32[$13 >> 2] | 0; + HEAP32[$12 >> 2] = $110 + 4; + HEAP32[$110 >> 2] = $115; + } + $118 = __ZNSt3__227__num_get_unsigned_integralIyEET_PKcS3_Rji($$2, HEAP32[$10 >> 2] | 0, $4, $14) | 0; + $119 = getTempRet0() | 0; + $120 = $5; + HEAP32[$120 >> 2] = $118; + HEAP32[$120 + 4 >> 2] = $119; + __ZNSt3__216__check_groupingERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjS8_Rj($8, $11, HEAP32[$12 >> 2] | 0, $4); + if ($80) { + $127 = HEAP32[$80 + 12 >> 2] | 0; + if (($127 | 0) == (HEAP32[$80 + 16 >> 2] | 0)) $$0$i$i$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$132 >> 2] | 0) + 36 >> 2] & 127]($80) | 0; else $$0$i$i$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$127 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $160 = 1; + } else $160 = 0; + } else $160 = 1; + do if ($141) { + $143 = HEAP32[$141 + 12 >> 2] | 0; + if (($143 | 0) == (HEAP32[$141 + 16 >> 2] | 0)) $$0$i$i2$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$141 >> 2] | 0) + 36 >> 2] & 127]($141) | 0; else $$0$i$i2$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$143 >> 2] | 0) | 0; + if (!(__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0)) if ($160) break; else { + label = 50; + break; + } else { + HEAP32[$2 >> 2] = 0; + label = 48; + break; + } + } else label = 48; while (0); + if ((label | 0) == 48 ? $160 : 0) label = 50; + if ((label | 0) == 50) HEAP32[$4 >> 2] = HEAP32[$4 >> 2] | 2; + $$sroa$0$0$copyload = HEAP32[$1 >> 2] | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($9); + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($8); + STACKTOP = sp; + return $$sroa$0$0$copyload | 0; +} + +function __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__do_get_unsignedIyEES4_S4_S4_RNS_8ios_baseERjRT_($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$i$i = 0, $$0$i$i$i$i = 0, $$0$i$i$i$i25 = 0, $$0$i$i2$i$i = 0, $$0$i$i2$i$i31 = 0, $$0$i$i41 = 0, $$1 = 0, $$2 = 0, $$pre = 0, $$sroa$0$0$copyload = 0, $10 = 0, $104 = 0, $11 = 0, $111 = 0, $116 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $128 = 0, $13 = 0, $133 = 0, $14 = 0, $142 = 0, $144 = 0, $15 = 0, $158 = 0, $159 = 0, $160 = 0, $161 = 0, $18 = 0, $21 = 0, $24 = 0, $28 = 0, $29 = 0, $31 = 0, $33 = 0, $45 = 0, $48 = 0, $6 = 0, $61 = 0, $65 = 0, $73 = 0, $77 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $9 = 0, $95 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 240 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(240); + $6 = sp + 224 | 0; + $8 = sp + 212 | 0; + $9 = sp + 200 | 0; + $10 = sp + 196 | 0; + $11 = sp; + $12 = sp + 192 | 0; + $13 = sp + 188 | 0; + $14 = __ZNSt3__214__num_get_base10__get_baseERNS_8ios_baseE($3) | 0; + $15 = __ZNKSt3__29__num_getIcE10__do_widenERNS_8ios_baseEPc($0, $3, sp + 160 | 0) | 0; + __ZNSt3__29__num_getIcE17__stage2_int_prepERNS_8ios_baseERc($8, $3, $6); + HEAP32[$9 >> 2] = 0; + HEAP32[$9 + 4 >> 2] = 0; + HEAP32[$9 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$9 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + $18 = $9 + 11 | 0; + $21 = $9 + 8 | 0; + if ((HEAP8[$18 >> 0] | 0) < 0) $24 = (HEAP32[$21 >> 2] & 2147483647) + -1 | 0; else $24 = 10; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($9, $24, 0); + $28 = (HEAP8[$18 >> 0] | 0) < 0 ? HEAP32[$9 >> 2] | 0 : $9; + HEAP32[$10 >> 2] = $28; + HEAP32[$12 >> 2] = $11; + HEAP32[$13 >> 2] = 0; + $29 = $9 + 4 | 0; + $$pre = HEAP32[$1 >> 2] | 0; + $$0 = $28; + $158 = $$pre; + $31 = $$pre; + L8 : while (1) { + if ($31) { + $33 = HEAP32[$31 + 12 >> 2] | 0; + if (($33 | 0) == (HEAP32[$31 + 16 >> 2] | 0)) $$0$i$i$i$i25 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$31 >> 2] | 0) + 36 >> 2] & 127]($31) | 0; else $$0$i$i$i$i25 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$33 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i25, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $133 = 0; + $159 = 1; + $80 = 0; + } else { + $133 = $158; + $159 = 0; + $80 = $31; + } + } else { + $133 = 0; + $159 = 1; + $80 = 0; + } + $45 = HEAP32[$2 >> 2] | 0; + do if ($45) { + $48 = HEAP32[$45 + 12 >> 2] | 0; + if (($48 | 0) == (HEAP32[$45 + 16 >> 2] | 0)) $$0$i$i2$i$i31 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$45 >> 2] | 0) + 36 >> 2] & 127]($45) | 0; else $$0$i$i2$i$i31 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$48 >> 0] | 0) | 0; + if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i31, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) if ($159) { + $160 = $45; + break; + } else { + $$2 = $$0; + $142 = $45; + break L8; + } else { + HEAP32[$2 >> 2] = 0; + label = 19; + break; + } + } else label = 19; while (0); + if ((label | 0) == 19) { + label = 0; + if ($159) { + $$2 = $$0; + $142 = 0; + break; + } else $160 = 0; + } + $61 = HEAP8[$18 >> 0] | 0; + $65 = $61 << 24 >> 24 < 0 ? HEAP32[$29 >> 2] | 0 : $61 & 255; + if ((HEAP32[$10 >> 2] | 0) == ($$0 + $65 | 0)) { + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($9, $65 << 1, 0); + if ((HEAP8[$18 >> 0] | 0) < 0) $73 = (HEAP32[$21 >> 2] & 2147483647) + -1 | 0; else $73 = 10; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($9, $73, 0); + $77 = (HEAP8[$18 >> 0] | 0) < 0 ? HEAP32[$9 >> 2] | 0 : $9; + HEAP32[$10 >> 2] = $77 + $65; + $$1 = $77; + } else $$1 = $$0; + $79 = $80 + 12 | 0; + $81 = HEAP32[$79 >> 2] | 0; + $82 = $80 + 16 | 0; + if (($81 | 0) == (HEAP32[$82 >> 2] | 0)) $$0$i$i41 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$80 >> 2] | 0) + 36 >> 2] & 127]($80) | 0; else $$0$i$i41 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$81 >> 0] | 0) | 0; + if (__ZNSt3__29__num_getIcE17__stage2_int_loopEciPcRS2_RjcRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSD_PKc($$0$i$i41 & 255, $14, $$1, $10, $13, HEAP8[$6 >> 0] | 0, $8, $11, $12, $15) | 0) { + $$2 = $$1; + $142 = $160; + break; + } + $95 = HEAP32[$79 >> 2] | 0; + if (($95 | 0) == (HEAP32[$82 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$80 >> 2] | 0) + 40 >> 2] & 127]($80) | 0; else { + HEAP32[$79 >> 2] = $95 + 1; + __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$95 >> 0] | 0) | 0; + } + $$0 = $$1; + $158 = $133; + $31 = $80; + } + $104 = HEAP8[$8 + 11 >> 0] | 0; + if (($104 << 24 >> 24 < 0 ? HEAP32[$8 + 4 >> 2] | 0 : $104 & 255) | 0 ? ($111 = HEAP32[$12 >> 2] | 0, ($111 - $11 | 0) < 160) : 0) { + $116 = HEAP32[$13 >> 2] | 0; + HEAP32[$12 >> 2] = $111 + 4; + HEAP32[$111 >> 2] = $116; + } + $119 = __ZNSt3__227__num_get_unsigned_integralIyEET_PKcS3_Rji($$2, HEAP32[$10 >> 2] | 0, $4, $14) | 0; + $120 = getTempRet0() | 0; + $121 = $5; + HEAP32[$121 >> 2] = $119; + HEAP32[$121 + 4 >> 2] = $120; + __ZNSt3__216__check_groupingERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjS8_Rj($8, $11, HEAP32[$12 >> 2] | 0, $4); + if ($80) { + $128 = HEAP32[$80 + 12 >> 2] | 0; + if (($128 | 0) == (HEAP32[$80 + 16 >> 2] | 0)) $$0$i$i$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$133 >> 2] | 0) + 36 >> 2] & 127]($80) | 0; else $$0$i$i$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$128 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $161 = 1; + } else $161 = 0; + } else $161 = 1; + do if ($142) { + $144 = HEAP32[$142 + 12 >> 2] | 0; + if (($144 | 0) == (HEAP32[$142 + 16 >> 2] | 0)) $$0$i$i2$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$142 >> 2] | 0) + 36 >> 2] & 127]($142) | 0; else $$0$i$i2$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$144 >> 0] | 0) | 0; + if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) if ($161) break; else { + label = 50; + break; + } else { + HEAP32[$2 >> 2] = 0; + label = 48; + break; + } + } else label = 48; while (0); + if ((label | 0) == 48 ? $161 : 0) label = 50; + if ((label | 0) == 50) HEAP32[$4 >> 2] = HEAP32[$4 >> 2] | 2; + $$sroa$0$0$copyload = HEAP32[$1 >> 2] | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($9); + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($8); + STACKTOP = sp; + return $$sroa$0$0$copyload | 0; +} + +function __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE15__do_get_signedIxEES4_S4_S4_RNS_8ios_baseERjRT_($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$i$i = 0, $$0$i$i$i$i = 0, $$0$i$i$i$i25 = 0, $$0$i$i2$i$i = 0, $$0$i$i2$i$i31 = 0, $$0$i$i41 = 0, $$1 = 0, $$2 = 0, $$pre = 0, $$sroa$0$0$copyload = 0, $10 = 0, $103 = 0, $11 = 0, $110 = 0, $115 = 0, $118 = 0, $119 = 0, $12 = 0, $120 = 0, $127 = 0, $13 = 0, $132 = 0, $14 = 0, $141 = 0, $143 = 0, $15 = 0, $157 = 0, $158 = 0, $159 = 0, $160 = 0, $18 = 0, $21 = 0, $24 = 0, $28 = 0, $29 = 0, $31 = 0, $33 = 0, $45 = 0, $48 = 0, $6 = 0, $61 = 0, $65 = 0, $73 = 0, $77 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $9 = 0, $94 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 304 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(304); + $6 = sp + 300 | 0; + $8 = sp + 288 | 0; + $9 = sp + 276 | 0; + $10 = sp + 272 | 0; + $11 = sp; + $12 = sp + 268 | 0; + $13 = sp + 264 | 0; + $14 = __ZNSt3__214__num_get_base10__get_baseERNS_8ios_baseE($3) | 0; + $15 = __ZNKSt3__29__num_getIwE10__do_widenERNS_8ios_baseEPw($0, $3, sp + 160 | 0) | 0; + __ZNSt3__29__num_getIwE17__stage2_int_prepERNS_8ios_baseERw($8, $3, $6); + HEAP32[$9 >> 2] = 0; + HEAP32[$9 + 4 >> 2] = 0; + HEAP32[$9 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$9 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + $18 = $9 + 11 | 0; + $21 = $9 + 8 | 0; + if ((HEAP8[$18 >> 0] | 0) < 0) $24 = (HEAP32[$21 >> 2] & 2147483647) + -1 | 0; else $24 = 10; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($9, $24, 0); + $28 = (HEAP8[$18 >> 0] | 0) < 0 ? HEAP32[$9 >> 2] | 0 : $9; + HEAP32[$10 >> 2] = $28; + HEAP32[$12 >> 2] = $11; + HEAP32[$13 >> 2] = 0; + $29 = $9 + 4 | 0; + $$pre = HEAP32[$1 >> 2] | 0; + $$0 = $28; + $157 = $$pre; + $31 = $$pre; + L8 : while (1) { + if ($31) { + $33 = HEAP32[$31 + 12 >> 2] | 0; + if (($33 | 0) == (HEAP32[$31 + 16 >> 2] | 0)) $$0$i$i$i$i25 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$31 >> 2] | 0) + 36 >> 2] & 127]($31) | 0; else $$0$i$i$i$i25 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$33 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i25, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $132 = 0; + $158 = 1; + $80 = 0; + } else { + $132 = $157; + $158 = 0; + $80 = $31; + } + } else { + $132 = 0; + $158 = 1; + $80 = 0; + } + $45 = HEAP32[$2 >> 2] | 0; + do if ($45) { + $48 = HEAP32[$45 + 12 >> 2] | 0; + if (($48 | 0) == (HEAP32[$45 + 16 >> 2] | 0)) $$0$i$i2$i$i31 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$45 >> 2] | 0) + 36 >> 2] & 127]($45) | 0; else $$0$i$i2$i$i31 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$48 >> 2] | 0) | 0; + if (!(__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i31, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0)) if ($158) { + $159 = $45; + break; + } else { + $$2 = $$0; + $141 = $45; + break L8; + } else { + HEAP32[$2 >> 2] = 0; + label = 19; + break; + } + } else label = 19; while (0); + if ((label | 0) == 19) { + label = 0; + if ($158) { + $$2 = $$0; + $141 = 0; + break; + } else $159 = 0; + } + $61 = HEAP8[$18 >> 0] | 0; + $65 = $61 << 24 >> 24 < 0 ? HEAP32[$29 >> 2] | 0 : $61 & 255; + if ((HEAP32[$10 >> 2] | 0) == ($$0 + $65 | 0)) { + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($9, $65 << 1, 0); + if ((HEAP8[$18 >> 0] | 0) < 0) $73 = (HEAP32[$21 >> 2] & 2147483647) + -1 | 0; else $73 = 10; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($9, $73, 0); + $77 = (HEAP8[$18 >> 0] | 0) < 0 ? HEAP32[$9 >> 2] | 0 : $9; + HEAP32[$10 >> 2] = $77 + $65; + $$1 = $77; + } else $$1 = $$0; + $79 = $80 + 12 | 0; + $81 = HEAP32[$79 >> 2] | 0; + $82 = $80 + 16 | 0; + if (($81 | 0) == (HEAP32[$82 >> 2] | 0)) $$0$i$i41 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$80 >> 2] | 0) + 36 >> 2] & 127]($80) | 0; else $$0$i$i41 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$81 >> 2] | 0) | 0; + if (__ZNSt3__29__num_getIwE17__stage2_int_loopEwiPcRS2_RjwRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSD_PKw($$0$i$i41, $14, $$1, $10, $13, HEAP32[$6 >> 2] | 0, $8, $11, $12, $15) | 0) { + $$2 = $$1; + $141 = $159; + break; + } + $94 = HEAP32[$79 >> 2] | 0; + if (($94 | 0) == (HEAP32[$82 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$80 >> 2] | 0) + 40 >> 2] & 127]($80) | 0; else { + HEAP32[$79 >> 2] = $94 + 4; + __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$94 >> 2] | 0) | 0; + } + $$0 = $$1; + $157 = $132; + $31 = $80; + } + $103 = HEAP8[$8 + 11 >> 0] | 0; + if (($103 << 24 >> 24 < 0 ? HEAP32[$8 + 4 >> 2] | 0 : $103 & 255) | 0 ? ($110 = HEAP32[$12 >> 2] | 0, ($110 - $11 | 0) < 160) : 0) { + $115 = HEAP32[$13 >> 2] | 0; + HEAP32[$12 >> 2] = $110 + 4; + HEAP32[$110 >> 2] = $115; + } + $118 = __ZNSt3__225__num_get_signed_integralIxEET_PKcS3_Rji($$2, HEAP32[$10 >> 2] | 0, $4, $14) | 0; + $119 = getTempRet0() | 0; + $120 = $5; + HEAP32[$120 >> 2] = $118; + HEAP32[$120 + 4 >> 2] = $119; + __ZNSt3__216__check_groupingERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjS8_Rj($8, $11, HEAP32[$12 >> 2] | 0, $4); + if ($80) { + $127 = HEAP32[$80 + 12 >> 2] | 0; + if (($127 | 0) == (HEAP32[$80 + 16 >> 2] | 0)) $$0$i$i$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$132 >> 2] | 0) + 36 >> 2] & 127]($80) | 0; else $$0$i$i$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$127 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $160 = 1; + } else $160 = 0; + } else $160 = 1; + do if ($141) { + $143 = HEAP32[$141 + 12 >> 2] | 0; + if (($143 | 0) == (HEAP32[$141 + 16 >> 2] | 0)) $$0$i$i2$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$141 >> 2] | 0) + 36 >> 2] & 127]($141) | 0; else $$0$i$i2$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$143 >> 2] | 0) | 0; + if (!(__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0)) if ($160) break; else { + label = 50; + break; + } else { + HEAP32[$2 >> 2] = 0; + label = 48; + break; + } + } else label = 48; while (0); + if ((label | 0) == 48 ? $160 : 0) label = 50; + if ((label | 0) == 50) HEAP32[$4 >> 2] = HEAP32[$4 >> 2] | 2; + $$sroa$0$0$copyload = HEAP32[$1 >> 2] | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($9); + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($8); + STACKTOP = sp; + return $$sroa$0$0$copyload | 0; +} + +function __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE15__do_get_signedIxEES4_S4_S4_RNS_8ios_baseERjRT_($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$i$i = 0, $$0$i$i$i$i = 0, $$0$i$i$i$i25 = 0, $$0$i$i2$i$i = 0, $$0$i$i2$i$i31 = 0, $$0$i$i41 = 0, $$1 = 0, $$2 = 0, $$pre = 0, $$sroa$0$0$copyload = 0, $10 = 0, $104 = 0, $11 = 0, $111 = 0, $116 = 0, $119 = 0, $12 = 0, $120 = 0, $121 = 0, $128 = 0, $13 = 0, $133 = 0, $14 = 0, $142 = 0, $144 = 0, $15 = 0, $158 = 0, $159 = 0, $160 = 0, $161 = 0, $18 = 0, $21 = 0, $24 = 0, $28 = 0, $29 = 0, $31 = 0, $33 = 0, $45 = 0, $48 = 0, $6 = 0, $61 = 0, $65 = 0, $73 = 0, $77 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $9 = 0, $95 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 240 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(240); + $6 = sp + 224 | 0; + $8 = sp + 212 | 0; + $9 = sp + 200 | 0; + $10 = sp + 196 | 0; + $11 = sp; + $12 = sp + 192 | 0; + $13 = sp + 188 | 0; + $14 = __ZNSt3__214__num_get_base10__get_baseERNS_8ios_baseE($3) | 0; + $15 = __ZNKSt3__29__num_getIcE10__do_widenERNS_8ios_baseEPc($0, $3, sp + 160 | 0) | 0; + __ZNSt3__29__num_getIcE17__stage2_int_prepERNS_8ios_baseERc($8, $3, $6); + HEAP32[$9 >> 2] = 0; + HEAP32[$9 + 4 >> 2] = 0; + HEAP32[$9 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$9 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + $18 = $9 + 11 | 0; + $21 = $9 + 8 | 0; + if ((HEAP8[$18 >> 0] | 0) < 0) $24 = (HEAP32[$21 >> 2] & 2147483647) + -1 | 0; else $24 = 10; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($9, $24, 0); + $28 = (HEAP8[$18 >> 0] | 0) < 0 ? HEAP32[$9 >> 2] | 0 : $9; + HEAP32[$10 >> 2] = $28; + HEAP32[$12 >> 2] = $11; + HEAP32[$13 >> 2] = 0; + $29 = $9 + 4 | 0; + $$pre = HEAP32[$1 >> 2] | 0; + $$0 = $28; + $158 = $$pre; + $31 = $$pre; + L8 : while (1) { + if ($31) { + $33 = HEAP32[$31 + 12 >> 2] | 0; + if (($33 | 0) == (HEAP32[$31 + 16 >> 2] | 0)) $$0$i$i$i$i25 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$31 >> 2] | 0) + 36 >> 2] & 127]($31) | 0; else $$0$i$i$i$i25 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$33 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i25, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $133 = 0; + $159 = 1; + $80 = 0; + } else { + $133 = $158; + $159 = 0; + $80 = $31; + } + } else { + $133 = 0; + $159 = 1; + $80 = 0; + } + $45 = HEAP32[$2 >> 2] | 0; + do if ($45) { + $48 = HEAP32[$45 + 12 >> 2] | 0; + if (($48 | 0) == (HEAP32[$45 + 16 >> 2] | 0)) $$0$i$i2$i$i31 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$45 >> 2] | 0) + 36 >> 2] & 127]($45) | 0; else $$0$i$i2$i$i31 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$48 >> 0] | 0) | 0; + if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i31, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) if ($159) { + $160 = $45; + break; + } else { + $$2 = $$0; + $142 = $45; + break L8; + } else { + HEAP32[$2 >> 2] = 0; + label = 19; + break; + } + } else label = 19; while (0); + if ((label | 0) == 19) { + label = 0; + if ($159) { + $$2 = $$0; + $142 = 0; + break; + } else $160 = 0; + } + $61 = HEAP8[$18 >> 0] | 0; + $65 = $61 << 24 >> 24 < 0 ? HEAP32[$29 >> 2] | 0 : $61 & 255; + if ((HEAP32[$10 >> 2] | 0) == ($$0 + $65 | 0)) { + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($9, $65 << 1, 0); + if ((HEAP8[$18 >> 0] | 0) < 0) $73 = (HEAP32[$21 >> 2] & 2147483647) + -1 | 0; else $73 = 10; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($9, $73, 0); + $77 = (HEAP8[$18 >> 0] | 0) < 0 ? HEAP32[$9 >> 2] | 0 : $9; + HEAP32[$10 >> 2] = $77 + $65; + $$1 = $77; + } else $$1 = $$0; + $79 = $80 + 12 | 0; + $81 = HEAP32[$79 >> 2] | 0; + $82 = $80 + 16 | 0; + if (($81 | 0) == (HEAP32[$82 >> 2] | 0)) $$0$i$i41 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$80 >> 2] | 0) + 36 >> 2] & 127]($80) | 0; else $$0$i$i41 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$81 >> 0] | 0) | 0; + if (__ZNSt3__29__num_getIcE17__stage2_int_loopEciPcRS2_RjcRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSD_PKc($$0$i$i41 & 255, $14, $$1, $10, $13, HEAP8[$6 >> 0] | 0, $8, $11, $12, $15) | 0) { + $$2 = $$1; + $142 = $160; + break; + } + $95 = HEAP32[$79 >> 2] | 0; + if (($95 | 0) == (HEAP32[$82 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$80 >> 2] | 0) + 40 >> 2] & 127]($80) | 0; else { + HEAP32[$79 >> 2] = $95 + 1; + __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$95 >> 0] | 0) | 0; + } + $$0 = $$1; + $158 = $133; + $31 = $80; + } + $104 = HEAP8[$8 + 11 >> 0] | 0; + if (($104 << 24 >> 24 < 0 ? HEAP32[$8 + 4 >> 2] | 0 : $104 & 255) | 0 ? ($111 = HEAP32[$12 >> 2] | 0, ($111 - $11 | 0) < 160) : 0) { + $116 = HEAP32[$13 >> 2] | 0; + HEAP32[$12 >> 2] = $111 + 4; + HEAP32[$111 >> 2] = $116; + } + $119 = __ZNSt3__225__num_get_signed_integralIxEET_PKcS3_Rji($$2, HEAP32[$10 >> 2] | 0, $4, $14) | 0; + $120 = getTempRet0() | 0; + $121 = $5; + HEAP32[$121 >> 2] = $119; + HEAP32[$121 + 4 >> 2] = $120; + __ZNSt3__216__check_groupingERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjS8_Rj($8, $11, HEAP32[$12 >> 2] | 0, $4); + if ($80) { + $128 = HEAP32[$80 + 12 >> 2] | 0; + if (($128 | 0) == (HEAP32[$80 + 16 >> 2] | 0)) $$0$i$i$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$133 >> 2] | 0) + 36 >> 2] & 127]($80) | 0; else $$0$i$i$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$128 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $161 = 1; + } else $161 = 0; + } else $161 = 1; + do if ($142) { + $144 = HEAP32[$142 + 12 >> 2] | 0; + if (($144 | 0) == (HEAP32[$142 + 16 >> 2] | 0)) $$0$i$i2$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$142 >> 2] | 0) + 36 >> 2] & 127]($142) | 0; else $$0$i$i2$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$144 >> 0] | 0) | 0; + if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) if ($161) break; else { + label = 50; + break; + } else { + HEAP32[$2 >> 2] = 0; + label = 48; + break; + } + } else label = 48; while (0); + if ((label | 0) == 48 ? $161 : 0) label = 50; + if ((label | 0) == 50) HEAP32[$4 >> 2] = HEAP32[$4 >> 2] | 2; + $$sroa$0$0$copyload = HEAP32[$1 >> 2] | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($9); + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($8); + STACKTOP = sp; + return $$sroa$0$0$copyload | 0; +} + +function __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE23__do_get_floating_pointIfEES4_S4_S4_RNS_8ios_baseERjRT_($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$i$i = 0, $$0$i$i$i$i = 0, $$0$i$i$i$i15 = 0, $$0$i$i2$i$i = 0, $$0$i$i2$i$i21 = 0, $$0$i$i31 = 0, $$1 = 0, $$2 = 0, $$pre = 0, $$sroa$0$0$copyload = 0, $10 = 0, $105 = 0, $11 = 0, $114 = 0, $119 = 0, $12 = 0, $122 = 0.0, $126 = 0, $13 = 0, $131 = 0, $14 = 0, $140 = 0, $142 = 0, $15 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $19 = 0, $22 = 0, $25 = 0, $29 = 0, $30 = 0, $32 = 0, $34 = 0, $46 = 0, $49 = 0, $6 = 0, $62 = 0, $66 = 0, $7 = 0, $74 = 0, $78 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $9 = 0, $96 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 336 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(336); + $6 = sp + 160 | 0; + $7 = sp + 328 | 0; + $8 = sp + 324 | 0; + $9 = sp + 312 | 0; + $10 = sp + 300 | 0; + $11 = sp + 296 | 0; + $12 = sp; + $13 = sp + 292 | 0; + $14 = sp + 288 | 0; + $15 = sp + 333 | 0; + $16 = sp + 332 | 0; + __ZNSt3__29__num_getIwE19__stage2_float_prepERNS_8ios_baseEPwRwS5_($9, $3, $6, $7, $8); + HEAP32[$10 >> 2] = 0; + HEAP32[$10 + 4 >> 2] = 0; + HEAP32[$10 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$10 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + $19 = $10 + 11 | 0; + $22 = $10 + 8 | 0; + if ((HEAP8[$19 >> 0] | 0) < 0) $25 = (HEAP32[$22 >> 2] & 2147483647) + -1 | 0; else $25 = 10; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($10, $25, 0); + $29 = (HEAP8[$19 >> 0] | 0) < 0 ? HEAP32[$10 >> 2] | 0 : $10; + HEAP32[$11 >> 2] = $29; + HEAP32[$13 >> 2] = $12; + HEAP32[$14 >> 2] = 0; + HEAP8[$15 >> 0] = 1; + HEAP8[$16 >> 0] = 69; + $30 = $10 + 4 | 0; + $$pre = HEAP32[$1 >> 2] | 0; + $$0 = $29; + $156 = $$pre; + $32 = $$pre; + L8 : while (1) { + if ($32) { + $34 = HEAP32[$32 + 12 >> 2] | 0; + if (($34 | 0) == (HEAP32[$32 + 16 >> 2] | 0)) $$0$i$i$i$i15 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$32 >> 2] | 0) + 36 >> 2] & 127]($32) | 0; else $$0$i$i$i$i15 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$34 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i15, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $131 = 0; + $157 = 1; + $81 = 0; + } else { + $131 = $156; + $157 = 0; + $81 = $32; + } + } else { + $131 = 0; + $157 = 1; + $81 = 0; + } + $46 = HEAP32[$2 >> 2] | 0; + do if ($46) { + $49 = HEAP32[$46 + 12 >> 2] | 0; + if (($49 | 0) == (HEAP32[$46 + 16 >> 2] | 0)) $$0$i$i2$i$i21 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$46 >> 2] | 0) + 36 >> 2] & 127]($46) | 0; else $$0$i$i2$i$i21 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$49 >> 2] | 0) | 0; + if (!(__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i21, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0)) if ($157) { + $158 = $46; + break; + } else { + $$2 = $$0; + $140 = $46; + break L8; + } else { + HEAP32[$2 >> 2] = 0; + label = 19; + break; + } + } else label = 19; while (0); + if ((label | 0) == 19) { + label = 0; + if ($157) { + $$2 = $$0; + $140 = 0; + break; + } else $158 = 0; + } + $62 = HEAP8[$19 >> 0] | 0; + $66 = $62 << 24 >> 24 < 0 ? HEAP32[$30 >> 2] | 0 : $62 & 255; + if ((HEAP32[$11 >> 2] | 0) == ($$0 + $66 | 0)) { + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($10, $66 << 1, 0); + if ((HEAP8[$19 >> 0] | 0) < 0) $74 = (HEAP32[$22 >> 2] & 2147483647) + -1 | 0; else $74 = 10; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($10, $74, 0); + $78 = (HEAP8[$19 >> 0] | 0) < 0 ? HEAP32[$10 >> 2] | 0 : $10; + HEAP32[$11 >> 2] = $78 + $66; + $$1 = $78; + } else $$1 = $$0; + $80 = $81 + 12 | 0; + $82 = HEAP32[$80 >> 2] | 0; + $83 = $81 + 16 | 0; + if (($82 | 0) == (HEAP32[$83 >> 2] | 0)) $$0$i$i31 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$81 >> 2] | 0) + 36 >> 2] & 127]($81) | 0; else $$0$i$i31 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$82 >> 2] | 0) | 0; + if (__ZNSt3__29__num_getIwE19__stage2_float_loopEwRbRcPcRS4_wwRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSE_RjPw($$0$i$i31, $15, $16, $$1, $11, HEAP32[$7 >> 2] | 0, HEAP32[$8 >> 2] | 0, $9, $12, $13, $14, $6) | 0) { + $$2 = $$1; + $140 = $158; + break; + } + $96 = HEAP32[$80 >> 2] | 0; + if (($96 | 0) == (HEAP32[$83 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$81 >> 2] | 0) + 40 >> 2] & 127]($81) | 0; else { + HEAP32[$80 >> 2] = $96 + 4; + __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$96 >> 2] | 0) | 0; + } + $$0 = $$1; + $156 = $131; + $32 = $81; + } + $105 = HEAP8[$9 + 11 >> 0] | 0; + if (!((HEAP8[$15 >> 0] | 0) == 0 ? 1 : (($105 << 24 >> 24 < 0 ? HEAP32[$9 + 4 >> 2] | 0 : $105 & 255) | 0) == 0) ? ($114 = HEAP32[$13 >> 2] | 0, ($114 - $12 | 0) < 160) : 0) { + $119 = HEAP32[$14 >> 2] | 0; + HEAP32[$13 >> 2] = $114 + 4; + HEAP32[$114 >> 2] = $119; + } + $122 = +__ZNSt3__215__num_get_floatIfEET_PKcS3_Rj($$2, HEAP32[$11 >> 2] | 0, $4); + HEAPF32[$5 >> 2] = $122; + __ZNSt3__216__check_groupingERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjS8_Rj($9, $12, HEAP32[$13 >> 2] | 0, $4); + if ($81) { + $126 = HEAP32[$81 + 12 >> 2] | 0; + if (($126 | 0) == (HEAP32[$81 + 16 >> 2] | 0)) $$0$i$i$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$131 >> 2] | 0) + 36 >> 2] & 127]($81) | 0; else $$0$i$i$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$126 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $159 = 1; + } else $159 = 0; + } else $159 = 1; + do if ($140) { + $142 = HEAP32[$140 + 12 >> 2] | 0; + if (($142 | 0) == (HEAP32[$140 + 16 >> 2] | 0)) $$0$i$i2$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$140 >> 2] | 0) + 36 >> 2] & 127]($140) | 0; else $$0$i$i2$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$142 >> 2] | 0) | 0; + if (!(__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0)) if ($159) break; else { + label = 50; + break; + } else { + HEAP32[$2 >> 2] = 0; + label = 48; + break; + } + } else label = 48; while (0); + if ((label | 0) == 48 ? $159 : 0) label = 50; + if ((label | 0) == 50) HEAP32[$4 >> 2] = HEAP32[$4 >> 2] | 2; + $$sroa$0$0$copyload = HEAP32[$1 >> 2] | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($10); + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($9); + STACKTOP = sp; + return $$sroa$0$0$copyload | 0; +} + +function __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE23__do_get_floating_pointIeEES4_S4_S4_RNS_8ios_baseERjRT_($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$i$i = 0, $$0$i$i$i$i = 0, $$0$i$i$i$i15 = 0, $$0$i$i2$i$i = 0, $$0$i$i2$i$i21 = 0, $$0$i$i31 = 0, $$1 = 0, $$2 = 0, $$pre = 0, $$sroa$0$0$copyload = 0, $10 = 0, $105 = 0, $11 = 0, $114 = 0, $119 = 0, $12 = 0, $122 = 0.0, $126 = 0, $13 = 0, $131 = 0, $14 = 0, $140 = 0, $142 = 0, $15 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $19 = 0, $22 = 0, $25 = 0, $29 = 0, $30 = 0, $32 = 0, $34 = 0, $46 = 0, $49 = 0, $6 = 0, $62 = 0, $66 = 0, $7 = 0, $74 = 0, $78 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $9 = 0, $96 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 336 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(336); + $6 = sp + 160 | 0; + $7 = sp + 328 | 0; + $8 = sp + 324 | 0; + $9 = sp + 312 | 0; + $10 = sp + 300 | 0; + $11 = sp + 296 | 0; + $12 = sp; + $13 = sp + 292 | 0; + $14 = sp + 288 | 0; + $15 = sp + 333 | 0; + $16 = sp + 332 | 0; + __ZNSt3__29__num_getIwE19__stage2_float_prepERNS_8ios_baseEPwRwS5_($9, $3, $6, $7, $8); + HEAP32[$10 >> 2] = 0; + HEAP32[$10 + 4 >> 2] = 0; + HEAP32[$10 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$10 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + $19 = $10 + 11 | 0; + $22 = $10 + 8 | 0; + if ((HEAP8[$19 >> 0] | 0) < 0) $25 = (HEAP32[$22 >> 2] & 2147483647) + -1 | 0; else $25 = 10; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($10, $25, 0); + $29 = (HEAP8[$19 >> 0] | 0) < 0 ? HEAP32[$10 >> 2] | 0 : $10; + HEAP32[$11 >> 2] = $29; + HEAP32[$13 >> 2] = $12; + HEAP32[$14 >> 2] = 0; + HEAP8[$15 >> 0] = 1; + HEAP8[$16 >> 0] = 69; + $30 = $10 + 4 | 0; + $$pre = HEAP32[$1 >> 2] | 0; + $$0 = $29; + $156 = $$pre; + $32 = $$pre; + L8 : while (1) { + if ($32) { + $34 = HEAP32[$32 + 12 >> 2] | 0; + if (($34 | 0) == (HEAP32[$32 + 16 >> 2] | 0)) $$0$i$i$i$i15 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$32 >> 2] | 0) + 36 >> 2] & 127]($32) | 0; else $$0$i$i$i$i15 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$34 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i15, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $131 = 0; + $157 = 1; + $81 = 0; + } else { + $131 = $156; + $157 = 0; + $81 = $32; + } + } else { + $131 = 0; + $157 = 1; + $81 = 0; + } + $46 = HEAP32[$2 >> 2] | 0; + do if ($46) { + $49 = HEAP32[$46 + 12 >> 2] | 0; + if (($49 | 0) == (HEAP32[$46 + 16 >> 2] | 0)) $$0$i$i2$i$i21 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$46 >> 2] | 0) + 36 >> 2] & 127]($46) | 0; else $$0$i$i2$i$i21 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$49 >> 2] | 0) | 0; + if (!(__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i21, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0)) if ($157) { + $158 = $46; + break; + } else { + $$2 = $$0; + $140 = $46; + break L8; + } else { + HEAP32[$2 >> 2] = 0; + label = 19; + break; + } + } else label = 19; while (0); + if ((label | 0) == 19) { + label = 0; + if ($157) { + $$2 = $$0; + $140 = 0; + break; + } else $158 = 0; + } + $62 = HEAP8[$19 >> 0] | 0; + $66 = $62 << 24 >> 24 < 0 ? HEAP32[$30 >> 2] | 0 : $62 & 255; + if ((HEAP32[$11 >> 2] | 0) == ($$0 + $66 | 0)) { + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($10, $66 << 1, 0); + if ((HEAP8[$19 >> 0] | 0) < 0) $74 = (HEAP32[$22 >> 2] & 2147483647) + -1 | 0; else $74 = 10; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($10, $74, 0); + $78 = (HEAP8[$19 >> 0] | 0) < 0 ? HEAP32[$10 >> 2] | 0 : $10; + HEAP32[$11 >> 2] = $78 + $66; + $$1 = $78; + } else $$1 = $$0; + $80 = $81 + 12 | 0; + $82 = HEAP32[$80 >> 2] | 0; + $83 = $81 + 16 | 0; + if (($82 | 0) == (HEAP32[$83 >> 2] | 0)) $$0$i$i31 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$81 >> 2] | 0) + 36 >> 2] & 127]($81) | 0; else $$0$i$i31 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$82 >> 2] | 0) | 0; + if (__ZNSt3__29__num_getIwE19__stage2_float_loopEwRbRcPcRS4_wwRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSE_RjPw($$0$i$i31, $15, $16, $$1, $11, HEAP32[$7 >> 2] | 0, HEAP32[$8 >> 2] | 0, $9, $12, $13, $14, $6) | 0) { + $$2 = $$1; + $140 = $158; + break; + } + $96 = HEAP32[$80 >> 2] | 0; + if (($96 | 0) == (HEAP32[$83 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$81 >> 2] | 0) + 40 >> 2] & 127]($81) | 0; else { + HEAP32[$80 >> 2] = $96 + 4; + __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$96 >> 2] | 0) | 0; + } + $$0 = $$1; + $156 = $131; + $32 = $81; + } + $105 = HEAP8[$9 + 11 >> 0] | 0; + if (!((HEAP8[$15 >> 0] | 0) == 0 ? 1 : (($105 << 24 >> 24 < 0 ? HEAP32[$9 + 4 >> 2] | 0 : $105 & 255) | 0) == 0) ? ($114 = HEAP32[$13 >> 2] | 0, ($114 - $12 | 0) < 160) : 0) { + $119 = HEAP32[$14 >> 2] | 0; + HEAP32[$13 >> 2] = $114 + 4; + HEAP32[$114 >> 2] = $119; + } + $122 = +__ZNSt3__215__num_get_floatIeEET_PKcS3_Rj($$2, HEAP32[$11 >> 2] | 0, $4); + HEAPF64[$5 >> 3] = $122; + __ZNSt3__216__check_groupingERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjS8_Rj($9, $12, HEAP32[$13 >> 2] | 0, $4); + if ($81) { + $126 = HEAP32[$81 + 12 >> 2] | 0; + if (($126 | 0) == (HEAP32[$81 + 16 >> 2] | 0)) $$0$i$i$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$131 >> 2] | 0) + 36 >> 2] & 127]($81) | 0; else $$0$i$i$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$126 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $159 = 1; + } else $159 = 0; + } else $159 = 1; + do if ($140) { + $142 = HEAP32[$140 + 12 >> 2] | 0; + if (($142 | 0) == (HEAP32[$140 + 16 >> 2] | 0)) $$0$i$i2$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$140 >> 2] | 0) + 36 >> 2] & 127]($140) | 0; else $$0$i$i2$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$142 >> 2] | 0) | 0; + if (!(__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0)) if ($159) break; else { + label = 50; + break; + } else { + HEAP32[$2 >> 2] = 0; + label = 48; + break; + } + } else label = 48; while (0); + if ((label | 0) == 48 ? $159 : 0) label = 50; + if ((label | 0) == 50) HEAP32[$4 >> 2] = HEAP32[$4 >> 2] | 2; + $$sroa$0$0$copyload = HEAP32[$1 >> 2] | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($10); + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($9); + STACKTOP = sp; + return $$sroa$0$0$copyload | 0; +} + +function __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE23__do_get_floating_pointIdEES4_S4_S4_RNS_8ios_baseERjRT_($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$i$i = 0, $$0$i$i$i$i = 0, $$0$i$i$i$i15 = 0, $$0$i$i2$i$i = 0, $$0$i$i2$i$i21 = 0, $$0$i$i31 = 0, $$1 = 0, $$2 = 0, $$pre = 0, $$sroa$0$0$copyload = 0, $10 = 0, $105 = 0, $11 = 0, $114 = 0, $119 = 0, $12 = 0, $122 = 0.0, $126 = 0, $13 = 0, $131 = 0, $14 = 0, $140 = 0, $142 = 0, $15 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $19 = 0, $22 = 0, $25 = 0, $29 = 0, $30 = 0, $32 = 0, $34 = 0, $46 = 0, $49 = 0, $6 = 0, $62 = 0, $66 = 0, $7 = 0, $74 = 0, $78 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $9 = 0, $96 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 336 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(336); + $6 = sp + 160 | 0; + $7 = sp + 328 | 0; + $8 = sp + 324 | 0; + $9 = sp + 312 | 0; + $10 = sp + 300 | 0; + $11 = sp + 296 | 0; + $12 = sp; + $13 = sp + 292 | 0; + $14 = sp + 288 | 0; + $15 = sp + 333 | 0; + $16 = sp + 332 | 0; + __ZNSt3__29__num_getIwE19__stage2_float_prepERNS_8ios_baseEPwRwS5_($9, $3, $6, $7, $8); + HEAP32[$10 >> 2] = 0; + HEAP32[$10 + 4 >> 2] = 0; + HEAP32[$10 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$10 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + $19 = $10 + 11 | 0; + $22 = $10 + 8 | 0; + if ((HEAP8[$19 >> 0] | 0) < 0) $25 = (HEAP32[$22 >> 2] & 2147483647) + -1 | 0; else $25 = 10; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($10, $25, 0); + $29 = (HEAP8[$19 >> 0] | 0) < 0 ? HEAP32[$10 >> 2] | 0 : $10; + HEAP32[$11 >> 2] = $29; + HEAP32[$13 >> 2] = $12; + HEAP32[$14 >> 2] = 0; + HEAP8[$15 >> 0] = 1; + HEAP8[$16 >> 0] = 69; + $30 = $10 + 4 | 0; + $$pre = HEAP32[$1 >> 2] | 0; + $$0 = $29; + $156 = $$pre; + $32 = $$pre; + L8 : while (1) { + if ($32) { + $34 = HEAP32[$32 + 12 >> 2] | 0; + if (($34 | 0) == (HEAP32[$32 + 16 >> 2] | 0)) $$0$i$i$i$i15 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$32 >> 2] | 0) + 36 >> 2] & 127]($32) | 0; else $$0$i$i$i$i15 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$34 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i15, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $131 = 0; + $157 = 1; + $81 = 0; + } else { + $131 = $156; + $157 = 0; + $81 = $32; + } + } else { + $131 = 0; + $157 = 1; + $81 = 0; + } + $46 = HEAP32[$2 >> 2] | 0; + do if ($46) { + $49 = HEAP32[$46 + 12 >> 2] | 0; + if (($49 | 0) == (HEAP32[$46 + 16 >> 2] | 0)) $$0$i$i2$i$i21 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$46 >> 2] | 0) + 36 >> 2] & 127]($46) | 0; else $$0$i$i2$i$i21 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$49 >> 2] | 0) | 0; + if (!(__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i21, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0)) if ($157) { + $158 = $46; + break; + } else { + $$2 = $$0; + $140 = $46; + break L8; + } else { + HEAP32[$2 >> 2] = 0; + label = 19; + break; + } + } else label = 19; while (0); + if ((label | 0) == 19) { + label = 0; + if ($157) { + $$2 = $$0; + $140 = 0; + break; + } else $158 = 0; + } + $62 = HEAP8[$19 >> 0] | 0; + $66 = $62 << 24 >> 24 < 0 ? HEAP32[$30 >> 2] | 0 : $62 & 255; + if ((HEAP32[$11 >> 2] | 0) == ($$0 + $66 | 0)) { + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($10, $66 << 1, 0); + if ((HEAP8[$19 >> 0] | 0) < 0) $74 = (HEAP32[$22 >> 2] & 2147483647) + -1 | 0; else $74 = 10; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($10, $74, 0); + $78 = (HEAP8[$19 >> 0] | 0) < 0 ? HEAP32[$10 >> 2] | 0 : $10; + HEAP32[$11 >> 2] = $78 + $66; + $$1 = $78; + } else $$1 = $$0; + $80 = $81 + 12 | 0; + $82 = HEAP32[$80 >> 2] | 0; + $83 = $81 + 16 | 0; + if (($82 | 0) == (HEAP32[$83 >> 2] | 0)) $$0$i$i31 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$81 >> 2] | 0) + 36 >> 2] & 127]($81) | 0; else $$0$i$i31 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$82 >> 2] | 0) | 0; + if (__ZNSt3__29__num_getIwE19__stage2_float_loopEwRbRcPcRS4_wwRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSE_RjPw($$0$i$i31, $15, $16, $$1, $11, HEAP32[$7 >> 2] | 0, HEAP32[$8 >> 2] | 0, $9, $12, $13, $14, $6) | 0) { + $$2 = $$1; + $140 = $158; + break; + } + $96 = HEAP32[$80 >> 2] | 0; + if (($96 | 0) == (HEAP32[$83 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$81 >> 2] | 0) + 40 >> 2] & 127]($81) | 0; else { + HEAP32[$80 >> 2] = $96 + 4; + __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$96 >> 2] | 0) | 0; + } + $$0 = $$1; + $156 = $131; + $32 = $81; + } + $105 = HEAP8[$9 + 11 >> 0] | 0; + if (!((HEAP8[$15 >> 0] | 0) == 0 ? 1 : (($105 << 24 >> 24 < 0 ? HEAP32[$9 + 4 >> 2] | 0 : $105 & 255) | 0) == 0) ? ($114 = HEAP32[$13 >> 2] | 0, ($114 - $12 | 0) < 160) : 0) { + $119 = HEAP32[$14 >> 2] | 0; + HEAP32[$13 >> 2] = $114 + 4; + HEAP32[$114 >> 2] = $119; + } + $122 = +__ZNSt3__215__num_get_floatIdEET_PKcS3_Rj($$2, HEAP32[$11 >> 2] | 0, $4); + HEAPF64[$5 >> 3] = $122; + __ZNSt3__216__check_groupingERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjS8_Rj($9, $12, HEAP32[$13 >> 2] | 0, $4); + if ($81) { + $126 = HEAP32[$81 + 12 >> 2] | 0; + if (($126 | 0) == (HEAP32[$81 + 16 >> 2] | 0)) $$0$i$i$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$131 >> 2] | 0) + 36 >> 2] & 127]($81) | 0; else $$0$i$i$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$126 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $159 = 1; + } else $159 = 0; + } else $159 = 1; + do if ($140) { + $142 = HEAP32[$140 + 12 >> 2] | 0; + if (($142 | 0) == (HEAP32[$140 + 16 >> 2] | 0)) $$0$i$i2$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$140 >> 2] | 0) + 36 >> 2] & 127]($140) | 0; else $$0$i$i2$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$142 >> 2] | 0) | 0; + if (!(__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0)) if ($159) break; else { + label = 50; + break; + } else { + HEAP32[$2 >> 2] = 0; + label = 48; + break; + } + } else label = 48; while (0); + if ((label | 0) == 48 ? $159 : 0) label = 50; + if ((label | 0) == 50) HEAP32[$4 >> 2] = HEAP32[$4 >> 2] | 2; + $$sroa$0$0$copyload = HEAP32[$1 >> 2] | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($10); + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($9); + STACKTOP = sp; + return $$sroa$0$0$copyload | 0; +} + +function __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE23__do_get_floating_pointIfEES4_S4_S4_RNS_8ios_baseERjRT_($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$i$i = 0, $$0$i$i$i$i = 0, $$0$i$i$i$i15 = 0, $$0$i$i2$i$i = 0, $$0$i$i2$i$i21 = 0, $$0$i$i31 = 0, $$1 = 0, $$2 = 0, $$pre = 0, $$sroa$0$0$copyload = 0, $10 = 0, $106 = 0, $11 = 0, $115 = 0, $12 = 0, $120 = 0, $123 = 0.0, $127 = 0, $13 = 0, $132 = 0, $14 = 0, $141 = 0, $143 = 0, $15 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $19 = 0, $22 = 0, $25 = 0, $29 = 0, $30 = 0, $32 = 0, $34 = 0, $46 = 0, $49 = 0, $6 = 0, $62 = 0, $66 = 0, $7 = 0, $74 = 0, $78 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $9 = 0, $97 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 240 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(240); + $6 = sp + 160 | 0; + $7 = sp + 231 | 0; + $8 = sp + 230 | 0; + $9 = sp + 216 | 0; + $10 = sp + 204 | 0; + $11 = sp + 200 | 0; + $12 = sp; + $13 = sp + 196 | 0; + $14 = sp + 192 | 0; + $15 = sp + 229 | 0; + $16 = sp + 228 | 0; + __ZNSt3__29__num_getIcE19__stage2_float_prepERNS_8ios_baseEPcRcS5_($9, $3, $6, $7, $8); + HEAP32[$10 >> 2] = 0; + HEAP32[$10 + 4 >> 2] = 0; + HEAP32[$10 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$10 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + $19 = $10 + 11 | 0; + $22 = $10 + 8 | 0; + if ((HEAP8[$19 >> 0] | 0) < 0) $25 = (HEAP32[$22 >> 2] & 2147483647) + -1 | 0; else $25 = 10; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($10, $25, 0); + $29 = (HEAP8[$19 >> 0] | 0) < 0 ? HEAP32[$10 >> 2] | 0 : $10; + HEAP32[$11 >> 2] = $29; + HEAP32[$13 >> 2] = $12; + HEAP32[$14 >> 2] = 0; + HEAP8[$15 >> 0] = 1; + HEAP8[$16 >> 0] = 69; + $30 = $10 + 4 | 0; + $$pre = HEAP32[$1 >> 2] | 0; + $$0 = $29; + $157 = $$pre; + $32 = $$pre; + L8 : while (1) { + if ($32) { + $34 = HEAP32[$32 + 12 >> 2] | 0; + if (($34 | 0) == (HEAP32[$32 + 16 >> 2] | 0)) $$0$i$i$i$i15 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$32 >> 2] | 0) + 36 >> 2] & 127]($32) | 0; else $$0$i$i$i$i15 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$34 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i15, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $132 = 0; + $158 = 1; + $81 = 0; + } else { + $132 = $157; + $158 = 0; + $81 = $32; + } + } else { + $132 = 0; + $158 = 1; + $81 = 0; + } + $46 = HEAP32[$2 >> 2] | 0; + do if ($46) { + $49 = HEAP32[$46 + 12 >> 2] | 0; + if (($49 | 0) == (HEAP32[$46 + 16 >> 2] | 0)) $$0$i$i2$i$i21 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$46 >> 2] | 0) + 36 >> 2] & 127]($46) | 0; else $$0$i$i2$i$i21 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$49 >> 0] | 0) | 0; + if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i21, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) if ($158) { + $159 = $46; + break; + } else { + $$2 = $$0; + $141 = $46; + break L8; + } else { + HEAP32[$2 >> 2] = 0; + label = 19; + break; + } + } else label = 19; while (0); + if ((label | 0) == 19) { + label = 0; + if ($158) { + $$2 = $$0; + $141 = 0; + break; + } else $159 = 0; + } + $62 = HEAP8[$19 >> 0] | 0; + $66 = $62 << 24 >> 24 < 0 ? HEAP32[$30 >> 2] | 0 : $62 & 255; + if ((HEAP32[$11 >> 2] | 0) == ($$0 + $66 | 0)) { + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($10, $66 << 1, 0); + if ((HEAP8[$19 >> 0] | 0) < 0) $74 = (HEAP32[$22 >> 2] & 2147483647) + -1 | 0; else $74 = 10; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($10, $74, 0); + $78 = (HEAP8[$19 >> 0] | 0) < 0 ? HEAP32[$10 >> 2] | 0 : $10; + HEAP32[$11 >> 2] = $78 + $66; + $$1 = $78; + } else $$1 = $$0; + $80 = $81 + 12 | 0; + $82 = HEAP32[$80 >> 2] | 0; + $83 = $81 + 16 | 0; + if (($82 | 0) == (HEAP32[$83 >> 2] | 0)) $$0$i$i31 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$81 >> 2] | 0) + 36 >> 2] & 127]($81) | 0; else $$0$i$i31 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$82 >> 0] | 0) | 0; + if (__ZNSt3__29__num_getIcE19__stage2_float_loopEcRbRcPcRS4_ccRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSE_RjS4_($$0$i$i31 & 255, $15, $16, $$1, $11, HEAP8[$7 >> 0] | 0, HEAP8[$8 >> 0] | 0, $9, $12, $13, $14, $6) | 0) { + $$2 = $$1; + $141 = $159; + break; + } + $97 = HEAP32[$80 >> 2] | 0; + if (($97 | 0) == (HEAP32[$83 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$81 >> 2] | 0) + 40 >> 2] & 127]($81) | 0; else { + HEAP32[$80 >> 2] = $97 + 1; + __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$97 >> 0] | 0) | 0; + } + $$0 = $$1; + $157 = $132; + $32 = $81; + } + $106 = HEAP8[$9 + 11 >> 0] | 0; + if (!((HEAP8[$15 >> 0] | 0) == 0 ? 1 : (($106 << 24 >> 24 < 0 ? HEAP32[$9 + 4 >> 2] | 0 : $106 & 255) | 0) == 0) ? ($115 = HEAP32[$13 >> 2] | 0, ($115 - $12 | 0) < 160) : 0) { + $120 = HEAP32[$14 >> 2] | 0; + HEAP32[$13 >> 2] = $115 + 4; + HEAP32[$115 >> 2] = $120; + } + $123 = +__ZNSt3__215__num_get_floatIfEET_PKcS3_Rj($$2, HEAP32[$11 >> 2] | 0, $4); + HEAPF32[$5 >> 2] = $123; + __ZNSt3__216__check_groupingERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjS8_Rj($9, $12, HEAP32[$13 >> 2] | 0, $4); + if ($81) { + $127 = HEAP32[$81 + 12 >> 2] | 0; + if (($127 | 0) == (HEAP32[$81 + 16 >> 2] | 0)) $$0$i$i$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$132 >> 2] | 0) + 36 >> 2] & 127]($81) | 0; else $$0$i$i$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$127 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $160 = 1; + } else $160 = 0; + } else $160 = 1; + do if ($141) { + $143 = HEAP32[$141 + 12 >> 2] | 0; + if (($143 | 0) == (HEAP32[$141 + 16 >> 2] | 0)) $$0$i$i2$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$141 >> 2] | 0) + 36 >> 2] & 127]($141) | 0; else $$0$i$i2$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$143 >> 0] | 0) | 0; + if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) if ($160) break; else { + label = 50; + break; + } else { + HEAP32[$2 >> 2] = 0; + label = 48; + break; + } + } else label = 48; while (0); + if ((label | 0) == 48 ? $160 : 0) label = 50; + if ((label | 0) == 50) HEAP32[$4 >> 2] = HEAP32[$4 >> 2] | 2; + $$sroa$0$0$copyload = HEAP32[$1 >> 2] | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($10); + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($9); + STACKTOP = sp; + return $$sroa$0$0$copyload | 0; +} + +function __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE23__do_get_floating_pointIeEES4_S4_S4_RNS_8ios_baseERjRT_($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$i$i = 0, $$0$i$i$i$i = 0, $$0$i$i$i$i15 = 0, $$0$i$i2$i$i = 0, $$0$i$i2$i$i21 = 0, $$0$i$i31 = 0, $$1 = 0, $$2 = 0, $$pre = 0, $$sroa$0$0$copyload = 0, $10 = 0, $106 = 0, $11 = 0, $115 = 0, $12 = 0, $120 = 0, $123 = 0.0, $127 = 0, $13 = 0, $132 = 0, $14 = 0, $141 = 0, $143 = 0, $15 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $19 = 0, $22 = 0, $25 = 0, $29 = 0, $30 = 0, $32 = 0, $34 = 0, $46 = 0, $49 = 0, $6 = 0, $62 = 0, $66 = 0, $7 = 0, $74 = 0, $78 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $9 = 0, $97 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 240 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(240); + $6 = sp + 160 | 0; + $7 = sp + 231 | 0; + $8 = sp + 230 | 0; + $9 = sp + 216 | 0; + $10 = sp + 204 | 0; + $11 = sp + 200 | 0; + $12 = sp; + $13 = sp + 196 | 0; + $14 = sp + 192 | 0; + $15 = sp + 229 | 0; + $16 = sp + 228 | 0; + __ZNSt3__29__num_getIcE19__stage2_float_prepERNS_8ios_baseEPcRcS5_($9, $3, $6, $7, $8); + HEAP32[$10 >> 2] = 0; + HEAP32[$10 + 4 >> 2] = 0; + HEAP32[$10 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$10 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + $19 = $10 + 11 | 0; + $22 = $10 + 8 | 0; + if ((HEAP8[$19 >> 0] | 0) < 0) $25 = (HEAP32[$22 >> 2] & 2147483647) + -1 | 0; else $25 = 10; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($10, $25, 0); + $29 = (HEAP8[$19 >> 0] | 0) < 0 ? HEAP32[$10 >> 2] | 0 : $10; + HEAP32[$11 >> 2] = $29; + HEAP32[$13 >> 2] = $12; + HEAP32[$14 >> 2] = 0; + HEAP8[$15 >> 0] = 1; + HEAP8[$16 >> 0] = 69; + $30 = $10 + 4 | 0; + $$pre = HEAP32[$1 >> 2] | 0; + $$0 = $29; + $157 = $$pre; + $32 = $$pre; + L8 : while (1) { + if ($32) { + $34 = HEAP32[$32 + 12 >> 2] | 0; + if (($34 | 0) == (HEAP32[$32 + 16 >> 2] | 0)) $$0$i$i$i$i15 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$32 >> 2] | 0) + 36 >> 2] & 127]($32) | 0; else $$0$i$i$i$i15 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$34 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i15, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $132 = 0; + $158 = 1; + $81 = 0; + } else { + $132 = $157; + $158 = 0; + $81 = $32; + } + } else { + $132 = 0; + $158 = 1; + $81 = 0; + } + $46 = HEAP32[$2 >> 2] | 0; + do if ($46) { + $49 = HEAP32[$46 + 12 >> 2] | 0; + if (($49 | 0) == (HEAP32[$46 + 16 >> 2] | 0)) $$0$i$i2$i$i21 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$46 >> 2] | 0) + 36 >> 2] & 127]($46) | 0; else $$0$i$i2$i$i21 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$49 >> 0] | 0) | 0; + if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i21, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) if ($158) { + $159 = $46; + break; + } else { + $$2 = $$0; + $141 = $46; + break L8; + } else { + HEAP32[$2 >> 2] = 0; + label = 19; + break; + } + } else label = 19; while (0); + if ((label | 0) == 19) { + label = 0; + if ($158) { + $$2 = $$0; + $141 = 0; + break; + } else $159 = 0; + } + $62 = HEAP8[$19 >> 0] | 0; + $66 = $62 << 24 >> 24 < 0 ? HEAP32[$30 >> 2] | 0 : $62 & 255; + if ((HEAP32[$11 >> 2] | 0) == ($$0 + $66 | 0)) { + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($10, $66 << 1, 0); + if ((HEAP8[$19 >> 0] | 0) < 0) $74 = (HEAP32[$22 >> 2] & 2147483647) + -1 | 0; else $74 = 10; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($10, $74, 0); + $78 = (HEAP8[$19 >> 0] | 0) < 0 ? HEAP32[$10 >> 2] | 0 : $10; + HEAP32[$11 >> 2] = $78 + $66; + $$1 = $78; + } else $$1 = $$0; + $80 = $81 + 12 | 0; + $82 = HEAP32[$80 >> 2] | 0; + $83 = $81 + 16 | 0; + if (($82 | 0) == (HEAP32[$83 >> 2] | 0)) $$0$i$i31 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$81 >> 2] | 0) + 36 >> 2] & 127]($81) | 0; else $$0$i$i31 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$82 >> 0] | 0) | 0; + if (__ZNSt3__29__num_getIcE19__stage2_float_loopEcRbRcPcRS4_ccRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSE_RjS4_($$0$i$i31 & 255, $15, $16, $$1, $11, HEAP8[$7 >> 0] | 0, HEAP8[$8 >> 0] | 0, $9, $12, $13, $14, $6) | 0) { + $$2 = $$1; + $141 = $159; + break; + } + $97 = HEAP32[$80 >> 2] | 0; + if (($97 | 0) == (HEAP32[$83 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$81 >> 2] | 0) + 40 >> 2] & 127]($81) | 0; else { + HEAP32[$80 >> 2] = $97 + 1; + __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$97 >> 0] | 0) | 0; + } + $$0 = $$1; + $157 = $132; + $32 = $81; + } + $106 = HEAP8[$9 + 11 >> 0] | 0; + if (!((HEAP8[$15 >> 0] | 0) == 0 ? 1 : (($106 << 24 >> 24 < 0 ? HEAP32[$9 + 4 >> 2] | 0 : $106 & 255) | 0) == 0) ? ($115 = HEAP32[$13 >> 2] | 0, ($115 - $12 | 0) < 160) : 0) { + $120 = HEAP32[$14 >> 2] | 0; + HEAP32[$13 >> 2] = $115 + 4; + HEAP32[$115 >> 2] = $120; + } + $123 = +__ZNSt3__215__num_get_floatIeEET_PKcS3_Rj($$2, HEAP32[$11 >> 2] | 0, $4); + HEAPF64[$5 >> 3] = $123; + __ZNSt3__216__check_groupingERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjS8_Rj($9, $12, HEAP32[$13 >> 2] | 0, $4); + if ($81) { + $127 = HEAP32[$81 + 12 >> 2] | 0; + if (($127 | 0) == (HEAP32[$81 + 16 >> 2] | 0)) $$0$i$i$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$132 >> 2] | 0) + 36 >> 2] & 127]($81) | 0; else $$0$i$i$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$127 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $160 = 1; + } else $160 = 0; + } else $160 = 1; + do if ($141) { + $143 = HEAP32[$141 + 12 >> 2] | 0; + if (($143 | 0) == (HEAP32[$141 + 16 >> 2] | 0)) $$0$i$i2$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$141 >> 2] | 0) + 36 >> 2] & 127]($141) | 0; else $$0$i$i2$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$143 >> 0] | 0) | 0; + if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) if ($160) break; else { + label = 50; + break; + } else { + HEAP32[$2 >> 2] = 0; + label = 48; + break; + } + } else label = 48; while (0); + if ((label | 0) == 48 ? $160 : 0) label = 50; + if ((label | 0) == 50) HEAP32[$4 >> 2] = HEAP32[$4 >> 2] | 2; + $$sroa$0$0$copyload = HEAP32[$1 >> 2] | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($10); + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($9); + STACKTOP = sp; + return $$sroa$0$0$copyload | 0; +} + +function __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE23__do_get_floating_pointIdEES4_S4_S4_RNS_8ios_baseERjRT_($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$i$i = 0, $$0$i$i$i$i = 0, $$0$i$i$i$i15 = 0, $$0$i$i2$i$i = 0, $$0$i$i2$i$i21 = 0, $$0$i$i31 = 0, $$1 = 0, $$2 = 0, $$pre = 0, $$sroa$0$0$copyload = 0, $10 = 0, $106 = 0, $11 = 0, $115 = 0, $12 = 0, $120 = 0, $123 = 0.0, $127 = 0, $13 = 0, $132 = 0, $14 = 0, $141 = 0, $143 = 0, $15 = 0, $157 = 0, $158 = 0, $159 = 0, $16 = 0, $160 = 0, $19 = 0, $22 = 0, $25 = 0, $29 = 0, $30 = 0, $32 = 0, $34 = 0, $46 = 0, $49 = 0, $6 = 0, $62 = 0, $66 = 0, $7 = 0, $74 = 0, $78 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $9 = 0, $97 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 240 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(240); + $6 = sp + 160 | 0; + $7 = sp + 231 | 0; + $8 = sp + 230 | 0; + $9 = sp + 216 | 0; + $10 = sp + 204 | 0; + $11 = sp + 200 | 0; + $12 = sp; + $13 = sp + 196 | 0; + $14 = sp + 192 | 0; + $15 = sp + 229 | 0; + $16 = sp + 228 | 0; + __ZNSt3__29__num_getIcE19__stage2_float_prepERNS_8ios_baseEPcRcS5_($9, $3, $6, $7, $8); + HEAP32[$10 >> 2] = 0; + HEAP32[$10 + 4 >> 2] = 0; + HEAP32[$10 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$10 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + $19 = $10 + 11 | 0; + $22 = $10 + 8 | 0; + if ((HEAP8[$19 >> 0] | 0) < 0) $25 = (HEAP32[$22 >> 2] & 2147483647) + -1 | 0; else $25 = 10; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($10, $25, 0); + $29 = (HEAP8[$19 >> 0] | 0) < 0 ? HEAP32[$10 >> 2] | 0 : $10; + HEAP32[$11 >> 2] = $29; + HEAP32[$13 >> 2] = $12; + HEAP32[$14 >> 2] = 0; + HEAP8[$15 >> 0] = 1; + HEAP8[$16 >> 0] = 69; + $30 = $10 + 4 | 0; + $$pre = HEAP32[$1 >> 2] | 0; + $$0 = $29; + $157 = $$pre; + $32 = $$pre; + L8 : while (1) { + if ($32) { + $34 = HEAP32[$32 + 12 >> 2] | 0; + if (($34 | 0) == (HEAP32[$32 + 16 >> 2] | 0)) $$0$i$i$i$i15 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$32 >> 2] | 0) + 36 >> 2] & 127]($32) | 0; else $$0$i$i$i$i15 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$34 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i15, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $132 = 0; + $158 = 1; + $81 = 0; + } else { + $132 = $157; + $158 = 0; + $81 = $32; + } + } else { + $132 = 0; + $158 = 1; + $81 = 0; + } + $46 = HEAP32[$2 >> 2] | 0; + do if ($46) { + $49 = HEAP32[$46 + 12 >> 2] | 0; + if (($49 | 0) == (HEAP32[$46 + 16 >> 2] | 0)) $$0$i$i2$i$i21 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$46 >> 2] | 0) + 36 >> 2] & 127]($46) | 0; else $$0$i$i2$i$i21 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$49 >> 0] | 0) | 0; + if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i21, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) if ($158) { + $159 = $46; + break; + } else { + $$2 = $$0; + $141 = $46; + break L8; + } else { + HEAP32[$2 >> 2] = 0; + label = 19; + break; + } + } else label = 19; while (0); + if ((label | 0) == 19) { + label = 0; + if ($158) { + $$2 = $$0; + $141 = 0; + break; + } else $159 = 0; + } + $62 = HEAP8[$19 >> 0] | 0; + $66 = $62 << 24 >> 24 < 0 ? HEAP32[$30 >> 2] | 0 : $62 & 255; + if ((HEAP32[$11 >> 2] | 0) == ($$0 + $66 | 0)) { + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($10, $66 << 1, 0); + if ((HEAP8[$19 >> 0] | 0) < 0) $74 = (HEAP32[$22 >> 2] & 2147483647) + -1 | 0; else $74 = 10; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($10, $74, 0); + $78 = (HEAP8[$19 >> 0] | 0) < 0 ? HEAP32[$10 >> 2] | 0 : $10; + HEAP32[$11 >> 2] = $78 + $66; + $$1 = $78; + } else $$1 = $$0; + $80 = $81 + 12 | 0; + $82 = HEAP32[$80 >> 2] | 0; + $83 = $81 + 16 | 0; + if (($82 | 0) == (HEAP32[$83 >> 2] | 0)) $$0$i$i31 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$81 >> 2] | 0) + 36 >> 2] & 127]($81) | 0; else $$0$i$i31 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$82 >> 0] | 0) | 0; + if (__ZNSt3__29__num_getIcE19__stage2_float_loopEcRbRcPcRS4_ccRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSE_RjS4_($$0$i$i31 & 255, $15, $16, $$1, $11, HEAP8[$7 >> 0] | 0, HEAP8[$8 >> 0] | 0, $9, $12, $13, $14, $6) | 0) { + $$2 = $$1; + $141 = $159; + break; + } + $97 = HEAP32[$80 >> 2] | 0; + if (($97 | 0) == (HEAP32[$83 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$81 >> 2] | 0) + 40 >> 2] & 127]($81) | 0; else { + HEAP32[$80 >> 2] = $97 + 1; + __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$97 >> 0] | 0) | 0; + } + $$0 = $$1; + $157 = $132; + $32 = $81; + } + $106 = HEAP8[$9 + 11 >> 0] | 0; + if (!((HEAP8[$15 >> 0] | 0) == 0 ? 1 : (($106 << 24 >> 24 < 0 ? HEAP32[$9 + 4 >> 2] | 0 : $106 & 255) | 0) == 0) ? ($115 = HEAP32[$13 >> 2] | 0, ($115 - $12 | 0) < 160) : 0) { + $120 = HEAP32[$14 >> 2] | 0; + HEAP32[$13 >> 2] = $115 + 4; + HEAP32[$115 >> 2] = $120; + } + $123 = +__ZNSt3__215__num_get_floatIdEET_PKcS3_Rj($$2, HEAP32[$11 >> 2] | 0, $4); + HEAPF64[$5 >> 3] = $123; + __ZNSt3__216__check_groupingERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjS8_Rj($9, $12, HEAP32[$13 >> 2] | 0, $4); + if ($81) { + $127 = HEAP32[$81 + 12 >> 2] | 0; + if (($127 | 0) == (HEAP32[$81 + 16 >> 2] | 0)) $$0$i$i$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$132 >> 2] | 0) + 36 >> 2] & 127]($81) | 0; else $$0$i$i$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$127 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $160 = 1; + } else $160 = 0; + } else $160 = 1; + do if ($141) { + $143 = HEAP32[$141 + 12 >> 2] | 0; + if (($143 | 0) == (HEAP32[$141 + 16 >> 2] | 0)) $$0$i$i2$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$141 >> 2] | 0) + 36 >> 2] & 127]($141) | 0; else $$0$i$i2$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$143 >> 0] | 0) | 0; + if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) if ($160) break; else { + label = 50; + break; + } else { + HEAP32[$2 >> 2] = 0; + label = 48; + break; + } + } else label = 48; while (0); + if ((label | 0) == 48 ? $160 : 0) label = 50; + if ((label | 0) == 50) HEAP32[$4 >> 2] = HEAP32[$4 >> 2] | 2; + $$sroa$0$0$copyload = HEAP32[$1 >> 2] | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($10); + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($9); + STACKTOP = sp; + return $$sroa$0$0$copyload | 0; +} + +function __ZN6vision14BinarykMedoidsILi96EE6assignEPKhiPKii($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0 = 0, $$021 = 0, $$1 = 0, $103 = 0, $114 = 0, $119 = 0, $123 = 0, $20 = 0, $25 = 0, $29 = 0, $36 = 0, $41 = 0, $45 = 0, $5 = 0, $52 = 0, $57 = 0, $6 = 0, $61 = 0, $68 = 0, $7 = 0, $73 = 0, $77 = 0, $78 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $86 = 0, $9 = 0, $95 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $5 = sp; + $6 = $0 + 4 | 0; + $7 = HEAP32[$6 >> 2] | 0; + $8 = $0 + 12 | 0; + $9 = $0 + 16 | 0; + if (($7 | 0) != ((HEAP32[$9 >> 2] | 0) - (HEAP32[$8 >> 2] | 0) >> 2 | 0)) { + $20 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 33662) | 0, 33707) | 0, 39072) | 0, 154) | 0, 39079) | 0, 33779) | 0; + __ZNKSt3__28ios_base6getlocEv($5, $20 + (HEAP32[(HEAP32[$20 >> 2] | 0) + -12 >> 2] | 0) | 0); + $25 = __ZNKSt3__26locale9use_facetERNS0_2idE($5, 66512) | 0; + $29 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$25 >> 2] | 0) + 28 >> 2] & 127]($25, 10) | 0; + __ZNSt3__26localeD2Ev($5); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($20, $29) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($20) | 0; + _abort(); + } + if (($2 | 0) <= 0) { + $36 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 33824) | 0, 33707) | 0, 39072) | 0, 155) | 0, 39079) | 0, 33864) | 0; + __ZNKSt3__28ios_base6getlocEv($5, $36 + (HEAP32[(HEAP32[$36 >> 2] | 0) + -12 >> 2] | 0) | 0); + $41 = __ZNKSt3__26locale9use_facetERNS0_2idE($5, 66512) | 0; + $45 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$41 >> 2] | 0) + 28 >> 2] & 127]($41, 10) | 0; + __ZNSt3__26localeD2Ev($5); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($36, $45) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($36) | 0; + _abort(); + } + if (($4 | 0) > ($2 | 0)) { + $52 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 33900) | 0, 33707) | 0, 39072) | 0, 156) | 0, 39079) | 0, 33951) | 0; + __ZNKSt3__28ios_base6getlocEv($5, $52 + (HEAP32[(HEAP32[$52 >> 2] | 0) + -12 >> 2] | 0) | 0); + $57 = __ZNKSt3__26locale9use_facetERNS0_2idE($5, 66512) | 0; + $61 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$57 >> 2] | 0) + 28 >> 2] & 127]($57, 10) | 0; + __ZNSt3__26localeD2Ev($5); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($52, $61) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($52) | 0; + _abort(); + } + if (($7 | 0) > ($4 | 0)) { + $68 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 33978) | 0, 33707) | 0, 39072) | 0, 157) | 0, 39079) | 0, 34019) | 0; + __ZNKSt3__28ios_base6getlocEv($5, $68 + (HEAP32[(HEAP32[$68 >> 2] | 0) + -12 >> 2] | 0) | 0); + $73 = __ZNKSt3__26locale9use_facetERNS0_2idE($5, 66512) | 0; + $77 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$73 >> 2] | 0) + 28 >> 2] & 127]($73, 10) | 0; + __ZNSt3__26localeD2Ev($5); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($68, $77) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($68) | 0; + _abort(); + } + $78 = $0 + 24 | 0; + HEAP32[$5 >> 2] = -1; + __ZNSt3__26vectorIiNS_9allocatorIiEEE6resizeEmRKi($78, $4, $5); + $79 = $0 + 36 | 0; + HEAP32[$5 >> 2] = -1; + __ZNSt3__26vectorIiNS_9allocatorIiEEE6resizeEmRKi($79, $4, $5); + $80 = $0 + 48 | 0; + __ZNSt3__26vectorIiNS_9allocatorIiEEE6resizeEm($80, $4); + $81 = HEAP32[$80 >> 2] | 0; + $82 = $0 + 52 | 0; + __ZN6vision16SequentialVectorIiEEvPT_iS1_($81, (HEAP32[$82 >> 2] | 0) - $81 >> 2, 0); + $86 = $0 + 8 | 0; + $$0 = -1; + $$021 = 0; + while (1) { + if (($$021 | 0) >= (HEAP32[$86 >> 2] | 0)) break; + $95 = HEAP32[$80 >> 2] | 0; + __ZN6vision12ArrayShuffleIiEEvPT_iiRi($95, (HEAP32[$82 >> 2] | 0) - $95 >> 2, HEAP32[$6 >> 2] | 0, HEAP32[$0 >> 2] | 0); + $103 = __ZN6vision14BinarykMedoidsILi96EE6assignERNSt3__26vectorIiNS2_9allocatorIiEEEEPKhiPKiiSB_i($0, $79, $1, $2, $3, $4, HEAP32[$80 >> 2] | 0, HEAP32[$6 >> 2] | 0) | 0; + if ($103 >>> 0 < $$0 >>> 0) { + __ZNSt3__26vectorIiNS_9allocatorIiEEE4swapERS3_($78, $79); + __ZN6vision10CopyVectorIiEEvPT_PKS1_m(HEAP32[$8 >> 2] | 0, HEAP32[$80 >> 2] | 0, HEAP32[$6 >> 2] | 0); + $$1 = $103; + } else $$1 = $$0; + $$0 = $$1; + $$021 = $$021 + 1 | 0; + } + if ((HEAP32[$6 >> 2] | 0) == ((HEAP32[$9 >> 2] | 0) - (HEAP32[$8 >> 2] | 0) >> 2 | 0)) { + STACKTOP = sp; + return; + } else { + $114 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 33662) | 0, 33707) | 0, 39072) | 0, 187) | 0, 39079) | 0, 33779) | 0; + __ZNKSt3__28ios_base6getlocEv($5, $114 + (HEAP32[(HEAP32[$114 >> 2] | 0) + -12 >> 2] | 0) | 0); + $119 = __ZNKSt3__26locale9use_facetERNS0_2idE($5, 66512) | 0; + $123 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$119 >> 2] | 0) + 28 >> 2] & 127]($119, 10) | 0; + __ZNSt3__26localeD2Ev($5); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($114, $123) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($114) | 0; + _abort(); + } +} + +function _icpPointRobust($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0 = 0, $$0205 = 0, $$0207 = 0, $$0209 = 0.0, $$0211 = 0.0, $$0212 = 0, $$0213 = 0.0, $$1 = 0, $$1206 = 0, $$1208 = 0, $$2 = 0, $$3 = 0, $$pn = 0.0, $$pre = 0, $100 = 0, $106 = 0.0, $107 = 0.0, $111 = 0, $115 = 0, $119 = 0, $123 = 0, $127 = 0, $131 = 0, $135 = 0, $139 = 0, $143 = 0, $147 = 0, $151 = 0, $154 = 0, $16 = 0, $19 = 0, $22 = 0, $24 = 0, $25 = 0, $27 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $40 = 0, $41 = 0, $47 = 0, $5 = 0, $51 = 0.0, $55 = 0.0, $56 = 0, $6 = 0, $62 = 0.0, $67 = 0.0, $69 = 0, $7 = 0, $70 = 0.0, $73 = 0.0, $76 = 0.0, $8 = 0, $83 = 0.0, $9 = 0, $95 = 0, $97 = 0.0, $99 = 0, $spec$store$select = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 192 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(192); + $vararg_buffer5 = sp + 184 | 0; + $vararg_buffer3 = sp + 176 | 0; + $vararg_buffer1 = sp + 168 | 0; + $vararg_buffer = sp + 160 | 0; + $5 = sp + 144 | 0; + $6 = sp + 48 | 0; + $7 = sp; + $8 = $1 + 8 | 0; + $9 = HEAP32[$8 >> 2] | 0; + do if (($9 | 0) >= 4) { + $16 = ~~(+HEAPF64[$0 + 128 >> 3] * +($9 | 0)) + -1 | 0; + $spec$store$select = ($16 | 0) > 3 ? $16 : 3; + $19 = _malloc($9 * 96 | 0) | 0; + if (!$19) { + _arLog(0, 3, 45947, $vararg_buffer); + $$0212 = -1; + break; + } + $22 = _malloc($9 << 4) | 0; + if (!$22) { + _arLog(0, 3, 45947, $vararg_buffer1); + _free($19); + $$0212 = -1; + break; + } + $24 = $9 << 3; + $25 = _malloc($24) | 0; + if (!$25) { + _arLog(0, 3, 45947, $vararg_buffer3); + _free($19); + _free($22); + $$0212 = -1; + break; + } + $27 = _malloc($24) | 0; + if (!$27) { + _arLog(0, 3, 45947, $vararg_buffer5); + _free($19); + _free($22); + _free($25); + $$0212 = -1; + break; + } + $$0205 = 0; + while (1) { + if (($$0205 | 0) == 3) break; + $$0207 = 0; + while (1) { + if (($$0207 | 0) == 4) break; + HEAPF64[$3 + ($$0205 << 5) + ($$0207 << 3) >> 3] = +HEAPF64[$2 + ($$0205 << 5) + ($$0207 << 3) >> 3]; + $$0207 = $$0207 + 1 | 0; + } + $$0205 = $$0205 + 1 | 0; + } + $34 = $1 + 4 | 0; + $35 = $5 + 8 | 0; + $36 = $27 + ($spec$store$select << 3) | 0; + $37 = $0 + 104 | 0; + $38 = $0 + 96 | 0; + $39 = $0 + 120 | 0; + $40 = $0 + 112 | 0; + $$0211 = 0.0; + $$1208 = 0; + L23 : while (1) { + _arUtilMatMul($0, $3, $6) | 0; + $$1206 = 0; + while (1) { + $41 = HEAP32[$8 >> 2] | 0; + if (($$1206 | 0) >= ($41 | 0)) break; + if ((_icpGetU_from_X_by_MatX2U($5, $6, (HEAP32[$34 >> 2] | 0) + ($$1206 * 24 | 0) | 0) | 0) < 0) { + label = 20; + break L23; + } + $47 = HEAP32[$1 >> 2] | 0; + $51 = +HEAPF64[$47 + ($$1206 << 4) >> 3] - +HEAPF64[$5 >> 3]; + $55 = +HEAPF64[$47 + ($$1206 << 4) + 8 >> 3] - +HEAPF64[$35 >> 3]; + $56 = $$1206 << 1; + HEAPF64[$22 + ($56 << 3) >> 3] = $51; + HEAPF64[$22 + (($56 | 1) << 3) >> 3] = $55; + $62 = $51 * $51 + $55 * $55; + HEAPF64[$27 + ($$1206 << 3) >> 3] = $62; + HEAPF64[$25 + ($$1206 << 3) >> 3] = $62; + $$1206 = $$1206 + 1 | 0; + } + _qsort($27, $41, 8, 42); + $67 = +HEAPF64[$36 >> 3] * 4.0; + $$0213 = $67 < 16.0 ? 16.0 : $67; + $69 = HEAP32[$8 >> 2] | 0; + $70 = $$0213 / 6.0; + $$0209 = 0.0; + $$2 = 0; + while (1) { + if (($$2 | 0) >= ($69 | 0)) break; + $73 = +HEAPF64[$27 + ($$2 << 3) >> 3]; + if ($73 > $$0213) $$pn = $70; else { + $76 = 1.0 - $73 / $$0213; + $$pn = $70 * (1.0 - $76 * ($76 * $76)); + } + $$0209 = $$0209 + $$pn; + $$2 = $$2 + 1 | 0; + } + $83 = $$0209 / +($69 | 0); + if ($83 < +HEAPF64[$37 >> 3]) { + label = 44; + break; + } + if (($$1208 | 0 ? $83 < +HEAPF64[$39 >> 3] : 0) ? $83 / $$0211 > +HEAPF64[$40 >> 3] : 0) { + label = 44; + break; + } + if (($$1208 | 0) == (HEAP32[$38 >> 2] | 0)) { + label = 44; + break; + } + $$0 = 0; + $$3 = 0; + $95 = $69; + while (1) { + if (($$3 | 0) >= ($95 | 0)) break; + $97 = +HEAPF64[$25 + ($$3 << 3) >> 3]; + if (!($97 <= $$0213)) { + $$1 = $$0; + $$pre = $95; + } else { + $99 = $$0 * 6 | 0; + $100 = $19 + ($99 << 3) | 0; + if ((_icpGetJ_U_S($100, $0, $3, (HEAP32[$34 >> 2] | 0) + ($$3 * 24 | 0) | 0) | 0) < 0) { + label = 36; + break L23; + } + $106 = 1.0 - $97 / $$0213; + $107 = $106 * $106; + HEAPF64[$100 >> 3] = $107 * +HEAPF64[$100 >> 3]; + $111 = $19 + (($99 | 1) << 3) | 0; + HEAPF64[$111 >> 3] = $107 * +HEAPF64[$111 >> 3]; + $115 = $19 + ($99 + 2 << 3) | 0; + HEAPF64[$115 >> 3] = $107 * +HEAPF64[$115 >> 3]; + $119 = $19 + ($99 + 3 << 3) | 0; + HEAPF64[$119 >> 3] = $107 * +HEAPF64[$119 >> 3]; + $123 = $19 + ($99 + 4 << 3) | 0; + HEAPF64[$123 >> 3] = $107 * +HEAPF64[$123 >> 3]; + $127 = $19 + ($99 + 5 << 3) | 0; + HEAPF64[$127 >> 3] = $107 * +HEAPF64[$127 >> 3]; + $131 = $19 + ($99 + 6 << 3) | 0; + HEAPF64[$131 >> 3] = $107 * +HEAPF64[$131 >> 3]; + $135 = $19 + ($99 + 7 << 3) | 0; + HEAPF64[$135 >> 3] = $107 * +HEAPF64[$135 >> 3]; + $139 = $19 + ($99 + 8 << 3) | 0; + HEAPF64[$139 >> 3] = $107 * +HEAPF64[$139 >> 3]; + $143 = $19 + ($99 + 9 << 3) | 0; + HEAPF64[$143 >> 3] = $107 * +HEAPF64[$143 >> 3]; + $147 = $19 + ($99 + 10 << 3) | 0; + HEAPF64[$147 >> 3] = $107 * +HEAPF64[$147 >> 3]; + $151 = $19 + ($99 + 11 << 3) | 0; + HEAPF64[$151 >> 3] = $107 * +HEAPF64[$151 >> 3]; + $154 = $$3 << 1; + HEAPF64[$22 + ($$0 << 3) >> 3] = $107 * +HEAPF64[$22 + ($154 << 3) >> 3]; + HEAPF64[$22 + ($$0 + 1 << 3) >> 3] = $107 * +HEAPF64[$22 + (($154 | 1) << 3) >> 3]; + $$1 = $$0 + 2 | 0; + $$pre = HEAP32[$8 >> 2] | 0; + } + $$0 = $$1; + $$3 = $$3 + 1 | 0; + $95 = $$pre; + } + if (($$0 | 0) < 6) { + label = 40; + break; + } + if ((_icpGetDeltaS($7, $22, $19, $$0) | 0) < 0) { + label = 42; + break; + } + _icpUpdateMat($3, $7) | 0; + $$0211 = $83; + $$1208 = $$1208 + 1 | 0; + } + if ((label | 0) == 20) { + _icpGetXw2XcCleanup_221($19, $22, $25, $27); + $$0212 = -1; + break; + } else if ((label | 0) == 36) { + _icpGetXw2XcCleanup_221($19, $22, $25, $27); + $$0212 = -1; + break; + } else if ((label | 0) == 40) { + _icpGetXw2XcCleanup_221($19, $22, $25, $27); + $$0212 = -1; + break; + } else if ((label | 0) == 42) { + _icpGetXw2XcCleanup_221($19, $22, $25, $27); + $$0212 = -1; + break; + } else if ((label | 0) == 44) { + HEAPF64[$4 >> 3] = $83; + _free($19); + _free($22); + _free($25); + _free($27); + $$0212 = 0; + break; + } + } else $$0212 = -1; while (0); + STACKTOP = sp; + return $$0212 | 0; +} + +function __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRPv($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$i$i = 0, $$0$i$i$i$i = 0, $$0$i$i$i$i22 = 0, $$0$i$i19 = 0, $$0$i$i2$i$i = 0, $$0$i$i2$i$i28 = 0, $$0$i$i38 = 0, $$1 = 0, $$2 = 0, $$pre = 0, $$sroa$0$0$copyload = 0, $10 = 0, $11 = 0, $110 = 0, $111 = 0, $116 = 0, $12 = 0, $121 = 0, $130 = 0, $132 = 0, $146 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $21 = 0, $24 = 0, $27 = 0, $31 = 0, $32 = 0, $34 = 0, $36 = 0, $48 = 0, $51 = 0, $6 = 0, $64 = 0, $68 = 0, $7 = 0, $76 = 0, $8 = 0, $80 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $96 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 304 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(304); + $vararg_buffer = sp + 264 | 0; + $6 = sp + 160 | 0; + $7 = sp + 292 | 0; + $8 = sp + 280 | 0; + $9 = sp + 276 | 0; + $10 = sp; + $11 = sp + 272 | 0; + $12 = sp + 268 | 0; + HEAP32[$7 >> 2] = 0; + HEAP32[$7 + 4 >> 2] = 0; + HEAP32[$7 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$7 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + __ZNKSt3__28ios_base6getlocEv($8, $3); + $15 = __ZNKSt3__26locale9use_facetERNS0_2idE($8, 66544) | 0; + FUNCTION_TABLE_iiiii[HEAP32[(HEAP32[$15 >> 2] | 0) + 48 >> 2] & 15]($15, 12928, 12954, $6) | 0; + __ZNSt3__26localeD2Ev($8); + HEAP32[$8 >> 2] = 0; + HEAP32[$8 + 4 >> 2] = 0; + HEAP32[$8 + 8 >> 2] = 0; + $$0$i$i19 = 0; + while (1) { + if (($$0$i$i19 | 0) == 3) break; + HEAP32[$8 + ($$0$i$i19 << 2) >> 2] = 0; + $$0$i$i19 = $$0$i$i19 + 1 | 0; + } + $21 = $8 + 11 | 0; + $24 = $8 + 8 | 0; + if ((HEAP8[$21 >> 0] | 0) < 0) $27 = (HEAP32[$24 >> 2] & 2147483647) + -1 | 0; else $27 = 10; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($8, $27, 0); + $31 = (HEAP8[$21 >> 0] | 0) < 0 ? HEAP32[$8 >> 2] | 0 : $8; + HEAP32[$9 >> 2] = $31; + HEAP32[$11 >> 2] = $10; + HEAP32[$12 >> 2] = 0; + $32 = $8 + 4 | 0; + $$pre = HEAP32[$1 >> 2] | 0; + $$0 = $31; + $146 = $$pre; + $34 = $$pre; + L12 : while (1) { + if ($34) { + $36 = HEAP32[$34 + 12 >> 2] | 0; + if (($36 | 0) == (HEAP32[$34 + 16 >> 2] | 0)) $$0$i$i$i$i22 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$34 >> 2] | 0) + 36 >> 2] & 127]($34) | 0; else $$0$i$i$i$i22 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$36 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i22, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $121 = 0; + $147 = 1; + $83 = 0; + } else { + $121 = $146; + $147 = 0; + $83 = $34; + } + } else { + $121 = 0; + $147 = 1; + $83 = 0; + } + $48 = HEAP32[$2 >> 2] | 0; + do if ($48) { + $51 = HEAP32[$48 + 12 >> 2] | 0; + if (($51 | 0) == (HEAP32[$48 + 16 >> 2] | 0)) $$0$i$i2$i$i28 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$48 >> 2] | 0) + 36 >> 2] & 127]($48) | 0; else $$0$i$i2$i$i28 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$51 >> 2] | 0) | 0; + if (!(__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i28, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0)) if ($147) { + $148 = $48; + break; + } else { + $$2 = $$0; + $130 = $48; + break L12; + } else { + HEAP32[$2 >> 2] = 0; + label = 22; + break; + } + } else label = 22; while (0); + if ((label | 0) == 22) { + label = 0; + if ($147) { + $$2 = $$0; + $130 = 0; + break; + } else $148 = 0; + } + $64 = HEAP8[$21 >> 0] | 0; + $68 = $64 << 24 >> 24 < 0 ? HEAP32[$32 >> 2] | 0 : $64 & 255; + if ((HEAP32[$9 >> 2] | 0) == ($$0 + $68 | 0)) { + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($8, $68 << 1, 0); + if ((HEAP8[$21 >> 0] | 0) < 0) $76 = (HEAP32[$24 >> 2] & 2147483647) + -1 | 0; else $76 = 10; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($8, $76, 0); + $80 = (HEAP8[$21 >> 0] | 0) < 0 ? HEAP32[$8 >> 2] | 0 : $8; + HEAP32[$9 >> 2] = $80 + $68; + $$1 = $80; + } else $$1 = $$0; + $82 = $83 + 12 | 0; + $84 = HEAP32[$82 >> 2] | 0; + $85 = $83 + 16 | 0; + if (($84 | 0) == (HEAP32[$85 >> 2] | 0)) $$0$i$i38 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$83 >> 2] | 0) + 36 >> 2] & 127]($83) | 0; else $$0$i$i38 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$84 >> 2] | 0) | 0; + if (__ZNSt3__29__num_getIwE17__stage2_int_loopEwiPcRS2_RjwRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSD_PKw($$0$i$i38, 16, $$1, $9, $12, 0, $7, $10, $11, $6) | 0) { + $$2 = $$1; + $130 = $148; + break; + } + $96 = HEAP32[$82 >> 2] | 0; + if (($96 | 0) == (HEAP32[$85 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$83 >> 2] | 0) + 40 >> 2] & 127]($83) | 0; else { + HEAP32[$82 >> 2] = $96 + 4; + __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$96 >> 2] | 0) | 0; + } + $$0 = $$1; + $146 = $121; + $34 = $83; + } + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($8, (HEAP32[$9 >> 2] | 0) - $$2 | 0, 0); + $110 = (HEAP8[$21 >> 0] | 0) < 0 ? HEAP32[$8 >> 2] | 0 : $8; + $111 = __ZNSt3__26__clocEv() | 0; + HEAP32[$vararg_buffer >> 2] = $5; + if ((__ZNSt3__217__libcpp_sscanf_lEPKcP15__locale_structS1_z($110, $111, 58968, $vararg_buffer) | 0) != 1) HEAP32[$4 >> 2] = 4; + if ($83) { + $116 = HEAP32[$83 + 12 >> 2] | 0; + if (($116 | 0) == (HEAP32[$83 + 16 >> 2] | 0)) $$0$i$i$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$121 >> 2] | 0) + 36 >> 2] & 127]($83) | 0; else $$0$i$i$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$116 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $149 = 1; + } else $149 = 0; + } else $149 = 1; + do if ($130) { + $132 = HEAP32[$130 + 12 >> 2] | 0; + if (($132 | 0) == (HEAP32[$130 + 16 >> 2] | 0)) $$0$i$i2$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$130 >> 2] | 0) + 36 >> 2] & 127]($130) | 0; else $$0$i$i2$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$132 >> 2] | 0) | 0; + if (!(__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0)) if ($149) break; else { + label = 52; + break; + } else { + HEAP32[$2 >> 2] = 0; + label = 50; + break; + } + } else label = 50; while (0); + if ((label | 0) == 50 ? $149 : 0) label = 52; + if ((label | 0) == 52) HEAP32[$4 >> 2] = HEAP32[$4 >> 2] | 2; + $$sroa$0$0$copyload = HEAP32[$1 >> 2] | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($8); + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($7); + STACKTOP = sp; + return $$sroa$0$0$copyload | 0; +} + +function __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRPv($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$i$i = 0, $$0$i$i$i$i = 0, $$0$i$i$i$i20 = 0, $$0$i$i17 = 0, $$0$i$i2$i$i = 0, $$0$i$i2$i$i26 = 0, $$0$i$i36 = 0, $$1 = 0, $$2 = 0, $$pre = 0, $$sroa$0$0$copyload = 0, $10 = 0, $11 = 0, $111 = 0, $112 = 0, $117 = 0, $12 = 0, $122 = 0, $131 = 0, $133 = 0, $147 = 0, $148 = 0, $149 = 0, $15 = 0, $150 = 0, $21 = 0, $24 = 0, $27 = 0, $31 = 0, $32 = 0, $34 = 0, $36 = 0, $48 = 0, $51 = 0, $6 = 0, $64 = 0, $68 = 0, $7 = 0, $76 = 0, $8 = 0, $80 = 0, $82 = 0, $83 = 0, $84 = 0, $85 = 0, $9 = 0, $97 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 240 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(240); + $vararg_buffer = sp + 192 | 0; + $6 = sp + 160 | 0; + $7 = sp + 220 | 0; + $8 = sp + 208 | 0; + $9 = sp + 204 | 0; + $10 = sp; + $11 = sp + 200 | 0; + $12 = sp + 196 | 0; + HEAP32[$7 >> 2] = 0; + HEAP32[$7 + 4 >> 2] = 0; + HEAP32[$7 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$7 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + __ZNKSt3__28ios_base6getlocEv($8, $3); + $15 = __ZNKSt3__26locale9use_facetERNS0_2idE($8, 66512) | 0; + FUNCTION_TABLE_iiiii[HEAP32[(HEAP32[$15 >> 2] | 0) + 32 >> 2] & 15]($15, 12928, 12954, $6) | 0; + __ZNSt3__26localeD2Ev($8); + HEAP32[$8 >> 2] = 0; + HEAP32[$8 + 4 >> 2] = 0; + HEAP32[$8 + 8 >> 2] = 0; + $$0$i$i17 = 0; + while (1) { + if (($$0$i$i17 | 0) == 3) break; + HEAP32[$8 + ($$0$i$i17 << 2) >> 2] = 0; + $$0$i$i17 = $$0$i$i17 + 1 | 0; + } + $21 = $8 + 11 | 0; + $24 = $8 + 8 | 0; + if ((HEAP8[$21 >> 0] | 0) < 0) $27 = (HEAP32[$24 >> 2] & 2147483647) + -1 | 0; else $27 = 10; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($8, $27, 0); + $31 = (HEAP8[$21 >> 0] | 0) < 0 ? HEAP32[$8 >> 2] | 0 : $8; + HEAP32[$9 >> 2] = $31; + HEAP32[$11 >> 2] = $10; + HEAP32[$12 >> 2] = 0; + $32 = $8 + 4 | 0; + $$pre = HEAP32[$1 >> 2] | 0; + $$0 = $31; + $147 = $$pre; + $34 = $$pre; + L12 : while (1) { + if ($34) { + $36 = HEAP32[$34 + 12 >> 2] | 0; + if (($36 | 0) == (HEAP32[$34 + 16 >> 2] | 0)) $$0$i$i$i$i20 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$34 >> 2] | 0) + 36 >> 2] & 127]($34) | 0; else $$0$i$i$i$i20 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$36 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i20, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $122 = 0; + $148 = 1; + $83 = 0; + } else { + $122 = $147; + $148 = 0; + $83 = $34; + } + } else { + $122 = 0; + $148 = 1; + $83 = 0; + } + $48 = HEAP32[$2 >> 2] | 0; + do if ($48) { + $51 = HEAP32[$48 + 12 >> 2] | 0; + if (($51 | 0) == (HEAP32[$48 + 16 >> 2] | 0)) $$0$i$i2$i$i26 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$48 >> 2] | 0) + 36 >> 2] & 127]($48) | 0; else $$0$i$i2$i$i26 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$51 >> 0] | 0) | 0; + if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i26, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) if ($148) { + $149 = $48; + break; + } else { + $$2 = $$0; + $131 = $48; + break L12; + } else { + HEAP32[$2 >> 2] = 0; + label = 22; + break; + } + } else label = 22; while (0); + if ((label | 0) == 22) { + label = 0; + if ($148) { + $$2 = $$0; + $131 = 0; + break; + } else $149 = 0; + } + $64 = HEAP8[$21 >> 0] | 0; + $68 = $64 << 24 >> 24 < 0 ? HEAP32[$32 >> 2] | 0 : $64 & 255; + if ((HEAP32[$9 >> 2] | 0) == ($$0 + $68 | 0)) { + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($8, $68 << 1, 0); + if ((HEAP8[$21 >> 0] | 0) < 0) $76 = (HEAP32[$24 >> 2] & 2147483647) + -1 | 0; else $76 = 10; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($8, $76, 0); + $80 = (HEAP8[$21 >> 0] | 0) < 0 ? HEAP32[$8 >> 2] | 0 : $8; + HEAP32[$9 >> 2] = $80 + $68; + $$1 = $80; + } else $$1 = $$0; + $82 = $83 + 12 | 0; + $84 = HEAP32[$82 >> 2] | 0; + $85 = $83 + 16 | 0; + if (($84 | 0) == (HEAP32[$85 >> 2] | 0)) $$0$i$i36 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$83 >> 2] | 0) + 36 >> 2] & 127]($83) | 0; else $$0$i$i36 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$84 >> 0] | 0) | 0; + if (__ZNSt3__29__num_getIcE17__stage2_int_loopEciPcRS2_RjcRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSD_PKc($$0$i$i36 & 255, 16, $$1, $9, $12, 0, $7, $10, $11, $6) | 0) { + $$2 = $$1; + $131 = $149; + break; + } + $97 = HEAP32[$82 >> 2] | 0; + if (($97 | 0) == (HEAP32[$85 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$83 >> 2] | 0) + 40 >> 2] & 127]($83) | 0; else { + HEAP32[$82 >> 2] = $97 + 1; + __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$97 >> 0] | 0) | 0; + } + $$0 = $$1; + $147 = $122; + $34 = $83; + } + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($8, (HEAP32[$9 >> 2] | 0) - $$2 | 0, 0); + $111 = (HEAP8[$21 >> 0] | 0) < 0 ? HEAP32[$8 >> 2] | 0 : $8; + $112 = __ZNSt3__26__clocEv() | 0; + HEAP32[$vararg_buffer >> 2] = $5; + if ((__ZNSt3__217__libcpp_sscanf_lEPKcP15__locale_structS1_z($111, $112, 58968, $vararg_buffer) | 0) != 1) HEAP32[$4 >> 2] = 4; + if ($83) { + $117 = HEAP32[$83 + 12 >> 2] | 0; + if (($117 | 0) == (HEAP32[$83 + 16 >> 2] | 0)) $$0$i$i$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$122 >> 2] | 0) + 36 >> 2] & 127]($83) | 0; else $$0$i$i$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$117 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $150 = 1; + } else $150 = 0; + } else $150 = 1; + do if ($131) { + $133 = HEAP32[$131 + 12 >> 2] | 0; + if (($133 | 0) == (HEAP32[$131 + 16 >> 2] | 0)) $$0$i$i2$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$131 >> 2] | 0) + 36 >> 2] & 127]($131) | 0; else $$0$i$i2$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$133 >> 0] | 0) | 0; + if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) if ($150) break; else { + label = 52; + break; + } else { + HEAP32[$2 >> 2] = 0; + label = 50; + break; + } + } else label = 50; while (0); + if ((label | 0) == 50 ? $150 : 0) label = 52; + if ((label | 0) == 52) HEAP32[$4 >> 2] = HEAP32[$4 >> 2] | 2; + $$sroa$0$0$copyload = HEAP32[$1 >> 2] | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($8); + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($7); + STACKTOP = sp; + return $$sroa$0$0$copyload | 0; +} + +function _jpeg_idct_islow($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0285295 = 0, $$0287294 = 0, $$0289293 = 0, $$0296 = 0, $$1292 = 0, $$2291 = 0, $$sink = 0, $$sink303 = 0, $100 = 0, $101 = 0, $103 = 0, $106 = 0, $107 = 0, $109 = 0, $11 = 0, $113 = 0, $115 = 0, $117 = 0, $121 = 0, $123 = 0, $13 = 0, $149 = 0, $152 = 0, $154 = 0, $156 = 0, $158 = 0, $179 = 0, $182 = 0, $184 = 0, $186 = 0, $188 = 0, $190 = 0, $191 = 0, $193 = 0, $195 = 0, $196 = 0, $197 = 0, $198 = 0, $199 = 0, $201 = 0, $203 = 0, $205 = 0, $206 = 0, $207 = 0, $209 = 0, $212 = 0, $213 = 0, $215 = 0, $219 = 0, $221 = 0, $223 = 0, $227 = 0, $229 = 0, $35 = 0, $5 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $58 = 0, $61 = 0, $67 = 0, $69 = 0, $7 = 0, $71 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $83 = 0, $89 = 0, $95 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(256); + $5 = sp; + $7 = HEAP32[$0 + 336 >> 2] | 0; + $$0285295 = $5; + $$0287294 = HEAP32[$1 + 84 >> 2] | 0; + $$0289293 = $2; + $$0296 = 8; + while (1) { + $11 = HEAP16[$$0289293 + 16 >> 1] | 0; + $13 = HEAP16[$$0289293 + 32 >> 1] | 0; + if (!(($11 | $13) << 16 >> 16)) if (((((HEAP16[$$0289293 + 48 >> 1] | 0) == 0 ? (HEAP16[$$0289293 + 64 >> 1] | 0) == 0 : 0) ? (HEAP16[$$0289293 + 80 >> 1] | 0) == 0 : 0) ? (HEAP16[$$0289293 + 96 >> 1] | 0) == 0 : 0) ? (HEAP16[$$0289293 + 112 >> 1] | 0) == 0 : 0) { + $35 = Math_imul(HEAP16[$$0289293 >> 1] << 2, HEAP32[$$0287294 >> 2] | 0) | 0; + HEAP32[$$0285295 >> 2] = $35; + HEAP32[$$0285295 + 32 >> 2] = $35; + HEAP32[$$0285295 + 64 >> 2] = $35; + HEAP32[$$0285295 + 96 >> 2] = $35; + HEAP32[$$0285295 + 128 >> 2] = $35; + HEAP32[$$0285295 + 160 >> 2] = $35; + HEAP32[$$0285295 + 192 >> 2] = $35; + $$sink = $35; + $$sink303 = 56; + } else { + $58 = 0; + label = 9; + } else { + $58 = $13; + label = 9; + } + if ((label | 0) == 9) { + label = 0; + $53 = Math_imul(HEAP16[$$0289293 + 64 >> 1] << 13, HEAP32[$$0287294 + 128 >> 2] | 0) | 0; + $54 = Math_imul(HEAP16[$$0289293 >> 1] << 13, HEAP32[$$0287294 >> 2] | 0) | 0 | 1024; + $55 = $53 + $54 | 0; + $56 = $54 - $53 | 0; + $61 = Math_imul(HEAP32[$$0287294 + 64 >> 2] | 0, $58 << 16 >> 16) | 0; + $67 = Math_imul(HEAP32[$$0287294 + 192 >> 2] | 0, HEAP16[$$0289293 + 96 >> 1] | 0) | 0; + $69 = ($67 + $61 | 0) * 4433 | 0; + $71 = $69 + ($61 * 6270 | 0) | 0; + $73 = $69 + (Math_imul($67, -15137) | 0) | 0; + $74 = $71 + $55 | 0; + $75 = $55 - $71 | 0; + $76 = $73 + $56 | 0; + $77 = $56 - $73 | 0; + $83 = Math_imul(HEAP32[$$0287294 + 224 >> 2] | 0, HEAP16[$$0289293 + 112 >> 1] | 0) | 0; + $89 = Math_imul(HEAP32[$$0287294 + 160 >> 2] | 0, HEAP16[$$0289293 + 80 >> 1] | 0) | 0; + $95 = Math_imul(HEAP32[$$0287294 + 96 >> 2] | 0, HEAP16[$$0289293 + 48 >> 1] | 0) | 0; + $99 = Math_imul(HEAP32[$$0287294 + 32 >> 2] | 0, $11 << 16 >> 16) | 0; + $100 = $95 + $83 | 0; + $101 = $99 + $89 | 0; + $103 = ($101 + $100 | 0) * 9633 | 0; + $106 = $103 + (Math_imul($100, -16069) | 0) | 0; + $107 = $103 + (Math_imul($101, -3196) | 0) | 0; + $109 = Math_imul($99 + $83 | 0, -7373) | 0; + $113 = $109 + ($83 * 2446 | 0) + $106 | 0; + $115 = $109 + ($99 * 12299 | 0) + $107 | 0; + $117 = Math_imul($95 + $89 | 0, -20995) | 0; + $121 = $117 + ($89 * 16819 | 0) + $107 | 0; + $123 = $117 + ($95 * 25172 | 0) + $106 | 0; + HEAP32[$$0285295 >> 2] = $115 + $74 >> 11; + HEAP32[$$0285295 + 224 >> 2] = $74 - $115 >> 11; + HEAP32[$$0285295 + 32 >> 2] = $123 + $76 >> 11; + HEAP32[$$0285295 + 192 >> 2] = $76 - $123 >> 11; + HEAP32[$$0285295 + 64 >> 2] = $121 + $77 >> 11; + HEAP32[$$0285295 + 160 >> 2] = $77 - $121 >> 11; + HEAP32[$$0285295 + 96 >> 2] = $113 + $75 >> 11; + $$sink = $75 - $113 >> 11; + $$sink303 = 32; + } + HEAP32[$$0285295 + ($$sink303 << 2) >> 2] = $$sink; + if ($$0296 >>> 0 > 1) { + $$0285295 = $$0285295 + 4 | 0; + $$0287294 = $$0287294 + 4 | 0; + $$0289293 = $$0289293 + 2 | 0; + $$0296 = $$0296 + -1 | 0; + } else break; + } + $149 = $7 + -384 | 0; + $$1292 = 0; + $$2291 = $5; + while (1) { + $152 = (HEAP32[$3 + ($$1292 << 2) >> 2] | 0) + $4 | 0; + $154 = (HEAP32[$$2291 >> 2] | 0) + 16400 | 0; + $156 = HEAP32[$$2291 + 4 >> 2] | 0; + $158 = HEAP32[$$2291 + 8 >> 2] | 0; + if (!($156 | $158)) if (((((HEAP32[$$2291 + 12 >> 2] | 0) == 0 ? (HEAP32[$$2291 + 16 >> 2] | 0) == 0 : 0) ? (HEAP32[$$2291 + 20 >> 2] | 0) == 0 : 0) ? (HEAP32[$$2291 + 24 >> 2] | 0) == 0 : 0) ? (HEAP32[$$2291 + 28 >> 2] | 0) == 0 : 0) { + $179 = HEAP8[$149 + ($154 >>> 5 & 1023) >> 0] | 0; + HEAP8[$152 >> 0] = $179; + _memset($152 + 1 | 0, $179 | 0, 7) | 0; + } else { + $190 = 0; + label = 19; + } else { + $190 = $158; + label = 19; + } + if ((label | 0) == 19) { + label = 0; + $182 = HEAP32[$$2291 + 16 >> 2] | 0; + $184 = $182 + $154 << 13; + $186 = $154 - $182 << 13; + $188 = HEAP32[$$2291 + 24 >> 2] | 0; + $191 = ($188 + $190 | 0) * 4433 | 0; + $193 = $191 + ($190 * 6270 | 0) | 0; + $195 = $191 + (Math_imul($188, -15137) | 0) | 0; + $196 = $193 + $184 | 0; + $197 = $184 - $193 | 0; + $198 = $195 + $186 | 0; + $199 = $186 - $195 | 0; + $201 = HEAP32[$$2291 + 28 >> 2] | 0; + $203 = HEAP32[$$2291 + 20 >> 2] | 0; + $205 = HEAP32[$$2291 + 12 >> 2] | 0; + $206 = $205 + $201 | 0; + $207 = $203 + $156 | 0; + $209 = ($206 + $207 | 0) * 9633 | 0; + $212 = $209 + (Math_imul($206, -16069) | 0) | 0; + $213 = $209 + (Math_imul($207, -3196) | 0) | 0; + $215 = Math_imul($201 + $156 | 0, -7373) | 0; + $219 = $215 + ($201 * 2446 | 0) + $212 | 0; + $221 = $215 + ($156 * 12299 | 0) + $213 | 0; + $223 = Math_imul($205 + $203 | 0, -20995) | 0; + $227 = $223 + ($203 * 16819 | 0) + $213 | 0; + $229 = $223 + ($205 * 25172 | 0) + $212 | 0; + HEAP8[$152 >> 0] = HEAP8[$149 + (($221 + $196 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$152 + 7 >> 0] = HEAP8[$149 + (($196 - $221 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$152 + 1 >> 0] = HEAP8[$149 + (($229 + $198 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$152 + 6 >> 0] = HEAP8[$149 + (($198 - $229 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$152 + 2 >> 0] = HEAP8[$149 + (($227 + $199 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$152 + 5 >> 0] = HEAP8[$149 + (($199 - $227 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$152 + 3 >> 0] = HEAP8[$149 + (($219 + $197 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$152 + 4 >> 0] = HEAP8[$149 + (($197 - $219 | 0) >>> 18 & 1023) >> 0] | 0; + } + $$1292 = $$1292 + 1 | 0; + if (($$1292 | 0) == 8) break; else $$2291 = $$2291 + 32 | 0; + } + STACKTOP = sp; + return; +} + +function __ZNSt3__220__get_up_to_n_digitsIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEiRT0_S5_RjRKNS_5ctypeIT_EEi($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0 = 0, $$0$i$i = 0, $$0$i$i$i$i = 0, $$0$i$i$i$i27 = 0, $$0$i$i$i$i41 = 0, $$0$i$i2$i$i = 0, $$0$i$i2$i$i33 = 0, $$0$i$i2$i$i47 = 0, $$0$i$i38 = 0, $$0$in = 0, $$025 = 0, $$025$in = 0, $$2 = 0, $102 = 0, $103 = 0, $106 = 0, $108 = 0, $128 = 0, $129 = 0, $130 = 0, $131 = 0, $142 = 0, $155 = 0, $157 = 0, $171 = 0, $172 = 0, $173 = 0, $174 = 0, $175 = 0, $20 = 0, $23 = 0, $37 = 0, $39 = 0, $5 = 0, $59 = 0, $60 = 0, $61 = 0, $62 = 0, $71 = 0, $74 = 0, $8 = 0, $87 = 0, $89 = 0, label = 0; + $5 = HEAP32[$0 >> 2] | 0; + do if ($5) { + $8 = HEAP32[$5 + 12 >> 2] | 0; + if (($8 | 0) == (HEAP32[$5 + 16 >> 2] | 0)) $$0$i$i$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$5 >> 2] | 0) + 36 >> 2] & 127]($5) | 0; else $$0$i$i$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$8 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$0 >> 2] = 0; + $171 = 1; + break; + } else { + $171 = (HEAP32[$0 >> 2] | 0) == 0; + break; + } + } else $171 = 1; while (0); + $20 = HEAP32[$1 >> 2] | 0; + do if ($20) { + $23 = HEAP32[$20 + 12 >> 2] | 0; + if (($23 | 0) == (HEAP32[$20 + 16 >> 2] | 0)) $$0$i$i2$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$20 >> 2] | 0) + 36 >> 2] & 127]($20) | 0; else $$0$i$i2$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$23 >> 2] | 0) | 0; + if (!(__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0)) if ($171) { + $172 = $20; + label = 17; + break; + } else { + label = 16; + break; + } else { + HEAP32[$1 >> 2] = 0; + label = 14; + break; + } + } else label = 14; while (0); + if ((label | 0) == 14) if ($171) label = 16; else { + $172 = 0; + label = 17; + } + L22 : do if ((label | 0) == 16) { + HEAP32[$2 >> 2] = HEAP32[$2 >> 2] | 6; + $$2 = 0; + } else if ((label | 0) == 17) { + $37 = HEAP32[$0 >> 2] | 0; + $39 = HEAP32[$37 + 12 >> 2] | 0; + if (($39 | 0) == (HEAP32[$37 + 16 >> 2] | 0)) $$0$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$37 >> 2] | 0) + 36 >> 2] & 127]($37) | 0; else $$0$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$39 >> 2] | 0) | 0; + if (!(FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$3 >> 2] | 0) + 12 >> 2] & 63]($3, 2048, $$0$i$i) | 0)) { + HEAP32[$2 >> 2] = HEAP32[$2 >> 2] | 4; + $$2 = 0; + break; + } + $59 = (FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$3 >> 2] | 0) + 52 >> 2] & 63]($3, $$0$i$i, 0) | 0) << 24 >> 24; + $60 = HEAP32[$0 >> 2] | 0; + $61 = $60 + 12 | 0; + $62 = HEAP32[$61 >> 2] | 0; + if (($62 | 0) == (HEAP32[$60 + 16 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$60 >> 2] | 0) + 40 >> 2] & 127]($60) | 0; else { + HEAP32[$61 >> 2] = $62 + 4; + __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$62 >> 2] | 0) | 0; + } + $$0$in = $59; + $$025$in = $4; + $173 = $172; + $87 = $172; + while (1) { + $$0 = $$0$in + -48 | 0; + $$025 = $$025$in + -1 | 0; + $71 = HEAP32[$0 >> 2] | 0; + do if ($71) { + $74 = HEAP32[$71 + 12 >> 2] | 0; + if (($74 | 0) == (HEAP32[$71 + 16 >> 2] | 0)) $$0$i$i$i$i27 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$71 >> 2] | 0) + 36 >> 2] & 127]($71) | 0; else $$0$i$i$i$i27 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$74 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i27, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$0 >> 2] = 0; + $102 = 1; + break; + } else { + $102 = (HEAP32[$0 >> 2] | 0) == 0; + break; + } + } else $102 = 1; while (0); + if ($87) { + $89 = HEAP32[$87 + 12 >> 2] | 0; + if (($89 | 0) == (HEAP32[$87 + 16 >> 2] | 0)) $$0$i$i2$i$i33 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$87 >> 2] | 0) + 36 >> 2] & 127]($87) | 0; else $$0$i$i2$i$i33 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$89 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i33, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $103 = 1; + $155 = 0; + $174 = 0; + } else { + $103 = 0; + $155 = $173; + $174 = $87; + } + } else { + $103 = 1; + $155 = $173; + $174 = 0; + } + $106 = HEAP32[$0 >> 2] | 0; + if (!(($$025$in | 0) > 1 & ($102 ^ $103))) break; + $108 = HEAP32[$106 + 12 >> 2] | 0; + if (($108 | 0) == (HEAP32[$106 + 16 >> 2] | 0)) $$0$i$i38 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$106 >> 2] | 0) + 36 >> 2] & 127]($106) | 0; else $$0$i$i38 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$108 >> 2] | 0) | 0; + if (!(FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$3 >> 2] | 0) + 12 >> 2] & 63]($3, 2048, $$0$i$i38) | 0)) { + $$2 = $$0; + break L22; + } + $128 = ($$0 * 10 | 0) + ((FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$3 >> 2] | 0) + 52 >> 2] & 63]($3, $$0$i$i38, 0) | 0) << 24 >> 24) | 0; + $129 = HEAP32[$0 >> 2] | 0; + $130 = $129 + 12 | 0; + $131 = HEAP32[$130 >> 2] | 0; + if (($131 | 0) == (HEAP32[$129 + 16 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$129 >> 2] | 0) + 40 >> 2] & 127]($129) | 0; else { + HEAP32[$130 >> 2] = $131 + 4; + __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$131 >> 2] | 0) | 0; + } + $$0$in = $128; + $$025$in = $$025; + $173 = $155; + $87 = $174; + } + do if ($106) { + $142 = HEAP32[$106 + 12 >> 2] | 0; + if (($142 | 0) == (HEAP32[$106 + 16 >> 2] | 0)) $$0$i$i$i$i41 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$106 >> 2] | 0) + 36 >> 2] & 127]($106) | 0; else $$0$i$i$i$i41 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$142 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i41, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$0 >> 2] = 0; + $175 = 1; + break; + } else { + $175 = (HEAP32[$0 >> 2] | 0) == 0; + break; + } + } else $175 = 1; while (0); + do if ($155) { + $157 = HEAP32[$155 + 12 >> 2] | 0; + if (($157 | 0) == (HEAP32[$155 + 16 >> 2] | 0)) $$0$i$i2$i$i47 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$155 >> 2] | 0) + 36 >> 2] & 127]($155) | 0; else $$0$i$i2$i$i47 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$157 >> 2] | 0) | 0; + if (!(__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i47, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0)) if ($175) { + $$2 = $$0; + break L22; + } else break; else { + HEAP32[$1 >> 2] = 0; + label = 61; + break; + } + } else label = 61; while (0); + if ((label | 0) == 61 ? !$175 : 0) { + $$2 = $$0; + break; + } + HEAP32[$2 >> 2] = HEAP32[$2 >> 2] | 2; + $$2 = $$0; + } while (0); + return $$2 | 0; +} + +function __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__do_get_unsignedItEES4_S4_S4_RNS_8ios_baseERjRT_($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$i$i = 0, $$0$i$i$i$i = 0, $$0$i$i$i$i25 = 0, $$0$i$i2$i$i = 0, $$0$i$i2$i$i31 = 0, $$0$i$i41 = 0, $$1 = 0, $$2 = 0, $$pre = 0, $$sroa$0$0$copyload = 0, $10 = 0, $103 = 0, $11 = 0, $110 = 0, $115 = 0, $118 = 0, $12 = 0, $122 = 0, $127 = 0, $13 = 0, $136 = 0, $138 = 0, $14 = 0, $15 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $18 = 0, $21 = 0, $24 = 0, $28 = 0, $29 = 0, $31 = 0, $33 = 0, $45 = 0, $48 = 0, $6 = 0, $61 = 0, $65 = 0, $73 = 0, $77 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $9 = 0, $94 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 304 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(304); + $6 = sp + 300 | 0; + $8 = sp + 288 | 0; + $9 = sp + 276 | 0; + $10 = sp + 272 | 0; + $11 = sp; + $12 = sp + 268 | 0; + $13 = sp + 264 | 0; + $14 = __ZNSt3__214__num_get_base10__get_baseERNS_8ios_baseE($3) | 0; + $15 = __ZNKSt3__29__num_getIwE10__do_widenERNS_8ios_baseEPw($0, $3, sp + 160 | 0) | 0; + __ZNSt3__29__num_getIwE17__stage2_int_prepERNS_8ios_baseERw($8, $3, $6); + HEAP32[$9 >> 2] = 0; + HEAP32[$9 + 4 >> 2] = 0; + HEAP32[$9 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$9 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + $18 = $9 + 11 | 0; + $21 = $9 + 8 | 0; + if ((HEAP8[$18 >> 0] | 0) < 0) $24 = (HEAP32[$21 >> 2] & 2147483647) + -1 | 0; else $24 = 10; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($9, $24, 0); + $28 = (HEAP8[$18 >> 0] | 0) < 0 ? HEAP32[$9 >> 2] | 0 : $9; + HEAP32[$10 >> 2] = $28; + HEAP32[$12 >> 2] = $11; + HEAP32[$13 >> 2] = 0; + $29 = $9 + 4 | 0; + $$pre = HEAP32[$1 >> 2] | 0; + $$0 = $28; + $152 = $$pre; + $31 = $$pre; + L8 : while (1) { + if ($31) { + $33 = HEAP32[$31 + 12 >> 2] | 0; + if (($33 | 0) == (HEAP32[$31 + 16 >> 2] | 0)) $$0$i$i$i$i25 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$31 >> 2] | 0) + 36 >> 2] & 127]($31) | 0; else $$0$i$i$i$i25 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$33 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i25, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $127 = 0; + $153 = 1; + $80 = 0; + } else { + $127 = $152; + $153 = 0; + $80 = $31; + } + } else { + $127 = 0; + $153 = 1; + $80 = 0; + } + $45 = HEAP32[$2 >> 2] | 0; + do if ($45) { + $48 = HEAP32[$45 + 12 >> 2] | 0; + if (($48 | 0) == (HEAP32[$45 + 16 >> 2] | 0)) $$0$i$i2$i$i31 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$45 >> 2] | 0) + 36 >> 2] & 127]($45) | 0; else $$0$i$i2$i$i31 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$48 >> 2] | 0) | 0; + if (!(__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i31, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0)) if ($153) { + $154 = $45; + break; + } else { + $$2 = $$0; + $136 = $45; + break L8; + } else { + HEAP32[$2 >> 2] = 0; + label = 19; + break; + } + } else label = 19; while (0); + if ((label | 0) == 19) { + label = 0; + if ($153) { + $$2 = $$0; + $136 = 0; + break; + } else $154 = 0; + } + $61 = HEAP8[$18 >> 0] | 0; + $65 = $61 << 24 >> 24 < 0 ? HEAP32[$29 >> 2] | 0 : $61 & 255; + if ((HEAP32[$10 >> 2] | 0) == ($$0 + $65 | 0)) { + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($9, $65 << 1, 0); + if ((HEAP8[$18 >> 0] | 0) < 0) $73 = (HEAP32[$21 >> 2] & 2147483647) + -1 | 0; else $73 = 10; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($9, $73, 0); + $77 = (HEAP8[$18 >> 0] | 0) < 0 ? HEAP32[$9 >> 2] | 0 : $9; + HEAP32[$10 >> 2] = $77 + $65; + $$1 = $77; + } else $$1 = $$0; + $79 = $80 + 12 | 0; + $81 = HEAP32[$79 >> 2] | 0; + $82 = $80 + 16 | 0; + if (($81 | 0) == (HEAP32[$82 >> 2] | 0)) $$0$i$i41 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$80 >> 2] | 0) + 36 >> 2] & 127]($80) | 0; else $$0$i$i41 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$81 >> 2] | 0) | 0; + if (__ZNSt3__29__num_getIwE17__stage2_int_loopEwiPcRS2_RjwRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSD_PKw($$0$i$i41, $14, $$1, $10, $13, HEAP32[$6 >> 2] | 0, $8, $11, $12, $15) | 0) { + $$2 = $$1; + $136 = $154; + break; + } + $94 = HEAP32[$79 >> 2] | 0; + if (($94 | 0) == (HEAP32[$82 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$80 >> 2] | 0) + 40 >> 2] & 127]($80) | 0; else { + HEAP32[$79 >> 2] = $94 + 4; + __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$94 >> 2] | 0) | 0; + } + $$0 = $$1; + $152 = $127; + $31 = $80; + } + $103 = HEAP8[$8 + 11 >> 0] | 0; + if (($103 << 24 >> 24 < 0 ? HEAP32[$8 + 4 >> 2] | 0 : $103 & 255) | 0 ? ($110 = HEAP32[$12 >> 2] | 0, ($110 - $11 | 0) < 160) : 0) { + $115 = HEAP32[$13 >> 2] | 0; + HEAP32[$12 >> 2] = $110 + 4; + HEAP32[$110 >> 2] = $115; + } + $118 = __ZNSt3__227__num_get_unsigned_integralItEET_PKcS3_Rji($$2, HEAP32[$10 >> 2] | 0, $4, $14) | 0; + HEAP16[$5 >> 1] = $118; + __ZNSt3__216__check_groupingERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjS8_Rj($8, $11, HEAP32[$12 >> 2] | 0, $4); + if ($80) { + $122 = HEAP32[$80 + 12 >> 2] | 0; + if (($122 | 0) == (HEAP32[$80 + 16 >> 2] | 0)) $$0$i$i$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$127 >> 2] | 0) + 36 >> 2] & 127]($80) | 0; else $$0$i$i$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$122 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $155 = 1; + } else $155 = 0; + } else $155 = 1; + do if ($136) { + $138 = HEAP32[$136 + 12 >> 2] | 0; + if (($138 | 0) == (HEAP32[$136 + 16 >> 2] | 0)) $$0$i$i2$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$136 >> 2] | 0) + 36 >> 2] & 127]($136) | 0; else $$0$i$i2$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$138 >> 2] | 0) | 0; + if (!(__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0)) if ($155) break; else { + label = 50; + break; + } else { + HEAP32[$2 >> 2] = 0; + label = 48; + break; + } + } else label = 48; while (0); + if ((label | 0) == 48 ? $155 : 0) label = 50; + if ((label | 0) == 50) HEAP32[$4 >> 2] = HEAP32[$4 >> 2] | 2; + $$sroa$0$0$copyload = HEAP32[$1 >> 2] | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($9); + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($8); + STACKTOP = sp; + return $$sroa$0$0$copyload | 0; +} + +function __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__do_get_unsignedImEES4_S4_S4_RNS_8ios_baseERjRT_($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$i$i = 0, $$0$i$i$i$i = 0, $$0$i$i$i$i25 = 0, $$0$i$i2$i$i = 0, $$0$i$i2$i$i31 = 0, $$0$i$i41 = 0, $$1 = 0, $$2 = 0, $$pre = 0, $$sroa$0$0$copyload = 0, $10 = 0, $103 = 0, $11 = 0, $110 = 0, $115 = 0, $118 = 0, $12 = 0, $122 = 0, $127 = 0, $13 = 0, $136 = 0, $138 = 0, $14 = 0, $15 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $18 = 0, $21 = 0, $24 = 0, $28 = 0, $29 = 0, $31 = 0, $33 = 0, $45 = 0, $48 = 0, $6 = 0, $61 = 0, $65 = 0, $73 = 0, $77 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $9 = 0, $94 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 304 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(304); + $6 = sp + 300 | 0; + $8 = sp + 288 | 0; + $9 = sp + 276 | 0; + $10 = sp + 272 | 0; + $11 = sp; + $12 = sp + 268 | 0; + $13 = sp + 264 | 0; + $14 = __ZNSt3__214__num_get_base10__get_baseERNS_8ios_baseE($3) | 0; + $15 = __ZNKSt3__29__num_getIwE10__do_widenERNS_8ios_baseEPw($0, $3, sp + 160 | 0) | 0; + __ZNSt3__29__num_getIwE17__stage2_int_prepERNS_8ios_baseERw($8, $3, $6); + HEAP32[$9 >> 2] = 0; + HEAP32[$9 + 4 >> 2] = 0; + HEAP32[$9 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$9 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + $18 = $9 + 11 | 0; + $21 = $9 + 8 | 0; + if ((HEAP8[$18 >> 0] | 0) < 0) $24 = (HEAP32[$21 >> 2] & 2147483647) + -1 | 0; else $24 = 10; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($9, $24, 0); + $28 = (HEAP8[$18 >> 0] | 0) < 0 ? HEAP32[$9 >> 2] | 0 : $9; + HEAP32[$10 >> 2] = $28; + HEAP32[$12 >> 2] = $11; + HEAP32[$13 >> 2] = 0; + $29 = $9 + 4 | 0; + $$pre = HEAP32[$1 >> 2] | 0; + $$0 = $28; + $152 = $$pre; + $31 = $$pre; + L8 : while (1) { + if ($31) { + $33 = HEAP32[$31 + 12 >> 2] | 0; + if (($33 | 0) == (HEAP32[$31 + 16 >> 2] | 0)) $$0$i$i$i$i25 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$31 >> 2] | 0) + 36 >> 2] & 127]($31) | 0; else $$0$i$i$i$i25 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$33 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i25, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $127 = 0; + $153 = 1; + $80 = 0; + } else { + $127 = $152; + $153 = 0; + $80 = $31; + } + } else { + $127 = 0; + $153 = 1; + $80 = 0; + } + $45 = HEAP32[$2 >> 2] | 0; + do if ($45) { + $48 = HEAP32[$45 + 12 >> 2] | 0; + if (($48 | 0) == (HEAP32[$45 + 16 >> 2] | 0)) $$0$i$i2$i$i31 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$45 >> 2] | 0) + 36 >> 2] & 127]($45) | 0; else $$0$i$i2$i$i31 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$48 >> 2] | 0) | 0; + if (!(__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i31, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0)) if ($153) { + $154 = $45; + break; + } else { + $$2 = $$0; + $136 = $45; + break L8; + } else { + HEAP32[$2 >> 2] = 0; + label = 19; + break; + } + } else label = 19; while (0); + if ((label | 0) == 19) { + label = 0; + if ($153) { + $$2 = $$0; + $136 = 0; + break; + } else $154 = 0; + } + $61 = HEAP8[$18 >> 0] | 0; + $65 = $61 << 24 >> 24 < 0 ? HEAP32[$29 >> 2] | 0 : $61 & 255; + if ((HEAP32[$10 >> 2] | 0) == ($$0 + $65 | 0)) { + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($9, $65 << 1, 0); + if ((HEAP8[$18 >> 0] | 0) < 0) $73 = (HEAP32[$21 >> 2] & 2147483647) + -1 | 0; else $73 = 10; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($9, $73, 0); + $77 = (HEAP8[$18 >> 0] | 0) < 0 ? HEAP32[$9 >> 2] | 0 : $9; + HEAP32[$10 >> 2] = $77 + $65; + $$1 = $77; + } else $$1 = $$0; + $79 = $80 + 12 | 0; + $81 = HEAP32[$79 >> 2] | 0; + $82 = $80 + 16 | 0; + if (($81 | 0) == (HEAP32[$82 >> 2] | 0)) $$0$i$i41 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$80 >> 2] | 0) + 36 >> 2] & 127]($80) | 0; else $$0$i$i41 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$81 >> 2] | 0) | 0; + if (__ZNSt3__29__num_getIwE17__stage2_int_loopEwiPcRS2_RjwRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSD_PKw($$0$i$i41, $14, $$1, $10, $13, HEAP32[$6 >> 2] | 0, $8, $11, $12, $15) | 0) { + $$2 = $$1; + $136 = $154; + break; + } + $94 = HEAP32[$79 >> 2] | 0; + if (($94 | 0) == (HEAP32[$82 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$80 >> 2] | 0) + 40 >> 2] & 127]($80) | 0; else { + HEAP32[$79 >> 2] = $94 + 4; + __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$94 >> 2] | 0) | 0; + } + $$0 = $$1; + $152 = $127; + $31 = $80; + } + $103 = HEAP8[$8 + 11 >> 0] | 0; + if (($103 << 24 >> 24 < 0 ? HEAP32[$8 + 4 >> 2] | 0 : $103 & 255) | 0 ? ($110 = HEAP32[$12 >> 2] | 0, ($110 - $11 | 0) < 160) : 0) { + $115 = HEAP32[$13 >> 2] | 0; + HEAP32[$12 >> 2] = $110 + 4; + HEAP32[$110 >> 2] = $115; + } + $118 = __ZNSt3__227__num_get_unsigned_integralImEET_PKcS3_Rji($$2, HEAP32[$10 >> 2] | 0, $4, $14) | 0; + HEAP32[$5 >> 2] = $118; + __ZNSt3__216__check_groupingERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjS8_Rj($8, $11, HEAP32[$12 >> 2] | 0, $4); + if ($80) { + $122 = HEAP32[$80 + 12 >> 2] | 0; + if (($122 | 0) == (HEAP32[$80 + 16 >> 2] | 0)) $$0$i$i$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$127 >> 2] | 0) + 36 >> 2] & 127]($80) | 0; else $$0$i$i$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$122 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $155 = 1; + } else $155 = 0; + } else $155 = 1; + do if ($136) { + $138 = HEAP32[$136 + 12 >> 2] | 0; + if (($138 | 0) == (HEAP32[$136 + 16 >> 2] | 0)) $$0$i$i2$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$136 >> 2] | 0) + 36 >> 2] & 127]($136) | 0; else $$0$i$i2$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$138 >> 2] | 0) | 0; + if (!(__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0)) if ($155) break; else { + label = 50; + break; + } else { + HEAP32[$2 >> 2] = 0; + label = 48; + break; + } + } else label = 48; while (0); + if ((label | 0) == 48 ? $155 : 0) label = 50; + if ((label | 0) == 50) HEAP32[$4 >> 2] = HEAP32[$4 >> 2] | 2; + $$sroa$0$0$copyload = HEAP32[$1 >> 2] | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($9); + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($8); + STACKTOP = sp; + return $$sroa$0$0$copyload | 0; +} + +function __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__do_get_unsignedIjEES4_S4_S4_RNS_8ios_baseERjRT_($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$i$i = 0, $$0$i$i$i$i = 0, $$0$i$i$i$i25 = 0, $$0$i$i2$i$i = 0, $$0$i$i2$i$i31 = 0, $$0$i$i41 = 0, $$1 = 0, $$2 = 0, $$pre = 0, $$sroa$0$0$copyload = 0, $10 = 0, $103 = 0, $11 = 0, $110 = 0, $115 = 0, $118 = 0, $12 = 0, $122 = 0, $127 = 0, $13 = 0, $136 = 0, $138 = 0, $14 = 0, $15 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $18 = 0, $21 = 0, $24 = 0, $28 = 0, $29 = 0, $31 = 0, $33 = 0, $45 = 0, $48 = 0, $6 = 0, $61 = 0, $65 = 0, $73 = 0, $77 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $9 = 0, $94 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 304 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(304); + $6 = sp + 300 | 0; + $8 = sp + 288 | 0; + $9 = sp + 276 | 0; + $10 = sp + 272 | 0; + $11 = sp; + $12 = sp + 268 | 0; + $13 = sp + 264 | 0; + $14 = __ZNSt3__214__num_get_base10__get_baseERNS_8ios_baseE($3) | 0; + $15 = __ZNKSt3__29__num_getIwE10__do_widenERNS_8ios_baseEPw($0, $3, sp + 160 | 0) | 0; + __ZNSt3__29__num_getIwE17__stage2_int_prepERNS_8ios_baseERw($8, $3, $6); + HEAP32[$9 >> 2] = 0; + HEAP32[$9 + 4 >> 2] = 0; + HEAP32[$9 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$9 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + $18 = $9 + 11 | 0; + $21 = $9 + 8 | 0; + if ((HEAP8[$18 >> 0] | 0) < 0) $24 = (HEAP32[$21 >> 2] & 2147483647) + -1 | 0; else $24 = 10; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($9, $24, 0); + $28 = (HEAP8[$18 >> 0] | 0) < 0 ? HEAP32[$9 >> 2] | 0 : $9; + HEAP32[$10 >> 2] = $28; + HEAP32[$12 >> 2] = $11; + HEAP32[$13 >> 2] = 0; + $29 = $9 + 4 | 0; + $$pre = HEAP32[$1 >> 2] | 0; + $$0 = $28; + $152 = $$pre; + $31 = $$pre; + L8 : while (1) { + if ($31) { + $33 = HEAP32[$31 + 12 >> 2] | 0; + if (($33 | 0) == (HEAP32[$31 + 16 >> 2] | 0)) $$0$i$i$i$i25 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$31 >> 2] | 0) + 36 >> 2] & 127]($31) | 0; else $$0$i$i$i$i25 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$33 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i25, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $127 = 0; + $153 = 1; + $80 = 0; + } else { + $127 = $152; + $153 = 0; + $80 = $31; + } + } else { + $127 = 0; + $153 = 1; + $80 = 0; + } + $45 = HEAP32[$2 >> 2] | 0; + do if ($45) { + $48 = HEAP32[$45 + 12 >> 2] | 0; + if (($48 | 0) == (HEAP32[$45 + 16 >> 2] | 0)) $$0$i$i2$i$i31 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$45 >> 2] | 0) + 36 >> 2] & 127]($45) | 0; else $$0$i$i2$i$i31 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$48 >> 2] | 0) | 0; + if (!(__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i31, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0)) if ($153) { + $154 = $45; + break; + } else { + $$2 = $$0; + $136 = $45; + break L8; + } else { + HEAP32[$2 >> 2] = 0; + label = 19; + break; + } + } else label = 19; while (0); + if ((label | 0) == 19) { + label = 0; + if ($153) { + $$2 = $$0; + $136 = 0; + break; + } else $154 = 0; + } + $61 = HEAP8[$18 >> 0] | 0; + $65 = $61 << 24 >> 24 < 0 ? HEAP32[$29 >> 2] | 0 : $61 & 255; + if ((HEAP32[$10 >> 2] | 0) == ($$0 + $65 | 0)) { + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($9, $65 << 1, 0); + if ((HEAP8[$18 >> 0] | 0) < 0) $73 = (HEAP32[$21 >> 2] & 2147483647) + -1 | 0; else $73 = 10; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($9, $73, 0); + $77 = (HEAP8[$18 >> 0] | 0) < 0 ? HEAP32[$9 >> 2] | 0 : $9; + HEAP32[$10 >> 2] = $77 + $65; + $$1 = $77; + } else $$1 = $$0; + $79 = $80 + 12 | 0; + $81 = HEAP32[$79 >> 2] | 0; + $82 = $80 + 16 | 0; + if (($81 | 0) == (HEAP32[$82 >> 2] | 0)) $$0$i$i41 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$80 >> 2] | 0) + 36 >> 2] & 127]($80) | 0; else $$0$i$i41 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$81 >> 2] | 0) | 0; + if (__ZNSt3__29__num_getIwE17__stage2_int_loopEwiPcRS2_RjwRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSD_PKw($$0$i$i41, $14, $$1, $10, $13, HEAP32[$6 >> 2] | 0, $8, $11, $12, $15) | 0) { + $$2 = $$1; + $136 = $154; + break; + } + $94 = HEAP32[$79 >> 2] | 0; + if (($94 | 0) == (HEAP32[$82 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$80 >> 2] | 0) + 40 >> 2] & 127]($80) | 0; else { + HEAP32[$79 >> 2] = $94 + 4; + __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$94 >> 2] | 0) | 0; + } + $$0 = $$1; + $152 = $127; + $31 = $80; + } + $103 = HEAP8[$8 + 11 >> 0] | 0; + if (($103 << 24 >> 24 < 0 ? HEAP32[$8 + 4 >> 2] | 0 : $103 & 255) | 0 ? ($110 = HEAP32[$12 >> 2] | 0, ($110 - $11 | 0) < 160) : 0) { + $115 = HEAP32[$13 >> 2] | 0; + HEAP32[$12 >> 2] = $110 + 4; + HEAP32[$110 >> 2] = $115; + } + $118 = __ZNSt3__227__num_get_unsigned_integralIjEET_PKcS3_Rji($$2, HEAP32[$10 >> 2] | 0, $4, $14) | 0; + HEAP32[$5 >> 2] = $118; + __ZNSt3__216__check_groupingERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjS8_Rj($8, $11, HEAP32[$12 >> 2] | 0, $4); + if ($80) { + $122 = HEAP32[$80 + 12 >> 2] | 0; + if (($122 | 0) == (HEAP32[$80 + 16 >> 2] | 0)) $$0$i$i$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$127 >> 2] | 0) + 36 >> 2] & 127]($80) | 0; else $$0$i$i$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$122 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $155 = 1; + } else $155 = 0; + } else $155 = 1; + do if ($136) { + $138 = HEAP32[$136 + 12 >> 2] | 0; + if (($138 | 0) == (HEAP32[$136 + 16 >> 2] | 0)) $$0$i$i2$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$136 >> 2] | 0) + 36 >> 2] & 127]($136) | 0; else $$0$i$i2$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$138 >> 2] | 0) | 0; + if (!(__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0)) if ($155) break; else { + label = 50; + break; + } else { + HEAP32[$2 >> 2] = 0; + label = 48; + break; + } + } else label = 48; while (0); + if ((label | 0) == 48 ? $155 : 0) label = 50; + if ((label | 0) == 50) HEAP32[$4 >> 2] = HEAP32[$4 >> 2] | 2; + $$sroa$0$0$copyload = HEAP32[$1 >> 2] | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($9); + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($8); + STACKTOP = sp; + return $$sroa$0$0$copyload | 0; +} + +function __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__do_get_unsignedItEES4_S4_S4_RNS_8ios_baseERjRT_($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$i$i = 0, $$0$i$i$i$i = 0, $$0$i$i$i$i25 = 0, $$0$i$i2$i$i = 0, $$0$i$i2$i$i31 = 0, $$0$i$i41 = 0, $$1 = 0, $$2 = 0, $$pre = 0, $$sroa$0$0$copyload = 0, $10 = 0, $104 = 0, $11 = 0, $111 = 0, $116 = 0, $119 = 0, $12 = 0, $123 = 0, $128 = 0, $13 = 0, $137 = 0, $139 = 0, $14 = 0, $15 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $18 = 0, $21 = 0, $24 = 0, $28 = 0, $29 = 0, $31 = 0, $33 = 0, $45 = 0, $48 = 0, $6 = 0, $61 = 0, $65 = 0, $73 = 0, $77 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $9 = 0, $95 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 240 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(240); + $6 = sp + 224 | 0; + $8 = sp + 212 | 0; + $9 = sp + 200 | 0; + $10 = sp + 196 | 0; + $11 = sp; + $12 = sp + 192 | 0; + $13 = sp + 188 | 0; + $14 = __ZNSt3__214__num_get_base10__get_baseERNS_8ios_baseE($3) | 0; + $15 = __ZNKSt3__29__num_getIcE10__do_widenERNS_8ios_baseEPc($0, $3, sp + 160 | 0) | 0; + __ZNSt3__29__num_getIcE17__stage2_int_prepERNS_8ios_baseERc($8, $3, $6); + HEAP32[$9 >> 2] = 0; + HEAP32[$9 + 4 >> 2] = 0; + HEAP32[$9 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$9 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + $18 = $9 + 11 | 0; + $21 = $9 + 8 | 0; + if ((HEAP8[$18 >> 0] | 0) < 0) $24 = (HEAP32[$21 >> 2] & 2147483647) + -1 | 0; else $24 = 10; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($9, $24, 0); + $28 = (HEAP8[$18 >> 0] | 0) < 0 ? HEAP32[$9 >> 2] | 0 : $9; + HEAP32[$10 >> 2] = $28; + HEAP32[$12 >> 2] = $11; + HEAP32[$13 >> 2] = 0; + $29 = $9 + 4 | 0; + $$pre = HEAP32[$1 >> 2] | 0; + $$0 = $28; + $153 = $$pre; + $31 = $$pre; + L8 : while (1) { + if ($31) { + $33 = HEAP32[$31 + 12 >> 2] | 0; + if (($33 | 0) == (HEAP32[$31 + 16 >> 2] | 0)) $$0$i$i$i$i25 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$31 >> 2] | 0) + 36 >> 2] & 127]($31) | 0; else $$0$i$i$i$i25 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$33 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i25, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $128 = 0; + $154 = 1; + $80 = 0; + } else { + $128 = $153; + $154 = 0; + $80 = $31; + } + } else { + $128 = 0; + $154 = 1; + $80 = 0; + } + $45 = HEAP32[$2 >> 2] | 0; + do if ($45) { + $48 = HEAP32[$45 + 12 >> 2] | 0; + if (($48 | 0) == (HEAP32[$45 + 16 >> 2] | 0)) $$0$i$i2$i$i31 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$45 >> 2] | 0) + 36 >> 2] & 127]($45) | 0; else $$0$i$i2$i$i31 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$48 >> 0] | 0) | 0; + if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i31, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) if ($154) { + $155 = $45; + break; + } else { + $$2 = $$0; + $137 = $45; + break L8; + } else { + HEAP32[$2 >> 2] = 0; + label = 19; + break; + } + } else label = 19; while (0); + if ((label | 0) == 19) { + label = 0; + if ($154) { + $$2 = $$0; + $137 = 0; + break; + } else $155 = 0; + } + $61 = HEAP8[$18 >> 0] | 0; + $65 = $61 << 24 >> 24 < 0 ? HEAP32[$29 >> 2] | 0 : $61 & 255; + if ((HEAP32[$10 >> 2] | 0) == ($$0 + $65 | 0)) { + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($9, $65 << 1, 0); + if ((HEAP8[$18 >> 0] | 0) < 0) $73 = (HEAP32[$21 >> 2] & 2147483647) + -1 | 0; else $73 = 10; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($9, $73, 0); + $77 = (HEAP8[$18 >> 0] | 0) < 0 ? HEAP32[$9 >> 2] | 0 : $9; + HEAP32[$10 >> 2] = $77 + $65; + $$1 = $77; + } else $$1 = $$0; + $79 = $80 + 12 | 0; + $81 = HEAP32[$79 >> 2] | 0; + $82 = $80 + 16 | 0; + if (($81 | 0) == (HEAP32[$82 >> 2] | 0)) $$0$i$i41 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$80 >> 2] | 0) + 36 >> 2] & 127]($80) | 0; else $$0$i$i41 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$81 >> 0] | 0) | 0; + if (__ZNSt3__29__num_getIcE17__stage2_int_loopEciPcRS2_RjcRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSD_PKc($$0$i$i41 & 255, $14, $$1, $10, $13, HEAP8[$6 >> 0] | 0, $8, $11, $12, $15) | 0) { + $$2 = $$1; + $137 = $155; + break; + } + $95 = HEAP32[$79 >> 2] | 0; + if (($95 | 0) == (HEAP32[$82 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$80 >> 2] | 0) + 40 >> 2] & 127]($80) | 0; else { + HEAP32[$79 >> 2] = $95 + 1; + __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$95 >> 0] | 0) | 0; + } + $$0 = $$1; + $153 = $128; + $31 = $80; + } + $104 = HEAP8[$8 + 11 >> 0] | 0; + if (($104 << 24 >> 24 < 0 ? HEAP32[$8 + 4 >> 2] | 0 : $104 & 255) | 0 ? ($111 = HEAP32[$12 >> 2] | 0, ($111 - $11 | 0) < 160) : 0) { + $116 = HEAP32[$13 >> 2] | 0; + HEAP32[$12 >> 2] = $111 + 4; + HEAP32[$111 >> 2] = $116; + } + $119 = __ZNSt3__227__num_get_unsigned_integralItEET_PKcS3_Rji($$2, HEAP32[$10 >> 2] | 0, $4, $14) | 0; + HEAP16[$5 >> 1] = $119; + __ZNSt3__216__check_groupingERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjS8_Rj($8, $11, HEAP32[$12 >> 2] | 0, $4); + if ($80) { + $123 = HEAP32[$80 + 12 >> 2] | 0; + if (($123 | 0) == (HEAP32[$80 + 16 >> 2] | 0)) $$0$i$i$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$128 >> 2] | 0) + 36 >> 2] & 127]($80) | 0; else $$0$i$i$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$123 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $156 = 1; + } else $156 = 0; + } else $156 = 1; + do if ($137) { + $139 = HEAP32[$137 + 12 >> 2] | 0; + if (($139 | 0) == (HEAP32[$137 + 16 >> 2] | 0)) $$0$i$i2$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$137 >> 2] | 0) + 36 >> 2] & 127]($137) | 0; else $$0$i$i2$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$139 >> 0] | 0) | 0; + if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) if ($156) break; else { + label = 50; + break; + } else { + HEAP32[$2 >> 2] = 0; + label = 48; + break; + } + } else label = 48; while (0); + if ((label | 0) == 48 ? $156 : 0) label = 50; + if ((label | 0) == 50) HEAP32[$4 >> 2] = HEAP32[$4 >> 2] | 2; + $$sroa$0$0$copyload = HEAP32[$1 >> 2] | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($9); + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($8); + STACKTOP = sp; + return $$sroa$0$0$copyload | 0; +} + +function __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__do_get_unsignedImEES4_S4_S4_RNS_8ios_baseERjRT_($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$i$i = 0, $$0$i$i$i$i = 0, $$0$i$i$i$i25 = 0, $$0$i$i2$i$i = 0, $$0$i$i2$i$i31 = 0, $$0$i$i41 = 0, $$1 = 0, $$2 = 0, $$pre = 0, $$sroa$0$0$copyload = 0, $10 = 0, $104 = 0, $11 = 0, $111 = 0, $116 = 0, $119 = 0, $12 = 0, $123 = 0, $128 = 0, $13 = 0, $137 = 0, $139 = 0, $14 = 0, $15 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $18 = 0, $21 = 0, $24 = 0, $28 = 0, $29 = 0, $31 = 0, $33 = 0, $45 = 0, $48 = 0, $6 = 0, $61 = 0, $65 = 0, $73 = 0, $77 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $9 = 0, $95 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 240 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(240); + $6 = sp + 224 | 0; + $8 = sp + 212 | 0; + $9 = sp + 200 | 0; + $10 = sp + 196 | 0; + $11 = sp; + $12 = sp + 192 | 0; + $13 = sp + 188 | 0; + $14 = __ZNSt3__214__num_get_base10__get_baseERNS_8ios_baseE($3) | 0; + $15 = __ZNKSt3__29__num_getIcE10__do_widenERNS_8ios_baseEPc($0, $3, sp + 160 | 0) | 0; + __ZNSt3__29__num_getIcE17__stage2_int_prepERNS_8ios_baseERc($8, $3, $6); + HEAP32[$9 >> 2] = 0; + HEAP32[$9 + 4 >> 2] = 0; + HEAP32[$9 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$9 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + $18 = $9 + 11 | 0; + $21 = $9 + 8 | 0; + if ((HEAP8[$18 >> 0] | 0) < 0) $24 = (HEAP32[$21 >> 2] & 2147483647) + -1 | 0; else $24 = 10; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($9, $24, 0); + $28 = (HEAP8[$18 >> 0] | 0) < 0 ? HEAP32[$9 >> 2] | 0 : $9; + HEAP32[$10 >> 2] = $28; + HEAP32[$12 >> 2] = $11; + HEAP32[$13 >> 2] = 0; + $29 = $9 + 4 | 0; + $$pre = HEAP32[$1 >> 2] | 0; + $$0 = $28; + $153 = $$pre; + $31 = $$pre; + L8 : while (1) { + if ($31) { + $33 = HEAP32[$31 + 12 >> 2] | 0; + if (($33 | 0) == (HEAP32[$31 + 16 >> 2] | 0)) $$0$i$i$i$i25 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$31 >> 2] | 0) + 36 >> 2] & 127]($31) | 0; else $$0$i$i$i$i25 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$33 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i25, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $128 = 0; + $154 = 1; + $80 = 0; + } else { + $128 = $153; + $154 = 0; + $80 = $31; + } + } else { + $128 = 0; + $154 = 1; + $80 = 0; + } + $45 = HEAP32[$2 >> 2] | 0; + do if ($45) { + $48 = HEAP32[$45 + 12 >> 2] | 0; + if (($48 | 0) == (HEAP32[$45 + 16 >> 2] | 0)) $$0$i$i2$i$i31 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$45 >> 2] | 0) + 36 >> 2] & 127]($45) | 0; else $$0$i$i2$i$i31 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$48 >> 0] | 0) | 0; + if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i31, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) if ($154) { + $155 = $45; + break; + } else { + $$2 = $$0; + $137 = $45; + break L8; + } else { + HEAP32[$2 >> 2] = 0; + label = 19; + break; + } + } else label = 19; while (0); + if ((label | 0) == 19) { + label = 0; + if ($154) { + $$2 = $$0; + $137 = 0; + break; + } else $155 = 0; + } + $61 = HEAP8[$18 >> 0] | 0; + $65 = $61 << 24 >> 24 < 0 ? HEAP32[$29 >> 2] | 0 : $61 & 255; + if ((HEAP32[$10 >> 2] | 0) == ($$0 + $65 | 0)) { + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($9, $65 << 1, 0); + if ((HEAP8[$18 >> 0] | 0) < 0) $73 = (HEAP32[$21 >> 2] & 2147483647) + -1 | 0; else $73 = 10; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($9, $73, 0); + $77 = (HEAP8[$18 >> 0] | 0) < 0 ? HEAP32[$9 >> 2] | 0 : $9; + HEAP32[$10 >> 2] = $77 + $65; + $$1 = $77; + } else $$1 = $$0; + $79 = $80 + 12 | 0; + $81 = HEAP32[$79 >> 2] | 0; + $82 = $80 + 16 | 0; + if (($81 | 0) == (HEAP32[$82 >> 2] | 0)) $$0$i$i41 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$80 >> 2] | 0) + 36 >> 2] & 127]($80) | 0; else $$0$i$i41 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$81 >> 0] | 0) | 0; + if (__ZNSt3__29__num_getIcE17__stage2_int_loopEciPcRS2_RjcRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSD_PKc($$0$i$i41 & 255, $14, $$1, $10, $13, HEAP8[$6 >> 0] | 0, $8, $11, $12, $15) | 0) { + $$2 = $$1; + $137 = $155; + break; + } + $95 = HEAP32[$79 >> 2] | 0; + if (($95 | 0) == (HEAP32[$82 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$80 >> 2] | 0) + 40 >> 2] & 127]($80) | 0; else { + HEAP32[$79 >> 2] = $95 + 1; + __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$95 >> 0] | 0) | 0; + } + $$0 = $$1; + $153 = $128; + $31 = $80; + } + $104 = HEAP8[$8 + 11 >> 0] | 0; + if (($104 << 24 >> 24 < 0 ? HEAP32[$8 + 4 >> 2] | 0 : $104 & 255) | 0 ? ($111 = HEAP32[$12 >> 2] | 0, ($111 - $11 | 0) < 160) : 0) { + $116 = HEAP32[$13 >> 2] | 0; + HEAP32[$12 >> 2] = $111 + 4; + HEAP32[$111 >> 2] = $116; + } + $119 = __ZNSt3__227__num_get_unsigned_integralImEET_PKcS3_Rji($$2, HEAP32[$10 >> 2] | 0, $4, $14) | 0; + HEAP32[$5 >> 2] = $119; + __ZNSt3__216__check_groupingERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjS8_Rj($8, $11, HEAP32[$12 >> 2] | 0, $4); + if ($80) { + $123 = HEAP32[$80 + 12 >> 2] | 0; + if (($123 | 0) == (HEAP32[$80 + 16 >> 2] | 0)) $$0$i$i$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$128 >> 2] | 0) + 36 >> 2] & 127]($80) | 0; else $$0$i$i$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$123 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $156 = 1; + } else $156 = 0; + } else $156 = 1; + do if ($137) { + $139 = HEAP32[$137 + 12 >> 2] | 0; + if (($139 | 0) == (HEAP32[$137 + 16 >> 2] | 0)) $$0$i$i2$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$137 >> 2] | 0) + 36 >> 2] & 127]($137) | 0; else $$0$i$i2$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$139 >> 0] | 0) | 0; + if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) if ($156) break; else { + label = 50; + break; + } else { + HEAP32[$2 >> 2] = 0; + label = 48; + break; + } + } else label = 48; while (0); + if ((label | 0) == 48 ? $156 : 0) label = 50; + if ((label | 0) == 50) HEAP32[$4 >> 2] = HEAP32[$4 >> 2] | 2; + $$sroa$0$0$copyload = HEAP32[$1 >> 2] | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($9); + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($8); + STACKTOP = sp; + return $$sroa$0$0$copyload | 0; +} + +function __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__do_get_unsignedIjEES4_S4_S4_RNS_8ios_baseERjRT_($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$i$i = 0, $$0$i$i$i$i = 0, $$0$i$i$i$i25 = 0, $$0$i$i2$i$i = 0, $$0$i$i2$i$i31 = 0, $$0$i$i41 = 0, $$1 = 0, $$2 = 0, $$pre = 0, $$sroa$0$0$copyload = 0, $10 = 0, $104 = 0, $11 = 0, $111 = 0, $116 = 0, $119 = 0, $12 = 0, $123 = 0, $128 = 0, $13 = 0, $137 = 0, $139 = 0, $14 = 0, $15 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $18 = 0, $21 = 0, $24 = 0, $28 = 0, $29 = 0, $31 = 0, $33 = 0, $45 = 0, $48 = 0, $6 = 0, $61 = 0, $65 = 0, $73 = 0, $77 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $9 = 0, $95 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 240 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(240); + $6 = sp + 224 | 0; + $8 = sp + 212 | 0; + $9 = sp + 200 | 0; + $10 = sp + 196 | 0; + $11 = sp; + $12 = sp + 192 | 0; + $13 = sp + 188 | 0; + $14 = __ZNSt3__214__num_get_base10__get_baseERNS_8ios_baseE($3) | 0; + $15 = __ZNKSt3__29__num_getIcE10__do_widenERNS_8ios_baseEPc($0, $3, sp + 160 | 0) | 0; + __ZNSt3__29__num_getIcE17__stage2_int_prepERNS_8ios_baseERc($8, $3, $6); + HEAP32[$9 >> 2] = 0; + HEAP32[$9 + 4 >> 2] = 0; + HEAP32[$9 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$9 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + $18 = $9 + 11 | 0; + $21 = $9 + 8 | 0; + if ((HEAP8[$18 >> 0] | 0) < 0) $24 = (HEAP32[$21 >> 2] & 2147483647) + -1 | 0; else $24 = 10; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($9, $24, 0); + $28 = (HEAP8[$18 >> 0] | 0) < 0 ? HEAP32[$9 >> 2] | 0 : $9; + HEAP32[$10 >> 2] = $28; + HEAP32[$12 >> 2] = $11; + HEAP32[$13 >> 2] = 0; + $29 = $9 + 4 | 0; + $$pre = HEAP32[$1 >> 2] | 0; + $$0 = $28; + $153 = $$pre; + $31 = $$pre; + L8 : while (1) { + if ($31) { + $33 = HEAP32[$31 + 12 >> 2] | 0; + if (($33 | 0) == (HEAP32[$31 + 16 >> 2] | 0)) $$0$i$i$i$i25 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$31 >> 2] | 0) + 36 >> 2] & 127]($31) | 0; else $$0$i$i$i$i25 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$33 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i25, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $128 = 0; + $154 = 1; + $80 = 0; + } else { + $128 = $153; + $154 = 0; + $80 = $31; + } + } else { + $128 = 0; + $154 = 1; + $80 = 0; + } + $45 = HEAP32[$2 >> 2] | 0; + do if ($45) { + $48 = HEAP32[$45 + 12 >> 2] | 0; + if (($48 | 0) == (HEAP32[$45 + 16 >> 2] | 0)) $$0$i$i2$i$i31 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$45 >> 2] | 0) + 36 >> 2] & 127]($45) | 0; else $$0$i$i2$i$i31 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$48 >> 0] | 0) | 0; + if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i31, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) if ($154) { + $155 = $45; + break; + } else { + $$2 = $$0; + $137 = $45; + break L8; + } else { + HEAP32[$2 >> 2] = 0; + label = 19; + break; + } + } else label = 19; while (0); + if ((label | 0) == 19) { + label = 0; + if ($154) { + $$2 = $$0; + $137 = 0; + break; + } else $155 = 0; + } + $61 = HEAP8[$18 >> 0] | 0; + $65 = $61 << 24 >> 24 < 0 ? HEAP32[$29 >> 2] | 0 : $61 & 255; + if ((HEAP32[$10 >> 2] | 0) == ($$0 + $65 | 0)) { + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($9, $65 << 1, 0); + if ((HEAP8[$18 >> 0] | 0) < 0) $73 = (HEAP32[$21 >> 2] & 2147483647) + -1 | 0; else $73 = 10; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($9, $73, 0); + $77 = (HEAP8[$18 >> 0] | 0) < 0 ? HEAP32[$9 >> 2] | 0 : $9; + HEAP32[$10 >> 2] = $77 + $65; + $$1 = $77; + } else $$1 = $$0; + $79 = $80 + 12 | 0; + $81 = HEAP32[$79 >> 2] | 0; + $82 = $80 + 16 | 0; + if (($81 | 0) == (HEAP32[$82 >> 2] | 0)) $$0$i$i41 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$80 >> 2] | 0) + 36 >> 2] & 127]($80) | 0; else $$0$i$i41 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$81 >> 0] | 0) | 0; + if (__ZNSt3__29__num_getIcE17__stage2_int_loopEciPcRS2_RjcRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSD_PKc($$0$i$i41 & 255, $14, $$1, $10, $13, HEAP8[$6 >> 0] | 0, $8, $11, $12, $15) | 0) { + $$2 = $$1; + $137 = $155; + break; + } + $95 = HEAP32[$79 >> 2] | 0; + if (($95 | 0) == (HEAP32[$82 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$80 >> 2] | 0) + 40 >> 2] & 127]($80) | 0; else { + HEAP32[$79 >> 2] = $95 + 1; + __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$95 >> 0] | 0) | 0; + } + $$0 = $$1; + $153 = $128; + $31 = $80; + } + $104 = HEAP8[$8 + 11 >> 0] | 0; + if (($104 << 24 >> 24 < 0 ? HEAP32[$8 + 4 >> 2] | 0 : $104 & 255) | 0 ? ($111 = HEAP32[$12 >> 2] | 0, ($111 - $11 | 0) < 160) : 0) { + $116 = HEAP32[$13 >> 2] | 0; + HEAP32[$12 >> 2] = $111 + 4; + HEAP32[$111 >> 2] = $116; + } + $119 = __ZNSt3__227__num_get_unsigned_integralIjEET_PKcS3_Rji($$2, HEAP32[$10 >> 2] | 0, $4, $14) | 0; + HEAP32[$5 >> 2] = $119; + __ZNSt3__216__check_groupingERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjS8_Rj($8, $11, HEAP32[$12 >> 2] | 0, $4); + if ($80) { + $123 = HEAP32[$80 + 12 >> 2] | 0; + if (($123 | 0) == (HEAP32[$80 + 16 >> 2] | 0)) $$0$i$i$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$128 >> 2] | 0) + 36 >> 2] & 127]($80) | 0; else $$0$i$i$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$123 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $156 = 1; + } else $156 = 0; + } else $156 = 1; + do if ($137) { + $139 = HEAP32[$137 + 12 >> 2] | 0; + if (($139 | 0) == (HEAP32[$137 + 16 >> 2] | 0)) $$0$i$i2$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$137 >> 2] | 0) + 36 >> 2] & 127]($137) | 0; else $$0$i$i2$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$139 >> 0] | 0) | 0; + if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) if ($156) break; else { + label = 50; + break; + } else { + HEAP32[$2 >> 2] = 0; + label = 48; + break; + } + } else label = 48; while (0); + if ((label | 0) == 48 ? $156 : 0) label = 50; + if ((label | 0) == 50) HEAP32[$4 >> 2] = HEAP32[$4 >> 2] | 2; + $$sroa$0$0$copyload = HEAP32[$1 >> 2] | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($9); + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($8); + STACKTOP = sp; + return $$sroa$0$0$copyload | 0; +} + +function __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE15__do_get_signedIlEES4_S4_S4_RNS_8ios_baseERjRT_($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$i$i = 0, $$0$i$i$i$i = 0, $$0$i$i$i$i25 = 0, $$0$i$i2$i$i = 0, $$0$i$i2$i$i31 = 0, $$0$i$i41 = 0, $$1 = 0, $$2 = 0, $$pre = 0, $$sroa$0$0$copyload = 0, $10 = 0, $103 = 0, $11 = 0, $110 = 0, $115 = 0, $118 = 0, $12 = 0, $122 = 0, $127 = 0, $13 = 0, $136 = 0, $138 = 0, $14 = 0, $15 = 0, $152 = 0, $153 = 0, $154 = 0, $155 = 0, $18 = 0, $21 = 0, $24 = 0, $28 = 0, $29 = 0, $31 = 0, $33 = 0, $45 = 0, $48 = 0, $6 = 0, $61 = 0, $65 = 0, $73 = 0, $77 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $9 = 0, $94 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 304 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(304); + $6 = sp + 300 | 0; + $8 = sp + 288 | 0; + $9 = sp + 276 | 0; + $10 = sp + 272 | 0; + $11 = sp; + $12 = sp + 268 | 0; + $13 = sp + 264 | 0; + $14 = __ZNSt3__214__num_get_base10__get_baseERNS_8ios_baseE($3) | 0; + $15 = __ZNKSt3__29__num_getIwE10__do_widenERNS_8ios_baseEPw($0, $3, sp + 160 | 0) | 0; + __ZNSt3__29__num_getIwE17__stage2_int_prepERNS_8ios_baseERw($8, $3, $6); + HEAP32[$9 >> 2] = 0; + HEAP32[$9 + 4 >> 2] = 0; + HEAP32[$9 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$9 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + $18 = $9 + 11 | 0; + $21 = $9 + 8 | 0; + if ((HEAP8[$18 >> 0] | 0) < 0) $24 = (HEAP32[$21 >> 2] & 2147483647) + -1 | 0; else $24 = 10; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($9, $24, 0); + $28 = (HEAP8[$18 >> 0] | 0) < 0 ? HEAP32[$9 >> 2] | 0 : $9; + HEAP32[$10 >> 2] = $28; + HEAP32[$12 >> 2] = $11; + HEAP32[$13 >> 2] = 0; + $29 = $9 + 4 | 0; + $$pre = HEAP32[$1 >> 2] | 0; + $$0 = $28; + $152 = $$pre; + $31 = $$pre; + L8 : while (1) { + if ($31) { + $33 = HEAP32[$31 + 12 >> 2] | 0; + if (($33 | 0) == (HEAP32[$31 + 16 >> 2] | 0)) $$0$i$i$i$i25 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$31 >> 2] | 0) + 36 >> 2] & 127]($31) | 0; else $$0$i$i$i$i25 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$33 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i25, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $127 = 0; + $153 = 1; + $80 = 0; + } else { + $127 = $152; + $153 = 0; + $80 = $31; + } + } else { + $127 = 0; + $153 = 1; + $80 = 0; + } + $45 = HEAP32[$2 >> 2] | 0; + do if ($45) { + $48 = HEAP32[$45 + 12 >> 2] | 0; + if (($48 | 0) == (HEAP32[$45 + 16 >> 2] | 0)) $$0$i$i2$i$i31 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$45 >> 2] | 0) + 36 >> 2] & 127]($45) | 0; else $$0$i$i2$i$i31 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$48 >> 2] | 0) | 0; + if (!(__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i31, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0)) if ($153) { + $154 = $45; + break; + } else { + $$2 = $$0; + $136 = $45; + break L8; + } else { + HEAP32[$2 >> 2] = 0; + label = 19; + break; + } + } else label = 19; while (0); + if ((label | 0) == 19) { + label = 0; + if ($153) { + $$2 = $$0; + $136 = 0; + break; + } else $154 = 0; + } + $61 = HEAP8[$18 >> 0] | 0; + $65 = $61 << 24 >> 24 < 0 ? HEAP32[$29 >> 2] | 0 : $61 & 255; + if ((HEAP32[$10 >> 2] | 0) == ($$0 + $65 | 0)) { + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($9, $65 << 1, 0); + if ((HEAP8[$18 >> 0] | 0) < 0) $73 = (HEAP32[$21 >> 2] & 2147483647) + -1 | 0; else $73 = 10; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($9, $73, 0); + $77 = (HEAP8[$18 >> 0] | 0) < 0 ? HEAP32[$9 >> 2] | 0 : $9; + HEAP32[$10 >> 2] = $77 + $65; + $$1 = $77; + } else $$1 = $$0; + $79 = $80 + 12 | 0; + $81 = HEAP32[$79 >> 2] | 0; + $82 = $80 + 16 | 0; + if (($81 | 0) == (HEAP32[$82 >> 2] | 0)) $$0$i$i41 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$80 >> 2] | 0) + 36 >> 2] & 127]($80) | 0; else $$0$i$i41 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$81 >> 2] | 0) | 0; + if (__ZNSt3__29__num_getIwE17__stage2_int_loopEwiPcRS2_RjwRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSD_PKw($$0$i$i41, $14, $$1, $10, $13, HEAP32[$6 >> 2] | 0, $8, $11, $12, $15) | 0) { + $$2 = $$1; + $136 = $154; + break; + } + $94 = HEAP32[$79 >> 2] | 0; + if (($94 | 0) == (HEAP32[$82 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$80 >> 2] | 0) + 40 >> 2] & 127]($80) | 0; else { + HEAP32[$79 >> 2] = $94 + 4; + __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$94 >> 2] | 0) | 0; + } + $$0 = $$1; + $152 = $127; + $31 = $80; + } + $103 = HEAP8[$8 + 11 >> 0] | 0; + if (($103 << 24 >> 24 < 0 ? HEAP32[$8 + 4 >> 2] | 0 : $103 & 255) | 0 ? ($110 = HEAP32[$12 >> 2] | 0, ($110 - $11 | 0) < 160) : 0) { + $115 = HEAP32[$13 >> 2] | 0; + HEAP32[$12 >> 2] = $110 + 4; + HEAP32[$110 >> 2] = $115; + } + $118 = __ZNSt3__225__num_get_signed_integralIlEET_PKcS3_Rji($$2, HEAP32[$10 >> 2] | 0, $4, $14) | 0; + HEAP32[$5 >> 2] = $118; + __ZNSt3__216__check_groupingERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjS8_Rj($8, $11, HEAP32[$12 >> 2] | 0, $4); + if ($80) { + $122 = HEAP32[$80 + 12 >> 2] | 0; + if (($122 | 0) == (HEAP32[$80 + 16 >> 2] | 0)) $$0$i$i$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$127 >> 2] | 0) + 36 >> 2] & 127]($80) | 0; else $$0$i$i$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$122 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $155 = 1; + } else $155 = 0; + } else $155 = 1; + do if ($136) { + $138 = HEAP32[$136 + 12 >> 2] | 0; + if (($138 | 0) == (HEAP32[$136 + 16 >> 2] | 0)) $$0$i$i2$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$136 >> 2] | 0) + 36 >> 2] & 127]($136) | 0; else $$0$i$i2$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$138 >> 2] | 0) | 0; + if (!(__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0)) if ($155) break; else { + label = 50; + break; + } else { + HEAP32[$2 >> 2] = 0; + label = 48; + break; + } + } else label = 48; while (0); + if ((label | 0) == 48 ? $155 : 0) label = 50; + if ((label | 0) == 50) HEAP32[$4 >> 2] = HEAP32[$4 >> 2] | 2; + $$sroa$0$0$copyload = HEAP32[$1 >> 2] | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($9); + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($8); + STACKTOP = sp; + return $$sroa$0$0$copyload | 0; +} + +function __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE15__do_get_signedIlEES4_S4_S4_RNS_8ios_baseERjRT_($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$i$i = 0, $$0$i$i$i$i = 0, $$0$i$i$i$i25 = 0, $$0$i$i2$i$i = 0, $$0$i$i2$i$i31 = 0, $$0$i$i41 = 0, $$1 = 0, $$2 = 0, $$pre = 0, $$sroa$0$0$copyload = 0, $10 = 0, $104 = 0, $11 = 0, $111 = 0, $116 = 0, $119 = 0, $12 = 0, $123 = 0, $128 = 0, $13 = 0, $137 = 0, $139 = 0, $14 = 0, $15 = 0, $153 = 0, $154 = 0, $155 = 0, $156 = 0, $18 = 0, $21 = 0, $24 = 0, $28 = 0, $29 = 0, $31 = 0, $33 = 0, $45 = 0, $48 = 0, $6 = 0, $61 = 0, $65 = 0, $73 = 0, $77 = 0, $79 = 0, $8 = 0, $80 = 0, $81 = 0, $82 = 0, $9 = 0, $95 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 240 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(240); + $6 = sp + 224 | 0; + $8 = sp + 212 | 0; + $9 = sp + 200 | 0; + $10 = sp + 196 | 0; + $11 = sp; + $12 = sp + 192 | 0; + $13 = sp + 188 | 0; + $14 = __ZNSt3__214__num_get_base10__get_baseERNS_8ios_baseE($3) | 0; + $15 = __ZNKSt3__29__num_getIcE10__do_widenERNS_8ios_baseEPc($0, $3, sp + 160 | 0) | 0; + __ZNSt3__29__num_getIcE17__stage2_int_prepERNS_8ios_baseERc($8, $3, $6); + HEAP32[$9 >> 2] = 0; + HEAP32[$9 + 4 >> 2] = 0; + HEAP32[$9 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$9 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + $18 = $9 + 11 | 0; + $21 = $9 + 8 | 0; + if ((HEAP8[$18 >> 0] | 0) < 0) $24 = (HEAP32[$21 >> 2] & 2147483647) + -1 | 0; else $24 = 10; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($9, $24, 0); + $28 = (HEAP8[$18 >> 0] | 0) < 0 ? HEAP32[$9 >> 2] | 0 : $9; + HEAP32[$10 >> 2] = $28; + HEAP32[$12 >> 2] = $11; + HEAP32[$13 >> 2] = 0; + $29 = $9 + 4 | 0; + $$pre = HEAP32[$1 >> 2] | 0; + $$0 = $28; + $153 = $$pre; + $31 = $$pre; + L8 : while (1) { + if ($31) { + $33 = HEAP32[$31 + 12 >> 2] | 0; + if (($33 | 0) == (HEAP32[$31 + 16 >> 2] | 0)) $$0$i$i$i$i25 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$31 >> 2] | 0) + 36 >> 2] & 127]($31) | 0; else $$0$i$i$i$i25 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$33 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i25, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $128 = 0; + $154 = 1; + $80 = 0; + } else { + $128 = $153; + $154 = 0; + $80 = $31; + } + } else { + $128 = 0; + $154 = 1; + $80 = 0; + } + $45 = HEAP32[$2 >> 2] | 0; + do if ($45) { + $48 = HEAP32[$45 + 12 >> 2] | 0; + if (($48 | 0) == (HEAP32[$45 + 16 >> 2] | 0)) $$0$i$i2$i$i31 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$45 >> 2] | 0) + 36 >> 2] & 127]($45) | 0; else $$0$i$i2$i$i31 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$48 >> 0] | 0) | 0; + if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i31, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) if ($154) { + $155 = $45; + break; + } else { + $$2 = $$0; + $137 = $45; + break L8; + } else { + HEAP32[$2 >> 2] = 0; + label = 19; + break; + } + } else label = 19; while (0); + if ((label | 0) == 19) { + label = 0; + if ($154) { + $$2 = $$0; + $137 = 0; + break; + } else $155 = 0; + } + $61 = HEAP8[$18 >> 0] | 0; + $65 = $61 << 24 >> 24 < 0 ? HEAP32[$29 >> 2] | 0 : $61 & 255; + if ((HEAP32[$10 >> 2] | 0) == ($$0 + $65 | 0)) { + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($9, $65 << 1, 0); + if ((HEAP8[$18 >> 0] | 0) < 0) $73 = (HEAP32[$21 >> 2] & 2147483647) + -1 | 0; else $73 = 10; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($9, $73, 0); + $77 = (HEAP8[$18 >> 0] | 0) < 0 ? HEAP32[$9 >> 2] | 0 : $9; + HEAP32[$10 >> 2] = $77 + $65; + $$1 = $77; + } else $$1 = $$0; + $79 = $80 + 12 | 0; + $81 = HEAP32[$79 >> 2] | 0; + $82 = $80 + 16 | 0; + if (($81 | 0) == (HEAP32[$82 >> 2] | 0)) $$0$i$i41 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$80 >> 2] | 0) + 36 >> 2] & 127]($80) | 0; else $$0$i$i41 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$81 >> 0] | 0) | 0; + if (__ZNSt3__29__num_getIcE17__stage2_int_loopEciPcRS2_RjcRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSD_PKc($$0$i$i41 & 255, $14, $$1, $10, $13, HEAP8[$6 >> 0] | 0, $8, $11, $12, $15) | 0) { + $$2 = $$1; + $137 = $155; + break; + } + $95 = HEAP32[$79 >> 2] | 0; + if (($95 | 0) == (HEAP32[$82 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$80 >> 2] | 0) + 40 >> 2] & 127]($80) | 0; else { + HEAP32[$79 >> 2] = $95 + 1; + __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$95 >> 0] | 0) | 0; + } + $$0 = $$1; + $153 = $128; + $31 = $80; + } + $104 = HEAP8[$8 + 11 >> 0] | 0; + if (($104 << 24 >> 24 < 0 ? HEAP32[$8 + 4 >> 2] | 0 : $104 & 255) | 0 ? ($111 = HEAP32[$12 >> 2] | 0, ($111 - $11 | 0) < 160) : 0) { + $116 = HEAP32[$13 >> 2] | 0; + HEAP32[$12 >> 2] = $111 + 4; + HEAP32[$111 >> 2] = $116; + } + $119 = __ZNSt3__225__num_get_signed_integralIlEET_PKcS3_Rji($$2, HEAP32[$10 >> 2] | 0, $4, $14) | 0; + HEAP32[$5 >> 2] = $119; + __ZNSt3__216__check_groupingERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjS8_Rj($8, $11, HEAP32[$12 >> 2] | 0, $4); + if ($80) { + $123 = HEAP32[$80 + 12 >> 2] | 0; + if (($123 | 0) == (HEAP32[$80 + 16 >> 2] | 0)) $$0$i$i$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$128 >> 2] | 0) + 36 >> 2] & 127]($80) | 0; else $$0$i$i$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$123 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $156 = 1; + } else $156 = 0; + } else $156 = 1; + do if ($137) { + $139 = HEAP32[$137 + 12 >> 2] | 0; + if (($139 | 0) == (HEAP32[$137 + 16 >> 2] | 0)) $$0$i$i2$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$137 >> 2] | 0) + 36 >> 2] & 127]($137) | 0; else $$0$i$i2$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$139 >> 0] | 0) | 0; + if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) if ($156) break; else { + label = 50; + break; + } else { + HEAP32[$2 >> 2] = 0; + label = 48; + break; + } + } else label = 48; while (0); + if ((label | 0) == 48 ? $156 : 0) label = 50; + if ((label | 0) == 50) HEAP32[$4 >> 2] = HEAP32[$4 >> 2] | 2; + $$sroa$0$0$copyload = HEAP32[$1 >> 2] | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($9); + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($8); + STACKTOP = sp; + return $$sroa$0$0$copyload | 0; +} + +function _jpeg_idct_8x16($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0320328 = 0, $$0322327 = 0, $$0323326 = 0, $$0329 = 0, $$1321324 = 0, $$1325 = 0, $101 = 0, $103 = 0, $109 = 0, $114 = 0, $115 = 0, $118 = 0, $122 = 0, $128 = 0, $130 = 0, $131 = 0, $132 = 0, $134 = 0, $135 = 0, $136 = 0, $15 = 0, $188 = 0, $191 = 0, $193 = 0, $195 = 0, $197 = 0, $199 = 0, $201 = 0, $203 = 0, $205 = 0, $207 = 0, $209 = 0, $21 = 0, $210 = 0, $211 = 0, $212 = 0, $213 = 0, $215 = 0, $217 = 0, $219 = 0, $22 = 0, $221 = 0, $222 = 0, $223 = 0, $225 = 0, $228 = 0, $229 = 0, $23 = 0, $231 = 0, $235 = 0, $237 = 0, $239 = 0, $24 = 0, $243 = 0, $245 = 0, $25 = 0, $26 = 0, $27 = 0, $33 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $44 = 0, $46 = 0, $48 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $58 = 0, $64 = 0, $7 = 0, $70 = 0, $76 = 0, $82 = 0, $83 = 0, $85 = 0, $86 = 0, $88 = 0, $90 = 0, $91 = 0, $93 = 0, $97 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 512 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(512); + $5 = sp; + $7 = HEAP32[$0 + 336 >> 2] | 0; + $$0320328 = $5; + $$0322327 = HEAP32[$1 + 84 >> 2] | 0; + $$0323326 = $2; + $$0329 = 0; + while (1) { + $15 = Math_imul(HEAP16[$$0323326 >> 1] << 13, HEAP32[$$0322327 >> 2] | 0) | 0 | 1024; + $21 = Math_imul(HEAP32[$$0322327 + 128 >> 2] | 0, HEAP16[$$0323326 + 64 >> 1] | 0) | 0; + $22 = $21 * 10703 | 0; + $23 = $21 * 4433 | 0; + $24 = $22 + $15 | 0; + $25 = $15 - $22 | 0; + $26 = $23 + $15 | 0; + $27 = $15 - $23 | 0; + $33 = Math_imul(HEAP32[$$0322327 + 64 >> 2] | 0, HEAP16[$$0323326 + 32 >> 1] | 0) | 0; + $39 = Math_imul(HEAP32[$$0322327 + 192 >> 2] | 0, HEAP16[$$0323326 + 96 >> 1] | 0) | 0; + $40 = $33 - $39 | 0; + $41 = $40 * 2260 | 0; + $42 = $40 * 11363 | 0; + $44 = $42 + ($39 * 20995 | 0) | 0; + $46 = $41 + ($33 * 7373 | 0) | 0; + $48 = $42 + (Math_imul($33, -4926) | 0) | 0; + $50 = $41 + (Math_imul($39, -4176) | 0) | 0; + $51 = $44 + $24 | 0; + $52 = $24 - $44 | 0; + $53 = $46 + $26 | 0; + $54 = $26 - $46 | 0; + $55 = $48 + $27 | 0; + $56 = $27 - $48 | 0; + $57 = $50 + $25 | 0; + $58 = $25 - $50 | 0; + $64 = Math_imul(HEAP32[$$0322327 + 32 >> 2] | 0, HEAP16[$$0323326 + 16 >> 1] | 0) | 0; + $70 = Math_imul(HEAP32[$$0322327 + 96 >> 2] | 0, HEAP16[$$0323326 + 48 >> 1] | 0) | 0; + $76 = Math_imul(HEAP32[$$0322327 + 160 >> 2] | 0, HEAP16[$$0323326 + 80 >> 1] | 0) | 0; + $82 = Math_imul(HEAP32[$$0322327 + 224 >> 2] | 0, HEAP16[$$0323326 + 112 >> 1] | 0) | 0; + $83 = $76 + $64 | 0; + $85 = ($70 + $64 | 0) * 11086 | 0; + $86 = $83 * 10217 | 0; + $88 = ($82 + $64 | 0) * 8956 | 0; + $90 = ($64 - $82 | 0) * 7350 | 0; + $91 = $83 * 5461 | 0; + $93 = ($64 - $70 | 0) * 3363 | 0; + $97 = $85 + (Math_imul($64, -18730) | 0) + $86 + $88 | 0; + $101 = $93 + (Math_imul($64, -15038) | 0) + $91 + $90 | 0; + $103 = ($76 + $70 | 0) * 1136 | 0; + $109 = ($76 - $70 | 0) * 11529 | 0; + $114 = $82 + $70 | 0; + $115 = Math_imul($114, -5461) | 0; + $118 = $85 + ($70 * 589 | 0) + $103 + $115 | 0; + $122 = Math_imul($114, -10217) | 0; + $128 = $93 + ($70 * 16154 | 0) + $109 + $122 | 0; + $130 = Math_imul($82 + $76 | 0, -11086) | 0; + $131 = $103 + (Math_imul($76, -9222) | 0) + $86 + $130 | 0; + $132 = $115 + ($82 * 8728 | 0) + $88 + $130 | 0; + $134 = ($82 - $76 | 0) * 3363 | 0; + $135 = $122 + ($82 * 25733 | 0) + $90 + $134 | 0; + $136 = $109 + (Math_imul($76, -6278) | 0) + $91 + $134 | 0; + HEAP32[$$0320328 >> 2] = $97 + $51 >> 11; + HEAP32[$$0320328 + 480 >> 2] = $51 - $97 >> 11; + HEAP32[$$0320328 + 32 >> 2] = $118 + $53 >> 11; + HEAP32[$$0320328 + 448 >> 2] = $53 - $118 >> 11; + HEAP32[$$0320328 + 64 >> 2] = $131 + $55 >> 11; + HEAP32[$$0320328 + 416 >> 2] = $55 - $131 >> 11; + HEAP32[$$0320328 + 96 >> 2] = $132 + $57 >> 11; + HEAP32[$$0320328 + 384 >> 2] = $57 - $132 >> 11; + HEAP32[$$0320328 + 128 >> 2] = $135 + $58 >> 11; + HEAP32[$$0320328 + 352 >> 2] = $58 - $135 >> 11; + HEAP32[$$0320328 + 160 >> 2] = $136 + $56 >> 11; + HEAP32[$$0320328 + 320 >> 2] = $56 - $136 >> 11; + HEAP32[$$0320328 + 192 >> 2] = $128 + $54 >> 11; + HEAP32[$$0320328 + 288 >> 2] = $54 - $128 >> 11; + HEAP32[$$0320328 + 224 >> 2] = $101 + $52 >> 11; + HEAP32[$$0320328 + 256 >> 2] = $52 - $101 >> 11; + $$0329 = $$0329 + 1 | 0; + if (($$0329 | 0) == 8) break; else { + $$0320328 = $$0320328 + 4 | 0; + $$0322327 = $$0322327 + 4 | 0; + $$0323326 = $$0323326 + 2 | 0; + } + } + $188 = $7 + -384 | 0; + $$1321324 = $5; + $$1325 = 0; + while (1) { + $191 = (HEAP32[$3 + ($$1325 << 2) >> 2] | 0) + $4 | 0; + $193 = (HEAP32[$$1321324 >> 2] | 0) + 16400 | 0; + $195 = HEAP32[$$1321324 + 16 >> 2] | 0; + $197 = $193 + $195 << 13; + $199 = $193 - $195 << 13; + $201 = HEAP32[$$1321324 + 8 >> 2] | 0; + $203 = HEAP32[$$1321324 + 24 >> 2] | 0; + $205 = ($203 + $201 | 0) * 4433 | 0; + $207 = $205 + ($201 * 6270 | 0) | 0; + $209 = $205 + (Math_imul($203, -15137) | 0) | 0; + $210 = $207 + $197 | 0; + $211 = $197 - $207 | 0; + $212 = $209 + $199 | 0; + $213 = $199 - $209 | 0; + $215 = HEAP32[$$1321324 + 28 >> 2] | 0; + $217 = HEAP32[$$1321324 + 20 >> 2] | 0; + $219 = HEAP32[$$1321324 + 12 >> 2] | 0; + $221 = HEAP32[$$1321324 + 4 >> 2] | 0; + $222 = $219 + $215 | 0; + $223 = $221 + $217 | 0; + $225 = ($223 + $222 | 0) * 9633 | 0; + $228 = $225 + (Math_imul($222, -16069) | 0) | 0; + $229 = $225 + (Math_imul($223, -3196) | 0) | 0; + $231 = Math_imul($221 + $215 | 0, -7373) | 0; + $235 = $231 + ($215 * 2446 | 0) + $228 | 0; + $237 = $231 + ($221 * 12299 | 0) + $229 | 0; + $239 = Math_imul($219 + $217 | 0, -20995) | 0; + $243 = $239 + ($217 * 16819 | 0) + $229 | 0; + $245 = $239 + ($219 * 25172 | 0) + $228 | 0; + HEAP8[$191 >> 0] = HEAP8[$188 + (($237 + $210 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$191 + 7 >> 0] = HEAP8[$188 + (($210 - $237 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$191 + 1 >> 0] = HEAP8[$188 + (($245 + $212 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$191 + 6 >> 0] = HEAP8[$188 + (($212 - $245 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$191 + 2 >> 0] = HEAP8[$188 + (($243 + $213 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$191 + 5 >> 0] = HEAP8[$188 + (($213 - $243 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$191 + 3 >> 0] = HEAP8[$188 + (($235 + $211 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$191 + 4 >> 0] = HEAP8[$188 + (($211 - $235 | 0) >>> 18 & 1023) >> 0] | 0; + $$1325 = $$1325 + 1 | 0; + if (($$1325 | 0) == 16) break; else $$1321324 = $$1321324 + 32 | 0; + } + STACKTOP = sp; + return; +} + +function _jpeg_idct_4x4($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $103 = 0, $109 = 0, $111 = 0, $113 = 0, $119 = 0, $125 = 0, $128 = 0, $13 = 0, $131 = 0, $134 = 0, $135 = 0, $148 = 0, $154 = 0, $156 = 0, $158 = 0, $164 = 0, $170 = 0, $173 = 0, $176 = 0, $179 = 0, $180 = 0, $183 = 0, $187 = 0, $189 = 0, $19 = 0, $191 = 0, $193 = 0, $195 = 0, $196 = 0, $198 = 0, $200 = 0, $202 = 0, $21 = 0, $228 = 0, $23 = 0, $230 = 0, $232 = 0, $234 = 0, $236 = 0, $238 = 0, $240 = 0, $242 = 0, $244 = 0, $271 = 0, $273 = 0, $275 = 0, $277 = 0, $279 = 0, $281 = 0, $283 = 0, $285 = 0, $287 = 0, $289 = 0, $29 = 0, $316 = 0, $318 = 0, $320 = 0, $322 = 0, $324 = 0, $326 = 0, $328 = 0, $330 = 0, $332 = 0, $334 = 0, $35 = 0, $38 = 0, $41 = 0, $44 = 0, $49 = 0, $5 = 0, $54 = 0, $58 = 0, $64 = 0, $66 = 0, $68 = 0, $7 = 0, $74 = 0, $80 = 0, $83 = 0, $86 = 0, $89 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(64); + $5 = sp; + $7 = HEAP32[$0 + 336 >> 2] | 0; + $9 = HEAP32[$1 + 84 >> 2] | 0; + $13 = Math_imul(HEAP32[$9 >> 2] | 0, HEAP16[$2 >> 1] | 0) | 0; + $19 = Math_imul(HEAP32[$9 + 64 >> 2] | 0, HEAP16[$2 + 32 >> 1] | 0) | 0; + $21 = $19 + $13 << 2; + $23 = $13 - $19 << 2; + $29 = Math_imul(HEAP32[$9 + 32 >> 2] | 0, HEAP16[$2 + 16 >> 1] | 0) | 0; + $35 = Math_imul(HEAP32[$9 + 96 >> 2] | 0, HEAP16[$2 + 48 >> 1] | 0) | 0; + $38 = (($35 + $29 | 0) * 4433 | 0) + 1024 | 0; + $41 = $38 + ($29 * 6270 | 0) >> 11; + $44 = $38 + (Math_imul($35, -15137) | 0) >> 11; + HEAP32[$5 >> 2] = $41 + $21; + HEAP32[$5 + 48 >> 2] = $21 - $41; + $49 = $5 + 16 | 0; + HEAP32[$49 >> 2] = $44 + $23; + HEAP32[$5 + 32 >> 2] = $23 - $44; + $54 = $5 + 4 | 0; + $58 = Math_imul(HEAP32[$9 + 4 >> 2] | 0, HEAP16[$2 + 2 >> 1] | 0) | 0; + $64 = Math_imul(HEAP32[$9 + 68 >> 2] | 0, HEAP16[$2 + 34 >> 1] | 0) | 0; + $66 = $64 + $58 << 2; + $68 = $58 - $64 << 2; + $74 = Math_imul(HEAP32[$9 + 36 >> 2] | 0, HEAP16[$2 + 18 >> 1] | 0) | 0; + $80 = Math_imul(HEAP32[$9 + 100 >> 2] | 0, HEAP16[$2 + 50 >> 1] | 0) | 0; + $83 = (($80 + $74 | 0) * 4433 | 0) + 1024 | 0; + $86 = $83 + ($74 * 6270 | 0) >> 11; + $89 = $83 + (Math_imul($80, -15137) | 0) >> 11; + HEAP32[$54 >> 2] = $86 + $66; + HEAP32[$5 + 52 >> 2] = $66 - $86; + HEAP32[$5 + 20 >> 2] = $89 + $68; + HEAP32[$5 + 36 >> 2] = $68 - $89; + $103 = Math_imul(HEAP32[$9 + 8 >> 2] | 0, HEAP16[$2 + 4 >> 1] | 0) | 0; + $109 = Math_imul(HEAP32[$9 + 72 >> 2] | 0, HEAP16[$2 + 36 >> 1] | 0) | 0; + $111 = $109 + $103 << 2; + $113 = $103 - $109 << 2; + $119 = Math_imul(HEAP32[$9 + 40 >> 2] | 0, HEAP16[$2 + 20 >> 1] | 0) | 0; + $125 = Math_imul(HEAP32[$9 + 104 >> 2] | 0, HEAP16[$2 + 52 >> 1] | 0) | 0; + $128 = (($125 + $119 | 0) * 4433 | 0) + 1024 | 0; + $131 = $128 + ($119 * 6270 | 0) >> 11; + $134 = $128 + (Math_imul($125, -15137) | 0) >> 11; + $135 = $131 + $111 | 0; + HEAP32[$5 + 8 >> 2] = $135; + HEAP32[$5 + 56 >> 2] = $111 - $131; + HEAP32[$5 + 24 >> 2] = $134 + $113; + HEAP32[$5 + 40 >> 2] = $113 - $134; + $148 = Math_imul(HEAP32[$9 + 12 >> 2] | 0, HEAP16[$2 + 6 >> 1] | 0) | 0; + $154 = Math_imul(HEAP32[$9 + 76 >> 2] | 0, HEAP16[$2 + 38 >> 1] | 0) | 0; + $156 = $154 + $148 << 2; + $158 = $148 - $154 << 2; + $164 = Math_imul(HEAP32[$9 + 44 >> 2] | 0, HEAP16[$2 + 22 >> 1] | 0) | 0; + $170 = Math_imul(HEAP32[$9 + 108 >> 2] | 0, HEAP16[$2 + 54 >> 1] | 0) | 0; + $173 = (($170 + $164 | 0) * 4433 | 0) + 1024 | 0; + $176 = $173 + ($164 * 6270 | 0) >> 11; + $179 = $173 + (Math_imul($170, -15137) | 0) >> 11; + $180 = $176 + $156 | 0; + HEAP32[$5 + 12 >> 2] = $180; + HEAP32[$5 + 60 >> 2] = $156 - $176; + $183 = $179 + $158 | 0; + HEAP32[$5 + 28 >> 2] = $183; + HEAP32[$5 + 44 >> 2] = $158 - $179; + $187 = $7 + -384 | 0; + $189 = (HEAP32[$3 >> 2] | 0) + $4 | 0; + $191 = (HEAP32[$5 >> 2] | 0) + 16400 | 0; + $193 = $191 + $135 << 13; + $195 = $191 - $135 << 13; + $196 = HEAP32[$54 >> 2] | 0; + $198 = ($180 + $196 | 0) * 4433 | 0; + $200 = $198 + ($196 * 6270 | 0) | 0; + $202 = $198 + (Math_imul($180, -15137) | 0) | 0; + HEAP8[$189 >> 0] = HEAP8[$187 + (($200 + $193 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$189 + 3 >> 0] = HEAP8[$187 + (($193 - $200 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$189 + 1 >> 0] = HEAP8[$187 + (($202 + $195 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$189 + 2 >> 0] = HEAP8[$187 + (($195 - $202 | 0) >>> 18 & 1023) >> 0] | 0; + $228 = (HEAP32[$3 + 4 >> 2] | 0) + $4 | 0; + $230 = (HEAP32[$49 >> 2] | 0) + 16400 | 0; + $232 = HEAP32[$5 + 24 >> 2] | 0; + $234 = $230 + $232 << 13; + $236 = $230 - $232 << 13; + $238 = HEAP32[$5 + 20 >> 2] | 0; + $240 = ($183 + $238 | 0) * 4433 | 0; + $242 = $240 + ($238 * 6270 | 0) | 0; + $244 = $240 + (Math_imul($183, -15137) | 0) | 0; + HEAP8[$228 >> 0] = HEAP8[$187 + (($242 + $234 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$228 + 3 >> 0] = HEAP8[$187 + (($234 - $242 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$228 + 1 >> 0] = HEAP8[$187 + (($244 + $236 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$228 + 2 >> 0] = HEAP8[$187 + (($236 - $244 | 0) >>> 18 & 1023) >> 0] | 0; + $271 = (HEAP32[$3 + 8 >> 2] | 0) + $4 | 0; + $273 = (HEAP32[$5 + 32 >> 2] | 0) + 16400 | 0; + $275 = HEAP32[$5 + 40 >> 2] | 0; + $277 = $273 + $275 << 13; + $279 = $273 - $275 << 13; + $281 = HEAP32[$5 + 36 >> 2] | 0; + $283 = HEAP32[$5 + 44 >> 2] | 0; + $285 = ($283 + $281 | 0) * 4433 | 0; + $287 = $285 + ($281 * 6270 | 0) | 0; + $289 = $285 + (Math_imul($283, -15137) | 0) | 0; + HEAP8[$271 >> 0] = HEAP8[$187 + (($287 + $277 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$271 + 3 >> 0] = HEAP8[$187 + (($277 - $287 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$271 + 1 >> 0] = HEAP8[$187 + (($289 + $279 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$271 + 2 >> 0] = HEAP8[$187 + (($279 - $289 | 0) >>> 18 & 1023) >> 0] | 0; + $316 = (HEAP32[$3 + 12 >> 2] | 0) + $4 | 0; + $318 = (HEAP32[$5 + 48 >> 2] | 0) + 16400 | 0; + $320 = HEAP32[$5 + 56 >> 2] | 0; + $322 = $318 + $320 << 13; + $324 = $318 - $320 << 13; + $326 = HEAP32[$5 + 52 >> 2] | 0; + $328 = HEAP32[$5 + 60 >> 2] | 0; + $330 = ($328 + $326 | 0) * 4433 | 0; + $332 = $330 + ($326 * 6270 | 0) | 0; + $334 = $330 + (Math_imul($328, -15137) | 0) | 0; + HEAP8[$316 >> 0] = HEAP8[$187 + (($332 + $322 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$316 + 3 >> 0] = HEAP8[$187 + (($322 - $332 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$316 + 1 >> 0] = HEAP8[$187 + (($334 + $324 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$316 + 2 >> 0] = HEAP8[$187 + (($324 - $334 | 0) >>> 18 & 1023) >> 0] | 0; + STACKTOP = sp; + return; +} + +function _jpeg_idct_11x11($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0286294 = 0, $$0288293 = 0, $$0289292 = 0, $$0295 = 0, $$1287290 = 0, $$1291 = 0, $101 = 0, $105 = 0, $107 = 0, $110 = 0, $113 = 0, $119 = 0, $15 = 0, $155 = 0, $158 = 0, $161 = 0, $163 = 0, $165 = 0, $167 = 0, $171 = 0, $172 = 0, $174 = 0, $176 = 0, $178 = 0, $180 = 0, $182 = 0, $185 = 0, $186 = 0, $188 = 0, $192 = 0, $194 = 0, $196 = 0, $198 = 0, $200 = 0, $202 = 0, $203 = 0, $206 = 0, $207 = 0, $209 = 0, $21 = 0, $212 = 0, $216 = 0, $219 = 0, $223 = 0, $225 = 0, $228 = 0, $231 = 0, $237 = 0, $27 = 0, $33 = 0, $37 = 0, $38 = 0, $40 = 0, $42 = 0, $44 = 0, $46 = 0, $48 = 0, $5 = 0, $51 = 0, $52 = 0, $54 = 0, $58 = 0, $60 = 0, $66 = 0, $7 = 0, $72 = 0, $78 = 0, $84 = 0, $85 = 0, $88 = 0, $89 = 0, $91 = 0, $94 = 0, $98 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 352 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(352); + $5 = sp; + $7 = HEAP32[$0 + 336 >> 2] | 0; + $$0286294 = $5; + $$0288293 = HEAP32[$1 + 84 >> 2] | 0; + $$0289292 = $2; + $$0295 = 0; + while (1) { + $15 = Math_imul(HEAP16[$$0289292 >> 1] << 13, HEAP32[$$0288293 >> 2] | 0) | 0 | 1024; + $21 = Math_imul(HEAP32[$$0288293 + 64 >> 2] | 0, HEAP16[$$0289292 + 32 >> 1] | 0) | 0; + $27 = Math_imul(HEAP32[$$0288293 + 128 >> 2] | 0, HEAP16[$$0289292 + 64 >> 1] | 0) | 0; + $33 = Math_imul(HEAP32[$$0288293 + 192 >> 2] | 0, HEAP16[$$0289292 + 96 >> 1] | 0) | 0; + $37 = ($27 - $21 | 0) * 3529 | 0; + $38 = $33 + $21 | 0; + $40 = $38 - $27 | 0; + $42 = ($40 * 11116 | 0) + $15 | 0; + $44 = $42 + (($27 - $33 | 0) * 20862 | 0) | 0; + $46 = $44 + (Math_imul($27, -14924) | 0) + $37 | 0; + $48 = $44 + ($33 * 17333 | 0) | 0; + $51 = $42 + $37 + (Math_imul($21, -12399) | 0) | 0; + $52 = $42 + (Math_imul($38, -9467) | 0) | 0; + $54 = $52 + (Math_imul($33, -6461) | 0) | 0; + $58 = ($27 * 15929 | 0) + (Math_imul($21, -11395) | 0) + $52 | 0; + $60 = (Math_imul($40, -11585) | 0) + $15 | 0; + $66 = Math_imul(HEAP32[$$0288293 + 32 >> 2] | 0, HEAP16[$$0289292 + 16 >> 1] | 0) | 0; + $72 = Math_imul(HEAP32[$$0288293 + 96 >> 2] | 0, HEAP16[$$0289292 + 48 >> 1] | 0) | 0; + $78 = Math_imul(HEAP32[$$0288293 + 160 >> 2] | 0, HEAP16[$$0289292 + 80 >> 1] | 0) | 0; + $84 = Math_imul(HEAP32[$$0288293 + 224 >> 2] | 0, HEAP16[$$0289292 + 112 >> 1] | 0) | 0; + $85 = $72 + $66 | 0; + $88 = ($78 + $85 + $84 | 0) * 3264 | 0; + $89 = $85 * 7274 | 0; + $91 = ($78 + $66 | 0) * 5492 | 0; + $94 = $88 + (($84 + $66 | 0) * 3e3 | 0) | 0; + $98 = $89 + (Math_imul($66, -7562) | 0) + $91 + $94 | 0; + $101 = $88 + (Math_imul($78 + $72 | 0, -9527) | 0) | 0; + $105 = $91 + (Math_imul($78, -9766) | 0) + $101 | 0; + $107 = Math_imul($84 + $72 | 0, -14731) | 0; + $110 = $89 + ($72 * 16984 | 0) + $107 + $101 | 0; + $113 = $107 + ($84 * 17223 | 0) + $94 | 0; + $119 = ($78 * 8203 | 0) + (Math_imul($72, -12019) | 0) + (Math_imul($84, -13802) | 0) + $88 | 0; + HEAP32[$$0286294 >> 2] = $98 + $48 >> 11; + HEAP32[$$0286294 + 320 >> 2] = $48 - $98 >> 11; + HEAP32[$$0286294 + 32 >> 2] = $110 + $46 >> 11; + HEAP32[$$0286294 + 288 >> 2] = $46 - $110 >> 11; + HEAP32[$$0286294 + 64 >> 2] = $105 + $54 >> 11; + HEAP32[$$0286294 + 256 >> 2] = $54 - $105 >> 11; + HEAP32[$$0286294 + 96 >> 2] = $113 + $51 >> 11; + HEAP32[$$0286294 + 224 >> 2] = $51 - $113 >> 11; + HEAP32[$$0286294 + 128 >> 2] = $119 + $58 >> 11; + HEAP32[$$0286294 + 192 >> 2] = $58 - $119 >> 11; + HEAP32[$$0286294 + 160 >> 2] = $60 >> 11; + $$0295 = $$0295 + 1 | 0; + if (($$0295 | 0) == 8) break; else { + $$0286294 = $$0286294 + 4 | 0; + $$0288293 = $$0288293 + 4 | 0; + $$0289292 = $$0289292 + 2 | 0; + } + } + $155 = $7 + -384 | 0; + $$1287290 = $5; + $$1291 = 0; + while (1) { + $158 = (HEAP32[$3 + ($$1291 << 2) >> 2] | 0) + $4 | 0; + $161 = (HEAP32[$$1287290 >> 2] << 13) + 134348800 | 0; + $163 = HEAP32[$$1287290 + 8 >> 2] | 0; + $165 = HEAP32[$$1287290 + 16 >> 2] | 0; + $167 = HEAP32[$$1287290 + 24 >> 2] | 0; + $171 = ($165 - $163 | 0) * 3529 | 0; + $172 = $167 + $163 | 0; + $174 = $172 - $165 | 0; + $176 = ($174 * 11116 | 0) + $161 | 0; + $178 = $176 + (($165 - $167 | 0) * 20862 | 0) | 0; + $180 = $178 + (Math_imul($165, -14924) | 0) + $171 | 0; + $182 = $178 + ($167 * 17333 | 0) | 0; + $185 = $176 + $171 + (Math_imul($163, -12399) | 0) | 0; + $186 = $176 + (Math_imul($172, -9467) | 0) | 0; + $188 = $186 + (Math_imul($167, -6461) | 0) | 0; + $192 = ($165 * 15929 | 0) + (Math_imul($163, -11395) | 0) + $186 | 0; + $194 = (Math_imul($174, -11585) | 0) + $161 | 0; + $196 = HEAP32[$$1287290 + 4 >> 2] | 0; + $198 = HEAP32[$$1287290 + 12 >> 2] | 0; + $200 = HEAP32[$$1287290 + 20 >> 2] | 0; + $202 = HEAP32[$$1287290 + 28 >> 2] | 0; + $203 = $198 + $196 | 0; + $206 = ($203 + $200 + $202 | 0) * 3264 | 0; + $207 = $203 * 7274 | 0; + $209 = ($200 + $196 | 0) * 5492 | 0; + $212 = $206 + (($202 + $196 | 0) * 3e3 | 0) | 0; + $216 = $207 + (Math_imul($196, -7562) | 0) + $209 + $212 | 0; + $219 = $206 + (Math_imul($200 + $198 | 0, -9527) | 0) | 0; + $223 = $209 + (Math_imul($200, -9766) | 0) + $219 | 0; + $225 = Math_imul($202 + $198 | 0, -14731) | 0; + $228 = $207 + ($198 * 16984 | 0) + $225 + $219 | 0; + $231 = $225 + ($202 * 17223 | 0) + $212 | 0; + $237 = ($200 * 8203 | 0) + (Math_imul($198, -12019) | 0) + (Math_imul($202, -13802) | 0) + $206 | 0; + HEAP8[$158 >> 0] = HEAP8[$155 + (($216 + $182 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$158 + 10 >> 0] = HEAP8[$155 + (($182 - $216 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$158 + 1 >> 0] = HEAP8[$155 + (($228 + $180 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$158 + 9 >> 0] = HEAP8[$155 + (($180 - $228 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$158 + 2 >> 0] = HEAP8[$155 + (($223 + $188 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$158 + 8 >> 0] = HEAP8[$155 + (($188 - $223 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$158 + 3 >> 0] = HEAP8[$155 + (($231 + $185 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$158 + 7 >> 0] = HEAP8[$155 + (($185 - $231 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$158 + 4 >> 0] = HEAP8[$155 + (($237 + $192 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$158 + 6 >> 0] = HEAP8[$155 + (($192 - $237 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$158 + 5 >> 0] = HEAP8[$155 + ($194 >>> 18 & 1023) >> 0] | 0; + $$1291 = $$1291 + 1 | 0; + if (($$1291 | 0) == 11) break; else $$1287290 = $$1287290 + 32 | 0; + } + STACKTOP = sp; + return; +} + +function __ZN6vision5Image5allocENS_9ImageTypeEmmim($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 $$byval_copy = 0, $$sink = 0, $101 = 0, $105 = 0, $14 = 0, $19 = 0, $23 = 0, $30 = 0, $35 = 0, $39 = 0, $46 = 0, $51 = 0, $55 = 0, $6 = 0, $62 = 0, $67 = 0, $7 = 0, $71 = 0, $77 = 0, $78 = 0, $81 = 0, $82 = 0, $83 = 0, $85 = 0, $86 = 0, $87 = 0, $96 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy = sp + 16 | 0; + $6 = sp + 8 | 0; + $7 = sp; + if (!$2) { + $14 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 38353) | 0, 38386) | 0, 39072) | 0, 127) | 0, 39079) | 0, 38458) | 0; + __ZNKSt3__28ios_base6getlocEv($$byval_copy, $14 + (HEAP32[(HEAP32[$14 >> 2] | 0) + -12 >> 2] | 0) | 0); + $19 = __ZNKSt3__26locale9use_facetERNS0_2idE($$byval_copy, 66512) | 0; + $23 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$19 >> 2] | 0) + 28 >> 2] & 127]($19, 10) | 0; + __ZNSt3__26localeD2Ev($$byval_copy); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($14, $23) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($14) | 0; + _abort(); + } + if (!$3) { + $30 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 38479) | 0, 38386) | 0, 39072) | 0, 128) | 0, 39079) | 0, 38513) | 0; + __ZNKSt3__28ios_base6getlocEv($$byval_copy, $30 + (HEAP32[(HEAP32[$30 >> 2] | 0) + -12 >> 2] | 0) | 0); + $35 = __ZNKSt3__26locale9use_facetERNS0_2idE($$byval_copy, 66512) | 0; + $39 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$35 >> 2] | 0) + 28 >> 2] & 127]($35, 10) | 0; + __ZNSt3__26localeD2Ev($$byval_copy); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($30, $39) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($30) | 0; + _abort(); + } + if ($4 >>> 0 < $2 >>> 0) { + $46 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 38535) | 0, 38386) | 0, 39072) | 0, 129) | 0, 39079) | 0, 38572) | 0; + __ZNKSt3__28ios_base6getlocEv($$byval_copy, $46 + (HEAP32[(HEAP32[$46 >> 2] | 0) + -12 >> 2] | 0) | 0); + $51 = __ZNKSt3__26locale9use_facetERNS0_2idE($$byval_copy, 66512) | 0; + $55 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$51 >> 2] | 0) + 28 >> 2] & 127]($51, 10) | 0; + __ZNSt3__26localeD2Ev($$byval_copy); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($46, $55) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($46) | 0; + _abort(); + } + if (!$5) { + $62 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 38617) | 0, 38386) | 0, 39072) | 0, 130) | 0, 39079) | 0, 38653) | 0; + __ZNKSt3__28ios_base6getlocEv($$byval_copy, $62 + (HEAP32[(HEAP32[$62 >> 2] | 0) + -12 >> 2] | 0) | 0); + $67 = __ZNKSt3__26locale9use_facetERNS0_2idE($$byval_copy, 66512) | 0; + $71 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$67 >> 2] | 0) + 28 >> 2] & 127]($67, 10) | 0; + __ZNSt3__26localeD2Ev($$byval_copy); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($62, $71) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($62) | 0; + _abort(); + } + if (($4 | 0) < 0) $$sink = Math_imul(Math_imul($5, $2) | 0, __ZN6vision5Image19calculate_unit_sizeENS_9ImageTypeE($1) | 0) | 0; else $$sink = $4; + HEAP32[$0 + 12 >> 2] = $$sink; + $77 = Math_imul($$sink, $3) | 0; + $78 = $0 + 20 | 0; + if ((HEAP32[$78 >> 2] | 0) != ($77 | 0) ? ($81 = $0 + 24 | 0, $82 = __Znam($77) | 0, HEAP32[$7 >> 2] = 0, HEAP32[$$byval_copy >> 2] = HEAP32[$7 >> 2], __ZNSt3__210shared_ptrIhEC2IhEEPT_NS_9enable_ifIXsr14is_convertibleIS4_PhEE5valueENS1_5__natEE4typeE($6, $82, $$byval_copy), $83 = HEAP32[$6 >> 2] | 0, HEAP32[$6 >> 2] = HEAP32[$81 >> 2], HEAP32[$81 >> 2] = $83, $85 = $6 + 4 | 0, $86 = $0 + 28 | 0, $87 = HEAP32[$85 >> 2] | 0, HEAP32[$85 >> 2] = HEAP32[$86 >> 2], HEAP32[$86 >> 2] = $87, __ZNSt3__210shared_ptrIhED2Ev($6), (HEAP32[$81 >> 2] | 0) == 0) : 0) { + $96 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 38687) | 0, 38386) | 0, 39072) | 0, 149) | 0, 39079) | 0, 38722) | 0; + __ZNKSt3__28ios_base6getlocEv($$byval_copy, $96 + (HEAP32[(HEAP32[$96 >> 2] | 0) + -12 >> 2] | 0) | 0); + $101 = __ZNKSt3__26locale9use_facetERNS0_2idE($$byval_copy, 66512) | 0; + $105 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$101 >> 2] | 0) + 28 >> 2] & 127]($101, 10) | 0; + __ZNSt3__26localeD2Ev($$byval_copy); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($96, $105) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($96) | 0; + _abort(); + } + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $2; + HEAP32[$0 + 8 >> 2] = $3; + HEAP32[$0 + 16 >> 2] = $5; + HEAP32[$78 >> 2] = $77; + STACKTOP = sp; + return; +} + +function _arParamObserv2Ideal($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = +$1; + $2 = +$2; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $$0 = 0, $$0342 = 0.0, $$0343 = 0.0, $$0345 = 0, $$0346 = 0.0, $$0348 = 0.0, $$0350 = 0.0, $$0351 = 0.0, $$0352 = 0, $$0353 = 0.0, $$0355 = 0.0, $$0357 = 0.0, $$0358 = 0.0, $$0359 = 0, $$0360 = 0.0, $$0361 = 0.0, $$0362 = 0.0, $$0363 = 0, $$0364 = 0.0, $$0365 = 0.0, $$0367 = 0.0, $$1 = 0.0, $$1344 = 0.0, $$1347 = 0.0, $$1349 = 0.0, $$1354 = 0.0, $$1356 = 0.0, $$1366 = 0.0, $$1368 = 0.0, $$sink = 0.0, $10 = 0.0, $105 = 0.0, $107 = 0.0, $108 = 0, $110 = 0.0, $113 = 0.0, $117 = 0.0, $12 = 0.0, $120 = 0.0, $121 = 0.0, $122 = 0.0, $123 = 0.0, $138 = 0.0, $14 = 0.0, $140 = 0.0, $142 = 0.0, $146 = 0.0, $149 = 0, $157 = 0.0, $158 = 0.0, $159 = 0, $16 = 0.0, $161 = 0.0, $164 = 0.0, $168 = 0.0, $171 = 0.0, $172 = 0.0, $173 = 0.0, $174 = 0.0, $18 = 0.0, $189 = 0.0, $191 = 0.0, $193 = 0.0, $197 = 0.0, $20 = 0.0, $200 = 0, $208 = 0.0, $209 = 0.0, $210 = 0, $212 = 0.0, $215 = 0.0, $218 = 0.0, $219 = 0.0, $22 = 0.0, $220 = 0.0, $229 = 0.0, $231 = 0.0, $233 = 0.0, $237 = 0.0, $24 = 0.0, $240 = 0, $26 = 0.0, $29 = 0.0, $30 = 0.0, $31 = 0.0, $32 = 0.0, $35 = 0.0, $40 = 0.0, $50 = 0.0, $56 = 0.0, $6 = 0.0, $67 = 0.0, $73 = 0.0, $8 = 0.0, $92 = 0.0, label = 0; + switch ($5 | 0) { + case 4: + { + $6 = +HEAPF64[$0 >> 3]; + $8 = +HEAPF64[$0 + 8 >> 3]; + $10 = +HEAPF64[$0 + 16 >> 3]; + $12 = +HEAPF64[$0 + 24 >> 3]; + $14 = +HEAPF64[$0 + 32 >> 3]; + $16 = +HEAPF64[$0 + 40 >> 3]; + $18 = +HEAPF64[$0 + 48 >> 3]; + $20 = +HEAPF64[$0 + 56 >> 3]; + $22 = +HEAPF64[$0 + 64 >> 3]; + $24 = ($1 - $18) / $14; + $26 = ($2 - $20) / $16; + $29 = $10 * 2.0; + $30 = $12 * 6.0; + $31 = $12 * 2.0; + $32 = $10 * 6.0; + $$0346 = $24; + $$0348 = $26; + $$0357 = $24 * $24; + $$0358 = $26 * $26; + $$0359 = 1; + while (1) { + if (!($$0358 != 0.0 | $$0357 != 0.0)) { + $$1347 = 0.0; + $$1349 = 0.0; + break; + } + $35 = $$0358 + $$0357; + $40 = $6 * $35 + 1.0 + $35 * ($8 * $35); + $50 = $$0357 * 3.0; + $56 = $$0358 * $50; + $67 = $$0346 - ($12 * ($35 + $$0357 * 2.0) + ($$0348 * ($29 * $$0346) + $$0346 * $40) - $24) / ($30 * $$0346 + ($29 * $$0348 + ($6 * ($$0358 + $50) + 1.0 + $8 * ($$0358 * $$0358 + ($$0357 * ($$0357 * 5.0) + $56))))); + $73 = $31 * $67; + $92 = $$0348 - ($10 * ($$0358 * 2.0 + $35) + $$0348 * $40 + $$0348 * $73 - $26) / ($32 * $$0348 + ($6 * ($$0357 + $$0358 * 3.0) + 1.0 + $8 * ($$0358 * ($$0358 * 5.0) + ($$0357 * $$0357 + $56))) + $73); + if (($$0359 | 0) == 4) { + $$1347 = $67; + $$1349 = $92; + break; + } + $$0346 = $67; + $$0348 = $92; + $$0357 = $67 * $67; + $$0358 = $92 * $92; + $$0359 = $$0359 + 1 | 0; + } + HEAPF64[$3 >> 3] = $18 + $14 * $$1347 / $22; + $$sink = $20 + $16 * $$1349 / $22; + label = 22; + break; + } + case 3: + { + $105 = +HEAPF64[$0 >> 3]; + $107 = ($1 - $105) / +HEAPF64[$0 + 24 >> 3]; + $108 = $0 + 8 | 0; + $110 = $2 - +HEAPF64[$108 >> 3]; + $113 = +HEAPF64[$0 + 32 >> 3] / 1.0e8; + $117 = +HEAPF64[$0 + 40 >> 3] / 1.0e8 / 1.0e5; + $120 = $107 * $107 + $110 * $110; + $121 = +Math_sqrt(+$120); + $122 = $113 * 3.0; + $123 = $117 * 5.0; + $$0360 = $120; + $$0363 = 1; + $$0364 = $121; + $$0365 = $110; + $$0367 = $107; + while (1) { + if (!($$0364 != 0.0)) { + $$1366 = 0.0; + $$1368 = 0.0; + break; + } + $138 = $$0364 - ($$0364 * (1.0 - $113 * $$0360 - $$0360 * ($117 * $$0360)) - $121) / (1.0 - $122 * $$0360 - $$0360 * ($123 * $$0360)); + $140 = $$0367 * $138 / $$0364; + $142 = $$0365 * $138 / $$0364; + if (($$0363 | 0) == 3) { + $$1366 = $142; + $$1368 = $140; + break; + } + $146 = $140 * $140 + $142 * $142; + $$0360 = $146; + $$0363 = $$0363 + 1 | 0; + $$0364 = +Math_sqrt(+$146); + $$0365 = $142; + $$0367 = $140; + } + $149 = $0 + 16 | 0; + HEAPF64[$3 >> 3] = $105 + $$1368 / +HEAPF64[$149 >> 3]; + $$sink = $$1366 / +HEAPF64[$149 >> 3] + +HEAPF64[$108 >> 3]; + label = 22; + break; + } + case 2: + { + $157 = +HEAPF64[$0 >> 3]; + $158 = $1 - $157; + $159 = $0 + 8 | 0; + $161 = $2 - +HEAPF64[$159 >> 3]; + $164 = +HEAPF64[$0 + 24 >> 3] / 1.0e8; + $168 = +HEAPF64[$0 + 32 >> 3] / 1.0e8 / 1.0e5; + $171 = $158 * $158 + $161 * $161; + $172 = +Math_sqrt(+$171); + $173 = $164 * 3.0; + $174 = $168 * 5.0; + $$0352 = 1; + $$0353 = $161; + $$0355 = $158; + $$0361 = $172; + $$0362 = $171; + while (1) { + if (!($$0361 != 0.0)) { + $$1354 = 0.0; + $$1356 = 0.0; + break; + } + $189 = $$0361 - ($$0361 * (1.0 - $164 * $$0362 - $$0362 * ($168 * $$0362)) - $172) / (1.0 - $173 * $$0362 - $$0362 * ($174 * $$0362)); + $191 = $$0355 * $189 / $$0361; + $193 = $$0353 * $189 / $$0361; + if (($$0352 | 0) == 3) { + $$1354 = $193; + $$1356 = $191; + break; + } + $197 = $191 * $191 + $193 * $193; + $$0352 = $$0352 + 1 | 0; + $$0353 = $193; + $$0355 = $191; + $$0361 = +Math_sqrt(+$197); + $$0362 = $197; + } + $200 = $0 + 16 | 0; + HEAPF64[$3 >> 3] = $157 + $$1356 / +HEAPF64[$200 >> 3]; + $$sink = $$1354 / +HEAPF64[$200 >> 3] + +HEAPF64[$159 >> 3]; + label = 22; + break; + } + case 1: + { + $208 = +HEAPF64[$0 >> 3]; + $209 = $1 - $208; + $210 = $0 + 8 | 0; + $212 = $2 - +HEAPF64[$210 >> 3]; + $215 = +HEAPF64[$0 + 24 >> 3] / 1.0e8; + $218 = $209 * $209 + $212 * $212; + $219 = +Math_sqrt(+$218); + $220 = $215 * 3.0; + $$0 = 1; + $$0342 = $212; + $$0343 = $209; + $$0350 = $219; + $$0351 = $218; + while (1) { + if (!($$0350 != 0.0)) { + $$1 = 0.0; + $$1344 = 0.0; + break; + } + $229 = $$0350 - ($$0350 * (1.0 - $215 * $$0351) - $219) / (1.0 - $220 * $$0351); + $231 = $$0343 * $229 / $$0350; + $233 = $$0342 * $229 / $$0350; + if (($$0 | 0) == 3) { + $$1 = $233; + $$1344 = $231; + break; + } + $237 = $231 * $231 + $233 * $233; + $$0 = $$0 + 1 | 0; + $$0342 = $233; + $$0343 = $231; + $$0350 = +Math_sqrt(+$237); + $$0351 = $237; + } + $240 = $0 + 16 | 0; + HEAPF64[$3 >> 3] = $208 + $$1344 / +HEAPF64[$240 >> 3]; + $$sink = $$1 / +HEAPF64[$240 >> 3] + +HEAPF64[$210 >> 3]; + label = 22; + break; + } + default: + $$0345 = -1; + } + if ((label | 0) == 22) { + HEAPF64[$4 >> 3] = $$sink; + $$0345 = 0; + } + return $$0345 | 0; +} + +function _jpeg_idct_12x12($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0291300 = 0, $$0293299 = 0, $$0294298 = 0, $$0301 = 0, $$1292296 = 0, $$1297 = 0, $100 = 0, $102 = 0, $104 = 0, $106 = 0, $146 = 0, $149 = 0, $15 = 0, $152 = 0, $155 = 0, $156 = 0, $157 = 0, $159 = 0, $164 = 0, $165 = 0, $166 = 0, $167 = 0, $168 = 0, $169 = 0, $170 = 0, $172 = 0, $173 = 0, $174 = 0, $176 = 0, $178 = 0, $180 = 0, $182 = 0, $183 = 0, $184 = 0, $185 = 0, $187 = 0, $189 = 0, $192 = 0, $194 = 0, $198 = 0, $202 = 0, $207 = 0, $208 = 0, $209 = 0, $211 = 0, $213 = 0, $215 = 0, $22 = 0, $23 = 0, $24 = 0, $30 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $55 = 0, $61 = 0, $67 = 0, $7 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $78 = 0, $80 = 0, $83 = 0, $85 = 0, $89 = 0, $93 = 0, $98 = 0, $99 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 384 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(384); + $5 = sp; + $7 = HEAP32[$0 + 336 >> 2] | 0; + $$0291300 = $5; + $$0293299 = HEAP32[$1 + 84 >> 2] | 0; + $$0294298 = $2; + $$0301 = 0; + while (1) { + $15 = Math_imul(HEAP16[$$0294298 >> 1] << 13, HEAP32[$$0293299 >> 2] | 0) | 0 | 1024; + $22 = Math_imul((HEAP16[$$0294298 + 64 >> 1] | 0) * 10033 | 0, HEAP32[$$0293299 + 128 >> 2] | 0) | 0; + $23 = $22 + $15 | 0; + $24 = $15 - $22 | 0; + $30 = Math_imul(HEAP32[$$0293299 + 64 >> 2] | 0, HEAP16[$$0294298 + 32 >> 1] | 0) | 0; + $39 = Math_imul(HEAP16[$$0294298 + 96 >> 1] << 13, HEAP32[$$0293299 + 192 >> 2] | 0) | 0; + $40 = ($30 << 13) - $39 | 0; + $41 = $40 + $15 | 0; + $42 = $15 - $40 | 0; + $43 = $39 + ($30 * 11190 | 0) | 0; + $44 = $43 + $23 | 0; + $45 = $23 - $43 | 0; + $47 = ($30 * 2998 | 0) - $39 | 0; + $48 = $47 + $24 | 0; + $49 = $24 - $47 | 0; + $55 = Math_imul(HEAP32[$$0293299 + 32 >> 2] | 0, HEAP16[$$0294298 + 16 >> 1] | 0) | 0; + $61 = Math_imul(HEAP32[$$0293299 + 96 >> 2] | 0, HEAP16[$$0294298 + 48 >> 1] | 0) | 0; + $67 = Math_imul(HEAP32[$$0293299 + 160 >> 2] | 0, HEAP16[$$0294298 + 80 >> 1] | 0) | 0; + $73 = Math_imul(HEAP32[$$0293299 + 224 >> 2] | 0, HEAP16[$$0294298 + 112 >> 1] | 0) | 0; + $74 = $61 * 10703 | 0; + $75 = Math_imul($61, -4433) | 0; + $76 = $67 + $55 | 0; + $78 = ($73 + $76 | 0) * 7053 | 0; + $80 = $78 + ($76 * 2139 | 0) | 0; + $83 = $74 + ($55 * 2295 | 0) + $80 | 0; + $85 = Math_imul($73 + $67 | 0, -8565) | 0; + $89 = (Math_imul($67, -12112) | 0) + $75 + $85 + $80 | 0; + $93 = ($73 * 12998 | 0) - $74 + $78 + $85 | 0; + $98 = $75 + (Math_imul($55, -5540) | 0) + (Math_imul($73, -16244) | 0) + $78 | 0; + $99 = $55 - $73 | 0; + $100 = $61 - $67 | 0; + $102 = ($99 + $100 | 0) * 4433 | 0; + $104 = $102 + ($99 * 6270 | 0) | 0; + $106 = $102 + (Math_imul($100, -15137) | 0) | 0; + HEAP32[$$0291300 >> 2] = $83 + $44 >> 11; + HEAP32[$$0291300 + 352 >> 2] = $44 - $83 >> 11; + HEAP32[$$0291300 + 32 >> 2] = $104 + $41 >> 11; + HEAP32[$$0291300 + 320 >> 2] = $41 - $104 >> 11; + HEAP32[$$0291300 + 64 >> 2] = $89 + $48 >> 11; + HEAP32[$$0291300 + 288 >> 2] = $48 - $89 >> 11; + HEAP32[$$0291300 + 96 >> 2] = $93 + $49 >> 11; + HEAP32[$$0291300 + 256 >> 2] = $49 - $93 >> 11; + HEAP32[$$0291300 + 128 >> 2] = $106 + $42 >> 11; + HEAP32[$$0291300 + 224 >> 2] = $42 - $106 >> 11; + HEAP32[$$0291300 + 160 >> 2] = $98 + $45 >> 11; + HEAP32[$$0291300 + 192 >> 2] = $45 - $98 >> 11; + $$0301 = $$0301 + 1 | 0; + if (($$0301 | 0) == 8) break; else { + $$0291300 = $$0291300 + 4 | 0; + $$0293299 = $$0293299 + 4 | 0; + $$0294298 = $$0294298 + 2 | 0; + } + } + $146 = $7 + -384 | 0; + $$1292296 = $5; + $$1297 = 0; + while (1) { + $149 = (HEAP32[$3 + ($$1297 << 2) >> 2] | 0) + $4 | 0; + $152 = (HEAP32[$$1292296 >> 2] << 13) + 134348800 | 0; + $155 = (HEAP32[$$1292296 + 16 >> 2] | 0) * 10033 | 0; + $156 = $152 + $155 | 0; + $157 = $152 - $155 | 0; + $159 = HEAP32[$$1292296 + 8 >> 2] | 0; + $164 = HEAP32[$$1292296 + 24 >> 2] << 13; + $165 = ($159 << 13) - $164 | 0; + $166 = $165 + $152 | 0; + $167 = $152 - $165 | 0; + $168 = $164 + ($159 * 11190 | 0) | 0; + $169 = $168 + $156 | 0; + $170 = $156 - $168 | 0; + $172 = ($159 * 2998 | 0) - $164 | 0; + $173 = $172 + $157 | 0; + $174 = $157 - $172 | 0; + $176 = HEAP32[$$1292296 + 4 >> 2] | 0; + $178 = HEAP32[$$1292296 + 12 >> 2] | 0; + $180 = HEAP32[$$1292296 + 20 >> 2] | 0; + $182 = HEAP32[$$1292296 + 28 >> 2] | 0; + $183 = $178 * 10703 | 0; + $184 = Math_imul($178, -4433) | 0; + $185 = $180 + $176 | 0; + $187 = ($185 + $182 | 0) * 7053 | 0; + $189 = $187 + ($185 * 2139 | 0) | 0; + $192 = $183 + ($176 * 2295 | 0) + $189 | 0; + $194 = Math_imul($182 + $180 | 0, -8565) | 0; + $198 = (Math_imul($180, -12112) | 0) + $184 + $194 + $189 | 0; + $202 = ($182 * 12998 | 0) - $183 + $187 + $194 | 0; + $207 = $184 + (Math_imul($176, -5540) | 0) + (Math_imul($182, -16244) | 0) + $187 | 0; + $208 = $176 - $182 | 0; + $209 = $178 - $180 | 0; + $211 = ($208 + $209 | 0) * 4433 | 0; + $213 = $211 + ($208 * 6270 | 0) | 0; + $215 = $211 + (Math_imul($209, -15137) | 0) | 0; + HEAP8[$149 >> 0] = HEAP8[$146 + (($192 + $169 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$149 + 11 >> 0] = HEAP8[$146 + (($169 - $192 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$149 + 1 >> 0] = HEAP8[$146 + (($213 + $166 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$149 + 10 >> 0] = HEAP8[$146 + (($166 - $213 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$149 + 2 >> 0] = HEAP8[$146 + (($198 + $173 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$149 + 9 >> 0] = HEAP8[$146 + (($173 - $198 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$149 + 3 >> 0] = HEAP8[$146 + (($202 + $174 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$149 + 8 >> 0] = HEAP8[$146 + (($174 - $202 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$149 + 4 >> 0] = HEAP8[$146 + (($215 + $167 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$149 + 7 >> 0] = HEAP8[$146 + (($167 - $215 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$149 + 5 >> 0] = HEAP8[$146 + (($207 + $170 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$149 + 6 >> 0] = HEAP8[$146 + (($170 - $207 | 0) >>> 18 & 1023) >> 0] | 0; + $$1297 = $$1297 + 1 | 0; + if (($$1297 | 0) == 12) break; else $$1292296 = $$1292296 + 32 | 0; + } + STACKTOP = sp; + return; +} + +function _start_pass_51($0) { + $0 = $0 | 0; + var $$08497 = 0, $$085103 = 0, $$08699 = 0, $$087102 = 0, $$088101 = 0, $$090100 = 0, $$189 = 0, $$191 = 0, $$198 = 0, $$296 = 0, $10 = 0, $103 = 0, $112 = 0, $12 = 0, $121 = 0, $132 = 0, $15 = 0, $16 = 0, $19 = 0, $2 = 0, $3 = 0, $31 = 0, $35 = 0, $38 = 0, $45 = 0, $54 = 0, $58 = 0, $60 = 0.0, $68 = 0, $77 = 0, $8 = 0, $86 = 0, $95 = 0; + $2 = HEAP32[$0 + 472 >> 2] | 0; + $3 = $0 + 36 | 0; + if ((HEAP32[$3 >> 2] | 0) <= 0) return; + $8 = $0 + 72 | 0; + $$085103 = 0; + $$087102 = HEAP32[$0 + 216 >> 2] | 0; + $$088101 = 0; + $$090100 = 0; + while (1) { + $10 = HEAP32[$$087102 + 36 >> 2] | 0; + $12 = $$087102 + 40 | 0; + L6 : do switch (($10 << 8) + (HEAP32[$12 >> 2] | 0) | 0) { + case 257: + { + $$189 = 0; + $$191 = 13; + break; + } + case 514: + { + $$189 = 0; + $$191 = 14; + break; + } + case 771: + { + $$189 = 0; + $$191 = 15; + break; + } + case 1028: + { + $$189 = 0; + $$191 = 16; + break; + } + case 1285: + { + $$189 = 0; + $$191 = 17; + break; + } + case 1542: + { + $$189 = 0; + $$191 = 18; + break; + } + case 1799: + { + $$189 = 0; + $$191 = 19; + break; + } + case 2313: + { + $$189 = 0; + $$191 = 20; + break; + } + case 2570: + { + $$189 = 0; + $$191 = 21; + break; + } + case 2827: + { + $$189 = 0; + $$191 = 22; + break; + } + case 3084: + { + $$189 = 0; + $$191 = 23; + break; + } + case 3341: + { + $$189 = 0; + $$191 = 24; + break; + } + case 3598: + { + $$189 = 0; + $$191 = 25; + break; + } + case 3855: + { + $$189 = 0; + $$191 = 26; + break; + } + case 4112: + { + $$189 = 0; + $$191 = 27; + break; + } + case 4104: + { + $$189 = 0; + $$191 = 28; + break; + } + case 3591: + { + $$189 = 0; + $$191 = 29; + break; + } + case 3078: + { + $$189 = 0; + $$191 = 30; + break; + } + case 2565: + { + $$189 = 0; + $$191 = 31; + break; + } + case 2052: + { + $$189 = 0; + $$191 = 32; + break; + } + case 1539: + { + $$189 = 0; + $$191 = 33; + break; + } + case 1026: + { + $$189 = 0; + $$191 = 34; + break; + } + case 513: + { + $$189 = 0; + $$191 = 35; + break; + } + case 2064: + { + $$189 = 0; + $$191 = 36; + break; + } + case 1806: + { + $$189 = 0; + $$191 = 37; + break; + } + case 1548: + { + $$189 = 0; + $$191 = 38; + break; + } + case 1290: + { + $$189 = 0; + $$191 = 39; + break; + } + case 1032: + { + $$189 = 0; + $$191 = 40; + break; + } + case 774: + { + $$189 = 0; + $$191 = 41; + break; + } + case 516: + { + $$189 = 0; + $$191 = 42; + break; + } + case 258: + { + $$189 = 0; + $$191 = 43; + break; + } + case 2056: + { + $15 = HEAP32[$8 >> 2] | 0; + switch ($15 | 0) { + case 0: + { + $$189 = $15; + $$191 = 44; + break L6; + break; + } + case 1: + { + $$189 = $15; + $$191 = 45; + break L6; + break; + } + case 2: + { + $$189 = $15; + $$191 = 46; + break L6; + break; + } + default: + { + $16 = HEAP32[$0 >> 2] | 0; + HEAP32[$16 + 20 >> 2] = 49; + FUNCTION_TABLE_vi[HEAP32[$16 >> 2] & 255]($0); + $$189 = $$088101; + $$191 = $$090100; + break L6; + } + } + break; + } + default: + { + $19 = HEAP32[$0 >> 2] | 0; + HEAP32[$19 + 20 >> 2] = 7; + HEAP32[$19 + 24 >> 2] = $10; + HEAP32[(HEAP32[$0 >> 2] | 0) + 28 >> 2] = HEAP32[$12 >> 2]; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + $$189 = $$088101; + $$191 = $$090100; + } + } while (0); + HEAP32[$2 + 4 + ($$085103 << 2) >> 2] = $$191; + L44 : do if ((HEAP32[$$087102 + 52 >> 2] | 0 ? ($31 = $2 + 44 + ($$085103 << 2) | 0, (HEAP32[$31 >> 2] | 0) != ($$189 | 0)) : 0) ? ($35 = HEAP32[$$087102 + 80 >> 2] | 0, $35 | 0) : 0) { + HEAP32[$31 >> 2] = $$189; + switch ($$189 | 0) { + case 0: + { + $38 = HEAP32[$$087102 + 84 >> 2] | 0; + $$08699 = 0; + do { + HEAP32[$38 + ($$08699 << 2) >> 2] = HEAPU16[$35 + ($$08699 << 1) >> 1]; + $$08699 = $$08699 + 1 | 0; + } while (($$08699 | 0) != 64); + break; + } + case 1: + { + $45 = HEAP32[$$087102 + 84 >> 2] | 0; + $$198 = 0; + do { + $54 = (Math_imul(HEAP16[5248 + ($$198 << 1) >> 1] | 0, HEAPU16[$35 + ($$198 << 1) >> 1] | 0) | 0) + 2048 >> 12; + HEAP32[$45 + ($$198 << 2) >> 2] = $54; + $$198 = $$198 + 1 | 0; + } while (($$198 | 0) != 64); + break; + } + case 2: + { + $58 = HEAP32[$$087102 + 84 >> 2] | 0; + $$08497 = 0; + $$296 = 0; + while (1) { + $60 = +HEAPF64[5376 + ($$08497 << 3) >> 3]; + HEAPF32[$58 + ($$296 << 2) >> 2] = $60 * +(HEAPU16[$35 + ($$296 << 1) >> 1] | 0) * .125; + $68 = $$296 | 1; + HEAPF32[$58 + ($68 << 2) >> 2] = $60 * +(HEAPU16[$35 + ($68 << 1) >> 1] | 0) * 1.387039845 * .125; + $77 = $68 + 1 | 0; + HEAPF32[$58 + ($77 << 2) >> 2] = $60 * +(HEAPU16[$35 + ($77 << 1) >> 1] | 0) * 1.306562965 * .125; + $86 = $$296 | 3; + HEAPF32[$58 + ($86 << 2) >> 2] = $60 * +(HEAPU16[$35 + ($86 << 1) >> 1] | 0) * 1.175875602 * .125; + $95 = $86 + 1 | 0; + HEAPF32[$58 + ($95 << 2) >> 2] = $60 * +(HEAPU16[$35 + ($95 << 1) >> 1] | 0) * .125; + $103 = $86 + 2 | 0; + HEAPF32[$58 + ($103 << 2) >> 2] = $60 * +(HEAPU16[$35 + ($103 << 1) >> 1] | 0) * .785694958 * .125; + $112 = $86 + 3 | 0; + HEAPF32[$58 + ($112 << 2) >> 2] = $60 * +(HEAPU16[$35 + ($112 << 1) >> 1] | 0) * .5411961 * .125; + $121 = $$296 | 7; + HEAPF32[$58 + ($121 << 2) >> 2] = $60 * +(HEAPU16[$35 + ($121 << 1) >> 1] | 0) * .275899379 * .125; + $$08497 = $$08497 + 1 | 0; + if (($$08497 | 0) == 8) break; else $$296 = $$296 + 8 | 0; + } + break; + } + default: + { + $132 = HEAP32[$0 >> 2] | 0; + HEAP32[$132 + 20 >> 2] = 49; + FUNCTION_TABLE_vi[HEAP32[$132 >> 2] & 255]($0); + break L44; + } + } + } while (0); + $$085103 = $$085103 + 1 | 0; + if (($$085103 | 0) >= (HEAP32[$3 >> 2] | 0)) break; else { + $$087102 = $$087102 + 88 | 0; + $$088101 = $$189; + $$090100 = $$191; + } + } + return; +} + +function __ZNSt3__29__num_putIwE23__widen_and_group_floatEPcS2_S2_PwRS3_S4_RKNS_6localeE($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 = 0, $$0$i$i = 0, $$0$i$i110 = 0, $$0101 = 0, $$0102 = 0, $$0104 = 0, $$0106 = 0, $$07$i$i = 0, $$07$i$i109 = 0, $$1 = 0, $$1103 = 0, $$1105 = 0, $$1107 = 0, $$2 = 0, $$2108 = 0, $$3 = 0, $$pre$phiZ2D = 0, $101 = 0, $105 = 0, $107 = 0, $119 = 0, $120 = 0, $125 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $137 = 0, $138 = 0, $139 = 0, $144 = 0, $148 = 0, $154 = 0, $155 = 0, $18 = 0, $19 = 0, $21 = 0, $27 = 0, $32 = 0, $33 = 0, $35 = 0, $40 = 0, $41 = 0, $45 = 0, $52 = 0, $57 = 0, $58 = 0, $60 = 0, $7 = 0, $73 = 0, $75 = 0, $77 = 0, $8 = 0, $83 = 0, $88 = 0, $89 = 0, $9 = 0, $91 = 0, $93 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $7 = sp; + $8 = __ZNKSt3__26locale9use_facetERNS0_2idE($6, 66544) | 0; + $9 = __ZNKSt3__26locale9use_facetERNS0_2idE($6, 66552) | 0; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$9 >> 2] | 0) + 20 >> 2] & 255]($7, $9); + HEAP32[$5 >> 2] = $3; + $13 = HEAP8[$0 >> 0] | 0; + switch ($13 << 24 >> 24) { + case 43: + case 45: + { + $18 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$8 >> 2] | 0) + 44 >> 2] & 127]($8, $13) | 0; + $19 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $19 + 4; + HEAP32[$19 >> 2] = $18; + $$0104 = $0 + 1 | 0; + break; + } + default: + $$0104 = $0; + } + $21 = $2; + L4 : do if (($21 - $$0104 | 0) > 1 ? (HEAP8[$$0104 >> 0] | 0) == 48 : 0) { + $27 = $$0104 + 1 | 0; + switch (HEAP8[$27 >> 0] | 0) { + case 88: + case 120: + break; + default: + { + label = 4; + break L4; + } + } + $32 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$8 >> 2] | 0) + 44 >> 2] & 127]($8, 48) | 0; + $33 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $33 + 4; + HEAP32[$33 >> 2] = $32; + $35 = $$0104 + 2 | 0; + $40 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$8 >> 2] | 0) + 44 >> 2] & 127]($8, HEAP8[$27 >> 0] | 0) | 0; + $41 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $41 + 4; + HEAP32[$41 >> 2] = $40; + $$0106 = $35; + while (1) { + if ($$0106 >>> 0 >= $2 >>> 0) { + $$1105 = $35; + $$2108 = $$0106; + break L4; + } + $45 = HEAP8[$$0106 >> 0] | 0; + if (!(_isxdigit_l($45, __ZNSt3__26__clocEv() | 0) | 0)) { + $$1105 = $35; + $$2108 = $$0106; + break L4; + } + $$0106 = $$0106 + 1 | 0; + } + } else label = 4; while (0); + L12 : do if ((label | 0) == 4) { + $$1107 = $$0104; + while (1) { + if ($$1107 >>> 0 >= $2 >>> 0) { + $$1105 = $$0104; + $$2108 = $$1107; + break L12; + } + $52 = HEAP8[$$1107 >> 0] | 0; + if (!(_isdigit_l($52, __ZNSt3__26__clocEv() | 0) | 0)) { + $$1105 = $$0104; + $$2108 = $$1107; + break L12; + } + $$1107 = $$1107 + 1 | 0; + } + } while (0); + $57 = $7 + 11 | 0; + $58 = HEAP8[$57 >> 0] | 0; + $60 = $7 + 4 | 0; + L19 : do if (($58 << 24 >> 24 < 0 ? HEAP32[$60 >> 2] | 0 : $58 & 255) | 0) { + L22 : do if (($$1105 | 0) != ($$2108 | 0)) { + $$0$i$i = $$2108; + $$07$i$i = $$1105; + while (1) { + $75 = $$0$i$i + -1 | 0; + if ($$07$i$i >>> 0 >= $75 >>> 0) break L22; + $77 = HEAP8[$$07$i$i >> 0] | 0; + HEAP8[$$07$i$i >> 0] = HEAP8[$75 >> 0] | 0; + HEAP8[$75 >> 0] = $77; + $$0$i$i = $75; + $$07$i$i = $$07$i$i + 1 | 0; + } + } while (0); + $83 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$9 >> 2] | 0) + 16 >> 2] & 127]($9) | 0; + $$0 = $$1105; + $$0101 = 0; + $$0102 = 0; + while (1) { + if ($$0 >>> 0 >= $$2108 >>> 0) break; + $101 = HEAP8[((HEAP8[$57 >> 0] | 0) < 0 ? HEAP32[$7 >> 2] | 0 : $7) + $$0101 >> 0] | 0; + if ($101 << 24 >> 24 > 0 & ($$0102 | 0) == ($101 << 24 >> 24 | 0)) { + $105 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $105 + 4; + HEAP32[$105 >> 2] = $83; + $107 = HEAP8[$57 >> 0] | 0; + $$1 = $$0101 + ($$0101 >>> 0 < (($107 << 24 >> 24 < 0 ? HEAP32[$60 >> 2] | 0 : $107 & 255) + -1 | 0) >>> 0 & 1) | 0; + $$1103 = 0; + } else { + $$1 = $$0101; + $$1103 = $$0102; + } + $119 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$8 >> 2] | 0) + 44 >> 2] & 127]($8, HEAP8[$$0 >> 0] | 0) | 0; + $120 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $120 + 4; + HEAP32[$120 >> 2] = $119; + $$0 = $$0 + 1 | 0; + $$0101 = $$1; + $$0102 = $$1103 + 1 | 0; + } + $88 = $3 + ($$1105 - $0 << 2) | 0; + $89 = HEAP32[$5 >> 2] | 0; + if (($88 | 0) == ($89 | 0)) { + $$pre$phiZ2D = $8; + $154 = $88; + } else { + $$0$i$i110 = $89; + $$07$i$i109 = $88; + while (1) { + $91 = $$0$i$i110 + -4 | 0; + if ($$07$i$i109 >>> 0 >= $91 >>> 0) { + $$pre$phiZ2D = $8; + $154 = $89; + break L19; + } + $93 = HEAP32[$$07$i$i109 >> 2] | 0; + HEAP32[$$07$i$i109 >> 2] = HEAP32[$91 >> 2]; + HEAP32[$91 >> 2] = $93; + $$0$i$i110 = $91; + $$07$i$i109 = $$07$i$i109 + 4 | 0; + } + } + } else { + FUNCTION_TABLE_iiiii[HEAP32[(HEAP32[$8 >> 2] | 0) + 48 >> 2] & 15]($8, $$1105, $$2108, HEAP32[$5 >> 2] | 0) | 0; + $73 = (HEAP32[$5 >> 2] | 0) + ($$2108 - $$1105 << 2) | 0; + HEAP32[$5 >> 2] = $73; + $$pre$phiZ2D = $8; + $154 = $73; + } while (0); + $$2 = $$2108; + $155 = $154; + while (1) { + if ($$2 >>> 0 >= $2 >>> 0) { + $$3 = $$2; + $144 = $155; + break; + } + $125 = HEAP8[$$2 >> 0] | 0; + if ($125 << 24 >> 24 == 46) { + label = 32; + break; + } + $137 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$$pre$phiZ2D >> 2] | 0) + 44 >> 2] & 127]($8, $125) | 0; + $138 = HEAP32[$5 >> 2] | 0; + $139 = $138 + 4 | 0; + HEAP32[$5 >> 2] = $139; + HEAP32[$138 >> 2] = $137; + $$2 = $$2 + 1 | 0; + $155 = $139; + } + if ((label | 0) == 32) { + $130 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$9 >> 2] | 0) + 12 >> 2] & 127]($9) | 0; + $131 = HEAP32[$5 >> 2] | 0; + $132 = $131 + 4 | 0; + HEAP32[$5 >> 2] = $132; + HEAP32[$131 >> 2] = $130; + $$3 = $$2 + 1 | 0; + $144 = $132; + } + FUNCTION_TABLE_iiiii[HEAP32[(HEAP32[$8 >> 2] | 0) + 48 >> 2] & 15]($8, $$3, $2, $144) | 0; + $148 = (HEAP32[$5 >> 2] | 0) + ($21 - $$3 << 2) | 0; + HEAP32[$5 >> 2] = $148; + HEAP32[$4 >> 2] = ($1 | 0) == ($2 | 0) ? $148 : $3 + ($1 - $0 << 2) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($7); + STACKTOP = sp; + return; +} + +function _try_realloc_chunk($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$1271 = 0, $$1271$be = 0, $$1271$ph = 0, $$1274 = 0, $$1274$be = 0, $$1274$ph = 0, $$2 = 0, $$3 = 0, $$pre$phiZ2D = 0, $101 = 0, $103 = 0, $106 = 0, $108 = 0, $11 = 0, $111 = 0, $114 = 0, $115 = 0, $116 = 0, $118 = 0, $12 = 0, $120 = 0, $121 = 0, $123 = 0, $124 = 0, $129 = 0, $130 = 0, $139 = 0, $144 = 0, $147 = 0, $148 = 0, $154 = 0, $165 = 0, $168 = 0, $175 = 0, $2 = 0, $24 = 0, $26 = 0, $3 = 0, $37 = 0, $39 = 0, $4 = 0, $40 = 0, $49 = 0, $5 = 0, $51 = 0, $53 = 0, $54 = 0, $6 = 0, $60 = 0, $67 = 0, $73 = 0, $75 = 0, $76 = 0, $79 = 0, $8 = 0, $81 = 0, $83 = 0, $96 = 0, $storemerge = 0, $storemerge3 = 0; + $2 = $0 + 4 | 0; + $3 = HEAP32[$2 >> 2] | 0; + $4 = $3 & -8; + $5 = $0 + $4 | 0; + $6 = HEAP32[16739] | 0; + $8 = $3 & 3; + if (!(($8 | 0) != 1 & $6 >>> 0 <= $0 >>> 0 & $5 >>> 0 > $0 >>> 0)) _abort(); + $11 = $5 + 4 | 0; + $12 = HEAP32[$11 >> 2] | 0; + if (!($12 & 1)) _abort(); + if (!$8) { + if ($1 >>> 0 < 256) { + $$2 = 0; + return $$2 | 0; + } + if ($4 >>> 0 >= ($1 + 4 | 0) >>> 0 ? ($4 - $1 | 0) >>> 0 <= HEAP32[16855] << 1 >>> 0 : 0) { + $$2 = $0; + return $$2 | 0; + } + $$2 = 0; + return $$2 | 0; + } + if ($4 >>> 0 >= $1 >>> 0) { + $24 = $4 - $1 | 0; + if ($24 >>> 0 <= 15) { + $$2 = $0; + return $$2 | 0; + } + $26 = $0 + $1 | 0; + HEAP32[$2 >> 2] = $3 & 1 | $1 | 2; + HEAP32[$26 + 4 >> 2] = $24 | 3; + HEAP32[$11 >> 2] = HEAP32[$11 >> 2] | 1; + _dispose_chunk($26, $24); + $$2 = $0; + return $$2 | 0; + } + if ((HEAP32[16741] | 0) == ($5 | 0)) { + $37 = (HEAP32[16738] | 0) + $4 | 0; + $39 = $37 - $1 | 0; + $40 = $0 + $1 | 0; + if ($37 >>> 0 <= $1 >>> 0) { + $$2 = 0; + return $$2 | 0; + } + HEAP32[$2 >> 2] = $3 & 1 | $1 | 2; + HEAP32[$40 + 4 >> 2] = $39 | 1; + HEAP32[16741] = $40; + HEAP32[16738] = $39; + $$2 = $0; + return $$2 | 0; + } + if ((HEAP32[16740] | 0) == ($5 | 0)) { + $49 = (HEAP32[16737] | 0) + $4 | 0; + if ($49 >>> 0 < $1 >>> 0) { + $$2 = 0; + return $$2 | 0; + } + $51 = $49 - $1 | 0; + if ($51 >>> 0 > 15) { + $53 = $0 + $1 | 0; + $54 = $0 + $49 | 0; + HEAP32[$2 >> 2] = $3 & 1 | $1 | 2; + HEAP32[$53 + 4 >> 2] = $51 | 1; + HEAP32[$54 >> 2] = $51; + $60 = $54 + 4 | 0; + HEAP32[$60 >> 2] = HEAP32[$60 >> 2] & -2; + $storemerge = $53; + $storemerge3 = $51; + } else { + HEAP32[$2 >> 2] = $3 & 1 | $49 | 2; + $67 = $0 + $49 + 4 | 0; + HEAP32[$67 >> 2] = HEAP32[$67 >> 2] | 1; + $storemerge = 0; + $storemerge3 = 0; + } + HEAP32[16737] = $storemerge3; + HEAP32[16740] = $storemerge; + $$2 = $0; + return $$2 | 0; + } + if ($12 & 2 | 0) { + $$2 = 0; + return $$2 | 0; + } + $73 = ($12 & -8) + $4 | 0; + if ($73 >>> 0 < $1 >>> 0) { + $$2 = 0; + return $$2 | 0; + } + $75 = $73 - $1 | 0; + $76 = $12 >>> 3; + L49 : do if ($12 >>> 0 >= 256) { + $101 = HEAP32[$5 + 24 >> 2] | 0; + $103 = HEAP32[$5 + 12 >> 2] | 0; + do if (($103 | 0) == ($5 | 0)) { + $114 = $5 + 16 | 0; + $115 = $114 + 4 | 0; + $116 = HEAP32[$115 >> 2] | 0; + if (!$116) { + $118 = HEAP32[$114 >> 2] | 0; + if (!$118) { + $$3 = 0; + break; + } else { + $$1271$ph = $118; + $$1274$ph = $114; + } + } else { + $$1271$ph = $116; + $$1274$ph = $115; + } + $$1271 = $$1271$ph; + $$1274 = $$1274$ph; + while (1) { + $120 = $$1271 + 20 | 0; + $121 = HEAP32[$120 >> 2] | 0; + if (!$121) { + $123 = $$1271 + 16 | 0; + $124 = HEAP32[$123 >> 2] | 0; + if (!$124) break; else { + $$1271$be = $124; + $$1274$be = $123; + } + } else { + $$1271$be = $121; + $$1274$be = $120; + } + $$1271 = $$1271$be; + $$1274 = $$1274$be; + } + if ($6 >>> 0 > $$1274 >>> 0) _abort(); else { + HEAP32[$$1274 >> 2] = 0; + $$3 = $$1271; + break; + } + } else { + $106 = HEAP32[$5 + 8 >> 2] | 0; + if ($6 >>> 0 > $106 >>> 0) _abort(); + $108 = $106 + 12 | 0; + if ((HEAP32[$108 >> 2] | 0) != ($5 | 0)) _abort(); + $111 = $103 + 8 | 0; + if ((HEAP32[$111 >> 2] | 0) == ($5 | 0)) { + HEAP32[$108 >> 2] = $103; + HEAP32[$111 >> 2] = $106; + $$3 = $103; + break; + } else _abort(); + } while (0); + if ($101 | 0) { + $129 = HEAP32[$5 + 28 >> 2] | 0; + $130 = 67244 + ($129 << 2) | 0; + do if ((HEAP32[$130 >> 2] | 0) == ($5 | 0)) { + HEAP32[$130 >> 2] = $$3; + if (!$$3) { + HEAP32[16736] = HEAP32[16736] & ~(1 << $129); + break L49; + } + } else if ((HEAP32[16739] | 0) >>> 0 <= $101 >>> 0) { + $139 = $101 + 16 | 0; + HEAP32[((HEAP32[$139 >> 2] | 0) == ($5 | 0) ? $139 : $101 + 20 | 0) >> 2] = $$3; + if (!$$3) break L49; else break; + } else _abort(); while (0); + $144 = HEAP32[16739] | 0; + if ($144 >>> 0 > $$3 >>> 0) _abort(); + HEAP32[$$3 + 24 >> 2] = $101; + $147 = $5 + 16 | 0; + $148 = HEAP32[$147 >> 2] | 0; + do if ($148 | 0) if ($144 >>> 0 > $148 >>> 0) _abort(); else { + HEAP32[$$3 + 16 >> 2] = $148; + HEAP32[$148 + 24 >> 2] = $$3; + break; + } while (0); + $154 = HEAP32[$147 + 4 >> 2] | 0; + if ($154 | 0) if ((HEAP32[16739] | 0) >>> 0 > $154 >>> 0) _abort(); else { + HEAP32[$$3 + 20 >> 2] = $154; + HEAP32[$154 + 24 >> 2] = $$3; + break; + } + } + } else { + $79 = HEAP32[$5 + 8 >> 2] | 0; + $81 = HEAP32[$5 + 12 >> 2] | 0; + $83 = 66980 + ($76 << 1 << 2) | 0; + if (($79 | 0) != ($83 | 0)) { + if ($6 >>> 0 > $79 >>> 0) _abort(); + if ((HEAP32[$79 + 12 >> 2] | 0) != ($5 | 0)) _abort(); + } + if (($81 | 0) == ($79 | 0)) { + HEAP32[16735] = HEAP32[16735] & ~(1 << $76); + break; + } + if (($81 | 0) != ($83 | 0)) { + if ($6 >>> 0 > $81 >>> 0) _abort(); + $96 = $81 + 8 | 0; + if ((HEAP32[$96 >> 2] | 0) == ($5 | 0)) $$pre$phiZ2D = $96; else _abort(); + } else $$pre$phiZ2D = $81 + 8 | 0; + HEAP32[$79 + 12 >> 2] = $81; + HEAP32[$$pre$phiZ2D >> 2] = $79; + } while (0); + if ($75 >>> 0 < 16) { + HEAP32[$2 >> 2] = $3 & 1 | $73 | 2; + $165 = $0 + $73 + 4 | 0; + HEAP32[$165 >> 2] = HEAP32[$165 >> 2] | 1; + $$2 = $0; + return $$2 | 0; + } else { + $168 = $0 + $1 | 0; + HEAP32[$2 >> 2] = $3 & 1 | $1 | 2; + HEAP32[$168 + 4 >> 2] = $75 | 3; + $175 = $0 + $73 + 4 | 0; + HEAP32[$175 >> 2] = HEAP32[$175 >> 2] | 1; + _dispose_chunk($168, $75); + $$2 = $0; + return $$2 | 0; + } + return 0; +} + +function _decode_mcu_AC_first_63($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0113 = 0, $$0118140 = 0, $$0122139 = 0, $$0131138 = 0, $$0133 = 0, $$017$i = 0, $$1119 = 0, $$1123 = 0, $$1132 = 0, $$1134 = 0, $$2 = 0, $$2117$ph = 0, $$2120 = 0, $$2124 = 0, $$4$ph = 0, $$4126$ph = 0, $$5 = 0, $$5127 = 0, $$6 = 0, $$6128 = 0, $$7 = 0, $$7129 = 0, $$8 = 0, $$8130 = 0, $100 = 0, $11 = 0, $111 = 0, $117 = 0, $128 = 0, $131 = 0, $15 = 0, $16 = 0, $2 = 0, $23 = 0, $39 = 0, $4 = 0, $40 = 0, $44 = 0, $45 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $55 = 0, $57 = 0, $59 = 0, $60 = 0, $62 = 0, $64 = 0, $66 = 0, $67 = 0, $71 = 0, $72 = 0, $76 = 0, $78 = 0, $8 = 0, $84 = 0, $88 = 0, $90 = 0, $96 = 0, $99 = 0, $trunc = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp; + $4 = HEAP32[$0 + 468 >> 2] | 0; + $5 = $0 + 280 | 0; + if (HEAP32[$5 >> 2] | 0 ? ($8 = $4 + 44 | 0, (HEAP32[$8 >> 2] | 0) == 0) : 0) { + $11 = $4 + 16 | 0; + $15 = HEAP32[$0 + 464 >> 2] | 0; + $16 = $15 + 24 | 0; + HEAP32[$16 >> 2] = (HEAP32[$16 >> 2] | 0) + ((HEAP32[$11 >> 2] | 0) / 8 | 0); + HEAP32[$11 >> 2] = 0; + if (!(FUNCTION_TABLE_ii[HEAP32[$15 + 8 >> 2] & 127]($0) | 0)) { + $$2 = 0; + STACKTOP = sp; + return $$2 | 0; + } + $23 = $0 + 340 | 0; + if ((HEAP32[$23 >> 2] | 0) > 0) { + $$017$i = 0; + do { + HEAP32[$4 + 24 + ($$017$i << 2) >> 2] = 0; + $$017$i = $$017$i + 1 | 0; + } while (($$017$i | 0) < (HEAP32[$23 >> 2] | 0)); + } + HEAP32[$4 + 20 >> 2] = 0; + HEAP32[$8 >> 2] = HEAP32[$5 >> 2]; + if (!(HEAP32[$0 + 440 >> 2] | 0)) HEAP32[$4 + 40 >> 2] = 0; + } + if (!(HEAP32[$4 + 40 >> 2] | 0)) { + $39 = $4 + 20 | 0; + $40 = HEAP32[$39 >> 2] | 0; + if (!$40) { + HEAP32[$2 + 16 >> 2] = $0; + $44 = $0 + 24 | 0; + $45 = HEAP32[$44 >> 2] | 0; + HEAP32[$2 >> 2] = HEAP32[$45 >> 2]; + $49 = $2 + 4 | 0; + HEAP32[$49 >> 2] = HEAP32[$45 + 4 >> 2]; + $50 = $4 + 12 | 0; + $51 = HEAP32[$50 >> 2] | 0; + $52 = $4 + 16 | 0; + $53 = HEAP32[$52 >> 2] | 0; + $55 = HEAP32[$0 + 416 >> 2] | 0; + $57 = HEAP32[$0 + 424 >> 2] | 0; + $59 = HEAP32[$0 + 432 >> 2] | 0; + $60 = HEAP32[$1 >> 2] | 0; + $62 = HEAP32[$4 + 64 >> 2] | 0; + $64 = HEAP32[$0 + 412 >> 2] | 0; + L18 : do if (($64 | 0) <= ($55 | 0)) { + $66 = $2 + 8 | 0; + $67 = $2 + 12 | 0; + $$0118140 = $53; + $$0122139 = $51; + $$0131138 = $64; + L20 : while (1) { + if (($$0118140 | 0) < 8) { + if (!(_jpeg_fill_bit_buffer($2, $$0122139, $$0118140, 0) | 0)) { + $$2 = 0; + label = 36; + break; + } + $71 = HEAP32[$66 >> 2] | 0; + $72 = HEAP32[$67 >> 2] | 0; + if (($72 | 0) < 8) { + $$0113 = 1; + $$2120 = $72; + $$2124 = $71; + label = 19; + } else { + $$1119 = $72; + $$1123 = $71; + label = 17; + } + } else { + $$1119 = $$0118140; + $$1123 = $$0122139; + label = 17; + } + if ((label | 0) == 17) { + label = 0; + $76 = $$1123 >> $$1119 + -8 & 255; + $78 = HEAP32[$62 + 144 + ($76 << 2) >> 2] | 0; + if (!$78) { + $$0113 = 9; + $$2120 = $$1119; + $$2124 = $$1123; + label = 19; + } else { + $$2117$ph = HEAPU8[$62 + 1168 + $76 >> 0] | 0; + $$4$ph = $$1119 - $78 | 0; + $$4126$ph = $$1123; + } + } + if ((label | 0) == 19) { + label = 0; + $84 = _jpeg_huff_decode($2, $$2124, $$2120, $62, $$0113) | 0; + if (($84 | 0) < 0) { + $$2 = 0; + label = 36; + break; + } + $$2117$ph = $84; + $$4$ph = HEAP32[$67 >> 2] | 0; + $$4126$ph = HEAP32[$66 >> 2] | 0; + } + $trunc = $$2117$ph >>> 4; + $88 = $$2117$ph & 15; + if (!$88) { + switch ($trunc & 268435455 | 0) { + case 0: + { + $$0133 = 0; + $$8 = $$4$ph; + $$8130 = $$4126$ph; + break L18; + break; + } + case 15: + break; + default: + { + label = 27; + break L20; + } + } + $$1132 = $$0131138 + 15 | 0; + $$7 = $$4$ph; + $$7129 = $$4126$ph; + } else { + $90 = $trunc + $$0131138 | 0; + if (($$4$ph | 0) < ($88 | 0)) { + if (!(_jpeg_fill_bit_buffer($2, $$4126$ph, $$4$ph, $88) | 0)) { + $$2 = 0; + label = 36; + break; + } + $$5 = HEAP32[$67 >> 2] | 0; + $$5127 = HEAP32[$66 >> 2] | 0; + } else { + $$5 = $$4$ph; + $$5127 = $$4126$ph; + } + $96 = $$5 - $88 | 0; + $99 = HEAP32[5184 + ($88 << 2) >> 2] | 0; + $100 = $$5127 >> $96 & $99; + HEAP16[$60 + (HEAP32[$59 + ($90 << 2) >> 2] << 1) >> 1] = $100 - (($100 | 0) > (HEAP32[5184 + ($88 + -1 << 2) >> 2] | 0) ? 0 : $99) << $57; + $$1132 = $90; + $$7 = $96; + $$7129 = $$5127; + } + if (($$1132 | 0) < ($55 | 0)) { + $$0118140 = $$7; + $$0122139 = $$7129; + $$0131138 = $$1132 + 1 | 0; + } else { + $$0133 = 0; + $$8 = $$7; + $$8130 = $$7129; + break L18; + } + } + if ((label | 0) == 27) { + $111 = 1 << $trunc; + do if (($$4$ph | 0) < ($trunc | 0)) if (!(_jpeg_fill_bit_buffer($2, $$4126$ph, $$4$ph, $trunc) | 0)) { + $$2 = 0; + STACKTOP = sp; + return $$2 | 0; + } else { + $$6 = HEAP32[$67 >> 2] | 0; + $$6128 = HEAP32[$66 >> 2] | 0; + break; + } else { + $$6 = $$4$ph; + $$6128 = $$4126$ph; + } while (0); + $117 = $$6 - $trunc | 0; + $$0133 = $111 + -1 + ($$6128 >> $117 & HEAP32[5184 + ($trunc << 2) >> 2]) | 0; + $$8 = $117; + $$8130 = $$6128; + break; + } else if ((label | 0) == 36) { + STACKTOP = sp; + return $$2 | 0; + } + } else { + $$0133 = 0; + $$8 = $53; + $$8130 = $51; + } while (0); + $128 = HEAP32[$44 >> 2] | 0; + HEAP32[$128 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$128 + 4 >> 2] = HEAP32[$49 >> 2]; + HEAP32[$50 >> 2] = $$8130; + HEAP32[$52 >> 2] = $$8; + $$1134 = $$0133; + } else $$1134 = $40 + -1 | 0; + HEAP32[$39 >> 2] = $$1134; + } + $131 = $4 + 44 | 0; + HEAP32[$131 >> 2] = (HEAP32[$131 >> 2] | 0) + -1; + $$2 = 1; + STACKTOP = sp; + return $$2 | 0; +} + +function _access_virt_barray($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$$i = 0, $$$i88 = 0, $$$us$i = 0, $$$us$i81 = 0, $$05557$i91 = 0, $$05557$us$i84 = 0, $$058$i90 = 0, $$058$us$i83 = 0, $$077 = 0, $$078 = 0, $$180 = 0, $$56$i89 = 0, $$56$i92 = 0, $$56$us$i82 = 0, $$56$us$i85 = 0, $$phi$trans$insert = 0, $$pre = 0, $$pre63$i = 0, $$pre63$i74 = 0, $101 = 0, $103 = 0, $106 = 0, $108 = 0, $110 = 0, $112 = 0, $114 = 0, $117 = 0, $118 = 0, $121 = 0, $122 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $139 = 0, $14 = 0, $144 = 0, $145 = 0, $146 = 0, $147 = 0, $148 = 0, $17 = 0, $18 = 0, $27 = 0, $30 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $41 = 0, $42 = 0, $43 = 0, $46 = 0, $48 = 0, $5 = 0, $50 = 0, $54 = 0, $59 = 0, $6 = 0, $61 = 0, $64 = 0, $66 = 0, $68 = 0, $70 = 0, $72 = 0, $77 = 0, $81 = 0, $82 = 0, $84 = 0, $85 = 0, $88 = 0, $90 = 0, $92 = 0, $96 = 0, $storemerge = 0, label = 0; + $5 = $3 + $2 | 0; + $6 = $1 + 4 | 0; + if (($5 >>> 0 <= (HEAP32[$6 >> 2] | 0) >>> 0 ? (HEAP32[$1 + 12 >> 2] | 0) >>> 0 >= $3 >>> 0 : 0) ? (HEAP32[$1 >> 2] | 0) != 0 : 0) {} else { + $14 = HEAP32[$0 >> 2] | 0; + HEAP32[$14 + 20 >> 2] = 23; + FUNCTION_TABLE_vi[HEAP32[$14 >> 2] & 255]($0); + } + $17 = $1 + 24 | 0; + $18 = HEAP32[$17 >> 2] | 0; + if ($18 >>> 0 <= $2 >>> 0 ? $5 >>> 0 <= ((HEAP32[$1 + 16 >> 2] | 0) + $18 | 0) >>> 0 : 0) {} else label = 7; + L9 : do if ((label | 0) == 7) { + if (!(HEAP32[$1 + 40 >> 2] | 0)) { + $27 = HEAP32[$0 >> 2] | 0; + HEAP32[$27 + 20 >> 2] = 71; + FUNCTION_TABLE_vi[HEAP32[$27 >> 2] & 255]($0); + } + $30 = $1 + 36 | 0; + if (HEAP32[$30 >> 2] | 0) { + $35 = HEAP32[$1 + 8 >> 2] << 7; + $36 = HEAP32[$17 >> 2] | 0; + $37 = $1 + 20 | 0; + $38 = $1 + 16 | 0; + $39 = HEAP32[$38 >> 2] | 0; + L16 : do if (($39 | 0) > 0 ? ($41 = $1 + 28 | 0, $42 = $1 + 48 | 0, $43 = $1 + 52 | 0, $$pre63$i = HEAP32[$37 >> 2] | 0, $$$i88 = ($$pre63$i | 0) < ($39 | 0) ? $$pre63$i : $39, $46 = (HEAP32[$41 >> 2] | 0) - $36 | 0, $48 = ($$$i88 | 0) < ($46 | 0) ? $$$i88 : $46, $50 = (HEAP32[$6 >> 2] | 0) - $36 | 0, $$56$i89 = ($48 | 0) < ($50 | 0) ? $48 : $50, ($$56$i89 | 0) >= 1) : 0) { + $$05557$i91 = Math_imul($36, $35) | 0; + $$058$i90 = 0; + $$56$i92 = $$56$i89; + while (1) { + $54 = Math_imul($$56$i92, $35) | 0; + FUNCTION_TABLE_viiiii[HEAP32[$43 >> 2] & 63]($0, $42, HEAP32[(HEAP32[$1 >> 2] | 0) + ($$058$i90 << 2) >> 2] | 0, $$05557$i91, $54); + $59 = HEAP32[$37 >> 2] | 0; + $$058$i90 = $59 + $$058$i90 | 0; + $61 = HEAP32[$38 >> 2] | 0; + if (($61 | 0) <= ($$058$i90 | 0)) break L16; + $64 = $61 - $$058$i90 | 0; + $$$i = ($59 | 0) < ($64 | 0) ? $59 : $64; + $66 = $$058$i90 + (HEAP32[$17 >> 2] | 0) | 0; + $68 = (HEAP32[$41 >> 2] | 0) - $66 | 0; + $70 = ($$$i | 0) < ($68 | 0) ? $$$i : $68; + $72 = (HEAP32[$6 >> 2] | 0) - $66 | 0; + $$56$i92 = ($70 | 0) < ($72 | 0) ? $70 : $72; + if (($$56$i92 | 0) < 1) break; else $$05557$i91 = $54 + $$05557$i91 | 0; + } + } while (0); + HEAP32[$30 >> 2] = 0; + } + $$phi$trans$insert = $1 + 16 | 0; + $$pre = HEAP32[$$phi$trans$insert >> 2] | 0; + if ((HEAP32[$17 >> 2] | 0) >>> 0 < $2 >>> 0) $storemerge = $2; else { + $77 = $5 - $$pre | 0; + $storemerge = ($77 | 0) > 0 ? $77 : 0; + } + HEAP32[$17 >> 2] = $storemerge; + $81 = HEAP32[$1 + 8 >> 2] << 7; + $82 = $1 + 20 | 0; + if (($$pre | 0) > 0 ? ($84 = $1 + 28 | 0, $85 = $1 + 48 | 0, $$pre63$i74 = HEAP32[$82 >> 2] | 0, $$$us$i81 = ($$pre63$i74 | 0) < ($$pre | 0) ? $$pre63$i74 : $$pre, $88 = (HEAP32[$84 >> 2] | 0) - $storemerge | 0, $90 = ($$$us$i81 | 0) < ($88 | 0) ? $$$us$i81 : $88, $92 = (HEAP32[$6 >> 2] | 0) - $storemerge | 0, $$56$us$i82 = ($90 | 0) < ($92 | 0) ? $90 : $92, ($$56$us$i82 | 0) >= 1) : 0) { + $$05557$us$i84 = Math_imul($81, $storemerge) | 0; + $$058$us$i83 = 0; + $$56$us$i85 = $$56$us$i82; + while (1) { + $96 = Math_imul($$56$us$i85, $81) | 0; + FUNCTION_TABLE_viiiii[HEAP32[$85 >> 2] & 63]($0, $85, HEAP32[(HEAP32[$1 >> 2] | 0) + ($$058$us$i83 << 2) >> 2] | 0, $$05557$us$i84, $96); + $101 = HEAP32[$82 >> 2] | 0; + $$058$us$i83 = $101 + $$058$us$i83 | 0; + $103 = HEAP32[$$phi$trans$insert >> 2] | 0; + if (($103 | 0) <= ($$058$us$i83 | 0)) break L9; + $106 = $103 - $$058$us$i83 | 0; + $$$us$i = ($101 | 0) < ($106 | 0) ? $101 : $106; + $108 = $$058$us$i83 + (HEAP32[$17 >> 2] | 0) | 0; + $110 = (HEAP32[$84 >> 2] | 0) - $108 | 0; + $112 = ($$$us$i | 0) < ($110 | 0) ? $$$us$i : $110; + $114 = (HEAP32[$6 >> 2] | 0) - $108 | 0; + $$56$us$i85 = ($112 | 0) < ($114 | 0) ? $112 : $114; + if (($$56$us$i85 | 0) < 1) break; else $$05557$us$i84 = $96 + $$05557$us$i84 | 0; + } + } + } while (0); + $117 = $1 + 28 | 0; + $118 = HEAP32[$117 >> 2] | 0; + do if ($118 >>> 0 < $5 >>> 0) { + $121 = ($4 | 0) == 0; + if ($118 >>> 0 < $2 >>> 0) if ($121) { + $$077 = $2; + $148 = 0; + } else { + $122 = HEAP32[$0 >> 2] | 0; + HEAP32[$122 + 20 >> 2] = 23; + FUNCTION_TABLE_vi[HEAP32[$122 >> 2] & 255]($0); + $$078 = $2; + label = 28; + } else if ($121) { + $$077 = $118; + $148 = 0; + } else { + $$078 = $118; + label = 28; + } + if ((label | 0) == 28) { + HEAP32[$117 >> 2] = $5; + $$077 = $$078; + $148 = 1; + } + if (!(HEAP32[$1 + 32 >> 2] | 0)) { + if ($148) break; + $139 = HEAP32[$0 >> 2] | 0; + HEAP32[$139 + 20 >> 2] = 23; + FUNCTION_TABLE_vi[HEAP32[$139 >> 2] & 255]($0); + break; + } + $130 = HEAP32[$1 + 8 >> 2] << 7; + $131 = HEAP32[$17 >> 2] | 0; + $132 = $$077 - $131 | 0; + $133 = $5 - $131 | 0; + if ($132 >>> 0 < $133 >>> 0) { + $$180 = $132; + do { + _memset(HEAP32[(HEAP32[$1 >> 2] | 0) + ($$180 << 2) >> 2] | 0, 0, $130 | 0) | 0; + $$180 = $$180 + 1 | 0; + } while (($$180 | 0) != ($133 | 0)); + } + } while (0); + if (!$4) { + $144 = HEAP32[$1 >> 2] | 0; + $145 = HEAP32[$17 >> 2] | 0; + $146 = $2 - $145 | 0; + $147 = $144 + ($146 << 2) | 0; + return $147 | 0; + } + HEAP32[$1 + 36 >> 2] = 1; + $144 = HEAP32[$1 >> 2] | 0; + $145 = HEAP32[$17 >> 2] | 0; + $146 = $2 - $145 | 0; + $147 = $144 + ($146 << 2) | 0; + return $147 | 0; +} + +function _access_virt_sarray($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$$i = 0, $$$i88 = 0, $$$us$i = 0, $$$us$i81 = 0, $$05557$i91 = 0, $$05557$us$i84 = 0, $$058$i90 = 0, $$058$us$i83 = 0, $$077 = 0, $$078 = 0, $$180 = 0, $$56$i89 = 0, $$56$i92 = 0, $$56$us$i82 = 0, $$56$us$i85 = 0, $$phi$trans$insert = 0, $$pre = 0, $$pre63$i = 0, $$pre63$i74 = 0, $101 = 0, $104 = 0, $106 = 0, $108 = 0, $110 = 0, $112 = 0, $115 = 0, $116 = 0, $119 = 0, $120 = 0, $127 = 0, $128 = 0, $129 = 0, $130 = 0, $136 = 0, $14 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $17 = 0, $18 = 0, $27 = 0, $30 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $40 = 0, $41 = 0, $42 = 0, $45 = 0, $47 = 0, $49 = 0, $5 = 0, $53 = 0, $58 = 0, $6 = 0, $60 = 0, $63 = 0, $65 = 0, $67 = 0, $69 = 0, $71 = 0, $76 = 0, $79 = 0, $80 = 0, $82 = 0, $83 = 0, $86 = 0, $88 = 0, $90 = 0, $94 = 0, $99 = 0, $storemerge = 0, label = 0; + $5 = $3 + $2 | 0; + $6 = $1 + 4 | 0; + if (($5 >>> 0 <= (HEAP32[$6 >> 2] | 0) >>> 0 ? (HEAP32[$1 + 12 >> 2] | 0) >>> 0 >= $3 >>> 0 : 0) ? (HEAP32[$1 >> 2] | 0) != 0 : 0) {} else { + $14 = HEAP32[$0 >> 2] | 0; + HEAP32[$14 + 20 >> 2] = 23; + FUNCTION_TABLE_vi[HEAP32[$14 >> 2] & 255]($0); + } + $17 = $1 + 24 | 0; + $18 = HEAP32[$17 >> 2] | 0; + if ($18 >>> 0 <= $2 >>> 0 ? $5 >>> 0 <= ((HEAP32[$1 + 16 >> 2] | 0) + $18 | 0) >>> 0 : 0) {} else label = 7; + L9 : do if ((label | 0) == 7) { + if (!(HEAP32[$1 + 40 >> 2] | 0)) { + $27 = HEAP32[$0 >> 2] | 0; + HEAP32[$27 + 20 >> 2] = 71; + FUNCTION_TABLE_vi[HEAP32[$27 >> 2] & 255]($0); + } + $30 = $1 + 36 | 0; + if (HEAP32[$30 >> 2] | 0) { + $34 = HEAP32[$1 + 8 >> 2] | 0; + $35 = HEAP32[$17 >> 2] | 0; + $36 = $1 + 20 | 0; + $37 = $1 + 16 | 0; + $38 = HEAP32[$37 >> 2] | 0; + L16 : do if (($38 | 0) > 0 ? ($40 = $1 + 28 | 0, $41 = $1 + 48 | 0, $42 = $1 + 52 | 0, $$pre63$i = HEAP32[$36 >> 2] | 0, $$$i88 = ($$pre63$i | 0) < ($38 | 0) ? $$pre63$i : $38, $45 = (HEAP32[$40 >> 2] | 0) - $35 | 0, $47 = ($$$i88 | 0) < ($45 | 0) ? $$$i88 : $45, $49 = (HEAP32[$6 >> 2] | 0) - $35 | 0, $$56$i89 = ($47 | 0) < ($49 | 0) ? $47 : $49, ($$56$i89 | 0) >= 1) : 0) { + $$05557$i91 = Math_imul($35, $34) | 0; + $$058$i90 = 0; + $$56$i92 = $$56$i89; + while (1) { + $53 = Math_imul($$56$i92, $34) | 0; + FUNCTION_TABLE_viiiii[HEAP32[$42 >> 2] & 63]($0, $41, HEAP32[(HEAP32[$1 >> 2] | 0) + ($$058$i90 << 2) >> 2] | 0, $$05557$i91, $53); + $58 = HEAP32[$36 >> 2] | 0; + $$058$i90 = $58 + $$058$i90 | 0; + $60 = HEAP32[$37 >> 2] | 0; + if (($60 | 0) <= ($$058$i90 | 0)) break L16; + $63 = $60 - $$058$i90 | 0; + $$$i = ($58 | 0) < ($63 | 0) ? $58 : $63; + $65 = $$058$i90 + (HEAP32[$17 >> 2] | 0) | 0; + $67 = (HEAP32[$40 >> 2] | 0) - $65 | 0; + $69 = ($$$i | 0) < ($67 | 0) ? $$$i : $67; + $71 = (HEAP32[$6 >> 2] | 0) - $65 | 0; + $$56$i92 = ($69 | 0) < ($71 | 0) ? $69 : $71; + if (($$56$i92 | 0) < 1) break; else $$05557$i91 = $53 + $$05557$i91 | 0; + } + } while (0); + HEAP32[$30 >> 2] = 0; + } + $$phi$trans$insert = $1 + 16 | 0; + $$pre = HEAP32[$$phi$trans$insert >> 2] | 0; + if ((HEAP32[$17 >> 2] | 0) >>> 0 < $2 >>> 0) $storemerge = $2; else { + $76 = $5 - $$pre | 0; + $storemerge = ($76 | 0) > 0 ? $76 : 0; + } + HEAP32[$17 >> 2] = $storemerge; + $79 = HEAP32[$1 + 8 >> 2] | 0; + $80 = $1 + 20 | 0; + if (($$pre | 0) > 0 ? ($82 = $1 + 28 | 0, $83 = $1 + 48 | 0, $$pre63$i74 = HEAP32[$80 >> 2] | 0, $$$us$i81 = ($$pre63$i74 | 0) < ($$pre | 0) ? $$pre63$i74 : $$pre, $86 = (HEAP32[$82 >> 2] | 0) - $storemerge | 0, $88 = ($$$us$i81 | 0) < ($86 | 0) ? $$$us$i81 : $86, $90 = (HEAP32[$6 >> 2] | 0) - $storemerge | 0, $$56$us$i82 = ($88 | 0) < ($90 | 0) ? $88 : $90, ($$56$us$i82 | 0) >= 1) : 0) { + $$05557$us$i84 = Math_imul($79, $storemerge) | 0; + $$058$us$i83 = 0; + $$56$us$i85 = $$56$us$i82; + while (1) { + $94 = Math_imul($$56$us$i85, $79) | 0; + FUNCTION_TABLE_viiiii[HEAP32[$83 >> 2] & 63]($0, $83, HEAP32[(HEAP32[$1 >> 2] | 0) + ($$058$us$i83 << 2) >> 2] | 0, $$05557$us$i84, $94); + $99 = HEAP32[$80 >> 2] | 0; + $$058$us$i83 = $99 + $$058$us$i83 | 0; + $101 = HEAP32[$$phi$trans$insert >> 2] | 0; + if (($101 | 0) <= ($$058$us$i83 | 0)) break L9; + $104 = $101 - $$058$us$i83 | 0; + $$$us$i = ($99 | 0) < ($104 | 0) ? $99 : $104; + $106 = $$058$us$i83 + (HEAP32[$17 >> 2] | 0) | 0; + $108 = (HEAP32[$82 >> 2] | 0) - $106 | 0; + $110 = ($$$us$i | 0) < ($108 | 0) ? $$$us$i : $108; + $112 = (HEAP32[$6 >> 2] | 0) - $106 | 0; + $$56$us$i85 = ($110 | 0) < ($112 | 0) ? $110 : $112; + if (($$56$us$i85 | 0) < 1) break; else $$05557$us$i84 = $94 + $$05557$us$i84 | 0; + } + } + } while (0); + $115 = $1 + 28 | 0; + $116 = HEAP32[$115 >> 2] | 0; + do if ($116 >>> 0 < $5 >>> 0) { + $119 = ($4 | 0) == 0; + if ($116 >>> 0 < $2 >>> 0) if ($119) { + $$077 = $2; + $145 = 0; + } else { + $120 = HEAP32[$0 >> 2] | 0; + HEAP32[$120 + 20 >> 2] = 23; + FUNCTION_TABLE_vi[HEAP32[$120 >> 2] & 255]($0); + $$078 = $2; + label = 28; + } else if ($119) { + $$077 = $116; + $145 = 0; + } else { + $$078 = $116; + label = 28; + } + if ((label | 0) == 28) { + HEAP32[$115 >> 2] = $5; + $$077 = $$078; + $145 = 1; + } + if (!(HEAP32[$1 + 32 >> 2] | 0)) { + if ($145) break; + $136 = HEAP32[$0 >> 2] | 0; + HEAP32[$136 + 20 >> 2] = 23; + FUNCTION_TABLE_vi[HEAP32[$136 >> 2] & 255]($0); + break; + } + $127 = HEAP32[$1 + 8 >> 2] | 0; + $128 = HEAP32[$17 >> 2] | 0; + $129 = $$077 - $128 | 0; + $130 = $5 - $128 | 0; + if ($129 >>> 0 < $130 >>> 0) { + $$180 = $129; + do { + _memset(HEAP32[(HEAP32[$1 >> 2] | 0) + ($$180 << 2) >> 2] | 0, 0, $127 | 0) | 0; + $$180 = $$180 + 1 | 0; + } while (($$180 | 0) != ($130 | 0)); + } + } while (0); + if (!$4) { + $141 = HEAP32[$1 >> 2] | 0; + $142 = HEAP32[$17 >> 2] | 0; + $143 = $2 - $142 | 0; + $144 = $141 + ($143 << 2) | 0; + return $144 | 0; + } + HEAP32[$1 + 36 >> 2] = 1; + $141 = HEAP32[$1 >> 2] | 0; + $142 = HEAP32[$17 >> 2] | 0; + $143 = $2 - $142 | 0; + $144 = $141 + ($143 << 2) | 0; + return $144 | 0; +} + +function _extractVisibleFeatures_171($cparamLT, $trans1, $surfaceSet, $candidate, $candidate2) { + $cparamLT = $cparamLT | 0; + $trans1 = $trans1 | 0; + $surfaceSet = $surfaceSet | 0; + $candidate = $candidate | 0; + $candidate2 = $candidate2 | 0; + var $12 = 0.0, $13 = 0.0, $18 = 0, $19 = 0.0, $21 = 0.0, $29 = 0.0, $33 = 0.0, $36 = 0, $37 = 0.0, $4 = 0, $6 = 0, $7 = 0, $9 = 0, $add119 = 0.0, $add65 = 0.0, $add92 = 0.0, $arrayidx106 = 0, $arrayidx118 = 0, $arrayidx139 = 0, $arrayidx143 = 0, $arrayidx148 = 0, $arrayidx170 = 0, $arrayidx175 = 0, $arrayidx53 = 0, $arrayidx64 = 0, $arrayidx68 = 0, $arrayidx79 = 0, $arrayidx91 = 0, $arrayidx95 = 0, $cmp33 = 0, $conv = 0.0, $conv39 = 0.0, $flag228 = 0, $flag248$sink = 0, $i$0 = 0, $j$0 = 0, $j$1 = 0, $k$0 = 0, $k$1 = 0, $l$0 = 0, $l$1 = 0, $l$2 = 0, $l$3 = 0, $l2$0 = 0, $l2$1 = 0, $l2$2 = 0, $l2$3 = 0, $num = 0, $sx = 0, $sy = 0, $trans2 = 0, $vararg_buffer = 0, $w = 0, $wpos = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(80); + $vararg_buffer = sp + 48 | 0; + $trans2 = sp; + $sx = sp + 76 | 0; + $sy = sp + 72 | 0; + $wpos = sp + 64 | 0; + $w = sp + 56 | 0; + $num = $surfaceSet + 4 | 0; + $conv = +(HEAP32[$cparamLT >> 2] | 0); + $conv39 = +(HEAP32[$cparamLT + 4 >> 2] | 0); + $arrayidx53 = $trans2 + 4 | 0; + $arrayidx64 = $trans2 + 12 | 0; + $arrayidx68 = $trans2 + 16 | 0; + $arrayidx79 = $trans2 + 20 | 0; + $arrayidx91 = $trans2 + 28 | 0; + $arrayidx95 = $trans2 + 32 | 0; + $arrayidx106 = $trans2 + 36 | 0; + $arrayidx118 = $trans2 + 44 | 0; + $arrayidx139 = $trans2 + 8 | 0; + $arrayidx143 = $trans2 + 24 | 0; + $arrayidx148 = $trans2 + 40 | 0; + $arrayidx170 = $wpos + 4 | 0; + $arrayidx175 = $w + 4 | 0; + $flag228 = $candidate2 + 4812 | 0; + $i$0 = 0; + $l$0 = 0; + $l2$0 = 0; + L1 : while (1) { + if (($i$0 | 0) >= (HEAP32[$num >> 2] | 0)) { + label = 29; + break; + } + $j$0 = 0; + while (1) { + if (($j$0 | 0) == 3) break; + $k$0 = 0; + while (1) { + if (($k$0 | 0) == 4) break; + HEAP32[$trans2 + ($j$0 << 4) + ($k$0 << 2) >> 2] = HEAP32[$trans1 + ($i$0 * 48 | 0) + ($j$0 << 4) + ($k$0 << 2) >> 2]; + $k$0 = $k$0 + 1 | 0; + } + $j$0 = $j$0 + 1 | 0; + } + $4 = HEAP32[(HEAP32[$surfaceSet >> 2] | 0) + ($i$0 * 112 | 0) + 4 >> 2] | 0; + $j$1 = 0; + $l$1 = $l$0; + $l2$1 = $l2$0; + while (1) { + if (($j$1 | 0) >= (HEAP32[$4 + 4 >> 2] | 0)) break; + $7 = $4; + $k$1 = 0; + $l$2 = $l$1; + $l2$2 = $l2$1; + while (1) { + $6 = HEAP32[$7 >> 2] | 0; + if (($k$1 | 0) >= (HEAP32[$6 + ($j$1 * 20 | 0) + 4 >> 2] | 0)) break; + $9 = HEAP32[$6 + ($j$1 * 20 | 0) >> 2] | 0; + $cmp33 = (_ar2MarkerCoord2ScreenCoord2($cparamLT, $trans2, +HEAPF32[$9 + ($k$1 * 20 | 0) + 8 >> 2], +HEAPF32[$9 + ($k$1 * 20 | 0) + 12 >> 2], $sx, $sy) | 0) < 0; + $12 = +HEAPF32[$sx >> 2]; + do if ((!($cmp33 | $12 < 0.0) ? ($13 = +HEAPF32[$sy >> 2], !($13 >= $conv39) & (!($12 >= $conv) & !($13 < 0.0))) : 0) ? ($18 = HEAP32[(HEAP32[HEAP32[(HEAP32[$surfaceSet >> 2] | 0) + ($i$0 * 112 | 0) + 4 >> 2] >> 2] | 0) + ($j$1 * 20 | 0) >> 2] | 0, $19 = +HEAPF32[$18 + ($k$1 * 20 | 0) + 8 >> 2], $21 = +HEAPF32[$18 + ($k$1 * 20 | 0) + 12 >> 2], $add65 = +HEAPF32[$arrayidx64 >> 2] + (+HEAPF32[$trans2 >> 2] * $19 + +HEAPF32[$arrayidx53 >> 2] * $21), $add92 = +HEAPF32[$arrayidx91 >> 2] + ($19 * +HEAPF32[$arrayidx68 >> 2] + $21 * +HEAPF32[$arrayidx79 >> 2]), $add119 = +HEAPF32[$arrayidx118 >> 2] + ($19 * +HEAPF32[$arrayidx95 >> 2] + $21 * +HEAPF32[$arrayidx106 >> 2]), $29 = +Math_sqrt(+($add65 * $add65 + $add92 * $add92 + $add119 * $add119)), !(+HEAPF32[$arrayidx148 >> 2] * ($add119 / $29) + (+HEAPF32[$arrayidx139 >> 2] * ($add65 / $29) + +HEAPF32[$arrayidx143 >> 2] * ($add92 / $29)) > -.10000000149011612)) : 0) { + HEAPF32[$wpos >> 2] = $19; + HEAPF32[$arrayidx170 >> 2] = $21; + _ar2GetResolution($cparamLT, $trans2, $wpos, $w) | 0; + $33 = +HEAPF32[$arrayidx175 >> 2]; + $36 = HEAP32[HEAP32[(HEAP32[$surfaceSet >> 2] | 0) + ($i$0 * 112 | 0) + 4 >> 2] >> 2] | 0; + $37 = +HEAPF32[$36 + ($j$1 * 20 | 0) + 12 >> 2]; + if ($33 <= $37 ? $33 >= +HEAPF32[$36 + ($j$1 * 20 | 0) + 16 >> 2] : 0) { + if (($l$2 | 0) == 200) { + label = 19; + break L1; + } + HEAP32[$candidate + ($l$2 * 24 | 0) >> 2] = $i$0; + HEAP32[$candidate + ($l$2 * 24 | 0) + 4 >> 2] = $j$1; + HEAP32[$candidate + ($l$2 * 24 | 0) + 8 >> 2] = $k$1; + HEAP32[$candidate + ($l$2 * 24 | 0) + 16 >> 2] = HEAP32[$sx >> 2]; + HEAP32[$candidate + ($l$2 * 24 | 0) + 20 >> 2] = HEAP32[$sy >> 2]; + HEAP32[$candidate + ($l$2 * 24 | 0) + 12 >> 2] = 0; + $l$3 = $l$2 + 1 | 0; + $l2$3 = $l2$2; + break; + } + if ($33 <= $37 * 2.0 ? $33 >= +HEAPF32[$36 + ($j$1 * 20 | 0) + 16 >> 2] * .5 : 0) if (($l2$2 | 0) == 200) { + HEAP32[$flag228 >> 2] = -1; + $l$3 = $l$2; + $l2$3 = 200; + break; + } else { + HEAP32[$candidate2 + ($l2$2 * 24 | 0) >> 2] = $i$0; + HEAP32[$candidate2 + ($l2$2 * 24 | 0) + 4 >> 2] = $j$1; + HEAP32[$candidate2 + ($l2$2 * 24 | 0) + 8 >> 2] = $k$1; + HEAP32[$candidate2 + ($l2$2 * 24 | 0) + 16 >> 2] = HEAP32[$sx >> 2]; + HEAP32[$candidate2 + ($l2$2 * 24 | 0) + 20 >> 2] = HEAP32[$sy >> 2]; + HEAP32[$candidate2 + ($l2$2 * 24 | 0) + 12 >> 2] = 0; + $l$3 = $l$2; + $l2$3 = $l2$2 + 1 | 0; + break; + } else { + $l$3 = $l$2; + $l2$3 = $l2$2; + } + } else { + $l$3 = $l$2; + $l2$3 = $l2$2; + } while (0); + $7 = HEAP32[(HEAP32[$surfaceSet >> 2] | 0) + ($i$0 * 112 | 0) + 4 >> 2] | 0; + $k$1 = $k$1 + 1 | 0; + $l$2 = $l$3; + $l2$2 = $l2$3; + } + $4 = $7; + $j$1 = $j$1 + 1 | 0; + $l$1 = $l$2; + $l2$1 = $l2$2; + } + $i$0 = $i$0 + 1 | 0; + $l$0 = $l$1; + $l2$0 = $l2$1; + } + if ((label | 0) == 19) { + _arLog(0, 3, 45962, $vararg_buffer); + $flag248$sink = $candidate + 4812 | 0; + } else if ((label | 0) == 29) { + HEAP32[$candidate + ($l$0 * 24 | 0) + 12 >> 2] = -1; + $flag248$sink = $candidate2 + ($l2$0 * 24 | 0) + 12 | 0; + } + HEAP32[$flag248$sink >> 2] = -1; + STACKTOP = sp; + return; +} + +function _jpeg_idct_ifast($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0269282 = 0, $$0271281 = 0, $$0273280 = 0, $$0283 = 0, $$1279 = 0, $$2278 = 0, $$sink = 0, $$sink290 = 0, $105 = 0, $11 = 0, $112 = 0, $113 = 0, $114 = 0, $13 = 0, $132 = 0, $135 = 0, $137 = 0, $139 = 0, $141 = 0, $162 = 0, $165 = 0, $166 = 0, $167 = 0, $169 = 0, $170 = 0, $171 = 0, $175 = 0, $176 = 0, $177 = 0, $178 = 0, $179 = 0, $181 = 0, $183 = 0, $184 = 0, $185 = 0, $187 = 0, $188 = 0, $189 = 0, $190 = 0, $196 = 0, $203 = 0, $204 = 0, $205 = 0, $34 = 0, $44 = 0, $46 = 0, $49 = 0, $5 = 0, $55 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $76 = 0, $82 = 0, $88 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(256); + $5 = sp; + $7 = HEAP32[$0 + 336 >> 2] | 0; + $$0269282 = $5; + $$0271281 = HEAP32[$1 + 84 >> 2] | 0; + $$0273280 = $2; + $$0283 = 8; + while (1) { + $11 = HEAP16[$$0273280 + 16 >> 1] | 0; + $13 = HEAP16[$$0273280 + 32 >> 1] | 0; + if (!(($11 | $13) << 16 >> 16)) if (((((HEAP16[$$0273280 + 48 >> 1] | 0) == 0 ? (HEAP16[$$0273280 + 64 >> 1] | 0) == 0 : 0) ? (HEAP16[$$0273280 + 80 >> 1] | 0) == 0 : 0) ? (HEAP16[$$0273280 + 96 >> 1] | 0) == 0 : 0) ? (HEAP16[$$0273280 + 112 >> 1] | 0) == 0 : 0) { + $34 = Math_imul(HEAP32[$$0271281 >> 2] | 0, HEAP16[$$0273280 >> 1] | 0) | 0; + HEAP32[$$0269282 >> 2] = $34; + HEAP32[$$0269282 + 32 >> 2] = $34; + HEAP32[$$0269282 + 64 >> 2] = $34; + HEAP32[$$0269282 + 96 >> 2] = $34; + HEAP32[$$0269282 + 128 >> 2] = $34; + HEAP32[$$0269282 + 160 >> 2] = $34; + HEAP32[$$0269282 + 192 >> 2] = $34; + $$sink = $34; + $$sink290 = 56; + } else { + $46 = 0; + label = 9; + } else { + $46 = $13; + label = 9; + } + if ((label | 0) == 9) { + label = 0; + $44 = Math_imul(HEAP32[$$0271281 >> 2] | 0, HEAP16[$$0273280 >> 1] | 0) | 0; + $49 = Math_imul(HEAP32[$$0271281 + 64 >> 2] | 0, $46 << 16 >> 16) | 0; + $55 = Math_imul(HEAP32[$$0271281 + 128 >> 2] | 0, HEAP16[$$0273280 + 64 >> 1] | 0) | 0; + $61 = Math_imul(HEAP32[$$0271281 + 192 >> 2] | 0, HEAP16[$$0273280 + 96 >> 1] | 0) | 0; + $62 = $55 + $44 | 0; + $63 = $44 - $55 | 0; + $64 = $61 + $49 | 0; + $68 = (($49 - $61 | 0) * 362 >> 8) - $64 | 0; + $69 = $64 + $62 | 0; + $70 = $62 - $64 | 0; + $71 = $68 + $63 | 0; + $72 = $63 - $68 | 0; + $76 = Math_imul(HEAP32[$$0271281 + 32 >> 2] | 0, $11 << 16 >> 16) | 0; + $82 = Math_imul(HEAP32[$$0271281 + 96 >> 2] | 0, HEAP16[$$0273280 + 48 >> 1] | 0) | 0; + $88 = Math_imul(HEAP32[$$0271281 + 160 >> 2] | 0, HEAP16[$$0273280 + 80 >> 1] | 0) | 0; + $94 = Math_imul(HEAP32[$$0271281 + 224 >> 2] | 0, HEAP16[$$0273280 + 112 >> 1] | 0) | 0; + $95 = $88 + $82 | 0; + $96 = $88 - $82 | 0; + $97 = $94 + $76 | 0; + $98 = $76 - $94 | 0; + $99 = $97 + $95 | 0; + $105 = ($98 + $96 | 0) * 473 >> 8; + $112 = $105 - ($96 * 669 >> 8) - $99 | 0; + $113 = (($97 - $95 | 0) * 362 >> 8) - $112 | 0; + $114 = $105 - ($98 * 277 >> 8) - $113 | 0; + HEAP32[$$0269282 >> 2] = $99 + $69; + HEAP32[$$0269282 + 224 >> 2] = $69 - $99; + HEAP32[$$0269282 + 32 >> 2] = $112 + $71; + HEAP32[$$0269282 + 192 >> 2] = $71 - $112; + HEAP32[$$0269282 + 64 >> 2] = $113 + $72; + HEAP32[$$0269282 + 160 >> 2] = $72 - $113; + HEAP32[$$0269282 + 96 >> 2] = $114 + $70; + $$sink = $70 - $114 | 0; + $$sink290 = 32; + } + HEAP32[$$0269282 + ($$sink290 << 2) >> 2] = $$sink; + if ($$0283 >>> 0 > 1) { + $$0269282 = $$0269282 + 4 | 0; + $$0271281 = $$0271281 + 4 | 0; + $$0273280 = $$0273280 + 2 | 0; + $$0283 = $$0283 + -1 | 0; + } else break; + } + $132 = $7 + -384 | 0; + $$1279 = 0; + $$2278 = $5; + while (1) { + $135 = (HEAP32[$3 + ($$1279 << 2) >> 2] | 0) + $4 | 0; + $137 = (HEAP32[$$2278 >> 2] | 0) + 16400 | 0; + $139 = HEAP32[$$2278 + 4 >> 2] | 0; + $141 = HEAP32[$$2278 + 8 >> 2] | 0; + if (!($139 | $141)) if (((((HEAP32[$$2278 + 12 >> 2] | 0) == 0 ? (HEAP32[$$2278 + 16 >> 2] | 0) == 0 : 0) ? (HEAP32[$$2278 + 20 >> 2] | 0) == 0 : 0) ? (HEAP32[$$2278 + 24 >> 2] | 0) == 0 : 0) ? (HEAP32[$$2278 + 28 >> 2] | 0) == 0 : 0) { + $162 = HEAP8[$132 + ($137 >>> 5 & 1023) >> 0] | 0; + HEAP8[$135 >> 0] = $162; + _memset($135 + 1 | 0, $162 | 0, 7) | 0; + } else { + $171 = 0; + label = 19; + } else { + $171 = $141; + label = 19; + } + if ((label | 0) == 19) { + label = 0; + $165 = HEAP32[$$2278 + 16 >> 2] | 0; + $166 = $165 + $137 | 0; + $167 = $137 - $165 | 0; + $169 = HEAP32[$$2278 + 24 >> 2] | 0; + $170 = $169 + $171 | 0; + $175 = (($171 - $169 | 0) * 362 >> 8) - $170 | 0; + $176 = $170 + $166 | 0; + $177 = $166 - $170 | 0; + $178 = $175 + $167 | 0; + $179 = $167 - $175 | 0; + $181 = HEAP32[$$2278 + 20 >> 2] | 0; + $183 = HEAP32[$$2278 + 12 >> 2] | 0; + $184 = $183 + $181 | 0; + $185 = $181 - $183 | 0; + $187 = HEAP32[$$2278 + 28 >> 2] | 0; + $188 = $187 + $139 | 0; + $189 = $139 - $187 | 0; + $190 = $188 + $184 | 0; + $196 = ($189 + $185 | 0) * 473 >> 8; + $203 = $196 - ($185 * 669 >> 8) - $190 | 0; + $204 = (($188 - $184 | 0) * 362 >> 8) - $203 | 0; + $205 = $196 - ($189 * 277 >> 8) - $204 | 0; + HEAP8[$135 >> 0] = HEAP8[$132 + (($190 + $176 | 0) >>> 5 & 1023) >> 0] | 0; + HEAP8[$135 + 7 >> 0] = HEAP8[$132 + (($176 - $190 | 0) >>> 5 & 1023) >> 0] | 0; + HEAP8[$135 + 1 >> 0] = HEAP8[$132 + (($203 + $178 | 0) >>> 5 & 1023) >> 0] | 0; + HEAP8[$135 + 6 >> 0] = HEAP8[$132 + (($178 - $203 | 0) >>> 5 & 1023) >> 0] | 0; + HEAP8[$135 + 2 >> 0] = HEAP8[$132 + (($204 + $179 | 0) >>> 5 & 1023) >> 0] | 0; + HEAP8[$135 + 5 >> 0] = HEAP8[$132 + (($179 - $204 | 0) >>> 5 & 1023) >> 0] | 0; + HEAP8[$135 + 3 >> 0] = HEAP8[$132 + (($205 + $177 | 0) >>> 5 & 1023) >> 0] | 0; + HEAP8[$135 + 4 >> 0] = HEAP8[$132 + (($177 - $205 | 0) >>> 5 & 1023) >> 0] | 0; + } + $$1279 = $$1279 + 1 | 0; + if (($$1279 | 0) == 8) break; else $$2278 = $$2278 + 32 | 0; + } + STACKTOP = sp; + return; +} + +function _QRM($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$0213 = 0, $$0215 = 0, $$0216 = 0, $$0219 = 0, $$0220 = 0, $$0221 = 0, $$0222 = 0, $$0223 = 0.0, $$0224 = 0.0, $$0224$be = 0.0, $$0227 = 0.0, $$0227$be = 0.0, $$0232 = 0.0, $$1 = 0, $$1214 = 0, $$1217 = 0, $$1225 = 0.0, $$1228 = 0.0, $$1231 = 0.0, $$2218 = 0, $$pre = 0, $106 = 0.0, $111 = 0, $112 = 0, $113 = 0, $115 = 0, $116 = 0.0, $118 = 0, $119 = 0.0, $12 = 0, $128 = 0.0, $130 = 0, $131 = 0.0, $136 = 0.0, $138 = 0.0, $14 = 0, $144 = 0, $145 = 0, $146 = 0.0, $147 = 0, $150 = 0.0, $151 = 0, $154 = 0, $159 = 0.0, $2 = 0, $20 = 0, $25 = 0.0, $26 = 0, $27 = 0, $30 = 0.0, $38 = 0, $4 = 0, $40 = 0, $43 = 0, $44 = 0, $46 = 0, $47 = 0.0, $49 = 0.0, $50 = 0.0, $51 = 0.0, $54 = 0.0, $65 = 0.0, $70 = 0.0, $74 = 0.0, $77 = 0.0, $81 = 0.0, $83 = 0, $84 = 0.0, $85 = 0, $86 = 0, $87 = 0.0, $88 = 0.0, $91 = 0, $95 = 0.0, $99 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $2 = sp; + $4 = HEAP32[$0 + 4 >> 2] | 0; + do if ((!(($4 | 0) < 2 ? 1 : ($4 | 0) != (HEAP32[$0 + 8 >> 2] | 0)) ? (HEAP32[$1 + 4 >> 2] | 0) == ($4 | 0) : 0) ? ($12 = _arVecAlloc($4) | 0, ($12 | 0) != 0) : 0) { + $14 = $4 + -1 | 0; + HEAP32[$2 + 4 >> 2] = $14; + HEAP32[$2 >> 2] = (HEAP32[$12 >> 2] | 0) + 8; + if ((_arVecTridiagonalize($0, $1, $2) | 0) < 0) { + _arVecFree($12) | 0; + $$0220 = -1; + break; + } + $20 = HEAP32[$12 >> 2] | 0; + HEAPF64[$20 >> 3] = 0.0; + $$0 = $14; + while (1) { + if (($$0 | 0) <= 0) break; + $$0215 = $$0; + while (1) { + if (($$0215 | 0) <= 0) break; + $25 = +Math_abs(+(+HEAPF64[$20 + ($$0215 << 3) >> 3])); + $26 = HEAP32[$1 >> 2] | 0; + $27 = $$0215 + -1 | 0; + $30 = +Math_abs(+(+HEAPF64[$26 + ($27 << 3) >> 3])); + if ($25 > ($30 + +Math_abs(+(+HEAPF64[$26 + ($$0215 << 3) >> 3]))) * 1.0e-06) $$0215 = $27; else break; + } + $$pre = $$0 + -1 | 0; + L15 : do if (($$0215 | 0) != ($$0 | 0)) { + $38 = $20 + ($$0 << 3) | 0; + $40 = $20 + ($$0215 + 1 << 3) | 0; + $$0219 = 0; + do { + if ($$0219 >>> 0 > 99) break L15; + $$0219 = $$0219 + 1 | 0; + $43 = HEAP32[$1 >> 2] | 0; + $44 = $43 + ($$pre << 3) | 0; + $46 = $43 + ($$0 << 3) | 0; + $47 = +HEAPF64[$46 >> 3]; + $49 = (+HEAPF64[$44 >> 3] - $47) * .5; + $50 = +HEAPF64[$38 >> 3]; + $51 = $50 * $50; + $54 = +Math_sqrt(+($51 + $49 * $49)); + $$0213 = $$0215; + $$0224 = +HEAPF64[$40 >> 3]; + $$0227 = +HEAPF64[$43 + ($$0215 << 3) >> 3] - $47 + $51 / ($49 + ($49 < 0.0 ? -$54 : $54)); + while (1) { + if (($$0213 | 0) >= ($$0 | 0)) break; + $65 = +Math_abs(+$$0227); + if ($65 >= +Math_abs(+$$0224)) if ($65 > 1.0e-16) { + $70 = -$$0224 / $$0227; + $74 = 1.0 / +Math_sqrt(+($70 * $70 + 1.0)); + $$0223 = $74; + $$1231 = $70 * $74; + } else { + $$0223 = 1.0; + $$1231 = 0.0; + } else { + $77 = -$$0227 / $$0224; + $81 = 1.0 / +Math_sqrt(+($77 * $77 + 1.0)); + $$0223 = $77 * $81; + $$1231 = $81; + } + $83 = $43 + ($$0213 << 3) | 0; + $84 = +HEAPF64[$83 >> 3]; + $85 = $$0213 + 1 | 0; + $86 = $43 + ($85 << 3) | 0; + $87 = +HEAPF64[$86 >> 3]; + $88 = $84 - $87; + $91 = $20 + ($85 << 3) | 0; + $95 = $$1231 * ($$1231 * $88 + $$0223 * 2.0 * +HEAPF64[$91 >> 3]); + HEAPF64[$83 >> 3] = $84 - $95; + HEAPF64[$86 >> 3] = $87 + $95; + $99 = $20 + ($$0213 << 3) | 0; + if (($$0213 | 0) > ($$0215 | 0)) HEAPF64[$99 >> 3] = $$0223 * +HEAPF64[$99 >> 3] - $$0224 * $$1231; + $106 = +HEAPF64[$91 >> 3]; + HEAPF64[$91 >> 3] = $106 + $$1231 * ($$0223 * $88 - $$1231 * 2.0 * $106); + $111 = Math_imul($$0213, $4) | 0; + $112 = Math_imul($85, $4) | 0; + $$0216 = 0; + $$1225 = $$0224; + $$1228 = $$0227; + while (1) { + if (($$0216 | 0) == ($4 | 0)) break; + $113 = HEAP32[$0 >> 2] | 0; + $115 = $113 + ($$0216 + $111 << 3) | 0; + $116 = +HEAPF64[$115 >> 3]; + $118 = $113 + ($$0216 + $112 << 3) | 0; + $119 = +HEAPF64[$118 >> 3]; + HEAPF64[$115 >> 3] = $$0223 * $116 - $$1231 * $119; + HEAPF64[$118 >> 3] = $$1231 * $116 + $$0223 * $119; + $$0216 = $$0216 + 1 | 0; + $$1225 = $119; + $$1228 = $116; + } + if (($$0213 | 0) < ($$pre | 0)) { + $128 = +HEAPF64[$91 >> 3]; + $130 = $20 + ($$0213 + 2 << 3) | 0; + $131 = +HEAPF64[$130 >> 3]; + HEAPF64[$130 >> 3] = $$0223 * $131; + $$0224$be = -($$1231 * $131); + $$0227$be = $128; + } else { + $$0224$be = $$1225; + $$0227$be = $$1228; + } + $$0213 = $85; + $$0224 = $$0224$be; + $$0227 = $$0227$be; + } + $136 = +Math_abs(+(+HEAPF64[$38 >> 3])); + $138 = +Math_abs(+(+HEAPF64[$44 >> 3])); + } while ($136 > ($138 + +Math_abs(+(+HEAPF64[$46 >> 3]))) * 1.0e-06); + } while (0); + $$0 = $$pre; + } + $$1214 = 0; + while (1) { + if (($$1214 | 0) == ($14 | 0)) break; + $144 = HEAP32[$1 >> 2] | 0; + $145 = $144 + ($$1214 << 3) | 0; + $146 = +HEAPF64[$145 >> 3]; + $147 = $$1214 + 1 | 0; + $$0232 = $146; + $$1 = $$1214; + $$1217 = $147; + while (1) { + if (($$1217 | 0) >= ($4 | 0)) break; + $150 = +HEAPF64[$144 + ($$1217 << 3) >> 3]; + $151 = $150 > $$0232; + $$0232 = $151 ? $150 : $$0232; + $$1 = $151 ? $$1217 : $$1; + $$1217 = $$1217 + 1 | 0; + } + HEAPF64[$144 + ($$1 << 3) >> 3] = $146; + HEAPF64[$145 >> 3] = $$0232; + $154 = HEAP32[$0 >> 2] | 0; + $$0221 = $154 + ((Math_imul($$1214, $4) | 0) << 3) | 0; + $$0222 = $154 + ((Math_imul($$1, $4) | 0) << 3) | 0; + $$2218 = 0; + while (1) { + if (($$2218 | 0) == ($4 | 0)) break; + $159 = +HEAPF64[$$0222 >> 3]; + HEAPF64[$$0222 >> 3] = +HEAPF64[$$0221 >> 3]; + HEAPF64[$$0221 >> 3] = $159; + $$0221 = $$0221 + 8 | 0; + $$0222 = $$0222 + 8 | 0; + $$2218 = $$2218 + 1 | 0; + } + $$1214 = $147; + } + _arVecFree($12) | 0; + $$0220 = 0; + } else $$0220 = -1; while (0); + STACKTOP = sp; + return $$0220 | 0; +} + +function ___floatscan($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$0102 = 0, $$0103 = 0, $$0104122 = 0, $$0110 = 0, $$0111 = 0.0, $$1$lcssa = 0, $$1105118 = 0, $$1123 = 0, $$2 = 0, $$2106120 = 0, $$3107 = 0, $$3121 = 0, $$4 = 0, $$4108 = 0, $$5 = 0, $$6 = 0, $$in = 0, $103 = 0, $106 = 0, $117 = 0, $119 = 0, $12 = 0, $127 = 0, $18 = 0, $19 = 0, $3 = 0, $32 = 0, $4 = 0, $42 = 0, $45 = 0, $5 = 0, $64 = 0, $73 = 0, $81 = 0, $86 = 0, $94 = 0, $trunc = 0, label = 0; + switch ($1 | 0) { + case 0: + { + $$0102 = -149; + $$0103 = 24; + label = 4; + break; + } + case 1: + { + $$0102 = -1074; + $$0103 = 53; + label = 4; + break; + } + case 2: + { + $$0102 = -1074; + $$0103 = 53; + label = 4; + break; + } + default: + $$0111 = 0.0; + } + L4 : do if ((label | 0) == 4) { + $3 = $0 + 4 | 0; + $4 = $0 + 104 | 0; + do { + $5 = HEAP32[$3 >> 2] | 0; + if ($5 >>> 0 < (HEAP32[$4 >> 2] | 0) >>> 0) { + HEAP32[$3 >> 2] = $5 + 1; + $12 = HEAPU8[$5 >> 0] | 0; + } else $12 = ___shgetc($0) | 0; + } while ((_isspace($12) | 0) != 0); + L13 : do switch ($12 | 0) { + case 43: + case 45: + { + $18 = 1 - ((($12 | 0) == 45 & 1) << 1) | 0; + $19 = HEAP32[$3 >> 2] | 0; + if ($19 >>> 0 < (HEAP32[$4 >> 2] | 0) >>> 0) { + HEAP32[$3 >> 2] = $19 + 1; + $$0 = HEAPU8[$19 >> 0] | 0; + $$0110 = $18; + break L13; + } else { + $$0 = ___shgetc($0) | 0; + $$0110 = $18; + break L13; + } + break; + } + default: + { + $$0 = $12; + $$0110 = 1; + } + } while (0); + $$0104122 = 0; + $$1123 = $$0; + while (1) { + if (($$1123 | 32 | 0) != (HEAP8[50788 + $$0104122 >> 0] | 0)) { + $$1$lcssa = $$1123; + $trunc = $$0104122; + break; + } + do if ($$0104122 >>> 0 < 7) { + $32 = HEAP32[$3 >> 2] | 0; + if ($32 >>> 0 < (HEAP32[$4 >> 2] | 0) >>> 0) { + HEAP32[$3 >> 2] = $32 + 1; + $$2 = HEAPU8[$32 >> 0] | 0; + break; + } else { + $$2 = ___shgetc($0) | 0; + break; + } + } else $$2 = $$1123; while (0); + $$0104122 = $$0104122 + 1 | 0; + if ($$0104122 >>> 0 >= 8) { + $$1$lcssa = $$2; + $trunc = 8; + break; + } else $$1123 = $$2; + } + L29 : do switch ($trunc & 2147483647 | 0) { + case 8: + break; + case 3: + { + label = 23; + break; + } + default: + { + $42 = ($2 | 0) != 0; + if ($42 & $trunc >>> 0 > 3) if (($trunc | 0) == 8) break L29; else { + label = 23; + break L29; + } + L34 : do if (!$trunc) { + $$2106120 = 0; + $$3121 = $$1$lcssa; + while (1) { + if (($$3121 | 32 | 0) != (HEAP8[50797 + $$2106120 >> 0] | 0)) { + $$3107 = $$2106120; + $$5 = $$3121; + break L34; + } + do if ($$2106120 >>> 0 < 2) { + $64 = HEAP32[$3 >> 2] | 0; + if ($64 >>> 0 < (HEAP32[$4 >> 2] | 0) >>> 0) { + HEAP32[$3 >> 2] = $64 + 1; + $$4 = HEAPU8[$64 >> 0] | 0; + break; + } else { + $$4 = ___shgetc($0) | 0; + break; + } + } else $$4 = $$3121; while (0); + $$2106120 = $$2106120 + 1 | 0; + if ($$2106120 >>> 0 >= 3) { + $$3107 = 3; + $$5 = $$4; + break; + } else $$3121 = $$4; + } + } else { + $$3107 = $trunc; + $$5 = $$1$lcssa; + } while (0); + switch ($$3107 | 0) { + case 3: + { + $73 = HEAP32[$3 >> 2] | 0; + if ($73 >>> 0 < (HEAP32[$4 >> 2] | 0) >>> 0) { + HEAP32[$3 >> 2] = $73 + 1; + $81 = HEAPU8[$73 >> 0] | 0; + } else $81 = ___shgetc($0) | 0; + if (($81 | 0) != 40) { + if (!(HEAP32[$4 >> 2] | 0)) { + $$0111 = nan; + break L4; + } + HEAP32[$3 >> 2] = (HEAP32[$3 >> 2] | 0) + -1; + $$0111 = nan; + break L4; + } + $$4108 = 1; + while (1) { + $86 = HEAP32[$3 >> 2] | 0; + if ($86 >>> 0 < (HEAP32[$4 >> 2] | 0) >>> 0) { + HEAP32[$3 >> 2] = $86 + 1; + $94 = HEAPU8[$86 >> 0] | 0; + } else $94 = ___shgetc($0) | 0; + if (!(($94 + -48 | 0) >>> 0 < 10 | ($94 + -65 | 0) >>> 0 < 26) ? !(($94 | 0) == 95 | ($94 + -97 | 0) >>> 0 < 26) : 0) break; + $$4108 = $$4108 + 1 | 0; + } + if (($94 | 0) == 41) { + $$0111 = nan; + break L4; + } + $103 = (HEAP32[$4 >> 2] | 0) == 0; + if (!$103) HEAP32[$3 >> 2] = (HEAP32[$3 >> 2] | 0) + -1; + if (!$42) { + $106 = ___errno_location() | 0; + HEAP32[$106 >> 2] = 28; + ___shlim($0, 0, 0); + $$0111 = 0.0; + break L4; + } + if (!$$4108) { + $$0111 = nan; + break L4; + } + $$in = $$4108; + while (1) { + $$in = $$in + -1 | 0; + if (!$103) HEAP32[$3 >> 2] = (HEAP32[$3 >> 2] | 0) + -1; + if (!$$in) { + $$0111 = nan; + break L4; + } + } + break; + } + case 0: + { + if (($$5 | 0) == 48) { + $119 = HEAP32[$3 >> 2] | 0; + if ($119 >>> 0 < (HEAP32[$4 >> 2] | 0) >>> 0) { + HEAP32[$3 >> 2] = $119 + 1; + $127 = HEAPU8[$119 >> 0] | 0; + } else $127 = ___shgetc($0) | 0; + if (($127 | 32 | 0) == 120) { + $$0111 = +_hexfloat($0, $$0103, $$0102, $$0110, $2); + break L4; + } + if (!(HEAP32[$4 >> 2] | 0)) $$6 = 48; else { + HEAP32[$3 >> 2] = (HEAP32[$3 >> 2] | 0) + -1; + $$6 = 48; + } + } else $$6 = $$5; + $$0111 = +_decfloat($0, $$6, $$0103, $$0102, $$0110, $2); + break L4; + break; + } + default: + { + if (HEAP32[$4 >> 2] | 0) HEAP32[$3 >> 2] = (HEAP32[$3 >> 2] | 0) + -1; + $117 = ___errno_location() | 0; + HEAP32[$117 >> 2] = 28; + ___shlim($0, 0, 0); + $$0111 = 0.0; + break L4; + } + } + } + } while (0); + if ((label | 0) == 23) { + $45 = (HEAP32[$4 >> 2] | 0) == 0; + if (!$45) HEAP32[$3 >> 2] = (HEAP32[$3 >> 2] | 0) + -1; + if (($2 | 0) != 0 & $trunc >>> 0 > 3) { + $$1105118 = $trunc; + do { + if (!$45) HEAP32[$3 >> 2] = (HEAP32[$3 >> 2] | 0) + -1; + $$1105118 = $$1105118 + -1 | 0; + } while ($$1105118 >>> 0 > 3); + } + } + $$0111 = +($$0110 | 0) * inf; + } while (0); + return +$$0111; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E13parseEncodingEv($0) { + $0 = $0 | 0; + var $$10 = 0, $$7 = 0, $$8 = 0, $$9 = 0, $$byval_copy = 0, $1 = 0, $10 = 0, $11 = 0, $16 = 0, $17 = 0, $19 = 0, $2 = 0, $21 = 0, $27 = 0, $3 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(64); + $$byval_copy = sp + 48 | 0; + $1 = sp + 40 | 0; + $2 = sp + 24 | 0; + $3 = sp + 20 | 0; + $4 = sp + 16 | 0; + $5 = sp + 8 | 0; + $6 = sp; + switch ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 0) | 0) << 24 >> 24) { + case 84: + case 71: + { + $$10 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E16parseSpecialNameEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + break; + } + default: + { + HEAP32[$1 >> 2] = $0; + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9NameStateC2EPS5_($2, $0); + $10 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + $11 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseNameEPNS5_9NameStateE($10, $2) | 0; + HEAP32[$3 >> 2] = $11; + if (($11 | 0) != 0 ? !(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E26resolveForwardTemplateRefsERNS5_9NameStateE($0, $2) | 0) : 0) if (__ZZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E13parseEncodingEvENKUlvE_clEv($1) | 0) $$9 = $11; else { + HEAP32[$4 >> 2] = 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($5, 56610); + HEAP32[$$byval_copy >> 2] = HEAP32[$5 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$5 + 4 >> 2]; + do if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy) | 0) { + $16 = $0 + 8 | 0; + $17 = __ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE4sizeEv($16) | 0; + while (1) { + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 69) | 0) { + label = 11; + break; + } + $19 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E16parseTemplateArgEv($10) | 0; + HEAP32[$$byval_copy >> 2] = $19; + if (!$19) { + label = 12; + break; + } + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE9push_backERKS3_($16, $$byval_copy); + } + if ((label | 0) == 11) { + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E20popTrailingNodeArrayEm($$byval_copy, $0, $17); + $21 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_12EnableIfAttrEJNS0_9NodeArrayEEEEPNS0_4NodeEDpOT0_($0, $$byval_copy) | 0; + HEAP32[$4 >> 2] = $21; + label = 13; + break; + } else if ((label | 0) == 12) { + $$8 = 0; + break; + } + } else label = 13; while (0); + if ((label | 0) == 13) { + HEAP32[$$byval_copy >> 2] = 0; + if (((HEAP8[$2 >> 0] | 0) == 0 ? (HEAP8[$2 + 1 >> 0] | 0) != 0 : 0) ? ($27 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseTypeEv($10) | 0, HEAP32[$$byval_copy >> 2] = $27, ($27 | 0) == 0) : 0) $$7 = 0; else label = 16; + do if ((label | 0) == 16) { + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 118) | 0) { + __ZN12_GLOBAL__N_116itanium_demangle9NodeArrayC2Ev($6); + $$7 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_16FunctionEncodingEJRPNS0_4NodeESA_NS0_9NodeArrayESA_RNS0_10QualifiersERNS0_15FunctionRefQualEEEES9_DpOT0_($0, $$byval_copy, $3, $6, $4, $2 + 4 | 0, $2 + 8 | 0) | 0; + break; + } + $33 = $0 + 8 | 0; + $34 = __ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE4sizeEv($33) | 0; + while (1) { + $35 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseTypeEv($10) | 0; + HEAP32[$6 >> 2] = $35; + if (!$35) { + label = 21; + break; + } + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE9push_backERKS3_($33, $6); + if (__ZZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E13parseEncodingEvENKUlvE_clEv($1) | 0) { + label = 22; + break; + } + } + if ((label | 0) == 21) { + $$7 = 0; + break; + } else if ((label | 0) == 22) { + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E20popTrailingNodeArrayEm($6, $0, $34); + $$7 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_16FunctionEncodingEJRPNS0_4NodeESA_NS0_9NodeArrayESA_RNS0_10QualifiersERNS0_15FunctionRefQualEEEES9_DpOT0_($0, $$byval_copy, $3, $6, $4, $2 + 4 | 0, $2 + 8 | 0) | 0; + break; + } + } while (0); + $$8 = $$7; + } + $$9 = $$8; + } else $$9 = 0; + $$10 = $$9; + } + } + STACKTOP = sp; + return $$10 | 0; +} + +function __ZNSt3__29__num_putIcE23__widen_and_group_floatEPcS2_S2_S2_RS2_S3_RKNS_6localeE($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 = 0, $$0$i$i = 0, $$0$i$i108 = 0, $$0100 = 0, $$0102 = 0, $$0104 = 0, $$07$i$i = 0, $$07$i$i107 = 0, $$099 = 0, $$1 = 0, $$1101 = 0, $$1103 = 0, $$1105 = 0, $$2 = 0, $$2106 = 0, $$3 = 0, $$pre$phiZ2D = 0, $101 = 0, $105 = 0, $107 = 0, $119 = 0, $120 = 0, $125 = 0, $13 = 0, $130 = 0, $131 = 0, $137 = 0, $138 = 0, $148 = 0, $18 = 0, $19 = 0, $21 = 0, $27 = 0, $32 = 0, $33 = 0, $35 = 0, $40 = 0, $41 = 0, $45 = 0, $52 = 0, $57 = 0, $58 = 0, $60 = 0, $7 = 0, $75 = 0, $77 = 0, $8 = 0, $83 = 0, $88 = 0, $89 = 0, $9 = 0, $91 = 0, $93 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $7 = sp; + $8 = __ZNKSt3__26locale9use_facetERNS0_2idE($6, 66512) | 0; + $9 = __ZNKSt3__26locale9use_facetERNS0_2idE($6, 66528) | 0; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$9 >> 2] | 0) + 20 >> 2] & 255]($7, $9); + HEAP32[$5 >> 2] = $3; + $13 = HEAP8[$0 >> 0] | 0; + switch ($13 << 24 >> 24) { + case 43: + case 45: + { + $18 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$8 >> 2] | 0) + 28 >> 2] & 127]($8, $13) | 0; + $19 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $19 + 1; + HEAP8[$19 >> 0] = $18; + $$0102 = $0 + 1 | 0; + break; + } + default: + $$0102 = $0; + } + $21 = $2; + L4 : do if (($21 - $$0102 | 0) > 1 ? (HEAP8[$$0102 >> 0] | 0) == 48 : 0) { + $27 = $$0102 + 1 | 0; + switch (HEAP8[$27 >> 0] | 0) { + case 88: + case 120: + break; + default: + { + label = 4; + break L4; + } + } + $32 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$8 >> 2] | 0) + 28 >> 2] & 127]($8, 48) | 0; + $33 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $33 + 1; + HEAP8[$33 >> 0] = $32; + $35 = $$0102 + 2 | 0; + $40 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$8 >> 2] | 0) + 28 >> 2] & 127]($8, HEAP8[$27 >> 0] | 0) | 0; + $41 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $41 + 1; + HEAP8[$41 >> 0] = $40; + $$0104 = $35; + while (1) { + if ($$0104 >>> 0 >= $2 >>> 0) { + $$1103 = $35; + $$2106 = $$0104; + break L4; + } + $45 = HEAP8[$$0104 >> 0] | 0; + if (!(_isxdigit_l($45, __ZNSt3__26__clocEv() | 0) | 0)) { + $$1103 = $35; + $$2106 = $$0104; + break L4; + } + $$0104 = $$0104 + 1 | 0; + } + } else label = 4; while (0); + L12 : do if ((label | 0) == 4) { + $$1105 = $$0102; + while (1) { + if ($$1105 >>> 0 >= $2 >>> 0) { + $$1103 = $$0102; + $$2106 = $$1105; + break L12; + } + $52 = HEAP8[$$1105 >> 0] | 0; + if (!(_isdigit_l($52, __ZNSt3__26__clocEv() | 0) | 0)) { + $$1103 = $$0102; + $$2106 = $$1105; + break L12; + } + $$1105 = $$1105 + 1 | 0; + } + } while (0); + $57 = $7 + 11 | 0; + $58 = HEAP8[$57 >> 0] | 0; + $60 = $7 + 4 | 0; + L19 : do if (($58 << 24 >> 24 < 0 ? HEAP32[$60 >> 2] | 0 : $58 & 255) | 0) { + L22 : do if (($$1103 | 0) != ($$2106 | 0)) { + $$0$i$i = $$2106; + $$07$i$i = $$1103; + while (1) { + $75 = $$0$i$i + -1 | 0; + if ($$07$i$i >>> 0 >= $75 >>> 0) break L22; + $77 = HEAP8[$$07$i$i >> 0] | 0; + HEAP8[$$07$i$i >> 0] = HEAP8[$75 >> 0] | 0; + HEAP8[$75 >> 0] = $77; + $$0$i$i = $75; + $$07$i$i = $$07$i$i + 1 | 0; + } + } while (0); + $83 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$9 >> 2] | 0) + 16 >> 2] & 127]($9) | 0; + $$0 = $$1103; + $$0100 = 0; + $$099 = 0; + while (1) { + if ($$0 >>> 0 >= $$2106 >>> 0) break; + $101 = HEAP8[((HEAP8[$57 >> 0] | 0) < 0 ? HEAP32[$7 >> 2] | 0 : $7) + $$099 >> 0] | 0; + if ($101 << 24 >> 24 > 0 & ($$0100 | 0) == ($101 << 24 >> 24 | 0)) { + $105 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $105 + 1; + HEAP8[$105 >> 0] = $83; + $107 = HEAP8[$57 >> 0] | 0; + $$1 = $$099 + ($$099 >>> 0 < (($107 << 24 >> 24 < 0 ? HEAP32[$60 >> 2] | 0 : $107 & 255) + -1 | 0) >>> 0 & 1) | 0; + $$1101 = 0; + } else { + $$1 = $$099; + $$1101 = $$0100; + } + $119 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$8 >> 2] | 0) + 28 >> 2] & 127]($8, HEAP8[$$0 >> 0] | 0) | 0; + $120 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $120 + 1; + HEAP8[$120 >> 0] = $119; + $$0 = $$0 + 1 | 0; + $$0100 = $$1101 + 1 | 0; + $$099 = $$1; + } + $88 = $3 + ($$1103 - $0) | 0; + $89 = HEAP32[$5 >> 2] | 0; + if (($88 | 0) == ($89 | 0)) $$pre$phiZ2D = $8; else { + $$0$i$i108 = $89; + $$07$i$i107 = $88; + while (1) { + $91 = $$0$i$i108 + -1 | 0; + if ($$07$i$i107 >>> 0 >= $91 >>> 0) { + $$pre$phiZ2D = $8; + break L19; + } + $93 = HEAP8[$$07$i$i107 >> 0] | 0; + HEAP8[$$07$i$i107 >> 0] = HEAP8[$91 >> 0] | 0; + HEAP8[$91 >> 0] = $93; + $$0$i$i108 = $91; + $$07$i$i107 = $$07$i$i107 + 1 | 0; + } + } + } else { + FUNCTION_TABLE_iiiii[HEAP32[(HEAP32[$8 >> 2] | 0) + 32 >> 2] & 15]($8, $$1103, $$2106, HEAP32[$5 >> 2] | 0) | 0; + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + ($$2106 - $$1103); + $$pre$phiZ2D = $8; + } while (0); + $$2 = $$2106; + while (1) { + if ($$2 >>> 0 >= $2 >>> 0) { + $$3 = $$2; + break; + } + $125 = HEAP8[$$2 >> 0] | 0; + if ($125 << 24 >> 24 == 46) { + label = 32; + break; + } + $137 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$$pre$phiZ2D >> 2] | 0) + 28 >> 2] & 127]($8, $125) | 0; + $138 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $138 + 1; + HEAP8[$138 >> 0] = $137; + $$2 = $$2 + 1 | 0; + } + if ((label | 0) == 32) { + $130 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$9 >> 2] | 0) + 12 >> 2] & 127]($9) | 0; + $131 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $131 + 1; + HEAP8[$131 >> 0] = $130; + $$3 = $$2 + 1 | 0; + } + FUNCTION_TABLE_iiiii[HEAP32[(HEAP32[$8 >> 2] | 0) + 32 >> 2] & 15]($8, $$3, $2, HEAP32[$5 >> 2] | 0) | 0; + $148 = (HEAP32[$5 >> 2] | 0) + ($21 - $$3) | 0; + HEAP32[$5 >> 2] = $148; + HEAP32[$4 >> 2] = ($1 | 0) == ($2 | 0) ? $148 : $3 + ($1 - $0) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($7); + STACKTOP = sp; + return; +} + +function __ZN6vision22ComputeSubpixelHessianEPfS0_RKNS_5ImageES3_S3_ii($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 $103 = 0, $107 = 0, $11 = 0, $14 = 0, $17 = 0, $25 = 0, $30 = 0, $34 = 0, $35 = 0, $39 = 0, $42 = 0, $46 = 0, $54 = 0, $59 = 0, $63 = 0, $65 = 0, $68 = 0, $7 = 0, $72 = 0, $75 = 0, $8 = 0, $83 = 0, $88 = 0, $92 = 0, $98 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $7 = sp; + $8 = __ZNK6vision5Image5widthEv($2) | 0; + $11 = ($8 | 0) == (__ZNK6vision5Image5widthEv($3) | 0) & 1; + do if ((__ZNK6vision5Image5widthEv($4) | 0) == ($11 | 0)) { + $14 = __ZNK6vision5Image6heightEv($2) | 0; + $17 = ($14 | 0) == (__ZNK6vision5Image6heightEv($3) | 0) & 1; + if ((__ZNK6vision5Image6heightEv($4) | 0) == ($17 | 0)) { + __ZN6vision32ComputeSubpixelHessianSameOctaveEPfS0_RKNS_5ImageES3_S3_ii($0, $1, $2, $3, $4, $5, $6); + break; + } else { + $25 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 28529) | 0, 28600) | 0, 39072) | 0, 466) | 0, 39079) | 0, 28693) | 0; + __ZNKSt3__28ios_base6getlocEv($7, $25 + (HEAP32[(HEAP32[$25 >> 2] | 0) + -12 >> 2] | 0) | 0); + $30 = __ZNKSt3__26locale9use_facetERNS0_2idE($7, 66512) | 0; + $34 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$30 >> 2] | 0) + 28 >> 2] & 127]($30, 10) | 0; + __ZNSt3__26localeD2Ev($7); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($25, $34) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($25) | 0; + _abort(); + } + } else { + $35 = __ZNK6vision5Image5widthEv($2) | 0; + if (($35 | 0) == (__ZNK6vision5Image5widthEv($3) | 0) ? ($39 = (__ZNK6vision5Image5widthEv($3) | 0) >>> 1, ($39 | 0) == (__ZNK6vision5Image5widthEv($4) | 0)) : 0) { + $42 = __ZNK6vision5Image6heightEv($2) | 0; + if (($42 | 0) == (__ZNK6vision5Image6heightEv($3) | 0) ? ($46 = (__ZNK6vision5Image6heightEv($3) | 0) >>> 1, ($46 | 0) == (__ZNK6vision5Image6heightEv($4) | 0)) : 0) { + __ZN6vision36ComputeSubpixelHessianFineOctavePairEPfS0_RKNS_5ImageES3_S3_ii($0, $1, $2, $3, $4, $5, $6); + break; + } + $54 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 28725) | 0, 28600) | 0, 39072) | 0, 469) | 0, 39079) | 0, 28693) | 0; + __ZNKSt3__28ios_base6getlocEv($7, $54 + (HEAP32[(HEAP32[$54 >> 2] | 0) + -12 >> 2] | 0) | 0); + $59 = __ZNKSt3__26locale9use_facetERNS0_2idE($7, 66512) | 0; + $63 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$59 >> 2] | 0) + 28 >> 2] & 127]($59, 10) | 0; + __ZNSt3__26localeD2Ev($7); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($54, $63) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($54) | 0; + _abort(); + } + $65 = (__ZNK6vision5Image5widthEv($2) | 0) >>> 1; + if (($65 | 0) == (__ZNK6vision5Image5widthEv($3) | 0) ? ($68 = __ZNK6vision5Image5widthEv($3) | 0, ($68 | 0) == (__ZNK6vision5Image5widthEv($4) | 0)) : 0) { + $72 = (__ZNK6vision5Image5widthEv($2) | 0) >>> 1; + if (($72 | 0) == (__ZNK6vision5Image5widthEv($3) | 0) ? ($75 = __ZNK6vision5Image5widthEv($3) | 0, ($75 | 0) == (__ZNK6vision5Image5widthEv($4) | 0)) : 0) { + __ZN6vision38ComputeSubpixelHessianCoarseOctavePairEPfS0_RKNS_5ImageES3_S3_ii($0, $1, $2, $3, $4, $5, $6); + break; + } + $83 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 28822) | 0, 28600) | 0, 39072) | 0, 472) | 0, 39079) | 0, 28693) | 0; + __ZNKSt3__28ios_base6getlocEv($7, $83 + (HEAP32[(HEAP32[$83 >> 2] | 0) + -12 >> 2] | 0) | 0); + $88 = __ZNKSt3__26locale9use_facetERNS0_2idE($7, 66512) | 0; + $92 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$88 >> 2] | 0) + 28 >> 2] & 127]($88, 10) | 0; + __ZNSt3__26localeD2Ev($7); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($83, $92) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($83) | 0; + _abort(); + } + $98 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 35204) | 0, 28600) | 0, 39072) | 0, 475) | 0, 39079) | 0, 28915) | 0; + __ZNKSt3__28ios_base6getlocEv($7, $98 + (HEAP32[(HEAP32[$98 >> 2] | 0) + -12 >> 2] | 0) | 0); + $103 = __ZNKSt3__26locale9use_facetERNS0_2idE($7, 66512) | 0; + $107 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$103 >> 2] | 0) + 28 >> 2] & 127]($103, 10) | 0; + __ZNSt3__26localeD2Ev($7); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($98, $107) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($98) | 0; + _abort(); + } while (0); + STACKTOP = sp; + return 1; +} + +function __ZN6vision20BinaryFeatureMatcherILi96EE5matchEPKNS_18BinaryFeatureStoreES4_RKNS_28BinaryHierarchicalClusteringILi96EEE($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0, $$064 = 0, $$065 = 0, $$066 = 0, $$067 = 0, $$070 = 0, $$2 = 0, $$269 = 0, $$272 = 0, $110 = 0, $115 = 0, $119 = 0, $12 = 0, $13 = 0, $19 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $28 = 0, $34 = 0, $38 = 0, $4 = 0, $45 = 0, $58 = 0, $6 = 0, $63 = 0, $67 = 0, $69 = 0, $72 = 0, $77 = 0, $78 = 0, $89 = 0, $92 = 0, $97 = 0, $98 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $4 = sp; + $6 = $0 + 4 | 0; + HEAP32[$6 >> 2] = HEAP32[$0 >> 2]; + do if ((__ZNK6vision18BinaryFeatureStore4sizeEv($1) | 0) != 0 ? (__ZNK6vision18BinaryFeatureStore4sizeEv($2) | 0) != 0 : 0) { + __ZNSt3__26vectorIN6vision7match_tENS_9allocatorIS2_EEE7reserveEm($0, __ZNK6vision18BinaryFeatureStore4sizeEv($1) | 0); + $12 = $0 + 8 | 0; + $13 = $0 + 12 | 0; + $$064 = 0; + L4 : while (1) { + if ($$064 >>> 0 >= (__ZNK6vision18BinaryFeatureStore4sizeEv($1) | 0) >>> 0) break; + $22 = __ZNK6vision18BinaryFeatureStore7featureEm($1, $$064) | 0; + __ZNK6vision28BinaryHierarchicalClusteringILi96EE5queryEPKh($3, $22) | 0; + $23 = __ZNK6vision18BinaryFeatureStore5pointEm($1, $$064) | 0; + $24 = __ZNK6vision28BinaryHierarchicalClusteringILi96EE12reverseIndexEv($3) | 0; + $25 = $24 + 4 | 0; + $26 = $23 + 16 | 0; + $$065 = 0; + $$066 = -1; + $$067 = -1; + $$070 = 2147483647; + while (1) { + $28 = HEAP32[$24 >> 2] | 0; + if ($$065 >>> 0 >= (HEAP32[$25 >> 2] | 0) - $28 >> 2 >>> 0) break; + $34 = HEAP8[$26 >> 0] | 0; + $38 = (__ZNK6vision18BinaryFeatureStore5pointEm($2, HEAP32[$28 + ($$065 << 2) >> 2] | 0) | 0) + 16 | 0; + do if ($34 << 24 >> 24 == (HEAP8[$38 >> 0] | 0)) { + $45 = __ZN6vision15HammingDistanceILi96EEEjPKhS2_($22, __ZNK6vision18BinaryFeatureStore7featureEm($2, HEAP32[(HEAP32[$24 >> 2] | 0) + ($$065 << 2) >> 2] | 0) | 0) | 0; + if ($45 >>> 0 < $$066 >>> 0) { + $$2 = $45; + $$269 = $$066; + $$272 = HEAP32[(HEAP32[$24 >> 2] | 0) + ($$065 << 2) >> 2] | 0; + break; + } else { + $$2 = $$066; + $$269 = $45 >>> 0 < $$067 >>> 0 ? $45 : $$067; + $$272 = $$070; + break; + } + } else { + $$2 = $$066; + $$269 = $$067; + $$272 = $$070; + } while (0); + $$065 = $$065 + 1 | 0; + $$066 = $$2; + $$067 = $$269; + $$070 = $$272; + } + do if (($$066 | 0) != -1) { + if (($$070 | 0) == -1) { + label = 15; + break L4; + } + if (($$067 | 0) == -1) { + __ZN6vision7match_tC2Eii($4, $$064, $$070); + $69 = HEAP32[$6 >> 2] | 0; + if ($69 >>> 0 < (HEAP32[$12 >> 2] | 0) >>> 0) { + $72 = $4; + $77 = HEAP32[$72 + 4 >> 2] | 0; + $78 = $69; + HEAP32[$78 >> 2] = HEAP32[$72 >> 2]; + HEAP32[$78 + 4 >> 2] = $77; + HEAP32[$6 >> 2] = (HEAP32[$6 >> 2] | 0) + 8; + } else __ZNSt3__26vectorIN6vision7match_tENS_9allocatorIS2_EEE21__push_back_slow_pathIS2_EEvOT_($0, $4); + break; + } + if (+($$066 >>> 0) / +($$067 >>> 0) < +HEAPF32[$13 >> 2]) { + __ZN6vision7match_tC2Eii($4, $$064, $$070); + $89 = HEAP32[$6 >> 2] | 0; + if ($89 >>> 0 < (HEAP32[$12 >> 2] | 0) >>> 0) { + $92 = $4; + $97 = HEAP32[$92 + 4 >> 2] | 0; + $98 = $89; + HEAP32[$98 >> 2] = HEAP32[$92 >> 2]; + HEAP32[$98 + 4 >> 2] = $97; + HEAP32[$6 >> 2] = (HEAP32[$6 >> 2] | 0) + 8; + } else __ZNSt3__26vectorIN6vision7match_tENS_9allocatorIS2_EEE21__push_back_slow_pathIS2_EEvOT_($0, $4); + } + } while (0); + $$064 = $$064 + 1 | 0; + } + if ((label | 0) == 15) { + $58 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 35348) | 0, 35229) | 0, 39072) | 0, 160) | 0, 39079) | 0, 35420) | 0; + __ZNKSt3__28ios_base6getlocEv($4, $58 + (HEAP32[(HEAP32[$58 >> 2] | 0) + -12 >> 2] | 0) | 0); + $63 = __ZNKSt3__26locale9use_facetERNS0_2idE($4, 66512) | 0; + $67 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$63 >> 2] | 0) + 28 >> 2] & 127]($63, 10) | 0; + __ZNSt3__26localeD2Ev($4); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($58, $67) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($58) | 0; + _abort(); + } + $19 = (HEAP32[$6 >> 2] | 0) - (HEAP32[$0 >> 2] | 0) >> 3; + if ($19 >>> 0 > (__ZNK6vision18BinaryFeatureStore4sizeEv($1) | 0) >>> 0) { + $110 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 35438) | 0, 35229) | 0, 39072) | 0, 175) | 0, 39079) | 0, 35498) | 0; + __ZNKSt3__28ios_base6getlocEv($4, $110 + (HEAP32[(HEAP32[$110 >> 2] | 0) + -12 >> 2] | 0) | 0); + $115 = __ZNKSt3__26locale9use_facetERNS0_2idE($4, 66512) | 0; + $119 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$115 >> 2] | 0) + 28 >> 2] & 127]($115, 10) | 0; + __ZNSt3__26localeD2Ev($4); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($110, $119) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($110) | 0; + _abort(); + } else { + $$0 = (HEAP32[$6 >> 2] | 0) - (HEAP32[$0 >> 2] | 0) >> 3; + break; + } + } else $$0 = 0; while (0); + STACKTOP = sp; + return $$0 | 0; +} + +function _fmod($0, $1) { + $0 = +$0; + $1 = +$1; + var $$070 = 0.0, $$071$lcssa = 0, $$07194 = 0, $$073$lcssa = 0, $$073100 = 0, $$172 = 0, $$174 = 0, $$275$lcssa = 0, $$27585 = 0, $$376$lcssa = 0, $$37682 = 0, $$lcssa = 0, $101 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $108 = 0, $11 = 0, $110 = 0, $111 = 0, $116 = 0, $118 = 0, $12 = 0, $120 = 0, $124 = 0, $126 = 0, $13 = 0, $130 = 0, $131 = 0, $132 = 0, $133 = 0, $134 = 0, $14 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $150 = 0, $153 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $160 = 0, $18 = 0, $2 = 0, $20 = 0, $27 = 0.0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $41 = 0, $42 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $59 = 0, $6 = 0, $64 = 0, $65 = 0, $71 = 0, $72 = 0, $73 = 0, $8 = 0, $82 = 0, $87 = 0, $88 = 0, $89 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $97 = 0, $99 = 0, label = 0; + 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; + getTempRet0() | 0; + $8 = $6 & 2047; + $9 = _bitshift64Lshr($4 | 0, $5 | 0, 52) | 0; + getTempRet0() | 0; + $11 = $9 & 2047; + $12 = $3 & -2147483648; + $13 = _bitshift64Shl($4 | 0, $5 | 0, 1) | 0; + $14 = getTempRet0() | 0; + L1 : do if (!(($13 | 0) == 0 & ($14 | 0) == 0) ? ($18 = ___DOUBLE_BITS_273($1) | 0, $20 = (getTempRet0() | 0) & 2147483647, !(($8 | 0) == 2047 | ($20 >>> 0 > 2146435072 | ($20 | 0) == 2146435072 & $18 >>> 0 > 0))) : 0) { + $29 = _bitshift64Shl($2 | 0, $3 | 0, 1) | 0; + $30 = getTempRet0() | 0; + if (!($30 >>> 0 > $14 >>> 0 | ($30 | 0) == ($14 | 0) & $29 >>> 0 > $13 >>> 0)) return +(($29 | 0) == ($13 | 0) & ($30 | 0) == ($14 | 0) ? $0 * 0.0 : $0); + if (!$8) { + $41 = _bitshift64Shl($2 | 0, $3 | 0, 12) | 0; + $42 = getTempRet0() | 0; + if (($42 | 0) > -1 | ($42 | 0) == -1 & $41 >>> 0 > 4294967295) { + $$073100 = 0; + $49 = $41; + $50 = $42; + while (1) { + $48 = $$073100 + -1 | 0; + $49 = _bitshift64Shl($49 | 0, $50 | 0, 1) | 0; + $50 = getTempRet0() | 0; + if (!(($50 | 0) > -1 | ($50 | 0) == -1 & $49 >>> 0 > 4294967295)) { + $$073$lcssa = $48; + break; + } else $$073100 = $48; + } + } else $$073$lcssa = 0; + $59 = _bitshift64Shl($2 | 0, $3 | 0, 1 - $$073$lcssa | 0) | 0; + $$174 = $$073$lcssa; + $87 = $59; + $88 = getTempRet0() | 0; + } else { + $$174 = $8; + $87 = $2; + $88 = $3 & 1048575 | 1048576; + } + if (!$11) { + $64 = _bitshift64Shl($4 | 0, $5 | 0, 12) | 0; + $65 = getTempRet0() | 0; + if (($65 | 0) > -1 | ($65 | 0) == -1 & $64 >>> 0 > 4294967295) { + $$07194 = 0; + $72 = $64; + $73 = $65; + while (1) { + $71 = $$07194 + -1 | 0; + $72 = _bitshift64Shl($72 | 0, $73 | 0, 1) | 0; + $73 = getTempRet0() | 0; + if (!(($73 | 0) > -1 | ($73 | 0) == -1 & $72 >>> 0 > 4294967295)) { + $$071$lcssa = $71; + break; + } else $$07194 = $71; + } + } else $$071$lcssa = 0; + $82 = _bitshift64Shl($4 | 0, $5 | 0, 1 - $$071$lcssa | 0) | 0; + $$172 = $$071$lcssa; + $89 = $82; + $90 = getTempRet0() | 0; + } else { + $$172 = $11; + $89 = $4; + $90 = $5 & 1048575 | 1048576; + } + $91 = _i64Subtract($87 | 0, $88 | 0, $89 | 0, $90 | 0) | 0; + $92 = getTempRet0() | 0; + $97 = ($92 | 0) > -1 | ($92 | 0) == -1 & $91 >>> 0 > 4294967295; + L25 : do if (($$174 | 0) > ($$172 | 0)) { + $$27585 = $$174; + $101 = $92; + $158 = $97; + $159 = $87; + $160 = $88; + $99 = $91; + while (1) { + if ($158) if (($99 | 0) == 0 & ($101 | 0) == 0) break; else { + $104 = $99; + $105 = $101; + } else { + $104 = $159; + $105 = $160; + } + $106 = _bitshift64Shl($104 | 0, $105 | 0, 1) | 0; + $107 = getTempRet0() | 0; + $108 = $$27585 + -1 | 0; + $110 = _i64Subtract($106 | 0, $107 | 0, $89 | 0, $90 | 0) | 0; + $111 = getTempRet0() | 0; + $116 = ($111 | 0) > -1 | ($111 | 0) == -1 & $110 >>> 0 > 4294967295; + if (($108 | 0) > ($$172 | 0)) { + $$27585 = $108; + $101 = $111; + $158 = $116; + $159 = $106; + $160 = $107; + $99 = $110; + } else { + $$275$lcssa = $108; + $$lcssa = $116; + $118 = $110; + $120 = $111; + $156 = $106; + $157 = $107; + break L25; + } + } + $$070 = $0 * 0.0; + break L1; + } else { + $$275$lcssa = $$174; + $$lcssa = $97; + $118 = $91; + $120 = $92; + $156 = $87; + $157 = $88; + } while (0); + if ($$lcssa) if (($118 | 0) == 0 & ($120 | 0) == 0) { + $$070 = $0 * 0.0; + break; + } else { + $124 = $120; + $126 = $118; + } else { + $124 = $157; + $126 = $156; + } + if ($124 >>> 0 < 1048576 | ($124 | 0) == 1048576 & $126 >>> 0 < 0) { + $$37682 = $$275$lcssa; + $130 = $126; + $131 = $124; + while (1) { + $132 = _bitshift64Shl($130 | 0, $131 | 0, 1) | 0; + $133 = getTempRet0() | 0; + $134 = $$37682 + -1 | 0; + if ($133 >>> 0 < 1048576 | ($133 | 0) == 1048576 & $132 >>> 0 < 0) { + $$37682 = $134; + $130 = $132; + $131 = $133; + } else { + $$376$lcssa = $134; + $141 = $132; + $142 = $133; + break; + } + } + } else { + $$376$lcssa = $$275$lcssa; + $141 = $126; + $142 = $124; + } + if (($$376$lcssa | 0) > 0) { + $143 = _i64Add($141 | 0, $142 | 0, 0, -1048576) | 0; + $144 = getTempRet0() | 0; + $145 = _bitshift64Shl($$376$lcssa | 0, 0, 52) | 0; + $153 = $144 | (getTempRet0() | 0); + $155 = $143 | $145; + } else { + $150 = _bitshift64Lshr($141 | 0, $142 | 0, 1 - $$376$lcssa | 0) | 0; + $153 = getTempRet0() | 0; + $155 = $150; + } + HEAP32[tempDoublePtr >> 2] = $155; + HEAP32[tempDoublePtr + 4 >> 2] = $153 | $12; + $$070 = +HEAPF64[tempDoublePtr >> 3]; + } else label = 3; while (0); + if ((label | 0) == 3) { + $27 = $0 * $1; + $$070 = $27 / $27; + } + return +$$070; +} + +function _ar2GetTransMatHomography2_177($initConv, $pos2d, $pos3d, $num, $conv) { + $initConv = $initConv | 0; + $pos2d = $pos2d | 0; + $pos3d = $pos3d | 0; + $num = $num | 0; + $conv = $conv | 0; + var $4 = 0.0, $6 = 0.0, $add36 = 0.0, $add50 = 0.0, $add62 = 0.0, $arrayidx188 = 0, $arrayidx192 = 0, $arrayidx196 = 0, $arrayidx2 = 0, $arrayidx200 = 0, $arrayidx204 = 0, $arrayidx208 = 0, $arrayidx212 = 0, $arrayidx30 = 0, $arrayidx35 = 0, $arrayidx38 = 0, $arrayidx43 = 0, $arrayidx49 = 0, $arrayidx52 = 0, $arrayidx57 = 0, $call = 0, $call8 = 0, $conv167 = 0.0, $dH = 0, $div168 = 0.0, $div86 = 0.0, $div92 = 0.0, $div96 = 0.0, $err0$0 = 0.0, $err1$0 = 0.0, $i$0 = 0, $i$1 = 0, $j$0 = 0, $j$1 = 0, $mul180 = 0, $mul66 = 0.0, $mul78 = 0, $mul87 = 0, $retval$0 = 0.0, $sub = 0.0, $sub73 = 0.0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $vararg_buffer1 = sp + 40 | 0; + $vararg_buffer = sp + 32 | 0; + $dH = sp; + do if (($num | 0) >= 4 ? ($arrayidx2 = $initConv + 44 | 0, !(+HEAPF32[$arrayidx2 >> 2] == 0.0)) : 0) { + $call = _malloc($num << 6) | 0; + if (!$call) { + _arLog(0, 3, 45947, $vararg_buffer); + $retval$0 = -1.0; + break; + } + $call8 = _malloc($num << 3) | 0; + if (!$call8) { + _arLog(0, 3, 45947, $vararg_buffer1); + _free($call); + $retval$0 = -1.0; + break; + } + $j$0 = 0; + while (1) { + if (($j$0 | 0) == 3) break; + $i$0 = 0; + while (1) { + if (($i$0 | 0) == 4) break; + HEAPF32[$conv + ($j$0 << 4) + ($i$0 << 2) >> 2] = +HEAPF32[$initConv + ($j$0 << 4) + ($i$0 << 2) >> 2] / +HEAPF32[$arrayidx2 >> 2]; + $i$0 = $i$0 + 1 | 0; + } + $j$0 = $j$0 + 1 | 0; + } + $arrayidx30 = $conv + 4 | 0; + $arrayidx35 = $conv + 12 | 0; + $arrayidx38 = $conv + 16 | 0; + $arrayidx43 = $conv + 20 | 0; + $arrayidx49 = $conv + 28 | 0; + $arrayidx52 = $conv + 32 | 0; + $arrayidx57 = $conv + 36 | 0; + $conv167 = +($num | 0); + $mul180 = $num << 1; + $arrayidx188 = $dH + 4 | 0; + $arrayidx192 = $dH + 8 | 0; + $arrayidx196 = $dH + 12 | 0; + $arrayidx200 = $dH + 16 | 0; + $arrayidx204 = $dH + 20 | 0; + $arrayidx208 = $dH + 24 | 0; + $arrayidx212 = $dH + 28 | 0; + $err0$0 = 0.0; + $i$1 = 0; + L18 : while (1) { + $err1$0 = 0.0; + $j$1 = 0; + while (1) { + if (($j$1 | 0) >= ($num | 0)) break; + $4 = +HEAPF32[$pos3d + ($j$1 * 12 | 0) >> 2]; + $6 = +HEAPF32[$pos3d + ($j$1 * 12 | 0) + 4 >> 2]; + $add36 = +HEAPF32[$arrayidx35 >> 2] + (+HEAPF32[$conv >> 2] * $4 + +HEAPF32[$arrayidx30 >> 2] * $6); + $add50 = +HEAPF32[$arrayidx49 >> 2] + ($4 * +HEAPF32[$arrayidx38 >> 2] + $6 * +HEAPF32[$arrayidx43 >> 2]); + $add62 = $4 * +HEAPF32[$arrayidx52 >> 2] + $6 * +HEAPF32[$arrayidx57 >> 2] + 1.0; + if ($add62 == 0.0) { + label = 17; + break L18; + } + $mul66 = $add62 * $add62; + $sub = +HEAPF32[$pos2d + ($j$1 << 3) >> 2] - $add36 / $add62; + $sub73 = +HEAPF32[$pos2d + ($j$1 << 3) + 4 >> 2] - $add50 / $add62; + $mul78 = $j$1 << 1; + HEAPF32[$call8 + ($mul78 << 2) >> 2] = $sub; + HEAPF32[$call8 + (($mul78 | 1) << 2) >> 2] = $sub73; + $div86 = $4 / $add62; + $mul87 = $j$1 << 4; + HEAPF32[$call + ($mul87 << 2) >> 2] = $div86; + $div92 = $6 / $add62; + HEAPF32[$call + (($mul87 | 1) << 2) >> 2] = $div92; + $div96 = 1.0 / $add62; + HEAPF32[$call + (($mul87 | 2) << 2) >> 2] = $div96; + HEAPF32[$call + (($mul87 | 3) << 2) >> 2] = 0.0; + HEAPF32[$call + (($mul87 | 4) << 2) >> 2] = 0.0; + HEAPF32[$call + (($mul87 | 5) << 2) >> 2] = 0.0; + HEAPF32[$call + (($mul87 | 6) << 2) >> 2] = -($4 * $add36) / $mul66; + HEAPF32[$call + (($mul87 | 7) << 2) >> 2] = -($6 * $add36) / $mul66; + HEAPF32[$call + (($mul87 | 8) << 2) >> 2] = 0.0; + HEAPF32[$call + (($mul87 | 9) << 2) >> 2] = 0.0; + HEAPF32[$call + (($mul87 | 10) << 2) >> 2] = 0.0; + HEAPF32[$call + (($mul87 | 11) << 2) >> 2] = $div86; + HEAPF32[$call + (($mul87 | 12) << 2) >> 2] = $div92; + HEAPF32[$call + (($mul87 | 13) << 2) >> 2] = $div96; + HEAPF32[$call + (($mul87 | 14) << 2) >> 2] = -($4 * $add50) / $mul66; + HEAPF32[$call + (($mul87 | 15) << 2) >> 2] = -($6 * $add50) / $mul66; + $err1$0 = $err1$0 + ($sub * $sub + $sub73 * $sub73); + $j$1 = $j$1 + 1 | 0; + } + $div168 = $err1$0 / $conv167; + if ($div168 < .10000000149011612) { + label = 26; + break; + } + if (($i$1 | 0) != 0 & $div168 < 4.0) { + if (($i$1 | 0) == 10 | $div168 / $err0$0 > .9900000095367432) { + label = 26; + break; + } + } else if (($i$1 | 0) == 10) { + label = 26; + break; + } + if ((_getDeltaS_181($dH, $call8, $call, $mul180) | 0) < 0) { + label = 24; + break; + } + HEAPF32[$conv >> 2] = +HEAPF32[$dH >> 2] + +HEAPF32[$conv >> 2]; + HEAPF32[$arrayidx30 >> 2] = +HEAPF32[$arrayidx188 >> 2] + +HEAPF32[$arrayidx30 >> 2]; + HEAPF32[$arrayidx35 >> 2] = +HEAPF32[$arrayidx192 >> 2] + +HEAPF32[$arrayidx35 >> 2]; + HEAPF32[$arrayidx38 >> 2] = +HEAPF32[$arrayidx196 >> 2] + +HEAPF32[$arrayidx38 >> 2]; + HEAPF32[$arrayidx43 >> 2] = +HEAPF32[$arrayidx200 >> 2] + +HEAPF32[$arrayidx43 >> 2]; + HEAPF32[$arrayidx49 >> 2] = +HEAPF32[$arrayidx204 >> 2] + +HEAPF32[$arrayidx49 >> 2]; + HEAPF32[$arrayidx52 >> 2] = +HEAPF32[$arrayidx208 >> 2] + +HEAPF32[$arrayidx52 >> 2]; + HEAPF32[$arrayidx57 >> 2] = +HEAPF32[$arrayidx212 >> 2] + +HEAPF32[$arrayidx57 >> 2]; + $err0$0 = $div168; + $i$1 = $i$1 + 1 | 0; + } + if ((label | 0) == 17) { + _free($call); + _free($call8); + $retval$0 = 1.0e8; + break; + } else if ((label | 0) == 24) { + _free($call); + _free($call8); + $retval$0 = 1.0e8; + break; + } else if ((label | 0) == 26) { + _free($call); + _free($call8); + $retval$0 = $div168; + break; + } + } else $retval$0 = 1.0e8; while (0); + STACKTOP = sp; + return +$retval$0; +} + +function _jpeg_idct_14x7($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0275283 = 0, $$0277282 = 0, $$0278281 = 0, $$0284 = 0, $$1276279 = 0, $$1280 = 0, $110 = 0, $113 = 0, $116 = 0, $118 = 0, $121 = 0, $122 = 0, $124 = 0, $126 = 0, $128 = 0, $130 = 0, $132 = 0, $134 = 0, $136 = 0, $139 = 0, $140 = 0, $141 = 0, $142 = 0, $143 = 0, $144 = 0, $145 = 0, $147 = 0, $149 = 0, $15 = 0, $151 = 0, $154 = 0, $155 = 0, $157 = 0, $158 = 0, $162 = 0, $163 = 0, $166 = 0, $168 = 0, $169 = 0, $172 = 0, $175 = 0, $178 = 0, $180 = 0, $184 = 0, $187 = 0, $190 = 0, $21 = 0, $27 = 0, $33 = 0, $35 = 0, $37 = 0, $41 = 0, $42 = 0, $45 = 0, $48 = 0, $5 = 0, $51 = 0, $59 = 0, $65 = 0, $7 = 0, $71 = 0, $73 = 0, $75 = 0, $79 = 0, $80 = 0, $82 = 0, $83 = 0, $86 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 224 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(224); + $5 = sp; + $7 = HEAP32[$0 + 336 >> 2] | 0; + $$0275283 = $5; + $$0277282 = HEAP32[$1 + 84 >> 2] | 0; + $$0278281 = $2; + $$0284 = 0; + while (1) { + $15 = Math_imul(HEAP16[$$0278281 >> 1] << 13, HEAP32[$$0277282 >> 2] | 0) | 0 | 1024; + $21 = Math_imul(HEAP32[$$0277282 + 64 >> 2] | 0, HEAP16[$$0278281 + 32 >> 1] | 0) | 0; + $27 = Math_imul(HEAP32[$$0277282 + 128 >> 2] | 0, HEAP16[$$0278281 + 64 >> 1] | 0) | 0; + $33 = Math_imul(HEAP32[$$0277282 + 192 >> 2] | 0, HEAP16[$$0278281 + 96 >> 1] | 0) | 0; + $35 = ($27 - $33 | 0) * 7223 | 0; + $37 = ($21 - $27 | 0) * 2578 | 0; + $41 = (Math_imul($27, -15083) | 0) + $15 + $37 + $35 | 0; + $42 = $33 + $21 | 0; + $45 = ($42 * 10438 | 0) + $15 | 0; + $48 = $35 + (Math_imul($33, -637) | 0) + $45 | 0; + $51 = $37 + (Math_imul($21, -20239) | 0) + $45 | 0; + $59 = Math_imul(HEAP32[$$0277282 + 32 >> 2] | 0, HEAP16[$$0278281 + 16 >> 1] | 0) | 0; + $65 = Math_imul(HEAP32[$$0277282 + 96 >> 2] | 0, HEAP16[$$0278281 + 48 >> 1] | 0) | 0; + $71 = Math_imul(HEAP32[$$0277282 + 160 >> 2] | 0, HEAP16[$$0278281 + 80 >> 1] | 0) | 0; + $73 = ($65 + $59 | 0) * 7663 | 0; + $75 = ($59 - $65 | 0) * 1395 | 0; + $79 = Math_imul($71 + $65 | 0, -11295) | 0; + $80 = $73 + $75 + $79 | 0; + $82 = ($71 + $59 | 0) * 5027 | 0; + $83 = $82 + ($73 - $75) | 0; + $86 = $82 + ($71 * 15326 | 0) + $79 | 0; + HEAP32[$$0275283 >> 2] = $83 + $48 >> 11; + HEAP32[$$0275283 + 192 >> 2] = $48 - $83 >> 11; + HEAP32[$$0275283 + 32 >> 2] = $80 + $41 >> 11; + HEAP32[$$0275283 + 160 >> 2] = $41 - $80 >> 11; + HEAP32[$$0275283 + 64 >> 2] = $86 + $51 >> 11; + HEAP32[$$0275283 + 128 >> 2] = $51 - $86 >> 11; + HEAP32[$$0275283 + 96 >> 2] = (($27 - $42 | 0) * 11585 | 0) + $15 >> 11; + $$0284 = $$0284 + 1 | 0; + if (($$0284 | 0) == 8) break; else { + $$0275283 = $$0275283 + 4 | 0; + $$0277282 = $$0277282 + 4 | 0; + $$0278281 = $$0278281 + 2 | 0; + } + } + $110 = $7 + -384 | 0; + $$1276279 = $5; + $$1280 = 0; + while (1) { + $113 = (HEAP32[$3 + ($$1280 << 2) >> 2] | 0) + $4 | 0; + $116 = (HEAP32[$$1276279 >> 2] << 13) + 134348800 | 0; + $118 = HEAP32[$$1276279 + 16 >> 2] | 0; + $121 = $116 + ($118 * 10438 | 0) | 0; + $122 = $116 + ($118 * 2578 | 0) | 0; + $124 = $116 + (Math_imul($118, -7223) | 0) | 0; + $126 = $116 + (Math_imul($118, -11586) | 0) | 0; + $128 = HEAP32[$$1276279 + 8 >> 2] | 0; + $130 = HEAP32[$$1276279 + 24 >> 2] | 0; + $132 = ($130 + $128 | 0) * 9058 | 0; + $134 = $132 + ($128 * 2237 | 0) | 0; + $136 = $132 + (Math_imul($130, -14084) | 0) | 0; + $139 = (Math_imul($130, -11295) | 0) + ($128 * 5027 | 0) | 0; + $140 = $134 + $121 | 0; + $141 = $121 - $134 | 0; + $142 = $136 + $122 | 0; + $143 = $122 - $136 | 0; + $144 = $139 + $124 | 0; + $145 = $124 - $139 | 0; + $147 = HEAP32[$$1276279 + 4 >> 2] | 0; + $149 = HEAP32[$$1276279 + 12 >> 2] | 0; + $151 = HEAP32[$$1276279 + 20 >> 2] | 0; + $154 = HEAP32[$$1276279 + 28 >> 2] << 13; + $155 = $151 + $147 | 0; + $157 = ($149 + $147 | 0) * 10935 | 0; + $158 = $155 * 9810 | 0; + $162 = $157 + (Math_imul($147, -9232) | 0) + $158 + $154 | 0; + $163 = $155 * 6164 | 0; + $166 = $147 - $149 | 0; + $168 = ($166 * 3826 | 0) - $154 | 0; + $169 = $163 + (Math_imul($147, -8693) | 0) + $168 | 0; + $172 = (Math_imul($151 + $149 | 0, -1297) | 0) - $154 | 0; + $175 = $157 + (Math_imul($149, -3474) | 0) + $172 | 0; + $178 = $158 + (Math_imul($151, -19447) | 0) + $172 | 0; + $180 = ($151 - $149 | 0) * 11512 | 0; + $184 = $154 + (Math_imul($151, -13850) | 0) + $180 + $163 | 0; + $187 = $180 + ($149 * 5529 | 0) + $168 | 0; + $190 = ($166 - $151 << 13) + $154 | 0; + HEAP8[$113 >> 0] = HEAP8[$110 + (($162 + $140 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$113 + 13 >> 0] = HEAP8[$110 + (($140 - $162 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$113 + 1 >> 0] = HEAP8[$110 + (($175 + $142 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$113 + 12 >> 0] = HEAP8[$110 + (($142 - $175 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$113 + 2 >> 0] = HEAP8[$110 + (($178 + $144 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$113 + 11 >> 0] = HEAP8[$110 + (($144 - $178 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$113 + 3 >> 0] = HEAP8[$110 + (($190 + $126 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$113 + 10 >> 0] = HEAP8[$110 + (($126 - $190 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$113 + 4 >> 0] = HEAP8[$110 + (($184 + $145 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$113 + 9 >> 0] = HEAP8[$110 + (($145 - $184 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$113 + 5 >> 0] = HEAP8[$110 + (($187 + $143 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$113 + 8 >> 0] = HEAP8[$110 + (($143 - $187 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$113 + 6 >> 0] = HEAP8[$110 + (($169 + $141 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$113 + 7 >> 0] = HEAP8[$110 + (($141 - $169 | 0) >>> 18 & 1023) >> 0] | 0; + $$1280 = $$1280 + 1 | 0; + if (($$1280 | 0) == 7) break; else $$1276279 = $$1276279 + 32 | 0; + } + STACKTOP = sp; + return; +} + +function _decode_mcu_DC_first_62($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0100$lcssa = 0, $$0100117 = 0, $$0104$lcssa = 0, $$0104116 = 0, $$017$i = 0, $$094 = 0, $$099118 = 0, $$1101 = 0, $$1105 = 0, $$2 = 0, $$2102 = 0, $$2106 = 0, $$298$ph = 0, $$3 = 0, $$4$ph = 0, $$4108$ph = 0, $$5 = 0, $$5109 = 0, $$6 = 0, $$6110 = 0, $$in = 0, $105 = 0, $107 = 0, $11 = 0, $113 = 0, $115 = 0, $116 = 0, $14 = 0, $18 = 0, $19 = 0, $2 = 0, $26 = 0, $3 = 0, $43 = 0, $44 = 0, $45 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $57 = 0, $58 = 0, $60 = 0, $62 = 0, $68 = 0, $7 = 0, $72 = 0, $73 = 0, $77 = 0, $79 = 0, $8 = 0, $85 = 0, $95 = 0, $98 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $2 = sp + 20 | 0; + $3 = sp; + $5 = HEAP32[$0 + 468 >> 2] | 0; + $7 = HEAP32[$0 + 424 >> 2] | 0; + $8 = $0 + 280 | 0; + if (HEAP32[$8 >> 2] | 0 ? ($11 = $5 + 44 | 0, (HEAP32[$11 >> 2] | 0) == 0) : 0) { + $14 = $5 + 16 | 0; + $18 = HEAP32[$0 + 464 >> 2] | 0; + $19 = $18 + 24 | 0; + HEAP32[$19 >> 2] = (HEAP32[$19 >> 2] | 0) + ((HEAP32[$14 >> 2] | 0) / 8 | 0); + HEAP32[$14 >> 2] = 0; + if (!(FUNCTION_TABLE_ii[HEAP32[$18 + 8 >> 2] & 127]($0) | 0)) { + $$2 = 0; + STACKTOP = sp; + return $$2 | 0; + } + $26 = $0 + 340 | 0; + if ((HEAP32[$26 >> 2] | 0) > 0) { + $$017$i = 0; + do { + HEAP32[$5 + 24 + ($$017$i << 2) >> 2] = 0; + $$017$i = $$017$i + 1 | 0; + } while (($$017$i | 0) < (HEAP32[$26 >> 2] | 0)); + } + HEAP32[$5 + 20 >> 2] = 0; + HEAP32[$11 >> 2] = HEAP32[$8 >> 2]; + if (!(HEAP32[$0 + 440 >> 2] | 0)) HEAP32[$5 + 40 >> 2] = 0; + } + if (!(HEAP32[$5 + 40 >> 2] | 0)) { + HEAP32[$2 + 16 >> 2] = $0; + $43 = $0 + 24 | 0; + $44 = HEAP32[$43 >> 2] | 0; + $45 = HEAP32[$44 >> 2] | 0; + HEAP32[$2 >> 2] = $45; + $47 = HEAP32[$44 + 4 >> 2] | 0; + $48 = $2 + 4 | 0; + HEAP32[$48 >> 2] = $47; + $49 = $5 + 12 | 0; + $50 = HEAP32[$49 >> 2] | 0; + $51 = $5 + 16 | 0; + $52 = HEAP32[$51 >> 2] | 0; + $53 = $5 + 20 | 0; + HEAP32[$3 >> 2] = HEAP32[$53 >> 2]; + HEAP32[$3 + 4 >> 2] = HEAP32[$53 + 4 >> 2]; + HEAP32[$3 + 8 >> 2] = HEAP32[$53 + 8 >> 2]; + HEAP32[$3 + 12 >> 2] = HEAP32[$53 + 12 >> 2]; + HEAP32[$3 + 16 >> 2] = HEAP32[$53 + 16 >> 2]; + $54 = $0 + 368 | 0; + do if ((HEAP32[$54 >> 2] | 0) > 0) { + $57 = $2 + 8 | 0; + $58 = $2 + 12 | 0; + $$0100117 = $52; + $$0104116 = $50; + $$099118 = 0; + while (1) { + $60 = HEAP32[$1 + ($$099118 << 2) >> 2] | 0; + $62 = HEAP32[$0 + 372 + ($$099118 << 2) >> 2] | 0; + $68 = HEAP32[$5 + 48 + (HEAP32[(HEAP32[$0 + 344 + ($62 << 2) >> 2] | 0) + 20 >> 2] << 2) >> 2] | 0; + if (($$0100117 | 0) < 8) { + if (!(_jpeg_fill_bit_buffer($2, $$0104116, $$0100117, 0) | 0)) { + $$2 = 0; + label = 28; + break; + } + $72 = HEAP32[$57 >> 2] | 0; + $73 = HEAP32[$58 >> 2] | 0; + if (($73 | 0) < 8) { + $$094 = 1; + $$2102 = $73; + $$2106 = $72; + label = 17; + } else { + $$1101 = $73; + $$1105 = $72; + label = 15; + } + } else { + $$1101 = $$0100117; + $$1105 = $$0104116; + label = 15; + } + if ((label | 0) == 15) { + label = 0; + $77 = $$1105 >> $$1101 + -8 & 255; + $79 = HEAP32[$68 + 144 + ($77 << 2) >> 2] | 0; + if (!$79) { + $$094 = 9; + $$2102 = $$1101; + $$2106 = $$1105; + label = 17; + } else { + $$298$ph = HEAPU8[$68 + 1168 + $77 >> 0] | 0; + $$4$ph = $$1101 - $79 | 0; + $$4108$ph = $$1105; + } + } + if ((label | 0) == 17) { + label = 0; + $85 = _jpeg_huff_decode($2, $$2106, $$2102, $68, $$094) | 0; + if (($85 | 0) < 0) { + $$2 = 0; + label = 28; + break; + } + $$298$ph = $85; + $$4$ph = HEAP32[$58 >> 2] | 0; + $$4108$ph = HEAP32[$57 >> 2] | 0; + } + if (!$$298$ph) { + $$3 = 0; + $$6 = $$4$ph; + $$6110 = $$4108$ph; + } else { + if (($$4$ph | 0) < ($$298$ph | 0)) { + if (!(_jpeg_fill_bit_buffer($2, $$4108$ph, $$4$ph, $$298$ph) | 0)) { + $$2 = 0; + label = 28; + break; + } + $$5 = HEAP32[$58 >> 2] | 0; + $$5109 = HEAP32[$57 >> 2] | 0; + } else { + $$5 = $$4$ph; + $$5109 = $$4108$ph; + } + $95 = $$5 - $$298$ph | 0; + $98 = HEAP32[5184 + ($$298$ph << 2) >> 2] | 0; + $99 = $$5109 >> $95 & $98; + $$3 = $99 - (($99 | 0) > (HEAP32[5184 + ($$298$ph + -1 << 2) >> 2] | 0) ? 0 : $98) | 0; + $$6 = $95; + $$6110 = $$5109; + } + $105 = $3 + 4 + ($62 << 2) | 0; + $107 = (HEAP32[$105 >> 2] | 0) + $$3 | 0; + HEAP32[$105 >> 2] = $107; + HEAP16[$60 >> 1] = $107 << $7; + $$099118 = $$099118 + 1 | 0; + if (($$099118 | 0) >= (HEAP32[$54 >> 2] | 0)) { + label = 25; + break; + } else { + $$0100117 = $$6; + $$0104116 = $$6110; + } + } + if ((label | 0) == 25) { + $$0100$lcssa = $$6; + $$0104$lcssa = $$6110; + $$in = HEAP32[$43 >> 2] | 0; + $113 = HEAP32[$2 >> 2] | 0; + $115 = HEAP32[$48 >> 2] | 0; + break; + } else if ((label | 0) == 28) { + STACKTOP = sp; + return $$2 | 0; + } + } else { + $$0100$lcssa = $52; + $$0104$lcssa = $50; + $$in = $44; + $113 = $45; + $115 = $47; + } while (0); + HEAP32[$$in >> 2] = $113; + HEAP32[$$in + 4 >> 2] = $115; + HEAP32[$49 >> 2] = $$0104$lcssa; + HEAP32[$51 >> 2] = $$0100$lcssa; + HEAP32[$53 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$53 + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + HEAP32[$53 + 8 >> 2] = HEAP32[$3 + 8 >> 2]; + HEAP32[$53 + 12 >> 2] = HEAP32[$3 + 12 >> 2]; + HEAP32[$53 + 16 >> 2] = HEAP32[$3 + 16 >> 2]; + } + $116 = $5 + 44 | 0; + HEAP32[$116 >> 2] = (HEAP32[$116 >> 2] | 0) + -1; + $$2 = 1; + STACKTOP = sp; + return $$2 | 0; +} + +function _decompress_onepass($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$0101123 = 0, $$0102113$us = 0, $$0103121 = 0, $$0104115$us = 0, $$0105120 = 0, $$0106128 = 0, $$0107114 = 0, $$0107114$us = 0, $$0108112$us = 0, $$1116 = 0, $$1116$us = 0, $$2 = 0, $$pre$phiZ2D = 0, $$pre137 = 0, $$sink = 0, $10 = 0, $102 = 0, $104 = 0, $105 = 0, $11 = 0, $112 = 0, $12 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $13 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $24 = 0, $3 = 0, $35 = 0, $37 = 0, $39 = 0, $48 = 0, $50 = 0, $51 = 0, $53 = 0, $54 = 0, $55 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0, $63 = 0, $64 = 0, $7 = 0, $77 = 0, $8 = 0, $80 = 0, $87 = 0, $9 = 0, $92 = 0, $93 = 0, $95 = 0, $97 = 0, $98 = 0, label = 0; + $2 = $0 + 452 | 0; + $3 = HEAP32[$2 >> 2] | 0; + $6 = (HEAP32[$0 + 360 >> 2] | 0) + -1 | 0; + $7 = $0 + 332 | 0; + $8 = HEAP32[$7 >> 2] | 0; + $9 = $8 + -1 | 0; + $10 = $3 + 24 | 0; + $11 = HEAP32[$10 >> 2] | 0; + $12 = $3 + 28 | 0; + $13 = HEAP32[$12 >> 2] | 0; + do if (($11 | 0) < ($13 | 0)) { + $15 = $3 + 20 | 0; + $16 = $0 + 436 | 0; + $17 = $0 + 468 | 0; + $18 = $3 + 32 | 0; + $19 = $0 + 368 | 0; + $20 = $0 + 340 | 0; + $21 = $0 + 472 | 0; + $22 = $0 + 148 | 0; + $$0106128 = $11; + $123 = $13; + $24 = HEAP32[$15 >> 2] | 0; + L3 : while (1) { + if ($24 >>> 0 > $6 >>> 0) $97 = $123; else { + $$0101123 = $24; + while (1) { + if (HEAP32[$16 >> 2] | 0) _memset(HEAP32[$18 >> 2] | 0, 0, HEAP32[$19 >> 2] << 7 | 0) | 0; + if (!(FUNCTION_TABLE_iii[HEAP32[(HEAP32[$17 >> 2] | 0) + 4 >> 2] & 127]($0, $18) | 0)) break L3; + $35 = HEAP32[$20 >> 2] | 0; + if (($35 | 0) > 0) { + $37 = $$0101123 >>> 0 < $6 >>> 0; + $$0103121 = 0; + $$0105120 = 0; + $124 = $35; + while (1) { + $39 = HEAP32[$0 + 344 + ($$0105120 << 2) >> 2] | 0; + L17 : do if (HEAP32[$39 + 52 >> 2] | 0) { + $48 = HEAP32[$39 + 4 >> 2] | 0; + $50 = HEAP32[(HEAP32[$21 >> 2] | 0) + 4 + ($48 << 2) >> 2] | 0; + $51 = $39 + 56 | 0; + $53 = HEAP32[($37 ? $51 : $39 + 72 | 0) >> 2] | 0; + $54 = $39 + 40 | 0; + $55 = HEAP32[$54 >> 2] | 0; + $58 = Math_imul(HEAP32[$39 + 68 >> 2] | 0, $$0101123) | 0; + $59 = $39 + 60 | 0; + $60 = HEAP32[$59 >> 2] | 0; + if (($60 | 0) > 0) { + $63 = $39 + 76 | 0; + $64 = $39 + 36 | 0; + if (($53 | 0) <= 0) { + $$pre137 = HEAP32[$51 >> 2] | 0; + $$0107114 = 0; + $$1116 = $$0103121; + while (1) { + $87 = $$pre137 + $$1116 | 0; + $$0107114 = $$0107114 + 1 | 0; + if (($$0107114 | 0) >= ($60 | 0)) { + $$2 = $87; + $92 = $124; + break L17; + } else $$1116 = $87; + } + } + $$0104115$us = (HEAP32[$1 + ($48 << 2) >> 2] | 0) + ((Math_imul($55, $$0106128) | 0) << 2) | 0; + $$0107114$us = 0; + $$1116$us = $$0103121; + $125 = $60; + $126 = $55; + while (1) { + if ((HEAP32[$22 >> 2] | 0) >>> 0 >= $9 >>> 0 ? ($$0107114$us + $$0106128 | 0) >= (HEAP32[$63 >> 2] | 0) : 0) { + $77 = $126; + $80 = $125; + } else { + $$0102113$us = $58; + $$0108112$us = 0; + while (1) { + FUNCTION_TABLE_viiiii[$50 & 63]($0, $39, HEAP32[$3 + 32 + ($$0108112$us + $$1116$us << 2) >> 2] | 0, $$0104115$us, $$0102113$us); + $$0108112$us = $$0108112$us + 1 | 0; + if (($$0108112$us | 0) == ($53 | 0)) break; else $$0102113$us = (HEAP32[$64 >> 2] | 0) + $$0102113$us | 0; + } + $77 = HEAP32[$54 >> 2] | 0; + $80 = HEAP32[$59 >> 2] | 0; + } + $$1116$us = (HEAP32[$51 >> 2] | 0) + $$1116$us | 0; + $$0107114$us = $$0107114$us + 1 | 0; + if (($$0107114$us | 0) >= ($80 | 0)) break; else { + $$0104115$us = $$0104115$us + ($77 << 2) | 0; + $125 = $80; + $126 = $77; + } + } + $$2 = $$1116$us; + $92 = HEAP32[$20 >> 2] | 0; + } else { + $$2 = $$0103121; + $92 = $124; + } + } else { + $$2 = (HEAP32[$39 + 64 >> 2] | 0) + $$0103121 | 0; + $92 = $124; + } while (0); + $$0105120 = $$0105120 + 1 | 0; + if (($$0105120 | 0) >= ($92 | 0)) break; else { + $$0103121 = $$2; + $124 = $92; + } + } + } + $93 = $$0101123 + 1 | 0; + if ($93 >>> 0 > $6 >>> 0) break; else $$0101123 = $93; + } + $97 = HEAP32[$12 >> 2] | 0; + } + HEAP32[$15 >> 2] = 0; + $95 = $$0106128 + 1 | 0; + if (($95 | 0) < ($97 | 0)) { + $$0106128 = $95; + $123 = $97; + $24 = 0; + } else { + label = 30; + break; + } + } + if ((label | 0) == 30) { + $$pre$phiZ2D = $22; + $104 = HEAP32[$7 >> 2] | 0; + break; + } + HEAP32[$10 >> 2] = $$0106128; + HEAP32[$15 >> 2] = $$0101123; + $$0 = 0; + return $$0 | 0; + } else { + $$pre$phiZ2D = $0 + 148 | 0; + $104 = $8; + } while (0); + $98 = $0 + 156 | 0; + HEAP32[$98 >> 2] = (HEAP32[$98 >> 2] | 0) + 1; + $102 = (HEAP32[$$pre$phiZ2D >> 2] | 0) + 1 | 0; + HEAP32[$$pre$phiZ2D >> 2] = $102; + if ($102 >>> 0 >= $104 >>> 0) { + FUNCTION_TABLE_vi[HEAP32[(HEAP32[$0 + 460 >> 2] | 0) + 12 >> 2] & 255]($0); + $$0 = 4; + return $$0 | 0; + } + $105 = HEAP32[$2 >> 2] | 0; + if ((HEAP32[$0 + 340 >> 2] | 0) > 1) $$sink = 1; else { + $112 = HEAP32[$0 + 344 >> 2] | 0; + $$sink = HEAP32[($102 >>> 0 < ($104 + -1 | 0) >>> 0 ? $112 + 12 | 0 : $112 + 76 | 0) >> 2] | 0; + } + HEAP32[$105 + 28 >> 2] = $$sink; + HEAP32[$105 + 20 >> 2] = 0; + HEAP32[$105 + 24 >> 2] = 0; + $$0 = 3; + return $$0 | 0; +} + +function _jpeg_idct_7x14($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0270278 = 0, $$0272277 = 0, $$0273276 = 0, $$0279 = 0, $$1271274 = 0, $$1275 = 0, $100 = 0, $103 = 0, $106 = 0, $108 = 0, $112 = 0, $115 = 0, $118 = 0, $15 = 0, $162 = 0, $165 = 0, $168 = 0, $170 = 0, $172 = 0, $174 = 0, $176 = 0, $178 = 0, $182 = 0, $183 = 0, $186 = 0, $189 = 0, $192 = 0, $196 = 0, $198 = 0, $200 = 0, $202 = 0, $204 = 0, $208 = 0, $209 = 0, $21 = 0, $211 = 0, $212 = 0, $215 = 0, $24 = 0, $25 = 0, $27 = 0, $30 = 0, $36 = 0, $42 = 0, $44 = 0, $46 = 0, $48 = 0, $5 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $57 = 0, $63 = 0, $69 = 0, $7 = 0, $75 = 0, $81 = 0, $82 = 0, $83 = 0, $85 = 0, $86 = 0, $90 = 0, $91 = 0, $94 = 0, $96 = 0, $97 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 400 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(400); + $5 = sp; + $7 = HEAP32[$0 + 336 >> 2] | 0; + $$0270278 = $5; + $$0272277 = HEAP32[$1 + 84 >> 2] | 0; + $$0273276 = $2; + $$0279 = 0; + while (1) { + $15 = Math_imul(HEAP16[$$0273276 >> 1] << 13, HEAP32[$$0272277 >> 2] | 0) | 0 | 1024; + $21 = Math_imul(HEAP32[$$0272277 + 128 >> 2] | 0, HEAP16[$$0273276 + 64 >> 1] | 0) | 0; + $24 = ($21 * 10438 | 0) + $15 | 0; + $25 = ($21 * 2578 | 0) + $15 | 0; + $27 = (Math_imul($21, -7223) | 0) + $15 | 0; + $30 = (Math_imul($21, -11586) | 0) + $15 >> 11; + $36 = Math_imul(HEAP32[$$0272277 + 64 >> 2] | 0, HEAP16[$$0273276 + 32 >> 1] | 0) | 0; + $42 = Math_imul(HEAP32[$$0272277 + 192 >> 2] | 0, HEAP16[$$0273276 + 96 >> 1] | 0) | 0; + $44 = ($42 + $36 | 0) * 9058 | 0; + $46 = $44 + ($36 * 2237 | 0) | 0; + $48 = $44 + (Math_imul($42, -14084) | 0) | 0; + $51 = (Math_imul($42, -11295) | 0) + ($36 * 5027 | 0) | 0; + $52 = $46 + $24 | 0; + $53 = $24 - $46 | 0; + $54 = $48 + $25 | 0; + $55 = $25 - $48 | 0; + $56 = $51 + $27 | 0; + $57 = $27 - $51 | 0; + $63 = Math_imul(HEAP32[$$0272277 + 32 >> 2] | 0, HEAP16[$$0273276 + 16 >> 1] | 0) | 0; + $69 = Math_imul(HEAP32[$$0272277 + 96 >> 2] | 0, HEAP16[$$0273276 + 48 >> 1] | 0) | 0; + $75 = Math_imul(HEAP32[$$0272277 + 160 >> 2] | 0, HEAP16[$$0273276 + 80 >> 1] | 0) | 0; + $81 = Math_imul(HEAP32[$$0272277 + 224 >> 2] | 0, HEAP16[$$0273276 + 112 >> 1] | 0) | 0; + $82 = $81 << 13; + $83 = $75 + $63 | 0; + $85 = ($69 + $63 | 0) * 10935 | 0; + $86 = $83 * 9810 | 0; + $90 = $85 + (Math_imul($63, -9232) | 0) + $86 + $82 | 0; + $91 = $83 * 6164 | 0; + $94 = $63 - $69 | 0; + $96 = ($94 * 3826 | 0) - $82 | 0; + $97 = $91 + (Math_imul($63, -8693) | 0) + $96 | 0; + $100 = (Math_imul($75 + $69 | 0, -1297) | 0) - $82 | 0; + $103 = $85 + (Math_imul($69, -3474) | 0) + $100 | 0; + $106 = $86 + (Math_imul($75, -19447) | 0) + $100 | 0; + $108 = ($75 - $69 | 0) * 11512 | 0; + $112 = $108 + (Math_imul($75, -13850) | 0) + $91 + $82 | 0; + $115 = $108 + ($69 * 5529 | 0) + $96 | 0; + $118 = $94 - $75 + $81 << 2; + HEAP32[$$0270278 >> 2] = $90 + $52 >> 11; + HEAP32[$$0270278 + 364 >> 2] = $52 - $90 >> 11; + HEAP32[$$0270278 + 28 >> 2] = $103 + $54 >> 11; + HEAP32[$$0270278 + 336 >> 2] = $54 - $103 >> 11; + HEAP32[$$0270278 + 56 >> 2] = $106 + $56 >> 11; + HEAP32[$$0270278 + 308 >> 2] = $56 - $106 >> 11; + HEAP32[$$0270278 + 84 >> 2] = $118 + $30; + HEAP32[$$0270278 + 280 >> 2] = $30 - $118; + HEAP32[$$0270278 + 112 >> 2] = $112 + $57 >> 11; + HEAP32[$$0270278 + 252 >> 2] = $57 - $112 >> 11; + HEAP32[$$0270278 + 140 >> 2] = $115 + $55 >> 11; + HEAP32[$$0270278 + 224 >> 2] = $55 - $115 >> 11; + HEAP32[$$0270278 + 168 >> 2] = $97 + $53 >> 11; + HEAP32[$$0270278 + 196 >> 2] = $53 - $97 >> 11; + $$0279 = $$0279 + 1 | 0; + if (($$0279 | 0) == 7) break; else { + $$0270278 = $$0270278 + 4 | 0; + $$0272277 = $$0272277 + 4 | 0; + $$0273276 = $$0273276 + 2 | 0; + } + } + $162 = $7 + -384 | 0; + $$1271274 = $5; + $$1275 = 0; + while (1) { + $165 = (HEAP32[$3 + ($$1275 << 2) >> 2] | 0) + $4 | 0; + $168 = (HEAP32[$$1271274 >> 2] << 13) + 134348800 | 0; + $170 = HEAP32[$$1271274 + 8 >> 2] | 0; + $172 = HEAP32[$$1271274 + 16 >> 2] | 0; + $174 = HEAP32[$$1271274 + 24 >> 2] | 0; + $176 = ($172 - $174 | 0) * 7223 | 0; + $178 = ($170 - $172 | 0) * 2578 | 0; + $182 = (Math_imul($172, -15083) | 0) + $168 + $178 + $176 | 0; + $183 = $174 + $170 | 0; + $186 = ($183 * 10438 | 0) + $168 | 0; + $189 = $176 + (Math_imul($174, -637) | 0) + $186 | 0; + $192 = $178 + (Math_imul($170, -20239) | 0) + $186 | 0; + $196 = HEAP32[$$1271274 + 4 >> 2] | 0; + $198 = HEAP32[$$1271274 + 12 >> 2] | 0; + $200 = HEAP32[$$1271274 + 20 >> 2] | 0; + $202 = ($198 + $196 | 0) * 7663 | 0; + $204 = ($196 - $198 | 0) * 1395 | 0; + $208 = Math_imul($200 + $198 | 0, -11295) | 0; + $209 = $202 + $204 + $208 | 0; + $211 = ($200 + $196 | 0) * 5027 | 0; + $212 = $202 - $204 + $211 | 0; + $215 = $211 + ($200 * 15326 | 0) + $208 | 0; + HEAP8[$165 >> 0] = HEAP8[$162 + (($212 + $189 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$165 + 6 >> 0] = HEAP8[$162 + (($189 - $212 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$165 + 1 >> 0] = HEAP8[$162 + (($209 + $182 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$165 + 5 >> 0] = HEAP8[$162 + (($182 - $209 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$165 + 2 >> 0] = HEAP8[$162 + (($215 + $192 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$165 + 4 >> 0] = HEAP8[$162 + (($192 - $215 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$165 + 3 >> 0] = HEAP8[$162 + (((($172 - $183 | 0) * 11585 | 0) + $168 | 0) >>> 18 & 1023) >> 0] | 0; + $$1275 = $$1275 + 1 | 0; + if (($$1275 | 0) == 14) break; else $$1271274 = $$1271274 + 28 | 0; + } + STACKTOP = sp; + return; +} + +function _ar2SetTemplateSub($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, $$0100 = 0, $$0102 = 0, $$0104 = 0, $$0106 = 0, $$0108 = 0, $$0109 = 0, $$0116 = 0, $$0123 = 0, $$1 = 0, $$1101 = 0, $$1103 = 0, $$1105 = 0, $$1107 = 0, $$1110 = 0, $$1117 = 0, $$1124 = 0, $$2 = 0, $$2111 = 0, $$2118 = 0, $$3 = 0, $$3112 = 0, $$3119 = 0, $$3126 = 0, $$4 = 0, $$4113 = 0, $$4120 = 0, $$4127 = 0, $$5 = 0, $$5114 = 0, $$5121 = 0, $$6 = 0, $$6115 = 0, $$6122 = 0, $10 = 0, $100 = 0, $104 = 0.0, $11 = 0, $114 = 0, $116 = 0, $131 = 0, $14 = 0, $16 = 0, $18 = 0.0, $21 = 0, $28 = 0, $35 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $45 = 0, $49 = 0.0, $6 = 0, $63 = 0, $65 = 0, $7 = 0, $74 = 0, $76 = 0, $78 = 0.0, $8 = 0, $83 = 0, $9 = 0, $90 = 0, $94 = 0, $95 = 0, $96 = 0, $97 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(80); + $6 = sp + 60 | 0; + $7 = sp + 56 | 0; + $8 = sp + 52 | 0; + $9 = sp + 48 | 0; + $10 = sp; + $11 = sp + 64 | 0; + L1 : do if (!$0) { + $74 = HEAP32[$3 >> 2] | 0; + $76 = HEAP32[$74 + ($4 * 20 | 0) + 8 >> 2] | 0; + HEAP32[$6 >> 2] = $76; + $78 = +HEAPF32[$74 + ($4 * 20 | 0) + 12 >> 2]; + HEAPF32[$7 >> 2] = $78; + if ((_ar2MarkerCoord2ScreenCoord(0, $1, (HEAP32[tempDoublePtr >> 2] = $76, +HEAPF32[tempDoublePtr >> 2]), $78, $8, $9) | 0) < 0) $$0108 = -1; else { + $83 = ~~(+HEAPF32[$8 >> 2] + .5); + $90 = HEAP32[$5 + 16 >> 2] | 0; + $94 = $5 + 20 | 0; + $95 = $5 + 8 | 0; + $96 = $5 + 12 | 0; + $97 = $3 + 8 | 0; + $$1101 = 0 - $90 | 0; + $$1105 = ~~(+HEAPF32[$9 >> 2] + .5) - ($90 << 1) | 0; + $$3 = 0; + $$3112 = 0; + $$3119 = 0; + $$3126 = HEAP32[$5 + 24 >> 2] | 0; + while (1) { + if (($$1101 | 0) > (HEAP32[$94 >> 2] | 0)) { + $$6 = $$3; + $$6115 = $$3112; + $$6122 = $$3119; + label = 25; + break L1; + } + $100 = HEAP32[$95 >> 2] | 0; + $104 = +($$1105 | 0); + $$1103 = 0 - $100 | 0; + $$1107 = $83 - ($100 << 1) | 0; + $$4 = $$3; + $$4113 = $$3112; + $$4120 = $$3119; + $$4127 = $$3126; + while (1) { + if (($$1103 | 0) > (HEAP32[$96 >> 2] | 0)) break; + if ((_ar2GetImageValue(0, $1, HEAP32[(HEAP32[$2 >> 2] | 0) + (HEAP32[$97 >> 2] << 2) >> 2] | 0, +($$1107 | 0), $104, $11) | 0) < 0) { + HEAP16[$$4127 >> 1] = 4096; + $$5 = $$4; + $$5114 = $$4113; + $$5121 = $$4120; + } else { + $114 = HEAP8[$11 >> 0] | 0; + HEAP16[$$4127 >> 1] = $114 & 255; + $116 = $114 & 255; + $$5 = $$4 + 1 | 0; + $$5114 = (Math_imul($116, $116) | 0) + $$4113 | 0; + $$5121 = $$4120 + $116 | 0; + } + $$1103 = $$1103 + 1 | 0; + $$1107 = $$1107 + 2 | 0; + $$4 = $$5; + $$4113 = $$5114; + $$4120 = $$5121; + $$4127 = $$4127 + 2 | 0; + } + $$1101 = $$1101 + 1 | 0; + $$1105 = $$1105 + 2 | 0; + $$3 = $$4; + $$3112 = $$4113; + $$3119 = $$4120; + $$3126 = $$4127; + } + } + } else { + _arUtilMatMuldff($0 + 8 | 0, $1, $10) | 0; + $14 = HEAP32[$3 >> 2] | 0; + $16 = HEAP32[$14 + ($4 * 20 | 0) + 8 >> 2] | 0; + HEAP32[$6 >> 2] = $16; + $18 = +HEAPF32[$14 + ($4 * 20 | 0) + 12 >> 2]; + HEAPF32[$7 >> 2] = $18; + if ((_ar2MarkerCoord2ScreenCoord(0, $10, (HEAP32[tempDoublePtr >> 2] = $16, +HEAPF32[tempDoublePtr >> 2]), $18, $6, $7) | 0) >= 0 ? ($21 = $0 + 184 | 0, (_arParamIdeal2ObservLTf($21, +HEAPF32[$6 >> 2], +HEAPF32[$7 >> 2], $8, $9) | 0) >= 0) : 0) { + $28 = ~~(+HEAPF32[$8 >> 2] + .5); + $35 = HEAP32[$5 + 16 >> 2] | 0; + $39 = $5 + 20 | 0; + $40 = $5 + 8 | 0; + $41 = $5 + 12 | 0; + $42 = $3 + 8 | 0; + $$0 = 0; + $$0100 = 0 - $35 | 0; + $$0104 = ~~(+HEAPF32[$9 >> 2] + .5) - ($35 << 1) | 0; + $$0109 = 0; + $$0116 = 0; + $$0123 = HEAP32[$5 + 24 >> 2] | 0; + while (1) { + if (($$0100 | 0) > (HEAP32[$39 >> 2] | 0)) { + $$6 = $$0; + $$6115 = $$0109; + $$6122 = $$0116; + label = 25; + break L1; + } + $45 = HEAP32[$40 >> 2] | 0; + $49 = +($$0104 | 0); + $$0102 = 0 - $45 | 0; + $$0106 = $28 - ($45 << 1) | 0; + $$1 = $$0; + $$1110 = $$0109; + $$1117 = $$0116; + $$1124 = $$0123; + while (1) { + if (($$0102 | 0) > (HEAP32[$41 >> 2] | 0)) break; + do if ((_arParamObserv2IdealLTf($21, +($$0106 | 0), $49, $8, $9) | 0) >= 0) if ((_ar2GetImageValue(0, $10, HEAP32[(HEAP32[$2 >> 2] | 0) + (HEAP32[$42 >> 2] << 2) >> 2] | 0, +HEAPF32[$8 >> 2], +HEAPF32[$9 >> 2], $11) | 0) < 0) { + HEAP16[$$1124 >> 1] = 4096; + $$2 = $$1; + $$2111 = $$1110; + $$2118 = $$1117; + break; + } else { + $63 = HEAP8[$11 >> 0] | 0; + HEAP16[$$1124 >> 1] = $63 & 255; + $65 = $63 & 255; + $$2 = $$1 + 1 | 0; + $$2111 = (Math_imul($65, $65) | 0) + $$1110 | 0; + $$2118 = $$1117 + $65 | 0; + break; + } else { + HEAP16[$$1124 >> 1] = 4096; + $$2 = $$1; + $$2111 = $$1110; + $$2118 = $$1117; + } while (0); + $$0102 = $$0102 + 1 | 0; + $$0106 = $$0106 + 2 | 0; + $$1 = $$2; + $$1110 = $$2111; + $$1117 = $$2118; + $$1124 = $$1124 + 2 | 0; + } + $$0 = $$1; + $$0100 = $$0100 + 1 | 0; + $$0104 = $$0104 + 2 | 0; + $$0109 = $$1110; + $$0116 = $$1117; + $$0123 = $$1124; + } + } else $$0108 = -1; + } while (0); + if ((label | 0) == 25) if (!$$6) $$0108 = -1; else { + $131 = ~~+Math_sqrt(+(+($$6115 - ((Math_imul($$6122, $$6122) | 0) / ($$6 | 0) | 0) | 0))); + HEAP32[$5 + 28 >> 2] = $131; + HEAP32[$5 + 32 >> 2] = $$6122; + HEAP32[$5 + 36 >> 2] = $$6; + $$0108 = 0; + } + STACKTOP = sp; + return $$0108 | 0; +} + +function __ZNSt3__26locale5__impC2Em($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $5 = 0; + HEAP32[$0 + 4 >> 2] = $1 + -1; + HEAP32[$0 >> 2] = 23288; + $4 = $0 + 8 | 0; + __ZNSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEEC2Em($4, 28); + $5 = $0 + 144 | 0; + HEAP32[$5 >> 2] = 0; + HEAP32[$5 + 4 >> 2] = 0; + HEAP32[$5 + 8 >> 2] = 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm($5, 58971, __ZNSt3__211char_traitsIcE6lengthEPKc(58971) | 0); + HEAP32[$0 + 12 >> 2] = HEAP32[$4 >> 2]; + __ZNSt3__212_GLOBAL__N_14makeINS_7collateIcEEjEERT_T0_(); + __ZNSt3__26locale5__imp7installINS_7collateIcEEEEvPT_($0, 64744); + __ZNSt3__212_GLOBAL__N_14makeINS_7collateIwEEjEERT_T0_(); + __ZNSt3__26locale5__imp7installINS_7collateIwEEEEvPT_($0, 64752); + __ZNSt3__212_GLOBAL__N_14makeINS_5ctypeIcEEDnbjEERT_T0_T1_T2_(); + __ZNSt3__26locale5__imp7installINS_5ctypeIcEEEEvPT_($0, 64760); + __ZNSt3__212_GLOBAL__N_14makeINS_5ctypeIwEEjEERT_T0_(); + __ZNSt3__26locale5__imp7installINS_5ctypeIwEEEEvPT_($0, 64776); + __ZNSt3__212_GLOBAL__N_14makeINS_7codecvtIcc11__mbstate_tEEjEERT_T0_(); + __ZNSt3__26locale5__imp7installINS_7codecvtIcc11__mbstate_tEEEEvPT_($0, 64784); + __ZNSt3__212_GLOBAL__N_14makeINS_7codecvtIwc11__mbstate_tEEjEERT_T0_(); + __ZNSt3__26locale5__imp7installINS_7codecvtIwc11__mbstate_tEEEEvPT_($0, 64792); + __ZNSt3__212_GLOBAL__N_14makeINS_7codecvtIDsc11__mbstate_tEEjEERT_T0_(); + __ZNSt3__26locale5__imp7installINS_7codecvtIDsc11__mbstate_tEEEEvPT_($0, 64808); + __ZNSt3__212_GLOBAL__N_14makeINS_7codecvtIDic11__mbstate_tEEjEERT_T0_(); + __ZNSt3__26locale5__imp7installINS_7codecvtIDic11__mbstate_tEEEEvPT_($0, 64816); + __ZNSt3__212_GLOBAL__N_14makeINS_8numpunctIcEEjEERT_T0_(); + __ZNSt3__26locale5__imp7installINS_8numpunctIcEEEEvPT_($0, 64824); + __ZNSt3__212_GLOBAL__N_14makeINS_8numpunctIwEEjEERT_T0_(); + __ZNSt3__26locale5__imp7installINS_8numpunctIwEEEEvPT_($0, 64848); + __ZNSt3__212_GLOBAL__N_14makeINS_7num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_(); + __ZNSt3__26locale5__imp7installINS_7num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvPT_($0, 64880); + __ZNSt3__212_GLOBAL__N_14makeINS_7num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_(); + __ZNSt3__26locale5__imp7installINS_7num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvPT_($0, 64888); + __ZNSt3__212_GLOBAL__N_14makeINS_7num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_(); + __ZNSt3__26locale5__imp7installINS_7num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvPT_($0, 64896); + __ZNSt3__212_GLOBAL__N_14makeINS_7num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_(); + __ZNSt3__26locale5__imp7installINS_7num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvPT_($0, 64904); + __ZNSt3__212_GLOBAL__N_14makeINS_10moneypunctIcLb0EEEjEERT_T0_(); + __ZNSt3__26locale5__imp7installINS_10moneypunctIcLb0EEEEEvPT_($0, 64912); + __ZNSt3__212_GLOBAL__N_14makeINS_10moneypunctIcLb1EEEjEERT_T0_(); + __ZNSt3__26locale5__imp7installINS_10moneypunctIcLb1EEEEEvPT_($0, 64920); + __ZNSt3__212_GLOBAL__N_14makeINS_10moneypunctIwLb0EEEjEERT_T0_(); + __ZNSt3__26locale5__imp7installINS_10moneypunctIwLb0EEEEEvPT_($0, 64928); + __ZNSt3__212_GLOBAL__N_14makeINS_10moneypunctIwLb1EEEjEERT_T0_(); + __ZNSt3__26locale5__imp7installINS_10moneypunctIwLb1EEEEEvPT_($0, 64936); + __ZNSt3__212_GLOBAL__N_14makeINS_9money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_(); + __ZNSt3__26locale5__imp7installINS_9money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvPT_($0, 64944); + __ZNSt3__212_GLOBAL__N_14makeINS_9money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_(); + __ZNSt3__26locale5__imp7installINS_9money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvPT_($0, 64952); + __ZNSt3__212_GLOBAL__N_14makeINS_9money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_(); + __ZNSt3__26locale5__imp7installINS_9money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvPT_($0, 64960); + __ZNSt3__212_GLOBAL__N_14makeINS_9money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_(); + __ZNSt3__26locale5__imp7installINS_9money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvPT_($0, 64968); + __ZNSt3__212_GLOBAL__N_14makeINS_8time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_(); + __ZNSt3__26locale5__imp7installINS_8time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvPT_($0, 64976); + __ZNSt3__212_GLOBAL__N_14makeINS_8time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_(); + __ZNSt3__26locale5__imp7installINS_8time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvPT_($0, 64992); + __ZNSt3__212_GLOBAL__N_14makeINS_8time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_(); + __ZNSt3__26locale5__imp7installINS_8time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvPT_($0, 65008); + __ZNSt3__212_GLOBAL__N_14makeINS_8time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_(); + __ZNSt3__26locale5__imp7installINS_8time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvPT_($0, 65024); + __ZNSt3__212_GLOBAL__N_14makeINS_8messagesIcEEjEERT_T0_(); + __ZNSt3__26locale5__imp7installINS_8messagesIcEEEEvPT_($0, 65040); + __ZNSt3__212_GLOBAL__N_14makeINS_8messagesIwEEjEERT_T0_(); + __ZNSt3__26locale5__imp7installINS_8messagesIwEEEEvPT_($0, 65048); + return; +} + +function _jpeg_idct_10x10($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0253266 = 0, $$0255265 = 0, $$0256264 = 0, $$0267 = 0, $$1254262 = 0, $$1263 = 0, $131 = 0, $134 = 0, $137 = 0, $139 = 0, $141 = 0, $143 = 0, $145 = 0, $147 = 0, $149 = 0, $15 = 0, $151 = 0, $153 = 0, $155 = 0, $156 = 0, $157 = 0, $158 = 0, $159 = 0, $161 = 0, $163 = 0, $166 = 0, $168 = 0, $169 = 0, $170 = 0, $171 = 0, $172 = 0, $173 = 0, $176 = 0, $179 = 0, $180 = 0, $183 = 0, $186 = 0, $189 = 0, $192 = 0, $21 = 0, $23 = 0, $25 = 0, $28 = 0, $34 = 0, $40 = 0, $42 = 0, $44 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $56 = 0, $62 = 0, $68 = 0, $7 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $80 = 0, $83 = 0, $86 = 0, $87 = 0, $90 = 0, $93 = 0, $96 = 0, $99 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 320 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(320); + $5 = sp; + $7 = HEAP32[$0 + 336 >> 2] | 0; + $$0253266 = $5; + $$0255265 = HEAP32[$1 + 84 >> 2] | 0; + $$0256264 = $2; + $$0267 = 0; + while (1) { + $15 = Math_imul(HEAP16[$$0256264 >> 1] << 13, HEAP32[$$0255265 >> 2] | 0) | 0 | 1024; + $21 = Math_imul(HEAP32[$$0255265 + 128 >> 2] | 0, HEAP16[$$0256264 + 64 >> 1] | 0) | 0; + $23 = ($21 * 9373 | 0) + $15 | 0; + $25 = (Math_imul($21, -3580) | 0) + $15 | 0; + $28 = (Math_imul($21, -11586) | 0) + $15 >> 11; + $34 = Math_imul(HEAP32[$$0255265 + 64 >> 2] | 0, HEAP16[$$0256264 + 32 >> 1] | 0) | 0; + $40 = Math_imul(HEAP32[$$0255265 + 192 >> 2] | 0, HEAP16[$$0256264 + 96 >> 1] | 0) | 0; + $42 = ($40 + $34 | 0) * 6810 | 0; + $44 = $42 + ($34 * 4209 | 0) | 0; + $46 = $42 + (Math_imul($40, -17828) | 0) | 0; + $47 = $44 + $23 | 0; + $48 = $23 - $44 | 0; + $49 = $46 + $25 | 0; + $50 = $25 - $46 | 0; + $56 = Math_imul(HEAP32[$$0255265 + 32 >> 2] | 0, HEAP16[$$0256264 + 16 >> 1] | 0) | 0; + $62 = Math_imul(HEAP32[$$0255265 + 96 >> 2] | 0, HEAP16[$$0256264 + 48 >> 1] | 0) | 0; + $68 = Math_imul(HEAP32[$$0255265 + 160 >> 2] | 0, HEAP16[$$0256264 + 80 >> 1] | 0) | 0; + $74 = Math_imul(HEAP32[$$0255265 + 224 >> 2] | 0, HEAP16[$$0256264 + 112 >> 1] | 0) | 0; + $75 = $74 + $62 | 0; + $76 = $62 - $74 | 0; + $77 = $76 * 2531 | 0; + $78 = $68 << 13; + $79 = $75 * 7791 | 0; + $80 = $77 + $78 | 0; + $83 = $79 + ($56 * 11443 | 0) + $80 | 0; + $86 = ($56 * 1812 | 0) - $79 + $80 | 0; + $87 = $75 * 4815 | 0; + $90 = $78 - $77 - ($76 << 12) | 0; + $93 = $56 - $68 - $76 << 2; + $96 = ($56 * 10323 | 0) - $87 - $90 | 0; + $99 = $90 + (($56 * 5260 | 0) - $87) | 0; + HEAP32[$$0253266 >> 2] = $83 + $47 >> 11; + HEAP32[$$0253266 + 288 >> 2] = $47 - $83 >> 11; + HEAP32[$$0253266 + 32 >> 2] = $96 + $49 >> 11; + HEAP32[$$0253266 + 256 >> 2] = $49 - $96 >> 11; + HEAP32[$$0253266 + 64 >> 2] = $93 + $28; + HEAP32[$$0253266 + 224 >> 2] = $28 - $93; + HEAP32[$$0253266 + 96 >> 2] = $99 + $50 >> 11; + HEAP32[$$0253266 + 192 >> 2] = $50 - $99 >> 11; + HEAP32[$$0253266 + 128 >> 2] = $86 + $48 >> 11; + HEAP32[$$0253266 + 160 >> 2] = $48 - $86 >> 11; + $$0267 = $$0267 + 1 | 0; + if (($$0267 | 0) == 8) break; else { + $$0253266 = $$0253266 + 4 | 0; + $$0255265 = $$0255265 + 4 | 0; + $$0256264 = $$0256264 + 2 | 0; + } + } + $131 = $7 + -384 | 0; + $$1254262 = $5; + $$1263 = 0; + while (1) { + $134 = (HEAP32[$3 + ($$1263 << 2) >> 2] | 0) + $4 | 0; + $137 = (HEAP32[$$1254262 >> 2] << 13) + 134348800 | 0; + $139 = HEAP32[$$1254262 + 16 >> 2] | 0; + $141 = $137 + ($139 * 9373 | 0) | 0; + $143 = $137 + (Math_imul($139, -3580) | 0) | 0; + $145 = $137 + (Math_imul($139, -11586) | 0) | 0; + $147 = HEAP32[$$1254262 + 8 >> 2] | 0; + $149 = HEAP32[$$1254262 + 24 >> 2] | 0; + $151 = ($149 + $147 | 0) * 6810 | 0; + $153 = $151 + ($147 * 4209 | 0) | 0; + $155 = $151 + (Math_imul($149, -17828) | 0) | 0; + $156 = $153 + $141 | 0; + $157 = $141 - $153 | 0; + $158 = $155 + $143 | 0; + $159 = $143 - $155 | 0; + $161 = HEAP32[$$1254262 + 4 >> 2] | 0; + $163 = HEAP32[$$1254262 + 12 >> 2] | 0; + $166 = HEAP32[$$1254262 + 20 >> 2] << 13; + $168 = HEAP32[$$1254262 + 28 >> 2] | 0; + $169 = $168 + $163 | 0; + $170 = $163 - $168 | 0; + $171 = $170 * 2531 | 0; + $172 = $169 * 7791 | 0; + $173 = $171 + $166 | 0; + $176 = $172 + ($161 * 11443 | 0) + $173 | 0; + $179 = ($161 * 1812 | 0) - $172 + $173 | 0; + $180 = $169 * 4815 | 0; + $183 = $166 - $171 - ($170 << 12) | 0; + $186 = ($161 - $170 << 13) - $166 | 0; + $189 = ($161 * 10323 | 0) - $180 - $183 | 0; + $192 = $183 + (($161 * 5260 | 0) - $180) | 0; + HEAP8[$134 >> 0] = HEAP8[$131 + (($176 + $156 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$134 + 9 >> 0] = HEAP8[$131 + (($156 - $176 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$134 + 1 >> 0] = HEAP8[$131 + (($189 + $158 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$134 + 8 >> 0] = HEAP8[$131 + (($158 - $189 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$134 + 2 >> 0] = HEAP8[$131 + (($186 + $145 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$134 + 7 >> 0] = HEAP8[$131 + (($145 - $186 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$134 + 3 >> 0] = HEAP8[$131 + (($192 + $159 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$134 + 6 >> 0] = HEAP8[$131 + (($159 - $192 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$134 + 4 >> 0] = HEAP8[$131 + (($179 + $157 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$134 + 5 >> 0] = HEAP8[$131 + (($157 - $179 | 0) >>> 18 & 1023) >> 0] | 0; + $$1263 = $$1263 + 1 | 0; + if (($$1263 | 0) == 10) break; else $$1254262 = $$1254262 + 32 | 0; + } + STACKTOP = sp; + return; +} + +function __ZN6vision21HoughSimilarityVoting11voteAtIndexEij($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0$i$i$i$i$i = 0, $$052$i$i$i$i$i = 0, $$153$i$i$i$i$i = 0, $$pn$i$i$i$i$i = 0, $$pre$phi$i$i$i$i$iZ2D = 0, $102 = 0, $108 = 0, $11 = 0, $16 = 0, $20 = 0, $21 = 0, $22 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $30 = 0, $36 = 0, $37 = 0, $4 = 0, $41 = 0, $47 = 0, $51 = 0, $54 = 0.0, $57 = 0.0, $67 = 0, $70 = 0, $72 = 0, $73 = 0, $81 = 0, $83 = 0, $89 = 0, $90 = 0, $93 = 0, $94 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $3 = sp + 8 | 0; + $4 = sp; + if (($1 | 0) <= -1) { + $11 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 36635) | 0, 36227) | 0, 39072) | 0, 290) | 0, 39079) | 0, 36669) | 0; + __ZNKSt3__28ios_base6getlocEv($3, $11 + (HEAP32[(HEAP32[$11 >> 2] | 0) + -12 >> 2] | 0) | 0); + $16 = __ZNKSt3__26locale9use_facetERNS0_2idE($3, 66512) | 0; + $20 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$16 >> 2] | 0) + 28 >> 2] & 127]($16, 10) | 0; + __ZNSt3__26localeD2Ev($3); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($11, $20) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($11) | 0; + _abort(); + } + $21 = $0 + 92 | 0; + HEAP32[$3 >> 2] = $1; + $22 = __ZNSt3__212__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEELb1EEENS_21__unordered_map_equalIjS2_NS_8equal_toIjEELb1EEENS_9allocatorIS2_EEE4findIjEENS_15__hash_iteratorIPNS_11__hash_nodeIS2_PvEEEERKT_($21, $3) | 0; + if (!$22) { + HEAP32[$4 >> 2] = $1; + HEAP32[$4 + 4 >> 2] = $2; + $25 = $0 + 96 | 0; + $26 = HEAP32[$25 >> 2] | 0; + $27 = ($26 | 0) == 0; + L6 : do if (!$27) { + $28 = $26 + -1 | 0; + $30 = ($28 & $26 | 0) == 0; + if (!$30) if ($26 >>> 0 > $1 >>> 0) $36 = $1; else $36 = ($1 >>> 0) % ($26 >>> 0) | 0; else $36 = $28 & $1; + $37 = HEAP32[(HEAP32[$21 >> 2] | 0) + ($36 << 2) >> 2] | 0; + if (!$37) { + $$052$i$i$i$i$i = $36; + label = 19; + } else { + $$pn$i$i$i$i$i = $37; + do { + $$pn$i$i$i$i$i = HEAP32[$$pn$i$i$i$i$i >> 2] | 0; + if (!$$pn$i$i$i$i$i) { + $$052$i$i$i$i$i = $36; + label = 19; + break L6; + } + $41 = HEAP32[$$pn$i$i$i$i$i + 4 >> 2] | 0; + if (($41 | 0) != ($1 | 0)) { + if (!$30) if ($41 >>> 0 < $26 >>> 0) $47 = $41; else $47 = ($41 >>> 0) % ($26 >>> 0) | 0; else $47 = $41 & $28; + if (($47 | 0) != ($36 | 0)) { + $$052$i$i$i$i$i = $36; + label = 19; + break L6; + } + } + } while ((HEAP32[$$pn$i$i$i$i$i + 8 >> 2] | 0) != ($1 | 0)); + } + } else { + $$052$i$i$i$i$i = 0; + label = 19; + } while (0); + if ((label | 0) == 19) { + __ZNSt3__212__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEELb1EEENS_21__unordered_map_equalIjS2_NS_8equal_toIjEELb1EEENS_9allocatorIS2_EEE21__construct_node_hashINS_4pairIjjEEJEEENS_10unique_ptrINS_11__hash_nodeIS2_PvEENS_22__hash_node_destructorINSB_ISK_EEEEEEmOT_DpOT0_($3, $21, $1, $4); + $51 = $0 + 104 | 0; + $54 = +(((HEAP32[$51 >> 2] | 0) + 1 | 0) >>> 0); + $57 = +HEAPF32[$0 + 108 >> 2]; + do if ($27 | $57 * +($26 >>> 0) < $54) { + $67 = $26 << 1 | ($26 >>> 0 < 3 | ($26 + -1 & $26 | 0) != 0) & 1; + $70 = ~~+Math_ceil(+($54 / $57)) >>> 0; + __ZNSt3__212__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEELb1EEENS_21__unordered_map_equalIjS2_NS_8equal_toIjEELb1EEENS_9allocatorIS2_EEE6rehashEm($21, $67 >>> 0 < $70 >>> 0 ? $70 : $67); + $72 = HEAP32[$25 >> 2] | 0; + $73 = $72 + -1 | 0; + if (!($73 & $72)) { + $$0$i$i$i$i$i = $72; + $$153$i$i$i$i$i = $73 & $1; + break; + } + if ($72 >>> 0 > $1 >>> 0) { + $$0$i$i$i$i$i = $72; + $$153$i$i$i$i$i = $1; + } else { + $$0$i$i$i$i$i = $72; + $$153$i$i$i$i$i = ($1 >>> 0) % ($72 >>> 0) | 0; + } + } else { + $$0$i$i$i$i$i = $26; + $$153$i$i$i$i$i = $$052$i$i$i$i$i; + } while (0); + $81 = HEAP32[(HEAP32[$21 >> 2] | 0) + ($$153$i$i$i$i$i << 2) >> 2] | 0; + if (!$81) { + $83 = $0 + 100 | 0; + HEAP32[HEAP32[$3 >> 2] >> 2] = HEAP32[$83 >> 2]; + HEAP32[$83 >> 2] = HEAP32[$3 >> 2]; + HEAP32[(HEAP32[$21 >> 2] | 0) + ($$153$i$i$i$i$i << 2) >> 2] = $83; + $89 = HEAP32[$3 >> 2] | 0; + $90 = HEAP32[$89 >> 2] | 0; + if (!$90) $$pre$phi$i$i$i$i$iZ2D = $3; else { + $93 = HEAP32[$90 + 4 >> 2] | 0; + $94 = $$0$i$i$i$i$i + -1 | 0; + if ($94 & $$0$i$i$i$i$i) if ($93 >>> 0 < $$0$i$i$i$i$i >>> 0) $102 = $93; else $102 = ($93 >>> 0) % ($$0$i$i$i$i$i >>> 0) | 0; else $102 = $93 & $94; + HEAP32[(HEAP32[$21 >> 2] | 0) + ($102 << 2) >> 2] = $89; + $$pre$phi$i$i$i$i$iZ2D = $3; + } + } else { + HEAP32[HEAP32[$3 >> 2] >> 2] = HEAP32[$81 >> 2]; + HEAP32[$81 >> 2] = HEAP32[$3 >> 2]; + $$pre$phi$i$i$i$i$iZ2D = $3; + } + HEAP32[$51 >> 2] = (HEAP32[$51 >> 2] | 0) + 1; + HEAP32[$$pre$phi$i$i$i$i$iZ2D >> 2] = 0; + } + } else { + $108 = $22 + 12 | 0; + HEAP32[$108 >> 2] = (HEAP32[$108 >> 2] | 0) + $2; + } + STACKTOP = sp; + return; +} + +function _arVecTridiagonalize($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$0158 = 0, $$0160 = 0, $$0164 = 0, $$0165 = 0.0, $$1 = 0, $$1$in = 0, $$1$in$ph = 0, $$1159 = 0, $$1161 = 0, $$1161$in = 0, $$1166 = 0.0, $$2 = 0, $$2162 = 0, $$3 = 0, $$3163 = 0, $$pre$phiZ2D = 0, $$sink = 0.0, $$sink171 = 0, $106 = 0, $107 = 0, $110 = 0, $114 = 0, $117 = 0, $118 = 0, $121 = 0, $124 = 0.0, $131 = 0, $17 = 0, $18 = 0, $19 = 0, $23 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0.0, $4 = 0, $41 = 0, $46 = 0.0, $48 = 0, $57 = 0.0, $6 = 0, $65 = 0.0, $68 = 0.0, $70 = 0, $71 = 0, $73 = 0.0, $74 = 0, $85 = 0, $90 = 0, $91 = 0, $95 = 0, $97 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp + 8 | 0; + $4 = sp; + $6 = HEAP32[$0 + 8 >> 2] | 0; + L1 : do if ((($6 | 0) == (HEAP32[$0 + 4 >> 2] | 0) ? ($6 | 0) == (HEAP32[$1 + 4 >> 2] | 0) : 0) ? ($6 | 0) == ((HEAP32[$2 + 4 >> 2] | 0) + 1 | 0) : 0) { + $17 = $6 + -2 | 0; + $18 = $3 + 4 | 0; + $19 = $4 + 4 | 0; + $$0 = 0; + while (1) { + if (($$0 | 0) >= ($17 | 0)) break; + $23 = (HEAP32[$0 >> 2] | 0) + ((Math_imul($$0, $6) | 0) << 3) | 0; + HEAPF64[(HEAP32[$1 >> 2] | 0) + ($$0 << 3) >> 3] = +HEAPF64[$23 + ($$0 << 3) >> 3]; + $29 = $6 - $$0 + -1 | 0; + HEAP32[$18 >> 2] = $29; + $30 = $$0 + 1 | 0; + $31 = $23 + ($30 << 3) | 0; + HEAP32[$3 >> 2] = $31; + $32 = +_arVecHousehold($3); + HEAPF64[(HEAP32[$2 >> 2] | 0) + ($$0 << 3) >> 3] = $32; + L8 : do if (!($32 == 0.0)) { + $$0160 = $30; + while (1) { + if (($$0160 | 0) >= ($6 | 0)) break; + $$0158 = $30; + $$0165 = 0.0; + while (1) { + if ($$0158 >>> 0 >= $$0160 >>> 0) break; + $41 = (HEAP32[$0 >> 2] | 0) + ((Math_imul($$0158, $6) | 0) + $$0160 << 3) | 0; + $46 = $$0165 + +HEAPF64[$41 >> 3] * +HEAPF64[$23 + ($$0158 << 3) >> 3]; + $$0158 = $$0158 + 1 | 0; + $$0165 = $46; + } + $48 = Math_imul($$0160, $6) | 0; + $$1159 = $$0160; + $$1166 = $$0165; + while (1) { + if (($$1159 | 0) >= ($6 | 0)) break; + $57 = $$1166 + +HEAPF64[(HEAP32[$0 >> 2] | 0) + ($$1159 + $48 << 3) >> 3] * +HEAPF64[$23 + ($$1159 << 3) >> 3]; + $$1159 = $$1159 + 1 | 0; + $$1166 = $57; + } + HEAPF64[(HEAP32[$1 >> 2] | 0) + ($$0160 << 3) >> 3] = $$1166; + $$0160 = $$0160 + 1 | 0; + } + HEAP32[$19 >> 2] = $29; + HEAP32[$18 >> 2] = $29; + HEAP32[$3 >> 2] = $31; + HEAP32[$4 >> 2] = (HEAP32[$1 >> 2] | 0) + ($30 << 3); + $65 = +_arVecInnerproduct($3, $4) * .5; + $$1161$in = $6; + while (1) { + $$1161 = $$1161$in + -1 | 0; + if (($$1161 | 0) <= ($$0 | 0)) break L8; + $68 = +HEAPF64[$23 + ($$1161 << 3) >> 3]; + $70 = HEAP32[$1 >> 2] | 0; + $71 = $70 + ($$1161 << 3) | 0; + $73 = +HEAPF64[$71 >> 3] - $65 * $68; + HEAPF64[$71 >> 3] = $73; + $74 = Math_imul($$1161, $6) | 0; + $$2 = $$1161; + while (1) { + if (($$2 | 0) >= ($6 | 0)) break; + $85 = (HEAP32[$0 >> 2] | 0) + ($$2 + $74 << 3) | 0; + HEAPF64[$85 >> 3] = +HEAPF64[$85 >> 3] - ($68 * +HEAPF64[$70 + ($$2 << 3) >> 3] + $73 * +HEAPF64[$23 + ($$2 << 3) >> 3]); + $$2 = $$2 + 1 | 0; + } + $$1161$in = $$1161; + } + } while (0); + $$0 = $30; + } + if (($6 | 0) <= 1) if (($6 | 0) == 1) { + $$pre$phiZ2D = 0; + $107 = HEAP32[$0 >> 2] | 0; + $110 = HEAP32[$1 >> 2] | 0; + label = 27; + } else $$1$in = $6; else { + $90 = HEAP32[$0 >> 2] | 0; + $91 = Math_imul($17, $6) | 0; + $95 = HEAP32[$1 >> 2] | 0; + HEAPF64[$95 + ($17 << 3) >> 3] = +HEAPF64[$90 + ($91 + $17 << 3) >> 3]; + $97 = $6 + -1 | 0; + HEAPF64[(HEAP32[$2 >> 2] | 0) + ($17 << 3) >> 3] = +HEAPF64[$90 + ($97 + $91 << 3) >> 3]; + $$pre$phiZ2D = $97; + $107 = $90; + $110 = $95; + label = 27; + } + if ((label | 0) == 27) { + $106 = $107 + ((Math_imul($$pre$phiZ2D, $6) | 0) + $$pre$phiZ2D << 3) | 0; + $$1$in$ph = $6; + $$sink = +HEAPF64[$106 >> 3]; + $$sink171 = $110 + ($$pre$phiZ2D << 3) | 0; + label = 28; + } + while (1) { + if ((label | 0) == 28) { + label = 0; + HEAPF64[$$sink171 >> 3] = $$sink; + $$1$in = $$1$in$ph; + } + $$1 = $$1$in + -1 | 0; + if (($$1$in | 0) <= 0) { + $$0164 = 0; + break L1; + } + $114 = (HEAP32[$0 >> 2] | 0) + ((Math_imul($$1, $6) | 0) << 3) | 0; + L42 : do if (($$1$in | 0) <= ($17 | 0)) { + $117 = $6 - $$1 + -1 | 0; + $118 = $114 + ($$1$in << 3) | 0; + $$2162 = $$1$in; + while (1) { + if (($$2162 | 0) >= ($6 | 0)) break L42; + HEAP32[$19 >> 2] = $117; + HEAP32[$18 >> 2] = $117; + HEAP32[$3 >> 2] = $118; + $121 = Math_imul($$2162, $6) | 0; + HEAP32[$4 >> 2] = (HEAP32[$0 >> 2] | 0) + ($121 + $$1$in << 3); + $124 = +_arVecInnerproduct($3, $4); + $$3 = $$1$in; + while (1) { + if (($$3 | 0) >= ($6 | 0)) break; + $131 = (HEAP32[$0 >> 2] | 0) + ($$3 + $121 << 3) | 0; + HEAPF64[$131 >> 3] = +HEAPF64[$131 >> 3] - $124 * +HEAPF64[$114 + ($$3 << 3) >> 3]; + $$3 = $$3 + 1 | 0; + } + $$2162 = $$2162 + 1 | 0; + } + } while (0); + $$3163 = 0; + while (1) { + if (($$3163 | 0) >= ($6 | 0)) break; + HEAPF64[$114 + ($$3163 << 3) >> 3] = 0.0; + $$3163 = $$3163 + 1 | 0; + } + $$1$in$ph = $$1; + $$sink = 1.0; + $$sink171 = $114 + ($$1 << 3) | 0; + label = 28; + } + } else $$0164 = -1; while (0); + STACKTOP = sp; + return $$0164 | 0; +} + +function _jpeg_idct_float($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0243253 = 0, $$0245252 = 0, $$0247251 = 0, $$0254 = 0, $$1250 = 0, $$2249 = 0, $$sink = 0.0, $$sink256 = 0, $102 = 0.0, $107 = 0.0, $108 = 0.0, $109 = 0.0, $11 = 0, $127 = 0, $13 = 0, $130 = 0, $132 = 0.0, $134 = 0.0, $135 = 0.0, $136 = 0.0, $138 = 0.0, $140 = 0.0, $141 = 0.0, $144 = 0.0, $145 = 0.0, $146 = 0.0, $147 = 0.0, $148 = 0.0, $150 = 0.0, $152 = 0.0, $153 = 0.0, $154 = 0.0, $156 = 0.0, $158 = 0.0, $159 = 0.0, $160 = 0.0, $161 = 0.0, $165 = 0.0, $170 = 0.0, $171 = 0.0, $172 = 0.0, $34 = 0.0, $44 = 0.0, $46 = 0, $49 = 0.0, $5 = 0, $55 = 0.0, $61 = 0.0, $62 = 0.0, $63 = 0.0, $64 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0, $70 = 0.0, $71 = 0.0, $75 = 0.0, $81 = 0.0, $87 = 0.0, $93 = 0.0, $94 = 0.0, $95 = 0.0, $96 = 0.0, $97 = 0.0, $98 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(256); + $5 = sp; + $7 = HEAP32[$0 + 336 >> 2] | 0; + $$0243253 = $5; + $$0245252 = HEAP32[$1 + 84 >> 2] | 0; + $$0247251 = $2; + $$0254 = 8; + while (1) { + $11 = HEAP16[$$0247251 + 16 >> 1] | 0; + $13 = HEAP16[$$0247251 + 32 >> 1] | 0; + if (!(($11 | $13) << 16 >> 16)) if (((((HEAP16[$$0247251 + 48 >> 1] | 0) == 0 ? (HEAP16[$$0247251 + 64 >> 1] | 0) == 0 : 0) ? (HEAP16[$$0247251 + 80 >> 1] | 0) == 0 : 0) ? (HEAP16[$$0247251 + 96 >> 1] | 0) == 0 : 0) ? (HEAP16[$$0247251 + 112 >> 1] | 0) == 0 : 0) { + $34 = +HEAPF32[$$0245252 >> 2] * +(HEAP16[$$0247251 >> 1] | 0); + HEAPF32[$$0243253 >> 2] = $34; + HEAPF32[$$0243253 + 32 >> 2] = $34; + HEAPF32[$$0243253 + 64 >> 2] = $34; + HEAPF32[$$0243253 + 96 >> 2] = $34; + HEAPF32[$$0243253 + 128 >> 2] = $34; + HEAPF32[$$0243253 + 160 >> 2] = $34; + HEAPF32[$$0243253 + 192 >> 2] = $34; + $$sink = $34; + $$sink256 = 56; + } else { + $46 = 0; + label = 9; + } else { + $46 = $13; + label = 9; + } + if ((label | 0) == 9) { + label = 0; + $44 = +HEAPF32[$$0245252 >> 2] * +(HEAP16[$$0247251 >> 1] | 0); + $49 = +HEAPF32[$$0245252 + 64 >> 2] * +($46 << 16 >> 16); + $55 = +HEAPF32[$$0245252 + 128 >> 2] * +(HEAP16[$$0247251 + 64 >> 1] | 0); + $61 = +HEAPF32[$$0245252 + 192 >> 2] * +(HEAP16[$$0247251 + 96 >> 1] | 0); + $62 = $44 + $55; + $63 = $44 - $55; + $64 = $49 + $61; + $67 = ($49 - $61) * 1.4142135381698608 - $64; + $68 = $62 + $64; + $69 = $62 - $64; + $70 = $63 + $67; + $71 = $63 - $67; + $75 = +HEAPF32[$$0245252 + 32 >> 2] * +($11 << 16 >> 16); + $81 = +HEAPF32[$$0245252 + 96 >> 2] * +(HEAP16[$$0247251 + 48 >> 1] | 0); + $87 = +HEAPF32[$$0245252 + 160 >> 2] * +(HEAP16[$$0247251 + 80 >> 1] | 0); + $93 = +HEAPF32[$$0245252 + 224 >> 2] * +(HEAP16[$$0247251 + 112 >> 1] | 0); + $94 = $81 + $87; + $95 = $87 - $81; + $96 = $75 + $93; + $97 = $75 - $93; + $98 = $94 + $96; + $102 = ($95 + $97) * 1.8477590084075928; + $107 = $102 - $95 * 2.613126039505005 - $98; + $108 = ($96 - $94) * 1.4142135381698608 - $107; + $109 = $102 - $97 * 1.0823922157287598 - $108; + HEAPF32[$$0243253 >> 2] = $68 + $98; + HEAPF32[$$0243253 + 224 >> 2] = $68 - $98; + HEAPF32[$$0243253 + 32 >> 2] = $70 + $107; + HEAPF32[$$0243253 + 192 >> 2] = $70 - $107; + HEAPF32[$$0243253 + 64 >> 2] = $71 + $108; + HEAPF32[$$0243253 + 160 >> 2] = $71 - $108; + HEAPF32[$$0243253 + 96 >> 2] = $69 + $109; + $$sink = $69 - $109; + $$sink256 = 32; + } + HEAPF32[$$0243253 + ($$sink256 << 2) >> 2] = $$sink; + if ($$0254 >>> 0 > 1) { + $$0243253 = $$0243253 + 4 | 0; + $$0245252 = $$0245252 + 4 | 0; + $$0247251 = $$0247251 + 2 | 0; + $$0254 = $$0254 + -1 | 0; + } else break; + } + $127 = $7 + -384 | 0; + $$1250 = 0; + $$2249 = $5; + while (1) { + $130 = (HEAP32[$3 + ($$1250 << 2) >> 2] | 0) + $4 | 0; + $132 = +HEAPF32[$$2249 >> 2] + 512.5; + $134 = +HEAPF32[$$2249 + 16 >> 2]; + $135 = $132 + $134; + $136 = $132 - $134; + $138 = +HEAPF32[$$2249 + 8 >> 2]; + $140 = +HEAPF32[$$2249 + 24 >> 2]; + $141 = $138 + $140; + $144 = ($138 - $140) * 1.4142135381698608 - $141; + $145 = $135 + $141; + $146 = $135 - $141; + $147 = $136 + $144; + $148 = $136 - $144; + $150 = +HEAPF32[$$2249 + 20 >> 2]; + $152 = +HEAPF32[$$2249 + 12 >> 2]; + $153 = $150 + $152; + $154 = $150 - $152; + $156 = +HEAPF32[$$2249 + 4 >> 2]; + $158 = +HEAPF32[$$2249 + 28 >> 2]; + $159 = $156 + $158; + $160 = $156 - $158; + $161 = $153 + $159; + $165 = ($154 + $160) * 1.8477590084075928; + $170 = $165 - $154 * 2.613126039505005 - $161; + $171 = ($159 - $153) * 1.4142135381698608 - $170; + $172 = $165 - $160 * 1.0823922157287598 - $171; + HEAP8[$130 >> 0] = HEAP8[$127 + (~~($145 + $161) & 1023) >> 0] | 0; + HEAP8[$130 + 7 >> 0] = HEAP8[$127 + (~~($145 - $161) & 1023) >> 0] | 0; + HEAP8[$130 + 1 >> 0] = HEAP8[$127 + (~~($147 + $170) & 1023) >> 0] | 0; + HEAP8[$130 + 6 >> 0] = HEAP8[$127 + (~~($147 - $170) & 1023) >> 0] | 0; + HEAP8[$130 + 2 >> 0] = HEAP8[$127 + (~~($148 + $171) & 1023) >> 0] | 0; + HEAP8[$130 + 5 >> 0] = HEAP8[$127 + (~~($148 - $171) & 1023) >> 0] | 0; + HEAP8[$130 + 3 >> 0] = HEAP8[$127 + (~~($146 + $172) & 1023) >> 0] | 0; + HEAP8[$130 + 4 >> 0] = HEAP8[$127 + (~~($146 - $172) & 1023) >> 0] | 0; + $$1250 = $$1250 + 1 | 0; + if (($$1250 | 0) == 8) break; else $$2249 = $$2249 + 32 | 0; + } + STACKTOP = sp; + return; +} + +function _decode_mcu_AC_first($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$035$i = 0, $$080100 = 0, $$081$lcssa = 0, $$081105 = 0, $$084 = 0, $$086$lcssa = 0, $$08696 = 0, $$1 = 0, $$185$lcssa = 0, $$18799 = 0, $$288 = 0, $$lcssa = 0, $102 = 0, $108 = 0, $111 = 0, $113 = 0, $117 = 0, $120 = 0, $121 = 0, $124 = 0, $126 = 0, $16 = 0, $19 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $27 = 0, $3 = 0, $4 = 0, $54 = 0, $56 = 0, $57 = 0, $61 = 0, $62 = 0, $66 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $77 = 0, $8 = 0, $80 = 0, $86 = 0, $87 = 0, $91 = 0, $92 = 0, $96 = 0, $97 = 0, $98 = 0, $spec$select = 0, dest = 0, label = 0, stop = 0; + $3 = HEAP32[$0 + 468 >> 2] | 0; + $4 = $0 + 280 | 0; + if (HEAP32[$4 >> 2] | 0) { + $7 = $3 + 56 | 0; + $8 = HEAP32[$7 >> 2] | 0; + if (!$8) { + if (!(FUNCTION_TABLE_ii[HEAP32[(HEAP32[$0 + 464 >> 2] | 0) + 8 >> 2] & 127]($0) | 0)) { + $16 = HEAP32[$0 >> 2] | 0; + HEAP32[$16 + 20 >> 2] = 25; + FUNCTION_TABLE_vi[HEAP32[$16 >> 2] & 255]($0); + } + $19 = $0 + 340 | 0; + if ((HEAP32[$19 >> 2] | 0) > 0) { + $22 = $0 + 224 | 0; + $23 = $0 + 412 | 0; + $24 = $0 + 436 | 0; + $25 = $0 + 420 | 0; + $$035$i = 0; + do { + $27 = HEAP32[$0 + 344 + ($$035$i << 2) >> 2] | 0; + if (HEAP32[$22 >> 2] | 0) if (!(HEAP32[$23 >> 2] | 0)) { + if (!(HEAP32[$25 >> 2] | 0)) label = 10; + } else label = 13; else label = 10; + do if ((label | 0) == 10) { + label = 0; + dest = HEAP32[$3 + 60 + (HEAP32[$27 + 20 >> 2] << 2) >> 2] | 0; + stop = dest + 64 | 0; + do { + HEAP8[dest >> 0] = 0; + dest = dest + 1 | 0; + } while ((dest | 0) < (stop | 0)); + HEAP32[$3 + 24 + ($$035$i << 2) >> 2] = 0; + HEAP32[$3 + 40 + ($$035$i << 2) >> 2] = 0; + if (!(HEAP32[$22 >> 2] | 0)) if (!(HEAP32[$24 >> 2] | 0)) break; else { + label = 13; + break; + } else if (!(HEAP32[$23 >> 2] | 0)) break; else { + label = 13; + break; + } + } while (0); + if ((label | 0) == 13) { + label = 0; + _memset(HEAP32[$3 + 124 + (HEAP32[$27 + 24 >> 2] << 2) >> 2] | 0, 0, 256) | 0; + } + $$035$i = $$035$i + 1 | 0; + } while (($$035$i | 0) < (HEAP32[$19 >> 2] | 0)); + } + HEAP32[$3 + 12 >> 2] = 0; + HEAP32[$3 + 16 >> 2] = 0; + HEAP32[$3 + 20 >> 2] = -16; + $54 = HEAP32[$4 >> 2] | 0; + HEAP32[$7 >> 2] = $54; + $56 = $54; + } else $56 = $8; + HEAP32[$7 >> 2] = $56 + -1; + } + $57 = $3 + 20 | 0; + if ((HEAP32[$57 >> 2] | 0) == -1) return 1; + $61 = HEAP32[$0 + 432 >> 2] | 0; + $62 = HEAP32[$1 >> 2] | 0; + $66 = HEAP32[(HEAP32[$0 + 344 >> 2] | 0) + 24 >> 2] | 0; + $70 = $3 + 124 + ($66 << 2) | 0; + $71 = $3 + 188 | 0; + $72 = $0 + 416 | 0; + $73 = $0 + 424 | 0; + $74 = $0 + 264 + $66 | 0; + $$084 = (HEAP32[$0 + 412 >> 2] | 0) + -1 | 0; + L29 : while (1) { + $77 = (HEAP32[$70 >> 2] | 0) + ($$084 * 3 | 0) | 0; + if (_arith_decode($0, $77) | 0) { + label = 36; + break; + } + $80 = $$084 + 1 | 0; + if (!(_arith_decode($0, $77 + 1 | 0) | 0)) { + $$08696 = $77; + $86 = $80; + while (1) { + if (($86 | 0) >= (HEAP32[$72 >> 2] | 0)) { + label = 23; + break L29; + } + $91 = $$08696 + 3 | 0; + $92 = $86 + 1 | 0; + if (!(_arith_decode($0, $$08696 + 4 | 0) | 0)) { + $$08696 = $91; + $86 = $92; + } else { + $$086$lcssa = $91; + $$185$lcssa = $86; + $$lcssa = $92; + break; + } + } + } else { + $$086$lcssa = $77; + $$185$lcssa = $$084; + $$lcssa = $80; + } + $96 = _arith_decode($0, $71) | 0; + $97 = $$086$lcssa + 2 | 0; + $98 = _arith_decode($0, $97) | 0; + if ($98) { + if (_arith_decode($0, $97) | 0) { + $102 = $98 << 1; + $108 = (HEAP32[$70 >> 2] | 0) + (($$185$lcssa | 0) < (HEAPU8[$74 >> 0] | 0 | 0) ? 189 : 217) | 0; + if (!(_arith_decode($0, $108) | 0)) { + $$1 = $102; + $$288 = $108; + } else { + $$080100 = $102; + $$18799 = $108; + while (1) { + $111 = $$080100 << 1; + if (($111 | 0) == 32768) { + label = 30; + break L29; + } + $117 = $$18799 + 1 | 0; + if (!(_arith_decode($0, $117) | 0)) { + $$1 = $111; + $$288 = $117; + break; + } else { + $$080100 = $111; + $$18799 = $117; + } + } + } + } else { + $$1 = $98; + $$288 = $97; + } + $120 = $$288 + 14 | 0; + $121 = $$1 >> 1; + if (!$121) $$081$lcssa = $$1; else { + $$081105 = $$1; + $126 = $121; + while (1) { + $124 = (_arith_decode($0, $120) | 0) == 0; + $spec$select = ($124 ? 0 : $126) | $$081105; + $126 = $126 >> 1; + if (!$126) { + $$081$lcssa = $spec$select; + break; + } else $$081105 = $spec$select; + } + } + } else $$081$lcssa = 0; + HEAP16[$62 + (HEAP32[$61 + ($$lcssa << 2) >> 2] << 1) >> 1] = (($96 | 0) == 0 ? $$081$lcssa + 1 | 0 : ~$$081$lcssa) << HEAP32[$73 >> 2]; + if (($$lcssa | 0) < (HEAP32[$72 >> 2] | 0)) $$084 = $$lcssa; else { + label = 36; + break; + } + } + if ((label | 0) == 23) { + $87 = HEAP32[$0 >> 2] | 0; + HEAP32[$87 + 20 >> 2] = 117; + FUNCTION_TABLE_vii[HEAP32[$87 + 4 >> 2] & 255]($0, -1); + HEAP32[$57 >> 2] = -1; + return 1; + } else if ((label | 0) == 30) { + $113 = HEAP32[$0 >> 2] | 0; + HEAP32[$113 + 20 >> 2] = 117; + FUNCTION_TABLE_vii[HEAP32[$113 + 4 >> 2] & 255]($0, -1); + HEAP32[$57 >> 2] = -1; + return 1; + } else if ((label | 0) == 36) return 1; + return 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E12parseNewExprEv($0) { + $0 = $0 | 0; + var $$5 = 0, $$7 = 0, $$byval_copy3 = 0, $1 = 0, $10 = 0, $13 = 0, $16 = 0, $17 = 0, $2 = 0, $20 = 0, $22 = 0, $23 = 0, $26 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(64); + $$byval_copy3 = sp + 48 | 0; + $1 = sp + 57 | 0; + $2 = sp + 40 | 0; + $3 = sp + 56 | 0; + $4 = sp + 32 | 0; + $5 = sp + 24 | 0; + $6 = sp + 16 | 0; + $7 = sp; + $8 = sp + 8 | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 52665); + HEAP32[$$byval_copy3 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy3 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + $10 = (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy3) | 0) & 1; + HEAP8[$1 >> 0] = $10; + $13 = (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 1) | 0) << 24 >> 24 == 97 & 1; + HEAP8[$3 >> 0] = $13; + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, 53279); + HEAP32[$$byval_copy3 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy3 + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + if (!(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy3) | 0) ? (__ZN12_GLOBAL__N_110StringViewC2EPKc($5, 53282), HEAP32[$$byval_copy3 >> 2] = HEAP32[$5 >> 2], HEAP32[$$byval_copy3 + 4 >> 2] = HEAP32[$5 + 4 >> 2], !(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy3) | 0)) : 0) $$7 = 0; else label = 3; + do if ((label | 0) == 3) { + $16 = $0 + 8 | 0; + $17 = __ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE4sizeEv($16) | 0; + while (1) { + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 95) | 0) break; + $20 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$$byval_copy3 >> 2] = $20; + if (!$20) { + label = 7; + break; + } + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE9push_backERKS3_($16, $$byval_copy3); + } + if ((label | 0) == 7) { + $$7 = 0; + break; + } + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E20popTrailingNodeArrayEm($6, $0, $17); + $22 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + $23 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseTypeEv($22) | 0; + HEAP32[$7 >> 2] = $23; + do if ($23) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($8, 53285); + HEAP32[$$byval_copy3 >> 2] = HEAP32[$8 >> 2]; + HEAP32[$$byval_copy3 + 4 >> 2] = HEAP32[$8 + 4 >> 2]; + if (!(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy3) | 0)) { + if (!(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 69) | 0)) { + $$5 = 0; + break; + } + __ZN12_GLOBAL__N_116itanium_demangle9NodeArrayC2Ev($$byval_copy3); + $$5 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_7NewExprEJRNS0_9NodeArrayERPNS0_4NodeES8_RbSD_EEESB_DpOT0_($0, $6, $7, $$byval_copy3, $1, $3) | 0; + break; + } + $26 = __ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE4sizeEv($16) | 0; + while (1) { + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 69) | 0) { + label = 15; + break; + } + $28 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv($22) | 0; + HEAP32[$$byval_copy3 >> 2] = $28; + if (!$28) { + label = 13; + break; + } + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE9push_backERKS3_($16, $$byval_copy3); + } + if ((label | 0) == 13) { + $$5 = 0; + break; + } else if ((label | 0) == 15) { + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E20popTrailingNodeArrayEm($$byval_copy3, $0, $26); + $$5 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_7NewExprEJRNS0_9NodeArrayERPNS0_4NodeES9_RbSD_EEESB_DpOT0_($0, $6, $7, $$byval_copy3, $1, $3) | 0; + break; + } + } else $$5 = 0; while (0); + $$7 = $$5; + } while (0); + STACKTOP = sp; + return $$7 | 0; +} + +function _jpeg_calc_output_dimensions($0) { + $0 = $0 | 0; + var $$07397 = 0, $$07397$us = 0, $$07596 = 0, $$07596$us = 0, $$083 = 0, $$17482 = 0, $$17681 = 0, $$191 = 0, $$191$us = 0, $$lcssa = 0, $$lcssa$sink = 0, $$lcssa78 = 0, $$lcssa79 = 0, $$lcssa79$us = 0, $$pre = 0, $$sink = 0, $10 = 0, $102 = 0, $105 = 0, $11 = 0, $115 = 0, $116 = 0, $117 = 0, $118 = 0, $12 = 0, $13 = 0, $15 = 0, $19 = 0, $2 = 0, $21 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $31 = 0, $33 = 0, $35 = 0, $36 = 0, $4 = 0, $44 = 0, $46 = 0, $47 = 0, $53 = 0, $54 = 0, $56 = 0, $57 = 0, $63 = 0, $64 = 0, $66 = 0, $71 = 0, $72 = 0, $73 = 0, $74 = 0, $75 = 0, $82 = 0, $86 = 0, $94 = 0, $98 = 0; + $2 = HEAP32[$0 + 20 >> 2] | 0; + if (($2 | 0) != 202) { + $4 = HEAP32[$0 >> 2] | 0; + HEAP32[$4 + 20 >> 2] = 21; + HEAP32[$4 + 24 >> 2] = $2; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + _jpeg_core_output_dimensions($0); + $10 = HEAP32[$0 + 216 >> 2] | 0; + $11 = $0 + 36 | 0; + $12 = HEAP32[$11 >> 2] | 0; + $13 = ($12 | 0) > 0; + if ($13) { + $15 = HEAP32[$0 + 324 >> 2] | 0; + $19 = (HEAP32[$0 + 76 >> 2] | 0) == 0 ? 4 : 8; + $21 = $0 + 320 | 0; + $23 = HEAP32[$0 + 328 >> 2] | 0; + if (($15 | 0) > ($19 | 0)) { + $24 = ($23 | 0) > ($19 | 0); + $25 = $15 << 1; + $$07397$us = $10; + $$07596$us = 0; + while (1) { + $26 = $$07397$us + 36 | 0; + HEAP32[$26 >> 2] = $15; + L10 : do if ($24) $$lcssa79$us = $23; else { + $33 = HEAP32[$21 >> 2] | 0; + $31 = HEAP32[$$07397$us + 12 >> 2] | 0; + $$191$us = 1; + $116 = $23; + while (1) { + $$191$us = $$191$us << 1; + if (($33 | 0) % (Math_imul($$191$us, $31) | 0) | 0 | 0) { + $$lcssa79$us = $116; + break L10; + } + $27 = Math_imul($23, $$191$us) | 0; + if (($27 | 0) > ($19 | 0)) { + $$lcssa79$us = $27; + break; + } else $116 = $27; + } + } while (0); + $35 = $$07397$us + 40 | 0; + HEAP32[$35 >> 2] = $$lcssa79$us; + $36 = $$lcssa79$us << 1; + if (($15 | 0) <= ($36 | 0)) { + if (($$lcssa79$us | 0) > ($25 | 0)) HEAP32[$35 >> 2] = $25; + } else HEAP32[$26 >> 2] = $36; + $$07596$us = $$07596$us + 1 | 0; + if (($$07596$us | 0) >= ($12 | 0)) break; else $$07397$us = $$07397$us + 88 | 0; + } + } else { + $$pre = HEAP32[$0 + 316 >> 2] | 0; + $44 = ($23 | 0) > ($19 | 0); + $$07397 = $10; + $$07596 = 0; + while (1) { + $46 = HEAP32[$$07397 + 8 >> 2] | 0; + $$083 = 1; + $117 = $15; + while (1) { + $$083 = $$083 << 1; + if (($$pre | 0) % (Math_imul($$083, $46) | 0) | 0 | 0) { + $$lcssa78 = $117; + break; + } + $47 = Math_imul($15, $$083) | 0; + if (($47 | 0) > ($19 | 0)) { + $$lcssa78 = $47; + break; + } else $117 = $47; + } + $53 = $$07397 + 36 | 0; + HEAP32[$53 >> 2] = $$lcssa78; + L28 : do if ($44) $$lcssa79 = $23; else { + $54 = HEAP32[$21 >> 2] | 0; + $56 = HEAP32[$$07397 + 12 >> 2] | 0; + $$191 = 1; + $118 = $23; + while (1) { + $$191 = $$191 << 1; + if (($54 | 0) % (Math_imul($$191, $56) | 0) | 0 | 0) { + $$lcssa79 = $118; + break L28; + } + $57 = Math_imul($23, $$191) | 0; + if (($57 | 0) > ($19 | 0)) { + $$lcssa79 = $57; + break; + } else $118 = $57; + } + } while (0); + $63 = $$07397 + 40 | 0; + HEAP32[$63 >> 2] = $$lcssa79; + $64 = $$lcssa79 << 1; + if (($$lcssa78 | 0) <= ($64 | 0)) { + $66 = $$lcssa78 << 1; + if (($$lcssa79 | 0) > ($66 | 0)) HEAP32[$63 >> 2] = $66; + } else HEAP32[$53 >> 2] = $64; + $$07596 = $$07596 + 1 | 0; + if (($$07596 | 0) >= ($12 | 0)) break; else $$07397 = $$07397 + 88 | 0; + } + } + if ($13) { + $71 = $0 + 28 | 0; + $72 = $0 + 316 | 0; + $73 = $0 + 428 | 0; + $74 = $0 + 32 | 0; + $75 = $0 + 320 | 0; + $$17482 = $10; + $$17681 = 0; + while (1) { + $82 = Math_imul(Math_imul(HEAP32[$$17482 + 8 >> 2] | 0, HEAP32[$71 >> 2] | 0) | 0, HEAP32[$$17482 + 36 >> 2] | 0) | 0; + $86 = _jdiv_round_up($82, Math_imul(HEAP32[$73 >> 2] | 0, HEAP32[$72 >> 2] | 0) | 0) | 0; + HEAP32[$$17482 + 44 >> 2] = $86; + $94 = Math_imul(Math_imul(HEAP32[$$17482 + 12 >> 2] | 0, HEAP32[$74 >> 2] | 0) | 0, HEAP32[$$17482 + 40 >> 2] | 0) | 0; + $98 = _jdiv_round_up($94, Math_imul(HEAP32[$73 >> 2] | 0, HEAP32[$75 >> 2] | 0) | 0) | 0; + HEAP32[$$17482 + 48 >> 2] = $98; + $$17681 = $$17681 + 1 | 0; + $102 = HEAP32[$11 >> 2] | 0; + if (($$17681 | 0) >= ($102 | 0)) { + $$lcssa = $102; + break; + } else $$17482 = $$17482 + 88 | 0; + } + } else $$lcssa = $12; + } else $$lcssa = $12; + $105 = HEAP32[$0 + 44 >> 2] | 0; + switch ($105 | 0) { + case 1: + { + $$lcssa$sink = $105; + break; + } + case 6: + case 2: + { + $$lcssa$sink = 3; + break; + } + case 7: + case 3: + { + $$lcssa$sink = 3; + break; + } + case 5: + case 4: + { + $$lcssa$sink = 4; + break; + } + default: + $$lcssa$sink = $$lcssa; + } + HEAP32[$0 + 120 >> 2] = $$lcssa$sink; + HEAP32[$0 + 124 >> 2] = (HEAP32[$0 + 84 >> 2] | 0) == 0 ? $$lcssa$sink : 1; + if (!(_use_merged_upsample($0) | 0)) { + $$sink = 1; + $115 = $0 + 128 | 0; + HEAP32[$115 >> 2] = $$sink; + return; + } + $$sink = HEAP32[$0 + 320 >> 2] | 0; + $115 = $0 + 128 | 0; + HEAP32[$115 >> 2] = $$sink; + return; +} + +function __ZNK6vision4NodeILi96EE7nearestERNSt3__26vectorIPKS1_NS2_9allocatorIS5_EEEERNS2_14priority_queueINS_17PriorityQueueItemILi96EEENS3_ISC_NS6_ISC_EEEENS2_4lessISC_EEEEPKh($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0, $$043 = 0, $$045 = 0, $$046 = 0, $$byval_copy = 0, $$byval_copy1 = 0, $101 = 0, $102 = 0, $107 = 0, $109 = 0, $110 = 0, $14 = 0, $25 = 0, $31 = 0, $36 = 0, $37 = 0, $4 = 0, $41 = 0, $48 = 0, $5 = 0, $53 = 0, $57 = 0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0, $68 = 0, $69 = 0, $7 = 0, $71 = 0, $78 = 0, $8 = 0, $85 = 0, $86 = 0, $92 = 0, $93 = 0, $96 = 0, $spec$select = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $$byval_copy1 = sp + 8 | 0; + $$byval_copy = sp + 36 | 0; + $4 = sp + 32 | 0; + $5 = sp + 28 | 0; + $6 = sp; + $7 = sp + 16 | 0; + $8 = $0 + 104 | 0; + __ZNSt3__26vectorIN6vision17PriorityQueueItemILi96EEENS_9allocatorIS3_EEEC2Em($7, (HEAP32[$0 + 108 >> 2] | 0) - (HEAP32[$8 >> 2] | 0) >> 2); + $14 = $7 + 4 | 0; + $$043 = -1; + $$045 = 0; + $$046 = -1; + while (1) { + if ($$045 >>> 0 >= (HEAP32[$14 >> 2] | 0) - (HEAP32[$7 >> 2] | 0) >> 3 >>> 0) break; + $25 = __ZN6vision15HammingDistanceILi96EEEjPKhS2_((HEAP32[(HEAP32[$8 >> 2] | 0) + ($$045 << 2) >> 2] | 0) + 4 | 0, $3) | 0; + __ZN6vision17PriorityQueueItemILi96EEC2EPKNS_4NodeILi96EEEj($$byval_copy1, HEAP32[(HEAP32[$8 >> 2] | 0) + ($$045 << 2) >> 2] | 0, $25); + $31 = $$byval_copy1; + $36 = HEAP32[$31 + 4 >> 2] | 0; + $37 = (HEAP32[$7 >> 2] | 0) + ($$045 << 3) | 0; + HEAP32[$37 >> 2] = HEAP32[$31 >> 2]; + HEAP32[$37 + 4 >> 2] = $36; + __ZN6vision17PriorityQueueItemILi96EED2Ev($$byval_copy1); + $41 = $25 >>> 0 < $$043 >>> 0; + $spec$select = $41 ? $$045 : $$046; + $$043 = $41 ? $25 : $$043; + $$045 = $$045 + 1 | 0; + $$046 = $spec$select; + } + if (($$046 | 0) == -1) { + $48 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 36137) | 0, 33262) | 0, 39072) | 0, 155) | 0, 39079) | 0, 36171) | 0; + __ZNKSt3__28ios_base6getlocEv($$byval_copy1, $48 + (HEAP32[(HEAP32[$48 >> 2] | 0) + -12 >> 2] | 0) | 0); + $53 = __ZNKSt3__26locale9use_facetERNS0_2idE($$byval_copy1, 66512) | 0; + $57 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$53 >> 2] | 0) + 28 >> 2] & 127]($53, 10) | 0; + __ZNSt3__26localeD2Ev($$byval_copy1); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($48, $57) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($48) | 0; + _abort(); + } + $60 = HEAP32[(HEAP32[$8 >> 2] | 0) + ($$046 << 2) >> 2] | 0; + HEAP32[$$byval_copy1 >> 2] = $60; + $61 = $1 + 4 | 0; + $62 = HEAP32[$61 >> 2] | 0; + $63 = $1 + 8 | 0; + if ($62 >>> 0 < (HEAP32[$63 >> 2] | 0) >>> 0) { + HEAP32[$62 >> 2] = $60; + HEAP32[$61 >> 2] = (HEAP32[$61 >> 2] | 0) + 4; + } else __ZNSt3__26vectorIPKN6vision4NodeILi96EEENS_9allocatorIS5_EEE21__push_back_slow_pathIS5_EEvOT_($1, $$byval_copy1); + $68 = $2 + 4 | 0; + $69 = $2 + 8 | 0; + $$0 = 0; + while (1) { + $71 = HEAP32[$7 >> 2] | 0; + if ($$0 >>> 0 >= (HEAP32[$14 >> 2] | 0) - $71 >> 3 >>> 0) break; + do if (($$0 | 0) != ($$046 | 0)) { + $78 = __ZNK6vision17PriorityQueueItemILi96EE4distEv($71 + ($$0 << 3) | 0) | 0; + if (($78 | 0) == (__ZNK6vision17PriorityQueueItemILi96EE4distEv((HEAP32[$7 >> 2] | 0) + ($$046 << 3) | 0) | 0)) { + $85 = HEAP32[(HEAP32[$8 >> 2] | 0) + ($$0 << 2) >> 2] | 0; + HEAP32[$$byval_copy1 >> 2] = $85; + $86 = HEAP32[$61 >> 2] | 0; + if ($86 >>> 0 < (HEAP32[$63 >> 2] | 0) >>> 0) { + HEAP32[$86 >> 2] = $85; + HEAP32[$61 >> 2] = (HEAP32[$61 >> 2] | 0) + 4; + } else __ZNSt3__26vectorIPKN6vision4NodeILi96EEENS_9allocatorIS5_EEE21__push_back_slow_pathIS5_EEvOT_($1, $$byval_copy1); + break; + } else { + $92 = (HEAP32[$7 >> 2] | 0) + ($$0 << 3) | 0; + $93 = HEAP32[$68 >> 2] | 0; + if (($93 | 0) == (HEAP32[$69 >> 2] | 0)) { + __ZNSt3__26vectorIN6vision17PriorityQueueItemILi96EEENS_9allocatorIS3_EEE21__push_back_slow_pathIRKS3_EEvOT_($2, $92); + $110 = HEAP32[$68 >> 2] | 0; + } else { + $96 = $92; + $101 = HEAP32[$96 + 4 >> 2] | 0; + $102 = $93; + HEAP32[$102 >> 2] = HEAP32[$96 >> 2]; + HEAP32[$102 + 4 >> 2] = $101; + $107 = (HEAP32[$68 >> 2] | 0) + 8 | 0; + HEAP32[$68 >> 2] = $107; + $110 = $107; + } + $109 = HEAP32[$2 >> 2] | 0; + HEAP32[$4 >> 2] = $109; + HEAP32[$5 >> 2] = $110; + HEAP32[$$byval_copy >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy1 >> 2] = HEAP32[$5 >> 2]; + __ZNSt3__29__sift_upIRNS_4lessIN6vision17PriorityQueueItemILi96EEEEENS_11__wrap_iterIPS4_EEEEvT0_SA_T_NS_15iterator_traitsISA_E15difference_typeE($$byval_copy, $$byval_copy1, $6, $110 - $109 >> 3); + break; + } + } while (0); + $$0 = $$0 + 1 | 0; + } + __ZNSt3__213__vector_baseIN6vision17PriorityQueueItemILi96EEENS_9allocatorIS3_EEED2Ev($7); + STACKTOP = sp; + return; +} + +function _start_input_pass_79($0) { + $0 = $0 | 0; + var $$030$i = 0, $$07881$i = 0, $$07982$i = 0, $$pre33$i = 0, $1 = 0, $10 = 0, $101 = 0, $105 = 0, $112 = 0, $116 = 0, $117 = 0, $118 = 0, $119 = 0, $120 = 0, $121 = 0, $122 = 0, $123 = 0, $124 = 0, $125 = 0, $126 = 0, $127 = 0, $128 = 0, $129 = 0, $2 = 0, $20 = 0, $21 = 0, $27 = 0, $38 = 0, $41 = 0, $49 = 0, $5 = 0, $51 = 0, $55 = 0, $57 = 0, $60 = 0, $62 = 0, $66 = 0, $70 = 0, $75 = 0, $79 = 0, $81 = 0, $86 = 0, $90 = 0, $91 = 0, $94 = 0, $96 = 0, $97 = 0, label = 0; + $1 = $0 + 340 | 0; + $2 = HEAP32[$1 >> 2] | 0; + if (($2 | 0) != 1) { + if (($2 + -1 | 0) >>> 0 > 3) { + $27 = HEAP32[$0 >> 2] | 0; + HEAP32[$27 + 20 >> 2] = 27; + HEAP32[$27 + 24 >> 2] = $2; + HEAP32[(HEAP32[$0 >> 2] | 0) + 28 >> 2] = 4; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + $38 = $0 + 428 | 0; + $41 = _jdiv_round_up(HEAP32[$0 + 28 >> 2] | 0, Math_imul(HEAP32[$38 >> 2] | 0, HEAP32[$0 + 316 >> 2] | 0) | 0) | 0; + HEAP32[$0 + 360 >> 2] = $41; + $49 = _jdiv_round_up(HEAP32[$0 + 32 >> 2] | 0, Math_imul(HEAP32[$38 >> 2] | 0, HEAP32[$0 + 320 >> 2] | 0) | 0) | 0; + HEAP32[$0 + 364 >> 2] = $49; + $51 = $0 + 368 | 0; + HEAP32[$51 >> 2] = 0; + if ((HEAP32[$1 >> 2] | 0) <= 0) { + $117 = $0 + 468 | 0; + $118 = HEAP32[$117 >> 2] | 0; + $119 = HEAP32[$118 >> 2] | 0; + FUNCTION_TABLE_vi[$119 & 255]($0); + $120 = $0 + 452 | 0; + $121 = HEAP32[$120 >> 2] | 0; + $122 = HEAP32[$121 >> 2] | 0; + FUNCTION_TABLE_vi[$122 & 255]($0); + $123 = HEAP32[$120 >> 2] | 0; + $124 = $123 + 4 | 0; + $125 = HEAP32[$124 >> 2] | 0; + $126 = $0 + 460 | 0; + $127 = HEAP32[$126 >> 2] | 0; + HEAP32[$127 >> 2] = $125; + return; + } + $$07982$i = 0; + $79 = 0; + while (1) { + $55 = HEAP32[$0 + 344 + ($$07982$i << 2) >> 2] | 0; + $57 = HEAP32[$55 + 8 >> 2] | 0; + HEAP32[$55 + 56 >> 2] = $57; + $60 = HEAP32[$55 + 12 >> 2] | 0; + HEAP32[$55 + 60 >> 2] = $60; + $62 = Math_imul($60, $57) | 0; + HEAP32[$55 + 64 >> 2] = $62; + $66 = Math_imul(HEAP32[$55 + 36 >> 2] | 0, $57) | 0; + HEAP32[$55 + 68 >> 2] = $66; + $70 = ((HEAP32[$55 + 28 >> 2] | 0) >>> 0) % ($57 >>> 0) | 0; + HEAP32[$55 + 72 >> 2] = ($70 | 0) == 0 ? $57 : $70; + $75 = ((HEAP32[$55 + 32 >> 2] | 0) >>> 0) % ($60 >>> 0) | 0; + HEAP32[$55 + 76 >> 2] = ($75 | 0) == 0 ? $60 : $75; + if (($62 + $79 | 0) > 10) { + $81 = HEAP32[$0 >> 2] | 0; + HEAP32[$81 + 20 >> 2] = 14; + FUNCTION_TABLE_vi[HEAP32[$81 >> 2] & 255]($0); + } + if (($62 | 0) > 0) { + $$07881$i = $62; + while (1) { + $86 = HEAP32[$51 >> 2] | 0; + HEAP32[$51 >> 2] = $86 + 1; + HEAP32[$0 + 372 + ($86 << 2) >> 2] = $$07982$i; + if (($$07881$i | 0) > 1) $$07881$i = $$07881$i + -1 | 0; else break; + } + } + $90 = $$07982$i + 1 | 0; + $91 = HEAP32[$1 >> 2] | 0; + if (($90 | 0) >= ($91 | 0)) break; + $$07982$i = $90; + $79 = HEAP32[$51 >> 2] | 0; + } + if (($91 | 0) > 0) $128 = $91; else { + $117 = $0 + 468 | 0; + $118 = HEAP32[$117 >> 2] | 0; + $119 = HEAP32[$118 >> 2] | 0; + FUNCTION_TABLE_vi[$119 & 255]($0); + $120 = $0 + 452 | 0; + $121 = HEAP32[$120 >> 2] | 0; + $122 = HEAP32[$121 >> 2] | 0; + FUNCTION_TABLE_vi[$122 & 255]($0); + $123 = HEAP32[$120 >> 2] | 0; + $124 = $123 + 4 | 0; + $125 = HEAP32[$124 >> 2] | 0; + $126 = $0 + 460 | 0; + $127 = HEAP32[$126 >> 2] | 0; + HEAP32[$127 >> 2] = $125; + return; + } + } else { + $5 = HEAP32[$0 + 344 >> 2] | 0; + HEAP32[$0 + 360 >> 2] = HEAP32[$5 + 28 >> 2]; + $10 = HEAP32[$5 + 32 >> 2] | 0; + HEAP32[$0 + 364 >> 2] = $10; + HEAP32[$5 + 56 >> 2] = 1; + HEAP32[$5 + 60 >> 2] = 1; + HEAP32[$5 + 64 >> 2] = 1; + HEAP32[$5 + 68 >> 2] = HEAP32[$5 + 36 >> 2]; + HEAP32[$5 + 72 >> 2] = 1; + $20 = HEAP32[$5 + 12 >> 2] | 0; + $21 = ($10 >>> 0) % ($20 >>> 0) | 0; + HEAP32[$5 + 76 >> 2] = ($21 | 0) == 0 ? $20 : $21; + HEAP32[$0 + 368 >> 2] = 1; + HEAP32[$0 + 372 >> 2] = 0; + $128 = 1; + } + $94 = $0 + 4 | 0; + $$030$i = 0; + $129 = $128; + while (1) { + $96 = HEAP32[$0 + 344 + ($$030$i << 2) >> 2] | 0; + $97 = $96 + 80 | 0; + if (!(HEAP32[$97 >> 2] | 0)) { + $101 = HEAP32[$96 + 16 >> 2] | 0; + $$pre33$i = $0 + 164 + ($101 << 2) | 0; + if ($101 >>> 0 <= 3 ? (HEAP32[$$pre33$i >> 2] | 0) != 0 : 0) {} else { + $105 = HEAP32[$0 >> 2] | 0; + HEAP32[$105 + 20 >> 2] = 54; + HEAP32[$105 + 24 >> 2] = $101; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + $112 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$94 >> 2] >> 2] & 63]($0, 1, 132) | 0; + _memcpy($112 | 0, HEAP32[$$pre33$i >> 2] | 0, 132) | 0; + HEAP32[$97 >> 2] = $112; + $116 = HEAP32[$1 >> 2] | 0; + } else $116 = $129; + $$030$i = $$030$i + 1 | 0; + if (($$030$i | 0) >= ($116 | 0)) break; else $129 = $116; + } + $117 = $0 + 468 | 0; + $118 = HEAP32[$117 >> 2] | 0; + $119 = HEAP32[$118 >> 2] | 0; + FUNCTION_TABLE_vi[$119 & 255]($0); + $120 = $0 + 452 | 0; + $121 = HEAP32[$120 >> 2] | 0; + $122 = HEAP32[$121 >> 2] | 0; + FUNCTION_TABLE_vi[$122 & 255]($0); + $123 = HEAP32[$120 >> 2] | 0; + $124 = $123 + 4 | 0; + $125 = HEAP32[$124 >> 2] | 0; + $126 = $0 + 460 | 0; + $127 = HEAP32[$126 >> 2] | 0; + HEAP32[$127 >> 2] = $125; + return; +} + +function __ZNK6vision25GaussianScaleSpacePyramid6locateERiS1_f($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = +$3; + var $$sink = 0, $100 = 0, $11 = 0.0, $16 = 0, $17 = 0, $23 = 0, $26 = 0, $31 = 0, $38 = 0, $4 = 0, $43 = 0, $47 = 0, $56 = 0, $61 = 0, $65 = 0, $67 = 0, $7 = 0, $73 = 0, $78 = 0, $82 = 0, $90 = 0, $95 = 0, $99 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $4 = sp; + $7 = ~~+Math_floor(+(+__ZN6vision4log2IfEET_S1_($3))); + HEAP32[$1 >> 2] = $7; + $11 = +Math_log(+($3 / +(1 << $7 | 0))); + $16 = ~~+__ZN6vision5roundIfEET_S1_(+HEAPF32[$0 + 28 >> 2] * $11); + HEAP32[$2 >> 2] = $16; + $17 = $0 + 20 | 0; + if (((HEAP32[$17 >> 2] | 0) + -1 | 0) == ($16 | 0)) { + HEAP32[$1 >> 2] = (HEAP32[$1 >> 2] | 0) + 1; + HEAP32[$2 >> 2] = 0; + $100 = 0; + } else $100 = $16; + $23 = HEAP32[$1 >> 2] | 0; + if (($23 | 0) >= 0) { + $26 = HEAP32[$0 + 16 >> 2] | 0; + if (($23 | 0) < ($26 | 0)) $67 = $100; else { + HEAP32[$1 >> 2] = $26 + -1; + $$sink = (HEAP32[$17 >> 2] | 0) + -1 | 0; + label = 7; + } + } else { + HEAP32[$1 >> 2] = 0; + $$sink = 0; + label = 7; + } + if ((label | 0) == 7) { + HEAP32[$2 >> 2] = $$sink; + $67 = $$sink; + } + $31 = HEAP32[$1 >> 2] | 0; + if (($31 | 0) <= -1) { + $38 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 37937) | 0, 37972) | 0, 39072) | 0, 268) | 0, 39079) | 0, 38065) | 0; + __ZNKSt3__28ios_base6getlocEv($4, $38 + (HEAP32[(HEAP32[$38 >> 2] | 0) + -12 >> 2] | 0) | 0); + $43 = __ZNKSt3__26locale9use_facetERNS0_2idE($4, 66512) | 0; + $47 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$43 >> 2] | 0) + 28 >> 2] & 127]($43, 10) | 0; + __ZNSt3__26localeD2Ev($4); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($38, $47) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($38) | 0; + _abort(); + } + if (($31 | 0) >= (HEAP32[$0 + 16 >> 2] | 0)) { + $56 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 38089) | 0, 37972) | 0, 39072) | 0, 269) | 0, 39079) | 0, 38133) | 0; + __ZNKSt3__28ios_base6getlocEv($4, $56 + (HEAP32[(HEAP32[$56 >> 2] | 0) + -12 >> 2] | 0) | 0); + $61 = __ZNKSt3__26locale9use_facetERNS0_2idE($4, 66512) | 0; + $65 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$61 >> 2] | 0) + 28 >> 2] & 127]($61, 10) | 0; + __ZNSt3__26localeD2Ev($4); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($56, $65) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($56) | 0; + _abort(); + } + if (($67 | 0) <= -1) { + $73 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 38176) | 0, 37972) | 0, 39072) | 0, 270) | 0, 39079) | 0, 38210) | 0; + __ZNKSt3__28ios_base6getlocEv($4, $73 + (HEAP32[(HEAP32[$73 >> 2] | 0) + -12 >> 2] | 0) | 0); + $78 = __ZNKSt3__26locale9use_facetERNS0_2idE($4, 66512) | 0; + $82 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$78 >> 2] | 0) + 28 >> 2] & 127]($78, 10) | 0; + __ZNSt3__26localeD2Ev($4); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($73, $82) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($73) | 0; + _abort(); + } + if (($67 | 0) < (HEAP32[$17 >> 2] | 0)) { + STACKTOP = sp; + return; + } else { + $90 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 38233) | 0, 37972) | 0, 39072) | 0, 271) | 0, 39079) | 0, 38284) | 0; + __ZNKSt3__28ios_base6getlocEv($4, $90 + (HEAP32[(HEAP32[$90 >> 2] | 0) + -12 >> 2] | 0) | 0); + $95 = __ZNKSt3__26locale9use_facetERNS0_2idE($4, 66512) | 0; + $99 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$95 >> 2] | 0) + 28 >> 2] & 127]($95, 10) | 0; + __ZNSt3__26localeD2Ev($4); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($90, $99) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($90) | 0; + _abort(); + } +} + +function _process_data_context_main($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$04347$i = 0, $$04546$i = 0, $$048$i = 0, $$05759$i = 0, $$05860$i = 0, $$061$i = 0, $$pre$phi59Z2D = 0, $$pre$phi61Z2D = 0, $$pre$phi63Z2D = 0, $$pre$phi65Z2D = 0, $101 = 0, $103 = 0, $105 = 0, $109 = 0, $110 = 0, $111 = 0, $112 = 0, $118 = 0, $121 = 0, $124 = 0, $126 = 0, $127 = 0, $128 = 0, $131 = 0, $138 = 0, $149 = 0, $19 = 0, $22 = 0, $32 = 0, $33 = 0, $4 = 0, $41 = 0, $48 = 0, $5 = 0, $50 = 0, $54 = 0, $57 = 0, $6 = 0, $62 = 0, $63 = 0, $66 = 0, $74 = 0, $75 = 0, $78 = 0, $90 = 0, $spec$select$i = 0, label = 0; + $4 = $0 + 448 | 0; + $5 = HEAP32[$4 >> 2] | 0; + $6 = $5 + 56 | 0; + do if (!(HEAP32[$6 >> 2] | 0)) if (!(FUNCTION_TABLE_iii[HEAP32[(HEAP32[$0 + 452 >> 2] | 0) + 12 >> 2] & 127]($0, HEAP32[$5 + 60 + (HEAP32[$5 + 68 >> 2] << 2) >> 2] | 0) | 0)) return; else { + HEAP32[$6 >> 2] = 1; + $19 = $5 + 76 | 0; + HEAP32[$19 >> 2] = (HEAP32[$19 >> 2] | 0) + 1; + break; + } while (0); + $22 = $5 + 72 | 0; + switch (HEAP32[$22 >> 2] | 0) { + case 2: + { + $32 = $5 + 48 | 0; + $33 = $5 + 52 | 0; + FUNCTION_TABLE_viiiiiii[HEAP32[(HEAP32[$0 + 456 >> 2] | 0) + 4 >> 2] & 7]($0, HEAP32[$5 + 60 + (HEAP32[$5 + 68 >> 2] << 2) >> 2] | 0, $32, HEAP32[$33 >> 2] | 0, $1, $2, $3); + if ((HEAP32[$32 >> 2] | 0) >>> 0 < (HEAP32[$33 >> 2] | 0) >>> 0) return; + HEAP32[$22 >> 2] = 0; + if ((HEAP32[$2 >> 2] | 0) >>> 0 < $3 >>> 0) { + $$pre$phi59Z2D = $32; + $$pre$phi61Z2D = $33; + label = 9; + } else return; + break; + } + case 0: + { + $$pre$phi59Z2D = $5 + 48 | 0; + $$pre$phi61Z2D = $5 + 52 | 0; + label = 9; + break; + } + case 1: + { + $$pre$phi63Z2D = $5 + 48 | 0; + $$pre$phi65Z2D = $5 + 52 | 0; + break; + } + default: + return; + } + if ((label | 0) == 9) { + HEAP32[$$pre$phi59Z2D >> 2] = 0; + $41 = HEAP32[$0 + 328 >> 2] | 0; + HEAP32[$$pre$phi61Z2D >> 2] = $41 + -1; + if ((HEAP32[$5 + 76 >> 2] | 0) == (HEAP32[$0 + 332 >> 2] | 0) ? ($48 = HEAP32[$4 >> 2] | 0, $50 = HEAP32[$0 + 36 >> 2] | 0, ($50 | 0) > 0) : 0) { + $54 = $48 + 52 | 0; + $57 = $48 + 60 + (HEAP32[$48 + 68 >> 2] << 2) | 0; + $$04347$i = HEAP32[$0 + 216 >> 2] | 0; + $$048$i = 0; + while (1) { + $62 = Math_imul(HEAP32[$$04347$i + 40 >> 2] | 0, HEAP32[$$04347$i + 12 >> 2] | 0) | 0; + $63 = ($62 | 0) / ($41 | 0) | 0; + $66 = ((HEAP32[$$04347$i + 48 >> 2] | 0) >>> 0) % ($62 >>> 0) | 0; + $spec$select$i = ($66 | 0) == 0 ? $62 : $66; + if (!$$048$i) HEAP32[$54 >> 2] = (($spec$select$i + -1 | 0) / ($63 | 0) | 0) + 1; + $74 = HEAP32[(HEAP32[$57 >> 2] | 0) + ($$048$i << 2) >> 2] | 0; + $75 = $63 << 1; + if (($63 | 0) > 0) { + $78 = $74 + ($spec$select$i + -1 << 2) | 0; + $$04546$i = 0; + do { + HEAP32[$74 + ($$04546$i + $spec$select$i << 2) >> 2] = HEAP32[$78 >> 2]; + $$04546$i = $$04546$i + 1 | 0; + } while (($$04546$i | 0) < ($75 | 0)); + } + $$048$i = $$048$i + 1 | 0; + if (($$048$i | 0) == ($50 | 0)) break; else $$04347$i = $$04347$i + 88 | 0; + } + } + HEAP32[$22 >> 2] = 1; + $$pre$phi63Z2D = $$pre$phi59Z2D; + $$pre$phi65Z2D = $$pre$phi61Z2D; + } + $90 = $5 + 68 | 0; + FUNCTION_TABLE_viiiiiii[HEAP32[(HEAP32[$0 + 456 >> 2] | 0) + 4 >> 2] & 7]($0, HEAP32[$5 + 60 + (HEAP32[$90 >> 2] << 2) >> 2] | 0, $$pre$phi63Z2D, HEAP32[$$pre$phi65Z2D >> 2] | 0, $1, $2, $3); + if ((HEAP32[$$pre$phi63Z2D >> 2] | 0) >>> 0 < (HEAP32[$$pre$phi65Z2D >> 2] | 0) >>> 0) return; + if ((HEAP32[$5 + 76 >> 2] | 0) == 1) { + $101 = HEAP32[$4 >> 2] | 0; + $103 = HEAP32[$0 + 328 >> 2] | 0; + $105 = HEAP32[$0 + 36 >> 2] | 0; + if (($105 | 0) > 0) { + $109 = $101 + 60 | 0; + $110 = $101 + 64 | 0; + $111 = $103 + 1 | 0; + $112 = $103 + 2 | 0; + $$05860$i = HEAP32[$0 + 216 >> 2] | 0; + $$061$i = 0; + while (1) { + $118 = (Math_imul(HEAP32[$$05860$i + 40 >> 2] | 0, HEAP32[$$05860$i + 12 >> 2] | 0) | 0) / ($103 | 0) | 0; + $121 = HEAP32[(HEAP32[$109 >> 2] | 0) + ($$061$i << 2) >> 2] | 0; + $124 = HEAP32[(HEAP32[$110 >> 2] | 0) + ($$061$i << 2) >> 2] | 0; + if (($118 | 0) > 0) { + $126 = Math_imul($118, $111) | 0; + $127 = Math_imul($118, $112) | 0; + $$05759$i = 0; + do { + $128 = $$05759$i + $126 | 0; + $131 = $$05759$i - $118 | 0; + HEAP32[$121 + ($131 << 2) >> 2] = HEAP32[$121 + ($128 << 2) >> 2]; + HEAP32[$124 + ($131 << 2) >> 2] = HEAP32[$124 + ($128 << 2) >> 2]; + $138 = $$05759$i + $127 | 0; + HEAP32[$121 + ($138 << 2) >> 2] = HEAP32[$121 + ($$05759$i << 2) >> 2]; + HEAP32[$124 + ($138 << 2) >> 2] = HEAP32[$124 + ($$05759$i << 2) >> 2]; + $$05759$i = $$05759$i + 1 | 0; + } while (($$05759$i | 0) != ($118 | 0)); + } + $$061$i = $$061$i + 1 | 0; + if (($$061$i | 0) == ($105 | 0)) { + $149 = $103; + break; + } else $$05860$i = $$05860$i + 88 | 0; + } + } else $149 = $103; + } else $149 = HEAP32[$0 + 328 >> 2] | 0; + HEAP32[$90 >> 2] = HEAP32[$90 >> 2] ^ 1; + HEAP32[$6 >> 2] = 0; + HEAP32[$$pre$phi63Z2D >> 2] = $149 + 1; + HEAP32[$$pre$phi65Z2D >> 2] = $149 + 2; + HEAP32[$22 >> 2] = 2; + return; +} + +function __ZN6vision14BinarykMedoidsILi96EE6assignERNSt3__26vectorIiNS2_9allocatorIiEEEEPKhiPKiiSB_i($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 $$0 = 0, $$038 = 0, $$039 = 0, $$040 = 0, $$1 = 0, $20 = 0, $25 = 0, $29 = 0, $36 = 0, $41 = 0, $45 = 0, $52 = 0, $57 = 0, $61 = 0, $68 = 0, $73 = 0, $77 = 0, $79 = 0, $8 = 0, $85 = 0, $91 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $8 = sp; + if (((HEAP32[$1 + 4 >> 2] | 0) - (HEAP32[$1 >> 2] | 0) >> 2 | 0) != ($5 | 0)) { + $20 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 33206) | 0, 33707) | 0, 39072) | 0, 198) | 0, 39079) | 0, 34039) | 0; + __ZNKSt3__28ios_base6getlocEv($8, $20 + (HEAP32[(HEAP32[$20 >> 2] | 0) + -12 >> 2] | 0) | 0); + $25 = __ZNKSt3__26locale9use_facetERNS0_2idE($8, 66512) | 0; + $29 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$25 >> 2] | 0) + 28 >> 2] & 127]($25, 10) | 0; + __ZNSt3__26localeD2Ev($8); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($20, $29) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($20) | 0; + _abort(); + } + if (($3 | 0) <= 0) { + $36 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 33824) | 0, 33707) | 0, 39072) | 0, 199) | 0, 39079) | 0, 33864) | 0; + __ZNKSt3__28ios_base6getlocEv($8, $36 + (HEAP32[(HEAP32[$36 >> 2] | 0) + -12 >> 2] | 0) | 0); + $41 = __ZNKSt3__26locale9use_facetERNS0_2idE($8, 66512) | 0; + $45 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$41 >> 2] | 0) + 28 >> 2] & 127]($41, 10) | 0; + __ZNSt3__26localeD2Ev($8); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($36, $45) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($36) | 0; + _abort(); + } + if (($5 | 0) > ($3 | 0)) { + $52 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 33900) | 0, 33707) | 0, 39072) | 0, 200) | 0, 39079) | 0, 33951) | 0; + __ZNKSt3__28ios_base6getlocEv($8, $52 + (HEAP32[(HEAP32[$52 >> 2] | 0) + -12 >> 2] | 0) | 0); + $57 = __ZNKSt3__26locale9use_facetERNS0_2idE($8, 66512) | 0; + $61 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$57 >> 2] | 0) + 28 >> 2] & 127]($57, 10) | 0; + __ZNSt3__26localeD2Ev($8); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($52, $61) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($52) | 0; + _abort(); + } + if (($7 | 0) <= 0) { + $68 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 34068) | 0, 33707) | 0, 39072) | 0, 201) | 0, 39079) | 0, 34107) | 0; + __ZNKSt3__28ios_base6getlocEv($8, $68 + (HEAP32[(HEAP32[$68 >> 2] | 0) + -12 >> 2] | 0) | 0); + $73 = __ZNKSt3__26locale9use_facetERNS0_2idE($8, 66512) | 0; + $77 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$73 >> 2] | 0) + 28 >> 2] & 127]($73, 10) | 0; + __ZNSt3__26localeD2Ev($8); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($68, $77) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($68) | 0; + _abort(); + } + $$0 = 0; + $$040 = 0; + while (1) { + if (($$040 | 0) >= ($5 | 0)) break; + $79 = $4 + ($$040 << 2) | 0; + $$038 = 0; + $$039 = -1; + while (1) { + if (($$038 | 0) == ($7 | 0)) break; + $85 = $6 + ($$038 << 2) | 0; + $91 = __ZN6vision15HammingDistanceILi96EEEjPKhS2_($2 + ((HEAP32[$79 >> 2] | 0) * 96 | 0) | 0, $2 + ((HEAP32[$4 + (HEAP32[$85 >> 2] << 2) >> 2] | 0) * 96 | 0) | 0) | 0; + if ($91 >>> 0 < $$039 >>> 0) { + HEAP32[(HEAP32[$1 >> 2] | 0) + ($$040 << 2) >> 2] = HEAP32[$85 >> 2]; + $$1 = $91; + } else $$1 = $$039; + $$038 = $$038 + 1 | 0; + $$039 = $$1; + } + $$0 = $$039 + $$0 | 0; + $$040 = $$040 + 1 | 0; + } + STACKTOP = sp; + return $$0 | 0; +} + +function _jpeg_idct_9x9($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0228248 = 0, $$0230247 = 0, $$0231246 = 0, $$0249 = 0, $$1229244 = 0, $$1245 = 0, $121 = 0, $124 = 0, $127 = 0, $129 = 0, $131 = 0, $134 = 0, $135 = 0, $137 = 0, $138 = 0, $140 = 0, $141 = 0, $143 = 0, $144 = 0, $145 = 0, $147 = 0, $149 = 0, $15 = 0, $151 = 0, $153 = 0, $157 = 0, $159 = 0, $160 = 0, $162 = 0, $164 = 0, $166 = 0, $168 = 0, $170 = 0, $172 = 0, $175 = 0, $21 = 0, $27 = 0, $34 = 0, $35 = 0, $37 = 0, $38 = 0, $40 = 0, $41 = 0, $43 = 0, $44 = 0, $45 = 0, $47 = 0, $49 = 0, $5 = 0, $51 = 0, $57 = 0, $68 = 0, $7 = 0, $74 = 0, $76 = 0, $78 = 0, $80 = 0, $82 = 0, $84 = 0, $86 = 0, $88 = 0, $91 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 288 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(288); + $5 = sp; + $7 = HEAP32[$0 + 336 >> 2] | 0; + $$0228248 = $5; + $$0230247 = HEAP32[$1 + 84 >> 2] | 0; + $$0231246 = $2; + $$0249 = 0; + while (1) { + $15 = Math_imul(HEAP16[$$0231246 >> 1] << 13, HEAP32[$$0230247 >> 2] | 0) | 0 | 1024; + $21 = Math_imul(HEAP32[$$0230247 + 64 >> 2] | 0, HEAP16[$$0231246 + 32 >> 1] | 0) | 0; + $27 = Math_imul(HEAP32[$$0230247 + 128 >> 2] | 0, HEAP16[$$0231246 + 64 >> 1] | 0) | 0; + $34 = Math_imul((HEAP16[$$0231246 + 96 >> 1] | 0) * 5793 | 0, HEAP32[$$0230247 + 192 >> 2] | 0) | 0; + $35 = $34 + $15 | 0; + $37 = $15 - $34 - $34 | 0; + $38 = $21 - $27 | 0; + $40 = $37 + ($38 * 5793 | 0) | 0; + $41 = (Math_imul($38, -11586) | 0) + $37 | 0; + $43 = ($27 + $21 | 0) * 10887 | 0; + $44 = $21 * 8875 | 0; + $45 = $27 * 2012 | 0; + $47 = $43 - $45 + $35 | 0; + $49 = $35 - $43 + $44 | 0; + $51 = $35 - $44 + $45 | 0; + $57 = Math_imul(HEAP32[$$0230247 + 32 >> 2] | 0, HEAP16[$$0231246 + 16 >> 1] | 0) | 0; + $68 = Math_imul(HEAP32[$$0230247 + 160 >> 2] | 0, HEAP16[$$0231246 + 80 >> 1] | 0) | 0; + $74 = Math_imul(HEAP32[$$0230247 + 224 >> 2] | 0, HEAP16[$$0231246 + 112 >> 1] | 0) | 0; + $76 = Math_imul(Math_imul(HEAP16[$$0231246 + 48 >> 1] | 0, -10033) | 0, HEAP32[$$0230247 + 96 >> 2] | 0) | 0; + $78 = ($68 + $57 | 0) * 7447 | 0; + $80 = ($74 + $57 | 0) * 3962 | 0; + $82 = $78 - $76 + $80 | 0; + $84 = ($68 - $74 | 0) * 11409 | 0; + $86 = $76 - $84 + $78 | 0; + $88 = $84 + $76 + $80 | 0; + $91 = ($57 - $68 - $74 | 0) * 10033 | 0; + HEAP32[$$0228248 >> 2] = $82 + $47 >> 11; + HEAP32[$$0228248 + 256 >> 2] = $47 - $82 >> 11; + HEAP32[$$0228248 + 32 >> 2] = $91 + $40 >> 11; + HEAP32[$$0228248 + 224 >> 2] = $40 - $91 >> 11; + HEAP32[$$0228248 + 64 >> 2] = $86 + $49 >> 11; + HEAP32[$$0228248 + 192 >> 2] = $49 - $86 >> 11; + HEAP32[$$0228248 + 96 >> 2] = $88 + $51 >> 11; + HEAP32[$$0228248 + 160 >> 2] = $51 - $88 >> 11; + HEAP32[$$0228248 + 128 >> 2] = $41 >> 11; + $$0249 = $$0249 + 1 | 0; + if (($$0249 | 0) == 8) break; else { + $$0228248 = $$0228248 + 4 | 0; + $$0230247 = $$0230247 + 4 | 0; + $$0231246 = $$0231246 + 2 | 0; + } + } + $121 = $7 + -384 | 0; + $$1229244 = $5; + $$1245 = 0; + while (1) { + $124 = (HEAP32[$3 + ($$1245 << 2) >> 2] | 0) + $4 | 0; + $127 = (HEAP32[$$1229244 >> 2] << 13) + 134348800 | 0; + $129 = HEAP32[$$1229244 + 8 >> 2] | 0; + $131 = HEAP32[$$1229244 + 16 >> 2] | 0; + $134 = (HEAP32[$$1229244 + 24 >> 2] | 0) * 5793 | 0; + $135 = $134 + $127 | 0; + $137 = $127 - $134 - $134 | 0; + $138 = $129 - $131 | 0; + $140 = $137 + ($138 * 5793 | 0) | 0; + $141 = (Math_imul($138, -11586) | 0) + $137 | 0; + $143 = ($131 + $129 | 0) * 10887 | 0; + $144 = $129 * 8875 | 0; + $145 = $131 * 2012 | 0; + $147 = $143 - $145 + $135 | 0; + $149 = $135 - $143 + $144 | 0; + $151 = $135 - $144 + $145 | 0; + $153 = HEAP32[$$1229244 + 4 >> 2] | 0; + $157 = HEAP32[$$1229244 + 20 >> 2] | 0; + $159 = HEAP32[$$1229244 + 28 >> 2] | 0; + $160 = Math_imul(HEAP32[$$1229244 + 12 >> 2] | 0, -10033) | 0; + $162 = ($157 + $153 | 0) * 7447 | 0; + $164 = ($159 + $153 | 0) * 3962 | 0; + $166 = $162 - $160 + $164 | 0; + $168 = ($157 - $159 | 0) * 11409 | 0; + $170 = $160 - $168 + $162 | 0; + $172 = $168 + $160 + $164 | 0; + $175 = ($153 - $157 - $159 | 0) * 10033 | 0; + HEAP8[$124 >> 0] = HEAP8[$121 + (($166 + $147 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$124 + 8 >> 0] = HEAP8[$121 + (($147 - $166 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$124 + 1 >> 0] = HEAP8[$121 + (($175 + $140 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$124 + 7 >> 0] = HEAP8[$121 + (($140 - $175 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$124 + 2 >> 0] = HEAP8[$121 + (($170 + $149 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$124 + 6 >> 0] = HEAP8[$121 + (($149 - $170 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$124 + 3 >> 0] = HEAP8[$121 + (($172 + $151 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$124 + 5 >> 0] = HEAP8[$121 + (($151 - $172 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$124 + 4 >> 0] = HEAP8[$121 + ($141 >>> 18 & 1023) >> 0] | 0; + $$1245 = $$1245 + 1 | 0; + if (($$1245 | 0) == 9) break; else $$1229244 = $$1229244 + 32 | 0; + } + STACKTOP = sp; + return; +} + +function __ZNKSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_bRNS_8ios_baseEwe($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = +$5; + var $$0 = 0, $$0$i$i = 0, $$0$i$i39 = 0, $$0$i$i41 = 0, $$037 = 0, $$038 = 0, $$byval_copy = 0, $$sink72 = 0, $$sink73 = 0, $$sink74 = 0, $$sroa$050$0 = 0, $$sroa$058$0 = 0, $$sroa$067$0 = 0, $10 = 0, $101 = 0, $102 = 0, $103 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $23 = 0, $24 = 0, $25 = 0, $29 = 0, $32 = 0, $33 = 0, $48 = 0, $49 = 0, $55 = 0, $6 = 0, $63 = 0, $7 = 0, $73 = 0, $8 = 0, $81 = 0, $89 = 0, $9 = 0, $92 = 0, $vararg_buffer1 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 992 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(992); + $$byval_copy = sp + 912 | 0; + $vararg_buffer1 = sp + 904 | 0; + $6 = sp + 800 | 0; + $7 = sp + 984 | 0; + $8 = sp + 400 | 0; + $9 = sp + 980 | 0; + $10 = sp + 988 | 0; + $11 = sp + 976 | 0; + $12 = sp + 972 | 0; + $13 = sp + 960 | 0; + $14 = sp + 948 | 0; + $15 = sp + 936 | 0; + $16 = sp + 932 | 0; + $17 = sp; + $18 = sp + 928 | 0; + $19 = sp + 920 | 0; + $20 = sp + 924 | 0; + HEAP32[$7 >> 2] = $6; + HEAPF64[$$byval_copy >> 3] = $5; + $21 = _snprintf($6, 100, 60455, $$byval_copy) | 0; + if ($21 >>> 0 > 99) { + $23 = __ZNSt3__26__clocEv() | 0; + HEAPF64[$vararg_buffer1 >> 3] = $5; + $24 = __ZNSt3__219__libcpp_asprintf_lEPPcP15__locale_structPKcz($7, $23, 60455, $vararg_buffer1) | 0; + $25 = HEAP32[$7 >> 2] | 0; + if (!$25) __ZSt17__throw_bad_allocv(); + $29 = _malloc($24 << 2) | 0; + if (!$29) __ZSt17__throw_bad_allocv(); else { + $$0 = $29; + $$038 = $24; + $$sroa$058$0 = $29; + $$sroa$067$0 = $25; + } + } else { + $$0 = $8; + $$038 = $21; + $$sroa$058$0 = 0; + $$sroa$067$0 = 0; + } + __ZNKSt3__28ios_base6getlocEv($9, $3); + $32 = __ZNKSt3__26locale9use_facetERNS0_2idE($9, 66544) | 0; + $33 = HEAP32[$7 >> 2] | 0; + FUNCTION_TABLE_iiiii[HEAP32[(HEAP32[$32 >> 2] | 0) + 48 >> 2] & 15]($32, $33, $33 + $$038 | 0, $$0) | 0; + if (!$$038) $48 = 0; else $48 = (HEAP8[HEAP32[$7 >> 2] >> 0] | 0) == 45; + HEAP32[$13 >> 2] = 0; + HEAP32[$13 + 4 >> 2] = 0; + HEAP32[$13 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$13 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + HEAP32[$14 >> 2] = 0; + HEAP32[$14 + 4 >> 2] = 0; + HEAP32[$14 + 8 >> 2] = 0; + $$0$i$i39 = 0; + while (1) { + if (($$0$i$i39 | 0) == 3) break; + HEAP32[$14 + ($$0$i$i39 << 2) >> 2] = 0; + $$0$i$i39 = $$0$i$i39 + 1 | 0; + } + HEAP32[$15 >> 2] = 0; + HEAP32[$15 + 4 >> 2] = 0; + HEAP32[$15 + 8 >> 2] = 0; + $$0$i$i41 = 0; + while (1) { + if (($$0$i$i41 | 0) == 3) break; + HEAP32[$15 + ($$0$i$i41 << 2) >> 2] = 0; + $$0$i$i41 = $$0$i$i41 + 1 | 0; + } + __ZNSt3__211__money_putIwE13__gather_infoEbbRKNS_6localeERNS_10money_base7patternERwS8_RNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERNS9_IwNSA_IwEENSC_IwEEEESJ_Ri($2, $48, $9, $10, $11, $12, $13, $14, $15, $16); + $49 = HEAP32[$16 >> 2] | 0; + if (($$038 | 0) > ($49 | 0)) { + $55 = HEAP8[$15 + 8 + 3 >> 0] | 0; + $63 = HEAP8[$14 + 8 + 3 >> 0] | 0; + $$sink72 = $63 << 24 >> 24 < 0 ? HEAP32[$14 + 4 >> 2] | 0 : $63 & 255; + $$sink73 = $49 + 1 + ($$038 - $49 << 1) | 0; + $$sink74 = $55 << 24 >> 24 < 0 ? HEAP32[$15 + 4 >> 2] | 0 : $55 & 255; + } else { + $73 = HEAP8[$15 + 8 + 3 >> 0] | 0; + $81 = HEAP8[$14 + 8 + 3 >> 0] | 0; + $$sink72 = $81 << 24 >> 24 < 0 ? HEAP32[$14 + 4 >> 2] | 0 : $81 & 255; + $$sink73 = $49 + 2 | 0; + $$sink74 = $73 << 24 >> 24 < 0 ? HEAP32[$15 + 4 >> 2] | 0 : $73 & 255; + } + $89 = $$sink73 + $$sink74 + $$sink72 | 0; + if ($89 >>> 0 > 100) { + $92 = _malloc($89 << 2) | 0; + if (!$92) __ZSt17__throw_bad_allocv(); else { + $$037 = $92; + $$sroa$050$0 = $92; + } + } else { + $$037 = $17; + $$sroa$050$0 = 0; + } + __ZNSt3__211__money_putIwE8__formatEPwRS2_S3_jPKwS5_RKNS_5ctypeIwEEbRKNS_10money_base7patternEwwRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNSE_IwNSF_IwEENSH_IwEEEESQ_i($$037, $18, $19, HEAP32[$3 + 4 >> 2] | 0, $$0, $$0 + ($$038 << 2) | 0, $32, $48, $10, HEAP32[$11 >> 2] | 0, HEAP32[$12 >> 2] | 0, $13, $14, $15, $49); + HEAP32[$20 >> 2] = HEAP32[$1 >> 2]; + $101 = HEAP32[$18 >> 2] | 0; + $102 = HEAP32[$19 >> 2] | 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$20 >> 2]; + $103 = __ZNSt3__216__pad_and_outputIwNS_11char_traitsIwEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4_($$byval_copy, $$037, $101, $102, $3, $4) | 0; + if ($$sroa$050$0 | 0) _free($$sroa$050$0); + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev($15); + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev($14); + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($13); + __ZNSt3__26localeD2Ev($9); + if ($$sroa$058$0 | 0) _free($$sroa$058$0); + if ($$sroa$067$0 | 0) _free($$sroa$067$0); + STACKTOP = sp; + return $103 | 0; +} + +function _arGetContour($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 = 0, $$0137 = 0, $$0138 = 0, $$0140 = 0, $$0141 = 0, $$0143 = 0, $$1 = 0, $$1144 = 0, $$1144$in = 0, $$2 = 0, $$3 = 0, $$4 = 0, $$5 = 0, $10 = 0, $103 = 0, $11 = 0, $12 = 0, $16 = 0, $18 = 0, $28 = 0, $29 = 0, $30 = 0, $32 = 0, $34 = 0, $35 = 0, $39 = 0, $40 = 0, $42 = 0, $51 = 0, $53 = 0, $54 = 0, $59 = 0, $61 = 0, $62 = 0, $68 = 0, $7 = 0, $73 = 0, $74 = 0, $77 = 0, $79 = 0, $8 = 0, $80 = 0, $91 = 0, $94 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80032 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(80032); + $vararg_buffer3 = sp + 80016 | 0; + $vararg_buffer1 = sp + 80008 | 0; + $vararg_buffer = sp + 8e4 | 0; + $7 = sp + 4e4 | 0; + $8 = sp; + $10 = HEAP32[$5 + 8 >> 2] | 0; + $11 = Math_imul($10, $1) | 0; + $12 = HEAP32[$5 >> 2] | 0; + $16 = HEAP32[$5 + 4 >> 2] | 0; + $$0137 = $12; + $$0140 = $0 + ($11 + $12 << 1) | 0; + while (1) { + if (($$0137 | 0) > ($16 | 0)) { + label = 7; + break; + } + $18 = HEAP16[$$0140 >> 1] | 0; + if ($18 << 16 >> 16 > 0 ? (HEAP32[$3 + (($18 << 16 >> 16) + -1 << 2) >> 2] | 0) == ($4 | 0) : 0) { + label = 6; + break; + } + $$0137 = $$0137 + 1 | 0; + $$0140 = $$0140 + 2 | 0; + } + do if ((label | 0) == 6) if (($$0137 | 0) != -1) { + $28 = $6 + 24 | 0; + HEAP32[$28 >> 2] = 1; + $29 = $6 + 28 | 0; + HEAP32[$29 >> 2] = $$0137; + $30 = $6 + 40028 | 0; + HEAP32[$30 >> 2] = $10; + $$0143 = 5; + $32 = $10; + $34 = $$0137; + $53 = 1; + while (1) { + $35 = $0 + ((Math_imul($32, $1) | 0) + $34 << 1) | 0; + $$1 = 0; + $$1144$in = $$0143 + 5 | 0; + while (1) { + $$1144 = ($$1144$in | 0) % 8 | 0; + if ($$1 >>> 0 >= 8) { + label = 13; + break; + } + $39 = HEAP32[48 + ($$1144 << 2) >> 2] | 0; + $40 = Math_imul($39, $1) | 0; + $42 = HEAP32[80 + ($$1144 << 2) >> 2] | 0; + if ((HEAP16[$35 + ($40 + $42 << 1) >> 1] | 0) > 0) { + $51 = $42; + $59 = $39; + break; + } + $$1 = $$1 + 1 | 0; + $$1144$in = $$1144 + 1 | 0; + } + if ((label | 0) == 13) { + label = 0; + if (($$1 | 0) == 8) { + label = 15; + break; + } + $51 = HEAP32[80 + ($$1144 << 2) >> 2] | 0; + $59 = HEAP32[48 + ($$1144 << 2) >> 2] | 0; + } + HEAP32[$6 + 28 + ($53 << 2) >> 2] = $51 + $34; + $54 = HEAP32[$28 >> 2] | 0; + HEAP32[$6 + 40028 + ($54 << 2) >> 2] = $59 + (HEAP32[$6 + 40028 + ($54 + -1 << 2) >> 2] | 0); + $61 = HEAP32[$28 >> 2] | 0; + $62 = $6 + 28 + ($61 << 2) | 0; + if ((HEAP32[$62 >> 2] | 0) == ($$0137 | 0) ? (HEAP32[$6 + 40028 + ($61 << 2) >> 2] | 0) == ($10 | 0) : 0) { + label = 18; + break; + } + $68 = $61 + 1 | 0; + HEAP32[$28 >> 2] = $68; + if (($68 | 0) == 9999) { + label = 21; + break; + } + $$0143 = $$1144; + $32 = HEAP32[$6 + 40028 + ($61 << 2) >> 2] | 0; + $34 = HEAP32[$62 >> 2] | 0; + $53 = $68; + } + if ((label | 0) == 15) { + _arLog(0, 3, 24224, $vararg_buffer1); + $$0 = -1; + break; + } else if ((label | 0) == 18) { + $$0138 = 0; + $$0141 = 0; + $$2 = 1; + while (1) { + if (($$2 | 0) >= ($61 | 0)) break; + $73 = (HEAP32[$6 + 28 + ($$2 << 2) >> 2] | 0) - $$0137 | 0; + $74 = Math_imul($73, $73) | 0; + $77 = (HEAP32[$6 + 40028 + ($$2 << 2) >> 2] | 0) - $10 | 0; + $79 = (Math_imul($77, $77) | 0) + $74 | 0; + $80 = ($79 | 0) > ($$0141 | 0); + $$0138 = $80 ? $$2 : $$0138; + $$0141 = $80 ? $79 : $$0141; + $$2 = $$2 + 1 | 0; + } + $$3 = 0; + while (1) { + if (($$3 | 0) >= ($$0138 | 0)) break; + HEAP32[$7 + ($$3 << 2) >> 2] = HEAP32[$6 + 28 + ($$3 << 2) >> 2]; + HEAP32[$8 + ($$3 << 2) >> 2] = HEAP32[$6 + 40028 + ($$3 << 2) >> 2]; + $$3 = $$3 + 1 | 0; + } + $$4 = $$0138; + $91 = $61; + while (1) { + if (($$4 | 0) >= ($91 | 0)) break; + $94 = $$4 - $$0138 | 0; + HEAP32[$6 + 28 + ($94 << 2) >> 2] = HEAP32[$6 + 28 + ($$4 << 2) >> 2]; + HEAP32[$6 + 40028 + ($94 << 2) >> 2] = HEAP32[$6 + 40028 + ($$4 << 2) >> 2]; + $$4 = $$4 + 1 | 0; + $91 = HEAP32[$28 >> 2] | 0; + } + $$5 = 0; + while (1) { + if (($$5 | 0) >= ($$0138 | 0)) break; + $103 = $$5 - $$0138 | 0; + HEAP32[$6 + 28 + ((HEAP32[$28 >> 2] | 0) + $103 << 2) >> 2] = HEAP32[$7 + ($$5 << 2) >> 2]; + HEAP32[$6 + 40028 + ((HEAP32[$28 >> 2] | 0) + $103 << 2) >> 2] = HEAP32[$8 + ($$5 << 2) >> 2]; + $$5 = $$5 + 1 | 0; + } + HEAP32[$6 + 28 + (HEAP32[$28 >> 2] << 2) >> 2] = HEAP32[$29 >> 2]; + HEAP32[$6 + 40028 + (HEAP32[$28 >> 2] << 2) >> 2] = HEAP32[$30 >> 2]; + HEAP32[$28 >> 2] = (HEAP32[$28 >> 2] | 0) + 1; + $$0 = 0; + break; + } else if ((label | 0) == 21) { + _arLog(0, 3, 24231, $vararg_buffer3); + $$0 = -1; + break; + } + } else label = 7; while (0); + if ((label | 0) == 7) { + _arLog(0, 3, 24217, $vararg_buffer); + $$0 = -1; + } + STACKTOP = sp; + return $$0 | 0; +} + +function __ZN6vision21ComputePolarGradientsEPfPKfmm($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0, $$0184 = 0, $$0185 = 0, $$0186 = 0, $$0187 = 0, $$0192 = 0, $$0196 = 0, $$0196$pn = 0, $$1 = 0, $$1$pn = 0, $$1189 = 0, $$1189$pn = 0, $$1193 = 0, $$1197 = 0, $$1197$pn = 0, $$2 = 0, $$2190 = 0, $$2194 = 0, $$2198 = 0, $$3191 = 0, $$3195 = 0, $$3199 = 0, $$pn = 0, $$pn200 = 0, $$pn201 = 0, $101 = 0.0, $105 = 0.0, $11 = 0.0, $110 = 0.0, $115 = 0, $119 = 0.0, $122 = 0.0, $126 = 0.0, $131 = 0.0, $135 = 0.0, $138 = 0.0, $140 = 0.0, $144 = 0.0, $149 = 0.0, $15 = 0.0, $150 = 0, $154 = 0.0, $157 = 0.0, $161 = 0.0, $166 = 0.0, $20 = 0.0, $22 = 0, $23 = 0.0, $26 = 0.0, $28 = 0.0, $32 = 0.0, $37 = 0.0, $39 = 0, $4 = 0, $43 = 0.0, $46 = 0.0, $5 = 0, $50 = 0.0, $55 = 0.0, $59 = 0, $6 = 0, $61 = 0, $62 = 0, $64 = 0.0, $65 = 0.0, $67 = 0.0, $71 = 0.0, $76 = 0.0, $77 = 0, $8 = 0.0, $80 = 0.0, $83 = 0.0, $87 = 0.0, $9 = 0.0, $92 = 0.0, $98 = 0.0; + $4 = $2 + -1 | 0; + $5 = $1 + ($2 << 2) | 0; + $6 = $1 + 4 | 0; + $8 = +HEAPF32[$1 >> 2]; + $9 = +HEAPF32[$6 >> 2] - $8; + $11 = +HEAPF32[$5 >> 2] - $8; + $15 = +Math_atan2(+$11, +$9) + 3.141592653589793; + HEAPF32[$0 >> 2] = $15; + $20 = +Math_sqrt(+($9 * $9 + $11 * $11)); + HEAPF32[$0 + 4 >> 2] = $20; + $$0186 = 1; + $$0192 = $6; + $$pn = $5; + $$pn201 = $0; + while (1) { + $$0196 = $$pn201 + 8 | 0; + $$0187 = $$pn + 4 | 0; + if ($$0186 >>> 0 >= $4 >>> 0) break; + $39 = $$0192 + 4 | 0; + $43 = +HEAPF32[$39 >> 2] - +HEAPF32[$$0192 + -4 >> 2]; + $46 = +HEAPF32[$$0187 >> 2] - +HEAPF32[$$0192 >> 2]; + $50 = +Math_atan2(+$46, +$43) + 3.141592653589793; + HEAPF32[$$0196 >> 2] = $50; + $55 = +Math_sqrt(+($43 * $43 + $46 * $46)); + HEAPF32[$$pn201 + 12 >> 2] = $55; + $$0186 = $$0186 + 1 | 0; + $$0192 = $39; + $$pn = $$0187; + $$pn201 = $$0196; + } + $22 = $3 + -1 | 0; + $23 = +HEAPF32[$$0192 >> 2]; + $26 = $23 - +HEAPF32[$$0192 + -4 >> 2]; + $28 = +HEAPF32[$$0187 >> 2] - $23; + $32 = +Math_atan2(+$28, +$26) + 3.141592653589793; + HEAPF32[$$0196 >> 2] = $32; + $37 = +Math_sqrt(+($26 * $26 + $28 * $28)); + HEAPF32[$$pn201 + 12 >> 2] = $37; + $$0185 = 1; + $$0196$pn = $$0196; + $$1 = $5 + ($2 << 2) | 0; + $$1189 = $1; + $$1193 = $5; + while (1) { + $$1197 = $$0196$pn + 8 | 0; + if ($$0185 >>> 0 >= $22 >>> 0) break; + $77 = $$1193 + 4 | 0; + $80 = +HEAPF32[$77 >> 2] - +HEAPF32[$$1193 >> 2]; + $83 = +HEAPF32[$$1 >> 2] - +HEAPF32[$$1189 >> 2]; + $87 = +Math_atan2(+$83, +$80) + 3.141592653589793; + HEAPF32[$$1197 >> 2] = $87; + $92 = +Math_sqrt(+($80 * $80 + $83 * $83)); + HEAPF32[$$0196$pn + 12 >> 2] = $92; + $$0184 = 1; + $$1$pn = $$1; + $$1189$pn = $$1189; + $$2194 = $77; + $$2198 = $$0196$pn + 16 | 0; + while (1) { + $$2 = $$1$pn + 4 | 0; + $$2190 = $$1189$pn + 4 | 0; + if ($$0184 >>> 0 >= $4 >>> 0) break; + $115 = $$2194 + 4 | 0; + $119 = +HEAPF32[$115 >> 2] - +HEAPF32[$$2194 + -4 >> 2]; + $122 = +HEAPF32[$$2 >> 2] - +HEAPF32[$$2190 >> 2]; + $126 = +Math_atan2(+$122, +$119) + 3.141592653589793; + HEAPF32[$$2198 >> 2] = $126; + $131 = +Math_sqrt(+($119 * $119 + $122 * $122)); + HEAPF32[$$2198 + 4 >> 2] = $131; + $$0184 = $$0184 + 1 | 0; + $$1$pn = $$2; + $$1189$pn = $$2190; + $$2194 = $115; + $$2198 = $$2198 + 8 | 0; + } + $98 = +HEAPF32[$$2194 >> 2] - +HEAPF32[$$2194 + -4 >> 2]; + $101 = +HEAPF32[$$2 >> 2] - +HEAPF32[$$2190 >> 2]; + $105 = +Math_atan2(+$101, +$98) + 3.141592653589793; + HEAPF32[$$2198 >> 2] = $105; + $110 = +Math_sqrt(+($98 * $98 + $101 * $101)); + HEAPF32[$$2198 + 4 >> 2] = $110; + $$0185 = $$0185 + 1 | 0; + $$0196$pn = $$2198; + $$1 = $$1$pn + 8 | 0; + $$1189 = $$1189$pn + 8 | 0; + $$1193 = $$2194 + 4 | 0; + } + $59 = $1 + ((Math_imul($22, $2) | 0) << 2) | 0; + $61 = $59 + (0 - $2 << 2) | 0; + $62 = $59 + 4 | 0; + $64 = +HEAPF32[$59 >> 2]; + $65 = +HEAPF32[$62 >> 2] - $64; + $67 = $64 - +HEAPF32[$61 >> 2]; + $71 = +Math_atan2(+$67, +$65) + 3.141592653589793; + HEAPF32[$$1197 >> 2] = $71; + $76 = +Math_sqrt(+($65 * $65 + $67 * $67)); + HEAPF32[$$0196$pn + 12 >> 2] = $76; + $$0 = 1; + $$1197$pn = $$1197; + $$3195 = $62; + $$pn200 = $61; + while (1) { + $$3199 = $$1197$pn + 8 | 0; + $$3191 = $$pn200 + 4 | 0; + if ($$0 >>> 0 >= $4 >>> 0) break; + $150 = $$3195 + 4 | 0; + $154 = +HEAPF32[$150 >> 2] - +HEAPF32[$$3195 + -4 >> 2]; + $157 = +HEAPF32[$$3195 >> 2] - +HEAPF32[$$3191 >> 2]; + $161 = +Math_atan2(+$157, +$154) + 3.141592653589793; + HEAPF32[$$3199 >> 2] = $161; + $166 = +Math_sqrt(+($154 * $154 + $157 * $157)); + HEAPF32[$$1197$pn + 12 >> 2] = $166; + $$0 = $$0 + 1 | 0; + $$1197$pn = $$3199; + $$3195 = $150; + $$pn200 = $$3191; + } + $135 = +HEAPF32[$$3195 >> 2]; + $138 = $135 - +HEAPF32[$$3195 + -4 >> 2]; + $140 = $135 - +HEAPF32[$$3191 >> 2]; + $144 = +Math_atan2(+$140, +$138) + 3.141592653589793; + HEAPF32[$$3199 >> 2] = $144; + $149 = +Math_sqrt(+($138 * $138 + $140 * $140)); + HEAPF32[$$1197$pn + 12 >> 2] = $149; + return; +} +function _arPattLoadFromBuffer($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$0140 = 0, $$0141 = 0, $$0143 = 0, $$0146 = 0, $$0149 = 0, $$0150 = 0, $$0151 = 0, $$0152 = 0, $$1 = 0, $$1142 = 0, $$1144 = 0, $$1147 = 0, $$2 = 0, $$2145 = 0, $$2148 = 0, $$3 = 0, $14 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $24 = 0, $26 = 0, $27 = 0, $29 = 0, $31 = 0, $33 = 0, $34 = 0, $35 = 0, $4 = 0, $44 = 0, $47 = 0, $51 = 0, $57 = 0, $6 = 0, $64 = 0, $67 = 0, $69 = 0, $75 = 0, $77 = 0, $79 = 0, $82 = 0.0, $87 = 0, $92 = 0, $94 = 0, $96 = 0, $99 = 0.0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $vararg_buffer5 = sp + 24 | 0; + $vararg_buffer3 = sp + 16 | 0; + $vararg_buffer1 = sp + 8 | 0; + do if ($0) { + if (!$1) { + _arLog(0, 3, 24297, $vararg_buffer1); + $$0 = -1; + break; + } + $4 = $0 + 8 | 0; + $6 = HEAP32[$0 + 4 >> 2] | 0; + $$0146 = 0; + while (1) { + if (($$0146 | 0) >= ($6 | 0)) break; + if (!(HEAP32[(HEAP32[$4 >> 2] | 0) + ($$0146 << 2) >> 2] | 0)) break; + $$0146 = $$0146 + 1 | 0; + } + if (($$0146 | 0) != ($6 | 0)) { + $14 = ___strdup($1) | 0; + if (!$14) { + _arLog(0, 3, 24342, $vararg_buffer3); + $$0 = -1; + break; + } + $17 = $0 + 28 | 0; + $18 = $0 + 12 | 0; + $19 = $$0146 << 2; + $20 = $0 + 20 | 0; + $21 = $0 + 16 | 0; + $22 = $0 + 24 | 0; + $$0140 = _strtok($14, 24365) | 0; + $$0152 = 0; + L16 : while (1) { + if ($$0152 >>> 0 >= 4) { + label = 36; + break; + } + $24 = $$0152 + $19 | 0; + $$0143 = 0; + $$0149 = 0; + $$1 = $$0140; + while (1) { + if ($$0149 >>> 0 >= 3) break; + $26 = ($$0149 | 0) == 0; + $27 = ($$0149 | 0) == 2; + $$0150 = 0; + $$1144 = $$0143; + $$2 = $$1; + $29 = HEAP32[$17 >> 2] | 0; + while (1) { + if (($$0150 | 0) >= ($29 | 0)) break; + $$0151 = 0; + $$2145 = $$1144; + $$3 = $$2; + $31 = $29; + while (1) { + if (($$0151 | 0) >= ($31 | 0)) break; + if (!$$3) { + label = 21; + break L16; + } + $33 = _atoi($$3) | 0; + $34 = _strtok(0, 24365) | 0; + $35 = 255 - $33 | 0; + $44 = (HEAP32[(HEAP32[$18 >> 2] | 0) + ($24 << 2) >> 2] | 0) + ((((Math_imul(HEAP32[$17 >> 2] | 0, $$0150) | 0) + $$0151 | 0) * 3 | 0) + $$0149 << 2) | 0; + HEAP32[$44 >> 2] = $35; + $47 = HEAP32[(HEAP32[$20 >> 2] | 0) + ($24 << 2) >> 2] | 0; + $51 = $47 + ((Math_imul(HEAP32[$17 >> 2] | 0, $$0150) | 0) + $$0151 << 2) | 0; + if (!$26) { + HEAP32[$51 >> 2] = (HEAP32[$51 >> 2] | 0) + $35; + if ($27) { + $57 = $47 + ((Math_imul(HEAP32[$17 >> 2] | 0, $$0150) | 0) + $$0151 << 2) | 0; + HEAP32[$57 >> 2] = (HEAP32[$57 >> 2] | 0) / 3 | 0; + } + } else HEAP32[$51 >> 2] = $35; + $$0151 = $$0151 + 1 | 0; + $$2145 = $35 + $$2145 | 0; + $$3 = $34; + $31 = HEAP32[$17 >> 2] | 0; + } + $$0150 = $$0150 + 1 | 0; + $$1144 = $$2145; + $$2 = $$3; + $29 = $31; + } + $$0143 = $$1144; + $$0149 = $$0149 + 1 | 0; + $$1 = $$2; + } + $64 = HEAP32[$17 >> 2] | 0; + $67 = ($$0143 | 0) / (Math_imul($64 * 3 | 0, $64) | 0) | 0; + $$0141 = 0; + $$1147 = 0; + $69 = $64; + while (1) { + if ($$1147 >>> 0 >= (Math_imul($69 * 3 | 0, $69) | 0) >>> 0) break; + $75 = (HEAP32[(HEAP32[$18 >> 2] | 0) + ($24 << 2) >> 2] | 0) + ($$1147 << 2) | 0; + $77 = (HEAP32[$75 >> 2] | 0) - $67 | 0; + HEAP32[$75 >> 2] = $77; + $79 = (Math_imul($77, $77) | 0) + $$0141 | 0; + $$0141 = $79; + $$1147 = $$1147 + 1 | 0; + $69 = HEAP32[$17 >> 2] | 0; + } + $82 = +Math_sqrt(+(+($$0141 | 0))); + HEAPF64[(HEAP32[$21 >> 2] | 0) + ($24 << 3) >> 3] = $82 == 0.0 ? 1.0e-07 : $82; + $$1142 = 0; + $$2148 = 0; + $87 = $69; + while (1) { + if ($$2148 >>> 0 >= (Math_imul($87, $87) | 0) >>> 0) break; + $92 = (HEAP32[(HEAP32[$20 >> 2] | 0) + ($24 << 2) >> 2] | 0) + ($$2148 << 2) | 0; + $94 = (HEAP32[$92 >> 2] | 0) - $67 | 0; + HEAP32[$92 >> 2] = $94; + $96 = (Math_imul($94, $94) | 0) + $$1142 | 0; + $$1142 = $96; + $$2148 = $$2148 + 1 | 0; + $87 = HEAP32[$17 >> 2] | 0; + } + $99 = +Math_sqrt(+(+($$1142 | 0))); + HEAPF64[(HEAP32[$22 >> 2] | 0) + ($24 << 3) >> 3] = $99 == 0.0 ? 1.0e-07 : $99; + $$0140 = $$1; + $$0152 = $$0152 + 1 | 0; + } + if ((label | 0) == 21) { + _arLog(0, 3, 24370, $vararg_buffer5); + _free($14); + $$0 = -1; + break; + } else if ((label | 0) == 36) { + _free($14); + HEAP32[(HEAP32[$4 >> 2] | 0) + ($$0146 << 2) >> 2] = 1; + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $$0 = $$0146; + break; + } + } else $$0 = -1; + } else { + _arLog(0, 3, 24272, sp); + $$0 = -1; + } while (0); + STACKTOP = sp; + return $$0 | 0; +} + +function __ZNKSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_bRNS_8ios_baseEce($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = +$5; + var $$0 = 0, $$0$i$i = 0, $$0$i$i41 = 0, $$0$i$i44 = 0, $$037 = 0, $$038 = 0, $$byval_copy = 0, $$sink75 = 0, $$sink76 = 0, $$sink77 = 0, $$sroa$053$0 = 0, $$sroa$061$0 = 0, $$sroa$070$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, $23 = 0, $24 = 0, $25 = 0, $28 = 0, $31 = 0, $32 = 0, $47 = 0, $48 = 0, $53 = 0, $6 = 0, $60 = 0, $69 = 0, $7 = 0, $76 = 0, $8 = 0, $84 = 0, $86 = 0, $9 = 0, $95 = 0, $96 = 0, $97 = 0, $vararg_buffer1 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 416 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(416); + $$byval_copy = sp + 336 | 0; + $vararg_buffer1 = sp + 328 | 0; + $6 = sp + 224 | 0; + $7 = sp + 400 | 0; + $8 = sp + 112 | 0; + $9 = sp + 396 | 0; + $10 = sp + 408 | 0; + $11 = sp + 405 | 0; + $12 = sp + 404 | 0; + $13 = sp + 384 | 0; + $14 = sp + 372 | 0; + $15 = sp + 360 | 0; + $16 = sp + 356 | 0; + $17 = sp; + $18 = sp + 352 | 0; + $19 = sp + 344 | 0; + $20 = sp + 348 | 0; + HEAP32[$7 >> 2] = $6; + HEAPF64[$$byval_copy >> 3] = $5; + $21 = _snprintf($6, 100, 60455, $$byval_copy) | 0; + if ($21 >>> 0 > 99) { + $23 = __ZNSt3__26__clocEv() | 0; + HEAPF64[$vararg_buffer1 >> 3] = $5; + $24 = __ZNSt3__219__libcpp_asprintf_lEPPcP15__locale_structPKcz($7, $23, 60455, $vararg_buffer1) | 0; + $25 = HEAP32[$7 >> 2] | 0; + if (!$25) __ZSt17__throw_bad_allocv(); + $28 = _malloc($24) | 0; + if (!$28) __ZSt17__throw_bad_allocv(); else { + $$0 = $28; + $$038 = $24; + $$sroa$061$0 = $28; + $$sroa$070$0 = $25; + } + } else { + $$0 = $8; + $$038 = $21; + $$sroa$061$0 = 0; + $$sroa$070$0 = 0; + } + __ZNKSt3__28ios_base6getlocEv($9, $3); + $31 = __ZNKSt3__26locale9use_facetERNS0_2idE($9, 66512) | 0; + $32 = HEAP32[$7 >> 2] | 0; + FUNCTION_TABLE_iiiii[HEAP32[(HEAP32[$31 >> 2] | 0) + 32 >> 2] & 15]($31, $32, $32 + $$038 | 0, $$0) | 0; + if (!$$038) $47 = 0; else $47 = (HEAP8[HEAP32[$7 >> 2] >> 0] | 0) == 45; + HEAP32[$13 >> 2] = 0; + HEAP32[$13 + 4 >> 2] = 0; + HEAP32[$13 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$13 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + HEAP32[$14 >> 2] = 0; + HEAP32[$14 + 4 >> 2] = 0; + HEAP32[$14 + 8 >> 2] = 0; + $$0$i$i41 = 0; + while (1) { + if (($$0$i$i41 | 0) == 3) break; + HEAP32[$14 + ($$0$i$i41 << 2) >> 2] = 0; + $$0$i$i41 = $$0$i$i41 + 1 | 0; + } + HEAP32[$15 >> 2] = 0; + HEAP32[$15 + 4 >> 2] = 0; + HEAP32[$15 + 8 >> 2] = 0; + $$0$i$i44 = 0; + while (1) { + if (($$0$i$i44 | 0) == 3) break; + HEAP32[$15 + ($$0$i$i44 << 2) >> 2] = 0; + $$0$i$i44 = $$0$i$i44 + 1 | 0; + } + __ZNSt3__211__money_putIcE13__gather_infoEbbRKNS_6localeERNS_10money_base7patternERcS8_RNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEESF_SF_Ri($2, $47, $9, $10, $11, $12, $13, $14, $15, $16); + $48 = HEAP32[$16 >> 2] | 0; + if (($$038 | 0) > ($48 | 0)) { + $53 = HEAP8[$15 + 11 >> 0] | 0; + $60 = HEAP8[$14 + 11 >> 0] | 0; + $$sink75 = $60 << 24 >> 24 < 0 ? HEAP32[$14 + 4 >> 2] | 0 : $60 & 255; + $$sink76 = $48 + 1 + ($$038 - $48 << 1) | 0; + $$sink77 = $53 << 24 >> 24 < 0 ? HEAP32[$15 + 4 >> 2] | 0 : $53 & 255; + } else { + $69 = HEAP8[$15 + 11 >> 0] | 0; + $76 = HEAP8[$14 + 11 >> 0] | 0; + $$sink75 = $76 << 24 >> 24 < 0 ? HEAP32[$14 + 4 >> 2] | 0 : $76 & 255; + $$sink76 = $48 + 2 | 0; + $$sink77 = $69 << 24 >> 24 < 0 ? HEAP32[$15 + 4 >> 2] | 0 : $69 & 255; + } + $84 = $$sink76 + $$sink77 + $$sink75 | 0; + if ($84 >>> 0 > 100) { + $86 = _malloc($84) | 0; + if (!$86) __ZSt17__throw_bad_allocv(); else { + $$037 = $86; + $$sroa$053$0 = $86; + } + } else { + $$037 = $17; + $$sroa$053$0 = 0; + } + __ZNSt3__211__money_putIcE8__formatEPcRS2_S3_jPKcS5_RKNS_5ctypeIcEEbRKNS_10money_base7patternEccRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEESL_SL_i($$037, $18, $19, HEAP32[$3 + 4 >> 2] | 0, $$0, $$0 + $$038 | 0, $31, $47, $10, HEAP8[$11 >> 0] | 0, HEAP8[$12 >> 0] | 0, $13, $14, $15, $48); + HEAP32[$20 >> 2] = HEAP32[$1 >> 2]; + $95 = HEAP32[$18 >> 2] | 0; + $96 = HEAP32[$19 >> 2] | 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$20 >> 2]; + $97 = __ZNSt3__216__pad_and_outputIcNS_11char_traitsIcEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4_($$byval_copy, $$037, $95, $96, $3, $4) | 0; + if ($$sroa$053$0 | 0) _free($$sroa$053$0); + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($15); + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($14); + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($13); + __ZNSt3__26localeD2Ev($9); + if ($$sroa$061$0 | 0) _free($$sroa$061$0); + if ($$sroa$070$0 | 0) _free($$sroa$070$0); + STACKTOP = sp; + return $97 | 0; +} + +function __ZNSt3__213unordered_mapIi7ARParamNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_($this, $__k) { + $this = $this | 0; + $__k = $__k | 0; + var $$pn$i = 0, $0 = 0, $1 = 0, $11 = 0, $16 = 0, $17 = 0, $18 = 0, $23 = 0, $3 = 0, $4 = 0, $7 = 0.0, $9 = 0, $__bc$0$i = 0, $__chash$0$i = 0, $__chash$1$i = 0, $__h$i = 0, $__nd$0$i = 0, $__nd$1$i = 0, $__value_$i$i$i = 0, $__value_$i$i$i1$i$i = 0, $__value_$i$i$i38$pre$phi$iZZZZ2D = 0, $__value_$i$i$i81$i = 0, $add32$i = 0, $cmp$i = 0, $cond3$i$i = 0, $cond3$i60$i = 0, $cond3$i89$i = 0, $conv$i = 0.0, $conv39$i = 0, $ref$tmp2 = 0, $ref$tmp5 = 0, $sub$i$i = 0, $sub$i54$i = 0, $sub$i64$i = 0, $tobool$i56$i = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $__h$i = sp + 4 | 0; + $ref$tmp2 = sp; + $ref$tmp5 = sp + 16 | 0; + HEAP32[$ref$tmp2 >> 2] = $__k; + $0 = HEAP32[$__k >> 2] | 0; + $__value_$i$i$i1$i$i = $this + 4 | 0; + $1 = HEAP32[$__value_$i$i$i1$i$i >> 2] | 0; + $cmp$i = ($1 | 0) == 0; + L1 : do if (!$cmp$i) { + $sub$i54$i = $1 + -1 | 0; + $tobool$i56$i = ($sub$i54$i & $1 | 0) == 0; + if (!$tobool$i56$i) if ($0 >>> 0 < $1 >>> 0) $cond3$i60$i = $0; else $cond3$i60$i = ($0 >>> 0) % ($1 >>> 0) | 0; else $cond3$i60$i = $sub$i54$i & $0; + $3 = HEAP32[(HEAP32[$this >> 2] | 0) + ($cond3$i60$i << 2) >> 2] | 0; + if (!$3) { + $__chash$0$i = $cond3$i60$i; + label = 16; + } else { + $$pn$i = $3; + while (1) { + $__nd$0$i = HEAP32[$$pn$i >> 2] | 0; + if (!$__nd$0$i) { + $__chash$0$i = $cond3$i60$i; + label = 16; + break L1; + } + $4 = HEAP32[$__nd$0$i + 4 >> 2] | 0; + if (($4 | 0) != ($0 | 0)) { + if (!$tobool$i56$i) if ($4 >>> 0 < $1 >>> 0) $cond3$i89$i = $4; else $cond3$i89$i = ($4 >>> 0) % ($1 >>> 0) | 0; else $cond3$i89$i = $4 & $sub$i54$i; + if (($cond3$i89$i | 0) != ($cond3$i60$i | 0)) { + $__chash$0$i = $cond3$i60$i; + label = 16; + break L1; + } + } + if ((HEAP32[$__nd$0$i + 8 >> 2] | 0) == ($0 | 0)) { + $__nd$1$i = $__nd$0$i; + break; + } else $$pn$i = $__nd$0$i; + } + } + } else { + $__chash$0$i = 0; + label = 16; + } while (0); + if ((label | 0) == 16) { + __ZNSt3__212__hash_tableINS_17__hash_value_typeIi7ARParamEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE21__construct_node_hashIRKNS_21piecewise_construct_tEJNS_5tupleIJRKiEEENSJ_IJEEEEEENS_10unique_ptrINS_11__hash_nodeIS3_PvEENS_22__hash_node_destructorINSC_ISR_EEEEEEmOT_DpOT0_($__h$i, $this, $0, 67437, $ref$tmp2, $ref$tmp5); + $__value_$i$i$i81$i = $this + 12 | 0; + $conv$i = +(((HEAP32[$__value_$i$i$i81$i >> 2] | 0) + 1 | 0) >>> 0); + $7 = +HEAPF32[$this + 16 >> 2]; + do if ($cmp$i | $7 * +($1 >>> 0) < $conv$i) { + $add32$i = $1 << 1 | ($1 >>> 0 < 3 | ($1 + -1 & $1 | 0) != 0) & 1; + $conv39$i = ~~+Math_ceil(+($conv$i / $7)) >>> 0; + __ZNSt3__212__hash_tableINS_17__hash_value_typeIi7ARParamEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE6rehashEm($this, $add32$i >>> 0 < $conv39$i >>> 0 ? $conv39$i : $add32$i); + $9 = HEAP32[$__value_$i$i$i1$i$i >> 2] | 0; + $sub$i64$i = $9 + -1 | 0; + if (!($sub$i64$i & $9)) { + $__bc$0$i = $9; + $__chash$1$i = $sub$i64$i & $0; + break; + } + if ($0 >>> 0 < $9 >>> 0) { + $__bc$0$i = $9; + $__chash$1$i = $0; + } else { + $__bc$0$i = $9; + $__chash$1$i = ($0 >>> 0) % ($9 >>> 0) | 0; + } + } else { + $__bc$0$i = $1; + $__chash$1$i = $__chash$0$i; + } while (0); + $11 = HEAP32[(HEAP32[$this >> 2] | 0) + ($__chash$1$i << 2) >> 2] | 0; + if (!$11) { + $__value_$i$i$i = $this + 8 | 0; + HEAP32[HEAP32[$__h$i >> 2] >> 2] = HEAP32[$__value_$i$i$i >> 2]; + HEAP32[$__value_$i$i$i >> 2] = HEAP32[$__h$i >> 2]; + HEAP32[(HEAP32[$this >> 2] | 0) + ($__chash$1$i << 2) >> 2] = $__value_$i$i$i; + $16 = HEAP32[$__h$i >> 2] | 0; + $17 = HEAP32[$16 >> 2] | 0; + if (!$17) $__value_$i$i$i38$pre$phi$iZZZZ2D = $__h$i; else { + $18 = HEAP32[$17 + 4 >> 2] | 0; + $sub$i$i = $__bc$0$i + -1 | 0; + if ($sub$i$i & $__bc$0$i) if ($18 >>> 0 < $__bc$0$i >>> 0) $cond3$i$i = $18; else $cond3$i$i = ($18 >>> 0) % ($__bc$0$i >>> 0) | 0; else $cond3$i$i = $18 & $sub$i$i; + HEAP32[(HEAP32[$this >> 2] | 0) + ($cond3$i$i << 2) >> 2] = $16; + $__value_$i$i$i38$pre$phi$iZZZZ2D = $__h$i; + } + } else { + HEAP32[HEAP32[$__h$i >> 2] >> 2] = HEAP32[$11 >> 2]; + HEAP32[$11 >> 2] = HEAP32[$__h$i >> 2]; + $__value_$i$i$i38$pre$phi$iZZZZ2D = $__h$i; + } + $23 = HEAP32[$__value_$i$i$i38$pre$phi$iZZZZ2D >> 2] | 0; + HEAP32[$__value_$i$i$i81$i >> 2] = (HEAP32[$__value_$i$i$i81$i >> 2] | 0) + 1; + HEAP32[$__value_$i$i$i38$pre$phi$iZZZZ2D >> 2] = 0; + $__nd$1$i = $23; + } + STACKTOP = sp; + return $__nd$1$i + 16 | 0; +} + +function __ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_($this, $__k) { + $this = $this | 0; + $__k = $__k | 0; + var $$pn$i = 0, $0 = 0, $1 = 0, $11 = 0, $16 = 0, $17 = 0, $18 = 0, $23 = 0, $3 = 0, $4 = 0, $7 = 0.0, $9 = 0, $__bc$0$i = 0, $__chash$0$i = 0, $__chash$1$i = 0, $__h$i = 0, $__nd$0$i = 0, $__nd$1$i = 0, $__value_$i$i$i = 0, $__value_$i$i$i1$i$i = 0, $__value_$i$i$i38$pre$phi$iZZZZ2D = 0, $__value_$i$i$i93$i = 0, $add32$i = 0, $cmp$i = 0, $cond3$i$i = 0, $cond3$i48$i = 0, $cond3$i84$i = 0, $conv$i = 0.0, $conv39$i = 0, $ref$tmp2 = 0, $ref$tmp5 = 0, $sub$i$i = 0, $sub$i42$i = 0, $sub$i69$i = 0, $tobool$i$i = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $__h$i = sp + 4 | 0; + $ref$tmp2 = sp; + $ref$tmp5 = sp + 16 | 0; + HEAP32[$ref$tmp2 >> 2] = $__k; + $0 = HEAP32[$__k >> 2] | 0; + $__value_$i$i$i1$i$i = $this + 4 | 0; + $1 = HEAP32[$__value_$i$i$i1$i$i >> 2] | 0; + $cmp$i = ($1 | 0) == 0; + L1 : do if (!$cmp$i) { + $sub$i$i = $1 + -1 | 0; + $tobool$i$i = ($sub$i$i & $1 | 0) == 0; + if (!$tobool$i$i) if ($0 >>> 0 < $1 >>> 0) $cond3$i$i = $0; else $cond3$i$i = ($0 >>> 0) % ($1 >>> 0) | 0; else $cond3$i$i = $sub$i$i & $0; + $3 = HEAP32[(HEAP32[$this >> 2] | 0) + ($cond3$i$i << 2) >> 2] | 0; + if (!$3) { + $__chash$0$i = $cond3$i$i; + label = 16; + } else { + $$pn$i = $3; + while (1) { + $__nd$0$i = HEAP32[$$pn$i >> 2] | 0; + if (!$__nd$0$i) { + $__chash$0$i = $cond3$i$i; + label = 16; + break L1; + } + $4 = HEAP32[$__nd$0$i + 4 >> 2] | 0; + if (($4 | 0) != ($0 | 0)) { + if (!$tobool$i$i) if ($4 >>> 0 < $1 >>> 0) $cond3$i84$i = $4; else $cond3$i84$i = ($4 >>> 0) % ($1 >>> 0) | 0; else $cond3$i84$i = $4 & $sub$i$i; + if (($cond3$i84$i | 0) != ($cond3$i$i | 0)) { + $__chash$0$i = $cond3$i$i; + label = 16; + break L1; + } + } + if ((HEAP32[$__nd$0$i + 8 >> 2] | 0) == ($0 | 0)) { + $__nd$1$i = $__nd$0$i; + break; + } else $$pn$i = $__nd$0$i; + } + } + } else { + $__chash$0$i = 0; + label = 16; + } while (0); + if ((label | 0) == 16) { + __ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE21__construct_node_hashIRKNS_21piecewise_construct_tEJNS_5tupleIJRKiEEENSJ_IJEEEEEENS_10unique_ptrINS_11__hash_nodeIS3_PvEENS_22__hash_node_destructorINSC_ISR_EEEEEEmOT_DpOT0_($__h$i, $this, $0, 67437, $ref$tmp2, $ref$tmp5); + $__value_$i$i$i93$i = $this + 12 | 0; + $conv$i = +(((HEAP32[$__value_$i$i$i93$i >> 2] | 0) + 1 | 0) >>> 0); + $7 = +HEAPF32[$this + 16 >> 2]; + do if ($cmp$i | $7 * +($1 >>> 0) < $conv$i) { + $add32$i = $1 << 1 | ($1 >>> 0 < 3 | ($1 + -1 & $1 | 0) != 0) & 1; + $conv39$i = ~~+Math_ceil(+($conv$i / $7)) >>> 0; + __ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE6rehashEm($this, $add32$i >>> 0 < $conv39$i >>> 0 ? $conv39$i : $add32$i); + $9 = HEAP32[$__value_$i$i$i1$i$i >> 2] | 0; + $sub$i69$i = $9 + -1 | 0; + if (!($sub$i69$i & $9)) { + $__bc$0$i = $9; + $__chash$1$i = $sub$i69$i & $0; + break; + } + if ($0 >>> 0 < $9 >>> 0) { + $__bc$0$i = $9; + $__chash$1$i = $0; + } else { + $__bc$0$i = $9; + $__chash$1$i = ($0 >>> 0) % ($9 >>> 0) | 0; + } + } else { + $__bc$0$i = $1; + $__chash$1$i = $__chash$0$i; + } while (0); + $11 = HEAP32[(HEAP32[$this >> 2] | 0) + ($__chash$1$i << 2) >> 2] | 0; + if (!$11) { + $__value_$i$i$i = $this + 8 | 0; + HEAP32[HEAP32[$__h$i >> 2] >> 2] = HEAP32[$__value_$i$i$i >> 2]; + HEAP32[$__value_$i$i$i >> 2] = HEAP32[$__h$i >> 2]; + HEAP32[(HEAP32[$this >> 2] | 0) + ($__chash$1$i << 2) >> 2] = $__value_$i$i$i; + $16 = HEAP32[$__h$i >> 2] | 0; + $17 = HEAP32[$16 >> 2] | 0; + if (!$17) $__value_$i$i$i38$pre$phi$iZZZZ2D = $__h$i; else { + $18 = HEAP32[$17 + 4 >> 2] | 0; + $sub$i42$i = $__bc$0$i + -1 | 0; + if ($sub$i42$i & $__bc$0$i) if ($18 >>> 0 < $__bc$0$i >>> 0) $cond3$i48$i = $18; else $cond3$i48$i = ($18 >>> 0) % ($__bc$0$i >>> 0) | 0; else $cond3$i48$i = $18 & $sub$i42$i; + HEAP32[(HEAP32[$this >> 2] | 0) + ($cond3$i48$i << 2) >> 2] = $16; + $__value_$i$i$i38$pre$phi$iZZZZ2D = $__h$i; + } + } else { + HEAP32[HEAP32[$__h$i >> 2] >> 2] = HEAP32[$11 >> 2]; + HEAP32[$11 >> 2] = HEAP32[$__h$i >> 2]; + $__value_$i$i$i38$pre$phi$iZZZZ2D = $__h$i; + } + $23 = HEAP32[$__value_$i$i$i38$pre$phi$iZZZZ2D >> 2] | 0; + HEAP32[$__value_$i$i$i93$i >> 2] = (HEAP32[$__value_$i$i$i93$i >> 2] | 0) + 1; + HEAP32[$__value_$i$i$i38$pre$phi$iZZZZ2D >> 2] = 0; + $__nd$1$i = $23; + } + STACKTOP = sp; + return $__nd$1$i + 16 | 0; +} + +function __ZN6vision14ExtractFREAK84ERNS_18BinaryFeatureStoreEPKNS_25GaussianScaleSpacePyramidERKNSt3__26vectorINS_12FeaturePointENS5_9allocatorIS7_EEEEPKfSE_SE_SE_SE_SE_ffffffff($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + $9 = +$9; + $10 = +$10; + $11 = +$11; + $12 = +$12; + $13 = +$13; + $14 = +$14; + $15 = +$15; + $16 = +$16; + var $$0 = 0, $$036 = 0, $$1 = 0, $17 = 0, $24 = 0, $29 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $46 = 0, $51 = 0, $55 = 0, $57 = 0, $58 = 0, $59 = 0, $62 = 0, $67 = 0, $68 = 0, $76 = 0, $81 = 0, $85 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $17 = sp; + if (!$1) { + $24 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 37660) | 0, 37691) | 0, 39072) | 0, 537) | 0, 39079) | 0, 37760) | 0; + __ZNKSt3__28ios_base6getlocEv($17, $24 + (HEAP32[(HEAP32[$24 >> 2] | 0) + -12 >> 2] | 0) | 0); + $29 = __ZNKSt3__26locale9use_facetERNS0_2idE($17, 66512) | 0; + $33 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$29 >> 2] | 0) + 28 >> 2] & 127]($29, 10) | 0; + __ZNSt3__26localeD2Ev($17); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($24, $33) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($24) | 0; + _abort(); + } + $34 = __ZNK6vision18BinaryFeatureStore4sizeEv($0) | 0; + $35 = $2 + 4 | 0; + $36 = HEAP32[$35 >> 2] | 0; + $37 = HEAP32[$2 >> 2] | 0; + if (($34 | 0) != (($36 - $37 | 0) / 20 | 0 | 0)) { + $46 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 37776) | 0, 37691) | 0, 39072) | 0, 538) | 0, 39079) | 0, 37829) | 0; + __ZNKSt3__28ios_base6getlocEv($17, $46 + (HEAP32[(HEAP32[$46 >> 2] | 0) + -12 >> 2] | 0) | 0); + $51 = __ZNKSt3__26locale9use_facetERNS0_2idE($17, 66512) | 0; + $55 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$51 >> 2] | 0) + 28 >> 2] & 127]($51, 10) | 0; + __ZNSt3__26localeD2Ev($17); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($46, $55) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($46) | 0; + _abort(); + } + $$0 = 0; + $$036 = 0; + $57 = $37; + $58 = $36; + while (1) { + $59 = ($58 - $57 | 0) / 20 | 0; + if ($$0 >>> 0 >= $59 >>> 0) break; + $62 = __ZN6vision18BinaryFeatureStore7featureEm($0, $$036) | 0; + if (__ZN6vision14ExtractFREAK84EPhPKNS_25GaussianScaleSpacePyramidERKNS_12FeaturePointEPKfS8_S8_S8_S8_S8_ffffffff($62, $1, (HEAP32[$2 >> 2] | 0) + ($$0 * 20 | 0) | 0, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16) | 0) { + $67 = (HEAP32[$2 >> 2] | 0) + ($$0 * 20 | 0) | 0; + $68 = __ZN6vision18BinaryFeatureStore5pointEm($0, $$036) | 0; + HEAP32[$68 >> 2] = HEAP32[$67 >> 2]; + HEAP32[$68 + 4 >> 2] = HEAP32[$67 + 4 >> 2]; + HEAP32[$68 + 8 >> 2] = HEAP32[$67 + 8 >> 2]; + HEAP32[$68 + 12 >> 2] = HEAP32[$67 + 12 >> 2]; + HEAP8[$68 + 16 >> 0] = HEAP8[$67 + 16 >> 0] | 0; + $$1 = $$036 + 1 | 0; + } else $$1 = $$036; + $$0 = $$0 + 1 | 0; + $$036 = $$1; + $57 = HEAP32[$2 >> 2] | 0; + $58 = HEAP32[$35 >> 2] | 0; + } + if (($$036 | 0) == ($59 | 0)) { + __ZN6vision18BinaryFeatureStore6resizeEm($0, $$036); + STACKTOP = sp; + return; + } else { + $76 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 37866) | 0, 37691) | 0, 39072) | 0, 617) | 0, 39079) | 0, 37917) | 0; + __ZNKSt3__28ios_base6getlocEv($17, $76 + (HEAP32[(HEAP32[$76 >> 2] | 0) + -12 >> 2] | 0) | 0); + $81 = __ZNKSt3__26locale9use_facetERNS0_2idE($17, 66512) | 0; + $85 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$81 >> 2] | 0) + 28 >> 2] & 127]($81, 10) | 0; + __ZNSt3__26localeD2Ev($17); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($76, $85) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($76) | 0; + _abort(); + } +} + +function _decode_mcu_DC_first($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$035$i = 0, $$087$lcssa = 0, $$087101 = 0, $$09198 = 0, $$093104 = 0, $$099 = 0, $$1 = 0, $$192 = 0, $$sink = 0, $110 = 0, $113 = 0, $114 = 0, $117 = 0, $119 = 0, $125 = 0, $127 = 0, $130 = 0, $16 = 0, $19 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $27 = 0, $3 = 0, $4 = 0, $54 = 0, $56 = 0, $57 = 0, $60 = 0, $63 = 0, $65 = 0, $67 = 0, $7 = 0, $71 = 0, $72 = 0, $74 = 0, $76 = 0, $8 = 0, $80 = 0, $82 = 0, $83 = 0, $86 = 0, $89 = 0, $91 = 0, $95 = 0, $spec$select = 0, dest = 0, label = 0, stop = 0; + $3 = HEAP32[$0 + 468 >> 2] | 0; + $4 = $0 + 280 | 0; + if (HEAP32[$4 >> 2] | 0) { + $7 = $3 + 56 | 0; + $8 = HEAP32[$7 >> 2] | 0; + if (!$8) { + if (!(FUNCTION_TABLE_ii[HEAP32[(HEAP32[$0 + 464 >> 2] | 0) + 8 >> 2] & 127]($0) | 0)) { + $16 = HEAP32[$0 >> 2] | 0; + HEAP32[$16 + 20 >> 2] = 25; + FUNCTION_TABLE_vi[HEAP32[$16 >> 2] & 255]($0); + } + $19 = $0 + 340 | 0; + if ((HEAP32[$19 >> 2] | 0) > 0) { + $22 = $0 + 224 | 0; + $23 = $0 + 412 | 0; + $24 = $0 + 436 | 0; + $25 = $0 + 420 | 0; + $$035$i = 0; + do { + $27 = HEAP32[$0 + 344 + ($$035$i << 2) >> 2] | 0; + if (HEAP32[$22 >> 2] | 0) if (!(HEAP32[$23 >> 2] | 0)) { + if (!(HEAP32[$25 >> 2] | 0)) label = 10; + } else label = 13; else label = 10; + do if ((label | 0) == 10) { + label = 0; + dest = HEAP32[$3 + 60 + (HEAP32[$27 + 20 >> 2] << 2) >> 2] | 0; + stop = dest + 64 | 0; + do { + HEAP8[dest >> 0] = 0; + dest = dest + 1 | 0; + } while ((dest | 0) < (stop | 0)); + HEAP32[$3 + 24 + ($$035$i << 2) >> 2] = 0; + HEAP32[$3 + 40 + ($$035$i << 2) >> 2] = 0; + if (!(HEAP32[$22 >> 2] | 0)) if (!(HEAP32[$24 >> 2] | 0)) break; else { + label = 13; + break; + } else if (!(HEAP32[$23 >> 2] | 0)) break; else { + label = 13; + break; + } + } while (0); + if ((label | 0) == 13) { + label = 0; + _memset(HEAP32[$3 + 124 + (HEAP32[$27 + 24 >> 2] << 2) >> 2] | 0, 0, 256) | 0; + } + $$035$i = $$035$i + 1 | 0; + } while (($$035$i | 0) < (HEAP32[$19 >> 2] | 0)); + } + HEAP32[$3 + 12 >> 2] = 0; + HEAP32[$3 + 16 >> 2] = 0; + HEAP32[$3 + 20 >> 2] = -16; + $54 = HEAP32[$4 >> 2] | 0; + HEAP32[$7 >> 2] = $54; + $56 = $54; + } else $56 = $8; + HEAP32[$7 >> 2] = $56 + -1; + } + $57 = $3 + 20 | 0; + if ((HEAP32[$57 >> 2] | 0) == -1) return 1; + $60 = $0 + 368 | 0; + if ((HEAP32[$60 >> 2] | 0) <= 0) return 1; + $63 = $0 + 424 | 0; + $$093104 = 0; + L32 : while (1) { + $65 = HEAP32[$1 + ($$093104 << 2) >> 2] | 0; + $67 = HEAP32[$0 + 372 + ($$093104 << 2) >> 2] | 0; + $71 = HEAP32[(HEAP32[$0 + 344 + ($67 << 2) >> 2] | 0) + 20 >> 2] | 0; + $72 = $3 + 60 + ($71 << 2) | 0; + $74 = $3 + 40 + ($67 << 2) | 0; + $76 = (HEAP32[$72 >> 2] | 0) + (HEAP32[$74 >> 2] | 0) | 0; + if (!(_arith_decode($0, $76) | 0)) { + HEAP32[$74 >> 2] = 0; + $130 = HEAP32[$3 + 24 + ($67 << 2) >> 2] | 0; + } else { + $80 = _arith_decode($0, $76 + 1 | 0) | 0; + $82 = $76 + 2 + $80 | 0; + $83 = _arith_decode($0, $82) | 0; + if ($83) { + $86 = (HEAP32[$72 >> 2] | 0) + 20 | 0; + if (!(_arith_decode($0, $86) | 0)) { + $$1 = $83; + $$192 = $86; + } else { + $$09198 = $86; + $$099 = $83; + while (1) { + $89 = $$099 << 1; + if (($89 | 0) == 32768) break L32; + $95 = $$09198 + 1 | 0; + if (!(_arith_decode($0, $95) | 0)) { + $$1 = $89; + $$192 = $95; + break; + } else { + $$09198 = $95; + $$099 = $89; + } + } + } + } else { + $$1 = 0; + $$192 = $82; + } + do if (($$1 | 0) >= (1 << (HEAPU8[$0 + 232 + $71 >> 0] | 0) >> 1 | 0)) { + $110 = $80 << 2; + if (($$1 | 0) > (1 << (HEAPU8[$0 + 248 + $71 >> 0] | 0) >> 1 | 0)) { + $$sink = $110 + 12 | 0; + break; + } else { + $$sink = $110 + 4 | 0; + break; + } + } else $$sink = 0; while (0); + HEAP32[$74 >> 2] = $$sink; + $113 = $$192 + 14 | 0; + $114 = $$1 >> 1; + if (!$114) $$087$lcssa = $$1; else { + $$087101 = $$1; + $119 = $114; + while (1) { + $117 = (_arith_decode($0, $113) | 0) == 0; + $spec$select = ($117 ? 0 : $119) | $$087101; + $119 = $119 >> 1; + if (!$119) { + $$087$lcssa = $spec$select; + break; + } else $$087101 = $spec$select; + } + } + $125 = $3 + 24 + ($67 << 2) | 0; + $127 = (HEAP32[$125 >> 2] | 0) + (($80 | 0) == 0 ? $$087$lcssa + 1 | 0 : ~$$087$lcssa) | 0; + HEAP32[$125 >> 2] = $127; + $130 = $127; + } + HEAP16[$65 >> 1] = $130 << HEAP32[$63 >> 2]; + $$093104 = $$093104 + 1 | 0; + if (($$093104 | 0) >= (HEAP32[$60 >> 2] | 0)) { + label = 37; + break; + } + } + if ((label | 0) == 37) return 1; + $91 = HEAP32[$0 >> 2] | 0; + HEAP32[$91 + 20 >> 2] = 117; + FUNCTION_TABLE_vii[HEAP32[$91 + 4 >> 2] & 255]($0, -1); + HEAP32[$57 >> 2] = -1; + return 1; +} + +function _decode_mcu_AC_refine($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$035$i = 0, $$069$lcssa = 0, $$06980 = 0, $$070 = 0, $$071 = 0, $$172 = 0, $$lcssa = 0, $$lcssa75 = 0, $102 = 0, $103 = 0, $114 = 0, $117 = 0, $118 = 0, $122 = 0, $123 = 0, $126 = 0, $131 = 0, $16 = 0, $19 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $27 = 0, $3 = 0, $4 = 0, $54 = 0, $56 = 0, $57 = 0, $61 = 0, $62 = 0, $66 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $8 = 0, $83 = 0, $84 = 0, $85 = 0, $86 = 0, $89 = 0, $93 = 0, $96 = 0, dest = 0, label = 0, stop = 0; + $3 = HEAP32[$0 + 468 >> 2] | 0; + $4 = $0 + 280 | 0; + if (HEAP32[$4 >> 2] | 0) { + $7 = $3 + 56 | 0; + $8 = HEAP32[$7 >> 2] | 0; + if (!$8) { + if (!(FUNCTION_TABLE_ii[HEAP32[(HEAP32[$0 + 464 >> 2] | 0) + 8 >> 2] & 127]($0) | 0)) { + $16 = HEAP32[$0 >> 2] | 0; + HEAP32[$16 + 20 >> 2] = 25; + FUNCTION_TABLE_vi[HEAP32[$16 >> 2] & 255]($0); + } + $19 = $0 + 340 | 0; + if ((HEAP32[$19 >> 2] | 0) > 0) { + $22 = $0 + 224 | 0; + $23 = $0 + 412 | 0; + $24 = $0 + 436 | 0; + $25 = $0 + 420 | 0; + $$035$i = 0; + do { + $27 = HEAP32[$0 + 344 + ($$035$i << 2) >> 2] | 0; + if (HEAP32[$22 >> 2] | 0) if (!(HEAP32[$23 >> 2] | 0)) { + if (!(HEAP32[$25 >> 2] | 0)) label = 10; + } else label = 13; else label = 10; + do if ((label | 0) == 10) { + label = 0; + dest = HEAP32[$3 + 60 + (HEAP32[$27 + 20 >> 2] << 2) >> 2] | 0; + stop = dest + 64 | 0; + do { + HEAP8[dest >> 0] = 0; + dest = dest + 1 | 0; + } while ((dest | 0) < (stop | 0)); + HEAP32[$3 + 24 + ($$035$i << 2) >> 2] = 0; + HEAP32[$3 + 40 + ($$035$i << 2) >> 2] = 0; + if (!(HEAP32[$22 >> 2] | 0)) if (!(HEAP32[$24 >> 2] | 0)) break; else { + label = 13; + break; + } else if (!(HEAP32[$23 >> 2] | 0)) break; else { + label = 13; + break; + } + } while (0); + if ((label | 0) == 13) { + label = 0; + _memset(HEAP32[$3 + 124 + (HEAP32[$27 + 24 >> 2] << 2) >> 2] | 0, 0, 256) | 0; + } + $$035$i = $$035$i + 1 | 0; + } while (($$035$i | 0) < (HEAP32[$19 >> 2] | 0)); + } + HEAP32[$3 + 12 >> 2] = 0; + HEAP32[$3 + 16 >> 2] = 0; + HEAP32[$3 + 20 >> 2] = -16; + $54 = HEAP32[$4 >> 2] | 0; + HEAP32[$7 >> 2] = $54; + $56 = $54; + } else $56 = $8; + HEAP32[$7 >> 2] = $56 + -1; + } + $57 = $3 + 20 | 0; + if ((HEAP32[$57 >> 2] | 0) == -1) return 1; + $61 = HEAP32[$0 + 432 >> 2] | 0; + $62 = HEAP32[$1 >> 2] | 0; + $66 = HEAP32[(HEAP32[$0 + 344 >> 2] | 0) + 24 >> 2] | 0; + $68 = HEAP32[$0 + 424 >> 2] | 0; + $69 = 1 << $68; + $70 = -1 << $68; + $71 = $0 + 416 | 0; + $$071 = HEAP32[$71 >> 2] | 0; + while (1) { + if (HEAP16[$62 + (HEAP32[$61 + ($$071 << 2) >> 2] << 1) >> 1] | 0) { + $$172 = $$071; + break; + } + $$071 = $$071 + -1 | 0; + if (!$$071) { + $$172 = 0; + break; + } + } + $83 = $3 + 124 + ($66 << 2) | 0; + $84 = $3 + 188 | 0; + $85 = $69 & 65535; + $86 = $70 & 65535; + $$070 = (HEAP32[$0 + 412 >> 2] | 0) + -1 | 0; + L33 : while (1) { + $89 = (HEAP32[$83 >> 2] | 0) + ($$070 * 3 | 0) | 0; + if (($$070 | 0) >= ($$172 | 0) ? _arith_decode($0, $89) | 0 : 0) { + label = 38; + break; + } + $93 = $$070 + 1 | 0; + $96 = $62 + (HEAP32[$61 + ($93 << 2) >> 2] << 1) | 0; + L38 : do if (!(HEAP16[$96 >> 1] | 0)) { + $$06980 = $89; + $114 = $96; + $117 = $93; + while (1) { + if (_arith_decode($0, $$06980 + 1 | 0) | 0) break; + if (($117 | 0) >= (HEAP32[$71 >> 2] | 0)) { + label = 35; + break L33; + } + $122 = $$06980 + 3 | 0; + $123 = $117 + 1 | 0; + $126 = $62 + (HEAP32[$61 + ($123 << 2) >> 2] << 1) | 0; + if (!(HEAP16[$126 >> 1] | 0)) { + $$06980 = $122; + $114 = $126; + $117 = $123; + } else { + $$069$lcssa = $122; + $$lcssa = $126; + $$lcssa75 = $123; + label = 26; + break L38; + } + } + if (!(_arith_decode($0, $84) | 0)) { + HEAP16[$114 >> 1] = $85; + $131 = $117; + break; + } else { + HEAP16[$114 >> 1] = $86; + $131 = $117; + break; + } + } else { + $$069$lcssa = $89; + $$lcssa = $96; + $$lcssa75 = $93; + label = 26; + } while (0); + do if ((label | 0) == 26) { + label = 0; + if (_arith_decode($0, $$069$lcssa + 2 | 0) | 0) { + $102 = HEAP16[$$lcssa >> 1] | 0; + $103 = $102 << 16 >> 16; + if ($102 << 16 >> 16 < 0) { + HEAP16[$$lcssa >> 1] = $70 + $103; + $131 = $$lcssa75; + break; + } else { + HEAP16[$$lcssa >> 1] = $69 + $103; + $131 = $$lcssa75; + break; + } + } else $131 = $$lcssa75; + } while (0); + if (($131 | 0) < (HEAP32[$71 >> 2] | 0)) $$070 = $131; else { + label = 38; + break; + } + } + if ((label | 0) == 35) { + $118 = HEAP32[$0 >> 2] | 0; + HEAP32[$118 + 20 >> 2] = 117; + FUNCTION_TABLE_vii[HEAP32[$118 + 4 >> 2] & 255]($0, -1); + HEAP32[$57 >> 2] = -1; + return 1; + } else if ((label | 0) == 38) return 1; + return 0; +} + +function _extractVisibleFeaturesHomography_172($xsize, $ysize, $trans1, $surfaceSet, $candidate, $candidate2) { + $xsize = $xsize | 0; + $ysize = $ysize | 0; + $trans1 = $trans1 | 0; + $surfaceSet = $surfaceSet | 0; + $candidate = $candidate | 0; + $candidate2 = $candidate2 | 0; + var $10 = 0.0, $11 = 0.0, $15 = 0, $18 = 0.0, $2 = 0, $21 = 0, $22 = 0.0, $4 = 0, $5 = 0, $7 = 0, $arrayidx56 = 0, $arrayidx61 = 0, $cmp30 = 0, $conv = 0.0, $conv36 = 0.0, $flag112 = 0, $flag132$sink = 0, $i$0 = 0, $j$0 = 0, $j$1 = 0, $k$0 = 0, $k$1 = 0, $l$0 = 0, $l$1 = 0, $l$2 = 0, $l$3 = 0, $l2$0 = 0, $l2$1 = 0, $l2$2 = 0, $l2$3 = 0, $num = 0, $sx = 0, $sy = 0, $trans2 = 0, $vararg_buffer = 0, $w = 0, $wpos = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(80); + $vararg_buffer = sp + 48 | 0; + $trans2 = sp; + $sx = sp + 76 | 0; + $sy = sp + 72 | 0; + $wpos = sp + 64 | 0; + $w = sp + 56 | 0; + $num = $surfaceSet + 4 | 0; + $conv = +($xsize | 0); + $conv36 = +($ysize | 0); + $arrayidx56 = $wpos + 4 | 0; + $arrayidx61 = $w + 4 | 0; + $flag112 = $candidate2 + 4812 | 0; + $i$0 = 0; + $l$0 = 0; + $l2$0 = 0; + L1 : while (1) { + if (($i$0 | 0) >= (HEAP32[$num >> 2] | 0)) { + label = 28; + break; + } + $j$0 = 0; + while (1) { + if (($j$0 | 0) == 3) break; + $k$0 = 0; + while (1) { + if (($k$0 | 0) == 4) break; + HEAP32[$trans2 + ($j$0 << 4) + ($k$0 << 2) >> 2] = HEAP32[$trans1 + ($i$0 * 48 | 0) + ($j$0 << 4) + ($k$0 << 2) >> 2]; + $k$0 = $k$0 + 1 | 0; + } + $j$0 = $j$0 + 1 | 0; + } + $2 = HEAP32[(HEAP32[$surfaceSet >> 2] | 0) + ($i$0 * 112 | 0) + 4 >> 2] | 0; + $j$1 = 0; + $l$1 = $l$0; + $l2$1 = $l2$0; + while (1) { + if (($j$1 | 0) >= (HEAP32[$2 + 4 >> 2] | 0)) break; + $5 = $2; + $k$1 = 0; + $l$2 = $l$1; + $l2$2 = $l2$1; + while (1) { + $4 = HEAP32[$5 >> 2] | 0; + if (($k$1 | 0) >= (HEAP32[$4 + ($j$1 * 20 | 0) + 4 >> 2] | 0)) break; + $7 = HEAP32[$4 + ($j$1 * 20 | 0) >> 2] | 0; + $cmp30 = (_ar2MarkerCoord2ScreenCoord2(0, $trans2, +HEAPF32[$7 + ($k$1 * 20 | 0) + 8 >> 2], +HEAPF32[$7 + ($k$1 * 20 | 0) + 12 >> 2], $sx, $sy) | 0) < 0; + $10 = +HEAPF32[$sx >> 2]; + do if (!($cmp30 | $10 < 0.0) ? ($11 = +HEAPF32[$sy >> 2], !($11 >= $conv36) & (!($10 >= $conv) & !($11 < 0.0))) : 0) { + $15 = HEAP32[(HEAP32[HEAP32[(HEAP32[$surfaceSet >> 2] | 0) + ($i$0 * 112 | 0) + 4 >> 2] >> 2] | 0) + ($j$1 * 20 | 0) >> 2] | 0; + HEAP32[$wpos >> 2] = HEAP32[$15 + ($k$1 * 20 | 0) + 8 >> 2]; + HEAP32[$arrayidx56 >> 2] = HEAP32[$15 + ($k$1 * 20 | 0) + 12 >> 2]; + _ar2GetResolution(0, $trans2, $wpos, $w) | 0; + $18 = +HEAPF32[$arrayidx61 >> 2]; + $21 = HEAP32[HEAP32[(HEAP32[$surfaceSet >> 2] | 0) + ($i$0 * 112 | 0) + 4 >> 2] >> 2] | 0; + $22 = +HEAPF32[$21 + ($j$1 * 20 | 0) + 12 >> 2]; + if ($18 <= $22 ? $18 >= +HEAPF32[$21 + ($j$1 * 20 | 0) + 16 >> 2] : 0) { + if (($l$2 | 0) == 200) { + label = 18; + break L1; + } + HEAP32[$candidate + ($l$2 * 24 | 0) >> 2] = $i$0; + HEAP32[$candidate + ($l$2 * 24 | 0) + 4 >> 2] = $j$1; + HEAP32[$candidate + ($l$2 * 24 | 0) + 8 >> 2] = $k$1; + HEAP32[$candidate + ($l$2 * 24 | 0) + 16 >> 2] = HEAP32[$sx >> 2]; + HEAP32[$candidate + ($l$2 * 24 | 0) + 20 >> 2] = HEAP32[$sy >> 2]; + HEAP32[$candidate + ($l$2 * 24 | 0) + 12 >> 2] = 0; + $l$3 = $l$2 + 1 | 0; + $l2$3 = $l2$2; + break; + } + if ($18 <= $22 * 2.0 ? $18 >= +HEAPF32[$21 + ($j$1 * 20 | 0) + 16 >> 2] * .5 : 0) if (($l2$2 | 0) == 200) { + HEAP32[$flag112 >> 2] = -1; + $l$3 = $l$2; + $l2$3 = 200; + break; + } else { + HEAP32[$candidate2 + ($l2$2 * 24 | 0) >> 2] = $i$0; + HEAP32[$candidate2 + ($l2$2 * 24 | 0) + 4 >> 2] = $j$1; + HEAP32[$candidate2 + ($l2$2 * 24 | 0) + 8 >> 2] = $k$1; + HEAP32[$candidate2 + ($l2$2 * 24 | 0) + 16 >> 2] = HEAP32[$sx >> 2]; + HEAP32[$candidate2 + ($l2$2 * 24 | 0) + 20 >> 2] = HEAP32[$sy >> 2]; + HEAP32[$candidate2 + ($l2$2 * 24 | 0) + 12 >> 2] = 0; + $l$3 = $l$2; + $l2$3 = $l2$2 + 1 | 0; + break; + } else { + $l$3 = $l$2; + $l2$3 = $l2$2; + } + } else { + $l$3 = $l$2; + $l2$3 = $l2$2; + } while (0); + $5 = HEAP32[(HEAP32[$surfaceSet >> 2] | 0) + ($i$0 * 112 | 0) + 4 >> 2] | 0; + $k$1 = $k$1 + 1 | 0; + $l$2 = $l$3; + $l2$2 = $l2$3; + } + $2 = $5; + $j$1 = $j$1 + 1 | 0; + $l$1 = $l$2; + $l2$1 = $l2$2; + } + $i$0 = $i$0 + 1 | 0; + $l$0 = $l$1; + $l2$0 = $l2$1; + } + if ((label | 0) == 18) { + _arLog(0, 3, 45962, $vararg_buffer); + $flag132$sink = $candidate + 4812 | 0; + } else if ((label | 0) == 28) { + HEAP32[$candidate + ($l$0 * 24 | 0) + 12 >> 2] = -1; + $flag132$sink = $candidate2 + ($l2$0 * 24 | 0) + 12 | 0; + } + HEAP32[$flag132$sink >> 2] = -1; + STACKTOP = sp; + return; +} + +function _jpeg_idct_12x6($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0229240 = 0, $$0231239 = 0, $$0232238 = 0, $$0241 = 0, $$1230236 = 0, $$1237 = 0, $101 = 0, $102 = 0, $103 = 0, $104 = 0, $105 = 0, $106 = 0, $107 = 0, $109 = 0, $110 = 0, $111 = 0, $113 = 0, $115 = 0, $117 = 0, $119 = 0, $120 = 0, $121 = 0, $122 = 0, $124 = 0, $126 = 0, $129 = 0, $131 = 0, $135 = 0, $139 = 0, $144 = 0, $145 = 0, $146 = 0, $148 = 0, $15 = 0, $150 = 0, $152 = 0, $22 = 0, $23 = 0, $25 = 0, $32 = 0, $33 = 0, $34 = 0, $40 = 0, $46 = 0, $5 = 0, $52 = 0, $54 = 0, $57 = 0, $60 = 0, $63 = 0, $7 = 0, $83 = 0, $86 = 0, $89 = 0, $92 = 0, $93 = 0, $94 = 0, $96 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 192 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(192); + $5 = sp; + $7 = HEAP32[$0 + 336 >> 2] | 0; + $$0229240 = $5; + $$0231239 = HEAP32[$1 + 84 >> 2] | 0; + $$0232238 = $2; + $$0241 = 0; + while (1) { + $15 = Math_imul(HEAP16[$$0232238 >> 1] << 13, HEAP32[$$0231239 >> 2] | 0) | 0 | 1024; + $22 = Math_imul((HEAP16[$$0232238 + 64 >> 1] | 0) * 5793 | 0, HEAP32[$$0231239 + 128 >> 2] | 0) | 0; + $23 = $22 + $15 | 0; + $25 = (Math_imul($22, -2) | 0) + $15 >> 11; + $32 = Math_imul((HEAP16[$$0232238 + 32 >> 1] | 0) * 10033 | 0, HEAP32[$$0231239 + 64 >> 2] | 0) | 0; + $33 = $32 + $23 | 0; + $34 = $23 - $32 | 0; + $40 = Math_imul(HEAP32[$$0231239 + 32 >> 2] | 0, HEAP16[$$0232238 + 16 >> 1] | 0) | 0; + $46 = Math_imul(HEAP32[$$0231239 + 96 >> 2] | 0, HEAP16[$$0232238 + 48 >> 1] | 0) | 0; + $52 = Math_imul(HEAP32[$$0231239 + 160 >> 2] | 0, HEAP16[$$0232238 + 80 >> 1] | 0) | 0; + $54 = ($52 + $40 | 0) * 2998 | 0; + $57 = $54 + ($46 + $40 << 13) | 0; + $60 = $54 + ($52 - $46 << 13) | 0; + $63 = $40 - $46 - $52 << 2; + HEAP32[$$0229240 >> 2] = $57 + $33 >> 11; + HEAP32[$$0229240 + 160 >> 2] = $33 - $57 >> 11; + HEAP32[$$0229240 + 32 >> 2] = $63 + $25; + HEAP32[$$0229240 + 128 >> 2] = $25 - $63; + HEAP32[$$0229240 + 64 >> 2] = $60 + $34 >> 11; + HEAP32[$$0229240 + 96 >> 2] = $34 - $60 >> 11; + $$0241 = $$0241 + 1 | 0; + if (($$0241 | 0) == 8) break; else { + $$0229240 = $$0229240 + 4 | 0; + $$0231239 = $$0231239 + 4 | 0; + $$0232238 = $$0232238 + 2 | 0; + } + } + $83 = $7 + -384 | 0; + $$1230236 = $5; + $$1237 = 0; + while (1) { + $86 = (HEAP32[$3 + ($$1237 << 2) >> 2] | 0) + $4 | 0; + $89 = (HEAP32[$$1230236 >> 2] << 13) + 134348800 | 0; + $92 = (HEAP32[$$1230236 + 16 >> 2] | 0) * 10033 | 0; + $93 = $89 + $92 | 0; + $94 = $89 - $92 | 0; + $96 = HEAP32[$$1230236 + 8 >> 2] | 0; + $101 = HEAP32[$$1230236 + 24 >> 2] << 13; + $102 = ($96 << 13) - $101 | 0; + $103 = $102 + $89 | 0; + $104 = $89 - $102 | 0; + $105 = $101 + ($96 * 11190 | 0) | 0; + $106 = $105 + $93 | 0; + $107 = $93 - $105 | 0; + $109 = ($96 * 2998 | 0) - $101 | 0; + $110 = $109 + $94 | 0; + $111 = $94 - $109 | 0; + $113 = HEAP32[$$1230236 + 4 >> 2] | 0; + $115 = HEAP32[$$1230236 + 12 >> 2] | 0; + $117 = HEAP32[$$1230236 + 20 >> 2] | 0; + $119 = HEAP32[$$1230236 + 28 >> 2] | 0; + $120 = $115 * 10703 | 0; + $121 = Math_imul($115, -4433) | 0; + $122 = $117 + $113 | 0; + $124 = ($122 + $119 | 0) * 7053 | 0; + $126 = $124 + ($122 * 2139 | 0) | 0; + $129 = $120 + ($113 * 2295 | 0) + $126 | 0; + $131 = Math_imul($119 + $117 | 0, -8565) | 0; + $135 = (Math_imul($117, -12112) | 0) + $121 + $131 + $126 | 0; + $139 = ($119 * 12998 | 0) - $120 + $124 + $131 | 0; + $144 = $121 + (Math_imul($113, -5540) | 0) + (Math_imul($119, -16244) | 0) + $124 | 0; + $145 = $113 - $119 | 0; + $146 = $115 - $117 | 0; + $148 = ($145 + $146 | 0) * 4433 | 0; + $150 = $148 + ($145 * 6270 | 0) | 0; + $152 = $148 + (Math_imul($146, -15137) | 0) | 0; + HEAP8[$86 >> 0] = HEAP8[$83 + (($129 + $106 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$86 + 11 >> 0] = HEAP8[$83 + (($106 - $129 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$86 + 1 >> 0] = HEAP8[$83 + (($150 + $103 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$86 + 10 >> 0] = HEAP8[$83 + (($103 - $150 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$86 + 2 >> 0] = HEAP8[$83 + (($135 + $110 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$86 + 9 >> 0] = HEAP8[$83 + (($110 - $135 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$86 + 3 >> 0] = HEAP8[$83 + (($139 + $111 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$86 + 8 >> 0] = HEAP8[$83 + (($111 - $139 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$86 + 4 >> 0] = HEAP8[$83 + (($152 + $104 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$86 + 7 >> 0] = HEAP8[$83 + (($104 - $152 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$86 + 5 >> 0] = HEAP8[$83 + (($144 + $107 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$86 + 6 >> 0] = HEAP8[$83 + (($107 - $144 | 0) >>> 18 & 1023) >> 0] | 0; + $$1237 = $$1237 + 1 | 0; + if (($$1237 | 0) == 6) break; else $$1230236 = $$1230236 + 32 | 0; + } + STACKTOP = sp; + return; +} + +function _jpeg_idct_6x12($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0225236 = 0, $$0227235 = 0, $$0228234 = 0, $$0237 = 0, $$1226232 = 0, $$1233 = 0, $100 = 0, $102 = 0, $104 = 0, $106 = 0, $146 = 0, $149 = 0, $15 = 0, $152 = 0, $155 = 0, $156 = 0, $158 = 0, $161 = 0, $162 = 0, $163 = 0, $165 = 0, $167 = 0, $169 = 0, $171 = 0, $174 = 0, $177 = 0, $180 = 0, $22 = 0, $23 = 0, $24 = 0, $30 = 0, $39 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $55 = 0, $61 = 0, $67 = 0, $7 = 0, $73 = 0, $74 = 0, $75 = 0, $76 = 0, $78 = 0, $80 = 0, $83 = 0, $85 = 0, $89 = 0, $93 = 0, $98 = 0, $99 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 288 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(288); + $5 = sp; + $7 = HEAP32[$0 + 336 >> 2] | 0; + $$0225236 = $5; + $$0227235 = HEAP32[$1 + 84 >> 2] | 0; + $$0228234 = $2; + $$0237 = 0; + while (1) { + $15 = Math_imul(HEAP16[$$0228234 >> 1] << 13, HEAP32[$$0227235 >> 2] | 0) | 0 | 1024; + $22 = Math_imul((HEAP16[$$0228234 + 64 >> 1] | 0) * 10033 | 0, HEAP32[$$0227235 + 128 >> 2] | 0) | 0; + $23 = $22 + $15 | 0; + $24 = $15 - $22 | 0; + $30 = Math_imul(HEAP32[$$0227235 + 64 >> 2] | 0, HEAP16[$$0228234 + 32 >> 1] | 0) | 0; + $39 = Math_imul(HEAP16[$$0228234 + 96 >> 1] << 13, HEAP32[$$0227235 + 192 >> 2] | 0) | 0; + $40 = ($30 << 13) - $39 | 0; + $41 = $40 + $15 | 0; + $42 = $15 - $40 | 0; + $43 = $39 + ($30 * 11190 | 0) | 0; + $44 = $43 + $23 | 0; + $45 = $23 - $43 | 0; + $47 = ($30 * 2998 | 0) - $39 | 0; + $48 = $47 + $24 | 0; + $49 = $24 - $47 | 0; + $55 = Math_imul(HEAP32[$$0227235 + 32 >> 2] | 0, HEAP16[$$0228234 + 16 >> 1] | 0) | 0; + $61 = Math_imul(HEAP32[$$0227235 + 96 >> 2] | 0, HEAP16[$$0228234 + 48 >> 1] | 0) | 0; + $67 = Math_imul(HEAP32[$$0227235 + 160 >> 2] | 0, HEAP16[$$0228234 + 80 >> 1] | 0) | 0; + $73 = Math_imul(HEAP32[$$0227235 + 224 >> 2] | 0, HEAP16[$$0228234 + 112 >> 1] | 0) | 0; + $74 = $61 * 10703 | 0; + $75 = Math_imul($61, -4433) | 0; + $76 = $67 + $55 | 0; + $78 = ($73 + $76 | 0) * 7053 | 0; + $80 = $78 + ($76 * 2139 | 0) | 0; + $83 = $74 + ($55 * 2295 | 0) + $80 | 0; + $85 = Math_imul($73 + $67 | 0, -8565) | 0; + $89 = (Math_imul($67, -12112) | 0) + $75 + $85 + $80 | 0; + $93 = ($73 * 12998 | 0) - $74 + $78 + $85 | 0; + $98 = $75 + (Math_imul($55, -5540) | 0) + (Math_imul($73, -16244) | 0) + $78 | 0; + $99 = $55 - $73 | 0; + $100 = $61 - $67 | 0; + $102 = ($99 + $100 | 0) * 4433 | 0; + $104 = $102 + ($99 * 6270 | 0) | 0; + $106 = $102 + (Math_imul($100, -15137) | 0) | 0; + HEAP32[$$0225236 >> 2] = $83 + $44 >> 11; + HEAP32[$$0225236 + 264 >> 2] = $44 - $83 >> 11; + HEAP32[$$0225236 + 24 >> 2] = $104 + $41 >> 11; + HEAP32[$$0225236 + 240 >> 2] = $41 - $104 >> 11; + HEAP32[$$0225236 + 48 >> 2] = $89 + $48 >> 11; + HEAP32[$$0225236 + 216 >> 2] = $48 - $89 >> 11; + HEAP32[$$0225236 + 72 >> 2] = $93 + $49 >> 11; + HEAP32[$$0225236 + 192 >> 2] = $49 - $93 >> 11; + HEAP32[$$0225236 + 96 >> 2] = $106 + $42 >> 11; + HEAP32[$$0225236 + 168 >> 2] = $42 - $106 >> 11; + HEAP32[$$0225236 + 120 >> 2] = $98 + $45 >> 11; + HEAP32[$$0225236 + 144 >> 2] = $45 - $98 >> 11; + $$0237 = $$0237 + 1 | 0; + if (($$0237 | 0) == 6) break; else { + $$0225236 = $$0225236 + 4 | 0; + $$0227235 = $$0227235 + 4 | 0; + $$0228234 = $$0228234 + 2 | 0; + } + } + $146 = $7 + -384 | 0; + $$1226232 = $5; + $$1233 = 0; + while (1) { + $149 = (HEAP32[$3 + ($$1233 << 2) >> 2] | 0) + $4 | 0; + $152 = (HEAP32[$$1226232 >> 2] << 13) + 134348800 | 0; + $155 = (HEAP32[$$1226232 + 16 >> 2] | 0) * 5793 | 0; + $156 = $152 + $155 | 0; + $158 = $152 - $155 - $155 | 0; + $161 = (HEAP32[$$1226232 + 8 >> 2] | 0) * 10033 | 0; + $162 = $156 + $161 | 0; + $163 = $156 - $161 | 0; + $165 = HEAP32[$$1226232 + 4 >> 2] | 0; + $167 = HEAP32[$$1226232 + 12 >> 2] | 0; + $169 = HEAP32[$$1226232 + 20 >> 2] | 0; + $171 = ($169 + $165 | 0) * 2998 | 0; + $174 = $171 + ($167 + $165 << 13) | 0; + $177 = $171 + ($169 - $167 << 13) | 0; + $180 = $165 - $167 - $169 << 13; + HEAP8[$149 >> 0] = HEAP8[$146 + (($174 + $162 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$149 + 5 >> 0] = HEAP8[$146 + (($162 - $174 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$149 + 1 >> 0] = HEAP8[$146 + (($180 + $158 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$149 + 4 >> 0] = HEAP8[$146 + (($158 - $180 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$149 + 2 >> 0] = HEAP8[$146 + (($177 + $163 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$149 + 3 >> 0] = HEAP8[$146 + (($163 - $177 | 0) >>> 18 & 1023) >> 0] | 0; + $$1233 = $$1233 + 1 | 0; + if (($$1233 | 0) == 12) break; else $$1226232 = $$1226232 + 24 | 0; + } + STACKTOP = sp; + return; +} + +function _ar2ReadFeatureSet($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$067 = 0, $$068 = 0, $$069 = 0, $$070 = 0, $10 = 0, $12 = 0, $2 = 0, $24 = 0, $27 = 0, $29 = 0, $3 = 0, $30 = 0, $33 = 0, $5 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer11 = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0, $vararg_buffer19 = 0, $vararg_buffer2 = 0, $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer25 = 0, $vararg_buffer27 = 0, $vararg_buffer29 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_buffer9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 640 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(640); + $vararg_buffer29 = sp + 624 | 0; + $vararg_buffer27 = sp + 616 | 0; + $vararg_buffer25 = sp + 608 | 0; + $vararg_buffer23 = sp + 600 | 0; + $vararg_buffer21 = sp + 592 | 0; + $vararg_buffer19 = sp + 584 | 0; + $vararg_buffer17 = sp + 576 | 0; + $vararg_buffer15 = sp + 568 | 0; + $vararg_buffer13 = sp + 560 | 0; + $vararg_buffer11 = sp + 552 | 0; + $vararg_buffer9 = sp + 544 | 0; + $vararg_buffer7 = sp + 536 | 0; + $vararg_buffer5 = sp + 528 | 0; + $vararg_buffer2 = sp + 520 | 0; + $vararg_buffer = sp + 512 | 0; + $2 = sp; + HEAP32[$vararg_buffer >> 2] = $0; + HEAP32[$vararg_buffer + 4 >> 2] = $1; + _sprintf($2, 26699, $vararg_buffer) | 0; + $3 = _fopen($2, 26308) | 0; + if (!$3) { + HEAP32[$vararg_buffer2 >> 2] = $0; + _arLog(0, 3, 25890, $vararg_buffer2); + $$070 = 0; + } else { + $5 = _malloc(8) | 0; + if (!$5) { + _arLog(0, 3, 45930, $vararg_buffer5); + _exit(1); + } + $7 = $5 + 4 | 0; + L7 : do if ((_fread($7, 4, 1, $3) | 0) == 1) { + $10 = HEAP32[$7 >> 2] | 0; + $12 = _malloc($10 * 20 | 0) | 0; + HEAP32[$5 >> 2] = $12; + if (!$12) { + _arLog(0, 3, 45930, $vararg_buffer9); + _exit(1); + } + $$068 = 0; + L12 : while (1) { + if (($$068 | 0) >= ($10 | 0)) { + $$069 = $5; + break L7; + } + if ((_fread($12 + ($$068 * 20 | 0) + 8 | 0, 4, 1, $3) | 0) != 1) { + label = 12; + break; + } + if ((_fread($12 + ($$068 * 20 | 0) + 12 | 0, 4, 1, $3) | 0) != 1) { + label = 15; + break; + } + if ((_fread($12 + ($$068 * 20 | 0) + 16 | 0, 4, 1, $3) | 0) != 1) { + label = 17; + break; + } + $24 = $12 + ($$068 * 20 | 0) + 4 | 0; + if ((_fread($24, 4, 1, $3) | 0) != 1) { + label = 19; + break; + } + $27 = HEAP32[$24 >> 2] | 0; + $29 = _malloc($27 * 20 | 0) | 0; + $30 = $12 + ($$068 * 20 | 0) | 0; + HEAP32[$30 >> 2] = $29; + if (!$29) { + label = 22; + break; + } + $$067 = 0; + $33 = $27; + while (1) { + if (($$067 | 0) >= ($33 | 0)) break; + if ((_fread((HEAP32[$30 >> 2] | 0) + ($$067 * 20 | 0) | 0, 4, 1, $3) | 0) != 1) { + label = 25; + break L12; + } + if ((_fread((HEAP32[$30 >> 2] | 0) + ($$067 * 20 | 0) + 4 | 0, 4, 1, $3) | 0) != 1) { + label = 27; + break L12; + } + if ((_fread((HEAP32[$30 >> 2] | 0) + ($$067 * 20 | 0) + 8 | 0, 4, 1, $3) | 0) != 1) { + label = 29; + break L12; + } + if ((_fread((HEAP32[$30 >> 2] | 0) + ($$067 * 20 | 0) + 12 | 0, 4, 1, $3) | 0) != 1) { + label = 31; + break L12; + } + if ((_fread((HEAP32[$30 >> 2] | 0) + ($$067 * 20 | 0) + 16 | 0, 4, 1, $3) | 0) != 1) { + label = 34; + break L12; + } + $$067 = $$067 + 1 | 0; + $33 = HEAP32[$24 >> 2] | 0; + } + $$068 = $$068 + 1 | 0; + } + switch (label | 0) { + case 12: + { + _arLog(0, 3, 25911, $vararg_buffer11); + break; + } + case 15: + { + _arLog(0, 3, 25911, $vararg_buffer13); + break; + } + case 17: + { + _arLog(0, 3, 25911, $vararg_buffer15); + break; + } + case 19: + { + _arLog(0, 3, 25911, $vararg_buffer17); + break; + } + case 22: + { + _arLog(0, 3, 45930, $vararg_buffer19); + _exit(1); + break; + } + case 25: + { + _arLog(0, 3, 25911, $vararg_buffer21); + break; + } + case 27: + { + _arLog(0, 3, 25911, $vararg_buffer23); + break; + } + case 29: + { + _arLog(0, 3, 25911, $vararg_buffer25); + break; + } + case 31: + { + _arLog(0, 3, 25911, $vararg_buffer27); + break; + } + case 34: + { + _arLog(0, 3, 25911, $vararg_buffer29); + break; + } + } + $$0 = 0; + while (1) { + if (($$0 | 0) == ($$068 | 0)) break; + _free(HEAP32[$12 + ($$0 * 20 | 0) >> 2] | 0); + $$0 = $$0 + 1 | 0; + } + _free($12); + label = 39; + } else { + _arLog(0, 3, 25911, $vararg_buffer7); + label = 39; + } while (0); + if ((label | 0) == 39) { + _free($5); + $$069 = 0; + } + _fclose($3) | 0; + $$070 = $$069; + } + STACKTOP = sp; + return $$070 | 0; +} + +function _getNFTMarkerInfo($id, $markerIndex) { + $id = $id | 0; + $markerIndex = $markerIndex | 0; + var $12 = 0.0, $14 = 0, $15 = 0, $18 = 0, $3 = 0, $7 = 0, $8 = 0, $call44 = 0, $call7 = 0, $detectedPage = 0, $err = 0, $flag$0 = 0, $flag$1 = 0, $i$0 = 0, $id$addr = 0, $j$0 = 0, $k$0 = 0, $kpmHandle = 0, $kpmResult = 0, $kpmResultNum = 0, $retval$1 = 0, $sub = 0, $surfaceSetCount = 0, $trans = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(80); + $vararg_buffer1 = sp + 56 | 0; + $vararg_buffer = sp + 48 | 0; + $id$addr = sp + 72 | 0; + $kpmResult = sp + 76 | 0; + $kpmResultNum = sp + 68 | 0; + $trans = sp; + $err = sp + 64 | 0; + HEAP32[$id$addr >> 2] = $id; + do if (!(__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0)) $retval$1 = HEAP32[4224] | 0; else { + $call7 = __ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0; + $surfaceSetCount = $call7 + 244 | 0; + if ((HEAP32[$surfaceSetCount >> 2] | 0) <= ($markerIndex | 0)) { + $retval$1 = HEAP32[4226] | 0; + break; + } + HEAP32[$kpmResult >> 2] = 0; + HEAP32[$kpmResultNum >> 2] = -1; + HEAPF32[$err >> 2] = -1.0; + $detectedPage = $call7 + 240 | 0; + $3 = HEAP32[$detectedPage >> 2] | 0; + do if (($3 | 0) == -2) { + $kpmHandle = $call7 + 232 | 0; + _kpmMatching(HEAP32[$kpmHandle >> 2] | 0, HEAP32[$call7 + 204 >> 2] | 0) | 0; + _kpmGetResult(HEAP32[$kpmHandle >> 2] | 0, $kpmResult, $kpmResultNum) | 0; + $7 = HEAP32[$kpmResultNum >> 2] | 0; + $8 = HEAP32[$kpmResult >> 2] | 0; + $flag$0 = -1; + $i$0 = 0; + while (1) { + if (($i$0 | 0) >= ($7 | 0)) break; + do if ((HEAP32[$8 + ($i$0 * 68 | 0) + 48 >> 2] | 0) == ($markerIndex | 0) ? (HEAP32[$8 + ($i$0 * 68 | 0) + 60 >> 2] | 0) == 0 : 0) { + if (($flag$0 | 0) == -1) $14 = HEAP32[$8 + ($i$0 * 68 | 0) + 52 >> 2] | 0; else { + $12 = +HEAPF32[$8 + ($i$0 * 68 | 0) + 52 >> 2]; + if (!(+HEAPF32[$err >> 2] > $12)) { + $flag$1 = $flag$0; + break; + } + $14 = (HEAPF32[tempDoublePtr >> 2] = $12, HEAP32[tempDoublePtr >> 2] | 0); + } + HEAP32[$err >> 2] = $14; + $flag$1 = $i$0; + } else $flag$1 = $flag$0; while (0); + $flag$0 = $flag$1; + $i$0 = $i$0 + 1 | 0; + } + if (($flag$0 | 0) <= -1) { + HEAP32[$detectedPage >> 2] = -2; + label = 30; + break; + } + $15 = HEAP32[$8 + 48 >> 2] | 0; + HEAP32[$detectedPage >> 2] = $15; + $j$0 = 0; + while (1) { + if (($j$0 | 0) == 3) break; + $k$0 = 0; + while (1) { + if (($k$0 | 0) == 4) break; + HEAP32[$trans + ($j$0 << 4) + ($k$0 << 2) >> 2] = HEAP32[$8 + ($flag$0 * 68 | 0) + ($j$0 << 4) + ($k$0 << 2) >> 2]; + $k$0 = $k$0 + 1 | 0; + } + $j$0 = $j$0 + 1 | 0; + } + _ar2SetInitTrans(HEAP32[$call7 + 248 + ($15 << 2) >> 2] | 0, $trans) | 0; + $18 = HEAP32[$detectedPage >> 2] | 0; + label = 25; + } else { + $18 = $3; + label = 25; + } while (0); + do if ((label | 0) == 25) if (($18 | 0) > -1) { + $call44 = _ar2TrackingMod(HEAP32[$call7 + 236 >> 2] | 0, HEAP32[$call7 + 248 + ($18 << 2) >> 2] | 0, HEAP32[$call7 + 196 >> 2] | 0, $trans, $err) | 0; + if (($call44 | 0) < 0) { + HEAP32[$vararg_buffer >> 2] = $call44; + _arLog(0, 1, 41773, $vararg_buffer); + HEAP32[$detectedPage >> 2] = -2; + label = 30; + break; + } + $sub = (HEAP32[$surfaceSetCount >> 2] | 0) + -1 | 0; + HEAP32[$vararg_buffer1 >> 2] = HEAP32[$call7 + 248 + (HEAP32[$detectedPage >> 2] << 2) >> 2]; + HEAP32[$vararg_buffer1 + 4 >> 2] = $sub; + _arLog(0, 1, 41792, $vararg_buffer1); + if ((HEAP32[$detectedPage >> 2] | 0) > -1) _emscripten_asm_const_iiddddddddddddd(3, $markerIndex | 0, +(+HEAPF32[$err >> 2]), +(+HEAPF32[$trans >> 2]), +(+HEAPF32[$trans + 4 >> 2]), +(+HEAPF32[$trans + 8 >> 2]), +(+HEAPF32[$trans + 12 >> 2]), +(+HEAPF32[$trans + 16 >> 2]), +(+HEAPF32[$trans + 20 >> 2]), +(+HEAPF32[$trans + 24 >> 2]), +(+HEAPF32[$trans + 28 >> 2]), +(+HEAPF32[$trans + 32 >> 2]), +(+HEAPF32[$trans + 36 >> 2]), +(+HEAPF32[$trans + 40 >> 2]), +(+HEAPF32[$trans + 44 >> 2])) | 0; else label = 30; + } else label = 30; while (0); + if ((label | 0) == 30) _emscripten_asm_const_ii(4, $markerIndex | 0) | 0; + $retval$1 = 0; + } while (0); + STACKTOP = sp; + return $retval$1 | 0; +} + +function __ZN6vision21HoughSimilarityVoting19autoAdjustXYNumBinsEPKfS2_i($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$041 = 0, $103 = 0.0, $16 = 0, $21 = 0, $25 = 0, $33 = 0, $38 = 0, $4 = 0, $42 = 0, $5 = 0, $50 = 0, $55 = 0, $59 = 0, $60 = 0.0, $61 = 0, $67 = 0.0, $7 = 0, $76 = 0, $77 = 0, $86 = 0, $89 = 0, $9 = 0, $93 = 0, $95 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $4 = sp + 12 | 0; + $5 = sp; + $7 = $0 + 4 | 0; + $9 = __ZN6vision4max2IiEET_S1_S1_(HEAP32[$0 >> 2] | 0, HEAP32[$7 >> 2] | 0) | 0; + __ZNSt3__26vectorIfNS_9allocatorIfEEEC2Em($5, $3); + if (($3 | 0) <= 0) { + $16 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 37216) | 0, 37248) | 0, 39072) | 0, 208) | 0, 39079) | 0, 37337) | 0; + __ZNKSt3__28ios_base6getlocEv($4, $16 + (HEAP32[(HEAP32[$16 >> 2] | 0) + -12 >> 2] | 0) | 0); + $21 = __ZNKSt3__26locale9use_facetERNS0_2idE($4, 66512) | 0; + $25 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$21 >> 2] | 0) + 28 >> 2] & 127]($21, 10) | 0; + __ZNSt3__26localeD2Ev($4); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($16, $25) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($16) | 0; + _abort(); + } + if ((HEAP32[$0 >> 2] | 0) <= 0) { + $33 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 37359) | 0, 37248) | 0, 39072) | 0, 209) | 0, 39079) | 0, 37401) | 0; + __ZNKSt3__28ios_base6getlocEv($4, $33 + (HEAP32[(HEAP32[$33 >> 2] | 0) + -12 >> 2] | 0) | 0); + $38 = __ZNKSt3__26locale9use_facetERNS0_2idE($4, 66512) | 0; + $42 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$38 >> 2] | 0) + 28 >> 2] & 127]($38, 10) | 0; + __ZNSt3__26localeD2Ev($4); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($33, $42) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($33) | 0; + _abort(); + } + if ((HEAP32[$7 >> 2] | 0) <= 0) { + $50 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 37424) | 0, 37248) | 0, 39072) | 0, 210) | 0, 39079) | 0, 37467) | 0; + __ZNKSt3__28ios_base6getlocEv($4, $50 + (HEAP32[(HEAP32[$50 >> 2] | 0) + -12 >> 2] | 0) | 0); + $55 = __ZNKSt3__26locale9use_facetERNS0_2idE($4, 66512) | 0; + $59 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$55 >> 2] | 0) + 28 >> 2] & 127]($55, 10) | 0; + __ZNSt3__26localeD2Ev($4); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($50, $59) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($50) | 0; + _abort(); + } + $60 = +($9 | 0); + $$041 = 0; + while (1) { + if (($$041 | 0) == ($3 | 0)) break; + $95 = $$041 << 2; + $103 = +__ZN6vision12SafeDivisionIfEET_S1_S1_(+HEAPF32[$1 + ($95 << 2) + 12 >> 2], +HEAPF32[$2 + ($95 << 2) + 12 >> 2]) * $60; + HEAPF32[(HEAP32[$5 >> 2] | 0) + ($$041 << 2) >> 2] = $103; + $$041 = $$041 + 1 | 0; + } + $61 = HEAP32[$5 >> 2] | 0; + $67 = +__ZN6vision10FastMedianIfEET_PS1_i($61, (HEAP32[$5 + 4 >> 2] | 0) - $61 >> 2) * .25; + $76 = __ZN6vision4max2IiEET_S1_S1_(5, ~~+Math_ceil(+((+HEAPF32[$0 + 24 >> 2] - +HEAPF32[$0 + 20 >> 2]) / $67))) | 0; + $77 = $0 + 52 | 0; + HEAP32[$77 >> 2] = $76; + $86 = __ZN6vision4max2IiEET_S1_S1_(5, ~~+Math_ceil(+((+HEAPF32[$0 + 32 >> 2] - +HEAPF32[$0 + 28 >> 2]) / $67))) | 0; + HEAP32[$0 + 56 >> 2] = $86; + $89 = Math_imul(HEAP32[$77 >> 2] | 0, $86) | 0; + HEAP32[$0 + 84 >> 2] = $89; + $93 = Math_imul(HEAP32[$0 + 60 >> 2] | 0, $89) | 0; + HEAP32[$0 + 88 >> 2] = $93; + __ZNSt3__213__vector_baseIfNS_9allocatorIfEEED2Ev($5); + STACKTOP = sp; + return; +} + +function _jpeg_core_output_dimensions($0) { + $0 = $0 | 0; + var $$0169170 = 0, $$0171 = 0, $$sink173 = 0, $$sink177 = 0, $100 = 0, $11 = 0, $110 = 0, $120 = 0, $130 = 0, $140 = 0, $148 = 0, $150 = 0, $156 = 0, $162 = 0, $167 = 0, $20 = 0, $3 = 0, $30 = 0, $4 = 0, $40 = 0, $5 = 0, $50 = 0, $60 = 0, $7 = 0, $70 = 0, $80 = 0, $90 = 0; + $3 = $0 + 428 | 0; + $4 = HEAP32[$3 >> 2] | 0; + $5 = Math_imul($4, HEAP32[$0 + 48 >> 2] | 0) | 0; + $7 = HEAP32[$0 + 52 >> 2] | 0; + do if ($5 >>> 0 > $7 >>> 0) { + if ($5 >>> 0 <= $7 << 1 >>> 0) { + $20 = _jdiv_round_up(HEAP32[$0 + 28 >> 2] << 1, $4) | 0; + HEAP32[$0 + 112 >> 2] = $20; + $$sink173 = 2; + $$sink177 = HEAP32[$0 + 32 >> 2] << 1; + break; + } + if ($5 >>> 0 <= ($7 * 3 | 0) >>> 0) { + $30 = _jdiv_round_up((HEAP32[$0 + 28 >> 2] | 0) * 3 | 0, $4) | 0; + HEAP32[$0 + 112 >> 2] = $30; + $$sink173 = 3; + $$sink177 = (HEAP32[$0 + 32 >> 2] | 0) * 3 | 0; + break; + } + if ($5 >>> 0 <= $7 << 2 >>> 0) { + $40 = _jdiv_round_up(HEAP32[$0 + 28 >> 2] << 2, $4) | 0; + HEAP32[$0 + 112 >> 2] = $40; + $$sink173 = 4; + $$sink177 = HEAP32[$0 + 32 >> 2] << 2; + break; + } + if ($5 >>> 0 <= ($7 * 5 | 0) >>> 0) { + $50 = _jdiv_round_up((HEAP32[$0 + 28 >> 2] | 0) * 5 | 0, $4) | 0; + HEAP32[$0 + 112 >> 2] = $50; + $$sink173 = 5; + $$sink177 = (HEAP32[$0 + 32 >> 2] | 0) * 5 | 0; + break; + } + if ($5 >>> 0 <= ($7 * 6 | 0) >>> 0) { + $60 = _jdiv_round_up((HEAP32[$0 + 28 >> 2] | 0) * 6 | 0, $4) | 0; + HEAP32[$0 + 112 >> 2] = $60; + $$sink173 = 6; + $$sink177 = (HEAP32[$0 + 32 >> 2] | 0) * 6 | 0; + break; + } + if ($5 >>> 0 <= ($7 * 7 | 0) >>> 0) { + $70 = _jdiv_round_up((HEAP32[$0 + 28 >> 2] | 0) * 7 | 0, $4) | 0; + HEAP32[$0 + 112 >> 2] = $70; + $$sink173 = 7; + $$sink177 = (HEAP32[$0 + 32 >> 2] | 0) * 7 | 0; + break; + } + if ($5 >>> 0 <= $7 << 3 >>> 0) { + $80 = _jdiv_round_up(HEAP32[$0 + 28 >> 2] << 3, $4) | 0; + HEAP32[$0 + 112 >> 2] = $80; + $$sink173 = 8; + $$sink177 = HEAP32[$0 + 32 >> 2] << 3; + break; + } + if ($5 >>> 0 <= ($7 * 9 | 0) >>> 0) { + $90 = _jdiv_round_up((HEAP32[$0 + 28 >> 2] | 0) * 9 | 0, $4) | 0; + HEAP32[$0 + 112 >> 2] = $90; + $$sink173 = 9; + $$sink177 = (HEAP32[$0 + 32 >> 2] | 0) * 9 | 0; + break; + } + if ($5 >>> 0 <= ($7 * 10 | 0) >>> 0) { + $100 = _jdiv_round_up((HEAP32[$0 + 28 >> 2] | 0) * 10 | 0, $4) | 0; + HEAP32[$0 + 112 >> 2] = $100; + $$sink173 = 10; + $$sink177 = (HEAP32[$0 + 32 >> 2] | 0) * 10 | 0; + break; + } + if ($5 >>> 0 <= ($7 * 11 | 0) >>> 0) { + $110 = _jdiv_round_up((HEAP32[$0 + 28 >> 2] | 0) * 11 | 0, $4) | 0; + HEAP32[$0 + 112 >> 2] = $110; + $$sink173 = 11; + $$sink177 = (HEAP32[$0 + 32 >> 2] | 0) * 11 | 0; + break; + } + if ($5 >>> 0 <= ($7 * 12 | 0) >>> 0) { + $120 = _jdiv_round_up((HEAP32[$0 + 28 >> 2] | 0) * 12 | 0, $4) | 0; + HEAP32[$0 + 112 >> 2] = $120; + $$sink173 = 12; + $$sink177 = (HEAP32[$0 + 32 >> 2] | 0) * 12 | 0; + break; + } + if ($5 >>> 0 <= ($7 * 13 | 0) >>> 0) { + $130 = _jdiv_round_up((HEAP32[$0 + 28 >> 2] | 0) * 13 | 0, $4) | 0; + HEAP32[$0 + 112 >> 2] = $130; + $$sink173 = 13; + $$sink177 = (HEAP32[$0 + 32 >> 2] | 0) * 13 | 0; + break; + } + if ($5 >>> 0 <= ($7 * 14 | 0) >>> 0) { + $140 = _jdiv_round_up((HEAP32[$0 + 28 >> 2] | 0) * 14 | 0, $4) | 0; + HEAP32[$0 + 112 >> 2] = $140; + $$sink173 = 14; + $$sink177 = (HEAP32[$0 + 32 >> 2] | 0) * 14 | 0; + break; + } + $148 = HEAP32[$0 + 28 >> 2] | 0; + if ($5 >>> 0 > ($7 * 15 | 0) >>> 0) { + $156 = _jdiv_round_up($148 << 4, $4) | 0; + HEAP32[$0 + 112 >> 2] = $156; + $$sink173 = 16; + $$sink177 = HEAP32[$0 + 32 >> 2] << 4; + break; + } else { + $150 = _jdiv_round_up($148 * 15 | 0, $4) | 0; + HEAP32[$0 + 112 >> 2] = $150; + $$sink173 = 15; + $$sink177 = (HEAP32[$0 + 32 >> 2] | 0) * 15 | 0; + break; + } + } else { + $11 = _jdiv_round_up(HEAP32[$0 + 28 >> 2] | 0, $4) | 0; + HEAP32[$0 + 112 >> 2] = $11; + $$sink173 = 1; + $$sink177 = HEAP32[$0 + 32 >> 2] | 0; + } while (0); + $162 = _jdiv_round_up($$sink177, HEAP32[$3 >> 2] | 0) | 0; + HEAP32[$0 + 116 >> 2] = $162; + HEAP32[$0 + 324 >> 2] = $$sink173; + HEAP32[$0 + 328 >> 2] = $$sink173; + $167 = HEAP32[$0 + 36 >> 2] | 0; + if (($167 | 0) <= 0) return; + $$0169170 = 0; + $$0171 = HEAP32[$0 + 216 >> 2] | 0; + while (1) { + HEAP32[$$0171 + 36 >> 2] = $$sink173; + HEAP32[$$0171 + 40 >> 2] = $$sink173; + $$0169170 = $$0169170 + 1 | 0; + if (($$0169170 | 0) >= ($167 | 0)) break; else $$0171 = $$0171 + 88 | 0; + } + return; +} + +function __ZNK6vision28BinaryHierarchicalClusteringILi96EE5queryERNSt3__214priority_queueINS_17PriorityQueueItemILi96EEENS2_6vectorIS5_NS2_9allocatorIS5_EEEENS2_4lessIS5_EEEEPKNS_4NodeILi96EEEPKh($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0$i$i$add$i$i = 0, $$0$i$i$idx$i$i = 0, $$024 = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $10 = 0, $11 = 0, $16 = 0, $19 = 0, $21 = 0, $24 = 0, $28 = 0, $37 = 0, $38 = 0, $4 = 0, $41 = 0, $42 = 0, $43 = 0, $45 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $52 = 0, $55 = 0, $56 = 0, $6 = 0, $60 = 0, $65 = 0, $66 = 0, $7 = 0, $70 = 0, $77 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(64); + $$byval_copy5 = sp + 8 | 0; + $$byval_copy4 = sp + 56 | 0; + $$byval_copy3 = sp + 52 | 0; + $4 = sp + 44 | 0; + $5 = sp + 36 | 0; + $6 = sp + 28 | 0; + $7 = sp; + $8 = sp + 48 | 0; + $9 = sp + 40 | 0; + $10 = sp + 32 | 0; + $11 = sp + 16 | 0; + if (__ZNK6vision4NodeILi96EE4leafEv($2) | 0) { + HEAP32[$8 >> 2] = HEAP32[$0 + 76 >> 2]; + $16 = __ZNK6vision4NodeILi96EE12reverseIndexEv($2) | 0; + HEAP32[$9 >> 2] = HEAP32[$16 >> 2]; + $19 = (__ZNK6vision4NodeILi96EE12reverseIndexEv($2) | 0) + 4 | 0; + HEAP32[$10 >> 2] = HEAP32[$19 >> 2]; + HEAP32[$$byval_copy3 >> 2] = HEAP32[$8 >> 2]; + HEAP32[$$byval_copy4 >> 2] = HEAP32[$9 >> 2]; + HEAP32[$$byval_copy5 >> 2] = HEAP32[$10 >> 2]; + __ZNSt3__26vectorIiNS_9allocatorIiEEE6insertINS_11__wrap_iterIPKiEEEENS_9enable_ifIXaasr21__is_forward_iteratorIT_EE5valuesr16is_constructibleIiNS_15iterator_traitsISA_E9referenceEEE5valueENS5_IPiEEE4typeES8_SA_SA_($0 + 72 | 0, $$byval_copy3, $$byval_copy4, $$byval_copy5) | 0; + } else { + HEAP32[$11 >> 2] = 0; + $21 = $11 + 4 | 0; + HEAP32[$21 >> 2] = 0; + HEAP32[$11 + 8 >> 2] = 0; + __ZNK6vision4NodeILi96EE7nearestERNSt3__26vectorIPKS1_NS2_9allocatorIS5_EEEERNS2_14priority_queueINS_17PriorityQueueItemILi96EEENS3_ISC_NS6_ISC_EEEENS2_4lessISC_EEEEPKh($2, $11, $1, $3); + $$024 = 0; + while (1) { + $24 = HEAP32[$11 >> 2] | 0; + if ($$024 >>> 0 >= (HEAP32[$21 >> 2] | 0) - $24 >> 2 >>> 0) break; + __ZNK6vision28BinaryHierarchicalClusteringILi96EE5queryERNSt3__214priority_queueINS_17PriorityQueueItemILi96EEENS2_6vectorIS5_NS2_9allocatorIS5_EEEENS2_4lessIS5_EEEEPKNS_4NodeILi96EEEPKh($0, $1, HEAP32[$24 + ($$024 << 2) >> 2] | 0, $3); + $$024 = $$024 + 1 | 0; + } + $28 = $0 + 100 | 0; + if ((HEAP32[$28 >> 2] | 0) < (HEAP32[$0 + 104 >> 2] | 0) ? ($37 = HEAP32[$1 >> 2] | 0, $38 = $1 + 4 | 0, ($37 | 0) != (HEAP32[$38 >> 2] | 0)) : 0) { + $41 = __ZNK6vision17PriorityQueueItemILi96EE4nodeEv($37) | 0; + $42 = HEAP32[$1 >> 2] | 0; + $43 = HEAP32[$38 >> 2] | 0; + $45 = $43 - $42 | 0; + if (($45 | 0) > 8) { + $48 = $42; + $49 = $43 + -8 | 0; + $50 = $48; + $52 = HEAP32[$50 >> 2] | 0; + $55 = HEAP32[$50 + 4 >> 2] | 0; + $56 = $$byval_copy5; + HEAP32[$56 >> 2] = $52; + HEAP32[$56 + 4 >> 2] = $55; + $60 = $49; + $65 = HEAP32[$60 + 4 >> 2] | 0; + $66 = $48; + HEAP32[$66 >> 2] = HEAP32[$60 >> 2]; + HEAP32[$66 + 4 >> 2] = $65; + $70 = $49; + HEAP32[$70 >> 2] = $52; + HEAP32[$70 + 4 >> 2] = $55; + __ZN6vision17PriorityQueueItemILi96EED2Ev($$byval_copy5); + HEAP32[$4 >> 2] = $42; + HEAP32[$5 >> 2] = $49; + HEAP32[$6 >> 2] = $42; + HEAP32[$$byval_copy3 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy4 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$$byval_copy5 >> 2] = HEAP32[$6 >> 2]; + __ZNSt3__211__sift_downIRNS_4lessIN6vision17PriorityQueueItemILi96EEEEENS_11__wrap_iterIPS4_EEEEvT0_SA_T_NS_15iterator_traitsISA_E15difference_typeESA_($$byval_copy3, $$byval_copy4, $7, ($45 >>> 3) + -1 | 0, $$byval_copy5); + $77 = HEAP32[$38 >> 2] | 0; + } else $77 = $43; + $$0$i$i$idx$i$i = 0; + while (1) { + if (($$0$i$i$idx$i$i | 0) == -1) break; + $$0$i$i$add$i$i = $$0$i$i$idx$i$i + -1 | 0; + __ZN6vision17PriorityQueueItemILi96EED2Ev($77 + ($$0$i$i$add$i$i << 3) | 0); + $$0$i$i$idx$i$i = $$0$i$i$add$i$i; + } + HEAP32[$38 >> 2] = $77 + -8; + HEAP32[$28 >> 2] = (HEAP32[$28 >> 2] | 0) + 1; + __ZNK6vision28BinaryHierarchicalClusteringILi96EE5queryERNSt3__214priority_queueINS_17PriorityQueueItemILi96EEENS2_6vectorIS5_NS2_9allocatorIS5_EEEENS2_4lessIS5_EEEEPKNS_4NodeILi96EEEPKh($0, $1, $41, $3); + } + __ZNSt3__213__vector_baseIPKN6vision4NodeILi96EEENS_9allocatorIS5_EEED2Ev($11); + } + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E17parseSubstitutionEv($0) { + $0 = $0 | 0; + var $$0 = 0, $$1 = 0, $$18 = 0, $$2 = 0, $1 = 0, $26 = 0, $30 = 0, $32 = 0, $36 = 0, $38 = 0, $4 = 0, $41 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + L1 : do if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 83) | 0) { + $4 = (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 0) | 0) << 24 >> 24; + if (!(_islower($4) | 0)) { + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 95) | 0) { + $30 = $0 + 148 | 0; + if (__ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE5emptyEv($30) | 0) { + $$2 = 0; + break; + } + $32 = __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EEixEm($30, 0) | 0; + $$2 = HEAP32[$32 >> 2] | 0; + break; + } + HEAP32[$1 >> 2] = 0; + if ((!(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10parseSeqIdEPm($0, $1) | 0) ? ($36 = (HEAP32[$1 >> 2] | 0) + 1 | 0, HEAP32[$1 >> 2] = $36, __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 95) | 0) : 0) ? ($38 = $0 + 148 | 0, $36 >>> 0 < (__ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE4sizeEv($38) | 0) >>> 0) : 0) { + $41 = __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EEixEm($38, $36) | 0; + $$18 = HEAP32[$41 >> 2] | 0; + } else $$18 = 0; + $$2 = $$18; + break; + } + switch ($4 | 0) { + case 97: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + HEAP32[$1 >> 2] = 0; + $$0 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_19SpecialSubstitutionEJNS0_14SpecialSubKindEEEEPNS0_4NodeEDpOT0_($0, $1) | 0; + break; + } + case 98: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + HEAP32[$1 >> 2] = 1; + $$0 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_19SpecialSubstitutionEJNS0_14SpecialSubKindEEEEPNS0_4NodeEDpOT0_($0, $1) | 0; + break; + } + case 115: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + HEAP32[$1 >> 2] = 2; + $$0 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_19SpecialSubstitutionEJNS0_14SpecialSubKindEEEEPNS0_4NodeEDpOT0_($0, $1) | 0; + break; + } + case 105: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + HEAP32[$1 >> 2] = 3; + $$0 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_19SpecialSubstitutionEJNS0_14SpecialSubKindEEEEPNS0_4NodeEDpOT0_($0, $1) | 0; + break; + } + case 111: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + HEAP32[$1 >> 2] = 4; + $$0 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_19SpecialSubstitutionEJNS0_14SpecialSubKindEEEEPNS0_4NodeEDpOT0_($0, $1) | 0; + break; + } + case 100: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + HEAP32[$1 >> 2] = 5; + $$0 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_19SpecialSubstitutionEJNS0_14SpecialSubKindEEEEPNS0_4NodeEDpOT0_($0, $1) | 0; + break; + } + default: + { + $$2 = 0; + break L1; + } + } + $26 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E12parseAbiTagsEPNS0_4NodeE(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0, $$0) | 0; + HEAP32[$1 >> 2] = $26; + if (($26 | 0) == ($$0 | 0)) $$1 = $$0; else { + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE9push_backERKS3_($0 + 148 | 0, $1); + $$1 = $26; + } + $$2 = $$1; + } else $$2 = 0; while (0); + STACKTOP = sp; + return $$2 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E5parseEv($0) { + $0 = $0 | 0; + var $$0 = 0, $$2 = 0, $$4 = 0, $$byval_copy2 = 0, $1 = 0, $12 = 0, $14 = 0, $17 = 0, $18 = 0, $2 = 0, $21 = 0, $24 = 0, $3 = 0, $35 = 0, $37 = 0, $4 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $$byval_copy2 = sp + 32 | 0; + $1 = sp + 24 | 0; + $2 = sp; + $3 = sp + 16 | 0; + $4 = sp + 8 | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($1, 51394); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$1 + 4 >> 2]; + do if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy2) | 0) { + $7 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E13parseEncodingEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$$byval_copy2 >> 2] = $7; + if (!$7) $$0 = 0; else { + if ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 0) | 0) << 24 >> 24 == 46) { + $12 = $0 + 4 | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKcS2_($2, HEAP32[$0 >> 2] | 0, HEAP32[$12 >> 2] | 0); + $14 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_9DotSuffixEJRPNS0_4NodeENS_10StringViewEEEES9_DpOT0_($0, $$byval_copy2, $2) | 0; + HEAP32[$$byval_copy2 >> 2] = $14; + HEAP32[$0 >> 2] = HEAP32[$12 >> 2]; + $18 = $14; + } else $18 = $7; + $17 = (__ZNK12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E7numLeftEv($0) | 0) == 0; + $$0 = $17 ? $18 : 0; + } + $$4 = $$0; + } else { + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, 51397); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + if (!(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy2) | 0)) { + $35 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseTypeEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + $37 = (__ZNK12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E7numLeftEv($0) | 0) == 0; + $$4 = $37 ? $35 : 0; + break; + } + $21 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E13parseEncodingEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$2 >> 2] = $21; + if ((($21 | 0) != 0 ? (__ZN12_GLOBAL__N_110StringViewC2EPKc($4, 51402), HEAP32[$$byval_copy2 >> 2] = HEAP32[$4 >> 2], HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$4 + 4 >> 2], __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy2) | 0) : 0) ? ($24 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 95) | 0, __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E11parseNumberEb($$byval_copy2, $0, 0), !($24 & (__ZNK12_GLOBAL__N_110StringView5emptyEv($$byval_copy2) | 0))) : 0) { + if ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 0) | 0) << 24 >> 24 == 46) HEAP32[$0 >> 2] = HEAP32[$0 + 4 >> 2]; + if (!(__ZNK12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E7numLeftEv($0) | 0)) $$2 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_11SpecialNameEJRA34_KcRPNS0_4NodeEEEESC_DpOT0_($0, 51416, $2) | 0; else $$2 = 0; + } else $$2 = 0; + $$4 = $$2; + } while (0); + STACKTOP = sp; + return $$4 | 0; +} + +function _jpeg_idct_7x7($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0197205 = 0, $$0199204 = 0, $$0200203 = 0, $$0206 = 0, $$1198201 = 0, $$1202 = 0, $110 = 0, $113 = 0, $116 = 0, $118 = 0, $120 = 0, $122 = 0, $124 = 0, $126 = 0, $130 = 0, $131 = 0, $134 = 0, $137 = 0, $140 = 0, $144 = 0, $146 = 0, $148 = 0, $15 = 0, $150 = 0, $152 = 0, $156 = 0, $157 = 0, $159 = 0, $160 = 0, $163 = 0, $21 = 0, $27 = 0, $33 = 0, $35 = 0, $37 = 0, $41 = 0, $42 = 0, $45 = 0, $48 = 0, $5 = 0, $51 = 0, $59 = 0, $65 = 0, $7 = 0, $71 = 0, $73 = 0, $75 = 0, $79 = 0, $80 = 0, $82 = 0, $83 = 0, $86 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 208 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(208); + $5 = sp; + $7 = HEAP32[$0 + 336 >> 2] | 0; + $$0197205 = $5; + $$0199204 = HEAP32[$1 + 84 >> 2] | 0; + $$0200203 = $2; + $$0206 = 0; + while (1) { + $15 = Math_imul(HEAP16[$$0200203 >> 1] << 13, HEAP32[$$0199204 >> 2] | 0) | 0 | 1024; + $21 = Math_imul(HEAP32[$$0199204 + 64 >> 2] | 0, HEAP16[$$0200203 + 32 >> 1] | 0) | 0; + $27 = Math_imul(HEAP32[$$0199204 + 128 >> 2] | 0, HEAP16[$$0200203 + 64 >> 1] | 0) | 0; + $33 = Math_imul(HEAP32[$$0199204 + 192 >> 2] | 0, HEAP16[$$0200203 + 96 >> 1] | 0) | 0; + $35 = ($27 - $33 | 0) * 7223 | 0; + $37 = ($21 - $27 | 0) * 2578 | 0; + $41 = (Math_imul($27, -15083) | 0) + $15 + $37 + $35 | 0; + $42 = $33 + $21 | 0; + $45 = ($42 * 10438 | 0) + $15 | 0; + $48 = $35 + (Math_imul($33, -637) | 0) + $45 | 0; + $51 = $37 + (Math_imul($21, -20239) | 0) + $45 | 0; + $59 = Math_imul(HEAP32[$$0199204 + 32 >> 2] | 0, HEAP16[$$0200203 + 16 >> 1] | 0) | 0; + $65 = Math_imul(HEAP32[$$0199204 + 96 >> 2] | 0, HEAP16[$$0200203 + 48 >> 1] | 0) | 0; + $71 = Math_imul(HEAP32[$$0199204 + 160 >> 2] | 0, HEAP16[$$0200203 + 80 >> 1] | 0) | 0; + $73 = ($65 + $59 | 0) * 7663 | 0; + $75 = ($59 - $65 | 0) * 1395 | 0; + $79 = Math_imul($71 + $65 | 0, -11295) | 0; + $80 = $73 + $75 + $79 | 0; + $82 = ($71 + $59 | 0) * 5027 | 0; + $83 = $82 + ($73 - $75) | 0; + $86 = $82 + ($71 * 15326 | 0) + $79 | 0; + HEAP32[$$0197205 >> 2] = $83 + $48 >> 11; + HEAP32[$$0197205 + 168 >> 2] = $48 - $83 >> 11; + HEAP32[$$0197205 + 28 >> 2] = $80 + $41 >> 11; + HEAP32[$$0197205 + 140 >> 2] = $41 - $80 >> 11; + HEAP32[$$0197205 + 56 >> 2] = $86 + $51 >> 11; + HEAP32[$$0197205 + 112 >> 2] = $51 - $86 >> 11; + HEAP32[$$0197205 + 84 >> 2] = (($27 - $42 | 0) * 11585 | 0) + $15 >> 11; + $$0206 = $$0206 + 1 | 0; + if (($$0206 | 0) == 7) break; else { + $$0197205 = $$0197205 + 4 | 0; + $$0199204 = $$0199204 + 4 | 0; + $$0200203 = $$0200203 + 2 | 0; + } + } + $110 = $7 + -384 | 0; + $$1198201 = $5; + $$1202 = 0; + while (1) { + $113 = (HEAP32[$3 + ($$1202 << 2) >> 2] | 0) + $4 | 0; + $116 = (HEAP32[$$1198201 >> 2] << 13) + 134348800 | 0; + $118 = HEAP32[$$1198201 + 8 >> 2] | 0; + $120 = HEAP32[$$1198201 + 16 >> 2] | 0; + $122 = HEAP32[$$1198201 + 24 >> 2] | 0; + $124 = ($120 - $122 | 0) * 7223 | 0; + $126 = ($118 - $120 | 0) * 2578 | 0; + $130 = (Math_imul($120, -15083) | 0) + $116 + $126 + $124 | 0; + $131 = $122 + $118 | 0; + $134 = ($131 * 10438 | 0) + $116 | 0; + $137 = $124 + (Math_imul($122, -637) | 0) + $134 | 0; + $140 = $126 + (Math_imul($118, -20239) | 0) + $134 | 0; + $144 = HEAP32[$$1198201 + 4 >> 2] | 0; + $146 = HEAP32[$$1198201 + 12 >> 2] | 0; + $148 = HEAP32[$$1198201 + 20 >> 2] | 0; + $150 = ($146 + $144 | 0) * 7663 | 0; + $152 = ($144 - $146 | 0) * 1395 | 0; + $156 = Math_imul($148 + $146 | 0, -11295) | 0; + $157 = $150 + $152 + $156 | 0; + $159 = ($148 + $144 | 0) * 5027 | 0; + $160 = $150 - $152 + $159 | 0; + $163 = $159 + ($148 * 15326 | 0) + $156 | 0; + HEAP8[$113 >> 0] = HEAP8[$110 + (($160 + $137 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$113 + 6 >> 0] = HEAP8[$110 + (($137 - $160 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$113 + 1 >> 0] = HEAP8[$110 + (($157 + $130 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$113 + 5 >> 0] = HEAP8[$110 + (($130 - $157 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$113 + 2 >> 0] = HEAP8[$110 + (($163 + $140 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$113 + 4 >> 0] = HEAP8[$110 + (($140 - $163 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$113 + 3 >> 0] = HEAP8[$110 + (((($120 - $131 | 0) * 11585 | 0) + $116 | 0) >>> 18 & 1023) >> 0] | 0; + $$1202 = $$1202 + 1 | 0; + if (($$1202 | 0) == 7) break; else $$1198201 = $$1198201 + 28 | 0; + } + STACKTOP = sp; + return; +} + +function __ZN6vision25DoGScaleInvariantDetector13pruneFeaturesEv($0) { + $0 = $0 | 0; + var $1 = 0, $10 = 0, $12 = 0, $15 = 0, $17 = 0, $2 = 0, $26 = 0, $3 = 0, $31 = 0, $35 = 0, $4 = 0, $42 = 0, $51 = 0, $56 = 0, $60 = 0, $77 = 0, $82 = 0, $86 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp + 12 | 0; + $2 = sp; + $3 = $0 + 60 | 0; + $4 = $0 + 64 | 0; + $9 = $0 + 84 | 0; + $10 = HEAP32[$9 >> 2] | 0; + do if ((((HEAP32[$4 >> 2] | 0) - (HEAP32[$3 >> 2] | 0) | 0) / 36 | 0) >>> 0 > $10 >>> 0) { + $12 = $0 + 16 | 0; + $15 = HEAP32[$12 >> 2] | 0; + $17 = ((HEAP32[$0 + 20 >> 2] | 0) - $15 | 0) / 12 | 0; + if (($17 | 0) != (HEAP32[$0 + 8 >> 2] | 0)) { + $26 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 28011) | 0, 26748) | 0, 39072) | 0, 454) | 0, 39079) | 0, 28066) | 0; + __ZNKSt3__28ios_base6getlocEv($1, $26 + (HEAP32[(HEAP32[$26 >> 2] | 0) + -12 >> 2] | 0) | 0); + $31 = __ZNKSt3__26locale9use_facetERNS0_2idE($1, 66512) | 0; + $35 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$31 >> 2] | 0) + 28 >> 2] & 127]($31, 10) | 0; + __ZNSt3__26localeD2Ev($1); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($26, $35) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($26) | 0; + _abort(); + } + $42 = ((HEAP32[$15 + 4 >> 2] | 0) - (HEAP32[$15 >> 2] | 0) | 0) / 12 | 0; + if (($42 | 0) != (HEAP32[$0 + 12 >> 2] | 0)) { + $51 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 28092) | 0, 26748) | 0, 39072) | 0, 455) | 0, 39079) | 0, 28066) | 0; + __ZNKSt3__28ios_base6getlocEv($1, $51 + (HEAP32[(HEAP32[$51 >> 2] | 0) + -12 >> 2] | 0) | 0); + $56 = __ZNKSt3__26locale9use_facetERNS0_2idE($1, 66512) | 0; + $60 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$56 >> 2] | 0) + 28 >> 2] & 127]($56, 10) | 0; + __ZNSt3__26localeD2Ev($1); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($51, $60) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($51) | 0; + _abort(); + } + HEAP32[$2 >> 2] = 0; + HEAP32[$2 + 4 >> 2] = 0; + HEAP32[$2 + 8 >> 2] = 0; + __ZN6vision16PruneDoGFeaturesERNSt3__26vectorINS1_INS1_INS0_4pairIfmEENS0_9allocatorIS3_EEEENS4_IS6_EEEENS4_IS8_EEEERNS1_INS_25DoGScaleInvariantDetector12FeaturePointENS4_ISD_EEEERKSF_iiiii($12, $2, $3, $17, $42, HEAP32[$0 >> 2] | 0, HEAP32[$0 + 4 >> 2] | 0, $10); + __ZNSt3__26vectorIN6vision25DoGScaleInvariantDetector12FeaturePointENS_9allocatorIS3_EEE4swapERS6_($3, $2); + if ((((HEAP32[$4 >> 2] | 0) - (HEAP32[$3 >> 2] | 0) | 0) / 36 | 0) >>> 0 > (HEAP32[$9 >> 2] | 0) >>> 0) { + $77 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 28150) | 0, 26748) | 0, 39072) | 0, 469) | 0, 39079) | 0, 28219) | 0; + __ZNKSt3__28ios_base6getlocEv($1, $77 + (HEAP32[(HEAP32[$77 >> 2] | 0) + -12 >> 2] | 0) | 0); + $82 = __ZNKSt3__26locale9use_facetERNS0_2idE($1, 66512) | 0; + $86 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$82 >> 2] | 0) + 28 >> 2] & 127]($82, 10) | 0; + __ZNSt3__26localeD2Ev($1); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($77, $86) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($77) | 0; + _abort(); + } else { + __ZNSt3__213__vector_baseIN6vision25DoGScaleInvariantDetector12FeaturePointENS_9allocatorIS3_EEED2Ev($2); + break; + } + } while (0); + STACKTOP = sp; + return; +} + +function _arDetectMarker2($0, $1, $2, $3, $4, $5, $6, $7, $8) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = +$6; + $7 = $7 | 0; + $8 = $8 | 0; + var $$0 = 0, $$0127 = 0, $$0128 = 0, $$0131 = 0, $$0132 = 0, $$0133 = 0, $$0134 = 0, $$1 = 0, $$1$in = 0, $$1129 = 0, $$2 = 0, $$2130 = 0, $$3 = 0, $$ph = 0, $$pre136 = 0, $102 = 0, $105 = 0, $108 = 0, $113 = 0, $116 = 0, $122 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $20 = 0, $21 = 0, $24 = 0, $52 = 0, $57 = 0, $61 = 0, $62 = 0, $63 = 0, $64 = 0, $65 = 0, $67 = 0, $71 = 0.0, $76 = 0.0, $78 = 0.0, $79 = 0, $80 = 0, $81 = 0, $9 = 0, $91 = 0, $96 = 0, $99 = 0, label = 0; + $9 = ($3 | 0) == 1; + if ($9) { + $$0 = ($0 | 0) / 2 | 0; + $$0132 = ($1 | 0) / 2 | 0; + $$0133 = ($4 | 0) / 4 | 0; + $$0134 = ($5 | 0) / 4 | 0; + } else { + $$0 = $0; + $$0132 = $1; + $$0133 = $4; + $$0134 = $5; + } + HEAP32[$8 >> 2] = 0; + $14 = $2 + 8 | 0; + $15 = $$0 + -2 | 0; + $16 = $$0132 + -2 | 0; + $17 = $2 + 1179664 | 0; + $$0128 = 0; + while (1) { + if (($$0128 | 0) >= (HEAP32[$14 >> 2] | 0)) { + label = 5; + break; + } + $20 = $2 + 12 + ($$0128 << 2) | 0; + $21 = HEAP32[$20 >> 2] | 0; + if (((((((!(($21 | 0) < ($$0134 | 0) | ($21 | 0) > ($$0133 | 0)) ? ($24 = $2 + 131084 + ($$0128 << 4) | 0, (HEAP32[$24 >> 2] | 0) != 1) : 0) ? (HEAP32[$2 + 131084 + ($$0128 << 4) + 4 >> 2] | 0) != ($15 | 0) : 0) ? (HEAP32[$2 + 131084 + ($$0128 << 4) + 8 >> 2] | 0) != 1 : 0) ? (HEAP32[$2 + 131084 + ($$0128 << 4) + 12 >> 2] | 0) != ($16 | 0) : 0) ? (_arGetContour(HEAP32[$2 >> 2] | 0, $$0, 0, $17, $$0128 + 1 | 0, $24, $7 + ((HEAP32[$8 >> 2] | 0) * 80048 | 0) | 0) | 0) >= 0 : 0) ? (_check_square(HEAP32[$20 >> 2] | 0, $7 + ((HEAP32[$8 >> 2] | 0) * 80048 | 0) | 0, $6) | 0) >= 0 : 0) ? (HEAP32[$7 + ((HEAP32[$8 >> 2] | 0) * 80048 | 0) >> 2] = HEAP32[$20 >> 2], $52 = HEAP32[$8 >> 2] | 0, HEAPF64[$7 + ($52 * 80048 | 0) + 8 >> 3] = +HEAPF64[$2 + 655376 + ($$0128 << 4) >> 3], HEAPF64[$7 + ($52 * 80048 | 0) + 16 >> 3] = +HEAPF64[$2 + 655376 + ($$0128 << 4) + 8 >> 3], $57 = $52 + 1 | 0, HEAP32[$8 >> 2] = $57, ($57 | 0) == 60) : 0) { + $$ph = 60; + break; + } + $$0128 = $$0128 + 1 | 0; + } + if ((label | 0) == 5) $$ph = HEAP32[$8 >> 2] | 0; + $$1129 = 0; + $61 = $$ph; + while (1) { + if (($$1129 | 0) >= ($61 | 0)) break; + $62 = $$1129 + 1 | 0; + $63 = $7 + ($$1129 * 80048 | 0) + 8 | 0; + $64 = $7 + ($$1129 * 80048 | 0) + 16 | 0; + $65 = $7 + ($$1129 * 80048 | 0) | 0; + $$0127 = $62; + $67 = $61; + while (1) { + if (($$0127 | 0) >= ($67 | 0)) break; + $71 = +HEAPF64[$63 >> 3] - +HEAPF64[$7 + ($$0127 * 80048 | 0) + 8 >> 3]; + $76 = +HEAPF64[$64 >> 3] - +HEAPF64[$7 + ($$0127 * 80048 | 0) + 16 >> 3]; + $78 = $71 * $71 + $76 * $76; + $79 = HEAP32[$65 >> 2] | 0; + $80 = $7 + ($$0127 * 80048 | 0) | 0; + $81 = HEAP32[$80 >> 2] | 0; + if (($79 | 0) > ($81 | 0)) { + if ($78 < +(($79 | 0) / 4 | 0 | 0)) HEAP32[$80 >> 2] = 0; + } else if ($78 < +(($81 | 0) / 4 | 0 | 0)) HEAP32[$65 >> 2] = 0; + $$0127 = $$0127 + 1 | 0; + $67 = HEAP32[$8 >> 2] | 0; + } + $$1129 = $62; + $61 = $67; + } + $$2130 = 0; + $91 = $61; + while (1) { + if (($$2130 | 0) >= ($91 | 0)) break; + if (!(HEAP32[$7 + ($$2130 * 80048 | 0) >> 2] | 0)) { + $$1$in = $$2130; + $96 = $91; + while (1) { + $$1 = $$1$in + 1 | 0; + if (($$1 | 0) >= ($96 | 0)) break; + _memcpy($7 + ($$1$in * 80048 | 0) | 0, $7 + ($$1 * 80048 | 0) | 0, 80048) | 0; + $$1$in = $$1; + $96 = HEAP32[$8 >> 2] | 0; + } + $99 = $96 + -1 | 0; + HEAP32[$8 >> 2] = $99; + $122 = $99; + } else $122 = $91; + $$2130 = $$2130 + 1 | 0; + $91 = $122; + } + L44 : do if ($9) { + $$0131 = $7; + $$3 = 0; + $102 = $91; + while (1) { + if (($$3 | 0) >= ($102 | 0)) break L44; + HEAP32[$$0131 >> 2] = HEAP32[$$0131 >> 2] << 2; + $105 = $$0131 + 8 | 0; + HEAPF64[$105 >> 3] = +HEAPF64[$105 >> 3] * 2.0; + $108 = $$0131 + 16 | 0; + HEAPF64[$108 >> 3] = +HEAPF64[$108 >> 3] * 2.0; + $$pre136 = HEAP32[$$0131 + 24 >> 2] | 0; + $$2 = 0; + while (1) { + if (($$2 | 0) >= ($$pre136 | 0)) break; + $113 = $$0131 + 28 + ($$2 << 2) | 0; + HEAP32[$113 >> 2] = HEAP32[$113 >> 2] << 1; + $116 = $$0131 + 40028 + ($$2 << 2) | 0; + HEAP32[$116 >> 2] = HEAP32[$116 >> 2] << 1; + $$2 = $$2 + 1 | 0; + } + $$0131 = $$0131 + 80048 | 0; + $$3 = $$3 + 1 | 0; + $102 = HEAP32[$8 >> 2] | 0; + } + } while (0); + return 0; +} + +function __ZNKSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_bRNS_8ios_baseEwRKNS_12basic_stringIwS3_NS_9allocatorIwEEEE($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$i$i = 0, $$0$i$i26 = 0, $$0$i$i28 = 0, $$byval_copy = 0, $$sink46 = 0, $$sink47 = 0, $$sink48 = 0, $$sroa$040$0 = 0, $10 = 0, $102 = 0, $103 = 0, $104 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $30 = 0, $42 = 0, $43 = 0, $44 = 0, $47 = 0, $48 = 0, $54 = 0, $6 = 0, $62 = 0, $7 = 0, $72 = 0, $8 = 0, $80 = 0, $88 = 0, $9 = 0, $91 = 0, $97 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 480 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(480); + $$byval_copy = sp + 464 | 0; + $6 = sp + 460 | 0; + $7 = sp + 468 | 0; + $8 = sp + 456 | 0; + $9 = sp + 452 | 0; + $10 = sp + 440 | 0; + $11 = sp + 428 | 0; + $12 = sp + 416 | 0; + $13 = sp + 412 | 0; + $14 = sp; + $15 = sp + 408 | 0; + $16 = sp + 404 | 0; + $17 = sp + 400 | 0; + __ZNKSt3__28ios_base6getlocEv($6, $3); + $18 = __ZNKSt3__26locale9use_facetERNS0_2idE($6, 66544) | 0; + $20 = $5 + 8 + 3 | 0; + $21 = HEAP8[$20 >> 0] | 0; + $22 = $21 << 24 >> 24 < 0; + $23 = $5 + 4 | 0; + if (!(($22 ? HEAP32[$23 >> 2] | 0 : $21 & 255) | 0)) $42 = 0; else { + $30 = HEAP32[($22 ? HEAP32[$5 >> 2] | 0 : $5) >> 2] | 0; + $42 = ($30 | 0) == (FUNCTION_TABLE_iii[HEAP32[(HEAP32[$18 >> 2] | 0) + 44 >> 2] & 127]($18, 45) | 0); + }; + HEAP32[$10 >> 2] = 0; + HEAP32[$10 + 4 >> 2] = 0; + HEAP32[$10 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$10 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + HEAP32[$11 >> 2] = 0; + HEAP32[$11 + 4 >> 2] = 0; + HEAP32[$11 + 8 >> 2] = 0; + $$0$i$i26 = 0; + while (1) { + if (($$0$i$i26 | 0) == 3) break; + HEAP32[$11 + ($$0$i$i26 << 2) >> 2] = 0; + $$0$i$i26 = $$0$i$i26 + 1 | 0; + } + HEAP32[$12 >> 2] = 0; + HEAP32[$12 + 4 >> 2] = 0; + HEAP32[$12 + 8 >> 2] = 0; + $$0$i$i28 = 0; + while (1) { + if (($$0$i$i28 | 0) == 3) break; + HEAP32[$12 + ($$0$i$i28 << 2) >> 2] = 0; + $$0$i$i28 = $$0$i$i28 + 1 | 0; + } + __ZNSt3__211__money_putIwE13__gather_infoEbbRKNS_6localeERNS_10money_base7patternERwS8_RNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERNS9_IwNSA_IwEENSC_IwEEEESJ_Ri($2, $42, $6, $7, $8, $9, $10, $11, $12, $13); + $43 = HEAP8[$20 >> 0] | 0; + $44 = $43 << 24 >> 24 < 0; + $47 = $44 ? HEAP32[$23 >> 2] | 0 : $43 & 255; + $48 = HEAP32[$13 >> 2] | 0; + if (($47 | 0) > ($48 | 0)) { + $54 = HEAP8[$12 + 8 + 3 >> 0] | 0; + $62 = HEAP8[$11 + 8 + 3 >> 0] | 0; + $$sink46 = $62 << 24 >> 24 < 0 ? HEAP32[$11 + 4 >> 2] | 0 : $62 & 255; + $$sink47 = $48 + 1 + ($47 - $48 << 1) | 0; + $$sink48 = $54 << 24 >> 24 < 0 ? HEAP32[$12 + 4 >> 2] | 0 : $54 & 255; + } else { + $72 = HEAP8[$12 + 8 + 3 >> 0] | 0; + $80 = HEAP8[$11 + 8 + 3 >> 0] | 0; + $$sink46 = $80 << 24 >> 24 < 0 ? HEAP32[$11 + 4 >> 2] | 0 : $80 & 255; + $$sink47 = $48 + 2 | 0; + $$sink48 = $72 << 24 >> 24 < 0 ? HEAP32[$12 + 4 >> 2] | 0 : $72 & 255; + } + $88 = $$sink47 + $$sink48 + $$sink46 | 0; + if ($88 >>> 0 > 100) { + $91 = _malloc($88 << 2) | 0; + if (!$91) __ZSt17__throw_bad_allocv(); else { + $$0 = $91; + $$sroa$040$0 = $91; + } + } else { + $$0 = $14; + $$sroa$040$0 = 0; + } + $97 = $44 ? HEAP32[$5 >> 2] | 0 : $5; + __ZNSt3__211__money_putIwE8__formatEPwRS2_S3_jPKwS5_RKNS_5ctypeIwEEbRKNS_10money_base7patternEwwRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNSE_IwNSF_IwEENSH_IwEEEESQ_i($$0, $15, $16, HEAP32[$3 + 4 >> 2] | 0, $97, $97 + ($47 << 2) | 0, $18, $42, $7, HEAP32[$8 >> 2] | 0, HEAP32[$9 >> 2] | 0, $10, $11, $12, $48); + HEAP32[$17 >> 2] = HEAP32[$1 >> 2]; + $102 = HEAP32[$15 >> 2] | 0; + $103 = HEAP32[$16 >> 2] | 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$17 >> 2]; + $104 = __ZNSt3__216__pad_and_outputIwNS_11char_traitsIwEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4_($$byval_copy, $$0, $102, $103, $3, $4) | 0; + if ($$sroa$040$0 | 0) _free($$sroa$040$0); + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev($12); + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev($11); + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($10); + __ZNSt3__26localeD2Ev($6); + STACKTOP = sp; + return $104 | 0; +} + +function _examine_app0($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$pre$phi107Z2D = 0, $100 = 0, $102 = 0, $106 = 0, $125 = 0, $127 = 0, $133 = 0, $139 = 0, $145 = 0, $155 = 0, $22 = 0, $23 = 0, $25 = 0, $26 = 0, $28 = 0, $29 = 0, $38 = 0, $39 = 0, $4 = 0, $48 = 0, $49 = 0, $50 = 0, $61 = 0, $64 = 0, $66 = 0, $69 = 0, $72 = 0, $75 = 0, $80 = 0, $81 = 0, $82 = 0, $83 = 0, $86 = 0, $98 = 0, label = 0; + $4 = $3 + $2 | 0; + if ($2 >>> 0 > 13) { + if ((HEAP8[$1 >> 0] | 0) == 74) if ((((HEAP8[$1 + 1 >> 0] | 0) == 70 ? (HEAP8[$1 + 2 >> 0] | 0) == 73 : 0) ? (HEAP8[$1 + 3 >> 0] | 0) == 70 : 0) ? (HEAP8[$1 + 4 >> 0] | 0) == 0 : 0) { + HEAP32[$0 + 284 >> 2] = 1; + $22 = HEAP8[$1 + 5 >> 0] | 0; + $23 = $0 + 288 | 0; + HEAP8[$23 >> 0] = $22; + $25 = HEAP8[$1 + 6 >> 0] | 0; + $26 = $0 + 289 | 0; + HEAP8[$26 >> 0] = $25; + $28 = HEAP8[$1 + 7 >> 0] | 0; + $29 = $0 + 290 | 0; + HEAP8[$29 >> 0] = $28; + $38 = (HEAPU8[$1 + 8 >> 0] << 8 | HEAPU8[$1 + 9 >> 0]) & 65535; + $39 = $0 + 292 | 0; + HEAP16[$39 >> 1] = $38; + $48 = (HEAPU8[$1 + 10 >> 0] << 8 | HEAPU8[$1 + 11 >> 0]) & 65535; + $49 = $0 + 294 | 0; + HEAP16[$49 >> 1] = $48; + if (($22 + -1 & 255) < 2) { + $$pre$phi107Z2D = $0; + $64 = $22; + $66 = $25; + $69 = $38; + $72 = $48; + $75 = $28; + } else { + $50 = HEAP32[$0 >> 2] | 0; + HEAP32[$50 + 20 >> 2] = 122; + HEAP32[$50 + 24 >> 2] = $22 & 255; + HEAP32[(HEAP32[$0 >> 2] | 0) + 28 >> 2] = HEAPU8[$26 >> 0]; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$0 >> 2] | 0) + 4 >> 2] & 255]($0, -1); + $$pre$phi107Z2D = $0; + $64 = HEAP8[$23 >> 0] | 0; + $66 = HEAP8[$26 >> 0] | 0; + $69 = HEAP16[$39 >> 1] | 0; + $72 = HEAP16[$49 >> 1] | 0; + $75 = HEAP8[$29 >> 0] | 0; + } + $61 = HEAP32[$0 >> 2] | 0; + HEAP32[$61 + 24 >> 2] = $64 & 255; + HEAP32[$61 + 28 >> 2] = $66 & 255; + HEAP32[$61 + 32 >> 2] = $69 & 65535; + HEAP32[$61 + 36 >> 2] = $72 & 65535; + HEAP32[$61 + 40 >> 2] = $75 & 255; + HEAP32[$61 + 20 >> 2] = 89; + FUNCTION_TABLE_vii[HEAP32[$61 + 4 >> 2] & 255]($$pre$phi107Z2D, 1); + $80 = $1 + 12 | 0; + $81 = HEAP8[$80 >> 0] | 0; + $82 = $1 + 13 | 0; + $83 = HEAP8[$82 >> 0] | 0; + if (!(($83 | $81) << 24 >> 24)) { + $100 = $81; + $102 = $83; + } else { + $86 = HEAP32[$0 >> 2] | 0; + HEAP32[$86 + 20 >> 2] = 92; + HEAP32[$86 + 24 >> 2] = HEAPU8[$80 >> 0]; + HEAP32[(HEAP32[$0 >> 2] | 0) + 28 >> 2] = HEAPU8[$82 >> 0]; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$0 >> 2] | 0) + 4 >> 2] & 255]($$pre$phi107Z2D, 1); + $100 = HEAP8[$80 >> 0] | 0; + $102 = HEAP8[$82 >> 0] | 0; + } + $98 = $4 + -14 | 0; + if (($98 | 0) == (Math_imul(($100 & 255) * 3 | 0, $102 & 255) | 0)) return; + $106 = HEAP32[$0 >> 2] | 0; + HEAP32[$106 + 20 >> 2] = 90; + HEAP32[$106 + 24 >> 2] = $98; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$0 >> 2] | 0) + 4 >> 2] & 255]($$pre$phi107Z2D, 1); + return; + } else label = 16; + } else if ($2 >>> 0 > 5 ? (HEAP8[$1 >> 0] | 0) == 74 : 0) label = 16; + if (((((label | 0) == 16 ? (HEAP8[$1 + 1 >> 0] | 0) == 70 : 0) ? (HEAP8[$1 + 2 >> 0] | 0) == 88 : 0) ? (HEAP8[$1 + 3 >> 0] | 0) == 88 : 0) ? (HEAP8[$1 + 4 >> 0] | 0) == 0 : 0) { + $125 = $1 + 5 | 0; + switch (HEAP8[$125 >> 0] | 0) { + case 16: + { + $127 = HEAP32[$0 >> 2] | 0; + HEAP32[$127 + 20 >> 2] = 110; + HEAP32[$127 + 24 >> 2] = $4; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$0 >> 2] | 0) + 4 >> 2] & 255]($0, 1); + return; + } + case 17: + { + $133 = HEAP32[$0 >> 2] | 0; + HEAP32[$133 + 20 >> 2] = 111; + HEAP32[$133 + 24 >> 2] = $4; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$0 >> 2] | 0) + 4 >> 2] & 255]($0, 1); + return; + } + case 19: + { + $139 = HEAP32[$0 >> 2] | 0; + HEAP32[$139 + 20 >> 2] = 112; + HEAP32[$139 + 24 >> 2] = $4; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$0 >> 2] | 0) + 4 >> 2] & 255]($0, 1); + return; + } + default: + { + $145 = HEAP32[$0 >> 2] | 0; + HEAP32[$145 + 20 >> 2] = 91; + HEAP32[$145 + 24 >> 2] = HEAPU8[$125 >> 0]; + HEAP32[(HEAP32[$0 >> 2] | 0) + 28 >> 2] = $4; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$0 >> 2] | 0) + 4 >> 2] & 255]($0, 1); + return; + } + } + } + $155 = HEAP32[$0 >> 2] | 0; + HEAP32[$155 + 20 >> 2] = 79; + HEAP32[$155 + 24 >> 2] = $4; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$0 >> 2] | 0) + 4 >> 2] & 255]($0, 1); + return; +} + +function ___get_locale($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$093$lcssa = 0, $$093118 = 0, $$094114 = 0, $$1 = 0, $$1100111 = 0, $$195112 = 0, $$2122 = 0, $$2123 = 0, $$2124 = 0, $$4 = 0, $11 = 0, $15 = 0, $2 = 0, $23 = 0, $3 = 0, $40 = 0, $48 = 0, $54 = 0, $58 = 0, $6 = 0, $62 = 0, $63 = 0, $64 = 0, $68 = 0, $70 = 0, $72 = 0, $76 = 0, $78 = 0, $82 = 0, $87 = 0, $93 = 0, $98 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 272 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(272); + $2 = sp; + $3 = sp + 256 | 0; + do if (!(HEAP8[$1 >> 0] | 0)) { + $6 = _getenv(50801) | 0; + if ($6 | 0 ? HEAP8[$6 >> 0] | 0 : 0) { + $$1 = $6; + break; + } + $11 = _getenv(12464 + ($0 * 12 | 0) | 0) | 0; + if ($11 | 0 ? HEAP8[$11 >> 0] | 0 : 0) { + $$1 = $11; + break; + } + $15 = _getenv(50808) | 0; + if ($15 | 0 ? HEAP8[$15 >> 0] | 0 : 0) { + $$1 = $15; + break; + } + $$1 = 50813; + } else $$1 = $1; while (0); + $$093118 = 0; + L13 : while (1) { + switch (HEAP8[$$1 + $$093118 >> 0] | 0) { + case 47: + case 0: + { + $$093$lcssa = $$093118; + break L13; + break; + } + default: + {} + } + $$093118 = $$093118 + 1 | 0; + if ($$093118 >>> 0 >= 15) { + $$093$lcssa = 15; + break; + } + } + $23 = HEAP8[$$1 >> 0] | 0; + if ($23 << 24 >> 24 != 46 ? (HEAP8[$$1 + $$093$lcssa >> 0] | 0) == 0 : 0) if ($23 << 24 >> 24 == 67) { + $$2122 = $$1; + label = 15; + } else { + $$2123 = $$1; + label = 16; + } else { + $$2122 = 50813; + label = 15; + } + if ((label | 0) == 15) if (!(HEAP8[$$2122 + 1 >> 0] | 0)) { + $$2124 = $$2122; + label = 18; + } else { + $$2123 = $$2122; + label = 16; + } + L22 : do if ((label | 0) == 16) if ((_strcmp($$2123, 50813) | 0) != 0 ? (_strcmp($$2123, 50821) | 0) != 0 : 0) { + $40 = HEAP32[16351] | 0; + if ($40 | 0) { + $$094114 = $40; + do { + if (!(_strcmp($$2123, $$094114 + 8 | 0) | 0)) { + $$0 = $$094114; + break L22; + } + $$094114 = HEAP32[$$094114 + 24 >> 2] | 0; + } while (($$094114 | 0) != 0); + } + ___lock(65408); + $48 = HEAP32[16351] | 0; + L32 : do if ($48 | 0) { + $$195112 = $48; + while (1) { + if (!(_strcmp($$2123, $$195112 + 8 | 0) | 0)) break; + $54 = HEAP32[$$195112 + 24 >> 2] | 0; + if (!$54) break L32; else $$195112 = $54; + } + ___unlock(65408); + $$0 = $$195112; + break L22; + } while (0); + L39 : do if (((HEAP32[16329] | 0) == 0 ? ($58 = _getenv(50827) | 0, ($58 | 0) != 0) : 0) ? (HEAP8[$58 >> 0] | 0) != 0 : 0) { + $62 = 254 - $$093$lcssa | 0; + $63 = $$093$lcssa + 1 | 0; + $$1100111 = $58; + while (1) { + $64 = ___strchrnul($$1100111, 58) | 0; + $68 = HEAP8[$64 >> 0] | 0; + $70 = $64 - $$1100111 + (($68 << 24 >> 24 != 0) << 31 >> 31) | 0; + if ($70 >>> 0 < $62 >>> 0) { + _memcpy($2 | 0, $$1100111 | 0, $70 | 0) | 0; + $72 = $2 + $70 | 0; + HEAP8[$72 >> 0] = 47; + _memcpy($72 + 1 | 0, $$2123 | 0, $$093$lcssa | 0) | 0; + HEAP8[$2 + ($63 + $70) >> 0] = 0; + $76 = ___map_file($2 | 0, $3 | 0) | 0; + if ($76 | 0) break; + $87 = HEAP8[$64 >> 0] | 0; + } else $87 = $68; + $$1100111 = $64 + ($87 << 24 >> 24 != 0 & 1) | 0; + if (!(HEAP8[$$1100111 >> 0] | 0)) { + label = 41; + break L39; + } + } + $78 = _malloc(28) | 0; + if (!$78) { + ___munmap($76, HEAP32[$3 >> 2] | 0) | 0; + label = 41; + break; + } else { + HEAP32[$78 >> 2] = $76; + HEAP32[$78 + 4 >> 2] = HEAP32[$3 >> 2]; + $82 = $78 + 8 | 0; + _memcpy($82 | 0, $$2123 | 0, $$093$lcssa | 0) | 0; + HEAP8[$82 + $$093$lcssa >> 0] = 0; + HEAP32[$78 + 24 >> 2] = HEAP32[16351]; + HEAP32[16351] = $78; + $$4 = $78; + break; + } + } else label = 41; while (0); + if ((label | 0) == 41) { + $93 = _malloc(28) | 0; + if (!$93) $$4 = $93; else { + HEAP32[$93 >> 2] = HEAP32[4258]; + HEAP32[$93 + 4 >> 2] = HEAP32[4259]; + $98 = $93 + 8 | 0; + _memcpy($98 | 0, $$2123 | 0, $$093$lcssa | 0) | 0; + HEAP8[$98 + $$093$lcssa >> 0] = 0; + HEAP32[$93 + 24 >> 2] = HEAP32[16351]; + HEAP32[16351] = $93; + $$4 = $93; + } + } + ___unlock(65408); + $$0 = ($0 | 0) == 0 & ($$4 | 0) == 0 ? 17032 : $$4; + } else { + $$2124 = $$2123; + label = 18; + } while (0); + do if ((label | 0) == 18) { + if (($0 | 0) == 0 ? (HEAP8[$$2124 + 1 >> 0] | 0) == 46 : 0) { + $$0 = 17032; + break; + } + $$0 = 0; + } while (0); + STACKTOP = sp; + return $$0 | 0; +} + +function __ZNSt3__29__num_putIwE21__widen_and_group_intEPcS2_S2_PwRS3_S4_RKNS_6localeE($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 = 0, $$0$i$i = 0, $$0$i$i78 = 0, $$07$i$i = 0, $$07$i$i77 = 0, $$072 = 0, $$073 = 0, $$075 = 0, $$1 = 0, $$174 = 0, $$176 = 0, $$pre$phiZ2D = 0, $103 = 0, $104 = 0, $112 = 0, $13 = 0, $14 = 0, $16 = 0, $25 = 0, $27 = 0, $28 = 0, $33 = 0, $34 = 0, $42 = 0, $47 = 0, $48 = 0, $55 = 0, $56 = 0, $59 = 0, $61 = 0, $67 = 0, $7 = 0, $70 = 0, $72 = 0, $73 = 0, $75 = 0, $77 = 0, $8 = 0, $85 = 0, $89 = 0, $9 = 0, $91 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $7 = sp; + $8 = __ZNKSt3__26locale9use_facetERNS0_2idE($6, 66544) | 0; + $9 = __ZNKSt3__26locale9use_facetERNS0_2idE($6, 66552) | 0; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$9 >> 2] | 0) + 20 >> 2] & 255]($7, $9); + $13 = $7 + 11 | 0; + $14 = HEAP8[$13 >> 0] | 0; + $16 = $7 + 4 | 0; + if (($14 << 24 >> 24 < 0 ? HEAP32[$16 >> 2] | 0 : $14 & 255) | 0) { + HEAP32[$5 >> 2] = $3; + $28 = HEAP8[$0 >> 0] | 0; + switch ($28 << 24 >> 24) { + case 43: + case 45: + { + $33 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$8 >> 2] | 0) + 44 >> 2] & 127]($8, $28) | 0; + $34 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $34 + 4; + HEAP32[$34 >> 2] = $33; + $$075 = $0 + 1 | 0; + break; + } + default: + $$075 = $0; + } + L7 : do if (($2 - $$075 | 0) > 1 ? (HEAP8[$$075 >> 0] | 0) == 48 : 0) { + $42 = $$075 + 1 | 0; + switch (HEAP8[$42 >> 0] | 0) { + case 88: + case 120: + break; + default: + { + $$176 = $$075; + break L7; + } + } + $47 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$8 >> 2] | 0) + 44 >> 2] & 127]($8, 48) | 0; + $48 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $48 + 4; + HEAP32[$48 >> 2] = $47; + $55 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$8 >> 2] | 0) + 44 >> 2] & 127]($8, HEAP8[$42 >> 0] | 0) | 0; + $56 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $56 + 4; + HEAP32[$56 >> 2] = $55; + $$176 = $$075 + 2 | 0; + } else $$176 = $$075; while (0); + L12 : do if (($$176 | 0) != ($2 | 0)) { + $$0$i$i = $2; + $$07$i$i = $$176; + while (1) { + $59 = $$0$i$i + -1 | 0; + if ($$07$i$i >>> 0 >= $59 >>> 0) break L12; + $61 = HEAP8[$$07$i$i >> 0] | 0; + HEAP8[$$07$i$i >> 0] = HEAP8[$59 >> 0] | 0; + HEAP8[$59 >> 0] = $61; + $$0$i$i = $59; + $$07$i$i = $$07$i$i + 1 | 0; + } + } while (0); + $67 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$9 >> 2] | 0) + 16 >> 2] & 127]($9) | 0; + $$0 = $$176; + $$072 = 0; + $$073 = 0; + while (1) { + if ($$0 >>> 0 >= $2 >>> 0) break; + $85 = HEAP8[((HEAP8[$13 >> 0] | 0) < 0 ? HEAP32[$7 >> 2] | 0 : $7) + $$072 >> 0] | 0; + if ($85 << 24 >> 24 != 0 & ($$073 | 0) == ($85 << 24 >> 24 | 0)) { + $89 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $89 + 4; + HEAP32[$89 >> 2] = $67; + $91 = HEAP8[$13 >> 0] | 0; + $$1 = $$072 + ($$072 >>> 0 < (($91 << 24 >> 24 < 0 ? HEAP32[$16 >> 2] | 0 : $91 & 255) + -1 | 0) >>> 0 & 1) | 0; + $$174 = 0; + } else { + $$1 = $$072; + $$174 = $$073; + } + $103 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$8 >> 2] | 0) + 44 >> 2] & 127]($8, HEAP8[$$0 >> 0] | 0) | 0; + $104 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $104 + 4; + HEAP32[$104 >> 2] = $103; + $$0 = $$0 + 1 | 0; + $$072 = $$1; + $$073 = $$174 + 1 | 0; + } + $70 = $0; + $72 = $3 + ($$176 - $70 << 2) | 0; + $73 = HEAP32[$5 >> 2] | 0; + if (($72 | 0) == ($73 | 0)) { + $$pre$phiZ2D = $70; + $112 = $72; + } else { + $$0$i$i78 = $73; + $$07$i$i77 = $72; + while (1) { + $75 = $$0$i$i78 + -4 | 0; + if ($$07$i$i77 >>> 0 >= $75 >>> 0) break; + $77 = HEAP32[$$07$i$i77 >> 2] | 0; + HEAP32[$$07$i$i77 >> 2] = HEAP32[$75 >> 2]; + HEAP32[$75 >> 2] = $77; + $$0$i$i78 = $75; + $$07$i$i77 = $$07$i$i77 + 4 | 0; + } + $$pre$phiZ2D = $70; + $112 = HEAP32[$5 >> 2] | 0; + } + } else { + FUNCTION_TABLE_iiiii[HEAP32[(HEAP32[$8 >> 2] | 0) + 48 >> 2] & 15]($8, $0, $2, $3) | 0; + $25 = $0; + $27 = $3 + ($2 - $25 << 2) | 0; + HEAP32[$5 >> 2] = $27; + $$pre$phiZ2D = $25; + $112 = $27; + } + HEAP32[$4 >> 2] = ($1 | 0) == ($2 | 0) ? $112 : $3 + ($1 - $$pre$phiZ2D << 2) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($7); + STACKTOP = sp; + return; +} + +function __ZNSt3__29__num_putIcE21__widen_and_group_intEPcS2_S2_S2_RS2_S3_RKNS_6localeE($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 = 0, $$0$i$i = 0, $$0$i$i76 = 0, $$07$i$i = 0, $$07$i$i75 = 0, $$070 = 0, $$071 = 0, $$073 = 0, $$1 = 0, $$172 = 0, $$174 = 0, $$pre$phiZ2D = 0, $103 = 0, $104 = 0, $112 = 0, $13 = 0, $14 = 0, $16 = 0, $25 = 0, $27 = 0, $28 = 0, $33 = 0, $34 = 0, $42 = 0, $47 = 0, $48 = 0, $55 = 0, $56 = 0, $59 = 0, $61 = 0, $67 = 0, $7 = 0, $70 = 0, $72 = 0, $73 = 0, $75 = 0, $77 = 0, $8 = 0, $85 = 0, $89 = 0, $9 = 0, $91 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $7 = sp; + $8 = __ZNKSt3__26locale9use_facetERNS0_2idE($6, 66512) | 0; + $9 = __ZNKSt3__26locale9use_facetERNS0_2idE($6, 66528) | 0; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$9 >> 2] | 0) + 20 >> 2] & 255]($7, $9); + $13 = $7 + 11 | 0; + $14 = HEAP8[$13 >> 0] | 0; + $16 = $7 + 4 | 0; + if (($14 << 24 >> 24 < 0 ? HEAP32[$16 >> 2] | 0 : $14 & 255) | 0) { + HEAP32[$5 >> 2] = $3; + $28 = HEAP8[$0 >> 0] | 0; + switch ($28 << 24 >> 24) { + case 43: + case 45: + { + $33 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$8 >> 2] | 0) + 28 >> 2] & 127]($8, $28) | 0; + $34 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $34 + 1; + HEAP8[$34 >> 0] = $33; + $$073 = $0 + 1 | 0; + break; + } + default: + $$073 = $0; + } + L7 : do if (($2 - $$073 | 0) > 1 ? (HEAP8[$$073 >> 0] | 0) == 48 : 0) { + $42 = $$073 + 1 | 0; + switch (HEAP8[$42 >> 0] | 0) { + case 88: + case 120: + break; + default: + { + $$174 = $$073; + break L7; + } + } + $47 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$8 >> 2] | 0) + 28 >> 2] & 127]($8, 48) | 0; + $48 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $48 + 1; + HEAP8[$48 >> 0] = $47; + $55 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$8 >> 2] | 0) + 28 >> 2] & 127]($8, HEAP8[$42 >> 0] | 0) | 0; + $56 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $56 + 1; + HEAP8[$56 >> 0] = $55; + $$174 = $$073 + 2 | 0; + } else $$174 = $$073; while (0); + L12 : do if (($$174 | 0) != ($2 | 0)) { + $$0$i$i = $2; + $$07$i$i = $$174; + while (1) { + $59 = $$0$i$i + -1 | 0; + if ($$07$i$i >>> 0 >= $59 >>> 0) break L12; + $61 = HEAP8[$$07$i$i >> 0] | 0; + HEAP8[$$07$i$i >> 0] = HEAP8[$59 >> 0] | 0; + HEAP8[$59 >> 0] = $61; + $$0$i$i = $59; + $$07$i$i = $$07$i$i + 1 | 0; + } + } while (0); + $67 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$9 >> 2] | 0) + 16 >> 2] & 127]($9) | 0; + $$0 = $$174; + $$070 = 0; + $$071 = 0; + while (1) { + if ($$0 >>> 0 >= $2 >>> 0) break; + $85 = HEAP8[((HEAP8[$13 >> 0] | 0) < 0 ? HEAP32[$7 >> 2] | 0 : $7) + $$070 >> 0] | 0; + if ($85 << 24 >> 24 != 0 & ($$071 | 0) == ($85 << 24 >> 24 | 0)) { + $89 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $89 + 1; + HEAP8[$89 >> 0] = $67; + $91 = HEAP8[$13 >> 0] | 0; + $$1 = $$070 + ($$070 >>> 0 < (($91 << 24 >> 24 < 0 ? HEAP32[$16 >> 2] | 0 : $91 & 255) + -1 | 0) >>> 0 & 1) | 0; + $$172 = 0; + } else { + $$1 = $$070; + $$172 = $$071; + } + $103 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$8 >> 2] | 0) + 28 >> 2] & 127]($8, HEAP8[$$0 >> 0] | 0) | 0; + $104 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $104 + 1; + HEAP8[$104 >> 0] = $103; + $$0 = $$0 + 1 | 0; + $$070 = $$1; + $$071 = $$172 + 1 | 0; + } + $70 = $0; + $72 = $3 + ($$174 - $70) | 0; + $73 = HEAP32[$5 >> 2] | 0; + if (($72 | 0) == ($73 | 0)) { + $$pre$phiZ2D = $70; + $112 = $72; + } else { + $$0$i$i76 = $73; + $$07$i$i75 = $72; + while (1) { + $75 = $$0$i$i76 + -1 | 0; + if ($$07$i$i75 >>> 0 >= $75 >>> 0) break; + $77 = HEAP8[$$07$i$i75 >> 0] | 0; + HEAP8[$$07$i$i75 >> 0] = HEAP8[$75 >> 0] | 0; + HEAP8[$75 >> 0] = $77; + $$0$i$i76 = $75; + $$07$i$i75 = $$07$i$i75 + 1 | 0; + } + $$pre$phiZ2D = $70; + $112 = HEAP32[$5 >> 2] | 0; + } + } else { + FUNCTION_TABLE_iiiii[HEAP32[(HEAP32[$8 >> 2] | 0) + 32 >> 2] & 15]($8, $0, $2, $3) | 0; + $25 = $0; + $27 = $3 + ($2 - $25) | 0; + HEAP32[$5 >> 2] = $27; + $$pre$phiZ2D = $25; + $112 = $27; + } + HEAP32[$4 >> 2] = ($1 | 0) == ($2 | 0) ? $112 : $3 + ($1 - $$pre$phiZ2D) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($7); + STACKTOP = sp; + return; +} + +function __ZNKSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_bRNS_8ios_baseERjRe($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 = 0, $$0$i = 0, $$0$i$i$i$i = 0, $$0$i$i2$i$i = 0, $$0$lcssa$i = 0, $$025 = 0, $$1 = 0, $$2 = 0, $$byval_copy = 0, $$sroa$0$0$copyload = 0, $$sroa$027$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $17 = 0, $20 = 0, $25 = 0, $26 = 0, $27 = 0, $29 = 0, $30 = 0, $33 = 0, $39 = 0, $40 = 0, $42 = 0, $45 = 0, $59 = 0, $62 = 0, $7 = 0, $74 = 0, $77 = 0, $8 = 0, $9 = 0, $91 = 0, $95 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 592 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(592); + $$byval_copy = sp + 512 | 0; + $vararg_buffer = sp + 552 | 0; + $7 = sp + 112 | 0; + $8 = sp + 568 | 0; + $9 = sp + 564 | 0; + $10 = sp + 560 | 0; + $11 = sp + 576 | 0; + $12 = sp + 556 | 0; + $13 = sp; + HEAP32[$8 >> 2] = $7; + HEAP32[$8 + 4 >> 2] = 214; + __ZNKSt3__28ios_base6getlocEv($10, $4); + $17 = __ZNKSt3__26locale9use_facetERNS0_2idE($10, 66544) | 0; + HEAP8[$11 >> 0] = 0; + HEAP32[$12 >> 2] = HEAP32[$2 >> 2]; + $20 = HEAP32[$4 + 4 >> 2] | 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$12 >> 2]; + if (__ZNSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE8__do_getERS4_S4_bRKNS_6localeEjRjRbRKNS_5ctypeIwEERNS_10unique_ptrIwPFvPvEEERPwSM_($1, $$byval_copy, $3, $10, $20, $5, $11, $17, $8, $9, $7 + 400 | 0) | 0) { + FUNCTION_TABLE_iiiii[HEAP32[(HEAP32[$17 >> 2] | 0) + 48 >> 2] & 15]($17, 60349, 60359, $$byval_copy) | 0; + $25 = HEAP32[$9 >> 2] | 0; + $26 = HEAP32[$8 >> 2] | 0; + $27 = $25 - $26 | 0; + $29 = $26; + $30 = $25; + if (($27 | 0) > 392) { + $33 = _malloc(($27 >>> 2) + 2 | 0) | 0; + if (!$33) __ZSt17__throw_bad_allocv(); else { + $$025 = $33; + $$sroa$027$0 = $33; + } + } else { + $$025 = $13; + $$sroa$027$0 = 0; + } + if (!(HEAP8[$11 >> 0] | 0)) $$1 = $$025; else { + HEAP8[$$025 >> 0] = 45; + $$1 = $$025 + 1 | 0; + } + $39 = $$byval_copy + 40 | 0; + $40 = $$byval_copy; + $$0 = $29; + $$2 = $$1; + $42 = $30; + while (1) { + if ($$0 >>> 0 >= $42 >>> 0) break; + $45 = HEAP32[$$0 >> 2] | 0; + $$0$i = $$byval_copy; + while (1) { + if (($$0$i | 0) == ($39 | 0)) { + $$0$lcssa$i = $39; + break; + } + if ((HEAP32[$$0$i >> 2] | 0) == ($45 | 0)) { + $$0$lcssa$i = $$0$i; + break; + } + $$0$i = $$0$i + 4 | 0; + } + HEAP8[$$2 >> 0] = HEAP8[60349 + ($$0$lcssa$i - $40 >> 2) >> 0] | 0; + $$0 = $$0 + 4 | 0; + $$2 = $$2 + 1 | 0; + $42 = HEAP32[$9 >> 2] | 0; + } + HEAP8[$$2 >> 0] = 0; + HEAP32[$vararg_buffer >> 2] = $6; + if ((_sscanf($13, 60250, $vararg_buffer) | 0) != 1) __ZNSt3__221__throw_runtime_errorEPKc(0); + if ($$sroa$027$0 | 0) _free($$sroa$027$0); + } + $59 = HEAP32[$1 >> 2] | 0; + do if ($59) { + $62 = HEAP32[$59 + 12 >> 2] | 0; + if (($62 | 0) == (HEAP32[$59 + 16 >> 2] | 0)) $$0$i$i$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$59 >> 2] | 0) + 36 >> 2] & 127]($59) | 0; else $$0$i$i$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$62 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $95 = 1; + break; + } else { + $95 = (HEAP32[$1 >> 2] | 0) == 0; + break; + } + } else $95 = 1; while (0); + $74 = HEAP32[$2 >> 2] | 0; + do if ($74) { + $77 = HEAP32[$74 + 12 >> 2] | 0; + if (($77 | 0) == (HEAP32[$74 + 16 >> 2] | 0)) $$0$i$i2$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$74 >> 2] | 0) + 36 >> 2] & 127]($74) | 0; else $$0$i$i2$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$77 >> 2] | 0) | 0; + if (!(__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0)) if ($95) break; else { + label = 34; + break; + } else { + HEAP32[$2 >> 2] = 0; + label = 32; + break; + } + } else label = 32; while (0); + if ((label | 0) == 32 ? $95 : 0) label = 34; + if ((label | 0) == 34) HEAP32[$5 >> 2] = HEAP32[$5 >> 2] | 2; + $$sroa$0$0$copyload = HEAP32[$1 >> 2] | 0; + __ZNSt3__26localeD2Ev($10); + $91 = HEAP32[$8 >> 2] | 0; + HEAP32[$8 >> 2] = 0; + if ($91 | 0) FUNCTION_TABLE_vi[HEAP32[$8 + 4 >> 2] & 255]($91); + STACKTOP = sp; + return $$sroa$0$0$copyload | 0; +} + +function __ZNKSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_bRNS_8ios_baseEcRKNS_12basic_stringIcS3_NS_9allocatorIcEEEE($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$i$i = 0, $$0$i$i26 = 0, $$0$i$i29 = 0, $$byval_copy = 0, $$sink47 = 0, $$sink48 = 0, $$sink49 = 0, $$sroa$041$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, $29 = 0, $41 = 0, $42 = 0, $43 = 0, $46 = 0, $47 = 0, $52 = 0, $59 = 0, $6 = 0, $68 = 0, $7 = 0, $75 = 0, $8 = 0, $83 = 0, $85 = 0, $9 = 0, $91 = 0, $96 = 0, $97 = 0, $98 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 176 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(176); + $$byval_copy = sp + 156 | 0; + $6 = sp + 152 | 0; + $7 = sp + 164 | 0; + $8 = sp + 161 | 0; + $9 = sp + 160 | 0; + $10 = sp + 140 | 0; + $11 = sp + 128 | 0; + $12 = sp + 116 | 0; + $13 = sp + 112 | 0; + $14 = sp; + $15 = sp + 108 | 0; + $16 = sp + 104 | 0; + $17 = sp + 100 | 0; + __ZNKSt3__28ios_base6getlocEv($6, $3); + $18 = __ZNKSt3__26locale9use_facetERNS0_2idE($6, 66512) | 0; + $19 = $5 + 11 | 0; + $20 = HEAP8[$19 >> 0] | 0; + $21 = $20 << 24 >> 24 < 0; + $22 = $5 + 4 | 0; + if (!(($21 ? HEAP32[$22 >> 2] | 0 : $20 & 255) | 0)) $41 = 0; else { + $29 = HEAP8[($21 ? HEAP32[$5 >> 2] | 0 : $5) >> 0] | 0; + $41 = $29 << 24 >> 24 == (FUNCTION_TABLE_iii[HEAP32[(HEAP32[$18 >> 2] | 0) + 28 >> 2] & 127]($18, 45) | 0) << 24 >> 24; + }; + HEAP32[$10 >> 2] = 0; + HEAP32[$10 + 4 >> 2] = 0; + HEAP32[$10 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$10 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + HEAP32[$11 >> 2] = 0; + HEAP32[$11 + 4 >> 2] = 0; + HEAP32[$11 + 8 >> 2] = 0; + $$0$i$i26 = 0; + while (1) { + if (($$0$i$i26 | 0) == 3) break; + HEAP32[$11 + ($$0$i$i26 << 2) >> 2] = 0; + $$0$i$i26 = $$0$i$i26 + 1 | 0; + } + HEAP32[$12 >> 2] = 0; + HEAP32[$12 + 4 >> 2] = 0; + HEAP32[$12 + 8 >> 2] = 0; + $$0$i$i29 = 0; + while (1) { + if (($$0$i$i29 | 0) == 3) break; + HEAP32[$12 + ($$0$i$i29 << 2) >> 2] = 0; + $$0$i$i29 = $$0$i$i29 + 1 | 0; + } + __ZNSt3__211__money_putIcE13__gather_infoEbbRKNS_6localeERNS_10money_base7patternERcS8_RNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEESF_SF_Ri($2, $41, $6, $7, $8, $9, $10, $11, $12, $13); + $42 = HEAP8[$19 >> 0] | 0; + $43 = $42 << 24 >> 24 < 0; + $46 = $43 ? HEAP32[$22 >> 2] | 0 : $42 & 255; + $47 = HEAP32[$13 >> 2] | 0; + if (($46 | 0) > ($47 | 0)) { + $52 = HEAP8[$12 + 11 >> 0] | 0; + $59 = HEAP8[$11 + 11 >> 0] | 0; + $$sink47 = $59 << 24 >> 24 < 0 ? HEAP32[$11 + 4 >> 2] | 0 : $59 & 255; + $$sink48 = $47 + 1 + ($46 - $47 << 1) | 0; + $$sink49 = $52 << 24 >> 24 < 0 ? HEAP32[$12 + 4 >> 2] | 0 : $52 & 255; + } else { + $68 = HEAP8[$12 + 11 >> 0] | 0; + $75 = HEAP8[$11 + 11 >> 0] | 0; + $$sink47 = $75 << 24 >> 24 < 0 ? HEAP32[$11 + 4 >> 2] | 0 : $75 & 255; + $$sink48 = $47 + 2 | 0; + $$sink49 = $68 << 24 >> 24 < 0 ? HEAP32[$12 + 4 >> 2] | 0 : $68 & 255; + } + $83 = $$sink48 + $$sink49 + $$sink47 | 0; + if ($83 >>> 0 > 100) { + $85 = _malloc($83) | 0; + if (!$85) __ZSt17__throw_bad_allocv(); else { + $$0 = $85; + $$sroa$041$0 = $85; + } + } else { + $$0 = $14; + $$sroa$041$0 = 0; + } + $91 = $43 ? HEAP32[$5 >> 2] | 0 : $5; + __ZNSt3__211__money_putIcE8__formatEPcRS2_S3_jPKcS5_RKNS_5ctypeIcEEbRKNS_10money_base7patternEccRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEESL_SL_i($$0, $15, $16, HEAP32[$3 + 4 >> 2] | 0, $91, $91 + $46 | 0, $18, $41, $7, HEAP8[$8 >> 0] | 0, HEAP8[$9 >> 0] | 0, $10, $11, $12, $47); + HEAP32[$17 >> 2] = HEAP32[$1 >> 2]; + $96 = HEAP32[$15 >> 2] | 0; + $97 = HEAP32[$16 >> 2] | 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$17 >> 2]; + $98 = __ZNSt3__216__pad_and_outputIcNS_11char_traitsIcEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4_($$byval_copy, $$0, $96, $97, $3, $4) | 0; + if ($$sroa$041$0 | 0) _free($$sroa$041$0); + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($12); + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($11); + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($10); + __ZNSt3__26localeD2Ev($6); + STACKTOP = sp; + return $98 | 0; +} + +function __ZNKSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_bRNS_8ios_baseERjRe($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 = 0, $$0$i = 0, $$0$i$i$i$i = 0, $$0$i$i2$i$i = 0, $$0$lcssa$i = 0, $$025 = 0, $$1 = 0, $$2 = 0, $$byval_copy = 0, $$sroa$0$0$copyload = 0, $$sroa$028$0 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $17 = 0, $20 = 0, $25 = 0, $26 = 0, $27 = 0, $29 = 0, $30 = 0, $32 = 0, $38 = 0, $39 = 0, $41 = 0, $44 = 0, $57 = 0, $60 = 0, $7 = 0, $72 = 0, $75 = 0, $8 = 0, $89 = 0, $9 = 0, $93 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(256); + $$byval_copy = sp + 240 | 0; + $vararg_buffer = sp + 216 | 0; + $7 = sp + 112 | 0; + $8 = sp + 232 | 0; + $9 = sp + 228 | 0; + $10 = sp + 224 | 0; + $11 = sp + 250 | 0; + $12 = sp + 220 | 0; + $13 = sp; + HEAP32[$8 >> 2] = $7; + HEAP32[$8 + 4 >> 2] = 214; + __ZNKSt3__28ios_base6getlocEv($10, $4); + $17 = __ZNKSt3__26locale9use_facetERNS0_2idE($10, 66512) | 0; + HEAP8[$11 >> 0] = 0; + HEAP32[$12 >> 2] = HEAP32[$2 >> 2]; + $20 = HEAP32[$4 + 4 >> 2] | 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$12 >> 2]; + if (__ZNSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE8__do_getERS4_S4_bRKNS_6localeEjRjRbRKNS_5ctypeIcEERNS_10unique_ptrIcPFvPvEEERPcSM_($1, $$byval_copy, $3, $10, $20, $5, $11, $17, $8, $9, $7 + 100 | 0) | 0) { + FUNCTION_TABLE_iiiii[HEAP32[(HEAP32[$17 >> 2] | 0) + 32 >> 2] & 15]($17, 60239, 60249, $$byval_copy) | 0; + $25 = HEAP32[$9 >> 2] | 0; + $26 = HEAP32[$8 >> 2] | 0; + $27 = $25 - $26 | 0; + $29 = $26; + $30 = $25; + if (($27 | 0) > 98) { + $32 = _malloc($27 + 2 | 0) | 0; + if (!$32) __ZSt17__throw_bad_allocv(); else { + $$025 = $32; + $$sroa$028$0 = $32; + } + } else { + $$025 = $13; + $$sroa$028$0 = 0; + } + if (!(HEAP8[$11 >> 0] | 0)) $$1 = $$025; else { + HEAP8[$$025 >> 0] = 45; + $$1 = $$025 + 1 | 0; + } + $38 = $$byval_copy + 10 | 0; + $39 = $$byval_copy; + $$0 = $29; + $$2 = $$1; + $41 = $30; + while (1) { + if ($$0 >>> 0 >= $41 >>> 0) break; + $44 = HEAP8[$$0 >> 0] | 0; + $$0$i = $$byval_copy; + while (1) { + if (($$0$i | 0) == ($38 | 0)) { + $$0$lcssa$i = $38; + break; + } + if ((HEAP8[$$0$i >> 0] | 0) == $44 << 24 >> 24) { + $$0$lcssa$i = $$0$i; + break; + } + $$0$i = $$0$i + 1 | 0; + } + HEAP8[$$2 >> 0] = HEAP8[60239 + ($$0$lcssa$i - $39) >> 0] | 0; + $$0 = $$0 + 1 | 0; + $$2 = $$2 + 1 | 0; + $41 = HEAP32[$9 >> 2] | 0; + } + HEAP8[$$2 >> 0] = 0; + HEAP32[$vararg_buffer >> 2] = $6; + if ((_sscanf($13, 60250, $vararg_buffer) | 0) != 1) __ZNSt3__221__throw_runtime_errorEPKc(0); + if ($$sroa$028$0 | 0) _free($$sroa$028$0); + } + $57 = HEAP32[$1 >> 2] | 0; + do if ($57) { + $60 = HEAP32[$57 + 12 >> 2] | 0; + if (($60 | 0) == (HEAP32[$57 + 16 >> 2] | 0)) $$0$i$i$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$57 >> 2] | 0) + 36 >> 2] & 127]($57) | 0; else $$0$i$i$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$60 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $93 = 1; + break; + } else { + $93 = (HEAP32[$1 >> 2] | 0) == 0; + break; + } + } else $93 = 1; while (0); + $72 = HEAP32[$2 >> 2] | 0; + do if ($72) { + $75 = HEAP32[$72 + 12 >> 2] | 0; + if (($75 | 0) == (HEAP32[$72 + 16 >> 2] | 0)) $$0$i$i2$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$72 >> 2] | 0) + 36 >> 2] & 127]($72) | 0; else $$0$i$i2$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$75 >> 0] | 0) | 0; + if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) if ($93) break; else { + label = 34; + break; + } else { + HEAP32[$2 >> 2] = 0; + label = 32; + break; + } + } else label = 32; while (0); + if ((label | 0) == 32 ? $93 : 0) label = 34; + if ((label | 0) == 34) HEAP32[$5 >> 2] = HEAP32[$5 >> 2] | 2; + $$sroa$0$0$copyload = HEAP32[$1 >> 2] | 0; + __ZNSt3__26localeD2Ev($10); + $89 = HEAP32[$8 >> 2] | 0; + HEAP32[$8 >> 2] = 0; + if ($89 | 0) FUNCTION_TABLE_vi[HEAP32[$8 + 4 >> 2] & 255]($89); + STACKTOP = sp; + return $$sroa$0$0$copyload | 0; +} + +function _pass2_fs_dither($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0184212 = 0, $$0185211 = 0, $$0186210 = 0, $$0187209 = 0, $$0188208 = 0, $$0189$lcssa = 0, $$0189207 = 0, $$0190$lcssa = 0, $$0190206 = 0, $$0191$lcssa = 0, $$0191205 = 0, $$0192204 = 0, $$0193217 = 0, $$0194 = 0, $$0195 = 0, $$0196 = 0, $$0197 = 0, $$0199 = 0, $$0213 = 0, $$1$lcssa = 0, $$1198202 = 0, $$1200201 = 0, $$1203 = 0, $102 = 0, $106 = 0, $11 = 0, $110 = 0, $13 = 0, $15 = 0, $16 = 0, $18 = 0, $20 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $28 = 0, $30 = 0, $32 = 0, $40 = 0, $41 = 0, $42 = 0, $5 = 0, $7 = 0, $80 = 0, $83 = 0, $86 = 0, $87 = 0, $9 = 0, $90 = 0, $91 = 0, $92 = 0, $93 = 0, $96 = 0, $97 = 0, $storemerge = 0, $$1203$looptemp = 0; + $5 = HEAP32[$0 + 484 >> 2] | 0; + $7 = HEAP32[$5 + 24 >> 2] | 0; + $9 = HEAP32[$0 + 112 >> 2] | 0; + $11 = HEAP32[$0 + 336 >> 2] | 0; + $13 = HEAP32[$5 + 40 >> 2] | 0; + $15 = HEAP32[$0 + 136 >> 2] | 0; + $16 = HEAP32[$15 >> 2] | 0; + $18 = HEAP32[$15 + 4 >> 2] | 0; + $20 = HEAP32[$15 + 8 >> 2] | 0; + if (($3 | 0) <= 0) return; + $22 = $5 + 36 | 0; + $23 = $5 + 32 | 0; + $24 = ($9 | 0) == 0; + $25 = $9 + -1 | 0; + $26 = $25 * 3 | 0; + $28 = ($9 * 3 | 0) + 3 | 0; + $$0193217 = 0; + do { + $30 = HEAP32[$1 + ($$0193217 << 2) >> 2] | 0; + $32 = HEAP32[$2 + ($$0193217 << 2) >> 2] | 0; + if (!(HEAP32[$22 >> 2] | 0)) { + $$0194 = 3; + $$0195 = 1; + $$0196 = HEAP32[$23 >> 2] | 0; + $$0197 = $32; + $$0199 = $30; + $storemerge = 1; + } else { + $$0194 = -3; + $$0195 = -1; + $$0196 = (HEAP32[$23 >> 2] | 0) + ($28 << 1) | 0; + $$0197 = $32 + $25 | 0; + $$0199 = $30 + $26 | 0; + $storemerge = 0; + } + HEAP32[$22 >> 2] = $storemerge; + if ($24) { + $$0189$lcssa = 0; + $$0190$lcssa = 0; + $$0191$lcssa = 0; + $$1$lcssa = $$0196; + } else { + $40 = $$0194 + 1 | 0; + $41 = $$0194 + 2 | 0; + $42 = Math_imul($9, $$0194) | 0; + $$0184212 = 0; + $$0185211 = 0; + $$0186210 = 0; + $$0187209 = 0; + $$0188208 = 0; + $$0189207 = 0; + $$0190206 = 0; + $$0191205 = 0; + $$0192204 = $9; + $$0213 = 0; + $$1198202 = $$0197; + $$1200201 = $$0199; + $$1203 = $$0196; + while (1) { + $$1203$looptemp = $$1203; + $$1203 = $$1203 + ($$0194 << 1) | 0; + $80 = HEAPU8[$11 + ((HEAP32[$13 + ($$0213 + 8 + (HEAP16[$$1203 >> 1] | 0) >> 4 << 2) >> 2] | 0) + (HEAPU8[$$1200201 >> 0] | 0)) >> 0] | 0; + $83 = HEAPU8[$11 + ((HEAP32[$13 + ($$0184212 + 8 + (HEAP16[$$1203$looptemp + ($40 << 1) >> 1] | 0) >> 4 << 2) >> 2] | 0) + (HEAPU8[$$1200201 + 1 >> 0] | 0)) >> 0] | 0; + $86 = HEAPU8[$11 + ((HEAP32[$13 + ($$0185211 + 8 + (HEAP16[$$1203$looptemp + ($41 << 1) >> 1] | 0) >> 4 << 2) >> 2] | 0) + (HEAPU8[$$1200201 + 2 >> 0] | 0)) >> 0] | 0; + $87 = $80 >>> 3; + $90 = $83 >>> 2; + $91 = $86 >>> 3; + $92 = (HEAP32[$7 + ($87 << 2) >> 2] | 0) + ($90 << 6) + ($91 << 1) | 0; + $93 = HEAP16[$92 >> 1] | 0; + if (!($93 << 16 >> 16)) { + _fill_inverse_cmap($0, $87, $90, $91); + $96 = HEAP16[$92 >> 1] | 0; + } else $96 = $93; + $97 = ($96 & 65535) + -1 | 0; + HEAP8[$$1198202 >> 0] = $97; + $102 = $80 - (HEAPU8[$16 + $97 >> 0] | 0) | 0; + $106 = $83 - (HEAPU8[$18 + $97 >> 0] | 0) | 0; + $110 = $86 - (HEAPU8[$20 + $97 >> 0] | 0) | 0; + HEAP16[$$1203$looptemp >> 1] = ($102 * 3 | 0) + $$0189207; + $$0189207 = ($102 * 5 | 0) + $$0186210 | 0; + HEAP16[$$1203$looptemp + 2 >> 1] = ($106 * 3 | 0) + $$0190206; + $$0190206 = ($106 * 5 | 0) + $$0187209 | 0; + HEAP16[$$1203$looptemp + 4 >> 1] = ($110 * 3 | 0) + $$0191205; + $$0191205 = ($110 * 5 | 0) + $$0188208 | 0; + $$0192204 = $$0192204 + -1 | 0; + if (!$$0192204) break; else { + $$0184212 = $106 * 7 | 0; + $$0185211 = $110 * 7 | 0; + $$0186210 = $102; + $$0187209 = $106; + $$0188208 = $110; + $$0213 = $102 * 7 | 0; + $$1198202 = $$1198202 + $$0195 | 0; + $$1200201 = $$1200201 + $$0194 | 0; + } + } + $$0189$lcssa = $$0189207; + $$0190$lcssa = $$0190206; + $$0191$lcssa = $$0191205; + $$1$lcssa = $$0196 + ($42 << 1) | 0; + } + HEAP16[$$1$lcssa >> 1] = $$0189$lcssa; + HEAP16[$$1$lcssa + 2 >> 1] = $$0190$lcssa; + HEAP16[$$1$lcssa + 4 >> 1] = $$0191$lcssa; + $$0193217 = $$0193217 + 1 | 0; + } while (($$0193217 | 0) != ($3 | 0)); + return; +} + +function _jpeg_idct_5x10($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0196207 = 0, $$0198206 = 0, $$0199205 = 0, $$0208 = 0, $$1197203 = 0, $$1204 = 0, $131 = 0, $134 = 0, $137 = 0, $139 = 0, $141 = 0, $143 = 0, $144 = 0, $146 = 0, $147 = 0, $148 = 0, $15 = 0, $150 = 0, $152 = 0, $154 = 0, $156 = 0, $158 = 0, $160 = 0, $21 = 0, $23 = 0, $25 = 0, $28 = 0, $34 = 0, $40 = 0, $42 = 0, $44 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $56 = 0, $62 = 0, $68 = 0, $7 = 0, $74 = 0, $75 = 0, $76 = 0, $77 = 0, $78 = 0, $79 = 0, $80 = 0, $83 = 0, $86 = 0, $87 = 0, $90 = 0, $93 = 0, $96 = 0, $99 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 208 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(208); + $5 = sp; + $7 = HEAP32[$0 + 336 >> 2] | 0; + $$0196207 = $5; + $$0198206 = HEAP32[$1 + 84 >> 2] | 0; + $$0199205 = $2; + $$0208 = 0; + while (1) { + $15 = Math_imul(HEAP16[$$0199205 >> 1] << 13, HEAP32[$$0198206 >> 2] | 0) | 0 | 1024; + $21 = Math_imul(HEAP32[$$0198206 + 128 >> 2] | 0, HEAP16[$$0199205 + 64 >> 1] | 0) | 0; + $23 = ($21 * 9373 | 0) + $15 | 0; + $25 = (Math_imul($21, -3580) | 0) + $15 | 0; + $28 = (Math_imul($21, -11586) | 0) + $15 >> 11; + $34 = Math_imul(HEAP32[$$0198206 + 64 >> 2] | 0, HEAP16[$$0199205 + 32 >> 1] | 0) | 0; + $40 = Math_imul(HEAP32[$$0198206 + 192 >> 2] | 0, HEAP16[$$0199205 + 96 >> 1] | 0) | 0; + $42 = ($40 + $34 | 0) * 6810 | 0; + $44 = $42 + ($34 * 4209 | 0) | 0; + $46 = $42 + (Math_imul($40, -17828) | 0) | 0; + $47 = $44 + $23 | 0; + $48 = $23 - $44 | 0; + $49 = $46 + $25 | 0; + $50 = $25 - $46 | 0; + $56 = Math_imul(HEAP32[$$0198206 + 32 >> 2] | 0, HEAP16[$$0199205 + 16 >> 1] | 0) | 0; + $62 = Math_imul(HEAP32[$$0198206 + 96 >> 2] | 0, HEAP16[$$0199205 + 48 >> 1] | 0) | 0; + $68 = Math_imul(HEAP32[$$0198206 + 160 >> 2] | 0, HEAP16[$$0199205 + 80 >> 1] | 0) | 0; + $74 = Math_imul(HEAP32[$$0198206 + 224 >> 2] | 0, HEAP16[$$0199205 + 112 >> 1] | 0) | 0; + $75 = $74 + $62 | 0; + $76 = $62 - $74 | 0; + $77 = $76 * 2531 | 0; + $78 = $68 << 13; + $79 = $75 * 7791 | 0; + $80 = $77 + $78 | 0; + $83 = $79 + ($56 * 11443 | 0) + $80 | 0; + $86 = ($56 * 1812 | 0) - $79 + $80 | 0; + $87 = $75 * 4815 | 0; + $90 = $78 - $77 - ($76 << 12) | 0; + $93 = $56 - $68 - $76 << 2; + $96 = ($56 * 10323 | 0) - $87 - $90 | 0; + $99 = $90 + (($56 * 5260 | 0) - $87) | 0; + HEAP32[$$0196207 >> 2] = $83 + $47 >> 11; + HEAP32[$$0196207 + 180 >> 2] = $47 - $83 >> 11; + HEAP32[$$0196207 + 20 >> 2] = $96 + $49 >> 11; + HEAP32[$$0196207 + 160 >> 2] = $49 - $96 >> 11; + HEAP32[$$0196207 + 40 >> 2] = $93 + $28; + HEAP32[$$0196207 + 140 >> 2] = $28 - $93; + HEAP32[$$0196207 + 60 >> 2] = $99 + $50 >> 11; + HEAP32[$$0196207 + 120 >> 2] = $50 - $99 >> 11; + HEAP32[$$0196207 + 80 >> 2] = $86 + $48 >> 11; + HEAP32[$$0196207 + 100 >> 2] = $48 - $86 >> 11; + $$0208 = $$0208 + 1 | 0; + if (($$0208 | 0) == 5) break; else { + $$0196207 = $$0196207 + 4 | 0; + $$0198206 = $$0198206 + 4 | 0; + $$0199205 = $$0199205 + 2 | 0; + } + } + $131 = $7 + -384 | 0; + $$1197203 = $5; + $$1204 = 0; + while (1) { + $134 = (HEAP32[$3 + ($$1204 << 2) >> 2] | 0) + $4 | 0; + $137 = (HEAP32[$$1197203 >> 2] << 13) + 134348800 | 0; + $139 = HEAP32[$$1197203 + 8 >> 2] | 0; + $141 = HEAP32[$$1197203 + 16 >> 2] | 0; + $143 = ($141 + $139 | 0) * 6476 | 0; + $144 = $139 - $141 | 0; + $146 = ($144 * 2896 | 0) + $137 | 0; + $147 = $146 + $143 | 0; + $148 = $146 - $143 | 0; + $150 = (Math_imul($144, -11584) | 0) + $137 | 0; + $152 = HEAP32[$$1197203 + 4 >> 2] | 0; + $154 = HEAP32[$$1197203 + 12 >> 2] | 0; + $156 = ($154 + $152 | 0) * 6810 | 0; + $158 = $156 + ($152 * 4209 | 0) | 0; + $160 = $156 + (Math_imul($154, -17828) | 0) | 0; + HEAP8[$134 >> 0] = HEAP8[$131 + (($158 + $147 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$134 + 4 >> 0] = HEAP8[$131 + (($147 - $158 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$134 + 1 >> 0] = HEAP8[$131 + (($160 + $148 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$134 + 3 >> 0] = HEAP8[$131 + (($148 - $160 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$134 + 2 >> 0] = HEAP8[$131 + ($150 >>> 18 & 1023) >> 0] | 0; + $$1204 = $$1204 + 1 | 0; + if (($$1204 | 0) == 10) break; else $$1197203 = $$1197203 + 20 | 0; + } + STACKTOP = sp; + return; +} + +function _jpeg_idct_10x5($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0196205 = 0, $$0198204 = 0, $$0199203 = 0, $$0206 = 0, $$1197201 = 0, $$1202 = 0, $100 = 0, $102 = 0, $104 = 0, $107 = 0, $109 = 0, $110 = 0, $111 = 0, $112 = 0, $113 = 0, $114 = 0, $117 = 0, $120 = 0, $121 = 0, $124 = 0, $127 = 0, $130 = 0, $133 = 0, $15 = 0, $21 = 0, $27 = 0, $29 = 0, $30 = 0, $32 = 0, $33 = 0, $34 = 0, $36 = 0, $42 = 0, $48 = 0, $5 = 0, $50 = 0, $52 = 0, $54 = 0, $7 = 0, $72 = 0, $75 = 0, $78 = 0, $80 = 0, $82 = 0, $84 = 0, $86 = 0, $88 = 0, $90 = 0, $92 = 0, $94 = 0, $96 = 0, $97 = 0, $98 = 0, $99 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 160 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(160); + $5 = sp; + $7 = HEAP32[$0 + 336 >> 2] | 0; + $$0196205 = $5; + $$0198204 = HEAP32[$1 + 84 >> 2] | 0; + $$0199203 = $2; + $$0206 = 0; + while (1) { + $15 = Math_imul(HEAP16[$$0199203 >> 1] << 13, HEAP32[$$0198204 >> 2] | 0) | 0 | 1024; + $21 = Math_imul(HEAP32[$$0198204 + 64 >> 2] | 0, HEAP16[$$0199203 + 32 >> 1] | 0) | 0; + $27 = Math_imul(HEAP32[$$0198204 + 128 >> 2] | 0, HEAP16[$$0199203 + 64 >> 1] | 0) | 0; + $29 = ($27 + $21 | 0) * 6476 | 0; + $30 = $21 - $27 | 0; + $32 = ($30 * 2896 | 0) + $15 | 0; + $33 = $32 + $29 | 0; + $34 = $32 - $29 | 0; + $36 = (Math_imul($30, -11584) | 0) + $15 | 0; + $42 = Math_imul(HEAP32[$$0198204 + 32 >> 2] | 0, HEAP16[$$0199203 + 16 >> 1] | 0) | 0; + $48 = Math_imul(HEAP32[$$0198204 + 96 >> 2] | 0, HEAP16[$$0199203 + 48 >> 1] | 0) | 0; + $50 = ($48 + $42 | 0) * 6810 | 0; + $52 = $50 + ($42 * 4209 | 0) | 0; + $54 = $50 + (Math_imul($48, -17828) | 0) | 0; + HEAP32[$$0196205 >> 2] = $52 + $33 >> 11; + HEAP32[$$0196205 + 128 >> 2] = $33 - $52 >> 11; + HEAP32[$$0196205 + 32 >> 2] = $54 + $34 >> 11; + HEAP32[$$0196205 + 96 >> 2] = $34 - $54 >> 11; + HEAP32[$$0196205 + 64 >> 2] = $36 >> 11; + $$0206 = $$0206 + 1 | 0; + if (($$0206 | 0) == 8) break; else { + $$0196205 = $$0196205 + 4 | 0; + $$0198204 = $$0198204 + 4 | 0; + $$0199203 = $$0199203 + 2 | 0; + } + } + $72 = $7 + -384 | 0; + $$1197201 = $5; + $$1202 = 0; + while (1) { + $75 = (HEAP32[$3 + ($$1202 << 2) >> 2] | 0) + $4 | 0; + $78 = (HEAP32[$$1197201 >> 2] << 13) + 134348800 | 0; + $80 = HEAP32[$$1197201 + 16 >> 2] | 0; + $82 = $78 + ($80 * 9373 | 0) | 0; + $84 = $78 + (Math_imul($80, -3580) | 0) | 0; + $86 = $78 + (Math_imul($80, -11586) | 0) | 0; + $88 = HEAP32[$$1197201 + 8 >> 2] | 0; + $90 = HEAP32[$$1197201 + 24 >> 2] | 0; + $92 = ($90 + $88 | 0) * 6810 | 0; + $94 = $92 + ($88 * 4209 | 0) | 0; + $96 = $92 + (Math_imul($90, -17828) | 0) | 0; + $97 = $94 + $82 | 0; + $98 = $82 - $94 | 0; + $99 = $96 + $84 | 0; + $100 = $84 - $96 | 0; + $102 = HEAP32[$$1197201 + 4 >> 2] | 0; + $104 = HEAP32[$$1197201 + 12 >> 2] | 0; + $107 = HEAP32[$$1197201 + 20 >> 2] << 13; + $109 = HEAP32[$$1197201 + 28 >> 2] | 0; + $110 = $109 + $104 | 0; + $111 = $104 - $109 | 0; + $112 = $111 * 2531 | 0; + $113 = $110 * 7791 | 0; + $114 = $112 + $107 | 0; + $117 = $113 + ($102 * 11443 | 0) + $114 | 0; + $120 = ($102 * 1812 | 0) - $113 + $114 | 0; + $121 = $110 * 4815 | 0; + $124 = $107 - $112 - ($111 << 12) | 0; + $127 = ($102 - $111 << 13) - $107 | 0; + $130 = ($102 * 10323 | 0) - $121 - $124 | 0; + $133 = $124 + (($102 * 5260 | 0) - $121) | 0; + HEAP8[$75 >> 0] = HEAP8[$72 + (($117 + $97 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$75 + 9 >> 0] = HEAP8[$72 + (($97 - $117 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$75 + 1 >> 0] = HEAP8[$72 + (($130 + $99 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$75 + 8 >> 0] = HEAP8[$72 + (($99 - $130 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$75 + 2 >> 0] = HEAP8[$72 + (($127 + $86 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$75 + 7 >> 0] = HEAP8[$72 + (($86 - $127 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$75 + 3 >> 0] = HEAP8[$72 + (($133 + $100 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$75 + 6 >> 0] = HEAP8[$72 + (($100 - $133 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$75 + 4 >> 0] = HEAP8[$72 + (($120 + $98 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$75 + 5 >> 0] = HEAP8[$72 + (($98 - $120 | 0) >>> 18 & 1023) >> 0] | 0; + $$1202 = $$1202 + 1 | 0; + if (($$1202 | 0) == 5) break; else $$1197201 = $$1197201 + 32 | 0; + } + STACKTOP = sp; + return; +} + +function __ZN6vision20BinaryFeatureMatcherILi96EE5matchEPKNS_18BinaryFeatureStoreES4_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$055 = 0, $$056 = 0, $$057 = 0, $$058 = 0, $$061 = 0, $$2 = 0, $$260 = 0, $$263 = 0, $11 = 0, $12 = 0, $18 = 0, $21 = 0, $23 = 0, $27 = 0, $29 = 0, $3 = 0, $33 = 0, $34 = 0, $38 = 0, $41 = 0, $46 = 0, $47 = 0, $5 = 0, $58 = 0, $61 = 0, $66 = 0, $67 = 0, $79 = 0, $84 = 0, $88 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp; + $5 = $0 + 4 | 0; + HEAP32[$5 >> 2] = HEAP32[$0 >> 2]; + do if ((__ZNK6vision18BinaryFeatureStore4sizeEv($1) | 0) != 0 ? (__ZNK6vision18BinaryFeatureStore4sizeEv($2) | 0) != 0 : 0) { + __ZNSt3__26vectorIN6vision7match_tENS_9allocatorIS2_EEE7reserveEm($0, __ZNK6vision18BinaryFeatureStore4sizeEv($1) | 0); + $11 = $0 + 8 | 0; + $12 = $0 + 12 | 0; + $$055 = 0; + while (1) { + if ($$055 >>> 0 >= (__ZNK6vision18BinaryFeatureStore4sizeEv($1) | 0) >>> 0) break; + $21 = __ZNK6vision18BinaryFeatureStore7featureEm($1, $$055) | 0; + $23 = (__ZNK6vision18BinaryFeatureStore5pointEm($1, $$055) | 0) + 16 | 0; + $$056 = 0; + $$057 = -1; + $$058 = 2147483647; + $$061 = -1; + while (1) { + if ($$056 >>> 0 >= (__ZNK6vision18BinaryFeatureStore4sizeEv($2) | 0) >>> 0) break; + $27 = HEAP8[$23 >> 0] | 0; + $29 = (__ZNK6vision18BinaryFeatureStore5pointEm($2, $$056) | 0) + 16 | 0; + if ($27 << 24 >> 24 == (HEAP8[$29 >> 0] | 0)) { + $33 = __ZN6vision15HammingDistanceILi96EEEjPKhS2_($21, __ZNK6vision18BinaryFeatureStore7featureEm($2, $$056) | 0) | 0; + $34 = $33 >>> 0 < $$057 >>> 0; + $$2 = $34 ? $33 : $$057; + $$260 = $34 ? $$056 : $$058; + $$263 = $34 ? $$057 : $33 >>> 0 < $$061 >>> 0 ? $33 : $$061; + } else { + $$2 = $$057; + $$260 = $$058; + $$263 = $$061; + } + $$056 = $$056 + 1 | 0; + $$057 = $$2; + $$058 = $$260; + $$061 = $$263; + } + do if (($$057 | 0) != -1) { + if (($$061 | 0) == -1) { + __ZN6vision7match_tC2Eii($3, $$055, $$058); + $38 = HEAP32[$5 >> 2] | 0; + if ($38 >>> 0 < (HEAP32[$11 >> 2] | 0) >>> 0) { + $41 = $3; + $46 = HEAP32[$41 + 4 >> 2] | 0; + $47 = $38; + HEAP32[$47 >> 2] = HEAP32[$41 >> 2]; + HEAP32[$47 + 4 >> 2] = $46; + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 8; + } else __ZNSt3__26vectorIN6vision7match_tENS_9allocatorIS2_EEE21__push_back_slow_pathIS2_EEvOT_($0, $3); + break; + } + if (+($$057 >>> 0) / +($$061 >>> 0) < +HEAPF32[$12 >> 2]) { + __ZN6vision7match_tC2Eii($3, $$055, $$058); + $58 = HEAP32[$5 >> 2] | 0; + if ($58 >>> 0 < (HEAP32[$11 >> 2] | 0) >>> 0) { + $61 = $3; + $66 = HEAP32[$61 + 4 >> 2] | 0; + $67 = $58; + HEAP32[$67 >> 2] = HEAP32[$61 >> 2]; + HEAP32[$67 + 4 >> 2] = $66; + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 8; + } else __ZNSt3__26vectorIN6vision7match_tENS_9allocatorIS2_EEE21__push_back_slow_pathIS2_EEvOT_($0, $3); + } + } while (0); + $$055 = $$055 + 1 | 0; + } + $18 = (HEAP32[$5 >> 2] | 0) - (HEAP32[$0 >> 2] | 0) >> 3; + if ($18 >>> 0 > (__ZNK6vision18BinaryFeatureStore4sizeEv($1) | 0) >>> 0) { + $79 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 35438) | 0, 35229) | 0, 39072) | 0, 112) | 0, 39079) | 0, 35498) | 0; + __ZNKSt3__28ios_base6getlocEv($3, $79 + (HEAP32[(HEAP32[$79 >> 2] | 0) + -12 >> 2] | 0) | 0); + $84 = __ZNKSt3__26locale9use_facetERNS0_2idE($3, 66512) | 0; + $88 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$84 >> 2] | 0) + 28 >> 2] & 127]($84, 10) | 0; + __ZNSt3__26localeD2Ev($3); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($79, $88) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($79) | 0; + _abort(); + } else { + $$0 = (HEAP32[$5 >> 2] | 0) - (HEAP32[$0 >> 2] | 0) >> 3; + break; + } + } else $$0 = 0; while (0); + STACKTOP = sp; + return $$0 | 0; +} + +function __ZNK10__cxxabiv121__vmi_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0 = 0, $$081 = 0, $$084 = 0, $$085$off0 = 0, $$1 = 0, $$182 = 0, $$186$off0 = 0, $$2 = 0, $$28392 = 0, $$28393 = 0, $13 = 0, $19 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $47 = 0, $49 = 0, $61 = 0, $62 = 0, $63 = 0, $66 = 0, $69 = 0, $72 = 0, $79 = 0, $80 = 0, $89 = 0, label = 0; + L1 : do if (!(__ZL8is_equalPKSt9type_infoS1_b($0, HEAP32[$1 + 8 >> 2] | 0, $4) | 0)) { + if (!(__ZL8is_equalPKSt9type_infoS1_b($0, HEAP32[$1 >> 2] | 0, $4) | 0)) { + $61 = HEAP32[$0 + 12 >> 2] | 0; + $62 = $0 + 16 + ($61 << 3) | 0; + __ZNK10__cxxabiv122__base_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib($0 + 16 | 0, $1, $2, $3, $4); + $63 = $0 + 24 | 0; + if (($61 | 0) <= 1) break; + $66 = HEAP32[$0 + 8 >> 2] | 0; + if (($66 & 2 | 0) == 0 ? ($69 = $1 + 36 | 0, (HEAP32[$69 >> 2] | 0) != 1) : 0) { + if (!($66 & 1)) { + $89 = $1 + 54 | 0; + $$2 = $63; + while (1) { + if (HEAP8[$89 >> 0] | 0) break L1; + if ((HEAP32[$69 >> 2] | 0) == 1) break L1; + __ZNK10__cxxabiv122__base_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib($$2, $1, $2, $3, $4); + $$2 = $$2 + 8 | 0; + if ($$2 >>> 0 >= $62 >>> 0) break L1; + } + } + $79 = $1 + 24 | 0; + $80 = $1 + 54 | 0; + $$1 = $63; + while (1) { + if (HEAP8[$80 >> 0] | 0) break L1; + if ((HEAP32[$69 >> 2] | 0) == 1 ? (HEAP32[$79 >> 2] | 0) == 1 : 0) break L1; + __ZNK10__cxxabiv122__base_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib($$1, $1, $2, $3, $4); + $$1 = $$1 + 8 | 0; + if ($$1 >>> 0 >= $62 >>> 0) break L1; + } + } + $72 = $1 + 54 | 0; + $$0 = $63; + while (1) { + if (HEAP8[$72 >> 0] | 0) break L1; + __ZNK10__cxxabiv122__base_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib($$0, $1, $2, $3, $4); + $$0 = $$0 + 8 | 0; + if ($$0 >>> 0 >= $62 >>> 0) break L1; + } + } + if ((HEAP32[$1 + 16 >> 2] | 0) != ($2 | 0) ? ($13 = $1 + 20 | 0, (HEAP32[$13 >> 2] | 0) != ($2 | 0)) : 0) { + HEAP32[$1 + 32 >> 2] = $3; + $19 = $1 + 44 | 0; + if ((HEAP32[$19 >> 2] | 0) != 4) { + $25 = $0 + 16 + (HEAP32[$0 + 12 >> 2] << 3) | 0; + $26 = $1 + 52 | 0; + $27 = $1 + 53 | 0; + $28 = $1 + 54 | 0; + $29 = $0 + 8 | 0; + $30 = $1 + 24 | 0; + $$081 = 0; + $$084 = $0 + 16 | 0; + $$085$off0 = 0; + L33 : while (1) { + if ($$084 >>> 0 >= $25 >>> 0) { + label = 18; + break; + } + HEAP8[$26 >> 0] = 0; + HEAP8[$27 >> 0] = 0; + __ZNK10__cxxabiv122__base_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib($$084, $1, $2, $2, 1, $4); + if (HEAP8[$28 >> 0] | 0) { + label = 18; + break; + } + do if (HEAP8[$27 >> 0] | 0) { + if (!(HEAP8[$26 >> 0] | 0)) if (!(HEAP32[$29 >> 2] & 1)) { + $$28393 = $$081; + label = 19; + break L33; + } else { + $$182 = $$081; + $$186$off0 = 1; + break; + } + if ((HEAP32[$30 >> 2] | 0) == 1) { + $$28393 = 1; + label = 19; + break L33; + } + if (!(HEAP32[$29 >> 2] & 2)) { + $$28393 = 1; + label = 19; + break L33; + } else { + $$182 = 1; + $$186$off0 = 1; + } + } else { + $$182 = $$081; + $$186$off0 = $$085$off0; + } while (0); + $$081 = $$182; + $$084 = $$084 + 8 | 0; + $$085$off0 = $$186$off0; + } + if ((label | 0) == 18) if ($$085$off0) { + $$28393 = $$081; + label = 19; + } else { + $$28392 = $$081; + $47 = 4; + } + if ((label | 0) == 19) { + $$28392 = $$28393; + $47 = 3; + } + HEAP32[$19 >> 2] = $47; + if ($$28392 & 1) break; + } + HEAP32[$13 >> 2] = $2; + $49 = $1 + 40 | 0; + HEAP32[$49 >> 2] = (HEAP32[$49 >> 2] | 0) + 1; + if ((HEAP32[$1 + 36 >> 2] | 0) != 1) break; + if ((HEAP32[$1 + 24 >> 2] | 0) != 2) break; + HEAP8[$1 + 54 >> 0] = 1; + break; + } + if (($3 | 0) == 1) HEAP32[$1 + 32 >> 2] = 1; + } else __ZNK10__cxxabiv117__class_type_info29process_static_type_below_dstEPNS_19__dynamic_cast_infoEPKvi(0, $1, $2, $3); while (0); + return; +} + +function _jpeg_consume_input($0) { + $0 = $0 | 0; + var $$0 = 0, $$pre$phiZ2D = 0, $$sink22 = 0, $$sink24 = 0, $1 = 0, $13 = 0, $16 = 0, $18 = 0, $19 = 0, $2 = 0, $21 = 0, $23 = 0, $24 = 0, $3 = 0, $42 = 0, $43 = 0, $50 = 0, $61 = 0, $62 = 0, $72 = 0, $93 = 0; + $1 = $0 + 20 | 0; + $2 = HEAP32[$1 >> 2] | 0; + switch ($2 | 0) { + case 200: + { + $3 = $0 + 460 | 0; + FUNCTION_TABLE_vi[HEAP32[(HEAP32[$3 >> 2] | 0) + 4 >> 2] & 255]($0); + FUNCTION_TABLE_vi[HEAP32[(HEAP32[$0 + 24 >> 2] | 0) + 8 >> 2] & 255]($0); + HEAP32[$1 >> 2] = 201; + $$pre$phiZ2D = $3; + break; + } + case 201: + { + $$pre$phiZ2D = $0 + 460 | 0; + break; + } + case 210: + case 208: + case 207: + case 206: + case 205: + case 204: + case 203: + { + $$0 = FUNCTION_TABLE_ii[HEAP32[HEAP32[$0 + 460 >> 2] >> 2] & 127]($0) | 0; + return $$0 | 0; + } + case 202: + { + $$0 = 1; + return $$0 | 0; + } + default: + { + $93 = HEAP32[$0 >> 2] | 0; + HEAP32[$93 + 20 >> 2] = 21; + HEAP32[$93 + 24 >> 2] = $2; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + $$0 = 0; + return $$0 | 0; + } + } + $13 = FUNCTION_TABLE_ii[HEAP32[HEAP32[$$pre$phiZ2D >> 2] >> 2] & 127]($0) | 0; + if (($13 | 0) != 1) { + $$0 = $13; + return $$0 | 0; + } + $16 = HEAP32[$0 + 36 >> 2] | 0; + L13 : do switch ($16 | 0) { + case 1: + { + $$sink22 = $16; + $$sink24 = $16; + break; + } + case 3: + { + $18 = HEAP32[$0 + 216 >> 2] | 0; + $19 = HEAP32[$18 >> 2] | 0; + $21 = HEAP32[$18 + 88 >> 2] | 0; + $23 = HEAP32[$18 + 176 >> 2] | 0; + $24 = ($19 | 0) == 1; + if (!($24 & ($21 | 0) == 2 & ($23 | 0) == 3)) if (!($24 & ($21 | 0) == 34 & ($23 | 0) == 35)) if (!(($19 | 0) == 82 & ($21 | 0) == 71 & ($23 | 0) == 66)) if (!(($19 | 0) == 114 & ($21 | 0) == 103 & ($23 | 0) == 98)) if (!(HEAP32[$0 + 284 >> 2] | 0)) { + if (!(HEAP32[$0 + 296 >> 2] | 0)) { + $50 = HEAP32[$0 >> 2] | 0; + HEAP32[$50 + 24 >> 2] = $19; + HEAP32[$50 + 28 >> 2] = $21; + HEAP32[$50 + 32 >> 2] = $23; + HEAP32[$50 + 20 >> 2] = 113; + FUNCTION_TABLE_vii[HEAP32[$50 + 4 >> 2] & 255]($0, 1); + $$sink22 = 2; + $$sink24 = 3; + break L13; + } + $42 = HEAP8[$0 + 300 >> 0] | 0; + switch ($42 << 24 >> 24) { + case 0: + { + $$sink22 = 2; + $$sink24 = 2; + break L13; + break; + } + case 1: + { + $$sink22 = 2; + $$sink24 = 3; + break L13; + break; + } + default: + { + $43 = HEAP32[$0 >> 2] | 0; + HEAP32[$43 + 20 >> 2] = 116; + HEAP32[$43 + 24 >> 2] = $42 & 255; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$0 >> 2] | 0) + 4 >> 2] & 255]($0, -1); + $$sink22 = 2; + $$sink24 = 3; + break L13; + } + } + } else { + $$sink22 = 2; + $$sink24 = 3; + } else { + $$sink22 = 2; + $$sink24 = 6; + } else { + $$sink22 = 2; + $$sink24 = 2; + } else { + $$sink22 = 2; + $$sink24 = 7; + } else { + $$sink22 = 2; + $$sink24 = 3; + } + break; + } + case 4: + { + if (!(HEAP32[$0 + 296 >> 2] | 0)) { + $$sink22 = 4; + $$sink24 = 4; + } else { + $61 = HEAP8[$0 + 300 >> 0] | 0; + switch ($61 << 24 >> 24) { + case 0: + { + $$sink22 = 4; + $$sink24 = 4; + break L13; + break; + } + case 2: + { + $$sink22 = 4; + $$sink24 = 5; + break L13; + break; + } + default: + { + $62 = HEAP32[$0 >> 2] | 0; + HEAP32[$62 + 20 >> 2] = 116; + HEAP32[$62 + 24 >> 2] = $61 & 255; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$0 >> 2] | 0) + 4 >> 2] & 255]($0, -1); + $$sink22 = 4; + $$sink24 = 5; + break L13; + } + } + } + break; + } + default: + { + $$sink22 = 0; + $$sink24 = 0; + } + } while (0); + HEAP32[$0 + 40 >> 2] = $$sink24; + HEAP32[$0 + 44 >> 2] = $$sink22; + $72 = HEAP32[$0 + 428 >> 2] | 0; + HEAP32[$0 + 48 >> 2] = $72; + HEAP32[$0 + 52 >> 2] = $72; + HEAPF64[$0 + 56 >> 3] = 1.0; + HEAP32[$0 + 64 >> 2] = 0; + HEAP32[$0 + 68 >> 2] = 0; + HEAP32[$0 + 72 >> 2] = 0; + HEAP32[$0 + 76 >> 2] = 1; + HEAP32[$0 + 80 >> 2] = 1; + HEAP32[$0 + 84 >> 2] = 0; + HEAP32[$0 + 88 >> 2] = 2; + HEAP32[$0 + 92 >> 2] = 1; + HEAP32[$0 + 96 >> 2] = 256; + HEAP32[$0 + 136 >> 2] = 0; + HEAP32[$0 + 100 >> 2] = 0; + HEAP32[$0 + 104 >> 2] = 0; + HEAP32[$0 + 108 >> 2] = 0; + HEAP32[$1 >> 2] = 202; + $$0 = 1; + return $$0 | 0; +} + +function _consume_data($0) { + $0 = $0 | 0; + var $$071 = 0, $$072100 = 0, $$07386$us = 0, $$07483$us = 0, $$075105 = 0, $$07691 = 0, $$07896 = 0, $$084$us = 0, $$177$lcssa = 0, $$17785$us = 0, $$192 = 0, $$282$us = 0, $$sink = 0, $1 = 0, $10 = 0, $100 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $42 = 0, $44 = 0, $45 = 0, $47 = 0, $50 = 0, $60 = 0, $7 = 0, $70 = 0, $71 = 0, $73 = 0, $75 = 0, $76 = 0, $78 = 0, $8 = 0, $80 = 0, $82 = 0, $88 = 0, $99 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + $2 = $0 + 452 | 0; + $3 = HEAP32[$2 >> 2] | 0; + $4 = $0 + 340 | 0; + if ((HEAP32[$4 >> 2] | 0) > 0) { + $7 = $0 + 4 | 0; + $8 = $0 + 148 | 0; + $$075105 = 0; + do { + $10 = HEAP32[$0 + 344 + ($$075105 << 2) >> 2] | 0; + $20 = HEAP32[$10 + 12 >> 2] | 0; + $21 = Math_imul($20, HEAP32[$8 >> 2] | 0) | 0; + $22 = FUNCTION_TABLE_iiiiii[HEAP32[(HEAP32[$7 >> 2] | 0) + 32 >> 2] & 31]($0, HEAP32[$3 + 72 + (HEAP32[$10 + 4 >> 2] << 2) >> 2] | 0, $21, $20, 1) | 0; + HEAP32[$1 + ($$075105 << 2) >> 2] = $22; + $$075105 = $$075105 + 1 | 0; + } while (($$075105 | 0) < (HEAP32[$4 >> 2] | 0)); + } + $27 = $3 + 24 | 0; + $28 = HEAP32[$27 >> 2] | 0; + $29 = $3 + 28 | 0; + $30 = HEAP32[$29 >> 2] | 0; + L6 : do if (($28 | 0) < ($30 | 0)) { + $32 = $3 + 20 | 0; + $33 = $0 + 360 | 0; + $34 = $0 + 468 | 0; + $35 = $3 + 32 | 0; + $$072100 = $28; + $37 = HEAP32[$32 >> 2] | 0; + $38 = HEAP32[$33 >> 2] | 0; + $99 = $30; + L8 : while (1) { + if ($37 >>> 0 < $38 >>> 0) { + $$07896 = $37; + while (1) { + $39 = HEAP32[$4 >> 2] | 0; + if (($39 | 0) > 0) { + $$07691 = 0; + $$192 = 0; + while (1) { + $42 = HEAP32[$0 + 344 + ($$192 << 2) >> 2] | 0; + $44 = HEAP32[$42 + 56 >> 2] | 0; + $45 = Math_imul($44, $$07896) | 0; + $47 = HEAP32[$42 + 60 >> 2] | 0; + if (($47 | 0) > 0 ? ($50 = HEAP32[$1 + ($$192 << 2) >> 2] | 0, ($44 | 0) > 0) : 0) { + $$07386$us = 0; + $$17785$us = $$07691; + while (1) { + $$07483$us = 0; + $$084$us = (HEAP32[$50 + ($$07386$us + $$072100 << 2) >> 2] | 0) + ($45 << 7) | 0; + $$282$us = $$17785$us; + while (1) { + HEAP32[$3 + 32 + ($$282$us << 2) >> 2] = $$084$us; + $$07483$us = $$07483$us + 1 | 0; + if (($$07483$us | 0) == ($44 | 0)) break; else { + $$084$us = $$084$us + 128 | 0; + $$282$us = $$282$us + 1 | 0; + } + } + $60 = $44 + $$17785$us | 0; + $$07386$us = $$07386$us + 1 | 0; + if (($$07386$us | 0) >= ($47 | 0)) { + $$177$lcssa = $60; + break; + } else $$17785$us = $60; + } + } else $$177$lcssa = $$07691; + $$192 = $$192 + 1 | 0; + if (($$192 | 0) >= ($39 | 0)) break; else $$07691 = $$177$lcssa; + } + } + if (!(FUNCTION_TABLE_iii[HEAP32[(HEAP32[$34 >> 2] | 0) + 4 >> 2] & 127]($0, $35) | 0)) break L8; + $70 = $$07896 + 1 | 0; + $71 = HEAP32[$33 >> 2] | 0; + if ($70 >>> 0 < $71 >>> 0) $$07896 = $70; else break; + } + $100 = $71; + $75 = HEAP32[$29 >> 2] | 0; + } else { + $100 = $38; + $75 = $99; + } + HEAP32[$32 >> 2] = 0; + $73 = $$072100 + 1 | 0; + if (($73 | 0) < ($75 | 0)) { + $$072100 = $73; + $37 = 0; + $38 = $100; + $99 = $75; + } else break L6; + } + HEAP32[$27 >> 2] = $$072100; + HEAP32[$32 >> 2] = $$07896; + $$071 = 0; + STACKTOP = sp; + return $$071 | 0; + } while (0); + $76 = $0 + 148 | 0; + $78 = (HEAP32[$76 >> 2] | 0) + 1 | 0; + HEAP32[$76 >> 2] = $78; + $80 = HEAP32[$0 + 332 >> 2] | 0; + if ($78 >>> 0 >= $80 >>> 0) { + FUNCTION_TABLE_vi[HEAP32[(HEAP32[$0 + 460 >> 2] | 0) + 12 >> 2] & 255]($0); + $$071 = 4; + STACKTOP = sp; + return $$071 | 0; + } + $82 = HEAP32[$2 >> 2] | 0; + if ((HEAP32[$4 >> 2] | 0) > 1) $$sink = 1; else { + $88 = HEAP32[$0 + 344 >> 2] | 0; + $$sink = HEAP32[($78 >>> 0 < ($80 + -1 | 0) >>> 0 ? $88 + 12 | 0 : $88 + 76 | 0) >> 2] | 0; + } + HEAP32[$82 + 28 >> 2] = $$sink; + HEAP32[$82 + 20 >> 2] = 0; + HEAP32[$82 + 24 >> 2] = 0; + $$071 = 3; + STACKTOP = sp; + return $$071 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBracedExprEv($0) { + $0 = $0 | 0; + var $$0 = 0, $$1 = 0, $$2 = 0, $$3 = 0, $$4 = 0, $$5 = 0, $$6 = 0, $$7 = 0, $1 = 0, $10 = 0, $11 = 0, $13 = 0, $18 = 0, $19 = 0, $2 = 0, $21 = 0, $26 = 0, $27 = 0, $29 = 0, $3 = 0, $31 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp + 8 | 0; + $2 = sp + 4 | 0; + $3 = sp; + L1 : do if ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 0) | 0) << 24 >> 24 == 100) switch ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 1) | 0) << 24 >> 24 | 0) { + case 105: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $10 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + $11 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseSourceNameEPNS5_9NameStateE($10) | 0; + HEAP32[$1 >> 2] = $11; + if (!$11) $$1 = 0; else { + $13 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBracedExprEv($10) | 0; + HEAP32[$2 >> 2] = $13; + if (!$13) $$0 = 0; else { + HEAP8[$3 >> 0] = 0; + $$0 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_10BracedExprEJRPNS0_4NodeESA_bEEES9_DpOT0_($0, $1, $2, $3) | 0; + } + $$1 = $$0; + } + $$7 = $$1; + break L1; + break; + } + case 120: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $18 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + $19 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv($18) | 0; + HEAP32[$1 >> 2] = $19; + if (!$19) $$3 = 0; else { + $21 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBracedExprEv($18) | 0; + HEAP32[$2 >> 2] = $21; + if (!$21) $$2 = 0; else { + HEAP8[$3 >> 0] = 1; + $$2 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_10BracedExprEJRPNS0_4NodeESA_bEEES9_DpOT0_($0, $1, $2, $3) | 0; + } + $$3 = $$2; + } + $$7 = $$3; + break L1; + break; + } + case 88: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $26 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + $27 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv($26) | 0; + HEAP32[$1 >> 2] = $27; + if (!$27) $$6 = 0; else { + $29 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv($26) | 0; + HEAP32[$2 >> 2] = $29; + if (!$29) $$5 = 0; else { + $31 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBracedExprEv($26) | 0; + HEAP32[$3 >> 2] = $31; + if (!$31) $$4 = 0; else $$4 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_15BracedRangeExprEJRPNS0_4NodeESA_SA_EEES9_DpOT0_($0, $1, $2, $3) | 0; + $$5 = $$4; + } + $$6 = $$5; + } + $$7 = $$6; + break L1; + break; + } + default: + { + label = 20; + break L1; + } + } else label = 20; while (0); + if ((label | 0) == 20) $$7 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + STACKTOP = sp; + return $$7 | 0; +} + +function _jinit_master_decompress($0) { + $0 = $0 | 0; + var $$0$i = 0, $$018$i$i = 0, $$pre$phi$iZ2D = 0, $$pre$phi96$iZ2D = 0, $1 = 0, $104 = 0, $11 = 0, $114 = 0, $127 = 0, $133 = 0, $18 = 0, $19 = 0, $30 = 0, $33 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $53 = 0, $56 = 0, $9 = 0, $96 = 0, label = 0; + $1 = $0 + 4 | 0; + $4 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 28) | 0; + HEAP32[$0 + 444 >> 2] = $4; + HEAP32[$4 >> 2] = 184; + HEAP32[$4 + 4 >> 2] = 185; + HEAP32[$4 + 8 >> 2] = 0; + $9 = HEAP32[$0 + 212 >> 2] | 0; + if (($9 | 0) != 8) { + $11 = HEAP32[$0 >> 2] | 0; + HEAP32[$11 + 20 >> 2] = 16; + HEAP32[$11 + 24 >> 2] = $9; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + _jpeg_calc_output_dimensions($0); + $18 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 1280) | 0; + _memset($18 | 0, 0, 512) | 0; + $19 = $18 + 512 | 0; + HEAP32[$0 + 336 >> 2] = $19; + $$018$i$i = 0; + do { + HEAP8[$19 + $$018$i$i >> 0] = $$018$i$i; + $$018$i$i = $$018$i$i + 1 | 0; + } while (($$018$i$i | 0) != 256); + _memset($18 + 768 | 0, -1, 512) | 0; + if (((HEAP32[$0 + 116 >> 2] | 0) != 0 ? (HEAP32[$0 + 112 >> 2] | 0) != 0 : 0) ? ($30 = $0 + 120 | 0, (HEAP32[$30 >> 2] | 0) >= 1) : 0) $$pre$phi$iZ2D = $30; else { + $33 = HEAP32[$0 >> 2] | 0; + HEAP32[$33 + 20 >> 2] = 33; + FUNCTION_TABLE_vi[HEAP32[$33 >> 2] & 255]($0); + $$pre$phi$iZ2D = $0 + 120 | 0; + } + $36 = $4 + 12 | 0; + HEAP32[$36 >> 2] = 0; + $37 = _use_merged_upsample($0) | 0; + $38 = $4 + 16 | 0; + HEAP32[$38 >> 2] = $37; + $39 = $4 + 20 | 0; + HEAP32[$39 >> 2] = 0; + $40 = $4 + 24 | 0; + HEAP32[$40 >> 2] = 0; + do if (!(HEAP32[$0 + 84 >> 2] | 0)) { + HEAP32[$0 + 100 >> 2] = 0; + HEAP32[$0 + 104 >> 2] = 0; + HEAP32[$0 + 108 >> 2] = 0; + $$pre$phi96$iZ2D = $0 + 68 | 0; + } else { + if (!(HEAP32[$0 + 64 >> 2] | 0)) { + HEAP32[$0 + 100 >> 2] = 0; + HEAP32[$0 + 104 >> 2] = 0; + HEAP32[$0 + 108 >> 2] = 0; + } + $53 = $0 + 68 | 0; + if (HEAP32[$53 >> 2] | 0) { + $56 = HEAP32[$0 >> 2] | 0; + HEAP32[$56 + 20 >> 2] = 48; + FUNCTION_TABLE_vi[HEAP32[$56 >> 2] & 255]($0); + } + do if ((HEAP32[$$pre$phi$iZ2D >> 2] | 0) == 3) { + if (HEAP32[$0 + 136 >> 2] | 0) { + HEAP32[$0 + 104 >> 2] = 1; + break; + } + if (!(HEAP32[$0 + 92 >> 2] | 0)) { + HEAP32[$0 + 100 >> 2] = 1; + break; + } else { + HEAP32[$0 + 108 >> 2] = 1; + break; + } + } else { + HEAP32[$0 + 100 >> 2] = 1; + HEAP32[$0 + 104 >> 2] = 0; + HEAP32[$0 + 108 >> 2] = 0; + HEAP32[$0 + 136 >> 2] = 0; + } while (0); + if (HEAP32[$0 + 100 >> 2] | 0) { + _jinit_1pass_quantizer($0); + HEAP32[$39 >> 2] = HEAP32[$0 + 484 >> 2]; + } + if ((HEAP32[$0 + 108 >> 2] | 0) == 0 ? (HEAP32[$0 + 104 >> 2] | 0) == 0 : 0) { + $$pre$phi96$iZ2D = $53; + break; + } + _jinit_2pass_quantizer($0); + HEAP32[$40 >> 2] = HEAP32[$0 + 484 >> 2]; + $$pre$phi96$iZ2D = $53; + } while (0); + if (!(HEAP32[$$pre$phi96$iZ2D >> 2] | 0)) { + if (!(HEAP32[$38 >> 2] | 0)) { + _jinit_color_deconverter($0); + _jinit_upsampler($0); + } else _jinit_merged_upsampler($0); + _jinit_d_post_controller($0, HEAP32[$0 + 108 >> 2] | 0); + } + _jinit_inverse_dct($0); + if (!(HEAP32[$0 + 228 >> 2] | 0)) _jinit_huff_decoder($0); else _jinit_arith_decoder($0); + $96 = $0 + 460 | 0; + if (!(HEAP32[(HEAP32[$96 >> 2] | 0) + 16 >> 2] | 0)) $104 = (HEAP32[$0 + 64 >> 2] | 0) != 0 & 1; else $104 = 1; + _jinit_d_coef_controller($0, $104); + if (!(HEAP32[$$pre$phi96$iZ2D >> 2] | 0)) _jinit_d_main_controller($0, 0); + FUNCTION_TABLE_vi[HEAP32[(HEAP32[$1 >> 2] | 0) + 24 >> 2] & 255]($0); + FUNCTION_TABLE_vi[HEAP32[(HEAP32[$96 >> 2] | 0) + 8 >> 2] & 255]($0); + $114 = HEAP32[$0 + 8 >> 2] | 0; + if (!$114) return; + if (HEAP32[$0 + 64 >> 2] | 0) return; + if (!(HEAP32[(HEAP32[$96 >> 2] | 0) + 16 >> 2] | 0)) return; + $127 = HEAP32[$0 + 36 >> 2] | 0; + $$0$i = (HEAP32[$0 + 224 >> 2] | 0) == 0 ? $127 : ($127 * 3 | 0) + 2 | 0; + HEAP32[$114 + 4 >> 2] = 0; + $133 = Math_imul($$0$i, HEAP32[$0 + 332 >> 2] | 0) | 0; + HEAP32[$114 + 8 >> 2] = $133; + HEAP32[$114 + 12 >> 2] = 0; + HEAP32[$114 + 16 >> 2] = (HEAP32[$0 + 108 >> 2] | 0) == 0 ? 2 : 3; + HEAP32[$36 >> 2] = (HEAP32[$36 >> 2] | 0) + 1; + return; +} + +function _h2v2_merged_upsample($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0158$lcssa = 0, $$0158169 = 0, $$0159$lcssa = 0, $$0159168 = 0, $$0160$lcssa = 0, $$0160167 = 0, $$0161$lcssa = 0, $$0161166 = 0, $$0162$lcssa = 0, $$0162165 = 0, $$0163$lcssa = 0, $$0163164 = 0, $$0170 = 0, $103 = 0, $11 = 0, $119 = 0, $122 = 0, $124 = 0, $126 = 0, $13 = 0, $132 = 0, $134 = 0, $136 = 0, $149 = 0, $15 = 0, $16 = 0, $17 = 0, $19 = 0, $22 = 0, $26 = 0, $30 = 0, $31 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $38 = 0, $39 = 0, $42 = 0, $45 = 0, $47 = 0, $5 = 0, $53 = 0, $55 = 0, $58 = 0, $7 = 0, $73 = 0, $88 = 0, $9 = 0, $scevgep = 0, $scevgep184 = 0; + $5 = HEAP32[$0 + 476 >> 2] | 0; + $7 = HEAP32[$0 + 336 >> 2] | 0; + $9 = HEAP32[$5 + 16 >> 2] | 0; + $11 = HEAP32[$5 + 20 >> 2] | 0; + $13 = HEAP32[$5 + 24 >> 2] | 0; + $15 = HEAP32[$5 + 28 >> 2] | 0; + $16 = HEAP32[$1 >> 2] | 0; + $17 = $2 << 1; + $19 = HEAP32[$16 + ($17 << 2) >> 2] | 0; + $22 = HEAP32[$16 + (($17 | 1) << 2) >> 2] | 0; + $26 = HEAP32[(HEAP32[$1 + 4 >> 2] | 0) + ($2 << 2) >> 2] | 0; + $30 = HEAP32[(HEAP32[$1 + 8 >> 2] | 0) + ($2 << 2) >> 2] | 0; + $31 = HEAP32[$3 >> 2] | 0; + $33 = HEAP32[$3 + 4 >> 2] | 0; + $34 = $0 + 112 | 0; + $35 = HEAP32[$34 >> 2] | 0; + $36 = $35 >>> 1; + if (!$36) { + $$0158$lcssa = $30; + $$0159$lcssa = $26; + $$0160$lcssa = $22; + $$0161$lcssa = $19; + $$0162$lcssa = $33; + $$0163$lcssa = $31; + $119 = $35; + } else { + $scevgep = $26 + $36 | 0; + $38 = $35 & -2; + $39 = $36 * 6 | 0; + $scevgep184 = $22 + $38 | 0; + $$0158169 = $30; + $$0159168 = $26; + $$0160167 = $22; + $$0161166 = $19; + $$0162165 = $33; + $$0163164 = $31; + $$0170 = $36; + while (1) { + $42 = HEAPU8[$$0159168 >> 0] | 0; + $45 = HEAPU8[$$0158169 >> 0] | 0; + $47 = HEAP32[$9 + ($45 << 2) >> 2] | 0; + $53 = (HEAP32[$13 + ($45 << 2) >> 2] | 0) + (HEAP32[$15 + ($42 << 2) >> 2] | 0) >> 16; + $55 = HEAP32[$11 + ($42 << 2) >> 2] | 0; + $58 = HEAPU8[$$0161166 >> 0] | 0; + HEAP8[$$0163164 >> 0] = HEAP8[$7 + ($47 + $58) >> 0] | 0; + HEAP8[$$0163164 + 1 >> 0] = HEAP8[$7 + ($53 + $58) >> 0] | 0; + HEAP8[$$0163164 + 2 >> 0] = HEAP8[$7 + ($55 + $58) >> 0] | 0; + $73 = HEAPU8[$$0161166 + 1 >> 0] | 0; + HEAP8[$$0163164 + 3 >> 0] = HEAP8[$7 + ($47 + $73) >> 0] | 0; + HEAP8[$$0163164 + 4 >> 0] = HEAP8[$7 + ($53 + $73) >> 0] | 0; + HEAP8[$$0163164 + 5 >> 0] = HEAP8[$7 + ($55 + $73) >> 0] | 0; + $88 = HEAPU8[$$0160167 >> 0] | 0; + HEAP8[$$0162165 >> 0] = HEAP8[$7 + ($47 + $88) >> 0] | 0; + HEAP8[$$0162165 + 1 >> 0] = HEAP8[$7 + ($53 + $88) >> 0] | 0; + HEAP8[$$0162165 + 2 >> 0] = HEAP8[$7 + ($55 + $88) >> 0] | 0; + $103 = HEAPU8[$$0160167 + 1 >> 0] | 0; + HEAP8[$$0162165 + 3 >> 0] = HEAP8[$7 + ($47 + $103) >> 0] | 0; + HEAP8[$$0162165 + 4 >> 0] = HEAP8[$7 + ($53 + $103) >> 0] | 0; + HEAP8[$$0162165 + 5 >> 0] = HEAP8[$7 + ($55 + $103) >> 0] | 0; + $$0170 = $$0170 + -1 | 0; + if (!$$0170) break; else { + $$0158169 = $$0158169 + 1 | 0; + $$0159168 = $$0159168 + 1 | 0; + $$0160167 = $$0160167 + 2 | 0; + $$0161166 = $$0161166 + 2 | 0; + $$0162165 = $$0162165 + 6 | 0; + $$0163164 = $$0163164 + 6 | 0; + } + } + $$0158$lcssa = $30 + $36 | 0; + $$0159$lcssa = $scevgep; + $$0160$lcssa = $scevgep184; + $$0161$lcssa = $19 + $38 | 0; + $$0162$lcssa = $33 + $39 | 0; + $$0163$lcssa = $31 + $39 | 0; + $119 = HEAP32[$34 >> 2] | 0; + } + if (!($119 & 1)) return; + $122 = HEAPU8[$$0159$lcssa >> 0] | 0; + $124 = HEAPU8[$$0158$lcssa >> 0] | 0; + $126 = HEAP32[$9 + ($124 << 2) >> 2] | 0; + $132 = (HEAP32[$13 + ($124 << 2) >> 2] | 0) + (HEAP32[$15 + ($122 << 2) >> 2] | 0) >> 16; + $134 = HEAP32[$11 + ($122 << 2) >> 2] | 0; + $136 = HEAPU8[$$0161$lcssa >> 0] | 0; + HEAP8[$$0163$lcssa >> 0] = HEAP8[$7 + ($126 + $136) >> 0] | 0; + HEAP8[$$0163$lcssa + 1 >> 0] = HEAP8[$7 + ($132 + $136) >> 0] | 0; + HEAP8[$$0163$lcssa + 2 >> 0] = HEAP8[$7 + ($134 + $136) >> 0] | 0; + $149 = HEAPU8[$$0160$lcssa >> 0] | 0; + HEAP8[$$0162$lcssa >> 0] = HEAP8[$7 + ($126 + $149) >> 0] | 0; + HEAP8[$$0162$lcssa + 1 >> 0] = HEAP8[$7 + ($132 + $149) >> 0] | 0; + HEAP8[$$0162$lcssa + 2 >> 0] = HEAP8[$7 + ($134 + $149) >> 0] | 0; + return; +} + +function _arParamLoad($0, $1, $2, $varargs) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $varargs = $varargs | 0; + var $$05254 = 0, $$053 = 0, $$056 = 0, $$059 = 0, $$1 = 0, $$pre$phi64Z2D = 0, $10 = 0, $12 = 0, $14 = 0, $17 = 0, $19 = 0, $21 = 0, $22 = 0, $25 = 0, $28 = 0, $3 = 0, $30 = 0, $33 = 0, $35 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0.0, $42 = 0, $44 = 0, $51 = 0, $52 = 0, $61 = 0.0, $8 = 0, $vararg_buffer = 0, $vararg_buffer13 = 0, $vararg_buffer15 = 0, $vararg_buffer18 = 0, $vararg_buffer2 = 0, $vararg_buffer6 = 0, $vararg_buffer9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(256); + $vararg_buffer18 = sp + 248 | 0; + $vararg_buffer15 = sp + 240 | 0; + $vararg_buffer13 = sp + 232 | 0; + $vararg_buffer9 = sp + 224 | 0; + $vararg_buffer6 = sp + 216 | 0; + $vararg_buffer2 = sp + 208 | 0; + $vararg_buffer = sp + 200 | 0; + $3 = sp; + $4 = sp + 16 | 0; + do if (($0 | 0) != 0 & ($1 | 0) > 0 & ($2 | 0) != 0) { + $8 = _fopen($0, 26308) | 0; + if (!$8) { + $10 = ___errno_location() | 0; + HEAP32[$vararg_buffer >> 2] = HEAP32[$10 >> 2]; + HEAP32[$vararg_buffer + 4 >> 2] = $0; + _arLog(0, 3, 24431, $vararg_buffer); + $12 = ___errno_location() | 0; + $14 = _strerror(HEAP32[$12 >> 2] | 0) | 0; + HEAP32[$vararg_buffer2 >> 2] = 67447; + HEAP32[$vararg_buffer2 + 4 >> 2] = $14; + _arLog(0, 3, 25953, $vararg_buffer2); + $$056 = -1; + break; + } + _fseek($8, 0, 2) | 0; + L6 : do if (!(_ferror($8) | 0)) { + $22 = _ftell($8) | 0; + _rewind($8); + $$053 = 0; + while (1) { + if ($$053 >>> 0 >= 4) { + label = 9; + break; + } + $25 = HEAP32[1712 + ($$053 << 3) + 4 >> 2] | 0; + $28 = $$053 + 1 | 0; + if (!(($22 | 0) % ($25 | 0) | 0)) { + $$05254 = $28; + $30 = $25; + break; + } else $$053 = $28; + } + do if ((label | 0) == 9) if (($$053 | 0) == 4) { + _arLog(0, 3, 24545, $vararg_buffer13); + $$059 = -1; + break L6; + } else { + $$05254 = 0; + $30 = HEAP32[1712 + (0 << 3) + 4 >> 2] | 0; + break; + } while (0); + if ((_fread($4, $30, 1, $8) | 0) != 1) { + $33 = ___errno_location() | 0; + HEAP32[$vararg_buffer15 >> 2] = HEAP32[$33 >> 2]; + _arLog(0, 3, 24625, $vararg_buffer15); + $35 = ___errno_location() | 0; + $37 = _strerror(HEAP32[$35 >> 2] | 0) | 0; + HEAP32[$vararg_buffer18 >> 2] = 67447; + HEAP32[$vararg_buffer18 + 4 >> 2] = $37; + _arLog(0, 3, 25953, $vararg_buffer18); + $$059 = -1; + break; + } + $38 = $4 + 176 | 0; + HEAP32[$38 >> 2] = $$05254; + _byteswap($4); + $39 = ($$05254 | 0) == 1; + $40 = $4 + 120 | 0; + if ($39) { + $41 = +HEAPF64[$40 >> 3]; + $42 = $4 + 128 | 0; + HEAPF64[$40 >> 3] = +HEAPF64[$42 >> 3]; + HEAPF64[$42 >> 3] = $41; + $$pre$phi64Z2D = $42; + } else $$pre$phi64Z2D = $4 + 128 | 0; + _memcpy($2 | 0, $4 | 0, 184) | 0; + HEAP32[$3 >> 2] = $varargs; + $44 = $2 + 176 | 0; + $$1 = 1; + while (1) { + if (($$1 | 0) >= ($1 | 0)) { + $$059 = 0; + break L6; + } + $51 = (HEAP32[$3 >> 2] | 0) + (4 - 1) & ~(4 - 1); + $52 = HEAP32[$51 >> 2] | 0; + HEAP32[$3 >> 2] = $51 + 4; + HEAP32[$52 + 176 >> 2] = HEAP32[$44 >> 2]; + if ((_fread($4, HEAP32[1712 + ((HEAP32[$44 >> 2] | 0) + -1 << 3) + 4 >> 2] | 0, 1, $8) | 0) != 1) { + $$059 = -1; + break L6; + } + HEAP32[$38 >> 2] = $$05254; + _byteswap($4); + if ($39) { + $61 = +HEAPF64[$40 >> 3]; + HEAPF64[$40 >> 3] = +HEAPF64[$$pre$phi64Z2D >> 3]; + HEAPF64[$$pre$phi64Z2D >> 3] = $61; + } + _memcpy($52 | 0, $4 | 0, 184) | 0; + $$1 = $$1 + 1 | 0; + } + } else { + $17 = ___errno_location() | 0; + HEAP32[$vararg_buffer6 >> 2] = HEAP32[$17 >> 2]; + _arLog(0, 3, 24500, $vararg_buffer6); + $19 = ___errno_location() | 0; + $21 = _strerror(HEAP32[$19 >> 2] | 0) | 0; + HEAP32[$vararg_buffer9 >> 2] = 67447; + HEAP32[$vararg_buffer9 + 4 >> 2] = $21; + _arLog(0, 3, 25953, $vararg_buffer9); + $$059 = -1; + } while (0); + _fclose($8) | 0; + $$056 = $$059; + } else $$056 = -1; while (0); + STACKTOP = sp; + return $$056 | 0; +} + +function _ar2GetTransMat_175($icpHandle, $initConv, $pos2d, $pos3d, $num, $conv, $robustMode) { + $icpHandle = $icpHandle | 0; + $initConv = $initConv | 0; + $pos2d = $pos2d | 0; + $pos3d = $pos3d | 0; + $num = $num | 0; + $conv = $conv | 0; + $robustMode = $robustMode | 0; + var $call = 0, $call3 = 0, $conv143 = 0.0, $conv148 = 0.0, $conv15 = 0.0, $conv153 = 0.0, $data = 0, $div = 0.0, $div17 = 0.0, $div19 = 0.0, $dx$0 = 0.0, $dy$0 = 0.0, $dz$0 = 0.0, $err = 0, $i$0 = 0, $i$1 = 0, $i$2 = 0, $i$3 = 0, $initMat = 0, $j$0 = 0, $j$1 = 0, $mat = 0, $worldCoord = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 224 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(224); + $data = sp + 212 | 0; + $initMat = sp + 96 | 0; + $mat = sp; + $err = sp + 192 | 0; + $call = _malloc($num << 4) | 0; + HEAP32[$data >> 2] = $call; + if (!$call) { + _arLog(0, 3, 45930, sp + 200 | 0); + _exit(1); + } + $call3 = _malloc($num * 24 | 0) | 0; + $worldCoord = $data + 4 | 0; + HEAP32[$worldCoord >> 2] = $call3; + if (!$call3) { + _arLog(0, 3, 45930, sp + 208 | 0); + _exit(1); + } + $dx$0 = 0.0; + $dy$0 = 0.0; + $dz$0 = 0.0; + $i$0 = 0; + while (1) { + if (($i$0 | 0) >= ($num | 0)) break; + $dx$0 = $dx$0 + +HEAPF32[$pos3d + ($i$0 * 12 | 0) >> 2]; + $dy$0 = $dy$0 + +HEAPF32[$pos3d + ($i$0 * 12 | 0) + 4 >> 2]; + $dz$0 = $dz$0 + +HEAPF32[$pos3d + ($i$0 * 12 | 0) + 8 >> 2]; + $i$0 = $i$0 + 1 | 0; + } + $conv15 = +($num | 0); + $div = $dx$0 / $conv15; + $div17 = $dy$0 / $conv15; + $div19 = $dz$0 / $conv15; + $i$1 = 0; + while (1) { + if (($i$1 | 0) >= ($num | 0)) break; + HEAPF64[$call + ($i$1 << 4) >> 3] = +HEAPF32[$pos2d + ($i$1 << 3) >> 2]; + HEAPF64[$call + ($i$1 << 4) + 8 >> 3] = +HEAPF32[$pos2d + ($i$1 << 3) + 4 >> 2]; + HEAPF64[$call3 + ($i$1 * 24 | 0) >> 3] = +HEAPF32[$pos3d + ($i$1 * 12 | 0) >> 2] - $div; + HEAPF64[$call3 + ($i$1 * 24 | 0) + 8 >> 3] = +HEAPF32[$pos3d + ($i$1 * 12 | 0) + 4 >> 2] - $div17; + HEAPF64[$call3 + ($i$1 * 24 | 0) + 16 >> 3] = +HEAPF32[$pos3d + ($i$1 * 12 | 0) + 8 >> 2] - $div19; + $i$1 = $i$1 + 1 | 0; + } + HEAP32[$data + 8 >> 2] = $num; + $j$0 = 0; + while (1) { + if (($j$0 | 0) == 3) break; + $i$2 = 0; + while (1) { + if (($i$2 | 0) == 3) break; + HEAPF64[$initMat + ($j$0 << 5) + ($i$2 << 3) >> 3] = +HEAPF32[$initConv + ($j$0 << 4) + ($i$2 << 2) >> 2]; + $i$2 = $i$2 + 1 | 0; + } + $j$0 = $j$0 + 1 | 0; + } + HEAPF64[$initMat + 24 >> 3] = +HEAPF32[$initConv + 12 >> 2] + ($div * +HEAPF32[$initConv >> 2] + $div17 * +HEAPF32[$initConv + 4 >> 2] + $div19 * +HEAPF32[$initConv + 8 >> 2]); + HEAPF64[$initMat + 56 >> 3] = +HEAPF32[$initConv + 28 >> 2] + ($div * +HEAPF32[$initConv + 16 >> 2] + $div17 * +HEAPF32[$initConv + 20 >> 2] + $div19 * +HEAPF32[$initConv + 24 >> 2]); + HEAPF64[$initMat + 88 >> 3] = +HEAPF32[$initConv + 44 >> 2] + ($div * +HEAPF32[$initConv + 32 >> 2] + $div17 * +HEAPF32[$initConv + 36 >> 2] + $div19 * +HEAPF32[$initConv + 40 >> 2]); + if (!$robustMode) { + if ((_icpPoint($icpHandle, $data, $initMat, $mat, $err) | 0) < 0) HEAPF64[$err >> 3] = 1.0e8; + } else if ((_icpPointRobust($icpHandle, $data, $initMat, $mat, $err) | 0) < 0) HEAPF64[$err >> 3] = 1.0e8; + _free(HEAP32[$data >> 2] | 0); + _free(HEAP32[$worldCoord >> 2] | 0); + $j$1 = 0; + while (1) { + if (($j$1 | 0) == 3) break; + $i$3 = 0; + while (1) { + if (($i$3 | 0) == 3) break; + HEAPF32[$conv + ($j$1 << 4) + ($i$3 << 2) >> 2] = +HEAPF64[$mat + ($j$1 << 5) + ($i$3 << 3) >> 3]; + $i$3 = $i$3 + 1 | 0; + } + $j$1 = $j$1 + 1 | 0; + } + $conv143 = $div; + $conv148 = $div17; + $conv153 = $div19; + HEAPF32[$conv + 12 >> 2] = +HEAPF64[$mat + 24 >> 3] - +HEAPF64[$mat >> 3] * $conv143 - +HEAPF64[$mat + 8 >> 3] * $conv148 - +HEAPF64[$mat + 16 >> 3] * $conv153; + HEAPF32[$conv + 28 >> 2] = +HEAPF64[$mat + 56 >> 3] - +HEAPF64[$mat + 32 >> 3] * $conv143 - +HEAPF64[$mat + 40 >> 3] * $conv148 - +HEAPF64[$mat + 48 >> 3] * $conv153; + HEAPF32[$conv + 44 >> 2] = +HEAPF64[$mat + 88 >> 3] - +HEAPF64[$mat + 64 >> 3] * $conv143 - +HEAPF64[$mat + 72 >> 3] * $conv148 - +HEAPF64[$mat + 80 >> 3] * $conv153; + STACKTOP = sp; + return +(+HEAPF64[$err >> 3]); +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E20parseUnnamedTypeNameEPNS5_9NameStateE($0) { + $0 = $0 | 0; + var $$0 = 0, $$3 = 0, $$4 = 0, $$5 = 0, $$byval_copy2 = 0, $1 = 0, $12 = 0, $13 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $$byval_copy2 = sp + 40 | 0; + $1 = sp + 32 | 0; + $2 = sp + 24 | 0; + $3 = sp; + $4 = sp + 8 | 0; + $5 = sp + 16 | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($1, 55241); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$1 + 4 >> 2]; + if (!(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy2) | 0)) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 55244); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy2) | 0) { + __ZN12_GLOBAL__N_116itanium_demangle9NodeArrayC2Ev($3); + __ZN12_GLOBAL__N_114SwapAndRestoreIbEC2ERbb($4, $0 + 362 | 0, 1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($5, 55247); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$5 + 4 >> 2]; + do if (!(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy2) | 0)) { + $12 = $0 + 8 | 0; + $13 = __ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE4sizeEv($12) | 0; + while (1) { + $15 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseTypeEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$$byval_copy2 >> 2] = $15; + if (!$15) { + label = 11; + break; + } + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE9push_backERKS3_($12, $$byval_copy2); + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 69) | 0) { + label = 10; + break; + } + } + if ((label | 0) == 10) { + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E20popTrailingNodeArrayEm($3, $0, $13); + label = 12; + break; + } else if ((label | 0) == 11) { + $$4 = 0; + break; + } + } else label = 12; while (0); + if ((label | 0) == 12) { + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E11parseNumberEb($$byval_copy2, $0, 0); + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 95) | 0) $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_15ClosureTypeNameEJRNS0_9NodeArrayERNS_10StringViewEEEEPNS0_4NodeEDpOT0_($0, $3, $$byval_copy2) | 0; else $$3 = 0; + $$4 = $$3; + } + __ZN12_GLOBAL__N_114SwapAndRestoreIbED2Ev($4); + $$5 = $$4; + } else $$5 = 0; + } else { + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E11parseNumberEb($$byval_copy2, $0, 0); + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 95) | 0) $$0 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_15UnnamedTypeNameEJRNS_10StringViewEEEEPNS0_4NodeEDpOT0_($0, $$byval_copy2) | 0; else $$0 = 0; + $$5 = $$0; + } + STACKTOP = sp; + return $$5 | 0; +} + +function _ar2Tracking2dSub($handle, $surfaceSet, $candidate, $dataPtr, $mfImage, $templ, $result) { + $handle = $handle | 0; + $surfaceSet = $surfaceSet | 0; + $candidate = $candidate | 0; + $dataPtr = $dataPtr | 0; + $mfImage = $mfImage | 0; + $templ = $templ | 0; + $result = $result | 0; + var $0 = 0, $1 = 0, $11 = 0, $12 = 0, $13 = 0, $18 = 0, $2 = 0, $24 = 0, $3 = 0, $37 = 0, $40 = 0, $44 = 0, $7 = 0, $arraydecay = 0, $arraydecay40 = 0, $arraydecay67$pre$phiZ2D = 0, $bx = 0, $by = 0, $call = 0, $conv = 0.0, $cparamLT = 0, $mx = 0, $my = 0, $retval$0 = 0, $search = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $search = sp; + $bx = sp + 28 | 0; + $by = sp + 24 | 0; + $0 = HEAP32[$candidate >> 2] | 0; + $1 = HEAP32[$candidate + 4 >> 2] | 0; + $2 = HEAP32[$candidate + 8 >> 2] | 0; + $3 = HEAP32[$templ >> 2] | 0; + if (!$3) { + $call = _ar2GenTemplate(HEAP32[$handle + 28 >> 2] | 0, HEAP32[$handle + 32 >> 2] | 0) | 0; + HEAP32[$templ >> 2] = $call; + $11 = $call; + } else $11 = $3; + $cparamLT = $handle + 12 | 0; + $arraydecay = $handle + 48 + ($0 * 48 | 0) | 0; + $7 = HEAP32[$surfaceSet >> 2] | 0; + if ((_ar2SetTemplateSub(HEAP32[$cparamLT >> 2] | 0, $arraydecay, HEAP32[$7 + ($0 * 112 | 0) >> 2] | 0, (HEAP32[HEAP32[$7 + ($0 * 112 | 0) + 4 >> 2] >> 2] | 0) + ($1 * 20 | 0) | 0, $2, $11) | 0) >= 0 ? ($12 = HEAP32[$templ >> 2] | 0, $13 = HEAP32[$12 + 28 >> 2] | 0, $conv = +(Math_imul($13, $13) | 0), !(+(Math_imul((HEAP32[$12 + 16 >> 2] | 0) + 1 + (HEAP32[$12 + 20 >> 2] | 0) | 0, (HEAP32[$12 + 8 >> 2] | 0) + 1 + (HEAP32[$12 + 12 >> 2] | 0) | 0) | 0) * 5.0 * 5.0 > $conv)) : 0) { + $18 = HEAP32[$surfaceSet + 152 >> 2] | 0; + do if (($18 | 0) != 1) { + $24 = HEAP32[$cparamLT >> 2] | 0; + $arraydecay40 = $handle + 528 + ($0 * 48 | 0) | 0; + if (($18 | 0) == 2) { + _ar2GetSearchPoint($24, $arraydecay, $arraydecay40, 0, (HEAP32[(HEAP32[HEAP32[(HEAP32[$surfaceSet >> 2] | 0) + ($0 * 112 | 0) + 4 >> 2] >> 2] | 0) + ($1 * 20 | 0) >> 2] | 0) + ($2 * 20 | 0) | 0, $search); + $arraydecay67$pre$phiZ2D = $search; + break; + } else { + _ar2GetSearchPoint($24, $arraydecay, $arraydecay40, $handle + 1008 + ($0 * 48 | 0) | 0, (HEAP32[(HEAP32[HEAP32[(HEAP32[$surfaceSet >> 2] | 0) + ($0 * 112 | 0) + 4 >> 2] >> 2] | 0) + ($1 * 20 | 0) >> 2] | 0) + ($2 * 20 | 0) | 0, $search); + $arraydecay67$pre$phiZ2D = $search; + break; + } + } else { + _ar2GetSearchPoint(HEAP32[$cparamLT >> 2] | 0, $arraydecay, 0, 0, (HEAP32[(HEAP32[HEAP32[(HEAP32[$surfaceSet >> 2] | 0) + ($0 * 112 | 0) + 4 >> 2] >> 2] | 0) + ($1 * 20 | 0) >> 2] | 0) + ($2 * 20 | 0) | 0, $search); + $arraydecay67$pre$phiZ2D = $search; + } while (0); + $37 = HEAP32[$handle + 24 >> 2] | 0; + if ((_ar2GetBestMatching($dataPtr, $mfImage, HEAP32[$handle + 4 >> 2] | 0, HEAP32[$handle + 8 >> 2] | 0, HEAP32[$handle + 20 >> 2] | 0, HEAP32[$templ >> 2] | 0, $37, $37, $arraydecay67$pre$phiZ2D, $bx, $by, $result) | 0) >= 0) { + HEAPF32[$result + 4 >> 2] = +(HEAP32[$bx >> 2] | 0); + HEAPF32[$result + 8 >> 2] = +(HEAP32[$by >> 2] | 0); + $40 = HEAP32[$surfaceSet >> 2] | 0; + $44 = HEAP32[(HEAP32[HEAP32[$40 + ($0 * 112 | 0) + 4 >> 2] >> 2] | 0) + ($1 * 20 | 0) >> 2] | 0; + $mx = $44 + ($2 * 20 | 0) + 8 | 0; + $my = $44 + ($2 * 20 | 0) + 12 | 0; + HEAPF32[$result + 12 >> 2] = +HEAPF32[$40 + ($0 * 112 | 0) + 24 >> 2] + (+HEAPF32[$40 + ($0 * 112 | 0) + 12 >> 2] * +HEAPF32[$mx >> 2] + +HEAPF32[$40 + ($0 * 112 | 0) + 16 >> 2] * +HEAPF32[$my >> 2]); + HEAPF32[$result + 16 >> 2] = +HEAPF32[$40 + ($0 * 112 | 0) + 40 >> 2] + (+HEAPF32[$40 + ($0 * 112 | 0) + 28 >> 2] * +HEAPF32[$mx >> 2] + +HEAPF32[$40 + ($0 * 112 | 0) + 32 >> 2] * +HEAPF32[$my >> 2]); + HEAPF32[$result + 20 >> 2] = +HEAPF32[$40 + ($0 * 112 | 0) + 56 >> 2] + (+HEAPF32[$40 + ($0 * 112 | 0) + 44 >> 2] * +HEAPF32[$mx >> 2] + +HEAPF32[$40 + ($0 * 112 | 0) + 48 >> 2] * +HEAPF32[$my >> 2]); + $retval$0 = 0; + } else $retval$0 = -1; + } else $retval$0 = -1; + STACKTOP = sp; + return $retval$0 | 0; +} + +function _minvf($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$0130 = 0.0, $$0131 = 0, $$0133 = 0, $$0135 = 0, $$0138 = 0, $$0142 = 0, $$0145 = 0, $$1132 = 0, $$1136 = 0, $$1139 = 0, $$1143 = 0, $$1146 = 0, $$2 = 0, $$2137 = 0, $$2140 = 0, $$2144 = 0, $$2147 = 0, $$3 = 0, $$3141 = 0, $$4 = 0, $13 = 0, $15 = 0.0, $16 = 0, $21 = 0, $22 = 0, $23 = 0, $27 = 0, $3 = 0, $32 = 0.0, $33 = 0, $40 = 0, $41 = 0.0, $42 = 0, $56 = 0, $65 = 0, $indvars$iv = 0, $indvars$iv154 = 0, $scevgep = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2e3 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(2e3); + $3 = sp; + L1 : do if (($1 | 0) > 500) $$0 = 0; else { + switch ($1 | 0) { + case 0: + { + $$0 = 0; + break L1; + break; + } + case 1: + { + HEAPF32[$0 >> 2] = 1.0 / +HEAPF32[$0 >> 2]; + $$0 = $0; + break L1; + break; + } + default: + {} + } + $$0135 = 0; + while (1) { + if (($$0135 | 0) >= ($1 | 0)) break; + HEAP32[$3 + ($$0135 << 2) >> 2] = $$0135; + $$0135 = $$0135 + 1 | 0; + } + $scevgep = $0 + ($1 + -1 << 2) | 0; + $$1136 = 0; + $indvars$iv = $scevgep; + while (1) { + if (($$1136 | 0) >= ($1 | 0)) break; + $13 = $0 + ((Math_imul($$1136, $2) | 0) << 2) | 0; + $$0130 = 0.0; + $$0131 = $13; + $$0133 = -1; + $$0142 = $$1136; + while (1) { + if (($$0142 | 0) == ($1 | 0)) break; + $15 = +Math_abs(+(+HEAPF32[$$0131 >> 2])); + $16 = $$0130 < $15; + $$0130 = $16 ? $15 : $$0130; + $$0131 = $$0131 + ($2 << 2) | 0; + $$0133 = $16 ? $$0142 : $$0133; + $$0142 = $$0142 + 1 | 0; + } + if (($$0133 | 0) == -1 | $$0130 <= 1.000000013351432e-10) { + $$0 = 0; + break L1; + } + $21 = $3 + ($$0133 << 2) | 0; + $22 = HEAP32[$21 >> 2] | 0; + $23 = $3 + ($$1136 << 2) | 0; + HEAP32[$21 >> 2] = HEAP32[$23 >> 2]; + HEAP32[$23 >> 2] = $22; + $$0138 = 0; + $$0145 = $13; + $$1132 = $0 + ((Math_imul($$0133, $2) | 0) << 2) | 0; + while (1) { + if (($$0138 | 0) == ($1 | 0)) break; + $27 = HEAP32[$$1132 >> 2] | 0; + HEAP32[$$1132 >> 2] = HEAP32[$$0145 >> 2]; + HEAP32[$$0145 >> 2] = $27; + $$0138 = $$0138 + 1 | 0; + $$0145 = $$0145 + 4 | 0; + $$1132 = $$1132 + 4 | 0; + } + $32 = +HEAPF32[$13 >> 2]; + $$1139 = 1; + $$2 = $13; + while (1) { + if (($$1139 | 0) == ($1 | 0)) break; + $33 = $$2 + 4 | 0; + HEAPF32[$$2 >> 2] = +HEAPF32[$33 >> 2] / $32; + $$1139 = $$1139 + 1 | 0; + $$2 = $33; + } + HEAPF32[$indvars$iv >> 2] = 1.0 / $32; + $$1143 = 0; + $indvars$iv154 = $scevgep; + while (1) { + if (($$1143 | 0) == ($1 | 0)) break; + if (($$1143 | 0) != ($$1136 | 0)) { + $40 = $0 + ((Math_imul($$1143, $2) | 0) << 2) | 0; + $41 = +HEAPF32[$40 >> 2]; + $$1146 = $13; + $$2140 = 1; + $$3 = $40; + while (1) { + if (($$2140 | 0) == ($1 | 0)) break; + $42 = $$3 + 4 | 0; + HEAPF32[$$3 >> 2] = +HEAPF32[$42 >> 2] - $41 * +HEAPF32[$$1146 >> 2]; + $$1146 = $$1146 + 4 | 0; + $$2140 = $$2140 + 1 | 0; + $$3 = $42; + } + HEAPF32[$indvars$iv154 >> 2] = -($41 * +HEAPF32[$indvars$iv >> 2]); + } + $$1143 = $$1143 + 1 | 0; + $indvars$iv154 = $indvars$iv154 + ($2 << 2) | 0; + } + $$1136 = $$1136 + 1 | 0; + $indvars$iv = $indvars$iv + ($2 << 2) | 0; + } + $$2137 = 0; + while (1) { + if (($$2137 | 0) >= ($1 | 0)) { + $$0 = $0; + break L1; + } + $$3141 = $$2137; + while (1) { + $56 = $3 + ($$3141 << 2) | 0; + if (($$3141 | 0) >= ($1 | 0)) break; + if ((HEAP32[$56 >> 2] | 0) == ($$2137 | 0)) break; + $$3141 = $$3141 + 1 | 0; + } + HEAP32[$56 >> 2] = HEAP32[$3 + ($$2137 << 2) >> 2]; + $$2144 = 0; + $$2147 = $0 + ($$2137 << 2) | 0; + $$4 = $0 + ($$3141 << 2) | 0; + while (1) { + if (($$2144 | 0) >= ($1 | 0)) break; + $65 = HEAP32[$$4 >> 2] | 0; + HEAP32[$$4 >> 2] = HEAP32[$$2147 >> 2]; + HEAP32[$$2147 >> 2] = $65; + $$2144 = $$2144 + 1 | 0; + $$2147 = $$2147 + ($2 << 2) | 0; + $$4 = $$4 + ($2 << 2) | 0; + } + $$2137 = $$2137 + 1 | 0; + } + } while (0); + STACKTOP = sp; + return $$0 | 0; +} + +function __ZNSt3__213unordered_mapIiNS_6vectorIN6vision7Point3dIfEENS_9allocatorIS4_EEEENS_4hashIiEENS_8equal_toIiEENS5_INS_4pairIKiS7_EEEEEixERSD_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0$i = 0, $$053$i = 0, $$054$i = 0, $$1$i = 0, $$155$i = 0, $$pn$i = 0, $$pre$phi$iZ2D = 0, $11 = 0, $17 = 0, $18 = 0, $2 = 0, $22 = 0, $28 = 0, $3 = 0, $32 = 0, $35 = 0.0, $38 = 0.0, $4 = 0, $48 = 0, $5 = 0, $51 = 0, $53 = 0, $54 = 0, $6 = 0, $62 = 0, $64 = 0, $7 = 0, $70 = 0, $71 = 0, $74 = 0, $75 = 0, $8 = 0, $83 = 0, $87 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp + 4 | 0; + $3 = sp; + $4 = sp + 16 | 0; + HEAP32[$3 >> 2] = $1; + $5 = HEAP32[$1 >> 2] | 0; + $6 = $0 + 4 | 0; + $7 = HEAP32[$6 >> 2] | 0; + $8 = ($7 | 0) == 0; + L1 : do if (!$8) { + $9 = $7 + -1 | 0; + $11 = ($9 & $7 | 0) == 0; + if (!$11) if ($5 >>> 0 < $7 >>> 0) $17 = $5; else $17 = ($5 >>> 0) % ($7 >>> 0) | 0; else $17 = $9 & $5; + $18 = HEAP32[(HEAP32[$0 >> 2] | 0) + ($17 << 2) >> 2] | 0; + if (!$18) { + $$054$i = $17; + label = 16; + } else { + $$pn$i = $18; + while (1) { + $$053$i = HEAP32[$$pn$i >> 2] | 0; + if (!$$053$i) { + $$054$i = $17; + label = 16; + break L1; + } + $22 = HEAP32[$$053$i + 4 >> 2] | 0; + if (($22 | 0) != ($5 | 0)) { + if (!$11) if ($22 >>> 0 < $7 >>> 0) $28 = $22; else $28 = ($22 >>> 0) % ($7 >>> 0) | 0; else $28 = $22 & $9; + if (($28 | 0) != ($17 | 0)) { + $$054$i = $17; + label = 16; + break L1; + } + } + if ((HEAP32[$$053$i + 8 >> 2] | 0) == ($5 | 0)) { + $$1$i = $$053$i; + break; + } else $$pn$i = $$053$i; + } + } + } else { + $$054$i = 0; + label = 16; + } while (0); + if ((label | 0) == 16) { + __ZNSt3__212__hash_tableINS_17__hash_value_typeIiNS_6vectorIN6vision7Point3dIfEENS_9allocatorIS5_EEEEEENS_22__unordered_map_hasherIiS9_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS9_NS_8equal_toIiEELb1EEENS6_IS9_EEE21__construct_node_hashIRKNS_21piecewise_construct_tEJNS_5tupleIJRKiEEENSO_IJEEEEEENS_10unique_ptrINS_11__hash_nodeIS9_PvEENS_22__hash_node_destructorINS6_ISW_EEEEEEmOT_DpOT0_($2, $0, $5, 67436, $3, $4); + $32 = $0 + 12 | 0; + $35 = +(((HEAP32[$32 >> 2] | 0) + 1 | 0) >>> 0); + $38 = +HEAPF32[$0 + 16 >> 2]; + do if ($8 | $38 * +($7 >>> 0) < $35) { + $48 = $7 << 1 | ($7 >>> 0 < 3 | ($7 + -1 & $7 | 0) != 0) & 1; + $51 = ~~+Math_ceil(+($35 / $38)) >>> 0; + __ZNSt3__212__hash_tableINS_17__hash_value_typeIiNS_6vectorIN6vision7Point3dIfEENS_9allocatorIS5_EEEEEENS_22__unordered_map_hasherIiS9_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS9_NS_8equal_toIiEELb1EEENS6_IS9_EEE6rehashEm($0, $48 >>> 0 < $51 >>> 0 ? $51 : $48); + $53 = HEAP32[$6 >> 2] | 0; + $54 = $53 + -1 | 0; + if (!($54 & $53)) { + $$0$i = $53; + $$155$i = $54 & $5; + break; + } + if ($5 >>> 0 < $53 >>> 0) { + $$0$i = $53; + $$155$i = $5; + } else { + $$0$i = $53; + $$155$i = ($5 >>> 0) % ($53 >>> 0) | 0; + } + } else { + $$0$i = $7; + $$155$i = $$054$i; + } while (0); + $62 = HEAP32[(HEAP32[$0 >> 2] | 0) + ($$155$i << 2) >> 2] | 0; + if (!$62) { + $64 = $0 + 8 | 0; + HEAP32[HEAP32[$2 >> 2] >> 2] = HEAP32[$64 >> 2]; + HEAP32[$64 >> 2] = HEAP32[$2 >> 2]; + HEAP32[(HEAP32[$0 >> 2] | 0) + ($$155$i << 2) >> 2] = $64; + $70 = HEAP32[$2 >> 2] | 0; + $71 = HEAP32[$70 >> 2] | 0; + if (!$71) $$pre$phi$iZ2D = $2; else { + $74 = HEAP32[$71 + 4 >> 2] | 0; + $75 = $$0$i + -1 | 0; + if ($75 & $$0$i) if ($74 >>> 0 < $$0$i >>> 0) $83 = $74; else $83 = ($74 >>> 0) % ($$0$i >>> 0) | 0; else $83 = $74 & $75; + HEAP32[(HEAP32[$0 >> 2] | 0) + ($83 << 2) >> 2] = $70; + $$pre$phi$iZ2D = $2; + } + } else { + HEAP32[HEAP32[$2 >> 2] >> 2] = HEAP32[$62 >> 2]; + HEAP32[$62 >> 2] = HEAP32[$2 >> 2]; + $$pre$phi$iZ2D = $2; + } + $87 = HEAP32[$$pre$phi$iZ2D >> 2] | 0; + HEAP32[$32 >> 2] = (HEAP32[$32 >> 2] | 0) + 1; + HEAP32[$$pre$phi$iZ2D >> 2] = 0; + $$1$i = $87; + } + STACKTOP = sp; + return $$1$i + 12 | 0; +} + +function __ZNSt3__213unordered_mapIiNS_10shared_ptrIN6vision8KeyframeILi96EEEEENS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS5_EEEEEixERSC_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0$i = 0, $$053$i = 0, $$054$i = 0, $$1$i = 0, $$155$i = 0, $$pn$i = 0, $$pre$phi$iZ2D = 0, $11 = 0, $17 = 0, $18 = 0, $2 = 0, $22 = 0, $28 = 0, $3 = 0, $32 = 0, $35 = 0.0, $38 = 0.0, $4 = 0, $48 = 0, $5 = 0, $51 = 0, $53 = 0, $54 = 0, $6 = 0, $62 = 0, $64 = 0, $7 = 0, $70 = 0, $71 = 0, $74 = 0, $75 = 0, $8 = 0, $83 = 0, $87 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp + 4 | 0; + $3 = sp; + $4 = sp + 16 | 0; + HEAP32[$3 >> 2] = $1; + $5 = HEAP32[$1 >> 2] | 0; + $6 = $0 + 4 | 0; + $7 = HEAP32[$6 >> 2] | 0; + $8 = ($7 | 0) == 0; + L1 : do if (!$8) { + $9 = $7 + -1 | 0; + $11 = ($9 & $7 | 0) == 0; + if (!$11) if ($5 >>> 0 < $7 >>> 0) $17 = $5; else $17 = ($5 >>> 0) % ($7 >>> 0) | 0; else $17 = $9 & $5; + $18 = HEAP32[(HEAP32[$0 >> 2] | 0) + ($17 << 2) >> 2] | 0; + if (!$18) { + $$054$i = $17; + label = 16; + } else { + $$pn$i = $18; + while (1) { + $$053$i = HEAP32[$$pn$i >> 2] | 0; + if (!$$053$i) { + $$054$i = $17; + label = 16; + break L1; + } + $22 = HEAP32[$$053$i + 4 >> 2] | 0; + if (($22 | 0) != ($5 | 0)) { + if (!$11) if ($22 >>> 0 < $7 >>> 0) $28 = $22; else $28 = ($22 >>> 0) % ($7 >>> 0) | 0; else $28 = $22 & $9; + if (($28 | 0) != ($17 | 0)) { + $$054$i = $17; + label = 16; + break L1; + } + } + if ((HEAP32[$$053$i + 8 >> 2] | 0) == ($5 | 0)) { + $$1$i = $$053$i; + break; + } else $$pn$i = $$053$i; + } + } + } else { + $$054$i = 0; + label = 16; + } while (0); + if ((label | 0) == 16) { + __ZNSt3__212__hash_tableINS_17__hash_value_typeIiNS_10shared_ptrIN6vision8KeyframeILi96EEEEEEENS_22__unordered_map_hasherIiS7_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS7_NS_8equal_toIiEELb1EEENS_9allocatorIS7_EEE21__construct_node_hashIRKNS_21piecewise_construct_tEJNS_5tupleIJRKiEEENSN_IJEEEEEENS_10unique_ptrINS_11__hash_nodeIS7_PvEENS_22__hash_node_destructorINSG_ISV_EEEEEEmOT_DpOT0_($2, $0, $5, 67436, $3, $4); + $32 = $0 + 12 | 0; + $35 = +(((HEAP32[$32 >> 2] | 0) + 1 | 0) >>> 0); + $38 = +HEAPF32[$0 + 16 >> 2]; + do if ($8 | $38 * +($7 >>> 0) < $35) { + $48 = $7 << 1 | ($7 >>> 0 < 3 | ($7 + -1 & $7 | 0) != 0) & 1; + $51 = ~~+Math_ceil(+($35 / $38)) >>> 0; + __ZNSt3__212__hash_tableINS_17__hash_value_typeIiNS_10shared_ptrIN6vision8KeyframeILi96EEEEEEENS_22__unordered_map_hasherIiS7_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS7_NS_8equal_toIiEELb1EEENS_9allocatorIS7_EEE6rehashEm($0, $48 >>> 0 < $51 >>> 0 ? $51 : $48); + $53 = HEAP32[$6 >> 2] | 0; + $54 = $53 + -1 | 0; + if (!($54 & $53)) { + $$0$i = $53; + $$155$i = $54 & $5; + break; + } + if ($5 >>> 0 < $53 >>> 0) { + $$0$i = $53; + $$155$i = $5; + } else { + $$0$i = $53; + $$155$i = ($5 >>> 0) % ($53 >>> 0) | 0; + } + } else { + $$0$i = $7; + $$155$i = $$054$i; + } while (0); + $62 = HEAP32[(HEAP32[$0 >> 2] | 0) + ($$155$i << 2) >> 2] | 0; + if (!$62) { + $64 = $0 + 8 | 0; + HEAP32[HEAP32[$2 >> 2] >> 2] = HEAP32[$64 >> 2]; + HEAP32[$64 >> 2] = HEAP32[$2 >> 2]; + HEAP32[(HEAP32[$0 >> 2] | 0) + ($$155$i << 2) >> 2] = $64; + $70 = HEAP32[$2 >> 2] | 0; + $71 = HEAP32[$70 >> 2] | 0; + if (!$71) $$pre$phi$iZ2D = $2; else { + $74 = HEAP32[$71 + 4 >> 2] | 0; + $75 = $$0$i + -1 | 0; + if ($75 & $$0$i) if ($74 >>> 0 < $$0$i >>> 0) $83 = $74; else $83 = ($74 >>> 0) % ($$0$i >>> 0) | 0; else $83 = $74 & $75; + HEAP32[(HEAP32[$0 >> 2] | 0) + ($83 << 2) >> 2] = $70; + $$pre$phi$iZ2D = $2; + } + } else { + HEAP32[HEAP32[$2 >> 2] >> 2] = HEAP32[$62 >> 2]; + HEAP32[$62 >> 2] = HEAP32[$2 >> 2]; + $$pre$phi$iZ2D = $2; + } + $87 = HEAP32[$$pre$phi$iZ2D >> 2] | 0; + HEAP32[$32 >> 2] = (HEAP32[$32 >> 2] | 0) + 1; + HEAP32[$$pre$phi$iZ2D >> 2] = 0; + $$1$i = $87; + } + STACKTOP = sp; + return $$1$i + 12 | 0; +} + +function _minv($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$0128 = 0.0, $$0129 = 0, $$0131 = 0, $$0133 = 0, $$0136 = 0, $$0140 = 0, $$0143 = 0, $$1130 = 0, $$1134 = 0, $$1137 = 0, $$1141 = 0, $$1144 = 0, $$2 = 0, $$2135 = 0, $$2138 = 0, $$2142 = 0, $$2145 = 0, $$3 = 0, $$3139 = 0, $$4 = 0, $13 = 0, $15 = 0.0, $16 = 0, $21 = 0, $22 = 0, $23 = 0, $27 = 0.0, $3 = 0, $32 = 0.0, $33 = 0, $40 = 0, $41 = 0.0, $42 = 0, $56 = 0, $65 = 0.0, $indvars$iv = 0, $indvars$iv152 = 0, $scevgep = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2e3 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(2e3); + $3 = sp; + L1 : do if (($1 | 0) > 500) $$0 = 0; else { + switch ($1 | 0) { + case 0: + { + $$0 = 0; + break L1; + break; + } + case 1: + { + HEAPF64[$0 >> 3] = 1.0 / +HEAPF64[$0 >> 3]; + $$0 = $0; + break L1; + break; + } + default: + {} + } + $$0133 = 0; + while (1) { + if (($$0133 | 0) >= ($1 | 0)) break; + HEAP32[$3 + ($$0133 << 2) >> 2] = $$0133; + $$0133 = $$0133 + 1 | 0; + } + $scevgep = $0 + ($1 + -1 << 3) | 0; + $$1134 = 0; + $indvars$iv = $scevgep; + while (1) { + if (($$1134 | 0) >= ($1 | 0)) break; + $13 = $0 + ((Math_imul($$1134, $2) | 0) << 3) | 0; + $$0128 = 0.0; + $$0129 = $13; + $$0131 = -1; + $$0140 = $$1134; + while (1) { + if (($$0140 | 0) == ($1 | 0)) break; + $15 = +Math_abs(+(+HEAPF64[$$0129 >> 3])); + $16 = $$0128 < $15; + $$0128 = $16 ? $15 : $$0128; + $$0129 = $$0129 + ($2 << 3) | 0; + $$0131 = $16 ? $$0140 : $$0131; + $$0140 = $$0140 + 1 | 0; + } + if (($$0131 | 0) == -1 | $$0128 <= 1.0e-10) { + $$0 = 0; + break L1; + } + $21 = $3 + ($$0131 << 2) | 0; + $22 = HEAP32[$21 >> 2] | 0; + $23 = $3 + ($$1134 << 2) | 0; + HEAP32[$21 >> 2] = HEAP32[$23 >> 2]; + HEAP32[$23 >> 2] = $22; + $$0136 = 0; + $$0143 = $13; + $$1130 = $0 + ((Math_imul($$0131, $2) | 0) << 3) | 0; + while (1) { + if (($$0136 | 0) == ($1 | 0)) break; + $27 = +HEAPF64[$$1130 >> 3]; + HEAPF64[$$1130 >> 3] = +HEAPF64[$$0143 >> 3]; + HEAPF64[$$0143 >> 3] = $27; + $$0136 = $$0136 + 1 | 0; + $$0143 = $$0143 + 8 | 0; + $$1130 = $$1130 + 8 | 0; + } + $32 = +HEAPF64[$13 >> 3]; + $$1137 = 1; + $$2 = $13; + while (1) { + if (($$1137 | 0) == ($1 | 0)) break; + $33 = $$2 + 8 | 0; + HEAPF64[$$2 >> 3] = +HEAPF64[$33 >> 3] / $32; + $$1137 = $$1137 + 1 | 0; + $$2 = $33; + } + HEAPF64[$indvars$iv >> 3] = 1.0 / $32; + $$1141 = 0; + $indvars$iv152 = $scevgep; + while (1) { + if (($$1141 | 0) == ($1 | 0)) break; + if (($$1141 | 0) != ($$1134 | 0)) { + $40 = $0 + ((Math_imul($$1141, $2) | 0) << 3) | 0; + $41 = +HEAPF64[$40 >> 3]; + $$1144 = $13; + $$2138 = 1; + $$3 = $40; + while (1) { + if (($$2138 | 0) == ($1 | 0)) break; + $42 = $$3 + 8 | 0; + HEAPF64[$$3 >> 3] = +HEAPF64[$42 >> 3] - $41 * +HEAPF64[$$1144 >> 3]; + $$1144 = $$1144 + 8 | 0; + $$2138 = $$2138 + 1 | 0; + $$3 = $42; + } + HEAPF64[$indvars$iv152 >> 3] = -($41 * +HEAPF64[$indvars$iv >> 3]); + } + $$1141 = $$1141 + 1 | 0; + $indvars$iv152 = $indvars$iv152 + ($2 << 3) | 0; + } + $$1134 = $$1134 + 1 | 0; + $indvars$iv = $indvars$iv + ($2 << 3) | 0; + } + $$2135 = 0; + while (1) { + if (($$2135 | 0) >= ($1 | 0)) { + $$0 = $0; + break L1; + } + $$3139 = $$2135; + while (1) { + $56 = $3 + ($$3139 << 2) | 0; + if (($$3139 | 0) >= ($1 | 0)) break; + if ((HEAP32[$56 >> 2] | 0) == ($$2135 | 0)) break; + $$3139 = $$3139 + 1 | 0; + } + HEAP32[$56 >> 2] = HEAP32[$3 + ($$2135 << 2) >> 2]; + $$2142 = 0; + $$2145 = $0 + ($$2135 << 3) | 0; + $$4 = $0 + ($$3139 << 3) | 0; + while (1) { + if (($$2142 | 0) >= ($1 | 0)) break; + $65 = +HEAPF64[$$4 >> 3]; + HEAPF64[$$4 >> 3] = +HEAPF64[$$2145 >> 3]; + HEAPF64[$$2145 >> 3] = $65; + $$2142 = $$2142 + 1 | 0; + $$2145 = $$2145 + ($2 << 3) | 0; + $$4 = $$4 + ($2 << 3) | 0; + } + $$2135 = $$2135 + 1 | 0; + } + } while (0); + STACKTOP = sp; + return $$0 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseVectorTypeEv($0) { + $0 = $0 | 0; + var $$0 = 0, $$1 = 0, $$2 = 0, $$3 = 0, $$4 = 0, $$5 = 0, $$byval_copy = 0, $1 = 0, $10 = 0, $14 = 0, $15 = 0, $18 = 0, $2 = 0, $22 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy = sp + 16 | 0; + $1 = sp + 8 | 0; + $2 = sp; + __ZN12_GLOBAL__N_110StringViewC2EPKc($1, 55972); + HEAP32[$$byval_copy >> 2] = HEAP32[$1 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$1 + 4 >> 2]; + do if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy) | 0) { + if (((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 0) | 0) + -49 & 255) < 9) { + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E11parseNumberEb($$byval_copy, $0, 0); + do if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 95) | 0) { + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 112) | 0) { + $$1 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_15PixelVectorTypeEJRNS_10StringViewEEEEPNS0_4NodeEDpOT0_($0, $$byval_copy) | 0; + break; + } + $10 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseTypeEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$2 >> 2] = $10; + if (!$10) $$0 = 0; else $$0 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_10VectorTypeEJRPNS0_4NodeERNS_10StringViewEEEES9_DpOT0_($0, $2, $$byval_copy) | 0; + $$1 = $$0; + } else $$1 = 0; while (0); + $$5 = $$1; + break; + } + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 95) | 0) { + $22 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseTypeEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$$byval_copy >> 2] = $22; + if (!$22) $$4 = 0; else { + __ZN12_GLOBAL__N_110StringViewC2Ev($2); + $$4 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_10VectorTypeEJRPNS0_4NodeENS_10StringViewEEEES9_DpOT0_($0, $$byval_copy, $2) | 0; + } + $$5 = $$4; + break; + } + $14 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + $15 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv($14) | 0; + HEAP32[$$byval_copy >> 2] = $15; + if (($15 | 0) != 0 ? __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 95) | 0 : 0) { + $18 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseTypeEv($14) | 0; + HEAP32[$2 >> 2] = $18; + if (!$18) $$2 = 0; else $$2 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_10VectorTypeEJRPNS0_4NodeESA_EEES9_DpOT0_($0, $2, $$byval_copy) | 0; + $$3 = $$2; + } else $$3 = 0; + $$5 = $$3; + } else $$5 = 0; while (0); + STACKTOP = sp; + return $$5 | 0; +} + +function _ar2ReadImageSetOld($0) { + $0 = $0 | 0; + var $$0 = 0, $$089 = 0, $$091 = 0, $$1 = 0, $$190 = 0, $$2 = 0, $$3 = 0, $$4 = 0, $$5 = 0, $$6 = 0, $$7 = 0, $1 = 0, $12 = 0, $17 = 0, $3 = 0, $51 = 0, $57 = 0, $6 = 0, $60 = 0, $67 = 0, $68 = 0, $75 = 0, $9 = 0, $vararg_buffer1 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $vararg_buffer7 = sp + 32 | 0; + $vararg_buffer5 = sp + 24 | 0; + $vararg_buffer3 = sp + 16 | 0; + $vararg_buffer1 = sp + 8 | 0; + $1 = _malloc(8) | 0; + if (!$1) { + _arLog(0, 3, 45930, sp); + _exit(1); + } + $3 = $1 + 4 | 0; + L4 : do if ((_fread($3, 4, 1, $0) | 0) == 1 ? ($6 = HEAP32[$3 >> 2] | 0, ($6 | 0) >= 1) : 0) { + $9 = _malloc($6 << 2) | 0; + HEAP32[$1 >> 2] = $9; + if (!$9) { + _arLog(0, 3, 45930, $vararg_buffer3); + _exit(1); + } + $$089 = 0; + while (1) { + if (($$089 | 0) >= ($6 | 0)) break; + $12 = _malloc(16) | 0; + HEAP32[$9 + ($$089 << 2) >> 2] = $12; + if (!$12) { + label = 12; + break; + } else $$089 = $$089 + 1 | 0; + } + if ((label | 0) == 12) { + _arLog(0, 3, 45930, $vararg_buffer5); + _exit(1); + } + $$190 = 0; + while (1) { + if (($$190 | 0) >= ($6 | 0)) { + label = 44; + break; + } + $17 = $9 + ($$190 << 2) | 0; + if ((_fread((HEAP32[$17 >> 2] | 0) + 4 | 0, 4, 1, $0) | 0) != 1) { + label = 15; + break; + } + if ((_fread((HEAP32[$17 >> 2] | 0) + 8 | 0, 4, 1, $0) | 0) != 1) { + label = 22; + break; + } + if ((_fread((HEAP32[$17 >> 2] | 0) + 12 | 0, 4, 1, $0) | 0) != 1) { + label = 29; + break; + } + $51 = HEAP32[$17 >> 2] | 0; + $57 = _malloc(Math_imul(HEAP32[$51 + 8 >> 2] | 0, HEAP32[$51 + 4 >> 2] | 0) | 0) | 0; + HEAP32[HEAP32[$17 >> 2] >> 2] = $57; + if (!$57) { + label = 36; + break; + } + $60 = HEAP32[$17 >> 2] | 0; + $67 = _fread(HEAP32[$60 >> 2] | 0, 1, Math_imul(HEAP32[$60 + 8 >> 2] | 0, HEAP32[$60 + 4 >> 2] | 0) | 0, $0) | 0; + $68 = HEAP32[$17 >> 2] | 0; + $75 = $$190 + 1 | 0; + if (($67 | 0) == (Math_imul(HEAP32[$68 + 8 >> 2] | 0, HEAP32[$68 + 4 >> 2] | 0) | 0)) $$190 = $75; else { + label = 38; + break; + } + } + L23 : do if ((label | 0) == 15) { + $$0 = 0; + while (1) { + if (($$0 | 0) == ($$190 | 0)) break; + _free(HEAP32[HEAP32[$9 + ($$0 << 2) >> 2] >> 2] | 0); + $$0 = $$0 + 1 | 0; + } + $$1 = 0; + while (1) { + if (($$1 | 0) == ($6 | 0)) break L23; + _free(HEAP32[$9 + ($$1 << 2) >> 2] | 0); + $$1 = $$1 + 1 | 0; + } + } else if ((label | 0) == 22) { + $$2 = 0; + while (1) { + if (($$2 | 0) == ($$190 | 0)) break; + _free(HEAP32[HEAP32[$9 + ($$2 << 2) >> 2] >> 2] | 0); + $$2 = $$2 + 1 | 0; + } + $$3 = 0; + while (1) { + if (($$3 | 0) == ($6 | 0)) break L23; + _free(HEAP32[$9 + ($$3 << 2) >> 2] | 0); + $$3 = $$3 + 1 | 0; + } + } else if ((label | 0) == 29) { + $$4 = 0; + while (1) { + if (($$4 | 0) == ($$190 | 0)) break; + _free(HEAP32[HEAP32[$9 + ($$4 << 2) >> 2] >> 2] | 0); + $$4 = $$4 + 1 | 0; + } + $$5 = 0; + while (1) { + if (($$5 | 0) == ($6 | 0)) break L23; + _free(HEAP32[$9 + ($$5 << 2) >> 2] | 0); + $$5 = $$5 + 1 | 0; + } + } else if ((label | 0) == 36) { + _arLog(0, 3, 45930, $vararg_buffer7); + _exit(1); + } else if ((label | 0) == 38) { + $$6 = 0; + while (1) { + if (($$6 | 0) == ($75 | 0)) break; + _free(HEAP32[HEAP32[$9 + ($$6 << 2) >> 2] >> 2] | 0); + $$6 = $$6 + 1 | 0; + } + $$7 = 0; + while (1) { + if (($$7 | 0) == ($6 | 0)) break L23; + _free(HEAP32[$9 + ($$7 << 2) >> 2] | 0); + $$7 = $$7 + 1 | 0; + } + } else if ((label | 0) == 44) { + _fclose($0) | 0; + $$091 = $1; + break L4; + } while (0); + _free($9); + label = 46; + } else label = 5; while (0); + if ((label | 0) == 5) { + _arLog(0, 3, 25715, $vararg_buffer1); + label = 46; + } + if ((label | 0) == 46) { + _free($1); + _fclose($0) | 0; + $$091 = 0; + } + STACKTOP = sp; + return $$091 | 0; +} + +function _arParamDecompMat($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$0117 = 0, $$1 = 0, $$1118 = 0, $$2 = 0, $$2119 = 0, $$3 = 0, $$3120 = 0, $101 = 0.0, $102 = 0.0, $113 = 0.0, $117 = 0.0, $131 = 0, $22 = 0.0, $24 = 0.0, $26 = 0.0, $27 = 0.0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $32 = 0.0, $33 = 0, $35 = 0.0, $36 = 0, $41 = 0, $43 = 0.0, $45 = 0.0, $47 = 0.0, $48 = 0.0, $49 = 0, $52 = 0.0, $55 = 0.0, $58 = 0.0, $59 = 0.0, $60 = 0, $62 = 0, $65 = 0, $68 = 0, $72 = 0.0, $74 = 0.0, $76 = 0.0, $77 = 0.0, $78 = 0, $82 = 0.0, $83 = 0, $89 = 0.0, $95 = 0.0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(96); + $3 = sp; + L1 : do if (!(+HEAPF64[$0 + 88 >> 3] >= 0.0)) { + $$1 = 0; + while (1) { + if (($$1 | 0) == 3) break L1; + $$1118 = 0; + while (1) { + if (($$1118 | 0) == 4) break; + HEAPF64[$3 + ($$1 << 5) + ($$1118 << 3) >> 3] = -+HEAPF64[$0 + ($$1 << 5) + ($$1118 << 3) >> 3]; + $$1118 = $$1118 + 1 | 0; + } + $$1 = $$1 + 1 | 0; + } + } else { + $$0 = 0; + while (1) { + if (($$0 | 0) == 3) break L1; + $$0117 = 0; + while (1) { + if (($$0117 | 0) == 4) break; + HEAPF64[$3 + ($$0 << 5) + ($$0117 << 3) >> 3] = +HEAPF64[$0 + ($$0 << 5) + ($$0117 << 3) >> 3]; + $$0117 = $$0117 + 1 | 0; + } + $$0 = $$0 + 1 | 0; + } + } while (0); + $$2 = 0; + while (1) { + if (($$2 | 0) == 3) break; + $$2119 = 0; + while (1) { + if (($$2119 | 0) == 4) break; + HEAPF64[$1 + ($$2 << 5) + ($$2119 << 3) >> 3] = 0.0; + $$2119 = $$2119 + 1 | 0; + } + $$2 = $$2 + 1 | 0; + } + $22 = +HEAPF64[$3 + 64 >> 3]; + $24 = +HEAPF64[$3 + 72 >> 3]; + $26 = +HEAPF64[$3 + 80 >> 3]; + $27 = +_norm($22, $24, $26); + $28 = $1 + 80 | 0; + HEAPF64[$28 >> 3] = $27; + $29 = $22 / $27; + $30 = $2 + 64 | 0; + HEAPF64[$30 >> 3] = $29; + $32 = $24 / +HEAPF64[$28 >> 3]; + $33 = $2 + 72 | 0; + HEAPF64[$33 >> 3] = $32; + $35 = $26 / +HEAPF64[$28 >> 3]; + $36 = $2 + 80 | 0; + HEAPF64[$36 >> 3] = $35; + $41 = $2 + 88 | 0; + HEAPF64[$41 >> 3] = +HEAPF64[$3 + 88 >> 3] / +HEAPF64[$28 >> 3]; + $43 = +HEAPF64[$3 + 32 >> 3]; + $45 = +HEAPF64[$3 + 40 >> 3]; + $47 = +HEAPF64[$3 + 48 >> 3]; + $48 = +_dot($29, $32, $35, $43, $45, $47); + $49 = $1 + 48 | 0; + HEAPF64[$49 >> 3] = $48; + $52 = $43 - $48 * +HEAPF64[$30 >> 3]; + $55 = $45 - $48 * +HEAPF64[$33 >> 3]; + $58 = $47 - $48 * +HEAPF64[$36 >> 3]; + $59 = +_norm($52, $55, $58); + $60 = $1 + 40 | 0; + HEAPF64[$60 >> 3] = $59; + $62 = $2 + 32 | 0; + HEAPF64[$62 >> 3] = $52 / $59; + $65 = $2 + 40 | 0; + HEAPF64[$65 >> 3] = $55 / +HEAPF64[$60 >> 3]; + $68 = $2 + 48 | 0; + HEAPF64[$68 >> 3] = $58 / +HEAPF64[$60 >> 3]; + $72 = +HEAPF64[$3 >> 3]; + $74 = +HEAPF64[$3 + 8 >> 3]; + $76 = +HEAPF64[$3 + 16 >> 3]; + $77 = +_dot(+HEAPF64[$30 >> 3], +HEAPF64[$33 >> 3], +HEAPF64[$36 >> 3], $72, $74, $76); + $78 = $1 + 16 | 0; + HEAPF64[$78 >> 3] = $77; + $82 = +_dot(+HEAPF64[$62 >> 3], +HEAPF64[$65 >> 3], +HEAPF64[$68 >> 3], $72, $74, $76); + $83 = $1 + 8 | 0; + HEAPF64[$83 >> 3] = $82; + $89 = $72 - $82 * +HEAPF64[$62 >> 3] - $77 * +HEAPF64[$30 >> 3]; + $95 = $74 - $82 * +HEAPF64[$65 >> 3] - $77 * +HEAPF64[$33 >> 3]; + $101 = $76 - $82 * +HEAPF64[$68 >> 3] - $77 * +HEAPF64[$36 >> 3]; + $102 = +_norm($89, $95, $101); + HEAPF64[$1 >> 3] = $102; + HEAPF64[$2 >> 3] = $89 / $102; + HEAPF64[$2 + 8 >> 3] = $95 / +HEAPF64[$1 >> 3]; + HEAPF64[$2 + 16 >> 3] = $101 / +HEAPF64[$1 >> 3]; + $113 = +HEAPF64[$41 >> 3]; + $117 = (+HEAPF64[$3 + 56 >> 3] - +HEAPF64[$49 >> 3] * $113) / +HEAPF64[$60 >> 3]; + HEAPF64[$2 + 56 >> 3] = $117; + HEAPF64[$2 + 24 >> 3] = (+HEAPF64[$3 + 24 >> 3] - $117 * +HEAPF64[$83 >> 3] - $113 * +HEAPF64[$78 >> 3]) / +HEAPF64[$1 >> 3]; + $$3 = 0; + while (1) { + if (($$3 | 0) == 3) break; + $$3120 = 0; + while (1) { + if (($$3120 | 0) == 3) break; + $131 = $1 + ($$3 << 5) + ($$3120 << 3) | 0; + HEAPF64[$131 >> 3] = +HEAPF64[$131 >> 3] / +HEAPF64[$28 >> 3]; + $$3120 = $$3120 + 1 | 0; + } + $$3 = $$3 + 1 | 0; + } + STACKTOP = sp; + return 0; +} + +function __ZNSt3__213unordered_mapIiNS_6vectorIiNS_9allocatorIiEEEENS_4hashIiEENS_8equal_toIiEENS2_INS_4pairIKiS4_EEEEEixERSA_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0$i = 0, $$053$i = 0, $$054$i = 0, $$1$i = 0, $$155$i = 0, $$pn$i = 0, $$pre$phi$iZ2D = 0, $11 = 0, $17 = 0, $18 = 0, $2 = 0, $22 = 0, $28 = 0, $3 = 0, $32 = 0, $35 = 0.0, $38 = 0.0, $4 = 0, $48 = 0, $5 = 0, $51 = 0, $53 = 0, $54 = 0, $6 = 0, $62 = 0, $64 = 0, $7 = 0, $70 = 0, $71 = 0, $74 = 0, $75 = 0, $8 = 0, $83 = 0, $87 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp + 4 | 0; + $3 = sp; + $4 = sp + 16 | 0; + HEAP32[$3 >> 2] = $1; + $5 = HEAP32[$1 >> 2] | 0; + $6 = $0 + 4 | 0; + $7 = HEAP32[$6 >> 2] | 0; + $8 = ($7 | 0) == 0; + L1 : do if (!$8) { + $9 = $7 + -1 | 0; + $11 = ($9 & $7 | 0) == 0; + if (!$11) if ($5 >>> 0 < $7 >>> 0) $17 = $5; else $17 = ($5 >>> 0) % ($7 >>> 0) | 0; else $17 = $9 & $5; + $18 = HEAP32[(HEAP32[$0 >> 2] | 0) + ($17 << 2) >> 2] | 0; + if (!$18) { + $$054$i = $17; + label = 16; + } else { + $$pn$i = $18; + while (1) { + $$053$i = HEAP32[$$pn$i >> 2] | 0; + if (!$$053$i) { + $$054$i = $17; + label = 16; + break L1; + } + $22 = HEAP32[$$053$i + 4 >> 2] | 0; + if (($22 | 0) != ($5 | 0)) { + if (!$11) if ($22 >>> 0 < $7 >>> 0) $28 = $22; else $28 = ($22 >>> 0) % ($7 >>> 0) | 0; else $28 = $22 & $9; + if (($28 | 0) != ($17 | 0)) { + $$054$i = $17; + label = 16; + break L1; + } + } + if ((HEAP32[$$053$i + 8 >> 2] | 0) == ($5 | 0)) { + $$1$i = $$053$i; + break; + } else $$pn$i = $$053$i; + } + } + } else { + $$054$i = 0; + label = 16; + } while (0); + if ((label | 0) == 16) { + __ZNSt3__212__hash_tableINS_17__hash_value_typeIiNS_6vectorIiNS_9allocatorIiEEEEEENS_22__unordered_map_hasherIiS6_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS6_NS_8equal_toIiEELb1EEENS3_IS6_EEE21__construct_node_hashIRKNS_21piecewise_construct_tEJNS_5tupleIJRKiEEENSL_IJEEEEEENS_10unique_ptrINS_11__hash_nodeIS6_PvEENS_22__hash_node_destructorINS3_IST_EEEEEEmOT_DpOT0_($2, $0, $5, 67436, $3, $4); + $32 = $0 + 12 | 0; + $35 = +(((HEAP32[$32 >> 2] | 0) + 1 | 0) >>> 0); + $38 = +HEAPF32[$0 + 16 >> 2]; + do if ($8 | $38 * +($7 >>> 0) < $35) { + $48 = $7 << 1 | ($7 >>> 0 < 3 | ($7 + -1 & $7 | 0) != 0) & 1; + $51 = ~~+Math_ceil(+($35 / $38)) >>> 0; + __ZNSt3__212__hash_tableINS_17__hash_value_typeIiNS_6vectorIiNS_9allocatorIiEEEEEENS_22__unordered_map_hasherIiS6_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS6_NS_8equal_toIiEELb1EEENS3_IS6_EEE6rehashEm($0, $48 >>> 0 < $51 >>> 0 ? $51 : $48); + $53 = HEAP32[$6 >> 2] | 0; + $54 = $53 + -1 | 0; + if (!($54 & $53)) { + $$0$i = $53; + $$155$i = $54 & $5; + break; + } + if ($5 >>> 0 < $53 >>> 0) { + $$0$i = $53; + $$155$i = $5; + } else { + $$0$i = $53; + $$155$i = ($5 >>> 0) % ($53 >>> 0) | 0; + } + } else { + $$0$i = $7; + $$155$i = $$054$i; + } while (0); + $62 = HEAP32[(HEAP32[$0 >> 2] | 0) + ($$155$i << 2) >> 2] | 0; + if (!$62) { + $64 = $0 + 8 | 0; + HEAP32[HEAP32[$2 >> 2] >> 2] = HEAP32[$64 >> 2]; + HEAP32[$64 >> 2] = HEAP32[$2 >> 2]; + HEAP32[(HEAP32[$0 >> 2] | 0) + ($$155$i << 2) >> 2] = $64; + $70 = HEAP32[$2 >> 2] | 0; + $71 = HEAP32[$70 >> 2] | 0; + if (!$71) $$pre$phi$iZ2D = $2; else { + $74 = HEAP32[$71 + 4 >> 2] | 0; + $75 = $$0$i + -1 | 0; + if ($75 & $$0$i) if ($74 >>> 0 < $$0$i >>> 0) $83 = $74; else $83 = ($74 >>> 0) % ($$0$i >>> 0) | 0; else $83 = $74 & $75; + HEAP32[(HEAP32[$0 >> 2] | 0) + ($83 << 2) >> 2] = $70; + $$pre$phi$iZ2D = $2; + } + } else { + HEAP32[HEAP32[$2 >> 2] >> 2] = HEAP32[$62 >> 2]; + HEAP32[$62 >> 2] = HEAP32[$2 >> 2]; + $$pre$phi$iZ2D = $2; + } + $87 = HEAP32[$$pre$phi$iZ2D >> 2] | 0; + HEAP32[$32 >> 2] = (HEAP32[$32 >> 2] | 0) + 1; + HEAP32[$$pre$phi$iZ2D >> 2] = 0; + $$1$i = $87; + } + STACKTOP = sp; + return $$1$i + 12 | 0; +} + +function __ZN6vision10DoGPyramid7computeEPKNS_25GaussianScaleSpacePyramidE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$017 = 0, $12 = 0, $17 = 0, $2 = 0, $21 = 0, $29 = 0, $34 = 0, $38 = 0, $46 = 0, $51 = 0, $55 = 0, $56 = 0, $57 = 0, $63 = 0, $64 = 0, $65 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $2 = sp; + if ((HEAP32[$0 + 4 >> 2] | 0) == (HEAP32[$0 >> 2] | 0)) { + $12 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 26907) | 0, 26748) | 0, 39072) | 0, 72) | 0, 39079) | 0, 26949) | 0; + __ZNKSt3__28ios_base6getlocEv($2, $12 + (HEAP32[(HEAP32[$12 >> 2] | 0) + -12 >> 2] | 0) | 0); + $17 = __ZNKSt3__26locale9use_facetERNS0_2idE($2, 66512) | 0; + $21 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$17 >> 2] | 0) + 28 >> 2] & 127]($17, 10) | 0; + __ZNSt3__26localeD2Ev($2); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($12, $21) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($12) | 0; + _abort(); + } + if ((__ZNK6vision25GaussianScaleSpacePyramid10numOctavesEv($1) | 0) <= 0) { + $29 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 26990) | 0, 26748) | 0, 39072) | 0, 73) | 0, 39079) | 0, 27039) | 0; + __ZNKSt3__28ios_base6getlocEv($2, $29 + (HEAP32[(HEAP32[$29 >> 2] | 0) + -12 >> 2] | 0) | 0); + $34 = __ZNKSt3__26locale9use_facetERNS0_2idE($2, 66512) | 0; + $38 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$34 >> 2] | 0) + 28 >> 2] & 127]($34, 10) | 0; + __ZNSt3__26localeD2Ev($2); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($29, $38) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($29) | 0; + _abort(); + } + if ($1 | 0 ? ___dynamic_cast($1, 13184, 13192, 0) | 0 : 0) { + $56 = $0 + 12 | 0; + $57 = $0 + 16 | 0; + $$017 = 0; + while (1) { + if ($$017 >>> 0 >= (HEAP32[$56 >> 2] | 0) >>> 0) break; + $$0 = 0; + while (1) { + if ($$0 >>> 0 >= (HEAP32[$57 >> 2] | 0) >>> 0) break; + $63 = __ZN6vision10DoGPyramid3getEmm($0, $$017, $$0) | 0; + $64 = __ZNK6vision25GaussianScaleSpacePyramid3getEmm($1, $$017, $$0) | 0; + $65 = $$0 + 1 | 0; + __ZN6vision10DoGPyramid25difference_image_binomialERNS_5ImageERKS1_S4_(0, $63, $64, __ZNK6vision25GaussianScaleSpacePyramid3getEmm($1, $$017, $65) | 0); + $$0 = $65; + } + $$017 = $$017 + 1 | 0; + } + STACKTOP = sp; + return; + } + $46 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 27075) | 0, 26748) | 0, 39072) | 0, 74) | 0, 39079) | 0, 27147) | 0; + __ZNKSt3__28ios_base6getlocEv($2, $46 + (HEAP32[(HEAP32[$46 >> 2] | 0) + -12 >> 2] | 0) | 0); + $51 = __ZNKSt3__26locale9use_facetERNS0_2idE($2, 66512) | 0; + $55 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$51 >> 2] | 0) + 28 >> 2] & 127]($51, 10) | 0; + __ZNSt3__26localeD2Ev($2); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($46, $55) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($46) | 0; + _abort(); +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseNameEPNS5_9NameStateE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$1 = 0, $$2 = 0, $$3 = 0, $$4 = 0, $11 = 0, $12 = 0, $16 = 0, $17 = 0, $2 = 0, $21 = 0, $22 = 0, $27 = 0, $28 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $2 = sp + 4 | 0; + $3 = sp; + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 76) | 0; + switch ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 0) | 0) << 24 >> 24) { + case 78: + { + $$4 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseNestedNameEPNS5_9NameStateE(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0, $1) | 0; + break; + } + case 90: + { + $$4 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E14parseLocalNameEPNS5_9NameStateE(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0, $1) | 0; + break; + } + case 83: + { + if ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 1) | 0) << 24 >> 24 == 116) label = 13; else { + $11 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + $12 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E17parseSubstitutionEv($11) | 0; + HEAP32[$2 >> 2] = $12; + if (($12 | 0) != 0 ? (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 0) | 0) << 24 >> 24 == 73 : 0) { + $16 = ($1 | 0) != 0; + $17 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E17parseTemplateArgsEb($11, $16) | 0; + HEAP32[$3 >> 2] = $17; + if (!$17) $$0 = 0; else { + if ($16) HEAP8[$1 + 1 >> 0] = 1; + $$0 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_20NameWithTemplateArgsEJRPNS0_4NodeESA_EEES9_DpOT0_($0, $2, $3) | 0; + } + $$1 = $$0; + } else $$1 = 0; + $$4 = $$1; + } + break; + } + default: + label = 13; + } + if ((label | 0) == 13) { + $21 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + $22 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E17parseUnscopedNameEPNS5_9NameStateE($21, $1) | 0; + HEAP32[$2 >> 2] = $22; + if ($22) if ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 0) | 0) << 24 >> 24 == 73) { + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE9push_backERKS3_($0 + 148 | 0, $2); + $27 = ($1 | 0) != 0; + $28 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E17parseTemplateArgsEb($21, $27) | 0; + HEAP32[$3 >> 2] = $28; + if (!$28) $$2 = 0; else { + if ($27) HEAP8[$1 + 1 >> 0] = 1; + $$2 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_20NameWithTemplateArgsEJRPNS0_4NodeESA_EEES9_DpOT0_($0, $2, $3) | 0; + } + $$3 = $$2; + } else $$3 = $22; else $$3 = 0; + $$4 = $$3; + } + STACKTOP = sp; + return $$4 | 0; +} + +function __ZNSt3__2L13utf8_to_utf16EPKhS1_RS1_PtS3_RS3_mNS_12codecvt_modeE($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 $$8 = 0, $$pre$phiZ2D = 0, $$sink = 0, $10 = 0, $104 = 0, $106 = 0, $11 = 0, $110 = 0, $113 = 0, $134 = 0, $24 = 0, $25 = 0, $27 = 0, $29 = 0, $30 = 0, $42 = 0, $48 = 0, $57 = 0, $59 = 0, $66 = 0, $75 = 0, $85 = 0, $87 = 0, $89 = 0, $95 = 0, $98 = 0; + HEAP32[$2 >> 2] = $0; + HEAP32[$5 >> 2] = $3; + if ($7 & 4) { + $10 = HEAP32[$2 >> 2] | 0; + $11 = $1; + if (((($11 - $10 | 0) > 2 ? (HEAP8[$10 >> 0] | 0) == -17 : 0) ? (HEAP8[$10 + 1 >> 0] | 0) == -69 : 0) ? (HEAP8[$10 + 2 >> 0] | 0) == -65 : 0) { + HEAP32[$2 >> 2] = $10 + 3; + $$pre$phiZ2D = $11; + } else $$pre$phiZ2D = $11; + } else $$pre$phiZ2D = $1; + $24 = $4; + L9 : while (1) { + $25 = HEAP32[$2 >> 2] | 0; + if ($25 >>> 0 >= $1 >>> 0) { + $$8 = 0; + break; + } + $27 = HEAP32[$5 >> 2] | 0; + if ($27 >>> 0 >= $4 >>> 0) { + $$8 = 1; + break; + } + $29 = HEAP8[$25 >> 0] | 0; + $30 = $29 & 255; + if ($30 >>> 0 > $6 >>> 0) { + $$8 = 2; + break; + } + do if ($29 << 24 >> 24 > -1) { + HEAP16[$27 >> 1] = $29 & 255; + $$sink = $25 + 1 | 0; + } else { + if (($29 & 255) < 194) { + $$8 = 2; + break L9; + } + if (($29 & 255) < 224) { + if (($$pre$phiZ2D - $25 | 0) < 2) { + $$8 = 1; + break L9; + } + $42 = HEAPU8[$25 + 1 >> 0] | 0; + if (($42 & 192 | 0) != 128) { + $$8 = 2; + break L9; + } + $48 = $42 & 63 | $30 << 6 & 1984; + if ($48 >>> 0 > $6 >>> 0) { + $$8 = 2; + break L9; + } + HEAP16[$27 >> 1] = $48; + $$sink = $25 + 2 | 0; + break; + } + if (($29 & 255) < 240) { + if (($$pre$phiZ2D - $25 | 0) < 3) { + $$8 = 1; + break L9; + } + $57 = HEAP8[$25 + 1 >> 0] | 0; + $59 = HEAP8[$25 + 2 >> 0] | 0; + switch ($29 << 24 >> 24) { + case -32: + { + if (($57 & -32) << 24 >> 24 != -96) { + $$8 = 2; + break L9; + } + break; + } + case -19: + { + if (($57 & -32) << 24 >> 24 != -128) { + $$8 = 2; + break L9; + } + break; + } + default: + if (($57 & -64) << 24 >> 24 != -128) { + $$8 = 2; + break L9; + } + } + $66 = $59 & 255; + if (($66 & 192 | 0) != 128) { + $$8 = 2; + break L9; + } + $75 = ($57 & 63) << 6 | $30 << 12 | $66 & 63; + if (($75 & 65535) >>> 0 > $6 >>> 0) { + $$8 = 2; + break L9; + } + HEAP16[$27 >> 1] = $75; + $$sink = $25 + 3 | 0; + break; + } + if (($29 & 255) >= 245) { + $$8 = 2; + break L9; + } + if (($$pre$phiZ2D - $25 | 0) < 4) { + $$8 = 1; + break L9; + } + $85 = HEAP8[$25 + 1 >> 0] | 0; + $87 = HEAP8[$25 + 2 >> 0] | 0; + $89 = HEAP8[$25 + 3 >> 0] | 0; + switch ($29 << 24 >> 24) { + case -16: + { + if (($85 + 112 & 255) >= 48) { + $$8 = 2; + break L9; + } + break; + } + case -12: + { + if (($85 & -16) << 24 >> 24 != -128) { + $$8 = 2; + break L9; + } + break; + } + default: + if (($85 & -64) << 24 >> 24 != -128) { + $$8 = 2; + break L9; + } + } + $95 = $87 & 255; + if (($95 & 192 | 0) != 128) { + $$8 = 2; + break L9; + } + $98 = $89 & 255; + if (($98 & 192 | 0) != 128) { + $$8 = 2; + break L9; + } + if (($24 - $27 | 0) < 4) { + $$8 = 1; + break L9; + } + $104 = $30 & 7; + $106 = $85 & 255; + $110 = $95 << 6; + $113 = $98 & 63; + if (($106 << 12 & 258048 | $104 << 18 | $110 & 4032 | $113) >>> 0 > $6 >>> 0) { + $$8 = 2; + break L9; + } + HEAP16[$27 >> 1] = $106 << 2 & 60 | $95 >>> 4 & 3 | (($106 >>> 4 & 3 | $104 << 2) << 6) + 16320 | 55296; + $134 = $27 + 2 | 0; + HEAP32[$5 >> 2] = $134; + HEAP16[$134 >> 1] = $113 | $110 & 960 | 56320; + $$sink = (HEAP32[$2 >> 2] | 0) + 4 | 0; + } while (0); + HEAP32[$2 >> 2] = $$sink; + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 2; + } + return $$8 | 0; +} + +function __ZN6vision11PartialSortIfiEENSt3__24pairIT_T0_EEPS5_ii($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0, $$040 = 0, $$042 = 0, $$044 = 0, $$1 = 0, $$145 = 0, $$2 = 0, $$246 = 0, $11 = 0, $16 = 0, $20 = 0, $27 = 0, $32 = 0, $36 = 0, $37 = 0, $39 = 0, $4 = 0, $40 = 0, $42 = 0.0, $43 = 0, $44 = 0, $45 = 0.0, $52 = 0, $53 = 0.0, $61 = 0, $62 = 0, $63 = 0, $70 = 0, $75 = 0, $76 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $4 = sp; + if (($2 | 0) <= 0) { + $11 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 37491) | 0, 37520) | 0, 39072) | 0, 82) | 0, 39079) | 0, 37593) | 0; + __ZNKSt3__28ios_base6getlocEv($4, $11 + (HEAP32[(HEAP32[$11 >> 2] | 0) + -12 >> 2] | 0) | 0); + $16 = __ZNKSt3__26locale9use_facetERNS0_2idE($4, 66512) | 0; + $20 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$16 >> 2] | 0) + 28 >> 2] & 127]($16, 10) | 0; + __ZNSt3__26localeD2Ev($4); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($11, $20) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($11) | 0; + _abort(); + } + if (($3 | 0) <= 0) { + $27 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 37612) | 0, 37520) | 0, 39072) | 0, 83) | 0, 39079) | 0, 37641) | 0; + __ZNKSt3__28ios_base6getlocEv($4, $27 + (HEAP32[(HEAP32[$27 >> 2] | 0) + -12 >> 2] | 0) | 0); + $32 = __ZNKSt3__26locale9use_facetERNS0_2idE($4, 66512) | 0; + $36 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$32 >> 2] | 0) + 28 >> 2] & 127]($32, 10) | 0; + __ZNSt3__26localeD2Ev($4); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($27, $36) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($27) | 0; + _abort(); + } + $37 = $3 + -1 | 0; + $39 = $1 + ($37 << 3) | 0; + $40 = $1 + ($37 << 3) + 4 | 0; + $$040 = $2 + -1 | 0; + $$042 = 0; + while (1) { + if (($$042 | 0) >= ($$040 | 0)) break; + $42 = +HEAPF32[$39 >> 2]; + $43 = HEAP32[$40 >> 2] | 0; + $$0 = $$042; + $$044 = $$040; + while (1) { + $$1 = $$0; + while (1) { + $44 = $1 + ($$1 << 3) | 0; + $45 = +HEAPF32[$44 >> 2]; + if (!($45 < $42)) { + if ($42 < $45) break; + if ((HEAP32[$1 + ($$1 << 3) + 4 >> 2] | 0) >= ($43 | 0)) break; + } + $$1 = $$1 + 1 | 0; + } + $$145 = $$044; + while (1) { + $52 = $1 + ($$145 << 3) | 0; + $53 = +HEAPF32[$52 >> 2]; + if (!($42 < $53)) { + if ($53 < $42) break; + if (($43 | 0) >= (HEAP32[$1 + ($$145 << 3) + 4 >> 2] | 0)) break; + } + $$145 = $$145 + -1 | 0; + } + if (($$1 | 0) > ($$145 | 0)) { + $$2 = $$1; + $$246 = $$145; + } else { + HEAPF32[$44 >> 2] = $53; + HEAPF32[$52 >> 2] = $45; + $61 = $1 + ($$1 << 3) + 4 | 0; + $62 = $1 + ($$145 << 3) + 4 | 0; + $63 = HEAP32[$61 >> 2] | 0; + HEAP32[$61 >> 2] = HEAP32[$62 >> 2]; + HEAP32[$62 >> 2] = $63; + $$2 = $$1 + 1 | 0; + $$246 = $$145 + -1 | 0; + } + if (($$2 | 0) > ($$246 | 0)) break; else { + $$0 = $$2; + $$044 = $$246; + } + } + $$040 = ($$2 | 0) < ($3 | 0) ? $$040 : $$246; + $$042 = ($$246 | 0) < ($37 | 0) ? $$2 : $$042; + } + $70 = $39; + $75 = HEAP32[$70 + 4 >> 2] | 0; + $76 = $0; + HEAP32[$76 >> 2] = HEAP32[$70 >> 2]; + HEAP32[$76 + 4 >> 2] = $75; + STACKTOP = sp; + return; +} + +function _ar2ReadImageSet($0) { + $0 = $0 | 0; + var $$0 = 0, $$079 = 0, $$080 = 0, $$1 = 0, $1 = 0, $10 = 0, $13 = 0, $15 = 0, $16 = 0, $18 = 0, $20 = 0, $30 = 0, $4 = 0, $43 = 0, $50 = 0, $53 = 0, $6 = 0, $8 = 0, $vararg_buffer1 = 0, $vararg_buffer10 = 0, $vararg_buffer12 = 0, $vararg_buffer15 = 0, $vararg_buffer17 = 0, $vararg_buffer19 = 0, $vararg_buffer23 = 0, $vararg_buffer4 = 0, $vararg_buffer8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(96); + $vararg_buffer23 = sp + 72 | 0; + $vararg_buffer19 = sp + 64 | 0; + $vararg_buffer17 = sp + 56 | 0; + $vararg_buffer15 = sp + 48 | 0; + $vararg_buffer12 = sp + 40 | 0; + $vararg_buffer10 = sp + 32 | 0; + $vararg_buffer8 = sp + 24 | 0; + $vararg_buffer4 = sp + 16 | 0; + $vararg_buffer1 = sp + 8 | 0; + $1 = sp + 80 | 0; + $4 = _malloc((_strlen($0) | 0) + 6 | 0) | 0; + if (!$4) { + _arLog(0, 3, 45930, sp); + _exit(1); + } + HEAP32[$vararg_buffer1 >> 2] = $0; + HEAP32[$vararg_buffer1 + 4 >> 2] = 25661; + _sprintf($4, 25656, $vararg_buffer1) | 0; + $6 = _fopen($4, 26308) | 0; + _free($4); + L4 : do if (!$6) { + HEAP32[$vararg_buffer4 >> 2] = $0; + HEAP32[$vararg_buffer4 + 4 >> 2] = 25661; + _arLog(0, 3, 25667, $vararg_buffer4); + $$0 = 0; + } else { + $8 = _malloc(8) | 0; + if (!$8) { + _arLog(0, 3, 45930, $vararg_buffer8); + _exit(1); + } + $10 = $8 + 4 | 0; + if ((_fread($10, 4, 1, $6) | 0) == 1 ? ($13 = HEAP32[$10 >> 2] | 0, ($13 | 0) >= 1) : 0) { + HEAP32[$vararg_buffer12 >> 2] = $13; + _arLog(0, 1, 25740, $vararg_buffer12); + $15 = $13 << 2; + $16 = _malloc($15) | 0; + HEAP32[$8 >> 2] = $16; + if (!$16) { + _arLog(0, 3, 45930, $vararg_buffer15); + _exit(1); + } + $18 = _malloc(16) | 0; + HEAP32[$16 >> 2] = $18; + if (!$18) { + _arLog(0, 3, 45930, $vararg_buffer17); + _exit(1); + } + $20 = _ar2ReadJpegImage2($6) | 0; + if (!$20) { + HEAP32[$vararg_buffer19 >> 2] = $0; + HEAP32[$vararg_buffer19 + 4 >> 2] = 25661; + _arLog(0, 2, 25770, $vararg_buffer19); + _free(HEAP32[$16 >> 2] | 0); + _free($16); + _free($8); + _rewind($6); + $$0 = _ar2ReadImageSetOld($6) | 0; + break; + } + if ((HEAP32[$20 + 4 >> 2] | 0) != 1) { + HEAP32[$vararg_buffer23 >> 2] = $0; + HEAP32[$vararg_buffer23 + 4 >> 2] = 25661; + _arLog(0, 2, 25770, $vararg_buffer23); + _free(HEAP32[$16 >> 2] | 0); + _free($16); + _free($8); + _free($20); + _fclose($6) | 0; + $$0 = 0; + break; + } + $30 = HEAP32[$16 >> 2] | 0; + HEAP32[$30 + 4 >> 2] = HEAP32[$20 + 8 >> 2]; + HEAP32[$30 + 8 >> 2] = HEAP32[$20 + 12 >> 2]; + HEAP32[$30 + 12 >> 2] = HEAP32[$20 + 16 >> 2]; + HEAP32[$30 >> 2] = HEAP32[$20 >> 2]; + _free($20); + _fseek($6, 4 - $15 | 0, 2) | 0; + $$079 = 1; + while (1) { + if (($$079 | 0) >= ($13 | 0)) { + label = 29; + break; + } + if ((_fread($1, 4, 1, $6) | 0) != 1) { + label = 21; + break; + } + $50 = _ar2GenImageLayer2(HEAP32[$16 >> 2] | 0, +HEAPF32[$1 >> 2]) | 0; + HEAP32[$16 + ($$079 << 2) >> 2] = $50; + if (!$50) { + label = 25; + break; + } + $$079 = $$079 + 1 | 0; + } + L30 : do if ((label | 0) == 21) { + $$080 = 0; + while (1) { + if (($$080 | 0) == ($$079 | 0)) break L30; + $43 = $16 + ($$080 << 2) | 0; + _free(HEAP32[HEAP32[$43 >> 2] >> 2] | 0); + _free(HEAP32[$43 >> 2] | 0); + $$080 = $$080 + 1 | 0; + } + } else if ((label | 0) == 25) { + $$1 = 0; + while (1) { + if (($$1 | 0) == ($$079 | 0)) break L30; + $53 = $16 + ($$1 << 2) | 0; + _free(HEAP32[HEAP32[$53 >> 2] >> 2] | 0); + _free(HEAP32[$53 >> 2] | 0); + $$1 = $$1 + 1 | 0; + } + } else if ((label | 0) == 29) { + _fclose($6) | 0; + $$0 = $8; + break L4; + } while (0); + _free($16); + } else _arLog(0, 3, 25715, $vararg_buffer10); + _free($8); + _fclose($6) | 0; + $$0 = 0; + } while (0); + STACKTOP = sp; + return $$0 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E18parseQualifiedTypeEv($0) { + $0 = $0 | 0; + var $$0 = 0, $$1 = 0, $$2 = 0, $$3 = 0, $$4 = 0, $$5 = 0, $$byval_copy = 0, $1 = 0, $14 = 0, $18 = 0, $2 = 0, $21 = 0, $23 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(64); + $$byval_copy = sp + 48 | 0; + $1 = sp + 40 | 0; + $2 = sp + 32 | 0; + $3 = sp; + $4 = sp + 20 | 0; + $5 = sp + 8 | 0; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 85) | 0) { + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E19parseBareSourceNameEv($1, $0); + do if (__ZNK12_GLOBAL__N_110StringView5emptyEv($1) | 0) $$3 = 0; else { + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 56126); + HEAP32[$$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + if (!(__ZNK12_GLOBAL__N_110StringView10startsWithES0_($1, $$byval_copy) | 0)) { + $18 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E18parseQualifiedTypeEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$$byval_copy >> 2] = $18; + if (!$18) $$2 = 0; else $$2 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_17VendorExtQualTypeEJRPNS0_4NodeERNS_10StringViewEEEES9_DpOT0_($0, $$byval_copy, $1) | 0; + $$3 = $$2; + break; + } + __ZNK12_GLOBAL__N_110StringView9dropFrontEm($$byval_copy, $1, 9); + __ZN12_GLOBAL__N_110StringViewC2Ev($3); + __ZN12_GLOBAL__N_114SwapAndRestoreIPKcEC2ERS2_S2_($4, $0, __ZNK12_GLOBAL__N_110StringView5beginEv($$byval_copy) | 0); + __ZN12_GLOBAL__N_114SwapAndRestoreIPKcEC2ERS2_S2_($5, $0 + 4 | 0, __ZNK12_GLOBAL__N_110StringView3endEv($$byval_copy) | 0); + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E19parseBareSourceNameEv($3, $0); + __ZN12_GLOBAL__N_114SwapAndRestoreIPKcED2Ev($5); + __ZN12_GLOBAL__N_114SwapAndRestoreIPKcED2Ev($4); + if (__ZNK12_GLOBAL__N_110StringView5emptyEv($3) | 0) $$1 = 0; else { + $14 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E18parseQualifiedTypeEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$4 >> 2] = $14; + if (!$14) $$0 = 0; else $$0 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_13ObjCProtoNameEJRPNS0_4NodeERNS_10StringViewEEEES9_DpOT0_($0, $4, $3) | 0; + $$1 = $$0; + } + $$3 = $$1; + } while (0); + $$5 = $$3; + } else { + $21 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E17parseCVQualifiersEv($0) | 0; + HEAP32[$$byval_copy >> 2] = $21; + $23 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseTypeEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$1 >> 2] = $23; + if ($23) if (!$21) $$4 = $23; else { + $26 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8QualTypeEJRPNS0_4NodeERNS0_10QualifiersEEEES9_DpOT0_($0, $1, $$byval_copy) | 0; + HEAP32[$1 >> 2] = $26; + $$4 = $26; + } else $$4 = 0; + $$5 = $$4; + } + STACKTOP = sp; + return $$5 | 0; +} + +function _start_pass_1_quant($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$014$i = 0, $$02425$i$i = 0, $$026$i$i = 0, $$02831$i = 0, $$02932$i = 0, $$036 = 0, $$1$i = 0, $$phi$trans$insert = 0, $$pre$phi40Z2D = 0, $$pre$phiZ2D = 0, $100 = 0, $15 = 0, $16 = 0, $2 = 0, $27 = 0, $28 = 0, $3 = 0, $30 = 0, $32 = 0, $37 = 0, $40 = 0, $44 = 0, $46 = 0, $51 = 0, $52 = 0, $59 = 0, $65 = 0, $71 = 0, $74 = 0, $75 = 0, $78 = 0, $82 = 0, $85 = 0, $89 = 0, $91 = 0, $97 = 0, label = 0; + $2 = $0 + 484 | 0; + $3 = HEAP32[$2 >> 2] | 0; + HEAP32[$0 + 136 >> 2] = HEAP32[$3 + 16 >> 2]; + HEAP32[$0 + 132 >> 2] = HEAP32[$3 + 20 >> 2]; + switch (HEAP32[$0 + 88 >> 2] | 0) { + case 0: + { + $15 = $3 + 4 | 0; + if ((HEAP32[$0 + 120 >> 2] | 0) == 3) { + HEAP32[$15 >> 2] = 22; + return; + } else { + HEAP32[$15 >> 2] = 23; + return; + } + break; + } + case 1: + { + $16 = $0 + 120 | 0; + HEAP32[$3 + 4 >> 2] = (HEAP32[$16 >> 2] | 0) == 3 ? 24 : 25; + HEAP32[$3 + 48 >> 2] = 0; + if (!(HEAP32[$3 + 28 >> 2] | 0)) _create_colorindex($0); + if (HEAP32[$3 + 52 >> 2] | 0) return; + $27 = HEAP32[$2 >> 2] | 0; + $28 = HEAP32[$16 >> 2] | 0; + if (($28 | 0) <= 0) return; + $30 = $0 + 4 | 0; + $$02932$i = 0; + $100 = $28; + while (1) { + $32 = HEAP32[$27 + 32 + ($$02932$i << 2) >> 2] | 0; + L22 : do if ($$02932$i) { + $$02831$i = 0; + while (1) { + if (($32 | 0) == (HEAP32[$27 + 32 + ($$02831$i << 2) >> 2] | 0)) break; + $37 = $$02831$i + 1 | 0; + if ($37 >>> 0 < $$02932$i >>> 0) $$02831$i = $37; else { + label = 15; + break L22; + } + } + $40 = HEAP32[$27 + 52 + ($$02831$i << 2) >> 2] | 0; + if ($40) { + $$1$i = $40; + $65 = $100; + } else label = 15; + } else label = 15; while (0); + if ((label | 0) == 15) { + label = 0; + $44 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$30 >> 2] >> 2] & 63]($0, 1, 1024) | 0; + $46 = ($32 << 9) + -512 | 0; + $$026$i$i = 0; + do { + $$02425$i$i = 0; + do { + $51 = 255 - ((HEAPU8[5440 + ($$026$i$i << 4) + $$02425$i$i >> 0] | 0) << 1) | 0; + $52 = $51 * 255 | 0; + if (($51 | 0) < 0) $59 = 0 - ((0 - $52 | 0) / ($46 | 0) | 0) | 0; else $59 = ($52 | 0) / ($46 | 0) | 0; + HEAP32[$44 + ($$026$i$i << 6) + ($$02425$i$i << 2) >> 2] = $59; + $$02425$i$i = $$02425$i$i + 1 | 0; + } while (($$02425$i$i | 0) != 16); + $$026$i$i = $$026$i$i + 1 | 0; + } while (($$026$i$i | 0) != 16); + $$1$i = $44; + $65 = HEAP32[$16 >> 2] | 0; + } + HEAP32[$27 + 52 + ($$02932$i << 2) >> 2] = $$1$i; + $$02932$i = $$02932$i + 1 | 0; + if (($$02932$i | 0) >= ($65 | 0)) break; else $100 = $65; + } + return; + } + case 2: + { + HEAP32[$3 + 4 >> 2] = 26; + HEAP32[$3 + 84 >> 2] = 0; + if (!(HEAP32[$3 + 68 >> 2] | 0)) { + $71 = $0 + 112 | 0; + $74 = (HEAP32[$71 >> 2] << 1) + 4 | 0; + $75 = $0 + 120 | 0; + if ((HEAP32[$75 >> 2] | 0) <= 0) return; + $78 = $0 + 4 | 0; + $$014$i = 0; + do { + $82 = FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$78 >> 2] | 0) + 4 >> 2] & 63]($0, 1, $74) | 0; + HEAP32[$3 + 68 + ($$014$i << 2) >> 2] = $82; + $$014$i = $$014$i + 1 | 0; + $85 = HEAP32[$75 >> 2] | 0; + } while (($$014$i | 0) < ($85 | 0)); + $$pre$phi40Z2D = $75; + $$pre$phiZ2D = $71; + $91 = $85; + } else { + $$phi$trans$insert = $0 + 120 | 0; + $$pre$phi40Z2D = $$phi$trans$insert; + $$pre$phiZ2D = $0 + 112 | 0; + $91 = HEAP32[$$phi$trans$insert >> 2] | 0; + } + $89 = (HEAP32[$$pre$phiZ2D >> 2] << 1) + 4 | 0; + if (($91 | 0) <= 0) return; + $$036 = 0; + do { + _memset(HEAP32[$3 + 68 + ($$036 << 2) >> 2] | 0, 0, $89 | 0) | 0; + $$036 = $$036 + 1 | 0; + } while (($$036 | 0) < (HEAP32[$$pre$phi40Z2D >> 2] | 0)); + return; + } + default: + { + $97 = HEAP32[$0 >> 2] | 0; + HEAP32[$97 + 20 >> 2] = 49; + FUNCTION_TABLE_vi[HEAP32[$97 >> 2] & 255]($0); + return; + } + } +} + +function _ar2ReadMarkerSet($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$056 = 0, $$057 = 0, $$058 = 0, $12 = 0, $15 = 0, $18 = 0, $21 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0, $44 = 0, $5 = 0, $6 = 0, $8 = 0, $vararg_buffer = 0, $vararg_buffer12 = 0, $vararg_buffer15 = 0, $vararg_buffer2 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_buffer9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1088 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(1088); + $vararg_buffer15 = sp + 1072 | 0; + $vararg_buffer12 = sp + 1064 | 0; + $vararg_buffer9 = sp + 1056 | 0; + $vararg_buffer7 = sp + 1048 | 0; + $vararg_buffer4 = sp + 1040 | 0; + $vararg_buffer2 = sp + 1032 | 0; + $vararg_buffer = sp + 1024 | 0; + $3 = sp + 768 | 0; + $4 = sp + 512 | 0; + $5 = sp; + HEAP32[$vararg_buffer >> 2] = $0; + HEAP32[$vararg_buffer + 4 >> 2] = $1; + _sprintf($5, 26699, $vararg_buffer) | 0; + $6 = _fopen($5, 25925) | 0; + if (!$6) $$058 = 0; else { + $8 = _malloc(8) | 0; + if (!$8) { + _arLog(0, 3, 45930, $vararg_buffer2); + _exit(1); + } + L6 : do if (_get_buff_345($3, $6) | 0) { + $12 = $8 + 4 | 0; + HEAP32[$vararg_buffer4 >> 2] = $12; + if ((_sscanf($3, 25959, $vararg_buffer4) | 0) != 1) { + _free($8); + $$057 = 0; + break; + } + $15 = HEAP32[$12 >> 2] | 0; + if (($15 | 0) < 1) { + _free($8); + $$057 = 0; + break; + } + $18 = _malloc($15 * 56 | 0) | 0; + HEAP32[$8 >> 2] = $18; + if (!$18) { + _arLog(0, 3, 45930, $vararg_buffer7); + _exit(1); + } + $$056 = 0; + $21 = $15; + L18 : while (1) { + if (($$056 | 0) >= ($21 | 0)) { + $$057 = $8; + break L6; + } + if (!(_get_buff_345($3, $6) | 0)) { + label = 15; + break; + } + HEAP32[$vararg_buffer9 >> 2] = $4; + if ((_sscanf($3, 25986, $vararg_buffer9) | 0) != 1) { + label = 17; + break; + } + $28 = _arPattLoad($2, $4) | 0; + $29 = HEAP32[$8 >> 2] | 0; + HEAP32[$29 + ($$056 * 56 | 0) + 4 >> 2] = $28; + if (($28 | 0) < 0) { + label = 19; + break; + } + if (!(_get_buff_345($3, $6) | 0)) { + label = 21; + break; + } + HEAP32[$vararg_buffer12 >> 2] = (HEAP32[$8 >> 2] | 0) + ($$056 * 56 | 0); + if ((_sscanf($3, 25887, $vararg_buffer12) | 0) != 1) { + label = 24; + break; + } + $$0 = 0; + while (1) { + if ($$0 >>> 0 >= 3) break; + if (!(_get_buff_345($3, $6) | 0)) { + label = 27; + break L18; + } + $44 = HEAP32[$8 >> 2] | 0; + HEAP32[$vararg_buffer15 >> 2] = $44 + ($$056 * 56 | 0) + 8 + ($$0 << 4); + HEAP32[$vararg_buffer15 + 4 >> 2] = $44 + ($$056 * 56 | 0) + 8 + ($$0 << 4) + 4; + HEAP32[$vararg_buffer15 + 8 >> 2] = $44 + ($$056 * 56 | 0) + 8 + ($$0 << 4) + 8; + HEAP32[$vararg_buffer15 + 12 >> 2] = $44 + ($$056 * 56 | 0) + 8 + ($$0 << 4) + 12; + if ((_sscanf($3, 26152, $vararg_buffer15) | 0) == 4) $$0 = $$0 + 1 | 0; else { + label = 29; + break L18; + } + } + $$056 = $$056 + 1 | 0; + $21 = HEAP32[$12 >> 2] | 0; + } + if ((label | 0) == 15) { + _free(HEAP32[$8 >> 2] | 0); + _free($8); + $$057 = 0; + break; + } else if ((label | 0) == 17) { + _free(HEAP32[$8 >> 2] | 0); + _free($8); + $$057 = 0; + break; + } else if ((label | 0) == 19) { + _free($29); + _free($8); + $$057 = 0; + break; + } else if ((label | 0) == 21) { + _free(HEAP32[$8 >> 2] | 0); + _free($8); + $$057 = 0; + break; + } else if ((label | 0) == 24) { + _free(HEAP32[$8 >> 2] | 0); + _free($8); + $$057 = 0; + break; + } else if ((label | 0) == 27) { + _free(HEAP32[$8 >> 2] | 0); + _free($8); + $$057 = 0; + break; + } else if ((label | 0) == 29) { + _free(HEAP32[$8 >> 2] | 0); + _free($8); + $$057 = 0; + break; + } + } else { + _free($8); + $$057 = 0; + } while (0); + _fclose($6) | 0; + $$058 = $$057; + } + STACKTOP = sp; + return $$058 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E20parseUnqualifiedNameEPNS5_9NameStateE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$118 = 0, $$11823 = 0, $$2 = 0, $$byval_copy = 0, $$pre$phi26Z2D = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $2 = sp; + $3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 0) | 0; + do if ($3 << 24 >> 24 != 85) { + if (($3 + -49 & 255) < 9) { + $$118 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseSourceNameEPNS5_9NameStateE(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + label = 12; + break; + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 55180); + HEAP32[$$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + if (!(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy) | 0)) { + $$118 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E17parseOperatorNameEPNS5_9NameStateE(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0, $1) | 0; + label = 12; + break; + } + $11 = $0 + 8 | 0; + $12 = __ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE4sizeEv($11) | 0; + while (1) { + $13 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + $14 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseSourceNameEPNS5_9NameStateE($13) | 0; + HEAP32[$$byval_copy >> 2] = $14; + if (!$14) { + label = 10; + break; + } + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE9push_backERKS3_($11, $$byval_copy); + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 69) | 0) { + label = 9; + break; + } + } + if ((label | 0) == 9) { + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E20popTrailingNodeArrayEm($$byval_copy, $0, $12); + $$11823 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_21StructuredBindingNameEJNS0_9NodeArrayEEEEPNS0_4NodeEDpOT0_($0, $$byval_copy) | 0; + $$pre$phi26Z2D = $13; + label = 14; + break; + } else if ((label | 0) == 10) { + $$2 = 0; + break; + } + } else { + $$118 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E20parseUnnamedTypeNameEPNS5_9NameStateE(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + label = 12; + } while (0); + if ((label | 0) == 12) if (!$$118) $$2 = 0; else { + $$11823 = $$118; + $$pre$phi26Z2D = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + label = 14; + } + if ((label | 0) == 14) $$2 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E12parseAbiTagsEPNS0_4NodeE($$pre$phi26Z2D, $$11823) | 0; + STACKTOP = sp; + return $$2 | 0; +} + +function _kpmLoadRefDataSet($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$071 = 0, $$1 = 0, $11 = 0, $13 = 0, $16 = 0, $19 = 0, $22 = 0, $3 = 0, $44 = 0, $47 = 0, $51 = 0, $52 = 0, $55 = 0, $6 = 0, $64 = 0, $66 = 0, $68 = 0, $75 = 0, $77 = 0, $8 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer13 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_buffer9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(64); + $vararg_buffer13 = sp + 56 | 0; + $vararg_buffer11 = sp + 48 | 0; + $vararg_buffer9 = sp + 40 | 0; + $vararg_buffer7 = sp + 32 | 0; + $vararg_buffer5 = sp + 24 | 0; + $vararg_buffer1 = sp + 8 | 0; + $vararg_buffer = sp; + $3 = sp + 60 | 0; + HEAP8[$3 >> 0] = HEAP8[26308] | 0; + HEAP8[$3 + 1 >> 0] = HEAP8[26309] | 0; + HEAP8[$3 + 2 >> 0] = HEAP8[26310] | 0; + L1 : do if (($0 | 0) != 0 & ($2 | 0) != 0) { + $6 = _kpmFopen($0, $1, $3) | 0; + if (!$6) { + $8 = ($1 | 0) != 0; + HEAP32[$vararg_buffer1 >> 2] = $0; + HEAP32[$vararg_buffer1 + 4 >> 2] = $8 ? 53642 : 67447; + HEAP32[$vararg_buffer1 + 8 >> 2] = $8 ? $1 : 67447; + _arLog(0, 3, 26362, $vararg_buffer1); + $$0 = -1; + break; + } + $11 = _calloc(1, 16) | 0; + if (!$11) { + _arLog(0, 3, 45930, $vararg_buffer5); + _exit(1); + } + $13 = $11 + 4 | 0; + L9 : do if ((_fread($13, 4, 1, $6) | 0) == 1 ? ($16 = HEAP32[$13 >> 2] | 0, ($16 | 0) >= 1) : 0) { + $19 = _malloc($16 * 132 | 0) | 0; + HEAP32[$11 >> 2] = $19; + if (!$19) { + _arLog(0, 3, 45930, $vararg_buffer7); + _exit(1); + } + $$071 = 0; + $22 = $16; + while (1) { + if (($$071 | 0) >= ($22 | 0)) break; + if ((_fread((HEAP32[$11 >> 2] | 0) + ($$071 * 132 | 0) | 0, 8, 1, $6) | 0) != 1) break L9; + if ((_fread((HEAP32[$11 >> 2] | 0) + ($$071 * 132 | 0) + 8 | 0, 8, 1, $6) | 0) != 1) break L9; + if ((_fread((HEAP32[$11 >> 2] | 0) + ($$071 * 132 | 0) + 16 | 0, 108, 1, $6) | 0) != 1) break L9; + if ((_fread((HEAP32[$11 >> 2] | 0) + ($$071 * 132 | 0) + 124 | 0, 4, 1, $6) | 0) != 1) break L9; + if ((_fread((HEAP32[$11 >> 2] | 0) + ($$071 * 132 | 0) + 128 | 0, 4, 1, $6) | 0) != 1) break L9; + $$071 = $$071 + 1 | 0; + $22 = HEAP32[$13 >> 2] | 0; + } + $44 = $11 + 12 | 0; + if ((_fread($44, 4, 1, $6) | 0) == 1) { + $47 = HEAP32[$44 >> 2] | 0; + if (($47 | 0) < 1) { + HEAP32[$11 + 8 >> 2] = 0; + break; + } + $51 = _malloc($47 * 12 | 0) | 0; + $52 = $11 + 8 | 0; + HEAP32[$52 >> 2] = $51; + if (!$51) { + _arLog(0, 3, 45930, $vararg_buffer9); + _exit(1); + } + $$1 = 0; + $55 = $47; + while (1) { + if (($$1 | 0) >= ($55 | 0)) { + label = 32; + break; + } + if ((_fread((HEAP32[$52 >> 2] | 0) + ($$1 * 12 | 0) + 8 | 0, 4, 1, $6) | 0) != 1) break L9; + if ((_fread((HEAP32[$52 >> 2] | 0) + ($$1 * 12 | 0) + 4 | 0, 4, 1, $6) | 0) != 1) break L9; + $64 = HEAP32[$52 >> 2] | 0; + $66 = HEAP32[$64 + ($$1 * 12 | 0) + 4 >> 2] | 0; + $68 = _malloc($66 * 12 | 0) | 0; + HEAP32[$64 + ($$1 * 12 | 0) >> 2] = $68; + if (!$68) { + label = 29; + break; + } + if ((_fread($68, 12, $66, $6) | 0) != ($66 | 0)) break L9; + $$1 = $$1 + 1 | 0; + $55 = HEAP32[$44 >> 2] | 0; + } + if ((label | 0) == 29) { + _arLog(0, 3, 45930, $vararg_buffer11); + _exit(1); + } else if ((label | 0) == 32) { + HEAP32[$2 >> 2] = $11; + _fclose($6) | 0; + $$0 = 0; + break L1; + } + } + } while (0); + _arLog(0, 3, 26429, $vararg_buffer13); + $75 = HEAP32[$11 + 8 >> 2] | 0; + if ($75 | 0) _free($75); + $77 = HEAP32[$11 >> 2] | 0; + if ($77 | 0) _free($77); + _free($11); + _fclose($6) | 0; + $$0 = -1; + } else { + _arLog(0, 3, 26311, $vararg_buffer); + $$0 = -1; + } while (0); + STACKTOP = sp; + return $$0 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E16parseTemplateArgEv($0) { + $0 = $0 | 0; + var $$5 = 0, $1 = 0, $12 = 0, $13 = 0, $16 = 0, $24 = 0, $26 = 0, $7 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + L1 : do switch ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 0) | 0) << 24 >> 24 | 0) { + case 88: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $7 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + if (!$7) $$5 = 0; else { + $9 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 69) | 0; + STACKTOP = sp; + return ($9 ? $7 : 0) | 0; + } + break; + } + case 74: + { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $12 = $0 + 8 | 0; + $13 = __ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE4sizeEv($12) | 0; + while (1) { + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 69) | 0) { + label = 9; + break; + } + $16 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E16parseTemplateArgEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$1 >> 2] = $16; + if (!$16) { + label = 8; + break; + } + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE9push_backERKS3_($12, $1); + } + if ((label | 0) == 8) { + $$5 = 0; + break L1; + } else if ((label | 0) == 9) { + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E20popTrailingNodeArrayEm($1, $0, $13); + $$5 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_20TemplateArgumentPackEJRNS0_9NodeArrayEEEEPNS0_4NodeEDpOT0_($0, $1) | 0; + break L1; + } + break; + } + case 76: + { + if ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 1) | 0) << 24 >> 24 != 90) { + $$5 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E16parseExprPrimaryEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + break L1; + } + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + $24 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E13parseEncodingEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + if (!$24) $$5 = 0; else { + $26 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 69) | 0; + $$5 = $26 ? $24 : 0; + } + break; + } + default: + $$5 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseTypeEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + } while (0); + STACKTOP = sp; + return $$5 | 0; +} + +function __ZNKSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_bRNS_8ios_baseERjRNS_12basic_stringIwS3_NS_9allocatorIwEEEE($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 = 0, $$0$i$i$i$i = 0, $$0$i$i2$i$i = 0, $$byval_copy = 0, $$sroa$0$0$copyload = 0, $10 = 0, $11 = 0, $12 = 0, $16 = 0, $17 = 0, $19 = 0, $21 = 0, $23 = 0, $26 = 0, $37 = 0, $39 = 0, $40 = 0, $45 = 0, $48 = 0, $62 = 0, $7 = 0, $77 = 0, $8 = 0, $81 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 432 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(432); + $$byval_copy = sp + 424 | 0; + $7 = sp; + $8 = sp + 416 | 0; + $9 = sp + 408 | 0; + $10 = sp + 400 | 0; + $11 = sp + 428 | 0; + $12 = sp + 404 | 0; + HEAP32[$8 >> 2] = $7; + HEAP32[$8 + 4 >> 2] = 214; + __ZNKSt3__28ios_base6getlocEv($10, $4); + $16 = __ZNKSt3__26locale9use_facetERNS0_2idE($10, 66544) | 0; + HEAP8[$11 >> 0] = 0; + $17 = HEAP32[$2 >> 2] | 0; + HEAP32[$12 >> 2] = $17; + $19 = HEAP32[$4 + 4 >> 2] | 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$12 >> 2]; + $21 = $17; + if (__ZNSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE8__do_getERS4_S4_bRKNS_6localeEjRjRbRKNS_5ctypeIwEERNS_10unique_ptrIwPFvPvEEERPwSM_($1, $$byval_copy, $3, $10, $19, $5, $11, $16, $8, $9, $7 + 400 | 0) | 0) { + $23 = $6 + 8 + 3 | 0; + if ((HEAP8[$23 >> 0] | 0) < 0) { + $26 = HEAP32[$6 >> 2] | 0; + HEAP32[$$byval_copy >> 2] = 0; + __ZNSt3__211char_traitsIwE6assignERwRKw($26, $$byval_copy); + HEAP32[$6 + 4 >> 2] = 0; + } else { + HEAP32[$$byval_copy >> 2] = 0; + __ZNSt3__211char_traitsIwE6assignERwRKw($6, $$byval_copy); + HEAP8[$23 >> 0] = 0; + } + if (HEAP8[$11 >> 0] | 0) __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9push_backEw($6, FUNCTION_TABLE_iii[HEAP32[(HEAP32[$16 >> 2] | 0) + 44 >> 2] & 127]($16, 45) | 0); + $37 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$16 >> 2] | 0) + 44 >> 2] & 127]($16, 48) | 0; + $39 = HEAP32[$9 >> 2] | 0; + $40 = $39 + -4 | 0; + $$0 = HEAP32[$8 >> 2] | 0; + while (1) { + if ($$0 >>> 0 >= $40 >>> 0) break; + if ((HEAP32[$$0 >> 2] | 0) != ($37 | 0)) break; + $$0 = $$0 + 4 | 0; + } + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE23__append_forward_unsafeIPwEERS5_T_S9_($6, $$0, $39) | 0; + } + $45 = HEAP32[$1 >> 2] | 0; + do if ($45) { + $48 = HEAP32[$45 + 12 >> 2] | 0; + if (($48 | 0) == (HEAP32[$45 + 16 >> 2] | 0)) $$0$i$i$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$45 >> 2] | 0) + 36 >> 2] & 127]($45) | 0; else $$0$i$i$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$48 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $81 = 1; + break; + } else { + $81 = (HEAP32[$1 >> 2] | 0) == 0; + break; + } + } else $81 = 1; while (0); + do if ($17) { + $62 = HEAP32[$21 + 12 >> 2] | 0; + if (($62 | 0) == (HEAP32[$21 + 16 >> 2] | 0)) $$0$i$i2$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$17 >> 2] | 0) + 36 >> 2] & 127]($21) | 0; else $$0$i$i2$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$62 >> 2] | 0) | 0; + if (!(__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0)) if ($81) break; else { + label = 27; + break; + } else { + HEAP32[$2 >> 2] = 0; + label = 25; + break; + } + } else label = 25; while (0); + if ((label | 0) == 25 ? $81 : 0) label = 27; + if ((label | 0) == 27) HEAP32[$5 >> 2] = HEAP32[$5 >> 2] | 2; + $$sroa$0$0$copyload = HEAP32[$1 >> 2] | 0; + __ZNSt3__26localeD2Ev($10); + $77 = HEAP32[$8 >> 2] | 0; + HEAP32[$8 >> 2] = 0; + if ($77 | 0) FUNCTION_TABLE_vi[HEAP32[$8 + 4 >> 2] & 255]($77); + STACKTOP = sp; + return $$sroa$0$0$copyload | 0; +} + +function __ZNKSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_bRNS_8ios_baseERjRNS_12basic_stringIcS3_NS_9allocatorIcEEEE($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 = 0, $$0$i$i$i$i = 0, $$0$i$i2$i$i = 0, $$byval_copy = 0, $$sroa$0$0$copyload = 0, $10 = 0, $11 = 0, $12 = 0, $16 = 0, $17 = 0, $19 = 0, $21 = 0, $22 = 0, $25 = 0, $36 = 0, $38 = 0, $39 = 0, $44 = 0, $47 = 0, $61 = 0, $7 = 0, $76 = 0, $8 = 0, $80 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(128); + $$byval_copy = sp + 120 | 0; + $7 = sp; + $8 = sp + 112 | 0; + $9 = sp + 108 | 0; + $10 = sp + 100 | 0; + $11 = sp + 124 | 0; + $12 = sp + 104 | 0; + HEAP32[$8 >> 2] = $7; + HEAP32[$8 + 4 >> 2] = 214; + __ZNKSt3__28ios_base6getlocEv($10, $4); + $16 = __ZNKSt3__26locale9use_facetERNS0_2idE($10, 66512) | 0; + HEAP8[$11 >> 0] = 0; + $17 = HEAP32[$2 >> 2] | 0; + HEAP32[$12 >> 2] = $17; + $19 = HEAP32[$4 + 4 >> 2] | 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$12 >> 2]; + $21 = $17; + if (__ZNSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE8__do_getERS4_S4_bRKNS_6localeEjRjRbRKNS_5ctypeIcEERNS_10unique_ptrIcPFvPvEEERPcSM_($1, $$byval_copy, $3, $10, $19, $5, $11, $16, $8, $9, $7 + 100 | 0) | 0) { + $22 = $6 + 11 | 0; + if ((HEAP8[$22 >> 0] | 0) < 0) { + $25 = HEAP32[$6 >> 2] | 0; + HEAP8[$$byval_copy >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($25, $$byval_copy); + HEAP32[$6 + 4 >> 2] = 0; + } else { + HEAP8[$$byval_copy >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($6, $$byval_copy); + HEAP8[$22 >> 0] = 0; + } + if (HEAP8[$11 >> 0] | 0) __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9push_backEc($6, FUNCTION_TABLE_iii[HEAP32[(HEAP32[$16 >> 2] | 0) + 28 >> 2] & 127]($16, 45) | 0); + $36 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$16 >> 2] | 0) + 28 >> 2] & 127]($16, 48) | 0; + $38 = HEAP32[$9 >> 2] | 0; + $39 = $38 + -1 | 0; + $$0 = HEAP32[$8 >> 2] | 0; + while (1) { + if ($$0 >>> 0 >= $39 >>> 0) break; + if ((HEAP8[$$0 >> 0] | 0) != $36 << 24 >> 24) break; + $$0 = $$0 + 1 | 0; + } + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE23__append_forward_unsafeIPcEERS5_T_S9_($6, $$0, $38) | 0; + } + $44 = HEAP32[$1 >> 2] | 0; + do if ($44) { + $47 = HEAP32[$44 + 12 >> 2] | 0; + if (($47 | 0) == (HEAP32[$44 + 16 >> 2] | 0)) $$0$i$i$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$44 >> 2] | 0) + 36 >> 2] & 127]($44) | 0; else $$0$i$i$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$47 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $80 = 1; + break; + } else { + $80 = (HEAP32[$1 >> 2] | 0) == 0; + break; + } + } else $80 = 1; while (0); + do if ($17) { + $61 = HEAP32[$21 + 12 >> 2] | 0; + if (($61 | 0) == (HEAP32[$21 + 16 >> 2] | 0)) $$0$i$i2$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$17 >> 2] | 0) + 36 >> 2] & 127]($21) | 0; else $$0$i$i2$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$61 >> 0] | 0) | 0; + if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) if ($80) break; else { + label = 27; + break; + } else { + HEAP32[$2 >> 2] = 0; + label = 25; + break; + } + } else label = 25; while (0); + if ((label | 0) == 25 ? $80 : 0) label = 27; + if ((label | 0) == 27) HEAP32[$5 >> 2] = HEAP32[$5 >> 2] | 2; + $$sroa$0$0$copyload = HEAP32[$1 >> 2] | 0; + __ZNSt3__26localeD2Ev($10); + $76 = HEAP32[$8 >> 2] | 0; + HEAP32[$8 >> 2] = 0; + if ($76 | 0) FUNCTION_TABLE_vi[HEAP32[$8 + 4 >> 2] & 255]($76); + STACKTOP = sp; + return $$sroa$0$0$copyload | 0; +} + +function __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__get_white_spaceERS4_S4_RjRKNS_5ctypeIcEE($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0$i$i = 0, $$0$i$i$i$i = 0, $$0$i$i$i$i7 = 0, $$0$i$i2$i$i = 0, $$0$i$i2$i$i13 = 0, $100 = 0, $101 = 0, $21 = 0, $24 = 0, $36 = 0, $38 = 0, $5 = 0, $56 = 0, $57 = 0, $58 = 0, $6 = 0, $67 = 0, $70 = 0, $83 = 0, $85 = 0, $9 = 0, $99 = 0, label = 0; + $5 = $4 + 8 | 0; + L1 : while (1) { + $6 = HEAP32[$1 >> 2] | 0; + do if ($6) { + $9 = HEAP32[$6 + 12 >> 2] | 0; + if (($9 | 0) == (HEAP32[$6 + 16 >> 2] | 0)) $$0$i$i$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$6 >> 2] | 0) + 36 >> 2] & 127]($6) | 0; else $$0$i$i$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$9 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $99 = 1; + break; + } else { + $99 = (HEAP32[$1 >> 2] | 0) == 0; + break; + } + } else $99 = 1; while (0); + $21 = HEAP32[$2 >> 2] | 0; + do if ($21) { + $24 = HEAP32[$21 + 12 >> 2] | 0; + if (($24 | 0) == (HEAP32[$21 + 16 >> 2] | 0)) $$0$i$i2$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$21 >> 2] | 0) + 36 >> 2] & 127]($21) | 0; else $$0$i$i2$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$24 >> 0] | 0) | 0; + if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) if ($99) { + $100 = $21; + break; + } else { + $83 = $21; + break L1; + } else { + HEAP32[$2 >> 2] = 0; + label = 15; + break; + } + } else label = 15; while (0); + if ((label | 0) == 15) { + label = 0; + if ($99) { + $83 = 0; + break; + } else $100 = 0; + } + $36 = HEAP32[$1 >> 2] | 0; + $38 = HEAP32[$36 + 12 >> 2] | 0; + if (($38 | 0) == (HEAP32[$36 + 16 >> 2] | 0)) $$0$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$36 >> 2] | 0) + 36 >> 2] & 127]($36) | 0; else $$0$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$38 >> 0] | 0) | 0; + if (($$0$i$i & 255) << 24 >> 24 <= -1) { + $83 = $100; + break; + } + if (!(HEAP16[(HEAP32[$5 >> 2] | 0) + ($$0$i$i << 24 >> 24 << 1) >> 1] & 8192)) { + $83 = $100; + break; + } + $56 = HEAP32[$1 >> 2] | 0; + $57 = $56 + 12 | 0; + $58 = HEAP32[$57 >> 2] | 0; + if (($58 | 0) == (HEAP32[$56 + 16 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$56 >> 2] | 0) + 40 >> 2] & 127]($56) | 0; else { + HEAP32[$57 >> 2] = $58 + 1; + __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$58 >> 0] | 0) | 0; + } + } + $67 = HEAP32[$1 >> 2] | 0; + do if ($67) { + $70 = HEAP32[$67 + 12 >> 2] | 0; + if (($70 | 0) == (HEAP32[$67 + 16 >> 2] | 0)) $$0$i$i$i$i7 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$67 >> 2] | 0) + 36 >> 2] & 127]($67) | 0; else $$0$i$i$i$i7 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$70 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i7, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $101 = 1; + break; + } else { + $101 = (HEAP32[$1 >> 2] | 0) == 0; + break; + } + } else $101 = 1; while (0); + do if ($83) { + $85 = HEAP32[$83 + 12 >> 2] | 0; + if (($85 | 0) == (HEAP32[$83 + 16 >> 2] | 0)) $$0$i$i2$i$i13 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$83 >> 2] | 0) + 36 >> 2] & 127]($83) | 0; else $$0$i$i2$i$i13 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$85 >> 0] | 0) | 0; + if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i13, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) if ($101) break; else { + label = 41; + break; + } else { + HEAP32[$2 >> 2] = 0; + label = 39; + break; + } + } else label = 39; while (0); + if ((label | 0) == 39 ? $101 : 0) label = 41; + if ((label | 0) == 41) HEAP32[$3 >> 2] = HEAP32[$3 >> 2] | 2; + return; +} + +function __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE13__get_percentERS4_S4_RjRKNS_5ctypeIcEE($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0$i$i = 0, $$0$i$i$i$i = 0, $$0$i$i$i$i8 = 0, $$0$i$i2$i$i = 0, $$0$i$i2$i$i14 = 0, $100 = 0, $101 = 0, $20 = 0, $23 = 0, $37 = 0, $39 = 0, $5 = 0, $57 = 0, $58 = 0, $59 = 0, $68 = 0, $71 = 0, $8 = 0, $84 = 0, $86 = 0, label = 0; + $5 = HEAP32[$1 >> 2] | 0; + do if ($5) { + $8 = HEAP32[$5 + 12 >> 2] | 0; + if (($8 | 0) == (HEAP32[$5 + 16 >> 2] | 0)) $$0$i$i$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$5 >> 2] | 0) + 36 >> 2] & 127]($5) | 0; else $$0$i$i$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$8 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $100 = 1; + break; + } else { + $100 = (HEAP32[$1 >> 2] | 0) == 0; + break; + } + } else $100 = 1; while (0); + $20 = HEAP32[$2 >> 2] | 0; + do if ($20) { + $23 = HEAP32[$20 + 12 >> 2] | 0; + if (($23 | 0) == (HEAP32[$20 + 16 >> 2] | 0)) $$0$i$i2$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$20 >> 2] | 0) + 36 >> 2] & 127]($20) | 0; else $$0$i$i2$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$23 >> 0] | 0) | 0; + if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) if ($100) { + $84 = $20; + label = 17; + break; + } else { + label = 16; + break; + } else { + HEAP32[$2 >> 2] = 0; + label = 14; + break; + } + } else label = 14; while (0); + if ((label | 0) == 14) if ($100) label = 16; else { + $84 = 0; + label = 17; + } + L22 : do if ((label | 0) == 16) HEAP32[$3 >> 2] = HEAP32[$3 >> 2] | 6; else if ((label | 0) == 17) { + $37 = HEAP32[$1 >> 2] | 0; + $39 = HEAP32[$37 + 12 >> 2] | 0; + if (($39 | 0) == (HEAP32[$37 + 16 >> 2] | 0)) $$0$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$37 >> 2] | 0) + 36 >> 2] & 127]($37) | 0; else $$0$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$39 >> 0] | 0) | 0; + if ((FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$4 >> 2] | 0) + 36 >> 2] & 63]($4, $$0$i$i & 255, 0) | 0) << 24 >> 24 != 37) { + HEAP32[$3 >> 2] = HEAP32[$3 >> 2] | 4; + break; + } + $57 = HEAP32[$1 >> 2] | 0; + $58 = $57 + 12 | 0; + $59 = HEAP32[$58 >> 2] | 0; + if (($59 | 0) == (HEAP32[$57 + 16 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$57 >> 2] | 0) + 40 >> 2] & 127]($57) | 0; else { + HEAP32[$58 >> 2] = $59 + 1; + __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$59 >> 0] | 0) | 0; + } + $68 = HEAP32[$1 >> 2] | 0; + do if ($68) { + $71 = HEAP32[$68 + 12 >> 2] | 0; + if (($71 | 0) == (HEAP32[$68 + 16 >> 2] | 0)) $$0$i$i$i$i8 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$68 >> 2] | 0) + 36 >> 2] & 127]($68) | 0; else $$0$i$i$i$i8 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$71 >> 0] | 0) | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i8, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $101 = 1; + break; + } else { + $101 = (HEAP32[$1 >> 2] | 0) == 0; + break; + } + } else $101 = 1; while (0); + do if ($84) { + $86 = HEAP32[$84 + 12 >> 2] | 0; + if (($86 | 0) == (HEAP32[$84 + 16 >> 2] | 0)) $$0$i$i2$i$i14 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$84 >> 2] | 0) + 36 >> 2] & 127]($84) | 0; else $$0$i$i2$i$i14 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$86 >> 0] | 0) | 0; + if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i2$i$i14, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) if ($101) break L22; else break; else { + HEAP32[$2 >> 2] = 0; + label = 38; + break; + } + } else label = 38; while (0); + if ((label | 0) == 38 ? !$101 : 0) break; + HEAP32[$3 >> 2] = HEAP32[$3 >> 2] | 2; + } while (0); + return; +} + +function __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE13__get_percentERS4_S4_RjRKNS_5ctypeIwEE($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0$i$i = 0, $$0$i$i$i$i = 0, $$0$i$i$i$i8 = 0, $$0$i$i2$i$i = 0, $$0$i$i2$i$i14 = 0, $100 = 0, $20 = 0, $23 = 0, $37 = 0, $39 = 0, $5 = 0, $56 = 0, $57 = 0, $58 = 0, $67 = 0, $70 = 0, $8 = 0, $83 = 0, $85 = 0, $99 = 0, label = 0; + $5 = HEAP32[$1 >> 2] | 0; + do if ($5) { + $8 = HEAP32[$5 + 12 >> 2] | 0; + if (($8 | 0) == (HEAP32[$5 + 16 >> 2] | 0)) $$0$i$i$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$5 >> 2] | 0) + 36 >> 2] & 127]($5) | 0; else $$0$i$i$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$8 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $99 = 1; + break; + } else { + $99 = (HEAP32[$1 >> 2] | 0) == 0; + break; + } + } else $99 = 1; while (0); + $20 = HEAP32[$2 >> 2] | 0; + do if ($20) { + $23 = HEAP32[$20 + 12 >> 2] | 0; + if (($23 | 0) == (HEAP32[$20 + 16 >> 2] | 0)) $$0$i$i2$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$20 >> 2] | 0) + 36 >> 2] & 127]($20) | 0; else $$0$i$i2$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$23 >> 2] | 0) | 0; + if (!(__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0)) if ($99) { + $83 = $20; + label = 17; + break; + } else { + label = 16; + break; + } else { + HEAP32[$2 >> 2] = 0; + label = 14; + break; + } + } else label = 14; while (0); + if ((label | 0) == 14) if ($99) label = 16; else { + $83 = 0; + label = 17; + } + L22 : do if ((label | 0) == 16) HEAP32[$3 >> 2] = HEAP32[$3 >> 2] | 6; else if ((label | 0) == 17) { + $37 = HEAP32[$1 >> 2] | 0; + $39 = HEAP32[$37 + 12 >> 2] | 0; + if (($39 | 0) == (HEAP32[$37 + 16 >> 2] | 0)) $$0$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$37 >> 2] | 0) + 36 >> 2] & 127]($37) | 0; else $$0$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$39 >> 2] | 0) | 0; + if ((FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$4 >> 2] | 0) + 52 >> 2] & 63]($4, $$0$i$i, 0) | 0) << 24 >> 24 != 37) { + HEAP32[$3 >> 2] = HEAP32[$3 >> 2] | 4; + break; + } + $56 = HEAP32[$1 >> 2] | 0; + $57 = $56 + 12 | 0; + $58 = HEAP32[$57 >> 2] | 0; + if (($58 | 0) == (HEAP32[$56 + 16 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$56 >> 2] | 0) + 40 >> 2] & 127]($56) | 0; else { + HEAP32[$57 >> 2] = $58 + 4; + __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$58 >> 2] | 0) | 0; + } + $67 = HEAP32[$1 >> 2] | 0; + do if ($67) { + $70 = HEAP32[$67 + 12 >> 2] | 0; + if (($70 | 0) == (HEAP32[$67 + 16 >> 2] | 0)) $$0$i$i$i$i8 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$67 >> 2] | 0) + 36 >> 2] & 127]($67) | 0; else $$0$i$i$i$i8 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$70 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i8, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $100 = 1; + break; + } else { + $100 = (HEAP32[$1 >> 2] | 0) == 0; + break; + } + } else $100 = 1; while (0); + do if ($83) { + $85 = HEAP32[$83 + 12 >> 2] | 0; + if (($85 | 0) == (HEAP32[$83 + 16 >> 2] | 0)) $$0$i$i2$i$i14 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$83 >> 2] | 0) + 36 >> 2] & 127]($83) | 0; else $$0$i$i2$i$i14 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$85 >> 2] | 0) | 0; + if (!(__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i14, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0)) if ($100) break L22; else break; else { + HEAP32[$2 >> 2] = 0; + label = 38; + break; + } + } else label = 38; while (0); + if ((label | 0) == 38 ? !$100 : 0) break; + HEAP32[$3 >> 2] = HEAP32[$3 >> 2] | 2; + } while (0); + return; +} + +function __ZN6vision25DoGScaleInvariantDetector23findFeatureOrientationsEPKNS_25GaussianScaleSpacePyramidE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$025 = 0, $$026 = 0, $13 = 0, $15 = 0, $16 = 0, $19 = 0, $2 = 0, $21 = 0, $22 = 0, $23 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $32 = 0, $36 = 0, $4 = 0, $45 = 0.0, $5 = 0, $53 = 0.0, $54 = 0.0, $6 = 0, $62 = 0.0, $64 = 0, $79 = 0, dest = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(64); + $2 = sp + 48 | 0; + $3 = sp + 44 | 0; + $4 = sp + 40 | 0; + $5 = sp + 36 | 0; + $6 = sp; + L1 : do if (!(HEAP8[$0 + 28 >> 0] | 0)) { + $13 = HEAP32[$0 + 60 >> 2] | 0; + $15 = ((HEAP32[$0 + 64 >> 2] | 0) - $13 | 0) / 36 | 0; + $16 = $13; + $$026 = 0; + while (1) { + if (($$026 | 0) == ($15 | 0)) break L1; + HEAPF32[$16 + ($$026 * 36 | 0) + 8 >> 2] = 0.0; + $$026 = $$026 + 1 | 0; + } + } else { + $19 = $0 + 72 | 0; + $21 = $0 + 76 | 0; + HEAP32[$21 >> 2] = HEAP32[$19 >> 2]; + $22 = $0 + 60 | 0; + $23 = $0 + 64 | 0; + __ZNSt3__26vectorIN6vision25DoGScaleInvariantDetector12FeaturePointENS_9allocatorIS3_EEE7reserveEm($19, (HEAP32[$23 >> 2] | 0) - (HEAP32[$22 >> 2] | 0) | 0); + $27 = $0 + 92 | 0; + __ZN6vision21OrientationAssignment16computeGradientsEPKNS_25GaussianScaleSpacePyramidE($27, $1); + $28 = $0 + 144 | 0; + $29 = $6 + 8 | 0; + $30 = $0 + 80 | 0; + $$025 = 0; + while (1) { + $32 = HEAP32[$22 >> 2] | 0; + $36 = $32; + if ($$025 >>> 0 >= (((HEAP32[$23 >> 2] | 0) - $32 | 0) / 36 | 0) >>> 0) break; + __ZN6vision25bilinear_downsample_pointERfS0_S0_fffi($3, $4, $5, +HEAPF32[$36 + ($$025 * 36 | 0) >> 2], +HEAPF32[$36 + ($$025 * 36 | 0) + 4 >> 2], +HEAPF32[$36 + ($$025 * 36 | 0) + 28 >> 2], HEAP32[$36 + ($$025 * 36 | 0) + 12 >> 2] | 0); + $45 = +HEAPF32[$3 >> 2]; + $53 = +__ZN6vision10ClipScalarIfEET_S1_S1_S1_($45, 0.0, +(((__ZNK6vision5Image5widthEv(__ZNK6vision25GaussianScaleSpacePyramid3getEmm($1, HEAP32[(HEAP32[$22 >> 2] | 0) + ($$025 * 36 | 0) + 12 >> 2] | 0, 0) | 0) | 0) + -1 | 0) >>> 0)); + HEAPF32[$3 >> 2] = $53; + $54 = +HEAPF32[$4 >> 2]; + $62 = +__ZN6vision10ClipScalarIfEET_S1_S1_S1_($54, 0.0, +(((__ZNK6vision5Image6heightEv(__ZNK6vision25GaussianScaleSpacePyramid3getEmm($1, HEAP32[(HEAP32[$22 >> 2] | 0) + ($$025 * 36 | 0) + 12 >> 2] | 0, 0) | 0) | 0) + -1 | 0) >>> 0)); + HEAPF32[$4 >> 2] = $62; + $64 = HEAP32[$22 >> 2] | 0; + __ZN6vision21OrientationAssignment7computeEPfRiiifff($27, HEAP32[$28 >> 2] | 0, $2, HEAP32[$64 + ($$025 * 36 | 0) + 12 >> 2] | 0, HEAP32[$64 + ($$025 * 36 | 0) + 16 >> 2] | 0, +HEAPF32[$3 >> 2], $62, +HEAPF32[$5 >> 2]); + $$0 = 0; + while (1) { + if (($$0 | 0) >= (HEAP32[$2 >> 2] | 0)) break; + dest = $6; + src = (HEAP32[$22 >> 2] | 0) + ($$025 * 36 | 0) | 0; + stop = dest + 36 | 0; + do { + HEAP32[dest >> 2] = HEAP32[src >> 2]; + dest = dest + 4 | 0; + src = src + 4 | 0; + } while ((dest | 0) < (stop | 0)); + HEAP32[$29 >> 2] = HEAP32[(HEAP32[$28 >> 2] | 0) + ($$0 << 2) >> 2]; + $79 = HEAP32[$21 >> 2] | 0; + if (($79 | 0) == (HEAP32[$30 >> 2] | 0)) __ZNSt3__26vectorIN6vision25DoGScaleInvariantDetector12FeaturePointENS_9allocatorIS3_EEE21__push_back_slow_pathIRKS3_EEvOT_($19, $6); else { + dest = $79; + src = $6; + stop = dest + 36 | 0; + do { + HEAP32[dest >> 2] = HEAP32[src >> 2]; + dest = dest + 4 | 0; + src = src + 4 | 0; + } while ((dest | 0) < (stop | 0)); + HEAP32[$21 >> 2] = (HEAP32[$21 >> 2] | 0) + 36; + } + $$0 = $$0 + 1 | 0; + } + $$025 = $$025 + 1 | 0; + } + __ZNSt3__26vectorIN6vision25DoGScaleInvariantDetector12FeaturePointENS_9allocatorIS3_EEE4swapERS6_($22, $19); + } while (0); + STACKTOP = sp; + return; +} + +function __ZNSt3__2L13utf16_to_utf8EPKtS1_RS1_PhS3_RS3_mNS_12codecvt_modeE($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 $$4 = 0, $$pre80 = 0, $100 = 0, $109 = 0, $114 = 0, $117 = 0, $129 = 0, $134 = 0, $137 = 0, $14 = 0, $16 = 0, $18 = 0, $20 = 0, $21 = 0, $22 = 0, $25 = 0, $32 = 0, $43 = 0, $46 = 0, $58 = 0, $63 = 0, $69 = 0, $71 = 0, $77 = 0, $87 = 0, $91 = 0, label = 0; + HEAP32[$2 >> 2] = $0; + HEAP32[$5 >> 2] = $3; + $$pre80 = $4; + if ($7 & 2) if (($$pre80 - $3 | 0) < 3) $$4 = 1; else { + HEAP32[$5 >> 2] = $3 + 1; + HEAP8[$3 >> 0] = -17; + $14 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $14 + 1; + HEAP8[$14 >> 0] = -69; + $16 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $16 + 1; + HEAP8[$16 >> 0] = -65; + label = 4; + } else label = 4; + L4 : do if ((label | 0) == 4) { + $18 = $1; + $20 = HEAP32[$2 >> 2] | 0; + while (1) { + if ($20 >>> 0 >= $1 >>> 0) { + $$4 = 0; + break L4; + } + $21 = HEAP16[$20 >> 1] | 0; + $22 = $21 & 65535; + if ($22 >>> 0 > $6 >>> 0) { + $$4 = 2; + break L4; + } + do if (($21 & 65535) < 128) { + $25 = HEAP32[$5 >> 2] | 0; + if (($$pre80 - $25 | 0) < 1) { + $$4 = 1; + break L4; + } + HEAP32[$5 >> 2] = $25 + 1; + HEAP8[$25 >> 0] = $21; + } else { + if (($21 & 65535) < 2048) { + $32 = HEAP32[$5 >> 2] | 0; + if (($$pre80 - $32 | 0) < 2) { + $$4 = 1; + break L4; + } + HEAP32[$5 >> 2] = $32 + 1; + HEAP8[$32 >> 0] = $22 >>> 6 | 192; + $43 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $43 + 1; + HEAP8[$43 >> 0] = $22 & 63 | 128; + break; + } + if (($21 & 65535) < 55296) { + $46 = HEAP32[$5 >> 2] | 0; + if (($$pre80 - $46 | 0) < 3) { + $$4 = 1; + break L4; + } + HEAP32[$5 >> 2] = $46 + 1; + HEAP8[$46 >> 0] = $22 >>> 12 | 224; + $58 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $58 + 1; + HEAP8[$58 >> 0] = $22 >>> 6 & 63 | 128; + $63 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $63 + 1; + HEAP8[$63 >> 0] = $22 & 63 | 128; + break; + } + if (($21 & 65535) >= 56320) { + if (($21 & 65535) < 57344) { + $$4 = 2; + break L4; + } + $117 = HEAP32[$5 >> 2] | 0; + if (($$pre80 - $117 | 0) < 3) { + $$4 = 1; + break L4; + } + HEAP32[$5 >> 2] = $117 + 1; + HEAP8[$117 >> 0] = $22 >>> 12 | 224; + $129 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $129 + 1; + HEAP8[$129 >> 0] = $22 >>> 6 & 63 | 128; + $134 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $134 + 1; + HEAP8[$134 >> 0] = $22 & 63 | 128; + break; + } + if (($18 - $20 | 0) < 4) { + $$4 = 1; + break L4; + } + $69 = $20 + 2 | 0; + $71 = HEAPU16[$69 >> 1] | 0; + if (($71 & 64512 | 0) != 56320) { + $$4 = 2; + break L4; + } + if (($$pre80 - (HEAP32[$5 >> 2] | 0) | 0) < 4) { + $$4 = 1; + break L4; + } + $77 = $22 & 960; + if ((($77 << 10) + 65536 | $22 << 10 & 64512 | $71 & 1023) >>> 0 > $6 >>> 0) { + $$4 = 2; + break L4; + } + HEAP32[$2 >> 2] = $69; + $87 = ($77 >>> 6) + 1 | 0; + $91 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $91 + 1; + HEAP8[$91 >> 0] = $87 >>> 2 | 240; + $100 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $100 + 1; + HEAP8[$100 >> 0] = $22 >>> 2 & 15 | $87 << 4 & 48 | 128; + $109 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $109 + 1; + HEAP8[$109 >> 0] = $22 << 4 & 48 | $71 >>> 6 & 15 | 128; + $114 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $114 + 1; + HEAP8[$114 >> 0] = $71 & 63 | 128; + } while (0); + $137 = (HEAP32[$2 >> 2] | 0) + 2 | 0; + HEAP32[$2 >> 2] = $137; + $20 = $137; + } + } while (0); + return $$4 | 0; +} + +function __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__get_white_spaceERS4_S4_RjRKNS_5ctypeIwEE($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0$i$i = 0, $$0$i$i$i$i = 0, $$0$i$i$i$i7 = 0, $$0$i$i2$i$i = 0, $$0$i$i2$i$i13 = 0, $20 = 0, $23 = 0, $35 = 0, $37 = 0, $5 = 0, $51 = 0, $52 = 0, $53 = 0, $62 = 0, $65 = 0, $78 = 0, $8 = 0, $80 = 0, $94 = 0, $95 = 0, $96 = 0, label = 0; + L1 : while (1) { + $5 = HEAP32[$1 >> 2] | 0; + do if ($5) { + $8 = HEAP32[$5 + 12 >> 2] | 0; + if (($8 | 0) == (HEAP32[$5 + 16 >> 2] | 0)) $$0$i$i$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$5 >> 2] | 0) + 36 >> 2] & 127]($5) | 0; else $$0$i$i$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$8 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $94 = 1; + break; + } else { + $94 = (HEAP32[$1 >> 2] | 0) == 0; + break; + } + } else $94 = 1; while (0); + $20 = HEAP32[$2 >> 2] | 0; + do if ($20) { + $23 = HEAP32[$20 + 12 >> 2] | 0; + if (($23 | 0) == (HEAP32[$20 + 16 >> 2] | 0)) $$0$i$i2$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$20 >> 2] | 0) + 36 >> 2] & 127]($20) | 0; else $$0$i$i2$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$23 >> 2] | 0) | 0; + if (!(__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0)) if ($94) { + $95 = $20; + break; + } else { + $78 = $20; + break L1; + } else { + HEAP32[$2 >> 2] = 0; + label = 15; + break; + } + } else label = 15; while (0); + if ((label | 0) == 15) { + label = 0; + if ($94) { + $78 = 0; + break; + } else $95 = 0; + } + $35 = HEAP32[$1 >> 2] | 0; + $37 = HEAP32[$35 + 12 >> 2] | 0; + if (($37 | 0) == (HEAP32[$35 + 16 >> 2] | 0)) $$0$i$i = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$35 >> 2] | 0) + 36 >> 2] & 127]($35) | 0; else $$0$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$37 >> 2] | 0) | 0; + if (!(FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$4 >> 2] | 0) + 12 >> 2] & 63]($4, 8192, $$0$i$i) | 0)) { + $78 = $95; + break; + } + $51 = HEAP32[$1 >> 2] | 0; + $52 = $51 + 12 | 0; + $53 = HEAP32[$52 >> 2] | 0; + if (($53 | 0) == (HEAP32[$51 + 16 >> 2] | 0)) FUNCTION_TABLE_ii[HEAP32[(HEAP32[$51 >> 2] | 0) + 40 >> 2] & 127]($51) | 0; else { + HEAP32[$52 >> 2] = $53 + 4; + __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$53 >> 2] | 0) | 0; + } + } + $62 = HEAP32[$1 >> 2] | 0; + do if ($62) { + $65 = HEAP32[$62 + 12 >> 2] | 0; + if (($65 | 0) == (HEAP32[$62 + 16 >> 2] | 0)) $$0$i$i$i$i7 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$62 >> 2] | 0) + 36 >> 2] & 127]($62) | 0; else $$0$i$i$i$i7 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$65 >> 2] | 0) | 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i7, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) { + HEAP32[$1 >> 2] = 0; + $96 = 1; + break; + } else { + $96 = (HEAP32[$1 >> 2] | 0) == 0; + break; + } + } else $96 = 1; while (0); + do if ($78) { + $80 = HEAP32[$78 + 12 >> 2] | 0; + if (($80 | 0) == (HEAP32[$78 + 16 >> 2] | 0)) $$0$i$i2$i$i13 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$78 >> 2] | 0) + 36 >> 2] & 127]($78) | 0; else $$0$i$i2$i$i13 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$80 >> 2] | 0) | 0; + if (!(__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i2$i$i13, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0)) if ($96) break; else { + label = 40; + break; + } else { + HEAP32[$2 >> 2] = 0; + label = 38; + break; + } + } else label = 38; while (0); + if ((label | 0) == 38 ? $96 : 0) label = 40; + if ((label | 0) == 40) HEAP32[$3 >> 2] = HEAP32[$3 >> 2] | 2; + return; +} + +function _arith_decode($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$0$ph = 0, $$062 = 0, $$lcssa65 = 0, $$pre$phi72Z2D = 0, $10 = 0, $11 = 0, $12 = 0, $16 = 0, $17 = 0, $24 = 0, $29 = 0, $3 = 0, $31 = 0, $32 = 0, $34 = 0, $35 = 0, $4 = 0, $42 = 0, $47 = 0, $49 = 0, $5 = 0, $54 = 0, $55 = 0, $57 = 0, $60 = 0, $63 = 0, $66 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $70 = 0, $71 = 0, $72 = 0, $76 = 0, $8 = 0, $84 = 0, $9 = 0, $90 = 0, $91 = 0; + $3 = HEAP32[$0 + 468 >> 2] | 0; + $4 = $3 + 16 | 0; + $5 = HEAP32[$4 >> 2] | 0; + $7 = $3 + 20 | 0; + if (($5 | 0) < 32768) { + $8 = $0 + 440 | 0; + $9 = $0 + 24 | 0; + $10 = $3 + 12 | 0; + $12 = HEAP32[$7 >> 2] | 0; + while (1) { + $11 = $12 + -1 | 0; + HEAP32[$7 >> 2] = $11; + if (($12 | 0) < 1) { + if (!(HEAP32[$8 >> 2] | 0)) { + $16 = HEAP32[$9 >> 2] | 0; + $17 = $16 + 4 | 0; + if ((HEAP32[$17 >> 2] | 0) == 0 ? (FUNCTION_TABLE_ii[HEAP32[$16 + 12 >> 2] & 127]($0) | 0) == 0 : 0) { + $24 = HEAP32[$0 >> 2] | 0; + HEAP32[$24 + 20 >> 2] = 25; + FUNCTION_TABLE_vi[HEAP32[$24 >> 2] & 255]($0); + } + HEAP32[$17 >> 2] = (HEAP32[$17 >> 2] | 0) + -1; + $29 = HEAP32[$16 >> 2] | 0; + HEAP32[$16 >> 2] = $29 + 1; + $31 = HEAP8[$29 >> 0] | 0; + $32 = $31 & 255; + L13 : do if ($31 << 24 >> 24 == -1) { + L15 : while (1) { + $34 = HEAP32[$9 >> 2] | 0; + $35 = $34 + 4 | 0; + if ((HEAP32[$35 >> 2] | 0) == 0 ? (FUNCTION_TABLE_ii[HEAP32[$34 + 12 >> 2] & 127]($0) | 0) == 0 : 0) { + $42 = HEAP32[$0 >> 2] | 0; + HEAP32[$42 + 20 >> 2] = 25; + FUNCTION_TABLE_vi[HEAP32[$42 >> 2] & 255]($0); + } + HEAP32[$35 >> 2] = (HEAP32[$35 >> 2] | 0) + -1; + $47 = HEAP32[$34 >> 2] | 0; + HEAP32[$34 >> 2] = $47 + 1; + $49 = HEAP8[$47 >> 0] | 0; + switch ($49 << 24 >> 24) { + case 0: + { + $$0$ph = 255; + break L13; + break; + } + case -1: + break; + default: + break L15; + } + } + HEAP32[$8 >> 2] = $49 & 255; + $$0$ph = 0; + } else $$0$ph = $32; while (0); + $$0 = $$0$ph; + $55 = HEAP32[$7 >> 2] | 0; + } else { + $$0 = 0; + $55 = $11; + } + HEAP32[$10 >> 2] = HEAP32[$10 >> 2] << 8 | $$0; + $54 = $55 + 8 | 0; + HEAP32[$7 >> 2] = $54; + if (($55 | 0) < -8) { + $57 = $55 + 9 | 0; + HEAP32[$7 >> 2] = $57; + if (!$57) { + HEAP32[$4 >> 2] = 32768; + $91 = 0; + } else $91 = $57; + } else $91 = $54; + } else $91 = $11; + $60 = HEAP32[$4 >> 2] << 1; + HEAP32[$4 >> 2] = $60; + if (($60 | 0) < 32768) $12 = $91; else { + $$lcssa65 = $60; + $$pre$phi72Z2D = $10; + $71 = $91; + break; + } + } + } else { + $$lcssa65 = $5; + $$pre$phi72Z2D = $3 + 12 | 0; + $71 = HEAP32[$7 >> 2] | 0; + } + $63 = HEAPU8[$1 >> 0] | 0; + $66 = HEAP32[3872 + (($63 & 127) << 2) >> 2] | 0; + $67 = $66 >> 8; + $68 = $66 >> 16; + $69 = $$lcssa65 - $68 | 0; + HEAP32[$4 >> 2] = $69; + $70 = $69 << $71; + $72 = HEAP32[$$pre$phi72Z2D >> 2] | 0; + if (($72 | 0) >= ($70 | 0)) { + HEAP32[$$pre$phi72Z2D >> 2] = $72 - $70; + HEAP32[$4 >> 2] = $68; + $76 = $63 & 128; + if (($69 | 0) < ($68 | 0)) { + HEAP8[$1 >> 0] = $76 ^ $67; + $$062 = $63; + $90 = $$062 >> 7; + return $90 | 0; + } else { + HEAP8[$1 >> 0] = $76 ^ $66; + $$062 = $63 ^ 128; + $90 = $$062 >> 7; + return $90 | 0; + } + } + if (($69 | 0) >= 32768) { + $$062 = $63; + $90 = $$062 >> 7; + return $90 | 0; + } + $84 = $63 & 128; + if (($69 | 0) < ($68 | 0)) { + HEAP8[$1 >> 0] = $84 ^ $66; + $$062 = $63 ^ 128; + $90 = $$062 >> 7; + return $90 | 0; + } else { + HEAP8[$1 >> 0] = $84 ^ $67; + $$062 = $63; + $90 = $$062 >> 7; + return $90 | 0; + } + return 0; +} + +function _get_interesting_appn($0) { + $0 = $0 | 0; + var $$0 = 0, $$066 = 0, $$070 = 0, $$071 = 0, $$07278 = 0, $$1 = 0, $$167 = 0, $$2 = 0, $$2$lcssa = 0, $$268 = 0, $$268$lcssa = 0, $$26877 = 0, $$26880 = 0, $$276 = 0, $$279 = 0, $$3 = 0, $$369 = 0, $1 = 0, $103 = 0, $12 = 0, $13 = 0, $16 = 0, $2 = 0, $26 = 0, $27 = 0, $3 = 0, $31 = 0, $4 = 0, $42 = 0, $44 = 0, $5 = 0, $75 = 0, $83 = 0, $85 = 0, $87 = 0, $97 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + $2 = $0 + 24 | 0; + $3 = HEAP32[$2 >> 2] | 0; + $4 = $3 + 4 | 0; + $5 = HEAP32[$4 >> 2] | 0; + do if (!$5) if (!(FUNCTION_TABLE_ii[HEAP32[$3 + 12 >> 2] & 127]($0) | 0)) { + $$070 = 0; + STACKTOP = sp; + return $$070 | 0; + } else { + $$0 = HEAP32[$4 >> 2] | 0; + break; + } else $$0 = $5; while (0); + $$066 = HEAP32[$3 >> 2] | 0; + $12 = $$0 + -1 | 0; + $13 = $$066 + 1 | 0; + $16 = HEAPU8[$$066 >> 0] << 8; + do if (!$12) if (!(FUNCTION_TABLE_ii[HEAP32[$3 + 12 >> 2] & 127]($0) | 0)) { + $$070 = 0; + STACKTOP = sp; + return $$070 | 0; + } else { + $$1 = HEAP32[$4 >> 2] | 0; + $$167 = HEAP32[$3 >> 2] | 0; + break; + } else { + $$1 = $12; + $$167 = $13; + } while (0); + $26 = $16 | HEAPU8[$$167 >> 0]; + $27 = $26 + -2 | 0; + $$071 = $26 >>> 0 > 15 ? 14 : $26 >>> 0 > 2 ? $27 : 0; + $$276 = $$1 + -1 | 0; + $$26877 = $$167 + 1 | 0; + L13 : do if (!$$071) { + $$2$lcssa = $$276; + $$268$lcssa = $$26877; + } else { + $31 = $3 + 12 | 0; + $$07278 = 0; + $$26880 = $$26877; + $$279 = $$276; + while (1) { + if (!$$279) { + if (!(FUNCTION_TABLE_ii[HEAP32[$31 >> 2] & 127]($0) | 0)) { + $$070 = 0; + break; + } + $$3 = HEAP32[$4 >> 2] | 0; + $$369 = HEAP32[$3 >> 2] | 0; + } else { + $$3 = $$279; + $$369 = $$26880; + } + HEAP8[$1 + $$07278 >> 0] = HEAP8[$$369 >> 0] | 0; + $$07278 = $$07278 + 1 | 0; + $$2 = $$3 + -1 | 0; + $$268 = $$369 + 1 | 0; + if ($$07278 >>> 0 >= $$071 >>> 0) { + $$2$lcssa = $$2; + $$268$lcssa = $$268; + break L13; + } else { + $$26880 = $$268; + $$279 = $$2; + } + } + STACKTOP = sp; + return $$070 | 0; + } while (0); + $42 = $27 - $$071 | 0; + $44 = HEAP32[$0 + 440 >> 2] | 0; + L23 : do switch ($44 | 0) { + case 224: + { + _examine_app0($0, $1, $$071, $42); + break; + } + case 238: + { + if (((($$071 >>> 0 > 11 & (HEAP8[$1 >> 0] | 0) == 65 ? (HEAP8[$1 + 1 >> 0] | 0) == 100 : 0) ? (HEAP8[$1 + 2 >> 0] | 0) == 111 : 0) ? (HEAP8[$1 + 3 >> 0] | 0) == 98 : 0) ? (HEAP8[$1 + 4 >> 0] | 0) == 101 : 0) { + $75 = HEAPU8[$1 + 7 >> 0] << 8 | HEAPU8[$1 + 8 >> 0]; + $83 = HEAPU8[$1 + 9 >> 0] << 8 | HEAPU8[$1 + 10 >> 0]; + $85 = HEAP8[$1 + 11 >> 0] | 0; + $87 = HEAP32[$0 >> 2] | 0; + HEAP32[$87 + 24 >> 2] = HEAPU8[$1 + 5 >> 0] << 8 | HEAPU8[$1 + 6 >> 0]; + HEAP32[$87 + 28 >> 2] = $75; + HEAP32[$87 + 32 >> 2] = $83; + HEAP32[$87 + 36 >> 2] = $85 & 255; + HEAP32[$87 + 20 >> 2] = 78; + FUNCTION_TABLE_vii[HEAP32[$87 + 4 >> 2] & 255]($0, 1); + HEAP32[$0 + 296 >> 2] = 1; + HEAP8[$0 + 300 >> 0] = $85; + break L23; + } + $97 = HEAP32[$0 >> 2] | 0; + HEAP32[$97 + 20 >> 2] = 80; + HEAP32[$97 + 24 >> 2] = $27; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$0 >> 2] | 0) + 4 >> 2] & 255]($0, 1); + break; + } + default: + { + $103 = HEAP32[$0 >> 2] | 0; + HEAP32[$103 + 20 >> 2] = 70; + HEAP32[$103 + 24 >> 2] = $44; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + } while (0); + HEAP32[$3 >> 2] = $$268$lcssa; + HEAP32[$4 >> 2] = $$2$lcssa; + if (($42 | 0) <= 0) { + $$070 = 1; + STACKTOP = sp; + return $$070 | 0; + } + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$2 >> 2] | 0) + 16 >> 2] & 255]($0, $42); + $$070 = 1; + STACKTOP = sp; + return $$070 | 0; +} + +function __ZN6vision20VisualDatabaseFacade30addFreakFeaturesAndDescriptorsERKNSt3__26vectorINS_12FeaturePointENS1_9allocatorIS3_EEEERKNS2_IhNS4_IhEEEERKNS2_INS_7Point3dIfEENS4_ISE_EEEEmmi($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 $$byval_copy = 0, $10 = 0, $11 = 0, $18 = 0, $19 = 0, $26 = 0, $32 = 0, $33 = 0, $39 = 0, $45 = 0, $49 = 0, $51 = 0, $57 = 0, $7 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy = sp + 24 | 0; + $7 = sp + 12 | 0; + $8 = sp + 16 | 0; + $9 = sp + 8 | 0; + $10 = sp; + HEAP32[$7 >> 2] = $6; + $11 = __Znwm(148) | 0; + __ZN6vision8KeyframeILi96EEC2Ev($11); + HEAP32[$9 >> 2] = 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$9 >> 2]; + __ZNSt3__210shared_ptrIN6vision8KeyframeILi96EEEEC2IS3_EEPT_NS_9enable_ifIXsr14is_convertibleIS7_PS3_EE5valueENS4_5__natEE4typeE($8, $11, $$byval_copy); + __ZN6vision8KeyframeILi96EE8setWidthEi(HEAP32[$8 >> 2] | 0, $4); + __ZN6vision8KeyframeILi96EE9setHeightEi(HEAP32[$8 >> 2] | 0, $5); + __ZN6vision18BinaryFeatureStore21setNumBytesPerFeatureEi(__ZN6vision8KeyframeILi96EE5storeEv(HEAP32[$8 >> 2] | 0) | 0, 96); + $18 = __ZN6vision18BinaryFeatureStore6pointsEv(__ZN6vision8KeyframeILi96EE5storeEv(HEAP32[$8 >> 2] | 0) | 0) | 0; + $19 = $1 + 4 | 0; + __ZNSt3__26vectorIN6vision12FeaturePointENS_9allocatorIS2_EEE6resizeEm($18, ((HEAP32[$19 >> 2] | 0) - (HEAP32[$1 >> 2] | 0) | 0) / 20 | 0); + $26 = __ZN6vision18BinaryFeatureStore6pointsEv(__ZN6vision8KeyframeILi96EE5storeEv(HEAP32[$8 >> 2] | 0) | 0) | 0; + if (($26 | 0) != ($1 | 0)) __ZNSt3__26vectorIN6vision12FeaturePointENS_9allocatorIS2_EEE6assignIPS2_EENS_9enable_ifIXaasr21__is_forward_iteratorIT_EE5valuesr16is_constructibleIS2_NS_15iterator_traitsIS9_E9referenceEEE5valueEvE4typeES9_S9_($26, HEAP32[$1 >> 2] | 0, HEAP32[$19 >> 2] | 0); + $32 = __ZN6vision18BinaryFeatureStore8featuresEv(__ZN6vision8KeyframeILi96EE5storeEv(HEAP32[$8 >> 2] | 0) | 0) | 0; + $33 = $2 + 4 | 0; + __ZNSt3__26vectorIhNS_9allocatorIhEEE6resizeEm($32, (HEAP32[$33 >> 2] | 0) - (HEAP32[$2 >> 2] | 0) | 0); + $39 = __ZN6vision18BinaryFeatureStore8featuresEv(__ZN6vision8KeyframeILi96EE5storeEv(HEAP32[$8 >> 2] | 0) | 0) | 0; + if (($39 | 0) != ($2 | 0)) __ZNSt3__26vectorIhNS_9allocatorIhEEE6assignIPhEENS_9enable_ifIXaasr21__is_forward_iteratorIT_EE5valuesr16is_constructibleIhNS_15iterator_traitsIS7_E9referenceEEE5valueEvE4typeES7_S7_($39, HEAP32[$2 >> 2] | 0, HEAP32[$33 >> 2] | 0); + __ZN6vision8KeyframeILi96EE10buildIndexEv(HEAP32[$8 >> 2] | 0); + $45 = HEAP32[HEAP32[$0 >> 2] >> 2] | 0; + HEAP32[$10 >> 2] = HEAP32[$8 >> 2]; + $49 = HEAP32[$8 + 4 >> 2] | 0; + HEAP32[$10 + 4 >> 2] = $49; + if ($49 | 0) { + $51 = $49 + 4 | 0; + HEAP32[$51 >> 2] = (HEAP32[$51 >> 2] | 0) + 1; + } + __ZN6vision14VisualDatabaseINS_14FREAKExtractorENS_18BinaryFeatureStoreENS_20BinaryFeatureMatcherILi96EEEE11addKeyframeENSt3__210shared_ptrINS_8KeyframeILi96EEEEEi($45, $10, HEAP32[$7 >> 2] | 0); + __ZNSt3__210shared_ptrIN6vision8KeyframeILi96EEEED2Ev($10); + $57 = __ZNSt3__213unordered_mapIiNS_6vectorIN6vision7Point3dIfEENS_9allocatorIS4_EEEENS_4hashIiEENS_8equal_toIiEENS5_INS_4pairIKiS7_EEEEEixERSD_((HEAP32[$0 >> 2] | 0) + 4 | 0, $7) | 0; + if (($57 | 0) != ($3 | 0)) __ZNSt3__26vectorIN6vision7Point3dIfEENS_9allocatorIS3_EEE6assignIPS3_EENS_9enable_ifIXaasr21__is_forward_iteratorIT_EE5valuesr16is_constructibleIS3_NS_15iterator_traitsISA_E9referenceEEE5valueEvE4typeESA_SA_($57, HEAP32[$3 >> 2] | 0, HEAP32[$3 + 4 >> 2] | 0); + __ZNSt3__210shared_ptrIN6vision8KeyframeILi96EEEED2Ev($8); + STACKTOP = sp; + return; +} + +function __ZNKSt3__27codecvtIwc11__mbstate_tE6do_outERS1_PKwS5_RS5_PcS7_RS7_($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 $$0 = 0, $$069 = 0, $$070 = 0, $$070$lcssa = 0, $$077 = 0, $$079 = 0, $$171 = 0, $$173 = 0, $$178 = 0, $$2 = 0, $$2$lcssa = 0, $$375$ph = 0, $$476 = 0, $$5$ph85 = 0, $14 = 0, $15 = 0, $18 = 0, $23 = 0, $24 = 0, $35 = 0, $36 = 0, $40 = 0, $42 = 0, $43 = 0, $44 = 0, $48 = 0, $51 = 0, $55 = 0, $56 = 0, $64 = 0, $66 = 0, $67 = 0, $75 = 0, $77 = 0, $78 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $8 = sp; + $9 = sp + 8 | 0; + $$070 = $2; + while (1) { + if (($$070 | 0) == ($3 | 0)) { + $$070$lcssa = $3; + break; + } + if (!(HEAP32[$$070 >> 2] | 0)) { + $$070$lcssa = $$070; + break; + } + $$070 = $$070 + 4 | 0; + } + HEAP32[$7 >> 2] = $5; + HEAP32[$4 >> 2] = $2; + $14 = $6; + $15 = $0 + 8 | 0; + $$077 = $2; + $$079 = $5; + $$171 = $$070$lcssa; + L6 : while (1) { + if (($$079 | 0) == ($6 | 0) | ($$077 | 0) == ($3 | 0)) { + $75 = $$077; + label = 36; + break; + } + $18 = $1; + $23 = HEAP32[$18 + 4 >> 2] | 0; + $24 = $8; + HEAP32[$24 >> 2] = HEAP32[$18 >> 2]; + HEAP32[$24 + 4 >> 2] = $23; + $35 = ___uselocale(HEAP32[$15 >> 2] | 0) | 0; + $36 = _wcsnrtombs($$079, $4, $$171 - $$077 >> 2, $14 - $$079 | 0, $1) | 0; + if ($35 | 0) ___uselocale($35) | 0; + switch ($36 | 0) { + case -1: + { + label = 10; + break L6; + break; + } + case 0: + { + $$375$ph = 1; + label = 33; + break L6; + break; + } + default: + {} + } + $51 = (HEAP32[$7 >> 2] | 0) + $36 | 0; + HEAP32[$7 >> 2] = $51; + if (($51 | 0) == ($6 | 0)) { + label = 34; + break; + } + if (($$171 | 0) == ($3 | 0)) { + $$5$ph85 = $3; + $77 = $51; + $78 = HEAP32[$4 >> 2] | 0; + } else { + $55 = ___uselocale(HEAP32[$15 >> 2] | 0) | 0; + $56 = _wcrtomb($9, 0, $1) | 0; + if ($55 | 0) ___uselocale($55) | 0; + if (($56 | 0) == -1) { + $$173 = 2; + label = 32; + break; + } + if ($56 >>> 0 > ($14 - (HEAP32[$7 >> 2] | 0) | 0) >>> 0) { + $$173 = 1; + label = 32; + break; + } + $$0 = $9; + $$069 = $56; + while (1) { + if (!$$069) break; + $66 = HEAP8[$$0 >> 0] | 0; + $67 = HEAP32[$7 >> 2] | 0; + HEAP32[$7 >> 2] = $67 + 1; + HEAP8[$67 >> 0] = $66; + $$0 = $$0 + 1 | 0; + $$069 = $$069 + -1 | 0; + } + $64 = (HEAP32[$4 >> 2] | 0) + 4 | 0; + HEAP32[$4 >> 2] = $64; + $$2 = $64; + while (1) { + if (($$2 | 0) == ($3 | 0)) { + $$2$lcssa = $3; + break; + } + if (!(HEAP32[$$2 >> 2] | 0)) { + $$2$lcssa = $$2; + break; + } + $$2 = $$2 + 4 | 0; + } + $$5$ph85 = $$2$lcssa; + $77 = HEAP32[$7 >> 2] | 0; + $78 = $64; + } + $$077 = $78; + $$079 = $77; + $$171 = $$5$ph85; + } + if ((label | 0) == 10) { + HEAP32[$7 >> 2] = $$079; + $$178 = $$077; + $43 = $$079; + while (1) { + if (($$178 | 0) == (HEAP32[$4 >> 2] | 0)) break; + $40 = HEAP32[$$178 >> 2] | 0; + $42 = ___uselocale(HEAP32[$15 >> 2] | 0) | 0; + $44 = _wcrtomb($43, $40, $8) | 0; + if ($42 | 0) ___uselocale($42) | 0; + if (($44 | 0) == -1) break; + $48 = (HEAP32[$7 >> 2] | 0) + $44 | 0; + HEAP32[$7 >> 2] = $48; + $$178 = $$178 + 4 | 0; + $43 = $48; + } + HEAP32[$4 >> 2] = $$178; + $$375$ph = 2; + label = 33; + } else if ((label | 0) == 32) { + $$375$ph = $$173; + label = 33; + } else if ((label | 0) == 34) { + $75 = HEAP32[$4 >> 2] | 0; + label = 36; + } + if ((label | 0) == 33) $$476 = $$375$ph; else if ((label | 0) == 36) $$476 = ($75 | 0) != ($3 | 0) & 1; + STACKTOP = sp; + return $$476 | 0; +} + +function __ZNKSt3__27codecvtIwc11__mbstate_tE5do_inERS1_PKcS5_RS5_PwS7_RS7_($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 $$070 = 0, $$070$lcssa = 0, $$074 = 0, $$077 = 0, $$1 = 0, $$172$ph = 0, $$175 = 0, $$2 = 0, $$2$lcssa = 0, $$273 = 0, $$4$ph = 0, $$pre = 0, $$sink = 0, $13 = 0, $14 = 0, $17 = 0, $22 = 0, $23 = 0, $34 = 0, $35 = 0, $38 = 0, $44 = 0, $45 = 0, $53 = 0, $57 = 0, $58 = 0, $64 = 0, $70 = 0, $72 = 0, $73 = 0, $8 = 0, $storemerge = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $8 = sp; + $$070 = $2; + while (1) { + if (($$070 | 0) == ($3 | 0)) { + $$070$lcssa = $3; + break; + } + if (!(HEAP8[$$070 >> 0] | 0)) { + $$070$lcssa = $$070; + break; + } + $$070 = $$070 + 1 | 0; + } + HEAP32[$7 >> 2] = $5; + HEAP32[$4 >> 2] = $2; + $13 = $6; + $14 = $0 + 8 | 0; + $$074 = $2; + $$077 = $5; + $$1 = $$070$lcssa; + while (1) { + if (($$077 | 0) == ($6 | 0) | ($$074 | 0) == ($3 | 0)) { + $70 = $$074; + label = 33; + break; + } + $17 = $1; + $22 = HEAP32[$17 + 4 >> 2] | 0; + $23 = $8; + HEAP32[$23 >> 2] = HEAP32[$17 >> 2]; + HEAP32[$23 + 4 >> 2] = $22; + $34 = ___uselocale(HEAP32[$14 >> 2] | 0) | 0; + $35 = _mbsnrtowcs($$077, $4, $$1 - $$074 | 0, $13 - $$077 >> 2, $1) | 0; + if ($34 | 0) ___uselocale($34) | 0; + if (($35 | 0) == -1) { + label = 10; + break; + } + $53 = (HEAP32[$7 >> 2] | 0) + ($35 << 2) | 0; + HEAP32[$7 >> 2] = $53; + if (($53 | 0) == ($6 | 0)) { + label = 30; + break; + } + $$pre = HEAP32[$4 >> 2] | 0; + if (($$1 | 0) == ($3 | 0)) { + $$4$ph = $3; + $72 = $53; + $73 = $$pre; + } else { + $57 = ___uselocale(HEAP32[$14 >> 2] | 0) | 0; + $58 = _mbrtowc($53, $$pre, 1, $1) | 0; + if ($57 | 0) ___uselocale($57) | 0; + if ($58 | 0) { + $$172$ph = 2; + label = 29; + break; + } + HEAP32[$7 >> 2] = (HEAP32[$7 >> 2] | 0) + 4; + $64 = (HEAP32[$4 >> 2] | 0) + 1 | 0; + HEAP32[$4 >> 2] = $64; + $$2 = $64; + while (1) { + if (($$2 | 0) == ($3 | 0)) { + $$2$lcssa = $3; + break; + } + if (!(HEAP8[$$2 >> 0] | 0)) { + $$2$lcssa = $$2; + break; + } + $$2 = $$2 + 1 | 0; + } + $$4$ph = $$2$lcssa; + $72 = HEAP32[$7 >> 2] | 0; + $73 = $64; + } + $$074 = $73; + $$077 = $72; + $$1 = $$4$ph; + } + do if ((label | 0) == 10) { + $38 = $$1; + $$175 = $$074; + $storemerge = $$077; + L29 : while (1) { + HEAP32[$7 >> 2] = $storemerge; + if (($$175 | 0) == (HEAP32[$4 >> 2] | 0)) { + label = 19; + break; + } + $44 = ___uselocale(HEAP32[$14 >> 2] | 0) | 0; + $45 = _mbrtowc($storemerge, $$175, $38 - $$175 | 0, $8) | 0; + if ($44 | 0) ___uselocale($44) | 0; + switch ($45 | 0) { + case -1: + { + label = 15; + break L29; + break; + } + case -2: + { + label = 16; + break L29; + break; + } + case 0: + { + $$sink = 1; + break; + } + default: + $$sink = $45; + } + $$175 = $$175 + $$sink | 0; + $storemerge = (HEAP32[$7 >> 2] | 0) + 4 | 0; + } + if ((label | 0) == 15) { + HEAP32[$4 >> 2] = $$175; + $$172$ph = 2; + label = 29; + break; + } else if ((label | 0) == 16) { + HEAP32[$4 >> 2] = $$175; + $$172$ph = 1; + label = 29; + break; + } else if ((label | 0) == 19) { + HEAP32[$4 >> 2] = $$175; + $$172$ph = ($$175 | 0) != ($3 | 0) & 1; + label = 29; + break; + } + } else if ((label | 0) == 30) { + $70 = HEAP32[$4 >> 2] | 0; + label = 33; + } while (0); + if ((label | 0) == 29) $$273 = $$172$ph; else if ((label | 0) == 33) $$273 = ($70 | 0) != ($3 | 0) & 1; + STACKTOP = sp; + return $$273 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle8FoldExpr9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$pre$phi22Z2D = 0, $14 = 0, $16 = 0, $17 = 0, $2 = 0, $22 = 0, $23 = 0, $27 = 0, $3 = 0, $32 = 0, $33 = 0, $37 = 0, $38 = 0, $4 = 0, $43 = 0, $44 = 0, $48 = 0, $5 = 0, $51 = 0, $56 = 0, $57 = 0, $6 = 0, $7 = 0, $8 = 0, $tmpcast18$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(64); + $tmpcast18$byval_copy = sp + 56 | 0; + $2 = sp + 32 | 0; + $3 = sp + 24 | 0; + $4 = sp + 48 | 0; + $5 = sp + 16 | 0; + $6 = sp + 8 | 0; + $7 = sp + 40 | 0; + $8 = sp; + HEAP32[$2 >> 2] = $1; + HEAP32[$2 + 4 >> 2] = $0; + __ZN12_GLOBAL__N_112OutputStreampLEc($1, 40); + if (!(HEAP8[$0 + 24 >> 0] | 0)) { + __ZZNK12_GLOBAL__N_116itanium_demangle8FoldExpr9printLeftERNS_12OutputStreamEENKUlvE_clEv($2); + __ZN12_GLOBAL__N_112OutputStreampLEc($1, 32); + $37 = $0 + 16 | 0; + $38 = $37; + $43 = HEAP32[$38 + 4 >> 2] | 0; + $44 = $6; + HEAP32[$44 >> 2] = HEAP32[$38 >> 2]; + HEAP32[$44 + 4 >> 2] = $43; + HEAP32[$tmpcast18$byval_copy >> 2] = HEAP32[$6 >> 2]; + HEAP32[$tmpcast18$byval_copy + 4 >> 2] = HEAP32[$6 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $tmpcast18$byval_copy); + __ZN12_GLOBAL__N_110StringViewC2EPKc($7, 54862); + HEAP32[$tmpcast18$byval_copy >> 2] = HEAP32[$7 >> 2]; + HEAP32[$tmpcast18$byval_copy + 4 >> 2] = HEAP32[$7 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $tmpcast18$byval_copy); + $48 = $0 + 12 | 0; + if (HEAP32[$48 >> 2] | 0) { + __ZN12_GLOBAL__N_112OutputStreampLEc($1, 32); + $51 = $37; + $56 = HEAP32[$51 + 4 >> 2] | 0; + $57 = $8; + HEAP32[$57 >> 2] = HEAP32[$51 >> 2]; + HEAP32[$57 + 4 >> 2] = $56; + HEAP32[$tmpcast18$byval_copy >> 2] = HEAP32[$8 >> 2]; + HEAP32[$tmpcast18$byval_copy + 4 >> 2] = HEAP32[$8 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $tmpcast18$byval_copy); + __ZN12_GLOBAL__N_112OutputStreampLEc($1, 32); + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$48 >> 2] | 0, $1); + } + } else { + $14 = HEAP32[$0 + 12 >> 2] | 0; + if (!$14) $$pre$phi22Z2D = $0 + 16 | 0; else { + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE($14, $1); + __ZN12_GLOBAL__N_112OutputStreampLEc($1, 32); + $16 = $0 + 16 | 0; + $17 = $16; + $22 = HEAP32[$17 + 4 >> 2] | 0; + $23 = $3; + HEAP32[$23 >> 2] = HEAP32[$17 >> 2]; + HEAP32[$23 + 4 >> 2] = $22; + HEAP32[$tmpcast18$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$tmpcast18$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $tmpcast18$byval_copy); + __ZN12_GLOBAL__N_112OutputStreampLEc($1, 32); + $$pre$phi22Z2D = $16; + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, 54857); + HEAP32[$tmpcast18$byval_copy >> 2] = HEAP32[$4 >> 2]; + HEAP32[$tmpcast18$byval_copy + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $tmpcast18$byval_copy); + $27 = $$pre$phi22Z2D; + $32 = HEAP32[$27 + 4 >> 2] | 0; + $33 = $5; + HEAP32[$33 >> 2] = HEAP32[$27 >> 2]; + HEAP32[$33 + 4 >> 2] = $32; + HEAP32[$tmpcast18$byval_copy >> 2] = HEAP32[$5 >> 2]; + HEAP32[$tmpcast18$byval_copy + 4 >> 2] = HEAP32[$5 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $tmpcast18$byval_copy); + __ZN12_GLOBAL__N_112OutputStreampLEc($1, 32); + __ZZNK12_GLOBAL__N_116itanium_demangle8FoldExpr9printLeftERNS_12OutputStreamEENKUlvE_clEv($2); + } + __ZN12_GLOBAL__N_112OutputStreampLEc($1, 41); + STACKTOP = sp; + return; +} + +function __ZNK6vision28BinaryHierarchicalClusteringILi96EE5queryEPKh($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0$i$i$add$i$i = 0, $$0$i$i$idx$i$i = 0, $$byval_copy = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $14 = 0, $19 = 0, $2 = 0, $23 = 0, $25 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $32 = 0, $33 = 0, $35 = 0, $38 = 0, $39 = 0, $4 = 0, $41 = 0, $44 = 0, $45 = 0, $49 = 0, $5 = 0, $54 = 0, $55 = 0, $59 = 0, $6 = 0, $66 = 0, $67 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $$byval_copy2 = sp + 8 | 0; + $$byval_copy1 = sp + 32 | 0; + $$byval_copy = sp + 28 | 0; + $2 = sp + 24 | 0; + $3 = sp + 20 | 0; + $4 = sp + 16 | 0; + $5 = sp; + $6 = $0 + 8 | 0; + if (!(HEAP32[$6 >> 2] | 0)) { + $14 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 36082) | 0, 33262) | 0, 39072) | 0, 405) | 0, 39079) | 0, 36117) | 0; + __ZNKSt3__28ios_base6getlocEv($$byval_copy2, $14 + (HEAP32[(HEAP32[$14 >> 2] | 0) + -12 >> 2] | 0) | 0); + $19 = __ZNKSt3__26locale9use_facetERNS0_2idE($$byval_copy2, 66512) | 0; + $23 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$19 >> 2] | 0) + 28 >> 2] & 127]($19, 10) | 0; + __ZNSt3__26localeD2Ev($$byval_copy2); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($14, $23) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($14) | 0; + _abort(); + } + HEAP32[$0 + 100 >> 2] = 0; + $25 = $0 + 72 | 0; + $27 = $0 + 76 | 0; + HEAP32[$27 >> 2] = HEAP32[$25 >> 2]; + $28 = $0 + 84 | 0; + $29 = $0 + 88 | 0; + $32 = HEAP32[$29 >> 2] | 0; + while (1) { + $30 = HEAP32[$28 >> 2] | 0; + $33 = $30; + if (($30 | 0) == ($32 | 0)) break; + $35 = $32 - $33 | 0; + if (($35 | 0) > 8) { + $38 = $32 + -8 | 0; + $39 = $30; + $41 = HEAP32[$39 >> 2] | 0; + $44 = HEAP32[$39 + 4 >> 2] | 0; + $45 = $$byval_copy2; + HEAP32[$45 >> 2] = $41; + HEAP32[$45 + 4 >> 2] = $44; + $49 = $38; + $54 = HEAP32[$49 + 4 >> 2] | 0; + $55 = $30; + HEAP32[$55 >> 2] = HEAP32[$49 >> 2]; + HEAP32[$55 + 4 >> 2] = $54; + $59 = $38; + HEAP32[$59 >> 2] = $41; + HEAP32[$59 + 4 >> 2] = $44; + __ZN6vision17PriorityQueueItemILi96EED2Ev($$byval_copy2); + HEAP32[$2 >> 2] = $33; + HEAP32[$3 >> 2] = $38; + HEAP32[$4 >> 2] = $33; + HEAP32[$$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy1 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy2 >> 2] = HEAP32[$4 >> 2]; + __ZNSt3__211__sift_downIRNS_4lessIN6vision17PriorityQueueItemILi96EEEEENS_11__wrap_iterIPS4_EEEEvT0_SA_T_NS_15iterator_traitsISA_E15difference_typeESA_($$byval_copy, $$byval_copy1, $5, ($35 >>> 3) + -1 | 0, $$byval_copy2); + $66 = HEAP32[$29 >> 2] | 0; + } else $66 = $32; + $$0$i$i$idx$i$i = 0; + while (1) { + if (($$0$i$i$idx$i$i | 0) == -1) break; + $$0$i$i$add$i$i = $$0$i$i$idx$i$i + -1 | 0; + __ZN6vision17PriorityQueueItemILi96EED2Ev($66 + ($$0$i$i$add$i$i << 3) | 0); + $$0$i$i$idx$i$i = $$0$i$i$add$i$i; + } + $67 = $66 + -8 | 0; + HEAP32[$29 >> 2] = $67; + $32 = $67; + } + __ZNK6vision28BinaryHierarchicalClusteringILi96EE5queryERNSt3__214priority_queueINS_17PriorityQueueItemILi96EEENS2_6vectorIS5_NS2_9allocatorIS5_EEEENS2_4lessIS5_EEEEPKNS_4NodeILi96EEEPKh($0, $28, HEAP32[$6 >> 2] | 0, $1); + STACKTOP = sp; + return (HEAP32[$27 >> 2] | 0) - (HEAP32[$25 >> 2] | 0) >> 2 | 0; +} + +function __ZNK6vision21HoughSimilarityVoting17mapCorrespondenceERfS1_S1_S1_ffffffff($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = +$5; + $6 = +$6; + $7 = +$7; + $8 = +$8; + $9 = +$9; + $10 = +$10; + $11 = +$11; + $12 = +$12; + var $$sink = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $23 = 0.0, $24 = 0.0, $31 = 0, $36 = 0, $40 = 0, $47 = 0, $52 = 0, $56 = 0, $57 = 0.0, $60 = 0.0, $64 = 0.0, $67 = 0.0, $71 = 0.0, $74 = 0.0, $79 = 0, $82 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $13 = sp + 16 | 0; + $14 = sp; + $15 = $7 - $11; + HEAPF32[$3 >> 2] = $15; + $16 = $15; + if (!($16 <= -3.141592653589793)) if ($16 > 3.141592653589793) { + $$sink = $16 + -6.283185307179586; + label = 5; + } else $24 = $15; else { + $$sink = $16 + 6.283185307179586; + label = 5; + } + if ((label | 0) == 5) { + HEAPF32[$3 >> 2] = $$sink; + $24 = $$sink; + } + $23 = $24; + if (!($23 > -3.141592653589793)) { + $31 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 36444) | 0, 36227) | 0, 39072) | 0, 468) | 0, 39079) | 0, 36479) | 0; + __ZNKSt3__28ios_base6getlocEv($13, $31 + (HEAP32[(HEAP32[$31 >> 2] | 0) + -12 >> 2] | 0) | 0); + $36 = __ZNKSt3__26locale9use_facetERNS0_2idE($13, 66512) | 0; + $40 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$36 >> 2] | 0) + 28 >> 2] & 127]($36, 10) | 0; + __ZNSt3__26localeD2Ev($13); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($31, $40) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($31) | 0; + _abort(); + } + if (!($23 <= 3.141592653589793)) { + $47 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 36498) | 0, 36227) | 0, 39072) | 0, 469) | 0, 39079) | 0, 36479) | 0; + __ZNKSt3__28ios_base6getlocEv($13, $47 + (HEAP32[(HEAP32[$47 >> 2] | 0) + -12 >> 2] | 0) | 0); + $52 = __ZNKSt3__26locale9use_facetERNS0_2idE($13, 66512) | 0; + $56 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$52 >> 2] | 0) + 28 >> 2] & 127]($52, 10) | 0; + __ZNSt3__26localeD2Ev($13); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($47, $56) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($47) | 0; + _abort(); + } else { + $57 = +__ZN6vision12SafeDivisionIfEET_S1_S1_($8, $12); + HEAPF32[$4 >> 2] = $57; + __ZN6vision13Similarity2x2IfEEvPT_S1_S1_($14, +HEAPF32[$3 >> 2], $57); + $60 = +Math_log(+(+HEAPF32[$4 >> 2])); + HEAPF32[$4 >> 2] = $60 * +HEAPF32[$0 + 48 >> 2]; + $64 = +HEAPF32[$14 >> 2]; + $67 = +HEAPF32[$14 + 4 >> 2]; + $71 = +HEAPF32[$14 + 8 >> 2]; + $74 = +HEAPF32[$14 + 12 >> 2]; + $79 = $0 + 8 | 0; + $82 = $0 + 12 | 0; + HEAPF32[$1 >> 2] = $5 - ($64 * $9 + $67 * $10) + ($64 * +HEAPF32[$79 >> 2] + $67 * +HEAPF32[$82 >> 2]); + HEAPF32[$2 >> 2] = $6 - ($71 * $9 + $74 * $10) + ($71 * +HEAPF32[$79 >> 2] + $74 * +HEAPF32[$82 >> 2]); + STACKTOP = sp; + return; + } +} + +function __ZNSt3__2L12utf8_to_ucs4EPKhS1_RS1_PjS3_RS3_mNS_12codecvt_modeE($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 $$9 = 0, $$pre$phiZ2D = 0, $$sink = 0, $$sink107 = 0, $10 = 0, $104 = 0, $11 = 0, $24 = 0, $26 = 0, $28 = 0, $29 = 0, $39 = 0, $45 = 0, $52 = 0, $54 = 0, $61 = 0, $71 = 0, $78 = 0, $80 = 0, $82 = 0, $88 = 0, $91 = 0; + HEAP32[$2 >> 2] = $0; + HEAP32[$5 >> 2] = $3; + if ($7 & 4) { + $10 = HEAP32[$2 >> 2] | 0; + $11 = $1; + if (((($11 - $10 | 0) > 2 ? (HEAP8[$10 >> 0] | 0) == -17 : 0) ? (HEAP8[$10 + 1 >> 0] | 0) == -69 : 0) ? (HEAP8[$10 + 2 >> 0] | 0) == -65 : 0) { + HEAP32[$2 >> 2] = $10 + 3; + $$pre$phiZ2D = $11; + } else $$pre$phiZ2D = $11; + } else $$pre$phiZ2D = $1; + L9 : while (1) { + $24 = HEAP32[$2 >> 2] | 0; + if ($24 >>> 0 >= $1 >>> 0) { + $$9 = 0; + break; + } + $26 = HEAP32[$5 >> 2] | 0; + if ($26 >>> 0 >= $4 >>> 0) { + $$9 = 1; + break; + } + $28 = HEAP8[$24 >> 0] | 0; + $29 = $28 & 255; + do if ($28 << 24 >> 24 > -1) if ($29 >>> 0 > $6 >>> 0) { + $$9 = 2; + break L9; + } else { + $$sink = $29; + $$sink107 = 1; + } else { + if (($28 & 255) < 194) { + $$9 = 2; + break L9; + } + if (($28 & 255) < 224) { + if (($$pre$phiZ2D - $24 | 0) < 2) { + $$9 = 1; + break L9; + } + $39 = HEAPU8[$24 + 1 >> 0] | 0; + if (($39 & 192 | 0) != 128) { + $$9 = 2; + break L9; + } + $45 = $39 & 63 | $29 << 6 & 1984; + if ($45 >>> 0 > $6 >>> 0) { + $$9 = 2; + break L9; + } else { + $$sink = $45; + $$sink107 = 2; + break; + } + } + if (($28 & 255) < 240) { + if (($$pre$phiZ2D - $24 | 0) < 3) { + $$9 = 1; + break L9; + } + $52 = HEAP8[$24 + 1 >> 0] | 0; + $54 = HEAP8[$24 + 2 >> 0] | 0; + switch ($28 << 24 >> 24) { + case -32: + { + if (($52 & -32) << 24 >> 24 != -96) { + $$9 = 2; + break L9; + } + break; + } + case -19: + { + if (($52 & -32) << 24 >> 24 != -128) { + $$9 = 2; + break L9; + } + break; + } + default: + if (($52 & -64) << 24 >> 24 != -128) { + $$9 = 2; + break L9; + } + } + $61 = $54 & 255; + if (($61 & 192 | 0) != 128) { + $$9 = 2; + break L9; + } + $71 = ($52 & 63) << 6 | $29 << 12 & 61440 | $61 & 63; + if ($71 >>> 0 > $6 >>> 0) { + $$9 = 2; + break L9; + } else { + $$sink = $71; + $$sink107 = 3; + break; + } + } + if (($28 & 255) >= 245) { + $$9 = 2; + break L9; + } + if (($$pre$phiZ2D - $24 | 0) < 4) { + $$9 = 1; + break L9; + } + $78 = HEAP8[$24 + 1 >> 0] | 0; + $80 = HEAP8[$24 + 2 >> 0] | 0; + $82 = HEAP8[$24 + 3 >> 0] | 0; + switch ($28 << 24 >> 24) { + case -16: + { + if (($78 + 112 & 255) >= 48) { + $$9 = 2; + break L9; + } + break; + } + case -12: + { + if (($78 & -16) << 24 >> 24 != -128) { + $$9 = 2; + break L9; + } + break; + } + default: + if (($78 & -64) << 24 >> 24 != -128) { + $$9 = 2; + break L9; + } + } + $88 = $80 & 255; + if (($88 & 192 | 0) != 128) { + $$9 = 2; + break L9; + } + $91 = $82 & 255; + if (($91 & 192 | 0) != 128) { + $$9 = 2; + break L9; + } + $104 = ($78 & 63) << 12 | $29 << 18 & 1835008 | $88 << 6 & 4032 | $91 & 63; + if ($104 >>> 0 > $6 >>> 0) { + $$9 = 2; + break L9; + } else { + $$sink = $104; + $$sink107 = 4; + } + } while (0); + HEAP32[$26 >> 2] = $$sink; + HEAP32[$2 >> 2] = $24 + $$sink107; + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 4; + } + return $$9 | 0; +} + +function _create_colorindex($0) { + $0 = $0 | 0; + var $$06274 = 0, $$06274$us = 0, $$06377 = 0, $$06377$us = 0, $$06476 = 0, $$06476$us = 0, $$06573 = 0, $$06573$us = 0, $$06772 = 0, $$06772$us = 0, $$1$lcssa = 0, $$1$lcssa$us = 0, $$166$lcssa = 0, $$166$lcssa$us = 0, $$16875$us = 0, $$170 = 0, $$170$us = 0, $12 = 0, $14 = 0, $15 = 0, $17 = 0, $2 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $29 = 0, $30 = 0, $32 = 0, $34 = 0, $44 = 0, $47 = 0, $5 = 0, $52 = 0, $54 = 0, $58 = 0, $59 = 0, $61 = 0, $62 = 0, $63 = 0, $65 = 0, $68 = 0, $73 = 0, $76 = 0, $79 = 0; + $2 = HEAP32[$0 + 484 >> 2] | 0; + $5 = (HEAP32[$0 + 88 >> 2] | 0) == 1; + HEAP32[$2 + 28 >> 2] = $5 & 1; + $12 = $0 + 120 | 0; + $14 = FUNCTION_TABLE_iiiii[HEAP32[(HEAP32[$0 + 4 >> 2] | 0) + 8 >> 2] & 15]($0, 1, $5 ? 766 : 256, HEAP32[$12 >> 2] | 0) | 0; + $15 = $2 + 24 | 0; + HEAP32[$15 >> 2] = $14; + $17 = HEAP32[$2 + 20 >> 2] | 0; + if ((HEAP32[$12 >> 2] | 0) <= 0) return; + if (!$5) { + $$06377 = $17; + $$06476 = 0; + $61 = $14; + while (1) { + $58 = HEAP32[$2 + 32 + ($$06476 << 2) >> 2] | 0; + $59 = ($$06377 | 0) / ($58 | 0) | 0; + $62 = HEAP32[$61 + ($$06476 << 2) >> 2] | 0; + $63 = $58 + -1 | 0; + $65 = $63 << 1; + $$06274 = 0; + $$06573 = ($58 + 254 | 0) / ($65 | 0) | 0; + $$06772 = 0; + while (1) { + if (($$06772 | 0) > ($$06573 | 0)) { + $$170 = $$06274; + while (1) { + $68 = $$170 + 1 | 0; + $73 = ((($68 << 1 | 1) * 255 | 0) + $63 | 0) / ($65 | 0) | 0; + if (($$06772 | 0) > ($73 | 0)) $$170 = $68; else { + $$1$lcssa = $68; + $$166$lcssa = $73; + break; + } + } + } else { + $$1$lcssa = $$06274; + $$166$lcssa = $$06573; + } + $76 = (Math_imul($$1$lcssa, $59) | 0) & 255; + HEAP8[$62 + $$06772 >> 0] = $76; + $$06772 = $$06772 + 1 | 0; + if (($$06772 | 0) == 256) break; else { + $$06274 = $$1$lcssa; + $$06573 = $$166$lcssa; + } + } + $79 = $$06476 + 1 | 0; + if (($79 | 0) >= (HEAP32[$12 >> 2] | 0)) break; + $$06377 = $59; + $$06476 = $79; + $61 = HEAP32[$15 >> 2] | 0; + } + return; + } + $$06377$us = $17; + $$06476$us = 0; + $24 = $14; + while (1) { + $21 = HEAP32[$2 + 32 + ($$06476$us << 2) >> 2] | 0; + $22 = ($$06377$us | 0) / ($21 | 0) | 0; + $23 = $24 + ($$06476$us << 2) | 0; + HEAP32[$23 >> 2] = (HEAP32[$23 >> 2] | 0) + 255; + $29 = HEAP32[(HEAP32[$15 >> 2] | 0) + ($$06476$us << 2) >> 2] | 0; + $30 = $21 + -1 | 0; + $32 = $30 << 1; + $$06274$us = 0; + $$06573$us = ($21 + 254 | 0) / ($32 | 0) | 0; + $$06772$us = 0; + while (1) { + if (($$06772$us | 0) > ($$06573$us | 0)) { + $$170$us = $$06274$us; + while (1) { + $47 = $$170$us + 1 | 0; + $52 = ((($47 << 1 | 1) * 255 | 0) + $30 | 0) / ($32 | 0) | 0; + if (($$06772$us | 0) > ($52 | 0)) $$170$us = $47; else { + $$1$lcssa$us = $47; + $$166$lcssa$us = $52; + break; + } + } + } else { + $$1$lcssa$us = $$06274$us; + $$166$lcssa$us = $$06573$us; + } + $44 = (Math_imul($$1$lcssa$us, $22) | 0) & 255; + HEAP8[$29 + $$06772$us >> 0] = $44; + $$06772$us = $$06772$us + 1 | 0; + if (($$06772$us | 0) == 256) break; else { + $$06274$us = $$1$lcssa$us; + $$06573$us = $$166$lcssa$us; + } + } + $34 = $29 + 255 | 0; + $$16875$us = 1; + do { + HEAP8[$29 + (0 - $$16875$us) >> 0] = HEAP8[$29 >> 0] | 0; + HEAP8[$29 + ($$16875$us + 255) >> 0] = HEAP8[$34 >> 0] | 0; + $$16875$us = $$16875$us + 1 | 0; + } while (($$16875$us | 0) != 256); + $54 = $$06476$us + 1 | 0; + if (($54 | 0) >= (HEAP32[$12 >> 2] | 0)) break; + $$06377$us = $22; + $$06476$us = $54; + $24 = HEAP32[$15 >> 2] | 0; + } + return; +} + +function _jpeg_idct_3x3($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $101 = 0, $103 = 0, $105 = 0, $107 = 0, $109 = 0, $110 = 0, $111 = 0, $130 = 0, $133 = 0, $135 = 0, $136 = 0, $137 = 0, $15 = 0, $157 = 0, $160 = 0, $162 = 0, $163 = 0, $166 = 0, $22 = 0, $23 = 0, $24 = 0, $31 = 0, $33 = 0, $38 = 0, $47 = 0, $5 = 0, $54 = 0, $55 = 0, $56 = 0, $63 = 0, $65 = 0, $69 = 0, $7 = 0, $79 = 0, $86 = 0, $87 = 0, $88 = 0, $9 = 0, $95 = 0, $97 = 0, $99 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $5 = sp; + $7 = HEAP32[$0 + 336 >> 2] | 0; + $9 = HEAP32[$1 + 84 >> 2] | 0; + $15 = Math_imul(HEAP16[$2 >> 1] << 13, HEAP32[$9 >> 2] | 0) | 0 | 1024; + $22 = Math_imul((HEAP16[$2 + 32 >> 1] | 0) * 5793 | 0, HEAP32[$9 + 64 >> 2] | 0) | 0; + $23 = $22 + $15 | 0; + $24 = (Math_imul($22, -2) | 0) + $15 | 0; + $31 = Math_imul((HEAP16[$2 + 16 >> 1] | 0) * 10033 | 0, HEAP32[$9 + 32 >> 2] | 0) | 0; + $33 = $31 + $23 >> 11; + HEAP32[$5 >> 2] = $33; + HEAP32[$5 + 24 >> 2] = $23 - $31 >> 11; + $38 = $5 + 12 | 0; + HEAP32[$38 >> 2] = $24 >> 11; + $47 = Math_imul(HEAP16[$2 + 2 >> 1] << 13, HEAP32[$9 + 4 >> 2] | 0) | 0 | 1024; + $54 = Math_imul((HEAP16[$2 + 34 >> 1] | 0) * 5793 | 0, HEAP32[$9 + 68 >> 2] | 0) | 0; + $55 = $54 + $47 | 0; + $56 = (Math_imul($54, -2) | 0) + $47 | 0; + $63 = Math_imul((HEAP16[$2 + 18 >> 1] | 0) * 10033 | 0, HEAP32[$9 + 36 >> 2] | 0) | 0; + $65 = $63 + $55 >> 11; + HEAP32[$5 + 4 >> 2] = $65; + HEAP32[$5 + 28 >> 2] = $55 - $63 >> 11; + $69 = $56 >> 11; + HEAP32[$5 + 16 >> 2] = $69; + $79 = Math_imul(HEAP16[$2 + 4 >> 1] << 13, HEAP32[$9 + 8 >> 2] | 0) | 0 | 1024; + $86 = Math_imul((HEAP16[$2 + 36 >> 1] | 0) * 5793 | 0, HEAP32[$9 + 72 >> 2] | 0) | 0; + $87 = $86 + $79 | 0; + $88 = (Math_imul($86, -2) | 0) + $79 | 0; + $95 = Math_imul((HEAP16[$2 + 20 >> 1] | 0) * 10033 | 0, HEAP32[$9 + 40 >> 2] | 0) | 0; + $97 = $95 + $87 >> 11; + HEAP32[$5 + 8 >> 2] = $97; + $99 = $87 - $95 >> 11; + HEAP32[$5 + 32 >> 2] = $99; + $101 = $88 >> 11; + HEAP32[$5 + 20 >> 2] = $101; + $103 = $7 + -384 | 0; + $105 = (HEAP32[$3 >> 2] | 0) + $4 | 0; + $107 = ($33 << 13) + 134348800 | 0; + $109 = $107 + ($97 * 5793 | 0) | 0; + $110 = (Math_imul($97, -11586) | 0) + $107 | 0; + $111 = $65 * 10033 | 0; + HEAP8[$105 >> 0] = HEAP8[$103 + (($109 + $111 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$105 + 2 >> 0] = HEAP8[$103 + (($109 - $111 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$105 + 1 >> 0] = HEAP8[$103 + ($110 >>> 18 & 1023) >> 0] | 0; + $130 = (HEAP32[$3 + 4 >> 2] | 0) + $4 | 0; + $133 = (HEAP32[$38 >> 2] << 13) + 134348800 | 0; + $135 = $133 + ($101 * 5793 | 0) | 0; + $136 = (Math_imul($101, -11586) | 0) + $133 | 0; + $137 = $69 * 10033 | 0; + HEAP8[$130 >> 0] = HEAP8[$103 + (($135 + $137 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$130 + 2 >> 0] = HEAP8[$103 + (($135 - $137 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$130 + 1 >> 0] = HEAP8[$103 + ($136 >>> 18 & 1023) >> 0] | 0; + $157 = (HEAP32[$3 + 8 >> 2] | 0) + $4 | 0; + $160 = (HEAP32[$5 + 24 >> 2] << 13) + 134348800 | 0; + $162 = $160 + ($99 * 5793 | 0) | 0; + $163 = (Math_imul($99, -11586) | 0) + $160 | 0; + $166 = (HEAP32[$5 + 28 >> 2] | 0) * 10033 | 0; + HEAP8[$157 >> 0] = HEAP8[$103 + (($162 + $166 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$157 + 2 >> 0] = HEAP8[$103 + (($162 - $166 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$157 + 1 >> 0] = HEAP8[$103 + ($163 >>> 18 & 1023) >> 0] | 0; + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E17parseTemplateArgsEb($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$6 = 0, $12 = 0, $17 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(64); + $2 = sp + 16 | 0; + $3 = sp + 12 | 0; + $4 = sp + 8 | 0; + $5 = sp; + do if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 73) | 0) { + $7 = $0 + 288 | 0; + if ($1) __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EE5clearEv($7); + $8 = $0 + 8 | 0; + $9 = __ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE4sizeEv($8) | 0; + while (1) { + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 69) | 0) { + label = 16; + break; + } + if ($1) { + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EEC2EOS4_($2, $7); + $12 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E16parseTemplateArgEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$3 >> 2] = $12; + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EEaSEOS4_($7, $2); + if (!$12) { + label = 12; + break; + } + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE9push_backERKS3_($8, $3); + HEAP32[$4 >> 2] = $12; + if ((__ZNK12_GLOBAL__N_116itanium_demangle4Node7getKindEv($12) | 0) << 24 >> 24 == 28) { + __ZNK12_GLOBAL__N_116itanium_demangle20TemplateArgumentPack11getElementsEv($5, $12); + $17 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_13ParameterPackEJNS0_9NodeArrayEEEEPNS0_4NodeEDpOT0_($0, $5) | 0; + HEAP32[$4 >> 2] = $17; + } + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EE9push_backERKS3_($7, $4); + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EED2Ev($2); + } else { + $19 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E16parseTemplateArgEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$2 >> 2] = $19; + if (!$19) { + label = 15; + break; + } + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE9push_backERKS3_($8, $2); + } + } + if ((label | 0) == 12) { + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EED2Ev($2); + $$6 = 0; + break; + } else if ((label | 0) == 15) { + $$6 = 0; + break; + } else if ((label | 0) == 16) { + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E20popTrailingNodeArrayEm($2, $0, $9); + $$6 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_12TemplateArgsEJNS0_9NodeArrayEEEEPNS0_4NodeEDpOT0_($0, $2) | 0; + break; + } + } else $$6 = 0; while (0); + STACKTOP = sp; + return $$6 | 0; +} + +function _icpGetJ_Xc_S($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0, $$0108 = 0, $$0109 = 0, $104 = 0.0, $11 = 0, $111 = 0.0, $118 = 0.0, $12 = 0.0, $128 = 0, $134 = 0.0, $135 = 0.0, $15 = 0, $17 = 0, $18 = 0.0, $24 = 0, $26 = 0.0, $28 = 0, $32 = 0, $4 = 0, $40 = 0, $43 = 0, $45 = 0.0, $48 = 0, $5 = 0, $56 = 0.0, $60 = 0.0, $63 = 0.0, $70 = 0.0, $80 = 0.0, $87 = 0.0, $9 = 0, $94 = 0.0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 864 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(864); + $4 = sp + 576 | 0; + $5 = sp; + $9 = $2 + 8 | 0; + $11 = $3 + 8 | 0; + $12 = +HEAPF64[$11 >> 3]; + $15 = $2 + 16 | 0; + $17 = $3 + 16 | 0; + $18 = +HEAPF64[$17 >> 3]; + HEAPF64[$1 >> 3] = +HEAPF64[$2 + 24 >> 3] + (+HEAPF64[$2 >> 3] * +HEAPF64[$3 >> 3] + +HEAPF64[$9 >> 3] * $12 + +HEAPF64[$15 >> 3] * $18); + $24 = $2 + 32 | 0; + $26 = +HEAPF64[$3 >> 3]; + $28 = $2 + 40 | 0; + $32 = $2 + 48 | 0; + HEAPF64[$1 + 8 >> 3] = +HEAPF64[$2 + 56 >> 3] + (+HEAPF64[$24 >> 3] * $26 + $12 * +HEAPF64[$28 >> 3] + $18 * +HEAPF64[$32 >> 3]); + $40 = $2 + 64 | 0; + $43 = $2 + 72 | 0; + $45 = +HEAPF64[$11 >> 3]; + $48 = $2 + 80 | 0; + HEAPF64[$1 + 16 >> 3] = +HEAPF64[$2 + 88 >> 3] + ($26 * +HEAPF64[$40 >> 3] + +HEAPF64[$43 >> 3] * $45 + $18 * +HEAPF64[$48 >> 3]); + $56 = +HEAPF64[$2 >> 3]; + HEAPF64[$4 >> 3] = $26 * $56; + HEAPF64[$4 + 8 >> 3] = $45 * $56; + $60 = +HEAPF64[$17 >> 3]; + HEAPF64[$4 + 16 >> 3] = $56 * $60; + $63 = +HEAPF64[$9 >> 3]; + HEAPF64[$4 + 24 >> 3] = $26 * $63; + HEAPF64[$4 + 32 >> 3] = $45 * $63; + HEAPF64[$4 + 40 >> 3] = $60 * $63; + $70 = +HEAPF64[$15 >> 3]; + HEAPF64[$4 + 48 >> 3] = $26 * $70; + HEAPF64[$4 + 56 >> 3] = $45 * $70; + HEAPF64[$4 + 64 >> 3] = $60 * $70; + HEAPF64[$4 + 72 >> 3] = $56; + HEAPF64[$4 + 80 >> 3] = $63; + HEAPF64[$4 + 88 >> 3] = $70; + $80 = +HEAPF64[$24 >> 3]; + HEAPF64[$4 + 96 >> 3] = $26 * $80; + HEAPF64[$4 + 104 >> 3] = $45 * $80; + HEAPF64[$4 + 112 >> 3] = $60 * $80; + $87 = +HEAPF64[$28 >> 3]; + HEAPF64[$4 + 120 >> 3] = $26 * $87; + HEAPF64[$4 + 128 >> 3] = $45 * $87; + HEAPF64[$4 + 136 >> 3] = $60 * $87; + $94 = +HEAPF64[$32 >> 3]; + HEAPF64[$4 + 144 >> 3] = $26 * $94; + HEAPF64[$4 + 152 >> 3] = $45 * $94; + HEAPF64[$4 + 160 >> 3] = $60 * $94; + HEAPF64[$4 + 168 >> 3] = $80; + HEAPF64[$4 + 176 >> 3] = $87; + HEAPF64[$4 + 184 >> 3] = $94; + $104 = +HEAPF64[$40 >> 3]; + HEAPF64[$4 + 192 >> 3] = $26 * $104; + HEAPF64[$4 + 200 >> 3] = $45 * $104; + HEAPF64[$4 + 208 >> 3] = $60 * $104; + $111 = +HEAPF64[$43 >> 3]; + HEAPF64[$4 + 216 >> 3] = $26 * $111; + HEAPF64[$4 + 224 >> 3] = $45 * $111; + HEAPF64[$4 + 232 >> 3] = $60 * $111; + $118 = +HEAPF64[$48 >> 3]; + HEAPF64[$4 + 240 >> 3] = $26 * $118; + HEAPF64[$4 + 248 >> 3] = $45 * $118; + HEAPF64[$4 + 256 >> 3] = $60 * $118; + HEAPF64[$4 + 264 >> 3] = $104; + HEAPF64[$4 + 272 >> 3] = $111; + HEAPF64[$4 + 280 >> 3] = $118; + _icpGetJ_T_S($5); + $$0108 = 0; + while (1) { + if (($$0108 | 0) == 3) break; + $$0109 = 0; + while (1) { + if (($$0109 | 0) == 6) break; + $128 = $0 + ($$0108 * 48 | 0) + ($$0109 << 3) | 0; + HEAPF64[$128 >> 3] = 0.0; + $$0 = 0; + $135 = 0.0; + while (1) { + if (($$0 | 0) == 12) break; + $134 = $135 + +HEAPF64[$4 + ($$0108 * 96 | 0) + ($$0 << 3) >> 3] * +HEAPF64[$5 + ($$0 * 48 | 0) + ($$0109 << 3) >> 3]; + HEAPF64[$128 >> 3] = $134; + $$0 = $$0 + 1 | 0; + $135 = $134; + } + $$0109 = $$0109 + 1 | 0; + } + $$0108 = $$0108 + 1 | 0; + } + STACKTOP = sp; + return; +} + +function _jpeg_start_decompress($0) { + $0 = $0 | 0; + var $$2 = 0, $$pre38$i = 0, $$pre38$i39 = 0, $1 = 0, $11 = 0, $12 = 0, $14 = 0, $18 = 0, $19 = 0, $2 = 0, $23 = 0, $25 = 0, $26 = 0, $27 = 0, $34 = 0, $42 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $52 = 0, $56 = 0, $59 = 0, $6 = 0, $61 = 0, $67 = 0, $69 = 0, $81 = 0, label = 0; + $1 = $0 + 20 | 0; + $2 = HEAP32[$1 >> 2] | 0; + L1 : do switch ($2 | 0) { + case 202: + { + _jinit_master_decompress($0); + if (!(HEAP32[$0 + 64 >> 2] | 0)) { + HEAP32[$1 >> 2] = 203; + label = 6; + break L1; + } + HEAP32[$1 >> 2] = 207; + $$2 = 1; + return $$2 | 0; + } + case 203: + { + label = 6; + break; + } + case 204: + { + $$pre38$i39 = $0 + 444 | 0; + break; + } + default: + { + $34 = HEAP32[$0 >> 2] | 0; + HEAP32[$34 + 20 >> 2] = 21; + HEAP32[$34 + 24 >> 2] = $2; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + label = 17; + } + } while (0); + if ((label | 0) == 6) { + $6 = $0 + 460 | 0; + L11 : do if (HEAP32[(HEAP32[$6 >> 2] | 0) + 16 >> 2] | 0) { + $11 = $0 + 8 | 0; + $12 = $0 + 332 | 0; + $14 = HEAP32[$11 >> 2] | 0; + L13 : while (1) { + if ($14 | 0) FUNCTION_TABLE_vi[HEAP32[$14 >> 2] & 255]($0); + $18 = FUNCTION_TABLE_ii[HEAP32[HEAP32[$6 >> 2] >> 2] & 127]($0) | 0; + switch ($18 | 0) { + case 2: + { + break L11; + break; + } + case 0: + { + $$2 = $18; + break L13; + break; + } + default: + {} + } + $19 = HEAP32[$11 >> 2] | 0; + if (($18 | 2 | 0) == 3 & ($19 | 0) != 0 ? ($23 = $19 + 4 | 0, $25 = (HEAP32[$23 >> 2] | 0) + 1 | 0, HEAP32[$23 >> 2] = $25, $26 = $19 + 8 | 0, $27 = HEAP32[$26 >> 2] | 0, ($25 | 0) >= ($27 | 0)) : 0) HEAP32[$26 >> 2] = (HEAP32[$12 >> 2] | 0) + $27; + $14 = $19; + } + return $$2 | 0; + } while (0); + HEAP32[$0 + 152 >> 2] = HEAP32[$0 + 144 >> 2]; + label = 17; + } + if ((label | 0) == 17) { + $$pre38$i = $0 + 444 | 0; + if ((HEAP32[$1 >> 2] | 0) == 204) $$pre38$i39 = $$pre38$i; else { + FUNCTION_TABLE_vi[HEAP32[HEAP32[$$pre38$i >> 2] >> 2] & 255]($0); + HEAP32[$0 + 140 >> 2] = 0; + HEAP32[$1 >> 2] = 204; + $$pre38$i39 = $$pre38$i; + } + } + $42 = HEAP32[$$pre38$i39 >> 2] | 0; + L29 : do if (HEAP32[$42 + 8 >> 2] | 0) { + $46 = $0 + 140 | 0; + $47 = $0 + 116 | 0; + $48 = $0 + 8 | 0; + $49 = $0 + 448 | 0; + $52 = HEAP32[$46 >> 2] | 0; + $81 = $42; + L31 : while (1) { + $50 = HEAP32[$47 >> 2] | 0; + if ($52 >>> 0 < $50 >>> 0) { + $59 = $52; + $61 = $50; + do { + $56 = HEAP32[$48 >> 2] | 0; + if (!$56) $67 = $59; else { + HEAP32[$56 + 4 >> 2] = $59; + HEAP32[$56 + 8 >> 2] = $61; + FUNCTION_TABLE_vi[HEAP32[$56 >> 2] & 255]($0); + $67 = HEAP32[$46 >> 2] | 0; + } + FUNCTION_TABLE_viiii[HEAP32[(HEAP32[$49 >> 2] | 0) + 4 >> 2] & 31]($0, 0, $46, 0); + $59 = HEAP32[$46 >> 2] | 0; + if (($59 | 0) == ($67 | 0)) { + $$2 = 0; + break L31; + } + $61 = HEAP32[$47 >> 2] | 0; + } while ($59 >>> 0 < $61 >>> 0); + $69 = HEAP32[$$pre38$i39 >> 2] | 0; + } else $69 = $81; + FUNCTION_TABLE_vi[HEAP32[$69 + 4 >> 2] & 255]($0); + FUNCTION_TABLE_vi[HEAP32[HEAP32[$$pre38$i39 >> 2] >> 2] & 255]($0); + HEAP32[$46 >> 2] = 0; + $81 = HEAP32[$$pre38$i39 >> 2] | 0; + if (!(HEAP32[$81 + 8 >> 2] | 0)) break L29; else $52 = 0; + } + return $$2 | 0; + } while (0); + HEAP32[$1 >> 2] = (HEAP32[$0 + 68 >> 2] | 0) == 0 ? 205 : 206; + $$2 = 1; + return $$2 | 0; +} + +function __ZNKSt3__28messagesIwE6do_getEliiRKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEE($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$i = 0, $$0$i$i = 0, $$0$i$i18 = 0, $$0$i21 = 0, $$016$i = 0, $$017$i = 0, $$019$i = 0, $$020$i = 0, $10 = 0, $11 = 0, $12 = 0, $18 = 0, $19 = 0, $24 = 0, $26 = 0, $27 = 0, $34 = 0, $51 = 0, $52 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $7 = 0, $71 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 176 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(176); + $6 = sp + 168 | 0; + $7 = sp; + $8 = sp + 164 | 0; + $9 = sp + 160 | 0; + $10 = sp + 128 | 0; + $11 = sp + 152 | 0; + $12 = sp + 144 | 0; + HEAP32[$10 >> 2] = 0; + HEAP32[$10 + 4 >> 2] = 0; + HEAP32[$10 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$10 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + HEAP32[$11 + 4 >> 2] = 0; + HEAP32[$11 >> 2] = 23144; + $18 = HEAP8[$5 + 8 + 3 >> 0] | 0; + $19 = $18 << 24 >> 24 < 0; + $24 = $19 ? HEAP32[$5 >> 2] | 0 : $5; + $26 = $24 + (($19 ? HEAP32[$5 + 4 >> 2] | 0 : $18 & 255) << 2) | 0; + $27 = $7 + 32 | 0; + $$016$i = $24; + $$017$i = 0; + while (1) { + if (!(($$017$i | 0) != 2 & $$016$i >>> 0 < $26 >>> 0)) break; + HEAP32[$9 >> 2] = $$016$i; + $34 = FUNCTION_TABLE_iiiiiiiii[HEAP32[(HEAP32[$11 >> 2] | 0) + 12 >> 2] & 15]($11, $6, $$016$i, $26, $9, $7, $27, $8) | 0; + if (($34 | 0) == 2 ? 1 : (HEAP32[$9 >> 2] | 0) == ($$016$i | 0)) { + label = 8; + break; + } + $$0$i21 = $7; + while (1) { + if ($$0$i21 >>> 0 >= (HEAP32[$8 >> 2] | 0) >>> 0) break; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9push_backEc($10, HEAP8[$$0$i21 >> 0] | 0); + $$0$i21 = $$0$i21 + 1 | 0; + } + $$016$i = HEAP32[$9 >> 2] | 0; + $$017$i = $34; + } + if ((label | 0) == 8) __ZNSt3__221__throw_runtime_errorEPKc(0); + __ZNSt3__26locale5facetD2Ev($11); + $51 = (HEAP8[$10 + 11 >> 0] | 0) < 0 ? HEAP32[$10 >> 2] | 0 : $10; + $52 = _catgets(($2 | 0) == -1 ? -1 : $2 << 1, $3, $4, $51) | 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + $$0$i$i18 = 0; + while (1) { + if (($$0$i$i18 | 0) == 3) break; + HEAP32[$0 + ($$0$i$i18 << 2) >> 2] = 0; + $$0$i$i18 = $$0$i$i18 + 1 | 0; + } + HEAP32[$12 + 4 >> 2] = 0; + HEAP32[$12 >> 2] = 23192; + $57 = $51 + (_strlen($52) | 0) | 0; + $58 = $57; + $59 = $7 + 128 | 0; + $$019$i = $51; + $$020$i = 0; + while (1) { + if (!(($$020$i | 0) != 2 & $$019$i >>> 0 < $57 >>> 0)) { + label = 23; + break; + } + HEAP32[$9 >> 2] = $$019$i; + $71 = FUNCTION_TABLE_iiiiiiiii[HEAP32[(HEAP32[$12 >> 2] | 0) + 16 >> 2] & 15]($12, $6, $$019$i, ($58 - $$019$i | 0) > 32 ? $$019$i + 32 | 0 : $57, $9, $7, $59, $8) | 0; + if (($71 | 0) == 2 ? 1 : (HEAP32[$9 >> 2] | 0) == ($$019$i | 0)) { + label = 19; + break; + } + $$0$i = $7; + while (1) { + if ($$0$i >>> 0 >= (HEAP32[$8 >> 2] | 0) >>> 0) break; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9push_backEw($0, HEAP32[$$0$i >> 2] | 0); + $$0$i = $$0$i + 4 | 0; + } + $$019$i = HEAP32[$9 >> 2] | 0; + $$020$i = $71; + } + if ((label | 0) == 19) __ZNSt3__221__throw_runtime_errorEPKc(0); else if ((label | 0) == 23) { + __ZNSt3__26locale5facetD2Ev($12); + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($10); + STACKTOP = sp; + return; + } +} + +function _jpeg_fill_bit_buffer($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$052 = 0, $$054102 = 0, $$057101 = 0, $$06599 = 0, $$06997 = 0, $$155 = 0, $$158 = 0, $$2 = 0, $$256 = 0, $$259 = 0, $$267 = 0, $$271 = 0, $$3 = 0, $$360 = 0, $$368 = 0, $$372 = 0, $$4 = 0, $$461 = 0, $$6 = 0, $$663 = 0, $$7 = 0, $$764 = 0, $13 = 0, $20 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $35 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $44 = 0, $45 = 0, $48 = 0, $5 = 0, $53 = 0, $6 = 0, $8 = 0, $9 = 0, label = 0; + $4 = HEAP32[$0 >> 2] | 0; + $5 = $0 + 4 | 0; + $6 = HEAP32[$5 >> 2] | 0; + $8 = HEAP32[$0 + 16 >> 2] | 0; + $9 = $8 + 440 | 0; + L1 : do if (!(HEAP32[$9 >> 2] | 0)) if (($2 | 0) < 25) { + $13 = $8 + 24 | 0; + $$054102 = $6; + $$057101 = $4; + $$06599 = $1; + $$06997 = $2; + L4 : while (1) { + if (!$$054102) { + if (!(FUNCTION_TABLE_ii[HEAP32[(HEAP32[$13 >> 2] | 0) + 12 >> 2] & 127]($8) | 0)) { + $$2 = 0; + label = 20; + break; + } + $20 = HEAP32[$13 >> 2] | 0; + $$155 = HEAP32[$20 + 4 >> 2] | 0; + $$158 = HEAP32[$20 >> 2] | 0; + } else { + $$155 = $$054102; + $$158 = $$057101; + } + $24 = $$155 + -1 | 0; + $25 = $$158 + 1 | 0; + $26 = HEAP8[$$158 >> 0] | 0; + $27 = $26 & 255; + L10 : do if ($26 << 24 >> 24 == -1) { + $$256 = $24; + $$259 = $25; + while (1) { + if (!$$256) { + if (!(FUNCTION_TABLE_ii[HEAP32[(HEAP32[$13 >> 2] | 0) + 12 >> 2] & 127]($8) | 0)) { + $$2 = 0; + label = 20; + break L4; + } + $35 = HEAP32[$13 >> 2] | 0; + $$3 = HEAP32[$35 + 4 >> 2] | 0; + $$360 = HEAP32[$35 >> 2] | 0; + } else { + $$3 = $$256; + $$360 = $$259; + } + $39 = $$3 + -1 | 0; + $40 = $$360 + 1 | 0; + $41 = HEAP8[$$360 >> 0] | 0; + switch ($41 << 24 >> 24) { + case 0: + { + $$052 = 255; + $$4 = $39; + $$461 = $40; + break L10; + break; + } + case -1: + { + $$256 = $39; + $$259 = $40; + break; + } + default: + { + label = 13; + break L4; + } + } + } + } else { + $$052 = $27; + $$4 = $24; + $$461 = $25; + } while (0); + $44 = $$052 | $$06599 << 8; + $45 = $$06997 + 8 | 0; + if (($$06997 | 0) < 17) { + $$054102 = $$4; + $$057101 = $$461; + $$06599 = $44; + $$06997 = $45; + } else { + $$368 = $44; + $$372 = $45; + $$7 = $$4; + $$764 = $$461; + break L1; + } + } + if ((label | 0) == 13) { + HEAP32[$9 >> 2] = $41 & 255; + $$267 = $$06599; + $$271 = $$06997; + $$6 = $39; + $$663 = $40; + label = 15; + break; + } else if ((label | 0) == 20) return $$2 | 0; + } else { + $$368 = $1; + $$372 = $2; + $$7 = $6; + $$764 = $4; + } else { + $$267 = $1; + $$271 = $2; + $$6 = $6; + $$663 = $4; + label = 15; + } while (0); + if ((label | 0) == 15) if (($$271 | 0) < ($3 | 0)) { + $48 = $8 + 468 | 0; + if (!(HEAP32[(HEAP32[$48 >> 2] | 0) + 40 >> 2] | 0)) { + $53 = HEAP32[$8 >> 2] | 0; + HEAP32[$53 + 20 >> 2] = 120; + FUNCTION_TABLE_vii[HEAP32[$53 + 4 >> 2] & 255]($8, -1); + HEAP32[(HEAP32[$48 >> 2] | 0) + 40 >> 2] = 1; + } + $$368 = $$267 << 25 - $$271; + $$372 = 25; + $$7 = $$6; + $$764 = $$663; + } else { + $$368 = $$267; + $$372 = $$271; + $$7 = $$6; + $$764 = $$663; + } + HEAP32[$0 >> 2] = $$764; + HEAP32[$5 >> 2] = $$7; + HEAP32[$0 + 8 >> 2] = $$368; + HEAP32[$0 + 12 >> 2] = $$372; + $$2 = 1; + return $$2 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E14parseLocalNameEPNS5_9NameStateE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$1 = 0, $$2 = 0, $$3 = 0, $$4 = 0, $13 = 0, $14 = 0, $18 = 0, $2 = 0, $21 = 0, $26 = 0, $3 = 0, $5 = 0, $6 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $2 = sp + 8 | 0; + $3 = sp; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 90) | 0) { + $5 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + $6 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E13parseEncodingEv($5) | 0; + HEAP32[$2 >> 2] = $6; + do if (($6 | 0) != 0 ? __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 69) | 0 : 0) { + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 115) | 0) { + $13 = __ZN12_GLOBAL__N_116itanium_demangle19parse_discriminatorEPKcS2_(HEAP32[$0 >> 2] | 0, HEAP32[$0 + 4 >> 2] | 0) | 0; + HEAP32[$0 >> 2] = $13; + $14 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA15_KcEEEPNS0_4NodeEDpOT0_($0, 55376) | 0; + HEAP32[$3 >> 2] = $14; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_9LocalNameEJRPNS0_4NodeESA_EEES9_DpOT0_($0, $2, $3) | 0; + break; + } + if (!(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 100) | 0)) { + $21 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseNameEPNS5_9NameStateE($5, $1) | 0; + HEAP32[$3 >> 2] = $21; + if (!$21) $$2 = 0; else { + $26 = __ZN12_GLOBAL__N_116itanium_demangle19parse_discriminatorEPKcS2_(HEAP32[$0 >> 2] | 0, HEAP32[$0 + 4 >> 2] | 0) | 0; + HEAP32[$0 >> 2] = $26; + $$2 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_9LocalNameEJRPNS0_4NodeESA_EEES9_DpOT0_($0, $2, $3) | 0; + } + $$3 = $$2; + break; + } + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E11parseNumberEb($3, $0, 1); + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 95) | 0) { + $18 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseNameEPNS5_9NameStateE($5, $1) | 0; + HEAP32[$3 >> 2] = $18; + if (!$18) $$1 = 0; else $$1 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_9LocalNameEJRPNS0_4NodeESA_EEES9_DpOT0_($0, $2, $3) | 0; + $$3 = $$1; + } else $$3 = 0; + } else $$3 = 0; while (0); + $$4 = $$3; + } else $$4 = 0; + STACKTOP = sp; + return $$4 | 0; +} +function __ZN6vision14VisualDatabaseINS_14FREAKExtractorENS_18BinaryFeatureStoreENS_20BinaryFeatureMatcherILi96EEEE5queryEPKNS_25GaussianScaleSpacePyramidE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy = 0, $10 = 0, $11 = 0, $15 = 0, $16 = 0, $17 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $23 = 0, $24 = 0, $27 = 0, $28 = 0, $3 = 0, $34 = 0, $39 = 0, $4 = 0, $42 = 0, $44 = 0, $5 = 0, $6 = 0, $vararg_buffer = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(64); + $$byval_copy = sp + 16 | 0; + $vararg_buffer = sp; + $2 = sp + 56 | 0; + $3 = sp + 48 | 0; + $4 = $0 + 160 | 0; + $5 = __ZNK6vision25DoGScaleInvariantDetector5widthEv($4) | 0; + $6 = __ZNK6vision25GaussianScaleSpacePyramid6imagesEv($1) | 0; + if (($5 | 0) == (__ZNK6vision5Image5widthEv(HEAP32[$6 >> 2] | 0) | 0) ? ($10 = __ZNK6vision25DoGScaleInvariantDetector6heightEv($4) | 0, $11 = __ZNK6vision25GaussianScaleSpacePyramid6imagesEv($1) | 0, ($10 | 0) == (__ZNK6vision5Image6heightEv(HEAP32[$11 >> 2] | 0) | 0)) : 0) {} else __ZN6vision25DoGScaleInvariantDetector5allocEPKNS_25GaussianScaleSpacePyramidE($4, $1); + $15 = $0 + 64 | 0; + $16 = __Znwm(148) | 0; + __ZN6vision8KeyframeILi96EEC2Ev($16); + HEAP32[$3 >> 2] = 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$3 >> 2]; + __ZNSt3__210shared_ptrIN6vision8KeyframeILi96EEEEC2IS3_EEPT_NS_9enable_ifIXsr14is_convertibleIS7_PS3_EE5valueENS4_5__natEE4typeE($2, $16, $$byval_copy); + $17 = HEAP32[$2 >> 2] | 0; + HEAP32[$2 >> 2] = HEAP32[$15 >> 2]; + HEAP32[$15 >> 2] = $17; + $19 = $2 + 4 | 0; + $20 = $0 + 68 | 0; + $21 = HEAP32[$19 >> 2] | 0; + HEAP32[$19 >> 2] = HEAP32[$20 >> 2]; + HEAP32[$20 >> 2] = $21; + __ZNSt3__210shared_ptrIN6vision8KeyframeILi96EEEED2Ev($2); + $23 = HEAP32[$15 >> 2] | 0; + $24 = __ZNK6vision25GaussianScaleSpacePyramid6imagesEv($1) | 0; + __ZN6vision8KeyframeILi96EE8setWidthEi($23, __ZNK6vision5Image5widthEv(HEAP32[$24 >> 2] | 0) | 0); + $27 = HEAP32[$15 >> 2] | 0; + $28 = __ZNK6vision25GaussianScaleSpacePyramid6imagesEv($1) | 0; + __ZN6vision8KeyframeILi96EE9setHeightEi($27, __ZNK6vision5Image6heightEv(HEAP32[$28 >> 2] | 0) | 0); + __ZN6vision11ScopedTimerC2EPKc($$byval_copy, 33189); + if (__ZN6vision11ScopedTimercvbEv($$byval_copy) | 0) __ZN6vision12FindFeaturesINS_14FREAKExtractorELi96EEEvPNS_8KeyframeIXT0_EEEPKNS_25GaussianScaleSpacePyramidEPNS_25DoGScaleInvariantDetectorEPT_(HEAP32[$15 >> 2] | 0, $1, $4, $0 + 316 | 0); + __ZN6vision11ScopedTimerD2Ev($$byval_copy); + $34 = __ZN6vision6Logger11getInstanceEv() | 0; + __ZN6vision15get_pretty_timeEv($$byval_copy); + $39 = (HEAP8[$$byval_copy + 11 >> 0] | 0) < 0 ? HEAP32[$$byval_copy >> 2] | 0 : $$byval_copy; + $42 = __ZNK6vision18BinaryFeatureStore4sizeEv(__ZN6vision8KeyframeILi96EE5storeEv(HEAP32[$15 >> 2] | 0) | 0) | 0; + HEAP32[$vararg_buffer >> 2] = 39201; + HEAP32[$vararg_buffer + 4 >> 2] = $39; + HEAP32[$vararg_buffer + 8 >> 2] = 34718; + HEAP32[$vararg_buffer + 12 >> 2] = $42; + __ZN6vision6Logger5writeENS_19LoggerPriorityLevelEPKcz($34, 8, 34674, $vararg_buffer); + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($$byval_copy); + $44 = __ZN6vision14VisualDatabaseINS_14FREAKExtractorENS_18BinaryFeatureStoreENS_20BinaryFeatureMatcherILi96EEEE5queryEPKNS_8KeyframeILi96EEE($0, HEAP32[$15 >> 2] | 0) | 0; + STACKTOP = sp; + return $44 | 0; +} + +function __ZNSt3__210__stdinbufIcE9__getcharEb($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$048 = 0, $$052 = 0, $$10 = 0, $$11 = 0, $$351 = 0, $$9 = 0, $$sroa$speculated = 0, $10 = 0, $11 = 0, $13 = 0, $15 = 0, $18 = 0, $2 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $34 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $45 = 0, $5 = 0, $51 = 0, $6 = 0, $61 = 0, $67 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp + 16 | 0; + $3 = sp + 8 | 0; + $4 = sp + 4 | 0; + $5 = sp; + $6 = $0 + 52 | 0; + if (HEAP8[$6 >> 0] | 0) { + $9 = $0 + 48 | 0; + $10 = HEAP32[$9 >> 2] | 0; + if ($1) { + $11 = __ZNSt3__211char_traitsIcE3eofEv() | 0; + HEAP32[$9 >> 2] = $11; + HEAP8[$6 >> 0] = 0; + $$11 = $10; + } else $$11 = $10; + } else { + $13 = HEAP32[$0 + 44 >> 2] | 0; + $$sroa$speculated = ($13 | 0) > 1 ? $13 : 1; + $15 = $0 + 32 | 0; + $$052 = 0; + while (1) { + if ($$052 >>> 0 >= $$sroa$speculated >>> 0) { + label = 9; + break; + } + $18 = _getc(HEAP32[$15 >> 2] | 0) | 0; + if (($18 | 0) == -1) { + label = 8; + break; + } + HEAP8[$2 + $$052 >> 0] = $18; + $$052 = $$052 + 1 | 0; + } + if ((label | 0) == 8) $$10 = __ZNSt3__211char_traitsIcE3eofEv() | 0; else if ((label | 0) == 9) { + do if (!(HEAP8[$0 + 53 >> 0] | 0)) { + $28 = $0 + 40 | 0; + $29 = $0 + 36 | 0; + $30 = $3 + 1 | 0; + $$048 = $$sroa$speculated; + L11 : while (1) { + $31 = HEAP32[$28 >> 2] | 0; + $32 = $31; + $34 = HEAP32[$32 >> 2] | 0; + $37 = HEAP32[$32 + 4 >> 2] | 0; + $38 = HEAP32[$29 >> 2] | 0; + $39 = $2 + $$048 | 0; + switch (FUNCTION_TABLE_iiiiiiiii[HEAP32[(HEAP32[$38 >> 2] | 0) + 16 >> 2] & 15]($38, $31, $2, $39, $4, $3, $30, $5) | 0) { + case 3: + { + label = 15; + break L11; + break; + } + case 2: + { + label = 17; + break L11; + break; + } + case 1: + break; + default: + break L11; + } + $45 = HEAP32[$28 >> 2] | 0; + HEAP32[$45 >> 2] = $34; + HEAP32[$45 + 4 >> 2] = $37; + if (($$048 | 0) == 8) { + label = 17; + break; + } + $51 = _getc(HEAP32[$15 >> 2] | 0) | 0; + if (($51 | 0) == -1) { + label = 17; + break; + } + HEAP8[$39 >> 0] = $51; + $$048 = $$048 + 1 | 0; + } + if ((label | 0) == 15) HEAP8[$3 >> 0] = HEAP8[$2 >> 0] | 0; else if ((label | 0) == 17) { + $$9 = __ZNSt3__211char_traitsIcE3eofEv() | 0; + break; + } + $$351 = $$048; + label = 19; + } else { + HEAP8[$3 >> 0] = HEAP8[$2 >> 0] | 0; + $$351 = $$sroa$speculated; + label = 19; + } while (0); + L21 : do if ((label | 0) == 19) { + L23 : do if ($1) { + $67 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$3 >> 0] | 0) | 0; + HEAP32[$0 + 48 >> 2] = $67; + } else { + $$0 = $$351; + do { + if (($$0 | 0) <= 0) break L23; + $$0 = $$0 + -1 | 0; + $61 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$2 + $$0 >> 0] | 0) | 0; + } while ((_ungetc($61, HEAP32[$15 >> 2] | 0) | 0) != -1); + $$9 = __ZNSt3__211char_traitsIcE3eofEv() | 0; + break L21; + } while (0); + $$9 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$3 >> 0] | 0) | 0; + } while (0); + $$10 = $$9; + } + $$11 = $$10; + } + STACKTOP = sp; + return $$11 | 0; +} + +function __ZNSt3__210__stdinbufIwE9__getcharEb($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$048 = 0, $$052 = 0, $$10 = 0, $$11 = 0, $$351 = 0, $$9 = 0, $$sroa$speculated = 0, $10 = 0, $11 = 0, $13 = 0, $15 = 0, $18 = 0, $2 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $35 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $46 = 0, $5 = 0, $52 = 0, $6 = 0, $64 = 0, $70 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp + 16 | 0; + $3 = sp + 8 | 0; + $4 = sp + 4 | 0; + $5 = sp; + $6 = $0 + 52 | 0; + if (HEAP8[$6 >> 0] | 0) { + $9 = $0 + 48 | 0; + $10 = HEAP32[$9 >> 2] | 0; + if ($1) { + $11 = __ZNSt3__211char_traitsIwE3eofEv() | 0; + HEAP32[$9 >> 2] = $11; + HEAP8[$6 >> 0] = 0; + $$11 = $10; + } else $$11 = $10; + } else { + $13 = HEAP32[$0 + 44 >> 2] | 0; + $$sroa$speculated = ($13 | 0) > 1 ? $13 : 1; + $15 = $0 + 32 | 0; + $$052 = 0; + while (1) { + if ($$052 >>> 0 >= $$sroa$speculated >>> 0) { + label = 9; + break; + } + $18 = _getc(HEAP32[$15 >> 2] | 0) | 0; + if (($18 | 0) == -1) { + label = 8; + break; + } + HEAP8[$2 + $$052 >> 0] = $18; + $$052 = $$052 + 1 | 0; + } + if ((label | 0) == 8) $$10 = __ZNSt3__211char_traitsIwE3eofEv() | 0; else if ((label | 0) == 9) { + do if (!(HEAP8[$0 + 53 >> 0] | 0)) { + $29 = $0 + 40 | 0; + $30 = $0 + 36 | 0; + $31 = $3 + 4 | 0; + $$048 = $$sroa$speculated; + L11 : while (1) { + $32 = HEAP32[$29 >> 2] | 0; + $33 = $32; + $35 = HEAP32[$33 >> 2] | 0; + $38 = HEAP32[$33 + 4 >> 2] | 0; + $39 = HEAP32[$30 >> 2] | 0; + $40 = $2 + $$048 | 0; + switch (FUNCTION_TABLE_iiiiiiiii[HEAP32[(HEAP32[$39 >> 2] | 0) + 16 >> 2] & 15]($39, $32, $2, $40, $4, $3, $31, $5) | 0) { + case 3: + { + label = 15; + break L11; + break; + } + case 2: + { + label = 17; + break L11; + break; + } + case 1: + break; + default: + break L11; + } + $46 = HEAP32[$29 >> 2] | 0; + HEAP32[$46 >> 2] = $35; + HEAP32[$46 + 4 >> 2] = $38; + if (($$048 | 0) == 8) { + label = 17; + break; + } + $52 = _getc(HEAP32[$15 >> 2] | 0) | 0; + if (($52 | 0) == -1) { + label = 17; + break; + } + HEAP8[$40 >> 0] = $52; + $$048 = $$048 + 1 | 0; + } + if ((label | 0) == 15) HEAP32[$3 >> 2] = HEAP8[$2 >> 0]; else if ((label | 0) == 17) { + $$9 = __ZNSt3__211char_traitsIwE3eofEv() | 0; + break; + } + $$351 = $$048; + label = 19; + } else { + HEAP32[$3 >> 2] = HEAP8[$2 >> 0]; + $$351 = $$sroa$speculated; + label = 19; + } while (0); + L21 : do if ((label | 0) == 19) { + L23 : do if ($1) { + $70 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$3 >> 2] | 0) | 0; + HEAP32[$0 + 48 >> 2] = $70; + } else { + $$0 = $$351; + do { + if (($$0 | 0) <= 0) break L23; + $$0 = $$0 + -1 | 0; + $64 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP8[$2 + $$0 >> 0] | 0) | 0; + } while ((_ungetc($64, HEAP32[$15 >> 2] | 0) | 0) != -1); + $$9 = __ZNSt3__211char_traitsIwE3eofEv() | 0; + break L21; + } while (0); + $$9 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$3 >> 2] | 0) | 0; + } while (0); + $$10 = $$9; + } + $$11 = $$10; + } + STACKTOP = sp; + return $$11 | 0; +} + +function _jpeg_idct_6x6($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0149162 = 0, $$0151161 = 0, $$0152160 = 0, $$0163 = 0, $$1150158 = 0, $$1159 = 0, $100 = 0, $102 = 0, $104 = 0, $106 = 0, $108 = 0, $111 = 0, $114 = 0, $117 = 0, $15 = 0, $22 = 0, $23 = 0, $25 = 0, $32 = 0, $33 = 0, $34 = 0, $40 = 0, $46 = 0, $5 = 0, $52 = 0, $54 = 0, $57 = 0, $60 = 0, $63 = 0, $7 = 0, $83 = 0, $86 = 0, $89 = 0, $92 = 0, $93 = 0, $95 = 0, $98 = 0, $99 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(144); + $5 = sp; + $7 = HEAP32[$0 + 336 >> 2] | 0; + $$0149162 = $5; + $$0151161 = HEAP32[$1 + 84 >> 2] | 0; + $$0152160 = $2; + $$0163 = 0; + while (1) { + $15 = Math_imul(HEAP16[$$0152160 >> 1] << 13, HEAP32[$$0151161 >> 2] | 0) | 0 | 1024; + $22 = Math_imul((HEAP16[$$0152160 + 64 >> 1] | 0) * 5793 | 0, HEAP32[$$0151161 + 128 >> 2] | 0) | 0; + $23 = $22 + $15 | 0; + $25 = (Math_imul($22, -2) | 0) + $15 >> 11; + $32 = Math_imul((HEAP16[$$0152160 + 32 >> 1] | 0) * 10033 | 0, HEAP32[$$0151161 + 64 >> 2] | 0) | 0; + $33 = $32 + $23 | 0; + $34 = $23 - $32 | 0; + $40 = Math_imul(HEAP32[$$0151161 + 32 >> 2] | 0, HEAP16[$$0152160 + 16 >> 1] | 0) | 0; + $46 = Math_imul(HEAP32[$$0151161 + 96 >> 2] | 0, HEAP16[$$0152160 + 48 >> 1] | 0) | 0; + $52 = Math_imul(HEAP32[$$0151161 + 160 >> 2] | 0, HEAP16[$$0152160 + 80 >> 1] | 0) | 0; + $54 = ($52 + $40 | 0) * 2998 | 0; + $57 = $54 + ($46 + $40 << 13) | 0; + $60 = $54 + ($52 - $46 << 13) | 0; + $63 = $40 - $46 - $52 << 2; + HEAP32[$$0149162 >> 2] = $57 + $33 >> 11; + HEAP32[$$0149162 + 120 >> 2] = $33 - $57 >> 11; + HEAP32[$$0149162 + 24 >> 2] = $63 + $25; + HEAP32[$$0149162 + 96 >> 2] = $25 - $63; + HEAP32[$$0149162 + 48 >> 2] = $60 + $34 >> 11; + HEAP32[$$0149162 + 72 >> 2] = $34 - $60 >> 11; + $$0163 = $$0163 + 1 | 0; + if (($$0163 | 0) == 6) break; else { + $$0149162 = $$0149162 + 4 | 0; + $$0151161 = $$0151161 + 4 | 0; + $$0152160 = $$0152160 + 2 | 0; + } + } + $83 = $7 + -384 | 0; + $$1150158 = $5; + $$1159 = 0; + while (1) { + $86 = (HEAP32[$3 + ($$1159 << 2) >> 2] | 0) + $4 | 0; + $89 = (HEAP32[$$1150158 >> 2] << 13) + 134348800 | 0; + $92 = (HEAP32[$$1150158 + 16 >> 2] | 0) * 5793 | 0; + $93 = $89 + $92 | 0; + $95 = $89 - $92 - $92 | 0; + $98 = (HEAP32[$$1150158 + 8 >> 2] | 0) * 10033 | 0; + $99 = $93 + $98 | 0; + $100 = $93 - $98 | 0; + $102 = HEAP32[$$1150158 + 4 >> 2] | 0; + $104 = HEAP32[$$1150158 + 12 >> 2] | 0; + $106 = HEAP32[$$1150158 + 20 >> 2] | 0; + $108 = ($106 + $102 | 0) * 2998 | 0; + $111 = $108 + ($104 + $102 << 13) | 0; + $114 = $108 + ($106 - $104 << 13) | 0; + $117 = $102 - $104 - $106 << 13; + HEAP8[$86 >> 0] = HEAP8[$83 + (($111 + $99 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$86 + 5 >> 0] = HEAP8[$83 + (($99 - $111 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$86 + 1 >> 0] = HEAP8[$83 + (($117 + $95 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$86 + 4 >> 0] = HEAP8[$83 + (($95 - $117 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$86 + 2 >> 0] = HEAP8[$83 + (($114 + $100 | 0) >>> 18 & 1023) >> 0] | 0; + HEAP8[$86 + 3 >> 0] = HEAP8[$83 + (($100 - $114 | 0) >>> 18 & 1023) >> 0] | 0; + $$1159 = $$1159 + 1 | 0; + if (($$1159 | 0) == 6) break; else $$1150158 = $$1150158 + 24 | 0; + } + STACKTOP = sp; + return; +} + +function __ZN6vision16FindHoughMatchesERNSt3__26vectorINS_7match_tENS0_9allocatorIS2_EEEERKNS_21HoughSimilarityVotingERKS5_if($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = +$4; + var $$0 = 0, $$031 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $15 = 0, $16 = 0, $21 = 0, $22 = 0, $34 = 0, $39 = 0, $43 = 0, $45 = 0, $5 = 0, $6 = 0, $7 = 0, $78 = 0, $8 = 0, $83 = 0, $84 = 0, $87 = 0, $9 = 0, $92 = 0, $93 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $5 = sp + 32 | 0; + $6 = sp + 28 | 0; + $7 = sp + 24 | 0; + $8 = sp + 20 | 0; + $9 = sp + 16 | 0; + $10 = sp + 12 | 0; + $11 = sp + 8 | 0; + $12 = sp + 4 | 0; + $13 = sp; + __ZNK6vision21HoughSimilarityVoting16getBinsFromIndexERiS1_S1_S1_i($1, $10, $11, $12, $13, $3); + $15 = $0 + 4 | 0; + HEAP32[$15 >> 2] = HEAP32[$0 >> 2]; + $16 = __ZNK6vision21HoughSimilarityVoting24getSubBinLocationIndicesEv($1) | 0; + $21 = (HEAP32[$16 + 4 >> 2] | 0) - (HEAP32[$16 >> 2] | 0) >> 2; + $22 = __ZNK6vision21HoughSimilarityVoting18getSubBinLocationsEv($1) | 0; + if ($21 >>> 0 > (HEAP32[$2 + 4 >> 2] | 0) - (HEAP32[$2 >> 2] | 0) >> 3 >>> 0) { + $34 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 35942) | 0, 34139) | 0, 39072) | 0, 342) | 0, 39079) | 0, 35988) | 0; + __ZNKSt3__28ios_base6getlocEv($5, $34 + (HEAP32[(HEAP32[$34 >> 2] | 0) + -12 >> 2] | 0) | 0); + $39 = __ZNKSt3__26locale9use_facetERNS0_2idE($5, 66512) | 0; + $43 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$39 >> 2] | 0) + 28 >> 2] & 127]($39, 10) | 0; + __ZNSt3__26localeD2Ev($5); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($34, $43) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($34) | 0; + _abort(); + } + $45 = $0 + 8 | 0; + $$0 = HEAP32[$22 >> 2] | 0; + $$031 = 0; + while (1) { + if (($$031 | 0) >= ($21 | 0)) break; + __ZNK6vision21HoughSimilarityVoting14getBinDistanceERfS1_S1_S1_ffffffff($1, $6, $7, $8, $9, +HEAPF32[$$0 >> 2], +HEAPF32[$$0 + 4 >> 2], +HEAPF32[$$0 + 8 >> 2], +HEAPF32[$$0 + 12 >> 2], +(HEAP32[$10 >> 2] | 0) + .5, +(HEAP32[$11 >> 2] | 0) + .5, +(HEAP32[$12 >> 2] | 0) + .5, +(HEAP32[$13 >> 2] | 0) + .5); + do if ((+HEAPF32[$6 >> 2] < $4 ? +HEAPF32[$7 >> 2] < $4 : 0) & +HEAPF32[$8 >> 2] < $4 & +HEAPF32[$9 >> 2] < $4) { + $78 = __ZNK6vision21HoughSimilarityVoting24getSubBinLocationIndicesEv($1) | 0; + $83 = (HEAP32[$2 >> 2] | 0) + (HEAP32[(HEAP32[$78 >> 2] | 0) + ($$031 << 2) >> 2] << 3) | 0; + $84 = HEAP32[$15 >> 2] | 0; + if (($84 | 0) == (HEAP32[$45 >> 2] | 0)) { + __ZNSt3__26vectorIN6vision7match_tENS_9allocatorIS2_EEE21__push_back_slow_pathIRKS2_EEvOT_($0, $83); + break; + } else { + $87 = $83; + $92 = HEAP32[$87 + 4 >> 2] | 0; + $93 = $84; + HEAP32[$93 >> 2] = HEAP32[$87 >> 2]; + HEAP32[$93 + 4 >> 2] = $92; + HEAP32[$15 >> 2] = (HEAP32[$15 >> 2] | 0) + 8; + break; + } + } while (0); + $$0 = $$0 + 16 | 0; + $$031 = $$031 + 1 | 0; + } + STACKTOP = sp; + return; +} + +function _scanexp($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$04858 = 0, $$049 = 0, $$157 = 0, $$251 = 0, $$pre$phi69Z2D = 0, $100 = 0, $11 = 0, $13 = 0, $14 = 0, $2 = 0, $21 = 0, $22 = 0, $3 = 0, $36 = 0, $4 = 0, $43 = 0, $44 = 0, $49 = 0, $51 = 0, $52 = 0, $53 = 0, $54 = 0, $57 = 0, $61 = 0, $68 = 0, $69 = 0, $78 = 0, $86 = 0, $92 = 0, $93 = 0, $94 = 0, $95 = 0, $96 = 0, $99 = 0, label = 0; + $2 = $0 + 4 | 0; + $3 = HEAP32[$2 >> 2] | 0; + $4 = $0 + 104 | 0; + if ($3 >>> 0 < (HEAP32[$4 >> 2] | 0) >>> 0) { + HEAP32[$2 >> 2] = $3 + 1; + $11 = HEAPU8[$3 >> 0] | 0; + } else $11 = ___shgetc($0) | 0; + switch ($11 | 0) { + case 43: + case 45: + { + $13 = ($11 | 0) == 45 & 1; + $14 = HEAP32[$2 >> 2] | 0; + if ($14 >>> 0 < (HEAP32[$4 >> 2] | 0) >>> 0) { + HEAP32[$2 >> 2] = $14 + 1; + $22 = HEAPU8[$14 >> 0] | 0; + } else $22 = ___shgetc($0) | 0; + $21 = $22 + -48 | 0; + if (($1 | 0) != 0 & $21 >>> 0 > 9) if (!(HEAP32[$4 >> 2] | 0)) { + $100 = 0; + $99 = -2147483648; + } else { + HEAP32[$2 >> 2] = (HEAP32[$2 >> 2] | 0) + -1; + label = 14; + } else { + $$0 = $13; + $$049 = $22; + $$pre$phi69Z2D = $21; + label = 12; + } + break; + } + default: + { + $$0 = 0; + $$049 = $11; + $$pre$phi69Z2D = $11 + -48 | 0; + label = 12; + } + } + if ((label | 0) == 12) if ($$pre$phi69Z2D >>> 0 > 9) label = 14; else { + $$04858 = 0; + $$157 = $$049; + while (1) { + $$04858 = $$157 + -48 + ($$04858 * 10 | 0) | 0; + $36 = HEAP32[$2 >> 2] | 0; + if ($36 >>> 0 < (HEAP32[$4 >> 2] | 0) >>> 0) { + HEAP32[$2 >> 2] = $36 + 1; + $44 = HEAPU8[$36 >> 0] | 0; + } else $44 = ___shgetc($0) | 0; + $43 = $44 + -48 | 0; + if (!($43 >>> 0 < 10 & ($$04858 | 0) < 214748364)) break; else $$157 = $44; + } + $49 = (($$04858 | 0) < 0) << 31 >> 31; + if ($43 >>> 0 < 10) { + $$251 = $44; + $51 = $$04858; + $52 = $49; + while (1) { + $53 = ___muldi3($51 | 0, $52 | 0, 10, 0) | 0; + $54 = getTempRet0() | 0; + $57 = _i64Add($$251 | 0, (($$251 | 0) < 0) << 31 >> 31 | 0, -48, -1) | 0; + $51 = _i64Add($57 | 0, getTempRet0() | 0, $53 | 0, $54 | 0) | 0; + $52 = getTempRet0() | 0; + $61 = HEAP32[$2 >> 2] | 0; + if ($61 >>> 0 < (HEAP32[$4 >> 2] | 0) >>> 0) { + HEAP32[$2 >> 2] = $61 + 1; + $69 = HEAPU8[$61 >> 0] | 0; + } else $69 = ___shgetc($0) | 0; + $68 = $69 + -48 | 0; + if (!($68 >>> 0 < 10 & (($52 | 0) < 21474836 | ($52 | 0) == 21474836 & $51 >>> 0 < 2061584302))) break; else $$251 = $69; + } + if ($68 >>> 0 < 10) { + do { + $78 = HEAP32[$2 >> 2] | 0; + if ($78 >>> 0 < (HEAP32[$4 >> 2] | 0) >>> 0) { + HEAP32[$2 >> 2] = $78 + 1; + $86 = HEAPU8[$78 >> 0] | 0; + } else $86 = ___shgetc($0) | 0; + } while (($86 + -48 | 0) >>> 0 < 10); + $93 = $51; + $94 = $52; + } else { + $93 = $51; + $94 = $52; + } + } else { + $93 = $$04858; + $94 = $49; + } + if (HEAP32[$4 >> 2] | 0) HEAP32[$2 >> 2] = (HEAP32[$2 >> 2] | 0) + -1; + $92 = ($$0 | 0) == 0; + $95 = _i64Subtract(0, 0, $93 | 0, $94 | 0) | 0; + $96 = getTempRet0() | 0; + $100 = $92 ? $93 : $95; + $99 = $92 ? $94 : $96; + } + if ((label | 0) == 14) if (!(HEAP32[$4 >> 2] | 0)) { + $100 = 0; + $99 = -2147483648; + } else { + HEAP32[$2 >> 2] = (HEAP32[$2 >> 2] | 0) + -1; + $100 = 0; + $99 = -2147483648; + } + setTempRet0($99 | 0); + return $100 | 0; +} + +function _icpPoint($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0 = 0, $$088 = 0, $$090 = 0.0, $$091 = 0.0, $$092 = 0, $$1 = 0, $$189 = 0, $$2 = 0, $12 = 0, $15 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $34 = 0, $38 = 0.0, $42 = 0.0, $47 = 0, $5 = 0, $53 = 0.0, $6 = 0, $65 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 176 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(176); + $vararg_buffer1 = sp + 168 | 0; + $vararg_buffer = sp + 160 | 0; + $5 = sp + 144 | 0; + $6 = sp + 48 | 0; + $7 = sp; + $8 = $1 + 8 | 0; + $9 = HEAP32[$8 >> 2] | 0; + do if (($9 | 0) >= 3) { + $12 = _malloc($9 * 96 | 0) | 0; + if (!$12) { + _arLog(0, 3, 45947, $vararg_buffer); + $$092 = -1; + break; + } + $15 = _malloc($9 << 4) | 0; + if (!$15) { + _arLog(0, 3, 45947, $vararg_buffer1); + _free($12); + $$092 = -1; + break; + } + $$0 = 0; + while (1) { + if (($$0 | 0) == 3) break; + $$088 = 0; + while (1) { + if (($$088 | 0) == 4) break; + HEAPF64[$3 + ($$0 << 5) + ($$088 << 3) >> 3] = +HEAPF64[$2 + ($$0 << 5) + ($$088 << 3) >> 3]; + $$088 = $$088 + 1 | 0; + } + $$0 = $$0 + 1 | 0; + } + $22 = $1 + 4 | 0; + $23 = $5 + 8 | 0; + $24 = $0 + 104 | 0; + $25 = $0 + 96 | 0; + $26 = $0 + 120 | 0; + $27 = $0 + 112 | 0; + $$091 = 0.0; + $$189 = 0; + L17 : while (1) { + _arUtilMatMul($0, $3, $6) | 0; + $$090 = 0.0; + $$1 = 0; + while (1) { + $28 = HEAP32[$8 >> 2] | 0; + if (($$1 | 0) >= ($28 | 0)) break; + if ((_icpGetU_from_X_by_MatX2U($5, $6, (HEAP32[$22 >> 2] | 0) + ($$1 * 24 | 0) | 0) | 0) < 0) { + label = 16; + break L17; + } + $34 = HEAP32[$1 >> 2] | 0; + $38 = +HEAPF64[$34 + ($$1 << 4) >> 3] - +HEAPF64[$5 >> 3]; + $42 = +HEAPF64[$34 + ($$1 << 4) + 8 >> 3] - +HEAPF64[$23 >> 3]; + $47 = $$1 << 1; + HEAPF64[$15 + ($47 << 3) >> 3] = $38; + HEAPF64[$15 + (($47 | 1) << 3) >> 3] = $42; + $$090 = $$090 + ($38 * $38 + $42 * $42); + $$1 = $$1 + 1 | 0; + } + $53 = $$090 / +($28 | 0); + if ($53 < +HEAPF64[$24 >> 3]) { + label = 31; + break; + } + if (($$189 | 0 ? $53 < +HEAPF64[$26 >> 3] : 0) ? $53 / $$091 > +HEAPF64[$27 >> 3] : 0) { + label = 31; + break; + } + if (($$189 | 0) == (HEAP32[$25 >> 2] | 0)) { + label = 31; + break; + } + $$2 = 0; + $65 = $28; + while (1) { + if (($$2 | 0) >= ($65 | 0)) break; + if ((_icpGetJ_U_S($12 + ($$2 * 12 << 3) | 0, $0, $3, (HEAP32[$22 >> 2] | 0) + ($$2 * 24 | 0) | 0) | 0) < 0) { + label = 27; + break L17; + } + $$2 = $$2 + 1 | 0; + $65 = HEAP32[$8 >> 2] | 0; + } + if ((_icpGetDeltaS($7, $15, $12, $65 << 1) | 0) < 0) { + label = 29; + break; + } + _icpUpdateMat($3, $7) | 0; + $$091 = $53; + $$189 = $$189 + 1 | 0; + } + if ((label | 0) == 16) { + _icpGetXw2XcCleanup($12, $15); + $$092 = -1; + break; + } else if ((label | 0) == 27) { + _icpGetXw2XcCleanup($12, $15); + $$092 = -1; + break; + } else if ((label | 0) == 29) { + _icpGetXw2XcCleanup($12, $15); + $$092 = -1; + break; + } else if ((label | 0) == 31) { + HEAPF64[$4 >> 3] = $53; + _free($12); + _free($15); + $$092 = 0; + break; + } + } else $$092 = -1; while (0); + STACKTOP = sp; + return $$092 | 0; +} + +function __ZNSt3__26vectorIiNS_9allocatorIiEEE6insertINS_11__wrap_iterIPKiEEEENS_9enable_ifIXaasr21__is_forward_iteratorIT_EE5valuesr16is_constructibleIiNS_15iterator_traitsISA_E9referenceEEE5valueENS5_IPiEEE4typeES8_SA_SA_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0, $$0$i$i = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$sroa$044$059 = 0, $10 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $20 = 0, $23 = 0, $24 = 0, $29 = 0, $30 = 0, $32 = 0, $34 = 0, $38 = 0, $4 = 0, $40 = 0, $46 = 0, $47 = 0, $5 = 0, $51 = 0, $52 = 0, $56 = 0, $6 = 0, $61 = 0, $7 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $$byval_copy3 = sp + 40 | 0; + $$byval_copy2 = sp + 36 | 0; + $4 = sp + 32 | 0; + $5 = sp + 28 | 0; + $6 = sp + 8 | 0; + $7 = sp + 4 | 0; + $8 = sp; + $9 = HEAP32[$0 >> 2] | 0; + $10 = $9; + $14 = $9 + ((HEAP32[$1 >> 2] | 0) - $10 >> 2 << 2) | 0; + $15 = HEAP32[$2 >> 2] | 0; + $16 = HEAP32[$3 >> 2] | 0; + $17 = $16 - $15 | 0; + $18 = $17 >> 2; + L1 : do if (($17 | 0) > 0) { + $20 = $0 + 8 | 0; + $23 = HEAP32[$0 + 4 >> 2] | 0; + $24 = $23; + if (($18 | 0) > ((HEAP32[$20 >> 2] | 0) - $24 >> 2 | 0)) { + $46 = ($24 - $10 >> 2) + $18 | 0; + $47 = __ZNKSt3__26vectorIiNS_9allocatorIiEEE8max_sizeEv($0) | 0; + if ($47 >>> 0 < $46 >>> 0) __ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv($0); else { + $51 = HEAP32[$0 >> 2] | 0; + $52 = (HEAP32[$20 >> 2] | 0) - $51 | 0; + $56 = $52 >> 1; + __ZNSt3__214__split_bufferIiRNS_9allocatorIiEEEC2EmmS3_($6, $52 >> 2 >>> 0 < $47 >>> 1 >>> 0 ? ($56 >>> 0 < $46 >>> 0 ? $46 : $56) : $47, $14 - $51 >> 2, $0 + 8 | 0); + HEAP32[$7 >> 2] = $15; + HEAP32[$8 >> 2] = $16; + HEAP32[$$byval_copy2 >> 2] = HEAP32[$7 >> 2]; + HEAP32[$$byval_copy3 >> 2] = HEAP32[$8 >> 2]; + __ZNSt3__214__split_bufferIiRNS_9allocatorIiEEE18__construct_at_endINS_11__wrap_iterIPKiEEEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeESB_SB_($6, $$byval_copy2, $$byval_copy3); + $61 = __ZNSt3__26vectorIiNS_9allocatorIiEEE26__swap_out_circular_bufferERNS_14__split_bufferIiRS2_EEPi($0, $6, $14) | 0; + __ZNSt3__214__split_bufferIiRNS_9allocatorIiEEED2Ev($6); + $$0 = $61; + break; + } + } + $29 = $24 - $14 | 0; + $30 = $29 >> 2; + $32 = $15; + $34 = $32 + ($30 << 2) | 0; + if (($18 | 0) > ($30 | 0)) { + HEAP32[$4 >> 2] = $34; + HEAP32[$5 >> 2] = $16; + HEAP32[$$byval_copy2 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy3 >> 2] = HEAP32[$5 >> 2]; + __ZNSt3__26vectorIiNS_9allocatorIiEEE18__construct_at_endINS_11__wrap_iterIPKiEEEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeESA_SA_m($0, $$byval_copy2, $$byval_copy3, $18 - $30 | 0); + if (($29 | 0) > 0) $$sroa$044$059 = $34; else { + $$0 = $14; + break; + } + } else $$sroa$044$059 = $16; + __ZNSt3__26vectorIiNS_9allocatorIiEEE12__move_rangeEPiS4_S4_($0, $14, $23, $14 + ($18 << 2) | 0); + $38 = $$sroa$044$059; + $$0$i$i = $14; + $40 = $32; + while (1) { + if (($40 | 0) == ($38 | 0)) { + $$0 = $14; + break L1; + } + HEAP32[$$0$i$i >> 2] = HEAP32[$40 >> 2]; + $$0$i$i = $$0$i$i + 4 | 0; + $40 = $40 + 4 | 0; + } + } else $$0 = $14; while (0); + STACKTOP = sp; + return $$0 | 0; +} + +function __ZN6vision11PartialSortIfEET_PS1_ii($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$044 = 0, $$047 = 0, $$049 = 0, $$1 = 0, $$145 = 0, $$2 = 0, $$246 = 0, $10 = 0, $15 = 0, $19 = 0, $26 = 0, $3 = 0, $31 = 0, $35 = 0, $36 = 0, $38 = 0, $40 = 0.0, $41 = 0, $42 = 0.0, $44 = 0, $45 = 0, $46 = 0.0, $48 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp; + if (($1 | 0) <= 0) { + $10 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 37491) | 0, 37520) | 0, 39072) | 0, 53) | 0, 39079) | 0, 37593) | 0; + __ZNKSt3__28ios_base6getlocEv($3, $10 + (HEAP32[(HEAP32[$10 >> 2] | 0) + -12 >> 2] | 0) | 0); + $15 = __ZNKSt3__26locale9use_facetERNS0_2idE($3, 66512) | 0; + $19 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$15 >> 2] | 0) + 28 >> 2] & 127]($15, 10) | 0; + __ZNSt3__26localeD2Ev($3); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($10, $19) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($10) | 0; + _abort(); + } + if (($2 | 0) <= 0) { + $26 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 37612) | 0, 37520) | 0, 39072) | 0, 54) | 0, 39079) | 0, 37641) | 0; + __ZNKSt3__28ios_base6getlocEv($3, $26 + (HEAP32[(HEAP32[$26 >> 2] | 0) + -12 >> 2] | 0) | 0); + $31 = __ZNKSt3__26locale9use_facetERNS0_2idE($3, 66512) | 0; + $35 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$31 >> 2] | 0) + 28 >> 2] & 127]($31, 10) | 0; + __ZNSt3__26localeD2Ev($3); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($26, $35) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($26) | 0; + _abort(); + } + $36 = $2 + -1 | 0; + $38 = $0 + ($36 << 2) | 0; + $$047 = $1 + -1 | 0; + $$049 = 0; + while (1) { + $40 = +HEAPF32[$38 >> 2]; + if (($$049 | 0) >= ($$047 | 0)) break; + $$0 = $$049; + $$044 = $$047; + while (1) { + $$1 = $$0; + while (1) { + $41 = $0 + ($$1 << 2) | 0; + $42 = +HEAPF32[$41 >> 2]; + $44 = $$1 + 1 | 0; + if ($42 < $40) $$1 = $44; else break; + } + $$145 = $$044; + while (1) { + $45 = $0 + ($$145 << 2) | 0; + $46 = +HEAPF32[$45 >> 2]; + $48 = $$145 + -1 | 0; + if ($40 < $46) $$145 = $48; else break; + } + if (($$1 | 0) > ($$145 | 0)) { + $$2 = $$1; + $$246 = $$145; + } else { + HEAPF32[$41 >> 2] = $46; + HEAPF32[$45 >> 2] = $42; + $$2 = $44; + $$246 = $48; + } + if (($$2 | 0) > ($$246 | 0)) break; else { + $$0 = $$2; + $$044 = $$246; + } + } + $$047 = ($$2 | 0) < ($2 | 0) ? $$047 : $$246; + $$049 = ($$246 | 0) < ($36 | 0) ? $$2 : $$049; + } + STACKTOP = sp; + return +$40; +} + +function __ZN6vision26ComputeSubpixelDerivativesERfS0_S0_S0_S0_RKNS_5ImageEii($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 $18 = 0, $23 = 0, $27 = 0, $28 = 0, $30 = 0, $38 = 0, $43 = 0, $47 = 0, $49 = 0, $51 = 0, $53 = 0, $54 = 0, $56 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $8 = sp; + if (($6 | 0) > 0 ? ($6 + 1 | 0) >>> 0 < (__ZNK6vision5Image5widthEv($5) | 0) >>> 0 : 0) { + $28 = $7 + -1 | 0; + if (($7 | 0) > 0 ? ($30 = $7 + 1 | 0, $30 >>> 0 < (__ZNK6vision5Image6heightEv($5) | 0) >>> 0) : 0) { + $49 = (__ZNK6vision5Image3getIfEEPKT_m($5, $28) | 0) + ($6 << 2) | 0; + $51 = (__ZNK6vision5Image3getIfEEPKT_m($5, $7) | 0) + ($6 << 2) | 0; + $53 = (__ZNK6vision5Image3getIfEEPKT_m($5, $30) | 0) + ($6 << 2) | 0; + $54 = $51 + 4 | 0; + $56 = $51 + -4 | 0; + HEAPF32[$0 >> 2] = (+HEAPF32[$54 >> 2] - +HEAPF32[$56 >> 2]) * .5; + HEAPF32[$1 >> 2] = (+HEAPF32[$53 >> 2] - +HEAPF32[$49 >> 2]) * .5; + HEAPF32[$2 >> 2] = +HEAPF32[$54 >> 2] + (+HEAPF32[$56 >> 2] - +HEAPF32[$51 >> 2] * 2.0); + HEAPF32[$3 >> 2] = +HEAPF32[$53 >> 2] + (+HEAPF32[$49 >> 2] - +HEAPF32[$51 >> 2] * 2.0); + HEAPF32[$4 >> 2] = (+HEAPF32[$49 + -4 >> 2] + +HEAPF32[$53 + 4 >> 2] - (+HEAPF32[$49 + 4 >> 2] + +HEAPF32[$53 + -4 >> 2])) * .25; + STACKTOP = sp; + return; + } + $38 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 30161) | 0, 28600) | 0, 39072) | 0, 285) | 0, 39079) | 0, 29077) | 0; + __ZNKSt3__28ios_base6getlocEv($8, $38 + (HEAP32[(HEAP32[$38 >> 2] | 0) + -12 >> 2] | 0) | 0); + $43 = __ZNKSt3__26locale9use_facetERNS0_2idE($8, 66512) | 0; + $47 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$43 >> 2] | 0) + 28 >> 2] & 127]($43, 10) | 0; + __ZNSt3__26localeD2Ev($8); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($38, $47) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($38) | 0; + _abort(); + } + $18 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 30105) | 0, 28600) | 0, 39072) | 0, 284) | 0, 39079) | 0, 29002) | 0; + __ZNKSt3__28ios_base6getlocEv($8, $18 + (HEAP32[(HEAP32[$18 >> 2] | 0) + -12 >> 2] | 0) | 0); + $23 = __ZNKSt3__26locale9use_facetERNS0_2idE($8, 66512) | 0; + $27 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$23 >> 2] | 0) + 28 >> 2] & 127]($23, 10) | 0; + __ZNSt3__26localeD2Ev($8); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($18, $27) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($18) | 0; + _abort(); +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E19parseConversionExprEv($0) { + $0 = $0 | 0; + var $$3 = 0, $$4 = 0, $$5 = 0, $$byval_copy = 0, $1 = 0, $10 = 0, $11 = 0, $13 = 0, $16 = 0, $2 = 0, $3 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy = sp + 24 | 0; + $1 = sp + 16 | 0; + $2 = sp + 8 | 0; + $3 = sp; + __ZN12_GLOBAL__N_110StringViewC2EPKc($1, 54552); + HEAP32[$$byval_copy >> 2] = HEAP32[$1 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$1 + 4 >> 2]; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy) | 0) { + __ZN12_GLOBAL__N_114SwapAndRestoreIbEC2ERbb($2, $0 + 360 | 0, 0); + $6 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + $7 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseTypeEv($6) | 0; + HEAP32[$$byval_copy >> 2] = $7; + __ZN12_GLOBAL__N_114SwapAndRestoreIbED2Ev($2); + do if ($7) { + if (!(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 95) | 0)) { + $16 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv($6) | 0; + HEAP32[$2 >> 2] = $16; + if (!$16) $$3 = 0; else { + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E13makeNodeArrayIPPNS0_4NodeEEENS0_9NodeArrayET_SB_($3, $0, $2, $2 + 4 | 0); + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_14ConversionExprEJRPNS0_4NodeENS0_9NodeArrayEEEES9_DpOT0_($0, $$byval_copy, $3) | 0; + } + $$4 = $$3; + break; + } + $10 = $0 + 8 | 0; + $11 = __ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE4sizeEv($10) | 0; + while (1) { + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 69) | 0) { + label = 9; + break; + } + $13 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv($6) | 0; + HEAP32[$2 >> 2] = $13; + if (!$13) { + label = 7; + break; + } + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE9push_backERKS3_($10, $2); + } + if ((label | 0) == 7) { + $$4 = 0; + break; + } else if ((label | 0) == 9) { + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E20popTrailingNodeArrayEm($2, $0, $11); + $$4 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_14ConversionExprEJRPNS0_4NodeERNS0_9NodeArrayEEEES9_DpOT0_($0, $$byval_copy, $2) | 0; + break; + } + } else $$4 = 0; while (0); + $$5 = $$4; + } else $$5 = 0; + STACKTOP = sp; + return $$5 | 0; +} + +function __ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE8__rehashEm($this, $__nbc) { + $this = $this | 0; + $__nbc = $__nbc | 0; + var $0 = 0, $18 = 0, $2 = 0, $4 = 0, $6 = 0, $9 = 0, $__cp$0 = 0, $__i$0 = 0, $__np$0 = 0, $__phash$0$ph$ph = 0, $__pp$0$ph = 0, $__pp$0$ph$ph = 0, $__value_ = 0, $__value_$i$i = 0, $__value_$i$i$i = 0, $arrayidx$i61 = 0, $call$i$i$i = 0, $cond3$i = 0, $cond3$i72 = 0, $exception$i$i$i = 0, $sub$i66 = 0, $tobool$i68 = 0; + $__value_$i$i$i = $this + 4 | 0; + L1 : do if ($__nbc) { + if ($__nbc >>> 0 > 1073741823) { + $exception$i$i$i = ___cxa_allocate_exception(8) | 0; + __ZNSt11logic_errorC2EPKc($exception$i$i$i, 41481); + HEAP32[$exception$i$i$i >> 2] = 17472; + ___cxa_throw($exception$i$i$i | 0, 13960, 22); + } + $call$i$i$i = __Znwm($__nbc << 2) | 0; + $0 = HEAP32[$this >> 2] | 0; + HEAP32[$this >> 2] = $call$i$i$i; + if ($0 | 0) __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($0, HEAP32[$this + 4 >> 2] << 2); + HEAP32[$__value_$i$i$i >> 2] = $__nbc; + $__i$0 = 0; + while (1) { + if (($__i$0 | 0) == ($__nbc | 0)) break; + HEAP32[(HEAP32[$this >> 2] | 0) + ($__i$0 << 2) >> 2] = 0; + $__i$0 = $__i$0 + 1 | 0; + } + $__value_$i$i = $this + 8 | 0; + $2 = HEAP32[$__value_$i$i >> 2] | 0; + if ($2 | 0) { + $4 = HEAP32[$2 + 4 >> 2] | 0; + $sub$i66 = $__nbc + -1 | 0; + $tobool$i68 = ($sub$i66 & $__nbc | 0) == 0; + if (!$tobool$i68) if ($4 >>> 0 < $__nbc >>> 0) $cond3$i72 = $4; else $cond3$i72 = ($4 >>> 0) % ($__nbc >>> 0) | 0; else $cond3$i72 = $4 & $sub$i66; + HEAP32[(HEAP32[$this >> 2] | 0) + ($cond3$i72 << 2) >> 2] = $__value_$i$i; + $__phash$0$ph$ph = $cond3$i72; + $__pp$0$ph$ph = $2; + while (1) { + $__pp$0$ph = $__pp$0$ph$ph; + L25 : while (1) { + while (1) { + $__cp$0 = HEAP32[$__pp$0$ph >> 2] | 0; + if (!$__cp$0) break L1; + $6 = HEAP32[$__cp$0 + 4 >> 2] | 0; + if (!$tobool$i68) if ($6 >>> 0 < $__nbc >>> 0) $cond3$i = $6; else $cond3$i = ($6 >>> 0) % ($__nbc >>> 0) | 0; else $cond3$i = $6 & $sub$i66; + if (($cond3$i | 0) == ($__phash$0$ph$ph | 0)) break; + $arrayidx$i61 = (HEAP32[$this >> 2] | 0) + ($cond3$i << 2) | 0; + if (!(HEAP32[$arrayidx$i61 >> 2] | 0)) break L25; + $__value_ = $__cp$0 + 8 | 0; + $__np$0 = $__cp$0; + while (1) { + $9 = HEAP32[$__np$0 >> 2] | 0; + if (!$9) break; + if ((HEAP32[$__value_ >> 2] | 0) == (HEAP32[$9 + 8 >> 2] | 0)) $__np$0 = $9; else break; + } + HEAP32[$__pp$0$ph >> 2] = $9; + HEAP32[$__np$0 >> 2] = HEAP32[HEAP32[(HEAP32[$this >> 2] | 0) + ($cond3$i << 2) >> 2] >> 2]; + HEAP32[HEAP32[(HEAP32[$this >> 2] | 0) + ($cond3$i << 2) >> 2] >> 2] = $__cp$0; + } + $__pp$0$ph = $__cp$0; + } + HEAP32[$arrayidx$i61 >> 2] = $__pp$0$ph; + $__phash$0$ph$ph = $cond3$i; + $__pp$0$ph$ph = $__cp$0; + } + } + } else { + $18 = HEAP32[$this >> 2] | 0; + HEAP32[$this >> 2] = 0; + if ($18 | 0) __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($18, HEAP32[$this + 4 >> 2] << 2); + HEAP32[$__value_$i$i$i >> 2] = 0; + } while (0); + return; +} + +function __ZNSt3__212__hash_tableINS_17__hash_value_typeIi7ARParamEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE8__rehashEm($this, $__nbc) { + $this = $this | 0; + $__nbc = $__nbc | 0; + var $0 = 0, $18 = 0, $2 = 0, $4 = 0, $6 = 0, $9 = 0, $__cp$0 = 0, $__i$0 = 0, $__np$0 = 0, $__phash$0$ph$ph = 0, $__pp$0$ph = 0, $__pp$0$ph$ph = 0, $__value_ = 0, $__value_$i$i = 0, $__value_$i$i$i = 0, $arrayidx$i61 = 0, $call$i$i$i = 0, $cond3$i = 0, $cond3$i72 = 0, $exception$i$i$i = 0, $sub$i66 = 0, $tobool$i68 = 0; + $__value_$i$i$i = $this + 4 | 0; + L1 : do if ($__nbc) { + if ($__nbc >>> 0 > 1073741823) { + $exception$i$i$i = ___cxa_allocate_exception(8) | 0; + __ZNSt11logic_errorC2EPKc($exception$i$i$i, 41481); + HEAP32[$exception$i$i$i >> 2] = 17472; + ___cxa_throw($exception$i$i$i | 0, 13960, 22); + } + $call$i$i$i = __Znwm($__nbc << 2) | 0; + $0 = HEAP32[$this >> 2] | 0; + HEAP32[$this >> 2] = $call$i$i$i; + if ($0 | 0) __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($0, HEAP32[$this + 4 >> 2] << 2); + HEAP32[$__value_$i$i$i >> 2] = $__nbc; + $__i$0 = 0; + while (1) { + if (($__i$0 | 0) == ($__nbc | 0)) break; + HEAP32[(HEAP32[$this >> 2] | 0) + ($__i$0 << 2) >> 2] = 0; + $__i$0 = $__i$0 + 1 | 0; + } + $__value_$i$i = $this + 8 | 0; + $2 = HEAP32[$__value_$i$i >> 2] | 0; + if ($2 | 0) { + $4 = HEAP32[$2 + 4 >> 2] | 0; + $sub$i66 = $__nbc + -1 | 0; + $tobool$i68 = ($sub$i66 & $__nbc | 0) == 0; + if (!$tobool$i68) if ($4 >>> 0 < $__nbc >>> 0) $cond3$i72 = $4; else $cond3$i72 = ($4 >>> 0) % ($__nbc >>> 0) | 0; else $cond3$i72 = $4 & $sub$i66; + HEAP32[(HEAP32[$this >> 2] | 0) + ($cond3$i72 << 2) >> 2] = $__value_$i$i; + $__phash$0$ph$ph = $cond3$i72; + $__pp$0$ph$ph = $2; + while (1) { + $__pp$0$ph = $__pp$0$ph$ph; + L25 : while (1) { + while (1) { + $__cp$0 = HEAP32[$__pp$0$ph >> 2] | 0; + if (!$__cp$0) break L1; + $6 = HEAP32[$__cp$0 + 4 >> 2] | 0; + if (!$tobool$i68) if ($6 >>> 0 < $__nbc >>> 0) $cond3$i = $6; else $cond3$i = ($6 >>> 0) % ($__nbc >>> 0) | 0; else $cond3$i = $6 & $sub$i66; + if (($cond3$i | 0) == ($__phash$0$ph$ph | 0)) break; + $arrayidx$i61 = (HEAP32[$this >> 2] | 0) + ($cond3$i << 2) | 0; + if (!(HEAP32[$arrayidx$i61 >> 2] | 0)) break L25; + $__value_ = $__cp$0 + 8 | 0; + $__np$0 = $__cp$0; + while (1) { + $9 = HEAP32[$__np$0 >> 2] | 0; + if (!$9) break; + if ((HEAP32[$__value_ >> 2] | 0) == (HEAP32[$9 + 8 >> 2] | 0)) $__np$0 = $9; else break; + } + HEAP32[$__pp$0$ph >> 2] = $9; + HEAP32[$__np$0 >> 2] = HEAP32[HEAP32[(HEAP32[$this >> 2] | 0) + ($cond3$i << 2) >> 2] >> 2]; + HEAP32[HEAP32[(HEAP32[$this >> 2] | 0) + ($cond3$i << 2) >> 2] >> 2] = $__cp$0; + } + $__pp$0$ph = $__cp$0; + } + HEAP32[$arrayidx$i61 >> 2] = $__pp$0$ph; + $__phash$0$ph$ph = $cond3$i; + $__pp$0$ph$ph = $__cp$0; + } + } + } else { + $18 = HEAP32[$this >> 2] | 0; + HEAP32[$this >> 2] = 0; + if ($18 | 0) __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($18, HEAP32[$this + 4 >> 2] << 2); + HEAP32[$__value_$i$i$i >> 2] = 0; + } while (0); + return; +} + +function __ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwe($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = +$4; + var $$0 = 0, $$037 = 0, $$1 = 0, $$2 = 0, $$byval_copy = 0, $$sroa$039$0 = 0, $$sroa$046$0 = 0, $10 = 0, $11 = 0, $12 = 0, $19 = 0, $20 = 0, $26 = 0, $31 = 0, $33 = 0, $34 = 0, $35 = 0, $38 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer5 = 0, $vararg_buffer9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 352 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(352); + $$byval_copy = sp + 344 | 0; + $vararg_buffer9 = sp + 320 | 0; + $vararg_buffer5 = sp + 304 | 0; + $vararg_buffer2 = sp + 296 | 0; + $vararg_buffer = sp + 280 | 0; + $5 = sp + 272 | 0; + $6 = sp + 240 | 0; + $7 = sp + 340 | 0; + $8 = sp; + $9 = sp + 336 | 0; + $10 = sp + 332 | 0; + $11 = sp + 328 | 0; + $12 = $5; + HEAP32[$12 >> 2] = 37; + HEAP32[$12 + 4 >> 2] = 0; + $19 = __ZNSt3__214__num_put_base14__format_floatEPcPKcj($5 + 1 | 0, 59184, HEAP32[$2 + 4 >> 2] | 0) | 0; + HEAP32[$7 >> 2] = $6; + $20 = __ZNSt3__26__clocEv() | 0; + if ($19) { + HEAP32[$vararg_buffer >> 2] = HEAP32[$2 + 8 >> 2]; + HEAPF64[$vararg_buffer + 8 >> 3] = $4; + $$0 = __ZNSt3__219__libcpp_snprintf_lEPcmP15__locale_structPKcz($6, 30, $20, $5, $vararg_buffer) | 0; + } else { + HEAPF64[$vararg_buffer2 >> 3] = $4; + $$0 = __ZNSt3__219__libcpp_snprintf_lEPcmP15__locale_structPKcz($6, 30, $20, $5, $vararg_buffer2) | 0; + } + if (($$0 | 0) > 29) { + $26 = __ZNSt3__26__clocEv() | 0; + if ($19) { + HEAP32[$vararg_buffer5 >> 2] = HEAP32[$2 + 8 >> 2]; + HEAPF64[$vararg_buffer5 + 8 >> 3] = $4; + $$1 = __ZNSt3__219__libcpp_asprintf_lEPPcP15__locale_structPKcz($7, $26, $5, $vararg_buffer5) | 0; + } else { + HEAPF64[$vararg_buffer9 >> 3] = $4; + $$1 = __ZNSt3__219__libcpp_asprintf_lEPPcP15__locale_structPKcz($7, $26, $5, $vararg_buffer9) | 0; + } + $31 = HEAP32[$7 >> 2] | 0; + if (!$31) __ZSt17__throw_bad_allocv(); else { + $$2 = $$1; + $$sroa$046$0 = $31; + $34 = $31; + } + } else { + $$2 = $$0; + $$sroa$046$0 = 0; + $34 = HEAP32[$7 >> 2] | 0; + } + $33 = $34 + $$2 | 0; + $35 = __ZNSt3__214__num_put_base18__identify_paddingEPcS1_RKNS_8ios_baseE($34, $33, $2) | 0; + do if (($34 | 0) != ($6 | 0)) { + $38 = _malloc($$2 << 3) | 0; + if (!$38) __ZSt17__throw_bad_allocv(); else { + $$037 = $38; + $$sroa$039$0 = 0; + $44 = $38; + break; + } + } else { + $$037 = $8; + $$sroa$039$0 = 1; + $44 = 0; + } while (0); + __ZNKSt3__28ios_base6getlocEv($$byval_copy, $2); + __ZNSt3__29__num_putIwE23__widen_and_group_floatEPcS2_S2_PwRS3_S4_RKNS_6localeE($34, $35, $33, $$037, $9, $10, $$byval_copy); + __ZNSt3__26localeD2Ev($$byval_copy); + HEAP32[$11 >> 2] = HEAP32[$1 >> 2]; + $41 = HEAP32[$9 >> 2] | 0; + $42 = HEAP32[$10 >> 2] | 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$11 >> 2]; + $43 = __ZNSt3__216__pad_and_outputIwNS_11char_traitsIwEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4_($$byval_copy, $$037, $41, $42, $2, $3) | 0; + HEAP32[$1 >> 2] = $43; + if (!$$sroa$039$0) _free($44); + _free($$sroa$046$0); + STACKTOP = sp; + return $43 | 0; +} + +function __ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwd($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = +$4; + var $$0 = 0, $$037 = 0, $$1 = 0, $$2 = 0, $$byval_copy = 0, $$sroa$039$0 = 0, $$sroa$046$0 = 0, $10 = 0, $11 = 0, $12 = 0, $19 = 0, $20 = 0, $26 = 0, $31 = 0, $33 = 0, $34 = 0, $35 = 0, $38 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer5 = 0, $vararg_buffer9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 352 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(352); + $$byval_copy = sp + 344 | 0; + $vararg_buffer9 = sp + 320 | 0; + $vararg_buffer5 = sp + 304 | 0; + $vararg_buffer2 = sp + 296 | 0; + $vararg_buffer = sp + 280 | 0; + $5 = sp + 272 | 0; + $6 = sp + 240 | 0; + $7 = sp + 340 | 0; + $8 = sp; + $9 = sp + 336 | 0; + $10 = sp + 332 | 0; + $11 = sp + 328 | 0; + $12 = $5; + HEAP32[$12 >> 2] = 37; + HEAP32[$12 + 4 >> 2] = 0; + $19 = __ZNSt3__214__num_put_base14__format_floatEPcPKcj($5 + 1 | 0, 67447, HEAP32[$2 + 4 >> 2] | 0) | 0; + HEAP32[$7 >> 2] = $6; + $20 = __ZNSt3__26__clocEv() | 0; + if ($19) { + HEAP32[$vararg_buffer >> 2] = HEAP32[$2 + 8 >> 2]; + HEAPF64[$vararg_buffer + 8 >> 3] = $4; + $$0 = __ZNSt3__219__libcpp_snprintf_lEPcmP15__locale_structPKcz($6, 30, $20, $5, $vararg_buffer) | 0; + } else { + HEAPF64[$vararg_buffer2 >> 3] = $4; + $$0 = __ZNSt3__219__libcpp_snprintf_lEPcmP15__locale_structPKcz($6, 30, $20, $5, $vararg_buffer2) | 0; + } + if (($$0 | 0) > 29) { + $26 = __ZNSt3__26__clocEv() | 0; + if ($19) { + HEAP32[$vararg_buffer5 >> 2] = HEAP32[$2 + 8 >> 2]; + HEAPF64[$vararg_buffer5 + 8 >> 3] = $4; + $$1 = __ZNSt3__219__libcpp_asprintf_lEPPcP15__locale_structPKcz($7, $26, $5, $vararg_buffer5) | 0; + } else { + HEAPF64[$vararg_buffer9 >> 3] = $4; + $$1 = __ZNSt3__219__libcpp_asprintf_lEPPcP15__locale_structPKcz($7, $26, $5, $vararg_buffer9) | 0; + } + $31 = HEAP32[$7 >> 2] | 0; + if (!$31) __ZSt17__throw_bad_allocv(); else { + $$2 = $$1; + $$sroa$046$0 = $31; + $34 = $31; + } + } else { + $$2 = $$0; + $$sroa$046$0 = 0; + $34 = HEAP32[$7 >> 2] | 0; + } + $33 = $34 + $$2 | 0; + $35 = __ZNSt3__214__num_put_base18__identify_paddingEPcS1_RKNS_8ios_baseE($34, $33, $2) | 0; + do if (($34 | 0) != ($6 | 0)) { + $38 = _malloc($$2 << 3) | 0; + if (!$38) __ZSt17__throw_bad_allocv(); else { + $$037 = $38; + $$sroa$039$0 = 0; + $44 = $38; + break; + } + } else { + $$037 = $8; + $$sroa$039$0 = 1; + $44 = 0; + } while (0); + __ZNKSt3__28ios_base6getlocEv($$byval_copy, $2); + __ZNSt3__29__num_putIwE23__widen_and_group_floatEPcS2_S2_PwRS3_S4_RKNS_6localeE($34, $35, $33, $$037, $9, $10, $$byval_copy); + __ZNSt3__26localeD2Ev($$byval_copy); + HEAP32[$11 >> 2] = HEAP32[$1 >> 2]; + $41 = HEAP32[$9 >> 2] | 0; + $42 = HEAP32[$10 >> 2] | 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$11 >> 2]; + $43 = __ZNSt3__216__pad_and_outputIwNS_11char_traitsIwEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4_($$byval_copy, $$037, $41, $42, $2, $3) | 0; + HEAP32[$1 >> 2] = $43; + if (!$$sroa$039$0) _free($44); + _free($$sroa$046$0); + STACKTOP = sp; + return $43 | 0; +} + +function _setCamera($id, $cameraID) { + $id = $id | 0; + $cameraID = $cameraID | 0; + var $0 = 0, $2 = 0, $arhandle = 0, $call31 = 0, $call34 = 0, $call39 = 0, $call47 = 0, $call7 = 0, $cameraID$addr = 0, $height = 0, $id$addr = 0, $param = 0, $paramLT = 0, $retval$2 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer4 = 0, $vararg_buffer6 = 0, $width = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $vararg_buffer6 = sp + 24 | 0; + $vararg_buffer4 = sp + 16 | 0; + $vararg_buffer2 = sp + 8 | 0; + $vararg_buffer = sp; + $id$addr = sp + 32 | 0; + $cameraID$addr = sp + 28 | 0; + HEAP32[$id$addr >> 2] = $id; + HEAP32[$cameraID$addr >> 2] = $cameraID; + do if ((__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0) != 0 ? ($call7 = __ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0, (__ZNSt3__212__hash_tableINS_17__hash_value_typeIi7ARParamEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65280, $cameraID$addr) | 0) != 0) : 0) { + $param = $call7 + 8 | 0; + _memcpy($param | 0, __ZNSt3__213unordered_mapIi7ARParamNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65280, $cameraID$addr) | 0, 184) | 0; + $0 = HEAP32[$param >> 2] | 0; + $width = $call7 + 208 | 0; + $2 = HEAP32[$call7 + 12 >> 2] | 0; + $height = $call7 + 212 | 0; + if (($0 | 0) == (HEAP32[$width >> 2] | 0) ? ($2 | 0) == (HEAP32[$height >> 2] | 0) : 0) {} else { + HEAP32[$vararg_buffer >> 2] = $0; + HEAP32[$vararg_buffer + 4 >> 2] = $2; + _arLog(0, 2, 45770, $vararg_buffer); + _arParamChangeSize($param, HEAP32[$width >> 2] | 0, HEAP32[$height >> 2] | 0, $param) | 0; + } + _deleteHandle($call7); + $call31 = _arParamLTCreate($param, 15) | 0; + $paramLT = $call7 + 192 | 0; + HEAP32[$paramLT >> 2] = $call31; + if (!$call31) { + _arLog(0, 3, 45817, $vararg_buffer2); + $retval$2 = -1; + break; + } + $call34 = _arCreateHandle($call31) | 0; + $arhandle = $call7 + 216 | 0; + HEAP32[$arhandle >> 2] = $call34; + if (!$call34) { + _arLog(0, 3, 45855, $vararg_buffer4); + $retval$2 = -1; + break; + } + _arSetPixelFormat($call34, HEAP32[$call7 + 472 >> 2] | 0) | 0; + $call39 = _ar3DCreateHandle($param) | 0; + HEAP32[$call7 + 228 >> 2] = $call39; + if (!$call39) { + _arLog(0, 3, 45892, $vararg_buffer6); + $retval$2 = -1; + break; + } else { + _arPattAttach(HEAP32[$arhandle >> 2] | 0, HEAP32[$call7 + 220 >> 2] | 0) | 0; + _arglCameraFrustumRH(HEAP32[$paramLT >> 2] | 0, +HEAPF64[$call7 + 312 >> 3], +HEAPF64[$call7 + 320 >> 3], $call7 + 344 | 0); + $call47 = _createKpmHandle(HEAP32[$paramLT >> 2] | 0) | 0; + HEAP32[$call7 + 232 >> 2] = $call47; + $retval$2 = 0; + break; + } + } else $retval$2 = -1; while (0); + STACKTOP = sp; + return $retval$2 | 0; +} + +function _int_upsample($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$05061$us = 0, $$05061$us77 = 0, $$05157$us$us = 0, $$05157$us$us90 = 0, $$05256$us$us = 0, $$05256$us$us91 = 0, $$05354$us$us = 0, $$05354$us$us97 = 0, $$062 = 0, $$062$us = 0, $$062$us76 = 0, $$155$us$us = 0, $$155$us$us96 = 0, $10 = 0, $11 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $18 = 0, $19 = 0, $21 = 0, $25 = 0, $27 = 0, $28 = 0, $29 = 0, $32 = 0, $46 = 0, $47 = 0, $48 = 0, $5 = 0, $6 = 0, $62 = 0, $8 = 0, label = 0; + $5 = HEAP32[$0 + 476 >> 2] | 0; + $6 = HEAP32[$3 >> 2] | 0; + $8 = HEAP32[$1 + 4 >> 2] | 0; + $10 = HEAP8[$5 + 140 + $8 >> 0] | 0; + $11 = $10 & 255; + $13 = HEAP8[$5 + 150 + $8 >> 0] | 0; + $14 = $13 & 255; + $15 = $0 + 320 | 0; + $16 = HEAP32[$15 >> 2] | 0; + if (($16 | 0) <= 0) return; + $18 = $0 + 112 | 0; + $19 = $10 << 24 >> 24 != 0; + $21 = $14 + -1 | 0; + if (($13 & 255) > 1) { + $25 = ($10 << 24 >> 24 == 0 ? ~$11 : -2) + $11 + 2 | 0; + $$05061$us = 0; + $$062$us = 0; + while (1) { + $27 = HEAP32[$6 + ($$062$us << 2) >> 2] | 0; + $28 = HEAP32[$18 >> 2] | 0; + $29 = $27 + $28 | 0; + if (($28 | 0) > 0) { + if (!$19) break; + $$05157$us$us = HEAP32[$2 + ($$05061$us << 2) >> 2] | 0; + $$05256$us$us = $27; + while (1) { + _memset($$05256$us$us | 0, HEAP8[$$05157$us$us >> 0] | 0, $25 | 0) | 0; + $$05354$us$us = $11; + $$155$us$us = $$05256$us$us; + while (1) { + $$155$us$us = $$155$us$us + 1 | 0; + if (($$05354$us$us | 0) <= 1) break; else $$05354$us$us = $$05354$us$us + -1 | 0; + } + if ($$155$us$us >>> 0 < $29 >>> 0) { + $$05157$us$us = $$05157$us$us + 1 | 0; + $$05256$us$us = $$155$us$us; + } else break; + } + $32 = HEAP32[$18 >> 2] | 0; + } else $32 = $28; + _jcopy_sample_rows($6, $$062$us, $6, $$062$us + 1 | 0, $21, $32); + $$062$us = $$062$us + $14 | 0; + if (($$062$us | 0) >= (HEAP32[$15 >> 2] | 0)) { + label = 27; + break; + } else $$05061$us = $$05061$us + 1 | 0; + } + if ((label | 0) == 27) return; + while (1) {} + } + if (!$19) { + $62 = (HEAP32[$18 >> 2] | 0) > 0; + $$062 = 0; + while (1) { + if ($62) break; + $$062 = $$062 + $14 | 0; + if (($$062 | 0) >= ($16 | 0)) { + label = 27; + break; + } + } + if ((label | 0) == 27) return; + while (1) {} + } + $$05061$us77 = 0; + $$062$us76 = 0; + while (1) { + $46 = HEAP32[$6 + ($$062$us76 << 2) >> 2] | 0; + $47 = HEAP32[$18 >> 2] | 0; + $48 = $46 + $47 | 0; + if (($47 | 0) > 0) { + $$05157$us$us90 = HEAP32[$2 + ($$05061$us77 << 2) >> 2] | 0; + $$05256$us$us91 = $46; + while (1) { + _memset($$05256$us$us91 | 0, HEAP8[$$05157$us$us90 >> 0] | 0, $11 | 0) | 0; + $$05354$us$us97 = $11; + $$155$us$us96 = $$05256$us$us91; + while (1) { + $$155$us$us96 = $$155$us$us96 + 1 | 0; + if (($$05354$us$us97 | 0) <= 1) break; else $$05354$us$us97 = $$05354$us$us97 + -1 | 0; + } + if ($$155$us$us96 >>> 0 < $48 >>> 0) { + $$05157$us$us90 = $$05157$us$us90 + 1 | 0; + $$05256$us$us91 = $$155$us$us96; + } else break; + } + } + $$062$us76 = $$062$us76 + $14 | 0; + if (($$062$us76 | 0) >= (HEAP32[$15 >> 2] | 0)) break; else $$05061$us77 = $$05061$us77 + 1 | 0; + } + return; +} + +function _arParamIdeal2Observ($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = +$1; + $2 = +$2; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + var $$0 = 0, $10 = 0.0, $100 = 0.0, $101 = 0, $104 = 0.0, $110 = 0.0, $12 = 0.0, $122 = 0.0, $128 = 0.0, $131 = 0.0, $132 = 0.0, $133 = 0, $136 = 0.0, $14 = 0.0, $147 = 0.0, $16 = 0.0, $18 = 0.0, $20 = 0.0, $22 = 0.0, $25 = 0.0, $28 = 0.0, $31 = 0.0, $36 = 0.0, $61 = 0.0, $64 = 0.0, $65 = 0.0, $66 = 0, $69 = 0.0, $77 = 0.0, $89 = 0.0, $96 = 0.0, $99 = 0.0, $storemerge$sink = 0.0, label = 0; + L1 : do switch ($5 | 0) { + case 4: + { + $10 = +HEAPF64[$0 + 16 >> 3]; + $12 = +HEAPF64[$0 + 24 >> 3]; + $14 = +HEAPF64[$0 + 32 >> 3]; + $16 = +HEAPF64[$0 + 40 >> 3]; + $18 = +HEAPF64[$0 + 48 >> 3]; + $20 = +HEAPF64[$0 + 56 >> 3]; + $22 = +HEAPF64[$0 + 64 >> 3]; + $25 = ($1 - $18) * $22 / $14; + $28 = ($2 - $20) * $22 / $16; + $31 = $25 * $25 + $28 * $28; + $36 = +HEAPF64[$0 >> 3] * $31 + 1.0 + $31 * (+HEAPF64[$0 + 8 >> 3] * $31); + HEAPF64[$3 >> 3] = $18 + $14 * ($12 * ($31 + $25 * ($25 * 2.0)) + ($28 * ($10 * 2.0 * $25) + $25 * $36)); + $storemerge$sink = $20 + $16 * ($28 * ($12 * 2.0 * $25) + ($10 * ($31 + $28 * ($28 * 2.0)) + $28 * $36)); + label = 12; + break; + } + case 3: + { + $61 = +HEAPF64[$0 >> 3]; + $64 = +HEAPF64[$0 + 16 >> 3]; + $65 = ($1 - $61) * $64; + $66 = $0 + 8 | 0; + $69 = $64 * ($2 - +HEAPF64[$66 >> 3]); + if ($65 == 0.0 & $69 == 0.0) { + HEAPF64[$3 >> 3] = $61; + $storemerge$sink = +HEAPF64[$66 >> 3]; + label = 12; + break L1; + } else { + $77 = $65 * $65 + $69 * $69; + $89 = 1.0 - $77 * (+HEAPF64[$0 + 32 >> 3] / 1.0e8) - $77 * ($77 * (+HEAPF64[$0 + 40 >> 3] / 1.0e8 / 1.0e5)); + HEAPF64[$3 >> 3] = $61 + +HEAPF64[$0 + 24 >> 3] * ($65 * $89); + $storemerge$sink = +HEAPF64[$66 >> 3] + $69 * $89; + label = 12; + break L1; + } + break; + } + case 2: + { + $96 = +HEAPF64[$0 >> 3]; + $99 = +HEAPF64[$0 + 16 >> 3]; + $100 = ($1 - $96) * $99; + $101 = $0 + 8 | 0; + $104 = $99 * ($2 - +HEAPF64[$101 >> 3]); + if ($100 == 0.0 & $104 == 0.0) { + HEAPF64[$3 >> 3] = $96; + $storemerge$sink = +HEAPF64[$101 >> 3]; + label = 12; + break L1; + } else { + $110 = $100 * $100 + $104 * $104; + $122 = 1.0 - $110 * (+HEAPF64[$0 + 24 >> 3] / 1.0e8) - $110 * ($110 * (+HEAPF64[$0 + 32 >> 3] / 1.0e8 / 1.0e5)); + HEAPF64[$3 >> 3] = $96 + $100 * $122; + $storemerge$sink = +HEAPF64[$101 >> 3] + $104 * $122; + label = 12; + break L1; + } + break; + } + case 1: + { + $128 = +HEAPF64[$0 >> 3]; + $131 = +HEAPF64[$0 + 16 >> 3]; + $132 = ($1 - $128) * $131; + $133 = $0 + 8 | 0; + $136 = $131 * ($2 - +HEAPF64[$133 >> 3]); + if ($132 == 0.0 & $136 == 0.0) { + HEAPF64[$3 >> 3] = $128; + $storemerge$sink = +HEAPF64[$133 >> 3]; + label = 12; + break L1; + } else { + $147 = 1.0 - ($132 * $132 + $136 * $136) * (+HEAPF64[$0 + 24 >> 3] / 1.0e8); + HEAPF64[$3 >> 3] = $128 + $132 * $147; + $storemerge$sink = +HEAPF64[$133 >> 3] + $136 * $147; + label = 12; + break L1; + } + break; + } + default: + $$0 = -1; + } while (0); + if ((label | 0) == 12) { + HEAPF64[$4 >> 3] = $storemerge$sink; + $$0 = 0; + } + return $$0 | 0; +} + +function __ZNSt3__29__num_getIcE19__stage2_float_loopEcRbRcPcRS4_ccRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSE_RjS4_($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + $9 = $9 | 0; + $10 = $10 | 0; + $11 = $11 | 0; + var $$0$i$idx = 0, $$0$i$ptr = 0, $$0$lcssa$i = 0, $$2 = 0, $15 = 0, $18 = 0, $25 = 0, $30 = 0, $34 = 0, $43 = 0, $48 = 0, $50 = 0, $56 = 0, $59 = 0, $60 = 0, $69 = 0, $72 = 0, $81 = 0, $88 = 0, $93 = 0, $95 = 0; + L1 : do if ($0 << 24 >> 24 == $5 << 24 >> 24) if (HEAP8[$1 >> 0] | 0) { + HEAP8[$1 >> 0] = 0; + $15 = HEAP32[$4 >> 2] | 0; + HEAP32[$4 >> 2] = $15 + 1; + HEAP8[$15 >> 0] = 46; + $18 = HEAP8[$7 + 11 >> 0] | 0; + if ((($18 << 24 >> 24 < 0 ? HEAP32[$7 + 4 >> 2] | 0 : $18 & 255) | 0) != 0 ? ($25 = HEAP32[$9 >> 2] | 0, ($25 - $8 | 0) < 160) : 0) { + $30 = HEAP32[$10 >> 2] | 0; + HEAP32[$9 >> 2] = $25 + 4; + HEAP32[$25 >> 2] = $30; + $$2 = 0; + } else $$2 = 0; + } else $$2 = -1; else { + if ($0 << 24 >> 24 == $6 << 24 >> 24 ? ($34 = HEAP8[$7 + 11 >> 0] | 0, ($34 << 24 >> 24 < 0 ? HEAP32[$7 + 4 >> 2] | 0 : $34 & 255) | 0) : 0) { + if (!(HEAP8[$1 >> 0] | 0)) { + $$2 = -1; + break; + } + $43 = HEAP32[$9 >> 2] | 0; + if (($43 - $8 | 0) >= 160) { + $$2 = 0; + break; + } + $48 = HEAP32[$10 >> 2] | 0; + HEAP32[$9 >> 2] = $43 + 4; + HEAP32[$43 >> 2] = $48; + HEAP32[$10 >> 2] = 0; + $$2 = 0; + break; + } + $50 = $11 + 32 | 0; + $$0$i$idx = 0; + while (1) { + $$0$i$ptr = $11 + $$0$i$idx | 0; + if (($$0$i$idx | 0) == 32) { + $$0$lcssa$i = $50; + break; + } + if ((HEAP8[$$0$i$ptr >> 0] | 0) == $0 << 24 >> 24) { + $$0$lcssa$i = $$0$i$ptr; + break; + } else $$0$i$idx = $$0$i$idx + 1 | 0; + } + $56 = $$0$lcssa$i - $11 | 0; + if (($56 | 0) > 31) $$2 = -1; else { + $59 = HEAP8[12928 + $56 >> 0] | 0; + switch ($56 | 0) { + case 24: + case 25: + { + $60 = HEAP32[$4 >> 2] | 0; + if (($60 | 0) != ($3 | 0) ? (HEAP8[$60 + -1 >> 0] & 95) != (HEAP8[$2 >> 0] & 127) : 0) { + $$2 = -1; + break L1; + } + HEAP32[$4 >> 2] = $60 + 1; + HEAP8[$60 >> 0] = $59; + $$2 = 0; + break L1; + break; + } + case 23: + case 22: + { + HEAP8[$2 >> 0] = 80; + $69 = HEAP32[$4 >> 2] | 0; + HEAP32[$4 >> 2] = $69 + 1; + HEAP8[$69 >> 0] = $59; + $$2 = 0; + break L1; + break; + } + default: + { + $72 = $59 & 95; + if (((($72 | 0) == (HEAP8[$2 >> 0] | 0) ? (HEAP8[$2 >> 0] = $72 | 128, HEAP8[$1 >> 0] | 0) : 0) ? (HEAP8[$1 >> 0] = 0, $81 = HEAP8[$7 + 11 >> 0] | 0, ($81 << 24 >> 24 < 0 ? HEAP32[$7 + 4 >> 2] | 0 : $81 & 255) | 0) : 0) ? ($88 = HEAP32[$9 >> 2] | 0, ($88 - $8 | 0) < 160) : 0) { + $93 = HEAP32[$10 >> 2] | 0; + HEAP32[$9 >> 2] = $88 + 4; + HEAP32[$88 >> 2] = $93; + } + $95 = HEAP32[$4 >> 2] | 0; + HEAP32[$4 >> 2] = $95 + 1; + HEAP8[$95 >> 0] = $59; + if (($56 | 0) > 21) { + $$2 = 0; + break L1; + } + HEAP32[$10 >> 2] = (HEAP32[$10 >> 2] | 0) + 1; + $$2 = 0; + break L1; + } + } + } + } while (0); + return $$2 | 0; +} + +function _quantize_fs_dither($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0114131 = 0, $$0115130 = 0, $$0116138 = 0, $$0117134 = 0, $$0117134$us = 0, $$0118 = 0, $$0119 = 0, $$0120129 = 0, $$0121 = 0, $$0122 = 0, $$0124 = 0, $$0132 = 0, $$1123127 = 0, $$1125126 = 0, $$1128 = 0, $11 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $24 = 0, $25 = 0, $27 = 0, $31 = 0, $32 = 0, $44 = 0, $47 = 0, $48 = 0, $5 = 0, $60 = 0, $63 = 0, $7 = 0, $71 = 0, $9 = 0, $$1128$looptemp = 0; + $5 = HEAP32[$0 + 484 >> 2] | 0; + $7 = HEAP32[$0 + 120 >> 2] | 0; + $9 = HEAP32[$0 + 112 >> 2] | 0; + $11 = HEAP32[$0 + 336 >> 2] | 0; + if (($3 | 0) <= 0) return; + $13 = ($7 | 0) > 0; + $14 = $5 + 84 | 0; + $15 = $5 + 24 | 0; + $16 = $5 + 16 | 0; + $17 = ($9 | 0) == 0; + $18 = $9 + -1 | 0; + $19 = Math_imul($18, $7) | 0; + $20 = 0 - $7 | 0; + $21 = $9 + 1 | 0; + $$0116138 = 0; + do { + $22 = $2 + ($$0116138 << 2) | 0; + _memset(HEAP32[$22 >> 2] | 0, 0, $9 | 0) | 0; + L6 : do if ($13) { + $24 = $1 + ($$0116138 << 2) | 0; + if ($17) { + $25 = (HEAP32[$14 >> 2] | 0) == 0; + $$0117134$us = 0; + while (1) { + $27 = HEAP32[$5 + 68 + ($$0117134$us << 2) >> 2] | 0; + HEAP16[($25 ? $27 : $27 + ($21 << 1) | 0) >> 1] = 0; + $$0117134$us = $$0117134$us + 1 | 0; + if (($$0117134$us | 0) == ($7 | 0)) break L6; + } + } + $$0117134 = 0; + do { + $31 = (HEAP32[$24 >> 2] | 0) + $$0117134 | 0; + $32 = HEAP32[$22 >> 2] | 0; + if (!(HEAP32[$14 >> 2] | 0)) { + $$0118 = $7; + $$0119 = 1; + $$0121 = HEAP32[$5 + 68 + ($$0117134 << 2) >> 2] | 0; + $$0122 = $31; + $$0124 = $32; + } else { + $$0118 = $20; + $$0119 = -1; + $$0121 = (HEAP32[$5 + 68 + ($$0117134 << 2) >> 2] | 0) + ($21 << 1) | 0; + $$0122 = $31 + $19 | 0; + $$0124 = $32 + $18 | 0; + } + $44 = HEAP32[(HEAP32[$15 >> 2] | 0) + ($$0117134 << 2) >> 2] | 0; + $47 = HEAP32[(HEAP32[$16 >> 2] | 0) + ($$0117134 << 2) >> 2] | 0; + $48 = Math_imul($9, $$0119) | 0; + $$0114131 = 0; + $$0115130 = $9; + $$0120129 = 0; + $$0132 = 0; + $$1123127 = $$0122; + $$1125126 = $$0124; + $$1128 = $$0121; + while (1) { + $$1128$looptemp = $$1128; + $$1128 = $$1128 + ($$0119 << 1) | 0; + $60 = HEAPU8[$11 + (($$0132 + 8 + (HEAP16[$$1128 >> 1] | 0) >> 4) + (HEAPU8[$$1123127 >> 0] | 0)) >> 0] | 0; + $63 = HEAPU8[$44 + $60 >> 0] | 0; + HEAP8[$$1125126 >> 0] = (HEAPU8[$$1125126 >> 0] | 0) + $63; + $71 = $60 - (HEAPU8[$47 + $63 >> 0] | 0) | 0; + HEAP16[$$1128$looptemp >> 1] = ($71 * 3 | 0) + $$0120129; + $$0120129 = ($71 * 5 | 0) + $$0114131 | 0; + $$0115130 = $$0115130 + -1 | 0; + if (!$$0115130) break; else { + $$0114131 = $71; + $$0132 = $71 * 7 | 0; + $$1123127 = $$1123127 + $$0118 | 0; + $$1125126 = $$1125126 + $$0119 | 0; + } + } + HEAP16[$$0121 + ($48 << 1) >> 1] = $$0120129; + $$0117134 = $$0117134 + 1 | 0; + } while (($$0117134 | 0) != ($7 | 0)); + } while (0); + HEAP32[$14 >> 2] = (HEAP32[$14 >> 2] | 0) == 0 & 1; + $$0116138 = $$0116138 + 1 | 0; + } while (($$0116138 | 0) != ($3 | 0)); + return; +} + +function __ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEce($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = +$4; + var $$0 = 0, $$037 = 0, $$1 = 0, $$2 = 0, $$byval_copy = 0, $$sroa$041$0 = 0, $$sroa$048$0 = 0, $10 = 0, $11 = 0, $12 = 0, $19 = 0, $20 = 0, $26 = 0, $31 = 0, $33 = 0, $34 = 0, $35 = 0, $38 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer5 = 0, $vararg_buffer9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 176 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(176); + $$byval_copy = sp + 168 | 0; + $vararg_buffer9 = sp + 144 | 0; + $vararg_buffer5 = sp + 128 | 0; + $vararg_buffer2 = sp + 120 | 0; + $vararg_buffer = sp + 104 | 0; + $5 = sp + 96 | 0; + $6 = sp + 64 | 0; + $7 = sp + 164 | 0; + $8 = sp; + $9 = sp + 160 | 0; + $10 = sp + 156 | 0; + $11 = sp + 152 | 0; + $12 = $5; + HEAP32[$12 >> 2] = 37; + HEAP32[$12 + 4 >> 2] = 0; + $19 = __ZNSt3__214__num_put_base14__format_floatEPcPKcj($5 + 1 | 0, 59184, HEAP32[$2 + 4 >> 2] | 0) | 0; + HEAP32[$7 >> 2] = $6; + $20 = __ZNSt3__26__clocEv() | 0; + if ($19) { + HEAP32[$vararg_buffer >> 2] = HEAP32[$2 + 8 >> 2]; + HEAPF64[$vararg_buffer + 8 >> 3] = $4; + $$0 = __ZNSt3__219__libcpp_snprintf_lEPcmP15__locale_structPKcz($6, 30, $20, $5, $vararg_buffer) | 0; + } else { + HEAPF64[$vararg_buffer2 >> 3] = $4; + $$0 = __ZNSt3__219__libcpp_snprintf_lEPcmP15__locale_structPKcz($6, 30, $20, $5, $vararg_buffer2) | 0; + } + if (($$0 | 0) > 29) { + $26 = __ZNSt3__26__clocEv() | 0; + if ($19) { + HEAP32[$vararg_buffer5 >> 2] = HEAP32[$2 + 8 >> 2]; + HEAPF64[$vararg_buffer5 + 8 >> 3] = $4; + $$1 = __ZNSt3__219__libcpp_asprintf_lEPPcP15__locale_structPKcz($7, $26, $5, $vararg_buffer5) | 0; + } else { + HEAPF64[$vararg_buffer9 >> 3] = $4; + $$1 = __ZNSt3__219__libcpp_asprintf_lEPPcP15__locale_structPKcz($7, $26, $5, $vararg_buffer9) | 0; + } + $31 = HEAP32[$7 >> 2] | 0; + if (!$31) __ZSt17__throw_bad_allocv(); else { + $$2 = $$1; + $$sroa$048$0 = $31; + $34 = $31; + } + } else { + $$2 = $$0; + $$sroa$048$0 = 0; + $34 = HEAP32[$7 >> 2] | 0; + } + $33 = $34 + $$2 | 0; + $35 = __ZNSt3__214__num_put_base18__identify_paddingEPcS1_RKNS_8ios_baseE($34, $33, $2) | 0; + if (($34 | 0) != ($6 | 0)) { + $38 = _malloc($$2 << 1) | 0; + if (!$38) __ZSt17__throw_bad_allocv(); else { + $$037 = $38; + $$sroa$041$0 = $38; + } + } else { + $$037 = $8; + $$sroa$041$0 = 0; + } + __ZNKSt3__28ios_base6getlocEv($$byval_copy, $2); + __ZNSt3__29__num_putIcE23__widen_and_group_floatEPcS2_S2_S2_RS2_S3_RKNS_6localeE($34, $35, $33, $$037, $9, $10, $$byval_copy); + __ZNSt3__26localeD2Ev($$byval_copy); + HEAP32[$11 >> 2] = HEAP32[$1 >> 2]; + $41 = HEAP32[$9 >> 2] | 0; + $42 = HEAP32[$10 >> 2] | 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$11 >> 2]; + $43 = __ZNSt3__216__pad_and_outputIcNS_11char_traitsIcEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4_($$byval_copy, $$037, $41, $42, $2, $3) | 0; + _free($$sroa$041$0); + _free($$sroa$048$0); + STACKTOP = sp; + return $43 | 0; +} + +function __ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcd($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = +$4; + var $$0 = 0, $$037 = 0, $$1 = 0, $$2 = 0, $$byval_copy = 0, $$sroa$041$0 = 0, $$sroa$048$0 = 0, $10 = 0, $11 = 0, $12 = 0, $19 = 0, $20 = 0, $26 = 0, $31 = 0, $33 = 0, $34 = 0, $35 = 0, $38 = 0, $41 = 0, $42 = 0, $43 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer5 = 0, $vararg_buffer9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 176 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(176); + $$byval_copy = sp + 168 | 0; + $vararg_buffer9 = sp + 144 | 0; + $vararg_buffer5 = sp + 128 | 0; + $vararg_buffer2 = sp + 120 | 0; + $vararg_buffer = sp + 104 | 0; + $5 = sp + 96 | 0; + $6 = sp + 64 | 0; + $7 = sp + 164 | 0; + $8 = sp; + $9 = sp + 160 | 0; + $10 = sp + 156 | 0; + $11 = sp + 152 | 0; + $12 = $5; + HEAP32[$12 >> 2] = 37; + HEAP32[$12 + 4 >> 2] = 0; + $19 = __ZNSt3__214__num_put_base14__format_floatEPcPKcj($5 + 1 | 0, 67447, HEAP32[$2 + 4 >> 2] | 0) | 0; + HEAP32[$7 >> 2] = $6; + $20 = __ZNSt3__26__clocEv() | 0; + if ($19) { + HEAP32[$vararg_buffer >> 2] = HEAP32[$2 + 8 >> 2]; + HEAPF64[$vararg_buffer + 8 >> 3] = $4; + $$0 = __ZNSt3__219__libcpp_snprintf_lEPcmP15__locale_structPKcz($6, 30, $20, $5, $vararg_buffer) | 0; + } else { + HEAPF64[$vararg_buffer2 >> 3] = $4; + $$0 = __ZNSt3__219__libcpp_snprintf_lEPcmP15__locale_structPKcz($6, 30, $20, $5, $vararg_buffer2) | 0; + } + if (($$0 | 0) > 29) { + $26 = __ZNSt3__26__clocEv() | 0; + if ($19) { + HEAP32[$vararg_buffer5 >> 2] = HEAP32[$2 + 8 >> 2]; + HEAPF64[$vararg_buffer5 + 8 >> 3] = $4; + $$1 = __ZNSt3__219__libcpp_asprintf_lEPPcP15__locale_structPKcz($7, $26, $5, $vararg_buffer5) | 0; + } else { + HEAPF64[$vararg_buffer9 >> 3] = $4; + $$1 = __ZNSt3__219__libcpp_asprintf_lEPPcP15__locale_structPKcz($7, $26, $5, $vararg_buffer9) | 0; + } + $31 = HEAP32[$7 >> 2] | 0; + if (!$31) __ZSt17__throw_bad_allocv(); else { + $$2 = $$1; + $$sroa$048$0 = $31; + $34 = $31; + } + } else { + $$2 = $$0; + $$sroa$048$0 = 0; + $34 = HEAP32[$7 >> 2] | 0; + } + $33 = $34 + $$2 | 0; + $35 = __ZNSt3__214__num_put_base18__identify_paddingEPcS1_RKNS_8ios_baseE($34, $33, $2) | 0; + if (($34 | 0) != ($6 | 0)) { + $38 = _malloc($$2 << 1) | 0; + if (!$38) __ZSt17__throw_bad_allocv(); else { + $$037 = $38; + $$sroa$041$0 = $38; + } + } else { + $$037 = $8; + $$sroa$041$0 = 0; + } + __ZNKSt3__28ios_base6getlocEv($$byval_copy, $2); + __ZNSt3__29__num_putIcE23__widen_and_group_floatEPcS2_S2_S2_RS2_S3_RKNS_6localeE($34, $35, $33, $$037, $9, $10, $$byval_copy); + __ZNSt3__26localeD2Ev($$byval_copy); + HEAP32[$11 >> 2] = HEAP32[$1 >> 2]; + $41 = HEAP32[$9 >> 2] | 0; + $42 = HEAP32[$10 >> 2] | 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$11 >> 2]; + $43 = __ZNSt3__216__pad_and_outputIcNS_11char_traitsIcEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4_($$byval_copy, $$037, $41, $42, $2, $3) | 0; + _free($$sroa$041$0); + _free($$sroa$048$0); + STACKTOP = sp; + return $43 | 0; +} + +function _start_pass_2_quant($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $14 = 0, $18 = 0, $20 = 0, $26 = 0, $3 = 0, $36 = 0, $37 = 0, $38 = 0, $44 = 0, $45 = 0, $5 = 0, $50 = 0, $6 = 0; + $3 = HEAP32[$0 + 484 >> 2] | 0; + $5 = HEAP32[$3 + 24 >> 2] | 0; + $6 = $0 + 88 | 0; + if (!(HEAP32[$6 >> 2] | 0)) $14 = 0; else { + HEAP32[$6 >> 2] = 2; + $14 = 2; + } + if (!$1) { + HEAP32[$3 + 4 >> 2] = ($14 | 0) == 2 ? 20 : 21; + HEAP32[$3 + 8 >> 2] = 200; + $18 = HEAP32[$0 + 132 >> 2] | 0; + if (($18 | 0) >= 1) { + if (($18 | 0) > 256) { + $26 = HEAP32[$0 >> 2] | 0; + HEAP32[$26 + 20 >> 2] = 59; + HEAP32[$26 + 24 >> 2] = 256; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + } else { + $20 = HEAP32[$0 >> 2] | 0; + HEAP32[$20 + 20 >> 2] = 58; + HEAP32[$20 + 24 >> 2] = 1; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + if ((HEAP32[$6 >> 2] | 0) == 2) { + $36 = ((HEAP32[$0 + 112 >> 2] | 0) * 6 | 0) + 12 | 0; + $37 = $3 + 32 | 0; + $38 = HEAP32[$37 >> 2] | 0; + if (!$38) { + $44 = FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$0 + 4 >> 2] | 0) + 4 >> 2] & 63]($0, 1, $36) | 0; + HEAP32[$37 >> 2] = $44; + $45 = $44; + } else $45 = $38; + _memset($45 | 0, 0, $36 | 0) | 0; + if (!(HEAP32[$3 + 40 >> 2] | 0)) _init_error_limit($0); + HEAP32[$3 + 36 >> 2] = 0; + } + } else { + HEAP32[$3 + 4 >> 2] = 19; + HEAP32[$3 + 8 >> 2] = 199; + HEAP32[$3 + 28 >> 2] = 1; + } + $50 = $3 + 28 | 0; + if (!(HEAP32[$50 >> 2] | 0)) return; + _memset(HEAP32[$5 >> 2] | 0, 0, 4096) | 0; + _memset(HEAP32[$5 + 4 >> 2] | 0, 0, 4096) | 0; + _memset(HEAP32[$5 + 8 >> 2] | 0, 0, 4096) | 0; + _memset(HEAP32[$5 + 12 >> 2] | 0, 0, 4096) | 0; + _memset(HEAP32[$5 + 16 >> 2] | 0, 0, 4096) | 0; + _memset(HEAP32[$5 + 20 >> 2] | 0, 0, 4096) | 0; + _memset(HEAP32[$5 + 24 >> 2] | 0, 0, 4096) | 0; + _memset(HEAP32[$5 + 28 >> 2] | 0, 0, 4096) | 0; + _memset(HEAP32[$5 + 32 >> 2] | 0, 0, 4096) | 0; + _memset(HEAP32[$5 + 36 >> 2] | 0, 0, 4096) | 0; + _memset(HEAP32[$5 + 40 >> 2] | 0, 0, 4096) | 0; + _memset(HEAP32[$5 + 44 >> 2] | 0, 0, 4096) | 0; + _memset(HEAP32[$5 + 48 >> 2] | 0, 0, 4096) | 0; + _memset(HEAP32[$5 + 52 >> 2] | 0, 0, 4096) | 0; + _memset(HEAP32[$5 + 56 >> 2] | 0, 0, 4096) | 0; + _memset(HEAP32[$5 + 60 >> 2] | 0, 0, 4096) | 0; + _memset(HEAP32[$5 + 64 >> 2] | 0, 0, 4096) | 0; + _memset(HEAP32[$5 + 68 >> 2] | 0, 0, 4096) | 0; + _memset(HEAP32[$5 + 72 >> 2] | 0, 0, 4096) | 0; + _memset(HEAP32[$5 + 76 >> 2] | 0, 0, 4096) | 0; + _memset(HEAP32[$5 + 80 >> 2] | 0, 0, 4096) | 0; + _memset(HEAP32[$5 + 84 >> 2] | 0, 0, 4096) | 0; + _memset(HEAP32[$5 + 88 >> 2] | 0, 0, 4096) | 0; + _memset(HEAP32[$5 + 92 >> 2] | 0, 0, 4096) | 0; + _memset(HEAP32[$5 + 96 >> 2] | 0, 0, 4096) | 0; + _memset(HEAP32[$5 + 100 >> 2] | 0, 0, 4096) | 0; + _memset(HEAP32[$5 + 104 >> 2] | 0, 0, 4096) | 0; + _memset(HEAP32[$5 + 108 >> 2] | 0, 0, 4096) | 0; + _memset(HEAP32[$5 + 112 >> 2] | 0, 0, 4096) | 0; + _memset(HEAP32[$5 + 116 >> 2] | 0, 0, 4096) | 0; + _memset(HEAP32[$5 + 120 >> 2] | 0, 0, 4096) | 0; + _memset(HEAP32[$5 + 124 >> 2] | 0, 0, 4096) | 0; + HEAP32[$50 >> 2] = 0; + return; +} + +function _ar2GetResolution2($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0.0, $$0153 = 0.0, $$0154 = 0.0, $$0155 = 0.0, $$0156 = 0.0, $$0157 = 0.0, $$sink = 0.0, $10 = 0.0, $108 = 0.0, $11 = 0.0, $111 = 0.0, $120 = 0.0, $123 = 0.0, $125 = 0.0, $127 = 0.0, $128 = 0.0, $13 = 0.0, $130 = 0.0, $132 = 0.0, $133 = 0, $135 = 0.0, $14 = 0.0, $17 = 0.0, $20 = 0.0, $21 = 0.0, $23 = 0.0, $24 = 0.0, $27 = 0.0, $30 = 0.0, $31 = 0.0, $33 = 0.0, $34 = 0.0, $37 = 0.0, $38 = 0.0, $4 = 0, $41 = 0.0, $50 = 0.0, $53 = 0.0, $62 = 0.0, $65 = 0.0, $67 = 0.0, $68 = 0.0, $69 = 0.0, $7 = 0.0, $71 = 0.0, $72 = 0.0, $75 = 0.0, $78 = 0.0, $79 = 0.0, $81 = 0.0, $82 = 0.0, $85 = 0.0, $88 = 0.0, $89 = 0.0, $9 = 0.0, $91 = 0.0, $92 = 0.0, $95 = 0.0, $96 = 0.0, $99 = 0.0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $4 = sp; + if (!$0) { + $65 = +HEAPF32[$2 >> 2]; + $67 = +HEAPF32[$2 + 4 >> 2]; + $68 = +HEAPF32[$1 >> 2]; + $69 = $65 * $68; + $71 = +HEAPF32[$1 + 4 >> 2]; + $72 = $67 * $71; + $75 = +HEAPF32[$1 + 12 >> 2]; + $78 = +HEAPF32[$1 + 16 >> 2]; + $79 = $65 * $78; + $81 = +HEAPF32[$1 + 20 >> 2]; + $82 = $67 * $81; + $85 = +HEAPF32[$1 + 28 >> 2]; + $88 = +HEAPF32[$1 + 32 >> 2]; + $89 = $65 * $88; + $91 = +HEAPF32[$1 + 36 >> 2]; + $92 = $67 * $91; + $95 = +HEAPF32[$1 + 44 >> 2]; + $96 = $95 + ($89 + $92); + $99 = $65 + 10.0; + $108 = $95 + ($99 * $88 + $92); + $111 = $67 + 10.0; + $120 = $95 + ($89 + $111 * $91); + $$0 = ($85 + ($79 + $111 * $81)) / $120; + $$0153 = ($75 + ($69 + $111 * $71)) / $120; + $$0154 = ($85 + ($99 * $78 + $82)) / $108; + $$0155 = ($75 + ($99 * $68 + $72)) / $108; + $$0156 = ($85 + ($79 + $82)) / $96; + $$0157 = ($75 + ($69 + $72)) / $96; + } else { + _arUtilMatMuldff($0 + 8 | 0, $1, $4) | 0; + $7 = +HEAPF32[$2 >> 2]; + $9 = +HEAPF32[$2 + 4 >> 2]; + $10 = +HEAPF32[$4 >> 2]; + $11 = $7 * $10; + $13 = +HEAPF32[$4 + 4 >> 2]; + $14 = $9 * $13; + $17 = +HEAPF32[$4 + 12 >> 2]; + $20 = +HEAPF32[$4 + 16 >> 2]; + $21 = $7 * $20; + $23 = +HEAPF32[$4 + 20 >> 2]; + $24 = $9 * $23; + $27 = +HEAPF32[$4 + 28 >> 2]; + $30 = +HEAPF32[$4 + 32 >> 2]; + $31 = $7 * $30; + $33 = +HEAPF32[$4 + 36 >> 2]; + $34 = $9 * $33; + $37 = +HEAPF32[$4 + 44 >> 2]; + $38 = $37 + ($31 + $34); + $41 = $7 + 10.0; + $50 = $37 + ($41 * $30 + $34); + $53 = $9 + 10.0; + $62 = $37 + ($31 + $53 * $33); + $$0 = ($27 + ($21 + $53 * $23)) / $62; + $$0153 = ($17 + ($11 + $53 * $13)) / $62; + $$0154 = ($27 + ($41 * $20 + $24)) / $50; + $$0155 = ($17 + ($41 * $10 + $14)) / $50; + $$0156 = ($27 + ($21 + $24)) / $38; + $$0157 = ($17 + ($11 + $14)) / $38; + } + $123 = $$0155 - $$0157; + $125 = $$0154 - $$0156; + $127 = $123 * $123 + $125 * $125; + $128 = $$0153 - $$0157; + $130 = $$0 - $$0156; + $132 = $128 * $128 + $130 * $130; + $133 = $127 < $132; + $135 = +Math_sqrt(+($133 ? $132 : $127)) * 2.5399999618530273; + HEAPF32[$3 >> 2] = $135; + $$sink = +Math_sqrt(+($133 ? $127 : $132)) * 2.5399999618530273; + HEAPF32[$3 + 4 >> 2] = $$sink; + STACKTOP = sp; + return 0; +} + +function _check_square($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = +$2; + var $$0 = 0, $$092 = 0, $$093 = 0, $$094 = 0, $$sroa$12$0 = 0, $$sroa$4$0 = 0, $$sroa$8$0 = 0, $10 = 0, $11 = 0, $13 = 0, $17 = 0, $18 = 0, $21 = 0, $23 = 0, $24 = 0, $29 = 0.0, $3 = 0, $36 = 0, $38 = 0, $4 = 0, $44 = 0, $5 = 0, $6 = 0, $60 = 0, $7 = 0, $8 = 0, $9 = 0, $spec$select = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(96); + $3 = sp + 48 | 0; + $4 = sp + 92 | 0; + $5 = sp; + $6 = sp + 88 | 0; + $7 = $1 + 28 | 0; + $8 = HEAP32[$7 >> 2] | 0; + $9 = $1 + 40028 | 0; + $10 = HEAP32[$9 >> 2] | 0; + $11 = $1 + 24 | 0; + $13 = (HEAP32[$11 >> 2] | 0) + -1 | 0; + $$0 = 1; + $$093 = 0; + $$094 = 0; + while (1) { + if (($$0 | 0) >= ($13 | 0)) break; + $17 = (HEAP32[$1 + 28 + ($$0 << 2) >> 2] | 0) - $8 | 0; + $18 = Math_imul($17, $17) | 0; + $21 = (HEAP32[$1 + 40028 + ($$0 << 2) >> 2] | 0) - $10 | 0; + $23 = (Math_imul($21, $21) | 0) + $18 | 0; + $24 = ($23 | 0) > ($$093 | 0); + $spec$select = $24 ? $$0 : $$094; + $$0 = $$0 + 1 | 0; + $$093 = $24 ? $23 : $$093; + $$094 = $spec$select; + } + $29 = +($0 | 0) / .75 * .01 * $2; + HEAP32[$4 >> 2] = 0; + HEAP32[$6 >> 2] = 0; + L5 : do if ((_get_vertex($7, $9, 0, $$094, $29, $3, $4) | 0) >= 0 ? (_get_vertex($7, $9, $$094, (HEAP32[$11 >> 2] | 0) + -1 | 0, $29, $5, $6) | 0) >= 0 : 0) { + $36 = HEAP32[$4 >> 2] | 0; + $38 = HEAP32[$6 >> 2] | 0; + do if (($36 | 0) == 1 & ($38 | 0) == 1) { + $$sroa$12$0 = HEAP32[$5 >> 2] | 0; + $$sroa$4$0 = HEAP32[$3 >> 2] | 0; + $$sroa$8$0 = $$094; + } else { + if (($36 | 0) > 1 & ($38 | 0) == 0) { + $44 = ($$094 | 0) / 2 | 0; + HEAP32[$6 >> 2] = 0; + HEAP32[$4 >> 2] = 0; + if ((_get_vertex($7, $9, 0, $44, $29, $3, $4) | 0) < 0) { + $$092 = -1; + break L5; + } + if ((_get_vertex($7, $9, $44, $$094, $29, $5, $6) | 0) < 0) { + $$092 = -1; + break L5; + } + if (!((HEAP32[$4 >> 2] | 0) == 1 & (HEAP32[$6 >> 2] | 0) == 1)) { + $$092 = -1; + break L5; + } + $$sroa$12$0 = $$094; + $$sroa$4$0 = HEAP32[$3 >> 2] | 0; + $$sroa$8$0 = HEAP32[$5 >> 2] | 0; + break; + } + if (!(($36 | 0) == 0 & ($38 | 0) > 1)) { + $$092 = -1; + break L5; + } + $60 = ($$094 + -1 + (HEAP32[$11 >> 2] | 0) | 0) / 2 | 0; + HEAP32[$6 >> 2] = 0; + HEAP32[$4 >> 2] = 0; + if ((_get_vertex($7, $9, $$094, $60, $29, $3, $4) | 0) < 0) { + $$092 = -1; + break L5; + } + if ((_get_vertex($7, $9, $60, (HEAP32[$11 >> 2] | 0) + -1 | 0, $29, $5, $6) | 0) < 0) { + $$092 = -1; + break L5; + } + if (!((HEAP32[$4 >> 2] | 0) == 1 & (HEAP32[$6 >> 2] | 0) == 1)) { + $$092 = -1; + break L5; + } + $$sroa$12$0 = HEAP32[$5 >> 2] | 0; + $$sroa$4$0 = $$094; + $$sroa$8$0 = HEAP32[$3 >> 2] | 0; + } while (0); + HEAP32[$1 + 80028 >> 2] = 0; + HEAP32[$1 + 80032 >> 2] = $$sroa$4$0; + HEAP32[$1 + 80036 >> 2] = $$sroa$8$0; + HEAP32[$1 + 80040 >> 2] = $$sroa$12$0; + HEAP32[$1 + 80044 >> 2] = (HEAP32[$11 >> 2] | 0) + -1; + $$092 = 0; + } else $$092 = -1; while (0); + STACKTOP = sp; + return $$092 | 0; +} + +function _wcsrtombs($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0, $$05674 = 0, $$057$lcssa = 0, $$05784 = 0, $$05873 = 0, $$1 = 0, $$159 = 0, $$260$lcssa = 0, $$26083 = 0, $$278 = 0, $$3 = 0, $$361 = 0, $$477 = 0, $$5 = 0, $$pn = 0, $10 = 0, $11 = 0, $17 = 0, $18 = 0, $23 = 0, $31 = 0, $34 = 0, $35 = 0, $4 = 0, $40 = 0, $51 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $4 = sp; + L1 : do if (!$0) { + $6 = HEAP32[$1 >> 2] | 0; + $7 = HEAP32[$6 >> 2] | 0; + if (!$7) $$0 = 0; else { + $$05674 = $6; + $$05873 = 0; + $10 = $7; + while (1) { + if ($10 >>> 0 > 127) { + $11 = _wcrtomb($4, $10, 0) | 0; + if (($11 | 0) == -1) { + $$0 = -1; + break L1; + } else $$pn = $11; + } else $$pn = 1; + $$159 = $$pn + $$05873 | 0; + $$05674 = $$05674 + 4 | 0; + $10 = HEAP32[$$05674 >> 2] | 0; + if (!$10) { + $$0 = $$159; + break; + } else $$05873 = $$159; + } + } + } else { + L10 : do if ($2 >>> 0 > 3) { + $$05784 = $0; + $$26083 = $2; + $18 = HEAP32[$1 >> 2] | 0; + while (1) { + $17 = HEAP32[$18 >> 2] | 0; + if (($17 + -1 | 0) >>> 0 > 126) { + if (!$17) break; + $23 = _wcrtomb($$05784, $17, 0) | 0; + if (($23 | 0) == -1) { + $$0 = -1; + break L1; + } + $$1 = $$05784 + $23 | 0; + $$361 = $$26083 - $23 | 0; + $31 = $18; + } else { + HEAP8[$$05784 >> 0] = $17; + $$1 = $$05784 + 1 | 0; + $$361 = $$26083 + -1 | 0; + $31 = HEAP32[$1 >> 2] | 0; + } + $18 = $31 + 4 | 0; + HEAP32[$1 >> 2] = $18; + if ($$361 >>> 0 <= 3) { + $$057$lcssa = $$1; + $$260$lcssa = $$361; + break L10; + } else { + $$05784 = $$1; + $$26083 = $$361; + } + } + HEAP8[$$05784 >> 0] = 0; + HEAP32[$1 >> 2] = 0; + $$0 = $2 - $$26083 | 0; + break L1; + } else { + $$057$lcssa = $0; + $$260$lcssa = $2; + } while (0); + if ($$260$lcssa) { + $$278 = $$057$lcssa; + $$477 = $$260$lcssa; + $35 = HEAP32[$1 >> 2] | 0; + while (1) { + $34 = HEAP32[$35 >> 2] | 0; + if (($34 + -1 | 0) >>> 0 > 126) { + if (!$34) { + label = 20; + break; + } + $40 = _wcrtomb($4, $34, 0) | 0; + if (($40 | 0) == -1) { + $$0 = -1; + break L1; + } + if ($$477 >>> 0 < $40 >>> 0) { + label = 23; + break; + } + _wcrtomb($$278, HEAP32[$35 >> 2] | 0, 0) | 0; + $$3 = $$278 + $40 | 0; + $$5 = $$477 - $40 | 0; + $51 = $35; + } else { + HEAP8[$$278 >> 0] = $34; + $$3 = $$278 + 1 | 0; + $$5 = $$477 + -1 | 0; + $51 = HEAP32[$1 >> 2] | 0; + } + $35 = $51 + 4 | 0; + HEAP32[$1 >> 2] = $35; + if (!$$5) { + $$0 = $2; + break L1; + } else { + $$278 = $$3; + $$477 = $$5; + } + } + if ((label | 0) == 20) { + HEAP8[$$278 >> 0] = 0; + HEAP32[$1 >> 2] = 0; + $$0 = $2 - $$477 | 0; + break; + } else if ((label | 0) == 23) { + $$0 = $2 - $$477 | 0; + break; + } + } else $$0 = $2; + } while (0); + STACKTOP = sp; + return $$0 | 0; +} + +function _arGetLine($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 $$0108 = 0, $$0109 = 0, $$0110 = 0, $$1 = 0, $10 = 0, $11 = 0, $13 = 0, $15 = 0, $17 = 0, $22 = 0.0, $25 = 0, $29 = 0, $31 = 0, $33 = 0, $44 = 0, $45 = 0, $54 = 0, $56 = 0.0, $59 = 0.0, $61 = 0, $7 = 0, $72 = 0, $73 = 0, $76 = 0.0, $78 = 0, $8 = 0, $81 = 0.0, $83 = 0.0, $86 = 0, $89 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $7 = sp + 4 | 0; + $8 = sp; + $9 = _arVecAlloc(2) | 0; + $10 = _arVecAlloc(2) | 0; + $11 = _arMatrixAlloc(2, 2) | 0; + $$0109 = 0; + L1 : while (1) { + if ($$0109 >>> 0 >= 4) { + label = 10; + break; + } + $13 = $$0109 + 1 | 0; + $15 = HEAP32[$3 + ($13 << 2) >> 2] | 0; + $17 = HEAP32[$3 + ($$0109 << 2) >> 2] | 0; + $22 = +($15 + 1 - $17 | 0) * .05 + .5; + $25 = ~~($22 + +($17 | 0)); + $29 = ~~(+($15 | 0) - $22) - $25 | 0; + $31 = _arMatrixAlloc($29 + 1 | 0, 2) | 0; + $$0108 = 0; + while (1) { + if (($$0108 | 0) > ($29 | 0)) break; + $33 = $$0108 + $25 | 0; + if ((_arParamObserv2IdealLTf($4, +(HEAP32[$0 + ($33 << 2) >> 2] | 0), +(HEAP32[$1 + ($33 << 2) >> 2] | 0), $7, $8) | 0) < 0) { + label = 6; + break L1; + } + $44 = HEAP32[$31 >> 2] | 0; + $45 = $$0108 << 1; + HEAPF64[$44 + ($45 << 3) >> 3] = +HEAPF32[$7 >> 2]; + HEAPF64[$44 + (($45 | 1) << 3) >> 3] = +HEAPF32[$8 >> 2]; + $$0108 = $$0108 + 1 | 0; + } + if ((_arMatrixPCA($31, $11, $9, $10) | 0) < 0) { + label = 14; + break; + } + $54 = HEAP32[$11 >> 2] | 0; + $56 = +HEAPF64[$54 + 8 >> 3]; + HEAPF64[$5 + ($$0109 * 24 | 0) >> 3] = $56; + $59 = -+HEAPF64[$54 >> 3]; + HEAPF64[$5 + ($$0109 * 24 | 0) + 8 >> 3] = $59; + $61 = HEAP32[$10 >> 2] | 0; + HEAPF64[$5 + ($$0109 * 24 | 0) + 16 >> 3] = -($56 * +HEAPF64[$61 >> 3] + +HEAPF64[$61 + 8 >> 3] * $59); + _arMatrixFree($31) | 0; + $$0109 = $13; + } + L10 : do if ((label | 0) == 6) label = 14; else if ((label | 0) == 10) { + _arMatrixFree($11) | 0; + _arVecFree($10) | 0; + _arVecFree($9) | 0; + $$1 = 0; + while (1) { + if ($$1 >>> 0 >= 4) { + $$0110 = 0; + break L10; + } + $72 = $$1 + 3 & 3; + $73 = $5 + ($72 * 24 | 0) | 0; + $76 = +HEAPF64[$5 + ($$1 * 24 | 0) + 8 >> 3]; + $78 = $5 + ($$1 * 24 | 0) | 0; + $81 = +HEAPF64[$5 + ($72 * 24 | 0) + 8 >> 3]; + $83 = +HEAPF64[$73 >> 3] * $76 - +HEAPF64[$78 >> 3] * $81; + if (+Math_abs(+$83) < .0001) { + $$0110 = -1; + break L10; + } + $86 = $5 + ($$1 * 24 | 0) + 16 | 0; + $89 = $5 + ($72 * 24 | 0) + 16 | 0; + HEAPF64[$6 + ($$1 << 4) >> 3] = ($81 * +HEAPF64[$86 >> 3] - $76 * +HEAPF64[$89 >> 3]) / $83; + HEAPF64[$6 + ($$1 << 4) + 8 >> 3] = (+HEAPF64[$78 >> 3] * +HEAPF64[$89 >> 3] - +HEAPF64[$73 >> 3] * +HEAPF64[$86 >> 3]) / $83; + $$1 = $$1 + 1 | 0; + } + } while (0); + if ((label | 0) == 14) { + _arMatrixFree($31) | 0; + _arMatrixFree($11) | 0; + _arVecFree($10) | 0; + _arVecFree($9) | 0; + $$0110 = -1; + } + STACKTOP = sp; + return $$0110 | 0; +} + +function _arGetMarkerInfo($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + $9 = $9 | 0; + $10 = +$10; + $11 = $11 | 0; + $12 = $12 | 0; + $13 = $13 | 0; + var $$0 = 0, $$0113 = 0, $$1 = 0, $$sink = 0, $$sink118 = 0, $$sink119$in = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $42 = 0, $45 = 0, $46 = 0, $47 = 0, $48 = 0, $49 = 0, $50 = 0, $53 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $14 = sp + 4 | 0; + $15 = sp; + $16 = $8 >>> 0 < 2; + $17 = ($8 | 0) == 2; + $$0 = 0; + $$0113 = 0; + while (1) { + if (($$0 | 0) >= ($5 | 0)) break; + HEAP32[$11 + ($$0113 << 8) >> 2] = HEAP32[$4 + ($$0 * 80048 | 0) >> 2]; + if ((_arParamObserv2IdealLTf($9, +HEAPF64[$4 + ($$0 * 80048 | 0) + 8 >> 3], +HEAPF64[$4 + ($$0 * 80048 | 0) + 16 >> 3], $14, $15) | 0) >= 0 ? (HEAPF64[$11 + ($$0113 << 8) + 56 >> 3] = +HEAPF32[$14 >> 2], HEAPF64[$11 + ($$0113 << 8) + 64 >> 3] = +HEAPF32[$15 >> 2], $42 = $11 + ($$0113 << 8) + 168 | 0, (_arGetLine($4 + ($$0 * 80048 | 0) + 28 | 0, $4 + ($$0 * 80048 | 0) + 40028 | 0, HEAP32[$4 + ($$0 * 80048 | 0) + 24 >> 2] | 0, $4 + ($$0 * 80048 | 0) + 80028 | 0, $9, $11 + ($$0113 << 8) + 72 | 0, $42) | 0) >= 0) : 0) { + $45 = $11 + ($$0113 << 8) + 8 | 0; + $46 = $11 + ($$0113 << 8) + 20 | 0; + $47 = $11 + ($$0113 << 8) + 40 | 0; + $48 = $11 + ($$0113 << 8) + 12 | 0; + $49 = $11 + ($$0113 << 8) + 24 | 0; + $50 = $11 + ($$0113 << 8) + 48 | 0; + $53 = _arPattGetIDGlobal($6, $7, $8, $0, $1, $2, $3, $9, $42, $10, $45, $46, $47, $48, $49, $50, $13, $11 + ($$0113 << 8) + 240 | 0, $11 + ($$0113 << 8) + 248 | 0) | 0; + switch ($53 | 0) { + case 0: + { + $$sink = $53; + label = 12; + break; + } + case -1: + { + $$sink = 2; + label = 12; + break; + } + case -2: + { + $$sink = 3; + label = 12; + break; + } + case -3: + { + $$sink = 4; + label = 12; + break; + } + case -4: + { + $$sink = 5; + label = 12; + break; + } + case -5: + { + $$sink = 9; + label = 12; + break; + } + case -6: + { + $$sink = 1; + label = 12; + break; + } + default: + {} + } + if ((label | 0) == 12) { + label = 0; + HEAP32[$11 + ($$0113 << 8) + 236 >> 2] = $$sink; + } + if (!$16) { + if ($17) { + HEAP32[$11 + ($$0113 << 8) + 4 >> 2] = HEAP32[$48 >> 2]; + $$sink118 = $50; + $$sink119$in = $49; + label = 17; + } + } else { + HEAP32[$11 + ($$0113 << 8) + 4 >> 2] = HEAP32[$45 >> 2]; + $$sink118 = $47; + $$sink119$in = $46; + label = 17; + } + if ((label | 0) == 17) { + label = 0; + HEAP32[$11 + ($$0113 << 8) + 16 >> 2] = HEAP32[$$sink119$in >> 2]; + HEAPF64[$11 + ($$0113 << 8) + 32 >> 3] = +HEAPF64[$$sink118 >> 3]; + } + $$1 = $$0113 + 1 | 0; + } else $$1 = $$0113; + $$0 = $$0 + 1 | 0; + $$0113 = $$1; + } + HEAP32[$12 >> 2] = $$0113; + STACKTOP = sp; + return 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E17parseCtorDtorNameERPNS0_4NodeEPNS5_9NameStateE($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$1 = 0, $$3 = 0, $10 = 0, $12 = 0, $13 = 0, $25 = 0, $3 = 0, $4 = 0, $5 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp; + $4 = sp + 4 | 0; + $5 = HEAP32[$1 >> 2] | 0; + if ((__ZNK12_GLOBAL__N_116itanium_demangle4Node7getKindEv($5) | 0) << 24 >> 24 == 36 ? ($9 = HEAP32[$5 + 8 >> 2] | 0, HEAP32[$3 >> 2] = $9, ($9 + -2 | 0) >>> 0 < 4) : 0) { + $10 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_27ExpandedSpecialSubstitutionEJRNS0_14SpecialSubKindEEEEPNS0_4NodeEDpOT0_($0, $3) | 0; + HEAP32[$1 >> 2] = $10; + } + L7 : do if (!(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 67) | 0)) if ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 0) | 0) << 24 >> 24 == 68) { + $25 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 1) | 0; + switch ($25 << 24 >> 24) { + case 53: + case 50: + case 49: + case 48: + break; + default: + { + $$3 = 0; + break L7; + } + } + HEAP32[$3 >> 2] = ($25 << 24 >> 24) + -48; + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 2; + if ($2 | 0) HEAP8[$2 >> 0] = 1; + HEAP8[$4 >> 0] = 1; + $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_12CtorDtorNameEJRPNS0_4NodeEbRiEEES9_DpOT0_($0, $1, $4, $3) | 0; + } else $$3 = 0; else { + $12 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 73) | 0; + $13 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 0) | 0; + switch ($13 << 24 >> 24) { + case 53: + case 51: + case 50: + case 49: + break; + default: + { + $$3 = 0; + break L7; + } + } + HEAP32[$3 >> 2] = ($13 << 24 >> 24) + -48; + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + if ($2 | 0) HEAP8[$2 >> 0] = 1; + if ($12 ? (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseNameEPNS5_9NameStateE(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0, $2) | 0) == 0 : 0) $$1 = 0; else { + HEAP8[$4 >> 0] = 0; + $$1 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_12CtorDtorNameEJRPNS0_4NodeEbRiEEES9_DpOT0_($0, $1, $4, $3) | 0; + } + $$3 = $$1; + } while (0); + STACKTOP = sp; + return $$3 | 0; +} + +function _decode_mcu_DC_refine_64($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0$lcssa = 0, $$017$i = 0, $$037$lcssa = 0, $$03744 = 0, $$03943 = 0, $$040 = 0, $$045 = 0, $$1 = 0, $$138 = 0, $$in = 0, $11 = 0, $15 = 0, $16 = 0, $2 = 0, $23 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $49 = 0, $5 = 0, $50 = 0, $53 = 0, $54 = 0, $65 = 0, $73 = 0, $75 = 0, $76 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp; + $4 = HEAP32[$0 + 468 >> 2] | 0; + $5 = $0 + 280 | 0; + if (HEAP32[$5 >> 2] | 0 ? ($8 = $4 + 44 | 0, (HEAP32[$8 >> 2] | 0) == 0) : 0) { + $11 = $4 + 16 | 0; + $15 = HEAP32[$0 + 464 >> 2] | 0; + $16 = $15 + 24 | 0; + HEAP32[$16 >> 2] = (HEAP32[$16 >> 2] | 0) + ((HEAP32[$11 >> 2] | 0) / 8 | 0); + HEAP32[$11 >> 2] = 0; + if (!(FUNCTION_TABLE_ii[HEAP32[$15 + 8 >> 2] & 127]($0) | 0)) { + $$040 = 0; + STACKTOP = sp; + return $$040 | 0; + } + $23 = $0 + 340 | 0; + if ((HEAP32[$23 >> 2] | 0) > 0) { + $$017$i = 0; + do { + HEAP32[$4 + 24 + ($$017$i << 2) >> 2] = 0; + $$017$i = $$017$i + 1 | 0; + } while (($$017$i | 0) < (HEAP32[$23 >> 2] | 0)); + } + HEAP32[$4 + 20 >> 2] = 0; + HEAP32[$8 >> 2] = HEAP32[$5 >> 2]; + if (!(HEAP32[$0 + 440 >> 2] | 0)) HEAP32[$4 + 40 >> 2] = 0; + } + HEAP32[$2 + 16 >> 2] = $0; + $37 = $0 + 24 | 0; + $38 = HEAP32[$37 >> 2] | 0; + $39 = HEAP32[$38 >> 2] | 0; + HEAP32[$2 >> 2] = $39; + $41 = HEAP32[$38 + 4 >> 2] | 0; + $42 = $2 + 4 | 0; + HEAP32[$42 >> 2] = $41; + $43 = $4 + 12 | 0; + $44 = HEAP32[$43 >> 2] | 0; + $45 = $4 + 16 | 0; + $46 = HEAP32[$45 >> 2] | 0; + $49 = 1 << HEAP32[$0 + 424 >> 2]; + $50 = $0 + 368 | 0; + do if ((HEAP32[$50 >> 2] | 0) > 0) { + $53 = $2 + 8 | 0; + $54 = $2 + 12 | 0; + $$03744 = $44; + $$03943 = 0; + $$045 = $46; + while (1) { + if (($$045 | 0) < 1) { + if (!(_jpeg_fill_bit_buffer($2, $$03744, $$045, 1) | 0)) { + $$040 = 0; + label = 19; + break; + } + $$1 = HEAP32[$54 >> 2] | 0; + $$138 = HEAP32[$53 >> 2] | 0; + } else { + $$1 = $$045; + $$138 = $$03744; + } + $$045 = $$1 + -1 | 0; + if (1 << $$045 & $$138 | 0) { + $65 = HEAP32[$1 + ($$03943 << 2) >> 2] | 0; + HEAP16[$65 >> 1] = $49 | (HEAPU16[$65 >> 1] | 0); + } + $$03943 = $$03943 + 1 | 0; + if (($$03943 | 0) >= (HEAP32[$50 >> 2] | 0)) { + label = 17; + break; + } else $$03744 = $$138; + } + if ((label | 0) == 17) { + $$0$lcssa = $$045; + $$037$lcssa = $$138; + $$in = HEAP32[$37 >> 2] | 0; + $73 = HEAP32[$2 >> 2] | 0; + $75 = HEAP32[$42 >> 2] | 0; + break; + } else if ((label | 0) == 19) { + STACKTOP = sp; + return $$040 | 0; + } + } else { + $$0$lcssa = $46; + $$037$lcssa = $44; + $$in = $38; + $73 = $39; + $75 = $41; + } while (0); + HEAP32[$$in >> 2] = $73; + HEAP32[$$in + 4 >> 2] = $75; + HEAP32[$43 >> 2] = $$037$lcssa; + HEAP32[$45 >> 2] = $$0$lcssa; + $76 = $4 + 44 | 0; + HEAP32[$76 >> 2] = (HEAP32[$76 >> 2] | 0) + -1; + $$040 = 1; + STACKTOP = sp; + return $$040 | 0; +} + +function __ZNSt3__29__num_getIwE19__stage2_float_loopEwRbRcPcRS4_wwRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSE_RjPw($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + $9 = $9 | 0; + $10 = $10 | 0; + $11 = $11 | 0; + var $$0$i$idx = 0, $$0$i$ptr = 0, $$0$lcssa$i = 0, $$2 = 0, $15 = 0, $18 = 0, $25 = 0, $30 = 0, $34 = 0, $43 = 0, $48 = 0, $50 = 0, $56 = 0, $60 = 0, $61 = 0, $65 = 0, $75 = 0, $84 = 0, $91 = 0, $96 = 0, $98 = 0; + L1 : do if (($0 | 0) == ($5 | 0)) if (HEAP8[$1 >> 0] | 0) { + HEAP8[$1 >> 0] = 0; + $15 = HEAP32[$4 >> 2] | 0; + HEAP32[$4 >> 2] = $15 + 1; + HEAP8[$15 >> 0] = 46; + $18 = HEAP8[$7 + 11 >> 0] | 0; + if ((($18 << 24 >> 24 < 0 ? HEAP32[$7 + 4 >> 2] | 0 : $18 & 255) | 0) != 0 ? ($25 = HEAP32[$9 >> 2] | 0, ($25 - $8 | 0) < 160) : 0) { + $30 = HEAP32[$10 >> 2] | 0; + HEAP32[$9 >> 2] = $25 + 4; + HEAP32[$25 >> 2] = $30; + $$2 = 0; + } else $$2 = 0; + } else $$2 = -1; else { + if (($0 | 0) == ($6 | 0) ? ($34 = HEAP8[$7 + 11 >> 0] | 0, ($34 << 24 >> 24 < 0 ? HEAP32[$7 + 4 >> 2] | 0 : $34 & 255) | 0) : 0) { + if (!(HEAP8[$1 >> 0] | 0)) { + $$2 = -1; + break; + } + $43 = HEAP32[$9 >> 2] | 0; + if (($43 - $8 | 0) >= 160) { + $$2 = 0; + break; + } + $48 = HEAP32[$10 >> 2] | 0; + HEAP32[$9 >> 2] = $43 + 4; + HEAP32[$43 >> 2] = $48; + HEAP32[$10 >> 2] = 0; + $$2 = 0; + break; + } + $50 = $11 + 128 | 0; + $$0$i$idx = 0; + while (1) { + $$0$i$ptr = $11 + ($$0$i$idx << 2) | 0; + if (($$0$i$idx | 0) == 32) { + $$0$lcssa$i = $50; + break; + } + if ((HEAP32[$$0$i$ptr >> 2] | 0) == ($0 | 0)) { + $$0$lcssa$i = $$0$i$ptr; + break; + } else $$0$i$idx = $$0$i$idx + 1 | 0; + } + $56 = $$0$lcssa$i - $11 | 0; + if (($56 | 0) <= 124) { + $60 = HEAP8[12928 + ($56 >> 2) >> 0] | 0; + $61 = $56 + -88 | 0; + switch ($61 >>> 2 | $61 << 30 | 0) { + case 2: + case 3: + { + $65 = HEAP32[$4 >> 2] | 0; + if (($65 | 0) != ($3 | 0) ? (HEAP8[$65 + -1 >> 0] & 95) != (HEAP8[$2 >> 0] & 127) : 0) { + $$2 = -1; + break L1; + } + HEAP32[$4 >> 2] = $65 + 1; + HEAP8[$65 >> 0] = $60; + $$2 = 0; + break L1; + break; + } + case 1: + case 0: + { + HEAP8[$2 >> 0] = 80; + break; + } + default: + { + $75 = $60 & 95; + if (((($75 | 0) == (HEAP8[$2 >> 0] | 0) ? (HEAP8[$2 >> 0] = $75 | 128, HEAP8[$1 >> 0] | 0) : 0) ? (HEAP8[$1 >> 0] = 0, $84 = HEAP8[$7 + 11 >> 0] | 0, ($84 << 24 >> 24 < 0 ? HEAP32[$7 + 4 >> 2] | 0 : $84 & 255) | 0) : 0) ? ($91 = HEAP32[$9 >> 2] | 0, ($91 - $8 | 0) < 160) : 0) { + $96 = HEAP32[$10 >> 2] | 0; + HEAP32[$9 >> 2] = $91 + 4; + HEAP32[$91 >> 2] = $96; + } + } + } + $98 = HEAP32[$4 >> 2] | 0; + HEAP32[$4 >> 2] = $98 + 1; + HEAP8[$98 >> 0] = $60; + if (($56 | 0) > 84) $$2 = 0; else { + HEAP32[$10 >> 2] = (HEAP32[$10 >> 2] | 0) + 1; + $$2 = 0; + } + } else $$2 = -1; + } while (0); + return $$2 | 0; +} + +function _jinit_d_main_controller($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$042 = 0, $$04243$i = 0, $$04344 = 0, $$044$i = 0, $$045 = 0, $$phi$trans$insert = 0, $$pre$phiZ2D = 0, $16 = 0, $17 = 0, $19 = 0, $2 = 0, $22 = 0, $25 = 0, $28 = 0, $29 = 0, $30 = 0, $32 = 0, $36 = 0, $37 = 0, $42 = 0, $44 = 0, $47 = 0, $5 = 0, $50 = 0, $58 = 0, $6 = 0, $60 = 0, $64 = 0, $67 = 0, $73 = 0, $74 = 0, $8 = 0, $82 = 0, $83 = 0, $84 = 0, $86 = 0, $90 = 0, $91 = 0; + $2 = $0 + 4 | 0; + $5 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$2 >> 2] >> 2] & 63]($0, 1, 80) | 0; + $6 = $0 + 448 | 0; + HEAP32[$6 >> 2] = $5; + HEAP32[$5 >> 2] = 136; + if ($1 | 0) { + $8 = HEAP32[$0 >> 2] | 0; + HEAP32[$8 + 20 >> 2] = 3; + FUNCTION_TABLE_vi[HEAP32[$8 >> 2] & 255]($0); + } + $16 = $0 + 328 | 0; + $17 = HEAP32[$16 >> 2] | 0; + if (!(HEAP32[(HEAP32[$0 + 476 >> 2] | 0) + 8 >> 2] | 0)) { + HEAP32[$5 + 52 >> 2] = $17; + $$phi$trans$insert = $0 + 36 | 0; + $$042 = $17; + $$pre$phiZ2D = $$phi$trans$insert; + $64 = HEAP32[$$phi$trans$insert >> 2] | 0; + $91 = $17; + } else { + if (($17 | 0) < 2) { + $19 = HEAP32[$0 >> 2] | 0; + HEAP32[$19 + 20 >> 2] = 48; + FUNCTION_TABLE_vi[HEAP32[$19 >> 2] & 255]($0); + $37 = HEAP32[$16 >> 2] | 0; + } else $37 = $17; + $22 = HEAP32[$6 >> 2] | 0; + $25 = $0 + 36 | 0; + $28 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$2 >> 2] >> 2] & 63]($0, 1, HEAP32[$25 >> 2] << 3) | 0; + $29 = $22 + 60 | 0; + HEAP32[$29 >> 2] = $28; + $30 = HEAP32[$25 >> 2] | 0; + $32 = $22 + 64 | 0; + HEAP32[$32 >> 2] = $28 + ($30 << 2); + if (($30 | 0) > 0) { + $36 = $37 + 4 | 0; + $$04243$i = HEAP32[$0 + 216 >> 2] | 0; + $$044$i = 0; + while (1) { + $42 = Math_imul(HEAP32[$$04243$i + 40 >> 2] | 0, HEAP32[$$04243$i + 12 >> 2] | 0) | 0; + $44 = ($42 | 0) / (HEAP32[$16 >> 2] | 0) | 0; + $47 = Math_imul($44, $36) | 0; + $50 = (FUNCTION_TABLE_iiii[HEAP32[HEAP32[$2 >> 2] >> 2] & 63]($0, 1, $47 << 3) | 0) + ($44 << 2) | 0; + HEAP32[(HEAP32[$29 >> 2] | 0) + ($$044$i << 2) >> 2] = $50; + HEAP32[(HEAP32[$32 >> 2] | 0) + ($$044$i << 2) >> 2] = $50 + ($47 << 2); + $$044$i = $$044$i + 1 | 0; + $58 = HEAP32[$25 >> 2] | 0; + if (($$044$i | 0) >= ($58 | 0)) { + $90 = $58; + break; + } else $$04243$i = $$04243$i + 88 | 0; + } + } else $90 = $30; + $60 = HEAP32[$16 >> 2] | 0; + $$042 = $60 + 2 | 0; + $$pre$phiZ2D = $25; + $64 = $90; + $91 = $60; + } + if (($64 | 0) <= 0) return; + $67 = $5 + 8 | 0; + $$04344 = 0; + $$045 = HEAP32[$0 + 216 >> 2] | 0; + $74 = $91; + while (1) { + $73 = (Math_imul(HEAP32[$$045 + 40 >> 2] | 0, HEAP32[$$045 + 12 >> 2] | 0) | 0) / ($74 | 0) | 0; + $82 = Math_imul(HEAP32[$$045 + 36 >> 2] | 0, HEAP32[$$045 + 28 >> 2] | 0) | 0; + $83 = Math_imul($73, $$042) | 0; + $84 = FUNCTION_TABLE_iiiii[HEAP32[(HEAP32[$2 >> 2] | 0) + 8 >> 2] & 15]($0, 1, $82, $83) | 0; + HEAP32[$67 + ($$04344 << 2) >> 2] = $84; + $86 = $$04344 + 1 | 0; + if (($86 | 0) >= (HEAP32[$$pre$phiZ2D >> 2] | 0)) break; + $$04344 = $86; + $$045 = $$045 + 88 | 0; + $74 = HEAP32[$16 >> 2] | 0; + } + return; +} + +function _arglCameraFrustumRH($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = +$1; + $2 = +$2; + $3 = $3 | 0; + var $$0 = 0, $$053 = 0, $$1 = 0, $$154 = 0, $$2 = 0, $10 = 0, $15 = 0.0, $19 = 0, $24 = 0.0, $34 = 0.0, $4 = 0, $48 = 0, $5 = 0, $6 = 0, $62 = 0, $64 = 0.0, $7 = 0, $71 = 0, $75 = 0.0, $77 = 0.0, $79 = 0.0, $8 = 0, $81 = 0.0, $82 = 0, $83 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 416 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(416); + $4 = sp + 304 | 0; + $5 = sp + 208 | 0; + $6 = sp + 128 | 0; + $7 = sp; + $8 = HEAP32[$0 >> 2] | 0; + $10 = HEAP32[$0 + 4 >> 2] | 0; + L1 : do if ((_arParamDecompMat($0 + 8 | 0, $4, $5) | 0) < 0) _arLog(0, 3, 24663, sp + 400 | 0); else { + $15 = +($10 + -1 | 0); + $$053 = 0; + while (1) { + if (($$053 | 0) == 4) break; + $19 = $4 + 32 + ($$053 << 3) | 0; + HEAPF64[$19 >> 3] = +HEAPF64[$4 + 64 + ($$053 << 3) >> 3] * $15 - +HEAPF64[$19 >> 3]; + $$053 = $$053 + 1 | 0; + } + $24 = +HEAPF64[$4 + 80 >> 3]; + $$154 = 0; + while (1) { + if (($$154 | 0) == 3) break; + $$0 = 0; + while (1) { + if (($$0 | 0) == 3) break; + HEAPF64[$6 + ($$154 * 24 | 0) + ($$0 << 3) >> 3] = +HEAPF64[$4 + ($$154 << 5) + ($$0 << 3) >> 3] / $24; + $$0 = $$0 + 1 | 0; + } + $$154 = $$154 + 1 | 0; + } + $34 = +($8 + -1 | 0); + HEAPF64[$7 >> 3] = +HEAPF64[$6 >> 3] * 2.0 / $34; + HEAPF64[$7 + 8 >> 3] = +HEAPF64[$6 + 8 >> 3] * 2.0 / $34; + HEAPF64[$7 + 16 >> 3] = -(+HEAPF64[$6 + 16 >> 3] * 2.0 / $34 + -1.0); + $48 = $7 + 24 | 0; + HEAP32[$48 >> 2] = 0; + HEAP32[$48 + 4 >> 2] = 0; + HEAP32[$48 + 8 >> 2] = 0; + HEAP32[$48 + 12 >> 2] = 0; + HEAPF64[$7 + 40 >> 3] = -(+HEAPF64[$6 + 32 >> 3] * 2.0 / $15); + HEAPF64[$7 + 48 >> 3] = -(+HEAPF64[$6 + 40 >> 3] * 2.0 / $15 + -1.0); + $62 = $7 + 56 | 0; + $64 = $1 - $2; + HEAP32[$62 >> 2] = 0; + HEAP32[$62 + 4 >> 2] = 0; + HEAP32[$62 + 8 >> 2] = 0; + HEAP32[$62 + 12 >> 2] = 0; + HEAP32[$62 + 16 >> 2] = 0; + HEAP32[$62 + 20 >> 2] = 0; + HEAPF64[$7 + 80 >> 3] = ($1 + $2) / $64; + HEAPF64[$7 + 88 >> 3] = $2 * 2.0 * $1 / $64; + $71 = $7 + 96 | 0; + HEAP32[$71 >> 2] = 0; + HEAP32[$71 + 4 >> 2] = 0; + HEAP32[$71 + 8 >> 2] = 0; + HEAP32[$71 + 12 >> 2] = 0; + HEAPF64[$7 + 112 >> 3] = -1.0; + HEAPF64[$7 + 120 >> 3] = 0.0; + $75 = +HEAPF64[$5 + 24 >> 3]; + $77 = +HEAPF64[$5 + 56 >> 3]; + $79 = +HEAPF64[$5 + 88 >> 3]; + $$2 = 0; + while (1) { + if (($$2 | 0) == 4) break L1; + $81 = +HEAPF64[$7 + ($$2 << 5) >> 3]; + $82 = $7 + ($$2 << 5) + 8 | 0; + $83 = $7 + ($$2 << 5) + 16 | 0; + $$1 = 0; + while (1) { + if (($$1 | 0) == 3) break; + HEAPF64[$3 + (($$1 << 2) + $$2 << 3) >> 3] = $81 * +HEAPF64[$5 + ($$1 << 3) >> 3] + +HEAPF64[$82 >> 3] * +HEAPF64[$5 + 32 + ($$1 << 3) >> 3] + +HEAPF64[$83 >> 3] * +HEAPF64[$5 + 64 + ($$1 << 3) >> 3]; + $$1 = $$1 + 1 | 0; + } + HEAPF64[$3 + ($$2 + 12 << 3) >> 3] = +HEAPF64[$7 + ($$2 << 5) + 24 >> 3] + ($81 * $75 + +HEAPF64[$82 >> 3] * $77 + +HEAPF64[$83 >> 3] * $79); + $$2 = $$2 + 1 | 0; + } + } while (0); + STACKTOP = sp; + return; +} + +function _decompress_data($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$07896 = 0, $$07989 = 0, $$08091 = 0, $$08188 = 0, $$08287 = 0, $$083 = 0, $$08490 = 0, $$08594 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $23 = 0, $28 = 0, $29 = 0, $3 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $48 = 0, $49 = 0, $53 = 0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $61 = 0, $68 = 0, $7 = 0, $78 = 0, $8 = 0, $81 = 0, $9 = 0, label = 0; + $3 = HEAP32[$0 + 452 >> 2] | 0; + $4 = $0 + 332 | 0; + $6 = (HEAP32[$4 >> 2] | 0) + -1 | 0; + $7 = $0 + 144 | 0; + $8 = $0 + 152 | 0; + $9 = $0 + 460 | 0; + $10 = $0 + 148 | 0; + $11 = $0 + 156 | 0; + while (1) { + $12 = HEAP32[$7 >> 2] | 0; + $13 = HEAP32[$8 >> 2] | 0; + if (($12 | 0) >= ($13 | 0)) { + if (($12 | 0) != ($13 | 0)) break; + if ((HEAP32[$10 >> 2] | 0) >>> 0 > (HEAP32[$11 >> 2] | 0) >>> 0) break; + } + if (!(FUNCTION_TABLE_ii[HEAP32[HEAP32[$9 >> 2] >> 2] & 127]($0) | 0)) { + $$0 = 0; + label = 20; + break; + } + } + if ((label | 0) == 20) return $$0 | 0; + $23 = $0 + 36 | 0; + if ((HEAP32[$23 >> 2] | 0) > 0) { + $28 = $0 + 4 | 0; + $29 = $0 + 472 | 0; + $$07896 = HEAP32[$0 + 216 >> 2] | 0; + $$08594 = 0; + while (1) { + if (HEAP32[$$07896 + 52 >> 2] | 0) { + $39 = $$07896 + 12 | 0; + $40 = HEAP32[$39 >> 2] | 0; + $41 = Math_imul($40, HEAP32[$11 >> 2] | 0) | 0; + $42 = FUNCTION_TABLE_iiiiii[HEAP32[(HEAP32[$28 >> 2] | 0) + 32 >> 2] & 31]($0, HEAP32[$3 + 72 + ($$08594 << 2) >> 2] | 0, $41, $40, 0) | 0; + if ((HEAP32[$11 >> 2] | 0) >>> 0 < $6 >>> 0) $$083 = HEAP32[$39 >> 2] | 0; else { + $48 = HEAP32[$39 >> 2] | 0; + $49 = ((HEAP32[$$07896 + 32 >> 2] | 0) >>> 0) % ($48 >>> 0) | 0; + $$083 = ($49 | 0) == 0 ? $48 : $49; + } + $53 = HEAP32[(HEAP32[$29 >> 2] | 0) + 4 + ($$08594 << 2) >> 2] | 0; + if (($$083 | 0) > 0) { + $57 = $$07896 + 28 | 0; + $58 = $$07896 + 40 | 0; + $59 = $$07896 + 36 | 0; + $$08091 = HEAP32[$1 + ($$08594 << 2) >> 2] | 0; + $$08490 = 0; + $61 = HEAP32[$57 >> 2] | 0; + while (1) { + if (!$61) $81 = 0; else { + $$07989 = 0; + $$08188 = HEAP32[$42 + ($$08490 << 2) >> 2] | 0; + $$08287 = 0; + while (1) { + FUNCTION_TABLE_viiiii[$53 & 63]($0, $$07896, $$08188, $$08091, $$07989); + $$08287 = $$08287 + 1 | 0; + $68 = HEAP32[$57 >> 2] | 0; + if ($$08287 >>> 0 >= $68 >>> 0) { + $81 = $68; + break; + } else { + $$07989 = (HEAP32[$59 >> 2] | 0) + $$07989 | 0; + $$08188 = $$08188 + 128 | 0; + } + } + } + $$08490 = $$08490 + 1 | 0; + if (($$08490 | 0) == ($$083 | 0)) break; else { + $$08091 = $$08091 + (HEAP32[$58 >> 2] << 2) | 0; + $61 = $81; + } + } + } + } + $$08594 = $$08594 + 1 | 0; + if (($$08594 | 0) >= (HEAP32[$23 >> 2] | 0)) break; else $$07896 = $$07896 + 88 | 0; + } + } + $78 = (HEAP32[$11 >> 2] | 0) + 1 | 0; + HEAP32[$11 >> 2] = $78; + $$0 = $78 >>> 0 < (HEAP32[$4 >> 2] | 0) >>> 0 ? 3 : 4; + 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, $$169$be = 0, $$2 = 0, $$2$be = 0, $$be = 0, $12 = 0, $15 = 0, $15$phi = 0, $16 = 0, $17 = 0, $22 = 0, $24 = 0, $26 = 0, $29 = 0, $37 = 0, $38 = 0, $4 = 0, $40 = 0, $43 = 0, $47 = 0, $49 = 0, $5 = 0, $59 = 0, $6 = 0, $60 = 0, $61 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 208 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(208); + $4 = sp; + $5 = sp + 192 | 0; + $6 = Math_imul($2, $1) | 0; + $7 = $5; + HEAP32[$7 >> 2] = 1; + HEAP32[$7 + 4 >> 2] = 0; + L1 : do if ($6 | 0) { + $12 = 0 - $2 | 0; + HEAP32[$4 + 4 >> 2] = $2; + HEAP32[$4 >> 2] = $2; + $$0 = 2; + $15 = $2; + $17 = $2; + while (1) { + $16 = $15 + $2 + $17 | 0; + HEAP32[$4 + ($$0 << 2) >> 2] = $16; + if ($16 >>> 0 < $6 >>> 0) { + $15$phi = $17; + $$0 = $$0 + 1 | 0; + $17 = $16; + $15 = $15$phi; + } else break; + } + $22 = $0 + $6 + $12 | 0; + if ($22 >>> 0 > $0 >>> 0) { + $24 = $22; + $$06772 = 1; + $$06871 = $0; + $26 = 1; + while (1) { + do if (($26 & 3 | 0) != 3) { + $29 = $$06772 + -1 | 0; + if ((HEAP32[$4 + ($29 << 2) >> 2] | 0) >>> 0 < ($24 - $$06871 | 0) >>> 0) _sift($$06871, $2, $3, $$06772, $4); else _trinkle($$06871, $2, $3, $5, $$06772, 0, $4); + if (($$06772 | 0) == 1) { + _shl($5, 1); + $$1 = 0; + break; + } else { + _shl($5, $29); + $$1 = 1; + break; + } + } else { + _sift($$06871, $2, $3, $$06772, $4); + _shr($5, 2); + $$1 = $$06772 + 2 | 0; + } while (0); + $37 = HEAP32[$5 >> 2] | 1; + HEAP32[$5 >> 2] = $37; + $38 = $$06871 + $2 | 0; + if ($38 >>> 0 < $22 >>> 0) { + $$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) { + if (($$2 | 0) == 1 & ($43 | 0) == 1) if (!(HEAP32[$40 >> 2] | 0)) break L1; else label = 19; else if (($$2 | 0) < 2) label = 19; else { + _shl($5, 2); + $49 = $$2 + -2 | 0; + HEAP32[$5 >> 2] = HEAP32[$5 >> 2] ^ 7; + _shr($5, 1); + _trinkle($$169 + (0 - (HEAP32[$4 + ($49 << 2) >> 2] | 0)) + $12 | 0, $2, $3, $5, $$2 + -1 | 0, 1, $4); + _shl($5, 1); + $59 = HEAP32[$5 >> 2] | 1; + HEAP32[$5 >> 2] = $59; + $60 = $$169 + $12 | 0; + _trinkle($60, $2, $3, $5, $49, 1, $4); + $$169$be = $60; + $$2$be = $49; + $$be = $59; + } + if ((label | 0) == 19) { + label = 0; + $47 = _pntz($5) | 0; + _shr($5, $47); + $$169$be = $$169 + $12 | 0; + $$2$be = $47 + $$2 | 0; + $$be = HEAP32[$5 >> 2] | 0; + } + $$169 = $$169$be; + $$2 = $$2$be; + $43 = $$be; + } + } while (0); + STACKTOP = sp; + return; +} + +function _start_output_pass($0) { + $0 = $0 | 0; + var $$05058$i = 0, $$05157$i = 0, $$05356$i = 0, $$059$i = 0, $$pre$phi$iZ2D = 0, $12 = 0, $15 = 0, $16 = 0, $2 = 0, $21 = 0, $24 = 0, $30 = 0, $49 = 0, $53 = 0, $56 = 0, $57 = 0, $61 = 0, $62 = 0, $66 = 0, $67 = 0, $71 = 0, $72 = 0, $85 = 0, $86 = 0, $decompress_smooth_data$sink = 0, label = 0; + $2 = HEAP32[$0 + 452 >> 2] | 0; + if (!(HEAP32[$2 + 16 >> 2] | 0)) { + $85 = $0 + 156 | 0; + HEAP32[$85 >> 2] = 0; + return; + } + L4 : do if (((HEAP32[$0 + 80 >> 2] | 0) != 0 ? (HEAP32[$0 + 224 >> 2] | 0) != 0 : 0) ? ($12 = $0 + 160 | 0, (HEAP32[$12 >> 2] | 0) != 0) : 0) { + $15 = $2 + 112 | 0; + $16 = HEAP32[$15 >> 2] | 0; + if (!$16) { + $21 = $0 + 36 | 0; + $24 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$0 + 4 >> 2] >> 2] & 63]($0, 1, (HEAP32[$21 >> 2] | 0) * 24 | 0) | 0; + HEAP32[$15 >> 2] = $24; + $$pre$phi$iZ2D = $21; + $86 = $24; + } else { + $$pre$phi$iZ2D = $0 + 36 | 0; + $86 = $16; + } + if ((HEAP32[$$pre$phi$iZ2D >> 2] | 0) > 0) { + $$05058$i = 0; + $$05157$i = HEAP32[$0 + 216 >> 2] | 0; + $$05356$i = 0; + $$059$i = $86; + while (1) { + $30 = HEAP32[$$05157$i + 80 >> 2] | 0; + if (!$30) { + label = 20; + break L4; + } + if (!(HEAP16[$30 >> 1] | 0)) { + label = 20; + break L4; + } + if (!(HEAP16[$30 + 2 >> 1] | 0)) { + label = 20; + break L4; + } + if (!(HEAP16[$30 + 16 >> 1] | 0)) { + label = 20; + break L4; + } + if (!(HEAP16[$30 + 32 >> 1] | 0)) { + label = 20; + break L4; + } + if (!(HEAP16[$30 + 18 >> 1] | 0)) { + label = 20; + break L4; + } + if (!(HEAP16[$30 + 4 >> 1] | 0)) { + label = 20; + break L4; + } + $49 = HEAP32[$12 >> 2] | 0; + if ((HEAP32[$49 + ($$05356$i << 8) >> 2] | 0) < 0) { + label = 20; + break L4; + } + $53 = $49 + ($$05356$i << 8) + 4 | 0; + HEAP32[$$059$i + 4 >> 2] = HEAP32[$53 >> 2]; + $56 = HEAP32[$53 >> 2] | 0; + $57 = $49 + ($$05356$i << 8) + 8 | 0; + HEAP32[$$059$i + 8 >> 2] = HEAP32[$57 >> 2]; + $61 = HEAP32[$57 >> 2] | $56; + $62 = $49 + ($$05356$i << 8) + 12 | 0; + HEAP32[$$059$i + 12 >> 2] = HEAP32[$62 >> 2]; + $66 = $61 | HEAP32[$62 >> 2]; + $67 = $49 + ($$05356$i << 8) + 16 | 0; + HEAP32[$$059$i + 16 >> 2] = HEAP32[$67 >> 2]; + $71 = $66 | HEAP32[$67 >> 2]; + $72 = $49 + ($$05356$i << 8) + 20 | 0; + HEAP32[$$059$i + 20 >> 2] = HEAP32[$72 >> 2]; + $$05058$i = ($71 | HEAP32[$72 >> 2] | 0) == 0 ? $$05058$i : 1; + $$05356$i = $$05356$i + 1 | 0; + if (($$05356$i | 0) >= (HEAP32[$$pre$phi$iZ2D >> 2] | 0)) break; else { + $$05157$i = $$05157$i + 88 | 0; + $$059$i = $$059$i + 24 | 0; + } + } + if ($$05058$i) $decompress_smooth_data$sink = 59; else label = 20; + } else label = 20; + } else label = 20; while (0); + if ((label | 0) == 20) $decompress_smooth_data$sink = 57; + HEAP32[$2 + 12 >> 2] = $decompress_smooth_data$sink; + $85 = $0 + 156 | 0; + HEAP32[$85 >> 2] = 0; + return; +} + +function __ZN6vision18HammingDistance768EPKjS1_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $10 = 0, $100 = 0, $106 = 0, $112 = 0, $118 = 0, $124 = 0, $130 = 0, $136 = 0, $16 = 0, $22 = 0, $28 = 0, $34 = 0, $4 = 0, $40 = 0, $46 = 0, $52 = 0, $58 = 0, $64 = 0, $70 = 0, $76 = 0, $82 = 0, $88 = 0, $94 = 0; + $4 = __ZN6vision17HammingDistance32Ejj(HEAP32[$0 >> 2] | 0, HEAP32[$1 >> 2] | 0) | 0; + $10 = (__ZN6vision17HammingDistance32Ejj(HEAP32[$0 + 4 >> 2] | 0, HEAP32[$1 + 4 >> 2] | 0) | 0) + $4 | 0; + $16 = $10 + (__ZN6vision17HammingDistance32Ejj(HEAP32[$0 + 8 >> 2] | 0, HEAP32[$1 + 8 >> 2] | 0) | 0) | 0; + $22 = $16 + (__ZN6vision17HammingDistance32Ejj(HEAP32[$0 + 12 >> 2] | 0, HEAP32[$1 + 12 >> 2] | 0) | 0) | 0; + $28 = $22 + (__ZN6vision17HammingDistance32Ejj(HEAP32[$0 + 16 >> 2] | 0, HEAP32[$1 + 16 >> 2] | 0) | 0) | 0; + $34 = $28 + (__ZN6vision17HammingDistance32Ejj(HEAP32[$0 + 20 >> 2] | 0, HEAP32[$1 + 20 >> 2] | 0) | 0) | 0; + $40 = $34 + (__ZN6vision17HammingDistance32Ejj(HEAP32[$0 + 24 >> 2] | 0, HEAP32[$1 + 24 >> 2] | 0) | 0) | 0; + $46 = $40 + (__ZN6vision17HammingDistance32Ejj(HEAP32[$0 + 28 >> 2] | 0, HEAP32[$1 + 28 >> 2] | 0) | 0) | 0; + $52 = $46 + (__ZN6vision17HammingDistance32Ejj(HEAP32[$0 + 32 >> 2] | 0, HEAP32[$1 + 32 >> 2] | 0) | 0) | 0; + $58 = $52 + (__ZN6vision17HammingDistance32Ejj(HEAP32[$0 + 36 >> 2] | 0, HEAP32[$1 + 36 >> 2] | 0) | 0) | 0; + $64 = $58 + (__ZN6vision17HammingDistance32Ejj(HEAP32[$0 + 40 >> 2] | 0, HEAP32[$1 + 40 >> 2] | 0) | 0) | 0; + $70 = $64 + (__ZN6vision17HammingDistance32Ejj(HEAP32[$0 + 44 >> 2] | 0, HEAP32[$1 + 44 >> 2] | 0) | 0) | 0; + $76 = $70 + (__ZN6vision17HammingDistance32Ejj(HEAP32[$0 + 48 >> 2] | 0, HEAP32[$1 + 48 >> 2] | 0) | 0) | 0; + $82 = $76 + (__ZN6vision17HammingDistance32Ejj(HEAP32[$0 + 52 >> 2] | 0, HEAP32[$1 + 52 >> 2] | 0) | 0) | 0; + $88 = $82 + (__ZN6vision17HammingDistance32Ejj(HEAP32[$0 + 56 >> 2] | 0, HEAP32[$1 + 56 >> 2] | 0) | 0) | 0; + $94 = $88 + (__ZN6vision17HammingDistance32Ejj(HEAP32[$0 + 60 >> 2] | 0, HEAP32[$1 + 60 >> 2] | 0) | 0) | 0; + $100 = $94 + (__ZN6vision17HammingDistance32Ejj(HEAP32[$0 + 64 >> 2] | 0, HEAP32[$1 + 64 >> 2] | 0) | 0) | 0; + $106 = $100 + (__ZN6vision17HammingDistance32Ejj(HEAP32[$0 + 68 >> 2] | 0, HEAP32[$1 + 68 >> 2] | 0) | 0) | 0; + $112 = $106 + (__ZN6vision17HammingDistance32Ejj(HEAP32[$0 + 72 >> 2] | 0, HEAP32[$1 + 72 >> 2] | 0) | 0) | 0; + $118 = $112 + (__ZN6vision17HammingDistance32Ejj(HEAP32[$0 + 76 >> 2] | 0, HEAP32[$1 + 76 >> 2] | 0) | 0) | 0; + $124 = $118 + (__ZN6vision17HammingDistance32Ejj(HEAP32[$0 + 80 >> 2] | 0, HEAP32[$1 + 80 >> 2] | 0) | 0) | 0; + $130 = $124 + (__ZN6vision17HammingDistance32Ejj(HEAP32[$0 + 84 >> 2] | 0, HEAP32[$1 + 84 >> 2] | 0) | 0) | 0; + $136 = $130 + (__ZN6vision17HammingDistance32Ejj(HEAP32[$0 + 88 >> 2] | 0, HEAP32[$1 + 88 >> 2] | 0) | 0) | 0; + return $136 + (__ZN6vision17HammingDistance32Ejj(HEAP32[$0 + 92 >> 2] | 0, HEAP32[$1 + 92 >> 2] | 0) | 0) | 0; +} + +function _jpeg_idct_2x4($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $108 = 0, $109 = 0, $123 = 0, $124 = 0, $13 = 0, $139 = 0, $141 = 0, $19 = 0, $21 = 0, $23 = 0, $29 = 0, $35 = 0, $37 = 0, $39 = 0, $41 = 0, $42 = 0, $45 = 0, $47 = 0, $5 = 0, $55 = 0, $61 = 0, $63 = 0, $65 = 0, $7 = 0, $71 = 0, $77 = 0, $79 = 0, $81 = 0, $83 = 0, $84 = 0, $85 = 0, $87 = 0, $89 = 0, $9 = 0, $91 = 0, $93 = 0, $94 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $5 = sp; + $7 = HEAP32[$0 + 336 >> 2] | 0; + $9 = HEAP32[$1 + 84 >> 2] | 0; + $13 = Math_imul(HEAP32[$9 >> 2] | 0, HEAP16[$2 >> 1] | 0) | 0; + $19 = Math_imul(HEAP32[$9 + 64 >> 2] | 0, HEAP16[$2 + 32 >> 1] | 0) | 0; + $21 = $19 + $13 << 13; + $23 = $13 - $19 << 13; + $29 = Math_imul(HEAP32[$9 + 32 >> 2] | 0, HEAP16[$2 + 16 >> 1] | 0) | 0; + $35 = Math_imul(HEAP32[$9 + 96 >> 2] | 0, HEAP16[$2 + 48 >> 1] | 0) | 0; + $37 = ($35 + $29 | 0) * 4433 | 0; + $39 = $37 + ($29 * 6270 | 0) | 0; + $41 = $37 + (Math_imul($35, -15137) | 0) | 0; + $42 = $39 + $21 | 0; + HEAP32[$5 >> 2] = $42; + HEAP32[$5 + 24 >> 2] = $21 - $39; + $45 = $41 + $23 | 0; + HEAP32[$5 + 8 >> 2] = $45; + $47 = $23 - $41 | 0; + HEAP32[$5 + 16 >> 2] = $47; + $55 = Math_imul(HEAP32[$9 + 4 >> 2] | 0, HEAP16[$2 + 2 >> 1] | 0) | 0; + $61 = Math_imul(HEAP32[$9 + 68 >> 2] | 0, HEAP16[$2 + 34 >> 1] | 0) | 0; + $63 = $61 + $55 << 13; + $65 = $55 - $61 << 13; + $71 = Math_imul(HEAP32[$9 + 36 >> 2] | 0, HEAP16[$2 + 18 >> 1] | 0) | 0; + $77 = Math_imul(HEAP32[$9 + 100 >> 2] | 0, HEAP16[$2 + 50 >> 1] | 0) | 0; + $79 = ($77 + $71 | 0) * 4433 | 0; + $81 = $79 + ($71 * 6270 | 0) | 0; + $83 = $79 + (Math_imul($77, -15137) | 0) | 0; + $84 = $81 + $63 | 0; + HEAP32[$5 + 4 >> 2] = $84; + $85 = $63 - $81 | 0; + HEAP32[$5 + 28 >> 2] = $85; + $87 = $83 + $65 | 0; + HEAP32[$5 + 12 >> 2] = $87; + $89 = $65 - $83 | 0; + HEAP32[$5 + 20 >> 2] = $89; + $91 = $7 + -384 | 0; + $93 = (HEAP32[$3 >> 2] | 0) + $4 | 0; + $94 = $42 + 33587200 | 0; + HEAP8[$93 >> 0] = HEAP8[$91 + (($94 + $84 | 0) >>> 16 & 1023) >> 0] | 0; + HEAP8[$93 + 1 >> 0] = HEAP8[$91 + (($94 - $84 | 0) >>> 16 & 1023) >> 0] | 0; + $108 = (HEAP32[$3 + 4 >> 2] | 0) + $4 | 0; + $109 = $45 + 33587200 | 0; + HEAP8[$108 >> 0] = HEAP8[$91 + (($109 + $87 | 0) >>> 16 & 1023) >> 0] | 0; + HEAP8[$108 + 1 >> 0] = HEAP8[$91 + (($109 - $87 | 0) >>> 16 & 1023) >> 0] | 0; + $123 = (HEAP32[$3 + 8 >> 2] | 0) + $4 | 0; + $124 = $47 + 33587200 | 0; + HEAP8[$123 >> 0] = HEAP8[$91 + (($124 + $89 | 0) >>> 16 & 1023) >> 0] | 0; + HEAP8[$123 + 1 >> 0] = HEAP8[$91 + (($124 - $89 | 0) >>> 16 & 1023) >> 0] | 0; + $139 = (HEAP32[$3 + 12 >> 2] | 0) + $4 | 0; + $141 = (HEAP32[$5 + 24 >> 2] | 0) + 33587200 | 0; + HEAP8[$139 >> 0] = HEAP8[$91 + (($141 + $85 | 0) >>> 16 & 1023) >> 0] | 0; + HEAP8[$139 + 1 >> 0] = HEAP8[$91 + (($141 - $85 | 0) >>> 16 & 1023) >> 0] | 0; + STACKTOP = sp; + return; +} + +function __ZNSt3__28ios_base4InitC2Ev($0) { + $0 = $0 | 0; + var $1 = 0, $14 = 0, $15 = 0, $16 = 0, $2 = 0, $22 = 0, $23 = 0, $3 = 0, $35 = 0, $38 = 0, $4 = 0, $42 = 0, $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + $1 = HEAP32[4272] | 0; + __ZNSt3__210__stdinbufIcEC2EP8_IO_FILEP11__mbstate_t(66144, $1, 66200); + HEAP32[16366] = 20700; + HEAP32[16368] = 20720; + HEAP32[16367] = 0; + __ZNSt3__28ios_base4initEPv(65472, 66144); + HEAP32[16386] = 0; + $2 = __ZNSt3__211char_traitsIcE3eofEv() | 0; + HEAP32[16387] = $2; + __ZNSt3__210__stdinbufIwEC2EP8_IO_FILEP11__mbstate_t(66208, $1, 66264); + HEAP32[16388] = 20748; + HEAP32[16390] = 20768; + HEAP32[16389] = 0; + __ZNSt3__28ios_base4initEPv(65560, 66208); + HEAP32[16408] = 0; + $3 = __ZNSt3__211char_traitsIwE3eofEv() | 0; + HEAP32[16409] = $3; + $4 = HEAP32[4273] | 0; + __ZNSt3__211__stdoutbufIcEC2EP8_IO_FILEP11__mbstate_t(66272, $4, 66320); + HEAP32[16410] = 20796; + HEAP32[16411] = 20816; + __ZNSt3__28ios_base4initEPv(65644, 66272); + HEAP32[16429] = 0; + $5 = __ZNSt3__211char_traitsIcE3eofEv() | 0; + HEAP32[16430] = $5; + __ZNSt3__211__stdoutbufIwEC2EP8_IO_FILEP11__mbstate_t(66328, $4, 66376); + HEAP32[16431] = 20844; + HEAP32[16432] = 20864; + __ZNSt3__28ios_base4initEPv(65728, 66328); + HEAP32[16450] = 0; + $6 = __ZNSt3__211char_traitsIwE3eofEv() | 0; + HEAP32[16451] = $6; + $7 = HEAP32[4271] | 0; + __ZNSt3__211__stdoutbufIcEC2EP8_IO_FILEP11__mbstate_t(66384, $7, 66432); + HEAP32[16452] = 20796; + HEAP32[16453] = 20816; + __ZNSt3__28ios_base4initEPv(65812, 66384); + HEAP32[16471] = 0; + $8 = __ZNSt3__211char_traitsIcE3eofEv() | 0; + HEAP32[16472] = $8; + $14 = HEAP32[65808 + (HEAP32[(HEAP32[16452] | 0) + -12 >> 2] | 0) + 24 >> 2] | 0; + HEAP32[16494] = 20796; + HEAP32[16495] = 20816; + __ZNSt3__28ios_base4initEPv(65980, $14); + HEAP32[16513] = 0; + $15 = __ZNSt3__211char_traitsIcE3eofEv() | 0; + HEAP32[16514] = $15; + __ZNSt3__211__stdoutbufIwEC2EP8_IO_FILEP11__mbstate_t(66440, $7, 66488); + HEAP32[16473] = 20844; + HEAP32[16474] = 20864; + __ZNSt3__28ios_base4initEPv(65896, 66440); + HEAP32[16492] = 0; + $16 = __ZNSt3__211char_traitsIwE3eofEv() | 0; + HEAP32[16493] = $16; + $22 = HEAP32[65892 + (HEAP32[(HEAP32[16473] | 0) + -12 >> 2] | 0) + 24 >> 2] | 0; + HEAP32[16515] = 20844; + HEAP32[16516] = 20864; + __ZNSt3__28ios_base4initEPv(66064, $22); + HEAP32[16534] = 0; + $23 = __ZNSt3__211char_traitsIwE3eofEv() | 0; + HEAP32[16535] = $23; + HEAP32[65464 + (HEAP32[(HEAP32[16366] | 0) + -12 >> 2] | 0) + 72 >> 2] = 65640; + HEAP32[65552 + (HEAP32[(HEAP32[16388] | 0) + -12 >> 2] | 0) + 72 >> 2] = 65724; + $35 = (HEAP32[16452] | 0) + -12 | 0; + $38 = 65808 + (HEAP32[$35 >> 2] | 0) + 4 | 0; + HEAP32[$38 >> 2] = HEAP32[$38 >> 2] | 8192; + $42 = (HEAP32[16473] | 0) + -12 | 0; + $45 = 65892 + (HEAP32[$42 >> 2] | 0) + 4 | 0; + HEAP32[$45 >> 2] = HEAP32[$45 >> 2] | 8192; + HEAP32[65808 + (HEAP32[$35 >> 2] | 0) + 72 >> 2] = 65640; + HEAP32[65892 + (HEAP32[$42 >> 2] | 0) + 72 >> 2] = 65724; + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle14IntegerLiteral9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $12 = 0, $17 = 0, $18 = 0, $2 = 0, $22 = 0, $23 = 0, $26 = 0, $3 = 0, $31 = 0, $32 = 0, $38 = 0, $4 = 0, $43 = 0, $44 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $tmpcast8$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(64); + $tmpcast8$byval_copy = sp + 56 | 0; + $2 = sp + 48 | 0; + $3 = sp + 16 | 0; + $4 = sp + 40 | 0; + $5 = sp + 32 | 0; + $6 = sp + 24 | 0; + $7 = sp + 8 | 0; + $8 = sp; + $9 = $0 + 8 | 0; + if ((__ZNK12_GLOBAL__N_110StringView4sizeEv($9) | 0) >>> 0 > 3) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 51968); + HEAP32[$tmpcast8$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$tmpcast8$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $tmpcast8$byval_copy); + $12 = $9; + $17 = HEAP32[$12 + 4 >> 2] | 0; + $18 = $3; + HEAP32[$18 >> 2] = HEAP32[$12 >> 2]; + HEAP32[$18 + 4 >> 2] = $17; + HEAP32[$tmpcast8$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$tmpcast8$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $tmpcast8$byval_copy); + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, 51964); + HEAP32[$tmpcast8$byval_copy >> 2] = HEAP32[$4 >> 2]; + HEAP32[$tmpcast8$byval_copy + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $tmpcast8$byval_copy); + } + $22 = $0 + 16 | 0; + $23 = __ZNK12_GLOBAL__N_110StringViewixEm($22) | 0; + if ((HEAP8[$23 >> 0] | 0) == 110) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($5, 52555); + HEAP32[$tmpcast8$byval_copy >> 2] = HEAP32[$5 >> 2]; + HEAP32[$tmpcast8$byval_copy + 4 >> 2] = HEAP32[$5 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $tmpcast8$byval_copy); + __ZNK12_GLOBAL__N_110StringView9dropFrontEm($6, $22, 1); + HEAP32[$tmpcast8$byval_copy >> 2] = HEAP32[$6 >> 2]; + HEAP32[$tmpcast8$byval_copy + 4 >> 2] = HEAP32[$6 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $tmpcast8$byval_copy); + } else { + $26 = $22; + $31 = HEAP32[$26 + 4 >> 2] | 0; + $32 = $7; + HEAP32[$32 >> 2] = HEAP32[$26 >> 2]; + HEAP32[$32 + 4 >> 2] = $31; + HEAP32[$tmpcast8$byval_copy >> 2] = HEAP32[$7 >> 2]; + HEAP32[$tmpcast8$byval_copy + 4 >> 2] = HEAP32[$7 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $tmpcast8$byval_copy); + } + if ((__ZNK12_GLOBAL__N_110StringView4sizeEv($9) | 0) >>> 0 < 4) { + $38 = $9; + $43 = HEAP32[$38 + 4 >> 2] | 0; + $44 = $8; + HEAP32[$44 >> 2] = HEAP32[$38 >> 2]; + HEAP32[$44 + 4 >> 2] = $43; + HEAP32[$tmpcast8$byval_copy >> 2] = HEAP32[$8 >> 2]; + HEAP32[$tmpcast8$byval_copy + 4 >> 2] = HEAP32[$8 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $tmpcast8$byval_copy); + } + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E23parseBaseUnresolvedNameEv($0) { + $0 = $0 | 0; + var $$0 = 0, $$1 = 0, $$2 = 0, $$byval_copy1 = 0, $1 = 0, $11 = 0, $12 = 0, $16 = 0, $2 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy1 = sp + 24 | 0; + $1 = sp + 16 | 0; + $2 = sp + 8 | 0; + $3 = sp; + do if ((((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 0) | 0) << 24 >> 24) + -48 | 0) >>> 0 < 10) $$2 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E13parseSimpleIdEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; else { + __ZN12_GLOBAL__N_110StringViewC2EPKc($1, 53757); + HEAP32[$$byval_copy1 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$$byval_copy1 + 4 >> 2] = HEAP32[$1 + 4 >> 2]; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy1) | 0) { + $$2 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E19parseDestructorNameEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + break; + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 53760); + HEAP32[$$byval_copy1 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy1 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy1) | 0; + $11 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + $12 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E17parseOperatorNameEPNS5_9NameStateE($11, 0) | 0; + HEAP32[$$byval_copy1 >> 2] = $12; + if ($12) if ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 0) | 0) << 24 >> 24 == 73) { + $16 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E17parseTemplateArgsEb($11, 0) | 0; + HEAP32[$3 >> 2] = $16; + if (!$16) $$0 = 0; else $$0 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_20NameWithTemplateArgsEJRPNS0_4NodeESA_EEES9_DpOT0_($0, $$byval_copy1, $3) | 0; + $$1 = $$0; + } else $$1 = $12; else $$1 = 0; + $$2 = $$1; + } while (0); + STACKTOP = sp; + return $$2 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle12FunctionType10printRightERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy6 = 0, $11 = 0, $15 = 0, $16 = 0, $2 = 0, $20 = 0, $23 = 0, $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(64); + $$byval_copy6 = sp + 56 | 0; + $2 = sp + 48 | 0; + $3 = sp + 40 | 0; + $4 = sp + 32 | 0; + $5 = sp + 24 | 0; + $6 = sp + 16 | 0; + $7 = sp + 8 | 0; + $8 = sp; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 51968); + HEAP32[$$byval_copy6 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy6 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy6); + __ZNK12_GLOBAL__N_116itanium_demangle9NodeArray14printWithCommaERNS_12OutputStreamE($0 + 12 | 0, $1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, 51964); + HEAP32[$$byval_copy6 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy6 + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy6); + $11 = HEAP32[$0 + 8 >> 2] | 0; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$11 >> 2] | 0) + 20 >> 2] & 255]($11, $1); + $15 = $0 + 20 | 0; + $16 = HEAP32[$15 >> 2] | 0; + if (!($16 & 1)) $20 = $16; else { + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, 56136); + HEAP32[$$byval_copy6 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy6 + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy6); + $20 = HEAP32[$15 >> 2] | 0; + } + if (!($20 & 2)) $23 = $20; else { + __ZN12_GLOBAL__N_110StringViewC2EPKc($5, 56143); + HEAP32[$$byval_copy6 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$$byval_copy6 + 4 >> 2] = HEAP32[$5 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy6); + $23 = HEAP32[$15 >> 2] | 0; + } + if ($23 & 4 | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($6, 56153); + HEAP32[$$byval_copy6 >> 2] = HEAP32[$6 >> 2]; + HEAP32[$$byval_copy6 + 4 >> 2] = HEAP32[$6 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy6); + } + switch (HEAP8[$0 + 24 >> 0] | 0) { + case 1: + { + __ZN12_GLOBAL__N_110StringViewC2EPKc($7, 56338); + HEAP32[$$byval_copy6 >> 2] = HEAP32[$7 >> 2]; + HEAP32[$$byval_copy6 + 4 >> 2] = HEAP32[$7 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy6); + break; + } + case 2: + { + __ZN12_GLOBAL__N_110StringViewC2EPKc($8, 56341); + HEAP32[$$byval_copy6 >> 2] = HEAP32[$8 >> 2]; + HEAP32[$$byval_copy6 + 4 >> 2] = HEAP32[$8 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy6); + break; + } + default: + {} + } + $27 = $0 + 28 | 0; + if (HEAP32[$27 >> 2] | 0) { + __ZN12_GLOBAL__N_112OutputStreampLEc($1, 32); + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$27 >> 2] | 0, $1); + } + STACKTOP = sp; + return; +} + +function _h2v1_merged_upsample($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0110$lcssa = 0, $$0110117 = 0, $$0111$lcssa = 0, $$0111116 = 0, $$0112$lcssa = 0, $$0112115 = 0, $$0113$lcssa = 0, $$0113114 = 0, $$0118 = 0, $100 = 0, $11 = 0, $13 = 0, $15 = 0, $18 = 0, $22 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $32 = 0, $33 = 0, $36 = 0, $39 = 0, $41 = 0, $47 = 0, $49 = 0, $5 = 0, $52 = 0, $67 = 0, $7 = 0, $83 = 0, $86 = 0, $88 = 0, $9 = 0, $96 = 0, $98 = 0, $scevgep = 0; + $5 = HEAP32[$0 + 476 >> 2] | 0; + $7 = HEAP32[$0 + 336 >> 2] | 0; + $9 = HEAP32[$5 + 16 >> 2] | 0; + $11 = HEAP32[$5 + 20 >> 2] | 0; + $13 = HEAP32[$5 + 24 >> 2] | 0; + $15 = HEAP32[$5 + 28 >> 2] | 0; + $18 = HEAP32[(HEAP32[$1 >> 2] | 0) + ($2 << 2) >> 2] | 0; + $22 = HEAP32[(HEAP32[$1 + 4 >> 2] | 0) + ($2 << 2) >> 2] | 0; + $26 = HEAP32[(HEAP32[$1 + 8 >> 2] | 0) + ($2 << 2) >> 2] | 0; + $27 = HEAP32[$3 >> 2] | 0; + $28 = $0 + 112 | 0; + $29 = HEAP32[$28 >> 2] | 0; + $30 = $29 >>> 1; + if (!$30) { + $$0110$lcssa = $26; + $$0111$lcssa = $22; + $$0112$lcssa = $18; + $$0113$lcssa = $27; + $83 = $29; + } else { + $scevgep = $22 + $30 | 0; + $32 = $29 & -2; + $33 = $30 * 6 | 0; + $$0110117 = $26; + $$0111116 = $22; + $$0112115 = $18; + $$0113114 = $27; + $$0118 = $30; + while (1) { + $36 = HEAPU8[$$0111116 >> 0] | 0; + $39 = HEAPU8[$$0110117 >> 0] | 0; + $41 = HEAP32[$9 + ($39 << 2) >> 2] | 0; + $47 = (HEAP32[$13 + ($39 << 2) >> 2] | 0) + (HEAP32[$15 + ($36 << 2) >> 2] | 0) >> 16; + $49 = HEAP32[$11 + ($36 << 2) >> 2] | 0; + $52 = HEAPU8[$$0112115 >> 0] | 0; + HEAP8[$$0113114 >> 0] = HEAP8[$7 + ($41 + $52) >> 0] | 0; + HEAP8[$$0113114 + 1 >> 0] = HEAP8[$7 + ($47 + $52) >> 0] | 0; + HEAP8[$$0113114 + 2 >> 0] = HEAP8[$7 + ($49 + $52) >> 0] | 0; + $67 = HEAPU8[$$0112115 + 1 >> 0] | 0; + HEAP8[$$0113114 + 3 >> 0] = HEAP8[$7 + ($41 + $67) >> 0] | 0; + HEAP8[$$0113114 + 4 >> 0] = HEAP8[$7 + ($47 + $67) >> 0] | 0; + HEAP8[$$0113114 + 5 >> 0] = HEAP8[$7 + ($49 + $67) >> 0] | 0; + $$0118 = $$0118 + -1 | 0; + if (!$$0118) break; else { + $$0110117 = $$0110117 + 1 | 0; + $$0111116 = $$0111116 + 1 | 0; + $$0112115 = $$0112115 + 2 | 0; + $$0113114 = $$0113114 + 6 | 0; + } + } + $$0110$lcssa = $26 + $30 | 0; + $$0111$lcssa = $scevgep; + $$0112$lcssa = $18 + $32 | 0; + $$0113$lcssa = $27 + $33 | 0; + $83 = HEAP32[$28 >> 2] | 0; + } + if (!($83 & 1)) return; + $86 = HEAPU8[$$0111$lcssa >> 0] | 0; + $88 = HEAPU8[$$0110$lcssa >> 0] | 0; + $96 = (HEAP32[$13 + ($88 << 2) >> 2] | 0) + (HEAP32[$15 + ($86 << 2) >> 2] | 0) >> 16; + $98 = HEAP32[$11 + ($86 << 2) >> 2] | 0; + $100 = HEAPU8[$$0112$lcssa >> 0] | 0; + HEAP8[$$0113$lcssa >> 0] = HEAP8[$7 + ((HEAP32[$9 + ($88 << 2) >> 2] | 0) + $100) >> 0] | 0; + HEAP8[$$0113$lcssa + 1 >> 0] = HEAP8[$7 + ($96 + $100) >> 0] | 0; + HEAP8[$$0113$lcssa + 2 >> 0] = HEAP8[$7 + ($98 + $100) >> 0] | 0; + return; +} + +function ___stpncpy($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0$lcssa = 0, $$037$lcssa = 0, $$03754 = 0, $$038$lcssa = 0, $$03867 = 0, $$039$lcssa = 0, $$03966 = 0, $$042$lcssa = 0, $$04265 = 0, $$055 = 0, $$1$lcssa = 0, $$140 = 0, $$143 = 0, $$153 = 0, $$2 = 0, $$24147 = 0, $$24446 = 0, $$345 = 0, $$348 = 0, $$4 = 0, $$lcssa = 0, $10 = 0, $11 = 0, $13 = 0, $14 = 0, $15 = 0, $19 = 0, $22 = 0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $33 = 0, $37 = 0, label = 0; + $3 = $1; + L1 : do if (!(($3 ^ $0) & 3)) { + $10 = ($2 | 0) != 0; + if ($10 & ($3 & 3 | 0) != 0) { + $$03867 = $2; + $$03966 = $1; + $$04265 = $0; + while (1) { + $11 = HEAP8[$$03966 >> 0] | 0; + HEAP8[$$04265 >> 0] = $11; + if (!($11 << 24 >> 24)) { + $$345 = $$04265; + $$4 = $$03867; + break L1; + } + $13 = $$03867 + -1 | 0; + $14 = $$03966 + 1 | 0; + $15 = $$04265 + 1 | 0; + $19 = ($13 | 0) != 0; + if ($19 & ($14 & 3 | 0) != 0) { + $$03867 = $13; + $$03966 = $14; + $$04265 = $15; + } else { + $$038$lcssa = $13; + $$039$lcssa = $14; + $$042$lcssa = $15; + $$lcssa = $19; + break; + } + } + } else { + $$038$lcssa = $2; + $$039$lcssa = $1; + $$042$lcssa = $0; + $$lcssa = $10; + } + if ($$lcssa) if (!(HEAP8[$$039$lcssa >> 0] | 0)) { + $$345 = $$042$lcssa; + $$4 = $$038$lcssa; + } else { + L11 : do if ($$038$lcssa >>> 0 > 3) { + $$03754 = $$042$lcssa; + $$055 = $$039$lcssa; + $$153 = $$038$lcssa; + while (1) { + $22 = HEAP32[$$055 >> 2] | 0; + if (($22 & -2139062144 ^ -2139062144) & $22 + -16843009 | 0) { + $$0$lcssa = $$055; + $$037$lcssa = $$03754; + $$1$lcssa = $$153; + break L11; + } + HEAP32[$$03754 >> 2] = $22; + $28 = $$153 + -4 | 0; + $29 = $$055 + 4 | 0; + $30 = $$03754 + 4 | 0; + if ($28 >>> 0 > 3) { + $$03754 = $30; + $$055 = $29; + $$153 = $28; + } else { + $$0$lcssa = $29; + $$037$lcssa = $30; + $$1$lcssa = $28; + break; + } + } + } else { + $$0$lcssa = $$039$lcssa; + $$037$lcssa = $$042$lcssa; + $$1$lcssa = $$038$lcssa; + } while (0); + $$140 = $$0$lcssa; + $$143 = $$037$lcssa; + $$2 = $$1$lcssa; + label = 13; + } else { + $$345 = $$042$lcssa; + $$4 = 0; + } + } else { + $$140 = $1; + $$143 = $0; + $$2 = $2; + label = 13; + } while (0); + L17 : do if ((label | 0) == 13) if (!$$2) { + $$345 = $$143; + $$4 = 0; + } else { + $$24147 = $$140; + $$24446 = $$143; + $$348 = $$2; + while (1) { + $33 = HEAP8[$$24147 >> 0] | 0; + HEAP8[$$24446 >> 0] = $33; + if (!($33 << 24 >> 24)) { + $$345 = $$24446; + $$4 = $$348; + break L17; + } + $$348 = $$348 + -1 | 0; + $37 = $$24446 + 1 | 0; + if (!$$348) { + $$345 = $37; + $$4 = 0; + break; + } else { + $$24147 = $$24147 + 1 | 0; + $$24446 = $37; + } + } + } while (0); + _memset($$345 | 0, 0, $$4 | 0) | 0; + return $$345 | 0; +} + +function _arPattGetIDGlobal($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + $9 = +$9; + $10 = $10 | 0; + $11 = $11 | 0; + $12 = $12 | 0; + $13 = $13 | 0; + $14 = $14 | 0; + $15 = $15 | 0; + $16 = $16 | 0; + $17 = $17 | 0; + $18 = $18 | 0; + var $$0 = 0, $$091 = 0, $$092 = 0, $19 = 0, $20 = 0, $24 = 0, $26 = 0, $28 = 0, $31 = 0, $41 = 0, $45 = 0, $49 = 0, $51 = 0, $56 = 0, $57 = 0, $58 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 12304 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(12304); + $19 = sp; + $20 = sp + 12288 | 0; + do if (($2 + -2 | 0) >>> 0 < 3) { + if (($16 | 0) != 2830) { + $45 = $16 & 255; + if ((_arPattGetImage2($1, 2, $45, $45 * 3 | 0, $3, $4, $5, $6, $7, $8, $9, $19) | 0) < 0) { + HEAP32[$13 >> 2] = -1; + $$091 = -6; + break; + } + $49 = _get_matrix_code($19, $45, $13, $14, $15, $16, $17) | 0; + if (!$18) { + $$091 = $49; + break; + } + $51 = $18; + HEAP32[$51 >> 2] = 0; + HEAP32[$51 + 4 >> 2] = 0; + $$091 = $49; + break; + } + if ((_arPattGetImage2($1, 2, 14, 42, $3, $4, $5, $6, $7, $8, .875, $19) | 0) < 0) { + HEAP32[$13 >> 2] = -1; + $$091 = -6; + break; + } + $24 = _get_global_id_code($19, $20, $14, $15, $17) | 0; + if (($24 | 0) < 0) { + HEAP32[$13 >> 2] = -1; + $$091 = $24; + break; + } + $26 = $20; + $28 = HEAP32[$26 >> 2] | 0; + $31 = HEAP32[$26 + 4 >> 2] | 0; + if (($28 | 0) == -1 & ($31 | 0) == -1) { + HEAP32[$13 >> 2] = -1; + $$091 = -5; + break; + } + HEAP32[$13 >> 2] = ($28 & -32768 | 0) == 0 & 0 == 0 ? $28 & 32767 : 0; + if (!$18) $$091 = $24; else { + $41 = $18; + HEAP32[$41 >> 2] = $28; + HEAP32[$41 + 4 >> 2] = $31; + $$091 = $24; + } + } else $$091 = 1; while (0); + L21 : do switch ($2 | 0) { + case 0: + case 1: + case 3: + case 4: + { + if (!$0) { + HEAP32[$10 >> 2] = -1; + $$0 = -1; + break L21; + } + $56 = $0 + 28 | 0; + $57 = HEAP32[$56 >> 2] | 0; + $58 = $57 << 2; + switch ($2 | 0) { + case 0: + case 3: + { + if ((_arPattGetImage2($1, 0, $57, $58, $3, $4, $5, $6, $7, $8, $9, $19) | 0) < 0) { + HEAP32[$10 >> 2] = -1; + $$0 = -6; + break L21; + } else { + $$0 = _pattern_match($0, 0, $19, HEAP32[$56 >> 2] | 0, $10, $11, $12) | 0; + break L21; + } + break; + } + default: + if ((_arPattGetImage2($1, 1, $57, $58, $3, $4, $5, $6, $7, $8, $9, $19) | 0) < 0) { + HEAP32[$10 >> 2] = -1; + $$0 = -6; + break L21; + } else { + $$0 = _pattern_match($0, 1, $19, HEAP32[$56 >> 2] | 0, $10, $11, $12) | 0; + break L21; + } + } + break; + } + default: + $$0 = 1; + } while (0); + if (($$091 | 0) == 1) $$092 = $$0; else $$092 = ($$0 | 0) == 1 ? $$091 : ($$0 & $$091 | 0) < 0 ? $$0 : 0; + STACKTOP = sp; + return $$092 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle11PointerType9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy4 = 0, $14 = 0, $2 = 0, $23 = 0, $25 = 0, $3 = 0, $30 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(64); + $$byval_copy4 = sp + 48 | 0; + $2 = sp + 40 | 0; + $3 = sp + 32 | 0; + $4 = sp + 24 | 0; + $5 = sp + 16 | 0; + $6 = sp; + $7 = sp + 8 | 0; + $8 = $0 + 8 | 0; + $9 = HEAP32[$8 >> 2] | 0; + do if ((__ZNK12_GLOBAL__N_116itanium_demangle4Node7getKindEv($9) | 0) << 24 >> 24 == 10) if (__ZNK12_GLOBAL__N_116itanium_demangle13ObjCProtoName12isObjCObjectEv($9) | 0) { + $23 = HEAP32[$8 >> 2] | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($5, 52039); + HEAP32[$$byval_copy4 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$$byval_copy4 + 4 >> 2] = HEAP32[$5 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy4); + $25 = $23 + 12 | 0; + $30 = HEAP32[$25 + 4 >> 2] | 0; + $31 = $6; + HEAP32[$31 >> 2] = HEAP32[$25 >> 2]; + HEAP32[$31 + 4 >> 2] = $30; + HEAP32[$$byval_copy4 >> 2] = HEAP32[$6 >> 2]; + HEAP32[$$byval_copy4 + 4 >> 2] = HEAP32[$6 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy4); + __ZN12_GLOBAL__N_110StringViewC2EPKc($7, 52043); + HEAP32[$$byval_copy4 >> 2] = HEAP32[$7 >> 2]; + HEAP32[$$byval_copy4 + 4 >> 2] = HEAP32[$7 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy4); + break; + } else { + $14 = HEAP32[$8 >> 2] | 0; + label = 4; + break; + } else { + $14 = $9; + label = 4; + } while (0); + if ((label | 0) == 4) { + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$14 >> 2] | 0) + 16 >> 2] & 255]($14, $1); + if (__ZNK12_GLOBAL__N_116itanium_demangle4Node8hasArrayERNS_12OutputStreamE(HEAP32[$8 >> 2] | 0, $1) | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 51966); + HEAP32[$$byval_copy4 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy4 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy4); + } + if (!(__ZNK12_GLOBAL__N_116itanium_demangle4Node8hasArrayERNS_12OutputStreamE(HEAP32[$8 >> 2] | 0, $1) | 0) ? !(__ZNK12_GLOBAL__N_116itanium_demangle4Node11hasFunctionERNS_12OutputStreamE(HEAP32[$8 >> 2] | 0, $1) | 0) : 0) {} else { + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, 51968); + HEAP32[$$byval_copy4 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy4 + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy4); + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, 52037); + HEAP32[$$byval_copy4 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy4 + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy4); + } + STACKTOP = sp; + return; +} + +function _mbsnrtowcs($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0 = 0, $$04975 = 0, $$05374 = 0, $$056 = 0, $$150 = 0, $$154 = 0, $$15773 = 0, $$164 = 0, $$176 = 0, $$2 = 0, $$25170 = 0, $$25569 = 0, $$258 = 0, $$352 = 0, $$359 = 0, $$371 = 0, $$468 = 0, $$cast = 0, $11 = 0, $12 = 0, $15 = 0, $16 = 0, $18 = 0, $21 = 0, $22 = 0, $26 = 0, $30 = 0, $31 = 0, $39 = 0, $44 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $spec$select = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 1040 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(1040); + $5 = sp; + $6 = sp + 1024 | 0; + $7 = HEAP32[$1 >> 2] | 0; + HEAP32[$6 >> 2] = $7; + $8 = ($0 | 0) != 0; + $$056 = $8 ? $3 : 256; + $$0 = $8 ? $0 : $5; + $$cast = $7; + L1 : do if (($$056 | 0) != 0 & ($7 | 0) != 0) { + $$04975 = 0; + $$05374 = $2; + $$15773 = $$056; + $$176 = $$0; + $44 = $$cast; + while (1) { + $11 = $$05374 >>> 2; + $12 = $11 >>> 0 >= $$15773 >>> 0; + if (!($$05374 >>> 0 > 131 | $12)) { + $$150 = $$04975; + $$154 = $$05374; + $$164 = $$176; + $$359 = $$15773; + $26 = $44; + break L1; + } + $spec$select = $12 ? $$15773 : $11; + $15 = $$05374 - $spec$select | 0; + $16 = _mbsrtowcs($$176, $6, $spec$select, $4) | 0; + if (($16 | 0) == -1) break; + $18 = ($$176 | 0) == ($5 | 0); + $$258 = $$15773 - ($18 ? 0 : $16) | 0; + $$2 = $18 ? $$176 : $$176 + ($16 << 2) | 0; + $21 = $16 + $$04975 | 0; + $22 = HEAP32[$6 >> 2] | 0; + if (($$258 | 0) != 0 & ($22 | 0) != 0) { + $$04975 = $21; + $$05374 = $15; + $$15773 = $$258; + $$176 = $$2; + $44 = $22; + } else { + $$150 = $21; + $$154 = $15; + $$164 = $$2; + $$359 = $$258; + $26 = $22; + break L1; + } + } + $$150 = -1; + $$154 = $15; + $$164 = $$176; + $$359 = 0; + $26 = HEAP32[$6 >> 2] | 0; + } else { + $$150 = 0; + $$154 = $2; + $$164 = $$0; + $$359 = $$056; + $26 = $$cast; + } while (0); + L9 : do if (($26 | 0) != 0 ? ($$359 | 0) != 0 & ($$154 | 0) != 0 : 0) { + $$25170 = $$150; + $$25569 = $$154; + $$371 = $$164; + $$468 = $$359; + $30 = $26; + while (1) { + $31 = _mbrtowc($$371, $30, $$25569, $4) | 0; + if (($31 + 2 | 0) >>> 0 < 3) break; + $30 = (HEAP32[$6 >> 2] | 0) + $31 | 0; + HEAP32[$6 >> 2] = $30; + $$25569 = $$25569 - $31 | 0; + $$468 = $$468 + -1 | 0; + $39 = $$25170 + 1 | 0; + if (!(($$468 | 0) != 0 & ($$25569 | 0) != 0)) { + $$352 = $39; + break L9; + } else { + $$25170 = $39; + $$371 = $$371 + 4 | 0; + } + } + switch ($31 | 0) { + case -1: + { + $$352 = $31; + break L9; + break; + } + case 0: + { + HEAP32[$6 >> 2] = 0; + $$352 = $$25170; + break L9; + break; + } + default: + { + HEAP32[$4 >> 2] = 0; + $$352 = $$25170; + break L9; + } + } + } else $$352 = $$150; while (0); + if ($8) HEAP32[$1 >> 2] = HEAP32[$6 >> 2]; + STACKTOP = sp; + return $$352 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle16FunctionEncoding10printRightERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy6 = 0, $11 = 0, $16 = 0, $17 = 0, $2 = 0, $21 = 0, $24 = 0, $29 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(64); + $$byval_copy6 = sp + 56 | 0; + $2 = sp + 48 | 0; + $3 = sp + 40 | 0; + $4 = sp + 32 | 0; + $5 = sp + 24 | 0; + $6 = sp + 16 | 0; + $7 = sp + 8 | 0; + $8 = sp; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 51968); + HEAP32[$$byval_copy6 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy6 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy6); + __ZNK12_GLOBAL__N_116itanium_demangle9NodeArray14printWithCommaERNS_12OutputStreamE($0 + 16 | 0, $1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, 51964); + HEAP32[$$byval_copy6 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy6 + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy6); + $11 = HEAP32[$0 + 8 >> 2] | 0; + if ($11 | 0) FUNCTION_TABLE_vii[HEAP32[(HEAP32[$11 >> 2] | 0) + 20 >> 2] & 255]($11, $1); + $16 = $0 + 28 | 0; + $17 = HEAP32[$16 >> 2] | 0; + if (!($17 & 1)) $21 = $17; else { + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, 56136); + HEAP32[$$byval_copy6 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy6 + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy6); + $21 = HEAP32[$16 >> 2] | 0; + } + if (!($21 & 2)) $24 = $21; else { + __ZN12_GLOBAL__N_110StringViewC2EPKc($5, 56143); + HEAP32[$$byval_copy6 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$$byval_copy6 + 4 >> 2] = HEAP32[$5 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy6); + $24 = HEAP32[$16 >> 2] | 0; + } + if ($24 & 4 | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($6, 56153); + HEAP32[$$byval_copy6 >> 2] = HEAP32[$6 >> 2]; + HEAP32[$$byval_copy6 + 4 >> 2] = HEAP32[$6 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy6); + } + switch (HEAP8[$0 + 32 >> 0] | 0) { + case 1: + { + __ZN12_GLOBAL__N_110StringViewC2EPKc($7, 56338); + HEAP32[$$byval_copy6 >> 2] = HEAP32[$7 >> 2]; + HEAP32[$$byval_copy6 + 4 >> 2] = HEAP32[$7 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy6); + break; + } + case 2: + { + __ZN12_GLOBAL__N_110StringViewC2EPKc($8, 56341); + HEAP32[$$byval_copy6 >> 2] = HEAP32[$8 >> 2]; + HEAP32[$$byval_copy6 + 4 >> 2] = HEAP32[$8 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy6); + break; + } + default: + {} + } + $29 = HEAP32[$0 + 24 >> 2] | 0; + if ($29 | 0) __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE($29, $1); + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E18parseFunctionParamEv($0) { + $0 = $0 | 0; + var $$0 = 0, $$1 = 0, $$2 = 0, $$byval_copy1 = 0, $1 = 0, $2 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy1 = sp + 16 | 0; + $1 = sp + 8 | 0; + $2 = sp; + __ZN12_GLOBAL__N_110StringViewC2EPKc($1, 54911); + HEAP32[$$byval_copy1 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$$byval_copy1 + 4 >> 2] = HEAP32[$1 + 4 >> 2]; + if (!(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy1) | 0)) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 54914); + HEAP32[$$byval_copy1 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy1 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + if ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy1) | 0 ? (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E11parseNumberEb($$byval_copy1, $0, 0), !(__ZNK12_GLOBAL__N_110StringView5emptyEv($$byval_copy1) | 0)) : 0) ? __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 112) | 0 : 0) { + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E17parseCVQualifiersEv($0) | 0; + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E11parseNumberEb($$byval_copy1, $0, 0); + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 95) | 0) $$1 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_13FunctionParamEJRNS_10StringViewEEEEPNS0_4NodeEDpOT0_($0, $$byval_copy1) | 0; else $$1 = 0; + $$2 = $$1; + } else $$2 = 0; + } else { + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E17parseCVQualifiersEv($0) | 0; + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E11parseNumberEb($$byval_copy1, $0, 0); + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 95) | 0) $$0 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_13FunctionParamEJRNS_10StringViewEEEEPNS0_4NodeEDpOT0_($0, $$byval_copy1) | 0; else $$0 = 0; + $$2 = $$0; + } + STACKTOP = sp; + return $$2 | 0; +} + +function __ZN6vision18BinomialPyramid32f12apply_filterERNS_5ImageERKS1_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $11 = 0, $16 = 0, $20 = 0, $22 = 0, $24 = 0, $25 = 0, $28 = 0, $3 = 0, $30 = 0, $31 = 0, $34 = 0, $36 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp; + if ((__ZNK6vision5Image4typeEv($1) | 0) != 2) { + $11 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 31711) | 0, 31153) | 0, 39072) | 0, 357) | 0, 39079) | 0, 31758) | 0; + __ZNKSt3__28ios_base6getlocEv($3, $11 + (HEAP32[(HEAP32[$11 >> 2] | 0) + -12 >> 2] | 0) | 0); + $16 = __ZNKSt3__26locale9use_facetERNS0_2idE($3, 66512) | 0; + $20 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$16 >> 2] | 0) + 28 >> 2] & 127]($16, 10) | 0; + __ZNSt3__26localeD2Ev($3); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($11, $20) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($11) | 0; + _abort(); + } + switch (__ZNK6vision5Image4typeEv($2) | 0) { + case 1: + { + $22 = __ZN6vision5Image3getEv($1) | 0; + $24 = HEAP32[$0 + 32 >> 2] | 0; + $25 = __ZNK6vision5Image3getEv($2) | 0; + __ZN6vision18binomial_4th_orderEPfPtPKhmm($22, $24, $25, __ZNK6vision5Image5widthEv($2) | 0, __ZNK6vision5Image6heightEv($2) | 0); + break; + } + case 2: + { + $28 = __ZN6vision5Image3getEv($1) | 0; + $30 = HEAP32[$0 + 44 >> 2] | 0; + $31 = __ZNK6vision5Image3getEv($2) | 0; + __ZN6vision18binomial_4th_orderEPfS0_PKfmm($28, $30, $31, __ZNK6vision5Image5widthEv($2) | 0, __ZNK6vision5Image6heightEv($2) | 0); + break; + } + case 0: + { + $34 = ___cxa_allocate_exception(16) | 0; + HEAP32[$3 >> 2] = 0; + HEAP32[$3 + 4 >> 2] = 0; + HEAP32[$3 + 8 >> 2] = 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm($3, 31794, __ZNSt3__211char_traitsIcE6lengthEPKc(31794) | 0); + __ZN6vision9ExceptionC2ERKNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEE($34, $3); + ___cxa_throw($34 | 0, 13208, 5); + break; + } + default: + { + $36 = ___cxa_allocate_exception(16) | 0; + HEAP32[$3 >> 2] = 0; + HEAP32[$3 + 4 >> 2] = 0; + HEAP32[$3 + 8 >> 2] = 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm($3, 31813, __ZNSt3__211char_traitsIcE6lengthEPKc(31813) | 0); + __ZN6vision9ExceptionC2ERKNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEE($36, $3); + ___cxa_throw($36 | 0, 13208, 5); + } + } + STACKTOP = sp; + return; +} + +function __ZNSt3__27__sort3IRNS_7greaterINS_4pairIfmEEEENS_11__wrap_iterIPS3_EEEEjT0_S9_S9_T_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$09 = 0, $$phi$trans$insert = 0, $$phi$trans$insert16 = 0, $$pre$phi18Z2D = 0, $$pre$phiZ2D = 0, $15 = 0, $16 = 0.0, $24 = 0, $25 = 0, $26 = 0, $28 = 0.0, $29 = 0.0, $32 = 0, $33 = 0, $34 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0, $42 = 0, $43 = 0, $44 = 0, $46 = 0.0, $49 = 0, $5 = 0, $50 = 0, $52 = 0, $53 = 0, $54 = 0, $6 = 0.0, $7 = 0.0; + $4 = HEAP32[$1 >> 2] | 0; + $5 = HEAP32[$0 >> 2] | 0; + $6 = +HEAPF32[$5 >> 2]; + $7 = +HEAPF32[$4 >> 2]; + if (!($6 < $7)) if ($7 < $6) $53 = 0; else $53 = (HEAP32[$5 + 4 >> 2] | 0) >>> 0 < (HEAP32[$4 + 4 >> 2] | 0) >>> 0; else $53 = 1; + $15 = HEAP32[$2 >> 2] | 0; + $16 = +HEAPF32[$15 >> 2]; + if (!($7 < $16)) if ($16 < $7) $54 = 0; else $54 = (HEAP32[$4 + 4 >> 2] | 0) >>> 0 < (HEAP32[$15 + 4 >> 2] | 0) >>> 0; else $54 = 1; + do if (!$53) if ($54) { + HEAPF32[$4 >> 2] = $16; + HEAPF32[$15 >> 2] = $7; + $24 = $4 + 4 | 0; + $25 = $15 + 4 | 0; + $26 = HEAP32[$24 >> 2] | 0; + HEAP32[$24 >> 2] = HEAP32[$25 >> 2]; + HEAP32[$25 >> 2] = $26; + $28 = +HEAPF32[$5 >> 2]; + $29 = +HEAPF32[$4 >> 2]; + if (!($28 < $29)) { + if ($29 < $28) { + $$09 = 1; + break; + } + $32 = $5 + 4 | 0; + $33 = HEAP32[$32 >> 2] | 0; + $34 = HEAP32[$24 >> 2] | 0; + if ($33 >>> 0 < $34 >>> 0) { + $$pre$phi18Z2D = $32; + $36 = $34; + $37 = $33; + } else { + $$09 = 1; + break; + } + } else { + $$phi$trans$insert = $5 + 4 | 0; + $$pre$phi18Z2D = $$phi$trans$insert; + $36 = HEAP32[$24 >> 2] | 0; + $37 = HEAP32[$$phi$trans$insert >> 2] | 0; + } + HEAPF32[$5 >> 2] = $29; + HEAPF32[$4 >> 2] = $28; + HEAP32[$$pre$phi18Z2D >> 2] = $36; + HEAP32[$24 >> 2] = $37; + $$09 = 2; + } else $$09 = 0; else { + if ($54) { + HEAPF32[$5 >> 2] = $16; + HEAPF32[$15 >> 2] = $6; + $38 = $5 + 4 | 0; + $39 = $15 + 4 | 0; + $40 = HEAP32[$38 >> 2] | 0; + HEAP32[$38 >> 2] = HEAP32[$39 >> 2]; + HEAP32[$39 >> 2] = $40; + $$09 = 1; + break; + } + HEAPF32[$5 >> 2] = $7; + HEAPF32[$4 >> 2] = $6; + $42 = $5 + 4 | 0; + $43 = $4 + 4 | 0; + $44 = HEAP32[$42 >> 2] | 0; + HEAP32[$42 >> 2] = HEAP32[$43 >> 2]; + HEAP32[$43 >> 2] = $44; + $46 = +HEAPF32[$15 >> 2]; + if (!($6 < $46)) { + if ($46 < $6) { + $$09 = 1; + break; + } + $49 = $15 + 4 | 0; + $50 = HEAP32[$49 >> 2] | 0; + if ($44 >>> 0 < $50 >>> 0) { + $$pre$phiZ2D = $49; + $52 = $50; + } else { + $$09 = 1; + break; + } + } else { + $$phi$trans$insert16 = $15 + 4 | 0; + $$pre$phiZ2D = $$phi$trans$insert16; + $52 = HEAP32[$$phi$trans$insert16 >> 2] | 0; + } + HEAPF32[$4 >> 2] = $46; + HEAPF32[$15 >> 2] = $6; + HEAP32[$43 >> 2] = $52; + HEAP32[$$pre$phiZ2D >> 2] = $44; + $$09 = 2; + } while (0); + return $$09 | 0; +} + +function __Z21kpmUtilGetPose_binaryP9ARParamLTRKNSt3__26vectorIN6vision7match_tENS1_9allocatorIS4_EEEERKNS2_INS3_7Point3dIfEENS5_ISB_EEEERKNS2_INS3_12FeaturePointENS5_ISG_EEEEPA4_fPf($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, $$064 = 0, $$065 = 0, $$066 = 0, $$1 = 0, $10 = 0, $13 = 0, $14 = 0, $15 = 0, $17 = 0, $19 = 0, $22 = 0, $24 = 0, $25 = 0, $27 = 0, $37 = 0, $50 = 0, $53 = 0, $58 = 0.0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 240 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(240); + $vararg_buffer1 = sp + 208 | 0; + $vararg_buffer = sp + 200 | 0; + $6 = sp + 224 | 0; + $7 = sp + 212 | 0; + $8 = sp + 96 | 0; + $9 = sp + 192 | 0; + $10 = sp; + $13 = HEAP32[$1 >> 2] | 0; + $14 = (HEAP32[$1 + 4 >> 2] | 0) - $13 | 0; + $15 = $14 >> 3; + $17 = $13; + do if ($15 >>> 0 < 4) $$1 = -1; else { + $19 = _malloc($14 << 1) | 0; + if (!$19) { + _arLog(0, 3, 45930, $vararg_buffer); + _exit(1); + } + $22 = _malloc($15 * 24 | 0) | 0; + if (!$22) { + _arLog(0, 3, 45930, $vararg_buffer1); + _exit(1); + } + $24 = HEAP32[$3 >> 2] | 0; + $25 = HEAP32[$2 >> 2] | 0; + $$065 = 0; + while (1) { + if (($$065 | 0) == ($15 | 0)) break; + $27 = HEAP32[$17 + ($$065 << 3) >> 2] | 0; + HEAPF64[$19 + ($$065 << 4) >> 3] = +HEAPF32[$24 + ($27 * 20 | 0) >> 2]; + HEAPF64[$19 + ($$065 << 4) + 8 >> 3] = +HEAPF32[$24 + ($27 * 20 | 0) + 4 >> 2]; + $37 = HEAP32[$17 + ($$065 << 3) + 4 >> 2] | 0; + HEAPF64[$22 + ($$065 * 24 | 0) >> 3] = +HEAPF32[$25 + ($37 * 12 | 0) >> 2]; + HEAPF64[$22 + ($$065 * 24 | 0) + 8 >> 3] = +HEAPF32[$25 + ($37 * 12 | 0) + 4 >> 2]; + HEAPF64[$22 + ($$065 * 24 | 0) + 16 >> 3] = 0.0; + $$065 = $$065 + 1 | 0; + } + HEAP32[$7 + 8 >> 2] = $15; + HEAP32[$7 >> 2] = $19; + HEAP32[$7 + 4 >> 2] = $22; + $50 = $0 + 8 | 0; + if ((_icpGetInitXw2Xc_from_PlanarData($50, $19, $22, $15, $8) | 0) < 0) { + _free($19); + _free($22); + $$1 = -1; + break; + } + $53 = _icpCreateHandle($50) | 0; + HEAP32[$6 >> 2] = $53; + if (!$53) { + _free($19); + _free($22); + $$1 = -1; + break; + } + if ((_icpPoint($53, $7, $8, $10, $9) | 0) < 0) { + _free($19); + _free($22); + _icpDeleteHandle($6) | 0; + $$066 = -1; + } else { + $$064 = 0; + while (1) { + if (($$064 | 0) == 3) break; + $$0 = 0; + while (1) { + if (($$0 | 0) == 4) break; + HEAPF32[$4 + ($$064 << 4) + ($$0 << 2) >> 2] = +HEAPF64[$10 + ($$064 << 5) + ($$0 << 3) >> 3]; + $$0 = $$0 + 1 | 0; + } + $$064 = $$064 + 1 | 0; + } + _icpDeleteHandle($6) | 0; + _free($19); + _free($22); + $58 = +HEAPF64[$9 >> 3]; + HEAPF32[$5 >> 2] = $58; + $$066 = ($58 > 10.0) << 31 >> 31; + } + $$1 = $$066; + } while (0); + STACKTOP = sp; + return $$1 | 0; +} + +function __ZNSt3__2L12init_wmonthsEv() { + var $$0$i$i = 0, $4 = 0; + if ((HEAP8[64720] | 0) == 0 ? ___cxa_guard_acquire(64720) | 0 : 0) { + $4 = 63840; + do { + HEAP32[$4 >> 2] = 0; + HEAP32[$4 + 4 >> 2] = 0; + HEAP32[$4 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$4 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + $4 = $4 + 12 | 0; + } while (($4 | 0) != 64128); + ___cxa_guard_release(64720); + } + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw(63840, 21828) | 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw(63852, 21860) | 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw(63864, 21896) | 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw(63876, 21920) | 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw(63888, 21944) | 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw(63900, 21960) | 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw(63912, 21980) | 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw(63924, 22e3) | 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw(63936, 22028) | 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw(63948, 22068) | 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw(63960, 22100) | 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw(63972, 22136) | 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw(63984, 22172) | 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw(63996, 22188) | 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw(64008, 22204) | 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw(64020, 22220) | 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw(64032, 21944) | 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw(64044, 22236) | 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw(64056, 22252) | 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw(64068, 22268) | 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw(64080, 22284) | 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw(64092, 22300) | 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw(64104, 22316) | 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw(64116, 22332) | 0; + return; +} + +function __ZNSt3__2L11init_monthsEv() { + var $$0$i$i = 0, $4 = 0; + if ((HEAP8[64640] | 0) == 0 ? ___cxa_guard_acquire(64640) | 0 : 0) { + $4 = 63344; + do { + HEAP32[$4 >> 2] = 0; + HEAP32[$4 + 4 >> 2] = 0; + HEAP32[$4 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$4 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + $4 = $4 + 12 | 0; + } while (($4 | 0) != 63632); + ___cxa_guard_release(64640); + } + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc(63344, 59459) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc(63356, 59467) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc(63368, 59476) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc(63380, 59482) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc(63392, 59488) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc(63404, 59492) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc(63416, 59497) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc(63428, 59502) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc(63440, 59509) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc(63452, 59519) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc(63464, 59527) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc(63476, 59536) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc(63488, 59545) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc(63500, 59549) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc(63512, 59553) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc(63524, 59557) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc(63536, 59488) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc(63548, 59561) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc(63560, 59565) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc(63572, 59569) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc(63584, 59573) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc(63596, 59577) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc(63608, 59581) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc(63620, 59585) | 0; + return; +} + +function _jpeg_idct_4x2($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $110 = 0, $112 = 0, $114 = 0, $116 = 0, $118 = 0, $120 = 0, $122 = 0, $13 = 0, $19 = 0, $20 = 0, $22 = 0, $29 = 0, $35 = 0, $36 = 0, $37 = 0, $45 = 0, $5 = 0, $51 = 0, $52 = 0, $53 = 0, $61 = 0, $67 = 0, $68 = 0, $69 = 0, $7 = 0, $71 = 0, $73 = 0, $74 = 0, $76 = 0, $78 = 0, $80 = 0, $82 = 0, $84 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $5 = sp; + $7 = HEAP32[$0 + 336 >> 2] | 0; + $9 = HEAP32[$1 + 84 >> 2] | 0; + $13 = Math_imul(HEAP32[$9 >> 2] | 0, HEAP16[$2 >> 1] | 0) | 0; + $19 = Math_imul(HEAP32[$9 + 32 >> 2] | 0, HEAP16[$2 + 16 >> 1] | 0) | 0; + $20 = $19 + $13 | 0; + HEAP32[$5 >> 2] = $20; + $22 = $5 + 16 | 0; + HEAP32[$22 >> 2] = $13 - $19; + $29 = Math_imul(HEAP32[$9 + 4 >> 2] | 0, HEAP16[$2 + 2 >> 1] | 0) | 0; + $35 = Math_imul(HEAP32[$9 + 36 >> 2] | 0, HEAP16[$2 + 18 >> 1] | 0) | 0; + $36 = $35 + $29 | 0; + HEAP32[$5 + 4 >> 2] = $36; + $37 = $29 - $35 | 0; + HEAP32[$5 + 20 >> 2] = $37; + $45 = Math_imul(HEAP32[$9 + 8 >> 2] | 0, HEAP16[$2 + 4 >> 1] | 0) | 0; + $51 = Math_imul(HEAP32[$9 + 40 >> 2] | 0, HEAP16[$2 + 20 >> 1] | 0) | 0; + $52 = $51 + $45 | 0; + HEAP32[$5 + 8 >> 2] = $52; + $53 = $45 - $51 | 0; + HEAP32[$5 + 24 >> 2] = $53; + $61 = Math_imul(HEAP32[$9 + 12 >> 2] | 0, HEAP16[$2 + 6 >> 1] | 0) | 0; + $67 = Math_imul(HEAP32[$9 + 44 >> 2] | 0, HEAP16[$2 + 22 >> 1] | 0) | 0; + $68 = $67 + $61 | 0; + HEAP32[$5 + 12 >> 2] = $68; + $69 = $61 - $67 | 0; + HEAP32[$5 + 28 >> 2] = $69; + $71 = $7 + -384 | 0; + $73 = (HEAP32[$3 >> 2] | 0) + $4 | 0; + $74 = $20 + 4100 | 0; + $76 = $74 + $52 << 13; + $78 = $74 - $52 << 13; + $80 = ($68 + $36 | 0) * 4433 | 0; + $82 = $80 + ($36 * 6270 | 0) | 0; + $84 = $80 + (Math_imul($68, -15137) | 0) | 0; + HEAP8[$73 >> 0] = HEAP8[$71 + (($82 + $76 | 0) >>> 16 & 1023) >> 0] | 0; + HEAP8[$73 + 3 >> 0] = HEAP8[$71 + (($76 - $82 | 0) >>> 16 & 1023) >> 0] | 0; + HEAP8[$73 + 1 >> 0] = HEAP8[$71 + (($84 + $78 | 0) >>> 16 & 1023) >> 0] | 0; + HEAP8[$73 + 2 >> 0] = HEAP8[$71 + (($78 - $84 | 0) >>> 16 & 1023) >> 0] | 0; + $110 = (HEAP32[$3 + 4 >> 2] | 0) + $4 | 0; + $112 = (HEAP32[$22 >> 2] | 0) + 4100 | 0; + $114 = $112 + $53 << 13; + $116 = $112 - $53 << 13; + $118 = ($69 + $37 | 0) * 4433 | 0; + $120 = $118 + ($37 * 6270 | 0) | 0; + $122 = $118 + (Math_imul($69, -15137) | 0) | 0; + HEAP8[$110 >> 0] = HEAP8[$71 + (($120 + $114 | 0) >>> 16 & 1023) >> 0] | 0; + HEAP8[$110 + 3 >> 0] = HEAP8[$71 + (($114 - $120 | 0) >>> 16 & 1023) >> 0] | 0; + HEAP8[$110 + 1 >> 0] = HEAP8[$71 + (($122 + $116 | 0) >>> 16 & 1023) >> 0] | 0; + HEAP8[$110 + 2 >> 0] = HEAP8[$71 + (($116 - $122 | 0) >>> 16 & 1023) >> 0] | 0; + STACKTOP = sp; + return; +} + +function _mbrtowc($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0, $$03952 = 0, $$03952$pn = 0, $$04051 = 0, $$04350 = 0, $$2 = 0, $$lcssa = 0, $$lcssa56 = 0, $12 = 0, $18 = 0, $22 = 0, $26 = 0, $30 = 0, $31 = 0, $34 = 0, $35 = 0, $4 = 0, $43 = 0, $44 = 0, $47 = 0, $49 = 0, $51 = 0, $52 = 0, $53 = 0, $6 = 0, $60 = 0, $spec$select = 0, $spec$select47 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $4 = sp; + $spec$select = ($3 | 0) == 0 ? 65400 : $3; + $6 = HEAP32[$spec$select >> 2] | 0; + L1 : do if (!$1) if (!$6) $$0 = 0; else label = 19; else { + $spec$select47 = ($0 | 0) == 0 ? $4 : $0; + if (!$2) $$0 = -2; else { + if (!$6) { + $12 = HEAP8[$1 >> 0] | 0; + if ($12 << 24 >> 24 > -1) { + HEAP32[$spec$select47 >> 2] = $12 & 255; + $$0 = $12 << 24 >> 24 != 0 & 1; + break; + } + $18 = (___pthread_self_414() | 0) + 188 | 0; + $22 = HEAP8[$1 >> 0] | 0; + if (!(HEAP32[HEAP32[$18 >> 2] >> 2] | 0)) { + HEAP32[$spec$select47 >> 2] = $22 << 24 >> 24 & 57343; + $$0 = 1; + break; + } + $26 = ($22 & 255) + -194 | 0; + if ($26 >>> 0 > 50) { + label = 19; + break; + } + $30 = HEAP32[5728 + ($26 << 2) >> 2] | 0; + $31 = $2 + -1 | 0; + if (!$31) $$2 = $30; else { + $$03952 = $1 + 1 | 0; + $$04051 = $30; + $$04350 = $31; + label = 11; + } + } else { + $$03952 = $1; + $$04051 = $6; + $$04350 = $2; + label = 11; + } + L14 : do if ((label | 0) == 11) { + $34 = HEAPU8[$$03952 >> 0] | 0; + $35 = $34 >>> 3; + if (($35 + -16 | $35 + ($$04051 >> 26)) >>> 0 > 7) { + label = 19; + break L1; + } + $43 = $34 + -128 | $$04051 << 6; + $44 = $$04350 + -1 | 0; + if (($43 | 0) < 0) { + $$03952$pn = $$03952; + $47 = $43; + $53 = $44; + while (1) { + $$03952$pn = $$03952$pn + 1 | 0; + if (!$53) { + $$2 = $47; + break L14; + } + $49 = HEAP8[$$03952$pn >> 0] | 0; + if (($49 & -64) << 24 >> 24 != -128) { + label = 19; + break L1; + } + $51 = ($49 & 255) + -128 | $47 << 6; + $52 = $53 + -1 | 0; + if (($51 | 0) >= 0) { + $$lcssa = $52; + $$lcssa56 = $51; + break; + } else { + $47 = $51; + $53 = $52; + } + } + } else { + $$lcssa = $44; + $$lcssa56 = $43; + } + HEAP32[$spec$select >> 2] = 0; + HEAP32[$spec$select47 >> 2] = $$lcssa56; + $$0 = $2 - $$lcssa | 0; + break L1; + } while (0); + HEAP32[$spec$select >> 2] = $$2; + $$0 = -2; + } + } while (0); + if ((label | 0) == 19) { + HEAP32[$spec$select >> 2] = 0; + $60 = ___errno_location() | 0; + HEAP32[$60 >> 2] = 25; + $$0 = -1; + } + STACKTOP = sp; + return $$0 | 0; +} + +function _next_marker($0) { + $0 = $0 | 0; + var $$0 = 0, $$058 = 0, $$064 = 0, $$1 = 0, $$159 = 0, $$2 = 0, $$260 = 0, $$26076 = 0, $$26078 = 0, $$275 = 0, $$277 = 0, $$3 = 0, $$361 = 0, $$4 = 0, $$4$ph = 0, $$462 = 0, $$462$ph = 0, $$5 = 0, $$563 = 0, $17 = 0, $2 = 0, $36 = 0, $4 = 0, $40 = 0, $41 = 0, $43 = 0, $45 = 0, $6 = 0, $7 = 0, label = 0; + $2 = HEAP32[$0 + 24 >> 2] | 0; + $4 = $2 + 4 | 0; + $6 = $2 + 12 | 0; + $7 = $0 + 464 | 0; + $$0 = HEAP32[$4 >> 2] | 0; + $$058 = HEAP32[$2 >> 2] | 0; + L1 : while (1) { + if (!$$0) { + if (!(FUNCTION_TABLE_ii[HEAP32[$6 >> 2] & 127]($0) | 0)) { + $$064 = 0; + label = 21; + break; + } + $$1 = HEAP32[$4 >> 2] | 0; + $$159 = HEAP32[$2 >> 2] | 0; + } else { + $$1 = $$0; + $$159 = $$058; + } + $$275 = $$1 + -1 | 0; + $$26076 = $$159 + 1 | 0; + if ((HEAP8[$$159 >> 0] | 0) == -1) { + $$4$ph = $$275; + $$462$ph = $$26076; + } else { + $$26078 = $$26076; + $$277 = $$275; + while (1) { + $17 = (HEAP32[$7 >> 2] | 0) + 24 | 0; + HEAP32[$17 >> 2] = (HEAP32[$17 >> 2] | 0) + 1; + HEAP32[$2 >> 2] = $$26078; + HEAP32[$4 >> 2] = $$277; + if (!$$277) { + if (!(FUNCTION_TABLE_ii[HEAP32[$6 >> 2] & 127]($0) | 0)) { + $$064 = 0; + label = 21; + break L1; + } + $$3 = HEAP32[$4 >> 2] | 0; + $$361 = HEAP32[$2 >> 2] | 0; + } else { + $$3 = $$277; + $$361 = $$26078; + } + $$2 = $$3 + -1 | 0; + $$260 = $$361 + 1 | 0; + if ((HEAP8[$$361 >> 0] | 0) == -1) { + $$4$ph = $$2; + $$462$ph = $$260; + break; + } else { + $$26078 = $$260; + $$277 = $$2; + } + } + } + $$4 = $$4$ph; + $$462 = $$462$ph; + do { + if (!$$4) { + if (!(FUNCTION_TABLE_ii[HEAP32[$6 >> 2] & 127]($0) | 0)) { + $$064 = 0; + label = 21; + break L1; + } + $$5 = HEAP32[$4 >> 2] | 0; + $$563 = HEAP32[$2 >> 2] | 0; + } else { + $$5 = $$4; + $$563 = $$462; + } + $$4 = $$5 + -1 | 0; + $$462 = $$563 + 1 | 0; + $36 = HEAP8[$$563 >> 0] | 0; + } while ($36 << 24 >> 24 == -1); + $40 = (HEAP32[$7 >> 2] | 0) + 24 | 0; + $41 = HEAP32[$40 >> 2] | 0; + if ($36 << 24 >> 24) { + label = 18; + break; + } + HEAP32[$40 >> 2] = $41 + 2; + HEAP32[$2 >> 2] = $$462; + HEAP32[$4 >> 2] = $$4; + $$0 = $$4; + $$058 = $$462; + } + if ((label | 0) == 18) { + $43 = $36 & 255; + if ($41 | 0) { + $45 = HEAP32[$0 >> 2] | 0; + HEAP32[$45 + 20 >> 2] = 119; + HEAP32[$45 + 24 >> 2] = $41; + HEAP32[(HEAP32[$0 >> 2] | 0) + 28 >> 2] = $43; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$0 >> 2] | 0) + 4 >> 2] & 255]($0, -1); + HEAP32[(HEAP32[$7 >> 2] | 0) + 24 >> 2] = 0; + } + HEAP32[$0 + 440 >> 2] = $43; + HEAP32[$2 >> 2] = $$462; + HEAP32[$4 >> 2] = $$4; + $$064 = 1; + return $$064 | 0; + } else if ((label | 0) == 21) return $$064 | 0; + return 0; +} + +function __ZN6vision19FindHoughSimilarityERNS_21HoughSimilarityVotingERKNSt3__26vectorINS_12FeaturePointENS2_9allocatorIS4_EEEES9_RKNS3_INS_7match_tENS5_ISA_EEEEiiii($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 $$065 = 0, $$cast = 0, $10 = 0, $11 = 0, $12 = 0, $22 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0.0, $31 = 0.0, $32 = 0.0, $34 = 0.0, $50 = 0, $52 = 0, $55 = 0, $57 = 0, $58 = 0, $69 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $8 = sp + 20 | 0; + $9 = sp + 8 | 0; + $10 = sp + 4 | 0; + $11 = sp; + $12 = $3 + 4 | 0; + __ZNSt3__26vectorIfNS_9allocatorIfEEEC2Em($8, (HEAP32[$12 >> 2] | 0) - (HEAP32[$3 >> 2] | 0) >> 1); + __ZNSt3__26vectorIfNS_9allocatorIfEEEC2Em($9, (HEAP32[$12 >> 2] | 0) - (HEAP32[$3 >> 2] | 0) >> 1); + $22 = HEAP32[$3 >> 2] | 0; + $24 = (HEAP32[$12 >> 2] | 0) - $22 >> 3; + $$cast = $22; + $25 = HEAP32[$1 >> 2] | 0; + $26 = HEAP32[$2 >> 2] | 0; + $27 = HEAP32[$8 >> 2] | 0; + $28 = HEAP32[$9 >> 2] | 0; + $$065 = 0; + while (1) { + if (($$065 | 0) == ($24 | 0)) break; + $52 = HEAP32[$$cast + ($$065 << 3) >> 2] | 0; + $55 = HEAP32[$$cast + ($$065 << 3) + 4 >> 2] | 0; + $57 = $$065 << 2; + $58 = $27 + ($57 << 2) | 0; + HEAP32[$58 >> 2] = HEAP32[$25 + ($52 * 20 | 0) >> 2]; + HEAP32[$58 + 4 >> 2] = HEAP32[$25 + ($52 * 20 | 0) + 4 >> 2]; + HEAP32[$58 + 8 >> 2] = HEAP32[$25 + ($52 * 20 | 0) + 8 >> 2]; + HEAP32[$58 + 12 >> 2] = HEAP32[$25 + ($52 * 20 | 0) + 12 >> 2]; + $69 = $28 + ($57 << 2) | 0; + HEAP32[$69 >> 2] = HEAP32[$26 + ($55 * 20 | 0) >> 2]; + HEAP32[$69 + 4 >> 2] = HEAP32[$26 + ($55 * 20 | 0) + 4 >> 2]; + HEAP32[$69 + 8 >> 2] = HEAP32[$26 + ($55 * 20 | 0) + 8 >> 2]; + HEAP32[$69 + 12 >> 2] = HEAP32[$26 + ($55 * 20 | 0) + 12 >> 2]; + $$065 = $$065 + 1 | 0; + } + $29 = +($4 | 0); + $31 = $29 * .20000000298023224 + $29; + $32 = +($5 | 0); + $34 = $32 * .20000000298023224 + $32; + __ZN6vision21HoughSimilarityVoting4initEffffiiii($0, -$31, $31, -$34, $34, 0, 0, 12, 10); + __ZN6vision21HoughSimilarityVoting26setObjectCenterInReferenceEff($0, +($6 >> 1 | 0), +($7 >> 1 | 0)); + __ZN6vision21HoughSimilarityVoting21setRefImageDimensionsEii($0, $6, $7); + __ZN6vision21HoughSimilarityVoting4voteEPKfS2_i($0, HEAP32[$8 >> 2] | 0, HEAP32[$9 >> 2] | 0, (HEAP32[$12 >> 2] | 0) - (HEAP32[$3 >> 2] | 0) >> 3); + __ZNK6vision21HoughSimilarityVoting23getMaximumNumberOfVotesERfRi($0, $10, $11); + $50 = +HEAPF32[$10 >> 2] < 3.0 ? -1 : HEAP32[$11 >> 2] | 0; + __ZNSt3__213__vector_baseIfNS_9allocatorIfEEED2Ev($9); + __ZNSt3__213__vector_baseIfNS_9allocatorIfEEED2Ev($8); + STACKTOP = sp; + return $50 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle7NewExpr9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy6 = 0, $15 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(64); + $$byval_copy6 = sp + 56 | 0; + $2 = sp + 48 | 0; + $3 = sp + 40 | 0; + $4 = sp + 32 | 0; + $5 = sp + 24 | 0; + $6 = sp + 16 | 0; + $7 = sp + 8 | 0; + $8 = sp; + if (HEAP8[$0 + 28 >> 0] | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 53288); + HEAP32[$$byval_copy6 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy6 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy6); + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, 53300); + HEAP32[$$byval_copy6 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy6 + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy6); + if (HEAP8[$0 + 29 >> 0] | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, 53304); + HEAP32[$$byval_copy6 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy6 + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy6); + } + __ZN12_GLOBAL__N_112OutputStreampLEc($1, 32); + $15 = $0 + 8 | 0; + if (!(__ZNK12_GLOBAL__N_116itanium_demangle9NodeArray5emptyEv($15) | 0)) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($5, 51968); + HEAP32[$$byval_copy6 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$$byval_copy6 + 4 >> 2] = HEAP32[$5 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy6); + __ZNK12_GLOBAL__N_116itanium_demangle9NodeArray14printWithCommaERNS_12OutputStreamE($15, $1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($6, 51964); + HEAP32[$$byval_copy6 >> 2] = HEAP32[$6 >> 2]; + HEAP32[$$byval_copy6 + 4 >> 2] = HEAP32[$6 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy6); + } + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 16 >> 2] | 0, $1); + $19 = $0 + 20 | 0; + if (!(__ZNK12_GLOBAL__N_116itanium_demangle9NodeArray5emptyEv($19) | 0)) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($7, 51968); + HEAP32[$$byval_copy6 >> 2] = HEAP32[$7 >> 2]; + HEAP32[$$byval_copy6 + 4 >> 2] = HEAP32[$7 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy6); + __ZNK12_GLOBAL__N_116itanium_demangle9NodeArray14printWithCommaERNS_12OutputStreamE($19, $1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($8, 51964); + HEAP32[$$byval_copy6 >> 2] = HEAP32[$8 >> 2]; + HEAP32[$$byval_copy6 + 4 >> 2] = HEAP32[$8 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy6); + } + STACKTOP = sp; + return; +} + +function __ZNSt3__2L20utf8_to_utf16_lengthEPKhS1_mmNS_12codecvt_modeE($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0100 = 0, $$194 = 0, $$194$ph = 0, $$2102 = 0, $$598 = 0, $$pre = 0, $21 = 0, $22 = 0, $33 = 0, $47 = 0, $49 = 0, $56 = 0, $76 = 0, $78 = 0, $80 = 0, $86 = 0, $89 = 0; + $$pre = $1; + if (((($4 & 4 | 0) != 0 ? ($$pre - $0 | 0) > 2 : 0) ? (HEAP8[$0 >> 0] | 0) == -17 : 0) ? (HEAP8[$0 + 1 >> 0] | 0) == -69 : 0) $$194$ph = (HEAP8[$0 + 2 >> 0] | 0) == -65 ? $0 + 3 | 0 : $0; else $$194$ph = $0; + $$0100 = 0; + $$194 = $$194$ph; + L7 : while (1) { + if (!($$0100 >>> 0 < $2 >>> 0 & $$194 >>> 0 < $1 >>> 0)) break; + $21 = HEAP8[$$194 >> 0] | 0; + $22 = $21 & 255; + if ($22 >>> 0 > $3 >>> 0) break; + do if ($21 << 24 >> 24 <= -1) { + if (($21 & 255) < 194) break L7; + if (($21 & 255) < 224) { + if (($$pre - $$194 | 0) < 2) break L7; + $33 = HEAPU8[$$194 + 1 >> 0] | 0; + if (($33 & 192 | 0) != 128) break L7; + if (($33 & 63 | $22 << 6 & 1984) >>> 0 > $3 >>> 0) break L7; else { + $$2102 = $$0100; + $$598 = $$194 + 2 | 0; + break; + } + } + if (($21 & 255) < 240) { + if (($$pre - $$194 | 0) < 3) break L7; + $47 = HEAP8[$$194 + 1 >> 0] | 0; + $49 = HEAP8[$$194 + 2 >> 0] | 0; + switch ($21 << 24 >> 24) { + case -32: + { + if (($47 & -32) << 24 >> 24 != -96) break L7; + break; + } + case -19: + { + if (($47 & -32) << 24 >> 24 != -128) break L7; + break; + } + default: + if (($47 & -64) << 24 >> 24 != -128) break L7; + } + $56 = $49 & 255; + if (($56 & 192 | 0) != 128) break L7; + if ((($47 & 63) << 6 | $22 << 12 & 61440 | $56 & 63) >>> 0 > $3 >>> 0) break L7; else { + $$2102 = $$0100; + $$598 = $$194 + 3 | 0; + break; + } + } + if (($21 & 255) >= 245) break L7; + if (($2 - $$0100 | 0) >>> 0 < 2 | ($$pre - $$194 | 0) < 4) break L7; + $76 = HEAP8[$$194 + 1 >> 0] | 0; + $78 = HEAP8[$$194 + 2 >> 0] | 0; + $80 = HEAP8[$$194 + 3 >> 0] | 0; + switch ($21 << 24 >> 24) { + case -16: + { + if (($76 + 112 & 255) >= 48) break L7; + break; + } + case -12: + { + if (($76 & -16) << 24 >> 24 != -128) break L7; + break; + } + default: + if (($76 & -64) << 24 >> 24 != -128) break L7; + } + $86 = $78 & 255; + if (($86 & 192 | 0) != 128) break L7; + $89 = $80 & 255; + if (($89 & 192 | 0) != 128) break L7; + if ((($76 & 63) << 12 | $22 << 18 & 1835008 | $86 << 6 & 4032 | $89 & 63) >>> 0 > $3 >>> 0) break L7; else { + $$2102 = $$0100 + 1 | 0; + $$598 = $$194 + 4 | 0; + } + } else { + $$2102 = $$0100; + $$598 = $$194 + 1 | 0; + } while (0); + $$0100 = $$2102 + 1 | 0; + $$194 = $$598; + } + return $$194 - $0 | 0; +} + +function _pop_arg($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $10 = 0, $100 = 0, $109 = 0, $11 = 0, $110 = 0.0, $17 = 0, $18 = 0, $21 = 0, $30 = 0, $31 = 0, $32 = 0, $41 = 0, $42 = 0, $44 = 0, $47 = 0, $48 = 0, $57 = 0, $58 = 0, $60 = 0, $63 = 0, $72 = 0, $73 = 0, $74 = 0, $83 = 0, $84 = 0, $86 = 0, $89 = 0, $98 = 0, $99 = 0; + L1 : do if ($1 >>> 0 <= 20) do switch ($1 | 0) { + case 9: + { + $10 = (HEAP32[$2 >> 2] | 0) + (4 - 1) & ~(4 - 1); + $11 = HEAP32[$10 >> 2] | 0; + HEAP32[$2 >> 2] = $10 + 4; + HEAP32[$0 >> 2] = $11; + break L1; + break; + } + case 10: + { + $17 = (HEAP32[$2 >> 2] | 0) + (4 - 1) & ~(4 - 1); + $18 = HEAP32[$17 >> 2] | 0; + HEAP32[$2 >> 2] = $17 + 4; + $21 = $0; + HEAP32[$21 >> 2] = $18; + HEAP32[$21 + 4 >> 2] = (($18 | 0) < 0) << 31 >> 31; + break L1; + break; + } + case 11: + { + $30 = (HEAP32[$2 >> 2] | 0) + (4 - 1) & ~(4 - 1); + $31 = HEAP32[$30 >> 2] | 0; + HEAP32[$2 >> 2] = $30 + 4; + $32 = $0; + HEAP32[$32 >> 2] = $31; + HEAP32[$32 + 4 >> 2] = 0; + break L1; + break; + } + case 12: + { + $41 = (HEAP32[$2 >> 2] | 0) + (8 - 1) & ~(8 - 1); + $42 = $41; + $44 = HEAP32[$42 >> 2] | 0; + $47 = HEAP32[$42 + 4 >> 2] | 0; + HEAP32[$2 >> 2] = $41 + 8; + $48 = $0; + HEAP32[$48 >> 2] = $44; + HEAP32[$48 + 4 >> 2] = $47; + break L1; + break; + } + case 13: + { + $57 = (HEAP32[$2 >> 2] | 0) + (4 - 1) & ~(4 - 1); + $58 = HEAP32[$57 >> 2] | 0; + HEAP32[$2 >> 2] = $57 + 4; + $60 = ($58 & 65535) << 16 >> 16; + $63 = $0; + HEAP32[$63 >> 2] = $60; + HEAP32[$63 + 4 >> 2] = (($60 | 0) < 0) << 31 >> 31; + break L1; + break; + } + case 14: + { + $72 = (HEAP32[$2 >> 2] | 0) + (4 - 1) & ~(4 - 1); + $73 = HEAP32[$72 >> 2] | 0; + HEAP32[$2 >> 2] = $72 + 4; + $74 = $0; + HEAP32[$74 >> 2] = $73 & 65535; + HEAP32[$74 + 4 >> 2] = 0; + break L1; + break; + } + case 15: + { + $83 = (HEAP32[$2 >> 2] | 0) + (4 - 1) & ~(4 - 1); + $84 = HEAP32[$83 >> 2] | 0; + HEAP32[$2 >> 2] = $83 + 4; + $86 = ($84 & 255) << 24 >> 24; + $89 = $0; + HEAP32[$89 >> 2] = $86; + HEAP32[$89 + 4 >> 2] = (($86 | 0) < 0) << 31 >> 31; + break L1; + break; + } + case 16: + { + $98 = (HEAP32[$2 >> 2] | 0) + (4 - 1) & ~(4 - 1); + $99 = HEAP32[$98 >> 2] | 0; + HEAP32[$2 >> 2] = $98 + 4; + $100 = $0; + HEAP32[$100 >> 2] = $99 & 255; + HEAP32[$100 + 4 >> 2] = 0; + break L1; + break; + } + case 17: + { + $109 = (HEAP32[$2 >> 2] | 0) + (8 - 1) & ~(8 - 1); + $110 = +HEAPF64[$109 >> 3]; + HEAP32[$2 >> 2] = $109 + 8; + HEAPF64[$0 >> 3] = $110; + break L1; + break; + } + case 18: + { + FUNCTION_TABLE_vii[$3 & 255]($0, $2); + break L1; + break; + } + default: + break L1; + } while (0); while (0); + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle10BinaryExpr9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy5 = 0, $13 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(64); + $$byval_copy5 = sp + 56 | 0; + $2 = sp + 48 | 0; + $3 = sp + 40 | 0; + $4 = sp + 32 | 0; + $5 = sp; + $6 = sp + 24 | 0; + $7 = sp + 16 | 0; + $8 = sp + 8 | 0; + $9 = $0 + 12 | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($$byval_copy5, 52043); + if (__ZN12_GLOBAL__N_1eqERKNS_10StringViewES2_($9, $$byval_copy5) | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 51968); + HEAP32[$$byval_copy5 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy5 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy5); + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, 51968); + HEAP32[$$byval_copy5 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy5 + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy5); + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 8 >> 2] | 0, $1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, 54711); + HEAP32[$$byval_copy5 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy5 + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy5); + $13 = $9; + $18 = HEAP32[$13 + 4 >> 2] | 0; + $19 = $5; + HEAP32[$19 >> 2] = HEAP32[$13 >> 2]; + HEAP32[$19 + 4 >> 2] = $18; + HEAP32[$$byval_copy5 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$$byval_copy5 + 4 >> 2] = HEAP32[$5 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy5); + __ZN12_GLOBAL__N_110StringViewC2EPKc($6, 54714); + HEAP32[$$byval_copy5 >> 2] = HEAP32[$6 >> 2]; + HEAP32[$$byval_copy5 + 4 >> 2] = HEAP32[$6 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy5); + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 20 >> 2] | 0, $1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($7, 51964); + HEAP32[$$byval_copy5 >> 2] = HEAP32[$7 >> 2]; + HEAP32[$$byval_copy5 + 4 >> 2] = HEAP32[$7 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy5); + __ZN12_GLOBAL__N_110StringViewC2EPKc($$byval_copy5, 52043); + if (__ZN12_GLOBAL__N_1eqERKNS_10StringViewES2_($9, $$byval_copy5) | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($8, 51964); + HEAP32[$$byval_copy5 >> 2] = HEAP32[$8 >> 2]; + HEAP32[$$byval_copy5 + 4 >> 2] = HEAP32[$8 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy5); + } + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E14parseArrayTypeEv($0) { + $0 = $0 | 0; + var $$1 = 0, $$2 = 0, $$3 = 0, $$byval_copy = 0, $1 = 0, $13 = 0, $2 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy = sp + 16 | 0; + $1 = sp; + $2 = sp + 8 | 0; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 65) | 0) { + __ZN12_GLOBAL__N_116itanium_demangle12NodeOrStringC2Ev($1); + if ((((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 0) | 0) << 24 >> 24) + -48 | 0) >>> 0 < 10) { + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E11parseNumberEb($2, $0, 0); + HEAP32[$$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle12NodeOrStringC2ENS_10StringViewE($1, $$byval_copy); + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 95) | 0) label = 8; else $$2 = 0; + } else if (!(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 95) | 0)) { + $9 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + if (($9 | 0) != 0 ? __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 95) | 0 : 0) { + __ZN12_GLOBAL__N_116itanium_demangle12NodeOrStringC2EPNS0_4NodeE($1, $9); + label = 8; + } else $$2 = 0; + } else label = 8; + if ((label | 0) == 8) { + $13 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseTypeEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$$byval_copy >> 2] = $13; + if (!$13) $$1 = 0; else $$1 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_9ArrayTypeEJRPNS0_4NodeERNS0_12NodeOrStringEEEES9_DpOT0_($0, $$byval_copy, $1) | 0; + $$2 = $$1; + } + $$3 = $$2; + } else $$3 = 0; + STACKTOP = sp; + return $$3 | 0; +} + +function __ZNSt3__212__hash_tableINS_17__hash_value_typeIiNS_6vectorIN6vision7Point3dIfEENS_9allocatorIS5_EEEEEENS_22__unordered_map_hasherIiS9_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS9_NS_8equal_toIiEELb1EEENS6_IS9_EEE8__rehashEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$054$ph$ph = 0, $$055 = 0, $$056$ph = 0, $$056$ph$ph = 0, $$058 = 0, $13 = 0, $14 = 0, $2 = 0, $20 = 0, $21 = 0, $23 = 0, $29 = 0, $32 = 0, $37 = 0, $39 = 0, $42 = 0, $43 = 0, $5 = 0, $57 = 0, $7 = 0, $8 = 0; + $2 = $0 + 4 | 0; + L1 : do if ($1) { + if ($1 >>> 0 > 1073741823) { + $5 = ___cxa_allocate_exception(8) | 0; + __ZNSt11logic_errorC2EPKc($5, 41481); + HEAP32[$5 >> 2] = 17472; + ___cxa_throw($5 | 0, 13960, 22); + } + $7 = __Znwm($1 << 2) | 0; + $8 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = $7; + if ($8 | 0) __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($8, HEAP32[$0 + 4 >> 2] << 2); + HEAP32[$2 >> 2] = $1; + $$058 = 0; + while (1) { + if (($$058 | 0) == ($1 | 0)) break; + HEAP32[(HEAP32[$0 >> 2] | 0) + ($$058 << 2) >> 2] = 0; + $$058 = $$058 + 1 | 0; + } + $13 = $0 + 8 | 0; + $14 = HEAP32[$13 >> 2] | 0; + if ($14 | 0) { + $20 = HEAP32[$14 + 4 >> 2] | 0; + $21 = $1 + -1 | 0; + $23 = ($21 & $1 | 0) == 0; + if (!$23) if ($20 >>> 0 < $1 >>> 0) $29 = $20; else $29 = ($20 >>> 0) % ($1 >>> 0) | 0; else $29 = $20 & $21; + HEAP32[(HEAP32[$0 >> 2] | 0) + ($29 << 2) >> 2] = $13; + $$054$ph$ph = $29; + $$056$ph$ph = $14; + while (1) { + $$056$ph = $$056$ph$ph; + L25 : while (1) { + while (1) { + $$055 = HEAP32[$$056$ph >> 2] | 0; + if (!$$055) break L1; + $32 = HEAP32[$$055 + 4 >> 2] | 0; + if (!$23) if ($32 >>> 0 < $1 >>> 0) $37 = $32; else $37 = ($32 >>> 0) % ($1 >>> 0) | 0; else $37 = $32 & $21; + if (($37 | 0) == ($$054$ph$ph | 0)) break; + $39 = (HEAP32[$0 >> 2] | 0) + ($37 << 2) | 0; + if (!(HEAP32[$39 >> 2] | 0)) break L25; + $42 = $$055 + 8 | 0; + $$0 = $$055; + while (1) { + $43 = HEAP32[$$0 >> 2] | 0; + if (!$43) break; + if ((HEAP32[$42 >> 2] | 0) == (HEAP32[$43 + 8 >> 2] | 0)) $$0 = $43; else break; + } + HEAP32[$$056$ph >> 2] = $43; + HEAP32[$$0 >> 2] = HEAP32[HEAP32[(HEAP32[$0 >> 2] | 0) + ($37 << 2) >> 2] >> 2]; + HEAP32[HEAP32[(HEAP32[$0 >> 2] | 0) + ($37 << 2) >> 2] >> 2] = $$055; + } + $$056$ph = $$055; + } + HEAP32[$39 >> 2] = $$056$ph; + $$054$ph$ph = $37; + $$056$ph$ph = $$055; + } + } + } else { + $57 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = 0; + if ($57 | 0) __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($57, HEAP32[$0 + 4 >> 2] << 2); + HEAP32[$2 >> 2] = 0; + } while (0); + return; +} + +function __ZNSt3__212__hash_tableINS_17__hash_value_typeIiNS_10shared_ptrIN6vision8KeyframeILi96EEEEEEENS_22__unordered_map_hasherIiS7_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS7_NS_8equal_toIiEELb1EEENS_9allocatorIS7_EEE8__rehashEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$054$ph$ph = 0, $$055 = 0, $$056$ph = 0, $$056$ph$ph = 0, $$058 = 0, $13 = 0, $14 = 0, $2 = 0, $20 = 0, $21 = 0, $23 = 0, $29 = 0, $32 = 0, $37 = 0, $39 = 0, $42 = 0, $43 = 0, $5 = 0, $57 = 0, $7 = 0, $8 = 0; + $2 = $0 + 4 | 0; + L1 : do if ($1) { + if ($1 >>> 0 > 1073741823) { + $5 = ___cxa_allocate_exception(8) | 0; + __ZNSt11logic_errorC2EPKc($5, 41481); + HEAP32[$5 >> 2] = 17472; + ___cxa_throw($5 | 0, 13960, 22); + } + $7 = __Znwm($1 << 2) | 0; + $8 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = $7; + if ($8 | 0) __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($8, HEAP32[$0 + 4 >> 2] << 2); + HEAP32[$2 >> 2] = $1; + $$058 = 0; + while (1) { + if (($$058 | 0) == ($1 | 0)) break; + HEAP32[(HEAP32[$0 >> 2] | 0) + ($$058 << 2) >> 2] = 0; + $$058 = $$058 + 1 | 0; + } + $13 = $0 + 8 | 0; + $14 = HEAP32[$13 >> 2] | 0; + if ($14 | 0) { + $20 = HEAP32[$14 + 4 >> 2] | 0; + $21 = $1 + -1 | 0; + $23 = ($21 & $1 | 0) == 0; + if (!$23) if ($20 >>> 0 < $1 >>> 0) $29 = $20; else $29 = ($20 >>> 0) % ($1 >>> 0) | 0; else $29 = $20 & $21; + HEAP32[(HEAP32[$0 >> 2] | 0) + ($29 << 2) >> 2] = $13; + $$054$ph$ph = $29; + $$056$ph$ph = $14; + while (1) { + $$056$ph = $$056$ph$ph; + L25 : while (1) { + while (1) { + $$055 = HEAP32[$$056$ph >> 2] | 0; + if (!$$055) break L1; + $32 = HEAP32[$$055 + 4 >> 2] | 0; + if (!$23) if ($32 >>> 0 < $1 >>> 0) $37 = $32; else $37 = ($32 >>> 0) % ($1 >>> 0) | 0; else $37 = $32 & $21; + if (($37 | 0) == ($$054$ph$ph | 0)) break; + $39 = (HEAP32[$0 >> 2] | 0) + ($37 << 2) | 0; + if (!(HEAP32[$39 >> 2] | 0)) break L25; + $42 = $$055 + 8 | 0; + $$0 = $$055; + while (1) { + $43 = HEAP32[$$0 >> 2] | 0; + if (!$43) break; + if ((HEAP32[$42 >> 2] | 0) == (HEAP32[$43 + 8 >> 2] | 0)) $$0 = $43; else break; + } + HEAP32[$$056$ph >> 2] = $43; + HEAP32[$$0 >> 2] = HEAP32[HEAP32[(HEAP32[$0 >> 2] | 0) + ($37 << 2) >> 2] >> 2]; + HEAP32[HEAP32[(HEAP32[$0 >> 2] | 0) + ($37 << 2) >> 2] >> 2] = $$055; + } + $$056$ph = $$055; + } + HEAP32[$39 >> 2] = $$056$ph; + $$054$ph$ph = $37; + $$056$ph$ph = $$055; + } + } + } else { + $57 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = 0; + if ($57 | 0) __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($57, HEAP32[$0 + 4 >> 2] << 2); + HEAP32[$2 >> 2] = 0; + } while (0); + return; +} + +function _jinit_merged_upsampler($0) { + $0 = $0 | 0; + var $$03233$i = 0, $$03233$i23 = 0, $$034$i = 0, $$034$i22 = 0, $1 = 0, $11 = 0, $16 = 0, $21 = 0, $27 = 0, $30 = 0, $31 = 0, $32 = 0, $35 = 0, $36 = 0, $39 = 0, $4 = 0, $40 = 0, $43 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $56 = 0, $59 = 0, $71 = 0, $74 = 0; + $1 = $0 + 4 | 0; + $4 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 48) | 0; + $5 = $0 + 476 | 0; + HEAP32[$5 >> 2] = $4; + HEAP32[$4 >> 2] = 189; + HEAP32[$4 + 8 >> 2] = 0; + $11 = Math_imul(HEAP32[$0 + 120 >> 2] | 0, HEAP32[$0 + 112 >> 2] | 0) | 0; + HEAP32[$4 + 40 >> 2] = $11; + $16 = $4 + 4 | 0; + if ((HEAP32[$0 + 320 >> 2] | 0) == 2) { + HEAP32[$16 >> 2] = 1; + HEAP32[$4 + 12 >> 2] = 9; + $21 = FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$1 >> 2] | 0) + 4 >> 2] & 63]($0, 1, $11) | 0; + HEAP32[$4 + 32 >> 2] = $21; + $32 = HEAP32[$5 >> 2] | 0; + } else { + HEAP32[$16 >> 2] = 2; + HEAP32[$4 + 12 >> 2] = 10; + HEAP32[$4 + 32 >> 2] = 0; + $32 = $4; + } + $27 = (HEAP32[$0 + 40 >> 2] | 0) == 7; + $30 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 1024) | 0; + $31 = $32 + 16 | 0; + HEAP32[$31 >> 2] = $30; + $35 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 1024) | 0; + $36 = $32 + 20 | 0; + HEAP32[$36 >> 2] = $35; + $39 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 1024) | 0; + $40 = $32 + 24 | 0; + HEAP32[$40 >> 2] = $39; + $43 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 1024) | 0; + HEAP32[$32 + 28 >> 2] = $43; + $45 = HEAP32[$31 >> 2] | 0; + $46 = HEAP32[$36 >> 2] | 0; + $47 = HEAP32[$40 >> 2] | 0; + if ($27) { + $$03233$i = 0; + $$034$i = -128; + while (1) { + HEAP32[$45 + ($$03233$i << 2) >> 2] = ($$034$i * 183763 | 0) + 32768 >> 16; + HEAP32[$46 + ($$03233$i << 2) >> 2] = ($$034$i * 232260 | 0) + 32768 >> 16; + $56 = Math_imul($$034$i, -93603) | 0; + HEAP32[$47 + ($$03233$i << 2) >> 2] = $56; + $59 = (Math_imul($$034$i, -45107) | 0) + 32768 | 0; + HEAP32[$43 + ($$03233$i << 2) >> 2] = $59; + $$03233$i = $$03233$i + 1 | 0; + if (($$03233$i | 0) == 256) break; else $$034$i = $$034$i + 1 | 0; + } + return; + } else { + $$03233$i23 = 0; + $$034$i22 = -128; + while (1) { + HEAP32[$45 + ($$03233$i23 << 2) >> 2] = ($$034$i22 * 91881 | 0) + 32768 >> 16; + HEAP32[$46 + ($$03233$i23 << 2) >> 2] = ($$034$i22 * 116130 | 0) + 32768 >> 16; + $71 = Math_imul($$034$i22, -46802) | 0; + HEAP32[$47 + ($$03233$i23 << 2) >> 2] = $71; + $74 = (Math_imul($$034$i22, -22553) | 0) + 32768 | 0; + HEAP32[$43 + ($$03233$i23 << 2) >> 2] = $74; + $$03233$i23 = $$03233$i23 + 1 | 0; + if (($$03233$i23 | 0) == 256) break; else $$034$i22 = $$034$i22 + 1 | 0; + } + return; + } +} + +function __ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE6removeENS_21__hash_const_iteratorIPNS_11__hash_nodeIS3_PvEEEE($agg$result, $this, $__p) { + $agg$result = $agg$result | 0; + $this = $this | 0; + $__p = $__p | 0; + var $0 = 0, $1 = 0, $10 = 0, $11 = 0, $13 = 0, $2 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $__next_20$pre$phiZ2D = 0, $__p1_ = 0, $__pn$0 = 0, $__value_$i$i$i = 0, $arrayidx$i48 = 0, $cond3$i = 0, $cond3$i35 = 0, $cond3$i44 = 0, $cond3$i55 = 0, $sub$i49 = 0, $tobool$i51 = 0, label = 0; + $0 = HEAP32[$__p >> 2] | 0; + $1 = HEAP32[$this + 4 >> 2] | 0; + $2 = HEAP32[$0 + 4 >> 2] | 0; + $sub$i49 = $1 + -1 | 0; + $tobool$i51 = ($sub$i49 & $1 | 0) == 0; + if (!$tobool$i51) if ($2 >>> 0 < $1 >>> 0) $cond3$i55 = $2; else $cond3$i55 = ($2 >>> 0) % ($1 >>> 0) | 0; else $cond3$i55 = $sub$i49 & $2; + $arrayidx$i48 = (HEAP32[$this >> 2] | 0) + ($cond3$i55 << 2) | 0; + $__pn$0 = HEAP32[$arrayidx$i48 >> 2] | 0; + while (1) { + $5 = HEAP32[$__pn$0 >> 2] | 0; + if (($5 | 0) == ($0 | 0)) break; else $__pn$0 = $5; + } + $__p1_ = $this + 8 | 0; + if (($__pn$0 | 0) != ($__p1_ | 0)) { + $6 = HEAP32[$__pn$0 + 4 >> 2] | 0; + if (!$tobool$i51) if ($6 >>> 0 < $1 >>> 0) $cond3$i44 = $6; else $cond3$i44 = ($6 >>> 0) % ($1 >>> 0) | 0; else $cond3$i44 = $6 & $sub$i49; + if (($cond3$i44 | 0) == ($cond3$i55 | 0)) $__next_20$pre$phiZ2D = $0; else label = 14; + } else label = 14; + do if ((label | 0) == 14) { + $7 = HEAP32[$0 >> 2] | 0; + if ($7 | 0) { + $8 = HEAP32[$7 + 4 >> 2] | 0; + if (!$tobool$i51) if ($8 >>> 0 < $1 >>> 0) $cond3$i35 = $8; else $cond3$i35 = ($8 >>> 0) % ($1 >>> 0) | 0; else $cond3$i35 = $8 & $sub$i49; + if (($cond3$i35 | 0) == ($cond3$i55 | 0)) { + $__next_20$pre$phiZ2D = $0; + break; + } + } + HEAP32[$arrayidx$i48 >> 2] = 0; + $__next_20$pre$phiZ2D = $0; + } while (0); + $9 = HEAP32[$__next_20$pre$phiZ2D >> 2] | 0; + $10 = $9; + if ($9) { + $11 = HEAP32[$9 + 4 >> 2] | 0; + if (!$tobool$i51) if ($11 >>> 0 < $1 >>> 0) $cond3$i = $11; else $cond3$i = ($11 >>> 0) % ($1 >>> 0) | 0; else $cond3$i = $11 & $sub$i49; + if (($cond3$i | 0) != ($cond3$i55 | 0)) { + HEAP32[(HEAP32[$this >> 2] | 0) + ($cond3$i << 2) >> 2] = $__pn$0; + $13 = HEAP32[$0 >> 2] | 0; + } else $13 = $10; + } else $13 = $10; + HEAP32[$__pn$0 >> 2] = $13; + HEAP32[$__next_20$pre$phiZ2D >> 2] = 0; + $__value_$i$i$i = $this + 12 | 0; + HEAP32[$__value_$i$i$i >> 2] = (HEAP32[$__value_$i$i$i >> 2] | 0) + -1; + HEAP32[$agg$result >> 2] = $0; + HEAP32[$agg$result + 4 >> 2] = $__p1_; + HEAP8[$agg$result + 8 >> 0] = 1; + return; +} + +function __ZNSt3__212__hash_tableINS_17__hash_value_typeIiNS_6vectorIiNS_9allocatorIiEEEEEENS_22__unordered_map_hasherIiS6_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS6_NS_8equal_toIiEELb1EEENS3_IS6_EEE8__rehashEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$054$ph$ph = 0, $$055 = 0, $$056$ph = 0, $$056$ph$ph = 0, $$058 = 0, $13 = 0, $14 = 0, $2 = 0, $20 = 0, $21 = 0, $23 = 0, $29 = 0, $32 = 0, $37 = 0, $39 = 0, $42 = 0, $43 = 0, $5 = 0, $57 = 0, $7 = 0, $8 = 0; + $2 = $0 + 4 | 0; + L1 : do if ($1) { + if ($1 >>> 0 > 1073741823) { + $5 = ___cxa_allocate_exception(8) | 0; + __ZNSt11logic_errorC2EPKc($5, 41481); + HEAP32[$5 >> 2] = 17472; + ___cxa_throw($5 | 0, 13960, 22); + } + $7 = __Znwm($1 << 2) | 0; + $8 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = $7; + if ($8 | 0) __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($8, HEAP32[$0 + 4 >> 2] << 2); + HEAP32[$2 >> 2] = $1; + $$058 = 0; + while (1) { + if (($$058 | 0) == ($1 | 0)) break; + HEAP32[(HEAP32[$0 >> 2] | 0) + ($$058 << 2) >> 2] = 0; + $$058 = $$058 + 1 | 0; + } + $13 = $0 + 8 | 0; + $14 = HEAP32[$13 >> 2] | 0; + if ($14 | 0) { + $20 = HEAP32[$14 + 4 >> 2] | 0; + $21 = $1 + -1 | 0; + $23 = ($21 & $1 | 0) == 0; + if (!$23) if ($20 >>> 0 < $1 >>> 0) $29 = $20; else $29 = ($20 >>> 0) % ($1 >>> 0) | 0; else $29 = $20 & $21; + HEAP32[(HEAP32[$0 >> 2] | 0) + ($29 << 2) >> 2] = $13; + $$054$ph$ph = $29; + $$056$ph$ph = $14; + while (1) { + $$056$ph = $$056$ph$ph; + L25 : while (1) { + while (1) { + $$055 = HEAP32[$$056$ph >> 2] | 0; + if (!$$055) break L1; + $32 = HEAP32[$$055 + 4 >> 2] | 0; + if (!$23) if ($32 >>> 0 < $1 >>> 0) $37 = $32; else $37 = ($32 >>> 0) % ($1 >>> 0) | 0; else $37 = $32 & $21; + if (($37 | 0) == ($$054$ph$ph | 0)) break; + $39 = (HEAP32[$0 >> 2] | 0) + ($37 << 2) | 0; + if (!(HEAP32[$39 >> 2] | 0)) break L25; + $42 = $$055 + 8 | 0; + $$0 = $$055; + while (1) { + $43 = HEAP32[$$0 >> 2] | 0; + if (!$43) break; + if ((HEAP32[$42 >> 2] | 0) == (HEAP32[$43 + 8 >> 2] | 0)) $$0 = $43; else break; + } + HEAP32[$$056$ph >> 2] = $43; + HEAP32[$$0 >> 2] = HEAP32[HEAP32[(HEAP32[$0 >> 2] | 0) + ($37 << 2) >> 2] >> 2]; + HEAP32[HEAP32[(HEAP32[$0 >> 2] | 0) + ($37 << 2) >> 2] >> 2] = $$055; + } + $$056$ph = $$055; + } + HEAP32[$39 >> 2] = $$056$ph; + $$054$ph$ph = $37; + $$056$ph$ph = $$055; + } + } + } else { + $57 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = 0; + if ($57 | 0) __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($57, HEAP32[$0 + 4 >> 2] << 2); + HEAP32[$2 >> 2] = 0; + } while (0); + return; +} + +function _wcsnrtombs($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0 = 0, $$04773 = 0, $$05172 = 0, $$054 = 0, $$148 = 0, $$152 = 0, $$15571 = 0, $$162 = 0, $$174 = 0, $$2 = 0, $$24968 = 0, $$25367 = 0, $$256 = 0, $$350 = 0, $$357 = 0, $$369 = 0, $$466 = 0, $$cast = 0, $11 = 0, $14 = 0, $15 = 0, $17 = 0, $20 = 0, $21 = 0, $25 = 0, $30 = 0, $31 = 0, $40 = 0, $45 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $spec$select = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 272 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(272); + $5 = sp; + $6 = sp + 256 | 0; + $7 = HEAP32[$1 >> 2] | 0; + HEAP32[$6 >> 2] = $7; + $8 = ($0 | 0) != 0; + $$054 = $8 ? $3 : 256; + $$0 = $8 ? $0 : $5; + $$cast = $7; + L1 : do if (($$054 | 0) != 0 & ($7 | 0) != 0) { + $$04773 = 0; + $$05172 = $2; + $$15571 = $$054; + $$174 = $$0; + $45 = $$cast; + while (1) { + $11 = $$05172 >>> 0 >= $$15571 >>> 0; + if (!($11 | $$05172 >>> 0 > 32)) { + $$148 = $$04773; + $$152 = $$05172; + $$162 = $$174; + $$357 = $$15571; + $25 = $45; + break L1; + } + $spec$select = $11 ? $$15571 : $$05172; + $14 = $$05172 - $spec$select | 0; + $15 = _wcsrtombs($$174, $6, $spec$select, 0) | 0; + if (($15 | 0) == -1) break; + $17 = ($$174 | 0) == ($5 | 0); + $$256 = $$15571 - ($17 ? 0 : $15) | 0; + $$2 = $17 ? $$174 : $$174 + $15 | 0; + $20 = $15 + $$04773 | 0; + $21 = HEAP32[$6 >> 2] | 0; + if (($$256 | 0) != 0 & ($21 | 0) != 0) { + $$04773 = $20; + $$05172 = $14; + $$15571 = $$256; + $$174 = $$2; + $45 = $21; + } else { + $$148 = $20; + $$152 = $14; + $$162 = $$2; + $$357 = $$256; + $25 = $21; + break L1; + } + } + $$148 = -1; + $$152 = $14; + $$162 = $$174; + $$357 = 0; + $25 = HEAP32[$6 >> 2] | 0; + } else { + $$148 = 0; + $$152 = $2; + $$162 = $$0; + $$357 = $$054; + $25 = $$cast; + } while (0); + L9 : do if (($25 | 0) != 0 ? ($$357 | 0) != 0 & ($$152 | 0) != 0 : 0) { + $$24968 = $$148; + $$25367 = $$152; + $$369 = $$162; + $$466 = $$357; + $30 = $25; + while (1) { + $31 = _wcrtomb($$369, HEAP32[$30 >> 2] | 0, 0) | 0; + if (($31 + 1 | 0) >>> 0 < 2) break; + $30 = (HEAP32[$6 >> 2] | 0) + 4 | 0; + HEAP32[$6 >> 2] = $30; + $$25367 = $$25367 + -1 | 0; + $$466 = $$466 - $31 | 0; + $40 = $31 + $$24968 | 0; + if (!(($$466 | 0) != 0 & ($$25367 | 0) != 0)) { + $$350 = $40; + break L9; + } else { + $$24968 = $40; + $$369 = $$369 + $31 | 0; + } + } + if (!$31) { + HEAP32[$6 >> 2] = 0; + $$350 = $$24968; + } else $$350 = -1; + } else $$350 = $$148; while (0); + if ($8) HEAP32[$1 >> 2] = HEAP32[$6 >> 2]; + STACKTOP = sp; + return $$350 | 0; +} + +function _alloc_small($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$069 = 0, $$070 = 0, $$07082 = 0, $$07084 = 0, $$072$lcssa = 0, $$1 = 0, $$171 = 0, $$277 = 0, $$lcssa73 = 0, $$lcssa74 = 0, $$pre$phiZ2D = 0, $11 = 0, $16 = 0, $21 = 0, $25 = 0, $26 = 0, $28 = 0, $29 = 0, $30 = 0, $34 = 0, $39 = 0, $4 = 0, $40 = 0, $41 = 0, $43 = 0, $49 = 0, $50 = 0, $53 = 0, $6 = 0, label = 0; + $4 = HEAP32[$0 + 4 >> 2] | 0; + if ($2 >>> 0 > 999999984) { + $6 = HEAP32[$0 >> 2] | 0; + HEAP32[$6 + 20 >> 2] = 56; + HEAP32[$6 + 24 >> 2] = 1; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + $11 = $2 & 7; + $$069 = (($11 | 0) == 0 ? 0 : 8 - $11 | 0) + $2 | 0; + if ($1 >>> 0 > 1) { + $16 = HEAP32[$0 >> 2] | 0; + HEAP32[$16 + 20 >> 2] = 15; + HEAP32[$16 + 24 >> 2] = $1; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + $21 = $4 + 52 + ($1 << 2) | 0; + $$07082 = HEAP32[$21 >> 2] | 0; + L7 : do if (!$$07082) { + $$072$lcssa = 0; + label = 9; + } else { + $$07084 = $$07082; + while (1) { + if ((HEAP32[$$07084 + 8 >> 2] | 0) >>> 0 >= $$069 >>> 0) { + $$171 = $$07084; + break L7; + } + $$070 = HEAP32[$$07084 >> 2] | 0; + if (!$$070) { + $$072$lcssa = $$07084; + label = 9; + break; + } else $$07084 = $$070; + } + } while (0); + do if ((label | 0) == 9) { + $25 = ($$072$lcssa | 0) == 0; + $$0 = HEAP32[($25 ? 17016 : 17024) + ($1 << 2) >> 2] | 0; + $26 = 999999984 - $$069 | 0; + $$1 = $$0 >>> 0 > $26 >>> 0 ? $26 : $$0; + $28 = $$1 + $$069 | 0; + $29 = $28 + 16 | 0; + $30 = _jpeg_get_small($0, $29) | 0; + if (!$30) { + $$277 = $$1; + do { + if ($$277 >>> 0 < 100) { + $34 = HEAP32[$0 >> 2] | 0; + HEAP32[$34 + 20 >> 2] = 56; + HEAP32[$34 + 24 >> 2] = 2; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + $$277 = $$277 >>> 1; + $39 = $$277 + $$069 | 0; + $40 = $39 + 16 | 0; + $41 = _jpeg_get_small($0, $40) | 0; + } while (!($41 | 0)); + $$lcssa73 = $41; + $$lcssa74 = $40; + $$pre$phiZ2D = $39; + } else { + $$lcssa73 = $30; + $$lcssa74 = $29; + $$pre$phiZ2D = $28; + } + $43 = $4 + 76 | 0; + HEAP32[$43 >> 2] = (HEAP32[$43 >> 2] | 0) + $$lcssa74; + HEAP32[$$lcssa73 >> 2] = 0; + HEAP32[$$lcssa73 + 4 >> 2] = 0; + HEAP32[$$lcssa73 + 8 >> 2] = $$pre$phiZ2D; + if ($25) { + HEAP32[$21 >> 2] = $$lcssa73; + $$171 = $$lcssa73; + break; + } else { + HEAP32[$$072$lcssa >> 2] = $$lcssa73; + $$171 = $$lcssa73; + break; + } + } while (0); + $49 = $$171 + 4 | 0; + $50 = HEAP32[$49 >> 2] | 0; + HEAP32[$49 >> 2] = $50 + $$069; + $53 = $$171 + 8 | 0; + HEAP32[$53 >> 2] = (HEAP32[$53 >> 2] | 0) - $$069; + return $$171 + 16 + $50 | 0; +} + +function _arImageProcLumaHistAndBoxFilterWithBias($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0, $$073 = 0, $$074 = 0, $$075 = 0, $$076 = 0, $$078 = 0, $$082 = 0, $$1 = 0, $$177 = 0, $$179 = 0, $$2 = 0, $$280 = 0, $$3 = 0, $$381 = 0, $$pre$phi86Z2D = 0, $$pre$phiZ2D = 0, $10 = 0, $13 = 0, $15 = 0, $16 = 0, $17 = 0, $19 = 0, $22 = 0, $26 = 0, $28 = 0, $4 = 0, $44 = 0, $50 = 0, $53 = 0, $8 = 0; + $4 = _arImageProcLumaHist($0, $1) | 0; + L1 : do if (($4 | 0) >= 0) { + if (!(HEAP32[$0 >> 2] | 0)) { + $8 = $0 + 4 | 0; + $10 = $0 + 8 | 0; + $13 = _malloc(Math_imul(HEAP32[$10 >> 2] | 0, HEAP32[$8 >> 2] | 0) | 0) | 0; + HEAP32[$0 >> 2] = $13; + if (!$13) { + $$0 = -1; + break; + } else { + $$pre$phi86Z2D = $8; + $$pre$phiZ2D = $10; + } + } else { + $$pre$phi86Z2D = $0 + 4 | 0; + $$pre$phiZ2D = $0 + 8 | 0; + } + $15 = $2 >> 1; + $16 = 0 - $15 | 0; + $$082 = 0; + while (1) { + $17 = HEAP32[$$pre$phiZ2D >> 2] | 0; + if (($$082 | 0) >= ($17 | 0)) break; + $$073 = 0; + while (1) { + $19 = HEAP32[$$pre$phi86Z2D >> 2] | 0; + if (($$073 | 0) >= ($19 | 0)) break; + $$074 = $16; + $$076 = 0; + $$078 = 0; + while (1) { + if (($$074 | 0) > ($15 | 0)) break; + $22 = $$074 + $$082 | 0; + L16 : do if (($22 | 0) >= 0 ? ($22 | 0) < (HEAP32[$$pre$phiZ2D >> 2] | 0) : 0) { + $26 = Math_imul($22, $19) | 0; + $$075 = $16; + $$177 = $$076; + $$179 = $$078; + while (1) { + if (($$075 | 0) > ($15 | 0)) { + $$3 = $$177; + $$381 = $$179; + break L16; + } + $28 = $$075 + $$073 | 0; + if (($28 | 0) > -1 & ($28 | 0) < ($19 | 0)) { + $$2 = $$177 + 1 | 0; + $$280 = $$179 + (HEAPU8[$1 + ($28 + $26) >> 0] | 0) | 0; + } else { + $$2 = $$177; + $$280 = $$179; + } + $$075 = $$075 + 1 | 0; + $$177 = $$2; + $$179 = $$280; + } + } else { + $$3 = $$076; + $$381 = $$078; + } while (0); + $$074 = $$074 + 1 | 0; + $$076 = $$3; + $$078 = $$381; + } + $44 = (HEAP32[$0 >> 2] | 0) + ((Math_imul($19, $$082) | 0) + $$073) | 0; + HEAP8[$44 >> 0] = ($$078 | 0) / ($$076 | 0) | 0; + $$073 = $$073 + 1 | 0; + } + $$082 = $$082 + 1 | 0; + } + if (!$3) $$0 = 0; else { + $$1 = 0; + $50 = $17; + while (1) { + if (($$1 | 0) >= (Math_imul($50, HEAP32[$$pre$phi86Z2D >> 2] | 0) | 0)) { + $$0 = 0; + break L1; + } + $53 = (HEAP32[$0 >> 2] | 0) + $$1 | 0; + HEAP8[$53 >> 0] = (HEAPU8[$53 >> 0] | 0) + $3; + $$1 = $$1 + 1 | 0; + $50 = HEAP32[$$pre$phiZ2D >> 2] | 0; + } + } + } else $$0 = $4; while (0); + return $$0 | 0; +} + +function __ZNSt3__212__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEELb1EEENS_21__unordered_map_equalIjS2_NS_8equal_toIjEELb1EEENS_9allocatorIS2_EEE8__rehashEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$054$ph$ph = 0, $$055 = 0, $$056$ph = 0, $$056$ph$ph = 0, $$058 = 0, $13 = 0, $14 = 0, $2 = 0, $20 = 0, $21 = 0, $23 = 0, $29 = 0, $32 = 0, $37 = 0, $39 = 0, $42 = 0, $43 = 0, $5 = 0, $57 = 0, $7 = 0, $8 = 0; + $2 = $0 + 4 | 0; + L1 : do if ($1) { + if ($1 >>> 0 > 1073741823) { + $5 = ___cxa_allocate_exception(8) | 0; + __ZNSt11logic_errorC2EPKc($5, 41481); + HEAP32[$5 >> 2] = 17472; + ___cxa_throw($5 | 0, 13960, 22); + } + $7 = __Znwm($1 << 2) | 0; + $8 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = $7; + if ($8 | 0) __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($8, HEAP32[$0 + 4 >> 2] << 2); + HEAP32[$2 >> 2] = $1; + $$058 = 0; + while (1) { + if (($$058 | 0) == ($1 | 0)) break; + HEAP32[(HEAP32[$0 >> 2] | 0) + ($$058 << 2) >> 2] = 0; + $$058 = $$058 + 1 | 0; + } + $13 = $0 + 8 | 0; + $14 = HEAP32[$13 >> 2] | 0; + if ($14 | 0) { + $20 = HEAP32[$14 + 4 >> 2] | 0; + $21 = $1 + -1 | 0; + $23 = ($21 & $1 | 0) == 0; + if (!$23) if ($20 >>> 0 < $1 >>> 0) $29 = $20; else $29 = ($20 >>> 0) % ($1 >>> 0) | 0; else $29 = $20 & $21; + HEAP32[(HEAP32[$0 >> 2] | 0) + ($29 << 2) >> 2] = $13; + $$054$ph$ph = $29; + $$056$ph$ph = $14; + while (1) { + $$056$ph = $$056$ph$ph; + L25 : while (1) { + while (1) { + $$055 = HEAP32[$$056$ph >> 2] | 0; + if (!$$055) break L1; + $32 = HEAP32[$$055 + 4 >> 2] | 0; + if (!$23) if ($32 >>> 0 < $1 >>> 0) $37 = $32; else $37 = ($32 >>> 0) % ($1 >>> 0) | 0; else $37 = $32 & $21; + if (($37 | 0) == ($$054$ph$ph | 0)) break; + $39 = (HEAP32[$0 >> 2] | 0) + ($37 << 2) | 0; + if (!(HEAP32[$39 >> 2] | 0)) break L25; + $42 = $$055 + 8 | 0; + $$0 = $$055; + while (1) { + $43 = HEAP32[$$0 >> 2] | 0; + if (!$43) break; + if ((HEAP32[$42 >> 2] | 0) == (HEAP32[$43 + 8 >> 2] | 0)) $$0 = $43; else break; + } + HEAP32[$$056$ph >> 2] = $43; + HEAP32[$$0 >> 2] = HEAP32[HEAP32[(HEAP32[$0 >> 2] | 0) + ($37 << 2) >> 2] >> 2]; + HEAP32[HEAP32[(HEAP32[$0 >> 2] | 0) + ($37 << 2) >> 2] >> 2] = $$055; + } + $$056$ph = $$055; + } + HEAP32[$39 >> 2] = $$056$ph; + $$054$ph$ph = $37; + $$056$ph$ph = $$055; + } + } + } else { + $57 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = 0; + if ($57 | 0) __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($57, HEAP32[$0 + 4 >> 2] << 2); + HEAP32[$2 >> 2] = 0; + } while (0); + return; +} + +function __ZNSt3__2L12ucs4_to_utf8EPKjS1_RS1_PhS3_RS3_mNS_12codecvt_modeE($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 $$2 = 0, $$pre49 = 0, $14 = 0, $16 = 0, $19 = 0, $20 = 0, $25 = 0, $32 = 0, $43 = 0, $46 = 0, $48 = 0, $58 = 0, $63 = 0, $74 = 0, $80 = 0, $85 = 0, $88 = 0, label = 0; + HEAP32[$2 >> 2] = $0; + HEAP32[$5 >> 2] = $3; + $$pre49 = $4; + if ($7 & 2) if (($$pre49 - $3 | 0) < 3) $$2 = 1; else { + HEAP32[$5 >> 2] = $3 + 1; + HEAP8[$3 >> 0] = -17; + $14 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $14 + 1; + HEAP8[$14 >> 0] = -69; + $16 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $16 + 1; + HEAP8[$16 >> 0] = -65; + label = 4; + } else label = 4; + L4 : do if ((label | 0) == 4) { + $19 = HEAP32[$2 >> 2] | 0; + while (1) { + if ($19 >>> 0 >= $1 >>> 0) { + $$2 = 0; + break L4; + } + $20 = HEAP32[$19 >> 2] | 0; + if ($20 >>> 0 > $6 >>> 0 | ($20 & -2048 | 0) == 55296) { + $$2 = 2; + break L4; + } + do if ($20 >>> 0 >= 128) { + if ($20 >>> 0 < 2048) { + $32 = HEAP32[$5 >> 2] | 0; + if (($$pre49 - $32 | 0) < 2) { + $$2 = 1; + break L4; + } + HEAP32[$5 >> 2] = $32 + 1; + HEAP8[$32 >> 0] = $20 >>> 6 | 192; + $43 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $43 + 1; + HEAP8[$43 >> 0] = $20 & 63 | 128; + break; + } + $46 = HEAP32[$5 >> 2] | 0; + $48 = $$pre49 - $46 | 0; + if ($20 >>> 0 < 65536) { + if (($48 | 0) < 3) { + $$2 = 1; + break L4; + } + HEAP32[$5 >> 2] = $46 + 1; + HEAP8[$46 >> 0] = $20 >>> 12 | 224; + $58 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $58 + 1; + HEAP8[$58 >> 0] = $20 >>> 6 & 63 | 128; + $63 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $63 + 1; + HEAP8[$63 >> 0] = $20 & 63 | 128; + break; + } else { + if (($48 | 0) < 4) { + $$2 = 1; + break L4; + } + HEAP32[$5 >> 2] = $46 + 1; + HEAP8[$46 >> 0] = $20 >>> 18 | 240; + $74 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $74 + 1; + HEAP8[$74 >> 0] = $20 >>> 12 & 63 | 128; + $80 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $80 + 1; + HEAP8[$80 >> 0] = $20 >>> 6 & 63 | 128; + $85 = HEAP32[$5 >> 2] | 0; + HEAP32[$5 >> 2] = $85 + 1; + HEAP8[$85 >> 0] = $20 & 63 | 128; + break; + } + } else { + $25 = HEAP32[$5 >> 2] | 0; + if (($$pre49 - $25 | 0) < 1) { + $$2 = 1; + break L4; + } + HEAP32[$5 >> 2] = $25 + 1; + HEAP8[$25 >> 0] = $20; + } while (0); + $88 = (HEAP32[$2 >> 2] | 0) + 4 | 0; + HEAP32[$2 >> 2] = $88; + $19 = $88; + } + } while (0); + return $$2 | 0; +} + +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, $11 = 0, $12 = 0, $16 = 0, $20 = 0, $24 = 0, $27 = 0, $28 = 0, $35 = 0, $37 = 0, $38 = 0, $47 = 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); + $7 = sp + 232 | 0; + $8 = sp; + $9 = HEAP32[$3 >> 2] | 0; + HEAP32[$7 >> 2] = $9; + $11 = HEAP32[$3 + 4 >> 2] | 0; + $12 = $7 + 4 | 0; + HEAP32[$12 >> 2] = $11; + HEAP32[$8 >> 2] = $0; + L1 : do if (($9 | 0) != 1 | ($11 | 0) != 0 ? ($16 = 0 - $1 | 0, $20 = $0 + (0 - (HEAP32[$6 + ($4 << 2) >> 2] | 0)) | 0, (FUNCTION_TABLE_iii[$2 & 127]($20, $0) | 0) >= 1) : 0) { + $$0455780 = 1; + $$0465681 = $4; + $$0475582 = ($5 | 0) == 0; + $$05879 = $0; + $28 = $20; + while (1) { + if ($$0475582 & ($$0465681 | 0) > 1) { + $24 = $$05879 + $16 | 0; + $27 = HEAP32[$6 + ($$0465681 + -2 << 2) >> 2] | 0; + if ((FUNCTION_TABLE_iii[$2 & 127]($24, $28) | 0) > -1) { + $$04551 = $$0455780; + $$04653 = $$0465681; + $$049 = $$05879; + label = 10; + break L1; + } + if ((FUNCTION_TABLE_iii[$2 & 127]($24 + (0 - $27) | 0, $28) | 0) > -1) { + $$04551 = $$0455780; + $$04653 = $$0465681; + $$049 = $$05879; + label = 10; + break L1; + } + } + $35 = $$0455780 + 1 | 0; + HEAP32[$8 + ($$0455780 << 2) >> 2] = $28; + $37 = _pntz($7) | 0; + _shr($7, $37); + $38 = $37 + $$0465681 | 0; + if (!((HEAP32[$7 >> 2] | 0) != 1 | (HEAP32[$12 >> 2] | 0) != 0)) { + $$04551 = $35; + $$04653 = $38; + $$049 = $28; + label = 10; + break L1; + } + $47 = $28 + (0 - (HEAP32[$6 + ($38 << 2) >> 2] | 0)) | 0; + if ((FUNCTION_TABLE_iii[$2 & 127]($47, HEAP32[$8 >> 2] | 0) | 0) < 1) { + $$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 ? ($$047$lcssa | 0) == 0 : 0) { + $$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 _jinit_upsampler($0) { + $0 = $0 | 0; + var $$08488 = 0, $$089 = 0, $1 = 0, $11 = 0, $14 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $33 = 0, $35 = 0, $4 = 0, $40 = 0, $42 = 0, $43 = 0, $44 = 0, $51 = 0, $54 = 0, $59 = 0, $63 = 0, $72 = 0, $77 = 0, $80 = 0, $82 = 0; + $1 = $0 + 4 | 0; + $4 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 160) | 0; + HEAP32[$0 + 476 >> 2] = $4; + HEAP32[$4 >> 2] = 191; + HEAP32[$4 + 4 >> 2] = 3; + HEAP32[$4 + 8 >> 2] = 0; + if (HEAP32[$0 + 308 >> 2] | 0) { + $11 = HEAP32[$0 >> 2] | 0; + HEAP32[$11 + 20 >> 2] = 26; + FUNCTION_TABLE_vi[HEAP32[$11 >> 2] & 255]($0); + } + $14 = $0 + 36 | 0; + if ((HEAP32[$14 >> 2] | 0) <= 0) return; + $19 = $0 + 324 | 0; + $20 = $0 + 328 | 0; + $21 = $0 + 316 | 0; + $22 = $0 + 320 | 0; + $23 = $4 + 100 | 0; + $24 = $4 + 52 | 0; + $25 = $0 + 112 | 0; + $26 = $4 + 12 | 0; + $27 = $4 + 140 | 0; + $28 = $4 + 150 | 0; + $$08488 = HEAP32[$0 + 216 >> 2] | 0; + $$089 = 0; + while (1) { + $33 = Math_imul(HEAP32[$$08488 + 36 >> 2] | 0, HEAP32[$$08488 + 8 >> 2] | 0) | 0; + $35 = ($33 | 0) / (HEAP32[$19 >> 2] | 0) | 0; + $40 = Math_imul(HEAP32[$$08488 + 40 >> 2] | 0, HEAP32[$$08488 + 12 >> 2] | 0) | 0; + $42 = ($40 | 0) / (HEAP32[$20 >> 2] | 0) | 0; + $43 = HEAP32[$21 >> 2] | 0; + $44 = HEAP32[$22 >> 2] | 0; + HEAP32[$23 + ($$089 << 2) >> 2] = $42; + do if (!(HEAP32[$$08488 + 52 >> 2] | 0)) HEAP32[$24 + ($$089 << 2) >> 2] = 11; else { + $51 = ($42 | 0) == ($44 | 0); + if (($35 | 0) == ($43 | 0) & $51) { + HEAP32[$24 + ($$089 << 2) >> 2] = 12; + break; + } + $54 = ($35 << 1 | 0) == ($43 | 0); + do if ($54 & $51) HEAP32[$24 + ($$089 << 2) >> 2] = 13; else { + if ($54 & ($42 << 1 | 0) == ($44 | 0)) { + HEAP32[$24 + ($$089 << 2) >> 2] = 14; + break; + } + $59 = ($43 | 0) / ($35 | 0) | 0; + if (($43 - (Math_imul($59, $35) | 0) | 0) == 0 ? ($63 = ($44 | 0) / ($42 | 0) | 0, ($44 - (Math_imul($63, $42) | 0) | 0) == 0) : 0) { + HEAP32[$24 + ($$089 << 2) >> 2] = 15; + HEAP8[$27 + $$089 >> 0] = $59; + HEAP8[$28 + $$089 >> 0] = $63; + break; + } + $72 = HEAP32[$0 >> 2] | 0; + HEAP32[$72 + 20 >> 2] = 39; + FUNCTION_TABLE_vi[HEAP32[$72 >> 2] & 255]($0); + } while (0); + $77 = HEAP32[(HEAP32[$1 >> 2] | 0) + 8 >> 2] | 0; + $80 = _jround_up(HEAP32[$25 >> 2] | 0, HEAP32[$21 >> 2] | 0) | 0; + $82 = FUNCTION_TABLE_iiiii[$77 & 15]($0, 1, $80, HEAP32[$22 >> 2] | 0) | 0; + HEAP32[$26 + ($$089 << 2) >> 2] = $82; + } while (0); + $$089 = $$089 + 1 | 0; + if (($$089 | 0) >= (HEAP32[$14 >> 2] | 0)) break; else $$08488 = $$08488 + 88 | 0; + } + return; +} + +function _arPattCreateHandle2($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$043 = 0, $$044 = 0, $12 = 0, $13 = 0, $16 = 0, $17 = 0, $19 = 0, $20 = 0, $23 = 0, $26 = 0, $27 = 0, $28 = 0, $31 = 0, $33 = 0, $34 = 0, $37 = 0, $4 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer13 = 0, $vararg_buffer3 = 0, $vararg_buffer5 = 0, $vararg_buffer7 = 0, $vararg_buffer9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(64); + $vararg_buffer13 = sp + 56 | 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; + L1 : do if (!(($0 + -16 | 0) >>> 0 > 48 | ($1 | 0) < 1)) { + $4 = _malloc(32) | 0; + if (!$4) { + _arLog(0, 3, 45930, $vararg_buffer); + _exit(1); + } + HEAP32[$4 >> 2] = 0; + HEAP32[$4 + 4 >> 2] = $1; + HEAP32[$4 + 28 >> 2] = $0; + $9 = _malloc($1 << 2) | 0; + HEAP32[$4 + 8 >> 2] = $9; + if (!$9) { + _arLog(0, 3, 45930, $vararg_buffer1); + _exit(1); + } + $12 = $1 << 4; + $13 = _malloc($12) | 0; + HEAP32[$4 + 12 >> 2] = $13; + if (!$13) { + _arLog(0, 3, 45930, $vararg_buffer3); + _exit(1); + } + $16 = _malloc($12) | 0; + $17 = $4 + 20 | 0; + HEAP32[$17 >> 2] = $16; + if (!$16) { + _arLog(0, 3, 45930, $vararg_buffer5); + _exit(1); + } + $19 = $1 << 5; + $20 = _malloc($19) | 0; + HEAP32[$4 + 16 >> 2] = $20; + if (!$20) { + _arLog(0, 3, 45930, $vararg_buffer7); + _exit(1); + } + $23 = _malloc($19) | 0; + HEAP32[$4 + 24 >> 2] = $23; + if (!$23) { + _arLog(0, 3, 45930, $vararg_buffer9); + _exit(1); + } + $26 = Math_imul($0, $0) | 0; + $27 = $26 * 12 | 0; + $28 = $26 << 2; + $$043 = 0; + L21 : while (1) { + if (($$043 | 0) >= ($1 | 0)) { + $$044 = $4; + break L1; + } + HEAP32[$9 + ($$043 << 2) >> 2] = 0; + $31 = $$043 << 2; + $$0 = 0; + while (1) { + if ($$0 >>> 0 >= 4) break; + $33 = _malloc($27) | 0; + $34 = $$0 + $31 | 0; + HEAP32[$13 + ($34 << 2) >> 2] = $33; + if (!$33) { + label = 19; + break L21; + } + $37 = _malloc($28) | 0; + HEAP32[(HEAP32[$17 >> 2] | 0) + ($34 << 2) >> 2] = $37; + if (!$37) { + label = 21; + break L21; + } else $$0 = $$0 + 1 | 0; + } + $$043 = $$043 + 1 | 0; + } + if ((label | 0) == 19) { + _arLog(0, 3, 45930, $vararg_buffer11); + _exit(1); + } else if ((label | 0) == 21) { + _arLog(0, 3, 45930, $vararg_buffer13); + _exit(1); + } + } else $$044 = 0; while (0); + STACKTOP = sp; + return $$044 | 0; +} + +function __ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwb($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0$i$i = 0, $$byval_copy = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$09$0 = 0, $12 = 0, $16 = 0, $17 = 0, $23 = 0, $24 = 0, $26 = 0, $28 = 0, $29 = 0, $30 = 0, $34 = 0, $38 = 0, $39 = 0, $41 = 0, $42 = 0, $48 = 0, $49 = 0, $5 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 4 | 0; + $5 = sp; + if (!(HEAP32[$2 + 4 >> 2] & 1)) { + $12 = HEAP32[(HEAP32[$0 >> 2] | 0) + 24 >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$5 >> 2]; + $$sroa$0$0 = FUNCTION_TABLE_iiiiii[$12 & 31]($0, $$byval_copy, $2, $3, $4 & 1) | 0; + } else { + __ZNKSt3__28ios_base6getlocEv($$byval_copy, $2); + $16 = __ZNKSt3__26locale9use_facetERNS0_2idE($$byval_copy, 66552) | 0; + __ZNSt3__26localeD2Ev($$byval_copy); + $17 = HEAP32[$16 >> 2] | 0; + if ($4) FUNCTION_TABLE_vii[HEAP32[$17 + 24 >> 2] & 255]($$byval_copy, $16); else FUNCTION_TABLE_vii[HEAP32[$17 + 28 >> 2] & 255]($$byval_copy, $16); + $23 = $$byval_copy + 8 + 3 | 0; + $24 = HEAP8[$23 >> 0] | 0; + $26 = HEAP32[$$byval_copy >> 2] | 0; + $28 = $$byval_copy + 4 | 0; + $$sroa$09$0 = $24 << 24 >> 24 < 0 ? $26 : $$byval_copy; + $30 = $24; + $34 = $26; + while (1) { + $29 = $30 << 24 >> 24 < 0; + if (($$sroa$09$0 | 0) == (($29 ? $34 : $$byval_copy) + (($29 ? HEAP32[$28 >> 2] | 0 : $30 & 255) << 2) | 0)) break; + $38 = HEAP32[$$sroa$09$0 >> 2] | 0; + $39 = HEAP32[$1 >> 2] | 0; + if ($39 | 0) { + $41 = $39 + 24 | 0; + $42 = HEAP32[$41 >> 2] | 0; + if (($42 | 0) == (HEAP32[$39 + 28 >> 2] | 0)) { + $48 = HEAP32[(HEAP32[$39 >> 2] | 0) + 52 >> 2] | 0; + $49 = __ZNSt3__211char_traitsIwE11to_int_typeEw($38) | 0; + $$0$i$i = FUNCTION_TABLE_iii[$48 & 127]($39, $49) | 0; + } else { + HEAP32[$41 >> 2] = $42 + 4; + HEAP32[$42 >> 2] = $38; + $$0$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw($38) | 0; + } + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) HEAP32[$1 >> 2] = 0; + } + $$sroa$09$0 = $$sroa$09$0 + 4 | 0; + $30 = HEAP8[$23 >> 0] | 0; + $34 = HEAP32[$$byval_copy >> 2] | 0; + } + $$sroa$0$0$copyload = HEAP32[$1 >> 2] | 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev($$byval_copy); + $$sroa$0$0 = $$sroa$0$0$copyload; + } + STACKTOP = sp; + return $$sroa$0$0 | 0; +} + +function __ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcb($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0$i$i = 0, $$byval_copy = 0, $$sroa$0$0 = 0, $$sroa$0$0$copyload = 0, $$sroa$09$0 = 0, $12 = 0, $16 = 0, $17 = 0, $22 = 0, $23 = 0, $25 = 0, $27 = 0, $28 = 0, $29 = 0, $33 = 0, $37 = 0, $38 = 0, $40 = 0, $41 = 0, $47 = 0, $48 = 0, $5 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 4 | 0; + $5 = sp; + if (!(HEAP32[$2 + 4 >> 2] & 1)) { + $12 = HEAP32[(HEAP32[$0 >> 2] | 0) + 24 >> 2] | 0; + HEAP32[$5 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$5 >> 2]; + $$sroa$0$0 = FUNCTION_TABLE_iiiiii[$12 & 31]($0, $$byval_copy, $2, $3, $4 & 1) | 0; + } else { + __ZNKSt3__28ios_base6getlocEv($$byval_copy, $2); + $16 = __ZNKSt3__26locale9use_facetERNS0_2idE($$byval_copy, 66528) | 0; + __ZNSt3__26localeD2Ev($$byval_copy); + $17 = HEAP32[$16 >> 2] | 0; + if ($4) FUNCTION_TABLE_vii[HEAP32[$17 + 24 >> 2] & 255]($$byval_copy, $16); else FUNCTION_TABLE_vii[HEAP32[$17 + 28 >> 2] & 255]($$byval_copy, $16); + $22 = $$byval_copy + 11 | 0; + $23 = HEAP8[$22 >> 0] | 0; + $25 = HEAP32[$$byval_copy >> 2] | 0; + $27 = $$byval_copy + 4 | 0; + $$sroa$09$0 = $23 << 24 >> 24 < 0 ? $25 : $$byval_copy; + $29 = $23; + $33 = $25; + while (1) { + $28 = $29 << 24 >> 24 < 0; + if (($$sroa$09$0 | 0) == (($28 ? $33 : $$byval_copy) + ($28 ? HEAP32[$27 >> 2] | 0 : $29 & 255) | 0)) break; + $37 = HEAP8[$$sroa$09$0 >> 0] | 0; + $38 = HEAP32[$1 >> 2] | 0; + if ($38 | 0) { + $40 = $38 + 24 | 0; + $41 = HEAP32[$40 >> 2] | 0; + if (($41 | 0) == (HEAP32[$38 + 28 >> 2] | 0)) { + $47 = HEAP32[(HEAP32[$38 >> 2] | 0) + 52 >> 2] | 0; + $48 = __ZNSt3__211char_traitsIcE11to_int_typeEc($37) | 0; + $$0$i$i = FUNCTION_TABLE_iii[$47 & 127]($38, $48) | 0; + } else { + HEAP32[$40 >> 2] = $41 + 1; + HEAP8[$41 >> 0] = $37; + $$0$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc($37) | 0; + } + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) HEAP32[$1 >> 2] = 0; + } + $$sroa$09$0 = $$sroa$09$0 + 1 | 0; + $29 = HEAP8[$22 >> 0] | 0; + $33 = HEAP32[$$byval_copy >> 2] | 0; + } + $$sroa$0$0$copyload = HEAP32[$1 >> 2] | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($$byval_copy); + $$sroa$0$0 = $$sroa$0$0$copyload; + } + STACKTOP = sp; + return $$sroa$0$0 | 0; +} + +function _start_pass_main($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$06870$i = 0, $$06979$i = 0, $$080$i = 0, $$171$i = 0, $$275$i = 0, $11 = 0, $13 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $26 = 0, $29 = 0, $3 = 0, $32 = 0, $34 = 0, $35 = 0, $38 = 0, $42 = 0, $44 = 0, $45 = 0, $46 = 0, $49 = 0, $70 = 0, $9 = 0; + $3 = HEAP32[$0 + 448 >> 2] | 0; + switch ($1 | 0) { + case 0: + { + $9 = $3 + 4 | 0; + if (!(HEAP32[(HEAP32[$0 + 476 >> 2] | 0) + 8 >> 2] | 0)) { + HEAP32[$9 >> 2] = 17; + HEAP32[$3 + 48 >> 2] = HEAP32[$3 + 52 >> 2]; + return; + } + HEAP32[$9 >> 2] = 16; + $11 = HEAP32[$0 + 328 >> 2] | 0; + $13 = HEAP32[$0 + 36 >> 2] | 0; + if (($13 | 0) > 0) { + $17 = $3 + 60 | 0; + $18 = $3 + 64 | 0; + $19 = $11 + 2 | 0; + $20 = $11 + -2 | 0; + $$06979$i = HEAP32[$0 + 216 >> 2] | 0; + $$080$i = 0; + while (1) { + $26 = (Math_imul(HEAP32[$$06979$i + 40 >> 2] | 0, HEAP32[$$06979$i + 12 >> 2] | 0) | 0) / ($11 | 0) | 0; + $29 = HEAP32[(HEAP32[$17 >> 2] | 0) + ($$080$i << 2) >> 2] | 0; + $32 = HEAP32[(HEAP32[$18 >> 2] | 0) + ($$080$i << 2) >> 2] | 0; + $34 = HEAP32[$3 + 8 + ($$080$i << 2) >> 2] | 0; + $35 = Math_imul($26, $19) | 0; + if (($35 | 0) > 0) { + $$06870$i = 0; + do { + $38 = HEAP32[$34 + ($$06870$i << 2) >> 2] | 0; + HEAP32[$32 + ($$06870$i << 2) >> 2] = $38; + HEAP32[$29 + ($$06870$i << 2) >> 2] = $38; + $$06870$i = $$06870$i + 1 | 0; + } while (($$06870$i | 0) != ($35 | 0)); + } + $42 = $26 << 1; + if (($26 | 0) > 0) { + $44 = Math_imul($26, $11) | 0; + $45 = Math_imul($26, $20) | 0; + $$171$i = 0; + do { + $46 = $$171$i + $44 | 0; + $49 = $$171$i + $45 | 0; + HEAP32[$32 + ($49 << 2) >> 2] = HEAP32[$34 + ($46 << 2) >> 2]; + HEAP32[$32 + ($46 << 2) >> 2] = HEAP32[$34 + ($49 << 2) >> 2]; + $$171$i = $$171$i + 1 | 0; + } while (($$171$i | 0) < ($42 | 0)); + $$275$i = 0; + do { + HEAP32[$29 + ($$275$i - $26 << 2) >> 2] = HEAP32[$29 >> 2]; + $$275$i = $$275$i + 1 | 0; + } while (($$275$i | 0) != ($26 | 0)); + } + $$080$i = $$080$i + 1 | 0; + if (($$080$i | 0) == ($13 | 0)) break; else $$06979$i = $$06979$i + 88 | 0; + } + } + HEAP32[$3 + 68 >> 2] = 0; + HEAP32[$3 + 72 >> 2] = 0; + HEAP32[$3 + 76 >> 2] = 0; + HEAP32[$3 + 56 >> 2] = 0; + return; + } + case 2: + { + HEAP32[$3 + 4 >> 2] = 18; + return; + } + default: + { + $70 = HEAP32[$0 >> 2] | 0; + HEAP32[$70 + 20 >> 2] = 3; + FUNCTION_TABLE_vi[HEAP32[$70 >> 2] & 255]($0); + return; + } + } +} + +function __ZNSt3__211__sift_downIRNS_4lessIN6vision17PriorityQueueItemILi96EEEEENS_11__wrap_iterIPS4_EEEEvT0_SA_T_NS_15iterator_traitsISA_E15difference_typeESA_($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0 = 0, $$1 = 0, $$2 = 0, $$sroa$024$0 = 0, $$sroa$024$1 = 0, $$sroa$024$2 = 0, $10 = 0, $11 = 0, $12 = 0, $15 = 0, $18 = 0, $19 = 0, $20 = 0, $21 = 0, $23 = 0, $24 = 0, $29 = 0, $34 = 0, $35 = 0, $40 = 0, $45 = 0, $46 = 0, $47 = 0, $5 = 0, $53 = 0, $54 = 0, $55 = 0, $56 = 0, $58 = 0, $59 = 0, $6 = 0, $64 = 0, $69 = 0, $7 = 0, $70 = 0, $8 = 0, sp = 0, $47$looptemp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $5 = sp; + $6 = HEAP32[$4 >> 2] | 0; + $7 = HEAP32[$0 >> 2] | 0; + $8 = $6 - $7 | 0; + $10 = $7; + $11 = $6; + $12 = $6; + if (($3 | 0) >= 2 ? ($15 = ($3 + -2 | 0) / 2 | 0, ($15 | 0) >= ($8 >> 3 | 0)) : 0) { + $18 = $8 >> 2 | 1; + $19 = $10 + ($18 << 3) | 0; + $20 = $19; + $21 = $18 + 1 | 0; + if (($21 | 0) < ($3 | 0)) { + $23 = $19 + 8 | 0; + $24 = __ZNK6vision17PriorityQueueItemILi96EEltERKS1_($19, $23) | 0; + $$0 = $24 ? $21 : $18; + $$sroa$024$0 = $24 ? $23 : $20; + } else { + $$0 = $18; + $$sroa$024$0 = $20; + } + if (!(__ZNK6vision17PriorityQueueItemILi96EEltERKS1_($$sroa$024$0, $11) | 0)) { + $29 = $6; + $34 = HEAP32[$29 + 4 >> 2] | 0; + $35 = $5; + HEAP32[$35 >> 2] = HEAP32[$29 >> 2]; + HEAP32[$35 + 4 >> 2] = $34; + $$1 = $$0; + $$sroa$024$1 = $$sroa$024$0; + $47 = $12; + while (1) { + $47$looptemp = $47; + $47 = $$sroa$024$1; + $40 = $47; + $45 = HEAP32[$40 + 4 >> 2] | 0; + $46 = $47$looptemp; + HEAP32[$46 >> 2] = HEAP32[$40 >> 2]; + HEAP32[$46 + 4 >> 2] = $45; + HEAP32[$4 >> 2] = $$sroa$024$1; + if (($15 | 0) < ($$1 | 0)) break; + $53 = $$1 << 1 | 1; + $54 = $10 + ($53 << 3) | 0; + $55 = $54; + $56 = $53 + 1 | 0; + if (($56 | 0) < ($3 | 0)) { + $58 = $54 + 8 | 0; + $59 = __ZNK6vision17PriorityQueueItemILi96EEltERKS1_($54, $58) | 0; + $$2 = $59 ? $56 : $53; + $$sroa$024$2 = $59 ? $58 : $55; + } else { + $$2 = $53; + $$sroa$024$2 = $55; + } + if (__ZNK6vision17PriorityQueueItemILi96EEltERKS1_($$sroa$024$2, $5) | 0) break; else { + $$1 = $$2; + $$sroa$024$1 = $$sroa$024$2; + } + } + $64 = $5; + $69 = HEAP32[$64 + 4 >> 2] | 0; + $70 = $$sroa$024$1; + HEAP32[$70 >> 2] = HEAP32[$64 >> 2]; + HEAP32[$70 + 4 >> 2] = $69; + __ZN6vision17PriorityQueueItemILi96EED2Ev($5); + } + } + STACKTOP = sp; + return; +} + +function __ZNSt3__2L19utf8_to_ucs4_lengthEPKhS1_mmNS_12codecvt_modeE($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$091 = 0, $$185 = 0, $$185$ph = 0, $$589 = 0, $$pre = 0, $21 = 0, $22 = 0, $33 = 0, $47 = 0, $49 = 0, $56 = 0, $74 = 0, $76 = 0, $78 = 0, $84 = 0, $87 = 0; + $$pre = $1; + if (((($4 & 4 | 0) != 0 ? ($$pre - $0 | 0) > 2 : 0) ? (HEAP8[$0 >> 0] | 0) == -17 : 0) ? (HEAP8[$0 + 1 >> 0] | 0) == -69 : 0) $$185$ph = (HEAP8[$0 + 2 >> 0] | 0) == -65 ? $0 + 3 | 0 : $0; else $$185$ph = $0; + $$091 = 0; + $$185 = $$185$ph; + L7 : while (1) { + if (!($$091 >>> 0 < $2 >>> 0 & $$185 >>> 0 < $1 >>> 0)) break; + $21 = HEAP8[$$185 >> 0] | 0; + $22 = $21 & 255; + do if ($21 << 24 >> 24 <= -1) { + if (($21 & 255) < 194) break L7; + if (($21 & 255) < 224) { + if (($$pre - $$185 | 0) < 2) break L7; + $33 = HEAPU8[$$185 + 1 >> 0] | 0; + if (($33 & 192 | 0) != 128) break L7; + if (($33 & 63 | $22 << 6 & 1984) >>> 0 > $3 >>> 0) break L7; + $$589 = $$185 + 2 | 0; + break; + } + if (($21 & 255) < 240) { + if (($$pre - $$185 | 0) < 3) break L7; + $47 = HEAP8[$$185 + 1 >> 0] | 0; + $49 = HEAP8[$$185 + 2 >> 0] | 0; + switch ($21 << 24 >> 24) { + case -32: + { + if (($47 & -32) << 24 >> 24 != -96) break L7; + break; + } + case -19: + { + if (($47 & -32) << 24 >> 24 != -128) break L7; + break; + } + default: + if (($47 & -64) << 24 >> 24 != -128) break L7; + } + $56 = $49 & 255; + if (($56 & 192 | 0) != 128) break L7; + if ((($47 & 63) << 6 | $22 << 12 & 61440 | $56 & 63) >>> 0 > $3 >>> 0) break L7; else { + $$589 = $$185 + 3 | 0; + break; + } + } + if (($21 & 255) >= 245) break L7; + if (($$pre - $$185 | 0) < 4) break L7; + $74 = HEAP8[$$185 + 1 >> 0] | 0; + $76 = HEAP8[$$185 + 2 >> 0] | 0; + $78 = HEAP8[$$185 + 3 >> 0] | 0; + switch ($21 << 24 >> 24) { + case -16: + { + if (($74 + 112 & 255) >= 48) break L7; + break; + } + case -12: + { + if (($74 & -16) << 24 >> 24 != -128) break L7; + break; + } + default: + if (($74 & -64) << 24 >> 24 != -128) break L7; + } + $84 = $76 & 255; + if (($84 & 192 | 0) != 128) break L7; + $87 = $78 & 255; + if (($87 & 192 | 0) != 128) break L7; + if ((($74 & 63) << 12 | $22 << 18 & 1835008 | $84 << 6 & 4032 | $87 & 63) >>> 0 > $3 >>> 0) break L7; else $$589 = $$185 + 4 | 0; + } else { + if ($22 >>> 0 > $3 >>> 0) break L7; + $$589 = $$185 + 1 | 0; + } while (0); + $$091 = $$091 + 1 | 0; + $$185 = $$589; + } + return $$185 - $0 | 0; +} + +function _loadNFTMarker($arc, $surfaceSetCount, $datasetPathname) { + $arc = $arc | 0; + $surfaceSetCount = $surfaceSetCount | 0; + $datasetPathname = $datasetPathname | 0; + var $0 = 0, $call6 = 0, $refDataSet = 0, $refDataSet2 = 0, $retval$0 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, $vararg_buffer11 = 0, $vararg_buffer13 = 0, $vararg_buffer16 = 0, $vararg_buffer19 = 0, $vararg_buffer21 = 0, $vararg_buffer23 = 0, $vararg_buffer4 = 0, $vararg_buffer7 = 0, $vararg_buffer9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(96); + $vararg_buffer23 = sp + 80 | 0; + $vararg_buffer21 = sp + 72 | 0; + $vararg_buffer19 = sp + 64 | 0; + $vararg_buffer16 = sp + 56 | 0; + $vararg_buffer13 = sp + 48 | 0; + $vararg_buffer11 = sp + 40 | 0; + $vararg_buffer9 = sp + 32 | 0; + $vararg_buffer7 = sp + 24 | 0; + $vararg_buffer4 = sp + 16 | 0; + $vararg_buffer1 = sp + 8 | 0; + $vararg_buffer = sp; + $refDataSet = sp + 88 | 0; + $refDataSet2 = sp + 84 | 0; + $0 = HEAP32[$arc + 232 >> 2] | 0; + HEAP32[$refDataSet >> 2] = 0; + HEAP32[$vararg_buffer >> 2] = $datasetPathname; + _arLog(0, 1, 44959, $vararg_buffer); + do if ((_kpmLoadRefDataSet($datasetPathname, 44977, $refDataSet2) | 0) >= 0) { + HEAP32[$vararg_buffer4 >> 2] = $surfaceSetCount; + _arLog(0, 1, 45021, $vararg_buffer4); + if ((_kpmChangePageNoOfRefDataSet(HEAP32[$refDataSet2 >> 2] | 0, -1, $surfaceSetCount) | 0) < 0) { + _arLog(0, 3, 45046, $vararg_buffer7); + $retval$0 = 0; + break; + } + if ((_kpmMergeRefDataSet($refDataSet, $refDataSet2) | 0) < 0) { + _arLog(0, 3, 45082, $vararg_buffer9); + $retval$0 = 0; + break; + } + _arLog(0, 1, 45109, $vararg_buffer11); + HEAP32[$vararg_buffer13 >> 2] = $datasetPathname; + _arLog(0, 1, 45118, $vararg_buffer13); + $call6 = _ar2ReadSurfaceSet($datasetPathname, 45135, 0) | 0; + HEAP32[$arc + 248 + ($surfaceSetCount << 2) >> 2] = $call6; + if (!$call6) { + HEAP32[$vararg_buffer16 >> 2] = $datasetPathname; + _arLog(0, 3, 45140, $vararg_buffer16); + } + _arLog(0, 1, 45109, $vararg_buffer19); + if (($surfaceSetCount | 0) == 10) _exit(-1); + if ((_kpmSetRefDataSet($0, HEAP32[$refDataSet >> 2] | 0) | 0) < 0) { + _arLog(0, 3, 45173, $vararg_buffer21); + $retval$0 = 0; + break; + } else { + _kpmDeleteRefDataSet($refDataSet) | 0; + _arLog(0, 1, 45198, $vararg_buffer23); + $retval$0 = 1; + break; + } + } else { + HEAP32[$vararg_buffer1 >> 2] = $datasetPathname; + _arLog(0, 3, 44983, $vararg_buffer1); + $retval$0 = 0; + } while (0); + STACKTOP = sp; + return $retval$0 | 0; +} + +function __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRb($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 $$byval_copy = 0, $$byval_copy2 = 0, $$sroa$022$0 = 0, $$sroa$022$0$copyload24 = 0, $16 = 0, $19 = 0, $21 = 0, $22 = 0, $31 = 0, $34 = 0, $36 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $$byval_copy2 = sp + 40 | 0; + $$byval_copy = sp; + $6 = sp + 32 | 0; + $7 = sp + 36 | 0; + $8 = sp + 28 | 0; + $9 = sp + 24 | 0; + if (!(HEAP32[$3 + 4 >> 2] & 1)) { + HEAP32[$6 >> 2] = -1; + $16 = HEAP32[(HEAP32[$0 >> 2] | 0) + 16 >> 2] | 0; + HEAP32[$7 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$8 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$7 >> 2]; + HEAP32[$$byval_copy2 >> 2] = HEAP32[$8 >> 2]; + $19 = FUNCTION_TABLE_iiiiiii[$16 & 63]($0, $$byval_copy, $$byval_copy2, $3, $4, $6) | 0; + HEAP32[$1 >> 2] = $19; + switch (HEAP32[$6 >> 2] | 0) { + case 0: + { + HEAP8[$5 >> 0] = 0; + break; + } + case 1: + { + HEAP8[$5 >> 0] = 1; + break; + } + default: + { + HEAP8[$5 >> 0] = 1; + HEAP32[$4 >> 2] = 4; + } + } + $$sroa$022$0 = HEAP32[$1 >> 2] | 0; + } else { + __ZNKSt3__28ios_base6getlocEv($$byval_copy2, $3); + $21 = __ZNKSt3__26locale9use_facetERNS0_2idE($$byval_copy2, 66544) | 0; + __ZNSt3__26localeD2Ev($$byval_copy2); + __ZNKSt3__28ios_base6getlocEv($$byval_copy2, $3); + $22 = __ZNKSt3__26locale9use_facetERNS0_2idE($$byval_copy2, 66552) | 0; + __ZNSt3__26localeD2Ev($$byval_copy2); + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$22 >> 2] | 0) + 24 >> 2] & 255]($$byval_copy, $22); + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$22 >> 2] | 0) + 28 >> 2] & 255]($$byval_copy + 12 | 0, $22); + HEAP32[$9 >> 2] = HEAP32[$2 >> 2]; + $31 = $$byval_copy + 24 | 0; + HEAP32[$$byval_copy2 >> 2] = HEAP32[$9 >> 2]; + $34 = (__ZNSt3__214__scan_keywordINS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEPKNS_12basic_stringIwS3_NS_9allocatorIwEEEENS_5ctypeIwEEEET0_RT_SE_SD_SD_RKT1_Rjb($1, $$byval_copy2, $$byval_copy, $31, $21, $4, 1) | 0) == ($$byval_copy | 0) & 1; + HEAP8[$5 >> 0] = $34; + $$sroa$022$0$copyload24 = HEAP32[$1 >> 2] | 0; + $36 = $31; + do { + $36 = $36 + -12 | 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev($36); + } while (($36 | 0) != ($$byval_copy | 0)); + $$sroa$022$0 = $$sroa$022$0$copyload24; + } + STACKTOP = sp; + return $$sroa$022$0 | 0; +} + +function __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRb($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 $$byval_copy = 0, $$byval_copy2 = 0, $$sroa$022$0 = 0, $$sroa$022$0$copyload24 = 0, $16 = 0, $19 = 0, $21 = 0, $22 = 0, $31 = 0, $34 = 0, $36 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $$byval_copy2 = sp + 40 | 0; + $$byval_copy = sp; + $6 = sp + 32 | 0; + $7 = sp + 36 | 0; + $8 = sp + 28 | 0; + $9 = sp + 24 | 0; + if (!(HEAP32[$3 + 4 >> 2] & 1)) { + HEAP32[$6 >> 2] = -1; + $16 = HEAP32[(HEAP32[$0 >> 2] | 0) + 16 >> 2] | 0; + HEAP32[$7 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$8 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$7 >> 2]; + HEAP32[$$byval_copy2 >> 2] = HEAP32[$8 >> 2]; + $19 = FUNCTION_TABLE_iiiiiii[$16 & 63]($0, $$byval_copy, $$byval_copy2, $3, $4, $6) | 0; + HEAP32[$1 >> 2] = $19; + switch (HEAP32[$6 >> 2] | 0) { + case 0: + { + HEAP8[$5 >> 0] = 0; + break; + } + case 1: + { + HEAP8[$5 >> 0] = 1; + break; + } + default: + { + HEAP8[$5 >> 0] = 1; + HEAP32[$4 >> 2] = 4; + } + } + $$sroa$022$0 = HEAP32[$1 >> 2] | 0; + } else { + __ZNKSt3__28ios_base6getlocEv($$byval_copy2, $3); + $21 = __ZNKSt3__26locale9use_facetERNS0_2idE($$byval_copy2, 66512) | 0; + __ZNSt3__26localeD2Ev($$byval_copy2); + __ZNKSt3__28ios_base6getlocEv($$byval_copy2, $3); + $22 = __ZNKSt3__26locale9use_facetERNS0_2idE($$byval_copy2, 66528) | 0; + __ZNSt3__26localeD2Ev($$byval_copy2); + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$22 >> 2] | 0) + 24 >> 2] & 255]($$byval_copy, $22); + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$22 >> 2] | 0) + 28 >> 2] & 255]($$byval_copy + 12 | 0, $22); + HEAP32[$9 >> 2] = HEAP32[$2 >> 2]; + $31 = $$byval_copy + 24 | 0; + HEAP32[$$byval_copy2 >> 2] = HEAP32[$9 >> 2]; + $34 = (__ZNSt3__214__scan_keywordINS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEPKNS_12basic_stringIcS3_NS_9allocatorIcEEEENS_5ctypeIcEEEET0_RT_SE_SD_SD_RKT1_Rjb($1, $$byval_copy2, $$byval_copy, $31, $21, $4, 1) | 0) == ($$byval_copy | 0) & 1; + HEAP8[$5 >> 0] = $34; + $$sroa$022$0$copyload24 = HEAP32[$1 >> 2] | 0; + $36 = $31; + do { + $36 = $36 + -12 | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($36); + } while (($36 | 0) != ($$byval_copy | 0)); + $$sroa$022$0 = $$sroa$022$0$copyload24; + } + STACKTOP = sp; + return $$sroa$022$0 | 0; +} + +function __ZNK10__cxxabiv121__vmi_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib($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, $$046 = 0, $$047 = 0, $$1$off0$in = 0, $$148$off0$in = 0, $10 = 0, $11 = 0, $12 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0, $23 = 0, $24 = 0, $25 = 0, $28 = 0, $29 = 0, $31 = 0, $38 = 0, $43 = 0, $45 = 0, $9 = 0; + if (__ZL8is_equalPKSt9type_infoS1_b($0, HEAP32[$1 + 8 >> 2] | 0, $5) | 0) __ZNK10__cxxabiv117__class_type_info29process_static_type_above_dstEPNS_19__dynamic_cast_infoEPKvS4_i(0, $1, $2, $3, $4); else { + $9 = $1 + 52 | 0; + $10 = HEAP8[$9 >> 0] | 0; + $11 = $1 + 53 | 0; + $12 = HEAP8[$11 >> 0] | 0; + $15 = HEAP32[$0 + 12 >> 2] | 0; + $16 = $0 + 16 + ($15 << 3) | 0; + HEAP8[$9 >> 0] = 0; + HEAP8[$11 >> 0] = 0; + __ZNK10__cxxabiv122__base_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib($0 + 16 | 0, $1, $2, $3, $4, $5); + $17 = HEAP8[$9 >> 0] | 0; + $18 = $17 | $10; + $19 = HEAP8[$11 >> 0] | 0; + $20 = $19 | $12; + L4 : do if (($15 | 0) > 1) { + $23 = $1 + 24 | 0; + $24 = $0 + 8 | 0; + $25 = $1 + 54 | 0; + $$0 = $0 + 24 | 0; + $$046 = $18; + $$047 = $20; + $31 = $17; + $38 = $19; + while (1) { + $28 = $$047 & 1; + $29 = $$046 & 1; + if (HEAP8[$25 >> 0] | 0) { + $$1$off0$in = $29; + $$148$off0$in = $28; + break L4; + } + if (!($31 << 24 >> 24)) { + if ($38 << 24 >> 24 ? (HEAP32[$24 >> 2] & 1 | 0) == 0 : 0) { + $$1$off0$in = $29; + $$148$off0$in = $28; + break L4; + } + } else { + if ((HEAP32[$23 >> 2] | 0) == 1) { + $$1$off0$in = $29; + $$148$off0$in = $28; + break L4; + } + if (!(HEAP32[$24 >> 2] & 2)) { + $$1$off0$in = $29; + $$148$off0$in = $28; + break L4; + } + } + HEAP8[$9 >> 0] = 0; + HEAP8[$11 >> 0] = 0; + __ZNK10__cxxabiv122__base_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib($$0, $1, $2, $3, $4, $5); + $31 = HEAP8[$9 >> 0] | 0; + $43 = $31 | $29; + $38 = HEAP8[$11 >> 0] | 0; + $45 = $38 | $28; + $$0 = $$0 + 8 | 0; + if ($$0 >>> 0 >= $16 >>> 0) { + $$1$off0$in = $43; + $$148$off0$in = $45; + break; + } else { + $$046 = $43; + $$047 = $45; + } + } + } else { + $$1$off0$in = $18; + $$148$off0$in = $20; + } while (0); + HEAP8[$9 >> 0] = $$1$off0$in << 24 >> 24 != 0 & 1; + HEAP8[$11 >> 0] = $$148$off0$in << 24 >> 24 != 0 & 1; + } + return; +} + +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, $$137$lcssa66 = 0, $$13745 = 0, $$140 = 0, $$23839 = 0, $$in = 0, $$lcssa = 0, $11 = 0, $12 = 0, $16 = 0, $18 = 0, $20 = 0, $23 = 0, $29 = 0, $3 = 0, $30 = 0, $39 = 0, $7 = 0, $8 = 0, label = 0; + $3 = $1 & 255; + $7 = ($2 | 0) != 0; + L1 : do if ($7 & ($0 & 3 | 0) != 0) { + $8 = $1 & 255; + $$03555 = $0; + $$03654 = $2; + while (1) { + if ((HEAP8[$$03555 >> 0] | 0) == $8 << 24 >> 24) { + $$035$lcssa65 = $$03555; + $$036$lcssa64 = $$03654; + label = 6; + break L1; + } + $11 = $$03555 + 1 | 0; + $12 = $$03654 + -1 | 0; + $16 = ($12 | 0) != 0; + if ($16 & ($11 & 3 | 0) != 0) { + $$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 label = 16; + L8 : do if ((label | 0) == 6) { + $18 = $1 & 255; + if ((HEAP8[$$035$lcssa65 >> 0] | 0) == $18 << 24 >> 24) if (!$$036$lcssa64) { + label = 16; + break; + } else { + $39 = $$035$lcssa65; + break; + } + $20 = Math_imul($3, 16843009) | 0; + L13 : do if ($$036$lcssa64 >>> 0 > 3) { + $$046 = $$035$lcssa65; + $$13745 = $$036$lcssa64; + while (1) { + $23 = HEAP32[$$046 >> 2] ^ $20; + if (($23 & -2139062144 ^ -2139062144) & $23 + -16843009 | 0) { + $$137$lcssa66 = $$13745; + $$in = $$046; + break L13; + } + $29 = $$046 + 4 | 0; + $30 = $$13745 + -4 | 0; + if ($30 >>> 0 > 3) { + $$046 = $29; + $$13745 = $30; + } else { + $$0$lcssa = $29; + $$137$lcssa = $30; + label = 11; + break; + } + } + } else { + $$0$lcssa = $$035$lcssa65; + $$137$lcssa = $$036$lcssa64; + label = 11; + } while (0); + if ((label | 0) == 11) if (!$$137$lcssa) { + label = 16; + break; + } else { + $$137$lcssa66 = $$137$lcssa; + $$in = $$0$lcssa; + } + $$140 = $$in; + $$23839 = $$137$lcssa66; + while (1) { + if ((HEAP8[$$140 >> 0] | 0) == $18 << 24 >> 24) { + $39 = $$140; + break L8; + } + $$23839 = $$23839 + -1 | 0; + if (!$$23839) { + label = 16; + break; + } else $$140 = $$140 + 1 | 0; + } + } while (0); + if ((label | 0) == 16) $39 = 0; + return $39 | 0; +} + +function __ZN6vision10DoGPyramid5allocEPKNS_25GaussianScaleSpacePyramidE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$026 = 0, $10 = 0, $15 = 0, $19 = 0, $2 = 0, $21 = 0, $23 = 0, $25 = 0, $26 = 0, $27 = 0, $29 = 0, $30 = 0, $35 = 0, $36 = 0, $37 = 0, $41 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $2 = sp; + if (!(__ZNK6vision25GaussianScaleSpacePyramid4sizeEv($1) | 0)) { + $10 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 26705) | 0, 26748) | 0, 39072) | 0, 53) | 0, 39079) | 0, 26843) | 0; + __ZNKSt3__28ios_base6getlocEv($2, $10 + (HEAP32[(HEAP32[$10 >> 2] | 0) + -12 >> 2] | 0) | 0); + $15 = __ZNKSt3__26locale9use_facetERNS0_2idE($2, 66512) | 0; + $19 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$15 >> 2] | 0) + 28 >> 2] & 127]($15, 10) | 0; + __ZNSt3__26localeD2Ev($2); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($10, $19) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($10) | 0; + _abort(); + } + $21 = __ZNK6vision5Image4typeEv(__ZNK6vision25GaussianScaleSpacePyramid3getEmm($1, 0, 0) | 0) | 0; + $23 = __ZNK6vision5Image5widthEv(__ZNK6vision25GaussianScaleSpacePyramid3getEmm($1, 0, 0) | 0) | 0; + $25 = __ZNK6vision5Image6heightEv(__ZNK6vision25GaussianScaleSpacePyramid3getEmm($1, 0, 0) | 0) | 0; + $26 = __ZNK6vision25GaussianScaleSpacePyramid10numOctavesEv($1) | 0; + $27 = $0 + 12 | 0; + HEAP32[$27 >> 2] = $26; + $29 = (__ZNK6vision25GaussianScaleSpacePyramid18numScalesPerOctaveEv($1) | 0) + -1 | 0; + $30 = $0 + 16 | 0; + HEAP32[$30 >> 2] = $29; + __ZNSt3__26vectorIN6vision5ImageENS_9allocatorIS2_EEE6resizeEm($0, Math_imul(HEAP32[$27 >> 2] | 0, $29) | 0); + $$026 = 0; + while (1) { + if ($$026 >>> 0 >= (HEAP32[$27 >> 2] | 0) >>> 0) break; + $35 = $23 >>> $$026; + $36 = $25 >>> $$026; + $$0 = 0; + while (1) { + $37 = HEAP32[$30 >> 2] | 0; + if ($$0 >>> 0 >= $37 >>> 0) break; + $41 = (Math_imul($37, $$026) | 0) + $$0 | 0; + __ZN6vision5Image5allocENS_9ImageTypeEmmim((HEAP32[$0 >> 2] | 0) + ($41 << 5) | 0, $21, $35, $36, -1, 1); + $$0 = $$0 + 1 | 0; + } + $$026 = $$026 + 1 | 0; + } + STACKTOP = sp; + return; +} + +function ___embind_register_native_and_builtin_types() { + __embind_register_void(__ZN10emscripten8internal6TypeIDIvvE3getEv() | 0, 57068); + __embind_register_bool(__ZN10emscripten8internal6TypeIDIbvE3getEv() | 0, 57073, 1, 1, 0); + __ZN12_GLOBAL__N_116register_integerIcEEvPKc(57078); + __ZN12_GLOBAL__N_116register_integerIaEEvPKc(57083); + __ZN12_GLOBAL__N_116register_integerIhEEvPKc(57095); + __ZN12_GLOBAL__N_116register_integerIsEEvPKc(57109); + __ZN12_GLOBAL__N_116register_integerItEEvPKc(57115); + __ZN12_GLOBAL__N_116register_integerIiEEvPKc(57130); + __ZN12_GLOBAL__N_116register_integerIjEEvPKc(57134); + __ZN12_GLOBAL__N_116register_integerIlEEvPKc(57147); + __ZN12_GLOBAL__N_116register_integerImEEvPKc(57152); + __ZN12_GLOBAL__N_114register_floatIfEEvPKc(57166); + __ZN12_GLOBAL__N_114register_floatIdEEvPKc(57172); + __embind_register_std_string(__ZN10emscripten8internal6TypeIDINSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEvE3getEv() | 0, 57179); + __embind_register_std_string(__ZN10emscripten8internal6TypeIDINSt3__212basic_stringIhNS2_11char_traitsIhEENS2_9allocatorIhEEEEvE3getEv() | 0, 57191); + __embind_register_std_wstring(__ZN10emscripten8internal6TypeIDINSt3__212basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEEvE3getEv() | 0, 4, 57224); + __embind_register_emval(__ZN10emscripten8internal6TypeIDINS_3valEvE3getEv() | 0, 57237); + __ZN12_GLOBAL__N_120register_memory_viewIcEEvPKc(57253); + __ZN12_GLOBAL__N_120register_memory_viewIaEEvPKc(57283); + __ZN12_GLOBAL__N_120register_memory_viewIhEEvPKc(57320); + __ZN12_GLOBAL__N_120register_memory_viewIsEEvPKc(57359); + __ZN12_GLOBAL__N_120register_memory_viewItEEvPKc(57390); + __ZN12_GLOBAL__N_120register_memory_viewIiEEvPKc(57430); + __ZN12_GLOBAL__N_120register_memory_viewIjEEvPKc(57459); + __ZN12_GLOBAL__N_120register_memory_viewIlEEvPKc(57497); + __ZN12_GLOBAL__N_120register_memory_viewImEEvPKc(57527); + __ZN12_GLOBAL__N_120register_memory_viewIaEEvPKc(57566); + __ZN12_GLOBAL__N_120register_memory_viewIhEEvPKc(57598); + __ZN12_GLOBAL__N_120register_memory_viewIsEEvPKc(57631); + __ZN12_GLOBAL__N_120register_memory_viewItEEvPKc(57664); + __ZN12_GLOBAL__N_120register_memory_viewIiEEvPKc(57698); + __ZN12_GLOBAL__N_120register_memory_viewIjEEvPKc(57731); + __ZN12_GLOBAL__N_120register_memory_viewIfEEvPKc(57765); + __ZN12_GLOBAL__N_120register_memory_viewIdEEvPKc(57796); + __ZN12_GLOBAL__N_120register_memory_viewIeEEvPKc(57828); + return; +} + +function __ZNSt3__29__num_getIwE17__stage2_int_loopEwiPcRS2_RjwRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSD_PKw($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + $9 = $9 | 0; + var $$0$i$idx = 0, $$0$i$ptr = 0, $$0$lcssa$i = 0, $$1 = 0, $10 = 0, $11 = 0, $14 = 0, $21 = 0, $29 = 0, $34 = 0, $36 = 0, $42 = 0, $43 = 0, $56 = 0, $58 = 0, label = 0; + $10 = HEAP32[$3 >> 2] | 0; + $11 = ($10 | 0) == ($2 | 0); + do if ($11) { + $14 = (HEAP32[$9 + 96 >> 2] | 0) == ($0 | 0); + if (!$14 ? (HEAP32[$9 + 100 >> 2] | 0) != ($0 | 0) : 0) { + label = 5; + break; + } + HEAP32[$3 >> 2] = $2 + 1; + HEAP8[$2 >> 0] = $14 ? 43 : 45; + HEAP32[$4 >> 2] = 0; + $$1 = 0; + } else label = 5; while (0); + L6 : do if ((label | 0) == 5) { + $21 = HEAP8[$6 + 11 >> 0] | 0; + if (($0 | 0) == ($5 | 0) ? (($21 << 24 >> 24 < 0 ? HEAP32[$6 + 4 >> 2] | 0 : $21 & 255) | 0) != 0 : 0) { + $29 = HEAP32[$8 >> 2] | 0; + if (($29 - $7 | 0) >= 160) { + $$1 = 0; + break; + } + $34 = HEAP32[$4 >> 2] | 0; + HEAP32[$8 >> 2] = $29 + 4; + HEAP32[$29 >> 2] = $34; + HEAP32[$4 >> 2] = 0; + $$1 = 0; + break; + } + $36 = $9 + 104 | 0; + $$0$i$idx = 0; + while (1) { + $$0$i$ptr = $9 + ($$0$i$idx << 2) | 0; + if (($$0$i$idx | 0) == 26) { + $$0$lcssa$i = $36; + break; + } + if ((HEAP32[$$0$i$ptr >> 2] | 0) == ($0 | 0)) { + $$0$lcssa$i = $$0$i$ptr; + break; + } else $$0$i$idx = $$0$i$idx + 1 | 0; + } + $42 = $$0$lcssa$i - $9 | 0; + $43 = $42 >> 2; + if (($42 | 0) > 92) $$1 = -1; else { + switch ($1 | 0) { + case 10: + case 8: + { + if (($43 | 0) >= ($1 | 0)) { + $$1 = -1; + break L6; + } + break; + } + case 16: + { + if (($42 | 0) >= 88) { + if ($11) { + $$1 = -1; + break L6; + } + if (($10 - $2 | 0) >= 3) { + $$1 = -1; + break L6; + } + if ((HEAP8[$10 + -1 >> 0] | 0) != 48) { + $$1 = -1; + break L6; + } + HEAP32[$4 >> 2] = 0; + $56 = HEAP8[12928 + $43 >> 0] | 0; + HEAP32[$3 >> 2] = $10 + 1; + HEAP8[$10 >> 0] = $56; + $$1 = 0; + break L6; + } + break; + } + default: + {} + } + $58 = HEAP8[12928 + $43 >> 0] | 0; + HEAP32[$3 >> 2] = $10 + 1; + HEAP8[$10 >> 0] = $58; + HEAP32[$4 >> 2] = (HEAP32[$4 >> 2] | 0) + 1; + $$1 = 0; + } + } while (0); + return $$1 | 0; +} + +function _getMarkerInfo($id, $markerIndex) { + $id = $id | 0; + $markerIndex = $markerIndex | 0; + var $1 = 0, $arhandle = 0, $id$addr = 0, $retval$1 = 0, $spec$select = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $id$addr = sp; + HEAP32[$id$addr >> 2] = $id; + do if (__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0) { + $arhandle = (__ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0) + 216 | 0; + $1 = HEAP32[$arhandle >> 2] | 0; + if ((HEAP32[$1 + 44 >> 2] | 0) > ($markerIndex | 0)) { + $spec$select = ($markerIndex | 0) < 0 ? 64312 : $1 + 48 + ($markerIndex << 8) | 0; + _emscripten_asm_const_iiiiiiiidddddddddddddddddddddddddi(2, HEAP32[$spec$select >> 2] | 0, HEAP32[$spec$select + 4 >> 2] | 0, HEAP32[$spec$select + 8 >> 2] | 0, HEAP32[$spec$select + 12 >> 2] | 0, HEAP32[$spec$select + 16 >> 2] | 0, HEAP32[$spec$select + 20 >> 2] | 0, HEAP32[$spec$select + 24 >> 2] | 0, +(+HEAPF64[$spec$select + 32 >> 3]), +(+HEAPF64[$spec$select + 40 >> 3]), +(+HEAPF64[$spec$select + 48 >> 3]), +(+HEAPF64[$spec$select + 56 >> 3]), +(+HEAPF64[$spec$select + 64 >> 3]), +(+HEAPF64[$spec$select + 72 >> 3]), +(+HEAPF64[$spec$select + 80 >> 3]), +(+HEAPF64[$spec$select + 88 >> 3]), +(+HEAPF64[$spec$select + 96 >> 3]), +(+HEAPF64[$spec$select + 104 >> 3]), +(+HEAPF64[$spec$select + 112 >> 3]), +(+HEAPF64[$spec$select + 120 >> 3]), +(+HEAPF64[$spec$select + 128 >> 3]), +(+HEAPF64[$spec$select + 136 >> 3]), +(+HEAPF64[$spec$select + 144 >> 3]), +(+HEAPF64[$spec$select + 152 >> 3]), +(+HEAPF64[$spec$select + 160 >> 3]), +(+HEAPF64[$spec$select + 168 >> 3]), +(+HEAPF64[$spec$select + 176 >> 3]), +(+HEAPF64[$spec$select + 184 >> 3]), +(+HEAPF64[$spec$select + 192 >> 3]), +(+HEAPF64[$spec$select + 200 >> 3]), +(+HEAPF64[$spec$select + 208 >> 3]), +(+HEAPF64[$spec$select + 216 >> 3]), +(+HEAPF64[$spec$select + 224 >> 3]), HEAP32[$spec$select + 240 >> 2] | 0) | 0; + $retval$1 = 0; + break; + } else { + $retval$1 = HEAP32[4226] | 0; + break; + } + } else $retval$1 = HEAP32[4224] | 0; while (0); + STACKTOP = sp; + return $retval$1 | 0; +} + +function __ZNSt3__29__num_getIcE17__stage2_int_loopEciPcRS2_RjcRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjRSD_PKc($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + $9 = $9 | 0; + var $$0$i$idx = 0, $$0$i$ptr = 0, $$0$lcssa$i = 0, $$1 = 0, $10 = 0, $11 = 0, $14 = 0, $21 = 0, $29 = 0, $34 = 0, $36 = 0, $42 = 0, $55 = 0, $57 = 0, label = 0; + $10 = HEAP32[$3 >> 2] | 0; + $11 = ($10 | 0) == ($2 | 0); + do if ($11) { + $14 = (HEAP8[$9 + 24 >> 0] | 0) == $0 << 24 >> 24; + if (!$14 ? (HEAP8[$9 + 25 >> 0] | 0) != $0 << 24 >> 24 : 0) { + label = 5; + break; + } + HEAP32[$3 >> 2] = $2 + 1; + HEAP8[$2 >> 0] = $14 ? 43 : 45; + HEAP32[$4 >> 2] = 0; + $$1 = 0; + } else label = 5; while (0); + L6 : do if ((label | 0) == 5) { + $21 = HEAP8[$6 + 11 >> 0] | 0; + if ($0 << 24 >> 24 == $5 << 24 >> 24 ? (($21 << 24 >> 24 < 0 ? HEAP32[$6 + 4 >> 2] | 0 : $21 & 255) | 0) != 0 : 0) { + $29 = HEAP32[$8 >> 2] | 0; + if (($29 - $7 | 0) >= 160) { + $$1 = 0; + break; + } + $34 = HEAP32[$4 >> 2] | 0; + HEAP32[$8 >> 2] = $29 + 4; + HEAP32[$29 >> 2] = $34; + HEAP32[$4 >> 2] = 0; + $$1 = 0; + break; + } + $36 = $9 + 26 | 0; + $$0$i$idx = 0; + while (1) { + $$0$i$ptr = $9 + $$0$i$idx | 0; + if (($$0$i$idx | 0) == 26) { + $$0$lcssa$i = $36; + break; + } + if ((HEAP8[$$0$i$ptr >> 0] | 0) == $0 << 24 >> 24) { + $$0$lcssa$i = $$0$i$ptr; + break; + } else $$0$i$idx = $$0$i$idx + 1 | 0; + } + $42 = $$0$lcssa$i - $9 | 0; + if (($42 | 0) > 23) $$1 = -1; else { + switch ($1 | 0) { + case 10: + case 8: + { + if (($42 | 0) >= ($1 | 0)) { + $$1 = -1; + break L6; + } + break; + } + case 16: + { + if (($42 | 0) >= 22) { + if ($11) { + $$1 = -1; + break L6; + } + if (($10 - $2 | 0) >= 3) { + $$1 = -1; + break L6; + } + if ((HEAP8[$10 + -1 >> 0] | 0) != 48) { + $$1 = -1; + break L6; + } + HEAP32[$4 >> 2] = 0; + $55 = HEAP8[12928 + $42 >> 0] | 0; + HEAP32[$3 >> 2] = $10 + 1; + HEAP8[$10 >> 0] = $55; + $$1 = 0; + break L6; + } + break; + } + default: + {} + } + $57 = HEAP8[12928 + $42 >> 0] | 0; + HEAP32[$3 >> 2] = $10 + 1; + HEAP8[$10 >> 0] = $57; + HEAP32[$4 >> 2] = (HEAP32[$4 >> 2] | 0) + 1; + $$1 = 0; + } + } while (0); + return $$1 | 0; +} + +function __ZN6vision25DoGScaleInvariantDetector6detectEPKNS_25GaussianScaleSpacePyramidE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $10 = 0, $15 = 0, $19 = 0, $2 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp; + if ((__ZNK6vision25GaussianScaleSpacePyramid10numOctavesEv($1) | 0) <= 0) { + $10 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 26990) | 0, 26748) | 0, 39072) | 0, 147) | 0, 39079) | 0, 27039) | 0; + __ZNKSt3__28ios_base6getlocEv($2, $10 + (HEAP32[(HEAP32[$10 >> 2] | 0) + -12 >> 2] | 0) | 0); + $15 = __ZNKSt3__26locale9use_facetERNS0_2idE($2, 66512) | 0; + $19 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$15 >> 2] | 0) + 28 >> 2] & 127]($15, 10) | 0; + __ZNSt3__26localeD2Ev($2); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($10, $19) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($10) | 0; + _abort(); + } + __ZN6vision11ScopedTimerC2EPKc($2, 27938); + if (__ZN6vision11ScopedTimercvbEv($2) | 0) __ZN6vision10DoGPyramid7computeEPKNS_25GaussianScaleSpacePyramidE($0 + 32 | 0, $1); + __ZN6vision11ScopedTimerD2Ev($2); + __ZN6vision11ScopedTimerC2EPKc($2, 27950); + if (__ZN6vision11ScopedTimercvbEv($2) | 0) __ZN6vision25DoGScaleInvariantDetector15extractFeaturesEPKNS_25GaussianScaleSpacePyramidEPKNS_10DoGPyramidE($0, $1, $0 + 32 | 0); + __ZN6vision11ScopedTimerD2Ev($2); + __ZN6vision11ScopedTimerC2EPKc($2, 27970); + if (__ZN6vision11ScopedTimercvbEv($2) | 0) __ZN6vision25DoGScaleInvariantDetector21findSubpixelLocationsEPKNS_25GaussianScaleSpacePyramidE($0, $1); + __ZN6vision11ScopedTimerD2Ev($2); + __ZN6vision11ScopedTimerC2EPKc($2, 27979); + if (__ZN6vision11ScopedTimercvbEv($2) | 0) __ZN6vision25DoGScaleInvariantDetector13pruneFeaturesEv($0); + __ZN6vision11ScopedTimerD2Ev($2); + __ZN6vision11ScopedTimerC2EPKc($2, 27993); + if (__ZN6vision11ScopedTimercvbEv($2) | 0) __ZN6vision25DoGScaleInvariantDetector23findFeatureOrientationsEPKNS_25GaussianScaleSpacePyramidE($0, $1); + __ZN6vision11ScopedTimerD2Ev($2); + STACKTOP = sp; + return; +} + +function _decode_mcu_DC_refine($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$021 = 0, $$035$i = 0, $16 = 0, $19 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $27 = 0, $3 = 0, $4 = 0, $54 = 0, $56 = 0, $57 = 0, $60 = 0, $61 = 0, $67 = 0, $7 = 0, $8 = 0, dest = 0, label = 0, stop = 0; + $3 = HEAP32[$0 + 468 >> 2] | 0; + $4 = $0 + 280 | 0; + if (HEAP32[$4 >> 2] | 0) { + $7 = $3 + 56 | 0; + $8 = HEAP32[$7 >> 2] | 0; + if (!$8) { + if (!(FUNCTION_TABLE_ii[HEAP32[(HEAP32[$0 + 464 >> 2] | 0) + 8 >> 2] & 127]($0) | 0)) { + $16 = HEAP32[$0 >> 2] | 0; + HEAP32[$16 + 20 >> 2] = 25; + FUNCTION_TABLE_vi[HEAP32[$16 >> 2] & 255]($0); + } + $19 = $0 + 340 | 0; + if ((HEAP32[$19 >> 2] | 0) > 0) { + $22 = $0 + 224 | 0; + $23 = $0 + 412 | 0; + $24 = $0 + 436 | 0; + $25 = $0 + 420 | 0; + $$035$i = 0; + do { + $27 = HEAP32[$0 + 344 + ($$035$i << 2) >> 2] | 0; + if (HEAP32[$22 >> 2] | 0) if (!(HEAP32[$23 >> 2] | 0)) { + if (!(HEAP32[$25 >> 2] | 0)) label = 10; + } else label = 13; else label = 10; + do if ((label | 0) == 10) { + label = 0; + dest = HEAP32[$3 + 60 + (HEAP32[$27 + 20 >> 2] << 2) >> 2] | 0; + stop = dest + 64 | 0; + do { + HEAP8[dest >> 0] = 0; + dest = dest + 1 | 0; + } while ((dest | 0) < (stop | 0)); + HEAP32[$3 + 24 + ($$035$i << 2) >> 2] = 0; + HEAP32[$3 + 40 + ($$035$i << 2) >> 2] = 0; + if (!(HEAP32[$22 >> 2] | 0)) if (!(HEAP32[$24 >> 2] | 0)) break; else { + label = 13; + break; + } else if (!(HEAP32[$23 >> 2] | 0)) break; else { + label = 13; + break; + } + } while (0); + if ((label | 0) == 13) { + label = 0; + _memset(HEAP32[$3 + 124 + (HEAP32[$27 + 24 >> 2] << 2) >> 2] | 0, 0, 256) | 0; + } + $$035$i = $$035$i + 1 | 0; + } while (($$035$i | 0) < (HEAP32[$19 >> 2] | 0)); + } + HEAP32[$3 + 12 >> 2] = 0; + HEAP32[$3 + 16 >> 2] = 0; + HEAP32[$3 + 20 >> 2] = -16; + $54 = HEAP32[$4 >> 2] | 0; + HEAP32[$7 >> 2] = $54; + $56 = $54; + } else $56 = $8; + HEAP32[$7 >> 2] = $56 + -1; + } + $57 = $3 + 188 | 0; + $60 = 1 << HEAP32[$0 + 424 >> 2]; + $61 = $0 + 368 | 0; + if ((HEAP32[$61 >> 2] | 0) <= 0) return 1; + $$021 = 0; + do { + if (_arith_decode($0, $57) | 0) { + $67 = HEAP32[$1 + ($$021 << 2) >> 2] | 0; + HEAP16[$67 >> 1] = $60 | (HEAPU16[$67 >> 1] | 0); + } + $$021 = $$021 + 1 | 0; + } while (($$021 | 0) < (HEAP32[$61 >> 2] | 0)); + return 1; +} + +function __ZNK6vision25GaussianScaleSpacePyramid3getEmm($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $12 = 0, $17 = 0, $21 = 0, $23 = 0, $3 = 0, $30 = 0, $35 = 0, $39 = 0, $41 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp; + if ((HEAP32[$0 + 16 >> 2] | 0) >>> 0 <= $1 >>> 0) { + $12 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 38089) | 0, 37972) | 0, 39072) | 0, 218) | 0, 39079) | 0, 26868) | 0; + __ZNKSt3__28ios_base6getlocEv($3, $12 + (HEAP32[(HEAP32[$12 >> 2] | 0) + -12 >> 2] | 0) | 0); + $17 = __ZNKSt3__26locale9use_facetERNS0_2idE($3, 66512) | 0; + $21 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$17 >> 2] | 0) + 28 >> 2] & 127]($17, 10) | 0; + __ZNSt3__26localeD2Ev($3); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($12, $21) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($12) | 0; + _abort(); + } + $23 = HEAP32[$0 + 20 >> 2] | 0; + if ($23 >>> 0 > $2 >>> 0) { + $41 = (Math_imul($23, $1) | 0) + $2 | 0; + STACKTOP = sp; + return (HEAP32[$0 + 4 >> 2] | 0) + ($41 << 5) | 0; + } else { + $30 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 38233) | 0, 37972) | 0, 39072) | 0, 219) | 0, 39079) | 0, 26888) | 0; + __ZNKSt3__28ios_base6getlocEv($3, $30 + (HEAP32[(HEAP32[$30 >> 2] | 0) + -12 >> 2] | 0) | 0); + $35 = __ZNKSt3__26locale9use_facetERNS0_2idE($3, 66512) | 0; + $39 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$35 >> 2] | 0) + 28 >> 2] & 127]($35, 10) | 0; + __ZNSt3__26localeD2Ev($3); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($30, $39) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($30) | 0; + _abort(); + } + return 0; +} + +function _arParamChangeSize($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0, $$0103 = 0, $12 = 0.0, $27 = 0, $7 = 0.0, label = 0; + $7 = +($1 | 0) / +(HEAP32[$0 >> 2] | 0); + $12 = +($2 | 0) / +(HEAP32[$0 + 4 >> 2] | 0); + HEAP32[$3 >> 2] = $1; + HEAP32[$3 + 4 >> 2] = $2; + $$0 = 0; + while (1) { + if (($$0 | 0) == 4) break; + HEAPF64[$3 + 8 + ($$0 << 3) >> 3] = $7 * +HEAPF64[$0 + 8 + ($$0 << 3) >> 3]; + HEAPF64[$3 + 40 + ($$0 << 3) >> 3] = $12 * +HEAPF64[$0 + 40 + ($$0 << 3) >> 3]; + HEAPF64[$3 + 72 + ($$0 << 3) >> 3] = +HEAPF64[$0 + 72 + ($$0 << 3) >> 3]; + $$0 = $$0 + 1 | 0; + } + $27 = HEAP32[$0 + 176 >> 2] | 0; + switch ($27 | 0) { + case 4: + { + HEAPF64[$3 + 104 >> 3] = +HEAPF64[$0 + 104 >> 3]; + HEAPF64[$3 + 112 >> 3] = +HEAPF64[$0 + 112 >> 3]; + HEAPF64[$3 + 120 >> 3] = +HEAPF64[$0 + 120 >> 3]; + HEAPF64[$3 + 128 >> 3] = +HEAPF64[$0 + 128 >> 3]; + HEAPF64[$3 + 136 >> 3] = $7 * +HEAPF64[$0 + 136 >> 3]; + HEAPF64[$3 + 144 >> 3] = $12 * +HEAPF64[$0 + 144 >> 3]; + HEAPF64[$3 + 152 >> 3] = $7 * +HEAPF64[$0 + 152 >> 3]; + HEAPF64[$3 + 160 >> 3] = $12 * +HEAPF64[$0 + 160 >> 3]; + HEAPF64[$3 + 168 >> 3] = +HEAPF64[$0 + 168 >> 3]; + label = 9; + break; + } + case 3: + { + HEAPF64[$3 + 104 >> 3] = $7 * +HEAPF64[$0 + 104 >> 3]; + HEAPF64[$3 + 112 >> 3] = $12 * +HEAPF64[$0 + 112 >> 3]; + HEAPF64[$3 + 120 >> 3] = +HEAPF64[$0 + 120 >> 3]; + HEAPF64[$3 + 128 >> 3] = +HEAPF64[$0 + 128 >> 3]; + HEAPF64[$3 + 136 >> 3] = +HEAPF64[$0 + 136 >> 3] / ($7 * $12); + HEAPF64[$3 + 144 >> 3] = +HEAPF64[$0 + 144 >> 3] / ($12 * ($7 * $7 * $12)); + label = 9; + break; + } + case 2: + { + HEAPF64[$3 + 104 >> 3] = $7 * +HEAPF64[$0 + 104 >> 3]; + HEAPF64[$3 + 112 >> 3] = $12 * +HEAPF64[$0 + 112 >> 3]; + HEAPF64[$3 + 120 >> 3] = +HEAPF64[$0 + 120 >> 3]; + HEAPF64[$3 + 128 >> 3] = +HEAPF64[$0 + 128 >> 3] / ($7 * $12); + HEAPF64[$3 + 136 >> 3] = +HEAPF64[$0 + 136 >> 3] / ($12 * ($7 * $7 * $12)); + label = 9; + break; + } + case 1: + { + HEAPF64[$3 + 104 >> 3] = $7 * +HEAPF64[$0 + 104 >> 3]; + HEAPF64[$3 + 112 >> 3] = $12 * +HEAPF64[$0 + 112 >> 3]; + HEAPF64[$3 + 120 >> 3] = +HEAPF64[$0 + 120 >> 3]; + HEAPF64[$3 + 128 >> 3] = +HEAPF64[$0 + 128 >> 3] / ($7 * $12); + label = 9; + break; + } + default: + $$0103 = -1; + } + if ((label | 0) == 9) { + HEAP32[$3 + 176 >> 2] = $27; + $$0103 = 0; + } + return $$0103 | 0; +} + +function __ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwl($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$alloca_mul = 0, $$alloca_mul6 = 0, $$byval_copy = 0, $$lobit = 0, $10 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $19 = 0, $20 = 0, $24 = 0, $26 = 0, $27 = 0, $28 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy = sp; + $5 = sp + 16 | 0; + $6 = sp + 12 | 0; + $7 = sp + 4 | 0; + $8 = sp + 8 | 0; + HEAP8[$5 >> 0] = HEAP8[59189] | 0; + HEAP8[$5 + 1 >> 0] = HEAP8[59190] | 0; + HEAP8[$5 + 2 >> 0] = HEAP8[59191] | 0; + HEAP8[$5 + 3 >> 0] = HEAP8[59192] | 0; + HEAP8[$5 + 4 >> 0] = HEAP8[59193] | 0; + HEAP8[$5 + 5 >> 0] = HEAP8[59194] | 0; + $10 = $2 + 4 | 0; + __ZNSt3__214__num_put_base12__format_intEPcPKcbj($5 + 1 | 0, 59195, 1, HEAP32[$10 >> 2] | 0); + $$lobit = (HEAP32[$10 >> 2] | 0) >>> 9 & 1; + $14 = $$lobit + 13 | 0; + $15 = _llvm_stacksave() | 0; + $$alloca_mul = $14; + $16 = STACKTOP; + STACKTOP = STACKTOP + ((1 * $$alloca_mul | 0) + 15 & -16) | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow((1 * $$alloca_mul | 0) + 15 & -16 | 0); + $17 = __ZNSt3__26__clocEv() | 0; + HEAP32[$$byval_copy >> 2] = $4; + $19 = $16 + (__ZNSt3__219__libcpp_snprintf_lEPcmP15__locale_structPKcz($16, $14, $17, $5, $$byval_copy) | 0) | 0; + $20 = __ZNSt3__214__num_put_base18__identify_paddingEPcS1_RKNS_8ios_baseE($16, $19, $2) | 0; + $$alloca_mul6 = ($$lobit << 1 | 24) + -1 << 2; + $24 = STACKTOP; + STACKTOP = STACKTOP + ((1 * $$alloca_mul6 | 0) + 15 & -16) | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow((1 * $$alloca_mul6 | 0) + 15 & -16 | 0); + __ZNKSt3__28ios_base6getlocEv($$byval_copy, $2); + __ZNSt3__29__num_putIwE21__widen_and_group_intEPcS2_S2_PwRS3_S4_RKNS_6localeE($16, $20, $19, $24, $6, $7, $$byval_copy); + __ZNSt3__26localeD2Ev($$byval_copy); + HEAP32[$8 >> 2] = HEAP32[$1 >> 2]; + $26 = HEAP32[$6 >> 2] | 0; + $27 = HEAP32[$7 >> 2] | 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$8 >> 2]; + $28 = __ZNSt3__216__pad_and_outputIwNS_11char_traitsIwEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4_($$byval_copy, $24, $26, $27, $2, $3) | 0; + _llvm_stackrestore($15 | 0); + STACKTOP = sp; + return $28 | 0; +} + +function __ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcl($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$alloca_mul = 0, $$alloca_mul6 = 0, $$byval_copy = 0, $$lobit = 0, $10 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $19 = 0, $20 = 0, $24 = 0, $26 = 0, $27 = 0, $28 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy = sp; + $5 = sp + 16 | 0; + $6 = sp + 12 | 0; + $7 = sp + 4 | 0; + $8 = sp + 8 | 0; + HEAP8[$5 >> 0] = HEAP8[59189] | 0; + HEAP8[$5 + 1 >> 0] = HEAP8[59190] | 0; + HEAP8[$5 + 2 >> 0] = HEAP8[59191] | 0; + HEAP8[$5 + 3 >> 0] = HEAP8[59192] | 0; + HEAP8[$5 + 4 >> 0] = HEAP8[59193] | 0; + HEAP8[$5 + 5 >> 0] = HEAP8[59194] | 0; + $10 = $2 + 4 | 0; + __ZNSt3__214__num_put_base12__format_intEPcPKcbj($5 + 1 | 0, 59195, 1, HEAP32[$10 >> 2] | 0); + $$lobit = (HEAP32[$10 >> 2] | 0) >>> 9 & 1; + $14 = $$lobit + 13 | 0; + $15 = _llvm_stacksave() | 0; + $$alloca_mul = $14; + $16 = STACKTOP; + STACKTOP = STACKTOP + ((1 * $$alloca_mul | 0) + 15 & -16) | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow((1 * $$alloca_mul | 0) + 15 & -16 | 0); + $17 = __ZNSt3__26__clocEv() | 0; + HEAP32[$$byval_copy >> 2] = $4; + $19 = $16 + (__ZNSt3__219__libcpp_snprintf_lEPcmP15__locale_structPKcz($16, $14, $17, $5, $$byval_copy) | 0) | 0; + $20 = __ZNSt3__214__num_put_base18__identify_paddingEPcS1_RKNS_8ios_baseE($16, $19, $2) | 0; + $$alloca_mul6 = ($$lobit << 1 | 24) + -1 | 0; + $24 = STACKTOP; + STACKTOP = STACKTOP + ((1 * $$alloca_mul6 | 0) + 15 & -16) | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow((1 * $$alloca_mul6 | 0) + 15 & -16 | 0); + __ZNKSt3__28ios_base6getlocEv($$byval_copy, $2); + __ZNSt3__29__num_putIcE21__widen_and_group_intEPcS2_S2_S2_RS2_S3_RKNS_6localeE($16, $20, $19, $24, $6, $7, $$byval_copy); + __ZNSt3__26localeD2Ev($$byval_copy); + HEAP32[$8 >> 2] = HEAP32[$1 >> 2]; + $26 = HEAP32[$6 >> 2] | 0; + $27 = HEAP32[$7 >> 2] | 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$8 >> 2]; + $28 = __ZNSt3__216__pad_and_outputIcNS_11char_traitsIcEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4_($$byval_copy, $24, $26, $27, $2, $3) | 0; + _llvm_stackrestore($15 | 0); + STACKTOP = sp; + return $28 | 0; +} + +function __ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwm($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$alloca_mul = 0, $$alloca_mul6 = 0, $$byval_copy = 0, $$lobit = 0, $10 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $19 = 0, $20 = 0, $23 = 0, $25 = 0, $26 = 0, $27 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy = sp; + $5 = sp + 16 | 0; + $6 = sp + 12 | 0; + $7 = sp + 4 | 0; + $8 = sp + 8 | 0; + HEAP8[$5 >> 0] = HEAP8[59189] | 0; + HEAP8[$5 + 1 >> 0] = HEAP8[59190] | 0; + HEAP8[$5 + 2 >> 0] = HEAP8[59191] | 0; + HEAP8[$5 + 3 >> 0] = HEAP8[59192] | 0; + HEAP8[$5 + 4 >> 0] = HEAP8[59193] | 0; + HEAP8[$5 + 5 >> 0] = HEAP8[59194] | 0; + $10 = $2 + 4 | 0; + __ZNSt3__214__num_put_base12__format_intEPcPKcbj($5 + 1 | 0, 59195, 0, HEAP32[$10 >> 2] | 0); + $$lobit = (HEAP32[$10 >> 2] | 0) >>> 9 & 1; + $14 = $$lobit | 12; + $15 = _llvm_stacksave() | 0; + $$alloca_mul = $14; + $16 = STACKTOP; + STACKTOP = STACKTOP + ((1 * $$alloca_mul | 0) + 15 & -16) | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow((1 * $$alloca_mul | 0) + 15 & -16 | 0); + $17 = __ZNSt3__26__clocEv() | 0; + HEAP32[$$byval_copy >> 2] = $4; + $19 = $16 + (__ZNSt3__219__libcpp_snprintf_lEPcmP15__locale_structPKcz($16, $14, $17, $5, $$byval_copy) | 0) | 0; + $20 = __ZNSt3__214__num_put_base18__identify_paddingEPcS1_RKNS_8ios_baseE($16, $19, $2) | 0; + $$alloca_mul6 = ($$lobit << 1 | 21) << 2; + $23 = STACKTOP; + STACKTOP = STACKTOP + ((1 * $$alloca_mul6 | 0) + 15 & -16) | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow((1 * $$alloca_mul6 | 0) + 15 & -16 | 0); + __ZNKSt3__28ios_base6getlocEv($$byval_copy, $2); + __ZNSt3__29__num_putIwE21__widen_and_group_intEPcS2_S2_PwRS3_S4_RKNS_6localeE($16, $20, $19, $23, $6, $7, $$byval_copy); + __ZNSt3__26localeD2Ev($$byval_copy); + HEAP32[$8 >> 2] = HEAP32[$1 >> 2]; + $25 = HEAP32[$6 >> 2] | 0; + $26 = HEAP32[$7 >> 2] | 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$8 >> 2]; + $27 = __ZNSt3__216__pad_and_outputIwNS_11char_traitsIwEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4_($$byval_copy, $23, $25, $26, $2, $3) | 0; + _llvm_stackrestore($15 | 0); + STACKTOP = sp; + return $27 | 0; +} + +function __ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcm($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$alloca_mul = 0, $$alloca_mul6 = 0, $$byval_copy = 0, $$lobit = 0, $10 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $19 = 0, $20 = 0, $23 = 0, $25 = 0, $26 = 0, $27 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy = sp; + $5 = sp + 16 | 0; + $6 = sp + 12 | 0; + $7 = sp + 4 | 0; + $8 = sp + 8 | 0; + HEAP8[$5 >> 0] = HEAP8[59189] | 0; + HEAP8[$5 + 1 >> 0] = HEAP8[59190] | 0; + HEAP8[$5 + 2 >> 0] = HEAP8[59191] | 0; + HEAP8[$5 + 3 >> 0] = HEAP8[59192] | 0; + HEAP8[$5 + 4 >> 0] = HEAP8[59193] | 0; + HEAP8[$5 + 5 >> 0] = HEAP8[59194] | 0; + $10 = $2 + 4 | 0; + __ZNSt3__214__num_put_base12__format_intEPcPKcbj($5 + 1 | 0, 59195, 0, HEAP32[$10 >> 2] | 0); + $$lobit = (HEAP32[$10 >> 2] | 0) >>> 9 & 1; + $14 = $$lobit | 12; + $15 = _llvm_stacksave() | 0; + $$alloca_mul = $14; + $16 = STACKTOP; + STACKTOP = STACKTOP + ((1 * $$alloca_mul | 0) + 15 & -16) | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow((1 * $$alloca_mul | 0) + 15 & -16 | 0); + $17 = __ZNSt3__26__clocEv() | 0; + HEAP32[$$byval_copy >> 2] = $4; + $19 = $16 + (__ZNSt3__219__libcpp_snprintf_lEPcmP15__locale_structPKcz($16, $14, $17, $5, $$byval_copy) | 0) | 0; + $20 = __ZNSt3__214__num_put_base18__identify_paddingEPcS1_RKNS_8ios_baseE($16, $19, $2) | 0; + $$alloca_mul6 = $$lobit << 1 | 21; + $23 = STACKTOP; + STACKTOP = STACKTOP + ((1 * $$alloca_mul6 | 0) + 15 & -16) | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow((1 * $$alloca_mul6 | 0) + 15 & -16 | 0); + __ZNKSt3__28ios_base6getlocEv($$byval_copy, $2); + __ZNSt3__29__num_putIcE21__widen_and_group_intEPcS2_S2_S2_RS2_S3_RKNS_6localeE($16, $20, $19, $23, $6, $7, $$byval_copy); + __ZNSt3__26localeD2Ev($$byval_copy); + HEAP32[$8 >> 2] = HEAP32[$1 >> 2]; + $25 = HEAP32[$6 >> 2] | 0; + $26 = HEAP32[$7 >> 2] | 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$8 >> 2]; + $27 = __ZNSt3__216__pad_and_outputIcNS_11char_traitsIcEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4_($$byval_copy, $23, $25, $26, $2, $3) | 0; + _llvm_stackrestore($15 | 0); + STACKTOP = sp; + return $27 | 0; +} + +function __ZNK6vision25GaussianScaleSpacePyramid14effectiveSigmaEmf($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = +$2; + var $10 = 0, $15 = 0, $19 = 0, $29 = 0, $3 = 0, $34 = 0, $38 = 0, $44 = 0.0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp; + if (!($2 >= 0.0)) { + $10 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 38176) | 0, 37972) | 0, 39072) | 0, 232) | 0, 39079) | 0, 38210) | 0; + __ZNKSt3__28ios_base6getlocEv($3, $10 + (HEAP32[(HEAP32[$10 >> 2] | 0) + -12 >> 2] | 0) | 0); + $15 = __ZNKSt3__26locale9use_facetERNS0_2idE($3, 66512) | 0; + $19 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$15 >> 2] | 0) + 28 >> 2] & 127]($15, 10) | 0; + __ZNSt3__26localeD2Ev($3); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($10, $19) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($10) | 0; + _abort(); + } + if (+(HEAP32[$0 + 20 >> 2] | 0) > $2) { + $44 = +Math_pow(+(+HEAPF32[$0 + 24 >> 2]), +$2) * +(1 << $1 | 0); + STACKTOP = sp; + return +$44; + } else { + $29 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 38233) | 0, 37972) | 0, 39072) | 0, 233) | 0, 39079) | 0, 38284) | 0; + __ZNKSt3__28ios_base6getlocEv($3, $29 + (HEAP32[(HEAP32[$29 >> 2] | 0) + -12 >> 2] | 0) | 0); + $34 = __ZNKSt3__26locale9use_facetERNS0_2idE($3, 66512) | 0; + $38 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$34 >> 2] | 0) + 28 >> 2] & 127]($34, 10) | 0; + __ZNSt3__26localeD2Ev($3); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($29, $38) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($29) | 0; + _abort(); + } + return +(0.0); +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E18parseClassEnumTypeEv($0) { + $0 = $0 | 0; + var $$0 = 0, $$byval_copy2 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $$byval_copy2 = sp + 32 | 0; + $1 = sp; + $2 = sp + 24 | 0; + $3 = sp + 16 | 0; + $4 = sp + 8 | 0; + __ZN12_GLOBAL__N_110StringViewC2Ev($1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 55028); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + do if (!(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy2) | 0)) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, 55038); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy2) | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($1, 55041); + break; + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, 55047); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy2) | 0) __ZN12_GLOBAL__N_110StringViewC2EPKc($1, 55050); + } else __ZN12_GLOBAL__N_110StringViewC2EPKc($1, 55031); while (0); + $9 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseNameEPNS5_9NameStateE(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0, 0) | 0; + HEAP32[$$byval_copy2 >> 2] = $9; + if ($9) if (__ZNK12_GLOBAL__N_110StringView5emptyEv($1) | 0) $$0 = $9; else $$0 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_22ElaboratedTypeSpefTypeEJRNS_10StringViewERPNS0_4NodeEEEESB_DpOT0_($0, $1, $$byval_copy2) | 0; else $$0 = 0; + STACKTOP = sp; + return $$0 | 0; +} + +function _ar2GenImageLayer2($0, $1) { + $0 = $0 | 0; + $1 = +$1; + var $$0 = 0, $$087 = 0, $$089 = 0, $$090 = 0, $$091 = 0, $$092 = 0, $$095 = 0, $$096 = 0, $$1 = 0, $$188 = 0, $$197 = 0, $10 = 0, $15 = 0, $16 = 0, $2 = 0, $22 = 0, $26 = 0.0, $29 = 0, $30 = 0, $34 = 0, $35 = 0, $39 = 0.0, $42 = 0, $43 = 0, $47 = 0, $48 = 0, $59 = 0, $6 = 0, $7 = 0.0, $9 = 0, $spec$select = 0, $spec$select98 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $2 = $0 + 4 | 0; + $6 = $0 + 12 | 0; + $7 = +HEAPF32[$6 >> 2]; + $9 = _lroundf(+(HEAP32[$2 >> 2] | 0) * $1 / $7) | 0; + $10 = $0 + 8 | 0; + $15 = _lroundf(+(HEAP32[$10 >> 2] | 0) * $1 / $7) | 0; + $16 = _malloc(16) | 0; + if (!$16) { + _arLog(0, 3, 45930, sp); + _exit(1); + } + HEAP32[$16 + 4 >> 2] = $9; + HEAP32[$16 + 8 >> 2] = $15; + HEAPF32[$16 + 12 >> 2] = $1; + $22 = _malloc(Math_imul($15, $9) | 0) | 0; + HEAP32[$16 >> 2] = $22; + if (!$22) { + _arLog(0, 3, 45930, sp + 8 | 0); + _exit(1); + } + $$091 = 0; + $$096 = $22; + while (1) { + if (($$091 | 0) >= ($15 | 0)) break; + $26 = +HEAPF32[$6 >> 2]; + $29 = _lroundf($26 * +($$091 | 0) / $1) | 0; + $30 = $$091 + 1 | 0; + $34 = _lroundf($26 * +($30 | 0) / $1) | 0; + $35 = HEAP32[$10 >> 2] | 0; + $spec$select = ($34 | 0) > ($35 | 0) ? $35 : $34; + $$092 = 0; + $$197 = $$096; + while (1) { + if (($$092 | 0) >= ($9 | 0)) break; + $39 = +HEAPF32[$6 >> 2]; + $42 = _lroundf($39 * +($$092 | 0) / $1) | 0; + $43 = $$092 + 1 | 0; + $47 = _lroundf($39 * +($43 | 0) / $1) | 0; + $48 = HEAP32[$2 >> 2] | 0; + $spec$select98 = ($47 | 0) > ($48 | 0) ? $48 : $47; + $$0 = 0; + $$087 = 0; + $$089 = $29; + while (1) { + if (($$089 | 0) >= ($spec$select | 0)) break; + $$090 = $42; + $$095 = (HEAP32[$0 >> 2] | 0) + ((Math_imul($$089, $48) | 0) + $42) | 0; + $$1 = $$0; + $$188 = $$087; + while (1) { + if (($$090 | 0) >= ($spec$select98 | 0)) break; + $59 = $$1 + (HEAPU8[$$095 >> 0] | 0) | 0; + $$090 = $$090 + 1 | 0; + $$095 = $$095 + 1 | 0; + $$1 = $59; + $$188 = $$188 + 1 | 0; + } + $$0 = $$1; + $$087 = $$188; + $$089 = $$089 + 1 | 0; + } + HEAP8[$$197 >> 0] = ($$0 | 0) / ($$087 | 0) | 0; + $$092 = $43; + $$197 = $$197 + 1 | 0; + } + $$091 = $30; + $$096 = $$197; + } + STACKTOP = sp; + return $16 | 0; +} + +function _free_pool($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$07181 = 0, $$07182 = 0, $$07286 = 0, $$07287 = 0, $$in7477 = 0, $$in7576 = 0, $11 = 0, $13 = 0, $21 = 0, $23 = 0, $3 = 0, $31 = 0, $32 = 0, $34 = 0, $41 = 0, $45 = 0, $46 = 0, $48 = 0, $5 = 0, $55 = 0, $$in7477$looptemp = 0, $$in7576$looptemp = 0; + $3 = HEAP32[$0 + 4 >> 2] | 0; + if ($1 >>> 0 <= 1) { + if (($1 | 0) == 1) { + $11 = $3 + 68 | 0; + $$07286 = HEAP32[$11 >> 2] | 0; + if ($$07286 | 0) { + $$07287 = $$07286; + do { + $13 = $$07287 + 40 | 0; + if (HEAP32[$13 >> 2] | 0) { + HEAP32[$13 >> 2] = 0; + FUNCTION_TABLE_vii[HEAP32[$$07287 + 56 >> 2] & 255]($0, $$07287 + 48 | 0); + } + $$07287 = HEAP32[$$07287 + 44 >> 2] | 0; + } while (($$07287 | 0) != 0); + } + HEAP32[$11 >> 2] = 0; + $21 = $3 + 72 | 0; + $$07181 = HEAP32[$21 >> 2] | 0; + if ($$07181 | 0) { + $$07182 = $$07181; + do { + $23 = $$07182 + 40 | 0; + if (HEAP32[$23 >> 2] | 0) { + HEAP32[$23 >> 2] = 0; + FUNCTION_TABLE_vii[HEAP32[$$07182 + 56 >> 2] & 255]($0, $$07182 + 48 | 0); + } + $$07182 = HEAP32[$$07182 + 44 >> 2] | 0; + } while (($$07182 | 0) != 0); + } + HEAP32[$21 >> 2] = 0; + } + } else { + $5 = HEAP32[$0 >> 2] | 0; + HEAP32[$5 + 20 >> 2] = 15; + HEAP32[$5 + 24 >> 2] = $1; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + $31 = $3 + 60 + ($1 << 2) | 0; + $32 = HEAP32[$31 >> 2] | 0; + HEAP32[$31 >> 2] = 0; + if ($32 | 0) { + $34 = $3 + 76 | 0; + $$in7477 = $32; + do { + $$in7477$looptemp = $$in7477; + $$in7477 = HEAP32[$$in7477 >> 2] | 0; + $41 = (HEAP32[$$in7477$looptemp + 4 >> 2] | 0) + 16 + (HEAP32[$$in7477$looptemp + 8 >> 2] | 0) | 0; + _jpeg_free_large($0, $$in7477$looptemp, $41); + HEAP32[$34 >> 2] = (HEAP32[$34 >> 2] | 0) - $41; + } while (($$in7477 | 0) != 0); + } + $45 = $3 + 52 + ($1 << 2) | 0; + $46 = HEAP32[$45 >> 2] | 0; + HEAP32[$45 >> 2] = 0; + if (!$46) return; + $48 = $3 + 76 | 0; + $$in7576 = $46; + do { + $$in7576$looptemp = $$in7576; + $$in7576 = HEAP32[$$in7576 >> 2] | 0; + $55 = (HEAP32[$$in7576$looptemp + 4 >> 2] | 0) + 16 + (HEAP32[$$in7576$looptemp + 8 >> 2] | 0) | 0; + _jpeg_free_small($0, $$in7576$looptemp, $55); + HEAP32[$48 >> 2] = (HEAP32[$48 >> 2] | 0) - $55; + } while (($$in7576 | 0) != 0); + return; +} + +function __ZNK6vision5Timer19duration_in_secondsEv($0) { + $0 = $0 | 0; + var $1 = 0, $14 = 0, $18 = 0, $2 = 0.0, $20 = 0.0, $27 = 0, $32 = 0, $36 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + $2 = +HEAPF64[$0 >> 3]; + if (!($2 >= 0.0)) { + $9 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 38960) | 0, 38999) | 0, 39072) | 0, 80) | 0, 39079) | 0, 39082) | 0; + __ZNKSt3__28ios_base6getlocEv($1, $9 + (HEAP32[(HEAP32[$9 >> 2] | 0) + -12 >> 2] | 0) | 0); + $14 = __ZNKSt3__26locale9use_facetERNS0_2idE($1, 66512) | 0; + $18 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$14 >> 2] | 0) + 28 >> 2] & 127]($14, 10) | 0; + __ZNSt3__26localeD2Ev($1); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($9, $18) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($9) | 0; + _abort(); + } + $20 = +HEAPF64[$0 + 8 >> 3]; + if (!($20 >= 0.0)) { + $27 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 39109) | 0, 38999) | 0, 39072) | 0, 81) | 0, 39079) | 0, 39147) | 0; + __ZNKSt3__28ios_base6getlocEv($1, $27 + (HEAP32[(HEAP32[$27 >> 2] | 0) + -12 >> 2] | 0) | 0); + $32 = __ZNKSt3__26locale9use_facetERNS0_2idE($1, 66512) | 0; + $36 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$32 >> 2] | 0) + 28 >> 2] & 127]($32, 10) | 0; + __ZNSt3__26localeD2Ev($1); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($27, $36) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($27) | 0; + _abort(); + } else { + STACKTOP = sp; + return +($20 - $2); + } + return +(0.0); +} + +function _get_cpara($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$1 = 0, $11 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0, $51 = 0, $6 = 0, $64 = 0, $65 = 0, $71 = 0, $72 = 0, $8 = 0, $9 = 0; + $3 = _arMatrixAlloc(8, 8) | 0; + $4 = _arMatrixAlloc(8, 1) | 0; + $5 = _arMatrixAlloc(8, 1) | 0; + $$0 = 0; + while (1) { + if (($$0 | 0) == 4) break; + $6 = $0 + ($$0 << 4) | 0; + $8 = HEAP32[$3 >> 2] | 0; + $9 = $$0 << 4; + HEAPF64[$8 + ($9 << 3) >> 3] = +HEAPF64[$6 >> 3]; + $11 = $0 + ($$0 << 4) + 8 | 0; + HEAPF64[$8 + (($9 | 1) << 3) >> 3] = +HEAPF64[$11 >> 3]; + HEAPF64[$8 + (($9 | 2) << 3) >> 3] = 1.0; + HEAPF64[$8 + (($9 | 3) << 3) >> 3] = 0.0; + HEAPF64[$8 + (($9 | 4) << 3) >> 3] = 0.0; + HEAPF64[$8 + (($9 | 5) << 3) >> 3] = 0.0; + $24 = $1 + ($$0 << 4) | 0; + HEAPF64[$8 + (($9 | 6) << 3) >> 3] = -(+HEAPF64[$6 >> 3] * +HEAPF64[$24 >> 3]); + HEAPF64[$8 + (($9 | 7) << 3) >> 3] = -(+HEAPF64[$11 >> 3] * +HEAPF64[$24 >> 3]); + HEAPF64[$8 + (($9 | 8) << 3) >> 3] = 0.0; + HEAPF64[$8 + (($9 | 9) << 3) >> 3] = 0.0; + HEAPF64[$8 + (($9 | 10) << 3) >> 3] = 0.0; + HEAPF64[$8 + (($9 | 11) << 3) >> 3] = +HEAPF64[$6 >> 3]; + HEAPF64[$8 + (($9 | 12) << 3) >> 3] = +HEAPF64[$11 >> 3]; + HEAPF64[$8 + (($9 | 13) << 3) >> 3] = 1.0; + $51 = $1 + ($$0 << 4) + 8 | 0; + HEAPF64[$8 + (($9 | 14) << 3) >> 3] = -(+HEAPF64[$6 >> 3] * +HEAPF64[$51 >> 3]); + HEAPF64[$8 + (($9 | 15) << 3) >> 3] = -(+HEAPF64[$11 >> 3] * +HEAPF64[$51 >> 3]); + $64 = HEAP32[$4 >> 2] | 0; + $65 = $$0 << 1; + HEAPF64[$64 + ($65 << 3) >> 3] = +HEAPF64[$24 >> 3]; + HEAPF64[$64 + (($65 | 1) << 3) >> 3] = +HEAPF64[$51 >> 3]; + $$0 = $$0 + 1 | 0; + } + _arMatrixSelfInv($3) | 0; + _arMatrixMul($5, $3, $4) | 0; + $71 = HEAP32[$5 >> 2] | 0; + $$1 = 0; + while (1) { + if (($$1 | 0) == 2) break; + $72 = $$1 * 3 | 0; + HEAPF64[$2 + ($$1 * 24 | 0) >> 3] = +HEAPF64[$71 + ($72 << 3) >> 3]; + HEAPF64[$2 + ($$1 * 24 | 0) + 8 >> 3] = +HEAPF64[$71 + ($72 + 1 << 3) >> 3]; + HEAPF64[$2 + ($$1 * 24 | 0) + 16 >> 3] = +HEAPF64[$71 + ($72 + 2 << 3) >> 3]; + $$1 = $$1 + 1 | 0; + } + HEAPF64[$2 + 48 >> 3] = +HEAPF64[$71 + 48 >> 3]; + HEAPF64[$2 + 56 >> 3] = +HEAPF64[$71 + 56 >> 3]; + HEAPF64[$2 + 64 >> 3] = 1.0; + _arMatrixFree($3) | 0; + _arMatrixFree($4) | 0; + _arMatrixFree($5) | 0; + return; +} + +function __ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwx($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 $$alloca_mul = 0, $$alloca_mul6 = 0, $$byval_copy = 0, $$lobit = 0, $10 = 0, $15 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $28 = 0, $29 = 0, $33 = 0, $35 = 0, $36 = 0, $37 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy = sp + 8 | 0; + $6 = sp; + $7 = sp + 24 | 0; + $8 = sp + 16 | 0; + $9 = sp + 20 | 0; + $10 = $6; + HEAP32[$10 >> 2] = 37; + HEAP32[$10 + 4 >> 2] = 0; + $15 = $2 + 4 | 0; + __ZNSt3__214__num_put_base12__format_intEPcPKcbj($6 + 1 | 0, 59186, 1, HEAP32[$15 >> 2] | 0); + $$lobit = (HEAP32[$15 >> 2] | 0) >>> 9 & 1; + $19 = $$lobit + 23 | 0; + $20 = _llvm_stacksave() | 0; + $$alloca_mul = $19; + $21 = STACKTOP; + STACKTOP = STACKTOP + ((1 * $$alloca_mul | 0) + 15 & -16) | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow((1 * $$alloca_mul | 0) + 15 & -16 | 0); + $22 = __ZNSt3__26__clocEv() | 0; + $23 = $$byval_copy; + HEAP32[$23 >> 2] = $4; + HEAP32[$23 + 4 >> 2] = $5; + $28 = $21 + (__ZNSt3__219__libcpp_snprintf_lEPcmP15__locale_structPKcz($21, $19, $22, $6, $$byval_copy) | 0) | 0; + $29 = __ZNSt3__214__num_put_base18__identify_paddingEPcS1_RKNS_8ios_baseE($21, $28, $2) | 0; + $$alloca_mul6 = ($$lobit << 1 | 44) + -1 << 2; + $33 = STACKTOP; + STACKTOP = STACKTOP + ((1 * $$alloca_mul6 | 0) + 15 & -16) | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow((1 * $$alloca_mul6 | 0) + 15 & -16 | 0); + __ZNKSt3__28ios_base6getlocEv($$byval_copy, $2); + __ZNSt3__29__num_putIwE21__widen_and_group_intEPcS2_S2_PwRS3_S4_RKNS_6localeE($21, $29, $28, $33, $7, $8, $$byval_copy); + __ZNSt3__26localeD2Ev($$byval_copy); + HEAP32[$9 >> 2] = HEAP32[$1 >> 2]; + $35 = HEAP32[$7 >> 2] | 0; + $36 = HEAP32[$8 >> 2] | 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$9 >> 2]; + $37 = __ZNSt3__216__pad_and_outputIwNS_11char_traitsIwEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4_($$byval_copy, $33, $35, $36, $2, $3) | 0; + _llvm_stackrestore($20 | 0); + STACKTOP = sp; + return $37 | 0; +} + +function __ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcx($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 $$alloca_mul = 0, $$alloca_mul6 = 0, $$byval_copy = 0, $$lobit = 0, $10 = 0, $15 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $28 = 0, $29 = 0, $33 = 0, $35 = 0, $36 = 0, $37 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy = sp + 8 | 0; + $6 = sp; + $7 = sp + 24 | 0; + $8 = sp + 16 | 0; + $9 = sp + 20 | 0; + $10 = $6; + HEAP32[$10 >> 2] = 37; + HEAP32[$10 + 4 >> 2] = 0; + $15 = $2 + 4 | 0; + __ZNSt3__214__num_put_base12__format_intEPcPKcbj($6 + 1 | 0, 59186, 1, HEAP32[$15 >> 2] | 0); + $$lobit = (HEAP32[$15 >> 2] | 0) >>> 9 & 1; + $19 = $$lobit + 23 | 0; + $20 = _llvm_stacksave() | 0; + $$alloca_mul = $19; + $21 = STACKTOP; + STACKTOP = STACKTOP + ((1 * $$alloca_mul | 0) + 15 & -16) | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow((1 * $$alloca_mul | 0) + 15 & -16 | 0); + $22 = __ZNSt3__26__clocEv() | 0; + $23 = $$byval_copy; + HEAP32[$23 >> 2] = $4; + HEAP32[$23 + 4 >> 2] = $5; + $28 = $21 + (__ZNSt3__219__libcpp_snprintf_lEPcmP15__locale_structPKcz($21, $19, $22, $6, $$byval_copy) | 0) | 0; + $29 = __ZNSt3__214__num_put_base18__identify_paddingEPcS1_RKNS_8ios_baseE($21, $28, $2) | 0; + $$alloca_mul6 = ($$lobit << 1 | 44) + -1 | 0; + $33 = STACKTOP; + STACKTOP = STACKTOP + ((1 * $$alloca_mul6 | 0) + 15 & -16) | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow((1 * $$alloca_mul6 | 0) + 15 & -16 | 0); + __ZNKSt3__28ios_base6getlocEv($$byval_copy, $2); + __ZNSt3__29__num_putIcE21__widen_and_group_intEPcS2_S2_S2_RS2_S3_RKNS_6localeE($21, $29, $28, $33, $7, $8, $$byval_copy); + __ZNSt3__26localeD2Ev($$byval_copy); + HEAP32[$9 >> 2] = HEAP32[$1 >> 2]; + $35 = HEAP32[$7 >> 2] | 0; + $36 = HEAP32[$8 >> 2] | 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$9 >> 2]; + $37 = __ZNSt3__216__pad_and_outputIcNS_11char_traitsIcEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4_($$byval_copy, $33, $35, $36, $2, $3) | 0; + _llvm_stackrestore($20 | 0); + STACKTOP = sp; + return $37 | 0; +} + +function __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE23__append_forward_unsafeIPcEERS5_T_S9_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$034 = 0, $15 = 0, $22 = 0, $23 = 0, $26 = 0, $27 = 0, $3 = 0, $35 = 0, $36 = 0, $4 = 0, $44 = 0, $49 = 0, $5 = 0, $6 = 0, $7 = 0, $scevgep38 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = $1; + $4 = sp; + $5 = $0 + 11 | 0; + $6 = HEAP8[$5 >> 0] | 0; + $7 = $6 << 24 >> 24 < 0; + if ($7) { + $35 = HEAP32[$0 + 4 >> 2] | 0; + $36 = (HEAP32[$0 + 8 >> 2] & 2147483647) + -1 | 0; + } else { + $35 = $6 & 255; + $36 = 10; + } + $15 = $2 - $3 | 0; + do if ($15 | 0) { + if ($7) { + $22 = HEAP32[$0 >> 2] | 0; + $23 = HEAP32[$0 + 4 >> 2] | 0; + } else { + $22 = $0; + $23 = $6 & 255; + } + if (__ZNSt3__214__ptr_in_rangeIcEEbPKT_S3_S3_($1, $22, $22 + $23 | 0) | 0) { + HEAP32[$4 >> 2] = 0; + HEAP32[$4 + 4 >> 2] = 0; + HEAP32[$4 + 8 >> 2] = 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initIPcEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeES9_S9_($4, $1, $2); + $26 = HEAP8[$4 + 11 >> 0] | 0; + $27 = $26 << 24 >> 24 < 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm($0, $27 ? HEAP32[$4 >> 2] | 0 : $4, $27 ? HEAP32[$4 + 4 >> 2] | 0 : $26 & 255) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($4); + break; + } + if (($36 - $35 | 0) >>> 0 < $15 >>> 0) __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__grow_byEmmmmmm($0, $36, $35 + $15 - $36 | 0, $35, $35, 0, 0); + if ((HEAP8[$5 >> 0] | 0) < 0) $44 = HEAP32[$0 >> 2] | 0; else $44 = $0; + $scevgep38 = $2 + ($35 - $3) | 0; + $$0 = $44 + $35 | 0; + $$034 = $1; + while (1) { + if (($$034 | 0) == ($2 | 0)) break; + __ZNSt3__211char_traitsIcE6assignERcRKc($$0, $$034); + $$0 = $$0 + 1 | 0; + $$034 = $$034 + 1 | 0; + } + HEAP8[$4 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($44 + $scevgep38 | 0, $4); + $49 = $35 + $15 | 0; + if ((HEAP8[$5 >> 0] | 0) < 0) { + HEAP32[$0 + 4 >> 2] = $49; + break; + } else { + HEAP8[$5 >> 0] = $49; + break; + } + } while (0); + STACKTOP = sp; + return $0 | 0; +} + +function __ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwy($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 $$alloca_mul = 0, $$alloca_mul6 = 0, $$byval_copy = 0, $10 = 0, $15 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $29 = 0, $30 = 0, $33 = 0, $35 = 0, $36 = 0, $37 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy = sp + 8 | 0; + $6 = sp; + $7 = sp + 24 | 0; + $8 = sp + 16 | 0; + $9 = sp + 20 | 0; + $10 = $6; + HEAP32[$10 >> 2] = 37; + HEAP32[$10 + 4 >> 2] = 0; + $15 = $2 + 4 | 0; + __ZNSt3__214__num_put_base12__format_intEPcPKcbj($6 + 1 | 0, 59186, 0, HEAP32[$15 >> 2] | 0); + $19 = (HEAP32[$15 >> 2] | 0) >>> 9 & 1 | 22; + $20 = $19 + 1 | 0; + $21 = _llvm_stacksave() | 0; + $$alloca_mul = $20; + $22 = STACKTOP; + STACKTOP = STACKTOP + ((1 * $$alloca_mul | 0) + 15 & -16) | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow((1 * $$alloca_mul | 0) + 15 & -16 | 0); + $23 = __ZNSt3__26__clocEv() | 0; + $24 = $$byval_copy; + HEAP32[$24 >> 2] = $4; + HEAP32[$24 + 4 >> 2] = $5; + $29 = $22 + (__ZNSt3__219__libcpp_snprintf_lEPcmP15__locale_structPKcz($22, $20, $23, $6, $$byval_copy) | 0) | 0; + $30 = __ZNSt3__214__num_put_base18__identify_paddingEPcS1_RKNS_8ios_baseE($22, $29, $2) | 0; + $$alloca_mul6 = ($19 << 1) + -1 << 2; + $33 = STACKTOP; + STACKTOP = STACKTOP + ((1 * $$alloca_mul6 | 0) + 15 & -16) | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow((1 * $$alloca_mul6 | 0) + 15 & -16 | 0); + __ZNKSt3__28ios_base6getlocEv($$byval_copy, $2); + __ZNSt3__29__num_putIwE21__widen_and_group_intEPcS2_S2_PwRS3_S4_RKNS_6localeE($22, $30, $29, $33, $7, $8, $$byval_copy); + __ZNSt3__26localeD2Ev($$byval_copy); + HEAP32[$9 >> 2] = HEAP32[$1 >> 2]; + $35 = HEAP32[$7 >> 2] | 0; + $36 = HEAP32[$8 >> 2] | 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$9 >> 2]; + $37 = __ZNSt3__216__pad_and_outputIwNS_11char_traitsIwEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4_($$byval_copy, $33, $35, $36, $2, $3) | 0; + _llvm_stackrestore($21 | 0); + STACKTOP = sp; + return $37 | 0; +} + +function __ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcy($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 $$alloca_mul = 0, $$alloca_mul6 = 0, $$byval_copy = 0, $10 = 0, $15 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $29 = 0, $30 = 0, $33 = 0, $35 = 0, $36 = 0, $37 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy = sp + 8 | 0; + $6 = sp; + $7 = sp + 24 | 0; + $8 = sp + 16 | 0; + $9 = sp + 20 | 0; + $10 = $6; + HEAP32[$10 >> 2] = 37; + HEAP32[$10 + 4 >> 2] = 0; + $15 = $2 + 4 | 0; + __ZNSt3__214__num_put_base12__format_intEPcPKcbj($6 + 1 | 0, 59186, 0, HEAP32[$15 >> 2] | 0); + $19 = (HEAP32[$15 >> 2] | 0) >>> 9 & 1 | 22; + $20 = $19 + 1 | 0; + $21 = _llvm_stacksave() | 0; + $$alloca_mul = $20; + $22 = STACKTOP; + STACKTOP = STACKTOP + ((1 * $$alloca_mul | 0) + 15 & -16) | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow((1 * $$alloca_mul | 0) + 15 & -16 | 0); + $23 = __ZNSt3__26__clocEv() | 0; + $24 = $$byval_copy; + HEAP32[$24 >> 2] = $4; + HEAP32[$24 + 4 >> 2] = $5; + $29 = $22 + (__ZNSt3__219__libcpp_snprintf_lEPcmP15__locale_structPKcz($22, $20, $23, $6, $$byval_copy) | 0) | 0; + $30 = __ZNSt3__214__num_put_base18__identify_paddingEPcS1_RKNS_8ios_baseE($22, $29, $2) | 0; + $$alloca_mul6 = ($19 << 1) + -1 | 0; + $33 = STACKTOP; + STACKTOP = STACKTOP + ((1 * $$alloca_mul6 | 0) + 15 & -16) | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow((1 * $$alloca_mul6 | 0) + 15 & -16 | 0); + __ZNKSt3__28ios_base6getlocEv($$byval_copy, $2); + __ZNSt3__29__num_putIcE21__widen_and_group_intEPcS2_S2_S2_RS2_S3_RKNS_6localeE($22, $30, $29, $33, $7, $8, $$byval_copy); + __ZNSt3__26localeD2Ev($$byval_copy); + HEAP32[$9 >> 2] = HEAP32[$1 >> 2]; + $35 = HEAP32[$7 >> 2] | 0; + $36 = HEAP32[$8 >> 2] | 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$9 >> 2]; + $37 = __ZNSt3__216__pad_and_outputIcNS_11char_traitsIcEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4_($$byval_copy, $33, $35, $36, $2, $3) | 0; + _llvm_stackrestore($21 | 0); + STACKTOP = sp; + return $37 | 0; +} + +function _PCA($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$075 = 0, $$077 = 0, $$078 = 0, $$080 = 0, $$1 = 0, $$176 = 0, $$179 = 0, $$181 = 0, $$2 = 0, $$3 = 0, $20 = 0, $27 = 0, $4 = 0, $6 = 0, $8 = 0; + $4 = HEAP32[$0 + 4 >> 2] | 0; + $6 = HEAP32[$0 + 8 >> 2] | 0; + $8 = ($6 | 0) < ($4 | 0) ? $6 : $4; + L1 : do if (((!(($4 | 0) < 2 | ($6 | 0) < 2) ? (HEAP32[$1 + 8 >> 2] | 0) == ($6 | 0) : 0) ? (HEAP32[$1 + 4 >> 2] | 0) == ($8 | 0) : 0) ? (HEAP32[$2 + 4 >> 2] | 0) == ($8 | 0) : 0) { + $20 = _arMatrixAlloc($8, $8) | 0; + if ((HEAP32[$20 + 4 >> 2] | 0) == ($8 | 0) ? (HEAP32[$20 + 8 >> 2] | 0) == ($8 | 0) : 0) { + $27 = ($4 | 0) < ($6 | 0); + if ($27) { + if ((_x_by_xt($0, $20) | 0) < 0) { + _arMatrixFree($20) | 0; + $$077 = -1; + break; + } + } else if ((_xt_by_x($0, $20) | 0) < 0) { + _arMatrixFree($20) | 0; + $$077 = -1; + break; + } + if ((_QRM($20, $2) | 0) < 0) { + _arMatrixFree($20) | 0; + $$077 = -1; + break; + } + L18 : do if ($27) { + if ((_EV_create($0, $20, $1, $2) | 0) < 0) { + _arMatrixFree($20) | 0; + $$077 = -1; + break L1; + } + } else { + $$075 = 0; + $$078 = HEAP32[$20 >> 2] | 0; + $$080 = HEAP32[$1 >> 2] | 0; + while (1) { + if (($$075 | 0) >= ($8 | 0)) break; + if (+HEAPF64[(HEAP32[$2 >> 2] | 0) + ($$075 << 3) >> 3] < 1.0e-16) break; + $$0 = 0; + $$179 = $$078; + $$181 = $$080; + while (1) { + if (($$0 | 0) >= ($8 | 0)) break; + HEAPF64[$$181 >> 3] = +HEAPF64[$$179 >> 3]; + $$0 = $$0 + 1 | 0; + $$179 = $$179 + 8 | 0; + $$181 = $$181 + 8 | 0; + } + $$075 = $$075 + 1 | 0; + $$078 = $$179; + $$080 = $$181; + } + $$176 = $$075; + $$2 = $$080; + while (1) { + if (($$176 | 0) >= ($8 | 0)) break L18; + HEAPF64[(HEAP32[$2 >> 2] | 0) + ($$176 << 3) >> 3] = 0.0; + $$1 = 0; + $$3 = $$2; + while (1) { + if (($$1 | 0) >= ($8 | 0)) break; + HEAPF64[$$3 >> 3] = 0.0; + $$1 = $$1 + 1 | 0; + $$3 = $$3 + 8 | 0; + } + $$176 = $$176 + 1 | 0; + $$2 = $$3; + } + } while (0); + _arMatrixFree($20) | 0; + $$077 = 0; + break; + } + _arMatrixFree($20) | 0; + $$077 = -1; + } else $$077 = -1; while (0); + return $$077 | 0; +} + +function __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE23__append_forward_unsafeIPwEERS5_T_S9_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$034 = 0, $15 = 0, $16 = 0, $23 = 0, $24 = 0, $28 = 0, $29 = 0, $3 = 0, $37 = 0, $38 = 0, $4 = 0, $46 = 0, $5 = 0, $50 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp; + $4 = $0 + 8 | 0; + $5 = $4 + 3 | 0; + $6 = HEAP8[$5 >> 0] | 0; + $7 = $6 << 24 >> 24 < 0; + if ($7) { + $37 = HEAP32[$0 + 4 >> 2] | 0; + $38 = (HEAP32[$4 >> 2] & 2147483647) + -1 | 0; + } else { + $37 = $6 & 255; + $38 = 1; + } + $15 = $2 - $1 | 0; + $16 = $15 >> 2; + do if ($15 | 0) { + if ($7) { + $23 = HEAP32[$0 >> 2] | 0; + $24 = HEAP32[$0 + 4 >> 2] | 0; + } else { + $23 = $0; + $24 = $6 & 255; + } + if (__ZNSt3__214__ptr_in_rangeIwEEbPKT_S3_S3_($1, $23, $23 + ($24 << 2) | 0) | 0) { + HEAP32[$3 >> 2] = 0; + HEAP32[$3 + 4 >> 2] = 0; + HEAP32[$3 + 8 >> 2] = 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initIPwEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeES9_S9_($3, $1, $2); + $28 = HEAP8[$3 + 8 + 3 >> 0] | 0; + $29 = $28 << 24 >> 24 < 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendEPKwm($0, $29 ? HEAP32[$3 >> 2] | 0 : $3, $29 ? HEAP32[$3 + 4 >> 2] | 0 : $28 & 255) | 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev($3); + break; + } + if (($38 - $37 | 0) >>> 0 < $16 >>> 0) __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9__grow_byEmmmmmm($0, $38, $37 + $16 - $38 | 0, $37, $37, 0, 0); + if ((HEAP8[$5 >> 0] | 0) < 0) $46 = HEAP32[$0 >> 2] | 0; else $46 = $0; + $$0 = $46 + ($37 << 2) | 0; + $$034 = $1; + while (1) { + if (($$034 | 0) == ($2 | 0)) break; + __ZNSt3__211char_traitsIwE6assignERwRKw($$0, $$034); + $$0 = $$0 + 4 | 0; + $$034 = $$034 + 4 | 0; + } + HEAP32[$3 >> 2] = 0; + __ZNSt3__211char_traitsIwE6assignERwRKw($$0, $3); + $50 = $37 + $16 | 0; + if ((HEAP8[$5 >> 0] | 0) < 0) { + HEAP32[$0 + 4 >> 2] = $50; + break; + } else { + HEAP8[$5 >> 0] = $50; + break; + } + } while (0); + STACKTOP = sp; + return $0 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E18parseTemplateParamEv($0) { + $0 = $0 | 0; + var $$1 = 0, $$2 = 0, $1 = 0, $16 = 0, $18 = 0, $2 = 0, $21 = 0, $22 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp + 4 | 0; + $2 = sp; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 84) | 0) { + HEAP32[$1 >> 2] = 0; + if (!(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 95) | 0)) if (!(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E20parsePositiveIntegerEPm($0, $1) | 0) ? ($7 = (HEAP32[$1 >> 2] | 0) + 1 | 0, HEAP32[$1 >> 2] = $7, __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 95) | 0) : 0) { + $21 = $7; + label = 5; + } else $$1 = 0; else { + $21 = 0; + label = 5; + } + do if ((label | 0) == 5) { + if (HEAP8[$0 + 362 >> 0] | 0) { + $$1 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA5_KcEEEPNS0_4NodeEDpOT0_($0, 51573) | 0; + break; + } + if (HEAP8[$0 + 361 >> 0] | 0) { + $16 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_24ForwardTemplateReferenceEJRmEEEPNS0_4NodeEDpOT0_($0, $1) | 0; + HEAP32[$2 >> 2] = $16; + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_24ForwardTemplateReferenceELm4EE9push_backERKS3_($0 + 332 | 0, $2); + $$1 = $16; + break; + } + $18 = $0 + 288 | 0; + if ($21 >>> 0 < (__ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EE4sizeEv($18) | 0) >>> 0) { + $22 = __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EEixEm($18, $21) | 0; + $$1 = HEAP32[$22 >> 2] | 0; + } else $$1 = 0; + } while (0); + $$2 = $$1; + } else $$2 = 0; + STACKTOP = sp; + return $$2 | 0; +} + +function __ZN6vision18EstimateHomographyEPfRKNSt3__26vectorINS_12FeaturePointENS1_9allocatorIS3_EEEES8_RKNS2_INS_7match_tENS4_IS9_EEEERNS_16RobustHomographyIfEEii($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 = 0, $$036 = 0, $$cast = 0, $10 = 0, $20 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $28 = 0.0, $32 = 0.0, $38 = 0, $46 = 0, $7 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(64); + $7 = sp + 44 | 0; + $8 = sp + 32 | 0; + $9 = sp; + $10 = $3 + 4 | 0; + __ZNSt3__26vectorIN6vision7Point2dIfEENS_9allocatorIS3_EEEC2Em($7, (HEAP32[$10 >> 2] | 0) - (HEAP32[$3 >> 2] | 0) >> 3); + __ZNSt3__26vectorIN6vision7Point2dIfEENS_9allocatorIS3_EEEC2Em($8, (HEAP32[$10 >> 2] | 0) - (HEAP32[$3 >> 2] | 0) >> 3); + $20 = HEAP32[$3 >> 2] | 0; + $22 = (HEAP32[$10 >> 2] | 0) - $20 >> 3; + $$cast = $20; + $23 = HEAP32[$1 >> 2] | 0; + $24 = HEAP32[$8 >> 2] | 0; + $25 = HEAP32[$2 >> 2] | 0; + $26 = HEAP32[$7 >> 2] | 0; + $$0 = 0; + while (1) { + if (($$0 | 0) == ($22 | 0)) break; + $38 = HEAP32[$$cast + ($$0 << 3) >> 2] | 0; + HEAP32[$24 + ($$0 << 3) >> 2] = HEAP32[$23 + ($38 * 20 | 0) >> 2]; + HEAP32[$24 + ($$0 << 3) + 4 >> 2] = HEAP32[$23 + ($38 * 20 | 0) + 4 >> 2]; + $46 = HEAP32[$$cast + ($$0 << 3) + 4 >> 2] | 0; + HEAP32[$26 + ($$0 << 3) >> 2] = HEAP32[$25 + ($46 * 20 | 0) >> 2]; + HEAP32[$26 + ($$0 << 3) + 4 >> 2] = HEAP32[$25 + ($46 * 20 | 0) + 4 >> 2]; + $$0 = $$0 + 1 | 0; + } + HEAPF32[$9 >> 2] = 0.0; + HEAPF32[$9 + 4 >> 2] = 0.0; + $28 = +($5 | 0); + HEAPF32[$9 + 8 >> 2] = $28; + HEAPF32[$9 + 12 >> 2] = 0.0; + HEAPF32[$9 + 16 >> 2] = $28; + $32 = +($6 | 0); + HEAPF32[$9 + 20 >> 2] = $32; + HEAPF32[$9 + 24 >> 2] = 0.0; + HEAPF32[$9 + 28 >> 2] = $32; + if (__ZN6vision16RobustHomographyIfE4findEPfPKfS4_iS4_i($4, $0, $26, $24, $22, $9, 4) | 0) $$036 = __ZN6vision25CheckHomographyHeuristicsEPfii($0, $5, $6) | 0; else $$036 = 0; + __ZNSt3__213__vector_baseIN6vision7Point2dIfEENS_9allocatorIS3_EEED2Ev($8); + __ZNSt3__213__vector_baseIN6vision7Point2dIfEENS_9allocatorIS3_EEED2Ev($7); + STACKTOP = sp; + return $$036 | 0; +} + +function __ZN6vision21HoughSimilarityVoting4voteEPKfS2_i($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0, $$040 = 0, $$1 = 0, $10 = 0, $12 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $22 = 0, $23 = 0, $24 = 0, $4 = 0, $46 = 0, $5 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $4 = sp + 12 | 0; + $5 = sp + 8 | 0; + $6 = sp + 4 | 0; + $7 = sp; + __ZNSt3__212__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEELb1EEENS_21__unordered_map_equalIjS2_NS_8equal_toIjEELb1EEENS_9allocatorIS2_EEE5clearEv($0 + 92 | 0); + if ($3 | 0) { + $10 = $0 + 112 | 0; + __ZNSt3__26vectorIfNS_9allocatorIfEEE6resizeEm($10, $3 << 2); + $12 = $0 + 124 | 0; + __ZNSt3__26vectorIiNS_9allocatorIiEEE6resizeEm($12, $3); + if (HEAP8[$0 + 16 >> 0] | 0) __ZN6vision21HoughSimilarityVoting19autoAdjustXYNumBinsEPKfS2_i($0, $1, $2, $3); + $16 = $0 + 68 | 0; + $17 = $0 + 72 | 0; + $18 = $0 + 76 | 0; + $19 = $0 + 80 | 0; + $$0 = 0; + $$040 = 0; + while (1) { + if (($$040 | 0) >= ($3 | 0)) break; + $22 = $$040 << 2; + $23 = $1 + ($22 << 2) | 0; + $24 = $2 + ($22 << 2) | 0; + __ZNK6vision21HoughSimilarityVoting17mapCorrespondenceERfS1_S1_S1_ffffffff($0, $4, $5, $6, $7, +HEAPF32[$23 >> 2], +HEAPF32[$23 + 4 >> 2], +HEAPF32[$23 + 8 >> 2], +HEAPF32[$23 + 12 >> 2], +HEAPF32[$24 >> 2], +HEAPF32[$24 + 4 >> 2], +HEAPF32[$24 + 8 >> 2], +HEAPF32[$24 + 12 >> 2]); + if (__ZN6vision21HoughSimilarityVoting4voteEffff($0, +HEAPF32[$4 >> 2], +HEAPF32[$5 >> 2], +HEAPF32[$6 >> 2], +HEAPF32[$7 >> 2]) | 0) { + $46 = (HEAP32[$10 >> 2] | 0) + ($$0 << 2 << 2) | 0; + HEAP32[$46 >> 2] = HEAP32[$16 >> 2]; + HEAP32[$46 + 4 >> 2] = HEAP32[$17 >> 2]; + HEAP32[$46 + 8 >> 2] = HEAP32[$18 >> 2]; + HEAP32[$46 + 12 >> 2] = HEAP32[$19 >> 2]; + HEAP32[(HEAP32[$12 >> 2] | 0) + ($$0 << 2) >> 2] = $$040; + $$1 = $$0 + 1 | 0; + } else $$1 = $$0; + $$0 = $$1; + $$040 = $$040 + 1 | 0; + } + __ZNSt3__26vectorIfNS_9allocatorIfEEE6resizeEm($10, $$0 << 2); + __ZNSt3__26vectorIiNS_9allocatorIiEEE6resizeEm($12, $$0); + } + STACKTOP = sp; + return; +} + +function _format_message($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$042 = 0, $$042$in = 0, $$043 = 0, $$1 = 0, $13 = 0, $16 = 0, $2 = 0, $28 = 0, $36 = 0, $38 = 0, $4 = 0, $40 = 0, $42 = 0, $44 = 0, $46 = 0, $48 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $vararg_buffer1 = sp + 8 | 0; + $vararg_buffer = sp; + $2 = HEAP32[$0 >> 2] | 0; + $4 = HEAP32[$2 + 20 >> 2] | 0; + if (($4 | 0) > 0 ? ($4 | 0) <= (HEAP32[$2 + 116 >> 2] | 0) : 0) { + $$042$in = (HEAP32[$2 + 112 >> 2] | 0) + ($4 << 2) | 0; + label = 8; + } else { + $13 = HEAP32[$2 + 120 >> 2] | 0; + if ((($13 | 0) != 0 ? ($16 = HEAP32[$2 + 124 >> 2] | 0, ($4 | 0) >= ($16 | 0)) : 0) ? ($4 | 0) <= (HEAP32[$2 + 128 >> 2] | 0) : 0) { + $$042$in = $13 + ($4 - $16 << 2) | 0; + label = 8; + } else label = 9; + } + if ((label | 0) == 8) { + $$042 = HEAP32[$$042$in >> 2] | 0; + if (!$$042) label = 9; else $$1 = $$042; + } + if ((label | 0) == 9) { + HEAP32[$2 + 24 >> 2] = $4; + $$1 = HEAP32[HEAP32[$2 + 112 >> 2] >> 2] | 0; + } + $$043 = $$1; + L14 : while (1) { + $28 = $$043 + 1 | 0; + switch (HEAP8[$$043 >> 0] | 0) { + case 0: + { + break L14; + break; + } + case 37: + { + label = 12; + break L14; + break; + } + default: + $$043 = $28; + } + } + if ((label | 0) == 12 ? (HEAP8[$28 >> 0] | 0) == 115 : 0) { + HEAP32[$vararg_buffer >> 2] = $2 + 24; + _sprintf($1, $$1, $vararg_buffer) | 0; + STACKTOP = sp; + return; + } + $36 = HEAP32[$2 + 28 >> 2] | 0; + $38 = HEAP32[$2 + 32 >> 2] | 0; + $40 = HEAP32[$2 + 36 >> 2] | 0; + $42 = HEAP32[$2 + 40 >> 2] | 0; + $44 = HEAP32[$2 + 44 >> 2] | 0; + $46 = HEAP32[$2 + 48 >> 2] | 0; + $48 = HEAP32[$2 + 52 >> 2] | 0; + HEAP32[$vararg_buffer1 >> 2] = HEAP32[$2 + 24 >> 2]; + HEAP32[$vararg_buffer1 + 4 >> 2] = $36; + HEAP32[$vararg_buffer1 + 8 >> 2] = $38; + HEAP32[$vararg_buffer1 + 12 >> 2] = $40; + HEAP32[$vararg_buffer1 + 16 >> 2] = $42; + HEAP32[$vararg_buffer1 + 20 >> 2] = $44; + HEAP32[$vararg_buffer1 + 24 >> 2] = $46; + HEAP32[$vararg_buffer1 + 28 >> 2] = $48; + _sprintf($1, $$1, $vararg_buffer1) | 0; + STACKTOP = sp; + return; +} + +function __ZN6vision21OrientationAssignment16computeGradientsEPKNS_25GaussianScaleSpacePyramidE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $11 = 0, $13 = 0, $14 = 0, $2 = 0, $23 = 0, $28 = 0, $3 = 0, $32 = 0, $35 = 0, $36 = 0, $37 = 0, $4 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $2 = sp; + $3 = $0 + 40 | 0; + $$0 = 0; + while (1) { + $4 = __ZNK6vision25GaussianScaleSpacePyramid6imagesEv($1) | 0; + if ($$0 >>> 0 >= (HEAP32[$4 + 4 >> 2] | 0) - (HEAP32[$4 >> 2] | 0) >> 5 >>> 0) { + label = 3; + break; + } + $11 = __ZNK6vision25GaussianScaleSpacePyramid6imagesEv($1) | 0; + $13 = (HEAP32[$11 >> 2] | 0) + ($$0 << 5) | 0; + $14 = __ZNK6vision5Image5widthEv($13) | 0; + if (($14 | 0) != ((__ZNK6vision5Image4stepEv($13) | 0) >>> 2 | 0)) { + label = 5; + break; + } + $35 = __ZN6vision5Image3getIfEEPT_v((HEAP32[$3 >> 2] | 0) + ($$0 << 5) | 0) | 0; + $36 = __ZNK6vision5Image3getIfEEPKT_v($13) | 0; + $37 = __ZNK6vision5Image5widthEv($13) | 0; + __ZN6vision21ComputePolarGradientsEPfPKfmm($35, $36, $37, __ZNK6vision5Image6heightEv($13) | 0); + $$0 = $$0 + 1 | 0; + } + if ((label | 0) == 3) { + STACKTOP = sp; + return; + } else if ((label | 0) == 5) { + $23 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 31856) | 0, 31917) | 0, 39072) | 0, 96) | 0, 39079) | 0, 32006) | 0; + __ZNKSt3__28ios_base6getlocEv($2, $23 + (HEAP32[(HEAP32[$23 >> 2] | 0) + -12 >> 2] | 0) | 0); + $28 = __ZNKSt3__26locale9use_facetERNS0_2idE($2, 66512) | 0; + $32 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$28 >> 2] | 0) + 28 >> 2] & 127]($28, 10) | 0; + __ZNSt3__26localeD2Ev($2); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($23, $32) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($23) | 0; + _abort(); + } +} + +function ___shgetc($0) { + $0 = $0 | 0; + var $$0 = 0, $$phi$trans$insert28 = 0, $$pre = 0, $1 = 0, $12 = 0, $17 = 0, $2 = 0, $23 = 0, $26 = 0, $28 = 0, $31 = 0, $37 = 0, $39 = 0, $4 = 0, $41 = 0, $43 = 0, $49 = 0, $50 = 0, $56 = 0, $62 = 0, $63 = 0, $66 = 0, $69 = 0, $7 = 0, $70 = 0, $76 = 0, $77 = 0, $78 = 0, $83 = 0, $84 = 0, $89 = 0, label = 0; + $1 = $0 + 112 | 0; + $2 = $1; + $4 = HEAP32[$2 >> 2] | 0; + $7 = HEAP32[$2 + 4 >> 2] | 0; + if (!(($4 | 0) == 0 & ($7 | 0) == 0) ? ($12 = $0 + 120 | 0, $17 = HEAP32[$12 + 4 >> 2] | 0, !(($17 | 0) < ($7 | 0) | (($17 | 0) == ($7 | 0) ? (HEAP32[$12 >> 2] | 0) >>> 0 < $4 >>> 0 : 0))) : 0) label = 4; else { + $23 = ___uflow($0) | 0; + if (($23 | 0) >= 0) { + $26 = $1; + $28 = HEAP32[$26 >> 2] | 0; + $31 = HEAP32[$26 + 4 >> 2] | 0; + $$pre = HEAP32[$0 + 8 >> 2] | 0; + if (!(($28 | 0) == 0 & ($31 | 0) == 0)) { + $37 = HEAP32[$0 + 4 >> 2] | 0; + $39 = $$pre - $37 | 0; + $41 = (($39 | 0) < 0) << 31 >> 31; + $43 = $0 + 120 | 0; + $49 = _i64Subtract($28 | 0, $31 | 0, HEAP32[$43 >> 2] | 0, HEAP32[$43 + 4 >> 2] | 0) | 0; + $50 = getTempRet0() | 0; + $56 = $$pre; + if (($50 | 0) > ($41 | 0) | ($50 | 0) == ($41 | 0) & $49 >>> 0 > $39 >>> 0) { + $89 = $56; + label = 9; + } else { + HEAP32[$0 + 104 >> 2] = $37 + ($49 + -1); + $62 = $56; + } + } else { + $89 = $$pre; + label = 9; + } + if ((label | 0) == 9) { + HEAP32[$0 + 104 >> 2] = $$pre; + $62 = $89; + } + $$phi$trans$insert28 = $0 + 4 | 0; + if (!$62) $84 = HEAP32[$$phi$trans$insert28 >> 2] | 0; else { + $63 = HEAP32[$$phi$trans$insert28 >> 2] | 0; + $66 = $62 + 1 - $63 | 0; + $69 = $0 + 120 | 0; + $70 = $69; + $76 = _i64Add(HEAP32[$70 >> 2] | 0, HEAP32[$70 + 4 >> 2] | 0, $66 | 0, (($66 | 0) < 0) << 31 >> 31 | 0) | 0; + $77 = getTempRet0() | 0; + $78 = $69; + HEAP32[$78 >> 2] = $76; + HEAP32[$78 + 4 >> 2] = $77; + $84 = $63; + } + $83 = $84 + -1 | 0; + if (($23 | 0) == (HEAPU8[$83 >> 0] | 0 | 0)) $$0 = $23; else { + HEAP8[$83 >> 0] = $23; + $$0 = $23; + } + } else label = 4; + } + if ((label | 0) == 4) { + HEAP32[$0 + 104 >> 2] = 0; + $$0 = -1; + } + return $$0 | 0; +} + +function _memcpy(dest, src, num) { + dest = dest | 0; + src = src | 0; + num = num | 0; + var ret = 0, aligned_dest_end = 0, block_aligned_dest_end = 0, dest_end = 0; + if ((num | 0) >= 8192) { + _emscripten_memcpy_big(dest | 0, src | 0, num | 0) | 0; + return dest | 0; + } + ret = dest | 0; + dest_end = dest + num | 0; + if ((dest & 3) == (src & 3)) { + while (dest & 3) { + if (!num) 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]; + HEAP32[dest + 4 >> 2] = HEAP32[src + 4 >> 2]; + HEAP32[dest + 8 >> 2] = HEAP32[src + 8 >> 2]; + HEAP32[dest + 12 >> 2] = HEAP32[src + 12 >> 2]; + HEAP32[dest + 16 >> 2] = HEAP32[src + 16 >> 2]; + HEAP32[dest + 20 >> 2] = HEAP32[src + 20 >> 2]; + HEAP32[dest + 24 >> 2] = HEAP32[src + 24 >> 2]; + HEAP32[dest + 28 >> 2] = HEAP32[src + 28 >> 2]; + HEAP32[dest + 32 >> 2] = HEAP32[src + 32 >> 2]; + HEAP32[dest + 36 >> 2] = HEAP32[src + 36 >> 2]; + HEAP32[dest + 40 >> 2] = HEAP32[src + 40 >> 2]; + HEAP32[dest + 44 >> 2] = HEAP32[src + 44 >> 2]; + HEAP32[dest + 48 >> 2] = HEAP32[src + 48 >> 2]; + HEAP32[dest + 52 >> 2] = HEAP32[src + 52 >> 2]; + HEAP32[dest + 56 >> 2] = HEAP32[src + 56 >> 2]; + HEAP32[dest + 60 >> 2] = HEAP32[src + 60 >> 2]; + dest = dest + 64 | 0; + src = src + 64 | 0; + } + while ((dest | 0) < (aligned_dest_end | 0)) { + HEAP32[dest >> 2] = HEAP32[src >> 2]; + dest = dest + 4 | 0; + src = src + 4 | 0; + } + } else { + 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; + } + } + 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 __ZNSt3__26vectorIN6vision12FeaturePointENS_9allocatorIS2_EEE6assignIPS2_EENS_9enable_ifIXaasr21__is_forward_iteratorIT_EE5valuesr16is_constructibleIS2_NS_15iterator_traitsIS9_E9referenceEEE5valueEvE4typeES9_S9_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0$i$i = 0, $13 = 0, $14 = 0, $17 = 0, $18 = 0, $21 = 0, $25 = 0, $33 = 0, $34 = 0, $39 = 0, $4 = 0, $42 = 0, $6 = 0, $7 = 0, $9 = 0, $spec$select = 0; + $4 = $1; + $6 = ($2 - $4 | 0) / 20 | 0; + $7 = $0 + 8 | 0; + $9 = HEAP32[$0 >> 2] | 0; + $13 = $9; + do if ($6 >>> 0 > (((HEAP32[$7 >> 2] | 0) - $9 | 0) / 20 | 0) >>> 0) { + __ZNSt3__26vectorIN6vision12FeaturePointENS_9allocatorIS2_EEE13__vdeallocateEv($0); + $34 = __ZNKSt3__26vectorIN6vision12FeaturePointENS_9allocatorIS2_EEE8max_sizeEv($0) | 0; + if ($34 >>> 0 < $6 >>> 0) __ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv($0); else { + $39 = ((HEAP32[$7 >> 2] | 0) - (HEAP32[$0 >> 2] | 0) | 0) / 20 | 0; + $42 = $39 << 1; + __ZNSt3__26vectorIN6vision12FeaturePointENS_9allocatorIS2_EEE11__vallocateEm($0, $39 >>> 0 < $34 >>> 1 >>> 0 ? ($42 >>> 0 < $6 >>> 0 ? $6 : $42) : $34); + __ZNSt3__26vectorIN6vision12FeaturePointENS_9allocatorIS2_EEE18__construct_at_endIPS2_EENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeES9_S9_m($0, $1, $2, $6); + break; + } + } else { + $14 = $0 + 4 | 0; + $17 = ((HEAP32[$14 >> 2] | 0) - $9 | 0) / 20 | 0; + $18 = $6 >>> 0 > $17 >>> 0; + $spec$select = $18 ? $1 + ($17 * 20 | 0) | 0 : $2; + $21 = $spec$select - $4 | 0; + if ($21 | 0) _memmove($9 | 0, $1 | 0, $21 | 0) | 0; + $25 = $13 + ((($21 | 0) / 20 | 0) * 20 | 0) | 0; + if ($18) { + __ZNSt3__26vectorIN6vision12FeaturePointENS_9allocatorIS2_EEE18__construct_at_endIPS2_EENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeES9_S9_m($0, $spec$select, $2, $6 - (((HEAP32[$14 >> 2] | 0) - (HEAP32[$0 >> 2] | 0) | 0) / 20 | 0) | 0); + break; + } + $$0$i$i = HEAP32[$14 >> 2] | 0; + while (1) { + if (($$0$i$i | 0) == ($25 | 0)) break; + $33 = $$0$i$i + -20 | 0; + __ZN6vision12FeaturePointD2Ev($33); + $$0$i$i = $33; + } + HEAP32[$14 >> 2] = $25; + } while (0); + return; +} + +function __ZL18genBWImageTwoThirdPhiiPiS0_($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0 = 0, $$073 = 0, $$074 = 0, $$077 = 0, $$078 = 0, $$079 = 0, $$1 = 0, $$176 = 0, $$pn = 0, $10 = 0, $13 = 0, $25 = 0, $34 = 0, $5 = 0, $51 = 0, $6 = 0, $7 = 0, $71 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $5 = ($1 | 0) / 3 | 0; + $6 = $5 << 1; + HEAP32[$3 >> 2] = $6; + $7 = ($2 | 0) / 3 | 0; + $8 = $7 << 1; + HEAP32[$4 >> 2] = $8; + $10 = _malloc(Math_imul($8, $6) | 0) | 0; + if (!$10) { + _arLog(0, 3, 45930, sp); + _exit(1); + } + $$0 = 0; + $$074 = $10; + $$pn = $10; + while (1) { + if (($$0 | 0) >= ($7 | 0)) break; + $13 = $$0 * 3 | 0; + $$073 = 0; + $$077 = $0 + (Math_imul($13 + 2 | 0, $1) | 0) | 0; + $$078 = $0 + (Math_imul($13 + 1 | 0, $1) | 0) | 0; + $$079 = $0 + (Math_imul($13, $1) | 0) | 0; + $$1 = $$074; + $$176 = $$pn + $6 | 0; + while (1) { + if (($$073 | 0) >= ($5 | 0)) break; + $25 = $$079 + 1 | 0; + $34 = $$078 + 1 | 0; + HEAP8[$$1 >> 0] = (((HEAPU8[$25 >> 0] | 0) >>> 1 & 255) + (HEAPU8[$$079 >> 0] | 0) + ((HEAPU8[$$078 >> 0] | 0) >>> 1 & 255) + ((HEAPU8[$34 >> 0] | 0) >>> 2 & 255) << 2 >>> 0) / 9 | 0; + $51 = $$077 + 1 | 0; + HEAP8[$$176 >> 0] = ((((HEAPU8[$34 >> 0] | 0) >>> 2) + ((HEAPU8[$$078 >> 0] | 0) >>> 1) & 255) + (HEAPU8[$$077 >> 0] | 0) + ((HEAPU8[$51 >> 0] | 0) >>> 1 & 255) << 2 >>> 0) / 9 | 0; + $71 = $$078 + 2 | 0; + HEAP8[$$1 + 1 >> 0] = (((HEAPU8[$25 >> 0] | 0) >>> 1 & 255) + (HEAPU8[$$079 + 2 >> 0] | 0) + ((HEAPU8[$34 >> 0] | 0) >>> 2 & 255) + ((HEAPU8[$71 >> 0] | 0) >>> 1 & 255) << 2 >>> 0) / 9 | 0; + HEAP8[$$176 + 1 >> 0] = ((((HEAPU8[$71 >> 0] | 0) >>> 1) + ((HEAPU8[$34 >> 0] | 0) >>> 2) & 255) + ((HEAPU8[$51 >> 0] | 0) >>> 1 & 255) + (HEAPU8[$$077 + 2 >> 0] | 0) << 2 >>> 0) / 9 | 0; + $$073 = $$073 + 1 | 0; + $$077 = $$077 + 3 | 0; + $$078 = $$078 + 3 | 0; + $$079 = $$079 + 3 | 0; + $$1 = $$1 + 2 | 0; + $$176 = $$176 + 2 | 0; + } + $$0 = $$0 + 1 | 0; + $$074 = $$1 + $6 | 0; + $$pn = $$176; + } + STACKTOP = sp; + return $10 | 0; +} + +function __ZN6vision16MatrixInverse3x3IfEEbPT_PKS1_S1_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = +$2; + var $$0 = 0, $11 = 0, $13 = 0, $16 = 0.0, $17 = 0, $19 = 0, $24 = 0.0, $3 = 0.0, $31 = 0.0, $34 = 0, $37 = 0, $40 = 0.0, $47 = 0.0, $54 = 0.0, $6 = 0.0, $61 = 0.0, $68 = 0.0, $7 = 0, $75 = 0.0, $9 = 0; + $3 = +__ZN6vision14Determinant3x3IfEET_PKS1_($1); + if (!(+Math_abs(+$3) <= $2)) { + $6 = 1.0 / $3; + $7 = $1 + 16 | 0; + $9 = $1 + 20 | 0; + $11 = $1 + 28 | 0; + $13 = $1 + 32 | 0; + $16 = $6 * +__ZN6vision11Cofactor2x2IfEET_S1_S1_S1_S1_(+HEAPF32[$7 >> 2], +HEAPF32[$9 >> 2], +HEAPF32[$11 >> 2], +HEAPF32[$13 >> 2]); + HEAPF32[$0 >> 2] = $16; + $17 = $1 + 8 | 0; + $19 = $1 + 4 | 0; + $24 = $6 * +__ZN6vision11Cofactor2x2IfEET_S1_S1_S1_S1_(+HEAPF32[$17 >> 2], +HEAPF32[$19 >> 2], +HEAPF32[$13 >> 2], +HEAPF32[$11 >> 2]); + HEAPF32[$0 + 4 >> 2] = $24; + $31 = $6 * +__ZN6vision11Cofactor2x2IfEET_S1_S1_S1_S1_(+HEAPF32[$19 >> 2], +HEAPF32[$17 >> 2], +HEAPF32[$7 >> 2], +HEAPF32[$9 >> 2]); + HEAPF32[$0 + 8 >> 2] = $31; + $34 = $1 + 12 | 0; + $37 = $1 + 24 | 0; + $40 = $6 * +__ZN6vision11Cofactor2x2IfEET_S1_S1_S1_S1_(+HEAPF32[$9 >> 2], +HEAPF32[$34 >> 2], +HEAPF32[$13 >> 2], +HEAPF32[$37 >> 2]); + HEAPF32[$0 + 12 >> 2] = $40; + $47 = $6 * +__ZN6vision11Cofactor2x2IfEET_S1_S1_S1_S1_(+HEAPF32[$1 >> 2], +HEAPF32[$17 >> 2], +HEAPF32[$37 >> 2], +HEAPF32[$13 >> 2]); + HEAPF32[$0 + 16 >> 2] = $47; + $54 = $6 * +__ZN6vision11Cofactor2x2IfEET_S1_S1_S1_S1_(+HEAPF32[$17 >> 2], +HEAPF32[$1 >> 2], +HEAPF32[$9 >> 2], +HEAPF32[$34 >> 2]); + HEAPF32[$0 + 20 >> 2] = $54; + $61 = $6 * +__ZN6vision11Cofactor2x2IfEET_S1_S1_S1_S1_(+HEAPF32[$34 >> 2], +HEAPF32[$7 >> 2], +HEAPF32[$37 >> 2], +HEAPF32[$11 >> 2]); + HEAPF32[$0 + 24 >> 2] = $61; + $68 = $6 * +__ZN6vision11Cofactor2x2IfEET_S1_S1_S1_S1_(+HEAPF32[$19 >> 2], +HEAPF32[$1 >> 2], +HEAPF32[$11 >> 2], +HEAPF32[$37 >> 2]); + HEAPF32[$0 + 28 >> 2] = $68; + $75 = $6 * +__ZN6vision11Cofactor2x2IfEET_S1_S1_S1_S1_(+HEAPF32[$1 >> 2], +HEAPF32[$19 >> 2], +HEAPF32[$34 >> 2], +HEAPF32[$7 >> 2]); + HEAPF32[$0 + 32 >> 2] = $75; + $$0 = 1; + } else $$0 = 0; + return $$0 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle27ExpandedSpecialSubstitution9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy5 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(64); + $$byval_copy5 = sp + 48 | 0; + $2 = sp + 40 | 0; + $3 = sp + 32 | 0; + $4 = sp + 24 | 0; + $5 = sp + 16 | 0; + $6 = sp + 8 | 0; + $7 = sp; + switch (HEAP32[$0 + 8 >> 2] | 0) { + case 0: + { + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 51758); + HEAP32[$$byval_copy5 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy5 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy5); + break; + } + case 1: + { + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, 51773); + HEAP32[$$byval_copy5 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy5 + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy5); + break; + } + case 2: + { + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, 55532); + HEAP32[$$byval_copy5 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy5 + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy5); + break; + } + case 3: + { + __ZN12_GLOBAL__N_110StringViewC2EPKc($5, 55603); + HEAP32[$$byval_copy5 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$$byval_copy5 + 4 >> 2] = HEAP32[$5 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy5); + break; + } + case 4: + { + __ZN12_GLOBAL__N_110StringViewC2EPKc($6, 55653); + HEAP32[$$byval_copy5 >> 2] = HEAP32[$6 >> 2]; + HEAP32[$$byval_copy5 + 4 >> 2] = HEAP32[$6 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy5); + break; + } + case 5: + { + __ZN12_GLOBAL__N_110StringViewC2EPKc($7, 55703); + HEAP32[$$byval_copy5 >> 2] = HEAP32[$7 >> 2]; + HEAP32[$$byval_copy5 + 4 >> 2] = HEAP32[$7 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy5); + break; + } + default: + {} + } + STACKTOP = sp; + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle19SpecialSubstitution9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy5 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(64); + $$byval_copy5 = sp + 48 | 0; + $2 = sp + 40 | 0; + $3 = sp + 32 | 0; + $4 = sp + 24 | 0; + $5 = sp + 16 | 0; + $6 = sp + 8 | 0; + $7 = sp; + switch (HEAP32[$0 + 8 >> 2] | 0) { + case 0: + { + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 51758); + HEAP32[$$byval_copy5 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy5 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy5); + break; + } + case 1: + { + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, 51773); + HEAP32[$$byval_copy5 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy5 + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy5); + break; + } + case 2: + { + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, 57179); + HEAP32[$$byval_copy5 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy5 + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy5); + break; + } + case 3: + { + __ZN12_GLOBAL__N_110StringViewC2EPKc($5, 51791); + HEAP32[$$byval_copy5 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$$byval_copy5 + 4 >> 2] = HEAP32[$5 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy5); + break; + } + case 4: + { + __ZN12_GLOBAL__N_110StringViewC2EPKc($6, 51804); + HEAP32[$$byval_copy5 >> 2] = HEAP32[$6 >> 2]; + HEAP32[$$byval_copy5 + 4 >> 2] = HEAP32[$6 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy5); + break; + } + case 5: + { + __ZN12_GLOBAL__N_110StringViewC2EPKc($7, 51817); + HEAP32[$$byval_copy5 >> 2] = HEAP32[$7 >> 2]; + HEAP32[$$byval_copy5 + 4 >> 2] = HEAP32[$7 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy5); + break; + } + default: + {} + } + STACKTOP = sp; + return; +} + +function __ZNSt3__210__stdinbufIwE9pbackfailEj($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$07 = 0, $$1 = 0, $$pre$phiZ2D = 0, $10 = 0, $12 = 0, $16 = 0, $17 = 0, $19 = 0, $2 = 0, $21 = 0, $3 = 0, $33 = 0, $34 = 0, $36 = 0, $4 = 0, $5 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp + 16 | 0; + $3 = sp + 8 | 0; + $4 = sp + 4 | 0; + $5 = sp; + $7 = __ZNSt3__211char_traitsIwE11eq_int_typeEjj($1, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0; + $8 = $0 + 52 | 0; + $10 = (HEAP8[$8 >> 0] | 0) != 0; + do if ($7) if ($10) $$1 = $1; else { + $12 = HEAP32[$0 + 48 >> 2] | 0; + $16 = ((__ZNSt3__211char_traitsIwE11eq_int_typeEjj($12, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) ^ 1) & 1; + HEAP8[$8 >> 0] = $16; + $$1 = $12; + } else { + if ($10) { + $17 = $0 + 48 | 0; + $19 = __ZNSt3__211char_traitsIwE12to_char_typeEj(HEAP32[$17 >> 2] | 0) | 0; + HEAP32[$4 >> 2] = $19; + $21 = HEAP32[$0 + 36 >> 2] | 0; + switch (FUNCTION_TABLE_iiiiiiiii[HEAP32[(HEAP32[$21 >> 2] | 0) + 12 >> 2] & 15]($21, HEAP32[$0 + 40 >> 2] | 0, $4, $4 + 4 | 0, $5, $2, $2 + 8 | 0, $3) | 0) { + case 1: + case 2: + { + label = 11; + break; + } + case 3: + { + HEAP8[$2 >> 0] = HEAP32[$17 >> 2]; + HEAP32[$3 >> 2] = $2 + 1; + label = 8; + break; + } + default: + label = 8; + } + L9 : do if ((label | 0) == 8) { + $33 = $0 + 32 | 0; + while (1) { + $34 = HEAP32[$3 >> 2] | 0; + if ($34 >>> 0 <= $2 >>> 0) { + $$0 = 1; + $$07 = 0; + break L9; + } + $36 = $34 + -1 | 0; + HEAP32[$3 >> 2] = $36; + if ((_ungetc(HEAP8[$36 >> 0] | 0, HEAP32[$33 >> 2] | 0) | 0) == -1) { + label = 11; + break; + } + } + } while (0); + if ((label | 0) == 11) { + $$0 = 0; + $$07 = __ZNSt3__211char_traitsIwE3eofEv() | 0; + } + if ($$0) $$pre$phiZ2D = $17; else { + $$1 = $$07; + break; + } + } else $$pre$phiZ2D = $0 + 48 | 0; + HEAP32[$$pre$phiZ2D >> 2] = $1; + HEAP8[$8 >> 0] = 1; + $$1 = $1; + } while (0); + STACKTOP = sp; + return $$1 | 0; +} + +function __ZNSt3__210__stdinbufIcE9pbackfailEi($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$07 = 0, $$1 = 0, $$pre$phiZ2D = 0, $10 = 0, $12 = 0, $16 = 0, $17 = 0, $19 = 0, $2 = 0, $21 = 0, $3 = 0, $33 = 0, $34 = 0, $36 = 0, $4 = 0, $5 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp + 16 | 0; + $3 = sp + 4 | 0; + $4 = sp + 8 | 0; + $5 = sp; + $7 = __ZNSt3__211char_traitsIcE11eq_int_typeEii($1, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0; + $8 = $0 + 52 | 0; + $10 = (HEAP8[$8 >> 0] | 0) != 0; + do if ($7) if ($10) $$1 = $1; else { + $12 = HEAP32[$0 + 48 >> 2] | 0; + $16 = ((__ZNSt3__211char_traitsIcE11eq_int_typeEii($12, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) ^ 1) & 1; + HEAP8[$8 >> 0] = $16; + $$1 = $12; + } else { + if ($10) { + $17 = $0 + 48 | 0; + $19 = __ZNSt3__211char_traitsIcE12to_char_typeEi(HEAP32[$17 >> 2] | 0) | 0; + HEAP8[$4 >> 0] = $19; + $21 = HEAP32[$0 + 36 >> 2] | 0; + switch (FUNCTION_TABLE_iiiiiiiii[HEAP32[(HEAP32[$21 >> 2] | 0) + 12 >> 2] & 15]($21, HEAP32[$0 + 40 >> 2] | 0, $4, $4 + 1 | 0, $5, $2, $2 + 8 | 0, $3) | 0) { + case 1: + case 2: + { + label = 11; + break; + } + case 3: + { + HEAP8[$2 >> 0] = HEAP32[$17 >> 2]; + HEAP32[$3 >> 2] = $2 + 1; + label = 8; + break; + } + default: + label = 8; + } + L9 : do if ((label | 0) == 8) { + $33 = $0 + 32 | 0; + while (1) { + $34 = HEAP32[$3 >> 2] | 0; + if ($34 >>> 0 <= $2 >>> 0) { + $$0 = 1; + $$07 = 0; + break L9; + } + $36 = $34 + -1 | 0; + HEAP32[$3 >> 2] = $36; + if ((_ungetc(HEAP8[$36 >> 0] | 0, HEAP32[$33 >> 2] | 0) | 0) == -1) { + label = 11; + break; + } + } + } while (0); + if ((label | 0) == 11) { + $$0 = 0; + $$07 = __ZNSt3__211char_traitsIcE3eofEv() | 0; + } + if ($$0) $$pre$phiZ2D = $17; else { + $$1 = $$07; + break; + } + } else $$pre$phiZ2D = $0 + 48 | 0; + HEAP32[$$pre$phiZ2D >> 2] = $1; + HEAP8[$8 >> 0] = 1; + $$1 = $1; + } while (0); + STACKTOP = sp; + return $$1 | 0; +} + +function _ar2GetBestMatchingSubFineOpt($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + $9 = $9 | 0; + var $$0 = 0, $$090 = 0, $$091 = 0, $$094 = 0, $$095 = 0, $$1 = 0, $$193 = 0, $$196 = 0, $14 = 0, $16 = 0, $17 = 0, $18 = 0, $27 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $37 = 0, $39 = 0, $40 = 0, $41 = 0, $44 = 0, $48 = 0, $52 = 0, $55 = 0, $68 = 0, $71 = 0, $78 = 0, $storemerge = 0; + $14 = $0 + ((Math_imul($3, $1) | 0) + $2) | 0; + $16 = HEAP32[$4 + 4 >> 2] | 0; + $17 = $1 << 1; + $18 = HEAP32[$4 >> 2] | 0; + $$0 = 0; + $$091 = HEAP32[$4 + 24 >> 2] | 0; + $$094 = $14; + $$095 = 0; + while (1) { + if (($$0 | 0) >= ($16 | 0)) break; + $$090 = 0; + $$1 = $$091; + $$193 = $$094; + $$196 = $$095; + while (1) { + if (($$090 | 0) >= ($18 | 0)) break; + $27 = (Math_imul(HEAPU16[$$1 >> 1] | 0, HEAPU8[$$193 >> 0] | 0) | 0) + $$196 | 0; + $$090 = $$090 + 1 | 0; + $$1 = $$1 + 2 | 0; + $$193 = $$193 + 2 | 0; + $$196 = $27; + } + $$0 = $$0 + 1 | 0; + $$091 = $$1; + $$094 = $$094 + $17 | 0; + $$095 = $$196; + } + $32 = $18 << 1; + $33 = $32 + 8 | 0; + $34 = $7 + -2 | 0; + $35 = $34 + $32 | 0; + $37 = $8 + -2 | 0; + $39 = Math_imul($33, $37 + ($16 << 1) | 0) | 0; + $40 = Math_imul($33, $37) | 0; + $41 = $39 + $35 | 0; + $44 = $40 + $34 | 0; + $48 = $39 + $34 | 0; + $52 = $40 + $35 | 0; + $55 = (HEAP32[$5 + ($44 << 2) >> 2] | 0) + (HEAP32[$5 + ($41 << 2) >> 2] | 0) - (HEAP32[$5 + ($48 << 2) >> 2] | 0) - (HEAP32[$5 + ($52 << 2) >> 2] | 0) | 0; + $68 = HEAP32[$4 + 36 >> 2] | 0; + $71 = (HEAP32[$6 + ($44 << 2) >> 2] | 0) + (HEAP32[$6 + ($41 << 2) >> 2] | 0) - (HEAP32[$6 + ($48 << 2) >> 2] | 0) - (HEAP32[$6 + ($52 << 2) >> 2] | 0) - ((Math_imul($55, $55) | 0) / ($68 | 0) | 0) | 0; + if (!$71) $storemerge = 0; else { + $78 = ($$095 - ((Math_imul(HEAP32[$4 + 32 >> 2] | 0, $55) | 0) / ($68 | 0) | 0) | 0) * 100 | 0; + $storemerge = ((($78 | 0) / (HEAP32[$4 + 28 >> 2] | 0) | 0) * 100 | 0) / (~~+Math_sqrt(+(+($71 | 0))) | 0) | 0; + } + HEAP32[$9 >> 2] = $storemerge; + return; +} + +function _jpeg_huff_decode($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0$lcssa = 0, $$042$lcssa = 0, $$04254 = 0, $$043 = 0, $$044 = 0, $$045 = 0, $$055 = 0, $$1$lcssa = 0, $$146$lcssa = 0, $$14652 = 0, $$153 = 0, $$2 = 0, $$247 = 0, $12 = 0, $16 = 0, $20 = 0, $21 = 0, $22 = 0, $28 = 0, $31 = 0, $32 = 0, $38 = 0, $39 = 0; + do if (($2 | 0) < ($4 | 0)) if (!(_jpeg_fill_bit_buffer($0, $1, $2, $4) | 0)) { + $$043 = -1; + return $$043 | 0; + } else { + $$044 = HEAP32[$0 + 8 >> 2] | 0; + $$045 = HEAP32[$0 + 12 >> 2] | 0; + break; + } else { + $$044 = $1; + $$045 = $2; + } while (0); + $12 = $$045 - $4 | 0; + $16 = $$044 >> $12 & HEAP32[5184 + ($4 << 2) >> 2]; + $20 = $0 + 8 | 0; + $21 = $0 + 12 | 0; + L7 : do if (($16 | 0) > (HEAP32[$3 + ($4 << 2) >> 2] | 0)) { + $$04254 = $4; + $$055 = $16; + $$14652 = $12; + $$153 = $$044; + while (1) { + $22 = $$055 << 1; + if (($$14652 | 0) < 1) { + if (!(_jpeg_fill_bit_buffer($0, $$153, $$14652, 1) | 0)) { + $$043 = -1; + break; + } + $$2 = HEAP32[$20 >> 2] | 0; + $$247 = HEAP32[$21 >> 2] | 0; + } else { + $$2 = $$153; + $$247 = $$14652; + } + $28 = $$247 + -1 | 0; + $31 = $$2 >>> $28 & 1 | $22; + $32 = $$04254 + 1 | 0; + if (($31 | 0) > (HEAP32[$3 + ($32 << 2) >> 2] | 0)) { + $$04254 = $32; + $$055 = $31; + $$14652 = $28; + $$153 = $$2; + } else { + $$0$lcssa = $31; + $$042$lcssa = $32; + $$1$lcssa = $$2; + $$146$lcssa = $28; + break L7; + } + } + return $$043 | 0; + } else { + $$0$lcssa = $16; + $$042$lcssa = $4; + $$1$lcssa = $$044; + $$146$lcssa = $12; + } while (0); + HEAP32[$20 >> 2] = $$1$lcssa; + HEAP32[$21 >> 2] = $$146$lcssa; + if (($$042$lcssa | 0) > 16) { + $38 = HEAP32[$0 + 16 >> 2] | 0; + $39 = HEAP32[$38 >> 2] | 0; + HEAP32[$39 + 20 >> 2] = 121; + FUNCTION_TABLE_vii[HEAP32[$39 + 4 >> 2] & 255]($38, -1); + $$043 = 0; + return $$043 | 0; + } else { + $$043 = HEAPU8[(HEAP32[$3 + 72 + ($$042$lcssa << 2) >> 2] | 0) + $$0$lcssa + ((HEAP32[$3 + 140 >> 2] | 0) + 17) >> 0] | 0; + return $$043 | 0; + } + return 0; +} + +function _addMultiMarker($id, $patt_name) { + $id = $id | 0; + $patt_name = $patt_name | 0; + var $14 = 0, $15 = 0, $3 = 0, $9 = 0, $__end_$i8 = 0, $arMultiMarkerHandle = 0, $call7 = 0, $cond$i$i$i = 0, $id$addr = 0, $marker = 0, $multi_markers = 0, $retval$1 = 0, $vararg_buffer = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $vararg_buffer = sp + 8 | 0; + $id$addr = sp + 12 | 0; + $marker = sp; + HEAP32[$id$addr >> 2] = $id; + do if (!(__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0)) $retval$1 = -1; else { + $call7 = __ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0; + if ((HEAP8[$patt_name + 11 >> 0] | 0) < 0) $cond$i$i$i = HEAP32[$patt_name >> 2] | 0; else $cond$i$i$i = $patt_name; + $arMultiMarkerHandle = $call7 + 224 | 0; + if (!(__ZL15loadMultiMarkerPKcP8ARHandlePP12ARPattHandlePP18ARMultiMarkerInfoT($cond$i$i$i, HEAP32[$call7 + 216 >> 2] | 0, $call7 + 220 | 0, $arMultiMarkerHandle) | 0)) { + _arLog(0, 3, 45229, $vararg_buffer); + $retval$1 = -1; + break; + } + $multi_markers = $call7 + 328 | 0; + $__end_$i8 = $call7 + 332 | 0; + $3 = HEAP32[$__end_$i8 >> 2] | 0; + HEAP32[$marker >> 2] = $3 - (HEAP32[$multi_markers >> 2] | 0) >> 3; + HEAP32[$marker + 4 >> 2] = HEAP32[$arMultiMarkerHandle >> 2]; + if ((HEAP32[$call7 + 336 >> 2] | 0) == ($3 | 0)) __ZNSt3__26vectorI12multi_markerNS_9allocatorIS1_EEE21__push_back_slow_pathIRKS1_EEvOT_($multi_markers, $marker); else { + $9 = $marker; + $14 = HEAP32[$9 + 4 >> 2] | 0; + $15 = $3; + HEAP32[$15 >> 2] = HEAP32[$9 >> 2]; + HEAP32[$15 + 4 >> 2] = $14; + HEAP32[$__end_$i8 >> 2] = (HEAP32[$__end_$i8 >> 2] | 0) + 8; + } + $retval$1 = HEAP32[$marker >> 2] | 0; + } while (0); + STACKTOP = sp; + return $retval$1 | 0; +} + +function _fgets($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$05963 = 0, $$06065 = 0, $$06164 = 0, $$1 = 0, $11 = 0, $16 = 0, $19 = 0, $20 = 0, $21 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $30 = 0, $32 = 0, $34 = 0, $35 = 0, $36 = 0, $43 = 0, $50 = 0, $51 = 0, $7 = 0, $9 = 0, label = 0; + if ((HEAP32[$2 + 76 >> 2] | 0) > -1) $16 = ___lockfile($2) | 0; else $16 = 0; + $7 = $1 + -1 | 0; + if (($1 | 0) < 2) { + $9 = $2 + 74 | 0; + $11 = HEAP8[$9 >> 0] | 0; + HEAP8[$9 >> 0] = $11 + 255 | $11; + if ($16 | 0) ___unlockfile($2); + if (!$7) { + HEAP8[$0 >> 0] = 0; + $$0 = $0; + } else $$0 = 0; + } else { + L11 : do if ($7) { + $19 = $2 + 4 | 0; + $20 = $2 + 8 | 0; + $$06065 = $7; + $$06164 = $0; + while (1) { + $21 = HEAP32[$19 >> 2] | 0; + $23 = $21; + $24 = (HEAP32[$20 >> 2] | 0) - $23 | 0; + $25 = _memchr($21, 10, $24) | 0; + $26 = ($25 | 0) == 0; + $30 = $26 ? $24 : 1 - $23 + $25 | 0; + $32 = $30 >>> 0 < $$06065 >>> 0 ? $30 : $$06065; + _memcpy($$06164 | 0, $21 | 0, $32 | 0) | 0; + $34 = (HEAP32[$19 >> 2] | 0) + $32 | 0; + HEAP32[$19 >> 2] = $34; + $35 = $$06164 + $32 | 0; + $36 = $$06065 - $32 | 0; + if (!($26 & ($36 | 0) != 0)) { + $$1 = $35; + label = 17; + break L11; + } + if ($34 >>> 0 >= (HEAP32[$20 >> 2] | 0) >>> 0) { + $43 = ___uflow($2) | 0; + if (($43 | 0) < 0) break; else $50 = $43; + } else { + HEAP32[$19 >> 2] = $34 + 1; + $50 = HEAPU8[$34 >> 0] | 0; + } + $51 = $35 + 1 | 0; + HEAP8[$35 >> 0] = $50; + $$06065 = $36 + -1 | 0; + if (($50 & 255 | 0) == 10 | ($$06065 | 0) == 0) { + $$1 = $51; + label = 17; + break L11; + } else $$06164 = $51; + } + if (($35 | 0) != ($0 | 0) ? (HEAP32[$2 >> 2] & 16 | 0) != 0 : 0) { + $$1 = $35; + label = 17; + } else $$05963 = 0; + } else { + $$1 = $0; + label = 17; + } while (0); + if ((label | 0) == 17) if (!$0) $$05963 = 0; else { + HEAP8[$$1 >> 0] = 0; + $$05963 = $0; + } + if (!$16) $$0 = $$05963; else { + ___unlockfile($2); + $$0 = $$05963; + } + } + return $$0 | 0; +} + +function __ZN6vision27OrthogonalizePivot8x9Basis1IfEEbPT_S2_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $11 = 0, $13 = 0, $15 = 0, $17 = 0.0, $18 = 0.0, $2 = 0, $20 = 0.0, $22 = 0.0, $24 = 0.0, $26 = 0.0, $28 = 0.0, $3 = 0, $30 = 0, $31 = 0, $34 = 0, $4 = 0, $5 = 0, $7 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp; + $3 = $0 + 36 | 0; + $4 = $1 + 36 | 0; + __ZN6vision21AccumulateProjection9IfEEvPT_PKS1_S4_($3, $0, $4); + $5 = $0 + 72 | 0; + __ZN6vision21AccumulateProjection9IfEEvPT_PKS1_S4_($5, $0, $1 + 72 | 0); + $7 = $0 + 108 | 0; + __ZN6vision21AccumulateProjection9IfEEvPT_PKS1_S4_($7, $0, $1 + 108 | 0); + $9 = $0 + 144 | 0; + __ZN6vision21AccumulateProjection9IfEEvPT_PKS1_S4_($9, $0, $1 + 144 | 0); + $11 = $0 + 180 | 0; + __ZN6vision21AccumulateProjection9IfEEvPT_PKS1_S4_($11, $0, $1 + 180 | 0); + $13 = $0 + 216 | 0; + __ZN6vision21AccumulateProjection9IfEEvPT_PKS1_S4_($13, $0, $1 + 216 | 0); + $15 = $0 + 252 | 0; + __ZN6vision21AccumulateProjection9IfEEvPT_PKS1_S4_($15, $0, $1 + 252 | 0); + $17 = +__ZN6vision11SumSquares9IfEET_PKS1_($3); + HEAPF32[$2 >> 2] = $17; + $18 = +__ZN6vision11SumSquares9IfEET_PKS1_($5); + HEAPF32[$2 + 4 >> 2] = $18; + $20 = +__ZN6vision11SumSquares9IfEET_PKS1_($7); + HEAPF32[$2 + 8 >> 2] = $20; + $22 = +__ZN6vision11SumSquares9IfEET_PKS1_($9); + HEAPF32[$2 + 12 >> 2] = $22; + $24 = +__ZN6vision11SumSquares9IfEET_PKS1_($11); + HEAPF32[$2 + 16 >> 2] = $24; + $26 = +__ZN6vision11SumSquares9IfEET_PKS1_($13); + HEAPF32[$2 + 20 >> 2] = $26; + $28 = +__ZN6vision11SumSquares9IfEET_PKS1_($15); + HEAPF32[$2 + 24 >> 2] = $28; + $30 = __ZN6vision9MaxIndex7IfEEiPKT_($2) | 0; + $31 = $2 + ($30 << 2) | 0; + if (+HEAPF32[$31 >> 2] == 0.0) $$0 = 0; else { + $34 = $30 * 9 | 0; + __ZN6vision5Swap9IfEEvPT_S2_($3, $3 + ($34 << 2) | 0); + __ZN6vision5Swap9IfEEvPT_S2_($4, $4 + ($34 << 2) | 0); + __ZN6vision12ScaleVector9IfEEvPT_PKS1_S1_($3, $3, 1.0 / +Math_sqrt(+(+HEAPF32[$31 >> 2]))); + $$0 = 1; + } + STACKTOP = sp; + return $$0 | 0; +} + +function __ZN6vision39HomographyPointsGeometricallyConsistentIfEEbPKT_S3_i($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$062 = 0, $$063 = 0, $$063$phi = 0, $$065 = 0, $$067 = 0, $$068 = 0, $$070 = 0, $$072 = 0, $$4 = 0, $10 = 0, $14 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $3 = sp + 32 | 0; + $4 = sp + 24 | 0; + $5 = sp + 16 | 0; + $6 = sp + 8 | 0; + $7 = sp; + L1 : do if (($2 | 0) >= 2) { + $9 = $1 + 8 | 0; + $10 = $1 + 16 | 0; + __ZN6vision35MultiplyPointHomographyInhomogenousIfEEvPT_PKS1_S4_($3, $0, $1); + __ZN6vision35MultiplyPointHomographyInhomogenousIfEEvPT_PKS1_S4_($4, $0, $9); + __ZN6vision35MultiplyPointHomographyInhomogenousIfEEvPT_PKS1_S4_($5, $0, $10); + __ZN6vision11CopyVector2IfEEvPT_PKS1_($6, $3); + __ZN6vision11CopyVector2IfEEvPT_PKS1_($7, $4); + if (__ZN6vision40Homography3PointsGeometricallyConsistentIfEEbPKT_S3_S3_S3_S3_S3_($1, $9, $10, $3, $4, $5) | 0) { + $$062 = 3; + $$063 = $5; + $$065 = $4; + $$067 = $3; + $$068 = $10; + $$070 = $9; + $$072 = $1; + while (1) { + if (($$062 | 0) >= ($2 | 0)) break; + $$072 = $$072 + 8 | 0; + $14 = $$070 + 8 | 0; + $15 = $$068 + 8 | 0; + __ZN6vision35MultiplyPointHomographyInhomogenousIfEEvPT_PKS1_S4_($$067, $0, $15); + if (!(__ZN6vision40Homography3PointsGeometricallyConsistentIfEEbPKT_S3_S3_S3_S3_S3_($$072, $14, $15, $$065, $$063, $$067) | 0)) { + $$4 = 0; + break L1; + } else { + $$063$phi = $$067; + $$062 = $$062 + 1 | 0; + $$068 = $15; + $$070 = $14; + $$067 = $$065; + $$065 = $$063; + $$063 = $$063$phi; + } + } + if (__ZN6vision40Homography3PointsGeometricallyConsistentIfEEbPKT_S3_S3_S3_S3_S3_($$070, $$068, $1, $$065, $$063, $6) | 0) $$4 = __ZN6vision40Homography3PointsGeometricallyConsistentIfEEbPKT_S3_S3_S3_S3_S3_($$068, $1, $9, $$063, $6, $7) | 0; else $$4 = 0; + } else $$4 = 0; + } else $$4 = 1; while (0); + STACKTOP = sp; + return $$4 | 0; +} + +function _arGetTransMatSquare($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = +$2; + $3 = $3 | 0; + var $$0 = 0, $$0$in = 0, $$031 = 0.0, $19 = 0, $26 = 0, $34 = 0, $4 = 0, $42 = 0, $49 = 0.0, $5 = 0, $50 = 0.0, $6 = 0, $69 = 0, $7 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 288 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(288); + $4 = sp + 192 | 0; + $5 = sp + 96 | 0; + $6 = sp + 264 | 0; + $7 = sp; + $8 = sp + 256 | 0; + do if ((HEAP32[$1 + 12 >> 2] | 0) >= 0) if ((HEAP32[$1 + 8 >> 2] | 0) < 0) { + $$0$in = $1 + 24 | 0; + break; + } else { + $$0$in = $1 + 16 | 0; + break; + } else $$0$in = $1 + 20 | 0; while (0); + $$0 = HEAP32[$$0$in >> 2] | 0; + $19 = (4 - $$0 | 0) % 4 | 0; + HEAPF64[$4 >> 3] = +HEAPF64[$1 + 168 + ($19 << 4) >> 3]; + HEAPF64[$4 + 8 >> 3] = +HEAPF64[$1 + 168 + ($19 << 4) + 8 >> 3]; + $26 = (5 - $$0 | 0) % 4 | 0; + HEAPF64[$4 + 16 >> 3] = +HEAPF64[$1 + 168 + ($26 << 4) >> 3]; + HEAPF64[$4 + 24 >> 3] = +HEAPF64[$1 + 168 + ($26 << 4) + 8 >> 3]; + $34 = (6 - $$0 | 0) % 4 | 0; + HEAPF64[$4 + 32 >> 3] = +HEAPF64[$1 + 168 + ($34 << 4) >> 3]; + HEAPF64[$4 + 40 >> 3] = +HEAPF64[$1 + 168 + ($34 << 4) + 8 >> 3]; + $42 = (7 - $$0 | 0) % 4 | 0; + HEAPF64[$4 + 48 >> 3] = +HEAPF64[$1 + 168 + ($42 << 4) >> 3]; + HEAPF64[$4 + 56 >> 3] = +HEAPF64[$1 + 168 + ($42 << 4) + 8 >> 3]; + $49 = $2 * -.5; + HEAPF64[$5 >> 3] = $49; + $50 = $2 * .5; + HEAPF64[$5 + 8 >> 3] = $50; + HEAPF64[$5 + 16 >> 3] = 0.0; + HEAPF64[$5 + 24 >> 3] = $50; + HEAPF64[$5 + 32 >> 3] = $50; + HEAPF64[$5 + 40 >> 3] = 0.0; + HEAPF64[$5 + 48 >> 3] = $50; + HEAPF64[$5 + 56 >> 3] = $49; + HEAPF64[$5 + 64 >> 3] = 0.0; + HEAPF64[$5 + 72 >> 3] = $49; + HEAPF64[$5 + 80 >> 3] = $49; + HEAPF64[$5 + 88 >> 3] = 0.0; + HEAP32[$6 >> 2] = $4; + HEAP32[$6 + 4 >> 2] = $5; + HEAP32[$6 + 8 >> 2] = 4; + if ((_icpGetInitXw2Xc_from_PlanarData(HEAP32[$0 >> 2] | 0, $4, $5, 4, $7) | 0) < 0) $$031 = 1.0e8; else { + $69 = (_icpPoint(HEAP32[$0 >> 2] | 0, $6, $7, $3, $8) | 0) < 0; + $$031 = $69 ? 1.0e8 : +HEAPF64[$8 >> 3]; + } + STACKTOP = sp; + return +$$031; +} + +function __ZN12_GLOBAL__N_116itanium_demangle13ParameterPackC2ENS0_9NodeArrayE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$05$i = 0, $$05$i1 = 0, $$05$i3 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $2 = 0, $22 = 0, $23 = 0, $28 = 0, $29 = 0, $3 = 0, $8 = 0, $9 = 0, label = 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 27, 1, 1, 1); + HEAP32[$0 >> 2] = 17912; + $2 = $0 + 8 | 0; + $3 = $1; + $8 = HEAP32[$3 + 4 >> 2] | 0; + $9 = $2; + HEAP32[$9 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$9 + 4 >> 2] = $8; + $13 = $0 + 5 | 0; + HEAP8[$13 >> 0] = 2; + $14 = $0 + 7 | 0; + HEAP8[$14 >> 0] = 2; + $15 = $0 + 6 | 0; + HEAP8[$15 >> 0] = 2; + $16 = __ZNK12_GLOBAL__N_116itanium_demangle9NodeArray5beginEv($2) | 0; + $17 = __ZNK12_GLOBAL__N_116itanium_demangle9NodeArray3endEv($2) | 0; + $$05$i = $16; + while (1) { + if (($$05$i | 0) == ($17 | 0)) { + label = 4; + break; + } + if (__ZZN12_GLOBAL__N_116itanium_demangle13ParameterPackC1ENS0_9NodeArrayEENKUlPNS0_4NodeEE_clES4_(HEAP32[$$05$i >> 2] | 0) | 0) $$05$i = $$05$i + 4 | 0; else break; + } + if ((label | 0) == 4) HEAP8[$15 >> 0] = 1; + $22 = __ZNK12_GLOBAL__N_116itanium_demangle9NodeArray5beginEv($2) | 0; + $23 = __ZNK12_GLOBAL__N_116itanium_demangle9NodeArray3endEv($2) | 0; + $$05$i1 = $22; + while (1) { + if (($$05$i1 | 0) == ($23 | 0)) { + label = 8; + break; + } + if (__ZZN12_GLOBAL__N_116itanium_demangle13ParameterPackC1ENS0_9NodeArrayEENKUlPNS0_4NodeEE0_clES4_(HEAP32[$$05$i1 >> 2] | 0) | 0) $$05$i1 = $$05$i1 + 4 | 0; else break; + } + if ((label | 0) == 8) HEAP8[$14 >> 0] = 1; + $28 = __ZNK12_GLOBAL__N_116itanium_demangle9NodeArray5beginEv($2) | 0; + $29 = __ZNK12_GLOBAL__N_116itanium_demangle9NodeArray3endEv($2) | 0; + $$05$i3 = $28; + while (1) { + if (($$05$i3 | 0) == ($29 | 0)) { + label = 12; + break; + } + if (__ZZN12_GLOBAL__N_116itanium_demangle13ParameterPackC1ENS0_9NodeArrayEENKUlPNS0_4NodeEE1_clES4_(HEAP32[$$05$i3 >> 2] | 0) | 0) $$05$i3 = $$05$i3 + 4 | 0; else break; + } + if ((label | 0) == 12) HEAP8[$13 >> 0] = 1; + return; +} + +function _prepare_for_output_pass($0) { + $0 = $0 | 0; + var $15 = 0, $2 = 0, $3 = 0, $36 = 0, $74 = 0, $77 = 0, $82 = 0, $83 = 0; + $2 = HEAP32[$0 + 444 >> 2] | 0; + $3 = $2 + 8 | 0; + if (!(HEAP32[$3 >> 2] | 0)) { + $15 = $0 + 84 | 0; + do if (HEAP32[$15 >> 2] | 0 ? (HEAP32[$0 + 136 >> 2] | 0) == 0 : 0) { + if (HEAP32[$0 + 92 >> 2] | 0 ? HEAP32[$0 + 108 >> 2] | 0 : 0) { + HEAP32[$0 + 484 >> 2] = HEAP32[$2 + 24 >> 2]; + HEAP32[$3 >> 2] = 1; + break; + } + if (!(HEAP32[$0 + 100 >> 2] | 0)) { + $36 = HEAP32[$0 >> 2] | 0; + HEAP32[$36 + 20 >> 2] = 47; + FUNCTION_TABLE_vi[HEAP32[$36 >> 2] & 255]($0); + break; + } else { + HEAP32[$0 + 484 >> 2] = HEAP32[$2 + 20 >> 2]; + break; + } + } while (0); + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 + 472 >> 2] >> 2] & 255]($0); + FUNCTION_TABLE_vi[HEAP32[(HEAP32[$0 + 452 >> 2] | 0) + 8 >> 2] & 255]($0); + if (!(HEAP32[$0 + 68 >> 2] | 0)) { + if (!(HEAP32[$2 + 16 >> 2] | 0)) FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 + 480 >> 2] >> 2] & 255]($0); + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 + 476 >> 2] >> 2] & 255]($0); + if (HEAP32[$15 >> 2] | 0) FUNCTION_TABLE_vii[HEAP32[HEAP32[$0 + 484 >> 2] >> 2] & 255]($0, HEAP32[$3 >> 2] | 0); + FUNCTION_TABLE_vii[HEAP32[HEAP32[$0 + 456 >> 2] >> 2] & 255]($0, (HEAP32[$3 >> 2] | 0) == 0 ? 0 : 3); + FUNCTION_TABLE_vii[HEAP32[HEAP32[$0 + 448 >> 2] >> 2] & 255]($0, 0); + } + } else { + HEAP32[$3 >> 2] = 0; + FUNCTION_TABLE_vii[HEAP32[HEAP32[$0 + 484 >> 2] >> 2] & 255]($0, 0); + FUNCTION_TABLE_vii[HEAP32[HEAP32[$0 + 456 >> 2] >> 2] & 255]($0, 2); + FUNCTION_TABLE_vii[HEAP32[HEAP32[$0 + 448 >> 2] >> 2] & 255]($0, 2); + } + $74 = HEAP32[$0 + 8 >> 2] | 0; + if (!$74) return; + $77 = HEAP32[$2 + 12 >> 2] | 0; + HEAP32[$74 + 12 >> 2] = $77; + $82 = ((HEAP32[$3 >> 2] | 0) == 0 ? 1 : 2) + $77 | 0; + $83 = $74 + 16 | 0; + HEAP32[$83 >> 2] = $82; + if (!(HEAP32[$0 + 64 >> 2] | 0)) return; + if (HEAP32[(HEAP32[$0 + 460 >> 2] | 0) + 20 >> 2] | 0) return; + HEAP32[$83 >> 2] = ((HEAP32[$0 + 108 >> 2] | 0) == 0 ? 1 : 2) + $82; + return; +} + +function _jinit_d_coef_controller($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$05257 = 0, $$05356 = 0, $$pre$phiZ2D = 0, $10 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $24 = 0, $29 = 0, $33 = 0, $34 = 0, $46 = 0, $5 = 0, $spec$select = 0; + $2 = $0 + 4 | 0; + $5 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$2 >> 2] >> 2] & 63]($0, 1, 116) | 0; + HEAP32[$0 + 452 >> 2] = $5; + HEAP32[$5 >> 2] = 197; + HEAP32[$5 + 8 >> 2] = 198; + HEAP32[$5 + 112 >> 2] = 0; + if (!$1) { + $46 = FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$2 >> 2] | 0) + 4 >> 2] & 63]($0, 1, 1280) | 0; + HEAP32[$5 + 32 >> 2] = $46; + HEAP32[$5 + 36 >> 2] = $46 + 128; + HEAP32[$5 + 40 >> 2] = $46 + 256; + HEAP32[$5 + 44 >> 2] = $46 + 384; + HEAP32[$5 + 48 >> 2] = $46 + 512; + HEAP32[$5 + 52 >> 2] = $46 + 640; + HEAP32[$5 + 56 >> 2] = $46 + 768; + HEAP32[$5 + 60 >> 2] = $46 + 896; + HEAP32[$5 + 64 >> 2] = $46 + 1024; + HEAP32[$5 + 68 >> 2] = $46 + 1152; + if (!(HEAP32[$0 + 436 >> 2] | 0)) _memset($46 | 0, 0, 1280) | 0; + HEAP32[$5 + 4 >> 2] = 84; + HEAP32[$5 + 12 >> 2] = 58; + HEAP32[$5 + 16 >> 2] = 0; + return; + } + $10 = $0 + 36 | 0; + if ((HEAP32[$10 >> 2] | 0) > 0) { + $15 = $0 + 224 | 0; + $16 = $5 + 72 | 0; + $$05257 = 0; + $$05356 = HEAP32[$0 + 216 >> 2] | 0; + while (1) { + $17 = $$05356 + 12 | 0; + $18 = HEAP32[$17 >> 2] | 0; + $spec$select = (HEAP32[$15 >> 2] | 0) == 0 ? $18 : $18 * 3 | 0; + $24 = HEAP32[(HEAP32[$2 >> 2] | 0) + 20 >> 2] | 0; + $29 = _jround_up(HEAP32[$$05356 + 28 >> 2] | 0, HEAP32[$$05356 + 8 >> 2] | 0) | 0; + $33 = _jround_up(HEAP32[$$05356 + 32 >> 2] | 0, HEAP32[$17 >> 2] | 0) | 0; + $34 = FUNCTION_TABLE_iiiiiii[$24 & 63]($0, 1, 1, $29, $33, $spec$select) | 0; + HEAP32[$16 + ($$05257 << 2) >> 2] = $34; + $$05257 = $$05257 + 1 | 0; + if (($$05257 | 0) >= (HEAP32[$10 >> 2] | 0)) { + $$pre$phiZ2D = $16; + break; + } else $$05356 = $$05356 + 88 | 0; + } + } else $$pre$phiZ2D = $5 + 72 | 0; + HEAP32[$5 + 4 >> 2] = 83; + HEAP32[$5 + 12 >> 2] = 57; + HEAP32[$5 + 16 >> 2] = $$pre$phiZ2D; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E17parseUnscopedNameEPNS5_9NameStateE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$1 = 0, $$byval_copy1 = 0, $2 = 0, $3 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy1 = sp + 16 | 0; + $2 = sp + 8 | 0; + $3 = sp; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 55114); + HEAP32[$$byval_copy1 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy1 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + if (!(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy1) | 0) ? (__ZN12_GLOBAL__N_110StringViewC2EPKc($3, 55118), HEAP32[$$byval_copy1 >> 2] = HEAP32[$3 >> 2], HEAP32[$$byval_copy1 + 4 >> 2] = HEAP32[$3 + 4 >> 2], !(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $$byval_copy1) | 0)) : 0) $$1 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E20parseUnqualifiedNameEPNS5_9NameStateE(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0, $1) | 0; else { + $7 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E20parseUnqualifiedNameEPNS5_9NameStateE(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0, $1) | 0; + HEAP32[$$byval_copy1 >> 2] = $7; + if (!$7) $$0 = 0; else $$0 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_16StdQualifiedNameEJRPNS0_4NodeEEEES9_DpOT0_($0, $$byval_copy1) | 0; + $$1 = $$0; + } + STACKTOP = sp; + return $$1 | 0; +} + +function __ZNSt3__211__stdoutbufIwE8overflowEj($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$032 = 0, $$4 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $28 = 0, $3 = 0, $38 = 0, $4 = 0, $5 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp + 16 | 0; + $3 = sp + 8 | 0; + $4 = sp + 4 | 0; + $5 = sp; + do if (!(__ZNSt3__211char_traitsIwE11eq_int_typeEjj($1, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0)) { + $8 = __ZNSt3__211char_traitsIwE12to_char_typeEj($1) | 0; + HEAP32[$3 >> 2] = $8; + if (HEAP8[$0 + 44 >> 0] | 0) { + if ((_fwrite($3, 4, 1, HEAP32[$0 + 32 >> 2] | 0) | 0) == 1) { + label = 15; + break; + } + $$4 = __ZNSt3__211char_traitsIwE3eofEv() | 0; + break; + } + HEAP32[$4 >> 2] = $2; + $17 = $3 + 4 | 0; + $18 = $0 + 36 | 0; + $19 = $0 + 40 | 0; + $20 = $2 + 8 | 0; + $21 = $2; + $22 = $0 + 32 | 0; + $$032 = $3; + while (1) { + $23 = HEAP32[$18 >> 2] | 0; + $28 = FUNCTION_TABLE_iiiiiiiii[HEAP32[(HEAP32[$23 >> 2] | 0) + 12 >> 2] & 15]($23, HEAP32[$19 >> 2] | 0, $$032, $17, $5, $2, $20, $4) | 0; + if ((HEAP32[$5 >> 2] | 0) == ($$032 | 0)) { + label = 14; + break; + } + if (($28 | 0) == 3) { + label = 8; + break; + } + if ($28 >>> 0 >= 2) { + label = 14; + break; + } + $38 = (HEAP32[$4 >> 2] | 0) - $21 | 0; + if ((_fwrite($2, 1, $38, HEAP32[$22 >> 2] | 0) | 0) != ($38 | 0)) { + label = 14; + break; + } + if (($28 | 0) == 1) $$032 = HEAP32[$5 >> 2] | 0; else { + label = 13; + break; + } + } + if ((label | 0) == 8) if ((_fwrite($$032, 1, 1, HEAP32[$22 >> 2] | 0) | 0) == 1) label = 13; else label = 14; + if ((label | 0) == 13) { + label = 15; + break; + } else if ((label | 0) == 14) { + $$4 = __ZNSt3__211char_traitsIwE3eofEv() | 0; + break; + } + } else label = 15; while (0); + if ((label | 0) == 15) $$4 = __ZNSt3__211char_traitsIwE7not_eofEj($1) | 0; + STACKTOP = sp; + return $$4 | 0; +} + +function __ZNSt3__211__stdoutbufIcE8overflowEi($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$032 = 0, $$4 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $28 = 0, $3 = 0, $38 = 0, $4 = 0, $5 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp + 16 | 0; + $3 = sp + 8 | 0; + $4 = sp + 4 | 0; + $5 = sp; + do if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($1, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) { + $8 = __ZNSt3__211char_traitsIcE12to_char_typeEi($1) | 0; + HEAP8[$3 >> 0] = $8; + if (HEAP8[$0 + 44 >> 0] | 0) { + if ((_fwrite($3, 1, 1, HEAP32[$0 + 32 >> 2] | 0) | 0) == 1) { + label = 15; + break; + } + $$4 = __ZNSt3__211char_traitsIcE3eofEv() | 0; + break; + } + HEAP32[$4 >> 2] = $2; + $17 = $3 + 1 | 0; + $18 = $0 + 36 | 0; + $19 = $0 + 40 | 0; + $20 = $2 + 8 | 0; + $21 = $2; + $22 = $0 + 32 | 0; + $$032 = $3; + while (1) { + $23 = HEAP32[$18 >> 2] | 0; + $28 = FUNCTION_TABLE_iiiiiiiii[HEAP32[(HEAP32[$23 >> 2] | 0) + 12 >> 2] & 15]($23, HEAP32[$19 >> 2] | 0, $$032, $17, $5, $2, $20, $4) | 0; + if ((HEAP32[$5 >> 2] | 0) == ($$032 | 0)) { + label = 14; + break; + } + if (($28 | 0) == 3) { + label = 8; + break; + } + if ($28 >>> 0 >= 2) { + label = 14; + break; + } + $38 = (HEAP32[$4 >> 2] | 0) - $21 | 0; + if ((_fwrite($2, 1, $38, HEAP32[$22 >> 2] | 0) | 0) != ($38 | 0)) { + label = 14; + break; + } + if (($28 | 0) == 1) $$032 = HEAP32[$5 >> 2] | 0; else { + label = 13; + break; + } + } + if ((label | 0) == 8) if ((_fwrite($$032, 1, 1, HEAP32[$22 >> 2] | 0) | 0) == 1) label = 13; else label = 14; + if ((label | 0) == 13) { + label = 15; + break; + } else if ((label | 0) == 14) { + $$4 = __ZNSt3__211char_traitsIcE3eofEv() | 0; + break; + } + } else label = 15; while (0); + if ((label | 0) == 15) $$4 = __ZNSt3__211char_traitsIcE7not_eofEi($1) | 0; + STACKTOP = sp; + return $$4 | 0; +} + +function __ZN6vision11FindInliersERNSt3__26vectorINS_7match_tENS0_9allocatorIS2_EEEEPKfRKNS1_INS_12FeaturePointENS3_IS9_EEEESD_RKS5_f($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = +$5; + var $$0 = 0, $13 = 0, $14 = 0, $15 = 0, $17 = 0, $23 = 0, $24 = 0, $37 = 0.0, $50 = 0, $51 = 0, $54 = 0, $59 = 0, $6 = 0, $60 = 0, $7 = 0.0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $6 = sp; + $7 = +__ZN6vision3sqrIfEET_S1_($5); + $8 = $4 + 4 | 0; + __ZNSt3__26vectorIN6vision7match_tENS_9allocatorIS2_EEE7reserveEm($0, (HEAP32[$8 >> 2] | 0) - (HEAP32[$4 >> 2] | 0) >> 3); + $13 = $6 + 4 | 0; + $14 = $0 + 4 | 0; + $15 = $0 + 8 | 0; + $$0 = 0; + while (1) { + $17 = HEAP32[$4 >> 2] | 0; + if ($$0 >>> 0 >= (HEAP32[$8 >> 2] | 0) - $17 >> 3 >>> 0) break; + $23 = HEAP32[$17 + ($$0 << 3) + 4 >> 2] | 0; + $24 = HEAP32[$3 >> 2] | 0; + __ZN6vision35MultiplyPointHomographyInhomogenousIfEEvRT_S2_PKS1_S1_S1_($6, $13, $1, +HEAPF32[$24 + ($23 * 20 | 0) >> 2], +HEAPF32[$24 + ($23 * 20 | 0) + 4 >> 2]); + $37 = +__ZN6vision3sqrIfEET_S1_(+HEAPF32[$6 >> 2] - +HEAPF32[(HEAP32[$2 >> 2] | 0) + ((HEAP32[(HEAP32[$4 >> 2] | 0) + ($$0 << 3) >> 2] | 0) * 20 | 0) >> 2]); + do if ($37 + +__ZN6vision3sqrIfEET_S1_(+HEAPF32[$13 >> 2] - +HEAPF32[(HEAP32[$2 >> 2] | 0) + ((HEAP32[(HEAP32[$4 >> 2] | 0) + ($$0 << 3) >> 2] | 0) * 20 | 0) + 4 >> 2]) <= $7) { + $50 = (HEAP32[$4 >> 2] | 0) + ($$0 << 3) | 0; + $51 = HEAP32[$14 >> 2] | 0; + if (($51 | 0) == (HEAP32[$15 >> 2] | 0)) { + __ZNSt3__26vectorIN6vision7match_tENS_9allocatorIS2_EEE21__push_back_slow_pathIRKS2_EEvOT_($0, $50); + break; + } else { + $54 = $50; + $59 = HEAP32[$54 + 4 >> 2] | 0; + $60 = $51; + HEAP32[$60 >> 2] = HEAP32[$54 >> 2]; + HEAP32[$60 + 4 >> 2] = $59; + HEAP32[$14 >> 2] = (HEAP32[$14 >> 2] | 0) + 8; + break; + } + } while (0); + $$0 = $$0 + 1 | 0; + } + STACKTOP = sp; + return; +} + +function _ycck_cmyk_convert($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$07890$us = 0, $$08089$us = 0, $$08188$us = 0, $$091$us = 0, $$in = 0, $$neg83$us = 0, $10 = 0, $12 = 0, $14 = 0, $16 = 0, $18 = 0, $20 = 0, $21 = 0, $22 = 0, $27 = 0, $30 = 0, $33 = 0, $36 = 0, $43 = 0, $46 = 0, $6 = 0, $8 = 0, $$in$looptemp = 0; + $6 = HEAP32[$0 + 480 >> 2] | 0; + $8 = HEAP32[$0 + 112 >> 2] | 0; + $10 = HEAP32[$0 + 336 >> 2] | 0; + $12 = HEAP32[$6 + 8 >> 2] | 0; + $14 = HEAP32[$6 + 12 >> 2] | 0; + $16 = HEAP32[$6 + 16 >> 2] | 0; + $18 = HEAP32[$6 + 20 >> 2] | 0; + if (($4 | 0) <= 0) return; + $20 = $1 + 4 | 0; + $21 = $1 + 8 | 0; + $22 = $1 + 12 | 0; + if (!$8) return; + $$07890$us = $3; + $$091$us = $2; + $$in = $4; + while (1) { + $$in$looptemp = $$in; + $$in = $$in + -1 | 0; + $27 = HEAP32[(HEAP32[$1 >> 2] | 0) + ($$091$us << 2) >> 2] | 0; + $30 = HEAP32[(HEAP32[$20 >> 2] | 0) + ($$091$us << 2) >> 2] | 0; + $33 = HEAP32[(HEAP32[$21 >> 2] | 0) + ($$091$us << 2) >> 2] | 0; + $36 = HEAP32[(HEAP32[$22 >> 2] | 0) + ($$091$us << 2) >> 2] | 0; + $$091$us = $$091$us + 1 | 0; + $$08089$us = HEAP32[$$07890$us >> 2] | 0; + $$08188$us = 0; + while (1) { + $43 = HEAPU8[$30 + $$08188$us >> 0] | 0; + $46 = HEAPU8[$33 + $$08188$us >> 0] | 0; + $$neg83$us = ~HEAP8[$27 + $$08188$us >> 0] & 255; + HEAP8[$$08089$us >> 0] = HEAP8[$10 + ($$neg83$us - (HEAP32[$12 + ($46 << 2) >> 2] | 0)) >> 0] | 0; + HEAP8[$$08089$us + 1 >> 0] = HEAP8[$10 + ($$neg83$us - ((HEAP32[$16 + ($46 << 2) >> 2] | 0) + (HEAP32[$18 + ($43 << 2) >> 2] | 0) >> 16)) >> 0] | 0; + HEAP8[$$08089$us + 2 >> 0] = HEAP8[$10 + ($$neg83$us - (HEAP32[$14 + ($43 << 2) >> 2] | 0)) >> 0] | 0; + HEAP8[$$08089$us + 3 >> 0] = HEAP8[$36 + $$08188$us >> 0] | 0; + $$08188$us = $$08188$us + 1 | 0; + if (($$08188$us | 0) == ($8 | 0)) break; else $$08089$us = $$08089$us + 4 | 0; + } + if (($$in$looptemp | 0) <= 1) break; else $$07890$us = $$07890$us + 4 | 0; + } + return; +} + +function __ZN6vision14VisualDatabaseINS_14FREAKExtractorENS_18BinaryFeatureStoreENS_20BinaryFeatureMatcherILi96EEEE11addKeyframeENSt3__210shared_ptrINS_8KeyframeILi96EEEEEi($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$pre$phi$iZ2D = 0, $10 = 0, $11 = 0, $12 = 0, $14 = 0, $16 = 0, $20 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp + 4 | 0; + $4 = sp; + HEAP32[$4 >> 2] = $2; + $5 = $0 + 72 | 0; + if (__ZNSt3__212__hash_tableINS_17__hash_value_typeIiNS_10shared_ptrIN6vision8KeyframeILi96EEEEEEENS_22__unordered_map_hasherIiS7_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS7_NS_8equal_toIiEELb1EEENS_9allocatorIS7_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS7_PvEEEERKT_($5, $4) | 0) { + $8 = ___cxa_allocate_exception(16) | 0; + HEAP32[$3 >> 2] = 0; + HEAP32[$3 + 4 >> 2] = 0; + HEAP32[$3 + 8 >> 2] = 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm($3, 33157, __ZNSt3__211char_traitsIcE6lengthEPKc(33157) | 0); + __ZN6vision9ExceptionC2ERKNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEE($8, $3); + ___cxa_throw($8 | 0, 13208, 5); + } + $10 = __ZNSt3__213unordered_mapIiNS_10shared_ptrIN6vision8KeyframeILi96EEEEENS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS5_EEEEEixERSC_($5, $4) | 0; + $11 = HEAP32[$1 >> 2] | 0; + HEAP32[$3 >> 2] = $11; + $12 = $3 + 4 | 0; + $14 = HEAP32[$1 + 4 >> 2] | 0; + HEAP32[$12 >> 2] = $14; + if (!$14) { + $$pre$phi$iZ2D = $12; + $22 = 0; + } else { + $16 = $14 + 4 | 0; + HEAP32[$16 >> 2] = (HEAP32[$16 >> 2] | 0) + 1; + $$pre$phi$iZ2D = $12; + $22 = HEAP32[$12 >> 2] | 0; + } + HEAP32[$3 >> 2] = HEAP32[$10 >> 2]; + HEAP32[$10 >> 2] = $11; + $20 = $10 + 4 | 0; + HEAP32[$$pre$phi$iZ2D >> 2] = HEAP32[$20 >> 2]; + HEAP32[$20 >> 2] = $22; + __ZNSt3__210shared_ptrIN6vision8KeyframeILi96EEEED2Ev($3); + STACKTOP = sp; + return; +} + +function _EV_create($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0, $$071 = 0, $$072 = 0, $$074 = 0, $$075 = 0, $$077 = 0, $$078 = 0.0, $$079 = 0, $$1 = 0, $$173 = 0, $$176 = 0, $$2 = 0, $$3 = 0, $29 = 0.0, $33 = 0.0, $34 = 0, $42 = 0.0, $5 = 0, $7 = 0; + $5 = HEAP32[$0 + 4 >> 2] | 0; + $7 = HEAP32[$0 + 8 >> 2] | 0; + L1 : do if (((((!(($5 | 0) < 1 | ($7 | 0) < 1) ? (HEAP32[$1 + 4 >> 2] | 0) == ($5 | 0) : 0) ? (HEAP32[$1 + 8 >> 2] | 0) == ($5 | 0) : 0) ? (HEAP32[$2 + 4 >> 2] | 0) == ($5 | 0) : 0) ? (HEAP32[$2 + 8 >> 2] | 0) == ($7 | 0) : 0) ? (HEAP32[$3 + 4 >> 2] | 0) == ($5 | 0) : 0) { + $$072 = 0; + $$075 = HEAP32[$2 >> 2] | 0; + while (1) { + if (($$072 | 0) >= ($5 | 0)) break; + $29 = +HEAPF64[(HEAP32[$3 >> 2] | 0) + ($$072 << 3) >> 3]; + if ($29 < 1.0e-16) break; + $33 = 1.0 / +Math_sqrt(+(+Math_abs(+$29))); + $34 = Math_imul($$072, $5) | 0; + $$071 = 0; + $$176 = $$075; + while (1) { + if (($$071 | 0) == ($7 | 0)) break; + $$0 = 0; + $$077 = (HEAP32[$1 >> 2] | 0) + ($34 << 3) | 0; + $$078 = 0.0; + $$079 = (HEAP32[$0 >> 2] | 0) + ($$071 << 3) | 0; + while (1) { + if (($$0 | 0) == ($5 | 0)) break; + $42 = $$078 + +HEAPF64[$$077 >> 3] * +HEAPF64[$$079 >> 3]; + $$0 = $$0 + 1 | 0; + $$077 = $$077 + 8 | 0; + $$078 = $42; + $$079 = $$079 + ($7 << 3) | 0; + } + HEAPF64[$$176 >> 3] = $33 * $$078; + $$071 = $$071 + 1 | 0; + $$176 = $$176 + 8 | 0; + } + $$072 = $$072 + 1 | 0; + $$075 = $$075 + ($7 << 3) | 0; + } + $$173 = $$072; + $$2 = $$075; + while (1) { + if (($$173 | 0) >= ($5 | 0)) { + $$074 = 0; + break L1; + } + HEAPF64[(HEAP32[$3 >> 2] | 0) + ($$173 << 3) >> 3] = 0.0; + $$1 = 0; + $$3 = $$2; + while (1) { + if (($$1 | 0) >= ($7 | 0)) break; + HEAPF64[$$3 >> 3] = 0.0; + $$1 = $$1 + 1 | 0; + $$3 = $$3 + 8 | 0; + } + $$173 = $$173 + 1 | 0; + $$2 = $$3; + } + } else $$074 = -1; while (0); + return $$074 | 0; +} + +function _icpGetJ_T_S($0) { + $0 = $0 | 0; + var $1 = 0, $10 = 0, $13 = 0, $15 = 0, $17 = 0, $2 = 0, $5 = 0, $7 = 0, $9 = 0, dest = 0, stop = 0; + $1 = $0 + 64 | 0; + dest = $0; + stop = dest + 64 | 0; + do { + HEAP32[dest >> 2] = 0; + dest = dest + 4 | 0; + } while ((dest | 0) < (stop | 0)); + HEAPF64[$1 >> 3] = -1.0; + $2 = $0 + 72 | 0; + HEAP32[$2 >> 2] = 0; + HEAP32[$2 + 4 >> 2] = 0; + HEAP32[$2 + 8 >> 2] = 0; + HEAP32[$2 + 12 >> 2] = 0; + HEAP32[$2 + 16 >> 2] = 0; + HEAP32[$2 + 20 >> 2] = 0; + HEAP32[$2 + 24 >> 2] = 0; + HEAP32[$2 + 28 >> 2] = 0; + HEAPF64[$0 + 104 >> 3] = 1.0; + $5 = $0 + 160 | 0; + dest = $0 + 112 | 0; + stop = dest + 48 | 0; + do { + HEAP32[dest >> 2] = 0; + dest = dest + 4 | 0; + } while ((dest | 0) < (stop | 0)); + HEAPF64[$5 >> 3] = 1.0; + $7 = $0 + 240 | 0; + dest = $0 + 168 | 0; + stop = dest + 72 | 0; + do { + HEAP32[dest >> 2] = 0; + dest = dest + 4 | 0; + } while ((dest | 0) < (stop | 0)); + HEAPF64[$7 >> 3] = -1.0; + $9 = $0 + 296 | 0; + dest = $0 + 248 | 0; + stop = dest + 48 | 0; + do { + HEAP32[dest >> 2] = 0; + dest = dest + 4 | 0; + } while ((dest | 0) < (stop | 0)); + HEAPF64[$9 >> 3] = -1.0; + $10 = $0 + 304 | 0; + HEAP32[$10 >> 2] = 0; + HEAP32[$10 + 4 >> 2] = 0; + HEAP32[$10 + 8 >> 2] = 0; + HEAP32[$10 + 12 >> 2] = 0; + HEAP32[$10 + 16 >> 2] = 0; + HEAP32[$10 + 20 >> 2] = 0; + HEAP32[$10 + 24 >> 2] = 0; + HEAP32[$10 + 28 >> 2] = 0; + HEAPF64[$0 + 336 >> 3] = 1.0; + $13 = $0 + 456 | 0; + dest = $0 + 344 | 0; + stop = dest + 112 | 0; + do { + HEAP32[dest >> 2] = 0; + dest = dest + 4 | 0; + } while ((dest | 0) < (stop | 0)); + HEAPF64[$13 >> 3] = 1.0; + $15 = $0 + 512 | 0; + dest = $0 + 464 | 0; + stop = dest + 48 | 0; + do { + HEAP32[dest >> 2] = 0; + dest = dest + 4 | 0; + } while ((dest | 0) < (stop | 0)); + HEAPF64[$15 >> 3] = 1.0; + $17 = $0 + 568 | 0; + dest = $0 + 520 | 0; + stop = dest + 48 | 0; + do { + HEAP32[dest >> 2] = 0; + dest = dest + 4 | 0; + } while ((dest | 0) < (stop | 0)); + HEAPF64[$17 >> 3] = 1.0; + return; +} + +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, $$030 = 0, $$037 = 0, $$1 = 0, $$128 = 0, $$22934 = 0, $$235 = 0, $11 = 0, $12 = 0, $16 = 0, $2 = 0, $22 = 0, $23 = 0, $24 = 0, $31 = 0, $34 = 0, $35 = 0, $9 = 0, label = 0; + $2 = $1; + L1 : do if (!(($2 ^ $0) & 3)) { + if (!($2 & 3)) { + $$026$lcssa = $1; + $$027$lcssa = $0; + } else { + $$02642 = $1; + $$02741 = $0; + while (1) { + $9 = HEAP8[$$02642 >> 0] | 0; + HEAP8[$$02741 >> 0] = $9; + if (!($9 << 24 >> 24)) { + $$030 = $$02741; + break L1; + } + $11 = $$02642 + 1 | 0; + $12 = $$02741 + 1 | 0; + if (!($11 & 3)) { + $$026$lcssa = $11; + $$027$lcssa = $12; + break; + } else { + $$02642 = $11; + $$02741 = $12; + } + } + } + $16 = HEAP32[$$026$lcssa >> 2] | 0; + if (!(($16 & -2139062144 ^ -2139062144) & $16 + -16843009)) { + $$02536 = $$027$lcssa; + $$037 = $$026$lcssa; + $24 = $16; + while (1) { + $22 = $$037 + 4 | 0; + $23 = $$02536 + 4 | 0; + HEAP32[$$02536 >> 2] = $24; + $24 = HEAP32[$22 >> 2] | 0; + if (($24 & -2139062144 ^ -2139062144) & $24 + -16843009 | 0) { + $$0$lcssa = $22; + $$025$lcssa = $23; + break; + } else { + $$02536 = $23; + $$037 = $22; + } + } + } else { + $$0$lcssa = $$026$lcssa; + $$025$lcssa = $$027$lcssa; + } + $$1 = $$0$lcssa; + $$128 = $$025$lcssa; + label = 10; + } else { + $$1 = $1; + $$128 = $0; + label = 10; + } while (0); + if ((label | 0) == 10) { + $31 = HEAP8[$$1 >> 0] | 0; + HEAP8[$$128 >> 0] = $31; + if (!($31 << 24 >> 24)) $$030 = $$128; else { + $$22934 = $$128; + $$235 = $$1; + while (1) { + $$235 = $$235 + 1 | 0; + $34 = $$22934 + 1 | 0; + $35 = HEAP8[$$235 >> 0] | 0; + HEAP8[$34 >> 0] = $35; + if (!($35 << 24 >> 24)) { + $$030 = $34; + break; + } else $$22934 = $34; + } + } + } + return $$030 | 0; +} + +function __ZNSt3__26vectorIN6vision7Point3dIfEENS_9allocatorIS3_EEE6assignIPS3_EENS_9enable_ifIXaasr21__is_forward_iteratorIT_EE5valuesr16is_constructibleIS3_NS_15iterator_traitsISA_E9referenceEEE5valueEvE4typeESA_SA_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $13 = 0, $14 = 0, $17 = 0, $18 = 0, $21 = 0, $31 = 0, $36 = 0, $39 = 0, $4 = 0, $6 = 0, $7 = 0, $9 = 0, $spec$select = 0; + $4 = $1; + $6 = ($2 - $4 | 0) / 12 | 0; + $7 = $0 + 8 | 0; + $9 = HEAP32[$0 >> 2] | 0; + $13 = $9; + do if ($6 >>> 0 > (((HEAP32[$7 >> 2] | 0) - $9 | 0) / 12 | 0) >>> 0) { + __ZNSt3__26vectorIN6vision7Point3dIfEENS_9allocatorIS3_EEE13__vdeallocateEv($0); + $31 = __ZNKSt3__26vectorIN6vision7Point3dIfEENS_9allocatorIS3_EEE8max_sizeEv($0) | 0; + if ($31 >>> 0 < $6 >>> 0) __ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv($0); else { + $36 = ((HEAP32[$7 >> 2] | 0) - (HEAP32[$0 >> 2] | 0) | 0) / 12 | 0; + $39 = $36 << 1; + __ZNSt3__26vectorIN6vision7Point3dIfEENS_9allocatorIS3_EEE11__vallocateEm($0, $36 >>> 0 < $31 >>> 1 >>> 0 ? ($39 >>> 0 < $6 >>> 0 ? $6 : $39) : $31); + __ZNSt3__26vectorIN6vision7Point3dIfEENS_9allocatorIS3_EEE18__construct_at_endIPS3_EENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeESA_SA_m($0, $1, $2, $6); + break; + } + } else { + $14 = $0 + 4 | 0; + $17 = ((HEAP32[$14 >> 2] | 0) - $9 | 0) / 12 | 0; + $18 = $6 >>> 0 > $17 >>> 0; + $spec$select = $18 ? $1 + ($17 * 12 | 0) | 0 : $2; + $21 = $spec$select - $4 | 0; + if ($21 | 0) _memmove($9 | 0, $1 | 0, $21 | 0) | 0; + if ($18) { + __ZNSt3__26vectorIN6vision7Point3dIfEENS_9allocatorIS3_EEE18__construct_at_endIPS3_EENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeESA_SA_m($0, $spec$select, $2, $6 - (((HEAP32[$14 >> 2] | 0) - (HEAP32[$0 >> 2] | 0) | 0) / 12 | 0) | 0); + break; + } else { + HEAP32[$14 >> 2] = $13 + ((($21 | 0) / 12 | 0) * 12 | 0); + break; + } + } while (0); + return; +} + +function __ZNSt3__216__pad_and_outputIwNS_11char_traitsIwEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4_($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 $$038 = 0, $$sroa$0$2 = 0, $10 = 0, $12 = 0, $13 = 0, $14 = 0, $17 = 0, $18 = 0, $19 = 0, $38 = 0, $39 = 0, $6 = 0, $7 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $6 = sp; + $7 = HEAP32[$0 >> 2] | 0; + L1 : do if (!$7) $$sroa$0$2 = 0; else { + $9 = $3; + $10 = $1; + $12 = $9 - $10 >> 2; + $13 = $4 + 12 | 0; + $14 = HEAP32[$13 >> 2] | 0; + $$038 = ($14 | 0) > ($12 | 0) ? $14 - $12 | 0 : 0; + $17 = $2; + $18 = $17 - $10 | 0; + $19 = $18 >> 2; + if (($18 | 0) > 0 ? (FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$7 >> 2] | 0) + 48 >> 2] & 63]($7, $1, $19) | 0) != ($19 | 0) : 0) { + HEAP32[$0 >> 2] = 0; + $$sroa$0$2 = 0; + break; + } + do if (($$038 | 0) > 0) { + HEAP32[$6 >> 2] = 0; + HEAP32[$6 + 4 >> 2] = 0; + HEAP32[$6 + 8 >> 2] = 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initEmw($6, $$038, $5); + if ((FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$7 >> 2] | 0) + 48 >> 2] & 63]($7, (HEAP8[$6 + 8 + 3 >> 0] | 0) < 0 ? HEAP32[$6 >> 2] | 0 : $6, $$038) | 0) == ($$038 | 0)) { + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev($6); + break; + } else { + HEAP32[$0 >> 2] = 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev($6); + $$sroa$0$2 = 0; + break L1; + } + } while (0); + $38 = $9 - $17 | 0; + $39 = $38 >> 2; + if (($38 | 0) > 0 ? (FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$7 >> 2] | 0) + 48 >> 2] & 63]($7, $2, $39) | 0) != ($39 | 0) : 0) { + HEAP32[$0 >> 2] = 0; + $$sroa$0$2 = 0; + break; + } + HEAP32[$13 >> 2] = 0; + $$sroa$0$2 = $7; + } while (0); + STACKTOP = sp; + return $$sroa$0$2 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle9ArrayType10printRightERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy3 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $$byval_copy3 = sp + 32 | 0; + $2 = sp + 24 | 0; + $3 = sp + 16 | 0; + $4 = sp + 8 | 0; + $5 = sp; + if ((__ZNK12_GLOBAL__N_112OutputStream4backEv($1) | 0) << 24 >> 24 != 93) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 51966); + HEAP32[$$byval_copy3 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy3 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy3); + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, 55925); + HEAP32[$$byval_copy3 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy3 + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy3); + $8 = $0 + 12 | 0; + if (!(__ZNK12_GLOBAL__N_116itanium_demangle12NodeOrString8isStringEv($8) | 0)) { + if (__ZNK12_GLOBAL__N_116itanium_demangle12NodeOrString6isNodeEv($8) | 0) __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(__ZNK12_GLOBAL__N_116itanium_demangle12NodeOrString6asNodeEv($8) | 0, $1); + } else { + __ZNK12_GLOBAL__N_116itanium_demangle12NodeOrString8asStringEv($4, $8); + HEAP32[$$byval_copy3 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy3 + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy3); + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($5, 51614); + HEAP32[$$byval_copy3 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$$byval_copy3 + 4 >> 2] = HEAP32[$5 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy3); + $13 = HEAP32[$0 + 8 >> 2] | 0; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$13 >> 2] | 0) + 20 >> 2] & 255]($13, $1); + STACKTOP = sp; + return; +} + +function _arGetTransMatSquareCont($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = +$3; + $4 = $4 | 0; + var $$0 = 0, $$0$in = 0, $19 = 0, $26 = 0, $34 = 0, $42 = 0, $49 = 0.0, $5 = 0, $50 = 0.0, $6 = 0, $66 = 0, $7 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 192 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(192); + $5 = sp + 96 | 0; + $6 = sp; + $7 = sp + 168 | 0; + $8 = sp + 160 | 0; + do if ((HEAP32[$1 + 12 >> 2] | 0) >= 0) if ((HEAP32[$1 + 8 >> 2] | 0) < 0) { + $$0$in = $1 + 24 | 0; + break; + } else { + $$0$in = $1 + 16 | 0; + break; + } else $$0$in = $1 + 20 | 0; while (0); + $$0 = HEAP32[$$0$in >> 2] | 0; + $19 = (4 - $$0 | 0) % 4 | 0; + HEAPF64[$5 >> 3] = +HEAPF64[$1 + 168 + ($19 << 4) >> 3]; + HEAPF64[$5 + 8 >> 3] = +HEAPF64[$1 + 168 + ($19 << 4) + 8 >> 3]; + $26 = (5 - $$0 | 0) % 4 | 0; + HEAPF64[$5 + 16 >> 3] = +HEAPF64[$1 + 168 + ($26 << 4) >> 3]; + HEAPF64[$5 + 24 >> 3] = +HEAPF64[$1 + 168 + ($26 << 4) + 8 >> 3]; + $34 = (6 - $$0 | 0) % 4 | 0; + HEAPF64[$5 + 32 >> 3] = +HEAPF64[$1 + 168 + ($34 << 4) >> 3]; + HEAPF64[$5 + 40 >> 3] = +HEAPF64[$1 + 168 + ($34 << 4) + 8 >> 3]; + $42 = (7 - $$0 | 0) % 4 | 0; + HEAPF64[$5 + 48 >> 3] = +HEAPF64[$1 + 168 + ($42 << 4) >> 3]; + HEAPF64[$5 + 56 >> 3] = +HEAPF64[$1 + 168 + ($42 << 4) + 8 >> 3]; + $49 = $3 * -.5; + HEAPF64[$6 >> 3] = $49; + $50 = $3 * .5; + HEAPF64[$6 + 8 >> 3] = $50; + HEAPF64[$6 + 16 >> 3] = 0.0; + HEAPF64[$6 + 24 >> 3] = $50; + HEAPF64[$6 + 32 >> 3] = $50; + HEAPF64[$6 + 40 >> 3] = 0.0; + HEAPF64[$6 + 48 >> 3] = $50; + HEAPF64[$6 + 56 >> 3] = $49; + HEAPF64[$6 + 64 >> 3] = 0.0; + HEAPF64[$6 + 72 >> 3] = $49; + HEAPF64[$6 + 80 >> 3] = $49; + HEAPF64[$6 + 88 >> 3] = 0.0; + HEAP32[$7 >> 2] = $5; + HEAP32[$7 + 4 >> 2] = $6; + HEAP32[$7 + 8 >> 2] = 4; + $66 = (_icpPoint(HEAP32[$0 >> 2] | 0, $7, $2, $4, $8) | 0) < 0; + STACKTOP = sp; + return +($66 ? 1.0e8 : +HEAPF64[$8 >> 3]); +} + +function __ZNK12_GLOBAL__N_116itanium_demangle13ReferenceType9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy2 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $$byval_copy2 = sp + 40 | 0; + $2 = sp + 24 | 0; + $3 = sp + 8 | 0; + $4 = sp + 32 | 0; + $5 = sp + 16 | 0; + $6 = sp; + $7 = $0 + 16 | 0; + if (!(HEAP8[$7 >> 0] | 0)) { + __ZN12_GLOBAL__N_114SwapAndRestoreIbEC2ERbb($2, $7, 1); + __ZNK12_GLOBAL__N_116itanium_demangle13ReferenceType8collapseERNS_12OutputStreamE($3, $0, $1); + $11 = HEAP32[$3 + 4 >> 2] | 0; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$11 >> 2] | 0) + 16 >> 2] & 255]($11, $1); + if (__ZNK12_GLOBAL__N_116itanium_demangle4Node8hasArrayERNS_12OutputStreamE($11, $1) | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, 51966); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy2); + } + if (!(__ZNK12_GLOBAL__N_116itanium_demangle4Node8hasArrayERNS_12OutputStreamE($11, $1) | 0) ? !(__ZNK12_GLOBAL__N_116itanium_demangle4Node11hasFunctionERNS_12OutputStreamE($11, $1) | 0) : 0) {} else { + __ZN12_GLOBAL__N_110StringViewC2EPKc($5, 51968); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$5 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy2); + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($6, (HEAP32[$3 >> 2] | 0) == 0 ? 51970 : 51972); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$6 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$6 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy2); + __ZN12_GLOBAL__N_114SwapAndRestoreIbED2Ev($2); + } + STACKTOP = sp; + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle16FloatLiteralImplIdE9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0$i$i = 0, $$0$idx = 0, $$034 = 0, $$07$i$i = 0, $$byval_copy = 0, $15 = 0, $18 = 0, $2 = 0, $24 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $scevgep = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(64); + $$byval_copy = sp + 40 | 0; + $2 = sp + 32 | 0; + $3 = sp; + $4 = sp + 48 | 0; + $5 = $0 + 8 | 0; + $6 = __ZNK12_GLOBAL__N_110StringView5beginEv($5) | 0; + if (((__ZNK12_GLOBAL__N_110StringView3endEv($5) | 0) + 1 - $6 | 0) >>> 0 > 16) { + $scevgep = $2 + 8 | 0; + $$0$idx = 0; + $$034 = $2; + while (1) { + if (($$0$idx | 0) == 16) break; + $15 = HEAP8[$6 + $$0$idx >> 0] | 0; + $18 = HEAP8[$6 + ($$0$idx | 1) >> 0] | 0; + HEAP8[$$034 >> 0] = (($18 + -48 | 0) >>> 0 < 10 ? 208 : 169) + $18 + ((($15 + -48 | 0) >>> 0 < 10 ? 0 : 9) + $15 << 4); + $$0$idx = $$0$idx + 2 | 0; + $$034 = $$034 + 1 | 0; + } + $$0$i$i = $scevgep; + $$07$i$i = $2; + while (1) { + $24 = $$0$i$i + -1 | 0; + if ($$07$i$i >>> 0 >= $24 >>> 0) break; + $26 = HEAP8[$$07$i$i >> 0] | 0; + HEAP8[$$07$i$i >> 0] = HEAP8[$24 >> 0] | 0; + HEAP8[$24 >> 0] = $26; + $$0$i$i = $24; + $$07$i$i = $$07$i$i + 1 | 0; + } + HEAP32[$3 >> 2] = 0; + HEAP32[$3 + 4 >> 2] = 0; + HEAP32[$3 + 8 >> 2] = 0; + HEAP32[$3 + 12 >> 2] = 0; + HEAP32[$3 + 16 >> 2] = 0; + HEAP32[$3 + 20 >> 2] = 0; + HEAP32[$3 + 24 >> 2] = 0; + HEAP32[$3 + 28 >> 2] = 0; + HEAPF64[$$byval_copy >> 3] = +HEAPF64[$2 >> 3]; + __ZN12_GLOBAL__N_110StringViewC2EPKcS2_($4, $3, $3 + (_snprintf($3, 32, 52392, $$byval_copy) | 0) | 0); + HEAP32[$$byval_copy >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy); + } + STACKTOP = sp; + return; +} + +function __ZN6vision27OrthogonalizePivot8x9Basis2IfEEbPT_S2_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $10 = 0, $12 = 0, $14 = 0, $16 = 0.0, $17 = 0.0, $19 = 0.0, $2 = 0, $21 = 0.0, $23 = 0.0, $25 = 0.0, $27 = 0, $28 = 0, $3 = 0, $31 = 0, $4 = 0, $5 = 0, $6 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp; + $3 = $0 + 72 | 0; + $4 = $0 + 36 | 0; + $5 = $1 + 72 | 0; + __ZN6vision21AccumulateProjection9IfEEvPT_PKS1_S4_($3, $4, $5); + $6 = $0 + 108 | 0; + __ZN6vision21AccumulateProjection9IfEEvPT_PKS1_S4_($6, $4, $1 + 108 | 0); + $8 = $0 + 144 | 0; + __ZN6vision21AccumulateProjection9IfEEvPT_PKS1_S4_($8, $4, $1 + 144 | 0); + $10 = $0 + 180 | 0; + __ZN6vision21AccumulateProjection9IfEEvPT_PKS1_S4_($10, $4, $1 + 180 | 0); + $12 = $0 + 216 | 0; + __ZN6vision21AccumulateProjection9IfEEvPT_PKS1_S4_($12, $4, $1 + 216 | 0); + $14 = $0 + 252 | 0; + __ZN6vision21AccumulateProjection9IfEEvPT_PKS1_S4_($14, $4, $1 + 252 | 0); + $16 = +__ZN6vision11SumSquares9IfEET_PKS1_($3); + HEAPF32[$2 >> 2] = $16; + $17 = +__ZN6vision11SumSquares9IfEET_PKS1_($6); + HEAPF32[$2 + 4 >> 2] = $17; + $19 = +__ZN6vision11SumSquares9IfEET_PKS1_($8); + HEAPF32[$2 + 8 >> 2] = $19; + $21 = +__ZN6vision11SumSquares9IfEET_PKS1_($10); + HEAPF32[$2 + 12 >> 2] = $21; + $23 = +__ZN6vision11SumSquares9IfEET_PKS1_($12); + HEAPF32[$2 + 16 >> 2] = $23; + $25 = +__ZN6vision11SumSquares9IfEET_PKS1_($14); + HEAPF32[$2 + 20 >> 2] = $25; + $27 = __ZN6vision9MaxIndex6IfEEiPKT_($2) | 0; + $28 = $2 + ($27 << 2) | 0; + if (+HEAPF32[$28 >> 2] == 0.0) $$0 = 0; else { + $31 = $27 * 9 | 0; + __ZN6vision5Swap9IfEEvPT_S2_($3, $3 + ($31 << 2) | 0); + __ZN6vision5Swap9IfEEvPT_S2_($5, $5 + ($31 << 2) | 0); + __ZN6vision12ScaleVector9IfEEvPT_PKS1_S1_($3, $3, 1.0 / +Math_sqrt(+(+HEAPF32[$28 >> 2]))); + $$0 = 1; + } + STACKTOP = sp; + return $$0 | 0; +} + +function _quantize_ord_dither($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$06067$us79 = 0, $$06173 = 0, $$06173$us = 0, $$06269$us77 = 0, $$06366$us80 = 0, $$06465$us81 = 0, $$068$us78 = 0, $11 = 0, $13 = 0, $14 = 0, $15 = 0, $17 = 0, $18 = 0, $24 = 0, $26 = 0, $5 = 0, $7 = 0, $9 = 0; + $5 = HEAP32[$0 + 484 >> 2] | 0; + $7 = HEAP32[$0 + 120 >> 2] | 0; + $9 = HEAP32[$0 + 112 >> 2] | 0; + if (($3 | 0) <= 0) return; + $11 = $5 + 48 | 0; + $13 = $5 + 24 | 0; + $14 = ($9 | 0) == 0; + if (($7 | 0) <= 0) { + $$06173 = 0; + do { + _memset(HEAP32[$2 + ($$06173 << 2) >> 2] | 0, 0, $9 | 0) | 0; + HEAP32[$11 >> 2] = (HEAP32[$11 >> 2] | 0) + 1 & 15; + $$06173 = $$06173 + 1 | 0; + } while (($$06173 | 0) != ($3 | 0)); + return; + } + $$06173$us = 0; + do { + $15 = $2 + ($$06173$us << 2) | 0; + _memset(HEAP32[$15 >> 2] | 0, 0, $9 | 0) | 0; + $17 = HEAP32[$11 >> 2] | 0; + $18 = $1 + ($$06173$us << 2) | 0; + if (!$14) { + $$06269$us77 = 0; + do { + $24 = HEAP32[(HEAP32[$13 >> 2] | 0) + ($$06269$us77 << 2) >> 2] | 0; + $26 = HEAP32[$5 + 52 + ($$06269$us77 << 2) >> 2] | 0; + $$06067$us79 = $9; + $$06366$us80 = HEAP32[$15 >> 2] | 0; + $$06465$us81 = 0; + $$068$us78 = (HEAP32[$18 >> 2] | 0) + $$06269$us77 | 0; + while (1) { + HEAP8[$$06366$us80 >> 0] = (HEAPU8[$$06366$us80 >> 0] | 0) + (HEAPU8[$24 + ((HEAP32[$26 + ($17 << 6) + ($$06465$us81 << 2) >> 2] | 0) + (HEAPU8[$$068$us78 >> 0] | 0)) >> 0] | 0); + $$06067$us79 = $$06067$us79 + -1 | 0; + if (!$$06067$us79) break; else { + $$06366$us80 = $$06366$us80 + 1 | 0; + $$06465$us81 = $$06465$us81 + 1 & 15; + $$068$us78 = $$068$us78 + $7 | 0; + } + } + $$06269$us77 = $$06269$us77 + 1 | 0; + } while (($$06269$us77 | 0) != ($7 | 0)); + } + HEAP32[$11 >> 2] = $17 + 1 & 15; + $$06173$us = $$06173$us + 1 | 0; + } while (($$06173$us | 0) != ($3 | 0)); + return; +} + +function ___fdopen($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $11 = 0, $12 = 0, $16 = 0, $2 = 0, $21 = 0, $26 = 0, $28 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, $vararg_buffer2 = 0, $vararg_buffer7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $vararg_buffer7 = sp + 24 | 0; + $vararg_buffer2 = sp + 8 | 0; + $vararg_buffer = sp; + $2 = sp + 40 | 0; + if (_strchr(50840, HEAP8[$1 >> 0] | 0) | 0) { + $8 = _malloc(1176) | 0; + if (!$8) $$0 = 0; else { + _memset($8 | 0, 0, 144) | 0; + $11 = (_strchr($1, 43) | 0) == 0; + $12 = HEAP8[$1 >> 0] | 0; + if ($11) HEAP32[$8 >> 2] = $12 << 24 >> 24 == 114 ? 8 : 4; + if ($12 << 24 >> 24 == 97) { + HEAP32[$vararg_buffer >> 2] = $0; + HEAP32[$vararg_buffer + 4 >> 2] = 3; + $16 = ___syscall221(221, $vararg_buffer | 0) | 0; + if (!($16 & 1024)) { + HEAP32[$vararg_buffer2 >> 2] = $0; + HEAP32[$vararg_buffer2 + 4 >> 2] = 4; + HEAP32[$vararg_buffer2 + 8 >> 2] = $16 | 1024; + ___syscall221(221, $vararg_buffer2 | 0) | 0; + } + $21 = HEAP32[$8 >> 2] | 128; + HEAP32[$8 >> 2] = $21; + $28 = $21; + } else $28 = HEAP32[$8 >> 2] | 0; + HEAP32[$8 + 60 >> 2] = $0; + HEAP32[$8 + 44 >> 2] = $8 + 152; + HEAP32[$8 + 48 >> 2] = 1024; + $26 = $8 + 75 | 0; + HEAP8[$26 >> 0] = -1; + if (($28 & 8 | 0) == 0 ? (HEAP32[$vararg_buffer7 >> 2] = $0, HEAP32[$vararg_buffer7 + 4 >> 2] = 21523, HEAP32[$vararg_buffer7 + 8 >> 2] = $2, (___syscall54(54, $vararg_buffer7 | 0) | 0) == 0) : 0) HEAP8[$26 >> 0] = 10; + HEAP32[$8 + 32 >> 2] = 2; + HEAP32[$8 + 36 >> 2] = 1; + HEAP32[$8 + 40 >> 2] = 1; + HEAP32[$8 + 12 >> 2] = 2; + if (!(HEAP32[16328] | 0)) HEAP32[$8 + 76 >> 2] = -1; + ___ofl_add($8) | 0; + $$0 = $8; + } + } else { + $7 = ___errno_location() | 0; + HEAP32[$7 >> 2] = 28; + $$0 = 0; + } + STACKTOP = sp; + return $$0 | 0; +} + +function _setMarkerInfoVertex($id, $markerIndex) { + $id = $id | 0; + $markerIndex = $markerIndex | 0; + var $1 = 0, $10 = 0.0, $11 = 0.0, $4 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $8 = 0.0, $9 = 0.0, $arhandle = 0, $id$addr = 0, $retval$1 = 0, $spec$select = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $id$addr = sp; + HEAP32[$id$addr >> 2] = $id; + do if (__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0) { + $arhandle = (__ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0) + 216 | 0; + $1 = HEAP32[$arhandle >> 2] | 0; + if ((HEAP32[$1 + 44 >> 2] | 0) > ($markerIndex | 0)) { + $spec$select = ($markerIndex | 0) < 0 ? 64312 : $1 + 48 + ($markerIndex << 8) | 0; + $4 = +HEAPF64[7642]; + HEAPF64[$spec$select + 168 >> 3] = $4; + $5 = +HEAPF64[7643]; + HEAPF64[$spec$select + 176 >> 3] = $5; + $6 = +HEAPF64[7644]; + HEAPF64[$spec$select + 184 >> 3] = $6; + $7 = +HEAPF64[7645]; + HEAPF64[$spec$select + 192 >> 3] = $7; + $8 = +HEAPF64[7646]; + HEAPF64[$spec$select + 200 >> 3] = $8; + $9 = +HEAPF64[7647]; + HEAPF64[$spec$select + 208 >> 3] = $9; + $10 = +HEAPF64[7648]; + HEAPF64[$spec$select + 216 >> 3] = $10; + $11 = +HEAPF64[7649]; + HEAPF64[$spec$select + 224 >> 3] = $11; + HEAPF64[$spec$select + 56 >> 3] = ($4 + $6 + $8 + $10) * .25; + HEAPF64[$spec$select + 64 >> 3] = ($5 + $7 + $9 + $11) * .25; + $retval$1 = 0; + break; + } else { + $retval$1 = HEAP32[4226] | 0; + break; + } + } else $retval$1 = HEAP32[4224] | 0; while (0); + STACKTOP = sp; + return $retval$1 | 0; +} + +function _jinit_2pass_quantizer($0) { + $0 = $0 | 0; + var $$054 = 0, $1 = 0, $12 = 0, $17 = 0, $18 = 0, $22 = 0, $31 = 0, $33 = 0, $39 = 0, $4 = 0, $47 = 0, $51 = 0, $61 = 0, $7 = 0; + $1 = $0 + 4 | 0; + $4 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 44) | 0; + HEAP32[$0 + 484 >> 2] = $4; + HEAP32[$4 >> 2] = 134; + HEAP32[$4 + 12 >> 2] = 188; + $7 = $4 + 32 | 0; + HEAP32[$7 >> 2] = 0; + HEAP32[$4 + 40 >> 2] = 0; + if ((HEAP32[$0 + 120 >> 2] | 0) != 3) { + $12 = HEAP32[$0 >> 2] | 0; + HEAP32[$12 + 20 >> 2] = 48; + FUNCTION_TABLE_vi[HEAP32[$12 >> 2] & 255]($0); + } + $17 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 128) | 0; + $18 = $4 + 24 | 0; + HEAP32[$18 >> 2] = $17; + $$054 = 0; + do { + $22 = FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$1 >> 2] | 0) + 4 >> 2] & 63]($0, 1, 4096) | 0; + HEAP32[(HEAP32[$18 >> 2] | 0) + ($$054 << 2) >> 2] = $22; + $$054 = $$054 + 1 | 0; + } while (($$054 | 0) != 32); + HEAP32[$4 + 28 >> 2] = 1; + if (!(HEAP32[$0 + 108 >> 2] | 0)) HEAP32[$4 + 16 >> 2] = 0; else { + $31 = HEAP32[$0 + 96 >> 2] | 0; + if (($31 | 0) >= 8) { + if (($31 | 0) > 256) { + $39 = HEAP32[$0 >> 2] | 0; + HEAP32[$39 + 20 >> 2] = 59; + HEAP32[$39 + 24 >> 2] = 256; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + } else { + $33 = HEAP32[$0 >> 2] | 0; + HEAP32[$33 + 20 >> 2] = 58; + HEAP32[$33 + 24 >> 2] = 8; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + $47 = FUNCTION_TABLE_iiiii[HEAP32[(HEAP32[$1 >> 2] | 0) + 8 >> 2] & 15]($0, 1, $31, 3) | 0; + HEAP32[$4 + 16 >> 2] = $47; + HEAP32[$4 + 20 >> 2] = $31; + } + $51 = $0 + 88 | 0; + if (!(HEAP32[$51 >> 2] | 0)) return; + HEAP32[$51 >> 2] = 2; + $61 = FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$1 >> 2] | 0) + 4 >> 2] & 63]($0, 1, ((HEAP32[$0 + 112 >> 2] | 0) * 6 | 0) + 12 | 0) | 0; + HEAP32[$7 >> 2] = $61; + _init_error_limit($0); + return; +} + +function ___stdio_write($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$048 = 0, $$049 = 0, $$050 = 0, $$052 = 0, $$153 = 0, $$156$ph = 0, $10 = 0, $14 = 0, $20 = 0, $22 = 0, $27 = 0, $3 = 0, $38 = 0, $39 = 0, $4 = 0, $45 = 0, $5 = 0, $6 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $3 = sp; + $4 = sp + 16 | 0; + $5 = $0 + 28 | 0; + $6 = HEAP32[$5 >> 2] | 0; + HEAP32[$3 >> 2] = $6; + $8 = $0 + 20 | 0; + $10 = (HEAP32[$8 >> 2] | 0) - $6 | 0; + HEAP32[$3 + 4 >> 2] = $10; + HEAP32[$3 + 8 >> 2] = $1; + HEAP32[$3 + 12 >> 2] = $2; + $14 = $0 + 60 | 0; + $$049 = 2; + $$050 = $10 + $2 | 0; + $$052 = $3; + while (1) { + if (!(___wasi_syscall_ret(___wasi_fd_write(HEAP32[$14 >> 2] | 0, $$052 | 0, $$049 | 0, $4 | 0) | 0) | 0)) $20 = HEAP32[$4 >> 2] | 0; else { + HEAP32[$4 >> 2] = -1; + $20 = -1; + } + if (($$050 | 0) == ($20 | 0)) { + label = 6; + break; + } + if (($20 | 0) < 0) { + label = 8; + break; + } + $38 = HEAP32[$$052 + 4 >> 2] | 0; + $39 = $20 >>> 0 > $38 >>> 0; + $$153 = $39 ? $$052 + 8 | 0 : $$052; + $$048 = $20 - ($39 ? $38 : 0) | 0; + HEAP32[$$153 >> 2] = (HEAP32[$$153 >> 2] | 0) + $$048; + $45 = $$153 + 4 | 0; + HEAP32[$45 >> 2] = (HEAP32[$45 >> 2] | 0) - $$048; + $$049 = $$049 + ($39 << 31 >> 31) | 0; + $$050 = $$050 - $20 | 0; + $$052 = $$153; + } + if ((label | 0) == 6) { + $22 = HEAP32[$0 + 44 >> 2] | 0; + HEAP32[$0 + 16 >> 2] = $22 + (HEAP32[$0 + 48 >> 2] | 0); + $27 = $22; + HEAP32[$5 >> 2] = $27; + HEAP32[$8 >> 2] = $27; + $$156$ph = $2; + } else if ((label | 0) == 8) { + HEAP32[$0 + 16 >> 2] = 0; + HEAP32[$5 >> 2] = 0; + HEAP32[$8 >> 2] = 0; + HEAP32[$0 >> 2] = HEAP32[$0 >> 2] | 32; + if (($$049 | 0) == 2) $$156$ph = 0; else $$156$ph = $2 - (HEAP32[$$052 + 4 >> 2] | 0) | 0; + } + STACKTOP = sp; + return $$156$ph | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EEaSEOS4_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $12 = 0, $14 = 0, $2 = 0, $23 = 0, $25 = 0, $26 = 0, $27 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $5 = 0, $9 = 0; + $2 = __ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EE8isInlineEv($1) | 0; + $3 = __ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EE8isInlineEv($0) | 0; + do if (!$2) if ($3) { + HEAP32[$0 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$1 + 4 >> 2]; + HEAP32[$0 + 8 >> 2] = HEAP32[$1 + 8 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EE11clearInlineEv($1); + break; + } else { + $23 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$1 >> 2] = $23; + $25 = $0 + 4 | 0; + $26 = $1 + 4 | 0; + $27 = HEAP32[$25 >> 2] | 0; + HEAP32[$25 >> 2] = HEAP32[$26 >> 2]; + HEAP32[$26 >> 2] = $27; + $29 = $0 + 8 | 0; + $30 = $1 + 8 | 0; + $31 = HEAP32[$29 >> 2] | 0; + HEAP32[$29 >> 2] = HEAP32[$30 >> 2]; + HEAP32[$30 >> 2] = $31; + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EE5clearEv($1); + break; + } else { + if (!$3) { + _free(HEAP32[$0 >> 2] | 0); + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EE11clearInlineEv($0); + } + $5 = __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EE5beginEv($1) | 0; + $9 = (__ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EE3endEv($1) | 0) - $5 | 0; + if ($9 | 0) _memmove(HEAP32[$0 >> 2] | 0, $5 | 0, $9 | 0) | 0; + $12 = HEAP32[$0 >> 2] | 0; + $14 = $12 + ((__ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EE4sizeEv($1) | 0) << 2) | 0; + HEAP32[$0 + 4 >> 2] = $14; + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EE5clearEv($1); + } while (0); + return; +} + +function _ar2ScreenCoord2MarkerCoord($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = +$2; + $3 = +$3; + $4 = $4 | 0; + $5 = $5 | 0; + var $$0 = 0, $$055 = 0.0, $$056 = 0.0, $$057 = 0.0, $$058 = 0.0, $$059 = 0.0, $$sink = 0.0, $$sink60 = 0.0, $11 = 0.0, $16 = 0.0, $32 = 0.0, $43 = 0.0, $44 = 0.0, $49 = 0.0, $54 = 0.0, $6 = 0, $66 = 0.0, $7 = 0, $72 = 0.0, $75 = 0.0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(64); + $6 = sp + 52 | 0; + $7 = sp + 48 | 0; + $8 = sp; + if ($0) if ((_arParamObserv2IdealLTf($0 + 184 | 0, $2, $3, $6, $7) | 0) < 0) $$0 = -1; else { + _arUtilMatMuldff($0 + 8 | 0, $1, $8) | 0; + $43 = +HEAPF32[$8 + 32 >> 2]; + $44 = +HEAPF32[$6 >> 2]; + $49 = +HEAPF32[$8 + 36 >> 2]; + $54 = +HEAPF32[$7 >> 2]; + $66 = +HEAPF32[$8 + 44 >> 2]; + $$055 = +HEAPF32[$8 + 12 >> 2] - $44 * $66; + $$056 = $49 * $54 - +HEAPF32[$8 + 20 >> 2]; + $$057 = $43 * $54 - +HEAPF32[$8 + 16 >> 2]; + $$058 = $44 * $49 - +HEAPF32[$8 + 4 >> 2]; + $$059 = $43 * $44 - +HEAPF32[$8 >> 2]; + $$sink = +HEAPF32[$8 + 28 >> 2]; + $$sink60 = $54 * $66; + label = 5; + } else { + $11 = +HEAPF32[$1 + 32 >> 2]; + $16 = +HEAPF32[$1 + 36 >> 2]; + $32 = +HEAPF32[$1 + 44 >> 2]; + $$055 = +HEAPF32[$1 + 12 >> 2] - $32 * $2; + $$056 = $16 * $3 - +HEAPF32[$1 + 20 >> 2]; + $$057 = $11 * $3 - +HEAPF32[$1 + 16 >> 2]; + $$058 = $16 * $2 - +HEAPF32[$1 + 4 >> 2]; + $$059 = $11 * $2 - +HEAPF32[$1 >> 2]; + $$sink = +HEAPF32[$1 + 28 >> 2]; + $$sink60 = $32 * $3; + label = 5; + } + if ((label | 0) == 5) { + $72 = $$sink - $$sink60; + $75 = $$059 * $$056 - $$058 * $$057; + if ($75 == 0.0) $$0 = -1; else { + HEAPF32[$4 >> 2] = ($$056 * $$055 - $$058 * $72) / $75; + HEAPF32[$5 >> 2] = ($$059 * $72 - $$057 * $$055) / $75; + $$0 = 0; + } + } + STACKTOP = sp; + return $$0 | 0; +} + +function ___vfprintf_internal($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0 = 0, $$1 = 0, $15 = 0, $16 = 0, $21 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $30 = 0, $31 = 0, $37 = 0, $42 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $spec$select = 0, dest = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 224 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(224); + $5 = sp + 208 | 0; + $6 = sp + 160 | 0; + $7 = sp + 80 | 0; + $8 = sp; + dest = $6; + stop = dest + 40 | 0; + do { + HEAP32[dest >> 2] = 0; + dest = dest + 4 | 0; + } while ((dest | 0) < (stop | 0)); + HEAP32[$5 >> 2] = HEAP32[$2 >> 2]; + if ((_printf_core(0, $1, $5, $7, $6, $3, $4) | 0) < 0) $$0 = -1; else { + if ((HEAP32[$0 + 76 >> 2] | 0) > -1) $42 = ___lockfile($0) | 0; else $42 = 0; + $15 = HEAP32[$0 >> 2] | 0; + $16 = $15 & 32; + if ((HEAP8[$0 + 74 >> 0] | 0) < 1) HEAP32[$0 >> 2] = $15 & -33; + $21 = $0 + 48 | 0; + if (!(HEAP32[$21 >> 2] | 0)) { + $25 = $0 + 44 | 0; + $26 = HEAP32[$25 >> 2] | 0; + HEAP32[$25 >> 2] = $8; + $27 = $0 + 28 | 0; + HEAP32[$27 >> 2] = $8; + $28 = $0 + 20 | 0; + HEAP32[$28 >> 2] = $8; + HEAP32[$21 >> 2] = 80; + $30 = $0 + 16 | 0; + HEAP32[$30 >> 2] = $8 + 80; + $31 = _printf_core($0, $1, $5, $7, $6, $3, $4) | 0; + if (!$26) $$1 = $31; else { + FUNCTION_TABLE_iiii[HEAP32[$0 + 36 >> 2] & 63]($0, 0, 0) | 0; + $spec$select = (HEAP32[$28 >> 2] | 0) == 0 ? -1 : $31; + HEAP32[$25 >> 2] = $26; + HEAP32[$21 >> 2] = 0; + HEAP32[$30 >> 2] = 0; + HEAP32[$27 >> 2] = 0; + HEAP32[$28 >> 2] = 0; + $$1 = $spec$select; + } + } else $$1 = _printf_core($0, $1, $5, $7, $6, $3, $4) | 0; + $37 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = $37 | $16; + if ($42 | 0) ___unlockfile($0); + $$0 = ($37 & 32 | 0) == 0 ? $$1 : -1; + } + STACKTOP = sp; + return $$0 | 0; +} + +function _setupAR2($id) { + $id = $id | 0; + var $2 = 0, $ar2Handle = 0, $call23 = 0, $call7 = 0, $call8 = 0, $id$addr = 0, $kpmHandle = 0, $kpmHandle24$pre$phiZ2D = 0, $paramLT = 0, $retval$0 = 0, $vararg_buffer = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $vararg_buffer = sp; + $id$addr = sp + 4 | 0; + HEAP32[$id$addr >> 2] = $id; + if (!(__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0)) $retval$0 = -1; else { + $call7 = __ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0; + $paramLT = $call7 + 192 | 0; + $call8 = _ar2CreateHandleMod(HEAP32[$paramLT >> 2] | 0, HEAP32[$call7 + 472 >> 2] | 0) | 0; + $ar2Handle = $call7 + 236 | 0; + HEAP32[$ar2Handle >> 2] = $call8; + if (!$call8) { + _arLog(0, 3, 45395, $vararg_buffer); + $kpmHandle = $call7 + 232 | 0; + _kpmDeleteHandle($kpmHandle) | 0; + $2 = HEAP32[$ar2Handle >> 2] | 0; + $kpmHandle24$pre$phiZ2D = $kpmHandle; + } else { + $2 = $call8; + $kpmHandle24$pre$phiZ2D = $call7 + 232 | 0; + } + _ar2SetTrackingThresh($2, 5.0) | 0; + _ar2SetSimThresh(HEAP32[$ar2Handle >> 2] | 0, .5) | 0; + _ar2SetSearchFeatureNum(HEAP32[$ar2Handle >> 2] | 0, 16) | 0; + _ar2SetSearchSize(HEAP32[$ar2Handle >> 2] | 0, 6) | 0; + _ar2SetTemplateSize1(HEAP32[$ar2Handle >> 2] | 0, 6) | 0; + _ar2SetTemplateSize2(HEAP32[$ar2Handle >> 2] | 0, 6) | 0; + $call23 = _createKpmHandle(HEAP32[$paramLT >> 2] | 0) | 0; + HEAP32[$kpmHandle24$pre$phiZ2D >> 2] = $call23; + $retval$0 = 0; + } + STACKTOP = sp; + return $retval$0 | 0; +} + +function __ZNSt3__216__pad_and_outputIcNS_11char_traitsIcEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4_($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, $$sroa$0$2 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $16 = 0, $17 = 0, $35 = 0, $6 = 0, $7 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $6 = sp; + $7 = HEAP32[$0 >> 2] | 0; + L1 : do if (!$7) $$sroa$0$2 = 0; else { + $9 = $3; + $10 = $1; + $11 = $9 - $10 | 0; + $12 = $4 + 12 | 0; + $13 = HEAP32[$12 >> 2] | 0; + $$0 = ($13 | 0) > ($11 | 0) ? $13 - $11 | 0 : 0; + $16 = $2; + $17 = $16 - $10 | 0; + if (($17 | 0) > 0 ? (FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$7 >> 2] | 0) + 48 >> 2] & 63]($7, $1, $17) | 0) != ($17 | 0) : 0) { + HEAP32[$0 >> 2] = 0; + $$sroa$0$2 = 0; + break; + } + do if (($$0 | 0) > 0) { + HEAP32[$6 >> 2] = 0; + HEAP32[$6 + 4 >> 2] = 0; + HEAP32[$6 + 8 >> 2] = 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEmc($6, $$0, $5); + if ((FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$7 >> 2] | 0) + 48 >> 2] & 63]($7, (HEAP8[$6 + 11 >> 0] | 0) < 0 ? HEAP32[$6 >> 2] | 0 : $6, $$0) | 0) == ($$0 | 0)) { + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($6); + break; + } else { + HEAP32[$0 >> 2] = 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($6); + $$sroa$0$2 = 0; + break L1; + } + } while (0); + $35 = $9 - $16 | 0; + if (($35 | 0) > 0 ? (FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$7 >> 2] | 0) + 48 >> 2] & 63]($7, $2, $35) | 0) != ($35 | 0) : 0) { + HEAP32[$0 >> 2] = 0; + $$sroa$0$2 = 0; + break; + } + HEAP32[$12 >> 2] = 0; + $$sroa$0$2 = $7; + } while (0); + STACKTOP = sp; + return $$sroa$0$2 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseCallOffsetEv($0) { + $0 = $0 | 0; + var $$03 = 0, $$ph = 0, $1 = 0, $13 = 0, $14 = 0, $2 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp + 8 | 0; + $2 = sp; + if (!(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 104) | 0)) if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 118) | 0) { + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E11parseNumberEb($1, $0, 1); + if (!(__ZNK12_GLOBAL__N_110StringView5emptyEv($1) | 0) ? __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 95) | 0 : 0) { + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E11parseNumberEb($2, $0, 1); + if (__ZNK12_GLOBAL__N_110StringView5emptyEv($2) | 0) $$ph = 1; else $$ph = (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 95) | 0) ^ 1; + $14 = $$ph; + } else $14 = 1; + $$03 = $14; + } else $$03 = 1; else { + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E11parseNumberEb($1, $0, 1); + if (__ZNK12_GLOBAL__N_110StringView5emptyEv($1) | 0) $13 = 1; else $13 = (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 95) | 0) ^ 1; + $$03 = $13; + } + STACKTOP = sp; + return $$03 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E19parseUnresolvedTypeEv($0) { + $0 = $0 | 0; + var $$0 = 0, $$1 = 0, $$2 = 0, $1 = 0, $4 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + switch ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 0) | 0) << 24 >> 24) { + case 84: + { + $4 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E18parseTemplateParamEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$1 >> 2] = $4; + if (!$4) $$0 = 0; else { + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE9push_backERKS3_($0 + 148 | 0, $1); + $$0 = $4; + } + $$2 = $$0; + break; + } + case 68: + { + $8 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E13parseDecltypeEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$1 >> 2] = $8; + if (!$8) $$1 = 0; else { + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE9push_backERKS3_($0 + 148 | 0, $1); + $$1 = $8; + } + $$2 = $$1; + break; + } + default: + $$2 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E17parseSubstitutionEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + } + STACKTOP = sp; + return $$2 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle16FloatLiteralImplIfE9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0$i$i = 0, $$0$idx = 0, $$034 = 0, $$07$i$i = 0, $$byval_copy = 0, $15 = 0, $18 = 0, $2 = 0, $24 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $scevgep = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $$byval_copy = sp + 24 | 0; + $2 = sp + 40 | 0; + $3 = sp; + $4 = sp + 32 | 0; + $5 = $0 + 8 | 0; + $6 = __ZNK12_GLOBAL__N_110StringView5beginEv($5) | 0; + if (((__ZNK12_GLOBAL__N_110StringView3endEv($5) | 0) + 1 - $6 | 0) >>> 0 > 8) { + $scevgep = $2 + 4 | 0; + $$0$idx = 0; + $$034 = $2; + while (1) { + if (($$0$idx | 0) == 8) break; + $15 = HEAP8[$6 + $$0$idx >> 0] | 0; + $18 = HEAP8[$6 + ($$0$idx | 1) >> 0] | 0; + HEAP8[$$034 >> 0] = (($18 + -48 | 0) >>> 0 < 10 ? 208 : 169) + $18 + ((($15 + -48 | 0) >>> 0 < 10 ? 0 : 9) + $15 << 4); + $$0$idx = $$0$idx + 2 | 0; + $$034 = $$034 + 1 | 0; + } + $$0$i$i = $scevgep; + $$07$i$i = $2; + while (1) { + $24 = $$0$i$i + -1 | 0; + if ($$07$i$i >>> 0 >= $24 >>> 0) break; + $26 = HEAP8[$$07$i$i >> 0] | 0; + HEAP8[$$07$i$i >> 0] = HEAP8[$24 >> 0] | 0; + HEAP8[$24 >> 0] = $26; + $$0$i$i = $24; + $$07$i$i = $$07$i$i + 1 | 0; + } + HEAP32[$3 >> 2] = 0; + HEAP32[$3 + 4 >> 2] = 0; + HEAP32[$3 + 8 >> 2] = 0; + HEAP32[$3 + 12 >> 2] = 0; + HEAP32[$3 + 16 >> 2] = 0; + HEAP32[$3 + 20 >> 2] = 0; + HEAPF64[$$byval_copy >> 3] = +HEAPF32[$2 >> 2]; + __ZN12_GLOBAL__N_110StringViewC2EPKcS2_($4, $3, $3 + (_snprintf($3, 24, 52451, $$byval_copy) | 0) | 0); + HEAP32[$$byval_copy >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy); + } + STACKTOP = sp; + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle16FloatLiteralImplIeE9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0$i$i = 0, $$0$idx = 0, $$034 = 0, $$07$i$i = 0, $$byval_copy = 0, $15 = 0, $18 = 0, $2 = 0, $24 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $scevgep = 0, dest = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(64); + $$byval_copy = sp + 48 | 0; + $2 = sp + 40 | 0; + $3 = sp; + $4 = sp + 56 | 0; + $5 = $0 + 8 | 0; + $6 = __ZNK12_GLOBAL__N_110StringView5beginEv($5) | 0; + if (((__ZNK12_GLOBAL__N_110StringView3endEv($5) | 0) + 1 - $6 | 0) >>> 0 > 20) { + $scevgep = $2 + 8 | 0; + $$0$idx = 0; + $$034 = $2; + while (1) { + if (($$0$idx | 0) == 20) break; + $15 = HEAP8[$6 + $$0$idx >> 0] | 0; + $18 = HEAP8[$6 + ($$0$idx | 1) >> 0] | 0; + HEAP8[$$034 >> 0] = (($18 + -48 | 0) >>> 0 < 10 ? 208 : 169) + $18 + ((($15 + -48 | 0) >>> 0 < 10 ? 0 : 9) + $15 << 4); + $$0$idx = $$0$idx + 2 | 0; + $$034 = $$034 + 1 | 0; + } + $$0$i$i = $scevgep + 2 | 0; + $$07$i$i = $2; + while (1) { + $24 = $$0$i$i + -1 | 0; + if ($$07$i$i >>> 0 >= $24 >>> 0) break; + $26 = HEAP8[$$07$i$i >> 0] | 0; + HEAP8[$$07$i$i >> 0] = HEAP8[$24 >> 0] | 0; + HEAP8[$24 >> 0] = $26; + $$0$i$i = $24; + $$07$i$i = $$07$i$i + 1 | 0; + } + dest = $3; + stop = dest + 40 | 0; + do { + HEAP32[dest >> 2] = 0; + dest = dest + 4 | 0; + } while ((dest | 0) < (stop | 0)); + HEAPF64[$$byval_copy >> 3] = +HEAPF64[$2 >> 3]; + __ZN12_GLOBAL__N_110StringViewC2EPKcS2_($4, $3, $3 + (_snprintf($3, 40, 52331, $$byval_copy) | 0) | 0); + HEAP32[$$byval_copy >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy); + } + STACKTOP = sp; + return; +} + +function __ZNSt3__2L11init_wweeksEv() { + var $$0$i$i = 0, $4 = 0; + if ((HEAP8[64736] | 0) == 0 ? ___cxa_guard_acquire(64736) | 0 : 0) { + $4 = 64128; + do { + HEAP32[$4 >> 2] = 0; + HEAP32[$4 + 4 >> 2] = 0; + HEAP32[$4 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$4 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + $4 = $4 + 12 | 0; + } while (($4 | 0) != 64296); + ___cxa_guard_release(64736); + } + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw(64128, 22348) | 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw(64140, 22376) | 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw(64152, 22404) | 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw(64164, 22436) | 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw(64176, 22476) | 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw(64188, 22512) | 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw(64200, 22540) | 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw(64212, 22576) | 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw(64224, 22592) | 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw(64236, 22608) | 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw(64248, 22624) | 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw(64260, 22640) | 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw(64272, 22656) | 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw(64284, 22672) | 0; + return; +} + +function __ZNSt3__2L10init_weeksEv() { + var $$0$i$i = 0, $4 = 0; + if ((HEAP8[64656] | 0) == 0 ? ___cxa_guard_acquire(64656) | 0 : 0) { + $4 = 63632; + do { + HEAP32[$4 >> 2] = 0; + HEAP32[$4 + 4 >> 2] = 0; + HEAP32[$4 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$4 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + $4 = $4 + 12 | 0; + } while (($4 | 0) != 63800); + ___cxa_guard_release(64656); + } + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc(63632, 59589) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc(63644, 59596) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc(63656, 59603) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc(63668, 59611) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc(63680, 59621) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc(63692, 59630) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc(63704, 59637) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc(63716, 59646) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc(63728, 59650) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc(63740, 59654) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc(63752, 59658) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc(63764, 59662) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc(63776, 59666) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc(63788, 59670) | 0; + return; +} + +function _arParamLTCreate($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$057 = 0, $$058 = 0, $$059 = 0, $$1 = 0, $$160 = 0, $10 = 0, $15 = 0, $2 = 0, $20 = 0, $21 = 0, $23 = 0, $26 = 0, $28 = 0, $3 = 0, $32 = 0.0, $36 = 0.0, $4 = 0, $5 = 0, $6 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(64); + $2 = sp + 24 | 0; + $3 = sp + 16 | 0; + $4 = sp + 8 | 0; + $5 = sp; + $6 = _malloc(208) | 0; + if (!$6) { + _arLog(0, 3, 45930, sp + 32 | 0); + _exit(1); + } + _memcpy($6 | 0, $0 | 0, 184) | 0; + $9 = $1 << 1; + $10 = (HEAP32[$0 >> 2] | 0) + $9 | 0; + HEAP32[$6 + 192 >> 2] = $10; + $15 = (HEAP32[$0 + 4 >> 2] | 0) + $9 | 0; + HEAP32[$6 + 196 >> 2] = $15; + HEAP32[$6 + 200 >> 2] = $1; + HEAP32[$6 + 204 >> 2] = $1; + $20 = Math_imul($10 << 3, $15) | 0; + $21 = _malloc($20) | 0; + HEAP32[$6 + 184 >> 2] = $21; + if (!$21) { + _arLog(0, 3, 45930, sp + 40 | 0); + _exit(1); + } + $23 = _malloc($20) | 0; + HEAP32[$6 + 188 >> 2] = $23; + if (!$23) { + _arLog(0, 3, 45930, sp + 48 | 0); + _exit(1); + } + $26 = $0 + 104 | 0; + $28 = HEAP32[$0 + 176 >> 2] | 0; + $$0 = 0; + $$058 = $23; + $$059 = $21; + while (1) { + if (($$0 | 0) >= ($15 | 0)) break; + $32 = +($$0 - $1 | 0); + $$057 = 0; + $$1 = $$058; + $$160 = $$059; + while (1) { + if (($$057 | 0) >= ($10 | 0)) break; + $36 = +($$057 - $1 | 0); + _arParamIdeal2Observ($26, $36, $32, $4, $5, $28) | 0; + HEAPF32[$$160 >> 2] = +HEAPF64[$4 >> 3]; + HEAPF32[$$160 + 4 >> 2] = +HEAPF64[$5 >> 3]; + _arParamObserv2Ideal($26, $36, $32, $2, $3, $28) | 0; + HEAPF32[$$1 >> 2] = +HEAPF64[$2 >> 3]; + HEAPF32[$$1 + 4 >> 2] = +HEAPF64[$3 >> 3]; + $$057 = $$057 + 1 | 0; + $$1 = $$1 + 8 | 0; + $$160 = $$160 + 8 | 0; + } + $$0 = $$0 + 1 | 0; + $$058 = $$1; + $$059 = $$160; + } + STACKTOP = sp; + return $6 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle22ParameterPackExpansion9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$byval_copy1 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(64); + $$byval_copy1 = sp + 48 | 0; + $2 = sp + 32 | 0; + $3 = sp + 8 | 0; + $4 = sp + 24 | 0; + $5 = sp; + $6 = $1 + 12 | 0; + __ZN12_GLOBAL__N_114SwapAndRestoreIjEC2ERjj($2, $6); + $7 = $1 + 16 | 0; + __ZN12_GLOBAL__N_114SwapAndRestoreIjEC2ERjj($3, $7); + $8 = __ZNK12_GLOBAL__N_112OutputStream18getCurrentPositionEv($1) | 0; + $9 = $0 + 8 | 0; + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$9 >> 2] | 0, $1); + $11 = HEAP32[$7 >> 2] | 0; + L1 : do switch ($11 | 0) { + case -1: + { + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, 51510); + HEAP32[$$byval_copy1 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy1 + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy1); + break; + } + case 0: + { + __ZN12_GLOBAL__N_112OutputStream18setCurrentPositionEm($1, $8); + break; + } + default: + { + $$0 = 1; + while (1) { + if ($$0 >>> 0 >= $11 >>> 0) break L1; + __ZN12_GLOBAL__N_110StringViewC2EPKc($5, 52152); + HEAP32[$$byval_copy1 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$$byval_copy1 + 4 >> 2] = HEAP32[$5 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy1); + HEAP32[$6 >> 2] = $$0; + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$9 >> 2] | 0, $1); + $$0 = $$0 + 1 | 0; + } + } + } while (0); + __ZN12_GLOBAL__N_114SwapAndRestoreIjED2Ev($3); + __ZN12_GLOBAL__N_114SwapAndRestoreIjED2Ev($2); + STACKTOP = sp; + return; +} + +function _mbtowc($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $13 = 0, $17 = 0, $21 = 0, $23 = 0, $25 = 0, $3 = 0, $33 = 0, $34 = 0, $42 = 0, $47 = 0, $50 = 0, $55 = 0, $59 = 0, $7 = 0, $spec$select = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp; + L1 : do if (!$1) $$0 = 0; else { + do if ($2 | 0) { + $spec$select = ($0 | 0) == 0 ? $3 : $0; + $7 = HEAP8[$1 >> 0] | 0; + if ($7 << 24 >> 24 > -1) { + HEAP32[$spec$select >> 2] = $7 & 255; + $$0 = $7 << 24 >> 24 != 0 & 1; + break L1; + } + $13 = (___pthread_self_420() | 0) + 188 | 0; + $17 = HEAP8[$1 >> 0] | 0; + if (!(HEAP32[HEAP32[$13 >> 2] >> 2] | 0)) { + HEAP32[$spec$select >> 2] = $17 << 24 >> 24 & 57343; + $$0 = 1; + break L1; + } + $21 = ($17 & 255) + -194 | 0; + if ($21 >>> 0 <= 50) { + $23 = $1 + 1 | 0; + $25 = HEAP32[5728 + ($21 << 2) >> 2] | 0; + if ($2 >>> 0 < 4 ? $25 & -2147483648 >>> (($2 * 6 | 0) + -6 | 0) | 0 : 0) break; + $33 = HEAPU8[$23 >> 0] | 0; + $34 = $33 >>> 3; + if (($34 + -16 | $34 + ($25 >> 26)) >>> 0 <= 7) { + $42 = $33 + -128 | $25 << 6; + if (($42 | 0) >= 0) { + HEAP32[$spec$select >> 2] = $42; + $$0 = 2; + break L1; + } + $47 = (HEAPU8[$1 + 2 >> 0] | 0) + -128 | 0; + if ($47 >>> 0 <= 63) { + $50 = $47 | $42 << 6; + if (($50 | 0) >= 0) { + HEAP32[$spec$select >> 2] = $50; + $$0 = 3; + break L1; + } + $55 = (HEAPU8[$1 + 3 >> 0] | 0) + -128 | 0; + if ($55 >>> 0 <= 63) { + HEAP32[$spec$select >> 2] = $55 | $50 << 6; + $$0 = 4; + break L1; + } + } + } + } + } while (0); + $59 = ___errno_location() | 0; + HEAP32[$59 >> 2] = 25; + $$0 = -1; + } while (0); + STACKTOP = sp; + return $$0 | 0; +} + +function _teardown($id) { + $id = $id | 0; + var $0 = 0, $3 = 0, $__end_$i = 0, $call7 = 0, $i$0 = 0, $id$addr = 0, $multi_markers = 0, $retval$0 = 0, $videoFrame = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $id$addr = sp; + HEAP32[$id$addr >> 2] = $id; + if (!(__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0)) $retval$0 = -1; else { + $call7 = __ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0; + $videoFrame = $call7 + 196 | 0; + $0 = HEAP32[$videoFrame >> 2] | 0; + if ($0 | 0) { + _free($0); + HEAP32[$videoFrame >> 2] = 0; + HEAP32[$call7 + 200 >> 2] = 0; + } + _deleteHandle($call7); + _arPattDeleteHandle(HEAP32[$call7 + 220 >> 2] | 0) | 0; + __ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE14__erase_uniqueIiEEmRKT_(65260, $id$addr) | 0; + $multi_markers = $call7 + 328 | 0; + $__end_$i = $call7 + 332 | 0; + $i$0 = 0; + while (1) { + $3 = HEAP32[$multi_markers >> 2] | 0; + if ($i$0 >>> 0 >= (HEAP32[$__end_$i >> 2] | 0) - $3 >> 3 >>> 0) break; + _arMultiFreeConfig(HEAP32[$3 + ($i$0 << 3) + 4 >> 2] | 0) | 0; + $i$0 = $i$0 + 1 | 0; + } + __ZNSt3__213__vector_baseI12multi_markerNS_9allocatorIS1_EEED2Ev($multi_markers); + __ZdlPv($multi_markers); + __ZN12arControllerD2Ev($call7); + __ZdlPv($call7); + $retval$0 = 0; + } + STACKTOP = sp; + return $retval$0 | 0; +} + +function __ZNK6vision21HoughSimilarityVoting14getBinDistanceERfS1_S1_S1_ffffffff($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = +$5; + $6 = +$6; + $7 = +$7; + $8 = +$8; + $9 = +$9; + $10 = +$10; + $11 = +$11; + $12 = +$12; + var $13 = 0, $15 = 0.0, $17 = 0.0, $19 = 0.0, $21 = 0.0, $26 = 0.0, $33 = 0, $38 = 0, $42 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $13 = sp; + $15 = +Math_abs(+($5 - $9)); + HEAPF32[$1 >> 2] = $15; + $17 = +Math_abs(+($6 - $10)); + HEAPF32[$2 >> 2] = $17; + $19 = +Math_abs(+($8 - $12)); + HEAPF32[$4 >> 2] = $19; + $21 = +Math_abs(+($7 - $11)); + $26 = +__ZN6vision4min2IfEET_S1_S1_($21, +(HEAP32[$0 + 60 >> 2] | 0) - $21); + HEAPF32[$3 >> 2] = $26; + if (!($26 >= 0.0)) { + $33 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 36007) | 0, 36227) | 0, 39072) | 0, 333) | 0, 39079) | 0, 36048) | 0; + __ZNKSt3__28ios_base6getlocEv($13, $33 + (HEAP32[(HEAP32[$33 >> 2] | 0) + -12 >> 2] | 0) | 0); + $38 = __ZNKSt3__26locale9use_facetERNS0_2idE($13, 66512) | 0; + $42 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$38 >> 2] | 0) + 28 >> 2] & 127]($38, 10) | 0; + __ZNSt3__26localeD2Ev($13); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($33, $42) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($33) | 0; + _abort(); + } else { + STACKTOP = sp; + return; + } +} + +function __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy = 0, $10 = 0, $14 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $21 = 0, $25 = 0, $26 = 0, $28 = 0, $3 = 0, $31 = 0, $37 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 12 | 0; + $2 = sp + 8 | 0; + $3 = sp; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE6sentryC2ERS3_($3, $0); + if (HEAP8[$3 >> 0] | 0) { + __ZNKSt3__28ios_base6getlocEv($$byval_copy, $0 + (HEAP32[(HEAP32[$0 >> 2] | 0) + -12 >> 2] | 0) | 0); + $10 = __ZNKSt3__26locale9use_facetERNS0_2idE($$byval_copy, 66568) | 0; + __ZNSt3__26localeD2Ev($$byval_copy); + $14 = $0 + (HEAP32[(HEAP32[$0 >> 2] | 0) + -12 >> 2] | 0) | 0; + $16 = HEAP32[$14 + 24 >> 2] | 0; + $17 = __ZNSt3__211char_traitsIcE3eofEv() | 0; + $18 = $14 + 76 | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($17, HEAP32[$18 >> 2] | 0) | 0) { + __ZNKSt3__28ios_base6getlocEv($$byval_copy, $14); + $21 = __ZNKSt3__26locale9use_facetERNS0_2idE($$byval_copy, 66512) | 0; + $25 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$21 >> 2] | 0) + 28 >> 2] & 127]($21, 32) | 0; + __ZNSt3__26localeD2Ev($$byval_copy); + $26 = $25 << 24 >> 24; + HEAP32[$18 >> 2] = $26; + $28 = $26; + } else $28 = HEAP32[$18 >> 2] | 0; + $31 = HEAP32[(HEAP32[$10 >> 2] | 0) + 16 >> 2] | 0; + HEAP32[$2 >> 2] = $16; + HEAP32[$$byval_copy >> 2] = HEAP32[$2 >> 2]; + if (!(FUNCTION_TABLE_iiiiii[$31 & 31]($10, $$byval_copy, $14, $28 & 255, $1) | 0)) { + $37 = $0 + (HEAP32[(HEAP32[$0 >> 2] | 0) + -12 >> 2] | 0) | 0; + __ZNSt3__28ios_base5clearEj($37, HEAP32[$37 + 16 >> 2] | 5); + } + } + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE6sentryD2Ev($3); + STACKTOP = sp; + return $0 | 0; +} + +function _sep_upsample($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 $$05154 = 0, $$05253 = 0, $$1 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $14 = 0, $27 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $39 = 0, $40 = 0, $53 = 0, $8 = 0, $9 = 0, $spec$select = 0; + $8 = HEAP32[$0 + 476 >> 2] | 0; + $9 = $8 + 92 | 0; + $10 = HEAP32[$9 >> 2] | 0; + $11 = $0 + 320 | 0; + $12 = HEAP32[$11 >> 2] | 0; + if (($10 | 0) < ($12 | 0)) { + $34 = $10; + $35 = $12; + } else { + $14 = $0 + 36 | 0; + if ((HEAP32[$14 >> 2] | 0) > 0) { + $$05154 = HEAP32[$0 + 216 >> 2] | 0; + $$05253 = 0; + while (1) { + $27 = (HEAP32[$1 + ($$05253 << 2) >> 2] | 0) + ((Math_imul(HEAP32[$8 + 100 + ($$05253 << 2) >> 2] | 0, HEAP32[$2 >> 2] | 0) | 0) << 2) | 0; + FUNCTION_TABLE_viiii[HEAP32[$8 + 52 + ($$05253 << 2) >> 2] & 31]($0, $$05154, $27, $8 + 12 + ($$05253 << 2) | 0); + $$05253 = $$05253 + 1 | 0; + if (($$05253 | 0) >= (HEAP32[$14 >> 2] | 0)) break; else $$05154 = $$05154 + 88 | 0; + } + $$pre = HEAP32[$11 >> 2] | 0; + } else $$pre = $12; + HEAP32[$9 >> 2] = 0; + $34 = 0; + $35 = $$pre; + } + $33 = $35 - $34 | 0; + $36 = $8 + 96 | 0; + $37 = HEAP32[$36 >> 2] | 0; + $spec$select = $33 >>> 0 > $37 >>> 0 ? $37 : $33; + $39 = HEAP32[$5 >> 2] | 0; + $40 = $6 - $39 | 0; + $$1 = $spec$select >>> 0 > $40 >>> 0 ? $40 : $spec$select; + FUNCTION_TABLE_viiiii[HEAP32[(HEAP32[$0 + 480 >> 2] | 0) + 4 >> 2] & 63]($0, $8 + 12 | 0, $34, $4 + ($39 << 2) | 0, $$1); + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + $$1; + HEAP32[$36 >> 2] = (HEAP32[$36 >> 2] | 0) - $$1; + $53 = (HEAP32[$9 >> 2] | 0) + $$1 | 0; + HEAP32[$9 >> 2] = $53; + if (($53 | 0) < (HEAP32[$11 >> 2] | 0)) return; + HEAP32[$2 >> 2] = (HEAP32[$2 >> 2] | 0) + 1; + return; +} + +function __ZNSt3__224__put_character_sequenceIcNS_11char_traitsIcEEEERNS_13basic_ostreamIT_T0_EES7_PKS4_m($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$byval_copy = 0, $14 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $22 = 0, $26 = 0, $27 = 0, $29 = 0, $3 = 0, $38 = 0, $4 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 12 | 0; + $3 = sp; + $4 = sp + 8 | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE6sentryC2ERS3_($3, $0); + if (HEAP8[$3 >> 0] | 0) { + $8 = (HEAP32[$0 >> 2] | 0) + -12 | 0; + HEAP32[$4 >> 2] = HEAP32[$0 + (HEAP32[$8 >> 2] | 0) + 24 >> 2]; + $14 = $0 + (HEAP32[$8 >> 2] | 0) | 0; + $16 = HEAP32[$14 + 4 >> 2] | 0; + $17 = $1 + $2 | 0; + $18 = __ZNSt3__211char_traitsIcE3eofEv() | 0; + $19 = $14 + 76 | 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($18, HEAP32[$19 >> 2] | 0) | 0) { + __ZNKSt3__28ios_base6getlocEv($$byval_copy, $14); + $22 = __ZNKSt3__26locale9use_facetERNS0_2idE($$byval_copy, 66512) | 0; + $26 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$22 >> 2] | 0) + 28 >> 2] & 127]($22, 32) | 0; + __ZNSt3__26localeD2Ev($$byval_copy); + $27 = $26 << 24 >> 24; + HEAP32[$19 >> 2] = $27; + $29 = $27; + } else $29 = HEAP32[$19 >> 2] | 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$4 >> 2]; + if (!(__ZNSt3__216__pad_and_outputIcNS_11char_traitsIcEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4_($$byval_copy, $1, ($16 & 176 | 0) == 32 ? $17 : $1, $17, $14, $29 & 255) | 0)) { + $38 = $0 + (HEAP32[(HEAP32[$0 >> 2] | 0) + -12 >> 2] | 0) | 0; + __ZNSt3__28ios_base5clearEj($38, HEAP32[$38 + 16 >> 2] | 5); + } + } + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE6sentryD2Ev($3); + STACKTOP = sp; + return $0 | 0; +} + +function _quantize3_ord_dither($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$07076 = 0, $$07178 = 0, $$07178$us = 0, $$07275 = 0, $$07374 = 0, $$077 = 0, $$pre84 = 0, $10 = 0, $12 = 0, $14 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $22 = 0, $29 = 0, $30 = 0, $31 = 0, $36 = 0, $5 = 0, $7 = 0, $8 = 0; + $5 = HEAP32[$0 + 484 >> 2] | 0; + $7 = HEAP32[$5 + 24 >> 2] | 0; + $8 = HEAP32[$7 >> 2] | 0; + $10 = HEAP32[$7 + 4 >> 2] | 0; + $12 = HEAP32[$7 + 8 >> 2] | 0; + $14 = HEAP32[$0 + 112 >> 2] | 0; + if (($3 | 0) <= 0) return; + $16 = $5 + 48 | 0; + $17 = $5 + 52 | 0; + $18 = $5 + 56 | 0; + $19 = $5 + 60 | 0; + $$pre84 = HEAP32[$16 >> 2] | 0; + if (!$14) { + $$07178$us = 0; + $22 = $$pre84; + do { + $22 = $22 + 1 & 15; + $$07178$us = $$07178$us + 1 | 0; + } while (($$07178$us | 0) != ($3 | 0)); + HEAP32[$16 >> 2] = $22; + return; + } + $$07178 = 0; + $36 = $$pre84; + do { + $29 = HEAP32[$17 >> 2] | 0; + $30 = HEAP32[$18 >> 2] | 0; + $31 = HEAP32[$19 >> 2] | 0; + $$07076 = $14; + $$07275 = 0; + $$07374 = HEAP32[$2 + ($$07178 << 2) >> 2] | 0; + $$077 = HEAP32[$1 + ($$07178 << 2) >> 2] | 0; + while (1) { + HEAP8[$$07374 >> 0] = (HEAPU8[$10 + ((HEAP32[$30 + ($36 << 6) + ($$07275 << 2) >> 2] | 0) + (HEAPU8[$$077 + 1 >> 0] | 0)) >> 0] | 0) + (HEAPU8[$8 + ((HEAP32[$29 + ($36 << 6) + ($$07275 << 2) >> 2] | 0) + (HEAPU8[$$077 >> 0] | 0)) >> 0] | 0) + (HEAPU8[$12 + ((HEAP32[$31 + ($36 << 6) + ($$07275 << 2) >> 2] | 0) + (HEAPU8[$$077 + 2 >> 0] | 0)) >> 0] | 0); + $$07076 = $$07076 + -1 | 0; + if (!$$07076) break; else { + $$07275 = $$07275 + 1 & 15; + $$07374 = $$07374 + 1 | 0; + $$077 = $$077 + 3 | 0; + } + } + $36 = $36 + 1 & 15; + HEAP32[$16 >> 2] = $36; + $$07178 = $$07178 + 1 | 0; + } while (($$07178 | 0) != ($3 | 0)); + return; +} + +function __ZNSt3__216__check_groupingERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEPjS8_Rj($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0$i$i = 0, $$029 = 0, $$030 = 0, $$07$i$i = 0, $$pre = 0, $$pre$phiZ2D = 0, $13 = 0, $15 = 0, $18 = 0, $19 = 0, $21 = 0, $23 = 0, $25 = 0, $26 = 0, $28 = 0, $4 = 0, $5 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond32 = 0, label = 0; + $4 = $0 + 11 | 0; + $5 = HEAP8[$4 >> 0] | 0; + $7 = $0 + 4 | 0; + $8 = HEAP32[$7 >> 2] | 0; + $9 = $5 & 255; + do if (($5 << 24 >> 24 < 0 ? $8 : $9) | 0) { + if (($1 | 0) == ($2 | 0)) { + $$pre$phiZ2D = $9; + $19 = $5; + $23 = $8; + } else { + $$0$i$i = $2; + $$07$i$i = $1; + while (1) { + $13 = $$0$i$i + -4 | 0; + if ($$07$i$i >>> 0 >= $13 >>> 0) break; + $15 = HEAP32[$$07$i$i >> 2] | 0; + HEAP32[$$07$i$i >> 2] = HEAP32[$13 >> 2]; + HEAP32[$13 >> 2] = $15; + $$0$i$i = $13; + $$07$i$i = $$07$i$i + 4 | 0; + } + $$pre = HEAP8[$4 >> 0] | 0; + $$pre$phiZ2D = $$pre & 255; + $19 = $$pre; + $23 = HEAP32[$7 >> 2] | 0; + } + $18 = $19 << 24 >> 24 < 0; + $21 = $18 ? HEAP32[$0 >> 2] | 0 : $0; + $25 = $2 + -4 | 0; + $26 = $21 + ($18 ? $23 : $$pre$phiZ2D) | 0; + $$029 = $1; + $$030 = $21; + while (1) { + $28 = HEAP8[$$030 >> 0] | 0; + $or$cond32 = $28 << 24 >> 24 > 0 & $28 << 24 >> 24 != 127; + if ($$029 >>> 0 >= $25 >>> 0) break; + if ($or$cond32 ? (HEAP32[$$029 >> 2] | 0) != ($28 << 24 >> 24 | 0) : 0) { + label = 11; + break; + } + $$029 = $$029 + 4 | 0; + $$030 = ($26 - $$030 | 0) > 1 ? $$030 + 1 | 0 : $$030; + } + if ((label | 0) == 11) { + HEAP32[$3 >> 2] = 4; + break; + } + if ($or$cond32 ? ((HEAP32[$25 >> 2] | 0) + -1 | 0) >>> 0 >= $28 << 24 >> 24 >>> 0 : 0) HEAP32[$3 >> 2] = 4; + } while (0); + return; +} + +function _ycc_rgb_convert($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$07177$us = 0, $$07376$us = 0, $$07475$us = 0, $$078$us = 0, $$in = 0, $10 = 0, $12 = 0, $14 = 0, $16 = 0, $18 = 0, $20 = 0, $21 = 0, $26 = 0, $29 = 0, $32 = 0, $37 = 0, $40 = 0, $43 = 0, $6 = 0, $8 = 0, $$in$looptemp = 0; + $6 = HEAP32[$0 + 480 >> 2] | 0; + $8 = HEAP32[$0 + 112 >> 2] | 0; + $10 = HEAP32[$0 + 336 >> 2] | 0; + $12 = HEAP32[$6 + 8 >> 2] | 0; + $14 = HEAP32[$6 + 12 >> 2] | 0; + $16 = HEAP32[$6 + 16 >> 2] | 0; + $18 = HEAP32[$6 + 20 >> 2] | 0; + if (($4 | 0) <= 0) return; + $20 = $1 + 4 | 0; + $21 = $1 + 8 | 0; + if (!$8) return; + $$07177$us = $3; + $$078$us = $2; + $$in = $4; + while (1) { + $$in$looptemp = $$in; + $$in = $$in + -1 | 0; + $26 = HEAP32[(HEAP32[$1 >> 2] | 0) + ($$078$us << 2) >> 2] | 0; + $29 = HEAP32[(HEAP32[$20 >> 2] | 0) + ($$078$us << 2) >> 2] | 0; + $32 = HEAP32[(HEAP32[$21 >> 2] | 0) + ($$078$us << 2) >> 2] | 0; + $$078$us = $$078$us + 1 | 0; + $$07376$us = HEAP32[$$07177$us >> 2] | 0; + $$07475$us = 0; + while (1) { + $37 = HEAPU8[$26 + $$07475$us >> 0] | 0; + $40 = HEAPU8[$29 + $$07475$us >> 0] | 0; + $43 = HEAPU8[$32 + $$07475$us >> 0] | 0; + HEAP8[$$07376$us >> 0] = HEAP8[$10 + ((HEAP32[$12 + ($43 << 2) >> 2] | 0) + $37) >> 0] | 0; + HEAP8[$$07376$us + 1 >> 0] = HEAP8[$10 + (((HEAP32[$16 + ($43 << 2) >> 2] | 0) + (HEAP32[$18 + ($40 << 2) >> 2] | 0) >> 16) + $37) >> 0] | 0; + HEAP8[$$07376$us + 2 >> 0] = HEAP8[$10 + ((HEAP32[$14 + ($40 << 2) >> 2] | 0) + $37) >> 0] | 0; + $$07475$us = $$07475$us + 1 | 0; + if (($$07475$us | 0) == ($8 | 0)) break; else $$07376$us = $$07376$us + 3 | 0; + } + if (($$in$looptemp | 0) <= 1) break; else $$07177$us = $$07177$us + 4 | 0; + } + return; +} + +function __ZNKSt3__28messagesIcE6do_getEliiRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE($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$i = 0, $$0$i$i = 0, $$0$i$i17 = 0, $$0$i22 = 0, $10 = 0, $11 = 0, $16 = 0, $18 = 0, $30 = 0, $31 = 0, $35 = 0, $6 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $6 = sp; + HEAP32[$6 >> 2] = 0; + HEAP32[$6 + 4 >> 2] = 0; + HEAP32[$6 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$6 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + $10 = HEAP8[$5 + 11 >> 0] | 0; + $11 = $10 << 24 >> 24 < 0; + $16 = $11 ? HEAP32[$5 >> 2] | 0 : $5; + $18 = $16 + ($11 ? HEAP32[$5 + 4 >> 2] | 0 : $10 & 255) | 0; + $$0$i22 = $16; + while (1) { + if ($$0$i22 >>> 0 >= $18 >>> 0) break; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9push_backEc($6, HEAP8[$$0$i22 >> 0] | 0); + $$0$i22 = $$0$i22 + 1 | 0; + } + $30 = (HEAP8[$6 + 11 >> 0] | 0) < 0 ? HEAP32[$6 >> 2] | 0 : $6; + $31 = _catgets(($2 | 0) == -1 ? -1 : $2 << 1, $3, $4, $30) | 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + $$0$i$i17 = 0; + while (1) { + if (($$0$i$i17 | 0) == 3) break; + HEAP32[$0 + ($$0$i$i17 << 2) >> 2] = 0; + $$0$i$i17 = $$0$i$i17 + 1 | 0; + } + $35 = $30 + (_strlen($31) | 0) | 0; + $$0$i = $30; + while (1) { + if ($$0$i >>> 0 >= $35 >>> 0) break; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9push_backEc($0, HEAP8[$$0$i >> 0] | 0); + $$0$i = $$0$i + 1 | 0; + } + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($6); + STACKTOP = sp; + return; +} + +function _jinit_memory_mgr($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, $23 = 0, $3 = 0, $31 = 0, $37 = 0, $39 = 0, $4 = 0, $5 = 0, $7 = 0, $vararg_buffer = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $vararg_buffer = sp; + $1 = sp + 8 | 0; + $2 = sp + 12 | 0; + $3 = $0 + 4 | 0; + HEAP32[$3 >> 2] = 0; + $4 = _jpeg_mem_init($0) | 0; + HEAP32[$1 >> 2] = $4; + $5 = _jpeg_get_small($0, 84) | 0; + if (!$5) { + _jpeg_mem_term($0); + $7 = HEAP32[$0 >> 2] | 0; + HEAP32[$7 + 20 >> 2] = 56; + HEAP32[$7 + 24 >> 2] = 0; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + HEAP32[$5 >> 2] = 33; + HEAP32[$5 + 4 >> 2] = 34; + HEAP32[$5 + 8 >> 2] = 9; + HEAP32[$5 + 12 >> 2] = 10; + HEAP32[$5 + 16 >> 2] = 39; + HEAP32[$5 + 20 >> 2] = 40; + HEAP32[$5 + 24 >> 2] = 204; + HEAP32[$5 + 28 >> 2] = 21; + HEAP32[$5 + 32 >> 2] = 22; + HEAP32[$5 + 36 >> 2] = 138; + HEAP32[$5 + 40 >> 2] = 205; + HEAP32[$5 + 48 >> 2] = 1e9; + $23 = $5 + 44 | 0; + HEAP32[$23 >> 2] = $4; + HEAP32[$5 + 56 >> 2] = 0; + HEAP32[$5 + 64 >> 2] = 0; + HEAP32[$5 + 52 >> 2] = 0; + HEAP32[$5 + 60 >> 2] = 0; + HEAP32[$5 + 68 >> 2] = 0; + HEAP32[$5 + 72 >> 2] = 0; + HEAP32[$5 + 76 >> 2] = 84; + HEAP32[$3 >> 2] = $5; + $31 = _getenv(50713) | 0; + if (!$31) { + STACKTOP = sp; + return; + } + HEAP8[$2 >> 0] = 120; + HEAP32[$vararg_buffer >> 2] = $1; + HEAP32[$vararg_buffer + 4 >> 2] = $2; + if ((_sscanf($31, 50721, $vararg_buffer) | 0) > 0) { + switch (HEAP8[$2 >> 0] | 0) { + case 77: + case 109: + { + $37 = (HEAP32[$1 >> 2] | 0) * 1e3 | 0; + HEAP32[$1 >> 2] = $37; + $39 = $37; + break; + } + default: + $39 = HEAP32[$1 >> 2] | 0; + } + HEAP32[$23 >> 2] = $39 * 1e3; + } + STACKTOP = sp; + return; +} + +function ___dynamic_cast($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0, $10 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $4 = 0, $5 = 0, $8 = 0, dest = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(64); + $4 = sp; + $5 = HEAP32[$0 >> 2] | 0; + $8 = $0 + (HEAP32[$5 + -8 >> 2] | 0) | 0; + $10 = HEAP32[$5 + -4 >> 2] | 0; + HEAP32[$4 >> 2] = $2; + HEAP32[$4 + 4 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $1; + HEAP32[$4 + 12 >> 2] = $3; + $14 = $4 + 16 | 0; + $15 = $4 + 20 | 0; + $16 = $4 + 24 | 0; + $17 = $4 + 28 | 0; + $18 = $4 + 32 | 0; + $19 = $4 + 40 | 0; + dest = $14; + stop = dest + 36 | 0; + do { + HEAP32[dest >> 2] = 0; + dest = dest + 4 | 0; + } while ((dest | 0) < (stop | 0)); + HEAP16[$14 + 36 >> 1] = 0; + HEAP8[$14 + 38 >> 0] = 0; + L1 : do if (__ZL8is_equalPKSt9type_infoS1_b($10, $2, 0) | 0) { + HEAP32[$4 + 48 >> 2] = 1; + FUNCTION_TABLE_viiiiii[HEAP32[(HEAP32[$10 >> 2] | 0) + 20 >> 2] & 7]($10, $4, $8, $8, 1, 0); + $$0 = (HEAP32[$16 >> 2] | 0) == 1 ? $8 : 0; + } else { + FUNCTION_TABLE_viiiii[HEAP32[(HEAP32[$10 >> 2] | 0) + 24 >> 2] & 63]($10, $4, $8, 1, 0); + switch (HEAP32[$4 + 36 >> 2] | 0) { + case 0: + { + $$0 = (HEAP32[$19 >> 2] | 0) == 1 & (HEAP32[$17 >> 2] | 0) == 1 & (HEAP32[$18 >> 2] | 0) == 1 ? HEAP32[$15 >> 2] | 0 : 0; + break L1; + break; + } + case 1: + break; + default: + { + $$0 = 0; + break L1; + } + } + if ((HEAP32[$16 >> 2] | 0) != 1 ? !((HEAP32[$19 >> 2] | 0) == 0 & (HEAP32[$17 >> 2] | 0) == 1 & (HEAP32[$18 >> 2] | 0) == 1) : 0) { + $$0 = 0; + break; + } + $$0 = HEAP32[$14 >> 2] | 0; + } while (0); + STACKTOP = sp; + return $$0 | 0; +} + +function __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE21__grow_by_and_replaceEmmmmmmPKw($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 $$sroa$speculated = 0, $11 = 0, $17 = 0, $18 = 0, $23 = 0, $26 = 0, $27 = 0, $29 = 0, $32 = 0, $33 = 0, $39 = 0, $43 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $8 = sp; + if ((1073741806 - $1 | 0) >>> 0 < $2 >>> 0) __ZNKSt3__221__basic_string_commonILb1EE20__throw_length_errorEv($0); + $11 = $0 + 8 | 0; + if ((HEAP8[$11 + 3 >> 0] | 0) < 0) $29 = HEAP32[$0 >> 2] | 0; else $29 = $0; + if ($1 >>> 0 < 536870887) { + $17 = $2 + $1 | 0; + $18 = $1 << 1; + $$sroa$speculated = $17 >>> 0 < $18 >>> 0 ? $18 : $17; + $23 = $$sroa$speculated >>> 0 < 2 ? 2 : $$sroa$speculated + 4 & -4; + if ($23 >>> 0 > 1073741823) _abort(); else $26 = $23; + } else $26 = 1073741807; + $27 = __Znwm($26 << 2) | 0; + if ($4 | 0) __ZNSt3__211char_traitsIwE4copyEPwPKwm($27, $29, $4) | 0; + if ($6 | 0) __ZNSt3__211char_traitsIwE4copyEPwPKwm($27 + ($4 << 2) | 0, $7, $6) | 0; + $32 = $3 - $5 | 0; + $33 = $32 - $4 | 0; + if ($33 | 0) __ZNSt3__211char_traitsIwE4copyEPwPKwm($27 + ($4 << 2) + ($6 << 2) | 0, $29 + ($4 << 2) + ($5 << 2) | 0, $33) | 0; + $39 = $1 + 1 | 0; + if (($39 | 0) != 2) __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($29, $39 << 2); + HEAP32[$0 >> 2] = $27; + HEAP32[$11 >> 2] = $26 | -2147483648; + $43 = $32 + $6 | 0; + HEAP32[$0 + 4 >> 2] = $43; + HEAP32[$8 >> 2] = 0; + __ZNSt3__211char_traitsIwE6assignERwRKw($27 + ($43 << 2) | 0, $8); + STACKTOP = sp; + return; +} + +function __ZNSt3__26vectorIN6vision25DoGScaleInvariantDetector12FeaturePointENS_9allocatorIS3_EEE8__appendEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $13 = 0, $14 = 0, $18 = 0, $2 = 0, $20 = 0, $23 = 0, $3 = 0, $5 = 0, $6 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp; + $3 = $0 + 8 | 0; + $5 = $0 + 4 | 0; + $6 = HEAP32[$5 >> 2] | 0; + do if ((((HEAP32[$3 >> 2] | 0) - $6 | 0) / 36 | 0) >>> 0 < $1 >>> 0) { + $13 = (($6 - (HEAP32[$0 >> 2] | 0) | 0) / 36 | 0) + $1 | 0; + $14 = __ZNKSt3__26vectorIN6vision25DoGScaleInvariantDetector12FeaturePointENS_9allocatorIS3_EEE8max_sizeEv($0) | 0; + if ($14 >>> 0 < $13 >>> 0) __ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv($0); else { + $18 = HEAP32[$0 >> 2] | 0; + $20 = ((HEAP32[$3 >> 2] | 0) - $18 | 0) / 36 | 0; + $23 = $20 << 1; + __ZNSt3__214__split_bufferIN6vision25DoGScaleInvariantDetector12FeaturePointERNS_9allocatorIS3_EEEC2EmmS6_($2, $20 >>> 0 < $14 >>> 1 >>> 0 ? ($23 >>> 0 < $13 >>> 0 ? $13 : $23) : $14, ((HEAP32[$5 >> 2] | 0) - $18 | 0) / 36 | 0, $0 + 8 | 0); + __ZNSt3__214__split_bufferIN6vision25DoGScaleInvariantDetector12FeaturePointERNS_9allocatorIS3_EEE18__construct_at_endEm($2, $1); + __ZNSt3__26vectorIN6vision25DoGScaleInvariantDetector12FeaturePointENS_9allocatorIS3_EEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($0, $2); + __ZNSt3__214__split_bufferIN6vision25DoGScaleInvariantDetector12FeaturePointERNS_9allocatorIS3_EEED2Ev($2); + break; + } + } else __ZNSt3__26vectorIN6vision25DoGScaleInvariantDetector12FeaturePointENS_9allocatorIS3_EEE18__construct_at_endEm($0, $1); while (0); + STACKTOP = sp; + return; +} + +function __ZNSt3__26vectorINS0_INS0_INS_4pairIfmEENS_9allocatorIS2_EEEENS3_IS5_EEEENS3_IS7_EEE8__appendEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $13 = 0, $14 = 0, $18 = 0, $2 = 0, $20 = 0, $23 = 0, $3 = 0, $5 = 0, $6 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp; + $3 = $0 + 8 | 0; + $5 = $0 + 4 | 0; + $6 = HEAP32[$5 >> 2] | 0; + do if ((((HEAP32[$3 >> 2] | 0) - $6 | 0) / 12 | 0) >>> 0 < $1 >>> 0) { + $13 = (($6 - (HEAP32[$0 >> 2] | 0) | 0) / 12 | 0) + $1 | 0; + $14 = __ZNKSt3__26vectorINS0_INS0_INS_4pairIfmEENS_9allocatorIS2_EEEENS3_IS5_EEEENS3_IS7_EEE8max_sizeEv($0) | 0; + if ($14 >>> 0 < $13 >>> 0) __ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv($0); else { + $18 = HEAP32[$0 >> 2] | 0; + $20 = ((HEAP32[$3 >> 2] | 0) - $18 | 0) / 12 | 0; + $23 = $20 << 1; + __ZNSt3__214__split_bufferINS_6vectorINS1_INS_4pairIfmEENS_9allocatorIS3_EEEENS4_IS6_EEEERNS4_IS8_EEEC2EmmSA_($2, $20 >>> 0 < $14 >>> 1 >>> 0 ? ($23 >>> 0 < $13 >>> 0 ? $13 : $23) : $14, ((HEAP32[$5 >> 2] | 0) - $18 | 0) / 12 | 0, $0 + 8 | 0); + __ZNSt3__214__split_bufferINS_6vectorINS1_INS_4pairIfmEENS_9allocatorIS3_EEEENS4_IS6_EEEERNS4_IS8_EEE18__construct_at_endEm($2, $1); + __ZNSt3__26vectorINS0_INS0_INS_4pairIfmEENS_9allocatorIS2_EEEENS3_IS5_EEEENS3_IS7_EEE26__swap_out_circular_bufferERNS_14__split_bufferIS7_RS8_EE($0, $2); + __ZNSt3__214__split_bufferINS_6vectorINS1_INS_4pairIfmEENS_9allocatorIS3_EEEENS4_IS6_EEEERNS4_IS8_EEED2Ev($2); + break; + } + } else __ZNSt3__26vectorINS0_INS0_INS_4pairIfmEENS_9allocatorIS2_EEEENS3_IS5_EEEENS3_IS7_EEE18__construct_at_endEm($0, $1); while (0); + STACKTOP = sp; + return; +} + +function __ZN6vision18Condition4Points2dIfEEbPT_S2_S2_S2_RS1_S2_PKS1_S5_S5_S5_($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + $9 = $9 | 0; + var $$0 = 0, $17 = 0.0, $18 = 0, $20 = 0, $23 = 0, $26 = 0, $29 = 0.0, $32 = 0.0, $34 = 0.0, $36 = 0.0, $38 = 0.0, $40 = 0.0, $42 = 0.0, $44 = 0.0, $46 = 0.0, $66 = 0.0, $71 = 0.0; + $17 = (+HEAPF32[$6 >> 2] + +HEAPF32[$7 >> 2] + +HEAPF32[$8 >> 2] + +HEAPF32[$9 >> 2]) * .25; + HEAPF32[$5 >> 2] = $17; + $18 = $6 + 4 | 0; + $20 = $7 + 4 | 0; + $23 = $8 + 4 | 0; + $26 = $9 + 4 | 0; + $29 = (+HEAPF32[$18 >> 2] + +HEAPF32[$20 >> 2] + +HEAPF32[$23 >> 2] + +HEAPF32[$26 >> 2]) * .25; + HEAPF32[$5 + 4 >> 2] = $29; + $32 = +HEAPF32[$6 >> 2] - $17; + $34 = +HEAPF32[$18 >> 2] - $29; + $36 = +HEAPF32[$7 >> 2] - $17; + $38 = +HEAPF32[$20 >> 2] - $29; + $40 = +HEAPF32[$8 >> 2] - $17; + $42 = +HEAPF32[$23 >> 2] - $29; + $44 = +HEAPF32[$9 >> 2] - $17; + $46 = +HEAPF32[$26 >> 2] - $29; + $66 = (+Math_sqrt(+($32 * $32 + $34 * $34)) + +Math_sqrt(+($36 * $36 + $38 * $38)) + +Math_sqrt(+($40 * $40 + $42 * $42)) + +Math_sqrt(+($44 * $44 + $46 * $46))) * .25; + if ($66 == 0.0) $$0 = 0; else { + $71 = 1.0 / $66 * 1.4142135623730951; + HEAPF32[$4 >> 2] = $71; + HEAPF32[$0 >> 2] = $32 * $71; + HEAPF32[$0 + 4 >> 2] = $34 * +HEAPF32[$4 >> 2]; + HEAPF32[$1 >> 2] = $36 * +HEAPF32[$4 >> 2]; + HEAPF32[$1 + 4 >> 2] = $38 * +HEAPF32[$4 >> 2]; + HEAPF32[$2 >> 2] = $40 * +HEAPF32[$4 >> 2]; + HEAPF32[$2 + 4 >> 2] = $42 * +HEAPF32[$4 >> 2]; + HEAPF32[$3 >> 2] = $44 * +HEAPF32[$4 >> 2]; + HEAPF32[$3 + 4 >> 2] = $46 * +HEAPF32[$4 >> 2]; + $$0 = 1; + } + return $$0 | 0; +} + +function __ZN6vision27OrthogonalizePivot8x9Basis3IfEEbPT_S2_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $10 = 0, $12 = 0, $14 = 0.0, $15 = 0.0, $17 = 0.0, $19 = 0.0, $2 = 0, $21 = 0.0, $23 = 0, $24 = 0, $27 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp; + $3 = $0 + 108 | 0; + $4 = $0 + 72 | 0; + $5 = $1 + 108 | 0; + __ZN6vision21AccumulateProjection9IfEEvPT_PKS1_S4_($3, $4, $5); + $6 = $0 + 144 | 0; + __ZN6vision21AccumulateProjection9IfEEvPT_PKS1_S4_($6, $4, $1 + 144 | 0); + $8 = $0 + 180 | 0; + __ZN6vision21AccumulateProjection9IfEEvPT_PKS1_S4_($8, $4, $1 + 180 | 0); + $10 = $0 + 216 | 0; + __ZN6vision21AccumulateProjection9IfEEvPT_PKS1_S4_($10, $4, $1 + 216 | 0); + $12 = $0 + 252 | 0; + __ZN6vision21AccumulateProjection9IfEEvPT_PKS1_S4_($12, $4, $1 + 252 | 0); + $14 = +__ZN6vision11SumSquares9IfEET_PKS1_($3); + HEAPF32[$2 >> 2] = $14; + $15 = +__ZN6vision11SumSquares9IfEET_PKS1_($6); + HEAPF32[$2 + 4 >> 2] = $15; + $17 = +__ZN6vision11SumSquares9IfEET_PKS1_($8); + HEAPF32[$2 + 8 >> 2] = $17; + $19 = +__ZN6vision11SumSquares9IfEET_PKS1_($10); + HEAPF32[$2 + 12 >> 2] = $19; + $21 = +__ZN6vision11SumSquares9IfEET_PKS1_($12); + HEAPF32[$2 + 16 >> 2] = $21; + $23 = __ZN6vision9MaxIndex5IfEEiPKT_($2) | 0; + $24 = $2 + ($23 << 2) | 0; + if (+HEAPF32[$24 >> 2] == 0.0) $$0 = 0; else { + $27 = $23 * 9 | 0; + __ZN6vision5Swap9IfEEvPT_S2_($3, $3 + ($27 << 2) | 0); + __ZN6vision5Swap9IfEEvPT_S2_($5, $5 + ($27 << 2) | 0); + __ZN6vision12ScaleVector9IfEEvPT_PKS1_S1_($3, $3, 1.0 / +Math_sqrt(+(+HEAPF32[$24 >> 2]))); + $$0 = 1; + } + STACKTOP = sp; + return $$0 | 0; +} + +function __ZNSt3__26vectorIhNS_9allocatorIhEEE6assignIPhEENS_9enable_ifIXaasr21__is_forward_iteratorIT_EE5valuesr16is_constructibleIhNS_15iterator_traitsIS7_E9referenceEEE5valueEvE4typeES7_S7_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $11 = 0, $12 = 0, $14 = 0, $15 = 0, $18 = 0, $25 = 0, $29 = 0, $32 = 0, $4 = 0, $5 = 0, $6 = 0, $8 = 0, $spec$select = 0; + $4 = $1; + $5 = $2 - $4 | 0; + $6 = $0 + 8 | 0; + $8 = HEAP32[$0 >> 2] | 0; + $11 = $8; + do if ($5 >>> 0 > ((HEAP32[$6 >> 2] | 0) - $8 | 0) >>> 0) { + __ZNSt3__26vectorIhNS_9allocatorIhEEE13__vdeallocateEv($0); + $25 = __ZNKSt3__26vectorIhNS_9allocatorIhEEE8max_sizeEv($0) | 0; + if ($25 >>> 0 < $5 >>> 0) __ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv($0); else { + $29 = (HEAP32[$6 >> 2] | 0) - (HEAP32[$0 >> 2] | 0) | 0; + $32 = $29 << 1; + __ZNSt3__26vectorIhNS_9allocatorIhEEE11__vallocateEm($0, $29 >>> 0 < $25 >>> 1 >>> 0 ? ($32 >>> 0 < $5 >>> 0 ? $5 : $32) : $25); + __ZNSt3__26vectorIhNS_9allocatorIhEEE18__construct_at_endIPhEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeES7_S7_m($0, $1, $2, $5); + break; + } + } else { + $12 = $0 + 4 | 0; + $14 = (HEAP32[$12 >> 2] | 0) - $8 | 0; + $15 = $5 >>> 0 > $14 >>> 0; + $spec$select = $15 ? $1 + $14 | 0 : $2; + $18 = $spec$select - $4 | 0; + if ($18 | 0) _memmove($11 | 0, $1 | 0, $18 | 0) | 0; + if ($15) { + __ZNSt3__26vectorIhNS_9allocatorIhEEE18__construct_at_endIPhEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeES7_S7_m($0, $spec$select, $2, $5 - (HEAP32[$12 >> 2] | 0) + (HEAP32[$0 >> 2] | 0) | 0); + break; + } else { + HEAP32[$12 >> 2] = $11 + $18; + break; + } + } while (0); + return; +} + +function _arImageProcLumaHistAndOtsu($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$062 = 0, $$064 = 0.0, $$067 = 0.0, $$068 = 0.0, $$070 = 0.0, $$169 = 0.0, $$2 = 0, $$266 = 0.0, $$3 = 0, $$pre$phiZ2D = 0, $15 = 0.0, $17 = 0, $21 = 0.0, $25 = 0.0, $3 = 0, $30 = 0.0, $32 = 0.0, $33 = 0, $34 = 0, $indvars$iv = 0, $indvars$iv71 = 0; + $3 = _arImageProcLumaHist($0, $1) | 0; + if (($3 | 0) < 0) $$0 = $3; else { + $$070 = 0.0; + $indvars$iv71 = 1; + do { + $$070 = $$070 + +((Math_imul(HEAP32[$0 + 12 + ($indvars$iv71 << 2) >> 2] | 0, $indvars$iv71) | 0) >>> 0); + $indvars$iv71 = $indvars$iv71 + 1 | 0; + } while (($indvars$iv71 | 0) != 256); + $15 = +(Math_imul(HEAP32[$0 + 8 >> 2] | 0, HEAP32[$0 + 4 >> 2] | 0) | 0); + $$062 = 0; + $$064 = 0.0; + $$067 = 0.0; + $$068 = 0.0; + $indvars$iv = 0; + while (1) { + $17 = HEAP32[$0 + 12 + ($indvars$iv << 2) >> 2] | 0; + $$067 = $$067 + +($17 >>> 0); + if ($$067 != 0.0) { + $21 = $15 - $$067; + if ($21 == 0.0) { + $$3 = $$062; + break; + } + $25 = $$068 + +((Math_imul($17, $indvars$iv) | 0) >>> 0); + $30 = $25 / $$067 - ($$070 - $25) / $21; + $32 = $30 * ($$067 * $21 * $30); + $33 = $32 > $$064; + $34 = $indvars$iv & 255; + $$169 = $25; + $$2 = $33 ? $34 : $$062; + $$266 = $33 ? $32 : $$064; + $$pre$phiZ2D = $34; + } else { + $$169 = $$068; + $$2 = $$062; + $$266 = $$064; + $$pre$phiZ2D = $indvars$iv & 255; + } + if ($$pre$phiZ2D << 24 >> 24 == -1) { + $$3 = $$2; + break; + } else { + $$062 = $$2; + $$064 = $$266; + $$068 = $$169; + $indvars$iv = $indvars$iv + 1 | 0; + } + } + HEAP8[$2 >> 0] = $$3; + $$0 = 0; + } + return $$0 | 0; +} + +function _confidenceCutoff($0) { + $0 = $0 | 0; + var $$0 = 0, $$049 = 0, $$150 = 0, $$2 = 0, $16 = 0, $18 = 0, $28 = 0, $30 = 0, $36 = 0, $4 = 0, $6 = 0; + L1 : do switch (HEAP32[$0 + 24 >> 2] | 0) { + case 1: + case 0: + { + $4 = HEAP32[$0 + 44 >> 2] | 0; + $$049 = 0; + while (1) { + if (($$049 | 0) >= ($4 | 0)) break L1; + $6 = $0 + 48 + ($$049 << 8) + 4 | 0; + if ((HEAP32[$6 >> 2] | 0) > -1 ? +HEAPF64[$0 + 48 + ($$049 << 8) + 32 >> 3] < .5 : 0) { + HEAP32[$0 + 48 + ($$049 << 8) + 8 >> 2] = -1; + HEAP32[$6 >> 2] = -1; + HEAP32[$0 + 48 + ($$049 << 8) + 236 >> 2] = 6; + } + $$049 = $$049 + 1 | 0; + } + break; + } + case 2: + { + $16 = HEAP32[$0 + 44 >> 2] | 0; + $$150 = 0; + while (1) { + if (($$150 | 0) >= ($16 | 0)) break L1; + $18 = $0 + 48 + ($$150 << 8) + 4 | 0; + if ((HEAP32[$18 >> 2] | 0) > -1 ? +HEAPF64[$0 + 48 + ($$150 << 8) + 32 >> 3] < .5 : 0) { + HEAP32[$0 + 48 + ($$150 << 8) + 12 >> 2] = -1; + HEAP32[$18 >> 2] = -1; + HEAP32[$0 + 48 + ($$150 << 8) + 236 >> 2] = 6; + } + $$150 = $$150 + 1 | 0; + } + break; + } + default: + { + $28 = HEAP32[$0 + 44 >> 2] | 0; + $$2 = 0; + while (1) { + if (($$2 | 0) >= ($28 | 0)) break L1; + $30 = $0 + 48 + ($$2 << 8) + 8 | 0; + if ((HEAP32[$30 >> 2] | 0) > -1 ? +HEAPF64[$0 + 48 + ($$2 << 8) + 40 >> 3] < .5 : 0) { + HEAP32[$30 >> 2] = -1; + $$0 = 0; + } else $$0 = 1; + $36 = $0 + 48 + ($$2 << 8) + 12 | 0; + if (((HEAP32[$36 >> 2] | 0) > -1 ? +HEAPF64[$0 + 48 + ($$2 << 8) + 48 >> 3] < .5 : 0) ? (HEAP32[$36 >> 2] = -1, ($$0 | 0) == 0) : 0) HEAP32[$0 + 48 + ($$2 << 8) + 236 >> 2] = 6; + $$2 = $$2 + 1 | 0; + } + } + } while (0); + return; +} + +function _getMultiEachMarkerInfo($id, $multiMarkerId, $markerIndex) { + $id = $id | 0; + $multiMarkerId = $multiMarkerId | 0; + $markerIndex = $markerIndex | 0; + var $2 = 0, $5 = 0, $8 = 0, $call7 = 0, $id$addr = 0, $retval$2 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $id$addr = sp; + HEAP32[$id$addr >> 2] = $id; + do if (__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0) { + $call7 = __ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0; + $2 = HEAP32[$call7 + 328 >> 2] | 0; + if (($multiMarkerId | 0) < 0 ? 1 : (HEAP32[$call7 + 332 >> 2] | 0) - $2 >> 3 >>> 0 <= $multiMarkerId >>> 0) { + $retval$2 = HEAP32[4225] | 0; + break; + } + $5 = HEAP32[$2 + ($multiMarkerId << 3) + 4 >> 2] | 0; + if (($markerIndex | 0) < 0 ? 1 : (HEAP32[$5 + 4 >> 2] | 0) <= ($markerIndex | 0)) { + $retval$2 = HEAP32[4226] | 0; + break; + } else { + $8 = HEAP32[$5 >> 2] | 0; + _matrixCopy($8 + ($markerIndex * 320 | 0) + 16 | 0, 61136); + _emscripten_asm_const_iiiid(1, HEAP32[$8 + ($markerIndex * 320 | 0) + 304 >> 2] | 0, HEAP32[$8 + ($markerIndex * 320 | 0) >> 2] | 0, HEAP32[$8 + ($markerIndex * 320 | 0) + 4 >> 2] | 0, +(+HEAPF64[$8 + ($markerIndex * 320 | 0) + 8 >> 3])) | 0; + $retval$2 = 0; + break; + } + } else $retval$2 = HEAP32[4224] | 0; while (0); + STACKTOP = sp; + return $retval$2 | 0; +} + +function __ZL15genBWImageQuartPhiiPiS0_($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0 = 0, $$065 = 0, $$066 = 0, $$067 = 0, $$068 = 0, $$069 = 0, $$070 = 0, $$1 = 0, $11 = 0, $5 = 0, $6 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $5 = ($1 | 0) / 4 | 0; + HEAP32[$3 >> 2] = $5; + $6 = ($2 | 0) / 4 | 0; + HEAP32[$4 >> 2] = $6; + $8 = _malloc(Math_imul($6, $5) | 0) | 0; + if (!$8) { + _arLog(0, 3, 45930, sp); + _exit(1); + } + $$0 = 0; + $$066 = $8; + while (1) { + if (($$0 | 0) >= ($6 | 0)) break; + $11 = $$0 << 2; + $$065 = 0; + $$067 = $0 + (Math_imul($11, $1) | 0) | 0; + $$068 = $0 + (Math_imul($11 | 3, $1) | 0) | 0; + $$069 = $0 + (Math_imul($11 | 2, $1) | 0) | 0; + $$070 = $0 + (Math_imul($11 | 1, $1) | 0) | 0; + $$1 = $$066; + while (1) { + if (($$065 | 0) >= ($5 | 0)) break; + HEAP8[$$1 >> 0] = ((HEAPU8[$$067 + 1 >> 0] | 0) + (HEAPU8[$$067 >> 0] | 0) + (HEAPU8[$$067 + 2 >> 0] | 0) + (HEAPU8[$$067 + 3 >> 0] | 0) + (HEAPU8[$$070 >> 0] | 0) + (HEAPU8[$$070 + 1 >> 0] | 0) + (HEAPU8[$$070 + 2 >> 0] | 0) + (HEAPU8[$$070 + 3 >> 0] | 0) + (HEAPU8[$$069 >> 0] | 0) + (HEAPU8[$$069 + 1 >> 0] | 0) + (HEAPU8[$$069 + 2 >> 0] | 0) + (HEAPU8[$$069 + 3 >> 0] | 0) + (HEAPU8[$$068 >> 0] | 0) + (HEAPU8[$$068 + 1 >> 0] | 0) + (HEAPU8[$$068 + 2 >> 0] | 0) + (HEAPU8[$$068 + 3 >> 0] | 0) | 0) / 16 | 0; + $$065 = $$065 + 1 | 0; + $$067 = $$067 + 4 | 0; + $$068 = $$068 + 4 | 0; + $$069 = $$069 + 4 | 0; + $$070 = $$070 + 4 | 0; + $$1 = $$1 + 1 | 0; + } + $$0 = $$0 + 1 | 0; + $$066 = $$1; + } + STACKTOP = sp; + return $8 | 0; +} + +function __ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwPKv($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $17 = 0, $24 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 208 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(208); + $$byval_copy = sp + 184 | 0; + $5 = sp + 192 | 0; + $6 = sp + 160 | 0; + $7 = sp; + $8 = sp + 188 | 0; + HEAP8[$5 >> 0] = HEAP8[59178] | 0; + HEAP8[$5 + 1 >> 0] = HEAP8[59179] | 0; + HEAP8[$5 + 2 >> 0] = HEAP8[59180] | 0; + HEAP8[$5 + 3 >> 0] = HEAP8[59181] | 0; + HEAP8[$5 + 4 >> 0] = HEAP8[59182] | 0; + HEAP8[$5 + 5 >> 0] = HEAP8[59183] | 0; + $9 = __ZNSt3__26__clocEv() | 0; + HEAP32[$$byval_copy >> 2] = $4; + $10 = __ZNSt3__219__libcpp_snprintf_lEPcmP15__locale_structPKcz($6, 20, $9, $5, $$byval_copy) | 0; + $11 = $6 + $10 | 0; + $12 = __ZNSt3__214__num_put_base18__identify_paddingEPcS1_RKNS_8ios_baseE($6, $11, $2) | 0; + __ZNKSt3__28ios_base6getlocEv($$byval_copy, $2); + $13 = __ZNKSt3__26locale9use_facetERNS0_2idE($$byval_copy, 66544) | 0; + __ZNSt3__26localeD2Ev($$byval_copy); + FUNCTION_TABLE_iiiii[HEAP32[(HEAP32[$13 >> 2] | 0) + 48 >> 2] & 15]($13, $6, $11, $7) | 0; + $17 = $7 + ($10 << 2) | 0; + HEAP32[$8 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$8 >> 2]; + $24 = __ZNSt3__216__pad_and_outputIwNS_11char_traitsIwEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4_($$byval_copy, $7, ($12 | 0) == ($11 | 0) ? $17 : $7 + ($12 - $6 << 2) | 0, $17, $2, $3) | 0; + STACKTOP = sp; + return $24 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle8CastExpr9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy2 = 0, $12 = 0, $13 = 0, $18 = 0, $2 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $$byval_copy2 = sp + 32 | 0; + $2 = sp; + $3 = sp + 24 | 0; + $4 = sp + 16 | 0; + $5 = sp + 8 | 0; + $7 = $0 + 8 | 0; + $12 = HEAP32[$7 + 4 >> 2] | 0; + $13 = $2; + HEAP32[$13 >> 2] = HEAP32[$7 >> 2]; + HEAP32[$13 + 4 >> 2] = $12; + HEAP32[$$byval_copy2 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy2); + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, 52150); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy2); + $18 = HEAP32[$0 + 16 >> 2] | 0; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$18 >> 2] | 0) + 16 >> 2] & 255]($18, $1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, 53140); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy2); + $23 = HEAP32[$0 + 20 >> 2] | 0; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$23 >> 2] | 0) + 16 >> 2] & 255]($23, $1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($5, 51964); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$5 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy2); + STACKTOP = sp; + return; +} + +function __ZN6vision25MatrixInverseSymmetric3x3IfEEbPT_PKS1_S1_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = +$2; + var $$0 = 0, $11 = 0, $14 = 0.0, $15 = 0, $17 = 0, $23 = 0.0, $24 = 0, $3 = 0.0, $30 = 0.0, $31 = 0, $36 = 0.0, $44 = 0.0, $45 = 0, $50 = 0.0, $6 = 0.0, $7 = 0, $9 = 0; + $3 = +__ZN6vision23DeterminantSymmetric3x3IfEET_PKS1_($1); + if (!(+Math_abs(+$3) <= $2)) { + $6 = 1.0 / $3; + $7 = $1 + 16 | 0; + $9 = $1 + 20 | 0; + $11 = $1 + 32 | 0; + $14 = $6 * +__ZN6vision11Cofactor2x2IfEET_S1_S1_S1_(+HEAPF32[$7 >> 2], +HEAPF32[$9 >> 2], +HEAPF32[$11 >> 2]); + HEAPF32[$0 >> 2] = $14; + $15 = $1 + 8 | 0; + $17 = $1 + 4 | 0; + $23 = $6 * +__ZN6vision11Cofactor2x2IfEET_S1_S1_S1_S1_(+HEAPF32[$15 >> 2], +HEAPF32[$17 >> 2], +HEAPF32[$11 >> 2], +HEAPF32[$1 + 28 >> 2]); + $24 = $0 + 4 | 0; + HEAPF32[$24 >> 2] = $23; + $30 = $6 * +__ZN6vision11Cofactor2x2IfEET_S1_S1_S1_S1_(+HEAPF32[$17 >> 2], +HEAPF32[$15 >> 2], +HEAPF32[$7 >> 2], +HEAPF32[$9 >> 2]); + $31 = $0 + 8 | 0; + HEAPF32[$31 >> 2] = $30; + $36 = $6 * +__ZN6vision11Cofactor2x2IfEET_S1_S1_S1_(+HEAPF32[$1 >> 2], +HEAPF32[$15 >> 2], +HEAPF32[$11 >> 2]); + HEAPF32[$0 + 16 >> 2] = $36; + $44 = $6 * +__ZN6vision11Cofactor2x2IfEET_S1_S1_S1_S1_(+HEAPF32[$15 >> 2], +HEAPF32[$1 >> 2], +HEAPF32[$9 >> 2], +HEAPF32[$1 + 12 >> 2]); + $45 = $0 + 20 | 0; + HEAPF32[$45 >> 2] = $44; + $50 = $6 * +__ZN6vision11Cofactor2x2IfEET_S1_S1_S1_(+HEAPF32[$1 >> 2], +HEAPF32[$17 >> 2], +HEAPF32[$7 >> 2]); + HEAPF32[$0 + 32 >> 2] = $50; + HEAP32[$0 + 12 >> 2] = HEAP32[$24 >> 2]; + HEAP32[$0 + 24 >> 2] = HEAP32[$31 >> 2]; + HEAP32[$0 + 28 >> 2] = HEAP32[$45 >> 2]; + $$0 = 1; + } else $$0 = 0; + return $$0 | 0; +} + +function __ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcPKv($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$byval_copy = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $17 = 0, $24 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(96); + $$byval_copy = sp + 72 | 0; + $5 = sp + 80 | 0; + $6 = sp + 48 | 0; + $7 = sp; + $8 = sp + 76 | 0; + HEAP8[$5 >> 0] = HEAP8[59178] | 0; + HEAP8[$5 + 1 >> 0] = HEAP8[59179] | 0; + HEAP8[$5 + 2 >> 0] = HEAP8[59180] | 0; + HEAP8[$5 + 3 >> 0] = HEAP8[59181] | 0; + HEAP8[$5 + 4 >> 0] = HEAP8[59182] | 0; + HEAP8[$5 + 5 >> 0] = HEAP8[59183] | 0; + $9 = __ZNSt3__26__clocEv() | 0; + HEAP32[$$byval_copy >> 2] = $4; + $10 = __ZNSt3__219__libcpp_snprintf_lEPcmP15__locale_structPKcz($6, 20, $9, $5, $$byval_copy) | 0; + $11 = $6 + $10 | 0; + $12 = __ZNSt3__214__num_put_base18__identify_paddingEPcS1_RKNS_8ios_baseE($6, $11, $2) | 0; + __ZNKSt3__28ios_base6getlocEv($$byval_copy, $2); + $13 = __ZNKSt3__26locale9use_facetERNS0_2idE($$byval_copy, 66512) | 0; + __ZNSt3__26localeD2Ev($$byval_copy); + FUNCTION_TABLE_iiiii[HEAP32[(HEAP32[$13 >> 2] | 0) + 32 >> 2] & 15]($13, $6, $11, $7) | 0; + $17 = $7 + $10 | 0; + HEAP32[$8 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$8 >> 2]; + $24 = __ZNSt3__216__pad_and_outputIcNS_11char_traitsIcEEEENS_19ostreambuf_iteratorIT_T0_EES6_PKS4_S8_S8_RNS_8ios_baseES4_($$byval_copy, $7, ($12 | 0) == ($11 | 0) ? $17 : $7 + ($12 - $6) | 0, $17, $2, $3) | 0; + STACKTOP = sp; + return $24 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseSourceNameEPNS5_9NameStateE($0) { + $0 = $0 | 0; + var $$0 = 0, $$1 = 0, $$byval_copy = 0, $1 = 0, $2 = 0, $3 = 0, $5 = 0, $6 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy = sp + 24 | 0; + $1 = sp + 16 | 0; + $2 = sp + 8 | 0; + $3 = sp; + HEAP32[$1 >> 2] = 0; + if (!(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E20parsePositiveIntegerEPm($0, $1) | 0) ? ($5 = __ZNK12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E7numLeftEv($0) | 0, $6 = HEAP32[$1 >> 2] | 0, ($6 + -1 | 0) >>> 0 < $5 >>> 0) : 0) { + $9 = HEAP32[$0 >> 2] | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKcS2_($2, $9, $9 + $6 | 0); + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + $6; + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, 53507); + HEAP32[$$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + if (__ZNK12_GLOBAL__N_110StringView10startsWithES0_($2, $$byval_copy) | 0) $$0 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA22_KcEEEPNS0_4NodeEDpOT0_($0) | 0; else $$0 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRNS_10StringViewEEEEPNS0_4NodeEDpOT0_($0, $2) | 0; + $$1 = $$0; + } else $$1 = 0; + STACKTOP = sp; + return $$1 | 0; +} + +function ___mo_lookup($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$090 = 0, $$094 = 0, $$4 = 0, $10 = 0, $13 = 0, $17 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $31 = 0, $35 = 0, $4 = 0, $44 = 0, $46 = 0, $49 = 0, $53 = 0, $63 = 0, $7 = 0; + $4 = (HEAP32[$0 >> 2] | 0) + 1794895138 | 0; + $7 = _swapc(HEAP32[$0 + 8 >> 2] | 0, $4) | 0; + $10 = _swapc(HEAP32[$0 + 12 >> 2] | 0, $4) | 0; + $13 = _swapc(HEAP32[$0 + 16 >> 2] | 0, $4) | 0; + L1 : do if (($7 >>> 0 < $1 >>> 2 >>> 0 ? ($17 = $1 - ($7 << 2) | 0, $10 >>> 0 < $17 >>> 0 & $13 >>> 0 < $17 >>> 0) : 0) ? (($13 | $10) & 3 | 0) == 0 : 0) { + $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; + $31 = _swapc(HEAP32[$0 + ($28 << 2) >> 2] | 0, $4) | 0; + $35 = _swapc(HEAP32[$0 + ($28 + 1 << 2) >> 2] | 0, $4) | 0; + if (!($35 >>> 0 < $1 >>> 0 & $31 >>> 0 < ($1 - $35 | 0) >>> 0)) { + $$4 = 0; + break L1; + } + if (HEAP8[$0 + ($35 + $31) >> 0] | 0) { + $$4 = 0; + break L1; + } + $44 = _strcmp($2, $0 + $35 | 0) | 0; + if (!$44) break; + $63 = ($44 | 0) < 0; + if (($$094 | 0) == 1) { + $$4 = 0; + break L1; + } + $$090 = $63 ? $$090 : $26; + $$094 = $63 ? $25 : $$094 - $25 | 0; + } + $46 = $27 + $24 | 0; + $49 = _swapc(HEAP32[$0 + ($46 << 2) >> 2] | 0, $4) | 0; + $53 = _swapc(HEAP32[$0 + ($46 + 1 << 2) >> 2] | 0, $4) | 0; + if ($53 >>> 0 < $1 >>> 0 & $49 >>> 0 < ($1 - $53 | 0) >>> 0) $$4 = (HEAP8[$0 + ($53 + $49) >> 0] | 0) == 0 ? $0 + $53 | 0 : 0; else $$4 = 0; + } else $$4 = 0; while (0); + return $$4 | 0; +} + +function __ZNK10__cxxabiv120__si_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $13 = 0, $19 = 0, $22 = 0, $23 = 0, $25 = 0, $32 = 0, $33 = 0, $44 = 0; + L1 : do if (!(__ZL8is_equalPKSt9type_infoS1_b($0, HEAP32[$1 + 8 >> 2] | 0, $4) | 0)) { + if (!(__ZL8is_equalPKSt9type_infoS1_b($0, HEAP32[$1 >> 2] | 0, $4) | 0)) { + $44 = HEAP32[$0 + 8 >> 2] | 0; + FUNCTION_TABLE_viiiii[HEAP32[(HEAP32[$44 >> 2] | 0) + 24 >> 2] & 63]($44, $1, $2, $3, $4); + break; + } + if ((HEAP32[$1 + 16 >> 2] | 0) != ($2 | 0) ? ($13 = $1 + 20 | 0, (HEAP32[$13 >> 2] | 0) != ($2 | 0)) : 0) { + HEAP32[$1 + 32 >> 2] = $3; + $19 = $1 + 44 | 0; + do if ((HEAP32[$19 >> 2] | 0) != 4) { + $22 = $1 + 52 | 0; + HEAP8[$22 >> 0] = 0; + $23 = $1 + 53 | 0; + HEAP8[$23 >> 0] = 0; + $25 = HEAP32[$0 + 8 >> 2] | 0; + FUNCTION_TABLE_viiiiii[HEAP32[(HEAP32[$25 >> 2] | 0) + 20 >> 2] & 7]($25, $1, $2, $2, 1, $4); + if (HEAP8[$23 >> 0] | 0) { + $32 = (HEAP8[$22 >> 0] | 0) == 0; + HEAP32[$19 >> 2] = 3; + if ($32) break; else break L1; + } else { + HEAP32[$19 >> 2] = 4; + break; + } + } while (0); + HEAP32[$13 >> 2] = $2; + $33 = $1 + 40 | 0; + HEAP32[$33 >> 2] = (HEAP32[$33 >> 2] | 0) + 1; + if ((HEAP32[$1 + 36 >> 2] | 0) != 1) break; + if ((HEAP32[$1 + 24 >> 2] | 0) != 2) break; + HEAP8[$1 + 54 >> 0] = 1; + break; + } + if (($3 | 0) == 1) HEAP32[$1 + 32 >> 2] = 1; + } else __ZNK10__cxxabiv117__class_type_info29process_static_type_below_dstEPNS_19__dynamic_cast_infoEPKvi(0, $1, $2, $3); while (0); + return; +} + +function _jpeg_resync_to_restart($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$034$ph = 0, $$035 = 0, $14 = 0, $17 = 0, $2 = 0, $20 = 0, $23 = 0, $24 = 0, $3 = 0, $32 = 0, $4 = 0, $or$cond37 = 0, $spec$select36 = 0, label = 0; + $2 = $0 + 440 | 0; + $3 = HEAP32[$2 >> 2] | 0; + $4 = HEAP32[$0 >> 2] | 0; + HEAP32[$4 + 20 >> 2] = 124; + HEAP32[$4 + 24 >> 2] = $3; + HEAP32[(HEAP32[$0 >> 2] | 0) + 28 >> 2] = $1; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$0 >> 2] | 0) + 4 >> 2] & 255]($0, -1); + $14 = $1 + 1 & 7 | 208; + $17 = $1 + 2 & 7 | 208; + $20 = $1 + 7 & 7 | 208; + $23 = $1 + 6 & 7 | 208; + $$034$ph = $3; + L1 : while (1) { + $24 = ($$034$ph | 0) < 192; + $or$cond37 = ($$034$ph & -8 | 0) != 208 | ($$034$ph | 0) == ($14 | 0) | ($$034$ph | 0) == ($17 | 0); + $spec$select36 = ($$034$ph | 0) == ($20 | 0) | ($$034$ph | 0) == ($23 | 0) ? 2 : 1; + L3 : while (1) { + $$0 = $24 ? 2 : $or$cond37 ? 3 : $spec$select36; + $32 = HEAP32[$0 >> 2] | 0; + HEAP32[$32 + 20 >> 2] = 99; + HEAP32[$32 + 24 >> 2] = $$034$ph; + HEAP32[(HEAP32[$0 >> 2] | 0) + 28 >> 2] = $$0; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$0 >> 2] | 0) + 4 >> 2] & 255]($0, 4); + switch ($$0 & 3) { + case 1: + { + label = 4; + break L1; + break; + } + case 3: + { + $$035 = 1; + label = 7; + break L1; + break; + } + case 2: + { + break L3; + break; + } + default: + {} + } + } + if (!(_next_marker($0) | 0)) { + $$035 = 0; + label = 7; + break; + } + $$034$ph = HEAP32[$2 >> 2] | 0; + } + if ((label | 0) == 4) { + HEAP32[$2 >> 2] = 0; + $$035 = 1; + return $$035 | 0; + } else if ((label | 0) == 7) return $$035 | 0; + return 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle15ConditionalExpr9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy3 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $$byval_copy3 = sp + 32 | 0; + $2 = sp + 24 | 0; + $3 = sp + 16 | 0; + $4 = sp + 8 | 0; + $5 = sp; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 51968); + HEAP32[$$byval_copy3 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy3 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy3); + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 8 >> 2] | 0, $1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, 53204); + HEAP32[$$byval_copy3 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy3 + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy3); + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 12 >> 2] | 0, $1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, 53210); + HEAP32[$$byval_copy3 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy3 + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy3); + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 16 >> 2] | 0, $1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($5, 51964); + HEAP32[$$byval_copy3 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$$byval_copy3 + 4 >> 2] = HEAP32[$5 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy3); + STACKTOP = sp; + return; +} + +function __ZNSt3__26vectorIN6vision25DoGScaleInvariantDetector12FeaturePointENS_9allocatorIS3_EEE21__push_back_slow_pathIRKS3_EEvOT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $14 = 0, $16 = 0, $19 = 0, $2 = 0, $24 = 0, $25 = 0, $3 = 0, $8 = 0, $9 = 0, dest = 0, sp = 0, src = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp; + $3 = $0 + 4 | 0; + $8 = (((HEAP32[$3 >> 2] | 0) - (HEAP32[$0 >> 2] | 0) | 0) / 36 | 0) + 1 | 0; + $9 = __ZNKSt3__26vectorIN6vision25DoGScaleInvariantDetector12FeaturePointENS_9allocatorIS3_EEE8max_sizeEv($0) | 0; + if ($9 >>> 0 < $8 >>> 0) __ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv($0); else { + $14 = HEAP32[$0 >> 2] | 0; + $16 = ((HEAP32[$0 + 8 >> 2] | 0) - $14 | 0) / 36 | 0; + $19 = $16 << 1; + __ZNSt3__214__split_bufferIN6vision25DoGScaleInvariantDetector12FeaturePointERNS_9allocatorIS3_EEEC2EmmS6_($2, $16 >>> 0 < $9 >>> 1 >>> 0 ? ($19 >>> 0 < $8 >>> 0 ? $8 : $19) : $9, ((HEAP32[$3 >> 2] | 0) - $14 | 0) / 36 | 0, $0 + 8 | 0); + $24 = $2 + 8 | 0; + $25 = HEAP32[$24 >> 2] | 0; + dest = $25; + src = $1; + stop = dest + 36 | 0; + do { + HEAP32[dest >> 2] = HEAP32[src >> 2]; + dest = dest + 4 | 0; + src = src + 4 | 0; + } while ((dest | 0) < (stop | 0)); + HEAP32[$24 >> 2] = $25 + 36; + __ZNSt3__26vectorIN6vision25DoGScaleInvariantDetector12FeaturePointENS_9allocatorIS3_EEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($0, $2); + __ZNSt3__214__split_bufferIN6vision25DoGScaleInvariantDetector12FeaturePointERNS_9allocatorIS3_EEED2Ev($2); + STACKTOP = sp; + return; + } +} + +function __ZN6vision25DoGScaleInvariantDetector5allocEPKNS_25GaussianScaleSpacePyramidE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $10 = 0, $12 = 0, $14 = 0, $15 = 0, $17 = 0, $19 = 0, $22 = 0, $23 = 0, $25 = 0, $4 = 0, $6 = 0, $7 = 0, $9 = 0; + __ZN6vision10DoGPyramid5allocEPKNS_25GaussianScaleSpacePyramidE($0 + 32 | 0, $1); + $4 = __ZNK6vision25GaussianScaleSpacePyramid6imagesEv($1) | 0; + $6 = __ZNK6vision5Image5widthEv(HEAP32[$4 >> 2] | 0) | 0; + $7 = __ZNK6vision25GaussianScaleSpacePyramid6imagesEv($1) | 0; + $9 = __ZNK6vision5Image6heightEv(HEAP32[$7 >> 2] | 0) | 0; + $10 = __ZNK6vision25GaussianScaleSpacePyramid10numOctavesEv($1) | 0; + __ZN6vision21OrientationAssignment5allocEmmiiiffif($0 + 92 | 0, $6, $9, $10, __ZNK6vision25GaussianScaleSpacePyramid18numScalesPerOctaveEv($1) | 0, 36, 3.0, 1.5, 5, .800000011920929); + $12 = __ZNK6vision25GaussianScaleSpacePyramid6imagesEv($1) | 0; + $14 = __ZNK6vision5Image5widthEv(HEAP32[$12 >> 2] | 0) | 0; + HEAP32[$0 >> 2] = $14; + $15 = __ZNK6vision25GaussianScaleSpacePyramid6imagesEv($1) | 0; + $17 = __ZNK6vision5Image6heightEv(HEAP32[$15 >> 2] | 0) | 0; + HEAP32[$0 + 4 >> 2] = $17; + $19 = $0 + 16 | 0; + __ZNSt3__26vectorINS0_INS0_INS_4pairIfmEENS_9allocatorIS2_EEEENS3_IS5_EEEENS3_IS7_EEE6resizeEm($19, HEAP32[$0 + 8 >> 2] | 0); + $22 = $0 + 20 | 0; + $23 = $0 + 12 | 0; + $$0 = 0; + while (1) { + $25 = HEAP32[$19 >> 2] | 0; + if ($$0 >>> 0 >= (((HEAP32[$22 >> 2] | 0) - $25 | 0) / 12 | 0) >>> 0) break; + __ZNSt3__26vectorINS0_INS_4pairIfmEENS_9allocatorIS2_EEEENS3_IS5_EEE6resizeEm($25 + ($$0 * 12 | 0) | 0, HEAP32[$23 >> 2] | 0); + $$0 = $$0 + 1 | 0; + } + return; +} + +function _init_error_limit($0) { + $0 = $0 | 0; + var $$14042 = 0, $$143 = 0, $$241 = 0, $2 = 0, $47 = 0, $6 = 0, $7 = 0; + $2 = HEAP32[$0 + 484 >> 2] | 0; + $6 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$0 + 4 >> 2] >> 2] & 63]($0, 1, 2044) | 0; + $7 = $6 + 1020 | 0; + HEAP32[$2 + 40 >> 2] = $7; + HEAP32[$7 >> 2] = 0; + HEAP32[$6 + 1024 >> 2] = 1; + HEAP32[$6 + 1016 >> 2] = -1; + HEAP32[$6 + 1028 >> 2] = 2; + HEAP32[$6 + 1012 >> 2] = -2; + HEAP32[$6 + 1032 >> 2] = 3; + HEAP32[$6 + 1008 >> 2] = -3; + HEAP32[$6 + 1036 >> 2] = 4; + HEAP32[$6 + 1004 >> 2] = -4; + HEAP32[$6 + 1040 >> 2] = 5; + HEAP32[$6 + 1e3 >> 2] = -5; + HEAP32[$6 + 1044 >> 2] = 6; + HEAP32[$6 + 996 >> 2] = -6; + HEAP32[$6 + 1048 >> 2] = 7; + HEAP32[$6 + 992 >> 2] = -7; + HEAP32[$6 + 1052 >> 2] = 8; + HEAP32[$6 + 988 >> 2] = -8; + HEAP32[$6 + 1056 >> 2] = 9; + HEAP32[$6 + 984 >> 2] = -9; + HEAP32[$6 + 1060 >> 2] = 10; + HEAP32[$6 + 980 >> 2] = -10; + HEAP32[$6 + 1064 >> 2] = 11; + HEAP32[$6 + 976 >> 2] = -11; + HEAP32[$6 + 1068 >> 2] = 12; + HEAP32[$6 + 972 >> 2] = -12; + HEAP32[$6 + 1072 >> 2] = 13; + HEAP32[$6 + 968 >> 2] = -13; + HEAP32[$6 + 1076 >> 2] = 14; + HEAP32[$6 + 964 >> 2] = -14; + HEAP32[$6 + 1080 >> 2] = 15; + HEAP32[$6 + 960 >> 2] = -15; + $$14042 = 16; + $$143 = 16; + do { + HEAP32[$7 + ($$14042 << 2) >> 2] = $$143; + HEAP32[$7 + (0 - $$14042 << 2) >> 2] = 0 - $$143; + $$14042 = $$14042 + 1 | 0; + $$143 = ($$14042 & 1 ^ 1) + $$143 | 0; + } while (($$14042 | 0) != 48); + $47 = 0 - $$143 | 0; + $$241 = 48; + do { + HEAP32[$7 + ($$241 << 2) >> 2] = $$143; + HEAP32[$7 + (0 - $$241 << 2) >> 2] = $47; + $$241 = $$241 + 1 | 0; + } while (($$241 | 0) != 256); + return; +} + +function _arMatrixPCA($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0, $$064 = 0, $$065 = 0.0, $$1 = 0, $$2 = 0, $18 = 0, $24 = 0, $27 = 0.0, $32 = 0, $35 = 0, $39 = 0, $40 = 0, $49 = 0, $5 = 0, $7 = 0, $9 = 0; + $5 = HEAP32[$0 + 4 >> 2] | 0; + $7 = HEAP32[$0 + 8 >> 2] | 0; + $9 = ($5 | 0) < ($7 | 0) ? $5 : $7; + L1 : do if (((((!(($5 | 0) < 2 | ($7 | 0) < 2) ? (HEAP32[$1 + 8 >> 2] | 0) == ($7 | 0) : 0) ? (HEAP32[$1 + 4 >> 2] | 0) == ($9 | 0) : 0) ? ($18 = $2 + 4 | 0, (HEAP32[$18 >> 2] | 0) == ($9 | 0)) : 0) ? (HEAP32[$3 + 4 >> 2] | 0) == ($7 | 0) : 0) ? ($24 = _arMatrixAllocDup($0) | 0, ($24 | 0) != 0) : 0) { + $27 = +Math_sqrt(+(+($5 | 0))); + if ((_EX($24, $3) | 0) < 0) { + _arMatrixFree($24) | 0; + $$064 = -1; + break; + } + if ((_CENTER($24, $3) | 0) < 0) { + _arMatrixFree($24) | 0; + $$064 = -1; + break; + } + $32 = Math_imul($7, $5) | 0; + $$0 = 0; + while (1) { + if (($$0 | 0) >= ($32 | 0)) break; + $35 = (HEAP32[$24 >> 2] | 0) + ($$0 << 3) | 0; + HEAPF64[$35 >> 3] = +HEAPF64[$35 >> 3] / $27; + $$0 = $$0 + 1 | 0; + } + $39 = _PCA($24, $1, $2) | 0; + _arMatrixFree($24) | 0; + $40 = HEAP32[$18 >> 2] | 0; + $$065 = 0.0; + $$1 = 0; + while (1) { + if (($$1 | 0) >= ($40 | 0)) break; + $$065 = $$065 + +HEAPF64[(HEAP32[$2 >> 2] | 0) + ($$1 << 3) >> 3]; + $$1 = $$1 + 1 | 0; + } + $$2 = 0; + while (1) { + if (($$2 | 0) >= ($40 | 0)) { + $$064 = $39; + break L1; + } + $49 = (HEAP32[$2 >> 2] | 0) + ($$2 << 3) | 0; + HEAPF64[$49 >> 3] = +HEAPF64[$49 >> 3] / $$065; + $$2 = $$2 + 1 | 0; + } + } else $$064 = -1; while (0); + return $$064 | 0; +} + +function _setup($width, $height, $cameraID) { + $width = $width | 0; + $height = $height | 0; + $cameraID = $cameraID | 0; + var $0 = 0, $call = 0, $call10 = 0, $call7 = 0, $call9 = 0, $id = 0, $mul4 = 0, $vararg_buffer1 = 0, $videoFrame = 0, $videoFrameSize = 0, $videoLuma = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $vararg_buffer1 = sp + 8 | 0; + $id = sp + 12 | 0; + $0 = HEAP32[16326] | 0; + HEAP32[16326] = $0 + 1; + HEAP32[$id >> 2] = $0; + $call = __ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id) | 0; + HEAP32[$call >> 2] = HEAP32[$id >> 2]; + HEAP32[$call + 208 >> 2] = $width; + HEAP32[$call + 212 >> 2] = $height; + $mul4 = Math_imul($width << 2, $height) | 0; + $videoFrameSize = $call + 200 | 0; + HEAP32[$videoFrameSize >> 2] = $mul4; + $call7 = _malloc($mul4) | 0; + $videoFrame = $call + 196 | 0; + HEAP32[$videoFrame >> 2] = $call7; + $call9 = _malloc((HEAP32[$videoFrameSize >> 2] | 0) / 4 | 0) | 0; + $videoLuma = $call + 204 | 0; + HEAP32[$videoLuma >> 2] = $call9; + $call10 = _arPattCreateHandle() | 0; + HEAP32[$call + 220 >> 2] = $call10; + if (!$call10) _arLog(0, 3, 45426, sp); + _setCamera(HEAP32[$id >> 2] | 0, $cameraID) | 0; + HEAP32[$vararg_buffer1 >> 2] = HEAP32[$videoFrameSize >> 2]; + _arLog(0, 1, 45463, $vararg_buffer1); + _emscripten_asm_const_iiiiiii(0, HEAP32[$call >> 2] | 0, HEAP32[$videoFrame >> 2] | 0, HEAP32[$videoFrameSize >> 2] | 0, $call + 344 | 0, 61136, HEAP32[$videoLuma >> 2] | 0) | 0; + STACKTOP = sp; + return HEAP32[$call >> 2] | 0; +} + +function __ZNKSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwPK2tmcc($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$i$i = 0, $$0$i$i$i$i = 0, $$sroa$04$0$i = 0, $$sroa$04$1$i = 0, $11 = 0, $14 = 0, $16 = 0, $17 = 0, $23 = 0, $24 = 0, $29 = 0, $7 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 416 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(416); + $7 = sp; + $8 = sp + 400 | 0; + HEAP32[$8 >> 2] = $7 + 400; + __ZNKSt3__210__time_put8__do_putEPwRS1_PK2tmcc($0 + 8 | 0, $7, $8, $4, $5, $6); + $11 = HEAP32[$8 >> 2] | 0; + $$0$i$i = $7; + $$sroa$04$0$i = HEAP32[$1 >> 2] | 0; + while (1) { + if (($$0$i$i | 0) == ($11 | 0)) break; + $14 = HEAP32[$$0$i$i >> 2] | 0; + if (!$$sroa$04$0$i) $$sroa$04$1$i = 0; else { + $16 = $$sroa$04$0$i + 24 | 0; + $17 = HEAP32[$16 >> 2] | 0; + if (($17 | 0) == (HEAP32[$$sroa$04$0$i + 28 >> 2] | 0)) { + $23 = HEAP32[(HEAP32[$$sroa$04$0$i >> 2] | 0) + 52 >> 2] | 0; + $24 = __ZNSt3__211char_traitsIwE11to_int_typeEw($14) | 0; + $$0$i$i$i$i = FUNCTION_TABLE_iii[$23 & 127]($$sroa$04$0$i, $24) | 0; + } else { + HEAP32[$16 >> 2] = $17 + 4; + HEAP32[$17 >> 2] = $14; + $$0$i$i$i$i = __ZNSt3__211char_traitsIwE11to_int_typeEw($14) | 0; + } + $29 = __ZNSt3__211char_traitsIwE11eq_int_typeEjj($$0$i$i$i$i, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0; + $$sroa$04$1$i = $29 ? 0 : $$sroa$04$0$i; + } + $$0$i$i = $$0$i$i + 4 | 0; + $$sroa$04$0$i = $$sroa$04$1$i; + } + STACKTOP = sp; + return $$sroa$04$0$i | 0; +} + +function __ZNKSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcPK2tmcc($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$i$i = 0, $$0$i$i$i$i = 0, $$sroa$04$0$i = 0, $$sroa$04$1$i = 0, $11 = 0, $14 = 0, $16 = 0, $17 = 0, $23 = 0, $24 = 0, $29 = 0, $7 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(112); + $7 = sp; + $8 = sp + 100 | 0; + HEAP32[$8 >> 2] = $7 + 100; + __ZNKSt3__210__time_put8__do_putEPcRS1_PK2tmcc($0 + 8 | 0, $7, $8, $4, $5, $6); + $11 = HEAP32[$8 >> 2] | 0; + $$0$i$i = $7; + $$sroa$04$0$i = HEAP32[$1 >> 2] | 0; + while (1) { + if (($$0$i$i | 0) == ($11 | 0)) break; + $14 = HEAP8[$$0$i$i >> 0] | 0; + if (!$$sroa$04$0$i) $$sroa$04$1$i = 0; else { + $16 = $$sroa$04$0$i + 24 | 0; + $17 = HEAP32[$16 >> 2] | 0; + if (($17 | 0) == (HEAP32[$$sroa$04$0$i + 28 >> 2] | 0)) { + $23 = HEAP32[(HEAP32[$$sroa$04$0$i >> 2] | 0) + 52 >> 2] | 0; + $24 = __ZNSt3__211char_traitsIcE11to_int_typeEc($14) | 0; + $$0$i$i$i$i = FUNCTION_TABLE_iii[$23 & 127]($$sroa$04$0$i, $24) | 0; + } else { + HEAP32[$16 >> 2] = $17 + 1; + HEAP8[$17 >> 0] = $14; + $$0$i$i$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc($14) | 0; + } + $29 = __ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i$i$i, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0; + $$sroa$04$1$i = $29 ? 0 : $$sroa$04$0$i; + } + $$0$i$i = $$0$i$i + 1 | 0; + $$sroa$04$0$i = $$sroa$04$1$i; + } + STACKTOP = sp; + return $$sroa$04$0$i | 0; +} + +function __ZN6vision24OrthogonalizeIdentity8x9IfEEbPT_PKS1_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $12 = 0.0, $15 = 0.0, $18 = 0.0, $2 = 0, $21 = 0.0, $24 = 0.0, $27 = 0.0, $29 = 0, $3 = 0, $4 = 0.0, $6 = 0.0, $9 = 0.0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 384 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(384); + $2 = sp + 336 | 0; + $3 = sp; + $4 = +__ZN6vision24OrthogonalizeIdentity8x9IfEET_PS1_PKS1_i($3, $1, 0); + HEAPF32[$2 >> 2] = $4; + $6 = +__ZN6vision24OrthogonalizeIdentity8x9IfEET_PS1_PKS1_i($3 + 36 | 0, $1, 1); + HEAPF32[$2 + 4 >> 2] = $6; + $9 = +__ZN6vision24OrthogonalizeIdentity8x9IfEET_PS1_PKS1_i($3 + 72 | 0, $1, 2); + HEAPF32[$2 + 8 >> 2] = $9; + $12 = +__ZN6vision24OrthogonalizeIdentity8x9IfEET_PS1_PKS1_i($3 + 108 | 0, $1, 3); + HEAPF32[$2 + 12 >> 2] = $12; + $15 = +__ZN6vision24OrthogonalizeIdentity8x9IfEET_PS1_PKS1_i($3 + 144 | 0, $1, 4); + HEAPF32[$2 + 16 >> 2] = $15; + $18 = +__ZN6vision24OrthogonalizeIdentity8x9IfEET_PS1_PKS1_i($3 + 180 | 0, $1, 5); + HEAPF32[$2 + 20 >> 2] = $18; + $21 = +__ZN6vision24OrthogonalizeIdentity8x9IfEET_PS1_PKS1_i($3 + 216 | 0, $1, 6); + HEAPF32[$2 + 24 >> 2] = $21; + $24 = +__ZN6vision24OrthogonalizeIdentity8x9IfEET_PS1_PKS1_i($3 + 252 | 0, $1, 7); + HEAPF32[$2 + 28 >> 2] = $24; + $27 = +__ZN6vision24OrthogonalizeIdentity8x9IfEET_PS1_PKS1_i($3 + 288 | 0, $1, 8); + HEAPF32[$2 + 32 >> 2] = $27; + $29 = __ZN6vision9MaxIndex9IfEEiPKT_($2) | 0; + if (+HEAPF32[$2 + ($29 << 2) >> 2] == 0.0) $$0 = 0; else { + __ZN6vision11CopyVector9IfEEvPT_PKS1_($0, $3 + ($29 * 9 << 2) | 0); + $$0 = 1; + } + STACKTOP = sp; + return $$0 | 0; +} + +function __ZL28demangling_terminate_handlerv() { + var $0 = 0, $1 = 0, $15 = 0, $16 = 0, $18 = 0, $23 = 0, $27 = 0, $3 = 0, $6 = 0, $8 = 0, $vararg_buffer = 0, $vararg_buffer10 = 0, $vararg_buffer3 = 0, $vararg_buffer7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $vararg_buffer10 = sp + 32 | 0; + $vararg_buffer7 = sp + 24 | 0; + $vararg_buffer3 = sp + 16 | 0; + $vararg_buffer = sp; + $0 = sp + 36 | 0; + $1 = ___cxa_get_globals_fast() | 0; + if ($1 | 0 ? ($3 = HEAP32[$1 >> 2] | 0, $3 | 0) : 0) { + $6 = $3 + 48 | 0; + if (!(__ZN10__cxxabiv121__isOurExceptionClassEPK17_Unwind_Exception($6) | 0)) { + HEAP32[$vararg_buffer7 >> 2] = 50980; + _abort_message(50930, $vararg_buffer7); + } + $8 = __ZN10__cxxabiv119__getExceptionClassEPK17_Unwind_Exception($6) | 0; + if (($8 | 0) == 1126902529 & (getTempRet0() | 0) == 1129074247) $15 = HEAP32[$3 + 44 >> 2] | 0; else $15 = $3 + 80 | 0; + HEAP32[$0 >> 2] = $15; + $16 = HEAP32[$3 >> 2] | 0; + $18 = HEAP32[$16 + 4 >> 2] | 0; + if (FUNCTION_TABLE_iiii[HEAP32[(HEAP32[3470] | 0) + 16 >> 2] & 63](13880, $16, $0) | 0) { + $23 = HEAP32[$0 >> 2] | 0; + $27 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$23 >> 2] | 0) + 8 >> 2] & 127]($23) | 0; + HEAP32[$vararg_buffer >> 2] = 50980; + HEAP32[$vararg_buffer + 4 >> 2] = $18; + HEAP32[$vararg_buffer + 8 >> 2] = $27; + _abort_message(50844, $vararg_buffer); + } else { + HEAP32[$vararg_buffer3 >> 2] = 50980; + HEAP32[$vararg_buffer3 + 4 >> 2] = $18; + _abort_message(50889, $vararg_buffer3); + } + } + _abort_message(50968, $vararg_buffer10); +} + +function __ZNSt3__29__sift_upIRNS_4lessIN6vision17PriorityQueueItemILi96EEEEENS_11__wrap_iterIPS4_EEEEvT0_SA_T_NS_15iterator_traitsISA_E15difference_typeE($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0, $$sroa$0$0$in = 0, $11 = 0, $13 = 0, $18 = 0, $19 = 0, $23 = 0, $28 = 0, $29 = 0, $30 = 0, $30$phi = 0, $37 = 0, $39 = 0, $4 = 0, $44 = 0, $45 = 0, $7 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $4 = sp; + if (($3 | 0) > 1 ? ($7 = ($3 + -2 | 0) / 2 | 0, $8 = HEAP32[$0 >> 2] | 0, $9 = $8 + ($7 << 3) | 0, $11 = (HEAP32[$1 >> 2] | 0) + -8 | 0, HEAP32[$1 >> 2] = $11, __ZNK6vision17PriorityQueueItemILi96EEltERKS1_($9, $11) | 0) : 0) { + $13 = $11; + $18 = HEAP32[$13 + 4 >> 2] | 0; + $19 = $4; + HEAP32[$19 >> 2] = HEAP32[$13 >> 2]; + HEAP32[$19 + 4 >> 2] = $18; + $$0 = $7; + $$sroa$0$0$in = $9; + $30 = $11; + while (1) { + $23 = $$sroa$0$0$in; + $28 = HEAP32[$23 + 4 >> 2] | 0; + $29 = $30; + HEAP32[$29 >> 2] = HEAP32[$23 >> 2]; + HEAP32[$29 + 4 >> 2] = $28; + HEAP32[$1 >> 2] = $$sroa$0$0$in; + if (!$$0) break; + $$0 = ($$0 + -1 | 0) / 2 | 0; + $37 = $8 + ($$0 << 3) | 0; + if (!(__ZNK6vision17PriorityQueueItemILi96EEltERKS1_($37, $4) | 0)) break; else { + $30$phi = $$sroa$0$0$in; + $$sroa$0$0$in = $37; + $30 = $30$phi; + } + } + $39 = $4; + $44 = HEAP32[$39 + 4 >> 2] | 0; + $45 = $$sroa$0$0$in; + HEAP32[$45 >> 2] = HEAP32[$39 >> 2]; + HEAP32[$45 + 4 >> 2] = $44; + __ZN6vision17PriorityQueueItemILi96EED2Ev($4); + } + STACKTOP = sp; + return; +} + +function _post_process_2pass($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 $$1 = 0, $$pre$phi43Z2D = 0, $$pre$phiZ2D = 0, $10 = 0, $18 = 0, $20 = 0, $22 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $33 = 0, $40 = 0, $45 = 0, $46 = 0, $8 = 0, $9 = 0, $spec$select = 0; + $8 = HEAP32[$0 + 456 >> 2] | 0; + $9 = $8 + 24 | 0; + $10 = HEAP32[$9 >> 2] | 0; + if (!$10) { + $18 = $8 + 20 | 0; + $20 = $8 + 16 | 0; + $22 = FUNCTION_TABLE_iiiiii[HEAP32[(HEAP32[$0 + 4 >> 2] | 0) + 28 >> 2] & 31]($0, HEAP32[$8 + 8 >> 2] | 0, HEAP32[$18 >> 2] | 0, HEAP32[$20 >> 2] | 0, 0) | 0; + HEAP32[$8 + 12 >> 2] = $22; + $$pre$phi43Z2D = $18; + $$pre$phiZ2D = $20; + $26 = HEAP32[$9 >> 2] | 0; + $40 = $22; + } else { + $$pre$phi43Z2D = $8 + 20 | 0; + $$pre$phiZ2D = $8 + 16 | 0; + $26 = $10; + $40 = HEAP32[$8 + 12 >> 2] | 0; + } + $25 = (HEAP32[$$pre$phiZ2D >> 2] | 0) - $26 | 0; + $27 = HEAP32[$5 >> 2] | 0; + $28 = $6 - $27 | 0; + $spec$select = $25 >>> 0 > $28 >>> 0 ? $28 : $25; + $33 = (HEAP32[$0 + 116 >> 2] | 0) - (HEAP32[$$pre$phi43Z2D >> 2] | 0) | 0; + $$1 = $spec$select >>> 0 > $33 >>> 0 ? $33 : $spec$select; + FUNCTION_TABLE_viiii[HEAP32[(HEAP32[$0 + 484 >> 2] | 0) + 4 >> 2] & 31]($0, $40 + ($26 << 2) | 0, $4 + ($27 << 2) | 0, $$1); + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + $$1; + $45 = (HEAP32[$9 >> 2] | 0) + $$1 | 0; + HEAP32[$9 >> 2] = $45; + $46 = HEAP32[$$pre$phiZ2D >> 2] | 0; + if ($45 >>> 0 < $46 >>> 0) return; + HEAP32[$$pre$phi43Z2D >> 2] = (HEAP32[$$pre$phi43Z2D >> 2] | 0) + $46; + HEAP32[$9 >> 2] = 0; + return; +} + +function _ar2GetSearchPoint($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 $$sink = 0, $10 = 0, $11 = 0, $13 = 0.0, $15 = 0.0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $6 = sp + 20 | 0; + $7 = sp + 16 | 0; + $8 = sp + 12 | 0; + $9 = sp + 8 | 0; + $10 = sp + 4 | 0; + $11 = sp; + $13 = +HEAPF32[$4 + 8 >> 2]; + $15 = +HEAPF32[$4 + 12 >> 2]; + if (($1 | 0) != 0 ? (_ar2MarkerCoord2ScreenCoord($0, $1, $13, $15, $6, $9) | 0) >= 0 : 0) { + HEAP32[$5 >> 2] = ~~+HEAPF32[$6 >> 2]; + HEAP32[$5 + 4 >> 2] = ~~+HEAPF32[$9 >> 2]; + if (($2 | 0) != 0 ? (_ar2MarkerCoord2ScreenCoord($0, $2, $13, $15, $7, $10) | 0) >= 0 : 0) { + HEAP32[$5 + 8 >> 2] = ~~(+HEAPF32[$6 >> 2] * 2.0 - +HEAPF32[$7 >> 2]); + HEAP32[$5 + 12 >> 2] = ~~(+HEAPF32[$9 >> 2] * 2.0 - +HEAPF32[$10 >> 2]); + if (($3 | 0) != 0 ? (_ar2MarkerCoord2ScreenCoord($0, $3, $13, $15, $8, $11) | 0) >= 0 : 0) { + HEAP32[$5 + 16 >> 2] = ~~(+HEAPF32[$8 >> 2] + (+HEAPF32[$6 >> 2] * 3.0 - +HEAPF32[$7 >> 2] * 3.0)); + $$sink = ~~(+HEAPF32[$11 >> 2] + (+HEAPF32[$9 >> 2] * 3.0 - +HEAPF32[$10 >> 2] * 3.0)); + } else label = 10; + } else label = 9; + } else { + HEAP32[$5 >> 2] = -1; + HEAP32[$5 + 4 >> 2] = -1; + label = 9; + } + if ((label | 0) == 9) { + HEAP32[$5 + 8 >> 2] = -1; + HEAP32[$5 + 12 >> 2] = -1; + label = 10; + } + if ((label | 0) == 10) { + HEAP32[$5 + 16 >> 2] = -1; + $$sink = -1; + } + HEAP32[$5 + 20 >> 2] = $$sink; + STACKTOP = sp; + return; +} + +function __ZNSt3__26vectorINS0_INS_4pairIfmEENS_9allocatorIS2_EEEENS3_IS5_EEE8__appendEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $13 = 0, $14 = 0, $18 = 0, $2 = 0, $20 = 0, $23 = 0, $3 = 0, $5 = 0, $6 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp; + $3 = $0 + 8 | 0; + $5 = $0 + 4 | 0; + $6 = HEAP32[$5 >> 2] | 0; + do if ((((HEAP32[$3 >> 2] | 0) - $6 | 0) / 12 | 0) >>> 0 < $1 >>> 0) { + $13 = (($6 - (HEAP32[$0 >> 2] | 0) | 0) / 12 | 0) + $1 | 0; + $14 = __ZNKSt3__26vectorINS0_INS_4pairIfmEENS_9allocatorIS2_EEEENS3_IS5_EEE8max_sizeEv($0) | 0; + if ($14 >>> 0 < $13 >>> 0) __ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv($0); else { + $18 = HEAP32[$0 >> 2] | 0; + $20 = ((HEAP32[$3 >> 2] | 0) - $18 | 0) / 12 | 0; + $23 = $20 << 1; + __ZNSt3__214__split_bufferINS_6vectorINS_4pairIfmEENS_9allocatorIS3_EEEERNS4_IS6_EEEC2EmmS8_($2, $20 >>> 0 < $14 >>> 1 >>> 0 ? ($23 >>> 0 < $13 >>> 0 ? $13 : $23) : $14, ((HEAP32[$5 >> 2] | 0) - $18 | 0) / 12 | 0, $0 + 8 | 0); + __ZNSt3__214__split_bufferINS_6vectorINS_4pairIfmEENS_9allocatorIS3_EEEERNS4_IS6_EEE18__construct_at_endEm($2, $1); + __ZNSt3__26vectorINS0_INS_4pairIfmEENS_9allocatorIS2_EEEENS3_IS5_EEE26__swap_out_circular_bufferERNS_14__split_bufferIS5_RS6_EE($0, $2); + __ZNSt3__214__split_bufferINS_6vectorINS_4pairIfmEENS_9allocatorIS3_EEEERNS4_IS6_EEED2Ev($2); + break; + } + } else __ZNSt3__26vectorINS0_INS_4pairIfmEENS_9allocatorIS2_EEEENS3_IS5_EEE18__construct_at_endEm($0, $1); while (0); + STACKTOP = sp; + return; +} + +function __ZN6vision14VisualDatabaseINS_14FREAKExtractorENS_18BinaryFeatureStoreENS_20BinaryFeatureMatcherILi96EEEE5queryERKNS_5ImageE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $11 = 0, $14 = 0, $16 = 0, $19 = 0, $2 = 0, $21 = 0, $22 = 0, $25 = 0, $3 = 0, $4 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp; + $3 = $0 + 92 | 0; + $4 = __ZN6vision25GaussianScaleSpacePyramid6imagesEv($3) | 0; + if (((HEAP32[$4 + 4 >> 2] | 0) != (HEAP32[$4 >> 2] | 0) ? ($9 = __ZN6vision25GaussianScaleSpacePyramid6imagesEv($3) | 0, $11 = __ZNK6vision5Image5widthEv(HEAP32[$9 >> 2] | 0) | 0, ($11 | 0) == (__ZNK6vision5Image5widthEv($1) | 0)) : 0) ? ($14 = __ZN6vision25GaussianScaleSpacePyramid6imagesEv($3) | 0, $16 = __ZNK6vision5Image6heightEv(HEAP32[$14 >> 2] | 0) | 0, ($16 | 0) == (__ZNK6vision5Image6heightEv($1) | 0)) : 0) {} else { + $19 = __ZNK6vision5Image5widthEv($1) | 0; + $21 = __ZN6vision10numOctavesEiii($19, __ZNK6vision5Image6heightEv($1) | 0, 8) | 0; + $22 = __ZNK6vision5Image5widthEv($1) | 0; + __ZN6vision18BinomialPyramid32f5allocEmmi($3, $22, __ZNK6vision5Image6heightEv($1) | 0, $21); + } + __ZN6vision11ScopedTimerC2EPKc($2, 33175); + if (__ZN6vision11ScopedTimercvbEv($2) | 0) __ZN6vision18BinomialPyramid32f5buildERKNS_5ImageE($3, $1); + __ZN6vision11ScopedTimerD2Ev($2); + $25 = __ZN6vision14VisualDatabaseINS_14FREAKExtractorENS_18BinaryFeatureStoreENS_20BinaryFeatureMatcherILi96EEEE5queryEPKNS_25GaussianScaleSpacePyramidE($0, $3) | 0; + STACKTOP = sp; + return $25 | 0; +} + +function ___cxa_demangle($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0, $$023 = 0, $$024 = 0, $12 = 0, $15 = 0, $4 = 0, $5 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 4496 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(4496); + $4 = sp; + $5 = sp + 4472 | 0; + if (($0 | 0) != 0 ? ($8 = ($2 | 0) == 0, !(($1 | 0) != 0 & $8)) : 0) { + __ZN12_GLOBAL__N_116itanium_demangle14ManglingParserINS_16DefaultAllocatorEECI2NS0_22AbstractManglingParserIS3_S2_EEEPKcS6_($4, $0, $0 + (_strlen($0) | 0) | 0); + __ZN12_GLOBAL__N_112OutputStreamC2Ev($5); + $12 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E5parseEv($4) | 0; + if ($12) if (__ZN12_GLOBAL__N_122initializeOutputStreamEPcPmRNS_12OutputStreamEm($1, $2, $5) | 0) { + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE($12, $5); + __ZN12_GLOBAL__N_112OutputStreampLEc($5, 0); + if (!$8) { + $15 = __ZNK12_GLOBAL__N_112OutputStream18getCurrentPositionEv($5) | 0; + HEAP32[$2 >> 2] = $15; + } + $$023 = 0; + $$024 = __ZN12_GLOBAL__N_112OutputStream9getBufferEv($5) | 0; + } else { + $$023 = -1; + $$024 = $1; + } else { + $$023 = -2; + $$024 = $1; + } + if ($3 | 0) HEAP32[$3 >> 2] = $$023; + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_ED2Ev($4); + $$0 = ($$023 | 0) == 0 ? $$024 : 0; + } else if (!$3) $$0 = 0; else { + HEAP32[$3 >> 2] = -3; + $$0 = 0; + } + STACKTOP = sp; + return $$0 | 0; +} + +function __ZNSt3__216__selection_sortIRNS_7greaterINS_4pairIfmEEEENS_11__wrap_iterIPS3_EEEEvT0_S9_T_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$sroa$0$0$copyload$i = 0, $$sroa$0$0$copyload6$i$ph = 0, $$sroa$0$0$ptr$i = 0, $11 = 0.0, $12 = 0.0, $20 = 0, $22 = 0, $23 = 0, $24 = 0, $26 = 0, $3 = 0, $4 = 0, $6 = 0, $8 = 0, $9 = 0; + $3 = HEAP32[$1 >> 2] | 0; + $4 = $3 + -8 | 0; + $6 = HEAP32[$0 >> 2] | 0; + while (1) { + if (($6 | 0) == ($4 | 0)) break; + L4 : do if (($6 | 0) == ($3 | 0)) $$sroa$0$0$copyload$i = $3; else { + $$sroa$0$0$copyload6$i$ph = $6; + while (1) { + $8 = $$sroa$0$0$copyload6$i$ph + 4 | 0; + $$sroa$0$0$ptr$i = $$sroa$0$0$copyload6$i$ph; + while (1) { + $9 = $$sroa$0$0$ptr$i + 8 | 0; + if (($9 | 0) == ($3 | 0)) { + $$sroa$0$0$copyload$i = $$sroa$0$0$copyload6$i$ph; + break L4; + } + $11 = +HEAPF32[$$sroa$0$0$copyload6$i$ph >> 2]; + $12 = +HEAPF32[$9 >> 2]; + if ($11 < $12) break; + if (!($12 < $11) ? (HEAP32[$8 >> 2] | 0) >>> 0 < (HEAP32[$$sroa$0$0$ptr$i + 12 >> 2] | 0) >>> 0 : 0) break; + $$sroa$0$0$ptr$i = $9; + } + $$sroa$0$0$copyload6$i$ph = $9; + } + } while (0); + if (($$sroa$0$0$copyload$i | 0) != ($6 | 0)) { + $20 = HEAP32[$6 >> 2] | 0; + HEAP32[$6 >> 2] = HEAP32[$$sroa$0$0$copyload$i >> 2]; + HEAP32[$$sroa$0$0$copyload$i >> 2] = $20; + $22 = $6 + 4 | 0; + $23 = $$sroa$0$0$copyload$i + 4 | 0; + $24 = HEAP32[$22 >> 2] | 0; + HEAP32[$22 >> 2] = HEAP32[$23 >> 2]; + HEAP32[$23 >> 2] = $24; + } + $26 = $6 + 8 | 0; + HEAP32[$0 >> 2] = $26; + $6 = $26; + } + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle19PointerToMemberType9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy2 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy2 = sp + 24 | 0; + $2 = sp + 16 | 0; + $3 = sp + 8 | 0; + $4 = sp; + $5 = $0 + 12 | 0; + $6 = HEAP32[$5 >> 2] | 0; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$6 >> 2] | 0) + 16 >> 2] & 255]($6, $1); + if (!(__ZNK12_GLOBAL__N_116itanium_demangle4Node8hasArrayERNS_12OutputStreamE(HEAP32[$5 >> 2] | 0, $1) | 0) ? !(__ZNK12_GLOBAL__N_116itanium_demangle4Node11hasFunctionERNS_12OutputStreamE(HEAP32[$5 >> 2] | 0, $1) | 0) : 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, 51966); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy2); + } else { + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 51968); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy2); + } + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 8 >> 2] | 0, $1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, 55865); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy2); + STACKTOP = sp; + return; +} + +function __ZNSt3__26vectorI12multi_markerNS_9allocatorIS1_EEE21__push_back_slow_pathIRKS1_EEvOT_($this, $__x) { + $this = $this | 0; + $__x = $__x | 0; + var $11 = 0, $12 = 0, $3 = 0, $6 = 0, $__end_ = 0, $__end_$i = 0, $__v = 0, $add = 0, $call$i = 0, $mul$i = 0, $sub$ptr$sub$i$i$i = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $__v = sp; + $__end_$i = $this + 4 | 0; + $add = ((HEAP32[$__end_$i >> 2] | 0) - (HEAP32[$this >> 2] | 0) >> 3) + 1 | 0; + $call$i = __ZNKSt3__26vectorI12multi_markerNS_9allocatorIS1_EEE8max_sizeEv($this) | 0; + if ($call$i >>> 0 < $add >>> 0) __ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv($this); else { + $3 = HEAP32[$this >> 2] | 0; + $sub$ptr$sub$i$i$i = (HEAP32[$this + 8 >> 2] | 0) - $3 | 0; + $mul$i = $sub$ptr$sub$i$i$i >> 2; + __ZNSt3__214__split_bufferI12multi_markerRNS_9allocatorIS1_EEEC2EmmS4_($__v, $sub$ptr$sub$i$i$i >> 3 >>> 0 < $call$i >>> 1 >>> 0 ? ($mul$i >>> 0 < $add >>> 0 ? $add : $mul$i) : $call$i, (HEAP32[$__end_$i >> 2] | 0) - $3 >> 3, $this + 8 | 0); + $__end_ = $__v + 8 | 0; + $6 = $__x; + $11 = HEAP32[$6 + 4 >> 2] | 0; + $12 = HEAP32[$__end_ >> 2] | 0; + HEAP32[$12 >> 2] = HEAP32[$6 >> 2]; + HEAP32[$12 + 4 >> 2] = $11; + HEAP32[$__end_ >> 2] = (HEAP32[$__end_ >> 2] | 0) + 8; + __ZNSt3__26vectorI12multi_markerNS_9allocatorIS1_EEE26__swap_out_circular_bufferERNS_14__split_bufferIS1_RS3_EE($this, $__v); + __ZNSt3__214__split_bufferI12multi_markerRNS_9allocatorIS1_EEED2Ev($__v); + STACKTOP = sp; + return; + } +} + +function _color_quantize($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$04147$us$us101 = 0, $$04252$us$us91 = 0, $$04356 = 0, $$04356$us74 = 0, $$04451$us$us92 = 0, $$04550$us$us93 = 0, $$048$us$us100 = 0, $$146$us$us102 = 0, $11 = 0, $7 = 0, $9 = 0; + $7 = HEAP32[(HEAP32[$0 + 484 >> 2] | 0) + 24 >> 2] | 0; + $9 = HEAP32[$0 + 112 >> 2] | 0; + $11 = HEAP32[$0 + 120 >> 2] | 0; + if (($3 | 0) < 1 | ($9 | 0) == 0) return; + if (($11 | 0) <= 0) { + $$04356 = 0; + do { + _memset(HEAP32[$2 + ($$04356 << 2) >> 2] | 0, 0, $9 | 0) | 0; + $$04356 = $$04356 + 1 | 0; + } while (($$04356 | 0) != ($3 | 0)); + return; + } + $$04356$us74 = 0; + do { + $$04252$us$us91 = $9; + $$04451$us$us92 = HEAP32[$2 + ($$04356$us74 << 2) >> 2] | 0; + $$04550$us$us93 = HEAP32[$1 + ($$04356$us74 << 2) >> 2] | 0; + while (1) { + $$04147$us$us101 = 0; + $$048$us$us100 = 0; + $$146$us$us102 = $$04550$us$us93; + while (1) { + $$048$us$us100 = $$048$us$us100 + (HEAPU8[(HEAP32[$7 + ($$04147$us$us101 << 2) >> 2] | 0) + (HEAPU8[$$146$us$us102 >> 0] | 0) >> 0] | 0) | 0; + $$04147$us$us101 = $$04147$us$us101 + 1 | 0; + if (($$04147$us$us101 | 0) == ($11 | 0)) break; else $$146$us$us102 = $$146$us$us102 + 1 | 0; + } + HEAP8[$$04451$us$us92 >> 0] = $$048$us$us100; + $$04252$us$us91 = $$04252$us$us91 + -1 | 0; + if (!$$04252$us$us91) break; else { + $$04451$us$us92 = $$04451$us$us92 + 1 | 0; + $$04550$us$us93 = $$04550$us$us93 + $11 | 0; + } + } + $$04356$us74 = $$04356$us74 + 1 | 0; + } while (($$04356$us74 | 0) != ($3 | 0)); + return; +} + +function _post_process_prepass($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 $$phi$trans$insert = 0, $$pre$phi40Z2D = 0, $$pre$phiZ2D = 0, $10 = 0, $20 = 0, $22 = 0, $23 = 0, $29 = 0, $30 = 0, $32 = 0, $33 = 0, $42 = 0, $44 = 0, $45 = 0, $8 = 0, $9 = 0; + $8 = HEAP32[$0 + 456 >> 2] | 0; + $9 = $8 + 24 | 0; + $10 = HEAP32[$9 >> 2] | 0; + if (!$10) { + $20 = $8 + 16 | 0; + $22 = FUNCTION_TABLE_iiiiii[HEAP32[(HEAP32[$0 + 4 >> 2] | 0) + 28 >> 2] & 31]($0, HEAP32[$8 + 8 >> 2] | 0, HEAP32[$8 + 20 >> 2] | 0, HEAP32[$20 >> 2] | 0, 1) | 0; + $23 = $8 + 12 | 0; + HEAP32[$23 >> 2] = $22; + $$pre$phi40Z2D = $20; + $$pre$phiZ2D = $23; + $29 = $22; + $32 = HEAP32[$9 >> 2] | 0; + } else { + $$phi$trans$insert = $8 + 12 | 0; + $$pre$phi40Z2D = $8 + 16 | 0; + $$pre$phiZ2D = $$phi$trans$insert; + $29 = HEAP32[$$phi$trans$insert >> 2] | 0; + $32 = $10; + } + FUNCTION_TABLE_viiiiiii[HEAP32[(HEAP32[$0 + 476 >> 2] | 0) + 4 >> 2] & 7]($0, $1, $2, $3, $29, $9, HEAP32[$$pre$phi40Z2D >> 2] | 0); + $30 = HEAP32[$9 >> 2] | 0; + if ($30 >>> 0 > $32 >>> 0) { + $33 = $30 - $32 | 0; + FUNCTION_TABLE_viiii[HEAP32[(HEAP32[$0 + 484 >> 2] | 0) + 4 >> 2] & 31]($0, (HEAP32[$$pre$phiZ2D >> 2] | 0) + ($32 << 2) | 0, 0, $33); + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + $33; + $44 = HEAP32[$9 >> 2] | 0; + } else $44 = $30; + $42 = HEAP32[$$pre$phi40Z2D >> 2] | 0; + if ($44 >>> 0 < $42 >>> 0) return; + $45 = $8 + 20 | 0; + HEAP32[$45 >> 2] = (HEAP32[$45 >> 2] | 0) + $42; + HEAP32[$9 >> 2] = 0; + return; +} + +function __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc($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 $$sroa$speculated = 0, $16 = 0, $17 = 0, $22 = 0, $23 = 0, $25 = 0, $28 = 0, $29 = 0, $35 = 0, $39 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $8 = sp; + if ((-18 - $1 | 0) >>> 0 < $2 >>> 0) __ZNKSt3__221__basic_string_commonILb1EE20__throw_length_errorEv($0); + if ((HEAP8[$0 + 11 >> 0] | 0) < 0) $25 = HEAP32[$0 >> 2] | 0; else $25 = $0; + if ($1 >>> 0 < 2147483623) { + $16 = $2 + $1 | 0; + $17 = $1 << 1; + $$sroa$speculated = $16 >>> 0 < $17 >>> 0 ? $17 : $16; + $22 = $$sroa$speculated >>> 0 < 11 ? 11 : $$sroa$speculated + 16 & -16; + } else $22 = -17; + $23 = __Znwm($22) | 0; + if ($4 | 0) __ZNSt3__211char_traitsIcE4copyEPcPKcm($23, $25, $4) | 0; + if ($6 | 0) __ZNSt3__211char_traitsIcE4copyEPcPKcm($23 + $4 | 0, $7, $6) | 0; + $28 = $3 - $5 | 0; + $29 = $28 - $4 | 0; + if ($29 | 0) __ZNSt3__211char_traitsIcE4copyEPcPKcm($23 + $4 + $6 | 0, $25 + $4 + $5 | 0, $29) | 0; + $35 = $1 + 1 | 0; + if (($35 | 0) != 11) __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($25, $35); + HEAP32[$0 >> 2] = $23; + HEAP32[$0 + 8 >> 2] = $22 | -2147483648; + $39 = $28 + $6 | 0; + HEAP32[$0 + 4 >> 2] = $39; + HEAP8[$8 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($23 + $39 | 0, $8); + STACKTOP = sp; + return; +} + +function __ZNK6vision10DoGPyramid15octaveFromIndexEi($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $14 = 0, $19 = 0, $2 = 0, $23 = 0, $25 = 0, $33 = 0, $5 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $2 = sp; + $5 = HEAP32[$0 >> 2] | 0; + if ((HEAP32[$0 + 4 >> 2] | 0) - $5 >> 5 >>> 0 > $1 >>> 0) { + $25 = __ZNK6vision5Image5widthEv($5) | 0; + $33 = ~~+__ZN6vision5roundIfEET_S1_(+__ZN6vision4log2IfEET_S1_(+((($25 >>> 0) / ((__ZNK6vision5Image5widthEv((HEAP32[$0 >> 2] | 0) + ($1 << 5) | 0) | 0) >>> 0) | 0) >>> 0))); + STACKTOP = sp; + return $33 | 0; + } else { + $14 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 31021) | 0, 28600) | 0, 39072) | 0, 94) | 0, 39079) | 0, 31067) | 0; + __ZNKSt3__28ios_base6getlocEv($2, $14 + (HEAP32[(HEAP32[$14 >> 2] | 0) + -12 >> 2] | 0) | 0); + $19 = __ZNKSt3__26locale9use_facetERNS0_2idE($2, 66512) | 0; + $23 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$19 >> 2] | 0) + 28 >> 2] & 127]($19, 10) | 0; + __ZNSt3__26localeD2Ev($2); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($14, $23) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($14) | 0; + _abort(); + } + return 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle10VectorType9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy2 = 0, $2 = 0, $3 = 0, $4 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy2 = sp + 24 | 0; + $2 = sp + 16 | 0; + $3 = sp + 8 | 0; + $4 = sp; + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 8 >> 2] | 0, $1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 55975); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy2); + $7 = $0 + 12 | 0; + if (!(__ZNK12_GLOBAL__N_116itanium_demangle12NodeOrString6isNodeEv($7) | 0)) { + if (__ZNK12_GLOBAL__N_116itanium_demangle12NodeOrString8isStringEv($7) | 0) { + __ZNK12_GLOBAL__N_116itanium_demangle12NodeOrString8asStringEv($3, $7); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy2); + } + } else __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(__ZNK12_GLOBAL__N_116itanium_demangle12NodeOrString6asNodeEv($7) | 0, $1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, 51614); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy2); + STACKTOP = sp; + return; +} + +function _strspn($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$01924 = 0, $$020 = 0, $$1$lcssa = 0, $$121 = 0, $14 = 0, $15 = 0, $19 = 0, $2 = 0, $25 = 0, $27 = 0, $28 = 0, $3 = 0, $36 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp; + HEAP32[$2 >> 2] = 0; + HEAP32[$2 + 4 >> 2] = 0; + HEAP32[$2 + 8 >> 2] = 0; + HEAP32[$2 + 12 >> 2] = 0; + HEAP32[$2 + 16 >> 2] = 0; + HEAP32[$2 + 20 >> 2] = 0; + HEAP32[$2 + 24 >> 2] = 0; + HEAP32[$2 + 28 >> 2] = 0; + $3 = HEAP8[$1 >> 0] | 0; + do if (!($3 << 24 >> 24)) $$0 = 0; else { + if (!(HEAP8[$1 + 1 >> 0] | 0)) { + $$020 = $0; + while (1) if ((HEAP8[$$020 >> 0] | 0) == $3 << 24 >> 24) $$020 = $$020 + 1 | 0; else break; + $$0 = $$020 - $0 | 0; + break; + } + $$01924 = $1; + $15 = $3; + do { + $14 = $15 & 255; + $19 = $2 + ($14 >>> 5 << 2) | 0; + HEAP32[$19 >> 2] = HEAP32[$19 >> 2] | 1 << ($14 & 31); + $$01924 = $$01924 + 1 | 0; + $15 = HEAP8[$$01924 >> 0] | 0; + } while ($15 << 24 >> 24 != 0); + $25 = HEAP8[$0 >> 0] | 0; + L12 : do if (!($25 << 24 >> 24)) $$1$lcssa = $0; else { + $$121 = $0; + $28 = $25; + while (1) { + $27 = $28 & 255; + if (!(HEAP32[$2 + ($27 >>> 5 << 2) >> 2] & 1 << ($27 & 31))) { + $$1$lcssa = $$121; + break L12; + } + $36 = $$121 + 1 | 0; + $28 = HEAP8[$36 >> 0] | 0; + if (!($28 << 24 >> 24)) { + $$1$lcssa = $36; + break; + } else $$121 = $36; + } + } while (0); + $$0 = $$1$lcssa - $0 | 0; + } while (0); + STACKTOP = sp; + return $$0 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle15ClosureTypeName9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy2 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $$byval_copy2 = sp + 32 | 0; + $2 = sp + 24 | 0; + $3 = sp; + $4 = sp + 16 | 0; + $5 = sp + 8 | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 55250); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy2); + $7 = $0 + 16 | 0; + $12 = HEAP32[$7 + 4 >> 2] | 0; + $13 = $3; + HEAP32[$13 >> 2] = HEAP32[$7 >> 2]; + HEAP32[$13 + 4 >> 2] = $12; + HEAP32[$$byval_copy2 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy2); + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, 55258); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy2); + __ZNK12_GLOBAL__N_116itanium_demangle9NodeArray14printWithCommaERNS_12OutputStreamE($0 + 8 | 0, $1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($5, 51964); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$5 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy2); + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E13parseDecltypeEv($0) { + $0 = $0 | 0; + var $$0 = 0, $$1 = 0, $1 = 0, $6 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + do if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 68) | 0) { + if (!(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 116) | 0) ? !(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 84) | 0) : 0) { + $$1 = 0; + break; + } + $6 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$1 >> 2] = $6; + if (($6 | 0) != 0 ? __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 69) | 0 : 0) $$0 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_13EnclosingExprEJRA10_KcRPNS0_4NodeERA2_S8_EEESC_DpOT0_($0, 56097, $1) | 0; else $$0 = 0; + $$1 = $$0; + } else $$1 = 0; while (0); + STACKTOP = sp; + return $$1 | 0; +} + +function __ZNSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE8__appendEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $13 = 0, $14 = 0, $18 = 0, $19 = 0, $2 = 0, $23 = 0, $3 = 0, $5 = 0, $6 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp; + $3 = $0 + 8 | 0; + $5 = $0 + 4 | 0; + $6 = HEAP32[$5 >> 2] | 0; + do if ((HEAP32[$3 >> 2] | 0) - $6 >> 2 >>> 0 < $1 >>> 0) { + $13 = ($6 - (HEAP32[$0 >> 2] | 0) >> 2) + $1 | 0; + $14 = __ZNKSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE8max_sizeEv($0) | 0; + if ($14 >>> 0 < $13 >>> 0) __ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv($0); else { + $18 = HEAP32[$0 >> 2] | 0; + $19 = (HEAP32[$3 >> 2] | 0) - $18 | 0; + $23 = $19 >> 1; + __ZNSt3__214__split_bufferIPNS_6locale5facetERNS_15__sso_allocatorIS3_Lm28EEEEC2EmmS6_($2, $19 >> 2 >>> 0 < $14 >>> 1 >>> 0 ? ($23 >>> 0 < $13 >>> 0 ? $13 : $23) : $14, (HEAP32[$5 >> 2] | 0) - $18 >> 2, $0 + 16 | 0); + __ZNSt3__214__split_bufferIPNS_6locale5facetERNS_15__sso_allocatorIS3_Lm28EEEE18__construct_at_endEm($2, $1); + __ZNSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($0, $2); + __ZNSt3__214__split_bufferIPNS_6locale5facetERNS_15__sso_allocatorIS3_Lm28EEEED2Ev($2); + break; + } + } else __ZNSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE18__construct_at_endEm($0, $1); while (0); + STACKTOP = sp; + return; +} +function __ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_($this, $__k) { + $this = $this | 0; + $__k = $__k | 0; + var $$pn = 0, $0 = 0, $1 = 0, $3 = 0, $4 = 0, $__nd$0 = 0, $cond3$i = 0, $cond3$i29 = 0, $retval$sroa$0$0 = 0, $sub$i23 = 0, $tobool$i25 = 0; + $0 = HEAP32[$__k >> 2] | 0; + $1 = HEAP32[$this + 4 >> 2] | 0; + L1 : do if ($1) { + $sub$i23 = $1 + -1 | 0; + $tobool$i25 = ($sub$i23 & $1 | 0) == 0; + if (!$tobool$i25) if ($0 >>> 0 < $1 >>> 0) $cond3$i29 = $0; else $cond3$i29 = ($0 >>> 0) % ($1 >>> 0) | 0; else $cond3$i29 = $sub$i23 & $0; + $3 = HEAP32[(HEAP32[$this >> 2] | 0) + ($cond3$i29 << 2) >> 2] | 0; + if ($3) { + $$pn = $3; + while (1) { + $__nd$0 = HEAP32[$$pn >> 2] | 0; + if (!$__nd$0) { + $retval$sroa$0$0 = 0; + break L1; + } + $4 = HEAP32[$__nd$0 + 4 >> 2] | 0; + if (($4 | 0) == ($0 | 0)) { + if ((HEAP32[$__nd$0 + 8 >> 2] | 0) == ($0 | 0)) { + $retval$sroa$0$0 = $__nd$0; + break L1; + } + } else { + if (!$tobool$i25) if ($4 >>> 0 < $1 >>> 0) $cond3$i = $4; else $cond3$i = ($4 >>> 0) % ($1 >>> 0) | 0; else $cond3$i = $4 & $sub$i23; + if (($cond3$i | 0) != ($cond3$i29 | 0)) { + $retval$sroa$0$0 = 0; + break L1; + } + } + $$pn = $__nd$0; + } + } else $retval$sroa$0$0 = 0; + } else $retval$sroa$0$0 = 0; while (0); + return $retval$sroa$0$0 | 0; +} + +function __ZNSt3__26vectorIN6vision12FeaturePointENS_9allocatorIS2_EEE21__push_back_slow_pathIS2_EEvOT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $14 = 0, $16 = 0, $19 = 0, $2 = 0, $24 = 0, $25 = 0, $3 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp; + $3 = $0 + 4 | 0; + $8 = (((HEAP32[$3 >> 2] | 0) - (HEAP32[$0 >> 2] | 0) | 0) / 20 | 0) + 1 | 0; + $9 = __ZNKSt3__26vectorIN6vision12FeaturePointENS_9allocatorIS2_EEE8max_sizeEv($0) | 0; + if ($9 >>> 0 < $8 >>> 0) __ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv($0); else { + $14 = HEAP32[$0 >> 2] | 0; + $16 = ((HEAP32[$0 + 8 >> 2] | 0) - $14 | 0) / 20 | 0; + $19 = $16 << 1; + __ZNSt3__214__split_bufferIN6vision12FeaturePointERNS_9allocatorIS2_EEEC2EmmS5_($2, $16 >>> 0 < $9 >>> 1 >>> 0 ? ($19 >>> 0 < $8 >>> 0 ? $8 : $19) : $9, ((HEAP32[$3 >> 2] | 0) - $14 | 0) / 20 | 0, $0 + 8 | 0); + $24 = $2 + 8 | 0; + $25 = HEAP32[$24 >> 2] | 0; + HEAP32[$25 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$25 + 4 >> 2] = HEAP32[$1 + 4 >> 2]; + HEAP32[$25 + 8 >> 2] = HEAP32[$1 + 8 >> 2]; + HEAP32[$25 + 12 >> 2] = HEAP32[$1 + 12 >> 2]; + HEAP32[$25 + 16 >> 2] = HEAP32[$1 + 16 >> 2]; + HEAP32[$24 >> 2] = (HEAP32[$24 >> 2] | 0) + 20; + __ZNSt3__26vectorIN6vision12FeaturePointENS_9allocatorIS2_EEE26__swap_out_circular_bufferERNS_14__split_bufferIS2_RS4_EE($0, $2); + __ZNSt3__214__split_bufferIN6vision12FeaturePointERNS_9allocatorIS2_EEED2Ev($2); + STACKTOP = sp; + return; + } +} + +function __ZNSt3__227__num_get_unsigned_integralIyEET_PKcS3_Rji($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$029 = 0, $10 = 0, $11 = 0, $12 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $19 = 0, $23 = 0, $24 = 0, $27 = 0, $28 = 0, $29 = 0, $30 = 0, $4 = 0, $7 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $4 = sp; + do if (($0 | 0) == ($1 | 0)) { + HEAP32[$2 >> 2] = 4; + $27 = 0; + $28 = 0; + } else { + $7 = (HEAP8[$0 >> 0] | 0) == 45; + if ($7) { + $8 = $0 + 1 | 0; + if (($8 | 0) == ($1 | 0)) { + HEAP32[$2 >> 2] = 4; + $27 = 0; + $28 = 0; + break; + } else $$029 = $8; + } else $$029 = $0; + $10 = ___errno_location() | 0; + $11 = HEAP32[$10 >> 2] | 0; + $12 = ___errno_location() | 0; + HEAP32[$12 >> 2] = 0; + $14 = _strtoull_l($$029, $4, $3, __ZNSt3__26__clocEv() | 0) | 0; + $15 = getTempRet0() | 0; + $16 = ___errno_location() | 0; + $17 = HEAP32[$16 >> 2] | 0; + if (!$17) { + $19 = ___errno_location() | 0; + HEAP32[$19 >> 2] = $11; + } + do if ((HEAP32[$4 >> 2] | 0) == ($1 | 0)) if (($17 | 0) == 68) { + HEAP32[$2 >> 2] = 4; + $29 = -1; + $30 = -1; + break; + } else { + $23 = _i64Subtract(0, 0, $14 | 0, $15 | 0) | 0; + $24 = getTempRet0() | 0; + $29 = $7 ? $23 : $14; + $30 = $7 ? $24 : $15; + break; + } else { + HEAP32[$2 >> 2] = 4; + $29 = 0; + $30 = 0; + } while (0); + $27 = $30; + $28 = $29; + } while (0); + setTempRet0($27 | 0); + STACKTOP = sp; + return $28 | 0; +} + +function __ZNSt3__212__hash_tableINS_17__hash_value_typeIi7ARParamEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_($this, $__k) { + $this = $this | 0; + $__k = $__k | 0; + var $$pn = 0, $0 = 0, $1 = 0, $3 = 0, $4 = 0, $__nd$0 = 0, $cond3$i = 0, $cond3$i29 = 0, $retval$sroa$0$0 = 0, $sub$i23 = 0, $tobool$i25 = 0; + $0 = HEAP32[$__k >> 2] | 0; + $1 = HEAP32[$this + 4 >> 2] | 0; + L1 : do if ($1) { + $sub$i23 = $1 + -1 | 0; + $tobool$i25 = ($sub$i23 & $1 | 0) == 0; + if (!$tobool$i25) if ($0 >>> 0 < $1 >>> 0) $cond3$i29 = $0; else $cond3$i29 = ($0 >>> 0) % ($1 >>> 0) | 0; else $cond3$i29 = $sub$i23 & $0; + $3 = HEAP32[(HEAP32[$this >> 2] | 0) + ($cond3$i29 << 2) >> 2] | 0; + if ($3) { + $$pn = $3; + while (1) { + $__nd$0 = HEAP32[$$pn >> 2] | 0; + if (!$__nd$0) { + $retval$sroa$0$0 = 0; + break L1; + } + $4 = HEAP32[$__nd$0 + 4 >> 2] | 0; + if (($4 | 0) == ($0 | 0)) { + if ((HEAP32[$__nd$0 + 8 >> 2] | 0) == ($0 | 0)) { + $retval$sroa$0$0 = $__nd$0; + break L1; + } + } else { + if (!$tobool$i25) if ($4 >>> 0 < $1 >>> 0) $cond3$i = $4; else $cond3$i = ($4 >>> 0) % ($1 >>> 0) | 0; else $cond3$i = $4 & $sub$i23; + if (($cond3$i | 0) != ($cond3$i29 | 0)) { + $retval$sroa$0$0 = 0; + break L1; + } + } + $$pn = $__nd$0; + } + } else $retval$sroa$0$0 = 0; + } else $retval$sroa$0$0 = 0; while (0); + return $retval$sroa$0$0 | 0; +} + +function _merged_2v_upsample($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 $$1 = 0, $$pre34 = 0, $10 = 0, $22 = 0, $23 = 0, $25 = 0, $26 = 0, $7 = 0, $9 = 0, $phitmp = 0, $spec$select = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $7 = sp; + $9 = HEAP32[$0 + 476 >> 2] | 0; + $10 = $9 + 36 | 0; + if (!(HEAP32[$10 >> 2] | 0)) { + $22 = $9 + 44 | 0; + $23 = HEAP32[$22 >> 2] | 0; + $spec$select = $23 >>> 0 < 2 ? $23 : 2; + $25 = HEAP32[$5 >> 2] | 0; + $26 = $6 - $25 | 0; + $$1 = $spec$select >>> 0 > $26 >>> 0 ? $26 : $spec$select; + HEAP32[$7 >> 2] = HEAP32[$4 + ($25 << 2) >> 2]; + if ($$1 >>> 0 > 1) HEAP32[$7 + 4 >> 2] = HEAP32[$4 + ($25 + 1 << 2) >> 2]; else { + HEAP32[$7 + 4 >> 2] = HEAP32[$9 + 32 >> 2]; + HEAP32[$10 >> 2] = 1; + } + FUNCTION_TABLE_viiii[HEAP32[$9 + 12 >> 2] & 31]($0, $1, HEAP32[$2 >> 2] | 0, $7); + $phitmp = (HEAP32[$10 >> 2] | 0) == 0; + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + $$1; + HEAP32[$22 >> 2] = (HEAP32[$22 >> 2] | 0) - $$1; + if (!$phitmp) { + STACKTOP = sp; + return; + } + } else { + _jcopy_sample_rows($9 + 32 | 0, 0, $4 + (HEAP32[$5 >> 2] << 2) | 0, 0, 1, HEAP32[$9 + 40 >> 2] | 0); + HEAP32[$10 >> 2] = 0; + $$pre34 = $9 + 44 | 0; + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1; + HEAP32[$$pre34 >> 2] = (HEAP32[$$pre34 >> 2] | 0) + -1; + } + HEAP32[$2 >> 2] = (HEAP32[$2 >> 2] | 0) + 1; + STACKTOP = sp; + return; +} + +function __ZNSt3__26vectorIN6vision12FeaturePointENS_9allocatorIS2_EEE8__appendEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $13 = 0, $14 = 0, $18 = 0, $2 = 0, $20 = 0, $23 = 0, $3 = 0, $5 = 0, $6 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp; + $3 = $0 + 8 | 0; + $5 = $0 + 4 | 0; + $6 = HEAP32[$5 >> 2] | 0; + do if ((((HEAP32[$3 >> 2] | 0) - $6 | 0) / 20 | 0) >>> 0 < $1 >>> 0) { + $13 = (($6 - (HEAP32[$0 >> 2] | 0) | 0) / 20 | 0) + $1 | 0; + $14 = __ZNKSt3__26vectorIN6vision12FeaturePointENS_9allocatorIS2_EEE8max_sizeEv($0) | 0; + if ($14 >>> 0 < $13 >>> 0) __ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv($0); else { + $18 = HEAP32[$0 >> 2] | 0; + $20 = ((HEAP32[$3 >> 2] | 0) - $18 | 0) / 20 | 0; + $23 = $20 << 1; + __ZNSt3__214__split_bufferIN6vision12FeaturePointERNS_9allocatorIS2_EEEC2EmmS5_($2, $20 >>> 0 < $14 >>> 1 >>> 0 ? ($23 >>> 0 < $13 >>> 0 ? $13 : $23) : $14, ((HEAP32[$5 >> 2] | 0) - $18 | 0) / 20 | 0, $0 + 8 | 0); + __ZNSt3__214__split_bufferIN6vision12FeaturePointERNS_9allocatorIS2_EEE18__construct_at_endEm($2, $1); + __ZNSt3__26vectorIN6vision12FeaturePointENS_9allocatorIS2_EEE26__swap_out_circular_bufferERNS_14__split_bufferIS2_RS4_EE($0, $2); + __ZNSt3__214__split_bufferIN6vision12FeaturePointERNS_9allocatorIS2_EEED2Ev($2); + break; + } + } else __ZNSt3__26vectorIN6vision12FeaturePointENS_9allocatorIS2_EEE18__construct_at_endEm($0, $1); while (0); + STACKTOP = sp; + return; +} + +function __ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE6rehashEm($this, $__n) { + $this = $this | 0; + $__n = $__n | 0; + var $$sroa$speculated = 0, $0 = 0, $__n$addr$0 = 0, $cond = 0, $conv9 = 0, $shl$i = 0; + if (($__n | 0) != 1) if (!($__n + -1 & $__n)) $__n$addr$0 = $__n; else $__n$addr$0 = __ZNSt3__212__next_primeEm($__n) | 0; else $__n$addr$0 = 2; + $0 = HEAP32[$this + 4 >> 2] | 0; + if ($__n$addr$0 >>> 0 <= $0 >>> 0) { + if ($__n$addr$0 >>> 0 < $0 >>> 0) { + $conv9 = ~~+Math_ceil(+(+((HEAP32[$this + 12 >> 2] | 0) >>> 0) / +HEAPF32[$this + 16 >> 2])) >>> 0; + if ($0 >>> 0 > 2 & ($0 + -1 & $0 | 0) == 0) { + $shl$i = 1 << 32 - (Math_clz32($conv9 + -1 | 0) | 0); + $cond = $conv9 >>> 0 < 2 ? $conv9 : $shl$i; + } else $cond = __ZNSt3__212__next_primeEm($conv9) | 0; + $$sroa$speculated = $__n$addr$0 >>> 0 < $cond >>> 0 ? $cond : $__n$addr$0; + if ($$sroa$speculated >>> 0 < $0 >>> 0) __ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE8__rehashEm($this, $$sroa$speculated); + } + } else __ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE8__rehashEm($this, $__n$addr$0); + return; +} + +function __ZNSt3__26vectorIiNS_9allocatorIiEEE8__appendEmRKi($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0$i = 0, $11 = 0, $13 = 0, $20 = 0, $21 = 0, $25 = 0, $26 = 0, $3 = 0, $30 = 0, $4 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $3 = sp; + $4 = $0 + 8 | 0; + $6 = $0 + 4 | 0; + $7 = HEAP32[$6 >> 2] | 0; + $11 = $7; + do if ((HEAP32[$4 >> 2] | 0) - $7 >> 2 >>> 0 < $1 >>> 0) { + $20 = ($7 - (HEAP32[$0 >> 2] | 0) >> 2) + $1 | 0; + $21 = __ZNKSt3__26vectorIiNS_9allocatorIiEEE8max_sizeEv($0) | 0; + if ($21 >>> 0 < $20 >>> 0) __ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv($0); else { + $25 = HEAP32[$0 >> 2] | 0; + $26 = (HEAP32[$4 >> 2] | 0) - $25 | 0; + $30 = $26 >> 1; + __ZNSt3__214__split_bufferIiRNS_9allocatorIiEEEC2EmmS3_($3, $26 >> 2 >>> 0 < $21 >>> 1 >>> 0 ? ($30 >>> 0 < $20 >>> 0 ? $20 : $30) : $21, (HEAP32[$6 >> 2] | 0) - $25 >> 2, $0 + 8 | 0); + __ZNSt3__214__split_bufferIiRNS_9allocatorIiEEE18__construct_at_endEmRKi($3, $1, $2); + __ZNSt3__26vectorIiNS_9allocatorIiEEE26__swap_out_circular_bufferERNS_14__split_bufferIiRS2_EE($0, $3); + __ZNSt3__214__split_bufferIiRNS_9allocatorIiEEED2Ev($3); + break; + } + } else { + $$0$i = $1; + $13 = $11; + while (1) { + HEAP32[$13 >> 2] = HEAP32[$2 >> 2]; + $$0$i = $$0$i + -1 | 0; + if (!$$0$i) break; else $13 = $13 + 4 | 0; + } + HEAP32[$6 >> 2] = $11 + ($1 << 2); + } while (0); + STACKTOP = sp; + return; +} + +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, $13 = 0, $17 = 0, $18 = 0, $2 = 0, $24 = 0, $25 = 0, $31 = 0, $38 = 0, $39 = 0, $9 = 0; + $2 = $1 & 255; + L1 : do if (!$2) $$0 = $0 + (_strlen($0) | 0) | 0; else { + if (!($0 & 3)) $$030$lcssa = $0; else { + $9 = $1 & 255; + $$03039 = $0; + while (1) { + $10 = HEAP8[$$03039 >> 0] | 0; + if ($10 << 24 >> 24 == 0 ? 1 : $10 << 24 >> 24 == $9 << 24 >> 24) { + $$0 = $$03039; + break L1; + } + $13 = $$03039 + 1 | 0; + if (!($13 & 3)) { + $$030$lcssa = $13; + break; + } else $$03039 = $13; + } + } + $17 = Math_imul($2, 16843009) | 0; + $18 = HEAP32[$$030$lcssa >> 2] | 0; + L10 : do if (!(($18 & -2139062144 ^ -2139062144) & $18 + -16843009)) { + $$02936 = $$030$lcssa; + $25 = $18; + while (1) { + $24 = $25 ^ $17; + if (($24 & -2139062144 ^ -2139062144) & $24 + -16843009 | 0) { + $$029$lcssa = $$02936; + break L10; + } + $31 = $$02936 + 4 | 0; + $25 = HEAP32[$31 >> 2] | 0; + if (($25 & -2139062144 ^ -2139062144) & $25 + -16843009 | 0) { + $$029$lcssa = $31; + break; + } else $$02936 = $31; + } + } else $$029$lcssa = $$030$lcssa; while (0); + $38 = $1 & 255; + $$1 = $$029$lcssa; + while (1) { + $39 = HEAP8[$$1 >> 0] | 0; + if ($39 << 24 >> 24 == 0 ? 1 : $39 << 24 >> 24 == $38 << 24 >> 24) { + $$0 = $$1; + break; + } else $$1 = $$1 + 1 | 0; + } + } while (0); + return $$0 | 0; +} + +function __ZNSt3__212__hash_tableINS_17__hash_value_typeIi7ARParamEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE6rehashEm($this, $__n) { + $this = $this | 0; + $__n = $__n | 0; + var $$sroa$speculated = 0, $0 = 0, $__n$addr$0 = 0, $cond = 0, $conv9 = 0, $shl$i = 0; + if (($__n | 0) != 1) if (!($__n + -1 & $__n)) $__n$addr$0 = $__n; else $__n$addr$0 = __ZNSt3__212__next_primeEm($__n) | 0; else $__n$addr$0 = 2; + $0 = HEAP32[$this + 4 >> 2] | 0; + if ($__n$addr$0 >>> 0 <= $0 >>> 0) { + if ($__n$addr$0 >>> 0 < $0 >>> 0) { + $conv9 = ~~+Math_ceil(+(+((HEAP32[$this + 12 >> 2] | 0) >>> 0) / +HEAPF32[$this + 16 >> 2])) >>> 0; + if ($0 >>> 0 > 2 & ($0 + -1 & $0 | 0) == 0) { + $shl$i = 1 << 32 - (Math_clz32($conv9 + -1 | 0) | 0); + $cond = $conv9 >>> 0 < 2 ? $conv9 : $shl$i; + } else $cond = __ZNSt3__212__next_primeEm($conv9) | 0; + $$sroa$speculated = $__n$addr$0 >>> 0 < $cond >>> 0 ? $cond : $__n$addr$0; + if ($$sroa$speculated >>> 0 < $0 >>> 0) __ZNSt3__212__hash_tableINS_17__hash_value_typeIi7ARParamEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE8__rehashEm($this, $$sroa$speculated); + } + } else __ZNSt3__212__hash_tableINS_17__hash_value_typeIi7ARParamEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE8__rehashEm($this, $__n$addr$0); + return; +} + +function __ZN6vision27OrthogonalizePivot8x9Basis4IfEEbPT_S2_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $10 = 0, $12 = 0.0, $13 = 0.0, $15 = 0.0, $17 = 0.0, $19 = 0, $2 = 0, $20 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $2 = sp; + $3 = $0 + 144 | 0; + $4 = $0 + 108 | 0; + $5 = $1 + 144 | 0; + __ZN6vision21AccumulateProjection9IfEEvPT_PKS1_S4_($3, $4, $5); + $6 = $0 + 180 | 0; + __ZN6vision21AccumulateProjection9IfEEvPT_PKS1_S4_($6, $4, $1 + 180 | 0); + $8 = $0 + 216 | 0; + __ZN6vision21AccumulateProjection9IfEEvPT_PKS1_S4_($8, $4, $1 + 216 | 0); + $10 = $0 + 252 | 0; + __ZN6vision21AccumulateProjection9IfEEvPT_PKS1_S4_($10, $4, $1 + 252 | 0); + $12 = +__ZN6vision11SumSquares9IfEET_PKS1_($3); + HEAPF32[$2 >> 2] = $12; + $13 = +__ZN6vision11SumSquares9IfEET_PKS1_($6); + HEAPF32[$2 + 4 >> 2] = $13; + $15 = +__ZN6vision11SumSquares9IfEET_PKS1_($8); + HEAPF32[$2 + 8 >> 2] = $15; + $17 = +__ZN6vision11SumSquares9IfEET_PKS1_($10); + HEAPF32[$2 + 12 >> 2] = $17; + $19 = __ZN6vision9MaxIndex4IfEEiPKT_($2) | 0; + $20 = $2 + ($19 << 2) | 0; + if (+HEAPF32[$20 >> 2] == 0.0) $$0 = 0; else { + $23 = $19 * 9 | 0; + __ZN6vision5Swap9IfEEvPT_S2_($3, $3 + ($23 << 2) | 0); + __ZN6vision5Swap9IfEEvPT_S2_($5, $5 + ($23 << 2) | 0); + __ZN6vision12ScaleVector9IfEEvPT_PKS1_S1_($3, $3, 1.0 / +Math_sqrt(+(+HEAPF32[$20 >> 2]))); + $$0 = 1; + } + STACKTOP = sp; + return $$0 | 0; +} + +function _ar2MarkerCoord2ScreenCoord2($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = +$2; + $3 = +$3; + $4 = $4 | 0; + $5 = $5 | 0; + var $$0 = 0, $39 = 0.0, $40 = 0.0, $41 = 0.0, $42 = 0, $6 = 0, $63 = 0.0, $7 = 0, $73 = 0.0, $8 = 0, $81 = 0.0, $84 = 0.0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(64); + $6 = sp; + $7 = sp + 52 | 0; + $8 = sp + 48 | 0; + if ($0) { + _arUtilMatMuldff($0 + 8 | 0, $1, $6) | 0; + $39 = +HEAPF32[$6 + 44 >> 2] + (+HEAPF32[$6 + 32 >> 2] * $2 + +HEAPF32[$6 + 36 >> 2] * $3); + $40 = (+HEAPF32[$6 + 12 >> 2] + (+HEAPF32[$6 >> 2] * $2 + +HEAPF32[$6 + 4 >> 2] * $3)) / $39; + $41 = (+HEAPF32[$6 + 28 >> 2] + (+HEAPF32[$6 + 16 >> 2] * $2 + +HEAPF32[$6 + 20 >> 2] * $3)) / $39; + $42 = $0 + 184 | 0; + if ((_arParamIdeal2ObservLTf($42, $40, $41, $4, $5) | 0) >= 0 ? (_arParamObserv2IdealLTf($42, +HEAPF32[$4 >> 2], +HEAPF32[$5 >> 2], $7, $8) | 0) >= 0 : 0) { + $81 = $40 - +HEAPF32[$7 >> 2]; + $84 = $41 - +HEAPF32[$8 >> 2]; + $$0 = ($81 * $81 + $84 * $84 > 1.0) << 31 >> 31; + } else $$0 = -1; + } else { + $63 = +HEAPF32[$1 + 28 >> 2] + (+HEAPF32[$1 + 16 >> 2] * $2 + +HEAPF32[$1 + 20 >> 2] * $3); + $73 = +HEAPF32[$1 + 44 >> 2] + (+HEAPF32[$1 + 32 >> 2] * $2 + +HEAPF32[$1 + 36 >> 2] * $3); + HEAPF32[$4 >> 2] = (+HEAPF32[$1 + 12 >> 2] + (+HEAPF32[$1 >> 2] * $2 + +HEAPF32[$1 + 4 >> 2] * $3)) / $73; + HEAPF32[$5 >> 2] = $63 / $73; + $$0 = 0; + } + STACKTOP = sp; + return $$0 | 0; +} + +function __ZNSt3__26vectorIhNS_9allocatorIhEEE8__appendEmRKh($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0$i = 0, $12 = 0, $19 = 0, $20 = 0, $24 = 0, $25 = 0, $28 = 0, $3 = 0, $4 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $3 = sp; + $4 = $0 + 8 | 0; + $6 = $0 + 4 | 0; + $7 = HEAP32[$6 >> 2] | 0; + do if (((HEAP32[$4 >> 2] | 0) - $7 | 0) >>> 0 < $1 >>> 0) { + $19 = $7 - (HEAP32[$0 >> 2] | 0) + $1 | 0; + $20 = __ZNKSt3__26vectorIhNS_9allocatorIhEEE8max_sizeEv($0) | 0; + if ($20 >>> 0 < $19 >>> 0) __ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv($0); else { + $24 = HEAP32[$0 >> 2] | 0; + $25 = (HEAP32[$4 >> 2] | 0) - $24 | 0; + $28 = $25 << 1; + __ZNSt3__214__split_bufferIhRNS_9allocatorIhEEEC2EmmS3_($3, $25 >>> 0 < $20 >>> 1 >>> 0 ? ($28 >>> 0 < $19 >>> 0 ? $19 : $28) : $20, (HEAP32[$6 >> 2] | 0) - $24 | 0, $0 + 8 | 0); + __ZNSt3__214__split_bufferIhRNS_9allocatorIhEEE18__construct_at_endEmRKh($3, $1, $2); + __ZNSt3__26vectorIhNS_9allocatorIhEEE26__swap_out_circular_bufferERNS_14__split_bufferIhRS2_EE($0, $3); + __ZNSt3__214__split_bufferIhRNS_9allocatorIhEEED2Ev($3); + break; + } + } else { + $$0$i = $1; + $12 = $7; + do { + HEAP8[$12 >> 0] = HEAP8[$2 >> 0] | 0; + $12 = (HEAP32[$6 >> 2] | 0) + 1 | 0; + HEAP32[$6 >> 2] = $12; + $$0$i = $$0$i + -1 | 0; + } while (($$0$i | 0) != 0); + } while (0); + STACKTOP = sp; + return; +} + +function _jinit_marker_reader($0) { + $0 = $0 | 0; + var $4 = 0, $42 = 0, $5 = 0; + $4 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$0 + 4 >> 2] >> 2] & 63]($0, 0, 172) | 0; + $5 = $0 + 464 | 0; + HEAP32[$5 >> 2] = $4; + HEAP32[$4 >> 2] = 203; + HEAP32[$4 + 4 >> 2] = 86; + HEAP32[$4 + 8 >> 2] = 87; + HEAP32[$4 + 28 >> 2] = 88; + HEAP32[$4 + 96 >> 2] = 0; + HEAP32[$4 + 100 >> 2] = 0; + HEAP32[$4 + 36 >> 2] = 88; + HEAP32[$4 + 104 >> 2] = 0; + HEAP32[$4 + 40 >> 2] = 88; + HEAP32[$4 + 108 >> 2] = 0; + HEAP32[$4 + 44 >> 2] = 88; + HEAP32[$4 + 112 >> 2] = 0; + HEAP32[$4 + 48 >> 2] = 88; + HEAP32[$4 + 116 >> 2] = 0; + HEAP32[$4 + 52 >> 2] = 88; + HEAP32[$4 + 120 >> 2] = 0; + HEAP32[$4 + 56 >> 2] = 88; + HEAP32[$4 + 124 >> 2] = 0; + HEAP32[$4 + 60 >> 2] = 88; + HEAP32[$4 + 128 >> 2] = 0; + HEAP32[$4 + 64 >> 2] = 88; + HEAP32[$4 + 132 >> 2] = 0; + HEAP32[$4 + 68 >> 2] = 88; + HEAP32[$4 + 136 >> 2] = 0; + HEAP32[$4 + 72 >> 2] = 88; + HEAP32[$4 + 140 >> 2] = 0; + HEAP32[$4 + 76 >> 2] = 88; + HEAP32[$4 + 144 >> 2] = 0; + HEAP32[$4 + 80 >> 2] = 88; + HEAP32[$4 + 148 >> 2] = 0; + HEAP32[$4 + 84 >> 2] = 88; + HEAP32[$4 + 152 >> 2] = 0; + HEAP32[$4 + 156 >> 2] = 0; + HEAP32[$4 + 92 >> 2] = 88; + HEAP32[$4 + 160 >> 2] = 0; + HEAP32[$4 + 32 >> 2] = 89; + HEAP32[$4 + 88 >> 2] = 89; + $42 = HEAP32[$5 >> 2] | 0; + HEAP32[$0 + 216 >> 2] = 0; + HEAP32[$0 + 144 >> 2] = 0; + HEAP32[$0 + 440 >> 2] = 0; + HEAP32[$42 + 12 >> 2] = 0; + HEAP32[$42 + 16 >> 2] = 0; + HEAP32[$42 + 24 >> 2] = 0; + HEAP32[$42 + 164 >> 2] = 0; + return; +} + +function __ZNSt3__26vectorIN6vision17PriorityQueueItemILi96EEENS_9allocatorIS3_EEE21__push_back_slow_pathIRKS3_EEvOT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $14 = 0, $15 = 0, $19 = 0, $2 = 0, $24 = 0, $26 = 0, $3 = 0, $31 = 0, $32 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp; + $3 = $0 + 4 | 0; + $8 = ((HEAP32[$3 >> 2] | 0) - (HEAP32[$0 >> 2] | 0) >> 3) + 1 | 0; + $9 = __ZNKSt3__26vectorIN6vision17PriorityQueueItemILi96EEENS_9allocatorIS3_EEE8max_sizeEv($0) | 0; + if ($9 >>> 0 < $8 >>> 0) __ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv($0); else { + $14 = HEAP32[$0 >> 2] | 0; + $15 = (HEAP32[$0 + 8 >> 2] | 0) - $14 | 0; + $19 = $15 >> 2; + __ZNSt3__214__split_bufferIN6vision17PriorityQueueItemILi96EEERNS_9allocatorIS3_EEEC2EmmS6_($2, $15 >> 3 >>> 0 < $9 >>> 1 >>> 0 ? ($19 >>> 0 < $8 >>> 0 ? $8 : $19) : $9, (HEAP32[$3 >> 2] | 0) - $14 >> 3, $0 + 8 | 0); + $24 = $2 + 8 | 0; + $26 = $1; + $31 = HEAP32[$26 + 4 >> 2] | 0; + $32 = HEAP32[$24 >> 2] | 0; + HEAP32[$32 >> 2] = HEAP32[$26 >> 2]; + HEAP32[$32 + 4 >> 2] = $31; + HEAP32[$24 >> 2] = (HEAP32[$24 >> 2] | 0) + 8; + __ZNSt3__26vectorIN6vision17PriorityQueueItemILi96EEENS_9allocatorIS3_EEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($0, $2); + __ZNSt3__214__split_bufferIN6vision17PriorityQueueItemILi96EEERNS_9allocatorIS3_EEED2Ev($2); + STACKTOP = sp; + return; + } +} + +function _x_by_xt($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$049 = 0, $$050 = 0, $$051 = 0, $$052 = 0, $$053 = 0, $$054 = 0, $$1 = 0, $12 = 0, $14 = 0, $18 = 0, $20 = 0, $23 = 0, $3 = 0, $30 = 0.0, $31 = 0.0, $5 = 0; + $3 = HEAP32[$0 + 4 >> 2] | 0; + $5 = HEAP32[$0 + 8 >> 2] | 0; + L1 : do if ((HEAP32[$1 + 4 >> 2] | 0) == ($3 | 0) ? (HEAP32[$1 + 8 >> 2] | 0) == ($3 | 0) : 0) { + $12 = HEAP32[$1 >> 2] | 0; + $$050 = 0; + $$053 = $12; + while (1) { + if (($$050 | 0) >= ($3 | 0)) { + $$051 = 0; + break L1; + } + $14 = Math_imul($$050, $5) | 0; + $$049 = 0; + $$1 = $$053; + while (1) { + if (($$049 | 0) == ($3 | 0)) break; + L10 : do if ($$049 >>> 0 < $$050 >>> 0) { + $18 = $12 + ((Math_imul($$049, $3) | 0) + $$050 << 3) | 0; + HEAPF64[$$1 >> 3] = +HEAPF64[$18 >> 3]; + } else { + $20 = HEAP32[$0 >> 2] | 0; + $23 = $20 + ((Math_imul($$049, $5) | 0) << 3) | 0; + HEAPF64[$$1 >> 3] = 0.0; + $$0 = 0; + $$052 = $20 + ($14 << 3) | 0; + $$054 = $23; + $31 = 0.0; + while (1) { + if (($$0 | 0) >= ($5 | 0)) break L10; + $30 = $31 + +HEAPF64[$$052 >> 3] * +HEAPF64[$$054 >> 3]; + HEAPF64[$$1 >> 3] = $30; + $$0 = $$0 + 1 | 0; + $$052 = $$052 + 8 | 0; + $$054 = $$054 + 8 | 0; + $31 = $30; + } + } while (0); + $$049 = $$049 + 1 | 0; + $$1 = $$1 + 8 | 0; + } + $$050 = $$050 + 1 | 0; + $$053 = $$053 + ($3 << 3) | 0; + } + } else $$051 = -1; while (0); + return $$051 | 0; +} + +function _fread($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$ = 0, $$0 = 0, $$054 = 0, $$056 = 0, $$15759 = 0, $$160 = 0, $10 = 0, $12 = 0, $18 = 0, $19 = 0, $20 = 0, $29 = 0, $33 = 0, $37 = 0, $4 = 0, $40 = 0, $spec$select = 0, label = 0; + $4 = Math_imul($2, $1) | 0; + $spec$select = ($1 | 0) == 0 ? 0 : $2; + if ((HEAP32[$3 + 76 >> 2] | 0) > -1) $37 = ___lockfile($3) | 0; else $37 = 0; + $10 = $3 + 74 | 0; + $12 = HEAP8[$10 >> 0] | 0; + HEAP8[$10 >> 0] = $12 + 255 | $12; + $18 = $3 + 4 | 0; + $19 = HEAP32[$18 >> 2] | 0; + $20 = (HEAP32[$3 + 8 >> 2] | 0) - $19 | 0; + if (($20 | 0) > 0) { + $$ = $20 >>> 0 < $4 >>> 0 ? $20 : $4; + _memcpy($0 | 0, $19 | 0, $$ | 0) | 0; + HEAP32[$18 >> 2] = (HEAP32[$18 >> 2] | 0) + $$; + $$054 = $4 - $$ | 0; + $$056 = $0 + $$ | 0; + } else { + $$054 = $4; + $$056 = $0; + } + L7 : do if (!$$054) label = 13; else { + $29 = $3 + 32 | 0; + $$15759 = $$056; + $$160 = $$054; + while (1) { + if (___toread($3) | 0) break; + $33 = FUNCTION_TABLE_iiii[HEAP32[$29 >> 2] & 63]($3, $$15759, $$160) | 0; + if (($33 + 1 | 0) >>> 0 < 2) break; + $40 = $$160 - $33 | 0; + if (!$40) { + label = 13; + break L7; + } else { + $$15759 = $$15759 + $33 | 0; + $$160 = $40; + } + } + if ($37 | 0) ___unlockfile($3); + $$0 = (($4 - $$160 | 0) >>> 0) / ($1 >>> 0) | 0; + } while (0); + if ((label | 0) == 13) if (!$37) $$0 = $spec$select; else { + ___unlockfile($3); + $$0 = $spec$select; + } + return $$0 | 0; +} + +function __ZNSt3__212__hash_tableINS_17__hash_value_typeIiNS_6vectorIN6vision7Point3dIfEENS_9allocatorIS5_EEEEEENS_22__unordered_map_hasherIiS9_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS9_NS_8equal_toIiEELb1EEENS6_IS9_EEE6rehashEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$sroa$speculated = 0, $22 = 0, $27 = 0, $30 = 0, $8 = 0; + if (($1 | 0) != 1) if (!($1 + -1 & $1)) $$0 = $1; else $$0 = __ZNSt3__212__next_primeEm($1) | 0; else $$0 = 2; + $8 = HEAP32[$0 + 4 >> 2] | 0; + if ($$0 >>> 0 <= $8 >>> 0) { + if ($$0 >>> 0 < $8 >>> 0) { + $22 = ~~+Math_ceil(+(+((HEAP32[$0 + 12 >> 2] | 0) >>> 0) / +HEAPF32[$0 + 16 >> 2])) >>> 0; + if ($8 >>> 0 > 2 & ($8 + -1 & $8 | 0) == 0) { + $27 = 1 << 32 - (Math_clz32($22 + -1 | 0) | 0); + $30 = $22 >>> 0 < 2 ? $22 : $27; + } else $30 = __ZNSt3__212__next_primeEm($22) | 0; + $$sroa$speculated = $$0 >>> 0 < $30 >>> 0 ? $30 : $$0; + if ($$sroa$speculated >>> 0 < $8 >>> 0) __ZNSt3__212__hash_tableINS_17__hash_value_typeIiNS_6vectorIN6vision7Point3dIfEENS_9allocatorIS5_EEEEEENS_22__unordered_map_hasherIiS9_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS9_NS_8equal_toIiEELb1EEENS6_IS9_EEE8__rehashEm($0, $$sroa$speculated); + } + } else __ZNSt3__212__hash_tableINS_17__hash_value_typeIiNS_6vectorIN6vision7Point3dIfEENS_9allocatorIS5_EEEEEENS_22__unordered_map_hasherIiS9_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS9_NS_8equal_toIiEELb1EEENS6_IS9_EEE8__rehashEm($0, $$0); + return; +} + +function __ZNSt3__212__hash_tableINS_17__hash_value_typeIiNS_10shared_ptrIN6vision8KeyframeILi96EEEEEEENS_22__unordered_map_hasherIiS7_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS7_NS_8equal_toIiEELb1EEENS_9allocatorIS7_EEE6rehashEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$sroa$speculated = 0, $22 = 0, $27 = 0, $30 = 0, $8 = 0; + if (($1 | 0) != 1) if (!($1 + -1 & $1)) $$0 = $1; else $$0 = __ZNSt3__212__next_primeEm($1) | 0; else $$0 = 2; + $8 = HEAP32[$0 + 4 >> 2] | 0; + if ($$0 >>> 0 <= $8 >>> 0) { + if ($$0 >>> 0 < $8 >>> 0) { + $22 = ~~+Math_ceil(+(+((HEAP32[$0 + 12 >> 2] | 0) >>> 0) / +HEAPF32[$0 + 16 >> 2])) >>> 0; + if ($8 >>> 0 > 2 & ($8 + -1 & $8 | 0) == 0) { + $27 = 1 << 32 - (Math_clz32($22 + -1 | 0) | 0); + $30 = $22 >>> 0 < 2 ? $22 : $27; + } else $30 = __ZNSt3__212__next_primeEm($22) | 0; + $$sroa$speculated = $$0 >>> 0 < $30 >>> 0 ? $30 : $$0; + if ($$sroa$speculated >>> 0 < $8 >>> 0) __ZNSt3__212__hash_tableINS_17__hash_value_typeIiNS_10shared_ptrIN6vision8KeyframeILi96EEEEEEENS_22__unordered_map_hasherIiS7_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS7_NS_8equal_toIiEELb1EEENS_9allocatorIS7_EEE8__rehashEm($0, $$sroa$speculated); + } + } else __ZNSt3__212__hash_tableINS_17__hash_value_typeIiNS_10shared_ptrIN6vision8KeyframeILi96EEEEEEENS_22__unordered_map_hasherIiS7_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS7_NS_8equal_toIiEELb1EEENS_9allocatorIS7_EEE8__rehashEm($0, $$0); + return; +} + +function __ZNSt3__225__num_get_signed_integralIlEET_PKcS3_Rji($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0, $$1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $15 = 0, $4 = 0, $6 = 0, $7 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $4 = sp; + if (($0 | 0) == ($1 | 0)) { + HEAP32[$2 >> 2] = 4; + $$1 = 0; + } else { + $6 = ___errno_location() | 0; + $7 = HEAP32[$6 >> 2] | 0; + $8 = ___errno_location() | 0; + HEAP32[$8 >> 2] = 0; + $10 = _strtoll_l($0, $4, $3, __ZNSt3__26__clocEv() | 0) | 0; + $11 = getTempRet0() | 0; + $12 = ___errno_location() | 0; + $13 = HEAP32[$12 >> 2] | 0; + if (!$13) { + $15 = ___errno_location() | 0; + HEAP32[$15 >> 2] = $7; + } + L7 : do if ((HEAP32[$4 >> 2] | 0) == ($1 | 0)) { + do if (($13 | 0) == 68) { + HEAP32[$2 >> 2] = 4; + if (($11 | 0) > 0 | ($11 | 0) == 0 & $10 >>> 0 > 0) { + $$0 = 2147483647; + break L7; + } + } else { + if (($11 | 0) < -1 | ($11 | 0) == -1 & $10 >>> 0 < 2147483648) { + HEAP32[$2 >> 2] = 4; + break; + } + if (($11 | 0) > 0 | ($11 | 0) == 0 & $10 >>> 0 > 2147483647) { + HEAP32[$2 >> 2] = 4; + $$0 = 2147483647; + break L7; + } else { + $$0 = $10; + break L7; + } + } while (0); + $$0 = -2147483648; + } else { + HEAP32[$2 >> 2] = 4; + $$0 = 0; + } while (0); + $$1 = $$0; + } + STACKTOP = sp; + return $$1 | 0; +} + +function __ZN6vision27OrthogonalizePivot8x9Basis0IfEEbPT_S2_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $11 = 0.0, $14 = 0.0, $17 = 0.0, $2 = 0, $20 = 0.0, $23 = 0.0, $25 = 0, $26 = 0, $3 = 0.0, $4 = 0, $5 = 0.0, $8 = 0.0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp; + $3 = +__ZN6vision11SumSquares9IfEET_PKS1_($1); + HEAPF32[$2 >> 2] = $3; + $4 = $1 + 36 | 0; + $5 = +__ZN6vision11SumSquares9IfEET_PKS1_($4); + HEAPF32[$2 + 4 >> 2] = $5; + $8 = +__ZN6vision11SumSquares9IfEET_PKS1_($1 + 72 | 0); + HEAPF32[$2 + 8 >> 2] = $8; + $11 = +__ZN6vision11SumSquares9IfEET_PKS1_($1 + 108 | 0); + HEAPF32[$2 + 12 >> 2] = $11; + $14 = +__ZN6vision11SumSquares9IfEET_PKS1_($1 + 144 | 0); + HEAPF32[$2 + 16 >> 2] = $14; + $17 = +__ZN6vision11SumSquares9IfEET_PKS1_($1 + 180 | 0); + HEAPF32[$2 + 20 >> 2] = $17; + $20 = +__ZN6vision11SumSquares9IfEET_PKS1_($1 + 216 | 0); + HEAPF32[$2 + 24 >> 2] = $20; + $23 = +__ZN6vision11SumSquares9IfEET_PKS1_($1 + 252 | 0); + HEAPF32[$2 + 28 >> 2] = $23; + $25 = __ZN6vision9MaxIndex8IfEEiPKT_($2) | 0; + $26 = $2 + ($25 << 2) | 0; + if (+HEAPF32[$26 >> 2] == 0.0) $$0 = 0; else { + __ZN6vision5Swap9IfEEvPT_S2_($1, $1 + ($25 * 9 << 2) | 0); + __ZN6vision12ScaleVector9IfEEvPT_PKS1_S1_($0, $1, 1.0 / +Math_sqrt(+(+HEAPF32[$26 >> 2]))); + __ZN6vision10CopyVectorIfEEvPT_PKS1_m($0 + 36 | 0, $4, 63); + $$0 = 1; + } + STACKTOP = sp; + return $$0 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E20parseFloatingLiteralIeEEPNS0_4NodeEv($0) { + $0 = $0 | 0; + var $$020 = 0, $$3 = 0, $$4 = 0, $1 = 0, $4 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + if ((__ZNK12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E7numLeftEv($0) | 0) >>> 0 < 21) $$4 = 0; else { + $4 = HEAP32[$0 >> 2] | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKcS2_($1, $4, $4 + 20 | 0); + $6 = __ZNK12_GLOBAL__N_110StringView5beginEv($1) | 0; + $7 = __ZNK12_GLOBAL__N_110StringView3endEv($1) | 0; + $$020 = $6; + while (1) { + if (($$020 | 0) == ($7 | 0)) { + label = 5; + break; + } + if (!(_isxdigit(HEAP8[$$020 >> 0] | 0) | 0)) { + $$3 = 0; + break; + } else $$020 = $$020 + 1 | 0; + } + if ((label | 0) == 5) { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 20; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 69) | 0) $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_16FloatLiteralImplIeEEJRNS_10StringViewEEEEPNS0_4NodeEDpOT0_($0, $1) | 0; else $$3 = 0; + } + $$4 = $$3; + } + STACKTOP = sp; + return $$4 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E20parseFloatingLiteralIdEEPNS0_4NodeEv($0) { + $0 = $0 | 0; + var $$020 = 0, $$3 = 0, $$4 = 0, $1 = 0, $4 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + if ((__ZNK12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E7numLeftEv($0) | 0) >>> 0 < 17) $$4 = 0; else { + $4 = HEAP32[$0 >> 2] | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKcS2_($1, $4, $4 + 16 | 0); + $6 = __ZNK12_GLOBAL__N_110StringView5beginEv($1) | 0; + $7 = __ZNK12_GLOBAL__N_110StringView3endEv($1) | 0; + $$020 = $6; + while (1) { + if (($$020 | 0) == ($7 | 0)) { + label = 5; + break; + } + if (!(_isxdigit(HEAP8[$$020 >> 0] | 0) | 0)) { + $$3 = 0; + break; + } else $$020 = $$020 + 1 | 0; + } + if ((label | 0) == 5) { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 16; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 69) | 0) $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_16FloatLiteralImplIdEEJRNS_10StringViewEEEEPNS0_4NodeEDpOT0_($0, $1) | 0; else $$3 = 0; + } + $$4 = $$3; + } + STACKTOP = sp; + return $$4 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle7NewExprEJRNS2_9NodeArrayERPNS2_4NodeES5_RbS9_EEEPT_DpOT0_($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 $14 = 0, $15 = 0, $19 = 0, $20 = 0, $25 = 0, $26 = 0, $31 = 0, $33 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $tmpcast$byval_copy = 0, $tmpcast6$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $tmpcast6$byval_copy = sp + 24 | 0; + $tmpcast$byval_copy = sp + 16 | 0; + $6 = sp + 8 | 0; + $7 = sp; + $8 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 32) | 0; + $9 = $1; + $14 = HEAP32[$9 + 4 >> 2] | 0; + $15 = $6; + HEAP32[$15 >> 2] = HEAP32[$9 >> 2]; + HEAP32[$15 + 4 >> 2] = $14; + $19 = HEAP32[$2 >> 2] | 0; + $20 = $3; + $25 = HEAP32[$20 + 4 >> 2] | 0; + $26 = $7; + HEAP32[$26 >> 2] = HEAP32[$20 >> 2]; + HEAP32[$26 + 4 >> 2] = $25; + $31 = (HEAP8[$4 >> 0] | 0) != 0; + $33 = (HEAP8[$5 >> 0] | 0) != 0; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$6 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$6 + 4 >> 2]; + HEAP32[$tmpcast6$byval_copy >> 2] = HEAP32[$7 >> 2]; + HEAP32[$tmpcast6$byval_copy + 4 >> 2] = HEAP32[$7 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle7NewExprC2ENS0_9NodeArrayEPNS0_4NodeES2_bb($8, $tmpcast$byval_copy, $19, $tmpcast6$byval_copy, $31, $33); + STACKTOP = sp; + return $8 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle7NewExprEJRNS2_9NodeArrayERPNS2_4NodeES4_RbS9_EEEPT_DpOT0_($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 $14 = 0, $15 = 0, $19 = 0, $20 = 0, $25 = 0, $26 = 0, $31 = 0, $33 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $tmpcast$byval_copy = 0, $tmpcast6$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $tmpcast6$byval_copy = sp + 24 | 0; + $tmpcast$byval_copy = sp + 16 | 0; + $6 = sp + 8 | 0; + $7 = sp; + $8 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 32) | 0; + $9 = $1; + $14 = HEAP32[$9 + 4 >> 2] | 0; + $15 = $6; + HEAP32[$15 >> 2] = HEAP32[$9 >> 2]; + HEAP32[$15 + 4 >> 2] = $14; + $19 = HEAP32[$2 >> 2] | 0; + $20 = $3; + $25 = HEAP32[$20 + 4 >> 2] | 0; + $26 = $7; + HEAP32[$26 >> 2] = HEAP32[$20 >> 2]; + HEAP32[$26 + 4 >> 2] = $25; + $31 = (HEAP8[$4 >> 0] | 0) != 0; + $33 = (HEAP8[$5 >> 0] | 0) != 0; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$6 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$6 + 4 >> 2]; + HEAP32[$tmpcast6$byval_copy >> 2] = HEAP32[$7 >> 2]; + HEAP32[$tmpcast6$byval_copy + 4 >> 2] = HEAP32[$7 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle7NewExprC2ENS0_9NodeArrayEPNS0_4NodeES2_bb($8, $tmpcast$byval_copy, $19, $tmpcast6$byval_copy, $31, $33); + STACKTOP = sp; + return $8 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E20parseFloatingLiteralIfEEPNS0_4NodeEv($0) { + $0 = $0 | 0; + var $$020 = 0, $$3 = 0, $$4 = 0, $1 = 0, $4 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + if ((__ZNK12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E7numLeftEv($0) | 0) >>> 0 < 9) $$4 = 0; else { + $4 = HEAP32[$0 >> 2] | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKcS2_($1, $4, $4 + 8 | 0); + $6 = __ZNK12_GLOBAL__N_110StringView5beginEv($1) | 0; + $7 = __ZNK12_GLOBAL__N_110StringView3endEv($1) | 0; + $$020 = $6; + while (1) { + if (($$020 | 0) == ($7 | 0)) { + label = 5; + break; + } + if (!(_isxdigit(HEAP8[$$020 >> 0] | 0) | 0)) { + $$3 = 0; + break; + } else $$020 = $$020 + 1 | 0; + } + if ((label | 0) == 5) { + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 8; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 69) | 0) $$3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_16FloatLiteralImplIfEEJRNS_10StringViewEEEEPNS0_4NodeEDpOT0_($0, $1) | 0; else $$3 = 0; + } + $$4 = $$3; + } + STACKTOP = sp; + return $$4 | 0; +} + +function __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11__get_am_pmERiRS4_S4_RjRKNS_5ctypeIwEE($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 $$byval_copy = 0, $11 = 0, $14 = 0, $21 = 0, $27 = 0, $29 = 0, $37 = 0, $39 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 4 | 0; + $6 = sp; + $7 = $0 + 8 | 0; + $11 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$7 >> 2] | 0) + 8 >> 2] & 127]($7) | 0; + $14 = HEAP8[$11 + 8 + 3 >> 0] | 0; + if ($14 << 24 >> 24 < 0) $29 = HEAP32[$11 + 4 >> 2] | 0; else $29 = $14 & 255; + $21 = HEAP8[$11 + 20 + 3 >> 0] | 0; + if ($21 << 24 >> 24 < 0) $27 = HEAP32[$11 + 16 >> 2] | 0; else $27 = $21 & 255; + do if (($29 | 0) != (0 - $27 | 0)) { + HEAP32[$6 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + $37 = (__ZNSt3__214__scan_keywordINS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEPKNS_12basic_stringIwS3_NS_9allocatorIwEEEENS_5ctypeIwEEEET0_RT_SE_SD_SD_RKT1_Rjb($2, $$byval_copy, $11, $11 + 24 | 0, $5, $4, 0) | 0) - $11 | 0; + $39 = HEAP32[$1 >> 2] | 0; + if (($39 | 0) == 12 & ($37 | 0) == 0) { + HEAP32[$1 >> 2] = 0; + break; + } + if (($39 | 0) < 12 & ($37 | 0) == 12) HEAP32[$1 >> 2] = $39 + 12; + } else HEAP32[$4 >> 2] = HEAP32[$4 >> 2] | 4; while (0); + STACKTOP = sp; + return; +} + +function __ZN6vision5Swap9IfEEvPT_S2_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $10 = 0, $12 = 0, $13 = 0, $14 = 0, $16 = 0, $17 = 0, $18 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $24 = 0, $25 = 0, $26 = 0, $28 = 0, $29 = 0, $30 = 0, $32 = 0, $33 = 0, $34 = 0, $4 = 0, $5 = 0, $6 = 0, $8 = 0, $9 = 0; + $2 = HEAP32[$0 >> 2] | 0; + $4 = $0 + 4 | 0; + HEAP32[$0 >> 2] = HEAP32[$1 >> 2]; + $5 = $1 + 4 | 0; + HEAP32[$1 >> 2] = $2; + $6 = HEAP32[$4 >> 2] | 0; + $8 = $0 + 8 | 0; + HEAP32[$4 >> 2] = HEAP32[$5 >> 2]; + $9 = $1 + 8 | 0; + HEAP32[$5 >> 2] = $6; + $10 = HEAP32[$8 >> 2] | 0; + $12 = $0 + 12 | 0; + HEAP32[$8 >> 2] = HEAP32[$9 >> 2]; + $13 = $1 + 12 | 0; + HEAP32[$9 >> 2] = $10; + $14 = HEAP32[$12 >> 2] | 0; + $16 = $0 + 16 | 0; + HEAP32[$12 >> 2] = HEAP32[$13 >> 2]; + $17 = $1 + 16 | 0; + HEAP32[$13 >> 2] = $14; + $18 = HEAP32[$16 >> 2] | 0; + $20 = $0 + 20 | 0; + HEAP32[$16 >> 2] = HEAP32[$17 >> 2]; + $21 = $1 + 20 | 0; + HEAP32[$17 >> 2] = $18; + $22 = HEAP32[$20 >> 2] | 0; + $24 = $0 + 24 | 0; + HEAP32[$20 >> 2] = HEAP32[$21 >> 2]; + $25 = $1 + 24 | 0; + HEAP32[$21 >> 2] = $22; + $26 = HEAP32[$24 >> 2] | 0; + $28 = $0 + 28 | 0; + HEAP32[$24 >> 2] = HEAP32[$25 >> 2]; + $29 = $1 + 28 | 0; + HEAP32[$25 >> 2] = $26; + $30 = HEAP32[$28 >> 2] | 0; + $32 = $0 + 32 | 0; + HEAP32[$28 >> 2] = HEAP32[$29 >> 2]; + $33 = $1 + 32 | 0; + HEAP32[$29 >> 2] = $30; + $34 = HEAP32[$32 >> 2] | 0; + HEAP32[$32 >> 2] = HEAP32[$33 >> 2]; + HEAP32[$33 >> 2] = $34; + return; +} + +function __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11__get_am_pmERiRS4_S4_RjRKNS_5ctypeIcEE($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 $$byval_copy = 0, $11 = 0, $13 = 0, $20 = 0, $26 = 0, $28 = 0, $36 = 0, $38 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 4 | 0; + $6 = sp; + $7 = $0 + 8 | 0; + $11 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$7 >> 2] | 0) + 8 >> 2] & 127]($7) | 0; + $13 = HEAP8[$11 + 11 >> 0] | 0; + if ($13 << 24 >> 24 < 0) $28 = HEAP32[$11 + 4 >> 2] | 0; else $28 = $13 & 255; + $20 = HEAP8[$11 + 12 + 11 >> 0] | 0; + if ($20 << 24 >> 24 < 0) $26 = HEAP32[$11 + 16 >> 2] | 0; else $26 = $20 & 255; + do if (($28 | 0) != (0 - $26 | 0)) { + HEAP32[$6 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + $36 = (__ZNSt3__214__scan_keywordINS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEPKNS_12basic_stringIcS3_NS_9allocatorIcEEEENS_5ctypeIcEEEET0_RT_SE_SD_SD_RKT1_Rjb($2, $$byval_copy, $11, $11 + 24 | 0, $5, $4, 0) | 0) - $11 | 0; + $38 = HEAP32[$1 >> 2] | 0; + if (($38 | 0) == 12 & ($36 | 0) == 0) { + HEAP32[$1 >> 2] = 0; + break; + } + if (($38 | 0) < 12 & ($36 | 0) == 12) HEAP32[$1 >> 2] = $38 + 12; + } else HEAP32[$4 >> 2] = HEAP32[$4 >> 2] | 4; while (0); + STACKTOP = sp; + return; +} + +function _icpGetJ_U_Xc($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $12 = 0, $15 = 0.0, $20 = 0.0, $21 = 0, $24 = 0, $28 = 0, $3 = 0.0, $34 = 0.0, $35 = 0, $36 = 0.0, $38 = 0, $4 = 0.0, $42 = 0, $48 = 0.0, $50 = 0.0, $6 = 0, $9 = 0.0; + $3 = +HEAPF64[$1 >> 3]; + $4 = +HEAPF64[$2 >> 3]; + $6 = $1 + 8 | 0; + $9 = +HEAPF64[$2 + 8 >> 3]; + $12 = $1 + 16 | 0; + $15 = +HEAPF64[$2 + 16 >> 3]; + $20 = +HEAPF64[$1 + 24 >> 3] + ($3 * $4 + +HEAPF64[$6 >> 3] * $9 + +HEAPF64[$12 >> 3] * $15); + $21 = $1 + 32 | 0; + $24 = $1 + 40 | 0; + $28 = $1 + 48 | 0; + $34 = +HEAPF64[$1 + 56 >> 3] + ($4 * +HEAPF64[$21 >> 3] + $9 * +HEAPF64[$24 >> 3] + $15 * +HEAPF64[$28 >> 3]); + $35 = $1 + 64 | 0; + $36 = +HEAPF64[$35 >> 3]; + $38 = $1 + 72 | 0; + $42 = $1 + 80 | 0; + $48 = +HEAPF64[$1 + 88 >> 3] + ($4 * $36 + $9 * +HEAPF64[$38 >> 3] + $15 * +HEAPF64[$42 >> 3]); + if ($48 == 0.0) $$0 = -1; else { + $50 = $48 * $48; + HEAPF64[$0 >> 3] = ($3 * $48 - $20 * $36) / $50; + HEAPF64[$0 + 8 >> 3] = ($48 * +HEAPF64[$6 >> 3] - $20 * +HEAPF64[$38 >> 3]) / $50; + HEAPF64[$0 + 16 >> 3] = ($48 * +HEAPF64[$12 >> 3] - $20 * +HEAPF64[$42 >> 3]) / $50; + HEAPF64[$0 + 24 >> 3] = ($48 * +HEAPF64[$21 >> 3] - $34 * +HEAPF64[$35 >> 3]) / $50; + HEAPF64[$0 + 32 >> 3] = ($48 * +HEAPF64[$24 >> 3] - $34 * +HEAPF64[$38 >> 3]) / $50; + HEAPF64[$0 + 40 >> 3] = ($48 * +HEAPF64[$28 >> 3] - $34 * +HEAPF64[$42 >> 3]) / $50; + $$0 = 0; + } + return $$0 | 0; +} + +function ___fwritex($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$03846 = 0, $$1 = 0, $$139 = 0, $$141 = 0, $$143 = 0, $10 = 0, $12 = 0, $14 = 0, $23 = 0, $29 = 0, $3 = 0, $32 = 0, $4 = 0, $9 = 0, label = 0; + $3 = $2 + 16 | 0; + $4 = HEAP32[$3 >> 2] | 0; + if (!$4) if (!(___towrite($2) | 0)) { + $12 = HEAP32[$3 >> 2] | 0; + label = 5; + } else $$1 = 0; else { + $12 = $4; + label = 5; + } + L5 : do if ((label | 0) == 5) { + $9 = $2 + 20 | 0; + $10 = HEAP32[$9 >> 2] | 0; + $14 = $10; + if (($12 - $10 | 0) >>> 0 < $1 >>> 0) { + $$1 = FUNCTION_TABLE_iiii[HEAP32[$2 + 36 >> 2] & 63]($2, $0, $1) | 0; + break; + } + L10 : do if ((HEAP8[$2 + 75 >> 0] | 0) < 0 | ($1 | 0) == 0) { + $$139 = 0; + $$141 = $0; + $$143 = $1; + $32 = $14; + } else { + $$03846 = $1; + while (1) { + $23 = $$03846 + -1 | 0; + if ((HEAP8[$0 + $23 >> 0] | 0) == 10) break; + if (!$23) { + $$139 = 0; + $$141 = $0; + $$143 = $1; + $32 = $14; + break L10; + } else $$03846 = $23; + } + $29 = FUNCTION_TABLE_iiii[HEAP32[$2 + 36 >> 2] & 63]($2, $0, $$03846) | 0; + if ($29 >>> 0 < $$03846 >>> 0) { + $$1 = $29; + break L5; + } + $$139 = $$03846; + $$141 = $0 + $$03846 | 0; + $$143 = $1 - $$03846 | 0; + $32 = HEAP32[$9 >> 2] | 0; + } while (0); + _memcpy($32 | 0, $$141 | 0, $$143 | 0) | 0; + HEAP32[$9 >> 2] = (HEAP32[$9 >> 2] | 0) + $$143; + $$1 = $$139 + $$143 | 0; + } while (0); + return $$1 | 0; +} + +function __ZNSt3__26vectorIN6vision5ImageENS_9allocatorIS2_EEE8__appendEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $13 = 0, $14 = 0, $18 = 0, $19 = 0, $2 = 0, $23 = 0, $3 = 0, $5 = 0, $6 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp; + $3 = $0 + 8 | 0; + $5 = $0 + 4 | 0; + $6 = HEAP32[$5 >> 2] | 0; + do if ((HEAP32[$3 >> 2] | 0) - $6 >> 5 >>> 0 < $1 >>> 0) { + $13 = ($6 - (HEAP32[$0 >> 2] | 0) >> 5) + $1 | 0; + $14 = __ZNKSt3__26vectorIN6vision5ImageENS_9allocatorIS2_EEE8max_sizeEv($0) | 0; + if ($14 >>> 0 < $13 >>> 0) __ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv($0); else { + $18 = HEAP32[$0 >> 2] | 0; + $19 = (HEAP32[$3 >> 2] | 0) - $18 | 0; + $23 = $19 >> 4; + __ZNSt3__214__split_bufferIN6vision5ImageERNS_9allocatorIS2_EEEC2EmmS5_($2, $19 >> 5 >>> 0 < $14 >>> 1 >>> 0 ? ($23 >>> 0 < $13 >>> 0 ? $13 : $23) : $14, (HEAP32[$5 >> 2] | 0) - $18 >> 5, $0 + 8 | 0); + __ZNSt3__214__split_bufferIN6vision5ImageERNS_9allocatorIS2_EEE18__construct_at_endEm($2, $1); + __ZNSt3__26vectorIN6vision5ImageENS_9allocatorIS2_EEE26__swap_out_circular_bufferERNS_14__split_bufferIS2_RS4_EE($0, $2); + __ZNSt3__214__split_bufferIN6vision5ImageERNS_9allocatorIS2_EEED2Ev($2); + break; + } + } else __ZNSt3__26vectorIN6vision5ImageENS_9allocatorIS2_EEE18__construct_at_endEm($0, $1); while (0); + STACKTOP = sp; + return; +} + +function _alloc_barray($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$ = 0, $$04853 = 0, $$04956 = 0, $$054 = 0, $$1$lcssa = 0, $$15155 = 0, $$152 = 0, $15 = 0, $17 = 0, $18 = 0, $21 = 0, $23 = 0, $24 = 0, $5 = 0, $6 = 0, $7 = 0, $9 = 0, $umax = 0, $$15155$looptemp = 0; + $5 = HEAP32[$0 + 4 >> 2] | 0; + $6 = $2 << 7; + $7 = 999999984 / ($6 >>> 0) | 0; + if ($6 >>> 0 > 999999984) { + $9 = HEAP32[$0 >> 2] | 0; + HEAP32[$9 + 20 >> 2] = 72; + FUNCTION_TABLE_vi[HEAP32[$9 >> 2] & 255]($0); + } + $$ = ($7 | 0) < ($3 | 0) ? $7 : $3; + HEAP32[$5 + 80 >> 2] = $$; + $15 = _alloc_small($0, $1, $3 << 2) | 0; + if (!$3) return $15 | 0; + $17 = ~$3; + $$04956 = 0; + $$15155 = $$; + while (1) { + $18 = $3 - $$04956 | 0; + $$15155$looptemp = $$15155; + $$15155 = $$15155 >>> 0 < $18 >>> 0 ? $$15155 : $18; + $21 = _alloc_large($0, $1, Math_imul($6, $$15155) | 0) | 0; + if (!$$15155) $$1$lcssa = $$04956; else { + $23 = $$04956 + $17 | 0; + $24 = ~$$15155$looptemp; + $umax = $23 >>> 0 > $24 >>> 0 ? $23 : $24; + $$04853 = $$15155; + $$054 = $21; + $$152 = $$04956; + while (1) { + HEAP32[$15 + ($$152 << 2) >> 2] = $$054; + $$04853 = $$04853 + -1 | 0; + if (!$$04853) break; else { + $$054 = $$054 + ($2 << 7) | 0; + $$152 = $$152 + 1 | 0; + } + } + $$1$lcssa = $$04956 + -1 - $umax | 0; + } + if ($$1$lcssa >>> 0 >= $3 >>> 0) break; else $$04956 = $$1$lcssa; + } + return $15 | 0; +} + +function __ZNSt3__26vectorIN6vision7Point3dIfEENS_9allocatorIS3_EEE21__push_back_slow_pathIS3_EEvOT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $14 = 0, $16 = 0, $19 = 0, $2 = 0, $24 = 0, $25 = 0, $3 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp; + $3 = $0 + 4 | 0; + $8 = (((HEAP32[$3 >> 2] | 0) - (HEAP32[$0 >> 2] | 0) | 0) / 12 | 0) + 1 | 0; + $9 = __ZNKSt3__26vectorIN6vision7Point3dIfEENS_9allocatorIS3_EEE8max_sizeEv($0) | 0; + if ($9 >>> 0 < $8 >>> 0) __ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv($0); else { + $14 = HEAP32[$0 >> 2] | 0; + $16 = ((HEAP32[$0 + 8 >> 2] | 0) - $14 | 0) / 12 | 0; + $19 = $16 << 1; + __ZNSt3__214__split_bufferIN6vision7Point3dIfEERNS_9allocatorIS3_EEEC2EmmS6_($2, $16 >>> 0 < $9 >>> 1 >>> 0 ? ($19 >>> 0 < $8 >>> 0 ? $8 : $19) : $9, ((HEAP32[$3 >> 2] | 0) - $14 | 0) / 12 | 0, $0 + 8 | 0); + $24 = $2 + 8 | 0; + $25 = HEAP32[$24 >> 2] | 0; + HEAP32[$25 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$25 + 4 >> 2] = HEAP32[$1 + 4 >> 2]; + HEAP32[$25 + 8 >> 2] = HEAP32[$1 + 8 >> 2]; + HEAP32[$24 >> 2] = (HEAP32[$24 >> 2] | 0) + 12; + __ZNSt3__26vectorIN6vision7Point3dIfEENS_9allocatorIS3_EEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($0, $2); + __ZNSt3__214__split_bufferIN6vision7Point3dIfEERNS_9allocatorIS3_EEED2Ev($2); + STACKTOP = sp; + return; + } +} + +function __ZNK12_GLOBAL__N_116itanium_demangle15BracedRangeExpr9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy1 = 0, $11 = 0, $2 = 0, $3 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy1 = sp + 16 | 0; + $2 = sp + 8 | 0; + $3 = sp; + __ZN12_GLOBAL__N_112OutputStreampLEc($1, 91); + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 8 >> 2] | 0, $1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 53398); + HEAP32[$$byval_copy1 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy1 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy1); + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 12 >> 2] | 0, $1); + __ZN12_GLOBAL__N_112OutputStreampLEc($1, 93); + $8 = $0 + 16 | 0; + $9 = HEAP32[$8 >> 2] | 0; + if (((__ZNK12_GLOBAL__N_116itanium_demangle4Node7getKindEv($9) | 0) + -65 & 255) < 2) $11 = $9; else { + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, 53404); + HEAP32[$$byval_copy1 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy1 + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy1); + $11 = HEAP32[$8 >> 2] | 0; + } + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE($11, $1); + STACKTOP = sp; + return; +} + +function __ZNSt3__26vectorINS_4pairIfiEENS_9allocatorIS2_EEE8__appendEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $13 = 0, $14 = 0, $18 = 0, $19 = 0, $2 = 0, $23 = 0, $3 = 0, $5 = 0, $6 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp; + $3 = $0 + 8 | 0; + $5 = $0 + 4 | 0; + $6 = HEAP32[$5 >> 2] | 0; + do if ((HEAP32[$3 >> 2] | 0) - $6 >> 3 >>> 0 < $1 >>> 0) { + $13 = ($6 - (HEAP32[$0 >> 2] | 0) >> 3) + $1 | 0; + $14 = __ZNKSt3__26vectorINS_4pairIfiEENS_9allocatorIS2_EEE8max_sizeEv($0) | 0; + if ($14 >>> 0 < $13 >>> 0) __ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv($0); else { + $18 = HEAP32[$0 >> 2] | 0; + $19 = (HEAP32[$3 >> 2] | 0) - $18 | 0; + $23 = $19 >> 2; + __ZNSt3__214__split_bufferINS_4pairIfiEERNS_9allocatorIS2_EEEC2EmmS5_($2, $19 >> 3 >>> 0 < $14 >>> 1 >>> 0 ? ($23 >>> 0 < $13 >>> 0 ? $13 : $23) : $14, (HEAP32[$5 >> 2] | 0) - $18 >> 3, $0 + 8 | 0); + __ZNSt3__214__split_bufferINS_4pairIfiEERNS_9allocatorIS2_EEE18__construct_at_endEm($2, $1); + __ZNSt3__26vectorINS_4pairIfiEENS_9allocatorIS2_EEE26__swap_out_circular_bufferERNS_14__split_bufferIS2_RS4_EE($0, $2); + __ZNSt3__214__split_bufferINS_4pairIfiEERNS_9allocatorIS2_EEED2Ev($2); + break; + } + } else __ZNSt3__26vectorINS_4pairIfiEENS_9allocatorIS2_EEE18__construct_at_endEm($0, $1); while (0); + STACKTOP = sp; + return; +} + +function __ZN6vision21DenormalizeHomographyIfEEvPT_PKS1_S1_S4_S1_S4_($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = +$2; + $3 = $3 | 0; + $4 = +$4; + $5 = $5 | 0; + var $10 = 0, $11 = 0.0, $18 = 0.0, $19 = 0.0, $20 = 0, $21 = 0.0, $30 = 0.0, $31 = 0.0, $33 = 0.0, $34 = 0, $36 = 0.0, $40 = 0, $6 = 0, $7 = 0.0, $70 = 0.0, $73 = 0.0, $8 = 0.0; + $6 = $1 + 24 | 0; + $7 = +HEAPF32[$6 >> 2]; + $8 = +HEAPF32[$5 >> 2]; + $10 = $1 + 28 | 0; + $11 = +HEAPF32[$10 >> 2]; + $18 = $7 * $8 + +HEAPF32[$1 >> 2] / $4; + $19 = $8 * $11 + +HEAPF32[$1 + 4 >> 2] / $4; + $20 = $5 + 4 | 0; + $21 = +HEAPF32[$20 >> 2]; + $30 = $7 * $21 + +HEAPF32[$1 + 12 >> 2] / $4; + $31 = $11 * $21 + +HEAPF32[$1 + 16 >> 2] / $4; + $33 = +HEAPF32[$3 >> 2] * $2; + $34 = $3 + 4 | 0; + $36 = +HEAPF32[$34 >> 2] * $2; + HEAPF32[$0 >> 2] = $18 * $2; + HEAPF32[$0 + 4 >> 2] = $19 * $2; + $40 = $1 + 32 | 0; + HEAPF32[$0 + 8 >> 2] = +HEAPF32[$40 >> 2] * +HEAPF32[$5 >> 2] + +HEAPF32[$1 + 8 >> 2] / $4 - $18 * $33 - $19 * $36; + HEAPF32[$0 + 12 >> 2] = $30 * $2; + HEAPF32[$0 + 16 >> 2] = $31 * $2; + HEAPF32[$0 + 20 >> 2] = +HEAPF32[$40 >> 2] * +HEAPF32[$20 >> 2] + +HEAPF32[$1 + 20 >> 2] / $4 - $30 * $33 - $31 * $36; + $70 = +HEAPF32[$6 >> 2] * $2; + HEAPF32[$0 + 24 >> 2] = $70; + $73 = +HEAPF32[$10 >> 2] * $2; + HEAPF32[$0 + 28 >> 2] = $73; + HEAPF32[$0 + 32 >> 2] = +HEAPF32[$40 >> 2] - $70 * +HEAPF32[$3 >> 2] - $73 * +HEAPF32[$34 >> 2]; + return; +} + +function _arLogv($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0, $10 = 0, $17 = 0, $18 = 0, $19 = 0, $28 = 0, $32 = 0, $4 = 0, $vararg_buffer = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $vararg_buffer = sp + 16 | 0; + $4 = sp; + if ((!(($2 | 0) == 0 | (HEAP32[4186] | 0) > ($1 | 0)) ? HEAP8[$2 >> 0] | 0 : 0) ? (HEAP32[$4 >> 2] = HEAP32[$3 >> 2], $10 = _vsnprintf(0, 0, $2, $4) | 0, $10 | 0) : 0) { + if ($1 >>> 0 < 4) $$0 = (_strlen(HEAP32[1744 + ($1 << 2) >> 2] | 0) | 0) + 3 | 0; else $$0 = 0; + $17 = $$0 + $10 | 0; + $18 = $17 + 1 | 0; + $19 = _malloc($18) | 0; + if ($$0 | 0) { + HEAP32[$vararg_buffer >> 2] = HEAP32[1744 + ($1 << 2) >> 2]; + _snprintf($19, $$0 + 1 | 0, 25625, $vararg_buffer) | 0; + } + _vsnprintf($19 + $$0 | 0, $10 + 1 | 0, $2, $3) | 0; + do if (0) { + if (0 ? ($28 = HEAP32[16308] | 0, $28 >>> 0 < 0) : 0) { + $32 = 0 + $28 | 0; + if ($17 >>> 0 > (-4 - $28 + 0 | 0) >>> 0) { + HEAP8[$32 >> 0] = 46; + HEAP8[$32 + 1 >> 0] = 46; + HEAP8[$32 + 2 >> 0] = 46; + HEAP8[$32 + 3 >> 0] = 0; + HEAP32[16308] = 0; + break; + } else { + _strncpy($32, $19, $18) | 0; + HEAP32[16308] = (HEAP32[16308] | 0) + $17; + break; + } + } + } else _fputs($19, HEAP32[4271] | 0) | 0; while (0); + _free($19); + } + STACKTOP = sp; + return; +} + +function __ZN6vision25CheckHomographyHeuristicsEPfii($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$1 = 0, $10 = 0, $12 = 0.0, $15 = 0.0, $20 = 0.0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(96); + $3 = sp + 88 | 0; + $4 = sp + 80 | 0; + $5 = sp + 72 | 0; + $6 = sp + 64 | 0; + $7 = sp; + $8 = sp + 56 | 0; + $9 = sp + 48 | 0; + $10 = sp + 40 | 0; + if (__ZN6vision16MatrixInverse3x3IfEEbPT_PKS1_S1_($7, $0, 9.999999747378752e-06) | 0) { + $12 = +($1 | 0); + HEAPF32[$8 >> 2] = $12; + HEAPF32[$8 + 4 >> 2] = 0.0; + HEAPF32[$9 >> 2] = $12; + $15 = +($2 | 0); + HEAPF32[$9 + 4 >> 2] = $15; + HEAPF32[$10 >> 2] = 0.0; + HEAPF32[$10 + 4 >> 2] = $15; + __ZN6vision35MultiplyPointHomographyInhomogenousIfEEvPT_PKS1_S4_($3, $7, 65252); + __ZN6vision35MultiplyPointHomographyInhomogenousIfEEvPT_PKS1_S4_($4, $7, $8); + __ZN6vision35MultiplyPointHomographyInhomogenousIfEEvPT_PKS1_S4_($5, $7, $9); + __ZN6vision35MultiplyPointHomographyInhomogenousIfEEvPT_PKS1_S4_($6, $7, $10); + $20 = +(Math_imul($2, $1) | 0) * .0001; + if (+__ZN6vision20SmallestTriangleAreaIfEET_PKS1_S3_S3_S3_($3, $4, $5, $6) < $20) $$0 = 0; else $$0 = __ZN6vision19QuadrilateralConvexIfEEbPKT_S3_S3_S3_($3, $4, $5, $6) | 0; + $$1 = $$0; + } else $$1 = 0; + STACKTOP = sp; + return $$1 | 0; +} + +function _xt_by_x($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$051 = 0, $$052 = 0, $$053 = 0, $$054 = 0, $$055 = 0, $$056 = 0, $$1 = 0, $12 = 0, $17 = 0, $19 = 0, $26 = 0.0, $27 = 0.0, $3 = 0, $5 = 0; + $3 = HEAP32[$0 + 4 >> 2] | 0; + $5 = HEAP32[$0 + 8 >> 2] | 0; + L1 : do if ((HEAP32[$1 + 4 >> 2] | 0) == ($5 | 0) ? (HEAP32[$1 + 8 >> 2] | 0) == ($5 | 0) : 0) { + $12 = HEAP32[$1 >> 2] | 0; + $$052 = 0; + $$055 = $12; + while (1) { + if (($$052 | 0) >= ($5 | 0)) { + $$053 = 0; + break L1; + } + $$051 = 0; + $$1 = $$055; + while (1) { + if (($$051 | 0) == ($5 | 0)) break; + L10 : do if ($$051 >>> 0 < $$052 >>> 0) { + $17 = $12 + ((Math_imul($$051, $5) | 0) + $$052 << 3) | 0; + HEAPF64[$$1 >> 3] = +HEAPF64[$17 >> 3]; + } else { + $19 = HEAP32[$0 >> 2] | 0; + HEAPF64[$$1 >> 3] = 0.0; + $$0 = 0; + $$054 = $19 + ($$052 << 3) | 0; + $$056 = $19 + ($$051 << 3) | 0; + $27 = 0.0; + while (1) { + if (($$0 | 0) >= ($3 | 0)) break L10; + $26 = $27 + +HEAPF64[$$054 >> 3] * +HEAPF64[$$056 >> 3]; + HEAPF64[$$1 >> 3] = $26; + $$0 = $$0 + 1 | 0; + $$054 = $$054 + ($5 << 3) | 0; + $$056 = $$056 + ($5 << 3) | 0; + $27 = $26; + } + } while (0); + $$051 = $$051 + 1 | 0; + $$1 = $$1 + 8 | 0; + } + $$052 = $$052 + 1 | 0; + $$055 = $$055 + ($5 << 3) | 0; + } + } else $$053 = -1; while (0); + return $$053 | 0; +} + +function __ZNSt3__227__num_get_unsigned_integralItEET_PKcS3_Rji($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$028 = 0, $$029 = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $19 = 0, $4 = 0, $7 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $4 = sp; + do if (($0 | 0) == ($1 | 0)) { + HEAP32[$2 >> 2] = 4; + $$2 = 0; + } else { + $7 = (HEAP8[$0 >> 0] | 0) == 45; + if ($7) { + $8 = $0 + 1 | 0; + if (($8 | 0) == ($1 | 0)) { + HEAP32[$2 >> 2] = 4; + $$2 = 0; + break; + } else $$029 = $8; + } else $$029 = $0; + $10 = ___errno_location() | 0; + $11 = HEAP32[$10 >> 2] | 0; + $12 = ___errno_location() | 0; + HEAP32[$12 >> 2] = 0; + $14 = _strtoull_l($$029, $4, $3, __ZNSt3__26__clocEv() | 0) | 0; + $15 = getTempRet0() | 0; + $16 = ___errno_location() | 0; + $17 = HEAP32[$16 >> 2] | 0; + if (!$17) { + $19 = ___errno_location() | 0; + HEAP32[$19 >> 2] = $11; + } + do if ((HEAP32[$4 >> 2] | 0) == ($1 | 0)) { + if ($15 >>> 0 > 0 | ($15 | 0) == 0 & $14 >>> 0 > 65535 | ($17 | 0) == 68) { + HEAP32[$2 >> 2] = 4; + $$028 = -1; + break; + } + if ($7) $$028 = 0 - $14 & 65535; else $$028 = $14 & 65535; + } else { + HEAP32[$2 >> 2] = 4; + $$028 = 0; + } while (0); + $$2 = $$028; + } while (0); + STACKTOP = sp; + return $$2 | 0; +} + +function _alloc_sarray($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$ = 0, $$04853 = 0, $$04956 = 0, $$054 = 0, $$1$lcssa = 0, $$15155 = 0, $$152 = 0, $14 = 0, $16 = 0, $17 = 0, $20 = 0, $22 = 0, $23 = 0, $5 = 0, $6 = 0, $8 = 0, $umax = 0, $$15155$looptemp = 0; + $5 = HEAP32[$0 + 4 >> 2] | 0; + $6 = 999999984 / ($2 >>> 0) | 0; + if ($2 >>> 0 > 999999984) { + $8 = HEAP32[$0 >> 2] | 0; + HEAP32[$8 + 20 >> 2] = 72; + FUNCTION_TABLE_vi[HEAP32[$8 >> 2] & 255]($0); + } + $$ = ($6 | 0) < ($3 | 0) ? $6 : $3; + HEAP32[$5 + 80 >> 2] = $$; + $14 = _alloc_small($0, $1, $3 << 2) | 0; + if (!$3) return $14 | 0; + $16 = ~$3; + $$04956 = 0; + $$15155 = $$; + while (1) { + $17 = $3 - $$04956 | 0; + $$15155$looptemp = $$15155; + $$15155 = $$15155 >>> 0 < $17 >>> 0 ? $$15155 : $17; + $20 = _alloc_large($0, $1, Math_imul($$15155, $2) | 0) | 0; + if (!$$15155) $$1$lcssa = $$04956; else { + $22 = $$04956 + $16 | 0; + $23 = ~$$15155$looptemp; + $umax = $22 >>> 0 > $23 >>> 0 ? $22 : $23; + $$04853 = $$15155; + $$054 = $20; + $$152 = $$04956; + while (1) { + HEAP32[$14 + ($$152 << 2) >> 2] = $$054; + $$04853 = $$04853 + -1 | 0; + if (!$$04853) break; else { + $$054 = $$054 + $2 | 0; + $$152 = $$152 + 1 | 0; + } + } + $$1$lcssa = $$04956 + -1 - $umax | 0; + } + if ($$1$lcssa >>> 0 >= $3 >>> 0) break; else $$04956 = $$1$lcssa; + } + return $14 | 0; +} + +function __ZNSt3__212__hash_tableINS_17__hash_value_typeIiNS_6vectorIiNS_9allocatorIiEEEEEENS_22__unordered_map_hasherIiS6_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS6_NS_8equal_toIiEELb1EEENS3_IS6_EEE6rehashEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$sroa$speculated = 0, $22 = 0, $27 = 0, $30 = 0, $8 = 0; + if (($1 | 0) != 1) if (!($1 + -1 & $1)) $$0 = $1; else $$0 = __ZNSt3__212__next_primeEm($1) | 0; else $$0 = 2; + $8 = HEAP32[$0 + 4 >> 2] | 0; + if ($$0 >>> 0 <= $8 >>> 0) { + if ($$0 >>> 0 < $8 >>> 0) { + $22 = ~~+Math_ceil(+(+((HEAP32[$0 + 12 >> 2] | 0) >>> 0) / +HEAPF32[$0 + 16 >> 2])) >>> 0; + if ($8 >>> 0 > 2 & ($8 + -1 & $8 | 0) == 0) { + $27 = 1 << 32 - (Math_clz32($22 + -1 | 0) | 0); + $30 = $22 >>> 0 < 2 ? $22 : $27; + } else $30 = __ZNSt3__212__next_primeEm($22) | 0; + $$sroa$speculated = $$0 >>> 0 < $30 >>> 0 ? $30 : $$0; + if ($$sroa$speculated >>> 0 < $8 >>> 0) __ZNSt3__212__hash_tableINS_17__hash_value_typeIiNS_6vectorIiNS_9allocatorIiEEEEEENS_22__unordered_map_hasherIiS6_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS6_NS_8equal_toIiEELb1EEENS3_IS6_EEE8__rehashEm($0, $$sroa$speculated); + } + } else __ZNSt3__212__hash_tableINS_17__hash_value_typeIiNS_6vectorIiNS_9allocatorIiEEEEEENS_22__unordered_map_hasherIiS6_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS6_NS_8equal_toIiEELb1EEENS3_IS6_EEE8__rehashEm($0, $$0); + return; +} + +function __ZL18genBWImageOneThirdPhiiPiS0_($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0 = 0, $$052 = 0, $$053 = 0, $$054 = 0, $$055 = 0, $$056 = 0, $$1 = 0, $11 = 0, $5 = 0, $6 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $5 = ($1 | 0) / 3 | 0; + HEAP32[$3 >> 2] = $5; + $6 = ($2 | 0) / 3 | 0; + HEAP32[$4 >> 2] = $6; + $8 = _malloc(Math_imul($6, $5) | 0) | 0; + if (!$8) { + _arLog(0, 3, 45930, sp); + _exit(1); + } + $$0 = 0; + $$053 = $8; + while (1) { + if (($$0 | 0) >= ($6 | 0)) break; + $11 = $$0 * 3 | 0; + $$052 = 0; + $$054 = $0 + (Math_imul($11, $1) | 0) | 0; + $$055 = $0 + (Math_imul($11 + 2 | 0, $1) | 0) | 0; + $$056 = $0 + (Math_imul($11 + 1 | 0, $1) | 0) | 0; + $$1 = $$053; + while (1) { + if (($$052 | 0) >= ($5 | 0)) break; + HEAP8[$$1 >> 0] = ((HEAPU8[$$054 + 1 >> 0] | 0) + (HEAPU8[$$054 >> 0] | 0) + (HEAPU8[$$054 + 2 >> 0] | 0) + (HEAPU8[$$056 >> 0] | 0) + (HEAPU8[$$056 + 1 >> 0] | 0) + (HEAPU8[$$056 + 2 >> 0] | 0) + (HEAPU8[$$055 >> 0] | 0) + (HEAPU8[$$055 + 1 >> 0] | 0) + (HEAPU8[$$055 + 2 >> 0] | 0) | 0) / 9 | 0; + $$052 = $$052 + 1 | 0; + $$054 = $$054 + 3 | 0; + $$055 = $$055 + 3 | 0; + $$056 = $$056 + 3 | 0; + $$1 = $$1 + 1 | 0; + } + $$0 = $$0 + 1 | 0; + $$053 = $$1; + } + STACKTOP = sp; + return $8 | 0; +} + +function _jpeg_finish_decompress($0) { + $0 = $0 | 0; + var $$0 = 0, $1 = 0, $11 = 0, $18 = 0, $2 = 0, $23 = 0, $24 = 0, $33 = 0, label = 0; + $1 = $0 + 20 | 0; + $2 = HEAP32[$1 >> 2] | 0; + if (($2 + -205 | 0) >>> 0 < 2 ? (HEAP32[$0 + 64 >> 2] | 0) == 0 : 0) { + if ((HEAP32[$0 + 140 >> 2] | 0) >>> 0 < (HEAP32[$0 + 116 >> 2] | 0) >>> 0) { + $11 = HEAP32[$0 >> 2] | 0; + HEAP32[$11 + 20 >> 2] = 69; + FUNCTION_TABLE_vi[HEAP32[$11 >> 2] & 255]($0); + } + FUNCTION_TABLE_vi[HEAP32[(HEAP32[$0 + 444 >> 2] | 0) + 4 >> 2] & 255]($0); + HEAP32[$1 >> 2] = 210; + } else label = 6; + L7 : do if ((label | 0) == 6) switch ($2 | 0) { + case 210: + { + break L7; + break; + } + case 207: + { + HEAP32[$1 >> 2] = 210; + break L7; + break; + } + default: + { + $18 = HEAP32[$0 >> 2] | 0; + HEAP32[$18 + 20 >> 2] = 21; + HEAP32[$18 + 24 >> 2] = $2; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + break L7; + } + } while (0); + $23 = $0 + 460 | 0; + $24 = HEAP32[$23 >> 2] | 0; + L13 : do if (!(HEAP32[$24 + 20 >> 2] | 0)) { + $33 = $24; + while (1) { + if (!(FUNCTION_TABLE_ii[HEAP32[$33 >> 2] & 127]($0) | 0)) { + $$0 = 0; + break; + } + $33 = HEAP32[$23 >> 2] | 0; + if (HEAP32[$33 + 20 >> 2] | 0) break L13; + } + return $$0 | 0; + } while (0); + FUNCTION_TABLE_vi[HEAP32[(HEAP32[$0 + 24 >> 2] | 0) + 24 >> 2] & 255]($0); + _jpeg_abort($0); + $$0 = 1; + return $$0 | 0; +} + +function __ZNSt3__26vectorIN6vision7match_tENS_9allocatorIS2_EEE21__push_back_slow_pathIRKS2_EEvOT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $14 = 0, $15 = 0, $19 = 0, $2 = 0, $24 = 0, $26 = 0, $3 = 0, $31 = 0, $32 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp; + $3 = $0 + 4 | 0; + $8 = ((HEAP32[$3 >> 2] | 0) - (HEAP32[$0 >> 2] | 0) >> 3) + 1 | 0; + $9 = __ZNKSt3__26vectorIN6vision7match_tENS_9allocatorIS2_EEE8max_sizeEv($0) | 0; + if ($9 >>> 0 < $8 >>> 0) __ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv($0); else { + $14 = HEAP32[$0 >> 2] | 0; + $15 = (HEAP32[$0 + 8 >> 2] | 0) - $14 | 0; + $19 = $15 >> 2; + __ZNSt3__214__split_bufferIN6vision7match_tERNS_9allocatorIS2_EEEC2EmmS5_($2, $15 >> 3 >>> 0 < $9 >>> 1 >>> 0 ? ($19 >>> 0 < $8 >>> 0 ? $8 : $19) : $9, (HEAP32[$3 >> 2] | 0) - $14 >> 3, $0 + 8 | 0); + $24 = $2 + 8 | 0; + $26 = $1; + $31 = HEAP32[$26 + 4 >> 2] | 0; + $32 = HEAP32[$24 >> 2] | 0; + HEAP32[$32 >> 2] = HEAP32[$26 >> 2]; + HEAP32[$32 + 4 >> 2] = $31; + HEAP32[$24 >> 2] = (HEAP32[$24 >> 2] | 0) + 8; + __ZNSt3__26vectorIN6vision7match_tENS_9allocatorIS2_EEE26__swap_out_circular_bufferERNS_14__split_bufferIS2_RS4_EE($0, $2); + __ZNSt3__214__split_bufferIN6vision7match_tERNS_9allocatorIS2_EEED2Ev($2); + STACKTOP = sp; + return; + } +} + +function _strcspn($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$01823 = 0, $$019$lcssa$sink = 0, $$01920 = 0, $10 = 0, $12 = 0, $13 = 0, $17 = 0, $2 = 0, $23 = 0, $25 = 0, $26 = 0, $3 = 0, $34 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp; + $3 = HEAP8[$1 >> 0] | 0; + L1 : do if ($3 << 24 >> 24 != 0 ? (HEAP8[$1 + 1 >> 0] | 0) != 0 : 0) { + _memset($2 | 0, 0, 32) | 0; + $10 = HEAP8[$1 >> 0] | 0; + if ($10 << 24 >> 24) { + $$01823 = $1; + $13 = $10; + do { + $12 = $13 & 255; + $17 = $2 + ($12 >>> 5 << 2) | 0; + HEAP32[$17 >> 2] = HEAP32[$17 >> 2] | 1 << ($12 & 31); + $$01823 = $$01823 + 1 | 0; + $13 = HEAP8[$$01823 >> 0] | 0; + } while ($13 << 24 >> 24 != 0); + } + $23 = HEAP8[$0 >> 0] | 0; + if (!($23 << 24 >> 24)) $$019$lcssa$sink = $0; else { + $$01920 = $0; + $26 = $23; + while (1) { + $25 = $26 & 255; + if (HEAP32[$2 + ($25 >>> 5 << 2) >> 2] & 1 << ($25 & 31) | 0) { + $$019$lcssa$sink = $$01920; + break L1; + } + $34 = $$01920 + 1 | 0; + $26 = HEAP8[$34 >> 0] | 0; + if (!($26 << 24 >> 24)) { + $$019$lcssa$sink = $34; + break; + } else $$01920 = $34; + } + } + } else label = 3; while (0); + if ((label | 0) == 3) $$019$lcssa$sink = ___strchrnul($0, $3 << 24 >> 24) | 0; + STACKTOP = sp; + return $$019$lcssa$sink - $0 | 0; +} + +function __ZNSt3__227__num_get_unsigned_integralImEET_PKcS3_Rji($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$028 = 0, $$029 = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $19 = 0, $4 = 0, $7 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $4 = sp; + do if (($0 | 0) == ($1 | 0)) { + HEAP32[$2 >> 2] = 4; + $$2 = 0; + } else { + $7 = (HEAP8[$0 >> 0] | 0) == 45; + if ($7) { + $8 = $0 + 1 | 0; + if (($8 | 0) == ($1 | 0)) { + HEAP32[$2 >> 2] = 4; + $$2 = 0; + break; + } else $$029 = $8; + } else $$029 = $0; + $10 = ___errno_location() | 0; + $11 = HEAP32[$10 >> 2] | 0; + $12 = ___errno_location() | 0; + HEAP32[$12 >> 2] = 0; + $14 = _strtoull_l($$029, $4, $3, __ZNSt3__26__clocEv() | 0) | 0; + $15 = getTempRet0() | 0; + $16 = ___errno_location() | 0; + $17 = HEAP32[$16 >> 2] | 0; + if (!$17) { + $19 = ___errno_location() | 0; + HEAP32[$19 >> 2] = $11; + } + do if ((HEAP32[$4 >> 2] | 0) == ($1 | 0)) if ($15 >>> 0 > 0 | ($15 | 0) == 0 & $14 >>> 0 > 4294967295 | ($17 | 0) == 68) { + HEAP32[$2 >> 2] = 4; + $$028 = -1; + break; + } else { + $$028 = $7 ? 0 - $14 | 0 : $14; + break; + } else { + HEAP32[$2 >> 2] = 4; + $$028 = 0; + } while (0); + $$2 = $$028; + } while (0); + STACKTOP = sp; + return $$2 | 0; +} + +function __ZNSt3__227__num_get_unsigned_integralIjEET_PKcS3_Rji($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$028 = 0, $$029 = 0, $$2 = 0, $10 = 0, $11 = 0, $12 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $19 = 0, $4 = 0, $7 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $4 = sp; + do if (($0 | 0) == ($1 | 0)) { + HEAP32[$2 >> 2] = 4; + $$2 = 0; + } else { + $7 = (HEAP8[$0 >> 0] | 0) == 45; + if ($7) { + $8 = $0 + 1 | 0; + if (($8 | 0) == ($1 | 0)) { + HEAP32[$2 >> 2] = 4; + $$2 = 0; + break; + } else $$029 = $8; + } else $$029 = $0; + $10 = ___errno_location() | 0; + $11 = HEAP32[$10 >> 2] | 0; + $12 = ___errno_location() | 0; + HEAP32[$12 >> 2] = 0; + $14 = _strtoull_l($$029, $4, $3, __ZNSt3__26__clocEv() | 0) | 0; + $15 = getTempRet0() | 0; + $16 = ___errno_location() | 0; + $17 = HEAP32[$16 >> 2] | 0; + if (!$17) { + $19 = ___errno_location() | 0; + HEAP32[$19 >> 2] = $11; + } + do if ((HEAP32[$4 >> 2] | 0) == ($1 | 0)) if ($15 >>> 0 > 0 | ($15 | 0) == 0 & $14 >>> 0 > 4294967295 | ($17 | 0) == 68) { + HEAP32[$2 >> 2] = 4; + $$028 = -1; + break; + } else { + $$028 = $7 ? 0 - $14 | 0 : $14; + break; + } else { + HEAP32[$2 >> 2] = 4; + $$028 = 0; + } while (0); + $$2 = $$028; + } while (0); + STACKTOP = sp; + return $$2 | 0; +} + +function _addNFTMarker($id, $datasetPathname) { + $id = $id | 0; + $datasetPathname = $datasetPathname | 0; + var $0 = 0, $call7 = 0, $cond$i$i$i = 0, $id$addr = 0, $retval$1 = 0, $surfaceSetCount = 0, $vararg_buffer = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $vararg_buffer = sp; + $id$addr = sp + 4 | 0; + HEAP32[$id$addr >> 2] = $id; + do if (__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0) { + $call7 = __ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0; + $surfaceSetCount = $call7 + 244 | 0; + $0 = HEAP32[$surfaceSetCount >> 2] | 0; + if ((HEAP8[$datasetPathname + 11 >> 0] | 0) < 0) $cond$i$i$i = HEAP32[$datasetPathname >> 2] | 0; else $cond$i$i$i = $datasetPathname; + if (!(_loadNFTMarker($call7, $0, $cond$i$i$i) | 0)) { + _arLog(0, 3, 44914, $vararg_buffer); + $retval$1 = -1; + break; + } else { + HEAP32[$surfaceSetCount >> 2] = (HEAP32[$surfaceSetCount >> 2] | 0) + 1; + $retval$1 = $0; + break; + } + } else $retval$1 = -1; while (0); + STACKTOP = sp; + return $retval$1 | 0; +} + +function __ZNSt3__26vectorIN6vision7match_tENS_9allocatorIS2_EEE21__push_back_slow_pathIS2_EEvOT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $14 = 0, $15 = 0, $19 = 0, $2 = 0, $24 = 0, $26 = 0, $3 = 0, $31 = 0, $32 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp; + $3 = $0 + 4 | 0; + $8 = ((HEAP32[$3 >> 2] | 0) - (HEAP32[$0 >> 2] | 0) >> 3) + 1 | 0; + $9 = __ZNKSt3__26vectorIN6vision7match_tENS_9allocatorIS2_EEE8max_sizeEv($0) | 0; + if ($9 >>> 0 < $8 >>> 0) __ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv($0); else { + $14 = HEAP32[$0 >> 2] | 0; + $15 = (HEAP32[$0 + 8 >> 2] | 0) - $14 | 0; + $19 = $15 >> 2; + __ZNSt3__214__split_bufferIN6vision7match_tERNS_9allocatorIS2_EEEC2EmmS5_($2, $15 >> 3 >>> 0 < $9 >>> 1 >>> 0 ? ($19 >>> 0 < $8 >>> 0 ? $8 : $19) : $9, (HEAP32[$3 >> 2] | 0) - $14 >> 3, $0 + 8 | 0); + $24 = $2 + 8 | 0; + $26 = $1; + $31 = HEAP32[$26 + 4 >> 2] | 0; + $32 = HEAP32[$24 >> 2] | 0; + HEAP32[$32 >> 2] = HEAP32[$26 >> 2]; + HEAP32[$32 + 4 >> 2] = $31; + HEAP32[$24 >> 2] = (HEAP32[$24 >> 2] | 0) + 8; + __ZNSt3__26vectorIN6vision7match_tENS_9allocatorIS2_EEE26__swap_out_circular_bufferERNS_14__split_bufferIS2_RS4_EE($0, $2); + __ZNSt3__214__split_bufferIN6vision7match_tERNS_9allocatorIS2_EEED2Ev($2); + STACKTOP = sp; + return; + } +} + +function ___stdio_read($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$cast = 0, $$pr = 0, $12 = 0, $22 = 0, $26 = 0, $29 = 0, $3 = 0, $30 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $3 = sp; + $4 = sp + 16 | 0; + HEAP32[$3 >> 2] = $1; + $5 = $3 + 4 | 0; + $6 = $0 + 48 | 0; + $7 = HEAP32[$6 >> 2] | 0; + HEAP32[$5 >> 2] = $2 - (($7 | 0) != 0 & 1); + $12 = $0 + 44 | 0; + HEAP32[$3 + 8 >> 2] = HEAP32[$12 >> 2]; + HEAP32[$3 + 12 >> 2] = $7; + if (!(___wasi_syscall_ret(___wasi_fd_read(HEAP32[$0 + 60 >> 2] | 0, $3 | 0, 2, $4 | 0) | 0) | 0)) { + $$pr = HEAP32[$4 >> 2] | 0; + if (($$pr | 0) >= 1) { + $26 = HEAP32[$5 >> 2] | 0; + if ($$pr >>> 0 > $26 >>> 0) { + $29 = HEAP32[$12 >> 2] | 0; + $30 = $0 + 4 | 0; + HEAP32[$30 >> 2] = $29; + $$cast = $29; + HEAP32[$0 + 8 >> 2] = $$cast + ($$pr - $26); + if (!(HEAP32[$6 >> 2] | 0)) $$0 = $2; else { + HEAP32[$30 >> 2] = $$cast + 1; + HEAP8[$1 + ($2 + -1) >> 0] = HEAP8[$$cast >> 0] | 0; + $$0 = $2; + } + } else $$0 = $$pr; + } else { + $22 = $$pr; + label = 4; + } + } else { + HEAP32[$4 >> 2] = -1; + $22 = -1; + label = 4; + } + if ((label | 0) == 4) { + HEAP32[$0 >> 2] = $22 & 48 ^ 16 | HEAP32[$0 >> 2]; + $$0 = $22; + } + STACKTOP = sp; + return $$0 | 0; +} + +function _rgb1_gray_convert($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$05356$us = 0, $$05457$us = 0, $$058$us = 0, $$in = 0, $10 = 0, $12 = 0, $13 = 0, $18 = 0, $21 = 0, $24 = 0, $26 = 0, $32 = 0, $36 = 0, $8 = 0, $$in$looptemp = 0; + $8 = HEAP32[(HEAP32[$0 + 480 >> 2] | 0) + 24 >> 2] | 0; + $10 = HEAP32[$0 + 112 >> 2] | 0; + if (($4 | 0) <= 0) return; + $12 = $1 + 4 | 0; + $13 = $1 + 8 | 0; + if (!$10) return; + $$05457$us = $3; + $$058$us = $2; + $$in = $4; + while (1) { + $$in$looptemp = $$in; + $$in = $$in + -1 | 0; + $18 = HEAP32[(HEAP32[$1 >> 2] | 0) + ($$058$us << 2) >> 2] | 0; + $21 = HEAP32[(HEAP32[$12 >> 2] | 0) + ($$058$us << 2) >> 2] | 0; + $24 = HEAP32[(HEAP32[$13 >> 2] | 0) + ($$058$us << 2) >> 2] | 0; + $$058$us = $$058$us + 1 | 0; + $26 = HEAP32[$$05457$us >> 2] | 0; + $$05356$us = 0; + do { + $32 = HEAPU8[$21 + $$05356$us >> 0] | 0; + $36 = $32 + 128 | 0; + HEAP8[$26 + $$05356$us >> 0] = ((HEAP32[$8 + (($32 | 256) << 2) >> 2] | 0) + (HEAP32[$8 + (($36 + (HEAPU8[$18 + $$05356$us >> 0] | 0) & 255) << 2) >> 2] | 0) + (HEAP32[$8 + (($36 + (HEAPU8[$24 + $$05356$us >> 0] | 0) & 255 | 512) << 2) >> 2] | 0) | 0) >>> 16; + $$05356$us = $$05356$us + 1 | 0; + } while (($$05356$us | 0) != ($10 | 0)); + if (($$in$looptemp | 0) <= 1) break; else $$05457$us = $$05457$us + 4 | 0; + } + return; +} + +function __ZNK6vision5Image3getIfEEPKT_m($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $11 = 0, $16 = 0, $2 = 0, $20 = 0, $26 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $2 = sp; + if ((HEAP32[$0 + 8 >> 2] | 0) >>> 0 > $1 >>> 0) { + $26 = (HEAP32[$0 + 24 >> 2] | 0) + (Math_imul(HEAP32[$0 + 12 >> 2] | 0, $1) | 0) | 0; + STACKTOP = sp; + return $26 | 0; + } else { + $11 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 27776) | 0, 27813) | 0, 39072) | 0, 124) | 0, 39079) | 0, 27883) | 0; + __ZNKSt3__28ios_base6getlocEv($2, $11 + (HEAP32[(HEAP32[$11 >> 2] | 0) + -12 >> 2] | 0) | 0); + $16 = __ZNKSt3__26locale9use_facetERNS0_2idE($2, 66512) | 0; + $20 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$16 >> 2] | 0) + 28 >> 2] & 127]($16, 10) | 0; + __ZNSt3__26localeD2Ev($2); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($11, $20) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($11) | 0; + _abort(); + } + return 0; +} + +function __ZNSt3__212__hash_tableINS_17__hash_value_typeIiNS_10shared_ptrIN6vision8KeyframeILi96EEEEEEENS_22__unordered_map_hasherIiS7_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS7_NS_8equal_toIiEELb1EEENS_9allocatorIS7_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS7_PvEEEERKT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$028 = 0, $$pn = 0, $$sroa$0$0 = 0, $14 = 0, $15 = 0, $19 = 0, $2 = 0, $25 = 0, $4 = 0, $6 = 0, $8 = 0; + $2 = HEAP32[$1 >> 2] | 0; + $4 = HEAP32[$0 + 4 >> 2] | 0; + L1 : do if ($4) { + $6 = $4 + -1 | 0; + $8 = ($6 & $4 | 0) == 0; + if (!$8) if ($2 >>> 0 < $4 >>> 0) $14 = $2; else $14 = ($2 >>> 0) % ($4 >>> 0) | 0; else $14 = $6 & $2; + $15 = HEAP32[(HEAP32[$0 >> 2] | 0) + ($14 << 2) >> 2] | 0; + if ($15) { + $$pn = $15; + while (1) { + $$028 = HEAP32[$$pn >> 2] | 0; + if (!$$028) { + $$sroa$0$0 = 0; + break L1; + } + $19 = HEAP32[$$028 + 4 >> 2] | 0; + if (($19 | 0) == ($2 | 0)) { + if ((HEAP32[$$028 + 8 >> 2] | 0) == ($2 | 0)) { + $$sroa$0$0 = $$028; + break L1; + } + } else { + if (!$8) if ($19 >>> 0 < $4 >>> 0) $25 = $19; else $25 = ($19 >>> 0) % ($4 >>> 0) | 0; else $25 = $19 & $6; + if (($25 | 0) != ($14 | 0)) { + $$sroa$0$0 = 0; + break L1; + } + } + $$pn = $$028; + } + } else $$sroa$0$0 = 0; + } else $$sroa$0$0 = 0; while (0); + return $$sroa$0$0 | 0; +} + +function __ZNSt3__26vectorINS_4pairIfmEENS_9allocatorIS2_EEE21__push_back_slow_pathIS2_EEvOT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $14 = 0, $15 = 0, $19 = 0, $2 = 0, $24 = 0, $26 = 0, $3 = 0, $31 = 0, $32 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp; + $3 = $0 + 4 | 0; + $8 = ((HEAP32[$3 >> 2] | 0) - (HEAP32[$0 >> 2] | 0) >> 3) + 1 | 0; + $9 = __ZNKSt3__26vectorINS_4pairIfmEENS_9allocatorIS2_EEE8max_sizeEv($0) | 0; + if ($9 >>> 0 < $8 >>> 0) __ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv($0); else { + $14 = HEAP32[$0 >> 2] | 0; + $15 = (HEAP32[$0 + 8 >> 2] | 0) - $14 | 0; + $19 = $15 >> 2; + __ZNSt3__214__split_bufferINS_4pairIfmEERNS_9allocatorIS2_EEEC2EmmS5_($2, $15 >> 3 >>> 0 < $9 >>> 1 >>> 0 ? ($19 >>> 0 < $8 >>> 0 ? $8 : $19) : $9, (HEAP32[$3 >> 2] | 0) - $14 >> 3, $0 + 8 | 0); + $24 = $2 + 8 | 0; + $26 = $1; + $31 = HEAP32[$26 + 4 >> 2] | 0; + $32 = HEAP32[$24 >> 2] | 0; + HEAP32[$32 >> 2] = HEAP32[$26 >> 2]; + HEAP32[$32 + 4 >> 2] = $31; + HEAP32[$24 >> 2] = (HEAP32[$24 >> 2] | 0) + 8; + __ZNSt3__26vectorINS_4pairIfmEENS_9allocatorIS2_EEE26__swap_out_circular_bufferERNS_14__split_bufferIS2_RS4_EE($0, $2); + __ZNSt3__214__split_bufferINS_4pairIfmEERNS_9allocatorIS2_EEED2Ev($2); + STACKTOP = sp; + return; + } +} + +function __ZN6vision5Image3getIfEEPT_m($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $11 = 0, $16 = 0, $2 = 0, $20 = 0, $26 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $2 = sp; + if ((HEAP32[$0 + 8 >> 2] | 0) >>> 0 > $1 >>> 0) { + $26 = (HEAP32[$0 + 24 >> 2] | 0) + (Math_imul(HEAP32[$0 + 12 >> 2] | 0, $1) | 0) | 0; + STACKTOP = sp; + return $26 | 0; + } else { + $11 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 27776) | 0, 27813) | 0, 39072) | 0, 119) | 0, 39079) | 0, 27883) | 0; + __ZNKSt3__28ios_base6getlocEv($2, $11 + (HEAP32[(HEAP32[$11 >> 2] | 0) + -12 >> 2] | 0) | 0); + $16 = __ZNKSt3__26locale9use_facetERNS0_2idE($2, 66512) | 0; + $20 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$16 >> 2] | 0) + 28 >> 2] & 127]($16, 10) | 0; + __ZNSt3__26localeD2Ev($2); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($11, $20) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($11) | 0; + _abort(); + } + return 0; +} + +function __ZNSt3__26vectorINS0_INS0_INS_4pairIfmEENS_9allocatorIS2_EEEENS3_IS5_EEEENS3_IS7_EEE26__swap_out_circular_bufferERNS_14__split_bufferIS7_RS8_EE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0$i = 0, $10 = 0, $11 = 0, $13 = 0, $15 = 0, $19 = 0, $2 = 0, $21 = 0, $22 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $5 = 0, $7 = 0, $8 = 0, $9 = 0; + $2 = HEAP32[$0 >> 2] | 0; + $3 = $0 + 4 | 0; + $5 = $1 + 4 | 0; + $$0$i = HEAP32[$3 >> 2] | 0; + while (1) { + if (($$0$i | 0) == ($2 | 0)) break; + $7 = HEAP32[$5 >> 2] | 0; + $8 = $7 + -12 | 0; + $9 = $$0$i + -12 | 0; + HEAP32[$8 >> 2] = 0; + $10 = $7 + -8 | 0; + HEAP32[$10 >> 2] = 0; + $11 = $7 + -4 | 0; + HEAP32[$11 >> 2] = 0; + HEAP32[$8 >> 2] = HEAP32[$9 >> 2]; + $13 = $$0$i + -8 | 0; + HEAP32[$10 >> 2] = HEAP32[$13 >> 2]; + $15 = $$0$i + -4 | 0; + HEAP32[$11 >> 2] = HEAP32[$15 >> 2]; + HEAP32[$15 >> 2] = 0; + HEAP32[$13 >> 2] = 0; + HEAP32[$9 >> 2] = 0; + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + -12; + $$0$i = $9; + } + $19 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$5 >> 2] = $19; + $21 = $1 + 8 | 0; + $22 = HEAP32[$3 >> 2] | 0; + HEAP32[$3 >> 2] = HEAP32[$21 >> 2]; + HEAP32[$21 >> 2] = $22; + $24 = $0 + 8 | 0; + $25 = $1 + 12 | 0; + $26 = HEAP32[$24 >> 2] | 0; + HEAP32[$24 >> 2] = HEAP32[$25 >> 2]; + HEAP32[$25 >> 2] = $26; + HEAP32[$1 >> 2] = HEAP32[$5 >> 2]; + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle15IntegerCastExpr9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $8 = 0, $tmpcast$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $tmpcast$byval_copy = sp + 24 | 0; + $2 = sp + 16 | 0; + $3 = sp + 8 | 0; + $4 = sp; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 51968); + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $tmpcast$byval_copy); + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 8 >> 2] | 0, $1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, 51964); + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $tmpcast$byval_copy); + $8 = $0 + 12 | 0; + $13 = HEAP32[$8 + 4 >> 2] | 0; + $14 = $4; + HEAP32[$14 >> 2] = HEAP32[$8 >> 2]; + HEAP32[$14 + 4 >> 2] = $13; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$4 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $tmpcast$byval_copy); + STACKTOP = sp; + return; +} + +function __ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE5eraseENS_21__hash_const_iteratorIPNS_11__hash_nodeIS3_PvEEEE($this, $__p) { + $this = $this | 0; + $__p = $__p | 0; + var $0 = 0, $2 = 0, $3 = 0, $agg$tmp = 0, $agg$tmp$byval_copy = 0, $agg$tmp$ensured = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $agg$tmp$byval_copy = sp + 16 | 0; + $agg$tmp$ensured = sp + 4 | 0; + $agg$tmp = sp; + $0 = HEAP32[$__p >> 2] | 0; + $2 = HEAP32[$0 >> 2] | 0; + HEAP32[$agg$tmp >> 2] = $0; + HEAP32[$agg$tmp$byval_copy >> 2] = HEAP32[$agg$tmp >> 2]; + __ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE6removeENS_21__hash_const_iteratorIPNS_11__hash_nodeIS3_PvEEEE($agg$tmp$ensured, $this, $agg$tmp$byval_copy); + $3 = HEAP32[$agg$tmp$ensured >> 2] | 0; + HEAP32[$agg$tmp$ensured >> 2] = 0; + if ($3 | 0) { + if (HEAP8[$agg$tmp$ensured + 8 >> 0] | 0) __ZNSt3__24pairIKi12arControllerED2Ev($3 + 8 | 0); + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($3, 496); + } + STACKTOP = sp; + return $2 | 0; +} + +function _getTransMatMultiSquareRobust($id, $multiMarkerId) { + $id = $id | 0; + $multiMarkerId = $multiMarkerId | 0; + var $2 = 0, $5 = 0, $7 = 0, $call7 = 0, $id$addr = 0, $retval$1 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $id$addr = sp; + HEAP32[$id$addr >> 2] = $id; + do if (__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0) { + $call7 = __ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0; + $2 = HEAP32[$call7 + 328 >> 2] | 0; + if (($multiMarkerId | 0) < 0 ? 1 : (HEAP32[$call7 + 332 >> 2] | 0) - $2 >> 3 >>> 0 <= $multiMarkerId >>> 0) { + $retval$1 = HEAP32[4225] | 0; + break; + } else { + $5 = HEAP32[$2 + ($multiMarkerId << 3) + 4 >> 2] | 0; + $7 = HEAP32[$call7 + 216 >> 2] | 0; + +_arGetTransMatMultiSquareRobust(HEAP32[$call7 + 228 >> 2] | 0, $7 + 48 | 0, HEAP32[$7 + 44 >> 2] | 0, $5); + _matrixCopy($5 + 8 | 0, 61136); + $retval$1 = 0; + break; + } + } else $retval$1 = HEAP32[4224] | 0; while (0); + STACKTOP = sp; + return $retval$1 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle11PostfixExpr9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $8 = 0, $tmpcast$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $tmpcast$byval_copy = sp + 24 | 0; + $2 = sp + 16 | 0; + $3 = sp + 8 | 0; + $4 = sp; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 51968); + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $tmpcast$byval_copy); + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 8 >> 2] | 0, $1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, 51964); + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $tmpcast$byval_copy); + $8 = $0 + 12 | 0; + $13 = HEAP32[$8 + 4 >> 2] | 0; + $14 = $4; + HEAP32[$14 >> 2] = HEAP32[$8 >> 2]; + HEAP32[$14 + 4 >> 2] = $13; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$4 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $tmpcast$byval_copy); + STACKTOP = sp; + return; +} + +function __ZNSt3__26vectorI12multi_markerNS_9allocatorIS1_EEE26__swap_out_circular_bufferERNS_14__split_bufferIS1_RS3_EE($this, $__v) { + $this = $this | 0; + $__v = $__v | 0; + var $$pre$phiZ2D = 0, $0 = 0, $4 = 0, $5 = 0, $6 = 0, $8 = 0, $__begin_2 = 0, $__end_ = 0, $__end_6 = 0, $__value_$i$i$i = 0, $__value_$i$i$i6 = 0, $add$ptr$i = 0, $sub$ptr$sub$i7 = 0; + $0 = HEAP32[$this >> 2] | 0; + $__end_ = $this + 4 | 0; + $__begin_2 = $__v + 4 | 0; + $sub$ptr$sub$i7 = (HEAP32[$__end_ >> 2] | 0) - $0 | 0; + $add$ptr$i = (HEAP32[$__begin_2 >> 2] | 0) + (0 - ($sub$ptr$sub$i7 >> 3) << 3) | 0; + HEAP32[$__begin_2 >> 2] = $add$ptr$i; + if (($sub$ptr$sub$i7 | 0) > 0) { + _memcpy($add$ptr$i | 0, $0 | 0, $sub$ptr$sub$i7 | 0) | 0; + $$pre$phiZ2D = $__begin_2; + $5 = HEAP32[$__begin_2 >> 2] | 0; + } else { + $$pre$phiZ2D = $__begin_2; + $5 = $add$ptr$i; + } + $4 = HEAP32[$this >> 2] | 0; + HEAP32[$this >> 2] = $5; + HEAP32[$$pre$phiZ2D >> 2] = $4; + $__end_6 = $__v + 8 | 0; + $6 = HEAP32[$__end_ >> 2] | 0; + HEAP32[$__end_ >> 2] = HEAP32[$__end_6 >> 2]; + HEAP32[$__end_6 >> 2] = $6; + $__value_$i$i$i6 = $this + 8 | 0; + $__value_$i$i$i = $__v + 12 | 0; + $8 = HEAP32[$__value_$i$i$i6 >> 2] | 0; + HEAP32[$__value_$i$i$i6 >> 2] = HEAP32[$__value_$i$i$i >> 2]; + HEAP32[$__value_$i$i$i >> 2] = $8; + HEAP32[$__v >> 2] = HEAP32[$$pre$phiZ2D >> 2]; + return; +} + +function __ZNSt3__26vectorINS0_INS_4pairIfmEENS_9allocatorIS2_EEEENS3_IS5_EEE26__swap_out_circular_bufferERNS_14__split_bufferIS5_RS6_EE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0$i = 0, $10 = 0, $11 = 0, $13 = 0, $15 = 0, $19 = 0, $2 = 0, $21 = 0, $22 = 0, $24 = 0, $25 = 0, $26 = 0, $3 = 0, $5 = 0, $7 = 0, $8 = 0, $9 = 0; + $2 = HEAP32[$0 >> 2] | 0; + $3 = $0 + 4 | 0; + $5 = $1 + 4 | 0; + $$0$i = HEAP32[$3 >> 2] | 0; + while (1) { + if (($$0$i | 0) == ($2 | 0)) break; + $7 = HEAP32[$5 >> 2] | 0; + $8 = $7 + -12 | 0; + $9 = $$0$i + -12 | 0; + HEAP32[$8 >> 2] = 0; + $10 = $7 + -8 | 0; + HEAP32[$10 >> 2] = 0; + $11 = $7 + -4 | 0; + HEAP32[$11 >> 2] = 0; + HEAP32[$8 >> 2] = HEAP32[$9 >> 2]; + $13 = $$0$i + -8 | 0; + HEAP32[$10 >> 2] = HEAP32[$13 >> 2]; + $15 = $$0$i + -4 | 0; + HEAP32[$11 >> 2] = HEAP32[$15 >> 2]; + HEAP32[$15 >> 2] = 0; + HEAP32[$13 >> 2] = 0; + HEAP32[$9 >> 2] = 0; + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + -12; + $$0$i = $9; + } + $19 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$5 >> 2] = $19; + $21 = $1 + 8 | 0; + $22 = HEAP32[$3 >> 2] | 0; + HEAP32[$3 >> 2] = HEAP32[$21 >> 2]; + HEAP32[$21 >> 2] = $22; + $24 = $0 + 8 | 0; + $25 = $1 + 12 | 0; + $26 = HEAP32[$24 >> 2] | 0; + HEAP32[$24 >> 2] = HEAP32[$25 >> 2]; + HEAP32[$25 >> 2] = $26; + HEAP32[$1 >> 2] = HEAP32[$5 >> 2]; + return; +} + +function _skip_variable($0) { + $0 = $0 | 0; + var $$0 = 0, $$041 = 0, $$043 = 0, $$1 = 0, $$142 = 0, $1 = 0, $11 = 0, $12 = 0, $15 = 0, $2 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $4 = 0; + $1 = $0 + 24 | 0; + $2 = HEAP32[$1 >> 2] | 0; + $3 = $2 + 4 | 0; + $4 = HEAP32[$3 >> 2] | 0; + do if (!$4) if (!(FUNCTION_TABLE_ii[HEAP32[$2 + 12 >> 2] & 127]($0) | 0)) { + $$043 = 0; + return $$043 | 0; + } else { + $$0 = HEAP32[$3 >> 2] | 0; + break; + } else $$0 = $4; while (0); + $$041 = HEAP32[$2 >> 2] | 0; + $11 = $$0 + -1 | 0; + $12 = $$041 + 1 | 0; + $15 = (HEAPU8[$$041 >> 0] | 0) << 8; + do if (!$11) if (!(FUNCTION_TABLE_ii[HEAP32[$2 + 12 >> 2] & 127]($0) | 0)) { + $$043 = 0; + return $$043 | 0; + } else { + $$1 = HEAP32[$3 >> 2] | 0; + $$142 = HEAP32[$2 >> 2] | 0; + break; + } else { + $$1 = $11; + $$142 = $12; + } while (0); + $27 = $15 | (HEAPU8[$$142 >> 0] | 0); + $28 = $27 + -2 | 0; + $29 = HEAP32[$0 >> 2] | 0; + HEAP32[$29 + 20 >> 2] = 93; + HEAP32[$29 + 24 >> 2] = HEAP32[$0 + 440 >> 2]; + HEAP32[(HEAP32[$0 >> 2] | 0) + 28 >> 2] = $28; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$0 >> 2] | 0) + 4 >> 2] & 255]($0, 1); + HEAP32[$2 >> 2] = $$142 + 1; + HEAP32[$3 >> 2] = $$1 + -1; + if ($27 >>> 0 <= 2) { + $$043 = 1; + return $$043 | 0; + } + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$1 >> 2] | 0) + 16 >> 2] & 255]($0, $28); + $$043 = 1; + return $$043 | 0; +} + +function _getTransMatMultiSquare($id, $multiMarkerId) { + $id = $id | 0; + $multiMarkerId = $multiMarkerId | 0; + var $2 = 0, $5 = 0, $7 = 0, $call7 = 0, $id$addr = 0, $retval$1 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $id$addr = sp; + HEAP32[$id$addr >> 2] = $id; + do if (__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0) { + $call7 = __ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0; + $2 = HEAP32[$call7 + 328 >> 2] | 0; + if (($multiMarkerId | 0) < 0 ? 1 : (HEAP32[$call7 + 332 >> 2] | 0) - $2 >> 3 >>> 0 <= $multiMarkerId >>> 0) { + $retval$1 = HEAP32[4225] | 0; + break; + } else { + $5 = HEAP32[$2 + ($multiMarkerId << 3) + 4 >> 2] | 0; + $7 = HEAP32[$call7 + 216 >> 2] | 0; + +_arGetTransMatMultiSquare(HEAP32[$call7 + 228 >> 2] | 0, $7 + 48 | 0, HEAP32[$7 + 44 >> 2] | 0, $5); + _matrixCopy($5 + 8 | 0, 61136); + $retval$1 = 0; + break; + } + } else $retval$1 = HEAP32[4224] | 0; while (0); + STACKTOP = sp; + return $retval$1 | 0; +} + +function _get_vertex($0, $1, $2, $3, $4, $5, $6) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = +$4; + $5 = $5 | 0; + $6 = $6 | 0; + var $$0 = 0, $$071 = 0, $$072 = 0, $$073 = 0.0, $10 = 0, $12 = 0.0, $14 = 0, $16 = 0, $18 = 0.0, $22 = 0.0, $23 = 0, $34 = 0.0, $35 = 0.0, $36 = 0, $45 = 0, $8 = 0, label = 0; + $8 = HEAP32[$1 + ($3 << 2) >> 2] | 0; + $10 = HEAP32[$1 + ($2 << 2) >> 2] | 0; + $12 = +($8 - $10 | 0); + $14 = HEAP32[$0 + ($2 << 2) >> 2] | 0; + $16 = HEAP32[$0 + ($3 << 2) >> 2] | 0; + $18 = +($14 - $16 | 0); + $22 = +((Math_imul($16, $10) | 0) - (Math_imul($14, $8) | 0) | 0); + $23 = $2 + 1 | 0; + $$0 = $23; + $$071 = $23; + $$073 = 0.0; + while (1) { + if (($$071 | 0) >= ($3 | 0)) break; + $34 = $12 * +(HEAP32[$0 + ($$071 << 2) >> 2] | 0) + $18 * +(HEAP32[$1 + ($$071 << 2) >> 2] | 0) + $22; + $35 = $34 * $34; + $36 = $35 > $$073; + $$0 = $36 ? $$071 : $$0; + $$071 = $$071 + 1 | 0; + $$073 = $36 ? $35 : $$073; + } + if ($$073 / ($12 * $12 + $18 * $18) > $4) if (((_get_vertex($0, $1, $2, $$0, $4, $5, $6) | 0) >= 0 ? ($45 = HEAP32[$6 >> 2] | 0, ($45 | 0) <= 5) : 0) ? (HEAP32[$5 + ($45 << 2) >> 2] = $$0, HEAP32[$6 >> 2] = (HEAP32[$6 >> 2] | 0) + 1, (_get_vertex($0, $1, $$0, $3, $4, $5, $6) | 0) >= 0) : 0) label = 8; else $$072 = -1; else label = 8; + if ((label | 0) == 8) $$072 = 0; + return $$072 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E13parseSimpleIdEv($0) { + $0 = $0 | 0; + var $$0 = 0, $$1 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp + 4 | 0; + $2 = sp; + $3 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + $4 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseSourceNameEPNS5_9NameStateE($3) | 0; + HEAP32[$1 >> 2] = $4; + if ($4) if ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 0) | 0) << 24 >> 24 == 73) { + $8 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E17parseTemplateArgsEb($3, 0) | 0; + HEAP32[$2 >> 2] = $8; + if (!$8) $$0 = 0; else $$0 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_20NameWithTemplateArgsEJRPNS0_4NodeESA_EEES9_DpOT0_($0, $1, $2) | 0; + $$1 = $$0; + } else $$1 = $4; else $$1 = 0; + STACKTOP = sp; + return $$1 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E24parsePointerToMemberTypeEv($0) { + $0 = $0 | 0; + var $$0 = 0, $$1 = 0, $$2 = 0, $1 = 0, $2 = 0, $4 = 0, $5 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp + 4 | 0; + $2 = sp; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 77) | 0) { + $4 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + $5 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseTypeEv($4) | 0; + HEAP32[$1 >> 2] = $5; + if (!$5) $$1 = 0; else { + $7 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseTypeEv($4) | 0; + HEAP32[$2 >> 2] = $7; + if (!$7) $$0 = 0; else $$0 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_19PointerToMemberTypeEJRPNS0_4NodeESA_EEES9_DpOT0_($0, $1, $2) | 0; + $$1 = $$0; + } + $$2 = $$1; + } else $$2 = 0; + STACKTOP = sp; + return $$2 | 0; +} + +function __ZNSt3__212__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEELb1EEENS_21__unordered_map_equalIjS2_NS_8equal_toIjEELb1EEENS_9allocatorIS2_EEE6rehashEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$sroa$speculated = 0, $22 = 0, $27 = 0, $30 = 0, $8 = 0; + if (($1 | 0) != 1) if (!($1 + -1 & $1)) $$0 = $1; else $$0 = __ZNSt3__212__next_primeEm($1) | 0; else $$0 = 2; + $8 = HEAP32[$0 + 4 >> 2] | 0; + if ($$0 >>> 0 <= $8 >>> 0) { + if ($$0 >>> 0 < $8 >>> 0) { + $22 = ~~+Math_ceil(+(+((HEAP32[$0 + 12 >> 2] | 0) >>> 0) / +HEAPF32[$0 + 16 >> 2])) >>> 0; + if ($8 >>> 0 > 2 & ($8 + -1 & $8 | 0) == 0) { + $27 = 1 << 32 - (Math_clz32($22 + -1 | 0) | 0); + $30 = $22 >>> 0 < 2 ? $22 : $27; + } else $30 = __ZNSt3__212__next_primeEm($22) | 0; + $$sroa$speculated = $$0 >>> 0 < $30 >>> 0 ? $30 : $$0; + if ($$sroa$speculated >>> 0 < $8 >>> 0) __ZNSt3__212__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEELb1EEENS_21__unordered_map_equalIjS2_NS_8equal_toIjEELb1EEENS_9allocatorIS2_EEE8__rehashEm($0, $$sroa$speculated); + } + } else __ZNSt3__212__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEELb1EEENS_21__unordered_map_equalIjS2_NS_8equal_toIjEELb1EEENS_9allocatorIS2_EEE8__rehashEm($0, $$0); + return; +} + +function __ZN6vision22SolveHomography4PointsIfEEbPT_PKS1_S4_S4_S4_S4_S4_S4_S4_($0, $1, $2, $3, $4, $5, $6, $7, $8) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 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, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(128); + $9 = sp; + $10 = sp + 124 | 0; + $11 = sp + 120 | 0; + $12 = sp + 112 | 0; + $13 = sp + 104 | 0; + $14 = sp + 96 | 0; + $15 = sp + 88 | 0; + $16 = sp + 80 | 0; + $17 = sp + 72 | 0; + $18 = sp + 64 | 0; + $19 = sp + 56 | 0; + $20 = sp + 48 | 0; + $21 = sp + 40 | 0; + if ((__ZN6vision18Condition4Points2dIfEEbPT_S2_S2_S2_RS1_S2_PKS1_S5_S5_S5_($14, $15, $16, $17, $10, $12, $1, $2, $3, $4) | 0 ? __ZN6vision18Condition4Points2dIfEEbPT_S2_S2_S2_RS1_S2_PKS1_S5_S5_S5_($18, $19, $20, $21, $11, $13, $5, $6, $7, $8) | 0 : 0) ? __ZN6vision34SolveHomography4PointsInhomogenousIfEEbPT_PKS1_S4_S4_S4_S4_S4_S4_S4_($9, $14, $15, $16, $17, $18, $19, $20, $21) | 0 : 0) { + __ZN6vision21DenormalizeHomographyIfEEvPT_PKS1_S1_S4_S1_S4_($0, $9, +HEAPF32[$10 >> 2], $12, +HEAPF32[$11 >> 2], $13); + $$0 = 1; + } else $$0 = 0; + STACKTOP = sp; + return $$0 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle8QualType10printQualsERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy2 = 0, $10 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy2 = sp + 24 | 0; + $2 = sp + 16 | 0; + $3 = sp + 8 | 0; + $4 = sp; + $5 = $0 + 8 | 0; + $6 = HEAP32[$5 >> 2] | 0; + if (!($6 & 1)) $10 = $6; else { + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 56136); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy2); + $10 = HEAP32[$5 >> 2] | 0; + } + if (!($10 & 2)) $13 = $10; else { + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, 56143); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy2); + $13 = HEAP32[$5 >> 2] | 0; + } + if ($13 & 4 | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, 56153); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy2); + } + STACKTOP = sp; + return; +} + +function __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0$i$i = 0, $10 = 0, $11 = 0, $13 = 0, $14 = 0, $2 = 0, $21 = 0, $22 = 0, $31 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $2 = sp; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE6sentryC2ERS3_($2, $0); + do if (HEAP8[$2 >> 0] | 0) { + $10 = HEAP32[$0 + (HEAP32[(HEAP32[$0 >> 2] | 0) + -12 >> 2] | 0) + 24 >> 2] | 0; + $11 = $10; + if ($10 | 0) { + $13 = $11 + 24 | 0; + $14 = HEAP32[$13 >> 2] | 0; + if (($14 | 0) == (HEAP32[$11 + 28 >> 2] | 0)) { + $21 = HEAP32[(HEAP32[$10 >> 2] | 0) + 52 >> 2] | 0; + $22 = __ZNSt3__211char_traitsIcE11to_int_typeEc($1) | 0; + $$0$i$i = FUNCTION_TABLE_iii[$21 & 127]($11, $22) | 0; + } else { + HEAP32[$13 >> 2] = $14 + 1; + HEAP8[$14 >> 0] = $1; + $$0$i$i = __ZNSt3__211char_traitsIcE11to_int_typeEc($1) | 0; + } + if (!(__ZNSt3__211char_traitsIcE11eq_int_typeEii($$0$i$i, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0)) break; + } + $31 = $0 + (HEAP32[(HEAP32[$0 >> 2] | 0) + -12 >> 2] | 0) | 0; + __ZNSt3__28ios_base5clearEj($31, HEAP32[$31 + 16 >> 2] | 1); + } while (0); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE6sentryD2Ev($2); + STACKTOP = sp; + return $0 | 0; +} + +function __ZNSt3__212__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEELb1EEENS_21__unordered_map_equalIjS2_NS_8equal_toIjEELb1EEENS_9allocatorIS2_EEE4findIjEENS_15__hash_iteratorIPNS_11__hash_nodeIS2_PvEEEERKT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$028 = 0, $$pn = 0, $$sroa$0$0 = 0, $14 = 0, $15 = 0, $19 = 0, $2 = 0, $25 = 0, $4 = 0, $6 = 0, $8 = 0; + $2 = HEAP32[$1 >> 2] | 0; + $4 = HEAP32[$0 + 4 >> 2] | 0; + L1 : do if ($4) { + $6 = $4 + -1 | 0; + $8 = ($6 & $4 | 0) == 0; + if (!$8) if ($2 >>> 0 < $4 >>> 0) $14 = $2; else $14 = ($2 >>> 0) % ($4 >>> 0) | 0; else $14 = $6 & $2; + $15 = HEAP32[(HEAP32[$0 >> 2] | 0) + ($14 << 2) >> 2] | 0; + if ($15) { + $$pn = $15; + while (1) { + $$028 = HEAP32[$$pn >> 2] | 0; + if (!$$028) { + $$sroa$0$0 = 0; + break L1; + } + $19 = HEAP32[$$028 + 4 >> 2] | 0; + if (($19 | 0) == ($2 | 0)) { + if ((HEAP32[$$028 + 8 >> 2] | 0) == ($2 | 0)) { + $$sroa$0$0 = $$028; + break L1; + } + } else { + if (!$8) if ($19 >>> 0 < $4 >>> 0) $25 = $19; else $25 = ($19 >>> 0) % ($4 >>> 0) | 0; else $25 = $19 & $6; + if (($25 | 0) != ($14 | 0)) { + $$sroa$0$0 = 0; + break L1; + } + } + $$pn = $$028; + } + } else $$sroa$0$0 = 0; + } else $$sroa$0$0 = 0; while (0); + return $$sroa$0$0 | 0; +} + +function __ZN6vision5Timer4stopEv($0) { + $0 = $0 | 0; + var $1 = 0, $14 = 0, $18 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + if (!(+HEAPF64[$0 >> 3] >= 0.0)) { + $9 = __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEElsEi(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(__ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc(65808, 38960) | 0, 38999) | 0, 39072) | 0, 67) | 0, 39079) | 0, 39082) | 0; + __ZNKSt3__28ios_base6getlocEv($1, $9 + (HEAP32[(HEAP32[$9 >> 2] | 0) + -12 >> 2] | 0) | 0); + $14 = __ZNKSt3__26locale9use_facetERNS0_2idE($1, 66512) | 0; + $18 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$14 >> 2] | 0) + 28 >> 2] & 127]($14, 10) | 0; + __ZNSt3__26localeD2Ev($1); + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE3putEc($9, $18) | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($9) | 0; + _abort(); + } else { + _gettimeofday($1 | 0, 0) | 0; + HEAPF64[$0 + 8 >> 3] = +(HEAP32[$1 + 4 >> 2] | 0) * 1.0e-06 + +(HEAP32[$1 >> 2] | 0); + STACKTOP = sp; + return; + } +} + +function __ZNSt3__26vectorIiNS_9allocatorIiEEE8__appendEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $13 = 0, $14 = 0, $18 = 0, $19 = 0, $2 = 0, $23 = 0, $3 = 0, $5 = 0, $6 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp; + $3 = $0 + 8 | 0; + $5 = $0 + 4 | 0; + $6 = HEAP32[$5 >> 2] | 0; + do if ((HEAP32[$3 >> 2] | 0) - $6 >> 2 >>> 0 < $1 >>> 0) { + $13 = ($6 - (HEAP32[$0 >> 2] | 0) >> 2) + $1 | 0; + $14 = __ZNKSt3__26vectorIiNS_9allocatorIiEEE8max_sizeEv($0) | 0; + if ($14 >>> 0 < $13 >>> 0) __ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv($0); else { + $18 = HEAP32[$0 >> 2] | 0; + $19 = (HEAP32[$3 >> 2] | 0) - $18 | 0; + $23 = $19 >> 1; + __ZNSt3__214__split_bufferIiRNS_9allocatorIiEEEC2EmmS3_($2, $19 >> 2 >>> 0 < $14 >>> 1 >>> 0 ? ($23 >>> 0 < $13 >>> 0 ? $13 : $23) : $14, (HEAP32[$5 >> 2] | 0) - $18 >> 2, $0 + 8 | 0); + __ZNSt3__214__split_bufferIiRNS_9allocatorIiEEE18__construct_at_endEm($2, $1); + __ZNSt3__26vectorIiNS_9allocatorIiEEE26__swap_out_circular_bufferERNS_14__split_bufferIiRS2_EE($0, $2); + __ZNSt3__214__split_bufferIiRNS_9allocatorIiEEED2Ev($2); + break; + } + } else __ZNSt3__26vectorIiNS_9allocatorIiEEE18__construct_at_endEm($0, $1); while (0); + STACKTOP = sp; + return; +} + +function __ZNSt3__26vectorIfNS_9allocatorIfEEE8__appendEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $13 = 0, $14 = 0, $18 = 0, $19 = 0, $2 = 0, $23 = 0, $3 = 0, $5 = 0, $6 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp; + $3 = $0 + 8 | 0; + $5 = $0 + 4 | 0; + $6 = HEAP32[$5 >> 2] | 0; + do if ((HEAP32[$3 >> 2] | 0) - $6 >> 2 >>> 0 < $1 >>> 0) { + $13 = ($6 - (HEAP32[$0 >> 2] | 0) >> 2) + $1 | 0; + $14 = __ZNKSt3__26vectorIfNS_9allocatorIfEEE8max_sizeEv($0) | 0; + if ($14 >>> 0 < $13 >>> 0) __ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv($0); else { + $18 = HEAP32[$0 >> 2] | 0; + $19 = (HEAP32[$3 >> 2] | 0) - $18 | 0; + $23 = $19 >> 1; + __ZNSt3__214__split_bufferIfRNS_9allocatorIfEEEC2EmmS3_($2, $19 >> 2 >>> 0 < $14 >>> 1 >>> 0 ? ($23 >>> 0 < $13 >>> 0 ? $13 : $23) : $14, (HEAP32[$5 >> 2] | 0) - $18 >> 2, $0 + 8 | 0); + __ZNSt3__214__split_bufferIfRNS_9allocatorIfEEE18__construct_at_endEm($2, $1); + __ZNSt3__26vectorIfNS_9allocatorIfEEE26__swap_out_circular_bufferERNS_14__split_bufferIfRS2_EE($0, $2); + __ZNSt3__214__split_bufferIfRNS_9allocatorIfEEED2Ev($2); + break; + } + } else __ZNSt3__26vectorIfNS_9allocatorIfEEE18__construct_at_endEm($0, $1); 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, $$02934 = 0, $$03133 = 0, $$035 = 0, $$1 = 0, $$130 = 0, $$132 = 0, $13 = 0, $14 = 0, $21 = 0, $5 = 0, $7 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 240 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(240); + $5 = sp; + HEAP32[$5 >> 2] = $0; + L1 : do if (($3 | 0) > 1) { + $7 = 0 - $1 | 0; + $$02934 = $0; + $$03133 = $3; + $$035 = 1; + $14 = $0; + while (1) { + $8 = $$02934 + $7 | 0; + $9 = $$03133 + -2 | 0; + $13 = $8 + (0 - (HEAP32[$4 + ($9 << 2) >> 2] | 0)) | 0; + if ((FUNCTION_TABLE_iii[$2 & 127]($14, $13) | 0) > -1 ? (FUNCTION_TABLE_iii[$2 & 127]($14, $8) | 0) > -1 : 0) { + $$0$lcssa = $$035; + break L1; + } + $21 = $5 + ($$035 << 2) | 0; + if ((FUNCTION_TABLE_iii[$2 & 127]($13, $8) | 0) > -1) { + HEAP32[$21 >> 2] = $13; + $$130 = $13; + $$132 = $$03133 + -1 | 0; + } else { + HEAP32[$21 >> 2] = $8; + $$130 = $8; + $$132 = $9; + } + $$1 = $$035 + 1 | 0; + if (($$132 | 0) <= 1) { + $$0$lcssa = $$1; + break L1; + } + $$02934 = $$130; + $$03133 = $$132; + $$035 = $$1; + $14 = HEAP32[$5 >> 2] | 0; + } + } else $$0$lcssa = 1; while (0); + _cycle($1, $5, $$0$lcssa); + STACKTOP = sp; + return; +} + +function _rgb1_rgb_convert($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$04449$us = 0, $$04550$us = 0, $$04748$us = 0, $$051$us = 0, $$in = 0, $14 = 0, $17 = 0, $20 = 0, $27 = 0, $31 = 0, $32 = 0, $6 = 0, $8 = 0, $9 = 0, $$in$looptemp = 0; + $6 = HEAP32[$0 + 112 >> 2] | 0; + if (($4 | 0) <= 0) return; + $8 = $1 + 4 | 0; + $9 = $1 + 8 | 0; + if (!$6) return; + $$04550$us = $3; + $$051$us = $2; + $$in = $4; + while (1) { + $$in$looptemp = $$in; + $$in = $$in + -1 | 0; + $14 = HEAP32[(HEAP32[$1 >> 2] | 0) + ($$051$us << 2) >> 2] | 0; + $17 = HEAP32[(HEAP32[$8 >> 2] | 0) + ($$051$us << 2) >> 2] | 0; + $20 = HEAP32[(HEAP32[$9 >> 2] | 0) + ($$051$us << 2) >> 2] | 0; + $$051$us = $$051$us + 1 | 0; + $$04449$us = 0; + $$04748$us = HEAP32[$$04550$us >> 2] | 0; + while (1) { + $27 = HEAP8[$17 + $$04449$us >> 0] | 0; + $31 = HEAPU8[$20 + $$04449$us >> 0] | 0; + $32 = ($27 & 255) + 128 | 0; + HEAP8[$$04748$us >> 0] = $32 + (HEAPU8[$14 + $$04449$us >> 0] | 0); + HEAP8[$$04748$us + 1 >> 0] = $27; + HEAP8[$$04748$us + 2 >> 0] = $32 + $31; + $$04449$us = $$04449$us + 1 | 0; + if (($$04449$us | 0) == ($6 | 0)) break; else $$04748$us = $$04748$us + 3 | 0; + } + if (($$in$looptemp | 0) <= 1) break; else $$04550$us = $$04550$us + 4 | 0; + } + return; +} + +function __ZNSt3__26vectorIhNS_9allocatorIhEEE8__appendEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $11 = 0, $12 = 0, $16 = 0, $17 = 0, $2 = 0, $20 = 0, $3 = 0, $5 = 0, $6 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp; + $3 = $0 + 8 | 0; + $5 = $0 + 4 | 0; + $6 = HEAP32[$5 >> 2] | 0; + do if (((HEAP32[$3 >> 2] | 0) - $6 | 0) >>> 0 < $1 >>> 0) { + $11 = $6 - (HEAP32[$0 >> 2] | 0) + $1 | 0; + $12 = __ZNKSt3__26vectorIhNS_9allocatorIhEEE8max_sizeEv($0) | 0; + if ($12 >>> 0 < $11 >>> 0) __ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv($0); else { + $16 = HEAP32[$0 >> 2] | 0; + $17 = (HEAP32[$3 >> 2] | 0) - $16 | 0; + $20 = $17 << 1; + __ZNSt3__214__split_bufferIhRNS_9allocatorIhEEEC2EmmS3_($2, $17 >>> 0 < $12 >>> 1 >>> 0 ? ($20 >>> 0 < $11 >>> 0 ? $11 : $20) : $12, (HEAP32[$5 >> 2] | 0) - $16 | 0, $0 + 8 | 0); + __ZNSt3__214__split_bufferIhRNS_9allocatorIhEEE18__construct_at_endEm($2, $1); + __ZNSt3__26vectorIhNS_9allocatorIhEEE26__swap_out_circular_bufferERNS_14__split_bufferIhRS2_EE($0, $2); + __ZNSt3__214__split_bufferIhRNS_9allocatorIhEEED2Ev($2); + break; + } + } else __ZNSt3__26vectorIhNS_9allocatorIhEEE18__construct_at_endEm($0, $1); while (0); + STACKTOP = sp; + return; +} + +function _arSetPixelFormat($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$016 = 0, $10 = 0, $11 = 0, $3 = 0, $8 = 0, $vararg_buffer = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $vararg_buffer = sp; + L1 : do if ($0) { + $3 = $0 + 4 | 0; + if ((HEAP32[$3 >> 2] | 0) != ($1 | 0)) { + if ($1 >>> 0 >= 15) { + HEAP32[$vararg_buffer >> 2] = $1; + _arLog(0, 3, 23981, $vararg_buffer); + $$016 = -1; + break; + } + HEAP32[$3 >> 2] = $1; + $8 = _arUtilGetPixelSize($1) | 0; + HEAP32[$0 + 8 >> 2] = $8; + $10 = $0 + 24 | 0; + $11 = HEAP32[$10 >> 2] | 0; + if (!(28704 >>> ($1 & 32767) & 1)) switch ($11 | 0) { + case 1: + { + HEAP32[$10 >> 2] = 4; + $$016 = 0; + break L1; + break; + } + case 4: + { + HEAP32[$10 >> 2] = 3; + $$016 = 0; + break L1; + break; + } + default: + { + $$016 = 0; + break L1; + } + } else switch ($11 | 0) { + case 0: + { + HEAP32[$10 >> 2] = 1; + $$016 = 0; + break L1; + break; + } + case 3: + { + HEAP32[$10 >> 2] = 4; + $$016 = 0; + break L1; + break; + } + default: + { + $$016 = 0; + break L1; + } + } + } else $$016 = 0; + } else $$016 = -1; while (0); + STACKTOP = sp; + return $$016 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle9NodeArray14printWithCommaERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0$off0 = 0, $$018 = 0, $$1$off0 = 0, $$byval_copy = 0, $2 = 0, $3 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $2 = sp; + $3 = $0 + 4 | 0; + $$0$off0 = 1; + $$018 = 0; + while (1) { + if (($$018 | 0) == (HEAP32[$3 >> 2] | 0)) break; + $6 = __ZNK12_GLOBAL__N_112OutputStream18getCurrentPositionEv($1) | 0; + if (!$$0$off0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 52152); + HEAP32[$$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy); + } + $7 = __ZNK12_GLOBAL__N_112OutputStream18getCurrentPositionEv($1) | 0; + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[(HEAP32[$0 >> 2] | 0) + ($$018 << 2) >> 2] | 0, $1); + if (($7 | 0) == (__ZNK12_GLOBAL__N_112OutputStream18getCurrentPositionEv($1) | 0)) { + __ZN12_GLOBAL__N_112OutputStream18setCurrentPositionEm($1, $6); + $$1$off0 = $$0$off0; + } else $$1$off0 = 0; + $$0$off0 = $$1$off0; + $$018 = $$018 + 1 | 0; + } + STACKTOP = sp; + return; +} +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, $12 = 0, $14 = 0, $30 = 0, $8 = 0, $9 = 0, $8$looptemp = 0, $9$looptemp = 0, $$012$looptemp = 0; + if ($1 >>> 0 > 0 | ($1 | 0) == 0 & $0 >>> 0 > 4294967295) { + $$0914 = $2; + $8 = $0; + $9 = $1; + do { + $8$looptemp = $8; + $8 = ___udivdi3($8 | 0, $9 | 0, 10, 0) | 0; + $9$looptemp = $9; + $9 = getTempRet0() | 0; + $12 = ___muldi3($8 | 0, $9 | 0, 10, 0) | 0; + $14 = _i64Subtract($8$looptemp | 0, $9$looptemp | 0, $12 | 0, getTempRet0() | 0) | 0; + getTempRet0() | 0; + $$0914 = $$0914 + -1 | 0; + HEAP8[$$0914 >> 0] = $14 & 255 | 48; + } while ($9$looptemp >>> 0 > 9 | ($9$looptemp | 0) == 9 & $8$looptemp >>> 0 > 4294967295); + $$010$lcssa$off0 = $8; + $$09$lcssa = $$0914; + } else { + $$010$lcssa$off0 = $0; + $$09$lcssa = $2; + } + if (!$$010$lcssa$off0) $$1$lcssa = $$09$lcssa; else { + $$012 = $$010$lcssa$off0; + $$111 = $$09$lcssa; + while (1) { + $$012$looptemp = $$012; + $$012 = ($$012 >>> 0) / 10 | 0; + $30 = $$111 + -1 | 0; + HEAP8[$30 >> 0] = $$012$looptemp - ($$012 * 10 | 0) | 48; + if ($$012$looptemp >>> 0 < 10) { + $$1$lcssa = $30; + break; + } else $$111 = $30; + } + } + return $$1$lcssa | 0; +} + +function _arSetLabelingThreshMode($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$018 = 0, $13 = 0, $3 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $vararg_buffer1 = sp + 8 | 0; + $vararg_buffer = sp; + if ($0) { + $3 = $0 + 7062388 | 0; + if ((HEAP32[$3 >> 2] | 0) != ($1 | 0)) { + $6 = $0 + 7062408 | 0; + $7 = HEAP32[$6 >> 2] | 0; + if ($7 | 0) { + _arImageProcFinal($7); + HEAP32[$6 >> 2] = 0; + } + switch ($1 | 0) { + case 3: + case 2: + case 1: + { + $13 = _arImageProcInit(HEAP32[$0 + 36 >> 2] | 0, HEAP32[$0 + 40 >> 2] | 0) | 0; + HEAP32[$6 >> 2] = $13; + $$0 = $1; + break; + } + case 4: + { + HEAP32[$0 + 7062404 >> 2] = 1; + HEAP32[$0 + 7062400 >> 2] = 1; + $$0 = 4; + break; + } + case 0: + { + $$0 = $1; + break; + } + default: + { + _arLog(0, 3, 23812, $vararg_buffer); + $$0 = 0; + } + } + HEAP32[$3 >> 2] = $$0; + if ((HEAP32[$0 >> 2] | 0) == 1) { + HEAP32[$vararg_buffer1 >> 2] = HEAP32[16 + ($$0 << 2) >> 2]; + _arLog(0, 3, 23886, $vararg_buffer1); + $$018 = 0; + } else $$018 = 0; + } else $$018 = 0; + } else $$018 = -1; + STACKTOP = sp; + return $$018 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle10AbiTagAttr9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy1 = 0, $11 = 0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $6 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy1 = sp + 24 | 0; + $2 = sp + 16 | 0; + $3 = sp; + $4 = sp + 8 | 0; + $6 = HEAP32[$0 + 8 >> 2] | 0; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$6 >> 2] | 0) + 16 >> 2] & 255]($6, $1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 51608); + HEAP32[$$byval_copy1 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy1 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy1); + $11 = $0 + 12 | 0; + $16 = HEAP32[$11 + 4 >> 2] | 0; + $17 = $3; + HEAP32[$17 >> 2] = HEAP32[$11 >> 2]; + HEAP32[$17 + 4 >> 2] = $16; + HEAP32[$$byval_copy1 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy1 + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, 51614); + HEAP32[$$byval_copy1 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy1 + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy1); + STACKTOP = sp; + return; +} + +function __ZN6vision27OrthogonalizePivot8x9Basis5IfEEbPT_S2_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $10 = 0.0, $11 = 0.0, $13 = 0.0, $15 = 0, $16 = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $2 = sp; + $3 = $0 + 180 | 0; + $4 = $0 + 144 | 0; + $5 = $1 + 180 | 0; + __ZN6vision21AccumulateProjection9IfEEvPT_PKS1_S4_($3, $4, $5); + $6 = $0 + 216 | 0; + __ZN6vision21AccumulateProjection9IfEEvPT_PKS1_S4_($6, $4, $1 + 216 | 0); + $8 = $0 + 252 | 0; + __ZN6vision21AccumulateProjection9IfEEvPT_PKS1_S4_($8, $4, $1 + 252 | 0); + $10 = +__ZN6vision11SumSquares9IfEET_PKS1_($3); + HEAPF32[$2 >> 2] = $10; + $11 = +__ZN6vision11SumSquares9IfEET_PKS1_($6); + HEAPF32[$2 + 4 >> 2] = $11; + $13 = +__ZN6vision11SumSquares9IfEET_PKS1_($8); + HEAPF32[$2 + 8 >> 2] = $13; + $15 = __ZN6vision9MaxIndex3IfEEiPKT_($2) | 0; + $16 = $2 + ($15 << 2) | 0; + if (+HEAPF32[$16 >> 2] == 0.0) $$0 = 0; else { + $19 = $15 * 9 | 0; + __ZN6vision5Swap9IfEEvPT_S2_($3, $3 + ($19 << 2) | 0); + __ZN6vision5Swap9IfEEvPT_S2_($5, $5 + ($19 << 2) | 0); + __ZN6vision12ScaleVector9IfEEvPT_PKS1_S1_($3, $3, 1.0 / +Math_sqrt(+(+HEAPF32[$16 >> 2]))); + $$0 = 1; + } + STACKTOP = sp; + return $$0 | 0; +} + +function _arGetTransMatRobust($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, $12 = 0, $13 = 0, $6 = 0, $7 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $6 = sp + 20 | 0; + $7 = sp; + $9 = _malloc($4 << 4) | 0; + HEAP32[$6 >> 2] = $9; + if (!$9) { + _arLog(0, 3, 45930, sp + 8 | 0); + _exit(1); + } + $12 = _malloc($4 * 24 | 0) | 0; + $13 = $6 + 4 | 0; + HEAP32[$13 >> 2] = $12; + if (!$12) { + _arLog(0, 3, 45930, sp + 16 | 0); + _exit(1); + } + $$0 = 0; + while (1) { + if (($$0 | 0) >= ($4 | 0)) break; + HEAPF64[$9 + ($$0 << 4) >> 3] = +HEAPF64[$2 + ($$0 << 4) >> 3]; + HEAPF64[$9 + ($$0 << 4) + 8 >> 3] = +HEAPF64[$2 + ($$0 << 4) + 8 >> 3]; + HEAPF64[$12 + ($$0 * 24 | 0) >> 3] = +HEAPF64[$3 + ($$0 * 24 | 0) >> 3]; + HEAPF64[$12 + ($$0 * 24 | 0) + 8 >> 3] = +HEAPF64[$3 + ($$0 * 24 | 0) + 8 >> 3]; + HEAPF64[$12 + ($$0 * 24 | 0) + 16 >> 3] = +HEAPF64[$3 + ($$0 * 24 | 0) + 16 >> 3]; + $$0 = $$0 + 1 | 0; + } + HEAP32[$6 + 8 >> 2] = $4; + if ((_icpPointRobust(HEAP32[$0 >> 2] | 0, $6, $1, $5, $7) | 0) < 0) HEAPF64[$7 >> 3] = 1.0e8; + _free(HEAP32[$6 >> 2] | 0); + _free(HEAP32[$13 >> 2] | 0); + STACKTOP = sp; + return +(+HEAPF64[$7 >> 3]); +} + +function __ZN6vision24OrthogonalizeIdentity8x9IfEET_PS1_PKS1_i($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0.0, $44 = 0.0, $46 = 0.0, $6 = 0; + __ZN6vision12ScaleVector9IfEEvPT_PKS1_S1_($0, $1, -+HEAPF32[$1 + ($2 << 2) >> 2]); + $6 = $0 + ($2 << 2) | 0; + HEAPF32[$6 >> 2] = +HEAPF32[$6 >> 2] + 1.0; + __ZN6vision23AccumulateScaledVector9IfEEvPT_PKS1_S1_($0, $1 + 36 | 0, -+HEAPF32[$1 + ($2 + 9 << 2) >> 2]); + __ZN6vision23AccumulateScaledVector9IfEEvPT_PKS1_S1_($0, $1 + 72 | 0, -+HEAPF32[$1 + ($2 + 18 << 2) >> 2]); + __ZN6vision23AccumulateScaledVector9IfEEvPT_PKS1_S1_($0, $1 + 108 | 0, -+HEAPF32[$1 + ($2 + 27 << 2) >> 2]); + __ZN6vision23AccumulateScaledVector9IfEEvPT_PKS1_S1_($0, $1 + 144 | 0, -+HEAPF32[$1 + ($2 + 36 << 2) >> 2]); + __ZN6vision23AccumulateScaledVector9IfEEvPT_PKS1_S1_($0, $1 + 180 | 0, -+HEAPF32[$1 + ($2 + 45 << 2) >> 2]); + __ZN6vision23AccumulateScaledVector9IfEEvPT_PKS1_S1_($0, $1 + 216 | 0, -+HEAPF32[$1 + ($2 + 54 << 2) >> 2]); + __ZN6vision23AccumulateScaledVector9IfEEvPT_PKS1_S1_($0, $1 + 252 | 0, -+HEAPF32[$1 + ($2 + 63 << 2) >> 2]); + $44 = +__ZN6vision11SumSquares9IfEET_PKS1_($0); + $46 = +Math_sqrt(+$44); + if ($44 == 0.0) $$0 = 0.0; else { + __ZN6vision12ScaleVector9IfEEvPT_PKS1_S1_($0, $0, 1.0 / $46); + $$0 = $46; + } + return +$$0; +} + +function _arLabeling($0, $1, $2, $3, $4, $5, $6, $7, $8) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + var $$0 = 0, $10 = 0, $11 = 0; + $10 = ($4 | 0) == 1; + $11 = ($8 | 0) != 0; + do if (!$3) if ($10) { + if ($11) { + $$0 = _arLabelingSubDBZ($0, $1, $2, $8, $7) | 0; + break; + } + if (!$6) { + $$0 = _arLabelingSubDBRC($0, $1, $2, $5, $7) | 0; + break; + } else { + $$0 = _arLabelingSubDBIC($0, $1, $2, $5, $7) | 0; + break; + } + } else { + if ($11) { + $$0 = _arLabelingSubDWZ($0, $1, $2, $8, $7) | 0; + break; + } + if (!$6) { + $$0 = _arLabelingSubDWRC($0, $1, $2, $5, $7) | 0; + break; + } else { + $$0 = _arLabelingSubDWIC($0, $1, $2, $5, $7) | 0; + break; + } + } else if ($10) { + if ($11) { + $$0 = _arLabelingSubEBZ($0, $1, $2, $8, $7) | 0; + break; + } + if (!$6) { + $$0 = _arLabelingSubEBRC($0, $1, $2, $5, $7) | 0; + break; + } else { + $$0 = _arLabelingSubEBIC($0, $1, $2, $5, $7) | 0; + break; + } + } else { + if ($11) { + $$0 = _arLabelingSubEWZ($0, $1, $2, $8, $7) | 0; + break; + } + if (!$6) { + $$0 = _arLabelingSubEWRC($0, $1, $2, $5, $7) | 0; + break; + } else { + $$0 = _arLabelingSubEWIC($0, $1, $2, $5, $7) | 0; + break; + } + } while (0); + return $$0 | 0; +} + +function _arMatrixMulf($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$040 = 0, $$041 = 0, $$042 = 0, $$043 = 0, $$044 = 0, $$045 = 0, $$1 = 0, $14 = 0, $20 = 0, $30 = 0.0, $31 = 0.0, $4 = 0, $9 = 0; + $4 = HEAP32[$1 + 8 >> 2] | 0; + L1 : do if ((($4 | 0) == (HEAP32[$2 + 4 >> 2] | 0) ? ($9 = HEAP32[$0 + 4 >> 2] | 0, ($9 | 0) == (HEAP32[$1 + 4 >> 2] | 0)) : 0) ? ($14 = HEAP32[$0 + 8 >> 2] | 0, ($14 | 0) == (HEAP32[$2 + 8 >> 2] | 0)) : 0) { + $$0 = HEAP32[$0 >> 2] | 0; + $$044 = 0; + while (1) { + if (($$044 | 0) >= ($9 | 0)) { + $$045 = 0; + break L1; + } + $20 = Math_imul($$044, $4) | 0; + $$043 = 0; + $$1 = $$0; + while (1) { + if (($$043 | 0) >= ($14 | 0)) break; + HEAPF32[$$1 >> 2] = 0.0; + $$040 = (HEAP32[$2 >> 2] | 0) + ($$043 << 2) | 0; + $$041 = (HEAP32[$1 >> 2] | 0) + ($20 << 2) | 0; + $$042 = 0; + $31 = 0.0; + while (1) { + if (($$042 | 0) >= ($4 | 0)) break; + $30 = $31 + +HEAPF32[$$041 >> 2] * +HEAPF32[$$040 >> 2]; + HEAPF32[$$1 >> 2] = $30; + $$040 = $$040 + ($14 << 2) | 0; + $$041 = $$041 + 4 | 0; + $$042 = $$042 + 1 | 0; + $31 = $30; + } + $$043 = $$043 + 1 | 0; + $$1 = $$1 + 4 | 0; + } + $$0 = $$1; + $$044 = $$044 + 1 | 0; + } + } else $$045 = -1; while (0); + return $$045 | 0; +} + +function _arMatrixMul($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$040 = 0, $$041 = 0, $$042 = 0, $$043 = 0, $$044 = 0, $$045 = 0, $$1 = 0, $14 = 0, $20 = 0, $30 = 0.0, $31 = 0.0, $4 = 0, $9 = 0; + $4 = HEAP32[$1 + 8 >> 2] | 0; + L1 : do if ((($4 | 0) == (HEAP32[$2 + 4 >> 2] | 0) ? ($9 = HEAP32[$0 + 4 >> 2] | 0, ($9 | 0) == (HEAP32[$1 + 4 >> 2] | 0)) : 0) ? ($14 = HEAP32[$0 + 8 >> 2] | 0, ($14 | 0) == (HEAP32[$2 + 8 >> 2] | 0)) : 0) { + $$0 = HEAP32[$0 >> 2] | 0; + $$044 = 0; + while (1) { + if (($$044 | 0) >= ($9 | 0)) { + $$045 = 0; + break L1; + } + $20 = Math_imul($$044, $4) | 0; + $$043 = 0; + $$1 = $$0; + while (1) { + if (($$043 | 0) >= ($14 | 0)) break; + HEAPF64[$$1 >> 3] = 0.0; + $$040 = (HEAP32[$2 >> 2] | 0) + ($$043 << 3) | 0; + $$041 = (HEAP32[$1 >> 2] | 0) + ($20 << 3) | 0; + $$042 = 0; + $31 = 0.0; + while (1) { + if (($$042 | 0) >= ($4 | 0)) break; + $30 = $31 + +HEAPF64[$$041 >> 3] * +HEAPF64[$$040 >> 3]; + HEAPF64[$$1 >> 3] = $30; + $$040 = $$040 + ($14 << 3) | 0; + $$041 = $$041 + 8 | 0; + $$042 = $$042 + 1 | 0; + $31 = $30; + } + $$043 = $$043 + 1 | 0; + $$1 = $$1 + 8 | 0; + } + $$0 = $$1; + $$044 = $$044 + 1 | 0; + } + } else $$045 = -1; while (0); + return $$045 | 0; +} + +function __ZNSt3__26vectorIPKN6vision4NodeILi96EEENS_9allocatorIS5_EEE21__push_back_slow_pathIS5_EEvOT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $14 = 0, $15 = 0, $19 = 0, $2 = 0, $24 = 0, $3 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp; + $3 = $0 + 4 | 0; + $8 = ((HEAP32[$3 >> 2] | 0) - (HEAP32[$0 >> 2] | 0) >> 2) + 1 | 0; + $9 = __ZNKSt3__26vectorIPKN6vision4NodeILi96EEENS_9allocatorIS5_EEE8max_sizeEv($0) | 0; + if ($9 >>> 0 < $8 >>> 0) __ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv($0); else { + $14 = HEAP32[$0 >> 2] | 0; + $15 = (HEAP32[$0 + 8 >> 2] | 0) - $14 | 0; + $19 = $15 >> 1; + __ZNSt3__214__split_bufferIPKN6vision4NodeILi96EEERNS_9allocatorIS5_EEEC2EmmS8_($2, $15 >> 2 >>> 0 < $9 >>> 1 >>> 0 ? ($19 >>> 0 < $8 >>> 0 ? $8 : $19) : $9, (HEAP32[$3 >> 2] | 0) - $14 >> 2, $0 + 8 | 0); + $24 = $2 + 8 | 0; + HEAP32[HEAP32[$24 >> 2] >> 2] = HEAP32[$1 >> 2]; + HEAP32[$24 >> 2] = (HEAP32[$24 >> 2] | 0) + 4; + __ZNSt3__26vectorIPKN6vision4NodeILi96EEENS_9allocatorIS5_EEE26__swap_out_circular_bufferERNS_14__split_bufferIS5_RS7_EE($0, $2); + __ZNSt3__214__split_bufferIPKN6vision4NodeILi96EEERNS_9allocatorIS5_EEED2Ev($2); + STACKTOP = sp; + return; + } +} + +function _arCreateHandle($0) { + $0 = $0 | 0; + var $1 = 0, $16 = 0, $19 = 0, $27 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = _malloc(7062432) | 0; + if (!$1) { + _arLog(0, 3, 45930, sp); + _exit(1); + } + HEAP32[$1 >> 2] = 0; + HEAP32[$1 + 4834148 >> 2] = 0; + HEAP32[$1 + 7062408 >> 2] = 0; + HEAP32[$1 + 4 >> 2] = -1; + HEAP32[$1 + 8 >> 2] = 0; + HEAP32[$1 + 12 >> 2] = 1; + HEAP32[$1 + 16 >> 2] = 100; + HEAP32[$1 + 20 >> 2] = 0; + HEAP32[$1 + 24 >> 2] = 0; + HEAP32[$1 + 28 >> 2] = 2; + HEAPF64[$1 + 7062416 >> 3] = .5; + HEAP32[$1 + 7062424 >> 2] = 3; + HEAP32[$1 + 32 >> 2] = $0; + $16 = HEAP32[$0 >> 2] | 0; + HEAP32[$1 + 36 >> 2] = $16; + $19 = HEAP32[$0 + 4 >> 2] | 0; + HEAP32[$1 + 40 >> 2] = $19; + HEAP32[$1 + 44 >> 2] = 0; + HEAP32[$1 + 15408 >> 2] = 0; + HEAP32[$1 + 4834152 >> 2] = 0; + HEAP32[$1 + 4818296 >> 2] = 0; + $27 = _malloc(Math_imul($16 << 1, $19) | 0) | 0; + HEAP32[$1 + 4834144 >> 2] = $27; + if (!$27) { + _arLog(0, 3, 45930, sp + 8 | 0); + _exit(1); + } else { + HEAP32[$1 + 7062384 >> 2] = 0; + _arSetDebugMode($1, 0) | 0; + HEAP32[$1 + 7062388 >> 2] = -1; + _arSetLabelingThreshMode($1, 0) | 0; + _arSetLabelingThreshModeAutoInterval($1, 7) | 0; + STACKTOP = sp; + return $1 | 0; + } + return 0; +} + +function ___newlocale($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$03338 = 0, $$03439 = 0, $$036 = 0, $$13537 = 0, $$pre41 = 0, $10 = 0, $12 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $3 = sp; + L1 : do if (!(___loc_is_allocated($2) | 0)) { + $12 = ($2 | 0) != 0; + $$03338 = 0; + $$13537 = 0; + do { + $$pre41 = 1 << $$13537 & $0; + if ($12 & ($$pre41 | 0) == 0) $$0 = HEAP32[$2 + ($$13537 << 2) >> 2] | 0; else $$0 = ___get_locale($$13537, ($$pre41 | 0) == 0 ? 67447 : $1) | 0; + $$03338 = $$03338 + (($$0 | 0) != 0 & 1) | 0; + HEAP32[$3 + ($$13537 << 2) >> 2] = $$0; + $$13537 = $$13537 + 1 | 0; + } while (($$13537 | 0) != 6); + switch ($$03338 & 2147483647 | 0) { + case 0: + { + $$036 = 65372; + break L1; + break; + } + case 1: + { + if ((HEAP32[$3 >> 2] | 0) == 17032) { + $$036 = 17060; + break L1; + } + break; + } + default: + {} + } + $$036 = $2; + } else { + $$03439 = 0; + do { + if (1 << $$03439 & $0 | 0) { + $10 = ___get_locale($$03439, $1) | 0; + HEAP32[$2 + ($$03439 << 2) >> 2] = $10; + } + $$03439 = $$03439 + 1 | 0; + } while (($$03439 | 0) != 6); + $$036 = $2; + } while (0); + STACKTOP = sp; + return $$036 | 0; +} + +function _rgb_gray_convert_53($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$04952$us = 0, $$05053$us = 0, $$054$us = 0, $$in = 0, $10 = 0, $12 = 0, $13 = 0, $18 = 0, $21 = 0, $24 = 0, $26 = 0, $8 = 0, $$in$looptemp = 0; + $8 = HEAP32[(HEAP32[$0 + 480 >> 2] | 0) + 24 >> 2] | 0; + $10 = HEAP32[$0 + 112 >> 2] | 0; + if (($4 | 0) <= 0) return; + $12 = $1 + 4 | 0; + $13 = $1 + 8 | 0; + if (!$10) return; + $$05053$us = $3; + $$054$us = $2; + $$in = $4; + while (1) { + $$in$looptemp = $$in; + $$in = $$in + -1 | 0; + $18 = HEAP32[(HEAP32[$1 >> 2] | 0) + ($$054$us << 2) >> 2] | 0; + $21 = HEAP32[(HEAP32[$12 >> 2] | 0) + ($$054$us << 2) >> 2] | 0; + $24 = HEAP32[(HEAP32[$13 >> 2] | 0) + ($$054$us << 2) >> 2] | 0; + $$054$us = $$054$us + 1 | 0; + $26 = HEAP32[$$05053$us >> 2] | 0; + $$04952$us = 0; + do { + HEAP8[$26 + $$04952$us >> 0] = ((HEAP32[$8 + ((HEAPU8[$21 + $$04952$us >> 0] | 0 | 256) << 2) >> 2] | 0) + (HEAP32[$8 + ((HEAPU8[$18 + $$04952$us >> 0] | 0) << 2) >> 2] | 0) + (HEAP32[$8 + ((HEAPU8[$24 + $$04952$us >> 0] | 0 | 512) << 2) >> 2] | 0) | 0) >>> 16; + $$04952$us = $$04952$us + 1 | 0; + } while (($$04952$us | 0) != ($10 | 0)); + if (($$in$looptemp | 0) <= 1) break; else $$05053$us = $$05053$us + 4 | 0; + } + return; +} + +function __ZNSt3__26vectorIPN6vision4NodeILi96EEENS_9allocatorIS4_EEE21__push_back_slow_pathIRKS4_EEvOT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $14 = 0, $15 = 0, $19 = 0, $2 = 0, $24 = 0, $3 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp; + $3 = $0 + 4 | 0; + $8 = ((HEAP32[$3 >> 2] | 0) - (HEAP32[$0 >> 2] | 0) >> 2) + 1 | 0; + $9 = __ZNKSt3__26vectorIPN6vision4NodeILi96EEENS_9allocatorIS4_EEE8max_sizeEv($0) | 0; + if ($9 >>> 0 < $8 >>> 0) __ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv($0); else { + $14 = HEAP32[$0 >> 2] | 0; + $15 = (HEAP32[$0 + 8 >> 2] | 0) - $14 | 0; + $19 = $15 >> 1; + __ZNSt3__214__split_bufferIPN6vision4NodeILi96EEERNS_9allocatorIS4_EEEC2EmmS7_($2, $15 >> 2 >>> 0 < $9 >>> 1 >>> 0 ? ($19 >>> 0 < $8 >>> 0 ? $8 : $19) : $9, (HEAP32[$3 >> 2] | 0) - $14 >> 2, $0 + 8 | 0); + $24 = $2 + 8 | 0; + HEAP32[HEAP32[$24 >> 2] >> 2] = HEAP32[$1 >> 2]; + HEAP32[$24 >> 2] = (HEAP32[$24 >> 2] | 0) + 4; + __ZNSt3__26vectorIPN6vision4NodeILi96EEENS_9allocatorIS4_EEE26__swap_out_circular_bufferERNS_14__split_bufferIS4_RS6_EE($0, $2); + __ZNSt3__214__split_bufferIPN6vision4NodeILi96EEERNS_9allocatorIS4_EEED2Ev($2); + STACKTOP = sp; + return; + } +} + +function __ZNK12_GLOBAL__N_116itanium_demangle11PointerType10printRightERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $2 = sp; + $3 = $0 + 8 | 0; + $4 = HEAP32[$3 >> 2] | 0; + if ((__ZNK12_GLOBAL__N_116itanium_demangle4Node7getKindEv($4) | 0) << 24 >> 24 == 10) { + if (!(__ZNK12_GLOBAL__N_116itanium_demangle13ObjCProtoName12isObjCObjectEv($4) | 0)) { + $8 = HEAP32[$3 >> 2] | 0; + label = 4; + } + } else { + $8 = $4; + label = 4; + } + if ((label | 0) == 4) { + if (!(__ZNK12_GLOBAL__N_116itanium_demangle4Node8hasArrayERNS_12OutputStreamE($8, $1) | 0) ? !(__ZNK12_GLOBAL__N_116itanium_demangle4Node11hasFunctionERNS_12OutputStreamE(HEAP32[$3 >> 2] | 0, $1) | 0) : 0) {} else { + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 51964); + HEAP32[$$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy); + } + $12 = HEAP32[$3 >> 2] | 0; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$12 >> 2] | 0) + 20 >> 2] & 255]($12, $1); + } + STACKTOP = sp; + return; +} + +function __ZNSt3__26vectorItNS_9allocatorItEEE8__appendEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $13 = 0, $14 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $5 = 0, $6 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp; + $3 = $0 + 8 | 0; + $5 = $0 + 4 | 0; + $6 = HEAP32[$5 >> 2] | 0; + do if ((HEAP32[$3 >> 2] | 0) - $6 >> 1 >>> 0 < $1 >>> 0) { + $13 = ($6 - (HEAP32[$0 >> 2] | 0) >> 1) + $1 | 0; + $14 = __ZNKSt3__26vectorItNS_9allocatorItEEE8max_sizeEv($0) | 0; + if ($14 >>> 0 < $13 >>> 0) __ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv($0); else { + $18 = HEAP32[$0 >> 2] | 0; + $19 = (HEAP32[$3 >> 2] | 0) - $18 | 0; + __ZNSt3__214__split_bufferItRNS_9allocatorItEEEC2EmmS3_($2, $19 >> 1 >>> 0 < $14 >>> 1 >>> 0 ? ($19 >>> 0 < $13 >>> 0 ? $13 : $19) : $14, (HEAP32[$5 >> 2] | 0) - $18 >> 1, $0 + 8 | 0); + __ZNSt3__214__split_bufferItRNS_9allocatorItEEE18__construct_at_endEm($2, $1); + __ZNSt3__26vectorItNS_9allocatorItEEE26__swap_out_circular_bufferERNS_14__split_bufferItRS2_EE($0, $2); + __ZNSt3__214__split_bufferItRNS_9allocatorItEEED2Ev($2); + break; + } + } else __ZNSt3__26vectorItNS_9allocatorItEEE18__construct_at_endEm($0, $1); while (0); + STACKTOP = sp; + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle18ArraySubscriptExpr9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy2 = 0, $2 = 0, $3 = 0, $4 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy2 = sp + 24 | 0; + $2 = sp + 16 | 0; + $3 = sp + 8 | 0; + $4 = sp; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 51968); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy2); + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 8 >> 2] | 0, $1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, 53584); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy2); + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 12 >> 2] | 0, $1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, 51614); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy2); + STACKTOP = sp; + return; +} + +function _null_convert_55($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$03038$us$us = 0, $$03137$us$us = 0, $$03236$us$us = 0, $$03343$us = 0, $$03439$us$us = 0, $$046$us = 0, $$in = 0, $11 = 0, $6 = 0, $8 = 0, $$in$looptemp = 0; + $6 = HEAP32[$0 + 36 >> 2] | 0; + $8 = HEAP32[$0 + 112 >> 2] | 0; + if (($4 | 0) <= 0) return; + $11 = ($8 | 0) == 0; + if (($6 | 0) <= 0) return; + $$03343$us = $3; + $$046$us = $2; + $$in = $4; + while (1) { + $$in$looptemp = $$in; + $$in = $$in + -1 | 0; + if (!$11) { + $$03439$us$us = 0; + do { + $$03038$us$us = 0; + $$03137$us$us = HEAP32[(HEAP32[$1 + ($$03439$us$us << 2) >> 2] | 0) + ($$046$us << 2) >> 2] | 0; + $$03236$us$us = (HEAP32[$$03343$us >> 2] | 0) + $$03439$us$us | 0; + while (1) { + HEAP8[$$03236$us$us >> 0] = HEAP8[$$03137$us$us >> 0] | 0; + $$03038$us$us = $$03038$us$us + 1 | 0; + if (($$03038$us$us | 0) == ($8 | 0)) break; else { + $$03137$us$us = $$03137$us$us + 1 | 0; + $$03236$us$us = $$03236$us$us + $6 | 0; + } + } + $$03439$us$us = $$03439$us$us + 1 | 0; + } while (($$03439$us$us | 0) != ($6 | 0)); + } + if (($$in$looptemp | 0) <= 1) break; else { + $$03343$us = $$03343$us + 4 | 0; + $$046$us = $$046$us + 1 | 0; + } + } + return; +} + +function _arGetTransMat($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, $12 = 0, $13 = 0, $6 = 0, $7 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $6 = sp + 20 | 0; + $7 = sp; + $9 = _malloc($4 << 4) | 0; + HEAP32[$6 >> 2] = $9; + if (!$9) { + _arLog(0, 3, 45930, sp + 8 | 0); + _exit(1); + } + $12 = _malloc($4 * 24 | 0) | 0; + $13 = $6 + 4 | 0; + HEAP32[$13 >> 2] = $12; + if (!$12) { + _arLog(0, 3, 45930, sp + 16 | 0); + _exit(1); + } + $$0 = 0; + while (1) { + if (($$0 | 0) >= ($4 | 0)) break; + HEAPF64[$9 + ($$0 << 4) >> 3] = +HEAPF64[$2 + ($$0 << 4) >> 3]; + HEAPF64[$9 + ($$0 << 4) + 8 >> 3] = +HEAPF64[$2 + ($$0 << 4) + 8 >> 3]; + HEAPF64[$12 + ($$0 * 24 | 0) >> 3] = +HEAPF64[$3 + ($$0 * 24 | 0) >> 3]; + HEAPF64[$12 + ($$0 * 24 | 0) + 8 >> 3] = +HEAPF64[$3 + ($$0 * 24 | 0) + 8 >> 3]; + HEAPF64[$12 + ($$0 * 24 | 0) + 16 >> 3] = +HEAPF64[$3 + ($$0 * 24 | 0) + 16 >> 3]; + $$0 = $$0 + 1 | 0; + } + HEAP32[$6 + 8 >> 2] = $4; + if ((_icpPoint(HEAP32[$0 >> 2] | 0, $6, $1, $5, $7) | 0) < 0) HEAPF64[$7 >> 3] = 1.0e8; + _free(HEAP32[$6 >> 2] | 0); + _free(HEAP32[$13 >> 2] | 0); + STACKTOP = sp; + return +(+HEAPF64[$7 >> 3]); +} + +function __ZNK12_GLOBAL__N_116itanium_demangle14ConversionExpr9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy2 = 0, $2 = 0, $3 = 0, $4 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy2 = sp + 24 | 0; + $2 = sp + 16 | 0; + $3 = sp + 8 | 0; + $4 = sp; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 51968); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy2); + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 8 >> 2] | 0, $1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, 54555); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy2); + __ZNK12_GLOBAL__N_116itanium_demangle9NodeArray14printWithCommaERNS_12OutputStreamE($0 + 12 | 0, $1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, 51964); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy2); + STACKTOP = sp; + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle13ObjCProtoName9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy1 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy1 = sp + 24 | 0; + $2 = sp + 16 | 0; + $3 = sp; + $4 = sp + 8 | 0; + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 8 >> 2] | 0, $1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 52150); + HEAP32[$$byval_copy1 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy1 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy1); + $8 = $0 + 12 | 0; + $13 = HEAP32[$8 + 4 >> 2] | 0; + $14 = $3; + HEAP32[$14 >> 2] = HEAP32[$8 >> 2]; + HEAP32[$14 + 4 >> 2] = $13; + HEAP32[$$byval_copy1 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy1 + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, 52043); + HEAP32[$$byval_copy1 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy1 + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy1); + STACKTOP = sp; + return; +} + +function _updateCandidate($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 = 0, $$0$ph = 0, $$060 = 0, $24 = 0, $7 = 0; + $7 = HEAP32[$3 >> 2] | 0; + do if (!$7) { + HEAP32[$4 >> 2] = $0; + HEAP32[$5 >> 2] = $1; + HEAP32[$6 >> 2] = $2; + HEAP32[$3 >> 2] = 1; + } else { + $$060 = 0; + while (1) { + if (($$060 | 0) >= ($7 | 0)) break; + if ((HEAP32[$6 + ($$060 << 2) >> 2] | 0) < ($2 | 0)) break; + $$060 = $$060 + 1 | 0; + } + if (($$060 | 0) == ($7 | 0)) { + if ($7 >>> 0 >= 3) break; + HEAP32[$4 + ($7 << 2) >> 2] = $0; + HEAP32[$5 + ($7 << 2) >> 2] = $1; + HEAP32[$6 + ($7 << 2) >> 2] = $2; + HEAP32[$3 >> 2] = (HEAP32[$3 >> 2] | 0) + 1; + break; + } + if (($7 | 0) == 3) $$0$ph = 2; else { + HEAP32[$3 >> 2] = $7 + 1; + $$0$ph = $7; + } + $$0 = $$0$ph; + while (1) { + if (($$0 | 0) <= ($$060 | 0)) break; + $24 = $$0 + -1 | 0; + HEAP32[$4 + ($$0 << 2) >> 2] = HEAP32[$4 + ($24 << 2) >> 2]; + HEAP32[$5 + ($$0 << 2) >> 2] = HEAP32[$5 + ($24 << 2) >> 2]; + HEAP32[$6 + ($$0 << 2) >> 2] = HEAP32[$6 + ($24 << 2) >> 2]; + $$0 = $24; + } + HEAP32[$4 + ($$0 << 2) >> 2] = $0; + HEAP32[$5 + ($$0 << 2) >> 2] = $1; + HEAP32[$6 + ($$0 << 2) >> 2] = $2; + } while (0); + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle10PrefixExpr9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy1 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $6 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy1 = sp + 24 | 0; + $2 = sp; + $3 = sp + 16 | 0; + $4 = sp + 8 | 0; + $6 = $0 + 8 | 0; + $11 = HEAP32[$6 + 4 >> 2] | 0; + $12 = $2; + HEAP32[$12 >> 2] = HEAP32[$6 >> 2]; + HEAP32[$12 + 4 >> 2] = $11; + HEAP32[$$byval_copy1 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy1 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, 51968); + HEAP32[$$byval_copy1 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy1 + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy1); + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 16 >> 2] | 0, $1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, 51964); + HEAP32[$$byval_copy1 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy1 + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy1); + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E19parseDestructorNameEv($0) { + $0 = $0 | 0; + var $$0 = 0, $1 = 0, $4 = 0, $isdigit = 0, $storemerge = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + $isdigit = (((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 0) | 0) << 24 >> 24) + -48 | 0) >>> 0 < 10; + $4 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + if ($isdigit) $storemerge = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E13parseSimpleIdEv($4) | 0; else $storemerge = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E19parseUnresolvedTypeEv($4) | 0; + HEAP32[$1 >> 2] = $storemerge; + if (!$storemerge) $$0 = 0; else $$0 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8DtorNameEJRPNS0_4NodeEEEES9_DpOT0_($0, $1) | 0; + STACKTOP = sp; + return $$0 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle9DotSuffix9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy1 = 0, $13 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy1 = sp + 24 | 0; + $2 = sp + 16 | 0; + $3 = sp; + $4 = sp + 8 | 0; + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 8 >> 2] | 0, $1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 54714); + HEAP32[$$byval_copy1 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy1 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy1); + $8 = $0 + 12 | 0; + $13 = HEAP32[$8 + 4 >> 2] | 0; + $14 = $3; + HEAP32[$14 >> 2] = HEAP32[$8 >> 2]; + HEAP32[$14 + 4 >> 2] = $13; + HEAP32[$$byval_copy1 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy1 + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, 51964); + HEAP32[$$byval_copy1 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy1 + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy1); + STACKTOP = sp; + return; +} + +function _icpUpdateMat($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$028 = 0, $$1 = 0, $$129 = 0, $2 = 0, $26 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(256); + $2 = sp + 192 | 0; + $3 = sp + 96 | 0; + $4 = sp; + _icpGetQ_from_S($2, $1); + _icpGetMat_from_Q($3, $2); + $$0 = 0; + while (1) { + if (($$0 | 0) == 3) break; + $5 = $0 + ($$0 << 5) | 0; + $6 = $0 + ($$0 << 5) + 8 | 0; + $7 = $0 + ($$0 << 5) + 16 | 0; + $$028 = 0; + while (1) { + if (($$028 | 0) == 4) break; + HEAPF64[$4 + ($$0 << 5) + ($$028 << 3) >> 3] = +HEAPF64[$5 >> 3] * +HEAPF64[$3 + ($$028 << 3) >> 3] + +HEAPF64[$6 >> 3] * +HEAPF64[$3 + 32 + ($$028 << 3) >> 3] + +HEAPF64[$7 >> 3] * +HEAPF64[$3 + 64 + ($$028 << 3) >> 3]; + $$028 = $$028 + 1 | 0; + } + $26 = $4 + ($$0 << 5) + 24 | 0; + HEAPF64[$26 >> 3] = +HEAPF64[$0 + ($$0 << 5) + 24 >> 3] + +HEAPF64[$26 >> 3]; + $$0 = $$0 + 1 | 0; + } + $$1 = 0; + while (1) { + if (($$1 | 0) == 3) break; + $$129 = 0; + while (1) { + if (($$129 | 0) == 4) break; + HEAPF64[$0 + ($$1 << 5) + ($$129 << 3) >> 3] = +HEAPF64[$4 + ($$1 << 5) + ($$129 << 3) >> 3]; + $$129 = $$129 + 1 | 0; + } + $$1 = $$1 + 1 | 0; + } + STACKTOP = sp; + return 0; +} + +function _addMarker($id, $patt_name) { + $id = $id | 0; + $patt_name = $patt_name | 0; + var $call7 = 0, $cond$i$i$i = 0, $id$addr = 0, $patt_id = 0, $retval$1 = 0, $vararg_buffer = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $vararg_buffer = sp; + $id$addr = sp + 4 | 0; + HEAP32[$id$addr >> 2] = $id; + do if (__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0) { + $call7 = __ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0; + if ((HEAP8[$patt_name + 11 >> 0] | 0) < 0) $cond$i$i$i = HEAP32[$patt_name >> 2] | 0; else $cond$i$i$i = $patt_name; + $patt_id = $call7 + 340 | 0; + if (!(__ZL10loadMarkerPKcPiP8ARHandlePP12ARPattHandle($cond$i$i$i, $patt_id, $call7 + 220 | 0) | 0)) { + _arLog(0, 3, 45305, $vararg_buffer); + $retval$1 = -1; + break; + } else { + $retval$1 = HEAP32[$patt_id >> 2] | 0; + break; + } + } else $retval$1 = -1; while (0); + STACKTOP = sp; + return $retval$1 | 0; +} + +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 & 255; + if ((num | 0) >= 67) { + while (ptr & 3) { + HEAP8[ptr >> 0] = value; + ptr = ptr + 1 | 0; + } + aligned_end = end & -4 | 0; + value4 = value | value << 8 | value << 16 | value << 24; + block_aligned_end = aligned_end - 64 | 0; + 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; + } + } + while ((ptr | 0) < (end | 0)) { + HEAP8[ptr >> 0] = value; + ptr = ptr + 1 | 0; + } + return end - num | 0; +} + +function __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9push_backEw($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$018 = 0, $$019 = 0, $$pn = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $2 = sp; + $3 = sp + 4 | 0; + HEAP32[$2 >> 2] = $1; + $4 = $0 + 8 | 0; + $5 = $4 + 3 | 0; + $6 = HEAP8[$5 >> 0] | 0; + $7 = $6 << 24 >> 24 < 0; + if ($7) { + $$018 = HEAP32[$0 + 4 >> 2] | 0; + $$019 = (HEAP32[$4 >> 2] & 2147483647) + -1 | 0; + } else { + $$018 = $6 & 255; + $$019 = 1; + } + if (($$018 | 0) == ($$019 | 0)) { + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9__grow_byEmmmmmm($0, $$019, 1, $$019, $$019, 0, 0); + if ((HEAP8[$5 >> 0] | 0) < 0) label = 8; else label = 7; + } else if ($7) label = 8; else label = 7; + if ((label | 0) == 7) { + HEAP8[$5 >> 0] = $$018 + 1; + $$pn = $0; + } else if ((label | 0) == 8) { + $19 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 + 4 >> 2] = $$018 + 1; + $$pn = $19; + } + $$0 = $$pn + ($$018 << 2) | 0; + __ZNSt3__211char_traitsIwE6assignERwRKw($$0, $2); + HEAP32[$3 >> 2] = 0; + __ZNSt3__211char_traitsIwE6assignERwRKw($$0 + 4 | 0, $3); + STACKTOP = sp; + return; +} + +function __ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE14__erase_uniqueIiEEmRKT_($this, $__k) { + $this = $this | 0; + $__k = $__k | 0; + var $agg$tmp = 0, $agg$tmp$byval_copy = 0, $call = 0, $retval$0 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $agg$tmp$byval_copy = sp + 4 | 0; + $agg$tmp = sp; + $call = __ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_($this, $__k) | 0; + if (!$call) $retval$0 = 0; else { + HEAP32[$agg$tmp >> 2] = $call; + HEAP32[$agg$tmp$byval_copy >> 2] = HEAP32[$agg$tmp >> 2]; + __ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE5eraseENS_21__hash_const_iteratorIPNS_11__hash_nodeIS3_PvEEEE($this, $agg$tmp$byval_copy) | 0; + $retval$0 = 1; + } + STACKTOP = sp; + return $retval$0 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle15ClosureTypeNameEJRNS2_9NodeArrayERNS_10StringViewEEEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $11 = 0, $12 = 0, $16 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $tmpcast$byval_copy = 0, $tmpcast3$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $tmpcast3$byval_copy = sp + 24 | 0; + $tmpcast$byval_copy = sp + 16 | 0; + $3 = sp + 8 | 0; + $4 = sp; + $5 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 24) | 0; + $6 = $1; + $11 = HEAP32[$6 + 4 >> 2] | 0; + $12 = $3; + HEAP32[$12 >> 2] = HEAP32[$6 >> 2]; + HEAP32[$12 + 4 >> 2] = $11; + $16 = $2; + $21 = HEAP32[$16 + 4 >> 2] | 0; + $22 = $4; + HEAP32[$22 >> 2] = HEAP32[$16 >> 2]; + HEAP32[$22 + 4 >> 2] = $21; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + HEAP32[$tmpcast3$byval_copy >> 2] = HEAP32[$4 >> 2]; + HEAP32[$tmpcast3$byval_copy + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle15ClosureTypeNameC2ENS0_9NodeArrayENS_10StringViewE($5, $tmpcast$byval_copy, $tmpcast3$byval_copy); + STACKTOP = sp; + return $5 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle12TemplateArgs9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy2 = 0, $2 = 0, $3 = 0, $4 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy2 = sp + 24 | 0; + $2 = sp + 16 | 0; + $3 = sp + 8 | 0; + $4 = sp; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 52150); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy2); + __ZNK12_GLOBAL__N_116itanium_demangle9NodeArray14printWithCommaERNS_12OutputStreamE($0 + 8 | 0, $1); + if ((__ZNK12_GLOBAL__N_112OutputStream4backEv($1) | 0) << 24 >> 24 == 62) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, 51966); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy2); + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, 52043); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy2); + STACKTOP = sp; + return; +} + +function __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE9__grow_byEmmmmmm($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 $$sroa$speculated = 0, $15 = 0, $16 = 0, $21 = 0, $24 = 0, $25 = 0, $27 = 0, $29 = 0, $35 = 0, $9 = 0; + if ((1073741807 - $1 | 0) >>> 0 < $2 >>> 0) __ZNKSt3__221__basic_string_commonILb1EE20__throw_length_errorEv($0); + $9 = $0 + 8 | 0; + if ((HEAP8[$9 + 3 >> 0] | 0) < 0) $27 = HEAP32[$0 >> 2] | 0; else $27 = $0; + if ($1 >>> 0 < 536870887) { + $15 = $2 + $1 | 0; + $16 = $1 << 1; + $$sroa$speculated = $15 >>> 0 < $16 >>> 0 ? $16 : $15; + $21 = $$sroa$speculated >>> 0 < 2 ? 2 : $$sroa$speculated + 4 & -4; + if ($21 >>> 0 > 1073741823) _abort(); else $24 = $21; + } else $24 = 1073741807; + $25 = __Znwm($24 << 2) | 0; + if ($4 | 0) __ZNSt3__211char_traitsIwE4copyEPwPKwm($25, $27, $4) | 0; + $29 = $3 - $5 - $4 | 0; + if ($29 | 0) __ZNSt3__211char_traitsIwE4copyEPwPKwm($25 + ($4 << 2) + ($6 << 2) | 0, $27 + ($4 << 2) + ($5 << 2) | 0, $29) | 0; + $35 = $1 + 1 | 0; + if (($35 | 0) != 2) __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($27, $35 << 2); + HEAP32[$0 >> 2] = $25; + HEAP32[$9 >> 2] = $24 | -2147483648; + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle10BracedExpr9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy = 0, $10 = 0, $11 = 0, $13 = 0, $2 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $2 = sp; + if (!(HEAP8[$0 + 16 >> 0] | 0)) { + __ZN12_GLOBAL__N_112OutputStreampLEc($1, 46); + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 8 >> 2] | 0, $1); + } else { + __ZN12_GLOBAL__N_112OutputStreampLEc($1, 91); + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 8 >> 2] | 0, $1); + __ZN12_GLOBAL__N_112OutputStreampLEc($1, 93); + } + $10 = $0 + 12 | 0; + $11 = HEAP32[$10 >> 2] | 0; + if (((__ZNK12_GLOBAL__N_116itanium_demangle4Node7getKindEv($11) | 0) + -65 & 255) < 2) $13 = $11; else { + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 53404); + HEAP32[$$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy); + $13 = HEAP32[$10 >> 2] | 0; + } + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE($13, $1); + STACKTOP = sp; + return; +} + +function _getDeltaS_181($H, $dU, $J_U_H, $n) { + $H = $H | 0; + $dU = $dU | 0; + $J_U_H = $J_U_H | 0; + $n = $n | 0; + var $call = 0, $call10 = 0, $call8 = 0, $matH = 0, $matJ = 0, $matU = 0, $ret$0 = 0, $ret$1 = 0, $ret$2 = 0, $ret$3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $matH = sp + 24 | 0; + $matU = sp + 12 | 0; + $matJ = sp; + HEAP32[$matH + 4 >> 2] = 8; + HEAP32[$matH + 8 >> 2] = 1; + HEAP32[$matH >> 2] = $H; + HEAP32[$matU + 4 >> 2] = $n; + HEAP32[$matU + 8 >> 2] = 1; + HEAP32[$matU >> 2] = $dU; + HEAP32[$matJ + 4 >> 2] = $n; + HEAP32[$matJ + 8 >> 2] = 8; + HEAP32[$matJ >> 2] = $J_U_H; + $call = _arMatrixAllocTransf($matJ) | 0; + if (!$call) $ret$3 = -1; else { + $call8 = _arMatrixAllocMulf($call, $matJ) | 0; + if (!$call8) $ret$2 = -1; else { + $call10 = _arMatrixAllocMulf($call, $matU) | 0; + if (!$call10) $ret$1 = -1; else { + if ((_arMatrixSelfInvf($call8) | 0) < 0) $ret$0 = -1; else { + _arMatrixMulf($matH, $call8, $call10) | 0; + $ret$0 = 0; + } + _arMatrixFreef($call10) | 0; + $ret$1 = $ret$0; + } + _arMatrixFreef($call8) | 0; + $ret$2 = $ret$1; + } + _arMatrixFreef($call) | 0; + $ret$3 = $ret$2; + } + STACKTOP = sp; + return $ret$3 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle16FunctionEncodingEJRPNS2_4NodeES6_NS2_9NodeArrayES6_RNS2_10QualifiersERNS2_15FunctionRefQualEEEEPT_DpOT0_($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 $10 = 0, $11 = 0, $16 = 0, $17 = 0, $21 = 0, $22 = 0, $23 = 0, $7 = 0, $8 = 0, $9 = 0, $tmpcast$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $tmpcast$byval_copy = sp + 8 | 0; + $7 = sp; + $8 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 36) | 0; + $9 = HEAP32[$1 >> 2] | 0; + $10 = HEAP32[$2 >> 2] | 0; + $11 = $3; + $16 = HEAP32[$11 + 4 >> 2] | 0; + $17 = $7; + HEAP32[$17 >> 2] = HEAP32[$11 >> 2]; + HEAP32[$17 + 4 >> 2] = $16; + $21 = HEAP32[$4 >> 2] | 0; + $22 = HEAP32[$5 >> 2] | 0; + $23 = HEAP8[$6 >> 0] | 0; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$7 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$7 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle16FunctionEncodingC2EPKNS0_4NodeES4_NS0_9NodeArrayES4_NS0_10QualifiersENS0_15FunctionRefQualE($8, $9, $10, $tmpcast$byval_copy, $21, $22, $23); + STACKTOP = sp; + return $8 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle10DeleteExpr9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy2 = 0, $2 = 0, $3 = 0, $4 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy2 = sp + 24 | 0; + $2 = sp + 16 | 0; + $3 = sp + 8 | 0; + $4 = sp; + if (HEAP8[$0 + 12 >> 0] | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 53698); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy2); + } + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, 54494); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy2); + if (HEAP8[$0 + 13 >> 0] | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, 54501); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy2); + } + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 8 >> 2] | 0, $1); + STACKTOP = sp; + return; +} + +function _icpGetMat_from_Q($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $12 = 0, $16 = 0, $3 = 0.0, $4 = 0.0, $40 = 0.0, $5 = 0.0, $6 = 0.0, $7 = 0.0, $72 = 0.0; + $3 = +HEAPF64[$1 + 24 >> 3]; + $4 = +Math_cos(+$3); + $5 = 1.0 - $4; + $6 = +Math_sin(+$3); + $7 = +HEAPF64[$1 >> 3]; + HEAPF64[$0 >> 3] = $4 + $7 * $7 * $5; + $12 = $1 + 8 | 0; + $16 = $1 + 16 | 0; + HEAPF64[$0 + 8 >> 3] = $5 * (+HEAPF64[$1 >> 3] * +HEAPF64[$12 >> 3]) - $6 * +HEAPF64[$16 >> 3]; + HEAPF64[$0 + 16 >> 3] = $5 * (+HEAPF64[$1 >> 3] * +HEAPF64[$16 >> 3]) + $6 * +HEAPF64[$12 >> 3]; + HEAPF64[$0 + 24 >> 3] = +HEAPF64[$1 + 32 >> 3]; + HEAPF64[$0 + 32 >> 3] = $5 * (+HEAPF64[$12 >> 3] * +HEAPF64[$1 >> 3]) + $6 * +HEAPF64[$16 >> 3]; + $40 = +HEAPF64[$12 >> 3]; + HEAPF64[$0 + 40 >> 3] = $4 + $5 * ($40 * $40); + HEAPF64[$0 + 48 >> 3] = $5 * (+HEAPF64[$12 >> 3] * +HEAPF64[$16 >> 3]) - $6 * +HEAPF64[$1 >> 3]; + HEAPF64[$0 + 56 >> 3] = +HEAPF64[$1 + 40 >> 3]; + HEAPF64[$0 + 64 >> 3] = $5 * (+HEAPF64[$16 >> 3] * +HEAPF64[$1 >> 3]) - $6 * +HEAPF64[$12 >> 3]; + HEAPF64[$0 + 72 >> 3] = $5 * (+HEAPF64[$16 >> 3] * +HEAPF64[$12 >> 3]) + $6 * +HEAPF64[$1 >> 3]; + $72 = +HEAPF64[$16 >> 3]; + HEAPF64[$0 + 80 >> 3] = $4 + $5 * ($72 * $72); + HEAPF64[$0 + 88 >> 3] = +HEAPF64[$1 + 48 >> 3]; + return; +} + +function __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9push_backEc($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$018 = 0, $$019 = 0, $$pn = 0, $19 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $2 = sp; + $3 = sp + 1 | 0; + HEAP8[$2 >> 0] = $1; + $4 = $0 + 11 | 0; + $5 = HEAP8[$4 >> 0] | 0; + $6 = $5 << 24 >> 24 < 0; + if ($6) { + $$018 = HEAP32[$0 + 4 >> 2] | 0; + $$019 = (HEAP32[$0 + 8 >> 2] & 2147483647) + -1 | 0; + } else { + $$018 = $5 & 255; + $$019 = 10; + } + if (($$018 | 0) == ($$019 | 0)) { + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__grow_byEmmmmmm($0, $$019, 1, $$019, $$019, 0, 0); + if ((HEAP8[$4 >> 0] | 0) < 0) label = 8; else label = 7; + } else if ($6) label = 8; else label = 7; + if ((label | 0) == 7) { + HEAP8[$4 >> 0] = $$018 + 1; + $$pn = $0; + } else if ((label | 0) == 8) { + $19 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 + 4 >> 2] = $$018 + 1; + $$pn = $19; + } + $$0 = $$pn + $$018 | 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($$0, $2); + HEAP8[$3 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($$0 + 1 | 0, $3); + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E26resolveForwardTemplateRefsERNS5_9NameStateE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$017 = 0, $$2 = 0, $11 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $8 = 0, $9 = 0, label = 0; + $3 = HEAP32[$1 + 12 >> 2] | 0; + $4 = $0 + 332 | 0; + $5 = __ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_24ForwardTemplateReferenceELm4EE4sizeEv($4) | 0; + $6 = $0 + 288 | 0; + $$017 = $3; + while (1) { + if ($$017 >>> 0 >= $5 >>> 0) { + label = 5; + break; + } + $8 = __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_24ForwardTemplateReferenceELm4EEixEm($4, $$017) | 0; + $9 = HEAP32[$8 >> 2] | 0; + $11 = HEAP32[$9 + 8 >> 2] | 0; + if ($11 >>> 0 >= (__ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EE4sizeEv($6) | 0) >>> 0) { + $$2 = 1; + break; + } + $14 = __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EEixEm($6, $11) | 0; + HEAP32[$9 + 12 >> 2] = HEAP32[$14 >> 2]; + $$017 = $$017 + 1 | 0; + } + if ((label | 0) == 5) { + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_24ForwardTemplateReferenceELm4EE8dropBackEm($4, $3); + $$2 = 0; + } + return $$2 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle14IntegerLiteralEJRNS_10StringViewES5_EEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $11 = 0, $12 = 0, $16 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $tmpcast$byval_copy = 0, $tmpcast3$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $tmpcast3$byval_copy = sp + 24 | 0; + $tmpcast$byval_copy = sp + 16 | 0; + $3 = sp + 8 | 0; + $4 = sp; + $5 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 24) | 0; + $6 = $1; + $11 = HEAP32[$6 + 4 >> 2] | 0; + $12 = $3; + HEAP32[$12 >> 2] = HEAP32[$6 >> 2]; + HEAP32[$12 + 4 >> 2] = $11; + $16 = $2; + $21 = HEAP32[$16 + 4 >> 2] | 0; + $22 = $4; + HEAP32[$22 >> 2] = HEAP32[$16 >> 2]; + HEAP32[$22 + 4 >> 2] = $21; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + HEAP32[$tmpcast3$byval_copy >> 2] = HEAP32[$4 >> 2]; + HEAP32[$tmpcast3$byval_copy + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle14IntegerLiteralC2ENS_10StringViewES2_($5, $tmpcast$byval_copy, $tmpcast3$byval_copy); + STACKTOP = sp; + return $5 | 0; +} + +function _loadCamera($cparam_name) { + $cparam_name = $cparam_name | 0; + var $4 = 0, $__size_$i$i$i$i = 0, $cond$i$i$i = 0, $cond$i$i$i6 = 0, $param = 0, $retval$0 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 208 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(208); + $vararg_buffer1 = sp + 192 | 0; + $vararg_buffer = sp + 184 | 0; + $param = sp; + $__size_$i$i$i$i = $cparam_name + 11 | 0; + if ((HEAP8[$__size_$i$i$i$i >> 0] | 0) < 0) $cond$i$i$i = HEAP32[$cparam_name >> 2] | 0; else $cond$i$i$i = $cparam_name; + if ((_arParamLoad($cond$i$i$i, 1, $param, $vararg_buffer) | 0) < 0) { + if ((HEAP8[$__size_$i$i$i$i >> 0] | 0) < 0) $cond$i$i$i6 = HEAP32[$cparam_name >> 2] | 0; else $cond$i$i$i6 = $cparam_name; + HEAP32[$vararg_buffer1 >> 2] = $cond$i$i$i6; + _arLog(0, 3, 44850, $vararg_buffer1); + $retval$0 = -1; + } else { + $4 = HEAP32[16325] | 0; + HEAP32[16325] = $4 + 1; + HEAP32[$vararg_buffer >> 2] = $4; + _memcpy(__ZNSt3__213unordered_mapIi7ARParamNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65280, $vararg_buffer) | 0, $param | 0, 184) | 0; + $retval$0 = HEAP32[$vararg_buffer >> 2] | 0; + } + STACKTOP = sp; + return $retval$0 | 0; +} + +function _getTransMatSquareCont($id, $markerIndex, $markerWidth) { + $id = $id | 0; + $markerIndex = $markerIndex | 0; + $markerWidth = $markerWidth | 0; + var $1 = 0, $call7 = 0, $id$addr = 0, $retval$1 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $id$addr = sp; + HEAP32[$id$addr >> 2] = $id; + do if (__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0) { + $call7 = __ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0; + $1 = HEAP32[$call7 + 216 >> 2] | 0; + if ((HEAP32[$1 + 44 >> 2] | 0) > ($markerIndex | 0)) { + +_arGetTransMatSquareCont(HEAP32[$call7 + 228 >> 2] | 0, ($markerIndex | 0) < 0 ? 64312 : $1 + 48 + ($markerIndex << 8) | 0, 61136, +($markerWidth | 0), 61136); + $retval$1 = 0; + break; + } else { + $retval$1 = HEAP32[4226] | 0; + break; + } + } else $retval$1 = HEAP32[4224] | 0; while (0); + STACKTOP = sp; + return $retval$1 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle13ReferenceType10printRightERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy = sp + 24 | 0; + $2 = sp + 16 | 0; + $3 = sp + 8 | 0; + $4 = sp; + $5 = $0 + 16 | 0; + if (!(HEAP8[$5 >> 0] | 0)) { + __ZN12_GLOBAL__N_114SwapAndRestoreIbEC2ERbb($2, $5, 1); + __ZNK12_GLOBAL__N_116itanium_demangle13ReferenceType8collapseERNS_12OutputStreamE($3, $0, $1); + $9 = HEAP32[$3 + 4 >> 2] | 0; + if (!(__ZNK12_GLOBAL__N_116itanium_demangle4Node8hasArrayERNS_12OutputStreamE($9, $1) | 0) ? !(__ZNK12_GLOBAL__N_116itanium_demangle4Node11hasFunctionERNS_12OutputStreamE($9, $1) | 0) : 0) {} else { + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, 51964); + HEAP32[$$byval_copy >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy); + } + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$9 >> 2] | 0) + 20 >> 2] & 255]($9, $1); + __ZN12_GLOBAL__N_114SwapAndRestoreIbED2Ev($2); + } + STACKTOP = sp; + return; +} + +function _jpeg_CreateDecompress($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$pre$phiZ2D = 0, $13 = 0, $20 = 0, $21 = 0, $22 = 0, $5 = 0, dest = 0, stop = 0; + HEAP32[$0 + 4 >> 2] = 0; + if (($1 | 0) != 90) { + $5 = HEAP32[$0 >> 2] | 0; + HEAP32[$5 + 20 >> 2] = 13; + HEAP32[$5 + 24 >> 2] = 90; + HEAP32[(HEAP32[$0 >> 2] | 0) + 28 >> 2] = $1; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + if (($2 | 0) == 488) $$pre$phiZ2D = $0; else { + $13 = HEAP32[$0 >> 2] | 0; + HEAP32[$13 + 20 >> 2] = 22; + HEAP32[$13 + 24 >> 2] = 488; + HEAP32[(HEAP32[$0 >> 2] | 0) + 28 >> 2] = $2; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + $$pre$phiZ2D = $0; + } + $20 = HEAP32[$0 >> 2] | 0; + $21 = $0 + 12 | 0; + $22 = HEAP32[$21 >> 2] | 0; + _memset($0 + 4 | 0, 0, 484) | 0; + HEAP32[$0 >> 2] = $20; + HEAP32[$21 >> 2] = $22; + HEAP32[$0 + 16 >> 2] = 1; + _jinit_memory_mgr($$pre$phiZ2D); + HEAP32[$0 + 8 >> 2] = 0; + HEAP32[$0 + 24 >> 2] = 0; + HEAP32[$0 + 312 >> 2] = 0; + dest = $0 + 164 | 0; + stop = dest + 48 | 0; + do { + HEAP32[dest >> 2] = 0; + dest = dest + 4 | 0; + } while ((dest | 0) < (stop | 0)); + _jinit_marker_reader($0); + _jinit_input_controller($0); + HEAP32[$0 + 20 >> 2] = 200; + return; +} +function _start_pass_dpost($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $19 = 0, $28 = 0, $3 = 0, $35 = 0, $39 = 0, $8 = 0; + $3 = HEAP32[$0 + 456 >> 2] | 0; + L1 : do switch ($1 | 0) { + case 0: + { + if (!(HEAP32[$0 + 84 >> 2] | 0)) { + HEAP32[$3 + 4 >> 2] = HEAP32[(HEAP32[$0 + 476 >> 2] | 0) + 4 >> 2]; + break L1; + } + HEAP32[$3 + 4 >> 2] = 4; + $8 = $3 + 12 | 0; + if (!(HEAP32[$8 >> 2] | 0)) { + $19 = FUNCTION_TABLE_iiiiii[HEAP32[(HEAP32[$0 + 4 >> 2] | 0) + 28 >> 2] & 31]($0, HEAP32[$3 + 8 >> 2] | 0, 0, HEAP32[$3 + 16 >> 2] | 0, 1) | 0; + HEAP32[$8 >> 2] = $19; + } + break; + } + case 3: + { + if (!(HEAP32[$3 + 8 >> 2] | 0)) { + $28 = HEAP32[$0 >> 2] | 0; + HEAP32[$28 + 20 >> 2] = 3; + FUNCTION_TABLE_vi[HEAP32[$28 >> 2] & 255]($0); + } + HEAP32[$3 + 4 >> 2] = 5; + break; + } + case 2: + { + if (!(HEAP32[$3 + 8 >> 2] | 0)) { + $35 = HEAP32[$0 >> 2] | 0; + HEAP32[$35 + 20 >> 2] = 3; + FUNCTION_TABLE_vi[HEAP32[$35 >> 2] & 255]($0); + } + HEAP32[$3 + 4 >> 2] = 6; + break; + } + default: + { + $39 = HEAP32[$0 >> 2] | 0; + HEAP32[$39 + 20 >> 2] = 3; + FUNCTION_TABLE_vi[HEAP32[$39 >> 2] & 255]($0); + } + } while (0); + HEAP32[$3 + 24 >> 2] = 0; + HEAP32[$3 + 20 >> 2] = 0; + return; +} + +function __ZNSt3__225__num_get_signed_integralIxEET_PKcS3_Rji($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $10 = 0, $11 = 0, $12 = 0, $13 = 0, $15 = 0, $23 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0, $4 = 0, $6 = 0, $7 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $4 = sp; + if (($0 | 0) == ($1 | 0)) { + HEAP32[$2 >> 2] = 4; + $26 = 0; + $27 = 0; + } else { + $6 = ___errno_location() | 0; + $7 = HEAP32[$6 >> 2] | 0; + $8 = ___errno_location() | 0; + HEAP32[$8 >> 2] = 0; + $10 = _strtoll_l($0, $4, $3, __ZNSt3__26__clocEv() | 0) | 0; + $11 = getTempRet0() | 0; + $12 = ___errno_location() | 0; + $13 = HEAP32[$12 >> 2] | 0; + if (!$13) { + $15 = ___errno_location() | 0; + HEAP32[$15 >> 2] = $7; + } + if ((HEAP32[$4 >> 2] | 0) == ($1 | 0)) if (($13 | 0) == 68) { + HEAP32[$2 >> 2] = 4; + $23 = ($11 | 0) > 0 | ($11 | 0) == 0 & $10 >>> 0 > 0; + $28 = $23 ? -1 : 0; + $29 = $23 ? 2147483647 : -2147483648; + } else { + $28 = $10; + $29 = $11; + } else { + HEAP32[$2 >> 2] = 4; + $28 = 0; + $29 = 0; + } + $26 = $29; + $27 = $28; + } + setTempRet0($26 | 0); + STACKTOP = sp; + return $27 | 0; +} + +function _vsnprintf($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0, $$014 = 0, $$015 = 0, $11 = 0, $14 = 0, $16 = 0, $17 = 0, $19 = 0, $21 = 0, $4 = 0, $5 = 0, $9 = 0, $spec$select = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 160 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(160); + $4 = sp + 144 | 0; + $5 = sp; + _memcpy($5 | 0, 13736, 144) | 0; + if (($1 + -1 | 0) >>> 0 > 2147483646) if (!$1) { + $$014 = $4; + $$015 = 1; + label = 4; + } else { + $9 = ___errno_location() | 0; + HEAP32[$9 >> 2] = 61; + $$0 = -1; + } else { + $$014 = $0; + $$015 = $1; + label = 4; + } + if ((label | 0) == 4) { + $11 = -2 - $$014 | 0; + $spec$select = $$015 >>> 0 > $11 >>> 0 ? $11 : $$015; + HEAP32[$5 + 48 >> 2] = $spec$select; + $14 = $5 + 20 | 0; + HEAP32[$14 >> 2] = $$014; + HEAP32[$5 + 44 >> 2] = $$014; + $16 = $$014 + $spec$select | 0; + $17 = $5 + 16 | 0; + HEAP32[$17 >> 2] = $16; + HEAP32[$5 + 28 >> 2] = $16; + $19 = _vfprintf($5, $2, $3) | 0; + if (!$spec$select) $$0 = $19; else { + $21 = HEAP32[$14 >> 2] | 0; + HEAP8[$21 + ((($21 | 0) == (HEAP32[$17 >> 2] | 0)) << 31 >> 31) >> 0] = 0; + $$0 = $19; + } + } + STACKTOP = sp; + return $$0 | 0; +} + +function _getTransMatSquare($id, $markerIndex, $markerWidth) { + $id = $id | 0; + $markerIndex = $markerIndex | 0; + $markerWidth = $markerWidth | 0; + var $1 = 0, $call7 = 0, $id$addr = 0, $retval$1 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $id$addr = sp; + HEAP32[$id$addr >> 2] = $id; + do if (__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0) { + $call7 = __ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0; + $1 = HEAP32[$call7 + 216 >> 2] | 0; + if ((HEAP32[$1 + 44 >> 2] | 0) > ($markerIndex | 0)) { + +_arGetTransMatSquare(HEAP32[$call7 + 228 >> 2] | 0, ($markerIndex | 0) < 0 ? 64312 : $1 + 48 + ($markerIndex << 8) | 0, +($markerWidth | 0), 61136); + $retval$1 = 0; + break; + } else { + $retval$1 = HEAP32[4226] | 0; + break; + } + } else $retval$1 = HEAP32[4224] | 0; while (0); + STACKTOP = sp; + return $retval$1 | 0; +} + +function _icpGetDeltaS($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0, $13 = 0, $15 = 0, $17 = 0, $4 = 0, $5 = 0, $6 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $4 = sp + 24 | 0; + $5 = sp + 12 | 0; + $6 = sp; + HEAP32[$4 + 4 >> 2] = 6; + HEAP32[$4 + 8 >> 2] = 1; + HEAP32[$4 >> 2] = $0; + HEAP32[$5 + 4 >> 2] = $3; + HEAP32[$5 + 8 >> 2] = 1; + HEAP32[$5 >> 2] = $1; + HEAP32[$6 + 4 >> 2] = $3; + HEAP32[$6 + 8 >> 2] = 6; + HEAP32[$6 >> 2] = $2; + $13 = _arMatrixAllocTrans($6) | 0; + do if ($13) { + $15 = _arMatrixAllocMul($13, $6) | 0; + if (!$15) { + _arMatrixFree($13) | 0; + $$0 = -1; + break; + } + $17 = _arMatrixAllocMul($13, $5) | 0; + if (!$17) { + _arMatrixFree($13) | 0; + _arMatrixFree($15) | 0; + $$0 = -1; + break; + } + if ((_arMatrixSelfInv($15) | 0) < 0) { + _arMatrixFree($13) | 0; + _arMatrixFree($15) | 0; + _arMatrixFree($17) | 0; + $$0 = -1; + break; + } else { + _arMatrixMul($4, $15, $17) | 0; + _arMatrixFree($13) | 0; + _arMatrixFree($15) | 0; + _arMatrixFree($17) | 0; + $$0 = 0; + break; + } + } else $$0 = -1; while (0); + STACKTOP = sp; + return $$0 | 0; +} + +function __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11do_get_dateES4_S4_RNS_8ios_baseERjP2tm($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 $$byval_copy = 0, $$byval_copy1 = 0, $12 = 0, $17 = 0, $18 = 0, $23 = 0, $25 = 0, $26 = 0, $6 = 0, $7 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy1 = sp + 12 | 0; + $$byval_copy = sp + 8 | 0; + $6 = sp + 4 | 0; + $7 = sp; + $8 = $0 + 8 | 0; + $12 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$8 >> 2] | 0) + 20 >> 2] & 127]($8) | 0; + HEAP32[$6 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$7 >> 2] = HEAP32[$2 >> 2]; + $17 = HEAP8[$12 + 8 + 3 >> 0] | 0; + $18 = $17 << 24 >> 24 < 0; + $23 = $18 ? HEAP32[$12 >> 2] | 0 : $12; + $25 = $23 + (($18 ? HEAP32[$12 + 4 >> 2] | 0 : $17 & 255) << 2) | 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + HEAP32[$$byval_copy1 >> 2] = HEAP32[$7 >> 2]; + $26 = __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjP2tmPKwSC_($0, $$byval_copy, $$byval_copy1, $3, $4, $5, $23, $25) | 0; + STACKTOP = sp; + return $26 | 0; +} + +function __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE6xsputnEPKwl($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$0$be = 0, $$021 = 0, $$021$be = 0, $$sroa$speculated = 0, $12 = 0, $14 = 0, $22 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $7 = 0, $8 = 0; + $3 = __ZNSt3__211char_traitsIwE3eofEv() | 0; + $4 = $0 + 24 | 0; + $5 = $0 + 28 | 0; + $$0 = $1; + $$021 = 0; + while (1) { + if (($$021 | 0) >= ($2 | 0)) break; + $7 = HEAP32[$4 >> 2] | 0; + $8 = HEAP32[$5 >> 2] | 0; + if ($7 >>> 0 < $8 >>> 0) { + $22 = $8 - $7 >> 2; + $23 = $2 - $$021 | 0; + $$sroa$speculated = ($23 | 0) < ($22 | 0) ? $23 : $22; + __ZNSt3__211char_traitsIwE4copyEPwPKwm($7, $$0, $$sroa$speculated) | 0; + HEAP32[$4 >> 2] = (HEAP32[$4 >> 2] | 0) + ($$sroa$speculated << 2); + $$0$be = $$0 + ($$sroa$speculated << 2) | 0; + $$021$be = $$sroa$speculated + $$021 | 0; + } else { + $12 = HEAP32[(HEAP32[$0 >> 2] | 0) + 52 >> 2] | 0; + $14 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$$0 >> 2] | 0) | 0; + if ((FUNCTION_TABLE_iii[$12 & 127]($0, $14) | 0) == ($3 | 0)) break; + $$0$be = $$0 + 4 | 0; + $$021$be = $$021 + 1 | 0; + } + $$0 = $$0$be; + $$021 = $$021$be; + } + return $$021 | 0; +} + +function _rgb_convert_54($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$03338$us = 0, $$03439$us = 0, $$03637$us = 0, $$040$us = 0, $$in = 0, $14 = 0, $17 = 0, $20 = 0, $6 = 0, $8 = 0, $9 = 0, $$in$looptemp = 0; + $6 = HEAP32[$0 + 112 >> 2] | 0; + if (($4 | 0) <= 0) return; + $8 = $1 + 4 | 0; + $9 = $1 + 8 | 0; + if (!$6) return; + $$03439$us = $3; + $$040$us = $2; + $$in = $4; + while (1) { + $$in$looptemp = $$in; + $$in = $$in + -1 | 0; + $14 = HEAP32[(HEAP32[$1 >> 2] | 0) + ($$040$us << 2) >> 2] | 0; + $17 = HEAP32[(HEAP32[$8 >> 2] | 0) + ($$040$us << 2) >> 2] | 0; + $20 = HEAP32[(HEAP32[$9 >> 2] | 0) + ($$040$us << 2) >> 2] | 0; + $$040$us = $$040$us + 1 | 0; + $$03338$us = 0; + $$03637$us = HEAP32[$$03439$us >> 2] | 0; + while (1) { + HEAP8[$$03637$us >> 0] = HEAP8[$14 + $$03338$us >> 0] | 0; + HEAP8[$$03637$us + 1 >> 0] = HEAP8[$17 + $$03338$us >> 0] | 0; + HEAP8[$$03637$us + 2 >> 0] = HEAP8[$20 + $$03338$us >> 0] | 0; + $$03338$us = $$03338$us + 1 | 0; + if (($$03338$us | 0) == ($6 | 0)) break; else $$03637$us = $$03637$us + 3 | 0; + } + if (($$in$looptemp | 0) <= 1) break; else $$03439$us = $$03439$us + 4 | 0; + } + return; +} + +function __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11do_get_dateES4_S4_RNS_8ios_baseERjP2tm($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 $$byval_copy = 0, $$byval_copy1 = 0, $12 = 0, $16 = 0, $17 = 0, $22 = 0, $24 = 0, $25 = 0, $6 = 0, $7 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy1 = sp + 12 | 0; + $$byval_copy = sp + 8 | 0; + $6 = sp + 4 | 0; + $7 = sp; + $8 = $0 + 8 | 0; + $12 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$8 >> 2] | 0) + 20 >> 2] & 127]($8) | 0; + HEAP32[$6 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$7 >> 2] = HEAP32[$2 >> 2]; + $16 = HEAP8[$12 + 11 >> 0] | 0; + $17 = $16 << 24 >> 24 < 0; + $22 = $17 ? HEAP32[$12 >> 2] | 0 : $12; + $24 = $22 + ($17 ? HEAP32[$12 + 4 >> 2] | 0 : $16 & 255) | 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + HEAP32[$$byval_copy1 >> 2] = HEAP32[$7 >> 2]; + $25 = __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjP2tmPKcSC_($0, $$byval_copy, $$byval_copy1, $3, $4, $5, $22, $24) | 0; + STACKTOP = sp; + return $25 | 0; +} + +function _jpeg_read_scanlines($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $12 = 0, $13 = 0, $15 = 0, $17 = 0, $22 = 0, $3 = 0, $31 = 0, $5 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp; + $5 = HEAP32[$0 + 20 >> 2] | 0; + if (($5 | 0) != 205) { + $7 = HEAP32[$0 >> 2] | 0; + HEAP32[$7 + 20 >> 2] = 21; + HEAP32[$7 + 24 >> 2] = $5; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + $12 = $0 + 140 | 0; + $13 = HEAP32[$12 >> 2] | 0; + $15 = HEAP32[$0 + 116 >> 2] | 0; + if ($13 >>> 0 >= $15 >>> 0) { + $17 = HEAP32[$0 >> 2] | 0; + HEAP32[$17 + 20 >> 2] = 126; + FUNCTION_TABLE_vii[HEAP32[$17 + 4 >> 2] & 255]($0, -1); + $$0 = 0; + STACKTOP = sp; + return $$0 | 0; + } + $22 = HEAP32[$0 + 8 >> 2] | 0; + if ($22 | 0) { + HEAP32[$22 + 4 >> 2] = $13; + HEAP32[$22 + 8 >> 2] = $15; + FUNCTION_TABLE_vi[HEAP32[$22 >> 2] & 255]($0); + } + HEAP32[$3 >> 2] = 0; + FUNCTION_TABLE_viiii[HEAP32[(HEAP32[$0 + 448 >> 2] | 0) + 4 >> 2] & 31]($0, $1, $3, $2); + $31 = HEAP32[$3 >> 2] | 0; + HEAP32[$12 >> 2] = (HEAP32[$12 >> 2] | 0) + $31; + $$0 = $31; + STACKTOP = sp; + return $$0 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle13EnclosingExpr9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $10 = 0, $11 = 0, $18 = 0, $2 = 0, $23 = 0, $24 = 0, $3 = 0, $5 = 0, $tmpcast4$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $tmpcast4$byval_copy = sp + 16 | 0; + $2 = sp + 8 | 0; + $3 = sp; + $5 = $0 + 8 | 0; + $10 = HEAP32[$5 + 4 >> 2] | 0; + $11 = $2; + HEAP32[$11 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$11 + 4 >> 2] = $10; + HEAP32[$tmpcast4$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$tmpcast4$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $tmpcast4$byval_copy); + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 16 >> 2] | 0, $1); + $18 = $0 + 20 | 0; + $23 = HEAP32[$18 + 4 >> 2] | 0; + $24 = $3; + HEAP32[$24 >> 2] = HEAP32[$18 >> 2]; + HEAP32[$24 + 4 >> 2] = $23; + HEAP32[$tmpcast4$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$tmpcast4$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $tmpcast4$byval_copy); + STACKTOP = sp; + return; +} + +function _EX($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$039 = 0, $$040 = 0, $$041 = 0, $$043 = 0, $$1 = 0, $$142 = 0, $$2 = 0, $23 = 0.0, $25 = 0, $3 = 0, $5 = 0; + $3 = HEAP32[$0 + 4 >> 2] | 0; + $5 = HEAP32[$0 + 8 >> 2] | 0; + L1 : do if (!(($3 | 0) < 1 | ($5 | 0) < 1) ? (HEAP32[$1 + 4 >> 2] | 0) == ($5 | 0) : 0) { + $$039 = 0; + while (1) { + if (($$039 | 0) == ($5 | 0)) break; + HEAPF64[(HEAP32[$1 >> 2] | 0) + ($$039 << 3) >> 3] = 0.0; + $$039 = $$039 + 1 | 0; + } + $$041 = HEAP32[$0 >> 2] | 0; + $$1 = 0; + while (1) { + if (($$1 | 0) == ($3 | 0)) break; + $$0 = 0; + $$043 = HEAP32[$1 >> 2] | 0; + $$142 = $$041; + while (1) { + if (($$0 | 0) == ($5 | 0)) break; + HEAPF64[$$043 >> 3] = +HEAPF64[$$142 >> 3] + +HEAPF64[$$043 >> 3]; + $$0 = $$0 + 1 | 0; + $$043 = $$043 + 8 | 0; + $$142 = $$142 + 8 | 0; + } + $$041 = $$041 + ($5 << 3) | 0; + $$1 = $$1 + 1 | 0; + } + $23 = +($3 | 0); + $$2 = 0; + while (1) { + if (($$2 | 0) == ($5 | 0)) { + $$040 = 0; + break L1; + } + $25 = (HEAP32[$1 >> 2] | 0) + ($$2 << 3) | 0; + HEAPF64[$25 >> 3] = +HEAPF64[$25 >> 3] / $23; + $$2 = $$2 + 1 | 0; + } + } else $$040 = -1; while (0); + return $$040 | 0; +} + +function __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE6xsputnEPKcl($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$0$be = 0, $$021 = 0, $$021$be = 0, $$sroa$speculated = 0, $12 = 0, $14 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $7 = 0, $8 = 0; + $3 = __ZNSt3__211char_traitsIcE3eofEv() | 0; + $4 = $0 + 24 | 0; + $5 = $0 + 28 | 0; + $$0 = $1; + $$021 = 0; + while (1) { + if (($$021 | 0) >= ($2 | 0)) break; + $7 = HEAP32[$4 >> 2] | 0; + $8 = HEAP32[$5 >> 2] | 0; + if ($7 >>> 0 < $8 >>> 0) { + $21 = $8 - $7 | 0; + $22 = $2 - $$021 | 0; + $$sroa$speculated = ($22 | 0) < ($21 | 0) ? $22 : $21; + __ZNSt3__211char_traitsIcE4copyEPcPKcm($7, $$0, $$sroa$speculated) | 0; + HEAP32[$4 >> 2] = (HEAP32[$4 >> 2] | 0) + $$sroa$speculated; + $$0$be = $$0 + $$sroa$speculated | 0; + $$021$be = $$sroa$speculated + $$021 | 0; + } else { + $12 = HEAP32[(HEAP32[$0 >> 2] | 0) + 52 >> 2] | 0; + $14 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$$0 >> 0] | 0) | 0; + if ((FUNCTION_TABLE_iii[$12 & 127]($0, $14) | 0) == ($3 | 0)) break; + $$0$be = $$0 + 1 | 0; + $$021$be = $$021 + 1 | 0; + } + $$0 = $$0$be; + $$021 = $$021$be; + } + return $$021 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle15UnnamedTypeName9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy1 = 0, $11 = 0, $12 = 0, $2 = 0, $3 = 0, $4 = 0, $6 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy1 = sp + 24 | 0; + $2 = sp + 16 | 0; + $3 = sp; + $4 = sp + 8 | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 55313); + HEAP32[$$byval_copy1 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy1 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy1); + $6 = $0 + 8 | 0; + $11 = HEAP32[$6 + 4 >> 2] | 0; + $12 = $3; + HEAP32[$12 >> 2] = HEAP32[$6 >> 2]; + HEAP32[$12 + 4 >> 2] = $11; + HEAP32[$$byval_copy1 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy1 + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, 55322); + HEAP32[$$byval_copy1 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy1 + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy1); + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle12FunctionTypeEJRPNS2_4NodeERNS2_9NodeArrayERNS2_10QualifiersERNS2_15FunctionRefQualES6_EEEPT_DpOT0_($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 $14 = 0, $15 = 0, $19 = 0, $20 = 0, $21 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $tmpcast$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $tmpcast$byval_copy = sp + 8 | 0; + $6 = sp; + $7 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 32) | 0; + $8 = HEAP32[$1 >> 2] | 0; + $9 = $2; + $14 = HEAP32[$9 + 4 >> 2] | 0; + $15 = $6; + HEAP32[$15 >> 2] = HEAP32[$9 >> 2]; + HEAP32[$15 + 4 >> 2] = $14; + $19 = HEAP32[$3 >> 2] | 0; + $20 = HEAP8[$4 >> 0] | 0; + $21 = HEAP32[$5 >> 2] | 0; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$6 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$6 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle12FunctionTypeC2EPKNS0_4NodeENS0_9NodeArrayENS0_10QualifiersENS0_15FunctionRefQualES4_($7, $8, $tmpcast$byval_copy, $19, $20, $21); + STACKTOP = sp; + return $7 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseBinaryExprENS_10StringViewE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $2 = sp + 4 | 0; + $3 = sp; + $4 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0; + $5 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv($4) | 0; + HEAP32[$2 >> 2] = $5; + if (!$5) $$1 = 0; else { + $7 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv($4) | 0; + HEAP32[$3 >> 2] = $7; + if (!$7) $$0 = 0; else $$0 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_10BinaryExprEJRPNS0_4NodeERNS_10StringViewESA_EEES9_DpOT0_($0, $2, $1, $3) | 0; + $$1 = $$0; + } + STACKTOP = sp; + return $$1 | 0; +} + +function __ZNSt3__26vectorIiNS_9allocatorIiEEE21__push_back_slow_pathIRKiEEvOT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $14 = 0, $15 = 0, $19 = 0, $2 = 0, $24 = 0, $25 = 0, $3 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp; + $3 = $0 + 4 | 0; + $8 = ((HEAP32[$3 >> 2] | 0) - (HEAP32[$0 >> 2] | 0) >> 2) + 1 | 0; + $9 = __ZNKSt3__26vectorIiNS_9allocatorIiEEE8max_sizeEv($0) | 0; + if ($9 >>> 0 < $8 >>> 0) __ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv($0); else { + $14 = HEAP32[$0 >> 2] | 0; + $15 = (HEAP32[$0 + 8 >> 2] | 0) - $14 | 0; + $19 = $15 >> 1; + __ZNSt3__214__split_bufferIiRNS_9allocatorIiEEEC2EmmS3_($2, $15 >> 2 >>> 0 < $9 >>> 1 >>> 0 ? ($19 >>> 0 < $8 >>> 0 ? $8 : $19) : $9, (HEAP32[$3 >> 2] | 0) - $14 >> 2, $0 + 8 | 0); + $24 = $2 + 8 | 0; + $25 = HEAP32[$24 >> 2] | 0; + HEAP32[$25 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$24 >> 2] = $25 + 4; + __ZNSt3__26vectorIiNS_9allocatorIiEEE26__swap_out_circular_bufferERNS_14__split_bufferIiRS2_EE($0, $2); + __ZNSt3__214__split_bufferIiRNS_9allocatorIiEEED2Ev($2); + STACKTOP = sp; + return; + } +} + +function __ZNK10__cxxabiv117__class_type_info9can_catchEPKNS_16__shim_type_infoERPv($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$2 = 0, $11 = 0, $12 = 0, $13 = 0, $3 = 0, $6 = 0, dest = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(64); + $3 = sp; + if (!(__ZL8is_equalPKSt9type_infoS1_b($0, $1, 0) | 0)) if (($1 | 0) != 0 ? ($6 = ___dynamic_cast($1, 13904, 13888, 0) | 0, ($6 | 0) != 0) : 0) { + HEAP32[$3 >> 2] = $6; + HEAP32[$3 + 4 >> 2] = 0; + HEAP32[$3 + 8 >> 2] = $0; + HEAP32[$3 + 12 >> 2] = -1; + $11 = $3 + 16 | 0; + $12 = $3 + 24 | 0; + $13 = $3 + 48 | 0; + dest = $11; + stop = dest + 36 | 0; + do { + HEAP32[dest >> 2] = 0; + dest = dest + 4 | 0; + } while ((dest | 0) < (stop | 0)); + HEAP16[$11 + 36 >> 1] = 0; + HEAP8[$11 + 38 >> 0] = 0; + HEAP32[$13 >> 2] = 1; + FUNCTION_TABLE_viiii[HEAP32[(HEAP32[$6 >> 2] | 0) + 28 >> 2] & 31]($6, $3, HEAP32[$2 >> 2] | 0, 1); + if ((HEAP32[$12 >> 2] | 0) == 1) { + HEAP32[$2 >> 2] = HEAP32[$11 >> 2]; + $$0 = 1; + } else $$0 = 0; + $$2 = $$0; + } else $$2 = 0; else $$2 = 1; + STACKTOP = sp; + return $$2 | 0; +} + +function _wcrtomb($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $13 = 0, $57 = 0, $7 = 0; + do if ($0) { + if ($1 >>> 0 < 128) { + HEAP8[$0 >> 0] = $1; + $$0 = 1; + break; + } + $7 = (___pthread_self_423() | 0) + 188 | 0; + if (!(HEAP32[HEAP32[$7 >> 2] >> 2] | 0)) if (($1 & -128 | 0) == 57216) { + HEAP8[$0 >> 0] = $1; + $$0 = 1; + break; + } else { + $13 = ___errno_location() | 0; + HEAP32[$13 >> 2] = 25; + $$0 = -1; + break; + } + if ($1 >>> 0 < 2048) { + HEAP8[$0 >> 0] = $1 >>> 6 | 192; + HEAP8[$0 + 1 >> 0] = $1 & 63 | 128; + $$0 = 2; + break; + } + if ($1 >>> 0 < 55296 | ($1 & -8192 | 0) == 57344) { + HEAP8[$0 >> 0] = $1 >>> 12 | 224; + HEAP8[$0 + 1 >> 0] = $1 >>> 6 & 63 | 128; + HEAP8[$0 + 2 >> 0] = $1 & 63 | 128; + $$0 = 3; + break; + } + if (($1 + -65536 | 0) >>> 0 < 1048576) { + HEAP8[$0 >> 0] = $1 >>> 18 | 240; + HEAP8[$0 + 1 >> 0] = $1 >>> 12 & 63 | 128; + HEAP8[$0 + 2 >> 0] = $1 >>> 6 & 63 | 128; + HEAP8[$0 + 3 >> 0] = $1 & 63 | 128; + $$0 = 4; + break; + } else { + $57 = ___errno_location() | 0; + HEAP32[$57 >> 2] = 25; + $$0 = -1; + break; + } + } else $$0 = 1; while (0); + return $$0 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle19parse_discriminatorEPKcS2_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$031 = 0, $$2 = 0, $$pn = 0, $13 = 0, $3 = 0, $5 = 0, $7 = 0; + L1 : do if (($0 | 0) != ($1 | 0)) { + $3 = HEAP8[$0 >> 0] | 0; + if ($3 << 24 >> 24 != 95) { + if ((($3 << 24 >> 24) + -48 | 0) >>> 0 >= 10) { + $$2 = $0; + break; + } + $$pn = $0; + while (1) { + $$pn = $$pn + 1 | 0; + if (($$pn | 0) == ($1 | 0)) { + $$2 = $1; + break L1; + } + if (((HEAP8[$$pn >> 0] | 0) + -48 | 0) >>> 0 >= 10) { + $$2 = $0; + break L1; + } + } + } + $5 = $0 + 1 | 0; + if (($5 | 0) != ($1 | 0)) { + $7 = HEAP8[$5 >> 0] | 0; + if ((($7 << 24 >> 24) + -48 | 0) >>> 0 < 10) { + $$2 = $0 + 2 | 0; + break; + } + if ($7 << 24 >> 24 == 95) { + $$031 = $0 + 2 | 0; + while (1) { + if (($$031 | 0) == ($1 | 0)) { + $$2 = $0; + break L1; + } + $13 = HEAP8[$$031 >> 0] | 0; + if ((($13 << 24 >> 24) + -48 | 0) >>> 0 >= 10) break; + $$031 = $$031 + 1 | 0; + } + return ($13 << 24 >> 24 == 95 ? $$031 + 1 | 0 : $0) | 0; + } else $$2 = $0; + } else $$2 = $0; + } else $$2 = $0; while (0); + return $$2 | 0; +} + +function __ZNSt3__214__num_put_base14__format_floatEPcPKcj($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$022 = 0, $$023$off0 = 0, $$1 = 0, $$2 = 0, $$3 = 0, $$sink = 0, $10 = 0, $11 = 0, $14 = 0, $25 = 0, $9 = 0; + if (!($2 & 2048)) $$0 = $0; else { + HEAP8[$0 >> 0] = 43; + $$0 = $0 + 1 | 0; + } + if (!($2 & 1024)) $$1 = $$0; else { + HEAP8[$$0 >> 0] = 35; + $$1 = $$0 + 1 | 0; + } + $9 = $2 & 260; + $10 = $2 & 16384; + $11 = ($9 | 0) == 260; + if ($11) { + $$023$off0 = 0; + $$2 = $$1; + } else { + HEAP8[$$1 >> 0] = 46; + HEAP8[$$1 + 1 >> 0] = 42; + $$023$off0 = 1; + $$2 = $$1 + 2 | 0; + } + $$022 = $1; + $$3 = $$2; + while (1) { + $14 = HEAP8[$$022 >> 0] | 0; + if (!($14 << 24 >> 24)) break; + HEAP8[$$3 >> 0] = $14; + $$022 = $$022 + 1 | 0; + $$3 = $$3 + 1 | 0; + } + L14 : do switch ($9 & 511) { + case 4: + { + $$sink = $10 >>> 9 & 255 ^ 102; + break; + } + case 256: + { + $$sink = $10 >>> 9 & 255 ^ 101; + break; + } + default: + { + $25 = $10 >>> 9 & 255; + if ($11) { + $$sink = $25 ^ 97; + break L14; + } else { + $$sink = $25 ^ 103; + break L14; + } + } + } while (0); + HEAP8[$$3 >> 0] = $$sink; + return $$023$off0 | 0; +} + +function __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6appendEPKwm($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $14 = 0, $15 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp; + $4 = $0 + 8 | 0; + $5 = $4 + 3 | 0; + $6 = HEAP8[$5 >> 0] | 0; + $7 = $6 << 24 >> 24 < 0; + if ($7) { + $14 = HEAP32[$0 + 4 >> 2] | 0; + $15 = (HEAP32[$4 >> 2] & 2147483647) + -1 | 0; + } else { + $14 = $6 & 255; + $15 = 1; + } + if (($15 - $14 | 0) >>> 0 >= $2 >>> 0) { + if ($2 | 0) { + if ($7) $20 = HEAP32[$0 >> 2] | 0; else $20 = $0; + __ZNSt3__211char_traitsIwE4copyEPwPKwm($20 + ($14 << 2) | 0, $1, $2) | 0; + $21 = $14 + $2 | 0; + if ((HEAP8[$5 >> 0] | 0) < 0) HEAP32[$0 + 4 >> 2] = $21; else HEAP8[$5 >> 0] = $21; + HEAP32[$3 >> 2] = 0; + __ZNSt3__211char_traitsIwE6assignERwRKw($20 + ($21 << 2) | 0, $3); + } + } else __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE21__grow_by_and_replaceEmmmmmmPKw($0, $15, $14 + $2 - $15 | 0, $14, $14, 0, $2, $1); + STACKTOP = sp; + return $0 | 0; +} + +function _fflush($0) { + $0 = $0 | 0; + var $$0 = 0, $$02325 = 0, $$02327 = 0, $$024$lcssa = 0, $$02426 = 0, $$1 = 0, $12 = 0, $26 = 0, $29 = 0, $7 = 0, $phitmp = 0; + do if ($0) { + if ((HEAP32[$0 + 76 >> 2] | 0) <= -1) { + $$0 = ___fflush_unlocked($0) | 0; + break; + } + $phitmp = (___lockfile($0) | 0) == 0; + $7 = ___fflush_unlocked($0) | 0; + if ($phitmp) $$0 = $7; else { + ___unlockfile($0); + $$0 = $7; + } + } else { + if (!(HEAP32[4274] | 0)) $29 = 0; else $29 = _fflush(HEAP32[4274] | 0) | 0; + $12 = ___ofl_lock() | 0; + $$02325 = HEAP32[$12 >> 2] | 0; + if (!$$02325) $$024$lcssa = $29; else { + $$02327 = $$02325; + $$02426 = $29; + while (1) { + if ((HEAP32[$$02327 + 76 >> 2] | 0) > -1) $26 = ___lockfile($$02327) | 0; else $26 = 0; + if ((HEAP32[$$02327 + 20 >> 2] | 0) >>> 0 > (HEAP32[$$02327 + 28 >> 2] | 0) >>> 0) $$1 = ___fflush_unlocked($$02327) | 0 | $$02426; else $$1 = $$02426; + if ($26 | 0) ___unlockfile($$02327); + $$02327 = HEAP32[$$02327 + 56 >> 2] | 0; + if (!$$02327) { + $$024$lcssa = $$1; + break; + } else $$02426 = $$1; + } + } + ___ofl_unlock(); + $$0 = $$024$lcssa; + } while (0); + return $$0 | 0; +} + +function _use_merged_upsample($0) { + $0 = $0 | 0; + var $19 = 0, $39 = 0, $50 = 0; + if (HEAP32[$0 + 308 >> 2] | 0) return 0; + switch (HEAP32[$0 + 40 >> 2] | 0) { + case 7: + case 3: + break; + default: + return 0; + } + if ((HEAP32[$0 + 36 >> 2] | 0) != 3) return 0; + if ((HEAP32[$0 + 44 >> 2] | 0) != 2) return 0; + if ((HEAP32[$0 + 120 >> 2] | 0) != 3) return 0; + if (HEAP32[$0 + 304 >> 2] | 0) return 0; + $19 = HEAP32[$0 + 216 >> 2] | 0; + if ((HEAP32[$19 + 8 >> 2] | 0) != 2) return 0; + if ((HEAP32[$19 + 96 >> 2] | 0) != 1) return 0; + if ((HEAP32[$19 + 184 >> 2] | 0) != 1) return 0; + if ((HEAP32[$19 + 12 >> 2] | 0) > 2) return 0; + if ((HEAP32[$19 + 100 >> 2] | 0) != 1) return 0; + if ((HEAP32[$19 + 188 >> 2] | 0) != 1) return 0; + $39 = HEAP32[$19 + 36 >> 2] | 0; + if (($39 | 0) != (HEAP32[$0 + 324 >> 2] | 0)) return 0; + if ((HEAP32[$19 + 124 >> 2] | 0) != ($39 | 0)) return 0; + if ((HEAP32[$19 + 212 >> 2] | 0) != ($39 | 0)) return 0; + $50 = HEAP32[$19 + 40 >> 2] | 0; + if (($50 | 0) != (HEAP32[$0 + 328 >> 2] | 0)) return 0; + if ((HEAP32[$19 + 128 >> 2] | 0) == ($50 | 0)) return (HEAP32[$19 + 216 >> 2] | 0) == ($50 | 0) | 0; else return 0; + return 0; +} + +function _detectMarker($id) { + $id = $id | 0; + var $buff = 0, $call7 = 0, $id$addr = 0, $retval$0 = 0, dest = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $id$addr = sp + 40 | 0; + $buff = sp; + HEAP32[$id$addr >> 2] = $id; + if (!(__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0)) $retval$0 = HEAP32[4224] | 0; else { + $call7 = __ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0; + dest = $buff; + stop = dest + 40 | 0; + do { + HEAP32[dest >> 2] = 0; + dest = dest + 4 | 0; + } while ((dest | 0) < (stop | 0)); + HEAP32[$buff >> 2] = HEAP32[$call7 + 196 >> 2]; + HEAP32[$buff + 16 >> 2] = 1; + HEAP32[$buff + 12 >> 2] = HEAP32[$call7 + 204 >> 2]; + $retval$0 = _arDetectMarker(HEAP32[$call7 + 216 >> 2] | 0, $buff) | 0; + } + STACKTOP = sp; + return $retval$0 | 0; +} + +function __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEmc($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $15 = 0, $16 = 0, $21 = 0, $24 = 0, $25 = 0, $3 = 0, $5 = 0, $6 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp; + if ($1 | 0) { + $5 = $0 + 11 | 0; + $6 = HEAP8[$5 >> 0] | 0; + if ($6 << 24 >> 24 < 0) { + $15 = HEAP32[$0 + 4 >> 2] | 0; + $16 = (HEAP32[$0 + 8 >> 2] & 2147483647) + -1 | 0; + } else { + $15 = $6 & 255; + $16 = 10; + } + if (($16 - $15 | 0) >>> 0 < $1 >>> 0) { + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__grow_byEmmmmmm($0, $16, $15 + $1 - $16 | 0, $15, $15, 0, 0); + $21 = HEAP8[$5 >> 0] | 0; + } else $21 = $6; + if ($21 << 24 >> 24 < 0) $24 = HEAP32[$0 >> 2] | 0; else $24 = $0; + __ZNSt3__211char_traitsIcE6assignEPcmc($24 + $15 | 0, $1, $2) | 0; + $25 = $15 + $1 | 0; + if ((HEAP8[$5 >> 0] | 0) < 0) HEAP32[$0 + 4 >> 2] = $25; else HEAP8[$5 >> 0] = $25; + HEAP8[$3 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($24 + $25 | 0, $3); + } + STACKTOP = sp; + return $0 | 0; +} + +function __ZNSt3__26vectorIhNS_9allocatorIhEEE21__push_back_slow_pathIRKhEEvOT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $13 = 0, $14 = 0, $17 = 0, $2 = 0, $21 = 0, $3 = 0, $7 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp; + $3 = $0 + 4 | 0; + $7 = (HEAP32[$3 >> 2] | 0) - (HEAP32[$0 >> 2] | 0) + 1 | 0; + $8 = __ZNKSt3__26vectorIhNS_9allocatorIhEEE8max_sizeEv($0) | 0; + if ($8 >>> 0 < $7 >>> 0) __ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv($0); else { + $13 = HEAP32[$0 >> 2] | 0; + $14 = (HEAP32[$0 + 8 >> 2] | 0) - $13 | 0; + $17 = $14 << 1; + __ZNSt3__214__split_bufferIhRNS_9allocatorIhEEEC2EmmS3_($2, $14 >>> 0 < $8 >>> 1 >>> 0 ? ($17 >>> 0 < $7 >>> 0 ? $7 : $17) : $8, (HEAP32[$3 >> 2] | 0) - $13 | 0, $0 + 8 | 0); + $21 = $2 + 8 | 0; + HEAP8[HEAP32[$21 >> 2] >> 0] = HEAP8[$1 >> 0] | 0; + HEAP32[$21 >> 2] = (HEAP32[$21 >> 2] | 0) + 1; + __ZNSt3__26vectorIhNS_9allocatorIhEEE26__swap_out_circular_bufferERNS_14__split_bufferIhRS2_EE($0, $2); + __ZNSt3__214__split_bufferIhRNS_9allocatorIhEEED2Ev($2); + STACKTOP = sp; + return; + } +} + +function _setMarkerInfoDir($id, $markerIndex, $dir) { + $id = $id | 0; + $markerIndex = $markerIndex | 0; + $dir = $dir | 0; + var $1 = 0, $arhandle = 0, $id$addr = 0, $retval$1 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $id$addr = sp; + HEAP32[$id$addr >> 2] = $id; + do if (__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0) { + $arhandle = (__ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0) + 216 | 0; + $1 = HEAP32[$arhandle >> 2] | 0; + if ((HEAP32[$1 + 44 >> 2] | 0) > ($markerIndex | 0)) { + HEAP32[(($markerIndex | 0) < 0 ? 64312 : $1 + 48 + ($markerIndex << 8) | 0) + 16 >> 2] = $dir; + $retval$1 = 0; + break; + } else { + $retval$1 = HEAP32[4226] | 0; + break; + } + } else $retval$1 = HEAP32[4224] | 0; while (0); + STACKTOP = sp; + return $retval$1 | 0; +} + +function __ZNSt3__26vectorIN6vision12FeaturePointENS_9allocatorIS2_EEE26__swap_out_circular_bufferERNS_14__split_bufferIS2_RS4_EE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0$i = 0, $12 = 0, $14 = 0, $15 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $5 = 0, $8 = 0, $9 = 0; + $2 = HEAP32[$0 >> 2] | 0; + $3 = $0 + 4 | 0; + $5 = $1 + 4 | 0; + $$0$i = HEAP32[$3 >> 2] | 0; + while (1) { + if (($$0$i | 0) == ($2 | 0)) break; + $8 = (HEAP32[$5 >> 2] | 0) + -20 | 0; + $9 = $$0$i + -20 | 0; + HEAP32[$8 >> 2] = HEAP32[$9 >> 2]; + HEAP32[$8 + 4 >> 2] = HEAP32[$9 + 4 >> 2]; + HEAP32[$8 + 8 >> 2] = HEAP32[$9 + 8 >> 2]; + HEAP32[$8 + 12 >> 2] = HEAP32[$9 + 12 >> 2]; + HEAP32[$8 + 16 >> 2] = HEAP32[$9 + 16 >> 2]; + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + -20; + $$0$i = $9; + } + $12 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$5 >> 2] = $12; + $14 = $1 + 8 | 0; + $15 = HEAP32[$3 >> 2] | 0; + HEAP32[$3 >> 2] = HEAP32[$14 >> 2]; + HEAP32[$14 >> 2] = $15; + $17 = $0 + 8 | 0; + $18 = $1 + 12 | 0; + $19 = HEAP32[$17 >> 2] | 0; + HEAP32[$17 >> 2] = HEAP32[$18 >> 2]; + HEAP32[$18 >> 2] = $19; + HEAP32[$1 >> 2] = HEAP32[$5 >> 2]; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E12parseAbiTagsEPNS0_4NodeE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$2 = 0, $2 = 0, $3 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $2 = sp; + $3 = sp + 8 | 0; + HEAP32[$2 >> 2] = $1; + $7 = $1; + while (1) { + if (!(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 66) | 0)) { + $$2 = $7; + break; + } + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E19parseBareSourceNameEv($3, $0); + if (__ZNK12_GLOBAL__N_110StringView5emptyEv($3) | 0) { + label = 5; + break; + } + $6 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_10AbiTagAttrEJRPNS0_4NodeERNS_10StringViewEEEES9_DpOT0_($0, $2, $3) | 0; + HEAP32[$2 >> 2] = $6; + $7 = $6; + } + if ((label | 0) == 5) $$2 = 0; + STACKTOP = sp; + return $$2 | 0; +} + +function __ZN6vision14VisualDatabaseINS_14FREAKExtractorENS_18BinaryFeatureStoreENS_20BinaryFeatureMatcherILi96EEEEC2Ev($0) { + $0 = $0 | 0; + var $4 = 0, $7 = 0; + HEAP32[$0 + 12 >> 2] = 0; + HEAP32[$0 + 16 >> 2] = 0; + HEAP32[$0 + 20 >> 2] = 0; + $4 = $0 + 64 | 0; + HEAP32[$4 >> 2] = 0; + HEAP32[$4 + 4 >> 2] = 0; + HEAP32[$4 + 8 >> 2] = 0; + HEAP32[$4 + 12 >> 2] = 0; + HEAP32[$4 + 16 >> 2] = 0; + HEAP32[$4 + 20 >> 2] = 0; + HEAP32[$0 + 88 >> 2] = 1065353216; + __ZN6vision18BinomialPyramid32fC2Ev($0 + 92 | 0); + $7 = $0 + 160 | 0; + __ZN6vision25DoGScaleInvariantDetectorC2Ev($7); + __ZN6vision14FREAKExtractorC2Ev($0 + 316 | 0); + __ZN6vision20BinaryFeatureMatcherILi96EEC2Ev($0 + 636 | 0); + __ZN6vision21HoughSimilarityVotingC2Ev($0 + 652 | 0); + __ZN6vision16RobustHomographyIfEC2Efiii($0 + 788 | 0, .009999999776482582, 1024, 1064, 50); + __ZN6vision25DoGScaleInvariantDetector21setLaplacianThresholdEf($7, 3.0); + __ZN6vision25DoGScaleInvariantDetector16setEdgeThresholdEf($7, 4.0); + __ZN6vision25DoGScaleInvariantDetector22setMaxNumFeaturePointsEm($7, 500); + HEAPF32[$0 + 4 >> 2] = 3.0; + HEAP32[$0 >> 2] = 8; + HEAP8[$0 + 8 >> 0] = 1; + return; +} + +function __ZL14genBWImageHalfPhiiPiS0_($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0 = 0, $$041 = 0, $$042 = 0, $$043 = 0, $$044 = 0, $$1 = 0, $11 = 0, $5 = 0, $6 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $5 = ($1 | 0) / 2 | 0; + HEAP32[$3 >> 2] = $5; + $6 = ($2 | 0) / 2 | 0; + HEAP32[$4 >> 2] = $6; + $8 = _malloc(Math_imul($6, $5) | 0) | 0; + if (!$8) { + _arLog(0, 3, 45930, sp); + _exit(1); + } + $$0 = 0; + $$042 = $8; + while (1) { + if (($$0 | 0) >= ($6 | 0)) break; + $11 = $$0 << 1; + $$041 = 0; + $$043 = $0 + (Math_imul($11, $1) | 0) | 0; + $$044 = $0 + (Math_imul($11 | 1, $1) | 0) | 0; + $$1 = $$042; + while (1) { + if (($$041 | 0) >= ($5 | 0)) break; + HEAP8[$$1 >> 0] = ((HEAPU8[$$043 + 1 >> 0] | 0) + (HEAPU8[$$043 >> 0] | 0) + (HEAPU8[$$044 >> 0] | 0) + (HEAPU8[$$044 + 1 >> 0] | 0) | 0) >>> 2; + $$041 = $$041 + 1 | 0; + $$043 = $$043 + 2 | 0; + $$044 = $$044 + 2 | 0; + $$1 = $$1 + 1 | 0; + } + $$0 = $$0 + 1 | 0; + $$042 = $$1; + } + STACKTOP = sp; + return $8 | 0; +} + +function __ZN6vision5Image11shallowCopyERKS0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$pre$phi$iZ2D = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $24 = 0, $26 = 0, $30 = 0, $32 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $2 = sp; + HEAP32[$0 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$1 + 4 >> 2]; + HEAP32[$0 + 8 >> 2] = HEAP32[$1 + 8 >> 2]; + HEAP32[$0 + 12 >> 2] = HEAP32[$1 + 12 >> 2]; + HEAP32[$0 + 16 >> 2] = HEAP32[$1 + 16 >> 2]; + HEAP32[$0 + 20 >> 2] = HEAP32[$1 + 20 >> 2]; + $20 = $0 + 24 | 0; + $21 = HEAP32[$1 + 24 >> 2] | 0; + HEAP32[$2 >> 2] = $21; + $22 = $2 + 4 | 0; + $24 = HEAP32[$1 + 28 >> 2] | 0; + HEAP32[$22 >> 2] = $24; + if (!$24) { + $$pre$phi$iZ2D = $22; + $32 = 0; + } else { + $26 = $24 + 4 | 0; + HEAP32[$26 >> 2] = (HEAP32[$26 >> 2] | 0) + 1; + $$pre$phi$iZ2D = $22; + $32 = HEAP32[$22 >> 2] | 0; + } + HEAP32[$2 >> 2] = HEAP32[$20 >> 2]; + HEAP32[$20 >> 2] = $21; + $30 = $0 + 28 | 0; + HEAP32[$$pre$phi$iZ2D >> 2] = HEAP32[$30 >> 2]; + HEAP32[$30 >> 2] = $32; + __ZNSt3__210shared_ptrIhED2Ev($2); + STACKTOP = sp; + return; +} + +function __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE9__grow_byEmmmmmm($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 $$sroa$speculated = 0, $14 = 0, $15 = 0, $20 = 0, $21 = 0, $23 = 0, $25 = 0, $31 = 0; + if ((-17 - $1 | 0) >>> 0 < $2 >>> 0) __ZNKSt3__221__basic_string_commonILb1EE20__throw_length_errorEv($0); + if ((HEAP8[$0 + 11 >> 0] | 0) < 0) $23 = HEAP32[$0 >> 2] | 0; else $23 = $0; + if ($1 >>> 0 < 2147483623) { + $14 = $2 + $1 | 0; + $15 = $1 << 1; + $$sroa$speculated = $14 >>> 0 < $15 >>> 0 ? $15 : $14; + $20 = $$sroa$speculated >>> 0 < 11 ? 11 : $$sroa$speculated + 16 & -16; + } else $20 = -17; + $21 = __Znwm($20) | 0; + if ($4 | 0) __ZNSt3__211char_traitsIcE4copyEPcPKcm($21, $23, $4) | 0; + $25 = $3 - $5 - $4 | 0; + if ($25 | 0) __ZNSt3__211char_traitsIcE4copyEPcPKcm($21 + $4 + $6 | 0, $23 + $4 + $5 | 0, $25) | 0; + $31 = $1 + 1 | 0; + if (($31 | 0) != 11) __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($23, $31); + HEAP32[$0 >> 2] = $21; + HEAP32[$0 + 8 >> 2] = $20 | -2147483648; + return; +} + +function __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEPKcm($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $14 = 0, $15 = 0, $20 = 0, $21 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp; + $4 = $0 + 11 | 0; + $5 = HEAP8[$4 >> 0] | 0; + $6 = $5 << 24 >> 24 < 0; + if ($6) { + $14 = HEAP32[$0 + 4 >> 2] | 0; + $15 = (HEAP32[$0 + 8 >> 2] & 2147483647) + -1 | 0; + } else { + $14 = $5 & 255; + $15 = 10; + } + if (($15 - $14 | 0) >>> 0 >= $2 >>> 0) { + if ($2 | 0) { + if ($6) $20 = HEAP32[$0 >> 2] | 0; else $20 = $0; + __ZNSt3__211char_traitsIcE4copyEPcPKcm($20 + $14 | 0, $1, $2) | 0; + $21 = $14 + $2 | 0; + if ((HEAP8[$4 >> 0] | 0) < 0) HEAP32[$0 + 4 >> 2] = $21; else HEAP8[$4 >> 0] = $21; + HEAP8[$3 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($20 + $21 | 0, $3); + } + } else __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc($0, $15, $14 + $2 - $15 | 0, $14, $14, 0, $2, $1); + STACKTOP = sp; + return $0 | 0; +} + +function _icpGetJ_U_S($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0, $$024 = 0, $$025 = 0, $$026 = 0, $15 = 0.0, $16 = 0.0, $4 = 0, $5 = 0, $6 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 224 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(224); + $4 = sp + 48 | 0; + $5 = sp; + $6 = sp + 192 | 0; + _icpGetJ_Xc_S($4, $6, $2, $3); + L1 : do if ((_icpGetJ_U_Xc($5, $1, $6) | 0) < 0) { + _arLog(0, 3, 24733, sp + 216 | 0); + $$026 = -1; + } else { + $$024 = 0; + while (1) { + if (($$024 | 0) == 2) { + $$026 = 0; + break L1; + } + $$025 = 0; + while (1) { + if (($$025 | 0) == 6) break; + $9 = $0 + ($$024 * 48 | 0) + ($$025 << 3) | 0; + HEAPF64[$9 >> 3] = 0.0; + $$0 = 0; + $16 = 0.0; + while (1) { + if (($$0 | 0) == 3) break; + $15 = $16 + +HEAPF64[$5 + ($$024 * 24 | 0) + ($$0 << 3) >> 3] * +HEAPF64[$4 + ($$0 * 48 | 0) + ($$025 << 3) >> 3]; + HEAPF64[$9 >> 3] = $15; + $$0 = $$0 + 1 | 0; + $16 = $15; + } + $$025 = $$025 + 1 | 0; + } + $$024 = $$024 + 1 | 0; + } + } while (0); + STACKTOP = sp; + return $$026 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E19parseBareSourceNameEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $12 = 0, $17 = 0, $18 = 0, $2 = 0, $3 = 0, $5 = 0, $6 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $2 = sp + 8 | 0; + $3 = sp; + HEAP32[$2 >> 2] = 0; + if (!(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E20parsePositiveIntegerEPm($1, $2) | 0) ? ($5 = __ZNK12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E7numLeftEv($1) | 0, $6 = HEAP32[$2 >> 2] | 0, $5 >>> 0 >= $6 >>> 0) : 0) { + $8 = HEAP32[$1 >> 2] | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKcS2_($3, $8, $8 + $6 | 0); + HEAP32[$1 >> 2] = (HEAP32[$1 >> 2] | 0) + $6; + $12 = $3; + $17 = HEAP32[$12 + 4 >> 2] | 0; + $18 = $0; + HEAP32[$18 >> 2] = HEAP32[$12 >> 2]; + HEAP32[$18 + 4 >> 2] = $17; + } else __ZN12_GLOBAL__N_110StringViewC2Ev($0); + STACKTOP = sp; + return; +} + +function __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKwm($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $11 = 0, $13 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp; + $4 = $0 + 8 | 0; + $5 = $4 + 3 | 0; + $6 = HEAP8[$5 >> 0] | 0; + $7 = $6 << 24 >> 24 < 0; + if ($7) $11 = (HEAP32[$4 >> 2] & 2147483647) + -1 | 0; else $11 = 1; + do if ($11 >>> 0 >= $2 >>> 0) { + if ($7) $13 = HEAP32[$0 >> 2] | 0; else $13 = $0; + __ZNSt3__211char_traitsIwE4moveEPwPKwm($13, $1, $2) | 0; + HEAP32[$3 >> 2] = 0; + __ZNSt3__211char_traitsIwE6assignERwRKw($13 + ($2 << 2) | 0, $3); + if ((HEAP8[$5 >> 0] | 0) < 0) { + HEAP32[$0 + 4 >> 2] = $2; + break; + } else { + HEAP8[$5 >> 0] = $2; + break; + } + } else { + if ($7) $23 = HEAP32[$0 + 4 >> 2] | 0; else $23 = $6 & 255; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE21__grow_by_and_replaceEmmmmmmPKw($0, $11, $2 - $11 | 0, $23, 0, $23, $2, $1); + } while (0); + STACKTOP = sp; + return $0 | 0; +} + +function __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initIPKwEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeESA_SA_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$1 = 0, $$1$ph = 0, $14 = 0, $17 = 0, $3 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp; + $7 = $2 - $1 >> 2; + if ($7 >>> 0 > 1073741807) __ZNKSt3__221__basic_string_commonILb1EE20__throw_length_errorEv($0); + do if ($7 >>> 0 >= 2) { + $14 = $7 + 4 & -4; + if ($14 >>> 0 > 1073741823) _abort(); else { + $17 = __Znwm($14 << 2) | 0; + HEAP32[$0 >> 2] = $17; + HEAP32[$0 + 8 >> 2] = $14 | -2147483648; + HEAP32[$0 + 4 >> 2] = $7; + $$1$ph = $17; + break; + } + } else { + HEAP8[$0 + 8 + 3 >> 0] = $7; + $$1$ph = $0; + } while (0); + $$0 = $1; + $$1 = $$1$ph; + while (1) { + if (($$0 | 0) == ($2 | 0)) break; + __ZNSt3__211char_traitsIwE6assignERwRKw($$1, $$0); + $$0 = $$0 + 4 | 0; + $$1 = $$1 + 4 | 0; + } + HEAP32[$3 >> 2] = 0; + __ZNSt3__211char_traitsIwE6assignERwRKw($$1, $3); + STACKTOP = sp; + return; +} + +function _pass2_no_dither($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$04751 = 0, $$04853 = 0, $$04950 = 0, $$052 = 0, $19 = 0, $23 = 0, $27 = 0, $30 = 0, $31 = 0, $34 = 0, $7 = 0, $9 = 0; + $7 = HEAP32[(HEAP32[$0 + 484 >> 2] | 0) + 24 >> 2] | 0; + $9 = HEAP32[$0 + 112 >> 2] | 0; + if (($3 | 0) < 1 | ($9 | 0) == 0) return; + $$04853 = 0; + do { + $$04751 = $9; + $$04950 = HEAP32[$2 + ($$04853 << 2) >> 2] | 0; + $$052 = HEAP32[$1 + ($$04853 << 2) >> 2] | 0; + while (1) { + $19 = (HEAPU8[$$052 >> 0] | 0) >>> 3; + $23 = (HEAPU8[$$052 + 1 >> 0] | 0) >>> 2; + $27 = (HEAPU8[$$052 + 2 >> 0] | 0) >>> 3; + $30 = (HEAP32[$7 + ($19 << 2) >> 2] | 0) + ($23 << 6) + ($27 << 1) | 0; + $31 = HEAP16[$30 >> 1] | 0; + if (!($31 << 16 >> 16)) { + _fill_inverse_cmap($0, $19, $23, $27); + $34 = HEAP16[$30 >> 1] | 0; + } else $34 = $31; + HEAP8[$$04950 >> 0] = ($34 & 65535) + 255; + $$04751 = $$04751 + -1 | 0; + if (!$$04751) break; else { + $$04950 = $$04950 + 1 | 0; + $$052 = $$052 + 3 | 0; + } + } + $$04853 = $$04853 + 1 | 0; + } while (($$04853 | 0) != ($3 | 0)); + return; +} + +function __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initIPwEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeES9_S9_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$1 = 0, $$1$ph = 0, $14 = 0, $17 = 0, $3 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp; + $7 = $2 - $1 >> 2; + if ($7 >>> 0 > 1073741807) __ZNKSt3__221__basic_string_commonILb1EE20__throw_length_errorEv($0); + do if ($7 >>> 0 >= 2) { + $14 = $7 + 4 & -4; + if ($14 >>> 0 > 1073741823) _abort(); else { + $17 = __Znwm($14 << 2) | 0; + HEAP32[$0 >> 2] = $17; + HEAP32[$0 + 8 >> 2] = $14 | -2147483648; + HEAP32[$0 + 4 >> 2] = $7; + $$1$ph = $17; + break; + } + } else { + HEAP8[$0 + 8 + 3 >> 0] = $7; + $$1$ph = $0; + } while (0); + $$0 = $1; + $$1 = $$1$ph; + while (1) { + if (($$0 | 0) == ($2 | 0)) break; + __ZNSt3__211char_traitsIwE6assignERwRKw($$1, $$0); + $$0 = $$0 + 4 | 0; + $$1 = $$1 + 4 | 0; + } + HEAP32[$3 >> 2] = 0; + __ZNSt3__211char_traitsIwE6assignERwRKw($$1, $3); + STACKTOP = sp; + return; +} + +function _ar2MarkerCoord2ScreenCoord($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = +$2; + $3 = +$3; + $4 = $4 | 0; + $5 = $5 | 0; + var $$0 = 0, $37 = 0.0, $6 = 0, $60 = 0.0, $70 = 0.0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $6 = sp; + if (!$0) { + $60 = +HEAPF32[$1 + 28 >> 2] + (+HEAPF32[$1 + 16 >> 2] * $2 + +HEAPF32[$1 + 20 >> 2] * $3); + $70 = +HEAPF32[$1 + 44 >> 2] + (+HEAPF32[$1 + 32 >> 2] * $2 + +HEAPF32[$1 + 36 >> 2] * $3); + HEAPF32[$4 >> 2] = (+HEAPF32[$1 + 12 >> 2] + (+HEAPF32[$1 >> 2] * $2 + +HEAPF32[$1 + 4 >> 2] * $3)) / $70; + HEAPF32[$5 >> 2] = $60 / $70; + $$0 = 0; + } else { + _arUtilMatMuldff($0 + 8 | 0, $1, $6) | 0; + $37 = +HEAPF32[$6 + 44 >> 2] + (+HEAPF32[$6 + 32 >> 2] * $2 + +HEAPF32[$6 + 36 >> 2] * $3); + $$0 = (_arParamIdeal2ObservLTf($0 + 184 | 0, (+HEAPF32[$6 + 12 >> 2] + (+HEAPF32[$6 >> 2] * $2 + +HEAPF32[$6 + 4 >> 2] * $3)) / $37, (+HEAPF32[$6 + 28 >> 2] + (+HEAPF32[$6 + 16 >> 2] * $2 + +HEAPF32[$6 + 20 >> 2] * $3)) / $37, $4, $5) | 0) >> 31; + } + STACKTOP = sp; + return $$0 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle15PixelVectorType9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy2 = 0, $2 = 0, $3 = 0, $4 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy2 = sp + 24 | 0; + $2 = sp + 16 | 0; + $3 = sp + 8 | 0; + $4 = sp; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 56031); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy2); + __ZNK12_GLOBAL__N_116itanium_demangle12NodeOrString8asStringEv($3, $0 + 8 | 0); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy2); + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, 51614); + HEAP32[$$byval_copy2 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy2 + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy2); + STACKTOP = sp; + return; +} + +function __ZN6vision21OrientationAssignment5allocEmmiiiffif($0, $1, $2, $3, $4, $5, $6, $7, $8, $9) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = +$6; + $7 = +$7; + $8 = $8 | 0; + $9 = +$9; + var $$0 = 0, $$024 = 0, $10 = 0, $17 = 0, $21 = 0, $22 = 0, $23 = 0; + HEAP32[$0 >> 2] = $3; + $10 = $0 + 4 | 0; + HEAP32[$10 >> 2] = $4; + HEAP32[$0 + 8 >> 2] = $5; + HEAPF32[$0 + 12 >> 2] = $6; + HEAPF32[$0 + 16 >> 2] = $7; + HEAP32[$0 + 20 >> 2] = $8; + HEAPF32[$0 + 24 >> 2] = $9; + __ZNSt3__26vectorIfNS_9allocatorIfEEE6resizeEm($0 + 28 | 0, $5); + $17 = $0 + 40 | 0; + __ZNSt3__26vectorIN6vision5ImageENS_9allocatorIS2_EEE6resizeEm($17, Math_imul(HEAP32[$10 >> 2] | 0, HEAP32[$0 >> 2] | 0) | 0); + $$024 = 0; + while (1) { + if (($$024 | 0) == ($3 | 0)) break; + $21 = Math_imul($$024, $4) | 0; + $22 = $1 >>> $$024; + $23 = $2 >>> $$024; + $$0 = 0; + while (1) { + if (($$0 | 0) == ($4 | 0)) break; + __ZN6vision5Image5allocENS_9ImageTypeEmmim((HEAP32[$17 >> 2] | 0) + ($$0 + $21 << 5) | 0, 2, $22, $23, -1, 2); + $$0 = $$0 + 1 | 0; + } + $$024 = $$024 + 1 | 0; + } + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EEC2EOS4_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $10 = 0, $12 = 0, $3 = 0, $7 = 0; + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EEC2Ev($0); + if (__ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EE8isInlineEv($1) | 0) { + $3 = __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EE5beginEv($1) | 0; + $7 = (__ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EE3endEv($1) | 0) - $3 | 0; + if ($7 | 0) _memmove(HEAP32[$0 >> 2] | 0, $3 | 0, $7 | 0) | 0; + $10 = HEAP32[$0 >> 2] | 0; + $12 = $10 + ((__ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EE4sizeEv($1) | 0) << 2) | 0; + HEAP32[$0 + 4 >> 2] = $12; + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EE5clearEv($1); + } else { + HEAP32[$0 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$1 + 4 >> 2]; + HEAP32[$0 + 8 >> 2] = HEAP32[$1 + 8 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EE11clearInlineEv($1); + } + return; +} + +function __ZN6vision5ImageC2EPhNS_9ImageTypeEmmim($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 $$byval_copy = 0, $$byval_copy1 = 0, $$sink = 0, $13 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy1 = sp + 8 | 0; + $$byval_copy = sp + 4 | 0; + $8 = sp; + HEAP32[$0 >> 2] = $2; + HEAP32[$0 + 4 >> 2] = $3; + HEAP32[$0 + 8 >> 2] = $4; + HEAP32[$0 + 16 >> 2] = $6; + $13 = Math_imul($5, $4) | 0; + HEAP32[$0 + 20 >> 2] = $13; + HEAP32[$8 >> 2] = 0; + HEAP8[$$byval_copy >> 0] = HEAP8[sp + 12 >> 0] | 0; + HEAP32[$$byval_copy1 >> 2] = HEAP32[$8 >> 2]; + __ZNSt3__210shared_ptrIhEC2Ih16NullArrayDeleterIhEEEPT_T0_NS_9enable_ifIXsr14is_convertibleIS6_PhEE5valueENS1_5__natEE4typeE($0 + 24 | 0, $1, $$byval_copy, $$byval_copy1); + if (($5 | 0) < 0) $$sink = Math_imul(Math_imul($6, $3) | 0, __ZN6vision5Image19calculate_unit_sizeENS_9ImageTypeE($2) | 0) | 0; else $$sink = $5; + HEAP32[$0 + 12 >> 2] = $$sink; + STACKTOP = sp; + return; +} + +function _jpeg_idct_2x2($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $13 = 0, $19 = 0, $20 = 0, $21 = 0, $22 = 0, $28 = 0, $34 = 0, $35 = 0, $36 = 0, $38 = 0, $52 = 0, $7 = 0, $9 = 0; + $7 = (HEAP32[$0 + 336 >> 2] | 0) + -384 | 0; + $9 = HEAP32[$1 + 84 >> 2] | 0; + $13 = Math_imul(HEAP32[$9 >> 2] | 0, HEAP16[$2 >> 1] | 0) | 0; + $19 = Math_imul(HEAP32[$9 + 32 >> 2] | 0, HEAP16[$2 + 16 >> 1] | 0) | 0; + $20 = $13 + 4100 | 0; + $21 = $19 + $20 | 0; + $22 = $20 - $19 | 0; + $28 = Math_imul(HEAP32[$9 + 4 >> 2] | 0, HEAP16[$2 + 2 >> 1] | 0) | 0; + $34 = Math_imul(HEAP32[$9 + 36 >> 2] | 0, HEAP16[$2 + 18 >> 1] | 0) | 0; + $35 = $34 + $28 | 0; + $36 = $28 - $34 | 0; + $38 = (HEAP32[$3 >> 2] | 0) + $4 | 0; + HEAP8[$38 >> 0] = HEAP8[$7 + (($35 + $21 | 0) >>> 3 & 1023) >> 0] | 0; + HEAP8[$38 + 1 >> 0] = HEAP8[$7 + (($21 - $35 | 0) >>> 3 & 1023) >> 0] | 0; + $52 = (HEAP32[$3 + 4 >> 2] | 0) + $4 | 0; + HEAP8[$52 >> 0] = HEAP8[$7 + (($36 + $22 | 0) >>> 3 & 1023) >> 0] | 0; + HEAP8[$52 + 1 >> 0] = HEAP8[$7 + (($22 - $36 | 0) >>> 3 & 1023) >> 0] | 0; + return; +} + +function __ZN6vision27OrthogonalizePivot8x9Basis6IfEEbPT_S2_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $11 = 0, $12 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $8 = 0.0, $9 = 0.0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $2 = sp; + $3 = $0 + 216 | 0; + $4 = $0 + 180 | 0; + $5 = $1 + 216 | 0; + __ZN6vision21AccumulateProjection9IfEEvPT_PKS1_S4_($3, $4, $5); + $6 = $0 + 252 | 0; + __ZN6vision21AccumulateProjection9IfEEvPT_PKS1_S4_($6, $4, $1 + 252 | 0); + $8 = +__ZN6vision11SumSquares9IfEET_PKS1_($3); + HEAPF32[$2 >> 2] = $8; + $9 = +__ZN6vision11SumSquares9IfEET_PKS1_($6); + HEAPF32[$2 + 4 >> 2] = $9; + $11 = __ZN6vision9MaxIndex2IfEEiPKT_($2) | 0; + $12 = $2 + ($11 << 2) | 0; + if (+HEAPF32[$12 >> 2] == 0.0) $$0 = 0; else { + $15 = $11 * 9 | 0; + __ZN6vision5Swap9IfEEvPT_S2_($3, $3 + ($15 << 2) | 0); + __ZN6vision5Swap9IfEEvPT_S2_($5, $5 + ($15 << 2) | 0); + __ZN6vision12ScaleVector9IfEEvPT_PKS1_S1_($3, $3, 1.0 / +Math_sqrt(+(+HEAPF32[$12 >> 2]))); + $$0 = 1; + } + STACKTOP = sp; + return $$0 | 0; +} + +function __ZN6vision11ScopedTimerD2Ev($0) { + $0 = $0 | 0; + var $1 = 0, $13 = 0.0, $14 = 0, $2 = 0, $7 = 0, $8 = 0, $vararg_buffer = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $vararg_buffer = sp; + $1 = sp + 24 | 0; + __ZN6vision5Timer4stopEv($0); + $2 = __ZN6vision6Logger11getInstanceEv() | 0; + __ZN6vision15get_pretty_timeEv($1); + $7 = (HEAP8[$1 + 11 >> 0] | 0) < 0 ? HEAP32[$1 >> 2] | 0 : $1; + $8 = $0 + 16 | 0; + if ((HEAP8[$8 + 11 >> 0] | 0) < 0) $14 = HEAP32[$8 >> 2] | 0; else $14 = $8; + $13 = +__ZNK6vision5Timer24duration_in_millisecondsEv($0); + HEAP32[$vararg_buffer >> 2] = 39201; + HEAP32[$vararg_buffer + 4 >> 2] = $7; + HEAP32[$vararg_buffer + 8 >> 2] = 39209; + HEAP32[$vararg_buffer + 12 >> 2] = $14; + HEAPF64[$vararg_buffer + 16 >> 3] = $13; + __ZN6vision6Logger5writeENS_19LoggerPriorityLevelEPKcz($2, 8, 39174, $vararg_buffer); + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($1); + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($8); + STACKTOP = sp; + return; +} + +function __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKcm($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $11 = 0, $13 = 0, $23 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp; + $4 = $0 + 11 | 0; + $5 = HEAP8[$4 >> 0] | 0; + $6 = $5 << 24 >> 24 < 0; + if ($6) $11 = (HEAP32[$0 + 8 >> 2] & 2147483647) + -1 | 0; else $11 = 10; + do if ($11 >>> 0 >= $2 >>> 0) { + if ($6) $13 = HEAP32[$0 >> 2] | 0; else $13 = $0; + __ZNSt3__211char_traitsIcE4moveEPcPKcm($13, $1, $2) | 0; + HEAP8[$3 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($13 + $2 | 0, $3); + if ((HEAP8[$4 >> 0] | 0) < 0) { + HEAP32[$0 + 4 >> 2] = $2; + break; + } else { + HEAP8[$4 >> 0] = $2; + break; + } + } else { + if ($6) $23 = HEAP32[$0 + 4 >> 2] | 0; else $23 = $5 & 255; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE21__grow_by_and_replaceEmmmmmmPKc($0, $11, $2 - $11 | 0, $23, 0, $23, $2, $1); + } while (0); + STACKTOP = sp; + return $0 | 0; +} + +function __ZNSt3__26vectorIiNS_9allocatorIiEEE26__swap_out_circular_bufferERNS_14__split_bufferIiRS2_EEPi($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $11 = 0, $13 = 0, $15 = 0, $16 = 0, $22 = 0, $24 = 0, $26 = 0, $27 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $8 = 0; + $3 = $1 + 4 | 0; + $4 = HEAP32[$3 >> 2] | 0; + $5 = HEAP32[$0 >> 2] | 0; + $6 = $2; + $8 = $6 - $5 | 0; + $11 = $4 + (0 - ($8 >> 2) << 2) | 0; + HEAP32[$3 >> 2] = $11; + if (($8 | 0) > 0) _memcpy($11 | 0, $5 | 0, $8 | 0) | 0; + $13 = $0 + 4 | 0; + $15 = $1 + 8 | 0; + $16 = (HEAP32[$13 >> 2] | 0) - $6 | 0; + if (($16 | 0) > 0) { + _memcpy(HEAP32[$15 >> 2] | 0, $2 | 0, $16 | 0) | 0; + HEAP32[$15 >> 2] = (HEAP32[$15 >> 2] | 0) + ($16 >>> 2 << 2); + } + $22 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$3 >> 2] = $22; + $24 = HEAP32[$13 >> 2] | 0; + HEAP32[$13 >> 2] = HEAP32[$15 >> 2]; + HEAP32[$15 >> 2] = $24; + $26 = $0 + 8 | 0; + $27 = $1 + 12 | 0; + $28 = HEAP32[$26 >> 2] | 0; + HEAP32[$26 >> 2] = HEAP32[$27 >> 2]; + HEAP32[$27 >> 2] = $28; + HEAP32[$1 >> 2] = HEAP32[$3 >> 2]; + return $4 | 0; +} + +function _kpmChangePageNoOfRefDataSet($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$028 = 0, $$029 = 0, $10 = 0, $12 = 0, $13 = 0, $19 = 0, $20 = 0, $5 = 0, $6 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + L1 : do if (!$0) { + _arLog(0, 3, 26474, sp); + $$029 = -1; + } else { + $5 = HEAP32[$0 + 4 >> 2] | 0; + $6 = ($1 | 0) == -1; + $$028 = 0; + while (1) { + if (($$028 | 0) >= ($5 | 0)) break; + $12 = (HEAP32[$0 >> 2] | 0) + ($$028 * 132 | 0) + 124 | 0; + $13 = HEAP32[$12 >> 2] | 0; + if (($13 | 0) == ($1 | 0) | $6 & ($13 | 0) > -1) HEAP32[$12 >> 2] = $2; + $$028 = $$028 + 1 | 0; + } + $9 = HEAP32[$0 + 12 >> 2] | 0; + $10 = $0 + 8 | 0; + $$0 = 0; + while (1) { + if (($$0 | 0) >= ($9 | 0)) { + $$029 = 0; + break L1; + } + $19 = (HEAP32[$10 >> 2] | 0) + ($$0 * 12 | 0) + 8 | 0; + $20 = HEAP32[$19 >> 2] | 0; + if (($20 | 0) == ($1 | 0) | $6 & ($20 | 0) > -1) HEAP32[$19 >> 2] = $2; + $$0 = $$0 + 1 | 0; + } + } while (0); + STACKTOP = sp; + return $$029 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle10VectorTypeEJRPNS2_4NodeERNS_10StringViewEEEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$byval_copy = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy = sp + 16 | 0; + $3 = sp + 8 | 0; + $4 = sp; + $5 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 20) | 0; + $6 = HEAP32[$1 >> 2] | 0; + $7 = $2; + $12 = HEAP32[$7 + 4 >> 2] | 0; + $13 = $4; + HEAP32[$13 >> 2] = HEAP32[$7 >> 2]; + HEAP32[$13 + 4 >> 2] = $12; + HEAP32[$$byval_copy >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle12NodeOrStringC2ENS_10StringViewE($3, $$byval_copy); + HEAP32[$$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle10VectorTypeC2EPKNS0_4NodeENS0_12NodeOrStringE($5, $6, $$byval_copy); + STACKTOP = sp; + return $5 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle10VectorTypeEJRPNS2_4NodeENS_10StringViewEEEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$byval_copy = 0, $12 = 0, $13 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy = sp + 16 | 0; + $3 = sp + 8 | 0; + $4 = sp; + $5 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 20) | 0; + $6 = HEAP32[$1 >> 2] | 0; + $7 = $2; + $12 = HEAP32[$7 + 4 >> 2] | 0; + $13 = $4; + HEAP32[$13 >> 2] = HEAP32[$7 >> 2]; + HEAP32[$13 + 4 >> 2] = $12; + HEAP32[$$byval_copy >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle12NodeOrStringC2ENS_10StringViewE($3, $$byval_copy); + HEAP32[$$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle10VectorTypeC2EPKNS0_4NodeENS0_12NodeOrStringE($5, $6, $$byval_copy); + STACKTOP = sp; + return $5 | 0; +} + +function _alloc_large($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $11 = 0, $16 = 0, $21 = 0, $22 = 0, $24 = 0, $29 = 0, $32 = 0, $4 = 0, $6 = 0; + $4 = HEAP32[$0 + 4 >> 2] | 0; + if ($2 >>> 0 > 999999984) { + $6 = HEAP32[$0 >> 2] | 0; + HEAP32[$6 + 20 >> 2] = 56; + HEAP32[$6 + 24 >> 2] = 3; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + $11 = $2 & 7; + $$0 = (($11 | 0) == 0 ? 0 : 8 - $11 | 0) + $2 | 0; + if ($1 >>> 0 > 1) { + $16 = HEAP32[$0 >> 2] | 0; + HEAP32[$16 + 20 >> 2] = 15; + HEAP32[$16 + 24 >> 2] = $1; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + $21 = $$0 + 16 | 0; + $22 = _jpeg_get_large($0, $21) | 0; + if (!$22) { + $24 = HEAP32[$0 >> 2] | 0; + HEAP32[$24 + 20 >> 2] = 56; + HEAP32[$24 + 24 >> 2] = 4; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + $29 = $4 + 76 | 0; + HEAP32[$29 >> 2] = (HEAP32[$29 >> 2] | 0) + $21; + $32 = $4 + 60 + ($1 << 2) | 0; + HEAP32[$22 >> 2] = HEAP32[$32 >> 2]; + HEAP32[$22 + 4 >> 2] = $$0; + HEAP32[$22 + 8 >> 2] = 0; + HEAP32[$32 >> 2] = $22; + return $22 + 16 | 0; +} + +function __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initIPKcEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeESA_SA_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$021 = 0, $$1 = 0, $12 = 0, $13 = 0, $18 = 0, $3 = 0, $4 = 0, $6 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = $1; + $4 = sp; + $6 = $2 - $3 | 0; + if ($6 >>> 0 > 4294967279) __ZNKSt3__221__basic_string_commonILb1EE20__throw_length_errorEv($0); + if ($6 >>> 0 < 11) { + HEAP8[$0 + 11 >> 0] = $6; + $$021 = $0; + } else { + $12 = $6 + 16 & -16; + $13 = __Znwm($12) | 0; + HEAP32[$0 >> 2] = $13; + HEAP32[$0 + 8 >> 2] = $12 | -2147483648; + HEAP32[$0 + 4 >> 2] = $6; + $$021 = $13; + } + $18 = $2 - $3 | 0; + $$0 = $1; + $$1 = $$021; + while (1) { + if (($$0 | 0) == ($2 | 0)) break; + __ZNSt3__211char_traitsIcE6assignERcRKc($$1, $$0); + $$0 = $$0 + 1 | 0; + $$1 = $$1 + 1 | 0; + } + HEAP8[$4 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($$021 + $18 | 0, $4); + STACKTOP = sp; + return; +} + +function __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initIPcEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeES9_S9_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$021 = 0, $$1 = 0, $12 = 0, $13 = 0, $18 = 0, $3 = 0, $4 = 0, $6 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = $1; + $4 = sp; + $6 = $2 - $3 | 0; + if ($6 >>> 0 > 4294967279) __ZNKSt3__221__basic_string_commonILb1EE20__throw_length_errorEv($0); + if ($6 >>> 0 < 11) { + HEAP8[$0 + 11 >> 0] = $6; + $$021 = $0; + } else { + $12 = $6 + 16 & -16; + $13 = __Znwm($12) | 0; + HEAP32[$0 >> 2] = $13; + HEAP32[$0 + 8 >> 2] = $12 | -2147483648; + HEAP32[$0 + 4 >> 2] = $6; + $$021 = $13; + } + $18 = $2 - $3 | 0; + $$0 = $1; + $$1 = $$021; + while (1) { + if (($$0 | 0) == ($2 | 0)) break; + __ZNSt3__211char_traitsIcE6assignERcRKc($$1, $$0); + $$0 = $$0 + 1 | 0; + $$1 = $$1 + 1 | 0; + } + HEAP8[$4 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($$021 + $18 | 0, $4); + STACKTOP = sp; + return; +} + +function __ZN6vision16Quadratic3PointsIfEEbRT_S2_S2_PKS1_S4_S4_($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.0, $11 = 0.0, $12 = 0.0, $13 = 0.0, $17 = 0.0, $21 = 0, $22 = 0.0, $25 = 0, $29 = 0.0, $36 = 0.0, $6 = 0.0, $7 = 0.0, $9 = 0.0, $storemerge = 0.0; + $6 = +HEAPF32[$5 >> 2]; + $7 = +HEAPF32[$4 >> 2]; + $9 = +HEAPF32[$3 >> 2]; + $10 = $6 - $9; + $11 = ($6 - $7) * $10; + $12 = $9 - $7; + $13 = $12 * $10; + if ($12 == 0.0 | ($11 == 0.0 | $13 == 0.0)) { + HEAPF32[$0 >> 2] = 0.0; + HEAPF32[$1 >> 2] = 0.0; + $$0 = 0; + $storemerge = 0.0; + } else { + $17 = $9 * $9; + $21 = $4 + 4 | 0; + $22 = +HEAPF32[$21 >> 2]; + $25 = $3 + 4 | 0; + $29 = (+HEAPF32[$5 + 4 >> 2] - $22) / $11 - (+HEAPF32[$25 >> 2] - $22) / $13; + HEAPF32[$0 >> 2] = $29; + $36 = (+HEAPF32[$25 >> 2] - +HEAPF32[$21 >> 2] + ($7 * $7 - $17) * $29) / $12; + HEAPF32[$1 >> 2] = $36; + $$0 = 1; + $storemerge = +HEAPF32[$25 >> 2] - $17 * +HEAPF32[$0 >> 2] - $36 * +HEAPF32[$3 >> 2]; + } + HEAPF32[$2 >> 2] = $storemerge; + return $$0 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle17VendorExtQualType9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $12 = 0, $13 = 0, $2 = 0, $3 = 0, $7 = 0, $tmpcast$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $tmpcast$byval_copy = sp + 16 | 0; + $2 = sp + 8 | 0; + $3 = sp; + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 8 >> 2] | 0, $1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 51966); + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $tmpcast$byval_copy); + $7 = $0 + 12 | 0; + $12 = HEAP32[$7 + 4 >> 2] | 0; + $13 = $3; + HEAP32[$13 >> 2] = HEAP32[$7 >> 2]; + HEAP32[$13 + 4 >> 2] = $12; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $tmpcast$byval_copy); + STACKTOP = sp; + return; +} + +function __ZL15loadMultiMarkerPKcP8ARHandlePP12ARPattHandlePP18ARMultiMarkerInfoT($patt_name, $arHandle, $pattHandle_p, $arMultiConfig) { + $patt_name = $patt_name | 0; + $arHandle = $arHandle | 0; + $pattHandle_p = $pattHandle_p | 0; + $arMultiConfig = $arMultiConfig | 0; + var $call = 0, $retval$0 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $call = _arMultiReadConfigFile($patt_name, HEAP32[$pattHandle_p >> 2] | 0) | 0; + HEAP32[$arMultiConfig >> 2] = $call; + L1 : do if (!$call) { + _arLog(0, 3, 45278, sp); + _arPattDeleteHandle(HEAP32[$pattHandle_p >> 2] | 0) | 0; + $retval$0 = 0; + } else switch (HEAP32[$call + 108 >> 2] | 0) { + case 0: + { + _arSetPatternDetectionMode($arHandle, 0) | 0; + $retval$0 = 1; + break L1; + break; + } + case 1: + { + _arSetPatternDetectionMode($arHandle, 2) | 0; + $retval$0 = 1; + break L1; + break; + } + default: + { + _arSetPatternDetectionMode($arHandle, 3) | 0; + $retval$0 = 1; + break L1; + } + } while (0); + STACKTOP = sp; + return $retval$0 | 0; +} + +function _jinit_d_post_controller($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $13 = 0, $14 = 0, $16 = 0, $18 = 0, $2 = 0, $23 = 0, $26 = 0, $28 = 0, $35 = 0, $36 = 0, $5 = 0, $7 = 0, $8 = 0; + $2 = $0 + 4 | 0; + $5 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$2 >> 2] >> 2] & 63]($0, 1, 28) | 0; + HEAP32[$0 + 456 >> 2] = $5; + HEAP32[$5 >> 2] = 135; + $7 = $5 + 8 | 0; + HEAP32[$7 >> 2] = 0; + $8 = $5 + 12 | 0; + HEAP32[$8 >> 2] = 0; + if (!(HEAP32[$0 + 84 >> 2] | 0)) return; + $13 = HEAP32[$0 + 320 >> 2] | 0; + $14 = $5 + 16 | 0; + HEAP32[$14 >> 2] = $13; + $16 = HEAP32[$2 >> 2] | 0; + if (!$1) { + $35 = Math_imul(HEAP32[$0 + 120 >> 2] | 0, HEAP32[$0 + 112 >> 2] | 0) | 0; + $36 = FUNCTION_TABLE_iiiii[HEAP32[$16 + 8 >> 2] & 15]($0, 1, $35, $13) | 0; + HEAP32[$8 >> 2] = $36; + return; + } else { + $18 = HEAP32[$16 + 16 >> 2] | 0; + $23 = Math_imul(HEAP32[$0 + 120 >> 2] | 0, HEAP32[$0 + 112 >> 2] | 0) | 0; + $26 = _jround_up(HEAP32[$0 + 116 >> 2] | 0, $13) | 0; + $28 = FUNCTION_TABLE_iiiiiii[$18 & 63]($0, 1, 0, $23, $26, HEAP32[$14 >> 2] | 0) | 0; + HEAP32[$7 >> 2] = $28; + return; + } +} + +function _setDebugMode($id, $enable) { + $id = $id | 0; + $enable = $enable | 0; + var $arhandle = 0, $id$addr = 0, $retval$0 = 0, $tobool = 0, $vararg_buffer = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $vararg_buffer = sp; + $id$addr = sp + 4 | 0; + HEAP32[$id$addr >> 2] = $id; + if (!(__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0)) $retval$0 = 0; else { + $arhandle = (__ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0) + 216 | 0; + $tobool = ($enable | 0) != 0; + _arSetDebugMode(HEAP32[$arhandle >> 2] | 0, $tobool & 1) | 0; + HEAP32[$vararg_buffer >> 2] = $tobool ? 41742 : 41746; + _arLog(0, 1, 41751, $vararg_buffer); + $retval$0 = $enable; + } + STACKTOP = sp; + return $retval$0 | 0; +} + +function __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$phi$trans$insert = 0, $$pre = 0, $$pre$phi9Z2D = 0, $$pre$phiZ2D = 0, $$pre7 = 0, $13 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0; + $3 = $1 + 15 & -16; + $4 = $0 + 4096 | 0; + $5 = HEAP32[$4 >> 2] | 0; + $6 = $5 + 4 | 0; + $7 = HEAP32[$6 >> 2] | 0; + $8 = $7 + $3 | 0; + do if ($8 >>> 0 > 4087) if ($3 >>> 0 > 4088) { + $$0 = __ZN12_GLOBAL__N_120BumpPointerAllocator15allocateMassiveEm($0, $3) | 0; + break; + } else { + __ZN12_GLOBAL__N_120BumpPointerAllocator4growEv($0); + $$pre = HEAP32[$4 >> 2] | 0; + $$phi$trans$insert = $$pre + 4 | 0; + $$pre7 = HEAP32[$$phi$trans$insert >> 2] | 0; + $$pre$phi9Z2D = $$pre7 + $3 | 0; + $$pre$phiZ2D = $$phi$trans$insert; + $13 = $$pre; + $15 = $$pre7; + label = 5; + break; + } else { + $$pre$phi9Z2D = $8; + $$pre$phiZ2D = $6; + $13 = $5; + $15 = $7; + label = 5; + } while (0); + if ((label | 0) == 5) { + HEAP32[$$pre$phiZ2D >> 2] = $$pre$phi9Z2D; + $$0 = $13 + 8 + $15 | 0; + } + return $$0 | 0; +} + +function __ZN6vision18BinomialPyramid32f5allocEmmi($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0, $$022 = 0, $10 = 0, $13 = 0, $14 = 0, $15 = 0, $19 = 0, $4 = 0, $5 = 0; + __ZN6vision25GaussianScaleSpacePyramid9configureEii($0, $3, 3); + $4 = $0 + 4 | 0; + $5 = $0 + 20 | 0; + __ZNSt3__26vectorIN6vision5ImageENS_9allocatorIS2_EEE6resizeEm($4, Math_imul(HEAP32[$5 >> 2] | 0, $3) | 0); + $$022 = 0; + while (1) { + if (($$022 | 0) >= ($3 | 0)) break; + $13 = $1 >>> $$022; + $14 = $2 >>> $$022; + $$0 = 0; + while (1) { + $15 = HEAP32[$5 >> 2] | 0; + if ($$0 >>> 0 >= $15 >>> 0) break; + $19 = (Math_imul($15, $$022) | 0) + $$0 | 0; + __ZN6vision5Image5allocENS_9ImageTypeEmmim((HEAP32[$4 >> 2] | 0) + ($19 << 5) | 0, 2, $13, $14, -1, 1); + $$0 = $$0 + 1 | 0; + } + $$022 = $$022 + 1 | 0; + } + $10 = Math_imul($2, $1) | 0; + __ZNSt3__26vectorItNS_9allocatorItEEE6resizeEm($0 + 32 | 0, $10); + __ZNSt3__26vectorIfNS_9allocatorIfEEE6resizeEm($0 + 44 | 0, $10); + __ZNSt3__26vectorIfNS_9allocatorIfEEE6resizeEm($0 + 56 | 0, $10); + return; +} + +function __ZNSt3__26vectorIN6vision17PriorityQueueItemILi96EEENS_9allocatorIS3_EEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0$i = 0, $10 = 0, $15 = 0, $16 = 0, $2 = 0, $22 = 0, $24 = 0, $25 = 0, $27 = 0, $28 = 0, $29 = 0, $3 = 0, $5 = 0, $9 = 0; + $2 = HEAP32[$0 >> 2] | 0; + $3 = $0 + 4 | 0; + $5 = $1 + 4 | 0; + $$0$i = HEAP32[$3 >> 2] | 0; + while (1) { + if (($$0$i | 0) == ($2 | 0)) break; + $9 = $$0$i + -8 | 0; + $10 = $9; + $15 = HEAP32[$10 + 4 >> 2] | 0; + $16 = (HEAP32[$5 >> 2] | 0) + -8 | 0; + HEAP32[$16 >> 2] = HEAP32[$10 >> 2]; + HEAP32[$16 + 4 >> 2] = $15; + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + -8; + $$0$i = $9; + } + $22 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$5 >> 2] = $22; + $24 = $1 + 8 | 0; + $25 = HEAP32[$3 >> 2] | 0; + HEAP32[$3 >> 2] = HEAP32[$24 >> 2]; + HEAP32[$24 >> 2] = $25; + $27 = $0 + 8 | 0; + $28 = $1 + 12 | 0; + $29 = HEAP32[$27 >> 2] | 0; + HEAP32[$27 >> 2] = HEAP32[$28 >> 2]; + HEAP32[$28 >> 2] = $29; + HEAP32[$1 >> 2] = HEAP32[$5 >> 2]; + return; +} + +function _arUtilMatInvf($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$030 = 0, $$1 = 0, $$131 = 0, $12 = 0, $13 = 0, $15 = 0, $2 = 0, $3 = 0; + $2 = _arMatrixAlloc(4, 4) | 0; + $$0 = 0; + while (1) { + if (($$0 | 0) == 3) break; + $3 = $$0 << 2; + $$030 = 0; + while (1) { + if (($$030 | 0) == 4) break; + HEAPF64[(HEAP32[$2 >> 2] | 0) + ($$030 + $3 << 3) >> 3] = +HEAPF32[$0 + ($$0 << 4) + ($$030 << 2) >> 2]; + $$030 = $$030 + 1 | 0; + } + $$0 = $$0 + 1 | 0; + } + $12 = HEAP32[$2 >> 2] | 0; + $13 = $12 + 96 | 0; + HEAP32[$13 >> 2] = 0; + HEAP32[$13 + 4 >> 2] = 0; + HEAP32[$13 + 8 >> 2] = 0; + HEAP32[$13 + 12 >> 2] = 0; + HEAP32[$13 + 16 >> 2] = 0; + HEAP32[$13 + 20 >> 2] = 0; + HEAPF64[$12 + 120 >> 3] = 1.0; + _arMatrixSelfInv($2) | 0; + $$1 = 0; + while (1) { + if (($$1 | 0) == 3) break; + $15 = $$1 << 2; + $$131 = 0; + while (1) { + if (($$131 | 0) == 4) break; + HEAPF32[$1 + ($$1 << 4) + ($$131 << 2) >> 2] = +HEAPF64[(HEAP32[$2 >> 2] | 0) + ($$131 + $15 << 3) >> 3]; + $$131 = $$131 + 1 | 0; + } + $$1 = $$1 + 1 | 0; + } + _arMatrixFree($2) | 0; + return 0; +} + +function _arUtilMatInv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$030 = 0, $$1 = 0, $$131 = 0, $11 = 0, $12 = 0, $14 = 0, $2 = 0, $3 = 0; + $2 = _arMatrixAlloc(4, 4) | 0; + $$0 = 0; + while (1) { + if (($$0 | 0) == 3) break; + $3 = $$0 << 2; + $$030 = 0; + while (1) { + if (($$030 | 0) == 4) break; + HEAPF64[(HEAP32[$2 >> 2] | 0) + ($$030 + $3 << 3) >> 3] = +HEAPF64[$0 + ($$0 << 5) + ($$030 << 3) >> 3]; + $$030 = $$030 + 1 | 0; + } + $$0 = $$0 + 1 | 0; + } + $11 = HEAP32[$2 >> 2] | 0; + $12 = $11 + 96 | 0; + HEAP32[$12 >> 2] = 0; + HEAP32[$12 + 4 >> 2] = 0; + HEAP32[$12 + 8 >> 2] = 0; + HEAP32[$12 + 12 >> 2] = 0; + HEAP32[$12 + 16 >> 2] = 0; + HEAP32[$12 + 20 >> 2] = 0; + HEAPF64[$11 + 120 >> 3] = 1.0; + _arMatrixSelfInv($2) | 0; + $$1 = 0; + while (1) { + if (($$1 | 0) == 3) break; + $14 = $$1 << 2; + $$131 = 0; + while (1) { + if (($$131 | 0) == 4) break; + HEAPF64[$1 + ($$1 << 5) + ($$131 << 3) >> 3] = +HEAPF64[(HEAP32[$2 >> 2] | 0) + ($$131 + $14 << 3) >> 3]; + $$131 = $$131 + 1 | 0; + } + $$1 = $$1 + 1 | 0; + } + _arMatrixFree($2) | 0; + return 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle19SizeofParamPackExpr9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy1 = 0, $2 = 0, $3 = 0, $4 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $$byval_copy1 = sp + 32 | 0; + $2 = sp + 24 | 0; + $3 = sp + 8 | 0; + $4 = sp; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 53002); + HEAP32[$$byval_copy1 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy1 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy1); + __ZN12_GLOBAL__N_116itanium_demangle22ParameterPackExpansionC2EPKNS0_4NodeE($3, HEAP32[$0 + 8 >> 2] | 0); + __ZNK12_GLOBAL__N_116itanium_demangle22ParameterPackExpansion9printLeftERNS_12OutputStreamE($3, $1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, 51964); + HEAP32[$$byval_copy1 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy1 + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy1); + STACKTOP = sp; + return; +} + +function __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE6xsgetnEPwl($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$023 = 0, $$1 = 0, $$pn = 0, $12 = 0, $13 = 0, $15 = 0, $22 = 0, $24 = 0, $3 = 0, $4 = 0, $6 = 0, $7 = 0; + __ZNSt3__211char_traitsIwE3eofEv() | 0; + $3 = $0 + 12 | 0; + $4 = $0 + 16 | 0; + $$0 = $1; + $$023 = 0; + while (1) { + if (($$023 | 0) >= ($2 | 0)) break; + $6 = HEAP32[$3 >> 2] | 0; + $7 = HEAP32[$4 >> 2] | 0; + if ($6 >>> 0 < $7 >>> 0) { + $12 = $7 - $6 >> 2; + $13 = $2 - $$023 | 0; + $15 = ($13 | 0) < ($12 | 0) ? $13 : $12; + __ZNSt3__211char_traitsIwE4copyEPwPKwm($$0, $6, $15) | 0; + HEAP32[$3 >> 2] = (HEAP32[$3 >> 2] | 0) + ($15 << 2); + $$1 = $$0 + ($15 << 2) | 0; + $$pn = $15; + } else { + $22 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$0 >> 2] | 0) + 40 >> 2] & 127]($0) | 0; + if (($22 | 0) == -1) break; + $24 = __ZNSt3__211char_traitsIwE12to_char_typeEj($22) | 0; + HEAP32[$$0 >> 2] = $24; + $$1 = $$0 + 4 | 0; + $$pn = 1; + } + $$0 = $$1; + $$023 = $$pn + $$023 | 0; + } + return $$023 | 0; +} + +function __ZN6vision21AccumulateProjection9IfEEvPT_PKS1_S4_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $11 = 0, $17 = 0, $23 = 0, $29 = 0, $3 = 0.0, $35 = 0, $41 = 0, $47 = 0, $53 = 0; + $3 = +__ZN6vision11DotProduct9IfEET_PKS1_S3_($2, $1); + HEAPF32[$0 >> 2] = +HEAPF32[$0 >> 2] - $3 * +HEAPF32[$1 >> 2]; + $11 = $0 + 4 | 0; + HEAPF32[$11 >> 2] = +HEAPF32[$11 >> 2] - $3 * +HEAPF32[$1 + 4 >> 2]; + $17 = $0 + 8 | 0; + HEAPF32[$17 >> 2] = +HEAPF32[$17 >> 2] - $3 * +HEAPF32[$1 + 8 >> 2]; + $23 = $0 + 12 | 0; + HEAPF32[$23 >> 2] = +HEAPF32[$23 >> 2] - $3 * +HEAPF32[$1 + 12 >> 2]; + $29 = $0 + 16 | 0; + HEAPF32[$29 >> 2] = +HEAPF32[$29 >> 2] - $3 * +HEAPF32[$1 + 16 >> 2]; + $35 = $0 + 20 | 0; + HEAPF32[$35 >> 2] = +HEAPF32[$35 >> 2] - $3 * +HEAPF32[$1 + 20 >> 2]; + $41 = $0 + 24 | 0; + HEAPF32[$41 >> 2] = +HEAPF32[$41 >> 2] - $3 * +HEAPF32[$1 + 24 >> 2]; + $47 = $0 + 28 | 0; + HEAPF32[$47 >> 2] = +HEAPF32[$47 >> 2] - $3 * +HEAPF32[$1 + 28 >> 2]; + $53 = $0 + 32 | 0; + HEAPF32[$53 >> 2] = +HEAPF32[$53 >> 2] - $3 * +HEAPF32[$1 + 32 >> 2]; + return; +} + +function __ZNSt3__26vectorIN6vision25DoGScaleInvariantDetector12FeaturePointENS_9allocatorIS3_EEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$pre$phiZ2D = 0, $10 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $5 = 0, $7 = 0; + $2 = HEAP32[$0 >> 2] | 0; + $3 = $0 + 4 | 0; + $5 = $1 + 4 | 0; + $7 = (HEAP32[$3 >> 2] | 0) - $2 | 0; + $10 = (HEAP32[$5 >> 2] | 0) + ((($7 | 0) / -36 | 0) * 36 | 0) | 0; + HEAP32[$5 >> 2] = $10; + if (($7 | 0) > 0) { + _memcpy($10 | 0, $2 | 0, $7 | 0) | 0; + $$pre$phiZ2D = $5; + $14 = HEAP32[$5 >> 2] | 0; + } else { + $$pre$phiZ2D = $5; + $14 = $10; + } + $13 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = $14; + HEAP32[$$pre$phiZ2D >> 2] = $13; + $15 = $1 + 8 | 0; + $16 = HEAP32[$3 >> 2] | 0; + HEAP32[$3 >> 2] = HEAP32[$15 >> 2]; + HEAP32[$15 >> 2] = $16; + $18 = $0 + 8 | 0; + $19 = $1 + 12 | 0; + $20 = HEAP32[$18 >> 2] | 0; + HEAP32[$18 >> 2] = HEAP32[$19 >> 2]; + HEAP32[$19 >> 2] = $20; + HEAP32[$1 >> 2] = HEAP32[$$pre$phiZ2D >> 2]; + return; +} + +function _jinit_huff_decoder($0) { + $0 = $0 | 0; + var $$043 = 0, $1 = 0, $12 = 0, $15 = 0, $23 = 0, $24 = 0, $4 = 0; + $1 = $0 + 4 | 0; + $4 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 220) | 0; + HEAP32[$0 + 468 >> 2] = $4; + HEAP32[$4 >> 2] = 195; + HEAP32[$4 + 8 >> 2] = 196; + if (!(HEAP32[$0 + 224 >> 2] | 0)) { + $24 = $4 + 68 | 0; + HEAP32[$24 >> 2] = 0; + HEAP32[$24 + 4 >> 2] = 0; + HEAP32[$24 + 8 >> 2] = 0; + HEAP32[$24 + 12 >> 2] = 0; + HEAP32[$24 + 16 >> 2] = 0; + HEAP32[$4 + 88 >> 2] = 0; + HEAP32[$4 + 92 >> 2] = 0; + HEAP32[$4 + 96 >> 2] = 0; + return; + } + $12 = $0 + 36 | 0; + $15 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, HEAP32[$12 >> 2] << 8) | 0; + HEAP32[$0 + 160 >> 2] = $15; + if ((HEAP32[$12 >> 2] | 0) > 0) { + $$043 = 0; + do { + _memset($15 + ($$043 << 8) | 0, -1, 256) | 0; + $$043 = $$043 + 1 | 0; + } while (($$043 | 0) < (HEAP32[$12 >> 2] | 0)); + } + $23 = $4 + 48 | 0; + HEAP32[$23 >> 2] = 0; + HEAP32[$23 + 4 >> 2] = 0; + HEAP32[$23 + 8 >> 2] = 0; + HEAP32[$23 + 12 >> 2] = 0; + return; +} + +function _getPattRatio($id) { + $id = $id | 0; + var $0 = 0, $arhandle = 0, $cmp = 0, $id$addr = 0, $pattRatio = 0, $retval$0 = 0.0, $retval$1 = 0.0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $id$addr = sp + 8 | 0; + $pattRatio = sp; + HEAP32[$id$addr >> 2] = $id; + if (!(__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0)) $retval$1 = -1.0; else { + $arhandle = (__ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0) + 216 | 0; + $0 = HEAP32[$arhandle >> 2] | 0; + if (!$0) $retval$0 = -1.0; else { + $cmp = (_arGetPattRatio($0, $pattRatio) | 0) == 0; + $retval$0 = $cmp ? +HEAPF64[$pattRatio >> 3] : -1.0; + } + $retval$1 = $retval$0; + } + STACKTOP = sp; + return +$retval$1; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E11parseNumberEb($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $12 = 0, $14 = 0, $3 = 0, $6 = 0, label = 0; + $3 = HEAP32[$1 >> 2] | 0; + if ($2) __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($1, 110) | 0; + if ((__ZNK12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E7numLeftEv($1) | 0) != 0 ? ($6 = HEAP32[$1 >> 2] | 0, ((HEAP8[$6 >> 0] | 0) + -48 | 0) >>> 0 < 10) : 0) { + $12 = $6; + while (1) { + if (!(__ZNK12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E7numLeftEv($1) | 0)) break; + if (((HEAP8[$12 >> 0] | 0) + -48 | 0) >>> 0 >= 10) break; + $14 = $12 + 1 | 0; + HEAP32[$1 >> 2] = $14; + $12 = $14; + } + __ZN12_GLOBAL__N_110StringViewC2EPKcS2_($0, $3, $12); + } else __ZN12_GLOBAL__N_110StringViewC2Ev($0); + return; +} + +function _getMultiMarkerNum($id, $multiMarker_id) { + $id = $id | 0; + $multiMarker_id = $multiMarker_id | 0; + var $1 = 0, $call7 = 0, $id$addr = 0, $retval$1 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $id$addr = sp; + HEAP32[$id$addr >> 2] = $id; + if (((__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0) != 0 ? ($call7 = __ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0, ($multiMarker_id | 0) >= 0) : 0) ? ($1 = HEAP32[$call7 + 328 >> 2] | 0, (HEAP32[$call7 + 332 >> 2] | 0) - $1 >> 3 >>> 0 > $multiMarker_id >>> 0) : 0) $retval$1 = HEAP32[(HEAP32[$1 + ($multiMarker_id << 3) + 4 >> 2] | 0) + 4 >> 2] | 0; else $retval$1 = -1; + STACKTOP = sp; + return $retval$1 | 0; +} + +function __ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE21__construct_node_hashIRKNS_21piecewise_construct_tEJNS_5tupleIJRKiEEENSJ_IJEEEEEENS_10unique_ptrINS_11__hash_nodeIS3_PvEENS_22__hash_node_destructorINSC_ISR_EEEEEEmOT_DpOT0_($agg$result, $this, $__hash, $__f, $__rest, $__rest1) { + $agg$result = $agg$result | 0; + $this = $this | 0; + $__hash = $__hash | 0; + $__f = $__f | 0; + $__rest = $__rest | 0; + $__rest1 = $__rest1 | 0; + var $call$i$i$i = 0, $second$i$i$i$i$i = 0; + $call$i$i$i = __Znwm(496) | 0; + HEAP32[$agg$result >> 2] = $call$i$i$i; + HEAP32[$agg$result + 4 >> 2] = $this + 8; + HEAP32[$call$i$i$i + 8 >> 2] = HEAP32[HEAP32[$__rest >> 2] >> 2]; + $second$i$i$i$i$i = $call$i$i$i + 16 | 0; + _memset($second$i$i$i$i$i | 0, 0, 480) | 0; + __ZN12arControllerC2Ev($second$i$i$i$i$i); + HEAP8[$agg$result + 8 >> 0] = 1; + HEAP32[$call$i$i$i + 4 >> 2] = $__hash; + HEAP32[$call$i$i$i >> 2] = 0; + return; +} + +function __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE6xsgetnEPcl($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$023 = 0, $$1 = 0, $$pn = 0, $11 = 0, $12 = 0, $14 = 0, $21 = 0, $23 = 0, $3 = 0, $4 = 0, $6 = 0, $7 = 0; + __ZNSt3__211char_traitsIcE3eofEv() | 0; + $3 = $0 + 12 | 0; + $4 = $0 + 16 | 0; + $$0 = $1; + $$023 = 0; + while (1) { + if (($$023 | 0) >= ($2 | 0)) break; + $6 = HEAP32[$3 >> 2] | 0; + $7 = HEAP32[$4 >> 2] | 0; + if ($6 >>> 0 < $7 >>> 0) { + $11 = $7 - $6 | 0; + $12 = $2 - $$023 | 0; + $14 = ($12 | 0) < ($11 | 0) ? $12 : $11; + __ZNSt3__211char_traitsIcE4copyEPcPKcm($$0, $6, $14) | 0; + HEAP32[$3 >> 2] = (HEAP32[$3 >> 2] | 0) + $14; + $$1 = $$0 + $14 | 0; + $$pn = $14; + } else { + $21 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$0 >> 2] | 0) + 40 >> 2] & 127]($0) | 0; + if (($21 | 0) == -1) break; + $23 = __ZNSt3__211char_traitsIcE12to_char_typeEi($21) | 0; + HEAP8[$$0 >> 0] = $23; + $$1 = $$0 + 1 | 0; + $$pn = 1; + } + $$0 = $$1; + $$023 = $$pn + $$023 | 0; + } + return $$023 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle13EnclosingExprEJRA12_KcRPNS2_4NodeERA2_S4_EEEPT_DpOT0_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$byval_copy = 0, $$byval_copy1 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy1 = sp + 24 | 0; + $$byval_copy = sp + 16 | 0; + $4 = sp + 8 | 0; + $5 = sp; + $6 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 28) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, $1); + $7 = HEAP32[$2 >> 2] | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($5, $3); + HEAP32[$$byval_copy >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + HEAP32[$$byval_copy1 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$$byval_copy1 + 4 >> 2] = HEAP32[$5 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle13EnclosingExprC2ENS_10StringViewEPNS0_4NodeES2_($6, $$byval_copy, $7, $$byval_copy1); + STACKTOP = sp; + return $6 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle13EnclosingExprEJRA11_KcRPNS2_4NodeERA2_S4_EEEPT_DpOT0_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$byval_copy = 0, $$byval_copy1 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy1 = sp + 24 | 0; + $$byval_copy = sp + 16 | 0; + $4 = sp + 8 | 0; + $5 = sp; + $6 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 28) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, $1); + $7 = HEAP32[$2 >> 2] | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($5, $3); + HEAP32[$$byval_copy >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + HEAP32[$$byval_copy1 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$$byval_copy1 + 4 >> 2] = HEAP32[$5 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle13EnclosingExprC2ENS_10StringViewEPNS0_4NodeES2_($6, $$byval_copy, $7, $$byval_copy1); + STACKTOP = sp; + return $6 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle13EnclosingExprEJRA10_KcRPNS2_4NodeERA2_S4_EEEPT_DpOT0_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$byval_copy = 0, $$byval_copy1 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy1 = sp + 24 | 0; + $$byval_copy = sp + 16 | 0; + $4 = sp + 8 | 0; + $5 = sp; + $6 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 28) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, $1); + $7 = HEAP32[$2 >> 2] | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($5, $3); + HEAP32[$$byval_copy >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + HEAP32[$$byval_copy1 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$$byval_copy1 + 4 >> 2] = HEAP32[$5 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle13EnclosingExprC2ENS_10StringViewEPNS0_4NodeES2_($6, $$byval_copy, $7, $$byval_copy1); + STACKTOP = sp; + return $6 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8FoldExprEJRbRNS_10StringViewERPNS2_4NodeES9_EEEPT_DpOT0_($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $14 = 0, $15 = 0, $19 = 0, $20 = 0, $5 = 0, $6 = 0, $8 = 0, $9 = 0, $tmpcast$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $tmpcast$byval_copy = sp + 8 | 0; + $5 = sp; + $6 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 28) | 0; + $8 = (HEAP8[$1 >> 0] | 0) != 0; + $9 = $2; + $14 = HEAP32[$9 + 4 >> 2] | 0; + $15 = $5; + HEAP32[$15 >> 2] = HEAP32[$9 >> 2]; + HEAP32[$15 + 4 >> 2] = $14; + $19 = HEAP32[$3 >> 2] | 0; + $20 = HEAP32[$4 >> 2] | 0; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$5 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$5 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle8FoldExprC2EbNS_10StringViewEPKNS0_4NodeES5_($6, $8, $tmpcast$byval_copy, $19, $20); + STACKTOP = sp; + return $6 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle13EnclosingExprEJRA9_KcRPNS2_4NodeERA2_S4_EEEPT_DpOT0_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$byval_copy = 0, $$byval_copy1 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy1 = sp + 24 | 0; + $$byval_copy = sp + 16 | 0; + $4 = sp + 8 | 0; + $5 = sp; + $6 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 28) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, $1); + $7 = HEAP32[$2 >> 2] | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($5, $3); + HEAP32[$$byval_copy >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + HEAP32[$$byval_copy1 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$$byval_copy1 + 4 >> 2] = HEAP32[$5 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle13EnclosingExprC2ENS_10StringViewEPNS0_4NodeES2_($6, $$byval_copy, $7, $$byval_copy1); + STACKTOP = sp; + return $6 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfENS_10StringViewE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $12 = 0, $13 = 0, $18 = 0, $2 = 0, $3 = 0, $7 = 0, $tmpcast$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $tmpcast$byval_copy = sp + 16 | 0; + $2 = sp + 8 | 0; + $3 = sp; + __ZN12_GLOBAL__N_110StringViewC2EPKcS2_($2, HEAP32[$0 >> 2] | 0, HEAP32[$0 + 4 >> 2] | 0); + $7 = $1; + $12 = HEAP32[$7 + 4 >> 2] | 0; + $13 = $3; + HEAP32[$13 >> 2] = HEAP32[$7 >> 2]; + HEAP32[$13 + 4 >> 2] = $12; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + if (__ZNK12_GLOBAL__N_110StringView10startsWithES0_($2, $tmpcast$byval_copy) | 0) { + $18 = __ZNK12_GLOBAL__N_110StringView4sizeEv($1) | 0; + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + $18; + $$0 = 1; + } else $$0 = 0; + STACKTOP = sp; + return $$0 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_24ForwardTemplateReferenceELm4EE7reserveEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$in = 0, $$pre$phi11Z2D = 0, $11 = 0, $15 = 0, $2 = 0, $5 = 0, $7 = 0, $8 = 0; + $2 = __ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_24ForwardTemplateReferenceELm4EE4sizeEv($0) | 0; + do if (!(__ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_24ForwardTemplateReferenceELm4EE8isInlineEv($0) | 0)) { + $15 = _realloc(HEAP32[$0 >> 2] | 0, $1 << 2) | 0; + HEAP32[$0 >> 2] = $15; + if (!$15) __ZSt9terminatev(); else { + $$in = $15; + $$pre$phi11Z2D = $0 + 4 | 0; + break; + } + } else { + $5 = _malloc($1 << 2) | 0; + if (!$5) __ZSt9terminatev(); + $7 = HEAP32[$0 >> 2] | 0; + $8 = $0 + 4 | 0; + $11 = (HEAP32[$8 >> 2] | 0) - $7 | 0; + if ($11 | 0) _memmove($5 | 0, $7 | 0, $11 | 0) | 0; + HEAP32[$0 >> 2] = $5; + $$in = $5; + $$pre$phi11Z2D = $8; + } while (0); + HEAP32[$$pre$phi11Z2D >> 2] = $$in + ($2 << 2); + HEAP32[$0 + 8 >> 2] = $$in + ($1 << 2); + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle21CtorVtableSpecialName9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy1 = 0, $2 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy1 = sp + 16 | 0; + $2 = sp + 8 | 0; + $3 = sp; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 56899); + HEAP32[$$byval_copy1 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy1 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy1); + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 8 >> 2] | 0, $1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, 56924); + HEAP32[$$byval_copy1 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy1 + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy1); + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 12 >> 2] | 0, $1); + STACKTOP = sp; + return; +} + +function __ZNSt3__26vectorIN6vision7Point3dIfEENS_9allocatorIS3_EEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$pre$phiZ2D = 0, $10 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $5 = 0, $7 = 0; + $2 = HEAP32[$0 >> 2] | 0; + $3 = $0 + 4 | 0; + $5 = $1 + 4 | 0; + $7 = (HEAP32[$3 >> 2] | 0) - $2 | 0; + $10 = (HEAP32[$5 >> 2] | 0) + ((($7 | 0) / -12 | 0) * 12 | 0) | 0; + HEAP32[$5 >> 2] = $10; + if (($7 | 0) > 0) { + _memcpy($10 | 0, $2 | 0, $7 | 0) | 0; + $$pre$phiZ2D = $5; + $14 = HEAP32[$5 >> 2] | 0; + } else { + $$pre$phiZ2D = $5; + $14 = $10; + } + $13 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = $14; + HEAP32[$$pre$phiZ2D >> 2] = $13; + $15 = $1 + 8 | 0; + $16 = HEAP32[$3 >> 2] | 0; + HEAP32[$3 >> 2] = HEAP32[$15 >> 2]; + HEAP32[$15 >> 2] = $16; + $18 = $0 + 8 | 0; + $19 = $1 + 12 | 0; + $20 = HEAP32[$18 >> 2] | 0; + HEAP32[$18 >> 2] = HEAP32[$19 >> 2]; + HEAP32[$19 >> 2] = $20; + HEAP32[$1 >> 2] = HEAP32[$$pre$phiZ2D >> 2]; + return; +} + +function _setPattRatio($id, $ratio) { + $id = $id | 0; + $ratio = +$ratio; + var $0 = 0, $call7 = 0, $conv = 0.0, $id$addr = 0, $vararg_buffer = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $vararg_buffer = sp; + $id$addr = sp + 8 | 0; + HEAP32[$id$addr >> 2] = $id; + if (((__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0 ? ($call7 = __ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0, !($ratio <= 0.0 | $ratio >= 1.0)) : 0) ? ($conv = $ratio, $0 = HEAP32[$call7 + 216 >> 2] | 0, $0 | 0) : 0) ? (_arSetPattRatio($0, $conv) | 0) == 0 : 0) { + HEAPF64[$vararg_buffer >> 3] = $conv; + _arLog(0, 1, 41608, $vararg_buffer); + } + STACKTOP = sp; + return; +} + +function __ZNSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$pre$phiZ2D = 0, $11 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $5 = 0, $7 = 0; + $2 = HEAP32[$0 >> 2] | 0; + $3 = $0 + 4 | 0; + $5 = $1 + 4 | 0; + $7 = (HEAP32[$3 >> 2] | 0) - $2 | 0; + $11 = (HEAP32[$5 >> 2] | 0) + (0 - ($7 >> 2) << 2) | 0; + HEAP32[$5 >> 2] = $11; + if (($7 | 0) > 0) { + _memcpy($11 | 0, $2 | 0, $7 | 0) | 0; + $$pre$phiZ2D = $5; + $15 = HEAP32[$5 >> 2] | 0; + } else { + $$pre$phiZ2D = $5; + $15 = $11; + } + $14 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = $15; + HEAP32[$$pre$phiZ2D >> 2] = $14; + $16 = $1 + 8 | 0; + $17 = HEAP32[$3 >> 2] | 0; + HEAP32[$3 >> 2] = HEAP32[$16 >> 2]; + HEAP32[$16 >> 2] = $17; + $19 = $0 + 8 | 0; + $20 = $1 + 12 | 0; + $21 = HEAP32[$19 >> 2] | 0; + HEAP32[$19 >> 2] = HEAP32[$20 >> 2]; + HEAP32[$20 >> 2] = $21; + HEAP32[$1 >> 2] = HEAP32[$$pre$phiZ2D >> 2]; + return; +} + +function __ZN6vision6Logger5writeENS_19LoggerPriorityLevelEPKcz($0, $1, $2, $varargs) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $varargs = $varargs | 0; + var $3 = 0, $4 = 0, $5 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $3 = sp; + $4 = sp + 28 | 0; + $5 = sp + 16 | 0; + HEAP32[$3 >> 2] = $varargs; + HEAP32[$5 >> 2] = 0; + HEAP32[$5 + 4 >> 2] = 0; + HEAP32[$5 + 8 >> 2] = 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm($5, $2, __ZNSt3__211char_traitsIcE6lengthEPKc($2) | 0); + __ZN6vision6detail23create_formatted_stringERKNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEPi($4, $5, $3); + __ZN6vision6Logger5writeENS_19LoggerPriorityLevelERKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE($0, $1, $4); + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($4); + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($5); + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle15PixelVectorTypeEJRNS_10StringViewEEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy = 0, $10 = 0, $11 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy = sp + 16 | 0; + $2 = sp + 8 | 0; + $3 = sp; + $4 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 16) | 0; + $5 = $1; + $10 = HEAP32[$5 + 4 >> 2] | 0; + $11 = $3; + HEAP32[$11 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$11 + 4 >> 2] = $10; + HEAP32[$$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle12NodeOrStringC2ENS_10StringViewE($2, $$byval_copy); + HEAP32[$$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle15PixelVectorTypeC2ENS0_12NodeOrStringE($4, $$byval_copy); + STACKTOP = sp; + return $4 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle8CallExpr9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy1 = 0, $2 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy1 = sp + 16 | 0; + $2 = sp + 8 | 0; + $3 = sp; + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 8 >> 2] | 0, $1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 51968); + HEAP32[$$byval_copy1 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy1 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy1); + __ZNK12_GLOBAL__N_116itanium_demangle9NodeArray14printWithCommaERNS_12OutputStreamE($0 + 12 | 0, $1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, 51964); + HEAP32[$$byval_copy1 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy1 + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy1); + STACKTOP = sp; + return; +} + +function __ZNSt3__26vectorIPKN6vision4NodeILi96EEENS_9allocatorIS5_EEE26__swap_out_circular_bufferERNS_14__split_bufferIS5_RS7_EE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$pre$phiZ2D = 0, $11 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $5 = 0, $7 = 0; + $2 = HEAP32[$0 >> 2] | 0; + $3 = $0 + 4 | 0; + $5 = $1 + 4 | 0; + $7 = (HEAP32[$3 >> 2] | 0) - $2 | 0; + $11 = (HEAP32[$5 >> 2] | 0) + (0 - ($7 >> 2) << 2) | 0; + HEAP32[$5 >> 2] = $11; + if (($7 | 0) > 0) { + _memcpy($11 | 0, $2 | 0, $7 | 0) | 0; + $$pre$phiZ2D = $5; + $15 = HEAP32[$5 >> 2] | 0; + } else { + $$pre$phiZ2D = $5; + $15 = $11; + } + $14 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = $15; + HEAP32[$$pre$phiZ2D >> 2] = $14; + $16 = $1 + 8 | 0; + $17 = HEAP32[$3 >> 2] | 0; + HEAP32[$3 >> 2] = HEAP32[$16 >> 2]; + HEAP32[$16 >> 2] = $17; + $19 = $0 + 8 | 0; + $20 = $1 + 12 | 0; + $21 = HEAP32[$19 >> 2] | 0; + HEAP32[$19 >> 2] = HEAP32[$20 >> 2]; + HEAP32[$20 >> 2] = $21; + HEAP32[$1 >> 2] = HEAP32[$$pre$phiZ2D >> 2]; + return; +} + +function __ZNSt3__26vectorIPN6vision4NodeILi96EEENS_9allocatorIS4_EEE26__swap_out_circular_bufferERNS_14__split_bufferIS4_RS6_EE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$pre$phiZ2D = 0, $11 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $5 = 0, $7 = 0; + $2 = HEAP32[$0 >> 2] | 0; + $3 = $0 + 4 | 0; + $5 = $1 + 4 | 0; + $7 = (HEAP32[$3 >> 2] | 0) - $2 | 0; + $11 = (HEAP32[$5 >> 2] | 0) + (0 - ($7 >> 2) << 2) | 0; + HEAP32[$5 >> 2] = $11; + if (($7 | 0) > 0) { + _memcpy($11 | 0, $2 | 0, $7 | 0) | 0; + $$pre$phiZ2D = $5; + $15 = HEAP32[$5 >> 2] | 0; + } else { + $$pre$phiZ2D = $5; + $15 = $11; + } + $14 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = $15; + HEAP32[$$pre$phiZ2D >> 2] = $14; + $16 = $1 + 8 | 0; + $17 = HEAP32[$3 >> 2] | 0; + HEAP32[$3 >> 2] = HEAP32[$16 >> 2]; + HEAP32[$16 >> 2] = $17; + $19 = $0 + 8 | 0; + $20 = $1 + 12 | 0; + $21 = HEAP32[$19 >> 2] | 0; + HEAP32[$19 >> 2] = HEAP32[$20 >> 2]; + HEAP32[$20 >> 2] = $21; + HEAP32[$1 >> 2] = HEAP32[$$pre$phiZ2D >> 2]; + return; +} + +function __ZNSt3__215__num_get_floatIeEET_PKcS3_Rj($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0.0, $$0$ph = 0.0, $$1 = 0.0, $10 = 0, $11 = 0, $13 = 0, $3 = 0, $5 = 0, $6 = 0, $7 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp; + if (($0 | 0) == ($1 | 0)) { + HEAP32[$2 >> 2] = 4; + $$1 = 0.0; + } else { + $5 = ___errno_location() | 0; + $6 = HEAP32[$5 >> 2] | 0; + $7 = ___errno_location() | 0; + HEAP32[$7 >> 2] = 0; + $9 = +_strtold_l($0, $3, __ZNSt3__26__clocEv() | 0); + $10 = ___errno_location() | 0; + $11 = HEAP32[$10 >> 2] | 0; + if (!$11) { + $13 = ___errno_location() | 0; + HEAP32[$13 >> 2] = $6; + } + if ((HEAP32[$3 >> 2] | 0) == ($1 | 0)) if (($11 | 0) == 68) { + $$0$ph = $9; + label = 6; + } else $$0 = $9; else { + $$0$ph = 0.0; + label = 6; + } + if ((label | 0) == 6) { + HEAP32[$2 >> 2] = 4; + $$0 = $$0$ph; + } + $$1 = $$0; + } + STACKTOP = sp; + return +$$1; +} + +function __ZN6vision20SmallestTriangleAreaIfEET_PKS1_S3_S3_S3_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $10 = 0.0, $11 = 0.0, $13 = 0.0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $4 = sp + 32 | 0; + $5 = sp + 24 | 0; + $6 = sp + 16 | 0; + $7 = sp + 8 | 0; + $8 = sp; + __ZN6vision10SubVector2IfEEvPT_PKS1_S4_($4, $1, $0); + __ZN6vision10SubVector2IfEEvPT_PKS1_S4_($5, $2, $0); + __ZN6vision10SubVector2IfEEvPT_PKS1_S4_($6, $3, $0); + __ZN6vision10SubVector2IfEEvPT_PKS1_S4_($7, $1, $2); + __ZN6vision10SubVector2IfEEvPT_PKS1_S4_($8, $3, $2); + $9 = +__ZN6vision14AreaOfTriangleIfEET_PKS1_S3_($4, $5); + $10 = +__ZN6vision14AreaOfTriangleIfEET_PKS1_S3_($5, $6); + $11 = +__ZN6vision14AreaOfTriangleIfEET_PKS1_S3_($4, $6); + $13 = +__ZN6vision4min4IfEET_S1_S1_S1_S1_($9, $10, $11, +__ZN6vision14AreaOfTriangleIfEET_PKS1_S3_($7, $8)); + STACKTOP = sp; + return +$13; +} + +function __ZNSt3__215__num_get_floatIfEET_PKcS3_Rj($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0.0, $$0$ph = 0.0, $$1 = 0.0, $10 = 0, $11 = 0, $13 = 0, $3 = 0, $5 = 0, $6 = 0, $7 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp; + if (($0 | 0) == ($1 | 0)) { + HEAP32[$2 >> 2] = 4; + $$1 = 0.0; + } else { + $5 = ___errno_location() | 0; + $6 = HEAP32[$5 >> 2] | 0; + $7 = ___errno_location() | 0; + HEAP32[$7 >> 2] = 0; + $9 = +_strtof_l($0, $3, __ZNSt3__26__clocEv() | 0); + $10 = ___errno_location() | 0; + $11 = HEAP32[$10 >> 2] | 0; + if (!$11) { + $13 = ___errno_location() | 0; + HEAP32[$13 >> 2] = $6; + } + if ((HEAP32[$3 >> 2] | 0) == ($1 | 0)) if (($11 | 0) == 68) { + $$0$ph = $9; + label = 6; + } else $$0 = $9; else { + $$0$ph = 0.0; + label = 6; + } + if ((label | 0) == 6) { + HEAP32[$2 >> 2] = 4; + $$0 = $$0$ph; + } + $$1 = $$0; + } + STACKTOP = sp; + return +$$1; +} + +function __ZNSt3__215__num_get_floatIdEET_PKcS3_Rj($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0.0, $$0$ph = 0.0, $$1 = 0.0, $10 = 0, $11 = 0, $13 = 0, $3 = 0, $5 = 0, $6 = 0, $7 = 0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp; + if (($0 | 0) == ($1 | 0)) { + HEAP32[$2 >> 2] = 4; + $$1 = 0.0; + } else { + $5 = ___errno_location() | 0; + $6 = HEAP32[$5 >> 2] | 0; + $7 = ___errno_location() | 0; + HEAP32[$7 >> 2] = 0; + $9 = +_strtod_l($0, $3, __ZNSt3__26__clocEv() | 0); + $10 = ___errno_location() | 0; + $11 = HEAP32[$10 >> 2] | 0; + if (!$11) { + $13 = ___errno_location() | 0; + HEAP32[$13 >> 2] = $6; + } + if ((HEAP32[$3 >> 2] | 0) == ($1 | 0)) if (($11 | 0) == 68) { + $$0$ph = $9; + label = 6; + } else $$0 = $9; else { + $$0$ph = 0.0; + label = 6; + } + if ((label | 0) == 6) { + HEAP32[$2 >> 2] = 4; + $$0 = $$0$ph; + } + $$1 = $$0; + } + STACKTOP = sp; + return +$$1; +} + +function __ZNK10__cxxabiv117__class_type_info29process_static_type_above_dstEPNS_19__dynamic_cast_infoEPKvS4_i($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, $21 = 0, $22 = 0, $28 = 0, $30 = 0; + HEAP8[$1 + 53 >> 0] = 1; + do if ((HEAP32[$1 + 4 >> 2] | 0) == ($3 | 0)) { + HEAP8[$1 + 52 >> 0] = 1; + $10 = $1 + 16 | 0; + $11 = HEAP32[$10 >> 2] | 0; + if (!$11) { + HEAP32[$10 >> 2] = $2; + HEAP32[$1 + 24 >> 2] = $4; + HEAP32[$1 + 36 >> 2] = 1; + if (!(($4 | 0) == 1 ? (HEAP32[$1 + 48 >> 2] | 0) == 1 : 0)) break; + HEAP8[$1 + 54 >> 0] = 1; + break; + } + if (($11 | 0) != ($2 | 0)) { + $30 = $1 + 36 | 0; + HEAP32[$30 >> 2] = (HEAP32[$30 >> 2] | 0) + 1; + HEAP8[$1 + 54 >> 0] = 1; + break; + } + $21 = $1 + 24 | 0; + $22 = HEAP32[$21 >> 2] | 0; + if (($22 | 0) == 2) { + HEAP32[$21 >> 2] = $4; + $28 = $4; + } else $28 = $22; + if (($28 | 0) == 1 ? (HEAP32[$1 + 48 >> 2] | 0) == 1 : 0) HEAP8[$1 + 54 >> 0] = 1; + } while (0); + return; +} + +function _h2v2_upsample($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$03338 = 0, $$03437 = 0, $$03536 = 0, $$039 = 0, $10 = 0, $11 = 0, $12 = 0, $17 = 0, $22 = 0, $4 = 0, $5 = 0, $8 = 0; + $4 = HEAP32[$3 >> 2] | 0; + $5 = $0 + 320 | 0; + if ((HEAP32[$5 >> 2] | 0) <= 0) return; + $8 = $0 + 112 | 0; + $$03338 = 0; + $$039 = 0; + while (1) { + $10 = HEAP32[$4 + ($$039 << 2) >> 2] | 0; + $11 = HEAP32[$8 >> 2] | 0; + $12 = $10 + $11 | 0; + if (($11 | 0) > 0) { + $$03437 = HEAP32[$2 + ($$03338 << 2) >> 2] | 0; + $$03536 = $10; + while (1) { + $17 = HEAP8[$$03437 >> 0] | 0; + HEAP8[$$03536 >> 0] = $17; + HEAP8[$$03536 + 1 >> 0] = $17; + $$03536 = $$03536 + 2 | 0; + if ($$03536 >>> 0 >= $12 >>> 0) break; else $$03437 = $$03437 + 1 | 0; + } + $22 = HEAP32[$8 >> 2] | 0; + } else $22 = $11; + _jcopy_sample_rows($4, $$039, $4, $$039 | 1, 1, $22); + $$039 = $$039 + 2 | 0; + if (($$039 | 0) >= (HEAP32[$5 >> 2] | 0)) break; else $$03338 = $$03338 + 1 | 0; + } + return; +} + +function __ZNSt3__26vectorIN6vision7match_tENS_9allocatorIS2_EEE26__swap_out_circular_bufferERNS_14__split_bufferIS2_RS4_EE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$pre$phiZ2D = 0, $11 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $5 = 0, $7 = 0; + $2 = HEAP32[$0 >> 2] | 0; + $3 = $0 + 4 | 0; + $5 = $1 + 4 | 0; + $7 = (HEAP32[$3 >> 2] | 0) - $2 | 0; + $11 = (HEAP32[$5 >> 2] | 0) + (0 - ($7 >> 3) << 3) | 0; + HEAP32[$5 >> 2] = $11; + if (($7 | 0) > 0) { + _memcpy($11 | 0, $2 | 0, $7 | 0) | 0; + $$pre$phiZ2D = $5; + $15 = HEAP32[$5 >> 2] | 0; + } else { + $$pre$phiZ2D = $5; + $15 = $11; + } + $14 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = $15; + HEAP32[$$pre$phiZ2D >> 2] = $14; + $16 = $1 + 8 | 0; + $17 = HEAP32[$3 >> 2] | 0; + HEAP32[$3 >> 2] = HEAP32[$16 >> 2]; + HEAP32[$16 >> 2] = $17; + $19 = $0 + 8 | 0; + $20 = $1 + 12 | 0; + $21 = HEAP32[$19 >> 2] | 0; + HEAP32[$19 >> 2] = HEAP32[$20 >> 2]; + HEAP32[$20 >> 2] = $21; + HEAP32[$1 >> 2] = HEAP32[$$pre$phiZ2D >> 2]; + return; +} + +function __ZNSt3__26vectorINS_4pairIfmEENS_9allocatorIS2_EEE26__swap_out_circular_bufferERNS_14__split_bufferIS2_RS4_EE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$pre$phiZ2D = 0, $11 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $5 = 0, $7 = 0; + $2 = HEAP32[$0 >> 2] | 0; + $3 = $0 + 4 | 0; + $5 = $1 + 4 | 0; + $7 = (HEAP32[$3 >> 2] | 0) - $2 | 0; + $11 = (HEAP32[$5 >> 2] | 0) + (0 - ($7 >> 3) << 3) | 0; + HEAP32[$5 >> 2] = $11; + if (($7 | 0) > 0) { + _memcpy($11 | 0, $2 | 0, $7 | 0) | 0; + $$pre$phiZ2D = $5; + $15 = HEAP32[$5 >> 2] | 0; + } else { + $$pre$phiZ2D = $5; + $15 = $11; + } + $14 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = $15; + HEAP32[$$pre$phiZ2D >> 2] = $14; + $16 = $1 + 8 | 0; + $17 = HEAP32[$3 >> 2] | 0; + HEAP32[$3 >> 2] = HEAP32[$16 >> 2]; + HEAP32[$16 >> 2] = $17; + $19 = $0 + 8 | 0; + $20 = $1 + 12 | 0; + $21 = HEAP32[$19 >> 2] | 0; + HEAP32[$19 >> 2] = HEAP32[$20 >> 2]; + HEAP32[$20 >> 2] = $21; + HEAP32[$1 >> 2] = HEAP32[$$pre$phiZ2D >> 2]; + return; +} + +function __ZNSt3__26vectorINS_4pairIfiEENS_9allocatorIS2_EEE26__swap_out_circular_bufferERNS_14__split_bufferIS2_RS4_EE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$pre$phiZ2D = 0, $11 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $5 = 0, $7 = 0; + $2 = HEAP32[$0 >> 2] | 0; + $3 = $0 + 4 | 0; + $5 = $1 + 4 | 0; + $7 = (HEAP32[$3 >> 2] | 0) - $2 | 0; + $11 = (HEAP32[$5 >> 2] | 0) + (0 - ($7 >> 3) << 3) | 0; + HEAP32[$5 >> 2] = $11; + if (($7 | 0) > 0) { + _memcpy($11 | 0, $2 | 0, $7 | 0) | 0; + $$pre$phiZ2D = $5; + $15 = HEAP32[$5 >> 2] | 0; + } else { + $$pre$phiZ2D = $5; + $15 = $11; + } + $14 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = $15; + HEAP32[$$pre$phiZ2D >> 2] = $14; + $16 = $1 + 8 | 0; + $17 = HEAP32[$3 >> 2] | 0; + HEAP32[$3 >> 2] = HEAP32[$16 >> 2]; + HEAP32[$16 >> 2] = $17; + $19 = $0 + 8 | 0; + $20 = $1 + 12 | 0; + $21 = HEAP32[$19 >> 2] | 0; + HEAP32[$19 >> 2] = HEAP32[$20 >> 2]; + HEAP32[$20 >> 2] = $21; + HEAP32[$1 >> 2] = HEAP32[$$pre$phiZ2D >> 2]; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E17parseCVQualifiersEv($0) { + $0 = $0 | 0; + var $1 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + HEAP32[$1 >> 2] = 0; + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 114) | 0) __ZN12_GLOBAL__N_116itanium_demangleoRERNS0_10QualifiersES1_($1, 4); + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 86) | 0) __ZN12_GLOBAL__N_116itanium_demangleoRERNS0_10QualifiersES1_($1, 2); + if (__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 75) | 0) __ZN12_GLOBAL__N_116itanium_demangleoRERNS0_10QualifiersES1_($1, 1); + STACKTOP = sp; + return HEAP32[$1 >> 2] | 0; +} + +function __ZNKSt3__27codecvtIwc11__mbstate_tE10do_unshiftERS1_PcS4_RS4_($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0 = 0, $$018 = 0, $$019 = 0, $13 = 0, $20 = 0, $21 = 0, $5 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $5 = sp; + HEAP32[$4 >> 2] = $2; + $8 = ___uselocale(HEAP32[$0 + 8 >> 2] | 0) | 0; + $9 = _wcrtomb($5, 0, $1) | 0; + if ($8 | 0) ___uselocale($8) | 0; + L4 : do if (($9 + 1 | 0) >>> 0 >= 2) { + $13 = $9 + -1 | 0; + if ($13 >>> 0 > ($3 - (HEAP32[$4 >> 2] | 0) | 0) >>> 0) $$019 = 1; else { + $$0 = $5; + $$018 = $13; + while (1) { + if (!$$018) { + $$019 = 0; + break L4; + } + $20 = HEAP8[$$0 >> 0] | 0; + $21 = HEAP32[$4 >> 2] | 0; + HEAP32[$4 >> 2] = $21 + 1; + HEAP8[$21 >> 0] = $20; + $$0 = $$0 + 1 | 0; + $$018 = $$018 + -1 | 0; + } + } + } else $$019 = 2; while (0); + STACKTOP = sp; + return $$019 | 0; +} + +function _fill_input_buffer($0) { + $0 = $0 | 0; + var $$0 = 0, $$pre$phi22Z2D = 0, $12 = 0, $15 = 0, $2 = 0, $22 = 0, $23 = 0, $3 = 0, $7 = 0, $9 = 0; + $2 = HEAP32[$0 + 24 >> 2] | 0; + $3 = $2 + 32 | 0; + $7 = _fread(HEAP32[$3 >> 2] | 0, 1, 4096, HEAP32[$2 + 28 >> 2] | 0) | 0; + $9 = $2 + 36 | 0; + if ($7 | 0) { + $$0 = $7; + $22 = HEAP32[$3 >> 2] | 0; + HEAP32[$2 >> 2] = $22; + $23 = $2 + 4 | 0; + HEAP32[$23 >> 2] = $$0; + HEAP32[$9 >> 2] = 0; + return 1; + } + if (!(HEAP32[$9 >> 2] | 0)) $$pre$phi22Z2D = $0; else { + $12 = HEAP32[$0 >> 2] | 0; + HEAP32[$12 + 20 >> 2] = 43; + FUNCTION_TABLE_vi[HEAP32[$12 >> 2] & 255]($0); + $$pre$phi22Z2D = $0; + } + $15 = HEAP32[$0 >> 2] | 0; + HEAP32[$15 + 20 >> 2] = 123; + FUNCTION_TABLE_vii[HEAP32[$15 + 4 >> 2] & 255]($$pre$phi22Z2D, -1); + HEAP8[HEAP32[$3 >> 2] >> 0] = -1; + HEAP8[(HEAP32[$3 >> 2] | 0) + 1 >> 0] = -39; + $$0 = 2; + $22 = HEAP32[$3 >> 2] | 0; + HEAP32[$2 >> 2] = $22; + $23 = $2 + 4 | 0; + HEAP32[$23 >> 2] = $$0; + HEAP32[$9 >> 2] = 0; + return 1; +} + +function _atoi($0) { + $0 = $0 | 0; + var $$0 = 0, $$010$lcssa = 0, $$01015 = 0, $$011 = 0, $$1 = 0, $$112 = 0, $$214 = 0, $$pre$phiZ2D = 0, $14 = 0, $5 = 0, $7 = 0, label = 0; + $$011 = $0; + while (1) { + $5 = $$011 + 1 | 0; + if (!(_isspace(HEAP8[$$011 >> 0] | 0) | 0)) break; else $$011 = $5; + } + $7 = HEAP8[$$011 >> 0] | 0; + switch ($7 | 0) { + case 45: + { + $$0 = 1; + label = 5; + break; + } + case 43: + { + $$0 = 0; + label = 5; + break; + } + default: + { + $$1 = 0; + $$112 = $$011; + $$pre$phiZ2D = $7; + } + } + if ((label | 0) == 5) { + $$1 = $$0; + $$112 = $5; + $$pre$phiZ2D = HEAP8[$5 >> 0] | 0; + } + if (!(_isdigit($$pre$phiZ2D) | 0)) $$010$lcssa = 0; else { + $$01015 = 0; + $$214 = $$112; + while (1) { + $14 = ($$01015 * 10 | 0) + 48 - (HEAP8[$$214 >> 0] | 0) | 0; + $$214 = $$214 + 1 | 0; + if (!(_isdigit(HEAP8[$$214 >> 0] | 0) | 0)) { + $$010$lcssa = $14; + break; + } else $$01015 = $14; + } + } + return (($$1 | 0) == 0 ? 0 - $$010$lcssa | 0 : $$010$lcssa) | 0; +} + +function __ZNK6vision21HoughSimilarityVoting12mapVoteToBinERfS1_S1_S1_ffff($0, $1, $2, $3, $4, $5, $6, $7, $8) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = +$5; + $6 = +$6; + $7 = +$7; + $8 = +$8; + var $11 = 0.0, $13 = 0.0, $19 = 0.0, $22 = 0.0, $24 = 0.0, $30 = 0.0, $41 = 0.0, $43 = 0.0, $49 = 0.0; + $11 = +(HEAP32[$0 + 52 >> 2] | 0); + $13 = +HEAPF32[$0 + 20 >> 2]; + $19 = +__ZN6vision12SafeDivisionIfEET_S1_S1_($5 - $13, +HEAPF32[$0 + 24 >> 2] - $13) * $11; + HEAPF32[$1 >> 2] = $19; + $22 = +(HEAP32[$0 + 56 >> 2] | 0); + $24 = +HEAPF32[$0 + 28 >> 2]; + $30 = +__ZN6vision12SafeDivisionIfEET_S1_S1_($6 - $24, +HEAPF32[$0 + 32 >> 2] - $24) * $22; + HEAPF32[$2 >> 2] = $30; + HEAPF32[$3 >> 2] = ($7 + 3.141592653589793) * .15915494309189535 * +(HEAP32[$0 + 60 >> 2] | 0); + $41 = +(HEAP32[$0 + 64 >> 2] | 0); + $43 = +HEAPF32[$0 + 36 >> 2]; + $49 = +__ZN6vision12SafeDivisionIfEET_S1_S1_($8 - $43, +HEAPF32[$0 + 40 >> 2] - $43) * $41; + HEAPF32[$4 >> 2] = $49; + return; +} + +function __ZN10emscripten8internal7InvokerIiJiNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEE6invokeEPFiiS8_EiPNS0_11BindingTypeIS8_vEUt_E($fn, $args, $args1) { + $fn = $fn | 0; + $args = $args | 0; + $args1 = $args1 | 0; + var $agg$tmp = 0, $call = 0, $call3 = 0, $call4 = 0, $ref$tmp = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $ref$tmp = sp + 12 | 0; + $agg$tmp = sp; + $call = __ZN10emscripten8internal11BindingTypeIivE12fromWireTypeEi($args) | 0; + __ZN10emscripten8internal11BindingTypeINSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEvE12fromWireTypeEPNS9_Ut_E($agg$tmp, $args1); + $call3 = FUNCTION_TABLE_iii[$fn & 127]($call, $agg$tmp) | 0; + HEAP32[$ref$tmp >> 2] = $call3; + $call4 = __ZN10emscripten8internal11BindingTypeIivE10toWireTypeERKi($ref$tmp) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($agg$tmp); + STACKTOP = sp; + return $call4 | 0; +} + +function __ZZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parseNestedNameEPNS5_9NameStateEENKUlPNS0_4NodeEE_clES9_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $13 = 0, $2 = 0, $3 = 0, $5 = 0, $6 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $2 = sp; + HEAP32[$2 >> 2] = $1; + $3 = HEAP32[$0 >> 2] | 0; + if (!$1) $$0 = 0; else { + $5 = $0 + 4 | 0; + $6 = HEAP32[$5 >> 2] | 0; + if (!(HEAP32[$6 >> 2] | 0)) HEAP32[$6 >> 2] = $1; else { + $9 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_10NestedNameEJRPNS0_4NodeESA_EEES9_DpOT0_($3, $6, $2) | 0; + HEAP32[HEAP32[$5 >> 2] >> 2] = $9; + } + $13 = HEAP32[HEAP32[$0 + 8 >> 2] >> 2] | 0; + if ($13 | 0) HEAP8[$13 + 1 >> 0] = 0; + $$0 = (HEAP32[HEAP32[$5 >> 2] >> 2] | 0) != 0; + } + STACKTOP = sp; + return $$0 | 0; +} + +function __ZNSt3__26vectorItNS_9allocatorItEEE26__swap_out_circular_bufferERNS_14__split_bufferItRS2_EE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$pre$phiZ2D = 0, $11 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $5 = 0, $7 = 0; + $2 = HEAP32[$0 >> 2] | 0; + $3 = $0 + 4 | 0; + $5 = $1 + 4 | 0; + $7 = (HEAP32[$3 >> 2] | 0) - $2 | 0; + $11 = (HEAP32[$5 >> 2] | 0) + (0 - ($7 >> 1) << 1) | 0; + HEAP32[$5 >> 2] = $11; + if (($7 | 0) > 0) { + _memcpy($11 | 0, $2 | 0, $7 | 0) | 0; + $$pre$phiZ2D = $5; + $15 = HEAP32[$5 >> 2] | 0; + } else { + $$pre$phiZ2D = $5; + $15 = $11; + } + $14 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = $15; + HEAP32[$$pre$phiZ2D >> 2] = $14; + $16 = $1 + 8 | 0; + $17 = HEAP32[$3 >> 2] | 0; + HEAP32[$3 >> 2] = HEAP32[$16 >> 2]; + HEAP32[$16 >> 2] = $17; + $19 = $0 + 8 | 0; + $20 = $1 + 12 | 0; + $21 = HEAP32[$19 >> 2] | 0; + HEAP32[$19 >> 2] = HEAP32[$20 >> 2]; + HEAP32[$20 >> 2] = $21; + HEAP32[$1 >> 2] = HEAP32[$$pre$phiZ2D >> 2]; + return; +} + +function __ZNSt3__26vectorIiNS_9allocatorIiEEE26__swap_out_circular_bufferERNS_14__split_bufferIiRS2_EE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$pre$phiZ2D = 0, $11 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $5 = 0, $7 = 0; + $2 = HEAP32[$0 >> 2] | 0; + $3 = $0 + 4 | 0; + $5 = $1 + 4 | 0; + $7 = (HEAP32[$3 >> 2] | 0) - $2 | 0; + $11 = (HEAP32[$5 >> 2] | 0) + (0 - ($7 >> 2) << 2) | 0; + HEAP32[$5 >> 2] = $11; + if (($7 | 0) > 0) { + _memcpy($11 | 0, $2 | 0, $7 | 0) | 0; + $$pre$phiZ2D = $5; + $15 = HEAP32[$5 >> 2] | 0; + } else { + $$pre$phiZ2D = $5; + $15 = $11; + } + $14 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = $15; + HEAP32[$$pre$phiZ2D >> 2] = $14; + $16 = $1 + 8 | 0; + $17 = HEAP32[$3 >> 2] | 0; + HEAP32[$3 >> 2] = HEAP32[$16 >> 2]; + HEAP32[$16 >> 2] = $17; + $19 = $0 + 8 | 0; + $20 = $1 + 12 | 0; + $21 = HEAP32[$19 >> 2] | 0; + HEAP32[$19 >> 2] = HEAP32[$20 >> 2]; + HEAP32[$20 >> 2] = $21; + HEAP32[$1 >> 2] = HEAP32[$$pre$phiZ2D >> 2]; + return; +} + +function __ZNSt3__26vectorIfNS_9allocatorIfEEE26__swap_out_circular_bufferERNS_14__split_bufferIfRS2_EE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$pre$phiZ2D = 0, $11 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $3 = 0, $5 = 0, $7 = 0; + $2 = HEAP32[$0 >> 2] | 0; + $3 = $0 + 4 | 0; + $5 = $1 + 4 | 0; + $7 = (HEAP32[$3 >> 2] | 0) - $2 | 0; + $11 = (HEAP32[$5 >> 2] | 0) + (0 - ($7 >> 2) << 2) | 0; + HEAP32[$5 >> 2] = $11; + if (($7 | 0) > 0) { + _memcpy($11 | 0, $2 | 0, $7 | 0) | 0; + $$pre$phiZ2D = $5; + $15 = HEAP32[$5 >> 2] | 0; + } else { + $$pre$phiZ2D = $5; + $15 = $11; + } + $14 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = $15; + HEAP32[$$pre$phiZ2D >> 2] = $14; + $16 = $1 + 8 | 0; + $17 = HEAP32[$3 >> 2] | 0; + HEAP32[$3 >> 2] = HEAP32[$16 >> 2]; + HEAP32[$16 >> 2] = $17; + $19 = $0 + 8 | 0; + $20 = $1 + 12 | 0; + $21 = HEAP32[$19 >> 2] | 0; + HEAP32[$19 >> 2] = HEAP32[$20 >> 2]; + HEAP32[$20 >> 2] = $21; + HEAP32[$1 >> 2] = HEAP32[$$pre$phiZ2D >> 2]; + return; +} + +function __ZN6vision23AccumulateScaledVector9IfEEvPT_PKS1_S1_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = +$2; + var $10 = 0, $16 = 0, $22 = 0, $28 = 0, $34 = 0, $40 = 0, $46 = 0, $52 = 0; + HEAPF32[$0 >> 2] = +HEAPF32[$0 >> 2] + +HEAPF32[$1 >> 2] * $2; + $10 = $0 + 4 | 0; + HEAPF32[$10 >> 2] = +HEAPF32[$10 >> 2] + +HEAPF32[$1 + 4 >> 2] * $2; + $16 = $0 + 8 | 0; + HEAPF32[$16 >> 2] = +HEAPF32[$16 >> 2] + +HEAPF32[$1 + 8 >> 2] * $2; + $22 = $0 + 12 | 0; + HEAPF32[$22 >> 2] = +HEAPF32[$22 >> 2] + +HEAPF32[$1 + 12 >> 2] * $2; + $28 = $0 + 16 | 0; + HEAPF32[$28 >> 2] = +HEAPF32[$28 >> 2] + +HEAPF32[$1 + 16 >> 2] * $2; + $34 = $0 + 20 | 0; + HEAPF32[$34 >> 2] = +HEAPF32[$34 >> 2] + +HEAPF32[$1 + 20 >> 2] * $2; + $40 = $0 + 24 | 0; + HEAPF32[$40 >> 2] = +HEAPF32[$40 >> 2] + +HEAPF32[$1 + 24 >> 2] * $2; + $46 = $0 + 28 | 0; + HEAPF32[$46 >> 2] = +HEAPF32[$46 >> 2] + +HEAPF32[$1 + 28 >> 2] * $2; + $52 = $0 + 32 | 0; + HEAPF32[$52 >> 2] = +HEAPF32[$52 >> 2] + +HEAPF32[$1 + 32 >> 2] * $2; + return; +} + +function __ZN12arControllerC2Ev($this) { + $this = $this | 0; + var $__begin_$i$i = 0, $surfaceSets = 0, $videoLuma = 0; + HEAP32[$this + 192 >> 2] = 0; + HEAP32[$this + 196 >> 2] = 0; + $videoLuma = $this + 204 | 0; + HEAP32[$videoLuma >> 2] = 0; + HEAP32[$videoLuma + 4 >> 2] = 0; + HEAP32[$videoLuma + 8 >> 2] = 0; + HEAP32[$videoLuma + 12 >> 2] = 0; + HEAP32[$videoLuma + 16 >> 2] = 0; + HEAP32[$videoLuma + 20 >> 2] = 0; + HEAP32[$this + 240 >> 2] = -2; + HEAP32[$this + 244 >> 2] = 0; + $surfaceSets = $this + 288 | 0; + HEAP32[$surfaceSets >> 2] = 0; + HEAP32[$surfaceSets + 4 >> 2] = 0; + HEAP32[$surfaceSets + 8 >> 2] = 0; + HEAP32[$surfaceSets + 12 >> 2] = 0; + HEAP32[$this + 304 >> 2] = 1065353216; + HEAPF64[$this + 312 >> 3] = .0001; + HEAPF64[$this + 320 >> 3] = 1.0e3; + $__begin_$i$i = $this + 328 | 0; + HEAP32[$__begin_$i$i >> 2] = 0; + HEAP32[$__begin_$i$i + 4 >> 2] = 0; + HEAP32[$__begin_$i$i + 8 >> 2] = 0; + HEAP32[$__begin_$i$i + 12 >> 2] = 0; + HEAP32[$this + 472 >> 2] = 2; + return; +} + +function ___fseeko_unlocked($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0, $12 = 0, $14 = 0, $16 = 0, $26 = 0, $27 = 0, $9 = 0, label = 0; + if (($3 | 0) == 1) { + $9 = (HEAP32[$0 + 8 >> 2] | 0) - (HEAP32[$0 + 4 >> 2] | 0) | 0; + $12 = _i64Subtract($1 | 0, $2 | 0, $9 | 0, (($9 | 0) < 0) << 31 >> 31 | 0) | 0; + $26 = $12; + $27 = getTempRet0() | 0; + } else { + $26 = $1; + $27 = $2; + } + $14 = $0 + 20 | 0; + $16 = $0 + 28 | 0; + if ((HEAP32[$14 >> 2] | 0) >>> 0 > (HEAP32[$16 >> 2] | 0) >>> 0 ? (FUNCTION_TABLE_iiii[HEAP32[$0 + 36 >> 2] & 63]($0, 0, 0) | 0, (HEAP32[$14 >> 2] | 0) == 0) : 0) $$0 = -1; else { + HEAP32[$0 + 16 >> 2] = 0; + HEAP32[$16 >> 2] = 0; + HEAP32[$14 >> 2] = 0; + FUNCTION_TABLE_iiiii[HEAP32[$0 + 40 >> 2] & 15]($0, $26, $27, $3) | 0; + if ((getTempRet0() | 0) < 0) $$0 = -1; else { + HEAP32[$0 + 8 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 >> 2] = HEAP32[$0 >> 2] & -17; + $$0 = 0; + } + } + return $$0 | 0; +} + +function _setThreshold($id, $threshold) { + $id = $id | 0; + $threshold = $threshold | 0; + var $call7 = 0, $id$addr = 0, $vararg_buffer = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $vararg_buffer = sp; + $id$addr = sp + 4 | 0; + HEAP32[$id$addr >> 2] = $id; + if ((__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0 ? ($call7 = __ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0, $threshold >>> 0 <= 255) : 0) ? (_arSetLabelingThresh(HEAP32[$call7 + 216 >> 2] | 0, $threshold) | 0) == 0 : 0) { + HEAP32[$vararg_buffer >> 2] = $threshold; + _arLog(0, 1, 41674, $vararg_buffer); + } + STACKTOP = sp; + return; +} + +function __ZNSt3__26vectorIhNS_9allocatorIhEEE26__swap_out_circular_bufferERNS_14__split_bufferIhRS2_EE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$pre$phiZ2D = 0, $10 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $3 = 0, $5 = 0, $7 = 0; + $2 = HEAP32[$0 >> 2] | 0; + $3 = $0 + 4 | 0; + $5 = $1 + 4 | 0; + $7 = (HEAP32[$3 >> 2] | 0) - $2 | 0; + $10 = (HEAP32[$5 >> 2] | 0) + (0 - $7) | 0; + HEAP32[$5 >> 2] = $10; + if (($7 | 0) > 0) { + _memcpy($10 | 0, $2 | 0, $7 | 0) | 0; + $$pre$phiZ2D = $5; + $14 = HEAP32[$5 >> 2] | 0; + } else { + $$pre$phiZ2D = $5; + $14 = $10; + } + $13 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = $14; + HEAP32[$$pre$phiZ2D >> 2] = $13; + $15 = $1 + 8 | 0; + $16 = HEAP32[$3 >> 2] | 0; + HEAP32[$3 >> 2] = HEAP32[$15 >> 2]; + HEAP32[$15 >> 2] = $16; + $18 = $0 + 8 | 0; + $19 = $1 + 12 | 0; + $20 = HEAP32[$18 >> 2] | 0; + HEAP32[$18 >> 2] = HEAP32[$19 >> 2]; + HEAP32[$19 >> 2] = $20; + HEAP32[$1 >> 2] = HEAP32[$$pre$phiZ2D >> 2]; + return; +} + +function _getThresholdMode($id) { + $id = $id | 0; + var $arhandle = 0, $cmp = 0, $id$addr = 0, $retval$1 = 0, $thresholdMode = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $id$addr = sp; + $thresholdMode = sp + 4 | 0; + HEAP32[$id$addr >> 2] = $id; + if (!(__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0)) $retval$1 = -1; else { + $arhandle = (__ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0) + 216 | 0; + $cmp = (_arGetLabelingThreshMode(HEAP32[$arhandle >> 2] | 0, $thresholdMode) | 0) == 0; + $retval$1 = $cmp ? HEAP32[$thresholdMode >> 2] | 0 : -1; + } + STACKTOP = sp; + return $retval$1 | 0; +} + +function __ZNSt3__211__stdoutbufIwE4syncEv($0) { + $0 = $0 | 0; + var $$2 = 0, $1 = 0, $13 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp + 8 | 0; + $2 = sp; + $3 = $0 + 36 | 0; + $4 = $0 + 40 | 0; + $5 = $1 + 8 | 0; + $6 = $1; + $7 = $0 + 32 | 0; + L1 : while (1) { + $8 = HEAP32[$3 >> 2] | 0; + $13 = FUNCTION_TABLE_iiiiii[HEAP32[(HEAP32[$8 >> 2] | 0) + 20 >> 2] & 31]($8, HEAP32[$4 >> 2] | 0, $1, $5, $2) | 0; + $15 = (HEAP32[$2 >> 2] | 0) - $6 | 0; + if ((_fwrite($1, 1, $15, HEAP32[$7 >> 2] | 0) | 0) != ($15 | 0)) { + $$2 = -1; + break; + } + switch ($13 | 0) { + case 1: + break; + case 2: + { + $$2 = -1; + break L1; + break; + } + default: + { + label = 4; + break L1; + } + } + } + if ((label | 0) == 4) $$2 = ((_fflush(HEAP32[$7 >> 2] | 0) | 0) != 0) << 31 >> 31; + STACKTOP = sp; + return $$2 | 0; +} + +function __ZNSt3__211__stdoutbufIcE4syncEv($0) { + $0 = $0 | 0; + var $$2 = 0, $1 = 0, $13 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp + 8 | 0; + $2 = sp; + $3 = $0 + 36 | 0; + $4 = $0 + 40 | 0; + $5 = $1 + 8 | 0; + $6 = $1; + $7 = $0 + 32 | 0; + L1 : while (1) { + $8 = HEAP32[$3 >> 2] | 0; + $13 = FUNCTION_TABLE_iiiiii[HEAP32[(HEAP32[$8 >> 2] | 0) + 20 >> 2] & 31]($8, HEAP32[$4 >> 2] | 0, $1, $5, $2) | 0; + $15 = (HEAP32[$2 >> 2] | 0) - $6 | 0; + if ((_fwrite($1, 1, $15, HEAP32[$7 >> 2] | 0) | 0) != ($15 | 0)) { + $$2 = -1; + break; + } + switch ($13 | 0) { + case 1: + break; + case 2: + { + $$2 = -1; + break L1; + break; + } + default: + { + label = 4; + break L1; + } + } + } + if ((label | 0) == 4) $$2 = ((_fflush(HEAP32[$7 >> 2] | 0) | 0) != 0) << 31 >> 31; + STACKTOP = sp; + return $$2 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle13FunctionParam9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $10 = 0, $11 = 0, $2 = 0, $3 = 0, $5 = 0, $tmpcast$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $tmpcast$byval_copy = sp + 16 | 0; + $2 = sp + 8 | 0; + $3 = sp; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 54911); + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $tmpcast$byval_copy); + $5 = $0 + 8 | 0; + $10 = HEAP32[$5 + 4 >> 2] | 0; + $11 = $3; + HEAP32[$11 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$11 + 4 >> 2] = $10; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $tmpcast$byval_copy); + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE7reserveEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$in = 0, $$pre$phi11Z2D = 0, $11 = 0, $15 = 0, $2 = 0, $5 = 0, $7 = 0, $8 = 0; + $2 = __ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE4sizeEv($0) | 0; + do if (!(__ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE8isInlineEv($0) | 0)) { + $15 = _realloc(HEAP32[$0 >> 2] | 0, $1 << 2) | 0; + HEAP32[$0 >> 2] = $15; + if (!$15) __ZSt9terminatev(); else { + $$in = $15; + $$pre$phi11Z2D = $0 + 4 | 0; + break; + } + } else { + $5 = _malloc($1 << 2) | 0; + if (!$5) __ZSt9terminatev(); + $7 = HEAP32[$0 >> 2] | 0; + $8 = $0 + 4 | 0; + $11 = (HEAP32[$8 >> 2] | 0) - $7 | 0; + if ($11 | 0) _memmove($5 | 0, $7 | 0, $11 | 0) | 0; + HEAP32[$0 >> 2] = $5; + $$in = $5; + $$pre$phi11Z2D = $8; + } while (0); + HEAP32[$$pre$phi11Z2D >> 2] = $$in + ($2 << 2); + HEAP32[$0 + 8 >> 2] = $$in + ($1 << 2); + return; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle10BinaryExprEJRPNS2_4NodeERNS_10StringViewES6_EEEPT_DpOT0_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $12 = 0, $13 = 0, $17 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $tmpcast$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $tmpcast$byval_copy = sp + 8 | 0; + $4 = sp; + $5 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 24) | 0; + $6 = HEAP32[$1 >> 2] | 0; + $7 = $2; + $12 = HEAP32[$7 + 4 >> 2] | 0; + $13 = $4; + HEAP32[$13 >> 2] = HEAP32[$7 >> 2]; + HEAP32[$13 + 4 >> 2] = $12; + $17 = HEAP32[$3 >> 2] | 0; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$4 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle10BinaryExprC2EPKNS0_4NodeENS_10StringViewES4_($5, $6, $tmpcast$byval_copy, $17); + STACKTOP = sp; + return $5 | 0; +} + +function _getImageProcMode($id) { + $id = $id | 0; + var $arhandle = 0, $cmp = 0, $id$addr = 0, $imageProcMode = 0, $retval$1 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $id$addr = sp; + $imageProcMode = sp + 4 | 0; + HEAP32[$id$addr >> 2] = $id; + if (!(__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0)) $retval$1 = -1; else { + $arhandle = (__ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0) + 216 | 0; + $cmp = (_arGetImageProcMode(HEAP32[$arhandle >> 2] | 0, $imageProcMode) | 0) == 0; + $retval$1 = $cmp ? HEAP32[$imageProcMode >> 2] | 0 : -1; + } + STACKTOP = sp; + return $retval$1 | 0; +} + +function __ZN6vision21HoughSimilarityVoting4initEffffiiii($0, $1, $2, $3, $4, $5, $6, $7, $8) { + $0 = $0 | 0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + var $19 = 0, $21 = 0; + HEAPF32[$0 + 20 >> 2] = $1; + HEAPF32[$0 + 24 >> 2] = $2; + HEAPF32[$0 + 28 >> 2] = $3; + HEAPF32[$0 + 32 >> 2] = $4; + HEAPF32[$0 + 36 >> 2] = -1.0; + HEAPF32[$0 + 40 >> 2] = 1.0; + HEAP32[$0 + 52 >> 2] = $5; + HEAP32[$0 + 56 >> 2] = $6; + HEAP32[$0 + 60 >> 2] = $7; + HEAP32[$0 + 64 >> 2] = $8; + $19 = Math_imul($6, $5) | 0; + HEAP32[$0 + 84 >> 2] = $19; + $21 = Math_imul($19, $7) | 0; + HEAP32[$0 + 88 >> 2] = $21; + HEAPF32[$0 + 44 >> 2] = 10.0; + HEAPF32[$0 + 48 >> 2] = .4342944622039795; + HEAP8[$0 + 16 >> 0] = ($6 | $5 | 0) == 0 & 1; + __ZNSt3__212__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEELb1EEENS_21__unordered_map_equalIjS2_NS_8equal_toIjEELb1EEENS_9allocatorIS2_EEE5clearEv($0 + 92 | 0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EE7reserveEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$in = 0, $$pre$phi11Z2D = 0, $11 = 0, $15 = 0, $2 = 0, $5 = 0, $7 = 0, $8 = 0; + $2 = __ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EE4sizeEv($0) | 0; + do if (!(__ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EE8isInlineEv($0) | 0)) { + $15 = _realloc(HEAP32[$0 >> 2] | 0, $1 << 2) | 0; + HEAP32[$0 >> 2] = $15; + if (!$15) __ZSt9terminatev(); else { + $$in = $15; + $$pre$phi11Z2D = $0 + 4 | 0; + break; + } + } else { + $5 = _malloc($1 << 2) | 0; + if (!$5) __ZSt9terminatev(); + $7 = HEAP32[$0 >> 2] | 0; + $8 = $0 + 4 | 0; + $11 = (HEAP32[$8 >> 2] | 0) - $7 | 0; + if ($11 | 0) _memmove($5 | 0, $7 | 0, $11 | 0) | 0; + HEAP32[$0 >> 2] = $5; + $$in = $5; + $$pre$phi11Z2D = $8; + } while (0); + HEAP32[$$pre$phi11Z2D >> 2] = $$in + ($2 << 2); + HEAP32[$0 + 8 >> 2] = $$in + ($1 << 2); + return; +} + +function _gray_rgb_convert($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$02025$us = 0, $$02126$us = 0, $$02224$us = 0, $$027$us = 0, $$in = 0, $12 = 0, $15 = 0, $6 = 0, $$in$looptemp = 0; + $6 = HEAP32[$0 + 112 >> 2] | 0; + if (($4 | 0) < 1 | ($6 | 0) == 0) return; + $$02126$us = $3; + $$027$us = $2; + $$in = $4; + while (1) { + $$in$looptemp = $$in; + $$in = $$in + -1 | 0; + $12 = HEAP32[(HEAP32[$1 >> 2] | 0) + ($$027$us << 2) >> 2] | 0; + $$02025$us = 0; + $$02224$us = HEAP32[$$02126$us >> 2] | 0; + while (1) { + $15 = HEAP8[$12 + $$02025$us >> 0] | 0; + HEAP8[$$02224$us + 2 >> 0] = $15; + HEAP8[$$02224$us + 1 >> 0] = $15; + HEAP8[$$02224$us >> 0] = $15; + $$02025$us = $$02025$us + 1 | 0; + if (($$02025$us | 0) == ($6 | 0)) break; else $$02224$us = $$02224$us + 3 | 0; + } + if (($$in$looptemp | 0) <= 1) break; else { + $$02126$us = $$02126$us + 4 | 0; + $$027$us = $$027$us + 1 | 0; + } + } + return; +} + +function _strlen($0) { + $0 = $0 | 0; + var $$0 = 0, $$015$lcssa = 0, $$01518 = 0, $$1$lcssa = 0, $$pn = 0, $$pn29 = 0, $1 = 0, $10 = 0, $19 = 0, $22 = 0, $6 = 0, label = 0; + $1 = $0; + L1 : do if (!($1 & 3)) { + $$015$lcssa = $0; + label = 5; + } else { + $$01518 = $0; + $22 = $1; + while (1) { + if (!(HEAP8[$$01518 >> 0] | 0)) { + $$pn = $22; + break L1; + } + $6 = $$01518 + 1 | 0; + $22 = $6; + if (!($22 & 3)) { + $$015$lcssa = $6; + label = 5; + break; + } else $$01518 = $6; + } + } while (0); + if ((label | 0) == 5) { + $$0 = $$015$lcssa; + while (1) { + $10 = HEAP32[$$0 >> 2] | 0; + if (!(($10 & -2139062144 ^ -2139062144) & $10 + -16843009)) $$0 = $$0 + 4 | 0; else break; + } + if (!(($10 & 255) << 24 >> 24)) $$1$lcssa = $$0; else { + $$pn29 = $$0; + while (1) { + $19 = $$pn29 + 1 | 0; + if (!(HEAP8[$19 >> 0] | 0)) { + $$1$lcssa = $19; + break; + } else $$pn29 = $19; + } + } + $$pn = $$1$lcssa; + } + return $$pn - $1 | 0; +} + +function _ar2CreateHandleSubMod($pixFormat, $xsize, $ysize) { + $pixFormat = $pixFormat | 0; + $xsize = $xsize | 0; + $ysize = $ysize | 0; + var $call = 0, $call10 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $call = _malloc(13732) | 0; + if (!$call) { + _arLog(0, 3, 45930, sp); + _exit(1); + } + HEAP32[$call + 20 >> 2] = $pixFormat; + HEAP32[$call + 4 >> 2] = $xsize; + HEAP32[$call + 8 >> 2] = $ysize; + HEAP32[$call + 24 >> 2] = 25; + HEAP32[$call + 28 >> 2] = 11; + HEAP32[$call + 32 >> 2] = 11; + HEAP32[$call + 36 >> 2] = 10; + HEAPF32[$call + 40 >> 2] = .6000000238418579; + HEAPF32[$call + 44 >> 2] = 2.0; + HEAP32[$call + 13280 >> 2] = 1; + $call10 = _malloc(Math_imul($ysize, $xsize) | 0) | 0; + HEAP32[$call + 13300 >> 2] = $call10; + if (!$call10) { + _arLog(0, 3, 45930, sp + 8 | 0); + _exit(1); + } else { + HEAP32[$call + 13304 >> 2] = 0; + STACKTOP = sp; + return $call | 0; + } + return 0; +} + +function _getLabelingMode($id) { + $id = $id | 0; + var $arhandle = 0, $cmp = 0, $id$addr = 0, $labelingMode = 0, $retval$1 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $id$addr = sp; + $labelingMode = sp + 4 | 0; + HEAP32[$id$addr >> 2] = $id; + if (!(__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0)) $retval$1 = -1; else { + $arhandle = (__ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0) + 216 | 0; + $cmp = (_arGetLabelingMode(HEAP32[$arhandle >> 2] | 0, $labelingMode) | 0) == 0; + $retval$1 = $cmp ? HEAP32[$labelingMode >> 2] | 0 : -1; + } + STACKTOP = sp; + return $retval$1 | 0; +} + +function _color_quantize3($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$04347 = 0, $$04449 = 0, $$04546 = 0, $$048 = 0, $10 = 0, $12 = 0, $14 = 0, $7 = 0, $8 = 0; + $7 = HEAP32[(HEAP32[$0 + 484 >> 2] | 0) + 24 >> 2] | 0; + $8 = HEAP32[$7 >> 2] | 0; + $10 = HEAP32[$7 + 4 >> 2] | 0; + $12 = HEAP32[$7 + 8 >> 2] | 0; + $14 = HEAP32[$0 + 112 >> 2] | 0; + if (($3 | 0) < 1 | ($14 | 0) == 0) return; + $$04449 = 0; + do { + $$04347 = $14; + $$04546 = HEAP32[$2 + ($$04449 << 2) >> 2] | 0; + $$048 = HEAP32[$1 + ($$04449 << 2) >> 2] | 0; + while (1) { + HEAP8[$$04546 >> 0] = (HEAPU8[$10 + (HEAPU8[$$048 + 1 >> 0] | 0) >> 0] | 0) + (HEAPU8[$8 + (HEAPU8[$$048 >> 0] | 0) >> 0] | 0) + (HEAPU8[$12 + (HEAPU8[$$048 + 2 >> 0] | 0) >> 0] | 0); + $$04347 = $$04347 + -1 | 0; + if (!$$04347) break; else { + $$04546 = $$04546 + 1 | 0; + $$048 = $$048 + 3 | 0; + } + } + $$04449 = $$04449 + 1 | 0; + } while (($$04449 | 0) != ($3 | 0)); + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle19PointerToMemberType10printRightERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy = 0, $2 = 0, $3 = 0, $8 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $2 = sp; + $3 = $0 + 12 | 0; + if (!(__ZNK12_GLOBAL__N_116itanium_demangle4Node8hasArrayERNS_12OutputStreamE(HEAP32[$3 >> 2] | 0, $1) | 0) ? !(__ZNK12_GLOBAL__N_116itanium_demangle4Node11hasFunctionERNS_12OutputStreamE(HEAP32[$3 >> 2] | 0, $1) | 0) : 0) {} else { + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 51964); + HEAP32[$$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy); + } + $8 = HEAP32[$3 >> 2] | 0; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$8 >> 2] | 0) + 20 >> 2] & 255]($8, $1); + STACKTOP = sp; + return; +} + +function __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE15__get_monthnameERiRS4_S4_RjRKNS_5ctypeIwEE($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 $$byval_copy = 0, $11 = 0, $17 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 4 | 0; + $6 = sp; + $7 = $0 + 8 | 0; + $11 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$7 >> 2] | 0) + 4 >> 2] & 127]($7) | 0; + HEAP32[$6 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + $17 = (__ZNSt3__214__scan_keywordINS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEPKNS_12basic_stringIwS3_NS_9allocatorIwEEEENS_5ctypeIwEEEET0_RT_SE_SD_SD_RKT1_Rjb($2, $$byval_copy, $11, $11 + 288 | 0, $5, $4, 0) | 0) - $11 | 0; + if (($17 | 0) < 288) HEAP32[$1 >> 2] = (($17 | 0) / 12 | 0 | 0) % 12 | 0; + STACKTOP = sp; + return; +} + +function __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE15__get_monthnameERiRS4_S4_RjRKNS_5ctypeIcEE($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 $$byval_copy = 0, $11 = 0, $17 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 4 | 0; + $6 = sp; + $7 = $0 + 8 | 0; + $11 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$7 >> 2] | 0) + 4 >> 2] & 127]($7) | 0; + HEAP32[$6 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + $17 = (__ZNSt3__214__scan_keywordINS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEPKNS_12basic_stringIcS3_NS_9allocatorIcEEEENS_5ctypeIcEEEET0_RT_SE_SD_SD_RKT1_Rjb($2, $$byval_copy, $11, $11 + 288 | 0, $5, $4, 0) | 0) - $11 | 0; + if (($17 | 0) < 288) HEAP32[$1 >> 2] = (($17 | 0) / 12 | 0 | 0) % 12 | 0; + STACKTOP = sp; + return; +} + +function __ZNKSt3__210__time_put8__do_putEPwRS1_PK2tmcc($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 $11 = 0, $16 = 0, $18 = 0, $19 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 128 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(128); + $6 = sp; + $7 = sp + 116 | 0; + $8 = sp + 104 | 0; + $9 = sp + 112 | 0; + HEAP32[$7 >> 2] = $6 + 100; + __ZNKSt3__210__time_put8__do_putEPcRS1_PK2tmcc($0, $6, $7, $3, $4, $5); + $11 = $8; + HEAP32[$11 >> 2] = 0; + HEAP32[$11 + 4 >> 2] = 0; + HEAP32[$9 >> 2] = $6; + $16 = __ZNSt3__212_GLOBAL__N_17countofIwEEmPKT_S4_($1, HEAP32[$2 >> 2] | 0) | 0; + $18 = ___uselocale(HEAP32[$0 >> 2] | 0) | 0; + $19 = _mbsrtowcs($1, $9, $16, $8) | 0; + if ($18 | 0) ___uselocale($18) | 0; + if (($19 | 0) == -1) __ZNSt3__221__throw_runtime_errorEPKc(0); else { + HEAP32[$2 >> 2] = $1 + ($19 << 2); + STACKTOP = sp; + return; + } +} + +function __ZNK10__cxxabiv117__class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $13 = 0, $19 = 0; + do if (!(__ZL8is_equalPKSt9type_infoS1_b($0, HEAP32[$1 + 8 >> 2] | 0, $4) | 0)) { + if (__ZL8is_equalPKSt9type_infoS1_b($0, HEAP32[$1 >> 2] | 0, $4) | 0) { + if ((HEAP32[$1 + 16 >> 2] | 0) != ($2 | 0) ? ($13 = $1 + 20 | 0, (HEAP32[$13 >> 2] | 0) != ($2 | 0)) : 0) { + HEAP32[$1 + 32 >> 2] = $3; + HEAP32[$13 >> 2] = $2; + $19 = $1 + 40 | 0; + HEAP32[$19 >> 2] = (HEAP32[$19 >> 2] | 0) + 1; + if ((HEAP32[$1 + 36 >> 2] | 0) == 1 ? (HEAP32[$1 + 24 >> 2] | 0) == 2 : 0) HEAP8[$1 + 54 >> 0] = 1; + HEAP32[$1 + 44 >> 2] = 4; + break; + } + if (($3 | 0) == 1) HEAP32[$1 + 32 >> 2] = 1; + } + } else __ZNK10__cxxabiv117__class_type_info29process_static_type_below_dstEPNS_19__dynamic_cast_infoEPKvi(0, $1, $2, $3); while (0); + return; +} + +function _setPatternDetectionMode($id, $mode) { + $id = $id | 0; + $mode = $mode | 0; + var $arhandle = 0, $id$addr = 0, $vararg_buffer = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $vararg_buffer = sp; + $id$addr = sp + 4 | 0; + HEAP32[$id$addr >> 2] = $id; + if (__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0 ? ($arhandle = (__ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0) + 216 | 0, (_arSetPatternDetectionMode(HEAP32[$arhandle >> 2] | 0, $mode) | 0) == 0) : 0) { + HEAP32[$vararg_buffer >> 2] = $mode; + _arLog(0, 1, 41639, $vararg_buffer); + } + STACKTOP = sp; + return; +} + +function _getThreshold($id) { + $id = $id | 0; + var $arhandle = 0, $cmp = 0, $id$addr = 0, $retval$1 = 0, $threshold = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $id$addr = sp; + $threshold = sp + 4 | 0; + HEAP32[$id$addr >> 2] = $id; + if (!(__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0)) $retval$1 = -1; else { + $arhandle = (__ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0) + 216 | 0; + $cmp = (_arGetLabelingThresh(HEAP32[$arhandle >> 2] | 0, $threshold) | 0) == 0; + $retval$1 = $cmp ? HEAP32[$threshold >> 2] | 0 : -1; + } + STACKTOP = sp; + return $retval$1 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E20parsePositiveIntegerEPm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $10 = 0, $12 = 0, $7 = 0; + HEAP32[$1 >> 2] = 0; + L1 : do if (((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 0) | 0) + -48 & 255) > 9) $$0 = 1; else { + $7 = 0; + while (1) { + if (((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 0) | 0) + -48 & 255) >= 10) { + $$0 = 0; + break L1; + } + HEAP32[$1 >> 2] = $7 * 10; + $10 = ((__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E7consumeEv($0) | 0) << 24 >> 24) + -48 | 0; + $12 = $10 + (HEAP32[$1 >> 2] | 0) | 0; + HEAP32[$1 >> 2] = $12; + $7 = $12; + } + } while (0); + return $$0 | 0; +} + +function __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__get_weekdaynameERiRS4_S4_RjRKNS_5ctypeIwEE($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 $$byval_copy = 0, $10 = 0, $16 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 4 | 0; + $6 = sp; + $7 = $0 + 8 | 0; + $10 = FUNCTION_TABLE_ii[HEAP32[HEAP32[$7 >> 2] >> 2] & 127]($7) | 0; + HEAP32[$6 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + $16 = (__ZNSt3__214__scan_keywordINS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEPKNS_12basic_stringIwS3_NS_9allocatorIwEEEENS_5ctypeIwEEEET0_RT_SE_SD_SD_RKT1_Rjb($2, $$byval_copy, $10, $10 + 168 | 0, $5, $4, 0) | 0) - $10 | 0; + if (($16 | 0) < 168) HEAP32[$1 >> 2] = (($16 | 0) / 12 | 0 | 0) % 7 | 0; + STACKTOP = sp; + return; +} + +function __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__get_weekdaynameERiRS4_S4_RjRKNS_5ctypeIcEE($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 $$byval_copy = 0, $10 = 0, $16 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 4 | 0; + $6 = sp; + $7 = $0 + 8 | 0; + $10 = FUNCTION_TABLE_ii[HEAP32[HEAP32[$7 >> 2] >> 2] & 127]($7) | 0; + HEAP32[$6 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + $16 = (__ZNSt3__214__scan_keywordINS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEPKNS_12basic_stringIcS3_NS_9allocatorIcEEEENS_5ctypeIcEEEET0_RT_SE_SD_SD_RKT1_Rjb($2, $$byval_copy, $10, $10 + 168 | 0, $5, $4, 0) | 0) - $10 | 0; + if (($16 | 0) < 168) HEAP32[$1 >> 2] = (($16 | 0) / 12 | 0 | 0) % 7 | 0; + STACKTOP = sp; + return; +} + +function _getPatternDetectionMode($id) { + $id = $id | 0; + var $arhandle = 0, $cmp = 0, $id$addr = 0, $mode = 0, $retval$1 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $id$addr = sp; + $mode = sp + 4 | 0; + HEAP32[$id$addr >> 2] = $id; + if (!(__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0)) $retval$1 = -1; else { + $arhandle = (__ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0) + 216 | 0; + $cmp = (_arGetPatternDetectionMode(HEAP32[$arhandle >> 2] | 0, $mode) | 0) == 0; + $retval$1 = $cmp ? HEAP32[$mode >> 2] | 0 : -1; + } + STACKTOP = sp; + return $retval$1 | 0; +} + +function __ZNSt3__29__num_getIwE19__stage2_float_prepERNS_8ios_baseEPwRwS5_($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $10 = 0, $14 = 0, $18 = 0, $5 = 0, $6 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $5 = sp; + __ZNKSt3__28ios_base6getlocEv($5, $1); + $6 = __ZNKSt3__26locale9use_facetERNS0_2idE($5, 66544) | 0; + FUNCTION_TABLE_iiiii[HEAP32[(HEAP32[$6 >> 2] | 0) + 48 >> 2] & 15]($6, 12928, 12960, $2) | 0; + $10 = __ZNKSt3__26locale9use_facetERNS0_2idE($5, 66552) | 0; + $14 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$10 >> 2] | 0) + 12 >> 2] & 127]($10) | 0; + HEAP32[$3 >> 2] = $14; + $18 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$10 >> 2] | 0) + 16 >> 2] & 127]($10) | 0; + HEAP32[$4 >> 2] = $18; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$10 >> 2] | 0) + 20 >> 2] & 255]($0, $10); + __ZNSt3__26localeD2Ev($5); + STACKTOP = sp; + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle16FunctionEncoding9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy = 0, $2 = 0, $3 = 0, $4 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $2 = sp; + $3 = $0 + 8 | 0; + $4 = HEAP32[$3 >> 2] | 0; + if ($4 | 0 ? (FUNCTION_TABLE_vii[HEAP32[(HEAP32[$4 >> 2] | 0) + 16 >> 2] & 255]($4, $1), !(__ZNK12_GLOBAL__N_116itanium_demangle4Node15hasRHSComponentERNS_12OutputStreamE(HEAP32[$3 >> 2] | 0, $1) | 0)) : 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 51966); + HEAP32[$$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy); + } + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 12 >> 2] | 0, $1); + STACKTOP = sp; + return; +} + +function _setThresholdMode($id, $mode) { + $id = $id | 0; + $mode = $mode | 0; + var $arhandle = 0, $id$addr = 0, $vararg_buffer = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $vararg_buffer = sp; + $id$addr = sp + 4 | 0; + HEAP32[$id$addr >> 2] = $id; + if (__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0 ? ($arhandle = (__ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0) + 216 | 0, (_arSetLabelingThreshMode(HEAP32[$arhandle >> 2] | 0, $mode) | 0) == 0) : 0) { + HEAP32[$vararg_buffer >> 2] = $mode; + _arLog(0, 1, 41700, $vararg_buffer); + } + STACKTOP = sp; + return; +} + +function __ZNSt3__29__num_getIcE19__stage2_float_prepERNS_8ios_baseEPcRcS5_($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $10 = 0, $14 = 0, $18 = 0, $5 = 0, $6 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $5 = sp; + __ZNKSt3__28ios_base6getlocEv($5, $1); + $6 = __ZNKSt3__26locale9use_facetERNS0_2idE($5, 66512) | 0; + FUNCTION_TABLE_iiiii[HEAP32[(HEAP32[$6 >> 2] | 0) + 32 >> 2] & 15]($6, 12928, 12960, $2) | 0; + $10 = __ZNKSt3__26locale9use_facetERNS0_2idE($5, 66528) | 0; + $14 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$10 >> 2] | 0) + 12 >> 2] & 127]($10) | 0; + HEAP8[$3 >> 0] = $14; + $18 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$10 >> 2] | 0) + 16 >> 2] & 127]($10) | 0; + HEAP8[$4 >> 0] = $18; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$10 >> 2] | 0) + 20 >> 2] & 255]($0, $10); + __ZNSt3__26localeD2Ev($5); + STACKTOP = sp; + return; +} + +function __ZN6vision29SolveNullVector8x9DestructiveIfEEbPT_S2_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $2 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 288 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(288); + $2 = sp; + if (((((((__ZN6vision27OrthogonalizePivot8x9Basis0IfEEbPT_S2_($2, $1) | 0 ? __ZN6vision27OrthogonalizePivot8x9Basis1IfEEbPT_S2_($2, $1) | 0 : 0) ? __ZN6vision27OrthogonalizePivot8x9Basis2IfEEbPT_S2_($2, $1) | 0 : 0) ? __ZN6vision27OrthogonalizePivot8x9Basis3IfEEbPT_S2_($2, $1) | 0 : 0) ? __ZN6vision27OrthogonalizePivot8x9Basis4IfEEbPT_S2_($2, $1) | 0 : 0) ? __ZN6vision27OrthogonalizePivot8x9Basis5IfEEbPT_S2_($2, $1) | 0 : 0) ? __ZN6vision27OrthogonalizePivot8x9Basis6IfEEbPT_S2_($2, $1) | 0 : 0) ? __ZN6vision27OrthogonalizePivot8x9Basis7IfEEbPT_S2_($2, $1) | 0 : 0) $$0 = __ZN6vision24OrthogonalizeIdentity8x9IfEEbPT_PKS1_($0, $2) | 0; else $$0 = 0; + STACKTOP = sp; + return $$0 | 0; +} + +function _setImageProcMode($id, $mode) { + $id = $id | 0; + $mode = $mode | 0; + var $arhandle = 0, $id$addr = 0, $vararg_buffer = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $vararg_buffer = sp; + $id$addr = sp + 4 | 0; + HEAP32[$id$addr >> 2] = $id; + if (__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0 ? ($arhandle = (__ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0) + 216 | 0, (_arSetImageProcMode(HEAP32[$arhandle >> 2] | 0, $mode) | 0) == 0) : 0) { + HEAP32[$vararg_buffer >> 2] = $mode; + _arLog(0, 1, 41549, $vararg_buffer); + } + STACKTOP = sp; + return; +} + +function __ZNK10__cxxabiv121__vmi_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0, $10 = 0, $13 = 0, $9 = 0; + L1 : do if (!(__ZL8is_equalPKSt9type_infoS1_b($0, HEAP32[$1 + 8 >> 2] | 0, 0) | 0)) { + $9 = HEAP32[$0 + 12 >> 2] | 0; + $10 = $0 + 16 + ($9 << 3) | 0; + __ZNK10__cxxabiv122__base_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi($0 + 16 | 0, $1, $2, $3); + if (($9 | 0) > 1) { + $13 = $1 + 54 | 0; + $$0 = $0 + 24 | 0; + do { + __ZNK10__cxxabiv122__base_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi($$0, $1, $2, $3); + if (HEAP8[$13 >> 0] | 0) break L1; + $$0 = $$0 + 8 | 0; + } while ($$0 >>> 0 < $10 >>> 0); + } + } else __ZNK10__cxxabiv117__class_type_info24process_found_base_classEPNS_19__dynamic_cast_infoEPvi(0, $1, $2, $3); while (0); + return; +} + +function _setLabelingMode($id, $mode) { + $id = $id | 0; + $mode = $mode | 0; + var $arhandle = 0, $id$addr = 0, $vararg_buffer = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $vararg_buffer = sp; + $id$addr = sp + 4 | 0; + HEAP32[$id$addr >> 2] = $id; + if (__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0 ? ($arhandle = (__ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0) + 216 | 0, (_arSetLabelingMode(HEAP32[$arhandle >> 2] | 0, $mode) | 0) == 0) : 0) { + HEAP32[$vararg_buffer >> 2] = $mode; + _arLog(0, 1, 41578, $vararg_buffer); + } + STACKTOP = sp; + return; +} + +function _h2v1_upsample($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$02528 = 0, $$02627 = 0, $$029 = 0, $10 = 0, $11 = 0, $12 = 0, $17 = 0, $23 = 0, $24 = 0, $4 = 0, $5 = 0, $6 = 0, $8 = 0; + $4 = HEAP32[$3 >> 2] | 0; + $5 = $0 + 320 | 0; + $6 = HEAP32[$5 >> 2] | 0; + if (($6 | 0) <= 0) return; + $8 = $0 + 112 | 0; + $$029 = 0; + $24 = $6; + while (1) { + $10 = HEAP32[$4 + ($$029 << 2) >> 2] | 0; + $11 = HEAP32[$8 >> 2] | 0; + $12 = $10 + $11 | 0; + if (($11 | 0) > 0) { + $$02528 = HEAP32[$2 + ($$029 << 2) >> 2] | 0; + $$02627 = $10; + while (1) { + $17 = HEAP8[$$02528 >> 0] | 0; + HEAP8[$$02627 >> 0] = $17; + HEAP8[$$02627 + 1 >> 0] = $17; + $$02627 = $$02627 + 2 | 0; + if ($$02627 >>> 0 >= $12 >>> 0) break; else $$02528 = $$02528 + 1 | 0; + } + $23 = HEAP32[$5 >> 2] | 0; + } else $23 = $24; + $$029 = $$029 + 1 | 0; + if (($$029 | 0) >= ($23 | 0)) break; else $24 = $23; + } + return; +} + +function _ar2GetImageValue($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = +$3; + $4 = +$4; + $5 = $5 | 0; + var $$0 = 0, $12 = 0.0, $16 = 0, $19 = 0, $22 = 0, $29 = 0, $33 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $6 = sp + 4 | 0; + $7 = sp; + if ((((_ar2ScreenCoord2MarkerCoord($0, $1, $3, $4, $6, $7) | 0) >= 0 ? ($12 = +HEAPF32[$2 + 12 >> 2], $16 = ~~(+HEAPF32[$6 >> 2] * $12 / 25.399999618530273 + .5), ($16 | 0) >= 0) : 0) ? ($19 = HEAP32[$2 + 4 >> 2] | 0, ($19 | 0) > ($16 | 0)) : 0) ? ($22 = HEAP32[$2 + 8 >> 2] | 0, $29 = ~~(+($22 | 0) - $12 * +HEAPF32[$7 >> 2] / 25.399999618530273 + .5), ($29 | 0) > -1 & ($22 | 0) > ($29 | 0)) : 0) { + $33 = (Math_imul($19, $29) | 0) + $16 | 0; + HEAP8[$5 >> 0] = HEAP8[(HEAP32[$2 >> 2] | 0) + $33 >> 0] | 0; + $$0 = 0; + } else $$0 = -1; + STACKTOP = sp; + return $$0 | 0; +} + +function _fputc($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $13 = 0, $14 = 0, $20 = 0, $21 = 0, $26 = 0, $27 = 0, $33 = 0, $7 = 0, $8 = 0, label = 0; + if ((HEAP32[$1 + 76 >> 2] | 0) >= 0 ? (___lockfile($1) | 0) != 0 : 0) { + $20 = $0 & 255; + $21 = $0 & 255; + if (($21 | 0) != (HEAP8[$1 + 75 >> 0] | 0) ? ($26 = $1 + 20 | 0, $27 = HEAP32[$26 >> 2] | 0, $27 >>> 0 < (HEAP32[$1 + 16 >> 2] | 0) >>> 0) : 0) { + HEAP32[$26 >> 2] = $27 + 1; + HEAP8[$27 >> 0] = $20; + $33 = $21; + } else $33 = ___overflow($1, $0) | 0; + ___unlockfile($1); + $$0 = $33; + } else label = 3; + do if ((label | 0) == 3) { + $7 = $0 & 255; + $8 = $0 & 255; + if (($8 | 0) != (HEAP8[$1 + 75 >> 0] | 0) ? ($13 = $1 + 20 | 0, $14 = HEAP32[$13 >> 2] | 0, $14 >>> 0 < (HEAP32[$1 + 16 >> 2] | 0) >>> 0) : 0) { + HEAP32[$13 >> 2] = $14 + 1; + HEAP8[$14 >> 0] = $7; + $$0 = $8; + break; + } + $$0 = ___overflow($1, $0) | 0; + } while (0); + return $$0 | 0; +} + +function __ZNSt3__26vectorIN6vision5ImageENS_9allocatorIS2_EEE26__swap_out_circular_bufferERNS_14__split_bufferIS2_RS4_EE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0$i = 0, $12 = 0, $14 = 0, $15 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $3 = 0, $5 = 0, $9 = 0; + $2 = HEAP32[$0 >> 2] | 0; + $3 = $0 + 4 | 0; + $5 = $1 + 4 | 0; + $$0$i = HEAP32[$3 >> 2] | 0; + while (1) { + if (($$0$i | 0) == ($2 | 0)) break; + $9 = $$0$i + -32 | 0; + __ZN6vision5ImageC2ERKS0_((HEAP32[$5 >> 2] | 0) + -32 | 0, $9); + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + -32; + $$0$i = $9; + } + $12 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$5 >> 2] = $12; + $14 = $1 + 8 | 0; + $15 = HEAP32[$3 >> 2] | 0; + HEAP32[$3 >> 2] = HEAP32[$14 >> 2]; + HEAP32[$14 >> 2] = $15; + $17 = $0 + 8 | 0; + $18 = $1 + 12 | 0; + $19 = HEAP32[$17 >> 2] | 0; + HEAP32[$17 >> 2] = HEAP32[$18 >> 2]; + HEAP32[$18 >> 2] = $19; + HEAP32[$1 >> 2] = HEAP32[$5 >> 2]; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E19parseIntegerLiteralENS_10StringViewE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $2 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $2 = sp; + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E11parseNumberEb($2, $0, 1); + if (!(__ZNK12_GLOBAL__N_110StringView5emptyEv($2) | 0) ? __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, 69) | 0 : 0) $$0 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_14IntegerLiteralEJRNS_10StringViewES9_EEEPNS0_4NodeEDpOT0_($0, $1, $2) | 0; else $$0 = 0; + STACKTOP = sp; + return $$0 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle22ElaboratedTypeSpefTypeEJRNS_10StringViewERPNS2_4NodeEEEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $10 = 0, $11 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $tmpcast$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $tmpcast$byval_copy = sp + 8 | 0; + $3 = sp; + $4 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 20) | 0; + $5 = $1; + $10 = HEAP32[$5 + 4 >> 2] | 0; + $11 = $3; + HEAP32[$11 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$11 + 4 >> 2] = $10; + $15 = HEAP32[$2 >> 2] | 0; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle22ElaboratedTypeSpefTypeC2ENS_10StringViewEPNS0_4NodeE($4, $tmpcast$byval_copy, $15); + STACKTOP = sp; + return $4 | 0; +} + +function __ZNSt3__212__hash_tableINS_17__hash_value_typeIi7ARParamEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE21__construct_node_hashIRKNS_21piecewise_construct_tEJNS_5tupleIJRKiEEENSJ_IJEEEEEENS_10unique_ptrINS_11__hash_nodeIS3_PvEENS_22__hash_node_destructorINSC_ISR_EEEEEEmOT_DpOT0_($agg$result, $this, $__hash, $__f, $__rest, $__rest1) { + $agg$result = $agg$result | 0; + $this = $this | 0; + $__hash = $__hash | 0; + $__f = $__f | 0; + $__rest = $__rest | 0; + $__rest1 = $__rest1 | 0; + var $call$i$i$i = 0; + $call$i$i$i = __Znwm(200) | 0; + HEAP32[$agg$result >> 2] = $call$i$i$i; + HEAP32[$agg$result + 4 >> 2] = $this + 8; + HEAP32[$call$i$i$i + 8 >> 2] = HEAP32[HEAP32[$__rest >> 2] >> 2]; + _memset($call$i$i$i + 16 | 0, 0, 184) | 0; + HEAP8[$agg$result + 8 >> 0] = 1; + HEAP32[$call$i$i$i + 4 >> 2] = $__hash; + HEAP32[$call$i$i$i >> 2] = 0; + return; +} + +function __ZNSt3__219__double_or_nothingIwEEvRNS_10unique_ptrIT_PFvPvEEERPS2_S9_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$pr = 0, $11 = 0, $13 = 0, $16 = 0, $17 = 0, $25 = 0, $3 = 0, $5 = 0, $7 = 0, $8 = 0, $9 = 0; + $3 = $0 + 4 | 0; + $5 = (HEAP32[$3 >> 2] | 0) != 214; + $7 = HEAP32[$0 >> 2] | 0; + $8 = $7; + $9 = (HEAP32[$2 >> 2] | 0) - $8 | 0; + $11 = $9 << 1; + $13 = $9 >>> 0 < 2147483647 ? (($11 | 0) == 0 ? 4 : $11) : -1; + $16 = (HEAP32[$1 >> 2] | 0) - $8 >> 2; + $17 = _realloc($5 ? $7 : 0, $13) | 0; + if (!$17) __ZSt17__throw_bad_allocv(); + if (!$5) { + $$pr = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = $17; + if (!$$pr) $25 = $17; else { + FUNCTION_TABLE_vi[HEAP32[$3 >> 2] & 255]($$pr); + $25 = HEAP32[$0 >> 2] | 0; + } + } else { + HEAP32[$0 >> 2] = $17; + $25 = $17; + } + HEAP32[$3 >> 2] = 215; + HEAP32[$1 >> 2] = $25 + ($16 << 2); + HEAP32[$2 >> 2] = (HEAP32[$0 >> 2] | 0) + ($13 >>> 2 << 2); + return; +} + +function __ZNSt3__219__double_or_nothingIjEEvRNS_10unique_ptrIT_PFvPvEEERPS2_S9_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$pr = 0, $11 = 0, $13 = 0, $16 = 0, $17 = 0, $25 = 0, $3 = 0, $5 = 0, $7 = 0, $8 = 0, $9 = 0; + $3 = $0 + 4 | 0; + $5 = (HEAP32[$3 >> 2] | 0) != 214; + $7 = HEAP32[$0 >> 2] | 0; + $8 = $7; + $9 = (HEAP32[$2 >> 2] | 0) - $8 | 0; + $11 = $9 << 1; + $13 = $9 >>> 0 < 2147483647 ? (($11 | 0) == 0 ? 4 : $11) : -1; + $16 = (HEAP32[$1 >> 2] | 0) - $8 >> 2; + $17 = _realloc($5 ? $7 : 0, $13) | 0; + if (!$17) __ZSt17__throw_bad_allocv(); + if (!$5) { + $$pr = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = $17; + if (!$$pr) $25 = $17; else { + FUNCTION_TABLE_vi[HEAP32[$3 >> 2] & 255]($$pr); + $25 = HEAP32[$0 >> 2] | 0; + } + } else { + HEAP32[$0 >> 2] = $17; + $25 = $17; + } + HEAP32[$3 >> 2] = 215; + HEAP32[$1 >> 2] = $25 + ($16 << 2); + HEAP32[$2 >> 2] = (HEAP32[$0 >> 2] | 0) + ($13 >>> 2 << 2); + return; +} + +function _kpmDeleteHandle($0) { + $0 = $0 | 0; + var $$0 = 0, $$in = 0, $$in17 = 0, $$in18 = 0, $$in19 = 0, $1 = 0, $12 = 0, $15 = 0, $17 = 0, $3 = 0, $6 = 0, $9 = 0; + $1 = HEAP32[$0 >> 2] | 0; + if (!$1) $$0 = -1; else { + $3 = HEAP32[$1 >> 2] | 0; + if (!$3) $$in = $1; else { + __ZN6vision20VisualDatabaseFacadeD2Ev($3); + __ZdlPv($3); + $$in = HEAP32[$0 >> 2] | 0; + } + $6 = HEAP32[$$in + 28 >> 2] | 0; + if (!$6) $$in17 = $$in; else { + _free($6); + $$in17 = HEAP32[$0 >> 2] | 0; + } + $9 = HEAP32[$$in17 + 36 >> 2] | 0; + if (!$9) $$in18 = $$in17; else { + _free($9); + $$in18 = HEAP32[$0 >> 2] | 0; + } + $12 = HEAP32[$$in18 + 52 >> 2] | 0; + if (!$12) $$in19 = $$in18; else { + _free($12); + $$in19 = HEAP32[$0 >> 2] | 0; + } + $15 = HEAP32[$$in19 + 44 >> 2] | 0; + if (!$15) $17 = $$in19; else { + _free($15); + $17 = HEAP32[$0 >> 2] | 0; + } + _free($17); + HEAP32[$0 >> 2] = 0; + $$0 = 0; + } + return $$0 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10parseSeqIdEPm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$08 = 0, $$sink15 = 0, $2 = 0, $6 = 0; + $2 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 0) | 0; + if ($2 << 24 >> 24 > 47 ? $2 << 24 >> 24 < 58 | ($2 + -65 & 255) < 26 : 0) { + $$0 = 0; + while (1) { + $6 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, 0) | 0; + if ($6 << 24 >> 24 <= 47) break; + if ($6 << 24 >> 24 >= 58) if (($6 + -65 & 255) < 26) $$sink15 = -55; else break; else $$sink15 = -48; + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + 1; + $$0 = ($$0 * 36 | 0) + $$sink15 + ($6 << 24 >> 24) | 0; + } + HEAP32[$1 >> 2] = $$0; + $$08 = 0; + } else $$08 = 1; + return $$08 | 0; +} + +function __ZN6vision40Homography4PointsGeometricallyConsistentIfEEbPKT_S3_S3_S3_S3_S3_S3_S3_($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 $$0 = 0, $14 = 0, $19 = 0, $24 = 0, $9 = 0; + $9 = +__ZN6vision13LinePointSideIfEET_PKS1_S3_S3_($0, $1, $2) > 0.0; + if ((!($9 ^ +__ZN6vision13LinePointSideIfEET_PKS1_S3_S3_($4, $5, $6) > 0.0) ? ($14 = +__ZN6vision13LinePointSideIfEET_PKS1_S3_S3_($1, $2, $3) > 0.0, !($14 ^ +__ZN6vision13LinePointSideIfEET_PKS1_S3_S3_($5, $6, $7) > 0.0)) : 0) ? ($19 = +__ZN6vision13LinePointSideIfEET_PKS1_S3_S3_($2, $3, $0) > 0.0, !($19 ^ +__ZN6vision13LinePointSideIfEET_PKS1_S3_S3_($6, $7, $4) > 0.0)) : 0) { + $24 = +__ZN6vision13LinePointSideIfEET_PKS1_S3_S3_($3, $0, $1) > 0.0; + $$0 = $24 ^ +__ZN6vision13LinePointSideIfEET_PKS1_S3_S3_($7, $4, $5) > 0.0 ^ 1; + } else $$0 = 0; + return $$0 | 0; +} + +function _getMatrixCodeType($id) { + $id = $id | 0; + var $arhandle = 0, $id$addr = 0, $matrixType = 0, $retval$0 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $id$addr = sp; + $matrixType = sp + 4 | 0; + HEAP32[$id$addr >> 2] = $id; + if (!(__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0)) $retval$0 = -1; else { + $arhandle = (__ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0) + 216 | 0; + _arGetMatrixCodeType(HEAP32[$arhandle >> 2] | 0, $matrixType) | 0; + $retval$0 = HEAP32[$matrixType >> 2] | 0; + } + STACKTOP = sp; + return $retval$0 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle12CtorDtorName9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy1 = 0, $2 = 0, $3 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy1 = sp + 16 | 0; + $2 = sp + 8 | 0; + $3 = sp; + if (HEAP8[$0 + 12 >> 0] | 0) { + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 52685); + HEAP32[$$byval_copy1 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy1 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy1); + } + $8 = HEAP32[$0 + 8 >> 2] | 0; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$8 >> 2] | 0) + 24 >> 2] & 255]($3, $8); + HEAP32[$$byval_copy1 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy1 + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy1); + STACKTOP = sp; + return; +} + +function __ZN6vision14CompareFREAK84EPhPKf($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$018 = 0, $$019 = 0, $$1 = 0, $2 = 0, $3 = 0, $indvars$iv = 0, $indvars$iv$next23 = 0, $indvars$iv20 = 0, $indvars$iv22 = 0; + __ZN6vision10ZeroVectorIhEEvPT_m($0, 84); + $$018 = 0; + $$019 = 0; + $indvars$iv = 36; + $indvars$iv20 = 35; + $indvars$iv22 = 36; + while (1) { + if (($$018 | 0) == 37) break; + $2 = $$018 + 1 | 0; + $3 = $1 + ($$018 << 2) | 0; + $$0 = $2; + $$1 = $$019; + while (1) { + if (($$1 | 0) == ($indvars$iv22 | 0)) break; + __ZN6vision17bitstring_set_bitEPhih($0, $$1, +HEAPF32[$3 >> 2] < +HEAPF32[$1 + ($$0 << 2) >> 2] & 1); + $$0 = $$0 + 1 | 0; + $$1 = $$1 + 1 | 0; + } + $indvars$iv$next23 = $indvars$iv22 + $indvars$iv20 | 0; + $$018 = $2; + $$019 = $$019 + $indvars$iv | 0; + $indvars$iv = $indvars$iv + -1 | 0; + $indvars$iv20 = $indvars$iv20 + -1 | 0; + $indvars$iv22 = $indvars$iv$next23; + } + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle12NoexceptSpec9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy1 = 0, $2 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $$byval_copy1 = sp + 16 | 0; + $2 = sp + 8 | 0; + $3 = sp; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 56458); + HEAP32[$$byval_copy1 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy1 + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy1); + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 8 >> 2] | 0, $1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, 51964); + HEAP32[$$byval_copy1 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy1 + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy1); + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle17VendorExtQualTypeEJRPNS2_4NodeERNS_10StringViewEEEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $tmpcast$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $tmpcast$byval_copy = sp + 8 | 0; + $3 = sp; + $4 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 20) | 0; + $5 = HEAP32[$1 >> 2] | 0; + $6 = $2; + $11 = HEAP32[$6 + 4 >> 2] | 0; + $12 = $3; + HEAP32[$12 >> 2] = HEAP32[$6 >> 2]; + HEAP32[$12 + 4 >> 2] = $11; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle17VendorExtQualTypeC2EPKNS0_4NodeENS_10StringViewE($4, $5, $tmpcast$byval_copy); + STACKTOP = sp; + return $4 | 0; +} + +function __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6resizeEmc($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $11 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp; + $4 = $0 + 11 | 0; + $5 = HEAP8[$4 >> 0] | 0; + $6 = $5 << 24 >> 24 < 0; + if ($6) $11 = HEAP32[$0 + 4 >> 2] | 0; else $11 = $5 & 255; + do if ($11 >>> 0 >= $1 >>> 0) if ($6) { + $14 = (HEAP32[$0 >> 2] | 0) + $1 | 0; + HEAP8[$3 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($14, $3); + HEAP32[$0 + 4 >> 2] = $1; + break; + } else { + HEAP8[$3 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($0 + $1 | 0, $3); + HEAP8[$4 >> 0] = $1; + break; + } else __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6appendEmc($0, $1 - $11 | 0, $2) | 0; while (0); + STACKTOP = sp; + return; +} + +function ___overflow($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $10 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $2 = sp; + $3 = $1 & 255; + HEAP8[$2 >> 0] = $3; + $4 = $0 + 16 | 0; + $5 = HEAP32[$4 >> 2] | 0; + if (!$5) if (!(___towrite($0) | 0)) { + $12 = HEAP32[$4 >> 2] | 0; + label = 4; + } else $$0 = -1; else { + $12 = $5; + label = 4; + } + do if ((label | 0) == 4) { + $9 = $0 + 20 | 0; + $10 = HEAP32[$9 >> 2] | 0; + if ($10 >>> 0 < $12 >>> 0 ? ($13 = $1 & 255, ($13 | 0) != (HEAP8[$0 + 75 >> 0] | 0)) : 0) { + HEAP32[$9 >> 2] = $10 + 1; + HEAP8[$10 >> 0] = $3; + $$0 = $13; + break; + } + if ((FUNCTION_TABLE_iiii[HEAP32[$0 + 36 >> 2] & 63]($0, $2, 1) | 0) == 1) $$0 = HEAPU8[$2 >> 0] | 0; else $$0 = -1; + } while (0); + STACKTOP = sp; + return $$0 | 0; +} + +function __ZN6vision25DoGScaleInvariantDetectorC2Ev($0) { + $0 = $0 | 0; + var $11 = 0, $14 = 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 10; + HEAP32[$0 + 12 >> 2] = 10; + HEAP32[$0 + 16 >> 2] = 0; + HEAP32[$0 + 20 >> 2] = 0; + HEAP32[$0 + 24 >> 2] = 0; + HEAP8[$0 + 28 >> 0] = 1; + __ZN6vision10DoGPyramidC2Ev($0 + 32 | 0); + HEAPF32[$0 + 52 >> 2] = 0.0; + HEAPF32[$0 + 56 >> 2] = 10.0; + $11 = $0 + 60 | 0; + HEAP32[$11 >> 2] = 0; + HEAP32[$11 + 4 >> 2] = 0; + HEAP32[$11 + 8 >> 2] = 0; + HEAP32[$11 + 12 >> 2] = 0; + HEAP32[$11 + 16 >> 2] = 0; + HEAP32[$11 + 20 >> 2] = 0; + HEAPF32[$0 + 88 >> 2] = 9.0; + __ZN6vision21OrientationAssignmentC2Ev($0 + 92 | 0); + $14 = $0 + 144 | 0; + HEAP32[$14 >> 2] = 0; + HEAP32[$0 + 148 >> 2] = 0; + HEAP32[$0 + 152 >> 2] = 0; + __ZN6vision25DoGScaleInvariantDetector22setMaxNumFeaturePointsEm($0, 5e3); + __ZNSt3__26vectorIfNS_9allocatorIfEEE6resizeEm($14, 36); + return; +} + +function __ZL19kpmCreateHandleCoreP9ARParamLTiii($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $13 = 0, $4 = 0, $6 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $4 = _calloc(1, 4156) | 0; + if (!$4) { + _arLog(0, 3, 45930, sp); + _exit(1); + } else { + $6 = __Znwm(4) | 0; + __ZN6vision20VisualDatabaseFacadeC2Ev($6); + HEAP32[$4 >> 2] = $6; + HEAP32[$4 + 4 >> 2] = $0; + HEAP32[$4 + 8 >> 2] = $3; + HEAP32[$4 + 12 >> 2] = $1; + HEAP32[$4 + 16 >> 2] = $2; + HEAP32[$4 + 20 >> 2] = 1; + HEAP32[$4 + 24 >> 2] = -1; + $13 = $4 + 28 | 0; + HEAP32[$13 >> 2] = 0; + HEAP32[$13 + 4 >> 2] = 0; + HEAP32[$13 + 8 >> 2] = 0; + HEAP32[$13 + 12 >> 2] = 0; + HEAP32[$13 + 16 >> 2] = 0; + HEAP32[$13 + 20 >> 2] = 0; + HEAP32[$13 + 24 >> 2] = 0; + HEAP32[$13 + 28 >> 2] = 0; + STACKTOP = sp; + return $4 | 0; + } + return 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle15IntegerCastExprEJRPNS2_4NodeERNS_10StringViewEEEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $tmpcast$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $tmpcast$byval_copy = sp + 8 | 0; + $3 = sp; + $4 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 20) | 0; + $5 = HEAP32[$1 >> 2] | 0; + $6 = $2; + $11 = HEAP32[$6 + 4 >> 2] | 0; + $12 = $3; + HEAP32[$12 >> 2] = HEAP32[$6 >> 2]; + HEAP32[$12 + 4 >> 2] = $11; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle15IntegerCastExprC2EPKNS0_4NodeENS_10StringViewE($4, $5, $tmpcast$byval_copy); + STACKTOP = sp; + return $4 | 0; +} + +function _cycle($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$02527 = 0, $$026 = 0, $10 = 0, $11 = 0, $18 = 0, $3 = 0, $5 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(256); + $3 = sp; + L1 : do if (($2 | 0) >= 2 ? ($5 = $1 + ($2 << 2) | 0, HEAP32[$5 >> 2] = $3, $0 | 0) : 0) { + $$02527 = $0; + $10 = $3; + while (1) { + $8 = $$02527 >>> 0 < 256 ? $$02527 : 256; + _memcpy($10 | 0, HEAP32[$1 >> 2] | 0, $8 | 0) | 0; + $$026 = 0; + do { + $11 = $1 + ($$026 << 2) | 0; + $$026 = $$026 + 1 | 0; + _memcpy(HEAP32[$11 >> 2] | 0, HEAP32[$1 + ($$026 << 2) >> 2] | 0, $8 | 0) | 0; + HEAP32[$11 >> 2] = (HEAP32[$11 >> 2] | 0) + $8; + } while (($$026 | 0) != ($2 | 0)); + $18 = $$02527 - $8 | 0; + if (!$18) break L1; + $$02527 = $18; + $10 = HEAP32[$5 >> 2] | 0; + } + } while (0); + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle14ConversionExprEJRPNS2_4NodeERNS2_9NodeArrayEEEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $tmpcast$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $tmpcast$byval_copy = sp + 8 | 0; + $3 = sp; + $4 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 20) | 0; + $5 = HEAP32[$1 >> 2] | 0; + $6 = $2; + $11 = HEAP32[$6 + 4 >> 2] | 0; + $12 = $3; + HEAP32[$12 >> 2] = HEAP32[$6 >> 2]; + HEAP32[$12 + 4 >> 2] = $11; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle14ConversionExprC2EPKNS0_4NodeENS0_9NodeArrayE($4, $5, $tmpcast$byval_copy); + STACKTOP = sp; + return $4 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle13ObjCProtoNameEJRPNS2_4NodeERNS_10StringViewEEEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $tmpcast$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $tmpcast$byval_copy = sp + 8 | 0; + $3 = sp; + $4 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 20) | 0; + $5 = HEAP32[$1 >> 2] | 0; + $6 = $2; + $11 = HEAP32[$6 + 4 >> 2] | 0; + $12 = $3; + HEAP32[$12 >> 2] = HEAP32[$6 >> 2]; + HEAP32[$12 + 4 >> 2] = $11; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle13ObjCProtoNameC2EPKNS0_4NodeENS_10StringViewE($4, $5, $tmpcast$byval_copy); + STACKTOP = sp; + return $4 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle14ConversionExprEJRPNS2_4NodeENS2_9NodeArrayEEEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $tmpcast$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $tmpcast$byval_copy = sp + 8 | 0; + $3 = sp; + $4 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 20) | 0; + $5 = HEAP32[$1 >> 2] | 0; + $6 = $2; + $11 = HEAP32[$6 + 4 >> 2] | 0; + $12 = $3; + HEAP32[$12 >> 2] = HEAP32[$6 >> 2]; + HEAP32[$12 + 4 >> 2] = $11; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle14ConversionExprC2EPKNS0_4NodeENS0_9NodeArrayE($4, $5, $tmpcast$byval_copy); + STACKTOP = sp; + return $4 | 0; +} + +function _arPattDeleteHandle($0) { + $0 = $0 | 0; + var $$0 = 0, $$024 = 0, $$025 = 0, $12 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0; + if (!$0) $$025 = -1; else { + $2 = $0 + 4 | 0; + $3 = $0 + 8 | 0; + $4 = $0 + 12 | 0; + $5 = $0 + 20 | 0; + $$024 = 0; + while (1) { + if (($$024 | 0) >= (HEAP32[$2 >> 2] | 0)) break; + if (HEAP32[(HEAP32[$3 >> 2] | 0) + ($$024 << 2) >> 2] | 0) _arPattFree($0, $$024) | 0; + $12 = $$024 << 2; + $$0 = 0; + while (1) { + if (($$0 | 0) == 4) break; + $14 = $$0 + $12 | 0; + _free(HEAP32[(HEAP32[$4 >> 2] | 0) + ($14 << 2) >> 2] | 0); + _free(HEAP32[(HEAP32[$5 >> 2] | 0) + ($14 << 2) >> 2] | 0); + $$0 = $$0 + 1 | 0; + } + $$024 = $$024 + 1 | 0; + } + _free(HEAP32[$4 >> 2] | 0); + _free(HEAP32[$5 >> 2] | 0); + _free(HEAP32[$3 >> 2] | 0); + _free(HEAP32[$0 + 16 >> 2] | 0); + _free(HEAP32[$0 + 24 >> 2] | 0); + _free($0); + $$025 = 0; + } + return $$025 | 0; +} + +function __ZNSt3__219__double_or_nothingIcEEvRNS_10unique_ptrIT_PFvPvEEERPS2_S9_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$pr = 0, $11 = 0, $13 = 0, $15 = 0, $16 = 0, $23 = 0, $3 = 0, $5 = 0, $7 = 0, $8 = 0, $9 = 0; + $3 = $0 + 4 | 0; + $5 = (HEAP32[$3 >> 2] | 0) != 214; + $7 = HEAP32[$0 >> 2] | 0; + $8 = $7; + $9 = (HEAP32[$2 >> 2] | 0) - $8 | 0; + $11 = $9 << 1; + $13 = $9 >>> 0 < 2147483647 ? (($11 | 0) == 0 ? 1 : $11) : -1; + $15 = (HEAP32[$1 >> 2] | 0) - $8 | 0; + $16 = _realloc($5 ? $7 : 0, $13) | 0; + if (!$16) __ZSt17__throw_bad_allocv(); + if (!$5) { + $$pr = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = $16; + if (!$$pr) $23 = $16; else { + FUNCTION_TABLE_vi[HEAP32[$3 >> 2] & 255]($$pr); + $23 = HEAP32[$0 >> 2] | 0; + } + } else { + HEAP32[$0 >> 2] = $16; + $23 = $16; + } + HEAP32[$3 >> 2] = 215; + HEAP32[$1 >> 2] = $23 + $15; + HEAP32[$2 >> 2] = (HEAP32[$0 >> 2] | 0) + $13; + return; +} + +function __ZNSt3__214__split_bufferI12multi_markerRNS_9allocatorIS1_EEEC2EmmS4_($this, $__cap, $__start, $__a) { + $this = $this | 0; + $__cap = $__cap | 0; + $__start = $__start | 0; + $__a = $__a | 0; + var $__value_$i1$i = 0, $add$ptr = 0, $cond = 0, $exception$i$i$i = 0; + $__value_$i1$i = $this + 12 | 0; + HEAP32[$__value_$i1$i >> 2] = 0; + HEAP32[$this + 16 >> 2] = $__a; + do if ($__cap) if ($__cap >>> 0 > 536870911) { + $exception$i$i$i = ___cxa_allocate_exception(8) | 0; + __ZNSt11logic_errorC2EPKc($exception$i$i$i, 41481); + HEAP32[$exception$i$i$i >> 2] = 17472; + ___cxa_throw($exception$i$i$i | 0, 13960, 22); + } else { + $cond = __Znwm($__cap << 3) | 0; + break; + } else $cond = 0; while (0); + HEAP32[$this >> 2] = $cond; + $add$ptr = $cond + ($__start << 3) | 0; + HEAP32[$this + 8 >> 2] = $add$ptr; + HEAP32[$this + 4 >> 2] = $add$ptr; + HEAP32[$__value_$i1$i >> 2] = $cond + ($__cap << 3); + return; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle9ArrayTypeEJRPNS2_4NodeERNS2_12NodeOrStringEEEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $tmpcast$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $tmpcast$byval_copy = sp + 8 | 0; + $3 = sp; + $4 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 20) | 0; + $5 = HEAP32[$1 >> 2] | 0; + $6 = $2; + $11 = HEAP32[$6 + 4 >> 2] | 0; + $12 = $3; + HEAP32[$12 >> 2] = HEAP32[$6 >> 2]; + HEAP32[$12 + 4 >> 2] = $11; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle9ArrayTypeC2EPKNS0_4NodeENS0_12NodeOrStringE($4, $5, $tmpcast$byval_copy); + STACKTOP = sp; + return $4 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle10PrefixExprEJRNS_10StringViewERPNS2_4NodeEEEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $10 = 0, $11 = 0, $15 = 0, $3 = 0, $4 = 0, $5 = 0, $tmpcast$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $tmpcast$byval_copy = sp + 8 | 0; + $3 = sp; + $4 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 20) | 0; + $5 = $1; + $10 = HEAP32[$5 + 4 >> 2] | 0; + $11 = $3; + HEAP32[$11 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$11 + 4 >> 2] = $10; + $15 = HEAP32[$2 >> 2] | 0; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle10PrefixExprC2ENS_10StringViewEPNS0_4NodeE($4, $tmpcast$byval_copy, $15); + STACKTOP = sp; + return $4 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle12InitListExprEJRPNS2_4NodeENS2_9NodeArrayEEEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $tmpcast$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $tmpcast$byval_copy = sp + 8 | 0; + $3 = sp; + $4 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 20) | 0; + $5 = HEAP32[$1 >> 2] | 0; + $6 = $2; + $11 = HEAP32[$6 + 4 >> 2] | 0; + $12 = $3; + HEAP32[$12 >> 2] = HEAP32[$6 >> 2]; + HEAP32[$12 + 4 >> 2] = $11; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle12InitListExprC2EPKNS0_4NodeENS0_9NodeArrayE($4, $5, $tmpcast$byval_copy); + STACKTOP = sp; + return $4 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle10AbiTagAttrEJRPNS2_4NodeERNS_10StringViewEEEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $tmpcast$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $tmpcast$byval_copy = sp + 8 | 0; + $3 = sp; + $4 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 20) | 0; + $5 = HEAP32[$1 >> 2] | 0; + $6 = $2; + $11 = HEAP32[$6 + 4 >> 2] | 0; + $12 = $3; + HEAP32[$12 >> 2] = HEAP32[$6 >> 2]; + HEAP32[$12 + 4 >> 2] = $11; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle10AbiTagAttrC2EPNS0_4NodeENS_10StringViewE($4, $5, $tmpcast$byval_copy); + STACKTOP = sp; + return $4 | 0; +} + +function _arImageProcLumaHistAndCDFAndPercentile($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = +$2; + $3 = $3 | 0; + var $$0 = 0, $$024 = 0, $$025 = 0, $15 = 0, $16 = 0, $18 = 0, $22 = 0, $23 = 0, $6 = 0; + if (!($2 < 0.0 | $2 > 1.0)) { + $6 = _arImageProcLumaHistAndCDF($0, $1) | 0; + if (($6 | 0) < 0) $$025 = $6; else { + $15 = ~~(+(Math_imul(HEAP32[$0 + 8 >> 2] | 0, HEAP32[$0 + 4 >> 2] | 0) | 0) * $2) >>> 0; + $$024 = 0; + while (1) { + $16 = $$024 & 255; + $18 = HEAP32[$0 + 1036 + ($16 << 2) >> 2] | 0; + if ($18 >>> 0 < $15 >>> 0) $$024 = $$024 + 1 << 24 >> 24; else break; + } + $$0 = $$024; + $22 = $18; + while (1) { + $23 = $$0 + 1 << 24 >> 24; + if (($22 | 0) != ($15 | 0)) break; + $$0 = $23; + $22 = HEAP32[$0 + 1036 + (($23 & 255) << 2) >> 2] | 0; + } + HEAP8[$3 >> 0] = (($$0 & 255) + $16 | 0) >>> 1; + $$025 = 0; + } + } else $$025 = -1; + return $$025 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle10MemberExpr9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $11 = 0, $12 = 0, $2 = 0, $6 = 0, $tmpcast$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $tmpcast$byval_copy = sp + 8 | 0; + $2 = sp; + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 8 >> 2] | 0, $1); + $6 = $0 + 12 | 0; + $11 = HEAP32[$6 + 4 >> 2] | 0; + $12 = $2; + HEAP32[$12 >> 2] = HEAP32[$6 >> 2]; + HEAP32[$12 + 4 >> 2] = $11; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $tmpcast$byval_copy); + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 20 >> 2] | 0, $1); + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle9DotSuffixEJRPNS2_4NodeENS_10StringViewEEEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $tmpcast$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $tmpcast$byval_copy = sp + 8 | 0; + $3 = sp; + $4 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 20) | 0; + $5 = HEAP32[$1 >> 2] | 0; + $6 = $2; + $11 = HEAP32[$6 + 4 >> 2] | 0; + $12 = $3; + HEAP32[$12 >> 2] = HEAP32[$6 >> 2]; + HEAP32[$12 + 4 >> 2] = $11; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle9DotSuffixC2EPKNS0_4NodeENS_10StringViewE($4, $5, $tmpcast$byval_copy); + STACKTOP = sp; + return $4 | 0; +} + +function __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initEPKwm($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $10 = 0, $13 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp; + if ($2 >>> 0 > 1073741807) __ZNKSt3__221__basic_string_commonILb1EE20__throw_length_errorEv($0); + do if ($2 >>> 0 >= 2) { + $10 = $2 + 4 & -4; + if ($10 >>> 0 > 1073741823) _abort(); else { + $13 = __Znwm($10 << 2) | 0; + HEAP32[$0 >> 2] = $13; + HEAP32[$0 + 8 >> 2] = $10 | -2147483648; + HEAP32[$0 + 4 >> 2] = $2; + $$0 = $13; + break; + } + } else { + HEAP8[$0 + 8 + 3 >> 0] = $2; + $$0 = $0; + } while (0); + __ZNSt3__211char_traitsIwE4copyEPwPKwm($$0, $1, $2) | 0; + HEAP32[$3 >> 2] = 0; + __ZNSt3__211char_traitsIwE6assignERwRKw($$0 + ($2 << 2) | 0, $3); + STACKTOP = sp; + return; +} + +function _getDebugMode($id) { + $id = $id | 0; + var $arhandle = 0, $enable = 0, $id$addr = 0, $retval$0 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $id$addr = sp; + $enable = sp + 4 | 0; + HEAP32[$id$addr >> 2] = $id; + if (!(__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0)) $retval$0 = 0; else { + $arhandle = (__ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0) + 216 | 0; + _arGetDebugMode(HEAP32[$arhandle >> 2] | 0, $enable) | 0; + $retval$0 = HEAP32[$enable >> 2] | 0; + } + STACKTOP = sp; + return $retval$0 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E15parsePrefixExprENS_10StringViewE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $2 = 0, $4 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $2 = sp; + $4 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9parseExprEv(__ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) | 0) | 0; + HEAP32[$2 >> 2] = $4; + if (!$4) $$0 = 0; else $$0 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_10PrefixExprEJRNS_10StringViewERPNS0_4NodeEEEESB_DpOT0_($0, $1, $2) | 0; + STACKTOP = sp; + return $$0 | 0; +} + +function __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initEmw($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $10 = 0, $13 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp; + if ($1 >>> 0 > 1073741807) __ZNKSt3__221__basic_string_commonILb1EE20__throw_length_errorEv($0); + do if ($1 >>> 0 >= 2) { + $10 = $1 + 4 & -4; + if ($10 >>> 0 > 1073741823) _abort(); else { + $13 = __Znwm($10 << 2) | 0; + HEAP32[$0 >> 2] = $13; + HEAP32[$0 + 8 >> 2] = $10 | -2147483648; + HEAP32[$0 + 4 >> 2] = $1; + $$0 = $13; + break; + } + } else { + HEAP8[$0 + 8 + 3 >> 0] = $1; + $$0 = $0; + } while (0); + __ZNSt3__211char_traitsIwE6assignEPwmw($$0, $1, $2) | 0; + HEAP32[$3 >> 2] = 0; + __ZNSt3__211char_traitsIwE6assignERwRKw($$0 + ($1 << 2) | 0, $3); + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8CallExprEJRPNS2_4NodeENS2_9NodeArrayEEEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $11 = 0, $12 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $tmpcast$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $tmpcast$byval_copy = sp + 8 | 0; + $3 = sp; + $4 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 20) | 0; + $5 = HEAP32[$1 >> 2] | 0; + $6 = $2; + $11 = HEAP32[$6 + 4 >> 2] | 0; + $12 = $3; + HEAP32[$12 >> 2] = HEAP32[$6 >> 2]; + HEAP32[$12 + 4 >> 2] = $11; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle8CallExprC2EPKNS0_4NodeENS0_9NodeArrayE($4, $5, $tmpcast$byval_copy); + STACKTOP = sp; + return $4 | 0; +} + +function ___strerror_l($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$012$lcssa = 0, $$01214 = 0, $$016 = 0, $$113 = 0, $$115 = 0, $$115$ph = 0, $6 = 0, label = 0, $$113$looptemp = 0; + $$016 = 0; + while (1) { + if ((HEAPU8[10528 + $$016 >> 0] | 0) == ($0 | 0)) { + label = 4; + break; + } + $6 = $$016 + 1 | 0; + if (($6 | 0) == 87) { + $$115$ph = 87; + label = 5; + break; + } else $$016 = $6; + } + if ((label | 0) == 4) if (!$$016) $$012$lcssa = 10624; else { + $$115$ph = $$016; + label = 5; + } + if ((label | 0) == 5) { + $$01214 = 10624; + $$115 = $$115$ph; + while (1) { + $$113 = $$01214; + do { + $$113$looptemp = $$113; + $$113 = $$113 + 1 | 0; + } while ((HEAP8[$$113$looptemp >> 0] | 0) != 0); + $$115 = $$115 + -1 | 0; + if (!$$115) { + $$012$lcssa = $$113; + break; + } else $$01214 = $$113; + } + } + return ___lctrans($$012$lcssa, HEAP32[$1 + 20 >> 2] | 0) | 0; +} + +function __ZN6vision14ExtractFREAK84EPhPKNS_25GaussianScaleSpacePyramidERKNS_12FeaturePointEPKfS8_S8_S8_S8_S8_ffffffff($0, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + $9 = +$9; + $10 = +$10; + $11 = +$11; + $12 = +$12; + $13 = +$13; + $14 = +$14; + $15 = +$15; + $16 = +$16; + var $$0 = 0, $17 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 160 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(160); + $17 = sp; + if (__ZN6vision20SamplePyramidFREAK84EPfPKNS_25GaussianScaleSpacePyramidERKNS_12FeaturePointEPKfS8_S8_S8_S8_S8_ffffffff($17, $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16) | 0) { + __ZN6vision14CompareFREAK84EPhPKf($0, $17); + $$0 = 1; + } else $$0 = 0; + STACKTOP = sp; + return $$0 | 0; +} + +function __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11do_get_timeES4_S4_RNS_8ios_baseERjP2tm($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 $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy1 = sp + 12 | 0; + $$byval_copy = sp + 8 | 0; + $6 = sp + 4 | 0; + $7 = sp; + HEAP32[$6 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$7 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + HEAP32[$$byval_copy1 >> 2] = HEAP32[$7 >> 2]; + $10 = __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE3getES4_S4_RNS_8ios_baseERjP2tmPKwSC_($0, $$byval_copy, $$byval_copy1, $3, $4, $5, 13152, 13184) | 0; + STACKTOP = sp; + return $10 | 0; +} + +function __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11do_get_timeES4_S4_RNS_8ios_baseERjP2tm($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 $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy1 = sp + 12 | 0; + $$byval_copy = sp + 8 | 0; + $6 = sp + 4 | 0; + $7 = sp; + HEAP32[$6 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$7 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + HEAP32[$$byval_copy1 >> 2] = HEAP32[$7 >> 2]; + $10 = __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE3getES4_S4_RNS_8ios_baseERjP2tmPKcSC_($0, $$byval_copy, $$byval_copy1, $3, $4, $5, 59714, 59722) | 0; + STACKTOP = sp; + return $10 | 0; +} + +function _byteswap($0) { + $0 = $0 | 0; + var $$0 = 0, $$020 = 0, $$1 = 0, $1 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 192 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(192); + $1 = sp; + _byteSwapInt($0, $1); + _byteSwapInt($0 + 4 | 0, $1 + 4 | 0); + $$0 = 0; + while (1) { + if (($$0 | 0) == 3) break; + $$020 = 0; + while (1) { + if (($$020 | 0) == 4) break; + _byteSwapDouble($0 + 8 + ($$0 << 5) + ($$020 << 3) | 0, $1 + 8 + ($$0 << 5) + ($$020 << 3) | 0); + $$020 = $$020 + 1 | 0; + } + $$0 = $$0 + 1 | 0; + } + $8 = $0 + 176 | 0; + $$1 = 0; + while (1) { + $9 = HEAP32[$8 >> 2] | 0; + if (($$1 | 0) >= (HEAP32[1712 + ($9 + -1 << 3) >> 2] | 0)) break; + _byteSwapDouble($0 + 104 + ($$1 << 3) | 0, $1 + 104 + ($$1 << 3) | 0); + $$1 = $$1 + 1 | 0; + } + HEAP32[$1 + 176 >> 2] = $9; + _memcpy($0 | 0, $1 | 0, 184) | 0; + STACKTOP = sp; + return; +} + +function __ZN6vision14FREAKExtractor7extractERNS_18BinaryFeatureStoreEPKNS_25GaussianScaleSpacePyramidERKNSt3__26vectorINS_12FeaturePointENS6_9allocatorIS8_EEEE($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + __ZN6vision18BinaryFeatureStore21setNumBytesPerFeatureEi($1, 96); + __ZN6vision18BinaryFeatureStore6resizeEm($1, ((HEAP32[$3 + 4 >> 2] | 0) - (HEAP32[$3 >> 2] | 0) | 0) / 20 | 0); + __ZN6vision14ExtractFREAK84ERNS_18BinaryFeatureStoreEPKNS_25GaussianScaleSpacePyramidERKNSt3__26vectorINS_12FeaturePointENS5_9allocatorIS7_EEEEPKfSE_SE_SE_SE_SE_ffffffff($1, $2, $3, $0, $0 + 48 | 0, $0 + 96 | 0, $0 + 144 | 0, $0 + 192 | 0, $0 + 240 | 0, +HEAPF32[$0 + 288 >> 2], +HEAPF32[$0 + 292 >> 2], +HEAPF32[$0 + 296 >> 2], +HEAPF32[$0 + 300 >> 2], +HEAPF32[$0 + 304 >> 2], +HEAPF32[$0 + 308 >> 2], +HEAPF32[$0 + 312 >> 2], +HEAPF32[$0 + 316 >> 2]); + return; +} + +function _post_process_1pass($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 $11 = 0, $13 = 0, $19 = 0, $7 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $7 = sp; + $9 = HEAP32[$0 + 456 >> 2] | 0; + $11 = $6 - (HEAP32[$5 >> 2] | 0) | 0; + $13 = HEAP32[$9 + 16 >> 2] | 0; + HEAP32[$7 >> 2] = 0; + $19 = $9 + 12 | 0; + FUNCTION_TABLE_viiiiiii[HEAP32[(HEAP32[$0 + 476 >> 2] | 0) + 4 >> 2] & 7]($0, $1, $2, $3, HEAP32[$19 >> 2] | 0, $7, $11 >>> 0 > $13 >>> 0 ? $13 : $11); + FUNCTION_TABLE_viiii[HEAP32[(HEAP32[$0 + 484 >> 2] | 0) + 4 >> 2] & 31]($0, HEAP32[$19 >> 2] | 0, $4 + (HEAP32[$5 >> 2] << 2) | 0, HEAP32[$7 >> 2] | 0); + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + (HEAP32[$7 >> 2] | 0); + STACKTOP = sp; + return; +} + +function __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE16do_get_monthnameES4_S4_RNS_8ios_baseERjP2tm($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 $$byval_copy = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 4 | 0; + $6 = sp; + __ZNKSt3__28ios_base6getlocEv($$byval_copy, $3); + $7 = __ZNKSt3__26locale9use_facetERNS0_2idE($$byval_copy, 66544) | 0; + __ZNSt3__26localeD2Ev($$byval_copy); + HEAP32[$6 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE15__get_monthnameERiRS4_S4_RjRKNS_5ctypeIwEE($0, $5 + 16 | 0, $1, $$byval_copy, $4, $7); + STACKTOP = sp; + return HEAP32[$1 >> 2] | 0; +} + +function __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE14do_get_weekdayES4_S4_RNS_8ios_baseERjP2tm($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 $$byval_copy = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 4 | 0; + $6 = sp; + __ZNKSt3__28ios_base6getlocEv($$byval_copy, $3); + $7 = __ZNKSt3__26locale9use_facetERNS0_2idE($$byval_copy, 66544) | 0; + __ZNSt3__26localeD2Ev($$byval_copy); + HEAP32[$6 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__get_weekdaynameERiRS4_S4_RjRKNS_5ctypeIwEE($0, $5 + 24 | 0, $1, $$byval_copy, $4, $7); + STACKTOP = sp; + return HEAP32[$1 >> 2] | 0; +} + +function __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE16do_get_monthnameES4_S4_RNS_8ios_baseERjP2tm($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 $$byval_copy = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 4 | 0; + $6 = sp; + __ZNKSt3__28ios_base6getlocEv($$byval_copy, $3); + $7 = __ZNKSt3__26locale9use_facetERNS0_2idE($$byval_copy, 66512) | 0; + __ZNSt3__26localeD2Ev($$byval_copy); + HEAP32[$6 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE15__get_monthnameERiRS4_S4_RjRKNS_5ctypeIcEE($0, $5 + 16 | 0, $1, $$byval_copy, $4, $7); + STACKTOP = sp; + return HEAP32[$1 >> 2] | 0; +} + +function __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE14do_get_weekdayES4_S4_RNS_8ios_baseERjP2tm($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 $$byval_copy = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 4 | 0; + $6 = sp; + __ZNKSt3__28ios_base6getlocEv($$byval_copy, $3); + $7 = __ZNKSt3__26locale9use_facetERNS0_2idE($$byval_copy, 66512) | 0; + __ZNSt3__26localeD2Ev($$byval_copy); + HEAP32[$6 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__get_weekdaynameERiRS4_S4_RjRKNS_5ctypeIcEE($0, $5 + 24 | 0, $1, $$byval_copy, $4, $7); + STACKTOP = sp; + return HEAP32[$1 >> 2] | 0; +} + +function __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRf($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 $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy1 = sp + 12 | 0; + $$byval_copy = sp + 8 | 0; + $6 = sp + 4 | 0; + $7 = sp; + HEAP32[$6 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$7 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + HEAP32[$$byval_copy1 >> 2] = HEAP32[$7 >> 2]; + $10 = __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE23__do_get_floating_pointIfEES4_S4_S4_RNS_8ios_baseERjRT_($0, $$byval_copy, $$byval_copy1, $3, $4, $5) | 0; + STACKTOP = sp; + return $10 | 0; +} + +function __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRe($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 $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy1 = sp + 12 | 0; + $$byval_copy = sp + 8 | 0; + $6 = sp + 4 | 0; + $7 = sp; + HEAP32[$6 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$7 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + HEAP32[$$byval_copy1 >> 2] = HEAP32[$7 >> 2]; + $10 = __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE23__do_get_floating_pointIeEES4_S4_S4_RNS_8ios_baseERjRT_($0, $$byval_copy, $$byval_copy1, $3, $4, $5) | 0; + STACKTOP = sp; + return $10 | 0; +} + +function __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRd($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 $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy1 = sp + 12 | 0; + $$byval_copy = sp + 8 | 0; + $6 = sp + 4 | 0; + $7 = sp; + HEAP32[$6 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$7 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + HEAP32[$$byval_copy1 >> 2] = HEAP32[$7 >> 2]; + $10 = __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE23__do_get_floating_pointIdEES4_S4_S4_RNS_8ios_baseERjRT_($0, $$byval_copy, $$byval_copy1, $3, $4, $5) | 0; + STACKTOP = sp; + return $10 | 0; +} + +function __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRf($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 $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy1 = sp + 12 | 0; + $$byval_copy = sp + 8 | 0; + $6 = sp + 4 | 0; + $7 = sp; + HEAP32[$6 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$7 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + HEAP32[$$byval_copy1 >> 2] = HEAP32[$7 >> 2]; + $10 = __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE23__do_get_floating_pointIfEES4_S4_S4_RNS_8ios_baseERjRT_($0, $$byval_copy, $$byval_copy1, $3, $4, $5) | 0; + STACKTOP = sp; + return $10 | 0; +} + +function __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRe($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 $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy1 = sp + 12 | 0; + $$byval_copy = sp + 8 | 0; + $6 = sp + 4 | 0; + $7 = sp; + HEAP32[$6 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$7 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + HEAP32[$$byval_copy1 >> 2] = HEAP32[$7 >> 2]; + $10 = __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE23__do_get_floating_pointIeEES4_S4_S4_RNS_8ios_baseERjRT_($0, $$byval_copy, $$byval_copy1, $3, $4, $5) | 0; + STACKTOP = sp; + return $10 | 0; +} + +function __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRd($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 $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy1 = sp + 12 | 0; + $$byval_copy = sp + 8 | 0; + $6 = sp + 4 | 0; + $7 = sp; + HEAP32[$6 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$7 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + HEAP32[$$byval_copy1 >> 2] = HEAP32[$7 >> 2]; + $10 = __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE23__do_get_floating_pointIdEES4_S4_S4_RNS_8ios_baseERjRT_($0, $$byval_copy, $$byval_copy1, $3, $4, $5) | 0; + STACKTOP = sp; + return $10 | 0; +} + +function _read_restart_marker($0) { + $0 = $0 | 0; + var $$0 = 0, $1 = 0, $12 = 0, $13 = 0, $2 = 0, $26 = 0, $6 = 0, $9 = 0; + $1 = $0 + 440 | 0; + $2 = HEAP32[$1 >> 2] | 0; + do if (!$2) if (!(_next_marker($0) | 0)) { + $$0 = 0; + return $$0 | 0; + } else { + $12 = HEAP32[$1 >> 2] | 0; + break; + } else $12 = $2; while (0); + $6 = $0 + 464 | 0; + $9 = HEAP32[(HEAP32[$6 >> 2] | 0) + 20 >> 2] | 0; + if (($12 | 0) != ($9 + 208 | 0)) { + if (!(FUNCTION_TABLE_iii[HEAP32[(HEAP32[$0 + 24 >> 2] | 0) + 20 >> 2] & 127]($0, $9) | 0)) { + $$0 = 0; + return $$0 | 0; + } + } else { + $13 = HEAP32[$0 >> 2] | 0; + HEAP32[$13 + 20 >> 2] = 100; + HEAP32[$13 + 24 >> 2] = $9; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$0 >> 2] | 0) + 4 >> 2] & 255]($0, 3); + HEAP32[$1 >> 2] = 0; + } + $26 = (HEAP32[$6 >> 2] | 0) + 20 | 0; + HEAP32[$26 >> 2] = (HEAP32[$26 >> 2] | 0) + 1 & 7; + $$0 = 1; + return $$0 | 0; +} + +function __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjS8_($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 $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy1 = sp + 12 | 0; + $$byval_copy = sp + 8 | 0; + $6 = sp + 4 | 0; + $7 = sp; + HEAP32[$6 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$7 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + HEAP32[$$byval_copy1 >> 2] = HEAP32[$7 >> 2]; + $10 = __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__do_get_unsignedIjEES4_S4_S4_RNS_8ios_baseERjRT_($0, $$byval_copy, $$byval_copy1, $3, $4, $5) | 0; + STACKTOP = sp; + return $10 | 0; +} + +function __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjS8_($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 $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy1 = sp + 12 | 0; + $$byval_copy = sp + 8 | 0; + $6 = sp + 4 | 0; + $7 = sp; + HEAP32[$6 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$7 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + HEAP32[$$byval_copy1 >> 2] = HEAP32[$7 >> 2]; + $10 = __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__do_get_unsignedIjEES4_S4_S4_RNS_8ios_baseERjRT_($0, $$byval_copy, $$byval_copy1, $3, $4, $5) | 0; + STACKTOP = sp; + return $10 | 0; +} + +function __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRy($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 $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy1 = sp + 12 | 0; + $$byval_copy = sp + 8 | 0; + $6 = sp + 4 | 0; + $7 = sp; + HEAP32[$6 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$7 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + HEAP32[$$byval_copy1 >> 2] = HEAP32[$7 >> 2]; + $10 = __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__do_get_unsignedIyEES4_S4_S4_RNS_8ios_baseERjRT_($0, $$byval_copy, $$byval_copy1, $3, $4, $5) | 0; + STACKTOP = sp; + return $10 | 0; +} + +function __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRt($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 $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy1 = sp + 12 | 0; + $$byval_copy = sp + 8 | 0; + $6 = sp + 4 | 0; + $7 = sp; + HEAP32[$6 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$7 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + HEAP32[$$byval_copy1 >> 2] = HEAP32[$7 >> 2]; + $10 = __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__do_get_unsignedItEES4_S4_S4_RNS_8ios_baseERjRT_($0, $$byval_copy, $$byval_copy1, $3, $4, $5) | 0; + STACKTOP = sp; + return $10 | 0; +} + +function __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRm($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 $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy1 = sp + 12 | 0; + $$byval_copy = sp + 8 | 0; + $6 = sp + 4 | 0; + $7 = sp; + HEAP32[$6 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$7 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + HEAP32[$$byval_copy1 >> 2] = HEAP32[$7 >> 2]; + $10 = __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE17__do_get_unsignedImEES4_S4_S4_RNS_8ios_baseERjRT_($0, $$byval_copy, $$byval_copy1, $3, $4, $5) | 0; + STACKTOP = sp; + return $10 | 0; +} + +function __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRy($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 $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy1 = sp + 12 | 0; + $$byval_copy = sp + 8 | 0; + $6 = sp + 4 | 0; + $7 = sp; + HEAP32[$6 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$7 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + HEAP32[$$byval_copy1 >> 2] = HEAP32[$7 >> 2]; + $10 = __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__do_get_unsignedIyEES4_S4_S4_RNS_8ios_baseERjRT_($0, $$byval_copy, $$byval_copy1, $3, $4, $5) | 0; + STACKTOP = sp; + return $10 | 0; +} + +function __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRt($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 $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy1 = sp + 12 | 0; + $$byval_copy = sp + 8 | 0; + $6 = sp + 4 | 0; + $7 = sp; + HEAP32[$6 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$7 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + HEAP32[$$byval_copy1 >> 2] = HEAP32[$7 >> 2]; + $10 = __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__do_get_unsignedItEES4_S4_S4_RNS_8ios_baseERjRT_($0, $$byval_copy, $$byval_copy1, $3, $4, $5) | 0; + STACKTOP = sp; + return $10 | 0; +} + +function __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRm($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 $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy1 = sp + 12 | 0; + $$byval_copy = sp + 8 | 0; + $6 = sp + 4 | 0; + $7 = sp; + HEAP32[$6 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$7 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + HEAP32[$$byval_copy1 >> 2] = HEAP32[$7 >> 2]; + $10 = __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE17__do_get_unsignedImEES4_S4_S4_RNS_8ios_baseERjRT_($0, $$byval_copy, $$byval_copy1, $3, $4, $5) | 0; + STACKTOP = sp; + return $10 | 0; +} + +function __ZNSt3__26vectorIN6vision25DoGScaleInvariantDetector12FeaturePointENS_9allocatorIS3_EEE7reserveEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $5 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp; + $5 = HEAP32[$0 >> 2] | 0; + if ((((HEAP32[$0 + 8 >> 2] | 0) - $5 | 0) / 36 | 0) >>> 0 < $1 >>> 0) { + __ZNSt3__214__split_bufferIN6vision25DoGScaleInvariantDetector12FeaturePointERNS_9allocatorIS3_EEEC2EmmS6_($2, $1, ((HEAP32[$0 + 4 >> 2] | 0) - $5 | 0) / 36 | 0, $0 + 8 | 0); + __ZNSt3__26vectorIN6vision25DoGScaleInvariantDetector12FeaturePointENS_9allocatorIS3_EEE26__swap_out_circular_bufferERNS_14__split_bufferIS3_RS5_EE($0, $2); + __ZNSt3__214__split_bufferIN6vision25DoGScaleInvariantDetector12FeaturePointERNS_9allocatorIS3_EEED2Ev($2); + } + STACKTOP = sp; + return; +} + +function __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11do_get_yearES4_S4_RNS_8ios_baseERjP2tm($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 $$byval_copy = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 4 | 0; + $6 = sp; + __ZNKSt3__28ios_base6getlocEv($$byval_copy, $3); + $7 = __ZNKSt3__26locale9use_facetERNS0_2idE($$byval_copy, 66544) | 0; + __ZNSt3__26localeD2Ev($$byval_copy); + HEAP32[$6 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE10__get_yearERiRS4_S4_RjRKNS_5ctypeIwEE($0, $5 + 20 | 0, $1, $$byval_copy, $4, $7); + STACKTOP = sp; + return HEAP32[$1 >> 2] | 0; +} + +function __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11do_get_yearES4_S4_RNS_8ios_baseERjP2tm($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 $$byval_copy = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 4 | 0; + $6 = sp; + __ZNKSt3__28ios_base6getlocEv($$byval_copy, $3); + $7 = __ZNKSt3__26locale9use_facetERNS0_2idE($$byval_copy, 66512) | 0; + __ZNSt3__26localeD2Ev($$byval_copy); + HEAP32[$6 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE10__get_yearERiRS4_S4_RjRKNS_5ctypeIcEE($0, $5 + 20 | 0, $1, $$byval_copy, $4, $7); + STACKTOP = sp; + return HEAP32[$1 >> 2] | 0; +} + +function __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRx($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 $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy1 = sp + 12 | 0; + $$byval_copy = sp + 8 | 0; + $6 = sp + 4 | 0; + $7 = sp; + HEAP32[$6 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$7 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + HEAP32[$$byval_copy1 >> 2] = HEAP32[$7 >> 2]; + $10 = __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE15__do_get_signedIxEES4_S4_S4_RNS_8ios_baseERjRT_($0, $$byval_copy, $$byval_copy1, $3, $4, $5) | 0; + STACKTOP = sp; + return $10 | 0; +} + +function __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRl($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 $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy1 = sp + 12 | 0; + $$byval_copy = sp + 8 | 0; + $6 = sp + 4 | 0; + $7 = sp; + HEAP32[$6 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$7 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + HEAP32[$$byval_copy1 >> 2] = HEAP32[$7 >> 2]; + $10 = __ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE15__do_get_signedIlEES4_S4_S4_RNS_8ios_baseERjRT_($0, $$byval_copy, $$byval_copy1, $3, $4, $5) | 0; + STACKTOP = sp; + return $10 | 0; +} + +function __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRx($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 $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy1 = sp + 12 | 0; + $$byval_copy = sp + 8 | 0; + $6 = sp + 4 | 0; + $7 = sp; + HEAP32[$6 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$7 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + HEAP32[$$byval_copy1 >> 2] = HEAP32[$7 >> 2]; + $10 = __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE15__do_get_signedIxEES4_S4_S4_RNS_8ios_baseERjRT_($0, $$byval_copy, $$byval_copy1, $3, $4, $5) | 0; + STACKTOP = sp; + return $10 | 0; +} + +function __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRl($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 $$byval_copy = 0, $$byval_copy1 = 0, $10 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy1 = sp + 12 | 0; + $$byval_copy = sp + 8 | 0; + $6 = sp + 4 | 0; + $7 = sp; + HEAP32[$6 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$7 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + HEAP32[$$byval_copy1 >> 2] = HEAP32[$7 >> 2]; + $10 = __ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE15__do_get_signedIlEES4_S4_S4_RNS_8ios_baseERjRT_($0, $$byval_copy, $$byval_copy1, $3, $4, $5) | 0; + STACKTOP = sp; + return $10 | 0; +} + +function _frexp($0, $1) { + $0 = +$0; + $1 = $1 | 0; + var $$0 = 0.0, $$016 = 0.0, $2 = 0, $3 = 0, $4 = 0, $9 = 0.0, $storemerge = 0; + HEAPF64[tempDoublePtr >> 3] = $0; + $2 = HEAP32[tempDoublePtr >> 2] | 0; + $3 = HEAP32[tempDoublePtr + 4 >> 2] | 0; + $4 = _bitshift64Lshr($2 | 0, $3 | 0, 52) | 0; + getTempRet0() | 0; + switch ($4 & 2047) { + case 0: + { + if ($0 != 0.0) { + $9 = +_frexp($0 * 18446744073709551616.0, $1); + $$016 = $9; + $storemerge = (HEAP32[$1 >> 2] | 0) + -64 | 0; + } else { + $$016 = $0; + $storemerge = 0; + } + HEAP32[$1 >> 2] = $storemerge; + $$0 = $$016; + break; + } + case 2047: + { + $$0 = $0; + break; + } + default: + { + HEAP32[$1 >> 2] = ($4 & 2047) + -1022; + HEAP32[tempDoublePtr >> 2] = $2; + HEAP32[tempDoublePtr + 4 >> 2] = $3 & -2146435073 | 1071644672; + $$0 = +HEAPF64[tempDoublePtr >> 3]; + } + } + return +$$0; +} + +function _jinit_arith_decoder($0) { + $0 = $0 | 0; + var $$036 = 0, $1 = 0, $14 = 0, $17 = 0, $4 = 0, $8 = 0, dest = 0, stop = 0; + $1 = $0 + 4 | 0; + $4 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 192) | 0; + HEAP32[$0 + 468 >> 2] = $4; + HEAP32[$4 >> 2] = 193; + HEAP32[$4 + 8 >> 2] = 194; + $8 = $4 + 188 | 0; + dest = $4 + 60 | 0; + stop = dest + 128 | 0; + do { + HEAP32[dest >> 2] = 0; + dest = dest + 4 | 0; + } while ((dest | 0) < (stop | 0)); + HEAP8[$8 >> 0] = 113; + if (!(HEAP32[$0 + 224 >> 2] | 0)) return; + $14 = $0 + 36 | 0; + $17 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, HEAP32[$14 >> 2] << 8) | 0; + HEAP32[$0 + 160 >> 2] = $17; + if ((HEAP32[$14 >> 2] | 0) <= 0) return; + $$036 = 0; + do { + _memset($17 + ($$036 << 8) | 0, -1, 256) | 0; + $$036 = $$036 + 1 | 0; + } while (($$036 | 0) < (HEAP32[$14 >> 2] | 0)); + return; +} + +function _scalbn($0, $1) { + $0 = +$0; + $1 = $1 | 0; + var $$0 = 0.0, $$020 = 0, $10 = 0.0, $12 = 0, $14 = 0, $17 = 0, $18 = 0, $3 = 0.0, $5 = 0, $7 = 0; + if (($1 | 0) <= 1023) if (($1 | 0) < -1022) { + $10 = $0 * 2.2250738585072014e-308; + $12 = ($1 | 0) < -2044; + $14 = $1 + 2044 | 0; + $$0 = $12 ? $10 * 2.2250738585072014e-308 : $10; + $$020 = $12 ? (($14 | 0) > -1022 ? $14 : -1022) : $1 + 1022 | 0; + } else { + $$0 = $0; + $$020 = $1; + } else { + $3 = $0 * 8988465674311579538646525.0e283; + $5 = ($1 | 0) > 2046; + $7 = $1 + -2046 | 0; + $$0 = $5 ? $3 * 8988465674311579538646525.0e283 : $3; + $$020 = $5 ? (($7 | 0) < 1023 ? $7 : 1023) : $1 + -1023 | 0; + } + $17 = _bitshift64Shl($$020 + 1023 | 0, 0, 52) | 0; + $18 = getTempRet0() | 0; + HEAP32[tempDoublePtr >> 2] = $17; + HEAP32[tempDoublePtr + 4 >> 2] = $18; + return +($$0 * +HEAPF64[tempDoublePtr >> 3]); +} + +function _ungetc($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$1 = 0, $$pr = 0, $15 = 0, $17 = 0, $19 = 0, $7 = 0, $8 = 0, label = 0; + do if (($0 | 0) != -1) { + if ((HEAP32[$1 + 76 >> 2] | 0) > -1) $17 = ___lockfile($1) | 0; else $17 = 0; + $7 = $1 + 4 | 0; + $8 = HEAP32[$7 >> 2] | 0; + if (!$8) { + ___toread($1) | 0; + $$pr = HEAP32[$7 >> 2] | 0; + if ($$pr | 0) { + $15 = $$pr; + label = 6; + } + } else { + $15 = $8; + label = 6; + } + if ((label | 0) == 6 ? $15 >>> 0 > ((HEAP32[$1 + 44 >> 2] | 0) + -8 | 0) >>> 0 : 0) { + $19 = $15 + -1 | 0; + HEAP32[$7 >> 2] = $19; + HEAP8[$19 >> 0] = $0; + HEAP32[$1 >> 2] = HEAP32[$1 >> 2] & -17; + if (!$17) { + $$1 = $0; + break; + } + ___unlockfile($1); + $$1 = $0; + break; + } + if ($17) { + ___unlockfile($1); + $$1 = -1; + } else $$1 = -1; + } else $$1 = -1; while (0); + return $$1 | 0; +} + +function __ZN6vision27AddHomographyPointContraintIfEEvPT_PKS1_S4_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $29 = 0, $5 = 0; + HEAPF32[$0 >> 2] = -+HEAPF32[$1 >> 2]; + $5 = $1 + 4 | 0; + HEAPF32[$0 + 4 >> 2] = -+HEAPF32[$5 >> 2]; + HEAPF32[$0 + 8 >> 2] = -1.0; + __ZN6vision11ZeroVector3IfEEvPT_($0 + 12 | 0); + HEAPF32[$0 + 24 >> 2] = +HEAPF32[$2 >> 2] * +HEAPF32[$1 >> 2]; + HEAPF32[$0 + 28 >> 2] = +HEAPF32[$2 >> 2] * +HEAPF32[$5 >> 2]; + HEAP32[$0 + 32 >> 2] = HEAP32[$2 >> 2]; + __ZN6vision11ZeroVector3IfEEvPT_($0 + 36 | 0); + HEAPF32[$0 + 48 >> 2] = -+HEAPF32[$1 >> 2]; + HEAPF32[$0 + 52 >> 2] = -+HEAPF32[$5 >> 2]; + HEAPF32[$0 + 56 >> 2] = -1.0; + $29 = $2 + 4 | 0; + HEAPF32[$0 + 60 >> 2] = +HEAPF32[$29 >> 2] * +HEAPF32[$1 >> 2]; + HEAPF32[$0 + 64 >> 2] = +HEAPF32[$29 >> 2] * +HEAPF32[$5 >> 2]; + HEAP32[$0 + 68 >> 2] = HEAP32[$29 >> 2]; + return; +} + +function _prescan_quantize($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$03032 = 0, $$03134 = 0, $$033 = 0, $27 = 0, $28 = 0, $29 = 0, $7 = 0, $9 = 0; + $7 = HEAP32[(HEAP32[$0 + 484 >> 2] | 0) + 24 >> 2] | 0; + $9 = HEAP32[$0 + 112 >> 2] | 0; + if (($3 | 0) < 1 | ($9 | 0) == 0) return; + $$03134 = 0; + do { + $$03032 = $9; + $$033 = HEAP32[$1 + ($$03134 << 2) >> 2] | 0; + while (1) { + $27 = (HEAP32[$7 + ((HEAPU8[$$033 >> 0] | 0) >>> 3 << 2) >> 2] | 0) + ((HEAPU8[$$033 + 1 >> 0] | 0) >>> 2 << 6) + ((HEAPU8[$$033 + 2 >> 0] | 0) >>> 3 << 1) | 0; + $28 = HEAP16[$27 >> 1] | 0; + $29 = $28 + 1 << 16 >> 16; + HEAP16[$27 >> 1] = $29 << 16 >> 16 == 0 ? $28 : $29; + $$03032 = $$03032 + -1 | 0; + if (!$$03032) break; else $$033 = $$033 + 3 | 0; + } + $$03134 = $$03134 + 1 | 0; + } while (($$03134 | 0) != ($3 | 0)); + return; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle12InitListExprEJDnNS2_9NodeArrayEEEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $10 = 0, $11 = 0, $3 = 0, $4 = 0, $5 = 0, $tmpcast$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $tmpcast$byval_copy = sp + 8 | 0; + $3 = sp; + $4 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 20) | 0; + $5 = $2; + $10 = HEAP32[$5 + 4 >> 2] | 0; + $11 = $3; + HEAP32[$11 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$11 + 4 >> 2] = $10; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle12InitListExprC2EPKNS0_4NodeENS0_9NodeArrayE($4, 0, $tmpcast$byval_copy); + STACKTOP = sp; + return $4 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle22ElaboratedTypeSpefType9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $10 = 0, $2 = 0, $4 = 0, $9 = 0, $tmpcast$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $tmpcast$byval_copy = sp + 8 | 0; + $2 = sp; + $4 = $0 + 8 | 0; + $9 = HEAP32[$4 + 4 >> 2] | 0; + $10 = $2; + HEAP32[$10 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$10 + 4 >> 2] = $9; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $tmpcast$byval_copy); + __ZN12_GLOBAL__N_112OutputStreampLEc($1, 32); + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 16 >> 2] | 0, $1); + STACKTOP = sp; + return; +} + +function __ZN10emscripten8internal7InvokerIiJiiiEE6invokeEPFiiiiEiii($fn, $args, $args1, $args3) { + $fn = $fn | 0; + $args = $args | 0; + $args1 = $args1 | 0; + $args3 = $args3 | 0; + var $call = 0, $call5 = 0, $call6 = 0, $call7 = 0, $call8 = 0, $ref$tmp = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $ref$tmp = sp; + $call = __ZN10emscripten8internal11BindingTypeIivE12fromWireTypeEi($args) | 0; + $call5 = __ZN10emscripten8internal11BindingTypeIivE12fromWireTypeEi($args1) | 0; + $call6 = __ZN10emscripten8internal11BindingTypeIivE12fromWireTypeEi($args3) | 0; + $call7 = FUNCTION_TABLE_iiii[$fn & 63]($call, $call5, $call6) | 0; + HEAP32[$ref$tmp >> 2] = $call7; + $call8 = __ZN10emscripten8internal11BindingTypeIivE10toWireTypeERKi($ref$tmp) | 0; + STACKTOP = sp; + return $call8 | 0; +} + +function __ZNSt3__26locale5__imp7installEPNS0_5facetEl($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$pre$phiZ2D = 0, $16 = 0, $17 = 0, $19 = 0, $20 = 0, $3 = 0, $6 = 0, $9 = 0; + $3 = $1 + 4 | 0; + HEAP32[$3 >> 2] = (HEAP32[$3 >> 2] | 0) + 1; + $6 = $0 + 8 | 0; + $9 = HEAP32[$6 >> 2] | 0; + if ((HEAP32[$0 + 12 >> 2] | 0) - $9 >> 2 >>> 0 > $2 >>> 0) { + $$pre$phiZ2D = $6; + $16 = $9; + } else { + __ZNSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE6resizeEm($6, $2 + 1 | 0); + $$pre$phiZ2D = $6; + $16 = HEAP32[$6 >> 2] | 0; + } + $17 = HEAP32[$16 + ($2 << 2) >> 2] | 0; + if ($17 | 0 ? ($19 = $17 + 4 | 0, $20 = HEAP32[$19 >> 2] | 0, HEAP32[$19 >> 2] = $20 + -1, ($20 | 0) == 0) : 0) FUNCTION_TABLE_vi[HEAP32[(HEAP32[$17 >> 2] | 0) + 8 >> 2] & 255]($17); + HEAP32[(HEAP32[$$pre$phiZ2D >> 2] | 0) + ($2 << 2) >> 2] = $1; + return; +} + +function __ZN10emscripten8internal7InvokerIiJNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEE6invokeEPFiS8_EPNS0_11BindingTypeIS8_vEUt_E($fn, $args) { + $fn = $fn | 0; + $args = $args | 0; + var $agg$tmp = 0, $call = 0, $call1 = 0, $ref$tmp = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $ref$tmp = sp + 12 | 0; + $agg$tmp = sp; + __ZN10emscripten8internal11BindingTypeINSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEvE12fromWireTypeEPNS9_Ut_E($agg$tmp, $args); + $call = FUNCTION_TABLE_ii[$fn & 127]($agg$tmp) | 0; + HEAP32[$ref$tmp >> 2] = $call; + $call1 = __ZN10emscripten8internal11BindingTypeIivE10toWireTypeERKi($ref$tmp) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($agg$tmp); + STACKTOP = sp; + return $call1 | 0; +} + +function __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE10__get_yearERiRS4_S4_RjRKNS_5ctypeIwEE($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, $$byval_copy = 0, $6 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 4 | 0; + $6 = sp; + HEAP32[$6 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + $8 = __ZNSt3__220__get_up_to_n_digitsIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEiRT0_S5_RjRKNS_5ctypeIT_EEi($2, $$byval_copy, $4, $5, 4) | 0; + if (!(HEAP32[$4 >> 2] & 4)) { + if (($8 | 0) < 69) $$0 = $8 + 2e3 | 0; else $$0 = ($8 | 0) < 100 ? $8 + 1900 | 0 : $8; + HEAP32[$1 >> 2] = $$0 + -1900; + } + STACKTOP = sp; + return; +} + +function __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE10__get_yearERiRS4_S4_RjRKNS_5ctypeIcEE($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, $$byval_copy = 0, $6 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 4 | 0; + $6 = sp; + HEAP32[$6 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + $8 = __ZNSt3__220__get_up_to_n_digitsIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEiRT0_S5_RjRKNS_5ctypeIT_EEi($2, $$byval_copy, $4, $5, 4) | 0; + if (!(HEAP32[$4 >> 2] & 4)) { + if (($8 | 0) < 69) $$0 = $8 + 2e3 | 0; else $$0 = ($8 | 0) < 100 ? $8 + 1900 | 0 : $8; + HEAP32[$1 >> 2] = $$0 + -1900; + } + STACKTOP = sp; + return; +} + +function _getMarkerNum($id) { + $id = $id | 0; + var $arhandle = 0, $id$addr = 0, $retval$0$in = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $id$addr = sp; + HEAP32[$id$addr >> 2] = $id; + if (!(__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0)) $retval$0$in = 16896; else { + $arhandle = (__ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0) + 216 | 0; + $retval$0$in = (HEAP32[$arhandle >> 2] | 0) + 44 | 0; + } + STACKTOP = sp; + return HEAP32[$retval$0$in >> 2] | 0; +} + +function ___ftello_unlocked($0) { + $0 = $0 | 0; + var $11 = 0, $12 = 0, $13 = 0, $19 = 0, $22 = 0, $23 = 0, $28 = 0, $31 = 0, $33 = 0, $34 = 0; + if (!(HEAP32[$0 >> 2] & 128)) $11 = 1; else $11 = (HEAP32[$0 + 20 >> 2] | 0) >>> 0 > (HEAP32[$0 + 28 >> 2] | 0) >>> 0 ? 2 : 1; + $12 = FUNCTION_TABLE_iiiii[HEAP32[$0 + 40 >> 2] & 15]($0, 0, 0, $11) | 0; + $13 = getTempRet0() | 0; + if (($13 | 0) < 0) { + $33 = $13; + $34 = $12; + } else { + $19 = (HEAP32[$0 + 8 >> 2] | 0) - (HEAP32[$0 + 4 >> 2] | 0) | 0; + $22 = _i64Subtract($12 | 0, $13 | 0, $19 | 0, (($19 | 0) < 0) << 31 >> 31 | 0) | 0; + $23 = getTempRet0() | 0; + $28 = (HEAP32[$0 + 20 >> 2] | 0) - (HEAP32[$0 + 28 >> 2] | 0) | 0; + $31 = _i64Add($22 | 0, $23 | 0, $28 | 0, (($28 | 0) < 0) << 31 >> 31 | 0) | 0; + $33 = getTempRet0() | 0; + $34 = $31; + } + setTempRet0($33 | 0); + return $34 | 0; +} + +function _setProjectionNearPlane($id, $projectionNearPlane) { + $id = $id | 0; + $projectionNearPlane = +$projectionNearPlane; + var $id$addr = 0, $nearPlane = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $id$addr = sp; + HEAP32[$id$addr >> 2] = $id; + if (__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0) { + $nearPlane = (__ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0) + 312 | 0; + HEAPF64[$nearPlane >> 3] = $projectionNearPlane; + } + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle21StructuredBindingNameEJNS2_9NodeArrayEEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $9 = 0, $tmpcast$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $tmpcast$byval_copy = sp + 8 | 0; + $2 = sp; + $3 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 16) | 0; + $4 = $1; + $9 = HEAP32[$4 + 4 >> 2] | 0; + $10 = $2; + HEAP32[$10 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$10 + 4 >> 2] = $9; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle21StructuredBindingNameC2ENS0_9NodeArrayE($3, $tmpcast$byval_copy); + STACKTOP = sp; + return $3 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle20TemplateArgumentPackEJRNS2_9NodeArrayEEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $9 = 0, $tmpcast$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $tmpcast$byval_copy = sp + 8 | 0; + $2 = sp; + $3 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 16) | 0; + $4 = $1; + $9 = HEAP32[$4 + 4 >> 2] | 0; + $10 = $2; + HEAP32[$10 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$10 + 4 >> 2] = $9; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle20TemplateArgumentPackC2ENS0_9NodeArrayE($3, $tmpcast$byval_copy); + STACKTOP = sp; + return $3 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle16FloatLiteralImplIfEEJRNS_10StringViewEEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $9 = 0, $tmpcast$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $tmpcast$byval_copy = sp + 8 | 0; + $2 = sp; + $3 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 16) | 0; + $4 = $1; + $9 = HEAP32[$4 + 4 >> 2] | 0; + $10 = $2; + HEAP32[$10 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$10 + 4 >> 2] = $9; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle16FloatLiteralImplIfEC2ENS_10StringViewE($3, $tmpcast$byval_copy); + STACKTOP = sp; + return $3 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle16FloatLiteralImplIeEEJRNS_10StringViewEEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $9 = 0, $tmpcast$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $tmpcast$byval_copy = sp + 8 | 0; + $2 = sp; + $3 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 16) | 0; + $4 = $1; + $9 = HEAP32[$4 + 4 >> 2] | 0; + $10 = $2; + HEAP32[$10 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$10 + 4 >> 2] = $9; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle16FloatLiteralImplIeEC2ENS_10StringViewE($3, $tmpcast$byval_copy); + STACKTOP = sp; + return $3 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle16FloatLiteralImplIdEEJRNS_10StringViewEEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $9 = 0, $tmpcast$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $tmpcast$byval_copy = sp + 8 | 0; + $2 = sp; + $3 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 16) | 0; + $4 = $1; + $9 = HEAP32[$4 + 4 >> 2] | 0; + $10 = $2; + HEAP32[$10 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$10 + 4 >> 2] = $9; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle16FloatLiteralImplIdEC2ENS_10StringViewE($3, $tmpcast$byval_copy); + STACKTOP = sp; + return $3 | 0; +} + +function _getProcessingImage($id) { + $id = $id | 0; + var $arhandle = 0, $id$addr = 0, $retval$0 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $id$addr = sp; + HEAP32[$id$addr >> 2] = $id; + if (!(__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0)) $retval$0 = 0; else { + $arhandle = (__ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0) + 216 | 0; + $retval$0 = HEAP32[(HEAP32[$arhandle >> 2] | 0) + 4834148 >> 2] | 0; + } + STACKTOP = sp; + return $retval$0 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle20DynamicExceptionSpecEJNS2_9NodeArrayEEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $9 = 0, $tmpcast$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $tmpcast$byval_copy = sp + 8 | 0; + $2 = sp; + $3 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 16) | 0; + $4 = $1; + $9 = HEAP32[$4 + 4 >> 2] | 0; + $10 = $2; + HEAP32[$10 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$10 + 4 >> 2] = $9; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle20DynamicExceptionSpecC2ENS0_9NodeArrayE($3, $tmpcast$byval_copy); + STACKTOP = sp; + return $3 | 0; +} + +function _getMultiMarkerCount($id) { + $id = $id | 0; + var $call7 = 0, $id$addr = 0, $retval$0 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $id$addr = sp; + HEAP32[$id$addr >> 2] = $id; + if (!(__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0)) $retval$0 = -1; else { + $call7 = __ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0; + $retval$0 = (HEAP32[$call7 + 332 >> 2] | 0) - (HEAP32[$call7 + 328 >> 2] | 0) >> 3; + } + STACKTOP = sp; + return $retval$0 | 0; +} +function __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($0) { + $0 = $0 | 0; + var $1 = 0, $16 = 0, $25 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + if (HEAP32[$0 + (HEAP32[(HEAP32[$0 >> 2] | 0) + -12 >> 2] | 0) + 24 >> 2] | 0) { + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE6sentryC2ERS3_($1, $0); + if (HEAP8[$1 >> 0] | 0 ? ($16 = HEAP32[$0 + (HEAP32[(HEAP32[$0 >> 2] | 0) + -12 >> 2] | 0) + 24 >> 2] | 0, (FUNCTION_TABLE_ii[HEAP32[(HEAP32[$16 >> 2] | 0) + 24 >> 2] & 127]($16) | 0) == -1) : 0) { + $25 = $0 + (HEAP32[(HEAP32[$0 >> 2] | 0) + -12 >> 2] | 0) | 0; + __ZNSt3__28ios_base5clearEj($25, HEAP32[$25 + 16 >> 2] | 1); + } + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE6sentryD2Ev($1); + } + STACKTOP = sp; + return $0 | 0; +} + +function __ZN10emscripten8functionIiJiNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEEJEEEvPKcPFT_DpT0_EDpT1_($name, $fn) { + $name = $name | 0; + $fn = $fn | 0; + var $args = 0, $call = 0, $call1 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $args = sp; + $call = __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJiiNSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEEEE8getCountEv($args) | 0; + $call1 = __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJiiNSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEEEE8getTypesEv($args) | 0; + __embind_register_function($name | 0, $call | 0, $call1 | 0, __ZN10emscripten8internal19getGenericSignatureIJiiiiEEEPKcv() | 0, 31, $fn | 0); + STACKTOP = sp; + return; +} + +function _setProjectionFarPlane($id, $projectionFarPlane) { + $id = $id | 0; + $projectionFarPlane = +$projectionFarPlane; + var $farPlane = 0, $id$addr = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $id$addr = sp; + HEAP32[$id$addr >> 2] = $id; + if (__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0) { + $farPlane = (__ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0) + 320 | 0; + HEAPF64[$farPlane >> 3] = $projectionFarPlane; + } + STACKTOP = sp; + return; +} + +function __ZN10emscripten8functionIiJNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEEJEEEvPKcPFT_DpT0_EDpT1_($name, $fn) { + $name = $name | 0; + $fn = $fn | 0; + var $args = 0, $call = 0, $call1 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $args = sp; + $call = __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJiNSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEEEE8getCountEv($args) | 0; + $call1 = __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJiNSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEEEE8getTypesEv($args) | 0; + __embind_register_function($name | 0, $call | 0, $call1 | 0, __ZN10emscripten8internal19getGenericSignatureIJiiiEEEPKcv() | 0, 55, $fn | 0); + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle15UnnamedTypeNameEJRNS_10StringViewEEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $9 = 0, $tmpcast$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $tmpcast$byval_copy = sp + 8 | 0; + $2 = sp; + $3 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 16) | 0; + $4 = $1; + $9 = HEAP32[$4 + 4 >> 2] | 0; + $10 = $2; + HEAP32[$10 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$10 + 4 >> 2] = $9; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle15UnnamedTypeNameC2ENS_10StringViewE($3, $tmpcast$byval_copy); + STACKTOP = sp; + return $3 | 0; +} + +function _strtox($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $10 = 0, $18 = 0, $21 = 0, $22 = 0, $3 = 0, $4 = 0, $5 = 0, $8 = 0.0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(144); + $3 = sp; + _memset($3 | 0, 0, 144) | 0; + $4 = $3 + 4 | 0; + HEAP32[$4 >> 2] = $0; + $5 = $3 + 8 | 0; + HEAP32[$5 >> 2] = -1; + HEAP32[$3 + 44 >> 2] = $0; + HEAP32[$3 + 76 >> 2] = -1; + ___shlim($3, 0, 0); + $8 = +___floatscan($3, $2, 1); + $10 = $3 + 120 | 0; + $18 = (HEAP32[$4 >> 2] | 0) - (HEAP32[$5 >> 2] | 0) | 0; + $21 = _i64Add(HEAP32[$10 >> 2] | 0, HEAP32[$10 + 4 >> 2] | 0, $18 | 0, (($18 | 0) < 0) << 31 >> 31 | 0) | 0; + $22 = getTempRet0() | 0; + if ($1 | 0) HEAP32[$1 >> 2] = ($21 | 0) == 0 & ($22 | 0) == 0 ? $0 : $0 + $21 | 0; + STACKTOP = sp; + return +$8; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle13FunctionParamEJRNS_10StringViewEEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $9 = 0, $tmpcast$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $tmpcast$byval_copy = sp + 8 | 0; + $2 = sp; + $3 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 16) | 0; + $4 = $1; + $9 = HEAP32[$4 + 4 >> 2] | 0; + $10 = $2; + HEAP32[$10 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$10 + 4 >> 2] = $9; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle13FunctionParamC2ENS_10StringViewE($3, $tmpcast$byval_copy); + STACKTOP = sp; + return $3 | 0; +} + +function __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE13__get_12_hourERiRS4_S4_RjRKNS_5ctypeIwEE($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 $$byval_copy = 0, $6 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 4 | 0; + $6 = sp; + HEAP32[$6 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + $8 = __ZNSt3__220__get_up_to_n_digitsIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEiRT0_S5_RjRKNS_5ctypeIT_EEi($2, $$byval_copy, $4, $5, 2) | 0; + $9 = HEAP32[$4 >> 2] | 0; + if (($8 + -1 | 0) >>> 0 < 12 & ($9 & 4 | 0) == 0) HEAP32[$1 >> 2] = $8; else HEAP32[$4 >> 2] = $9 | 4; + STACKTOP = sp; + return; +} + +function __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE13__get_12_hourERiRS4_S4_RjRKNS_5ctypeIcEE($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 $$byval_copy = 0, $6 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 4 | 0; + $6 = sp; + HEAP32[$6 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + $8 = __ZNSt3__220__get_up_to_n_digitsIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEiRT0_S5_RjRKNS_5ctypeIT_EEi($2, $$byval_copy, $4, $5, 2) | 0; + $9 = HEAP32[$4 >> 2] | 0; + if (($8 + -1 | 0) >>> 0 < 12 & ($9 & 4 | 0) == 0) HEAP32[$1 >> 2] = $8; else HEAP32[$4 >> 2] = $9 | 4; + STACKTOP = sp; + return; +} + +function __ZNSt3__26vectorINS0_INS0_INS_4pairIfmEENS_9allocatorIS2_EEEENS3_IS5_EEEENS3_IS7_EEE6resizeEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0$i$i = 0, $12 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $6 = 0, $8 = 0, $9 = 0; + $2 = $0 + 4 | 0; + $3 = HEAP32[$2 >> 2] | 0; + $4 = HEAP32[$0 >> 2] | 0; + $6 = ($3 - $4 | 0) / 12 | 0; + $8 = $4; + $9 = $3; + if ($6 >>> 0 >= $1 >>> 0) { + if ($6 >>> 0 > $1 >>> 0) { + $12 = $8 + ($1 * 12 | 0) | 0; + $$0$i$i = $9; + while (1) { + if (($$0$i$i | 0) == ($12 | 0)) break; + $14 = $$0$i$i + -12 | 0; + __ZNSt3__213__vector_baseINS_6vectorINS_4pairIfmEENS_9allocatorIS3_EEEENS4_IS6_EEED2Ev($14); + $$0$i$i = $14; + } + HEAP32[$2 >> 2] = $12; + } + } else __ZNSt3__26vectorINS0_INS0_INS_4pairIfmEENS_9allocatorIS2_EEEENS3_IS5_EEEENS3_IS7_EEE8__appendEm($0, $1 - $6 | 0); + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle20PostfixQualifiedType9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $14 = 0, $15 = 0, $2 = 0, $4 = 0, $9 = 0, $tmpcast$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $tmpcast$byval_copy = sp + 8 | 0; + $2 = sp; + $4 = HEAP32[$0 + 8 >> 2] | 0; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$4 >> 2] | 0) + 16 >> 2] & 255]($4, $1); + $9 = $0 + 12 | 0; + $14 = HEAP32[$9 + 4 >> 2] | 0; + $15 = $2; + HEAP32[$15 >> 2] = HEAP32[$9 >> 2]; + HEAP32[$15 + 4 >> 2] = $14; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $tmpcast$byval_copy); + STACKTOP = sp; + return; +} + +function __ZNSt3__212__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEELb1EEENS_21__unordered_map_equalIjS2_NS_8equal_toIjEELb1EEENS_9allocatorIS2_EEE5clearEv($0) { + $0 = $0 | 0; + var $$0 = 0, $1 = 0, $4 = 0, $7 = 0; + $1 = $0 + 12 | 0; + if (HEAP32[$1 >> 2] | 0) { + $4 = $0 + 8 | 0; + __ZNSt3__212__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEELb1EEENS_21__unordered_map_equalIjS2_NS_8equal_toIjEELb1EEENS_9allocatorIS2_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS2_PvEEEE($0, HEAP32[$4 >> 2] | 0); + HEAP32[$4 >> 2] = 0; + $7 = HEAP32[$0 + 4 >> 2] | 0; + $$0 = 0; + while (1) { + if (($$0 | 0) == ($7 | 0)) break; + HEAP32[(HEAP32[$0 >> 2] | 0) + ($$0 << 2) >> 2] = 0; + $$0 = $$0 + 1 | 0; + } + HEAP32[$1 >> 2] = 0; + } + return; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle13ParameterPackEJNS2_9NodeArrayEEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $9 = 0, $tmpcast$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $tmpcast$byval_copy = sp + 8 | 0; + $2 = sp; + $3 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 16) | 0; + $4 = $1; + $9 = HEAP32[$4 + 4 >> 2] | 0; + $10 = $2; + HEAP32[$10 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$10 + 4 >> 2] = $9; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle13ParameterPackC2ENS0_9NodeArrayE($3, $tmpcast$byval_copy); + STACKTOP = sp; + return $3 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle13NodeArrayNodeEJNS2_9NodeArrayEEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $9 = 0, $tmpcast$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $tmpcast$byval_copy = sp + 8 | 0; + $2 = sp; + $3 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 16) | 0; + $4 = $1; + $9 = HEAP32[$4 + 4 >> 2] | 0; + $10 = $2; + HEAP32[$10 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$10 + 4 >> 2] = $9; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle13NodeArrayNodeC2ENS0_9NodeArrayE($3, $tmpcast$byval_copy); + STACKTOP = sp; + return $3 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle10MemberExprEJRPNS2_4NodeERA3_KcS6_EEEPT_DpOT0_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$byval_copy = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $4 = sp; + $5 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 24) | 0; + $6 = HEAP32[$1 >> 2] | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, $2); + $7 = HEAP32[$3 >> 2] | 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle10MemberExprC2EPKNS0_4NodeENS_10StringViewES4_($5, $6, $$byval_copy, $7); + STACKTOP = sp; + return $5 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle10MemberExprEJRPNS2_4NodeERA2_KcS6_EEEPT_DpOT0_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$byval_copy = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $4 = sp; + $5 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 24) | 0; + $6 = HEAP32[$1 >> 2] | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, $2); + $7 = HEAP32[$3 >> 2] | 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle10MemberExprC2EPKNS0_4NodeENS_10StringViewES4_($5, $6, $$byval_copy, $7); + STACKTOP = sp; + return $5 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle12TemplateArgsEJNS2_9NodeArrayEEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $9 = 0, $tmpcast$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $tmpcast$byval_copy = sp + 8 | 0; + $2 = sp; + $3 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 16) | 0; + $4 = $1; + $9 = HEAP32[$4 + 4 >> 2] | 0; + $10 = $2; + HEAP32[$10 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$10 + 4 >> 2] = $9; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle12TemplateArgsC2ENS0_9NodeArrayE($3, $tmpcast$byval_copy); + STACKTOP = sp; + return $3 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle12EnableIfAttrEJNS2_9NodeArrayEEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $9 = 0, $tmpcast$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $tmpcast$byval_copy = sp + 8 | 0; + $2 = sp; + $3 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 16) | 0; + $4 = $1; + $9 = HEAP32[$4 + 4 >> 2] | 0; + $10 = $2; + HEAP32[$10 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$10 + 4 >> 2] = $9; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle12EnableIfAttrC2ENS0_9NodeArrayE($3, $tmpcast$byval_copy); + STACKTOP = sp; + return $3 | 0; +} + +function __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE9__get_dayERiRS4_S4_RjRKNS_5ctypeIwEE($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 $$byval_copy = 0, $6 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 4 | 0; + $6 = sp; + HEAP32[$6 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + $8 = __ZNSt3__220__get_up_to_n_digitsIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEiRT0_S5_RjRKNS_5ctypeIT_EEi($2, $$byval_copy, $4, $5, 2) | 0; + $9 = HEAP32[$4 >> 2] | 0; + if (($8 + -1 | 0) >>> 0 < 31 & ($9 & 4 | 0) == 0) HEAP32[$1 >> 2] = $8; else HEAP32[$4 >> 2] = $9 | 4; + STACKTOP = sp; + return; +} + +function __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE18__get_day_year_numERiRS4_S4_RjRKNS_5ctypeIwEE($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 $$byval_copy = 0, $6 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 4 | 0; + $6 = sp; + HEAP32[$6 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + $8 = __ZNSt3__220__get_up_to_n_digitsIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEiRT0_S5_RjRKNS_5ctypeIT_EEi($2, $$byval_copy, $4, $5, 3) | 0; + $9 = HEAP32[$4 >> 2] | 0; + if (($8 | 0) < 366 & ($9 & 4 | 0) == 0) HEAP32[$1 >> 2] = $8; else HEAP32[$4 >> 2] = $9 | 4; + STACKTOP = sp; + return; +} + +function __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE9__get_dayERiRS4_S4_RjRKNS_5ctypeIcEE($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 $$byval_copy = 0, $6 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 4 | 0; + $6 = sp; + HEAP32[$6 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + $8 = __ZNSt3__220__get_up_to_n_digitsIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEiRT0_S5_RjRKNS_5ctypeIT_EEi($2, $$byval_copy, $4, $5, 2) | 0; + $9 = HEAP32[$4 >> 2] | 0; + if (($8 + -1 | 0) >>> 0 < 31 & ($9 & 4 | 0) == 0) HEAP32[$1 >> 2] = $8; else HEAP32[$4 >> 2] = $9 | 4; + STACKTOP = sp; + return; +} + +function __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE18__get_day_year_numERiRS4_S4_RjRKNS_5ctypeIcEE($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 $$byval_copy = 0, $6 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 4 | 0; + $6 = sp; + HEAP32[$6 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + $8 = __ZNSt3__220__get_up_to_n_digitsIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEiRT0_S5_RjRKNS_5ctypeIT_EEi($2, $$byval_copy, $4, $5, 3) | 0; + $9 = HEAP32[$4 >> 2] | 0; + if (($8 | 0) < 366 & ($9 & 4 | 0) == 0) HEAP32[$1 >> 2] = $8; else HEAP32[$4 >> 2] = $9 | 4; + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8CastExprEJRA17_KcRPNS2_4NodeES9_EEEPT_DpOT0_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$byval_copy = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $4 = sp; + $5 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 24) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, $1); + $6 = HEAP32[$2 >> 2] | 0; + $7 = HEAP32[$3 >> 2] | 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle8CastExprC2ENS_10StringViewEPKNS0_4NodeES5_($5, $$byval_copy, $6, $7); + STACKTOP = sp; + return $5 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8CastExprEJRA13_KcRPNS2_4NodeES9_EEEPT_DpOT0_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$byval_copy = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $4 = sp; + $5 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 24) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, $1); + $6 = HEAP32[$2 >> 2] | 0; + $7 = HEAP32[$3 >> 2] | 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle8CastExprC2ENS_10StringViewEPKNS0_4NodeES5_($5, $$byval_copy, $6, $7); + STACKTOP = sp; + return $5 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8CastExprEJRA12_KcRPNS2_4NodeES9_EEEPT_DpOT0_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$byval_copy = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $4 = sp; + $5 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 24) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, $1); + $6 = HEAP32[$2 >> 2] | 0; + $7 = HEAP32[$3 >> 2] | 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle8CastExprC2ENS_10StringViewEPKNS0_4NodeES5_($5, $$byval_copy, $6, $7); + STACKTOP = sp; + return $5 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8CastExprEJRA11_KcRPNS2_4NodeES9_EEEPT_DpOT0_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$byval_copy = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $4 = sp; + $5 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 24) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($4, $1); + $6 = HEAP32[$2 >> 2] | 0; + $7 = HEAP32[$3 >> 2] | 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$4 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$4 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle8CastExprC2ENS_10StringViewEPKNS0_4NodeES5_($5, $$byval_copy, $6, $7); + STACKTOP = sp; + return $5 | 0; +} + +function __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11__get_monthERiRS4_S4_RjRKNS_5ctypeIwEE($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 $$byval_copy = 0, $6 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 4 | 0; + $6 = sp; + HEAP32[$6 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + $8 = __ZNSt3__220__get_up_to_n_digitsIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEiRT0_S5_RjRKNS_5ctypeIT_EEi($2, $$byval_copy, $4, $5, 2) | 0; + $9 = HEAP32[$4 >> 2] | 0; + if (($8 | 0) < 13 & ($9 & 4 | 0) == 0) HEAP32[$1 >> 2] = $8 + -1; else HEAP32[$4 >> 2] = $9 | 4; + STACKTOP = sp; + return; +} + +function __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11__get_monthERiRS4_S4_RjRKNS_5ctypeIcEE($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 $$byval_copy = 0, $6 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 4 | 0; + $6 = sp; + HEAP32[$6 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + $8 = __ZNSt3__220__get_up_to_n_digitsIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEiRT0_S5_RjRKNS_5ctypeIT_EEi($2, $$byval_copy, $4, $5, 2) | 0; + $9 = HEAP32[$4 >> 2] | 0; + if (($8 | 0) < 13 & ($9 & 4 | 0) == 0) HEAP32[$1 >> 2] = $8 + -1; else HEAP32[$4 >> 2] = $9 | 4; + STACKTOP = sp; + return; +} + +function __ZNSt3__212__hash_tableINS_17__hash_value_typeIiNS_6vectorIN6vision7Point3dIfEENS_9allocatorIS5_EEEEEENS_22__unordered_map_hasherIiS9_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS9_NS_8equal_toIiEELb1EEENS6_IS9_EEE21__construct_node_hashIRKNS_21piecewise_construct_tEJNS_5tupleIJRKiEEENSO_IJEEEEEENS_10unique_ptrINS_11__hash_nodeIS9_PvEENS_22__hash_node_destructorINS6_ISW_EEEEEEmOT_DpOT0_($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 $7 = 0; + $7 = __Znwm(24) | 0; + HEAP32[$0 >> 2] = $7; + HEAP32[$0 + 4 >> 2] = $1 + 8; + HEAP32[$7 + 8 >> 2] = HEAP32[HEAP32[$4 >> 2] >> 2]; + HEAP32[$7 + 12 >> 2] = 0; + HEAP32[$7 + 16 >> 2] = 0; + HEAP32[$7 + 20 >> 2] = 0; + HEAP8[$0 + 8 >> 0] = 1; + HEAP32[$7 + 4 >> 2] = $2; + HEAP32[$7 >> 2] = 0; + return; +} + +function __ZN6vision19downsample_bilinearEPfPKfmm($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0, $$030 = 0, $$031 = 0, $$032 = 0, $$033 = 0, $$1 = 0, $4 = 0, $5 = 0, $6 = 0, $8 = 0; + $4 = $2 >>> 1; + $5 = $3 >>> 1; + $6 = $2 << 1; + $$030 = 0; + $$033 = $0; + while (1) { + if (($$030 | 0) == ($5 | 0)) break; + $8 = $1 + ((Math_imul($6, $$030) | 0) << 2) | 0; + $$0 = 0; + $$031 = $8 + ($2 << 2) | 0; + $$032 = $8; + $$1 = $$033; + while (1) { + if (($$0 | 0) == ($4 | 0)) break; + HEAPF32[$$1 >> 2] = (+HEAPF32[$$032 >> 2] + +HEAPF32[$$032 + 4 >> 2] + +HEAPF32[$$031 >> 2] + +HEAPF32[$$031 + 4 >> 2]) * .25; + $$0 = $$0 + 1 | 0; + $$031 = $$031 + 8 | 0; + $$032 = $$032 + 8 | 0; + $$1 = $$1 + 4 | 0; + } + $$030 = $$030 + 1 | 0; + $$033 = $$033 + ($4 << 2) | 0; + } + return; +} + +function _icpGetQ_from_S($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$sink = 0.0, $$sink1 = 0.0, $11 = 0.0, $14 = 0.0, $2 = 0.0, $4 = 0, $5 = 0.0, $8 = 0, $9 = 0.0; + $2 = +HEAPF64[$1 >> 3]; + $4 = $1 + 8 | 0; + $5 = +HEAPF64[$4 >> 3]; + $8 = $1 + 16 | 0; + $9 = +HEAPF64[$8 >> 3]; + $11 = $2 * $2 + $5 * $5 + $9 * $9; + if ($11 == 0.0) { + HEAPF64[$0 >> 3] = 1.0; + HEAPF64[$0 + 8 >> 3] = 0.0; + $$sink = 0.0; + $$sink1 = 0.0; + } else { + $14 = +Math_sqrt(+$11); + HEAPF64[$0 >> 3] = $2 / $14; + HEAPF64[$0 + 8 >> 3] = +HEAPF64[$4 >> 3] / $14; + $$sink = $14; + $$sink1 = +HEAPF64[$8 >> 3] / $14; + } + HEAPF64[$0 + 16 >> 3] = $$sink1; + HEAPF64[$0 + 24 >> 3] = $$sink; + HEAPF64[$0 + 32 >> 3] = +HEAPF64[$1 + 24 >> 3]; + HEAPF64[$0 + 40 >> 3] = +HEAPF64[$1 + 32 >> 3]; + HEAPF64[$0 + 48 >> 3] = +HEAPF64[$1 + 40 >> 3]; + return; +} + +function _getProjectionNearPlane($id) { + $id = $id | 0; + var $id$addr = 0, $nearPlane = 0, $retval$0 = 0.0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $id$addr = sp; + HEAP32[$id$addr >> 2] = $id; + if (!(__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0)) $retval$0 = -1.0; else { + $nearPlane = (__ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0) + 312 | 0; + $retval$0 = +HEAPF64[$nearPlane >> 3]; + } + STACKTOP = sp; + return +$retval$0; +} + +function _fclose($0) { + $0 = $0 | 0; + var $$pre = 0, $10 = 0, $15 = 0, $21 = 0, $25 = 0, $27 = 0, $30 = 0, $7 = 0, $8 = 0; + if ((HEAP32[$0 + 76 >> 2] | 0) > -1) $30 = ___lockfile($0) | 0; else $30 = 0; + ___unlist_locked_file($0); + $7 = (HEAP32[$0 >> 2] & 1 | 0) != 0; + if (!$7) { + $8 = ___ofl_lock() | 0; + $10 = HEAP32[$0 + 52 >> 2] | 0; + $$pre = $0 + 56 | 0; + if ($10 | 0) HEAP32[$10 + 56 >> 2] = HEAP32[$$pre >> 2]; + $15 = HEAP32[$$pre >> 2] | 0; + if ($15 | 0) HEAP32[$15 + 52 >> 2] = $10; + if ((HEAP32[$8 >> 2] | 0) == ($0 | 0)) HEAP32[$8 >> 2] = $15; + ___ofl_unlock(); + } + $21 = _fflush($0) | 0; + $25 = FUNCTION_TABLE_ii[HEAP32[$0 + 12 >> 2] & 127]($0) | 0 | $21; + $27 = HEAP32[$0 + 96 >> 2] | 0; + if ($27 | 0) _free($27); + if ($7) { + if ($30 | 0) ___unlockfile($0); + } else _free($0); + return $25 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8NameTypeEJRNS_10StringViewEEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $10 = 0, $2 = 0, $3 = 0, $4 = 0, $9 = 0, $tmpcast$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $tmpcast$byval_copy = sp + 8 | 0; + $2 = sp; + $3 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 16) | 0; + $4 = $1; + $9 = HEAP32[$4 + 4 >> 2] | 0; + $10 = $2; + HEAP32[$10 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$10 + 4 >> 2] = $9; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle8NameTypeC2ENS_10StringViewE($3, $tmpcast$byval_copy); + STACKTOP = sp; + return $3 | 0; +} + +function __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE13__get_weekdayERiRS4_S4_RjRKNS_5ctypeIwEE($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 $$byval_copy = 0, $6 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 4 | 0; + $6 = sp; + HEAP32[$6 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + $8 = __ZNSt3__220__get_up_to_n_digitsIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEiRT0_S5_RjRKNS_5ctypeIT_EEi($2, $$byval_copy, $4, $5, 1) | 0; + $9 = HEAP32[$4 >> 2] | 0; + if (($8 | 0) < 7 & ($9 & 4 | 0) == 0) HEAP32[$1 >> 2] = $8; else HEAP32[$4 >> 2] = $9 | 4; + STACKTOP = sp; + return; +} + +function __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE12__get_secondERiRS4_S4_RjRKNS_5ctypeIwEE($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 $$byval_copy = 0, $6 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 4 | 0; + $6 = sp; + HEAP32[$6 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + $8 = __ZNSt3__220__get_up_to_n_digitsIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEiRT0_S5_RjRKNS_5ctypeIT_EEi($2, $$byval_copy, $4, $5, 2) | 0; + $9 = HEAP32[$4 >> 2] | 0; + if (($8 | 0) < 61 & ($9 & 4 | 0) == 0) HEAP32[$1 >> 2] = $8; else HEAP32[$4 >> 2] = $9 | 4; + STACKTOP = sp; + return; +} + +function __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE12__get_minuteERiRS4_S4_RjRKNS_5ctypeIwEE($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 $$byval_copy = 0, $6 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 4 | 0; + $6 = sp; + HEAP32[$6 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + $8 = __ZNSt3__220__get_up_to_n_digitsIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEiRT0_S5_RjRKNS_5ctypeIT_EEi($2, $$byval_copy, $4, $5, 2) | 0; + $9 = HEAP32[$4 >> 2] | 0; + if (($8 | 0) < 60 & ($9 & 4 | 0) == 0) HEAP32[$1 >> 2] = $8; else HEAP32[$4 >> 2] = $9 | 4; + STACKTOP = sp; + return; +} + +function __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE13__get_weekdayERiRS4_S4_RjRKNS_5ctypeIcEE($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 $$byval_copy = 0, $6 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 4 | 0; + $6 = sp; + HEAP32[$6 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + $8 = __ZNSt3__220__get_up_to_n_digitsIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEiRT0_S5_RjRKNS_5ctypeIT_EEi($2, $$byval_copy, $4, $5, 1) | 0; + $9 = HEAP32[$4 >> 2] | 0; + if (($8 | 0) < 7 & ($9 & 4 | 0) == 0) HEAP32[$1 >> 2] = $8; else HEAP32[$4 >> 2] = $9 | 4; + STACKTOP = sp; + return; +} + +function __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE12__get_secondERiRS4_S4_RjRKNS_5ctypeIcEE($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 $$byval_copy = 0, $6 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 4 | 0; + $6 = sp; + HEAP32[$6 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + $8 = __ZNSt3__220__get_up_to_n_digitsIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEiRT0_S5_RjRKNS_5ctypeIT_EEi($2, $$byval_copy, $4, $5, 2) | 0; + $9 = HEAP32[$4 >> 2] | 0; + if (($8 | 0) < 61 & ($9 & 4 | 0) == 0) HEAP32[$1 >> 2] = $8; else HEAP32[$4 >> 2] = $9 | 4; + STACKTOP = sp; + return; +} + +function __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE12__get_minuteERiRS4_S4_RjRKNS_5ctypeIcEE($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 $$byval_copy = 0, $6 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 4 | 0; + $6 = sp; + HEAP32[$6 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + $8 = __ZNSt3__220__get_up_to_n_digitsIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEiRT0_S5_RjRKNS_5ctypeIT_EEi($2, $$byval_copy, $4, $5, 2) | 0; + $9 = HEAP32[$4 >> 2] | 0; + if (($8 | 0) < 60 & ($9 & 4 | 0) == 0) HEAP32[$1 >> 2] = $8; else HEAP32[$4 >> 2] = $9 | 4; + STACKTOP = sp; + return; +} + +function _getProjectionFarPlane($id) { + $id = $id | 0; + var $farPlane = 0, $id$addr = 0, $retval$0 = 0.0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $id$addr = sp; + HEAP32[$id$addr >> 2] = $id; + if (!(__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0)) $retval$0 = -1.0; else { + $farPlane = (__ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0) + 320 | 0; + $retval$0 = +HEAPF64[$farPlane >> 3]; + } + STACKTOP = sp; + return +$retval$0; +} + +function __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE10__get_hourERiRS4_S4_RjRKNS_5ctypeIwEE($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 $$byval_copy = 0, $6 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 4 | 0; + $6 = sp; + HEAP32[$6 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + $8 = __ZNSt3__220__get_up_to_n_digitsIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEiRT0_S5_RjRKNS_5ctypeIT_EEi($2, $$byval_copy, $4, $5, 2) | 0; + $9 = HEAP32[$4 >> 2] | 0; + if (($8 | 0) < 24 & ($9 & 4 | 0) == 0) HEAP32[$1 >> 2] = $8; else HEAP32[$4 >> 2] = $9 | 4; + STACKTOP = sp; + return; +} + +function __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE10__get_hourERiRS4_S4_RjRKNS_5ctypeIcEE($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 $$byval_copy = 0, $6 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 4 | 0; + $6 = sp; + HEAP32[$6 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + $8 = __ZNSt3__220__get_up_to_n_digitsIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEiRT0_S5_RjRKNS_5ctypeIT_EEi($2, $$byval_copy, $4, $5, 2) | 0; + $9 = HEAP32[$4 >> 2] | 0; + if (($8 | 0) < 24 & ($9 & 4 | 0) == 0) HEAP32[$1 >> 2] = $8; else HEAP32[$4 >> 2] = $9 | 4; + STACKTOP = sp; + return; +} + +function _kpmFopen($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $11 = 0, $5 = 0, $9 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $vararg_buffer1 = sp + 8 | 0; + $vararg_buffer = sp; + do if ($0) { + if (!$1) { + $$0 = _fopen($0, $2) | 0; + break; + } + $5 = _strlen($0) | 0; + $9 = _malloc($5 + 2 + (_strlen($1) | 0) | 0) | 0; + if (!$9) { + _arLog(0, 3, 45930, $vararg_buffer); + _exit(1); + } else { + HEAP32[$vararg_buffer1 >> 2] = $0; + HEAP32[$vararg_buffer1 + 4 >> 2] = $1; + _sprintf($9, 26699, $vararg_buffer1) | 0; + $11 = _fopen($9, $2) | 0; + _free($9); + $$0 = $11; + break; + } + } else $$0 = 0; while (0); + STACKTOP = sp; + return $$0 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle10VectorTypeEJRPNS2_4NodeES6_EEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $3 = sp; + $4 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 20) | 0; + $5 = HEAP32[$1 >> 2] | 0; + __ZN12_GLOBAL__N_116itanium_demangle12NodeOrStringC2EPNS0_4NodeE($3, HEAP32[$2 >> 2] | 0); + HEAP32[$$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle10VectorTypeC2EPKNS0_4NodeENS0_12NodeOrStringE($4, $5, $$byval_copy); + STACKTOP = sp; + return $4 | 0; +} + +function _setMatrixCodeType($id, $type) { + $id = $id | 0; + $type = $type | 0; + var $arhandle = 0, $id$addr = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $id$addr = sp; + HEAP32[$id$addr >> 2] = $id; + if (__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0) { + $arhandle = (__ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0) + 216 | 0; + _arSetMatrixCodeType(HEAP32[$arhandle >> 2] | 0, $type) | 0; + } + STACKTOP = sp; + return; +} + +function _fopen($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $11 = 0, $13 = 0, $6 = 0, $9 = 0, $vararg_buffer = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $vararg_buffer = sp; + if (_strchr(50840, HEAP8[$1 >> 0] | 0) | 0) { + $9 = ___fmodeflags($1) | 0 | 32768; + HEAP32[$vararg_buffer >> 2] = $0; + HEAP32[$vararg_buffer + 4 >> 2] = $9; + HEAP32[$vararg_buffer + 8 >> 2] = 438; + $11 = ___syscall_ret(___syscall5(5, $vararg_buffer | 0) | 0) | 0; + if (($11 | 0) >= 0) { + $13 = ___fdopen($11, $1) | 0; + if (!$13) { + ___wasi_fd_close($11 | 0) | 0; + $$0 = 0; + } else $$0 = $13; + } else $$0 = 0; + } else { + $6 = ___errno_location() | 0; + HEAP32[$6 >> 2] = 28; + $$0 = 0; + } + STACKTOP = sp; + return $$0 | 0; +} + +function __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $10 = 0, $3 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp; + if ($2 >>> 0 > 4294967279) __ZNKSt3__221__basic_string_commonILb1EE20__throw_length_errorEv($0); + if ($2 >>> 0 < 11) { + HEAP8[$0 + 11 >> 0] = $2; + $$0 = $0; + } else { + $9 = $2 + 16 & -16; + $10 = __Znwm($9) | 0; + HEAP32[$0 >> 2] = $10; + HEAP32[$0 + 8 >> 2] = $9 | -2147483648; + HEAP32[$0 + 4 >> 2] = $2; + $$0 = $10; + } + __ZNSt3__211char_traitsIcE4copyEPcPKcm($$0, $1, $2) | 0; + HEAP8[$3 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($$0 + $2 | 0, $3); + STACKTOP = sp; + return; +} + +function __ZN6vision5Image19calculate_unit_sizeENS_9ImageTypeE($0) { + $0 = $0 | 0; + var $$08 = 0, $1 = 0, $2 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + switch ($0 | 0) { + case 1: + { + $$08 = $0; + break; + } + case 2: + { + $$08 = 4; + break; + } + default: + { + $2 = ___cxa_allocate_exception(16) | 0; + HEAP32[$1 >> 2] = 0; + HEAP32[$1 + 4 >> 2] = 0; + HEAP32[$1 + 8 >> 2] = 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm($1, 38846, __ZNSt3__211char_traitsIcE6lengthEPKc(38846) | 0); + __ZN6vision9ExceptionC2ERKNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEE($2, $1); + ___cxa_throw($2 | 0, 13208, 5); + } + } + STACKTOP = sp; + return $$08 | 0; +} + +function __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEmc($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $10 = 0, $3 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp; + if ($1 >>> 0 > 4294967279) __ZNKSt3__221__basic_string_commonILb1EE20__throw_length_errorEv($0); + if ($1 >>> 0 < 11) { + HEAP8[$0 + 11 >> 0] = $1; + $$0 = $0; + } else { + $9 = $1 + 16 & -16; + $10 = __Znwm($9) | 0; + HEAP32[$0 >> 2] = $10; + HEAP32[$0 + 8 >> 2] = $9 | -2147483648; + HEAP32[$0 + 4 >> 2] = $1; + $$0 = $10; + } + __ZNSt3__211char_traitsIcE6assignEPcmc($$0, $1, $2) | 0; + HEAP8[$3 >> 0] = 0; + __ZNSt3__211char_traitsIcE6assignERcRKc($$0 + $1 | 0, $3); + STACKTOP = sp; + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle11SpecialName9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $10 = 0, $2 = 0, $4 = 0, $9 = 0, $tmpcast$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $tmpcast$byval_copy = sp + 8 | 0; + $2 = sp; + $4 = $0 + 8 | 0; + $9 = HEAP32[$4 + 4 >> 2] | 0; + $10 = $2; + HEAP32[$10 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$10 + 4 >> 2] = $9; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $tmpcast$byval_copy); + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 16 >> 2] | 0, $1); + STACKTOP = sp; + return; +} + +function __ZNSt3__212__hash_tableINS_17__hash_value_typeIiNS_6vectorIiNS_9allocatorIiEEEEEENS_22__unordered_map_hasherIiS6_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS6_NS_8equal_toIiEELb1EEENS3_IS6_EEE21__construct_node_hashIRKNS_21piecewise_construct_tEJNS_5tupleIJRKiEEENSL_IJEEEEEENS_10unique_ptrINS_11__hash_nodeIS6_PvEENS_22__hash_node_destructorINS3_IST_EEEEEEmOT_DpOT0_($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 $7 = 0; + $7 = __Znwm(24) | 0; + HEAP32[$0 >> 2] = $7; + HEAP32[$0 + 4 >> 2] = $1 + 8; + HEAP32[$7 + 8 >> 2] = HEAP32[HEAP32[$4 >> 2] >> 2]; + HEAP32[$7 + 12 >> 2] = 0; + HEAP32[$7 + 16 >> 2] = 0; + HEAP32[$7 + 20 >> 2] = 0; + HEAP8[$0 + 8 >> 0] = 1; + HEAP32[$7 + 4 >> 2] = $2; + HEAP32[$7 >> 2] = 0; + return; +} + +function _arMatrixTrans($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$024 = 0, $$025 = 0, $$026 = 0, $$027 = 0, $$1 = 0, $3 = 0, $8 = 0; + $3 = HEAP32[$0 + 4 >> 2] | 0; + L1 : do if (($3 | 0) == (HEAP32[$1 + 8 >> 2] | 0) ? ($8 = HEAP32[$0 + 8 >> 2] | 0, ($8 | 0) == (HEAP32[$1 + 4 >> 2] | 0)) : 0) { + $$0 = HEAP32[$0 >> 2] | 0; + $$026 = 0; + while (1) { + if (($$026 | 0) >= ($3 | 0)) { + $$027 = 0; + break L1; + } + $$024 = (HEAP32[$1 >> 2] | 0) + ($$026 << 3) | 0; + $$025 = 0; + $$1 = $$0; + while (1) { + if (($$025 | 0) >= ($8 | 0)) break; + HEAPF64[$$1 >> 3] = +HEAPF64[$$024 >> 3]; + $$024 = $$024 + ($3 << 3) | 0; + $$025 = $$025 + 1 | 0; + $$1 = $$1 + 8 | 0; + } + $$0 = $$1; + $$026 = $$026 + 1 | 0; + } + } else $$027 = -1; while (0); + return $$027 | 0; +} + +function _arMatrixTransf($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$024 = 0, $$025 = 0, $$026 = 0, $$027 = 0, $$1 = 0, $3 = 0, $8 = 0; + $3 = HEAP32[$0 + 4 >> 2] | 0; + L1 : do if (($3 | 0) == (HEAP32[$1 + 8 >> 2] | 0) ? ($8 = HEAP32[$0 + 8 >> 2] | 0, ($8 | 0) == (HEAP32[$1 + 4 >> 2] | 0)) : 0) { + $$0 = HEAP32[$0 >> 2] | 0; + $$026 = 0; + while (1) { + if (($$026 | 0) >= ($3 | 0)) { + $$027 = 0; + break L1; + } + $$024 = (HEAP32[$1 >> 2] | 0) + ($$026 << 2) | 0; + $$025 = 0; + $$1 = $$0; + while (1) { + if (($$025 | 0) >= ($8 | 0)) break; + HEAP32[$$1 >> 2] = HEAP32[$$024 >> 2]; + $$024 = $$024 + ($3 << 2) | 0; + $$025 = $$025 + 1 | 0; + $$1 = $$1 + 4 | 0; + } + $$0 = $$1; + $$026 = $$026 + 1 | 0; + } + } else $$027 = -1; while (0); + return $$027 | 0; +} + +function __ZNSt3__212__hash_tableINS_17__hash_value_typeIiNS_10shared_ptrIN6vision8KeyframeILi96EEEEEEENS_22__unordered_map_hasherIiS7_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS7_NS_8equal_toIiEELb1EEENS_9allocatorIS7_EEE21__construct_node_hashIRKNS_21piecewise_construct_tEJNS_5tupleIJRKiEEENSN_IJEEEEEENS_10unique_ptrINS_11__hash_nodeIS7_PvEENS_22__hash_node_destructorINSG_ISV_EEEEEEmOT_DpOT0_($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 $7 = 0; + $7 = __Znwm(20) | 0; + HEAP32[$0 >> 2] = $7; + HEAP32[$0 + 4 >> 2] = $1 + 8; + HEAP32[$7 + 8 >> 2] = HEAP32[HEAP32[$4 >> 2] >> 2]; + HEAP32[$7 + 12 >> 2] = 0; + HEAP32[$7 + 16 >> 2] = 0; + HEAP8[$0 + 8 >> 0] = 1; + HEAP32[$7 + 4 >> 2] = $2; + HEAP32[$7 >> 2] = 0; + return; +} + +function __ZN6vision26SmoothOrientationHistogramIfEEvPT_PKS1_mS4_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0.0, $$033 = 0, $21 = 0.0, $28 = 0, $4 = 0.0, $5 = 0, $6 = 0, $8 = 0, $9 = 0; + $4 = +HEAPF32[$1 >> 2]; + $5 = $2 + -1 | 0; + $6 = $1 + ($5 << 2) | 0; + $8 = $3 + 4 | 0; + $9 = $3 + 8 | 0; + $$0 = +HEAPF32[$6 >> 2]; + $$033 = 0; + while (1) { + if (($$033 | 0) == ($5 | 0)) break; + $21 = +HEAPF32[$1 + ($$033 << 2) >> 2]; + $28 = $$033 + 1 | 0; + HEAPF32[$0 + ($$033 << 2) >> 2] = $$0 * +HEAPF32[$3 >> 2] + $21 * +HEAPF32[$8 >> 2] + +HEAPF32[$9 >> 2] * +HEAPF32[$1 + ($28 << 2) >> 2]; + $$0 = $21; + $$033 = $28; + } + HEAPF32[$0 + ($5 << 2) >> 2] = $$0 * +HEAPF32[$3 >> 2] + +HEAPF32[$8 >> 2] * +HEAPF32[$6 >> 2] + $4 * +HEAPF32[$9 >> 2]; + return; +} + +function __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE6sentryD2Ev($0) { + $0 = $0 | 0; + var $1 = 0, $18 = 0, $2 = 0, $24 = 0, $30 = 0, $34 = 0, $6 = 0; + $1 = $0 + 4 | 0; + $2 = HEAP32[$1 >> 2] | 0; + $6 = $2 + (HEAP32[(HEAP32[$2 >> 2] | 0) + -12 >> 2] | 0) | 0; + if ((((HEAP32[$6 + 24 >> 2] | 0 ? (HEAP32[$6 + 16 >> 2] | 0) == 0 : 0) ? HEAP32[$6 + 4 >> 2] & 8192 | 0 : 0) ? !(__ZSt18uncaught_exceptionv() | 0) : 0) ? ($18 = HEAP32[$1 >> 2] | 0, $24 = HEAP32[$18 + (HEAP32[(HEAP32[$18 >> 2] | 0) + -12 >> 2] | 0) + 24 >> 2] | 0, (FUNCTION_TABLE_ii[HEAP32[(HEAP32[$24 >> 2] | 0) + 24 >> 2] & 127]($24) | 0) == -1) : 0) { + $30 = HEAP32[$1 >> 2] | 0; + $34 = $30 + (HEAP32[(HEAP32[$30 >> 2] | 0) + -12 >> 2] | 0) | 0; + __ZNSt3__28ios_base5clearEj($34, HEAP32[$34 + 16 >> 2] | 1); + } + return; +} + +function __ZNKSt3__27codecvtIwc11__mbstate_tE9do_lengthERS1_PKcS5_m($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$029 = 0, $$030 = 0, $$034 = 0, $$sink = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0; + $5 = $3; + $6 = $0 + 8 | 0; + $$029 = 0; + $$030 = 0; + $$034 = $2; + L1 : while (1) { + if (($$034 | 0) == ($3 | 0) | $$029 >>> 0 >= $4 >>> 0) break; + $12 = ___uselocale(HEAP32[$6 >> 2] | 0) | 0; + $13 = _mbrlen($$034, $5 - $$034 | 0, $1) | 0; + if ($12 | 0) ___uselocale($12) | 0; + switch ($13 | 0) { + case -2: + case -1: + { + break L1; + break; + } + case 0: + { + $$sink = 1; + break; + } + default: + $$sink = $13; + } + $$029 = $$029 + 1 | 0; + $$030 = $$sink + $$030 | 0; + $$034 = $$034 + $$sink | 0; + } + return $$030 | 0; +} + +function __ZNSt3__214__num_put_base18__identify_paddingEPcS1_RKNS_8ios_baseE($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $6 = 0, label = 0; + L1 : do switch ((HEAP32[$2 + 4 >> 2] & 176) << 24 >> 24) { + case 16: + { + $6 = HEAP8[$0 >> 0] | 0; + switch ($6 << 24 >> 24) { + case 43: + case 45: + { + $$0 = $0 + 1 | 0; + break L1; + break; + } + default: + {} + } + if (($1 - $0 | 0) > 1 & $6 << 24 >> 24 == 48) { + switch (HEAP8[$0 + 1 >> 0] | 0) { + case 88: + case 120: + break; + default: + { + label = 7; + break L1; + } + } + $$0 = $0 + 2 | 0; + } else label = 7; + break; + } + case 32: + { + $$0 = $1; + break; + } + default: + label = 7; + } while (0); + if ((label | 0) == 7) $$0 = $0; + return $$0 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle13ReferenceType8collapseERNS_12OutputStreamE($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$in = 0, $13 = 0, $17 = 0, $19 = 0, $21 = 0, $22 = 0, $5 = 0, $6 = 0, $7 = 0; + $5 = HEAP32[$1 + 12 >> 2] | 0; + HEAP32[$0 >> 2] = $5; + $6 = $0 + 4 | 0; + $7 = HEAP32[$1 + 8 >> 2] | 0; + HEAP32[$6 >> 2] = $7; + $$in = $7; + $21 = $5; + while (1) { + $13 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$$in >> 2] | 0) + 12 >> 2] & 127]($$in, $2) | 0; + if ((__ZNK12_GLOBAL__N_116itanium_demangle4Node7getKindEv($13) | 0) << 24 >> 24 != 12) break; + $17 = HEAP32[$13 + 8 >> 2] | 0; + HEAP32[$6 >> 2] = $17; + $19 = HEAP32[$13 + 12 >> 2] | 0; + $22 = ($19 | 0) < ($21 | 0) ? $19 : $21; + HEAP32[$0 >> 2] = $22; + $$in = $17; + $21 = $22; + } + return; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle20PostfixQualifiedTypeEJRPNS2_4NodeERA11_KcEEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $3 = sp; + $4 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 20) | 0; + $5 = HEAP32[$1 >> 2] | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, $2); + HEAP32[$$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle20PostfixQualifiedTypeC2EPNS0_4NodeENS_10StringViewE($4, $5, $$byval_copy); + STACKTOP = sp; + return $4 | 0; +} + +function _arUtilReplaceExt($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$023 = 0, $$024 = 0, $$1 = 0, $$2 = 0, $6 = 0, $9 = 0, label = 0; + $$0 = 0; + $$023 = 0; + L1 : while (1) { + switch (HEAP8[$0 + $$023 >> 0] | 0) { + case 0: + { + break L1; + break; + } + case 46: + { + $$1 = $$023; + break; + } + default: + $$1 = $$0; + } + $$0 = $$1; + $$023 = $$023 + 1 | 0; + } + $6 = $0 + $$023 | 0; + $9 = (_strlen($2) | 0) + 2 | 0; + if (!$$0) if (($9 + $$023 | 0) > ($1 | 0)) $$024 = -1; else { + HEAP8[$6 >> 0] = 46; + $$2 = $$023; + label = 9; + } else if (($9 + $$0 | 0) > ($1 | 0)) $$024 = -1; else { + $$2 = $$0; + label = 9; + } + if ((label | 0) == 9) { + HEAP8[$0 + ($$2 + 1) >> 0] = 0; + _strcat($0, $2) | 0; + $$024 = 0; + } + return $$024 | 0; +} + +function ___fflush_unlocked($0) { + $0 = $0 | 0; + var $$0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $17 = 0, $3 = 0, label = 0; + $1 = $0 + 20 | 0; + $3 = $0 + 28 | 0; + if ((HEAP32[$1 >> 2] | 0) >>> 0 > (HEAP32[$3 >> 2] | 0) >>> 0 ? (FUNCTION_TABLE_iiii[HEAP32[$0 + 36 >> 2] & 63]($0, 0, 0) | 0, (HEAP32[$1 >> 2] | 0) == 0) : 0) $$0 = -1; else { + $10 = $0 + 4 | 0; + $11 = HEAP32[$10 >> 2] | 0; + $12 = $0 + 8 | 0; + $13 = HEAP32[$12 >> 2] | 0; + if ($11 >>> 0 < $13 >>> 0) { + $17 = $11 - $13 | 0; + FUNCTION_TABLE_iiiii[HEAP32[$0 + 40 >> 2] & 15]($0, $17, (($17 | 0) < 0) << 31 >> 31, 1) | 0; + getTempRet0() | 0; + } + HEAP32[$0 + 16 >> 2] = 0; + HEAP32[$3 >> 2] = 0; + HEAP32[$1 >> 2] = 0; + HEAP32[$12 >> 2] = 0; + HEAP32[$10 >> 2] = 0; + $$0 = 0; + } + return $$0 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle20PostfixQualifiedTypeEJRPNS2_4NodeERA9_KcEEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $3 = sp; + $4 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 20) | 0; + $5 = HEAP32[$1 >> 2] | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, $2); + HEAP32[$$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle20PostfixQualifiedTypeC2EPNS0_4NodeENS_10StringViewE($4, $5, $$byval_copy); + STACKTOP = sp; + return $4 | 0; +} + +function __ZN6vision14VisualDatabaseINS_14FREAKExtractorENS_18BinaryFeatureStoreENS_20BinaryFeatureMatcherILi96EEEED2Ev($0) { + $0 = $0 | 0; + __ZN6vision16RobustHomographyIfED2Ev($0 + 788 | 0); + __ZN6vision21HoughSimilarityVotingD2Ev($0 + 652 | 0); + __ZN6vision20BinaryFeatureMatcherILi96EED2Ev($0 + 636 | 0); + __ZN6vision14FREAKExtractorD2Ev($0 + 316 | 0); + __ZN6vision25DoGScaleInvariantDetectorD2Ev($0 + 160 | 0); + __ZN6vision18BinomialPyramid32fD2Ev($0 + 92 | 0); + __ZNSt3__213unordered_mapIiNS_10shared_ptrIN6vision8KeyframeILi96EEEEENS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS5_EEEEED2Ev($0 + 72 | 0); + __ZNSt3__210shared_ptrIN6vision8KeyframeILi96EEEED2Ev($0 + 64 | 0); + __ZNSt3__213__vector_baseIN6vision7match_tENS_9allocatorIS2_EEED2Ev($0 + 12 | 0); + return; +} + +function _kpmDeleteRefDataSet($0) { + $0 = $0 | 0; + var $$0 = 0, $$013 = 0, $10 = 0, $2 = 0, $4 = 0, $6 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + if ($0) { + $2 = HEAP32[$0 >> 2] | 0; + if (!$2) $$013 = 0; else { + $4 = HEAP32[$2 >> 2] | 0; + if ($4 | 0) _free($4); + $$0 = 0; + while (1) { + $6 = HEAP32[$0 >> 2] | 0; + $10 = $6 + 8 | 0; + if (($$0 | 0) >= (HEAP32[$6 + 12 >> 2] | 0)) break; + _free(HEAP32[(HEAP32[$10 >> 2] | 0) + ($$0 * 12 | 0) >> 2] | 0); + $$0 = $$0 + 1 | 0; + } + _free(HEAP32[$10 >> 2] | 0); + _free(HEAP32[$0 >> 2] | 0); + HEAP32[$0 >> 2] = 0; + $$013 = 0; + } + } else { + _arLog(0, 3, 26264, sp); + $$013 = -1; + } + STACKTOP = sp; + return $$013 | 0; +} + +function __ZNK12_GLOBAL__N_110StringView10startsWithES0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$0$i$i = 0, $$08$i$i = 0, $2 = 0, $5 = 0, $6 = 0; + $2 = __ZNK12_GLOBAL__N_110StringView4sizeEv($1) | 0; + L1 : do if ($2 >>> 0 > (__ZNK12_GLOBAL__N_110StringView4sizeEv($0) | 0) >>> 0) $$0 = 0; else { + $5 = __ZNK12_GLOBAL__N_110StringView5beginEv($1) | 0; + $6 = __ZNK12_GLOBAL__N_110StringView3endEv($1) | 0; + $$0$i$i = __ZNK12_GLOBAL__N_110StringView5beginEv($0) | 0; + $$08$i$i = $5; + while (1) { + if (($$08$i$i | 0) == ($6 | 0)) { + $$0 = 1; + break L1; + } + if ((HEAP8[$$08$i$i >> 0] | 0) != (HEAP8[$$0$i$i >> 0] | 0)) { + $$0 = 0; + break L1; + } + $$0$i$i = $$0$i$i + 1 | 0; + $$08$i$i = $$08$i$i + 1 | 0; + } + } while (0); + return $$0 | 0; +} + +function __ZN6vision14FREAKExtractorC2Ev($0) { + $0 = $0 | 0; + __ZN6vision10CopyVectorIfEEvPT_PKS1_m($0, 1760, 12); + __ZN6vision10CopyVectorIfEEvPT_PKS1_m($0 + 48 | 0, 1808, 12); + __ZN6vision10CopyVectorIfEEvPT_PKS1_m($0 + 96 | 0, 1856, 12); + __ZN6vision10CopyVectorIfEEvPT_PKS1_m($0 + 144 | 0, 1904, 12); + __ZN6vision10CopyVectorIfEEvPT_PKS1_m($0 + 192 | 0, 1952, 12); + __ZN6vision10CopyVectorIfEEvPT_PKS1_m($0 + 240 | 0, 2e3, 12); + HEAPF32[$0 + 288 >> 2] = .10000000149011612; + HEAPF32[$0 + 292 >> 2] = .17499999701976776; + HEAPF32[$0 + 296 >> 2] = .25; + HEAPF32[$0 + 300 >> 2] = .32499998807907104; + HEAPF32[$0 + 304 >> 2] = .4000000059604645; + HEAPF32[$0 + 308 >> 2] = .4749999940395355; + HEAPF32[$0 + 312 >> 2] = .550000011920929; + HEAPF32[$0 + 316 >> 2] = 7.0; + return; +} + +function __ZN6vision18BinomialPyramid32f18apply_filter_twiceERNS_5ImageERKS1_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $3 = sp; + $5 = HEAP32[$0 + 56 >> 2] | 0; + $6 = __ZNK6vision5Image4typeEv($2) | 0; + $7 = __ZNK6vision5Image5widthEv($2) | 0; + $8 = __ZNK6vision5Image6heightEv($2) | 0; + __ZN6vision5ImageC2EPhNS_9ImageTypeEmmim($3, $5, $6, $7, $8, __ZNK6vision5Image4stepEv($2) | 0, 1); + __ZN6vision18BinomialPyramid32f12apply_filterERNS_5ImageERKS1_($0, $3, $2); + __ZN6vision18BinomialPyramid32f12apply_filterERNS_5ImageERKS1_($0, $1, $3); + __ZN6vision5ImageD2Ev($3); + STACKTOP = sp; + return; +} + +function _jpeg_read_header($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$pre$phiZ2D = 0, $10 = 0, $12 = 0, $3 = 0, $5 = 0; + $3 = HEAP32[$0 + 20 >> 2] | 0; + if (($3 & -2 | 0) != 200) { + $5 = HEAP32[$0 >> 2] | 0; + HEAP32[$5 + 20 >> 2] = 21; + HEAP32[$5 + 24 >> 2] = $3; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + } + $10 = _jpeg_consume_input($0) | 0; + switch ($10 | 0) { + case 1: + { + $$0 = 1; + return $$0 | 0; + } + case 2: + { + if (!$1) $$pre$phiZ2D = $0; else { + $12 = HEAP32[$0 >> 2] | 0; + HEAP32[$12 + 20 >> 2] = 53; + FUNCTION_TABLE_vi[HEAP32[$12 >> 2] & 255]($0); + $$pre$phiZ2D = $0; + } + _jpeg_abort($$pre$phiZ2D); + $$0 = 2; + return $$0 | 0; + } + default: + { + $$0 = $10; + return $$0 | 0; + } + } + return 0; +} + +function __ZNSt3__26vectorINS0_INS_4pairIfmEENS_9allocatorIS2_EEEENS3_IS5_EEE6resizeEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0$i$i = 0, $12 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $6 = 0, $8 = 0, $9 = 0; + $2 = $0 + 4 | 0; + $3 = HEAP32[$2 >> 2] | 0; + $4 = HEAP32[$0 >> 2] | 0; + $6 = ($3 - $4 | 0) / 12 | 0; + $8 = $4; + $9 = $3; + if ($6 >>> 0 >= $1 >>> 0) { + if ($6 >>> 0 > $1 >>> 0) { + $12 = $8 + ($1 * 12 | 0) | 0; + $$0$i$i = $9; + while (1) { + if (($$0$i$i | 0) == ($12 | 0)) break; + $14 = $$0$i$i + -12 | 0; + __ZNSt3__213__vector_baseINS_4pairIfmEENS_9allocatorIS2_EEED2Ev($14); + $$0$i$i = $14; + } + HEAP32[$2 >> 2] = $12; + } + } else __ZNSt3__26vectorINS0_INS_4pairIfmEENS_9allocatorIS2_EEEENS3_IS5_EEE8__appendEm($0, $1 - $6 | 0); + return; +} + +function _cat($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $10 = 0, $3 = 0, $4 = 0, $6 = 0, $7 = 0, $8 = 0; + do if ($0) { + $4 = _fopen($0, 26308) | 0; + if ($4) { + _fseek($4, 0, 2) | 0; + $6 = _ftell($4) | 0; + _fseek($4, 0, 0) | 0; + $7 = $6 + 1 | 0; + $8 = _malloc($7) | 0; + if (!$8) { + _fclose($4) | 0; + $10 = ___errno_location() | 0; + HEAP32[$10 >> 2] = 48; + $$0 = 0; + break; + } + if (!(_fread($8, $6, 1, $4) | 0)) { + _free($8); + _fclose($4) | 0; + $$0 = 0; + break; + } + HEAP8[$8 + $6 >> 0] = 0; + _fclose($4) | 0; + if (!$1) $$0 = $8; else { + HEAP32[$1 >> 2] = $7; + $$0 = $8; + } + } else $$0 = 0; + } else { + $3 = ___errno_location() | 0; + HEAP32[$3 >> 2] = 28; + $$0 = 0; + } while (0); + return $$0 | 0; +} + +function __ZNSt3__26locale5__impD2Ev($0) { + $0 = $0 | 0; + var $$0 = 0, $1 = 0, $11 = 0, $13 = 0, $14 = 0, $2 = 0, $4 = 0; + HEAP32[$0 >> 2] = 23288; + $1 = $0 + 8 | 0; + $2 = $0 + 12 | 0; + $$0 = 0; + while (1) { + $4 = HEAP32[$1 >> 2] | 0; + if ($$0 >>> 0 >= (HEAP32[$2 >> 2] | 0) - $4 >> 2 >>> 0) break; + $11 = HEAP32[$4 + ($$0 << 2) >> 2] | 0; + if ($11 | 0 ? ($13 = $11 + 4 | 0, $14 = HEAP32[$13 >> 2] | 0, HEAP32[$13 >> 2] = $14 + -1, ($14 | 0) == 0) : 0) FUNCTION_TABLE_vi[HEAP32[(HEAP32[$11 >> 2] | 0) + 8 >> 2] & 255]($11); + $$0 = $$0 + 1 | 0; + } + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($0 + 144 | 0); + __ZNSt3__213__vector_baseIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEED2Ev($1); + __ZNSt3__26locale5facetD2Ev($0); + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle13QualifiedName9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy = 0, $2 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $2 = sp; + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 8 >> 2] | 0, $1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 53698); + HEAP32[$$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy); + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 12 >> 2] | 0, $1); + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_1eqERKNS_10StringViewES2_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0$i$i = 0, $$08$i$i = 0, $14 = 0, $2 = 0, $5 = 0, $6 = 0; + $2 = __ZNK12_GLOBAL__N_110StringView4sizeEv($0) | 0; + L1 : do if (($2 | 0) == (__ZNK12_GLOBAL__N_110StringView4sizeEv($1) | 0)) { + $5 = __ZNK12_GLOBAL__N_110StringView5beginEv($0) | 0; + $6 = __ZNK12_GLOBAL__N_110StringView3endEv($0) | 0; + $$0$i$i = __ZNK12_GLOBAL__N_110StringView5beginEv($1) | 0; + $$08$i$i = $5; + while (1) { + if (($$08$i$i | 0) == ($6 | 0)) { + $14 = 1; + break L1; + } + if ((HEAP8[$$08$i$i >> 0] | 0) != (HEAP8[$$0$i$i >> 0] | 0)) { + $14 = 0; + break L1; + } + $$0$i$i = $$0$i$i + 1 | 0; + $$08$i$i = $$08$i$i + 1 | 0; + } + } else $14 = 0; while (0); + return $14 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle11SpecialNameEJRA41_KcRPNS2_4NodeEEEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $3 = sp; + $4 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 20) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, $1); + $5 = HEAP32[$2 >> 2] | 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle11SpecialNameC2ENS_10StringViewEPKNS0_4NodeE($4, $$byval_copy, $5); + STACKTOP = sp; + return $4 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle11SpecialNameEJRA34_KcRPNS2_4NodeEEEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $3 = sp; + $4 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 20) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, $1); + $5 = HEAP32[$2 >> 2] | 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle11SpecialNameC2ENS_10StringViewEPKNS0_4NodeE($4, $$byval_copy, $5); + STACKTOP = sp; + return $4 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle11SpecialNameEJRA27_KcRPNS2_4NodeEEEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $3 = sp; + $4 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 20) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, $1); + $5 = HEAP32[$2 >> 2] | 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle11SpecialNameC2ENS_10StringViewEPKNS0_4NodeE($4, $$byval_copy, $5); + STACKTOP = sp; + return $4 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle11SpecialNameEJRA25_KcRPNS2_4NodeEEEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $3 = sp; + $4 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 20) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, $1); + $5 = HEAP32[$2 >> 2] | 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle11SpecialNameC2ENS_10StringViewEPKNS0_4NodeE($4, $$byval_copy, $5); + STACKTOP = sp; + return $4 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle11SpecialNameEJRA22_KcRPNS2_4NodeEEEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $3 = sp; + $4 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 20) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, $1); + $5 = HEAP32[$2 >> 2] | 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle11SpecialNameC2ENS_10StringViewEPKNS0_4NodeE($4, $$byval_copy, $5); + STACKTOP = sp; + return $4 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle11SpecialNameEJRA20_KcRPNS2_4NodeEEEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $3 = sp; + $4 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 20) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, $1); + $5 = HEAP32[$2 >> 2] | 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle11SpecialNameC2ENS_10StringViewEPKNS0_4NodeE($4, $$byval_copy, $5); + STACKTOP = sp; + return $4 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle11SpecialNameEJRA19_KcRPNS2_4NodeEEEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $3 = sp; + $4 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 20) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, $1); + $5 = HEAP32[$2 >> 2] | 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle11SpecialNameC2ENS_10StringViewEPKNS0_4NodeE($4, $$byval_copy, $5); + STACKTOP = sp; + return $4 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle11SpecialNameEJRA18_KcRPNS2_4NodeEEEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $3 = sp; + $4 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 20) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, $1); + $5 = HEAP32[$2 >> 2] | 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle11SpecialNameC2ENS_10StringViewEPKNS0_4NodeE($4, $$byval_copy, $5); + STACKTOP = sp; + return $4 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle11SpecialNameEJRA14_KcRPNS2_4NodeEEEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $3 = sp; + $4 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 20) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, $1); + $5 = HEAP32[$2 >> 2] | 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle11SpecialNameC2ENS_10StringViewEPKNS0_4NodeE($4, $$byval_copy, $5); + STACKTOP = sp; + return $4 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle11SpecialNameEJRA12_KcRPNS2_4NodeEEEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $3 = sp; + $4 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 20) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, $1); + $5 = HEAP32[$2 >> 2] | 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle11SpecialNameC2ENS_10StringViewEPKNS0_4NodeE($4, $$byval_copy, $5); + STACKTOP = sp; + return $4 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle11SpecialNameEJRA9_KcRPNS2_4NodeEEEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $3 = sp; + $4 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 20) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, $1); + $5 = HEAP32[$2 >> 2] | 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle11SpecialNameC2ENS_10StringViewEPKNS0_4NodeE($4, $$byval_copy, $5); + STACKTOP = sp; + return $4 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle11PostfixExprEJRPNS2_4NodeERA3_KcEEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$byval_copy = 0, $3 = 0, $4 = 0, $5 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $3 = sp; + $4 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 20) | 0; + $5 = HEAP32[$1 >> 2] | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($3, $2); + HEAP32[$$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle11PostfixExprC2EPKNS0_4NodeENS_10StringViewE($4, $5, $$byval_copy); + STACKTOP = sp; + return $4 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle10NestedName9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy = 0, $2 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $2 = sp; + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 8 >> 2] | 0, $1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 53698); + HEAP32[$$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy); + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 12 >> 2] | 0, $1); + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_EC2EPKcS7_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $2; + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EEC2Ev($0 + 8 | 0); + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EEC2Ev($0 + 148 | 0); + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EEC2Ev($0 + 288 | 0); + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_24ForwardTemplateReferenceELm4EEC2Ev($0 + 332 | 0); + HEAP8[$0 + 360 >> 0] = 1; + HEAP8[$0 + 361 >> 0] = 0; + HEAP8[$0 + 362 >> 0] = 0; + __ZN12_GLOBAL__N_116DefaultAllocatorC2Ev($0 + 368 | 0); + return; +} + +function __ZNKSt3__210__time_put8__do_putEPcRS1_PK2tmcc($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 $12 = 0, $15 = 0, $6 = 0, $7 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $6 = sp; + HEAP8[$6 >> 0] = 37; + $7 = $6 + 1 | 0; + HEAP8[$7 >> 0] = $4; + $8 = $6 + 2 | 0; + HEAP8[$8 >> 0] = $5; + HEAP8[$6 + 3 >> 0] = 0; + if ($5 << 24 >> 24) { + HEAP8[$7 >> 0] = $5; + HEAP8[$8 >> 0] = $4; + } + $12 = __ZNSt3__212_GLOBAL__N_17countofIcEEmPKT_S4_($1, HEAP32[$2 >> 2] | 0) | 0; + $15 = $1 + (_strftime_l($1 | 0, $12 | 0, $6 | 0, $3 | 0, HEAP32[$0 >> 2] | 0) | 0) | 0; + HEAP32[$2 >> 2] = $15; + STACKTOP = sp; + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle9LocalName9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy = 0, $2 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $2 = sp; + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 8 >> 2] | 0, $1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 53698); + HEAP32[$$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy); + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 12 >> 2] | 0, $1); + STACKTOP = sp; + return; +} + +function __ZNSt3__26locale2id5__getEv($0) { + $0 = $0 | 0; + var $$byval_copy = 0, $1 = 0, $2 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $$byval_copy = sp + 32 | 0; + $1 = sp + 24 | 0; + $2 = sp; + $3 = sp + 16 | 0; + HEAP32[$3 >> 2] = 212; + HEAP32[$3 + 4 >> 2] = 0; + HEAP32[$$byval_copy >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$3 + 4 >> 2]; + __ZNSt3__212_GLOBAL__N_111__fake_bindC2EMNS_6locale2idEFvvEPS3_($2, $$byval_copy, $0); + if ((HEAP32[$0 >> 2] | 0) != -1) { + HEAP32[$$byval_copy >> 2] = $2; + HEAP32[$1 >> 2] = $$byval_copy; + __ZNSt3__211__call_onceERVmPvPFvS2_E($0, $1, 213); + } + STACKTOP = sp; + return (HEAP32[$0 + 4 >> 2] | 0) + -1 | 0; +} + +function __ZN6vision14Determinant3x3IfEET_PKS1_($0) { + $0 = $0 | 0; + var $1 = 0, $10 = 0, $13 = 0, $16 = 0.0, $21 = 0.0, $3 = 0, $5 = 0, $7 = 0, $9 = 0.0; + $1 = $0 + 16 | 0; + $3 = $0 + 20 | 0; + $5 = $0 + 28 | 0; + $7 = $0 + 32 | 0; + $9 = +__ZN6vision11Cofactor2x2IfEET_S1_S1_S1_S1_(+HEAPF32[$1 >> 2], +HEAPF32[$3 >> 2], +HEAPF32[$5 >> 2], +HEAPF32[$7 >> 2]); + $10 = $0 + 12 | 0; + $13 = $0 + 24 | 0; + $16 = +__ZN6vision11Cofactor2x2IfEET_S1_S1_S1_S1_(+HEAPF32[$10 >> 2], +HEAPF32[$3 >> 2], +HEAPF32[$13 >> 2], +HEAPF32[$7 >> 2]); + $21 = +__ZN6vision11Cofactor2x2IfEET_S1_S1_S1_S1_(+HEAPF32[$10 >> 2], +HEAPF32[$1 >> 2], +HEAPF32[$13 >> 2], +HEAPF32[$5 >> 2]); + return +($9 * +HEAPF32[$0 >> 2] - $16 * +HEAPF32[$0 + 4 >> 2] + $21 * +HEAPF32[$0 + 8 >> 2]); +} + +function _strtox_735($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $10 = 0, $12 = 0, $13 = 0, $5 = 0, $6 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(144); + $5 = sp; + HEAP32[$5 >> 2] = 0; + $6 = $5 + 4 | 0; + HEAP32[$6 >> 2] = $0; + HEAP32[$5 + 44 >> 2] = $0; + $10 = $5 + 8 | 0; + HEAP32[$10 >> 2] = ($0 | 0) < 0 ? -1 : $0 + 2147483647 | 0; + HEAP32[$5 + 76 >> 2] = -1; + ___shlim($5, 0, 0); + $12 = ___intscan($5, $2, 1, $3, $4) | 0; + $13 = getTempRet0() | 0; + if ($1 | 0) HEAP32[$1 >> 2] = $0 + ((HEAP32[$6 >> 2] | 0) + (HEAP32[$5 + 120 >> 2] | 0) - (HEAP32[$10 >> 2] | 0)); + setTempRet0($13 | 0); + STACKTOP = sp; + return $12 | 0; +} + +function __ZNSt3__211__stdoutbufIwE6xsputnEPKwl($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$010 = 0, $$011 = 0, $12 = 0, $14 = 0, $15 = 0; + L1 : do if (!(HEAP8[$0 + 44 >> 0] | 0)) { + $$0 = 0; + $$011 = $1; + while (1) { + if (($$0 | 0) >= ($2 | 0)) { + $$010 = $$0; + break L1; + } + $12 = HEAP32[(HEAP32[$0 >> 2] | 0) + 52 >> 2] | 0; + $14 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$$011 >> 2] | 0) | 0; + $15 = FUNCTION_TABLE_iii[$12 & 127]($0, $14) | 0; + if (($15 | 0) == (__ZNSt3__211char_traitsIwE3eofEv() | 0)) { + $$010 = $$0; + break L1; + } + $$0 = $$0 + 1 | 0; + $$011 = $$011 + 4 | 0; + } + } else $$010 = _fwrite($1, 4, $2, HEAP32[$0 + 32 >> 2] | 0) | 0; while (0); + return $$010 | 0; +} + +function __ZNSt3__214__num_put_base12__format_intEPcPKcbj($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0, $$013 = 0, $$2 = 0, $$2$ph = 0, $$sink = 0, $10 = 0; + if (!($3 & 2048)) $$0 = $0; else { + HEAP8[$0 >> 0] = 43; + $$0 = $0 + 1 | 0; + } + if (!($3 & 512)) $$2$ph = $$0; else { + HEAP8[$$0 >> 0] = 35; + $$2$ph = $$0 + 1 | 0; + } + $$013 = $1; + $$2 = $$2$ph; + while (1) { + $10 = HEAP8[$$013 >> 0] | 0; + if (!($10 << 24 >> 24)) break; + HEAP8[$$2 >> 0] = $10; + $$013 = $$013 + 1 | 0; + $$2 = $$2 + 1 | 0; + } + switch ($3 & 74) { + case 64: + { + $$sink = 111; + break; + } + case 8: + { + $$sink = $3 >>> 9 & 32 ^ 120; + break; + } + default: + $$sink = $2 ? 100 : 117; + } + HEAP8[$$2 >> 0] = $$sink; + return; +} + +function __ZNSt3__211__stdoutbufIcE6xsputnEPKcl($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$010 = 0, $$011 = 0, $12 = 0, $14 = 0, $15 = 0; + L1 : do if (!(HEAP8[$0 + 44 >> 0] | 0)) { + $$0 = 0; + $$011 = $1; + while (1) { + if (($$0 | 0) >= ($2 | 0)) { + $$010 = $$0; + break L1; + } + $12 = HEAP32[(HEAP32[$0 >> 2] | 0) + 52 >> 2] | 0; + $14 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$$011 >> 0] | 0) | 0; + $15 = FUNCTION_TABLE_iii[$12 & 127]($0, $14) | 0; + if (($15 | 0) == (__ZNSt3__211char_traitsIcE3eofEv() | 0)) { + $$010 = $$0; + break L1; + } + $$0 = $$0 + 1 | 0; + $$011 = $$011 + 1 | 0; + } + } else $$010 = _fwrite($1, 1, $2, HEAP32[$0 + 32 >> 2] | 0) | 0; while (0); + return $$010 | 0; +} + +function _skip_input_data($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0$lcssa = 0, $$013 = 0, $$lcssa = 0, $10 = 0, $12 = 0, $3 = 0, $5 = 0, $6 = 0, $8 = 0, $9 = 0; + $3 = HEAP32[$0 + 24 >> 2] | 0; + if (($1 | 0) <= 0) return; + $5 = $3 + 4 | 0; + $6 = HEAP32[$5 >> 2] | 0; + if (($6 | 0) < ($1 | 0)) { + $8 = $3 + 12 | 0; + $$013 = $1; + $10 = $6; + while (1) { + $9 = $$013 - $10 | 0; + FUNCTION_TABLE_ii[HEAP32[$8 >> 2] & 127]($0) | 0; + $12 = HEAP32[$5 >> 2] | 0; + if (($9 | 0) > ($12 | 0)) { + $$013 = $9; + $10 = $12; + } else { + $$0$lcssa = $9; + $$lcssa = $12; + break; + } + } + } else { + $$0$lcssa = $1; + $$lcssa = $6; + } + HEAP32[$3 >> 2] = (HEAP32[$3 >> 2] | 0) + $$0$lcssa; + HEAP32[$5 >> 2] = $$lcssa - $$0$lcssa; + return; +} + +function _arPattLoad($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $2 = 0, $4 = 0, $6 = 0, $7 = 0, $vararg_buffer = 0, $vararg_buffer1 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $vararg_buffer1 = sp + 8 | 0; + $vararg_buffer = sp; + $2 = _cat($1, 0) | 0; + if (!$2) { + HEAP32[$vararg_buffer >> 2] = $1; + _arLog(0, 3, 24397, $vararg_buffer); + $4 = ___errno_location() | 0; + $6 = _strerror(HEAP32[$4 >> 2] | 0) | 0; + HEAP32[$vararg_buffer1 >> 2] = 67447; + HEAP32[$vararg_buffer1 + 4 >> 2] = $6; + _arLog(0, 3, 25953, $vararg_buffer1); + $$0 = -1; + } else { + $7 = _arPattLoadFromBuffer($0, $2) | 0; + _free($2); + $$0 = $7; + } + STACKTOP = sp; + return $$0 | 0; +} + +function __ZNSt3__212__hash_tableINS_17__hash_value_typeIiNS_6vectorIN6vision7Point3dIfEENS_9allocatorIS5_EEEEEENS_22__unordered_map_hasherIiS9_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS9_NS_8equal_toIiEELb1EEENS6_IS9_EEED2Ev($0) { + $0 = $0 | 0; + var $3 = 0; + __ZNSt3__212__hash_tableINS_17__hash_value_typeIiNS_6vectorIN6vision7Point3dIfEENS_9allocatorIS5_EEEEEENS_22__unordered_map_hasherIiS9_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS9_NS_8equal_toIiEELb1EEENS6_IS9_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS9_PvEEEE($0, HEAP32[$0 + 8 >> 2] | 0); + $3 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = 0; + if ($3 | 0) __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($3, HEAP32[$0 + 4 >> 2] << 2); + return; +} + +function __ZNSt3__212__hash_tableINS_17__hash_value_typeIiNS_10shared_ptrIN6vision8KeyframeILi96EEEEEEENS_22__unordered_map_hasherIiS7_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS7_NS_8equal_toIiEELb1EEENS_9allocatorIS7_EEED2Ev($0) { + $0 = $0 | 0; + var $3 = 0; + __ZNSt3__212__hash_tableINS_17__hash_value_typeIiNS_10shared_ptrIN6vision8KeyframeILi96EEEEEEENS_22__unordered_map_hasherIiS7_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS7_NS_8equal_toIiEELb1EEENS_9allocatorIS7_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS7_PvEEEE($0, HEAP32[$0 + 8 >> 2] | 0); + $3 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = 0; + if ($3 | 0) __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($3, HEAP32[$0 + 4 >> 2] << 2); + return; +} + +function _arUtilMatMuldff($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$023 = 0, $28 = 0, $3 = 0, $4 = 0, $5 = 0; + $$0 = 0; + while (1) { + if (($$0 | 0) == 3) break; + $3 = $0 + ($$0 << 5) | 0; + $4 = $0 + ($$0 << 5) + 8 | 0; + $5 = $0 + ($$0 << 5) + 16 | 0; + $$023 = 0; + while (1) { + if (($$023 | 0) == 4) break; + HEAPF32[$2 + ($$0 << 4) + ($$023 << 2) >> 2] = +HEAPF32[$1 + ($$023 << 2) >> 2] * +HEAPF64[$3 >> 3] + +HEAPF32[$1 + 16 + ($$023 << 2) >> 2] * +HEAPF64[$4 >> 3] + +HEAPF32[$1 + 32 + ($$023 << 2) >> 2] * +HEAPF64[$5 >> 3]; + $$023 = $$023 + 1 | 0; + } + $28 = $2 + ($$0 << 4) + 12 | 0; + HEAPF32[$28 >> 2] = +HEAPF32[$28 >> 2] + +HEAPF64[$0 + ($$0 << 5) + 24 >> 3]; + $$0 = $$0 + 1 | 0; + } + return 0; +} + +function __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11__get_year4ERiRS4_S4_RjRKNS_5ctypeIwEE($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 $$byval_copy = 0, $6 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 4 | 0; + $6 = sp; + HEAP32[$6 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + $8 = __ZNSt3__220__get_up_to_n_digitsIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEiRT0_S5_RjRKNS_5ctypeIT_EEi($2, $$byval_copy, $4, $5, 4) | 0; + if (!(HEAP32[$4 >> 2] & 4)) HEAP32[$1 >> 2] = $8 + -1900; + STACKTOP = sp; + return; +} + +function __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11__get_year4ERiRS4_S4_RjRKNS_5ctypeIcEE($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 $$byval_copy = 0, $6 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 4 | 0; + $6 = sp; + HEAP32[$6 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$$byval_copy >> 2] = HEAP32[$6 >> 2]; + $8 = __ZNSt3__220__get_up_to_n_digitsIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEiRT0_S5_RjRKNS_5ctypeIT_EEi($2, $$byval_copy, $4, $5, 4) | 0; + if (!(HEAP32[$4 >> 2] & 4)) HEAP32[$1 >> 2] = $8 + -1900; + STACKTOP = sp; + return; +} + +function _arUtilMatMulf($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$023 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; + $$0 = 0; + while (1) { + if (($$0 | 0) == 3) break; + $3 = $0 + ($$0 << 4) | 0; + $4 = $0 + ($$0 << 4) + 4 | 0; + $5 = $0 + ($$0 << 4) + 8 | 0; + $$023 = 0; + while (1) { + if (($$023 | 0) == 4) break; + HEAPF32[$2 + ($$0 << 4) + ($$023 << 2) >> 2] = +HEAPF32[$3 >> 2] * +HEAPF32[$1 + ($$023 << 2) >> 2] + +HEAPF32[$4 >> 2] * +HEAPF32[$1 + 16 + ($$023 << 2) >> 2] + +HEAPF32[$5 >> 2] * +HEAPF32[$1 + 32 + ($$023 << 2) >> 2]; + $$023 = $$023 + 1 | 0; + } + $24 = $2 + ($$0 << 4) + 12 | 0; + HEAPF32[$24 >> 2] = +HEAPF32[$0 + ($$0 << 4) + 12 >> 2] + +HEAPF32[$24 >> 2]; + $$0 = $$0 + 1 | 0; + } + return 0; +} + +function _arUtilMatMul($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$023 = 0, $24 = 0, $3 = 0, $4 = 0, $5 = 0; + $$0 = 0; + while (1) { + if (($$0 | 0) == 3) break; + $3 = $0 + ($$0 << 5) | 0; + $4 = $0 + ($$0 << 5) + 8 | 0; + $5 = $0 + ($$0 << 5) + 16 | 0; + $$023 = 0; + while (1) { + if (($$023 | 0) == 4) break; + HEAPF64[$2 + ($$0 << 5) + ($$023 << 3) >> 3] = +HEAPF64[$3 >> 3] * +HEAPF64[$1 + ($$023 << 3) >> 3] + +HEAPF64[$4 >> 3] * +HEAPF64[$1 + 32 + ($$023 << 3) >> 3] + +HEAPF64[$5 >> 3] * +HEAPF64[$1 + 64 + ($$023 << 3) >> 3]; + $$023 = $$023 + 1 | 0; + } + $24 = $2 + ($$0 << 5) + 24 | 0; + HEAPF64[$24 >> 3] = +HEAPF64[$0 + ($$0 << 5) + 24 >> 3] + +HEAPF64[$24 >> 3]; + $$0 = $$0 + 1 | 0; + } + return 0; +} + +function _process_data_simple_main($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$pre$phiZ2D = 0, $15 = 0, $22 = 0, $5 = 0, $6 = 0, $8 = 0, $9 = 0; + $5 = HEAP32[$0 + 448 >> 2] | 0; + $6 = $5 + 48 | 0; + $8 = $5 + 52 | 0; + $9 = HEAP32[$8 >> 2] | 0; + do if ((HEAP32[$6 >> 2] | 0) >>> 0 >= $9 >>> 0) { + $15 = $5 + 8 | 0; + if (!(FUNCTION_TABLE_iii[HEAP32[(HEAP32[$0 + 452 >> 2] | 0) + 12 >> 2] & 127]($0, $15) | 0)) return; else { + HEAP32[$6 >> 2] = 0; + $$pre$phiZ2D = $15; + $22 = HEAP32[$8 >> 2] | 0; + break; + } + } else { + $$pre$phiZ2D = $5 + 8 | 0; + $22 = $9; + } while (0); + FUNCTION_TABLE_viiiiiii[HEAP32[(HEAP32[$0 + 456 >> 2] | 0) + 4 >> 2] & 7]($0, $$pre$phiZ2D, $6, $22, $1, $2, $3); + return; +} + +function __ZNSt3__210shared_ptrIN6vision8KeyframeILi96EEEEC2IS3_EEPT_NS_9enable_ifIXsr14is_convertibleIS7_PS3_EE5valueENS4_5__natEE4typeE($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0, $vararg_buffer = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $vararg_buffer = sp; + HEAP32[$0 >> 2] = $1; + $3 = __Znwm(16) | 0; + HEAP32[$3 + 4 >> 2] = 0; + HEAP32[$3 + 8 >> 2] = 0; + HEAP32[$3 >> 2] = 16820; + HEAP32[$3 + 12 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $3; + HEAP32[$vararg_buffer >> 2] = $1; + HEAP32[$vararg_buffer + 4 >> 2] = $1; + __ZNSt3__210shared_ptrIN6vision8KeyframeILi96EEEE18__enable_weak_thisEz($0, $vararg_buffer); + STACKTOP = sp; + return; +} + +function _request_virt_sarray($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 $$sink = 0, $14 = 0, $20 = 0, $7 = 0, $9 = 0; + $7 = HEAP32[$0 + 4 >> 2] | 0; + if (($1 | 0) == 1) $$sink = 1; else { + $9 = HEAP32[$0 >> 2] | 0; + HEAP32[$9 + 20 >> 2] = 15; + HEAP32[$9 + 24 >> 2] = $1; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + $$sink = $1; + } + $14 = _alloc_small($0, $$sink, 128) | 0; + HEAP32[$14 >> 2] = 0; + HEAP32[$14 + 4 >> 2] = $4; + HEAP32[$14 + 8 >> 2] = $3; + HEAP32[$14 + 12 >> 2] = $5; + HEAP32[$14 + 32 >> 2] = $2; + HEAP32[$14 + 40 >> 2] = 0; + $20 = $7 + 68 | 0; + HEAP32[$14 + 44 >> 2] = HEAP32[$20 >> 2]; + HEAP32[$20 >> 2] = $14; + return $14 | 0; +} + +function _request_virt_barray($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 $$sink = 0, $14 = 0, $20 = 0, $7 = 0, $9 = 0; + $7 = HEAP32[$0 + 4 >> 2] | 0; + if (($1 | 0) == 1) $$sink = 1; else { + $9 = HEAP32[$0 >> 2] | 0; + HEAP32[$9 + 20 >> 2] = 15; + HEAP32[$9 + 24 >> 2] = $1; + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 >> 2] >> 2] & 255]($0); + $$sink = $1; + } + $14 = _alloc_small($0, $$sink, 128) | 0; + HEAP32[$14 >> 2] = 0; + HEAP32[$14 + 4 >> 2] = $4; + HEAP32[$14 + 8 >> 2] = $3; + HEAP32[$14 + 12 >> 2] = $5; + HEAP32[$14 + 32 >> 2] = $2; + HEAP32[$14 + 40 >> 2] = 0; + $20 = $7 + 72 | 0; + HEAP32[$14 + 44 >> 2] = HEAP32[$20 >> 2]; + HEAP32[$20 >> 2] = $14; + return $14 | 0; +} + +function _arSetDebugMode($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $13 = 0, $6 = 0, $vararg_buffer = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $vararg_buffer = sp; + do if ($0) if ((HEAP32[$0 >> 2] | 0) != ($1 | 0)) { + HEAP32[$0 >> 2] = $1; + if (!$1) { + $6 = $0 + 4834148 | 0; + _free(HEAP32[$6 >> 2] | 0); + HEAP32[$6 >> 2] = 0; + $$0 = 0; + break; + } + $13 = _malloc(Math_imul(HEAP32[$0 + 40 >> 2] | 0, HEAP32[$0 + 36 >> 2] | 0) | 0) | 0; + HEAP32[$0 + 4834148 >> 2] = $13; + if (!$13) { + _arLog(0, 3, 45930, $vararg_buffer); + _exit(1); + } else $$0 = 0; + } else $$0 = 0; else $$0 = -1; while (0); + STACKTOP = sp; + return $$0 | 0; +} + +function __ZNSt3__26vectorIPN6vision4NodeILi96EEENS_9allocatorIS4_EEE7reserveEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $5 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp; + $5 = HEAP32[$0 >> 2] | 0; + if ((HEAP32[$0 + 8 >> 2] | 0) - $5 >> 2 >>> 0 < $1 >>> 0) { + __ZNSt3__214__split_bufferIPN6vision4NodeILi96EEERNS_9allocatorIS4_EEEC2EmmS7_($2, $1, (HEAP32[$0 + 4 >> 2] | 0) - $5 >> 2, $0 + 8 | 0); + __ZNSt3__26vectorIPN6vision4NodeILi96EEENS_9allocatorIS4_EEE26__swap_out_circular_bufferERNS_14__split_bufferIS4_RS6_EE($0, $2); + __ZNSt3__214__split_bufferIPN6vision4NodeILi96EEERNS_9allocatorIS4_EEED2Ev($2); + } + STACKTOP = sp; + return; +} + +function __ZN6vision28BinaryHierarchicalClusteringILi96EE5buildEPKhi($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$cast = 0, $3 = 0, $6 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp; + __ZNSt3__26vectorIiNS_9allocatorIiEEEC2Em($3, $2); + $6 = HEAP32[$3 >> 2] | 0; + $8 = (HEAP32[$3 + 4 >> 2] | 0) - $6 >> 2; + $$cast = $6; + $$0 = 0; + while (1) { + if (($$0 | 0) == ($8 | 0)) break; + HEAP32[$$cast + ($$0 << 2) >> 2] = $$0; + $$0 = $$0 + 1 | 0; + } + __ZN6vision28BinaryHierarchicalClusteringILi96EE5buildEPKhiPKii($0, $1, $2, $$cast, $8); + __ZNSt3__213__vector_baseIiNS_9allocatorIiEEED2Ev($3); + STACKTOP = sp; + return; +} + +function __ZN6vision19NormalizeHomographyIfEEvPT_($0) { + $0 = $0 | 0; + var $1 = 0, $12 = 0, $15 = 0, $18 = 0, $21 = 0, $24 = 0, $3 = 0.0, $6 = 0, $9 = 0; + $1 = $0 + 32 | 0; + $3 = 1.0 / +HEAPF32[$1 >> 2]; + HEAPF32[$0 >> 2] = +HEAPF32[$0 >> 2] * $3; + $6 = $0 + 4 | 0; + HEAPF32[$6 >> 2] = $3 * +HEAPF32[$6 >> 2]; + $9 = $0 + 8 | 0; + HEAPF32[$9 >> 2] = $3 * +HEAPF32[$9 >> 2]; + $12 = $0 + 12 | 0; + HEAPF32[$12 >> 2] = $3 * +HEAPF32[$12 >> 2]; + $15 = $0 + 16 | 0; + HEAPF32[$15 >> 2] = $3 * +HEAPF32[$15 >> 2]; + $18 = $0 + 20 | 0; + HEAPF32[$18 >> 2] = $3 * +HEAPF32[$18 >> 2]; + $21 = $0 + 24 | 0; + HEAPF32[$21 >> 2] = $3 * +HEAPF32[$21 >> 2]; + $24 = $0 + 28 | 0; + HEAPF32[$24 >> 2] = $3 * +HEAPF32[$24 >> 2]; + HEAPF32[$1 >> 2] = 1.0; + return; +} + +function _CENTER($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$025 = 0, $$026 = 0, $$027 = 0, $$028 = 0, $$1 = 0, $3 = 0, $5 = 0; + $3 = HEAP32[$0 + 4 >> 2] | 0; + $5 = HEAP32[$0 + 8 >> 2] | 0; + L1 : do if ((HEAP32[$1 + 4 >> 2] | 0) == ($5 | 0)) { + $$025 = 0; + $$027 = HEAP32[$0 >> 2] | 0; + while (1) { + if (($$025 | 0) >= ($3 | 0)) { + $$026 = 0; + break L1; + } + $$0 = 0; + $$028 = HEAP32[$1 >> 2] | 0; + $$1 = $$027; + while (1) { + if (($$0 | 0) >= ($5 | 0)) break; + HEAPF64[$$1 >> 3] = +HEAPF64[$$1 >> 3] - +HEAPF64[$$028 >> 3]; + $$0 = $$0 + 1 | 0; + $$028 = $$028 + 8 | 0; + $$1 = $$1 + 8 | 0; + } + $$025 = $$025 + 1 | 0; + $$027 = $$1; + } + } else $$026 = -1; while (0); + return $$026 | 0; +} + +function __ZN6vision34SolveHomography4PointsInhomogenousIfEEbPT_PKS1_S4_S4_S4_S4_S4_S4_S4_($0, $1, $2, $3, $4, $5, $6, $7, $8) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + var $$0 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 288 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(288); + $9 = sp; + __ZN6vision40Homography4PointsInhomogeneousConstraintIfEEvPT_PKS1_S4_S4_S4_S4_S4_S4_S4_($9, $1, $2, $3, $4, $5, $6, $7, $8); + if (__ZN6vision29SolveNullVector8x9DestructiveIfEEbPT_S2_($0, $9) | 0) $$0 = !(+Math_abs(+(+__ZN6vision14Determinant3x3IfEET_PKS1_($0))) < 1.0e-05); else $$0 = 0; + STACKTOP = sp; + return $$0 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle7NewExprC2ENS0_9NodeArrayEPNS0_4NodeES2_bb($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 $14 = 0, $15 = 0, $21 = 0, $26 = 0, $27 = 0, $9 = 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 51, 1, 1, 1); + HEAP32[$0 >> 2] = 18616; + $9 = $1; + $14 = HEAP32[$9 + 4 >> 2] | 0; + $15 = $0 + 8 | 0; + HEAP32[$15 >> 2] = HEAP32[$9 >> 2]; + HEAP32[$15 + 4 >> 2] = $14; + HEAP32[$0 + 16 >> 2] = $2; + $21 = $3; + $26 = HEAP32[$21 + 4 >> 2] | 0; + $27 = $0 + 20 | 0; + HEAP32[$27 >> 2] = HEAP32[$21 >> 2]; + HEAP32[$27 + 4 >> 2] = $26; + HEAP8[$0 + 28 >> 0] = $4 & 1; + HEAP8[$0 + 29 >> 0] = $5 & 1; + return; +} + +function __ZNSt3__210shared_ptrIhEC2Ih16NullArrayDeleterIhEEEPT_T0_NS_9enable_ifIXsr14is_convertibleIS6_PhEE5valueENS1_5__natEE4typeE($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0, $vararg_buffer = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $vararg_buffer = sp; + HEAP32[$0 >> 2] = $1; + $4 = __Znwm(16) | 0; + HEAP32[$4 + 4 >> 2] = 0; + HEAP32[$4 + 8 >> 2] = 0; + HEAP32[$4 >> 2] = 16876; + HEAP32[$4 + 12 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $4; + HEAP32[$vararg_buffer >> 2] = $1; + HEAP32[$vararg_buffer + 4 >> 2] = $1; + __ZNSt3__210shared_ptrIhE18__enable_weak_thisEz($0, $vararg_buffer); + STACKTOP = sp; + return; +} + +function _icpGetU_from_X_by_MatX2U($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $21 = 0.0, $3 = 0.0, $36 = 0.0, $5 = 0.0, $7 = 0.0; + $3 = +HEAPF64[$2 >> 3]; + $5 = +HEAPF64[$2 + 8 >> 3]; + $7 = +HEAPF64[$2 + 16 >> 3]; + $21 = +HEAPF64[$1 + 88 >> 3] + ($3 * +HEAPF64[$1 + 64 >> 3] + $5 * +HEAPF64[$1 + 72 >> 3] + $7 * +HEAPF64[$1 + 80 >> 3]); + if ($21 == 0.0) $$0 = -1; else { + $36 = +HEAPF64[$1 + 56 >> 3] + ($3 * +HEAPF64[$1 + 32 >> 3] + $5 * +HEAPF64[$1 + 40 >> 3] + $7 * +HEAPF64[$1 + 48 >> 3]); + HEAPF64[$0 >> 3] = (+HEAPF64[$1 + 24 >> 3] + ($3 * +HEAPF64[$1 >> 3] + $5 * +HEAPF64[$1 + 8 >> 3] + $7 * +HEAPF64[$1 + 16 >> 3])) / $21; + HEAPF64[$0 + 8 >> 3] = $36 / $21; + $$0 = 0; + } + return $$0 | 0; +} + +function __ZL10loadMarkerPKcPiP8ARHandlePP12ARPattHandle($patt_name, $patt_id, $pattHandle_p) { + $patt_name = $patt_name | 0; + $patt_id = $patt_id | 0; + $pattHandle_p = $pattHandle_p | 0; + var $call = 0, $retval$0 = 0, $vararg_buffer = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $vararg_buffer = sp; + $call = _arPattLoad(HEAP32[$pattHandle_p >> 2] | 0, $patt_name) | 0; + HEAP32[$patt_id >> 2] = $call; + if (($call | 0) < 0) { + HEAP32[$vararg_buffer >> 2] = $patt_name; + _arLog(0, 3, 45349, $vararg_buffer); + _arPattDeleteHandle(HEAP32[$pattHandle_p >> 2] | 0) | 0; + $retval$0 = 0; + } else $retval$0 = 1; + STACKTOP = sp; + return $retval$0 | 0; +} + +function _arMatrixDup($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$021 = 0, $$022 = 0, $13 = 0, $16 = 0, $3 = 0, $8 = 0; + $3 = HEAP32[$0 + 4 >> 2] | 0; + L1 : do if (($3 | 0) == (HEAP32[$1 + 4 >> 2] | 0) ? ($8 = HEAP32[$0 + 8 >> 2] | 0, ($8 | 0) == (HEAP32[$1 + 8 >> 2] | 0)) : 0) { + $$021 = 0; + while (1) { + if (($$021 | 0) >= ($3 | 0)) { + $$022 = 0; + break L1; + } + $13 = Math_imul($$021, $8) | 0; + $$0 = 0; + while (1) { + if (($$0 | 0) >= ($8 | 0)) break; + $16 = $$0 + $13 | 0; + HEAPF64[(HEAP32[$0 >> 2] | 0) + ($16 << 3) >> 3] = +HEAPF64[(HEAP32[$1 >> 2] | 0) + ($16 << 3) >> 3]; + $$0 = $$0 + 1 | 0; + } + $$021 = $$021 + 1 | 0; + } + } else $$022 = -1; while (0); + return $$022 | 0; +} + +function __ZNSt3__214__split_bufferINS_6vectorINS1_INS_4pairIfmEENS_9allocatorIS3_EEEENS4_IS6_EEEERNS4_IS8_EEEC2EmmSA_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $11 = 0, $12 = 0, $4 = 0, $8 = 0; + $4 = $0 + 12 | 0; + HEAP32[$4 >> 2] = 0; + HEAP32[$0 + 16 >> 2] = $3; + do if ($1) if ($1 >>> 0 > 357913941) { + $8 = ___cxa_allocate_exception(8) | 0; + __ZNSt11logic_errorC2EPKc($8, 41481); + HEAP32[$8 >> 2] = 17472; + ___cxa_throw($8 | 0, 13960, 22); + } else { + $11 = __Znwm($1 * 12 | 0) | 0; + break; + } else $11 = 0; while (0); + HEAP32[$0 >> 2] = $11; + $12 = $11 + ($2 * 12 | 0) | 0; + HEAP32[$0 + 8 >> 2] = $12; + HEAP32[$0 + 4 >> 2] = $12; + HEAP32[$4 >> 2] = $11 + ($1 * 12 | 0); + return; +} + +function __ZNSt3__214__split_bufferIN6vision25DoGScaleInvariantDetector12FeaturePointERNS_9allocatorIS3_EEEC2EmmS6_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $11 = 0, $12 = 0, $4 = 0, $8 = 0; + $4 = $0 + 12 | 0; + HEAP32[$4 >> 2] = 0; + HEAP32[$0 + 16 >> 2] = $3; + do if ($1) if ($1 >>> 0 > 119304647) { + $8 = ___cxa_allocate_exception(8) | 0; + __ZNSt11logic_errorC2EPKc($8, 41481); + HEAP32[$8 >> 2] = 17472; + ___cxa_throw($8 | 0, 13960, 22); + } else { + $11 = __Znwm($1 * 36 | 0) | 0; + break; + } else $11 = 0; while (0); + HEAP32[$0 >> 2] = $11; + $12 = $11 + ($2 * 36 | 0) | 0; + HEAP32[$0 + 8 >> 2] = $12; + HEAP32[$0 + 4 >> 2] = $12; + HEAP32[$4 >> 2] = $11 + ($1 * 36 | 0); + return; +} + +function __ZNSt3__211__stdoutbufIwEC2EP8_IO_FILEP11__mbstate_t($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $14 = 0, $3 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp; + __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEEC2Ev($0); + HEAP32[$0 >> 2] = 20888; + HEAP32[$0 + 32 >> 2] = $1; + __ZNSt3__26localeC2ERKS0_($3, $0 + 4 | 0); + $7 = __ZNKSt3__26locale9use_facetERNS0_2idE($3, 66824) | 0; + __ZNSt3__26localeD2Ev($3); + HEAP32[$0 + 36 >> 2] = $7; + HEAP32[$0 + 40 >> 2] = $2; + $14 = (FUNCTION_TABLE_ii[HEAP32[(HEAP32[$7 >> 2] | 0) + 28 >> 2] & 127]($7) | 0) & 1; + HEAP8[$0 + 44 >> 0] = $14; + STACKTOP = sp; + return; +} + +function __ZNSt3__211__stdoutbufIcEC2EP8_IO_FILEP11__mbstate_t($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $14 = 0, $3 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp; + __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEEC2Ev($0); + HEAP32[$0 >> 2] = 20952; + HEAP32[$0 + 32 >> 2] = $1; + __ZNSt3__26localeC2ERKS0_($3, $0 + 4 | 0); + $7 = __ZNKSt3__26locale9use_facetERNS0_2idE($3, 66816) | 0; + __ZNSt3__26localeD2Ev($3); + HEAP32[$0 + 36 >> 2] = $7; + HEAP32[$0 + 40 >> 2] = $2; + $14 = (FUNCTION_TABLE_ii[HEAP32[(HEAP32[$7 >> 2] | 0) + 28 >> 2] & 127]($7) | 0) & 1; + HEAP8[$0 + 44 >> 0] = $14; + STACKTOP = sp; + return; +} + +function __ZN10emscripten8internal7InvokerIiJiiEE6invokeEPFiiiEii($fn, $args, $args1) { + $fn = $fn | 0; + $args = $args | 0; + $args1 = $args1 | 0; + var $call = 0, $call3 = 0, $call4 = 0, $call5 = 0, $ref$tmp = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $ref$tmp = sp; + $call = __ZN10emscripten8internal11BindingTypeIivE12fromWireTypeEi($args) | 0; + $call3 = __ZN10emscripten8internal11BindingTypeIivE12fromWireTypeEi($args1) | 0; + $call4 = FUNCTION_TABLE_iii[$fn & 127]($call, $call3) | 0; + HEAP32[$ref$tmp >> 2] = $call4; + $call5 = __ZN10emscripten8internal11BindingTypeIivE10toWireTypeERKi($ref$tmp) | 0; + STACKTOP = sp; + return $call5 | 0; +} + +function __ZNSt3__26vectorIN6vision12FeaturePointENS_9allocatorIS2_EEE6resizeEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0$i$i = 0, $12 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $6 = 0, $8 = 0, $9 = 0; + $2 = $0 + 4 | 0; + $3 = HEAP32[$2 >> 2] | 0; + $4 = HEAP32[$0 >> 2] | 0; + $6 = ($3 - $4 | 0) / 20 | 0; + $8 = $4; + $9 = $3; + if ($6 >>> 0 >= $1 >>> 0) { + if ($6 >>> 0 > $1 >>> 0) { + $12 = $8 + ($1 * 20 | 0) | 0; + $$0$i$i = $9; + while (1) { + if (($$0$i$i | 0) == ($12 | 0)) break; + $14 = $$0$i$i + -20 | 0; + __ZN6vision12FeaturePointD2Ev($14); + $$0$i$i = $14; + } + HEAP32[$2 >> 2] = $12; + } + } else __ZNSt3__26vectorIN6vision12FeaturePointENS_9allocatorIS2_EEE8__appendEm($0, $1 - $6 | 0); + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle20DynamicExceptionSpec9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy = 0, $2 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $2 = sp; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 56394); + HEAP32[$$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy); + __ZNK12_GLOBAL__N_116itanium_demangle9NodeArray14printWithCommaERNS_12OutputStreamE($0 + 8 | 0, $1); + __ZN12_GLOBAL__N_112OutputStreampLEc($1, 41); + STACKTOP = sp; + return; +} + +function _jinit_inverse_dct($0) { + $0 = $0 | 0; + var $$02021 = 0, $$022 = 0, $1 = 0, $11 = 0, $14 = 0, $4 = 0, $6 = 0; + $1 = $0 + 4 | 0; + $4 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 84) | 0; + HEAP32[$0 + 472 >> 2] = $4; + HEAP32[$4 >> 2] = 192; + $6 = $0 + 36 | 0; + if ((HEAP32[$6 >> 2] | 0) <= 0) return; + $11 = $4 + 44 | 0; + $$02021 = 0; + $$022 = HEAP32[$0 + 216 >> 2] | 0; + while (1) { + $14 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$1 >> 2] >> 2] & 63]($0, 1, 256) | 0; + HEAP32[$$022 + 84 >> 2] = $14; + _memset($14 | 0, 0, 256) | 0; + HEAP32[$11 + ($$02021 << 2) >> 2] = -1; + $$02021 = $$02021 + 1 | 0; + if (($$02021 | 0) >= (HEAP32[$6 >> 2] | 0)) break; else $$022 = $$022 + 88 | 0; + } + return; +} + +function __ZNSt3__212__hash_tableINS_17__hash_value_typeIiP14AR2SurfaceSetTEENS_22__unordered_map_hasherIiS4_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS4_NS_8equal_toIiEELb1EEENS_9allocatorIS4_EEED2Ev($this) { + $this = $this | 0; + var $1 = 0; + __ZNSt3__212__hash_tableINS_17__hash_value_typeIiP14AR2SurfaceSetTEENS_22__unordered_map_hasherIiS4_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS4_NS_8equal_toIiEELb1EEENS_9allocatorIS4_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS4_PvEEEE($this, HEAP32[$this + 8 >> 2] | 0); + $1 = HEAP32[$this >> 2] | 0; + HEAP32[$this >> 2] = 0; + if ($1 | 0) __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($1, HEAP32[$this + 4 >> 2] << 2); + return; +} + +function __ZNSt3__26vectorIN6vision7match_tENS_9allocatorIS2_EEE7reserveEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $5 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $2 = sp; + $5 = HEAP32[$0 >> 2] | 0; + if ((HEAP32[$0 + 8 >> 2] | 0) - $5 >> 3 >>> 0 < $1 >>> 0) { + __ZNSt3__214__split_bufferIN6vision7match_tERNS_9allocatorIS2_EEEC2EmmS5_($2, $1, (HEAP32[$0 + 4 >> 2] | 0) - $5 >> 3, $0 + 8 | 0); + __ZNSt3__26vectorIN6vision7match_tENS_9allocatorIS2_EEE26__swap_out_circular_bufferERNS_14__split_bufferIS2_RS4_EE($0, $2); + __ZNSt3__214__split_bufferIN6vision7match_tERNS_9allocatorIS2_EEED2Ev($2); + } + STACKTOP = sp; + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle12EnableIfAttr9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy = 0, $2 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $2 = sp; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 56677); + HEAP32[$$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy); + __ZNK12_GLOBAL__N_116itanium_demangle9NodeArray14printWithCommaERNS_12OutputStreamE($0 + 8 | 0, $1); + __ZN12_GLOBAL__N_112OutputStreampLEc($1, 93); + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E20popTrailingNodeArrayEm($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0, $5 = 0; + $3 = $1 + 8 | 0; + $5 = (__ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE5beginEv($3) | 0) + ($2 << 2) | 0; + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E13makeNodeArrayIPPNS0_4NodeEEENS0_9NodeArrayET_SB_($0, $1, $5, __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE3endEv($3) | 0); + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE8dropBackEm($3, $2); + return; +} + +function __ZNSt3__214__split_bufferINS_6vectorINS_4pairIfmEENS_9allocatorIS3_EEEERNS4_IS6_EEEC2EmmS8_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $11 = 0, $12 = 0, $4 = 0, $8 = 0; + $4 = $0 + 12 | 0; + HEAP32[$4 >> 2] = 0; + HEAP32[$0 + 16 >> 2] = $3; + do if ($1) if ($1 >>> 0 > 357913941) { + $8 = ___cxa_allocate_exception(8) | 0; + __ZNSt11logic_errorC2EPKc($8, 41481); + HEAP32[$8 >> 2] = 17472; + ___cxa_throw($8 | 0, 13960, 22); + } else { + $11 = __Znwm($1 * 12 | 0) | 0; + break; + } else $11 = 0; while (0); + HEAP32[$0 >> 2] = $11; + $12 = $11 + ($2 * 12 | 0) | 0; + HEAP32[$0 + 8 >> 2] = $12; + HEAP32[$0 + 4 >> 2] = $12; + HEAP32[$4 >> 2] = $11 + ($1 * 12 | 0); + return; +} + +function __ZNSt3__210__stdinbufIwEC2EP8_IO_FILEP11__mbstate_t($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $11 = 0, $3 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp; + __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEEC2Ev($0); + HEAP32[$0 >> 2] = 21016; + HEAP32[$0 + 32 >> 2] = $1; + HEAP32[$0 + 40 >> 2] = $2; + $7 = __ZNSt3__211char_traitsIwE3eofEv() | 0; + HEAP32[$0 + 48 >> 2] = $7; + HEAP8[$0 + 52 >> 0] = 0; + $11 = HEAP32[(HEAP32[$0 >> 2] | 0) + 8 >> 2] | 0; + __ZNSt3__26localeC2ERKS0_($3, $0 + 4 | 0); + FUNCTION_TABLE_vii[$11 & 255]($0, $3); + __ZNSt3__26localeD2Ev($3); + STACKTOP = sp; + return; +} + +function __ZNSt3__210__stdinbufIcEC2EP8_IO_FILEP11__mbstate_t($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $11 = 0, $3 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp; + __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEEC2Ev($0); + HEAP32[$0 >> 2] = 21080; + HEAP32[$0 + 32 >> 2] = $1; + HEAP32[$0 + 40 >> 2] = $2; + $7 = __ZNSt3__211char_traitsIcE3eofEv() | 0; + HEAP32[$0 + 48 >> 2] = $7; + HEAP8[$0 + 52 >> 0] = 0; + $11 = HEAP32[(HEAP32[$0 >> 2] | 0) + 8 >> 2] | 0; + __ZNSt3__26localeC2ERKS0_($3, $0 + 4 | 0); + FUNCTION_TABLE_vii[$11 & 255]($0, $3); + __ZNSt3__26localeD2Ev($3); + STACKTOP = sp; + return; +} + +function __ZNSt3__212__hash_tableINS_17__hash_value_typeIiNS_6vectorIiNS_9allocatorIiEEEEEENS_22__unordered_map_hasherIiS6_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS6_NS_8equal_toIiEELb1EEENS3_IS6_EEED2Ev($0) { + $0 = $0 | 0; + var $3 = 0; + __ZNSt3__212__hash_tableINS_17__hash_value_typeIiNS_6vectorIiNS_9allocatorIiEEEEEENS_22__unordered_map_hasherIiS6_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS6_NS_8equal_toIiEELb1EEENS3_IS6_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS6_PvEEEE($0, HEAP32[$0 + 8 >> 2] | 0); + $3 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = 0; + if ($3 | 0) __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($3, HEAP32[$0 + 4 >> 2] << 2); + return; +} + +function __ZN6vision9MaxIndex9IfEEiPKT_($0) { + $0 = $0 | 0; + var $$0 = 0, $$1 = 0, $$2 = 0, $$3 = 0, $$4 = 0, $$5 = 0, $$6 = 0; + $$0 = +HEAPF32[$0 + 4 >> 2] > +HEAPF32[$0 >> 2] & 1; + $$1 = +HEAPF32[$0 + 8 >> 2] > +HEAPF32[$0 + ($$0 << 2) >> 2] ? 2 : $$0; + $$2 = +HEAPF32[$0 + 12 >> 2] > +HEAPF32[$0 + ($$1 << 2) >> 2] ? 3 : $$1; + $$3 = +HEAPF32[$0 + 16 >> 2] > +HEAPF32[$0 + ($$2 << 2) >> 2] ? 4 : $$2; + $$4 = +HEAPF32[$0 + 20 >> 2] > +HEAPF32[$0 + ($$3 << 2) >> 2] ? 5 : $$3; + $$5 = +HEAPF32[$0 + 24 >> 2] > +HEAPF32[$0 + ($$4 << 2) >> 2] ? 6 : $$4; + $$6 = +HEAPF32[$0 + 28 >> 2] > +HEAPF32[$0 + ($$5 << 2) >> 2] ? 7 : $$5; + return (+HEAPF32[$0 + 32 >> 2] > +HEAPF32[$0 + ($$6 << 2) >> 2] ? 8 : $$6) | 0; +} + +function _pad_667($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, $14 = 0, $5 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 256 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(256); + $5 = sp; + if (($2 | 0) > ($3 | 0) & ($4 & 73728 | 0) == 0) { + $9 = $2 - $3 | 0; + _memset($5 | 0, $1 << 24 >> 24 | 0, ($9 >>> 0 < 256 ? $9 : 256) | 0) | 0; + if ($9 >>> 0 > 255) { + $14 = $2 - $3 | 0; + $$011 = $9; + do { + _out($0, $5, 256); + $$011 = $$011 + -256 | 0; + } while ($$011 >>> 0 > 255); + $$0$lcssa = $14 & 255; + } else $$0$lcssa = $9; + _out($0, $5, $$0$lcssa); + } + STACKTOP = sp; + return; +} + +function __ZNSt3__26vectorIN6vision12FeaturePointENS_9allocatorIS2_EEE18__construct_at_endIPS2_EENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeES9_S9_m($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0$i = 0, $4 = 0, $6 = 0; + $4 = $0 + 4 | 0; + $$0$i = $1; + while (1) { + if (($$0$i | 0) == ($2 | 0)) break; + $6 = HEAP32[$4 >> 2] | 0; + HEAP32[$6 >> 2] = HEAP32[$$0$i >> 2]; + HEAP32[$6 + 4 >> 2] = HEAP32[$$0$i + 4 >> 2]; + HEAP32[$6 + 8 >> 2] = HEAP32[$$0$i + 8 >> 2]; + HEAP32[$6 + 12 >> 2] = HEAP32[$$0$i + 12 >> 2]; + HEAP32[$6 + 16 >> 2] = HEAP32[$$0$i + 16 >> 2]; + HEAP32[$4 >> 2] = (HEAP32[$4 >> 2] | 0) + 20; + $$0$i = $$0$i + 20 | 0; + } + return; +} + +function __ZN6vision23DeterminantSymmetric3x3IfEET_PKS1_($0) { + $0 = $0 | 0; + var $1 = 0, $10 = 0.0, $12 = 0, $14 = 0.0, $15 = 0, $16 = 0.0, $18 = 0.0, $19 = 0.0, $2 = 0.0, $22 = 0.0, $3 = 0, $6 = 0.0; + $1 = $0 + 32 | 0; + $2 = +HEAPF32[$1 >> 2]; + $3 = $0 + 4 | 0; + $6 = $2 * +__ZN6vision3sqrIfEET_S1_(+HEAPF32[$3 >> 2]); + $10 = +HEAPF32[$0 + 8 >> 2]; + $12 = $0 + 20 | 0; + $14 = +HEAPF32[$3 >> 2] * 2.0 * $10 * +HEAPF32[$12 >> 2]; + $15 = $0 + 16 | 0; + $16 = +HEAPF32[$15 >> 2]; + $18 = $16 * +__ZN6vision3sqrIfEET_S1_($10); + $19 = +HEAPF32[$0 >> 2]; + $22 = $19 * +__ZN6vision3sqrIfEET_S1_(+HEAPF32[$12 >> 2]); + return +($14 - $6 - $18 - $22 + +HEAPF32[$0 >> 2] * +HEAPF32[$15 >> 2] * +HEAPF32[$1 >> 2]); +} + +function __ZNSt3__214__split_bufferIN6vision17PriorityQueueItemILi96EEERNS_9allocatorIS3_EEEC2EmmS6_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $11 = 0, $12 = 0, $4 = 0, $8 = 0; + $4 = $0 + 12 | 0; + HEAP32[$4 >> 2] = 0; + HEAP32[$0 + 16 >> 2] = $3; + do if ($1) if ($1 >>> 0 > 536870911) { + $8 = ___cxa_allocate_exception(8) | 0; + __ZNSt11logic_errorC2EPKc($8, 41481); + HEAP32[$8 >> 2] = 17472; + ___cxa_throw($8 | 0, 13960, 22); + } else { + $11 = __Znwm($1 << 3) | 0; + break; + } else $11 = 0; while (0); + HEAP32[$0 >> 2] = $11; + $12 = $11 + ($2 << 3) | 0; + HEAP32[$0 + 8 >> 2] = $12; + HEAP32[$0 + 4 >> 2] = $12; + HEAP32[$4 >> 2] = $11 + ($1 << 3); + return; +} + +function __ZNSt3__214__split_bufferIN6vision12FeaturePointERNS_9allocatorIS2_EEEC2EmmS5_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $11 = 0, $12 = 0, $4 = 0, $8 = 0; + $4 = $0 + 12 | 0; + HEAP32[$4 >> 2] = 0; + HEAP32[$0 + 16 >> 2] = $3; + do if ($1) if ($1 >>> 0 > 214748364) { + $8 = ___cxa_allocate_exception(8) | 0; + __ZNSt11logic_errorC2EPKc($8, 41481); + HEAP32[$8 >> 2] = 17472; + ___cxa_throw($8 | 0, 13960, 22); + } else { + $11 = __Znwm($1 * 20 | 0) | 0; + break; + } else $11 = 0; while (0); + HEAP32[$0 >> 2] = $11; + $12 = $11 + ($2 * 20 | 0) | 0; + HEAP32[$0 + 8 >> 2] = $12; + HEAP32[$0 + 4 >> 2] = $12; + HEAP32[$4 >> 2] = $11 + ($1 * 20 | 0); + return; +} + +function __ZNKSt3__27collateIcE10do_compareEPKcS3_S3_S3_($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0 = 0, $$011 = 0, $$012 = 0, $7 = 0, $8 = 0, label = 0; + $$011 = $3; + $$012 = $1; + while (1) { + if (($$011 | 0) == ($4 | 0)) { + label = 7; + break; + } + if (($$012 | 0) == ($2 | 0)) { + $$0 = -1; + break; + } + $7 = HEAP8[$$012 >> 0] | 0; + $8 = HEAP8[$$011 >> 0] | 0; + if ($7 << 24 >> 24 < $8 << 24 >> 24) { + $$0 = -1; + break; + } + if ($8 << 24 >> 24 < $7 << 24 >> 24) { + $$0 = 1; + break; + } + $$011 = $$011 + 1 | 0; + $$012 = $$012 + 1 | 0; + } + if ((label | 0) == 7) $$0 = ($$012 | 0) != ($2 | 0) & 1; + return $$0 | 0; +} + +function _realloc($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$1 = 0, $11 = 0, $14 = 0, $17 = 0, $22 = 0, $5 = 0; + if (!$0) { + $$1 = _malloc($1) | 0; + return $$1 | 0; + } + if ($1 >>> 0 > 4294967231) { + $5 = ___errno_location() | 0; + HEAP32[$5 >> 2] = 48; + $$1 = 0; + return $$1 | 0; + } + $11 = _try_realloc_chunk($0 + -8 | 0, $1 >>> 0 < 11 ? 16 : $1 + 11 & -8) | 0; + if ($11 | 0) { + $$1 = $11 + 8 | 0; + return $$1 | 0; + } + $14 = _malloc($1) | 0; + if (!$14) { + $$1 = 0; + return $$1 | 0; + } + $17 = HEAP32[$0 + -4 >> 2] | 0; + $22 = ($17 & -8) - (($17 & 3 | 0) == 0 ? 8 : 4) | 0; + _memcpy($14 | 0, $0 | 0, ($22 >>> 0 < $1 >>> 0 ? $22 : $1) | 0) | 0; + _free($0); + $$1 = $14; + return $$1 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle8NameType9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $10 = 0, $2 = 0, $4 = 0, $9 = 0, $tmpcast$byval_copy = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $tmpcast$byval_copy = sp + 8 | 0; + $2 = sp; + $4 = $0 + 8 | 0; + $9 = HEAP32[$4 + 4 >> 2] | 0; + $10 = $2; + HEAP32[$10 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$10 + 4 >> 2] = $9; + HEAP32[$tmpcast$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$tmpcast$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $tmpcast$byval_copy); + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle16FunctionEncodingC2EPKNS0_4NodeES4_NS0_9NodeArrayES4_NS0_10QualifiersENS0_15FunctionRefQualE($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 $10 = 0, $15 = 0, $16 = 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 18, 0, 1, 0); + HEAP32[$0 >> 2] = 20420; + HEAP32[$0 + 8 >> 2] = $1; + HEAP32[$0 + 12 >> 2] = $2; + $10 = $3; + $15 = HEAP32[$10 + 4 >> 2] | 0; + $16 = $0 + 16 | 0; + HEAP32[$16 >> 2] = HEAP32[$10 >> 2]; + HEAP32[$16 + 4 >> 2] = $15; + HEAP32[$0 + 24 >> 2] = $4; + HEAP32[$0 + 28 >> 2] = $5; + HEAP8[$0 + 32 >> 0] = $6; + return; +} + +function __ZNSt3__214__split_bufferIN6vision7Point3dIfEERNS_9allocatorIS3_EEEC2EmmS6_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $11 = 0, $12 = 0, $4 = 0, $8 = 0; + $4 = $0 + 12 | 0; + HEAP32[$4 >> 2] = 0; + HEAP32[$0 + 16 >> 2] = $3; + do if ($1) if ($1 >>> 0 > 357913941) { + $8 = ___cxa_allocate_exception(8) | 0; + __ZNSt11logic_errorC2EPKc($8, 41481); + HEAP32[$8 >> 2] = 17472; + ___cxa_throw($8 | 0, 13960, 22); + } else { + $11 = __Znwm($1 * 12 | 0) | 0; + break; + } else $11 = 0; while (0); + HEAP32[$0 >> 2] = $11; + $12 = $11 + ($2 * 12 | 0) | 0; + HEAP32[$0 + 8 >> 2] = $12; + HEAP32[$0 + 4 >> 2] = $12; + HEAP32[$4 >> 2] = $11 + ($1 * 12 | 0); + return; +} + +function _jpeg_stdio_src($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $11 = 0, $14 = 0, $2 = 0, $3 = 0, $5 = 0, $8 = 0; + $2 = $0 + 24 | 0; + $3 = HEAP32[$2 >> 2] | 0; + if (!$3) { + $5 = $0 + 4 | 0; + $8 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$5 >> 2] >> 2] & 63]($0, 0, 40) | 0; + HEAP32[$2 >> 2] = $8; + $11 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$5 >> 2] >> 2] & 63]($0, 0, 4096) | 0; + HEAP32[$8 + 32 >> 2] = $11; + $14 = HEAP32[$2 >> 2] | 0; + } else $14 = $3; + HEAP32[$14 + 8 >> 2] = 201; + HEAP32[$14 + 12 >> 2] = 85; + HEAP32[$14 + 16 >> 2] = 137; + HEAP32[$14 + 20 >> 2] = 71; + HEAP32[$14 + 24 >> 2] = 202; + HEAP32[$14 + 28 >> 2] = $1; + HEAP32[$14 + 4 >> 2] = 0; + HEAP32[$14 >> 2] = 0; + return; +} + +function __ZNK6vision21HoughSimilarityVoting23getMaximumNumberOfVotesERfRi($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$sroa$09$0 = 0, $$sroa$09$0$in = 0, $10 = 0.0, $14 = 0.0, $15 = 0.0, $5 = 0, $6 = 0; + HEAPF32[$1 >> 2] = 0.0; + HEAP32[$2 >> 2] = -1; + $$sroa$09$0$in = $0 + 100 | 0; + $10 = 0.0; + while (1) { + $$sroa$09$0 = HEAP32[$$sroa$09$0$in >> 2] | 0; + if (!$$sroa$09$0) break; + $5 = $$sroa$09$0; + $6 = $5 + 12 | 0; + if ($10 < +((HEAP32[$6 >> 2] | 0) >>> 0)) { + HEAP32[$2 >> 2] = HEAP32[$5 + 8 >> 2]; + $14 = +((HEAP32[$6 >> 2] | 0) >>> 0); + HEAPF32[$1 >> 2] = $14; + $15 = $14; + } else $15 = $10; + $$sroa$09$0$in = $$sroa$09$0; + $10 = $15; + } + return; +} + +function __ZN6vision32CauchyProjectiveReprojectionCostIfEET_PKS1_S3_S3_S1_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = +$3; + var $18 = 0.0, $4 = 0, $5 = 0, $6 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $4 = sp + 8 | 0; + $5 = sp; + $6 = $4 + 4 | 0; + __ZN6vision35MultiplyPointHomographyInhomogenousIfEEvRT_S2_PKS1_S1_S1_($4, $6, $0, +HEAPF32[$1 >> 2], +HEAPF32[$1 + 4 >> 2]); + HEAPF32[$5 >> 2] = +HEAPF32[$4 >> 2] - +HEAPF32[$2 >> 2]; + HEAPF32[$5 + 4 >> 2] = +HEAPF32[$6 >> 2] - +HEAPF32[$2 + 4 >> 2]; + $18 = +__ZN6vision10CauchyCostIfEET_PKS1_S1_($5, $3); + STACKTOP = sp; + return +$18; +} + +function ___toread($0) { + $0 = $0 | 0; + var $$0 = 0, $1 = 0, $15 = 0, $23 = 0, $3 = 0, $7 = 0, $9 = 0; + $1 = $0 + 74 | 0; + $3 = HEAP8[$1 >> 0] | 0; + HEAP8[$1 >> 0] = $3 + 255 | $3; + $7 = $0 + 20 | 0; + $9 = $0 + 28 | 0; + if ((HEAP32[$7 >> 2] | 0) >>> 0 > (HEAP32[$9 >> 2] | 0) >>> 0) FUNCTION_TABLE_iiii[HEAP32[$0 + 36 >> 2] & 63]($0, 0, 0) | 0; + HEAP32[$0 + 16 >> 2] = 0; + HEAP32[$9 >> 2] = 0; + HEAP32[$7 >> 2] = 0; + $15 = HEAP32[$0 >> 2] | 0; + if (!($15 & 4)) { + $23 = (HEAP32[$0 + 44 >> 2] | 0) + (HEAP32[$0 + 48 >> 2] | 0) | 0; + HEAP32[$0 + 8 >> 2] = $23; + HEAP32[$0 + 4 >> 2] = $23; + $$0 = $15 << 27 >> 31; + } else { + HEAP32[$0 >> 2] = $15 | 32; + $$0 = -1; + } + return $$0 | 0; +} + +function __ZNSt3__210shared_ptrIhEC2IhEEPT_NS_9enable_ifIXsr14is_convertibleIS4_PhEE5valueENS1_5__natEE4typeE($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0, $vararg_buffer = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $vararg_buffer = sp; + HEAP32[$0 >> 2] = $1; + $3 = __Znwm(16) | 0; + HEAP32[$3 + 4 >> 2] = 0; + HEAP32[$3 + 8 >> 2] = 0; + HEAP32[$3 >> 2] = 16848; + HEAP32[$3 + 12 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $3; + HEAP32[$vararg_buffer >> 2] = $1; + HEAP32[$vararg_buffer + 4 >> 2] = $1; + __ZNSt3__210shared_ptrIhE18__enable_weak_thisEz($0, $vararg_buffer); + STACKTOP = sp; + return; +} + +function _getc($0) { + $0 = $0 | 0; + var $$0 = 0, $15 = 0, $16 = 0, $24 = 0, $6 = 0, $7 = 0, label = 0; + if ((HEAP32[$0 + 76 >> 2] | 0) >= 0 ? (___lockfile($0) | 0) != 0 : 0) { + $15 = $0 + 4 | 0; + $16 = HEAP32[$15 >> 2] | 0; + if ($16 >>> 0 < (HEAP32[$0 + 8 >> 2] | 0) >>> 0) { + HEAP32[$15 >> 2] = $16 + 1; + $24 = HEAPU8[$16 >> 0] | 0; + } else $24 = ___uflow($0) | 0; + $$0 = $24; + } else label = 3; + do if ((label | 0) == 3) { + $6 = $0 + 4 | 0; + $7 = HEAP32[$6 >> 2] | 0; + if ($7 >>> 0 < (HEAP32[$0 + 8 >> 2] | 0) >>> 0) { + HEAP32[$6 >> 2] = $7 + 1; + $$0 = HEAPU8[$7 >> 0] | 0; + break; + } else { + $$0 = ___uflow($0) | 0; + break; + } + } while (0); + return $$0 | 0; +} + +function __ZNSt3__214__split_bufferIPKN6vision4NodeILi96EEERNS_9allocatorIS5_EEEC2EmmS8_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $11 = 0, $12 = 0, $4 = 0, $8 = 0; + $4 = $0 + 12 | 0; + HEAP32[$4 >> 2] = 0; + HEAP32[$0 + 16 >> 2] = $3; + do if ($1) if ($1 >>> 0 > 1073741823) { + $8 = ___cxa_allocate_exception(8) | 0; + __ZNSt11logic_errorC2EPKc($8, 41481); + HEAP32[$8 >> 2] = 17472; + ___cxa_throw($8 | 0, 13960, 22); + } else { + $11 = __Znwm($1 << 2) | 0; + break; + } else $11 = 0; while (0); + HEAP32[$0 >> 2] = $11; + $12 = $11 + ($2 << 2) | 0; + HEAP32[$0 + 8 >> 2] = $12; + HEAP32[$0 + 4 >> 2] = $12; + HEAP32[$4 >> 2] = $11 + ($1 << 2); + return; +} + +function __ZNSt3__26vectorIN6vision5ImageENS_9allocatorIS2_EEE6resizeEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0$i$i = 0, $12 = 0, $14 = 0, $2 = 0, $3 = 0, $4 = 0, $6 = 0, $8 = 0, $9 = 0; + $2 = $0 + 4 | 0; + $3 = HEAP32[$2 >> 2] | 0; + $4 = HEAP32[$0 >> 2] | 0; + $6 = $3 - $4 >> 5; + $8 = $4; + $9 = $3; + if ($6 >>> 0 >= $1 >>> 0) { + if ($6 >>> 0 > $1 >>> 0) { + $12 = $8 + ($1 << 5) | 0; + $$0$i$i = $9; + while (1) { + if (($$0$i$i | 0) == ($12 | 0)) break; + $14 = $$0$i$i + -32 | 0; + __ZN6vision5ImageD2Ev($14); + $$0$i$i = $14; + } + HEAP32[$2 >> 2] = $12; + } + } else __ZNSt3__26vectorIN6vision5ImageENS_9allocatorIS2_EEE8__appendEm($0, $1 - $6 | 0); + return; +} + +function __ZNSt3__214__split_bufferIPN6vision4NodeILi96EEERNS_9allocatorIS4_EEEC2EmmS7_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $11 = 0, $12 = 0, $4 = 0, $8 = 0; + $4 = $0 + 12 | 0; + HEAP32[$4 >> 2] = 0; + HEAP32[$0 + 16 >> 2] = $3; + do if ($1) if ($1 >>> 0 > 1073741823) { + $8 = ___cxa_allocate_exception(8) | 0; + __ZNSt11logic_errorC2EPKc($8, 41481); + HEAP32[$8 >> 2] = 17472; + ___cxa_throw($8 | 0, 13960, 22); + } else { + $11 = __Znwm($1 << 2) | 0; + break; + } else $11 = 0; while (0); + HEAP32[$0 >> 2] = $11; + $12 = $11 + ($2 << 2) | 0; + HEAP32[$0 + 8 >> 2] = $12; + HEAP32[$0 + 4 >> 2] = $12; + HEAP32[$4 >> 2] = $11 + ($1 << 2); + return; +} + +function __ZN6vision28BinaryHierarchicalClusteringILi96EE5buildEPKhiPKii($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, $7 = 0, $8 = 0; + $5 = __Znwm(128) | 0; + __ZN6vision4NodeILi96EEC2Ei($5, __ZN6vision28BinaryHierarchicalClusteringILi96EE10nextNodeIdEv($0) | 0); + $7 = $0 + 8 | 0; + $8 = HEAP32[$7 >> 2] | 0; + HEAP32[$7 >> 2] = $5; + if (!$8) $10 = $5; else { + __ZN6vision4NodeILi96EED2Ev($8); + __ZdlPv($8); + $10 = HEAP32[$7 >> 2] | 0; + } + __ZN6vision4NodeILi96EE4leafEb($10, 0); + __ZN6vision28BinaryHierarchicalClusteringILi96EE5buildEPNS_4NodeILi96EEEPKhiPKii($0, HEAP32[$7 >> 2] | 0, $1, $2, $3, $4); + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle12FunctionType9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy = 0, $2 = 0, $4 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $2 = sp; + $4 = HEAP32[$0 + 8 >> 2] | 0; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$4 >> 2] | 0) + 16 >> 2] & 255]($4, $1); + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 51966); + HEAP32[$$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy); + STACKTOP = sp; + return; +} + +function __ZNSt3__214__split_bufferIN6vision7match_tERNS_9allocatorIS2_EEEC2EmmS5_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $11 = 0, $12 = 0, $4 = 0, $8 = 0; + $4 = $0 + 12 | 0; + HEAP32[$4 >> 2] = 0; + HEAP32[$0 + 16 >> 2] = $3; + do if ($1) if ($1 >>> 0 > 536870911) { + $8 = ___cxa_allocate_exception(8) | 0; + __ZNSt11logic_errorC2EPKc($8, 41481); + HEAP32[$8 >> 2] = 17472; + ___cxa_throw($8 | 0, 13960, 22); + } else { + $11 = __Znwm($1 << 3) | 0; + break; + } else $11 = 0; while (0); + HEAP32[$0 >> 2] = $11; + $12 = $11 + ($2 << 3) | 0; + HEAP32[$0 + 8 >> 2] = $12; + HEAP32[$0 + 4 >> 2] = $12; + HEAP32[$4 >> 2] = $11 + ($1 << 3); + return; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8NameTypeEJRA22_KcEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy = 0, $2 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $2 = sp; + $3 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 16) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, $1); + HEAP32[$$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle8NameTypeC2ENS_10StringViewE($3, $$byval_copy); + STACKTOP = sp; + return $3 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8NameTypeEJRA19_KcEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy = 0, $2 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $2 = sp; + $3 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 16) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, $1); + HEAP32[$$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle8NameTypeC2ENS_10StringViewE($3, $$byval_copy); + STACKTOP = sp; + return $3 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8NameTypeEJRA18_KcEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy = 0, $2 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $2 = sp; + $3 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 16) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, $1); + HEAP32[$$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle8NameTypeC2ENS_10StringViewE($3, $$byval_copy); + STACKTOP = sp; + return $3 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8NameTypeEJRA16_KcEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy = 0, $2 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $2 = sp; + $3 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 16) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, $1); + HEAP32[$$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle8NameTypeC2ENS_10StringViewE($3, $$byval_copy); + STACKTOP = sp; + return $3 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8NameTypeEJRA15_KcEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy = 0, $2 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $2 = sp; + $3 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 16) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, $1); + HEAP32[$$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle8NameTypeC2ENS_10StringViewE($3, $$byval_copy); + STACKTOP = sp; + return $3 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8NameTypeEJRA14_KcEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy = 0, $2 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $2 = sp; + $3 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 16) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, $1); + HEAP32[$$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle8NameTypeC2ENS_10StringViewE($3, $$byval_copy); + STACKTOP = sp; + return $3 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8NameTypeEJRA13_KcEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy = 0, $2 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $2 = sp; + $3 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 16) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, $1); + HEAP32[$$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle8NameTypeC2ENS_10StringViewE($3, $$byval_copy); + STACKTOP = sp; + return $3 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8NameTypeEJRA12_KcEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy = 0, $2 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $2 = sp; + $3 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 16) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, $1); + HEAP32[$$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle8NameTypeC2ENS_10StringViewE($3, $$byval_copy); + STACKTOP = sp; + return $3 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8NameTypeEJRA11_KcEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy = 0, $2 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $2 = sp; + $3 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 16) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, $1); + HEAP32[$$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle8NameTypeC2ENS_10StringViewE($3, $$byval_copy); + STACKTOP = sp; + return $3 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8NameTypeEJRA10_KcEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy = 0, $2 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $2 = sp; + $3 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 16) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, $1); + HEAP32[$$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle8NameTypeC2ENS_10StringViewE($3, $$byval_copy); + STACKTOP = sp; + return $3 | 0; +} + +function __ZNSt3__214__split_bufferIN6vision5ImageERNS_9allocatorIS2_EEEC2EmmS5_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $11 = 0, $12 = 0, $4 = 0, $8 = 0; + $4 = $0 + 12 | 0; + HEAP32[$4 >> 2] = 0; + HEAP32[$0 + 16 >> 2] = $3; + do if ($1) if ($1 >>> 0 > 134217727) { + $8 = ___cxa_allocate_exception(8) | 0; + __ZNSt11logic_errorC2EPKc($8, 41481); + HEAP32[$8 >> 2] = 17472; + ___cxa_throw($8 | 0, 13960, 22); + } else { + $11 = __Znwm($1 << 5) | 0; + break; + } else $11 = 0; while (0); + HEAP32[$0 >> 2] = $11; + $12 = $11 + ($2 << 5) | 0; + HEAP32[$0 + 8 >> 2] = $12; + HEAP32[$0 + 4 >> 2] = $12; + HEAP32[$4 >> 2] = $11 + ($1 << 5); + return; +} + +function __ZN6vision8KeyframeILi96EE10buildIndexEv($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0; + $1 = $0 + 36 | 0; + __ZN6vision28BinaryHierarchicalClusteringILi96EE16setNumHypothesesEi($1, 128); + __ZN6vision28BinaryHierarchicalClusteringILi96EE13setNumCentersEi($1, 8); + __ZN6vision28BinaryHierarchicalClusteringILi96EE16setMaxNodesToPopEi($1, 8); + __ZN6vision28BinaryHierarchicalClusteringILi96EE21setMinFeaturesPerNodeEi($1, 16); + $2 = $0 + 8 | 0; + $3 = __ZN6vision18BinaryFeatureStore8featuresEv($2) | 0; + $4 = HEAP32[$3 >> 2] | 0; + __ZN6vision28BinaryHierarchicalClusteringILi96EE5buildEPKhi($1, $4, __ZNK6vision18BinaryFeatureStore4sizeEv($2) | 0); + return; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8NameTypeEJRA9_KcEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy = 0, $2 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $2 = sp; + $3 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 16) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, $1); + HEAP32[$$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle8NameTypeC2ENS_10StringViewE($3, $$byval_copy); + STACKTOP = sp; + return $3 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8NameTypeEJRA8_KcEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy = 0, $2 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $2 = sp; + $3 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 16) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, $1); + HEAP32[$$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle8NameTypeC2ENS_10StringViewE($3, $$byval_copy); + STACKTOP = sp; + return $3 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8NameTypeEJRA7_KcEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy = 0, $2 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $2 = sp; + $3 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 16) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, $1); + HEAP32[$$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle8NameTypeC2ENS_10StringViewE($3, $$byval_copy); + STACKTOP = sp; + return $3 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8NameTypeEJRA6_KcEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy = 0, $2 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $2 = sp; + $3 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 16) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, $1); + HEAP32[$$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle8NameTypeC2ENS_10StringViewE($3, $$byval_copy); + STACKTOP = sp; + return $3 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8NameTypeEJRA5_KcEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy = 0, $2 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $2 = sp; + $3 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 16) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, $1); + HEAP32[$$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle8NameTypeC2ENS_10StringViewE($3, $$byval_copy); + STACKTOP = sp; + return $3 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8NameTypeEJRA4_KcEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy = 0, $2 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $2 = sp; + $3 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 16) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, $1); + HEAP32[$$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_116itanium_demangle8NameTypeC2ENS_10StringViewE($3, $$byval_copy); + STACKTOP = sp; + return $3 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle8DtorName9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy = 0, $2 = 0, $4 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $2 = sp; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 52685); + HEAP32[$$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy); + $4 = HEAP32[$0 + 8 >> 2] | 0; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$4 >> 2] | 0) + 16 >> 2] & 255]($4, $1); + STACKTOP = sp; + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle22ConversionOperatorType9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy = 0, $2 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $2 = sp; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 54318); + HEAP32[$$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy); + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 8 >> 2] | 0, $1); + STACKTOP = sp; + return; +} + +function __ZNSt3__214__split_bufferINS_4pairIfmEERNS_9allocatorIS2_EEEC2EmmS5_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $11 = 0, $12 = 0, $4 = 0, $8 = 0; + $4 = $0 + 12 | 0; + HEAP32[$4 >> 2] = 0; + HEAP32[$0 + 16 >> 2] = $3; + do if ($1) if ($1 >>> 0 > 536870911) { + $8 = ___cxa_allocate_exception(8) | 0; + __ZNSt11logic_errorC2EPKc($8, 41481); + HEAP32[$8 >> 2] = 17472; + ___cxa_throw($8 | 0, 13960, 22); + } else { + $11 = __Znwm($1 << 3) | 0; + break; + } else $11 = 0; while (0); + HEAP32[$0 >> 2] = $11; + $12 = $11 + ($2 << 3) | 0; + HEAP32[$0 + 8 >> 2] = $12; + HEAP32[$0 + 4 >> 2] = $12; + HEAP32[$4 >> 2] = $11 + ($1 << 3); + return; +} + +function __ZNSt3__214__split_bufferINS_4pairIfiEERNS_9allocatorIS2_EEEC2EmmS5_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $11 = 0, $12 = 0, $4 = 0, $8 = 0; + $4 = $0 + 12 | 0; + HEAP32[$4 >> 2] = 0; + HEAP32[$0 + 16 >> 2] = $3; + do if ($1) if ($1 >>> 0 > 536870911) { + $8 = ___cxa_allocate_exception(8) | 0; + __ZNSt11logic_errorC2EPKc($8, 41481); + HEAP32[$8 >> 2] = 17472; + ___cxa_throw($8 | 0, 13960, 22); + } else { + $11 = __Znwm($1 << 3) | 0; + break; + } else $11 = 0; while (0); + HEAP32[$0 >> 2] = $11; + $12 = $11 + ($2 << 3) | 0; + HEAP32[$0 + 8 >> 2] = $12; + HEAP32[$0 + 4 >> 2] = $12; + HEAP32[$4 >> 2] = $11 + ($1 << 3); + return; +} + +function __ZNKSt3__27collateIwE10do_compareEPKwS3_S3_S3_($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0 = 0, $$011 = 0, $$012 = 0, $7 = 0, $8 = 0, label = 0; + $$011 = $3; + $$012 = $1; + while (1) { + if (($$011 | 0) == ($4 | 0)) { + label = 7; + break; + } + if (($$012 | 0) == ($2 | 0)) { + $$0 = -1; + break; + } + $7 = HEAP32[$$012 >> 2] | 0; + $8 = HEAP32[$$011 >> 2] | 0; + if (($7 | 0) < ($8 | 0)) { + $$0 = -1; + break; + } + if (($8 | 0) < ($7 | 0)) { + $$0 = 1; + break; + } + $$011 = $$011 + 4 | 0; + $$012 = $$012 + 4 | 0; + } + if ((label | 0) == 7) $$0 = ($$012 | 0) != ($2 | 0) & 1; + return $$0 | 0; +} + +function _arVecHousehold($0) { + $0 = $0 | 0; + var $$0 = 0, $$020 = 0.0, $$1 = 0.0, $11 = 0.0, $13 = 0, $15 = 0, $2 = 0.0, $4 = 0, $5 = 0.0, $8 = 0.0; + $2 = +Math_sqrt(+(+_arVecInnerproduct($0, $0))); + L1 : do if ($2 != 0.0) { + $4 = HEAP32[$0 >> 2] | 0; + $5 = +HEAPF64[$4 >> 3]; + $$020 = $5 < 0.0 ? -$2 : $2; + $8 = $5 + $$020; + HEAPF64[$4 >> 3] = $8; + $11 = 1.0 / +Math_sqrt(+($$020 * $8)); + $13 = HEAP32[$0 + 4 >> 2] | 0; + $$0 = 0; + while (1) { + if (($$0 | 0) >= ($13 | 0)) { + $$1 = $$020; + break L1; + } + $15 = $4 + ($$0 << 3) | 0; + HEAPF64[$15 >> 3] = $11 * +HEAPF64[$15 >> 3]; + $$0 = $$0 + 1 | 0; + } + } else $$1 = $2; while (0); + return +-$$1; +} + +function __ZNSt3__214__split_bufferIPNS_6locale5facetERNS_15__sso_allocatorIS3_Lm28EEEED2Ev($0) { + $0 = $0 | 0; + var $11 = 0, $2 = 0, $3 = 0, $5 = 0, $6 = 0, $7 = 0, $9 = 0; + $2 = HEAP32[$0 + 4 >> 2] | 0; + $3 = $0 + 8 | 0; + $5 = HEAP32[$3 >> 2] | 0; + while (1) { + if (($5 | 0) == ($2 | 0)) break; + $6 = $5 + -4 | 0; + HEAP32[$3 >> 2] = $6; + $5 = $6; + } + $7 = HEAP32[$0 >> 2] | 0; + $9 = $7; + do if ($7 | 0) { + $11 = HEAP32[$0 + 16 >> 2] | 0; + if (($7 | 0) == ($11 | 0)) { + HEAP8[$11 + 112 >> 0] = 0; + break; + } else { + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($7, (HEAP32[$0 + 12 >> 2] | 0) - $9 | 0); + break; + } + } while (0); + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle19GlobalQualifiedName9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy = 0, $2 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $2 = sp; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 53698); + HEAP32[$$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy); + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 8 >> 2] | 0, $1); + STACKTOP = sp; + return; +} + +function _saveSetjmp(env, label, table, size) { + env = env | 0; + label = label | 0; + table = table | 0; + size = size | 0; + var i = 0; + setjmpId = setjmpId + 1 | 0; + HEAP32[env >> 2] = setjmpId; + while ((i | 0) < (size | 0)) { + if (!(HEAP32[table + (i << 3) >> 2] | 0)) { + HEAP32[table + (i << 3) >> 2] = setjmpId; + HEAP32[table + ((i << 3) + 4) >> 2] = label; + HEAP32[table + ((i << 3) + 8) >> 2] = 0; + setTempRet0(size | 0); + return table | 0; + } + i = i + 1 | 0; + } + size = size * 2 | 0; + table = _realloc(table | 0, 8 * (size + 1 | 0) | 0) | 0; + table = _saveSetjmp(env | 0, label | 0, table | 0, size | 0) | 0; + setTempRet0(size | 0); + return table | 0; +} + +function _detectNFTMarker($id) { + $id = $id | 0; + var $id$addr = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $id$addr = sp; + HEAP32[$id$addr >> 2] = $id; + if (__ZNSt3__212__hash_tableINS_17__hash_value_typeIi12arControllerEENS_22__unordered_map_hasherIiS3_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS3_NS_8equal_toIiEELb1EEENS_9allocatorIS3_EEE4findIiEENS_15__hash_iteratorIPNS_11__hash_nodeIS3_PvEEEERKT_(65260, $id$addr) | 0) __ZNSt3__213unordered_mapIi12arControllerNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS1_EEEEEixERS8_(65260, $id$addr) | 0; + STACKTOP = sp; + return -1; +} + +function _strtok($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$010 = 0, $10 = 0, $3 = 0, $6 = 0, label = 0; + if (!$0) { + $3 = HEAP32[16358] | 0; + if (!$3) $$0 = 0; else { + $$010 = $3; + label = 3; + } + } else { + $$010 = $0; + label = 3; + } + do if ((label | 0) == 3) { + $6 = $$010 + (_strspn($$010, $1) | 0) | 0; + if (!(HEAP8[$6 >> 0] | 0)) { + HEAP32[16358] = 0; + $$0 = 0; + break; + } + $10 = $6 + (_strcspn($6, $1) | 0) | 0; + HEAP32[16358] = $10; + if (!(HEAP8[$10 >> 0] | 0)) { + HEAP32[16358] = 0; + $$0 = $6; + break; + } else { + HEAP32[16358] = $10 + 1; + HEAP8[$10 >> 0] = 0; + $$0 = $6; + break; + } + } while (0); + return $$0 | 0; +} + +function _ar2GenTemplate($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $13 = 0, $2 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $2 = _malloc(40) | 0; + if (!$2) { + _arLog(0, 3, 45930, sp); + _exit(1); + } + HEAP32[$2 + 16 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $0; + HEAP32[$2 + 20 >> 2] = $1; + HEAP32[$2 + 12 >> 2] = $1; + $9 = $0 + 1 + $1 | 0; + HEAP32[$2 >> 2] = $9; + HEAP32[$2 + 4 >> 2] = $9; + $13 = _malloc(Math_imul($9 << 1, $9) | 0) | 0; + HEAP32[$2 + 24 >> 2] = $13; + if (!$13) { + _arLog(0, 3, 45930, sp + 8 | 0); + _exit(1); + } else { + STACKTOP = sp; + return $2 | 0; + } + return 0; +} + +function __ZNSt3__2L11init_wam_pmEv() { + var $$0$i$i = 0, $4 = 0; + if ((HEAP8[64704] | 0) == 0 ? ___cxa_guard_acquire(64704) | 0 : 0) { + $4 = 63808; + do { + HEAP32[$4 >> 2] = 0; + HEAP32[$4 + 4 >> 2] = 0; + HEAP32[$4 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$4 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + $4 = $4 + 12 | 0; + } while (($4 | 0) != 63832); + ___cxa_guard_release(64704); + } + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw(63808, 21804) | 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw(63820, 21816) | 0; + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle16StdQualifiedName9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy = 0, $2 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $2 = sp; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 55121); + HEAP32[$$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy); + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 8 >> 2] | 0, $1); + STACKTOP = sp; + return; +} + +function __ZNSt3__2L10init_am_pmEv() { + var $$0$i$i = 0, $4 = 0; + if ((HEAP8[64624] | 0) == 0 ? ___cxa_guard_acquire(64624) | 0 : 0) { + $4 = 63312; + do { + HEAP32[$4 >> 2] = 0; + HEAP32[$4 + 4 >> 2] = 0; + HEAP32[$4 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$4 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + $4 = $4 + 12 | 0; + } while (($4 | 0) != 63336); + ___cxa_guard_release(64624); + } + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc(63312, 59453) | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc(63324, 59456) | 0; + return; +} + +function __ZNKSt3__27codecvtIDsc11__mbstate_tE6do_outERS1_PKDsS5_RS5_PcS7_RS7_($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 $10 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $8 = sp + 4 | 0; + $9 = sp; + HEAP32[$8 >> 2] = $2; + HEAP32[$9 >> 2] = $5; + $10 = __ZNSt3__2L13utf16_to_utf8EPKtS1_RS1_PhS3_RS3_mNS_12codecvt_modeE($2, $3, $8, $5, $6, $9, 1114111, 0) | 0; + HEAP32[$4 >> 2] = HEAP32[$8 >> 2]; + HEAP32[$7 >> 2] = HEAP32[$9 >> 2]; + STACKTOP = sp; + return $10 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle15LiteralOperator9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy = 0, $2 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $2 = sp; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 54238); + HEAP32[$$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy); + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 8 >> 2] | 0, $1); + STACKTOP = sp; + return; +} + +function __ZNKSt3__27codecvtIDsc11__mbstate_tE5do_inERS1_PKcS5_RS5_PDsS7_RS7_($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 $10 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $8 = sp + 4 | 0; + $9 = sp; + HEAP32[$8 >> 2] = $2; + HEAP32[$9 >> 2] = $5; + $10 = __ZNSt3__2L13utf8_to_utf16EPKhS1_RS1_PtS3_RS3_mNS_12codecvt_modeE($2, $3, $8, $5, $6, $9, 1114111, 0) | 0; + HEAP32[$4 >> 2] = HEAP32[$8 >> 2]; + HEAP32[$7 >> 2] = HEAP32[$9 >> 2]; + STACKTOP = sp; + return $10 | 0; +} + +function __ZNKSt3__27codecvtIDic11__mbstate_tE6do_outERS1_PKDiS5_RS5_PcS7_RS7_($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 $10 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $8 = sp + 4 | 0; + $9 = sp; + HEAP32[$8 >> 2] = $2; + HEAP32[$9 >> 2] = $5; + $10 = __ZNSt3__2L12ucs4_to_utf8EPKjS1_RS1_PhS3_RS3_mNS_12codecvt_modeE($2, $3, $8, $5, $6, $9, 1114111, 0) | 0; + HEAP32[$4 >> 2] = HEAP32[$8 >> 2]; + HEAP32[$7 >> 2] = HEAP32[$9 >> 2]; + STACKTOP = sp; + return $10 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle27ExpandedSpecialSubstitution11getBaseNameEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + switch (HEAP32[$1 + 8 >> 2] | 0) { + case 0: + { + __ZN12_GLOBAL__N_110StringViewC2EPKc($0, 51703); + break; + } + case 1: + { + __ZN12_GLOBAL__N_110StringViewC2EPKc($0, 51713); + break; + } + case 2: + { + __ZN12_GLOBAL__N_110StringViewC2EPKc($0, 51713); + break; + } + case 3: + { + __ZN12_GLOBAL__N_110StringViewC2EPKc($0, 55489); + break; + } + case 4: + { + __ZN12_GLOBAL__N_110StringViewC2EPKc($0, 55503); + break; + } + case 5: + { + __ZN12_GLOBAL__N_110StringViewC2EPKc($0, 55517); + break; + } + default: + {} + } + return; +} + +function __ZNSt3__26vectorIN6vision12FeaturePointENS_9allocatorIS2_EEE13__vdeallocateEv($0) { + $0 = $0 | 0; + var $$0$i$i$i = 0, $1 = 0, $3 = 0, $6 = 0, $7 = 0, $8 = 0; + $1 = HEAP32[$0 >> 2] | 0; + if ($1 | 0) { + $3 = $0 + 4 | 0; + $$0$i$i$i = HEAP32[$3 >> 2] | 0; + while (1) { + if (($$0$i$i$i | 0) == ($1 | 0)) break; + $6 = $$0$i$i$i + -20 | 0; + __ZN6vision12FeaturePointD2Ev($6); + $$0$i$i$i = $6; + } + HEAP32[$3 >> 2] = $1; + $7 = HEAP32[$0 >> 2] | 0; + $8 = $0 + 8 | 0; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($7, (HEAP32[$8 >> 2] | 0) - $7 | 0); + HEAP32[$8 >> 2] = 0; + HEAP32[$3 >> 2] = 0; + HEAP32[$0 >> 2] = 0; + } + return; +} + +function __ZNKSt3__27codecvtIDic11__mbstate_tE5do_inERS1_PKcS5_RS5_PDiS7_RS7_($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 $10 = 0, $8 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $8 = sp + 4 | 0; + $9 = sp; + HEAP32[$8 >> 2] = $2; + HEAP32[$9 >> 2] = $5; + $10 = __ZNSt3__2L12utf8_to_ucs4EPKhS1_RS1_PjS3_RS3_mNS_12codecvt_modeE($2, $3, $8, $5, $6, $9, 1114111, 0) | 0; + HEAP32[$4 >> 2] = HEAP32[$8 >> 2]; + HEAP32[$7 >> 2] = HEAP32[$9 >> 2]; + STACKTOP = sp; + return $10 | 0; +} + +function __ZNSt3__212__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEELb1EEENS_21__unordered_map_equalIjS2_NS_8equal_toIjEELb1EEENS_9allocatorIS2_EEED2Ev($0) { + $0 = $0 | 0; + var $3 = 0; + __ZNSt3__212__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEELb1EEENS_21__unordered_map_equalIjS2_NS_8equal_toIjEELb1EEENS_9allocatorIS2_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS2_PvEEEE($0, HEAP32[$0 + 8 >> 2] | 0); + $3 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = 0; + if ($3 | 0) __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($3, HEAP32[$0 + 4 >> 2] << 2); + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle24ForwardTemplateReference13getSyntaxNodeERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $11 = 0, $2 = 0, $3 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $2 = sp; + $3 = $0 + 16 | 0; + if (!(HEAP8[$3 >> 0] | 0)) { + __ZN12_GLOBAL__N_114SwapAndRestoreIbEC2ERbb($2, $3, 1); + $7 = HEAP32[$0 + 12 >> 2] | 0; + $11 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$7 >> 2] | 0) + 12 >> 2] & 127]($7, $1) | 0; + __ZN12_GLOBAL__N_114SwapAndRestoreIbED2Ev($2); + $$0 = $11; + } else $$0 = $0; + STACKTOP = sp; + return $$0 | 0; +} + +function __ZNSt3__26vectorIN6vision17PriorityQueueItemILi96EEENS_9allocatorIS3_EEE11__vallocateEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $7 = 0; + if ((__ZNKSt3__26vectorIN6vision17PriorityQueueItemILi96EEENS_9allocatorIS3_EEE8max_sizeEv($0) | 0) >>> 0 < $1 >>> 0) __ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv($0); + if ($1 >>> 0 > 536870911) { + $5 = ___cxa_allocate_exception(8) | 0; + __ZNSt11logic_errorC2EPKc($5, 41481); + HEAP32[$5 >> 2] = 17472; + ___cxa_throw($5 | 0, 13960, 22); + } else { + $7 = __Znwm($1 << 3) | 0; + HEAP32[$0 + 4 >> 2] = $7; + HEAP32[$0 >> 2] = $7; + HEAP32[$0 + 8 >> 2] = $7 + ($1 << 3); + return; + } +} + +function __ZNSt3__214__split_bufferIiRNS_9allocatorIiEEEC2EmmS3_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $11 = 0, $12 = 0, $4 = 0, $8 = 0; + $4 = $0 + 12 | 0; + HEAP32[$4 >> 2] = 0; + HEAP32[$0 + 16 >> 2] = $3; + do if ($1) if ($1 >>> 0 > 1073741823) { + $8 = ___cxa_allocate_exception(8) | 0; + __ZNSt11logic_errorC2EPKc($8, 41481); + HEAP32[$8 >> 2] = 17472; + ___cxa_throw($8 | 0, 13960, 22); + } else { + $11 = __Znwm($1 << 2) | 0; + break; + } else $11 = 0; while (0); + HEAP32[$0 >> 2] = $11; + $12 = $11 + ($2 << 2) | 0; + HEAP32[$0 + 8 >> 2] = $12; + HEAP32[$0 + 4 >> 2] = $12; + HEAP32[$4 >> 2] = $11 + ($1 << 2); + return; +} + +function __ZNSt3__214__split_bufferIfRNS_9allocatorIfEEEC2EmmS3_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $11 = 0, $12 = 0, $4 = 0, $8 = 0; + $4 = $0 + 12 | 0; + HEAP32[$4 >> 2] = 0; + HEAP32[$0 + 16 >> 2] = $3; + do if ($1) if ($1 >>> 0 > 1073741823) { + $8 = ___cxa_allocate_exception(8) | 0; + __ZNSt11logic_errorC2EPKc($8, 41481); + HEAP32[$8 >> 2] = 17472; + ___cxa_throw($8 | 0, 13960, 22); + } else { + $11 = __Znwm($1 << 2) | 0; + break; + } else $11 = 0; while (0); + HEAP32[$0 >> 2] = $11; + $12 = $11 + ($2 << 2) | 0; + HEAP32[$0 + 8 >> 2] = $12; + HEAP32[$0 + 4 >> 2] = $12; + HEAP32[$4 >> 2] = $11 + ($1 << 2); + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle9ThrowExpr9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy = 0, $2 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $2 = sp; + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 52789); + HEAP32[$$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy); + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 8 >> 2] | 0, $1); + STACKTOP = sp; + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle24ForwardTemplateReference19hasRHSComponentSlowERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $2 = 0, $3 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $2 = sp; + $3 = $0 + 16 | 0; + if (!(HEAP8[$3 >> 0] | 0)) { + __ZN12_GLOBAL__N_114SwapAndRestoreIbEC2ERbb($2, $3, 1); + $8 = __ZNK12_GLOBAL__N_116itanium_demangle4Node15hasRHSComponentERNS_12OutputStreamE(HEAP32[$0 + 12 >> 2] | 0, $1) | 0; + __ZN12_GLOBAL__N_114SwapAndRestoreIbED2Ev($2); + $$0 = $8; + } else $$0 = 0; + STACKTOP = sp; + return $$0 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle19SpecialSubstitution11getBaseNameEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + switch (HEAP32[$1 + 8 >> 2] | 0) { + case 0: + { + __ZN12_GLOBAL__N_110StringViewC2EPKc($0, 51703); + break; + } + case 1: + { + __ZN12_GLOBAL__N_110StringViewC2EPKc($0, 51713); + break; + } + case 2: + { + __ZN12_GLOBAL__N_110StringViewC2EPKc($0, 51726); + break; + } + case 3: + { + __ZN12_GLOBAL__N_110StringViewC2EPKc($0, 51733); + break; + } + case 4: + { + __ZN12_GLOBAL__N_110StringViewC2EPKc($0, 51741); + break; + } + case 5: + { + __ZN12_GLOBAL__N_110StringViewC2EPKc($0, 51749); + break; + } + default: + {} + } + return; +} + +function __ZZNK12_GLOBAL__N_116itanium_demangle8FoldExpr9printLeftERNS_12OutputStreamEENKUlvE_clEv($0) { + $0 = $0 | 0; + var $1 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + $3 = HEAP32[$0 + 4 >> 2] | 0; + __ZN12_GLOBAL__N_112OutputStreampLEc(HEAP32[$0 >> 2] | 0, 40); + __ZN12_GLOBAL__N_116itanium_demangle22ParameterPackExpansionC2EPKNS0_4NodeE($1, HEAP32[$3 + 8 >> 2] | 0); + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE($1, HEAP32[$0 >> 2] | 0); + __ZN12_GLOBAL__N_112OutputStreampLEc(HEAP32[$0 >> 2] | 0, 41); + STACKTOP = sp; + return; +} + +function _strncat($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0$lcssa = 0, $$01013 = 0, $$01112 = 0, $$014 = 0, $10 = 0, $4 = 0, $6 = 0; + $4 = $0 + (_strlen($0) | 0) | 0; + L1 : do if (!$2) $$0$lcssa = $4; else { + $$01013 = $2; + $$01112 = $1; + $$014 = $4; + while (1) { + $6 = HEAP8[$$01112 >> 0] | 0; + if (!($6 << 24 >> 24)) { + $$0$lcssa = $$014; + break L1; + } + $$01013 = $$01013 + -1 | 0; + $10 = $$014 + 1 | 0; + HEAP8[$$014 >> 0] = $6; + if (!$$01013) { + $$0$lcssa = $10; + break; + } else { + $$01112 = $$01112 + 1 | 0; + $$014 = $10; + } + } + } while (0); + HEAP8[$$0$lcssa >> 0] = 0; + return $0 | 0; +} + +function __ZNSt3__214__split_bufferItRNS_9allocatorItEEEC2EmmS3_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $11 = 0, $12 = 0, $4 = 0, $8 = 0; + $4 = $0 + 12 | 0; + HEAP32[$4 >> 2] = 0; + HEAP32[$0 + 16 >> 2] = $3; + do if ($1) if (($1 | 0) < 0) { + $8 = ___cxa_allocate_exception(8) | 0; + __ZNSt11logic_errorC2EPKc($8, 41481); + HEAP32[$8 >> 2] = 17472; + ___cxa_throw($8 | 0, 13960, 22); + } else { + $11 = __Znwm($1 << 1) | 0; + break; + } else $11 = 0; while (0); + HEAP32[$0 >> 2] = $11; + $12 = $11 + ($2 << 1) | 0; + HEAP32[$0 + 8 >> 2] = $12; + HEAP32[$0 + 4 >> 2] = $12; + HEAP32[$4 >> 2] = $11 + ($1 << 1); + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle24ForwardTemplateReference15hasFunctionSlowERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $2 = 0, $3 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $2 = sp; + $3 = $0 + 16 | 0; + if (!(HEAP8[$3 >> 0] | 0)) { + __ZN12_GLOBAL__N_114SwapAndRestoreIbEC2ERbb($2, $3, 1); + $8 = __ZNK12_GLOBAL__N_116itanium_demangle4Node11hasFunctionERNS_12OutputStreamE(HEAP32[$0 + 12 >> 2] | 0, $1) | 0; + __ZN12_GLOBAL__N_114SwapAndRestoreIbED2Ev($2); + $$0 = $8; + } else $$0 = 0; + STACKTOP = sp; + return $$0 | 0; +} + +function __ZN10emscripten8functionIiJiiiEJEEEvPKcPFT_DpT0_EDpT1_($name, $fn) { + $name = $name | 0; + $fn = $fn | 0; + var $args = 0, $call = 0, $call1 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $args = sp; + $call = __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJiiiiEE8getCountEv($args) | 0; + $call1 = __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJiiiiEE8getTypesEv($args) | 0; + __embind_register_function($name | 0, $call | 0, $call1 | 0, __ZN10emscripten8internal19getGenericSignatureIJiiiiiEEEPKcv() | 0, 8, $fn | 0); + STACKTOP = sp; + return; +} + +function __ZNSt3__212__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEELb1EEENS_21__unordered_map_equalIjS2_NS_8equal_toIjEELb1EEENS_9allocatorIS2_EEE21__construct_node_hashINS_4pairIjjEEJEEENS_10unique_ptrINS_11__hash_nodeIS2_PvEENS_22__hash_node_destructorINSB_ISK_EEEEEEmOT_DpOT0_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $5 = 0; + $5 = __Znwm(16) | 0; + HEAP32[$0 >> 2] = $5; + HEAP32[$0 + 4 >> 2] = $1 + 8; + HEAP32[$5 + 8 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$5 + 12 >> 2] = HEAP32[$3 + 4 >> 2]; + HEAP8[$0 + 8 >> 0] = 1; + HEAP32[$5 + 4 >> 2] = $2; + HEAP32[$5 >> 2] = 0; + return; +} + +function __ZN10emscripten8functionIiJiiEJEEEvPKcPFT_DpT0_EDpT1_($name, $fn) { + $name = $name | 0; + $fn = $fn | 0; + var $args = 0, $call = 0, $call1 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $args = sp; + $call = __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJiiiEE8getCountEv($args) | 0; + $call1 = __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJiiiEE8getTypesEv($args) | 0; + __embind_register_function($name | 0, $call | 0, $call1 | 0, __ZN10emscripten8internal19getGenericSignatureIJiiiiEEEPKcv() | 0, 32, $fn | 0); + STACKTOP = sp; + return; +} + +function __ZN10emscripten8functionIvJiiEJEEEvPKcPFT_DpT0_EDpT1_($name, $fn) { + $name = $name | 0; + $fn = $fn | 0; + var $args = 0, $call = 0, $call1 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $args = sp; + $call = __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJviiEE8getCountEv($args) | 0; + $call1 = __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJviiEE8getTypesEv($args) | 0; + __embind_register_function($name | 0, $call | 0, $call1 | 0, __ZN10emscripten8internal19getGenericSignatureIJviiiEEEPKcv() | 0, 2, $fn | 0); + STACKTOP = sp; + return; +} + +function __ZN10emscripten8functionIvJifEJEEEvPKcPFT_DpT0_EDpT1_($name, $fn) { + $name = $name | 0; + $fn = $fn | 0; + var $args = 0, $call = 0, $call1 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $args = sp; + $call = __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJvifEE8getCountEv($args) | 0; + $call1 = __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJvifEE8getTypesEv($args) | 0; + __embind_register_function($name | 0, $call | 0, $call1 | 0, __ZN10emscripten8internal19getGenericSignatureIJviifEEEPKcv() | 0, 2, $fn | 0); + STACKTOP = sp; + return; +} + +function __ZN10emscripten8functionIvJidEJEEEvPKcPFT_DpT0_EDpT1_($name, $fn) { + $name = $name | 0; + $fn = $fn | 0; + var $args = 0, $call = 0, $call1 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $args = sp; + $call = __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJvidEE8getCountEv($args) | 0; + $call1 = __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJvidEE8getTypesEv($args) | 0; + __embind_register_function($name | 0, $call | 0, $call1 | 0, __ZN10emscripten8internal19getGenericSignatureIJviidEEEPKcv() | 0, 1, $fn | 0); + STACKTOP = sp; + return; +} + +function __ZNSt3__214__split_bufferIPNS_6locale5facetERNS_15__sso_allocatorIS3_Lm28EEEEC2EmmS6_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $13 = 0, $14 = 0, $4 = 0, $7 = 0; + $4 = $0 + 12 | 0; + HEAP32[$4 >> 2] = 0; + HEAP32[$0 + 16 >> 2] = $3; + do if ($1) { + $7 = $3 + 112 | 0; + if ($1 >>> 0 < 29 & (HEAP8[$7 >> 0] | 0) == 0) { + HEAP8[$7 >> 0] = 1; + $13 = $3; + break; + } else { + $13 = __Znwm($1 << 2) | 0; + break; + } + } else $13 = 0; while (0); + HEAP32[$0 >> 2] = $13; + $14 = $13 + ($2 << 2) | 0; + HEAP32[$0 + 8 >> 2] = $14; + HEAP32[$0 + 4 >> 2] = $14; + HEAP32[$4 >> 2] = $13 + ($1 << 2); + return; +} + +function __ZN6vision6detail23create_formatted_stringERKNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEPi($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 2048 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(2048); + $3 = sp; + _vsnprintf($3, 2048, (HEAP8[$1 + 11 >> 0] | 0) < 0 ? HEAP32[$1 >> 2] | 0 : $1, $2) | 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm($0, $3, __ZNSt3__211char_traitsIcE6lengthEPKc($3) | 0); + STACKTOP = sp; + return; +} + +function __ZNSt3__213__vector_baseINS_6vectorINS1_INS_4pairIfmEENS_9allocatorIS3_EEEENS4_IS6_EEEENS4_IS8_EEED2Ev($0) { + $0 = $0 | 0; + var $$0$i$i = 0, $1 = 0, $3 = 0, $6 = 0, $7 = 0; + $1 = HEAP32[$0 >> 2] | 0; + if ($1 | 0) { + $3 = $0 + 4 | 0; + $$0$i$i = HEAP32[$3 >> 2] | 0; + while (1) { + if (($$0$i$i | 0) == ($1 | 0)) break; + $6 = $$0$i$i + -12 | 0; + __ZNSt3__213__vector_baseINS_6vectorINS_4pairIfmEENS_9allocatorIS3_EEEENS4_IS6_EEED2Ev($6); + $$0$i$i = $6; + } + HEAP32[$3 >> 2] = $1; + $7 = HEAP32[$0 >> 2] | 0; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($7, (HEAP32[$0 + 8 >> 2] | 0) - $7 | 0); + } + return; +} + +function __ZN6vision16Multiply_3x3_3x1IfEEvPT_PKS1_S4_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $14 = 0, $8 = 0; + $8 = $2 + 4 | 0; + $14 = $2 + 8 | 0; + HEAPF32[$0 >> 2] = +HEAPF32[$1 >> 2] * +HEAPF32[$2 >> 2] + +HEAPF32[$1 + 4 >> 2] * +HEAPF32[$8 >> 2] + +HEAPF32[$1 + 8 >> 2] * +HEAPF32[$14 >> 2]; + HEAPF32[$0 + 4 >> 2] = +HEAPF32[$1 + 12 >> 2] * +HEAPF32[$2 >> 2] + +HEAPF32[$1 + 16 >> 2] * +HEAPF32[$8 >> 2] + +HEAPF32[$1 + 20 >> 2] * +HEAPF32[$14 >> 2]; + HEAPF32[$0 + 8 >> 2] = +HEAPF32[$1 + 24 >> 2] * +HEAPF32[$2 >> 2] + +HEAPF32[$1 + 28 >> 2] * +HEAPF32[$8 >> 2] + +HEAPF32[$1 + 32 >> 2] * +HEAPF32[$14 >> 2]; + return; +} + +function __ZN10emscripten8functionIvJiEJEEEvPKcPFT_DpT0_EDpT1_($name, $fn) { + $name = $name | 0; + $fn = $fn | 0; + var $args = 0, $call = 0, $call1 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $args = sp; + $call = __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJviEE8getCountEv($args) | 0; + $call1 = __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJviEE8getTypesEv($args) | 0; + __embind_register_function($name | 0, $call | 0, $call1 | 0, __ZN10emscripten8internal19getGenericSignatureIJviiEEEPKcv() | 0, 132, $fn | 0); + STACKTOP = sp; + return; +} + +function __ZNSt3__26vectorIN6vision12FeaturePointENS_9allocatorIS2_EEE11__vallocateEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $7 = 0; + if ((__ZNKSt3__26vectorIN6vision12FeaturePointENS_9allocatorIS2_EEE8max_sizeEv($0) | 0) >>> 0 < $1 >>> 0) __ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv($0); + if ($1 >>> 0 > 214748364) { + $5 = ___cxa_allocate_exception(8) | 0; + __ZNSt11logic_errorC2EPKc($5, 41481); + HEAP32[$5 >> 2] = 17472; + ___cxa_throw($5 | 0, 13960, 22); + } else { + $7 = __Znwm($1 * 20 | 0) | 0; + HEAP32[$0 + 4 >> 2] = $7; + HEAP32[$0 >> 2] = $7; + HEAP32[$0 + 8 >> 2] = $7 + ($1 * 20 | 0); + return; + } +} + +function __ZNK12_GLOBAL__N_116itanium_demangle8BoolExpr9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$byval_copy = 0, $2 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $$byval_copy = sp + 8 | 0; + $2 = sp; + if (!(HEAP8[$0 + 8 >> 0] | 0)) __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 61026); else __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 61032); + HEAP32[$$byval_copy >> 2] = HEAP32[$2 >> 2]; + HEAP32[$$byval_copy + 4 >> 2] = HEAP32[$2 + 4 >> 2]; + __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($1, $$byval_copy); + STACKTOP = sp; + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle24ForwardTemplateReference12hasArraySlowERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $2 = 0, $3 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $2 = sp; + $3 = $0 + 16 | 0; + if (!(HEAP8[$3 >> 0] | 0)) { + __ZN12_GLOBAL__N_114SwapAndRestoreIbEC2ERbb($2, $3, 1); + $8 = __ZNK12_GLOBAL__N_116itanium_demangle4Node8hasArrayERNS_12OutputStreamE(HEAP32[$0 + 12 >> 2] | 0, $1) | 0; + __ZN12_GLOBAL__N_114SwapAndRestoreIbED2Ev($2); + $$0 = $8; + } else $$0 = 0; + STACKTOP = sp; + return $$0 | 0; +} + +function __ZN10emscripten8functionIiJiEJEEEvPKcPFT_DpT0_EDpT1_($name, $fn) { + $name = $name | 0; + $fn = $fn | 0; + var $args = 0, $call = 0, $call1 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $args = sp; + $call = __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJiiEE8getCountEv($args) | 0; + $call1 = __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJiiEE8getTypesEv($args) | 0; + __embind_register_function($name | 0, $call | 0, $call1 | 0, __ZN10emscripten8internal19getGenericSignatureIJiiiEEEPKcv() | 0, 54, $fn | 0); + STACKTOP = sp; + return; +} + +function __ZN10emscripten8functionIdJiEJEEEvPKcPFT_DpT0_EDpT1_($name, $fn) { + $name = $name | 0; + $fn = $fn | 0; + var $args = 0, $call = 0, $call1 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $args = sp; + $call = __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJdiEE8getCountEv($args) | 0; + $call1 = __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJdiEE8getTypesEv($args) | 0; + __embind_register_function($name | 0, $call | 0, $call1 | 0, __ZN10emscripten8internal19getGenericSignatureIJdiiEEEPKcv() | 0, 1, $fn | 0); + STACKTOP = sp; + return; +} + +function __ZNK10__cxxabiv117__class_type_info24process_found_base_classEPNS_19__dynamic_cast_infoEPvi($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $10 = 0, $13 = 0, $4 = 0, $5 = 0; + $4 = $1 + 16 | 0; + $5 = HEAP32[$4 >> 2] | 0; + do if ($5) { + if (($5 | 0) != ($2 | 0)) { + $13 = $1 + 36 | 0; + HEAP32[$13 >> 2] = (HEAP32[$13 >> 2] | 0) + 1; + HEAP32[$1 + 24 >> 2] = 2; + HEAP8[$1 + 54 >> 0] = 1; + break; + } + $10 = $1 + 24 | 0; + if ((HEAP32[$10 >> 2] | 0) == 2) HEAP32[$10 >> 2] = $3; + } else { + HEAP32[$4 >> 2] = $2; + HEAP32[$1 + 24 >> 2] = $3; + HEAP32[$1 + 36 >> 2] = 1; + } while (0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_24ForwardTemplateReferenceELm4EE9push_backERKS3_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $11 = 0, $2 = 0, $3 = 0, $9 = 0; + $2 = $0 + 4 | 0; + $3 = HEAP32[$2 >> 2] | 0; + if (($3 | 0) == (HEAP32[$0 + 8 >> 2] | 0)) { + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_24ForwardTemplateReferenceELm4EE7reserveEm($0, (__ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_24ForwardTemplateReferenceELm4EE4sizeEv($0) | 0) << 1); + $11 = HEAP32[$2 >> 2] | 0; + } else $11 = $3; + $9 = HEAP32[$1 >> 2] | 0; + HEAP32[$2 >> 2] = $11 + 4; + HEAP32[$11 >> 2] = $9; + return; +} + +function __ZN10emscripten8functionIiJEJEEEvPKcPFT_DpT0_EDpT1_($name, $fn) { + $name = $name | 0; + $fn = $fn | 0; + var $args = 0, $call = 0, $call1 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $args = sp; + $call = __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJiEE8getCountEv($args) | 0; + $call1 = __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJiEE8getTypesEv($args) | 0; + __embind_register_function($name | 0, $call | 0, $call1 | 0, __ZN10emscripten8internal19getGenericSignatureIJiiEEEPKcv() | 0, 82, $fn | 0); + STACKTOP = sp; + return; +} + +function _kpmUtilResizeImage($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; + switch ($3 | 0) { + case 1: + { + $$0 = __ZL14genBWImageFullPhiiPiS0_($0, $1, $2, $4, $5) | 0; + break; + } + case 5: + { + $$0 = __ZL18genBWImageTwoThirdPhiiPiS0_($0, $1, $2, $4, $5) | 0; + break; + } + case 2: + { + $$0 = __ZL14genBWImageHalfPhiiPiS0_($0, $1, $2, $4, $5) | 0; + break; + } + case 4: + { + $$0 = __ZL18genBWImageOneThirdPhiiPiS0_($0, $1, $2, $4, $5) | 0; + break; + } + default: + $$0 = __ZL15genBWImageQuartPhiiPiS0_($0, $1, $2, $4, $5) | 0; + } + return $$0 | 0; +} + +function __ZNSt3__26vectorIN6vision7Point3dIfEENS_9allocatorIS3_EEE11__vallocateEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $7 = 0; + if ((__ZNKSt3__26vectorIN6vision7Point3dIfEENS_9allocatorIS3_EEE8max_sizeEv($0) | 0) >>> 0 < $1 >>> 0) __ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv($0); + if ($1 >>> 0 > 357913941) { + $5 = ___cxa_allocate_exception(8) | 0; + __ZNSt11logic_errorC2EPKc($5, 41481); + HEAP32[$5 >> 2] = 17472; + ___cxa_throw($5 | 0, 13960, 22); + } else { + $7 = __Znwm($1 * 12 | 0) | 0; + HEAP32[$0 + 4 >> 2] = $7; + HEAP32[$0 >> 2] = $7; + HEAP32[$0 + 8 >> 2] = $7 + ($1 * 12 | 0); + return; + } +} + +function __ZN12_GLOBAL__N_116itanium_demangle13EnclosingExprC2ENS_10StringViewEPNS0_4NodeES2_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $10 = 0, $11 = 0, $17 = 0, $22 = 0, $23 = 0, $5 = 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 47, 1, 1, 1); + HEAP32[$0 >> 2] = 18396; + $5 = $1; + $10 = HEAP32[$5 + 4 >> 2] | 0; + $11 = $0 + 8 | 0; + HEAP32[$11 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$11 + 4 >> 2] = $10; + HEAP32[$0 + 16 >> 2] = $2; + $17 = $3; + $22 = HEAP32[$17 + 4 >> 2] | 0; + $23 = $0 + 20 | 0; + HEAP32[$23 >> 2] = HEAP32[$17 >> 2]; + HEAP32[$23 + 4 >> 2] = $22; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle12FunctionTypeC2EPKNS0_4NodeENS0_9NodeArrayENS0_10QualifiersENS0_15FunctionRefQualES4_($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 $13 = 0, $14 = 0, $8 = 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 15, 0, 1, 0); + HEAP32[$0 >> 2] = 20200; + HEAP32[$0 + 8 >> 2] = $1; + $8 = $2; + $13 = HEAP32[$8 + 4 >> 2] | 0; + $14 = $0 + 12 | 0; + HEAP32[$14 >> 2] = HEAP32[$8 >> 2]; + HEAP32[$14 + 4 >> 2] = $13; + HEAP32[$0 + 20 >> 2] = $3; + HEAP8[$0 + 24 >> 0] = $4; + HEAP32[$0 + 28 >> 2] = $5; + return; +} + +function _icpCreateHandle($0) { + $0 = $0 | 0; + var $$0 = 0, $$022 = 0, $$023 = 0, $1 = 0; + $1 = _malloc(136) | 0; + if (!$1) $$023 = 0; else { + $$0 = 0; + while (1) { + if (($$0 | 0) == 3) break; + $$022 = 0; + while (1) { + if (($$022 | 0) == 4) break; + HEAPF64[$1 + ($$0 << 5) + ($$022 << 3) >> 3] = +HEAPF64[$0 + ($$0 << 5) + ($$022 << 3) >> 3]; + $$022 = $$022 + 1 | 0; + } + $$0 = $$0 + 1 | 0; + } + HEAP32[$1 + 96 >> 2] = 10; + HEAPF64[$1 + 104 >> 3] = .10000000149011612; + HEAPF64[$1 + 112 >> 3] = .9900000095367432; + HEAPF64[$1 + 120 >> 3] = 4.0; + HEAPF64[$1 + 128 >> 3] = .5; + $$023 = $1; + } + return $$023 | 0; +} + +function _arParamObserv2IdealLTf($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = +$1; + $2 = +$2; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0 = 0, $14 = 0, $17 = 0, $28 = 0, $9 = 0; + $9 = (HEAP32[$0 + 16 >> 2] | 0) + ~~($1 + .5) | 0; + $14 = (HEAP32[$0 + 20 >> 2] | 0) + ~~($2 + .5) | 0; + if ((($9 | 0) >= 0 ? ($17 = HEAP32[$0 + 8 >> 2] | 0, !(($14 | 0) < 0 | ($9 | 0) >= ($17 | 0))) : 0) ? ($14 | 0) < (HEAP32[$0 + 12 >> 2] | 0) : 0) { + $28 = (HEAP32[$0 + 4 >> 2] | 0) + ((Math_imul($17, $14) | 0) + $9 << 1 << 2) | 0; + HEAP32[$3 >> 2] = HEAP32[$28 >> 2]; + HEAP32[$4 >> 2] = HEAP32[$28 + 4 >> 2]; + $$0 = 0; + } else $$0 = -1; + return $$0 | 0; +} + +function __ZN6vision28BinaryHierarchicalClusteringILi96EEC2Ev($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0; + HEAP32[$0 >> 2] = 1234; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + $3 = $0 + 12 | 0; + __ZN6vision14BinarykMedoidsILi96EEC2ERi($3, $0); + $4 = $0 + 72 | 0; + HEAP32[$0 + 100 >> 2] = 0; + HEAP32[$0 + 104 >> 2] = 0; + HEAP32[$4 >> 2] = 0; + HEAP32[$4 + 4 >> 2] = 0; + HEAP32[$4 + 8 >> 2] = 0; + HEAP32[$4 + 12 >> 2] = 0; + HEAP32[$4 + 16 >> 2] = 0; + HEAP32[$4 + 20 >> 2] = 0; + HEAP32[$0 + 108 >> 2] = 16; + __ZN6vision14BinarykMedoidsILi96EE4setkEi($3, 8); + __ZN6vision14BinarykMedoidsILi96EE16setNumHypothesesEi($3, 1); + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle13ObjCProtoName12isObjCObjectEv($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, $4 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp + 8 | 0; + $2 = sp; + $4 = HEAP32[$0 + 8 >> 2] | 0; + if ((__ZNK12_GLOBAL__N_116itanium_demangle4Node7getKindEv($4) | 0) << 24 >> 24 == 7) { + __ZNK12_GLOBAL__N_116itanium_demangle8NameType7getNameEv($1, $4); + __ZN12_GLOBAL__N_110StringViewC2EPKc($2, 52025); + $8 = __ZN12_GLOBAL__N_1eqERKNS_10StringViewES2_($1, $2) | 0; + } else $8 = 0; + STACKTOP = sp; + return $8 | 0; +} + +function ___stdio_seek($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $11 = 0, $17 = 0, $21 = 0, $22 = 0, $4 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $4 = sp; + if (!(___wasi_syscall_ret(___wasi_fd_seek(HEAP32[$0 + 60 >> 2] | 0, $1 | 0, $2 | 0, $3 & 255 | 0, $4 | 0) | 0) | 0)) { + $11 = $4; + $21 = HEAP32[$11 + 4 >> 2] | 0; + $22 = HEAP32[$11 >> 2] | 0; + } else { + $17 = $4; + HEAP32[$17 >> 2] = -1; + HEAP32[$17 + 4 >> 2] = -1; + $21 = -1; + $22 = -1; + } + setTempRet0($21 | 0); + STACKTOP = sp; + return $22 | 0; +} + +function __ZNSt3__26vectorIN6vision7Point2dIfEENS_9allocatorIS3_EEE11__vallocateEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $7 = 0; + if ((__ZNKSt3__26vectorIN6vision7Point2dIfEENS_9allocatorIS3_EEE8max_sizeEv($0) | 0) >>> 0 < $1 >>> 0) __ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv($0); + if ($1 >>> 0 > 536870911) { + $5 = ___cxa_allocate_exception(8) | 0; + __ZNSt11logic_errorC2EPKc($5, 41481); + HEAP32[$5 >> 2] = 17472; + ___cxa_throw($5 | 0, 13960, 22); + } else { + $7 = __Znwm($1 << 3) | 0; + HEAP32[$0 + 4 >> 2] = $7; + HEAP32[$0 >> 2] = $7; + HEAP32[$0 + 8 >> 2] = $7 + ($1 << 3); + return; + } +} + +function _arParamIdeal2ObservLTf($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = +$1; + $2 = +$2; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0 = 0, $14 = 0, $17 = 0, $27 = 0, $9 = 0; + $9 = (HEAP32[$0 + 16 >> 2] | 0) + ~~($1 + .5) | 0; + $14 = (HEAP32[$0 + 20 >> 2] | 0) + ~~($2 + .5) | 0; + if ((($9 | 0) >= 0 ? ($17 = HEAP32[$0 + 8 >> 2] | 0, !(($14 | 0) < 0 | ($9 | 0) >= ($17 | 0))) : 0) ? ($14 | 0) < (HEAP32[$0 + 12 >> 2] | 0) : 0) { + $27 = (HEAP32[$0 >> 2] | 0) + ((Math_imul($17, $14) | 0) + $9 << 1 << 2) | 0; + HEAP32[$3 >> 2] = HEAP32[$27 >> 2]; + HEAP32[$4 >> 2] = HEAP32[$27 + 4 >> 2]; + $$0 = 0; + } else $$0 = -1; + return $$0 | 0; +} + +function __ZNSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE11__vallocateEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0$i$i$in = 0, $4 = 0; + if ((__ZNKSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE8max_sizeEv($0) | 0) >>> 0 < $1 >>> 0) __ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv($0); + $4 = $0 + 128 | 0; + if ($1 >>> 0 < 29 & (HEAP8[$4 >> 0] | 0) == 0) { + HEAP8[$4 >> 0] = 1; + $$0$i$i$in = $0 + 16 | 0; + } else $$0$i$i$in = __Znwm($1 << 2) | 0; + HEAP32[$0 + 4 >> 2] = $$0$i$i$in; + HEAP32[$0 >> 2] = $$0$i$i$in; + HEAP32[$0 + 8 >> 2] = $$0$i$i$in + ($1 << 2); + return; +} + +function __ZN6vision9MaxIndex8IfEEiPKT_($0) { + $0 = $0 | 0; + var $$0 = 0, $$1 = 0, $$2 = 0, $$3 = 0, $$4 = 0, $$5 = 0; + $$0 = +HEAPF32[$0 + 4 >> 2] > +HEAPF32[$0 >> 2] & 1; + $$1 = +HEAPF32[$0 + 8 >> 2] > +HEAPF32[$0 + ($$0 << 2) >> 2] ? 2 : $$0; + $$2 = +HEAPF32[$0 + 12 >> 2] > +HEAPF32[$0 + ($$1 << 2) >> 2] ? 3 : $$1; + $$3 = +HEAPF32[$0 + 16 >> 2] > +HEAPF32[$0 + ($$2 << 2) >> 2] ? 4 : $$2; + $$4 = +HEAPF32[$0 + 20 >> 2] > +HEAPF32[$0 + ($$3 << 2) >> 2] ? 5 : $$3; + $$5 = +HEAPF32[$0 + 24 >> 2] > +HEAPF32[$0 + ($$4 << 2) >> 2] ? 6 : $$4; + return (+HEAPF32[$0 + 28 >> 2] > +HEAPF32[$0 + ($$5 << 2) >> 2] ? 7 : $$5) | 0; +} + +function __ZNSt3__212__hash_tableINS_17__hash_value_typeIiNS_6vectorIN6vision7Point3dIfEENS_9allocatorIS5_EEEEEENS_22__unordered_map_hasherIiS9_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS9_NS_8equal_toIiEELb1EEENS6_IS9_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS9_PvEEEE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $3 = 0; + $$0 = $1; + while (1) { + if (!$$0) break; + $3 = HEAP32[$$0 >> 2] | 0; + __ZNSt3__24pairIKiNS_6vectorIN6vision7Point3dIfEENS_9allocatorIS5_EEEEED2Ev($$0 + 8 | 0); + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($$0, 24); + $$0 = $3; + } + return; +} + +function _strcmp($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$011 = 0, $$0710 = 0, $$lcssa = 0, $$lcssa8 = 0, $2 = 0, $3 = 0, $8 = 0, $9 = 0; + $2 = HEAP8[$0 >> 0] | 0; + $3 = HEAP8[$1 >> 0] | 0; + if ($2 << 24 >> 24 == 0 ? 1 : $2 << 24 >> 24 != $3 << 24 >> 24) { + $$lcssa = $3; + $$lcssa8 = $2; + } else { + $$011 = $1; + $$0710 = $0; + do { + $$0710 = $$0710 + 1 | 0; + $$011 = $$011 + 1 | 0; + $8 = HEAP8[$$0710 >> 0] | 0; + $9 = HEAP8[$$011 >> 0] | 0; + } while (!($8 << 24 >> 24 == 0 ? 1 : $8 << 24 >> 24 != $9 << 24 >> 24)); + $$lcssa = $9; + $$lcssa8 = $8; + } + return ($$lcssa8 & 255) - ($$lcssa & 255) | 0; +} + +function __ZNSt3__29__num_getIwE17__stage2_int_prepERNS_8ios_baseERw($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0, $4 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp; + __ZNKSt3__28ios_base6getlocEv($3, $1); + $4 = __ZNKSt3__26locale9use_facetERNS0_2idE($3, 66552) | 0; + $8 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$4 >> 2] | 0) + 16 >> 2] & 127]($4) | 0; + HEAP32[$2 >> 2] = $8; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$4 >> 2] | 0) + 20 >> 2] & 255]($0, $4); + __ZNSt3__26localeD2Ev($3); + STACKTOP = sp; + return; +} + +function __ZNSt3__29__num_getIcE17__stage2_int_prepERNS_8ios_baseERc($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0, $4 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp; + __ZNKSt3__28ios_base6getlocEv($3, $1); + $4 = __ZNKSt3__26locale9use_facetERNS0_2idE($3, 66528) | 0; + $8 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$4 >> 2] | 0) + 16 >> 2] & 127]($4) | 0; + HEAP8[$2 >> 0] = $8; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$4 >> 2] | 0) + 20 >> 2] & 255]($0, $4); + __ZNSt3__26localeD2Ev($3); + STACKTOP = sp; + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle13ParameterPack13getSyntaxNodeERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $12 = 0, $3 = 0, $4 = 0, $7 = 0; + __ZNK12_GLOBAL__N_116itanium_demangle13ParameterPack23initializePackExpansionERNS_12OutputStreamE($0, $1); + $3 = HEAP32[$1 + 12 >> 2] | 0; + $4 = $0 + 8 | 0; + if ($3 >>> 0 < (__ZNK12_GLOBAL__N_116itanium_demangle9NodeArray4sizeEv($4) | 0) >>> 0) { + $7 = __ZNK12_GLOBAL__N_116itanium_demangle9NodeArrayixEm($4, $3) | 0; + $12 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$7 >> 2] | 0) + 12 >> 2] & 127]($7, $1) | 0; + } else $12 = $0; + return $12 | 0; +} + +function __ZN6vision14SampleReceptorEPKNS_25GaussianScaleSpacePyramidEffii($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = +$1; + $2 = +$2; + $3 = $3 | 0; + $4 = $4 | 0; + var $10 = 0.0, $5 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $5 = sp + 4 | 0; + $6 = sp; + $7 = __ZNK6vision25GaussianScaleSpacePyramid3getEmm($0, $3, $4) | 0; + __ZN6vision25bilinear_downsample_pointERfS0_ffi($5, $6, $1, $2, $3); + $10 = +__ZN6vision14SampleReceptorERKNS_5ImageEff($7, +HEAPF32[$5 >> 2], +HEAPF32[$6 >> 2]); + STACKTOP = sp; + return +$10; +} + +function __ZNSt3__212__hash_tableINS_17__hash_value_typeIiNS_10shared_ptrIN6vision8KeyframeILi96EEEEEEENS_22__unordered_map_hasherIiS7_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS7_NS_8equal_toIiEELb1EEENS_9allocatorIS7_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS7_PvEEEE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $3 = 0; + $$0 = $1; + while (1) { + if (!$$0) break; + $3 = HEAP32[$$0 >> 2] | 0; + __ZNSt3__24pairIKiNS_10shared_ptrIN6vision8KeyframeILi96EEEEEED2Ev($$0 + 8 | 0); + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($$0, 20); + $$0 = $3; + } + return; +} + +function __ZNK6vision20VisualDatabaseFacade21getQueryFeaturePointsEv($0) { + $0 = $0 | 0; + var $1 = 0, $6 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + __ZNK6vision14VisualDatabaseINS_14FREAKExtractorENS_18BinaryFeatureStoreENS_20BinaryFeatureMatcherILi96EEEE13queryKeyframeEv($1, HEAP32[HEAP32[$0 >> 2] >> 2] | 0); + $6 = __ZN6vision18BinaryFeatureStore6pointsEv(__ZN6vision8KeyframeILi96EE5storeEv(HEAP32[$1 >> 2] | 0) | 0) | 0; + __ZNSt3__210shared_ptrIN6vision8KeyframeILi96EEEED2Ev($1); + STACKTOP = sp; + return $6 | 0; +} + +function __ZNSt3__213__vector_baseINS_6vectorINS_4pairIfmEENS_9allocatorIS3_EEEENS4_IS6_EEED2Ev($0) { + $0 = $0 | 0; + var $$0$i$i = 0, $1 = 0, $3 = 0, $6 = 0, $7 = 0; + $1 = HEAP32[$0 >> 2] | 0; + if ($1 | 0) { + $3 = $0 + 4 | 0; + $$0$i$i = HEAP32[$3 >> 2] | 0; + while (1) { + if (($$0$i$i | 0) == ($1 | 0)) break; + $6 = $$0$i$i + -12 | 0; + __ZNSt3__213__vector_baseINS_4pairIfmEENS_9allocatorIS2_EEED2Ev($6); + $$0$i$i = $6; + } + HEAP32[$3 >> 2] = $1; + $7 = HEAP32[$0 >> 2] | 0; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($7, (HEAP32[$0 + 8 >> 2] | 0) - $7 | 0); + } + return; +} + +function __ZNSt3__210__stdinbufIwE5imbueERKNS_6localeE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $15 = 0, $2 = 0, $3 = 0, $7 = 0, $8 = 0, $9 = 0; + $2 = __ZNKSt3__26locale9use_facetERNS0_2idE($1, 66824) | 0; + $3 = $0 + 36 | 0; + HEAP32[$3 >> 2] = $2; + $7 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$2 >> 2] | 0) + 24 >> 2] & 127]($2) | 0; + $8 = $0 + 44 | 0; + HEAP32[$8 >> 2] = $7; + $9 = HEAP32[$3 >> 2] | 0; + $15 = (FUNCTION_TABLE_ii[HEAP32[(HEAP32[$9 >> 2] | 0) + 28 >> 2] & 127]($9) | 0) & 1; + HEAP8[$0 + 53 >> 0] = $15; + if ((HEAP32[$8 >> 2] | 0) > 8) __ZNSt3__221__throw_runtime_errorEPKc(58820); else return; +} + +function __ZNSt3__210__stdinbufIcE5imbueERKNS_6localeE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $15 = 0, $2 = 0, $3 = 0, $7 = 0, $8 = 0, $9 = 0; + $2 = __ZNKSt3__26locale9use_facetERNS0_2idE($1, 66816) | 0; + $3 = $0 + 36 | 0; + HEAP32[$3 >> 2] = $2; + $7 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$2 >> 2] | 0) + 24 >> 2] & 127]($2) | 0; + $8 = $0 + 44 | 0; + HEAP32[$8 >> 2] = $7; + $9 = HEAP32[$3 >> 2] | 0; + $15 = (FUNCTION_TABLE_ii[HEAP32[(HEAP32[$9 >> 2] | 0) + 28 >> 2] & 127]($9) | 0) & 1; + HEAP8[$0 + 53 >> 0] = $15; + if ((HEAP32[$8 >> 2] | 0) > 8) __ZNSt3__221__throw_runtime_errorEPKc(58820); else return; +} + +function __ZN6vision21HoughSimilarityVotingC2Ev($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, dest = 0, stop = 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + HEAP32[$0 + 12 >> 2] = 0; + HEAP8[$0 + 16 >> 0] = 1; + $3 = $0 + 108 | 0; + dest = $0 + 20 | 0; + stop = dest + 88 | 0; + do { + HEAP32[dest >> 2] = 0; + dest = dest + 4 | 0; + } while ((dest | 0) < (stop | 0)); + HEAP32[$3 >> 2] = 1065353216; + $4 = $0 + 112 | 0; + HEAP32[$4 >> 2] = 0; + HEAP32[$4 + 4 >> 2] = 0; + HEAP32[$4 + 8 >> 2] = 0; + HEAP32[$4 + 12 >> 2] = 0; + HEAP32[$4 + 16 >> 2] = 0; + HEAP32[$4 + 20 >> 2] = 0; + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle13ParameterPack19hasRHSComponentSlowERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0, $4 = 0, $9 = 0; + __ZNK12_GLOBAL__N_116itanium_demangle13ParameterPack23initializePackExpansionERNS_12OutputStreamE($0, $1); + $3 = HEAP32[$1 + 12 >> 2] | 0; + $4 = $0 + 8 | 0; + if ($3 >>> 0 < (__ZNK12_GLOBAL__N_116itanium_demangle9NodeArray4sizeEv($4) | 0) >>> 0) $9 = __ZNK12_GLOBAL__N_116itanium_demangle4Node15hasRHSComponentERNS_12OutputStreamE(__ZNK12_GLOBAL__N_116itanium_demangle9NodeArrayixEm($4, $3) | 0, $1) | 0; else $9 = 0; + return $9 | 0; +} + +function __ZN6vision35MultiplyPointHomographyInhomogenousIfEEvPT_PKS1_S4_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $10 = 0.0, $15 = 0.0, $5 = 0.0, $9 = 0; + $5 = +HEAPF32[$2 >> 2]; + $9 = $2 + 4 | 0; + $10 = +HEAPF32[$9 >> 2]; + $15 = +HEAPF32[$1 + 32 >> 2] + (+HEAPF32[$1 + 24 >> 2] * $5 + +HEAPF32[$1 + 28 >> 2] * $10); + HEAPF32[$0 >> 2] = (+HEAPF32[$1 + 8 >> 2] + ($5 * +HEAPF32[$1 >> 2] + $10 * +HEAPF32[$1 + 4 >> 2])) / $15; + HEAPF32[$0 + 4 >> 2] = (+HEAPF32[$1 + 20 >> 2] + (+HEAPF32[$1 + 12 >> 2] * +HEAPF32[$2 >> 2] + +HEAPF32[$1 + 16 >> 2] * +HEAPF32[$9 >> 2])) / $15; + return; +} + +function __ZNSt3__214__split_bufferI12multi_markerRNS_9allocatorIS1_EEED2Ev($this) { + $this = $this | 0; + var $0 = 0, $1 = 0, $2 = 0, $__end_$i$i$i = 0, $incdec$ptr$i$i$i = 0; + $0 = HEAP32[$this + 4 >> 2] | 0; + $__end_$i$i$i = $this + 8 | 0; + $1 = HEAP32[$__end_$i$i$i >> 2] | 0; + while (1) { + if (($1 | 0) == ($0 | 0)) break; + $incdec$ptr$i$i$i = $1 + -8 | 0; + HEAP32[$__end_$i$i$i >> 2] = $incdec$ptr$i$i$i; + $1 = $incdec$ptr$i$i$i; + } + $2 = HEAP32[$this >> 2] | 0; + if ($2 | 0) __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($2, (HEAP32[$this + 12 >> 2] | 0) - $2 | 0); + return; +} + +function __ZNSt3__214__split_bufferINS_6vectorINS1_INS_4pairIfmEENS_9allocatorIS3_EEEENS4_IS6_EEEERNS4_IS8_EEED2Ev($0) { + $0 = $0 | 0; + var $2 = 0, $3 = 0, $4 = 0, $6 = 0, $7 = 0; + $2 = HEAP32[$0 + 4 >> 2] | 0; + $3 = $0 + 8 | 0; + while (1) { + $4 = HEAP32[$3 >> 2] | 0; + if (($4 | 0) == ($2 | 0)) break; + $6 = $4 + -12 | 0; + HEAP32[$3 >> 2] = $6; + __ZNSt3__213__vector_baseINS_6vectorINS_4pairIfmEENS_9allocatorIS3_EEEENS4_IS6_EEED2Ev($6); + } + $7 = HEAP32[$0 >> 2] | 0; + if ($7 | 0) __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($7, (HEAP32[$0 + 12 >> 2] | 0) - $7 | 0); + return; +} + +function __ZN6vision19QuadrilateralConvexIfEEbPKT_S3_S3_S3_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $12 = 0, $16 = 0, $18 = 0, $5 = 0, $8 = 0; + $5 = +__ZN6vision13LinePointSideIfEET_PKS1_S3_S3_($0, $1, $2) > 0.0; + $8 = +__ZN6vision13LinePointSideIfEET_PKS1_S3_S3_($1, $2, $3) > 0.0; + $12 = +__ZN6vision13LinePointSideIfEET_PKS1_S3_S3_($2, $3, $0) > 0.0; + $16 = +__ZN6vision13LinePointSideIfEET_PKS1_S3_S3_($3, $0, $1) > 0.0; + $18 = ($8 ? 1 : -1) + ($5 ? 1 : -1) + ($12 ? 1 : -1) + ($16 ? 1 : -1) | 0; + return ((($18 | 0) > -1 ? $18 : 0 - $18 | 0) | 0) == 4 | 0; +} + +function __ZN6vision18VisualDatabaseImplC2Ev($0) { + $0 = $0 | 0; + var $2 = 0, $3 = 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + HEAP32[$0 + 12 >> 2] = 0; + HEAP32[$0 + 16 >> 2] = 0; + HEAP32[$0 + 20 >> 2] = 1065353216; + $2 = __Znwm(840) | 0; + __ZN6vision14VisualDatabaseINS_14FREAKExtractorENS_18BinaryFeatureStoreENS_20BinaryFeatureMatcherILi96EEEEC2Ev($2); + $3 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = $2; + if ($3 | 0) { + __ZN6vision14VisualDatabaseINS_14FREAKExtractorENS_18BinaryFeatureStoreENS_20BinaryFeatureMatcherILi96EEEED2Ev($3); + __ZdlPv($3); + } + return; +} + +function __ZN6vision16RobustHomographyIfE4findEPfPKfS4_iS4_i($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 $7 = 0; + $7 = $0 + 12 | 0; + __ZNSt3__26vectorIiNS_9allocatorIiEEE6resizeEm($7, $4); + return __ZN6vision26PreemptiveRobustHomographyIfEEbPT_PKS1_S4_iS4_iRNSt3__26vectorIS1_NS5_9allocatorIS1_EEEERNS6_IiNS7_IiEEEERNS6_INS5_4pairIS1_iEENS7_ISF_EEEES1_iii($1, $2, $3, $4, $5, $6, $0, $7, $0 + 24 | 0, +HEAPF32[$0 + 36 >> 2], HEAP32[$0 + 40 >> 2] | 0, HEAP32[$0 + 44 >> 2] | 0, HEAP32[$0 + 48 >> 2] | 0) | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle13ParameterPack15hasFunctionSlowERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0, $4 = 0, $9 = 0; + __ZNK12_GLOBAL__N_116itanium_demangle13ParameterPack23initializePackExpansionERNS_12OutputStreamE($0, $1); + $3 = HEAP32[$1 + 12 >> 2] | 0; + $4 = $0 + 8 | 0; + if ($3 >>> 0 < (__ZNK12_GLOBAL__N_116itanium_demangle9NodeArray4sizeEv($4) | 0) >>> 0) $9 = __ZNK12_GLOBAL__N_116itanium_demangle4Node11hasFunctionERNS_12OutputStreamE(__ZNK12_GLOBAL__N_116itanium_demangle9NodeArrayixEm($4, $3) | 0, $1) | 0; else $9 = 0; + return $9 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle24ForwardTemplateReference10printRightERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $2 = sp; + $3 = $0 + 16 | 0; + if (!(HEAP8[$3 >> 0] | 0)) { + __ZN12_GLOBAL__N_114SwapAndRestoreIbEC2ERbb($2, $3, 1); + $7 = HEAP32[$0 + 12 >> 2] | 0; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$7 >> 2] | 0) + 20 >> 2] & 255]($7, $1); + __ZN12_GLOBAL__N_114SwapAndRestoreIbED2Ev($2); + } + STACKTOP = sp; + return; +} + +function __ZN6vision25DoGScaleInvariantDetectorD2Ev($0) { + $0 = $0 | 0; + __ZNSt3__213__vector_baseIfNS_9allocatorIfEEED2Ev($0 + 144 | 0); + __ZN6vision21OrientationAssignmentD2Ev($0 + 92 | 0); + __ZNSt3__213__vector_baseIN6vision25DoGScaleInvariantDetector12FeaturePointENS_9allocatorIS3_EEED2Ev($0 + 72 | 0); + __ZNSt3__213__vector_baseIN6vision25DoGScaleInvariantDetector12FeaturePointENS_9allocatorIS3_EEED2Ev($0 + 60 | 0); + __ZN6vision10DoGPyramidD2Ev($0 + 32 | 0); + __ZNSt3__213__vector_baseINS_6vectorINS1_INS_4pairIfmEENS_9allocatorIS3_EEEENS4_IS6_EEEENS4_IS8_EEED2Ev($0 + 16 | 0); + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle24ForwardTemplateReference9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $2 = sp; + $3 = $0 + 16 | 0; + if (!(HEAP8[$3 >> 0] | 0)) { + __ZN12_GLOBAL__N_114SwapAndRestoreIbEC2ERbb($2, $3, 1); + $7 = HEAP32[$0 + 12 >> 2] | 0; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$7 >> 2] | 0) + 16 >> 2] & 255]($7, $1); + __ZN12_GLOBAL__N_114SwapAndRestoreIbED2Ev($2); + } + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle15ClosureTypeNameC2ENS0_9NodeArrayENS_10StringViewE($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $10 = 0, $15 = 0, $20 = 0, $21 = 0, $4 = 0, $9 = 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 40, 1, 1, 1); + HEAP32[$0 >> 2] = 19628; + $4 = $1; + $9 = HEAP32[$4 + 4 >> 2] | 0; + $10 = $0 + 8 | 0; + HEAP32[$10 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$10 + 4 >> 2] = $9; + $15 = $2; + $20 = HEAP32[$15 + 4 >> 2] | 0; + $21 = $0 + 16 | 0; + HEAP32[$21 >> 2] = HEAP32[$15 >> 2]; + HEAP32[$21 + 4 >> 2] = $20; + return; +} + +function _wmemmove($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$01416 = 0, $$018 = 0, $$117 = 0, $$in = 0; + if ($0 - $1 >> 2 >>> 0 >= $2 >>> 0) { + if ($2 | 0) { + $$01416 = $1; + $$018 = $0; + $$117 = $2; + while (1) { + $$117 = $$117 + -1 | 0; + HEAP32[$$018 >> 2] = HEAP32[$$01416 >> 2]; + if (!$$117) break; else { + $$01416 = $$01416 + 4 | 0; + $$018 = $$018 + 4 | 0; + } + } + } + } else { + $$in = $2; + do { + $$in = $$in + -1 | 0; + HEAP32[$0 + ($$in << 2) >> 2] = HEAP32[$1 + ($$in << 2) >> 2]; + } while (($$in | 0) != 0); + } + return $0 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_ED2Ev($0) { + $0 = $0 | 0; + __ZN12_GLOBAL__N_116DefaultAllocatorD2Ev($0 + 368 | 0); + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_24ForwardTemplateReferenceELm4EED2Ev($0 + 332 | 0); + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EED2Ev($0 + 288 | 0); + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EED2Ev($0 + 148 | 0); + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EED2Ev($0 + 8 | 0); + return; +} + +function _ar2FreeImageSet($0) { + $0 = $0 | 0; + var $$0 = 0, $$012 = 0, $2 = 0, $5 = 0, $8 = 0; + if (($0 | 0) != 0 ? ($2 = HEAP32[$0 >> 2] | 0, ($2 | 0) != 0) : 0) { + $$0 = 0; + $5 = $2; + while (1) { + $8 = HEAP32[$5 >> 2] | 0; + if (($$0 | 0) >= (HEAP32[$5 + 4 >> 2] | 0)) break; + _free(HEAP32[HEAP32[$8 + ($$0 << 2) >> 2] >> 2] | 0); + _free(HEAP32[(HEAP32[HEAP32[$0 >> 2] >> 2] | 0) + ($$0 << 2) >> 2] | 0); + $$0 = $$0 + 1 | 0; + $5 = HEAP32[$0 >> 2] | 0; + } + _free($8); + _free(HEAP32[$0 >> 2] | 0); + HEAP32[$0 >> 2] = 0; + $$012 = 0; + } else $$012 = -1; + return $$012 | 0; +} + +function ___fmodeflags($0) { + $0 = $0 | 0; + var $$0 = 0, $$2 = 0, $$4 = 0, $2 = 0, $3 = 0, $6 = 0, $9 = 0, $spec$select = 0, $spec$select13 = 0; + $2 = (_strchr($0, 43) | 0) == 0; + $3 = HEAP8[$0 >> 0] | 0; + $$0 = $2 ? $3 << 24 >> 24 != 114 & 1 : 2; + $6 = (_strchr($0, 120) | 0) == 0; + $spec$select = $6 ? $$0 : $$0 | 128; + $9 = (_strchr($0, 101) | 0) == 0; + $$2 = $9 ? $spec$select : $spec$select | 524288; + $spec$select13 = $3 << 24 >> 24 == 114 ? $$2 : $$2 | 64; + $$4 = $3 << 24 >> 24 == 119 ? $spec$select13 | 512 : $spec$select13; + return ($3 << 24 >> 24 == 97 ? $$4 | 1024 : $$4) | 0; +} + +function __ZNSt3__26vectorIiNS_9allocatorIiEEE11__vallocateEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $7 = 0; + if ((__ZNKSt3__26vectorIiNS_9allocatorIiEEE8max_sizeEv($0) | 0) >>> 0 < $1 >>> 0) __ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv($0); + if ($1 >>> 0 > 1073741823) { + $5 = ___cxa_allocate_exception(8) | 0; + __ZNSt11logic_errorC2EPKc($5, 41481); + HEAP32[$5 >> 2] = 17472; + ___cxa_throw($5 | 0, 13960, 22); + } else { + $7 = __Znwm($1 << 2) | 0; + HEAP32[$0 + 4 >> 2] = $7; + HEAP32[$0 >> 2] = $7; + HEAP32[$0 + 8 >> 2] = $7 + ($1 << 2); + return; + } +} + +function __ZNSt3__26vectorIfNS_9allocatorIfEEE11__vallocateEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $7 = 0; + if ((__ZNKSt3__26vectorIfNS_9allocatorIfEEE8max_sizeEv($0) | 0) >>> 0 < $1 >>> 0) __ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv($0); + if ($1 >>> 0 > 1073741823) { + $5 = ___cxa_allocate_exception(8) | 0; + __ZNSt11logic_errorC2EPKc($5, 41481); + HEAP32[$5 >> 2] = 17472; + ___cxa_throw($5 | 0, 13960, 22); + } else { + $7 = __Znwm($1 << 2) | 0; + HEAP32[$0 + 4 >> 2] = $7; + HEAP32[$0 >> 2] = $7; + HEAP32[$0 + 8 >> 2] = $7 + ($1 << 2); + return; + } +} + +function __ZNK12_GLOBAL__N_116itanium_demangle13ParameterPack12hasArraySlowERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0, $4 = 0, $9 = 0; + __ZNK12_GLOBAL__N_116itanium_demangle13ParameterPack23initializePackExpansionERNS_12OutputStreamE($0, $1); + $3 = HEAP32[$1 + 12 >> 2] | 0; + $4 = $0 + 8 | 0; + if ($3 >>> 0 < (__ZNK12_GLOBAL__N_116itanium_demangle9NodeArray4sizeEv($4) | 0) >>> 0) $9 = __ZNK12_GLOBAL__N_116itanium_demangle4Node8hasArrayERNS_12OutputStreamE(__ZNK12_GLOBAL__N_116itanium_demangle9NodeArrayixEm($4, $3) | 0, $1) | 0; else $9 = 0; + return $9 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_16FunctionEncodingEJRPNS0_4NodeESA_NS0_9NodeArrayESA_RNS0_10QualifiersERNS0_15FunctionRefQualEEEES9_DpOT0_($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; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle16FunctionEncodingEJRPNS2_4NodeES6_NS2_9NodeArrayES6_RNS2_10QualifiersERNS2_15FunctionRefQualEEEEPT_DpOT0_($0 + 368 | 0, $1, $2, $3, $4, $5, $6) | 0; +} + +function _jpeg_idct_2x1($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $11 = 0, $16 = 0, $22 = 0, $7 = 0, $9 = 0; + $7 = (HEAP32[$0 + 336 >> 2] | 0) + -384 | 0; + $9 = HEAP32[$1 + 84 >> 2] | 0; + $11 = (HEAP32[$3 >> 2] | 0) + $4 | 0; + $16 = (Math_imul(HEAP32[$9 >> 2] | 0, HEAP16[$2 >> 1] | 0) | 0) + 4100 | 0; + $22 = Math_imul(HEAP32[$9 + 4 >> 2] | 0, HEAP16[$2 + 2 >> 1] | 0) | 0; + HEAP8[$11 >> 0] = HEAP8[$7 + (($22 + $16 | 0) >>> 3 & 1023) >> 0] | 0; + HEAP8[$11 + 1 >> 0] = HEAP8[$7 + (($16 - $22 | 0) >>> 3 & 1023) >> 0] | 0; + return; +} + +function _jpeg_idct_1x2($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $14 = 0, $20 = 0, $7 = 0, $9 = 0; + $7 = (HEAP32[$0 + 336 >> 2] | 0) + -384 | 0; + $9 = HEAP32[$1 + 84 >> 2] | 0; + $14 = (Math_imul(HEAP32[$9 >> 2] | 0, HEAP16[$2 >> 1] | 0) | 0) + 4100 | 0; + $20 = Math_imul(HEAP32[$9 + 32 >> 2] | 0, HEAP16[$2 + 16 >> 1] | 0) | 0; + HEAP8[(HEAP32[$3 >> 2] | 0) + $4 >> 0] = HEAP8[$7 + (($20 + $14 | 0) >>> 3 & 1023) >> 0] | 0; + HEAP8[(HEAP32[$3 + 4 >> 2] | 0) + $4 >> 0] = HEAP8[$7 + (($14 - $20 | 0) >>> 3 & 1023) >> 0] | 0; + return; +} + +function __ZN10emscripten8internal7InvokerIiJiEE6invokeEPFiiEi($fn, $args) { + $fn = $fn | 0; + $args = $args | 0; + var $call = 0, $call1 = 0, $call2 = 0, $ref$tmp = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $ref$tmp = sp; + $call = __ZN10emscripten8internal11BindingTypeIivE12fromWireTypeEi($args) | 0; + $call1 = FUNCTION_TABLE_ii[$fn & 127]($call) | 0; + HEAP32[$ref$tmp >> 2] = $call1; + $call2 = __ZN10emscripten8internal11BindingTypeIivE10toWireTypeERKi($ref$tmp) | 0; + STACKTOP = sp; + return $call2 | 0; +} + +function __ZZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E13parseEncodingEvENKUlvE_clEv($0) { + $0 = $0 | 0; + var $1 = 0, $4 = 0; + $1 = HEAP32[$0 >> 2] | 0; + if (__ZNK12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E7numLeftEv($1) | 0 ? ($4 = __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($1, 0) | 0, $4 << 24 >> 24 != 69) : 0) return $4 << 24 >> 24 == 46 | $4 << 24 >> 24 == 95 | 0; + return 1; +} + +function __ZN6vision12ScaleVector9IfEEvPT_PKS1_S1_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = +$2; + HEAPF32[$0 >> 2] = +HEAPF32[$1 >> 2] * $2; + HEAPF32[$0 + 4 >> 2] = +HEAPF32[$1 + 4 >> 2] * $2; + HEAPF32[$0 + 8 >> 2] = +HEAPF32[$1 + 8 >> 2] * $2; + HEAPF32[$0 + 12 >> 2] = +HEAPF32[$1 + 12 >> 2] * $2; + HEAPF32[$0 + 16 >> 2] = +HEAPF32[$1 + 16 >> 2] * $2; + HEAPF32[$0 + 20 >> 2] = +HEAPF32[$1 + 20 >> 2] * $2; + HEAPF32[$0 + 24 >> 2] = +HEAPF32[$1 + 24 >> 2] * $2; + HEAPF32[$0 + 28 >> 2] = +HEAPF32[$1 + 28 >> 2] * $2; + HEAPF32[$0 + 32 >> 2] = +HEAPF32[$1 + 32 >> 2] * $2; + return; +} + +function __ZN6vision40Homography4PointsInhomogeneousConstraintIfEEvPT_PKS1_S4_S4_S4_S4_S4_S4_S4_($0, $1, $2, $3, $4, $5, $6, $7, $8) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + $6 = $6 | 0; + $7 = $7 | 0; + $8 = $8 | 0; + __ZN6vision27AddHomographyPointContraintIfEEvPT_PKS1_S4_($0, $1, $5); + __ZN6vision27AddHomographyPointContraintIfEEvPT_PKS1_S4_($0 + 72 | 0, $2, $6); + __ZN6vision27AddHomographyPointContraintIfEEvPT_PKS1_S4_($0 + 144 | 0, $3, $7); + __ZN6vision27AddHomographyPointContraintIfEEvPT_PKS1_S4_($0 + 216 | 0, $4, $8); + return; +} + +function ___shlim($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $11 = 0, $12 = 0, $14 = 0, $16 = 0, $4 = 0, $9 = 0; + $4 = $0 + 112 | 0; + HEAP32[$4 >> 2] = $1; + HEAP32[$4 + 4 >> 2] = $2; + $9 = HEAP32[$0 + 8 >> 2] | 0; + $11 = HEAP32[$0 + 4 >> 2] | 0; + $12 = $9 - $11 | 0; + $14 = (($12 | 0) < 0) << 31 >> 31; + $16 = $0 + 120 | 0; + HEAP32[$16 >> 2] = $12; + HEAP32[$16 + 4 >> 2] = $14; + if ((($1 | 0) != 0 | ($2 | 0) != 0) & (($14 | 0) > ($2 | 0) | ($14 | 0) == ($2 | 0) & $12 >>> 0 > $1 >>> 0)) HEAP32[$0 + 104 >> 2] = $11 + $1; else HEAP32[$0 + 104 >> 2] = $9; + return; +} + +function __ZN6vision20VisualDatabaseFacade5queryEPhmm($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(32); + $4 = sp; + __ZN6vision5ImageC2EPhNS_9ImageTypeEmmim($4, $1, 1, $2, $3, $2, 1); + $7 = __ZN6vision14VisualDatabaseINS_14FREAKExtractorENS_18BinaryFeatureStoreENS_20BinaryFeatureMatcherILi96EEEE5queryERKNS_5ImageE(HEAP32[HEAP32[$0 >> 2] >> 2] | 0, $4) | 0; + __ZN6vision5ImageD2Ev($4); + STACKTOP = sp; + return $7 | 0; +} + +function __ZNSt3__213__vector_baseIN6vision17PriorityQueueItemILi96EEENS_9allocatorIS3_EEED2Ev($0) { + $0 = $0 | 0; + var $$0$i$i = 0, $1 = 0, $3 = 0, $6 = 0, $7 = 0; + $1 = HEAP32[$0 >> 2] | 0; + if ($1 | 0) { + $3 = $0 + 4 | 0; + $$0$i$i = HEAP32[$3 >> 2] | 0; + while (1) { + if (($$0$i$i | 0) == ($1 | 0)) break; + $6 = $$0$i$i + -8 | 0; + __ZN6vision17PriorityQueueItemILi96EED2Ev($6); + $$0$i$i = $6; + } + HEAP32[$3 >> 2] = $1; + $7 = HEAP32[$0 >> 2] | 0; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($7, (HEAP32[$0 + 8 >> 2] | 0) - $7 | 0); + } + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE9push_backERKS3_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $11 = 0, $2 = 0, $3 = 0, $9 = 0; + $2 = $0 + 4 | 0; + $3 = HEAP32[$2 >> 2] | 0; + if (($3 | 0) == (HEAP32[$0 + 8 >> 2] | 0)) { + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE7reserveEm($0, (__ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE4sizeEv($0) | 0) << 1); + $11 = HEAP32[$2 >> 2] | 0; + } else $11 = $3; + $9 = HEAP32[$1 >> 2] | 0; + HEAP32[$2 >> 2] = $11 + 4; + HEAP32[$11 >> 2] = $9; + return; +} + +function __ZN10emscripten8internal7InvokerIdJiEE6invokeEPFdiEi($fn, $args) { + $fn = $fn | 0; + $args = $args | 0; + var $call = 0, $call1 = 0.0, $call2 = 0.0, $ref$tmp = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $ref$tmp = sp; + $call = __ZN10emscripten8internal11BindingTypeIivE12fromWireTypeEi($args) | 0; + $call1 = +FUNCTION_TABLE_di[$fn & 3]($call); + HEAPF64[$ref$tmp >> 3] = $call1; + $call2 = +__ZN10emscripten8internal11BindingTypeIdvE10toWireTypeERKd($ref$tmp); + STACKTOP = sp; + return +$call2; +} + +function __ZN12_GLOBAL__N_116itanium_demangle14IntegerLiteralC2ENS_10StringViewES2_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $10 = 0, $15 = 0, $20 = 0, $21 = 0, $4 = 0, $9 = 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 61, 1, 1, 1); + HEAP32[$0 >> 2] = 18176; + $4 = $1; + $9 = HEAP32[$4 + 4 >> 2] | 0; + $10 = $0 + 8 | 0; + HEAP32[$10 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$10 + 4 >> 2] = $9; + $15 = $2; + $20 = HEAP32[$15 + 4 >> 2] | 0; + $21 = $0 + 16 | 0; + HEAP32[$21 >> 2] = HEAP32[$15 >> 2]; + HEAP32[$21 + 4 >> 2] = $20; + return; +} + +function __ZNSt3__212__hash_tableINS_17__hash_value_typeIiNS_6vectorIiNS_9allocatorIiEEEEEENS_22__unordered_map_hasherIiS6_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS6_NS_8equal_toIiEELb1EEENS3_IS6_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS6_PvEEEE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $3 = 0; + $$0 = $1; + while (1) { + if (!$$0) break; + $3 = HEAP32[$$0 >> 2] | 0; + __ZNSt3__24pairIKiNS_6vectorIiNS_9allocatorIiEEEEED2Ev($$0 + 8 | 0); + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($$0, 24); + $$0 = $3; + } + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EE9push_backERKS3_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $11 = 0, $2 = 0, $3 = 0, $9 = 0; + $2 = $0 + 4 | 0; + $3 = HEAP32[$2 >> 2] | 0; + if (($3 | 0) == (HEAP32[$0 + 8 >> 2] | 0)) { + __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EE7reserveEm($0, (__ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EE4sizeEv($0) | 0) << 1); + $11 = HEAP32[$2 >> 2] | 0; + } else $11 = $3; + $9 = HEAP32[$1 >> 2] | 0; + HEAP32[$2 >> 2] = $11 + 4; + HEAP32[$11 >> 2] = $9; + return; +} + +function __ZNSt3__212__hash_tableINS_17__hash_value_typeIiP14AR2SurfaceSetTEENS_22__unordered_map_hasherIiS4_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS4_NS_8equal_toIiEELb1EEENS_9allocatorIS4_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS4_PvEEEE($this, $__np) { + $this = $this | 0; + $__np = $__np | 0; + var $0 = 0, $__np$addr$0 = 0; + $__np$addr$0 = $__np; + while (1) { + if (!$__np$addr$0) break; + $0 = HEAP32[$__np$addr$0 >> 2] | 0; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($__np$addr$0, 16); + $__np$addr$0 = $0; + } + return; +} + +function __ZNSt3__26vectorIiNS_9allocatorIiEEE12__move_rangeEPiS4_S4_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0, $16 = 0, $18 = 0, $4 = 0, $5 = 0, $8 = 0, $9 = 0; + $4 = $0 + 4 | 0; + $5 = HEAP32[$4 >> 2] | 0; + $8 = $5 - $3 | 0; + $9 = $8 >> 2; + $$0 = $1 + ($9 << 2) | 0; + $16 = $5; + while (1) { + if ($$0 >>> 0 >= $2 >>> 0) break; + HEAP32[$16 >> 2] = HEAP32[$$0 >> 2]; + $18 = $16 + 4 | 0; + HEAP32[$4 >> 2] = $18; + $$0 = $$0 + 4 | 0; + $16 = $18; + } + if ($8 | 0) _memmove($5 + (0 - $9 << 2) | 0, $1 | 0, $8 | 0) | 0; + return; +} + +function __ZNK10__cxxabiv120__si_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib($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 $10 = 0; + if (__ZL8is_equalPKSt9type_infoS1_b($0, HEAP32[$1 + 8 >> 2] | 0, $5) | 0) __ZNK10__cxxabiv117__class_type_info29process_static_type_above_dstEPNS_19__dynamic_cast_infoEPKvS4_i(0, $1, $2, $3, $4); else { + $10 = HEAP32[$0 + 8 >> 2] | 0; + FUNCTION_TABLE_viiiiii[HEAP32[(HEAP32[$10 >> 2] | 0) + 20 >> 2] & 7]($10, $1, $2, $3, $4, $5); + } + return; +} + +function _deleteHandle($arc) { + $arc = $arc | 0; + var $0 = 0, $ar3DHandle = 0, $arhandle = 0, $paramLT = 0; + $arhandle = $arc + 216 | 0; + $0 = HEAP32[$arhandle >> 2] | 0; + if ($0 | 0) { + _arPattDetach($0) | 0; + _arDeleteHandle(HEAP32[$arhandle >> 2] | 0) | 0; + HEAP32[$arhandle >> 2] = 0; + } + $ar3DHandle = $arc + 228 | 0; + if (HEAP32[$ar3DHandle >> 2] | 0) { + _ar3DDeleteHandle($ar3DHandle) | 0; + HEAP32[$ar3DHandle >> 2] = 0; + } + $paramLT = $arc + 192 | 0; + if (HEAP32[$paramLT >> 2] | 0) { + _arParamLTFree($paramLT) | 0; + HEAP32[$paramLT >> 2] = 0; + } + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle13ParameterPack10printRightERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0, $4 = 0, $7 = 0; + __ZNK12_GLOBAL__N_116itanium_demangle13ParameterPack23initializePackExpansionERNS_12OutputStreamE($0, $1); + $3 = HEAP32[$1 + 12 >> 2] | 0; + $4 = $0 + 8 | 0; + if ($3 >>> 0 < (__ZNK12_GLOBAL__N_116itanium_demangle9NodeArray4sizeEv($4) | 0) >>> 0) { + $7 = __ZNK12_GLOBAL__N_116itanium_demangle9NodeArrayixEm($4, $3) | 0; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$7 >> 2] | 0) + 20 >> 2] & 255]($7, $1); + } + return; +} + +function _fwrite($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $11 = 0, $13 = 0, $15 = 0, $4 = 0, $phitmp = 0, $spec$select = 0; + $4 = Math_imul($2, $1) | 0; + $spec$select = ($1 | 0) == 0 ? 0 : $2; + if ((HEAP32[$3 + 76 >> 2] | 0) > -1) { + $phitmp = (___lockfile($3) | 0) == 0; + $11 = ___fwritex($0, $4, $3) | 0; + if ($phitmp) $13 = $11; else { + ___unlockfile($3); + $13 = $11; + } + } else $13 = ___fwritex($0, $4, $3) | 0; + if (($13 | 0) == ($4 | 0)) $15 = $spec$select; else $15 = ($13 >>> 0) / ($1 >>> 0) | 0; + return $15 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle13ParameterPack9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0, $4 = 0, $7 = 0; + __ZNK12_GLOBAL__N_116itanium_demangle13ParameterPack23initializePackExpansionERNS_12OutputStreamE($0, $1); + $3 = HEAP32[$1 + 12 >> 2] | 0; + $4 = $0 + 8 | 0; + if ($3 >>> 0 < (__ZNK12_GLOBAL__N_116itanium_demangle9NodeArray4sizeEv($4) | 0) >>> 0) { + $7 = __ZNK12_GLOBAL__N_116itanium_demangle9NodeArrayixEm($4, $3) | 0; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$7 >> 2] | 0) + 16 >> 2] & 255]($7, $1); + } + return; +} + +function __ZNSt3__214__split_bufferINS_6vectorINS_4pairIfmEENS_9allocatorIS3_EEEERNS4_IS6_EEED2Ev($0) { + $0 = $0 | 0; + var $2 = 0, $3 = 0, $4 = 0, $6 = 0, $7 = 0; + $2 = HEAP32[$0 + 4 >> 2] | 0; + $3 = $0 + 8 | 0; + while (1) { + $4 = HEAP32[$3 >> 2] | 0; + if (($4 | 0) == ($2 | 0)) break; + $6 = $4 + -12 | 0; + HEAP32[$3 >> 2] = $6; + __ZNSt3__213__vector_baseINS_4pairIfmEENS_9allocatorIS2_EEED2Ev($6); + } + $7 = HEAP32[$0 >> 2] | 0; + if ($7 | 0) __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($7, (HEAP32[$0 + 12 >> 2] | 0) - $7 | 0); + return; +} + +function _store_int($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $7 = 0; + L1 : do if ($0 | 0) switch ($1 | 0) { + case -2: + { + HEAP8[$0 >> 0] = $2; + break L1; + break; + } + case -1: + { + HEAP16[$0 >> 1] = $2; + 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; + HEAP32[$7 >> 2] = $2; + HEAP32[$7 + 4 >> 2] = $3; + break L1; + break; + } + default: + break L1; + } while (0); + return; +} + +function __ZNSt3__213__vector_baseIN6vision12FeaturePointENS_9allocatorIS2_EEED2Ev($0) { + $0 = $0 | 0; + var $$0$i$i = 0, $1 = 0, $3 = 0, $6 = 0, $7 = 0; + $1 = HEAP32[$0 >> 2] | 0; + if ($1 | 0) { + $3 = $0 + 4 | 0; + $$0$i$i = HEAP32[$3 >> 2] | 0; + while (1) { + if (($$0$i$i | 0) == ($1 | 0)) break; + $6 = $$0$i$i + -20 | 0; + __ZN6vision12FeaturePointD2Ev($6); + $$0$i$i = $6; + } + HEAP32[$3 >> 2] = $1; + $7 = HEAP32[$0 >> 2] | 0; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($7, (HEAP32[$0 + 8 >> 2] | 0) - $7 | 0); + } + return; +} + +function __ZN6vision4NodeILi96EED2Ev($0) { + $0 = $0 | 0; + var $$0 = 0, $1 = 0, $11 = 0, $2 = 0, $4 = 0; + $1 = $0 + 104 | 0; + $2 = $0 + 108 | 0; + $$0 = 0; + while (1) { + $4 = HEAP32[$1 >> 2] | 0; + if ($$0 >>> 0 >= (HEAP32[$2 >> 2] | 0) - $4 >> 2 >>> 0) break; + $11 = HEAP32[$4 + ($$0 << 2) >> 2] | 0; + if ($11 | 0) { + __ZN6vision4NodeILi96EED2Ev($11); + __ZdlPv($11); + } + $$0 = $$0 + 1 | 0; + } + __ZNSt3__213__vector_baseIiNS_9allocatorIiEEED2Ev($0 + 116 | 0); + __ZNSt3__213__vector_baseIPN6vision4NodeILi96EEENS_9allocatorIS4_EEED2Ev($1); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_12FunctionTypeEJRPNS0_4NodeERNS0_9NodeArrayERNS0_10QualifiersERNS0_15FunctionRefQualESA_EEES9_DpOT0_($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle12FunctionTypeEJRPNS2_4NodeERNS2_9NodeArrayERNS2_10QualifiersERNS2_15FunctionRefQualES6_EEEPT_DpOT0_($0 + 368 | 0, $1, $2, $3, $4, $5) | 0; +} + +function __ZNK10__cxxabiv122__base_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0, $$pre = 0, $11 = 0, $5 = 0; + $$pre = HEAP32[$0 + 4 >> 2] | 0; + if ($2) { + $5 = $$pre >> 8; + if (!($$pre & 1)) $$0 = $5; else $$0 = HEAP32[(HEAP32[$2 >> 2] | 0) + $5 >> 2] | 0; + } else $$0 = 0; + $11 = HEAP32[$0 >> 2] | 0; + FUNCTION_TABLE_viiii[HEAP32[(HEAP32[$11 >> 2] | 0) + 28 >> 2] & 31]($11, $1, $2 + $$0 | 0, ($$pre & 2 | 0) == 0 ? 2 : $3); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle8FoldExprC2EbNS_10StringViewEPKNS0_4NodeES5_($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $14 = 0, $15 = 0, $9 = 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 57, 1, 1, 1); + HEAP32[$0 >> 2] = 19364; + HEAP32[$0 + 8 >> 2] = $3; + HEAP32[$0 + 12 >> 2] = $4; + $9 = $2; + $14 = HEAP32[$9 + 4 >> 2] | 0; + $15 = $0 + 16 | 0; + HEAP32[$15 >> 2] = HEAP32[$9 >> 2]; + HEAP32[$15 + 4 >> 2] = $14; + HEAP8[$0 + 24 >> 0] = $1 & 1; + return; +} + +function __ZNSt3__214__split_bufferIiRNS_9allocatorIiEEE18__construct_at_endINS_11__wrap_iterIPKiEEEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeESB_SB_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $10 = 0, $3 = 0, $4 = 0, $6 = 0, $7 = 0; + $3 = HEAP32[$2 >> 2] | 0; + $4 = $0 + 8 | 0; + $6 = HEAP32[$1 >> 2] | 0; + while (1) { + if (($6 | 0) == ($3 | 0)) break; + $7 = HEAP32[$4 >> 2] | 0; + HEAP32[$7 >> 2] = HEAP32[$6 >> 2]; + HEAP32[$4 >> 2] = $7 + 4; + $10 = $6 + 4 | 0; + HEAP32[$1 >> 2] = $10; + $6 = $10; + } + 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, $14 = 0, $15 = 0, $8 = 0; + if (($0 | 0) == 0 & ($1 | 0) == 0) $$05$lcssa = $2; else { + $$056 = $2; + $15 = $1; + $8 = $0; + while (1) { + $14 = $$056 + -1 | 0; + HEAP8[$14 >> 0] = HEAPU8[6672 + ($8 & 15) >> 0] | 0 | $3; + $8 = _bitshift64Lshr($8 | 0, $15 | 0, 4) | 0; + $15 = getTempRet0() | 0; + if (($8 | 0) == 0 & ($15 | 0) == 0) { + $$05$lcssa = $14; + break; + } else $$056 = $14; + } + } + return $$05$lcssa | 0; +} + +function __ZNSt3__26vectorIN6vision25DoGScaleInvariantDetector12FeaturePointENS_9allocatorIS3_EEE4swapERS6_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $10 = 0, $2 = 0, $4 = 0, $5 = 0, $6 = 0, $8 = 0, $9 = 0; + $2 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$1 >> 2] = $2; + $4 = $0 + 4 | 0; + $5 = $1 + 4 | 0; + $6 = HEAP32[$4 >> 2] | 0; + HEAP32[$4 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$5 >> 2] = $6; + $8 = $0 + 8 | 0; + $9 = $1 + 8 | 0; + $10 = HEAP32[$8 >> 2] | 0; + HEAP32[$8 >> 2] = HEAP32[$9 >> 2]; + HEAP32[$9 >> 2] = $10; + return; +} + +function _arImageProcLumaHist($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$013 = 0, $12 = 0, $8 = 0; + L1 : do if (($0 | 0) != 0 & ($1 | 0) != 0) { + _memset($0 + 12 | 0, 0, 1024) | 0; + $8 = $1 + (Math_imul(HEAP32[$0 + 8 >> 2] | 0, HEAP32[$0 + 4 >> 2] | 0) | 0) | 0; + $$0 = $1; + while (1) { + if ($$0 >>> 0 >= $8 >>> 0) { + $$013 = 0; + break L1; + } + $12 = $0 + 12 + ((HEAPU8[$$0 >> 0] | 0) << 2) | 0; + HEAP32[$12 >> 2] = (HEAP32[$12 >> 2] | 0) + 1; + $$0 = $$0 + 1 | 0; + } + } else $$013 = -1; while (0); + return $$013 | 0; +} + +function __ZNK10__cxxabiv122__base_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib($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, $14 = 0, $7 = 0, $8 = 0; + $7 = HEAP32[$0 + 4 >> 2] | 0; + $8 = $7 >> 8; + if (!($7 & 1)) $$0 = $8; else $$0 = HEAP32[(HEAP32[$3 >> 2] | 0) + $8 >> 2] | 0; + $14 = HEAP32[$0 >> 2] | 0; + FUNCTION_TABLE_viiiiii[HEAP32[(HEAP32[$14 >> 2] | 0) + 20 >> 2] & 7]($14, $1, $2, $3 + $$0 | 0, ($7 & 2 | 0) == 0 ? 2 : $4, $5); + return; +} + +function __ZN6vision15get_pretty_timeEv($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 272 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(272); + $1 = sp + 256 | 0; + $2 = sp; + _time($1 | 0) | 0; + _strftime($2 | 0, 256, 38335, _localtime($1 | 0) | 0) | 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm($0, $2, __ZNSt3__211char_traitsIcE6lengthEPKc($2) | 0); + STACKTOP = sp; + return; +} + +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; + $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 = getTempRet0() | 0; + return (setTempRet0((Math_imul($a$1, $y_sroa_0_0_extract_trunc) | 0) + (Math_imul($b$1, $x_sroa_0_0_extract_trunc) | 0) + $1$1 | $1$1 & 0 | 0), $1$0 | 0 | 0) | 0; +} +function __ZNSt3__213__vector_baseIN6vision5ImageENS_9allocatorIS2_EEED2Ev($0) { + $0 = $0 | 0; + var $$0$i$i = 0, $1 = 0, $3 = 0, $6 = 0, $7 = 0; + $1 = HEAP32[$0 >> 2] | 0; + if ($1 | 0) { + $3 = $0 + 4 | 0; + $$0$i$i = HEAP32[$3 >> 2] | 0; + while (1) { + if (($$0$i$i | 0) == ($1 | 0)) break; + $6 = $$0$i$i + -32 | 0; + __ZN6vision5ImageD2Ev($6); + $$0$i$i = $6; + } + HEAP32[$3 >> 2] = $1; + $7 = HEAP32[$0 >> 2] | 0; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($7, (HEAP32[$0 + 8 >> 2] | 0) - $7 | 0); + } + return; +} + +function __ZN6vision9MaxIndex7IfEEiPKT_($0) { + $0 = $0 | 0; + var $$0 = 0, $$1 = 0, $$2 = 0, $$3 = 0, $$4 = 0; + $$0 = +HEAPF32[$0 + 4 >> 2] > +HEAPF32[$0 >> 2] & 1; + $$1 = +HEAPF32[$0 + 8 >> 2] > +HEAPF32[$0 + ($$0 << 2) >> 2] ? 2 : $$0; + $$2 = +HEAPF32[$0 + 12 >> 2] > +HEAPF32[$0 + ($$1 << 2) >> 2] ? 3 : $$1; + $$3 = +HEAPF32[$0 + 16 >> 2] > +HEAPF32[$0 + ($$2 << 2) >> 2] ? 4 : $$2; + $$4 = +HEAPF32[$0 + 20 >> 2] > +HEAPF32[$0 + ($$3 << 2) >> 2] ? 5 : $$3; + return (+HEAPF32[$0 + 24 >> 2] > +HEAPF32[$0 + ($$4 << 2) >> 2] ? 6 : $$4) | 0; +} + +function ___string_read($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$027 = 0, $14 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $spec$select = 0; + $3 = $0 + 84 | 0; + $4 = HEAP32[$3 >> 2] | 0; + $5 = $2 + 256 | 0; + $6 = _memchr($4, 0, $5) | 0; + $$027 = ($6 | 0) == 0 ? $5 : $6 - $4 | 0; + $spec$select = $$027 >>> 0 < $2 >>> 0 ? $$027 : $2; + _memcpy($1 | 0, $4 | 0, $spec$select | 0) | 0; + HEAP32[$0 + 4 >> 2] = $4 + $spec$select; + $14 = $4 + $$027 | 0; + HEAP32[$0 + 8 >> 2] = $14; + HEAP32[$3 >> 2] = $14; + return $spec$select | 0; +} + +function __ZNSt3__214__split_bufferIN6vision17PriorityQueueItemILi96EEERNS_9allocatorIS3_EEED2Ev($0) { + $0 = $0 | 0; + var $2 = 0, $3 = 0, $4 = 0, $6 = 0, $7 = 0; + $2 = HEAP32[$0 + 4 >> 2] | 0; + $3 = $0 + 8 | 0; + while (1) { + $4 = HEAP32[$3 >> 2] | 0; + if (($4 | 0) == ($2 | 0)) break; + $6 = $4 + -8 | 0; + HEAP32[$3 >> 2] = $6; + __ZN6vision17PriorityQueueItemILi96EED2Ev($6); + } + $7 = HEAP32[$0 >> 2] | 0; + if ($7 | 0) __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($7, (HEAP32[$0 + 12 >> 2] | 0) - $7 | 0); + return; +} + +function __ZNKSt3__29__num_getIwE12__do_widen_pIwEEPKT_RNS_8ios_baseEPS3_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0, $4 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp; + __ZNKSt3__28ios_base6getlocEv($3, $1); + $4 = __ZNKSt3__26locale9use_facetERNS0_2idE($3, 66544) | 0; + FUNCTION_TABLE_iiiii[HEAP32[(HEAP32[$4 >> 2] | 0) + 48 >> 2] & 15]($4, 12928, 12954, $2) | 0; + __ZNSt3__26localeD2Ev($3); + STACKTOP = sp; + return $2 | 0; +} + +function _sbrk($0) { + $0 = $0 | 0; + var $$2 = 0, $1 = 0, $10 = 0, $2 = 0, $3 = 0, $5 = 0; + $1 = _emscripten_get_sbrk_ptr() | 0; + $2 = HEAP32[$1 >> 2] | 0; + $3 = $2 + $0 | 0; + if (($3 | 0) < 0) { + $5 = ___errno_location() | 0; + HEAP32[$5 >> 2] = 48; + $$2 = -1; + return $$2 | 0; + } + if ($3 >>> 0 > (_emscripten_get_heap_size() | 0) >>> 0 ? (_emscripten_resize_heap($3 | 0) | 0) == 0 : 0) { + $10 = ___errno_location() | 0; + HEAP32[$10 >> 2] = 48; + $$2 = -1; + return $$2 | 0; + } + HEAP32[$1 >> 2] = $3; + $$2 = $2; + return $$2 | 0; +} + +function __ZNKSt3__25ctypeIwE11do_scan_notEtPKwS3_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0, $$0$lcssa = 0, $7 = 0; + $$0 = $2; + while (1) { + if (($$0 | 0) == ($3 | 0)) { + $$0$lcssa = $3; + break; + } + if ((HEAP32[$$0 >> 2] | 0) >>> 0 >= 128) { + $$0$lcssa = $$0; + break; + } + $7 = __ZNSt3__25ctypeIcE13classic_tableEv() | 0; + if (!((HEAP16[$7 + (HEAP32[$$0 >> 2] << 1) >> 1] & $1) << 16 >> 16)) { + $$0$lcssa = $$0; + break; + } + $$0 = $$0 + 4 | 0; + } + return $$0$lcssa | 0; +} + +function _ar2GetTransMatHomography_176($initConv, $pos2d, $pos3d, $num, $conv, $robustMode, $inlierProb) { + $initConv = $initConv | 0; + $pos2d = $pos2d | 0; + $pos3d = $pos3d | 0; + $num = $num | 0; + $conv = $conv | 0; + $robustMode = $robustMode | 0; + $inlierProb = +$inlierProb; + var $retval$0 = 0.0; + if (!$robustMode) $retval$0 = +_ar2GetTransMatHomography2_177($initConv, $pos2d, $pos3d, $num, $conv); else $retval$0 = +_ar2GetTransMatHomographyRobust_178($initConv, $pos2d, $pos3d, $num, $conv, $inlierProb); + return +$retval$0; +} + +function __ZNSt3__214__split_bufferIN6vision25DoGScaleInvariantDetector12FeaturePointERNS_9allocatorIS3_EEE18__construct_at_endEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $2 = 0, $3 = 0, dest = 0, stop = 0; + $2 = $0 + 8 | 0; + $$0 = $1; + $3 = HEAP32[$2 >> 2] | 0; + do { + dest = $3; + stop = dest + 36 | 0; + do { + HEAP32[dest >> 2] = 0; + dest = dest + 4 | 0; + } while ((dest | 0) < (stop | 0)); + $3 = (HEAP32[$2 >> 2] | 0) + 36 | 0; + HEAP32[$2 >> 2] = $3; + $$0 = $$0 + -1 | 0; + } while (($$0 | 0) != 0); + return; +} + +function __ZN6vision11DotProduct9IfEET_PKS1_S3_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return +(+HEAPF32[$0 >> 2] * +HEAPF32[$1 >> 2] + +HEAPF32[$0 + 4 >> 2] * +HEAPF32[$1 + 4 >> 2] + +HEAPF32[$0 + 8 >> 2] * +HEAPF32[$1 + 8 >> 2] + +HEAPF32[$0 + 12 >> 2] * +HEAPF32[$1 + 12 >> 2] + +HEAPF32[$0 + 16 >> 2] * +HEAPF32[$1 + 16 >> 2] + +HEAPF32[$0 + 20 >> 2] * +HEAPF32[$1 + 20 >> 2] + +HEAPF32[$0 + 24 >> 2] * +HEAPF32[$1 + 24 >> 2] + +HEAPF32[$0 + 28 >> 2] * +HEAPF32[$1 + 28 >> 2] + +HEAPF32[$0 + 32 >> 2] * +HEAPF32[$1 + 32 >> 2]); +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E13makeNodeArrayIPPNS0_4NodeEEENS0_9NodeArrayET_SB_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $6 = 0, $7 = 0, $9 = 0; + $6 = $3 - $2 | 0; + $7 = $6 >> 2; + $9 = __ZN12_GLOBAL__N_116DefaultAllocator17allocateNodeArrayEm($1 + 368 | 0, $7) | 0; + if ($6 | 0) _memmove($9 | 0, $2 | 0, $6 | 0) | 0; + __ZN12_GLOBAL__N_116itanium_demangle9NodeArrayC2EPPNS0_4NodeEm($0, $9, $7); + return; +} + +function __ZNK10__cxxabiv122__base_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0 = 0, $13 = 0, $6 = 0, $7 = 0; + $6 = HEAP32[$0 + 4 >> 2] | 0; + $7 = $6 >> 8; + if (!($6 & 1)) $$0 = $7; else $$0 = HEAP32[(HEAP32[$2 >> 2] | 0) + $7 >> 2] | 0; + $13 = HEAP32[$0 >> 2] | 0; + FUNCTION_TABLE_viiiii[HEAP32[(HEAP32[$13 >> 2] | 0) + 24 >> 2] & 63]($13, $1, $2 + $$0 | 0, ($6 & 2 | 0) == 0 ? 2 : $3, $4); + return; +} + +function _emit_message($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $13 = 0, $2 = 0, $4 = 0, $5 = 0, label = 0; + $2 = HEAP32[$0 >> 2] | 0; + if (($1 | 0) >= 0) { + if ((HEAP32[$2 + 104 >> 2] | 0) < ($1 | 0)) return; + FUNCTION_TABLE_vi[HEAP32[$2 + 8 >> 2] & 255]($0); + return; + } + $4 = $2 + 108 | 0; + $5 = HEAP32[$4 >> 2] | 0; + if (($5 | 0) != 0 ? (HEAP32[$2 + 104 >> 2] | 0) <= 2 : 0) $13 = $5; else { + FUNCTION_TABLE_vi[HEAP32[$2 + 8 >> 2] & 255]($0); + $13 = HEAP32[$4 >> 2] | 0; + } + HEAP32[$4 >> 2] = $13 + 1; + return; +} + +function __ZNSt3__26vectorIN6vision25DoGScaleInvariantDetector12FeaturePointENS_9allocatorIS3_EEE18__construct_at_endEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $2 = 0, $3 = 0, dest = 0, stop = 0; + $2 = $0 + 4 | 0; + $$0 = $1; + $3 = HEAP32[$2 >> 2] | 0; + do { + dest = $3; + stop = dest + 36 | 0; + do { + HEAP32[dest >> 2] = 0; + dest = dest + 4 | 0; + } while ((dest | 0) < (stop | 0)); + $3 = (HEAP32[$2 >> 2] | 0) + 36 | 0; + HEAP32[$2 >> 2] = $3; + $$0 = $$0 + -1 | 0; + } while (($$0 | 0) != 0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle10AbiTagAttrC2EPNS0_4NodeENS_10StringViewE($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $11 = 0, $16 = 0, $17 = 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 8, HEAP8[$1 + 5 >> 0] | 0, HEAP8[$1 + 6 >> 0] | 0, HEAP8[$1 + 7 >> 0] | 0); + HEAP32[$0 >> 2] = 17560; + HEAP32[$0 + 8 >> 2] = $1; + $11 = $2; + $16 = HEAP32[$11 + 4 >> 2] | 0; + $17 = $0 + 12 | 0; + HEAP32[$17 >> 2] = HEAP32[$11 >> 2]; + HEAP32[$17 + 4 >> 2] = $16; + return; +} + +function __ZL14genBWImageFullPhiiPiS0_($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, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + HEAP32[$3 >> 2] = $1; + HEAP32[$4 >> 2] = $2; + $5 = Math_imul($2, $1) | 0; + $6 = _malloc($5) | 0; + if (!$6) { + _arLog(0, 3, 45930, sp); + _exit(1); + } else { + _memcpy($6 | 0, $0 | 0, $5 | 0) | 0; + STACKTOP = sp; + return $6 | 0; + } + return 0; +} + +function __ZNSt3__26vectorIN6vision7match_tENS_9allocatorIS2_EEE4swapERS5_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $10 = 0, $2 = 0, $4 = 0, $5 = 0, $6 = 0, $8 = 0, $9 = 0; + $2 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$1 >> 2] = $2; + $4 = $0 + 4 | 0; + $5 = $1 + 4 | 0; + $6 = HEAP32[$4 >> 2] | 0; + HEAP32[$4 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$5 >> 2] = $6; + $8 = $0 + 8 | 0; + $9 = $1 + 8 | 0; + $10 = HEAP32[$8 >> 2] | 0; + HEAP32[$8 >> 2] = HEAP32[$9 >> 2]; + HEAP32[$9 >> 2] = $10; + return; +} + +function __ZNSt3__26vectorIN6vision25DoGScaleInvariantDetector12FeaturePointENS_9allocatorIS3_EEE6resizeEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $4 = 0, $6 = 0, $8 = 0; + $2 = $0 + 4 | 0; + $4 = HEAP32[$0 >> 2] | 0; + $6 = ((HEAP32[$2 >> 2] | 0) - $4 | 0) / 36 | 0; + $8 = $4; + if ($6 >>> 0 >= $1 >>> 0) { + if ($6 >>> 0 > $1 >>> 0) HEAP32[$2 >> 2] = $8 + ($1 * 36 | 0); + } else __ZNSt3__26vectorIN6vision25DoGScaleInvariantDetector12FeaturePointENS_9allocatorIS3_EEE8__appendEm($0, $1 - $6 | 0); + return; +} + +function __ZNK10__cxxabiv120__si_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $8 = 0; + if (__ZL8is_equalPKSt9type_infoS1_b($0, HEAP32[$1 + 8 >> 2] | 0, 0) | 0) __ZNK10__cxxabiv117__class_type_info24process_found_base_classEPNS_19__dynamic_cast_infoEPvi(0, $1, $2, $3); else { + $8 = HEAP32[$0 + 8 >> 2] | 0; + FUNCTION_TABLE_viiii[HEAP32[(HEAP32[$8 >> 2] | 0) + 28 >> 2] & 31]($8, $1, $2, $3); + } + return; +} + +function _arUtilGetDirectoryNameFromPath($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0, $14 = 0, $7 = 0; + do if (($0 | 0) != 0 & ($1 | 0) != 0 & ($2 | 0) != 0) { + $7 = _strrchr($1, 47) | 0; + if (!$7) { + HEAP8[$0 >> 0] = 0; + $$0 = $0; + break; + } + $14 = $7 + (($3 | 0) != 0 & 1) - $1 | 0; + if (($14 + 1 | 0) >>> 0 <= $2 >>> 0) { + _strncpy($0, $1, $14) | 0; + HEAP8[$0 + $14 >> 0] = 0; + $$0 = $0; + } else $$0 = 0; + } else $$0 = 0; while (0); + return $$0 | 0; +} + +function __ZNSt3__26vectorIiNS_9allocatorIiEEE18__construct_at_endINS_11__wrap_iterIPKiEEEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeESA_SA_m($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $5 = 0, $6 = 0, $8 = 0, $9 = 0; + $5 = HEAP32[$2 >> 2] | 0; + $6 = $0 + 4 | 0; + $8 = HEAP32[$1 >> 2] | 0; + while (1) { + if (($8 | 0) == ($5 | 0)) break; + $9 = HEAP32[$6 >> 2] | 0; + HEAP32[$9 >> 2] = HEAP32[$8 >> 2]; + HEAP32[$6 >> 2] = $9 + 4; + $8 = $8 + 4 | 0; + } + return; +} + +function __ZNSt3__214__split_bufferIN6vision25DoGScaleInvariantDetector12FeaturePointERNS_9allocatorIS3_EEED2Ev($0) { + $0 = $0 | 0; + var $2 = 0, $3 = 0, $5 = 0, $6 = 0, $7 = 0; + $2 = HEAP32[$0 + 4 >> 2] | 0; + $3 = $0 + 8 | 0; + $5 = HEAP32[$3 >> 2] | 0; + while (1) { + if (($5 | 0) == ($2 | 0)) break; + $6 = $5 + -36 | 0; + HEAP32[$3 >> 2] = $6; + $5 = $6; + } + $7 = HEAP32[$0 >> 2] | 0; + if ($7 | 0) __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($7, (HEAP32[$0 + 12 >> 2] | 0) - $7 | 0); + return; +} + +function __ZNSt3__214__split_bufferIN6vision12FeaturePointERNS_9allocatorIS2_EEED2Ev($0) { + $0 = $0 | 0; + var $2 = 0, $3 = 0, $4 = 0, $6 = 0, $7 = 0; + $2 = HEAP32[$0 + 4 >> 2] | 0; + $3 = $0 + 8 | 0; + while (1) { + $4 = HEAP32[$3 >> 2] | 0; + if (($4 | 0) == ($2 | 0)) break; + $6 = $4 + -20 | 0; + HEAP32[$3 >> 2] = $6; + __ZN6vision12FeaturePointD2Ev($6); + } + $7 = HEAP32[$0 >> 2] | 0; + if ($7 | 0) __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($7, (HEAP32[$0 + 12 >> 2] | 0) - $7 | 0); + return; +} + +function __ZNKSt3__27codecvtIwc11__mbstate_tE11do_encodingEv($0) { + $0 = $0 | 0; + var $$0 = 0, $1 = 0, $10 = 0, $3 = 0, $4 = 0, $7 = 0, $9 = 0; + $1 = $0 + 8 | 0; + $3 = ___uselocale(HEAP32[$1 >> 2] | 0) | 0; + $4 = _mbtowc(0, 0, 4) | 0; + if ($3 | 0) ___uselocale($3) | 0; + if (!$4) { + $7 = HEAP32[$1 >> 2] | 0; + if (!$7) $$0 = 1; else { + $9 = ___uselocale($7) | 0; + $10 = ___ctype_get_mb_cur_max() | 0; + if ($9 | 0) ___uselocale($9) | 0; + return ($10 | 0) == 1 | 0; + } + } else $$0 = -1; + return $$0 | 0; +} + +function _vasprintf($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $3 = 0, $4 = 0, $6 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp; + HEAP32[$3 >> 2] = HEAP32[$2 >> 2]; + $4 = _vsnprintf(0, 0, $1, $3) | 0; + if (($4 | 0) >= 0 ? ($6 = $4 + 1 | 0, $7 = _malloc($6) | 0, HEAP32[$0 >> 2] = $7, ($7 | 0) != 0) : 0) $$0 = _vsnprintf($7, $6, $1, $2) | 0; else $$0 = -1; + STACKTOP = sp; + return $$0 | 0; +} + +function _jcopy_sample_rows($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 $$01922 = 0, $$02021 = 0, $$023 = 0; + if (($4 | 0) <= 0) return; + $$01922 = $0 + ($1 << 2) | 0; + $$02021 = $2 + ($3 << 2) | 0; + $$023 = $4; + while (1) { + _memcpy(HEAP32[$$02021 >> 2] | 0, HEAP32[$$01922 >> 2] | 0, $5 | 0) | 0; + if (($$023 | 0) > 1) { + $$01922 = $$01922 + 4 | 0; + $$02021 = $$02021 + 4 | 0; + $$023 = $$023 + -1 | 0; + } else break; + } + return; +} + +function __ZN6vision6Logger5writeENS_19LoggerPriorityLevelERKNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEE($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $11 = 0, $3 = 0, $5 = 0; + $3 = $0 + 4 | 0; + $$0 = 0; + while (1) { + $5 = HEAP32[$0 >> 2] | 0; + if ($$0 >>> 0 >= (HEAP32[$3 >> 2] | 0) - $5 >> 3 >>> 0) break; + $11 = HEAP32[$5 + ($$0 << 3) >> 2] | 0; + FUNCTION_TABLE_viii[HEAP32[(HEAP32[$11 >> 2] | 0) + 8 >> 2] & 3]($11, $1, $2); + $$0 = $$0 + 1 | 0; + } + return; +} + +function __ZN12_GLOBAL__N_112OutputStream4growEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $11 = 0, $4 = 0, $5 = 0, $6 = 0, $8 = 0, $spec$store$select = 0; + $4 = (HEAP32[$0 + 4 >> 2] | 0) + $1 | 0; + $5 = $0 + 8 | 0; + $6 = HEAP32[$5 >> 2] | 0; + if ($4 >>> 0 >= $6 >>> 0 ? ($8 = $6 << 1, $spec$store$select = $8 >>> 0 < $4 >>> 0 ? $4 : $8, HEAP32[$5 >> 2] = $spec$store$select, $11 = _realloc(HEAP32[$0 >> 2] | 0, $spec$store$select) | 0, HEAP32[$0 >> 2] = $11, ($11 | 0) == 0) : 0) __ZSt9terminatev(); + return; +} + +function __ZN12_GLOBAL__N_120register_memory_viewItEEvPKc($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + HEAP32[$1 >> 2] = $0; + $2 = __ZN10emscripten8internal6TypeIDINS_11memory_viewItEEvE3getEv() | 0; + $3 = __ZN12_GLOBAL__N_118getTypedArrayIndexItEENS_15TypedArrayIndexEv() | 0; + __embind_register_memory_view($2 | 0, $3 | 0, HEAP32[$1 >> 2] | 0); + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_120register_memory_viewIsEEvPKc($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + HEAP32[$1 >> 2] = $0; + $2 = __ZN10emscripten8internal6TypeIDINS_11memory_viewIsEEvE3getEv() | 0; + $3 = __ZN12_GLOBAL__N_118getTypedArrayIndexIsEENS_15TypedArrayIndexEv() | 0; + __embind_register_memory_view($2 | 0, $3 | 0, HEAP32[$1 >> 2] | 0); + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_120register_memory_viewImEEvPKc($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + HEAP32[$1 >> 2] = $0; + $2 = __ZN10emscripten8internal6TypeIDINS_11memory_viewImEEvE3getEv() | 0; + $3 = __ZN12_GLOBAL__N_118getTypedArrayIndexImEENS_15TypedArrayIndexEv() | 0; + __embind_register_memory_view($2 | 0, $3 | 0, HEAP32[$1 >> 2] | 0); + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_120register_memory_viewIlEEvPKc($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + HEAP32[$1 >> 2] = $0; + $2 = __ZN10emscripten8internal6TypeIDINS_11memory_viewIlEEvE3getEv() | 0; + $3 = __ZN12_GLOBAL__N_118getTypedArrayIndexIlEENS_15TypedArrayIndexEv() | 0; + __embind_register_memory_view($2 | 0, $3 | 0, HEAP32[$1 >> 2] | 0); + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_120register_memory_viewIjEEvPKc($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + HEAP32[$1 >> 2] = $0; + $2 = __ZN10emscripten8internal6TypeIDINS_11memory_viewIjEEvE3getEv() | 0; + $3 = __ZN12_GLOBAL__N_118getTypedArrayIndexIjEENS_15TypedArrayIndexEv() | 0; + __embind_register_memory_view($2 | 0, $3 | 0, HEAP32[$1 >> 2] | 0); + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_120register_memory_viewIiEEvPKc($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + HEAP32[$1 >> 2] = $0; + $2 = __ZN10emscripten8internal6TypeIDINS_11memory_viewIiEEvE3getEv() | 0; + $3 = __ZN12_GLOBAL__N_118getTypedArrayIndexIiEENS_15TypedArrayIndexEv() | 0; + __embind_register_memory_view($2 | 0, $3 | 0, HEAP32[$1 >> 2] | 0); + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_120register_memory_viewIhEEvPKc($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + HEAP32[$1 >> 2] = $0; + $2 = __ZN10emscripten8internal6TypeIDINS_11memory_viewIhEEvE3getEv() | 0; + $3 = __ZN12_GLOBAL__N_118getTypedArrayIndexIhEENS_15TypedArrayIndexEv() | 0; + __embind_register_memory_view($2 | 0, $3 | 0, HEAP32[$1 >> 2] | 0); + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_120register_memory_viewIfEEvPKc($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + HEAP32[$1 >> 2] = $0; + $2 = __ZN10emscripten8internal6TypeIDINS_11memory_viewIfEEvE3getEv() | 0; + $3 = __ZN12_GLOBAL__N_118getTypedArrayIndexIfEENS_15TypedArrayIndexEv() | 0; + __embind_register_memory_view($2 | 0, $3 | 0, HEAP32[$1 >> 2] | 0); + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_120register_memory_viewIeEEvPKc($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + HEAP32[$1 >> 2] = $0; + $2 = __ZN10emscripten8internal6TypeIDINS_11memory_viewIeEEvE3getEv() | 0; + $3 = __ZN12_GLOBAL__N_118getTypedArrayIndexIeEENS_15TypedArrayIndexEv() | 0; + __embind_register_memory_view($2 | 0, $3 | 0, HEAP32[$1 >> 2] | 0); + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_120register_memory_viewIdEEvPKc($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + HEAP32[$1 >> 2] = $0; + $2 = __ZN10emscripten8internal6TypeIDINS_11memory_viewIdEEvE3getEv() | 0; + $3 = __ZN12_GLOBAL__N_118getTypedArrayIndexIdEENS_15TypedArrayIndexEv() | 0; + __embind_register_memory_view($2 | 0, $3 | 0, HEAP32[$1 >> 2] | 0); + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_120register_memory_viewIcEEvPKc($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + HEAP32[$1 >> 2] = $0; + $2 = __ZN10emscripten8internal6TypeIDINS_11memory_viewIcEEvE3getEv() | 0; + $3 = __ZN12_GLOBAL__N_118getTypedArrayIndexIcEENS_15TypedArrayIndexEv() | 0; + __embind_register_memory_view($2 | 0, $3 | 0, HEAP32[$1 >> 2] | 0); + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_120register_memory_viewIaEEvPKc($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + HEAP32[$1 >> 2] = $0; + $2 = __ZN10emscripten8internal6TypeIDINS_11memory_viewIaEEvE3getEv() | 0; + $3 = __ZN12_GLOBAL__N_118getTypedArrayIndexIaEENS_15TypedArrayIndexEv() | 0; + __embind_register_memory_view($2 | 0, $3 | 0, HEAP32[$1 >> 2] | 0); + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle10MemberExprC2EPKNS0_4NodeENS_10StringViewES4_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $11 = 0, $12 = 0, $6 = 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 46, 1, 1, 1); + HEAP32[$0 >> 2] = 18880; + HEAP32[$0 + 8 >> 2] = $1; + $6 = $2; + $11 = HEAP32[$6 + 4 >> 2] | 0; + $12 = $0 + 12 | 0; + HEAP32[$12 >> 2] = HEAP32[$6 >> 2]; + HEAP32[$12 + 4 >> 2] = $11; + HEAP32[$0 + 20 >> 2] = $3; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle10BinaryExprC2EPKNS0_4NodeENS_10StringViewES4_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $11 = 0, $12 = 0, $6 = 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 42, 1, 1, 1); + HEAP32[$0 >> 2] = 19320; + HEAP32[$0 + 8 >> 2] = $1; + $6 = $2; + $11 = HEAP32[$6 + 4 >> 2] | 0; + $12 = $0 + 12 | 0; + HEAP32[$12 >> 2] = HEAP32[$6 >> 2]; + HEAP32[$12 + 4 >> 2] = $11; + HEAP32[$0 + 20 >> 2] = $3; + return; +} + +function __ZN6vision35MultiplyPointHomographyInhomogenousIfEEvRT_S2_PKS1_S1_S1_($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = +$3; + $4 = +$4; + var $14 = 0.0; + $14 = +HEAPF32[$2 + 32 >> 2] + (+HEAPF32[$2 + 24 >> 2] * $3 + +HEAPF32[$2 + 28 >> 2] * $4); + HEAPF32[$0 >> 2] = (+HEAPF32[$2 + 8 >> 2] + (+HEAPF32[$2 >> 2] * $3 + +HEAPF32[$2 + 4 >> 2] * $4)) / $14; + HEAPF32[$1 >> 2] = (+HEAPF32[$2 + 20 >> 2] + (+HEAPF32[$2 + 12 >> 2] * $3 + +HEAPF32[$2 + 16 >> 2] * $4)) / $14; + return; +} + +function __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + if ((HEAP8[$1 + 11 >> 0] | 0) < 0) __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm($0, HEAP32[$1 >> 2] | 0, HEAP32[$1 + 4 >> 2] | 0); else { + HEAP32[$0 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$0 + 4 >> 2] = HEAP32[$1 + 4 >> 2]; + HEAP32[$0 + 8 >> 2] = HEAP32[$1 + 8 >> 2]; + } + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle8CastExprC2ENS_10StringViewEPKNS0_4NodeES5_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $10 = 0, $11 = 0, $5 = 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 48, 1, 1, 1); + HEAP32[$0 >> 2] = 18528; + $5 = $1; + $10 = HEAP32[$5 + 4 >> 2] | 0; + $11 = $0 + 8 | 0; + HEAP32[$11 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$11 + 4 >> 2] = $10; + HEAP32[$0 + 16 >> 2] = $2; + HEAP32[$0 + 20 >> 2] = $3; + return; +} + +function __ZNSt3__213__lower_boundIRNS_6__lessIjmEEPKjmEET0_S6_S6_RKT1_T_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0, $$014 = 0, $10 = 0, $11 = 0, $13 = 0, $8 = 0; + $8 = HEAP32[$2 >> 2] | 0; + $$0 = $0; + $$014 = $1 - $0 >> 2; + while (1) { + if (!$$014) break; + $10 = $$014 >>> 1; + $11 = $$0 + ($10 << 2) | 0; + $13 = (HEAP32[$11 >> 2] | 0) >>> 0 < $8 >>> 0; + $$0 = $13 ? $11 + 4 | 0 : $$0; + $$014 = $13 ? $$014 + -1 - $10 | 0 : $10; + } + return $$0 | 0; +} + +function ___towrite($0) { + $0 = $0 | 0; + var $$0 = 0, $1 = 0, $14 = 0, $3 = 0, $7 = 0; + $1 = $0 + 74 | 0; + $3 = HEAP8[$1 >> 0] | 0; + HEAP8[$1 >> 0] = $3 + 255 | $3; + $7 = HEAP32[$0 >> 2] | 0; + if (!($7 & 8)) { + HEAP32[$0 + 8 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + $14 = HEAP32[$0 + 44 >> 2] | 0; + HEAP32[$0 + 28 >> 2] = $14; + HEAP32[$0 + 20 >> 2] = $14; + HEAP32[$0 + 16 >> 2] = $14 + (HEAP32[$0 + 48 >> 2] | 0); + $$0 = 0; + } else { + HEAP32[$0 >> 2] = $7 | 32; + $$0 = -1; + } + return $$0 | 0; +} + +function __ZNSt3__26vectorIiNS_9allocatorIiEEE4swapERS3_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $10 = 0, $2 = 0, $4 = 0, $5 = 0, $6 = 0, $8 = 0, $9 = 0; + $2 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = HEAP32[$1 >> 2]; + HEAP32[$1 >> 2] = $2; + $4 = $0 + 4 | 0; + $5 = $1 + 4 | 0; + $6 = HEAP32[$4 >> 2] | 0; + HEAP32[$4 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$5 >> 2] = $6; + $8 = $0 + 8 | 0; + $9 = $1 + 8 | 0; + $10 = HEAP32[$8 >> 2] | 0; + HEAP32[$8 >> 2] = HEAP32[$9 >> 2]; + HEAP32[$9 >> 2] = $10; + return; +} + +function __ZNSt3__214__split_bufferIN6vision5ImageERNS_9allocatorIS2_EEED2Ev($0) { + $0 = $0 | 0; + var $2 = 0, $3 = 0, $4 = 0, $6 = 0, $7 = 0; + $2 = HEAP32[$0 + 4 >> 2] | 0; + $3 = $0 + 8 | 0; + while (1) { + $4 = HEAP32[$3 >> 2] | 0; + if (($4 | 0) == ($2 | 0)) break; + $6 = $4 + -32 | 0; + HEAP32[$3 >> 2] = $6; + __ZN6vision5ImageD2Ev($6); + } + $7 = HEAP32[$0 >> 2] | 0; + if ($7 | 0) __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($7, (HEAP32[$0 + 12 >> 2] | 0) - $7 | 0); + return; +} + +function __ZN6vision28BinaryHierarchicalClusteringILi96EED2Ev($0) { + $0 = $0 | 0; + var $4 = 0, $5 = 0; + __ZNSt3__214priority_queueIN6vision17PriorityQueueItemILi96EEENS_6vectorIS3_NS_9allocatorIS3_EEEENS_4lessIS3_EEED2Ev($0 + 84 | 0); + __ZNSt3__213__vector_baseIiNS_9allocatorIiEEED2Ev($0 + 72 | 0); + __ZN6vision14BinarykMedoidsILi96EED2Ev($0 + 12 | 0); + $4 = $0 + 8 | 0; + $5 = HEAP32[$4 >> 2] | 0; + HEAP32[$4 >> 2] = 0; + if ($5 | 0) { + __ZN6vision4NodeILi96EED2Ev($5); + __ZdlPv($5); + } + return; +} + +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, $7 = 0; + if (($0 | 0) == 0 & ($1 | 0) == 0) $$0$lcssa = $2; else { + $$06 = $2; + $11 = $1; + $7 = $0; + while (1) { + $10 = $$06 + -1 | 0; + HEAP8[$10 >> 0] = $7 & 7 | 48; + $7 = _bitshift64Lshr($7 | 0, $11 | 0, 3) | 0; + $11 = getTempRet0() | 0; + if (($7 | 0) == 0 & ($11 | 0) == 0) { + $$0$lcssa = $10; + break; + } else $$06 = $10; + } + } + return $$0$lcssa | 0; +} + +function _ar2SetInitTrans($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$016 = 0, $$017 = 0; + if (!$0) $$017 = -1; else { + HEAP32[$0 + 152 >> 2] = 1; + $$0 = 0; + while (1) { + if (($$0 | 0) == 3) break; + $$016 = 0; + while (1) { + if (($$016 | 0) == 4) break; + HEAP32[$0 + 8 + ($$0 << 4) + ($$016 << 2) >> 2] = HEAP32[$1 + ($$0 << 4) + ($$016 << 2) >> 2]; + $$016 = $$016 + 1 | 0; + } + $$0 = $$0 + 1 | 0; + } + HEAP32[$0 + 168 >> 2] = -1; + $$017 = 0; + } + return $$017 | 0; +} + +function __ZNSt3__219__libcpp_snprintf_lEPcmP15__locale_structPKcz($0, $1, $2, $3, $varargs) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $varargs = $varargs | 0; + var $4 = 0, $5 = 0, $6 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $4 = sp; + HEAP32[$4 >> 2] = $varargs; + $5 = ___uselocale($2) | 0; + $6 = _vsnprintf($0, $1, $3, $4) | 0; + if ($5 | 0) ___uselocale($5) | 0; + STACKTOP = sp; + return $6 | 0; +} + +function __ZN6vision29SolveSymmetricLinearSystem3x3IfEEbPT_PKS1_S4_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 48 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(48); + $3 = sp; + if (__ZN6vision25MatrixInverseSymmetric3x3IfEEbPT_PKS1_S1_($3, $1, 1.1920928955078125e-07) | 0) { + __ZN6vision16Multiply_3x3_3x1IfEEvPT_PKS1_S4_($0, $3, $2); + $$0 = 1; + } else $$0 = 0; + STACKTOP = sp; + return $$0 | 0; +} + +function _get_buff($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $6 = 0, $7 = 0; + L1 : while (1) { + if (!(_fgets($0, 256, $1) | 0)) break; + $$0 = _strlen($0) | 0; + L4 : while (1) { + if (!$$0) break; + $6 = $$0 + -1 | 0; + $7 = $0 + $6 | 0; + switch (HEAP8[$7 >> 0] | 0) { + case 13: + case 10: + break; + default: + break L4; + } + HEAP8[$7 >> 0] = 0; + $$0 = $6; + } + switch (HEAP8[$0 >> 0] | 0) { + case 0: + case 35: + break; + default: + break L1; + } + } + return; +} + +function __ZNKSt3__25ctypeIwE5do_isEPKwS3_Pt($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0, $$08 = 0, $13 = 0, $7 = 0; + $$0 = $3; + $$08 = $1; + while (1) { + if (($$08 | 0) == ($2 | 0)) break; + if ((HEAP32[$$08 >> 2] | 0) >>> 0 < 128) { + $7 = __ZNSt3__25ctypeIcE13classic_tableEv() | 0; + $13 = HEAPU16[$7 + (HEAP32[$$08 >> 2] << 1) >> 1] | 0; + } else $13 = 0; + HEAP16[$$0 >> 1] = $13; + $$0 = $$0 + 2 | 0; + $$08 = $$08 + 4 | 0; + } + return $2 | 0; +} + +function __ZNK6vision20VisualDatabaseFacade18get3DFeaturePointsEi($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $5 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $2 = sp; + HEAP32[$2 >> 2] = $1; + $5 = __ZNSt3__213unordered_mapIiNS_6vectorIN6vision7Point3dIfEENS_9allocatorIS4_EEEENS_4hashIiEENS_8equal_toIiEENS5_INS_4pairIKiS7_EEEEEixERSD_((HEAP32[$0 >> 2] | 0) + 4 | 0, $2) | 0; + STACKTOP = sp; + return $5 | 0; +} + +function __ZNKSt3__25ctypeIwE10do_scan_isEtPKwS3_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0, $$0$lcssa = 0, $7 = 0; + $$0 = $2; + while (1) { + if (($$0 | 0) == ($3 | 0)) { + $$0$lcssa = $3; + break; + } + if ((HEAP32[$$0 >> 2] | 0) >>> 0 < 128 ? ($7 = __ZNSt3__25ctypeIcE13classic_tableEv() | 0, (HEAP16[$7 + (HEAP32[$$0 >> 2] << 1) >> 1] & $1) << 16 >> 16) : 0) { + $$0$lcssa = $$0; + break; + } + $$0 = $$0 + 4 | 0; + } + return $$0$lcssa | 0; +} + +function __ZN6vision18BinaryFeatureStore6resizeEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $5 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $2 = sp; + $5 = Math_imul(HEAP32[$0 >> 2] | 0, $1) | 0; + HEAP8[$2 >> 0] = 0; + __ZNSt3__26vectorIhNS_9allocatorIhEEE6resizeEmRKh($0 + 4 | 0, $5, $2); + __ZNSt3__26vectorIN6vision12FeaturePointENS_9allocatorIS2_EEE6resizeEm($0 + 16 | 0, $1); + STACKTOP = sp; + return; +} + +function __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE5uflowEv($0) { + $0 = $0 | 0; + var $$0 = 0, $4 = 0, $8 = 0, $9 = 0; + $4 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$0 >> 2] | 0) + 36 >> 2] & 127]($0) | 0; + if (($4 | 0) == (__ZNSt3__211char_traitsIwE3eofEv() | 0)) $$0 = __ZNSt3__211char_traitsIwE3eofEv() | 0; else { + $8 = $0 + 12 | 0; + $9 = HEAP32[$8 >> 2] | 0; + HEAP32[$8 >> 2] = $9 + 4; + $$0 = __ZNSt3__211char_traitsIwE11to_int_typeEw(HEAP32[$9 >> 2] | 0) | 0; + } + return $$0 | 0; +} + +function __ZN12_GLOBAL__N_122initializeOutputStreamEPcPmRNS_12OutputStreamEm($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$010 = 0, $$09 = 0, $4 = 0, label = 0; + if (!$0) { + $4 = _malloc(1024) | 0; + if (!$4) $$09 = 0; else { + $$0 = 1024; + $$010 = $4; + label = 4; + } + } else { + $$0 = HEAP32[$1 >> 2] | 0; + $$010 = $0; + label = 4; + } + if ((label | 0) == 4) { + __ZN12_GLOBAL__N_112OutputStream5resetEPcm($2, $$010, $$0); + $$09 = 1; + } + return $$09 | 0; +} + +function __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE5uflowEv($0) { + $0 = $0 | 0; + var $$0 = 0, $4 = 0, $8 = 0, $9 = 0; + $4 = FUNCTION_TABLE_ii[HEAP32[(HEAP32[$0 >> 2] | 0) + 36 >> 2] & 127]($0) | 0; + if (($4 | 0) == (__ZNSt3__211char_traitsIcE3eofEv() | 0)) $$0 = __ZNSt3__211char_traitsIcE3eofEv() | 0; else { + $8 = $0 + 12 | 0; + $9 = HEAP32[$8 >> 2] | 0; + HEAP32[$8 >> 2] = $9 + 1; + $$0 = __ZNSt3__211char_traitsIcE11to_int_typeEc(HEAP8[$9 >> 0] | 0) | 0; + } + return $$0 | 0; +} + +function __ZNSt3__214__split_bufferIPKN6vision4NodeILi96EEERNS_9allocatorIS5_EEED2Ev($0) { + $0 = $0 | 0; + var $2 = 0, $3 = 0, $5 = 0, $6 = 0, $7 = 0; + $2 = HEAP32[$0 + 4 >> 2] | 0; + $3 = $0 + 8 | 0; + $5 = HEAP32[$3 >> 2] | 0; + while (1) { + if (($5 | 0) == ($2 | 0)) break; + $6 = $5 + -4 | 0; + HEAP32[$3 >> 2] = $6; + $5 = $6; + } + $7 = HEAP32[$0 >> 2] | 0; + if ($7 | 0) __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($7, (HEAP32[$0 + 12 >> 2] | 0) - $7 | 0); + return; +} + +function __ZNSt3__212__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEELb1EEENS_21__unordered_map_equalIjS2_NS_8equal_toIjEELb1EEENS_9allocatorIS2_EEE17__deallocate_nodeEPNS_16__hash_node_baseIPNS_11__hash_nodeIS2_PvEEEE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $3 = 0; + $$0 = $1; + while (1) { + if (!$$0) break; + $3 = HEAP32[$$0 >> 2] | 0; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($$0, 16); + $$0 = $3; + } + return; +} + +function __ZNSt3__214__split_bufferIPN6vision4NodeILi96EEERNS_9allocatorIS4_EEED2Ev($0) { + $0 = $0 | 0; + var $2 = 0, $3 = 0, $5 = 0, $6 = 0, $7 = 0; + $2 = HEAP32[$0 + 4 >> 2] | 0; + $3 = $0 + 8 | 0; + $5 = HEAP32[$3 >> 2] | 0; + while (1) { + if (($5 | 0) == ($2 | 0)) break; + $6 = $5 + -4 | 0; + HEAP32[$3 >> 2] = $6; + $5 = $6; + } + $7 = HEAP32[$0 >> 2] | 0; + if ($7 | 0) __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($7, (HEAP32[$0 + 12 >> 2] | 0) - $7 | 0); + return; +} + +function __ZNSt3__214__split_bufferIN6vision7Point3dIfEERNS_9allocatorIS3_EEED2Ev($0) { + $0 = $0 | 0; + var $2 = 0, $3 = 0, $5 = 0, $6 = 0, $7 = 0; + $2 = HEAP32[$0 + 4 >> 2] | 0; + $3 = $0 + 8 | 0; + $5 = HEAP32[$3 >> 2] | 0; + while (1) { + if (($5 | 0) == ($2 | 0)) break; + $6 = $5 + -12 | 0; + HEAP32[$3 >> 2] = $6; + $5 = $6; + } + $7 = HEAP32[$0 >> 2] | 0; + if ($7 | 0) __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($7, (HEAP32[$0 + 12 >> 2] | 0) - $7 | 0); + return; +} + +function __ZNSt3__28ios_base4initEPv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $11 = 0, dest = 0, stop = 0; + HEAP32[$0 + 24 >> 2] = $1; + HEAP32[$0 + 16 >> 2] = ($1 | 0) == 0 & 1; + HEAP32[$0 + 20 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 4098; + HEAP32[$0 + 12 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 6; + $11 = $0 + 28 | 0; + dest = $0 + 32 | 0; + stop = dest + 40 | 0; + do { + HEAP32[dest >> 2] = 0; + dest = dest + 4 | 0; + } while ((dest | 0) < (stop | 0)); + __ZNSt3__26localeC2Ev($11); + return; +} + +function __ZNSt3__214__split_bufferIN6vision7match_tERNS_9allocatorIS2_EEED2Ev($0) { + $0 = $0 | 0; + var $2 = 0, $3 = 0, $5 = 0, $6 = 0, $7 = 0; + $2 = HEAP32[$0 + 4 >> 2] | 0; + $3 = $0 + 8 | 0; + $5 = HEAP32[$3 >> 2] | 0; + while (1) { + if (($5 | 0) == ($2 | 0)) break; + $6 = $5 + -8 | 0; + HEAP32[$3 >> 2] = $6; + $5 = $6; + } + $7 = HEAP32[$0 >> 2] | 0; + if ($7 | 0) __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($7, (HEAP32[$0 + 12 >> 2] | 0) - $7 | 0); + return; +} + +function _arg_n($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $10 = 0, $2 = 0, $9 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $2 = sp; + HEAP32[$2 >> 2] = HEAP32[$0 >> 2]; + $$0 = $1; + while (1) { + $9 = (HEAP32[$2 >> 2] | 0) + (4 - 1) & ~(4 - 1); + $10 = HEAP32[$9 >> 2] | 0; + HEAP32[$2 >> 2] = $9 + 4; + if ($$0 >>> 0 > 1) $$0 = $$0 + -1 | 0; else break; + } + STACKTOP = sp; + return $10 | 0; +} + +function __ZN6vision10SimilarityIfEEvPT_S1_S1_S1_S1_($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + var $6 = 0.0, $8 = 0.0; + $6 = +Math_cos(+$3) * $4; + $8 = +Math_sin(+$3) * $4; + HEAPF32[$0 >> 2] = $6; + HEAPF32[$0 + 4 >> 2] = -$8; + HEAPF32[$0 + 8 >> 2] = $1; + HEAPF32[$0 + 12 >> 2] = $8; + HEAPF32[$0 + 16 >> 2] = $6; + HEAPF32[$0 + 20 >> 2] = $2; + HEAPF32[$0 + 24 >> 2] = 0.0; + HEAPF32[$0 + 28 >> 2] = 0.0; + HEAPF32[$0 + 32 >> 2] = 1.0; + return; +} + +function __ZNSt3__214__split_bufferINS_4pairIfmEERNS_9allocatorIS2_EEED2Ev($0) { + $0 = $0 | 0; + var $2 = 0, $3 = 0, $5 = 0, $6 = 0, $7 = 0; + $2 = HEAP32[$0 + 4 >> 2] | 0; + $3 = $0 + 8 | 0; + $5 = HEAP32[$3 >> 2] | 0; + while (1) { + if (($5 | 0) == ($2 | 0)) break; + $6 = $5 + -8 | 0; + HEAP32[$3 >> 2] = $6; + $5 = $6; + } + $7 = HEAP32[$0 >> 2] | 0; + if ($7 | 0) __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($7, (HEAP32[$0 + 12 >> 2] | 0) - $7 | 0); + return; +} + +function __ZNSt3__214__split_bufferINS_4pairIfiEERNS_9allocatorIS2_EEED2Ev($0) { + $0 = $0 | 0; + var $2 = 0, $3 = 0, $5 = 0, $6 = 0, $7 = 0; + $2 = HEAP32[$0 + 4 >> 2] | 0; + $3 = $0 + 8 | 0; + $5 = HEAP32[$3 >> 2] | 0; + while (1) { + if (($5 | 0) == ($2 | 0)) break; + $6 = $5 + -8 | 0; + HEAP32[$3 >> 2] = $6; + $5 = $6; + } + $7 = HEAP32[$0 >> 2] | 0; + if ($7 | 0) __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($7, (HEAP32[$0 + 12 >> 2] | 0) - $7 | 0); + return; +} + +function __ZNSt3__219__libcpp_asprintf_lEPPcP15__locale_structPKcz($0, $1, $2, $varargs) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $varargs = $varargs | 0; + var $3 = 0, $4 = 0, $5 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp; + HEAP32[$3 >> 2] = $varargs; + $4 = ___uselocale($1) | 0; + $5 = _vasprintf($0, $2, $3) | 0; + if ($4 | 0) ___uselocale($4) | 0; + STACKTOP = sp; + return $5 | 0; +} + +function _arImageProcLumaHistAndCDF($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$017 = 0, $2 = 0, $indvars$iv = 0; + $2 = _arImageProcLumaHist($0, $1) | 0; + if (($2 | 0) < 0) $$0 = $2; else { + $$017 = 0; + $indvars$iv = 0; + do { + $$017 = (HEAP32[$0 + 12 + ($indvars$iv << 2) >> 2] | 0) + $$017 | 0; + HEAP32[$0 + 1036 + ($indvars$iv << 2) >> 2] = $$017; + $indvars$iv = $indvars$iv + 1 | 0; + } while (($indvars$iv | 0) != 256); + $$0 = 0; + } + return $$0 | 0; +} + +function _ar2FreeFeatureSet($0) { + $0 = $0 | 0; + var $$0 = 0, $$09 = 0, $1 = 0, $4 = 0, $7 = 0; + $1 = HEAP32[$0 >> 2] | 0; + if (!$1) $$09 = -1; else { + $$0 = 0; + $4 = $1; + while (1) { + $7 = HEAP32[$4 >> 2] | 0; + if (($$0 | 0) >= (HEAP32[$4 + 4 >> 2] | 0)) break; + _free(HEAP32[$7 + ($$0 * 20 | 0) >> 2] | 0); + $$0 = $$0 + 1 | 0; + $4 = HEAP32[$0 >> 2] | 0; + } + _free($7); + _free(HEAP32[$0 >> 2] | 0); + HEAP32[$0 >> 2] = 0; + $$09 = 0; + } + return $$09 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle12InitListExpr9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0; + $3 = HEAP32[$0 + 8 >> 2] | 0; + if ($3 | 0) __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE($3, $1); + __ZN12_GLOBAL__N_112OutputStreampLEc($1, 123); + __ZNK12_GLOBAL__N_116itanium_demangle9NodeArray14printWithCommaERNS_12OutputStreamE($0 + 12 | 0, $1); + __ZN12_GLOBAL__N_112OutputStreampLEc($1, 125); + return; +} + +function __ZNSt3__217__libcpp_sscanf_lEPKcP15__locale_structS1_z($0, $1, $2, $varargs) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $varargs = $varargs | 0; + var $3 = 0, $4 = 0, $5 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp; + HEAP32[$3 >> 2] = $varargs; + $4 = ___uselocale($1) | 0; + $5 = _vsscanf($0, $2, $3) | 0; + if ($4 | 0) ___uselocale($4) | 0; + STACKTOP = sp; + return $5 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_7NewExprEJRNS0_9NodeArrayERPNS0_4NodeES9_RbSD_EEESB_DpOT0_($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle7NewExprEJRNS2_9NodeArrayERPNS2_4NodeES5_RbS9_EEEPT_DpOT0_($0 + 368 | 0, $1, $2, $3, $4, $5) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_7NewExprEJRNS0_9NodeArrayERPNS0_4NodeES8_RbSD_EEESB_DpOT0_($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle7NewExprEJRNS2_9NodeArrayERPNS2_4NodeES4_RbS9_EEEPT_DpOT0_($0 + 368 | 0, $1, $2, $3, $4, $5) | 0; +} + +function ___ftello($0) { + $0 = $0 | 0; + var $10 = 0, $4 = 0, $7 = 0, $8 = 0, $9 = 0, $phitmp = 0; + if ((HEAP32[$0 + 76 >> 2] | 0) > -1) { + $phitmp = (___lockfile($0) | 0) == 0; + $7 = ___ftello_unlocked($0) | 0; + $8 = getTempRet0() | 0; + if ($phitmp) { + $10 = $7; + $9 = $8; + } else { + ___unlockfile($0); + $10 = $7; + $9 = $8; + } + } else { + $4 = ___ftello_unlocked($0) | 0; + $10 = $4; + $9 = getTempRet0() | 0; + } + setTempRet0($9 | 0); + return $10 | 0; +} + +function __ZN12_GLOBAL__N_112OutputStreampLENS_10StringViewE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $5 = 0, $7 = 0; + $2 = __ZNK12_GLOBAL__N_110StringView4sizeEv($1) | 0; + if ($2 | 0) { + __ZN12_GLOBAL__N_112OutputStream4growEm($0, $2); + $5 = $0 + 4 | 0; + $7 = (HEAP32[$0 >> 2] | 0) + (HEAP32[$5 >> 2] | 0) | 0; + _memmove($7 | 0, __ZNK12_GLOBAL__N_110StringView5beginEv($1) | 0, $2 | 0) | 0; + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + $2; + } + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle20PostfixQualifiedTypeC2EPNS0_4NodeENS_10StringViewE($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $10 = 0, $11 = 0, $5 = 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 5, 1, 1, 1); + HEAP32[$0 >> 2] = 17692; + HEAP32[$0 + 8 >> 2] = $1; + $5 = $2; + $10 = HEAP32[$5 + 4 >> 2] | 0; + $11 = $0 + 12 | 0; + HEAP32[$11 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$11 + 4 >> 2] = $10; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22ElaboratedTypeSpefTypeC2ENS_10StringViewEPNS0_4NodeE($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $10 = 0, $4 = 0, $9 = 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 6, 1, 1, 1); + HEAP32[$0 >> 2] = 19496; + $4 = $1; + $9 = HEAP32[$4 + 4 >> 2] | 0; + $10 = $0 + 8 | 0; + HEAP32[$10 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$10 + 4 >> 2] = $9; + HEAP32[$0 + 16 >> 2] = $2; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle17VendorExtQualTypeC2EPKNS0_4NodeENS_10StringViewE($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $10 = 0, $11 = 0, $5 = 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 2, 1, 1, 1); + HEAP32[$0 >> 2] = 20112; + HEAP32[$0 + 8 >> 2] = $1; + $5 = $2; + $10 = HEAP32[$5 + 4 >> 2] | 0; + $11 = $0 + 12 | 0; + HEAP32[$11 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$11 + 4 >> 2] = $10; + return; +} + +function _getint($0) { + $0 = $0 | 0; + var $$0$lcssa = 0, $$04 = 0, $11 = 0, $12 = 0, $7 = 0; + if (!(_isdigit(HEAP8[HEAP32[$0 >> 2] >> 0] | 0) | 0)) $$0$lcssa = 0; else { + $$04 = 0; + while (1) { + $7 = HEAP32[$0 >> 2] | 0; + $11 = ($$04 * 10 | 0) + -48 + (HEAP8[$7 >> 0] | 0) | 0; + $12 = $7 + 1 | 0; + HEAP32[$0 >> 2] = $12; + if (!(_isdigit(HEAP8[$12 >> 0] | 0) | 0)) { + $$0$lcssa = $11; + break; + } else $$04 = $11; + } + } + return $$0$lcssa | 0; +} + +function __ZNSt3__214__split_bufferItRNS_9allocatorItEEED2Ev($0) { + $0 = $0 | 0; + var $2 = 0, $3 = 0, $5 = 0, $6 = 0, $7 = 0; + $2 = HEAP32[$0 + 4 >> 2] | 0; + $3 = $0 + 8 | 0; + $5 = HEAP32[$3 >> 2] | 0; + while (1) { + if (($5 | 0) == ($2 | 0)) break; + $6 = $5 + -2 | 0; + HEAP32[$3 >> 2] = $6; + $5 = $6; + } + $7 = HEAP32[$0 >> 2] | 0; + if ($7 | 0) __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($7, (HEAP32[$0 + 12 >> 2] | 0) - $7 | 0); + return; +} + +function __ZNSt3__214__split_bufferIiRNS_9allocatorIiEEED2Ev($0) { + $0 = $0 | 0; + var $2 = 0, $3 = 0, $5 = 0, $6 = 0, $7 = 0; + $2 = HEAP32[$0 + 4 >> 2] | 0; + $3 = $0 + 8 | 0; + $5 = HEAP32[$3 >> 2] | 0; + while (1) { + if (($5 | 0) == ($2 | 0)) break; + $6 = $5 + -4 | 0; + HEAP32[$3 >> 2] = $6; + $5 = $6; + } + $7 = HEAP32[$0 >> 2] | 0; + if ($7 | 0) __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($7, (HEAP32[$0 + 12 >> 2] | 0) - $7 | 0); + return; +} + +function __ZNSt3__214__split_bufferIhRNS_9allocatorIhEEED2Ev($0) { + $0 = $0 | 0; + var $2 = 0, $3 = 0, $5 = 0, $6 = 0, $7 = 0; + $2 = HEAP32[$0 + 4 >> 2] | 0; + $3 = $0 + 8 | 0; + $5 = HEAP32[$3 >> 2] | 0; + while (1) { + if (($5 | 0) == ($2 | 0)) break; + $6 = $5 + -1 | 0; + HEAP32[$3 >> 2] = $6; + $5 = $6; + } + $7 = HEAP32[$0 >> 2] | 0; + if ($7 | 0) __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($7, (HEAP32[$0 + 12 >> 2] | 0) - $7 | 0); + return; +} + +function __ZNSt3__214__split_bufferIfRNS_9allocatorIfEEED2Ev($0) { + $0 = $0 | 0; + var $2 = 0, $3 = 0, $5 = 0, $6 = 0, $7 = 0; + $2 = HEAP32[$0 + 4 >> 2] | 0; + $3 = $0 + 8 | 0; + $5 = HEAP32[$3 >> 2] | 0; + while (1) { + if (($5 | 0) == ($2 | 0)) break; + $6 = $5 + -4 | 0; + HEAP32[$3 >> 2] = $6; + $5 = $6; + } + $7 = HEAP32[$0 >> 2] | 0; + if ($7 | 0) __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($7, (HEAP32[$0 + 12 >> 2] | 0) - $7 | 0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle15IntegerCastExprC2EPKNS0_4NodeENS_10StringViewE($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $10 = 0, $11 = 0, $5 = 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 60, 1, 1, 1); + HEAP32[$0 >> 2] = 17956; + HEAP32[$0 + 8 >> 2] = $1; + $5 = $2; + $10 = HEAP32[$5 + 4 >> 2] | 0; + $11 = $0 + 12 | 0; + HEAP32[$11 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$11 + 4 >> 2] = $10; + return; +} + +function __ZN10emscripten8internal11BindingTypeINSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEvE12fromWireTypeEPNS9_Ut_E($agg$result, $v) { + $agg$result = $agg$result | 0; + $v = $v | 0; + var $0 = 0; + $0 = HEAP32[$v >> 2] | 0; + HEAP32[$agg$result >> 2] = 0; + HEAP32[$agg$result + 4 >> 2] = 0; + HEAP32[$agg$result + 8 >> 2] = 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm($agg$result, $v + 4 | 0, $0); + return; +} + +function _ar2CreateHandleMod($cparamLT, $pixFormat) { + $cparamLT = $cparamLT | 0; + $pixFormat = $pixFormat | 0; + var $call = 0, $call4 = 0; + $call = _ar2CreateHandleSubMod($pixFormat, HEAP32[$cparamLT >> 2] | 0, HEAP32[$cparamLT + 4 >> 2] | 0) | 0; + HEAP32[$call >> 2] = 1; + HEAP32[$call + 12 >> 2] = $cparamLT; + $call4 = _icpCreateHandle($cparamLT + 8 | 0) | 0; + HEAP32[$call + 16 >> 2] = $call4; + _icpSetInlierProbability($call4, 0.0) | 0; + return $call | 0; +} + +function __ZNSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE6resizeEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $4 = 0, $6 = 0, $8 = 0; + $2 = $0 + 4 | 0; + $4 = HEAP32[$0 >> 2] | 0; + $6 = (HEAP32[$2 >> 2] | 0) - $4 >> 2; + $8 = $4; + if ($6 >>> 0 >= $1 >>> 0) { + if ($6 >>> 0 > $1 >>> 0) HEAP32[$2 >> 2] = $8 + ($1 << 2); + } else __ZNSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE8__appendEm($0, $1 - $6 | 0); + return; +} + +function __ZNKSt3__25ctypeIcE10do_toupperEPcPKc($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $12 = 0, $4 = 0, $6 = 0; + $$0 = $1; + while (1) { + if (($$0 | 0) == ($2 | 0)) break; + $4 = HEAP8[$$0 >> 0] | 0; + if ($4 << 24 >> 24 > -1) { + $6 = __ZNSt3__25ctypeIcE21__classic_upper_tableEv() | 0; + $12 = HEAP32[$6 + (HEAP8[$$0 >> 0] << 2) >> 2] & 255; + } else $12 = $4; + HEAP8[$$0 >> 0] = $12; + $$0 = $$0 + 1 | 0; + } + return $2 | 0; +} + +function __ZNKSt3__25ctypeIcE10do_tolowerEPcPKc($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $12 = 0, $4 = 0, $6 = 0; + $$0 = $1; + while (1) { + if (($$0 | 0) == ($2 | 0)) break; + $4 = HEAP8[$$0 >> 0] | 0; + if ($4 << 24 >> 24 > -1) { + $6 = __ZNSt3__25ctypeIcE21__classic_lower_tableEv() | 0; + $12 = HEAP32[$6 + (HEAP8[$$0 >> 0] << 2) >> 2] & 255; + } else $12 = $4; + HEAP8[$$0 >> 0] = $12; + $$0 = $$0 + 1 | 0; + } + return $2 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle14ConversionExprC2EPKNS0_4NodeENS0_9NodeArrayE($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $10 = 0, $11 = 0, $5 = 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 55, 1, 1, 1); + HEAP32[$0 >> 2] = 19188; + HEAP32[$0 + 8 >> 2] = $1; + $5 = $2; + $10 = HEAP32[$5 + 4 >> 2] | 0; + $11 = $0 + 12 | 0; + HEAP32[$11 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$11 + 4 >> 2] = $10; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle13ObjCProtoNameC2EPKNS0_4NodeENS_10StringViewE($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $10 = 0, $11 = 0, $5 = 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 10, 1, 1, 1); + HEAP32[$0 >> 2] = 20156; + HEAP32[$0 + 8 >> 2] = $1; + $5 = $2; + $10 = HEAP32[$5 + 4 >> 2] | 0; + $11 = $0 + 12 | 0; + HEAP32[$11 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$11 + 4 >> 2] = $10; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle10VectorTypeC2EPKNS0_4NodeENS0_12NodeOrStringE($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $10 = 0, $11 = 0, $5 = 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 25, 1, 1, 1); + HEAP32[$0 >> 2] = 19980; + HEAP32[$0 + 8 >> 2] = $1; + $5 = $2; + $10 = HEAP32[$5 + 4 >> 2] | 0; + $11 = $0 + 12 | 0; + HEAP32[$11 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$11 + 4 >> 2] = $10; + return; +} + +function _ar2ReadJpegImage2($0) { + $0 = $0 | 0; + var $$0 = 0, $1 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = _malloc(20) | 0; + if (!$1) { + _arLog(0, 3, 45930, sp); + _exit(1); + } + $7 = _jpgread($0, $1 + 8 | 0, $1 + 12 | 0, $1 + 4 | 0, $1 + 16 | 0) | 0; + HEAP32[$1 >> 2] = $7; + if (!$7) { + _free($1); + $$0 = 0; + } else $$0 = $1; + STACKTOP = sp; + return $$0 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle9ArrayTypeC2EPKNS0_4NodeENS0_12NodeOrStringE($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $10 = 0, $11 = 0, $5 = 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 14, 0, 0, 1); + HEAP32[$0 >> 2] = 19936; + HEAP32[$0 + 8 >> 2] = $1; + $5 = $2; + $10 = HEAP32[$5 + 4 >> 2] | 0; + $11 = $0 + 12 | 0; + HEAP32[$11 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$11 + 4 >> 2] = $10; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle12InitListExprC2EPKNS0_4NodeENS0_9NodeArrayE($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $10 = 0, $11 = 0, $5 = 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 56, 1, 1, 1); + HEAP32[$0 >> 2] = 18308; + HEAP32[$0 + 8 >> 2] = $1; + $5 = $2; + $10 = HEAP32[$5 + 4 >> 2] | 0; + $11 = $0 + 12 | 0; + HEAP32[$11 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$11 + 4 >> 2] = $10; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle11PostfixExprC2EPKNS0_4NodeENS_10StringViewE($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $10 = 0, $11 = 0, $5 = 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 44, 1, 1, 1); + HEAP32[$0 >> 2] = 18660; + HEAP32[$0 + 8 >> 2] = $1; + $5 = $2; + $10 = HEAP32[$5 + 4 >> 2] | 0; + $11 = $0 + 12 | 0; + HEAP32[$11 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$11 + 4 >> 2] = $10; + return; +} + +function __ZNSt3__26vectorIN6vision7Point3dIfEENS_9allocatorIS3_EEE18__construct_at_endIPS3_EENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeESA_SA_m($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0, $7 = 0; + $4 = $0 + 4 | 0; + $7 = $2 - $1 | 0; + if (($7 | 0) > 0) { + _memcpy(HEAP32[$4 >> 2] | 0, $1 | 0, $7 | 0) | 0; + HEAP32[$4 >> 2] = (HEAP32[$4 >> 2] | 0) + ((($7 >>> 0) / 12 | 0) * 12 | 0); + } + return; +} + +function __ZNKSt3__25ctypeIwE10do_toupperEPwPKw($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $10 = 0, $4 = 0, $6 = 0; + $$0 = $1; + while (1) { + if (($$0 | 0) == ($2 | 0)) break; + $4 = HEAP32[$$0 >> 2] | 0; + if ($4 >>> 0 < 128) { + $6 = __ZNSt3__25ctypeIcE21__classic_upper_tableEv() | 0; + $10 = HEAP32[$6 + (HEAP32[$$0 >> 2] << 2) >> 2] | 0; + } else $10 = $4; + HEAP32[$$0 >> 2] = $10; + $$0 = $$0 + 4 | 0; + } + return $2 | 0; +} + +function __ZNKSt3__25ctypeIwE10do_tolowerEPwPKw($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $10 = 0, $4 = 0, $6 = 0; + $$0 = $1; + while (1) { + if (($$0 | 0) == ($2 | 0)) break; + $4 = HEAP32[$$0 >> 2] | 0; + if ($4 >>> 0 < 128) { + $6 = __ZNSt3__25ctypeIcE21__classic_lower_tableEv() | 0; + $10 = HEAP32[$6 + (HEAP32[$$0 >> 2] << 2) >> 2] | 0; + } else $10 = $4; + HEAP32[$$0 >> 2] = $10; + $$0 = $$0 + 4 | 0; + } + return $2 | 0; +} + +function __ZN6vision9MaxIndex6IfEEiPKT_($0) { + $0 = $0 | 0; + var $$0 = 0, $$1 = 0, $$2 = 0, $$3 = 0; + $$0 = +HEAPF32[$0 + 4 >> 2] > +HEAPF32[$0 >> 2] & 1; + $$1 = +HEAPF32[$0 + 8 >> 2] > +HEAPF32[$0 + ($$0 << 2) >> 2] ? 2 : $$0; + $$2 = +HEAPF32[$0 + 12 >> 2] > +HEAPF32[$0 + ($$1 << 2) >> 2] ? 3 : $$1; + $$3 = +HEAPF32[$0 + 16 >> 2] > +HEAPF32[$0 + ($$2 << 2) >> 2] ? 4 : $$2; + return (+HEAPF32[$0 + 20 >> 2] > +HEAPF32[$0 + ($$3 << 2) >> 2] ? 5 : $$3) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle11SpecialNameC2ENS_10StringViewEPKNS0_4NodeE($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $10 = 0, $4 = 0, $9 = 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 20, 1, 1, 1); + HEAP32[$0 >> 2] = 20332; + $4 = $1; + $9 = HEAP32[$4 + 4 >> 2] | 0; + $10 = $0 + 8 | 0; + HEAP32[$10 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$10 + 4 >> 2] = $9; + HEAP32[$0 + 16 >> 2] = $2; + return; +} + +function __ZN10emscripten8internal7InvokerIiJEE6invokeEPFivE($fn) { + $fn = $fn | 0; + var $call = 0, $call1 = 0, $ref$tmp = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $ref$tmp = sp; + $call = FUNCTION_TABLE_i[$fn & 1]() | 0; + HEAP32[$ref$tmp >> 2] = $call; + $call1 = __ZN10emscripten8internal11BindingTypeIivE10toWireTypeERKi($ref$tmp) | 0; + STACKTOP = sp; + return $call1 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle9DotSuffixC2EPKNS0_4NodeENS_10StringViewE($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $10 = 0, $11 = 0, $5 = 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 1, 1, 1, 1); + HEAP32[$0 >> 2] = 20376; + HEAP32[$0 + 8 >> 2] = $1; + $5 = $2; + $10 = HEAP32[$5 + 4 >> 2] | 0; + $11 = $0 + 12 | 0; + HEAP32[$11 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$11 + 4 >> 2] = $10; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle8CallExprC2EPKNS0_4NodeENS0_9NodeArrayE($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $10 = 0, $11 = 0, $5 = 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 50, 1, 1, 1); + HEAP32[$0 >> 2] = 19232; + HEAP32[$0 + 8 >> 2] = $1; + $5 = $2; + $10 = HEAP32[$5 + 4 >> 2] | 0; + $11 = $0 + 12 | 0; + HEAP32[$11 >> 2] = HEAP32[$5 >> 2]; + HEAP32[$11 + 4 >> 2] = $10; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle10PrefixExprC2ENS_10StringViewEPNS0_4NodeE($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $10 = 0, $4 = 0, $9 = 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 53, 1, 1, 1); + HEAP32[$0 >> 2] = 19276; + $4 = $1; + $9 = HEAP32[$4 + 4 >> 2] | 0; + $10 = $0 + 8 | 0; + HEAP32[$10 >> 2] = HEAP32[$4 >> 2]; + HEAP32[$10 + 4 >> 2] = $9; + HEAP32[$0 + 16 >> 2] = $2; + return; +} + +function _output_message($0) { + $0 = $0 | 0; + var $1 = 0, $5 = 0, $vararg_buffer = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 208 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(208); + $vararg_buffer = sp + 200 | 0; + $1 = sp; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$0 >> 2] | 0) + 12 >> 2] & 255]($0, $1); + $5 = HEAP32[4271] | 0; + HEAP32[$vararg_buffer >> 2] = $1; + _fprintf($5, 50727, $vararg_buffer) | 0; + STACKTOP = sp; + return; +} + +function __ZNSt3__28numpunctIwEC2Em($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0$i$i = 0, $6 = 0; + HEAP32[$0 + 4 >> 2] = $1 + -1; + HEAP32[$0 >> 2] = 23400; + HEAP32[$0 + 8 >> 2] = 46; + HEAP32[$0 + 12 >> 2] = 44; + $6 = $0 + 16 | 0; + HEAP32[$6 >> 2] = 0; + HEAP32[$6 + 4 >> 2] = 0; + HEAP32[$6 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$6 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8FoldExprEJRbRNS_10StringViewERPNS0_4NodeESD_EEESC_DpOT0_($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8FoldExprEJRbRNS_10StringViewERPNS2_4NodeES9_EEEPT_DpOT0_($0 + 368 | 0, $1, $2, $3, $4) | 0; +} + +function __ZN6vision12ArrayShuffleIiEEvPT_iiRi($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0, $7 = 0, $8 = 0, $9 = 0; + $$0 = 0; + while (1) { + if (($$0 | 0) >= ($2 | 0)) break; + $7 = $0 + ($$0 << 2) | 0; + $8 = $0 + (((__ZN6vision10FastRandomERi($3) | 0) % ($1 | 0) | 0) << 2) | 0; + $9 = HEAP32[$7 >> 2] | 0; + HEAP32[$7 >> 2] = HEAP32[$8 >> 2]; + HEAP32[$8 >> 2] = $9; + $$0 = $$0 + 1 | 0; + } + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9NameStateC2EPS5_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $7 = 0; + HEAP8[$0 >> 0] = 0; + HEAP8[$0 + 1 >> 0] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP8[$0 + 8 >> 0] = 0; + $7 = __ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_24ForwardTemplateReferenceELm4EE4sizeEv($1 + 332 | 0) | 0; + HEAP32[$0 + 12 >> 2] = $7; + return; +} + +function __ZNSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEEC2Em($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + HEAP8[$0 + 128 >> 0] = 0; + if ($1 | 0) { + __ZNSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE11__vallocateEm($0, $1); + __ZNSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE18__construct_at_endEm($0, $1); + } + return; +} + +function _arVecInnerproduct($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $$013 = 0.0, $15 = 0.0, $3 = 0; + $3 = HEAP32[$0 + 4 >> 2] | 0; + if (($3 | 0) != (HEAP32[$1 + 4 >> 2] | 0)) _exit(0); + $$0 = 0; + $$013 = 0.0; + while (1) { + if (($$0 | 0) >= ($3 | 0)) break; + $15 = $$013 + +HEAPF64[(HEAP32[$0 >> 2] | 0) + ($$0 << 3) >> 3] * +HEAPF64[(HEAP32[$1 >> 2] | 0) + ($$0 << 3) >> 3]; + $$0 = $$0 + 1 | 0; + $$013 = $15; + } + return +$$013; +} + +function __ZNSt3__28numpunctIcEC2Em($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0$i$i = 0, $6 = 0; + HEAP32[$0 + 4 >> 2] = $1 + -1; + HEAP32[$0 >> 2] = 23360; + HEAP8[$0 + 8 >> 0] = 46; + HEAP8[$0 + 9 >> 0] = 44; + $6 = $0 + 12 | 0; + HEAP32[$6 >> 2] = 0; + HEAP32[$6 + 4 >> 2] = 0; + HEAP32[$6 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$6 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + return; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle15ConditionalExprEJRPNS2_4NodeES6_S6_EEEPT_DpOT0_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0; + $4 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 20) | 0; + __ZN12_GLOBAL__N_116itanium_demangle15ConditionalExprC2EPKNS0_4NodeES4_S4_($4, HEAP32[$1 >> 2] | 0, HEAP32[$2 >> 2] | 0, HEAP32[$3 >> 2] | 0); + return $4 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle15BracedRangeExprEJRPNS2_4NodeES6_S6_EEEPT_DpOT0_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0; + $4 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 20) | 0; + __ZN12_GLOBAL__N_116itanium_demangle15BracedRangeExprC2EPKNS0_4NodeES4_S4_($4, HEAP32[$1 >> 2] | 0, HEAP32[$2 >> 2] | 0, HEAP32[$3 >> 2] | 0); + return $4 | 0; +} + +function __ZNSt3__213__vector_baseIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEED2Ev($0) { + $0 = $0 | 0; + var $1 = 0, $3 = 0; + $1 = HEAP32[$0 >> 2] | 0; + $3 = $1; + do if ($1 | 0) { + HEAP32[$0 + 4 >> 2] = $3; + if (($1 | 0) == ($0 + 16 | 0)) { + HEAP8[$0 + 128 >> 0] = 0; + break; + } else { + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($1, (HEAP32[$0 + 8 >> 2] | 0) - $3 | 0); + break; + } + } while (0); + return; +} + +function __ZNKSt3__25ctypeIwE9do_narrowEPKwS3_cPc($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0 = 0, $$09 = 0, $10 = 0, $8 = 0; + $8 = ($2 - $1 | 0) >>> 2; + $$0 = $4; + $$09 = $1; + while (1) { + if (($$09 | 0) == ($2 | 0)) break; + $10 = HEAP32[$$09 >> 2] | 0; + HEAP8[$$0 >> 0] = $10 >>> 0 < 128 ? $10 & 255 : $3; + $$0 = $$0 + 1 | 0; + $$09 = $$09 + 4 | 0; + } + return $1 + ($8 << 2) | 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 (setTempRet0(($8 >>> 16) + (Math_imul($11, $6) | 0) + ((($8 & 65535) + $12 | 0) >>> 16) | 0), $8 + $12 << 16 | $3 & 65535 | 0) | 0; +} + +function __ZNSt3__26vectorIN6vision7Point3dIfEENS_9allocatorIS3_EEE13__vdeallocateEv($0) { + $0 = $0 | 0; + var $1 = 0, $3 = 0, $4 = 0, $5 = 0; + $1 = HEAP32[$0 >> 2] | 0; + $3 = $1; + if ($1 | 0) { + $4 = $0 + 4 | 0; + HEAP32[$4 >> 2] = $3; + $5 = $0 + 8 | 0; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($1, (HEAP32[$5 >> 2] | 0) - $3 | 0); + HEAP32[$5 >> 2] = 0; + HEAP32[$4 >> 2] = 0; + HEAP32[$0 >> 2] = 0; + } + return; +} + +function __ZN6vision35MultiplyPointSimilarityInhomogenousIfEEvPT_PKS1_S4_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $8 = 0; + $8 = $2 + 4 | 0; + HEAPF32[$0 >> 2] = +HEAPF32[$1 + 8 >> 2] + (+HEAPF32[$1 >> 2] * +HEAPF32[$2 >> 2] + +HEAPF32[$1 + 4 >> 2] * +HEAPF32[$8 >> 2]); + HEAPF32[$0 + 4 >> 2] = +HEAPF32[$1 + 20 >> 2] + (+HEAPF32[$1 + 12 >> 2] * +HEAPF32[$2 >> 2] + +HEAPF32[$1 + 16 >> 2] * +HEAPF32[$8 >> 2]); + return; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle10DeleteExprEJRPNS2_4NodeERbbEEEPT_DpOT0_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0; + $4 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 16) | 0; + __ZN12_GLOBAL__N_116itanium_demangle10DeleteExprC2EPNS0_4NodeEbb($4, HEAP32[$1 >> 2] | 0, (HEAP8[$2 >> 0] | 0) != 0, (HEAP8[$3 >> 0] | 0) != 0); + return $4 | 0; +} + +function ___cxa_can_catch($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp; + HEAP32[$3 >> 2] = HEAP32[$2 >> 2]; + $8 = FUNCTION_TABLE_iiii[HEAP32[(HEAP32[$0 >> 2] | 0) + 16 >> 2] & 63]($0, $1, $3) | 0; + if ($8) HEAP32[$2 >> 2] = HEAP32[$3 >> 2]; + STACKTOP = sp; + return $8 & 1 | 0; +} + +function __ZN6vision18VisualDatabaseImplD2Ev($0) { + $0 = $0 | 0; + var $2 = 0; + __ZNSt3__213unordered_mapIiNS_6vectorIN6vision7Point3dIfEENS_9allocatorIS4_EEEENS_4hashIiEENS_8equal_toIiEENS5_INS_4pairIKiS7_EEEEED2Ev($0 + 4 | 0); + $2 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = 0; + if ($2 | 0) { + __ZN6vision14VisualDatabaseINS_14FREAKExtractorENS_18BinaryFeatureStoreENS_20BinaryFeatureMatcherILi96EEEED2Ev($2); + __ZdlPv($2); + } + return; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle12CtorDtorNameEJRPNS2_4NodeEbRiEEEPT_DpOT0_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0; + $4 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 20) | 0; + __ZN12_GLOBAL__N_116itanium_demangle12CtorDtorNameC2EPKNS0_4NodeEbi($4, HEAP32[$1 >> 2] | 0, (HEAP8[$2 >> 0] | 0) != 0, HEAP32[$3 >> 2] | 0); + return $4 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle10BracedExprEJRPNS2_4NodeES6_bEEEPT_DpOT0_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0; + $4 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 20) | 0; + __ZN12_GLOBAL__N_116itanium_demangle10BracedExprC2EPKNS0_4NodeES4_b($4, HEAP32[$1 >> 2] | 0, HEAP32[$2 >> 2] | 0, (HEAP8[$3 >> 0] | 0) != 0); + return $4 | 0; +} + +function _shl($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $10 = 0, $3 = 0, $5 = 0, $7 = 0; + $3 = $0 + 4 | 0; + if ($1 >>> 0 > 31) { + $5 = HEAP32[$0 >> 2] | 0; + HEAP32[$3 >> 2] = $5; + HEAP32[$0 >> 2] = 0; + $$0 = $1 + -32 | 0; + $10 = 0; + $7 = $5; + } else { + $$0 = $1; + $10 = HEAP32[$0 >> 2] | 0; + $7 = HEAP32[$3 >> 2] | 0; + } + HEAP32[$3 >> 2] = $10 >>> (32 - $$0 | 0) | $7 << $$0; + HEAP32[$0 >> 2] = $10 << $$0; + return; +} + +function __ZN12_GLOBAL__N_116register_integerIsEEvPKc($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + HEAP32[$1 >> 2] = $0; + $2 = __ZN10emscripten8internal6TypeIDIsvE3getEv() | 0; + __embind_register_integer($2 | 0, HEAP32[$1 >> 2] | 0, 2, -32768 << 16 >> 16 | 0, 32767 << 16 >> 16 | 0); + STACKTOP = sp; + return; +} + +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)) { + 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 __ZNSt3__214__split_bufferIiRNS_9allocatorIiEEE18__construct_at_endEmRKi($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$promoted = 0, $3 = 0, $5 = 0; + $3 = $0 + 8 | 0; + $$promoted = HEAP32[$3 >> 2] | 0; + $$0 = $1; + $5 = $$promoted; + while (1) { + HEAP32[$5 >> 2] = HEAP32[$2 >> 2]; + $$0 = $$0 + -1 | 0; + if (!$$0) break; else $5 = $5 + 4 | 0; + } + HEAP32[$3 >> 2] = $$promoted + ($1 << 2); + return; +} + +function __ZNSt3__26vectorIN6vision17PriorityQueueItemILi96EEENS_9allocatorIS3_EEEC2Em($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + if ($1 | 0) { + __ZNSt3__26vectorIN6vision17PriorityQueueItemILi96EEENS_9allocatorIS3_EEE11__vallocateEm($0, $1); + __ZNSt3__26vectorIN6vision17PriorityQueueItemILi96EEENS_9allocatorIS3_EEE18__construct_at_endEm($0, $1); + } + return; +} + +function _vsscanf($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0, $8 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 144 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(144); + $3 = sp; + _memset($3 | 0, 0, 144) | 0; + HEAP32[$3 + 32 >> 2] = 35; + HEAP32[$3 + 44 >> 2] = $0; + HEAP32[$3 + 76 >> 2] = -1; + HEAP32[$3 + 84 >> 2] = $0; + $8 = _vfscanf($3, $1, $2) | 0; + STACKTOP = sp; + return $8 | 0; +} + +function __ZN12_GLOBAL__N_116register_integerIcEEvPKc($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + HEAP32[$1 >> 2] = $0; + $2 = __ZN10emscripten8internal6TypeIDIcvE3getEv() | 0; + __embind_register_integer($2 | 0, HEAP32[$1 >> 2] | 0, 1, -128 << 24 >> 24 | 0, 127 << 24 >> 24 | 0); + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_116register_integerIaEEvPKc($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + HEAP32[$1 >> 2] = $0; + $2 = __ZN10emscripten8internal6TypeIDIavE3getEv() | 0; + __embind_register_integer($2 | 0, HEAP32[$1 >> 2] | 0, 1, -128 << 24 >> 24 | 0, 127 << 24 >> 24 | 0); + STACKTOP = sp; + return; +} + +function _shr($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $10 = 0, $3 = 0, $5 = 0, $7 = 0; + $3 = $0 + 4 | 0; + if ($1 >>> 0 > 31) { + $5 = HEAP32[$3 >> 2] | 0; + HEAP32[$0 >> 2] = $5; + HEAP32[$3 >> 2] = 0; + $$0 = $1 + -32 | 0; + $10 = 0; + $7 = $5; + } else { + $$0 = $1; + $10 = HEAP32[$3 >> 2] | 0; + $7 = HEAP32[$0 >> 2] | 0; + } + HEAP32[$0 >> 2] = $10 << 32 - $$0 | $7 >>> $$0; + HEAP32[$3 >> 2] = $10 >>> $$0; + return; +} + +function __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE6sentryC2ERS3_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $11 = 0, $6 = 0; + HEAP8[$0 >> 0] = 0; + HEAP32[$0 + 4 >> 2] = $1; + $6 = $1 + (HEAP32[(HEAP32[$1 >> 2] | 0) + -12 >> 2] | 0) | 0; + if (!(HEAP32[$6 + 16 >> 2] | 0)) { + $11 = HEAP32[$6 + 72 >> 2] | 0; + if ($11 | 0) __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEE5flushEv($11) | 0; + HEAP8[$0 >> 0] = 1; + } + return; +} + +function __ZN6vision16ComputeEdgeScoreERfPKf($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $15 = 0.0, $2 = 0, $6 = 0.0, $9 = 0.0; + $2 = $1 + 16 | 0; + $6 = +HEAPF32[$1 >> 2] * +HEAPF32[$2 >> 2]; + $9 = $6 - +__ZN6vision3sqrIfEET_S1_(+HEAPF32[$1 + 4 >> 2]); + if ($9 == 0.0) $$0 = 0; else { + $15 = +__ZN6vision3sqrIfEET_S1_(+HEAPF32[$1 >> 2] + +HEAPF32[$2 >> 2]) / $9; + HEAPF32[$0 >> 2] = $15; + $$0 = 1; + } + return $$0 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle13ReferenceTypeEJRPNS2_4NodeENS2_13ReferenceKindEEEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 20) | 0; + __ZN12_GLOBAL__N_116itanium_demangle13ReferenceTypeC2EPKNS0_4NodeENS0_13ReferenceKindE($3, HEAP32[$1 >> 2] | 0, HEAP32[$2 >> 2] | 0); + return $3 | 0; +} + +function _jpeg_std_error($0) { + $0 = $0 | 0; + HEAP32[$0 >> 2] = 209; + HEAP32[$0 + 4 >> 2] = 139; + HEAP32[$0 + 8 >> 2] = 210; + HEAP32[$0 + 12 >> 2] = 140; + HEAP32[$0 + 16 >> 2] = 211; + HEAP32[$0 + 104 >> 2] = 0; + HEAP32[$0 + 108 >> 2] = 0; + HEAP32[$0 + 20 >> 2] = 0; + HEAP32[$0 + 112 >> 2] = 2064; + HEAP32[$0 + 116 >> 2] = 126; + HEAP32[$0 + 120 >> 2] = 0; + HEAP32[$0 + 124 >> 2] = 0; + HEAP32[$0 + 128 >> 2] = 0; + return $0 | 0; +} + +function __ZNSt3__26vectorIiNS_9allocatorIiEEE6resizeEmRKi($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0, $5 = 0, $7 = 0, $9 = 0; + $3 = $0 + 4 | 0; + $5 = HEAP32[$0 >> 2] | 0; + $7 = (HEAP32[$3 >> 2] | 0) - $5 >> 2; + $9 = $5; + if ($7 >>> 0 >= $1 >>> 0) { + if ($7 >>> 0 > $1 >>> 0) HEAP32[$3 >> 2] = $9 + ($1 << 2); + } else __ZNSt3__26vectorIiNS_9allocatorIiEEE8__appendEmRKi($0, $1 - $7 | 0, $2); + return; +} + +function __ZNSt3__26vectorINS_4pairIfiEENS_9allocatorIS2_EEE6resizeEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $4 = 0, $6 = 0, $8 = 0; + $2 = $0 + 4 | 0; + $4 = HEAP32[$0 >> 2] | 0; + $6 = (HEAP32[$2 >> 2] | 0) - $4 >> 3; + $8 = $4; + if ($6 >>> 0 >= $1 >>> 0) { + if ($6 >>> 0 > $1 >>> 0) HEAP32[$2 >> 2] = $8 + ($1 << 3); + } else __ZNSt3__26vectorINS_4pairIfiEENS_9allocatorIS2_EEE8__appendEm($0, $1 - $6 | 0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_10BinaryExprEJRPNS0_4NodeERNS_10StringViewESA_EEES9_DpOT0_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle10BinaryExprEJRPNS2_4NodeERNS_10StringViewES6_EEEPT_DpOT0_($0 + 368 | 0, $1, $2, $3) | 0; +} + +function _start_input_pass($0) { + $0 = $0 | 0; + var $$sink = 0, $11 = 0, $3 = 0; + HEAP32[$0 + 148 >> 2] = 0; + $3 = HEAP32[$0 + 452 >> 2] | 0; + if ((HEAP32[$0 + 340 >> 2] | 0) > 1) $$sink = 1; else { + $11 = HEAP32[$0 + 344 >> 2] | 0; + $$sink = HEAP32[((HEAP32[$0 + 332 >> 2] | 0) == 1 ? $11 + 76 | 0 : $11 + 12 | 0) >> 2] | 0; + } + HEAP32[$3 + 28 >> 2] = $$sink; + HEAP32[$3 + 20 >> 2] = 0; + HEAP32[$3 + 24 >> 2] = 0; + return; +} + +function __ZN6vision22SampleReceptorBilinearERKNS_5ImageEff($0, $1, $2) { + $0 = $0 | 0; + $1 = +$1; + $2 = +$2; + var $6 = 0.0; + $6 = +__ZN6vision10ClipScalarIfEET_S1_S1_S1_($1, 0.0, +(((__ZNK6vision5Image5widthEv($0) | 0) + -2 | 0) >>> 0)); + return +(+__ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($0, $6, +__ZN6vision10ClipScalarIfEET_S1_S1_S1_($2, 0.0, +(((__ZNK6vision5Image6heightEv($0) | 0) + -2 | 0) >>> 0)))); +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_15ClosureTypeNameEJRNS0_9NodeArrayERNS_10StringViewEEEEPNS0_4NodeEDpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle15ClosureTypeNameEJRNS2_9NodeArrayERNS_10StringViewEEEEPT_DpOT0_($0 + 368 | 0, $1, $2) | 0; +} + +function __ZN6vision27OrthogonalizePivot8x9Basis7IfEEbPT_S2_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $2 = 0, $5 = 0.0; + $2 = $0 + 252 | 0; + __ZN6vision21AccumulateProjection9IfEEvPT_PKS1_S4_($2, $0 + 216 | 0, $1 + 252 | 0); + $5 = +__ZN6vision11SumSquares9IfEET_PKS1_($2); + if ($5 == 0.0) $$0 = 0; else { + __ZN6vision12ScaleVector9IfEEvPT_PKS1_S1_($2, $2, 1.0 / +Math_sqrt(+$5)); + $$0 = 1; + } + return $$0 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_22ElaboratedTypeSpefTypeEJRNS_10StringViewERPNS0_4NodeEEEESB_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle22ElaboratedTypeSpefTypeEJRNS_10StringViewERPNS2_4NodeEEEEPT_DpOT0_($0 + 368 | 0, $1, $2) | 0; +} + +function __ZNSt3__26vectorIhNS_9allocatorIhEEE6resizeEmRKh($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0, $5 = 0, $6 = 0, $8 = 0; + $3 = $0 + 4 | 0; + $5 = HEAP32[$0 >> 2] | 0; + $6 = (HEAP32[$3 >> 2] | 0) - $5 | 0; + $8 = $5; + if ($6 >>> 0 >= $1 >>> 0) { + if ($6 >>> 0 > $1 >>> 0) HEAP32[$3 >> 2] = $8 + $1; + } else __ZNSt3__26vectorIhNS_9allocatorIhEEE8__appendEmRKh($0, $1 - $6 | 0, $2); + return; +} + +function __ZNSt3__28ios_base16__call_callbacksENS0_5eventE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $4 = 0, $5 = 0, $7 = 0; + $4 = $0 + 32 | 0; + $5 = $0 + 36 | 0; + $$0 = HEAP32[$0 + 40 >> 2] | 0; + while (1) { + if (!$$0) break; + $7 = $$0 + -1 | 0; + FUNCTION_TABLE_viii[HEAP32[(HEAP32[$4 >> 2] | 0) + ($7 << 2) >> 2] & 3]($1, $0, HEAP32[(HEAP32[$5 >> 2] | 0) + ($7 << 2) >> 2] | 0); + $$0 = $7; + } + return; +} + +function __ZNSt3__26vectorIhNS_9allocatorIhEEE13__vdeallocateEv($0) { + $0 = $0 | 0; + var $1 = 0, $3 = 0, $4 = 0, $5 = 0; + $1 = HEAP32[$0 >> 2] | 0; + $3 = $1; + if ($1 | 0) { + $4 = $0 + 4 | 0; + HEAP32[$4 >> 2] = $3; + $5 = $0 + 8 | 0; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($1, (HEAP32[$5 >> 2] | 0) - $3 | 0); + HEAP32[$5 >> 2] = 0; + HEAP32[$4 >> 2] = 0; + HEAP32[$0 >> 2] = 0; + } + return; +} + +function _ar3DCreateHandle2($0) { + $0 = $0 | 0; + var $$0 = 0, $1 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = _malloc(4) | 0; + if (!$1) { + _arLog(0, 3, 45930, sp); + _exit(1); + } + $3 = _icpCreateHandle($0) | 0; + HEAP32[$1 >> 2] = $3; + if (!$3) { + _free($1); + $$0 = 0; + } else $$0 = $1; + STACKTOP = sp; + return $$0 | 0; +} + +function _ar2GetVectorAngle($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $12 = 0.0, $15 = 0.0, $6 = 0.0; + $6 = +HEAPF32[$1 >> 2] - +HEAPF32[$0 >> 2]; + $12 = +HEAPF32[$1 + 4 >> 2] - +HEAPF32[$0 + 4 >> 2]; + $15 = +Math_sqrt(+($6 * $6 + $12 * $12)); + if (!($15 == 0.0)) { + HEAPF32[$2 >> 2] = $12 / $15; + HEAPF32[$3 >> 2] = (+HEAPF32[$1 >> 2] - +HEAPF32[$0 >> 2]) / $15; + } + return; +} + +function __ZNK10__cxxabiv117__class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + $5 = $5 | 0; + if (__ZL8is_equalPKSt9type_infoS1_b($0, HEAP32[$1 + 8 >> 2] | 0, $5) | 0) __ZNK10__cxxabiv117__class_type_info29process_static_type_above_dstEPNS_19__dynamic_cast_infoEPKvS4_i(0, $1, $2, $3, $4); + return; +} + +function _arLog($0, $1, $2, $varargs) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $varargs = $varargs | 0; + var $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp; + if (($2 | 0) != 0 & (HEAP32[4186] | 0) <= ($1 | 0) ? HEAP8[$2 >> 0] | 0 : 0) { + HEAP32[$3 >> 2] = $varargs; + _arLogv(0, $1, $2, $3); + } + STACKTOP = sp; + return; +} + +function __ZNSt3__214__split_bufferIhRNS_9allocatorIhEEEC2EmmS3_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0, $8 = 0, $9 = 0; + $4 = $0 + 12 | 0; + HEAP32[$4 >> 2] = 0; + HEAP32[$0 + 16 >> 2] = $3; + if (!$1) $8 = 0; else $8 = __Znwm($1) | 0; + HEAP32[$0 >> 2] = $8; + $9 = $8 + $2 | 0; + HEAP32[$0 + 8 >> 2] = $9; + HEAP32[$0 + 4 >> 2] = $9; + HEAP32[$4 >> 2] = $8 + $1; + return; +} + +function _copysign($0, $1) { + $0 = +$0; + $1 = +$1; + var $2 = 0, $3 = 0, $8 = 0; + HEAPF64[tempDoublePtr >> 3] = $0; + $2 = HEAP32[tempDoublePtr >> 2] | 0; + $3 = HEAP32[tempDoublePtr + 4 >> 2] | 0; + HEAPF64[tempDoublePtr >> 3] = $1; + $8 = HEAP32[tempDoublePtr + 4 >> 2] & -2147483648 | $3 & 2147483647; + HEAP32[tempDoublePtr >> 2] = $2; + HEAP32[tempDoublePtr + 4 >> 2] = $8; + return +(+HEAPF64[tempDoublePtr >> 3]); +} + +function __ZN12_GLOBAL__N_116register_integerIlEEvPKc($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + HEAP32[$1 >> 2] = $0; + $2 = __ZN10emscripten8internal6TypeIDIlvE3getEv() | 0; + __embind_register_integer($2 | 0, HEAP32[$1 >> 2] | 0, 4, -2147483648, 2147483647); + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_116register_integerIiEEvPKc($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + HEAP32[$1 >> 2] = $0; + $2 = __ZN10emscripten8internal6TypeIDIivE3getEv() | 0; + __embind_register_integer($2 | 0, HEAP32[$1 >> 2] | 0, 4, -2147483648, 2147483647); + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_17VendorExtQualTypeEJRPNS0_4NodeERNS_10StringViewEEEES9_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle17VendorExtQualTypeEJRPNS2_4NodeERNS_10StringViewEEEEPT_DpOT0_($0 + 368 | 0, $1, $2) | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8QualTypeEJRPNS2_4NodeERNS2_10QualifiersEEEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 16) | 0; + __ZN12_GLOBAL__N_116itanium_demangle8QualTypeC2EPKNS0_4NodeENS0_10QualifiersE($3, HEAP32[$1 >> 2] | 0, HEAP32[$2 >> 2] | 0); + return $3 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_13ReferenceTypeEJRPNS0_4NodeENS0_13ReferenceKindEEEES9_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle13ReferenceTypeEJRPNS2_4NodeENS2_13ReferenceKindEEEEPT_DpOT0_($0 + 368 | 0, $1, $2) | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle21CtorVtableSpecialNameEJRPNS2_4NodeES6_EEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 16) | 0; + __ZN12_GLOBAL__N_116itanium_demangle21CtorVtableSpecialNameC2EPKNS0_4NodeES4_($3, HEAP32[$1 >> 2] | 0, HEAP32[$2 >> 2] | 0); + return $3 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_15IntegerCastExprEJRPNS0_4NodeERNS_10StringViewEEEES9_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle15IntegerCastExprEJRPNS2_4NodeERNS_10StringViewEEEEPT_DpOT0_($0 + 368 | 0, $1, $2) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_15ConditionalExprEJRPNS0_4NodeESA_SA_EEES9_DpOT0_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle15ConditionalExprEJRPNS2_4NodeES6_S6_EEEPT_DpOT0_($0 + 368 | 0, $1, $2, $3) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_15BracedRangeExprEJRPNS0_4NodeESA_SA_EEES9_DpOT0_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle15BracedRangeExprEJRPNS2_4NodeES6_S6_EEEPT_DpOT0_($0 + 368 | 0, $1, $2, $3) | 0; +} + +function __ZN6vision16RobustHomographyIfE4initEfiii($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = +$1; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + __ZNSt3__26vectorIfNS_9allocatorIfEEE6resizeEm($0, $2 * 9 | 0); + __ZNSt3__26vectorINS_4pairIfiEENS_9allocatorIS2_EEE6resizeEm($0 + 24 | 0, $2); + HEAPF32[$0 + 36 >> 2] = $1; + HEAP32[$0 + 40 >> 2] = $2; + HEAP32[$0 + 44 >> 2] = $3; + HEAP32[$0 + 48 >> 2] = $4; + return; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle20NameWithTemplateArgsEJRPNS2_4NodeES6_EEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 16) | 0; + __ZN12_GLOBAL__N_116itanium_demangle20NameWithTemplateArgsC2EPNS0_4NodeES3_($3, HEAP32[$1 >> 2] | 0, HEAP32[$2 >> 2] | 0); + return $3 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle19PointerToMemberTypeEJRPNS2_4NodeES6_EEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 16) | 0; + __ZN12_GLOBAL__N_116itanium_demangle19PointerToMemberTypeC2EPKNS0_4NodeES4_($3, HEAP32[$1 >> 2] | 0, HEAP32[$2 >> 2] | 0); + return $3 | 0; +} + +function _rand() { + var $0 = 0, $10 = 0, $14 = 0, $6 = 0, $8 = 0, $9 = 0; + $0 = 64568; + $6 = ___muldi3(HEAP32[$0 >> 2] | 0, HEAP32[$0 + 4 >> 2] | 0, 1284865837, 1481765933) | 0; + $8 = _i64Add($6 | 0, getTempRet0() | 0, 1, 0) | 0; + $9 = getTempRet0() | 0; + $10 = 64568; + HEAP32[$10 >> 2] = $8; + HEAP32[$10 + 4 >> 2] = $9; + $14 = _bitshift64Lshr($8 | 0, $9 | 0, 33) | 0; + getTempRet0() | 0; + return $14 | 0; +} + +function ___unlist_locked_file($0) { + $0 = $0 | 0; + var $$pre = 0, $$sink = 0, $10 = 0, $5 = 0; + if (HEAP32[$0 + 68 >> 2] | 0) { + $5 = HEAP32[$0 + 132 >> 2] | 0; + $$pre = $0 + 128 | 0; + if ($5 | 0) HEAP32[$5 + 128 >> 2] = HEAP32[$$pre >> 2]; + $10 = HEAP32[$$pre >> 2] | 0; + if (!$10) $$sink = (___pthread_self_603() | 0) + 232 | 0; else $$sink = $10 + 132 | 0; + HEAP32[$$sink >> 2] = $5; + } + return; +} + +function __ZNSt3__218__libcpp_refstringC2EPKc($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $4 = 0, $7 = 0; + $2 = _strlen($1) | 0; + $4 = __Znwm($2 + 13 | 0) | 0; + HEAP32[$4 >> 2] = $2; + HEAP32[$4 + 4 >> 2] = $2; + HEAP32[$4 + 8 >> 2] = 0; + $7 = __ZNSt3__215__refstring_imp12_GLOBAL__N_113data_from_repEPNS1_9_Rep_baseE($4) | 0; + _memcpy($7 | 0, $1 | 0, $2 + 1 | 0) | 0; + HEAP32[$0 >> 2] = $7; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_13EnclosingExprEJRA10_KcRPNS0_4NodeERA2_S8_EEESC_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle13EnclosingExprEJRA10_KcRPNS2_4NodeERA2_S4_EEEPT_DpOT0_($0 + 368 | 0, $1, $2, 51964) | 0; +} + +function ___munmap($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $vararg_buffer = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $vararg_buffer = sp; + HEAP32[$vararg_buffer >> 2] = $0; + HEAP32[$vararg_buffer + 4 >> 2] = $1; + $4 = ___syscall_ret(___syscall91(91, $vararg_buffer | 0) | 0) | 0; + STACKTOP = sp; + return $4 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_27ExpandedSpecialSubstitutionEJRNS0_14SpecialSubKindEEEEPNS0_4NodeEDpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle27ExpandedSpecialSubstitutionEJRNS2_14SpecialSubKindEEEEPT_DpOT0_($0 + 368 | 0, $1) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_14ConversionExprEJRPNS0_4NodeERNS0_9NodeArrayEEEES9_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle14ConversionExprEJRPNS2_4NodeERNS2_9NodeArrayEEEEPT_DpOT0_($0 + 368 | 0, $1, $2) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_13ObjCProtoNameEJRPNS0_4NodeERNS_10StringViewEEEES9_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle13ObjCProtoNameEJRPNS2_4NodeERNS_10StringViewEEEEPT_DpOT0_($0 + 368 | 0, $1, $2) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_10MemberExprEJRPNS0_4NodeERA3_KcSA_EEES9_DpOT0_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle10MemberExprEJRPNS2_4NodeERA3_KcS6_EEEPT_DpOT0_($0 + 368 | 0, $1, $2, $3) | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle18ArraySubscriptExprEJRPNS2_4NodeES6_EEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 16) | 0; + __ZN12_GLOBAL__N_116itanium_demangle18ArraySubscriptExprC2EPKNS0_4NodeES4_($3, HEAP32[$1 >> 2] | 0, HEAP32[$2 >> 2] | 0); + return $3 | 0; +} + +function __ZNSt3__26vectorIhNS_9allocatorIhEEE18__construct_at_endIPhEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeES7_S7_m($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0, $7 = 0; + $4 = $0 + 4 | 0; + $7 = $2 - $1 | 0; + if (($7 | 0) > 0) { + _memcpy(HEAP32[$4 >> 2] | 0, $1 | 0, $7 | 0) | 0; + HEAP32[$4 >> 2] = (HEAP32[$4 >> 2] | 0) + $7; + } + return; +} + +function __ZNSt3__26vectorIN6vision17PriorityQueueItemILi96EEENS_9allocatorIS3_EEE18__construct_at_endEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $2 = 0, $3 = 0; + $2 = $0 + 4 | 0; + $$0 = $1; + $3 = HEAP32[$2 >> 2] | 0; + do { + __ZN6vision17PriorityQueueItemILi96EEC2Ev($3); + $3 = (HEAP32[$2 >> 2] | 0) + 8 | 0; + HEAP32[$2 >> 2] = $3; + $$0 = $$0 + -1 | 0; + } while (($$0 | 0) != 0); + return; +} + +function __ZNSt3__211__stdoutbufIwE5imbueERKNS_6localeE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $12 = 0, $5 = 0; + FUNCTION_TABLE_ii[HEAP32[(HEAP32[$0 >> 2] | 0) + 24 >> 2] & 127]($0) | 0; + $5 = __ZNKSt3__26locale9use_facetERNS0_2idE($1, 66824) | 0; + HEAP32[$0 + 36 >> 2] = $5; + $12 = (FUNCTION_TABLE_ii[HEAP32[(HEAP32[$5 >> 2] | 0) + 28 >> 2] & 127]($5) | 0) & 1; + HEAP8[$0 + 44 >> 0] = $12; + return; +} + +function __ZNSt3__211__stdoutbufIcE5imbueERKNS_6localeE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $12 = 0, $5 = 0; + FUNCTION_TABLE_ii[HEAP32[(HEAP32[$0 >> 2] | 0) + 24 >> 2] & 127]($0) | 0; + $5 = __ZNKSt3__26locale9use_facetERNS0_2idE($1, 66816) | 0; + HEAP32[$0 + 36 >> 2] = $5; + $12 = (FUNCTION_TABLE_ii[HEAP32[(HEAP32[$5 >> 2] | 0) + 28 >> 2] & 127]($5) | 0) & 1; + HEAP8[$0 + 44 >> 0] = $12; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_13EnclosingExprEJRA9_KcRPNS0_4NodeERA2_S8_EEESC_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle13EnclosingExprEJRA9_KcRPNS2_4NodeERA2_S4_EEEPT_DpOT0_($0 + 368 | 0, $1, $2, 51964) | 0; +} + +function __ZN6vision4NodeILi96EEC2EiPKh($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $4 = 0; + HEAP32[$0 >> 2] = $1; + HEAP8[$0 + 100 >> 0] = 1; + $4 = $0 + 104 | 0; + HEAP32[$4 >> 2] = 0; + HEAP32[$4 + 4 >> 2] = 0; + HEAP32[$4 + 8 >> 2] = 0; + HEAP32[$4 + 12 >> 2] = 0; + HEAP32[$4 + 16 >> 2] = 0; + HEAP32[$4 + 20 >> 2] = 0; + __ZN6vision10CopyVectorIhEEvPT_PKS1_m($0 + 4 | 0, $2, 96); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_14ConversionExprEJRPNS0_4NodeENS0_9NodeArrayEEEES9_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle14ConversionExprEJRPNS2_4NodeENS2_9NodeArrayEEEEPT_DpOT0_($0 + 368 | 0, $1, $2) | 0; +} + +function __ZNSt3__213unordered_mapIiNS_6vectorIN6vision7Point3dIfEENS_9allocatorIS4_EEEENS_4hashIiEENS_8equal_toIiEENS5_INS_4pairIKiS7_EEEEED2Ev($0) { + $0 = $0 | 0; + __ZNSt3__212__hash_tableINS_17__hash_value_typeIiNS_6vectorIN6vision7Point3dIfEENS_9allocatorIS5_EEEEEENS_22__unordered_map_hasherIiS9_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS9_NS_8equal_toIiEELb1EEENS6_IS9_EEED2Ev($0); + return; +} + +function __ZNSt3__213unordered_mapIiNS_10shared_ptrIN6vision8KeyframeILi96EEEEENS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS5_EEEEED2Ev($0) { + $0 = $0 | 0; + __ZNSt3__212__hash_tableINS_17__hash_value_typeIiNS_10shared_ptrIN6vision8KeyframeILi96EEEEEEENS_22__unordered_map_hasherIiS7_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS7_NS_8equal_toIiEELb1EEENS_9allocatorIS7_EEED2Ev($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle21StructuredBindingNameC2ENS0_9NodeArrayE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0, $8 = 0, $9 = 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 41, 1, 1, 1); + HEAP32[$0 >> 2] = 19584; + $3 = $1; + $8 = HEAP32[$3 + 4 >> 2] | 0; + $9 = $0 + 8 | 0; + HEAP32[$9 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$9 + 4 >> 2] = $8; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_9ArrayTypeEJRPNS0_4NodeERNS0_12NodeOrStringEEEES9_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle9ArrayTypeEJRPNS2_4NodeERNS2_12NodeOrStringEEEEPT_DpOT0_($0 + 368 | 0, $1, $2) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle20TemplateArgumentPackC2ENS0_9NodeArrayE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0, $8 = 0, $9 = 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 28, 1, 1, 1); + HEAP32[$0 >> 2] = 18220; + $3 = $1; + $8 = HEAP32[$3 + 4 >> 2] | 0; + $9 = $0 + 8 | 0; + HEAP32[$9 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$9 + 4 >> 2] = $8; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle20DynamicExceptionSpecC2ENS0_9NodeArrayE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0, $8 = 0, $9 = 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 17, 1, 1, 1); + HEAP32[$0 >> 2] = 20244; + $3 = $1; + $8 = HEAP32[$3 + 4 >> 2] | 0; + $9 = $0 + 8 | 0; + HEAP32[$9 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$9 + 4 >> 2] = $8; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle16FloatLiteralImplIfEC2ENS_10StringViewE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0, $8 = 0, $9 = 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 62, 1, 1, 1); + HEAP32[$0 >> 2] = 18088; + $3 = $1; + $8 = HEAP32[$3 + 4 >> 2] | 0; + $9 = $0 + 8 | 0; + HEAP32[$9 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$9 + 4 >> 2] = $8; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle16FloatLiteralImplIdEC2ENS_10StringViewE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0, $8 = 0, $9 = 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 63, 1, 1, 1); + HEAP32[$0 >> 2] = 18044; + $3 = $1; + $8 = HEAP32[$3 + 4 >> 2] | 0; + $9 = $0 + 8 | 0; + HEAP32[$9 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$9 + 4 >> 2] = $8; + return; +} + +function _calloc($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $3 = 0, $8 = 0; + if ($0) { + $3 = Math_imul($1, $0) | 0; + if (($1 | $0) >>> 0 > 65535) $$0 = (($3 >>> 0) / ($0 >>> 0) | 0 | 0) == ($1 | 0) ? $3 : -1; else $$0 = $3; + } else $$0 = 0; + $8 = _malloc($$0) | 0; + if (!$8) return $8 | 0; + if (!(HEAP32[$8 + -4 >> 2] & 3)) return $8 | 0; + _memset($8 | 0, 0, $$0 | 0) | 0; + return $8 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle16FloatLiteralImplIeEC2ENS_10StringViewE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0, $8 = 0, $9 = 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 64, 1, 1, 1); + HEAP32[$0 >> 2] = 18e3; + $3 = $1; + $8 = HEAP32[$3 + 4 >> 2] | 0; + $9 = $0 + 8 | 0; + HEAP32[$9 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$9 + 4 >> 2] = $8; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle15PixelVectorTypeC2ENS0_12NodeOrStringE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0, $8 = 0, $9 = 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 26, 1, 1, 1); + HEAP32[$0 >> 2] = 20024; + $3 = $1; + $8 = HEAP32[$3 + 4 >> 2] | 0; + $9 = $0 + 8 | 0; + HEAP32[$9 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$9 + 4 >> 2] = $8; + return; +} + +function __ZNSt3__26vectorItNS_9allocatorItEEE6resizeEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $4 = 0, $6 = 0, $8 = 0; + $2 = $0 + 4 | 0; + $4 = HEAP32[$0 >> 2] | 0; + $6 = (HEAP32[$2 >> 2] | 0) - $4 >> 1; + $8 = $4; + if ($6 >>> 0 >= $1 >>> 0) { + if ($6 >>> 0 > $1 >>> 0) HEAP32[$2 >> 2] = $8 + ($1 << 1); + } else __ZNSt3__26vectorItNS_9allocatorItEEE8__appendEm($0, $1 - $6 | 0); + return; +} + +function __ZNSt3__26vectorIiNS_9allocatorIiEEE6resizeEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $4 = 0, $6 = 0, $8 = 0; + $2 = $0 + 4 | 0; + $4 = HEAP32[$0 >> 2] | 0; + $6 = (HEAP32[$2 >> 2] | 0) - $4 >> 2; + $8 = $4; + if ($6 >>> 0 >= $1 >>> 0) { + if ($6 >>> 0 > $1 >>> 0) HEAP32[$2 >> 2] = $8 + ($1 << 2); + } else __ZNSt3__26vectorIiNS_9allocatorIiEEE8__appendEm($0, $1 - $6 | 0); + return; +} + +function __ZNSt3__26vectorIfNS_9allocatorIfEEE6resizeEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $4 = 0, $6 = 0, $8 = 0; + $2 = $0 + 4 | 0; + $4 = HEAP32[$0 >> 2] | 0; + $6 = (HEAP32[$2 >> 2] | 0) - $4 >> 2; + $8 = $4; + if ($6 >>> 0 >= $1 >>> 0) { + if ($6 >>> 0 > $1 >>> 0) HEAP32[$2 >> 2] = $8 + ($1 << 2); + } else __ZNSt3__26vectorIfNS_9allocatorIfEEE8__appendEm($0, $1 - $6 | 0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_12InitListExprEJRPNS0_4NodeENS0_9NodeArrayEEEES9_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle12InitListExprEJRPNS2_4NodeENS2_9NodeArrayEEEEPT_DpOT0_($0 + 368 | 0, $1, $2) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_10VectorTypeEJRPNS0_4NodeERNS_10StringViewEEEES9_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle10VectorTypeEJRPNS2_4NodeERNS_10StringViewEEEEPT_DpOT0_($0 + 368 | 0, $1, $2) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_10PrefixExprEJRNS_10StringViewERPNS0_4NodeEEEESB_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle10PrefixExprEJRNS_10StringViewERPNS2_4NodeEEEEPT_DpOT0_($0 + 368 | 0, $1, $2) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_10AbiTagAttrEJRPNS0_4NodeERNS_10StringViewEEEES9_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle10AbiTagAttrEJRPNS2_4NodeERNS_10StringViewEEEEPT_DpOT0_($0 + 368 | 0, $1, $2) | 0; +} + +function __ZNKSt3__220__time_get_c_storageIwE3__xEv($0) { + $0 = $0 | 0; + if ((HEAP8[64672] | 0) == 0 ? ___cxa_guard_acquire(64672) | 0 : 0) { + HEAP32[16666] = 0; + HEAP32[16667] = 0; + HEAP32[16668] = 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initEPKwm(66664, 21636, __ZNSt3__211char_traitsIwE6lengthEPKw(21636) | 0); + ___cxa_guard_release(64672); + } + return 66664; +} + +function __ZNKSt3__220__time_get_c_storageIwE3__rEv($0) { + $0 = $0 | 0; + if ((HEAP8[64680] | 0) == 0 ? ___cxa_guard_acquire(64680) | 0 : 0) { + HEAP32[16669] = 0; + HEAP32[16670] = 0; + HEAP32[16671] = 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initEPKwm(66676, 21672, __ZNSt3__211char_traitsIwE6lengthEPKw(21672) | 0); + ___cxa_guard_release(64680); + } + return 66676; +} + +function __ZNKSt3__220__time_get_c_storageIwE3__cEv($0) { + $0 = $0 | 0; + if ((HEAP8[64688] | 0) == 0 ? ___cxa_guard_acquire(64688) | 0 : 0) { + HEAP32[16672] = 0; + HEAP32[16673] = 0; + HEAP32[16674] = 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initEPKwm(66688, 21720, __ZNSt3__211char_traitsIwE6lengthEPKw(21720) | 0); + ___cxa_guard_release(64688); + } + return 66688; +} + +function __ZNKSt3__220__time_get_c_storageIcE3__xEv($0) { + $0 = $0 | 0; + if ((HEAP8[64592] | 0) == 0 ? ___cxa_guard_acquire(64592) | 0 : 0) { + HEAP32[16649] = 0; + HEAP32[16650] = 0; + HEAP32[16651] = 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm(66596, 59411, __ZNSt3__211char_traitsIcE6lengthEPKc(59411) | 0); + ___cxa_guard_release(64592); + } + return 66596; +} + +function __ZNKSt3__220__time_get_c_storageIcE3__rEv($0) { + $0 = $0 | 0; + if ((HEAP8[64600] | 0) == 0 ? ___cxa_guard_acquire(64600) | 0 : 0) { + HEAP32[16652] = 0; + HEAP32[16653] = 0; + HEAP32[16654] = 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm(66608, 59420, __ZNSt3__211char_traitsIcE6lengthEPKc(59420) | 0); + ___cxa_guard_release(64600); + } + return 66608; +} + +function __ZNKSt3__220__time_get_c_storageIcE3__cEv($0) { + $0 = $0 | 0; + if ((HEAP8[64608] | 0) == 0 ? ___cxa_guard_acquire(64608) | 0 : 0) { + HEAP32[16655] = 0; + HEAP32[16656] = 0; + HEAP32[16657] = 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm(66620, 59432, __ZNSt3__211char_traitsIcE6lengthEPKc(59432) | 0); + ___cxa_guard_release(64608); + } + return 66620; +} + +function __ZNKSt3__220__time_get_c_storageIcE3__XEv($0) { + $0 = $0 | 0; + if ((HEAP8[64584] | 0) == 0 ? ___cxa_guard_acquire(64584) | 0 : 0) { + HEAP32[16646] = 0; + HEAP32[16647] = 0; + HEAP32[16648] = 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm(66584, 59402, __ZNSt3__211char_traitsIcE6lengthEPKc(59402) | 0); + ___cxa_guard_release(64584); + } + return 66584; +} + +function __ZN12_GLOBAL__N_116register_integerItEEvPKc($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + HEAP32[$1 >> 2] = $0; + $2 = __ZN10emscripten8internal6TypeIDItvE3getEv() | 0; + __embind_register_integer($2 | 0, HEAP32[$1 >> 2] | 0, 2, 0, 65535); + STACKTOP = sp; + return; +} + +function ___fseeko($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $10 = 0, $9 = 0, $phitmp = 0; + if ((HEAP32[$0 + 76 >> 2] | 0) > -1) { + $phitmp = (___lockfile($0) | 0) == 0; + $9 = ___fseeko_unlocked($0, $1, $2, $3) | 0; + if ($phitmp) $10 = $9; else { + ___unlockfile($0); + $10 = $9; + } + } else $10 = ___fseeko_unlocked($0, $1, $2, $3) | 0; + return $10 | 0; +} + +function __ZNSt3__26vectorIN6vision12FeaturePointENS_9allocatorIS2_EEEC2Em($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + if ($1 | 0) { + __ZNSt3__26vectorIN6vision12FeaturePointENS_9allocatorIS2_EEE11__vallocateEm($0, $1); + __ZNSt3__26vectorIN6vision12FeaturePointENS_9allocatorIS2_EEE18__construct_at_endEm($0, $1); + } + return; +} +function __ZNKSt3__220__time_get_c_storageIwE3__XEv($0) { + $0 = $0 | 0; + if ((HEAP8[64664] | 0) == 0 ? ___cxa_guard_acquire(64664) | 0 : 0) { + HEAP32[16663] = 0; + HEAP32[16664] = 0; + HEAP32[16665] = 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initEPKwm(66652, 21600, __ZNSt3__211char_traitsIwE6lengthEPKw(21600) | 0); + ___cxa_guard_release(64664); + } + return 66652; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_14IntegerLiteralEJRNS_10StringViewES9_EEEPNS0_4NodeEDpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle14IntegerLiteralEJRNS_10StringViewES5_EEEPT_DpOT0_($0 + 368 | 0, $1, $2) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_12CtorDtorNameEJRPNS0_4NodeEbRiEEES9_DpOT0_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle12CtorDtorNameEJRPNS2_4NodeEbRiEEEPT_DpOT0_($0 + 368 | 0, $1, $2, $3) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_10VectorTypeEJRPNS0_4NodeENS_10StringViewEEEES9_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle10VectorTypeEJRPNS2_4NodeENS_10StringViewEEEEPT_DpOT0_($0 + 368 | 0, $1, $2) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle15UnnamedTypeNameC2ENS_10StringViewE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0, $8 = 0, $9 = 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 39, 1, 1, 1); + HEAP32[$0 >> 2] = 19672; + $3 = $1; + $8 = HEAP32[$3 + 4 >> 2] | 0; + $9 = $0 + 8 | 0; + HEAP32[$9 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$9 + 4 >> 2] = $8; + return; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle27ExpandedSpecialSubstitutionEJRNS2_14SpecialSubKindEEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 12) | 0; + __ZN12_GLOBAL__N_116itanium_demangle27ExpandedSpecialSubstitutionC2ENS0_14SpecialSubKindE($2, HEAP32[$1 >> 2] | 0); + return $2 | 0; +} + +function __ZN12_GLOBAL__N_116register_integerIhEEvPKc($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + HEAP32[$1 >> 2] = $0; + $2 = __ZN10emscripten8internal6TypeIDIhvE3getEv() | 0; + __embind_register_integer($2 | 0, HEAP32[$1 >> 2] | 0, 1, 0, 255); + STACKTOP = sp; + return; +} + +function _merged_1v_upsample($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; + FUNCTION_TABLE_viiii[HEAP32[(HEAP32[$0 + 476 >> 2] | 0) + 12 >> 2] & 31]($0, $1, HEAP32[$2 >> 2] | 0, $4 + (HEAP32[$5 >> 2] << 2) | 0); + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + 1; + HEAP32[$2 >> 2] = (HEAP32[$2 >> 2] | 0) + 1; + return; +} + +function __ZNKSt3__212_GLOBAL__N_111__fake_bindclEv($0) { + $0 = $0 | 0; + var $$unpack = 0, $$unpack2 = 0, $10 = 0, $3 = 0; + $$unpack = HEAP32[$0 + 4 >> 2] | 0; + $$unpack2 = HEAP32[$0 + 8 >> 2] | 0; + $3 = (HEAP32[$0 >> 2] | 0) + ($$unpack2 >> 1) | 0; + if (!($$unpack2 & 1)) $10 = $$unpack; else $10 = HEAP32[(HEAP32[$3 >> 2] | 0) + $$unpack >> 2] | 0; + FUNCTION_TABLE_vi[$10 & 255]($3); + return; +} + +function __ZN12_GLOBAL__N_116register_integerImEEvPKc($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + HEAP32[$1 >> 2] = $0; + $2 = __ZN10emscripten8internal6TypeIDImvE3getEv() | 0; + __embind_register_integer($2 | 0, HEAP32[$1 >> 2] | 0, 4, 0, -1); + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_116register_integerIjEEvPKc($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + HEAP32[$1 >> 2] = $0; + $2 = __ZN10emscripten8internal6TypeIDIjvE3getEv() | 0; + __embind_register_integer($2 | 0, HEAP32[$1 >> 2] | 0, 4, 0, -1); + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8QualTypeEJRPNS0_4NodeERNS0_10QualifiersEEEES9_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8QualTypeEJRPNS2_4NodeERNS2_10QualifiersEEEEPT_DpOT0_($0 + 368 | 0, $1, $2) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_10BracedExprEJRPNS0_4NodeESA_bEEES9_DpOT0_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle10BracedExprEJRPNS2_4NodeES6_bEEEPT_DpOT0_($0 + 368 | 0, $1, $2, $3) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle13FunctionParamC2ENS_10StringViewE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0, $8 = 0, $9 = 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 54, 1, 1, 1); + HEAP32[$0 >> 2] = 19408; + $3 = $1; + $8 = HEAP32[$3 + 4 >> 2] | 0; + $9 = $0 + 8 | 0; + HEAP32[$9 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$9 + 4 >> 2] = $8; + return; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle13QualifiedNameEJRPNS2_4NodeES6_EEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 16) | 0; + __ZN12_GLOBAL__N_116itanium_demangle13QualifiedNameC2EPKNS0_4NodeES4_($3, HEAP32[$1 >> 2] | 0, HEAP32[$2 >> 2] | 0); + return $3 | 0; +} + +function __ZNSt3__26vectorIhNS_9allocatorIhEEE11__vallocateEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + if ((__ZNKSt3__26vectorIhNS_9allocatorIhEEE8max_sizeEv($0) | 0) >>> 0 < $1 >>> 0) __ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv($0); else { + $4 = __Znwm($1) | 0; + HEAP32[$0 + 4 >> 2] = $4; + HEAP32[$0 >> 2] = $4; + HEAP32[$0 + 8 >> 2] = $4 + $1; + return; + } +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_9DotSuffixEJRPNS0_4NodeENS_10StringViewEEEES9_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle9DotSuffixEJRPNS2_4NodeENS_10StringViewEEEEPT_DpOT0_($0 + 368 | 0, $1, $2) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_21CtorVtableSpecialNameEJRPNS0_4NodeESA_EEES9_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle21CtorVtableSpecialNameEJRPNS2_4NodeES6_EEEPT_DpOT0_($0 + 368 | 0, $1, $2) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_10DeleteExprEJRPNS0_4NodeERbbEEES9_DpOT0_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle10DeleteExprEJRPNS2_4NodeERbbEEEPT_DpOT0_($0 + 368 | 0, $1, $2, $3) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle13NodeArrayNodeC2ENS0_9NodeArrayE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0, $8 = 0, $9 = 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 0, 1, 1, 1); + HEAP32[$0 >> 2] = 18352; + $3 = $1; + $8 = HEAP32[$3 + 4 >> 2] | 0; + $9 = $0 + 8 | 0; + HEAP32[$9 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$9 + 4 >> 2] = $8; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle12TemplateArgsC2ENS0_9NodeArrayE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0, $8 = 0, $9 = 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 30, 1, 1, 1); + HEAP32[$0 >> 2] = 17868; + $3 = $1; + $8 = HEAP32[$3 + 4 >> 2] | 0; + $9 = $0 + 8 | 0; + HEAP32[$9 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$9 + 4 >> 2] = $8; + return; +} + +function _arMatrixAllocf($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $2 = 0, $6 = 0; + $2 = _malloc(12) | 0; + do if ($2) { + $6 = _malloc(Math_imul($0 << 2, $1) | 0) | 0; + HEAP32[$2 >> 2] = $6; + if (!$6) { + _free($2); + $$0 = 0; + break; + } else { + HEAP32[$2 + 4 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $$0 = $2; + break; + } + } else $$0 = 0; while (0); + return $$0 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle12EnableIfAttrC2ENS0_9NodeArrayE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0, $8 = 0, $9 = 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 9, 1, 1, 1); + HEAP32[$0 >> 2] = 20464; + $3 = $1; + $8 = HEAP32[$3 + 4 >> 2] | 0; + $9 = $0 + 8 | 0; + HEAP32[$9 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$9 + 4 >> 2] = $8; + return; +} + +function __ZN10emscripten8internal7InvokerIvJiiEE6invokeEPFviiEii($fn, $args, $args1) { + $fn = $fn | 0; + $args = $args | 0; + $args1 = $args1 | 0; + var $call = 0, $call3 = 0; + $call = __ZN10emscripten8internal11BindingTypeIivE12fromWireTypeEi($args) | 0; + $call3 = __ZN10emscripten8internal11BindingTypeIivE12fromWireTypeEi($args1) | 0; + FUNCTION_TABLE_vii[$fn & 255]($call, $call3); + return; +} + +function _arMatrixAlloc($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $2 = 0, $6 = 0; + $2 = _malloc(12) | 0; + do if ($2) { + $6 = _malloc(Math_imul($0 << 3, $1) | 0) | 0; + HEAP32[$2 >> 2] = $6; + if (!$6) { + _free($2); + $$0 = 0; + break; + } else { + HEAP32[$2 + 4 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + $$0 = $2; + break; + } + } else $$0 = 0; while (0); + return $$0 | 0; +} + +function __ZNSt3__26vectorIhNS_9allocatorIhEEE6resizeEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $4 = 0, $5 = 0, $7 = 0; + $2 = $0 + 4 | 0; + $4 = HEAP32[$0 >> 2] | 0; + $5 = (HEAP32[$2 >> 2] | 0) - $4 | 0; + $7 = $4; + if ($5 >>> 0 >= $1 >>> 0) { + if ($5 >>> 0 > $1 >>> 0) HEAP32[$2 >> 2] = $7 + $1; + } else __ZNSt3__26vectorIhNS_9allocatorIhEEE8__appendEm($0, $1 - $5 | 0); + return; +} + +function __ZNSt3__214__split_bufferIN6vision12FeaturePointERNS_9allocatorIS2_EEE18__construct_at_endEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $2 = 0, $3 = 0; + $2 = $0 + 8 | 0; + $$0 = $1; + $3 = HEAP32[$2 >> 2] | 0; + do { + __ZN6vision12FeaturePointC2Ev($3); + $3 = (HEAP32[$2 >> 2] | 0) + 20 | 0; + HEAP32[$2 >> 2] = $3; + $$0 = $$0 + -1 | 0; + } while (($$0 | 0) != 0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_20NameWithTemplateArgsEJRPNS0_4NodeESA_EEES9_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle20NameWithTemplateArgsEJRPNS2_4NodeES6_EEEPT_DpOT0_($0 + 368 | 0, $1, $2) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_13EnclosingExprEJRA12_KcRPNS0_4NodeERA2_S8_EEESC_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle13EnclosingExprEJRA12_KcRPNS2_4NodeERA2_S4_EEEPT_DpOT0_($0 + 368 | 0, 52940, $1, 51964) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_13EnclosingExprEJRA11_KcRPNS0_4NodeERA2_S8_EEESC_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle13EnclosingExprEJRA11_KcRPNS2_4NodeERA2_S4_EEEPT_DpOT0_($0 + 368 | 0, 53268, $1, 51964) | 0; +} + +function __ZNSt3__210shared_ptrIN6vision8KeyframeILi96EEEED2Ev($0) { + $0 = $0 | 0; + var $2 = 0, $4 = 0, $5 = 0; + $2 = HEAP32[$0 + 4 >> 2] | 0; + if ($2 | 0 ? ($4 = $2 + 4 | 0, $5 = HEAP32[$4 >> 2] | 0, HEAP32[$4 >> 2] = $5 + -1, ($5 | 0) == 0) : 0) { + FUNCTION_TABLE_vi[HEAP32[(HEAP32[$2 >> 2] | 0) + 8 >> 2] & 255]($2); + __ZNSt3__219__shared_weak_count14__release_weakEv($2); + } + return; +} + +function __ZNKSt3__25ctypeIcE9do_narrowEPKcS3_cPc($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $$0 = 0, $$09 = 0, $6 = 0; + $$0 = $4; + $$09 = $1; + while (1) { + if (($$09 | 0) == ($2 | 0)) break; + $6 = HEAP8[$$09 >> 0] | 0; + HEAP8[$$0 >> 0] = $6 << 24 >> 24 > -1 ? $6 : $3; + $$0 = $$0 + 1 | 0; + $$09 = $$09 + 1 | 0; + } + return $2 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_10MemberExprEJRPNS0_4NodeERA2_KcSA_EEES9_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle10MemberExprEJRPNS2_4NodeERA2_KcS6_EEEPT_DpOT0_($0 + 368 | 0, $1, 53642, $2) | 0; +} + +function __ZNSt3__214__split_bufferIhRNS_9allocatorIhEEE18__construct_at_endEmRKh($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $3 = 0, $5 = 0; + $3 = $0 + 8 | 0; + $$0 = $1; + $5 = HEAP32[$3 >> 2] | 0; + do { + HEAP8[$5 >> 0] = HEAP8[$2 >> 0] | 0; + $5 = (HEAP32[$3 >> 2] | 0) + 1 | 0; + HEAP32[$3 >> 2] = $5; + $$0 = $$0 + -1 | 0; + } while (($$0 | 0) != 0); + return; +} + +function __ZN6vision22bilinear_interpolationIfEET_RKNS_5ImageEff($0, $1, $2) { + $0 = $0 | 0; + $1 = +$1; + $2 = +$2; + var $3 = 0, $4 = 0, $5 = 0; + $3 = __ZNK6vision5Image3getEv($0) | 0; + $4 = __ZNK6vision5Image5widthEv($0) | 0; + $5 = __ZNK6vision5Image6heightEv($0) | 0; + return +(+__ZN6vision22bilinear_interpolationIfEET_PKS1_mmmff($3, $4, $5, __ZNK6vision5Image4stepEv($0) | 0, $1, $2)); +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8CallExprEJRPNS0_4NodeENS0_9NodeArrayEEEES9_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8CallExprEJRPNS2_4NodeENS2_9NodeArrayEEEEPT_DpOT0_($0 + 368 | 0, $1, $2) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_19PointerToMemberTypeEJRPNS0_4NodeESA_EEES9_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle19PointerToMemberTypeEJRPNS2_4NodeES6_EEEPT_DpOT0_($0 + 368 | 0, $1, $2) | 0; +} + +function __ZNSt3__26vectorIN6vision7Point2dIfEENS_9allocatorIS3_EEEC2Em($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + if ($1 | 0) { + __ZNSt3__26vectorIN6vision7Point2dIfEENS_9allocatorIS3_EEE11__vallocateEm($0, $1); + __ZNSt3__26vectorIN6vision7Point2dIfEENS_9allocatorIS3_EEE18__construct_at_endEm($0, $1); + } + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle8NameTypeC2ENS_10StringViewE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0, $8 = 0, $9 = 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 7, 1, 1, 1); + HEAP32[$0 >> 2] = 18792; + $3 = $1; + $8 = HEAP32[$3 + 4 >> 2] | 0; + $9 = $0 + 8 | 0; + HEAP32[$9 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$9 + 4 >> 2] = $8; + return; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle10NestedNameEJRPNS2_4NodeES6_EEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 16) | 0; + __ZN12_GLOBAL__N_116itanium_demangle10NestedNameC2EPNS0_4NodeES3_($3, HEAP32[$1 >> 2] | 0, HEAP32[$2 >> 2] | 0); + return $3 | 0; +} + +function __ZN6vision11ScopedTimerC2EPKc($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + __ZN6vision5TimerC2Ev($0); + $2 = $0 + 16 | 0; + HEAP32[$2 >> 2] = 0; + HEAP32[$2 + 4 >> 2] = 0; + HEAP32[$2 + 8 >> 2] = 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm($2, $1, __ZNSt3__211char_traitsIcE6lengthEPKc($1) | 0); + __ZN6vision5Timer5startEv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_19SpecialSubstitutionEJNS0_14SpecialSubKindEEEEPNS0_4NodeEDpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle19SpecialSubstitutionEJNS2_14SpecialSubKindEEEEPT_DpOT0_($0 + 368 | 0, $1) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_18ArraySubscriptExprEJRPNS0_4NodeESA_EEES9_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle18ArraySubscriptExprEJRPNS2_4NodeES6_EEEPT_DpOT0_($0 + 368 | 0, $1, $2) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_12InitListExprEJDnNS0_9NodeArrayEEEEPNS0_4NodeEDpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle12InitListExprEJDnNS2_9NodeArrayEEEEPT_DpOT0_($0 + 368 | 0, $1, $2) | 0; +} + +function __ZNK6vision14VisualDatabaseINS_14FREAKExtractorENS_18BinaryFeatureStoreENS_20BinaryFeatureMatcherILi96EEEE13queryKeyframeEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $6 = 0, $8 = 0; + HEAP32[$0 >> 2] = HEAP32[$1 + 64 >> 2]; + $6 = HEAP32[$1 + 68 >> 2] | 0; + HEAP32[$0 + 4 >> 2] = $6; + if ($6 | 0) { + $8 = $6 + 4 | 0; + HEAP32[$8 >> 2] = (HEAP32[$8 >> 2] | 0) + 1; + } + return; +} + +function __ZN6vision16SequentialVectorIiEEvPT_iS1_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $4 = 0, $5 = 0; + L1 : do if (($1 | 0) >= 1) { + HEAP32[$0 >> 2] = $2; + $$0 = 1; + $5 = $2; + while (1) { + if (($$0 | 0) == ($1 | 0)) break L1; + $4 = $5 + 1 | 0; + HEAP32[$0 + ($$0 << 2) >> 2] = $4; + $$0 = $$0 + 1 | 0; + $5 = $4; + } + } while (0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle8QualTypeC2EPKNS0_4NodeENS0_10QualifiersE($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 3, HEAP8[$1 + 5 >> 0] | 0, HEAP8[$1 + 6 >> 0] | 0, HEAP8[$1 + 7 >> 0] | 0); + HEAP32[$0 >> 2] = 20068; + HEAP32[$0 + 8 >> 2] = $2; + HEAP32[$0 + 12 >> 2] = $1; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8CastExprEJRA17_KcRPNS0_4NodeESD_EEESC_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8CastExprEJRA17_KcRPNS2_4NodeES9_EEEPT_DpOT0_($0 + 368 | 0, 53187, $1, $2) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8CastExprEJRA13_KcRPNS0_4NodeESD_EEESC_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8CastExprEJRA13_KcRPNS2_4NodeES9_EEEPT_DpOT0_($0 + 368 | 0, 54481, $1, $2) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8CastExprEJRA12_KcRPNS0_4NodeESD_EEESC_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8CastExprEJRA12_KcRPNS2_4NodeES9_EEEPT_DpOT0_($0 + 368 | 0, 53128, $1, $2) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8CastExprEJRA11_KcRPNS0_4NodeESD_EEESC_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8CastExprEJRA11_KcRPNS2_4NodeES9_EEEPT_DpOT0_($0 + 368 | 0, 54653, $1, $2) | 0; +} + +function __ZN10emscripten8internal7InvokerIvJifEE6invokeEPFvifEif($fn, $args, $args1) { + $fn = $fn | 0; + $args = $args | 0; + $args1 = +$args1; + var $call = 0, $call3 = 0.0; + $call = __ZN10emscripten8internal11BindingTypeIivE12fromWireTypeEi($args) | 0; + $call3 = +__ZN10emscripten8internal11BindingTypeIfvE12fromWireTypeEf($args1); + FUNCTION_TABLE_vid[$fn & 3]($call, $call3); + return; +} + +function __ZN10emscripten8internal7InvokerIvJidEE6invokeEPFvidEid($fn, $args, $args1) { + $fn = $fn | 0; + $args = $args | 0; + $args1 = +$args1; + var $call = 0, $call3 = 0.0; + $call = __ZN10emscripten8internal11BindingTypeIivE12fromWireTypeEi($args) | 0; + $call3 = +__ZN10emscripten8internal11BindingTypeIdvE12fromWireTypeEd($args1); + FUNCTION_TABLE_vid[$fn & 3]($call, $call3); + return; +} + +function _arUtilRemoveExt($0) { + $0 = $0 | 0; + var $$0 = 0, $$011 = 0, $$1 = 0; + $$0 = -1; + $$011 = 0; + L1 : while (1) { + switch (HEAP8[$0 + $$011 >> 0] | 0) { + case 0: + { + break L1; + break; + } + case 46: + { + $$1 = $$011; + break; + } + default: + $$1 = $$0; + } + $$0 = $$1; + $$011 = $$011 + 1 | 0; + } + if (($$0 | 0) != -1) HEAP8[$0 + $$0 >> 0] = 0; + return 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_20PostfixQualifiedTypeEJRPNS0_4NodeERA11_KcEEES9_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle20PostfixQualifiedTypeEJRPNS2_4NodeERA11_KcEEEPT_DpOT0_($0 + 368 | 0, $1, 51887) | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle9LocalNameEJRPNS2_4NodeES6_EEEPT_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 16) | 0; + __ZN12_GLOBAL__N_116itanium_demangle9LocalNameC2EPNS0_4NodeES3_($3, HEAP32[$1 >> 2] | 0, HEAP32[$2 >> 2] | 0); + return $3 | 0; +} + +function __ZN12_GLOBAL__N_114register_floatIfEEvPKc($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + HEAP32[$1 >> 2] = $0; + $2 = __ZN10emscripten8internal6TypeIDIfvE3getEv() | 0; + __embind_register_float($2 | 0, HEAP32[$1 >> 2] | 0, 4); + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_114register_floatIdEEvPKc($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + HEAP32[$1 >> 2] = $0; + $2 = __ZN10emscripten8internal6TypeIDIdvE3getEv() | 0; + __embind_register_float($2 | 0, HEAP32[$1 >> 2] | 0, 8); + STACKTOP = sp; + return; +} + +function _arUtilGetPixelSize($0) { + $0 = $0 | 0; + var $$0 = 0; + switch ($0 | 0) { + case 1: + case 0: + { + $$0 = 3; + break; + } + case 6: + case 4: + case 3: + case 2: + { + $$0 = 4; + break; + } + case 14: + case 13: + case 12: + case 5: + { + $$0 = 1; + break; + } + case 11: + case 10: + case 9: + case 8: + case 7: + { + $$0 = 2; + break; + } + default: + $$0 = 0; + } + return $$0 | 0; +} + +function __ZNSt3__214__split_bufferIPNS_6locale5facetERNS_15__sso_allocatorIS3_Lm28EEEE18__construct_at_endEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $2 = 0, $3 = 0; + $2 = $0 + 8 | 0; + $$0 = $1; + $3 = HEAP32[$2 >> 2] | 0; + do { + HEAP32[$3 >> 2] = 0; + $3 = (HEAP32[$2 >> 2] | 0) + 4 | 0; + HEAP32[$2 >> 2] = $3; + $$0 = $$0 + -1 | 0; + } while (($$0 | 0) != 0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E9consumeIfEc($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $2 = 0; + $2 = HEAP32[$0 >> 2] | 0; + if (($2 | 0) != (HEAP32[$0 + 4 >> 2] | 0) ? (HEAP8[$2 >> 0] | 0) == $1 << 24 >> 24 : 0) { + HEAP32[$0 >> 2] = $2 + 1; + $$0 = 1; + } else $$0 = 0; + return $$0 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_20PostfixQualifiedTypeEJRPNS0_4NodeERA9_KcEEES9_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle20PostfixQualifiedTypeEJRPNS2_4NodeERA9_KcEEEPT_DpOT0_($0 + 368 | 0, $1, 51955) | 0; +} + +function __ZNSt3__26vectorIN6vision12FeaturePointENS_9allocatorIS2_EEE18__construct_at_endEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $2 = 0, $3 = 0; + $2 = $0 + 4 | 0; + $$0 = $1; + $3 = HEAP32[$2 >> 2] | 0; + do { + __ZN6vision12FeaturePointC2Ev($3); + $3 = (HEAP32[$2 >> 2] | 0) + 20 | 0; + HEAP32[$2 >> 2] = $3; + $$0 = $$0 + -1 | 0; + } while (($$0 | 0) != 0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_11SpecialNameEJRA34_KcRPNS0_4NodeEEEESC_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle11SpecialNameEJRA34_KcRPNS2_4NodeEEEEPT_DpOT0_($0 + 368 | 0, $1, $2) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle13ReferenceTypeC2EPKNS0_4NodeENS0_13ReferenceKindE($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 12, HEAP8[$1 + 5 >> 0] | 0, 1, 1); + HEAP32[$0 >> 2] = 17736; + HEAP32[$0 + 8 >> 2] = $1; + HEAP32[$0 + 12 >> 2] = $2; + HEAP8[$0 + 16 >> 0] = 0; + return; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle19SpecialSubstitutionEJNS2_14SpecialSubKindEEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 12) | 0; + __ZN12_GLOBAL__N_116itanium_demangle19SpecialSubstitutionC2ENS0_14SpecialSubKindE($2, HEAP32[$1 >> 2] | 0); + return $2 | 0; +} + +function _sn_write($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $6 = 0, $7 = 0, $spec$select = 0; + $5 = $0 + 20 | 0; + $6 = HEAP32[$5 >> 2] | 0; + $7 = (HEAP32[$0 + 16 >> 2] | 0) - $6 | 0; + $spec$select = $7 >>> 0 > $2 >>> 0 ? $2 : $7; + _memcpy($6 | 0, $1 | 0, $spec$select | 0) | 0; + HEAP32[$5 >> 2] = (HEAP32[$5 >> 2] | 0) + $spec$select; + return $2 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_21StructuredBindingNameEJNS0_9NodeArrayEEEEPNS0_4NodeEDpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle21StructuredBindingNameEJNS2_9NodeArrayEEEEPT_DpOT0_($0 + 368 | 0, $1) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_20TemplateArgumentPackEJRNS0_9NodeArrayEEEEPNS0_4NodeEDpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle20TemplateArgumentPackEJRNS2_9NodeArrayEEEEPT_DpOT0_($0 + 368 | 0, $1) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_16FloatLiteralImplIfEEJRNS_10StringViewEEEEPNS0_4NodeEDpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle16FloatLiteralImplIfEEJRNS_10StringViewEEEEPT_DpOT0_($0 + 368 | 0, $1) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_16FloatLiteralImplIeEEJRNS_10StringViewEEEEPNS0_4NodeEDpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle16FloatLiteralImplIeEEJRNS_10StringViewEEEEPT_DpOT0_($0 + 368 | 0, $1) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_16FloatLiteralImplIdEEJRNS_10StringViewEEEEPNS0_4NodeEDpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle16FloatLiteralImplIdEEJRNS_10StringViewEEEEPT_DpOT0_($0 + 368 | 0, $1) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_11PostfixExprEJRPNS0_4NodeERA3_KcEEES9_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle11PostfixExprEJRPNS2_4NodeERA3_KcEEEPT_DpOT0_($0 + 368 | 0, $1, $2) | 0; +} + +function ___memrchr($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$in = 0, $4 = 0; + L1 : do if (!$2) $$0 = 0; else { + $4 = $1 & 255; + $$in = $2; + while (1) { + $$in = $$in + -1 | 0; + if ((HEAP8[$0 + $$in >> 0] | 0) == $4 << 24 >> 24) break; + if (!$$in) { + $$0 = 0; + break L1; + } + } + $$0 = $0 + $$in | 0; + } while (0); + return $$0 | 0; +} + +function _reset_input_controller($0) { + $0 = $0 | 0; + var $2 = 0; + $2 = HEAP32[$0 + 460 >> 2] | 0; + HEAP32[$2 >> 2] = 90; + HEAP32[$2 + 16 >> 2] = 0; + HEAP32[$2 + 20 >> 2] = 0; + HEAP32[$2 + 24 >> 2] = 1; + FUNCTION_TABLE_vi[HEAP32[(HEAP32[$0 >> 2] | 0) + 16 >> 2] & 255]($0); + FUNCTION_TABLE_vi[HEAP32[HEAP32[$0 + 464 >> 2] >> 2] & 255]($0); + HEAP32[$0 + 160 >> 2] = 0; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_20DynamicExceptionSpecEJNS0_9NodeArrayEEEEPNS0_4NodeEDpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle20DynamicExceptionSpecEJNS2_9NodeArrayEEEEPT_DpOT0_($0 + 368 | 0, $1) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_13QualifiedNameEJRPNS0_4NodeESA_EEES9_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle13QualifiedNameEJRPNS2_4NodeES6_EEEPT_DpOT0_($0 + 368 | 0, $1, $2) | 0; +} + +function ___getTypeName($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, $7 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp + 4 | 0; + $2 = sp; + HEAP32[$2 >> 2] = $0; + HEAP32[$1 >> 2] = HEAP32[$2 >> 2]; + $7 = ___strdup(HEAP32[(HEAP32[$1 >> 2] | 0) + 4 >> 2] | 0) | 0; + STACKTOP = sp; + return $7 | 0; +} + +function __Znwm($0) { + $0 = $0 | 0; + var $$lcssa = 0, $2 = 0, $4 = 0, $spec$store$select = 0; + $spec$store$select = ($0 | 0) == 0 ? 1 : $0; + while (1) { + $2 = _malloc($spec$store$select) | 0; + if ($2 | 0) { + $$lcssa = $2; + break; + } + $4 = __ZSt15get_new_handlerv() | 0; + if (!$4) { + $$lcssa = 0; + break; + } + FUNCTION_TABLE_v[$4 & 3](); + } + return $$lcssa | 0; +} + +function __ZNSt3__214__split_bufferIN6vision5ImageERNS_9allocatorIS2_EEE18__construct_at_endEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $2 = 0, $3 = 0; + $2 = $0 + 8 | 0; + $$0 = $1; + $3 = HEAP32[$2 >> 2] | 0; + do { + __ZN6vision5ImageC2Ev($3); + $3 = (HEAP32[$2 >> 2] | 0) + 32 | 0; + HEAP32[$2 >> 2] = $3; + $$0 = $$0 + -1 | 0; + } while (($$0 | 0) != 0); + return; +} + +function _jinit_input_controller($0) { + $0 = $0 | 0; + var $4 = 0; + $4 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$0 + 4 >> 2] >> 2] & 63]($0, 0, 28) | 0; + HEAP32[$0 + 460 >> 2] = $4; + HEAP32[$4 >> 2] = 90; + HEAP32[$4 + 4 >> 2] = 206; + HEAP32[$4 + 8 >> 2] = 207; + HEAP32[$4 + 12 >> 2] = 208; + HEAP32[$4 + 16 >> 2] = 0; + HEAP32[$4 + 20 >> 2] = 0; + HEAP32[$4 + 24 >> 2] = 1; + return; +} + +function __ZNSt3__26vectorIN6vision7Point2dIfEENS_9allocatorIS3_EEE18__construct_at_endEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $2 = 0, $3 = 0; + $2 = $0 + 4 | 0; + $$0 = $1; + $3 = HEAP32[$2 >> 2] | 0; + do { + __ZN6vision7Point2dIfEC2Ev($3); + $3 = (HEAP32[$2 >> 2] | 0) + 8 | 0; + HEAP32[$2 >> 2] = $3; + $$0 = $$0 + -1 | 0; + } while (($$0 | 0) != 0); + return; +} + +function __ZN6vision9MaxIndex5IfEEiPKT_($0) { + $0 = $0 | 0; + var $$0 = 0, $$1 = 0, $$2 = 0; + $$0 = +HEAPF32[$0 + 4 >> 2] > +HEAPF32[$0 >> 2] & 1; + $$1 = +HEAPF32[$0 + 8 >> 2] > +HEAPF32[$0 + ($$0 << 2) >> 2] ? 2 : $$0; + $$2 = +HEAPF32[$0 + 12 >> 2] > +HEAPF32[$0 + ($$1 << 2) >> 2] ? 3 : $$1; + return (+HEAPF32[$0 + 16 >> 2] > +HEAPF32[$0 + ($$2 << 2) >> 2] ? 4 : $$2) | 0; +} + +function __ZNSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE18__construct_at_endEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $2 = 0, $3 = 0; + $2 = $0 + 4 | 0; + $$0 = $1; + $3 = HEAP32[$2 >> 2] | 0; + do { + HEAP32[$3 >> 2] = 0; + $3 = (HEAP32[$2 >> 2] | 0) + 4 | 0; + HEAP32[$2 >> 2] = $3; + $$0 = $$0 + -1 | 0; + } while (($$0 | 0) != 0); + return; +} + +function __ZN6vision4NodeILi96EEC2Ei($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0; + HEAP32[$0 >> 2] = $1; + HEAP8[$0 + 100 >> 0] = 1; + $3 = $0 + 104 | 0; + HEAP32[$3 >> 2] = 0; + HEAP32[$3 + 4 >> 2] = 0; + HEAP32[$3 + 8 >> 2] = 0; + HEAP32[$3 + 12 >> 2] = 0; + HEAP32[$3 + 16 >> 2] = 0; + HEAP32[$3 + 20 >> 2] = 0; + __ZN6vision10ZeroVectorIhEEvPT_m($0 + 4 | 0, 96); + return; +} + +function _matrixCopy($src, $dst) { + $src = $src | 0; + $dst = $dst | 0; + var $i$0 = 0, $j$0 = 0; + $i$0 = 0; + while (1) { + if (($i$0 | 0) == 3) break; + $j$0 = 0; + while (1) { + if (($j$0 | 0) == 4) break; + HEAPF64[$dst + ($i$0 << 5) + ($j$0 << 3) >> 3] = +HEAPF64[$src + ($i$0 << 5) + ($j$0 << 3) >> 3]; + $j$0 = $j$0 + 1 | 0; + } + $i$0 = $i$0 + 1 | 0; + } + return; +} + +function __ZNK10__cxxabiv117__class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + if (__ZL8is_equalPKSt9type_infoS1_b($0, HEAP32[$1 + 8 >> 2] | 0, 0) | 0) __ZNK10__cxxabiv117__class_type_info24process_found_base_classEPNS_19__dynamic_cast_infoEPvi(0, $1, $2, $3); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_15UnnamedTypeNameEJRNS_10StringViewEEEEPNS0_4NodeEDpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle15UnnamedTypeNameEJRNS_10StringViewEEEEPT_DpOT0_($0 + 368 | 0, $1) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_15PixelVectorTypeEJRNS_10StringViewEEEEPNS0_4NodeEDpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle15PixelVectorTypeEJRNS_10StringViewEEEEPT_DpOT0_($0 + 368 | 0, $1) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_10VectorTypeEJRPNS0_4NodeESA_EEES9_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle10VectorTypeEJRPNS2_4NodeES6_EEEPT_DpOT0_($0 + 368 | 0, $1, $2) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_10NestedNameEJRPNS0_4NodeESA_EEES9_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle10NestedNameEJRPNS2_4NodeES6_EEEPT_DpOT0_($0 + 368 | 0, $1, $2) | 0; +} + +function ___uflow($0) { + $0 = $0 | 0; + var $$0 = 0, $1 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + if ((___toread($0) | 0) == 0 ? (FUNCTION_TABLE_iiii[HEAP32[$0 + 32 >> 2] & 63]($0, $1, 1) | 0) == 1 : 0) $$0 = HEAPU8[$1 >> 0] | 0; else $$0 = -1; + STACKTOP = sp; + return $$0 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle12NodeOrStringC2ENS_10StringViewE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = 0; + $2 = __ZNK12_GLOBAL__N_110StringView5beginEv($1) | 0; + $3 = __ZNK12_GLOBAL__N_110StringView3endEv($1) | 0; + $4 = ($3 | 0) == 0; + HEAP32[$0 >> 2] = $4 ? $2 + 1 | 0 : $2; + HEAP32[$0 + 4 >> 2] = $4 ? $3 + 1 | 0 : $3; + return; +} + +function __ZNKSt3__27collateIwE7do_hashEPKwS3_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$020 = 0, $6 = 0, $7 = 0; + $$0 = 0; + $$020 = $1; + while (1) { + if (($$020 | 0) == ($2 | 0)) break; + $6 = (HEAP32[$$020 >> 2] | 0) + ($$0 << 4) | 0; + $7 = $6 & -268435456; + $$0 = ($7 >>> 24 | $7) ^ $6; + $$020 = $$020 + 4 | 0; + } + return $$0 | 0; +} + +function __ZNKSt3__27collateIwE12do_transformEPKwS3_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initIPKwEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeESA_SA_($0, $2, $3); + return; +} + +function __ZNKSt3__27collateIcE12do_transformEPKcS3_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initIPKcEENS_9enable_ifIXsr21__is_forward_iteratorIT_EE5valueEvE4typeESA_SA_($0, $2, $3); + return; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle22ParameterPackExpansionEJRPNS2_4NodeEEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 12) | 0; + __ZN12_GLOBAL__N_116itanium_demangle22ParameterPackExpansionC2EPKNS0_4NodeE($2, HEAP32[$1 >> 2] | 0); + return $2 | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle22ConversionOperatorTypeEJRPNS2_4NodeEEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 12) | 0; + __ZN12_GLOBAL__N_116itanium_demangle22ConversionOperatorTypeC2EPKNS0_4NodeE($2, HEAP32[$1 >> 2] | 0); + return $2 | 0; +} + +function __ZNKSt3__27collateIcE7do_hashEPKcS3_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$020 = 0, $7 = 0, $8 = 0; + $$0 = 0; + $$020 = $1; + while (1) { + if (($$020 | 0) == ($2 | 0)) break; + $7 = ($$0 << 4) + (HEAP8[$$020 >> 0] | 0) | 0; + $8 = $7 & -268435456; + $$0 = ($8 >>> 24 | $8) ^ $7; + $$020 = $$020 + 1 | 0; + } + return $$0 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_9LocalNameEJRPNS0_4NodeESA_EEES9_DpOT0_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle9LocalNameEJRPNS2_4NodeES6_EEEPT_DpOT0_($0 + 368 | 0, $1, $2) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_22ParameterPackExpansionEJRPNS0_4NodeEEEES9_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle22ParameterPackExpansionEJRPNS2_4NodeEEEEPT_DpOT0_($0 + 368 | 0, $1) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_22ConversionOperatorTypeEJRPNS0_4NodeEEEES9_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle22ConversionOperatorTypeEJRPNS2_4NodeEEEEPT_DpOT0_($0 + 368 | 0, $1) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_13FunctionParamEJRNS_10StringViewEEEEPNS0_4NodeEDpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle13FunctionParamEJRNS_10StringViewEEEEPT_DpOT0_($0 + 368 | 0, $1) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle15ConditionalExprC2EPKNS0_4NodeES4_S4_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 45, 1, 1, 1); + HEAP32[$0 >> 2] = 18572; + HEAP32[$0 + 8 >> 2] = $1; + HEAP32[$0 + 12 >> 2] = $2; + HEAP32[$0 + 16 >> 2] = $3; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle15BracedRangeExprC2EPKNS0_4NodeES4_S4_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 66, 1, 1, 1); + HEAP32[$0 >> 2] = 18704; + HEAP32[$0 + 8 >> 2] = $1; + HEAP32[$0 + 12 >> 2] = $2; + HEAP32[$0 + 16 >> 2] = $3; + return; +} + +function __ZNSt3__210shared_ptrIhED2Ev($0) { + $0 = $0 | 0; + var $2 = 0, $4 = 0, $5 = 0; + $2 = HEAP32[$0 + 4 >> 2] | 0; + if ($2 | 0 ? ($4 = $2 + 4 | 0, $5 = HEAP32[$4 >> 2] | 0, HEAP32[$4 >> 2] = $5 + -1, ($5 | 0) == 0) : 0) { + FUNCTION_TABLE_vi[HEAP32[(HEAP32[$2 >> 2] | 0) + 8 >> 2] & 255]($2); + __ZNSt3__219__shared_weak_count14__release_weakEv($2); + } + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_11SpecialNameEJRA41_KcRPNS0_4NodeEEEESC_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle11SpecialNameEJRA41_KcRPNS2_4NodeEEEEPT_DpOT0_($0 + 368 | 0, 56858, $1) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_11SpecialNameEJRA27_KcRPNS0_4NodeEEEESC_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle11SpecialNameEJRA27_KcRPNS2_4NodeEEEEPT_DpOT0_($0 + 368 | 0, 56987, $1) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_11SpecialNameEJRA25_KcRPNS0_4NodeEEEESC_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle11SpecialNameEJRA25_KcRPNS2_4NodeEEEEPT_DpOT0_($0 + 368 | 0, 56773, $1) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_11SpecialNameEJRA22_KcRPNS0_4NodeEEEESC_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle11SpecialNameEJRA22_KcRPNS2_4NodeEEEEPT_DpOT0_($0 + 368 | 0, 56818, $1) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_11SpecialNameEJRA20_KcRPNS0_4NodeEEEESC_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle11SpecialNameEJRA20_KcRPNS2_4NodeEEEEPT_DpOT0_($0 + 368 | 0, 56798, $1) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_11SpecialNameEJRA19_KcRPNS0_4NodeEEEESC_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle11SpecialNameEJRA19_KcRPNS2_4NodeEEEEPT_DpOT0_($0 + 368 | 0, 57014, $1) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_11SpecialNameEJRA18_KcRPNS0_4NodeEEEESC_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle11SpecialNameEJRA18_KcRPNS2_4NodeEEEEPT_DpOT0_($0 + 368 | 0, 56840, $1) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_11SpecialNameEJRA14_KcRPNS0_4NodeEEEESC_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle11SpecialNameEJRA14_KcRPNS2_4NodeEEEEPT_DpOT0_($0 + 368 | 0, 57033, $1) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_11SpecialNameEJRA12_KcRPNS0_4NodeEEEESC_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle11SpecialNameEJRA12_KcRPNS2_4NodeEEEEPT_DpOT0_($0 + 368 | 0, 57056, $1) | 0; +} + +function __ZNSt3__26vectorIN6vision5ImageENS_9allocatorIS2_EEE18__construct_at_endEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $2 = 0, $3 = 0; + $2 = $0 + 4 | 0; + $$0 = $1; + $3 = HEAP32[$2 >> 2] | 0; + do { + __ZN6vision5ImageC2Ev($3); + $3 = (HEAP32[$2 >> 2] | 0) + 32 | 0; + HEAP32[$2 >> 2] = $3; + $$0 = $$0 + -1 | 0; + } while (($$0 | 0) != 0); + return; +} + +function __ZN6vision40Homography3PointsGeometricallyConsistentIfEEbPKT_S3_S3_S3_S3_S3_($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 $7 = 0; + $7 = +__ZN6vision13LinePointSideIfEET_PKS1_S3_S3_($0, $1, $2) > 0.0; + return $7 ^ +__ZN6vision13LinePointSideIfEET_PKS1_S3_S3_($3, $4, $5) > 0.0 ^ 1 | 0; +} + +function __ZNSt3__25ctypeIcEC2EPKtbm($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $10 = 0, $7 = 0; + HEAP32[$0 + 4 >> 2] = $3 + -1; + HEAP32[$0 >> 2] = 23308; + $7 = $0 + 8 | 0; + HEAP32[$7 >> 2] = $1; + HEAP8[$0 + 12 >> 0] = $2 & 1; + if (!$1) { + $10 = __ZNSt3__25ctypeIcE13classic_tableEv() | 0; + HEAP32[$7 >> 2] = $10; + } + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle13ParameterPack23initializePackExpansionERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $6 = 0; + $2 = $1 + 16 | 0; + if ((HEAP32[$2 >> 2] | 0) == -1) { + $6 = __ZNK12_GLOBAL__N_116itanium_demangle9NodeArray4sizeEv($0 + 8 | 0) | 0; + HEAP32[$2 >> 2] = $6; + HEAP32[$1 + 12 >> 2] = 0; + } + return; +} + +function __ZN6vision25bilinear_downsample_pointERfS0_S0_fffi($0, $1, $2, $3, $4, $5, $6) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = +$3; + $4 = +$4; + $5 = +$5; + $6 = $6 | 0; + var $11 = 0.0, $9 = 0.0; + $9 = 1.0 / +(1 << $6 | 0); + $11 = $9 * .5 + -.5; + HEAPF32[$0 >> 2] = $9 * $3 + $11; + HEAPF32[$1 >> 2] = $9 * $4 + $11; + HEAPF32[$2 >> 2] = $9 * $5; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_11SpecialNameEJRA9_KcRPNS0_4NodeEEEESC_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle11SpecialNameEJRA9_KcRPNS2_4NodeEEEEPT_DpOT0_($0 + 368 | 0, 57047, $1) | 0; +} + +function __ZNSt3__218__libcpp_refstringD2Ev($0) { + $0 = $0 | 0; + var $3 = 0, $4 = 0, $5 = 0; + if (__ZNKSt3__218__libcpp_refstring15__uses_refcountEv($0) | 0 ? ($3 = __ZNSt3__215__refstring_imp12_GLOBAL__N_113rep_from_dataEPKc(HEAP32[$0 >> 2] | 0) | 0, $4 = $3 + 8 | 0, $5 = HEAP32[$4 >> 2] | 0, HEAP32[$4 >> 2] = $5 + -1, ($5 | 0) < 1) : 0) __ZdlPv($3); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_13ParameterPackEJNS0_9NodeArrayEEEEPNS0_4NodeEDpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle13ParameterPackEJNS2_9NodeArrayEEEEPT_DpOT0_($0 + 368 | 0, $1) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_13NodeArrayNodeEJNS0_9NodeArrayEEEEPNS0_4NodeEDpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle13NodeArrayNodeEJNS2_9NodeArrayEEEEPT_DpOT0_($0 + 368 | 0, $1) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle12CtorDtorNameC2EPKNS0_4NodeEbi($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 37, 1, 1, 1); + HEAP32[$0 >> 2] = 19760; + HEAP32[$0 + 8 >> 2] = $1; + HEAP8[$0 + 12 >> 0] = $2 & 1; + HEAP32[$0 + 16 >> 2] = $3; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle10DeleteExprC2EPNS0_4NodeEbb($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 52, 1, 1, 1); + HEAP32[$0 >> 2] = 19144; + HEAP32[$0 + 8 >> 2] = $1; + HEAP8[$0 + 12 >> 0] = $2 & 1; + HEAP8[$0 + 13 >> 0] = $3 & 1; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle10BracedExprC2EPKNS0_4NodeES4_b($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 65, 1, 1, 1); + HEAP32[$0 >> 2] = 18748; + HEAP32[$0 + 8 >> 2] = $1; + HEAP32[$0 + 12 >> 2] = $2; + HEAP8[$0 + 16 >> 0] = $3 & 1; + return; +} + +function __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE7seekoffExNS_8ios_base7seekdirEj($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 $11 = 0, $6 = 0; + $6 = $0; + HEAP32[$6 >> 2] = 0; + HEAP32[$6 + 4 >> 2] = 0; + $11 = $0 + 8 | 0; + HEAP32[$11 >> 2] = -1; + HEAP32[$11 + 4 >> 2] = -1; + return; +} + +function __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE7seekoffExNS_8ios_base7seekdirEj($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 $11 = 0, $6 = 0; + $6 = $0; + HEAP32[$6 >> 2] = 0; + HEAP32[$6 + 4 >> 2] = 0; + $11 = $0 + 8 | 0; + HEAP32[$11 >> 2] = -1; + HEAP32[$11 + 4 >> 2] = -1; + return; +} + +function __ZNSt3__213unordered_mapIiP14AR2SurfaceSetTNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS2_EEEEED2Ev($this) { + $this = $this | 0; + __ZNSt3__212__hash_tableINS_17__hash_value_typeIiP14AR2SurfaceSetTEENS_22__unordered_map_hasherIiS4_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS4_NS_8equal_toIiEELb1EEENS_9allocatorIS4_EEED2Ev($this); + return; +} + +function __ZN6vision16RobustHomographyIfEC2Efiii($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = +$1; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var dest = 0, stop = 0; + dest = $0; + stop = dest + 36 | 0; + do { + HEAP32[dest >> 2] = 0; + dest = dest + 4 | 0; + } while ((dest | 0) < (stop | 0)); + __ZN6vision16RobustHomographyIfE4initEfiii($0, $1, $2, $3, $4); + return; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle19SizeofParamPackExprEJRPNS2_4NodeEEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 12) | 0; + __ZN12_GLOBAL__N_116itanium_demangle19SizeofParamPackExprC2EPKNS0_4NodeE($2, HEAP32[$1 >> 2] | 0); + return $2 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_19SizeofParamPackExprEJRPNS0_4NodeEEEES9_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle19SizeofParamPackExprEJRPNS2_4NodeEEEEPT_DpOT0_($0 + 368 | 0, $1) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_19GlobalQualifiedNameEJRPNS0_4NodeEEEES9_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle19GlobalQualifiedNameEJRPNS2_4NodeEEEEPT_DpOT0_($0 + 368 | 0, $1) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_12TemplateArgsEJNS0_9NodeArrayEEEEPNS0_4NodeEDpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle12TemplateArgsEJNS2_9NodeArrayEEEEPT_DpOT0_($0 + 368 | 0, $1) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_12EnableIfAttrEJNS0_9NodeArrayEEEEPNS0_4NodeEDpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle12EnableIfAttrEJNS2_9NodeArrayEEEEPT_DpOT0_($0 + 368 | 0, $1) | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle19GlobalQualifiedNameEJRPNS2_4NodeEEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 12) | 0; + __ZN12_GLOBAL__N_116itanium_demangle19GlobalQualifiedNameC2EPNS0_4NodeE($2, HEAP32[$1 >> 2] | 0); + return $2 | 0; +} + +function _wmemcpy($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$058 = 0, $$067 = 0, $$09 = 0; + if ($2 | 0) { + $$058 = $2; + $$067 = $1; + $$09 = $0; + while (1) { + $$058 = $$058 + -1 | 0; + HEAP32[$$09 >> 2] = HEAP32[$$067 >> 2]; + if (!$$058) break; else { + $$067 = $$067 + 4 | 0; + $$09 = $$09 + 4 | 0; + } + } + } + return $0 | 0; +} + +function _snprintf($0, $1, $2, $varargs) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $varargs = $varargs | 0; + var $3 = 0, $4 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $3 = sp; + HEAP32[$3 >> 2] = $varargs; + $4 = _vsnprintf($0, $1, $2, $3) | 0; + STACKTOP = sp; + return $4 | 0; +} + +function __ZNSt3__213unordered_mapIiNS_6vectorIiNS_9allocatorIiEEEENS_4hashIiEENS_8equal_toIiEENS2_INS_4pairIKiS4_EEEEED2Ev($0) { + $0 = $0 | 0; + __ZNSt3__212__hash_tableINS_17__hash_value_typeIiNS_6vectorIiNS_9allocatorIiEEEEEENS_22__unordered_map_hasherIiS6_NS_4hashIiEELb1EEENS_21__unordered_map_equalIiS6_NS_8equal_toIiEELb1EEENS3_IS6_EEED2Ev($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_24ForwardTemplateReferenceEJRmEEEPNS0_4NodeEDpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle24ForwardTemplateReferenceEJRmEEEPT_DpOT0_($0 + 368 | 0, $1) | 0; +} + +function _rewind($0) { + $0 = $0 | 0; + var $phitmp = 0; + if ((HEAP32[$0 + 76 >> 2] | 0) > -1) { + $phitmp = (___lockfile($0) | 0) == 0; + ___fseeko_unlocked($0, 0, 0, 0) | 0; + HEAP32[$0 >> 2] = HEAP32[$0 >> 2] & -33; + if (!$phitmp) ___unlockfile($0); + } else { + ___fseeko_unlocked($0, 0, 0, 0) | 0; + HEAP32[$0 >> 2] = HEAP32[$0 >> 2] & -33; + } + return; +} + +function __ZN6vision25GaussianScaleSpacePyramid9configureEii($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $10 = 0.0, $exp2 = 0.0; + HEAP32[$0 + 16 >> 2] = $1; + HEAP32[$0 + 20 >> 2] = $2; + $exp2 = +_llvm_exp2_f32(+(1.0 / +($2 + -1 | 0))); + HEAPF32[$0 + 24 >> 2] = $exp2; + $10 = 1.0 / +Math_log(+$exp2); + HEAPF32[$0 + 28 >> 2] = $10; + return; +} + +function _jpeg_idct_1x1($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $17 = 0; + $17 = (HEAP32[$0 + 336 >> 2] | 0) + -384 + (((Math_imul(HEAP32[HEAP32[$1 + 84 >> 2] >> 2] | 0, HEAP16[$2 >> 1] | 0) | 0) + 4100 | 0) >>> 3 & 1023) | 0; + HEAP8[(HEAP32[$3 >> 2] | 0) + $4 >> 0] = HEAP8[$17 >> 0] | 0; + return; +} + +function __ZNSt3__214__split_bufferINS_6vectorINS1_INS_4pairIfmEENS_9allocatorIS3_EEEENS4_IS6_EEEERNS4_IS8_EEE18__construct_at_endEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$promoted = 0, $2 = 0; + $2 = $0 + 8 | 0; + $$promoted = HEAP32[$2 >> 2] | 0; + _memset($$promoted | 0, 0, $1 * 12 | 0) | 0; + HEAP32[$2 >> 2] = $$promoted + ($1 * 12 | 0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRNS_10StringViewEEEEPNS0_4NodeEDpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8NameTypeEJRNS_10StringViewEEEEPT_DpOT0_($0 + 368 | 0, $1) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_16StdQualifiedNameEJRPNS0_4NodeEEEES9_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle16StdQualifiedNameEJRPNS2_4NodeEEEEPT_DpOT0_($0 + 368 | 0, $1) | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle16StdQualifiedNameEJRPNS2_4NodeEEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 12) | 0; + __ZN12_GLOBAL__N_116itanium_demangle16StdQualifiedNameC2EPNS0_4NodeE($2, HEAP32[$1 >> 2] | 0); + return $2 | 0; +} + +function __ZN12_GLOBAL__N_120BumpPointerAllocator15allocateMassiveEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0, $6 = 0; + $3 = _malloc($1 + 8 | 0) | 0; + if (!$3) __ZSt9terminatev(); else { + $6 = HEAP32[$0 + 4096 >> 2] | 0; + HEAP32[$3 >> 2] = HEAP32[$6 >> 2]; + HEAP32[$3 + 4 >> 2] = 0; + HEAP32[$6 >> 2] = $3; + return $3 + 8 | 0; + } + return 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle15LiteralOperatorEJRPNS2_4NodeEEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 12) | 0; + __ZN12_GLOBAL__N_116itanium_demangle15LiteralOperatorC2EPKNS0_4NodeE($2, HEAP32[$1 >> 2] | 0); + return $2 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_15LiteralOperatorEJRPNS0_4NodeEEEES9_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle15LiteralOperatorEJRPNS2_4NodeEEEEPT_DpOT0_($0 + 368 | 0, $1) | 0; +} + +function __ZN10emscripten8constantIiEEvPKcRKT_($name, $v) { + $name = $name | 0; + $v = $v | 0; + var $call = 0; + $call = __ZN10emscripten8internal6TypeIDIRKivE3getEv() | 0; + __embind_register_constant($name | 0, $call | 0, +(+__ZN10emscripten8internal14asGenericValueIiEEdT_(__ZN10emscripten8internal11BindingTypeIivE10toWireTypeERKi($v) | 0))); + return; +} + +function __ZNSt3__214__split_bufferIhRNS_9allocatorIhEEE18__construct_at_endEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $2 = 0, $3 = 0; + $2 = $0 + 8 | 0; + $$0 = $1; + $3 = HEAP32[$2 >> 2] | 0; + do { + HEAP8[$3 >> 0] = 0; + $3 = (HEAP32[$2 >> 2] | 0) + 1 | 0; + HEAP32[$2 >> 2] = $3; + $$0 = $$0 + -1 | 0; + } while (($$0 | 0) != 0); + return; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle24ForwardTemplateReferenceEJRmEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 20) | 0; + __ZN12_GLOBAL__N_116itanium_demangle24ForwardTemplateReferenceC2Em($2, HEAP32[$1 >> 2] | 0); + return $2 | 0; +} + +function __ZN10emscripten8constantIdEEvPKcRKT_($name, $v) { + $name = $name | 0; + $v = $v | 0; + var $call = 0; + $call = __ZN10emscripten8internal6TypeIDIRKdvE3getEv() | 0; + __embind_register_constant($name | 0, $call | 0, +(+__ZN10emscripten8internal14asGenericValueIdEEdT_(+__ZN10emscripten8internal11BindingTypeIdvE10toWireTypeERKd($v)))); + return; +} + +function _arDeleteHandle($0) { + $0 = $0 | 0; + var $$0 = 0, $2 = 0, $3 = 0; + if (!$0) $$0 = -1; else { + $2 = $0 + 7062408 | 0; + $3 = HEAP32[$2 >> 2] | 0; + if ($3 | 0) { + _arImageProcFinal($3); + HEAP32[$2 >> 2] = 0; + } + _free(HEAP32[$0 + 4834144 >> 2] | 0); + _free(HEAP32[$0 + 4834148 >> 2] | 0); + _free($0); + $$0 = 0; + } + return $$0 | 0; +} + +function __ZNSt3__213__vector_baseIN6vision25DoGScaleInvariantDetector12FeaturePointENS_9allocatorIS3_EEED2Ev($0) { + $0 = $0 | 0; + var $1 = 0, $3 = 0; + $1 = HEAP32[$0 >> 2] | 0; + $3 = $1; + if ($1 | 0) { + HEAP32[$0 + 4 >> 2] = $3; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($1, (HEAP32[$0 + 8 >> 2] | 0) - $3 | 0); + } + return; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle12NoexceptSpecEJRPNS2_4NodeEEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 12) | 0; + __ZN12_GLOBAL__N_116itanium_demangle12NoexceptSpecC2EPKNS0_4NodeE($2, HEAP32[$1 >> 2] | 0); + return $2 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle20NameWithTemplateArgs9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 8 >> 2] | 0, $1); + __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE(HEAP32[$0 + 12 >> 2] | 0, $1); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_12NoexceptSpecEJRPNS0_4NodeEEEES9_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle12NoexceptSpecEJRPNS2_4NodeEEEEPT_DpOT0_($0 + 368 | 0, $1) | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle11PointerTypeEJRPNS2_4NodeEEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 12) | 0; + __ZN12_GLOBAL__N_116itanium_demangle11PointerTypeC2EPKNS0_4NodeE($2, HEAP32[$1 >> 2] | 0); + return $2 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_11PointerTypeEJRPNS0_4NodeEEEES9_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle11PointerTypeEJRPNS2_4NodeEEEEPT_DpOT0_($0 + 368 | 0, $1) | 0; +} + +function __ZN6vision18BinomialPyramid32fD2Ev($0) { + $0 = $0 | 0; + HEAP32[$0 >> 2] = 16756; + __ZNSt3__213__vector_baseIfNS_9allocatorIfEEED2Ev($0 + 56 | 0); + __ZNSt3__213__vector_baseIfNS_9allocatorIfEEED2Ev($0 + 44 | 0); + __ZNSt3__213__vector_baseItNS_9allocatorItEEED2Ev($0 + 32 | 0); + __ZN6vision25GaussianScaleSpacePyramidD2Ev($0); + return; +} + +function _abort_message($0, $varargs) { + $0 = $0 | 0; + $varargs = $varargs | 0; + var $1 = 0, $2 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + HEAP32[$1 >> 2] = $varargs; + $2 = HEAP32[4271] | 0; + _vfprintf($2, $0, $1) | 0; + _fputc(10, $2) | 0; + _abort(); +} + +function __ZNK12_GLOBAL__N_116itanium_demangle8QualType9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0; + $3 = HEAP32[$0 + 12 >> 2] | 0; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$3 >> 2] | 0) + 16 >> 2] & 255]($3, $1); + __ZNK12_GLOBAL__N_116itanium_demangle8QualType10printQualsERNS_12OutputStreamE($0, $1); + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle21StructuredBindingName9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZN12_GLOBAL__N_112OutputStreampLEc($1, 91); + __ZNK12_GLOBAL__N_116itanium_demangle9NodeArray14printWithCommaERNS_12OutputStreamE($0 + 8 | 0, $1); + __ZN12_GLOBAL__N_112OutputStreampLEc($1, 93); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle19PointerToMemberTypeC2EPKNS0_4NodeES4_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 13, HEAP8[$2 + 5 >> 0] | 0, 1, 1); + HEAP32[$0 >> 2] = 19892; + HEAP32[$0 + 8 >> 2] = $1; + HEAP32[$0 + 12 >> 2] = $2; + return; +} + +function _ferror($0) { + $0 = $0 | 0; + var $$lobit = 0, $$lobit9 = 0, $phitmp = 0; + if ((HEAP32[$0 + 76 >> 2] | 0) > -1) { + $phitmp = (___lockfile($0) | 0) == 0; + $$lobit = (HEAP32[$0 >> 2] | 0) >>> 5 & 1; + if ($phitmp) $$lobit9 = $$lobit; else $$lobit9 = $$lobit; + } else $$lobit9 = (HEAP32[$0 >> 2] | 0) >>> 5 & 1; + return $$lobit9 | 0; +} + +function __ZNSt3__26vectorIhNS_9allocatorIhEEE18__construct_at_endEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $2 = 0, $3 = 0; + $2 = $0 + 4 | 0; + $$0 = $1; + $3 = HEAP32[$2 >> 2] | 0; + do { + HEAP8[$3 >> 0] = 0; + $3 = (HEAP32[$2 >> 2] | 0) + 1 | 0; + HEAP32[$2 >> 2] = $3; + $$0 = $$0 + -1 | 0; + } while (($$0 | 0) != 0); + return; +} + +function __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEEC2Ev($0) { + $0 = $0 | 0; + var $2 = 0; + HEAP32[$0 >> 2] = 20632; + __ZNSt3__26localeC2Ev($0 + 4 | 0); + $2 = $0 + 8 | 0; + HEAP32[$2 >> 2] = 0; + HEAP32[$2 + 4 >> 2] = 0; + HEAP32[$2 + 8 >> 2] = 0; + HEAP32[$2 + 12 >> 2] = 0; + HEAP32[$2 + 16 >> 2] = 0; + HEAP32[$2 + 20 >> 2] = 0; + return; +} + +function __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEEC2Ev($0) { + $0 = $0 | 0; + var $2 = 0; + HEAP32[$0 >> 2] = 20568; + __ZNSt3__26localeC2Ev($0 + 4 | 0); + $2 = $0 + 8 | 0; + HEAP32[$2 >> 2] = 0; + HEAP32[$2 + 4 >> 2] = 0; + HEAP32[$2 + 8 >> 2] = 0; + HEAP32[$2 + 12 >> 2] = 0; + HEAP32[$2 + 16 >> 2] = 0; + HEAP32[$2 + 20 >> 2] = 0; + return; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle9ThrowExprEJRPNS2_4NodeEEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 12) | 0; + __ZN12_GLOBAL__N_116itanium_demangle9ThrowExprC2EPKNS0_4NodeE($2, HEAP32[$1 >> 2] | 0); + return $2 | 0; +} + +function _ar2GetTriangleArea($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $19 = 0.0, $4 = 0.0, $9 = 0.0; + $4 = +HEAPF32[$0 >> 2]; + $9 = +HEAPF32[$0 + 4 >> 2]; + $19 = ((+HEAPF32[$1 >> 2] - $4) * (+HEAPF32[$2 + 4 >> 2] - $9) - (+HEAPF32[$1 + 4 >> 2] - $9) * (+HEAPF32[$2 >> 2] - $4)) * .5; + return +($19 < 0.0 ? -$19 : $19); +} + +function __ZNSt3__26vectorINS0_INS0_INS_4pairIfmEENS_9allocatorIS2_EEEENS3_IS5_EEEENS3_IS7_EEE18__construct_at_endEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$promoted = 0, $2 = 0; + $2 = $0 + 4 | 0; + $$promoted = HEAP32[$2 >> 2] | 0; + _memset($$promoted | 0, 0, $1 * 12 | 0) | 0; + HEAP32[$2 >> 2] = $$promoted + ($1 * 12 | 0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_9ThrowExprEJRPNS0_4NodeEEEES9_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle9ThrowExprEJRPNS2_4NodeEEEEPT_DpOT0_($0 + 368 | 0, $1) | 0; +} + +function __ZNSt3__214__split_bufferINS_6vectorINS_4pairIfmEENS_9allocatorIS3_EEEERNS4_IS6_EEE18__construct_at_endEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$promoted = 0, $2 = 0; + $2 = $0 + 8 | 0; + $$promoted = HEAP32[$2 >> 2] | 0; + _memset($$promoted | 0, 0, $1 * 12 | 0) | 0; + HEAP32[$2 >> 2] = $$promoted + ($1 * 12 | 0); + return; +} + +function __ZN6vision5ImageC2ERKS0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + HEAP32[$0 + 12 >> 2] = 0; + HEAP32[$0 + 16 >> 2] = 0; + HEAP32[$0 + 20 >> 2] = 0; + HEAP32[$0 + 24 >> 2] = 0; + HEAP32[$0 + 28 >> 2] = 0; + __ZN6vision5Image11shallowCopyERKS0_($0, $1); + return; +} + +function __ZN12_GLOBAL__N_120BumpPointerAllocator5resetEv($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0; + $1 = $0 + 4096 | 0; + while (1) { + $2 = HEAP32[$1 >> 2] | 0; + if (!$2) break; + HEAP32[$1 >> 2] = HEAP32[$2 >> 2]; + if (($0 | 0) != ($2 | 0)) _free($2); + } + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$1 >> 2] = $0; + return; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8DtorNameEJRPNS2_4NodeEEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 12) | 0; + __ZN12_GLOBAL__N_116itanium_demangle8DtorNameC2EPKNS0_4NodeE($2, HEAP32[$1 >> 2] | 0); + return $2 | 0; +} + +function __ZN6vision14BinarykMedoidsILi96EED2Ev($0) { + $0 = $0 | 0; + __ZNSt3__213__vector_baseIiNS_9allocatorIiEEED2Ev($0 + 48 | 0); + __ZNSt3__213__vector_baseIiNS_9allocatorIiEEED2Ev($0 + 36 | 0); + __ZNSt3__213__vector_baseIiNS_9allocatorIiEEED2Ev($0 + 24 | 0); + __ZNSt3__213__vector_baseIiNS_9allocatorIiEEED2Ev($0 + 12 | 0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8DtorNameEJRPNS0_4NodeEEEES9_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8DtorNameEJRPNS2_4NodeEEEEPT_DpOT0_($0 + 368 | 0, $1) | 0; +} + +function _sprintf($0, $1, $varargs) { + $0 = $0 | 0; + $1 = $1 | 0; + $varargs = $varargs | 0; + var $2 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $2 = sp; + HEAP32[$2 >> 2] = $varargs; + $3 = _vsprintf($0, $1, $2) | 0; + STACKTOP = sp; + return $3 | 0; +} + +function _fprintf($0, $1, $varargs) { + $0 = $0 | 0; + $1 = $1 | 0; + $varargs = $varargs | 0; + var $2 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $2 = sp; + HEAP32[$2 >> 2] = $varargs; + $3 = _vfprintf($0, $1, $2) | 0; + STACKTOP = sp; + return $3 | 0; +} + +function _a_ctz_l_730($0) { + $0 = $0 | 0; + var $$068 = 0, $$07 = 0, $$09 = 0, $4 = 0; + if ($0) if (!($0 & 1)) { + $$068 = $0; + $$09 = 0; + while (1) { + $4 = $$09 + 1 | 0; + if (!($$068 & 2)) { + $$068 = $$068 >>> 1; + $$09 = $4; + } else { + $$07 = $4; + break; + } + } + } else $$07 = 0; else $$07 = 32; + return $$07 | 0; +} + +function __ZN6vision5Timer5startEv($0) { + $0 = $0 | 0; + var $1 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $1 = sp; + _gettimeofday($1 | 0, 0) | 0; + HEAPF64[$0 >> 3] = +(HEAP32[$1 + 4 >> 2] | 0) * 1.0e-06 + +(HEAP32[$1 >> 2] | 0); + STACKTOP = sp; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4lookEj($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $4 = 0; + $4 = HEAP32[$0 >> 2] | 0; + if (((HEAP32[$0 + 4 >> 2] | 0) - $4 | 0) >>> 0 > $1 >>> 0) $$0 = HEAP8[$4 + $1 >> 0] | 0; else $$0 = 0; + return $$0 | 0; +} + +function __ZSt9terminatev() { + var $0 = 0, $2 = 0; + $0 = ___cxa_get_globals_fast() | 0; + if (($0 | 0 ? ($2 = HEAP32[$0 >> 2] | 0, $2 | 0) : 0) ? __ZN10__cxxabiv121__isOurExceptionClassEPK17_Unwind_Exception($2 + 48 | 0) | 0 : 0) __ZSt11__terminatePFvvE(HEAP32[$2 + 12 >> 2] | 0); + __ZSt11__terminatePFvvE(__ZSt13get_terminatev() | 0); +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA18_KcEEEPNS0_4NodeEDpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8NameTypeEJRA18_KcEEEPT_DpOT0_($0 + 368 | 0, $1) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA15_KcEEEPNS0_4NodeEDpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8NameTypeEJRA15_KcEEEPT_DpOT0_($0 + 368 | 0, $1) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA14_KcEEEPNS0_4NodeEDpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8NameTypeEJRA14_KcEEEPT_DpOT0_($0 + 368 | 0, $1) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA13_KcEEEPNS0_4NodeEDpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8NameTypeEJRA13_KcEEEPT_DpOT0_($0 + 368 | 0, $1) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA12_KcEEEPNS0_4NodeEDpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8NameTypeEJRA12_KcEEEPT_DpOT0_($0 + 368 | 0, $1) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA11_KcEEEPNS0_4NodeEDpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8NameTypeEJRA11_KcEEEPT_DpOT0_($0 + 368 | 0, $1) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA10_KcEEEPNS0_4NodeEDpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8NameTypeEJRA10_KcEEEPT_DpOT0_($0 + 368 | 0, $1) | 0; +} + +function _sscanf($0, $1, $varargs) { + $0 = $0 | 0; + $1 = $1 | 0; + $varargs = $varargs | 0; + var $2 = 0, $3 = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + $2 = sp; + HEAP32[$2 >> 2] = $varargs; + $3 = _vsscanf($0, $1, $2) | 0; + STACKTOP = sp; + return $3 | 0; +} + +function _jpeg_abort($0) { + $0 = $0 | 0; + var $2 = 0, $9 = 0; + $2 = HEAP32[$0 + 4 >> 2] | 0; + if (!$2) return; + FUNCTION_TABLE_vii[HEAP32[$2 + 36 >> 2] & 255]($0, 1); + $9 = $0 + 20 | 0; + if (!(HEAP32[$0 + 16 >> 2] | 0)) { + HEAP32[$9 >> 2] = 100; + return; + } else { + HEAP32[$9 >> 2] = 200; + HEAP32[$0 + 312 >> 2] = 0; + return; + } +} + +function __ZNK12_GLOBAL__N_116itanium_demangle4Node11hasFunctionERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $3 = 0; + $3 = HEAP8[$0 + 7 >> 0] | 0; + if ($3 << 24 >> 24 == 2) $$0 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$0 >> 2] | 0) + 8 >> 2] & 127]($0, $1) | 0; else $$0 = $3 << 24 >> 24 == 0; + return $$0 | 0; +} + +function __ZNSt3__212_GLOBAL__N_111__fake_bindC2EMNS_6locale2idEFvvEPS3_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$unpack = 0, $$unpack5 = 0; + $$unpack = HEAP32[$1 >> 2] | 0; + $$unpack5 = HEAP32[$1 + 4 >> 2] | 0; + HEAP32[$0 >> 2] = $2; + HEAP32[$0 + 4 >> 2] = $$unpack; + HEAP32[$0 + 8 >> 2] = $$unpack5; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA9_KcEEEPNS0_4NodeEDpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8NameTypeEJRA9_KcEEEPT_DpOT0_($0 + 368 | 0, $1) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA6_KcEEEPNS0_4NodeEDpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8NameTypeEJRA6_KcEEEPT_DpOT0_($0 + 368 | 0, $1) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA5_KcEEEPNS0_4NodeEDpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8NameTypeEJRA5_KcEEEPT_DpOT0_($0 + 368 | 0, $1) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA4_KcEEEPNS0_4NodeEDpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8NameTypeEJRA4_KcEEEPT_DpOT0_($0 + 368 | 0, $1) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle14ManglingParserINS_16DefaultAllocatorEECI2NS0_22AbstractManglingParserIS3_S2_EEEPKcS6_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_EC2EPKcS7_($0, $1, $2); + return; +} + +function __ZNSt3__213__vector_baseI12multi_markerNS_9allocatorIS1_EEED2Ev($this) { + $this = $this | 0; + var $0 = 0, $1 = 0; + $0 = HEAP32[$this >> 2] | 0; + $1 = $0; + if ($0 | 0) { + HEAP32[$this + 4 >> 2] = $1; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($0, (HEAP32[$this + 8 >> 2] | 0) - $1 | 0); + } + return; +} + +function __ZNKSt3__210moneypunctIwLb1EE16do_positive_signEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0$i$i = 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$0 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + return; +} + +function __ZNKSt3__210moneypunctIwLb0EE16do_positive_signEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0$i$i = 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$0 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + return; +} + +function __ZNKSt3__210moneypunctIcLb1EE16do_positive_signEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0$i$i = 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$0 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + return; +} + +function __ZNKSt3__210moneypunctIcLb0EE16do_positive_signEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0$i$i = 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$0 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E7consumeEv($0) { + $0 = $0 | 0; + var $1 = 0, $7 = 0; + $1 = HEAP32[$0 >> 2] | 0; + if (($1 | 0) == (HEAP32[$0 + 4 >> 2] | 0)) $7 = 0; else { + HEAP32[$0 >> 2] = $1 + 1; + $7 = HEAP8[$1 >> 0] | 0; + } + return $7 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle4Node8hasArrayERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $3 = 0; + $3 = HEAP8[$0 + 6 >> 0] | 0; + if ($3 << 24 >> 24 == 2) $$0 = FUNCTION_TABLE_iii[HEAP32[(HEAP32[$0 >> 2] | 0) + 4 >> 2] & 127]($0, $1) | 0; else $$0 = $3 << 24 >> 24 == 0; + return $$0 | 0; +} + +function __ZNKSt3__27codecvtIwc11__mbstate_tE13do_max_lengthEv($0) { + $0 = $0 | 0; + var $2 = 0, $4 = 0, $5 = 0, $7 = 0; + $2 = HEAP32[$0 + 8 >> 2] | 0; + if ($2) { + $4 = ___uselocale($2) | 0; + $5 = ___ctype_get_mb_cur_max() | 0; + if (!$4) $7 = $5; else { + ___uselocale($4) | 0; + $7 = $5; + } + } else $7 = 1; + return $7 | 0; +} + +function __ZNKSt3__210moneypunctIwLb1EE14do_curr_symbolEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0$i$i = 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$0 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + return; +} + +function __ZNKSt3__210moneypunctIwLb0EE14do_curr_symbolEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0$i$i = 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$0 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + return; +} + +function __ZNKSt3__210moneypunctIcLb1EE14do_curr_symbolEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0$i$i = 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$0 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + return; +} + +function __ZNKSt3__210moneypunctIcLb0EE14do_curr_symbolEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0$i$i = 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$0 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle4Node15hasRHSComponentERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $3 = 0; + $3 = HEAP8[$0 + 5 >> 0] | 0; + if ($3 << 24 >> 24 == 2) $$0 = FUNCTION_TABLE_iii[HEAP32[HEAP32[$0 >> 2] >> 2] & 127]($0, $1) | 0; else $$0 = $3 << 24 >> 24 == 0; + return $$0 | 0; +} + +function _arParamLTFree($0) { + $0 = $0 | 0; + var $$0 = 0, $2 = 0; + if (($0 | 0) != 0 ? ($2 = HEAP32[$0 >> 2] | 0, ($2 | 0) != 0) : 0) { + _free(HEAP32[$2 + 184 >> 2] | 0); + _free(HEAP32[(HEAP32[$0 >> 2] | 0) + 188 >> 2] | 0); + _free(HEAP32[$0 >> 2] | 0); + HEAP32[$0 >> 2] = 0; + $$0 = 0; + } else $$0 = -1; + return $$0 | 0; +} + +function __ZNKSt3__210moneypunctIwLb1EE11do_groupingEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0$i$i = 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$0 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + return; +} + +function __ZNKSt3__210moneypunctIwLb0EE11do_groupingEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0$i$i = 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$0 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + return; +} + +function __ZNKSt3__210moneypunctIcLb1EE11do_groupingEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0$i$i = 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$0 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + return; +} + +function __ZNKSt3__210moneypunctIcLb0EE11do_groupingEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0$i$i = 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + $$0$i$i = 0; + while (1) { + if (($$0$i$i | 0) == 3) break; + HEAP32[$0 + ($$0$i$i << 2) >> 2] = 0; + $$0$i$i = $$0$i$i + 1 | 0; + } + return; +} + +function __ZNK12_GLOBAL__N_110StringView9dropFrontEm($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = __ZNK12_GLOBAL__N_110StringView4sizeEv($1) | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKcS2_($0, (HEAP32[$1 >> 2] | 0) + ($3 >>> 0 > $2 >>> 0 ? $2 : $3 + -1 | 0) | 0, HEAP32[$1 + 4 >> 2] | 0); + return; +} + +function __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJiiNSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEEEE8getTypesEv($this) { + $this = $this | 0; + return __ZN10emscripten8internal14ArgArrayGetterINS0_8TypeListIJiiNSt3__212basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEEEE3getEv() | 0; +} + +function __ZNSt3__26vectorIiNS_9allocatorIiEEEC2Em($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + if ($1 | 0) { + __ZNSt3__26vectorIiNS_9allocatorIiEEE11__vallocateEm($0, $1); + __ZNSt3__26vectorIiNS_9allocatorIiEEE18__construct_at_endEm($0, $1); + } + return; +} + +function __ZNSt3__26vectorIfNS_9allocatorIfEEEC2Em($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + if ($1 | 0) { + __ZNSt3__26vectorIfNS_9allocatorIfEEE11__vallocateEm($0, $1); + __ZNSt3__26vectorIfNS_9allocatorIfEEE18__construct_at_endEm($0, $1); + } + return; +} + +function __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE7seekposENS_4fposI11__mbstate_tEEj($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0, $9 = 0; + $4 = $0; + HEAP32[$4 >> 2] = 0; + HEAP32[$4 + 4 >> 2] = 0; + $9 = $0 + 8 | 0; + HEAP32[$9 >> 2] = -1; + HEAP32[$9 + 4 >> 2] = -1; + return; +} + +function __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE7seekposENS_4fposI11__mbstate_tEEj($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0, $9 = 0; + $4 = $0; + HEAP32[$4 >> 2] = 0; + HEAP32[$4 + 4 >> 2] = 0; + $9 = $0 + 8 | 0; + HEAP32[$9 >> 2] = -1; + HEAP32[$9 + 4 >> 2] = -1; + return; +} + +function __ZNKSt3__25ctypeIcE8do_widenEPKcS3_Pc($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0, $$07 = 0; + $$0 = $3; + $$07 = $1; + while (1) { + if (($$07 | 0) == ($2 | 0)) break; + HEAP8[$$0 >> 0] = HEAP8[$$07 >> 0] | 0; + $$0 = $$0 + 1 | 0; + $$07 = $$07 + 1 | 0; + } + return $2 | 0; +} + +function __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJiNSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEEEE8getTypesEv($this) { + $this = $this | 0; + return __ZN10emscripten8internal14ArgArrayGetterINS0_8TypeListIJiNSt3__212basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEEEE3getEv() | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle21CtorVtableSpecialNameC2EPKNS0_4NodeES4_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 21, 1, 1, 1); + HEAP32[$0 >> 2] = 20508; + HEAP32[$0 + 8 >> 2] = $1; + HEAP32[$0 + 12 >> 2] = $2; + return; +} + +function __ZNK10__cxxabiv117__class_type_info29process_static_type_below_dstEPNS_19__dynamic_cast_infoEPKvi($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $7 = 0; + if ((HEAP32[$1 + 4 >> 2] | 0) == ($2 | 0) ? ($7 = $1 + 28 | 0, (HEAP32[$7 >> 2] | 0) != 1) : 0) HEAP32[$7 >> 2] = $3; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8BoolExprEJiEEEPNS0_4NodeEDpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8BoolExprEJiEEEPT_DpOT0_($0 + 368 | 0, $1) | 0; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8BoolExprEJiEEEPT_DpOT0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, 12) | 0; + __ZN12_GLOBAL__N_116itanium_demangle8BoolExprC2Eb($2, (HEAP32[$1 >> 2] | 0) != 0); + return $2 | 0; +} + +function __ZNSt3__26vectorINS0_INS_4pairIfmEENS_9allocatorIS2_EEEENS3_IS5_EEE18__construct_at_endEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$promoted = 0, $2 = 0; + $2 = $0 + 4 | 0; + $$promoted = HEAP32[$2 >> 2] | 0; + _memset($$promoted | 0, 0, $1 * 12 | 0) | 0; + HEAP32[$2 >> 2] = $$promoted + ($1 * 12 | 0); + return; +} + +function __ZNSt3__213__vector_baseIPKN6vision4NodeILi96EEENS_9allocatorIS5_EEED2Ev($0) { + $0 = $0 | 0; + var $1 = 0, $3 = 0; + $1 = HEAP32[$0 >> 2] | 0; + $3 = $1; + if ($1 | 0) { + HEAP32[$0 + 4 >> 2] = $3; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($1, (HEAP32[$0 + 8 >> 2] | 0) - $3 | 0); + } + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle20NameWithTemplateArgsC2EPNS0_4NodeES3_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 32, 1, 1, 1); + HEAP32[$0 >> 2] = 17824; + HEAP32[$0 + 8 >> 2] = $1; + HEAP32[$0 + 12 >> 2] = $2; + return; +} + +function _arVecAlloc($0) { + $0 = $0 | 0; + var $$0 = 0, $1 = 0, $4 = 0; + $1 = _malloc(8) | 0; + do if ($1) { + $4 = _malloc($0 << 3) | 0; + HEAP32[$1 >> 2] = $4; + if (!$4) { + _free($1); + $$0 = 0; + break; + } else { + HEAP32[$1 + 4 >> 2] = $0; + $$0 = $1; + break; + } + } else $$0 = 0; while (0); + return $$0 | 0; +} + +function __ZNSt3__213__vector_baseIPN6vision4NodeILi96EEENS_9allocatorIS4_EEED2Ev($0) { + $0 = $0 | 0; + var $1 = 0, $3 = 0; + $1 = HEAP32[$0 >> 2] | 0; + $3 = $1; + if ($1 | 0) { + HEAP32[$0 + 4 >> 2] = $3; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($1, (HEAP32[$0 + 8 >> 2] | 0) - $3 | 0); + } + return; +} + +function __ZNKSt3__25ctypeIwE8do_widenEPKcS3_Pw($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $$0 = 0, $$07 = 0; + $$0 = $3; + $$07 = $1; + while (1) { + if (($$07 | 0) == ($2 | 0)) break; + HEAP32[$$0 >> 2] = HEAP8[$$07 >> 0]; + $$0 = $$0 + 4 | 0; + $$07 = $$07 + 1 | 0; + } + return $2 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle18ArraySubscriptExprC2EPKNS0_4NodeES4_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 43, 1, 1, 1); + HEAP32[$0 >> 2] = 18836; + HEAP32[$0 + 8 >> 2] = $1; + HEAP32[$0 + 12 >> 2] = $2; + return; +} + +function __ZNSt3__28ios_baseD2Ev($0) { + $0 = $0 | 0; + HEAP32[$0 >> 2] = 20552; + __ZNSt3__28ios_base16__call_callbacksENS0_5eventE($0, 0); + __ZNSt3__26localeD2Ev($0 + 28 | 0); + _free(HEAP32[$0 + 32 >> 2] | 0); + _free(HEAP32[$0 + 36 >> 2] | 0); + _free(HEAP32[$0 + 48 >> 2] | 0); + _free(HEAP32[$0 + 60 >> 2] | 0); + return; +} + +function __ZN6vision25GaussianScaleSpacePyramidC2Ev($0) { + $0 = $0 | 0; + var $1 = 0; + HEAP32[$0 >> 2] = 16772; + $1 = $0 + 4 | 0; + HEAP32[$1 >> 2] = 0; + HEAP32[$1 + 4 >> 2] = 0; + HEAP32[$1 + 8 >> 2] = 0; + HEAP32[$1 + 12 >> 2] = 0; + HEAP32[$1 + 16 >> 2] = 0; + HEAP32[$1 + 20 >> 2] = 0; + HEAP32[$1 + 24 >> 2] = 0; + return; +} + +function __ZN6vision10numOctavesEiii($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0, $$010 = 0, $$09 = 0; + $$0 = 0; + $$010 = $1; + $$09 = $0; + while (1) { + if (($$010 | 0) < ($2 | 0) | ($$09 | 0) < ($2 | 0)) break; + $$0 = $$0 + 1 | 0; + $$010 = $$010 >> 1; + $$09 = $$09 >> 1; + } + return $$0 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle24ForwardTemplateReferenceC2Em($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 31, 2, 2, 2); + HEAP32[$0 >> 2] = 19452; + HEAP32[$0 + 8 >> 2] = $1; + HEAP32[$0 + 12 >> 2] = 0; + HEAP8[$0 + 16 >> 0] = 0; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA22_KcEEEPNS0_4NodeEDpOT0_($0) { + $0 = $0 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8NameTypeEJRA22_KcEEEPT_DpOT0_($0 + 368 | 0, 53518) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA19_KcEEEPNS0_4NodeEDpOT0_($0) { + $0 = $0 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8NameTypeEJRA19_KcEEEPT_DpOT0_($0 + 368 | 0, 56107) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA16_KcEEEPNS0_4NodeEDpOT0_($0) { + $0 = $0 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8NameTypeEJRA16_KcEEEPT_DpOT0_($0 + 368 | 0, 54302) | 0; +} + +function _testSetjmp(id, table, size) { + id = id | 0; + table = table | 0; + size = size | 0; + var i = 0, curr = 0; + while ((i | 0) < (size | 0)) { + curr = HEAP32[table + (i << 3) >> 2] | 0; + if (!curr) break; + if ((curr | 0) == (id | 0)) return HEAP32[table + ((i << 3) + 4) >> 2] | 0; + i = i + 1 | 0; + } + return 0; +} + +function __ZNSt3__213__vector_baseIN6vision7Point3dIfEENS_9allocatorIS3_EEED2Ev($0) { + $0 = $0 | 0; + var $1 = 0, $3 = 0; + $1 = HEAP32[$0 >> 2] | 0; + $3 = $1; + if ($1 | 0) { + HEAP32[$0 + 4 >> 2] = $3; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($1, (HEAP32[$0 + 8 >> 2] | 0) - $3 | 0); + } + return; +} + +function __ZNSt3__213__vector_baseIN6vision7Point2dIfEENS_9allocatorIS3_EEED2Ev($0) { + $0 = $0 | 0; + var $1 = 0, $3 = 0; + $1 = HEAP32[$0 >> 2] | 0; + $3 = $1; + if ($1 | 0) { + HEAP32[$0 + 4 >> 2] = $3; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($1, (HEAP32[$0 + 8 >> 2] | 0) - $3 | 0); + } + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA8_KcEEEPNS0_4NodeEDpOT0_($0) { + $0 = $0 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8NameTypeEJRA8_KcEEEPT_DpOT0_($0 + 368 | 0, 52254) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E4makeINS0_8NameTypeEJRA7_KcEEEPNS0_4NodeEDpOT0_($0) { + $0 = $0 | 0; + return __ZN12_GLOBAL__N_116DefaultAllocator8makeNodeINS_16itanium_demangle8NameTypeEJRA7_KcEEEPT_DpOT0_($0 + 368 | 0, 57172) | 0; +} + +function __ZNSt3__213unordered_mapIjjNS_4hashIjEENS_8equal_toIjEENS_9allocatorINS_4pairIKjjEEEEED2Ev($0) { + $0 = $0 | 0; + __ZNSt3__212__hash_tableINS_17__hash_value_typeIjjEENS_22__unordered_map_hasherIjS2_NS_4hashIjEELb1EEENS_21__unordered_map_equalIjS2_NS_8equal_toIjEELb1EEENS_9allocatorIS2_EEED2Ev($0); + return; +} + +function __ZNSt3__213__vector_baseIN6vision7match_tENS_9allocatorIS2_EEED2Ev($0) { + $0 = $0 | 0; + var $1 = 0, $3 = 0; + $1 = HEAP32[$0 >> 2] | 0; + $3 = $1; + if ($1 | 0) { + HEAP32[$0 + 4 >> 2] = $3; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($1, (HEAP32[$0 + 8 >> 2] | 0) - $3 | 0); + } + return; +} + +function __ZN6vision21HoughSimilarityVotingD2Ev($0) { + $0 = $0 | 0; + __ZNSt3__213__vector_baseIiNS_9allocatorIiEEED2Ev($0 + 124 | 0); + __ZNSt3__213__vector_baseIfNS_9allocatorIfEEED2Ev($0 + 112 | 0); + __ZNSt3__213unordered_mapIjjNS_4hashIjEENS_8equal_toIjEENS_9allocatorINS_4pairIKjjEEEEED2Ev($0 + 92 | 0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle13QualifiedNameC2EPKNS0_4NodeES4_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 22, 1, 1, 1); + HEAP32[$0 >> 2] = 19100; + HEAP32[$0 + 8 >> 2] = $1; + HEAP32[$0 + 12 >> 2] = $2; + return; +} + +function dynCall_iiiiiiiii(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; + return FUNCTION_TABLE_iiiiiiiii[index & 15](a1 | 0, a2 | 0, a3 | 0, a4 | 0, a5 | 0, a6 | 0, a7 | 0, a8 | 0) | 0; +} + +function __ZN6vision13LinePointSideIfEET_PKS1_S3_S3_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $4 = 0.0, $9 = 0.0; + $4 = +HEAPF32[$0 >> 2]; + $9 = +HEAPF32[$0 + 4 >> 2]; + return +((+HEAPF32[$1 >> 2] - $4) * (+HEAPF32[$2 + 4 >> 2] - $9) - (+HEAPF32[$1 + 4 >> 2] - $9) * (+HEAPF32[$2 >> 2] - $4)); +} + +function __ZNSt3__219__shared_weak_count14__release_weakEv($0) { + $0 = $0 | 0; + var $1 = 0, $7 = 0; + $1 = $0 + 8 | 0; + if ((HEAP32[$1 >> 2] | 0) != 0 ? ($7 = HEAP32[$1 >> 2] | 0, HEAP32[$1 >> 2] = $7 + -1, ($7 | 0) != 0) : 0) {} else FUNCTION_TABLE_vi[HEAP32[(HEAP32[$0 >> 2] | 0) + 16 >> 2] & 255]($0); + return; +} + +function __ZN53EmscriptenBindingInitializer_native_and_builtin_typesC2Ev($0) { + $0 = $0 | 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + HEAP32[sp >> 2] = $0; + ___embind_register_native_and_builtin_types(); + STACKTOP = sp; + return; +} + +function __ZNSt3__213__vector_baseINS_4pairIfmEENS_9allocatorIS2_EEED2Ev($0) { + $0 = $0 | 0; + var $1 = 0, $3 = 0; + $1 = HEAP32[$0 >> 2] | 0; + $3 = $1; + if ($1 | 0) { + HEAP32[$0 + 4 >> 2] = $3; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($1, (HEAP32[$0 + 8 >> 2] | 0) - $3 | 0); + } + return; +} + +function __ZNSt3__213__vector_baseINS_4pairIfiEENS_9allocatorIS2_EEED2Ev($0) { + $0 = $0 | 0; + var $1 = 0, $3 = 0; + $1 = HEAP32[$0 >> 2] | 0; + $3 = $1; + if ($1 | 0) { + HEAP32[$0 + 4 >> 2] = $3; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($1, (HEAP32[$0 + 8 >> 2] | 0) - $3 | 0); + } + return; +} + +function __ZNKSt3__28messagesIwE7do_openERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_6localeE($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $8 = 0; + $8 = _catopen((HEAP8[$1 + 11 >> 0] | 0) < 0 ? HEAP32[$1 >> 2] | 0 : $1, 1) | 0; + return $8 >>> (($8 | 0) != (-1 | 0) & 1) | 0; +} + +function __ZNKSt3__28messagesIcE7do_openERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_6localeE($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $8 = 0; + $8 = _catopen((HEAP8[$1 + 11 >> 0] | 0) < 0 ? HEAP32[$1 >> 2] | 0 : $1, 1) | 0; + return $8 >>> (($8 | 0) != (-1 | 0) & 1) | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle4Node5printERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$0 >> 2] | 0) + 16 >> 2] & 255]($0, $1); + if ((HEAP8[$0 + 5 >> 0] | 0) != 1) FUNCTION_TABLE_vii[HEAP32[(HEAP32[$0 >> 2] | 0) + 20 >> 2] & 255]($0, $1); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + HEAP32[$0 >> 2] = 17604; + HEAP8[$0 + 4 >> 0] = $1; + HEAP8[$0 + 5 >> 0] = $2; + HEAP8[$0 + 6 >> 0] = $3; + HEAP8[$0 + 7 >> 0] = $4; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle10NestedNameC2EPNS0_4NodeES3_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 23, 1, 1, 1); + HEAP32[$0 >> 2] = 19848; + HEAP32[$0 + 8 >> 2] = $1; + HEAP32[$0 + 12 >> 2] = $2; + return; +} + +function __ZNSt3__214__split_bufferINS_4pairIfiEERNS_9allocatorIS2_EEE18__construct_at_endEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$promoted = 0, $2 = 0; + $2 = $0 + 8 | 0; + $$promoted = HEAP32[$2 >> 2] | 0; + _memset($$promoted | 0, 0, $1 << 3 | 0) | 0; + HEAP32[$2 >> 2] = $$promoted + ($1 << 3); + return; +} + +function __ZNKSt3__28numpunctIwE12do_falsenameEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initEPKwm($0, 23432, __ZNSt3__211char_traitsIwE6lengthEPKw(23432) | 0); + return; +} + +function __ZNKSt3__28numpunctIcE12do_falsenameEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm($0, 61026, __ZNSt3__211char_traitsIcE6lengthEPKc(61026) | 0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle9LocalNameC2EPNS0_4NodeES3_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 24, 1, 1, 1); + HEAP32[$0 >> 2] = 19716; + HEAP32[$0 + 8 >> 2] = $1; + HEAP32[$0 + 12 >> 2] = $2; + return; +} + +function _get_buff_380($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $2 = 0; + L1 : while (1) { + $2 = _fgets($0, 256, $1) | 0; + if (!$2) { + $$0 = 0; + break; + } + switch (HEAP8[$0 >> 0] | 0) { + case 35: + case 10: + break; + default: + { + $$0 = $2; + break L1; + } + } + } + return $$0 | 0; +} + +function _get_buff_345($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $2 = 0; + L1 : while (1) { + $2 = _fgets($0, 256, $1) | 0; + if (!$2) { + $$0 = 0; + break; + } + switch (HEAP8[$0 >> 0] | 0) { + case 35: + case 10: + break; + default: + { + $$0 = $2; + break L1; + } + } + } + return $$0 | 0; +} + +function __ZNKSt3__28numpunctIwE11do_truenameEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initEPKwm($0, 23456, __ZNSt3__211char_traitsIwE6lengthEPKw(23456) | 0); + return; +} + +function __ZNKSt3__28numpunctIcE11do_truenameEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEPKcm($0, 61032, __ZNSt3__211char_traitsIcE6lengthEPKc(61032) | 0); + return; +} + +function __ZN6vision20VisualDatabaseFacadeC2Ev($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0; + HEAP32[$0 >> 2] = 0; + $1 = __Znwm(24) | 0; + __ZN6vision18VisualDatabaseImplC2Ev($1); + $2 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = $1; + if ($2 | 0) { + __ZN6vision18VisualDatabaseImplD2Ev($2); + __ZdlPv($2); + } + return; +} + +function __ZN6vision23bilinear_upsample_pointERfS0_ffi($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = +$2; + $3 = +$3; + $4 = $4 | 0; + var $10 = 0.0, $8 = 0.0; + $8 = +_ldexp(1.0, $4 + -1 | 0) + -.5; + $10 = +(1 << $4 | 0); + HEAPF32[$0 >> 2] = $10 * $2 + $8; + HEAPF32[$1 >> 2] = $10 * $3 + $8; + return; +} + +function __ZN6vision18BinomialPyramid32fC2Ev($0) { + $0 = $0 | 0; + var dest = 0, stop = 0; + __ZN6vision25GaussianScaleSpacePyramidC2Ev($0); + HEAP32[$0 >> 2] = 16756; + dest = $0 + 32 | 0; + stop = dest + 36 | 0; + do { + HEAP32[dest >> 2] = 0; + dest = dest + 4 | 0; + } while ((dest | 0) < (stop | 0)); + return; +} + +function _arMatrixAllocMulf($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $6 = 0; + $6 = _arMatrixAllocf(HEAP32[$0 + 4 >> 2] | 0, HEAP32[$1 + 8 >> 2] | 0) | 0; + if ($6) if ((_arMatrixMulf($6, $0, $1) | 0) < 0) { + _arMatrixFreef($6) | 0; + $$0 = 0; + } else $$0 = $6; else $$0 = 0; + return $$0 | 0; +} + +function __ZNSt3__26vectorINS_4pairIfiEENS_9allocatorIS2_EEE18__construct_at_endEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$promoted = 0, $2 = 0; + $2 = $0 + 4 | 0; + $$promoted = HEAP32[$2 >> 2] | 0; + _memset($$promoted | 0, 0, $1 << 3 | 0) | 0; + HEAP32[$2 >> 2] = $$promoted + ($1 << 3); + return; +} + +function __ZN6vision11CopyVector9IfEEvPT_PKS1_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var dest = 0, src = 0, stop = 0; + dest = $0; + src = $1; + stop = dest + 36 | 0; + do { + HEAP32[dest >> 2] = HEAP32[src >> 2]; + dest = dest + 4 | 0; + src = src + 4 | 0; + } while ((dest | 0) < (stop | 0)); + return; +} + +function _arMatrixAllocMul($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $6 = 0; + $6 = _arMatrixAlloc(HEAP32[$0 + 4 >> 2] | 0, HEAP32[$1 + 8 >> 2] | 0) | 0; + if ($6) if ((_arMatrixMul($6, $0, $1) | 0) < 0) { + _arMatrixFree($6) | 0; + $$0 = 0; + } else $$0 = $6; else $$0 = 0; + return $$0 | 0; +} + +function _reset_marker_reader($0) { + $0 = $0 | 0; + var $2 = 0; + $2 = HEAP32[$0 + 464 >> 2] | 0; + HEAP32[$0 + 216 >> 2] = 0; + HEAP32[$0 + 144 >> 2] = 0; + HEAP32[$0 + 440 >> 2] = 0; + HEAP32[$2 + 12 >> 2] = 0; + HEAP32[$2 + 16 >> 2] = 0; + HEAP32[$2 + 24 >> 2] = 0; + HEAP32[$2 + 164 >> 2] = 0; + return; +} + +function __ZNSt3__213__vector_baseItNS_9allocatorItEEED2Ev($0) { + $0 = $0 | 0; + var $1 = 0, $3 = 0; + $1 = HEAP32[$0 >> 2] | 0; + $3 = $1; + if ($1 | 0) { + HEAP32[$0 + 4 >> 2] = $3; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($1, (HEAP32[$0 + 8 >> 2] | 0) - $3 | 0); + } + return; +} + +function __ZNSt3__213__vector_baseIiNS_9allocatorIiEEED2Ev($0) { + $0 = $0 | 0; + var $1 = 0, $3 = 0; + $1 = HEAP32[$0 >> 2] | 0; + $3 = $1; + if ($1 | 0) { + HEAP32[$0 + 4 >> 2] = $3; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($1, (HEAP32[$0 + 8 >> 2] | 0) - $3 | 0); + } + return; +} + +function __ZNSt3__213__vector_baseIhNS_9allocatorIhEEED2Ev($0) { + $0 = $0 | 0; + var $1 = 0, $3 = 0; + $1 = HEAP32[$0 >> 2] | 0; + $3 = $1; + if ($1 | 0) { + HEAP32[$0 + 4 >> 2] = $3; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($1, (HEAP32[$0 + 8 >> 2] | 0) - $3 | 0); + } + return; +} + +function __ZNSt3__213__vector_baseIfNS_9allocatorIfEEED2Ev($0) { + $0 = $0 | 0; + var $1 = 0, $3 = 0; + $1 = HEAP32[$0 >> 2] | 0; + $3 = $1; + if ($1 | 0) { + HEAP32[$0 + 4 >> 2] = $3; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($1, (HEAP32[$0 + 8 >> 2] | 0) - $3 | 0); + } + return; +} + +function __ZN6vision13Similarity2x2IfEEvPT_S1_S1_($0, $1, $2) { + $0 = $0 | 0; + $1 = +$1; + $2 = +$2; + var $4 = 0.0, $6 = 0.0; + $4 = +Math_cos(+$1) * $2; + $6 = +Math_sin(+$1) * $2; + HEAPF32[$0 >> 2] = $4; + HEAPF32[$0 + 4 >> 2] = -$6; + HEAPF32[$0 + 8 >> 2] = $6; + HEAPF32[$0 + 12 >> 2] = $4; + return; +} + +function __ZNSt3__214__split_bufferItRNS_9allocatorItEEE18__construct_at_endEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$promoted = 0, $2 = 0; + $2 = $0 + 8 | 0; + $$promoted = HEAP32[$2 >> 2] | 0; + _memset($$promoted | 0, 0, $1 << 1 | 0) | 0; + HEAP32[$2 >> 2] = $$promoted + ($1 << 1); + return; +} + +function __ZNSt3__214__split_bufferIiRNS_9allocatorIiEEE18__construct_at_endEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$promoted = 0, $2 = 0; + $2 = $0 + 8 | 0; + $$promoted = HEAP32[$2 >> 2] | 0; + _memset($$promoted | 0, 0, $1 << 2 | 0) | 0; + HEAP32[$2 >> 2] = $$promoted + ($1 << 2); + return; +} + +function __ZNSt3__214__split_bufferIfRNS_9allocatorIfEEE18__construct_at_endEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$promoted = 0, $2 = 0; + $2 = $0 + 8 | 0; + $$promoted = HEAP32[$2 >> 2] | 0; + _memset($$promoted | 0, 0, $1 << 2 | 0) | 0; + HEAP32[$2 >> 2] = $$promoted + ($1 << 2); + return; +} + +function __ZN12_GLOBAL__N_112OutputStreampLEc($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0, $4 = 0; + __ZN12_GLOBAL__N_112OutputStream4growEm($0, 1); + $2 = HEAP32[$0 >> 2] | 0; + $3 = $0 + 4 | 0; + $4 = HEAP32[$3 >> 2] | 0; + HEAP32[$3 >> 2] = $4 + 1; + HEAP8[$2 + $4 >> 0] = $1; + return; +} + +function __ZNSt3__214__num_get_base10__get_baseERNS_8ios_baseE($0) { + $0 = $0 | 0; + var $$0 = 0; + switch (HEAP32[$0 + 4 >> 2] & 74) { + case 64: + { + $$0 = 8; + break; + } + case 8: + { + $$0 = 16; + break; + } + case 0: + { + $$0 = 0; + break; + } + default: + $$0 = 10; + } + return $$0 | 0; +} + +function __ZN6vision25bilinear_downsample_pointERfS0_ffi($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = +$2; + $3 = +$3; + $4 = $4 | 0; + var $7 = 0.0, $9 = 0.0; + $7 = 1.0 / +(1 << $4 | 0); + $9 = $7 * .5 + -.5; + HEAPF32[$0 >> 2] = $7 * $2 + $9; + HEAPF32[$1 >> 2] = $7 * $3 + $9; + return; +} + +function __ZN6vision17HammingDistance32Ejj($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $5 = 0, $9 = 0; + $2 = $1 ^ $0; + $5 = $2 - ($2 >>> 1 & 1431655765) | 0; + $9 = ($5 >>> 2 & 858993459) + ($5 & 858993459) | 0; + return (Math_imul(($9 >>> 4) + $9 & 252645135, 16843009) | 0) >>> 24 | 0; +} + +function __ZN6vision9MaxIndex4IfEEiPKT_($0) { + $0 = $0 | 0; + var $$0 = 0, $$1 = 0; + $$0 = +HEAPF32[$0 + 4 >> 2] > +HEAPF32[$0 >> 2] & 1; + $$1 = +HEAPF32[$0 + 8 >> 2] > +HEAPF32[$0 + ($$0 << 2) >> 2] ? 2 : $$0; + return (+HEAPF32[$0 + 12 >> 2] > +HEAPF32[$0 + ($$1 << 2) >> 2] ? 3 : $$1) | 0; +} + +function __ZN6vision12FeaturePointC2Effffb($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = $5 | 0; + HEAPF32[$0 >> 2] = $1; + HEAPF32[$0 + 4 >> 2] = $2; + HEAPF32[$0 + 8 >> 2] = $3; + HEAPF32[$0 + 12 >> 2] = $4; + HEAP8[$0 + 16 >> 0] = $5 & 1; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle27ExpandedSpecialSubstitutionC2ENS0_14SpecialSubKindE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 35, 1, 1, 1); + HEAP32[$0 >> 2] = 19804; + HEAP32[$0 + 8 >> 2] = $1; + return; +} + +function _ftell($0) { + $0 = $0 | 0; + var $$0 = 0, $1 = 0, $2 = 0, $8 = 0; + $1 = ___ftello($0) | 0; + $2 = getTempRet0() | 0; + if (($2 | 0) > 0 | ($2 | 0) == 0 & $1 >>> 0 > 2147483647) { + $8 = ___errno_location() | 0; + HEAP32[$8 >> 2] = 61; + $$0 = -1; + } else $$0 = $1; + return $$0 | 0; +} + +function __ZNKSt3__25ctypeIwE5do_isEtw($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0, $9 = 0; + if ($2 >>> 0 < 128) { + $5 = (__ZNSt3__25ctypeIcE13classic_tableEv() | 0) + ($2 << 1) | 0; + $9 = (HEAP16[$5 >> 1] & $1) << 16 >> 16 != 0; + } else $9 = 0; + return $9 | 0; +} + +function _finish_output_pass($0) { + $0 = $0 | 0; + var $10 = 0, $2 = 0; + $2 = HEAP32[$0 + 444 >> 2] | 0; + if (HEAP32[$0 + 84 >> 2] | 0) FUNCTION_TABLE_vi[HEAP32[(HEAP32[$0 + 484 >> 2] | 0) + 8 >> 2] & 255]($0); + $10 = $2 + 12 | 0; + HEAP32[$10 >> 2] = (HEAP32[$10 >> 2] | 0) + 1; + return; +} + +function __ZNSt3__26vectorItNS_9allocatorItEEE18__construct_at_endEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$promoted = 0, $2 = 0; + $2 = $0 + 4 | 0; + $$promoted = HEAP32[$2 >> 2] | 0; + _memset($$promoted | 0, 0, $1 << 1 | 0) | 0; + HEAP32[$2 >> 2] = $$promoted + ($1 << 1); + return; +} + +function __ZNSt3__26vectorIiNS_9allocatorIiEEE18__construct_at_endEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$promoted = 0, $2 = 0; + $2 = $0 + 4 | 0; + $$promoted = HEAP32[$2 >> 2] | 0; + _memset($$promoted | 0, 0, $1 << 2 | 0) | 0; + HEAP32[$2 >> 2] = $$promoted + ($1 << 2); + return; +} + +function __ZNSt3__26vectorIfNS_9allocatorIfEEE18__construct_at_endEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$promoted = 0, $2 = 0; + $2 = $0 + 4 | 0; + $$promoted = HEAP32[$2 >> 2] | 0; + _memset($$promoted | 0, 0, $1 << 2 | 0) | 0; + HEAP32[$2 >> 2] = $$promoted + ($1 << 2); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle11PointerTypeC2EPKNS0_4NodeE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 11, HEAP8[$1 + 5 >> 0] | 0, 1, 1); + HEAP32[$0 >> 2] = 17780; + HEAP32[$0 + 8 >> 2] = $1; + return; +} + +function dynCall_iiiiiiii(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; + return FUNCTION_TABLE_iiiiiiii[index & 7](a1 | 0, a2 | 0, a3 | 0, a4 | 0, a5 | 0, a6 | 0, a7 | 0) | 0; +} + +function _arMatrixAllocTransf($0) { + $0 = $0 | 0; + var $$0 = 0, $5 = 0; + $5 = _arMatrixAllocf(HEAP32[$0 + 8 >> 2] | 0, HEAP32[$0 + 4 >> 2] | 0) | 0; + if ($5) if ((_arMatrixTransf($5, $0) | 0) < 0) { + _arMatrixFreef($5) | 0; + $$0 = 0; + } else $$0 = $5; else $$0 = 0; + return $$0 | 0; +} + +function __ZNSt3__27codecvtIwc11__mbstate_tED2Ev($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0; + HEAP32[$0 >> 2] = 23240; + $1 = $0 + 8 | 0; + $2 = HEAP32[$1 >> 2] | 0; + if (($2 | 0) != (__ZNSt3__26__clocEv() | 0)) _freelocale(HEAP32[$1 >> 2] | 0); + __ZNSt3__26locale5facetD2Ev($0); + return; +} + +function __ZN6vision21OrientationAssignmentC2Ev($0) { + $0 = $0 | 0; + var dest = 0, stop = 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + dest = $0 + 12 | 0; + stop = dest + 40 | 0; + do { + HEAP32[dest >> 2] = 0; + dest = dest + 4 | 0; + } while ((dest | 0) < (stop | 0)); + return; +} + +function __ZNKSt3__25ctypeIcE10do_tolowerEc($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $8 = 0; + if ($1 << 24 >> 24 > -1) { + $5 = (__ZNSt3__25ctypeIcE21__classic_lower_tableEv() | 0) + ($1 << 24 >> 24 << 2) | 0; + $8 = HEAP32[$5 >> 2] & 255; + } else $8 = $1; + return $8 | 0; +} + +function __ZN12arControllerD2Ev($this) { + $this = $this | 0; + __ZNSt3__213__vector_baseI12multi_markerNS_9allocatorIS1_EEED2Ev($this + 328 | 0); + __ZNSt3__213unordered_mapIiP14AR2SurfaceSetTNS_4hashIiEENS_8equal_toIiEENS_9allocatorINS_4pairIKiS2_EEEEED2Ev($this + 288 | 0); + return; +} + +function __ZN12_GLOBAL__N_120BumpPointerAllocator4growEv($0) { + $0 = $0 | 0; + var $1 = 0, $3 = 0; + $1 = _malloc(4096) | 0; + if (!$1) __ZSt9terminatev(); else { + $3 = $0 + 4096 | 0; + HEAP32[$1 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$1 + 4 >> 2] = 0; + HEAP32[$3 >> 2] = $1; + return; + } +} + +function __ZNK12_GLOBAL__N_116itanium_demangle20TemplateArgumentPack11getElementsEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0, $8 = 0, $9 = 0; + $3 = $1 + 8 | 0; + $8 = HEAP32[$3 + 4 >> 2] | 0; + $9 = $0; + HEAP32[$9 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$9 + 4 >> 2] = $8; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle19SpecialSubstitutionC2ENS0_14SpecialSubKindE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 36, 1, 1, 1); + HEAP32[$0 >> 2] = 17648; + HEAP32[$0 + 8 >> 2] = $1; + return; +} + +function _wmemset($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$056 = 0, $$07 = 0; + if ($2 | 0) { + $$056 = $2; + $$07 = $0; + while (1) { + $$056 = $$056 + -1 | 0; + HEAP32[$$07 >> 2] = $1; + if (!$$056) break; else $$07 = $$07 + 4 | 0; + } + } + return $0 | 0; +} + +function _arMatrixAllocTrans($0) { + $0 = $0 | 0; + var $$0 = 0, $5 = 0; + $5 = _arMatrixAlloc(HEAP32[$0 + 8 >> 2] | 0, HEAP32[$0 + 4 >> 2] | 0) | 0; + if ($5) if ((_arMatrixTrans($5, $0) | 0) < 0) { + _arMatrixFree($5) | 0; + $$0 = 0; + } else $$0 = $5; else $$0 = 0; + return $$0 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_24ForwardTemplateReferenceELm4EED2Ev($0) { + $0 = $0 | 0; + if (!(__ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_24ForwardTemplateReferenceELm4EE8isInlineEv($0) | 0)) _free(HEAP32[$0 >> 2] | 0); + return; +} + +function __ZNSt3__220__shared_ptr_pointerIPN6vision8KeyframeILi96EEENS_14default_deleteIS3_EENS_9allocatorIS3_EEE16__on_zero_sharedEv($0) { + $0 = $0 | 0; + var $2 = 0; + $2 = HEAP32[$0 + 12 >> 2] | 0; + if ($2 | 0) { + __ZN6vision8KeyframeILi96EED2Ev($2); + __ZdlPv($2); + } + return; +} + +function __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEED2Ev($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = $0 + 8 | 0; + if ((HEAP8[$1 + 3 >> 0] | 0) < 0) __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm(HEAP32[$0 >> 2] | 0, HEAP32[$1 >> 2] << 2); + return; +} + +function __ZNKSt3__27codecvtIcc11__mbstate_tE6do_outERS1_PKcS5_RS5_PcS7_RS7_($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; + HEAP32[$4 >> 2] = $2; + HEAP32[$7 >> 2] = $5; + return 3; +} + +function __ZNSt3__2lsINS_11char_traitsIcEEEERNS_13basic_ostreamIcT_EES6_PKc($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZNSt3__224__put_character_sequenceIcNS_11char_traitsIcEEEERNS_13basic_ostreamIT_T0_EES7_PKS4_m($0, $1, __ZNSt3__211char_traitsIcE6lengthEPKc($1) | 0) | 0; +} + +function __ZNKSt3__27codecvtIcc11__mbstate_tE5do_inERS1_PKcS5_RS5_PcS7_RS7_($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; + HEAP32[$4 >> 2] = $2; + HEAP32[$7 >> 2] = $5; + return 3; +} + +function __ZNKSt3__25ctypeIcE10do_toupperEc($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0, $8 = 0; + if ($1 << 24 >> 24 > -1) { + $5 = (__ZNSt3__25ctypeIcE21__classic_upper_tableEv() | 0) + (($1 & 255) << 2) | 0; + $8 = HEAP32[$5 >> 2] & 255; + } else $8 = $1; + return $8 | 0; +} + +function _arPattFree($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $4 = 0; + $4 = (HEAP32[$0 + 8 >> 2] | 0) + ($1 << 2) | 0; + if (!(HEAP32[$4 >> 2] | 0)) $$0 = -1; else { + HEAP32[$4 >> 2] = 0; + HEAP32[$0 >> 2] = (HEAP32[$0 >> 2] | 0) + -1; + $$0 = 1; + } + return $$0 | 0; +} + +function __ZNSt3__211__call_onceERVmPvPFvS2_E($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + do {} while ((HEAP32[$0 >> 2] | 0) == 1); + if (!(HEAP32[$0 >> 2] | 0)) { + HEAP32[$0 >> 2] = 1; + FUNCTION_TABLE_vi[$2 & 255]($1); + HEAP32[$0 >> 2] = -1; + } else {} + return; +} + +function _bitshift64Shl(low, high, bits) { + low = low | 0; + high = high | 0; + bits = bits | 0; + if ((bits | 0) < 32) { + setTempRet0(high << bits | (low & (1 << bits) - 1 << 32 - bits) >>> 32 - bits | 0); + return low << bits; + } + setTempRet0(low << bits - 32 | 0); + return 0; +} + +function _arMatrixAllocDup($0) { + $0 = $0 | 0; + var $$0 = 0, $5 = 0; + $5 = _arMatrixAlloc(HEAP32[$0 + 4 >> 2] | 0, HEAP32[$0 + 8 >> 2] | 0) | 0; + if ($5) if ((_arMatrixDup($5, $0) | 0) < 0) { + _arMatrixFree($5) | 0; + $$0 = 0; + } else $$0 = $5; else $$0 = 0; + return $$0 | 0; +} + +function __ZN6vision14BinarykMedoidsILi96EEC2ERi($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var dest = 0, stop = 0; + HEAP32[$0 >> 2] = $1; + dest = $0 + 4 | 0; + stop = dest + 56 | 0; + do { + HEAP32[dest >> 2] = 0; + dest = dest + 4 | 0; + } while ((dest | 0) < (stop | 0)); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22ParameterPackExpansionC2EPKNS0_4NodeE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 29, 1, 1, 1); + HEAP32[$0 >> 2] = 18484; + HEAP32[$0 + 8 >> 2] = $1; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_24ForwardTemplateReferenceELm4EEixEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return (__ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_24ForwardTemplateReferenceELm4EE5beginEv($0) | 0) + ($1 << 2) | 0; +} + +function __ZN6vision16RobustHomographyIfED2Ev($0) { + $0 = $0 | 0; + __ZNSt3__213__vector_baseINS_4pairIfiEENS_9allocatorIS2_EEED2Ev($0 + 24 | 0); + __ZNSt3__213__vector_baseIiNS_9allocatorIiEEED2Ev($0 + 12 | 0); + __ZNSt3__213__vector_baseIfNS_9allocatorIfEEED2Ev($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22ConversionOperatorTypeC2EPKNS0_4NodeE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 4, 1, 1, 1); + HEAP32[$0 >> 2] = 19012; + HEAP32[$0 + 8 >> 2] = $1; + return; +} + +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 & 7](a1 | 0, a2 | 0, a3 | 0, a4 | 0, a5 | 0, a6 | 0, a7 | 0); +} + +function __ZN12_GLOBAL__N_116itanium_demangle19SizeofParamPackExprC2EPKNS0_4NodeE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 49, 1, 1, 1); + HEAP32[$0 >> 2] = 18440; + HEAP32[$0 + 8 >> 2] = $1; + return; +} + +function _ar2GetRegionArea($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $5 = 0, $6 = 0.0; + $5 = $0 + ($2 << 3) | 0; + $6 = +_ar2GetTriangleArea($0, $0 + ($1 << 3) | 0, $5); + return +($6 + +_ar2GetTriangleArea($0, $5, $0 + ($3 << 3) | 0)); +} + +function __ZN12_GLOBAL__N_116itanium_demangle19GlobalQualifiedNameC2EPNS0_4NodeE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 33, 1, 1, 1); + HEAP32[$0 >> 2] = 18924; + HEAP32[$0 + 8 >> 2] = $1; + return; +} + +function _ar2SetSearchFeatureNum($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $spec$select = 0; + $spec$select = ($1 | 0) < 40 ? $1 : 40; + if (!$0) $$0 = -1; else { + HEAP32[$0 + 36 >> 2] = ($spec$select | 0) > 3 ? $spec$select : 3; + $$0 = 0; + } + return $$0 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle19PointerToMemberType19hasRHSComponentSlowERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZNK12_GLOBAL__N_116itanium_demangle4Node15hasRHSComponentERNS_12OutputStreamE(HEAP32[$0 + 12 >> 2] | 0, $1) | 0; +} + +function _bitshift64Lshr(low, high, bits) { + low = low | 0; + high = high | 0; + bits = bits | 0; + if ((bits | 0) < 32) { + setTempRet0(high >>> bits | 0); + return low >>> bits | (high & (1 << bits) - 1) << 32 - bits; + } + setTempRet0(0); + return high >>> bits - 32 | 0; +} + +function __ZNKSt3__210moneypunctIwLb1EE16do_negative_signEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initEmw($0, 1, 45); + return; +} + +function __ZNKSt3__210moneypunctIwLb0EE16do_negative_signEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6__initEmw($0, 1, 45); + return; +} + +function __ZNKSt3__210moneypunctIcLb1EE16do_negative_signEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEmc($0, 1, 45); + return; +} + +function __ZNKSt3__210moneypunctIcLb0EE16do_negative_signEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6__initEmc($0, 1, 45); + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle8NameType11getBaseNameEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0, $8 = 0, $9 = 0; + $3 = $1 + 8 | 0; + $8 = HEAP32[$3 + 4 >> 2] | 0; + $9 = $0; + HEAP32[$9 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$9 + 4 >> 2] = $8; + return; +} + +function __ZN6vision5ImageC2Ev($0) { + $0 = $0 | 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + HEAP32[$0 + 12 >> 2] = 0; + HEAP32[$0 + 16 >> 2] = 0; + HEAP32[$0 + 20 >> 2] = 0; + HEAP32[$0 + 24 >> 2] = 0; + HEAP32[$0 + 28 >> 2] = 0; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle16StdQualifiedNameC2EPNS0_4NodeE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 34, 1, 1, 1); + HEAP32[$0 >> 2] = 19540; + HEAP32[$0 + 8 >> 2] = $1; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle15LiteralOperatorC2EPKNS0_4NodeE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 19, 1, 1, 1); + HEAP32[$0 >> 2] = 18968; + HEAP32[$0 + 8 >> 2] = $1; + return; +} + +function __ZNSt3__26localeD2Ev($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, $3 = 0; + $1 = HEAP32[$0 >> 2] | 0; + $2 = $1 + 4 | 0; + $3 = HEAP32[$2 >> 2] | 0; + HEAP32[$2 >> 2] = $3 + -1; + if (!$3) FUNCTION_TABLE_vi[HEAP32[(HEAP32[$1 >> 2] | 0) + 8 >> 2] & 255]($1); + return; +} + +function __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKw($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZNSt3__212basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEE6assignEPKwm($0, $1, __ZNSt3__211char_traitsIwE6lengthEPKw($1) | 0) | 0; +} + +function __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKc($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEE6assignEPKcm($0, $1, __ZNSt3__211char_traitsIcE6lengthEPKc($1) | 0) | 0; +} + +function __ZNSt3__212_GLOBAL__N_14makeINS_8time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_() { + HEAP32[16245] = 0; + HEAP32[16244] = 23484; + __ZNSt3__220__time_get_c_storageIcEC2Ev(64984); + HEAP32[16244] = 21440; + HEAP32[16246] = 21488; + return; +} + +function __ZN6vision25DoGScaleInvariantDetector22setMaxNumFeaturePointsEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP32[$0 + 84 >> 2] = $1; + __ZNSt3__26vectorIN6vision25DoGScaleInvariantDetector12FeaturePointENS_9allocatorIS3_EEE7reserveEm($0 + 60 | 0, $1); + return; +} + +function __ZNSt3__212_GLOBAL__N_14makeINS_8time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_() { + HEAP32[16249] = 0; + HEAP32[16248] = 23484; + __ZNSt3__220__time_get_c_storageIwEC2Ev(65e3); + HEAP32[16248] = 21524; + HEAP32[16250] = 21572; + return; +} + +function __ZNKSt3__220__time_get_c_storageIwE8__monthsEv($0) { + $0 = $0 | 0; + if ((HEAP8[64712] | 0) == 0 ? ___cxa_guard_acquire(64712) | 0 : 0) { + __ZNSt3__2L12init_wmonthsEv(); + HEAP32[16676] = 63840; + ___cxa_guard_release(64712); + } + return HEAP32[16676] | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle12NoexceptSpecC2EPKNS0_4NodeE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 16, 1, 1, 1); + HEAP32[$0 >> 2] = 20288; + HEAP32[$0 + 8 >> 2] = $1; + return; +} + +function __ZNKSt3__220__time_get_c_storageIcE8__monthsEv($0) { + $0 = $0 | 0; + if ((HEAP8[64632] | 0) == 0 ? ___cxa_guard_acquire(64632) | 0 : 0) { + __ZNSt3__2L11init_monthsEv(); + HEAP32[16659] = 63344; + ___cxa_guard_release(64632); + } + return HEAP32[16659] | 0; +} + +function __ZNKSt3__25ctypeIwE10do_toupperEw($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0; + if ($1 >>> 0 < 128) { + $4 = (__ZNSt3__25ctypeIcE21__classic_upper_tableEv() | 0) + ($1 << 2) | 0; + $6 = HEAP32[$4 >> 2] | 0; + } else $6 = $1; + return $6 | 0; +} + +function __ZNKSt3__25ctypeIwE10do_tolowerEw($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0, $6 = 0; + if ($1 >>> 0 < 128) { + $4 = (__ZNSt3__25ctypeIcE21__classic_lower_tableEv() | 0) + ($1 << 2) | 0; + $6 = HEAP32[$4 >> 2] | 0; + } else $6 = $1; + return $6 | 0; +} + +function __ZNKSt3__220__time_get_c_storageIwE7__weeksEv($0) { + $0 = $0 | 0; + if ((HEAP8[64728] | 0) == 0 ? ___cxa_guard_acquire(64728) | 0 : 0) { + __ZNSt3__2L11init_wweeksEv(); + HEAP32[16677] = 64128; + ___cxa_guard_release(64728); + } + return HEAP32[16677] | 0; +} + +function __ZNKSt3__220__time_get_c_storageIwE7__am_pmEv($0) { + $0 = $0 | 0; + if ((HEAP8[64696] | 0) == 0 ? ___cxa_guard_acquire(64696) | 0 : 0) { + __ZNSt3__2L11init_wam_pmEv(); + HEAP32[16675] = 63808; + ___cxa_guard_release(64696); + } + return HEAP32[16675] | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle8NameType7getNameEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0, $8 = 0, $9 = 0; + $3 = $1 + 8 | 0; + $8 = HEAP32[$3 + 4 >> 2] | 0; + $9 = $0; + HEAP32[$9 >> 2] = HEAP32[$3 >> 2]; + HEAP32[$9 + 4 >> 2] = $8; + return; +} + +function __ZN6vision9ExceptionC2ERKNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP32[$0 >> 2] = 16788; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_($0 + 4 | 0, $1); + return; +} + +function _finish_pass_huff($0) { + $0 = $0 | 0; + var $3 = 0, $8 = 0; + $3 = (HEAP32[$0 + 468 >> 2] | 0) + 16 | 0; + $8 = (HEAP32[$0 + 464 >> 2] | 0) + 24 | 0; + HEAP32[$8 >> 2] = (HEAP32[$8 >> 2] | 0) + ((HEAP32[$3 >> 2] | 0) / 8 | 0); + HEAP32[$3 >> 2] = 0; + return; +} + +function __ZNKSt3__220__time_get_c_storageIcE7__weeksEv($0) { + $0 = $0 | 0; + if ((HEAP8[64648] | 0) == 0 ? ___cxa_guard_acquire(64648) | 0 : 0) { + __ZNSt3__2L10init_weeksEv(); + HEAP32[16660] = 63632; + ___cxa_guard_release(64648); + } + return HEAP32[16660] | 0; +} + +function __ZNKSt3__220__time_get_c_storageIcE7__am_pmEv($0) { + $0 = $0 | 0; + if ((HEAP8[64616] | 0) == 0 ? ___cxa_guard_acquire(64616) | 0 : 0) { + __ZNSt3__2L10init_am_pmEv(); + HEAP32[16658] = 63312; + ___cxa_guard_release(64616); + } + return HEAP32[16658] | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle13ReferenceType19hasRHSComponentSlowERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZNK12_GLOBAL__N_116itanium_demangle4Node15hasRHSComponentERNS_12OutputStreamE(HEAP32[$0 + 8 >> 2] | 0, $1) | 0; +} + +function __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($0) { + $0 = $0 | 0; + if ((HEAP8[$0 + 11 >> 0] | 0) < 0) __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm(HEAP32[$0 >> 2] | 0, HEAP32[$0 + 8 >> 2] & 2147483647); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle9ThrowExprC2EPKNS0_4NodeE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 58, 1, 1, 1); + HEAP32[$0 >> 2] = 18264; + HEAP32[$0 + 8 >> 2] = $1; + return; +} + +function __ZNSt3__212_GLOBAL__N_14makeINS_8time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_() { + var $0 = 0; + HEAP32[16257] = 0; + HEAP32[16256] = 23484; + $0 = __ZNSt3__26__clocEv() | 0; + HEAP32[16258] = $0; + HEAP32[16256] = 22720; + return; +} + +function __ZNSt3__212_GLOBAL__N_14makeINS_8time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_() { + var $0 = 0; + HEAP32[16253] = 0; + HEAP32[16252] = 23484; + $0 = __ZNSt3__26__clocEv() | 0; + HEAP32[16254] = $0; + HEAP32[16252] = 22696; + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle11PointerType19hasRHSComponentSlowERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZNK12_GLOBAL__N_116itanium_demangle4Node15hasRHSComponentERNS_12OutputStreamE(HEAP32[$0 + 8 >> 2] | 0, $1) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle8DtorNameC2EPKNS0_4NodeE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 38, 1, 1, 1); + HEAP32[$0 >> 2] = 19056; + HEAP32[$0 + 8 >> 2] = $1; + return; +} + +function __ZNKSt3__27codecvtIDsc11__mbstate_tE9do_lengthERS1_PKcS5_m($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + return __ZNSt3__2L20utf8_to_utf16_lengthEPKhS1_mmNS_12codecvt_modeE($2, $3, $4, 1114111, 0) | 0; +} + +function dynCall_iiiiiii(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; + return FUNCTION_TABLE_iiiiiii[index & 63](a1 | 0, a2 | 0, a3 | 0, a4 | 0, a5 | 0, a6 | 0) | 0; +} + +function __ZNKSt3__27codecvtIDic11__mbstate_tE9do_lengthERS1_PKcS5_m($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + return __ZNSt3__2L19utf8_to_ucs4_lengthEPKhS1_mmNS_12codecvt_modeE($2, $3, $4, 1114111, 0) | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle8QualType19hasRHSComponentSlowERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZNK12_GLOBAL__N_116itanium_demangle4Node15hasRHSComponentERNS_12OutputStreamE(HEAP32[$0 + 12 >> 2] | 0, $1) | 0; +} + +function __ZNSt3__26locale5__imp7installINS_9money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvPT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZNSt3__26locale5__imp7installEPNS0_5facetEl($0, $1, __ZNSt3__26locale2id5__getEv(66792) | 0); + return; +} + +function __ZNSt3__26locale5__imp7installINS_9money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvPT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZNSt3__26locale5__imp7installEPNS0_5facetEl($0, $1, __ZNSt3__26locale2id5__getEv(66784) | 0); + return; +} + +function __ZNSt3__26locale5__imp7installINS_9money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvPT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZNSt3__26locale5__imp7installEPNS0_5facetEl($0, $1, __ZNSt3__26locale2id5__getEv(66776) | 0); + return; +} + +function __ZNSt3__26locale5__imp7installINS_9money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvPT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZNSt3__26locale5__imp7installEPNS0_5facetEl($0, $1, __ZNSt3__26locale2id5__getEv(66768) | 0); + return; +} + +function _pntz($0) { + $0 = $0 | 0; + var $3 = 0, $7 = 0; + $3 = _a_ctz_l_730((HEAP32[$0 >> 2] | 0) + -1 | 0) | 0; + if (!$3) { + $7 = _a_ctz_l_730(HEAP32[$0 + 4 >> 2] | 0) | 0; + return (($7 | 0) == 0 ? 0 : $7 + 32 | 0) | 0; + } else return $3 | 0; + return 0; +} + +function __ZNSt3__26locale5__imp7installINS_8time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvPT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZNSt3__26locale5__imp7installEPNS0_5facetEl($0, $1, __ZNSt3__26locale2id5__getEv(66728) | 0); + return; +} + +function __ZNSt3__26locale5__imp7installINS_8time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvPT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZNSt3__26locale5__imp7installEPNS0_5facetEl($0, $1, __ZNSt3__26locale2id5__getEv(66720) | 0); + return; +} + +function __ZNSt3__26locale5__imp7installINS_8time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvPT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZNSt3__26locale5__imp7installEPNS0_5facetEl($0, $1, __ZNSt3__26locale2id5__getEv(66712) | 0); + return; +} + +function __ZNSt3__26locale5__imp7installINS_8time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvPT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZNSt3__26locale5__imp7installEPNS0_5facetEl($0, $1, __ZNSt3__26locale2id5__getEv(66644) | 0); + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle8QualType10printRightERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0; + $3 = HEAP32[$0 + 12 >> 2] | 0; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$3 >> 2] | 0) + 20 >> 2] & 255]($3, $1); + return; +} + +function __ZN6vision18BinaryFeatureStoreC2Ev($0) { + $0 = $0 | 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + HEAP32[$0 + 12 >> 2] = 0; + HEAP32[$0 + 16 >> 2] = 0; + HEAP32[$0 + 20 >> 2] = 0; + HEAP32[$0 + 24 >> 2] = 0; + return; +} + +function __ZN10emscripten8internal7InvokerIvJiEE6invokeEPFviEi($fn, $args) { + $fn = $fn | 0; + $args = $args | 0; + var $call = 0; + $call = __ZN10emscripten8internal11BindingTypeIivE12fromWireTypeEi($args) | 0; + FUNCTION_TABLE_vi[$fn & 255]($call); + return; +} + +function __ZNSt3__26locale5__imp7installINS_7num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvPT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZNSt3__26locale5__imp7installEPNS0_5facetEl($0, $1, __ZNSt3__26locale2id5__getEv(66576) | 0); + return; +} + +function __ZNSt3__26locale5__imp7installINS_7num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvPT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZNSt3__26locale5__imp7installEPNS0_5facetEl($0, $1, __ZNSt3__26locale2id5__getEv(66568) | 0); + return; +} + +function __ZNSt3__26locale5__imp7installINS_7num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEEEvPT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZNSt3__26locale5__imp7installEPNS0_5facetEl($0, $1, __ZNSt3__26locale2id5__getEv(66560) | 0); + return; +} + +function __ZNSt3__26locale5__imp7installINS_7num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEEEvPT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZNSt3__26locale5__imp7installEPNS0_5facetEl($0, $1, __ZNSt3__26locale2id5__getEv(66536) | 0); + return; +} + +function __ZN6vision22bilinear_interpolationIfEET_PKS1_mmmff($0, $1, $2, $3, $4, $5) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = +$4; + $5 = +$5; + return +(+__ZN6vision22bilinear_interpolationIffEET0_PKT_mmmff($0, $1, $2, $3, $4, $5)); +} + +function __ZNSt3__211char_traitsIwE7not_eofEj($0) { + $0 = $0 | 0; + var $5 = 0; + if (__ZNSt3__211char_traitsIwE11eq_int_typeEjj($0, __ZNSt3__211char_traitsIwE3eofEv() | 0) | 0) $5 = ~(__ZNSt3__211char_traitsIwE3eofEv() | 0); else $5 = $0; + return $5 | 0; +} + +function __ZNSt3__211char_traitsIcE7not_eofEi($0) { + $0 = $0 | 0; + var $5 = 0; + if (__ZNSt3__211char_traitsIcE11eq_int_typeEii($0, __ZNSt3__211char_traitsIcE3eofEv() | 0) | 0) $5 = ~(__ZNSt3__211char_traitsIcE3eofEv() | 0); else $5 = $0; + return $5 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle9ArrayType9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0; + $3 = HEAP32[$0 + 8 >> 2] | 0; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$3 >> 2] | 0) + 16 >> 2] & 255]($3, $1); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle8BoolExprC2Eb($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZN12_GLOBAL__N_116itanium_demangle4NodeC2ENS1_4KindENS1_5CacheES3_S3_($0, 59, 1, 1, 1); + HEAP32[$0 >> 2] = 18132; + HEAP8[$0 + 8 >> 0] = $1 & 1; + return; +} + +function dynCall_iiiiiid(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; + return FUNCTION_TABLE_iiiiiid[index & 3](a1 | 0, a2 | 0, a3 | 0, a4 | 0, a5 | 0, +a6) | 0; +} + +function dynCall_iidiiii(index, a1, a2, a3, a4, a5, a6) { + index = index | 0; + a1 = a1 | 0; + a2 = +a2; + a3 = a3 | 0; + a4 = a4 | 0; + a5 = a5 | 0; + a6 = a6 | 0; + return FUNCTION_TABLE_iidiiii[index & 1](a1 | 0, +a2, a3 | 0, a4 | 0, a5 | 0, a6 | 0) | 0; +} + +function ___ofl_add($0) { + $0 = $0 | 0; + var $1 = 0, $4 = 0; + $1 = ___ofl_lock() | 0; + HEAP32[$0 + 56 >> 2] = HEAP32[$1 >> 2]; + $4 = HEAP32[$1 >> 2] | 0; + if ($4 | 0) HEAP32[$4 + 52 >> 2] = $0; + HEAP32[$1 >> 2] = $0; + ___ofl_unlock(); + return $0 | 0; +} + +function __ZNKSt3__220__shared_ptr_pointerIPN6vision8KeyframeILi96EEENS_14default_deleteIS3_EENS_9allocatorIS3_EEE13__get_deleterERKSt9type_info($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return ((HEAP32[$1 + 4 >> 2] | 0) == 34519 ? $0 + 12 | 0 : 0) | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle20NameWithTemplateArgs11getBaseNameEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0; + $3 = HEAP32[$1 + 8 >> 2] | 0; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$3 >> 2] | 0) + 24 >> 2] & 255]($0, $3); + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle8QualType15hasFunctionSlowERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZNK12_GLOBAL__N_116itanium_demangle4Node11hasFunctionERNS_12OutputStreamE(HEAP32[$0 + 12 >> 2] | 0, $1) | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle19GlobalQualifiedName11getBaseNameEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0; + $3 = HEAP32[$1 + 8 >> 2] | 0; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$3 >> 2] | 0) + 24 >> 2] & 255]($0, $3); + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle20TemplateArgumentPack9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZNK12_GLOBAL__N_116itanium_demangle9NodeArray14printWithCommaERNS_12OutputStreamE($0 + 8 | 0, $1); + return; +} + +function __ZNSt3__214priority_queueIN6vision17PriorityQueueItemILi96EEENS_6vectorIS3_NS_9allocatorIS3_EEEENS_4lessIS3_EEED2Ev($0) { + $0 = $0 | 0; + __ZNSt3__213__vector_baseIN6vision17PriorityQueueItemILi96EEENS_9allocatorIS3_EEED2Ev($0); + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle16StdQualifiedName11getBaseNameEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0; + $3 = HEAP32[$1 + 8 >> 2] | 0; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$3 >> 2] | 0) + 24 >> 2] & 255]($0, $3); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_24ForwardTemplateReferenceELm4EEC2Ev($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = $0 + 12 | 0; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $1; + HEAP32[$0 + 8 >> 2] = $0 + 28; + return; +} + +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 & 7](a1 | 0, a2 | 0, a3 | 0, a4 | 0, a5 | 0, a6 | 0); +} + +function __ZNSt3__26locale8__globalEv() { + if ((HEAP8[65224] | 0) == 0 ? ___cxa_guard_acquire(65224) | 0 : 0) { + __ZNSt3__26locale5__imp11make_globalEv() | 0; + HEAP32[16715] = 66856; + ___cxa_guard_release(65224); + } + return HEAP32[16715] | 0; +} + +function __ZNSt3__26locale7classicEv() { + if ((HEAP8[65056] | 0) == 0 ? ___cxa_guard_acquire(65056) | 0 : 0) { + __ZNSt3__26locale5__imp12make_classicEv() | 0; + HEAP32[16713] = 66848; + ___cxa_guard_release(65056); + } + return HEAP32[16713] | 0; +} + +function __ZNSt3__26__clocEv() { + var $4 = 0; + if ((HEAP8[64576] | 0) == 0 ? ___cxa_guard_acquire(64576) | 0 : 0) { + $4 = ___newlocale(2147483647, 58971, 0) | 0; + HEAP32[16630] = $4; + ___cxa_guard_release(64576); + } + return HEAP32[16630] | 0; +} + +function __ZL8is_equalPKSt9type_infoS1_b($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0; + if ($2) $$0 = (_strcmp(HEAP32[$0 + 4 >> 2] | 0, HEAP32[$1 + 4 >> 2] | 0) | 0) == 0; else $$0 = ($0 | 0) == ($1 | 0); + return $$0 | 0; +} + +function __ZNSt3__26localeC2Ev($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0, $3 = 0; + $1 = __ZNSt3__26locale8__globalEv() | 0; + $2 = HEAP32[$1 >> 2] | 0; + HEAP32[$0 >> 2] = $2; + $3 = $2 + 4 | 0; + HEAP32[$3 >> 2] = (HEAP32[$3 >> 2] | 0) + 1; + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle13QualifiedName11getBaseNameEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0; + $3 = HEAP32[$1 + 12 >> 2] | 0; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$3 >> 2] | 0) + 24 >> 2] & 255]($0, $3); + return; +} + +function __ZN10emscripten8internal6TypeIDINSt3__212basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEEvE3getEv() { + return __ZN10emscripten8internal11LightTypeIDINSt3__212basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEEE3getEv() | 0; +} + +function __ZN10emscripten8internal6TypeIDINSt3__212basic_stringIhNS2_11char_traitsIhEENS2_9allocatorIhEEEEvE3getEv() { + return __ZN10emscripten8internal11LightTypeIDINSt3__212basic_stringIhNS2_11char_traitsIhEENS2_9allocatorIhEEEEE3getEv() | 0; +} + +function __ZN10emscripten8internal6TypeIDINSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEvE3getEv() { + return __ZN10emscripten8internal11LightTypeIDINSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEE3getEv() | 0; +} + +function ___uselocale($0) { + $0 = $0 | 0; + var $2 = 0, $3 = 0; + $2 = (___pthread_self_234() | 0) + 188 | 0; + $3 = HEAP32[$2 >> 2] | 0; + if ($0 | 0) HEAP32[$2 >> 2] = ($0 | 0) == (-1 | 0) ? 65348 : $0; + return (($3 | 0) == 65348 ? -1 : $3) | 0; +} + +function __ZN6vision10SubVector2IfEEvPT_PKS1_S4_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + HEAPF32[$0 >> 2] = +HEAPF32[$1 >> 2] - +HEAPF32[$2 >> 2]; + HEAPF32[$0 + 4 >> 2] = +HEAPF32[$1 + 4 >> 2] - +HEAPF32[$2 + 4 >> 2]; + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle8QualType12hasArraySlowERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZNK12_GLOBAL__N_116itanium_demangle4Node8hasArrayERNS_12OutputStreamE(HEAP32[$0 + 12 >> 2] | 0, $1) | 0; +} + +function __ZN6vision22QuadraticCriticalPointIfEEbRT_S1_S1_S1_($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + var $$0 = 0; + if ($1 == 0.0) $$0 = 0; else { + HEAPF32[$0 >> 2] = -$2 / ($1 * 2.0); + $$0 = 1; + } + return $$0 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle10NestedName11getBaseNameEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0; + $3 = HEAP32[$1 + 12 >> 2] | 0; + FUNCTION_TABLE_vii[HEAP32[(HEAP32[$3 >> 2] | 0) + 24 >> 2] & 255]($0, $3); + return; +} + +function __ZN6vision20VisualDatabaseFacade9matchedIdEv($0) { + $0 = $0 | 0; + return __ZNK6vision14VisualDatabaseINS_14FREAKExtractorENS_18BinaryFeatureStoreENS_20BinaryFeatureMatcherILi96EEEE9matchedIdEv(HEAP32[HEAP32[$0 >> 2] >> 2] | 0) | 0; +} + +function __ZNSt3__220__shared_ptr_pointerIPN6vision8KeyframeILi96EEENS_14default_deleteIS3_EENS_9allocatorIS3_EEE21__on_zero_shared_weakEv($0) { + $0 = $0 | 0; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($0, 16); + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle13NodeArrayNode9printLeftERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZNK12_GLOBAL__N_116itanium_demangle9NodeArray14printWithCommaERNS_12OutputStreamE($0 + 8 | 0, $1); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EED2Ev($0) { + $0 = $0 | 0; + if (!(__ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE8isInlineEv($0) | 0)) _free(HEAP32[$0 >> 2] | 0); + return; +} + +function __ZNK6vision20VisualDatabaseFacade7inliersEv($0) { + $0 = $0 | 0; + return __ZNK6vision14VisualDatabaseINS_14FREAKExtractorENS_18BinaryFeatureStoreENS_20BinaryFeatureMatcherILi96EEEE7inliersEv(HEAP32[HEAP32[$0 >> 2] >> 2] | 0) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EED2Ev($0) { + $0 = $0 | 0; + if (!(__ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EE8isInlineEv($0) | 0)) _free(HEAP32[$0 >> 2] | 0); + return; +} + +function __ZN6vision10FastMedianIfiEENSt3__24pairIT_T0_EEPS5_i($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + __ZN6vision11PartialSortIfiEENSt3__24pairIT_T0_EEPS5_ii($0, $1, $2, ($2 & 1) + -1 + (($2 | 0) / 2 | 0) | 0); + return; +} + +function __ZNKSt3__27codecvtIcc11__mbstate_tE9do_lengthERS1_PKcS5_m($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + var $7 = 0; + $7 = $3 - $2 | 0; + return ($7 >>> 0 < $4 >>> 0 ? $7 : $4) | 0; +} + +function __ZN6vision11CopyVector2IfEEvPT_PKS1_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $7 = 0, $8 = 0; + $2 = $1; + $7 = HEAP32[$2 + 4 >> 2] | 0; + $8 = $0; + HEAP32[$8 >> 2] = HEAP32[$2 >> 2]; + HEAP32[$8 + 4 >> 2] = $7; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EE11clearInlineEv($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = $0 + 12 | 0; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $1; + HEAP32[$0 + 8 >> 2] = $0 + 44; + return; +} + +function __ZN6vision8KeyframeILi96EEC2Ev($0) { + $0 = $0 | 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + __ZN6vision18BinaryFeatureStoreC2Ev($0 + 8 | 0); + __ZN6vision28BinaryHierarchicalClusteringILi96EEC2Ev($0 + 36 | 0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EEixEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return (__ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE5beginEv($0) | 0) + ($1 << 2) | 0; +} + +function _kpmGetResult($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $$0 = 0; + if (!$0) $$0 = -1; else { + HEAP32[$1 >> 2] = HEAP32[$0 + 52 >> 2]; + HEAP32[$2 >> 2] = HEAP32[$0 + 56 >> 2]; + $$0 = 0; + } + return $$0 | 0; +} + +function _ar3DDeleteHandle($0) { + $0 = $0 | 0; + var $$0 = 0, $1 = 0; + $1 = HEAP32[$0 >> 2] | 0; + if (!$1) $$0 = -1; else { + _icpDeleteHandle($1) | 0; + _free(HEAP32[$0 >> 2] | 0); + HEAP32[$0 >> 2] = 0; + $$0 = 0; + } + return $$0 | 0; +} + +function __ZN12_GLOBAL__N_114SwapAndRestoreIPKcEC2ERS2_S2_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = HEAP32[$1 >> 2]; + HEAP8[$0 + 8 >> 0] = 1; + HEAP32[$1 >> 2] = $2; + return; +} + +function __ZSt11__terminatePFvvE($0) { + $0 = $0 | 0; + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + FUNCTION_TABLE_v[$0 & 3](); + _abort_message(51119, sp); +} + +function __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EEixEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return (__ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EE5beginEv($0) | 0) + ($1 << 2) | 0; +} + +function __ZN12_GLOBAL__N_114SwapAndRestoreIbEC2ERbb($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + HEAP32[$0 >> 2] = $1; + HEAP8[$0 + 4 >> 0] = HEAP8[$1 >> 0] | 0; + HEAP8[$0 + 5 >> 0] = 1; + HEAP8[$1 >> 0] = $2 & 1; + return; +} + +function _arPattAttach($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0, $3 = 0; + if (($0 | 0) != 0 ? ($3 = $0 + 7062384 | 0, (HEAP32[$3 >> 2] | 0) == 0) : 0) { + HEAP32[$3 >> 2] = $1; + $$0 = 0; + } else $$0 = -1; + return $$0 | 0; +} + +function _jpeg_destroy($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0; + $1 = $0 + 4 | 0; + $2 = HEAP32[$1 >> 2] | 0; + if ($2 | 0) FUNCTION_TABLE_vi[HEAP32[$2 + 40 >> 2] & 255]($0); + HEAP32[$1 >> 2] = 0; + HEAP32[$0 + 20 >> 2] = 0; + return; +} + +function dynCall_iiiiii(index, a1, a2, a3, a4, a5) { + index = index | 0; + a1 = a1 | 0; + a2 = a2 | 0; + a3 = a3 | 0; + a4 = a4 | 0; + a5 = a5 | 0; + return FUNCTION_TABLE_iiiiii[index & 31](a1 | 0, a2 | 0, a3 | 0, a4 | 0, a5 | 0) | 0; +} +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 __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EEC2Ev($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = $0 + 12 | 0; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $1; + HEAP32[$0 + 8 >> 2] = $0 + 140; + return; +} + +function __ZNSt3__27codecvtIwc11__mbstate_tEC2Em($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $5 = 0; + HEAP32[$0 + 4 >> 2] = $1 + -1; + HEAP32[$0 >> 2] = 23240; + $5 = __ZNSt3__26__clocEv() | 0; + HEAP32[$0 + 8 >> 2] = $5; + return; +} + +function __ZN6vision18BinaryFeatureStoreD2Ev($0) { + $0 = $0 | 0; + __ZNSt3__213__vector_baseIN6vision12FeaturePointENS_9allocatorIS2_EEED2Ev($0 + 16 | 0); + __ZNSt3__213__vector_baseIhNS_9allocatorIhEEED2Ev($0 + 4 | 0); + return; +} + +function _pop_arg_long_double($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $7 = 0, $8 = 0.0; + $7 = (HEAP32[$1 >> 2] | 0) + (8 - 1) & ~(8 - 1); + $8 = +HEAPF64[$7 >> 3]; + HEAP32[$1 >> 2] = $7 + 8; + HEAPF64[$0 >> 3] = $8; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EEC2Ev($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = $0 + 12 | 0; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $1; + HEAP32[$0 + 8 >> 2] = $0 + 44; + return; +} + +function __ZNSt3__211char_traitsIcE6assignEPcmc($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + if ($1 | 0) _memset($0 | 0, (__ZNSt3__211char_traitsIcE11to_int_typeEc($2) | 0) & 255 | 0, $1 | 0) | 0; + return $0 | 0; +} + +function __ZNSt3__220__shared_ptr_pointerIPh16NullArrayDeleterIhENS_9allocatorIhEEE16__on_zero_sharedEv($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = $0 + 12 | 0; + __ZNK16NullArrayDeleterIhEclEPh($1, HEAP32[$1 >> 2] | 0); + return; +} + +function __ZN6vision17bitstring_set_bitEPhih($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $7 = 0; + $7 = $0 + (($1 | 0) / 8 | 0) | 0; + HEAP8[$7 >> 0] = ($2 & 255) << ($1 & 7) | (HEAPU8[$7 >> 0] | 0); + return; +} + +function dynCall_iiiiid(index, a1, a2, a3, a4, a5) { + index = index | 0; + a1 = a1 | 0; + a2 = a2 | 0; + a3 = a3 | 0; + a4 = a4 | 0; + a5 = +a5; + return FUNCTION_TABLE_iiiiid[index & 7](a1 | 0, a2 | 0, a3 | 0, a4 | 0, +a5) | 0; +} + +function _arSetLabelingThreshModeAutoInterval($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0; + if (!$0) $$0 = -1; else { + HEAP32[$0 + 7062392 >> 2] = $1; + HEAP32[$0 + 7062396 >> 2] = 0; + $$0 = 0; + } + return $$0 | 0; +} + +function __ZNKSt3__220__shared_ptr_pointerIPhNS_14default_deleteIhEENS_9allocatorIhEEE13__get_deleterERKSt9type_info($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return ((HEAP32[$1 + 4 >> 2] | 0) == 38743 ? $0 + 12 | 0 : 0) | 0; +} + +function __ZN6vision21OrientationAssignmentD2Ev($0) { + $0 = $0 | 0; + __ZNSt3__213__vector_baseIN6vision5ImageENS_9allocatorIS2_EEED2Ev($0 + 40 | 0); + __ZNSt3__213__vector_baseIfNS_9allocatorIfEEED2Ev($0 + 28 | 0); + return; +} + +function __ZNSt3__26locale5__imp7installINS_7codecvtIDsc11__mbstate_tEEEEvPT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZNSt3__26locale5__imp7installEPNS0_5facetEl($0, $1, __ZNSt3__26locale2id5__getEv(66832) | 0); + return; +} + +function __ZNSt3__26locale5__imp7installINS_7codecvtIDic11__mbstate_tEEEEvPT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZNSt3__26locale5__imp7installEPNS0_5facetEl($0, $1, __ZNSt3__26locale2id5__getEv(66840) | 0); + return; +} + +function __ZNSt3__25ctypeIcED2Ev($0) { + $0 = $0 | 0; + var $2 = 0; + HEAP32[$0 >> 2] = 23308; + $2 = HEAP32[$0 + 8 >> 2] | 0; + if ($2 | 0 ? HEAP8[$0 + 12 >> 0] | 0 : 0) __ZdaPv($2); + __ZNSt3__26locale5facetD2Ev($0); + return; +} + +function __ZNSt3__26locale5__imp7installINS_7codecvtIwc11__mbstate_tEEEEvPT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZNSt3__26locale5__imp7installEPNS0_5facetEl($0, $1, __ZNSt3__26locale2id5__getEv(66824) | 0); + return; +} + +function __ZNSt3__26locale5__imp7installINS_7codecvtIcc11__mbstate_tEEEEvPT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZNSt3__26locale5__imp7installEPNS0_5facetEl($0, $1, __ZNSt3__26locale2id5__getEv(66816) | 0); + return; +} + +function __ZNKSt3__220__shared_ptr_pointerIPh16NullArrayDeleterIhENS_9allocatorIhEEE13__get_deleterERKSt9type_info($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return ((HEAP32[$1 + 4 >> 2] | 0) == 38865 ? $0 + 12 | 0 : 0) | 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 & 63](a1 | 0, a2 | 0, a3 | 0, a4 | 0, a5 | 0); +} + +function _byteSwapDouble($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0; + $$0 = 0; + while (1) { + if (($$0 | 0) == 8) break; + HEAP8[$1 + $$0 >> 0] = HEAP8[$0 + (7 - $$0) >> 0] | 0; + $$0 = $$0 + 1 | 0; + } + return; +} + +function __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEED1Ev($0) { + $0 = $0 | 0; + __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEED2Ev($0, 20872); + __ZNSt3__29basic_iosIwNS_11char_traitsIwEEED2Ev($0 + 4 | 0); + return; +} + +function __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEED1Ev($0) { + $0 = $0 | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEED2Ev($0, 20824); + __ZNSt3__29basic_iosIcNS_11char_traitsIcEEED2Ev($0 + 4 | 0); + return; +} + +function __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEED1Ev($0) { + $0 = $0 | 0; + __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEED2Ev($0, 20776); + __ZNSt3__29basic_iosIwNS_11char_traitsIwEEED2Ev($0 + 8 | 0); + return; +} + +function __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEED1Ev($0) { + $0 = $0 | 0; + __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEED2Ev($0, 20728); + __ZNSt3__29basic_iosIcNS_11char_traitsIcEEED2Ev($0 + 8 | 0); + return; +} + +function _process_data_crank_post($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + FUNCTION_TABLE_viiiiiii[HEAP32[(HEAP32[$0 + 456 >> 2] | 0) + 4 >> 2] & 7]($0, 0, 0, 0, $1, $2, $3); + return; +} + +function __ZNKSt3__26locale9use_facetERNS0_2idE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = HEAP32[$0 >> 2] | 0; + return __ZNKSt3__26locale5__imp9use_facetEl($2, __ZNSt3__26locale2id5__getEv($1) | 0) | 0; +} + +function __ZN6vision10DoGPyramid3getEmm($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $6 = 0; + $6 = (Math_imul(HEAP32[$0 + 16 >> 2] | 0, $1) | 0) + $2 | 0; + return (HEAP32[$0 >> 2] | 0) + ($6 << 5) | 0; +} + +function _arGetLabelingThreshMode($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0; + if (($0 | 0) != 0 & ($1 | 0) != 0) { + HEAP32[$1 >> 2] = HEAP32[$0 + 7062388 >> 2]; + $$0 = 0; + } else $$0 = -1; + return $$0 | 0; +} + +function __ZNSt3__26localeC2ERKS0_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0, $3 = 0; + $2 = HEAP32[$1 >> 2] | 0; + HEAP32[$0 >> 2] = $2; + $3 = $2 + 4 | 0; + HEAP32[$3 >> 2] = (HEAP32[$3 >> 2] | 0) + 1; + return; +} + +function __ZNK12_GLOBAL__N_112OutputStream4backEv($0) { + $0 = $0 | 0; + var $2 = 0, $8 = 0; + $2 = HEAP32[$0 + 4 >> 2] | 0; + if (!$2) $8 = 0; else $8 = HEAP8[(HEAP32[$0 >> 2] | 0) + ($2 + -1) >> 0] | 0; + return $8 | 0; +} + +function _grayscale_convert_52($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + _jcopy_sample_rows(HEAP32[$1 >> 2] | 0, $2, $3, 0, $4, HEAP32[$0 + 112 >> 2] | 0); + return; +} + +function _byteSwapInt($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0; + $$0 = 0; + while (1) { + if (($$0 | 0) == 4) break; + HEAP8[$1 + $$0 >> 0] = HEAP8[$0 + (3 - $$0) >> 0] | 0; + $$0 = $$0 + 1 | 0; + } + return; +} + +function ___lctrans_impl($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0; + if (!$1) $$0 = 0; else $$0 = ___mo_lookup(HEAP32[$1 >> 2] | 0, HEAP32[$1 + 4 >> 2] | 0, $0) | 0; + return (($$0 | 0) == 0 ? $0 : $$0) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_24ForwardTemplateReferenceELm4EE8dropBackEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP32[$0 + 4 >> 2] = (HEAP32[$0 >> 2] | 0) + ($1 << 2); + return; +} + +function _self_destruct($0) { + $0 = $0 | 0; + var $1 = 0; + _free_pool($0, 1); + _free_pool($0, 0); + $1 = $0 + 4 | 0; + _jpeg_free_small($0, HEAP32[$1 >> 2] | 0, 84); + HEAP32[$1 >> 2] = 0; + _jpeg_mem_term($0); + return; +} + +function _arImageProcInit($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = _malloc(2064) | 0; + if ($2 | 0) { + HEAP32[$2 >> 2] = 0; + HEAP32[$2 + 4 >> 2] = $0; + HEAP32[$2 + 8 >> 2] = $1; + } + return $2 | 0; +} + +function __ZNSt3__26locale5__imp7installINS_10moneypunctIwLb1EEEEEvPT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZNSt3__26locale5__imp7installEPNS0_5facetEl($0, $1, __ZNSt3__26locale2id5__getEv(66760) | 0); + return; +} + +function __ZNSt3__26locale5__imp7installINS_10moneypunctIwLb0EEEEEvPT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZNSt3__26locale5__imp7installEPNS0_5facetEl($0, $1, __ZNSt3__26locale2id5__getEv(66752) | 0); + return; +} + +function __ZNSt3__26locale5__imp7installINS_10moneypunctIcLb1EEEEEvPT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZNSt3__26locale5__imp7installEPNS0_5facetEl($0, $1, __ZNSt3__26locale2id5__getEv(66744) | 0); + return; +} + +function __ZNSt3__26locale5__imp7installINS_10moneypunctIcLb0EEEEEvPT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZNSt3__26locale5__imp7installEPNS0_5facetEl($0, $1, __ZNSt3__26locale2id5__getEv(66736) | 0); + return; +} + +function _jpeg_open_backing_store($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = HEAP32[$0 >> 2] | 0; + HEAP32[$3 + 20 >> 2] = 51; + FUNCTION_TABLE_vi[HEAP32[$3 >> 2] & 255]($0); + return; +} + +function _arPattDetach($0) { + $0 = $0 | 0; + var $$0 = 0, $2 = 0; + if (($0 | 0) != 0 ? ($2 = $0 + 7062384 | 0, (HEAP32[$2 >> 2] | 0) != 0) : 0) { + HEAP32[$2 >> 2] = 0; + $$0 = 0; + } else $$0 = -1; + return $$0 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E7numLeftEv($0) { + $0 = $0 | 0; + return (HEAP32[$0 + 4 >> 2] | 0) - (HEAP32[$0 >> 2] | 0) | 0; +} + +function __ZN6vision20VisualDatabaseFacadeD2Ev($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = HEAP32[$0 >> 2] | 0; + HEAP32[$0 >> 2] = 0; + if ($1 | 0) { + __ZN6vision18VisualDatabaseImplD2Ev($1); + __ZdlPv($1); + } + return; +} + +function _arGetMatrixCodeType($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0; + if (($0 | 0) != 0 & ($1 | 0) != 0) { + HEAP32[$1 >> 2] = HEAP32[$0 + 7062424 >> 2]; + $$0 = 0; + } else $$0 = -1; + return $$0 | 0; +} + +function __ZNSt3__220__shared_ptr_pointerIPhNS_14default_deleteIhEENS_9allocatorIhEEE21__on_zero_shared_weakEv($0) { + $0 = $0 | 0; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($0, 16); + return; +} + +function __ZTv0_n12_NSt3__213basic_ostreamIwNS_11char_traitsIwEEED1Ev($0) { + $0 = $0 | 0; + __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEED1Ev($0 + (HEAP32[(HEAP32[$0 >> 2] | 0) + -12 >> 2] | 0) | 0); + return; +} + +function __ZTv0_n12_NSt3__213basic_ostreamIwNS_11char_traitsIwEEED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEED0Ev($0 + (HEAP32[(HEAP32[$0 >> 2] | 0) + -12 >> 2] | 0) | 0); + return; +} + +function __ZTv0_n12_NSt3__213basic_ostreamIcNS_11char_traitsIcEEED1Ev($0) { + $0 = $0 | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEED1Ev($0 + (HEAP32[(HEAP32[$0 >> 2] | 0) + -12 >> 2] | 0) | 0); + return; +} + +function __ZTv0_n12_NSt3__213basic_ostreamIcNS_11char_traitsIcEEED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEED0Ev($0 + (HEAP32[(HEAP32[$0 >> 2] | 0) + -12 >> 2] | 0) | 0); + return; +} + +function __ZTv0_n12_NSt3__213basic_istreamIwNS_11char_traitsIwEEED1Ev($0) { + $0 = $0 | 0; + __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEED1Ev($0 + (HEAP32[(HEAP32[$0 >> 2] | 0) + -12 >> 2] | 0) | 0); + return; +} + +function __ZTv0_n12_NSt3__213basic_istreamIwNS_11char_traitsIwEEED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEED0Ev($0 + (HEAP32[(HEAP32[$0 >> 2] | 0) + -12 >> 2] | 0) | 0); + return; +} + +function __ZTv0_n12_NSt3__213basic_istreamIcNS_11char_traitsIcEEED1Ev($0) { + $0 = $0 | 0; + __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEED1Ev($0 + (HEAP32[(HEAP32[$0 >> 2] | 0) + -12 >> 2] | 0) | 0); + return; +} + +function __ZTv0_n12_NSt3__213basic_istreamIcNS_11char_traitsIcEEED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEED0Ev($0 + (HEAP32[(HEAP32[$0 >> 2] | 0) + -12 >> 2] | 0) | 0); + return; +} + +function __ZNSt3__220__shared_ptr_pointerIPh16NullArrayDeleterIhENS_9allocatorIhEEE21__on_zero_shared_weakEv($0) { + $0 = $0 | 0; + __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($0, 16); + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle12NodeOrString8asStringEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZN12_GLOBAL__N_110StringViewC2EPKcS2_($0, HEAP32[$1 >> 2] | 0, HEAP32[$1 + 4 >> 2] | 0); + return; +} + +function __ZN12_GLOBAL__N_114SwapAndRestoreIjEC2ERjj($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = HEAP32[$1 >> 2]; + HEAP8[$0 + 8 >> 0] = 1; + HEAP32[$1 >> 2] = -1; + return; +} + +function _i64Subtract(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var h = 0; + h = b - d >>> 0; + h = b - d - (c >>> 0 > a >>> 0 | 0) >>> 0; + return (setTempRet0(h | 0), a - c >>> 0 | 0) | 0; +} + +function ___strdup($0) { + $0 = $0 | 0; + var $$0 = 0, $2 = 0, $3 = 0; + $2 = (_strlen($0) | 0) + 1 | 0; + $3 = _malloc($2) | 0; + if (!$3) $$0 = 0; else $$0 = _memcpy($3 | 0, $0 | 0, $2 | 0) | 0; + return $$0 | 0; +} + +function __ZNSt3__28numpunctIwED2Ev($0) { + $0 = $0 | 0; + HEAP32[$0 >> 2] = 23400; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($0 + 16 | 0); + __ZNSt3__26locale5facetD2Ev($0); + return; +} + +function __ZNSt3__28numpunctIcED2Ev($0) { + $0 = $0 | 0; + HEAP32[$0 >> 2] = 23360; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($0 + 12 | 0); + __ZNSt3__26locale5facetD2Ev($0); + return; +} + +function __ZNKSt3__29__num_getIwE10__do_widenERNS_8ios_baseEPw($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return __ZNKSt3__29__num_getIwE12__do_widen_pIwEEPKT_RNS_8ios_baseEPS3_($0, $1, $2) | 0; +} + +function _arSetPattRatio($0, $1) { + $0 = $0 | 0; + $1 = +$1; + var $$0 = 0; + if (($0 | 0) != 0 ? !($1 <= 0.0 | $1 >= 1.0) : 0) { + HEAPF64[$0 + 7062416 >> 3] = $1; + $$0 = 0; + } else $$0 = -1; + return $$0 | 0; +} + +function _arGetLabelingThresh($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0; + if (($0 | 0) != 0 & ($1 | 0) != 0) { + HEAP32[$1 >> 2] = HEAP32[$0 + 16 >> 2]; + $$0 = 0; + } else $$0 = -1; + return $$0 | 0; +} + +function __ZNSt3__26locale5__imp7installINS_8numpunctIwEEEEvPT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZNSt3__26locale5__imp7installEPNS0_5facetEl($0, $1, __ZNSt3__26locale2id5__getEv(66552) | 0); + return; +} + +function __ZNSt3__26locale5__imp7installINS_8numpunctIcEEEEvPT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZNSt3__26locale5__imp7installEPNS0_5facetEl($0, $1, __ZNSt3__26locale2id5__getEv(66528) | 0); + return; +} + +function __ZNSt3__26locale5__imp7installINS_8messagesIwEEEEvPT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZNSt3__26locale5__imp7installEPNS0_5facetEl($0, $1, __ZNSt3__26locale2id5__getEv(66808) | 0); + return; +} + +function __ZNSt3__26locale5__imp7installINS_8messagesIcEEEEvPT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZNSt3__26locale5__imp7installEPNS0_5facetEl($0, $1, __ZNSt3__26locale2id5__getEv(66800) | 0); + return; +} + +function __ZN6vision9MaxIndex3IfEEiPKT_($0) { + $0 = $0 | 0; + var $$0 = 0; + $$0 = +HEAPF32[$0 + 4 >> 2] > +HEAPF32[$0 >> 2] & 1; + return (+HEAPF32[$0 + 8 >> 2] > +HEAPF32[$0 + ($$0 << 2) >> 2] ? 2 : $$0) | 0; +} + +function ___wasi_syscall_ret($0) { + $0 = $0 | 0; + var $$0 = 0, $3 = 0; + if (!($0 << 16 >> 16)) $$0 = 0; else { + $3 = ___errno_location() | 0; + HEAP32[$3 >> 2] = $0 & 65535; + $$0 = -1; + } + return $$0 | 0; +} + +function __ZNSt3__26locale5__imp7installINS_7collateIwEEEEvPT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZNSt3__26locale5__imp7installEPNS0_5facetEl($0, $1, __ZNSt3__26locale2id5__getEv(66504) | 0); + return; +} + +function __ZNSt3__26locale5__imp7installINS_7collateIcEEEEvPT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZNSt3__26locale5__imp7installEPNS0_5facetEl($0, $1, __ZNSt3__26locale2id5__getEv(66496) | 0); + return; +} + +function _arGetLabelingMode($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0; + if (($0 | 0) != 0 & ($1 | 0) != 0) { + HEAP32[$1 >> 2] = HEAP32[$0 + 12 >> 2]; + $$0 = 0; + } else $$0 = -1; + return $$0 | 0; +} + +function _ar2GetResolution($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + if (!$0) _ar2GetResolution2(0, $1, $2, $3) | 0; else _ar2GetResolution2($0, $1, $2, $3) | 0; + return 0; +} + +function __ZN6vision14AreaOfTriangleIfEET_PKS1_S3_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return +(+Math_abs(+(+HEAPF32[$0 >> 2] * +HEAPF32[$1 + 4 >> 2] - +HEAPF32[$0 + 4 >> 2] * +HEAPF32[$1 >> 2])) * .5); +} + +function __ZNSt3__26locale5__imp7installINS_5ctypeIwEEEEvPT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZNSt3__26locale5__imp7installEPNS0_5facetEl($0, $1, __ZNSt3__26locale2id5__getEv(66544) | 0); + return; +} + +function __ZNSt3__26locale5__imp7installINS_5ctypeIcEEEEvPT_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZNSt3__26locale5__imp7installEPNS0_5facetEl($0, $1, __ZNSt3__26locale2id5__getEv(66512) | 0); + return; +} + +function ___syscall_ret($0) { + $0 = $0 | 0; + var $$0 = 0, $3 = 0; + if ($0 >>> 0 > 4294963200) { + $3 = ___errno_location() | 0; + HEAP32[$3 >> 2] = 0 - $0; + $$0 = -1; + } else $$0 = $0; + return $$0 | 0; +} + +function dynCall_iiiii(index, a1, a2, a3, a4) { + index = index | 0; + a1 = a1 | 0; + a2 = a2 | 0; + a3 = a3 | 0; + a4 = a4 | 0; + return FUNCTION_TABLE_iiiii[index & 15](a1 | 0, a2 | 0, a3 | 0, a4 | 0) | 0; +} + +function __ZNSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__210__time_putD2Ev($0 + 8 | 0); + __ZNSt3__26locale5facetD2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__210__time_putD2Ev($0 + 8 | 0); + __ZNSt3__26locale5facetD2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNSt3__211char_traitsIwE4moveEPwPKwm($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + if (!$2) $5 = $0; else { + _wmemmove($0, $1, $2) | 0; + $5 = $0; + } + return $5 | 0; +} + +function __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJiiiiEE8getTypesEv($this) { + $this = $this | 0; + return __ZN10emscripten8internal14ArgArrayGetterINS0_8TypeListIJiiiiEEEE3getEv() | 0; +} + +function __ZNK10__cxxabiv123__fundamental_type_info9can_catchEPKNS_16__shim_type_infoERPv($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return __ZL8is_equalPKSt9type_infoS1_b($0, $1, 0) | 0; +} + +function __ZNSt3__211char_traitsIwE6assignEPwmw($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + if (!$1) $5 = $0; else { + _wmemset($0, $2, $1) | 0; + $5 = $0; + } + return $5 | 0; +} + +function __ZNSt3__211char_traitsIwE4copyEPwPKwm($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $5 = 0; + if (!$2) $5 = $0; else { + _wmemcpy($0, $1, $2) | 0; + $5 = $0; + } + return $5 | 0; +} + +function __ZN6vision28BinaryHierarchicalClusteringILi96EE10nextNodeIdEv($0) { + $0 = $0 | 0; + var $1 = 0, $2 = 0; + $1 = $0 + 4 | 0; + $2 = HEAP32[$1 >> 2] | 0; + HEAP32[$1 >> 2] = $2 + 1; + return $2 | 0; +} + +function _arSetPatternDetectionMode($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0; + if (($0 | 0) != 0 & $1 >>> 0 < 5) { + HEAP32[$0 + 24 >> 2] = $1; + $$0 = 0; + } else $$0 = -1; + return $$0 | 0; +} + +function __ZNKSt3__29__num_getIcE10__do_widenERNS_8ios_baseEPc($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return __ZNKSt3__29__num_getIcE12__do_widen_pERNS_8ios_baseEPc($0, $1, $2) | 0; +} + +function __ZNKSt3__210moneypunctIwLb1EE13do_pos_formatEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP8[$0 >> 0] = 2; + HEAP8[$0 + 1 >> 0] = 3; + HEAP8[$0 + 2 >> 0] = 0; + HEAP8[$0 + 3 >> 0] = 4; + return; +} + +function __ZNKSt3__210moneypunctIwLb1EE13do_neg_formatEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP8[$0 >> 0] = 2; + HEAP8[$0 + 1 >> 0] = 3; + HEAP8[$0 + 2 >> 0] = 0; + HEAP8[$0 + 3 >> 0] = 4; + return; +} + +function __ZNKSt3__210moneypunctIwLb0EE13do_pos_formatEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP8[$0 >> 0] = 2; + HEAP8[$0 + 1 >> 0] = 3; + HEAP8[$0 + 2 >> 0] = 0; + HEAP8[$0 + 3 >> 0] = 4; + return; +} + +function __ZNKSt3__210moneypunctIwLb0EE13do_neg_formatEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP8[$0 >> 0] = 2; + HEAP8[$0 + 1 >> 0] = 3; + HEAP8[$0 + 2 >> 0] = 0; + HEAP8[$0 + 3 >> 0] = 4; + return; +} + +function __ZNKSt3__210moneypunctIcLb1EE13do_pos_formatEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP8[$0 >> 0] = 2; + HEAP8[$0 + 1 >> 0] = 3; + HEAP8[$0 + 2 >> 0] = 0; + HEAP8[$0 + 3 >> 0] = 4; + return; +} + +function __ZNKSt3__210moneypunctIcLb1EE13do_neg_formatEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP8[$0 >> 0] = 2; + HEAP8[$0 + 1 >> 0] = 3; + HEAP8[$0 + 2 >> 0] = 0; + HEAP8[$0 + 3 >> 0] = 4; + return; +} + +function __ZNKSt3__210moneypunctIcLb0EE13do_pos_formatEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP8[$0 >> 0] = 2; + HEAP8[$0 + 1 >> 0] = 3; + HEAP8[$0 + 2 >> 0] = 0; + HEAP8[$0 + 3 >> 0] = 4; + return; +} + +function __ZNKSt3__210moneypunctIcLb0EE13do_neg_formatEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP8[$0 >> 0] = 2; + HEAP8[$0 + 1 >> 0] = 3; + HEAP8[$0 + 2 >> 0] = 0; + HEAP8[$0 + 3 >> 0] = 4; + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle12NodeOrString8isStringEv($0) { + $0 = $0 | 0; + var $6 = 0; + if (!(HEAP32[$0 + 4 >> 2] | 0)) $6 = 0; else $6 = (HEAP32[$0 >> 2] | 0) != 0; + return $6 | 0; +} + +function __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJviiEE8getTypesEv($this) { + $this = $this | 0; + return __ZN10emscripten8internal14ArgArrayGetterINS0_8TypeListIJviiEEEE3getEv() | 0; +} + +function __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJvifEE8getTypesEv($this) { + $this = $this | 0; + return __ZN10emscripten8internal14ArgArrayGetterINS0_8TypeListIJvifEEEE3getEv() | 0; +} + +function __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJvidEE8getTypesEv($this) { + $this = $this | 0; + return __ZN10emscripten8internal14ArgArrayGetterINS0_8TypeListIJvidEEEE3getEv() | 0; +} + +function __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJiiiEE8getTypesEv($this) { + $this = $this | 0; + return __ZN10emscripten8internal14ArgArrayGetterINS0_8TypeListIJiiiEEEE3getEv() | 0; +} + +function __ZN6vision20BinaryFeatureMatcherILi96EEC2Ev($0) { + $0 = $0 | 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + HEAPF32[$0 + 12 >> 2] = .699999988079071; + return; +} + +function _start_pass_upsample($0) { + $0 = $0 | 0; + var $2 = 0; + $2 = HEAP32[$0 + 476 >> 2] | 0; + HEAP32[$2 + 92 >> 2] = HEAP32[$0 + 320 >> 2]; + HEAP32[$2 + 96 >> 2] = HEAP32[$0 + 116 >> 2]; + return; +} + +function __ZNSt3__24pairIKiNS_6vectorIN6vision7Point3dIfEENS_9allocatorIS5_EEEEED2Ev($0) { + $0 = $0 | 0; + __ZNSt3__213__vector_baseIN6vision7Point3dIfEENS_9allocatorIS3_EEED2Ev($0 + 4 | 0); + return; +} + +function __ZNSt3__217__call_once_proxyINS_5tupleIJONS_12_GLOBAL__N_111__fake_bindEEEEEEvPv($0) { + $0 = $0 | 0; + __ZNKSt3__212_GLOBAL__N_111__fake_bindclEv(HEAP32[HEAP32[$0 >> 2] >> 2] | 0); + return; +} + +function __ZNKSt3__27codecvtIDsc11__mbstate_tE10do_unshiftERS1_PcS4_RS4_($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + HEAP32[$4 >> 2] = $2; + return 3; +} + +function __ZNKSt3__27codecvtIDic11__mbstate_tE10do_unshiftERS1_PcS4_RS4_($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + HEAP32[$4 >> 2] = $2; + return 3; +} + +function __ZN6vision6Logger11getInstanceEv() { + if ((HEAP8[64304] | 0) == 0 ? ___cxa_guard_acquire(64304) | 0 : 0) { + __ZN6vision6LoggerC2Ev(65240); + ___cxa_guard_release(64304); + } + return 65240; +} + +function __ZN6vision28BinaryHierarchicalClusteringILi96EE16setNumHypothesesEi($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZN6vision14BinarykMedoidsILi96EE16setNumHypothesesEi($0 + 12 | 0, $1); + return; +} + +function _arGetDebugMode($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0; + if (($0 | 0) != 0 & ($1 | 0) != 0) { + HEAP32[$1 >> 2] = HEAP32[$0 >> 2]; + $$0 = 0; + } else $$0 = -1; + return $$0 | 0; +} + +function __ZNSt3__220__shared_ptr_pointerIPN6vision8KeyframeILi96EEENS_14default_deleteIS3_EENS_9allocatorIS3_EEED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__214__shared_countD2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNKSt3__27codecvtIcc11__mbstate_tE10do_unshiftERS1_PcS4_RS4_($0, $1, $2, $3, $4) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + $4 = $4 | 0; + HEAP32[$4 >> 2] = $2; + return 3; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle12NodeOrString6isNodeEv($0) { + $0 = $0 | 0; + var $6 = 0; + if (!(HEAP32[$0 >> 2] | 0)) $6 = 0; else $6 = (HEAP32[$0 + 4 >> 2] | 0) == 0; + return $6 | 0; +} + +function __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJviEE8getTypesEv($this) { + $this = $this | 0; + return __ZN10emscripten8internal14ArgArrayGetterINS0_8TypeListIJviEEEE3getEv() | 0; +} + +function __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJiiEE8getTypesEv($this) { + $this = $this | 0; + return __ZN10emscripten8internal14ArgArrayGetterINS0_8TypeListIJiiEEEE3getEv() | 0; +} + +function __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJdiEE8getTypesEv($this) { + $this = $this | 0; + return __ZN10emscripten8internal14ArgArrayGetterINS0_8TypeListIJdiEEEE3getEv() | 0; +} + +function __ZN6vision4min4IfEET_S1_S1_S1_S1_($0, $1, $2, $3) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + return +(+__ZN6vision4min2IfEET_S1_S1_(+__ZN6vision4min3IfEET_S1_S1_S1_($0, $1, $2), $3)); +} + +function __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE8pop_backEv($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = $0 + 4 | 0; + HEAP32[$1 >> 2] = (HEAP32[$1 >> 2] | 0) + -4; + return; +} + +function ___DOUBLE_BITS_670($0) { + $0 = +$0; + var $1 = 0; + HEAPF64[tempDoublePtr >> 3] = $0; + $1 = HEAP32[tempDoublePtr >> 2] | 0; + setTempRet0(HEAP32[tempDoublePtr + 4 >> 2] | 0); + return $1 | 0; +} + +function ___DOUBLE_BITS_273($0) { + $0 = +$0; + var $1 = 0; + HEAPF64[tempDoublePtr >> 3] = $0; + $1 = HEAP32[tempDoublePtr >> 2] | 0; + setTempRet0(HEAP32[tempDoublePtr + 4 >> 2] | 0); + return $1 | 0; +} + +function _arSetLabelingThresh($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0; + if (($0 | 0) == 0 | $1 >>> 0 > 255) $$0 = -1; else { + HEAP32[$0 + 16 >> 2] = $1; + $$0 = 0; + } + return $$0 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_24ForwardTemplateReferenceELm4EE4sizeEv($0) { + $0 = $0 | 0; + return (HEAP32[$0 + 4 >> 2] | 0) - (HEAP32[$0 >> 2] | 0) >> 2 | 0; +} + +function __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJiEE8getTypesEv($this) { + $this = $this | 0; + return __ZN10emscripten8internal14ArgArrayGetterINS0_8TypeListIJiEEEE3getEv() | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE8dropBackEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP32[$0 + 4 >> 2] = (HEAP32[$0 >> 2] | 0) + ($1 << 2); + return; +} + +function b13(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_iiiiiiiii(13); + return 0; +} + +function __ZN6vision12FeaturePointC2Ev($0) { + $0 = $0 | 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + HEAP32[$0 + 12 >> 2] = 0; + HEAP8[$0 + 16 >> 0] = 1; + return; +} + +function __ZN6vision10ClipScalarIfEET_S1_S1_S1_($0, $1, $2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + var $$0 = 0.0; + if (!($0 < $1)) if ($0 > $2) $$0 = $2; else $$0 = $0; else $$0 = $1; + return +$$0; +} + +function __ZN6vision10DoGPyramidC2Ev($0) { + $0 = $0 | 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + HEAP32[$0 + 12 >> 2] = 0; + HEAP32[$0 + 16 >> 2] = 0; + return; +} + +function _arSetImageProcMode($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0; + if (($0 | 0) != 0 & $1 >>> 0 < 2) { + HEAP32[$0 + 20 >> 2] = $1; + $$0 = 0; + } else $$0 = -1; + return $$0 | 0; +} + +function __ZNK6vision18BinaryFeatureStore7featureEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0; + $3 = Math_imul(HEAP32[$0 >> 2] | 0, $1) | 0; + return (HEAP32[$0 + 4 >> 2] | 0) + $3 | 0; +} + +function __ZN12_GLOBAL__N_112OutputStream5resetEPcm($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 8 >> 2] = $2; + return; +} + +function _jpeg_alloc_quant_table($0) { + $0 = $0 | 0; + var $4 = 0; + $4 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$0 + 4 >> 2] >> 2] & 63]($0, 0, 132) | 0; + HEAP32[$4 + 128 >> 2] = 0; + return $4 | 0; +} + +function _arSetLabelingMode($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0; + if (($0 | 0) != 0 & $1 >>> 0 < 2) { + HEAP32[$0 + 12 >> 2] = $1; + $$0 = 0; + } else $$0 = -1; + return $$0 | 0; +} + +function __ZN6vision7Point3dIfEC2Efff($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + HEAPF32[$0 >> 2] = $1; + HEAPF32[$0 + 4 >> 2] = $2; + HEAPF32[$0 + 8 >> 2] = $3; + return; +} + +function __ZN6vision18BinaryFeatureStore7featureEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0; + $3 = Math_imul(HEAP32[$0 >> 2] | 0, $1) | 0; + return (HEAP32[$0 + 4 >> 2] | 0) + $3 | 0; +} + +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 _jpeg_alloc_huff_table($0) { + $0 = $0 | 0; + var $4 = 0; + $4 = FUNCTION_TABLE_iiii[HEAP32[HEAP32[$0 + 4 >> 2] >> 2] & 63]($0, 0, 280) | 0; + HEAP32[$4 + 276 >> 2] = 0; + return $4 | 0; +} + +function __ZN6vision21HoughSimilarityVoting26setObjectCenterInReferenceEff($0, $1, $2) { + $0 = $0 | 0; + $1 = +$1; + $2 = +$2; + HEAPF32[$0 + 8 >> 2] = $1; + HEAPF32[$0 + 12 >> 2] = $2; + return; +} + +function __ZN6vision14BinarykMedoidsILi96EE4setkEi($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP32[$0 + 4 >> 2] = $1; + __ZNSt3__26vectorIiNS_9allocatorIiEEE6resizeEm($0 + 12 | 0, $1); + return; +} + +function _strtoull_l($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0; + $4 = _strtoull($0, $1, $2) | 0; + setTempRet0(getTempRet0() | 0); + return $4 | 0; +} + +function __ZNK6vision9Exception4whatEv($0) { + $0 = $0 | 0; + var $1 = 0, $6 = 0; + $1 = $0 + 4 | 0; + if ((HEAP8[$1 + 11 >> 0] | 0) < 0) $6 = HEAP32[$1 >> 2] | 0; else $6 = $1; + return $6 | 0; +} + +function __ZN12_GLOBAL__N_110StringViewC2EPKc($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0; + HEAP32[$0 >> 2] = $1; + $4 = $1 + (_strlen($1) | 0) | 0; + HEAP32[$0 + 4 >> 2] = $4; + return; +} + +function _icpDeleteHandle($0) { + $0 = $0 | 0; + var $$0 = 0, $1 = 0; + $1 = HEAP32[$0 >> 2] | 0; + if (!$1) $$0 = -1; else { + _free($1); + HEAP32[$0 >> 2] = 0; + $$0 = 0; + } + return $$0 | 0; +} + +function _strtoll_l($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + var $4 = 0; + $4 = _strtoll($0, $1, $2) | 0; + setTempRet0(getTempRet0() | 0); + return $4 | 0; +} + +function _arGetPatternDetectionMode($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0; + if (!$0) $$0 = -1; else { + HEAP32[$1 >> 2] = HEAP32[$0 + 24 >> 2]; + $$0 = 0; + } + return $$0 | 0; +} + +function __ZNSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev($0) { + $0 = $0 | 0; + __ZNSt3__210__time_putD2Ev($0 + 8 | 0); + __ZNSt3__26locale5facetD2Ev($0); + return; +} + +function __ZNSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev($0) { + $0 = $0 | 0; + __ZNSt3__210__time_putD2Ev($0 + 8 | 0); + __ZNSt3__26locale5facetD2Ev($0); + return; +} + +function __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJiiNSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEEEE8getCountEv($this) { + $this = $this | 0; + return 3; +} + +function __ZN6vision8KeyframeILi96EED2Ev($0) { + $0 = $0 | 0; + __ZN6vision28BinaryHierarchicalClusteringILi96EED2Ev($0 + 36 | 0); + __ZN6vision18BinaryFeatureStoreD2Ev($0 + 8 | 0); + return; +} + +function _strtoll($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = _strtox_735($0, $1, $2, 0, -2147483648) | 0; + setTempRet0(getTempRet0() | 0); + return $3 | 0; +} + +function __ZNKSt3__28numpunctIwE11do_groupingEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_($0, $1 + 16 | 0); + return; +} + +function __ZNKSt3__28numpunctIcE11do_groupingEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEC2ERKS5_($0, $1 + 12 | 0); + return; +} + +function __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJiNSt3__212basic_stringIcNS4_11char_traitsIcEENS4_9allocatorIcEEEEEE8getCountEv($this) { + $this = $this | 0; + return 2; +} + +function __ZN6vision25GaussianScaleSpacePyramidD2Ev($0) { + $0 = $0 | 0; + HEAP32[$0 >> 2] = 16772; + __ZNSt3__213__vector_baseIN6vision5ImageENS_9allocatorIS2_EEED2Ev($0 + 4 | 0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle9NodeArrayC2EPPNS0_4NodeEm($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $2; + return; +} + +function _start_pass_merged_upsample($0) { + $0 = $0 | 0; + var $2 = 0; + $2 = HEAP32[$0 + 476 >> 2] | 0; + HEAP32[$2 + 36 >> 2] = 0; + HEAP32[$2 + 44 >> 2] = HEAP32[$0 + 116 >> 2]; + return; +} + +function _i64Add(a, b, c, d) { + a = a | 0; + b = b | 0; + c = c | 0; + d = d | 0; + var l = 0; + l = a + c >>> 0; + return (setTempRet0(b + d + (l >>> 0 < a >>> 0 | 0) >>> 0 | 0), l | 0) | 0; +} + +function _arGetPattRatio($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0; + if (!$0) $$0 = -1; else { + HEAPF64[$1 >> 3] = +HEAPF64[$0 + 7062416 >> 3]; + $$0 = 0; + } + return $$0 | 0; +} + +function ___cxa_pure_virtual() { + var sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16 | 0; + if ((STACKTOP | 0) >= (STACK_MAX | 0)) abortStackOverflow(16); + _abort_message(51262, sp); +} + +function __ZNSt3__210__time_putD2Ev($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = HEAP32[$0 >> 2] | 0; + if (($1 | 0) != (__ZNSt3__26__clocEv() | 0)) _freelocale(HEAP32[$0 >> 2] | 0); + return; +} + +function __ZN6vision21HoughSimilarityVoting21setRefImageDimensionsEii($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $2; + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_24ForwardTemplateReferenceELm4EE8isInlineEv($0) { + $0 = $0 | 0; + return (HEAP32[$0 >> 2] | 0) == ($0 + 12 | 0) | 0; +} + +function __ZN6vision17PriorityQueueItemILi96EEC2EPKNS_4NodeILi96EEEj($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $2; + return; +} + +function __ZNK6vision14VisualDatabaseINS_14FREAKExtractorENS_18BinaryFeatureStoreENS_20BinaryFeatureMatcherILi96EEEE9matchedIdEv($0) { + $0 = $0 | 0; + return HEAP32[$0 + 24 >> 2] | 0; +} + +function __ZN6vision28BinaryHierarchicalClusteringILi96EE13setNumCentersEi($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZN6vision14BinarykMedoidsILi96EE4setkEi($0 + 12 | 0, $1); + return; +} + +function __ZN12_GLOBAL__N_116DefaultAllocator17allocateNodeArrayEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN12_GLOBAL__N_120BumpPointerAllocator8allocateEm($0, $1 << 2) | 0; +} + +function _arGetImageProcMode($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0; + if (!$0) $$0 = -1; else { + HEAP32[$1 >> 2] = HEAP32[$0 + 20 >> 2]; + $$0 = 0; + } + return $$0 | 0; +} + +function __ZN6vision10FastRandomERi($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = ((HEAP32[$0 >> 2] | 0) * 214013 | 0) + 2531011 | 0; + HEAP32[$0 >> 2] = $3; + return $3 >>> 16 & 32767 | 0; +} + +function _strtoull($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + var $3 = 0; + $3 = _strtox_735($0, $1, $2, -1, -1) | 0; + setTempRet0(getTempRet0() | 0); + return $3 | 0; +} + +function __ZN6vision10FastMedianIfEET_PS1_i($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return +(+__ZN6vision11PartialSortIfEET_PS1_ii($0, $1, ($1 & 1) + -1 + (($1 | 0) / 2 | 0) | 0)); +} + +function __ZN6vision10CauchyCostIfEET_PKS1_S1_($0, $1) { + $0 = $0 | 0; + $1 = +$1; + return +(+__ZN6vision10CauchyCostIfEET_S1_S1_S1_(+HEAPF32[$0 >> 2], +HEAPF32[$0 + 4 >> 2], $1)); +} + +function __ZN6vision14SampleReceptorERKNS_5ImageEff($0, $1, $2) { + $0 = $0 | 0; + $1 = +$1; + $2 = +$2; + return +(+__ZN6vision22SampleReceptorBilinearERKNS_5ImageEff($0, $1, $2)); +} + +function b12(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_iiiiiiii(12); + return 0; +} + +function _new_color_map_1_quant($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = HEAP32[$0 >> 2] | 0; + HEAP32[$1 + 20 >> 2] = 47; + FUNCTION_TABLE_vi[HEAP32[$1 >> 2] & 255]($0); + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE4sizeEv($0) { + $0 = $0 | 0; + return (HEAP32[$0 + 4 >> 2] | 0) - (HEAP32[$0 >> 2] | 0) >> 2 | 0; +} + +function _finish_input_pass($0) { + $0 = $0 | 0; + FUNCTION_TABLE_vi[HEAP32[(HEAP32[$0 + 468 >> 2] | 0) + 8 >> 2] & 255]($0); + HEAP32[HEAP32[$0 + 460 >> 2] >> 2] = 90; + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EE4sizeEv($0) { + $0 = $0 | 0; + return (HEAP32[$0 + 4 >> 2] | 0) - (HEAP32[$0 >> 2] | 0) >> 2 | 0; +} + +function dynCall_iiii(index, a1, a2, a3) { + index = index | 0; + a1 = a1 | 0; + a2 = a2 | 0; + a3 = a3 | 0; + return FUNCTION_TABLE_iiii[index & 63](a1 | 0, a2 | 0, a3 | 0) | 0; +} + +function _arSetMatrixCodeType($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0; + if (!$0) $$0 = -1; else { + HEAP32[$0 + 7062424 >> 2] = $1; + $$0 = 0; + } + return $$0 | 0; +} + +function _arGetTransMatMultiSquareRobust($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + return +(+_arGetTransMatMultiSquare2($0, $1, $2, $3, 1)); +} + +function __ZNSt3__24pairIKiNS_10shared_ptrIN6vision8KeyframeILi96EEEEEED2Ev($0) { + $0 = $0 | 0; + __ZNSt3__210shared_ptrIN6vision8KeyframeILi96EEEED2Ev($0 + 4 | 0); + return; +} + +function __ZNK6vision17PriorityQueueItemILi96EEltERKS1_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return (HEAP32[$0 + 4 >> 2] | 0) >>> 0 > (HEAP32[$1 + 4 >> 2] | 0) >>> 0 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE5emptyEv($0) { + $0 = $0 | 0; + return (HEAP32[$0 >> 2] | 0) == (HEAP32[$0 + 4 >> 2] | 0) | 0; +} + +function __ZN6vision9ExceptionD2Ev($0) { + $0 = $0 | 0; + HEAP32[$0 >> 2] = 16788; + __ZNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEED2Ev($0 + 4 | 0); + return; +} + +function __ZN6vision4min3IfEET_S1_S1_S1_($0, $1, $2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + return +(+__ZN6vision4min2IfEET_S1_S1_(+__ZN6vision4min2IfEET_S1_S1_($0, $1), $2)); +} + +function _icpSetInlierProbability($0, $1) { + $0 = $0 | 0; + $1 = +$1; + var $$0 = 0; + if (!$0) $$0 = -1; else { + HEAPF64[$0 + 128 >> 3] = $1; + $$0 = 0; + } + return $$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; + return ___udivmoddi4($a$0, $a$1, $b$0, $b$1, 0) | 0; +} + +function _strchr($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = ___strchrnul($0, $1) | 0; + return ((HEAP8[$2 >> 0] | 0) == ($1 & 255) << 24 >> 24 ? $2 : 0) | 0; +} + +function __ZNSt3__220__shared_ptr_pointerIPhNS_14default_deleteIhEENS_9allocatorIhEEE16__on_zero_sharedEv($0) { + $0 = $0 | 0; + __ZdlPv(HEAP32[$0 + 12 >> 2] | 0); + return; +} + +function __ZNSt3__212_GLOBAL__N_14makeINS_9money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_() { + HEAP32[16243] = 0; + HEAP32[16242] = 23052; + return; +} + +function __ZNSt3__212_GLOBAL__N_14makeINS_9money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_() { + HEAP32[16241] = 0; + HEAP32[16240] = 23024; + return; +} + +function __ZNSt3__212_GLOBAL__N_14makeINS_9money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_() { + HEAP32[16239] = 0; + HEAP32[16238] = 22996; + return; +} + +function __ZNSt3__212_GLOBAL__N_14makeINS_9money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_() { + HEAP32[16237] = 0; + HEAP32[16236] = 22968; + return; +} + +function __ZNSt3__211char_traitsIcE4moveEPcPKcm($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + if ($2 | 0) _memmove($0 | 0, $1 | 0, $2 | 0) | 0; + return $0 | 0; +} + +function _compE_180($a, $b) { + $a = $a | 0; + $b = $b | 0; + var $sub = 0.0; + $sub = +HEAPF32[$a >> 2] - +HEAPF32[$b >> 2]; + return ($sub < 0.0 ? -1 : $sub > 0.0 & 1) | 0; +} + +function _arImageProcLumaHistAndCDFAndMedian($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return _arImageProcLumaHistAndCDFAndPercentile($0, $1, .5, $2) | 0; +} + +function __ZNSt3__220__shared_ptr_pointerIPhNS_14default_deleteIhEENS_9allocatorIhEEED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__214__shared_countD2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNSt3__211char_traitsIcE4copyEPcPKcm($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + if ($2 | 0) _memcpy($0 | 0, $1 | 0, $2 | 0) | 0; + return $0 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22AbstractManglingParserINS0_14ManglingParserINS_16DefaultAllocatorEEES3_E10getDerivedEv($0) { + $0 = $0 | 0; + return $0 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle12NodeOrStringC2EPNS0_4NodeE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = 0; + return; +} + +function _ar2SetTemplateSize2($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0; + if (!$0) $$0 = -1; else { + HEAP32[$0 + 32 >> 2] = $1; + $$0 = 0; + } + return $$0 | 0; +} + +function _ar2SetTemplateSize1($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0; + if (!$0) $$0 = -1; else { + HEAP32[$0 + 28 >> 2] = $1; + $$0 = 0; + } + return $$0 | 0; +} + +function __ZNSt3__212_GLOBAL__N_14makeINS_7num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_() { + HEAP32[16227] = 0; + HEAP32[16226] = 21388; + return; +} + +function __ZNSt3__212_GLOBAL__N_14makeINS_7num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_() { + HEAP32[16225] = 0; + HEAP32[16224] = 21336; + return; +} + +function __ZNSt3__212_GLOBAL__N_14makeINS_7num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEEEjEERT_T0_() { + HEAP32[16223] = 0; + HEAP32[16222] = 21272; + return; +} + +function __ZNSt3__212_GLOBAL__N_14makeINS_7num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEEEjEERT_T0_() { + HEAP32[16221] = 0; + HEAP32[16220] = 21208; + return; +} + +function _arGetTransMatMultiSquare($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + return +(+_arGetTransMatMultiSquare2($0, $1, $2, $3, 0)); +} + +function _ar2SetTrackingThresh($0, $1) { + $0 = $0 | 0; + $1 = +$1; + var $$0 = 0; + if (!$0) $$0 = -1; else { + HEAPF32[$0 + 44 >> 2] = $1; + $$0 = 0; + } + return $$0 | 0; +} + +function __ZZN12_GLOBAL__N_116itanium_demangle13ParameterPackC1ENS0_9NodeArrayEENKUlPNS0_4NodeEE1_clES4_($0) { + $0 = $0 | 0; + return (HEAP8[$0 + 5 >> 0] | 0) == 1 | 0; +} + +function __ZZN12_GLOBAL__N_116itanium_demangle13ParameterPackC1ENS0_9NodeArrayEENKUlPNS0_4NodeEE0_clES4_($0) { + $0 = $0 | 0; + return (HEAP8[$0 + 7 >> 0] | 0) == 1 | 0; +} + +function __ZNSt3__220__shared_ptr_pointerIPh16NullArrayDeleterIhENS_9allocatorIhEEED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__214__shared_countD2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNSt3__217_DeallocateCaller27__do_deallocate_handle_sizeEPvm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZNSt3__217_DeallocateCaller9__do_callEPv($0); + return; +} + +function __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEED2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEED2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNK6vision14VisualDatabaseINS_14FREAKExtractorENS_18BinaryFeatureStoreENS_20BinaryFeatureMatcherILi96EEEE7inliersEv($0) { + $0 = $0 | 0; + return $0 + 12 | 0; +} + +function __ZZN12_GLOBAL__N_116itanium_demangle13ParameterPackC1ENS0_9NodeArrayEENKUlPNS0_4NodeEE_clES4_($0) { + $0 = $0 | 0; + return (HEAP8[$0 + 6 >> 0] | 0) == 1 | 0; +} + +function __ZNSt3__28ios_base33__set_badbit_and_consider_rethrowEv($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = $0 + 16 | 0; + HEAP32[$1 >> 2] = HEAP32[$1 >> 2] | 1; + return; +} + +function __ZN6vision8fastexp6IfEET_S1_($0) { + $0 = +$0; + return +((((((($0 + 6.0) * $0 + 30.0) * $0 + 120.0) * $0 + 360.0) * $0 + 720.0) * $0 + 720.0) * .0013888888); +} + +function _ar2SetSearchSize($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0; + if (!$0) $$0 = -1; else { + HEAP32[$0 + 24 >> 2] = $1; + $$0 = 0; + } + return $$0 | 0; +} + +function b23(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(23); +} + +function _arMatrixSelfInvf($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = HEAP32[$0 + 4 >> 2] | 0; + return ((_minvf(HEAP32[$0 >> 2] | 0, $3, $3) | 0) == 0) << 31 >> 31 | 0; +} + +function _icpGetXw2XcCleanup_221($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + _free($0); + _free($1); + _free($2); + _free($3); + return; +} + +function __ZNSt3__26locale5facet16__on_zero_sharedEv($0) { + $0 = $0 | 0; + if ($0 | 0) FUNCTION_TABLE_vi[HEAP32[(HEAP32[$0 >> 2] | 0) + 4 >> 2] & 255]($0); + return; +} + +function __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEED1Ev($0); + __ZdlPv($0); + return; +} + +function __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEED1Ev($0); + __ZdlPv($0); + return; +} + +function __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEED1Ev($0); + __ZdlPv($0); + return; +} + +function __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEED1Ev($0); + __ZdlPv($0); + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE8isInlineEv($0) { + $0 = $0 | 0; + return (HEAP32[$0 >> 2] | 0) == ($0 + 12 | 0) | 0; +} + +function __ZN12_GLOBAL__N_110StringViewC2EPKcS2_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $2; + return; +} + +function _arMatrixSelfInv($0) { + $0 = $0 | 0; + var $3 = 0; + $3 = HEAP32[$0 + 4 >> 2] | 0; + return ((_minv(HEAP32[$0 >> 2] | 0, $3, $3) | 0) == 0) << 31 >> 31 | 0; +} + +function _ar2SetSimThresh($0, $1) { + $0 = $0 | 0; + $1 = +$1; + var $$0 = 0; + if (!$0) $$0 = -1; else { + HEAPF32[$0 + 40 >> 2] = $1; + $$0 = 0; + } + return $$0 | 0; +} + +function __ZNSt3__214__ptr_in_rangeIwEEbPKT_S3_S3_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return $1 >>> 0 <= $0 >>> 0 & $0 >>> 0 < $2 >>> 0 | 0; +} + +function __ZNSt3__214__ptr_in_rangeIcEEbPKT_S3_S3_($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return $1 >>> 0 <= $0 >>> 0 & $0 >>> 0 < $2 >>> 0 | 0; +} + +function __ZNSt11logic_errorC2EPKc($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP32[$0 >> 2] = 17452; + __ZNSt3__218__libcpp_refstringC2EPKc($0 + 4 | 0, $1); + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EE8isInlineEv($0) { + $0 = $0 | 0; + return (HEAP32[$0 >> 2] | 0) == ($0 + 12 | 0) | 0; +} + +function __ZN12_GLOBAL__N_114SwapAndRestoreIbED2Ev($0) { + $0 = $0 | 0; + if (HEAP8[$0 + 5 >> 0] | 0) HEAP8[HEAP32[$0 >> 2] >> 0] = HEAP8[$0 + 4 >> 0] | 0; + return; +} + +function __ZN12_GLOBAL__N_114SwapAndRestoreIPKcED2Ev($0) { + $0 = $0 | 0; + if (HEAP8[$0 + 8 >> 0] | 0) HEAP32[HEAP32[$0 >> 2] >> 2] = HEAP32[$0 + 4 >> 2]; + return; +} + +function dynCall_viii(index, a1, a2, a3) { + index = index | 0; + a1 = a1 | 0; + a2 = a2 | 0; + a3 = a3 | 0; + FUNCTION_TABLE_viii[index & 3](a1 | 0, a2 | 0, a3 | 0); +} + +function ___cxa_is_pointer_type($0) { + $0 = $0 | 0; + var $3 = 0; + if (!$0) $3 = 0; else $3 = (___dynamic_cast($0, 13904, 13992, 0) | 0) != 0 & 1; + return $3 | 0; +} + +function __ZNSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNSt3__26locale2id6__initEv($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = HEAP32[16631] | 0; + HEAP32[16631] = $1 + 1; + HEAP32[$0 + 4 >> 2] = $1 + 1; + return; +} + +function __ZN10emscripten8internal14ArgArrayGetterINS0_8TypeListIJiiNSt3__212basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEEEE3getEv() { + return 16984; +} + +function __ZNSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_120BumpPointerAllocatorC2Ev($0) { + $0 = $0 | 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 4096 >> 2] = $0; + return; +} + +function __ZN12_GLOBAL__N_114SwapAndRestoreIjED2Ev($0) { + $0 = $0 | 0; + if (HEAP8[$0 + 8 >> 0] | 0) HEAP32[HEAP32[$0 >> 2] >> 2] = HEAP32[$0 + 4 >> 2]; + return; +} + +function __ZN10emscripten8internal14ArgArrayGetterINS0_8TypeListIJiNSt3__212basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEEEEE3getEv() { + return 16964; +} + +function _wcslen($0) { + $0 = $0 | 0; + var $$0 = 0; + $$0 = $0; + while (1) if (!(HEAP32[$$0 >> 2] | 0)) break; else $$0 = $$0 + 4 | 0; + return $$0 - $0 >> 2 | 0; +} + +function __ZNSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle9NodeArrayixEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return HEAP32[(HEAP32[$0 >> 2] | 0) + ($1 << 2) >> 2] | 0; +} + +function __ZN6vision28BinaryHierarchicalClusteringILi96EE21setMinFeaturesPerNodeEi($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP32[$0 + 108 >> 2] = $1; + return; +} + +function _fputs($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $2 = 0; + $2 = _strlen($0) | 0; + return ((_fwrite($0, 1, $2, $1) | 0) != ($2 | 0)) << 31 >> 31 | 0; +} + +function _compE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $4 = 0.0; + $4 = +HEAPF64[$0 >> 3] - +HEAPF64[$1 >> 3]; + return ($4 < 0.0 ? -1 : $4 > 0.0 & 1) | 0; +} + +function __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE9pbackfailEj($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZNSt3__211char_traitsIwE3eofEv() | 0; +} + +function __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE9pbackfailEi($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZNSt3__211char_traitsIcE3eofEv() | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangleoRERNS0_10QualifiersES1_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP32[$0 >> 2] = HEAP32[$0 >> 2] | $1; + return; +} + +function b11(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_iiiiiii(11); + return 0; +} + +function __ZNSt3__24pairIKiNS_6vectorIiNS_9allocatorIiEEEEED2Ev($0) { + $0 = $0 | 0; + __ZNSt3__213__vector_baseIiNS_9allocatorIiEEED2Ev($0 + 4 | 0); + return; +} + +function __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE8overflowEj($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZNSt3__211char_traitsIwE3eofEv() | 0; +} + +function __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE8overflowEi($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZNSt3__211char_traitsIcE3eofEv() | 0; +} + +function __ZN6vision20BinaryFeatureMatcherILi96EED2Ev($0) { + $0 = $0 | 0; + __ZNSt3__213__vector_baseIN6vision7match_tENS_9allocatorIS2_EEED2Ev($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_24ForwardTemplateReferenceELm4EE5beginEv($0) { + $0 = $0 | 0; + return HEAP32[$0 >> 2] | 0; +} + +function __ZN10emscripten8internal6TypeIDINS_11memory_viewItEEvE3getEv() { + return __ZN10emscripten8internal11LightTypeIDINS_11memory_viewItEEE3getEv() | 0; +} + +function __ZN10emscripten8internal6TypeIDINS_11memory_viewIsEEvE3getEv() { + return __ZN10emscripten8internal11LightTypeIDINS_11memory_viewIsEEE3getEv() | 0; +} + +function __ZN10emscripten8internal6TypeIDINS_11memory_viewImEEvE3getEv() { + return __ZN10emscripten8internal11LightTypeIDINS_11memory_viewImEEE3getEv() | 0; +} + +function __ZN10emscripten8internal6TypeIDINS_11memory_viewIlEEvE3getEv() { + return __ZN10emscripten8internal11LightTypeIDINS_11memory_viewIlEEE3getEv() | 0; +} + +function __ZN10emscripten8internal6TypeIDINS_11memory_viewIjEEvE3getEv() { + return __ZN10emscripten8internal11LightTypeIDINS_11memory_viewIjEEE3getEv() | 0; +} + +function __ZN10emscripten8internal6TypeIDINS_11memory_viewIiEEvE3getEv() { + return __ZN10emscripten8internal11LightTypeIDINS_11memory_viewIiEEE3getEv() | 0; +} + +function __ZN10emscripten8internal6TypeIDINS_11memory_viewIhEEvE3getEv() { + return __ZN10emscripten8internal11LightTypeIDINS_11memory_viewIhEEE3getEv() | 0; +} + +function __ZN10emscripten8internal6TypeIDINS_11memory_viewIfEEvE3getEv() { + return __ZN10emscripten8internal11LightTypeIDINS_11memory_viewIfEEE3getEv() | 0; +} + +function __ZN10emscripten8internal6TypeIDINS_11memory_viewIeEEvE3getEv() { + return __ZN10emscripten8internal11LightTypeIDINS_11memory_viewIeEEE3getEv() | 0; +} + +function __ZN10emscripten8internal6TypeIDINS_11memory_viewIdEEvE3getEv() { + return __ZN10emscripten8internal11LightTypeIDINS_11memory_viewIdEEE3getEv() | 0; +} + +function __ZN10emscripten8internal6TypeIDINS_11memory_viewIcEEvE3getEv() { + return __ZN10emscripten8internal11LightTypeIDINS_11memory_viewIcEEE3getEv() | 0; +} + +function __ZN10emscripten8internal6TypeIDINS_11memory_viewIaEEvE3getEv() { + return __ZN10emscripten8internal11LightTypeIDINS_11memory_viewIaEEE3getEv() | 0; +} + +function dynCall_viid(index, a1, a2, a3) { + index = index | 0; + a1 = a1 | 0; + a2 = a2 | 0; + a3 = +a3; + FUNCTION_TABLE_viid[index & 3](a1 | 0, a2 | 0, +a3); +} + +function ___cxx_global_var_init_1() { + HEAP32[16320] = 0; + HEAP32[16321] = 0; + HEAP32[16322] = 0; + HEAP32[16323] = 0; + HEAP32[16324] = 1065353216; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EE5clearEv($0) { + $0 = $0 | 0; + HEAP32[$0 + 4 >> 2] = HEAP32[$0 >> 2]; + return; +} + +function __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEED2Ev($0) { + $0 = $0 | 0; + HEAP32[$0 >> 2] = 20632; + __ZNSt3__26localeD2Ev($0 + 4 | 0); + return; +} + +function __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEED2Ev($0) { + $0 = $0 | 0; + HEAP32[$0 >> 2] = 20568; + __ZNSt3__26localeD2Ev($0 + 4 | 0); + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle4Node11getBaseNameEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZN12_GLOBAL__N_110StringViewC2Ev($0); + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle16FunctionEncoding19hasRHSComponentSlowERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return 1; +} + +function __ZN6vision10CopyVectorIiEEvPT_PKS1_m($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + _memcpy($0 | 0, $1 | 0, $2 << 2 | 0) | 0; + return; +} + +function __ZN6vision10CopyVectorIfEEvPT_PKS1_m($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + _memcpy($0 | 0, $1 | 0, $2 << 2 | 0) | 0; + return; +} + +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; + nullFunc_iiiiiid(10); + return 0; +} + +function ___cxx_global_var_init() { + HEAP32[16315] = 0; + HEAP32[16316] = 0; + HEAP32[16317] = 0; + HEAP32[16318] = 0; + HEAP32[16319] = 1065353216; + return; +} + +function ___ctype_get_mb_cur_max() { + var $1 = 0; + $1 = (___pthread_self() | 0) + 188 | 0; + return ((HEAP32[HEAP32[$1 >> 2] >> 2] | 0) == 0 ? 1 : 4) | 0; +} + +function __ZN6vision28BinaryHierarchicalClusteringILi96EE16setMaxNodesToPopEi($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP32[$0 + 104 >> 2] = $1; + return; +} + +function __ZNSt3__26locale5__imp12make_classicEv() { + __ZNSt3__212_GLOBAL__N_14makeINS_6locale5__impEjEERT_T0_(); + HEAP32[16712] = 65064; + return 66848; +} + +function __ZNK6vision18BinaryFeatureStore4sizeEv($0) { + $0 = $0 | 0; + return ((HEAP32[$0 + 20 >> 2] | 0) - (HEAP32[$0 + 16 >> 2] | 0) | 0) / 20 | 0 | 0; +} + +function establishStackSpace(stackBase, stackMax) { + stackBase = stackBase | 0; + stackMax = stackMax | 0; + STACKTOP = stackBase; + STACK_MAX = stackMax; +} + +function b4(p0, p1, p2, p3, p4, p5) { + p0 = p0 | 0; + p1 = +p1; + p2 = p2 | 0; + p3 = p3 | 0; + p4 = p4 | 0; + p5 = p5 | 0; + nullFunc_iidiiii(4); + return 0; +} + +function _kpmCreateHandle($0) { + $0 = $0 | 0; + return __ZL19kpmCreateHandleCoreP9ARParamLTiii($0, HEAP32[$0 >> 2] | 0, HEAP32[$0 + 4 >> 2] | 0, 1) | 0; +} + +function __ZN6vision10CauchyCostIfEET_S1_S1_S1_($0, $1, $2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + return +(+Math_log(+(($0 * $0 + $1 * $1) * $2 + 1.0))); +} + +function __ZNK12_GLOBAL__N_116itanium_demangle16FunctionEncoding15hasFunctionSlowERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return 1; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle12FunctionType19hasRHSComponentSlowERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return 1; +} + +function __ZN6vision15HammingDistanceILi96EEEjPKhS2_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return __ZN6vision18HammingDistance768EPKjS1_($0, $1) | 0; +} + +function _reset_error_mgr($0) { + $0 = $0 | 0; + var $1 = 0; + $1 = HEAP32[$0 >> 2] | 0; + HEAP32[$1 + 108 >> 2] = 0; + HEAP32[$1 + 20 >> 2] = 0; + return; +} + +function __ZN6vision10CopyVectorIhEEvPT_PKS1_m($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + _memcpy($0 | 0, $1 | 0, $2 | 0) | 0; + return; +} + +function _strerror($0) { + $0 = $0 | 0; + var $2 = 0; + $2 = (___pthread_self_105() | 0) + 188 | 0; + return ___strerror_l($0, HEAP32[$2 >> 2] | 0) | 0; +} + +function __ZNKSt3__26vectorIN6vision25DoGScaleInvariantDetector12FeaturePointENS_9allocatorIS3_EEE8max_sizeEv($0) { + $0 = $0 | 0; + return 119304647; +} + +function __ZN6vision7match_tC2Eii($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + HEAP32[$0 >> 2] = $1; + HEAP32[$0 + 4 >> 2] = $2; + return; +} + +function __ZNSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + return; +} + +function __ZNSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + return; +} + +function __ZNSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + return; +} + +function __ZNSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + return; +} + +function __ZNKSt3__26locale5__imp9use_facetEl($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return HEAP32[(HEAP32[$0 + 8 >> 2] | 0) + ($1 << 2) >> 2] | 0; +} + +function __ZNK6vision25GaussianScaleSpacePyramid4sizeEv($0) { + $0 = $0 | 0; + return (HEAP32[$0 + 8 >> 2] | 0) - (HEAP32[$0 + 4 >> 2] | 0) >> 5 | 0; +} + +function dynCall_iii(index, a1, a2) { + index = index | 0; + a1 = a1 | 0; + a2 = a2 | 0; + return FUNCTION_TABLE_iii[index & 127](a1 | 0, a2 | 0) | 0; +} + +function __ZNSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + return; +} + +function __ZNSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle9NodeArray3endEv($0) { + $0 = $0 | 0; + return (HEAP32[$0 >> 2] | 0) + (HEAP32[$0 + 4 >> 2] << 2) | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle9ArrayType19hasRHSComponentSlowERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return 1; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle12FunctionType15hasFunctionSlowERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return 1; +} + +function b22(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(22); +} + +function _dot($0, $1, $2, $3, $4, $5) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + $4 = +$4; + $5 = +$5; + return +($0 * $3 + $1 * $4 + $2 * $5); +} + +function __ZNSt3__28ios_base5clearEj($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP32[$0 + 16 >> 2] = (HEAP32[$0 + 24 >> 2] | 0) == 0 | $1; + return; +} + +function __ZNSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + return; +} + +function __ZNSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + return; +} + +function __ZNSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + return; +} + +function __ZNSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + return; +} + +function __ZNSt3__210shared_ptrIN6vision8KeyframeILi96EEEE18__enable_weak_thisEz($0, $varargs) { + $0 = $0 | 0; + $varargs = $varargs | 0; + return; +} + +function __ZNKSt3__26vectorINS0_INS0_INS_4pairIfmEENS_9allocatorIS2_EEEENS3_IS5_EEEENS3_IS7_EEE8max_sizeEv($0) { + $0 = $0 | 0; + return 357913941; +} + +function __ZN6vision25DoGScaleInvariantDetector21setLaplacianThresholdEf($0, $1) { + $0 = $0 | 0; + $1 = +$1; + HEAPF32[$0 + 52 >> 2] = $1; + return; +} + +function __ZNKSt3__25ctypeIwE9do_narrowEwc($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return ($1 >>> 0 < 128 ? $1 & 255 : $2) | 0; +} + +function __ZNK6vision10DoGPyramid14scaleFromIndexEi($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return ($1 | 0) % (HEAP32[$0 + 16 >> 2] | 0) | 0 | 0; +} + +function __ZN6vision11ZeroVector3IfEEvPT_($0) { + $0 = $0 | 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + return; +} + +function __ZNSt3__211__stdoutbufIwED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEED2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNSt3__211__stdoutbufIcED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEED2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNKSt3__25ctypeIcE9do_narrowEcc($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return ($1 << 24 >> 24 > -1 ? $1 : $2) | 0; +} + +function __ZNK6vision18BinaryFeatureStore5pointEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return (HEAP32[$0 + 16 >> 2] | 0) + ($1 * 20 | 0) | 0; +} + +function __ZN6vision25GaussianScaleSpacePyramidD0Ev($0) { + $0 = $0 | 0; + __ZN6vision25GaussianScaleSpacePyramidD2Ev($0); + __ZdlPv($0); + return; +} + +function __ZN6vision11Cofactor2x2IfEET_S1_S1_S1_S1_($0, $1, $2, $3) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + $3 = +$3; + return +($0 * $3 - $1 * $2); +} + +function __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE6setbufEPwl($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return $0 | 0; +} + +function __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE6setbufEPcl($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return $0 | 0; +} + +function __ZNSt3__212_GLOBAL__N_14makeINS_7codecvtIwc11__mbstate_tEEjEERT_T0_() { + __ZNSt3__27codecvtIwc11__mbstate_tEC2Em(64792, 1); + return; +} + +function __ZNSt3__210__stdinbufIwED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEED2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNSt3__210__stdinbufIcED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEED2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNK6vision5Timer24duration_in_millisecondsEv($0) { + $0 = $0 | 0; + return +(+__ZNK6vision5Timer19duration_in_secondsEv($0) * 1.0e3); +} + +function __ZN6vision18BinaryFeatureStore5pointEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return (HEAP32[$0 + 16 >> 2] | 0) + ($1 * 20 | 0) | 0; +} + +function __ZN10__cxxabiv123__fundamental_type_infoD0Ev($0) { + $0 = $0 | 0; + __ZN10__cxxabiv116__shim_type_infoD2Ev($0); + __ZdlPv($0); + return; +} + +function dynCall_dii(index, a1, a2) { + index = index | 0; + a1 = a1 | 0; + a2 = a2 | 0; + return +FUNCTION_TABLE_dii[index & 1](a1 | 0, a2 | 0); +} + +function _error_exit($0) { + $0 = $0 | 0; + FUNCTION_TABLE_vi[HEAP32[(HEAP32[$0 >> 2] | 0) + 8 >> 2] & 255]($0); + _jpeg_destroy($0); + _exit(1); +} + +function __ZNK12_GLOBAL__N_116itanium_demangle4Node19hasRHSComponentSlowERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return 0; +} + +function _wctomb($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $$0 = 0; + if (!$0) $$0 = 0; else $$0 = _wcrtomb($0, $1, 0) | 0; + return $$0 | 0; +} + +function _swapc($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0; + $3 = _llvm_bswap_i32($0 | 0) | 0; + return (($1 | 0) == 0 ? $0 : $3) | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle4Node13getSyntaxNodeERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return $0 | 0; +} + +function __ZN6vision25DoGScaleInvariantDetector16setEdgeThresholdEf($0, $1) { + $0 = $0 | 0; + $1 = +$1; + HEAPF32[$0 + 56 >> 2] = $1; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle12NodeOrStringC2Ev($0) { + $0 = $0 | 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + return; +} + +function __ZN10__cxxabiv121__vmi_class_type_infoD0Ev($0) { + $0 = $0 | 0; + __ZN10__cxxabiv116__shim_type_infoD2Ev($0); + __ZdlPv($0); + return; +} + +function _setThrew(threw, value) { + threw = threw | 0; + value = value | 0; + if (!__THREW__) { + __THREW__ = threw; + threwValue = value; + } +} + +function __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE9underflowEv($0) { + $0 = $0 | 0; + return __ZNSt3__211char_traitsIwE3eofEv() | 0; +} + +function __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE9underflowEv($0) { + $0 = $0 | 0; + return __ZNSt3__211char_traitsIcE3eofEv() | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle9ArrayType12hasArraySlowERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return 1; +} + +function __ZN10__cxxabiv120__si_class_type_infoD0Ev($0) { + $0 = $0 | 0; + __ZN10__cxxabiv116__shim_type_infoD2Ev($0); + __ZdlPv($0); + return; +} + +function __GLOBAL__sub_I_ARToolKitJS_cpp() { + ___cxx_global_var_init(); + ___cxx_global_var_init_1(); + ___cxx_global_var_init_40(); + return; +} + +function _jround_up($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + var $3 = 0; + $3 = $0 + -1 + $1 | 0; + return $3 - (($3 | 0) % ($1 | 0) | 0) | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE3endEv($0) { + $0 = $0 | 0; + return HEAP32[$0 + 4 >> 2] | 0; +} + +function __ZN10emscripten8internal11LightTypeIDINSt3__212basic_stringIwNS2_11char_traitsIwEENS2_9allocatorIwEEEEE3getEv() { + return 15328; +} + +function __ZN10emscripten8internal11LightTypeIDINSt3__212basic_stringIhNS2_11char_traitsIhEENS2_9allocatorIhEEEEE3getEv() { + return 15352; +} + +function __ZN10emscripten8internal11LightTypeIDINSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEE3getEv() { + return 13272; +} + +function ___cxa_guard_release($0) { + $0 = $0 | 0; + HEAP32[$0 >> 2] = 0; + __ZN10__cxxabiv112_GLOBAL__N_115set_initializedEPj($0); + return; +} + +function __ZNSt3__27codecvtIwc11__mbstate_tED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__27codecvtIwc11__mbstate_tED2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle4Node15hasFunctionSlowERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return 0; +} + +function __ZN6vision14BinarykMedoidsILi96EE16setNumHypothesesEi($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP32[$0 + 8 >> 2] = $1; + return; +} + +function __ZN6vision10DoGPyramidD2Ev($0) { + $0 = $0 | 0; + __ZNSt3__213__vector_baseIN6vision5ImageENS_9allocatorIS2_EEED2Ev($0); + return; +} + +function __ZN12_GLOBAL__N_120BumpPointerAllocatorD2Ev($0) { + $0 = $0 | 0; + __ZN12_GLOBAL__N_120BumpPointerAllocator5resetEv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EE3endEv($0) { + $0 = $0 | 0; + return HEAP32[$0 + 4 >> 2] | 0; +} + +function __ZN12_GLOBAL__N_112OutputStream18setCurrentPositionEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP32[$0 + 4 >> 2] = $1; + return; +} + +function _out($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + if (!(HEAP32[$0 >> 2] & 32)) ___fwritex($1, $2, $0) | 0; + return; +} + +function ___emscripten_stdout_seek($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + setTempRet0(0); + return 0; +} + +function __ZNSt3__26locale5__imp11make_globalEv() { + __ZNSt3__26localeC2ERKS0_(66856, __ZNSt3__26locale7classicEv() | 0); + return 66856; +} + +function __ZNSt11logic_errorD2Ev($0) { + $0 = $0 | 0; + HEAP32[$0 >> 2] = 17452; + __ZNSt3__218__libcpp_refstringD2Ev($0 + 4 | 0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle9NodeArrayC2Ev($0) { + $0 = $0 | 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm32EE5beginEv($0) { + $0 = $0 | 0; + return HEAP32[$0 >> 2] | 0; +} + +function __ZN10__cxxabiv117__class_type_infoD0Ev($0) { + $0 = $0 | 0; + __ZN10__cxxabiv116__shim_type_infoD2Ev($0); + __ZdlPv($0); + return; +} + +function dynCall_vii(index, a1, a2) { + index = index | 0; + a1 = a1 | 0; + a2 = a2 | 0; + FUNCTION_TABLE_vii[index & 255](a1 | 0, a2 | 0); +} + +function b9(p0, p1, p2, p3, p4) { + p0 = p0 | 0; + p1 = p1 | 0; + p2 = p2 | 0; + p3 = p3 | 0; + p4 = p4 | 0; + nullFunc_iiiiii(9); + return 0; +} + +function __ZNSt3__212_GLOBAL__N_14makeINS_7codecvtIDsc11__mbstate_tEEjEERT_T0_() { + HEAP32[16203] = 0; + HEAP32[16202] = 23620; + return; +} + +function __ZNSt3__212_GLOBAL__N_14makeINS_7codecvtIDic11__mbstate_tEEjEERT_T0_() { + HEAP32[16205] = 0; + HEAP32[16204] = 23668; + return; +} + +function __ZNKSt3__29__num_getIcE12__do_widen_pERNS_8ios_baseEPc($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return 12928; +} + +function __ZN6vision18BinaryFeatureStore21setNumBytesPerFeatureEi($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP32[$0 >> 2] = $1; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle14PODSmallVectorIPNS0_4NodeELm8EE5beginEv($0) { + $0 = $0 | 0; + return HEAP32[$0 >> 2] | 0; +} + +function _fseek($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return ___fseeko($0, $1, (($1 | 0) < 0) << 31 >> 31, $2) | 0; +} + +function __ZNSt3__212_GLOBAL__N_14makeINS_7codecvtIcc11__mbstate_tEEjEERT_T0_() { + HEAP32[16197] = 0; + HEAP32[16196] = 23572; + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle4Node12hasArraySlowERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return 0; +} + +function __ZN6vision6LoggerC2Ev($0) { + $0 = $0 | 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + HEAP32[$0 + 8 >> 2] = 0; + return; +} + +function _mbrlen($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return _mbrtowc(0, $0, $1, ($2 | 0) == 0 ? 65428 : $2) | 0; +} + +function _jcopy_block_row($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + _memcpy($1 | 0, $0 | 0, $2 << 7 | 0) | 0; + return; +} + +function _fullsize_upsample($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + HEAP32[$3 >> 2] = $2; + return; +} + +function __ZNSt3__25ctypeIcE21__classic_upper_tableEv() { + var $0 = 0; + $0 = ___ctype_toupper_loc() | 0; + return HEAP32[$0 >> 2] | 0; +} + +function __ZNSt3__25ctypeIcE21__classic_lower_tableEv() { + var $0 = 0; + $0 = ___ctype_tolower_loc() | 0; + return HEAP32[$0 >> 2] | 0; +} + +function __ZNSt3__211char_traitsIcE6assignERcRKc($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP8[$0 >> 0] = HEAP8[$1 >> 0] | 0; + return; +} + +function __ZNKSt3__26vectorIN6vision17PriorityQueueItemILi96EEENS_9allocatorIS3_EEE8max_sizeEv($0) { + $0 = $0 | 0; + return 536870911; +} + +function b8(p0, p1, p2, p3, p4) { + p0 = p0 | 0; + p1 = p1 | 0; + p2 = p2 | 0; + p3 = p3 | 0; + p4 = +p4; + nullFunc_iiiiid(8); + return 0; +} + +function ___cxa_guard_acquire($0) { + $0 = $0 | 0; + return ((__ZN10__cxxabiv112_GLOBAL__N_114is_initializedEPj($0) | 0) ^ 1) & 1 | 0; +} + +function __ZNK12_GLOBAL__N_110StringView5emptyEv($0) { + $0 = $0 | 0; + return (HEAP32[$0 >> 2] | 0) == (HEAP32[$0 + 4 >> 2] | 0) | 0; +} + +function __ZN10emscripten8internal6TypeIDINS_3valEvE3getEv() { + return __ZN10emscripten8internal11LightTypeIDINS_3valEE3getEv() | 0; +} + +function __ZNSt3__211char_traitsIwE6assignERwRKw($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP32[$0 >> 2] = HEAP32[$1 >> 2]; + return; +} + +function __ZNKSt3__28ios_base6getlocEv($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + __ZNSt3__26localeC2ERKS0_($0, $1 + 28 | 0); + return; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle4Node10printRightERNS_12OutputStreamE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return; +} + +function __ZNK12_GLOBAL__N_110StringView4sizeEv($0) { + $0 = $0 | 0; + return (HEAP32[$0 + 4 >> 2] | 0) - (HEAP32[$0 >> 2] | 0) | 0; +} + +function __ZN12_GLOBAL__N_112OutputStreamC2Ev($0) { + $0 = $0 | 0; + HEAP32[$0 + 12 >> 2] = -1; + HEAP32[$0 + 16 >> 2] = -1; + return; +} + +function ___stdio_close($0) { + $0 = $0 | 0; + return (___wasi_fd_close(_dummy_560(HEAP32[$0 + 60 >> 2] | 0) | 0) | 0) & 65535 | 0; +} + +function __ZNSt3__212_GLOBAL__N_14makeINS_5ctypeIcEEDnbjEERT_T0_T1_T2_() { + __ZNSt3__25ctypeIcEC2EPKtbm(64760, 0, 0, 1); + return; +} + +function __ZNKSt3__26vectorIPNS_6locale5facetENS_15__sso_allocatorIS3_Lm28EEEE8max_sizeEv($0) { + $0 = $0 | 0; + return 1073741823; +} + +function __ZN6vision18BinomialPyramid32fD0Ev($0) { + $0 = $0 | 0; + __ZN6vision18BinomialPyramid32fD2Ev($0); + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116DefaultAllocatorD2Ev($0) { + $0 = $0 | 0; + __ZN12_GLOBAL__N_120BumpPointerAllocatorD2Ev($0); + return; +} + +function __ZN12_GLOBAL__N_116DefaultAllocatorC2Ev($0) { + $0 = $0 | 0; + __ZN12_GLOBAL__N_120BumpPointerAllocatorC2Ev($0); + return; +} + +function _vfprintf($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return ___vfprintf_internal($0, $1, $2, 1, 141) | 0; +} + +function _noop_upsample($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + HEAP32[$3 >> 2] = 0; + return; +} + +function __ZNSt3__212_GLOBAL__N_14makeINS_10moneypunctIwLb1EEEjEERT_T0_() { + HEAP32[16235] = 0; + HEAP32[16234] = 22912; + return; +} + +function __ZNSt3__212_GLOBAL__N_14makeINS_10moneypunctIwLb0EEEjEERT_T0_() { + HEAP32[16233] = 0; + HEAP32[16232] = 22856; + return; +} + +function __ZNSt3__212_GLOBAL__N_14makeINS_10moneypunctIcLb1EEEjEERT_T0_() { + HEAP32[16231] = 0; + HEAP32[16230] = 22800; + return; +} + +function __ZNSt3__212_GLOBAL__N_14makeINS_10moneypunctIcLb0EEEjEERT_T0_() { + HEAP32[16229] = 0; + HEAP32[16228] = 22744; + return; +} + +function __ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE13do_date_orderEv($0) { + $0 = $0 | 0; + return 2; +} + +function __ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE13do_date_orderEv($0) { + $0 = $0 | 0; + return 2; +} + +function __ZNKSt3__26vectorINS0_INS_4pairIfmEENS_9allocatorIS2_EEEENS3_IS5_EEE8max_sizeEv($0) { + $0 = $0 | 0; + return 357913941; +} + +function __ZNK6vision10DoGPyramid4sizeEv($0) { + $0 = $0 | 0; + return (HEAP32[$0 + 4 >> 2] | 0) - (HEAP32[$0 >> 2] | 0) >> 5 | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle9NodeArray5emptyEv($0) { + $0 = $0 | 0; + return (HEAP32[$0 + 4 >> 2] | 0) == 0 | 0; +} + +function __ZN10__cxxabiv112_GLOBAL__N_115set_initializedEPj($0) { + $0 = $0 | 0; + HEAP32[$0 >> 2] = HEAP32[$0 >> 2] | 1; + return; +} + +function dynCall_vid(index, a1, a2) { + index = index | 0; + a1 = a1 | 0; + a2 = +a2; + FUNCTION_TABLE_vid[index & 3](a1 | 0, +a2); +} + +function _llvm_bswap_i32(x) { + x = x | 0; + return (x & 255) << 24 | (x >> 8 & 255) << 16 | (x >> 16 & 255) << 8 | x >>> 24 | 0; +} + +function __ZN6vision17PriorityQueueItemILi96EEC2Ev($0) { + $0 = $0 | 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + return; +} + +function b21(p0, p1, p2, p3, p4) { + p0 = p0 | 0; + p1 = p1 | 0; + p2 = p2 | 0; + p3 = p3 | 0; + p4 = p4 | 0; + nullFunc_viiiii(21); +} + +function _mbsinit($0) { + $0 = $0 | 0; + var $4 = 0; + if (!$0) $4 = 1; else $4 = (HEAP32[$0 >> 2] | 0) == 0 & 1; + return $4 | 0; +} + +function _ar2UtilReplaceExt($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return _arUtilReplaceExt($0, $1, $2) | 0; +} + +function __ZNSt3__27codecvtIDsc11__mbstate_tED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNSt3__27codecvtIDic11__mbstate_tED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNSt3__217__widen_from_utf8ILm32EED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE5imbueERKNS_6localeE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return; +} + +function __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE5imbueERKNS_6localeE($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return; +} + +function __ZN6vision10ZeroVectorIfEEvPT_m($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + _memset($0 | 0, 0, $1 << 2 | 0) | 0; + return; +} + +function __ZNSt3__27codecvtIcc11__mbstate_tED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNSt3__216__narrow_to_utf8ILm32EED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJiiiiEE8getCountEv($this) { + $this = $this | 0; + return 4; +} + +function __ZN6vision11Cofactor2x2IfEET_S1_S1_S1_($0, $1, $2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + return +($0 * $2 - $1 * $1); +} + +function _srand($0) { + $0 = $0 | 0; + var $2 = 0; + $2 = 64568; + HEAP32[$2 >> 2] = $0 + -1; + HEAP32[$2 + 4 >> 2] = 0; + return; +} + +function __ZNSt3__24pairIKi12arControllerED2Ev($this) { + $this = $this | 0; + __ZN12arControllerD2Ev($this + 8 | 0); + return; +} + +function __ZNSt3__210__stdinbufIwE9underflowEv($0) { + $0 = $0 | 0; + return __ZNSt3__210__stdinbufIwE9__getcharEb($0, 0) | 0; +} + +function __ZNSt3__210__stdinbufIcE9underflowEv($0) { + $0 = $0 | 0; + return __ZNSt3__210__stdinbufIcE9__getcharEb($0, 0) | 0; +} + +function __ZNK6vision25GaussianScaleSpacePyramid18numScalesPerOctaveEv($0) { + $0 = $0 | 0; + return HEAP32[$0 + 20 >> 2] | 0; +} + +function __ZNK6vision10DoGPyramid3getEm($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return (HEAP32[$0 >> 2] | 0) + ($1 << 5) | 0; +} + +function __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJviiEE8getCountEv($this) { + $this = $this | 0; + return 3; +} + +function __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJvifEE8getCountEv($this) { + $this = $this | 0; + return 3; +} + +function __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJvidEE8getCountEv($this) { + $this = $this | 0; + return 3; +} + +function __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJiiiEE8getCountEv($this) { + $this = $this | 0; + return 3; +} + +function __ZN6vision11SumSquares9IfEET_PKS1_($0) { + $0 = $0 | 0; + return +(+__ZN6vision11DotProduct9IfEET_PKS1_S3_($0, $0)); +} + +function __ZNSt3__215__refstring_imp12_GLOBAL__N_113data_from_repEPNS1_9_Rep_baseE($0) { + $0 = $0 | 0; + return $0 + 12 | 0; +} + +function __ZNSt3__211char_traitsIwE11eq_int_typeEjj($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return ($0 | 0) == ($1 | 0) | 0; +} + +function __ZNSt3__211char_traitsIcE11eq_int_typeEii($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return ($0 | 0) == ($1 | 0) | 0; +} + +function __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJviEE8getCountEv($this) { + $this = $this | 0; + return 2; +} + +function __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJiiEE8getCountEv($this) { + $this = $this | 0; + return 2; +} + +function __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJdiEE8getCountEv($this) { + $this = $this | 0; + return 2; +} + +function _vsprintf($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return _vsnprintf($0, 2147483647, $1, $2) | 0; +} + +function __ZNKSt3__26vectorIPKN6vision4NodeILi96EEENS_9allocatorIS5_EEE8max_sizeEv($0) { + $0 = $0 | 0; + return 1073741823; +} + +function __ZNK10emscripten8internal12WithPoliciesIJEE11ArgTypeListIJiEE8getCountEv($this) { + $this = $this | 0; + return 1; +} + +function __ZN6vision8KeyframeILi96EE9setHeightEi($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP32[$0 + 4 >> 2] = $1; + return; +} + +function __ZN10emscripten8internal6TypeIDIRKivE3getEv() { + return __ZN10emscripten8internal11LightTypeIDIRKiE3getEv() | 0; +} + +function __ZN10emscripten8internal6TypeIDIRKdvE3getEv() { + return __ZN10emscripten8internal11LightTypeIDIRKdE3getEv() | 0; +} + +function ___loc_is_allocated($0) { + $0 = $0 | 0; + return ($0 | 0) != 17060 & (($0 | 0) != 0 & ($0 | 0) != 65372) & 1 | 0; +} + +function ___cxx_global_var_init_713() { + __ZN53EmscriptenBindingInitializer_native_and_builtin_typesC2Ev(67446); + return; +} + +function __ZNSt3__212_GLOBAL__N_14makeINS_8messagesIwEEjEERT_T0_() { + HEAP32[16263] = 0; + HEAP32[16262] = 23112; + return; +} + +function __ZNSt3__212_GLOBAL__N_14makeINS_8messagesIcEEjEERT_T0_() { + HEAP32[16261] = 0; + HEAP32[16260] = 23080; + return; +} + +function __ZNSt3__210shared_ptrIhE18__enable_weak_thisEz($0, $varargs) { + $0 = $0 | 0; + $varargs = $varargs | 0; + return; +} + +function __ZNKSt3__26vectorIPN6vision4NodeILi96EEENS_9allocatorIS4_EEE8max_sizeEv($0) { + $0 = $0 | 0; + return 1073741823; +} + +function __ZNKSt3__26vectorIN6vision12FeaturePointENS_9allocatorIS2_EEE8max_sizeEv($0) { + $0 = $0 | 0; + return 214748364; +} + +function __ZNKSt3__26vectorI12multi_markerNS_9allocatorIS1_EEE8max_sizeEv($this) { + $this = $this | 0; + return 536870911; +} + +function __ZNKSt11logic_error4whatEv($0) { + $0 = $0 | 0; + return __ZNKSt3__218__libcpp_refstring5c_strEv($0 + 4 | 0) | 0; +} + +function __ZNK12_GLOBAL__N_110StringViewixEm($0) { + $0 = $0 | 0; + return __ZNK12_GLOBAL__N_110StringView5beginEv($0) | 0; +} + +function __ZN6vision10ZeroVectorIhEEvPT_m($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + _memset($0 | 0, 0, $1 | 0) | 0; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle27ExpandedSpecialSubstitutionD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZNSt3__212_GLOBAL__N_14makeINS_7collateIwEEjEERT_T0_() { + HEAP32[16189] = 0; + HEAP32[16188] = 21176; + return; +} + +function __ZNSt3__212_GLOBAL__N_14makeINS_7collateIcEEjEERT_T0_() { + HEAP32[16187] = 0; + HEAP32[16186] = 21144; + return; +} + +function __ZNSt3__210__stdinbufIwE5uflowEv($0) { + $0 = $0 | 0; + return __ZNSt3__210__stdinbufIwE9__getcharEb($0, 1) | 0; +} + +function __ZNSt3__210__stdinbufIcE5uflowEv($0) { + $0 = $0 | 0; + return __ZNSt3__210__stdinbufIcE9__getcharEb($0, 1) | 0; +} + +function __ZN6vision4min2IiEET_S1_S1_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return (($0 | 0) < ($1 | 0) ? $0 : $1) | 0; +} + +function __ZN6vision4max2IiEET_S1_S1_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return (($0 | 0) > ($1 | 0) ? $0 : $1) | 0; +} + +function __ZN12_GLOBAL__N_110StringViewC2Ev($0) { + $0 = $0 | 0; + HEAP32[$0 >> 2] = 0; + HEAP32[$0 + 4 >> 2] = 0; + return; +} + +function __ZNSt3__25ctypeIcE13classic_tableEv() { + var $0 = 0; + $0 = ___ctype_b_loc() | 0; + return HEAP32[$0 >> 2] | 0; +} + +function __ZNSt3__210moneypunctIwLb1EED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNSt3__210moneypunctIwLb0EED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNSt3__210moneypunctIcLb1EED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNSt3__210moneypunctIcLb0EED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + __ZdlPv($0); + return; +} + +function dynCall_ii(index, a1) { + index = index | 0; + a1 = a1 | 0; + return FUNCTION_TABLE_ii[index & 127](a1 | 0) | 0; +} + +function _strncpy($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + ___stpncpy($0, $1, $2) | 0; + return $0 | 0; +} + +function _jpeg_mem_available($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + return $2 | 0; +} + +function __ZNSt3__212_GLOBAL__N_14makeINS_6locale5__impEjEERT_T0_() { + __ZNSt3__26locale5__impC2Em(65064, 1); + return; +} + +function __ZNSt3__212_GLOBAL__N_14makeINS_5ctypeIwEEjEERT_T0_() { + HEAP32[16195] = 0; + HEAP32[16194] = 23504; + return; +} + +function __ZNKSt3__26vectorIN6vision7Point3dIfEENS_9allocatorIS3_EEE8max_sizeEv($0) { + $0 = $0 | 0; + return 357913941; +} + +function __ZNKSt3__26vectorIN6vision7Point2dIfEENS_9allocatorIS3_EEE8max_sizeEv($0) { + $0 = $0 | 0; + return 536870911; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle12NodeOrString6asNodeEv($0) { + $0 = $0 | 0; + return HEAP32[$0 >> 2] | 0; +} + +function __ZN6vision7Point2dIfEC2Ev($0) { + $0 = $0 | 0; + HEAPF32[$0 >> 2] = 0.0; + HEAPF32[$0 + 4 >> 2] = 0.0; + return; +} + +function __ZN6vision4NodeILi96EE4leafEb($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP8[$0 + 100 >> 0] = $1 & 1; + return; +} + +function __ZN6vision12SafeDivisionIfEET_S1_S1_($0, $1) { + $0 = +$0; + $1 = +$1; + return +($0 / ($1 == 0.0 ? 1.0 : $1)); +} + +function __ZN12_GLOBAL__N_116itanium_demangle24ForwardTemplateReferenceD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN10emscripten8internal6TypeIDIvvE3getEv() { + return __ZN10emscripten8internal11LightTypeIDIvE3getEv() | 0; +} + +function __ZN10emscripten8internal6TypeIDItvE3getEv() { + return __ZN10emscripten8internal11LightTypeIDItE3getEv() | 0; +} + +function __ZN10emscripten8internal6TypeIDIsvE3getEv() { + return __ZN10emscripten8internal11LightTypeIDIsE3getEv() | 0; +} + +function __ZN10emscripten8internal6TypeIDImvE3getEv() { + return __ZN10emscripten8internal11LightTypeIDImE3getEv() | 0; +} + +function __ZN10emscripten8internal6TypeIDIlvE3getEv() { + return __ZN10emscripten8internal11LightTypeIDIlE3getEv() | 0; +} + +function __ZN10emscripten8internal6TypeIDIjvE3getEv() { + return __ZN10emscripten8internal11LightTypeIDIjE3getEv() | 0; +} + +function __ZN10emscripten8internal6TypeIDIivE3getEv() { + return __ZN10emscripten8internal11LightTypeIDIiE3getEv() | 0; +} + +function __ZN10emscripten8internal6TypeIDIhvE3getEv() { + return __ZN10emscripten8internal11LightTypeIDIhE3getEv() | 0; +} + +function __ZN10emscripten8internal6TypeIDIfvE3getEv() { + return __ZN10emscripten8internal11LightTypeIDIfE3getEv() | 0; +} + +function __ZN10emscripten8internal6TypeIDIdvE3getEv() { + return __ZN10emscripten8internal11LightTypeIDIdE3getEv() | 0; +} + +function __ZN10emscripten8internal6TypeIDIcvE3getEv() { + return __ZN10emscripten8internal11LightTypeIDIcE3getEv() | 0; +} + +function __ZN10emscripten8internal6TypeIDIbvE3getEv() { + return __ZN10emscripten8internal11LightTypeIDIbE3getEv() | 0; +} + +function __ZN10emscripten8internal6TypeIDIavE3getEv() { + return __ZN10emscripten8internal11LightTypeIDIaE3getEv() | 0; +} + +function __ZNSt3__212_GLOBAL__N_17countofIwEEmPKT_S4_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return $1 - $0 >> 2 | 0; +} + +function __ZNK12_GLOBAL__N_112OutputStream18getCurrentPositionEv($0) { + $0 = $0 | 0; + return HEAP32[$0 + 4 >> 2] | 0; +} + +function __ZN6vision8KeyframeILi96EE8setWidthEi($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + HEAP32[$0 >> 2] = $1; + return; +} + +function __ZN10emscripten8internal11BindingTypeIdvE10toWireTypeERKd($v) { + $v = $v | 0; + return +(+HEAPF64[$v >> 3]); +} + +function __ZN10__cxxabiv112_GLOBAL__N_114is_initializedEPj($0) { + $0 = $0 | 0; + return (HEAP8[$0 >> 0] | 0) != 0 | 0; +} + +function b7(p0, p1, p2, p3) { + p0 = p0 | 0; + p1 = p1 | 0; + p2 = p2 | 0; + p3 = p3 | 0; + nullFunc_iiiii(7); + return 0; +} + +function _strcat($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + _strcpy($0 + (_strlen($0) | 0) | 0, $1) | 0; + return $0 | 0; +} + +function _norm($0, $1, $2) { + $0 = +$0; + $1 = +$1; + $2 = +$2; + return +(+Math_sqrt(+($0 * $0 + $1 * $1 + $2 * $2))); +} + +function _arImageProcFinal($0) { + $0 = $0 | 0; + if ($0 | 0) { + _free(HEAP32[$0 >> 2] | 0); + _free($0); + } + return; +} + +function __ZNSt3__212_GLOBAL__N_14makeINS_8numpunctIwEEjEERT_T0_() { + __ZNSt3__28numpunctIwEC2Em(64848, 1); + return; +} + +function __ZNSt3__212_GLOBAL__N_14makeINS_8numpunctIcEEjEERT_T0_() { + __ZNSt3__28numpunctIcEC2Em(64824, 1); + return; +} + +function __ZNK6vision25GaussianScaleSpacePyramid10numOctavesEv($0) { + $0 = $0 | 0; + return HEAP32[$0 + 16 >> 2] | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle9NodeArray4sizeEv($0) { + $0 = $0 | 0; + return HEAP32[$0 + 4 >> 2] | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22ParameterPackExpansionD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22ElaboratedTypeSpefTypeD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle22ConversionOperatorTypeD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN10emscripten8internal11BindingTypeIivE10toWireTypeERKi($v) { + $v = $v | 0; + return HEAP32[$v >> 2] | 0; +} + +function __ZN10__cxxabiv119__getExceptionClassEPK17_Unwind_Exception($0) { + $0 = $0 | 0; + setTempRet0(0); + return 0; +} + +function _isxdigit($0) { + $0 = $0 | 0; + return ((($0 | 32) + -97 | 0) >>> 0 < 6 | (_isdigit($0) | 0) != 0) & 1 | 0; +} + +function _arMatrixFreef($0) { + $0 = $0 | 0; + if ($0 | 0) { + _free(HEAP32[$0 >> 2] | 0); + _free($0); + } + return 0; +} + +function __ZNSt3__29basic_iosIwNS_11char_traitsIwEEED2Ev($0) { + $0 = $0 | 0; + __ZNSt3__28ios_baseD2Ev($0); + return; +} + +function __ZNSt3__29basic_iosIcNS_11char_traitsIcEEED2Ev($0) { + $0 = $0 | 0; + __ZNSt3__28ios_baseD2Ev($0); + return; +} + +function __ZNKSt3__26vectorIN6vision7match_tENS_9allocatorIS2_EEE8max_sizeEv($0) { + $0 = $0 | 0; + return 536870911; +} + +function __ZNK6vision28BinaryHierarchicalClusteringILi96EE12reverseIndexEv($0) { + $0 = $0 | 0; + return $0 + 72 | 0; +} + +function __ZN6vision5TimerC2Ev($0) { + $0 = $0 | 0; + HEAPF64[$0 >> 3] = -1.0; + HEAPF64[$0 + 8 >> 3] = -1.0; + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle21StructuredBindingNameD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle21CtorVtableSpecialNameD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function _strrchr($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return ___memrchr($0, $1, (_strlen($0) | 0) + 1 | 0) | 0; +} + +function _arMatrixFree($0) { + $0 = $0 | 0; + if ($0 | 0) { + _free(HEAP32[$0 >> 2] | 0); + _free($0); + } + return 0; +} + +function __ZNK6vision21HoughSimilarityVoting24getSubBinLocationIndicesEv($0) { + $0 = $0 | 0; + return $0 + 124 | 0; +} + +function __ZN6vision9MaxIndex2IfEEiPKT_($0) { + $0 = $0 | 0; + return +HEAPF32[$0 + 4 >> 2] > +HEAPF32[$0 >> 2] | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle20TemplateArgumentPackD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle20PostfixQualifiedTypeD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle20NameWithTemplateArgsD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle20DynamicExceptionSpecD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function dynCall_di(index, a1) { + index = index | 0; + a1 = a1 | 0; + return +FUNCTION_TABLE_di[index & 3](a1 | 0); +} + +function _do_read($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return ___string_read($0, $1, $2) | 0; +} + +function __ZNSt3__26locale5facetD0Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNSt3__26locale5__impD0Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5__impD2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNKSt3__26vectorIN6vision5ImageENS_9allocatorIS2_EEE8max_sizeEv($0) { + $0 = $0 | 0; + return 134217727; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle9NodeArray5beginEv($0) { + $0 = $0 | 0; + return HEAP32[$0 >> 2] | 0; +} + +function __ZNK12_GLOBAL__N_116itanium_demangle4Node7getKindEv($0) { + $0 = $0 | 0; + return HEAP8[$0 + 4 >> 0] | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle19SpecialSubstitutionD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle19SizeofParamPackExprD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle19PointerToMemberTypeD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle19GlobalQualifiedNameD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle16FloatLiteralImplIfED0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle16FloatLiteralImplIeED0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle16FloatLiteralImplIdED0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function _new_color_map_2_quant($0) { + $0 = $0 | 0; + HEAP32[(HEAP32[$0 + 484 >> 2] | 0) + 28 >> 2] = 1; + return; +} + +function __ZNSt3__28messagesIwED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNSt3__28messagesIcED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNSt3__212_GLOBAL__N_17countofIcEEmPKT_S4_($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return $1 - $0 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle18ArraySubscriptExprD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZNSt3__28numpunctIwED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__28numpunctIwED2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNSt3__28numpunctIcED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__28numpunctIcED2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNSt3__215__refstring_imp12_GLOBAL__N_113rep_from_dataEPKc($0) { + $0 = $0 | 0; + return $0 + -12 | 0; +} + +function __ZNKSt3__26vectorINS_4pairIfmEENS_9allocatorIS2_EEE8max_sizeEv($0) { + $0 = $0 | 0; + return 536870911; +} + +function __ZNKSt3__26vectorINS_4pairIfiEENS_9allocatorIS2_EEE8max_sizeEv($0) { + $0 = $0 | 0; + return 536870911; +} + +function __ZN12_GLOBAL__N_116itanium_demangle17VendorExtQualTypeD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZNK6vision25DoGScaleInvariantDetector6heightEv($0) { + $0 = $0 | 0; + return HEAP32[$0 + 4 >> 2] | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle16StdQualifiedNameD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle16FunctionEncodingD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function ___cxx_global_var_init_40() { + __ZN46EmscriptenBindingInitializer_constant_bindingsC2Ev(0); + return; +} + +function __ZNSt3__27collateIwED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__27collateIwED2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNSt3__27collateIcED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__27collateIcED2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNSt3__25ctypeIwED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + __ZdlPv($0); + return; +} + +function __ZN6vision9ExceptionD0Ev($0) { + $0 = $0 | 0; + __ZN6vision9ExceptionD2Ev($0); + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle15UnnamedTypeNameD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle15PixelVectorTypeD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle15LiteralOperatorD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle15IntegerCastExprD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle15ConditionalExprD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle15ClosureTypeNameD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle15BracedRangeExprD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function _jdiv_round_up($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return ($0 + -1 + $1 | 0) / ($1 | 0) | 0 | 0; +} + +function __ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEED2Ev($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return; +} + +function __ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEED2Ev($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return; +} + +function __ZNSt3__213basic_istreamIwNS_11char_traitsIwEEED2Ev($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return; +} + +function __ZNSt3__213basic_istreamIcNS_11char_traitsIcEEED2Ev($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return; +} + +function __ZNK6vision21HoughSimilarityVoting18getSubBinLocationsEv($0) { + $0 = $0 | 0; + return $0 + 112 | 0; +} + +function __ZNK6vision10DoGPyramid17numScalePerOctaveEv($0) { + $0 = $0 | 0; + return HEAP32[$0 + 16 >> 2] | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle14IntegerLiteralD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle14ConversionExprD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function dynCall_vi(index, a1) { + index = index | 0; + a1 = a1 | 0; + FUNCTION_TABLE_vi[index & 255](a1 | 0); +} + +function b20(p0, p1, p2, p3) { + p0 = p0 | 0; + p1 = p1 | 0; + p2 = p2 | 0; + p3 = p3 | 0; + nullFunc_viiii(20); +} + +function _createKpmHandle($cparamLT) { + $cparamLT = $cparamLT | 0; + return _kpmCreateHandle($cparamLT) | 0; +} + +function _catgets($0, $1, $2, $3) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + $3 = $3 | 0; + return $3 | 0; +} + +function __ZNK6vision17PriorityQueueItemILi96EE4distEv($0) { + $0 = $0 | 0; + return HEAP32[$0 + 4 >> 2] | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle13ReferenceTypeD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle13QualifiedNameD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle13ParameterPackD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle13ObjCProtoNameD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle13NodeArrayNodeD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle13FunctionParamD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle13EnclosingExprD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function ___clang_call_terminate($0) { + $0 = $0 | 0; + ___cxa_begin_catch($0 | 0) | 0; + __ZSt9terminatev(); +} + +function __ZNSt12length_errorD0Ev($0) { + $0 = $0 | 0; + __ZNSt11logic_errorD2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNKSt3__28numpunctIwE16do_thousands_sepEv($0) { + $0 = $0 | 0; + return HEAP32[$0 + 12 >> 2] | 0; +} + +function __ZNKSt3__25ctypeIwE8do_widenEc($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return $1 << 24 >> 24 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle12TemplateArgsD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle12NoexceptSpecD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle12InitListExprD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle12FunctionTypeD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle12EnableIfAttrD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle12CtorDtorNameD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function _strtold_l($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return +(+_strtold($0, $1)); +} + +function __ZNSt3__28ios_baseD0Ev($0) { + $0 = $0 | 0; + __ZNSt3__28ios_baseD2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNSt3__25ctypeIcED0Ev($0) { + $0 = $0 | 0; + __ZNSt3__25ctypeIcED2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNSt3__210moneypunctIwLb1EED2Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + return; +} + +function __ZNSt3__210moneypunctIwLb0EED2Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + return; +} + +function __ZNSt3__210moneypunctIcLb1EED2Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + return; +} + +function __ZNSt3__210moneypunctIcLb0EED2Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + return; +} + +function __ZNSt11logic_errorD0Ev($0) { + $0 = $0 | 0; + __ZNSt11logic_errorD2Ev($0); + __ZdlPv($0); + return; +} + +function __ZNKSt3__28numpunctIwE16do_decimal_pointEv($0) { + $0 = $0 | 0; + return HEAP32[$0 + 8 >> 2] | 0; +} + +function __ZNK6vision4NodeILi96EE4leafEv($0) { + $0 = $0 | 0; + return (HEAP8[$0 + 100 >> 0] | 0) != 0 | 0; +} + +function __ZNK6vision25DoGScaleInvariantDetector5widthEv($0) { + $0 = $0 | 0; + return HEAP32[$0 >> 2] | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle11SpecialNameD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle11PostfixExprD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle11PointerTypeD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZNKSt3__28numpunctIcE16do_thousands_sepEv($0) { + $0 = $0 | 0; + return HEAP8[$0 + 9 >> 0] | 0; +} + +function __ZNKSt3__28numpunctIcE16do_decimal_pointEv($0) { + $0 = $0 | 0; + return HEAP8[$0 + 8 >> 0] | 0; +} + +function __ZNKSt3__221__basic_string_commonILb1EE20__throw_length_errorEv($0) { + $0 = $0 | 0; + _abort(); +} + +function __ZN6vision5ImageD2Ev($0) { + $0 = $0 | 0; + __ZNSt3__210shared_ptrIhED2Ev($0 + 24 | 0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle10VectorTypeD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle10PrefixExprD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle10NestedNameD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle10MemberExprD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle10DeleteExprD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle10BracedExprD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle10BinaryExprD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle10AbiTagAttrD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function _strtof_l($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return +(+_strtof($0, $1)); +} + +function _strtod_l($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + return +(+_strtod($0, $1)); +} + +function __ZNSt3__220__time_get_c_storageIwEC2Ev($0) { + $0 = $0 | 0; + HEAP32[$0 >> 2] = 23752; + return; +} + +function __ZNSt3__220__time_get_c_storageIcEC2Ev($0) { + $0 = $0 | 0; + HEAP32[$0 >> 2] = 23716; + return; +} + +function __ZNKSt3__220__vector_base_commonILb1EE20__throw_length_errorEv($0) { + $0 = $0 | 0; + _abort(); +} + +function __ZNK6vision17PriorityQueueItemILi96EE4nodeEv($0) { + $0 = $0 | 0; + return HEAP32[$0 >> 2] | 0; +} + +function __ZN10emscripten8internal11BindingTypeIivE12fromWireTypeEi($v) { + $v = $v | 0; + return $v | 0; +} + +function _jpeg_free_small($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + _free($1); + return; +} + +function _jpeg_free_large($0, $1, $2) { + $0 = $0 | 0; + $1 = $1 | 0; + $2 = $2 | 0; + _free($1); + return; +} + +function __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE9showmanycEv($0) { + $0 = $0 | 0; + return 0; +} + +function __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE9showmanycEv($0) { + $0 = $0 | 0; + return 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle9ThrowExprD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle9LocalNameD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle9DotSuffixD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle9ArrayTypeD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_112OutputStream9getBufferEv($0) { + $0 = $0 | 0; + return HEAP32[$0 >> 2] | 0; +} + +function _llvm_cttz_i32(x) { + x = x | 0; + return (x ? 31 - (Math_clz32(x ^ x - 1) | 0) | 0 : 32) | 0; +} + +function _init_source($0) { + $0 = $0 | 0; + HEAP32[(HEAP32[$0 + 24 >> 2] | 0) + 36 >> 2] = 1; + return; +} + +function __ZNK6vision14BinarykMedoidsILi96EE1kEv($0) { + $0 = $0 | 0; + return HEAP32[$0 + 4 >> 2] | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle8QualTypeD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle8NameTypeD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle8FoldExprD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle8DtorNameD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle8CastExprD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle8CallExprD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN12_GLOBAL__N_116itanium_demangle8BoolExprD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZN10__cxxabiv121__isOurExceptionClassEPK17_Unwind_Exception($0) { + $0 = $0 | 0; + return 0; +} + +function __ZNK6vision25DoGScaleInvariantDetector8featuresEv($0) { + $0 = $0 | 0; + return $0 + 60 | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle7NewExprD0Ev($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function _icpGetXw2XcCleanup($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + _free($0); + _free($1); + return; +} + +function _arMultiFreeConfig($0) { + $0 = $0 | 0; + _free(HEAP32[$0 >> 2] | 0); + _free($0); + return 0; +} + +function __ZNKSt3__210moneypunctIwLb1EE16do_thousands_sepEv($0) { + $0 = $0 | 0; + return 2147483647; +} + +function __ZNKSt3__210moneypunctIwLb1EE16do_decimal_pointEv($0) { + $0 = $0 | 0; + return 2147483647; +} + +function __ZNKSt3__210moneypunctIwLb0EE16do_thousands_sepEv($0) { + $0 = $0 | 0; + return 2147483647; +} + +function __ZNKSt3__210moneypunctIwLb0EE16do_decimal_pointEv($0) { + $0 = $0 | 0; + return 2147483647; +} + +function __ZNK6vision8KeyframeILi96EE6heightEv($0) { + $0 = $0 | 0; + return HEAP32[$0 + 4 >> 2] | 0; +} + +function __ZNK6vision14BinarykMedoidsILi96EE10assignmentEv($0) { + $0 = $0 | 0; + return $0 + 24 | 0; +} + +function __ZNK12_GLOBAL__N_110StringView3endEv($0) { + $0 = $0 | 0; + return HEAP32[$0 + 4 >> 2] | 0; +} + +function __ZN6vision4min2IfEET_S1_S1_($0, $1) { + $0 = +$0; + $1 = +$1; + return +($0 < $1 ? $0 : $1); +} + +function __ZN6vision4max2IfEET_S1_S1_($0, $1) { + $0 = +$0; + $1 = +$1; + return +($0 > $1 ? $0 : $1); +} + +function __ZN10emscripten8internal14asGenericValueIiEEdT_($t) { + $t = $t | 0; + return +(+($t | 0)); +} + +function __ZNSt3__28messagesIwED2Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + return; +} + +function __ZNSt3__28messagesIcED2Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + return; +} + +function __ZNKSt3__26vectorItNS_9allocatorItEEE8max_sizeEv($0) { + $0 = $0 | 0; + return 2147483647; +} + +function __ZNKSt3__26vectorIiNS_9allocatorIiEEE8max_sizeEv($0) { + $0 = $0 | 0; + return 1073741823; +} + +function __ZNKSt3__26vectorIhNS_9allocatorIhEEE8max_sizeEv($0) { + $0 = $0 | 0; + return 2147483647; +} + +function __ZNKSt3__26vectorIfNS_9allocatorIfEEE8max_sizeEv($0) { + $0 = $0 | 0; + return 1073741823; +} + +function __ZN6vision4log2IfEET_S1_($0) { + $0 = +$0; + return +(+Math_log(+$0) / .6931471824645996); +} + +function __ZN10emscripten8internal14ArgArrayGetterINS0_8TypeListIJviiEEEE3getEv() { + return 16920; +} + +function __ZN10emscripten8internal14ArgArrayGetterINS0_8TypeListIJvifEEEE3getEv() { + return 16908; +} + +function __ZN10emscripten8internal14ArgArrayGetterINS0_8TypeListIJvidEEEE3getEv() { + return 16940; +} + +function __ZN10emscripten8internal14ArgArrayGetterINS0_8TypeListIJiiiiEEEE3getEv() { + return 2048; +} + +function __ZN10emscripten8internal14ArgArrayGetterINS0_8TypeListIJiiiEEEE3getEv() { + return 16972; +} + +function b6(p0, p1, p2) { + p0 = p0 | 0; + p1 = p1 | 0; + p2 = p2 | 0; + nullFunc_iiii(6); + return 0; +} + +function _isspace($0) { + $0 = $0 | 0; + return (($0 | 0) == 32 | ($0 + -9 | 0) >>> 0 < 5) & 1 | 0; +} + +function __ZNSt3__27collateIwED2Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + return; +} + +function __ZNSt3__27collateIcED2Ev($0) { + $0 = $0 | 0; + __ZNSt3__26locale5facetD2Ev($0); + return; +} + +function __ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE4syncEv($0) { + $0 = $0 | 0; + return 0; +} + +function __ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE4syncEv($0) { + $0 = $0 | 0; + return 0; +} + +function __ZNKSt3__27codecvtIDsc11__mbstate_tE16do_always_noconvEv($0) { + $0 = $0 | 0; + return 0; +} + +function __ZNKSt3__27codecvtIDic11__mbstate_tE16do_always_noconvEv($0) { + $0 = $0 | 0; + return 0; +} + +function __ZNKSt3__218__libcpp_refstring5c_strEv($0) { + $0 = $0 | 0; + return HEAP32[$0 >> 2] | 0; +} + +function __ZNK6vision25GaussianScaleSpacePyramid6imagesEv($0) { + $0 = $0 | 0; + return $0 + 4 | 0; +} + +function __ZNK12_GLOBAL__N_110StringView5beginEv($0) { + $0 = $0 | 0; + return HEAP32[$0 >> 2] | 0; +} + +function __ZN10emscripten8internal14ArgArrayGetterINS0_8TypeListIJviEEEE3getEv() { + return 16956; +} + +function __ZN10emscripten8internal14ArgArrayGetterINS0_8TypeListIJiiEEEE3getEv() { + return 16996; +} + +function __ZN10emscripten8internal14ArgArrayGetterINS0_8TypeListIJdiEEEE3getEv() { + return 16932; +} + +function __ZN10emscripten8internal11BindingTypeIfvE12fromWireTypeEf($v) { + $v = +$v; + return +$v; +} + +function __ZN10emscripten8internal11BindingTypeIdvE12fromWireTypeEd($v) { + $v = +$v; + return +$v; +} + +function __ZNKSt3__27codecvtIwc11__mbstate_tE16do_always_noconvEv($0) { + $0 = $0 | 0; + return 0; +} + +function __ZNKSt3__27codecvtIcc11__mbstate_tE16do_always_noconvEv($0) { + $0 = $0 | 0; + return 1; +} + +function __ZNK6vision20BinaryFeatureMatcherILi96EE7matchesEv($0) { + $0 = $0 | 0; + return $0 | 0; +} + +function __ZN6vision25GaussianScaleSpacePyramid6imagesEv($0) { + $0 = $0 | 0; + return $0 + 4 | 0; +} + +function __ZN10emscripten8internal14ArgArrayGetterINS0_8TypeListIJiEEEE3getEv() { + return 16952; +} + +function _strcpy($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + ___stpcpy($0, $1) | 0; + return $0 | 0; +} + +function _freelocale($0) { + $0 = $0 | 0; + if (___loc_is_allocated($0) | 0) _free($0); + return; +} + +function ___lctrans($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return ___lctrans_impl($0, $1) | 0; +} + +function __ZNSt3__217_DeallocateCaller9__do_callEPv($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function __ZNKSt3__27codecvtIDsc11__mbstate_tE13do_max_lengthEv($0) { + $0 = $0 | 0; + return 4; +} + +function __ZNKSt3__27codecvtIDic11__mbstate_tE13do_max_lengthEv($0) { + $0 = $0 | 0; + return 4; +} + +function __ZNKSt3__25ctypeIcE8do_widenEc($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return $1 | 0; +} + +function __ZNK6vision8KeyframeILi96EE5widthEv($0) { + $0 = $0 | 0; + return HEAP32[$0 >> 2] | 0; +} + +function __ZNK6vision5Image3getIfEEPKT_v($0) { + $0 = $0 | 0; + return HEAP32[$0 + 24 >> 2] | 0; +} + +function __ZN10emscripten8internal11LightTypeIDINS_11memory_viewItEEE3getEv() { + return 15280; +} + +function __ZN10emscripten8internal11LightTypeIDINS_11memory_viewIsEEE3getEv() { + return 15288; +} + +function __ZN10emscripten8internal11LightTypeIDINS_11memory_viewImEEE3getEv() { + return 15248; +} + +function __ZN10emscripten8internal11LightTypeIDINS_11memory_viewIlEEE3getEv() { + return 15256; +} + +function __ZN10emscripten8internal11LightTypeIDINS_11memory_viewIjEEE3getEv() { + return 15264; +} + +function __ZN10emscripten8internal11LightTypeIDINS_11memory_viewIiEEE3getEv() { + return 15272; +} + +function __ZN10emscripten8internal11LightTypeIDINS_11memory_viewIhEEE3getEv() { + return 15296; +} + +function __ZN10emscripten8internal11LightTypeIDINS_11memory_viewIfEEE3getEv() { + return 15240; +} + +function __ZN10emscripten8internal11LightTypeIDINS_11memory_viewIeEEE3getEv() { + return 15224; +} + +function __ZN10emscripten8internal11LightTypeIDINS_11memory_viewIdEEE3getEv() { + return 15232; +} + +function __ZN10emscripten8internal11LightTypeIDINS_11memory_viewIcEEE3getEv() { + return 15312; +} + +function __ZN10emscripten8internal11LightTypeIDINS_11memory_viewIaEEE3getEv() { + return 15304; +} + +function __ZNSt3__211char_traitsIcE12to_char_typeEi($0) { + $0 = $0 | 0; + return $0 & 255 | 0; +} + +function __ZNKSt3__27codecvtIcc11__mbstate_tE13do_max_lengthEv($0) { + $0 = $0 | 0; + return 1; +} + +function __ZSt18uncaught_exceptionv() { + return (__ZSt19uncaught_exceptionsv() | 0) > 0 | 0; +} + +function __ZNSt3__211char_traitsIcE11to_int_typeEc($0) { + $0 = $0 | 0; + return $0 & 255 | 0; +} + +function __ZNKSt3__27codecvtIDsc11__mbstate_tE11do_encodingEv($0) { + $0 = $0 | 0; + return 0; +} + +function __ZNKSt3__27codecvtIDic11__mbstate_tE11do_encodingEv($0) { + $0 = $0 | 0; + return 0; +} + +function __ZNKSt3__210moneypunctIcLb1EE16do_thousands_sepEv($0) { + $0 = $0 | 0; + return 127; +} + +function __ZNKSt3__210moneypunctIcLb1EE16do_decimal_pointEv($0) { + $0 = $0 | 0; + return 127; +} + +function __ZNKSt3__210moneypunctIcLb0EE16do_thousands_sepEv($0) { + $0 = $0 | 0; + return 127; +} + +function __ZNKSt3__210moneypunctIcLb0EE16do_decimal_pointEv($0) { + $0 = $0 | 0; + return 127; +} + +function __ZNK6vision5Image8channelsEv($0) { + $0 = $0 | 0; + return HEAP32[$0 + 16 >> 2] | 0; +} + +function __ZN6vision5Image3getIfEEPT_v($0) { + $0 = $0 | 0; + return HEAP32[$0 + 24 >> 2] | 0; +} + +function _roundf(d) { + d = +d; + return d >= 0.0 ? +Math_floor(d + .5) : +Math_ceil(d - .5); +} + +function _arVecFree($0) { + $0 = $0 | 0; + _free(HEAP32[$0 >> 2] | 0); + _free($0); + return 0; +} + +function __ZNSt3__211char_traitsIwE6lengthEPKw($0) { + $0 = $0 | 0; + return _wcslen($0) | 0; +} + +function __ZNSt3__211char_traitsIcE6lengthEPKc($0) { + $0 = $0 | 0; + return _strlen($0) | 0; +} + +function __ZNKSt3__27codecvtIcc11__mbstate_tE11do_encodingEv($0) { + $0 = $0 | 0; + return 1; +} + +function __ZNK6vision4NodeILi96EE12reverseIndexEv($0) { + $0 = $0 | 0; + return $0 + 116 | 0; +} + +function __ZNK6vision18BinaryFeatureStore6pointsEv($0) { + $0 = $0 | 0; + return $0 + 16 | 0; +} + +function __ZN6vision18BinaryFeatureStore8featuresEv($0) { + $0 = $0 | 0; + return $0 + 4 | 0; +} + +function dynCall_i(index) { + index = index | 0; + return FUNCTION_TABLE_i[index & 1]() | 0; +} + +function _my_error_exit($0) { + $0 = $0 | 0; + _longjmp((HEAP32[$0 >> 2] | 0) + 132 | 0, 1); +} + +function _ar3DCreateHandle($0) { + $0 = $0 | 0; + return _ar3DCreateHandle2($0 + 8 | 0) | 0; +} + +function __ZNKSt3__28messagesIwE8do_closeEl($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return; +} + +function __ZNKSt3__28messagesIcE8do_closeEl($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return; +} + +function __ZNKSt3__218__libcpp_refstring15__uses_refcountEv($0) { + $0 = $0 | 0; + return 1; +} + +function __ZN6vision4NodeILi96EE12reverseIndexEv($0) { + $0 = $0 | 0; + return $0 + 116 | 0; +} + +function __ZN6vision18BinaryFeatureStore6pointsEv($0) { + $0 = $0 | 0; + return $0 + 16 | 0; +} + +function __ZNK6vision5Image6heightEv($0) { + $0 = $0 | 0; + return HEAP32[$0 + 8 >> 2] | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle4NodeD0Ev($0) { + $0 = $0 | 0; + _llvm_trap(); +} + +function b19(p0, p1, p2) { + p0 = p0 | 0; + p1 = p1 | 0; + p2 = p2 | 0; + nullFunc_viii(19); +} + +function __ZNKSt3__210moneypunctIwLb1EE14do_frac_digitsEv($0) { + $0 = $0 | 0; + return 0; +} + +function __ZNKSt3__210moneypunctIwLb0EE14do_frac_digitsEv($0) { + $0 = $0 | 0; + return 0; +} + +function __ZNKSt3__210moneypunctIcLb1EE14do_frac_digitsEv($0) { + $0 = $0 | 0; + return 0; +} + +function __ZNKSt3__210moneypunctIcLb0EE14do_frac_digitsEv($0) { + $0 = $0 | 0; + return 0; +} + +function __ZNK6vision5Image5widthEv($0) { + $0 = $0 | 0; + return HEAP32[$0 + 4 >> 2] | 0; +} + +function __ZNK6vision5Image4stepEv($0) { + $0 = $0 | 0; + return HEAP32[$0 + 12 >> 2] | 0; +} + +function __ZN6vision5roundIfEET_S1_($0) { + $0 = +$0; + return +(+Math_floor(+($0 + .5))); +} + +function __ZN12_GLOBAL__N_118getTypedArrayIndexItEENS_15TypedArrayIndexEv() { + return 3; +} + +function __ZN12_GLOBAL__N_118getTypedArrayIndexIsEENS_15TypedArrayIndexEv() { + return 2; +} + +function __ZN12_GLOBAL__N_118getTypedArrayIndexImEENS_15TypedArrayIndexEv() { + return 5; +} + +function __ZN12_GLOBAL__N_118getTypedArrayIndexIlEENS_15TypedArrayIndexEv() { + return 4; +} + +function __ZN12_GLOBAL__N_118getTypedArrayIndexIjEENS_15TypedArrayIndexEv() { + return 5; +} + +function __ZN12_GLOBAL__N_118getTypedArrayIndexIiEENS_15TypedArrayIndexEv() { + return 4; +} + +function __ZN12_GLOBAL__N_118getTypedArrayIndexIhEENS_15TypedArrayIndexEv() { + return 1; +} + +function __ZN12_GLOBAL__N_118getTypedArrayIndexIfEENS_15TypedArrayIndexEv() { + return 6; +} + +function __ZN12_GLOBAL__N_118getTypedArrayIndexIeEENS_15TypedArrayIndexEv() { + return 7; +} + +function __ZN12_GLOBAL__N_118getTypedArrayIndexIdEENS_15TypedArrayIndexEv() { + return 7; +} + +function __ZN12_GLOBAL__N_118getTypedArrayIndexIcEENS_15TypedArrayIndexEv() { + return 0; +} + +function __ZN12_GLOBAL__N_118getTypedArrayIndexIaEENS_15TypedArrayIndexEv() { + return 0; +} + +function __ZN10emscripten8internal19getGenericSignatureIJiiiiiEEEPKcv() { + return 45420; +} + +function _strtold($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return +(+_strtox($0, $1, 2)); +} + +function _jpeg_get_small($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return _malloc($1) | 0; +} + +function _jpeg_get_large($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return _malloc($1) | 0; +} + +function __ZNSt3__211char_traitsIwE12to_char_typeEj($0) { + $0 = $0 | 0; + return $0 | 0; +} + +function __ZNK6vision5Image3getEv($0) { + $0 = $0 | 0; + return HEAP32[$0 + 24 >> 2] | 0; +} + +function __ZNK16NullArrayDeleterIhEclEPh($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return; +} + +function __ZN10emscripten8internal19getGenericSignatureIJviiiEEEPKcv() { + return 41695; +} + +function __ZN10emscripten8internal19getGenericSignatureIJviifEEEPKcv() { + return 41603; +} + +function __ZN10emscripten8internal19getGenericSignatureIJviidEEEPKcv() { + return 41730; +} + +function __ZN10emscripten8internal19getGenericSignatureIJiiiiEEEPKcv() { + return 44909; +} + +function __ZN10emscripten8internal14asGenericValueIdEEdT_($t) { + $t = +$t; + return +$t; +} + +function _strtof($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return +(+_strtox($0, $1, 0)); +} + +function _strtod($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return +(+_strtox($0, $1, 1)); +} + +function _setLogLevel($level) { + $level = $level | 0; + HEAP32[4186] = $level; + return; +} + +function __ZNSt3__211char_traitsIwE11to_int_typeEw($0) { + $0 = $0 | 0; + return $0 | 0; +} + +function __ZNK6vision8KeyframeILi96EE5indexEv($0) { + $0 = $0 | 0; + return $0 + 36 | 0; +} + +function __ZN6vision5Image3getEv($0) { + $0 = $0 | 0; + return HEAP32[$0 + 24 >> 2] | 0; +} + +function __ZN10emscripten8internal19getGenericSignatureIJviiEEEPKcv() { + return 41738; +} + +function __ZN10emscripten8internal19getGenericSignatureIJiiiEEEPKcv() { + return 44745; +} + +function __ZN10emscripten8internal19getGenericSignatureIJdiiEEEPKcv() { + return 41726; +} + +function b18(p0, p1, p2) { + p0 = p0 | 0; + p1 = p1 | 0; + p2 = +p2; + nullFunc_viid(18); +} + +function _isxdigit_l($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return _isxdigit($0) | 0; +} + +function __ZNK6vision8KeyframeILi96EE5storeEv($0) { + $0 = $0 | 0; + return $0 + 8 | 0; +} + +function __ZN6vision4NodeILi96EE8childrenEv($0) { + $0 = $0 | 0; + return $0 + 104 | 0; +} + +function __ZN10emscripten8internal19getGenericSignatureIJiiEEEPKcv() { + return 41735; +} + +function ___emscripten_environ_constructor() { + ___buildEnvironment(65460); + return; +} + +function __ZN6vision8KeyframeILi96EE5storeEv($0) { + $0 = $0 | 0; + return $0 + 8 | 0; +} + +function _isdigit_l($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return _isdigit($0) | 0; +} + +function __ZNK6vision5Image4typeEv($0) { + $0 = $0 | 0; + return HEAP32[$0 >> 2] | 0; +} + +function __ZN12_GLOBAL__N_116itanium_demangle4NodeD2Ev($0) { + $0 = $0 | 0; + return; +} + +function _jpeg_destroy_decompress($0) { + $0 = $0 | 0; + _jpeg_destroy($0); + return; +} + +function _copysignl($0, $1) { + $0 = +$0; + $1 = +$1; + return +(+_copysign($0, $1)); +} + +function ___cxx_global_var_init_834() { + __ZNSt3__28ios_base4InitC2Ev(0); + return; +} + +function __ZSt19uncaught_exceptionsv() { + return ___cxa_uncaught_exceptions() | 0; +} + +function __ZN10emscripten8internal11LightTypeIDINS_3valEE3getEv() { + return 15320; +} + +function _scalbnl($0, $1) { + $0 = +$0; + $1 = $1 | 0; + return +(+_scalbn($0, $1)); +} + +function __ZNK10__cxxabiv116__shim_type_info5noop2Ev($0) { + $0 = $0 | 0; + return; +} + +function __ZNK10__cxxabiv116__shim_type_info5noop1Ev($0) { + $0 = $0 | 0; + return; +} + +function b1(p0, p1) { + p0 = p0 | 0; + p1 = p1 | 0; + nullFunc_dii(1); + return 0.0; +} + +function _ar2UtilRemoveExt($0) { + $0 = $0 | 0; + return _arUtilRemoveExt($0) | 0; +} + +function dynCall_v(index) { + index = index | 0; + FUNCTION_TABLE_v[index & 3](); +} + +function _ldexp($0, $1) { + $0 = +$0; + $1 = $1 | 0; + return +(+_scalbn($0, $1)); +} + +function __ZN6vision17PriorityQueueItemILi96EED2Ev($0) { + $0 = $0 | 0; + return; +} + +function b5(p0, p1) { + p0 = p0 | 0; + p1 = p1 | 0; + nullFunc_iii(5); + return 0; +} + +function ___cxa_guard_abort($0) { + $0 = $0 | 0; + HEAP32[$0 >> 2] = 0; + return; +} + +function __ZNK6vision10DoGPyramid6imagesEv($0) { + $0 = $0 | 0; + return $0 | 0; +} + +function __ZNSt3__221__throw_runtime_errorEPKc($0) { + $0 = $0 | 0; + _abort(); +} + +function __ZN10emscripten8internal11LightTypeIDIRKiE3getEv() { + return 14080; +} + +function __ZN10emscripten8internal11LightTypeIDIRKdE3getEv() { + return 14120; +} + +function __GLOBAL__sub_I_bind_cpp() { + ___cxx_global_var_init_713(); + return; +} + +function _pthread_cond_wait($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return 0; +} + +function _islower($0) { + $0 = $0 | 0; + return ($0 + -97 | 0) >>> 0 < 26 | 0; +} + +function _isdigit($0) { + $0 = $0 | 0; + return ($0 + -48 | 0) >>> 0 < 10 | 0; +} + +function __ZN10__cxxabiv116__shim_type_infoD2Ev($0) { + $0 = $0 | 0; + return; +} + +function __ZN10emscripten8internal11LightTypeIDIvE3getEv() { + return 14024; +} + +function __ZN10emscripten8internal11LightTypeIDItE3getEv() { + return 14072; +} + +function __ZN10emscripten8internal11LightTypeIDIsE3getEv() { + return 14064; +} + +function __ZN10emscripten8internal11LightTypeIDImE3getEv() { + return 14104; +} + +function __ZN10emscripten8internal11LightTypeIDIlE3getEv() { + return 14096; +} + +function __ZN10emscripten8internal11LightTypeIDIjE3getEv() { + return 14088; +} + +function __ZN10emscripten8internal11LightTypeIDIiE3getEv() { + return 14080; +} + +function __ZN10emscripten8internal11LightTypeIDIhE3getEv() { + return 14048; +} + +function __ZN10emscripten8internal11LightTypeIDIfE3getEv() { + return 14112; +} + +function __ZN10emscripten8internal11LightTypeIDIdE3getEv() { + return 14120; +} + +function __ZN10emscripten8internal11LightTypeIDIcE3getEv() { + return 14040; +} + +function __ZN10emscripten8internal11LightTypeIDIbE3getEv() { + return 14032; +} + +function __ZN10emscripten8internal11LightTypeIDIaE3getEv() { + return 14056; +} + +function _fmodl($0, $1) { + $0 = +$0; + $1 = +$1; + return +(+_fmod($0, $1)); +} + +function _arPattCreateHandle() { + return _arPattCreateHandle2(16, 50) | 0; +} + +function _catopen($0, $1) { + $0 = $0 | 0; + $1 = $1 | 0; + return -1 | 0; +} + +function __GLOBAL__I_000101() { + ___cxx_global_var_init_834(); + return; +} + +function __ZN6vision3sqrIfEET_S1_($0) { + $0 = +$0; + return +($0 * $0); +} + +function b17(p0, p1) { + p0 = p0 | 0; + p1 = p1 | 0; + nullFunc_vii(17); +} + +function __ZN6vision14FREAKExtractorD2Ev($0) { + $0 = $0 | 0; + return; +} + +function __ZN6vision11ScopedTimercvbEv($0) { + $0 = $0 | 0; + return 1; +} + +function __ZNSt3__214__shared_countD2Ev($0) { + $0 = $0 | 0; + return; +} + +function __ZN6vision12FeaturePointD2Ev($0) { + $0 = $0 | 0; + return; +} + +function b16(p0, p1) { + p0 = p0 | 0; + p1 = +p1; + nullFunc_vid(16); +} + +function ___emscripten_stdout_close($0) { + $0 = $0 | 0; + return 0; +} + +function __ZNSt3__26locale5facetD2Ev($0) { + $0 = $0 | 0; + return; +} + +function __ZNSt3__212__do_nothingEPv($0) { + $0 = $0 | 0; + return; +} + +function _pthread_cond_broadcast($0) { + $0 = $0 | 0; + return 0; +} + +function _lroundf($0) { + $0 = +$0; + return ~~+_roundf(+$0) | 0; +} + +function stackRestore(top) { + top = top | 0; + STACKTOP = top; +} + +function b0(p0) { + p0 = p0 | 0; + nullFunc_di(0); + return 0.0; +} + +function _pthread_mutex_unlock($0) { + $0 = $0 | 0; + return 0; +} + +function ___pthread_self_603() { + return _pthread_self() | 0; +} + +function ___pthread_self_423() { + return _pthread_self() | 0; +} + +function ___pthread_self_420() { + return _pthread_self() | 0; +} + +function ___pthread_self_417() { + return _pthread_self() | 0; +} + +function ___pthread_self_414() { + return _pthread_self() | 0; +} + +function ___pthread_self_234() { + return _pthread_self() | 0; +} + +function ___pthread_self_105() { + return _pthread_self() | 0; +} + +function b3(p0) { + p0 = p0 | 0; + nullFunc_ii(3); + return 0; +} + +function _pthread_mutex_lock($0) { + $0 = $0 | 0; + return 0; +} + +function _dummy_consume_data($0) { + $0 = $0 | 0; + return 0; +} + +function __Znam($0) { + $0 = $0 | 0; + return __Znwm($0) | 0; +} + +function __ZdaPv($0) { + $0 = $0 | 0; + __ZdlPv($0); + return; +} + +function _finish_pass_1_quant($0) { + $0 = $0 | 0; + return; +} + +function __ZNSt9type_infoD2Ev($0) { + $0 = $0 | 0; + return; +} + +function __ZNSt9exceptionD2Ev($0) { + $0 = $0 | 0; + return; +} + +function ___pthread_self() { + return _pthread_self() | 0; +} + +function __ZdlPv($0) { + $0 = $0 | 0; + _free($0); + return; +} + +function __ZNSt3__211char_traitsIwE3eofEv() { + return -1; +} + +function __ZNSt3__211char_traitsIcE3eofEv() { + return -1; +} + +function _start_pass_dcolor($0) { + $0 = $0 | 0; + return; +} + +function ___ofl_lock() { + ___lock(65416); + return 65424; +} + +function _dummy_560($0) { + $0 = $0 | 0; + return $0 | 0; +} + +function _jpeg_mem_init($0) { + $0 = $0 | 0; + return 0; +} + +function ___ofl_unlock() { + ___unlock(65416); + return; +} + +function _jpeg_mem_term($0) { + $0 = $0 | 0; + return; +} + +function _emscripten_get_sbrk_ptr() { + return 67472; +} + +function _getLogLevel() { + return HEAP32[4186] | 0; +} + +function _finish_pass2($0) { + $0 = $0 | 0; + return; +} + +function ___unlockfile($0) { + $0 = $0 | 0; + return; +} + +function ___lockfile($0) { + $0 = $0 | 0; + return 1; +} + +function ___cxa_get_globals_fast() { + return 65436; +} + +function b15(p0) { + p0 = p0 | 0; + nullFunc_vi(15); +} + +function _term_source($0) { + $0 = $0 | 0; + return; +} + +function _finish_pass($0) { + $0 = $0 | 0; + return; +} + +function ___cxa_uncaught_exceptions() { + return 0; +} + +function __GLOBAL__sub_I_iostream_cpp() { + return; +} + +function _catclose($0) { + $0 = $0 | 0; + return 0; +} + +function __ZSt17__throw_bad_allocv() { + _abort(); +} + +function ___ctype_toupper_loc() { + return 17352; +} + +function ___ctype_tolower_loc() { + return 17348; +} + +function __ZSt15get_new_handlerv() { + return 0; +} + +function ___errno_location() { + return 65396; +} + +function __ZSt13get_terminatev() { + return 2; +} + +function stackSave() { + return STACKTOP | 0; +} + +function b2() { + nullFunc_i(2); + return 0; +} + +function __get_timezone() { + return 65456; +} + +function __get_daylight() { + return 65452; +} + +function ___ctype_b_loc() { + return 17344; +} + +function _pthread_self() { + return 17100; +} + +function __get_environ() { + return 65460; +} + +function __get_tzname() { + return 65444; +} + +function b14() { + nullFunc_v(14); +} + +function _dummy_405() { + return; +} + +// EMSCRIPTEN_END_FUNCS +var FUNCTION_TABLE_di = [b0,_getProjectionNearPlane,_getProjectionFarPlane,_getPattRatio]; +var FUNCTION_TABLE_dii = [b1,__ZN10emscripten8internal7InvokerIdJiEE6invokeEPFdiEi]; +var FUNCTION_TABLE_i = [b2,_getLogLevel]; +var FUNCTION_TABLE_ii = [b3,__ZNK6vision9Exception4whatEv,___stdio_close,___emscripten_stdout_close,__ZNKSt11logic_error4whatEv,__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE4syncEv,__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE9showmanycEv,__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE9underflowEv,__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE5uflowEv,__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE4syncEv,__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE9showmanycEv,__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE9underflowEv,__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE5uflowEv,__ZNSt3__211__stdoutbufIwE4syncEv,__ZNSt3__211__stdoutbufIcE4syncEv,__ZNSt3__210__stdinbufIwE9underflowEv,__ZNSt3__210__stdinbufIwE5uflowEv,__ZNSt3__210__stdinbufIcE9underflowEv,__ZNSt3__210__stdinbufIcE5uflowEv,__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE13do_date_orderEv,__ZNKSt3__220__time_get_c_storageIcE7__weeksEv,__ZNKSt3__220__time_get_c_storageIcE8__monthsEv,__ZNKSt3__220__time_get_c_storageIcE7__am_pmEv,__ZNKSt3__220__time_get_c_storageIcE3__cEv,__ZNKSt3__220__time_get_c_storageIcE3__rEv,__ZNKSt3__220__time_get_c_storageIcE3__xEv,__ZNKSt3__220__time_get_c_storageIcE3__XEv,__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE13do_date_orderEv,__ZNKSt3__220__time_get_c_storageIwE7__weeksEv +,__ZNKSt3__220__time_get_c_storageIwE8__monthsEv,__ZNKSt3__220__time_get_c_storageIwE7__am_pmEv,__ZNKSt3__220__time_get_c_storageIwE3__cEv,__ZNKSt3__220__time_get_c_storageIwE3__rEv,__ZNKSt3__220__time_get_c_storageIwE3__xEv,__ZNKSt3__220__time_get_c_storageIwE3__XEv,__ZNKSt3__210moneypunctIcLb0EE16do_decimal_pointEv,__ZNKSt3__210moneypunctIcLb0EE16do_thousands_sepEv,__ZNKSt3__210moneypunctIcLb0EE14do_frac_digitsEv,__ZNKSt3__210moneypunctIcLb1EE16do_decimal_pointEv,__ZNKSt3__210moneypunctIcLb1EE16do_thousands_sepEv,__ZNKSt3__210moneypunctIcLb1EE14do_frac_digitsEv,__ZNKSt3__210moneypunctIwLb0EE16do_decimal_pointEv,__ZNKSt3__210moneypunctIwLb0EE16do_thousands_sepEv,__ZNKSt3__210moneypunctIwLb0EE14do_frac_digitsEv,__ZNKSt3__210moneypunctIwLb1EE16do_decimal_pointEv,__ZNKSt3__210moneypunctIwLb1EE16do_thousands_sepEv,__ZNKSt3__210moneypunctIwLb1EE14do_frac_digitsEv,__ZNKSt3__27codecvtIDic11__mbstate_tE11do_encodingEv,__ZNKSt3__27codecvtIDic11__mbstate_tE16do_always_noconvEv,__ZNKSt3__27codecvtIDic11__mbstate_tE13do_max_lengthEv,__ZNKSt3__27codecvtIwc11__mbstate_tE11do_encodingEv,__ZNKSt3__27codecvtIwc11__mbstate_tE16do_always_noconvEv,__ZNKSt3__27codecvtIwc11__mbstate_tE13do_max_lengthEv,__ZNKSt3__28numpunctIcE16do_decimal_pointEv,__ZNKSt3__28numpunctIcE16do_thousands_sepEv,__ZNKSt3__28numpunctIwE16do_decimal_pointEv,__ZNKSt3__28numpunctIwE16do_thousands_sepEv,__ZNKSt3__27codecvtIcc11__mbstate_tE11do_encodingEv,__ZNKSt3__27codecvtIcc11__mbstate_tE16do_always_noconvEv +,__ZNKSt3__27codecvtIcc11__mbstate_tE13do_max_lengthEv,__ZNKSt3__27codecvtIDsc11__mbstate_tE11do_encodingEv,__ZNKSt3__27codecvtIDsc11__mbstate_tE16do_always_noconvEv,__ZNKSt3__27codecvtIDsc11__mbstate_tE13do_max_lengthEv,_jpeg_std_error,_jpeg_start_decompress,_malloc,_jpeg_finish_decompress,_teardown,_setupAR2,_getMultiMarkerCount,_loadCamera,_detectMarker,_getMarkerNum,_detectNFTMarker,_getDebugMode,_getProcessingImage,_getThresholdMode,_getThreshold,_getPatternDetectionMode,_getMatrixCodeType,_getLabelingMode,_getImageProcMode,__ZN10emscripten8internal7InvokerIiJEE6invokeEPFivE,_consume_data,_dummy_consume_data,_fill_input_buffer,_read_markers,_read_restart_marker,_skip_variable +,_get_interesting_appn,_consume_markers,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3,b3 +,b3,b3,b3,b3,b3,b3,b3,b3,b3]; +var FUNCTION_TABLE_iidiiii = [b4,_fmt_fp]; +var FUNCTION_TABLE_iii = [b5,__ZNKSt3__220__shared_ptr_pointerIPN6vision8KeyframeILi96EEENS_14default_deleteIS3_EENS_9allocatorIS3_EEE13__get_deleterERKSt9type_info,__ZNKSt3__220__shared_ptr_pointerIPhNS_14default_deleteIhEENS_9allocatorIhEEE13__get_deleterERKSt9type_info,__ZNKSt3__220__shared_ptr_pointerIPh16NullArrayDeleterIhENS_9allocatorIhEEE13__get_deleterERKSt9type_info,__ZNK12_GLOBAL__N_116itanium_demangle4Node19hasRHSComponentSlowERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle4Node12hasArraySlowERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle4Node15hasFunctionSlowERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle4Node13getSyntaxNodeERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle13ReferenceType19hasRHSComponentSlowERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle11PointerType19hasRHSComponentSlowERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle13ParameterPack19hasRHSComponentSlowERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle13ParameterPack12hasArraySlowERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle13ParameterPack15hasFunctionSlowERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle13ParameterPack13getSyntaxNodeERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle24ForwardTemplateReference19hasRHSComponentSlowERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle24ForwardTemplateReference12hasArraySlowERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle24ForwardTemplateReference15hasFunctionSlowERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle24ForwardTemplateReference13getSyntaxNodeERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle19PointerToMemberType19hasRHSComponentSlowERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle9ArrayType19hasRHSComponentSlowERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle9ArrayType12hasArraySlowERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle8QualType19hasRHSComponentSlowERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle8QualType12hasArraySlowERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle8QualType15hasFunctionSlowERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle12FunctionType19hasRHSComponentSlowERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle12FunctionType15hasFunctionSlowERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle16FunctionEncoding19hasRHSComponentSlowERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle16FunctionEncoding15hasFunctionSlowERNS_12OutputStreamE,__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE9pbackfailEi +,__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE8overflowEi,__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE9pbackfailEj,__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE8overflowEj,__ZNSt3__211__stdoutbufIwE8overflowEj,__ZNSt3__211__stdoutbufIcE8overflowEi,__ZNSt3__210__stdinbufIwE9pbackfailEj,__ZNSt3__210__stdinbufIcE9pbackfailEi,__ZNKSt3__25ctypeIcE10do_toupperEc,__ZNKSt3__25ctypeIcE10do_tolowerEc,__ZNKSt3__25ctypeIcE8do_widenEc,__ZNKSt3__25ctypeIwE10do_toupperEw,__ZNKSt3__25ctypeIwE10do_tolowerEw,__ZNKSt3__25ctypeIwE8do_widenEc,_compE,_jpeg_read_header,_addMarker,_addMultiMarker,_addNFTMarker,_getMultiMarkerNum,_setMarkerInfoVertex,_getTransMatMultiSquare,_getTransMatMultiSquareRobust,_getMarkerInfo,_getNFTMarkerInfo,_setDebugMode,__ZN10emscripten8internal7InvokerIiJiEE6invokeEPFiiEi,__ZN10emscripten8internal7InvokerIiJNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEE6invokeEPFiS8_EPNS0_11BindingTypeIS8_vEUt_E,_compE_180,_decompress_data,_decompress_onepass +,_decompress_smooth_data,_decode_mcu_DC_first_62,_decode_mcu_AC_first_63,_decode_mcu_DC_refine_64,_decode_mcu_AC_refine_65,_decode_mcu_66,_decode_mcu_sub,_decode_mcu_DC_first,_decode_mcu_AC_first,_decode_mcu_DC_refine,_decode_mcu_AC_refine,_decode_mcu,_jpeg_resync_to_restart,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5 +,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5,b5 +,b5,b5,b5,b5,b5,b5,b5,b5,b5]; +var FUNCTION_TABLE_iiii = [b6,___stdio_write,___stdio_read,_sn_write,__ZNK10__cxxabiv117__class_type_info9can_catchEPKNS_16__shim_type_infoERPv,__ZNK10__cxxabiv123__fundamental_type_info9can_catchEPKNS_16__shim_type_infoERPv,__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE6setbufEPcl,__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE6xsgetnEPcl,__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE6xsputnEPKcl,__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE6setbufEPwl,__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE6xsgetnEPwl,__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE6xsputnEPKwl,__ZNSt3__211__stdoutbufIwE6xsputnEPKwl,__ZNSt3__211__stdoutbufIcE6xsputnEPKcl,__ZNKSt3__27collateIcE7do_hashEPKcS3_,__ZNKSt3__27collateIwE7do_hashEPKwS3_,__ZNKSt3__28messagesIcE7do_openERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_6localeE,__ZNKSt3__28messagesIwE7do_openERKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEERKNS_6localeE,__ZNKSt3__25ctypeIcE10do_toupperEPcPKc,__ZNKSt3__25ctypeIcE10do_tolowerEPcPKc,__ZNKSt3__25ctypeIcE9do_narrowEcc,__ZNKSt3__25ctypeIwE5do_isEtw,__ZNKSt3__25ctypeIwE10do_toupperEPwPKw,__ZNKSt3__25ctypeIwE10do_tolowerEPwPKw,__ZNKSt3__25ctypeIwE9do_narrowEwc,_jpeg_read_scanlines,_setup,_setMarkerInfoDir,_getTransMatSquare +,_getTransMatSquareCont,_getMultiEachMarkerInfo,__ZN10emscripten8internal7InvokerIiJiNSt3__212basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEE6invokeEPFiiS8_EiPNS0_11BindingTypeIS8_vEUt_E,__ZN10emscripten8internal7InvokerIiJiiEE6invokeEPFiiiEii,_alloc_small,_alloc_large,_do_read,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6,b6 +,b6,b6,b6,b6,b6]; +var FUNCTION_TABLE_iiiii = [b7,___stdio_seek,___emscripten_stdout_seek,__ZNKSt3__25ctypeIcE8do_widenEPKcS3_Pc,__ZNKSt3__25ctypeIwE5do_isEPKwS3_Pt,__ZNKSt3__25ctypeIwE10do_scan_isEtPKwS3_,__ZNKSt3__25ctypeIwE11do_scan_notEtPKwS3_,__ZNKSt3__25ctypeIwE8do_widenEPKcS3_Pw,__ZN10emscripten8internal7InvokerIiJiiiEE6invokeEPFiiiiEiii,_alloc_sarray,_alloc_barray,b7,b7,b7,b7,b7]; +var FUNCTION_TABLE_iiiiid = [b8,__ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcd,__ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEce,__ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwd,__ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwe,b8,b8,b8]; +var FUNCTION_TABLE_iiiiii = [b9,__ZNKSt3__27collateIcE10do_compareEPKcS3_S3_S3_,__ZNKSt3__27collateIwE10do_compareEPKwS3_S3_S3_,__ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcb,__ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcl,__ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcm,__ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcPKv,__ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwb,__ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwl,__ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwm,__ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwPKv,__ZNKSt3__27codecvtIDic11__mbstate_tE10do_unshiftERS1_PcS4_RS4_,__ZNKSt3__27codecvtIDic11__mbstate_tE9do_lengthERS1_PKcS5_m,__ZNKSt3__27codecvtIwc11__mbstate_tE10do_unshiftERS1_PcS4_RS4_,__ZNKSt3__27codecvtIwc11__mbstate_tE9do_lengthERS1_PKcS5_m,__ZNKSt3__25ctypeIcE9do_narrowEPKcS3_cPc,__ZNKSt3__25ctypeIwE9do_narrowEPKwS3_cPc,__ZNKSt3__27codecvtIcc11__mbstate_tE10do_unshiftERS1_PcS4_RS4_,__ZNKSt3__27codecvtIcc11__mbstate_tE9do_lengthERS1_PKcS5_m,__ZNKSt3__27codecvtIDsc11__mbstate_tE10do_unshiftERS1_PcS4_RS4_,__ZNKSt3__27codecvtIDsc11__mbstate_tE9do_lengthERS1_PKcS5_m,_access_virt_sarray,_access_virt_barray,b9,b9,b9,b9,b9,b9 +,b9,b9,b9]; +var FUNCTION_TABLE_iiiiiid = [b10,__ZNKSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_bRNS_8ios_baseEce,__ZNKSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_bRNS_8ios_baseEwe,b10]; +var FUNCTION_TABLE_iiiiiii = [b11,__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRb,__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRl,__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRx,__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRt,__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjS8_,__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRm,__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRy,__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRf,__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRd,__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRe,__ZNKSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjRPv,__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRb,__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRl,__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRx,__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRt,__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjS8_,__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRm,__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRy,__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRf,__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRd,__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRe,__ZNKSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjRPv,__ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcx,__ZNKSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcy,__ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwx,__ZNKSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwy,__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11do_get_timeES4_S4_RNS_8ios_baseERjP2tm,__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11do_get_dateES4_S4_RNS_8ios_baseERjP2tm +,__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE14do_get_weekdayES4_S4_RNS_8ios_baseERjP2tm,__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE16do_get_monthnameES4_S4_RNS_8ios_baseERjP2tm,__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE11do_get_yearES4_S4_RNS_8ios_baseERjP2tm,__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11do_get_timeES4_S4_RNS_8ios_baseERjP2tm,__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11do_get_dateES4_S4_RNS_8ios_baseERjP2tm,__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE14do_get_weekdayES4_S4_RNS_8ios_baseERjP2tm,__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE16do_get_monthnameES4_S4_RNS_8ios_baseERjP2tm,__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE11do_get_yearES4_S4_RNS_8ios_baseERjP2tm,__ZNKSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_bRNS_8ios_baseEcRKNS_12basic_stringIcS3_NS_9allocatorIcEEEE,__ZNKSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_bRNS_8ios_baseEwRKNS_12basic_stringIwS3_NS_9allocatorIwEEEE,_request_virt_sarray,_request_virt_barray,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_iiiiiiii = [b12,__ZNKSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_putES4_RNS_8ios_baseEcPK2tmcc,__ZNKSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_putES4_RNS_8ios_baseEwPK2tmcc,__ZNKSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_bRNS_8ios_baseERjRe,__ZNKSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_bRNS_8ios_baseERjRNS_12basic_stringIcS3_NS_9allocatorIcEEEE,__ZNKSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_bRNS_8ios_baseERjRe,__ZNKSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_bRNS_8ios_baseERjRNS_12basic_stringIwS3_NS_9allocatorIwEEEE,b12]; +var FUNCTION_TABLE_iiiiiiiii = [b13,__ZNKSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEE6do_getES4_S4_RNS_8ios_baseERjP2tmcc,__ZNKSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEE6do_getES4_S4_RNS_8ios_baseERjP2tmcc,__ZNKSt3__27codecvtIDic11__mbstate_tE6do_outERS1_PKDiS5_RS5_PcS7_RS7_,__ZNKSt3__27codecvtIDic11__mbstate_tE5do_inERS1_PKcS5_RS5_PDiS7_RS7_,__ZNKSt3__27codecvtIwc11__mbstate_tE6do_outERS1_PKwS5_RS5_PcS7_RS7_,__ZNKSt3__27codecvtIwc11__mbstate_tE5do_inERS1_PKcS5_RS5_PwS7_RS7_,__ZNKSt3__27codecvtIcc11__mbstate_tE6do_outERS1_PKcS5_RS5_PcS7_RS7_,__ZNKSt3__27codecvtIcc11__mbstate_tE5do_inERS1_PKcS5_RS5_PcS7_RS7_,__ZNKSt3__27codecvtIDsc11__mbstate_tE6do_outERS1_PKDsS5_RS5_PcS7_RS7_,__ZNKSt3__27codecvtIDsc11__mbstate_tE5do_inERS1_PKcS5_RS5_PDsS7_RS7_,b13,b13,b13,b13,b13]; +var FUNCTION_TABLE_v = [b14,___cxa_pure_virtual,__ZL28demangling_terminate_handlerv,b14]; +var FUNCTION_TABLE_vi = [b15,__ZN6vision18BinomialPyramid32fD2Ev,__ZN6vision18BinomialPyramid32fD0Ev,__ZN6vision25GaussianScaleSpacePyramidD2Ev,__ZN6vision25GaussianScaleSpacePyramidD0Ev,__ZN6vision9ExceptionD2Ev,__ZN6vision9ExceptionD0Ev,__ZNSt3__214__shared_countD2Ev,__ZNSt3__220__shared_ptr_pointerIPN6vision8KeyframeILi96EEENS_14default_deleteIS3_EENS_9allocatorIS3_EEED0Ev,__ZNSt3__220__shared_ptr_pointerIPN6vision8KeyframeILi96EEENS_14default_deleteIS3_EENS_9allocatorIS3_EEE16__on_zero_sharedEv,__ZNSt3__220__shared_ptr_pointerIPN6vision8KeyframeILi96EEENS_14default_deleteIS3_EENS_9allocatorIS3_EEE21__on_zero_shared_weakEv,__ZNSt3__220__shared_ptr_pointerIPhNS_14default_deleteIhEENS_9allocatorIhEEED0Ev,__ZNSt3__220__shared_ptr_pointerIPhNS_14default_deleteIhEENS_9allocatorIhEEE16__on_zero_sharedEv,__ZNSt3__220__shared_ptr_pointerIPhNS_14default_deleteIhEENS_9allocatorIhEEE21__on_zero_shared_weakEv,__ZNSt3__220__shared_ptr_pointerIPh16NullArrayDeleterIhENS_9allocatorIhEEED0Ev,__ZNSt3__220__shared_ptr_pointerIPh16NullArrayDeleterIhENS_9allocatorIhEEE16__on_zero_sharedEv,__ZNSt3__220__shared_ptr_pointerIPh16NullArrayDeleterIhENS_9allocatorIhEEE21__on_zero_shared_weakEv,__ZN10__cxxabiv116__shim_type_infoD2Ev,__ZN10__cxxabiv117__class_type_infoD0Ev,__ZNK10__cxxabiv116__shim_type_info5noop1Ev,__ZNK10__cxxabiv116__shim_type_info5noop2Ev,__ZN10__cxxabiv120__si_class_type_infoD0Ev,__ZNSt11logic_errorD2Ev,__ZNSt11logic_errorD0Ev,__ZNSt12length_errorD0Ev,__ZN10__cxxabiv123__fundamental_type_infoD0Ev,__ZN10__cxxabiv121__vmi_class_type_infoD0Ev,__ZN12_GLOBAL__N_116itanium_demangle4NodeD2Ev,__ZN12_GLOBAL__N_116itanium_demangle10AbiTagAttrD0Ev +,__ZN12_GLOBAL__N_116itanium_demangle4NodeD0Ev,__ZN12_GLOBAL__N_116itanium_demangle19SpecialSubstitutionD0Ev,__ZN12_GLOBAL__N_116itanium_demangle20PostfixQualifiedTypeD0Ev,__ZN12_GLOBAL__N_116itanium_demangle13ReferenceTypeD0Ev,__ZN12_GLOBAL__N_116itanium_demangle11PointerTypeD0Ev,__ZN12_GLOBAL__N_116itanium_demangle20NameWithTemplateArgsD0Ev,__ZN12_GLOBAL__N_116itanium_demangle12TemplateArgsD0Ev,__ZN12_GLOBAL__N_116itanium_demangle13ParameterPackD0Ev,__ZN12_GLOBAL__N_116itanium_demangle15IntegerCastExprD0Ev,__ZN12_GLOBAL__N_116itanium_demangle16FloatLiteralImplIeED0Ev,__ZN12_GLOBAL__N_116itanium_demangle16FloatLiteralImplIdED0Ev,__ZN12_GLOBAL__N_116itanium_demangle16FloatLiteralImplIfED0Ev,__ZN12_GLOBAL__N_116itanium_demangle8BoolExprD0Ev,__ZN12_GLOBAL__N_116itanium_demangle14IntegerLiteralD0Ev,__ZN12_GLOBAL__N_116itanium_demangle20TemplateArgumentPackD0Ev,__ZN12_GLOBAL__N_116itanium_demangle9ThrowExprD0Ev,__ZN12_GLOBAL__N_116itanium_demangle12InitListExprD0Ev,__ZN12_GLOBAL__N_116itanium_demangle13NodeArrayNodeD0Ev,__ZN12_GLOBAL__N_116itanium_demangle13EnclosingExprD0Ev,__ZN12_GLOBAL__N_116itanium_demangle19SizeofParamPackExprD0Ev,__ZN12_GLOBAL__N_116itanium_demangle22ParameterPackExpansionD0Ev,__ZN12_GLOBAL__N_116itanium_demangle8CastExprD0Ev,__ZN12_GLOBAL__N_116itanium_demangle15ConditionalExprD0Ev,__ZN12_GLOBAL__N_116itanium_demangle7NewExprD0Ev,__ZN12_GLOBAL__N_116itanium_demangle11PostfixExprD0Ev,__ZN12_GLOBAL__N_116itanium_demangle15BracedRangeExprD0Ev,__ZN12_GLOBAL__N_116itanium_demangle10BracedExprD0Ev,__ZN12_GLOBAL__N_116itanium_demangle8NameTypeD0Ev,__ZN12_GLOBAL__N_116itanium_demangle18ArraySubscriptExprD0Ev,__ZN12_GLOBAL__N_116itanium_demangle10MemberExprD0Ev +,__ZN12_GLOBAL__N_116itanium_demangle19GlobalQualifiedNameD0Ev,__ZN12_GLOBAL__N_116itanium_demangle15LiteralOperatorD0Ev,__ZN12_GLOBAL__N_116itanium_demangle22ConversionOperatorTypeD0Ev,__ZN12_GLOBAL__N_116itanium_demangle8DtorNameD0Ev,__ZN12_GLOBAL__N_116itanium_demangle13QualifiedNameD0Ev,__ZN12_GLOBAL__N_116itanium_demangle10DeleteExprD0Ev,__ZN12_GLOBAL__N_116itanium_demangle14ConversionExprD0Ev,__ZN12_GLOBAL__N_116itanium_demangle8CallExprD0Ev,__ZN12_GLOBAL__N_116itanium_demangle10PrefixExprD0Ev,__ZN12_GLOBAL__N_116itanium_demangle10BinaryExprD0Ev,__ZN12_GLOBAL__N_116itanium_demangle8FoldExprD0Ev,__ZN12_GLOBAL__N_116itanium_demangle13FunctionParamD0Ev,__ZN12_GLOBAL__N_116itanium_demangle24ForwardTemplateReferenceD0Ev,__ZN12_GLOBAL__N_116itanium_demangle22ElaboratedTypeSpefTypeD0Ev,__ZN12_GLOBAL__N_116itanium_demangle16StdQualifiedNameD0Ev,__ZN12_GLOBAL__N_116itanium_demangle21StructuredBindingNameD0Ev,__ZN12_GLOBAL__N_116itanium_demangle15ClosureTypeNameD0Ev,__ZN12_GLOBAL__N_116itanium_demangle15UnnamedTypeNameD0Ev,__ZN12_GLOBAL__N_116itanium_demangle9LocalNameD0Ev,__ZN12_GLOBAL__N_116itanium_demangle12CtorDtorNameD0Ev,__ZN12_GLOBAL__N_116itanium_demangle27ExpandedSpecialSubstitutionD0Ev,__ZN12_GLOBAL__N_116itanium_demangle10NestedNameD0Ev,__ZN12_GLOBAL__N_116itanium_demangle19PointerToMemberTypeD0Ev,__ZN12_GLOBAL__N_116itanium_demangle9ArrayTypeD0Ev,__ZN12_GLOBAL__N_116itanium_demangle10VectorTypeD0Ev,__ZN12_GLOBAL__N_116itanium_demangle15PixelVectorTypeD0Ev,__ZN12_GLOBAL__N_116itanium_demangle8QualTypeD0Ev,__ZN12_GLOBAL__N_116itanium_demangle17VendorExtQualTypeD0Ev,__ZN12_GLOBAL__N_116itanium_demangle13ObjCProtoNameD0Ev,__ZN12_GLOBAL__N_116itanium_demangle12FunctionTypeD0Ev +,__ZN12_GLOBAL__N_116itanium_demangle20DynamicExceptionSpecD0Ev,__ZN12_GLOBAL__N_116itanium_demangle12NoexceptSpecD0Ev,__ZN12_GLOBAL__N_116itanium_demangle11SpecialNameD0Ev,__ZN12_GLOBAL__N_116itanium_demangle9DotSuffixD0Ev,__ZN12_GLOBAL__N_116itanium_demangle16FunctionEncodingD0Ev,__ZN12_GLOBAL__N_116itanium_demangle12EnableIfAttrD0Ev,__ZN12_GLOBAL__N_116itanium_demangle21CtorVtableSpecialNameD0Ev,__ZNSt3__28ios_baseD2Ev,__ZNSt3__28ios_baseD0Ev,__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEED2Ev,__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEED0Ev,__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEED2Ev,__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEED0Ev,__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEED1Ev,__ZNSt3__213basic_istreamIcNS_11char_traitsIcEEED0Ev,__ZTv0_n12_NSt3__213basic_istreamIcNS_11char_traitsIcEEED1Ev,__ZTv0_n12_NSt3__213basic_istreamIcNS_11char_traitsIcEEED0Ev,__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEED1Ev,__ZNSt3__213basic_istreamIwNS_11char_traitsIwEEED0Ev,__ZTv0_n12_NSt3__213basic_istreamIwNS_11char_traitsIwEEED1Ev,__ZTv0_n12_NSt3__213basic_istreamIwNS_11char_traitsIwEEED0Ev,__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEED1Ev,__ZNSt3__213basic_ostreamIcNS_11char_traitsIcEEED0Ev,__ZTv0_n12_NSt3__213basic_ostreamIcNS_11char_traitsIcEEED1Ev,__ZTv0_n12_NSt3__213basic_ostreamIcNS_11char_traitsIcEEED0Ev,__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEED1Ev,__ZNSt3__213basic_ostreamIwNS_11char_traitsIwEEED0Ev,__ZTv0_n12_NSt3__213basic_ostreamIwNS_11char_traitsIwEEED1Ev,__ZTv0_n12_NSt3__213basic_ostreamIwNS_11char_traitsIwEEED0Ev,__ZNSt3__211__stdoutbufIwED0Ev +,__ZNSt3__211__stdoutbufIcED0Ev,__ZNSt3__210__stdinbufIwED0Ev,__ZNSt3__210__stdinbufIcED0Ev,__ZNSt3__27collateIcED2Ev,__ZNSt3__27collateIcED0Ev,__ZNSt3__26locale5facet16__on_zero_sharedEv,__ZNSt3__27collateIwED2Ev,__ZNSt3__27collateIwED0Ev,__ZNSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev,__ZNSt3__27num_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev,__ZNSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev,__ZNSt3__27num_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev,__ZNSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev,__ZNSt3__27num_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev,__ZNSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev,__ZNSt3__27num_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev,__ZNSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev,__ZNSt3__28time_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev,__ZNSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev,__ZNSt3__28time_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev,__ZNSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev,__ZNSt3__28time_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev,__ZNSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev,__ZNSt3__28time_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev,__ZNSt3__210moneypunctIcLb0EED2Ev,__ZNSt3__210moneypunctIcLb0EED0Ev,__ZNSt3__210moneypunctIcLb1EED2Ev,__ZNSt3__210moneypunctIcLb1EED0Ev,__ZNSt3__210moneypunctIwLb0EED2Ev,__ZNSt3__210moneypunctIwLb0EED0Ev +,__ZNSt3__210moneypunctIwLb1EED2Ev,__ZNSt3__210moneypunctIwLb1EED0Ev,__ZNSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev,__ZNSt3__29money_getIcNS_19istreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev,__ZNSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev,__ZNSt3__29money_getIwNS_19istreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev,__ZNSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED2Ev,__ZNSt3__29money_putIcNS_19ostreambuf_iteratorIcNS_11char_traitsIcEEEEED0Ev,__ZNSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED2Ev,__ZNSt3__29money_putIwNS_19ostreambuf_iteratorIwNS_11char_traitsIwEEEEED0Ev,__ZNSt3__28messagesIcED2Ev,__ZNSt3__28messagesIcED0Ev,__ZNSt3__28messagesIwED2Ev,__ZNSt3__28messagesIwED0Ev,__ZNSt3__26locale5facetD2Ev,__ZNSt3__216__narrow_to_utf8ILm32EED0Ev,__ZNSt3__217__widen_from_utf8ILm32EED0Ev,__ZNSt3__27codecvtIwc11__mbstate_tED2Ev,__ZNSt3__27codecvtIwc11__mbstate_tED0Ev,__ZNSt3__26locale5__impD2Ev,__ZNSt3__26locale5__impD0Ev,__ZNSt3__25ctypeIcED2Ev,__ZNSt3__25ctypeIcED0Ev,__ZNSt3__28numpunctIcED2Ev,__ZNSt3__28numpunctIcED0Ev,__ZNSt3__28numpunctIwED2Ev,__ZNSt3__28numpunctIwED0Ev,__ZNSt3__26locale5facetD0Ev,__ZNSt3__25ctypeIwED0Ev,__ZNSt3__27codecvtIcc11__mbstate_tED0Ev +,__ZNSt3__27codecvtIDsc11__mbstate_tED0Ev,__ZNSt3__27codecvtIDic11__mbstate_tED0Ev,_my_error_exit,_jpeg_destroy_decompress,_setLogLevel,_prepare_for_output_pass,_finish_output_pass,_finish_pass_1_quant,_new_color_map_1_quant,_new_color_map_2_quant,_start_pass_merged_upsample,_start_pass_dcolor,_start_pass_upsample,_start_pass_51,_start_pass,_finish_pass,_start_pass_huff_decoder,_finish_pass_huff,_start_input_pass,_start_output_pass,_finish_pass1,_finish_pass2,_init_source,_term_source,_reset_marker_reader,_realize_virt_arrays,_self_destruct,_reset_input_controller,_start_input_pass_79,_finish_input_pass +,_error_exit,_output_message,_reset_error_mgr,__ZNSt3__26locale2id6__initEv,__ZNSt3__217__call_once_proxyINS_5tupleIJONS_12_GLOBAL__N_111__fake_bindEEEEEEvPv,__ZNSt3__212__do_nothingEPv,_free,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15 +,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15,b15]; +var FUNCTION_TABLE_vid = [b16,_setProjectionNearPlane,_setProjectionFarPlane,_setPattRatio]; +var FUNCTION_TABLE_vii = [b17,__ZNK12_GLOBAL__N_116itanium_demangle10AbiTagAttr9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle4Node10printRightERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle4Node11getBaseNameEv,__ZNK12_GLOBAL__N_116itanium_demangle19SpecialSubstitution9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle19SpecialSubstitution11getBaseNameEv,__ZNK12_GLOBAL__N_116itanium_demangle20PostfixQualifiedType9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle13ReferenceType9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle13ReferenceType10printRightERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle11PointerType9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle11PointerType10printRightERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle20NameWithTemplateArgs9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle20NameWithTemplateArgs11getBaseNameEv,__ZNK12_GLOBAL__N_116itanium_demangle12TemplateArgs9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle13ParameterPack9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle13ParameterPack10printRightERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle15IntegerCastExpr9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle16FloatLiteralImplIeE9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle16FloatLiteralImplIdE9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle16FloatLiteralImplIfE9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle8BoolExpr9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle14IntegerLiteral9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle20TemplateArgumentPack9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle9ThrowExpr9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle12InitListExpr9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle13NodeArrayNode9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle13EnclosingExpr9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle19SizeofParamPackExpr9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle22ParameterPackExpansion9printLeftERNS_12OutputStreamE +,__ZNK12_GLOBAL__N_116itanium_demangle8CastExpr9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle15ConditionalExpr9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle7NewExpr9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle11PostfixExpr9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle15BracedRangeExpr9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle10BracedExpr9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle8NameType9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle8NameType11getBaseNameEv,__ZNK12_GLOBAL__N_116itanium_demangle18ArraySubscriptExpr9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle10MemberExpr9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle19GlobalQualifiedName9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle19GlobalQualifiedName11getBaseNameEv,__ZNK12_GLOBAL__N_116itanium_demangle15LiteralOperator9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle22ConversionOperatorType9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle8DtorName9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle13QualifiedName9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle13QualifiedName11getBaseNameEv,__ZNK12_GLOBAL__N_116itanium_demangle10DeleteExpr9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle14ConversionExpr9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle8CallExpr9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle10PrefixExpr9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle10BinaryExpr9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle8FoldExpr9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle13FunctionParam9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle24ForwardTemplateReference9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle24ForwardTemplateReference10printRightERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle22ElaboratedTypeSpefType9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle16StdQualifiedName9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle16StdQualifiedName11getBaseNameEv,__ZNK12_GLOBAL__N_116itanium_demangle21StructuredBindingName9printLeftERNS_12OutputStreamE +,__ZNK12_GLOBAL__N_116itanium_demangle15ClosureTypeName9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle15UnnamedTypeName9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle9LocalName9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle12CtorDtorName9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle27ExpandedSpecialSubstitution9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle27ExpandedSpecialSubstitution11getBaseNameEv,__ZNK12_GLOBAL__N_116itanium_demangle10NestedName9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle10NestedName11getBaseNameEv,__ZNK12_GLOBAL__N_116itanium_demangle19PointerToMemberType9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle19PointerToMemberType10printRightERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle9ArrayType9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle9ArrayType10printRightERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle10VectorType9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle15PixelVectorType9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle8QualType9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle8QualType10printRightERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle17VendorExtQualType9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle13ObjCProtoName9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle12FunctionType9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle12FunctionType10printRightERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle20DynamicExceptionSpec9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle12NoexceptSpec9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle11SpecialName9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle9DotSuffix9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle16FunctionEncoding9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle16FunctionEncoding10printRightERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle12EnableIfAttr9printLeftERNS_12OutputStreamE,__ZNK12_GLOBAL__N_116itanium_demangle21CtorVtableSpecialName9printLeftERNS_12OutputStreamE,__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE5imbueERKNS_6localeE,__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE5imbueERKNS_6localeE +,__ZNSt3__211__stdoutbufIwE5imbueERKNS_6localeE,__ZNSt3__211__stdoutbufIcE5imbueERKNS_6localeE,__ZNSt3__210__stdinbufIwE5imbueERKNS_6localeE,__ZNSt3__210__stdinbufIcE5imbueERKNS_6localeE,__ZNKSt3__210moneypunctIcLb0EE11do_groupingEv,__ZNKSt3__210moneypunctIcLb0EE14do_curr_symbolEv,__ZNKSt3__210moneypunctIcLb0EE16do_positive_signEv,__ZNKSt3__210moneypunctIcLb0EE16do_negative_signEv,__ZNKSt3__210moneypunctIcLb0EE13do_pos_formatEv,__ZNKSt3__210moneypunctIcLb0EE13do_neg_formatEv,__ZNKSt3__210moneypunctIcLb1EE11do_groupingEv,__ZNKSt3__210moneypunctIcLb1EE14do_curr_symbolEv,__ZNKSt3__210moneypunctIcLb1EE16do_positive_signEv,__ZNKSt3__210moneypunctIcLb1EE16do_negative_signEv,__ZNKSt3__210moneypunctIcLb1EE13do_pos_formatEv,__ZNKSt3__210moneypunctIcLb1EE13do_neg_formatEv,__ZNKSt3__210moneypunctIwLb0EE11do_groupingEv,__ZNKSt3__210moneypunctIwLb0EE14do_curr_symbolEv,__ZNKSt3__210moneypunctIwLb0EE16do_positive_signEv,__ZNKSt3__210moneypunctIwLb0EE16do_negative_signEv,__ZNKSt3__210moneypunctIwLb0EE13do_pos_formatEv,__ZNKSt3__210moneypunctIwLb0EE13do_neg_formatEv,__ZNKSt3__210moneypunctIwLb1EE11do_groupingEv,__ZNKSt3__210moneypunctIwLb1EE14do_curr_symbolEv,__ZNKSt3__210moneypunctIwLb1EE16do_positive_signEv,__ZNKSt3__210moneypunctIwLb1EE16do_negative_signEv,__ZNKSt3__210moneypunctIwLb1EE13do_pos_formatEv,__ZNKSt3__210moneypunctIwLb1EE13do_neg_formatEv,__ZNKSt3__28messagesIcE8do_closeEl,__ZNKSt3__28messagesIwE8do_closeEl +,__ZNKSt3__28numpunctIcE11do_groupingEv,__ZNKSt3__28numpunctIcE11do_truenameEv,__ZNKSt3__28numpunctIcE12do_falsenameEv,__ZNKSt3__28numpunctIwE11do_groupingEv,__ZNKSt3__28numpunctIwE11do_truenameEv,__ZNKSt3__28numpunctIwE12do_falsenameEv,_jpeg_stdio_src,_setThresholdMode,_setThreshold,_setPatternDetectionMode,_setMatrixCodeType,_setLabelingMode,_setImageProcMode,__ZN10emscripten8internal7InvokerIvJiEE6invokeEPFviEi,_start_pass_1_quant,_start_pass_2_quant,_start_pass_dpost,_start_pass_main,_skip_input_data,_free_pool,_emit_message,_format_message,_pop_arg_long_double,b17,b17,b17,b17,b17,b17,b17 +,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17 +,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17 +,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17 +,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17,b17]; +var FUNCTION_TABLE_viid = [b18,__ZN10emscripten8internal7InvokerIvJidEE6invokeEPFvidEid,__ZN10emscripten8internal7InvokerIvJifEE6invokeEPFvifEif,b18]; +var FUNCTION_TABLE_viii = [b19,_jpeg_CreateDecompress,__ZN10emscripten8internal7InvokerIvJiiEE6invokeEPFviiEii,b19]; +var FUNCTION_TABLE_viiii = [b20,__ZNK10__cxxabiv117__class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi,__ZNK10__cxxabiv120__si_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi,__ZNK10__cxxabiv121__vmi_class_type_info27has_unambiguous_public_baseEPNS_19__dynamic_cast_infoEPvi,__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE7seekposENS_4fposI11__mbstate_tEEj,__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE7seekposENS_4fposI11__mbstate_tEEj,__ZNKSt3__27collateIcE12do_transformEPKcS3_,__ZNKSt3__27collateIwE12do_transformEPKwS3_,_arLog,_h2v2_merged_upsample,_h2v1_merged_upsample,_noop_upsample,_fullsize_upsample,_h2v1_upsample,_h2v2_upsample,_int_upsample,_process_data_context_main,_process_data_simple_main,_process_data_crank_post,_prescan_quantize,_pass2_fs_dither,_pass2_no_dither,_color_quantize3,_color_quantize,_quantize3_ord_dither,_quantize_ord_dither,_quantize_fs_dither,b20,b20 +,b20,b20,b20]; +var FUNCTION_TABLE_viiiii = [b21,__ZNK10__cxxabiv117__class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib,__ZNK10__cxxabiv120__si_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib,__ZNK10__cxxabiv121__vmi_class_type_info16search_below_dstEPNS_19__dynamic_cast_infoEPKvib,_grayscale_convert_52,_rgb_gray_convert_53,_rgb1_gray_convert,_gray_rgb_convert,_ycc_rgb_convert,_rgb_convert_54,_rgb1_rgb_convert,_ycck_cmyk_convert,_null_convert_55,_jpeg_idct_1x1,_jpeg_idct_2x2,_jpeg_idct_3x3,_jpeg_idct_4x4,_jpeg_idct_5x5,_jpeg_idct_6x6,_jpeg_idct_7x7,_jpeg_idct_9x9,_jpeg_idct_10x10,_jpeg_idct_11x11,_jpeg_idct_12x12,_jpeg_idct_13x13,_jpeg_idct_14x14,_jpeg_idct_15x15,_jpeg_idct_16x16,_jpeg_idct_16x8 +,_jpeg_idct_14x7,_jpeg_idct_12x6,_jpeg_idct_10x5,_jpeg_idct_8x4,_jpeg_idct_6x3,_jpeg_idct_4x2,_jpeg_idct_2x1,_jpeg_idct_8x16,_jpeg_idct_7x14,_jpeg_idct_6x12,_jpeg_idct_5x10,_jpeg_idct_4x8,_jpeg_idct_3x6,_jpeg_idct_2x4,_jpeg_idct_1x2,_jpeg_idct_islow,_jpeg_idct_ifast,_jpeg_idct_float,b21,b21,b21,b21,b21,b21,b21,b21,b21,b21,b21,b21 +,b21,b21,b21,b21,b21]; +var FUNCTION_TABLE_viiiiii = [b22,__ZNK10__cxxabiv117__class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib,__ZNK10__cxxabiv120__si_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib,__ZNK10__cxxabiv121__vmi_class_type_info16search_above_dstEPNS_19__dynamic_cast_infoEPKvS4_ib,__ZNSt3__215basic_streambufIcNS_11char_traitsIcEEE7seekoffExNS_8ios_base7seekdirEj,__ZNSt3__215basic_streambufIwNS_11char_traitsIwEEE7seekoffExNS_8ios_base7seekdirEj,__ZNKSt3__28messagesIcE6do_getEliiRKNS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE,__ZNKSt3__28messagesIwE6do_getEliiRKNS_12basic_stringIwNS_11char_traitsIwEENS_9allocatorIwEEEE]; +var FUNCTION_TABLE_viiiiiii = [b23,_merged_2v_upsample,_merged_1v_upsample,_sep_upsample,_post_process_1pass,_post_process_prepass,_post_process_2pass,b23]; + + return { __GLOBAL__I_000101: __GLOBAL__I_000101, __GLOBAL__sub_I_ARToolKitJS_cpp: __GLOBAL__sub_I_ARToolKitJS_cpp, __GLOBAL__sub_I_bind_cpp: __GLOBAL__sub_I_bind_cpp, __GLOBAL__sub_I_iostream_cpp: __GLOBAL__sub_I_iostream_cpp, __ZSt18uncaught_exceptionv: __ZSt18uncaught_exceptionv, ___cxa_can_catch: ___cxa_can_catch, ___cxa_demangle: ___cxa_demangle, ___cxa_is_pointer_type: ___cxa_is_pointer_type, ___embind_register_native_and_builtin_types: ___embind_register_native_and_builtin_types, ___emscripten_environ_constructor: ___emscripten_environ_constructor, ___errno_location: ___errno_location, ___getTypeName: ___getTypeName, ___muldi3: ___muldi3, ___udivdi3: ___udivdi3, __get_daylight: __get_daylight, __get_environ: __get_environ, __get_timezone: __get_timezone, __get_tzname: __get_tzname, _bitshift64Lshr: _bitshift64Lshr, _bitshift64Shl: _bitshift64Shl, _emscripten_get_sbrk_ptr: _emscripten_get_sbrk_ptr, _emscripten_replace_memory: _emscripten_replace_memory, _fflush: _fflush, _free: _free, _i64Add: _i64Add, _i64Subtract: _i64Subtract, _llvm_bswap_i32: _llvm_bswap_i32, _malloc: _malloc, _memcpy: _memcpy, _memmove: _memmove, _memset: _memset, _realloc: _realloc, _roundf: _roundf, _saveSetjmp: _saveSetjmp, _setThrew: _setThrew, _testSetjmp: _testSetjmp, dynCall_di: dynCall_di, dynCall_dii: dynCall_dii, dynCall_i: dynCall_i, dynCall_ii: dynCall_ii, dynCall_iidiiii: dynCall_iidiiii, dynCall_iii: dynCall_iii, dynCall_iiii: dynCall_iiii, dynCall_iiiii: dynCall_iiiii, dynCall_iiiiid: dynCall_iiiiid, dynCall_iiiiii: dynCall_iiiiii, dynCall_iiiiiid: dynCall_iiiiiid, dynCall_iiiiiii: dynCall_iiiiiii, dynCall_iiiiiiii: dynCall_iiiiiiii, dynCall_iiiiiiiii: dynCall_iiiiiiiii, dynCall_v: dynCall_v, dynCall_vi: dynCall_vi, dynCall_vid: dynCall_vid, dynCall_vii: dynCall_vii, dynCall_viid: dynCall_viid, dynCall_viii: dynCall_viii, dynCall_viiii: dynCall_viiii, dynCall_viiiii: dynCall_viiiii, dynCall_viiiiii: dynCall_viiiiii, dynCall_viiiiiii: dynCall_viiiiiii, establishStackSpace: establishStackSpace, stackAlloc: stackAlloc, stackRestore: stackRestore, stackSave: stackSave }; +}) +// EMSCRIPTEN_END_ASM +(asmGlobalArg, asmLibraryArg, buffer); + +var real___GLOBAL__I_000101 = asm["__GLOBAL__I_000101"]; +asm["__GLOBAL__I_000101"] = 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___GLOBAL__I_000101.apply(null, arguments); +}; + +var real___GLOBAL__sub_I_ARToolKitJS_cpp = asm["__GLOBAL__sub_I_ARToolKitJS_cpp"]; +asm["__GLOBAL__sub_I_ARToolKitJS_cpp"] = 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___GLOBAL__sub_I_ARToolKitJS_cpp.apply(null, arguments); +}; + +var real___GLOBAL__sub_I_bind_cpp = asm["__GLOBAL__sub_I_bind_cpp"]; +asm["__GLOBAL__sub_I_bind_cpp"] = 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___GLOBAL__sub_I_bind_cpp.apply(null, arguments); +}; + +var real___GLOBAL__sub_I_iostream_cpp = asm["__GLOBAL__sub_I_iostream_cpp"]; +asm["__GLOBAL__sub_I_iostream_cpp"] = 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___GLOBAL__sub_I_iostream_cpp.apply(null, arguments); +}; + +var real___ZSt18uncaught_exceptionv = asm["__ZSt18uncaught_exceptionv"]; +asm["__ZSt18uncaught_exceptionv"] = 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___ZSt18uncaught_exceptionv.apply(null, arguments); +}; + +var real____cxa_can_catch = asm["___cxa_can_catch"]; +asm["___cxa_can_catch"] = 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____cxa_can_catch.apply(null, arguments); +}; + +var real____cxa_demangle = asm["___cxa_demangle"]; +asm["___cxa_demangle"] = 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____cxa_demangle.apply(null, arguments); +}; + +var real____cxa_is_pointer_type = asm["___cxa_is_pointer_type"]; +asm["___cxa_is_pointer_type"] = 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____cxa_is_pointer_type.apply(null, arguments); +}; + +var real____embind_register_native_and_builtin_types = asm["___embind_register_native_and_builtin_types"]; +asm["___embind_register_native_and_builtin_types"] = 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____embind_register_native_and_builtin_types.apply(null, arguments); +}; + +var real____emscripten_environ_constructor = asm["___emscripten_environ_constructor"]; +asm["___emscripten_environ_constructor"] = 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_environ_constructor.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____getTypeName = asm["___getTypeName"]; +asm["___getTypeName"] = 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____getTypeName.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____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___get_daylight = asm["__get_daylight"]; +asm["__get_daylight"] = 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___get_daylight.apply(null, arguments); +}; + +var real___get_environ = asm["__get_environ"]; +asm["__get_environ"] = 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___get_environ.apply(null, arguments); +}; + +var real___get_timezone = asm["__get_timezone"]; +asm["__get_timezone"] = 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___get_timezone.apply(null, arguments); +}; + +var real___get_tzname = asm["__get_tzname"]; +asm["__get_tzname"] = 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___get_tzname.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__emscripten_get_sbrk_ptr = asm["_emscripten_get_sbrk_ptr"]; +asm["_emscripten_get_sbrk_ptr"] = 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_sbrk_ptr.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__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__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__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__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__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 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__realloc = asm["_realloc"]; +asm["_realloc"] = 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__realloc.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__saveSetjmp = asm["_saveSetjmp"]; +asm["_saveSetjmp"] = 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__saveSetjmp.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__testSetjmp = asm["_testSetjmp"]; +asm["_testSetjmp"] = 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__testSetjmp.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_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_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_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 __GLOBAL__I_000101 = Module["__GLOBAL__I_000101"] = asm["__GLOBAL__I_000101"]; +var __GLOBAL__sub_I_ARToolKitJS_cpp = Module["__GLOBAL__sub_I_ARToolKitJS_cpp"] = asm["__GLOBAL__sub_I_ARToolKitJS_cpp"]; +var __GLOBAL__sub_I_bind_cpp = Module["__GLOBAL__sub_I_bind_cpp"] = asm["__GLOBAL__sub_I_bind_cpp"]; +var __GLOBAL__sub_I_iostream_cpp = Module["__GLOBAL__sub_I_iostream_cpp"] = asm["__GLOBAL__sub_I_iostream_cpp"]; +var __ZSt18uncaught_exceptionv = Module["__ZSt18uncaught_exceptionv"] = asm["__ZSt18uncaught_exceptionv"]; +var ___cxa_can_catch = Module["___cxa_can_catch"] = asm["___cxa_can_catch"]; +var ___cxa_demangle = Module["___cxa_demangle"] = asm["___cxa_demangle"]; +var ___cxa_is_pointer_type = Module["___cxa_is_pointer_type"] = asm["___cxa_is_pointer_type"]; +var ___embind_register_native_and_builtin_types = Module["___embind_register_native_and_builtin_types"] = asm["___embind_register_native_and_builtin_types"]; +var ___emscripten_environ_constructor = Module["___emscripten_environ_constructor"] = asm["___emscripten_environ_constructor"]; +var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; +var ___getTypeName = Module["___getTypeName"] = asm["___getTypeName"]; +var ___muldi3 = Module["___muldi3"] = asm["___muldi3"]; +var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; +var __get_daylight = Module["__get_daylight"] = asm["__get_daylight"]; +var __get_environ = Module["__get_environ"] = asm["__get_environ"]; +var __get_timezone = Module["__get_timezone"] = asm["__get_timezone"]; +var __get_tzname = Module["__get_tzname"] = asm["__get_tzname"]; +var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; +var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; +var _emscripten_get_sbrk_ptr = Module["_emscripten_get_sbrk_ptr"] = asm["_emscripten_get_sbrk_ptr"]; +var _emscripten_replace_memory = Module["_emscripten_replace_memory"] = asm["_emscripten_replace_memory"]; +var _fflush = Module["_fflush"] = asm["_fflush"]; +var _free = Module["_free"] = asm["_free"]; +var _i64Add = Module["_i64Add"] = asm["_i64Add"]; +var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"]; +var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; +var _malloc = Module["_malloc"] = asm["_malloc"]; +var _memcpy = Module["_memcpy"] = asm["_memcpy"]; +var _memmove = Module["_memmove"] = asm["_memmove"]; +var _memset = Module["_memset"] = asm["_memset"]; +var _realloc = Module["_realloc"] = asm["_realloc"]; +var _roundf = Module["_roundf"] = asm["_roundf"]; +var _saveSetjmp = Module["_saveSetjmp"] = asm["_saveSetjmp"]; +var _setThrew = Module["_setThrew"] = asm["_setThrew"]; +var _testSetjmp = Module["_testSetjmp"] = asm["_testSetjmp"]; +var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; +var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"]; +var stackRestore = Module["stackRestore"] = asm["stackRestore"]; +var stackSave = Module["stackSave"] = asm["stackSave"]; +var dynCall_di = Module["dynCall_di"] = asm["dynCall_di"]; +var dynCall_dii = Module["dynCall_dii"] = asm["dynCall_dii"]; +var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"]; +var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"]; +var dynCall_iidiiii = Module["dynCall_iidiiii"] = asm["dynCall_iidiiii"]; +var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"]; +var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"]; +var dynCall_iiiii = Module["dynCall_iiiii"] = asm["dynCall_iiiii"]; +var dynCall_iiiiid = Module["dynCall_iiiiid"] = asm["dynCall_iiiiid"]; +var dynCall_iiiiii = Module["dynCall_iiiiii"] = asm["dynCall_iiiiii"]; +var dynCall_iiiiiid = Module["dynCall_iiiiiid"] = asm["dynCall_iiiiiid"]; +var dynCall_iiiiiii = Module["dynCall_iiiiiii"] = asm["dynCall_iiiiiii"]; +var dynCall_iiiiiiii = Module["dynCall_iiiiiiii"] = asm["dynCall_iiiiiiii"]; +var dynCall_iiiiiiiii = Module["dynCall_iiiiiiiii"] = asm["dynCall_iiiiiiiii"]; +var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"]; +var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"]; +var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"]; +var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"]; +var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"]; +var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"]; +var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"]; +var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"]; +var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"]; +var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = asm["dynCall_viiiiiii"]; +; + + + +// === Auto-generated postamble setup entry stuff === + +Module['asm'] = asm; + +if (!Object.getOwnPropertyDescriptor(Module, "intArrayFromString")) Module["intArrayFromString"] = function() { abort("'intArrayFromString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "intArrayToString")) Module["intArrayToString"] = function() { abort("'intArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "ccall")) Module["ccall"] = function() { abort("'ccall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "cwrap")) Module["cwrap"] = function() { abort("'cwrap' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "setValue")) Module["setValue"] = function() { abort("'setValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "getValue")) Module["getValue"] = function() { abort("'getValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "allocate")) Module["allocate"] = function() { abort("'allocate' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "getMemory")) Module["getMemory"] = function() { abort("'getMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; +if (!Object.getOwnPropertyDescriptor(Module, "AsciiToString")) Module["AsciiToString"] = function() { abort("'AsciiToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "stringToAscii")) Module["stringToAscii"] = function() { abort("'stringToAscii' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "UTF8ArrayToString")) Module["UTF8ArrayToString"] = function() { abort("'UTF8ArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "UTF8ToString")) Module["UTF8ToString"] = function() { abort("'UTF8ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF8Array")) Module["stringToUTF8Array"] = function() { abort("'stringToUTF8Array' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF8")) Module["stringToUTF8"] = function() { abort("'stringToUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF8")) Module["lengthBytesUTF8"] = function() { abort("'lengthBytesUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "UTF16ToString")) Module["UTF16ToString"] = function() { abort("'UTF16ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF16")) Module["stringToUTF16"] = function() { abort("'stringToUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF16")) Module["lengthBytesUTF16"] = function() { abort("'lengthBytesUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "UTF32ToString")) Module["UTF32ToString"] = function() { abort("'UTF32ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "stringToUTF32")) Module["stringToUTF32"] = function() { abort("'stringToUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "lengthBytesUTF32")) Module["lengthBytesUTF32"] = function() { abort("'lengthBytesUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "allocateUTF8")) Module["allocateUTF8"] = function() { abort("'allocateUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "stackTrace")) Module["stackTrace"] = function() { abort("'stackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "addOnPreRun")) Module["addOnPreRun"] = function() { abort("'addOnPreRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "addOnInit")) Module["addOnInit"] = function() { abort("'addOnInit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "addOnPreMain")) Module["addOnPreMain"] = function() { abort("'addOnPreMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "addOnExit")) Module["addOnExit"] = function() { abort("'addOnExit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "addOnPostRun")) Module["addOnPostRun"] = function() { abort("'addOnPostRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "writeStringToMemory")) Module["writeStringToMemory"] = function() { abort("'writeStringToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "writeArrayToMemory")) Module["writeArrayToMemory"] = function() { abort("'writeArrayToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "writeAsciiToMemory")) Module["writeAsciiToMemory"] = function() { abort("'writeAsciiToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "addRunDependency")) Module["addRunDependency"] = function() { abort("'addRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; +if (!Object.getOwnPropertyDescriptor(Module, "removeRunDependency")) Module["removeRunDependency"] = function() { abort("'removeRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; +if (!Object.getOwnPropertyDescriptor(Module, "ENV")) Module["ENV"] = function() { abort("'ENV' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "FS")) Module["FS"] = function() { abort("'FS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createFolder")) Module["FS_createFolder"] = function() { abort("'FS_createFolder' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createPath")) Module["FS_createPath"] = function() { abort("'FS_createPath' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createDataFile")) Module["FS_createDataFile"] = function() { abort("'FS_createDataFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createPreloadedFile")) Module["FS_createPreloadedFile"] = function() { abort("'FS_createPreloadedFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createLazyFile")) Module["FS_createLazyFile"] = function() { abort("'FS_createLazyFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createLink")) Module["FS_createLink"] = function() { abort("'FS_createLink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; +if (!Object.getOwnPropertyDescriptor(Module, "FS_createDevice")) Module["FS_createDevice"] = function() { abort("'FS_createDevice' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; +if (!Object.getOwnPropertyDescriptor(Module, "FS_unlink")) Module["FS_unlink"] = function() { abort("'FS_unlink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") }; +if (!Object.getOwnPropertyDescriptor(Module, "GL")) Module["GL"] = function() { abort("'GL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "dynamicAlloc")) Module["dynamicAlloc"] = function() { abort("'dynamicAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "loadDynamicLibrary")) Module["loadDynamicLibrary"] = function() { abort("'loadDynamicLibrary' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "loadWebAssemblyModule")) Module["loadWebAssemblyModule"] = function() { abort("'loadWebAssemblyModule' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "getLEB")) Module["getLEB"] = function() { abort("'getLEB' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "getFunctionTables")) Module["getFunctionTables"] = function() { abort("'getFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "alignFunctionTables")) Module["alignFunctionTables"] = function() { abort("'alignFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "registerFunctions")) Module["registerFunctions"] = function() { abort("'registerFunctions' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "addFunction")) Module["addFunction"] = function() { abort("'addFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "removeFunction")) Module["removeFunction"] = function() { abort("'removeFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "getFuncWrapper")) Module["getFuncWrapper"] = function() { abort("'getFuncWrapper' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "prettyPrint")) Module["prettyPrint"] = function() { abort("'prettyPrint' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "makeBigInt")) Module["makeBigInt"] = function() { abort("'makeBigInt' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "dynCall")) Module["dynCall"] = function() { abort("'dynCall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "getCompilerSetting")) Module["getCompilerSetting"] = function() { abort("'getCompilerSetting' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "stackSave")) Module["stackSave"] = function() { abort("'stackSave' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "stackRestore")) Module["stackRestore"] = function() { abort("'stackRestore' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "stackAlloc")) Module["stackAlloc"] = function() { abort("'stackAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "establishStackSpace")) Module["establishStackSpace"] = function() { abort("'establishStackSpace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "print")) Module["print"] = function() { abort("'print' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "printErr")) Module["printErr"] = function() { abort("'printErr' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "getTempRet0")) Module["getTempRet0"] = function() { abort("'getTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "setTempRet0")) Module["setTempRet0"] = function() { abort("'setTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "callMain")) Module["callMain"] = function() { abort("'callMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "abort")) Module["abort"] = function() { abort("'abort' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "Pointer_stringify")) Module["Pointer_stringify"] = function() { abort("'Pointer_stringify' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "warnOnce")) Module["warnOnce"] = function() { abort("'warnOnce' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +Module["writeStackCookie"] = writeStackCookie; +Module["checkStackCookie"] = checkStackCookie; +Module["abortStackOverflow"] = abortStackOverflow; +if (!Object.getOwnPropertyDescriptor(Module, "intArrayFromBase64")) Module["intArrayFromBase64"] = function() { abort("'intArrayFromBase64' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") }; +if (!Object.getOwnPropertyDescriptor(Module, "tryParseAsDataURI")) Module["tryParseAsDataURI"] = function() { abort("'tryParseAsDataURI' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") };if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_NORMAL")) Object.defineProperty(Module, "ALLOC_NORMAL", { configurable: true, get: function() { abort("'ALLOC_NORMAL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") } }); +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_STACK")) Object.defineProperty(Module, "ALLOC_STACK", { configurable: true, get: function() { abort("'ALLOC_STACK' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") } }); +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_DYNAMIC")) Object.defineProperty(Module, "ALLOC_DYNAMIC", { configurable: true, get: function() { abort("'ALLOC_DYNAMIC' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") } }); +if (!Object.getOwnPropertyDescriptor(Module, "ALLOC_NONE")) Object.defineProperty(Module, "ALLOC_NONE", { configurable: true, get: function() { abort("'ALLOC_NONE' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)") } }); +if (!Object.getOwnPropertyDescriptor(Module, "calledRun")) Object.defineProperty(Module, "calledRun", { configurable: true, get: function() { abort("'calledRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you") } }); + +if (memoryInitializer) { + if (!isDataURI(memoryInitializer)) { + memoryInitializer = locateFile(memoryInitializer); + } + if (ENVIRONMENT_IS_NODE || ENVIRONMENT_IS_SHELL) { + var data = readBinary(memoryInitializer); + HEAPU8.set(data, GLOBAL_BASE); + } else { + addRunDependency('memory initializer'); + var applyMemoryInitializer = function(data) { + if (data.byteLength) data = new Uint8Array(data); + for (var i = 0; i < data.length; i++) { + assert(HEAPU8[GLOBAL_BASE + i] === 0, "area for memory initializer should not have been touched before it's loaded"); + } + HEAPU8.set(data, GLOBAL_BASE); + // Delete the typed array that contains the large blob of the memory initializer request response so that + // we won't keep unnecessary memory lying around. However, keep the XHR object itself alive so that e.g. + // its .status field can still be accessed later. + if (Module['memoryInitializerRequest']) delete Module['memoryInitializerRequest'].response; + removeRunDependency('memory initializer'); + }; + var doBrowserLoad = function() { + readAsync(memoryInitializer, applyMemoryInitializer, function() { + throw 'could not load memory initializer ' + memoryInitializer; + }); + }; + var memoryInitializerBytes = tryParseAsDataURI(memoryInitializer); + if (memoryInitializerBytes) { + applyMemoryInitializer(memoryInitializerBytes.buffer); + } else + if (Module['memoryInitializerRequest']) { + // a network request has already been created, just use that + var useRequest = function() { + var request = Module['memoryInitializerRequest']; + var response = request.response; + if (request.status !== 200 && request.status !== 0) { + var data = tryParseAsDataURI(Module['memoryInitializerRequestURL']); + if (data) { + response = data.buffer; + } else { + // If you see this warning, the issue may be that you are using locateFile and defining it in JS. That + // means that the HTML file doesn't know about it, and when it tries to create the mem init request early, does it to the wrong place. + // Look in your browser's devtools network console to see what's going on. + console.warn('a problem seems to have happened with Module.memoryInitializerRequest, status: ' + request.status + ', retrying ' + memoryInitializer); + doBrowserLoad(); + return; + } + } + applyMemoryInitializer(response); + }; + if (Module['memoryInitializerRequest'].response) { + setTimeout(useRequest, 0); // it's already here; but, apply it asynchronously + } else { + Module['memoryInitializerRequest'].addEventListener('load', useRequest); // wait for it + } + } else { + // fetch it from the network ourselves + doBrowserLoad(); + } + } +} + + +var calledRun; + + +/** + * @constructor + * @this {ExitStatus} + */ +function ExitStatus(status) { + this.name = "ExitStatus"; + this.message = "Program terminated with exit(" + status + ")"; + this.status = status; +} + +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 (!calledRun) run(); + if (!calledRun) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled +}; + + + + + +/** @type {function(Array=)} */ +function run(args) { + args = args || arguments_; + + if (runDependencies > 0) { + return; + } + + writeStackCookie(); + + preRun(); + + if (runDependencies > 0) return; // a preRun added a dependency, run will be called later + + function doRun() { + // run may have just been called through dependencies being fulfilled just in this very frame, + // or while the async setStatus time below was happening + if (calledRun) return; + calledRun = true; + + if (ABORT) return; + + initRuntime(); + + preMain(); + + if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); + + assert(!Module['_main'], 'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]'); + + postRun(); + } + + if (Module['setStatus']) { + Module['setStatus']('Running...'); + setTimeout(function() { + setTimeout(function() { + Module['setStatus'](''); + }, 1); + doRun(); + }, 1); + } else + { + doRun(); + } + checkStackCookie(); +} +Module['run'] = run; + +function checkUnflushedContent() { + // Compiler settings do not allow exiting the runtime, so flushing + // the streams is not possible. but in ASSERTIONS mode we check + // if there was something to flush, and if so tell the user they + // should request that the runtime be exitable. + // Normally we would not even include flush() at all, but in ASSERTIONS + // builds we do so just for this check, and here we see if there is any + // content to flush, that is, we check if there would have been + // something a non-ASSERTIONS build would have not seen. + // How we flush the streams depends on whether we are in SYSCALLS_REQUIRE_FILESYSTEM=0 + // mode (which has its own special function for this; otherwise, all + // the code is inside libc) + var print = out; + var printErr = err; + var has = false; + out = err = function(x) { + has = true; + } + try { // it doesn't matter if it fails + var flush = Module['_fflush']; + if (flush) flush(0); + // also flush in the JS FS layer + ['stdout', 'stderr'].forEach(function(name) { + var info = FS.analyzePath('/dev/' + name); + if (!info) return; + var stream = info.object; + var rdev = stream.rdev; + var tty = TTY.ttys[rdev]; + if (tty && tty.output && tty.output.length) { + has = true; + } + }); + } catch(e) {} + out = print; + err = printErr; + if (has) { + warnOnce('stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the FAQ), or make sure to emit a newline when you printf etc.'); + } +} + +function exit(status, implicit) { + checkUnflushedContent(); + + // if this is just main exit-ing implicitly, and the status is 0, then we + // don't need to do anything here and can just leave. if the status is + // non-zero, though, then we need to report it. + // (we may have warned about this earlier, if a situation justifies doing so) + if (implicit && noExitRuntime && status === 0) { + return; + } + + if (noExitRuntime) { + // if exit() was called, we may warn the user if the runtime isn't actually being shut down + if (!implicit) { + err('program exited (with status: ' + status + '), but EXIT_RUNTIME is not set, so halting execution but not exiting the runtime or preventing further async execution (build with EXIT_RUNTIME=1, if you want a true shutdown)'); + } + } else { + + ABORT = true; + EXITSTATUS = status; + + exitRuntime(); + + if (Module['onExit']) Module['onExit'](status); + } + + quit_(status, new ExitStatus(status)); +} + +if (Module['preInit']) { + if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; + while (Module['preInit'].length > 0) { + Module['preInit'].pop()(); + } +} + + + noExitRuntime = true; + +run(); + + + + + +// {{MODULE_ADDITIONS}} + + + + + + diff --git a/jsartoolkit5/build/artoolkit.min.js b/jsartoolkit5/build/artoolkit.min.js new file mode 100644 index 0000000..4ba176b --- /dev/null +++ b/jsartoolkit5/build/artoolkit.min.js @@ -0,0 +1,22 @@ +var Module=typeof Module!=="undefined"?Module:{};(function(){"use strict";var scope;if(typeof window!=="undefined"){scope=window}else{scope=self}if(scope.artoolkit_wasm_url){var downloadWasm=function(url){return new Promise(function(resolve,reject){var wasmXHR=new XMLHttpRequest;wasmXHR.open("GET",url,true);wasmXHR.responseType="arraybuffer";wasmXHR.onload=function(){resolve(wasmXHR.response)};wasmXHR.onerror=function(){reject("error "+wasmXHR.status)};wasmXHR.send(null)})};var wasm=downloadWasm(scope.artoolkit_wasm_url);Module.instantiateWasm=function(imports,successCallback){console.log("instantiateWasm: instantiating synchronously");wasm.then(function(wasmBinary){console.log("wasm download finished, begin instantiating");var wasmInstantiate=WebAssembly.instantiate(new Uint8Array(wasmBinary),imports).then(function(output){console.log("wasm instantiation succeeded");successCallback(output.instance)}).catch(function(e){console.log("wasm instantiation failed! "+e)})});return{}}}var ARController=function(width,height,cameraPara){this.id=undefined;var w=width,h=height;this.orientation="landscape";this.listeners={};if(typeof width!=="number"){var image=width;cameraPara=height;w=image.videoWidth||image.width;h=image.videoHeight||image.height;this.image=image}this.width=w;this.height=h;this.nftMarkerCount=0;this.defaultMarkerWidth=1;this.patternMarkers={};this.barcodeMarkers={};this.nftMarkers={};this.transform_mat=new Float32Array(16);this.transformGL_RH=new Float64Array(16);if(typeof document!=="undefined"){this.canvas=document.createElement("canvas");this.canvas.width=w;this.canvas.height=h;this.ctx=this.canvas.getContext("2d")}this.videoWidth=w;this.videoHeight=h;this.videoSize=this.videoWidth*this.videoHeight;this.framepointer=null;this.framesize=null;this.dataHeap=null;this.videoLuma=null;this.camera_mat=null;this.marker_transform_mat=null;this.videoLumaPointer=null;this._bwpointer=undefined;this._lumaCtx=undefined;if(typeof cameraPara==="string"){this.cameraParam=new ARCameraParam(cameraPara,function(){this._initialize()}.bind(this),function(err){console.error("ARController: Failed to load ARCameraParam",err);this.onload(err)}.bind(this))}else{this.cameraParam=cameraPara;this._initialize()}};ARController.prototype.dispose=function(){if(this.id>-1){artoolkit.teardown(this.id)}if(this.image&&this.image.srcObject){ARController._teardownVideo(this.image)}for(var t in this){this[t]=null}};ARController.prototype.process=function(image){var result=this.detectMarker(image);if(result!=0){console.error("detectMarker error: "+result)}var markerNum=this.getMarkerNum();var k,o;for(k in this.patternMarkers){o=this.patternMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(k in this.barcodeMarkers){o=this.barcodeMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(k in this.nftMarkers){o=this.nftMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(var i=0;i-1&&(markerInfo.id===markerInfo.idPatt||markerInfo.idMatrix===-1)){visible=this.trackPatternMarkerId(markerInfo.idPatt);markerType=artoolkit.PATTERN_MARKER;if(markerInfo.dir!==markerInfo.dirPatt){this.setMarkerInfoDir(i,markerInfo.dirPatt)}}else if(markerInfo.idMatrix>-1){visible=this.trackBarcodeMarkerId(markerInfo.idMatrix);markerType=artoolkit.BARCODE_MARKER;if(markerInfo.dir!==markerInfo.dirMatrix){this.setMarkerInfoDir(i,markerInfo.dirMatrix)}}if(markerType!==artoolkit.UNKNOWN_MARKER&&visible.inPrevious){this.getTransMatSquareCont(i,visible.markerWidth,visible.matrix,visible.matrix)}else{this.getTransMatSquare(i,visible.markerWidth,visible.matrix)}visible.inCurrent=true;this.transMatToGLMat(visible.matrix,this.transform_mat);this.transformGL_RH=this.arglCameraViewRHf(this.transform_mat);this.dispatchEvent({name:"getMarker",target:this,data:{index:i,type:markerType,marker:markerInfo,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}})}var nftMarkerCount=this.nftMarkerCount;this.detectNFTMarker();var MARKER_LOST_TIME=200;for(var i=0;i=0){visible=true;this.dispatchEvent({name:"getMultiMarker",target:this,data:{multiMarkerId:i,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}});break}}if(visible){for(var j=0;j-1){this.listeners[name].splice(index,1)}}};ARController.prototype.dispatchEvent=function(event){var listeners=this.listeners[event.name];if(listeners){for(var i=0;i>3;q+=4}}if(this.dataHeap){this.dataHeap.set(data);return true}return false};ARController.prototype._debugMarker=function(marker){var vertex,pos;vertex=marker.vertex;var ctx=this.ctx;ctx.strokeStyle="red";ctx.beginPath();ctx.moveTo(vertex[0][0],vertex[0][1]);ctx.lineTo(vertex[1][0],vertex[1][1]);ctx.stroke();ctx.beginPath();ctx.moveTo(vertex[2][0],vertex[2][1]);ctx.lineTo(vertex[3][0],vertex[3][1]);ctx.stroke();ctx.strokeStyle="green";ctx.beginPath();ctx.lineTo(vertex[1][0],vertex[1][1]);ctx.lineTo(vertex[2][0],vertex[2][1]);ctx.stroke();ctx.beginPath();ctx.moveTo(vertex[3][0],vertex[3][1]);ctx.lineTo(vertex[0][0],vertex[0][1]);ctx.stroke();pos=marker.pos;ctx.beginPath();ctx.arc(pos[0],pos[1],8,0,Math.PI*2);ctx.fillStyle="red";ctx.fill()};ARController.getUserMedia=function(configuration){var facing=configuration.facingMode||"environment";var onSuccess=configuration.onSuccess;var onError=configuration.onError||function(err){console.error("ARController.getUserMedia",err)};var video=document.createElement("video");var readyToPlay=false;var eventNames=["touchstart","touchend","touchmove","touchcancel","click","mousedown","mouseup","mousemove","keydown","keyup","keypress","scroll"];var play=function(){if(readyToPlay){video.play().then(function(){onSuccess(video)}).catch(function(error){onError(error);ARController._teardownVideo(video)});if(!video.paused){eventNames.forEach(function(eventName){window.removeEventListener(eventName,play,true)})}}};eventNames.forEach(function(eventName){window.addEventListener(eventName,play,true)});var success=function(stream){if(window.URL.createObjectURL){try{video.srcObject=stream}catch(ex){}}video.srcObject=stream;readyToPlay=true;video.autoplay=true;video.playsInline=true;play()};var constraints={};var mediaDevicesConstraints={};if(configuration.width){mediaDevicesConstraints.width=configuration.width;if(typeof configuration.width==="object"){if(configuration.width.max){constraints.maxWidth=configuration.width.max}if(configuration.width.min){constraints.minWidth=configuration.width.min}}else{constraints.maxWidth=configuration.width}}if(configuration.height){mediaDevicesConstraints.height=configuration.height;if(typeof configuration.height==="object"){if(configuration.height.max){constraints.maxHeight=configuration.height.max}if(configuration.height.min){constraints.minHeight=configuration.height.min}}else{constraints.maxHeight=configuration.height}}mediaDevicesConstraints.facingMode=facing;mediaDevicesConstraints.deviceId=configuration.deviceId;navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia;var hdConstraints={audio:false,video:constraints};if(navigator.mediaDevices||window.MediaStreamTrack.getSources){if(navigator.mediaDevices){navigator.mediaDevices.getUserMedia({audio:false,video:mediaDevicesConstraints}).then(success,onError)}else{window.MediaStreamTrack.getSources(function(sources){var facingDir=mediaDevicesConstraints.facingMode;if(facing&&facing.exact){facingDir=facing.exact}for(var i=0;i-1){writeStringToFS(filename,url,writeCallback)}else{ajax(url,filename,writeCallback,errorCallback)}}function writeStringToFS(target,string,callback){var byteArray=new Uint8Array(string.length);for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}readBinary=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var STACK_ALIGN=16;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var jsCallStartIndex=1;var functionPointers=new Array(0);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var GLOBAL_BASE=8;var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var STACK_BASE=57888,DYNAMIC_BASE=5300768,DYNAMICTOP_PTR=57696;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||268435456;if(Module["buffer"]){buffer=Module["buffer"]}else{buffer=new ArrayBuffer(INITIAL_TOTAL_MEMORY)}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";throw what}var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var tempDouble;var tempI64;var ASM_CONSTS=[function($0,$1,$2,$3,$4,$5){if(!artoolkit["frameMalloc"]){artoolkit["frameMalloc"]={}}var frameMalloc=artoolkit["frameMalloc"];frameMalloc["framepointer"]=$1;frameMalloc["framesize"]=$2;frameMalloc["camera"]=$3;frameMalloc["transform"]=$4;frameMalloc["videoLumaPointer"]=$5},function($0,$1,$2,$3){if(!artoolkit["multiEachMarkerInfo"]){artoolkit["multiEachMarkerInfo"]={}}var multiEachMarker=artoolkit["multiEachMarkerInfo"];multiEachMarker["visible"]=$0;multiEachMarker["pattId"]=$1;multiEachMarker["pattType"]=$2;multiEachMarker["width"]=$3},function($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,$22,$23,$24,$25,$26,$27,$28,$29,$30,$31,$32){var $a=arguments;var i=12;if(!artoolkit["markerInfo"]){artoolkit["markerInfo"]={pos:[0,0],line:[[0,0,0],[0,0,0],[0,0,0],[0,0,0]],vertex:[[0,0],[0,0],[0,0],[0,0]]}}var markerInfo=artoolkit["markerInfo"];markerInfo["area"]=$0;markerInfo["id"]=$1;markerInfo["idPatt"]=$2;markerInfo["idMatrix"]=$3;markerInfo["dir"]=$4;markerInfo["dirPatt"]=$5;markerInfo["dirMatrix"]=$6;markerInfo["cf"]=$7;markerInfo["cfPatt"]=$8;markerInfo["cfMatrix"]=$9;markerInfo["pos"][0]=$10;markerInfo["pos"][1]=$11;markerInfo["line"][0][0]=$a[i++];markerInfo["line"][0][1]=$a[i++];markerInfo["line"][0][2]=$a[i++];markerInfo["line"][1][0]=$a[i++];markerInfo["line"][1][1]=$a[i++];markerInfo["line"][1][2]=$a[i++];markerInfo["line"][2][0]=$a[i++];markerInfo["line"][2][1]=$a[i++];markerInfo["line"][2][2]=$a[i++];markerInfo["line"][3][0]=$a[i++];markerInfo["line"][3][1]=$a[i++];markerInfo["line"][3][2]=$a[i++];markerInfo["vertex"][0][0]=$a[i++];markerInfo["vertex"][0][1]=$a[i++];markerInfo["vertex"][1][0]=$a[i++];markerInfo["vertex"][1][1]=$a[i++];markerInfo["vertex"][2][0]=$a[i++];markerInfo["vertex"][2][1]=$a[i++];markerInfo["vertex"][3][0]=$a[i++];markerInfo["vertex"][3][1]=$a[i++];markerInfo["errorCorrected"]=$a[i++]},function($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13){var $a=arguments;var i=0;if(!artoolkit["NFTMarkerInfo"]){artoolkit["NFTMarkerInfo"]={id:0,error:-1,found:0,pose:[0,0,0,0,0,0,0,0,0,0,0,0]}}var markerInfo=artoolkit["NFTMarkerInfo"];markerInfo["id"]=$a[i++];markerInfo["error"]=$a[i++];markerInfo["found"]=1;markerInfo["pose"][0]=$a[i++];markerInfo["pose"][1]=$a[i++];markerInfo["pose"][2]=$a[i++];markerInfo["pose"][3]=$a[i++];markerInfo["pose"][4]=$a[i++];markerInfo["pose"][5]=$a[i++];markerInfo["pose"][6]=$a[i++];markerInfo["pose"][7]=$a[i++];markerInfo["pose"][8]=$a[i++];markerInfo["pose"][9]=$a[i++];markerInfo["pose"][10]=$a[i++];markerInfo["pose"][11]=$a[i++]},function($0){var $a=arguments;var i=0;if(!artoolkit["NFTMarkerInfo"]){artoolkit["NFTMarkerInfo"]={id:0,error:-1,found:0,pose:[0,0,0,0,0,0,0,0,0,0,0,0]}}var markerInfo=artoolkit["NFTMarkerInfo"];markerInfo["id"]=$a[i++];markerInfo["error"]=-1;markerInfo["found"]=0;markerInfo["pose"][0]=0;markerInfo["pose"][1]=0;markerInfo["pose"][2]=0;markerInfo["pose"][3]=0;markerInfo["pose"][4]=0;markerInfo["pose"][5]=0;markerInfo["pose"][6]=0;markerInfo["pose"][7]=0;markerInfo["pose"][8]=0;markerInfo["pose"][9]=0;markerInfo["pose"][10]=0;markerInfo["pose"][11]=0}];function _emscripten_asm_const_iiiiiii(code,a0,a1,a2,a3,a4,a5){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5)}function _emscripten_asm_const_iiiid(code,a0,a1,a2,a3){return ASM_CONSTS[code](a0,a1,a2,a3)}function _emscripten_asm_const_iiddddddddddddd(code,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)}function _emscripten_asm_const_ii(code,a0){return ASM_CONSTS[code](a0)}function _emscripten_asm_const_iiiiiiiidddddddddddddddddddddddddi(code,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25,a26,a27,a28,a29,a30,a31,a32){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25,a26,a27,a28,a29,a30,a31,a32)}__ATINIT__.push({func:function(){__GLOBAL__I_000101()}},{func:function(){__GLOBAL__sub_I_ARToolKitJS_cpp()}},{func:function(){___emscripten_environ_constructor()}},{func:function(){__GLOBAL__sub_I_bind_cpp()}},{func:function(){__GLOBAL__sub_I_iostream_cpp()}});memoryInitializer="data:application/octet-stream;base64,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AAAAAAAA8D87v6fAaSTpP7sgx3t6UeE/Xaty3lWo0T8AwDDwDMw8/APDM/MPzz//gECwcIxMvHyDQ7Nzj0+/fyDgENAs7BzcI+MT0y/vH9+gYJBQrGycXKNjk1Ovb59fCMg4+ATENPQLyzv7B8c394hIuHiERLR0i0u7e4dHt3co6BjYJOQU1CvrG9sn5xfXqGiYWKRklFSra5tbp2eXVwLCMvIOzj7+AcEx8Q3NPf2CQrJyjk6+foFBsXGNTb19IuIS0i7uHt4h4RHRLe0d3aJiklKubp5eoWGRUa1tnV0Kyjr6BsY29gnJOfkFxTX1ikq6eoZGtnaJSbl5hUW1dSrqGtom5hbWKekZ2SXlFdWqappapmaWVqlpmVmlZZVV3hIElQAAAAD///////////////8AAAAAAAAAAAAAAAACAADAAwAAwAQAAMAFAADABgAAwAcAAMAIAADACQAAwAoAAMALAADADAAAwA0AAMAOAADADwAAwBAAAMARAADAEgAAwBMAAMAUAADAFQAAwBYAAMAXAADAGAAAwBkAAMAaAADAGwAAwBwAAMAdAADAHgAAwB8AAMAAAACzAQAAwwIAAMMDAADDBAAAwwUAAMMGAADDBwAAwwgAAMMJAADDCgAAwwsAAMMMAADDDQAA0w4AAMMPAADDAAAMuwEADMMCAAzDAwAMwwQADNMAAAAA/////////////////////////////////////////////////////////////////wABAgMEBQYHCAn/////////CgsMDQ4PEBESExQVFhcYGRobHB0eHyAhIiP///////8KCwwNDg8QERITFBUWFxgZGhscHR4fICEiI/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAARAAoAERERAAAAAAUAAAAAAAAJAAAAAAsAAAAAAAAAABEADwoREREDCgcAARMJCwsAAAkGCwAACwAGEQAAABEREQAAAAAAAAAAAAAAAAAAAAALAAAAAAAAAAARAAoKERERAAoAAAIACQsAAAAJAAsAAAsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAAAAAAAAADAAAAAAMAAAAAAkMAAAAAAAMAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4AAAAAAAAAAAAAAA0AAAAEDQAAAAAJDgAAAAAADgAADgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAPAAAAAA8AAAAACRAAAAAAABAAABAAABIAAAASEhIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgAAABISEgAAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAAAAAAAoAAAAACgAAAAAJCwAAAAAACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAADAxMjM0NTY3ODlBQkNERUYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgACAAIAAgACAAIAAgACAAIAAyACIAIgAiACIAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAFgBMAEwATABMAEwATABMAEwATABMAEwATABMAEwATACNgI2AjYCNgI2AjYCNgI2AjYCNgEwATABMAEwATABMAEwAjVCNUI1QjVCNUI1QjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUIxQjFCMUEwATABMAEwATABMAI1gjWCNYI1gjWCNYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGCMYIxgjGBMAEwATABMACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAkAAAAKAAAACwAAAAwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAABUAAAAWAAAAFwAAABgAAAAZAAAAGgAAABsAAAAcAAAAHQAAAB4AAAAfAAAAIAAAACEAAAAiAAAA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ciBkYXRhIHR5cGUATm8gc3BhY2UgbGVmdCBvbiBkZXZpY2UAT3V0IG9mIG1lbW9yeQBSZXNvdXJjZSBidXN5AEludGVycnVwdGVkIHN5c3RlbSBjYWxsAFJlc291cmNlIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlAEludmFsaWQgc2VlawBDcm9zcy1kZXZpY2UgbGluawBSZWFkLW9ubHkgZmlsZSBzeXN0ZW0ARGlyZWN0b3J5IG5vdCBlbXB0eQBDb25uZWN0aW9uIHJlc2V0IGJ5IHBlZXIAT3BlcmF0aW9uIHRpbWVkIG91dABDb25uZWN0aW9uIHJlZnVzZWQASG9zdCBpcyBkb3duAEhvc3QgaXMgdW5yZWFjaGFibGUAQWRkcmVzcyBpbiB1c2UAQnJva2VuIHBpcGUASS9PIGVycm9yAE5vIHN1Y2ggZGV2aWNlIG9yIGFkZHJlc3MAQmxvY2sgZGV2aWNlIHJlcXVpcmVkAE5vIHN1Y2ggZGV2aWNlAE5vdCBhIGRpcmVjdG9yeQBJcyBhIGRpcmVjdG9yeQBUZXh0IGZpbGUgYnVzeQBFeGVjIGZvcm1hdCBlcnJvcgBJbnZhbGlkIGFyZ3VtZW50AEFyZ3VtZW50IGxpc3QgdG9vIGxvbmcAU3ltYm9saWMgbGluayBsb29wAEZpbGVuYW1lIHRvbyBsb25nAFRvbyBtYW55IG9wZW4gZmlsZXMgaW4gc3lzdGVtAE5vIGZpbGUgZGVzY3JpcHRvcnMgYXZhaWxhYmxlAEJhZCBmaWxlIGRlc2NyaXB0b3IATm8gY2hpbGQgcHJvY2VzcwBCYWQgYWRkcmVzcwBGaWxlIHRvbyBsYXJnZQBUb28gbWFueSBsaW5rcwBObyBsb2NrcyBhdmFpbGFibGUAUmVzb3VyY2UgZGVhZGxvY2sgd291bGQgb2NjdXIAU3RhdGUgbm90IHJlY292ZXJhYmxlAFByZXZpb3VzIG93bmVyIGRpZWQAT3BlcmF0aW9uIGNhbmNlbGVkAEZ1bmN0aW9uIG5vdCBpbXBsZW1lbnRlZABObyBtZXNzYWdlIG9mIGRlc2lyZWQgdHlwZQBJZGVudGlmaWVyIHJlbW92ZWQARGV2aWNlIG5vdCBhIHN0cmVhbQBObyBkYXRhIGF2YWlsYWJsZQBEZXZpY2UgdGltZW91dABPdXQgb2Ygc3RyZWFtcyByZXNvdXJjZXMATGluayBoYXMgYmVlbiBzZXZlcmVkAFByb3RvY29sIGVycm9yAEJhZCBtZXNzYWdlAEZpbGUgZGVzY3JpcHRvciBpbiBiYWQgc3RhdGUATm90IGEgc29ja2V0AERlc3RpbmF0aW9uIGFkZHJlc3MgcmVxdWlyZWQATWVzc2FnZSB0b28gbGFyZ2UAUHJvdG9jb2wgd3JvbmcgdHlwZSBmb3Igc29ja2V0AFByb3RvY29sIG5vdCBhdmFpbGFibGUAUHJvdG9jb2wgbm90IHN1cHBvcnRlZABTb2NrZXQgdHlwZSBub3Qgc3VwcG9ydGVkAE5vdCBzdXBwb3J0ZWQAUHJvdG9jb2wgZmFtaWx5IG5vdCBzdXBwb3J0ZWQAQWRkcmVzcyBmYW1pbHkgbm90IHN1cHBvcnRlZCBieSBwcm90b2NvbABBZGRyZXNzIG5vdCBhdmFpbGFibGUATmV0d29yayBpcyBkb3duAE5ldHdvcmsgdW5yZWFjaGFibGUAQ29ubmVjdGlvbiByZXNldCBieSBuZXR3b3JrAENvbm5lY3Rpb24gYWJvcnRlZABObyBidWZmZXIgc3BhY2UgYXZhaWxhYmxlAFNvY2tldCBpcyBjb25uZWN0ZWQAU29ja2V0IG5vdCBjb25uZWN0ZWQAQ2Fubm90IHNlbmQgYWZ0ZXIgc29ja2V0IHNodXRkb3duAE9wZXJhdGlvbiBhbHJlYWR5IGluIHByb2dyZXNzAE9wZXJhdGlvbiBpbiBwcm9ncmVzcwBTdGFsZSBmaWxlIGhhbmRsZQBSZW1vdGUgSS9PIGVycm9yAFF1b3RhIGV4Y2VlZGVkAE5vIG1lZGl1bSBmb3VuZABXcm9uZyBtZWRpdW0gdHlwZQBObyBlcnJvciBpbmZvcm1hdGlvbgAAAAAAAAoAAABkAAAA6AMAABAnAACghgEAQEIPAICWmAAA4fUFTENfQ1RZUEUAAAAATENfTlVNRVJJQwAATENfVElNRQAAAAAATENfQ09MTEFURQAATENfTU9ORVRBUlkATENfTUVTU0FHRVMAAAAAAAAAAAAAAAAAAgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAA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dWFsLgoATGFiZWxpbmcgdGhyZXNob2xkIG1vZGUgc2V0IHRvICVzLgoATUFOVUFMAEFVVE9fTUVESUFOAEFVVE9fT1RTVQBBVVRPX0FEQVBUSVZFAEFVVE9fQlJBQ0tFVElORwBFcnJvcjogVW5zdXBwb3J0ZWQgcGl4ZWwgZm9ybWF0ICglZCkgcmVxdWVzdGVkLgoAQXV0byB0aHJlc2hvbGQgKGJyYWNrZXQpIG1hcmtlciBjb3VudHMgLVslM2Q6ICUzZF0gWyUzZDogJTNkXSBbJTNkOiAlM2RdKy4KAEF1dG8gdGhyZXNob2xkIChicmFja2V0KSBhZGp1c3RlZCB0aHJlc2hvbGQgdG8gJWQuCgBtZWRpYW4AT3RzdQBBdXRvIHRocmVzaG9sZCAoJXMpIGFkanVzdGVkIHRocmVzaG9sZCB0byAlZC4KAD8/PyAxCgA/Pz8gMgoAPz8/IDMKAEVycm9yOiB1bnN1cHBvcnRlZCBwaXhlbCBmb3JtYXQuCgBFcnJvcjogTlVMTCBwYXR0SGFuZGxlLgoARXJyb3I6IGNhbid0IGxvYWQgcGF0dGVybiBmcm9tIE5VTEwgYnVmZmVyLgoARXJyb3I6IG91dCBvZiBtZW1vcnkuCgAgCQoNAFBhdHRlcm4gRGF0YSByZWFkIGVycm9yISEKAEVycm9yIHJlYWRpbmcgcGF0dGVybiBmaWxlICclcycuCgBFcnJvciAoJWQpOiB1bmFibGUgdG8gb3BlbiBjYW1lcmEgcGFyYW1ldGVycyBmaWxlICIlcyIgZm9yIHJlYWRpbmcuCgBFcnJvciAoJWQpOiB1bmFibGUgdG8gZGV0ZXJtaW5lIGZpbGUgbGVuZ3RoLgBFcnJvcjogc3VwcGxpZWQgZmlsZSBkb2VzIG5vdCBhcHBlYXIgdG8gYmUgYW4gQVJUb29sS2l0IGNhbWVyYSBwYXJhbWV0ZXIgZmlsZS4KAEVycm9yICglZCk6IHVuYWJsZSB0byByZWFkIGZyb20gZmlsZS4AYXJnbENhbWVyYUZydXN0dW1SSCgpOiBhclBhcmFtRGVjb21wTWF0KCkgaW5kaWNhdGVkIHBhcmFtZXRlciBlcnJvci4KAEVycm9yOiBpY3BHZXRKX1VfWGMARXJyb3IgMTogaWNwR2V0SW5pdFh3MlhjCgBFcnJvciAyOiBpY3BHZXRJbml0WHcyWGMKAEVycm9yIDM6IGljcEdldEluaXRYdzJYYwoARXJyb3IgNDogaWNwR2V0SW5pdFh3MlhjCgBFcnJvciA1OiBpY3BHZXRJbml0WHcyWGMKAEVycm9yIDY6IGljcEdldEluaXRYdzJYYwoARXJyb3IgNzogaWNwR2V0SW5pdFh3MlhjCgBFcnJvcjogdW5hYmxlIHRvIG9wZW4gbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJy4KAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJzogRmlyc3QgbGluZSBtdXN0IGJlIG51bWJlciBvZiBtYXJrZXIgY29uZmlncyB0byByZWFkLgoAJWxsdSVjAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJzogcGF0dGVybiAnJXMnIHNwZWNpZmllZCBpbiBtdWx0aW1hcmtlciBjb25maWd1cmF0aW9uIHdoaWxlIGluIGJhcmNvZGUtb25seSBtb2RlLgoARXJyb3IgcHJvY2Vzc2luZyBtdWx0aW1hcmtlciBjb25maWcgZmlsZSAnJXMnOiBVbmFibGUgdG8gZGV0ZXJtaW5lIGRpcmVjdG9yeSBuYW1lLgoARXJyb3IgcHJvY2Vzc2luZyBtdWx0aW1hcmtlciBjb25maWcgZmlsZSAnJXMnOiBVbmFibGUgdG8gbG9hZCBwYXR0ZXJuICclcycuCgAlbGYARXJyb3IgcHJvY2Vzc2luZyBtdWx0aW1hcmtlciBjb25maWcgZmlsZSAnJXMnLCBtYXJrZXIgZGVmaW5pdGlvbiAlM2Q6IEZpcnN0IGxpbmUgbXVzdCBiZSBwYXR0ZXJuIHdpZHRoLgoAJWxmICVsZiAlbGYgJWxmACVmICVmAEVycm9yIHByb2Nlc3NpbmcgbXVsdGltYXJrZXIgY29uZmlnIGZpbGUgJyVzJywgbWFya2VyIGRlZmluaXRpb24gJTNkOiBMaW5lcyAyIC0gNCBtdXN0IGJlIG1hcmtlciB0cmFuc2Zvcm0uCgBbJXNdIABkZWJ1ZwBpbmZvAHdhcm5pbmcAZXJyb3IAJXMlcwAuaXNldABFcnJvcjogdW5hYmxlIHRvIG9wZW4gZmlsZSAnJXMlcycgZm9yIHJlYWRpbmcuCgBFcnJvciByZWFkaW5nIGltYWdlU2V0LgoASW1hZ2VzZXQgY29udGFpbnMgJWQgaW1hZ2VzLgoARmFsbGluZyBiYWNrIHRvIHJlYWRpbmcgJyVzJXMnIGluIEFSVG9vbEtpdCB2NC54IGZvcm1hdC4KAEVycm9yIHJlYWRpbmcgSlBFRyBmaWxlLgoARXJyb3IgcmVhZGluZyBKUEVHIGZpbGUgaGVhZGVyLgoAJWYARmlsZSBvcGVuIGVycm9yLiAlcwoAUmVhZCBlcnJvciEhCgByAEVycm9yIG9wZW5pbmcgZmlsZSAnJXMnOiAAJXMlcwoAJWQACiMjIyBTdXJmYWNlIE5vLiVkICMjIwoAJXMAICBSZWFkIEltYWdlU2V0LgoARXJyb3Igb3BlbmluZyBmaWxlICclcy5pc2V0Jy4KACAgICBlbmQuCgAgIFJlYWQgRmVhdHVyZVNldC4KAEVycm9yIG9wZW5pbmcgZmlsZSAnJXMuZnNldCcuCgAgIFJlYWQgTWFya2VyU2V0LgoAbXJrAEVycm9yIG9wZW5pbmcgZmlsZSAnJXMubXJrJy4KACVmICVmICVmICVmAFRyYW5zZm9ybWF0aW9uIG1hdHJpeCByZWFkIGVycm9yISEKAGpwZwBrcG1EZWxldGVSZWZEYXRhU2V0KCk6IE5VTEwgcmVmRGF0YVNldFB0cjEvcmVmRGF0YVNldFB0cjIuCgBrcG1EZWxldGVSZWZEYXRhU2V0KCk6IE5VTEwgcmVmRGF0YVNldFB0ci4KAHJiAGtwbUxvYWRSZWZEYXRhU2V0KCk6IE5VTEwgZmlsZW5hbWUvcmVmRGF0YVNldFB0ci4KAEVycm9yIGxvYWRpbmcgS1BNIGRhdGE6IHVuYWJsZSB0byBvcGVuIGZpbGUgJyVzJXMlcycgZm9yIHJlYWRpbmcuCgBFcnJvciBsb2FkaW5nIEtQTSBkYXRhOiBlcnJvciByZWFkaW5nIGRhdGEuCgBrcG1DaGFuZ2VQYWdlTm9PZlJlZkRhdGFTZXQoKTogTlVMTCByZWZEYXRhU2V0LgoAa3BtU2V0UmVmRGF0YVNldCgpOiBOVUxMIGtwbUhhbmRsZS9yZWZEYXRhU2V0LgoAa3BtU2V0UmVmRGF0YVNldCgpOiByZWZEYXRhU2V0LgoAcG9pbnRzLSVkCgBrcG1NYXRjaGluZygpOiBOVUxMIGtwbUhhbmRsZS9pbkltYWdlTHVtYS4KAFBhZ2VbJWRdICBwcmU6JTNkLCBhZnQ6JTNkLCBlcnJvciA9ICVmCgAlcy4lcwBBc3NlcnRpb24gYHB5cmFtaWQtPnNpemUoKSA+IDBgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9Eb0dfc2NhbGVfaW52YXJpYW50X2RldGVjdG9yLmNwcABQeXJhbWlkIGlzIG5vdCBhbGxvY2F0ZWQAT2N0YXZlIG91dCBvZiByYW5nZQBTY2FsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBtSW1hZ2VzLnNpemUoKSA+IDBgIGZhaWxlZCBpbiAATGFwbGFjaWFuIHB5cmFtaWQgaGFzIG5vdCBiZWVuIGFsbG9jYXRlZABBc3NlcnRpb24gYHB5cmFtaWQtPm51bU9jdGF2ZXMoKSA+IDBgIGZhaWxlZCBpbiAAUHlyYW1pZCBkb2VzIG5vdCBjb250YWluIGFueSBsZXZlbHMAQXNzZXJ0aW9uIGBkeW5hbWljX2Nhc3Q8Y29uc3QgQmlub21pYWxQeXJhbWlkMzJmKj4ocHlyYW1pZClgIGZhaWxlZCBpbiAAT25seSBiaW5vbWlhbCBweXJhbWlkIGlzIHN1cHBvcnRlZABBc3NlcnRpb24gYGQudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABPbmx5IEYzMiBpbWFnZXMgc3VwcG9ydGVkAEFzc2VydGlvbiBgaW0xLnR5cGUoKSA9PSBJTUFHRV9GMzJgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTIudHlwZSgpID09IElNQUdFX0YzMmAgZmFpbGVkIGluIABBc3NlcnRpb24gYGQuY2hhbm5lbHMoKSA9PSAxYCBmYWlsZWQgaW4gAE9ubHkgc2luZ2xlIGNoYW5uZWwgaW1hZ2VzIHN1cHBvcnRlZABBc3NlcnRpb24gYGltMS5jaGFubmVscygpID09IDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTIuY2hhbm5lbHMoKSA9PSAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgZC53aWR0aCgpID09IGltMi53aWR0aCgpYCBmYWlsZWQgaW4gAEltYWdlcyBtdXN0IGhhdmUgdGhlIHNhbWUgd2lkdGgAQXNzZXJ0aW9uIGBkLmhlaWdodCgpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABJbWFnZXMgbXVzdCBoYXZlIHRoZSBzYW1lIGhlaWdodABBc3NlcnRpb24gYGltMS53aWR0aCgpID09IGltMi53aWR0aCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW0xLmhlaWdodCgpID09IGltMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHJvdyA8IG1IZWlnaHRgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2ZyYW1ld29yay9pbWFnZS5oAHJvdyBvdXQgb2YgYm91bmRzAE42dmlzaW9uMjVHYXVzc2lhblNjYWxlU3BhY2VQeXJhbWlkRQBEb0cgUHlyYW1pZABOb24tbWF4IHN1cHByZXNzaW9uAFN1YnBpeGVsAHBydW5lRmVhdHVyZXMARmluZCBPcmllbnRhdGlvbnMAQXNzZXJ0aW9uIGBtQnVja2V0cy5zaXplKCkgPT0gbU51bUJ1Y2tldHNYYCBmYWlsZWQgaW4gAEJ1Y2tldHMgYXJlIG5vdCBhbGxvY2F0ZWQAQXNzZXJ0aW9uIGBtQnVja2V0c1swXS5zaXplKCkgPT0gbU51bUJ1Y2tldHNZYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgbUZlYXR1cmVQb2ludHMuc2l6ZSgpIDw9IG1NYXhOdW1GZWF0dXJlUG9pbnRzYCBmYWlsZWQgaW4gAFRvbyBtYW55IGZlYXR1cmUgcG9pbnRzAEFzc2VydGlvbiBgYnVja2V0WzBdLmZpcnN0ID49IGJ1Y2tldFtuXS5maXJzdGAgZmFpbGVkIGluIABudGhfZWxlbWVudCBmYWlsZWQAQXNzZXJ0aW9uIGBrcC5zY2FsZSA8IG1MYXBsYWNpYW5QeXJhbWlkLm51bVNjYWxlUGVyT2N0YXZlKClgIGZhaWxlZCBpbiAARmVhdHVyZSBwb2ludCBzY2FsZSBpcyBvdXQgb2YgYm91bmRzAEFzc2VydGlvbiBga3Auc2NvcmUgPT0gbGFwMS5nZXQ8ZmxvYXQ+KHkpW3hdYCBmYWlsZWQgaW4gAFNjb3JlIGlzIG5vdCBjb25zaXN0ZW50IHdpdGggdGhlIERvRyBpbWFnZQBBc3NlcnRpb24gYGxhcDAuaGVpZ2h0KCkgPT0gbGFwMS5oZWlnaHQoKSA9PSBsYXAyLmhlaWdodCgpYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvRG9HX3NjYWxlX2ludmFyaWFudF9kZXRlY3Rvci5oAFdpZHRoL2hlaWdodCBhcmUgbm90IGNvbnNpc3RlbnQAQXNzZXJ0aW9uIGAobGFwMC5oZWlnaHQoKSA9PSBsYXAxLmhlaWdodCgpKSAmJiAoKGxhcDEuaGVpZ2h0KCk+PjEpID09IGxhcDIuaGVpZ2h0KCkpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKChsYXAwLndpZHRoKCk+PjEpID09IGxhcDEud2lkdGgoKSkgJiYgKGxhcDEud2lkdGgoKSA9PSBsYXAyLndpZHRoKCkpYCBmYWlsZWQgaW4gAEltYWdlIHNpemVzIGFyZSBpbmNvbnNpc3RlbnQAQXNzZXJ0aW9uIGAoeC0xKSA+PSAwICYmICh4KzEpIDwgbGFwMS53aWR0aCgpYCBmYWlsZWQgaW4gAHggb3V0IG9mIGJvdW5kcwBBc3NlcnRpb24gYCh5LTEpID49IDAgJiYgKHkrMSkgPCBsYXAxLmhlaWdodCgpYCBmYWlsZWQgaW4gAHkgb3V0IG9mIGJvdW5kcwBBc3NlcnRpb24gYChsYXAwLndpZHRoKCk+PjEpID09IGxhcDEud2lkdGgoKWAgZmFpbGVkIGluIABJbWFnZSBkaW1lbnNpb25zIGluY29uc2lzdGVudABBc3NlcnRpb24gYChsYXAwLndpZHRoKCk+PjEpID09IGxhcDIud2lkdGgoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYChsYXAwLmhlaWdodCgpPj4xKSA9PSBsYXAxLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGxhcDAuaGVpZ2h0KCk+PjEpID09IGxhcDIuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGAoaW50KXN0ZDo6Zmxvb3IoeCkgPT0gKGludCl4YCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvaW50ZXJwb2xhdGUuaABmbG9vcigpIGFuZCBjYXN0IG5vdCB0aGUgc2FtZQBBc3NlcnRpb24gYChpbnQpc3RkOjpmbG9vcih5KSA9PSAoaW50KXlgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB5cCA+PSAwICYmIHlwIDwgaGVpZ2h0YCBmYWlsZWQgaW4gAHlwIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGB5cF9wbHVzXzEgPj0gMCAmJiB5cF9wbHVzXzEgPCBoZWlnaHRgIGZhaWxlZCBpbiAAeXBfcGx1c18xIG91dCBvZiBib3VuZHMAQXNzZXJ0aW9uIGB4cCA+PSAwICYmIHhwIDwgd2lkdGhgIGZhaWxlZCBpbiAAeHAgb3V0IG9mIGJvdW5kcwBBc3NlcnRpb24gYHhwX3BsdXNfMSA+PSAwICYmIHhwX3BsdXNfMSA8IHdpZHRoYCBmYWlsZWQgaW4gAHhwX3BsdXNfMSBvdXQgb2YgYm91bmRzAEFzc2VydGlvbiBgdzAgPj0gMCAmJiB3MCA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAT3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgdzEgPj0gMCAmJiB3MSA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB3MiA+PSAwICYmIHcyIDw9IDEuMDAwMWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHczID49IDAgJiYgdzMgPD0gMS4wMDAxYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKHcwK3cxK3cyK3czKSA8PSAxLjAwMDFgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGAoeC0xKSA+PSAwICYmICh4KzEpIDwgaW0ud2lkdGgoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYCh5LTEpID49IDAgJiYgKHkrMSkgPCBpbS5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGxhcDAud2lkdGgoKSA9PSBsYXAxLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBsYXAwLmhlaWdodCgpID09IGxhcDEuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGB4X2Rpdl8yLTAuNWYgPj0gMGAgZmFpbGVkIGluIAB4X2Rpdl8yIG91dCBvZiBib3VuZHMgb3V0IG9mIGJvdW5kcyBmb3IgaW50ZXJwb2xhdGlvbgBBc3NlcnRpb24gYHlfZGl2XzItMC41ZiA+PSAwYCBmYWlsZWQgaW4gAHlfZGl2XzIgb3V0IG9mIGJvdW5kcyBvdXQgb2YgYm91bmRzIGZvciBpbnRlcnBvbGF0aW9uAEFzc2VydGlvbiBgeF9kaXZfMiswLjVmIDwgbGFwMi53aWR0aCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgeV9kaXZfMiswLjVmIDwgbGFwMi5oZWlnaHQoKWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGxhcDAud2lkdGgoKSA9PSBsYXAyLndpZHRoKClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBsYXAwLmhlaWdodCgpID09IGxhcDIuaGVpZ2h0KClgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbTAuaGVpZ2h0KCkgPT0gaW0xLmhlaWdodCgpYCBmYWlsZWQgaW4gAEhlaWdodCBpcyBpbmNvbnNpc3RlbnQAQXNzZXJ0aW9uIGBpbTAuaGVpZ2h0KCkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMS5oZWlnaHQoKT4+MSkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMC5oZWlnaHQoKT4+MSkgPT0gaW0xLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgKGltMC5oZWlnaHQoKT4+MSkgPT0gaW0yLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW5kZXggPCBtSW1hZ2VzLnNpemUoKWAgZmFpbGVkIGluIABJbmRleCBpcyBvdXQgb2YgcmFuZ2UATjZ2aXNpb24xOEJpbm9taWFsUHlyYW1pZDMyZkUAQXNzZXJ0aW9uIGB3aWR0aCA+PSA1YCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvZ2F1c3NpYW5fc2NhbGVfc3BhY2VfcHlyYW1pZC5jcHAASW1hZ2UgaXMgdG9vIHNtYWxsAEFzc2VydGlvbiBgaGVpZ2h0ID49IDVgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpbWFnZS50eXBlKCkgPT0gSU1BR0VfVUlOVDhgIGZhaWxlZCBpbiAASW1hZ2UgbXVzdCBiZSBncmF5c2NhbGUAQXNzZXJ0aW9uIGBpbWFnZS5jaGFubmVscygpID09IDFgIGZhaWxlZCBpbiAASW1hZ2UgbXVzdCBoYXZlIDEgY2hhbm5lbABBc3NlcnRpb24gYG1QeXJhbWlkLnNpemUoKSA9PSBtTnVtT2N0YXZlcyptTnVtU2NhbGVzUGVyT2N0YXZlYCBmYWlsZWQgaW4gAFB5cmFtaWQgaGFzIG5vdCBiZWVuIGFsbG9jYXRlZCB5ZXQAQXNzZXJ0aW9uIGBpbWFnZS53aWR0aCgpID09IG1QeXJhbWlkWzBdLndpZHRoKClgIGZhaWxlZCBpbiAASW1hZ2Ugb2Ygd3Jvbmcgc2l6ZSBmb3IgcHlyYW1pZABBc3NlcnRpb24gYGltYWdlLmhlaWdodCgpID09IG1QeXJhbWlkWzBdLmhlaWdodCgpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgZHN0LnR5cGUoKSA9PSBJTUFHRV9GMzJgIGZhaWxlZCBpbiAARGVzdGluYXRpb24gaW1hZ2Ugc2hvdWxkIGJlIGEgZmxvYXQAVW5rbm93biBpbWFnZSB0eXBlAFVuc3VwcG9ydGVkIGltYWdlIHR5cGUATjZ2aXNpb245RXhjZXB0aW9uRQBBc3NlcnRpb24gYGltLndpZHRoKCkgPT0gaW0uc3RlcCgpL3NpemVvZihmbG9hdClgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9vcmllbnRhdGlvbl9hc3NpZ25tZW50LmNwcABTdGVwIHNpemUgbXVzdCBiZSBlcXVhbCB0byB3aWR0aCBmb3Igbm93AEFzc2VydGlvbiBgeCA+PSAwYCBmYWlsZWQgaW4gAHggbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYHggPCBtR3JhZGllbnRzW29jdGF2ZSptTnVtU2NhbGVzUGVyT2N0YXZlK3NjYWxlXS53aWR0aCgpYCBmYWlsZWQgaW4gAHggbXVzdCBiZSBsZXNzIHRoYW4gdGhlIGltYWdlIHdpZHRoAEFzc2VydGlvbiBgeSA+PSAwYCBmYWlsZWQgaW4gAHkgbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYHkgPCBtR3JhZGllbnRzW29jdGF2ZSptTnVtU2NhbGVzUGVyT2N0YXZlK3NjYWxlXS5oZWlnaHQoKWAgZmFpbGVkIGluIAB5IG11c3QgYmUgbGVzcyB0aGFuIHRoZSBpbWFnZSBoZWlnaHQAQXNzZXJ0aW9uIGBnLmNoYW5uZWxzKCkgPT0gMmAgZmFpbGVkIGluIABOdW1iZXIgb2YgY2hhbm5lbHMgc2hvdWxkIGJlIDIAQXNzZXJ0aW9uIGBtYXhfaGVpZ2h0ID4gMGAgZmFpbGVkIGluIABNYXhpbXVtIGJpbiBzaG91bGQgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBoaXN0ICE9IE5VTExgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL2RldGVjdG9ycy9vcmllbnRhdGlvbl9hc3NpZ25tZW50LmgASGlzdG9ncmFtIHBvaW50ZXIgaXMgTlVMTABBc3NlcnRpb24gYChmYmluKzAuNWYpID4gMCAmJiAoZmJpbi0wLjVmKSA8IG51bV9iaW5zYCBmYWlsZWQgaW4gAERlY2ltYWwgYmluIHBvc2l0aW9uIGluZGV4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYG1hZ25pdHVkZSA+PSAwYCBmYWlsZWQgaW4gAE1hZ25pdHVkZSBjYW5ub3QgYmUgbmVnYXRpdmUAQXNzZXJ0aW9uIGBudW1fYmlucyA+PSAwYCBmYWlsZWQgaW4gAE51bWJlciBiaW5zIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB3MSA+PSAwYCBmYWlsZWQgaW4gAHcxIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGB3MiA+PSAwYCBmYWlsZWQgaW4gAHcyIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBiMSA+PSAwICYmIGIxIDwgbnVtX2JpbnNgIGZhaWxlZCBpbiAAYjEgYmluIGluZGV4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGIyID49IDAgJiYgYjIgPCBudW1fYmluc2AgZmFpbGVkIGluIABiMiBiaW4gaW5kZXggb3V0IG9mIHJhbmdlAElEIGFscmVhZHkgZXhpc3RzAEJ1aWxkIFB5cmFtaWQARXh0cmFjdCBGZWF0dXJlcwBBc3NlcnRpb24gYGFzc2lnbm1lbnQuc2l6ZSgpID09IG51bV9pbmRpY2VzYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9tYXRjaGVycy9iaW5hcnlfaGllcmFyY2hpY2FsX2NsdXN0ZXJpbmcuaABBc3NpZ25tZW50IHNpemUgd3JvbmcAQXNzZXJ0aW9uIGBhc3NpZ25tZW50W2ldICE9IC0xYCBmYWlsZWQgaW4gAEFzc2lnbm1lbnQgaXMgaW52YWxpZABBc3NlcnRpb24gYGFzc2lnbm1lbnRbaV0gPCBudW1faW5kaWNlc2AgZmFpbGVkIGluIABBc3NpZ25tZW50IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGluZGljZXNbYXNzaWdubWVudFtpXV0gPCBudW1fZmVhdHVyZXNgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBpdC0+c2Vjb25kLnNpemUoKSAhPSAwYCBmYWlsZWQgaW4gAENsdXN0ZXIgbXVzdCBoYXZlIGF0bGVhc2V0IDEgZmVhdHVyZQBBc3NlcnRpb24gYG1LID09IG1DZW50ZXJzLnNpemUoKWAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMva21lZG9pZHMuaABrIHNob3VsZCBtYXRjaCB0aGUgbnVtYmVyIG9mIGNsdXN0ZXIgY2VudGVycwBBc3NlcnRpb24gYG51bV9mZWF0dXJlcyA+IDBgIGZhaWxlZCBpbiAATnVtYmVyIG9mIGZlYXR1cmVzIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBudW1faW5kaWNlcyA8PSBudW1fZmVhdHVyZXNgIGZhaWxlZCBpbiAATW9yZSBpbmRpY2VzIHRoYW4gZmVhdHVyZXMAQXNzZXJ0aW9uIGBudW1faW5kaWNlcyA+PSBtS2AgZmFpbGVkIGluIABOb3QgZW5vdWdoIGZlYXR1cmVzAEFzc2lnbm1lbnQgc2l6ZSBpcyBpbmNvcnJlY3QAQXNzZXJ0aW9uIGBudW1fY2VudGVycyA+IDBgIGZhaWxlZCBpbiAAVGhlcmUgbXVzdCBiZSBhdCBsZWFzdCAxIGNlbnRlcgAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvdmlzdWFsX2RhdGFiYXNlLmgAQXNzZXJ0aW9uIGBkZXRlY3RvcmAgZmFpbGVkIGluIABEZXRlY3RvciBpcyBOVUxMAEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKCkuc2l6ZSgpID4gMGAgZmFpbGVkIGluIABQeXJhbWlkIGlzIGVtcHR5AEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKClbMF0ud2lkdGgoKSA9PSBkZXRlY3Rvci0+d2lkdGgoKWAgZmFpbGVkIGluIABQeXJhbWlkIGFuZCBkZXRlY3RvciBzaXplIG1pc21hdGNoAEFzc2VydGlvbiBgcHlyYW1pZC0+aW1hZ2VzKClbMF0uaGVpZ2h0KCkgPT0gZGV0ZWN0b3ItPmhlaWdodCgpYCBmYWlsZWQgaW4gAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSU42dmlzaW9uOEtleWZyYW1lSUxpOTZFRUVFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQTjZ2aXNpb244S2V5ZnJhbWVJTGk5NkVFRU5TXzE0ZGVmYXVsdF9kZWxldGVJUzNfRUVOU185YWxsb2NhdG9ySVMzX0VFRUUAWyVzXSBbJXNdIFslc10gOiBGb3VuZCAlZCBmZWF0dXJlcyBpbiBxdWVyeQBib29sIHZpc2lvbjo6VmlzdWFsRGF0YWJhc2U8dmlzaW9uOjpGUkVBS0V4dHJhY3RvciwgdmlzaW9uOjpCaW5hcnlGZWF0dXJlU3RvcmUsIHZpc2lvbjo6QmluYXJ5RmVhdHVyZU1hdGNoZXI8OTY+ID46OnF1ZXJ5KGNvbnN0IHZpc2lvbjo6R2F1c3NpYW5TY2FsZVNwYWNlUHlyYW1pZCAqKSBbRkVBVFVSRV9FWFRSQUNUT1IgPSB2aXNpb246OkZSRUFLRXh0cmFjdG9yLCBTVE9SRSA9IHZpc2lvbjo6QmluYXJ5RmVhdHVyZVN0b3JlLCBNQVRDSEVSID0gdmlzaW9uOjpCaW5hcnlGZWF0dXJlTWF0Y2hlcjw5Nj5dAEZpbmQgTWF0Y2hlcyAoMSkASG91Z2ggVm90aW5nICgxKQBGaW5kIEhvdWdoIE1hdGNoZXMgKDEpAEVzdGltYXRlIEhvbW9ncmFwaHkgKDEpAEZpbmQgSW5saWVycyAoMSkARmluZCBNYXRjaGVzICgyKQBIb3VnaCBWb3RpbmcgKDIpAEZpbmQgSG91Z2ggTWF0Y2hlcyAoMikARXN0aW1hdGUgSG9tb2dyYXBoeSAoMikARmluZCBJbmxpZXJzICgyKQBBc3NlcnRpb24gYDBgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2ZlYXR1cmVfbWF0Y2hlci1pbmxpbmUuaABGYWlsZWQgdG8gY29tcHV0ZSBtYXRyaXggaW52ZXJzZQBBc3NlcnRpb24gYGJlc3RfaW5kZXggIT0gc3RkOjpudW1lcmljX2xpbWl0czxzaXplX3Q+OjptYXgoKWAgZmFpbGVkIGluIABTb21ldGhpbmcgc3RyYW5nZQBBc3NlcnRpb24gYG1NYXRjaGVzLnNpemUoKSA8PSBmZWF0dXJlczEtPnNpemUoKWAgZmFpbGVkIGluIABOdW1iZXIgb2YgbWF0Y2hlcyBzaG91bGQgYmUgbG93ZXIAQXNzZXJ0aW9uIGBoeXAuc2l6ZSgpID49IDkqbWF4X251bV9oeXBvdGhlc2VzYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9ob21vZ3JhcGh5X2VzdGltYXRpb24vcm9idXN0X2hvbW9ncmFwaHkuaABoeXAgdmVjdG9yIHNob3VsZCBiZSBvZiBzaXplIDkqbWF4X251bV9oeXBvdGhlc2VzAEFzc2VydGlvbiBgdG1wX2kuc2l6ZSgpID49IG51bV9wb2ludHNgIGZhaWxlZCBpbiAAdG1wX2kgdmVjdG9yIHNob3VsZCBiZSBvZiBzaXplIG51bV9wb2ludHMAQXNzZXJ0aW9uIGBoeXBfY29zdHMuc2l6ZSgpID49IG1heF9udW1faHlwb3RoZXNlc2AgZmFpbGVkIGluIABoeXBfY29zdHMgdmVjdG9yIHNob3VsZCBiZSBvZiBzaXplIG1heF9udW1faHlwb3RoZXNlcwBBc3NlcnRpb24gYG4gPD0gaW5fbWF0Y2hlcy5zaXplKClgIGZhaWxlZCBpbiAAU2hvdWxkIGJlIHRoZSBzYW1lAEFzc2VydGlvbiBgZGlzdEJpbkFuZ2xlID49IDBgIGZhaWxlZCBpbiAAZGlzdEJpbkFuZ2xlIG11c3Qgbm90IGJlIG5lZ2F0aXZlAEFzc2VydGlvbiBgbVJvb3QuZ2V0KClgIGZhaWxlZCBpbiAAUm9vdCBjYW5ub3QgYmUgTlVMTABBc3NlcnRpb24gYG1pbmkgIT0gLTFgIGZhaWxlZCBpbiAATWluaW11bSBpbmRleCBub3Qgc2V0AEFzc2VydGlvbiBgeCA+PSBtTWluWGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvaG91Z2hfc2ltaWxhcml0eV92b3RpbmcuaAB4IG91dCBvZiByYW5nZQBBc3NlcnRpb24gYHggPCBtTWF4WGAgZmFpbGVkIGluIABBc3NlcnRpb24gYHkgPj0gbU1pbllgIGZhaWxlZCBpbiAAeSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGB5IDwgbU1heFlgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBhbmdsZSA+IC1QSWAgZmFpbGVkIGluIABhbmdsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBhbmdsZSA8PSBQSWAgZmFpbGVkIGluIABBc3NlcnRpb24gYHNjYWxlID49IG1NaW5TY2FsZWAgZmFpbGVkIGluIABzY2FsZSBvdXQgb2YgcmFuZ2UAQXNzZXJ0aW9uIGBzY2FsZSA8IG1NYXhTY2FsZWAgZmFpbGVkIGluIABBc3NlcnRpb24gYGluZGV4ID49IDBgIGZhaWxlZCBpbiAAaW5kZXggb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluWCA+PSAwYCBmYWlsZWQgaW4gAGJpblggb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluWCA8IG1OdW1YQmluc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGJpblkgPj0gMGAgZmFpbGVkIGluIABiaW5ZIG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpblkgPCBtTnVtWUJpbnNgIGZhaWxlZCBpbiAAQXNzZXJ0aW9uIGBiaW5BbmdsZSA+PSAwYCBmYWlsZWQgaW4gAGJpbkFuZ2xlIG91dCBvZiByYW5nZQBBc3NlcnRpb24gYGJpbkFuZ2xlIDwgbU51bUFuZ2xlQmluc2AgZmFpbGVkIGluIABBc3NlcnRpb24gYGJpblNjYWxlID49IDBgIGZhaWxlZCBpbiAAYmluU2NhbGUgb3V0IG9mIHJhbmdlAEFzc2VydGlvbiBgYmluU2NhbGUgPCBtTnVtU2NhbGVCaW5zYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgaW5kZXggPD0gKGJpblggKyBiaW5ZKm1OdW1YQmlucyArIGJpbkFuZ2xlKm1OdW1YQmlucyptTnVtWUJpbnMgKyBiaW5TY2FsZSptTnVtWEJpbnMqbU51bVlCaW5zKm1OdW1BbmdsZUJpbnMpYCBmYWlsZWQgaW4gAEFzc2VydGlvbiBgc2l6ZSA+IDBgIGZhaWxlZCBpbiAAL3NyYy9lbXNjcmlwdGVuL2FydG9vbGtpdDUvbGliL1NSQy9LUE0vRnJlYWtNYXRjaGVyL21hdGNoZXJzL2hvdWdoX3NpbWlsYXJpdHlfdm90aW5nLmNwcABzaXplIG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBtUmVmSW1hZ2VXaWR0aCA+IDBgIGZhaWxlZCBpbiAAd2lkdGggbXVzdCBiZSBwb3NpdGl2ZQBBc3NlcnRpb24gYG1SZWZJbWFnZUhlaWdodCA+IDBgIGZhaWxlZCBpbiAAaGVpZ2h0IG11c3QgYmUgcG9zaXRpdmUAQXNzZXJ0aW9uIGBuID4gMGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvdXRpbHMvcGFydGlhbF9zb3J0LmgAbiBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgayA+IDBgIGZhaWxlZCBpbiAAayBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgcHlyYW1pZGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvbWF0Y2hlcnMvZnJlYWsuaABQeXJhbWlkIGlzIE5VTEwAQXNzZXJ0aW9uIGBzdG9yZS5zaXplKCkgPT0gcG9pbnRzLnNpemUoKWAgZmFpbGVkIGluIABGZWF0dXJlIHN0b3JlIGhhcyBub3QgYmVlbiBhbGxvY2F0ZWQAQXNzZXJ0aW9uIGBudW1fcG9pbnRzID09IHBvaW50cy5zaXplKClgIGZhaWxlZCBpbiAAU2hvdWxkIGJlIHNhbWUgc2l6ZQBBc3NlcnRpb24gYG9jdGF2ZSA+PSAwYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9kZXRlY3RvcnMvZ2F1c3NpYW5fc2NhbGVfc3BhY2VfcHlyYW1pZC5oAE9jdGF2ZSBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgb2N0YXZlIDwgbU51bU9jdGF2ZXNgIGZhaWxlZCBpbiAAT2N0YXZlIG11c3QgYmUgbGVzcyB0aGFuIG51bWJlciBvZiBvY3RhdmVzAEFzc2VydGlvbiBgc2NhbGUgPj0gMGAgZmFpbGVkIGluIABTY2FsZSBtdXN0IGJlIHBvc2l0aXZlAEFzc2VydGlvbiBgc2NhbGUgPCBtTnVtU2NhbGVzUGVyT2N0YXZlYCBmYWlsZWQgaW4gAFNjYWxlIG11c3QgYmUgbGVzcyB0aGFuIG51bWJlciBvZiBzY2FsZSBwZXIgb2N0YXZlACVtLSVkLSVZLSVILSVNLSVTAEFzc2VydGlvbiBgd2lkdGggPiAwYCBmYWlsZWQgaW4gAC9zcmMvZW1zY3JpcHRlbi9hcnRvb2xraXQ1L2xpYi9TUkMvS1BNL0ZyZWFrTWF0Y2hlci9mcmFtZXdvcmsvaW1hZ2UuY3BwAFdpZHRoIGNhbm5vdCBiZSB6ZXJvAEFzc2VydGlvbiBgaGVpZ2h0ID4gMGAgZmFpbGVkIGluIABIZWlnaHQgY2Fubm90IGJlIHplcm8AQXNzZXJ0aW9uIGBzdGVwID49IHdpZHRoYCBmYWlsZWQgaW4gAFN0ZXAgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdGhlIHdpZHRoAEFzc2VydGlvbiBgY2hhbm5lbHMgPiAwYCBmYWlsZWQgaW4gAE51bWJlciBvZiBjaGFubmVscyBjYW5ub3QgYmUgemVybwBBc3NlcnRpb24gYG1EYXRhLmdldCgpYCBmYWlsZWQgaW4gAERhdGEgcG9pbnRlciBpcyBOVUxMAE5TdDNfXzIxNGRlZmF1bHRfZGVsZXRlSWhFRQBOU3QzX18yMjBfX3NoYXJlZF9wdHJfcG9pbnRlcklQaE5TXzE0ZGVmYXVsdF9kZWxldGVJaEVFTlNfOWFsbG9jYXRvckloRUVFRQBJbnZhbGlkIGltYWdlIHR5cGUAMTZOdWxsQXJyYXlEZWxldGVySWhFAE5TdDNfXzIyMF9fc2hhcmVkX3B0cl9wb2ludGVySVBoMTZOdWxsQXJyYXlEZWxldGVySWhFTlNfOWFsbG9jYXRvckloRUVFRQBBc3NlcnRpb24gYG1TdGFydFRpbWUgPj0gMGAgZmFpbGVkIGluIAAvc3JjL2Vtc2NyaXB0ZW4vYXJ0b29sa2l0NS9saWIvU1JDL0tQTS9GcmVha01hdGNoZXIvZnJhbWV3b3JrL3RpbWVycy5jcHAAIGxpbmUgADogAENsb2NrIGhhcyBub3QgYmVlbiBzdGFydGVkAEFzc2VydGlvbiBgbVN0b3BUaW1lID49IDBgIGZhaWxlZCBpbiAAQ2xvY2sgaGFzIG5vdCBiZWVuIHN0b3BwZWQAWyVzXSBbJXNdIFslc10gOiAlczogJWYgbXMAIElORk8gIAB2aXNpb246OlNjb3BlZFRpbWVyOjp+U2NvcGVkVGltZXIoKQBzZXR1cAB0ZWFyZG93bgBzZXR1cEFSMgBfYWRkTWFya2VyAF9hZGRNdWx0aU1hcmtlcgBfYWRkTkZUTWFya2VyAGdldE11bHRpTWFya2VyTnVtAGdldE11bHRpTWFya2VyQ291bnQAX2xvYWRDYW1lcmEAc2V0TWFya2VySW5mb0RpcgBzZXRNYXJrZXJJbmZvVmVydGV4AGdldFRyYW5zTWF0U3F1YXJlAGdldFRyYW5zTWF0U3F1YXJlQ29udABnZXRUcmFuc01hdE11bHRpU3F1YXJlAGdldFRyYW5zTWF0TXVsdGlTcXVhcmVSb2J1c3QAZGV0ZWN0TWFya2VyAGdldE1hcmtlck51bQBkZXRlY3RORlRNYXJrZXIAZ2V0TXVsdGlFYWNoTWFya2VyAGdldE1hcmtlcgBnZXRORlRNYXJrZXIAc2V0RGVidWdNb2RlAGdldERlYnVnTW9kZQBnZXRQcm9jZXNzaW5nSW1hZ2UAc2V0TG9nTGV2ZWwAZ2V0TG9nTGV2ZWwAc2V0UHJvamVjdGlvbk5lYXJQbGFuZQBnZXRQcm9qZWN0aW9uTmVhclBsYW5lAHNldFByb2plY3Rpb25GYXJQbGFuZQBnZXRQcm9qZWN0aW9uRmFyUGxhbmUAc2V0VGhyZXNob2xkTW9kZQBnZXRUaHJlc2hvbGRNb2RlAHNldFRocmVzaG9sZABnZXRUaHJlc2hvbGQAc2V0UGF0dGVybkRldGVjdGlvbk1vZGUAZ2V0UGF0dGVybkRldGVjdGlvbk1vZGUAc2V0UGF0dFJhdGlvAGdldFBhdHRSYXRpbwBzZXRNYXRyaXhDb2RlVHlwZQBnZXRNYXRyaXhDb2RlVHlwZQBzZXRMYWJlbGluZ01vZGUAZ2V0TGFiZWxpbmdNb2RlAHNldEltYWdlUHJvY01vZGUAZ2V0SW1hZ2VQcm9jTW9kZQBFUlJPUl9BUkNPTlRST0xMRVJfTk9UX0ZPVU5EAEVSUk9SX01VTFRJTUFSS0VSX05PVF9GT1VORABFUlJPUl9NQVJLRVJfSU5ERVhfT1VUX09GX0JPVU5EUwBBUl9ERUJVR19ESVNBQkxFAEFSX0RFQlVHX0VOQUJMRQBBUl9ERUZBVUxUX0RFQlVHX01PREUAQVJfTEFCRUxJTkdfV0hJVEVfUkVHSU9OAEFSX0xBQkVMSU5HX0JMQUNLX1JFR0lPTgBBUl9ERUZBVUxUX0xBQkVMSU5HX01PREUAQVJfREVGQVVMVF9MQUJFTElOR19USFJFU0gAQVJfSU1BR0VfUFJPQ19GUkFNRV9JTUFHRQBBUl9JTUFHRV9QUk9DX0ZJRUxEX0lNQUdFAEFSX0RFRkFVTFRfSU1BR0VfUFJPQ19NT0RFAEFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SAEFSX1RFTVBMQVRFX01BVENISU5HX01PTk8AQVJfTUFUUklYX0NPREVfREVURUNUSU9OAEFSX1RFTVBMQVRFX01BVENISU5HX0NPTE9SX0FORF9NQVRSSVgAQVJfVEVNUExBVEVfTUFUQ0hJTkdfTU9OT19BTkRfTUFUUklYAEFSX0RFRkFVTFRfUEFUVEVSTl9ERVRFQ1RJT05fTU9ERQBBUl9VU0VfVFJBQ0tJTkdfSElTVE9SWQBBUl9OT1VTRV9UUkFDS0lOR19ISVNUT1JZAEFSX1VTRV9UUkFDS0lOR19ISVNUT1JZX1YyAEFSX0RFRkFVTFRfTUFSS0VSX0VYVFJBQ1RJT05fTU9ERQBBUl9NQVhfTE9PUF9DT1VOVABBUl9MT09QX0JSRUFLX1RIUkVTSABBUl9MT0dfTEVWRUxfREVCVUcAQVJfTE9HX0xFVkVMX0lORk8AQVJfTE9HX0xFVkVMX1dBUk4AQVJfTE9HX0xFVkVMX0VSUk9SAEFSX0xPR19MRVZFTF9SRUxfSU5GTwBBUl9NQVRSSVhfQ09ERV8zeDMAQVJfTUFUUklYX0NPREVfM3gzX0hBTU1JTkc2MwBBUl9NQVRSSVhfQ09ERV8zeDNfUEFSSVRZNjUAQVJfTUFUUklYX0NPREVfNHg0AEFSX01BVFJJWF9DT0RFXzR4NF9CQ0hfMTNfOV8zAEFSX01BVFJJWF9DT0RFXzR4NF9CQ0hfMTNfNV81AEFSX0xBQkVMSU5HX1RIUkVTSF9NT0RFX01BTlVBTABBUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX01FRElBTgBBUl9MQUJFTElOR19USFJFU0hfTU9ERV9BVVRPX09UU1UAQVJfTEFCRUxJTkdfVEhSRVNIX01PREVfQVVUT19BREFQVElWRQBBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfTk9ORQBBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfUEFUVEVSTl9FWFRSQUNUSU9OAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9NQVRDSF9HRU5FUklDAEFSX01BUktFUl9JTkZPX0NVVE9GRl9QSEFTRV9NQVRDSF9DT05UUkFTVABBUl9NQVJLRVJfSU5GT19DVVRPRkZfUEhBU0VfTUFUQ0hfQkFSQ09ERV9OT1RfRk9VTkQAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX01BVENIX0JBUkNPREVfRURDX0ZBSUwAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX01BVENIX0NPTkZJREVOQ0UAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX1BPU0VfRVJST1IAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX1BPU0VfRVJST1JfTVVMVEkAQVJfTUFSS0VSX0lORk9fQ1VUT0ZGX1BIQVNFX0hFVVJJU1RJQ19UUk9VQkxFU09NRV9NQVRSSVhfQ09ERVMAYWxsb2NhdG9yPFQ+OjphbGxvY2F0ZShzaXplX3QgbikgJ24nIGV4Y2VlZHMgbWF4aW11bSBzdXBwb3J0ZWQgc2l6ZQBJbWFnZSBwcm9jLiBtb2RlIHNldCB0byAlZC4KAExhYmVsaW5nIG1vZGUgc2V0IHRvICVkCgB2aWlmAFBhdHRlcm4gcmF0aW8gc2l6ZSBzZXQgdG8gJWYuCgBQYXR0ZXJuIGRldGVjdGlvbiBtb2RlIHNldCB0byAlZC4KAFRocmVzaG9sZCBzZXQgdG8gJWQKAHZpaWkAVGhyZXNob2xkIG1vZGUgc2V0IHRvICVkCgBkaWkAdmlpZABpaQB2aWkAb24uAG9mZi4ARGVidWcgbW9kZSBzZXQgdG8gJXMKAFRyYWNraW5nIGxvc3QuICVkCgBUcmFja2VkIHBhZ2UgJWQgKG1heCAlZCkuCgB7IHZhciAkYSA9IGFyZ3VtZW50czsgdmFyIGkgPSAwOyBpZiAoIWFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdKSB7IGFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdID0gKHsgaWQ6IDAsIGVycm9yOiAtMSwgZm91bmQ6IDAsIHBvc2U6IFswLDAsMCwwLCAwLDAsMCwwLCAwLDAsMCwwXSB9KTsgfSB2YXIgbWFya2VySW5mbyA9IGFydG9vbGtpdFsiTkZUTWFya2VySW5mbyJdOyBtYXJrZXJJbmZvWyJpZCJdID0gJGFbaSsrXTsgbWFya2VySW5mb1siZXJyb3IiXSA9ICRhW2krK107IG1hcmtlckluZm9bImZvdW5kIl0gPSAxOyBtYXJrZXJJbmZvWyJwb3NlIl1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bM10gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bNl0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bN10gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bOF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bOV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJwb3NlIl1bMTBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sicG9zZSJdWzExXSA9ICRhW2krK107IH0AeyB2YXIgJGEgPSBhcmd1bWVudHM7IHZhciBpID0gMDsgaWYgKCFhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXSkgeyBhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXSA9ICh7IGlkOiAwLCBlcnJvcjogLTEsIGZvdW5kOiAwLCBwb3NlOiBbMCwwLDAsMCwgMCwwLDAsMCwgMCwwLDAsMF0gfSk7IH0gdmFyIG1hcmtlckluZm8gPSBhcnRvb2xraXRbIk5GVE1hcmtlckluZm8iXTsgbWFya2VySW5mb1siaWQiXSA9ICRhW2krK107IG1hcmtlckluZm9bImVycm9yIl0gPSAtMTsgbWFya2VySW5mb1siZm91bmQiXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVswXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsxXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsyXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVszXSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs0XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs1XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs2XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs3XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs4XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVs5XSA9IDA7IG1hcmtlckluZm9bInBvc2UiXVsxMF0gPSAwOyBtYXJrZXJJbmZvWyJwb3NlIl1bMTFdID0gMDsgfQB7IHZhciAkYSA9IGFyZ3VtZW50czsgdmFyIGkgPSAxMjsgaWYgKCFhcnRvb2xraXRbIm1hcmtlckluZm8iXSkgeyBhcnRvb2xraXRbIm1hcmtlckluZm8iXSA9ICh7IHBvczogWzAsMF0sIGxpbmU6IFtbMCwwLDBdLCBbMCwwLDBdLCBbMCwwLDBdLCBbMCwwLDBdXSwgdmVydGV4OiBbWzAsMF0sIFswLDBdLCBbMCwwXSwgWzAsMF1dIH0pOyB9IHZhciBtYXJrZXJJbmZvID0gYXJ0b29sa2l0WyJtYXJrZXJJbmZvIl07IG1hcmtlckluZm9bImFyZWEiXSA9ICQwOyBtYXJrZXJJbmZvWyJpZCJdID0gJDE7IG1hcmtlckluZm9bImlkUGF0dCJdID0gJDI7IG1hcmtlckluZm9bImlkTWF0cml4Il0gPSAkMzsgbWFya2VySW5mb1siZGlyIl0gPSAkNDsgbWFya2VySW5mb1siZGlyUGF0dCJdID0gJDU7IG1hcmtlckluZm9bImRpck1hdHJpeCJdID0gJDY7IG1hcmtlckluZm9bImNmIl0gPSAkNzsgbWFya2VySW5mb1siY2ZQYXR0Il0gPSAkODsgbWFya2VySW5mb1siY2ZNYXRyaXgiXSA9ICQ5OyBtYXJrZXJJbmZvWyJwb3MiXVswXSA9ICQxMDsgbWFya2VySW5mb1sicG9zIl1bMV0gPSAkMTE7IG1hcmtlckluZm9bImxpbmUiXVswXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVswXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVswXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsxXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVsyXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bImxpbmUiXVszXVsyXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzBdWzBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bMF1bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVsxXVswXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzFdWzFdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bMl1bMF0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJ2ZXJ0ZXgiXVsyXVsxXSA9ICRhW2krK107IG1hcmtlckluZm9bInZlcnRleCJdWzNdWzBdID0gJGFbaSsrXTsgbWFya2VySW5mb1sidmVydGV4Il1bM11bMV0gPSAkYVtpKytdOyBtYXJrZXJJbmZvWyJlcnJvckNvcnJlY3RlZCJdID0gJGFbaSsrXTsgfQB7IGlmICghYXJ0b29sa2l0WyJtdWx0aUVhY2hNYXJrZXJJbmZvIl0pIHsgYXJ0b29sa2l0WyJtdWx0aUVhY2hNYXJrZXJJbmZvIl0gPSAoe30pOyB9IHZhciBtdWx0aUVhY2hNYXJrZXIgPSBhcnRvb2xraXRbIm11bHRpRWFjaE1hcmtlckluZm8iXTsgbXVsdGlFYWNoTWFya2VyWyd2aXNpYmxlJ10gPSAkMDsgbXVsdGlFYWNoTWFya2VyWydwYXR0SWQnXSA9ICQxOyBtdWx0aUVhY2hNYXJrZXJbJ3BhdHRUeXBlJ10gPSAkMjsgbXVsdGlFYWNoTWFya2VyWyd3aWR0aCddID0gJDM7IH0AaWlpAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFAE5TdDNfXzIyMV9fYmFzaWNfc3RyaW5nX2NvbW1vbklMYjFFRUUAbG9hZENhbWVyYSgpOiBFcnJvciBsb2FkaW5nIHBhcmFtZXRlciBmaWxlICVzIGZvciBjYW1lcmEuCgBpaWlpAEFSVG9vbEtpdEpTKCk6IFVuYWJsZSB0byBzZXQgdXAgTkZUIG1hcmtlci4KAFJlYWRpbmcgJXMuZnNldDMKAGZzZXQzAEVycm9yIHJlYWRpbmcgS1BNIGRhdGEgZnJvbSAlcy5mc2V0MwoAICBBc3NpZ25lZCBwYWdlIG5vLiAlZC4KAEVycm9yOiBrcG1DaGFuZ2VQYWdlTm9PZlJlZkRhdGFTZXQKAEVycm9yOiBrcG1NZXJnZVJlZkRhdGFTZXQKACAgRG9uZS4KAFJlYWRpbmcgJXMuZnNldAoAZnNldABFcnJvciByZWFkaW5nIGRhdGEgZnJvbSAlcy5mc2V0CgBFcnJvcjoga3BtU2V0UmVmRGF0YVNldAoATG9hZGluZyBvZiBORlQgZGF0YSBjb21wbGV0ZS4KAEFSVG9vbEtpdEpTKCk6IFVuYWJsZSB0byBzZXQgdXAgQVIgbXVsdGltYXJrZXIuCgBjb25maWcgZGF0YSBsb2FkIGVycm9yICEhCgBBUlRvb2xLaXRKUygpOiBVbmFibGUgdG8gc2V0IHVwIEFSIG1hcmtlci4KAGxvYWRNYXJrZXIoKTogRXJyb3IgbG9hZGluZyBwYXR0ZXJuIGZpbGUgJXMuCgBFcnJvcjogYXIyQ3JlYXRlSGFuZGxlLgoAaWlpaWkAc2V0dXAoKTogRXJyb3I6IGFyUGF0dENyZWF0ZUhhbmRsZS4KAEFsbG9jYXRlZCB2aWRlb0ZyYW1lU2l6ZSAlZAoAeyBpZiAoIWFydG9vbGtpdFsiZnJhbWVNYWxsb2MiXSkgeyBhcnRvb2xraXRbImZyYW1lTWFsbG9jIl0gPSAoe30pOyB9IHZhciBmcmFtZU1hbGxvYyA9IGFydG9vbGtpdFsiZnJhbWVNYWxsb2MiXTsgZnJhbWVNYWxsb2NbImZyYW1lcG9pbnRlciJdID0gJDE7IGZyYW1lTWFsbG9jWyJmcmFtZXNpemUiXSA9ICQyOyBmcmFtZU1hbGxvY1siY2FtZXJhIl0gPSAkMzsgZnJhbWVNYWxsb2NbInRyYW5zZm9ybSJdID0gJDQ7IGZyYW1lTWFsbG9jWyJ2aWRlb0x1bWFQb2ludGVyIl0gPSAkNTsgfQAqKiogQ2FtZXJhIFBhcmFtZXRlciByZXNpemVkIGZyb20gJWQsICVkLiAqKioKAHNldENhbWVyYSgpOiBFcnJvcjogYXJQYXJhbUxUQ3JlYXRlLgoAc2V0Q2FtZXJhKCk6IEVycm9yOiBhckNyZWF0ZUhhbmRsZS4KAHNldENhbWVyYSgpOiBFcnJvciBjcmVhdGluZyAzRCBoYW5kbGUAT3V0IG9mIG1lbW9yeSEhCgBFcnJvcjogbWFsbG9jCgAjIyMgRmVhdHVyZSBjYW5kaWRhdGVzIGZvciB0cmFja2luZyBhcmUgb3ZlcmZsb3cuCgBCb2d1cyBtZXNzYWdlIGNvZGUgJWQAQUxJR05fVFlQRSBpcyB3cm9uZywgcGxlYXNlIGZpeABNQVhfQUxMT0NfQ0hVTksgaXMgd3JvbmcsIHBsZWFzZSBmaXgAQm9ndXMgYnVmZmVyIGNvbnRyb2wgbW9kZQBJbnZhbGlkIGNvbXBvbmVudCBJRCAlZCBpbiBTT1MASW52YWxpZCBjcm9wIHJlcXVlc3QARENUIGNvZWZmaWNpZW50IG91dCBvZiByYW5nZQBEQ1Qgc2NhbGVkIGJsb2NrIHNpemUgJWR4JWQgbm90IHN1cHBvcnRlZABDb21wb25lbnQgaW5kZXggJWQ6IG1pc21hdGNoaW5nIHNhbXBsaW5nIHJhdGlvICVkOiVkLCAlZDolZCwgJWMAQm9ndXMgSHVmZm1hbiB0YWJsZSBkZWZpbml0aW9uAEJvZ3VzIGlucHV0IGNvbG9yc3BhY2UAQm9ndXMgSlBFRyBjb2xvcnNwYWNlAEJvZ3VzIG1hcmtlciBsZW5ndGgAV3JvbmcgSlBFRyBsaWJyYXJ5IHZlcnNpb246IGxpYnJhcnkgaXMgJWQsIGNhbGxlciBleHBlY3RzICVkAFNhbXBsaW5nIGZhY3RvcnMgdG9vIGxhcmdlIGZvciBpbnRlcmxlYXZlZCBzY2FuAEludmFsaWQgbWVtb3J5IHBvb2wgY29kZSAlZABVbnN1cHBvcnRlZCBKUEVHIGRhdGEgcHJlY2lzaW9uICVkAEludmFsaWQgcHJvZ3Jlc3NpdmUgcGFyYW1ldGVycyBTcz0lZCBTZT0lZCBBaD0lZCBBbD0lZABJbnZhbGlkIHByb2dyZXNzaXZlIHBhcmFtZXRlcnMgYXQgc2NhbiBzY3JpcHQgZW50cnkgJWQAQm9ndXMgc2FtcGxpbmcgZmFjdG9ycwBJbnZhbGlkIHNjYW4gc2NyaXB0IGF0IGVudHJ5ICVkAEltcHJvcGVyIGNhbGwgdG8gSlBFRyBsaWJyYXJ5IGluIHN0YXRlICVkAEpQRUcgcGFyYW1ldGVyIHN0cnVjdCBtaXNtYXRjaDogbGlicmFyeSB0aGlua3Mgc2l6ZSBpcyAldSwgY2FsbGVyIGV4cGVjdHMgJXUAQm9ndXMgdmlydHVhbCBhcnJheSBhY2Nlc3MAQnVmZmVyIHBhc3NlZCB0byBKUEVHIGxpYnJhcnkgaXMgdG9vIHNtYWxsAFN1c3BlbnNpb24gbm90IGFsbG93ZWQgaGVyZQBDQ0lSNjAxIHNhbXBsaW5nIG5vdCBpbXBsZW1lbnRlZCB5ZXQAVG9vIG1hbnkgY29sb3IgY29tcG9uZW50czogJWQsIG1heCAlZABVbnN1cHBvcnRlZCBjb2xvciBjb252ZXJzaW9uIHJlcXVlc3QAQm9ndXMgREFDIGluZGV4ICVkAEJvZ3VzIERBQyB2YWx1ZSAweCV4AEJvZ3VzIERIVCBpbmRleCAlZABCb2d1cyBEUVQgaW5kZXggJWQARW1wdHkgSlBFRyBpbWFnZSAoRE5MIG5vdCBzdXBwb3J0ZWQpAFJlYWQgZnJvbSBFTVMgZmFpbGVkAFdyaXRlIHRvIEVNUyBmYWlsZWQARGlkbid0IGV4cGVjdCBtb3JlIHRoYW4gb25lIHNjYW4ASW5wdXQgZmlsZSByZWFkIGVycm9yAE91dHB1dCBmaWxlIHdyaXRlIGVycm9yIC0tLSBvdXQgb2YgZGlzayBzcGFjZT8ARnJhY3Rpb25hbCBzYW1wbGluZyBub3QgaW1wbGVtZW50ZWQgeWV0AEh1ZmZtYW4gY29kZSBzaXplIHRhYmxlIG92ZXJmbG93AE1pc3NpbmcgSHVmZm1hbiBjb2RlIHRhYmxlIGVudHJ5AE1heGltdW0gc3VwcG9ydGVkIGltYWdlIGRpbWVuc2lvbiBpcyAldSBwaXhlbHMARW1wdHkgaW5wdXQgZmlsZQBQcmVtYXR1cmUgZW5kIG9mIGlucHV0IGZpbGUAQ2Fubm90IHRyYW5zY29kZSBkdWUgdG8gbXVsdGlwbGUgdXNlIG9mIHF1YW50aXphdGlvbiB0YWJsZSAlZABTY2FuIHNjcmlwdCBkb2VzIG5vdCB0cmFuc21pdCBhbGwgZGF0YQBJbnZhbGlkIGNvbG9yIHF1YW50aXphdGlvbiBtb2RlIGNoYW5nZQBOb3QgaW1wbGVtZW50ZWQgeWV0AFJlcXVlc3RlZCBmZWF0dXJlIHdhcyBvbWl0dGVkIGF0IGNvbXBpbGUgdGltZQBBcml0aG1ldGljIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQAQmFja2luZyBzdG9yZSBub3Qgc3VwcG9ydGVkAEh1ZmZtYW4gdGFibGUgMHglMDJ4IHdhcyBub3QgZGVmaW5lZABKUEVHIGRhdGFzdHJlYW0gY29udGFpbnMgbm8gaW1hZ2UAUXVhbnRpemF0aW9uIHRhYmxlIDB4JTAyeCB3YXMgbm90IGRlZmluZWQATm90IGEgSlBFRyBmaWxlOiBzdGFydHMgd2l0aCAweCUwMnggMHglMDJ4AEluc3VmZmljaWVudCBtZW1vcnkgKGNhc2UgJWQpAENhbm5vdCBxdWFudGl6ZSBtb3JlIHRoYW4gJWQgY29sb3IgY29tcG9uZW50cwBDYW5ub3QgcXVhbnRpemUgdG8gZmV3ZXIgdGhhbiAlZCBjb2xvcnMAQ2Fubm90IHF1YW50aXplIHRvIG1vcmUgdGhhbiAlZCBjb2xvcnMASW52YWxpZCBKUEVHIGZpbGUgc3RydWN0dXJlOiAlcyBiZWZvcmUgU09GAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogdHdvIFNPRiBtYXJrZXJzAEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogbWlzc2luZyBTT1MgbWFya2VyAFVuc3VwcG9ydGVkIEpQRUcgcHJvY2VzczogU09GIHR5cGUgMHglMDJ4AEludmFsaWQgSlBFRyBmaWxlIHN0cnVjdHVyZTogdHdvIFNPSSBtYXJrZXJzAEZhaWxlZCB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUgJXMAUmVhZCBmYWlsZWQgb24gdGVtcG9yYXJ5IGZpbGUAU2VlayBmYWlsZWQgb24gdGVtcG9yYXJ5IGZpbGUAV3JpdGUgZmFpbGVkIG9uIHRlbXBvcmFyeSBmaWxlIC0tLSBvdXQgb2YgZGlzayBzcGFjZT8AQXBwbGljYXRpb24gdHJhbnNmZXJyZWQgdG9vIGZldyBzY2FubGluZXMAVW5zdXBwb3J0ZWQgbWFya2VyIHR5cGUgMHglMDJ4AFZpcnR1YWwgYXJyYXkgY29udHJvbGxlciBtZXNzZWQgdXAASW1hZ2UgdG9vIHdpZGUgZm9yIHRoaXMgaW1wbGVtZW50YXRpb24AUmVhZCBmcm9tIFhNUyBmYWlsZWQAV3JpdGUgdG8gWE1TIGZhaWxlZABDb3B5cmlnaHQgKEMpIDIwMTgsIFRob21hcyBHLiBMYW5lLCBHdWlkbyBWb2xsYmVkaW5nADljICAxNC1KYW4tMjAxOABDYXV0aW9uOiBxdWFudGl6YXRpb24gdGFibGVzIGFyZSB0b28gY29hcnNlIGZvciBiYXNlbGluZSBKUEVHAEFkb2JlIEFQUDE0IG1hcmtlcjogdmVyc2lvbiAlZCwgZmxhZ3MgMHglMDR4IDB4JTA0eCwgdHJhbnNmb3JtICVkAFVua25vd24gQVBQMCBtYXJrZXIgKG5vdCBKRklGKSwgbGVuZ3RoICV1AFVua25vd24gQVBQMTQgbWFya2VyIChub3QgQWRvYmUpLCBsZW5ndGggJXUARGVmaW5lIEFyaXRobWV0aWMgVGFibGUgMHglMDJ4OiAweCUwMngARGVmaW5lIEh1ZmZtYW4gVGFibGUgMHglMDJ4AERlZmluZSBRdWFudGl6YXRpb24gVGFibGUgJWQgIHByZWNpc2lvbiAlZABEZWZpbmUgUmVzdGFydCBJbnRlcnZhbCAldQBGcmVlZCBFTVMgaGFuZGxlICV1AE9idGFpbmVkIEVNUyBoYW5kbGUgJXUARW5kIE9mIEltYWdlACAgICAgICAgJTNkICUzZCAlM2QgJTNkICUzZCAlM2QgJTNkICUzZABKRklGIEFQUDAgbWFya2VyOiB2ZXJzaW9uICVkLiUwMmQsIGRlbnNpdHkgJWR4JWQgICVkAFdhcm5pbmc6IHRodW1ibmFpbCBpbWFnZSBzaXplIGRvZXMgbm90IG1hdGNoIGRhdGEgbGVuZ3RoICV1AEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogdHlwZSAweCUwMngsIGxlbmd0aCAldQAgICAgd2l0aCAlZCB4ICVkIHRodW1ibmFpbCBpbWFnZQBNaXNjZWxsYW5lb3VzIG1hcmtlciAweCUwMngsIGxlbmd0aCAldQBVbmV4cGVjdGVkIG1hcmtlciAweCUwMngAICAgICAgICAlNHUgJTR1ICU0dSAlNHUgJTR1ICU0dSAlNHUgJTR1AFF1YW50aXppbmcgdG8gJWQgPSAlZColZColZCBjb2xvcnMAUXVhbnRpemluZyB0byAlZCBjb2xvcnMAU2VsZWN0ZWQgJWQgY29sb3JzIGZvciBxdWFudGl6YXRpb24AQXQgbWFya2VyIDB4JTAyeCwgcmVjb3ZlcnkgYWN0aW9uICVkAFJTVCVkAFNtb290aGluZyBub3Qgc3VwcG9ydGVkIHdpdGggbm9uc3RhbmRhcmQgc2FtcGxpbmcgcmF0aW9zAFN0YXJ0IE9mIEZyYW1lIDB4JTAyeDogd2lkdGg9JXUsIGhlaWdodD0ldSwgY29tcG9uZW50cz0lZAAgICAgQ29tcG9uZW50ICVkOiAlZGh4JWR2IHE9JWQAU3RhcnQgb2YgSW1hZ2UAU3RhcnQgT2YgU2NhbjogJWQgY29tcG9uZW50cwAgICAgQ29tcG9uZW50ICVkOiBkYz0lZCBhYz0lZAAgIFNzPSVkLCBTZT0lZCwgQWg9JWQsIEFsPSVkAENsb3NlZCB0ZW1wb3JhcnkgZmlsZSAlcwBPcGVuZWQgdGVtcG9yYXJ5IGZpbGUgJXMASkZJRiBleHRlbnNpb24gbWFya2VyOiBKUEVHLWNvbXByZXNzZWQgdGh1bWJuYWlsIGltYWdlLCBsZW5ndGggJXUASkZJRiBleHRlbnNpb24gbWFya2VyOiBwYWxldHRlIHRodW1ibmFpbCBpbWFnZSwgbGVuZ3RoICV1AEpGSUYgZXh0ZW5zaW9uIG1hcmtlcjogUkdCIHRodW1ibmFpbCBpbWFnZSwgbGVuZ3RoICV1AFVucmVjb2duaXplZCBjb21wb25lbnQgSURzICVkICVkICVkLCBhc3N1bWluZyBZQ2JDcgBGcmVlZCBYTVMgaGFuZGxlICV1AE9idGFpbmVkIFhNUyBoYW5kbGUgJXUAVW5rbm93biBBZG9iZSBjb2xvciB0cmFuc2Zvcm0gY29kZSAlZABDb3JydXB0IEpQRUcgZGF0YTogYmFkIGFyaXRobWV0aWMgY29kZQBJbmNvbnNpc3RlbnQgcHJvZ3Jlc3Npb24gc2VxdWVuY2UgZm9yIGNvbXBvbmVudCAlZCBjb2VmZmljaWVudCAlZABDb3JydXB0IEpQRUcgZGF0YTogJXUgZXh0cmFuZW91cyBieXRlcyBiZWZvcmUgbWFya2VyIDB4JTAyeABDb3JydXB0IEpQRUcgZGF0YTogcHJlbWF0dXJlIGVuZCBvZiBkYXRhIHNlZ21lbnQAQ29ycnVwdCBKUEVHIGRhdGE6IGJhZCBIdWZmbWFuIGNvZGUAV2FybmluZzogdW5rbm93biBKRklGIHJldmlzaW9uIG51bWJlciAlZC4lMDJkAFByZW1hdHVyZSBlbmQgb2YgSlBFRyBmaWxlAENvcnJ1cHQgSlBFRyBkYXRhOiBmb3VuZCBtYXJrZXIgMHglMDJ4IGluc3RlYWQgb2YgUlNUJWQASW52YWxpZCBTT1MgcGFyYW1ldGVycyBmb3Igc2VxdWVudGlhbCBKUEVHAEFwcGxpY2F0aW9uIHRyYW5zZmVycmVkIHRvbyBtYW55IHNjYW5saW5lcwBTT1MATFNFAEpQRUdNRU0AJWxkJWMAJXMKAAABAgQHAwYFAC0rICAgMFgweAAobnVsbCkALTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYATkFOAC4AaW5maW5pdHkAbmFuAExDX0FMTABMQU5HAEMuVVRGLTgAUE9TSVgATVVTTF9MT0NQQVRIAHJ3YQB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzOiAlcwB0ZXJtaW5hdGluZyB3aXRoICVzIGV4Y2VwdGlvbiBvZiB0eXBlICVzAHRlcm1pbmF0aW5nIHdpdGggJXMgZm9yZWlnbiBleGNlcHRpb24AdGVybWluYXRpbmcAdW5jYXVnaHQAU3Q5ZXhjZXB0aW9uAE4xMF9fY3h4YWJpdjExNl9fc2hpbV90eXBlX2luZm9FAFN0OXR5cGVfaW5mbwBOMTBfX2N4eGFiaXYxMjBfX3NpX2NsYXNzX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAHRlcm1pbmF0ZV9oYW5kbGVyIHVuZXhwZWN0ZWRseSByZXR1cm5lZABTdDExbG9naWNfZXJyb3IAU3QxMmxlbmd0aF9lcnJvcgBOMTBfX2N4eGFiaXYxMTdfX3BiYXNlX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTE5X19wb2ludGVyX3R5cGVfaW5mb0UATjEwX19jeHhhYml2MTIzX19mdW5kYW1lbnRhbF90eXBlX2luZm9FAHYAYgBjAGgAYQBzAHQAaQBqAG0AZgBkAE4xMF9fY3h4YWJpdjEyMV9fdm1pX2NsYXNzX3R5cGVfaW5mb0UAdm9pZABib29sAGNoYXIAc2lnbmVkIGNoYXIAdW5zaWduZWQgY2hhcgBzaG9ydAB1bnNpZ25lZCBzaG9ydABpbnQAdW5zaWduZWQgaW50AGxvbmcAdW5zaWduZWQgbG9uZwBmbG9hdABkb3VibGUAc3RkOjpzdHJpbmcAc3RkOjpiYXNpY19zdHJpbmc8dW5zaWduZWQgY2hhcj4Ac3RkOjp3c3RyaW5nAGVtc2NyaXB0ZW46OnZhbABlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8c2hvcnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50OF90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQxNl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1aW50MTZfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8aW50MzJfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDMyX3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGZsb2F0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxkb3VibGU+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGxvbmcgZG91YmxlPgBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0llRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJZEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0ltRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lpRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJdEVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0loRUUATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJYUVFAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQBOMTBlbXNjcmlwdGVuM3ZhbEUATlN0M19fMjEyYmFzaWNfc3RyaW5nSXdOU18xMWNoYXJfdHJhaXRzSXdFRU5TXzlhbGxvY2F0b3JJd0VFRUUATlN0M19fMjEyYmFzaWNfc3RyaW5nSWhOU18xMWNoYXJfdHJhaXRzSWhFRU5TXzlhbGxvY2F0b3JJaEVFRUUATlN0M19fMjhpb3NfYmFzZUUATlN0M19fMjliYXNpY19pb3NJY05TXzExY2hhcl90cmFpdHNJY0VFRUUATlN0M19fMjliYXNpY19pb3NJd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjE1YmFzaWNfc3RyZWFtYnVmSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxNWJhc2ljX3N0cmVhbWJ1Zkl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRQBOU3QzX18yMTNiYXNpY19pc3RyZWFtSWNOU18xMWNoYXJfdHJhaXRzSWNFRUVFAE5TdDNfXzIxM2Jhc2ljX2lzdHJlYW1Jd05TXzExY2hhcl90cmFpdHNJd0VFRUUATlN0M19fMjEzYmFzaWNfb3N0cmVhbUljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRQBOU3QzX18yMTNiYXNpY19vc3RyZWFtSXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFAE5TdDNfXzIxMV9fc3Rkb3V0YnVmSXdFRQBOU3QzX18yMTFfX3N0ZG91dGJ1ZkljRUUAdW5zdXBwb3J0ZWQgbG9jYWxlIGZvciBzdGFuZGFyZCBpbnB1dABOU3QzX18yMTBfX3N0ZGluYnVmSXdFRQBOU3QzX18yMTBfX3N0ZGluYnVmSWNFRQBOU3QzX18yN2NvbGxhdGVJY0VFAE5TdDNfXzI2bG9jYWxlNWZhY2V0RQBOU3QzX18yN2NvbGxhdGVJd0VFACVwAEMATlN0M19fMjdudW1fZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yOV9fbnVtX2dldEljRUUATlN0M19fMjE0X19udW1fZ2V0X2Jhc2VFAE5TdDNfXzI3bnVtX2dldEl3TlNfMTlpc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjlfX251bV9nZXRJd0VFACVwAAAAAEwAbGwAJQAAAAAAbABOU3QzX18yN251bV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzI5X19udW1fcHV0SWNFRQBOU3QzX18yMTRfX251bV9wdXRfYmFzZUUATlN0M19fMjdudW1fcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yOV9fbnVtX3B1dEl3RUUAJUg6JU06JVMAJW0vJWQvJXkAJUk6JU06JVMgJXAAJWEgJWIgJWQgJUg6JU06JVMgJVkAQU0AUE0ASmFudWFyeQBGZWJydWFyeQBNYXJjaABBcHJpbABNYXkASnVuZQBKdWx5AEF1Z3VzdABTZXB0ZW1iZXIAT2N0b2JlcgBOb3ZlbWJlcgBEZWNlbWJlcgBKYW4ARmViAE1hcgBBcHIASnVuAEp1bABBdWcAU2VwAE9jdABOb3YARGVjAFN1bmRheQBNb25kYXkAVHVlc2RheQBXZWRuZXNkYXkAVGh1cnNkYXkARnJpZGF5AFNhdHVyZGF5AFN1bgBNb24AVHVlAFdlZABUaHUARnJpAFNhdAAlbS8lZC8leSVZLSVtLSVkJUk6JU06JVMgJXAlSDolTSVIOiVNOiVTJUg6JU06JVNOU3QzX18yOHRpbWVfZ2V0SWNOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMjBfX3RpbWVfZ2V0X2Nfc3RvcmFnZUljRUUATlN0M19fMjl0aW1lX2Jhc2VFAE5TdDNfXzI4dGltZV9nZXRJd05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckl3TlNfMTFjaGFyX3RyYWl0c0l3RUVFRUVFAE5TdDNfXzIyMF9fdGltZV9nZXRfY19zdG9yYWdlSXdFRQBOU3QzX18yOHRpbWVfcHV0SWNOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJY05TXzExY2hhcl90cmFpdHNJY0VFRUVFRQBOU3QzX18yMTBfX3RpbWVfcHV0RQBOU3QzX18yOHRpbWVfcHV0SXdOU18xOW9zdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTBtb25leXB1bmN0SWNMYjBFRUUATlN0M19fMjEwbW9uZXlfYmFzZUUATlN0M19fMjEwbW9uZXlwdW5jdEljTGIxRUVFAE5TdDNfXzIxMG1vbmV5cHVuY3RJd0xiMEVFRQBOU3QzX18yMTBtb25leXB1bmN0SXdMYjFFRUUAMDEyMzQ1Njc4OQAlTGYATlN0M19fMjltb25leV9nZXRJY05TXzE5aXN0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfZ2V0SWNFRQAwMTIzNDU2Nzg5AE5TdDNfXzI5bW9uZXlfZ2V0SXdOU18xOWlzdHJlYW1idWZfaXRlcmF0b3JJd05TXzExY2hhcl90cmFpdHNJd0VFRUVFRQBOU3QzX18yMTFfX21vbmV5X2dldEl3RUUAJS4wTGYATlN0M19fMjltb25leV9wdXRJY05TXzE5b3N0cmVhbWJ1Zl9pdGVyYXRvckljTlNfMTFjaGFyX3RyYWl0c0ljRUVFRUVFAE5TdDNfXzIxMV9fbW9uZXlfcHV0SWNFRQBOU3QzX18yOW1vbmV5X3B1dEl3TlNfMTlvc3RyZWFtYnVmX2l0ZXJhdG9ySXdOU18xMWNoYXJfdHJhaXRzSXdFRUVFRUUATlN0M19fMjExX19tb25leV9wdXRJd0VFAE5TdDNfXzI4bWVzc2FnZXNJY0VFAE5TdDNfXzIxM21lc3NhZ2VzX2Jhc2VFAE5TdDNfXzIxN19fd2lkZW5fZnJvbV91dGY4SUxtMzJFRUUATlN0M19fMjdjb2RlY3Z0SURpYzExX19tYnN0YXRlX3RFRQBOU3QzX18yMTJjb2RlY3Z0X2Jhc2VFAE5TdDNfXzIxNl9fbmFycm93X3RvX3V0ZjhJTG0zMkVFRQBOU3QzX18yOG1lc3NhZ2VzSXdFRQBOU3QzX18yN2NvZGVjdnRJY2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjdjb2RlY3Z0SXdjMTFfX21ic3RhdGVfdEVFAE5TdDNfXzI3Y29kZWN2dElEc2MxMV9fbWJzdGF0ZV90RUUATlN0M19fMjZsb2NhbGU1X19pbXBFAE5TdDNfXzI1Y3R5cGVJY0VFAE5TdDNfXzIxMGN0eXBlX2Jhc2VFAE5TdDNfXzI1Y3R5cGVJd0VFAGZhbHNlAHRydWUATlN0M19fMjhudW1wdW5jdEljRUUATlN0M19fMjhudW1wdW5jdEl3RUUATlN0M19fMjE0X19zaGFyZWRfY291bnRFAE5TdDNfXzIxOV9fc2hhcmVkX3dlYWtfY291bnRF";var tempDoublePtr=57872;function demangle(func){return func}function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var ENV={};function ___buildEnvironment(environ){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]="web_user";ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]=(typeof navigator==="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";ENV["_"]=thisProgram;poolPtr=getMemory(TOTAL_ENV_SIZE);envPtr=getMemory(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[environ>>2]=envPtr}else{envPtr=HEAP32[environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in ENV){if(typeof ENV[key]==="string"){var line=key+"="+ENV[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}function ___cxa_allocate_exception(size){return _malloc(size)}var ___exception_infos={};var ___exception_caught=[];function ___exception_addRef(ptr){if(!ptr)return;var info=___exception_infos[ptr];info.refcount++}function ___exception_deAdjust(adjusted){if(!adjusted||___exception_infos[adjusted])return adjusted;for(var key in ___exception_infos){var ptr=+key;var adj=___exception_infos[ptr].adjusted;var len=adj.length;for(var i=0;i>2]=value;return value}function ___map_file(pathname,size){___setErrNo(63);return-1}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(fd){if(fd===undefined)fd=SYSCALLS.get();var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:___setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function __emscripten_syscall_munmap(addr,len){if(addr===-1||len===0){return-28}var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();return __emscripten_syscall_munmap(addr,len)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_close(){return _fd_close.apply(null,arguments)}function _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_read(){return _fd_read.apply(null,arguments)}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_seek(){return _fd_seek.apply(null,arguments)}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i>shift])},destructorFunction:null})}function __embind_register_constant(name,type,value){name=readLatin1String(name);whenDependentTypesAreResolved([],[type],function(type){type=type[0];Module[name]=type["fromWireType"](value);return[]})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i>2])}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined)str=stringSegment;else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0)HEAPU8[value+4+length]=endCharSwap}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i>2]=length;var start=ptr+4>>shift;for(var i=0;i>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}function _llvm_exp2_f32(x){return Math.pow(2,x)}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);stackRestore(ret)}function _llvm_stacksave(){var self=_llvm_stacksave;if(!self.LLVM_SAVEDSTACKS){self.LLVM_SAVEDSTACKS=[]}self.LLVM_SAVEDSTACKS.push(stackSave());return self.LLVM_SAVEDSTACKS.length-1}var ___tm_current=57728;var ___tm_timezone=(stringToUTF8("GMT",57776,4),57776);function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[__get_timezone()>>2]=(new Date).getTimezoneOffset()*60;var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);HEAP32[__get_daylight()>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _longjmp(env,value){_setThrew(env,value||1);throw"longjmp"}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_emval();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");var ASSERTIONS=false;function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function intArrayToString(array){var ret=[];for(var i=0;i255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i>2]=b;Se(0,3,20325,e);a=zy(c[(mx()|0)>>2]|0)|0;c[f>>2]=57671;c[f+4>>2]=a;Se(0,3,21881,f);a=-1}else{a=pd(a,d)|0;EO(d)}yb=g;return a|0}function rd(a,b){a=a|0;b=b|0;b=(c[a+8>>2]|0)+(b<<2)|0;if(!(c[b>>2]|0))b=-1;else{c[b>>2]=0;c[a>>2]=(c[a>>2]|0)+-1;b=1}return b|0}function sd(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,h=0,i=0;d=0;while(1){if((d|0)==3)break;f=a+(d<<5)|0;h=a+(d<<5)+8|0;i=a+(d<<5)+16|0;e=0;while(1){if((e|0)==4)break;g[c+(d<<5)+(e<<3)>>3]=+g[f>>3]*+g[b+(e<<3)>>3]+ +g[h>>3]*+g[b+32+(e<<3)>>3]+ +g[i>>3]*+g[b+64+(e<<3)>>3];e=e+1|0}i=c+(d<<5)+24|0;g[i>>3]=+g[a+(d<<5)+24>>3]+ +g[i>>3];d=d+1|0}return 0}function td(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,h=0,i=0,j=0;d=0;while(1){if((d|0)==3)break;h=a+(d<<5)|0;i=a+(d<<5)+8|0;j=a+(d<<5)+16|0;e=0;while(1){if((e|0)==4)break;f[c+(d<<4)+(e<<2)>>2]=+f[b+(e<<2)>>2]*+g[h>>3]+ +f[b+16+(e<<2)>>2]*+g[i>>3]+ +f[b+32+(e<<2)>>2]*+g[j>>3];e=e+1|0}j=c+(d<<4)+12|0;f[j>>2]=+f[j>>2]+ +g[a+(d<<5)+24>>3];d=d+1|0}return 0}function ud(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0;d=0;while(1){if((d|0)==3)break;g=a+(d<<4)|0;h=a+(d<<4)+4|0;i=a+(d<<4)+8|0;e=0;while(1){if((e|0)==4)break;f[c+(d<<4)+(e<<2)>>2]=+f[g>>2]*+f[b+(e<<2)>>2]+ +f[h>>2]*+f[b+16+(e<<2)>>2]+ +f[i>>2]*+f[b+32+(e<<2)>>2];e=e+1|0}i=c+(d<<4)+12|0;f[i>>2]=+f[a+(d<<4)+12>>2]+ +f[i>>2];d=d+1|0}return 0}function vd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0;h=Bd(4,4)|0;d=0;while(1){if((d|0)==3)break;f=d<<2;e=0;while(1){if((e|0)==4)break;g[(c[h>>2]|0)+(e+f<<3)>>3]=+g[a+(d<<5)+(e<<3)>>3];e=e+1|0}d=d+1|0}d=c[h>>2]|0;f=d+96|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;g[d+120>>3]=1.0;Vd(h)|0;d=0;while(1){if((d|0)==3)break;a=d<<2;e=0;while(1){if((e|0)==4)break;g[b+(d<<5)+(e<<3)>>3]=+g[(c[h>>2]|0)+(e+a<<3)>>3];e=e+1|0}d=d+1|0}Jd(h)|0;return 0}function wd(a,b){a=a|0;b=b|0;var d=0,e=0,h=0,i=0;i=Bd(4,4)|0;d=0;while(1){if((d|0)==3)break;h=d<<2;e=0;while(1){if((e|0)==4)break;g[(c[i>>2]|0)+(e+h<<3)>>3]=+f[a+(d<<4)+(e<<2)>>2];e=e+1|0}d=d+1|0}d=c[i>>2]|0;h=d+96|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;g[d+120>>3]=1.0;Vd(i)|0;d=0;while(1){if((d|0)==3)break;a=d<<2;e=0;while(1){if((e|0)==4)break;f[b+(d<<4)+(e<<2)>>2]=+g[(c[i>>2]|0)+(e+a<<3)>>3];e=e+1|0}d=d+1|0}Jd(i)|0;return 0}function xd(a){a=a|0;switch(a|0){case 1:case 0:{a=3;break}case 6:case 4:case 3:case 2:{a=4;break}case 14:case 13:case 12:case 5:{a=1;break}case 11:case 10:case 9:case 8:case 7:{a=2;break}default:a=0}return a|0}function yd(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0;do if((b|0)!=0&(c|0)!=0&(d|0)!=0){f=Mz(c,47)|0;if(!f){a[b>>0]=0;break}e=f+((e|0)!=0&1)-c|0;if((e+1|0)>>>0<=d>>>0){Uz(b,c,e)|0;a[b+e>>0]=0}else b=0}else b=0;while(0);return b|0}function zd(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=0;h=0;a:while(1){switch(a[b+h>>0]|0){case 0:break a;case 46:{e=h;break}default:{}}h=h+1|0}f=b+h|0;g=(Oy(d)|0)+2|0;if(!e)if((g+h|0)>(c|0))e=-1;else{a[f>>0]=46;e=h;i=9}else if((g+e|0)>(c|0))e=-1;else i=9;if((i|0)==9){a[b+(e+1)>>0]=0;_z(b,d)|0;e=0}return e|0}function Ad(b){b=b|0;var c=0,d=0;c=-1;d=0;a:while(1){switch(a[b+d>>0]|0){case 0:break a;case 46:{c=d;break}default:{}}d=d+1|0}if((c|0)!=-1)a[b+c>>0]=0;return 0}function Bd(a,b){a=a|0;b=b|0;var d=0,e=0;d=DO(12)|0;do if(d){e=DO(B(a<<3,b)|0)|0;c[d>>2]=e;if(!e){EO(d);d=0;break}else{c[d+4>>2]=a;c[d+8>>2]=b;break}}else d=0;while(0);return d|0}function Cd(a,b){a=a|0;b=b|0;var d=0,e=0;d=DO(12)|0;do if(d){e=DO(B(a<<2,b)|0)|0;c[d>>2]=e;if(!e){EO(d);d=0;break}else{c[d+4>>2]=a;c[d+8>>2]=b;break}}else d=0;while(0);return d|0}function Dd(a){a=a|0;var b=0;b=Bd(c[a+4>>2]|0,c[a+8>>2]|0)|0;if(b){if((Id(b,a)|0)<0){Jd(b)|0;b=0}}else b=0;return b|0}function Ed(a,b){a=a|0;b=b|0;var d=0;d=Bd(c[a+4>>2]|0,c[b+8>>2]|0)|0;if(d){if((Ld(d,a,b)|0)<0){Jd(d)|0;d=0}}else d=0;return d|0}function Fd(a,b){a=a|0;b=b|0;var d=0;d=Cd(c[a+4>>2]|0,c[b+8>>2]|0)|0;if(d){if((Md(d,a,b)|0)<0){Kd(d)|0;d=0}}else d=0;return d|0}function Gd(a){a=a|0;var b=0;b=Bd(c[a+8>>2]|0,c[a+4>>2]|0)|0;if(b){if((Zd(b,a)|0)<0){Jd(b)|0;b=0}}else b=0;return b|0}function Hd(a){a=a|0;var b=0;b=Cd(c[a+8>>2]|0,c[a+4>>2]|0)|0;if(b){if((_d(b,a)|0)<0){Kd(b)|0;b=0}}else b=0;return b|0}function Id(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0;h=c[a+4>>2]|0;a:do if((h|0)==(c[b+4>>2]|0)?(i=c[a+8>>2]|0,(i|0)==(c[b+8>>2]|0)):0){e=0;while(1){if((e|0)>=(h|0)){d=0;break a}f=B(e,i)|0;d=0;while(1){if((d|0)>=(i|0))break;j=d+f|0;g[(c[a>>2]|0)+(j<<3)>>3]=+g[(c[b>>2]|0)+(j<<3)>>3];d=d+1|0}e=e+1|0}}else d=-1;while(0);return d|0}function Jd(a){a=a|0;if(a|0){EO(c[a>>2]|0);EO(a)}return 0}function Kd(a){a=a|0;if(a|0){EO(c[a>>2]|0);EO(a)}return 0}function Ld(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0;n=c[b+8>>2]|0;a:do if(((n|0)==(c[d+4>>2]|0)?(o=c[a+4>>2]|0,(o|0)==(c[b+4>>2]|0)):0)?(m=c[a+8>>2]|0,(m|0)==(c[d+8>>2]|0)):0){a=c[a>>2]|0;k=0;while(1){if((k|0)>=(o|0)){a=0;break a}l=B(k,n)|0;j=0;while(1){if((j|0)>=(m|0))break;g[a>>3]=0.0;e=(c[d>>2]|0)+(j<<3)|0;f=(c[b>>2]|0)+(l<<3)|0;h=0;i=0.0;while(1){if((h|0)>=(n|0))break;p=i+ +g[f>>3]*+g[e>>3];g[a>>3]=p;e=e+(m<<3)|0;f=f+8|0;h=h+1|0;i=p}j=j+1|0;a=a+8|0}k=k+1|0}}else a=-1;while(0);return a|0}function Md(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0;n=c[b+8>>2]|0;a:do if(((n|0)==(c[d+4>>2]|0)?(o=c[a+4>>2]|0,(o|0)==(c[b+4>>2]|0)):0)?(m=c[a+8>>2]|0,(m|0)==(c[d+8>>2]|0)):0){a=c[a>>2]|0;k=0;while(1){if((k|0)>=(o|0)){a=0;break a}l=B(k,n)|0;j=0;while(1){if((j|0)>=(m|0))break;f[a>>2]=0.0;e=(c[d>>2]|0)+(j<<2)|0;g=(c[b>>2]|0)+(l<<2)|0;h=0;i=0.0;while(1){if((h|0)>=(n|0))break;p=i+ +f[g>>2]*+f[e>>2];f[a>>2]=p;e=e+(m<<2)|0;g=g+4|0;h=h+1|0;i=p}j=j+1|0;a=a+4|0}k=k+1|0}}else a=-1;while(0);return a|0}function Nd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0,i=0,j=0,k=0,l=0;i=c[a+4>>2]|0;j=c[a+8>>2]|0;f=(i|0)<(j|0)?i:j;a:do if(((((!((i|0)<2|(j|0)<2)?(c[b+8>>2]|0)==(j|0):0)?(c[b+4>>2]|0)==(f|0):0)?(k=d+4|0,(c[k>>2]|0)==(f|0)):0)?(c[e+4>>2]|0)==(j|0):0)?(l=Dd(a)|0,(l|0)!=0):0){h=+u(+(+(i|0)));if((Od(l,e)|0)<0){Jd(l)|0;a=-1;break}if((Pd(l,e)|0)<0){Jd(l)|0;a=-1;break}f=B(j,i)|0;a=0;while(1){if((a|0)>=(f|0))break;j=(c[l>>2]|0)+(a<<3)|0;g[j>>3]=+g[j>>3]/h;a=a+1|0}a=Qd(l,b,d)|0;Jd(l)|0;e=c[k>>2]|0;h=0.0;f=0;while(1){if((f|0)>=(e|0))break;h=h+ +g[(c[d>>2]|0)+(f<<3)>>3];f=f+1|0}f=0;while(1){if((f|0)>=(e|0))break a;l=(c[d>>2]|0)+(f<<3)|0;g[l>>3]=+g[l>>3]/h;f=f+1|0}}else a=-1;while(0);return a|0}function Od(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,h=0,i=0,j=0,k=0;j=c[a+4>>2]|0;k=c[a+8>>2]|0;a:do if(!((j|0)<1|(k|0)<1)?(c[b+4>>2]|0)==(k|0):0){d=0;while(1){if((d|0)==(k|0))break;g[(c[b>>2]|0)+(d<<3)>>3]=0.0;d=d+1|0}a=c[a>>2]|0;h=0;while(1){if((h|0)==(j|0))break;d=0;f=c[b>>2]|0;i=a;while(1){if((d|0)==(k|0))break;g[f>>3]=+g[i>>3]+ +g[f>>3];d=d+1|0;f=f+8|0;i=i+8|0}a=a+(k<<3)|0;h=h+1|0}e=+(j|0);d=0;while(1){if((d|0)==(k|0)){d=0;break a}j=(c[b>>2]|0)+(d<<3)|0;g[j>>3]=+g[j>>3]/e;d=d+1|0}}else d=-1;while(0);return d|0}function Pd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0;h=c[a+4>>2]|0;i=c[a+8>>2]|0;a:do if((c[b+4>>2]|0)==(i|0)){f=0;a=c[a>>2]|0;while(1){if((f|0)>=(h|0)){a=0;break a}d=0;e=c[b>>2]|0;while(1){if((d|0)>=(i|0))break;g[a>>3]=+g[a>>3]-+g[e>>3];d=d+1|0;e=e+8|0;a=a+8|0}f=f+1|0}}else a=-1;while(0);return a|0}function Qd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0;e=c[a+4>>2]|0;f=c[a+8>>2]|0;i=(f|0)<(e|0)?f:e;a:do if(((!((e|0)<2|(f|0)<2)?(c[b+8>>2]|0)==(f|0):0)?(c[b+4>>2]|0)==(i|0):0)?(c[d+4>>2]|0)==(i|0):0){h=Bd(i,i)|0;if((c[h+4>>2]|0)==(i|0)?(c[h+8>>2]|0)==(i|0):0){e=(e|0)<(f|0);if(e){if((Rd(a,h)|0)<0){Jd(h)|0;e=-1;break}}else if((Sd(a,h)|0)<0){Jd(h)|0;e=-1;break}if((Td(h,d)|0)<0){Jd(h)|0;e=-1;break}b:do if(e){if((Ud(a,h,b,d)|0)<0){Jd(h)|0;e=-1;break a}}else{a=0;f=c[h>>2]|0;e=c[b>>2]|0;while(1){if((a|0)>=(i|0))break;if(+g[(c[d>>2]|0)+(a<<3)>>3]<1.0e-16)break;b=0;while(1){if((b|0)>=(i|0))break;g[e>>3]=+g[f>>3];b=b+1|0;f=f+8|0;e=e+8|0}a=a+1|0}while(1){if((a|0)>=(i|0))break b;g[(c[d>>2]|0)+(a<<3)>>3]=0.0;f=0;while(1){if((f|0)>=(i|0))break;g[e>>3]=0.0;f=f+1|0;e=e+8|0}a=a+1|0}}while(0);Jd(h)|0;e=0;break}Jd(h)|0;e=-1}else e=-1;while(0);return e|0}function Rd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o=0,p=0.0;n=c[a+4>>2]|0;o=c[a+8>>2]|0;a:do if((c[b+4>>2]|0)==(n|0)?(c[b+8>>2]|0)==(n|0):0){k=c[b>>2]|0;e=0;h=k;while(1){if((e|0)>=(n|0)){b=0;break a}l=B(e,o)|0;d=0;j=h;while(1){if((d|0)==(n|0))break;b:do if(d>>>0>>0)g[j>>3]=+g[k+((B(d,n)|0)+e<<3)>>3];else{f=c[a>>2]|0;i=f+((B(d,o)|0)<<3)|0;g[j>>3]=0.0;b=0;f=f+(l<<3)|0;m=0.0;while(1){if((b|0)>=(o|0))break b;p=m+ +g[f>>3]*+g[i>>3];g[j>>3]=p;b=b+1|0;f=f+8|0;i=i+8|0;m=p}}while(0);d=d+1|0;j=j+8|0}e=e+1|0;h=h+(n<<3)|0}}else b=-1;while(0);return b|0}function Sd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0.0;m=c[a+4>>2]|0;n=c[a+8>>2]|0;a:do if((c[b+4>>2]|0)==(n|0)?(c[b+8>>2]|0)==(n|0):0){k=c[b>>2]|0;e=0;h=k;while(1){if((e|0)>=(n|0)){b=0;break a}d=0;j=h;while(1){if((d|0)==(n|0))break;b:do if(d>>>0>>0)g[j>>3]=+g[k+((B(d,n)|0)+e<<3)>>3];else{i=c[a>>2]|0;g[j>>3]=0.0;b=0;f=i+(e<<3)|0;i=i+(d<<3)|0;l=0.0;while(1){if((b|0)>=(m|0))break b;o=l+ +g[f>>3]*+g[i>>3];g[j>>3]=o;b=b+1|0;f=f+(n<<3)|0;i=i+(n<<3)|0;l=o}}while(0);d=d+1|0;j=j+8|0}e=e+1|0;h=h+(n<<3)|0}}else b=-1;while(0);return b|0}function Td(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0.0,i=0,j=0.0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0.0,H=0.0,I=0.0,J=0,K=0;F=yb;yb=yb+16|0;d=F;E=c[a+4>>2]|0;do if((!((E|0)<2?1:(E|0)!=(c[a+8>>2]|0))?(c[b+4>>2]|0)==(E|0):0)?(C=oe(E)|0,(C|0)!=0):0){D=E+-1|0;c[d+4>>2]=D;c[d>>2]=(c[C>>2]|0)+8;if((se(a,b,d)|0)<0){pe(C)|0;d=-1;break}A=c[C>>2]|0;g[A>>3]=0.0;y=D;while(1){if((y|0)<=0)break;z=y;while(1){if((z|0)<=0)break;n=+t(+(+g[A+(z<<3)>>3]));x=c[b>>2]|0;d=z+-1|0;o=+t(+(+g[x+(d<<3)>>3]));if(n>(o+ +t(+(+g[x+(z<<3)>>3])))*1.0e-06)z=d;else break}q=y+-1|0;a:do if((z|0)!=(y|0)){r=A+(y<<3)|0;s=A+(z+1<<3)|0;p=0;do{if(p>>>0>99)break a;p=p+1|0;v=c[b>>2]|0;w=v+(q<<3)|0;x=v+(y<<3)|0;h=+g[x>>3];o=(+g[w>>3]-h)*.5;m=+g[r>>3];m=m*m;j=+u(+(m+o*o));l=z;n=+g[s>>3];j=+g[v+(z<<3)>>3]-h+m/(o+(o<0.0?-j:j));while(1){if((l|0)>=(y|0))break;h=+t(+j);if(h>=+t(+n))if(h>1.0e-16){h=-n/j;o=1.0/+u(+(h*h+1.0));m=o;o=h*o}else{m=1.0;o=0.0}else{m=-j/n;o=1.0/+u(+(m*m+1.0));m=m*o}f=v+(l<<3)|0;I=+g[f>>3];k=l+1|0;d=v+(k<<3)|0;H=+g[d>>3];h=I-H;i=A+(k<<3)|0;G=o*(o*h+m*2.0*+g[i>>3]);g[f>>3]=I-G;g[d>>3]=H+G;d=A+(l<<3)|0;if((l|0)>(z|0))g[d>>3]=m*+g[d>>3]-n*o;I=+g[i>>3];g[i>>3]=I+o*(m*h-o*2.0*I);e=B(l,E)|0;f=B(k,E)|0;d=0;h=n;while(1){if((d|0)==(E|0))break;J=c[a>>2]|0;K=J+(d+e<<3)|0;j=+g[K>>3];J=J+(d+f<<3)|0;h=+g[J>>3];g[K>>3]=m*j-o*h;g[J>>3]=o*j+m*h;d=d+1|0}if((l|0)<(q|0)){j=+g[i>>3];K=A+(l+2<<3)|0;h=+g[K>>3];g[K>>3]=m*h;h=-(o*h)}l=k;n=h}H=+t(+(+g[r>>3]));I=+t(+(+g[w>>3]))}while(H>(I+ +t(+(+g[x>>3])))*1.0e-06)}while(0);y=q}d=0;while(1){if((d|0)==(D|0))break;f=c[b>>2]|0;i=f+(d<<3)|0;j=+g[i>>3];l=d+1|0;h=j;k=d;e=l;while(1){if((e|0)>=(E|0))break;I=+g[f+(e<<3)>>3];K=I>h;h=K?I:h;k=K?e:k;e=e+1|0}g[f+(k<<3)>>3]=j;g[i>>3]=h;e=c[a>>2]|0;f=e+((B(d,E)|0)<<3)|0;d=e+((B(k,E)|0)<<3)|0;e=0;while(1){if((e|0)==(E|0))break;I=+g[d>>3];g[d>>3]=+g[f>>3];g[f>>3]=I;f=f+8|0;d=d+8|0;e=e+1|0}d=l}pe(C)|0;d=0}else d=-1;while(0);yb=F;return d|0}function Ud(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0.0;p=c[a+4>>2]|0;q=c[a+8>>2]|0;a:do if(((((!((p|0)<1|(q|0)<1)?(c[b+4>>2]|0)==(p|0):0)?(c[b+8>>2]|0)==(p|0):0)?(c[d+4>>2]|0)==(p|0):0)?(c[d+8>>2]|0)==(q|0):0)?(c[e+4>>2]|0)==(p|0):0){h=0;d=c[d>>2]|0;while(1){if((h|0)>=(p|0))break;i=+g[(c[e>>2]|0)+(h<<3)>>3];if(i<1.0e-16)break;n=1.0/+u(+(+t(+i)));o=B(h,p)|0;j=0;m=d;while(1){if((j|0)==(q|0))break;f=0;k=(c[b>>2]|0)+(o<<3)|0;i=0.0;l=(c[a>>2]|0)+(j<<3)|0;while(1){if((f|0)==(p|0))break;r=i+ +g[k>>3]*+g[l>>3];f=f+1|0;k=k+8|0;i=r;l=l+(q<<3)|0}g[m>>3]=n*i;j=j+1|0;m=m+8|0}h=h+1|0;d=d+(q<<3)|0}while(1){if((h|0)>=(p|0)){d=0;break a}g[(c[e>>2]|0)+(h<<3)>>3]=0.0;f=0;while(1){if((f|0)>=(q|0))break;g[d>>3]=0.0;f=f+1|0;d=d+8|0}h=h+1|0}}else d=-1;while(0);return d|0}function Vd(a){a=a|0;var b=0;b=c[a+4>>2]|0;return ((Wd(c[a>>2]|0,b,b)|0)==0)<<31>>31|0}function Wd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0;q=yb;yb=yb+2e3|0;p=q;a:do if((b|0)>500)a=0;else{switch(b|0){case 0:{a=0;break a}case 1:{g[a>>3]=1.0/+g[a>>3];break a}default:{}}e=0;while(1){if((e|0)>=(b|0))break;c[p+(e<<2)>>2]=e;e=e+1|0}o=a+(b+-1<<3)|0;l=0;n=o;while(1){if((l|0)>=(b|0))break;m=a+((B(l,d)|0)<<3)|0;k=0.0;e=m;i=-1;f=l;while(1){if((f|0)==(b|0))break;r=+t(+(+g[e>>3]));j=k>2]|0;f=p+(l<<2)|0;c[e>>2]=c[f>>2];c[f>>2]=h;f=0;h=m;e=a+((B(i,d)|0)<<3)|0;while(1){if((f|0)==(b|0))break;r=+g[e>>3];g[e>>3]=+g[h>>3];g[h>>3]=r;f=f+1|0;h=h+8|0;e=e+8|0}k=+g[m>>3];e=1;f=m;while(1){if((e|0)==(b|0))break;j=f+8|0;g[f>>3]=+g[j>>3]/k;e=e+1|0;f=j}g[n>>3]=1.0/k;e=0;j=o;while(1){if((e|0)==(b|0))break;if((e|0)!=(l|0)){i=a+((B(e,d)|0)<<3)|0;k=+g[i>>3];f=m;h=1;while(1){if((h|0)==(b|0))break;s=i+8|0;g[i>>3]=+g[s>>3]-k*+g[f>>3];f=f+8|0;h=h+1|0;i=s}g[j>>3]=-(k*+g[n>>3])}e=e+1|0;j=j+(d<<3)|0}l=l+1|0;n=n+(d<<3)|0}j=0;while(1){if((j|0)>=(b|0))break a;i=j;while(1){e=p+(i<<2)|0;if((i|0)>=(b|0))break;if((c[e>>2]|0)==(j|0))break;i=i+1|0}c[e>>2]=c[p+(j<<2)>>2];f=0;h=a+(j<<3)|0;e=a+(i<<3)|0;while(1){if((f|0)>=(b|0))break;r=+g[e>>3];g[e>>3]=+g[h>>3];g[h>>3]=r;f=f+1|0;h=h+(d<<3)|0;e=e+(d<<3)|0}j=j+1|0}}while(0);yb=q;return a|0}function Xd(a){a=a|0;var b=0;b=c[a+4>>2]|0;return ((Yd(c[a>>2]|0,b,b)|0)==0)<<31>>31|0}function Yd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0;q=yb;yb=yb+2e3|0;p=q;a:do if((b|0)>500)a=0;else{switch(b|0){case 0:{a=0;break a}case 1:{f[a>>2]=1.0/+f[a>>2];break a}default:{}}e=0;while(1){if((e|0)>=(b|0))break;c[p+(e<<2)>>2]=e;e=e+1|0}o=a+(b+-1<<2)|0;l=0;n=o;while(1){if((l|0)>=(b|0))break;m=a+((B(l,d)|0)<<2)|0;k=0.0;e=m;i=-1;g=l;while(1){if((g|0)==(b|0))break;r=+t(+(+f[e>>2]));j=k>2]|0;g=p+(l<<2)|0;c[e>>2]=c[g>>2];c[g>>2]=h;g=0;h=m;e=a+((B(i,d)|0)<<2)|0;while(1){if((g|0)==(b|0))break;j=c[e>>2]|0;c[e>>2]=c[h>>2];c[h>>2]=j;g=g+1|0;h=h+4|0;e=e+4|0}k=+f[m>>2];e=1;g=m;while(1){if((e|0)==(b|0))break;j=g+4|0;f[g>>2]=+f[j>>2]/k;e=e+1|0;g=j}f[n>>2]=1.0/k;e=0;j=o;while(1){if((e|0)==(b|0))break;if((e|0)!=(l|0)){i=a+((B(e,d)|0)<<2)|0;k=+f[i>>2];g=m;h=1;while(1){if((h|0)==(b|0))break;s=i+4|0;f[i>>2]=+f[s>>2]-k*+f[g>>2];g=g+4|0;h=h+1|0;i=s}f[j>>2]=-(k*+f[n>>2])}e=e+1|0;j=j+(d<<2)|0}l=l+1|0;n=n+(d<<2)|0}j=0;while(1){if((j|0)>=(b|0))break a;i=j;while(1){e=p+(i<<2)|0;if((i|0)>=(b|0))break;if((c[e>>2]|0)==(j|0))break;i=i+1|0}c[e>>2]=c[p+(j<<2)>>2];g=0;h=a+(j<<2)|0;e=a+(i<<2)|0;while(1){if((g|0)>=(b|0))break;s=c[e>>2]|0;c[e>>2]=c[h>>2];c[h>>2]=s;g=g+1|0;h=h+(d<<2)|0;e=e+(d<<2)|0}j=j+1|0}}while(0);yb=q;return a|0}function Zd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0;h=c[a+4>>2]|0;a:do if((h|0)==(c[b+8>>2]|0)?(i=c[a+8>>2]|0,(i|0)==(c[b+4>>2]|0)):0){a=c[a>>2]|0;f=0;while(1){if((f|0)>=(h|0)){a=0;break a}d=(c[b>>2]|0)+(f<<3)|0;e=0;while(1){if((e|0)>=(i|0))break;g[a>>3]=+g[d>>3];d=d+(h<<3)|0;e=e+1|0;a=a+8|0}f=f+1|0}}else a=-1;while(0);return a|0}function _d(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=c[a+4>>2]|0;a:do if((g|0)==(c[b+8>>2]|0)?(h=c[a+8>>2]|0,(h|0)==(c[b+4>>2]|0)):0){a=c[a>>2]|0;f=0;while(1){if((f|0)>=(g|0)){a=0;break a}d=(c[b>>2]|0)+(f<<2)|0;e=0;while(1){if((e|0)>=(h|0))break;c[a>>2]=c[d>>2];d=d+(g<<2)|0;e=e+1|0;a=a+4|0}f=f+1|0}}else a=-1;while(0);return a|0}function $d(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,h=0.0,i=0;h=+(b|0)/+(c[a>>2]|0);f=+(d|0)/+(c[a+4>>2]|0);c[e>>2]=b;c[e+4>>2]=d;b=0;while(1){if((b|0)==4)break;g[e+8+(b<<3)>>3]=h*+g[a+8+(b<<3)>>3];g[e+40+(b<<3)>>3]=f*+g[a+40+(b<<3)>>3];g[e+72+(b<<3)>>3]=+g[a+72+(b<<3)>>3];b=b+1|0}b=c[a+176>>2]|0;switch(b|0){case 4:{g[e+104>>3]=+g[a+104>>3];g[e+112>>3]=+g[a+112>>3];g[e+120>>3]=+g[a+120>>3];g[e+128>>3]=+g[a+128>>3];g[e+136>>3]=h*+g[a+136>>3];g[e+144>>3]=f*+g[a+144>>3];g[e+152>>3]=h*+g[a+152>>3];g[e+160>>3]=f*+g[a+160>>3];g[e+168>>3]=+g[a+168>>3];i=9;break}case 3:{g[e+104>>3]=h*+g[a+104>>3];g[e+112>>3]=f*+g[a+112>>3];g[e+120>>3]=+g[a+120>>3];g[e+128>>3]=+g[a+128>>3];g[e+136>>3]=+g[a+136>>3]/(h*f);g[e+144>>3]=+g[a+144>>3]/(f*(h*h*f));i=9;break}case 2:{g[e+104>>3]=h*+g[a+104>>3];g[e+112>>3]=f*+g[a+112>>3];g[e+120>>3]=+g[a+120>>3];g[e+128>>3]=+g[a+128>>3]/(h*f);g[e+136>>3]=+g[a+136>>3]/(f*(h*h*f));i=9;break}case 1:{g[e+104>>3]=h*+g[a+104>>3];g[e+112>>3]=f*+g[a+112>>3];g[e+120>>3]=+g[a+120>>3];g[e+128>>3]=+g[a+128>>3]/(h*f);i=9;break}default:b=-1}if((i|0)==9){c[e+176>>2]=b;b=0}return b|0}function ae(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0.0;h=yb;yb=yb+96|0;f=h;a:do if(!(+g[a+88>>3]>=0.0)){d=0;while(1){if((d|0)==3)break a;e=0;while(1){if((e|0)==4)break;g[f+(d<<5)+(e<<3)>>3]=-+g[a+(d<<5)+(e<<3)>>3];e=e+1|0}d=d+1|0}}else{d=0;while(1){if((d|0)==3)break a;e=0;while(1){if((e|0)==4)break;g[f+(d<<5)+(e<<3)>>3]=+g[a+(d<<5)+(e<<3)>>3];e=e+1|0}d=d+1|0}}while(0);d=0;while(1){if((d|0)==3)break;e=0;while(1){if((e|0)==4)break;g[b+(d<<5)+(e<<3)>>3]=0.0;e=e+1|0}d=d+1|0}i=+g[f+64>>3];n=+g[f+72>>3];o=+g[f+80>>3];w=+be(i,n,o);a=b+80|0;g[a>>3]=w;w=i/w;u=c+64|0;g[u>>3]=w;n=n/+g[a>>3];s=c+72|0;g[s>>3]=n;o=o/+g[a>>3];p=c+80|0;g[p>>3]=o;m=c+88|0;g[m>>3]=+g[f+88>>3]/+g[a>>3];i=+g[f+32>>3];j=+g[f+40>>3];r=+g[f+48>>3];o=+ce(w,n,o,i,j,r);l=b+48|0;g[l>>3]=o;i=i-o*+g[u>>3];j=j-o*+g[s>>3];o=r-o*+g[p>>3];r=+be(i,j,o);k=b+40|0;g[k>>3]=r;v=c+32|0;g[v>>3]=i/r;t=c+40|0;g[t>>3]=j/+g[k>>3];q=c+48|0;g[q>>3]=o/+g[k>>3];o=+g[f>>3];j=+g[f+8>>3];r=+g[f+16>>3];i=+ce(+g[u>>3],+g[s>>3],+g[p>>3],o,j,r);d=b+16|0;g[d>>3]=i;n=+ce(+g[v>>3],+g[t>>3],+g[q>>3],o,j,r);e=b+8|0;g[e>>3]=n;o=o-n*+g[v>>3]-i*+g[u>>3];j=j-n*+g[t>>3]-i*+g[s>>3];i=r-n*+g[q>>3]-i*+g[p>>3];n=+be(o,j,i);g[b>>3]=n;g[c>>3]=o/n;g[c+8>>3]=j/+g[b>>3];g[c+16>>3]=i/+g[b>>3];i=+g[m>>3];j=(+g[f+56>>3]-+g[l>>3]*i)/+g[k>>3];g[c+56>>3]=j;g[c+24>>3]=(+g[f+24>>3]-j*+g[e>>3]-i*+g[d>>3])/+g[b>>3];d=0;while(1){if((d|0)==3)break;e=0;while(1){if((e|0)==3)break;v=b+(d<<5)+(e<<3)|0;g[v>>3]=+g[v>>3]/+g[a>>3];e=e+1|0}d=d+1|0}yb=h;return 0}function be(a,b,c){a=+a;b=+b;c=+c;return +(+u(+(a*a+b*b+c*c)))}function ce(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=+d;e=+e;f=+f;return +(a*d+b*e+c*f)}function de(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var h=0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0;switch(f|0){case 4:{t=+g[a>>3];v=+g[a+8>>3];r=+g[a+16>>3];s=+g[a+24>>3];x=+g[a+32>>3];y=+g[a+40>>3];z=+g[a+48>>3];A=+g[a+56>>3];w=+g[a+64>>3];q=(b-z)/x;l=(c-A)/y;m=r*2.0;n=s*6.0;o=s*2.0;p=r*6.0;i=q;j=l;k=q*q;b=l*l;f=1;while(1){if(!(b!=0.0|k!=0.0)){c=0.0;b=0.0;break}D=b+k;C=t*D+1.0+D*(v*D);c=k*3.0;B=b*c;c=i-(s*(D+k*2.0)+(j*(m*i)+i*C)-q)/(n*i+(m*j+(t*(b+c)+1.0+v*(b*b+(k*(k*5.0)+B)))));i=o*c;b=j-(r*(b*2.0+D)+j*C+j*i-l)/(p*j+(t*(k+b*3.0)+1.0+v*(b*(b*5.0)+(k*k+B)))+i);if((f|0)==4)break;i=c;j=b;k=c*c;b=b*b;f=f+1|0}g[d>>3]=z+x*c/w;b=A+y*b/w;h=22;break}case 3:{p=+g[a>>3];b=(b-p)/+g[a+24>>3];h=a+8|0;c=c-+g[h>>3];k=+g[a+32>>3]/1.0e8;l=+g[a+40>>3]/1.0e8/1.0e5;i=b*b+c*c;m=+u(+i);n=k*3.0;o=l*5.0;f=1;j=m;while(1){if(!(j!=0.0)){c=0.0;b=0.0;break}D=j-(j*(1.0-k*i-i*(l*i))-m)/(1.0-n*i-i*(o*i));b=b*D/j;c=c*D/j;if((f|0)==3)break;j=b*b+c*c;i=j;f=f+1|0;j=+u(+j)}a=a+16|0;g[d>>3]=p+b/+g[a>>3];b=c/+g[a>>3]+ +g[h>>3];h=22;break}case 2:{p=+g[a>>3];b=b-p;h=a+8|0;c=c-+g[h>>3];k=+g[a+24>>3]/1.0e8;l=+g[a+32>>3]/1.0e8/1.0e5;i=b*b+c*c;m=+u(+i);n=k*3.0;o=l*5.0;f=1;j=m;while(1){if(!(j!=0.0)){c=0.0;b=0.0;break}D=j-(j*(1.0-k*i-i*(l*i))-m)/(1.0-n*i-i*(o*i));b=b*D/j;c=c*D/j;if((f|0)==3)break;i=b*b+c*c;f=f+1|0;j=+u(+i)}a=a+16|0;g[d>>3]=p+b/+g[a>>3];b=c/+g[a>>3]+ +g[h>>3];h=22;break}case 1:{n=+g[a>>3];b=b-n;h=a+8|0;c=c-+g[h>>3];k=+g[a+24>>3]/1.0e8;i=b*b+c*c;l=+u(+i);m=k*3.0;f=1;j=l;while(1){if(!(j!=0.0)){c=0.0;b=0.0;break}D=j-(j*(1.0-k*i)-l)/(1.0-m*i);b=b*D/j;c=c*D/j;if((f|0)==3)break;i=b*b+c*c;f=f+1|0;j=+u(+i)}a=a+16|0;g[d>>3]=n+b/+g[a>>3];b=c/+g[a>>3]+ +g[h>>3];h=22;break}default:f=-1}if((h|0)==22){g[e>>3]=b;f=0}return f|0}function ee(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var h=0.0,i=0.0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0;a:do switch(f|0){case 4:{h=+g[a+16>>3];l=+g[a+24>>3];o=+g[a+32>>3];m=+g[a+40>>3];p=+g[a+48>>3];n=+g[a+56>>3];i=+g[a+64>>3];k=(b-p)*i/o;c=(c-n)*i/m;i=k*k+c*c;b=+g[a>>3]*i+1.0+i*(+g[a+8>>3]*i);g[d>>3]=p+o*(l*(i+k*(k*2.0))+(c*(h*2.0*k)+k*b));b=n+m*(c*(l*2.0*k)+(h*(i+c*(c*2.0))+c*b));j=12;break}case 3:{i=+g[a>>3];p=+g[a+16>>3];h=(b-i)*p;f=a+8|0;b=p*(c-+g[f>>3]);if(h==0.0&b==0.0){g[d>>3]=i;b=+g[f>>3];j=12;break a}else{p=h*h+b*b;p=1.0-p*(+g[a+32>>3]/1.0e8)-p*(p*(+g[a+40>>3]/1.0e8/1.0e5));g[d>>3]=i+ +g[a+24>>3]*(h*p);b=+g[f>>3]+b*p;j=12;break a}}case 2:{i=+g[a>>3];p=+g[a+16>>3];h=(b-i)*p;f=a+8|0;b=p*(c-+g[f>>3]);if(h==0.0&b==0.0){g[d>>3]=i;b=+g[f>>3];j=12;break a}else{p=h*h+b*b;p=1.0-p*(+g[a+24>>3]/1.0e8)-p*(p*(+g[a+32>>3]/1.0e8/1.0e5));g[d>>3]=i+h*p;b=+g[f>>3]+b*p;j=12;break a}}case 1:{i=+g[a>>3];p=+g[a+16>>3];h=(b-i)*p;f=a+8|0;b=p*(c-+g[f>>3]);if(h==0.0&b==0.0){g[d>>3]=i;b=+g[f>>3];j=12;break a}else{p=1.0-(h*h+b*b)*(+g[a+24>>3]/1.0e8);g[d>>3]=i+h*p;b=+g[f>>3]+b*p;j=12;break a}}default:f=-1}while(0);if((j|0)==12){g[e>>3]=b;f=0}return f|0}function fe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=yb;yb=yb+192|0;f=g;ge(a,f);ge(a+4|0,f+4|0);b=0;while(1){if((b|0)==3)break;d=0;while(1){if((d|0)==4)break;he(a+8+(b<<5)+(d<<3)|0,f+8+(b<<5)+(d<<3)|0);d=d+1|0}b=b+1|0}d=a+176|0;b=0;while(1){e=c[d>>2]|0;if((b|0)>=(c[1712+(e+-1<<3)>>2]|0))break;he(a+104+(b<<3)|0,f+104+(b<<3)|0);b=b+1|0}c[f+176>>2]=e;YO(a|0,f|0,184)|0;yb=g;return}function ge(b,c){b=b|0;c=c|0;var d=0;d=0;while(1){if((d|0)==4)break;a[c+d>>0]=a[b+(3-d)>>0]|0;d=d+1|0}return}function he(b,c){b=b|0;c=c|0;var d=0;d=0;while(1){if((d|0)==8)break;a[c+d>>0]=a[b+(7-d)>>0]|0;d=d+1|0}return}function ie(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=yb;yb=yb+256|0;n=s+248|0;l=s+240|0;k=s+232|0;j=s+224|0;i=s+216|0;h=s+208|0;f=s+200|0;p=s;q=s+16|0;do if((a|0)!=0&(b|0)>0&(d|0)!=0){r=pz(a,22236)|0;if(!r){c[f>>2]=c[(mx()|0)>>2];c[f+4>>2]=a;Se(0,3,20359,f);a=zy(c[(mx()|0)>>2]|0)|0;c[h>>2]=57671;c[h+4>>2]=a;Se(0,3,21881,h);a=-1;break}Iz(r,0,2)|0;a:do if(!(zz(r)|0)){h=fA(r)|0;gA(r);f=0;while(1){if(f>>>0>=4){o=9;break}a=c[1712+(f<<3)+4>>2]|0;f=f+1|0;if(!((h|0)%(a|0)|0)){m=f;break}}do if((o|0)==9)if((f|0)==4){Se(0,3,20473,k);a=-1;break a}else{m=0;a=c[1712+(0<<3)+4>>2]|0;break}while(0);if((eA(q,a,1,r)|0)!=1){c[l>>2]=c[(mx()|0)>>2];Se(0,3,20553,l);a=zy(c[(mx()|0)>>2]|0)|0;c[n>>2]=57671;c[n+4>>2]=a;Se(0,3,21881,n);a=-1;break}j=q+176|0;c[j>>2]=m;fe(q);k=(m|0)==1;l=q+120|0;if(k){t=+g[l>>3];i=q+128|0;g[l>>3]=+g[i>>3];g[i>>3]=t}else i=q+128|0;YO(d|0,q|0,184)|0;c[p>>2]=e;f=d+176|0;a=1;while(1){if((a|0)>=(b|0)){a=0;break a}e=(c[p>>2]|0)+(4-1)&~(4-1);h=c[e>>2]|0;c[p>>2]=e+4;c[h+176>>2]=c[f>>2];if((eA(q,c[1712+((c[f>>2]|0)+-1<<3)+4>>2]|0,1,r)|0)!=1){a=-1;break a}c[j>>2]=m;fe(q);if(k){t=+g[l>>3];g[l>>3]=+g[i>>3];g[i>>3]=t}YO(h|0,q|0,184)|0;a=a+1|0}}else{c[i>>2]=c[(mx()|0)>>2];Se(0,3,20428,i);a=zy(c[(mx()|0)>>2]|0)|0;c[j>>2]=57671;c[j+4>>2]=a;Se(0,3,21881,j);a=-1}while(0);vz(r)|0}else a=-1;while(0);yb=s;return a|0}function je(a,b,d,e){a=a|0;b=+b;d=+d;e=e|0;var f=0,h=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0;o=yb;yb=yb+416|0;j=o+304|0;m=o+208|0;k=o+128|0;n=o;l=c[a>>2]|0;f=c[a+4>>2]|0;a:do if((ae(a+8|0,j,m)|0)<0)Se(0,3,20591,o+400|0);else{i=+(f+-1|0);a=0;while(1){if((a|0)==4)break;f=j+32+(a<<3)|0;g[f>>3]=+g[j+64+(a<<3)>>3]*i-+g[f>>3];a=a+1|0}h=+g[j+80>>3];f=0;while(1){if((f|0)==3)break;a=0;while(1){if((a|0)==3)break;g[k+(f*24|0)+(a<<3)>>3]=+g[j+(f<<5)+(a<<3)>>3]/h;a=a+1|0}f=f+1|0}h=+(l+-1|0);g[n>>3]=+g[k>>3]*2.0/h;g[n+8>>3]=+g[k+8>>3]*2.0/h;g[n+16>>3]=-(+g[k+16>>3]*2.0/h+-1.0);f=n+24|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;g[n+40>>3]=-(+g[k+32>>3]*2.0/i);g[n+48>>3]=-(+g[k+40>>3]*2.0/i+-1.0);f=n+56|0;h=b-d;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;g[n+80>>3]=(b+d)/h;g[n+88>>3]=d*2.0*b/h;f=n+96|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;g[n+112>>3]=-1.0;g[n+120>>3]=0.0;h=+g[m+24>>3];i=+g[m+56>>3];b=+g[m+88>>3];f=0;while(1){if((f|0)==4)break a;d=+g[n+(f<<5)>>3];j=n+(f<<5)+8|0;k=n+(f<<5)+16|0;a=0;while(1){if((a|0)==3)break;g[e+((a<<2)+f<<3)>>3]=d*+g[m+(a<<3)>>3]+ +g[j>>3]*+g[m+32+(a<<3)>>3]+ +g[k>>3]*+g[m+64+(a<<3)>>3];a=a+1|0}g[e+(f+12<<3)>>3]=+g[n+(f<<5)+24>>3]+(d*h+ +g[j>>3]*i+ +g[k>>3]*b);f=f+1|0}}while(0);yb=o;return}function ke(a,b){a=a|0;b=b|0;var d=0,e=0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=yb;yb=yb+64|0;n=s+24|0;o=s+16|0;p=s+8|0;q=s;r=DO(208)|0;if(!r){Se(0,3,41858,s+32|0);Ea(1)}YO(r|0,a|0,184)|0;m=b<<1;l=(c[a>>2]|0)+m|0;c[r+192>>2]=l;m=(c[a+4>>2]|0)+m|0;c[r+196>>2]=m;c[r+200>>2]=b;c[r+204>>2]=b;d=B(l<<3,m)|0;e=DO(d)|0;c[r+184>>2]=e;if(!e){Se(0,3,41858,s+40|0);Ea(1)}d=DO(d)|0;c[r+188>>2]=d;if(!d){Se(0,3,41858,s+48|0);Ea(1)}k=a+104|0;j=c[a+176>>2]|0;i=0;a=e;while(1){if((i|0)>=(m|0))break;h=+(i-b|0);e=0;while(1){if((e|0)>=(l|0))break;t=+(e-b|0);ee(k,t,h,p,q,j)|0;f[a>>2]=+g[p>>3];f[a+4>>2]=+g[q>>3];de(k,t,h,n,o,j)|0;f[d>>2]=+g[n>>3];f[d+4>>2]=+g[o>>3];e=e+1|0;d=d+8|0;a=a+8|0}i=i+1|0}yb=s;return r|0}function le(a){a=a|0;var b=0;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){EO(c[b+184>>2]|0);EO(c[(c[a>>2]|0)+188>>2]|0);EO(c[a>>2]|0);c[a>>2]=0;a=0}else a=-1;return a|0}function me(a,b,d,e,f){a=a|0;b=+b;d=+d;e=e|0;f=f|0;var g=0,h=0,i=0;h=(c[a+16>>2]|0)+~~(b+.5)|0;g=(c[a+20>>2]|0)+~~(d+.5)|0;if(((h|0)>=0?(i=c[a+8>>2]|0,!((g|0)<0|(h|0)>=(i|0))):0)?(g|0)<(c[a+12>>2]|0):0){g=(c[a>>2]|0)+((B(i,g)|0)+h<<1<<2)|0;c[e>>2]=c[g>>2];c[f>>2]=c[g+4>>2];g=0}else g=-1;return g|0}function ne(a,b,d,e,f){a=a|0;b=+b;d=+d;e=e|0;f=f|0;var g=0,h=0,i=0;h=(c[a+16>>2]|0)+~~(b+.5)|0;g=(c[a+20>>2]|0)+~~(d+.5)|0;if(((h|0)>=0?(i=c[a+8>>2]|0,!((g|0)<0|(h|0)>=(i|0))):0)?(g|0)<(c[a+12>>2]|0):0){g=(c[a+4>>2]|0)+((B(i,g)|0)+h<<1<<2)|0;c[e>>2]=c[g>>2];c[f>>2]=c[g+4>>2];g=0}else g=-1;return g|0}function oe(a){a=a|0;var b=0,d=0;b=DO(8)|0;do if(b){d=DO(a<<3)|0;c[b>>2]=d;if(!d){EO(b);b=0;break}else{c[b+4>>2]=a;break}}else b=0;while(0);return b|0}function pe(a){a=a|0;EO(c[a>>2]|0);EO(a);return 0}function qe(a){a=a|0;var b=0.0,d=0,e=0.0,f=0,h=0;b=+u(+(+re(a,a)));a:do if(b!=0.0){f=c[a>>2]|0;e=+g[f>>3];b=e<0.0?-b:b;e=e+b;g[f>>3]=e;e=1.0/+u(+(b*e));d=c[a+4>>2]|0;a=0;while(1){if((a|0)>=(d|0))break a;h=f+(a<<3)|0;g[h>>3]=e*+g[h>>3];a=a+1|0}}while(0);return +-b}function re(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,h=0.0;f=c[a+4>>2]|0;if((f|0)!=(c[b+4>>2]|0))Ea(0);d=0;e=0.0;while(1){if((d|0)>=(f|0))break;h=e+ +g[(c[a>>2]|0)+(d<<3)>>3]*+g[(c[b>>2]|0)+(d<<3)>>3];d=d+1|0;e=h}return +e}function se(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0.0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=yb;yb=yb+16|0;u=x+8|0;v=x;w=c[a+8>>2]|0;a:do if(((w|0)==(c[a+4>>2]|0)?(w|0)==(c[b+4>>2]|0):0)?(w|0)==((c[d+4>>2]|0)+1|0):0){r=w+-2|0;s=u+4|0;t=v+4|0;l=0;while(1){if((l|0)>=(r|0))break;m=(c[a>>2]|0)+((B(l,w)|0)<<3)|0;g[(c[b>>2]|0)+(l<<3)>>3]=+g[m+(l<<3)>>3];j=w-l+-1|0;c[s>>2]=j;p=l+1|0;k=m+(p<<3)|0;c[u>>2]=k;o=+qe(u);g[(c[d>>2]|0)+(l<<3)>>3]=o;b:do if(!(o==0.0)){h=p;while(1){if((h|0)>=(w|0))break;e=p;i=0.0;while(1){if(e>>>0>=h>>>0)break;o=+g[(c[a>>2]|0)+((B(e,w)|0)+h<<3)>>3];o=i+o*+g[m+(e<<3)>>3];e=e+1|0;i=o}f=B(h,w)|0;e=h;while(1){if((e|0)>=(w|0))break;o=i+ +g[(c[a>>2]|0)+(e+f<<3)>>3]*+g[m+(e<<3)>>3];e=e+1|0;i=o}g[(c[b>>2]|0)+(h<<3)>>3]=i;h=h+1|0}c[t>>2]=j;c[s>>2]=j;c[u>>2]=k;c[v>>2]=(c[b>>2]|0)+(p<<3);o=+re(u,v)*.5;e=w;while(1){e=e+-1|0;if((e|0)<=(l|0))break b;i=+g[m+(e<<3)>>3];h=c[b>>2]|0;j=h+(e<<3)|0;n=+g[j>>3]-o*i;g[j>>3]=n;j=B(e,w)|0;f=e;while(1){if((f|0)>=(w|0))break;k=(c[a>>2]|0)+(f+j<<3)|0;g[k>>3]=+g[k>>3]-(i*+g[h+(f<<3)>>3]+n*+g[m+(f<<3)>>3]);f=f+1|0}}}while(0);l=p}if((w|0)<=1)if((w|0)==1){h=0;e=c[a>>2]|0;f=c[b>>2]|0;q=27}else j=w;else{e=c[a>>2]|0;q=B(r,w)|0;f=c[b>>2]|0;g[f+(r<<3)>>3]=+g[e+(q+r<<3)>>3];h=w+-1|0;g[(c[d>>2]|0)+(r<<3)>>3]=+g[e+(h+q<<3)>>3];q=27}if((q|0)==27){j=w;i=+g[e+((B(h,w)|0)+h<<3)>>3];e=f+(h<<3)|0;q=28}while(1){if((q|0)==28)g[e>>3]=i;d=j+-1|0;if((j|0)<=0){e=0;break a}m=(c[a>>2]|0)+((B(d,w)|0)<<3)|0;c:do if((j|0)<=(r|0)){h=w-d+-1|0;k=m+(j<<3)|0;e=j;while(1){if((e|0)>=(w|0))break c;c[t>>2]=h;c[s>>2]=h;c[u>>2]=k;l=B(e,w)|0;c[v>>2]=(c[a>>2]|0)+(l+j<<3);i=+re(u,v);f=j;while(1){if((f|0)>=(w|0))break;q=(c[a>>2]|0)+(f+l<<3)|0;g[q>>3]=+g[q>>3]-i*+g[m+(f<<3)>>3];f=f+1|0}e=e+1|0}}while(0);e=0;while(1){if((e|0)>=(w|0))break;g[m+(e<<3)>>3]=0.0;e=e+1|0}j=d;i=1.0;e=m+(d<<3)|0;q=28}}else e=-1;while(0);yb=x;return e|0}function te(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,h=0.0,i=0.0;f=+g[c>>3];h=+g[c+8>>3];e=+g[c+16>>3];d=+g[b+88>>3]+(f*+g[b+64>>3]+h*+g[b+72>>3]+e*+g[b+80>>3]);if(d==0.0)c=-1;else{i=+g[b+56>>3]+(f*+g[b+32>>3]+h*+g[b+40>>3]+e*+g[b+48>>3]);g[a>>3]=(+g[b+24>>3]+(f*+g[b>>3]+h*+g[b+8>>3]+e*+g[b+16>>3]))/d;g[a+8>>3]=i/d;c=0}return c|0}function ue(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,h=0,i=0,j=0,k=0.0;j=yb;yb=yb+224|0;h=j+48|0;i=j;f=j+192|0;ve(h,f,c,d);a:do if((we(i,b,f)|0)<0){Se(0,3,20661,j+216|0);b=-1}else{c=0;while(1){if((c|0)==2){b=0;break a}d=0;while(1){if((d|0)==6)break;f=a+(c*48|0)+(d<<3)|0;g[f>>3]=0.0;b=0;e=0.0;while(1){if((b|0)==3)break;k=e+ +g[i+(c*24|0)+(b<<3)>>3]*+g[h+(b*48|0)+(d<<3)>>3];g[f>>3]=k;b=b+1|0;e=k}d=d+1|0}c=c+1|0}}while(0);yb=j;return b|0}function ve(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;j=yb;yb=yb+864|0;h=j+576|0;i=j;u=c+8|0;e=d+8|0;n=+g[e>>3];t=c+16|0;v=d+16|0;l=+g[v>>3];g[b>>3]=+g[c+24>>3]+(+g[c>>3]*+g[d>>3]+ +g[u>>3]*n+ +g[t>>3]*l);s=c+32|0;o=+g[d>>3];r=c+40|0;q=c+48|0;g[b+8>>3]=+g[c+56>>3]+(+g[s>>3]*o+n*+g[r>>3]+l*+g[q>>3]);p=c+64|0;d=c+72|0;n=+g[e>>3];e=c+80|0;g[b+16>>3]=+g[c+88>>3]+(o*+g[p>>3]+ +g[d>>3]*n+l*+g[e>>3]);l=+g[c>>3];g[h>>3]=o*l;g[h+8>>3]=n*l;m=+g[v>>3];g[h+16>>3]=l*m;k=+g[u>>3];g[h+24>>3]=o*k;g[h+32>>3]=n*k;g[h+40>>3]=m*k;f=+g[t>>3];g[h+48>>3]=o*f;g[h+56>>3]=n*f;g[h+64>>3]=m*f;g[h+72>>3]=l;g[h+80>>3]=k;g[h+88>>3]=f;f=+g[s>>3];g[h+96>>3]=o*f;g[h+104>>3]=n*f;g[h+112>>3]=m*f;k=+g[r>>3];g[h+120>>3]=o*k;g[h+128>>3]=n*k;g[h+136>>3]=m*k;l=+g[q>>3];g[h+144>>3]=o*l;g[h+152>>3]=n*l;g[h+160>>3]=m*l;g[h+168>>3]=f;g[h+176>>3]=k;g[h+184>>3]=l;l=+g[p>>3];g[h+192>>3]=o*l;g[h+200>>3]=n*l;g[h+208>>3]=m*l;k=+g[d>>3];g[h+216>>3]=o*k;g[h+224>>3]=n*k;g[h+232>>3]=m*k;f=+g[e>>3];g[h+240>>3]=o*f;g[h+248>>3]=n*f;g[h+256>>3]=m*f;g[h+264>>3]=l;g[h+272>>3]=k;g[h+280>>3]=f;xe(i);c=0;while(1){if((c|0)==3)break;d=0;while(1){if((d|0)==6)break;e=a+(c*48|0)+(d<<3)|0;g[e>>3]=0.0;b=0;f=0.0;while(1){if((b|0)==12)break;o=f+ +g[h+(c*96|0)+(b<<3)>>3]*+g[i+(b*48|0)+(d<<3)>>3];g[e>>3]=o;b=b+1|0;f=o}d=d+1|0}c=c+1|0}yb=j;return}function we(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0,h=0,i=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0.0,p=0,q=0.0,r=0.0;o=+g[b>>3];r=+g[c>>3];p=b+8|0;q=+g[c+8>>3];n=b+16|0;d=+g[c+16>>3];e=+g[b+24>>3]+(o*r+ +g[p>>3]*q+ +g[n>>3]*d);c=b+32|0;f=b+40|0;h=b+48|0;i=+g[b+56>>3]+(r*+g[c>>3]+q*+g[f>>3]+d*+g[h>>3]);j=b+64|0;k=+g[j>>3];l=b+72|0;m=b+80|0;d=+g[b+88>>3]+(r*k+q*+g[l>>3]+d*+g[m>>3]);if(d==0.0)c=-1;else{r=d*d;g[a>>3]=(o*d-e*k)/r;g[a+8>>3]=(d*+g[p>>3]-e*+g[l>>3])/r;g[a+16>>3]=(d*+g[n>>3]-e*+g[m>>3])/r;g[a+24>>3]=(d*+g[c>>3]-i*+g[j>>3])/r;g[a+32>>3]=(d*+g[f>>3]-i*+g[l>>3])/r;g[a+40>>3]=(d*+g[h>>3]-i*+g[m>>3])/r;c=0}return c|0}function xe(a){a=a|0;var b=0,d=0,e=0;b=a+64|0;d=a;e=d+64|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=-1.0;b=a+72|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;g[a+104>>3]=1.0;b=a+160|0;d=a+112|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=1.0;b=a+240|0;d=a+168|0;e=d+72|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=-1.0;b=a+296|0;d=a+248|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=-1.0;b=a+304|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=0;g[a+336>>3]=1.0;b=a+456|0;d=a+344|0;e=d+112|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=1.0;b=a+512|0;d=a+464|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=1.0;b=a+568|0;d=a+520|0;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));g[b>>3]=1.0;return}function ye(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=yb;yb=yb+48|0;h=i+24|0;g=i+12|0;f=i;c[h+4>>2]=6;c[h+8>>2]=1;c[h>>2]=a;c[g+4>>2]=e;c[g+8>>2]=1;c[g>>2]=b;c[f+4>>2]=e;c[f+8>>2]=6;c[f>>2]=d;d=Gd(f)|0;do if(d){b=Ed(d,f)|0;if(!b){Jd(d)|0;a=-1;break}a=Ed(d,g)|0;if(!a){Jd(d)|0;Jd(b)|0;a=-1;break}if((Vd(b)|0)<0){Jd(d)|0;Jd(b)|0;Jd(a)|0;a=-1;break}else{Ld(h,b,a)|0;Jd(d)|0;Jd(b)|0;Jd(a)|0;a=0;break}}else a=-1;while(0);yb=i;return a|0}function ze(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0,h=0,i=0,j=0;j=yb;yb=yb+256|0;f=j+192|0;h=j+96|0;i=j;Ae(f,b);Be(h,f);b=0;while(1){if((b|0)==3)break;d=a+(b<<5)|0;e=a+(b<<5)+8|0;f=a+(b<<5)+16|0;c=0;while(1){if((c|0)==4)break;g[i+(b<<5)+(c<<3)>>3]=+g[d>>3]*+g[h+(c<<3)>>3]+ +g[e>>3]*+g[h+32+(c<<3)>>3]+ +g[f>>3]*+g[h+64+(c<<3)>>3];c=c+1|0}f=i+(b<<5)+24|0;g[f>>3]=+g[a+(b<<5)+24>>3]+ +g[f>>3];b=b+1|0}b=0;while(1){if((b|0)==3)break;c=0;while(1){if((c|0)==4)break;g[a+(b<<5)+(c<<3)>>3]=+g[i+(b<<5)+(c<<3)>>3];c=c+1|0}b=b+1|0}yb=j;return 0}function Ae(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0,f=0,h=0.0;d=+g[b>>3];e=b+8|0;h=+g[e>>3];f=b+16|0;c=+g[f>>3];c=d*d+h*h+c*c;if(c==0.0){g[a>>3]=1.0;g[a+8>>3]=0.0;d=0.0;c=0.0}else{c=+u(+c);g[a>>3]=d/c;g[a+8>>3]=+g[e>>3]/c;d=c;c=+g[f>>3]/c}g[a+16>>3]=c;g[a+24>>3]=d;g[a+32>>3]=+g[b+24>>3];g[a+40>>3]=+g[b+32>>3];g[a+48>>3]=+g[b+40>>3];return}function Be(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0,h=0,i=0.0;c=+g[b+24>>3];e=+w(+c);d=1.0-e;c=+x(+c);i=+g[b>>3];g[a>>3]=e+i*i*d;h=b+8|0;f=b+16|0;g[a+8>>3]=d*(+g[b>>3]*+g[h>>3])-c*+g[f>>3];g[a+16>>3]=d*(+g[b>>3]*+g[f>>3])+c*+g[h>>3];g[a+24>>3]=+g[b+32>>3];g[a+32>>3]=d*(+g[h>>3]*+g[b>>3])+c*+g[f>>3];i=+g[h>>3];g[a+40>>3]=e+d*(i*i);g[a+48>>3]=d*(+g[h>>3]*+g[f>>3])-c*+g[b>>3];g[a+56>>3]=+g[b+40>>3];g[a+64>>3]=d*(+g[f>>3]*+g[b>>3])-c*+g[h>>3];g[a+72>>3]=d*(+g[f>>3]*+g[h>>3])+c*+g[b>>3];c=+g[f>>3];g[a+80>>3]=e+d*(c*c);g[a+88>>3]=+g[b+48>>3];return}function Ce(a){a=a|0;var b=0,d=0,e=0;b=DO(136)|0;if(!b)b=0;else{d=0;while(1){if((d|0)==3)break;e=0;while(1){if((e|0)==4)break;g[b+(d<<5)+(e<<3)>>3]=+g[a+(d<<5)+(e<<3)>>3];e=e+1|0}d=d+1|0}c[b+96>>2]=10;g[b+104>>3]=.10000000149011612;g[b+112>>3]=.9900000095367432;g[b+120>>3]=4.0;g[b+128>>3]=.5}return b|0}function De(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)a=-1;else{EO(b);c[a>>2]=0;a=0}return a|0}function Ee(a,b){a=a|0;b=+b;if(!a)a=-1;else{g[a+128>>3]=b;a=0}return a|0}function Fe(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0;x=yb;yb=yb+176|0;j=x+168|0;i=x+160|0;s=x+144|0;t=x+48|0;u=x;v=b+8|0;h=c[v>>2]|0;do if((h|0)>=3){w=DO(h*96|0)|0;if(!w){Se(0,3,41875,i);h=-1;break}r=DO(h<<4)|0;if(!r){Se(0,3,41875,j);EO(w);h=-1;break}h=0;while(1){if((h|0)==3)break;i=0;while(1){if((i|0)==4)break;g[e+(h<<5)+(i<<3)>>3]=+g[d+(h<<5)+(i<<3)>>3];i=i+1|0}h=h+1|0}d=b+4|0;m=s+8|0;n=a+104|0;o=a+96|0;p=a+120|0;q=a+112|0;l=0.0;j=0;a:while(1){sd(a,e,t)|0;k=0.0;i=0;while(1){h=c[v>>2]|0;if((i|0)>=(h|0))break;if((te(s,t,(c[d>>2]|0)+(i*24|0)|0)|0)<0){i=16;break a}h=c[b>>2]|0;z=+g[h+(i<<4)>>3]-+g[s>>3];y=+g[h+(i<<4)+8>>3]-+g[m>>3];h=i<<1;g[r+(h<<3)>>3]=z;g[r+((h|1)<<3)>>3]=y;k=k+(z*z+y*y);i=i+1|0}k=k/+(h|0);if(k<+g[n>>3]){i=31;break}if((j|0?k<+g[p>>3]:0)?k/l>+g[q>>3]:0){i=31;break}if((j|0)==(c[o>>2]|0)){i=31;break}i=0;while(1){if((i|0)>=(h|0))break;if((ue(w+(i*12<<3)|0,a,e,(c[d>>2]|0)+(i*24|0)|0)|0)<0){i=27;break a}i=i+1|0;h=c[v>>2]|0}if((ye(u,r,w,h<<1)|0)<0){i=29;break}ze(e,u)|0;l=k;j=j+1|0}if((i|0)==16){Ge(w,r);h=-1;break}else if((i|0)==27){Ge(w,r);h=-1;break}else if((i|0)==29){Ge(w,r);h=-1;break}else if((i|0)==31){g[f>>3]=k;EO(w);EO(r);h=0;break}}else h=-1;while(0);yb=x;return h|0}function Ge(a,b){a=a|0;b=b|0;EO(a);EO(b);return}function He(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=yb;yb=yb+192|0;l=F+184|0;k=F+176|0;j=F+168|0;h=F+160|0;A=F+144|0;B=F+48|0;C=F;D=b+8|0;i=c[D>>2]|0;do if((i|0)>=4){m=~~(+g[a+128>>3]*+(i|0))+-1|0;m=(m|0)>3?m:3;E=DO(i*96|0)|0;if(!E){Se(0,3,41875,h);h=-1;break}z=DO(i<<4)|0;if(!z){Se(0,3,41875,j);EO(E);h=-1;break}h=i<<3;y=DO(h)|0;if(!y){Se(0,3,41875,k);EO(E);EO(z);h=-1;break}x=DO(h)|0;if(!x){Se(0,3,41875,l);EO(E);EO(z);EO(y);h=-1;break}h=0;while(1){if((h|0)==3)break;i=0;while(1){if((i|0)==4)break;g[e+(h<<5)+(i<<3)>>3]=+g[d+(h<<5)+(i<<3)>>3];i=i+1|0}h=h+1|0}v=b+4|0;w=A+8|0;d=x+(m<<3)|0;m=a+104|0;s=a+96|0;t=a+120|0;u=a+112|0;q=0.0;l=0;a:while(1){sd(a,e,B)|0;h=0;while(1){i=c[D>>2]|0;if((h|0)>=(i|0))break;if((te(A,B,(c[v>>2]|0)+(h*24|0)|0)|0)<0){i=20;break a}k=c[b>>2]|0;p=+g[k+(h<<4)>>3]-+g[A>>3];r=+g[k+(h<<4)+8>>3]-+g[w>>3];k=h<<1;g[z+(k<<3)>>3]=p;g[z+((k|1)<<3)>>3]=r;r=p*p+r*r;g[x+(h<<3)>>3]=r;g[y+(h<<3)>>3]=r;h=h+1|0}my(x,i,8,18);r=+g[d>>3]*4.0;r=r<16.0?16.0:r;i=c[D>>2]|0;p=r/6.0;o=0.0;h=0;while(1){if((h|0)>=(i|0))break;n=+g[x+(h<<3)>>3];if(n>r)n=p;else{n=1.0-n/r;n=p*(1.0-n*(n*n))}o=o+n;h=h+1|0}o=o/+(i|0);if(o<+g[m>>3]){i=44;break}if((l|0?o<+g[t>>3]:0)?o/q>+g[u>>3]:0){i=44;break}if((l|0)==(c[s>>2]|0)){i=44;break}h=0;k=0;while(1){if((k|0)>=(i|0))break;n=+g[y+(k<<3)>>3];if(n<=r){j=h*6|0;i=E+(j<<3)|0;if((ue(i,a,e,(c[v>>2]|0)+(k*24|0)|0)|0)<0){i=36;break a}q=1.0-n/r;q=q*q;g[i>>3]=q*+g[i>>3];i=E+((j|1)<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+2<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+3<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+4<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+5<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+6<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+7<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+8<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+9<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+10<<3)|0;g[i>>3]=q*+g[i>>3];i=E+(j+11<<3)|0;g[i>>3]=q*+g[i>>3];i=k<<1;g[z+(h<<3)>>3]=q*+g[z+(i<<3)>>3];g[z+(h+1<<3)>>3]=q*+g[z+((i|1)<<3)>>3];h=h+2|0;i=c[D>>2]|0}k=k+1|0}if((h|0)<6){i=40;break}if((ye(C,z,E,h)|0)<0){i=42;break}ze(e,C)|0;q=o;l=l+1|0}if((i|0)==20){Ie(E,z,y,x);h=-1;break}else if((i|0)==36){Ie(E,z,y,x);h=-1;break}else if((i|0)==40){Ie(E,z,y,x);h=-1;break}else if((i|0)==42){Ie(E,z,y,x);h=-1;break}else if((i|0)==44){g[f>>3]=o;EO(E);EO(z);EO(y);EO(x);h=0;break}}else h=-1;while(0);yb=F;return h|0}function Ie(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;EO(a);EO(b);EO(c);EO(d);return}function Je(a,b){a=a|0;b=b|0;var c=0.0;c=+g[a>>3]-+g[b>>3];return (c<0.0?-1:c>0.0&1)|0}function Ke(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0.0,L=0.0,M=0.0,N=0.0,O=0.0;t=yb;yb=yb+128|0;s=t+120|0;p=t+112|0;o=t+104|0;m=t+96|0;l=t+88|0;j=t+80|0;i=t+72|0;r=t;a:do if((e|0)>=4){h=0;while(1){if((h|0)>=(e|0))break;if(+g[d+(h*24|0)+16>>3]!=0.0){h=-1;break a}else h=h+1|0}if((((((((!(+g[a>>3]==0.0)?!(+g[a+32>>3]!=0.0):0)?(q=a+40|0,!(+g[q>>3]==0.0)):0)?!(+g[a+64>>3]!=0.0):0)?!(+g[a+72>>3]!=0.0):0)?!(+g[a+80>>3]!=1.0):0)?!(+g[a+24>>3]!=0.0):0)?!(+g[a+56>>3]!=0.0):0)?!(+g[a+88>>3]!=0.0):0){h=e<<1;n=Bd(h,8)|0;if(!n){Se(0,3,20681,i);h=-1;break}k=Bd(h,1)|0;if(!k){Jd(n)|0;Se(0,3,20707,j);h=-1;break}h=0;while(1){if((h|0)==(e|0))break;y=d+(h*24|0)|0;j=c[n>>2]|0;i=h<<4;g[j+(i<<3)>>3]=+g[y>>3];x=d+(h*24|0)+8|0;g[j+((i|1)<<3)>>3]=+g[x>>3];g[j+((i|2)<<3)>>3]=1.0;g[j+((i|3)<<3)>>3]=0.0;g[j+((i|4)<<3)>>3]=0.0;g[j+((i|5)<<3)>>3]=0.0;w=b+(h<<4)|0;g[j+((i|6)<<3)>>3]=-(+g[y>>3]*+g[w>>3]);g[j+((i|7)<<3)>>3]=-(+g[x>>3]*+g[w>>3]);g[j+((i|8)<<3)>>3]=0.0;g[j+((i|9)<<3)>>3]=0.0;g[j+((i|10)<<3)>>3]=0.0;g[j+((i|11)<<3)>>3]=+g[y>>3];g[j+((i|12)<<3)>>3]=+g[x>>3];g[j+((i|13)<<3)>>3]=1.0;v=b+(h<<4)+8|0;g[j+((i|14)<<3)>>3]=-(+g[y>>3]*+g[v>>3]);g[j+((i|15)<<3)>>3]=-(+g[x>>3]*+g[v>>3]);i=c[k>>2]|0;j=h<<1;g[i+(j<<3)>>3]=+g[w>>3];g[i+((j|1)<<3)>>3]=+g[v>>3];h=h+1|0}b=Gd(n)|0;if(!b){Jd(n)|0;Jd(k)|0;Se(0,3,20733,l);h=-1;break}j=Ed(b,n)|0;if(!j){Jd(n)|0;Jd(k)|0;Jd(b)|0;Se(0,3,20759,m);h=-1;break}i=Ed(b,k)|0;if(!i){Jd(n)|0;Jd(k)|0;Jd(b)|0;Jd(j)|0;Se(0,3,20785,o);h=-1;break}if((Vd(j)|0)<0){Jd(n)|0;Jd(k)|0;Jd(b)|0;Jd(j)|0;Jd(i)|0;Se(0,3,20811,p);h=-1;break}h=Ed(j,i)|0;if(!h){Jd(n)|0;Jd(k)|0;Jd(b)|0;Jd(j)|0;Jd(i)|0;Se(0,3,20837,s);h=-1;break}else{p=c[h>>2]|0;H=+g[p+48>>3];w=r+16|0;E=+g[a+48>>3];A=+g[q>>3];K=(+g[p+24>>3]-H*E)/A;s=r+8|0;D=+g[a+16>>3];C=+g[a+8>>3];B=+g[a>>3];N=(+g[p>>3]-H*D-K*C)/B;I=+g[p+56>>3];v=r+40|0;L=(+g[p+32>>3]-E*I)/A;x=r+32|0;J=(+g[p+8>>3]-D*I-C*L)/B;y=r+24|0;A=(+g[p+40>>3]-E)/A;E=+g[p+16>>3];Jd(n)|0;Jd(k)|0;Jd(b)|0;Jd(j)|0;Jd(i)|0;Jd(h)|0;M=+u(+(H*H+(K*K+N*N)));z=+u(+(I*I+(L*L+J*J)));g[r>>3]=N/M;g[s>>3]=K/M;g[w>>3]=H/M;g[y>>3]=J/z;g[x>>3]=L/z;g[v>>3]=I/z;z=(M+z)*.5;Le(r);M=+g[s>>3];I=+g[v>>3];L=+g[w>>3];J=+g[x>>3];H=M*I-L*J;K=+g[y>>3];N=+g[r>>3];G=L*K-I*N;O=J*N-M*K;F=+u(+(O*O+(H*H+G*G)));H=H/F;g[r+48>>3]=H;G=G/F;g[r+56>>3]=G;F=O/F;g[r+64>>3]=F;g[f>>3]=N;g[f+32>>3]=M;g[f+64>>3]=L;g[f+8>>3]=K;g[f+40>>3]=J;g[f+72>>3]=I;g[f+16>>3]=H;g[f+48>>3]=G;g[f+80>>3]=F;g[f+24>>3]=(E-D-C*A)/B/z;g[f+56>>3]=A/z;g[f+88>>3]=1.0/z;h=0;break}}else h=-1}else h=-1;while(0);yb=t;return h|0}function Le(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0.0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0.0,E=0.0,F=0.0,G=0.0,H=0.0,I=0.0,J=0.0,K=0,L=0,M=0,N=0,O=0,P=0;l=+g[a>>3];L=a+8|0;o=+g[L>>3];M=a+16|0;p=+g[M>>3];N=a+24|0;B=+g[N>>3];O=a+32|0;C=+g[O>>3];K=a+40|0;f=+g[K>>3];b=o*f-p*C;c=p*B-l*f;d=l*C-o*B;e=+u(+(d*d+(b*b+c*c)));do if(!(e==0.0)){m=b/e;k=c/e;j=d/e;A=l*B+o*C+p*f;A=A<0.0?-A:A;A=(+u(+(A+1.0))+ +u(+(1.0-A)))*.5;d=l*k;b=o*m;c=d-b;if(c!=0.0){n=0;y=m;h=l;i=o;z=k;e=p}else{P=l*j-p*m!=0.0;i=P?p:o;h=P?l:p;z=P?j:k;y=P?m:j;d=h*z;c=i*y;n=P?1:2;b=c;c=d-c;e=P?o:l;j=P?k:m}if(!(c==0.0)?(t=(i*j-e*z)/c,v=A*z/c,x=b-d,w=(h*j-e*y)/x,x=A*y/x,r=t*t+w*w+1.0,s=t*v+w*x,q=s*s-r*(v*v+x*x+-1.0),!(q<0.0)):0){d=+u(+q);h=(d-s)/r;i=v+t*h;e=x+w*h;d=(-s-d)/r;c=v+t*d;b=x+w*d;switch(n&3){case 1:{t=b;s=d;q=c;r=e;p=h;o=i;l=y;m=j;b=z;break}case 2:{t=c;s=b;q=d;r=i;p=e;o=h;l=j;m=z;b=y;break}default:{t=d;s=b;q=c;r=h;p=e;o=i;l=y;m=z;b=j}}c=B*m;d=C*l;e=c-d;if(e!=0.0){n=0;h=l;i=B;j=C;k=m}else{P=B*b-f*l!=0.0;j=P?f:C;i=P?B:f;k=P?b:m;h=P?l:b;f=i*k;e=j*h;n=P?1:2;c=f;d=e;e=f-e;f=P?C:B;b=P?m:l}if(!(e==0.0)?(G=(j*b-f*k)/e,H=A*k/e,J=d-c,I=(i*b-f*h)/J,J=A*h/J,E=G*G+I*I+1.0,F=G*H+I*J,D=F*F-E*(H*H+J*J+-1.0),!(D<0.0)):0){j=+u(+D);h=(j-F)/E;d=H+G*h;i=J+I*h;j=(-F-j)/E;c=H+G*j;b=J+I*j;switch(n&3){case 1:{l=b;b=j;j=c;k=i;i=h;h=d;break}case 2:{l=c;k=d;break}default:{l=j;j=c;k=h;h=d}}f=o*h+p*i+r*k;f=f<0.0?-f:f;e=o*j+p*b+r*l;e=e<0.0?-e:e;d=q*h+s*i+t*k;d=d<0.0?-d:d;c=q*j+s*b+t*l;c=c<0.0?-c:c;if(f>3]=o;g[L>>3]=p;g[M>>3]=r;g[N>>3]=h;g[O>>3]=i;g[K>>3]=k;break}else{g[a>>3]=q;g[L>>3]=s;g[M>>3]=t;g[N>>3]=j;g[O>>3]=b;g[K>>3]=l;break}else{g[a>>3]=q;g[L>>3]=s;g[M>>3]=t;if(d>3]=h;g[O>>3]=i;g[K>>3]=k;break}else{g[N>>3]=j;g[O>>3]=b;g[K>>3]=l;break}}else if(e>3]=o;g[L>>3]=p;g[M>>3]=r;g[N>>3]=j;g[O>>3]=b;g[K>>3]=l;break}else{g[a>>3]=q;g[L>>3]=s;g[M>>3]=t;g[N>>3]=j;g[O>>3]=b;g[K>>3]=l;break}else{g[a>>3]=q;g[L>>3]=s;g[M>>3]=t;if(d>3]=h;g[O>>3]=i;g[K>>3]=k;break}else{g[N>>3]=j;g[O>>3]=b;g[K>>3]=l;break}}}}}while(0);return}function Me(a){a=a|0;EO(c[a>>2]|0);EO(a);return 0}function Ne(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +(+Oe(a,b,c,d,0))}function Oe(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,i=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=yb;yb=yb+208|0;w=C+200|0;v=C+192|0;y=C+96|0;x=C;z=e+4|0;i=c[z>>2]|0;u=e+112|0;p=e+120|0;o=0;while(1){if((o|0)>=(i|0))break;q=c[e>>2]|0;r=q+(o*320|0)|0;if(!(c[q+(o*320|0)+4>>2]|0)){j=-1;k=0;while(1){if((k|0)>=(d|0))break;if((c[b+(k<<8)+8>>2]|0)==(c[r>>2]|0)?(l=+g[b+(k<<8)+40>>3],!(l<+g[u>>3])):0)if(!((j|0)!=-1?!(+g[b+(j<<8)+40>>3]>2]=j;if((j|0)>-1)c[b+(j<<8)+16>>2]=c[b+(j<<8)+20>>2]}else{n=q+(o*320|0)+312|0;m=0;j=-1;while(1){if((m|0)>=(d|0))break;k=c[b+(m<<8)+12>>2]|0;if((k|0)==0?(t=b+(m<<8)+248|0,s=c[t>>2]|0,t=c[t+4>>2]|0,!((s|0)==0&(t|0)==0)):0){k=n;if((s|0)==(c[k>>2]|0)?(t|0)==(c[k+4>>2]|0):0)B=20}else if((k|0)==(c[r>>2]|0))B=20;if((B|0)==20){B=0;h=+g[b+(m<<8)+48>>3];if(!(h<+g[p>>3]))if(!((j|0)!=-1?!(+g[b+(j<<8)+48>>3]>2]=j;if((j|0)>-1)c[b+(j<<8)+16>>2]=c[b+(j<<8)+24>>2]}o=o+1|0}p=0;n=0;j=0;o=0;while(1){if((o|0)>=(i|0))break;i=c[e>>2]|0;k=c[i+(o*320|0)+304>>2]|0;do if((k|0)<0){k=p;i=n}else{m=b+(k<<8)|0;if(+Sc(a,m,+g[i+(o*320|0)+8>>3],x)>4.0){c[(c[e>>2]|0)+(o*320|0)+304>>2]=-1;i=b+(k<<8)+236|0;if(c[i>>2]|0){k=p;i=n;break}c[i>>2]=7;k=p;i=n;break}k=c[m>>2]|0;a:do if((p|0)==0|(n|0)<(k|0)){i=0;while(1){if((i|0)==3){i=k;j=o;break a}j=0;while(1){if((j|0)==4)break;g[y+(i<<5)+(j<<3)>>3]=+g[x+(i<<5)+(j<<3)>>3];j=j+1|0}i=i+1|0}}else i=n;while(0);k=p+1|0}while(0);p=k;n=i;o=o+1|0;i=c[z>>2]|0}b:do if((p|0)!=0?(p|0)>=(c[e+128>>2]|0):0){sd(y,(c[e>>2]|0)+(j*320|0)+112|0,x)|0;o=p<<2;q=DO(p<<6)|0;if(!q){Se(0,3,41858,v);Ea(1)}p=DO(p*96|0)|0;if(!p){Se(0,3,41858,w);Ea(1)}n=c[z>>2]|0;m=0;i=0;while(1){if((m|0)>=(n|0))break;j=c[e>>2]|0;k=c[j+(m*320|0)+304>>2]|0;if((k|0)>=0){v=c[b+(k<<8)+16>>2]|0;u=(4-v|0)%4|0;w=i<<3;g[q+(w<<3)>>3]=+g[b+(k<<8)+168+(u<<4)>>3];g[q+((w|1)<<3)>>3]=+g[b+(k<<8)+168+(u<<4)+8>>3];u=(5-v|0)%4|0;g[q+((w|2)<<3)>>3]=+g[b+(k<<8)+168+(u<<4)>>3];g[q+((w|3)<<3)>>3]=+g[b+(k<<8)+168+(u<<4)+8>>3];u=(6-v|0)%4|0;g[q+((w|4)<<3)>>3]=+g[b+(k<<8)+168+(u<<4)>>3];g[q+((w|5)<<3)>>3]=+g[b+(k<<8)+168+(u<<4)+8>>3];v=(7-v|0)%4|0;g[q+((w|6)<<3)>>3]=+g[b+(k<<8)+168+(v<<4)>>3];g[q+((w|7)<<3)>>3]=+g[b+(k<<8)+168+(v<<4)+8>>3];w=i*12|0;g[p+(w<<3)>>3]=+g[j+(m*320|0)+208>>3];g[p+((w|1)<<3)>>3]=+g[j+(m*320|0)+216>>3];g[p+((w|2)<<3)>>3]=+g[j+(m*320|0)+224>>3];g[p+((w|3)<<3)>>3]=+g[j+(m*320|0)+232>>3];g[p+(w+4<<3)>>3]=+g[j+(m*320|0)+240>>3];g[p+(w+5<<3)>>3]=+g[j+(m*320|0)+248>>3];g[p+(w+6<<3)>>3]=+g[j+(m*320|0)+256>>3];g[p+(w+7<<3)>>3]=+g[j+(m*320|0)+264>>3];g[p+(w+8<<3)>>3]=+g[j+(m*320|0)+272>>3];g[p+(w+9<<3)>>3]=+g[j+(m*320|0)+280>>3];g[p+(w+10<<3)>>3]=+g[j+(m*320|0)+288>>3];g[p+(w+11<<3)>>3]=+g[j+(m*320|0)+296>>3];i=i+1|0}m=m+1|0}m=e+104|0;j=(f|0)!=0;if(!(c[m>>2]|0)){i=e+8|0;h=+Uc(a,x,q,p,o,i);if(j&h>=20.0){Ee(c[a>>2]|0,.8)|0;h=+Vc(a,x,q,p,o,i);if(h>=20.0){Ee(c[a>>2]|0,.6)|0;h=+Vc(a,x,q,p,o,i);if(h>=20.0){Ee(c[a>>2]|0,.4)|0;h=+Vc(a,x,q,p,o,i);if(h>=20.0){Ee(c[a>>2]|0,0.0)|0;h=+Vc(a,x,q,p,o,i)}}}}EO(p);EO(q)}else{h=+Uc(a,x,q,p,o,y);k=e+8|0;l=+Uc(a,k,q,p,o,k);i=h>3]=+g[y+(j<<5)+(i<<3)>>3];i=i+1|0}j=j+1|0}}else h=l;while(0);if(h>=20.0){Ee(c[a>>2]|0,.8)|0;h=+Vc(a,x,q,p,o,y);l=+Vc(a,k,q,p,o,k);e:do if(h>3]=+g[y+(j<<5)+(i<<3)>>3];i=i+1|0}j=j+1|0}}else h=l;while(0);if(h>=20.0){Ee(c[a>>2]|0,.6)|0;h=+Vc(a,x,q,p,o,y);l=+Vc(a,k,q,p,o,k);f:do if(h>3]=+g[y+(j<<5)+(i<<3)>>3];i=i+1|0}j=j+1|0}}else h=l;while(0);if(h>=20.0){Ee(c[a>>2]|0,.4)|0;h=+Vc(a,x,q,p,o,y);l=+Vc(a,k,q,p,o,k);g:do if(h>3]=+g[y+(j<<5)+(i<<3)>>3];i=i+1|0}j=j+1|0}}else h=l;while(0);if(h>=20.0){Ee(c[a>>2]|0,0.0)|0;h=+Vc(a,x,q,p,o,y);l=+Vc(a,k,q,p,o,k);if(h>3]=+g[y+(j<<5)+(i<<3)>>3];i=i+1|0}j=j+1|0}}else h=l}}}}}else if(i){i=0;while(1){if((i|0)==3)break c;j=0;while(1){if((j|0)==4)break;g[e+8+(i<<5)+(j<<3)>>3]=+g[y+(i<<5)+(j<<3)>>3];j=j+1|0}i=i+1|0}}else h=l;while(0);EO(p);EO(q)}if(h<20.0){c[m>>2]=1;break}c[m>>2]=0;j=c[z>>2]|0;i=0;while(1){if((i|0)>=(j|0))break b;k=c[(c[e>>2]|0)+(i*320|0)+304>>2]|0;if((k|0)>=0?(A=b+(k<<8)+236|0,(c[A>>2]|0)==0):0)c[A>>2]=8;i=i+1|0}}else B=45;while(0);if((B|0)==45){c[e+104>>2]=0;h=-1.0}yb=C;return +h}function Pe(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return +(+Oe(a,b,c,d,1))}function Qe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0.0,V=0.0;T=yb;yb=yb+2528|0;S=T+2512|0;Q=T+2504|0;G=T+2488|0;P=T+2480|0;F=T+2472|0;E=T+2456|0;O=T+2448|0;D=T+2440|0;N=T+2432|0;M=T+2424|0;L=T+2416|0;C=T+2408|0;h=T+2400|0;f=T+2392|0;H=T+2384|0;e=T+2376|0;d=T+2368|0;z=T+2304|0;I=T+2048|0;J=T;A=T+2524|0;R=T+2520|0;B=T+2516|0;K=pz(a,21853)|0;do if(!K){c[d>>2]=a;Se(0,3,20863,d);d=zy(c[(mx()|0)>>2]|0)|0;c[e>>2]=57671;c[e+4>>2]=d;Se(0,3,21881,e);d=0}else{Re(I,K);c[H>>2]=R;if((Az(I,21887,H)|0)!=1){c[f>>2]=a;Se(0,3,20916,f);vz(K)|0;d=0;break}d=c[R>>2]|0;y=DO(d*320|0)|0;if(!y){Se(0,3,41858,h);Ea(1)}p=(b|0)==0;q=z+8|0;r=z+16|0;s=z+24|0;t=z+32|0;u=z+40|0;v=z+48|0;w=z+56|0;x=0;f=0;a:while(1){if((x|0)>=(d|0)){d=31;break}Re(I,K);d=y+(x*320|0)|0;e=y+(x*320|0)+312|0;c[C>>2]=e;c[C+4>>2]=A;if((Az(I,21017,C)|0)!=1){if(p){d=11;break}if(!(yd(J,a,2048,1)|0)){d=13;break}qA(J,I,2047-(Oy(J)|0)|0)|0;o=qd(b,J)|0;c[d>>2]=o;if((o|0)<0){d=15;break}else{d=1;e=0}}else{e=c[e>>2]|0;c[d>>2]=(e&-32768|0)==0&0==0?e&32767:0;d=2;e=1}c[y+(x*320|0)+4>>2]=e;f=f|d;Re(I,K);e=y+(x*320|0)+8|0;c[D>>2]=e;if((Az(I,21313,D)|0)!=1){d=18;break}Re(I,K);m=y+(x*320|0)+16|0;n=y+(x*320|0)+24|0;o=y+(x*320|0)+40|0;c[E>>2]=m;c[E+4>>2]=n;c[E+8>>2]=y+(x*320|0)+32;c[E+12>>2]=o;if((Az(I,21422,E)|0)==4)d=1;else{c[F>>2]=H;c[F+4>>2]=B;if((Az(I,21438,F)|0)!=2){d=23;break}d=0}do{Re(I,K);c[G>>2]=y+(x*320|0)+16+(d<<5);c[G+4>>2]=y+(x*320|0)+16+(d<<5)+8;c[G+8>>2]=y+(x*320|0)+16+(d<<5)+16;c[G+12>>2]=y+(x*320|0)+16+(d<<5)+24;if((Az(I,21422,G)|0)!=4){d=25;break a}d=d+1|0}while(d>>>0<3);vd(m,y+(x*320|0)+112|0)|0;V=+g[e>>3];U=V*-.5;g[z>>3]=U;V=V*.5;g[q>>3]=V;g[r>>3]=V;g[s>>3]=V;g[t>>3]=V;g[u>>3]=U;g[v>>3]=U;g[w>>3]=U;e=y+(x*320|0)+48|0;h=y+(x*320|0)+56|0;i=y+(x*320|0)+72|0;j=y+(x*320|0)+80|0;k=y+(x*320|0)+88|0;l=y+(x*320|0)+104|0;d=0;while(1){if((d|0)==4)break;U=+g[z+(d<<4)>>3];V=+g[z+(d<<4)+8>>3];g[y+(x*320|0)+208+(d*24|0)>>3]=+g[o>>3]+(+g[m>>3]*U+ +g[n>>3]*V);g[y+(x*320|0)+208+(d*24|0)+8>>3]=+g[i>>3]+(U*+g[e>>3]+V*+g[h>>3]);g[y+(x*320|0)+208+(d*24|0)+16>>3]=+g[l>>3]+(U*+g[j>>3]+V*+g[k>>3]);d=d+1|0}x=x+1|0;d=c[R>>2]|0}if((d|0)==11){c[L>>2]=a;c[L+4>>2]=I;Se(0,3,21024,L)}else if((d|0)==13){c[M>>2]=a;Se(0,3,21152,M)}else if((d|0)==15){c[N>>2]=a;c[N+4>>2]=J;Se(0,3,21236,N)}else if((d|0)==18){c[O>>2]=a;c[O+4>>2]=x+1;Se(0,3,21317,O)}else if((d|0)==23){c[P>>2]=a;c[P+4>>2]=x+1;Se(0,3,21444,P)}else if((d|0)==25){c[Q>>2]=a;c[Q+4>>2]=x+1;Se(0,3,21444,Q)}else if((d|0)==31){vz(K)|0;d=DO(136)|0;if(!d){Se(0,3,41858,S);Ea(1)}c[d>>2]=y;c[d+4>>2]=c[R>>2];c[d+128>>2]=0;c[d+104>>2]=0;do if((f&3|0)!=3){e=d+108|0;if(!(f&1)){c[e>>2]=1;break}else{c[e>>2]=0;break}}else c[d+108>>2]=2;while(0);g[d+112>>3]=.5;g[d+120>>3]=.5;break}vz(K)|0;EO(y);d=0}while(0);yb=T;return d|0}function Re(b,c){b=b|0;c=c|0;var d=0,e=0;a:while(1){if(!(yz(b,256,c)|0))break;d=Oy(b)|0;b:while(1){if(!d)break;d=d+-1|0;e=b+d|0;switch(a[e>>0]|0){case 13:case 10:break;default:break b}a[e>>0]=0}switch(a[b>>0]|0){case 0:case 35:break;default:break a}}return}function Se(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=yb;yb=yb+16|0;b=g;if((e|0)!=0&(c[3916]|0)<=(d|0)?a[e>>0]|0:0){c[b>>2]=f;Te(0,d,e,b)}yb=g;return}function Te(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=yb;yb=yb+32|0;j=l+16|0;b=l;if((!((e|0)==0|(c[3916]|0)>(d|0))?a[e>>0]|0:0)?(c[b>>2]=c[f>>2],k=Hx(0,0,e,b)|0,k|0):0){if(d>>>0<4)b=(Oy(c[1744+(d<<2)>>2]|0)|0)+3|0;else b=0;g=b+k|0;h=g+1|0;i=DO(h)|0;if(b|0){c[j>>2]=c[1744+(d<<2)>>2];$y(i,b+1|0,21553,j)|0}Hx(i+b|0,k+1|0,e,f)|0;do if(0){if(0?(m=c[13864]|0,m>>>0<0):0){b=0+m|0;if(g>>>0>(-4-m+0|0)>>>0){a[b>>0]=46;a[b+1>>0]=46;a[b+2>>0]=46;a[b+3>>0]=0;c[13864]=0;break}else{Uz(b,i,h)|0;c[13864]=(c[13864]|0)+g;break}}}else iz(i,c[4001]|0)|0;while(0);EO(i)}yb=l;return}function Ue(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;do if(b){e=pz(b,22236)|0;if(e){Iz(e,0,2)|0;f=fA(e)|0;Iz(e,0,0)|0;g=f+1|0;b=DO(g)|0;if(!b){vz(e)|0;c[(mx()|0)>>2]=48;b=0;break}if(!(eA(b,f,1,e)|0)){EO(b);vz(e)|0;b=0;break}a[b+f>>0]=0;vz(e)|0;if(d)c[d>>2]=g}else b=0}else{c[(mx()|0)>>2]=28;b=0}while(0);return b|0}function Ve(a,b){a=a|0;b=+b;if(!a)a=-1;else{f[a+40>>2]=b;a=0}return a|0}function We(a,b){a=a|0;b=+b;if(!a)a=-1;else{f[a+44>>2]=b;a=0}return a|0}function Xe(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+24>>2]=b;a=0}return a|0}function Ye(a,b){a=a|0;b=b|0;b=(b|0)<40?b:40;if(!a)b=-1;else{c[a+36>>2]=(b|0)>3?b:3;b=0}return b|0}function Ze(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+28>>2]=b;a=0}return a|0}function _e(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+32>>2]=b;a=0}return a|0}function $e(b,e){b=b|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,C=0;z=yb;yb=yb+16|0;w=b+4|0;x=b+12|0;A=+f[x>>2];y=gz(+(c[w>>2]|0)*e/A)|0;t=b+8|0;u=gz(+(c[t>>2]|0)*e/A)|0;v=DO(16)|0;if(!v){Se(0,3,41858,z);Ea(1)}c[v+4>>2]=y;c[v+8>>2]=u;f[v+12>>2]=e;g=DO(B(u,y)|0)|0;c[v>>2]=g;if(!g){Se(0,3,41858,z+8|0);Ea(1)}h=0;while(1){if((h|0)>=(u|0))break;A=+f[x>>2];s=gz(A*+(h|0)/e)|0;h=h+1|0;r=gz(A*+(h|0)/e)|0;i=c[t>>2]|0;r=(r|0)>(i|0)?i:r;i=0;while(1){if((i|0)>=(y|0))break;A=+f[x>>2];q=gz(A*+(i|0)/e)|0;i=i+1|0;p=gz(A*+(i|0)/e)|0;o=c[w>>2]|0;p=(p|0)>(o|0)?o:p;j=0;k=0;l=s;while(1){if((l|0)>=(r|0))break;m=q;n=(c[b>>2]|0)+((B(l,o)|0)+q)|0;while(1){if((m|0)>=(p|0))break;C=j+(d[n>>0]|0)|0;m=m+1|0;n=n+1|0;j=C;k=k+1|0}l=l+1|0}a[g>>0]=(j|0)/(k|0)|0;g=g+1|0}}yb=z;return v|0}function af(a){a=a|0;var b=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=yb;yb=yb+96|0;m=q+72|0;l=q+64|0;k=q+56|0;j=q+48|0;i=q+40|0;h=q+32|0;g=q+24|0;e=q+16|0;b=q+8|0;n=q+80|0;d=DO((Oy(a)|0)+6|0)|0;if(!d){Se(0,3,41858,q);Ea(1)}c[b>>2]=a;c[b+4>>2]=21589;Fx(d,21584,b)|0;p=pz(d,22236)|0;EO(d);a:do if(!p){c[e>>2]=a;c[e+4>>2]=21589;Se(0,3,21595,e);b=0}else{b=DO(8)|0;if(!b){Se(0,3,41858,g);Ea(1)}d=b+4|0;if((eA(d,4,1,p)|0)==1?(o=c[d>>2]|0,(o|0)>=1):0){c[i>>2]=o;Se(0,1,21668,i);e=o<<2;g=DO(e)|0;c[b>>2]=g;if(!g){Se(0,3,41858,j);Ea(1)}j=DO(16)|0;c[g>>2]=j;if(!j){Se(0,3,41858,k);Ea(1)}d=df(p)|0;if(!d){c[l>>2]=a;c[l+4>>2]=21589;Se(0,2,21698,l);EO(c[g>>2]|0);EO(g);EO(b);gA(p);b=bf(p)|0;break}if((c[d+4>>2]|0)!=1){c[m>>2]=a;c[m+4>>2]=21589;Se(0,2,21698,m);EO(c[g>>2]|0);EO(g);EO(b);EO(d);vz(p)|0;b=0;break}m=c[g>>2]|0;c[m+4>>2]=c[d+8>>2];c[m+8>>2]=c[d+12>>2];c[m+12>>2]=c[d+16>>2];c[m>>2]=c[d>>2];EO(d);Iz(p,4-e|0,2)|0;e=1;while(1){if((e|0)>=(o|0)){d=29;break}if((eA(n,4,1,p)|0)!=1){d=21;break}m=$e(c[g>>2]|0,+f[n>>2])|0;c[g+(e<<2)>>2]=m;if(!m){d=25;break}e=e+1|0}b:do if((d|0)==21){d=0;while(1){if((d|0)==(e|0))break b;o=g+(d<<2)|0;EO(c[c[o>>2]>>2]|0);EO(c[o>>2]|0);d=d+1|0}}else if((d|0)==25){d=0;while(1){if((d|0)==(e|0))break b;o=g+(d<<2)|0;EO(c[c[o>>2]>>2]|0);EO(c[o>>2]|0);d=d+1|0}}else if((d|0)==29){vz(p)|0;break a}while(0);EO(g)}else Se(0,3,21643,h);EO(b);vz(p)|0;b=0}while(0);yb=q;return b|0}function bf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=yb;yb=yb+48|0;h=l+32|0;g=l+24|0;f=l+16|0;e=l+8|0;b=DO(8)|0;if(!b){Se(0,3,41858,l);Ea(1)}d=b+4|0;a:do if((eA(d,4,1,a)|0)==1?(k=c[d>>2]|0,(k|0)>=1):0){j=DO(k<<2)|0;c[b>>2]=j;if(!j){Se(0,3,41858,f);Ea(1)}d=0;while(1){if((d|0)>=(k|0))break;f=DO(16)|0;c[j+(d<<2)>>2]=f;if(!f){i=12;break}else d=d+1|0}if((i|0)==12){Se(0,3,41858,g);Ea(1)}e=0;while(1){if((e|0)>=(k|0)){i=44;break}d=j+(e<<2)|0;if((eA((c[d>>2]|0)+4|0,4,1,a)|0)!=1){i=15;break}if((eA((c[d>>2]|0)+8|0,4,1,a)|0)!=1){i=22;break}if((eA((c[d>>2]|0)+12|0,4,1,a)|0)!=1){i=29;break}i=c[d>>2]|0;i=DO(B(c[i+8>>2]|0,c[i+4>>2]|0)|0)|0;c[c[d>>2]>>2]=i;if(!i){i=36;break}g=c[d>>2]|0;g=eA(c[g>>2]|0,1,B(c[g+8>>2]|0,c[g+4>>2]|0)|0,a)|0;i=c[d>>2]|0;e=e+1|0;if((g|0)!=(B(c[i+8>>2]|0,c[i+4>>2]|0)|0)){i=38;break}}b:do if((i|0)==15){d=0;while(1){if((d|0)==(e|0))break;EO(c[c[j+(d<<2)>>2]>>2]|0);d=d+1|0}d=0;while(1){if((d|0)==(k|0))break b;EO(c[j+(d<<2)>>2]|0);d=d+1|0}}else if((i|0)==22){d=0;while(1){if((d|0)==(e|0))break;EO(c[c[j+(d<<2)>>2]>>2]|0);d=d+1|0}d=0;while(1){if((d|0)==(k|0))break b;EO(c[j+(d<<2)>>2]|0);d=d+1|0}}else if((i|0)==29){d=0;while(1){if((d|0)==(e|0))break;EO(c[c[j+(d<<2)>>2]>>2]|0);d=d+1|0}d=0;while(1){if((d|0)==(k|0))break b;EO(c[j+(d<<2)>>2]|0);d=d+1|0}}else if((i|0)==36){Se(0,3,41858,h);Ea(1)}else if((i|0)==38){d=0;while(1){if((d|0)==(e|0))break;EO(c[c[j+(d<<2)>>2]>>2]|0);d=d+1|0}d=0;while(1){if((d|0)==(k|0))break b;EO(c[j+(d<<2)>>2]|0);d=d+1|0}}else if((i|0)==44){vz(a)|0;break a}while(0);EO(j);i=46}else i=5;while(0);if((i|0)==5){Se(0,3,21643,e);i=46}if((i|0)==46){EO(b);vz(a)|0;b=0}yb=l;return b|0}function cf(a){a=a|0;var b=0,d=0,e=0;if((a|0)!=0?(b=c[a>>2]|0,(b|0)!=0):0){e=0;while(1){d=c[b>>2]|0;if((e|0)>=(c[b+4>>2]|0))break;EO(c[c[d+(e<<2)>>2]>>2]|0);EO(c[(c[c[a>>2]>>2]|0)+(e<<2)>>2]|0);e=e+1|0;b=c[a>>2]|0}EO(d);EO(c[a>>2]|0);c[a>>2]=0;b=0}else b=-1;return b|0}function df(a){a=a|0;var b=0,d=0;d=yb;yb=yb+16|0;b=DO(20)|0;if(!b){Se(0,3,41858,d);Ea(1)}a=ef(a,b+8|0,b+12|0,b+4|0,b+16|0)|0;c[b>>2]=a;if(!a){EO(b);b=0}yb=d;return b|0}function ef(d,e,g,h,k){d=d|0;e=e|0;g=g|0;h=h|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,N=0;N=yb;yb=yb+832|0;z=N+528|0;y=N+520|0;x=N+512|0;A=4;D=DO(40)|0;c[D>>2]=0;C=N+24|0;n=N+536|0;w=N;_O(C|0,0,488)|0;i=0;o=G(63,n|0)|0;l=i;i=0;if((l|0)!=0&(j|0)!=0){m=WO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)!=1){c[C>>2]=o;c[n>>2]=112;D=VO(n+132|0,1,D|0,A|0)|0;A=F()|0;i=0;l=i;i=0;if((l|0)!=0&(j|0)!=0){m=WO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1)m=l;else m=0}else m=l;a:while(1){if(m|0){i=0;J(113,C|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=WO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}i=0;M(8,0,3,21756,x|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=WO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}else{m=7;break}}i=0;L(1,C|0,90,488);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=WO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}i=0;K(39,C|0,d|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=WO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}i=0;m=H(19,C|0,1)|0;l=i;i=0;if((l|0)!=0&(j|0)!=0){n=WO(c[l>>2]|0,D|0,A|0)|0;if(!n)Qa(l|0,j|0);E(j|0)}else n=-1;l=F()|0;if((n|0)==1){m=l;continue}if((m|0)!=1){i=0;M(8,0,3,21782,y|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=WO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}i=0;J(113,C|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=WO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}else{m=14;break}}i=0;G(64,C|0)|0;l=i;i=0;if((l|0)!=0&(j|0)!=0){m=WO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}t=C+36|0;u=C+28|0;s=B(c[u>>2]|0,c[t>>2]|0)|0;v=C+32|0;l=B(s,c[v>>2]|0)|0;i=0;l=G(65,l|0)|0;m=i;i=0;if((m|0)!=0&(j|0)!=0){n=WO(c[m>>2]|0,D|0,A|0)|0;if(!n)Qa(m|0,j|0);E(j|0)}else n=-1;m=F()|0;if((n|0)==1)continue;if(!l){i=0;M(8,0,3,41858,z|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=WO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}i=0;J(113,C|0);l=i;i=0;if((l|0)!=0&(j|0)!=0){m=WO(c[l>>2]|0,D|0,A|0)|0;if(!m)Qa(l|0,j|0);E(j|0)}else m=-1;l=F()|0;if((m|0)==1){m=l;continue}else{m=20;break}}q=C+140|0;r=C+116|0;p=0;while(1){if((c[q>>2]|0)>>>0>=(c[r>>2]|0)>>>0)break;m=0;while(1){if((m|0)==5)break;c[w+(m<<2)>>2]=l+(B(m+p|0,s)|0);m=m+1|0}i=0;n=I(25,C|0,w|0,5)|0;m=i;i=0;if((m|0)!=0&(j|0)!=0){o=WO(c[m>>2]|0,D|0,A|0)|0;if(!o)Qa(m|0,j|0);E(j|0)}else o=-1;m=F()|0;if((o|0)==1)continue a;p=n+p|0}i=0;G(66,C|0)|0;m=i;i=0;if((m|0)!=0&(j|0)!=0){n=WO(c[m>>2]|0,D|0,A|0)|0;if(!n)Qa(m|0,j|0);E(j|0)}else n=-1;m=F()|0;if((n|0)==1)continue;i=0;J(113,C|0);m=i;i=0;if((m|0)!=0&(j|0)!=0){n=WO(c[m>>2]|0,D|0,A|0)|0;if(!n)Qa(m|0,j|0);E(j|0)}else n=-1;m=F()|0;if((n|0)!=1){m=30;break}}b:do if((m|0)==7)l=0;else if((m|0)==14)l=0;else if((m|0)==20)l=0;else if((m|0)==30){if(e|0)c[e>>2]=c[u>>2];if(g|0)c[g>>2]=c[v>>2];if(h|0)c[h>>2]=c[t>>2];if(k){m=a[C+290>>0]|0;switch(m<<24>>24){case 1:{m=b[C+292>>1]|0;if(m<<16>>16==(b[C+294>>1]|0)){f[k>>2]=+(m&65535);break b}break}case 2:{m=b[C+292>>1]|0;if(m<<16>>16==(b[C+294>>1]|0)){f[k>>2]=+(m&65535)*2.5399999618530273;break b}break}default:if(((m&255)>2?(b[C+292>>1]|0)==0:0)?(b[C+294>>1]|0)==0:0){f[k>>2]=+(m&255);break b}}f[k>>2]=0.0}}while(0);EO(D|0);yb=N;return l|0}function ff(a){a=a|0;Qa((c[a>>2]|0)+132|0,1)}function gf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=yb;yb=yb+1088|0;m=o+1072|0;l=o+1064|0;n=o+1056|0;g=o+1048|0;f=o+1040|0;e=o+1032|0;h=o+1024|0;i=o+768|0;j=o+512|0;k=o;c[h>>2]=a;c[h+4>>2]=b;Fx(k,22627,h)|0;k=pz(k,21853)|0;if(!k)a=0;else{a=DO(8)|0;if(!a){Se(0,3,41858,e);Ea(1)}a:do if(hf(i,k)|0){h=a+4|0;c[f>>2]=h;if((Az(i,21887,f)|0)!=1){EO(a);a=0;break}b=c[h>>2]|0;if((b|0)<1){EO(a);a=0;break}f=DO(b*56|0)|0;c[a>>2]=f;if(!f){Se(0,3,41858,g);Ea(1)}f=0;b:while(1){if((f|0)>=(b|0))break a;if(!(hf(i,k)|0)){b=15;break}c[n>>2]=j;if((Az(i,21914,n)|0)!=1){b=17;break}g=qd(d,j)|0;e=c[a>>2]|0;c[e+(f*56|0)+4>>2]=g;if((g|0)<0){b=19;break}if(!(hf(i,k)|0)){b=21;break}c[l>>2]=(c[a>>2]|0)+(f*56|0);if((Az(i,21815,l)|0)!=1){b=24;break}b=0;while(1){if(b>>>0>=3)break;if(!(hf(i,k)|0)){b=27;break b}g=c[a>>2]|0;c[m>>2]=g+(f*56|0)+8+(b<<4);c[m+4>>2]=g+(f*56|0)+8+(b<<4)+4;c[m+8>>2]=g+(f*56|0)+8+(b<<4)+8;c[m+12>>2]=g+(f*56|0)+8+(b<<4)+12;if((Az(i,22080,m)|0)==4)b=b+1|0;else{b=29;break b}}f=f+1|0;b=c[h>>2]|0}if((b|0)==15){EO(c[a>>2]|0);EO(a);a=0;break}else if((b|0)==17){EO(c[a>>2]|0);EO(a);a=0;break}else if((b|0)==19){EO(e);EO(a);a=0;break}else if((b|0)==21){EO(c[a>>2]|0);EO(a);a=0;break}else if((b|0)==24){EO(c[a>>2]|0);EO(a);a=0;break}else if((b|0)==27){EO(c[a>>2]|0);EO(a);a=0;break}else if((b|0)==29){EO(c[a>>2]|0);EO(a);a=0;break}}else{EO(a);a=0}while(0);vz(k)|0}yb=o;return a|0}function hf(b,c){b=b|0;c=c|0;var d=0;a:while(1){d=yz(b,256,c)|0;if(!d){d=0;break}switch(a[b>>0]|0){case 35:case 10:break;default:break a}}return d|0}function jf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=yb;yb=yb+640|0;s=v+624|0;r=v+616|0;q=v+608|0;p=v+600|0;o=v+592|0;n=v+584|0;m=v+576|0;l=v+568|0;k=v+560|0;j=v+552|0;g=v+544|0;f=v+536|0;e=v+528|0;d=v+520|0;i=v+512|0;t=v;c[i>>2]=a;c[i+4>>2]=b;Fx(t,22627,i)|0;t=pz(t,22236)|0;if(!t){c[d>>2]=a;Se(0,3,21818,d);b=0}else{b=DO(8)|0;if(!b){Se(0,3,41858,e);Ea(1)}a=b+4|0;a:do if((eA(a,4,1,t)|0)==1){h=c[a>>2]|0;i=DO(h*20|0)|0;c[b>>2]=i;if(!i){Se(0,3,41858,g);Ea(1)}g=0;b:while(1){if((g|0)>=(h|0))break a;if((eA(i+(g*20|0)+8|0,4,1,t)|0)!=1){u=12;break}if((eA(i+(g*20|0)+12|0,4,1,t)|0)!=1){u=15;break}if((eA(i+(g*20|0)+16|0,4,1,t)|0)!=1){u=17;break}e=i+(g*20|0)+4|0;if((eA(e,4,1,t)|0)!=1){u=19;break}a=c[e>>2]|0;d=DO(a*20|0)|0;f=i+(g*20|0)|0;c[f>>2]=d;if(!d){u=22;break}d=0;while(1){if((d|0)>=(a|0))break;if((eA((c[f>>2]|0)+(d*20|0)|0,4,1,t)|0)!=1){u=25;break b}if((eA((c[f>>2]|0)+(d*20|0)+4|0,4,1,t)|0)!=1){u=27;break b}if((eA((c[f>>2]|0)+(d*20|0)+8|0,4,1,t)|0)!=1){u=29;break b}if((eA((c[f>>2]|0)+(d*20|0)+12|0,4,1,t)|0)!=1){u=31;break b}if((eA((c[f>>2]|0)+(d*20|0)+16|0,4,1,t)|0)!=1){u=34;break b}d=d+1|0;a=c[e>>2]|0}g=g+1|0}switch(u|0){case 12:{Se(0,3,21839,j);break}case 15:{Se(0,3,21839,k);break}case 17:{Se(0,3,21839,l);break}case 19:{Se(0,3,21839,m);break}case 22:{Se(0,3,41858,n);Ea(1);break}case 25:{Se(0,3,21839,o);break}case 27:{Se(0,3,21839,p);break}case 29:{Se(0,3,21839,q);break}case 31:{Se(0,3,21839,r);break}case 34:{Se(0,3,21839,s);break}}a=0;while(1){if((a|0)==(g|0))break;EO(c[i+(a*20|0)>>2]|0);a=a+1|0}EO(i);u=39}else{Se(0,3,21839,f);u=39}while(0);if((u|0)==39){EO(b);b=0}vz(t)|0}yb=v;return b|0}function kf(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(!b)b=-1;else{e=0;while(1){d=c[b>>2]|0;if((e|0)>=(c[b+4>>2]|0))break;EO(c[d+(e*20|0)>>2]|0);e=e+1|0;b=c[a>>2]|0}EO(d);EO(c[a>>2]|0);c[a>>2]=0;b=0}return b|0}function lf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if(!a)mf(0,b,c,d)|0;else mf(a,b,c,d)|0;return 0}function mf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;m=yb;yb=yb+48|0;e=m;if(!a){t=+f[c>>2];w=+f[c+4>>2];s=+f[b>>2];o=t*s;v=+f[b+4>>2];n=w*v;p=+f[b+12>>2];i=+f[b+16>>2];q=t*i;g=+f[b+20>>2];k=w*g;r=+f[b+28>>2];z=+f[b+32>>2];x=t*z;h=+f[b+36>>2];j=w*h;y=+f[b+44>>2];l=y+(x+j);t=t+10.0;j=y+(t*z+j);w=w+10.0;h=y+(x+w*h);g=(r+(q+w*g))/h;h=(p+(o+w*v))/h;i=(r+(t*i+k))/j;j=(p+(t*s+n))/j;k=(r+(q+k))/l;l=(p+(o+n))/l}else{td(a+8|0,b,e)|0;s=+f[c>>2];q=+f[c+4>>2];t=+f[e>>2];y=s*t;r=+f[e+4>>2];z=q*r;x=+f[e+12>>2];i=+f[e+16>>2];w=s*i;g=+f[e+20>>2];k=q*g;v=+f[e+28>>2];n=+f[e+32>>2];p=s*n;h=+f[e+36>>2];j=q*h;o=+f[e+44>>2];l=o+(p+j);s=s+10.0;j=o+(s*n+j);q=q+10.0;h=o+(p+q*h);g=(v+(w+q*g))/h;h=(x+(y+q*r))/h;i=(v+(s*i+k))/j;j=(x+(s*t+z))/j;k=(v+(w+k))/l;l=(x+(y+z))/l}x=j-l;y=i-k;y=x*x+y*y;x=h-l;z=g-k;z=x*x+z*z;e=y>2]=+u(+(e?z:y))*2.5399999618530273;f[d+4>>2]=+u(+(e?y:z))*2.5399999618530273;yb=m;return 0}function nf(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0,z=0,A=0,B=0.0,C=0,D=0,E=0,F=0,G=0;G=yb;yb=yb+32|0;l=G+20|0;j=G+16|0;i=G+12|0;k=G+8|0;C=G+4|0;D=G;a:do if((d|0)<0)d=-1;else switch(d|0){case 0:{q=+((g|0)/8|0|0);r=+((g*7|0)/8|0|0);s=+((h|0)/8|0|0);t=+((h*7|0)/8|0|0);p=+((g|0)/2|0|0);o=+((h|0)/2|0|0);m=0.0;i=0;d=-1;b:while(1){switch(c[a+(i*24|0)+12>>2]|0){case -1:break b;case 0:{n=+f[a+(i*24|0)+16>>2];if((!(nr)?(u=+f[a+(i*24|0)+20>>2],!(ut)):0)?(B=n-p,v=u-o,v=B*B+v*v,v>m):0){m=v;d=i}break}default:{}}i=i+1|0}if((d|0)==-1){d=-1;break a}c[a+(d*24|0)+12>>2]=1;break a}case 1:{r=+((g|0)/8|0|0);p=+((g*7|0)/8|0|0);q=+((h|0)/8|0|0);o=+((h*7|0)/8|0|0);g=e+4|0;d=-1;i=0;m=0.0;c:while(1){switch(c[a+(i*24|0)+12>>2]|0){case -1:break c;case 0:{n=+f[a+(i*24|0)+16>>2];if((!(np)?(s=+f[a+(i*24|0)+20>>2],!(so)):0)?(B=n-+f[e>>2],t=s-+f[g>>2],t=B*B+t*t,t>m):0){d=i;m=t}break}default:{}}i=i+1|0}if((d|0)==-1){d=-1;break a}c[a+(d*24|0)+12>>2]=1;break a}case 2:{r=+((g|0)/8|0|0);p=+((g*7|0)/8|0|0);q=+((h|0)/8|0|0);o=+((h*7|0)/8|0|0);g=e+12|0;j=e+4|0;k=e+8|0;d=-1;i=0;m=0.0;d:while(1){switch(c[a+(i*24|0)+12>>2]|0){case -1:break d;case 0:{n=+f[a+(i*24|0)+16>>2];if((!(np)?(x=+f[a+(i*24|0)+20>>2],!(xo)):0)?(w=+f[e>>2],B=+f[j>>2],w=(n-w)*(+f[g>>2]-B)-(x-B)*(+f[k>>2]-w),w=w*w,w>m):0){d=i;m=w}break}default:{}}i=i+1|0}if((d|0)==-1){d=-1;break a}c[a+(d*24|0)+12>>2]=1;break a}case 3:{of(e,e+8|0,l,j);of(e,e+16|0,i,k);B=+((g|0)/8|0|0);w=+((g*7|0)/8|0|0);x=+((h|0)/8|0|0);v=+((h*7|0)/8|0|0);z=e+24|0;A=e+28|0;u=+f[i>>2];t=+f[j>>2];m=u*t;s=+f[k>>2];r=+f[l>>2];q=s*r;h=!(m-q>=0.0);y=!(q-m>=0.0);l=h?2:1;b=h?1:2;d=-1;k=0;m=0.0;e:while(1){f:do switch(c[a+(k*24|0)+12>>2]|0){case -1:break e;case 0:{n=+f[a+(k*24|0)+16>>2];if(!(nw)?(E=a+(k*24|0)+20|0,q=+f[E>>2],!(qv)):0){f[z>>2]=n;c[A>>2]=c[E>>2];of(e,z,C,D);q=+f[C>>2];if(!h){n=+f[D>>2];if(!(t*q-r*n>=0.0))F=39;else{g=!(s*q-u*n>=0.0);i=g?2:3;g=g?3:2;j=1}}else{n=+f[D>>2];F=39}do if((F|0)==39){F=0;o=s*q;p=u*n;if(y|!(o-p>=0.0))if(p-o>=0.0?!(r*n-t*q>=0.0):1)break f;else{i=b;g=l;j=3;break}else{g=!(t*q-r*n>=0.0);i=g?1:3;g=g?3:1;j=2;break}}while(0);n=+pf(e,j,g,i);if(n>m){d=k;m=n}}break}default:{}}while(0);k=k+1|0}if((d|0)!=-1)c[a+(d*24|0)+12>>2]=1;break a}default:{l=0;g:while(1){d=b+(l*24|0)+12|0;h:do switch(c[d>>2]|0){case -1:break g;case 0:{c[d>>2]=1;i=b+(l*24|0)|0;g=b+(l*24|0)+4|0;j=b+(l*24|0)+8|0;d=0;while(1){k=a+(d*24|0)+12|0;switch(c[k>>2]|0){case -1:break h;case 0:{if(((c[i>>2]|0)==(c[a+(d*24|0)>>2]|0)?(c[g>>2]|0)==(c[a+(d*24|0)+4>>2]|0):0)?(c[j>>2]|0)==(c[a+(d*24|0)+8>>2]|0):0){F=55;break g}break}default:{}}d=d+1|0}}default:{}}while(0);l=l+1|0}if((F|0)==55){c[k>>2]=1;break a}c[b+12>>2]=-1;d=c[13865]|0;if(!d){Yz(Ta(0)|0);d=c[13865]|0}d=d+1|0;c[13865]=(d|0)==128?0:d;d=0;i=0;i:while(1){switch(c[a+(i*24|0)+12>>2]|0){case -1:break i;case 0:{d=d+1|0;break}default:{}}i=i+1|0}if(!d){d=-1;break a}k=~~(+(d|0)*+(Zz()|0)*4.656612873077393e-10);d=0;i=0;j:while(1){g=a+(d*24|0)+12|0;j=c[g>>2]|0;switch(j|0){case -1:{d=j;break a}case 0:{if((i|0)==(k|0))break j;i=i+1|0;break}default:{}}d=d+1|0}c[g>>2]=1;break a}}while(0);yb=G;return d|0}function of(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0.0;g=+f[b>>2]-+f[a>>2];e=+f[b+4>>2]-+f[a+4>>2];g=+u(+(g*g+e*e));if(!(g==0.0)){f[c>>2]=e/g;f[d>>2]=(+f[b>>2]-+f[a>>2])/g}return}function pf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0;c=a+(c<<3)|0;e=+qf(a,a+(b<<3)|0,c);return +(e+ +qf(a,c,a+(d<<3)|0))}function qf(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;d=+f[a>>2];e=+f[a+4>>2];d=((+f[b>>2]-d)*(+f[c+4>>2]-e)-(+f[b+4>>2]-e)*(+f[c>>2]-d))*.5;return +(d<0.0?-d:d)}function rf(b,d,e){b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=yb;yb=yb+1248|0;L=M+1232|0;K=M+1224|0;J=M+1208|0;I=M+1200|0;H=M+1184|0;G=M+1176|0;F=M+1160|0;E=M+1152|0;D=M+1144|0;C=M+1136|0;B=M+1128|0;A=M+1120|0;z=M+1112|0;y=M+1104|0;x=M+1096|0;w=M+1088|0;v=M+1080|0;u=M+1072|0;p=M+1064|0;l=M+1056|0;k=M+1048|0;j=M+1040|0;i=M+1032|0;h=M+1024|0;r=M+768|0;s=M+512|0;t=M+1236|0;g=M;do if(((d|0)!=0?(a[d>>0]|0)!=0:0)?(Dx(d,41063)|0)!=0:0){c[h>>2]=b;c[h+4>>2]=d;Fx(g,22627,h)|0;d=pz(g,21853)|0;if(!d){c[i>>2]=b;Se(0,3,21855,i);q=zy(c[(mx()|0)>>2]|0)|0;c[j>>2]=57671;c[j+4>>2]=q;Se(0,3,21881,j);q=0;break}else{n=d;d=1;m=8;break}}else m=4;while(0);if((m|0)==4){Uz(s,b,255)|0;a[s+255>>0]=0;n=0;d=0;m=8}do if((m|0)==8){o=DO(1140)|0;if(!o){Se(0,3,41858,k);Ea(1)}k=(d|0)!=0;if(k){if(!(sf(r,n)|0)){vz(n)|0;EO(o);q=0;break}c[l>>2]=t;if((Az(r,21887,l)|0)!=1){vz(n)|0;EO(o);q=0;break}d=c[t>>2]|0;if((d|0)<1){vz(n)|0;EO(o);q=0;break}}else d=1;c[o+4>>2]=d;c[o+152>>2]=0;j=DO(d*112|0)|0;c[o>>2]=j;if(!j){Se(0,3,41858,p);Ea(1)}i=(e|0)==0;g=0;a:while(1){c[t>>2]=g;if((g|0)>=(d|0)){m=57;break}c[u>>2]=g+1;Se(0,1,21890,u);if(k){if(!(sf(r,n)|0)){m=57;break}c[v>>2]=s;if((Az(r,21914,v)|0)!=1){m=57;break}Gf(s)|0}Se(0,1,21917,w);p=af(s)|0;c[j+((c[t>>2]|0)*112|0)>>2]=p;if(!p){m=26;break}Se(0,1,21966,y);Se(0,1,21976,z);p=jf(s,41063)|0;c[j+((c[t>>2]|0)*112|0)+4>>2]=p;if(!p){m=29;break}Se(0,1,21966,B);if(i)c[j+((c[t>>2]|0)*112|0)+8>>2]=0;else{Se(0,1,22027,C);Gf(s)|0;p=gf(s,22046,e)|0;c[j+((c[t>>2]|0)*112|0)+8>>2]=p;if(!p){m=33;break}Se(0,1,21966,E)}b:do if(k){if(!(sf(r,n)|0)){m=57;break a}p=c[t>>2]|0;c[F>>2]=j+(p*112|0)+12;c[F+4>>2]=j+(p*112|0)+16;c[F+8>>2]=j+(p*112|0)+20;c[F+12>>2]=j+(p*112|0)+24;if((Az(r,22080,F)|0)!=4){m=40;break a}if(!(sf(r,n)|0)){m=57;break a}p=c[t>>2]|0;c[H>>2]=j+(p*112|0)+28;c[H+4>>2]=j+(p*112|0)+32;c[H+8>>2]=j+(p*112|0)+36;c[H+12>>2]=j+(p*112|0)+40;if((Az(r,22080,H)|0)!=4){m=43;break a}if(!(sf(r,n)|0)){m=57;break a}p=c[t>>2]|0;c[J>>2]=j+(p*112|0)+44;c[J+4>>2]=j+(p*112|0)+48;c[J+8>>2]=j+(p*112|0)+52;c[J+12>>2]=j+(p*112|0)+56;if((Az(r,22080,J)|0)!=4){m=47;break a}g=c[t>>2]|0}else{g=c[t>>2]|0;b=0;while(1){if((b|0)==3)break b;h=0;while(1){if((h|0)==4)break;f[j+(g*112|0)+12+(b<<4)+(h<<2)>>2]=(b|0)==(h|0)?1.0:0.0;h=h+1|0}b=b+1|0}}while(0);wd(j+(g*112|0)+12|0,j+(g*112|0)+60|0)|0;Ff(s,256,22128)|0;g=DO(256)|0;c[j+((c[t>>2]|0)*112|0)+108>>2]=g;if(!g){m=55;break}Uz(g,s,256)|0;g=(c[t>>2]|0)+1|0}if((m|0)==26){c[x>>2]=s;Se(0,3,21935,x);EO(j);EO(o);if(!n){q=0;break}vz(n)|0;q=0;break}else if((m|0)==29){c[A>>2]=s;Se(0,3,21996,A);cf(j+((c[t>>2]|0)*112|0)|0)|0;EO(j);EO(o);if(!n){q=0;break}vz(n)|0;q=0;break}else if((m|0)==33){c[D>>2]=s;Se(0,3,22050,D);kf(j+((c[t>>2]|0)*112|0)+4|0)|0;cf(j+((c[t>>2]|0)*112|0)|0)|0;EO(j);EO(o);if(!n){q=0;break}vz(n)|0;q=0;break}else if((m|0)==40){Se(0,3,22092,G);vz(n)|0;Ea(0)}else if((m|0)==43){Se(0,3,22092,I);vz(n)|0;Ea(0)}else if((m|0)==47){Se(0,3,22092,K);vz(n)|0;Ea(0)}else if((m|0)==55){Se(0,3,41858,L);Ea(1)}else if((m|0)==57){if(n|0)vz(n)|0;if((c[t>>2]|0)>=(d|0)){q=o;break}Ea(0)}}while(0);yb=M;return q|0}function sf(b,c){b=b|0;c=c|0;var d=0;a:while(1){d=yz(b,256,c)|0;if(!d){d=0;break}switch(a[b>>0]|0){case 35:case 10:break;default:break a}}return d|0}function tf(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a)d=-1;else{c[a+152>>2]=1;d=0;while(1){if((d|0)==3)break;e=0;while(1){if((e|0)==4)break;c[a+8+(d<<4)+(e<<2)>>2]=c[b+(d<<4)+(e<<2)>>2];e=e+1|0}d=d+1|0}c[a+168>>2]=-1;d=0}return d|0}function uf(b,e,g,h,i,j,k,l,m,n,o,p){b=b|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=yb;yb=yb+80|0;F=X+8|0;E=X;M=X+72|0;P=X+60|0;R=X+48|0;D=X+36|0;S=X+32|0;T=X+24|0;U=X+16|0;V=j+16|0;A=c[V>>2]|0;W=j+20|0;x=c[W>>2]|0;y=g+-1|0;z=h+-1|0;w=0;while(1){if(w>>>0>=3)break;q=c[m+(w<<3)>>2]|0;if((q|0)<0)break;u=q&-4|2;q=((c[m+(w<<3)+4>>2]|0)/4|0)<<2|2;v=u-k|0;v=(v|0)>0?v:0;u=u+k|0;u=(u|0)<(g|0)?u:y;t=q-l|0;q=q+l|0;q=(q|0)<(h|0)?q:z;t=(t|0)>0?t:0;while(1){if((t|0)>(q|0))break;r=v;s=e+((B(t,g)|0)+v)|0;while(1){if((r|0)>(u|0))break;a[s>>0]=0;r=r+1|0;s=s+1|0}t=t+1|0}w=w+1|0}c[M>>2]=0;C=x<<1;z=A<<1;K=j+12|0;L=j+8|0;r=1;y=0;while(1){if(y>>>0>=3){J=28;break}q=c[m+(y<<3)>>2]|0;if((q|0)<0){J=14;break}x=q&-4|2;u=((c[m+(y<<3)+4>>2]|0)/4|0)<<2|2;v=u+l|0;w=x-k|0;x=x+k|0;q=r;u=u-l|0;a:while(1){if((u|0)>(v|0))break;b:do if((u|0)>=(z|0)){if((u+C|0)>=(h|0))break a;t=B(u,g)|0;s=w;while(1){if((s|0)>(x|0))break b;if((s|0)>=(c[L>>2]<<1|0)){if(((c[K>>2]<<1)+s|0)>=(g|0))break b;r=e+(s+t)|0;if(!(a[r>>0]|0)){a[r>>0]=1;vf(b,g,i,j,s,u,S);wf(s,u,c[S>>2]|0,M,P,R,D);q=0}}s=s+4|0}}while(0);u=u+4|0}r=q;y=y+1|0}if((J|0)==14)if(!r)J=28;else q=-1;if((J|0)==28){I=j+4|0;q=B((c[j>>2]<<3)+32|0,(c[I>>2]<<1)+8|0)|0;H=DO(q)|0;if(!H){Se(0,3,41858,E);Ea(1)}G=DO(q)|0;if(!G){Se(0,3,41858,F);Ea(1)}F=j+36|0;r=0;E=0;q=-1;while(1){if((E|0)>=(c[M>>2]|0))break;u=c[j>>2]|0;s=c[I>>2]|0;c:do if((c[F>>2]|0)==(B(s,u)|0)){switch(i|0){case 5:case 12:case 13:case 14:break;default:{J=40;break c}}l=R+(E<<2)|0;k=c[l>>2]|0;m=k+-3-(c[V>>2]<<1)|0;if((((m|0)>=0?(k+3+(c[W>>2]<<1)|0)<(h|0):0)?(N=P+(E<<2)|0,O=c[N>>2]|0,Q=O+-3-(c[L>>2]<<1)|0,(Q|0)>=0):0)?(O+3+(c[K>>2]<<1)|0)<(g|0):0){k=(s<<1)+6|0;t=(u<<2)+16|0;v=G;w=H;s=0;while(1){if((s|0)>=(t|0))break;c[w>>2]=0;c[v>>2]=0;v=v+4|0;w=w+4|0;s=s+1|0}D=(u<<1)+6|0;e=b+(Q+(B(m,g)|0))|0;z=G;A=H;s=w;C=0;while(1){if((C|0)>=(k|0))break;y=s+8|0;u=v;t=0;while(1){if((t|0)==2)break;c[s>>2]=0;c[u>>2]=0;c[T+(t<<2)>>2]=0;c[U+(t<<2)>>2]=0;u=u+4|0;s=s+4|0;t=t+1|0}x=e;u=z+8|0;w=A+8|0;v=v+8|0;s=y;t=0;while(1){if((t|0)>=(D|0))break;y=t&1;A=T+(y<<2)|0;z=(c[A>>2]|0)+(d[x>>0]|0)|0;c[A>>2]=z;A=d[x>>0]|0;A=B(A,A)|0;y=U+(y<<2)|0;A=A+(c[y>>2]|0)|0;c[y>>2]=A;c[s>>2]=(c[w>>2]|0)+z;c[v>>2]=(c[u>>2]|0)+A;x=x+1|0;u=u+4|0;w=w+4|0;v=v+4|0;s=s+4|0;t=t+1|0}e=e+g|0;z=u;A=w;C=C+1|0}u=0;while(1){if((u|0)==7)break c;v=u+m|0;w=u+2|0;x=u+-3|0;t=0;while(1){if((t|0)==7)break;xf(b,g,t+Q|0,v,j,H,G,t+2|0,w,S);s=c[S>>2]|0;if((s|0)>(r|0)){c[n>>2]=t+-3+(c[N>>2]|0);c[o>>2]=x+(c[l>>2]|0);f[p>>2]=+(s|0)/1.0e4;q=0;r=s}t=t+1|0}u=u+1|0}}else J=40}else J=40;while(0);d:do if((J|0)==40){J=0;v=c[R+(E<<2)>>2]|0;w=v+3|0;x=P+(E<<2)|0;v=v+-3|0;while(1){if((v|0)>(w|0))break d;e:do if((v|0)>=(c[V>>2]<<1|0)){if(((c[W>>2]<<1)+v|0)>=(h|0))break d;t=c[x>>2]|0;u=t+3|0;t=t+-3|0;while(1){if((t|0)>(u|0))break e;if((t|0)>=(c[L>>2]<<1|0)){if(((c[K>>2]<<1)+t|0)>=(g|0))break e;vf(b,g,i,j,t,v,S);s=c[S>>2]|0;if((s|0)>(r|0)){c[n>>2]=t;c[o>>2]=v;f[p>>2]=+(s|0)/1.0e4;r=s;q=0}}t=t+1|0}}while(0);v=v+1|0}}while(0);E=E+1|0}EO(H);EO(G)}yb=X;return q|0}function vf(a,e,f,g,h,i,j){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0;l=c[g+24>>2]|0;a:do switch(f|0){case 5:case 12:case 13:case 14:{s=0-(c[g+8>>2]|0)|0;t=c[g+12>>2]|0;q=0-(c[g+16>>2]|0)|0;v=c[g+20>>2]|0;w=e<<1;m=l;p=a+((s<<1)+h+(B((q<<1)+i|0,e)|0))|0;l=0;f=0;k=0;while(1){if((q|0)>(v|0)){m=l;break a}r=s;n=m;o=p;while(1){if((r|0)>(t|0))break;m=b[n>>1]|0;if(m<<16>>16!=4096){i=d[o>>0]|0;l=l+i|0;f=(B(i,i)|0)+f|0;k=(B(i,m&65535)|0)+k|0}r=r+1|0;n=n+2|0;o=o+2|0}m=n;p=p+w|0;q=q+1|0}}default:{if(f>>>0<2){s=c[g+20>>2]|0;t=g+8|0;v=g+12|0;r=0-(c[g+16>>2]|0)|0;m=0;f=0;k=0;while(1){if((r|0)>(s|0))break a;w=(B((r<<1)+i|0,e)|0)+h|0;p=c[t>>2]|0;q=c[v>>2]|0;o=0-p|0;p=a+((w-(p<<1)|0)*3|0)|0;while(1){if((o|0)>(q|0))break;n=b[l>>1]|0;if(n<<16>>16!=4096){w=(((d[p+1>>0]|0)+(d[p>>0]|0)+(d[p+2>>0]|0)|0)>>>0)/3|0;m=w+m|0;f=(B(w,w)|0)+f|0;k=(B(w,n&65535)|0)+k|0}o=o+1|0;p=p+6|0;l=l+2|0}r=r+1|0}}if((f|1|0)==3){s=c[g+20>>2]|0;t=g+8|0;v=g+12|0;r=0-(c[g+16>>2]|0)|0;m=0;f=0;k=0;while(1){if((r|0)>(s|0))break a;w=(B((r<<1)+i|0,e)|0)+h|0;p=c[t>>2]|0;q=c[v>>2]|0;o=0-p|0;p=a+(w-(p<<1)<<2)|0;while(1){if((o|0)>(q|0))break;n=b[l>>1]|0;if(n<<16>>16!=4096){w=(((d[p+1>>0]|0)+(d[p>>0]|0)+(d[p+2>>0]|0)|0)>>>0)/3|0;m=w+m|0;f=(B(w,w)|0)+f|0;k=(B(w,n&65535)|0)+k|0}o=o+1|0;p=p+8|0;l=l+2|0}r=r+1|0}}if((f|2|0)==6){s=c[g+20>>2]|0;t=g+8|0;v=g+12|0;r=0-(c[g+16>>2]|0)|0;m=l;l=0;f=0;k=0;while(1){if((r|0)>(s|0)){m=l;break a}w=(B((r<<1)+i|0,e)|0)+h|0;p=c[t>>2]|0;q=c[v>>2]|0;o=0-p|0;p=a+(w-(p<<1)<<2)|0;while(1){if((o|0)>(q|0))break;n=b[m>>1]|0;if(n<<16>>16!=4096){w=(((d[p+2>>0]|0)+(d[p+1>>0]|0)+(d[p+3>>0]|0)|0)>>>0)/3|0;l=w+l|0;f=(B(w,w)|0)+f|0;k=(B(w,n&65535)|0)+k|0}o=o+1|0;p=p+8|0;m=m+2|0}r=r+1|0}}switch(f|0){case 7:{s=c[g+20>>2]|0;t=g+8|0;v=g+12|0;m=0;f=0;k=0;r=0-(c[g+16>>2]|0)|0;while(1){if((r|0)>(s|0))break a;w=(B((r<<1)+i|0,e)|0)+h|0;p=c[t>>2]|0;q=c[v>>2]|0;o=0-p|0;p=a+(w-(p<<1)<<1)|0;while(1){if((o|0)>(q|0))break;n=b[l>>1]|0;if(n<<16>>16!=4096){w=d[p+1>>0]|0;m=m+w|0;f=(B(w,w)|0)+f|0;k=(B(w,n&65535)|0)+k|0}o=o+1|0;p=p+4|0;l=l+2|0}r=r+1|0}}case 8:{s=c[g+20>>2]|0;t=g+8|0;v=g+12|0;m=0;f=0;k=0;q=0-(c[g+16>>2]|0)|0;while(1){if((q|0)>(s|0))break a;w=(B((q<<1)+i|0,e)|0)+h|0;p=c[t>>2]|0;r=c[v>>2]|0;o=0-p|0;p=a+(w-(p<<1)<<1)|0;while(1){if((o|0)>(r|0))break;n=b[l>>1]|0;if(n<<16>>16!=4096){w=d[p>>0]|0;m=m+w|0;f=(B(w,w)|0)+f|0;k=(B(w,n&65535)|0)+k|0}l=l+2|0;o=o+1|0;p=p+4|0}q=q+1|0}}default:{m=0;f=0;k=0;break a}}}}while(0);l=c[g+36>>2]|0;f=f-((B(m,m)|0)/(l|0)|0)|0;if(!f)f=0;else{i=(k-((B(c[g+32>>2]|0,m)|0)/(l|0)|0)|0)*100|0;f=(((i|0)/(c[g+28>>2]|0)|0)*100|0)/(~~+u(+(+(f|0)))|0)|0}c[j>>2]=f;return}function wf(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0;i=c[e>>2]|0;do if(!i){c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[e>>2]=1}else{j=0;while(1){if((j|0)>=(i|0))break;if((c[h+(j<<2)>>2]|0)<(d|0))break;j=j+1|0}if((j|0)==(i|0)){if(i>>>0>=3)break;c[f+(i<<2)>>2]=a;c[g+(i<<2)>>2]=b;c[h+(i<<2)>>2]=d;c[e>>2]=(c[e>>2]|0)+1;break}if((i|0)==3)i=2;else c[e>>2]=i+1;while(1){if((i|0)<=(j|0))break;e=i+-1|0;c[f+(i<<2)>>2]=c[f+(e<<2)>>2];c[g+(i<<2)>>2]=c[g+(e<<2)>>2];c[h+(i<<2)>>2]=c[h+(e<<2)>>2];i=e}c[f+(i<<2)>>2]=a;c[g+(i<<2)>>2]=b;c[h+(i<<2)>>2]=d}while(0);return}function xf(a,b,f,g,h,i,j,k,l,m){a=a|0;b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0;o=a+((B(g,b)|0)+f)|0;r=c[h+4>>2]|0;p=b<<1;q=c[h>>2]|0;b=0;a=c[h+24>>2]|0;s=0;while(1){if((b|0)>=(r|0))break;n=0;f=o;g=s;while(1){if((n|0)>=(q|0))break;s=(B(e[a>>1]|0,d[f>>0]|0)|0)+g|0;n=n+1|0;a=a+2|0;f=f+2|0;g=s}b=b+1|0;o=o+p|0;s=g}a=q<<1;q=a+8|0;g=k+-2|0;a=g+a|0;f=l+-2|0;l=B(q,f+(r<<1)|0)|0;f=B(q,f)|0;k=l+a|0;r=f+g|0;l=l+g|0;a=f+a|0;f=(c[i+(r<<2)>>2]|0)+(c[i+(k<<2)>>2]|0)-(c[i+(l<<2)>>2]|0)-(c[i+(a<<2)>>2]|0)|0;g=c[h+36>>2]|0;a=(c[j+(r<<2)>>2]|0)+(c[j+(k<<2)>>2]|0)-(c[j+(l<<2)>>2]|0)-(c[j+(a<<2)>>2]|0)-((B(f,f)|0)/(g|0)|0)|0;if(!a)a=0;else{j=(s-((B(c[h+32>>2]|0,f)|0)/(g|0)|0)|0)*100|0;a=(((j|0)/(c[h+28>>2]|0)|0)*100|0)/(~~+u(+(+(a|0)))|0)|0}c[m>>2]=a;return}function yf(a,b){a=a|0;b=b|0;var d=0,e=0;e=yb;yb=yb+16|0;d=DO(40)|0;if(!d){Se(0,3,41858,e);Ea(1)}c[d+16>>2]=a;c[d+8>>2]=a;c[d+20>>2]=b;c[d+12>>2]=b;b=a+1+b|0;c[d>>2]=b;c[d+4>>2]=b;b=DO(B(b<<1,b)|0)|0;c[d+24>>2]=b;if(!b){Se(0,3,41858,e+8|0);Ea(1)}else{yb=e;return d|0}return 0}function zf(d,e,g,i,j,k){d=d|0;e=e|0;g=g|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0;D=yb;yb=yb+80|0;l=D+60|0;m=D+56|0;z=D+52|0;A=D+48|0;x=D;C=D+64|0;a:do if(!d){x=c[i>>2]|0;y=c[x+(j*20|0)+8>>2]|0;c[l>>2]=y;p=+f[x+(j*20|0)+12>>2];f[m>>2]=p;if((Cf(0,e,(c[h>>2]=y,+f[h>>2]),p,z,A)|0)<0)d=-1;else{s=~~(+f[z>>2]+.5);l=c[k+16>>2]|0;t=k+20|0;v=k+8|0;w=k+12|0;r=i+8|0;q=0-l|0;i=~~(+f[A>>2]+.5)-(l<<1)|0;l=0;j=0;d=0;m=c[k+24>>2]|0;while(1){if((q|0)>(c[t>>2]|0)){n=25;break a}o=c[v>>2]|0;p=+(i|0);n=0-o|0;o=s-(o<<1)|0;while(1){if((n|0)>(c[w>>2]|0))break;if((Ef(0,e,c[(c[g>>2]|0)+(c[r>>2]<<2)>>2]|0,+(o|0),p,C)|0)<0)b[m>>1]=4096;else{A=a[C>>0]|0;b[m>>1]=A&255;A=A&255;l=l+1|0;j=(B(A,A)|0)+j|0;d=d+A|0}n=n+1|0;o=o+2|0;m=m+2|0}q=q+1|0;i=i+2|0}}}else{td(d+8|0,e,x)|0;w=c[i>>2]|0;e=c[w+(j*20|0)+8>>2]|0;c[l>>2]=e;p=+f[w+(j*20|0)+12>>2];f[m>>2]=p;if((Cf(0,x,(c[h>>2]=e,+f[h>>2]),p,l,m)|0)>=0?(y=d+184|0,(me(y,+f[l>>2],+f[m>>2],z,A)|0)>=0):0){s=~~(+f[z>>2]+.5);o=c[k+16>>2]|0;t=k+20|0;v=k+8|0;w=k+12|0;r=i+8|0;l=0;n=0-o|0;o=~~(+f[A>>2]+.5)-(o<<1)|0;j=0;d=0;m=c[k+24>>2]|0;while(1){if((n|0)>(c[t>>2]|0)){n=25;break a}q=c[v>>2]|0;p=+(o|0);i=0-q|0;q=s-(q<<1)|0;while(1){if((i|0)>(c[w>>2]|0))break;do if((ne(y,+(q|0),p,z,A)|0)>=0)if((Ef(0,x,c[(c[g>>2]|0)+(c[r>>2]<<2)>>2]|0,+f[z>>2],+f[A>>2],C)|0)<0){b[m>>1]=4096;break}else{e=a[C>>0]|0;b[m>>1]=e&255;e=e&255;l=l+1|0;j=(B(e,e)|0)+j|0;d=d+e|0;break}else b[m>>1]=4096;while(0);i=i+1|0;q=q+2|0;m=m+2|0}n=n+1|0;o=o+2|0}}else d=-1}while(0);if((n|0)==25)if(!l)d=-1;else{c[k+28>>2]=~~+u(+(+(j-((B(d,d)|0)/(l|0)|0)|0)));c[k+32>>2]=d;c[k+36>>2]=l;d=0}yb=D;return d|0}function Af(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0.0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0;r=yb;yb=yb+32|0;m=r+20|0;n=r+16|0;o=r+12|0;p=r+8|0;j=r+4|0;k=r;l=+f[g+8>>2];i=+f[g+12>>2];if((b|0)!=0?(Cf(a,b,l,i,m,p)|0)>=0:0){c[h>>2]=~~+f[m>>2];c[h+4>>2]=~~+f[p>>2];if((d|0)!=0?(Cf(a,d,l,i,n,j)|0)>=0:0){c[h+8>>2]=~~(+f[m>>2]*2.0-+f[n>>2]);c[h+12>>2]=~~(+f[p>>2]*2.0-+f[j>>2]);if((e|0)!=0?(Cf(a,e,l,i,o,k)|0)>=0:0){c[h+16>>2]=~~(+f[o>>2]+(+f[m>>2]*3.0-+f[n>>2]*3.0));g=~~(+f[k>>2]+(+f[p>>2]*3.0-+f[j>>2]*3.0))}else q=10}else q=9}else{c[h>>2]=-1;c[h+4>>2]=-1;q=9}if((q|0)==9){c[h+8>>2]=-1;c[h+12>>2]=-1;q=10}if((q|0)==10){c[h+16>>2]=-1;g=-1}c[h+20>>2]=g;yb=r;return}function Bf(a,b,c,d,e,g){a=a|0;b=b|0;c=+c;d=+d;e=e|0;g=g|0;var h=0,i=0.0,j=0,k=0,l=0,m=0.0;l=yb;yb=yb+64|0;h=l;j=l+52|0;k=l+48|0;if(a){td(a+8|0,b,h)|0;m=+f[h+44>>2]+(+f[h+32>>2]*c+ +f[h+36>>2]*d);i=(+f[h+12>>2]+(+f[h>>2]*c+ +f[h+4>>2]*d))/m;c=(+f[h+28>>2]+(+f[h+16>>2]*c+ +f[h+20>>2]*d))/m;b=a+184|0;if((me(b,i,c,e,g)|0)>=0?(ne(b,+f[e>>2],+f[g>>2],j,k)|0)>=0:0){i=i-+f[j>>2];m=c-+f[k>>2];b=(i*i+m*m>1.0)<<31>>31}else b=-1}else{i=+f[b+28>>2]+(+f[b+16>>2]*c+ +f[b+20>>2]*d);m=+f[b+44>>2]+(+f[b+32>>2]*c+ +f[b+36>>2]*d);f[e>>2]=(+f[b+12>>2]+(+f[b>>2]*c+ +f[b+4>>2]*d))/m;f[g>>2]=i/m;b=0}yb=l;return b|0}function Cf(a,b,c,d,e,g){a=a|0;b=b|0;c=+c;d=+d;e=e|0;g=g|0;var h=0,i=0,j=0.0,k=0.0;i=yb;yb=yb+48|0;h=i;if(!a){k=+f[b+28>>2]+(+f[b+16>>2]*c+ +f[b+20>>2]*d);j=+f[b+44>>2]+(+f[b+32>>2]*c+ +f[b+36>>2]*d);f[e>>2]=(+f[b+12>>2]+(+f[b>>2]*c+ +f[b+4>>2]*d))/j;f[g>>2]=k/j;a=0}else{td(a+8|0,b,h)|0;k=+f[h+44>>2]+(+f[h+32>>2]*c+ +f[h+36>>2]*d);a=(me(a+184|0,(+f[h+12>>2]+(+f[h>>2]*c+ +f[h+4>>2]*d))/k,(+f[h+28>>2]+(+f[h+16>>2]*c+ +f[h+20>>2]*d))/k,e,g)|0)>>31}yb=i;return a|0}function Df(a,b,c,d,e,g){a=a|0;b=b|0;c=+c;d=+d;e=e|0;g=g|0;var h=0.0,i=0,j=0,k=0.0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0.0;r=yb;yb=yb+64|0;i=r+52|0;j=r+48|0;l=r;if(a)if((ne(a+184|0,c,d,i,j)|0)<0)a=-1;else{td(a+8|0,b,l)|0;h=+f[l+32>>2];k=+f[i>>2];p=+f[l+36>>2];d=+f[j>>2];c=+f[l+44>>2];m=+f[l+12>>2]-k*c;n=p*d-+f[l+20>>2];o=h*d-+f[l+16>>2];p=k*p-+f[l+4>>2];k=h*k-+f[l>>2];h=+f[l+28>>2];c=d*c;q=5}else{k=+f[b+32>>2];p=+f[b+36>>2];s=+f[b+44>>2];m=+f[b+12>>2]-s*c;n=p*d-+f[b+20>>2];o=k*d-+f[b+16>>2];p=p*c-+f[b+4>>2];k=k*c-+f[b>>2];h=+f[b+28>>2];c=s*d;q=5}if((q|0)==5){c=h-c;h=k*n-p*o;if(h==0.0)a=-1;else{f[e>>2]=(n*m-p*c)/h;f[g>>2]=(k*c-o*m)/h;a=0}}yb=r;return a|0}function Ef(b,d,e,g,h,i){b=b|0;d=d|0;e=e|0;g=+g;h=+h;i=i|0;var j=0.0,k=0,l=0,m=0,n=0,o=0,p=0;p=yb;yb=yb+16|0;n=p+4|0;o=p;if((((Df(b,d,g,h,n,o)|0)>=0?(j=+f[e+12>>2],k=~~(+f[n>>2]*j/25.399999618530273+.5),(k|0)>=0):0)?(l=c[e+4>>2]|0,(l|0)>(k|0)):0)?(n=c[e+8>>2]|0,m=~~(+(n|0)-j*+f[o>>2]/25.399999618530273+.5),(m|0)>-1&(n|0)>(m|0)):0){b=(B(l,m)|0)+k|0;a[i>>0]=a[(c[e>>2]|0)+b>>0]|0;b=0}else b=-1;yb=p;return b|0}function Ff(a,b,c){a=a|0;b=b|0;c=c|0;return zd(a,b,c)|0}function Gf(a){a=a|0;return Ad(a)|0}function Hf(a){a=a|0;return If(a,c[a>>2]|0,c[a+4>>2]|0,1)|0}function If(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=yb;yb=yb+16|0;f=FO(1,4156)|0;if(!f){Se(0,3,41858,g);Ea(1)}else{h=rB(4)|0;Gj(h);c[f>>2]=h;c[f+4>>2]=a;c[f+8>>2]=e;c[f+12>>2]=b;c[f+16>>2]=d;c[f+20>>2]=1;c[f+24>>2]=-1;e=f+28|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;yb=g;return f|0}return 0}function Jf(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(!b)b=-1;else{d=c[b>>2]|0;if(d){lk(d);QA(d);b=c[a>>2]|0}d=c[b+28>>2]|0;if(d){EO(d);b=c[a>>2]|0}d=c[b+36>>2]|0;if(d){EO(d);b=c[a>>2]|0}d=c[b+52>>2]|0;if(d){EO(d);b=c[a>>2]|0}d=c[b+44>>2]|0;if(d){EO(d);b=c[a>>2]|0}EO(b);c[a>>2]=0;b=0}return b|0}function Kf(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Nf(b,(c[a+8>>2]|0)-d|0)}return}function Lf(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-20|0;Mf(f);b=f}c[e>>2]=d;f=c[a>>2]|0;Nf(f,(c[a+8>>2]|0)-f|0)}return}function Mf(a){a=a|0;return}function Nf(a,b){a=a|0;b=b|0;Pf(a);return}function Of(a){a=a|0;P(a|0)|0;SA()}function Pf(a){a=a|0;QA(a);return}function Qf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=yb;yb=yb+48|0;r=s+40|0;p=s+32|0;m=s+24|0;k=s+16|0;f=s+8|0;e=s;if((a|0)!=0&(b|0)!=0){e=c[a>>2]|0;do if(!e){e=DO(16)|0;c[a>>2]=e;if(!e){Se(0,3,41858,f);Ea(1)}else{c[e+4>>2]=0;c[e>>2]=0;c[e+12>>2]=0;c[e+8>>2]=0;l=e;d=e;break}}else{l=e;d=e}while(0);f=c[b>>2]|0;if(!f)d=0;else{g=c[l+4>>2]|0;h=c[f+4>>2]|0;i=h+g|0;j=DO(i*132|0)|0;if(!j){Se(0,3,41858,k);Ea(1)}e=0;while(1){if((e|0)>=(g|0))break;YO(j+(e*132|0)|0,(c[l>>2]|0)+(e*132|0)|0,132)|0;e=e+1|0}e=0;while(1){if((e|0)>=(h|0))break;YO(j+((e+g|0)*132|0)|0,(c[f>>2]|0)+(e*132|0)|0,132)|0;e=e+1|0}e=c[l>>2]|0;if(e){EO(e);d=c[a>>2]|0}c[d>>2]=j;h=c[a>>2]|0;c[h+4>>2]=i;k=c[h+12>>2]|0;g=c[b>>2]|0;l=c[g+12>>2]|0;g=g+8|0;h=h+8|0;d=0;f=0;while(1){if((f|0)>=(l|0))break;e=0;while(1){if((e|0)>=(k|0))break;if((c[(c[g>>2]|0)+(f*12|0)+8>>2]|0)==(c[(c[h>>2]|0)+(e*12|0)+8>>2]|0)){q=23;break}else e=e+1|0}if((q|0)==23){q=0;d=d+1|0}f=f+1|0}n=l+k-d|0;o=DO(n*12|0)|0;if(!o){Se(0,3,41858,m);Ea(1)}j=0;while(1){if((j|0)>=(k|0))break;h=(c[a>>2]|0)+8|0;d=c[h>>2]|0;g=d+(j*12|0)+8|0;c[o+(j*12|0)+8>>2]=c[g>>2];d=c[d+(j*12|0)+4>>2]|0;f=0;while(1){if((f|0)>=(l|0))break;e=c[(c[b>>2]|0)+8>>2]|0;if((c[e+(f*12|0)+8>>2]|0)==(c[g>>2]|0))d=(c[e+(f*12|0)+4>>2]|0)+d|0;f=f+1|0}i=o+(j*12|0)|0;m=DO(d*12|0)|0;c[i>>2]=m;if(!m){q=36;break}h=c[(c[h>>2]|0)+(j*12|0)+4>>2]|0;e=0;while(1){if((e|0)>=(h|0))break;g=(c[(c[(c[a>>2]|0)+8>>2]|0)+(j*12|0)>>2]|0)+(e*12|0)|0;m=(c[i>>2]|0)+(e*12|0)|0;c[m>>2]=c[g>>2];c[m+4>>2]=c[g+4>>2];c[m+8>>2]=c[g+8>>2];e=e+1|0}g=0;while(1){if((g|0)>=(l|0))break;e=c[(c[b>>2]|0)+8>>2]|0;if((c[e+(g*12|0)+8>>2]|0)==(c[(c[(c[a>>2]|0)+8>>2]|0)+(j*12|0)+8>>2]|0)){q=43;break}g=g+1|0}a:do if((q|0)==43){q=0;f=0;while(1){if((f|0)>=(c[e+(g*12|0)+4>>2]|0))break a;t=(c[e+(g*12|0)>>2]|0)+(f*12|0)|0;m=(c[i>>2]|0)+((f+h|0)*12|0)|0;c[m>>2]=c[t>>2];c[m+4>>2]=c[t+4>>2];c[m+8>>2]=c[t+8>>2];f=f+1|0;e=c[(c[b>>2]|0)+8>>2]|0}}while(0);c[o+(j*12|0)+4>>2]=d;j=j+1|0}if((q|0)==36){Se(0,3,41858,p);Ea(1)}d=0;j=0;while(1){if((j|0)>=(l|0))break;f=c[(c[b>>2]|0)+8>>2]|0;g=c[f+(j*12|0)+8>>2]|0;e=0;while(1){if((e|0)>=(k|0)){q=53;break}if((g|0)==(c[(c[(c[a>>2]|0)+8>>2]|0)+(e*12|0)+8>>2]|0)){q=52;break}else e=e+1|0}if((q|0)==52){q=0;d=d+1|0}else if((q|0)==53){q=0;h=j+k-d|0;i=o+(h*12|0)|0;c[o+(h*12|0)+8>>2]=g;f=c[f+(j*12|0)+4>>2]|0;t=DO(f*12|0)|0;c[i>>2]=t;if(!t){q=55;break}e=0;while(1){if((e|0)>=(f|0))break;p=(c[(c[(c[b>>2]|0)+8>>2]|0)+(j*12|0)>>2]|0)+(e*12|0)|0;t=(c[i>>2]|0)+(e*12|0)|0;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];e=e+1|0}c[o+(h*12|0)+4>>2]=f}j=j+1|0}if((q|0)==55){Se(0,3,41858,r);Ea(1)}e=c[a>>2]|0;d=e+8|0;g=c[d>>2]|0;if(g){f=0;d=g;while(1){if((f|0)>=(c[e+12>>2]|0))break;EO(c[d+(f*12|0)>>2]|0);t=c[a>>2]|0;f=f+1|0;e=t;d=c[t+8>>2]|0}EO(d);d=(c[a>>2]|0)+8|0}c[d>>2]=o;c[(c[a>>2]|0)+12>>2]=n;Rf(b)|0;d=0}}else{Se(0,3,22132,e);d=-1}yb=s;return d|0}function Rf(a){a=a|0;var b=0,d=0,e=0,f=0;e=yb;yb=yb+16|0;if(a){b=c[a>>2]|0;if(!b)b=0;else{b=c[b>>2]|0;if(b|0)EO(b);b=0;while(1){f=c[a>>2]|0;d=f+8|0;if((b|0)>=(c[f+12>>2]|0))break;EO(c[(c[d>>2]|0)+(b*12|0)>>2]|0);b=b+1|0}EO(c[d>>2]|0);EO(c[a>>2]|0);c[a>>2]=0;b=0}}else{Se(0,3,22192,e);b=-1}yb=e;return b|0}function Sf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=yb;yb=yb+64|0;o=p+56|0;n=p+48|0;l=p+40|0;k=p+32|0;j=p+24|0;i=p+8|0;h=p;g=p+60|0;a[g>>0]=a[22236]|0;a[g+1>>0]=a[22237]|0;a[g+2>>0]=a[22238]|0;a:do if((b|0)!=0&(e|0)!=0){m=Fg(b,d,g)|0;if(!m){f=(d|0)!=0;c[i>>2]=b;c[i+4>>2]=f?46716:57671;c[i+8>>2]=f?d:57671;Se(0,3,22290,i);f=-1;break}i=FO(1,16)|0;if(!i){Se(0,3,41858,j);Ea(1)}h=i+4|0;b:do if((eA(h,4,1,m)|0)==1?(f=c[h>>2]|0,(f|0)>=1):0){j=DO(f*132|0)|0;c[i>>2]=j;if(!j){Se(0,3,41858,k);Ea(1)}g=0;while(1){if((g|0)>=(f|0))break;if((eA((c[i>>2]|0)+(g*132|0)|0,8,1,m)|0)!=1)break b;if((eA((c[i>>2]|0)+(g*132|0)+8|0,8,1,m)|0)!=1)break b;if((eA((c[i>>2]|0)+(g*132|0)+16|0,108,1,m)|0)!=1)break b;if((eA((c[i>>2]|0)+(g*132|0)+124|0,4,1,m)|0)!=1)break b;if((eA((c[i>>2]|0)+(g*132|0)+128|0,4,1,m)|0)!=1)break b;g=g+1|0;f=c[h>>2]|0}b=i+12|0;if((eA(b,4,1,m)|0)==1){f=c[b>>2]|0;if((f|0)<1){c[i+8>>2]=0;break}k=DO(f*12|0)|0;d=i+8|0;c[d>>2]=k;if(!k){Se(0,3,41858,l);Ea(1)}h=0;while(1){if((h|0)>=(f|0)){f=32;break}if((eA((c[d>>2]|0)+(h*12|0)+8|0,4,1,m)|0)!=1)break b;if((eA((c[d>>2]|0)+(h*12|0)+4|0,4,1,m)|0)!=1)break b;l=c[d>>2]|0;f=c[l+(h*12|0)+4>>2]|0;g=DO(f*12|0)|0;c[l+(h*12|0)>>2]=g;if(!g){f=29;break}if((eA(g,12,f,m)|0)!=(f|0))break b;h=h+1|0;f=c[b>>2]|0}if((f|0)==29){Se(0,3,41858,n);Ea(1)}else if((f|0)==32){c[e>>2]=i;vz(m)|0;f=0;break a}}}while(0);Se(0,3,22357,o);f=c[i+8>>2]|0;if(f|0)EO(f);f=c[i>>2]|0;if(f|0)EO(f);EO(i);vz(m)|0;f=-1}else{Se(0,3,22239,h);f=-1}while(0);yb=p;return f|0}function Tf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=yb;yb=yb+16|0;a:do if(!a){Se(0,3,22402,j);e=-1}else{g=c[a+4>>2]|0;i=(b|0)==-1;e=0;while(1){if((e|0)>=(g|0))break;f=(c[a>>2]|0)+(e*132|0)+124|0;h=c[f>>2]|0;if((h|0)==(b|0)|i&(h|0)>-1)c[f>>2]=d;e=e+1|0}h=c[a+12>>2]|0;f=a+8|0;e=0;while(1){if((e|0)>=(h|0)){e=0;break a}g=(c[f>>2]|0)+(e*12|0)+8|0;a=c[g>>2]|0;if((a|0)==(b|0)|i&(a|0)>-1)c[g>>2]=d;e=e+1|0}}while(0);yb=j;return e|0}function Uf(){return -1}function Vf(a,b){a=a|0;b=b|0;return Xf(a,b,Wf(b)|0)|0}function Wf(a){a=a|0;return Oy(a)|0}function Xf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=yb;yb=yb+16|0;g=l+12|0;j=l;k=l+8|0;LE(j,b);if(a[j>>0]|0){h=(c[b>>2]|0)+-12|0;c[k>>2]=c[b+(c[h>>2]|0)+24>>2];h=b+(c[h>>2]|0)|0;i=c[h+4>>2]|0;f=d+e|0;m=Uf()|0;e=h+76|0;if(Yf(m,c[e>>2]|0)|0){GE(g,h);m=VF(g,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,32)|0;WF(g);m=m<<24>>24;c[e>>2]=m;e=m}else e=c[e>>2]|0;c[g>>2]=c[k>>2];if(!(Zf(g,d,(i&176|0)==32?f:d,f,h,e&255)|0)){m=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;EE(m,c[m+16>>2]|5)}}ME(j);yb=l;return b|0}function Yf(a,b){a=a|0;b=b|0;return (a|0)==(b|0)|0}function Zf(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;n=yb;yb=yb+16|0;m=n;i=c[b>>2]|0;a:do if(!i)i=0;else{k=d;j=f-k|0;l=g+12|0;g=c[l>>2]|0;g=(g|0)>(j|0)?g-j|0:0;j=e;k=j-k|0;if((k|0)>0?(Hb[c[(c[i>>2]|0)+48>>2]&63](i,d,k)|0)!=(k|0):0){c[b>>2]=0;i=0;break}do if((g|0)>0){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;fO(m,g,h);if((Hb[c[(c[i>>2]|0)+48>>2]&63](i,(a[m+11>>0]|0)<0?c[m>>2]|0:m,g)|0)==(g|0)){hO(m);break}else{c[b>>2]=0;hO(m);i=0;break a}}while(0);f=f-j|0;if((f|0)>0?(Hb[c[(c[i>>2]|0)+48>>2]&63](i,e,f)|0)!=(f|0):0){c[b>>2]=0;i=0;break}c[l>>2]=0}while(0);yb=n;return i|0}function _f(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=yb;yb=yb+16|0;g=d;i=j;f=e-g|0;if(f>>>0>4294967279)cO(b);if(f>>>0<11){a[b+11>>0]=f;h=b}else{k=f+16&-16;h=rB(k)|0;c[b>>2]=h;c[b+8>>2]=k|-2147483648;c[b+4>>2]=f}f=e-g|0;b=h;while(1){if((d|0)==(e|0))break;$f(b,d);d=d+1|0;b=b+1|0}a[i>>0]=0;$f(h+f|0,i);yb=j;return}function $f(b,c){b=b|0;c=c|0;a[b>>0]=a[c>>0]|0;return}function ag(a){a=a|0;return a&255|0}function bg(a){a=a|0;if(Yf(a,Uf()|0)|0)a=~(Uf()|0);return a|0}function cg(a){a=a|0;return a&255|0}function dg(b,d){b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=yb;yb=yb+112|0;z=A+48|0;p=A+40|0;n=A+32|0;l=A+24|0;h=A+16|0;g=A+8|0;e=A;v=A+96|0;w=A+84|0;x=A+72|0;y=A+52|0;a:do if((b|0)!=0&(d|0)!=0){i=d+4|0;e=c[i>>2]|0;if(!e){Se(0,3,22499,g);e=-1;break}u=b+28|0;g=c[u>>2]|0;if(g){EO(g);e=c[i>>2]|0;if(!e){c[u>>2]=0;e=0}else j=7}else j=7;b:do if((j|0)==7){t=DO(e*132|0)|0;c[u>>2]=t;if(!t){Se(0,3,41858,h);Ea(1)}g=0;while(1){if((g|0)>=(e|0))break b;YO((c[u>>2]|0)+(g*132|0)|0,(c[d>>2]|0)+(g*132|0)|0,132)|0;g=g+1|0;e=c[i>>2]|0}}while(0);m=b+32|0;c[m>>2]=e;t=b+36|0;e=c[t>>2]|0;if(e|0){i=b+40|0;h=0;while(1){if((h|0)>=(c[i>>2]|0))break;g=c[e+(h*12|0)>>2]|0;if(g){EO(g);e=c[t>>2]|0}h=h+1|0}EO(e)}k=d+12|0;e=c[k>>2]|0;c:do if(!e){c[t>>2]=0;o=0}else{s=DO(e*12|0)|0;c[t>>2]=s;if(!s){Se(0,3,41858,l);Ea(1)}d=d+8|0;j=0;while(1){if((j|0)>=(e|0)){o=e;break c}i=c[d>>2]|0;g=c[t>>2]|0;c[g+(j*12|0)+8>>2]=c[i+(j*12|0)+8>>2];h=i+(j*12|0)+4|0;c[g+(j*12|0)+4>>2]=c[h>>2];h=c[h>>2]|0;if(!h)c[i+(j*12|0)>>2]=0;else{s=DO(h*12|0)|0;c[g+(j*12|0)>>2]=s;if(!s)break;g=0;e=i;while(1){if((g|0)>=(c[e+(j*12|0)+4>>2]|0))break;r=(c[e+(j*12|0)>>2]|0)+(g*12|0)|0;s=(c[(c[t>>2]|0)+(j*12|0)>>2]|0)+(g*12|0)|0;c[s>>2]=c[r>>2];c[s+4>>2]=c[r+4>>2];c[s+8>>2]=c[r+8>>2];g=g+1|0;e=c[d>>2]|0}e=c[k>>2]|0}j=j+1|0}Se(0,3,41858,n);Ea(1)}while(0);s=b+40|0;c[s>>2]=o;i=b+52|0;e=c[i>>2]|0;if(e|0){EO(e);c[i>>2]=0;c[b+56>>2]=0}g=c[k>>2]|0;d:do if((g|0)>0){c[b+56>>2]=g;h=DO(g*68|0)|0;c[i>>2]=h;if(!h){Se(0,3,41858,p);Ea(1)}e=0;while(1){if((e|0)==(g|0))break d;c[h+(e*68|0)+64>>2]=0;e=e+1|0}}while(0);l=c[m>>2]|0;if(!l)e=0;else{m=v+4|0;n=v+8|0;o=w+4|0;p=w+8|0;q=x+4|0;r=x+8|0;k=0;e=0;while(1){if((k|0)>=(c[s>>2]|0)){e=0;break a}d=0;while(1){if((d|0)>=(c[(c[t>>2]|0)+(k*12|0)+4>>2]|0))break;c[v>>2]=0;c[m>>2]=0;c[n>>2]=0;c[w>>2]=0;c[o>>2]=0;c[p>>2]=0;c[x>>2]=0;c[q>>2]=0;c[r>>2]=0;j=0;while(1){if((j|0)>=(l|0))break;g=c[u>>2]|0;i=c[t>>2]|0;e:do if((c[g+(j*132|0)+128>>2]|0)==(c[(c[i+(k*12|0)>>2]|0)+(d*12|0)+8>>2]|0)?(c[g+(j*132|0)+124>>2]|0)==(c[i+(k*12|0)+8>>2]|0):0){eg(y,+f[g+(j*132|0)>>2],+f[g+(j*132|0)+4>>2],+f[g+(j*132|0)+112>>2],+f[g+(j*132|0)+116>>2],(c[g+(j*132|0)+120>>2]|0)!=0);g=c[m>>2]|0;if(g>>>0<(c[n>>2]|0)>>>0){c[g>>2]=c[y>>2];c[g+4>>2]=c[y+4>>2];c[g+8>>2]=c[y+8>>2];c[g+12>>2]=c[y+12>>2];c[g+16>>2]=c[y+16>>2];c[m>>2]=g+20}else fg(v,y);Mf(y);g=c[u>>2]|0;gg(y,+f[g+(j*132|0)+8>>2],+f[g+(j*132|0)+12>>2],0.0);g=c[o>>2]|0;if(g>>>0<(c[p>>2]|0)>>>0){c[g>>2]=c[y>>2];c[g+4>>2]=c[y+4>>2];c[g+8>>2]=c[y+8>>2];c[o>>2]=(c[o>>2]|0)+12}else hg(w,y);g=0;while(1){if(g>>>0>=96)break e;h=(c[u>>2]|0)+(j*132|0)+16+g|0;i=c[q>>2]|0;if((i|0)==(c[r>>2]|0))ig(x,h);else{a[i>>0]=a[h>>0]|0;c[q>>2]=(c[q>>2]|0)+1}g=g+1|0}}while(0);j=j+1|0}c[z>>2]=((c[m>>2]|0)-(c[v>>2]|0)|0)/20|0;Se(0,1,22532,z);j=c[t>>2]|0;c[b+60+(e<<2)>>2]=c[j+(k*12|0)+8>>2];j=c[j+(k*12|0)>>2]|0;cm(c[b>>2]|0,v,x,w,c[j+(d*12|0)>>2]|0,c[j+(d*12|0)+4>>2]|0,e);Kf(x);jg(w);Lf(v);d=d+1|0;e=e+1|0}k=k+1|0}}}else{Se(0,3,22451,e);e=-1}while(0);yb=A;return e|0}function eg(b,c,d,e,g,h){b=b|0;c=+c;d=+d;e=+e;g=+g;h=h|0;f[b>>2]=c;f[b+4>>2]=d;f[b+8>>2]=e;f[b+12>>2]=g;a[b+16>>0]=h&1;return}function fg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=yb;yb=yb+32|0;d=h;e=a+4|0;f=(((c[e>>2]|0)-(c[a>>2]|0)|0)/20|0)+1|0;g=sg(a)|0;if(g>>>0>>0)CO(a);else{i=c[a>>2]|0;k=((c[a+8>>2]|0)-i|0)/20|0;j=k<<1;tg(d,k>>>0>>1>>>0?(j>>>0>>0?f:j):g,((c[e>>2]|0)-i|0)/20|0,a+8|0);g=d+8|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[f+12>>2]=c[b+12>>2];c[f+16>>2]=c[b+16>>2];c[g>>2]=(c[g>>2]|0)+20;ug(a,d);vg(d);yb=h;return}}function gg(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;f[a>>2]=b;f[a+4>>2]=c;f[a+8>>2]=d;return}function hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=yb;yb=yb+32|0;d=h;e=a+4|0;f=(((c[e>>2]|0)-(c[a>>2]|0)|0)/12|0)+1|0;g=og(a)|0;if(g>>>0>>0)CO(a);else{i=c[a>>2]|0;k=((c[a+8>>2]|0)-i|0)/12|0;j=k<<1;pg(d,k>>>0>>1>>>0?(j>>>0>>0?f:j):g,((c[e>>2]|0)-i|0)/12|0,a+8|0);g=d+8|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=c[b+4>>2];c[f+8>>2]=c[b+8>>2];c[g>>2]=(c[g>>2]|0)+12;qg(a,d);rg(d);yb=h;return}}function ig(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=yb;yb=yb+32|0;e=i;f=b+4|0;g=(c[f>>2]|0)-(c[b>>2]|0)+1|0;h=kg(b)|0;if(h>>>0>>0)CO(b);else{j=c[b>>2]|0;l=(c[b+8>>2]|0)-j|0;k=l<<1;lg(e,l>>>0>>1>>>0?(k>>>0>>0?g:k):h,(c[f>>2]|0)-j|0,b+8|0);h=e+8|0;a[c[h>>2]>>0]=a[d>>0]|0;c[h>>2]=(c[h>>2]|0)+1;mg(b,e);ng(e);yb=i;return}}function jg(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Nf(b,(c[a+8>>2]|0)-d|0)}return}function kg(a){a=a|0;return 2147483647}function lg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;if(!b)e=0;else e=rB(b)|0;c[a>>2]=e;d=e+d|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+b;return}function mg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-f)|0;c[g>>2]=d;if((f|0)>0){YO(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function ng(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-1|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Nf(b,(c[a+12>>2]|0)-b|0);return}function og(a){a=a|0;return 357913941}function pg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>357913941){f=O(8)|0;bO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=rB(b*12|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*12|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*12|0);return}function qg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(((f|0)/-12|0)*12|0)|0;c[g>>2]=d;if((f|0)>0){YO(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function rg(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-12|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Nf(b,(c[a+12>>2]|0)-b|0);return}function sg(a){a=a|0;return 214748364}function tg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>214748364){f=O(8)|0;bO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=rB(b*20|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*20|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*20|0);return}function ug(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;i=(c[g>>2]|0)+-20|0;h=d+-20|0;c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];c[i+8>>2]=c[h+8>>2];c[i+12>>2]=c[h+12>>2];c[i+16>>2]=c[h+16>>2];c[g>>2]=(c[g>>2]|0)+-20;d=h}i=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=i;i=b+8|0;h=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=h;f=a+8|0;i=b+12|0;h=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=h;c[b>>2]=c[g>>2];return}function vg(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-20|0;c[d>>2]=e;Mf(e)}b=c[a>>2]|0;if(b|0)Nf(b,(c[a+12>>2]|0)-b|0);return}function wg(a,b){a=a|0;b=b|0;var d=0,e=0,h=0,i=0,j=0,k=0.0,l=0.0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=yb;yb=yb+48|0;r=u+16|0;o=u+8|0;d=u;e=u+44|0;h=u+40|0;do if((a|0)!=0&(b|0)!=0){i=c[a+12>>2]|0;j=c[a+16>>2]|0;m=c[a+20>>2]|0;n=(m|0)==1;if(!n){d=zg(b,i,j,m,e,h)|0;if(!d){d=-1;break}else{s=d;t=1}}else{s=b;t=0}Cm(c[a>>2]|0,s,i,j)|0;j=dp(c[a>>2]|0)|0;j=(c[j+4>>2]|0)-(c[j>>2]|0)|0;d=(j|0)/20|0;i=a+48|0;c[i>>2]=d;a:do if(!j){e=c[a+56>>2]|0;b=a+52|0;d=0;while(1){if((d|0)>=(e|0))break a;c[(c[b>>2]|0)+(d*68|0)+60>>2]=-1;d=d+1|0}}else{j=a+44|0;b=c[j>>2]|0;if(b){EO(b);d=c[i>>2]|0}h=DO(d<<3)|0;c[j>>2]=h;if(!h){Se(0,3,41858,o);Ea(1)}e=dp(c[a>>2]|0)|0;b:do if(n){h=a+4|0;d=0;while(1){if((d|0)>=(c[i>>2]|0))break b;b=c[e>>2]|0;k=+f[b+(d*20|0)>>2];l=+f[b+(d*20|0)+4>>2];b=c[h>>2]|0;if(!b){o=c[j>>2]|0;f[o+(d<<3)>>2]=k;f[o+(d<<3)+4>>2]=l}else{o=c[j>>2]|0;ne(b+184|0,k,l,o+(d<<3)|0,o+(d<<3)+4|0)|0}d=d+1|0}}else switch(m|0){case 5:{h=a+4|0;d=0;while(1){if((d|0)>=(c[i>>2]|0))break b;b=c[e>>2]|0;k=+f[b+(d*20|0)>>2];l=+f[b+(d*20|0)+4>>2];b=c[h>>2]|0;if(!b){o=c[j>>2]|0;f[o+(d<<3)>>2]=k*1.5;f[o+(d<<3)+4>>2]=l*1.5}else{o=c[j>>2]|0;ne(b+184|0,k*1.5,l*1.5,o+(d<<3)|0,o+(d<<3)+4|0)|0}d=d+1|0}}case 2:{h=a+4|0;d=0;while(1){if((d|0)>=(c[i>>2]|0))break b;b=c[e>>2]|0;k=+f[b+(d*20|0)>>2];l=+f[b+(d*20|0)+4>>2];b=c[h>>2]|0;if(!b){o=c[j>>2]|0;f[o+(d<<3)>>2]=k*2.0;f[o+(d<<3)+4>>2]=l*2.0}else{o=c[j>>2]|0;ne(b+184|0,k*2.0,l*2.0,o+(d<<3)|0,o+(d<<3)+4|0)|0}d=d+1|0}}case 4:{h=a+4|0;d=0;while(1){if((d|0)>=(c[i>>2]|0))break b;b=c[e>>2]|0;k=+f[b+(d*20|0)>>2];l=+f[b+(d*20|0)+4>>2];b=c[h>>2]|0;if(!b){o=c[j>>2]|0;f[o+(d<<3)>>2]=k*3.0;f[o+(d<<3)+4>>2]=l*3.0}else{o=c[j>>2]|0;ne(b+184|0,k*3.0,l*3.0,o+(d<<3)|0,o+(d<<3)+4|0)|0}d=d+1|0}}default:{h=a+4|0;d=0;while(1){if((d|0)>=(c[i>>2]|0))break b;b=c[e>>2]|0;k=+f[b+(d*20|0)>>2];l=+f[b+(d*20|0)+4>>2];b=c[h>>2]|0;if(!b){o=c[j>>2]|0;f[o+(d<<3)>>2]=k*4.0;f[o+(d<<3)+4>>2]=l*4.0}else{o=c[j>>2]|0;ne(b+184|0,k*4.0,l*4.0,o+(d<<3)|0,o+(d<<3)+4|0)|0}d=d+1|0}}}while(0);i=a+56|0;j=a+36|0;b=a+52|0;d=0;while(1){e=c[i>>2]|0;if((d|0)>=(e|0))break a;o=c[b>>2]|0;c[o+(d*68|0)+48>>2]=c[(c[j>>2]|0)+(d*12|0)+8>>2];c[o+(d*68|0)+60>>2]=-1;if(((c[o+(d*68|0)+64>>2]|0)==0?(p=fp(c[a>>2]|0)|0,q=ap(c[a>>2]|0)|0,(q|0)>=0):0)?(e=c[h>>2]|0,m=cp(c[a>>2]|0,q)|0,n=dp(c[a>>2]|0)|0,o=c[b>>2]|0,(xg(e,p,m,n,o+(d*68|0)|0,o+(d*68|0)+52|0)|0)==0):0){n=c[b>>2]|0;c[n+(d*68|0)+60>>2]=0;o=(c[p+4>>2]|0)-(c[p>>2]|0)>>3;c[n+(d*68|0)+56>>2]=o;c[n+(d*68|0)+48>>2]=c[a+60+(q<<2)>>2];l=+f[n+(d*68|0)+52>>2];c[r>>2]=d;c[r+4>>2]=o;c[r+8>>2]=o;g[r+16>>3]=l;Se(0,1,22587,r)}d=d+1|0}}while(0);d=0;while(1){if((d|0)>=(e|0))break;c[(c[b>>2]|0)+(d*68|0)+64>>2]=0;d=d+1|0}if(!t)d=0;else{EO(s);d=0}}else{Se(0,3,22543,d);d=-1}while(0);yb=u;return d|0}function xg(a,b,d,e,h,i){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0.0;u=yb;yb=yb+240|0;k=u+208|0;j=u+200|0;s=u+224|0;p=u+212|0;q=u+96|0;t=u+192|0;r=u;l=c[b>>2]|0;b=(c[b+4>>2]|0)-l|0;m=b>>3;do if(m>>>0<4)b=-1;else{o=DO(b<<1)|0;if(!o){Se(0,3,41858,j);Ea(1)}n=DO(m*24|0)|0;if(!n){Se(0,3,41858,k);Ea(1)}e=c[e>>2]|0;j=c[d>>2]|0;b=0;while(1){if((b|0)==(m|0))break;d=c[l+(b<<3)>>2]|0;g[o+(b<<4)>>3]=+f[e+(d*20|0)>>2];g[o+(b<<4)+8>>3]=+f[e+(d*20|0)+4>>2];d=c[l+(b<<3)+4>>2]|0;g[n+(b*24|0)>>3]=+f[j+(d*12|0)>>2];g[n+(b*24|0)+8>>3]=+f[j+(d*12|0)+4>>2];g[n+(b*24|0)+16>>3]=0.0;b=b+1|0}c[p+8>>2]=m;c[p>>2]=o;c[p+4>>2]=n;b=a+8|0;if((Ke(b,o,n,m,q)|0)<0){EO(o);EO(n);b=-1;break}b=Ce(b)|0;c[s>>2]=b;if(!b){EO(o);EO(n);b=-1;break}if((Fe(b,p,q,r,t)|0)<0){EO(o);EO(n);De(s)|0;b=-1}else{j=0;while(1){if((j|0)==3)break;b=0;while(1){if((b|0)==4)break;f[h+(j<<4)+(b<<2)>>2]=+g[r+(j<<5)+(b<<3)>>3];b=b+1|0}j=j+1|0}De(s)|0;EO(o);EO(n);v=+g[t>>3];f[i>>2]=v;b=(v>10.0)<<31>>31}}while(0);yb=u;return b|0}function yg(a,b,d){a=a|0;b=b|0;d=d|0;if(!a)a=-1;else{c[b>>2]=c[a+52>>2];c[d>>2]=c[a+56>>2];a=0}return a|0}function zg(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;switch(d|0){case 1:{a=Ag(a,b,c,e,f)|0;break}case 5:{a=Bg(a,b,c,e,f)|0;break}case 2:{a=Cg(a,b,c,e,f)|0;break}case 4:{a=Dg(a,b,c,e,f)|0;break}default:a=Eg(a,b,c,e,f)|0}return a|0}function Ag(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=yb;yb=yb+16|0;c[e>>2]=b;c[f>>2]=d;b=B(d,b)|0;d=DO(b)|0;if(!d){Se(0,3,41858,g);Ea(1)}else{YO(d|0,a|0,b|0)|0;yb=g;return d|0}return 0}function Bg(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=yb;yb=yb+16|0;o=(e|0)/3|0;p=o<<1;c[g>>2]=p;n=(f|0)/3|0;m=n<<1;c[h>>2]=m;m=DO(B(m,p)|0)|0;if(!m){Se(0,3,41858,q);Ea(1)}h=0;f=m;g=m;while(1){if((h|0)>=(n|0))break;l=h*3|0;i=0;j=b+(B(l+2|0,e)|0)|0;k=b+(B(l+1|0,e)|0)|0;l=b+(B(l,e)|0)|0;g=g+p|0;while(1){if((i|0)>=(o|0))break;u=l+1|0;s=k+1|0;a[f>>0]=(((d[u>>0]|0)>>>1&255)+(d[l>>0]|0)+((d[k>>0]|0)>>>1&255)+((d[s>>0]|0)>>>2&255)<<2>>>0)/9|0;r=j+1|0;a[g>>0]=((((d[s>>0]|0)>>>2)+((d[k>>0]|0)>>>1)&255)+(d[j>>0]|0)+((d[r>>0]|0)>>>1&255)<<2>>>0)/9|0;t=k+2|0;a[f+1>>0]=(((d[u>>0]|0)>>>1&255)+(d[l+2>>0]|0)+((d[s>>0]|0)>>>2&255)+((d[t>>0]|0)>>>1&255)<<2>>>0)/9|0;a[g+1>>0]=((((d[t>>0]|0)>>>1)+((d[s>>0]|0)>>>2)&255)+((d[r>>0]|0)>>>1&255)+(d[j+2>>0]|0)<<2>>>0)/9|0;i=i+1|0;j=j+3|0;k=k+3|0;l=l+3|0;f=f+2|0;g=g+2|0}h=h+1|0;f=f+p|0}yb=q;return m|0}function Cg(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;n=yb;yb=yb+16|0;m=(e|0)/2|0;c[g>>2]=m;l=(f|0)/2|0;c[h>>2]=l;k=DO(B(l,m)|0)|0;if(!k){Se(0,3,41858,n);Ea(1)}g=0;f=k;while(1){if((g|0)>=(l|0))break;j=g<<1;h=0;i=b+(B(j,e)|0)|0;j=b+(B(j|1,e)|0)|0;while(1){if((h|0)>=(m|0))break;a[f>>0]=((d[i+1>>0]|0)+(d[i>>0]|0)+(d[j>>0]|0)+(d[j+1>>0]|0)|0)>>>2;h=h+1|0;i=i+2|0;j=j+2|0;f=f+1|0}g=g+1|0}yb=n;return k|0}function Dg(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=yb;yb=yb+16|0;n=(e|0)/3|0;c[g>>2]=n;m=(f|0)/3|0;c[h>>2]=m;l=DO(B(m,n)|0)|0;if(!l){Se(0,3,41858,o);Ea(1)}g=0;f=l;while(1){if((g|0)>=(m|0))break;k=g*3|0;h=0;i=b+(B(k,e)|0)|0;j=b+(B(k+2|0,e)|0)|0;k=b+(B(k+1|0,e)|0)|0;while(1){if((h|0)>=(n|0))break;a[f>>0]=((d[i+1>>0]|0)+(d[i>>0]|0)+(d[i+2>>0]|0)+(d[k>>0]|0)+(d[k+1>>0]|0)+(d[k+2>>0]|0)+(d[j>>0]|0)+(d[j+1>>0]|0)+(d[j+2>>0]|0)|0)/9|0;h=h+1|0;i=i+3|0;j=j+3|0;k=k+3|0;f=f+1|0}g=g+1|0}yb=o;return l|0}function Eg(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=yb;yb=yb+16|0;o=(e|0)/4|0;c[g>>2]=o;n=(f|0)/4|0;c[h>>2]=n;m=DO(B(n,o)|0)|0;if(!m){Se(0,3,41858,p);Ea(1)}g=0;f=m;while(1){if((g|0)>=(n|0))break;l=g<<2;h=0;i=b+(B(l,e)|0)|0;j=b+(B(l|3,e)|0)|0;k=b+(B(l|2,e)|0)|0;l=b+(B(l|1,e)|0)|0;while(1){if((h|0)>=(o|0))break;a[f>>0]=((d[i+1>>0]|0)+(d[i>>0]|0)+(d[i+2>>0]|0)+(d[i+3>>0]|0)+(d[l>>0]|0)+(d[l+1>>0]|0)+(d[l+2>>0]|0)+(d[l+3>>0]|0)+(d[k>>0]|0)+(d[k+1>>0]|0)+(d[k+2>>0]|0)+(d[k+3>>0]|0)+(d[j>>0]|0)+(d[j+1>>0]|0)+(d[j+2>>0]|0)+(d[j+3>>0]|0)|0)/16|0;h=h+1|0;i=i+4|0;j=j+4|0;k=k+4|0;l=l+4|0;f=f+1|0}g=g+1|0}yb=p;return m|0}function Fg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=yb;yb=yb+16|0;h=i+8|0;g=i;do if(a){if(!b){e=pz(a,d)|0;break}f=Oy(a)|0;f=DO(f+2+(Oy(b)|0)|0)|0;if(!f){Se(0,3,41858,g);Ea(1)}else{c[h>>2]=a;c[h+4>>2]=b;Fx(f,22627,h)|0;e=pz(f,d)|0;EO(f);break}}else e=0;while(0);yb=i;return e|0}function Gg(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;return}function Hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=yb;yb=yb+16|0;d=m;if(!(Ig(b)|0)){l=Vf(Vf(NE(Vf(Vf(Vf(56032,22633)|0,22676)|0,35e3)|0,53)|0,35007)|0,22771)|0;GE(d,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=VF(d,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(d);OE(l,k)|0;KE(l)|0;ua()}i=Kg(Jg(b,0,0)|0)|0;j=Lg(Jg(b,0,0)|0)|0;k=Mg(Jg(b,0,0)|0)|0;l=a+12|0;c[l>>2]=Ng(b)|0;b=(Og(b)|0)+-1|0;e=a+16|0;c[e>>2]=b;Pg(a,B(c[l>>2]|0,b)|0);b=0;while(1){if(b>>>0>=(c[l>>2]|0)>>>0)break;f=j>>>b;g=k>>>b;d=0;while(1){h=c[e>>2]|0;if(d>>>0>=h>>>0)break;h=(B(h,b)|0)+d|0;aq((c[a>>2]|0)+(h<<5)|0,i,f,g,-1,1);d=d+1|0}b=b+1|0}yb=m;return}function Ig(a){a=a|0;return (c[a+8>>2]|0)-(c[a+4>>2]|0)>>5|0}function Jg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=yb;yb=yb+16|0;f=g;if((c[a+16>>2]|0)>>>0<=b>>>0){e=Vf(Vf(NE(Vf(Vf(Vf(56032,34017)|0,33900)|0,35e3)|0,218)|0,35007)|0,22796)|0;GE(f,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);h=VF(f,56736)|0;h=Gb[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;WF(f);OE(e,h)|0;KE(e)|0;ua()}e=c[a+20>>2]|0;if(e>>>0>d>>>0){h=(B(e,b)|0)+d|0;yb=g;return (c[a+4>>2]|0)+(h<<5)|0}else{h=Vf(Vf(NE(Vf(Vf(Vf(56032,34161)|0,33900)|0,35e3)|0,219)|0,35007)|0,22816)|0;GE(f,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);g=VF(f,56736)|0;g=Gb[c[(c[g>>2]|0)+28>>2]&63](g,10)|0;WF(f);OE(h,g)|0;KE(h)|0;ua()}return 0}function Kg(a){a=a|0;return c[a>>2]|0}function Lg(a){a=a|0;return c[a+4>>2]|0}function Mg(a){a=a|0;return c[a+8>>2]|0}function Ng(a){a=a|0;return c[a+16>>2]|0}function Og(a){a=a|0;return c[a+20>>2]|0}function Pg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+4|0;d=c[g>>2]|0;f=c[a>>2]|0;e=d-f>>5;if(e>>>0>=b>>>0){if(e>>>0>b>>>0){a=f+(b<<5)|0;while(1){if((d|0)==(a|0))break;f=d+-32|0;pq(f);d=f}c[g>>2]=a}}else Qg(a,b-e|0);return}function Qg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=yb;yb=yb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>5>>>0>>0){d=(d-(c[a>>2]|0)>>5)+b|0;e=Sg(a)|0;if(e>>>0>>0)CO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>4;Tg(f,k>>5>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>5,a+8|0);Ug(f,b);Vg(a,f);Wg(f);break}}else Rg(a,b);while(0);yb=i;return}function Rg(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{Yp(b);b=(c[d>>2]|0)+32|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Sg(a){a=a|0;return 134217727}function Tg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>134217727){f=O(8)|0;bO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=rB(b<<5)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<5)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<5);return}function Ug(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=b;b=c[d>>2]|0;do{Yp(b);b=(c[d>>2]|0)+32|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Vg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;h=d+-32|0;$p((c[g>>2]|0)+-32|0,h);c[g>>2]=(c[g>>2]|0)+-32;d=h}e=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=e;e=b+8|0;h=c[f>>2]|0;c[f>>2]=c[e>>2];c[e>>2]=h;e=a+8|0;h=b+12|0;f=c[e>>2]|0;c[e>>2]=c[h>>2];c[h>>2]=f;c[b>>2]=c[g>>2];return}function Wg(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-32|0;c[d>>2]=e;pq(e)}b=c[a>>2]|0;if(b|0)Nf(b,(c[a+12>>2]|0)-b|0);return}function Xg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=yb;yb=yb+16|0;d=h;if((c[a+4>>2]|0)==(c[a>>2]|0)){g=Vf(Vf(NE(Vf(Vf(Vf(56032,22835)|0,22676)|0,35e3)|0,72)|0,35007)|0,22877)|0;GE(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=VF(d,56736)|0;f=Gb[c[(c[f>>2]|0)+28>>2]&63](f,10)|0;WF(d);OE(g,f)|0;KE(g)|0;ua()}if((Ng(b)|0)<=0){g=Vf(Vf(NE(Vf(Vf(Vf(56032,22918)|0,22676)|0,35e3)|0,73)|0,35007)|0,22967)|0;GE(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=VF(d,56736)|0;f=Gb[c[(c[f>>2]|0)+28>>2]&63](f,10)|0;WF(d);OE(g,f)|0;KE(g)|0;ua()}if(b|0?LA(b,13184,13192,0)|0:0){f=a+12|0;g=a+16|0;e=0;while(1){if(e>>>0>=(c[f>>2]|0)>>>0)break;d=0;while(1){if(d>>>0>=(c[g>>2]|0)>>>0)break;k=Yg(a,e,d)|0;j=Jg(b,e,d)|0;i=d+1|0;Zg(0,k,j,Jg(b,e,i)|0);d=i}e=e+1|0}yb=h;return}k=Vf(Vf(NE(Vf(Vf(Vf(56032,23003)|0,22676)|0,35e3)|0,74)|0,35007)|0,23075)|0;GE(d,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);j=VF(d,56736)|0;j=Gb[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;WF(d);OE(k,j)|0;KE(k)|0;ua()}function Yg(a,b,d){a=a|0;b=b|0;d=d|0;d=(B(c[a+16>>2]|0,b)|0)+d|0;return (c[a>>2]|0)+(d<<5)|0}function Zg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0;k=yb;yb=yb+16|0;a=k;if((Kg(b)|0)!=2){j=Vf(Vf(NE(Vf(Vf(Vf(56032,23110)|0,22676)|0,35e3)|0,86)|0,35007)|0,23155)|0;GE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=VF(a,56736)|0;i=Gb[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;WF(a);OE(j,i)|0;KE(j)|0;ua()}if((Kg(d)|0)!=2){j=Vf(Vf(NE(Vf(Vf(Vf(56032,23181)|0,22676)|0,35e3)|0,87)|0,35007)|0,23155)|0;GE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=VF(a,56736)|0;i=Gb[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;WF(a);OE(j,i)|0;KE(j)|0;ua()}if((Kg(e)|0)!=2){j=Vf(Vf(NE(Vf(Vf(Vf(56032,23228)|0,22676)|0,35e3)|0,88)|0,35007)|0,23155)|0;GE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=VF(a,56736)|0;i=Gb[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;WF(a);OE(j,i)|0;KE(j)|0;ua()}if((_g(b)|0)!=1){j=Vf(Vf(NE(Vf(Vf(Vf(56032,23275)|0,22676)|0,35e3)|0,89)|0,35007)|0,23316)|0;GE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=VF(a,56736)|0;i=Gb[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;WF(a);OE(j,i)|0;KE(j)|0;ua()}if((_g(d)|0)!=1){j=Vf(Vf(NE(Vf(Vf(Vf(56032,23353)|0,22676)|0,35e3)|0,90)|0,35007)|0,23316)|0;GE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=VF(a,56736)|0;i=Gb[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;WF(a);OE(j,i)|0;KE(j)|0;ua()}if((_g(e)|0)!=1){j=Vf(Vf(NE(Vf(Vf(Vf(56032,23396)|0,22676)|0,35e3)|0,91)|0,35007)|0,23316)|0;GE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=VF(a,56736)|0;i=Gb[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;WF(a);OE(j,i)|0;KE(j)|0;ua()}j=Lg(b)|0;if((j|0)!=(Lg(e)|0)){j=Vf(Vf(NE(Vf(Vf(Vf(56032,23439)|0,22676)|0,35e3)|0,92)|0,35007)|0,23487)|0;GE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=VF(a,56736)|0;i=Gb[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;WF(a);OE(j,i)|0;KE(j)|0;ua()}j=Mg(b)|0;if((j|0)!=(Mg(e)|0)){j=Vf(Vf(NE(Vf(Vf(Vf(56032,23519)|0,22676)|0,35e3)|0,93)|0,35007)|0,23569)|0;GE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=VF(a,56736)|0;i=Gb[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;WF(a);OE(j,i)|0;KE(j)|0;ua()}j=Lg(d)|0;if((j|0)!=(Lg(e)|0)){j=Vf(Vf(NE(Vf(Vf(Vf(56032,23602)|0,22676)|0,35e3)|0,94)|0,35007)|0,23487)|0;GE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=VF(a,56736)|0;i=Gb[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;WF(a);OE(j,i)|0;KE(j)|0;ua()}j=Mg(d)|0;if((j|0)!=(Mg(e)|0)){j=Vf(Vf(NE(Vf(Vf(Vf(56032,23652)|0,22676)|0,35e3)|0,95)|0,35007)|0,23569)|0;GE(a,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=VF(a,56736)|0;i=Gb[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;WF(a);OE(j,i)|0;KE(j)|0;ua()}g=0;while(1){if(g>>>0>=(Mg(d)|0)>>>0)break;h=$g(b,g)|0;i=ah(d,g)|0;j=ah(e,g)|0;a=0;while(1){if(a>>>0>=(Lg(d)|0)>>>0)break;f[h+(a<<2)>>2]=+f[i+(a<<2)>>2]-+f[j+(a<<2)>>2];a=a+1|0}g=g+1|0}yb=k;return}function _g(a){a=a|0;return c[a+16>>2]|0}function $g(a,b){a=a|0;b=b|0;var d=0,e=0;e=yb;yb=yb+16|0;d=e;if((c[a+8>>2]|0)>>>0>b>>>0){d=(c[a+24>>2]|0)+(B(c[a+12>>2]|0,b)|0)|0;yb=e;return d|0}else{e=Vf(Vf(NE(Vf(Vf(Vf(56032,23704)|0,23741)|0,35e3)|0,119)|0,35007)|0,23811)|0;GE(d,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);b=VF(d,56736)|0;b=Gb[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;WF(d);OE(e,b)|0;KE(e)|0;ua()}return 0}function ah(a,b){a=a|0;b=b|0;var d=0,e=0;e=yb;yb=yb+16|0;d=e;if((c[a+8>>2]|0)>>>0>b>>>0){d=(c[a+24>>2]|0)+(B(c[a+12>>2]|0,b)|0)|0;yb=e;return d|0}else{e=Vf(Vf(NE(Vf(Vf(Vf(56032,23704)|0,23741)|0,35e3)|0,124)|0,35007)|0,23811)|0;GE(d,e+(c[(c[e>>2]|0)+-12>>2]|0)|0);b=VF(d,56736)|0;b=Gb[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;WF(d);OE(e,b)|0;KE(e)|0;ua()}return 0}function bh(b){b=b|0;var d=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=10;c[b+12>>2]=10;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=0;a[b+28>>0]=1;Gg(b+32|0);f[b+52>>2]=0.0;f[b+56>>2]=10.0;d=b+60|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;f[b+88>>2]=9.0;qj(b+92|0);d=b+144|0;c[d>>2]=0;c[b+148>>2]=0;c[b+152>>2]=0;ch(b,5e3);dh(d,36);return}function ch(a,b){a=a|0;b=b|0;c[a+84>>2]=b;sh(a+60|0,b);return}function dh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>2;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<2)}else lh(a,b-e|0);return}function eh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Nf(b,(c[a+8>>2]|0)-d|0)}return}function fh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Nf(b,(c[a+8>>2]|0)-d|0)}return}function gh(a){a=a|0;kh(a);return}function hh(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-12|0;ih(f);b=f}c[e>>2]=d;f=c[a>>2]|0;Nf(f,(c[a+8>>2]|0)-f|0)}return}function ih(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-12|0;jh(f);b=f}c[e>>2]=d;f=c[a>>2]|0;Nf(f,(c[a+8>>2]|0)-f|0)}return}function jh(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Nf(b,(c[a+8>>2]|0)-d|0)}return}function kh(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-32|0;pq(f);b=f}c[e>>2]=d;f=c[a>>2]|0;Nf(f,(c[a+8>>2]|0)-f|0)}return}function lh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=yb;yb=yb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>2>>>0>>0){d=(d-(c[a>>2]|0)>>2)+b|0;e=nh(a)|0;if(e>>>0>>0)CO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>1;oh(f,k>>2>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>2,a+8|0);ph(f,b);qh(a,f);rh(f);break}}else mh(a,b);while(0);yb=i;return}function mh(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;_O(d|0,0,b<<2|0)|0;c[a>>2]=d+(b<<2);return}function nh(a){a=a|0;return 1073741823}function oh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>1073741823){f=O(8)|0;bO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=rB(b<<2)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<2)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<2);return}function ph(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;_O(d|0,0,b<<2|0)|0;c[a>>2]=d+(b<<2);return}function qh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){YO(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function rh(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-4|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Nf(b,(c[a+12>>2]|0)-b|0);return}function sh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=yb;yb=yb+32|0;d=f;e=c[a>>2]|0;if((((c[a+8>>2]|0)-e|0)/36|0)>>>0>>0){th(d,b,((c[a+4>>2]|0)-e|0)/36|0,a+8|0);uh(a,d);vh(d)}yb=f;return}function th(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>119304647){f=O(8)|0;bO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=rB(b*36|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*36|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*36|0);return}function uh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(((f|0)/-36|0)*36|0)|0;c[g>>2]=d;if((f|0)>0){YO(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function vh(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-36|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Nf(b,(c[a+12>>2]|0)-b|0);return}function wh(a){a=a|0;eh(a+144|0);rj(a+92|0);fh(a+72|0);fh(a+60|0);gh(a+32|0);hh(a+16|0);return} +function Lz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;if((e|0)==1){g=(c[a+8>>2]|0)-(c[a+4>>2]|0)|0;b=NO(b|0,d|0,g|0,((g|0)<0)<<31>>31|0)|0;d=F()|0}f=a+20|0;g=a+28|0;if((c[f>>2]|0)>>>0>(c[g>>2]|0)>>>0?(Hb[c[a+36>>2]&63](a,0,0)|0,(c[f>>2]|0)==0):0)b=-1;else{c[a+16>>2]=0;c[g>>2]=0;c[f>>2]=0;Ib[c[a+40>>2]&15](a,b,d,e)|0;if((F()|0)<0)b=-1;else{c[a+8>>2]=0;c[a+4>>2]=0;c[a>>2]=c[a>>2]&-17;b=0}}return b|0}function Mz(a,b){a=a|0;b=b|0;return Nz(a,b,(Oy(a)|0)+1|0)|0}function Nz(b,c,d){b=b|0;c=c|0;d=d|0;a:do if(!d)d=0;else{c=c&255;while(1){d=d+-1|0;if((a[b+d>>0]|0)==c<<24>>24)break;if(!d){d=0;break a}}d=b+d|0}while(0);return d|0}function Oz(a,b,c){a=a|0;b=b|0;c=c|0;return Vy(0,a,b,(c|0)==0?55652:c)|0}function Pz(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=yb;yb=yb+1040|0;k=n;l=n+1024|0;j=c[b>>2]|0;c[l>>2]=j;m=(a|0)!=0;h=m?e:256;i=m?a:k;g=j;a:do if((h|0)!=0&(j|0)!=0){e=0;j=i;while(1){a=d>>>2;i=a>>>0>=h>>>0;if(!(d>>>0>131|i)){i=j;break a}a=i?h:a;d=d-a|0;a=Qz(j,l,a,f)|0;if((a|0)==-1)break;i=(j|0)==(k|0);h=h-(i?0:a)|0;i=i?j:j+(a<<2)|0;e=a+e|0;g=c[l>>2]|0;if((h|0)!=0&(g|0)!=0)j=i;else break a}e=-1;i=j;h=0;g=c[l>>2]|0}else e=0;while(0);b:do if((g|0)!=0?(h|0)!=0&(d|0)!=0:0){while(1){a=Vy(i,g,d,f)|0;if((a+2|0)>>>0<3)break;g=(c[l>>2]|0)+a|0;c[l>>2]=g;d=d-a|0;h=h+-1|0;e=e+1|0;if(!((h|0)!=0&(d|0)!=0))break b;else i=i+4|0}switch(a|0){case -1:{e=a;break b}case 0:{c[l>>2]=0;break b}default:{c[f>>2]=0;break b}}}while(0);if(m)c[b>>2]=c[l>>2];yb=n;return e|0}function Qz(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=c[e>>2]|0;if((g|0)!=0?(i=c[g>>2]|0,(i|0)!=0):0)if(!b){j=h;g=f;l=26}else{c[g>>2]=0;k=f;j=h;l=48}else l=5;a:do if((l|0)==5){g=(b|0)!=0;if(c[c[(Rz()|0)+188>>2]>>2]|0)if(g){g=f;l=33;break}else{g=f;l=15;break}if(!g){f=Oy(h)|0;l=63;break}b:do if(f){g=f;while(1){i=a[h>>0]|0;if(!(i<<24>>24))break;h=h+1|0;c[b>>2]=i<<24>>24&57343;g=g+-1|0;if(!g)break b;else b=b+4|0}c[b>>2]=0;c[e>>2]=0;f=f-g|0;l=63;break a}while(0);c[e>>2]=h;l=63}while(0);c:while(1){d:do if((l|0)==15){while(1){i=a[h>>0]|0;if(((i&255)+-1|0)>>>0<127?(h&3|0)==0:0){l=c[h>>2]|0;i=l&255;if(!((l+-16843009|l)&-2139062144)){do{h=h+4|0;g=g+-4|0;i=c[h>>2]|0}while(!((i+-16843009|i)&-2139062144|0));i=i&255}}i=i&255;if((i+-1|0)>>>0>=127)break;g=g+-1|0;h=h+1|0}i=i+-194|0;if(i>>>0>50)l=57;else{i=c[5728+(i<<2)>>2]|0;j=h+1|0;l=26;continue c}}else if((l|0)==26){l=(d[j>>0]|0)>>>3;if((l+-16|l+(i>>26))>>>0>7){h=j;l=56}else{h=j+1|0;if(i&33554432){if((a[h>>0]&-64)<<24>>24!=-128){h=j;l=56;break}h=j+2|0;if(i&524288){if((a[h>>0]&-64)<<24>>24!=-128){h=j;l=56;break}h=j+3|0}}g=g+-1|0;l=15;continue c}}else if((l|0)==33){l=0;e:do if(g){while(1){i=d[h>>0]|0;j=i+-1|0;if(j>>>0<127){if((h&3|0)==0&g>>>0>4){while(1){i=c[h>>2]|0;if((i+-16843009|i)&-2139062144|0){l=42;break}c[b>>2]=i&255;c[b+4>>2]=d[h+1>>0];c[b+8>>2]=d[h+2>>0];j=h+4|0;i=b+16|0;c[b+12>>2]=d[h+3>>0];g=g+-4|0;if(g>>>0>4){b=i;h=j}else{l=41;break}}if((l|0)==41){b=i;h=j;i=a[j>>0]|0}else if((l|0)==42)i=i&255;i=i&255;j=i+-1|0;l=44}}else l=44;if((l|0)==44){l=0;if(j>>>0>=127)break}h=h+1|0;c[b>>2]=i;g=g+-1|0;if(!g)break e;else b=b+4|0}i=i+-194|0;if(i>>>0>50){l=57;break d}i=c[5728+(i<<2)>>2]|0;k=g;j=h+1|0;l=48;continue c}while(0);c[e>>2]=h;l=63;continue c}else if((l|0)==48){l=0;g=d[j>>0]|0;h=g>>>3;if((h+-16|h+(i>>26))>>>0>7){h=j;g=k;l=56}else{h=j+1|0;g=g+-128|i<<6;do if((g|0)<0){i=(d[h>>0]|0)+-128|0;if(i>>>0<=63){h=j+2|0;g=i|g<<6;if((g|0)>=0)break;i=(d[h>>0]|0)+-128|0;if(i>>>0<=63){h=j+3|0;g=i|g<<6;break}}c[(mx()|0)>>2]=25;h=j+-1|0;break d}while(0);c[b>>2]=g;b=b+4|0;g=k+-1|0;l=33;continue c}}else if((l|0)==63)return f|0;while(0);if((l|0)==56){h=h+-1|0;if(!i)l=57;else{f=b;l=61}}if((l|0)==57)if(!(a[h>>0]|0)){if(b|0){c[b>>2]=0;c[e>>2]=0}f=f-g|0;l=63;continue}else{f=b;l=61}if((l|0)==61){c[(mx()|0)>>2]=25;if(!f){f=-1;l=63;continue}}c[e>>2]=h;f=-1;l=63}return 0}function Rz(){return _x()|0}function Sz(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=yb;yb=yb+272|0;i=l;j=l+256|0;f=c[b>>2]|0;c[j>>2]=f;k=(a|0)!=0;g=k?e:256;h=k?a:i;e=f;a:do if((g|0)!=0&(f|0)!=0){f=0;a=e;while(1){e=d>>>0>=g>>>0;if(!(e|d>>>0>32)){e=a;break a}e=e?g:d;d=d-e|0;e=Tz(h,j,e,0)|0;if((e|0)==-1)break;a=(h|0)==(i|0);g=g-(a?0:e)|0;h=a?h:h+e|0;f=e+f|0;e=c[j>>2]|0;if((g|0)!=0&(e|0)!=0)a=e;else break a}f=-1;g=0;e=c[j>>2]|0}else f=0;while(0);b:do if((e|0)!=0?(g|0)!=0&(d|0)!=0:0){while(1){a=Yx(h,c[e>>2]|0,0)|0;if((a+1|0)>>>0<2)break;e=(c[j>>2]|0)+4|0;c[j>>2]=e;d=d+-1|0;g=g-a|0;f=a+f|0;if(!((g|0)!=0&(d|0)!=0))break b;else h=h+a|0}if(!a)c[j>>2]=0;else f=-1}while(0);if(k)c[b>>2]=c[j>>2];yb=l;return f|0}function Tz(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=yb;yb=yb+16|0;i=j;a:do if(!b){e=c[d>>2]|0;f=c[e>>2]|0;if(!f)e=0;else{b=e;e=0;do{if(f>>>0>127){f=Yx(i,f,0)|0;if((f|0)==-1){e=-1;break a}}else f=1;e=f+e|0;b=b+4|0;f=c[b>>2]|0}while((f|0)!=0)}}else{b:do if(e>>>0>3){f=e;g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h)break;h=Yx(b,h,0)|0;if((h|0)==-1){e=-1;break a}b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(f>>>0<=3)break b}a[b>>0]=0;c[d>>2]=0;e=e-f|0;break a}else f=e;while(0);if(f){g=c[d>>2]|0;while(1){h=c[g>>2]|0;if((h+-1|0)>>>0>126){if(!h){g=20;break}h=Yx(i,h,0)|0;if((h|0)==-1){e=-1;break a}if(f>>>0>>0){g=23;break}Yx(b,c[g>>2]|0,0)|0;b=b+h|0;f=f-h|0}else{a[b>>0]=h;b=b+1|0;f=f+-1|0;g=c[d>>2]|0}g=g+4|0;c[d>>2]=g;if(!f)break a}if((g|0)==20){a[b>>0]=0;c[d>>2]=0;e=e-f|0;break}else if((g|0)==23){e=e-f|0;break}}}while(0);yb=j;return e|0}function Uz(a,b,c){a=a|0;b=b|0;c=c|0;Vz(a,b,c)|0;return a|0}function Vz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;a:do if(!((g^b)&3)){f=(e|0)!=0;if(f&(g&3|0)!=0)do{g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0}while(f&(d&3|0)!=0);if(f){if(a[d>>0]|0){b:do if(e>>>0>3){f=d;while(1){d=c[f>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009|0){d=f;break b}c[b>>2]=d;e=e+-4|0;d=f+4|0;b=b+4|0;if(e>>>0>3)f=d;else break}}while(0);h=13}}else e=0}else h=13;while(0);c:do if((h|0)==13)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);_O(b|0,0,e|0)|0;return b|0}function Wz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=yb;yb=yb+32|0;f=g;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=0;e=a[d>>0]|0;do if(!(e<<24>>24))d=0;else{if(!(a[d+1>>0]|0)){d=b;while(1)if((a[d>>0]|0)==e<<24>>24)d=d+1|0;else break;d=d-b|0;break}do{i=e&255;h=f+(i>>>5<<2)|0;c[h>>2]=c[h>>2]|1<<(i&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);e=a[b>>0]|0;a:do if(!(e<<24>>24))d=b;else{d=b;do{i=e&255;if(!(c[f+(i>>>5<<2)>>2]&1<<(i&31)))break a;d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0)}while(0);d=d-b|0}while(0);yb=g;return d|0}function Xz(a){a=a|0;var b=0,e=0,f=0;if((c[a+76>>2]|0)>=0?(Nx(a)|0)!=0:0){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0}else b=yx(a)|0}else f=3;do if((f|0)==3){b=a+4|0;e=c[b>>2]|0;if(e>>>0<(c[a+8>>2]|0)>>>0){c[b>>2]=e+1;b=d[e>>0]|0;break}else{b=yx(a)|0;break}}while(0);return b|0}function Yz(a){a=a|0;var b=0;b=54792;c[b>>2]=a+-1;c[b+4>>2]=0;return}function Zz(){var a=0,b=0,d=0;b=54792;b=LO(c[b>>2]|0,c[b+4>>2]|0,1284865837,1481765933)|0;b=MO(b|0,F()|0,1,0)|0;a=F()|0;d=54792;c[d>>2]=b;c[d+4>>2]=a;a=RO(b|0,a|0,33)|0;F()|0;return a|0}function _z(a,b){a=a|0;b=b|0;az(a+(Oy(a)|0)|0,b)|0;return a|0}function $z(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=yb;yb=yb+16|0;e=h;c[e>>2]=c[d>>2];e=Hx(0,0,b,e)|0;if((e|0)>=0?(f=e+1|0,g=DO(f)|0,c[a>>2]=g,(g|0)!=0):0)a=Hx(g,f,b,d)|0;else a=-1;yb=h;return a|0}function aA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;do if((b|0)!=-1){if((c[d+76>>2]|0)>-1)g=Nx(d)|0;else g=0;h=d+4|0;e=c[h>>2]|0;if(!e){zx(d)|0;e=c[h>>2]|0;if(e|0){f=e;i=6}}else{f=e;i=6}if((i|0)==6?f>>>0>((c[d+44>>2]|0)+-8|0)>>>0:0){i=f+-1|0;c[h>>2]=i;a[i>>0]=b;c[d>>2]=c[d>>2]&-17;if(!g)break;Ox(d);break}if(g){Ox(d);b=-1}else b=-1}else b=-1;while(0);return b|0}function bA(a){a=a|0;var b=0,d=0,e=0;if((c[a+76>>2]|0)>-1){e=(Nx(a)|0)==0;d=cA(a)|0;b=F()|0;if(e)a=d;else{Ox(a);a=d}}else{a=cA(a)|0;b=F()|0}E(b|0);return a|0}function cA(a){a=a|0;var b=0,d=0,e=0;if(!(c[a>>2]&128))b=1;else b=(c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0?2:1;b=Ib[c[a+40>>2]&15](a,0,0,b)|0;d=F()|0;if((d|0)>=0){e=(c[a+8>>2]|0)-(c[a+4>>2]|0)|0;e=NO(b|0,d|0,e|0,((e|0)<0)<<31>>31|0)|0;d=F()|0;b=(c[a+20>>2]|0)-(c[a+28>>2]|0)|0;b=MO(e|0,d|0,b|0,((b|0)<0)<<31>>31|0)|0;d=F()|0}E(d|0);return b|0}function dA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if((c[d+76>>2]|0)>=0?(Nx(d)|0)!=0:0){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(i=d+20|0,j=c[i>>2]|0,j>>>0<(c[d+16>>2]|0)>>>0):0){c[i>>2]=j+1;a[j>>0]=f}else e=mz(d,b)|0;Ox(d)}else k=3;do if((k|0)==3){f=b&255;e=b&255;if((e|0)!=(a[d+75>>0]|0)?(g=d+20|0,h=c[g>>2]|0,h>>>0<(c[d+16>>2]|0)>>>0):0){c[g>>2]=h+1;a[h>>0]=f;break}e=mz(d,b)|0}while(0);return e|0}function eA(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=B(e,d)|0;e=(d|0)==0?0:e;if((c[f+76>>2]|0)>-1)j=Nx(f)|0;else j=0;g=f+74|0;h=a[g>>0]|0;a[g>>0]=h+255|h;g=f+4|0;h=c[g>>2]|0;i=(c[f+8>>2]|0)-h|0;if((i|0)>0){i=i>>>0>>0?i:k;YO(b|0,h|0,i|0)|0;c[g>>2]=(c[g>>2]|0)+i;g=k-i|0;b=b+i|0}else g=k;a:do if(!g)l=13;else{i=f+32|0;while(1){if(zx(f)|0)break;h=Hb[c[i>>2]&63](f,b,g)|0;if((h+1|0)>>>0<2)break;g=g-h|0;if(!g){l=13;break a}else b=b+h|0}if(j|0)Ox(f);e=((k-g|0)>>>0)/(d>>>0)|0}while(0);if((l|0)==13)if(j)Ox(f);return e|0}function fA(a){a=a|0;var b=0;a=bA(a)|0;b=F()|0;if((b|0)>0|(b|0)==0&a>>>0>2147483647){c[(mx()|0)>>2]=61;a=-1}return a|0}function gA(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Nx(a)|0)==0;Lz(a,0,0,0)|0;c[a>>2]=c[a>>2]&-33;if(!b)Ox(a)}else{Lz(a,0,0,0)|0;c[a>>2]=c[a>>2]&-33}return}function hA(a,b){a=a|0;b=b|0;return +(+iA(a,b,1))}function iA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,h=0,i=0;g=yb;yb=yb+144|0;e=g;_O(e|0,0,144)|0;i=e+4|0;c[i>>2]=a;h=e+8|0;c[h>>2]=-1;c[e+44>>2]=a;c[e+76>>2]=-1;ux(e,0,0);f=+By(e,d,1);e=e+120|0;d=(c[i>>2]|0)-(c[h>>2]|0)|0;d=MO(c[e>>2]|0,c[e+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;e=F()|0;if(b|0)c[b>>2]=(d|0)==0&(e|0)==0?a:a+d|0;yb=g;return +f}function jA(b){b=b|0;var c=0,d=0,e=0,f=0,g=0;while(1){e=b+1|0;if(!(xx(a[b>>0]|0)|0))break;else b=e}d=a[b>>0]|0;switch(d|0){case 45:{b=1;f=5;break}case 43:{b=0;f=5;break}default:{g=0;c=b;b=d}}if((f|0)==5){g=b;c=e;b=a[e>>0]|0}if(!(Ex(b)|0))b=0;else{b=0;do{b=(b*10|0)+48-(a[c>>0]|0)|0;c=c+1|0}while((Ex(a[c>>0]|0)|0)!=0)}return ((g|0)==0?0-b|0:b)|0}function kA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=yb;yb=yb+32|0;f=h;e=a[d>>0]|0;a:do if(e<<24>>24!=0?(a[d+1>>0]|0)!=0:0){_O(f|0,0,32)|0;e=a[d>>0]|0;if(e<<24>>24)do{j=e&255;i=f+(j>>>5<<2)|0;c[i>>2]=c[i>>2]|1<<(j&31);d=d+1|0;e=a[d>>0]|0}while(e<<24>>24!=0);d=a[b>>0]|0;if(!(d<<24>>24))e=b;else{e=b;do{j=d&255;if(c[f+(j>>>5<<2)>>2]&1<<(j&31)|0)break a;e=e+1|0;d=a[e>>0]|0}while(d<<24>>24!=0)}}else g=3;while(0);if((g|0)==3)e=Ry(b,e<<24>>24)|0;yb=h;return e-b|0}function lA(a,b){a=a|0;b=b|0;return +(+iA(a,b,0))}function mA(a,b){a=a|0;b=b|0;return +(+iA(a,b,2))}function nA(a,b,c){a=a|0;b=b|0;c=c|0;return +(+lA(a,b))}function oA(a,b,c){a=a|0;b=b|0;c=c|0;return +(+hA(a,b))}function pA(a,b,c){a=a|0;b=b|0;c=c|0;return +(+mA(a,b))}function qA(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;e=b+(Oy(b)|0)|0;a:do if(d)while(1){g=a[c>>0]|0;if(!(g<<24>>24))break a;d=d+-1|0;f=e+1|0;a[e>>0]=g;if(!d){e=f;break}else{c=c+1|0;e=f}}while(0);a[e>>0]=0;return b|0}function rA(b,d){b=b|0;d=d|0;var e=0;if(!b){b=c[13914]|0;if(!b)b=0;else e=3}else e=3;do if((e|0)==3){b=b+(Wz(b,d)|0)|0;if(!(a[b>>0]|0)){c[13914]=0;b=0;break}d=b+(kA(b,d)|0)|0;c[13914]=d;if(!(a[d>>0]|0)){c[13914]=0;break}else{c[13914]=d+1;a[d>>0]=0;break}}while(0);return b|0}function sA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d|0){e=a;while(1){d=d+-1|0;c[e>>2]=b;if(!d)break;else e=e+4|0}}return a|0}function tA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(a-b>>2>>>0>=d>>>0){if(d|0){e=a;while(1){d=d+-1|0;c[e>>2]=c[b>>2];if(!d)break;else{b=b+4|0;e=e+4|0}}}}else do{d=d+-1|0;c[a+(d<<2)>>2]=c[b+(d<<2)>>2]}while((d|0)!=0);return a|0}function uA(){var a=0,b=0,d=0,e=0,f=0,g=0,h=0;e=yb;yb=yb+48|0;g=e+32|0;b=e+24|0;h=e+16|0;f=e;e=e+36|0;a=vA()|0;if(a|0?(d=c[a>>2]|0,d|0):0){a=d+48|0;if(!(wA(a)|0)){c[b>>2]=46910;yA(46860,b)}b=xA(a)|0;if((b|0)==1126902529&(F()|0)==1129074247)a=c[d+44>>2]|0;else a=d+80|0;c[e>>2]=a;d=c[d>>2]|0;a=c[d+4>>2]|0;if(Hb[c[(c[3470]|0)+16>>2]&63](13880,d,e)|0){h=c[e>>2]|0;h=Eb[c[(c[h>>2]|0)+8>>2]&127](h)|0;c[f>>2]=46910;c[f+4>>2]=a;c[f+8>>2]=h;yA(46774,f)}else{c[h>>2]=46910;c[h+4>>2]=a;yA(46819,h)}}yA(46898,g)}function vA(){return 55660}function wA(a){a=a|0;return 0}function xA(a){a=a|0;E(0);return 0}function yA(a,b){a=a|0;b=b|0;var d=0;d=yb;yb=yb+16|0;c[d>>2]=b;b=c[4001]|0;Ix(b,a,d)|0;dA(10,b)|0;ua()}function zA(a){a=a|0;return}function AA(a){a=a|0;zA(a);QA(a);return}function BA(a){a=a|0;return}function CA(a){a=a|0;return}function DA(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=yb;yb=yb+64|0;j=l;if(!(HA(d,e,0)|0))if((e|0)!=0?(k=LA(e,13904,13888,0)|0,(k|0)!=0):0){c[j>>2]=k;c[j+4>>2]=0;c[j+8>>2]=d;c[j+12>>2]=-1;d=j+16|0;e=j+24|0;g=j+48|0;h=d;i=h+36|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));b[d+36>>1]=0;a[d+38>>0]=0;c[g>>2]=1;Vb[c[(c[k>>2]|0)+28>>2]&31](k,j,c[f>>2]|0,1);if((c[e>>2]|0)==1){c[f>>2]=c[d>>2];d=1}else d=0}else d=0;else d=1;yb=l;return d|0}function EA(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(HA(a,c[b+8>>2]|0,g)|0)KA(0,b,d,e,f);return}function FA(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;do if(!(HA(b,c[d+8>>2]|0,g)|0)){if(HA(b,c[d>>2]|0,g)|0){if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;g=d+40|0;c[g>>2]=(c[g>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;break}if((f|0)==1)c[d+32>>2]=1}}else JA(0,d,e,f);while(0);return}function GA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(HA(a,c[b+8>>2]|0,0)|0)IA(0,b,d,e);return}function HA(a,b,d){a=a|0;b=b|0;d=d|0;if(d)a=(Dx(c[a+4>>2]|0,c[b+4>>2]|0)|0)==0;else a=(a|0)==(b|0);return a|0}function IA(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;b=d+16|0;g=c[b>>2]|0;do if(g){if((g|0)!=(e|0)){f=d+36|0;c[f>>2]=(c[f>>2]|0)+1;c[d+24>>2]=2;a[d+54>>0]=1;break}b=d+24|0;if((c[b>>2]|0)==2)c[b>>2]=f}else{c[b>>2]=e;c[d+24>>2]=f;c[d+36>>2]=1}while(0);return}function JA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((c[b+4>>2]|0)==(d|0)?(f=b+28|0,(c[f>>2]|0)!=1):0)c[f>>2]=e;return}function KA(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;a[d+53>>0]=1;do if((c[d+4>>2]|0)==(f|0)){a[d+52>>0]=1;b=d+16|0;f=c[b>>2]|0;if(!f){c[b>>2]=e;c[d+24>>2]=g;c[d+36>>2]=1;if(!((g|0)==1?(c[d+48>>2]|0)==1:0))break;a[d+54>>0]=1;break}if((f|0)!=(e|0)){g=d+36|0;c[g>>2]=(c[g>>2]|0)+1;a[d+54>>0]=1;break}f=d+24|0;b=c[f>>2]|0;if((b|0)==2){c[f>>2]=g;b=g}if((b|0)==1?(c[d+48>>2]|0)==1:0)a[d+54>>0]=1}while(0);return}function LA(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=yb;yb=yb+64|0;n=p;m=c[d>>2]|0;o=d+(c[m+-8>>2]|0)|0;m=c[m+-4>>2]|0;c[n>>2]=f;c[n+4>>2]=d;c[n+8>>2]=e;c[n+12>>2]=g;d=n+16|0;e=n+20|0;g=n+24|0;h=n+28|0;i=n+32|0;j=n+40|0;k=d;l=k+36|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));b[d+36>>1]=0;a[d+38>>0]=0;a:do if(HA(m,f,0)|0){c[n+48>>2]=1;Xb[c[(c[m>>2]|0)+20>>2]&7](m,n,o,o,1,0);d=(c[g>>2]|0)==1?o:0}else{Wb[c[(c[m>>2]|0)+24>>2]&63](m,n,o,1,0);switch(c[n+36>>2]|0){case 0:{d=(c[j>>2]|0)==1&(c[h>>2]|0)==1&(c[i>>2]|0)==1?c[e>>2]|0:0;break a}case 1:break;default:{d=0;break a}}if((c[g>>2]|0)!=1?!((c[j>>2]|0)==0&(c[h>>2]|0)==1&(c[i>>2]|0)==1):0){d=0;break}d=c[d>>2]|0}while(0);yb=p;return d|0}function MA(a){a=a|0;zA(a);QA(a);return}function NA(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if(HA(a,c[b+8>>2]|0,g)|0)KA(0,b,d,e,f);else{a=c[a+8>>2]|0;Xb[c[(c[a>>2]|0)+20>>2]&7](a,b,d,e,f,g)}return}function OA(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;a:do if(!(HA(b,c[d+8>>2]|0,g)|0)){if(!(HA(b,c[d>>2]|0,g)|0)){i=c[b+8>>2]|0;Wb[c[(c[i>>2]|0)+24>>2]&63](i,d,e,f,g);break}if((c[d+16>>2]|0)!=(e|0)?(i=d+20|0,(c[i>>2]|0)!=(e|0)):0){c[d+32>>2]=f;f=d+44|0;do if((c[f>>2]|0)!=4){h=d+52|0;a[h>>0]=0;j=d+53|0;a[j>>0]=0;b=c[b+8>>2]|0;Xb[c[(c[b>>2]|0)+20>>2]&7](b,d,e,e,1,g);if(a[j>>0]|0){j=(a[h>>0]|0)==0;c[f>>2]=3;if(j)break;else break a}else{c[f>>2]=4;break}}while(0);c[i>>2]=e;j=d+40|0;c[j>>2]=(c[j>>2]|0)+1;if((c[d+36>>2]|0)!=1)break;if((c[d+24>>2]|0)!=2)break;a[d+54>>0]=1;break}if((f|0)==1)c[d+32>>2]=1}else JA(0,d,e,f);while(0);return}function PA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if(HA(a,c[b+8>>2]|0,0)|0)IA(0,b,d,e);else{a=c[a+8>>2]|0;Vb[c[(c[a>>2]|0)+28>>2]&31](a,b,d,e)}return}function QA(a){a=a|0;EO(a);return}function RA(a){a=a|0;return}function SA(){var a=0,b=0;a=vA()|0;if((a|0?(b=c[a>>2]|0,b|0):0)?wA(b+48|0)|0:0)TA(c[b+12>>2]|0);TA(UA()|0)}function TA(a){a=a|0;var b=0;b=yb;yb=yb+16|0;Pb[a&1]();yA(47049,b)}function UA(){return 1}function VA(a){a=a|0;return}function WA(a){a=a|0;c[a>>2]=16372;_A(a+4|0);return}function XA(a){a=a|0;WA(a);QA(a);return}function YA(a){a=a|0;return ZA(a+4|0)|0}function ZA(a){a=a|0;return c[a>>2]|0}function _A(a){a=a|0;var b=0,d=0;if($A(a)|0?(b=aB(c[a>>2]|0)|0,d=b+8|0,a=c[d>>2]|0,c[d>>2]=a+-1,(a|0)<1):0)QA(b);return}function $A(a){a=a|0;return 1}function aB(a){a=a|0;return a+-12|0}function bB(a){a=a|0;WA(a);QA(a);return}function cB(a){a=a|0;zA(a);QA(a);return}function dB(a,b,c){a=a|0;b=b|0;c=c|0;return HA(a,b,0)|0}function eB(a){a=a|0;zA(a);QA(a);return}function fB(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(HA(b,c[d+8>>2]|0,h)|0)KA(0,d,e,f,g);else{r=d+52|0;j=a[r>>0]|0;q=d+53|0;i=a[q>>0]|0;p=c[b+12>>2]|0;m=b+16+(p<<3)|0;a[r>>0]=0;a[q>>0]=0;jB(b+16|0,d,e,f,g,h);k=a[r>>0]|0;j=k|j;l=a[q>>0]|0;i=l|i;a:do if((p|0)>1){n=d+24|0;o=b+8|0;p=d+54|0;b=b+24|0;do{i=i&1;j=j&1;if(a[p>>0]|0)break a;if(!(k<<24>>24)){if(l<<24>>24?(c[o>>2]&1|0)==0:0)break a}else{if((c[n>>2]|0)==1)break a;if(!(c[o>>2]&2))break a}a[r>>0]=0;a[q>>0]=0;jB(b,d,e,f,g,h);k=a[r>>0]|0;j=k|j;l=a[q>>0]|0;i=l|i;b=b+8|0}while(b>>>0>>0)}while(0);a[r>>0]=j<<24>>24!=0&1;a[q>>0]=i<<24>>24!=0&1}return}function gB(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;a:do if(!(HA(b,c[d+8>>2]|0,g)|0)){if(!(HA(b,c[d>>2]|0,g)|0)){p=c[b+12>>2]|0;k=b+16+(p<<3)|0;kB(b+16|0,d,e,f,g);h=b+24|0;if((p|0)<=1)break;b=c[b+8>>2]|0;if((b&2|0)==0?(j=d+36|0,(c[j>>2]|0)!=1):0){if(!(b&1)){b=d+54|0;while(1){if(a[b>>0]|0)break a;if((c[j>>2]|0)==1)break a;kB(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}b=d+24|0;i=d+54|0;while(1){if(a[i>>0]|0)break a;if((c[j>>2]|0)==1?(c[b>>2]|0)==1:0)break a;kB(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}b=d+54|0;while(1){if(a[b>>0]|0)break a;kB(h,d,e,f,g);h=h+8|0;if(h>>>0>=k>>>0)break a}}if((c[d+16>>2]|0)!=(e|0)?(p=d+20|0,(c[p>>2]|0)!=(e|0)):0){c[d+32>>2]=f;o=d+44|0;if((c[o>>2]|0)!=4){j=b+16+(c[b+12>>2]<<3)|0;k=d+52|0;f=d+53|0;l=d+54|0;m=b+8|0;n=d+24|0;h=0;i=b+16|0;b=0;b:while(1){if(i>>>0>=j>>>0){i=18;break}a[k>>0]=0;a[f>>0]=0;jB(i,d,e,e,1,g);if(a[l>>0]|0){i=18;break}do if(a[f>>0]|0){if(!(a[k>>0]|0))if(!(c[m>>2]&1)){i=19;break b}else{b=1;break}if((c[n>>2]|0)==1){h=1;i=19;break b}if(!(c[m>>2]&2)){h=1;i=19;break b}else{h=1;b=1}}while(0);i=i+8|0}if((i|0)==18)if(b)i=19;else b=4;if((i|0)==19)b=3;c[o>>2]=b;if(h&1)break}c[p>>2]=e;e=d+40|0;c[e>>2]=(c[e>>2]|0)+1;if((c[d+36>>2]|0)!=1)break;if((c[d+24>>2]|0)!=2)break;a[d+54>>0]=1;break}if((f|0)==1)c[d+32>>2]=1}else JA(0,d,e,f);while(0);return}function hB(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do if(!(HA(b,c[d+8>>2]|0,0)|0)){h=c[b+12>>2]|0;g=b+16+(h<<3)|0;iB(b+16|0,d,e,f);if((h|0)>1){h=d+54|0;b=b+24|0;do{iB(b,d,e,f);if(a[h>>0]|0)break a;b=b+8|0}while(b>>>0>>0)}}else IA(0,d,e,f);while(0);return}function iB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+4>>2]|0;if(d){f=g>>8;if(g&1)f=c[(c[d>>2]|0)+f>>2]|0}else f=0;a=c[a>>2]|0;Vb[c[(c[a>>2]|0)+28>>2]&31](a,b,d+f|0,(g&2|0)==0?2:e);return}function jB(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=c[a+4>>2]|0;h=i>>8;if(i&1)h=c[(c[e>>2]|0)+h>>2]|0;a=c[a>>2]|0;Xb[c[(c[a>>2]|0)+20>>2]&7](a,b,d,e+h|0,(i&2|0)==0?2:f,g);return}function kB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=c[a+4>>2]|0;g=h>>8;if(h&1)g=c[(c[d>>2]|0)+g>>2]|0;a=c[a>>2]|0;Wb[c[(c[a>>2]|0)+24>>2]&63](a,b,d+g|0,(h&2|0)==0?2:e,f);return}function lB(a){a=a|0;return ((mB(a)|0)^1)&1|0}function mB(b){b=b|0;return (a[b>>0]|0)!=0|0}function nB(a){a=a|0;c[a>>2]=0;oB(a);return}function oB(a){a=a|0;c[a>>2]=c[a>>2]|1;return}function pB(a){a=a|0;c[a>>2]=0;return}function qB(){return 0}function rB(a){a=a|0;var b=0;b=(a|0)==0?1:a;while(1){a=DO(b)|0;if(a|0)break;a=qB()|0;if(!a){a=0;break}Pb[a&1]()}return a|0}function sB(a){a=a|0;return rB(a)|0}function tB(a){a=a|0;QA(a);return}function uB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=yb;yb=yb+16|0;e=f;c[e>>2]=c[d>>2];a=Hb[c[(c[a>>2]|0)+16>>2]&63](a,b,e)|0;if(a)c[d>>2]=c[e>>2];yb=f;return a&1|0}function vB(a){a=a|0;if(!a)a=0;else a=(LA(a,13904,13992,0)|0)!=0&1;return a|0}function wB(){return 0}function xB(){N(55684);return}function yB(){return 55668}function zB(){return 55676}function AB(){return 55680}function BB(){return 55684}function CB(){DB();return}function DB(){EB(57670);return}function EB(a){a=a|0;var b=0;b=yb;yb=yb+16|0;c[b>>2]=a;FB();yb=b;return}function FB(){pa(GB()|0,47294);ga(HB()|0,47299,1,1,0);IB(47304);JB(47309);KB(47321);LB(47335);MB(47341);NB(47356);OB(47360);PB(47373);QB(47378);RB(47392);SB(47398);na(TB()|0,47405);na(UB()|0,47417);oa(VB()|0,4,47450);ia(WB()|0,47463);XB(47479);YB(47509);ZB(47546);_B(47585);$B(47616);aC(47656);bC(47685);cC(47723);dC(47753);YB(47792);ZB(47824);_B(47857);$B(47890);aC(47924);bC(47957);eC(47991);fC(48022);gC(48054);return}function GB(){return qD()|0}function HB(){return pD()|0}function IB(a){a=a|0;var b=0,d=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;a=nD()|0;la(a|0,c[d>>2]|0,1,-128<<24>>24|0,127<<24>>24|0);yb=b;return}function JB(a){a=a|0;var b=0,d=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;a=lD()|0;la(a|0,c[d>>2]|0,1,-128<<24>>24|0,127<<24>>24|0);yb=b;return}function KB(a){a=a|0;var b=0,d=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;a=jD()|0;la(a|0,c[d>>2]|0,1,0,255);yb=b;return}function LB(a){a=a|0;var b=0,d=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;a=hD()|0;la(a|0,c[d>>2]|0,2,-32768<<16>>16|0,32767<<16>>16|0);yb=b;return}function MB(a){a=a|0;var b=0,d=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;a=fD()|0;la(a|0,c[d>>2]|0,2,0,65535);yb=b;return}function NB(a){a=a|0;var b=0,d=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;a=dD()|0;la(a|0,c[d>>2]|0,4,-2147483648,2147483647);yb=b;return}function OB(a){a=a|0;var b=0,d=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;a=bD()|0;la(a|0,c[d>>2]|0,4,0,-1);yb=b;return}function PB(a){a=a|0;var b=0,d=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;a=$C()|0;la(a|0,c[d>>2]|0,4,-2147483648,2147483647);yb=b;return}function QB(a){a=a|0;var b=0,d=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;a=ZC()|0;la(a|0,c[d>>2]|0,4,0,-1);yb=b;return}function RB(a){a=a|0;var b=0,d=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;a=XC()|0;ja(a|0,c[d>>2]|0,4);yb=b;return}function SB(a){a=a|0;var b=0,d=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;a=VC()|0;ja(a|0,c[d>>2]|0,8);yb=b;return}function TB(){return UC()|0}function UB(){return TC()|0}function VB(){return SC()|0}function WB(){return RC()|0}function XB(a){a=a|0;var b=0,d=0,e=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;e=OC()|0;a=PC()|0;ma(e|0,a|0,c[d>>2]|0);yb=b;return}function YB(a){a=a|0;var b=0,d=0,e=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;e=LC()|0;a=MC()|0;ma(e|0,a|0,c[d>>2]|0);yb=b;return}function ZB(a){a=a|0;var b=0,d=0,e=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;e=IC()|0;a=JC()|0;ma(e|0,a|0,c[d>>2]|0);yb=b;return}function _B(a){a=a|0;var b=0,d=0,e=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;e=FC()|0;a=GC()|0;ma(e|0,a|0,c[d>>2]|0);yb=b;return}function $B(a){a=a|0;var b=0,d=0,e=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;e=CC()|0;a=DC()|0;ma(e|0,a|0,c[d>>2]|0);yb=b;return}function aC(a){a=a|0;var b=0,d=0,e=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;e=zC()|0;a=AC()|0;ma(e|0,a|0,c[d>>2]|0);yb=b;return}function bC(a){a=a|0;var b=0,d=0,e=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;e=wC()|0;a=xC()|0;ma(e|0,a|0,c[d>>2]|0);yb=b;return}function cC(a){a=a|0;var b=0,d=0,e=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;e=tC()|0;a=uC()|0;ma(e|0,a|0,c[d>>2]|0);yb=b;return}function dC(a){a=a|0;var b=0,d=0,e=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;e=qC()|0;a=rC()|0;ma(e|0,a|0,c[d>>2]|0);yb=b;return}function eC(a){a=a|0;var b=0,d=0,e=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;e=nC()|0;a=oC()|0;ma(e|0,a|0,c[d>>2]|0);yb=b;return}function fC(a){a=a|0;var b=0,d=0,e=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;e=kC()|0;a=lC()|0;ma(e|0,a|0,c[d>>2]|0);yb=b;return}function gC(a){a=a|0;var b=0,d=0,e=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=a;e=hC()|0;a=iC()|0;ma(e|0,a|0,c[d>>2]|0);yb=b;return}function hC(){return jC()|0}function iC(){return 7}function jC(){return 14144}function kC(){return mC()|0}function lC(){return 7}function mC(){return 14152}function nC(){return pC()|0}function oC(){return 6}function pC(){return 14160}function qC(){return sC()|0}function rC(){return 5}function sC(){return 14168}function tC(){return vC()|0}function uC(){return 4}function vC(){return 14176}function wC(){return yC()|0}function xC(){return 5}function yC(){return 14184}function zC(){return BC()|0}function AC(){return 4}function BC(){return 14192}function CC(){return EC()|0}function DC(){return 3}function EC(){return 14200}function FC(){return HC()|0}function GC(){return 2}function HC(){return 14208}function IC(){return KC()|0}function JC(){return 1}function KC(){return 14216}function LC(){return NC()|0}function MC(){return 0}function NC(){return 14224}function OC(){return QC()|0}function PC(){return 0}function QC(){return 14232}function RC(){return 14240}function SC(){return 14248}function TC(){return 14272}function UC(){return 13272}function VC(){return WC()|0}function WC(){return 14120}function XC(){return YC()|0}function YC(){return 14112}function ZC(){return _C()|0}function _C(){return 14104}function $C(){return aD()|0}function aD(){return 14096}function bD(){return cD()|0}function cD(){return 14088}function dD(){return eD()|0}function eD(){return 14080}function fD(){return gD()|0}function gD(){return 14072}function hD(){return iD()|0}function iD(){return 14064}function jD(){return kD()|0}function kD(){return 14048}function lD(){return mD()|0}function mD(){return 14056}function nD(){return oD()|0}function oD(){return 14040}function pD(){return 14032}function qD(){return 14024}function rD(a){a=a|0;var b=0,d=0,e=0;b=yb;yb=yb+16|0;d=b+4|0;e=b;c[e>>2]=a;c[d>>2]=c[e>>2];a=hz(c[(c[d>>2]|0)+4>>2]|0)|0;yb=b;return a|0}function sD(a){a=a|0;return 0}function tD(a){a=a|0;return 0}function uD(a,b){a=a|0;b=b|0;return 0}function vD(a){a=a|0;return 0}function wD(){return (xD()|0)>0|0}function xD(){return wB()|0}function yD(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=yb;yb=yb+16|0;d=k;i=k+8|0;e=k+4|0;c[i>>2]=a;do if(a>>>0>=212){h=(a>>>0)/210|0;b=h*210|0;c[e>>2]=a-b;a=0;g=(zD(12736,12928,e,d)|0)-12736>>2;a:while(1){f=(c[12736+(g<<2)>>2]|0)+b|0;b=5;while(1){if(b>>>0>=47){j=6;break}d=c[12544+(b<<2)>>2]|0;e=(f>>>0)/(d>>>0)|0;if(e>>>0>>0){j=107;break a}if((f|0)==(B(e,d)|0))break;else b=b+1|0}b:do if((j|0)==6){j=0;e=211;c:while(1){b=(f>>>0)/(e>>>0)|0;do if(b>>>0>=e>>>0)if((f|0)!=(B(b,e)|0)){b=e+10|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)!=(B(d,b)|0)){b=e+12|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)!=(B(d,b)|0)){b=e+16|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)!=(B(d,b)|0)){b=e+18|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)!=(B(d,b)|0)){b=e+22|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)!=(B(d,b)|0)){b=e+28|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>=b>>>0)if((f|0)==(B(d,b)|0))d=9;else{b=e+30|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+36|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+40|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+42|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+46|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+52|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+58|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+60|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+66|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+70|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+72|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+78|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+82|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+88|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+96|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+100|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+102|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+106|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+108|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+112|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+120|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+126|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+130|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+136|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+138|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+142|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+148|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+150|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+156|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+162|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+166|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+168|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+172|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+178|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+180|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+186|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+190|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+192|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+196|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+198|0;d=(f>>>0)/(b>>>0)|0;if(d>>>0>>0){d=1;a=f;break}if((f|0)==(B(d,b)|0)){d=9;break}b=e+208|0;d=(f>>>0)/(b>>>0)|0;l=d>>>0>>0;d=(f|0)==(B(d,b)|0);b=l|d?b:e+210|0;d=l?1:d?9:0;a=l?f:a}else{d=1;a=f}}else d=9;else{d=1;a=f}}else d=9;else{d=1;a=f}}else d=9;else{d=1;a=f}}else d=9;else{d=1;a=f}}else d=9;else{d=1;a=f}}else{b=e;d=9}else{b=e;d=1;a=f}while(0);switch(d&15){case 9:break b;case 0:{e=b;break}default:break c}}if(d){j=108;break a}}while(0);l=g+1|0;f=(l|0)==48;b=h+(f&1)|0;h=b;b=b*210|0;g=f?0:l}if((j|0)==107){c[i>>2]=f;a=f;break}else if((j|0)==108){c[i>>2]=f;break}}else a=c[(zD(12544,12736,i,d)|0)>>2]|0;while(0);yb=k;return a|0}function zD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=c[d>>2]|0;e=a;d=b-a>>2;while(1){if(!d)break;b=d>>>1;g=e+(b<<2)|0;a=(c[g>>2]|0)>>>0>>0;e=a?g+4|0:e;d=a?d+-1-b|0:b}return e|0}function AD(a){a=a|0;BD(a);return}function BD(a){a=a|0;c[a>>2]=16480;CD(a,0);WF(a+28|0);EO(c[a+32>>2]|0);EO(c[a+36>>2]|0);EO(c[a+48>>2]|0);EO(c[a+60>>2]|0);return}function CD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+32|0;f=a+36|0;d=c[a+40>>2]|0;while(1){if(!d)break;g=d+-1|0;Ub[c[(c[e>>2]|0)+(g<<2)>>2]&3](b,a,c[(c[f>>2]|0)+(g<<2)>>2]|0);d=g}return}function DD(a){a=a|0;BD(a);QA(a);return}function ED(a){a=a|0;BD(a);return}function FD(a){a=a|0;c[a>>2]=16496;WF(a+4|0);return}function GD(a){a=a|0;FD(a);QA(a);return}function HD(a,b){a=a|0;b=b|0;return}function ID(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function JD(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=a;c[g>>2]=0;c[g+4>>2]=0;g=a+8|0;c[g>>2]=-1;c[g+4>>2]=-1;return}function KD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a;c[e>>2]=0;c[e+4>>2]=0;e=a+8|0;c[e>>2]=-1;c[e+4>>2]=-1;return}function LD(a){a=a|0;return 0}function MD(a){a=a|0;return 0}function ND(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;Uf()|0;i=b+12|0;j=b+16|0;h=0;while(1){if((h|0)>=(e|0))break;f=c[i>>2]|0;g=c[j>>2]|0;if(f>>>0>>0){g=g-f|0;k=e-h|0;g=(k|0)<(g|0)?k:g;TD(d,f,g)|0;c[i>>2]=(c[i>>2]|0)+g;d=d+g|0;f=g}else{f=Eb[c[(c[b>>2]|0)+40>>2]&127](b)|0;if((f|0)==-1)break;a[d>>0]=cg(f)|0;d=d+1|0;f=1}h=f+h|0}return h|0}function OD(a){a=a|0;return Uf()|0}function PD(b){b=b|0;var d=0;d=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;if((d|0)==(Uf()|0))b=Uf()|0;else{d=b+12|0;b=c[d>>2]|0;c[d>>2]=b+1;b=ag(a[b>>0]|0)|0}return b|0}function QD(a,b){a=a|0;b=b|0;return Uf()|0}function RD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=Uf()|0;j=b+24|0;k=b+28|0;f=0;while(1){if((f|0)>=(e|0))break;g=c[j>>2]|0;h=c[k>>2]|0;if(g>>>0>>0){h=h-g|0;l=e-f|0;h=(l|0)<(h|0)?l:h;TD(g,d,h)|0;c[j>>2]=(c[j>>2]|0)+h;d=d+h|0;f=h+f|0}else{h=c[(c[b>>2]|0)+52>>2]|0;l=ag(a[d>>0]|0)|0;if((Gb[h&63](b,l)|0)==(i|0))break;d=d+1|0;f=f+1|0}}return f|0}function SD(a,b){a=a|0;b=b|0;return Uf()|0}function TD(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)YO(a|0,b|0,c|0)|0;return a|0}function UD(a){a=a|0;c[a>>2]=16560;WF(a+4|0);return}function VD(a){a=a|0;UD(a);QA(a);return}function WD(a,b){a=a|0;b=b|0;return}function XD(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function YD(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=a;c[g>>2]=0;c[g+4>>2]=0;g=a+8|0;c[g>>2]=-1;c[g+4>>2]=-1;return}function ZD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a;c[e>>2]=0;c[e+4>>2]=0;e=a+8|0;c[e>>2]=-1;c[e+4>>2]=-1;return}function _D(a){a=a|0;return 0}function $D(a){a=a|0;return 0}function aE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;gE()|0;h=a+12|0;i=a+16|0;g=0;while(1){if((g|0)>=(d|0))break;e=c[h>>2]|0;f=c[i>>2]|0;if(e>>>0>>0){f=f-e>>2;j=d-g|0;f=(j|0)<(f|0)?j:f;iE(b,e,f)|0;c[h>>2]=(c[h>>2]|0)+(f<<2);b=b+(f<<2)|0;e=f}else{e=Eb[c[(c[a>>2]|0)+40>>2]&127](a)|0;if((e|0)==-1)break;c[b>>2]=jE(e)|0;b=b+4|0;e=1}g=e+g|0}return g|0}function bE(a){a=a|0;return gE()|0}function cE(a){a=a|0;var b=0;b=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;if((b|0)==(gE()|0))a=gE()|0;else{b=a+12|0;a=c[b>>2]|0;c[b>>2]=a+4;a=hE(c[a>>2]|0)|0}return a|0}function dE(a,b){a=a|0;b=b|0;return gE()|0}function eE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=gE()|0;i=a+24|0;j=a+28|0;e=0;while(1){if((e|0)>=(d|0))break;f=c[i>>2]|0;g=c[j>>2]|0;if(f>>>0>>0){g=g-f>>2;k=d-e|0;g=(k|0)<(g|0)?k:g;iE(f,b,g)|0;c[i>>2]=(c[i>>2]|0)+(g<<2);b=b+(g<<2)|0;e=g+e|0}else{g=c[(c[a>>2]|0)+52>>2]|0;k=hE(c[b>>2]|0)|0;if((Gb[g&63](a,k)|0)==(h|0))break;b=b+4|0;e=e+1|0}}return e|0}function fE(a,b){a=a|0;b=b|0;return gE()|0}function gE(){return -1}function hE(a){a=a|0;return a|0}function iE(a,b,c){a=a|0;b=b|0;c=c|0;if(c)ez(a,b,c)|0;return a|0}function jE(a){a=a|0;return a|0}function kE(a){a=a|0;oE(a,16656);AD(a+8|0);return}function lE(a){a=a|0;kE(a);QA(a);return}function mE(a){a=a|0;kE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function nE(a){a=a|0;lE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function oE(a,b){a=a|0;b=b|0;return}function pE(a){a=a|0;tE(a,16704);ED(a+8|0);return}function qE(a){a=a|0;pE(a);QA(a);return}function rE(a){a=a|0;pE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function sE(a){a=a|0;qE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function tE(a,b){a=a|0;b=b|0;return}function uE(a){a=a|0;yE(a,16752);AD(a+4|0);return}function vE(a){a=a|0;uE(a);QA(a);return}function wE(a){a=a|0;uE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function xE(a){a=a|0;vE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function yE(a,b){a=a|0;b=b|0;return}function zE(a){a=a|0;DE(a,16800);ED(a+4|0);return}function AE(a){a=a|0;zE(a);QA(a);return}function BE(a){a=a|0;zE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function CE(a){a=a|0;AE(a+(c[(c[a>>2]|0)+-12>>2]|0)|0);return}function DE(a,b){a=a|0;b=b|0;return}function EE(a,b){a=a|0;b=b|0;c[a+16>>2]=(c[a+24>>2]|0)==0|b;return}function FE(a,b){a=a|0;b=b|0;var d=0;c[a+24>>2]=b;c[a+16>>2]=(b|0)==0&1;c[a+20>>2]=0;c[a+4>>2]=4098;c[a+12>>2]=0;c[a+8>>2]=6;d=a+28|0;b=a+32|0;a=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(a|0));WN(d);return}function GE(a,b){a=a|0;b=b|0;UN(a,b+28|0);return}function HE(a,b){a=a|0;b=b|0;return (a|0)==(b|0)|0}function IE(a){a=a|0;c[a>>2]=16496;WN(a+4|0);a=a+8|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function JE(a){a=a|0;c[a>>2]=16560;WN(a+4|0);a=a+8|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;return}function KE(b){b=b|0;var d=0,e=0,f=0;e=yb;yb=yb+16|0;d=e;if(c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0){LE(d,b);if(a[d>>0]|0?(f=c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0,(Eb[c[(c[f>>2]|0)+24>>2]&127](f)|0)==-1):0){f=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;EE(f,c[f+16>>2]|1)}ME(d)}yb=e;return b|0}function LE(b,d){b=b|0;d=d|0;a[b>>0]=0;c[b+4>>2]=d;d=d+(c[(c[d>>2]|0)+-12>>2]|0)|0;if(!(c[d+16>>2]|0)){d=c[d+72>>2]|0;if(d|0)KE(d)|0;a[b>>0]=1}return}function ME(a){a=a|0;var b=0;a=a+4|0;b=c[a>>2]|0;b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;if((((c[b+24>>2]|0?(c[b+16>>2]|0)==0:0)?c[b+4>>2]&8192|0:0)?!(wD()|0):0)?(b=c[a>>2]|0,b=c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0,(Eb[c[(c[b>>2]|0)+24>>2]&127](b)|0)==-1):0){b=c[a>>2]|0;b=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;EE(b,c[b+16>>2]|1)}return}function NE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=yb;yb=yb+16|0;f=l+12|0;j=l+8|0;k=l;LE(k,b);if(a[k>>0]|0){GE(f,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);g=VF(f,56792)|0;WF(f);h=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;i=c[h+24>>2]|0;m=Uf()|0;e=h+76|0;if(Yf(m,c[e>>2]|0)|0){GE(f,h);m=VF(f,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,32)|0;WF(f);m=m<<24>>24;c[e>>2]=m;e=m}else e=c[e>>2]|0;m=c[(c[g>>2]|0)+16>>2]|0;c[j>>2]=i;c[f>>2]=c[j>>2];if(!(Kb[m&31](g,f,h,e&255,d)|0)){m=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;EE(m,c[m+16>>2]|5)}}ME(k);yb=l;return b|0}function OE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=yb;yb=yb+16|0;i=j;LE(i,b);do if(a[i>>0]|0){e=c[b+(c[(c[b>>2]|0)+-12>>2]|0)+24>>2]|0;f=e;if(e|0){g=f+24|0;h=c[g>>2]|0;if((h|0)==(c[f+28>>2]|0)){h=c[(c[e>>2]|0)+52>>2]|0;d=ag(d)|0;d=Gb[h&63](f,d)|0}else{c[g>>2]=h+1;a[h>>0]=d;d=ag(d)|0}if(!(Yf(d,Uf()|0)|0))break}h=b+(c[(c[b>>2]|0)+-12>>2]|0)|0;EE(h,c[h+16>>2]|1)}while(0);ME(i);yb=j;return b|0}function PE(a){a=a|0;a=a+16|0;c[a>>2]=c[a>>2]|1;return}function QE(){SE();return}function RE(){return}function SE(){TE(0);return}function TE(a){a=a|0;var b=0,d=0;b=c[4002]|0;UE(56368,b,56424);c[13922]=16628;c[13924]=16648;c[13923]=0;FE(55696,56368);c[13942]=0;c[13943]=Uf()|0;VE(56432,b,56488);c[13944]=16676;c[13946]=16696;c[13945]=0;FE(55784,56432);c[13964]=0;c[13965]=gE()|0;b=c[4003]|0;WE(56496,b,56544);c[13966]=16724;c[13967]=16744;FE(55868,56496);c[13985]=0;c[13986]=Uf()|0;XE(56552,b,56600);c[13987]=16772;c[13988]=16792;FE(55952,56552);c[14006]=0;c[14007]=gE()|0;b=c[4001]|0;WE(56608,b,56656);c[14008]=16724;c[14009]=16744;FE(56036,56608);c[14027]=0;c[14028]=Uf()|0;a=c[56032+(c[(c[14008]|0)+-12>>2]|0)+24>>2]|0;c[14050]=16724;c[14051]=16744;FE(56204,a);c[14069]=0;c[14070]=Uf()|0;XE(56664,b,56712);c[14029]=16772;c[14030]=16792;FE(56120,56664);c[14048]=0;c[14049]=gE()|0;b=c[56116+(c[(c[14029]|0)+-12>>2]|0)+24>>2]|0;c[14071]=16772;c[14072]=16792;FE(56288,b);c[14090]=0;c[14091]=gE()|0;c[55688+(c[(c[13922]|0)+-12>>2]|0)+72>>2]=55864;c[55776+(c[(c[13944]|0)+-12>>2]|0)+72>>2]=55948;b=(c[14008]|0)+-12|0;a=56032+(c[b>>2]|0)+4|0;c[a>>2]=c[a>>2]|8192;a=(c[14029]|0)+-12|0;d=56116+(c[a>>2]|0)+4|0;c[d>>2]=c[d>>2]|8192;c[56032+(c[b>>2]|0)+72>>2]=55864;c[56116+(c[a>>2]|0)+72>>2]=55948;return}function UE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=yb;yb=yb+16|0;g=f;IE(b);c[b>>2]=17008;c[b+32>>2]=d;c[b+40>>2]=e;c[b+48>>2]=Uf()|0;a[b+52>>0]=0;e=c[(c[b>>2]|0)+8>>2]|0;UN(g,b+4|0);Sb[e&63](b,g);WF(g);yb=f;return}function VE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=yb;yb=yb+16|0;g=f;JE(b);c[b>>2]=16944;c[b+32>>2]=d;c[b+40>>2]=e;c[b+48>>2]=gE()|0;a[b+52>>0]=0;e=c[(c[b>>2]|0)+8>>2]|0;UN(g,b+4|0);Sb[e&63](b,g);WF(g);yb=f;return}function WE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=yb;yb=yb+16|0;g=f;IE(b);c[b>>2]=16880;c[b+32>>2]=d;UN(g,b+4|0);d=VF(g,57040)|0;WF(g);c[b+36>>2]=d;c[b+40>>2]=e;a[b+44>>0]=(Eb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;yb=f;return}function XE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=yb;yb=yb+16|0;g=f;JE(b);c[b>>2]=16816;c[b+32>>2]=d;UN(g,b+4|0);d=VF(g,57048)|0;WF(g);c[b+36>>2]=d;c[b+40>>2]=e;a[b+44>>0]=(Eb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;yb=f;return}function YE(a){a=a|0;UD(a);QA(a);return}function ZE(b,d){b=b|0;d=d|0;Eb[c[(c[b>>2]|0)+24>>2]&127](b)|0;d=VF(d,57048)|0;c[b+36>>2]=d;a[b+44>>0]=(Eb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;return}function _E(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=yb;yb=yb+16|0;d=k+8|0;e=k;f=a+36|0;g=a+40|0;h=d+8|0;i=d;b=a+32|0;a:while(1){a=c[f>>2]|0;a=Kb[c[(c[a>>2]|0)+20>>2]&31](a,c[g>>2]|0,d,h,e)|0;l=(c[e>>2]|0)-i|0;if((jz(d,1,l,c[b>>2]|0)|0)!=(l|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{j=4;break a}}}if((j|0)==4)a=((wz(c[b>>2]|0)|0)!=0)<<31>>31;yb=k;return a|0}function $E(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if(!(a[b+44>>0]|0)){f=0;while(1){if((f|0)>=(e|0))break a;h=c[(c[b>>2]|0)+52>>2]|0;g=hE(c[d>>2]|0)|0;g=Gb[h&63](b,g)|0;if((g|0)==(gE()|0))break a;f=f+1|0;d=d+4|0}}else f=jz(d,4,e,c[b+32>>2]|0)|0;while(0);return f|0}function aF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=yb;yb=yb+32|0;l=o+16|0;f=o+8|0;m=o+4|0;n=o;do if(!(HE(d,gE()|0)|0)){c[f>>2]=jE(d)|0;if(a[b+44>>0]|0){if((jz(f,4,1,c[b+32>>2]|0)|0)==1){e=15;break}b=gE()|0;break}c[m>>2]=l;e=f+4|0;g=b+36|0;h=b+40|0;i=l+8|0;j=l;k=b+32|0;while(1){b=c[g>>2]|0;b=Ob[c[(c[b>>2]|0)+12>>2]&15](b,c[h>>2]|0,f,e,n,l,i,m)|0;if((c[n>>2]|0)==(f|0)){e=14;break}if((b|0)==3){e=8;break}if(b>>>0>=2){e=14;break}f=(c[m>>2]|0)-j|0;if((jz(l,1,f,c[k>>2]|0)|0)!=(f|0)){e=14;break}if((b|0)==1)f=c[n>>2]|0;else{e=13;break}}if((e|0)==8)if((jz(f,1,1,c[k>>2]|0)|0)==1)e=13;else e=14;if((e|0)==13){e=15;break}else if((e|0)==14){b=gE()|0;break}}else e=15;while(0);if((e|0)==15)b=bF(d)|0;yb=o;return b|0}function bF(a){a=a|0;if(HE(a,gE()|0)|0)a=~(gE()|0);return a|0}function cF(a){a=a|0;FD(a);QA(a);return}function dF(b,d){b=b|0;d=d|0;Eb[c[(c[b>>2]|0)+24>>2]&127](b)|0;d=VF(d,57040)|0;c[b+36>>2]=d;a[b+44>>0]=(Eb[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;return}function eF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=yb;yb=yb+16|0;d=k+8|0;e=k;f=a+36|0;g=a+40|0;h=d+8|0;i=d;b=a+32|0;a:while(1){a=c[f>>2]|0;a=Kb[c[(c[a>>2]|0)+20>>2]&31](a,c[g>>2]|0,d,h,e)|0;l=(c[e>>2]|0)-i|0;if((jz(d,1,l,c[b>>2]|0)|0)!=(l|0)){a=-1;break}switch(a|0){case 1:break;case 2:{a=-1;break a}default:{j=4;break a}}}if((j|0)==4)a=((wz(c[b>>2]|0)|0)!=0)<<31>>31;yb=k;return a|0}function fF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if(!(a[b+44>>0]|0)){f=0;while(1){if((f|0)>=(e|0))break a;h=c[(c[b>>2]|0)+52>>2]|0;g=ag(a[d>>0]|0)|0;g=Gb[h&63](b,g)|0;if((g|0)==(Uf()|0))break a;f=f+1|0;d=d+1|0}}else f=jz(d,1,e,c[b+32>>2]|0)|0;while(0);return f|0}function gF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=yb;yb=yb+32|0;l=o+16|0;f=o+8|0;m=o+4|0;n=o;do if(!(Yf(d,Uf()|0)|0)){a[f>>0]=cg(d)|0;if(a[b+44>>0]|0){if((jz(f,1,1,c[b+32>>2]|0)|0)==1){e=15;break}b=Uf()|0;break}c[m>>2]=l;e=f+1|0;g=b+36|0;h=b+40|0;i=l+8|0;j=l;k=b+32|0;while(1){b=c[g>>2]|0;b=Ob[c[(c[b>>2]|0)+12>>2]&15](b,c[h>>2]|0,f,e,n,l,i,m)|0;if((c[n>>2]|0)==(f|0)){e=14;break}if((b|0)==3){e=8;break}if(b>>>0>=2){e=14;break}f=(c[m>>2]|0)-j|0;if((jz(l,1,f,c[k>>2]|0)|0)!=(f|0)){e=14;break}if((b|0)==1)f=c[n>>2]|0;else{e=13;break}}if((e|0)==8)if((jz(f,1,1,c[k>>2]|0)|0)==1)e=13;else e=14;if((e|0)==13){e=15;break}else if((e|0)==14){b=Uf()|0;break}}else e=15;while(0);if((e|0)==15)b=bg(d)|0;yb=o;return b|0}function hF(a){a=a|0;UD(a);QA(a);return}function iF(b,d){b=b|0;d=d|0;var e=0,f=0;f=VF(d,57048)|0;e=b+36|0;c[e>>2]=f;d=b+44|0;c[d>>2]=Eb[c[(c[f>>2]|0)+24>>2]&127](f)|0;e=c[e>>2]|0;a[b+53>>0]=(Eb[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;if((c[d>>2]|0)>8)lJ(49046);else return}function jF(a){a=a|0;return mF(a,0)|0}function kF(a){a=a|0;return mF(a,1)|0}function lF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=yb;yb=yb+32|0;h=l+16|0;i=l+8|0;f=l+4|0;g=l;j=HE(d,gE()|0)|0;k=b+52|0;e=(a[k>>0]|0)!=0;do if(j)if(e)e=d;else{e=c[b+48>>2]|0;a[k>>0]=((HE(e,gE()|0)|0)^1)&1}else{if(e){j=b+48|0;c[f>>2]=jE(c[j>>2]|0)|0;e=c[b+36>>2]|0;switch(Ob[c[(c[e>>2]|0)+12>>2]&15](e,c[b+40>>2]|0,f,f+4|0,g,h,h+8|0,i)|0){case 1:case 2:{g=11;break}case 3:{a[h>>0]=c[j>>2];c[i>>2]=h+1;g=8;break}default:g=8}a:do if((g|0)==8){e=b+32|0;while(1){f=c[i>>2]|0;if(f>>>0<=h>>>0){f=1;e=0;break a}b=f+-1|0;c[i>>2]=b;if((aA(a[b>>0]|0,c[e>>2]|0)|0)==-1){g=11;break}}}while(0);if((g|0)==11){f=0;e=gE()|0}if(f)e=j;else break}else e=b+48|0;c[e>>2]=d;a[k>>0]=1;e=d}while(0);yb=l;return e|0}function mF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=yb;yb=yb+32|0;p=r+16|0;q=r+8|0;l=r+4|0;m=r;g=b+52|0;if(a[g>>0]|0){f=b+48|0;e=c[f>>2]|0;if(d){c[f>>2]=gE()|0;a[g>>0]=0}}else{e=c[b+44>>2]|0;e=(e|0)>1?e:1;o=b+32|0;f=0;while(1){if(f>>>0>=e>>>0){n=9;break}g=Xz(c[o>>2]|0)|0;if((g|0)==-1){n=8;break}a[p+f>>0]=g;f=f+1|0}if((n|0)==8)e=gE()|0;else if((n|0)==9){do if(!(a[b+53>>0]|0)){i=b+40|0;j=b+36|0;k=q+4|0;a:while(1){s=c[i>>2]|0;g=s;f=c[g>>2]|0;g=c[g+4>>2]|0;t=c[j>>2]|0;h=p+e|0;switch(Ob[c[(c[t>>2]|0)+16>>2]&15](t,s,p,h,l,q,k,m)|0){case 3:{n=15;break a}case 2:{n=17;break a}case 1:break;default:break a}t=c[i>>2]|0;c[t>>2]=f;c[t+4>>2]=g;if((e|0)==8){n=17;break}f=Xz(c[o>>2]|0)|0;if((f|0)==-1){n=17;break}a[h>>0]=f;e=e+1|0}if((n|0)==15)c[q>>2]=a[p>>0];else if((n|0)==17){e=gE()|0;break}n=19}else{c[q>>2]=a[p>>0];n=19}while(0);b:do if((n|0)==19){c:do if(d)c[b+48>>2]=hE(c[q>>2]|0)|0;else{do{if((e|0)<=0)break c;e=e+-1|0;t=hE(a[p+e>>0]|0)|0}while((aA(t,c[o>>2]|0)|0)!=-1);e=gE()|0;break b}while(0);e=hE(c[q>>2]|0)|0}while(0)}}yb=r;return e|0}function nF(a){a=a|0;FD(a);QA(a);return}function oF(b,d){b=b|0;d=d|0;var e=0,f=0;f=VF(d,57040)|0;e=b+36|0;c[e>>2]=f;d=b+44|0;c[d>>2]=Eb[c[(c[f>>2]|0)+24>>2]&127](f)|0;e=c[e>>2]|0;a[b+53>>0]=(Eb[c[(c[e>>2]|0)+28>>2]&127](e)|0)&1;if((c[d>>2]|0)>8)lJ(49046);else return}function pF(a){a=a|0;return sF(a,0)|0}function qF(a){a=a|0;return sF(a,1)|0}function rF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=yb;yb=yb+32|0;h=l+16|0;i=l+4|0;f=l+8|0;g=l;j=Yf(d,Uf()|0)|0;k=b+52|0;e=(a[k>>0]|0)!=0;do if(j)if(e)e=d;else{e=c[b+48>>2]|0;a[k>>0]=((Yf(e,Uf()|0)|0)^1)&1}else{if(e){j=b+48|0;a[f>>0]=cg(c[j>>2]|0)|0;e=c[b+36>>2]|0;switch(Ob[c[(c[e>>2]|0)+12>>2]&15](e,c[b+40>>2]|0,f,f+1|0,g,h,h+8|0,i)|0){case 1:case 2:{g=11;break}case 3:{a[h>>0]=c[j>>2];c[i>>2]=h+1;g=8;break}default:g=8}a:do if((g|0)==8){e=b+32|0;while(1){f=c[i>>2]|0;if(f>>>0<=h>>>0){f=1;e=0;break a}b=f+-1|0;c[i>>2]=b;if((aA(a[b>>0]|0,c[e>>2]|0)|0)==-1){g=11;break}}}while(0);if((g|0)==11){f=0;e=Uf()|0}if(f)e=j;else break}else e=b+48|0;c[e>>2]=d;a[k>>0]=1;e=d}while(0);yb=l;return e|0}function sF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=yb;yb=yb+32|0;p=r+16|0;q=r+8|0;l=r+4|0;m=r;g=b+52|0;if(a[g>>0]|0){f=b+48|0;e=c[f>>2]|0;if(d){c[f>>2]=Uf()|0;a[g>>0]=0}}else{e=c[b+44>>2]|0;e=(e|0)>1?e:1;o=b+32|0;f=0;while(1){if(f>>>0>=e>>>0){n=9;break}g=Xz(c[o>>2]|0)|0;if((g|0)==-1){n=8;break}a[p+f>>0]=g;f=f+1|0}if((n|0)==8)e=Uf()|0;else if((n|0)==9){do if(!(a[b+53>>0]|0)){i=b+40|0;j=b+36|0;k=q+1|0;a:while(1){s=c[i>>2]|0;g=s;f=c[g>>2]|0;g=c[g+4>>2]|0;t=c[j>>2]|0;h=p+e|0;switch(Ob[c[(c[t>>2]|0)+16>>2]&15](t,s,p,h,l,q,k,m)|0){case 3:{n=15;break a}case 2:{n=17;break a}case 1:break;default:break a}t=c[i>>2]|0;c[t>>2]=f;c[t+4>>2]=g;if((e|0)==8){n=17;break}f=Xz(c[o>>2]|0)|0;if((f|0)==-1){n=17;break}a[h>>0]=f;e=e+1|0}if((n|0)==15)a[q>>0]=a[p>>0]|0;else if((n|0)==17){e=Uf()|0;break}n=19}else{a[q>>0]=a[p>>0]|0;n=19}while(0);b:do if((n|0)==19){c:do if(d)c[b+48>>2]=ag(a[q>>0]|0)|0;else{do{if((e|0)<=0)break c;e=e+-1|0;t=ag(a[p+e>>0]|0)|0}while((aA(t,c[o>>2]|0)|0)!=-1);e=Uf()|0;break b}while(0);e=ag(a[q>>0]|0)|0}while(0)}}yb=r;return e|0}function tF(a){a=a|0;AF(a);return}function uF(a){a=a|0;tF(a);QA(a);return}function vF(a){a=a|0;if(a|0)Qb[c[(c[a>>2]|0)+4>>2]&255](a);return}function wF(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;b=c;while(1){if((e|0)==(f|0)){h=7;break}if((b|0)==(d|0)){b=-1;break}c=a[b>>0]|0;g=a[e>>0]|0;if(c<<24>>24>24){b=-1;break}if(g<<24>>24>24){b=1;break}e=e+1|0;b=b+1|0}if((h|0)==7)b=(b|0)!=(d|0)&1;return b|0}function xF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;zF(a,d,e);return}function yF(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;b=0;while(1){if((c|0)==(d|0))break;e=(b<<4)+(a[c>>0]|0)|0;f=e&-268435456;b=(f>>>24|f)^e;c=c+1|0}return b|0}function zF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=yb;yb=yb+16|0;g=d;i=j;f=e-g|0;if(f>>>0>4294967279)cO(b);if(f>>>0<11){a[b+11>>0]=f;h=b}else{k=f+16&-16;h=rB(k)|0;c[b>>2]=h;c[b+8>>2]=k|-2147483648;c[b+4>>2]=f}f=e-g|0;b=h;while(1){if((d|0)==(e|0))break;$f(b,d);d=d+1|0;b=b+1|0}a[i>>0]=0;$f(h+f|0,i);yb=j;return}function AF(a){a=a|0;return}function BF(a){a=a|0;AF(a);return}function CF(a){a=a|0;BF(a);QA(a);return}function DF(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a=b;while(1){if((e|0)==(f|0)){h=7;break}if((a|0)==(d|0)){a=-1;break}b=c[a>>2]|0;g=c[e>>2]|0;if((b|0)<(g|0)){a=-1;break}if((g|0)<(b|0)){a=1;break}e=e+4|0;a=a+4|0}if((h|0)==7)a=(a|0)!=(d|0)&1;return a|0}function EF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;GF(a,d,e);return}function FF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a=0;while(1){if((b|0)==(d|0))break;e=(c[b>>2]|0)+(a<<4)|0;f=e&-268435456;a=(f>>>24|f)^e;b=b+4|0}return a|0}function GF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=yb;yb=yb+16|0;i=j;h=e-d>>2;if(h>>>0>1073741807)cO(b);do if(h>>>0>=2){g=h+4&-4;if(g>>>0>1073741823)ua();else{f=rB(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=h;break}}else{a[b+8+3>>0]=h;f=b}while(0);while(1){if((d|0)==(e|0))break;HF(f,d);d=d+4|0;f=f+4|0}c[i>>2]=0;HF(f,i);yb=j;return}function HF(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];return}function IF(a){a=a|0;AF(a);return}function JF(a){a=a|0;AF(a);QA(a);return}function KF(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=yb;yb=yb+48|0;i=o+40|0;n=o;j=o+32|0;k=o+36|0;l=o+28|0;m=o+24|0;if(!(c[f+4>>2]&1)){c[j>>2]=-1;m=c[(c[b>>2]|0)+16>>2]|0;c[k>>2]=c[d>>2];c[l>>2]=c[e>>2];c[n>>2]=c[k>>2];c[i>>2]=c[l>>2];c[d>>2]=Mb[m&63](b,n,i,f,g,j)|0;switch(c[j>>2]|0){case 0:{a[h>>0]=0;break}case 1:{a[h>>0]=1;break}default:{a[h>>0]=1;c[g>>2]=4}}i=c[d>>2]|0}else{GE(i,f);l=VF(i,56736)|0;WF(i);GE(i,f);b=VF(i,56752)|0;WF(i);Sb[c[(c[b>>2]|0)+24>>2]&63](n,b);Sb[c[(c[b>>2]|0)+28>>2]&63](n+12|0,b);c[m>>2]=c[e>>2];b=n+24|0;c[i>>2]=c[m>>2];a[h>>0]=(DG(d,i,n,b,l,g,1)|0)==(n|0)&1;i=c[d>>2]|0;do{b=b+-12|0;hO(b)}while((b|0)!=(n|0))}yb=o;return i|0}function LF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=yb;yb=yb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=BG(a,j,i,e,f,g)|0;yb=h;return g|0}function MF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=yb;yb=yb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=zG(a,j,i,e,f,g)|0;yb=h;return g|0}function NF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=yb;yb=yb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=xG(a,j,i,e,f,g)|0;yb=h;return g|0}function OF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=yb;yb=yb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=vG(a,j,i,e,f,g)|0;yb=h;return g|0}function PF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=yb;yb=yb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=tG(a,j,i,e,f,g)|0;yb=h;return g|0}function QF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=yb;yb=yb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=nG(a,j,i,e,f,g)|0;yb=h;return g|0}function RF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=yb;yb=yb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=lG(a,j,i,e,f,g)|0;yb=h;return g|0}function SF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=yb;yb=yb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=jG(a,j,i,e,f,g)|0;yb=h;return g|0}function TF(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=yb;yb=yb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=eG(a,j,i,e,f,g)|0;yb=h;return g|0}function UF(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=yb;yb=yb+240|0;v=y+192|0;t=y+160|0;w=y+220|0;x=y+208|0;u=y+204|0;q=y;r=y+200|0;s=y+196|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[w+(b<<2)>>2]=0;b=b+1|0}GE(x,f);b=VF(x,56736)|0;Ib[c[(c[b>>2]|0)+32>>2]&15](b,12928,12954,t)|0;WF(x);c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[x+(b<<2)>>2]=0;b=b+1|0}p=x+11|0;o=x+8|0;if((a[p>>0]|0)<0)b=(c[o>>2]&2147483647)+-1|0;else b=10;mO(x,b,0);b=(a[p>>0]|0)<0?c[x>>2]|0:x;c[u>>2]=b;c[r>>2]=q;c[s>>2]=0;n=x+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=ag(a[f>>0]|0)|0;if(Yf(f,Uf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=ag(a[f>>0]|0)|0;if(!(Yf(f,Uf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;z=22;break}}else z=22;while(0);if((z|0)==22){z=0;if(k){i=0;break}else i=0}f=a[p>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[u>>2]|0)==(b+f|0)){mO(x,f<<1,0);if((a[p>>0]|0)<0)b=(c[o>>2]&2147483647)+-1|0;else b=10;mO(x,b,0);b=(a[p>>0]|0)<0?c[x>>2]|0:x;c[u>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=ag(a[f>>0]|0)|0;if(XF(f&255,16,b,u,s,0,w,q,r,t)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;ag(a[f>>0]|0)|0}i=m}mO(x,(c[u>>2]|0)-b|0,0);t=(a[p>>0]|0)<0?c[x>>2]|0:x;u=YF()|0;c[v>>2]=h;if((ZF(t,u,49194,v)|0)!=1)c[g>>2]=4;if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Eb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=ag(a[b>>0]|0)|0;if(Yf(b,Uf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=ag(a[b>>0]|0)|0;if(!(Yf(b,Uf()|0)|0))if(f)break;else{z=52;break}else{c[e>>2]=0;z=50;break}}else z=50;while(0);if((z|0)==50?f:0)z=52;if((z|0)==52)c[g>>2]=c[g>>2]|2;z=c[d>>2]|0;hO(x);hO(w);yb=y;return z|0}function VF(a,b){a=a|0;b=b|0;a=c[a>>2]|0;return $F(a,_F(b)|0)|0}function WF(a){a=a|0;var b=0,d=0;a=c[a>>2]|0;d=a+4|0;b=c[d>>2]|0;c[d>>2]=b+-1;if(!b)Qb[c[(c[a>>2]|0)+8>>2]&255](a);return}function XF(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do if(p){m=(a[l+24>>0]|0)==b<<24>>24;if(!m?(a[l+25>>0]|0)!=b<<24>>24:0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5;while(0);a:do if((n|0)==5){n=a[i+11>>0]|0;if(b<<24>>24==h<<24>>24?((n<<24>>24<0?c[i+4>>2]|0:n&255)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}f=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=f;c[g>>2]=0;m=0;break}i=l+26|0;h=0;while(1){m=l+h|0;if((h|0)==26){m=i;break}if((a[m>>0]|0)==b<<24>>24)break;else h=h+1|0}m=m-l|0;if((m|0)>23)m=-1;else{switch(d|0){case 10:case 8:{if((m|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=22){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[12928+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[12928+m>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}while(0);return m|0}function YF(){if((a[54800]|0)==0?lB(54800)|0:0){c[14186]=_y(2147483647,49197,0)|0;nB(54800)}return c[14186]|0}function ZF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=yb;yb=yb+16|0;g=f;c[g>>2]=e;e=cz(b)|0;b=Bz(a,d,g)|0;if(e|0)cz(e)|0;yb=f;return b|0}function _F(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=yb;yb=yb+48|0;b=f+32|0;d=f+24|0;e=f;g=f+16|0;c[g>>2]=143;c[g+4>>2]=0;c[b>>2]=c[g>>2];c[b+4>>2]=c[g+4>>2];bG(e,b,a);if((c[a>>2]|0)!=-1){c[b>>2]=e;c[d>>2]=b;ZN(a,d,144)}yb=f;return (c[a+4>>2]|0)+-1|0}function $F(a,b){a=a|0;b=b|0;return c[(c[a+8>>2]|0)+(b<<2)>>2]|0}function aG(a){a=a|0;var b=0;b=c[14187]|0;c[14187]=b+1;c[a+4>>2]=b+1;return}function bG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=c[b>>2]|0;b=c[b+4>>2]|0;c[a>>2]=d;c[a+4>>2]=e;c[a+8>>2]=b;return}function cG(a){a=a|0;dG(c[c[a>>2]>>2]|0);return}function dG(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;e=c[a+8>>2]|0;d=(c[a>>2]|0)+(e>>1)|0;if(!(e&1))a=b;else a=c[(c[d>>2]|0)+b>>2]|0;Qb[a&255](d);return}function eG(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=yb;yb=yb+240|0;s=D+160|0;t=D+231|0;u=D+230|0;C=D+216|0;B=D+204|0;v=D+200|0;w=D;x=D+196|0;y=D+192|0;z=D+229|0;r=D+228|0;fG(C,f,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;mO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=ag(a[f>>0]|0)|0;if(Yf(f,Uf()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=ag(a[f>>0]|0)|0;if(!(Yf(f,Uf()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){mO(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;mO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+f}l=k+12|0;f=c[l>>2]|0;m=k+16|0;if((f|0)==(c[m>>2]|0))f=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=ag(a[f>>0]|0)|0;if(gG(f&255,z,r,b,v,a[t>>0]|0,a[u>>0]|0,C,w,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0))Eb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=f+1;ag(a[f>>0]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}g[i>>3]=+hG(b,c[v>>2]|0,h);iG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Eb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=ag(a[b>>0]|0)|0;if(Yf(b,Uf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=ag(a[b>>0]|0)|0;if(!(Yf(b,Uf()|0)|0))if(f)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?f:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;hO(B);hO(C);yb=D;return E|0}function fG(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;i=h;GE(i,d);d=VF(i,56736)|0;Ib[c[(c[d>>2]|0)+32>>2]&15](d,12928,12960,e)|0;e=VF(i,56752)|0;a[f>>0]=Eb[c[(c[e>>2]|0)+12>>2]&127](e)|0;a[g>>0]=Eb[c[(c[e>>2]|0)+16>>2]&127](e)|0;Sb[c[(c[e>>2]|0)+20>>2]&63](b,e);WF(i);yb=h;return}function gG(b,d,e,f,g,h,i,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0;a:do if(b<<24>>24==h<<24>>24)if(a[d>>0]|0){a[d>>0]=0;e=c[g>>2]|0;c[g>>2]=e+1;a[e>>0]=46;g=a[j+11>>0]|0;if(((g<<24>>24<0?c[j+4>>2]|0:g&255)|0)!=0?(o=c[l>>2]|0,(o-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;o=0}else o=0}else o=-1;else{if(b<<24>>24==i<<24>>24?(i=a[j+11>>0]|0,(i<<24>>24<0?c[j+4>>2]|0:i&255)|0):0){if(!(a[d>>0]|0)){o=-1;break}o=c[l>>2]|0;if((o-k|0)>=160){o=0;break}k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;c[m>>2]=0;o=0;break}i=n+32|0;h=0;while(1){o=n+h|0;if((h|0)==32){o=i;break}if((a[o>>0]|0)==b<<24>>24)break;else h=h+1|0}h=o-n|0;if((h|0)>31)o=-1;else{i=a[12928+h>>0]|0;switch(h|0){case 24:case 25:{o=c[g>>2]|0;if((o|0)!=(f|0)?(a[o+-1>>0]&95)!=(a[e>>0]&127):0){o=-1;break a}c[g>>2]=o+1;a[o>>0]=i;o=0;break a}case 23:case 22:{a[e>>0]=80;o=c[g>>2]|0;c[g>>2]=o+1;a[o>>0]=i;o=0;break a}default:{o=i&95;if((((o|0)==(a[e>>0]|0)?(a[e>>0]=o|128,a[d>>0]|0):0)?(a[d>>0]=0,e=a[j+11>>0]|0,(e<<24>>24<0?c[j+4>>2]|0:e&255)|0):0)?(p=c[l>>2]|0,(p-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=p+4;c[p>>2]=k}l=c[g>>2]|0;c[g>>2]=l+1;a[l>>0]=i;if((h|0)>21){o=0;break a}c[m>>2]=(c[m>>2]|0)+1;o=0;break a}}}}while(0);return o|0}function hG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0;i=yb;yb=yb+16|0;f=i;if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{g=c[(mx()|0)>>2]|0;c[(mx()|0)>>2]=0;e=+pA(a,f,YF()|0);a=c[(mx()|0)>>2]|0;if(!a)c[(mx()|0)>>2]=g;if((c[f>>2]|0)==(b|0)){if((a|0)==68)h=6}else{e=0.0;h=6}if((h|0)==6)c[d>>2]=4}yb=i;return +e}function iG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;j=b+11|0;h=a[j>>0]|0;k=b+4|0;g=c[k>>2]|0;i=h&255;do if((h<<24>>24<0?g:i)|0){if((d|0)!=(e|0)){g=e;h=d;while(1){g=g+-4|0;if(h>>>0>=g>>>0)break;i=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=i;h=h+4|0}h=a[j>>0]|0;i=h&255;g=c[k>>2]|0}j=h<<24>>24<0;b=j?c[b>>2]|0:b;k=e+-4|0;j=b+(j?g:i)|0;g=b;while(1){h=a[g>>0]|0;i=h<<24>>24>0&h<<24>>24!=127;if(d>>>0>=k>>>0)break;if(i?(c[d>>2]|0)!=(h<<24>>24|0):0){l=11;break}d=d+4|0;g=(j-g|0)>1?g+1|0:g}if((l|0)==11){c[f>>2]=4;break}if(i?((c[k>>2]|0)+-1|0)>>>0>=h<<24>>24>>>0:0)c[f>>2]=4}while(0);return}function jG(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=yb;yb=yb+240|0;s=D+160|0;t=D+231|0;u=D+230|0;C=D+216|0;B=D+204|0;v=D+200|0;w=D;x=D+196|0;y=D+192|0;z=D+229|0;r=D+228|0;fG(C,f,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;mO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=ag(a[f>>0]|0)|0;if(Yf(f,Uf()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=ag(a[f>>0]|0)|0;if(!(Yf(f,Uf()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){mO(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;mO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+f}l=k+12|0;f=c[l>>2]|0;m=k+16|0;if((f|0)==(c[m>>2]|0))f=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=ag(a[f>>0]|0)|0;if(gG(f&255,z,r,b,v,a[t>>0]|0,a[u>>0]|0,C,w,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0))Eb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=f+1;ag(a[f>>0]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}g[i>>3]=+kG(b,c[v>>2]|0,h);iG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Eb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=ag(a[b>>0]|0)|0;if(Yf(b,Uf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=ag(a[b>>0]|0)|0;if(!(Yf(b,Uf()|0)|0))if(f)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?f:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;hO(B);hO(C);yb=D;return E|0}function kG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0;i=yb;yb=yb+16|0;f=i;if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{g=c[(mx()|0)>>2]|0;c[(mx()|0)>>2]=0;e=+oA(a,f,YF()|0);a=c[(mx()|0)>>2]|0;if(!a)c[(mx()|0)>>2]=g;if((c[f>>2]|0)==(b|0)){if((a|0)==68)h=6}else{e=0.0;h=6}if((h|0)==6)c[d>>2]=4}yb=i;return +e}function lG(b,d,e,g,h,i){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=yb;yb=yb+240|0;s=D+160|0;t=D+231|0;u=D+230|0;C=D+216|0;B=D+204|0;v=D+200|0;w=D;x=D+196|0;y=D+192|0;z=D+229|0;r=D+228|0;fG(C,g,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;mO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=ag(a[g>>0]|0)|0;if(Yf(g,Uf()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else g=ag(a[g>>0]|0)|0;if(!(Yf(g,Uf()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}g=a[p>>0]|0;g=g<<24>>24<0?c[o>>2]|0:g&255;if((c[v>>2]|0)==(b+g|0)){mO(B,g<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;mO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+g}l=k+12|0;g=c[l>>2]|0;m=k+16|0;if((g|0)==(c[m>>2]|0))g=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=ag(a[g>>0]|0)|0;if(gG(g&255,z,r,b,v,a[t>>0]|0,a[u>>0]|0,C,w,x,y,s)|0)break;g=c[l>>2]|0;if((g|0)==(c[m>>2]|0))Eb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=g+1;ag(a[g>>0]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}f[i>>2]=+mG(b,c[v>>2]|0,h);iG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Eb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=ag(a[b>>0]|0)|0;if(Yf(b,Uf()|0)|0){c[d>>2]=0;g=1}else g=0}else g=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=ag(a[b>>0]|0)|0;if(!(Yf(b,Uf()|0)|0))if(g)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?g:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;hO(B);hO(C);yb=D;return E|0}function mG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0;i=yb;yb=yb+16|0;f=i;if((a|0)==(b|0)){c[d>>2]=4;e=0.0}else{g=c[(mx()|0)>>2]|0;c[(mx()|0)>>2]=0;e=+nA(a,f,YF()|0);a=c[(mx()|0)>>2]|0;if(!a)c[(mx()|0)>>2]=g;if((c[f>>2]|0)==(b|0)){if((a|0)==68)h=6}else{e=0.0;h=6}if((h|0)==6)c[d>>2]=4}yb=i;return +e}function nG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=yb;yb=yb+240|0;r=B+224|0;y=B+212|0;z=B+200|0;s=B+196|0;t=B;v=B+192|0;w=B+188|0;x=oG(f)|0;q=pG(b,f,B+160|0)|0;qG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;mO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=ag(a[f>>0]|0)|0;if(Yf(f,Uf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=ag(a[f>>0]|0)|0;if(!(Yf(f,Uf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){mO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;mO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=ag(a[f>>0]|0)|0;if(XF(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;ag(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}w=rG(b,c[s>>2]|0,g,x)|0;x=F()|0;c[h>>2]=w;c[h+4>>2]=x;iG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Eb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=ag(a[b>>0]|0)|0;if(Yf(b,Uf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=ag(a[b>>0]|0)|0;if(!(Yf(b,Uf()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;hO(z);hO(y);yb=B;return A|0}function oG(a){a=a|0;switch(c[a+4>>2]&74){case 64:{a=8;break}case 8:{a=16;break}case 0:{a=0;break}default:a=10}return a|0}function pG(a,b,c){a=a|0;b=b|0;c=c|0;return sG(a,b,c)|0}function qG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=yb;yb=yb+16|0;g=f;GE(g,d);d=VF(g,56752)|0;a[e>>0]=Eb[c[(c[d>>2]|0)+16>>2]&127](d)|0;Sb[c[(c[d>>2]|0)+20>>2]&63](b,d);WF(g);yb=f;return}function rG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=yb;yb=yb+16|0;i=k;do if((b|0)==(d|0)){c[e>>2]=4;f=0;b=0}else{j=(a[b>>0]|0)==45;if(j){b=b+1|0;if((b|0)==(d|0)){c[e>>2]=4;f=0;b=0;break}}h=c[(mx()|0)>>2]|0;c[(mx()|0)>>2]=0;b=rx(b,i,f,YF()|0)|0;g=F()|0;f=c[(mx()|0)>>2]|0;if(!f)c[(mx()|0)>>2]=h;do if((c[i>>2]|0)==(d|0))if((f|0)==68){c[e>>2]=4;b=-1;f=-1;break}else{i=NO(0,0,b|0,g|0)|0;f=F()|0;b=j?i:b;f=j?f:g;break}else{c[e>>2]=4;b=0;f=0}while(0)}while(0);E(f|0);yb=k;return b|0}function sG(a,b,c){a=a|0;b=b|0;c=c|0;return 12928}function tG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=yb;yb=yb+240|0;r=B+224|0;y=B+212|0;z=B+200|0;s=B+196|0;t=B;v=B+192|0;w=B+188|0;x=oG(f)|0;q=pG(b,f,B+160|0)|0;qG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;mO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=ag(a[f>>0]|0)|0;if(Yf(f,Uf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=ag(a[f>>0]|0)|0;if(!(Yf(f,Uf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){mO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;mO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=ag(a[f>>0]|0)|0;if(XF(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;ag(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}c[h>>2]=uG(b,c[s>>2]|0,g,x)|0;iG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Eb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=ag(a[b>>0]|0)|0;if(Yf(b,Uf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=ag(a[b>>0]|0)|0;if(!(Yf(b,Uf()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;hO(z);hO(y);yb=B;return A|0}function uG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=yb;yb=yb+16|0;i=k;do if((b|0)==(d|0)){c[e>>2]=4;b=0}else{j=(a[b>>0]|0)==45;if(j){b=b+1|0;if((b|0)==(d|0)){c[e>>2]=4;b=0;break}}h=c[(mx()|0)>>2]|0;c[(mx()|0)>>2]=0;b=rx(b,i,f,YF()|0)|0;f=F()|0;g=c[(mx()|0)>>2]|0;if(!g)c[(mx()|0)>>2]=h;do if((c[i>>2]|0)==(d|0))if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==68){c[e>>2]=4;b=-1;break}else{b=j?0-b|0:b;break}else{c[e>>2]=4;b=0}while(0)}while(0);yb=k;return b|0}function vG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=yb;yb=yb+240|0;r=B+224|0;y=B+212|0;z=B+200|0;s=B+196|0;t=B;v=B+192|0;w=B+188|0;x=oG(f)|0;q=pG(b,f,B+160|0)|0;qG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;mO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=ag(a[f>>0]|0)|0;if(Yf(f,Uf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=ag(a[f>>0]|0)|0;if(!(Yf(f,Uf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){mO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;mO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=ag(a[f>>0]|0)|0;if(XF(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;ag(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}c[h>>2]=wG(b,c[s>>2]|0,g,x)|0;iG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Eb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=ag(a[b>>0]|0)|0;if(Yf(b,Uf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=ag(a[b>>0]|0)|0;if(!(Yf(b,Uf()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;hO(z);hO(y);yb=B;return A|0}function wG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=yb;yb=yb+16|0;i=k;do if((b|0)==(d|0)){c[e>>2]=4;b=0}else{j=(a[b>>0]|0)==45;if(j){b=b+1|0;if((b|0)==(d|0)){c[e>>2]=4;b=0;break}}h=c[(mx()|0)>>2]|0;c[(mx()|0)>>2]=0;b=rx(b,i,f,YF()|0)|0;f=F()|0;g=c[(mx()|0)>>2]|0;if(!g)c[(mx()|0)>>2]=h;do if((c[i>>2]|0)==(d|0))if(f>>>0>0|(f|0)==0&b>>>0>4294967295|(g|0)==68){c[e>>2]=4;b=-1;break}else{b=j?0-b|0:b;break}else{c[e>>2]=4;b=0}while(0)}while(0);yb=k;return b|0}function xG(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=yb;yb=yb+240|0;s=C+224|0;z=C+212|0;A=C+200|0;t=C+196|0;u=C;w=C+192|0;x=C+188|0;y=oG(g)|0;r=pG(d,g,C+160|0)|0;qG(z,g,s);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[A+(d<<2)>>2]=0;d=d+1|0}p=A+11|0;q=A+8|0;if((a[p>>0]|0)<0)d=(c[q>>2]&2147483647)+-1|0;else d=10;mO(A,d,0);d=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=d;c[w>>2]=u;c[x>>2]=0;o=A+4|0;k=c[e>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=ag(a[g>>0]|0)|0;if(Yf(g,Uf()|0)|0){c[e>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[f>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else g=ag(a[g>>0]|0)|0;if(!(Yf(g,Uf()|0)|0))if(l)break;else break a;else{c[f>>2]=0;B=19;break}}else B=19;while(0);if((B|0)==19){B=0;if(l){j=0;break}else j=0}g=a[p>>0]|0;g=g<<24>>24<0?c[o>>2]|0:g&255;if((c[t>>2]|0)==(d+g|0)){mO(A,g<<1,0);if((a[p>>0]|0)<0)d=(c[q>>2]&2147483647)+-1|0;else d=10;mO(A,d,0);d=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=d+g}l=k+12|0;g=c[l>>2]|0;m=k+16|0;if((g|0)==(c[m>>2]|0))g=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=ag(a[g>>0]|0)|0;if(XF(g&255,y,d,t,x,a[s>>0]|0,z,u,w,r)|0)break;g=c[l>>2]|0;if((g|0)==(c[m>>2]|0))Eb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=g+1;ag(a[g>>0]|0)|0}j=n}s=a[z+11>>0]|0;if((s<<24>>24<0?c[z+4>>2]|0:s&255)|0?(v=c[w>>2]|0,(v-u|0)<160):0){x=c[x>>2]|0;c[w>>2]=v+4;c[v>>2]=x}b[i>>1]=yG(d,c[t>>2]|0,h,y)|0;iG(z,u,c[w>>2]|0,h);if(k){d=c[k+12>>2]|0;if((d|0)==(c[k+16>>2]|0))d=Eb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else d=ag(a[d>>0]|0)|0;if(Yf(d,Uf()|0)|0){c[e>>2]=0;g=1}else g=0}else g=1;do if(j){d=c[j+12>>2]|0;if((d|0)==(c[j+16>>2]|0))d=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else d=ag(a[d>>0]|0)|0;if(!(Yf(d,Uf()|0)|0))if(g)break;else{B=50;break}else{c[f>>2]=0;B=48;break}}else B=48;while(0);if((B|0)==48?g:0)B=50;if((B|0)==50)c[h>>2]=c[h>>2]|2;B=c[e>>2]|0;hO(A);hO(z);yb=C;return B|0}function yG(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=yb;yb=yb+16|0;i=k;do if((b|0)==(d|0)){c[e>>2]=4;b=0}else{j=(a[b>>0]|0)==45;if(j){b=b+1|0;if((b|0)==(d|0)){c[e>>2]=4;b=0;break}}h=c[(mx()|0)>>2]|0;c[(mx()|0)>>2]=0;b=rx(b,i,f,YF()|0)|0;f=F()|0;g=c[(mx()|0)>>2]|0;if(!g)c[(mx()|0)>>2]=h;do if((c[i>>2]|0)==(d|0)){if(f>>>0>0|(f|0)==0&b>>>0>65535|(g|0)==68){c[e>>2]=4;b=-1;break}if(j)b=0-b&65535;else b=b&65535}else{c[e>>2]=4;b=0}while(0)}while(0);yb=k;return b|0}function zG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=yb;yb=yb+240|0;r=B+224|0;y=B+212|0;z=B+200|0;s=B+196|0;t=B;v=B+192|0;w=B+188|0;x=oG(f)|0;q=pG(b,f,B+160|0)|0;qG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;mO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=ag(a[f>>0]|0)|0;if(Yf(f,Uf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=ag(a[f>>0]|0)|0;if(!(Yf(f,Uf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){mO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;mO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=ag(a[f>>0]|0)|0;if(XF(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;ag(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}w=AG(b,c[s>>2]|0,g,x)|0;x=F()|0;c[h>>2]=w;c[h+4>>2]=x;iG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Eb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=ag(a[b>>0]|0)|0;if(Yf(b,Uf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=ag(a[b>>0]|0)|0;if(!(Yf(b,Uf()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;hO(z);hO(y);yb=B;return A|0}function AG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=yb;yb=yb+16|0;g=i;if((a|0)==(b|0)){c[d>>2]=4;e=0;a=0}else{h=c[(mx()|0)>>2]|0;c[(mx()|0)>>2]=0;a=Ax(a,g,e,YF()|0)|0;e=F()|0;f=c[(mx()|0)>>2]|0;if(!f)c[(mx()|0)>>2]=h;if((c[g>>2]|0)==(b|0)){if((f|0)==68){c[d>>2]=4;e=(e|0)>0|(e|0)==0&a>>>0>0;a=e?-1:0;e=e?2147483647:-2147483648}}else{c[d>>2]=4;a=0;e=0}}E(e|0);yb=i;return a|0}function BG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=yb;yb=yb+240|0;r=B+224|0;y=B+212|0;z=B+200|0;s=B+196|0;t=B;v=B+192|0;w=B+188|0;x=oG(f)|0;q=pG(b,f,B+160|0)|0;qG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;mO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=ag(a[f>>0]|0)|0;if(Yf(f,Uf()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=ag(a[f>>0]|0)|0;if(!(Yf(f,Uf()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){mO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;mO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=ag(a[f>>0]|0)|0;if(XF(f&255,x,b,s,w,a[r>>0]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+1;ag(a[f>>0]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}c[h>>2]=CG(b,c[s>>2]|0,g,x)|0;iG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Eb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=ag(a[b>>0]|0)|0;if(Yf(b,Uf()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=ag(a[b>>0]|0)|0;if(!(Yf(b,Uf()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;hO(z);hO(y);yb=B;return A|0}function CG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=yb;yb=yb+16|0;g=i;if((a|0)==(b|0)){c[d>>2]=4;a=0}else{h=c[(mx()|0)>>2]|0;c[(mx()|0)>>2]=0;a=Ax(a,g,e,YF()|0)|0;e=F()|0;f=c[(mx()|0)>>2]|0;if(!f)c[(mx()|0)>>2]=h;a:do if((c[g>>2]|0)==(b|0)){do if((f|0)==68){c[d>>2]=4;if((e|0)>0|(e|0)==0&a>>>0>0){a=2147483647;break a}}else{if((e|0)<-1|(e|0)==-1&a>>>0<2147483648){c[d>>2]=4;break}if((e|0)>0|(e|0)==0&a>>>0>2147483647){c[d>>2]=4;a=2147483647;break a}else break a}while(0);a=-2147483648}else{c[d>>2]=4;a=0}while(0)}yb=i;return a|0}function DG(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=yb;yb=yb+112|0;k=w;l=(f-e|0)/12|0;if(l>>>0>100){k=DO(l)|0;if(!k)_N();else{j=k;u=k}}else{j=k;u=0}n=e;o=j;k=0;while(1){if((n|0)==(f|0))break;m=a[n+11>>0]|0;if(m<<24>>24<0)m=c[n+4>>2]|0;else m=m&255;if(!m){a[o>>0]=2;l=l+-1|0;k=k+1|0}else a[o>>0]=1;n=n+12|0;o=o+1|0}t=0;r=k;while(1){k=c[b>>2]|0;do if(k){m=c[k+12>>2]|0;if((m|0)==(c[k+16>>2]|0))k=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else k=ag(a[m>>0]|0)|0;if(Yf(k,Uf()|0)|0){c[b>>2]=0;o=1;break}else{o=(c[b>>2]|0)==0;break}}else o=1;while(0);m=c[d>>2]|0;if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0))k=Eb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else k=ag(a[k>>0]|0)|0;if(Yf(k,Uf()|0)|0){c[d>>2]=0;k=1;m=0}else k=0}else{k=1;m=0}n=c[b>>2]|0;if(!((l|0)!=0&(o^k)))break;k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=ag(a[k>>0]|0)|0;k=k&255;if(!i)k=Gb[c[(c[g>>2]|0)+12>>2]&63](g,k)|0;s=t+1|0;p=e;o=0;q=j;while(1){if((p|0)==(f|0))break;do if((a[q>>0]|0)==1){n=p+11|0;if((a[n>>0]|0)<0)m=c[p>>2]|0;else m=p;m=a[m+t>>0]|0;if(!i)m=Gb[c[(c[g>>2]|0)+12>>2]&63](g,m)|0;if(k<<24>>24!=m<<24>>24){a[q>>0]=0;m=o;n=r;l=l+-1|0;break}m=a[n>>0]|0;if(m<<24>>24<0)m=c[p+4>>2]|0;else m=m&255;if((m|0)==(s|0)){a[q>>0]=2;m=1;n=r+1|0;l=l+-1|0}else{m=1;n=r}}else{m=o;n=r}while(0);p=p+12|0;o=m;q=q+1|0;r=n}a:do if(o){k=c[b>>2]|0;m=k+12|0;n=c[m>>2]|0;if((n|0)==(c[k+16>>2]|0))Eb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[m>>2]=n+1;ag(a[n>>0]|0)|0}if((r+l|0)>>>0>1){n=e;o=j;k=r;while(1){if((n|0)==(f|0))break a;if((a[o>>0]|0)==2){m=a[n+11>>0]|0;if(m<<24>>24<0)m=c[n+4>>2]|0;else m=m&255;if((m|0)!=(s|0)){a[o>>0]=0;k=k+-1|0}}n=n+12|0;o=o+1|0}}else k=r}else k=r;while(0);t=s;r=k}do if(n){k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=ag(a[k>>0]|0)|0;if(Yf(k,Uf()|0)|0){c[b>>2]=0;l=1;break}else{l=(c[b>>2]|0)==0;break}}else l=1;while(0);do if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0))k=Eb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else k=ag(a[k>>0]|0)|0;if(!(Yf(k,Uf()|0)|0))if(l)break;else{v=79;break}else{c[d>>2]=0;v=41;break}}else v=41;while(0);if((v|0)==41?l:0)v=79;if((v|0)==79)c[h>>2]=c[h>>2]|2;while(1){if((e|0)==(f|0)){v=84;break}if((a[j>>0]|0)==2)break;e=e+12|0;j=j+1|0}if((v|0)==84){c[h>>2]=c[h>>2]|4;e=f}EO(u);yb=w;return e|0}function EG(a){a=a|0;AF(a);return}function FG(a){a=a|0;AF(a);QA(a);return}function GG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=yb;yb=yb+48|0;i=o+40|0;n=o;j=o+32|0;k=o+36|0;l=o+28|0;m=o+24|0;if(!(c[f+4>>2]&1)){c[j>>2]=-1;m=c[(c[b>>2]|0)+16>>2]|0;c[k>>2]=c[d>>2];c[l>>2]=c[e>>2];c[n>>2]=c[k>>2];c[i>>2]=c[l>>2];c[d>>2]=Mb[m&63](b,n,i,f,g,j)|0;switch(c[j>>2]|0){case 0:{a[h>>0]=0;break}case 1:{a[h>>0]=1;break}default:{a[h>>0]=1;c[g>>2]=4}}i=c[d>>2]|0}else{GE(i,f);l=VF(i,56768)|0;WF(i);GE(i,f);b=VF(i,56776)|0;WF(i);Sb[c[(c[b>>2]|0)+24>>2]&63](n,b);Sb[c[(c[b>>2]|0)+28>>2]&63](n+12|0,b);c[m>>2]=c[e>>2];b=n+24|0;c[i>>2]=c[m>>2];a[h>>0]=(eH(d,i,n,b,l,g,1)|0)==(n|0)&1;i=c[d>>2]|0;do{b=b+-12|0;uO(b)}while((b|0)!=(n|0))}yb=o;return i|0}function HG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=yb;yb=yb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=dH(a,j,i,e,f,g)|0;yb=h;return g|0}function IG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=yb;yb=yb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=cH(a,j,i,e,f,g)|0;yb=h;return g|0}function JG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=yb;yb=yb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=bH(a,j,i,e,f,g)|0;yb=h;return g|0}function KG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=yb;yb=yb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=aH(a,j,i,e,f,g)|0;yb=h;return g|0}function LG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=yb;yb=yb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=$G(a,j,i,e,f,g)|0;yb=h;return g|0}function MG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=yb;yb=yb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=XG(a,j,i,e,f,g)|0;yb=h;return g|0}function NG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=yb;yb=yb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=WG(a,j,i,e,f,g)|0;yb=h;return g|0}function OG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=yb;yb=yb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=VG(a,j,i,e,f,g)|0;yb=h;return g|0}function PG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=yb;yb=yb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=SG(a,j,i,e,f,g)|0;yb=h;return g|0}function QG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=yb;yb=yb+304|0;v=y+264|0;t=y+160|0;w=y+292|0;x=y+280|0;u=y+276|0;q=y;r=y+272|0;s=y+268|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[w+(b<<2)>>2]=0;b=b+1|0}GE(x,f);b=VF(x,56768)|0;Ib[c[(c[b>>2]|0)+48>>2]&15](b,12928,12954,t)|0;WF(x);c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[x+(b<<2)>>2]=0;b=b+1|0}p=x+11|0;o=x+8|0;if((a[p>>0]|0)<0)b=(c[o>>2]&2147483647)+-1|0;else b=10;mO(x,b,0);b=(a[p>>0]|0)<0?c[x>>2]|0:x;c[u>>2]=b;c[r>>2]=q;c[s>>2]=0;n=x+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=hE(c[f>>2]|0)|0;if(HE(f,gE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=hE(c[f>>2]|0)|0;if(!(HE(f,gE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;z=22;break}}else z=22;while(0);if((z|0)==22){z=0;if(k){i=0;break}else i=0}f=a[p>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[u>>2]|0)==(b+f|0)){mO(x,f<<1,0);if((a[p>>0]|0)<0)b=(c[o>>2]&2147483647)+-1|0;else b=10;mO(x,b,0);b=(a[p>>0]|0)<0?c[x>>2]|0:x;c[u>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=hE(c[f>>2]|0)|0;if(RG(f,16,b,u,s,0,w,q,r,t)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;hE(c[f>>2]|0)|0}i=m}mO(x,(c[u>>2]|0)-b|0,0);t=(a[p>>0]|0)<0?c[x>>2]|0:x;u=YF()|0;c[v>>2]=h;if((ZF(t,u,49194,v)|0)!=1)c[g>>2]=4;if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Eb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=hE(c[b>>2]|0)|0;if(HE(b,gE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=hE(c[b>>2]|0)|0;if(!(HE(b,gE()|0)|0))if(f)break;else{z=52;break}else{c[e>>2]=0;z=50;break}}else z=50;while(0);if((z|0)==50?f:0)z=52;if((z|0)==52)c[g>>2]=c[g>>2]|2;z=c[d>>2]|0;hO(x);hO(w);yb=y;return z|0}function RG(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;o=c[f>>2]|0;p=(o|0)==(e|0);do if(p){m=(c[l+96>>2]|0)==(b|0);if(!m?(c[l+100>>2]|0)!=(b|0):0){n=5;break}c[f>>2]=e+1;a[e>>0]=m?43:45;c[g>>2]=0;m=0}else n=5;while(0);a:do if((n|0)==5){n=a[i+11>>0]|0;if((b|0)==(h|0)?((n<<24>>24<0?c[i+4>>2]|0:n&255)|0)!=0:0){m=c[k>>2]|0;if((m-j|0)>=160){m=0;break}f=c[g>>2]|0;c[k>>2]=m+4;c[m>>2]=f;c[g>>2]=0;m=0;break}i=l+104|0;h=0;while(1){m=l+(h<<2)|0;if((h|0)==26){m=i;break}if((c[m>>2]|0)==(b|0))break;else h=h+1|0}m=m-l|0;h=m>>2;if((m|0)>92)m=-1;else{switch(d|0){case 10:case 8:{if((h|0)>=(d|0)){m=-1;break a}break}case 16:{if((m|0)>=88){if(p){m=-1;break a}if((o-e|0)>=3){m=-1;break a}if((a[o+-1>>0]|0)!=48){m=-1;break a}c[g>>2]=0;m=a[12928+h>>0]|0;c[f>>2]=o+1;a[o>>0]=m;m=0;break a}break}default:{}}m=a[12928+h>>0]|0;c[f>>2]=o+1;a[o>>0]=m;c[g>>2]=(c[g>>2]|0)+1;m=0}}while(0);return m|0}function SG(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=yb;yb=yb+336|0;s=D+160|0;t=D+328|0;u=D+324|0;C=D+312|0;B=D+300|0;v=D+296|0;w=D;x=D+292|0;y=D+288|0;z=D+333|0;r=D+332|0;TG(C,f,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;mO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=hE(c[f>>2]|0)|0;if(HE(f,gE()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=hE(c[f>>2]|0)|0;if(!(HE(f,gE()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){mO(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;mO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+f}l=k+12|0;f=c[l>>2]|0;m=k+16|0;if((f|0)==(c[m>>2]|0))f=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=hE(c[f>>2]|0)|0;if(UG(f,z,r,b,v,c[t>>2]|0,c[u>>2]|0,C,w,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0))Eb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=f+4;hE(c[f>>2]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}g[i>>3]=+hG(b,c[v>>2]|0,h);iG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Eb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=hE(c[b>>2]|0)|0;if(HE(b,gE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=hE(c[b>>2]|0)|0;if(!(HE(b,gE()|0)|0))if(f)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?f:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;hO(B);hO(C);yb=D;return E|0}function TG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=yb;yb=yb+16|0;h=g;GE(h,b);b=VF(h,56768)|0;Ib[c[(c[b>>2]|0)+48>>2]&15](b,12928,12960,d)|0;d=VF(h,56776)|0;c[e>>2]=Eb[c[(c[d>>2]|0)+12>>2]&127](d)|0;c[f>>2]=Eb[c[(c[d>>2]|0)+16>>2]&127](d)|0;Sb[c[(c[d>>2]|0)+20>>2]&63](a,d);WF(h);yb=g;return}function UG(b,d,e,f,g,h,i,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0;a:do if((b|0)==(h|0))if(a[d>>0]|0){a[d>>0]=0;e=c[g>>2]|0;c[g>>2]=e+1;a[e>>0]=46;g=a[j+11>>0]|0;if(((g<<24>>24<0?c[j+4>>2]|0:g&255)|0)!=0?(o=c[l>>2]|0,(o-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;o=0}else o=0}else o=-1;else{if((b|0)==(i|0)?(i=a[j+11>>0]|0,(i<<24>>24<0?c[j+4>>2]|0:i&255)|0):0){if(!(a[d>>0]|0)){o=-1;break}o=c[l>>2]|0;if((o-k|0)>=160){o=0;break}k=c[m>>2]|0;c[l>>2]=o+4;c[o>>2]=k;c[m>>2]=0;o=0;break}i=n+128|0;h=0;while(1){o=n+(h<<2)|0;if((h|0)==32){o=i;break}if((c[o>>2]|0)==(b|0))break;else h=h+1|0}h=o-n|0;if((h|0)<=124){i=a[12928+(h>>2)>>0]|0;n=h+-88|0;switch(n>>>2|n<<30|0){case 2:case 3:{o=c[g>>2]|0;if((o|0)!=(f|0)?(a[o+-1>>0]&95)!=(a[e>>0]&127):0){o=-1;break a}c[g>>2]=o+1;a[o>>0]=i;o=0;break a}case 1:case 0:{a[e>>0]=80;break}default:{o=i&95;if((((o|0)==(a[e>>0]|0)?(a[e>>0]=o|128,a[d>>0]|0):0)?(a[d>>0]=0,e=a[j+11>>0]|0,(e<<24>>24<0?c[j+4>>2]|0:e&255)|0):0)?(p=c[l>>2]|0,(p-k|0)<160):0){k=c[m>>2]|0;c[l>>2]=p+4;c[p>>2]=k}}}l=c[g>>2]|0;c[g>>2]=l+1;a[l>>0]=i;if((h|0)>84)o=0;else{c[m>>2]=(c[m>>2]|0)+1;o=0}}else o=-1}while(0);return o|0}function VG(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=yb;yb=yb+336|0;s=D+160|0;t=D+328|0;u=D+324|0;C=D+312|0;B=D+300|0;v=D+296|0;w=D;x=D+292|0;y=D+288|0;z=D+333|0;r=D+332|0;TG(C,f,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;mO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){f=c[k+12>>2]|0;if((f|0)==(c[k+16>>2]|0))f=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=hE(c[f>>2]|0)|0;if(HE(f,gE()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=hE(c[f>>2]|0)|0;if(!(HE(f,gE()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}f=a[p>>0]|0;f=f<<24>>24<0?c[o>>2]|0:f&255;if((c[v>>2]|0)==(b+f|0)){mO(B,f<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;mO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+f}l=k+12|0;f=c[l>>2]|0;m=k+16|0;if((f|0)==(c[m>>2]|0))f=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else f=hE(c[f>>2]|0)|0;if(UG(f,z,r,b,v,c[t>>2]|0,c[u>>2]|0,C,w,x,y,s)|0)break;f=c[l>>2]|0;if((f|0)==(c[m>>2]|0))Eb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=f+4;hE(c[f>>2]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}g[i>>3]=+kG(b,c[v>>2]|0,h);iG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Eb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=hE(c[b>>2]|0)|0;if(HE(b,gE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=hE(c[b>>2]|0)|0;if(!(HE(b,gE()|0)|0))if(f)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?f:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;hO(B);hO(C);yb=D;return E|0}function WG(b,d,e,g,h,i){b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=yb;yb=yb+336|0;s=D+160|0;t=D+328|0;u=D+324|0;C=D+312|0;B=D+300|0;v=D+296|0;w=D;x=D+292|0;y=D+288|0;z=D+333|0;r=D+332|0;TG(C,g,s,t,u);c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}p=B+11|0;q=B+8|0;if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;mO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b;c[x>>2]=w;c[y>>2]=0;a[z>>0]=1;a[r>>0]=69;o=B+4|0;k=c[d>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=hE(c[g>>2]|0)|0;if(HE(g,gE()|0)|0){c[d>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[e>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else g=hE(c[g>>2]|0)|0;if(!(HE(g,gE()|0)|0))if(l)break;else break a;else{c[e>>2]=0;E=19;break}}else E=19;while(0);if((E|0)==19){E=0;if(l){j=0;break}else j=0}g=a[p>>0]|0;g=g<<24>>24<0?c[o>>2]|0:g&255;if((c[v>>2]|0)==(b+g|0)){mO(B,g<<1,0);if((a[p>>0]|0)<0)b=(c[q>>2]&2147483647)+-1|0;else b=10;mO(B,b,0);b=(a[p>>0]|0)<0?c[B>>2]|0:B;c[v>>2]=b+g}l=k+12|0;g=c[l>>2]|0;m=k+16|0;if((g|0)==(c[m>>2]|0))g=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=hE(c[g>>2]|0)|0;if(UG(g,z,r,b,v,c[t>>2]|0,c[u>>2]|0,C,w,x,y,s)|0)break;g=c[l>>2]|0;if((g|0)==(c[m>>2]|0))Eb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=g+4;hE(c[g>>2]|0)|0}j=n}u=a[C+11>>0]|0;if(!((a[z>>0]|0)==0?1:((u<<24>>24<0?c[C+4>>2]|0:u&255)|0)==0)?(A=c[x>>2]|0,(A-w|0)<160):0){z=c[y>>2]|0;c[x>>2]=A+4;c[A>>2]=z}f[i>>2]=+mG(b,c[v>>2]|0,h);iG(C,w,c[x>>2]|0,h);if(k){b=c[k+12>>2]|0;if((b|0)==(c[k+16>>2]|0))b=Eb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else b=hE(c[b>>2]|0)|0;if(HE(b,gE()|0)|0){c[d>>2]=0;g=1}else g=0}else g=1;do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=hE(c[b>>2]|0)|0;if(!(HE(b,gE()|0)|0))if(g)break;else{E=50;break}else{c[e>>2]=0;E=48;break}}else E=48;while(0);if((E|0)==48?g:0)E=50;if((E|0)==50)c[h>>2]=c[h>>2]|2;E=c[d>>2]|0;hO(B);hO(C);yb=D;return E|0}function XG(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=yb;yb=yb+304|0;r=B+300|0;y=B+288|0;z=B+276|0;s=B+272|0;t=B;v=B+268|0;w=B+264|0;x=oG(f)|0;q=YG(b,f,B+160|0)|0;ZG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;mO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=hE(c[f>>2]|0)|0;if(HE(f,gE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=hE(c[f>>2]|0)|0;if(!(HE(f,gE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){mO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;mO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=hE(c[f>>2]|0)|0;if(RG(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;hE(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}w=rG(b,c[s>>2]|0,g,x)|0;x=F()|0;c[h>>2]=w;c[h+4>>2]=x;iG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Eb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=hE(c[b>>2]|0)|0;if(HE(b,gE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=hE(c[b>>2]|0)|0;if(!(HE(b,gE()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;hO(z);hO(y);yb=B;return A|0}function YG(a,b,c){a=a|0;b=b|0;c=c|0;return _G(a,b,c)|0}function ZG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=yb;yb=yb+16|0;f=e;GE(f,b);b=VF(f,56776)|0;c[d>>2]=Eb[c[(c[b>>2]|0)+16>>2]&127](b)|0;Sb[c[(c[b>>2]|0)+20>>2]&63](a,b);WF(f);yb=e;return}function _G(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=yb;yb=yb+16|0;e=a;GE(e,b);b=VF(e,56768)|0;Ib[c[(c[b>>2]|0)+48>>2]&15](b,12928,12954,d)|0;WF(e);yb=a;return d|0}function $G(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=yb;yb=yb+304|0;r=B+300|0;y=B+288|0;z=B+276|0;s=B+272|0;t=B;v=B+268|0;w=B+264|0;x=oG(f)|0;q=YG(b,f,B+160|0)|0;ZG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;mO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=hE(c[f>>2]|0)|0;if(HE(f,gE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=hE(c[f>>2]|0)|0;if(!(HE(f,gE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){mO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;mO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=hE(c[f>>2]|0)|0;if(RG(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;hE(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}c[h>>2]=uG(b,c[s>>2]|0,g,x)|0;iG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Eb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=hE(c[b>>2]|0)|0;if(HE(b,gE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=hE(c[b>>2]|0)|0;if(!(HE(b,gE()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;hO(z);hO(y);yb=B;return A|0}function aH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=yb;yb=yb+304|0;r=B+300|0;y=B+288|0;z=B+276|0;s=B+272|0;t=B;v=B+268|0;w=B+264|0;x=oG(f)|0;q=YG(b,f,B+160|0)|0;ZG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;mO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=hE(c[f>>2]|0)|0;if(HE(f,gE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=hE(c[f>>2]|0)|0;if(!(HE(f,gE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){mO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;mO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=hE(c[f>>2]|0)|0;if(RG(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;hE(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}c[h>>2]=wG(b,c[s>>2]|0,g,x)|0;iG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Eb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=hE(c[b>>2]|0)|0;if(HE(b,gE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=hE(c[b>>2]|0)|0;if(!(HE(b,gE()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;hO(z);hO(y);yb=B;return A|0}function bH(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=yb;yb=yb+304|0;s=C+300|0;z=C+288|0;A=C+276|0;t=C+272|0;u=C;w=C+268|0;x=C+264|0;y=oG(g)|0;r=YG(d,g,C+160|0)|0;ZG(z,g,s);c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[A+(d<<2)>>2]=0;d=d+1|0}p=A+11|0;q=A+8|0;if((a[p>>0]|0)<0)d=(c[q>>2]&2147483647)+-1|0;else d=10;mO(A,d,0);d=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=d;c[w>>2]=u;c[x>>2]=0;o=A+4|0;k=c[e>>2]|0;j=k;a:while(1){if(k){g=c[k+12>>2]|0;if((g|0)==(c[k+16>>2]|0))g=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=hE(c[g>>2]|0)|0;if(HE(g,gE()|0)|0){c[e>>2]=0;n=0;l=1;k=0}else{n=j;l=0}}else{n=0;l=1;k=0}j=c[f>>2]|0;do if(j){g=c[j+12>>2]|0;if((g|0)==(c[j+16>>2]|0))g=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else g=hE(c[g>>2]|0)|0;if(!(HE(g,gE()|0)|0))if(l)break;else break a;else{c[f>>2]=0;B=19;break}}else B=19;while(0);if((B|0)==19){B=0;if(l){j=0;break}else j=0}g=a[p>>0]|0;g=g<<24>>24<0?c[o>>2]|0:g&255;if((c[t>>2]|0)==(d+g|0)){mO(A,g<<1,0);if((a[p>>0]|0)<0)d=(c[q>>2]&2147483647)+-1|0;else d=10;mO(A,d,0);d=(a[p>>0]|0)<0?c[A>>2]|0:A;c[t>>2]=d+g}l=k+12|0;g=c[l>>2]|0;m=k+16|0;if((g|0)==(c[m>>2]|0))g=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else g=hE(c[g>>2]|0)|0;if(RG(g,y,d,t,x,c[s>>2]|0,z,u,w,r)|0)break;g=c[l>>2]|0;if((g|0)==(c[m>>2]|0))Eb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=g+4;hE(c[g>>2]|0)|0}j=n}s=a[z+11>>0]|0;if((s<<24>>24<0?c[z+4>>2]|0:s&255)|0?(v=c[w>>2]|0,(v-u|0)<160):0){x=c[x>>2]|0;c[w>>2]=v+4;c[v>>2]=x}b[i>>1]=yG(d,c[t>>2]|0,h,y)|0;iG(z,u,c[w>>2]|0,h);if(k){d=c[k+12>>2]|0;if((d|0)==(c[k+16>>2]|0))d=Eb[c[(c[n>>2]|0)+36>>2]&127](k)|0;else d=hE(c[d>>2]|0)|0;if(HE(d,gE()|0)|0){c[e>>2]=0;g=1}else g=0}else g=1;do if(j){d=c[j+12>>2]|0;if((d|0)==(c[j+16>>2]|0))d=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else d=hE(c[d>>2]|0)|0;if(!(HE(d,gE()|0)|0))if(g)break;else{B=50;break}else{c[f>>2]=0;B=48;break}}else B=48;while(0);if((B|0)==48?g:0)B=50;if((B|0)==50)c[h>>2]=c[h>>2]|2;B=c[e>>2]|0;hO(A);hO(z);yb=C;return B|0}function cH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=yb;yb=yb+304|0;r=B+300|0;y=B+288|0;z=B+276|0;s=B+272|0;t=B;v=B+268|0;w=B+264|0;x=oG(f)|0;q=YG(b,f,B+160|0)|0;ZG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;mO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=hE(c[f>>2]|0)|0;if(HE(f,gE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=hE(c[f>>2]|0)|0;if(!(HE(f,gE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){mO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;mO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=hE(c[f>>2]|0)|0;if(RG(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;hE(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}w=AG(b,c[s>>2]|0,g,x)|0;x=F()|0;c[h>>2]=w;c[h+4>>2]=x;iG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Eb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=hE(c[b>>2]|0)|0;if(HE(b,gE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=hE(c[b>>2]|0)|0;if(!(HE(b,gE()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;hO(z);hO(y);yb=B;return A|0}function dH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=yb;yb=yb+304|0;r=B+300|0;y=B+288|0;z=B+276|0;s=B+272|0;t=B;v=B+268|0;w=B+264|0;x=oG(f)|0;q=YG(b,f,B+160|0)|0;ZG(y,f,r);c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}o=z+11|0;p=z+8|0;if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;mO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b;c[v>>2]=t;c[w>>2]=0;n=z+4|0;j=c[d>>2]|0;i=j;a:while(1){if(j){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=hE(c[f>>2]|0)|0;if(HE(f,gE()|0)|0){c[d>>2]=0;m=0;k=1;j=0}else{m=i;k=0}}else{m=0;k=1;j=0}i=c[e>>2]|0;do if(i){f=c[i+12>>2]|0;if((f|0)==(c[i+16>>2]|0))f=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else f=hE(c[f>>2]|0)|0;if(!(HE(f,gE()|0)|0))if(k)break;else break a;else{c[e>>2]=0;A=19;break}}else A=19;while(0);if((A|0)==19){A=0;if(k){i=0;break}else i=0}f=a[o>>0]|0;f=f<<24>>24<0?c[n>>2]|0:f&255;if((c[s>>2]|0)==(b+f|0)){mO(z,f<<1,0);if((a[o>>0]|0)<0)b=(c[p>>2]&2147483647)+-1|0;else b=10;mO(z,b,0);b=(a[o>>0]|0)<0?c[z>>2]|0:z;c[s>>2]=b+f}k=j+12|0;f=c[k>>2]|0;l=j+16|0;if((f|0)==(c[l>>2]|0))f=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else f=hE(c[f>>2]|0)|0;if(RG(f,x,b,s,w,c[r>>2]|0,y,t,v,q)|0)break;f=c[k>>2]|0;if((f|0)==(c[l>>2]|0))Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=f+4;hE(c[f>>2]|0)|0}i=m}r=a[y+11>>0]|0;if((r<<24>>24<0?c[y+4>>2]|0:r&255)|0?(u=c[v>>2]|0,(u-t|0)<160):0){w=c[w>>2]|0;c[v>>2]=u+4;c[u>>2]=w}c[h>>2]=CG(b,c[s>>2]|0,g,x)|0;iG(y,t,c[v>>2]|0,g);if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Eb[c[(c[m>>2]|0)+36>>2]&127](j)|0;else b=hE(c[b>>2]|0)|0;if(HE(b,gE()|0)|0){c[d>>2]=0;f=1}else f=0}else f=1;do if(i){b=c[i+12>>2]|0;if((b|0)==(c[i+16>>2]|0))b=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else b=hE(c[b>>2]|0)|0;if(!(HE(b,gE()|0)|0))if(f)break;else{A=50;break}else{c[e>>2]=0;A=48;break}}else A=48;while(0);if((A|0)==48?f:0)A=50;if((A|0)==50)c[g>>2]=c[g>>2]|2;A=c[d>>2]|0;hO(z);hO(y);yb=B;return A|0}function eH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=yb;yb=yb+112|0;k=w;l=(f-e|0)/12|0;if(l>>>0>100){k=DO(l)|0;if(!k)_N();else{j=k;u=k}}else{j=k;u=0}k=0;n=e;o=j;while(1){if((n|0)==(f|0))break;m=a[n+8+3>>0]|0;if(m<<24>>24<0)m=c[n+4>>2]|0;else m=m&255;if(!m){a[o>>0]=2;k=k+1|0;l=l+-1|0}else a[o>>0]=1;n=n+12|0;o=o+1|0}t=0;r=k;while(1){k=c[b>>2]|0;do if(k){m=c[k+12>>2]|0;if((m|0)==(c[k+16>>2]|0))k=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else k=hE(c[m>>2]|0)|0;if(HE(k,gE()|0)|0){c[b>>2]=0;o=1;break}else{o=(c[b>>2]|0)==0;break}}else o=1;while(0);m=c[d>>2]|0;if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0))k=Eb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else k=hE(c[k>>2]|0)|0;if(HE(k,gE()|0)|0){c[d>>2]=0;k=1;m=0}else k=0}else{k=1;m=0}n=c[b>>2]|0;if(!((l|0)!=0&(o^k)))break;k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=hE(c[k>>2]|0)|0;if(!i)k=Gb[c[(c[g>>2]|0)+28>>2]&63](g,k)|0;s=t+1|0;p=e;o=0;q=j;while(1){if((p|0)==(f|0))break;do if((a[q>>0]|0)==1){n=p+8+3|0;if((a[n>>0]|0)<0)m=c[p>>2]|0;else m=p;m=c[m+(t<<2)>>2]|0;if(!i)m=Gb[c[(c[g>>2]|0)+28>>2]&63](g,m)|0;if((k|0)!=(m|0)){a[q>>0]=0;m=o;n=r;l=l+-1|0;break}m=a[n>>0]|0;if(m<<24>>24<0)m=c[p+4>>2]|0;else m=m&255;if((m|0)==(s|0)){a[q>>0]=2;m=1;n=r+1|0;l=l+-1|0}else{m=1;n=r}}else{m=o;n=r}while(0);p=p+12|0;o=m;q=q+1|0;r=n}a:do if(o){k=c[b>>2]|0;m=k+12|0;n=c[m>>2]|0;if((n|0)==(c[k+16>>2]|0))Eb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[m>>2]=n+4;hE(c[n>>2]|0)|0}if((r+l|0)>>>0>1){n=e;o=j;k=r;while(1){if((n|0)==(f|0))break a;if((a[o>>0]|0)==2){m=a[n+8+3>>0]|0;if(m<<24>>24<0)m=c[n+4>>2]|0;else m=m&255;if((m|0)!=(s|0)){a[o>>0]=0;k=k+-1|0}}n=n+12|0;o=o+1|0}}else k=r}else k=r;while(0);t=s;r=k}do if(n){k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=hE(c[k>>2]|0)|0;if(HE(k,gE()|0)|0){c[b>>2]=0;l=1;break}else{l=(c[b>>2]|0)==0;break}}else l=1;while(0);do if(m){k=c[m+12>>2]|0;if((k|0)==(c[m+16>>2]|0))k=Eb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else k=hE(c[k>>2]|0)|0;if(!(HE(k,gE()|0)|0))if(l)break;else{v=79;break}else{c[d>>2]=0;v=41;break}}else v=41;while(0);if((v|0)==41?l:0)v=79;if((v|0)==79)c[h>>2]=c[h>>2]|2;while(1){if((e|0)==(f|0)){v=84;break}if((a[j>>0]|0)==2)break;e=e+12|0;j=j+1|0}if((v|0)==84){c[h>>2]=c[h>>2]|4;e=f}EO(u);yb=w;return e|0}function fH(a){a=a|0;AF(a);return}function gH(a){a=a|0;AF(a);QA(a);return}function hH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;l=yb;yb=yb+16|0;k=l+4|0;h=l;if(!(c[e+4>>2]&1)){j=c[(c[b>>2]|0)+24>>2]|0;c[h>>2]=c[d>>2];c[k>>2]=c[h>>2];b=Kb[j&31](b,k,e,f,g&1)|0}else{GE(k,e);b=VF(k,56752)|0;WF(k);e=c[b>>2]|0;if(g)Sb[c[e+24>>2]&63](k,b);else Sb[c[e+28>>2]&63](k,b);i=k+11|0;b=a[i>>0]|0;e=c[k>>2]|0;j=k+4|0;g=b<<24>>24<0?e:k;while(1){h=b<<24>>24<0;if((g|0)==((h?e:k)+(h?c[j>>2]|0:b&255)|0))break;b=a[g>>0]|0;e=c[d>>2]|0;if(e|0){f=e+24|0;h=c[f>>2]|0;if((h|0)==(c[e+28>>2]|0)){h=c[(c[e>>2]|0)+52>>2]|0;b=ag(b)|0;b=Gb[h&63](e,b)|0}else{c[f>>2]=h+1;a[h>>0]=b;b=ag(b)|0}if(Yf(b,Uf()|0)|0)c[d>>2]=0}g=g+1|0;b=a[i>>0]|0;e=c[k>>2]|0}b=c[d>>2]|0;hO(k)}yb=l;return b|0}function iH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=yb;yb=yb+32|0;j=b;n=b+16|0;m=b+12|0;l=b+4|0;k=b+8|0;a[n>>0]=a[49415]|0;a[n+1>>0]=a[49416]|0;a[n+2>>0]=a[49417]|0;a[n+3>>0]=a[49418]|0;a[n+4>>0]=a[49419]|0;a[n+5>>0]=a[49420]|0;p=e+4|0;uH(n+1|0,49421,1,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;q=p+13|0;h=Na()|0;o=yb;yb=yb+((1*q|0)+15&-16)|0;i=YF()|0;c[j>>2]=g;g=o+(pH(o,q,i,n,j)|0)|0;n=qH(o,g,e)|0;i=yb;yb=yb+((1*((p<<1|24)+-1|0)|0)+15&-16)|0;GE(j,e);vH(o,n,g,i,m,l,j);WF(j);c[k>>2]=c[d>>2];d=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=Zf(j,i,d,g,e,f)|0;Ma(h|0);yb=b;return g|0}function jH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=yb;yb=yb+32|0;j=a+8|0;i=a;m=a+24|0;l=a+16|0;k=a+20|0;o=i;c[o>>2]=37;c[o+4>>2]=0;o=d+4|0;uH(i+1|0,49412,1,c[o>>2]|0);o=(c[o>>2]|0)>>>9&1;q=o+23|0;h=Na()|0;n=yb;yb=yb+((1*q|0)+15&-16)|0;p=YF()|0;r=j;c[r>>2]=f;c[r+4>>2]=g;f=n+(pH(n,q,p,i,j)|0)|0;g=qH(n,f,d)|0;i=yb;yb=yb+((1*((o<<1|44)+-1|0)|0)+15&-16)|0;GE(j,d);vH(n,g,f,i,m,l,j);WF(j);c[k>>2]=c[b>>2];f=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=Zf(j,i,f,g,d,e)|0;Ma(h|0);yb=a;return g|0}function kH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=yb;yb=yb+32|0;j=b;n=b+16|0;m=b+12|0;l=b+4|0;k=b+8|0;a[n>>0]=a[49415]|0;a[n+1>>0]=a[49416]|0;a[n+2>>0]=a[49417]|0;a[n+3>>0]=a[49418]|0;a[n+4>>0]=a[49419]|0;a[n+5>>0]=a[49420]|0;p=e+4|0;uH(n+1|0,49421,0,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;q=p|12;h=Na()|0;o=yb;yb=yb+((1*q|0)+15&-16)|0;i=YF()|0;c[j>>2]=g;g=o+(pH(o,q,i,n,j)|0)|0;n=qH(o,g,e)|0;i=yb;yb=yb+((1*(p<<1|21)|0)+15&-16)|0;GE(j,e);vH(o,n,g,i,m,l,j);WF(j);c[k>>2]=c[d>>2];d=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=Zf(j,i,d,g,e,f)|0;Ma(h|0);yb=b;return g|0}function lH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=yb;yb=yb+32|0;j=a+8|0;i=a;m=a+24|0;l=a+16|0;k=a+20|0;o=i;c[o>>2]=37;c[o+4>>2]=0;o=d+4|0;uH(i+1|0,49412,0,c[o>>2]|0);o=(c[o>>2]|0)>>>9&1|22;q=o+1|0;h=Na()|0;n=yb;yb=yb+((1*q|0)+15&-16)|0;p=YF()|0;r=j;c[r>>2]=f;c[r+4>>2]=g;f=n+(pH(n,q,p,i,j)|0)|0;g=qH(n,f,d)|0;i=yb;yb=yb+((1*((o<<1)+-1|0)|0)+15&-16)|0;GE(j,d);vH(n,g,f,i,m,l,j);WF(j);c[k>>2]=c[b>>2];f=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=Zf(j,i,f,g,d,e)|0;Ma(h|0);yb=a;return g|0}function mH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;v=yb;yb=yb+176|0;r=v+168|0;m=v+144|0;l=v+128|0;i=v+120|0;h=v+104|0;k=v+96|0;o=v+64|0;n=v+164|0;p=v;u=v+160|0;s=v+156|0;t=v+152|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=rH(k+1|0,57671,c[d+4>>2]|0)|0;c[n>>2]=o;a=YF()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=pH(o,30,a,k,h)|0}else{g[i>>3]=f;a=pH(o,30,a,k,i)|0}if((a|0)>29){a=YF()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=sH(n,a,k,l)|0}else{g[m>>3]=f;h=sH(n,a,k,m)|0}a=c[n>>2]|0;if(!a)_N();else{q=h;y=a;z=a}}else{q=a;y=0;z=c[n>>2]|0}h=z+q|0;i=qH(z,h,d)|0;if((z|0)!=(o|0)){a=DO(q<<1)|0;if(!a)_N();else{w=a;x=a}}else{w=p;x=0}GE(r,d);tH(z,i,h,w,u,s,r);WF(r);c[t>>2]=c[b>>2];b=c[u>>2]|0;z=c[s>>2]|0;c[r>>2]=c[t>>2];z=Zf(r,w,b,z,d,e)|0;EO(x);EO(y);yb=v;return z|0} +function nH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;v=yb;yb=yb+176|0;r=v+168|0;m=v+144|0;l=v+128|0;i=v+120|0;h=v+104|0;k=v+96|0;o=v+64|0;n=v+164|0;p=v;u=v+160|0;s=v+156|0;t=v+152|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=rH(k+1|0,49410,c[d+4>>2]|0)|0;c[n>>2]=o;a=YF()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=pH(o,30,a,k,h)|0}else{g[i>>3]=f;a=pH(o,30,a,k,i)|0}if((a|0)>29){a=YF()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=sH(n,a,k,l)|0}else{g[m>>3]=f;h=sH(n,a,k,m)|0}a=c[n>>2]|0;if(!a)_N();else{q=h;y=a;z=a}}else{q=a;y=0;z=c[n>>2]|0}h=z+q|0;i=qH(z,h,d)|0;if((z|0)!=(o|0)){a=DO(q<<1)|0;if(!a)_N();else{w=a;x=a}}else{w=p;x=0}GE(r,d);tH(z,i,h,w,u,s,r);WF(r);c[t>>2]=c[b>>2];b=c[u>>2]|0;z=c[s>>2]|0;c[r>>2]=c[t>>2];z=Zf(r,w,b,z,d,e)|0;EO(x);EO(y);yb=v;return z|0}function oH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=yb;yb=yb+96|0;l=b+72|0;k=b+80|0;h=b+48|0;j=b;m=b+76|0;a[k>>0]=a[49404]|0;a[k+1>>0]=a[49405]|0;a[k+2>>0]=a[49406]|0;a[k+3>>0]=a[49407]|0;a[k+4>>0]=a[49408]|0;a[k+5>>0]=a[49409]|0;i=YF()|0;c[l>>2]=g;g=pH(h,20,i,k,l)|0;k=h+g|0;i=qH(h,k,e)|0;GE(l,e);n=VF(l,56736)|0;WF(l);Ib[c[(c[n>>2]|0)+32>>2]&15](n,h,k,j)|0;g=j+g|0;c[m>>2]=c[d>>2];c[l>>2]=c[m>>2];g=Zf(l,j,(i|0)==(k|0)?g:j+(i-h)|0,g,e,f)|0;yb=b;return g|0}function pH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=yb;yb=yb+16|0;h=g;c[h>>2]=f;f=cz(d)|0;d=Hx(a,b,e,h)|0;if(f|0)cz(f)|0;yb=g;return d|0}function qH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;a:do switch((c[e+4>>2]&176)<<24>>24){case 16:{e=a[b>>0]|0;switch(e<<24>>24){case 43:case 45:{b=b+1|0;break a}default:{}}if((d-b|0)>1&e<<24>>24==48){switch(a[b+1>>0]|0){case 88:case 120:break;default:{f=7;break a}}b=b+2|0}else f=7;break}case 32:{b=d;break}default:f=7}while(0);return b|0}function rH(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;if(d&2048){a[b>>0]=43;b=b+1|0}if(d&1024){a[b>>0]=35;b=b+1|0}g=d&260;e=d&16384;f=(g|0)==260;if(f)h=0;else{a[b>>0]=46;a[b+1>>0]=42;h=1;b=b+2|0}while(1){d=a[c>>0]|0;if(!(d<<24>>24))break;a[b>>0]=d;c=c+1|0;b=b+1|0}a:do switch(g&511){case 4:{d=e>>>9&255^102;break}case 256:{d=e>>>9&255^101;break}default:{d=e>>>9&255;if(f){d=d^97;break a}else{d=d^103;break a}}}while(0);a[b>>0]=d;return h|0}function sH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=yb;yb=yb+16|0;g=f;c[g>>2]=e;e=cz(b)|0;b=$z(a,d,g)|0;if(e|0)cz(e)|0;yb=f;return b|0}function tH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=yb;yb=yb+16|0;s=v;t=VF(i,56736)|0;r=VF(i,56752)|0;Sb[c[(c[r>>2]|0)+20>>2]&63](s,r);c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{q=Gb[c[(c[t>>2]|0)+28>>2]&63](t,i)|0;j=c[h>>2]|0;c[h>>2]=j+1;a[j>>0]=q;j=b+1|0;break}default:j=b}q=e;a:do if((q-j|0)>1?(a[j>>0]|0)==48:0){i=j+1|0;switch(a[i>>0]|0){case 88:case 120:break;default:{u=4;break a}}o=Gb[c[(c[t>>2]|0)+28>>2]&63](t,48)|0;p=c[h>>2]|0;c[h>>2]=p+1;a[p>>0]=o;j=j+2|0;p=Gb[c[(c[t>>2]|0)+28>>2]&63](t,a[i>>0]|0)|0;i=c[h>>2]|0;c[h>>2]=i+1;a[i>>0]=p;i=j;while(1){if(i>>>0>=e>>>0)break a;p=a[i>>0]|0;if(!(Yy(p,YF()|0)|0))break a;i=i+1|0}}else u=4;while(0);b:do if((u|0)==4){i=j;while(1){if(i>>>0>=e>>>0)break b;p=a[i>>0]|0;if(!(Xy(p,YF()|0)|0))break b;i=i+1|0}}while(0);o=s+11|0;n=a[o>>0]|0;p=s+4|0;c:do if((n<<24>>24<0?c[p>>2]|0:n&255)|0){d:do if((j|0)!=(i|0)){k=i;l=j;while(1){k=k+-1|0;if(l>>>0>=k>>>0)break d;n=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=n;l=l+1|0}}while(0);n=Eb[c[(c[r>>2]|0)+16>>2]&127](r)|0;m=j;l=0;k=0;while(1){if(m>>>0>=i>>>0)break;w=a[((a[o>>0]|0)<0?c[s>>2]|0:s)+k>>0]|0;if(w<<24>>24>0&(l|0)==(w<<24>>24|0)){l=c[h>>2]|0;c[h>>2]=l+1;a[l>>0]=n;l=a[o>>0]|0;k=k+(k>>>0<((l<<24>>24<0?c[p>>2]|0:l&255)+-1|0)>>>0&1)|0;l=0}x=Gb[c[(c[t>>2]|0)+28>>2]&63](t,a[m>>0]|0)|0;w=c[h>>2]|0;c[h>>2]=w+1;a[w>>0]=x;m=m+1|0;l=l+1|0}k=f+(j-b)|0;j=c[h>>2]|0;if((k|0)==(j|0))k=t;else while(1){j=j+-1|0;if(k>>>0>=j>>>0){k=t;break c}x=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=x;k=k+1|0}}else{Ib[c[(c[t>>2]|0)+32>>2]&15](t,j,i,c[h>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+(i-j);k=t}while(0);while(1){if(i>>>0>=e>>>0)break;j=a[i>>0]|0;if(j<<24>>24==46){u=32;break}w=Gb[c[(c[k>>2]|0)+28>>2]&63](t,j)|0;x=c[h>>2]|0;c[h>>2]=x+1;a[x>>0]=w;i=i+1|0}if((u|0)==32){w=Eb[c[(c[r>>2]|0)+12>>2]&127](r)|0;x=c[h>>2]|0;c[h>>2]=x+1;a[x>>0]=w;i=i+1|0}Ib[c[(c[t>>2]|0)+32>>2]&15](t,i,e,c[h>>2]|0)|0;x=(c[h>>2]|0)+(q-i)|0;c[h>>2]=x;c[g>>2]=(d|0)==(e|0)?x:f+(d-b)|0;hO(s);yb=v;return}function uH(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0;if(e&2048){a[b>>0]=43;b=b+1|0}if(e&512){a[b>>0]=35;b=b+1|0}f=b;while(1){b=a[c>>0]|0;if(!(b<<24>>24))break;a[f>>0]=b;c=c+1|0;f=f+1|0}switch(e&74){case 64:{b=111;break}case 8:{b=e>>>9&32^120;break}default:b=d?100:117}a[f>>0]=b;return}function vH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=yb;yb=yb+16|0;q=r;p=VF(i,56736)|0;l=VF(i,56752)|0;Sb[c[(c[l>>2]|0)+20>>2]&63](q,l);n=q+11|0;m=a[n>>0]|0;o=q+4|0;if((m<<24>>24<0?c[o>>2]|0:m&255)|0){c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{m=Gb[c[(c[p>>2]|0)+28>>2]&63](p,i)|0;i=c[h>>2]|0;c[h>>2]=i+1;a[i>>0]=m;i=b+1|0;break}default:i=b}a:do if((e-i|0)>1?(a[i>>0]|0)==48:0){j=i+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:break a}m=Gb[c[(c[p>>2]|0)+28>>2]&63](p,48)|0;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=m;k=Gb[c[(c[p>>2]|0)+28>>2]&63](p,a[j>>0]|0)|0;m=c[h>>2]|0;c[h>>2]=m+1;a[m>>0]=k;i=i+2|0}while(0);b:do if((i|0)!=(e|0)){j=e;k=i;while(1){j=j+-1|0;if(k>>>0>=j>>>0)break b;m=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=m;k=k+1|0}}while(0);m=Eb[c[(c[l>>2]|0)+16>>2]&127](l)|0;l=i;j=0;k=0;while(1){if(l>>>0>=e>>>0)break;s=a[((a[n>>0]|0)<0?c[q>>2]|0:q)+j>>0]|0;if(s<<24>>24!=0&(k|0)==(s<<24>>24|0)){k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=m;k=a[n>>0]|0;j=j+(j>>>0<((k<<24>>24<0?c[o>>2]|0:k&255)+-1|0)>>>0&1)|0;k=0}t=Gb[c[(c[p>>2]|0)+28>>2]&63](p,a[l>>0]|0)|0;s=c[h>>2]|0;c[h>>2]=s+1;a[s>>0]=t;l=l+1|0;k=k+1|0}i=f+(i-b)|0;j=c[h>>2]|0;if((i|0)!=(j|0)){while(1){j=j+-1|0;if(i>>>0>=j>>>0)break;t=a[i>>0]|0;a[i>>0]=a[j>>0]|0;a[j>>0]=t;i=i+1|0}i=c[h>>2]|0}}else{Ib[c[(c[p>>2]|0)+32>>2]&15](p,b,e,f)|0;i=f+(e-b)|0;c[h>>2]=i}c[g>>2]=(d|0)==(e|0)?i:f+(d-b)|0;hO(q);yb=r;return}function wH(a){a=a|0;AF(a);return}function xH(a){a=a|0;AF(a);QA(a);return}function yH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;l=yb;yb=yb+16|0;k=l+4|0;h=l;if(!(c[e+4>>2]&1)){j=c[(c[b>>2]|0)+24>>2]|0;c[h>>2]=c[d>>2];c[k>>2]=c[h>>2];b=Kb[j&31](b,k,e,f,g&1)|0}else{GE(k,e);b=VF(k,56776)|0;WF(k);e=c[b>>2]|0;if(g)Sb[c[e+24>>2]&63](k,b);else Sb[c[e+28>>2]&63](k,b);i=k+8+3|0;b=a[i>>0]|0;e=c[k>>2]|0;j=k+4|0;g=b<<24>>24<0?e:k;while(1){h=b<<24>>24<0;if((g|0)==((h?e:k)+((h?c[j>>2]|0:b&255)<<2)|0))break;b=c[g>>2]|0;e=c[d>>2]|0;if(e|0){f=e+24|0;h=c[f>>2]|0;if((h|0)==(c[e+28>>2]|0)){h=c[(c[e>>2]|0)+52>>2]|0;b=hE(b)|0;b=Gb[h&63](e,b)|0}else{c[f>>2]=h+4;c[h>>2]=b;b=hE(b)|0}if(HE(b,gE()|0)|0)c[d>>2]=0}g=g+4|0;b=a[i>>0]|0;e=c[k>>2]|0}b=c[d>>2]|0;uO(k)}yb=l;return b|0}function zH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=yb;yb=yb+32|0;j=b;n=b+16|0;m=b+12|0;l=b+4|0;k=b+8|0;a[n>>0]=a[49415]|0;a[n+1>>0]=a[49416]|0;a[n+2>>0]=a[49417]|0;a[n+3>>0]=a[49418]|0;a[n+4>>0]=a[49419]|0;a[n+5>>0]=a[49420]|0;p=e+4|0;uH(n+1|0,49421,1,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;q=p+13|0;h=Na()|0;o=yb;yb=yb+((1*q|0)+15&-16)|0;i=YF()|0;c[j>>2]=g;g=o+(pH(o,q,i,n,j)|0)|0;n=qH(o,g,e)|0;i=yb;yb=yb+((1*((p<<1|24)+-1<<2)|0)+15&-16)|0;GE(j,e);IH(o,n,g,i,m,l,j);WF(j);c[k>>2]=c[d>>2];d=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=GH(j,i,d,g,e,f)|0;Ma(h|0);yb=b;return g|0}function AH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=yb;yb=yb+32|0;j=a+8|0;i=a;m=a+24|0;l=a+16|0;k=a+20|0;o=i;c[o>>2]=37;c[o+4>>2]=0;o=d+4|0;uH(i+1|0,49412,1,c[o>>2]|0);o=(c[o>>2]|0)>>>9&1;q=o+23|0;h=Na()|0;n=yb;yb=yb+((1*q|0)+15&-16)|0;p=YF()|0;r=j;c[r>>2]=f;c[r+4>>2]=g;f=n+(pH(n,q,p,i,j)|0)|0;g=qH(n,f,d)|0;i=yb;yb=yb+((1*((o<<1|44)+-1<<2)|0)+15&-16)|0;GE(j,d);IH(n,g,f,i,m,l,j);WF(j);c[k>>2]=c[b>>2];f=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=GH(j,i,f,g,d,e)|0;Ma(h|0);yb=a;return g|0}function BH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;b=yb;yb=yb+32|0;j=b;n=b+16|0;m=b+12|0;l=b+4|0;k=b+8|0;a[n>>0]=a[49415]|0;a[n+1>>0]=a[49416]|0;a[n+2>>0]=a[49417]|0;a[n+3>>0]=a[49418]|0;a[n+4>>0]=a[49419]|0;a[n+5>>0]=a[49420]|0;p=e+4|0;uH(n+1|0,49421,0,c[p>>2]|0);p=(c[p>>2]|0)>>>9&1;q=p|12;h=Na()|0;o=yb;yb=yb+((1*q|0)+15&-16)|0;i=YF()|0;c[j>>2]=g;g=o+(pH(o,q,i,n,j)|0)|0;n=qH(o,g,e)|0;i=yb;yb=yb+((1*((p<<1|21)<<2)|0)+15&-16)|0;GE(j,e);IH(o,n,g,i,m,l,j);WF(j);c[k>>2]=c[d>>2];d=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=GH(j,i,d,g,e,f)|0;Ma(h|0);yb=b;return g|0}function CH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a=yb;yb=yb+32|0;j=a+8|0;i=a;m=a+24|0;l=a+16|0;k=a+20|0;o=i;c[o>>2]=37;c[o+4>>2]=0;o=d+4|0;uH(i+1|0,49412,0,c[o>>2]|0);o=(c[o>>2]|0)>>>9&1|22;q=o+1|0;h=Na()|0;n=yb;yb=yb+((1*q|0)+15&-16)|0;p=YF()|0;r=j;c[r>>2]=f;c[r+4>>2]=g;f=n+(pH(n,q,p,i,j)|0)|0;g=qH(n,f,d)|0;i=yb;yb=yb+((1*((o<<1)+-1<<2)|0)+15&-16)|0;GE(j,d);IH(n,g,f,i,m,l,j);WF(j);c[k>>2]=c[b>>2];f=c[m>>2]|0;g=c[l>>2]|0;c[j>>2]=c[k>>2];g=GH(j,i,f,g,d,e)|0;Ma(h|0);yb=a;return g|0}function DH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=yb;yb=yb+352|0;r=x+344|0;m=x+320|0;l=x+304|0;i=x+296|0;h=x+280|0;k=x+272|0;o=x+240|0;n=x+340|0;p=x;u=x+336|0;s=x+332|0;t=x+328|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=rH(k+1|0,57671,c[d+4>>2]|0)|0;c[n>>2]=o;a=YF()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=pH(o,30,a,k,h)|0}else{g[i>>3]=f;a=pH(o,30,a,k,i)|0}if((a|0)>29){a=YF()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=sH(n,a,k,l)|0}else{g[m>>3]=f;h=sH(n,a,k,m)|0}a=c[n>>2]|0;if(!a)_N();else{q=h;z=a;w=a}}else{q=a;z=0;w=c[n>>2]|0}h=w+q|0;i=qH(w,h,d)|0;do if((w|0)!=(o|0)){a=DO(q<<3)|0;if(!a)_N();else{v=a;y=0;A=a;break}}else{v=p;y=1;A=0}while(0);GE(r,d);HH(w,i,h,v,u,s,r);WF(r);c[t>>2]=c[b>>2];w=c[u>>2]|0;a=c[s>>2]|0;c[r>>2]=c[t>>2];a=GH(r,v,w,a,d,e)|0;c[b>>2]=a;if(!y)EO(A);EO(z);yb=x;return a|0}function EH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;x=yb;yb=yb+352|0;r=x+344|0;m=x+320|0;l=x+304|0;i=x+296|0;h=x+280|0;k=x+272|0;o=x+240|0;n=x+340|0;p=x;u=x+336|0;s=x+332|0;t=x+328|0;j=k;c[j>>2]=37;c[j+4>>2]=0;j=rH(k+1|0,49410,c[d+4>>2]|0)|0;c[n>>2]=o;a=YF()|0;if(j){c[h>>2]=c[d+8>>2];g[h+8>>3]=f;a=pH(o,30,a,k,h)|0}else{g[i>>3]=f;a=pH(o,30,a,k,i)|0}if((a|0)>29){a=YF()|0;if(j){c[l>>2]=c[d+8>>2];g[l+8>>3]=f;h=sH(n,a,k,l)|0}else{g[m>>3]=f;h=sH(n,a,k,m)|0}a=c[n>>2]|0;if(!a)_N();else{q=h;z=a;w=a}}else{q=a;z=0;w=c[n>>2]|0}h=w+q|0;i=qH(w,h,d)|0;do if((w|0)!=(o|0)){a=DO(q<<3)|0;if(!a)_N();else{v=a;y=0;A=a;break}}else{v=p;y=1;A=0}while(0);GE(r,d);HH(w,i,h,v,u,s,r);WF(r);c[t>>2]=c[b>>2];w=c[u>>2]|0;a=c[s>>2]|0;c[r>>2]=c[t>>2];a=GH(r,v,w,a,d,e)|0;c[b>>2]=a;if(!y)EO(A);EO(z);yb=x;return a|0}function FH(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=yb;yb=yb+208|0;l=b+184|0;k=b+192|0;h=b+160|0;j=b;m=b+188|0;a[k>>0]=a[49404]|0;a[k+1>>0]=a[49405]|0;a[k+2>>0]=a[49406]|0;a[k+3>>0]=a[49407]|0;a[k+4>>0]=a[49408]|0;a[k+5>>0]=a[49409]|0;i=YF()|0;c[l>>2]=g;g=pH(h,20,i,k,l)|0;k=h+g|0;i=qH(h,k,e)|0;GE(l,e);n=VF(l,56768)|0;WF(l);Ib[c[(c[n>>2]|0)+48>>2]&15](n,h,k,j)|0;g=j+(g<<2)|0;c[m>>2]=c[d>>2];c[l>>2]=c[m>>2];g=GH(l,j,(i|0)==(k|0)?g:j+(i-h<<2)|0,g,e,f)|0;yb=b;return g|0}function GH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=yb;yb=yb+16|0;m=n;i=c[b>>2]|0;a:do if(!i)i=0;else{o=d;j=f-o>>2;l=g+12|0;g=c[l>>2]|0;g=(g|0)>(j|0)?g-j|0:0;j=e;o=j-o|0;k=o>>2;if((o|0)>0?(Hb[c[(c[i>>2]|0)+48>>2]&63](i,d,k)|0)!=(k|0):0){c[b>>2]=0;i=0;break}do if((g|0)>0){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;sO(m,g,h);if((Hb[c[(c[i>>2]|0)+48>>2]&63](i,(a[m+8+3>>0]|0)<0?c[m>>2]|0:m,g)|0)==(g|0)){uO(m);break}else{c[b>>2]=0;uO(m);i=0;break a}}while(0);o=f-j|0;f=o>>2;if((o|0)>0?(Hb[c[(c[i>>2]|0)+48>>2]&63](i,e,f)|0)!=(f|0):0){c[b>>2]=0;i=0;break}c[l>>2]=0}while(0);yb=n;return i|0}function HH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=yb;yb=yb+16|0;s=v;t=VF(i,56768)|0;q=VF(i,56776)|0;Sb[c[(c[q>>2]|0)+20>>2]&63](s,q);c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{r=Gb[c[(c[t>>2]|0)+44>>2]&63](t,i)|0;i=c[h>>2]|0;c[h>>2]=i+4;c[i>>2]=r;i=b+1|0;break}default:i=b}r=e;a:do if((r-i|0)>1?(a[i>>0]|0)==48:0){j=i+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:{u=4;break a}}o=Gb[c[(c[t>>2]|0)+44>>2]&63](t,48)|0;p=c[h>>2]|0;c[h>>2]=p+4;c[p>>2]=o;i=i+2|0;p=Gb[c[(c[t>>2]|0)+44>>2]&63](t,a[j>>0]|0)|0;j=c[h>>2]|0;c[h>>2]=j+4;c[j>>2]=p;j=i;while(1){if(j>>>0>=e>>>0)break a;p=a[j>>0]|0;if(!(Yy(p,YF()|0)|0))break a;j=j+1|0}}else u=4;while(0);b:do if((u|0)==4){j=i;while(1){if(j>>>0>=e>>>0)break b;p=a[j>>0]|0;if(!(Xy(p,YF()|0)|0))break b;j=j+1|0}}while(0);o=s+11|0;n=a[o>>0]|0;p=s+4|0;c:do if((n<<24>>24<0?c[p>>2]|0:n&255)|0){d:do if((i|0)!=(j|0)){k=j;l=i;while(1){k=k+-1|0;if(l>>>0>=k>>>0)break d;n=a[l>>0]|0;a[l>>0]=a[k>>0]|0;a[k>>0]=n;l=l+1|0}}while(0);n=Eb[c[(c[q>>2]|0)+16>>2]&127](q)|0;m=i;k=0;l=0;while(1){if(m>>>0>=j>>>0)break;w=a[((a[o>>0]|0)<0?c[s>>2]|0:s)+k>>0]|0;if(w<<24>>24>0&(l|0)==(w<<24>>24|0)){l=c[h>>2]|0;c[h>>2]=l+4;c[l>>2]=n;l=a[o>>0]|0;k=k+(k>>>0<((l<<24>>24<0?c[p>>2]|0:l&255)+-1|0)>>>0&1)|0;l=0}x=Gb[c[(c[t>>2]|0)+44>>2]&63](t,a[m>>0]|0)|0;w=c[h>>2]|0;c[h>>2]=w+4;c[w>>2]=x;m=m+1|0;l=l+1|0}i=f+(i-b<<2)|0;l=c[h>>2]|0;if((i|0)==(l|0))k=t;else{k=l;while(1){k=k+-4|0;if(i>>>0>=k>>>0){k=t;i=l;break c}x=c[i>>2]|0;c[i>>2]=c[k>>2];c[k>>2]=x;i=i+4|0}}}else{Ib[c[(c[t>>2]|0)+48>>2]&15](t,i,j,c[h>>2]|0)|0;i=(c[h>>2]|0)+(j-i<<2)|0;c[h>>2]=i;k=t}while(0);while(1){if(j>>>0>=e>>>0)break;i=a[j>>0]|0;if(i<<24>>24==46){u=32;break}w=Gb[c[(c[k>>2]|0)+44>>2]&63](t,i)|0;x=c[h>>2]|0;i=x+4|0;c[h>>2]=i;c[x>>2]=w;j=j+1|0}if((u|0)==32){w=Eb[c[(c[q>>2]|0)+12>>2]&127](q)|0;x=c[h>>2]|0;i=x+4|0;c[h>>2]=i;c[x>>2]=w;j=j+1|0}Ib[c[(c[t>>2]|0)+48>>2]&15](t,j,e,i)|0;x=(c[h>>2]|0)+(r-j<<2)|0;c[h>>2]=x;c[g>>2]=(d|0)==(e|0)?x:f+(d-b<<2)|0;hO(s);yb=v;return}function IH(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=yb;yb=yb+16|0;q=r;p=VF(i,56768)|0;l=VF(i,56776)|0;Sb[c[(c[l>>2]|0)+20>>2]&63](q,l);n=q+11|0;m=a[n>>0]|0;o=q+4|0;if((m<<24>>24<0?c[o>>2]|0:m&255)|0){c[h>>2]=f;i=a[b>>0]|0;switch(i<<24>>24){case 43:case 45:{m=Gb[c[(c[p>>2]|0)+44>>2]&63](p,i)|0;i=c[h>>2]|0;c[h>>2]=i+4;c[i>>2]=m;i=b+1|0;break}default:i=b}a:do if((e-i|0)>1?(a[i>>0]|0)==48:0){j=i+1|0;switch(a[j>>0]|0){case 88:case 120:break;default:break a}m=Gb[c[(c[p>>2]|0)+44>>2]&63](p,48)|0;k=c[h>>2]|0;c[h>>2]=k+4;c[k>>2]=m;k=Gb[c[(c[p>>2]|0)+44>>2]&63](p,a[j>>0]|0)|0;m=c[h>>2]|0;c[h>>2]=m+4;c[m>>2]=k;i=i+2|0}while(0);b:do if((i|0)!=(e|0)){j=e;k=i;while(1){j=j+-1|0;if(k>>>0>=j>>>0)break b;m=a[k>>0]|0;a[k>>0]=a[j>>0]|0;a[j>>0]=m;k=k+1|0}}while(0);m=Eb[c[(c[l>>2]|0)+16>>2]&127](l)|0;l=i;j=0;k=0;while(1){if(l>>>0>=e>>>0)break;s=a[((a[n>>0]|0)<0?c[q>>2]|0:q)+j>>0]|0;if(s<<24>>24!=0&(k|0)==(s<<24>>24|0)){k=c[h>>2]|0;c[h>>2]=k+4;c[k>>2]=m;k=a[n>>0]|0;j=j+(j>>>0<((k<<24>>24<0?c[o>>2]|0:k&255)+-1|0)>>>0&1)|0;k=0}t=Gb[c[(c[p>>2]|0)+44>>2]&63](p,a[l>>0]|0)|0;s=c[h>>2]|0;c[h>>2]=s+4;c[s>>2]=t;l=l+1|0;k=k+1|0}i=f+(i-b<<2)|0;j=c[h>>2]|0;if((i|0)!=(j|0)){while(1){j=j+-4|0;if(i>>>0>=j>>>0)break;t=c[i>>2]|0;c[i>>2]=c[j>>2];c[j>>2]=t;i=i+4|0}i=c[h>>2]|0}}else{Ib[c[(c[p>>2]|0)+48>>2]&15](p,b,e,f)|0;i=f+(e-b<<2)|0;c[h>>2]=i}c[g>>2]=(d|0)==(e|0)?i:f+(d-b<<2)|0;hO(q);yb=r;return}function JH(a){a=a|0;AF(a);return}function KH(a){a=a|0;AF(a);QA(a);return}function LH(a){a=a|0;return 2}function MH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=yb;yb=yb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=cI(a,j,i,e,f,g,49940,49948)|0;yb=h;return g|0}function NH(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=yb;yb=yb+16|0;j=i+12|0;k=i+8|0;m=i+4|0;l=i;n=b+8|0;n=Eb[c[(c[n>>2]|0)+20>>2]&127](n)|0;c[m>>2]=c[d>>2];c[l>>2]=c[e>>2];e=a[n+11>>0]|0;o=e<<24>>24<0;d=o?c[n>>2]|0:n;e=d+(o?c[n+4>>2]|0:e&255)|0;c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];h=cI(b,k,j,f,g,h,d,e)|0;yb=i;return h|0}function OH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=yb;yb=yb+16|0;i=h+4|0;j=h;GE(i,e);e=VF(i,56736)|0;WF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];aI(a,g+24|0,b,i,f,e);yb=h;return c[b>>2]|0}function PH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=yb;yb=yb+16|0;i=h+4|0;j=h;GE(i,e);e=VF(i,56736)|0;WF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];bI(a,g+16|0,b,i,f,e);yb=h;return c[b>>2]|0}function QH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=yb;yb=yb+16|0;i=h+4|0;j=h;GE(i,e);e=VF(i,56736)|0;WF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];nI(a,g+20|0,b,i,f,e);yb=h;return c[b>>2]|0}function RH(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;R=yb;yb=yb+144|0;k=R+128|0;j=R+112|0;P=R+124|0;Q=R+120|0;l=R+116|0;m=R+108|0;n=R+104|0;o=R+100|0;p=R+96|0;q=R+92|0;r=R+88|0;s=R+84|0;t=R+80|0;u=R+76|0;v=R+72|0;w=R+68|0;x=R+64|0;y=R+60|0;z=R+56|0;A=R+52|0;B=R+48|0;C=R+44|0;D=R+40|0;E=R+36|0;F=R+32|0;G=R+28|0;H=R+24|0;I=R+20|0;J=R+16|0;K=R+12|0;L=R+8|0;M=R+4|0;N=R;c[g>>2]=0;GE(k,f);O=VF(k,56736)|0;WF(k);do switch(i<<24>>24|0){case 65:case 97:{c[P>>2]=c[e>>2];c[k>>2]=c[P>>2];aI(b,h+24|0,d,k,g,O);S=26;break}case 104:case 66:case 98:{c[Q>>2]=c[e>>2];c[k>>2]=c[Q>>2];bI(b,h+16|0,d,k,g,O);S=26;break}case 99:{Q=b+8|0;Q=Eb[c[(c[Q>>2]|0)+12>>2]&127](Q)|0;c[l>>2]=c[d>>2];c[m>>2]=c[e>>2];S=a[Q+11>>0]|0;e=S<<24>>24<0;i=e?c[Q>>2]|0:Q;S=i+(e?c[Q+4>>2]|0:S&255)|0;c[j>>2]=c[l>>2];c[k>>2]=c[m>>2];c[d>>2]=cI(b,j,k,f,g,h,i,S)|0;S=26;break}case 101:case 100:{c[n>>2]=c[e>>2];c[k>>2]=c[n>>2];dI(b,h+12|0,d,k,g,O);S=26;break}case 68:{c[o>>2]=c[d>>2];c[p>>2]=c[e>>2];c[j>>2]=c[o>>2];c[k>>2]=c[p>>2];c[d>>2]=cI(b,j,k,f,g,h,49900,49908)|0;S=26;break}case 70:{c[q>>2]=c[d>>2];c[r>>2]=c[e>>2];c[j>>2]=c[q>>2];c[k>>2]=c[r>>2];c[d>>2]=cI(b,j,k,f,g,h,49908,49916)|0;S=26;break}case 72:{c[s>>2]=c[e>>2];c[k>>2]=c[s>>2];eI(b,h+8|0,d,k,g,O);S=26;break}case 73:{c[t>>2]=c[e>>2];c[k>>2]=c[t>>2];fI(b,h+8|0,d,k,g,O);S=26;break}case 106:{c[u>>2]=c[e>>2];c[k>>2]=c[u>>2];gI(b,h+28|0,d,k,g,O);S=26;break}case 109:{c[v>>2]=c[e>>2];c[k>>2]=c[v>>2];hI(b,h+16|0,d,k,g,O);S=26;break}case 77:{c[w>>2]=c[e>>2];c[k>>2]=c[w>>2];iI(b,h+4|0,d,k,g,O);S=26;break}case 116:case 110:{c[x>>2]=c[e>>2];c[k>>2]=c[x>>2];jI(b,d,k,g,O);S=26;break}case 112:{c[y>>2]=c[e>>2];c[k>>2]=c[y>>2];kI(b,h+8|0,d,k,g,O);S=26;break}case 114:{c[z>>2]=c[d>>2];c[A>>2]=c[e>>2];c[j>>2]=c[z>>2];c[k>>2]=c[A>>2];c[d>>2]=cI(b,j,k,f,g,h,49916,49927)|0;S=26;break}case 82:{c[B>>2]=c[d>>2];c[C>>2]=c[e>>2];c[j>>2]=c[B>>2];c[k>>2]=c[C>>2];c[d>>2]=cI(b,j,k,f,g,h,49927,49932)|0;S=26;break}case 83:{c[D>>2]=c[e>>2];c[k>>2]=c[D>>2];lI(b,h,d,k,g,O);S=26;break}case 84:{c[E>>2]=c[d>>2];c[F>>2]=c[e>>2];c[j>>2]=c[E>>2];c[k>>2]=c[F>>2];c[d>>2]=cI(b,j,k,f,g,h,49932,49940)|0;S=26;break}case 119:{c[G>>2]=c[e>>2];c[k>>2]=c[G>>2];mI(b,h+24|0,d,k,g,O);S=26;break}case 120:{i=c[(c[b>>2]|0)+20>>2]|0;c[H>>2]=c[d>>2];c[I>>2]=c[e>>2];c[j>>2]=c[H>>2];c[k>>2]=c[I>>2];j=Mb[i&63](b,j,k,f,g,h)|0;break}case 88:{Q=b+8|0;Q=Eb[c[(c[Q>>2]|0)+24>>2]&127](Q)|0;c[J>>2]=c[d>>2];c[K>>2]=c[e>>2];S=a[Q+11>>0]|0;e=S<<24>>24<0;i=e?c[Q>>2]|0:Q;S=i+(e?c[Q+4>>2]|0:S&255)|0;c[j>>2]=c[J>>2];c[k>>2]=c[K>>2];c[d>>2]=cI(b,j,k,f,g,h,i,S)|0;S=26;break}case 121:{c[L>>2]=c[e>>2];c[k>>2]=c[L>>2];nI(b,h+20|0,d,k,g,O);S=26;break}case 89:{c[M>>2]=c[e>>2];c[k>>2]=c[M>>2];oI(b,h+20|0,d,k,g,O);S=26;break}case 37:{c[N>>2]=c[e>>2];c[k>>2]=c[N>>2];pI(b,d,k,g,O);S=26;break}default:{c[g>>2]=c[g>>2]|4;S=26}}while(0);if((S|0)==26)j=c[d>>2]|0;yb=R;return j|0}function SH(b){b=b|0;if((a[54872]|0)==0?lB(54872)|0:0){$H();c[14216]=53856;nB(54872)}return c[14216]|0}function TH(b){b=b|0;if((a[54856]|0)==0?lB(54856)|0:0){_H();c[14215]=53568;nB(54856)}return c[14215]|0}function UH(b){b=b|0;if((a[54840]|0)==0?lB(54840)|0:0){ZH();c[14214]=53536;nB(54840)}return c[14214]|0}function VH(b){b=b|0;if((a[54832]|0)==0?lB(54832)|0:0){c[14211]=0;c[14212]=0;c[14213]=0;eO(56844,49658,Wf(49658)|0);nB(54832)}return 56844}function WH(b){b=b|0;if((a[54824]|0)==0?lB(54824)|0:0){c[14208]=0;c[14209]=0;c[14210]=0;eO(56832,49646,Wf(49646)|0);nB(54824)}return 56832}function XH(b){b=b|0;if((a[54816]|0)==0?lB(54816)|0:0){c[14205]=0;c[14206]=0;c[14207]=0;eO(56820,49637,Wf(49637)|0);nB(54816)}return 56820}function YH(b){b=b|0;if((a[54808]|0)==0?lB(54808)|0:0){c[14202]=0;c[14203]=0;c[14204]=0;eO(56808,49628,Wf(49628)|0);nB(54808)}return 56808}function ZH(){var b=0,d=0;if((a[54848]|0)==0?lB(54848)|0:0){d=53536;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=53560);nB(54848)}lO(53536,49679)|0;lO(53548,49682)|0;return}function _H(){var b=0,d=0;if((a[54864]|0)==0?lB(54864)|0:0){d=53568;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=53856);nB(54864)}lO(53568,49685)|0;lO(53580,49693)|0;lO(53592,49702)|0;lO(53604,49708)|0;lO(53616,49714)|0;lO(53628,49718)|0;lO(53640,49723)|0;lO(53652,49728)|0;lO(53664,49735)|0;lO(53676,49745)|0;lO(53688,49753)|0;lO(53700,49762)|0;lO(53712,49771)|0;lO(53724,49775)|0;lO(53736,49779)|0;lO(53748,49783)|0;lO(53760,49714)|0;lO(53772,49787)|0;lO(53784,49791)|0;lO(53796,49795)|0;lO(53808,49799)|0;lO(53820,49803)|0;lO(53832,49807)|0;lO(53844,49811)|0;return}function $H(){var b=0,d=0;if((a[54880]|0)==0?lB(54880)|0:0){d=53856;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=54024);nB(54880)}lO(53856,49815)|0;lO(53868,49822)|0;lO(53880,49829)|0;lO(53892,49837)|0;lO(53904,49847)|0;lO(53916,49856)|0;lO(53928,49863)|0;lO(53940,49872)|0;lO(53952,49876)|0;lO(53964,49880)|0;lO(53976,49884)|0;lO(53988,49888)|0;lO(54e3,49892)|0;lO(54012,49896)|0;return}function aI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=yb;yb=yb+16|0;i=h+4|0;j=h;a=a+8|0;a=Eb[c[c[a>>2]>>2]&127](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(DG(d,i,a,a+168|0,g,f,0)|0)-a|0;if((a|0)<168)c[b>>2]=((a|0)/12|0|0)%7|0;yb=h;return}function bI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=yb;yb=yb+16|0;i=h+4|0;j=h;a=a+8|0;a=Eb[c[(c[a>>2]|0)+4>>2]&127](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(DG(d,i,a,a+288|0,g,f,0)|0)-a|0;if((a|0)<288)c[b>>2]=((a|0)/12|0|0)%12|0;yb=h;return}function cI(d,e,f,g,h,i,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=yb;yb=yb+16|0;s=z+12|0;r=z+8|0;w=z+4|0;x=z;GE(s,g);t=VF(s,56736)|0;WF(s);c[h>>2]=0;u=t+8|0;m=0;a:while(1){l=c[e>>2]|0;if(!((j|0)!=(k|0)&(m|0)==0))break;n=l;if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0))m=Eb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else m=ag(a[m>>0]|0)|0;if(Yf(m,Uf()|0)|0){c[e>>2]=0;l=0;o=1;q=0}else{o=0;q=n}}else{l=0;o=1;q=n}p=c[f>>2]|0;m=p;do if(p){n=c[p+12>>2]|0;if((n|0)==(c[p+16>>2]|0))n=Eb[c[(c[p>>2]|0)+36>>2]&127](p)|0;else n=ag(a[n>>0]|0)|0;if(!(Yf(n,Uf()|0)|0))if(o)break;else{y=63;break a}else{c[f>>2]=0;m=0;y=15;break}}else y=15;while(0);if((y|0)==15){y=0;if(o){y=63;break}else p=0}b:do if((Hb[c[(c[t>>2]|0)+36>>2]&63](t,a[j>>0]|0,0)|0)<<24>>24==37){p=j+1|0;if((p|0)==(k|0)){y=63;break a}n=Hb[c[(c[t>>2]|0)+36>>2]&63](t,a[p>>0]|0,0)|0;switch(n<<24>>24){case 48:case 69:{j=j+2|0;if((j|0)==(k|0)){y=63;break a}o=n;l=Hb[c[(c[t>>2]|0)+36>>2]&63](t,a[j>>0]|0,0)|0;j=p;break}default:{o=0;l=n}}p=c[(c[d>>2]|0)+36>>2]|0;c[w>>2]=q;c[x>>2]=m;c[r>>2]=c[w>>2];c[s>>2]=c[x>>2];c[e>>2]=Ob[p&15](d,r,s,g,h,i,l,o)|0;j=j+2|0}else{m=a[j>>0]|0;if(m<<24>>24>-1?(v=c[u>>2]|0,b[v+(m<<24>>24<<1)>>1]&8192):0){do{j=j+1|0;if((j|0)==(k|0)){j=k;break}m=a[j>>0]|0;if(m<<24>>24<=-1)break}while((b[v+(m<<24>>24<<1)>>1]&8192)!=0);while(1){if(l){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0))m=Eb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else m=ag(a[m>>0]|0)|0;if(Yf(m,Uf()|0)|0){c[e>>2]=0;l=0;n=1}else n=0}else{l=0;n=1}do if(p){m=c[p+12>>2]|0;if((m|0)==(c[p+16>>2]|0))m=Eb[c[(c[p>>2]|0)+36>>2]&127](p)|0;else m=ag(a[m>>0]|0)|0;if(!(Yf(m,Uf()|0)|0))if(n)break;else break b;else{c[f>>2]=0;y=42;break}}else y=42;while(0);if((y|0)==42){y=0;if(n)break b;else p=0}n=l+12|0;m=c[n>>2]|0;o=l+16|0;if((m|0)==(c[o>>2]|0))m=Eb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else m=ag(a[m>>0]|0)|0;if((m&255)<<24>>24<=-1)break b;if(!(b[(c[u>>2]|0)+(m<<24>>24<<1)>>1]&8192))break b;m=c[n>>2]|0;if((m|0)==(c[o>>2]|0))Eb[c[(c[l>>2]|0)+40>>2]&127](l)|0;else{c[n>>2]=m+1;ag(a[m>>0]|0)|0}}}n=l+12|0;m=c[n>>2]|0;o=l+16|0;if((m|0)==(c[o>>2]|0))m=Eb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else m=ag(a[m>>0]|0)|0;q=Gb[c[(c[t>>2]|0)+12>>2]&63](t,m&255)|0;if(q<<24>>24!=(Gb[c[(c[t>>2]|0)+12>>2]&63](t,a[j>>0]|0)|0)<<24>>24){c[h>>2]=4;break}m=c[n>>2]|0;if((m|0)==(c[o>>2]|0))Eb[c[(c[l>>2]|0)+40>>2]&127](l)|0;else{c[n>>2]=m+1;ag(a[m>>0]|0)|0}j=j+1|0}while(0);m=c[h>>2]|0}if((y|0)==63)c[h>>2]=4;if(l){j=c[l+12>>2]|0;if((j|0)==(c[l+16>>2]|0))j=Eb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else j=ag(a[j>>0]|0)|0;if(Yf(j,Uf()|0)|0){c[e>>2]=0;l=0;n=1}else n=0}else{l=0;n=1}j=c[f>>2]|0;do if(j){m=c[j+12>>2]|0;if((m|0)==(c[j+16>>2]|0))j=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else j=ag(a[m>>0]|0)|0;if(!(Yf(j,Uf()|0)|0))if(n)break;else{y=78;break}else{c[f>>2]=0;y=76;break}}else y=76;while(0);if((y|0)==76?n:0)y=78;if((y|0)==78)c[h>>2]=c[h>>2]|2;yb=z;return l|0}function dI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=qI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;yb=h;return}function eI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=qI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;yb=h;return}function fI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=qI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;yb=h;return}function gI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=qI(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;yb=h;return}function hI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=qI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;yb=h;return}function iI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=qI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;yb=h;return}function jI(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=h+8|0;a:while(1){d=c[e>>2]|0;do if(d){h=c[d+12>>2]|0;if((h|0)==(c[d+16>>2]|0))d=Eb[c[(c[d>>2]|0)+36>>2]&127](d)|0;else d=ag(a[h>>0]|0)|0;if(Yf(d,Uf()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);i=c[f>>2]|0;do if(i){d=c[i+12>>2]|0;if((d|0)==(c[i+16>>2]|0))d=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else d=ag(a[d>>0]|0)|0;if(!(Yf(d,Uf()|0)|0))if(h)break;else break a;else{c[f>>2]=0;k=15;break}}else k=15;while(0);if((k|0)==15){k=0;if(h){i=0;break}else i=0}d=c[e>>2]|0;h=c[d+12>>2]|0;if((h|0)==(c[d+16>>2]|0))d=Eb[c[(c[d>>2]|0)+36>>2]&127](d)|0;else d=ag(a[h>>0]|0)|0;if((d&255)<<24>>24<=-1)break;if(!(b[(c[j>>2]|0)+(d<<24>>24<<1)>>1]&8192))break;d=c[e>>2]|0;h=d+12|0;i=c[h>>2]|0;if((i|0)==(c[d+16>>2]|0))Eb[c[(c[d>>2]|0)+40>>2]&127](d)|0;else{c[h>>2]=i+1;ag(a[i>>0]|0)|0}}d=c[e>>2]|0;do if(d){h=c[d+12>>2]|0;if((h|0)==(c[d+16>>2]|0))d=Eb[c[(c[d>>2]|0)+36>>2]&127](d)|0;else d=ag(a[h>>0]|0)|0;if(Yf(d,Uf()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);do if(i){d=c[i+12>>2]|0;if((d|0)==(c[i+16>>2]|0))d=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else d=ag(a[d>>0]|0)|0;if(!(Yf(d,Uf()|0)|0))if(h)break;else{k=41;break}else{c[f>>2]=0;k=39;break}}else k=39;while(0);if((k|0)==39?h:0)k=41;if((k|0)==41)c[g>>2]=c[g>>2]|2;return}function kI(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;m=yb;yb=yb+16|0;k=m+4|0;l=m;j=b+8|0;j=Eb[c[(c[j>>2]|0)+8>>2]&127](j)|0;b=a[j+11>>0]|0;if(b<<24>>24<0)i=c[j+4>>2]|0;else i=b&255;b=a[j+12+11>>0]|0;if(b<<24>>24<0)b=c[j+16>>2]|0;else b=b&255;do if((i|0)!=(0-b|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];b=(DG(e,k,j,j+24|0,h,g,0)|0)-j|0;i=c[d>>2]|0;if((i|0)==12&(b|0)==0){c[d>>2]=0;break}if((i|0)<12&(b|0)==12)c[d>>2]=i+12}else c[g>>2]=c[g>>2]|4;while(0);yb=m;return}function lI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=qI(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;yb=h;return}function mI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=qI(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;yb=h;return}function nI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=qI(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a|0)<100?a+1900|0:a;c[b>>2]=a+-1900}yb=h;return}function oI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=qI(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;yb=h;return}function pI(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;b=c[d>>2]|0;do if(b){h=c[b+12>>2]|0;if((h|0)==(c[b+16>>2]|0))b=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=ag(a[h>>0]|0)|0;if(Yf(b,Uf()|0)|0){c[d>>2]=0;i=1;break}else{i=(c[d>>2]|0)==0;break}}else i=1;while(0);h=c[e>>2]|0;do if(h){b=c[h+12>>2]|0;if((b|0)==(c[h+16>>2]|0))b=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else b=ag(a[b>>0]|0)|0;if(!(Yf(b,Uf()|0)|0))if(i){j=h;k=17;break}else{k=16;break}else{c[e>>2]=0;k=14;break}}else k=14;while(0);if((k|0)==14)if(i)k=16;else{j=0;k=17}a:do if((k|0)==16)c[f>>2]=c[f>>2]|6;else if((k|0)==17){b=c[d>>2]|0;h=c[b+12>>2]|0;if((h|0)==(c[b+16>>2]|0))b=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=ag(a[h>>0]|0)|0;if((Hb[c[(c[g>>2]|0)+36>>2]&63](g,b&255,0)|0)<<24>>24!=37){c[f>>2]=c[f>>2]|4;break}b=c[d>>2]|0;h=b+12|0;i=c[h>>2]|0;if((i|0)==(c[b+16>>2]|0))Eb[c[(c[b>>2]|0)+40>>2]&127](b)|0;else{c[h>>2]=i+1;ag(a[i>>0]|0)|0}b=c[d>>2]|0;do if(b){h=c[b+12>>2]|0;if((h|0)==(c[b+16>>2]|0))b=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=ag(a[h>>0]|0)|0;if(Yf(b,Uf()|0)|0){c[d>>2]=0;h=1;break}else{h=(c[d>>2]|0)==0;break}}else h=1;while(0);do if(j){b=c[j+12>>2]|0;if((b|0)==(c[j+16>>2]|0))b=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else b=ag(a[b>>0]|0)|0;if(!(Yf(b,Uf()|0)|0))if(h)break a;else break;else{c[e>>2]=0;k=38;break}}else k=38;while(0);if((k|0)==38?!h:0)break;c[f>>2]=c[f>>2]|2}while(0);return}function qI(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=c[d>>2]|0;do if(i){j=c[i+12>>2]|0;if((j|0)==(c[i+16>>2]|0))i=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else i=ag(a[j>>0]|0)|0;if(Yf(i,Uf()|0)|0){c[d>>2]=0;k=1;break}else{k=(c[d>>2]|0)==0;break}}else k=1;while(0);j=c[e>>2]|0;do if(j){i=c[j+12>>2]|0;if((i|0)==(c[j+16>>2]|0))i=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else i=ag(a[i>>0]|0)|0;if(!(Yf(i,Uf()|0)|0))if(k){q=17;break}else{q=16;break}else{c[e>>2]=0;q=14;break}}else q=14;while(0);if((q|0)==14)if(k)q=16;else{j=0;q=17}a:do if((q|0)==16){c[f>>2]=c[f>>2]|6;i=0}else if((q|0)==17){i=c[d>>2]|0;k=c[i+12>>2]|0;if((k|0)==(c[i+16>>2]|0))i=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else i=ag(a[k>>0]|0)|0;k=i&255;if(k<<24>>24>-1?(p=g+8|0,b[(c[p>>2]|0)+(i<<24>>24<<1)>>1]&2048):0){i=(Hb[c[(c[g>>2]|0)+36>>2]&63](g,k,0)|0)<<24>>24;k=c[d>>2]|0;l=k+12|0;m=c[l>>2]|0;if((m|0)==(c[k+16>>2]|0))Eb[c[(c[k>>2]|0)+40>>2]&127](k)|0;else{c[l>>2]=m+1;ag(a[m>>0]|0)|0}n=j;m=j;while(1){i=i+-48|0;o=h+-1|0;j=c[d>>2]|0;do if(j){k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))j=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else j=ag(a[k>>0]|0)|0;if(Yf(j,Uf()|0)|0){c[d>>2]=0;l=1;break}else{l=(c[d>>2]|0)==0;break}}else l=1;while(0);if(m){j=c[m+12>>2]|0;if((j|0)==(c[m+16>>2]|0))j=Eb[c[(c[m>>2]|0)+36>>2]&127](m)|0;else j=ag(a[j>>0]|0)|0;if(Yf(j,Uf()|0)|0){c[e>>2]=0;j=1;n=0;m=0}else j=0}else{j=1;m=0}k=c[d>>2]|0;if(!((h|0)>1&(l^j)))break;j=c[k+12>>2]|0;if((j|0)==(c[k+16>>2]|0))j=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else j=ag(a[j>>0]|0)|0;k=j&255;if(k<<24>>24<=-1)break a;if(!(b[(c[p>>2]|0)+(j<<24>>24<<1)>>1]&2048))break a;i=(i*10|0)+((Hb[c[(c[g>>2]|0)+36>>2]&63](g,k,0)|0)<<24>>24)|0;j=c[d>>2]|0;k=j+12|0;l=c[k>>2]|0;if((l|0)==(c[j+16>>2]|0))Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[k>>2]=l+1;ag(a[l>>0]|0)|0}h=o}do if(k){j=c[k+12>>2]|0;if((j|0)==(c[k+16>>2]|0))j=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else j=ag(a[j>>0]|0)|0;if(Yf(j,Uf()|0)|0){c[d>>2]=0;k=1;break}else{k=(c[d>>2]|0)==0;break}}else k=1;while(0);do if(n){j=c[n+12>>2]|0;if((j|0)==(c[n+16>>2]|0))j=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else j=ag(a[j>>0]|0)|0;if(!(Yf(j,Uf()|0)|0))if(k)break a;else break;else{c[e>>2]=0;q=63;break}}else q=63;while(0);if((q|0)==63?!k:0)break;c[f>>2]=c[f>>2]|2;break}c[f>>2]=c[f>>2]|4;i=0}while(0);return i|0}function rI(a){a=a|0;AF(a);return}function sI(a){a=a|0;AF(a);QA(a);return}function tI(a){a=a|0;return 2}function uI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=yb;yb=yb+16|0;i=h+12|0;j=h+8|0;l=h+4|0;k=h;c[l>>2]=c[b>>2];c[k>>2]=c[d>>2];c[j>>2]=c[l>>2];c[i>>2]=c[k>>2];g=NI(a,j,i,e,f,g,13152,13184)|0;yb=h;return g|0}function vI(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;i=yb;yb=yb+16|0;j=i+12|0;k=i+8|0;m=i+4|0;l=i;n=b+8|0;n=Eb[c[(c[n>>2]|0)+20>>2]&127](n)|0;c[m>>2]=c[d>>2];c[l>>2]=c[e>>2];e=a[n+8+3>>0]|0;o=e<<24>>24<0;d=o?c[n>>2]|0:n;e=d+((o?c[n+4>>2]|0:e&255)<<2)|0;c[k>>2]=c[m>>2];c[j>>2]=c[l>>2];h=NI(b,k,j,f,g,h,d,e)|0;yb=i;return h|0}function wI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=yb;yb=yb+16|0;i=h+4|0;j=h;GE(i,e);e=VF(i,56768)|0;WF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];LI(a,g+24|0,b,i,f,e);yb=h;return c[b>>2]|0}function xI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=yb;yb=yb+16|0;i=h+4|0;j=h;GE(i,e);e=VF(i,56768)|0;WF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];MI(a,g+16|0,b,i,f,e);yb=h;return c[b>>2]|0}function yI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=yb;yb=yb+16|0;i=h+4|0;j=h;GE(i,e);e=VF(i,56768)|0;WF(i);c[j>>2]=c[d>>2];c[i>>2]=c[j>>2];YI(a,g+20|0,b,i,f,e);yb=h;return c[b>>2]|0}function zI(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;R=yb;yb=yb+144|0;k=R+128|0;j=R+112|0;P=R+124|0;Q=R+120|0;l=R+116|0;m=R+108|0;n=R+104|0;o=R+100|0;p=R+96|0;q=R+92|0;r=R+88|0;s=R+84|0;t=R+80|0;u=R+76|0;v=R+72|0;w=R+68|0;x=R+64|0;y=R+60|0;z=R+56|0;A=R+52|0;B=R+48|0;C=R+44|0;D=R+40|0;E=R+36|0;F=R+32|0;G=R+28|0;H=R+24|0;I=R+20|0;J=R+16|0;K=R+12|0;L=R+8|0;M=R+4|0;N=R;c[g>>2]=0;GE(k,f);O=VF(k,56768)|0;WF(k);do switch(i<<24>>24|0){case 65:case 97:{c[P>>2]=c[e>>2];c[k>>2]=c[P>>2];LI(b,h+24|0,d,k,g,O);S=26;break}case 104:case 66:case 98:{c[Q>>2]=c[e>>2];c[k>>2]=c[Q>>2];MI(b,h+16|0,d,k,g,O);S=26;break}case 99:{Q=b+8|0;Q=Eb[c[(c[Q>>2]|0)+12>>2]&127](Q)|0;c[l>>2]=c[d>>2];c[m>>2]=c[e>>2];S=a[Q+8+3>>0]|0;e=S<<24>>24<0;i=e?c[Q>>2]|0:Q;S=i+((e?c[Q+4>>2]|0:S&255)<<2)|0;c[j>>2]=c[l>>2];c[k>>2]=c[m>>2];c[d>>2]=NI(b,j,k,f,g,h,i,S)|0;S=26;break}case 101:case 100:{c[n>>2]=c[e>>2];c[k>>2]=c[n>>2];OI(b,h+12|0,d,k,g,O);S=26;break}case 68:{c[o>>2]=c[d>>2];c[p>>2]=c[e>>2];c[j>>2]=c[o>>2];c[k>>2]=c[p>>2];c[d>>2]=NI(b,j,k,f,g,h,12976,13008)|0;S=26;break}case 70:{c[q>>2]=c[d>>2];c[r>>2]=c[e>>2];c[j>>2]=c[q>>2];c[k>>2]=c[r>>2];c[d>>2]=NI(b,j,k,f,g,h,13008,13040)|0;S=26;break}case 72:{c[s>>2]=c[e>>2];c[k>>2]=c[s>>2];PI(b,h+8|0,d,k,g,O);S=26;break}case 73:{c[t>>2]=c[e>>2];c[k>>2]=c[t>>2];QI(b,h+8|0,d,k,g,O);S=26;break}case 106:{c[u>>2]=c[e>>2];c[k>>2]=c[u>>2];RI(b,h+28|0,d,k,g,O);S=26;break}case 109:{c[v>>2]=c[e>>2];c[k>>2]=c[v>>2];SI(b,h+16|0,d,k,g,O);S=26;break}case 77:{c[w>>2]=c[e>>2];c[k>>2]=c[w>>2];TI(b,h+4|0,d,k,g,O);S=26;break}case 116:case 110:{c[x>>2]=c[e>>2];c[k>>2]=c[x>>2];UI(b,d,k,g,O);S=26;break}case 112:{c[y>>2]=c[e>>2];c[k>>2]=c[y>>2];VI(b,h+8|0,d,k,g,O);S=26;break}case 114:{c[z>>2]=c[d>>2];c[A>>2]=c[e>>2];c[j>>2]=c[z>>2];c[k>>2]=c[A>>2];c[d>>2]=NI(b,j,k,f,g,h,13040,13084)|0;S=26;break}case 82:{c[B>>2]=c[d>>2];c[C>>2]=c[e>>2];c[j>>2]=c[B>>2];c[k>>2]=c[C>>2];c[d>>2]=NI(b,j,k,f,g,h,13088,13108)|0;S=26;break}case 83:{c[D>>2]=c[e>>2];c[k>>2]=c[D>>2];WI(b,h,d,k,g,O);S=26;break}case 84:{c[E>>2]=c[d>>2];c[F>>2]=c[e>>2];c[j>>2]=c[E>>2];c[k>>2]=c[F>>2];c[d>>2]=NI(b,j,k,f,g,h,13120,13152)|0;S=26;break}case 119:{c[G>>2]=c[e>>2];c[k>>2]=c[G>>2];XI(b,h+24|0,d,k,g,O);S=26;break}case 120:{i=c[(c[b>>2]|0)+20>>2]|0;c[H>>2]=c[d>>2];c[I>>2]=c[e>>2];c[j>>2]=c[H>>2];c[k>>2]=c[I>>2];j=Mb[i&63](b,j,k,f,g,h)|0;break}case 88:{Q=b+8|0;Q=Eb[c[(c[Q>>2]|0)+24>>2]&127](Q)|0;c[J>>2]=c[d>>2];c[K>>2]=c[e>>2];S=a[Q+8+3>>0]|0;e=S<<24>>24<0;i=e?c[Q>>2]|0:Q;S=i+((e?c[Q+4>>2]|0:S&255)<<2)|0;c[j>>2]=c[J>>2];c[k>>2]=c[K>>2];c[d>>2]=NI(b,j,k,f,g,h,i,S)|0;S=26;break}case 121:{c[L>>2]=c[e>>2];c[k>>2]=c[L>>2];YI(b,h+20|0,d,k,g,O);S=26;break}case 89:{c[M>>2]=c[e>>2];c[k>>2]=c[M>>2];ZI(b,h+20|0,d,k,g,O);S=26;break}case 37:{c[N>>2]=c[e>>2];c[k>>2]=c[N>>2];_I(b,d,k,g,O);S=26;break}default:{c[g>>2]=c[g>>2]|4;S=26}}while(0);if((S|0)==26)j=c[d>>2]|0;yb=R;return j|0}function AI(b){b=b|0;if((a[54952]|0)==0?lB(54952)|0:0){KI();c[14233]=54352;nB(54952)}return c[14233]|0}function BI(b){b=b|0;if((a[54936]|0)==0?lB(54936)|0:0){JI();c[14232]=54064;nB(54936)}return c[14232]|0}function CI(b){b=b|0;if((a[54920]|0)==0?lB(54920)|0:0){II();c[14231]=54032;nB(54920)}return c[14231]|0}function DI(b){b=b|0;if((a[54912]|0)==0?lB(54912)|0:0){c[14228]=0;c[14229]=0;c[14230]=0;rO(56912,17648,HI(17648)|0);nB(54912)}return 56912}function EI(b){b=b|0;if((a[54904]|0)==0?lB(54904)|0:0){c[14225]=0;c[14226]=0;c[14227]=0;rO(56900,17600,HI(17600)|0);nB(54904)}return 56900}function FI(b){b=b|0;if((a[54896]|0)==0?lB(54896)|0:0){c[14222]=0;c[14223]=0;c[14224]=0;rO(56888,17564,HI(17564)|0);nB(54896)}return 56888}function GI(b){b=b|0;if((a[54888]|0)==0?lB(54888)|0:0){c[14219]=0;c[14220]=0;c[14221]=0;rO(56876,17528,HI(17528)|0);nB(54888)}return 56876}function HI(a){a=a|0;return jy(a)|0}function II(){var b=0,d=0;if((a[54928]|0)==0?lB(54928)|0:0){d=54032;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=54056);nB(54928)}yO(54032,17732)|0;yO(54044,17744)|0;return}function JI(){var b=0,d=0;if((a[54944]|0)==0?lB(54944)|0:0){d=54064;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=54352);nB(54944)}yO(54064,17756)|0;yO(54076,17788)|0;yO(54088,17824)|0;yO(54100,17848)|0;yO(54112,17872)|0;yO(54124,17888)|0;yO(54136,17908)|0;yO(54148,17928)|0;yO(54160,17956)|0;yO(54172,17996)|0;yO(54184,18028)|0;yO(54196,18064)|0;yO(54208,18100)|0;yO(54220,18116)|0;yO(54232,18132)|0;yO(54244,18148)|0;yO(54256,17872)|0;yO(54268,18164)|0;yO(54280,18180)|0;yO(54292,18196)|0;yO(54304,18212)|0;yO(54316,18228)|0;yO(54328,18244)|0;yO(54340,18260)|0;return}function KI(){var b=0,d=0;if((a[54960]|0)==0?lB(54960)|0:0){d=54352;do{c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}d=d+12|0}while((d|0)!=54520);nB(54960)}yO(54352,18276)|0;yO(54364,18304)|0;yO(54376,18332)|0;yO(54388,18364)|0;yO(54400,18404)|0;yO(54412,18440)|0;yO(54424,18468)|0;yO(54436,18504)|0;yO(54448,18520)|0;yO(54460,18536)|0;yO(54472,18552)|0;yO(54484,18568)|0;yO(54496,18584)|0;yO(54508,18600)|0;return}function LI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=yb;yb=yb+16|0;i=h+4|0;j=h;a=a+8|0;a=Eb[c[c[a>>2]>>2]&127](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(eH(d,i,a,a+168|0,g,f,0)|0)-a|0;if((a|0)<168)c[b>>2]=((a|0)/12|0|0)%7|0;yb=h;return}function MI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=yb;yb=yb+16|0;i=h+4|0;j=h;a=a+8|0;a=Eb[c[(c[a>>2]|0)+4>>2]&127](a)|0;c[j>>2]=c[e>>2];c[i>>2]=c[j>>2];a=(eH(d,i,a,a+288|0,g,f,0)|0)-a|0;if((a|0)<288)c[b>>2]=((a|0)/12|0|0)%12|0;yb=h;return}function NI(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=yb;yb=yb+16|0;q=v+12|0;p=v+8|0;s=v+4|0;t=v;GE(q,e);r=VF(q,56768)|0;WF(q);c[f>>2]=0;k=0;a:while(1){j=c[b>>2]|0;if(!((h|0)!=(i|0)&(k|0)==0))break;l=j;if(j){k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))k=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=hE(c[k>>2]|0)|0;if(HE(k,gE()|0)|0){c[b>>2]=0;j=0;m=1;o=0}else{m=0;o=l}}else{j=0;m=1;o=l}n=c[d>>2]|0;k=n;do if(n){l=c[n+12>>2]|0;if((l|0)==(c[n+16>>2]|0))l=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else l=hE(c[l>>2]|0)|0;if(!(HE(l,gE()|0)|0))if(m)break;else{u=60;break a}else{c[d>>2]=0;k=0;u=15;break}}else u=15;while(0);if((u|0)==15){u=0;if(m){u=60;break}else n=0}b:do if((Hb[c[(c[r>>2]|0)+52>>2]&63](r,c[h>>2]|0,0)|0)<<24>>24==37){n=h+4|0;if((n|0)==(i|0)){u=60;break a}l=Hb[c[(c[r>>2]|0)+52>>2]&63](r,c[n>>2]|0,0)|0;switch(l<<24>>24){case 48:case 69:{h=h+8|0;if((h|0)==(i|0)){u=60;break a}m=l;j=Hb[c[(c[r>>2]|0)+52>>2]&63](r,c[h>>2]|0,0)|0;h=n;break}default:{m=0;j=l}}n=c[(c[a>>2]|0)+36>>2]|0;c[s>>2]=o;c[t>>2]=k;c[p>>2]=c[s>>2];c[q>>2]=c[t>>2];c[b>>2]=Ob[n&15](a,p,q,e,f,g,j,m)|0;h=h+8|0}else{if(!(Hb[c[(c[r>>2]|0)+12>>2]&63](r,8192,c[h>>2]|0)|0)){l=j+12|0;k=c[l>>2]|0;m=j+16|0;if((k|0)==(c[m>>2]|0))k=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=hE(c[k>>2]|0)|0;o=Gb[c[(c[r>>2]|0)+28>>2]&63](r,k)|0;if((o|0)!=(Gb[c[(c[r>>2]|0)+28>>2]&63](r,c[h>>2]|0)|0)){c[f>>2]=4;break}k=c[l>>2]|0;if((k|0)==(c[m>>2]|0))Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[l>>2]=k+4;hE(c[k>>2]|0)|0}h=h+4|0;break}do{h=h+4|0;if((h|0)==(i|0)){h=i;break}}while(Hb[c[(c[r>>2]|0)+12>>2]&63](r,8192,c[h>>2]|0)|0);while(1){if(j){k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))k=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=hE(c[k>>2]|0)|0;if(HE(k,gE()|0)|0){c[b>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}do if(n){k=c[n+12>>2]|0;if((k|0)==(c[n+16>>2]|0))k=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else k=hE(c[k>>2]|0)|0;if(!(HE(k,gE()|0)|0))if(l)break;else break b;else{c[d>>2]=0;u=40;break}}else u=40;while(0);if((u|0)==40){u=0;if(l)break b;else n=0}l=j+12|0;k=c[l>>2]|0;m=j+16|0;if((k|0)==(c[m>>2]|0))k=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else k=hE(c[k>>2]|0)|0;if(!(Hb[c[(c[r>>2]|0)+12>>2]&63](r,8192,k)|0))break b;k=c[l>>2]|0;if((k|0)==(c[m>>2]|0))Eb[c[(c[j>>2]|0)+40>>2]&127](j)|0;else{c[l>>2]=k+4;hE(c[k>>2]|0)|0}}}while(0);k=c[f>>2]|0}if((u|0)==60)c[f>>2]=4;if(j){h=c[j+12>>2]|0;if((h|0)==(c[j+16>>2]|0))h=Eb[c[(c[j>>2]|0)+36>>2]&127](j)|0;else h=hE(c[h>>2]|0)|0;if(HE(h,gE()|0)|0){c[b>>2]=0;j=0;l=1}else l=0}else{j=0;l=1}h=c[d>>2]|0;do if(h){k=c[h+12>>2]|0;if((k|0)==(c[h+16>>2]|0))h=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=hE(c[k>>2]|0)|0;if(!(HE(h,gE()|0)|0))if(l)break;else{u=75;break}else{c[d>>2]=0;u=73;break}}else u=73;while(0);if((u|0)==73?l:0)u=75;if((u|0)==75)c[f>>2]=c[f>>2]|2;yb=v;return j|0}function OI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=$I(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<31&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;yb=h;return}function PI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=$I(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<24&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;yb=h;return}function QI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=$I(d,a,f,g,2)|0;d=c[f>>2]|0;if((a+-1|0)>>>0<12&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;yb=h;return}function RI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=$I(d,a,f,g,3)|0;d=c[f>>2]|0;if((a|0)<366&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;yb=h;return}function SI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=$I(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<13&(d&4|0)==0)c[b>>2]=a+-1;else c[f>>2]=d|4;yb=h;return}function TI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=$I(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<60&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;yb=h;return}function UI(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a:while(1){a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=hE(c[g>>2]|0)|0;if(HE(a,gE()|0)|0){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1;while(0);g=c[d>>2]|0;do if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else a=hE(c[a>>2]|0)|0;if(!(HE(a,gE()|0)|0))if(h){h=g;break}else{h=g;break a}else{c[d>>2]=0;i=15;break}}else i=15;while(0);if((i|0)==15){i=0;if(h){h=0;break}else h=0}a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=hE(c[g>>2]|0)|0;if(!(Hb[c[(c[f>>2]|0)+12>>2]&63](f,8192,a)|0))break;a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0))Eb[c[(c[a>>2]|0)+40>>2]&127](a)|0;else{c[g>>2]=h+4;hE(c[h>>2]|0)|0}}a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=hE(c[g>>2]|0)|0;if(HE(a,gE()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(h){a=c[h+12>>2]|0;if((a|0)==(c[h+16>>2]|0))a=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else a=hE(c[a>>2]|0)|0;if(!(HE(a,gE()|0)|0))if(g)break;else{i=40;break}else{c[d>>2]=0;i=38;break}}else i=38;while(0);if((i|0)==38?g:0)i=40;if((i|0)==40)c[e>>2]=c[e>>2]|2;return}function VI(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;m=yb;yb=yb+16|0;k=m+4|0;l=m;j=b+8|0;j=Eb[c[(c[j>>2]|0)+8>>2]&127](j)|0;b=a[j+8+3>>0]|0;if(b<<24>>24<0)i=c[j+4>>2]|0;else i=b&255;b=a[j+20+3>>0]|0;if(b<<24>>24<0)b=c[j+16>>2]|0;else b=b&255;do if((i|0)!=(0-b|0)){c[l>>2]=c[f>>2];c[k>>2]=c[l>>2];b=(eH(e,k,j,j+24|0,h,g,0)|0)-j|0;i=c[d>>2]|0;if((i|0)==12&(b|0)==0){c[d>>2]=0;break}if((i|0)<12&(b|0)==12)c[d>>2]=i+12}else c[g>>2]=c[g>>2]|4;while(0);yb=m;return}function WI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=$I(d,a,f,g,2)|0;d=c[f>>2]|0;if((a|0)<61&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;yb=h;return}function XI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=$I(d,a,f,g,1)|0;d=c[f>>2]|0;if((a|0)<7&(d&4|0)==0)c[b>>2]=a;else c[f>>2]=d|4;yb=h;return}function YI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=$I(d,a,f,g,4)|0;if(!(c[f>>2]&4)){if((a|0)<69)a=a+2e3|0;else a=(a|0)<100?a+1900|0:a;c[b>>2]=a+-1900}yb=h;return}function ZI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=yb;yb=yb+16|0;a=h+4|0;i=h;c[i>>2]=c[e>>2];c[a>>2]=c[i>>2];a=$I(d,a,f,g,4)|0;if(!(c[f>>2]&4))c[b>>2]=a+-1900;yb=h;return}function _I(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=hE(c[g>>2]|0)|0;if(HE(a,gE()|0)|0){c[b>>2]=0;h=1;break}else{h=(c[b>>2]|0)==0;break}}else h=1;while(0);g=c[d>>2]|0;do if(g){a=c[g+12>>2]|0;if((a|0)==(c[g+16>>2]|0))a=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else a=hE(c[a>>2]|0)|0;if(!(HE(a,gE()|0)|0))if(h){i=g;j=17;break}else{j=16;break}else{c[d>>2]=0;j=14;break}}else j=14;while(0);if((j|0)==14)if(h)j=16;else{i=0;j=17}a:do if((j|0)==16)c[e>>2]=c[e>>2]|6;else if((j|0)==17){a=c[b>>2]|0;g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=hE(c[g>>2]|0)|0;if((Hb[c[(c[f>>2]|0)+52>>2]&63](f,a,0)|0)<<24>>24!=37){c[e>>2]=c[e>>2]|4;break}a=c[b>>2]|0;g=a+12|0;h=c[g>>2]|0;if((h|0)==(c[a+16>>2]|0))Eb[c[(c[a>>2]|0)+40>>2]&127](a)|0;else{c[g>>2]=h+4;hE(c[h>>2]|0)|0}a=c[b>>2]|0;do if(a){g=c[a+12>>2]|0;if((g|0)==(c[a+16>>2]|0))a=Eb[c[(c[a>>2]|0)+36>>2]&127](a)|0;else a=hE(c[g>>2]|0)|0;if(HE(a,gE()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(i){a=c[i+12>>2]|0;if((a|0)==(c[i+16>>2]|0))a=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else a=hE(c[a>>2]|0)|0;if(!(HE(a,gE()|0)|0))if(g)break a;else break;else{c[d>>2]=0;j=38;break}}else j=38;while(0);if((j|0)==38?!g:0)break;c[e>>2]=c[e>>2]|2}while(0);return}function $I(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=c[a>>2]|0;do if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=hE(c[h>>2]|0)|0;if(HE(g,gE()|0)|0){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1;while(0);h=c[b>>2]|0;do if(h){g=c[h+12>>2]|0;if((g|0)==(c[h+16>>2]|0))g=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else g=hE(c[g>>2]|0)|0;if(!(HE(g,gE()|0)|0))if(i){n=17;break}else{n=16;break}else{c[b>>2]=0;n=14;break}}else n=14;while(0);if((n|0)==14)if(i)n=16;else{h=0;n=17}a:do if((n|0)==16){c[d>>2]=c[d>>2]|6;g=0}else if((n|0)==17){g=c[a>>2]|0;i=c[g+12>>2]|0;if((i|0)==(c[g+16>>2]|0))g=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=hE(c[i>>2]|0)|0;if(!(Hb[c[(c[e>>2]|0)+12>>2]&63](e,2048,g)|0)){c[d>>2]=c[d>>2]|4;g=0;break}g=(Hb[c[(c[e>>2]|0)+52>>2]&63](e,g,0)|0)<<24>>24;i=c[a>>2]|0;j=i+12|0;k=c[j>>2]|0;if((k|0)==(c[i+16>>2]|0))Eb[c[(c[i>>2]|0)+40>>2]&127](i)|0;else{c[j>>2]=k+4;hE(c[k>>2]|0)|0}l=h;k=h;while(1){g=g+-48|0;m=f+-1|0;h=c[a>>2]|0;do if(h){i=c[h+12>>2]|0;if((i|0)==(c[h+16>>2]|0))h=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=hE(c[i>>2]|0)|0;if(HE(h,gE()|0)|0){c[a>>2]=0;j=1;break}else{j=(c[a>>2]|0)==0;break}}else j=1;while(0);if(k){h=c[k+12>>2]|0;if((h|0)==(c[k+16>>2]|0))h=Eb[c[(c[k>>2]|0)+36>>2]&127](k)|0;else h=hE(c[h>>2]|0)|0;if(HE(h,gE()|0)|0){c[b>>2]=0;h=1;l=0;k=0}else h=0}else{h=1;k=0}i=c[a>>2]|0;if(!((f|0)>1&(j^h)))break;h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else h=hE(c[h>>2]|0)|0;if(!(Hb[c[(c[e>>2]|0)+12>>2]&63](e,2048,h)|0))break a;g=(g*10|0)+((Hb[c[(c[e>>2]|0)+52>>2]&63](e,h,0)|0)<<24>>24)|0;h=c[a>>2]|0;i=h+12|0;j=c[i>>2]|0;if((j|0)==(c[h+16>>2]|0))Eb[c[(c[h>>2]|0)+40>>2]&127](h)|0;else{c[i>>2]=j+4;hE(c[j>>2]|0)|0}f=m}do if(i){h=c[i+12>>2]|0;if((h|0)==(c[i+16>>2]|0))h=Eb[c[(c[i>>2]|0)+36>>2]&127](i)|0;else h=hE(c[h>>2]|0)|0;if(HE(h,gE()|0)|0){c[a>>2]=0;i=1;break}else{i=(c[a>>2]|0)==0;break}}else i=1;while(0);do if(l){h=c[l+12>>2]|0;if((h|0)==(c[l+16>>2]|0))h=Eb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else h=hE(c[h>>2]|0)|0;if(!(HE(h,gE()|0)|0))if(i)break a;else break;else{c[b>>2]=0;n=61;break}}else n=61;while(0);if((n|0)==61?!i:0)break;c[d>>2]=c[d>>2]|2}while(0);return g|0}function aJ(a){a=a|0;fJ(a+8|0);AF(a);return}function bJ(a){a=a|0;fJ(a+8|0);AF(a);QA(a);return}function cJ(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;j=yb;yb=yb+112|0;e=j;f=j+100|0;c[f>>2]=e+100;dJ(b+8|0,e,f,g,h,i);i=c[f>>2]|0;h=e;e=c[d>>2]|0;while(1){if((h|0)==(i|0))break;f=a[h>>0]|0;if(!e)e=0;else{b=e+24|0;g=c[b>>2]|0;if((g|0)==(c[e+28>>2]|0)){d=c[(c[e>>2]|0)+52>>2]|0;f=ag(f)|0;f=Gb[d&63](e,f)|0}else{c[b>>2]=g+1;a[g>>0]=f;f=ag(f)|0}d=Yf(f,Uf()|0)|0;e=d?0:e}h=h+1|0}yb=j;return e|0}function dJ(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;l=yb;yb=yb+16|0;i=l;a[i>>0]=37;j=i+1|0;a[j>>0]=g;k=i+2|0;a[k>>0]=h;a[i+3>>0]=0;if(h<<24>>24){a[j>>0]=h;a[k>>0]=g}k=eJ(d,c[e>>2]|0)|0;c[e>>2]=d+(Sa(d|0,k|0,i|0,f|0,c[b>>2]|0)|0);yb=l;return}function eJ(a,b){a=a|0;b=b|0;return b-a|0}function fJ(a){a=a|0;var b=0;b=c[a>>2]|0;if((b|0)!=(YF()|0))Ty(c[a>>2]|0);return}function gJ(a){a=a|0;fJ(a+8|0);AF(a);return}function hJ(a){a=a|0;fJ(a+8|0);AF(a);QA(a);return}function iJ(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=yb;yb=yb+416|0;d=i;e=i+400|0;c[e>>2]=d+400;jJ(a+8|0,d,e,f,g,h);h=c[e>>2]|0;g=d;d=c[b>>2]|0;while(1){if((g|0)==(h|0))break;e=c[g>>2]|0;if(!d)d=0;else{a=d+24|0;f=c[a>>2]|0;if((f|0)==(c[d+28>>2]|0)){b=c[(c[d>>2]|0)+52>>2]|0;e=hE(e)|0;e=Gb[b&63](d,e)|0}else{c[a>>2]=f+4;c[f>>2]=e;e=hE(e)|0}b=HE(e,gE()|0)|0;d=b?0:d}g=g+4|0}yb=i;return d|0}function jJ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;h=yb;yb=yb+128|0;k=h;l=h+116|0;i=h+104|0;j=h+112|0;c[l>>2]=k+100;dJ(a,k,l,e,f,g);e=i;c[e>>2]=0;c[e+4>>2]=0;c[j>>2]=k;e=kJ(b,c[d>>2]|0)|0;a=cz(c[a>>2]|0)|0;e=Qz(b,j,e,i)|0;if(a|0)cz(a)|0;if((e|0)==-1)lJ(0);else{c[d>>2]=b+(e<<2);yb=h;return}}function kJ(a,b){a=a|0;b=b|0;return b-a>>2|0}function lJ(a){a=a|0;ua()}function mJ(a){a=a|0;AF(a);return}function nJ(a){a=a|0;AF(a);QA(a);return}function oJ(a){a=a|0;return 127}function pJ(a){a=a|0;return 127}function qJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function rJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function sJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function tJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;fO(a,1,45);return}function uJ(a){a=a|0;return 0}function vJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function wJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function xJ(a){a=a|0;AF(a);return}function yJ(a){a=a|0;AF(a);QA(a);return}function zJ(a){a=a|0;return 127}function AJ(a){a=a|0;return 127}function BJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function CJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function DJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function EJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;fO(a,1,45);return}function FJ(a){a=a|0;return 0}function GJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function HJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function IJ(a){a=a|0;AF(a);return}function JJ(a){a=a|0;AF(a);QA(a);return}function KJ(a){a=a|0;return 2147483647}function LJ(a){a=a|0;return 2147483647}function MJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function NJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function OJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function PJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;sO(a,1,45);return}function QJ(a){a=a|0;return 0}function RJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function SJ(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function TJ(a){a=a|0;AF(a);return}function UJ(a){a=a|0;AF(a);QA(a);return}function VJ(a){a=a|0;return 2147483647}function WJ(a){a=a|0;return 2147483647}function XJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function YJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function ZJ(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[a+(b<<2)>>2]=0;b=b+1|0}return}function _J(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;sO(a,1,45);return}function $J(a){a=a|0;return 0}function aK(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function bK(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function cK(a){a=a|0;AF(a);return}function dK(a){a=a|0;AF(a);QA(a);return}function eK(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=yb;yb=yb+256|0;n=v+240|0;q=v+216|0;m=v+112|0;u=v+232|0;p=v+228|0;s=v+224|0;j=v+250|0;w=v+220|0;o=v;c[u>>2]=m;c[u+4>>2]=145;GE(s,g);b=VF(s,56736)|0;a[j>>0]=0;c[w>>2]=c[e>>2];l=c[g+4>>2]|0;c[n>>2]=c[w>>2];if(hK(d,n,f,s,l,h,j,b,u,p,m+100|0)|0){Ib[c[(c[b>>2]|0)+32>>2]&15](b,50465,50475,n)|0;l=c[p>>2]|0;f=c[u>>2]|0;b=l-f|0;if((b|0)>98){b=DO(b+2|0)|0;if(!b)_N();else{k=b;r=b}}else{k=o;r=0}if(!(a[j>>0]|0))b=k;else{a[k>>0]=45;b=k+1|0}k=n+10|0;m=n;j=f;g=b;b=l;while(1){if(j>>>0>=b>>>0)break;f=a[j>>0]|0;b=n;while(1){if((b|0)==(k|0)){b=k;break}if((a[b>>0]|0)==f<<24>>24)break;b=b+1|0}a[g>>0]=a[50465+(b-m)>>0]|0;j=j+1|0;g=g+1|0;b=c[p>>2]|0}a[g>>0]=0;c[q>>2]=i;if((Az(o,50476,q)|0)!=1)lJ(0);if(r|0)EO(r)}b=c[d>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=ag(a[f>>0]|0)|0;if(Yf(b,Uf()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);b=c[e>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=ag(a[f>>0]|0)|0;if(!(Yf(b,Uf()|0)|0))if(g)break;else{t=34;break}else{c[e>>2]=0;t=32;break}}else t=32;while(0);if((t|0)==32?g:0)t=34;if((t|0)==34)c[h>>2]=c[h>>2]|2;f=c[d>>2]|0;WF(s);b=c[u>>2]|0;c[u>>2]=0;if(b|0)Qb[c[u+4>>2]&255](b);yb=v;return f|0}function fK(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=yb;yb=yb+128|0;j=s+120|0;b=s;r=s+112|0;m=s+108|0;p=s+100|0;k=s+124|0;n=s+104|0;c[r>>2]=b;c[r+4>>2]=145;GE(p,g);l=VF(p,56736)|0;a[k>>0]=0;o=c[e>>2]|0;c[n>>2]=o;g=c[g+4>>2]|0;c[j>>2]=c[n>>2];n=o;if(hK(d,j,f,p,g,h,k,l,r,m,b+100|0)|0){b=i+11|0;if((a[b>>0]|0)<0){f=c[i>>2]|0;a[j>>0]=0;$f(f,j);c[i+4>>2]=0}else{a[j>>0]=0;$f(i,j);a[b>>0]=0}if(a[k>>0]|0)qO(i,Gb[c[(c[l>>2]|0)+28>>2]&63](l,45)|0);k=Gb[c[(c[l>>2]|0)+28>>2]&63](l,48)|0;g=c[m>>2]|0;j=g+-1|0;b=c[r>>2]|0;while(1){if(b>>>0>=j>>>0)break;if((a[b>>0]|0)!=k<<24>>24)break;b=b+1|0}iK(i,b,g)|0}b=c[d>>2]|0;do if(b){g=c[b+12>>2]|0;if((g|0)==(c[b+16>>2]|0))b=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=ag(a[g>>0]|0)|0;if(Yf(b,Uf()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);do if(o){b=c[n+12>>2]|0;if((b|0)==(c[n+16>>2]|0))b=Eb[c[(c[o>>2]|0)+36>>2]&127](n)|0;else b=ag(a[b>>0]|0)|0;if(!(Yf(b,Uf()|0)|0))if(g)break;else{q=27;break}else{c[e>>2]=0;q=25;break}}else q=25;while(0);if((q|0)==25?g:0)q=27;if((q|0)==27)c[h>>2]=c[h>>2]|2;g=c[d>>2]|0;WF(p);b=c[r>>2]|0;c[r>>2]=0;if(b|0)Qb[c[r+4>>2]&255](b);yb=s;return g|0}function gK(a){a=a|0;return}function hK(e,f,g,h,i,j,k,l,m,n,o){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0;Y=yb;yb=yb+512|0;I=Y+488|0;O=Y;X=Y+480|0;Q=Y+472|0;J=Y+468|0;K=Y+496|0;L=Y+493|0;M=Y+492|0;S=Y+456|0;T=Y+444|0;U=Y+432|0;V=Y+420|0;W=Y+408|0;N=Y+404|0;R=Y+400|0;c[I>>2]=o;c[X>>2]=O;c[X+4>>2]=145;c[Q>>2]=O;c[J>>2]=O+400;c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[S+(o<<2)>>2]=0;o=o+1|0}c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[T+(o<<2)>>2]=0;o=o+1|0}c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[U+(o<<2)>>2]=0;o=o+1|0}c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[V+(o<<2)>>2]=0;o=o+1|0}c[W>>2]=0;c[W+4>>2]=0;c[W+8>>2]=0;o=0;while(1){if((o|0)==3)break;c[W+(o<<2)>>2]=0;o=o+1|0}kK(g,h,K,L,M,S,T,U,V,N);c[n>>2]=c[m>>2];B=l+8|0;C=U+11|0;D=U+4|0;E=V+11|0;F=V+4|0;G=S+11|0;H=S+4|0;v=(i&512|0)!=0;w=T+11|0;x=K+3|0;y=T+4|0;z=W+11|0;A=W+4|0;O=0;u=0;a:while(1){if(u>>>0>=4){P=243;break}o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Eb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=ag(a[g>>0]|0)|0;if(Yf(o,Uf()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);g=c[f>>2]|0;do if(g){o=c[g+12>>2]|0;if((o|0)==(c[g+16>>2]|0))o=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else o=ag(a[o>>0]|0)|0;if(!(Yf(o,Uf()|0)|0))if(h){t=g;break}else{P=243;break a}else{c[f>>2]=0;P=31;break}}else P=31;while(0);if((P|0)==31){P=0;if(h){P=243;break}else t=0}b:do switch(a[K+u>>0]|0){case 1:{if((u|0)==3)o=O;else{o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Eb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=ag(a[g>>0]|0)|0;if((o&255)<<24>>24<=-1){P=45;break a}if(!(b[(c[B>>2]|0)+(o<<24>>24<<1)>>1]&8192)){P=45;break a}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))o=Eb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;o=ag(a[h>>0]|0)|0}qO(W,o&255);P=47}break}case 0:{if((u|0)==3)o=O;else P=47;break}case 3:{o=a[C>>0]|0;o=o<<24>>24<0?c[D>>2]|0:o&255;l=a[E>>0]|0;l=l<<24>>24<0?c[F>>2]|0:l&255;if((o|0)==(0-l|0))o=O;else{i=(o|0)==0;o=c[e>>2]|0;g=c[o+12>>2]|0;h=(g|0)==(c[o+16>>2]|0);if(i|(l|0)==0){if(h)o=Eb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=ag(a[g>>0]|0)|0;o=o&255;if(i){if((a[((a[E>>0]|0)<0?c[V>>2]|0:V)>>0]|0)!=o<<24>>24){o=O;break b}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Eb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;ag(a[h>>0]|0)|0}a[k>>0]=1;o=a[E>>0]|0;o=(o<<24>>24<0?c[F>>2]|0:o&255)>>>0>1?V:O;break b}if((a[((a[C>>0]|0)<0?c[U>>2]|0:U)>>0]|0)!=o<<24>>24){a[k>>0]=1;o=O;break b}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Eb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;ag(a[h>>0]|0)|0}o=a[C>>0]|0;o=(o<<24>>24<0?c[D>>2]|0:o&255)>>>0>1?U:O;break b}if(h)o=Eb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=ag(a[g>>0]|0)|0;g=c[e>>2]|0;h=g+12|0;l=c[h>>2]|0;i=(l|0)==(c[g+16>>2]|0);if((a[((a[C>>0]|0)<0?c[U>>2]|0:U)>>0]|0)==(o&255)<<24>>24){if(i)Eb[c[(c[g>>2]|0)+40>>2]&127](g)|0;else{c[h>>2]=l+1;ag(a[l>>0]|0)|0}o=a[C>>0]|0;o=(o<<24>>24<0?c[D>>2]|0:o&255)>>>0>1?U:O;break b}if(i)o=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else o=ag(a[l>>0]|0)|0;if((a[((a[E>>0]|0)<0?c[V>>2]|0:V)>>0]|0)!=(o&255)<<24>>24){P=105;break a}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Eb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;ag(a[h>>0]|0)|0}a[k>>0]=1;o=a[E>>0]|0;o=(o<<24>>24<0?c[F>>2]|0:o&255)>>>0>1?V:O}break}case 2:{if(u>>>0<2|(O|0)!=0){o=a[w>>0]|0;h=o<<24>>24<0;g=c[T>>2]|0;l=h?g:T;i=l;if(!u)h=i;else{s=i;P=110}}else{if(!(v|(u|0)==2&(a[x>>0]|0)!=0)){o=0;break b}o=a[w>>0]|0;h=o<<24>>24<0;g=c[T>>2]|0;s=h?g:T;l=s;P=110}c:do if((P|0)==110){P=0;if((d[K+(u+-1)>>0]|0)<2){i=l+(h?c[y>>2]|0:o&255)|0;h=s;while(1){p=h;if((i|0)==(p|0))break;q=a[p>>0]|0;if(q<<24>>24<=-1)break;if(!(b[(c[B>>2]|0)+(q<<24>>24<<1)>>1]&8192))break;h=p+1|0}q=h-s|0;p=a[z>>0]|0;r=p<<24>>24<0;i=c[A>>2]|0;p=p&255;if(q>>>0<=(r?i:p)>>>0){Z=(c[W>>2]|0)+i|0;i=W+p|0;p=r?Z:i;i=r?Z+(0-q)|0:i+(0-q)|0;while(1){if((i|0)==(p|0))break c;if((a[i>>0]|0)!=(a[l>>0]|0)){h=s;break c}l=l+1|0;i=i+1|0}}else h=s}else h=s}while(0);i=h;h=t;d:while(1){Z=o<<24>>24<0;if((i|0)==((Z?g:T)+(Z?c[y>>2]|0:o&255)|0))break;o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Eb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=ag(a[g>>0]|0)|0;if(Yf(o,Uf()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(h){o=c[h+12>>2]|0;if((o|0)==(c[h+16>>2]|0))o=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else o=ag(a[o>>0]|0)|0;if(!(Yf(o,Uf()|0)|0))if(g){l=h;break}else break d;else{c[f>>2]=0;P=136;break}}else P=136;while(0);if((P|0)==136){P=0;if(g)break;else l=0}o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Eb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=ag(a[g>>0]|0)|0;if((a[i>>0]|0)!=(o&255)<<24>>24)break;o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Eb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;ag(a[h>>0]|0)|0}i=i+1|0;o=a[w>>0]|0;g=c[T>>2]|0;h=l}if(v?(Z=a[w>>0]|0,t=Z<<24>>24<0,(i|0)!=((t?c[T>>2]|0:T)+(t?c[y>>2]|0:Z&255)|0)):0){P=148;break a}else o=O;break}case 4:{i=0;l=t;o=t;e:while(1){g=c[e>>2]|0;do if(g){h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=ag(a[h>>0]|0)|0;if(Yf(g,Uf()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);do if(l){g=c[l+12>>2]|0;if((g|0)==(c[l+16>>2]|0))g=Eb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else g=ag(a[g>>0]|0)|0;if(!(Yf(g,Uf()|0)|0))if(h){p=l;break}else{l=o;break e}else{c[f>>2]=0;o=0;P=162;break}}else P=162;while(0);if((P|0)==162){P=0;if(h){l=o;break}else p=0}g=c[e>>2]|0;h=c[g+12>>2]|0;if((h|0)==(c[g+16>>2]|0))g=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else g=ag(a[h>>0]|0)|0;h=g&255;if(h<<24>>24>-1?(b[(c[B>>2]|0)+(g<<24>>24<<1)>>1]&2048)!=0:0){g=c[n>>2]|0;if((g|0)==(c[I>>2]|0)){lK(m,n,I);g=c[n>>2]|0}c[n>>2]=g+1;a[g>>0]=h;g=i+1|0}else{Z=a[G>>0]|0;if(!((a[M>>0]|0)==h<<24>>24&(i|0?((Z<<24>>24<0?c[H>>2]|0:Z&255)|0)!=0:0))){l=o;break}g=c[Q>>2]|0;if((g|0)==(c[J>>2]|0)){mK(X,Q,J);g=c[Q>>2]|0}c[Q>>2]=g+4;c[g>>2]=i;g=0}h=c[e>>2]|0;l=h+12|0;i=c[l>>2]|0;if((i|0)==(c[h+16>>2]|0))Eb[c[(c[h>>2]|0)+40>>2]&127](h)|0;else{c[l>>2]=i+1;ag(a[i>>0]|0)|0}i=g;l=p}o=c[Q>>2]|0;if(i|0?(c[X>>2]|0)!=(o|0):0){if((o|0)==(c[J>>2]|0)){mK(X,Q,J);o=c[Q>>2]|0}c[Q>>2]=o+4;c[o>>2]=i}f:do if((c[N>>2]|0)>0){o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Eb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=ag(a[g>>0]|0)|0;if(Yf(o,Uf()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(l){o=c[l+12>>2]|0;if((o|0)==(c[l+16>>2]|0))o=Eb[c[(c[l>>2]|0)+36>>2]&127](l)|0;else o=ag(a[o>>0]|0)|0;if(!(Yf(o,Uf()|0)|0))if(g)break;else{P=204;break a}else{c[f>>2]=0;P=198;break}}else P=198;while(0);if((P|0)==198){P=0;if(g){P=204;break a}else l=0}o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Eb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=ag(a[g>>0]|0)|0;if((a[L>>0]|0)!=(o&255)<<24>>24){P=204;break a}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Eb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;ag(a[h>>0]|0)|0}h=l;while(1){if((c[N>>2]|0)<=0)break f;o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Eb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=ag(a[g>>0]|0)|0;if(Yf(o,Uf()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(h){o=c[h+12>>2]|0;if((o|0)==(c[h+16>>2]|0))o=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else o=ag(a[o>>0]|0)|0;if(!(Yf(o,Uf()|0)|0))if(g){l=h;break}else{P=230;break a}else{c[f>>2]=0;P=223;break}}else P=223;while(0);if((P|0)==223){P=0;if(g){P=230;break a}else l=0}o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Eb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=ag(a[g>>0]|0)|0;if((o&255)<<24>>24<=-1){P=230;break a}if(!(b[(c[B>>2]|0)+(o<<24>>24<<1)>>1]&2048)){P=230;break a}if((c[n>>2]|0)==(c[I>>2]|0))lK(m,n,I);o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Eb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=ag(a[g>>0]|0)|0;g=c[n>>2]|0;c[n>>2]=g+1;a[g>>0]=o;c[N>>2]=(c[N>>2]|0)+-1;o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Eb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;ag(a[h>>0]|0)|0}h=l}}while(0);if((c[n>>2]|0)==(c[m>>2]|0)){P=241;break a}else o=O;break}default:o=O}while(0);g:do if((P|0)==47){P=0;h=t;while(1){o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Eb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=ag(a[g>>0]|0)|0;if(Yf(o,Uf()|0)|0){c[e>>2]=0;g=1;break}else{g=(c[e>>2]|0)==0;break}}else g=1;while(0);do if(h){o=c[h+12>>2]|0;if((o|0)==(c[h+16>>2]|0))o=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else o=ag(a[o>>0]|0)|0;if(!(Yf(o,Uf()|0)|0))if(g){l=h;break}else{o=O;break g}else{c[f>>2]=0;P=61;break}}else P=61;while(0);if((P|0)==61){P=0;if(g){o=O;break g}else l=0}o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Eb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=ag(a[g>>0]|0)|0;if((o&255)<<24>>24<=-1){o=O;break g}if(!(b[(c[B>>2]|0)+(o<<24>>24<<1)>>1]&8192)){o=O;break g}o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))o=Eb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;o=ag(a[h>>0]|0)|0}qO(W,o&255);h=l}}while(0);O=o;u=u+1|0}h:do if((P|0)==45){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==105){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==148){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==204){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==230){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==241){c[j>>2]=c[j>>2]|4;g=0}else if((P|0)==243){i:do if(O|0){i=O+11|0;p=O+4|0;l=1;j:while(1){o=a[i>>0]|0;if(o<<24>>24<0)o=c[p>>2]|0;else o=o&255;if(l>>>0>=o>>>0)break i;o=c[e>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Eb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=ag(a[g>>0]|0)|0;if(Yf(o,Uf()|0)|0){c[e>>2]=0;h=1;break}else{h=(c[e>>2]|0)==0;break}}else h=1;while(0);o=c[f>>2]|0;do if(o){g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Eb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=ag(a[g>>0]|0)|0;if(!(Yf(o,Uf()|0)|0))if(h)break;else break j;else{c[f>>2]=0;P=262;break}}else P=262;while(0);if((P|0)==262?(P=0,h):0)break;o=c[e>>2]|0;g=c[o+12>>2]|0;if((g|0)==(c[o+16>>2]|0))o=Eb[c[(c[o>>2]|0)+36>>2]&127](o)|0;else o=ag(a[g>>0]|0)|0;if((a[i>>0]|0)<0)g=c[O>>2]|0;else g=O;if((a[g+l>>0]|0)!=(o&255)<<24>>24)break;o=c[e>>2]|0;g=o+12|0;h=c[g>>2]|0;if((h|0)==(c[o+16>>2]|0))Eb[c[(c[o>>2]|0)+40>>2]&127](o)|0;else{c[g>>2]=h+1;ag(a[h>>0]|0)|0}l=l+1|0}c[j>>2]=c[j>>2]|4;g=0;break h}while(0);g=c[X>>2]|0;o=c[Q>>2]|0;if((g|0)!=(o|0)){c[R>>2]=0;iG(S,g,o,R);if(!(c[R>>2]|0)){g=1;break}else{c[j>>2]=c[j>>2]|4;g=0;break}}else g=1}while(0);hO(W);hO(V);hO(U);hO(T);hO(S);o=c[X>>2]|0;c[X>>2]=0;if(o|0)Qb[c[X+4>>2]&255](o);yb=Y;return g|0}function iK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=yb;yb=yb+16|0;j=d;m=o;n=b+11|0;h=a[n>>0]|0;f=h<<24>>24<0;if(f){l=c[b+4>>2]|0;i=(c[b+8>>2]&2147483647)+-1|0}else{l=h&255;i=10}k=e-j|0;do if(k|0){if(f){g=c[b>>2]|0;f=c[b+4>>2]|0}else{g=b;f=h&255}if(jK(d,g,g+f|0)|0){c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;_f(m,d,e);n=a[m+11>>0]|0;l=n<<24>>24<0;pO(b,l?c[m>>2]|0:m,l?c[m+4>>2]|0:n&255)|0;hO(m);break}if((i-l|0)>>>0>>0)oO(b,i,l+k-i|0,l,l,0,0);if((a[n>>0]|0)<0)h=c[b>>2]|0;else h=b;g=e+(l-j)|0;f=h+l|0;while(1){if((d|0)==(e|0))break;$f(f,d);f=f+1|0;d=d+1|0}a[m>>0]=0;$f(h+g|0,m);d=l+k|0;if((a[n>>0]|0)<0){c[b+4>>2]=d;break}else{a[n>>0]=d;break}}while(0);yb=o;return b|0}function jK(a,b,c){a=a|0;b=b|0;c=c|0;return b>>>0<=a>>>0&a>>>0>>0|0}function kK(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0;o=yb;yb=yb+16|0;m=o+12|0;n=o;if(b){d=VF(d,56968)|0;Sb[c[(c[d>>2]|0)+44>>2]&63](m,d);b=c[m>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;Sb[c[(c[d>>2]|0)+32>>2]&63](n,d);b=k+11|0;if((a[b>>0]|0)<0){e=c[k>>2]|0;a[m>>0]=0;$f(e,m);c[k+4>>2]=0;if((a[b>>0]|0)<0){e=k+8|0;Nf(c[k>>2]|0,c[e>>2]&2147483647);c[e>>2]=0}}else{a[m>>0]=0;$f(k,m);a[b>>0]=0};c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}hO(n);Sb[c[(c[d>>2]|0)+28>>2]&63](n,d);b=j+11|0;if((a[b>>0]|0)<0){k=c[j>>2]|0;a[m>>0]=0;$f(k,m);c[j+4>>2]=0;if((a[b>>0]|0)<0){k=j+8|0;Nf(c[j>>2]|0,c[k>>2]&2147483647);c[k>>2]=0}}else{a[m>>0]=0;$f(j,m);a[b>>0]=0};c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}hO(n);a[f>>0]=Eb[c[(c[d>>2]|0)+12>>2]&127](d)|0;a[g>>0]=Eb[c[(c[d>>2]|0)+16>>2]&127](d)|0;Sb[c[(c[d>>2]|0)+20>>2]&63](n,d);b=h+11|0;if((a[b>>0]|0)<0){g=c[h>>2]|0;a[m>>0]=0;$f(g,m);c[h+4>>2]=0;if((a[b>>0]|0)<0){g=h+8|0;Nf(c[h>>2]|0,c[g>>2]&2147483647);c[g>>2]=0}}else{a[m>>0]=0;$f(h,m);a[b>>0]=0};c[h>>2]=c[n>>2];c[h+4>>2]=c[n+4>>2];c[h+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}hO(n);Sb[c[(c[d>>2]|0)+24>>2]&63](n,d);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[m>>0]=0;$f(h,m);c[i+4>>2]=0;if((a[b>>0]|0)<0){m=i+8|0;Nf(c[i>>2]|0,c[m>>2]&2147483647);c[m>>2]=0}}else{a[m>>0]=0;$f(i,m);a[b>>0]=0};c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}hO(n);b=Eb[c[(c[d>>2]|0)+36>>2]&127](d)|0}else{d=VF(d,56960)|0;Sb[c[(c[d>>2]|0)+44>>2]&63](m,d);b=c[m>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;Sb[c[(c[d>>2]|0)+32>>2]&63](n,d);b=k+11|0;if((a[b>>0]|0)<0){e=c[k>>2]|0;a[m>>0]=0;$f(e,m);c[k+4>>2]=0;if((a[b>>0]|0)<0){e=k+8|0;Nf(c[k>>2]|0,c[e>>2]&2147483647);c[e>>2]=0}}else{a[m>>0]=0;$f(k,m);a[b>>0]=0};c[k>>2]=c[n>>2];c[k+4>>2]=c[n+4>>2];c[k+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}hO(n);Sb[c[(c[d>>2]|0)+28>>2]&63](n,d);b=j+11|0;if((a[b>>0]|0)<0){k=c[j>>2]|0;a[m>>0]=0;$f(k,m);c[j+4>>2]=0;if((a[b>>0]|0)<0){k=j+8|0;Nf(c[j>>2]|0,c[k>>2]&2147483647);c[k>>2]=0}}else{a[m>>0]=0;$f(j,m);a[b>>0]=0};c[j>>2]=c[n>>2];c[j+4>>2]=c[n+4>>2];c[j+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}hO(n);a[f>>0]=Eb[c[(c[d>>2]|0)+12>>2]&127](d)|0;a[g>>0]=Eb[c[(c[d>>2]|0)+16>>2]&127](d)|0;Sb[c[(c[d>>2]|0)+20>>2]&63](n,d);b=h+11|0;if((a[b>>0]|0)<0){g=c[h>>2]|0;a[m>>0]=0;$f(g,m);c[h+4>>2]=0;if((a[b>>0]|0)<0){g=h+8|0;Nf(c[h>>2]|0,c[g>>2]&2147483647);c[g>>2]=0}}else{a[m>>0]=0;$f(h,m);a[b>>0]=0};c[h>>2]=c[n>>2];c[h+4>>2]=c[n+4>>2];c[h+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}hO(n);Sb[c[(c[d>>2]|0)+24>>2]&63](n,d);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[m>>0]=0;$f(h,m);c[i+4>>2]=0;if((a[b>>0]|0)<0){m=i+8|0;Nf(c[i>>2]|0,c[m>>2]&2147483647);c[m>>2]=0}}else{a[m>>0]=0;$f(i,m);a[b>>0]=0};c[i>>2]=c[n>>2];c[i+4>>2]=c[n+4>>2];c[i+8>>2]=c[n+8>>2];b=0;while(1){if((b|0)==3)break;c[n+(b<<2)>>2]=0;b=b+1|0}hO(n);b=Eb[c[(c[d>>2]|0)+36>>2]&127](d)|0}c[l>>2]=b;yb=o;return}function lK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;f=(c[i>>2]|0)!=145;e=c[a>>2]|0;h=e;j=(c[d>>2]|0)-h|0;g=j<<1;g=j>>>0<2147483647?((g|0)==0?1:g):-1;h=(c[b>>2]|0)-h|0;e=GO(f?e:0,g)|0;if(!e)_N();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){Qb[c[i>>2]&255](f);e=c[a>>2]|0}}else c[a>>2]=e;c[i>>2]=146;c[b>>2]=e+h;c[d>>2]=(c[a>>2]|0)+g;return}function mK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;f=(c[i>>2]|0)!=145;e=c[a>>2]|0;h=e;j=(c[d>>2]|0)-h|0;g=j<<1;g=j>>>0<2147483647?((g|0)==0?4:g):-1;h=(c[b>>2]|0)-h>>2;e=GO(f?e:0,g)|0;if(!e)_N();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){Qb[c[i>>2]&255](f);e=c[a>>2]|0}}else c[a>>2]=e;c[i>>2]=146;c[b>>2]=e+(h<<2);c[d>>2]=(c[a>>2]|0)+(g>>>2<<2);return}function nK(a){a=a|0;AF(a);return}function oK(a){a=a|0;AF(a);QA(a);return}function pK(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=yb;yb=yb+592|0;n=v+512|0;q=v+552|0;m=v+112|0;u=v+568|0;p=v+564|0;s=v+560|0;j=v+576|0;w=v+556|0;o=v;c[u>>2]=m;c[u+4>>2]=145;GE(s,g);b=VF(s,56768)|0;a[j>>0]=0;c[w>>2]=c[e>>2];l=c[g+4>>2]|0;c[n>>2]=c[w>>2];if(rK(d,n,f,s,l,h,j,b,u,p,m+400|0)|0){Ib[c[(c[b>>2]|0)+48>>2]&15](b,50575,50585,n)|0;l=c[p>>2]|0;f=c[u>>2]|0;b=l-f|0;if((b|0)>392){b=DO((b>>>2)+2|0)|0;if(!b)_N();else{k=b;r=b}}else{k=o;r=0}if(!(a[j>>0]|0))b=k;else{a[k>>0]=45;b=k+1|0}k=n+40|0;m=n;j=f;g=b;b=l;while(1){if(j>>>0>=b>>>0)break;f=c[j>>2]|0;b=n;while(1){if((b|0)==(k|0)){b=k;break}if((c[b>>2]|0)==(f|0))break;b=b+4|0}a[g>>0]=a[50575+(b-m>>2)>>0]|0;j=j+4|0;g=g+1|0;b=c[p>>2]|0}a[g>>0]=0;c[q>>2]=i;if((Az(o,50476,q)|0)!=1)lJ(0);if(r|0)EO(r)}b=c[d>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=hE(c[f>>2]|0)|0;if(HE(b,gE()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);b=c[e>>2]|0;do if(b){f=c[b+12>>2]|0;if((f|0)==(c[b+16>>2]|0))b=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=hE(c[f>>2]|0)|0;if(!(HE(b,gE()|0)|0))if(g)break;else{t=34;break}else{c[e>>2]=0;t=32;break}}else t=32;while(0);if((t|0)==32?g:0)t=34;if((t|0)==34)c[h>>2]=c[h>>2]|2;f=c[d>>2]|0;WF(s);b=c[u>>2]|0;c[u>>2]=0;if(b|0)Qb[c[u+4>>2]&255](b);yb=v;return f|0}function qK(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=yb;yb=yb+432|0;j=s+424|0;b=s;r=s+416|0;m=s+408|0;p=s+400|0;k=s+428|0;n=s+404|0;c[r>>2]=b;c[r+4>>2]=145;GE(p,g);l=VF(p,56768)|0;a[k>>0]=0;o=c[e>>2]|0;c[n>>2]=o;g=c[g+4>>2]|0;c[j>>2]=c[n>>2];n=o;if(rK(d,j,f,p,g,h,k,l,r,m,b+400|0)|0){b=i+8+3|0;if((a[b>>0]|0)<0){f=c[i>>2]|0;c[j>>2]=0;HF(f,j);c[i+4>>2]=0}else{c[j>>2]=0;HF(i,j);a[b>>0]=0}if(a[k>>0]|0)BO(i,Gb[c[(c[l>>2]|0)+44>>2]&63](l,45)|0);k=Gb[c[(c[l>>2]|0)+44>>2]&63](l,48)|0;g=c[m>>2]|0;j=g+-4|0;b=c[r>>2]|0;while(1){if(b>>>0>=j>>>0)break;if((c[b>>2]|0)!=(k|0))break;b=b+4|0}sK(i,b,g)|0}b=c[d>>2]|0;do if(b){g=c[b+12>>2]|0;if((g|0)==(c[b+16>>2]|0))b=Eb[c[(c[b>>2]|0)+36>>2]&127](b)|0;else b=hE(c[g>>2]|0)|0;if(HE(b,gE()|0)|0){c[d>>2]=0;g=1;break}else{g=(c[d>>2]|0)==0;break}}else g=1;while(0);do if(o){b=c[n+12>>2]|0;if((b|0)==(c[n+16>>2]|0))b=Eb[c[(c[o>>2]|0)+36>>2]&127](n)|0;else b=hE(c[b>>2]|0)|0;if(!(HE(b,gE()|0)|0))if(g)break;else{q=27;break}else{c[e>>2]=0;q=25;break}}else q=25;while(0);if((q|0)==25?g:0)q=27;if((q|0)==27)c[h>>2]=c[h>>2]|2;g=c[d>>2]|0;WF(p);b=c[r>>2]|0;c[r>>2]=0;if(b|0)Qb[c[r+4>>2]&255](b);yb=s;return g|0}function rK(b,e,f,g,h,i,j,k,l,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;X=yb;yb=yb+512|0;H=X+496|0;N=X;W=X+488|0;P=X+480|0;I=X+476|0;J=X+500|0;K=X+472|0;L=X+468|0;R=X+456|0;S=X+444|0;T=X+432|0;U=X+420|0;V=X+408|0;M=X+404|0;Q=X+400|0;c[H>>2]=n;c[W>>2]=N;c[W+4>>2]=145;c[P>>2]=N;c[I>>2]=N+400;c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[R+(n<<2)>>2]=0;n=n+1|0}c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[S+(n<<2)>>2]=0;n=n+1|0}c[T>>2]=0;c[T+4>>2]=0;c[T+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[T+(n<<2)>>2]=0;n=n+1|0}c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[U+(n<<2)>>2]=0;n=n+1|0}c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;n=0;while(1){if((n|0)==3)break;c[V+(n<<2)>>2]=0;n=n+1|0}vK(f,g,J,K,L,R,S,T,U,M);c[m>>2]=c[l>>2];B=T+8+3|0;C=T+4|0;D=U+8+3|0;E=U+4|0;F=R+11|0;G=R+4|0;v=(h&512|0)!=0;w=S+8+3|0;x=J+3|0;y=S+4|0;z=V+8+3|0;A=V+4|0;N=0;u=0;a:while(1){if(u>>>0>=4){O=239;break}n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=hE(c[f>>2]|0)|0;if(HE(n,gE()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);f=c[e>>2]|0;do if(f){n=c[f+12>>2]|0;if((n|0)==(c[f+16>>2]|0))n=Eb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else n=hE(c[n>>2]|0)|0;if(!(HE(n,gE()|0)|0))if(g){t=f;break}else{O=239;break a}else{c[e>>2]=0;O=31;break}}else O=31;while(0);if((O|0)==31){O=0;if(g){O=239;break}else t=0}b:do switch(a[J+u>>0]|0){case 1:{if((u|0)==3)n=N;else{n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=hE(c[f>>2]|0)|0;if(!(Hb[c[(c[k>>2]|0)+12>>2]&63](k,8192,n)|0)){O=44;break a}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))n=Eb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;n=hE(c[g>>2]|0)|0}BO(V,n);O=46}break}case 0:{if((u|0)==3)n=N;else O=46;break}case 3:{n=a[B>>0]|0;n=n<<24>>24<0?c[C>>2]|0:n&255;h=a[D>>0]|0;h=h<<24>>24<0?c[E>>2]|0:h&255;if((n|0)==(0-h|0))n=N;else{o=(n|0)==0;n=c[b>>2]|0;f=c[n+12>>2]|0;g=(f|0)==(c[n+16>>2]|0);if(o|(h|0)==0){if(g)n=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=hE(c[f>>2]|0)|0;if(o){if((n|0)!=(c[((a[D>>0]|0)<0?c[U>>2]|0:U)>>2]|0)){n=N;break b}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Eb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;hE(c[g>>2]|0)|0}a[j>>0]=1;n=a[D>>0]|0;n=(n<<24>>24<0?c[E>>2]|0:n&255)>>>0>1?U:N;break b}if((n|0)!=(c[((a[B>>0]|0)<0?c[T>>2]|0:T)>>2]|0)){a[j>>0]=1;n=N;break b}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Eb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;hE(c[g>>2]|0)|0}n=a[B>>0]|0;n=(n<<24>>24<0?c[C>>2]|0:n&255)>>>0>1?T:N;break b}if(g)n=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=hE(c[f>>2]|0)|0;f=c[b>>2]|0;g=f+12|0;h=c[g>>2]|0;o=(h|0)==(c[f+16>>2]|0);if((n|0)==(c[((a[B>>0]|0)<0?c[T>>2]|0:T)>>2]|0)){if(o)Eb[c[(c[f>>2]|0)+40>>2]&127](f)|0;else{c[g>>2]=h+4;hE(c[h>>2]|0)|0}n=a[B>>0]|0;n=(n<<24>>24<0?c[C>>2]|0:n&255)>>>0>1?T:N;break b}if(o)n=Eb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else n=hE(c[h>>2]|0)|0;if((n|0)!=(c[((a[D>>0]|0)<0?c[U>>2]|0:U)>>2]|0)){O=103;break a}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Eb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;hE(c[g>>2]|0)|0}a[j>>0]=1;n=a[D>>0]|0;n=(n<<24>>24<0?c[E>>2]|0:n&255)>>>0>1?U:N}break}case 2:{if(u>>>0<2|(N|0)!=0){f=a[w>>0]|0;g=c[S>>2]|0;n=f<<24>>24<0?g:S;if(u)O=108}else{if(!(v|(u|0)==2&(a[x>>0]|0)!=0)){n=0;break b}f=a[w>>0]|0;g=c[S>>2]|0;n=f<<24>>24<0?g:S;O=108}c:do if((O|0)==108){O=0;if((d[J+(u+-1)>>0]|0)<2){h=f;while(1){s=h<<24>>24<0;f=n;if(((s?g:S)+((s?c[y>>2]|0:h&255)<<2)|0)==(f|0)){f=h;break}if(!(Hb[c[(c[k>>2]|0)+12>>2]&63](k,8192,c[f>>2]|0)|0)){O=112;break}n=f+4|0;h=a[w>>0]|0;g=c[S>>2]|0}if((O|0)==112){O=0;f=a[w>>0]|0;g=c[S>>2]|0}o=f<<24>>24<0?g:S;s=o;q=n-s>>2;p=a[z>>0]|0;r=p<<24>>24<0;h=c[A>>2]|0;p=p&255;if(q>>>0>(r?h:p)>>>0)n=s;else{Y=(c[V>>2]|0)+(h<<2)|0;h=V+(p<<2)|0;p=r?Y:h;h=(r?Y:h)+(0-q<<2)|0;while(1){if((h|0)==(p|0))break c;if((c[h>>2]|0)!=(c[o>>2]|0)){n=s;break c}o=o+4|0;h=h+4|0}}}}while(0);o=n;h=t;d:while(1){Y=f<<24>>24<0;if((o|0)==((Y?g:S)+((Y?c[y>>2]|0:f&255)<<2)|0))break;n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=hE(c[f>>2]|0)|0;if(HE(n,gE()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(h){n=c[h+12>>2]|0;if((n|0)==(c[h+16>>2]|0))n=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else n=hE(c[n>>2]|0)|0;if(!(HE(n,gE()|0)|0))if(f)break;else break d;else{c[e>>2]=0;O=134;break}}else O=134;while(0);if((O|0)==134){O=0;if(f)break;else h=0}n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=hE(c[f>>2]|0)|0;if((n|0)!=(c[o>>2]|0))break;n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Eb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;hE(c[g>>2]|0)|0}o=o+4|0;f=a[w>>0]|0;g=c[S>>2]|0}if(v?(Y=a[w>>0]|0,t=Y<<24>>24<0,(o|0)!=((t?c[S>>2]|0:S)+((t?c[y>>2]|0:Y&255)<<2)|0)):0){O=146;break a}else n=N;break}case 4:{o=0;h=t;n=t;e:while(1){f=c[b>>2]|0;do if(f){g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0))f=Eb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else f=hE(c[g>>2]|0)|0;if(HE(f,gE()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);do if(h){f=c[h+12>>2]|0;if((f|0)==(c[h+16>>2]|0))f=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else f=hE(c[f>>2]|0)|0;if(!(HE(f,gE()|0)|0))if(g){p=h;break}else{h=n;break e}else{c[e>>2]=0;n=0;O=160;break}}else O=160;while(0);if((O|0)==160){O=0;if(g){h=n;break}else p=0}f=c[b>>2]|0;g=c[f+12>>2]|0;if((g|0)==(c[f+16>>2]|0))g=Eb[c[(c[f>>2]|0)+36>>2]&127](f)|0;else g=hE(c[g>>2]|0)|0;if(Hb[c[(c[k>>2]|0)+12>>2]&63](k,2048,g)|0){f=c[m>>2]|0;if((f|0)==(c[H>>2]|0)){wK(l,m,H);f=c[m>>2]|0}c[m>>2]=f+4;c[f>>2]=g;f=o+1|0}else{Y=a[F>>0]|0;if(!((g|0)==(c[L>>2]|0)&(o|0?((Y<<24>>24<0?c[G>>2]|0:Y&255)|0)!=0:0))){h=n;break}f=c[P>>2]|0;if((f|0)==(c[I>>2]|0)){mK(W,P,I);f=c[P>>2]|0}c[P>>2]=f+4;c[f>>2]=o;f=0}g=c[b>>2]|0;h=g+12|0;o=c[h>>2]|0;if((o|0)==(c[g+16>>2]|0))Eb[c[(c[g>>2]|0)+40>>2]&127](g)|0;else{c[h>>2]=o+4;hE(c[o>>2]|0)|0}o=f;h=p}n=c[P>>2]|0;if(o|0?(c[W>>2]|0)!=(n|0):0){if((n|0)==(c[I>>2]|0)){mK(W,P,I);n=c[P>>2]|0}c[P>>2]=n+4;c[n>>2]=o}f:do if((c[M>>2]|0)>0){n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=hE(c[f>>2]|0)|0;if(HE(n,gE()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(h){n=c[h+12>>2]|0;if((n|0)==(c[h+16>>2]|0))n=Eb[c[(c[h>>2]|0)+36>>2]&127](h)|0;else n=hE(c[n>>2]|0)|0;if(!(HE(n,gE()|0)|0))if(f)break;else{O=201;break a}else{c[e>>2]=0;O=195;break}}else O=195;while(0);if((O|0)==195){O=0;if(f){O=201;break a}else h=0}n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=hE(c[f>>2]|0)|0;if((n|0)!=(c[K>>2]|0)){O=201;break a}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Eb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;hE(c[g>>2]|0)|0}g=h;while(1){if((c[M>>2]|0)<=0)break f;n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=hE(c[f>>2]|0)|0;if(HE(n,gE()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(g){n=c[g+12>>2]|0;if((n|0)==(c[g+16>>2]|0))n=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else n=hE(c[n>>2]|0)|0;if(!(HE(n,gE()|0)|0))if(f){h=g;break}else{O=226;break a}else{c[e>>2]=0;O=220;break}}else O=220;while(0);if((O|0)==220){O=0;if(f){O=226;break a}else h=0}n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=hE(c[f>>2]|0)|0;if(!(Hb[c[(c[k>>2]|0)+12>>2]&63](k,2048,n)|0)){O=226;break a}if((c[m>>2]|0)==(c[H>>2]|0))wK(l,m,H);n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=hE(c[f>>2]|0)|0;f=c[m>>2]|0;c[m>>2]=f+4;c[f>>2]=n;c[M>>2]=(c[M>>2]|0)+-1;n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Eb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;hE(c[g>>2]|0)|0}g=h}}while(0);if((c[m>>2]|0)==(c[l>>2]|0)){O=237;break a}else n=N;break}default:n=N}while(0);g:do if((O|0)==46){O=0;g=t;while(1){n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=hE(c[f>>2]|0)|0;if(HE(n,gE()|0)|0){c[b>>2]=0;f=1;break}else{f=(c[b>>2]|0)==0;break}}else f=1;while(0);do if(g){n=c[g+12>>2]|0;if((n|0)==(c[g+16>>2]|0))n=Eb[c[(c[g>>2]|0)+36>>2]&127](g)|0;else n=hE(c[n>>2]|0)|0;if(!(HE(n,gE()|0)|0))if(f){h=g;break}else{n=N;break g}else{c[e>>2]=0;O=60;break}}else O=60;while(0);if((O|0)==60){O=0;if(f){n=N;break g}else h=0}n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=hE(c[f>>2]|0)|0;if(!(Hb[c[(c[k>>2]|0)+12>>2]&63](k,8192,n)|0)){n=N;break g}n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))n=Eb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;n=hE(c[g>>2]|0)|0}BO(V,n);g=h}}while(0);N=n;u=u+1|0}h:do if((O|0)==44){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==103){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==146){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==201){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==226){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==237){c[i>>2]=c[i>>2]|4;f=0}else if((O|0)==239){i:do if(N|0){o=N+8+3|0;p=N+4|0;h=1;j:while(1){n=a[o>>0]|0;if(n<<24>>24<0)n=c[p>>2]|0;else n=n&255;if(h>>>0>=n>>>0)break i;n=c[b>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=hE(c[f>>2]|0)|0;if(HE(n,gE()|0)|0){c[b>>2]=0;g=1;break}else{g=(c[b>>2]|0)==0;break}}else g=1;while(0);n=c[e>>2]|0;do if(n){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=hE(c[f>>2]|0)|0;if(!(HE(n,gE()|0)|0))if(g)break;else break j;else{c[e>>2]=0;O=258;break}}else O=258;while(0);if((O|0)==258?(O=0,g):0)break;n=c[b>>2]|0;f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=Eb[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=hE(c[f>>2]|0)|0;if((a[o>>0]|0)<0)f=c[N>>2]|0;else f=N;if((n|0)!=(c[f+(h<<2)>>2]|0))break;n=c[b>>2]|0;f=n+12|0;g=c[f>>2]|0;if((g|0)==(c[n+16>>2]|0))Eb[c[(c[n>>2]|0)+40>>2]&127](n)|0;else{c[f>>2]=g+4;hE(c[g>>2]|0)|0}h=h+1|0}c[i>>2]=c[i>>2]|4;f=0;break h}while(0);f=c[W>>2]|0;n=c[P>>2]|0;if((f|0)!=(n|0)){c[Q>>2]=0;iG(R,f,n,Q);if(!(c[Q>>2]|0)){f=1;break}else{c[i>>2]=c[i>>2]|4;f=0;break}}else f=1}while(0);uO(V);uO(U);uO(T);uO(S);hO(R);n=c[W>>2]|0;c[W>>2]=0;if(n|0)Qb[c[W+4>>2]&255](n);yb=X;return f|0}function sK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=yb;yb=yb+16|0;k=n;f=b+8|0;m=f+3|0;i=a[m>>0]|0;g=i<<24>>24<0;if(g){l=c[b+4>>2]|0;h=(c[f>>2]&2147483647)+-1|0}else{l=i&255;h=1}f=e-d|0;j=f>>2;do if(f|0){if(g){g=c[b>>2]|0;f=c[b+4>>2]|0}else{g=b;f=i&255}if(tK(d,g,g+(f<<2)|0)|0){c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;uK(k,d,e);m=a[k+8+3>>0]|0;l=m<<24>>24<0;AO(b,l?c[k>>2]|0:k,l?c[k+4>>2]|0:m&255)|0;uO(k);break}if((h-l|0)>>>0>>0)zO(b,h,l+j-h|0,l,l,0,0);if((a[m>>0]|0)<0)f=c[b>>2]|0;else f=b;f=f+(l<<2)|0;while(1){if((d|0)==(e|0))break;HF(f,d);f=f+4|0;d=d+4|0}c[k>>2]=0;HF(f,k);d=l+j|0;if((a[m>>0]|0)<0){c[b+4>>2]=d;break}else{a[m>>0]=d;break}}while(0);yb=n;return b|0}function tK(a,b,c){a=a|0;b=b|0;c=c|0;return b>>>0<=a>>>0&a>>>0>>0|0}function uK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=yb;yb=yb+16|0;i=j;h=e-d>>2;if(h>>>0>1073741807)cO(b);do if(h>>>0>=2){g=h+4&-4;if(g>>>0>1073741823)ua();else{f=rB(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=h;break}}else{a[b+8+3>>0]=h;f=b}while(0);while(1){if((d|0)==(e|0))break;HF(f,d);d=d+4|0;f=f+4|0}c[i>>2]=0;HF(f,i);yb=j;return}function vK(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;p=yb;yb=yb+16|0;n=p+12|0;o=p;if(b){m=VF(d,56984)|0;Sb[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;Sb[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+8|0;d=b+3|0;if((a[d>>0]|0)<0){e=c[k>>2]|0;c[n>>2]=0;HF(e,n);c[k+4>>2]=0;if((a[d>>0]|0)<0){Nf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;HF(k,n);a[d>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}uO(o);Sb[c[(c[m>>2]|0)+28>>2]&63](o,m);b=j+8|0;d=b+3|0;if((a[d>>0]|0)<0){k=c[j>>2]|0;c[n>>2]=0;HF(k,n);c[j+4>>2]=0;if((a[d>>0]|0)<0){Nf(c[j>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;HF(j,n);a[d>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}uO(o);c[f>>2]=Eb[c[(c[m>>2]|0)+12>>2]&127](m)|0;c[g>>2]=Eb[c[(c[m>>2]|0)+16>>2]&127](m)|0;Sb[c[(c[m>>2]|0)+20>>2]&63](o,m);b=h+11|0;if((a[b>>0]|0)<0){g=c[h>>2]|0;a[n>>0]=0;$f(g,n);c[h+4>>2]=0;if((a[b>>0]|0)<0){g=h+8|0;Nf(c[h>>2]|0,c[g>>2]&2147483647);c[g>>2]=0}}else{a[n>>0]=0;$f(h,n);a[b>>0]=0};c[h>>2]=c[o>>2];c[h+4>>2]=c[o+4>>2];c[h+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}hO(o);Sb[c[(c[m>>2]|0)+24>>2]&63](o,m);b=i+8|0;d=b+3|0;if((a[d>>0]|0)<0){h=c[i>>2]|0;c[n>>2]=0;HF(h,n);c[i+4>>2]=0;if((a[d>>0]|0)<0){Nf(c[i>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;HF(i,n);a[d>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}uO(o);b=Eb[c[(c[m>>2]|0)+36>>2]&127](m)|0}else{m=VF(d,56976)|0;Sb[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[e>>0]=b;a[e+1>>0]=b>>8;a[e+2>>0]=b>>16;a[e+3>>0]=b>>24;Sb[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+8|0;d=b+3|0;if((a[d>>0]|0)<0){e=c[k>>2]|0;c[n>>2]=0;HF(e,n);c[k+4>>2]=0;if((a[d>>0]|0)<0){Nf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;HF(k,n);a[d>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}uO(o);Sb[c[(c[m>>2]|0)+28>>2]&63](o,m);b=j+8|0;d=b+3|0;if((a[d>>0]|0)<0){k=c[j>>2]|0;c[n>>2]=0;HF(k,n);c[j+4>>2]=0;if((a[d>>0]|0)<0){Nf(c[j>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;HF(j,n);a[d>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}uO(o);c[f>>2]=Eb[c[(c[m>>2]|0)+12>>2]&127](m)|0;c[g>>2]=Eb[c[(c[m>>2]|0)+16>>2]&127](m)|0;Sb[c[(c[m>>2]|0)+20>>2]&63](o,m);b=h+11|0;if((a[b>>0]|0)<0){g=c[h>>2]|0;a[n>>0]=0;$f(g,n);c[h+4>>2]=0;if((a[b>>0]|0)<0){g=h+8|0;Nf(c[h>>2]|0,c[g>>2]&2147483647);c[g>>2]=0}}else{a[n>>0]=0;$f(h,n);a[b>>0]=0};c[h>>2]=c[o>>2];c[h+4>>2]=c[o+4>>2];c[h+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}hO(o);Sb[c[(c[m>>2]|0)+24>>2]&63](o,m);b=i+8|0;d=b+3|0;if((a[d>>0]|0)<0){h=c[i>>2]|0;c[n>>2]=0;HF(h,n);c[i+4>>2]=0;if((a[d>>0]|0)<0){Nf(c[i>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;HF(i,n);a[d>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}uO(o);b=Eb[c[(c[m>>2]|0)+36>>2]&127](m)|0}c[l>>2]=b;yb=p;return}function wK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=a+4|0;f=(c[i>>2]|0)!=145;e=c[a>>2]|0;h=e;j=(c[d>>2]|0)-h|0;g=j<<1;g=j>>>0<2147483647?((g|0)==0?4:g):-1;h=(c[b>>2]|0)-h>>2;e=GO(f?e:0,g)|0;if(!e)_N();if(!f){f=c[a>>2]|0;c[a>>2]=e;if(f){Qb[c[i>>2]&255](f);e=c[a>>2]|0}}else c[a>>2]=e;c[i>>2]=146;c[b>>2]=e+(h<<2);c[d>>2]=(c[a>>2]|0)+(g>>>2<<2);return}function xK(a){a=a|0;AF(a);return}function yK(a){a=a|0;AF(a);QA(a);return}function zK(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;E=yb;yb=yb+416|0;q=E+336|0;k=E+328|0;b=E+224|0;l=E+400|0;j=E+112|0;D=E+396|0;r=E+408|0;s=E+405|0;t=E+404|0;A=E+384|0;B=E+372|0;C=E+360|0;o=E+356|0;p=E;u=E+352|0;v=E+344|0;w=E+348|0;c[l>>2]=b;g[q>>3]=i;b=$y(b,100,50681,q)|0;if(b>>>0>99){b=YF()|0;g[k>>3]=i;b=sH(l,b,50681,k)|0;j=c[l>>2]|0;if(!j)_N();k=DO(b)|0;if(!k)_N();else{x=k;z=b;G=k;H=j}}else{x=j;z=b;G=0;H=0}GE(D,f);n=VF(D,56736)|0;m=c[l>>2]|0;Ib[c[(c[n>>2]|0)+32>>2]&15](n,m,m+z|0,x)|0;if(!z)m=0;else m=(a[c[l>>2]>>0]|0)==45;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[C+(b<<2)>>2]=0;b=b+1|0}BK(e,m,D,r,s,t,A,B,C,o);l=c[o>>2]|0;if((z|0)>(l|0)){k=a[C+11>>0]|0;b=a[B+11>>0]|0;b=b<<24>>24<0?c[B+4>>2]|0:b&255;j=l+1+(z-l<<1)|0;k=k<<24>>24<0?c[C+4>>2]|0:k&255}else{k=a[C+11>>0]|0;b=a[B+11>>0]|0;b=b<<24>>24<0?c[B+4>>2]|0:b&255;j=l+2|0;k=k<<24>>24<0?c[C+4>>2]|0:k&255}b=j+k+b|0;if(b>>>0>100){b=DO(b)|0;if(!b)_N();else{y=b;F=b}}else{y=p;F=0}CK(y,u,v,c[f+4>>2]|0,x,x+z|0,n,m,r,a[s>>0]|0,a[t>>0]|0,A,B,C,l);c[w>>2]=c[d>>2];d=c[u>>2]|0;b=c[v>>2]|0;c[q>>2]=c[w>>2];b=Zf(q,y,d,b,f,h)|0;if(F|0)EO(F);hO(C);hO(B);hO(A);WF(D);if(G|0)EO(G);if(H|0)EO(H);yb=E;return b|0}function AK(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=yb;yb=yb+176|0;p=C+156|0;B=C+152|0;u=C+164|0;v=C+161|0;w=C+160|0;y=C+140|0;z=C+128|0;A=C+116|0;l=C+112|0;n=C;q=C+108|0;r=C+104|0;s=C+100|0;GE(B,f);t=VF(B,56736)|0;i=h+11|0;o=a[i>>0]|0;b=o<<24>>24<0;j=h+4|0;if(!((b?c[j>>2]|0:o&255)|0))o=0;else{o=a[(b?c[h>>2]|0:h)>>0]|0;o=o<<24>>24==(Gb[c[(c[t>>2]|0)+28>>2]&63](t,45)|0)<<24>>24};c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[y+(b<<2)>>2]=0;b=b+1|0}c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}BK(e,o,B,u,v,w,y,z,A,l);k=a[i>>0]|0;m=k<<24>>24<0;k=m?c[j>>2]|0:k&255;j=c[l>>2]|0;if((k|0)>(j|0)){e=a[A+11>>0]|0;b=a[z+11>>0]|0;b=b<<24>>24<0?c[z+4>>2]|0:b&255;i=j+1+(k-j<<1)|0;e=e<<24>>24<0?c[A+4>>2]|0:e&255}else{e=a[A+11>>0]|0;b=a[z+11>>0]|0;b=b<<24>>24<0?c[z+4>>2]|0:b&255;i=j+2|0;e=e<<24>>24<0?c[A+4>>2]|0:e&255}b=i+e+b|0;if(b>>>0>100){b=DO(b)|0;if(!b)_N();else{x=b;D=b}}else{x=n;D=0}h=m?c[h>>2]|0:h;CK(x,q,r,c[f+4>>2]|0,h,h+k|0,t,o,u,a[v>>0]|0,a[w>>0]|0,y,z,A,j);c[s>>2]=c[d>>2];h=c[q>>2]|0;b=c[r>>2]|0;c[p>>2]=c[s>>2];b=Zf(p,x,h,b,f,g)|0;if(D|0)EO(D);hO(A);hO(z);hO(y);WF(B);yb=C;return b|0}function BK(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;p=yb;yb=yb+16|0;n=p+12|0;o=p;if(b){m=VF(e,56968)|0;if(d){Sb[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Sb[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+11|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;a[n>>0]=0;$f(f,n);c[k+4>>2]=0;if((a[b>>0]|0)<0){f=k+8|0;Nf(c[k>>2]|0,c[f>>2]&2147483647);c[f>>2]=0}}else{a[n>>0]=0;$f(k,n);a[b>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}hO(o);e=m}else{Sb[c[(c[m>>2]|0)+40>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Sb[c[(c[m>>2]|0)+28>>2]&63](o,m);b=k+11|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;a[n>>0]=0;$f(f,n);c[k+4>>2]=0;if((a[b>>0]|0)<0){f=k+8|0;Nf(c[k>>2]|0,c[f>>2]&2147483647);c[f>>2]=0}}else{a[n>>0]=0;$f(k,n);a[b>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}hO(o);e=m}a[g>>0]=Eb[c[(c[m>>2]|0)+12>>2]&127](m)|0;a[h>>0]=Eb[c[(c[m>>2]|0)+16>>2]&127](m)|0;Sb[c[(c[e>>2]|0)+20>>2]&63](o,m);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[n>>0]=0;$f(h,n);c[i+4>>2]=0;if((a[b>>0]|0)<0){h=i+8|0;Nf(c[i>>2]|0,c[h>>2]&2147483647);c[h>>2]=0}}else{a[n>>0]=0;$f(i,n);a[b>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}hO(o);Sb[c[(c[e>>2]|0)+24>>2]&63](o,m);b=j+11|0;if((a[b>>0]|0)<0){i=c[j>>2]|0;a[n>>0]=0;$f(i,n);c[j+4>>2]=0;if((a[b>>0]|0)<0){n=j+8|0;Nf(c[j>>2]|0,c[n>>2]&2147483647);c[n>>2]=0}}else{a[n>>0]=0;$f(j,n);a[b>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}hO(o);b=Eb[c[(c[m>>2]|0)+36>>2]&127](m)|0}else{m=VF(e,56960)|0;if(d){Sb[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Sb[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+11|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;a[n>>0]=0;$f(f,n);c[k+4>>2]=0;if((a[b>>0]|0)<0){f=k+8|0;Nf(c[k>>2]|0,c[f>>2]&2147483647);c[f>>2]=0}}else{a[n>>0]=0;$f(k,n);a[b>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}hO(o);e=m}else{Sb[c[(c[m>>2]|0)+40>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Sb[c[(c[m>>2]|0)+28>>2]&63](o,m);b=k+11|0;if((a[b>>0]|0)<0){f=c[k>>2]|0;a[n>>0]=0;$f(f,n);c[k+4>>2]=0;if((a[b>>0]|0)<0){f=k+8|0;Nf(c[k>>2]|0,c[f>>2]&2147483647);c[f>>2]=0}}else{a[n>>0]=0;$f(k,n);a[b>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}hO(o);e=m}a[g>>0]=Eb[c[(c[m>>2]|0)+12>>2]&127](m)|0;a[h>>0]=Eb[c[(c[m>>2]|0)+16>>2]&127](m)|0;Sb[c[(c[e>>2]|0)+20>>2]&63](o,m);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[n>>0]=0;$f(h,n);c[i+4>>2]=0;if((a[b>>0]|0)<0){h=i+8|0;Nf(c[i>>2]|0,c[h>>2]&2147483647);c[h>>2]=0}}else{a[n>>0]=0;$f(i,n);a[b>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}hO(o);Sb[c[(c[e>>2]|0)+24>>2]&63](o,m);b=j+11|0;if((a[b>>0]|0)<0){i=c[j>>2]|0;a[n>>0]=0;$f(i,n);c[j+4>>2]=0;if((a[b>>0]|0)<0){n=j+8|0;Nf(c[j>>2]|0,c[n>>2]&2147483647);c[n>>2]=0}}else{a[n>>0]=0;$f(j,n);a[b>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}hO(o);b=Eb[c[(c[m>>2]|0)+36>>2]&127](m)|0}c[l>>2]=b;yb=p;return}function CK(d,e,f,g,h,i,j,k,l,m,n,o,p,q,r){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;c[f>>2]=d;y=q+11|0;G=q+4|0;z=p+11|0;A=p+4|0;B=(g&512|0)==0;C=j+8|0;D=(r|0)>0;E=o+11|0;F=o+4|0;x=0;while(1){if((x|0)==4)break;a:do switch(a[l+x>>0]|0){case 0:{c[e>>2]=c[f>>2];break}case 1:{c[e>>2]=c[f>>2];v=Gb[c[(c[j>>2]|0)+28>>2]&63](j,32)|0;w=c[f>>2]|0;c[f>>2]=w+1;a[w>>0]=v;break}case 3:{w=a[y>>0]|0;s=w<<24>>24<0;if((s?c[G>>2]|0:w&255)|0){v=a[(s?c[q>>2]|0:q)>>0]|0;w=c[f>>2]|0;c[f>>2]=w+1;a[w>>0]=v}break}case 2:{t=a[z>>0]|0;s=t<<24>>24<0;t=s?c[A>>2]|0:t&255;if(!(B|(t|0)==0)){w=s?c[p>>2]|0:p;u=w+t|0;s=c[f>>2]|0;t=w;while(1){if((t|0)==(u|0))break;a[s>>0]=a[t>>0]|0;s=s+1|0;t=t+1|0}c[f>>2]=s}break}case 4:{t=c[f>>2]|0;h=k?h+1|0:h;u=h;while(1){if(u>>>0>=i>>>0)break;s=a[u>>0]|0;if(s<<24>>24<=-1)break;if(!(b[(c[C>>2]|0)+(s<<24>>24<<1)>>1]&2048))break;u=u+1|0}if(D){v=r;while(1){s=(v|0)>0;if(!(u>>>0>h>>>0&s))break;w=u+-1|0;H=a[w>>0]|0;s=c[f>>2]|0;c[f>>2]=s+1;a[s>>0]=H;v=v+-1|0;u=w}if(s)w=Gb[c[(c[j>>2]|0)+28>>2]&63](j,48)|0;else w=0;s=v;while(1){v=c[f>>2]|0;c[f>>2]=v+1;if((s|0)<=0)break;a[v>>0]=w;s=s+-1|0}a[v>>0]=m}b:do if((u|0)==(h|0)){w=Gb[c[(c[j>>2]|0)+28>>2]&63](j,48)|0;H=c[f>>2]|0;c[f>>2]=H+1;a[H>>0]=w}else{H=a[E>>0]|0;s=H<<24>>24<0;if(!((s?c[F>>2]|0:H&255)|0))s=-1;else s=a[(s?c[o>>2]|0:o)>>0]|0;v=0;w=0;while(1){if((u|0)==(h|0))break b;if((w|0)==(s|0)){H=c[f>>2]|0;c[f>>2]=H+1;a[H>>0]=n;v=v+1|0;H=a[E>>0]|0;s=H<<24>>24<0;if(v>>>0<(s?c[F>>2]|0:H&255)>>>0){s=a[(s?c[o>>2]|0:o)+v>>0]|0;s=s<<24>>24==127?-1:s<<24>>24;w=0}else{s=w;w=0}}H=u+-1|0;J=a[H>>0]|0;I=c[f>>2]|0;c[f>>2]=I+1;a[I>>0]=J;w=w+1|0;u=H}}while(0);s=c[f>>2]|0;if((t|0)!=(s|0))while(1){s=s+-1|0;if(t>>>0>=s>>>0)break a;J=a[t>>0]|0;a[t>>0]=a[s>>0]|0;a[s>>0]=J;t=t+1|0}break}default:{}}while(0);x=x+1|0}h=a[y>>0]|0;s=h<<24>>24<0;h=s?c[G>>2]|0:h&255;if(h>>>0>1){J=s?c[q>>2]|0:q;t=J+h|0;s=c[f>>2]|0;h=J;while(1){h=h+1|0;if((h|0)==(t|0))break;a[s>>0]=a[h>>0]|0;s=s+1|0}c[f>>2]=s}switch((g&176)<<24>>24){case 32:{c[e>>2]=c[f>>2];break}case 16:break;default:c[e>>2]=d}return}function DK(a){a=a|0;AF(a);return}function EK(a){a=a|0;AF(a);QA(a);return}function FK(b,d,e,f,h,i){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;E=yb;yb=yb+992|0;q=E+912|0;k=E+904|0;b=E+800|0;l=E+984|0;j=E+400|0;D=E+980|0;r=E+988|0;s=E+976|0;t=E+972|0;A=E+960|0;B=E+948|0;C=E+936|0;o=E+932|0;p=E;u=E+928|0;v=E+920|0;w=E+924|0;c[l>>2]=b;g[q>>3]=i;b=$y(b,100,50681,q)|0;if(b>>>0>99){b=YF()|0;g[k>>3]=i;b=sH(l,b,50681,k)|0;j=c[l>>2]|0;if(!j)_N();k=DO(b<<2)|0;if(!k)_N();else{x=k;z=b;G=k;H=j}}else{x=j;z=b;G=0;H=0}GE(D,f);n=VF(D,56768)|0;m=c[l>>2]|0;Ib[c[(c[n>>2]|0)+48>>2]&15](n,m,m+z|0,x)|0;if(!z)m=0;else m=(a[c[l>>2]>>0]|0)==45;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[B+(b<<2)>>2]=0;b=b+1|0}c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[C+(b<<2)>>2]=0;b=b+1|0}HK(e,m,D,r,s,t,A,B,C,o);l=c[o>>2]|0;if((z|0)>(l|0)){k=a[C+8+3>>0]|0;b=a[B+8+3>>0]|0;b=b<<24>>24<0?c[B+4>>2]|0:b&255;j=l+1+(z-l<<1)|0;k=k<<24>>24<0?c[C+4>>2]|0:k&255}else{k=a[C+8+3>>0]|0;b=a[B+8+3>>0]|0;b=b<<24>>24<0?c[B+4>>2]|0:b&255;j=l+2|0;k=k<<24>>24<0?c[C+4>>2]|0:k&255}b=j+k+b|0;if(b>>>0>100){b=DO(b<<2)|0;if(!b)_N();else{y=b;F=b}}else{y=p;F=0}IK(y,u,v,c[f+4>>2]|0,x,x+(z<<2)|0,n,m,r,c[s>>2]|0,c[t>>2]|0,A,B,C,l);c[w>>2]=c[d>>2];d=c[u>>2]|0;b=c[v>>2]|0;c[q>>2]=c[w>>2];b=GH(q,y,d,b,f,h)|0;if(F|0)EO(F);uO(C);uO(B);hO(A);WF(D);if(G|0)EO(G);if(H|0)EO(H);yb=E;return b|0}function GK(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=yb;yb=yb+480|0;p=C+464|0;B=C+460|0;u=C+468|0;v=C+456|0;w=C+452|0;y=C+440|0;z=C+428|0;A=C+416|0;l=C+412|0;n=C;q=C+408|0;r=C+404|0;s=C+400|0;GE(B,f);t=VF(B,56768)|0;i=h+8+3|0;o=a[i>>0]|0;b=o<<24>>24<0;j=h+4|0;if(!((b?c[j>>2]|0:o&255)|0))o=0;else{o=c[(b?c[h>>2]|0:h)>>2]|0;o=(o|0)==(Gb[c[(c[t>>2]|0)+44>>2]&63](t,45)|0)};c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[y+(b<<2)>>2]=0;b=b+1|0}c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[z+(b<<2)>>2]=0;b=b+1|0}c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[A+(b<<2)>>2]=0;b=b+1|0}HK(e,o,B,u,v,w,y,z,A,l);k=a[i>>0]|0;m=k<<24>>24<0;k=m?c[j>>2]|0:k&255;j=c[l>>2]|0;if((k|0)>(j|0)){e=a[A+8+3>>0]|0;b=a[z+8+3>>0]|0;b=b<<24>>24<0?c[z+4>>2]|0:b&255;i=j+1+(k-j<<1)|0;e=e<<24>>24<0?c[A+4>>2]|0:e&255}else{e=a[A+8+3>>0]|0;b=a[z+8+3>>0]|0;b=b<<24>>24<0?c[z+4>>2]|0:b&255;i=j+2|0;e=e<<24>>24<0?c[A+4>>2]|0:e&255}b=i+e+b|0;if(b>>>0>100){b=DO(b<<2)|0;if(!b)_N();else{x=b;D=b}}else{x=n;D=0}h=m?c[h>>2]|0:h;IK(x,q,r,c[f+4>>2]|0,h,h+(k<<2)|0,t,o,u,c[v>>2]|0,c[w>>2]|0,y,z,A,j);c[s>>2]=c[d>>2];h=c[q>>2]|0;b=c[r>>2]|0;c[p>>2]=c[s>>2];b=GH(p,x,h,b,f,g)|0;if(D|0)EO(D);uO(A);uO(z);hO(y);WF(B);yb=C;return b|0}function HK(b,d,e,f,g,h,i,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0;p=yb;yb=yb+16|0;n=p+12|0;o=p;if(b){m=VF(e,56984)|0;if(d){Sb[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Sb[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+8|0;e=b+3|0;if((a[e>>0]|0)<0){f=c[k>>2]|0;c[n>>2]=0;HF(f,n);c[k+4>>2]=0;if((a[e>>0]|0)<0){Nf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;HF(k,n);a[e>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}uO(o)}else{Sb[c[(c[m>>2]|0)+40>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Sb[c[(c[m>>2]|0)+28>>2]&63](o,m);b=k+8|0;e=b+3|0;if((a[e>>0]|0)<0){f=c[k>>2]|0;c[n>>2]=0;HF(f,n);c[k+4>>2]=0;if((a[e>>0]|0)<0){Nf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;HF(k,n);a[e>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}uO(o)}c[g>>2]=Eb[c[(c[m>>2]|0)+12>>2]&127](m)|0;c[h>>2]=Eb[c[(c[m>>2]|0)+16>>2]&127](m)|0;Sb[c[(c[m>>2]|0)+20>>2]&63](o,m);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[n>>0]=0;$f(h,n);c[i+4>>2]=0;if((a[b>>0]|0)<0){h=i+8|0;Nf(c[i>>2]|0,c[h>>2]&2147483647);c[h>>2]=0}}else{a[n>>0]=0;$f(i,n);a[b>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}hO(o);Sb[c[(c[m>>2]|0)+24>>2]&63](o,m);b=j+8|0;e=b+3|0;if((a[e>>0]|0)<0){i=c[j>>2]|0;c[n>>2]=0;HF(i,n);c[j+4>>2]=0;if((a[e>>0]|0)<0){Nf(c[j>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;HF(j,n);a[e>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}uO(o);b=Eb[c[(c[m>>2]|0)+36>>2]&127](m)|0}else{m=VF(e,56976)|0;if(d){Sb[c[(c[m>>2]|0)+44>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Sb[c[(c[m>>2]|0)+32>>2]&63](o,m);b=k+8|0;e=b+3|0;if((a[e>>0]|0)<0){f=c[k>>2]|0;c[n>>2]=0;HF(f,n);c[k+4>>2]=0;if((a[e>>0]|0)<0){Nf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;HF(k,n);a[e>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}uO(o)}else{Sb[c[(c[m>>2]|0)+40>>2]&63](n,m);b=c[n>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;Sb[c[(c[m>>2]|0)+28>>2]&63](o,m);b=k+8|0;e=b+3|0;if((a[e>>0]|0)<0){f=c[k>>2]|0;c[n>>2]=0;HF(f,n);c[k+4>>2]=0;if((a[e>>0]|0)<0){Nf(c[k>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;HF(k,n);a[e>>0]=0};c[k>>2]=c[o>>2];c[k+4>>2]=c[o+4>>2];c[k+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}uO(o)}c[g>>2]=Eb[c[(c[m>>2]|0)+12>>2]&127](m)|0;c[h>>2]=Eb[c[(c[m>>2]|0)+16>>2]&127](m)|0;Sb[c[(c[m>>2]|0)+20>>2]&63](o,m);b=i+11|0;if((a[b>>0]|0)<0){h=c[i>>2]|0;a[n>>0]=0;$f(h,n);c[i+4>>2]=0;if((a[b>>0]|0)<0){h=i+8|0;Nf(c[i>>2]|0,c[h>>2]&2147483647);c[h>>2]=0}}else{a[n>>0]=0;$f(i,n);a[b>>0]=0};c[i>>2]=c[o>>2];c[i+4>>2]=c[o+4>>2];c[i+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}hO(o);Sb[c[(c[m>>2]|0)+24>>2]&63](o,m);b=j+8|0;e=b+3|0;if((a[e>>0]|0)<0){i=c[j>>2]|0;c[n>>2]=0;HF(i,n);c[j+4>>2]=0;if((a[e>>0]|0)<0){Nf(c[j>>2]|0,c[b>>2]<<2);c[b>>2]=0}}else{c[n>>2]=0;HF(j,n);a[e>>0]=0};c[j>>2]=c[o>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];b=0;while(1){if((b|0)==3)break;c[o+(b<<2)>>2]=0;b=b+1|0}uO(o);b=Eb[c[(c[m>>2]|0)+36>>2]&127](m)|0}c[l>>2]=b;yb=p;return}function IK(b,d,e,f,g,h,i,j,k,l,m,n,o,p,q){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;c[e>>2]=b;z=p+8+3|0;G=p+4|0;A=o+8+3|0;B=o+4|0;C=(f&512|0)==0;D=(q|0)>0;E=n+11|0;F=n+4|0;y=0;while(1){if((y|0)==4)break;a:do switch(a[k+y>>0]|0){case 0:{c[d>>2]=c[e>>2];break}case 1:{c[d>>2]=c[e>>2];w=Gb[c[(c[i>>2]|0)+44>>2]&63](i,32)|0;x=c[e>>2]|0;c[e>>2]=x+4;c[x>>2]=w;break}case 3:{x=a[z>>0]|0;r=x<<24>>24<0;if((r?c[G>>2]|0:x&255)|0){w=c[(r?c[p>>2]|0:p)>>2]|0;x=c[e>>2]|0;c[e>>2]=x+4;c[x>>2]=w}break}case 2:{v=a[A>>0]|0;r=v<<24>>24<0;v=r?c[B>>2]|0:v&255;if(!(C|(v|0)==0)){u=r?c[o>>2]|0:o;s=u+(v<<2)|0;t=c[e>>2]|0;r=t;while(1){if((u|0)==(s|0))break;c[r>>2]=c[u>>2];r=r+4|0;u=u+4|0}c[e>>2]=t+(v<<2)}break}case 4:{s=c[e>>2]|0;g=j?g+4|0:g;r=g;while(1){if(r>>>0>=h>>>0)break;if(!(Hb[c[(c[i>>2]|0)+12>>2]&63](i,2048,c[r>>2]|0)|0))break;r=r+4|0}if(D){u=q;while(1){t=(u|0)>0;if(!(r>>>0>g>>>0&t))break;x=r+-4|0;v=c[x>>2]|0;w=c[e>>2]|0;c[e>>2]=w+4;c[w>>2]=v;u=u+-1|0;r=x}if(t)w=Gb[c[(c[i>>2]|0)+44>>2]&63](i,48)|0;else w=0;v=c[e>>2]|0;while(1){t=v+4|0;if((u|0)<=0)break;c[v>>2]=w;u=u+-1|0;v=t}c[e>>2]=t;c[v>>2]=l;t=r}else t=r;if((t|0)==(g|0)){w=Gb[c[(c[i>>2]|0)+44>>2]&63](i,48)|0;x=c[e>>2]|0;r=x+4|0;c[e>>2]=r;c[x>>2]=w}else{x=a[E>>0]|0;r=x<<24>>24<0;if(!((r?c[F>>2]|0:x&255)|0))r=-1;else r=a[(r?c[n>>2]|0:n)>>0]|0;u=0;v=0;x=t;while(1){if((x|0)==(g|0))break;t=c[e>>2]|0;if((v|0)==(r|0)){w=t+4|0;c[e>>2]=w;c[t>>2]=m;t=u+1|0;u=a[E>>0]|0;r=u<<24>>24<0;if(t>>>0<(r?c[F>>2]|0:u&255)>>>0){r=a[(r?c[n>>2]|0:n)+t>>0]|0;r=r<<24>>24==127?-1:r<<24>>24;u=t;v=0;t=w}else{r=v;u=t;v=0;t=w}}w=x+-4|0;H=c[w>>2]|0;c[e>>2]=t+4;c[t>>2]=H;v=v+1|0;x=w}r=c[e>>2]|0}if((s|0)!=(r|0))while(1){r=r+-4|0;if(s>>>0>=r>>>0)break a;H=c[s>>2]|0;c[s>>2]=c[r>>2];c[r>>2]=H;s=s+4|0}break}default:{}}while(0);y=y+1|0}r=a[z>>0]|0;g=r<<24>>24<0;r=g?c[G>>2]|0:r&255;if(r>>>0>1){s=c[p>>2]|0;u=g?s+4|0:G;r=(g?s:p)+(r<<2)|0;s=c[e>>2]|0;t=r-u|0;g=s;while(1){if((u|0)==(r|0))break;c[g>>2]=c[u>>2];g=g+4|0;u=u+4|0}c[e>>2]=s+(t>>>2<<2)}switch((f&176)<<24>>24){case 32:{c[d>>2]=c[e>>2];break}case 16:break;default:c[d>>2]=b}return}function JK(a){a=a|0;AF(a);return}function KK(a){a=a|0;AF(a);QA(a);return}function LK(b,d,e){b=b|0;d=d|0;e=e|0;e=Ny((a[d+11>>0]|0)<0?c[d>>2]|0:d,1)|0;return e>>>((e|0)!=(-1|0)&1)|0}function MK(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;j=yb;yb=yb+16|0;i=j;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[i+(d<<2)>>2]=0;d=d+1|0}k=a[h+11>>0]|0;l=k<<24>>24<0;d=l?c[h>>2]|0:h;h=d+(l?c[h+4>>2]|0:k&255)|0;while(1){if(d>>>0>=h>>>0)break;qO(i,a[d>>0]|0);d=d+1|0}d=(a[i+11>>0]|0)<0?c[i>>2]|0:i;e=My((e|0)==-1?-1:e<<1,f,g,d)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;h=0;while(1){if((h|0)==3)break;c[b+(h<<2)>>2]=0;h=h+1|0}h=d+(Oy(e)|0)|0;while(1){if(d>>>0>=h>>>0)break;qO(b,a[d>>0]|0);d=d+1|0}hO(i);yb=j;return}function NK(a,b){a=a|0;b=b|0;return}function OK(a){a=a|0;AF(a);return}function PK(a){a=a|0;AF(a);QA(a);return}function QK(b,d,e){b=b|0;d=d|0;e=e|0;e=Ny((a[d+11>>0]|0)<0?c[d>>2]|0:d,1)|0;return e>>>((e|0)!=(-1|0)&1)|0}function RK(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=yb;yb=yb+176|0;p=t+168|0;q=t;r=t+164|0;s=t+160|0;n=t+128|0;l=t+152|0;o=t+144|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[n+(d<<2)>>2]=0;d=d+1|0}c[l+4>>2]=0;c[l>>2]=19072;j=a[h+8+3>>0]|0;k=j<<24>>24<0;d=k?c[h>>2]|0:h;j=d+((k?c[h+4>>2]|0:j&255)<<2)|0;k=q+32|0;h=d;d=0;while(1){if(!((d|0)!=2&h>>>0>>0))break;c[s>>2]=h;i=Ob[c[(c[l>>2]|0)+12>>2]&15](l,p,h,j,s,q,k,r)|0;if((i|0)==2?1:(c[s>>2]|0)==(h|0)){m=8;break}d=q;while(1){if(d>>>0>=(c[r>>2]|0)>>>0)break;qO(n,a[d>>0]|0);d=d+1|0}h=c[s>>2]|0;d=i}if((m|0)==8)lJ(0);AF(l);i=(a[n+11>>0]|0)<0?c[n>>2]|0:n;h=My((e|0)==-1?-1:e<<1,f,g,i)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;d=0;while(1){if((d|0)==3)break;c[b+(d<<2)>>2]=0;d=d+1|0}c[o+4>>2]=0;c[o>>2]=19120;j=i+(Oy(h)|0)|0;k=j;l=q+128|0;h=i;d=0;while(1){if(!((d|0)!=2&h>>>0>>0)){m=23;break}c[s>>2]=h;i=Ob[c[(c[o>>2]|0)+16>>2]&15](o,p,h,(k-h|0)>32?h+32|0:j,s,q,l,r)|0;if((i|0)==2?1:(c[s>>2]|0)==(h|0)){m=19;break}d=q;while(1){if(d>>>0>=(c[r>>2]|0)>>>0)break;BO(b,c[d>>2]|0);d=d+4|0}h=c[s>>2]|0;d=i}if((m|0)==19)lJ(0);else if((m|0)==23){AF(o);hO(n);yb=t;return}}function SK(a,b){a=a|0;b=b|0;return}function TK(a){a=a|0;AF(a);QA(a);return}function UK(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=yb;yb=yb+16|0;j=b+4|0;a=b;c[j>>2]=d;c[a>>2]=g;h=bL(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];yb=b;return h|0}function VK(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=yb;yb=yb+16|0;j=b+4|0;a=b;c[j>>2]=d;c[a>>2]=g;h=aL(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];yb=b;return h|0}function WK(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function XK(a){a=a|0;return 0}function YK(a){a=a|0;return 0}function ZK(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return $K(c,d,e,1114111,0)|0}function _K(a){a=a|0;return 4}function $K(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=c;if((((g&4|0)!=0?(o-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;n=0;a:while(1){if(!(n>>>0>>0&g>>>0>>0))break;k=a[g>>0]|0;m=k&255;do if(k<<24>>24<=-1){if((k&255)<194)break a;if((k&255)<224){if((o-g|0)<2)break a;h=d[g+1>>0]|0;if((h&192|0)!=128)break a;if((h&63|m<<6&1984)>>>0>f>>>0)break a;g=g+2|0;break}if((k&255)<240){if((o-g|0)<3)break a;i=a[g+1>>0]|0;h=a[g+2>>0]|0;switch(k<<24>>24){case -32:{if((i&-32)<<24>>24!=-96)break a;break}case -19:{if((i&-32)<<24>>24!=-128)break a;break}default:if((i&-64)<<24>>24!=-128)break a}h=h&255;if((h&192|0)!=128)break a;if(((i&63)<<6|m<<12&61440|h&63)>>>0>f>>>0)break a;else{g=g+3|0;break}}if((k&255)>=245)break a;if((o-g|0)<4)break a;l=a[g+1>>0]|0;h=a[g+2>>0]|0;j=a[g+3>>0]|0;switch(k<<24>>24){case -16:{if((l+112&255)>=48)break a;break}case -12:{if((l&-16)<<24>>24!=-128)break a;break}default:if((l&-64)<<24>>24!=-128)break a}i=h&255;if((i&192|0)!=128)break a;h=j&255;if((h&192|0)!=128)break a;if(((l&63)<<12|m<<18&1835008|i<<6&4032|h&63)>>>0>f>>>0)break a;else g=g+4|0}else{if(m>>>0>f>>>0)break a;g=g+1|0}while(0);n=n+1|0}return g-b|0}function aL(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0;c[f>>2]=b;c[i>>2]=g;if(k&4){b=c[f>>2]|0;g=e;if((((g-b|0)>2?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)?(a[b+2>>0]|0)==-65:0)c[f>>2]=b+3}else g=e;a:while(1){p=c[f>>2]|0;if(p>>>0>=e>>>0){b=0;break}q=c[i>>2]|0;if(q>>>0>=h>>>0){b=1;break}n=a[p>>0]|0;b=n&255;do if(n<<24>>24>-1)if(b>>>0>j>>>0){b=2;break a}else k=1;else{if((n&255)<194){b=2;break a}if((n&255)<224){if((g-p|0)<2){b=1;break a}k=d[p+1>>0]|0;if((k&192|0)!=128){b=2;break a}b=k&63|b<<6&1984;if(b>>>0>j>>>0){b=2;break a}else{k=2;break}}if((n&255)<240){if((g-p|0)<3){b=1;break a}l=a[p+1>>0]|0;k=a[p+2>>0]|0;switch(n<<24>>24){case -32:{if((l&-32)<<24>>24!=-96){b=2;break a}break}case -19:{if((l&-32)<<24>>24!=-128){b=2;break a}break}default:if((l&-64)<<24>>24!=-128){b=2;break a}}k=k&255;if((k&192|0)!=128){b=2;break a}b=(l&63)<<6|b<<12&61440|k&63;if(b>>>0>j>>>0){b=2;break a}else{k=3;break}}if((n&255)>=245){b=2;break a}if((g-p|0)<4){b=1;break a}o=a[p+1>>0]|0;k=a[p+2>>0]|0;m=a[p+3>>0]|0;switch(n<<24>>24){case -16:{if((o+112&255)>=48){b=2;break a}break}case -12:{if((o&-16)<<24>>24!=-128){b=2;break a}break}default:if((o&-64)<<24>>24!=-128){b=2;break a}}l=k&255;if((l&192|0)!=128){b=2;break a}k=m&255;if((k&192|0)!=128){b=2;break a}b=(o&63)<<12|b<<18&1835008|l<<6&4032|k&63;if(b>>>0>j>>>0){b=2;break a}else k=4}while(0);c[q>>2]=b;c[f>>2]=p+k;c[i>>2]=(c[i>>2]|0)+4}return b|0}function bL(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0;c[e>>2]=b;c[h>>2]=f;l=g;if(j&2)if((l-f|0)<3)b=1;else{c[h>>2]=f+1;a[f>>0]=-17;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-69;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-65;k=4}else k=4;a:do if((k|0)==4){b=c[e>>2]|0;while(1){if(b>>>0>=d>>>0){b=0;break a}f=c[b>>2]|0;if(f>>>0>i>>>0|(f&-2048|0)==55296){b=2;break a}do if(f>>>0>=128){if(f>>>0<2048){b=c[h>>2]|0;if((l-b|0)<2){b=1;break a}c[h>>2]=b+1;a[b>>0]=f>>>6|192;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f&63|128;break}b=c[h>>2]|0;g=l-b|0;if(f>>>0<65536){if((g|0)<3){b=1;break a}c[h>>2]=b+1;a[b>>0]=f>>>12|224;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f&63|128;break}else{if((g|0)<4){b=1;break a}c[h>>2]=b+1;a[b>>0]=f>>>18|240;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f>>>12&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f>>>6&63|128;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=f&63|128;break}}else{b=c[h>>2]|0;if((l-b|0)<1){b=1;break a}c[h>>2]=b+1;a[b>>0]=f}while(0);b=(c[e>>2]|0)+4|0;c[e>>2]=b}}while(0);return b|0}function cL(a){a=a|0;AF(a);QA(a);return}function dL(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function eL(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function fL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function gL(a){a=a|0;return 1}function hL(a){a=a|0;return 1}function iL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;d=d-c|0;return (d>>>0>>0?d:e)|0}function jL(a){a=a|0;return 1}function kL(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=yb;yb=yb+16|0;p=q;n=q+8|0;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(c[k>>2]|0))break;k=k+4|0}c[j>>2]=h;c[g>>2]=e;m=i;o=b+8|0;a:while(1){if((h|0)==(i|0)|(e|0)==(f|0)){k=36;break}r=d;l=c[r+4>>2]|0;b=p;c[b>>2]=c[r>>2];c[b+4>>2]=l;b=cz(c[o>>2]|0)|0;l=Sz(h,g,k-e>>2,m-h|0,d)|0;if(b|0)cz(b)|0;switch(l|0){case -1:{k=10;break a}case 0:{e=1;k=33;break a}default:{}}h=(c[j>>2]|0)+l|0;c[j>>2]=h;if((h|0)==(i|0)){k=34;break}if((k|0)==(f|0)){k=f;e=c[g>>2]|0}else{h=cz(c[o>>2]|0)|0;e=Yx(n,0,d)|0;if(h|0)cz(h)|0;if((e|0)==-1){e=2;k=32;break}if(e>>>0>(m-(c[j>>2]|0)|0)>>>0){e=1;k=32;break}h=n;while(1){if(!e)break;l=a[h>>0]|0;r=c[j>>2]|0;c[j>>2]=r+1;a[r>>0]=l;h=h+1|0;e=e+-1|0}e=(c[g>>2]|0)+4|0;c[g>>2]=e;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(c[k>>2]|0))break;k=k+4|0}h=c[j>>2]|0}}if((k|0)==10){c[j>>2]=h;while(1){if((e|0)==(c[g>>2]|0))break;r=c[e>>2]|0;k=cz(c[o>>2]|0)|0;h=Yx(h,r,p)|0;if(k|0)cz(k)|0;if((h|0)==-1)break;h=(c[j>>2]|0)+h|0;c[j>>2]=h;e=e+4|0}c[g>>2]=e;e=2;k=33}else if((k|0)==32)k=33;else if((k|0)==34){e=c[g>>2]|0;k=36}if((k|0)!=33)if((k|0)==36)e=(e|0)!=(f|0)&1;yb=q;return e|0} +function Zb(a){a=a|0;var b=0;b=yb;yb=yb+a|0;yb=yb+15&-16;return b|0}function _b(){return yb|0}function $b(a){a=a|0;yb=a}function ac(a,b){a=a|0;b=b|0;yb=a;zb=b}function bc(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=yb;yb=yb+16|0;v=y;x=(e|0)/2|0;w=(f|0)/2|0;m=c[i>>2]|0;u=w+-1|0;f=m;j=m+((B(u,x)|0)<<1)|0;k=0;while(1){if((k|0)>=(x|0))break;b[j>>1]=0;b[f>>1]=0;f=f+2|0;j=j+2|0;k=k+1|0}t=x+-1|0;f=m;j=m+(t<<1)|0;k=0;while(1){if((k|0)>=(w|0))break;b[j>>1]=0;b[f>>1]=0;f=f+(x<<1)|0;j=j+(x<<1)|0;k=k+1|0}l=i+1179664|0;s=0-x|0;j=a+((e<<1)+2)|0;r=1;o=0;k=m+(x+1<<1)|0;a:while(1){if((r|0)>=(u|0)){j=59;break}q=j;f=o;p=1;while(1){if((p|0)>=(t|0))break;do if((d[q>>0]|0|0)>(h|0))b[k>>1]=0;else{a=k+(s<<1)|0;j=b[a>>1]|0;if(j<<16>>16>0){b[k>>1]=j;o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+r;c[i+1310736+(o+-1<<2)>>2]=r;break}n=b[a+2>>1]|0;o=n<<16>>16;j=b[a+-2>>1]|0;m=j<<16>>16;a=j<<16>>16>0;if(n<<16>>16<=0){if(a){b[k>>1]=j;j=m*7|0;a=i+1310736+(j+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(j+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+p;a=i+1310736+(j+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+r;a=i+1310736+(j+-3<<2)|0;if((c[a>>2]|0)<(p|0))c[a>>2]=p;c[i+1310736+(j+-1<<2)>>2]=r;break}j=b[k+-2>>1]|0;if(j<<16>>16>0){b[k>>1]=j;j=(j<<16>>16)*7|0;o=i+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+p;o=i+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=i+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(p|0))break;c[j>>2]=p;break}else{j=f+1|0;if((f|0)>32767){j=54;break a}b[k>>1]=j;c[i+1179664+(f<<2)>>2]=j<<16>>16;f=f*7|0;c[i+1310736+(f<<2)>>2]=1;c[i+1310736+(f+1<<2)>>2]=p;c[i+1310736+(f+2<<2)>>2]=r;c[i+1310736+(f+3<<2)>>2]=p;c[i+1310736+(f+4<<2)>>2]=p;c[i+1310736+(f+5<<2)>>2]=r;c[i+1310736+(f+6<<2)>>2]=r;f=j;break}}if(a){j=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+(m+-1<<2)>>2]|0;b:do if((j|0)<=(n|0)){b[k>>1]=j;if((j|0)<(n|0)){a=l;m=0;while(1){if((m|0)>=(f|0))break b;if((c[a>>2]|0)==(n|0))c[a>>2]=j;a=a+4|0;m=m+1|0}}}else{b[k>>1]=n;a=l;m=0;while(1){if((m|0)>=(f|0)){j=n;break b}if((c[a>>2]|0)==(j|0))c[a>>2]=n;a=a+4|0;m=m+1|0}}while(0);o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+r;c[i+1310736+(o+-1<<2)>>2]=r;break}a=b[k+-2>>1]|0;if(a<<16>>16<=0){b[k>>1]=n;j=o*7|0;a=i+1310736+(j+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(j+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+p;a=i+1310736+(j+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+r;a=i+1310736+(j+-4<<2)|0;if((c[a>>2]|0)>(p|0))c[a>>2]=p;c[i+1310736+(j+-1<<2)>>2]=r;break}j=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+((a<<16>>16)+-1<<2)>>2]|0;c:do if((j|0)<=(n|0)){b[k>>1]=j;if((j|0)<(n|0)){a=l;m=0;while(1){if((m|0)>=(f|0))break c;if((c[a>>2]|0)==(n|0))c[a>>2]=j;a=a+4|0;m=m+1|0}}}else{b[k>>1]=n;a=l;m=0;while(1){if((m|0)>=(f|0)){j=n;break c}if((c[a>>2]|0)==(j|0))c[a>>2]=n;a=a+4|0;m=m+1|0}}while(0);o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;o=i+1310736+(o+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+r}while(0);q=q+2|0;p=p+1|0;k=k+2|0}j=q+e+4|0;r=r+1|0;o=f;k=k+4|0}d:do if((j|0)==54){Se(0,3,19708,v);f=-1}else if((j|0)==59){m=i+12|0;f=1;a=1;while(1){if((a|0)>(o|0))break;j=c[l>>2]|0;if((j|0)==(a|0))k=f+1|0;else{k=f;f=c[i+1179664+(j+-1<<2)>>2]|0}c[l>>2]=f;f=k;a=a+1|0;l=l+4|0}n=i+8|0;j=f+-1|0;c[n>>2]=j;if(!j)f=0;else{_O(m|0,0,j<<2|0)|0;_O(i+655376|0,0,j<<4|0)|0;f=0;while(1){if((f|0)>=(j|0))break;v=f<<2;c[i+131084+(v<<2)>>2]=x;c[i+131084+((v|1)<<2)>>2]=0;c[i+131084+((v|2)<<2)>>2]=w;c[i+131084+((v|3)<<2)>>2]=0;f=f+1|0}a=0;while(1){if((a|0)>=(o|0))break;k=(c[i+1179664+(a<<2)>>2]|0)+-1|0;l=a*7|0;f=i+12+(k<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[i+1310736+(l<<2)>>2]|0);f=k<<1;j=i+655376+(f<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(l+1<<2)>>2]|0);f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]+ +(c[i+1310736+(l+2<<2)>>2]|0);k=k<<2;f=i+131084+(k<<2)|0;j=c[i+1310736+(l+3<<2)>>2]|0;if((c[f>>2]|0)>(j|0))c[f>>2]=j;f=i+131084+((k|1)<<2)|0;j=c[i+1310736+(l+4<<2)>>2]|0;if((c[f>>2]|0)<(j|0))c[f>>2]=j;f=i+131084+((k|2)<<2)|0;j=c[i+1310736+(l+5<<2)>>2]|0;if((c[f>>2]|0)>(j|0))c[f>>2]=j;j=i+131084+((k|3)<<2)|0;f=c[i+1310736+(l+6<<2)>>2]|0;if((c[j>>2]|0)<(f|0))c[j>>2]=f;a=a+1|0}j=c[n>>2]|0;f=0;while(1){if((f|0)>=(j|0)){f=0;break d}z=+(c[i+12+(f<<2)>>2]|0);x=f<<1;w=i+655376+(x<<3)|0;g[w>>3]=+g[w>>3]/z;x=i+655376+((x|1)<<3)|0;g[x>>3]=+g[x>>3]/z;f=f+1|0}}}while(0);yb=y;return f|0}function cc(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=yb;yb=yb+16|0;w=x;n=c[i>>2]|0;v=f+-1|0;j=n;k=n+((B(v,e)|0)<<1)|0;l=0;while(1){if((l|0)>=(e|0))break;b[k>>1]=0;b[j>>1]=0;j=j+2|0;k=k+2|0;l=l+1|0}u=e+-1|0;j=n;k=n+(u<<1)|0;l=0;while(1){if((l|0)>=(f|0))break;b[k>>1]=0;b[j>>1]=0;j=j+(e<<1)|0;k=k+(e<<1)|0;l=l+1|0}m=i+1179664|0;l=e+1|0;t=0-e|0;k=a+l|0;s=1;p=0;l=n+(l<<1)|0;a:while(1){if((s|0)>=(v|0)){k=59;break}r=k;j=p;q=1;while(1){if((q|0)>=(u|0))break;do if((d[r>>0]|0|0)>(h|0))b[l>>1]=0;else{a=l+(t<<1)|0;k=b[a>>1]|0;if(k<<16>>16>0){b[l>>1]=k;p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=i+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;c[i+1310736+(p+-1<<2)>>2]=s;break}o=b[a+2>>1]|0;p=o<<16>>16;k=b[a+-2>>1]|0;n=k<<16>>16;a=k<<16>>16>0;if(o<<16>>16<=0){if(a){b[l>>1]=k;k=n*7|0;a=i+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+q;a=i+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=i+1310736+(k+-3<<2)|0;if((c[a>>2]|0)<(q|0))c[a>>2]=q;c[i+1310736+(k+-1<<2)>>2]=s;break}k=b[l+-2>>1]|0;if(k<<16>>16>0){b[l>>1]=k;k=(k<<16>>16)*7|0;p=i+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=i+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=i+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+s;k=i+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0))break;c[k>>2]=q;break}else{k=j+1|0;if((j|0)>32767){k=54;break a}b[l>>1]=k;c[i+1179664+(j<<2)>>2]=k<<16>>16;j=j*7|0;c[i+1310736+(j<<2)>>2]=1;c[i+1310736+(j+1<<2)>>2]=q;c[i+1310736+(j+2<<2)>>2]=s;c[i+1310736+(j+3<<2)>>2]=q;c[i+1310736+(j+4<<2)>>2]=q;c[i+1310736+(j+5<<2)>>2]=s;c[i+1310736+(j+6<<2)>>2]=s;j=k;break}}if(a){k=c[i+1179664+(p+-1<<2)>>2]|0;o=c[i+1179664+(n+-1<<2)>>2]|0;b:do if((k|0)<=(o|0)){b[l>>1]=k;if((k|0)<(o|0)){a=m;n=0;while(1){if((n|0)>=(j|0))break b;if((c[a>>2]|0)==(o|0))c[a>>2]=k;a=a+4|0;n=n+1|0}}}else{b[l>>1]=o;a=m;n=0;while(1){if((n|0)>=(j|0)){k=o;break b}if((c[a>>2]|0)==(k|0))c[a>>2]=o;a=a+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=i+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;c[i+1310736+(p+-1<<2)>>2]=s;break}k=b[l+-2>>1]|0;if(k<<16>>16<=0){b[l>>1]=o;k=p*7|0;a=i+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+q;a=i+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=i+1310736+(k+-4<<2)|0;if((c[a>>2]|0)>(q|0))c[a>>2]=q;c[i+1310736+(k+-1<<2)>>2]=s;break}o=c[i+1179664+(p+-1<<2)>>2]|0;k=c[i+1179664+((k<<16>>16)+-1<<2)>>2]|0;c:do if((o|0)<=(k|0)){b[l>>1]=o;if((o|0)<(k|0)){a=m;n=0;while(1){if((n|0)>=(j|0)){k=o;break c}if((c[a>>2]|0)==(k|0))c[a>>2]=o;a=a+4|0;n=n+1|0}}else k=o}else{b[l>>1]=k;a=m;n=0;while(1){if((n|0)>=(j|0))break c;if((c[a>>2]|0)==(o|0))c[a>>2]=k;a=a+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;p=i+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+s}while(0);r=r+1|0;q=q+1|0;l=l+2|0}k=r+2|0;s=s+1|0;p=j;l=l+4|0}d:do if((k|0)==54){Se(0,3,19708,w);j=-1}else if((k|0)==59){n=i+12|0;j=1;a=1;while(1){if((a|0)>(p|0))break;k=c[m>>2]|0;if((k|0)==(a|0))l=j+1|0;else{l=j;j=c[i+1179664+(k+-1<<2)>>2]|0}c[m>>2]=j;j=l;a=a+1|0;m=m+4|0}o=i+8|0;k=j+-1|0;c[o>>2]=k;if(!k)j=0;else{_O(n|0,0,k<<2|0)|0;_O(i+655376|0,0,k<<4|0)|0;j=0;while(1){if((j|0)>=(k|0))break;w=j<<2;c[i+131084+(w<<2)>>2]=e;c[i+131084+((w|1)<<2)>>2]=0;c[i+131084+((w|2)<<2)>>2]=f;c[i+131084+((w|3)<<2)>>2]=0;j=j+1|0}a=0;while(1){if((a|0)>=(p|0))break;l=(c[i+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;j=i+12+(l<<2)|0;c[j>>2]=(c[j>>2]|0)+(c[i+1310736+(m<<2)>>2]|0);j=l<<1;k=i+655376+(j<<3)|0;g[k>>3]=+g[k>>3]+ +(c[i+1310736+(m+1<<2)>>2]|0);j=i+655376+((j|1)<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(m+2<<2)>>2]|0);l=l<<2;j=i+131084+(l<<2)|0;k=c[i+1310736+(m+3<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;j=i+131084+((l|1)<<2)|0;k=c[i+1310736+(m+4<<2)>>2]|0;if((c[j>>2]|0)<(k|0))c[j>>2]=k;j=i+131084+((l|2)<<2)|0;k=c[i+1310736+(m+5<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;k=i+131084+((l|3)<<2)|0;j=c[i+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(j|0))c[k>>2]=j;a=a+1|0}k=c[o>>2]|0;j=0;while(1){if((j|0)>=(k|0)){j=0;break d}y=+(c[i+12+(j<<2)>>2]|0);f=j<<1;e=i+655376+(f<<3)|0;g[e>>3]=+g[e>>3]/y;f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]/y;j=j+1|0}}}while(0);yb=x;return j|0}function dc(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=yb;yb=yb+16|0;w=x;n=c[i>>2]|0;v=f+-1|0;j=n;k=0;l=n+((B(v,e)|0)<<1)|0;while(1){if((k|0)>=(e|0))break;b[l>>1]=0;b[j>>1]=0;j=j+2|0;k=k+1|0;l=l+2|0}u=e+-1|0;j=n;k=0;l=n+(u<<1)|0;while(1){if((k|0)>=(f|0))break;b[l>>1]=0;b[j>>1]=0;j=j+(e<<1)|0;k=k+1|0;l=l+(e<<1)|0}m=i+1179664|0;l=e+1|0;t=0-e|0;a=a+l|0;k=h+l|0;s=1;o=0;l=n+(l<<1)|0;a:while(1){if((s|0)>=(v|0)){k=59;break}q=k;j=o;p=1;r=l;while(1){if((p|0)>=(u|0))break;do if((d[a>>0]|0)>(d[q>>0]|0))b[r>>1]=0;else{l=r+(t<<1)|0;k=b[l>>1]|0;if(k<<16>>16>0){b[r>>1]=k;o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+s;c[i+1310736+(o+-1<<2)>>2]=s;break}n=b[l+2>>1]|0;o=n<<16>>16;k=b[l+-2>>1]|0;h=k<<16>>16;l=k<<16>>16>0;if(n<<16>>16<=0){if(l){b[r>>1]=k;k=h*7|0;l=i+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=i+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+p;l=i+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=i+1310736+(k+-3<<2)|0;if((c[l>>2]|0)<(p|0))c[l>>2]=p;c[i+1310736+(k+-1<<2)>>2]=s;break}k=b[r+-2>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;o=i+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+p;o=i+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;k=i+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0))break;c[k>>2]=p;break}else{k=j+1|0;if((j|0)>32767){k=54;break a}b[r>>1]=k;c[i+1179664+(j<<2)>>2]=k<<16>>16;j=j*7|0;c[i+1310736+(j<<2)>>2]=1;c[i+1310736+(j+1<<2)>>2]=p;c[i+1310736+(j+2<<2)>>2]=s;c[i+1310736+(j+3<<2)>>2]=p;c[i+1310736+(j+4<<2)>>2]=p;c[i+1310736+(j+5<<2)>>2]=s;c[i+1310736+(j+6<<2)>>2]=s;j=k;break}}if(l){k=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+(h+-1<<2)>>2]|0;b:do if((k|0)<=(n|0)){b[r>>1]=k;if((k|0)<(n|0)){l=m;h=0;while(1){if((h|0)>=(j|0))break b;if((c[l>>2]|0)==(n|0))c[l>>2]=k;l=l+4|0;h=h+1|0}}}else{b[r>>1]=n;l=m;h=0;while(1){if((h|0)>=(j|0)){k=n;break b}if((c[l>>2]|0)==(k|0))c[l>>2]=n;l=l+4|0;h=h+1|0}}while(0);o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+s;c[i+1310736+(o+-1<<2)>>2]=s;break}l=b[r+-2>>1]|0;if(l<<16>>16<=0){b[r>>1]=n;k=o*7|0;l=i+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=i+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+p;l=i+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=i+1310736+(k+-4<<2)|0;if((c[l>>2]|0)>(p|0))c[l>>2]=p;c[i+1310736+(k+-1<<2)>>2]=s;break}k=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+((l<<16>>16)+-1<<2)>>2]|0;c:do if((k|0)<=(n|0)){b[r>>1]=k;if((k|0)<(n|0)){l=m;h=0;while(1){if((h|0)>=(j|0))break c;if((c[l>>2]|0)==(n|0))c[l>>2]=k;l=l+4|0;h=h+1|0}}}else{b[r>>1]=n;l=m;h=0;while(1){if((h|0)>=(j|0)){k=n;break c}if((c[l>>2]|0)==(k|0))c[l>>2]=n;l=l+4|0;h=h+1|0}}while(0);o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;o=i+1310736+(o+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s}while(0);a=a+1|0;q=q+1|0;p=p+1|0;r=r+2|0}a=a+2|0;k=q+2|0;s=s+1|0;o=j;l=r+4|0}d:do if((k|0)==54){Se(0,3,19708,w);j=-1}else if((k|0)==59){h=i+12|0;j=1;a=1;while(1){if((a|0)>(o|0))break;k=c[m>>2]|0;if((k|0)==(a|0))l=j+1|0;else{l=j;j=c[i+1179664+(k+-1<<2)>>2]|0}c[m>>2]=j;j=l;a=a+1|0;m=m+4|0}n=i+8|0;k=j+-1|0;c[n>>2]=k;if(!k)j=0;else{_O(h|0,0,k<<2|0)|0;_O(i+655376|0,0,k<<4|0)|0;j=0;while(1){if((j|0)>=(k|0))break;w=j<<2;c[i+131084+(w<<2)>>2]=e;c[i+131084+((w|1)<<2)>>2]=0;c[i+131084+((w|2)<<2)>>2]=f;c[i+131084+((w|3)<<2)>>2]=0;j=j+1|0}a=0;while(1){if((a|0)>=(o|0))break;l=(c[i+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;j=i+12+(l<<2)|0;c[j>>2]=(c[j>>2]|0)+(c[i+1310736+(m<<2)>>2]|0);j=l<<1;k=i+655376+(j<<3)|0;g[k>>3]=+g[k>>3]+ +(c[i+1310736+(m+1<<2)>>2]|0);j=i+655376+((j|1)<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(m+2<<2)>>2]|0);l=l<<2;j=i+131084+(l<<2)|0;k=c[i+1310736+(m+3<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;j=i+131084+((l|1)<<2)|0;k=c[i+1310736+(m+4<<2)>>2]|0;if((c[j>>2]|0)<(k|0))c[j>>2]=k;j=i+131084+((l|2)<<2)|0;k=c[i+1310736+(m+5<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;k=i+131084+((l|3)<<2)|0;j=c[i+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(j|0))c[k>>2]=j;a=a+1|0}k=c[n>>2]|0;j=0;while(1){if((j|0)>=(k|0)){j=0;break d}y=+(c[i+12+(j<<2)>>2]|0);f=j<<1;e=i+655376+(f<<3)|0;g[e>>3]=+g[e>>3]/y;f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]/y;j=j+1|0}}}while(0);yb=x;return j|0}function ec(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0;y=yb;yb=yb+16|0;v=y;x=(e|0)/2|0;w=(f|0)/2|0;m=c[i>>2]|0;u=w+-1|0;f=m;j=m+((B(u,x)|0)<<1)|0;k=0;while(1){if((k|0)>=(x|0))break;b[j>>1]=0;b[f>>1]=0;f=f+2|0;j=j+2|0;k=k+1|0}t=x+-1|0;f=m;j=m+(t<<1)|0;k=0;while(1){if((k|0)>=(w|0))break;b[j>>1]=0;b[f>>1]=0;f=f+(x<<1)|0;j=j+(x<<1)|0;k=k+1|0}l=i+1179664|0;s=0-x|0;j=a+((e<<1)+2)|0;r=1;o=0;k=m+(x+1<<1)|0;a:while(1){if((r|0)>=(u|0)){j=59;break}q=j;f=o;p=1;while(1){if((p|0)>=(t|0))break;do if((d[q>>0]|0|0)>(h|0)){a=k+(s<<1)|0;j=b[a>>1]|0;if(j<<16>>16>0){b[k>>1]=j;o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+r;c[i+1310736+(o+-1<<2)>>2]=r;break}n=b[a+2>>1]|0;o=n<<16>>16;j=b[a+-2>>1]|0;m=j<<16>>16;a=j<<16>>16>0;if(n<<16>>16<=0){if(a){b[k>>1]=j;j=m*7|0;a=i+1310736+(j+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(j+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+p;a=i+1310736+(j+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+r;a=i+1310736+(j+-3<<2)|0;if((c[a>>2]|0)<(p|0))c[a>>2]=p;c[i+1310736+(j+-1<<2)>>2]=r;break}j=b[k+-2>>1]|0;if(j<<16>>16>0){b[k>>1]=j;j=(j<<16>>16)*7|0;o=i+1310736+(j+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(j+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+p;o=i+1310736+(j+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+r;j=i+1310736+(j+-3<<2)|0;if((c[j>>2]|0)>=(p|0))break;c[j>>2]=p;break}else{j=f+1|0;if((f|0)>32767){j=54;break a}b[k>>1]=j;c[i+1179664+(f<<2)>>2]=j<<16>>16;f=f*7|0;c[i+1310736+(f<<2)>>2]=1;c[i+1310736+(f+1<<2)>>2]=p;c[i+1310736+(f+2<<2)>>2]=r;c[i+1310736+(f+3<<2)>>2]=p;c[i+1310736+(f+4<<2)>>2]=p;c[i+1310736+(f+5<<2)>>2]=r;c[i+1310736+(f+6<<2)>>2]=r;f=j;break}}if(a){j=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+(m+-1<<2)>>2]|0;b:do if((j|0)<=(n|0)){b[k>>1]=j;if((j|0)<(n|0)){a=l;m=0;while(1){if((m|0)>=(f|0))break b;if((c[a>>2]|0)==(n|0))c[a>>2]=j;a=a+4|0;m=m+1|0}}}else{b[k>>1]=n;a=l;m=0;while(1){if((m|0)>=(f|0)){j=n;break b}if((c[a>>2]|0)==(j|0))c[a>>2]=n;a=a+4|0;m=m+1|0}}while(0);o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+r;c[i+1310736+(o+-1<<2)>>2]=r;break}a=b[k+-2>>1]|0;if(a<<16>>16<=0){b[k>>1]=n;j=o*7|0;a=i+1310736+(j+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(j+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+p;a=i+1310736+(j+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+r;a=i+1310736+(j+-4<<2)|0;if((c[a>>2]|0)>(p|0))c[a>>2]=p;c[i+1310736+(j+-1<<2)>>2]=r;break}j=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+((a<<16>>16)+-1<<2)>>2]|0;c:do if((j|0)<=(n|0)){b[k>>1]=j;if((j|0)<(n|0)){a=l;m=0;while(1){if((m|0)>=(f|0))break c;if((c[a>>2]|0)==(n|0))c[a>>2]=j;a=a+4|0;m=m+1|0}}}else{b[k>>1]=n;a=l;m=0;while(1){if((m|0)>=(f|0)){j=n;break c}if((c[a>>2]|0)==(j|0))c[a>>2]=n;a=a+4|0;m=m+1|0}}while(0);o=(j<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;o=i+1310736+(o+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+r}else b[k>>1]=0;while(0);q=q+2|0;p=p+1|0;k=k+2|0}j=q+e+4|0;r=r+1|0;o=f;k=k+4|0}d:do if((j|0)==54){Se(0,3,19708,v);f=-1}else if((j|0)==59){m=i+12|0;f=1;a=1;while(1){if((a|0)>(o|0))break;j=c[l>>2]|0;if((j|0)==(a|0))k=f+1|0;else{k=f;f=c[i+1179664+(j+-1<<2)>>2]|0}c[l>>2]=f;f=k;a=a+1|0;l=l+4|0}n=i+8|0;j=f+-1|0;c[n>>2]=j;if(!j)f=0;else{_O(m|0,0,j<<2|0)|0;_O(i+655376|0,0,j<<4|0)|0;f=0;while(1){if((f|0)>=(j|0))break;v=f<<2;c[i+131084+(v<<2)>>2]=x;c[i+131084+((v|1)<<2)>>2]=0;c[i+131084+((v|2)<<2)>>2]=w;c[i+131084+((v|3)<<2)>>2]=0;f=f+1|0}a=0;while(1){if((a|0)>=(o|0))break;k=(c[i+1179664+(a<<2)>>2]|0)+-1|0;l=a*7|0;f=i+12+(k<<2)|0;c[f>>2]=(c[f>>2]|0)+(c[i+1310736+(l<<2)>>2]|0);f=k<<1;j=i+655376+(f<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(l+1<<2)>>2]|0);f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]+ +(c[i+1310736+(l+2<<2)>>2]|0);k=k<<2;f=i+131084+(k<<2)|0;j=c[i+1310736+(l+3<<2)>>2]|0;if((c[f>>2]|0)>(j|0))c[f>>2]=j;f=i+131084+((k|1)<<2)|0;j=c[i+1310736+(l+4<<2)>>2]|0;if((c[f>>2]|0)<(j|0))c[f>>2]=j;f=i+131084+((k|2)<<2)|0;j=c[i+1310736+(l+5<<2)>>2]|0;if((c[f>>2]|0)>(j|0))c[f>>2]=j;j=i+131084+((k|3)<<2)|0;f=c[i+1310736+(l+6<<2)>>2]|0;if((c[j>>2]|0)<(f|0))c[j>>2]=f;a=a+1|0}j=c[n>>2]|0;f=0;while(1){if((f|0)>=(j|0)){f=0;break d}z=+(c[i+12+(f<<2)>>2]|0);x=f<<1;w=i+655376+(x<<3)|0;g[w>>3]=+g[w>>3]/z;x=i+655376+((x|1)<<3)|0;g[x>>3]=+g[x>>3]/z;f=f+1|0}}}while(0);yb=y;return f|0}function fc(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=yb;yb=yb+16|0;w=x;n=c[i>>2]|0;v=f+-1|0;j=n;k=n+((B(v,e)|0)<<1)|0;l=0;while(1){if((l|0)>=(e|0))break;b[k>>1]=0;b[j>>1]=0;j=j+2|0;k=k+2|0;l=l+1|0}u=e+-1|0;j=n;k=n+(u<<1)|0;l=0;while(1){if((l|0)>=(f|0))break;b[k>>1]=0;b[j>>1]=0;j=j+(e<<1)|0;k=k+(e<<1)|0;l=l+1|0}m=i+1179664|0;l=e+1|0;t=0-e|0;k=a+l|0;s=1;p=0;l=n+(l<<1)|0;a:while(1){if((s|0)>=(v|0)){k=59;break}r=k;j=p;q=1;while(1){if((q|0)>=(u|0))break;do if((d[r>>0]|0|0)>(h|0)){a=l+(t<<1)|0;k=b[a>>1]|0;if(k<<16>>16>0){b[l>>1]=k;p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=i+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;c[i+1310736+(p+-1<<2)>>2]=s;break}o=b[a+2>>1]|0;p=o<<16>>16;k=b[a+-2>>1]|0;n=k<<16>>16;a=k<<16>>16>0;if(o<<16>>16<=0){if(a){b[l>>1]=k;k=n*7|0;a=i+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+q;a=i+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=i+1310736+(k+-3<<2)|0;if((c[a>>2]|0)<(q|0))c[a>>2]=q;c[i+1310736+(k+-1<<2)>>2]=s;break}k=b[l+-2>>1]|0;if(k<<16>>16>0){b[l>>1]=k;k=(k<<16>>16)*7|0;p=i+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=i+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=i+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+s;k=i+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0))break;c[k>>2]=q;break}else{k=j+1|0;if((j|0)>32767){k=54;break a}b[l>>1]=k;c[i+1179664+(j<<2)>>2]=k<<16>>16;j=j*7|0;c[i+1310736+(j<<2)>>2]=1;c[i+1310736+(j+1<<2)>>2]=q;c[i+1310736+(j+2<<2)>>2]=s;c[i+1310736+(j+3<<2)>>2]=q;c[i+1310736+(j+4<<2)>>2]=q;c[i+1310736+(j+5<<2)>>2]=s;c[i+1310736+(j+6<<2)>>2]=s;j=k;break}}if(a){k=c[i+1179664+(p+-1<<2)>>2]|0;o=c[i+1179664+(n+-1<<2)>>2]|0;b:do if((k|0)<=(o|0)){b[l>>1]=k;if((k|0)<(o|0)){a=m;n=0;while(1){if((n|0)>=(j|0))break b;if((c[a>>2]|0)==(o|0))c[a>>2]=k;a=a+4|0;n=n+1|0}}}else{b[l>>1]=o;a=m;n=0;while(1){if((n|0)>=(j|0)){k=o;break b}if((c[a>>2]|0)==(k|0))c[a>>2]=o;a=a+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=i+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;c[i+1310736+(p+-1<<2)>>2]=s;break}k=b[l+-2>>1]|0;if(k<<16>>16<=0){b[l>>1]=o;k=p*7|0;a=i+1310736+(k+-7<<2)|0;c[a>>2]=(c[a>>2]|0)+1;a=i+1310736+(k+-6<<2)|0;c[a>>2]=(c[a>>2]|0)+q;a=i+1310736+(k+-5<<2)|0;c[a>>2]=(c[a>>2]|0)+s;a=i+1310736+(k+-4<<2)|0;if((c[a>>2]|0)>(q|0))c[a>>2]=q;c[i+1310736+(k+-1<<2)>>2]=s;break}o=c[i+1179664+(p+-1<<2)>>2]|0;k=c[i+1179664+((k<<16>>16)+-1<<2)>>2]|0;c:do if((o|0)<=(k|0)){b[l>>1]=o;if((o|0)<(k|0)){a=m;n=0;while(1){if((n|0)>=(j|0)){k=o;break c}if((c[a>>2]|0)==(k|0))c[a>>2]=o;a=a+4|0;n=n+1|0}}else k=o}else{b[l>>1]=k;a=m;n=0;while(1){if((n|0)>=(j|0))break c;if((c[a>>2]|0)==(o|0))c[a>>2]=k;a=a+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=i+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;p=i+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+s}else b[l>>1]=0;while(0);r=r+1|0;q=q+1|0;l=l+2|0}k=r+2|0;s=s+1|0;p=j;l=l+4|0}d:do if((k|0)==54){Se(0,3,19708,w);j=-1}else if((k|0)==59){n=i+12|0;j=1;a=1;while(1){if((a|0)>(p|0))break;k=c[m>>2]|0;if((k|0)==(a|0))l=j+1|0;else{l=j;j=c[i+1179664+(k+-1<<2)>>2]|0}c[m>>2]=j;j=l;a=a+1|0;m=m+4|0}o=i+8|0;k=j+-1|0;c[o>>2]=k;if(!k)j=0;else{_O(n|0,0,k<<2|0)|0;_O(i+655376|0,0,k<<4|0)|0;j=0;while(1){if((j|0)>=(k|0))break;w=j<<2;c[i+131084+(w<<2)>>2]=e;c[i+131084+((w|1)<<2)>>2]=0;c[i+131084+((w|2)<<2)>>2]=f;c[i+131084+((w|3)<<2)>>2]=0;j=j+1|0}a=0;while(1){if((a|0)>=(p|0))break;l=(c[i+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;j=i+12+(l<<2)|0;c[j>>2]=(c[j>>2]|0)+(c[i+1310736+(m<<2)>>2]|0);j=l<<1;k=i+655376+(j<<3)|0;g[k>>3]=+g[k>>3]+ +(c[i+1310736+(m+1<<2)>>2]|0);j=i+655376+((j|1)<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(m+2<<2)>>2]|0);l=l<<2;j=i+131084+(l<<2)|0;k=c[i+1310736+(m+3<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;j=i+131084+((l|1)<<2)|0;k=c[i+1310736+(m+4<<2)>>2]|0;if((c[j>>2]|0)<(k|0))c[j>>2]=k;j=i+131084+((l|2)<<2)|0;k=c[i+1310736+(m+5<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;k=i+131084+((l|3)<<2)|0;j=c[i+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(j|0))c[k>>2]=j;a=a+1|0}k=c[o>>2]|0;j=0;while(1){if((j|0)>=(k|0)){j=0;break d}y=+(c[i+12+(j<<2)>>2]|0);f=j<<1;e=i+655376+(f<<3)|0;g[e>>3]=+g[e>>3]/y;f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]/y;j=j+1|0}}}while(0);yb=x;return j|0}function gc(a,e,f,h,i){a=a|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0;x=yb;yb=yb+16|0;w=x;n=c[i>>2]|0;v=f+-1|0;j=n;k=0;l=n+((B(v,e)|0)<<1)|0;while(1){if((k|0)>=(e|0))break;b[l>>1]=0;b[j>>1]=0;j=j+2|0;k=k+1|0;l=l+2|0}u=e+-1|0;j=n;k=0;l=n+(u<<1)|0;while(1){if((k|0)>=(f|0))break;b[l>>1]=0;b[j>>1]=0;j=j+(e<<1)|0;k=k+1|0;l=l+(e<<1)|0}m=i+1179664|0;l=e+1|0;t=0-e|0;a=a+l|0;k=h+l|0;s=1;o=0;l=n+(l<<1)|0;a:while(1){if((s|0)>=(v|0)){k=59;break}q=k;j=o;p=1;r=l;while(1){if((p|0)>=(u|0))break;do if((d[a>>0]|0)>(d[q>>0]|0)){l=r+(t<<1)|0;k=b[l>>1]|0;if(k<<16>>16>0){b[r>>1]=k;o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+s;c[i+1310736+(o+-1<<2)>>2]=s;break}n=b[l+2>>1]|0;o=n<<16>>16;k=b[l+-2>>1]|0;h=k<<16>>16;l=k<<16>>16>0;if(n<<16>>16<=0){if(l){b[r>>1]=k;k=h*7|0;l=i+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=i+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+p;l=i+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=i+1310736+(k+-3<<2)|0;if((c[l>>2]|0)<(p|0))c[l>>2]=p;c[i+1310736+(k+-1<<2)>>2]=s;break}k=b[r+-2>>1]|0;if(k<<16>>16>0){b[r>>1]=k;k=(k<<16>>16)*7|0;o=i+1310736+(k+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=i+1310736+(k+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+p;o=i+1310736+(k+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s;k=i+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(p|0))break;c[k>>2]=p;break}else{k=j+1|0;if((j|0)>32767){k=54;break a}b[r>>1]=k;c[i+1179664+(j<<2)>>2]=k<<16>>16;j=j*7|0;c[i+1310736+(j<<2)>>2]=1;c[i+1310736+(j+1<<2)>>2]=p;c[i+1310736+(j+2<<2)>>2]=s;c[i+1310736+(j+3<<2)>>2]=p;c[i+1310736+(j+4<<2)>>2]=p;c[i+1310736+(j+5<<2)>>2]=s;c[i+1310736+(j+6<<2)>>2]=s;j=k;break}}if(l){k=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+(h+-1<<2)>>2]|0;b:do if((k|0)<=(n|0)){b[r>>1]=k;if((k|0)<(n|0)){l=m;h=0;while(1){if((h|0)>=(j|0))break b;if((c[l>>2]|0)==(n|0))c[l>>2]=k;l=l+4|0;h=h+1|0}}}else{b[r>>1]=n;l=m;h=0;while(1){if((h|0)>=(j|0)){k=n;break b}if((c[l>>2]|0)==(k|0))c[l>>2]=n;l=l+4|0;h=h+1|0}}while(0);o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;n=i+1310736+(o+-5<<2)|0;c[n>>2]=(c[n>>2]|0)+s;c[i+1310736+(o+-1<<2)>>2]=s;break}l=b[r+-2>>1]|0;if(l<<16>>16<=0){b[r>>1]=n;k=o*7|0;l=i+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=i+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+p;l=i+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+s;l=i+1310736+(k+-4<<2)|0;if((c[l>>2]|0)>(p|0))c[l>>2]=p;c[i+1310736+(k+-1<<2)>>2]=s;break}k=c[i+1179664+(o+-1<<2)>>2]|0;n=c[i+1179664+((l<<16>>16)+-1<<2)>>2]|0;c:do if((k|0)<=(n|0)){b[r>>1]=k;if((k|0)<(n|0)){l=m;h=0;while(1){if((h|0)>=(j|0))break c;if((c[l>>2]|0)==(n|0))c[l>>2]=k;l=l+4|0;h=h+1|0}}}else{b[r>>1]=n;l=m;h=0;while(1){if((h|0)>=(j|0)){k=n;break c}if((c[l>>2]|0)==(k|0))c[l>>2]=n;l=l+4|0;h=h+1|0}}while(0);o=(k<<16>>16)*7|0;n=i+1310736+(o+-7<<2)|0;c[n>>2]=(c[n>>2]|0)+1;n=i+1310736+(o+-6<<2)|0;c[n>>2]=(c[n>>2]|0)+p;o=i+1310736+(o+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+s}else b[r>>1]=0;while(0);a=a+1|0;q=q+1|0;p=p+1|0;r=r+2|0}a=a+2|0;k=q+2|0;s=s+1|0;o=j;l=r+4|0}d:do if((k|0)==54){Se(0,3,19708,w);j=-1}else if((k|0)==59){h=i+12|0;j=1;a=1;while(1){if((a|0)>(o|0))break;k=c[m>>2]|0;if((k|0)==(a|0))l=j+1|0;else{l=j;j=c[i+1179664+(k+-1<<2)>>2]|0}c[m>>2]=j;j=l;a=a+1|0;m=m+4|0}n=i+8|0;k=j+-1|0;c[n>>2]=k;if(!k)j=0;else{_O(h|0,0,k<<2|0)|0;_O(i+655376|0,0,k<<4|0)|0;j=0;while(1){if((j|0)>=(k|0))break;w=j<<2;c[i+131084+(w<<2)>>2]=e;c[i+131084+((w|1)<<2)>>2]=0;c[i+131084+((w|2)<<2)>>2]=f;c[i+131084+((w|3)<<2)>>2]=0;j=j+1|0}a=0;while(1){if((a|0)>=(o|0))break;l=(c[i+1179664+(a<<2)>>2]|0)+-1|0;m=a*7|0;j=i+12+(l<<2)|0;c[j>>2]=(c[j>>2]|0)+(c[i+1310736+(m<<2)>>2]|0);j=l<<1;k=i+655376+(j<<3)|0;g[k>>3]=+g[k>>3]+ +(c[i+1310736+(m+1<<2)>>2]|0);j=i+655376+((j|1)<<3)|0;g[j>>3]=+g[j>>3]+ +(c[i+1310736+(m+2<<2)>>2]|0);l=l<<2;j=i+131084+(l<<2)|0;k=c[i+1310736+(m+3<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;j=i+131084+((l|1)<<2)|0;k=c[i+1310736+(m+4<<2)>>2]|0;if((c[j>>2]|0)<(k|0))c[j>>2]=k;j=i+131084+((l|2)<<2)|0;k=c[i+1310736+(m+5<<2)>>2]|0;if((c[j>>2]|0)>(k|0))c[j>>2]=k;k=i+131084+((l|3)<<2)|0;j=c[i+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(j|0))c[k>>2]=j;a=a+1|0}k=c[n>>2]|0;j=0;while(1){if((j|0)>=(k|0)){j=0;break d}y=+(c[i+12+(j<<2)>>2]|0);f=j<<1;e=i+655376+(f<<3)|0;g[e>>3]=+g[e>>3]/y;f=i+655376+((f|1)<<3)|0;g[f>>3]=+g[f>>3]/y;j=j+1|0}}}while(0);yb=x;return j|0}function hc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0.0;A=yb;yb=yb+16|0;x=A;z=(f|0)/2|0;y=(h|0)/2|0;n=c[j>>2]|0;w=y+-1|0;h=n;k=n+((B(w,z)|0)<<1)|0;l=0;while(1){if((l|0)>=(z|0))break;b[k>>1]=0;b[h>>1]=0;h=h+2|0;k=k+2|0;l=l+1|0}v=z+-1|0;h=n;k=n+(v<<1)|0;l=0;while(1){if((l|0)>=(y|0))break;b[k>>1]=0;b[h>>1]=0;h=h+(z<<1)|0;k=k+(z<<1)|0;l=l+1|0}m=j+1179664|0;s=z+1|0;u=0-z|0;k=e+((f<<1)+2)|0;t=1;p=0;l=(c[j+4>>2]|0)+s|0;e=n+(s<<1)|0;a:while(1){if((t|0)>=(w|0)){k=59;break}r=k;h=p;s=l;q=1;while(1){if((q|0)>=(v|0))break;do if((d[r>>0]|0|0)>(i|0)){b[e>>1]=0;a[s>>0]=0}else{a[s>>0]=-1;l=e+(u<<1)|0;k=b[l>>1]|0;if(k<<16>>16>0){b[e>>1]=k;p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=j+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+t;c[j+1310736+(p+-1<<2)>>2]=t;break}o=b[l+2>>1]|0;p=o<<16>>16;k=b[l+-2>>1]|0;n=k<<16>>16;l=k<<16>>16>0;if(o<<16>>16<=0){if(l){b[e>>1]=k;k=n*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+q;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+t;l=j+1310736+(k+-3<<2)|0;if((c[l>>2]|0)<(q|0))c[l>>2]=q;c[j+1310736+(k+-1<<2)>>2]=t;break}k=b[e+-2>>1]|0;if(k<<16>>16>0){b[e>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+t;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0))break;c[k>>2]=q;break}else{k=h+1|0;if((h|0)>32767){k=54;break a}b[e>>1]=k;c[j+1179664+(h<<2)>>2]=k<<16>>16;h=h*7|0;c[j+1310736+(h<<2)>>2]=1;c[j+1310736+(h+1<<2)>>2]=q;c[j+1310736+(h+2<<2)>>2]=t;c[j+1310736+(h+3<<2)>>2]=q;c[j+1310736+(h+4<<2)>>2]=q;c[j+1310736+(h+5<<2)>>2]=t;c[j+1310736+(h+6<<2)>>2]=t;h=k;break}}if(l){k=c[j+1179664+(p+-1<<2)>>2]|0;o=c[j+1179664+(n+-1<<2)>>2]|0;b:do if((k|0)<=(o|0)){b[e>>1]=k;if((k|0)<(o|0)){l=m;n=0;while(1){if((n|0)>=(h|0))break b;if((c[l>>2]|0)==(o|0))c[l>>2]=k;l=l+4|0;n=n+1|0}}}else{b[e>>1]=o;l=m;n=0;while(1){if((n|0)>=(h|0)){k=o;break b}if((c[l>>2]|0)==(k|0))c[l>>2]=o;l=l+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=j+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+t;c[j+1310736+(p+-1<<2)>>2]=t;break}l=b[e+-2>>1]|0;if(l<<16>>16<=0){b[e>>1]=o;k=p*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+q;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+t;l=j+1310736+(k+-4<<2)|0;if((c[l>>2]|0)>(q|0))c[l>>2]=q;c[j+1310736+(k+-1<<2)>>2]=t;break}k=c[j+1179664+(p+-1<<2)>>2]|0;o=c[j+1179664+((l<<16>>16)+-1<<2)>>2]|0;c:do if((k|0)<=(o|0)){b[e>>1]=k;if((k|0)<(o|0)){l=m;n=0;while(1){if((n|0)>=(h|0))break c;if((c[l>>2]|0)==(o|0))c[l>>2]=k;l=l+4|0;n=n+1|0}}}else{b[e>>1]=o;l=m;n=0;while(1){if((n|0)>=(h|0)){k=o;break c}if((c[l>>2]|0)==(k|0))c[l>>2]=o;l=l+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;p=j+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+t}while(0);r=r+2|0;s=s+1|0;q=q+1|0;e=e+2|0}k=r+f+4|0;t=t+1|0;p=h;l=s+2|0;e=e+4|0}d:do if((k|0)==54){Se(0,3,19708,x);h=-1}else if((k|0)==59){n=j+12|0;h=1;e=1;while(1){if((e|0)>(p|0))break;k=c[m>>2]|0;if((k|0)==(e|0))l=h+1|0;else{l=h;h=c[j+1179664+(k+-1<<2)>>2]|0}c[m>>2]=h;h=l;e=e+1|0;m=m+4|0}o=j+8|0;k=h+-1|0;c[o>>2]=k;if(!k)h=0;else{_O(n|0,0,k<<2|0)|0;_O(j+655376|0,0,k<<4|0)|0;h=0;while(1){if((h|0)>=(k|0))break;x=h<<2;c[j+131084+(x<<2)>>2]=z;c[j+131084+((x|1)<<2)>>2]=0;c[j+131084+((x|2)<<2)>>2]=y;c[j+131084+((x|3)<<2)>>2]=0;h=h+1|0}e=0;while(1){if((e|0)>=(p|0))break;l=(c[j+1179664+(e<<2)>>2]|0)+-1|0;m=e*7|0;h=j+12+(l<<2)|0;c[h>>2]=(c[h>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);h=l<<1;k=j+655376+(h<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;h=j+131084+(l<<2)|0;k=c[j+1310736+(m+3<<2)>>2]|0;if((c[h>>2]|0)>(k|0))c[h>>2]=k;h=j+131084+((l|1)<<2)|0;k=c[j+1310736+(m+4<<2)>>2]|0;if((c[h>>2]|0)<(k|0))c[h>>2]=k;h=j+131084+((l|2)<<2)|0;k=c[j+1310736+(m+5<<2)>>2]|0;if((c[h>>2]|0)>(k|0))c[h>>2]=k;k=j+131084+((l|3)<<2)|0;h=c[j+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(h|0))c[k>>2]=h;e=e+1|0}k=c[o>>2]|0;h=0;while(1){if((h|0)>=(k|0)){h=0;break d}C=+(c[j+12+(h<<2)>>2]|0);z=h<<1;y=j+655376+(z<<3)|0;g[y>>3]=+g[y>>3]/C;z=j+655376+((z|1)<<3)|0;g[z>>3]=+g[z>>3]/C;h=h+1|0}}}while(0);yb=A;return h|0}function ic(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=yb;yb=yb+16|0;y=z;o=c[j>>2]|0;x=h+-1|0;k=o;l=o+((B(x,f)|0)<<1)|0;m=0;while(1){if((m|0)>=(f|0))break;b[l>>1]=0;b[k>>1]=0;k=k+2|0;l=l+2|0;m=m+1|0}w=f+-1|0;k=o;l=o+(w<<1)|0;m=0;while(1){if((m|0)>=(h|0))break;b[l>>1]=0;b[k>>1]=0;k=k+(f<<1)|0;l=l+(f<<1)|0;m=m+1|0}n=j+1179664|0;t=f+1|0;v=0-f|0;l=e+t|0;u=1;q=0;m=(c[j+4>>2]|0)+t|0;e=o+(t<<1)|0;a:while(1){if((u|0)>=(x|0)){l=59;break}s=l;k=q;t=m;r=1;while(1){if((r|0)>=(w|0))break;do if((d[s>>0]|0|0)>(i|0)){b[e>>1]=0;a[t>>0]=0}else{a[t>>0]=-1;m=e+(v<<1)|0;l=b[m>>1]|0;if(l<<16>>16>0){b[e>>1]=l;q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;p=j+1310736+(q+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;c[j+1310736+(q+-1<<2)>>2]=u;break}p=b[m+2>>1]|0;q=p<<16>>16;l=b[m+-2>>1]|0;o=l<<16>>16;m=l<<16>>16>0;if(p<<16>>16<=0){if(m){b[e>>1]=l;l=o*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(l+-1<<2)>>2]=u;break}l=b[e+-2>>1]|0;if(l<<16>>16>0){b[e>>1]=l;l=(l<<16>>16)*7|0;q=j+1310736+(l+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=j+1310736+(l+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+r;q=j+1310736+(l+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+u;l=j+1310736+(l+-3<<2)|0;if((c[l>>2]|0)>=(r|0))break;c[l>>2]=r;break}else{l=k+1|0;if((k|0)>32767){l=54;break a}b[e>>1]=l;c[j+1179664+(k<<2)>>2]=l<<16>>16;k=k*7|0;c[j+1310736+(k<<2)>>2]=1;c[j+1310736+(k+1<<2)>>2]=r;c[j+1310736+(k+2<<2)>>2]=u;c[j+1310736+(k+3<<2)>>2]=r;c[j+1310736+(k+4<<2)>>2]=r;c[j+1310736+(k+5<<2)>>2]=u;c[j+1310736+(k+6<<2)>>2]=u;k=l;break}}if(m){l=c[j+1179664+(q+-1<<2)>>2]|0;p=c[j+1179664+(o+-1<<2)>>2]|0;b:do if((l|0)<=(p|0)){b[e>>1]=l;if((l|0)<(p|0)){m=n;o=0;while(1){if((o|0)>=(k|0))break b;if((c[m>>2]|0)==(p|0))c[m>>2]=l;m=m+4|0;o=o+1|0}}}else{b[e>>1]=p;m=n;o=0;while(1){if((o|0)>=(k|0)){l=p;break b}if((c[m>>2]|0)==(l|0))c[m>>2]=p;m=m+4|0;o=o+1|0}}while(0);q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;p=j+1310736+(q+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;c[j+1310736+(q+-1<<2)>>2]=u;break}m=b[e+-2>>1]|0;if(m<<16>>16<=0){b[e>>1]=p;l=q*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(l+-1<<2)>>2]=u;break}l=c[j+1179664+(q+-1<<2)>>2]|0;p=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;c:do if((l|0)<=(p|0)){b[e>>1]=l;if((l|0)<(p|0)){m=n;o=0;while(1){if((o|0)>=(k|0))break c;if((c[m>>2]|0)==(p|0))c[m>>2]=l;m=m+4|0;o=o+1|0}}}else{b[e>>1]=p;m=n;o=0;while(1){if((o|0)>=(k|0)){l=p;break c}if((c[m>>2]|0)==(l|0))c[m>>2]=p;m=m+4|0;o=o+1|0}}while(0);q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;q=j+1310736+(q+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+u}while(0);s=s+1|0;t=t+1|0;r=r+1|0;e=e+2|0}l=s+2|0;u=u+1|0;q=k;m=t+2|0;e=e+4|0}d:do if((l|0)==54){Se(0,3,19708,y);k=-1}else if((l|0)==59){o=j+12|0;k=1;e=1;while(1){if((e|0)>(q|0))break;l=c[n>>2]|0;if((l|0)==(e|0))m=k+1|0;else{m=k;k=c[j+1179664+(l+-1<<2)>>2]|0}c[n>>2]=k;k=m;e=e+1|0;n=n+4|0}p=j+8|0;l=k+-1|0;c[p>>2]=l;if(!l)k=0;else{_O(o|0,0,l<<2|0)|0;_O(j+655376|0,0,l<<4|0)|0;k=0;while(1){if((k|0)>=(l|0))break;y=k<<2;c[j+131084+(y<<2)>>2]=f;c[j+131084+((y|1)<<2)>>2]=0;c[j+131084+((y|2)<<2)>>2]=h;c[j+131084+((y|3)<<2)>>2]=0;k=k+1|0}e=0;while(1){if((e|0)>=(q|0))break;m=(c[j+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(n<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;g[l>>3]=+g[l>>3]+ +(c[j+1310736+(n+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(n+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(n+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(n+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(n+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(n+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;e=e+1|0}l=c[p>>2]|0;k=0;while(1){if((k|0)>=(l|0)){k=0;break d}A=+(c[j+12+(k<<2)>>2]|0);h=k<<1;f=j+655376+(h<<3)|0;g[f>>3]=+g[f>>3]/A;h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]/A;k=k+1|0}}}while(0);yb=z;return k|0}function jc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=yb;yb=yb+16|0;y=z;p=c[j>>2]|0;x=h+-1|0;k=p;l=0;m=p+((B(x,f)|0)<<1)|0;while(1){if((l|0)>=(f|0))break;b[m>>1]=0;b[k>>1]=0;k=k+2|0;l=l+1|0;m=m+2|0}w=f+-1|0;k=p;l=0;m=p+(w<<1)|0;while(1){if((l|0)>=(h|0))break;b[m>>1]=0;b[k>>1]=0;k=k+(f<<1)|0;l=l+1|0;m=m+(f<<1)|0}n=j+1179664|0;t=f+1|0;v=0-f|0;o=e+t|0;l=i+t|0;u=1;q=0;m=(c[j+4>>2]|0)+t|0;e=p+(t<<1)|0;a:while(1){if((u|0)>=(x|0)){l=59;break}r=l;k=q;s=m;q=1;t=e;while(1){if((q|0)>=(w|0))break;do if((d[o>>0]|0)>(d[r>>0]|0)){b[t>>1]=0;a[s>>0]=0}else{a[s>>0]=-1;m=t+(v<<1)|0;l=b[m>>1]|0;if(l<<16>>16>0){b[t>>1]=l;p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;i=j+1310736+(p+-5<<2)|0;c[i>>2]=(c[i>>2]|0)+u;c[j+1310736+(p+-1<<2)>>2]=u;break}i=b[m+2>>1]|0;p=i<<16>>16;l=b[m+-2>>1]|0;e=l<<16>>16;m=l<<16>>16>0;if(i<<16>>16<=0){if(m){b[t>>1]=l;l=e*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+q;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-3<<2)|0;if((c[m>>2]|0)<(q|0))c[m>>2]=q;c[j+1310736+(l+-1<<2)>>2]=u;break}l=b[t+-2>>1]|0;if(l<<16>>16>0){b[t>>1]=l;l=(l<<16>>16)*7|0;p=j+1310736+(l+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(l+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=j+1310736+(l+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;l=j+1310736+(l+-3<<2)|0;if((c[l>>2]|0)>=(q|0))break;c[l>>2]=q;break}else{l=k+1|0;if((k|0)>32767){l=54;break a}b[t>>1]=l;c[j+1179664+(k<<2)>>2]=l<<16>>16;k=k*7|0;c[j+1310736+(k<<2)>>2]=1;c[j+1310736+(k+1<<2)>>2]=q;c[j+1310736+(k+2<<2)>>2]=u;c[j+1310736+(k+3<<2)>>2]=q;c[j+1310736+(k+4<<2)>>2]=q;c[j+1310736+(k+5<<2)>>2]=u;c[j+1310736+(k+6<<2)>>2]=u;k=l;break}}if(m){l=c[j+1179664+(p+-1<<2)>>2]|0;i=c[j+1179664+(e+-1<<2)>>2]|0;b:do if((l|0)<=(i|0)){b[t>>1]=l;if((l|0)<(i|0)){m=n;e=0;while(1){if((e|0)>=(k|0))break b;if((c[m>>2]|0)==(i|0))c[m>>2]=l;m=m+4|0;e=e+1|0}}}else{b[t>>1]=i;m=n;e=0;while(1){if((e|0)>=(k|0)){l=i;break b}if((c[m>>2]|0)==(l|0))c[m>>2]=i;m=m+4|0;e=e+1|0}}while(0);p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;i=j+1310736+(p+-5<<2)|0;c[i>>2]=(c[i>>2]|0)+u;c[j+1310736+(p+-1<<2)>>2]=u;break}m=b[t+-2>>1]|0;if(m<<16>>16<=0){b[t>>1]=i;l=p*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+q;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-4<<2)|0;if((c[m>>2]|0)>(q|0))c[m>>2]=q;c[j+1310736+(l+-1<<2)>>2]=u;break}l=c[j+1179664+(p+-1<<2)>>2]|0;i=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;c:do if((l|0)<=(i|0)){b[t>>1]=l;if((l|0)<(i|0)){m=n;e=0;while(1){if((e|0)>=(k|0))break c;if((c[m>>2]|0)==(i|0))c[m>>2]=l;m=m+4|0;e=e+1|0}}}else{b[t>>1]=i;m=n;e=0;while(1){if((e|0)>=(k|0)){l=i;break c}if((c[m>>2]|0)==(l|0))c[m>>2]=i;m=m+4|0;e=e+1|0}}while(0);p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;p=j+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u}while(0);o=o+1|0;r=r+1|0;s=s+1|0;q=q+1|0;t=t+2|0}o=o+2|0;l=r+2|0;u=u+1|0;q=k;m=s+2|0;e=t+4|0}d:do if((l|0)==54){Se(0,3,19708,y);k=-1}else if((l|0)==59){i=j+12|0;k=1;e=1;while(1){if((e|0)>(q|0))break;l=c[n>>2]|0;if((l|0)==(e|0))m=k+1|0;else{m=k;k=c[j+1179664+(l+-1<<2)>>2]|0}c[n>>2]=k;k=m;e=e+1|0;n=n+4|0}o=j+8|0;l=k+-1|0;c[o>>2]=l;if(!l)k=0;else{_O(i|0,0,l<<2|0)|0;_O(j+655376|0,0,l<<4|0)|0;k=0;while(1){if((k|0)>=(l|0))break;y=k<<2;c[j+131084+(y<<2)>>2]=f;c[j+131084+((y|1)<<2)>>2]=0;c[j+131084+((y|2)<<2)>>2]=h;c[j+131084+((y|3)<<2)>>2]=0;k=k+1|0}e=0;while(1){if((e|0)>=(q|0))break;m=(c[j+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(n<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;g[l>>3]=+g[l>>3]+ +(c[j+1310736+(n+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(n+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(n+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(n+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(n+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(n+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;e=e+1|0}l=c[o>>2]|0;k=0;while(1){if((k|0)>=(l|0)){k=0;break d}A=+(c[j+12+(k<<2)>>2]|0);h=k<<1;f=j+655376+(h<<3)|0;g[f>>3]=+g[f>>3]/A;h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]/A;k=k+1|0}}}while(0);yb=z;return k|0}function kc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0.0;A=yb;yb=yb+16|0;x=A;z=(f|0)/2|0;y=(h|0)/2|0;n=c[j>>2]|0;w=y+-1|0;h=n;k=n+((B(w,z)|0)<<1)|0;l=0;while(1){if((l|0)>=(z|0))break;b[k>>1]=0;b[h>>1]=0;h=h+2|0;k=k+2|0;l=l+1|0}v=z+-1|0;h=n;k=n+(v<<1)|0;l=0;while(1){if((l|0)>=(y|0))break;b[k>>1]=0;b[h>>1]=0;h=h+(z<<1)|0;k=k+(z<<1)|0;l=l+1|0}m=j+1179664|0;s=z+1|0;u=0-z|0;k=e+((f<<1)+2)|0;t=1;p=0;l=(c[j+4>>2]|0)+s|0;e=n+(s<<1)|0;a:while(1){if((t|0)>=(w|0)){k=59;break}r=k;h=p;s=l;q=1;while(1){if((q|0)>=(v|0))break;do if((d[r>>0]|0|0)>(i|0)){a[s>>0]=-1;l=e+(u<<1)|0;k=b[l>>1]|0;if(k<<16>>16>0){b[e>>1]=k;p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=j+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+t;c[j+1310736+(p+-1<<2)>>2]=t;break}o=b[l+2>>1]|0;p=o<<16>>16;k=b[l+-2>>1]|0;n=k<<16>>16;l=k<<16>>16>0;if(o<<16>>16<=0){if(l){b[e>>1]=k;k=n*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+q;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+t;l=j+1310736+(k+-3<<2)|0;if((c[l>>2]|0)<(q|0))c[l>>2]=q;c[j+1310736+(k+-1<<2)>>2]=t;break}k=b[e+-2>>1]|0;if(k<<16>>16>0){b[e>>1]=k;k=(k<<16>>16)*7|0;p=j+1310736+(k+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(k+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=j+1310736+(k+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+t;k=j+1310736+(k+-3<<2)|0;if((c[k>>2]|0)>=(q|0))break;c[k>>2]=q;break}else{k=h+1|0;if((h|0)>32767){k=54;break a}b[e>>1]=k;c[j+1179664+(h<<2)>>2]=k<<16>>16;h=h*7|0;c[j+1310736+(h<<2)>>2]=1;c[j+1310736+(h+1<<2)>>2]=q;c[j+1310736+(h+2<<2)>>2]=t;c[j+1310736+(h+3<<2)>>2]=q;c[j+1310736+(h+4<<2)>>2]=q;c[j+1310736+(h+5<<2)>>2]=t;c[j+1310736+(h+6<<2)>>2]=t;h=k;break}}if(l){k=c[j+1179664+(p+-1<<2)>>2]|0;o=c[j+1179664+(n+-1<<2)>>2]|0;b:do if((k|0)<=(o|0)){b[e>>1]=k;if((k|0)<(o|0)){l=m;n=0;while(1){if((n|0)>=(h|0))break b;if((c[l>>2]|0)==(o|0))c[l>>2]=k;l=l+4|0;n=n+1|0}}}else{b[e>>1]=o;l=m;n=0;while(1){if((n|0)>=(h|0)){k=o;break b}if((c[l>>2]|0)==(k|0))c[l>>2]=o;l=l+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;o=j+1310736+(p+-5<<2)|0;c[o>>2]=(c[o>>2]|0)+t;c[j+1310736+(p+-1<<2)>>2]=t;break}l=b[e+-2>>1]|0;if(l<<16>>16<=0){b[e>>1]=o;k=p*7|0;l=j+1310736+(k+-7<<2)|0;c[l>>2]=(c[l>>2]|0)+1;l=j+1310736+(k+-6<<2)|0;c[l>>2]=(c[l>>2]|0)+q;l=j+1310736+(k+-5<<2)|0;c[l>>2]=(c[l>>2]|0)+t;l=j+1310736+(k+-4<<2)|0;if((c[l>>2]|0)>(q|0))c[l>>2]=q;c[j+1310736+(k+-1<<2)>>2]=t;break}k=c[j+1179664+(p+-1<<2)>>2]|0;o=c[j+1179664+((l<<16>>16)+-1<<2)>>2]|0;c:do if((k|0)<=(o|0)){b[e>>1]=k;if((k|0)<(o|0)){l=m;n=0;while(1){if((n|0)>=(h|0))break c;if((c[l>>2]|0)==(o|0))c[l>>2]=k;l=l+4|0;n=n+1|0}}}else{b[e>>1]=o;l=m;n=0;while(1){if((n|0)>=(h|0)){k=o;break c}if((c[l>>2]|0)==(k|0))c[l>>2]=o;l=l+4|0;n=n+1|0}}while(0);p=(k<<16>>16)*7|0;o=j+1310736+(p+-7<<2)|0;c[o>>2]=(c[o>>2]|0)+1;o=j+1310736+(p+-6<<2)|0;c[o>>2]=(c[o>>2]|0)+q;p=j+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+t}else{b[e>>1]=0;a[s>>0]=0}while(0);r=r+2|0;s=s+1|0;q=q+1|0;e=e+2|0}k=r+f+4|0;t=t+1|0;p=h;l=s+2|0;e=e+4|0}d:do if((k|0)==54){Se(0,3,19708,x);h=-1}else if((k|0)==59){n=j+12|0;h=1;e=1;while(1){if((e|0)>(p|0))break;k=c[m>>2]|0;if((k|0)==(e|0))l=h+1|0;else{l=h;h=c[j+1179664+(k+-1<<2)>>2]|0}c[m>>2]=h;h=l;e=e+1|0;m=m+4|0}o=j+8|0;k=h+-1|0;c[o>>2]=k;if(!k)h=0;else{_O(n|0,0,k<<2|0)|0;_O(j+655376|0,0,k<<4|0)|0;h=0;while(1){if((h|0)>=(k|0))break;x=h<<2;c[j+131084+(x<<2)>>2]=z;c[j+131084+((x|1)<<2)>>2]=0;c[j+131084+((x|2)<<2)>>2]=y;c[j+131084+((x|3)<<2)>>2]=0;h=h+1|0}e=0;while(1){if((e|0)>=(p|0))break;l=(c[j+1179664+(e<<2)>>2]|0)+-1|0;m=e*7|0;h=j+12+(l<<2)|0;c[h>>2]=(c[h>>2]|0)+(c[j+1310736+(m<<2)>>2]|0);h=l<<1;k=j+655376+(h<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(m+1<<2)>>2]|0);h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]+ +(c[j+1310736+(m+2<<2)>>2]|0);l=l<<2;h=j+131084+(l<<2)|0;k=c[j+1310736+(m+3<<2)>>2]|0;if((c[h>>2]|0)>(k|0))c[h>>2]=k;h=j+131084+((l|1)<<2)|0;k=c[j+1310736+(m+4<<2)>>2]|0;if((c[h>>2]|0)<(k|0))c[h>>2]=k;h=j+131084+((l|2)<<2)|0;k=c[j+1310736+(m+5<<2)>>2]|0;if((c[h>>2]|0)>(k|0))c[h>>2]=k;k=j+131084+((l|3)<<2)|0;h=c[j+1310736+(m+6<<2)>>2]|0;if((c[k>>2]|0)<(h|0))c[k>>2]=h;e=e+1|0}k=c[o>>2]|0;h=0;while(1){if((h|0)>=(k|0)){h=0;break d}C=+(c[j+12+(h<<2)>>2]|0);z=h<<1;y=j+655376+(z<<3)|0;g[y>>3]=+g[y>>3]/C;z=j+655376+((z|1)<<3)|0;g[z>>3]=+g[z>>3]/C;h=h+1|0}}}while(0);yb=A;return h|0}function lc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=yb;yb=yb+16|0;y=z;o=c[j>>2]|0;x=h+-1|0;k=o;l=o+((B(x,f)|0)<<1)|0;m=0;while(1){if((m|0)>=(f|0))break;b[l>>1]=0;b[k>>1]=0;k=k+2|0;l=l+2|0;m=m+1|0}w=f+-1|0;k=o;l=o+(w<<1)|0;m=0;while(1){if((m|0)>=(h|0))break;b[l>>1]=0;b[k>>1]=0;k=k+(f<<1)|0;l=l+(f<<1)|0;m=m+1|0}n=j+1179664|0;t=f+1|0;v=0-f|0;l=e+t|0;u=1;q=0;m=(c[j+4>>2]|0)+t|0;e=o+(t<<1)|0;a:while(1){if((u|0)>=(x|0)){l=59;break}s=l;k=q;t=m;r=1;while(1){if((r|0)>=(w|0))break;do if((d[s>>0]|0|0)>(i|0)){a[t>>0]=-1;m=e+(v<<1)|0;l=b[m>>1]|0;if(l<<16>>16>0){b[e>>1]=l;q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;p=j+1310736+(q+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;c[j+1310736+(q+-1<<2)>>2]=u;break}p=b[m+2>>1]|0;q=p<<16>>16;l=b[m+-2>>1]|0;o=l<<16>>16;m=l<<16>>16>0;if(p<<16>>16<=0){if(m){b[e>>1]=l;l=o*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-3<<2)|0;if((c[m>>2]|0)<(r|0))c[m>>2]=r;c[j+1310736+(l+-1<<2)>>2]=u;break}l=b[e+-2>>1]|0;if(l<<16>>16>0){b[e>>1]=l;l=(l<<16>>16)*7|0;q=j+1310736+(l+-7<<2)|0;c[q>>2]=(c[q>>2]|0)+1;q=j+1310736+(l+-6<<2)|0;c[q>>2]=(c[q>>2]|0)+r;q=j+1310736+(l+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+u;l=j+1310736+(l+-3<<2)|0;if((c[l>>2]|0)>=(r|0))break;c[l>>2]=r;break}else{l=k+1|0;if((k|0)>32767){l=54;break a}b[e>>1]=l;c[j+1179664+(k<<2)>>2]=l<<16>>16;k=k*7|0;c[j+1310736+(k<<2)>>2]=1;c[j+1310736+(k+1<<2)>>2]=r;c[j+1310736+(k+2<<2)>>2]=u;c[j+1310736+(k+3<<2)>>2]=r;c[j+1310736+(k+4<<2)>>2]=r;c[j+1310736+(k+5<<2)>>2]=u;c[j+1310736+(k+6<<2)>>2]=u;k=l;break}}if(m){l=c[j+1179664+(q+-1<<2)>>2]|0;p=c[j+1179664+(o+-1<<2)>>2]|0;b:do if((l|0)<=(p|0)){b[e>>1]=l;if((l|0)<(p|0)){m=n;o=0;while(1){if((o|0)>=(k|0))break b;if((c[m>>2]|0)==(p|0))c[m>>2]=l;m=m+4|0;o=o+1|0}}}else{b[e>>1]=p;m=n;o=0;while(1){if((o|0)>=(k|0)){l=p;break b}if((c[m>>2]|0)==(l|0))c[m>>2]=p;m=m+4|0;o=o+1|0}}while(0);q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;p=j+1310736+(q+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;c[j+1310736+(q+-1<<2)>>2]=u;break}m=b[e+-2>>1]|0;if(m<<16>>16<=0){b[e>>1]=p;l=q*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+r;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-4<<2)|0;if((c[m>>2]|0)>(r|0))c[m>>2]=r;c[j+1310736+(l+-1<<2)>>2]=u;break}l=c[j+1179664+(q+-1<<2)>>2]|0;p=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;c:do if((l|0)<=(p|0)){b[e>>1]=l;if((l|0)<(p|0)){m=n;o=0;while(1){if((o|0)>=(k|0))break c;if((c[m>>2]|0)==(p|0))c[m>>2]=l;m=m+4|0;o=o+1|0}}}else{b[e>>1]=p;m=n;o=0;while(1){if((o|0)>=(k|0)){l=p;break c}if((c[m>>2]|0)==(l|0))c[m>>2]=p;m=m+4|0;o=o+1|0}}while(0);q=(l<<16>>16)*7|0;p=j+1310736+(q+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(q+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+r;q=j+1310736+(q+-5<<2)|0;c[q>>2]=(c[q>>2]|0)+u}else{b[e>>1]=0;a[t>>0]=0}while(0);s=s+1|0;t=t+1|0;r=r+1|0;e=e+2|0}l=s+2|0;u=u+1|0;q=k;m=t+2|0;e=e+4|0}d:do if((l|0)==54){Se(0,3,19708,y);k=-1}else if((l|0)==59){o=j+12|0;k=1;e=1;while(1){if((e|0)>(q|0))break;l=c[n>>2]|0;if((l|0)==(e|0))m=k+1|0;else{m=k;k=c[j+1179664+(l+-1<<2)>>2]|0}c[n>>2]=k;k=m;e=e+1|0;n=n+4|0}p=j+8|0;l=k+-1|0;c[p>>2]=l;if(!l)k=0;else{_O(o|0,0,l<<2|0)|0;_O(j+655376|0,0,l<<4|0)|0;k=0;while(1){if((k|0)>=(l|0))break;y=k<<2;c[j+131084+(y<<2)>>2]=f;c[j+131084+((y|1)<<2)>>2]=0;c[j+131084+((y|2)<<2)>>2]=h;c[j+131084+((y|3)<<2)>>2]=0;k=k+1|0}e=0;while(1){if((e|0)>=(q|0))break;m=(c[j+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(n<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;g[l>>3]=+g[l>>3]+ +(c[j+1310736+(n+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(n+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(n+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(n+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(n+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(n+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;e=e+1|0}l=c[p>>2]|0;k=0;while(1){if((k|0)>=(l|0)){k=0;break d}A=+(c[j+12+(k<<2)>>2]|0);h=k<<1;f=j+655376+(h<<3)|0;g[f>>3]=+g[f>>3]/A;h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]/A;k=k+1|0}}}while(0);yb=z;return k|0}function mc(e,f,h,i,j){e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0;z=yb;yb=yb+16|0;y=z;p=c[j>>2]|0;x=h+-1|0;k=p;l=0;m=p+((B(x,f)|0)<<1)|0;while(1){if((l|0)>=(f|0))break;b[m>>1]=0;b[k>>1]=0;k=k+2|0;l=l+1|0;m=m+2|0}w=f+-1|0;k=p;l=0;m=p+(w<<1)|0;while(1){if((l|0)>=(h|0))break;b[m>>1]=0;b[k>>1]=0;k=k+(f<<1)|0;l=l+1|0;m=m+(f<<1)|0}n=j+1179664|0;t=f+1|0;v=0-f|0;o=e+t|0;l=i+t|0;u=1;q=0;m=(c[j+4>>2]|0)+t|0;e=p+(t<<1)|0;a:while(1){if((u|0)>=(x|0)){l=59;break}r=l;k=q;s=m;q=1;t=e;while(1){if((q|0)>=(w|0))break;do if((d[o>>0]|0)>(d[r>>0]|0)){a[s>>0]=-1;m=t+(v<<1)|0;l=b[m>>1]|0;if(l<<16>>16>0){b[t>>1]=l;p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;i=j+1310736+(p+-5<<2)|0;c[i>>2]=(c[i>>2]|0)+u;c[j+1310736+(p+-1<<2)>>2]=u;break}i=b[m+2>>1]|0;p=i<<16>>16;l=b[m+-2>>1]|0;e=l<<16>>16;m=l<<16>>16>0;if(i<<16>>16<=0){if(m){b[t>>1]=l;l=e*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+q;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-3<<2)|0;if((c[m>>2]|0)<(q|0))c[m>>2]=q;c[j+1310736+(l+-1<<2)>>2]=u;break}l=b[t+-2>>1]|0;if(l<<16>>16>0){b[t>>1]=l;l=(l<<16>>16)*7|0;p=j+1310736+(l+-7<<2)|0;c[p>>2]=(c[p>>2]|0)+1;p=j+1310736+(l+-6<<2)|0;c[p>>2]=(c[p>>2]|0)+q;p=j+1310736+(l+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u;l=j+1310736+(l+-3<<2)|0;if((c[l>>2]|0)>=(q|0))break;c[l>>2]=q;break}else{l=k+1|0;if((k|0)>32767){l=54;break a}b[t>>1]=l;c[j+1179664+(k<<2)>>2]=l<<16>>16;k=k*7|0;c[j+1310736+(k<<2)>>2]=1;c[j+1310736+(k+1<<2)>>2]=q;c[j+1310736+(k+2<<2)>>2]=u;c[j+1310736+(k+3<<2)>>2]=q;c[j+1310736+(k+4<<2)>>2]=q;c[j+1310736+(k+5<<2)>>2]=u;c[j+1310736+(k+6<<2)>>2]=u;k=l;break}}if(m){l=c[j+1179664+(p+-1<<2)>>2]|0;i=c[j+1179664+(e+-1<<2)>>2]|0;b:do if((l|0)<=(i|0)){b[t>>1]=l;if((l|0)<(i|0)){m=n;e=0;while(1){if((e|0)>=(k|0))break b;if((c[m>>2]|0)==(i|0))c[m>>2]=l;m=m+4|0;e=e+1|0}}}else{b[t>>1]=i;m=n;e=0;while(1){if((e|0)>=(k|0)){l=i;break b}if((c[m>>2]|0)==(l|0))c[m>>2]=i;m=m+4|0;e=e+1|0}}while(0);p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;i=j+1310736+(p+-5<<2)|0;c[i>>2]=(c[i>>2]|0)+u;c[j+1310736+(p+-1<<2)>>2]=u;break}m=b[t+-2>>1]|0;if(m<<16>>16<=0){b[t>>1]=i;l=p*7|0;m=j+1310736+(l+-7<<2)|0;c[m>>2]=(c[m>>2]|0)+1;m=j+1310736+(l+-6<<2)|0;c[m>>2]=(c[m>>2]|0)+q;m=j+1310736+(l+-5<<2)|0;c[m>>2]=(c[m>>2]|0)+u;m=j+1310736+(l+-4<<2)|0;if((c[m>>2]|0)>(q|0))c[m>>2]=q;c[j+1310736+(l+-1<<2)>>2]=u;break}l=c[j+1179664+(p+-1<<2)>>2]|0;i=c[j+1179664+((m<<16>>16)+-1<<2)>>2]|0;c:do if((l|0)<=(i|0)){b[t>>1]=l;if((l|0)<(i|0)){m=n;e=0;while(1){if((e|0)>=(k|0))break c;if((c[m>>2]|0)==(i|0))c[m>>2]=l;m=m+4|0;e=e+1|0}}}else{b[t>>1]=i;m=n;e=0;while(1){if((e|0)>=(k|0)){l=i;break c}if((c[m>>2]|0)==(l|0))c[m>>2]=i;m=m+4|0;e=e+1|0}}while(0);p=(l<<16>>16)*7|0;i=j+1310736+(p+-7<<2)|0;c[i>>2]=(c[i>>2]|0)+1;i=j+1310736+(p+-6<<2)|0;c[i>>2]=(c[i>>2]|0)+q;p=j+1310736+(p+-5<<2)|0;c[p>>2]=(c[p>>2]|0)+u}else{b[t>>1]=0;a[s>>0]=0}while(0);o=o+1|0;r=r+1|0;s=s+1|0;q=q+1|0;t=t+2|0}o=o+2|0;l=r+2|0;u=u+1|0;q=k;m=s+2|0;e=t+4|0}d:do if((l|0)==54){Se(0,3,19708,y);k=-1}else if((l|0)==59){i=j+12|0;k=1;e=1;while(1){if((e|0)>(q|0))break;l=c[n>>2]|0;if((l|0)==(e|0))m=k+1|0;else{m=k;k=c[j+1179664+(l+-1<<2)>>2]|0}c[n>>2]=k;k=m;e=e+1|0;n=n+4|0}o=j+8|0;l=k+-1|0;c[o>>2]=l;if(!l)k=0;else{_O(i|0,0,l<<2|0)|0;_O(j+655376|0,0,l<<4|0)|0;k=0;while(1){if((k|0)>=(l|0))break;y=k<<2;c[j+131084+(y<<2)>>2]=f;c[j+131084+((y|1)<<2)>>2]=0;c[j+131084+((y|2)<<2)>>2]=h;c[j+131084+((y|3)<<2)>>2]=0;k=k+1|0}e=0;while(1){if((e|0)>=(q|0))break;m=(c[j+1179664+(e<<2)>>2]|0)+-1|0;n=e*7|0;k=j+12+(m<<2)|0;c[k>>2]=(c[k>>2]|0)+(c[j+1310736+(n<<2)>>2]|0);k=m<<1;l=j+655376+(k<<3)|0;g[l>>3]=+g[l>>3]+ +(c[j+1310736+(n+1<<2)>>2]|0);k=j+655376+((k|1)<<3)|0;g[k>>3]=+g[k>>3]+ +(c[j+1310736+(n+2<<2)>>2]|0);m=m<<2;k=j+131084+(m<<2)|0;l=c[j+1310736+(n+3<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;k=j+131084+((m|1)<<2)|0;l=c[j+1310736+(n+4<<2)>>2]|0;if((c[k>>2]|0)<(l|0))c[k>>2]=l;k=j+131084+((m|2)<<2)|0;l=c[j+1310736+(n+5<<2)>>2]|0;if((c[k>>2]|0)>(l|0))c[k>>2]=l;l=j+131084+((m|3)<<2)|0;k=c[j+1310736+(n+6<<2)>>2]|0;if((c[l>>2]|0)<(k|0))c[l>>2]=k;e=e+1|0}l=c[o>>2]|0;k=0;while(1){if((k|0)>=(l|0)){k=0;break d}A=+(c[j+12+(k<<2)>>2]|0);h=k<<1;f=j+655376+(h<<3)|0;g[f>>3]=+g[f>>3]/A;h=j+655376+((h|1)<<3)|0;g[h>>3]=+g[h>>3]/A;k=k+1|0}}}while(0);yb=z;return k|0}function nc(a){a=a|0;return oc(a+8|0)|0}function oc(a){a=a|0;var b=0,d=0;d=yb;yb=yb+16|0;b=DO(4)|0;if(!b){Se(0,3,41858,d);Ea(1)}a=Ce(a)|0;c[b>>2]=a;if(!a){EO(b);b=0}yb=d;return b|0}function pc(a){a=a|0;var b=0;b=c[a>>2]|0;if(!b)a=-1;else{De(b)|0;EO(c[a>>2]|0);c[a>>2]=0;a=0}return a|0}function qc(a){a=a|0;var b=0,d=0,e=0;d=yb;yb=yb+16|0;b=DO(7062432)|0;if(!b){Se(0,3,41858,d);Ea(1)}c[b>>2]=0;c[b+4834148>>2]=0;c[b+7062408>>2]=0;c[b+4>>2]=-1;c[b+8>>2]=0;c[b+12>>2]=1;c[b+16>>2]=100;c[b+20>>2]=0;c[b+24>>2]=0;c[b+28>>2]=2;g[b+7062416>>3]=.5;c[b+7062424>>2]=3;c[b+32>>2]=a;e=c[a>>2]|0;c[b+36>>2]=e;a=c[a+4>>2]|0;c[b+40>>2]=a;c[b+44>>2]=0;c[b+15408>>2]=0;c[b+4834152>>2]=0;c[b+4818296>>2]=0;a=DO(B(e<<1,a)|0)|0;c[b+4834144>>2]=a;if(!a){Se(0,3,41858,d+8|0);Ea(1)}else{c[b+7062384>>2]=0;rc(b,0)|0;c[b+7062388>>2]=-1;sc(b,0)|0;tc(b,7)|0;yb=d;return b|0}return 0}function rc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=yb;yb=yb+16|0;e=f;do if(a)if((c[a>>2]|0)!=(b|0)){c[a>>2]=b;if(!b){d=a+4834148|0;EO(c[d>>2]|0);c[d>>2]=0;d=0;break}b=DO(B(c[a+40>>2]|0,c[a+36>>2]|0)|0)|0;c[a+4834148>>2]=b;if(!b){Se(0,3,41858,e);Ea(1)}else d=0}else d=0;else d=-1;while(0);yb=f;return d|0}function sc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=yb;yb=yb+16|0;h=i+8|0;f=i;if(a){g=a+7062388|0;if((c[g>>2]|0)!=(b|0)){d=a+7062408|0;e=c[d>>2]|0;if(e|0){Xc(e);c[d>>2]=0}switch(b|0){case 3:case 2:case 1:{c[d>>2]=Wc(c[a+36>>2]|0,c[a+40>>2]|0)|0;break}case 4:{c[a+7062404>>2]=1;c[a+7062400>>2]=1;b=4;break}case 0:break;default:{Se(0,3,19740,f);b=0}}c[g>>2]=b;if((c[a>>2]|0)==1){c[h>>2]=c[16+(b<<2)>>2];Se(0,3,19814,h);b=0}else b=0}else b=0}else b=-1;yb=i;return b|0}function tc(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+7062392>>2]=b;c[a+7062396>>2]=0;a=0}return a|0}function uc(a){a=a|0;var b=0,d=0;if(!a)a=-1;else{b=a+7062408|0;d=c[b>>2]|0;if(d|0){Xc(d);c[b>>2]=0}EO(c[a+4834144>>2]|0);EO(c[a+4834148>>2]|0);EO(a);a=0}return a|0}function vc(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a>>2];a=0}else a=-1;return a|0}function wc(a,b){a=a|0;b=b|0;if((a|0)!=0&b>>>0<2){c[a+12>>2]=b;a=0}else a=-1;return a|0}function xc(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+12>>2];a=0}else a=-1;return a|0}function yc(a,b){a=a|0;b=b|0;if((a|0)==0|b>>>0>255)a=-1;else{c[a+16>>2]=b;a=0}return a|0}function zc(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+16>>2];a=0}else a=-1;return a|0}function Ac(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+7062388>>2];a=0}else a=-1;return a|0}function Bc(a,b){a=a|0;b=b|0;if((a|0)!=0&b>>>0<2){c[a+20>>2]=b;a=0}else a=-1;return a|0}function Cc(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[b>>2]=c[a+20>>2];a=0}return a|0}function Dc(a,b){a=a|0;b=b|0;if((a|0)!=0&b>>>0<5){c[a+24>>2]=b;a=0}else a=-1;return a|0}function Ec(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[a+7062424>>2]=b;a=0}return a|0}function Fc(a,b){a=a|0;b=b|0;if((a|0)!=0&(b|0)!=0){c[b>>2]=c[a+7062424>>2];a=0}else a=-1;return a|0}function Gc(a,b){a=a|0;b=b|0;if(!a)a=-1;else{c[b>>2]=c[a+24>>2];a=0}return a|0}function Hc(a,b){a=a|0;b=+b;if((a|0)!=0?!(b<=0.0|b>=1.0):0){g[a+7062416>>3]=b;a=0}else a=-1;return a|0}function Ic(a,b){a=a|0;b=b|0;if(!a)a=-1;else{g[b>>3]=+g[a+7062416>>3];a=0}return a|0}function Jc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=yb;yb=yb+16|0;e=f;a:do if(a){d=a+4|0;if((c[d>>2]|0)!=(b|0)){if(b>>>0>=15){c[e>>2]=b;Se(0,3,19909,e);a=-1;break}c[d>>2]=b;c[a+8>>2]=xd(b)|0;a=a+24|0;d=c[a>>2]|0;if(!(28704>>>(b&32767)&1))switch(d|0){case 1:{c[a>>2]=4;a=0;break a}case 4:{c[a>>2]=3;a=0;break a}default:{a=0;break a}}else switch(d|0){case 0:{c[a>>2]=1;a=0;break a}case 3:{c[a>>2]=4;a=0;break a}default:{a=0;break a}}}else a=0}else a=-1;while(0);yb=f;return a|0}function Kc(a,b){a=a|0;b=b|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0.0,O=0,P=0,Q=0.0,R=0.0;P=yb;yb=yb+64|0;L=P+32|0;F=P+24|0;y=P;J=P+52|0;C=P+40|0;a:do if((a|0)!=0&(b|0)!=0){O=a+44|0;c[O>>2]=0;K=a+7062388|0;e=c[K>>2]|0;b:do if((e|0)==4){H=a+7062396|0;e=c[H>>2]|0;do if((e|0)>0)c[H>>2]=e+-1;else{B=a+16|0;D=c[B>>2]|0;E=a+7062400|0;z=(c[E>>2]|0)+D|0;z=(z|0)<255?z:255;c[J>>2]=z;G=a+7062404|0;A=D-(c[G>>2]|0)|0;A=(A|0)>0?A:0;c[J+4>>2]=A;c[J+8>>2]=D;f=b+12|0;h=a+36|0;i=a+40|0;j=a+12|0;k=a+20|0;n=a+4834144|0;p=a+15416|0;q=a+15408|0;r=a+4|0;s=a+7062384|0;t=a+24|0;u=a+32|0;v=a+7062416|0;w=a+48|0;x=a+7062424|0;e=0;while(1){if(e>>>0>=3)break;if((cd(c[f>>2]|0,c[h>>2]|0,c[i>>2]|0,c[a>>2]|0,c[j>>2]|0,c[J+(e<<2)>>2]|0,c[k>>2]|0,n,0)|0)<0){M=29;break}if((Mc(c[h>>2]|0,c[i>>2]|0,n,c[k>>2]|0,1e6,70,1.0,p,q)|0)<0){M=29;break}if((Rc(c[b>>2]|0,c[h>>2]|0,c[i>>2]|0,c[r>>2]|0,p,c[q>>2]|0,c[s>>2]|0,c[k>>2]|0,c[t>>2]|0,(c[u>>2]|0)+184|0,+g[v>>3],w,O,c[x>>2]|0)|0)<0){M=29;break}c[C+(e<<2)>>2]=c[O>>2];e=e+1|0}if((M|0)==29){e=-1;break a}if((c[a>>2]|0)==1){x=c[C+4>>2]|0;h=c[C+8>>2]|0;f=c[C>>2]|0;c[y>>2]=A;c[y+4>>2]=x;c[y+8>>2]=D;c[y+12>>2]=h;c[y+16>>2]=z;c[y+20>>2]=f;Se(0,3,19958,y)}else{f=c[C>>2]|0;h=c[C+8>>2]|0}e=c[C+4>>2]|0;if((f|0)>(h|0)|(e|0)>(h|0)){f=(f|0)<(e|0)?A:z;c[B>>2]=f;e=f-D|0;if((e|0)>0){c[E>>2]=e;e=1}else{c[E>>2]=1;e=0-e|0}c[G>>2]=e;if((c[a>>2]|0)==1){c[F>>2]=f;Se(0,3,20034,F);c[H>>2]=c[a+7062392>>2];break}else{c[H>>2]=c[a+7062392>>2];break}}e=c[E>>2]|0;f=c[G>>2]|0;do if((e|0)>=(f|0))if((e|0)>(f|0)){c[G>>2]=f+1;break}else{e=e+1|0;c[E>>2]=e;c[G>>2]=f+1;break}else{e=e+1|0;c[E>>2]=e}while(0);if((e+D|0)>254){c[E>>2]=1;e=1}if((D|0)<=(e|0))c[G>>2]=1;c[H>>2]=c[a+7062392>>2];break b}while(0);h=c[K>>2]|0;M=33}else{h=e;M=33}while(0);if((M|0)==33){c:do switch(h|0){case 3:{f=a+7062408|0;h=b+12|0;e=bd(c[f>>2]|0,c[h>>2]|0,9,-7)|0;if((e|0)<0)break a;e=c[f>>2]|0;k=a+4834144|0;e=cd(c[h>>2]|0,c[e+4>>2]|0,c[e+8>>2]|0,c[a>>2]|0,c[a+12>>2]|0,0,0,k,c[e>>2]|0)|0;if((e|0)<0)break a;e=a+36|0;f=a+40|0;h=a+20|0;break}case 2:case 1:{i=a+7062396|0;e=c[i>>2]|0;if((e|0)>0){c[i>>2]=e+-1;M=48;break c}e=c[a+7062408>>2]|0;f=c[b+12>>2]|0;if((h|0)==1)e=$c(e,f,J)|0;else e=ad(e,f,J)|0;if((e|0)<0)break a;e=a+16|0;if((c[a>>2]|0)==1?(I=d[J>>0]|0,(c[e>>2]|0)!=(I|0)):0){c[L>>2]=(c[K>>2]|0)==1?20086:20093;c[L+4>>2]=I;Se(0,3,20098,L)}c[e>>2]=d[J>>0];c[i>>2]=c[a+7062392>>2];M=48;break}default:M=48}while(0);if((M|0)==48){e=a+36|0;f=a+40|0;h=a+20|0;k=a+4834144|0;if((cd(c[b+12>>2]|0,c[e>>2]|0,c[f>>2]|0,c[a>>2]|0,c[a+12>>2]|0,c[a+16>>2]|0,c[h>>2]|0,k,0)|0)<0){e=-1;break}}i=a+15416|0;j=a+15408|0;if((Mc(c[e>>2]|0,c[f>>2]|0,k,c[h>>2]|0,1e6,70,1.0,i,j)|0)<0){e=-1;break}if((Rc(c[b>>2]|0,c[e>>2]|0,c[f>>2]|0,c[a+4>>2]|0,i,c[j>>2]|0,c[a+7062384>>2]|0,c[h>>2]|0,c[a+24>>2]|0,(c[a+32>>2]|0)+184|0,+g[a+7062416>>3],a+48|0,O,c[a+7062424>>2]|0)|0)<0){e=-1;break}}s=a+28|0;if((c[s>>2]|0)==1){Lc(a);e=0;break}t=a+4818296|0;q=c[t>>2]|0;r=a+24|0;p=0;while(1){if((p|0)>=(q|0))break;h=c[O>>2]|0;i=a+4818304+(p*264|0)|0;j=a+4818304+(p*264|0)+56|0;k=a+4818304+(p*264|0)+64|0;f=0;n=-1;l=.5;while(1){if((f|0)>=(h|0))break;m=+(c[a+48+(f<<8)>>2]|0);o=+(c[i>>2]|0)/m;if(!(o<.7|o>1.43)?(o=+g[a+48+(f<<8)+56>>3]-+g[j>>3],N=+g[a+48+(f<<8)+64>>3]-+g[k>>3],N=(o*o+N*N)/m,N-1){k=c[r>>2]|0;switch(k|0){case 2:case 1:case 0:break;case 4:case 3:{f=a+48+(n<<8)+40|0;m=+g[a+4818304+(p*264|0)+40>>3];if(!(+g[f>>3]>3];if(!(+g[e>>3]>3]}g[f>>3]=m;c[a+48+(n<<8)+8>>2]=c[a+4818304+(p*264|0)+8>>2];g[e>>3]=l;c[a+48+(n<<8)+12>>2]=c[a+4818304+(p*264|0)+12>>2];f=0;h=-1;m=1.0e8;while(1){if((f|0)==4)break;e=0;l=0.0;while(1){if((e|0)==4)break;b=e+f&3;Q=+g[a+4818304+(p*264|0)+168+(e<<4)>>3]-+g[a+48+(n<<8)+168+(b<<4)>>3];o=+g[a+4818304+(p*264|0)+168+(e<<4)+8>>3]-+g[a+48+(n<<8)+168+(b<<4)+8>>3];e=e+1|0;l=l+(Q*Q+o*o)}b=l>2]=(b+(c[a+4818304+(p*264|0)+20>>2]|0)|0)%4|0;c[a+48+(n<<8)+24>>2]=(b+(c[a+4818304+(p*264|0)+24>>2]|0)|0)%4|0;break d}default:{e=-1;break a}}e=a+48+(n<<8)+32|0;o=+g[a+4818304+(p*264|0)+32>>3];if(+g[e>>3]>3]=o;i=c[a+4818304+(p*264|0)+4>>2]|0;c[a+48+(n<<8)+4>>2]=i;j=a+4818304+(p*264|0)+16|0;f=-1;l=1.0e8;h=0;while(1){if((h|0)==4)break;e=0;m=0.0;while(1){if((e|0)==4)break;b=e+h&3;R=+g[a+4818304+(p*264|0)+168+(e<<4)>>3]-+g[a+48+(n<<8)+168+(b<<4)>>3];Q=+g[a+4818304+(p*264|0)+168+(e<<4)+8>>3]-+g[a+48+(n<<8)+168+(b<<4)+8>>3];e=e+1|0;m=m+(R*R+Q*Q)}if(m>2]|0)|0)%4|0;l=m}else e=f;f=e;h=h+1|0}c[a+48+(n<<8)+16>>2]=f;if(k>>>0<2){c[a+48+(n<<8)+8>>2]=i;g[a+48+(n<<8)+40>>3]=o;c[a+48+(n<<8)+20>>2]=f;break}else{c[a+48+(n<<8)+12>>2]=i;g[a+48+(n<<8)+48>>3]=o;c[a+48+(n<<8)+24>>2]=f;break}}}while(0);p=p+1|0}Lc(a);f=0;e=0;while(1){if((f|0)>=(c[t>>2]|0))break;M=a+4818304+(f*264|0)+256|0;b=c[M>>2]|0;c[M>>2]=b+1;if((b|0)<3){if((f|0)!=(e|0))YO(a+4818304+(e*264|0)|0,a+4818304+(f*264|0)|0,264)|0;e=e+1|0}f=f+1|0}c[t>>2]=e;f=c[O>>2]|0;k=0;while(1){if((k|0)>=(f|0))break;j=a+48+(k<<8)|0;h=c[a+48+(k<<8)+4>>2]|0;if((h|0)>=0){i=0;while(1){if((i|0)>=(e|0))break;if((c[a+4818304+(i*264|0)+4>>2]|0)==(h|0))break;i=i+1|0}if((i|0)==(e|0)){if((e|0)==60)break;e=e+1|0;c[t>>2]=e}YO(a+4818304+(i*264|0)|0,j|0,256)|0;c[a+4818304+(i*264|0)+256>>2]=1}k=k+1|0}if((c[s>>2]|0)==2)e=0;else{n=0;while(1){if((n|0)>=(e|0)){e=0;break a}i=a+4818304+(n*264|0)|0;j=a+4818304+(n*264|0)+56|0;k=a+4818304+(n*264|0)+64|0;h=0;while(1){if((h|0)>=(f|0))break;l=+(c[a+48+(h<<8)>>2]|0);R=+(c[i>>2]|0)/l;if(!(R<.7|R>1.43)?(Q=+g[a+48+(h<<8)+56>>3]-+g[j>>3],R=+g[a+48+(h<<8)+64>>3]-+g[k>>3],(Q*Q+R*R)/l<.5):0)break;h=h+1|0}if((h|0)==(f|0)){YO(a+48+(f<<8)|0,a+4818304+(n*264|0)|0,256)|0;f=f+1|0;c[O>>2]=f;e=c[t>>2]|0}n=n+1|0}}}else e=-1;while(0);yb=P;return e|0}function Lc(a){a=a|0;var b=0,d=0,e=0,f=0;a:do switch(c[a+24>>2]|0){case 1:case 0:{d=c[a+44>>2]|0;b=0;while(1){if((b|0)>=(d|0))break a;e=a+48+(b<<8)+4|0;if((c[e>>2]|0)>-1?+g[a+48+(b<<8)+32>>3]<.5:0){c[a+48+(b<<8)+8>>2]=-1;c[e>>2]=-1;c[a+48+(b<<8)+236>>2]=6}b=b+1|0}}case 2:{d=c[a+44>>2]|0;b=0;while(1){if((b|0)>=(d|0))break a;e=a+48+(b<<8)+4|0;if((c[e>>2]|0)>-1?+g[a+48+(b<<8)+32>>3]<.5:0){c[a+48+(b<<8)+12>>2]=-1;c[e>>2]=-1;c[a+48+(b<<8)+236>>2]=6}b=b+1|0}}default:{f=c[a+44>>2]|0;e=0;while(1){if((e|0)>=(f|0))break a;b=a+48+(e<<8)+8|0;if((c[b>>2]|0)>-1?+g[a+48+(e<<8)+40>>3]<.5:0){c[b>>2]=-1;b=0}else b=1;d=a+48+(e<<8)+12|0;if(((c[d>>2]|0)>-1?+g[a+48+(e<<8)+48>>3]<.5:0)?(c[d>>2]=-1,(b|0)==0):0)c[a+48+(e<<8)+236>>2]=6;e=e+1|0}}}while(0);return}function Mc(a,b,d,e,f,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=+i;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;r=(e|0)==1;if(r){a=(a|0)/2|0;b=(b|0)/2|0;f=(f|0)/4|0;h=(h|0)/4|0}c[k>>2]=0;n=d+8|0;o=a+-2|0;b=b+-2|0;l=d+1179664|0;e=0;while(1){if((e|0)>=(c[n>>2]|0)){q=5;break}m=d+12+(e<<2)|0;s=c[m>>2]|0;if(((((((!((s|0)<(h|0)|(s|0)>(f|0))?(p=d+131084+(e<<4)|0,(c[p>>2]|0)!=1):0)?(c[d+131084+(e<<4)+4>>2]|0)!=(o|0):0)?(c[d+131084+(e<<4)+8>>2]|0)!=1:0)?(c[d+131084+(e<<4)+12>>2]|0)!=(b|0):0)?(Nc(c[d>>2]|0,a,0,l,e+1|0,p,j+((c[k>>2]|0)*80048|0)|0)|0)>=0:0)?(Oc(c[m>>2]|0,j+((c[k>>2]|0)*80048|0)|0,i)|0)>=0:0)?(c[j+((c[k>>2]|0)*80048|0)>>2]=c[m>>2],s=c[k>>2]|0,g[j+(s*80048|0)+8>>3]=+g[d+655376+(e<<4)>>3],g[j+(s*80048|0)+16>>3]=+g[d+655376+(e<<4)+8>>3],s=s+1|0,c[k>>2]=s,(s|0)==60):0){e=60;break}e=e+1|0}if((q|0)==5)e=c[k>>2]|0;a=0;while(1){if((a|0)>=(e|0))break;l=a+1|0;m=j+(a*80048|0)+8|0;n=j+(a*80048|0)+16|0;h=j+(a*80048|0)|0;f=l;while(1){if((f|0)>=(e|0))break;t=+g[m>>3]-+g[j+(f*80048|0)+8>>3];i=+g[n>>3]-+g[j+(f*80048|0)+16>>3];i=t*t+i*i;e=c[h>>2]|0;a=j+(f*80048|0)|0;b=c[a>>2]|0;if((e|0)>(b|0)){if(i<+((e|0)/4|0|0))c[a>>2]=0}else if(i<+((b|0)/4|0|0))c[h>>2]=0;f=f+1|0;e=c[k>>2]|0}a=l}f=0;while(1){if((f|0)>=(e|0))break;if(!(c[j+(f*80048|0)>>2]|0)){b=f;while(1){a=b+1|0;if((a|0)>=(e|0))break;YO(j+(b*80048|0)|0,j+(a*80048|0)|0,80048)|0;b=a;e=c[k>>2]|0}e=e+-1|0;c[k>>2]=e}f=f+1|0}a:do if(r){b=0;while(1){if((b|0)>=(e|0))break a;c[j>>2]=c[j>>2]<<2;a=j+8|0;g[a>>3]=+g[a>>3]*2.0;a=j+16|0;g[a>>3]=+g[a>>3]*2.0;a=c[j+24>>2]|0;e=0;while(1){if((e|0)>=(a|0))break;s=j+28+(e<<2)|0;c[s>>2]=c[s>>2]<<1;s=j+40028+(e<<2)|0;c[s>>2]=c[s>>2]<<1;e=e+1|0}j=j+80048|0;b=b+1|0;e=c[k>>2]|0}}while(0);return 0}function Nc(a,d,e,f,g,h,i){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=yb;yb=yb+80032|0;n=w+80016|0;m=w+80008|0;j=w+8e4|0;u=w+4e4|0;v=w;s=c[h+8>>2]|0;t=B(s,d)|0;e=c[h>>2]|0;h=c[h+4>>2]|0;r=e;e=a+(t+e<<1)|0;while(1){if((r|0)>(h|0)){t=7;break}t=b[e>>1]|0;if(t<<16>>16>0?(c[f+((t<<16>>16)+-1<<2)>>2]|0)==(g|0):0){t=6;break}r=r+1|0;e=e+2|0}do if((t|0)==6)if((r|0)!=-1){o=i+24|0;c[o>>2]=1;p=i+28|0;c[p>>2]=r;q=i+40028|0;c[q>>2]=s;g=5;e=s;l=r;f=1;while(1){k=a+((B(e,d)|0)+l<<1)|0;j=0;e=g+5|0;while(1){g=(e|0)%8|0;if(j>>>0>=8){t=13;break}e=c[48+(g<<2)>>2]|0;x=B(e,d)|0;h=c[80+(g<<2)>>2]|0;if((b[k+(x+h<<1)>>1]|0)>0)break;j=j+1|0;e=g+1|0}if((t|0)==13){t=0;if((j|0)==8){t=15;break}h=c[80+(g<<2)>>2]|0;e=c[48+(g<<2)>>2]|0}c[i+28+(f<<2)>>2]=h+l;j=c[o>>2]|0;c[i+40028+(j<<2)>>2]=e+(c[i+40028+(j+-1<<2)>>2]|0);j=c[o>>2]|0;h=i+28+(j<<2)|0;if((c[h>>2]|0)==(r|0)?(c[i+40028+(j<<2)>>2]|0)==(s|0):0){t=18;break}f=j+1|0;c[o>>2]=f;if((f|0)==9999){t=21;break}e=c[i+40028+(j<<2)>>2]|0;l=c[h>>2]|0}if((t|0)==15){Se(0,3,20152,m);e=-1;break}else if((t|0)==18){f=0;e=0;h=1;while(1){if((h|0)>=(j|0))break;x=(c[i+28+(h<<2)>>2]|0)-r|0;x=B(x,x)|0;d=(c[i+40028+(h<<2)>>2]|0)-s|0;x=(B(d,d)|0)+x|0;d=(x|0)>(e|0);f=d?h:f;e=d?x:e;h=h+1|0}e=0;while(1){if((e|0)>=(f|0))break;c[u+(e<<2)>>2]=c[i+28+(e<<2)>>2];c[v+(e<<2)>>2]=c[i+40028+(e<<2)>>2];e=e+1|0}h=f;e=j;while(1){if((h|0)>=(e|0))break;e=h-f|0;c[i+28+(e<<2)>>2]=c[i+28+(h<<2)>>2];c[i+40028+(e<<2)>>2]=c[i+40028+(h<<2)>>2];h=h+1|0;e=c[o>>2]|0}e=0;while(1){if((e|0)>=(f|0))break;x=e-f|0;c[i+28+((c[o>>2]|0)+x<<2)>>2]=c[u+(e<<2)>>2];c[i+40028+((c[o>>2]|0)+x<<2)>>2]=c[v+(e<<2)>>2];e=e+1|0}c[i+28+(c[o>>2]<<2)>>2]=c[p>>2];c[i+40028+(c[o>>2]<<2)>>2]=c[q>>2];c[o>>2]=(c[o>>2]|0)+1;e=0;break}else if((t|0)==21){Se(0,3,20159,n);e=-1;break}}else t=7;while(0);if((t|0)==7){Se(0,3,20145,j);e=-1}yb=w;return e|0}function Oc(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;r=yb;yb=yb+96|0;o=r+48|0;k=r+92|0;p=r;l=r+88|0;m=b+28|0;j=c[m>>2]|0;n=b+40028|0;h=c[n>>2]|0;q=b+24|0;i=(c[q>>2]|0)+-1|0;f=1;g=0;e=0;while(1){if((f|0)>=(i|0))break;t=(c[b+28+(f<<2)>>2]|0)-j|0;t=B(t,t)|0;u=(c[b+40028+(f<<2)>>2]|0)-h|0;t=(B(u,u)|0)+t|0;u=(t|0)>(g|0);s=u?f:e;f=f+1|0;g=u?t:g;e=s}d=+(a|0)/.75*.01*d;c[k>>2]=0;c[l>>2]=0;a:do if((Pc(m,n,0,e,d,o,k)|0)>=0?(Pc(m,n,e,(c[q>>2]|0)+-1|0,d,p,l)|0)>=0:0){f=c[k>>2]|0;g=c[l>>2]|0;do if((f|0)==1&(g|0)==1){f=c[p>>2]|0;g=c[o>>2]|0}else{if((f|0)>1&(g|0)==0){f=(e|0)/2|0;c[l>>2]=0;c[k>>2]=0;if((Pc(m,n,0,f,d,o,k)|0)<0){e=-1;break a}if((Pc(m,n,f,e,d,p,l)|0)<0){e=-1;break a}if(!((c[k>>2]|0)==1&(c[l>>2]|0)==1)){e=-1;break a}f=e;g=c[o>>2]|0;e=c[p>>2]|0;break}if(!((f|0)==0&(g|0)>1)){e=-1;break a}f=(e+-1+(c[q>>2]|0)|0)/2|0;c[l>>2]=0;c[k>>2]=0;if((Pc(m,n,e,f,d,o,k)|0)<0){e=-1;break a}if((Pc(m,n,f,(c[q>>2]|0)+-1|0,d,p,l)|0)<0){e=-1;break a}if(!((c[k>>2]|0)==1&(c[l>>2]|0)==1)){e=-1;break a}f=c[p>>2]|0;g=e;e=c[o>>2]|0}while(0);c[b+80028>>2]=0;c[b+80032>>2]=g;c[b+80036>>2]=e;c[b+80040>>2]=f;c[b+80044>>2]=(c[q>>2]|0)+-1;e=0}else e=-1;while(0);yb=r;return e|0}function Pc(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=g|0;h=h|0;var i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0.0;j=c[b+(e<<2)>>2]|0;q=c[b+(d<<2)>>2]|0;l=+(j-q|0);i=c[a+(d<<2)>>2]|0;r=c[a+(e<<2)>>2]|0;m=+(i-r|0);n=+((B(r,q)|0)-(B(i,j)|0)|0);j=d+1|0;i=j;k=0.0;while(1){if((j|0)>=(e|0))break;s=l*+(c[a+(j<<2)>>2]|0)+m*+(c[b+(j<<2)>>2]|0)+n;s=s*s;r=s>k;i=r?j:i;j=j+1|0;k=r?s:k}if(k/(l*l+m*m)>f)if(((Pc(a,b,d,i,f,g,h)|0)>=0?(o=c[h>>2]|0,(o|0)<=5):0)?(c[g+(o<<2)>>2]=i,c[h>>2]=(c[h>>2]|0)+1,(Pc(a,b,i,e,f,g,h)|0)>=0):0)p=8;else i=-1;else p=8;if((p|0)==8)i=0;return i|0}function Qc(a,b,d,e,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,n=0,o=0.0,p=0.0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=yb;yb=yb+16|0;r=y+4|0;s=y;x=oe(2)|0;u=oe(2)|0;v=Bd(2,2)|0;k=0;a:while(1){if(k>>>0>=4){q=10;break}l=k+1|0;q=c[e+(l<<2)>>2]|0;n=c[e+(k<<2)>>2]|0;p=+(q+1-n|0)*.05+.5;n=~~(p+ +(n|0));q=~~(+(q|0)-p)-n|0;w=Bd(q+1|0,2)|0;d=0;while(1){if((d|0)>(q|0))break;z=d+n|0;if((ne(h,+(c[a+(z<<2)>>2]|0),+(c[b+(z<<2)>>2]|0),r,s)|0)<0){q=6;break a}A=c[w>>2]|0;z=d<<1;g[A+(z<<3)>>3]=+f[r>>2];g[A+((z|1)<<3)>>3]=+f[s>>2];d=d+1|0}if((Nd(w,v,x,u)|0)<0){q=14;break}A=c[v>>2]|0;o=+g[A+8>>3];g[i+(k*24|0)>>3]=o;p=-+g[A>>3];g[i+(k*24|0)+8>>3]=p;A=c[u>>2]|0;g[i+(k*24|0)+16>>3]=-(o*+g[A>>3]+ +g[A+8>>3]*p);Jd(w)|0;k=l}b:do if((q|0)==6)q=14;else if((q|0)==10){Jd(v)|0;pe(u)|0;pe(x)|0;d=0;while(1){if(d>>>0>=4){d=0;break b}k=d+3&3;l=i+(k*24|0)|0;m=+g[i+(d*24|0)+8>>3];n=i+(d*24|0)|0;o=+g[i+(k*24|0)+8>>3];p=+g[l>>3]*m-+g[n>>3]*o;if(+t(+p)<.0001){d=-1;break b}A=i+(d*24|0)+16|0;z=i+(k*24|0)+16|0;g[j+(d<<4)>>3]=(o*+g[A>>3]-m*+g[z>>3])/p;g[j+(d<<4)+8>>3]=(+g[n>>3]*+g[z>>3]-+g[l>>3]*+g[A>>3])/p;d=d+1|0}}while(0);if((q|0)==14){Jd(w)|0;Jd(v)|0;pe(u)|0;pe(x)|0;d=-1}yb=y;return d|0}function Rc(a,b,d,e,h,i,j,k,l,m,n,o,p,q){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=+n;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=yb;yb=yb+16|0;A=G+4|0;B=G;C=l>>>0<2;D=(l|0)==2;z=0;r=0;while(1){if((z|0)>=(i|0))break;c[o+(r<<8)>>2]=c[h+(z*80048|0)>>2];if((ne(m,+g[h+(z*80048|0)+8>>3],+g[h+(z*80048|0)+16>>3],A,B)|0)>=0?(g[o+(r<<8)+56>>3]=+f[A>>2],g[o+(r<<8)+64>>3]=+f[B>>2],E=o+(r<<8)+168|0,(Qc(h+(z*80048|0)+28|0,h+(z*80048|0)+40028|0,c[h+(z*80048|0)+24>>2]|0,h+(z*80048|0)+80028|0,m,o+(r<<8)+72|0,E)|0)>=0):0){v=o+(r<<8)+8|0;s=o+(r<<8)+20|0;t=o+(r<<8)+40|0;w=o+(r<<8)+12|0;y=o+(r<<8)+24|0;x=o+(r<<8)+48|0;u=md(j,k,l,a,b,d,e,m,E,n,v,s,t,w,y,x,q,o+(r<<8)+240|0,o+(r<<8)+248|0)|0;switch(u|0){case 0:{F=12;break}case -1:{u=2;F=12;break}case -2:{u=3;F=12;break}case -3:{u=4;F=12;break}case -4:{u=5;F=12;break}case -5:{u=9;F=12;break}case -6:{u=1;F=12;break}default:{}}if((F|0)==12){F=0;c[o+(r<<8)+236>>2]=u}if(!C){if(D){c[o+(r<<8)+4>>2]=c[w>>2];t=x;s=y;F=17}}else{c[o+(r<<8)+4>>2]=c[v>>2];F=17}if((F|0)==17){F=0;c[o+(r<<8)+16>>2]=c[s>>2];g[o+(r<<8)+32>>3]=+g[t>>3]}r=r+1|0}z=z+1|0}c[p>>2]=r;yb=G;return 0}function Sc(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0;m=yb;yb=yb+288|0;h=m+192|0;i=m+96|0;j=m+264|0;k=m;l=m+256|0;do if((c[b+12>>2]|0)>=0)if((c[b+8>>2]|0)<0){f=b+24|0;break}else{f=b+16|0;break}else f=b+20|0;while(0);f=c[f>>2]|0;o=(4-f|0)%4|0;g[h>>3]=+g[b+168+(o<<4)>>3];g[h+8>>3]=+g[b+168+(o<<4)+8>>3];o=(5-f|0)%4|0;g[h+16>>3]=+g[b+168+(o<<4)>>3];g[h+24>>3]=+g[b+168+(o<<4)+8>>3];o=(6-f|0)%4|0;g[h+32>>3]=+g[b+168+(o<<4)>>3];g[h+40>>3]=+g[b+168+(o<<4)+8>>3];f=(7-f|0)%4|0;g[h+48>>3]=+g[b+168+(f<<4)>>3];g[h+56>>3]=+g[b+168+(f<<4)+8>>3];n=d*-.5;g[i>>3]=n;d=d*.5;g[i+8>>3]=d;g[i+16>>3]=0.0;g[i+24>>3]=d;g[i+32>>3]=d;g[i+40>>3]=0.0;g[i+48>>3]=d;g[i+56>>3]=n;g[i+64>>3]=0.0;g[i+72>>3]=n;g[i+80>>3]=n;g[i+88>>3]=0.0;c[j>>2]=h;c[j+4>>2]=i;c[j+8>>2]=4;if((Ke(c[a>>2]|0,h,i,4,k)|0)<0)d=1.0e8;else{o=(Fe(c[a>>2]|0,j,k,e,l)|0)<0;d=o?1.0e8:+g[l>>3]}yb=m;return +d}function Tc(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0;m=yb;yb=yb+192|0;i=m+96|0;j=m;k=m+168|0;l=m+160|0;do if((c[b+12>>2]|0)>=0)if((c[b+8>>2]|0)<0){h=b+24|0;break}else{h=b+16|0;break}else h=b+20|0;while(0);h=c[h>>2]|0;o=(4-h|0)%4|0;g[i>>3]=+g[b+168+(o<<4)>>3];g[i+8>>3]=+g[b+168+(o<<4)+8>>3];o=(5-h|0)%4|0;g[i+16>>3]=+g[b+168+(o<<4)>>3];g[i+24>>3]=+g[b+168+(o<<4)+8>>3];o=(6-h|0)%4|0;g[i+32>>3]=+g[b+168+(o<<4)>>3];g[i+40>>3]=+g[b+168+(o<<4)+8>>3];h=(7-h|0)%4|0;g[i+48>>3]=+g[b+168+(h<<4)>>3];g[i+56>>3]=+g[b+168+(h<<4)+8>>3];n=e*-.5;g[j>>3]=n;e=e*.5;g[j+8>>3]=e;g[j+16>>3]=0.0;g[j+24>>3]=e;g[j+32>>3]=e;g[j+40>>3]=0.0;g[j+48>>3]=e;g[j+56>>3]=n;g[j+64>>3]=0.0;g[j+72>>3]=n;g[j+80>>3]=n;g[j+88>>3]=0.0;c[k>>2]=i;c[k+4>>2]=j;c[k+8>>2]=4;k=(Fe(c[a>>2]|0,k,d,f,l)|0)<0;yb=m;return +(k?1.0e8:+g[l>>3])}function Uc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=yb;yb=yb+32|0;l=o+20|0;m=o;n=DO(f<<4)|0;c[l>>2]=n;if(!n){Se(0,3,41858,o+8|0);Ea(1)}j=DO(f*24|0)|0;k=l+4|0;c[k>>2]=j;if(!j){Se(0,3,41858,o+16|0);Ea(1)}i=0;while(1){if((i|0)>=(f|0))break;g[n+(i<<4)>>3]=+g[d+(i<<4)>>3];g[n+(i<<4)+8>>3]=+g[d+(i<<4)+8>>3];g[j+(i*24|0)>>3]=+g[e+(i*24|0)>>3];g[j+(i*24|0)+8>>3]=+g[e+(i*24|0)+8>>3];g[j+(i*24|0)+16>>3]=+g[e+(i*24|0)+16>>3];i=i+1|0}c[l+8>>2]=f;if((Fe(c[a>>2]|0,l,b,h,m)|0)<0)g[m>>3]=1.0e8;EO(c[l>>2]|0);EO(c[k>>2]|0);yb=o;return +(+g[m>>3])}function Vc(a,b,d,e,f,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=yb;yb=yb+32|0;l=o+20|0;m=o;n=DO(f<<4)|0;c[l>>2]=n;if(!n){Se(0,3,41858,o+8|0);Ea(1)}j=DO(f*24|0)|0;k=l+4|0;c[k>>2]=j;if(!j){Se(0,3,41858,o+16|0);Ea(1)}i=0;while(1){if((i|0)>=(f|0))break;g[n+(i<<4)>>3]=+g[d+(i<<4)>>3];g[n+(i<<4)+8>>3]=+g[d+(i<<4)+8>>3];g[j+(i*24|0)>>3]=+g[e+(i*24|0)>>3];g[j+(i*24|0)+8>>3]=+g[e+(i*24|0)+8>>3];g[j+(i*24|0)+16>>3]=+g[e+(i*24|0)+16>>3];i=i+1|0}c[l+8>>2]=f;if((He(c[a>>2]|0,l,b,h,m)|0)<0)g[m>>3]=1.0e8;EO(c[l>>2]|0);EO(c[k>>2]|0);yb=o;return +(+g[m>>3])}function Wc(a,b){a=a|0;b=b|0;var d=0;d=DO(2064)|0;if(d|0){c[d>>2]=0;c[d+4>>2]=a;c[d+8>>2]=b}return d|0}function Xc(a){a=a|0;if(a|0){EO(c[a>>2]|0);EO(a)}return}function Yc(a,b){a=a|0;b=b|0;var e=0,f=0;a:do if((a|0)!=0&(b|0)!=0){_O(a+12|0,0,1024)|0;e=b+(B(c[a+8>>2]|0,c[a+4>>2]|0)|0)|0;while(1){if(b>>>0>=e>>>0){b=0;break a}f=a+12+((d[b>>0]|0)<<2)|0;c[f>>2]=(c[f>>2]|0)+1;b=b+1|0}}else b=-1;while(0);return b|0}function Zc(a,b){a=a|0;b=b|0;var d=0;b=Yc(a,b)|0;if((b|0)>=0){b=0;d=0;do{b=(c[a+12+(d<<2)>>2]|0)+b|0;c[a+1036+(d<<2)>>2]=b;d=d+1|0}while((d|0)!=256);b=0}return b|0}function _c(b,d,e,f){b=b|0;d=d|0;e=+e;f=f|0;var g=0,h=0,i=0,j=0;if(!(e<0.0|e>1.0)){d=Zc(b,d)|0;if((d|0)>=0){i=~~(+(B(c[b+8>>2]|0,c[b+4>>2]|0)|0)*e)>>>0;d=0;while(1){j=d&255;g=c[b+1036+(j<<2)>>2]|0;if(g>>>0>>0)d=d+1<<24>>24;else break}while(1){h=d+1<<24>>24;if((g|0)!=(i|0))break;d=h;g=c[b+1036+((h&255)<<2)>>2]|0}a[f>>0]=((d&255)+j|0)>>>1;d=0}}else d=-1;return d|0}function $c(a,b,c){a=a|0;b=b|0;c=c|0;return _c(a,b,.5,c)|0}function ad(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0,m=0.0,n=0,o=0.0;d=Yc(b,d)|0;if((d|0)>=0){m=0.0;d=1;do{m=m+ +((B(c[b+12+(d<<2)>>2]|0,d)|0)>>>0);d=d+1|0}while((d|0)!=256);k=+(B(c[b+8>>2]|0,c[b+4>>2]|0)|0);d=0;h=0.0;j=0.0;g=0.0;l=0;while(1){f=c[b+12+(l<<2)>>2]|0;j=j+ +(f>>>0);if(j!=0.0){i=k-j;if(i==0.0)break;g=g+ +((B(f,l)|0)>>>0);o=g/j-(m-g)/i;i=o*(j*i*o);n=i>h;f=l&255;d=n?f:d;h=n?i:h}else f=l&255;if(f<<24>>24==-1)break;else l=l+1|0}a[e>>0]=d;d=0}return d|0}function bd(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;h=Yc(b,e)|0;a:do if((h|0)>=0){if(!(c[b>>2]|0)){h=b+4|0;i=b+8|0;s=DO(B(c[i>>2]|0,c[h>>2]|0)|0)|0;c[b>>2]=s;if(!s){h=-1;break}else{s=h;r=i}}else{s=b+4|0;r=b+8|0}p=f>>1;q=0-p|0;o=0;while(1){h=c[r>>2]|0;if((o|0)>=(h|0))break;l=0;while(1){n=c[s>>2]|0;if((l|0)>=(n|0))break;m=q;f=0;h=0;while(1){if((m|0)>(p|0))break;i=m+o|0;b:do if((i|0)>=0?(i|0)<(c[r>>2]|0):0){k=B(i,n)|0;j=q;i=f;while(1){if((j|0)>(p|0))break b;f=j+l|0;if((f|0)>-1&(f|0)<(n|0)){i=i+1|0;h=h+(d[e+(f+k)>>0]|0)|0}j=j+1|0}}else i=f;while(0);m=m+1|0;f=i}a[(c[b>>2]|0)+((B(n,o)|0)+l)>>0]=(h|0)/(f|0)|0;l=l+1|0}o=o+1|0}if(!g)h=0;else{i=0;while(1){if((i|0)>=(B(h,c[s>>2]|0)|0)){h=0;break a}h=(c[b>>2]|0)+i|0;a[h>>0]=(d[h>>0]|0)+g;i=i+1|0;h=c[r>>2]|0}}}while(0);return h|0}function cd(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;e=(e|0)==1;j=(i|0)!=0;do if(!d)if(e){if(j){e=dc(a,b,c,i,h)|0;break}if(!g){e=cc(a,b,c,f,h)|0;break}else{e=bc(a,b,c,f,h)|0;break}}else{if(j){e=gc(a,b,c,i,h)|0;break}if(!g){e=fc(a,b,c,f,h)|0;break}else{e=ec(a,b,c,f,h)|0;break}}else if(e){if(j){e=jc(a,b,c,i,h)|0;break}if(!g){e=ic(a,b,c,f,h)|0;break}else{e=hc(a,b,c,f,h)|0;break}}else{if(j){e=mc(a,b,c,i,h)|0;break}if(!g){e=lc(a,b,c,f,h)|0;break}else{e=kc(a,b,c,f,h)|0;break}}while(0);return e|0}function dd(a,b){a=a|0;b=b|0;var d=0;if((a|0)!=0?(d=a+7062384|0,(c[d>>2]|0)==0):0){c[d>>2]=b;a=0}else a=-1;return a|0}function ed(a){a=a|0;var b=0;if((a|0)!=0?(b=a+7062384|0,(c[b>>2]|0)!=0):0){c[b>>2]=0;a=0}else a=-1;return a|0}function fd(){return gd(16,50)|0}function gd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=yb;yb=yb+64|0;p=q+56|0;o=q+48|0;i=q+40|0;h=q+32|0;g=q+24|0;f=q+16|0;e=q+8|0;d=q;a:do if(!((a+-16|0)>>>0>48|(b|0)<1)){m=DO(32)|0;if(!m){Se(0,3,41858,d);Ea(1)}c[m>>2]=0;c[m+4>>2]=b;c[m+28>>2]=a;l=DO(b<<2)|0;c[m+8>>2]=l;if(!l){Se(0,3,41858,e);Ea(1)}d=b<<4;k=DO(d)|0;c[m+12>>2]=k;if(!k){Se(0,3,41858,f);Ea(1)}f=DO(d)|0;j=m+20|0;c[j>>2]=f;if(!f){Se(0,3,41858,g);Ea(1)}d=b<<5;g=DO(d)|0;c[m+16>>2]=g;if(!g){Se(0,3,41858,h);Ea(1)}h=DO(d)|0;c[m+24>>2]=h;if(!h){Se(0,3,41858,i);Ea(1)}g=B(a,a)|0;f=g*12|0;g=g<<2;e=0;b:while(1){if((e|0)>=(b|0)){n=m;break a}c[l+(e<<2)>>2]=0;a=e<<2;d=0;while(1){if(d>>>0>=4)break;i=DO(f)|0;h=d+a|0;c[k+(h<<2)>>2]=i;if(!i){d=19;break b}i=DO(g)|0;c[(c[j>>2]|0)+(h<<2)>>2]=i;if(!i){d=21;break b}else d=d+1|0}e=e+1|0}if((d|0)==19){Se(0,3,41858,o);Ea(1)}else if((d|0)==21){Se(0,3,41858,p);Ea(1)}}else n=0;while(0);yb=q;return n|0}function hd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)b=-1;else{f=a+4|0;g=a+8|0;h=a+12|0;i=a+20|0;d=0;while(1){if((d|0)>=(c[f>>2]|0))break;if(c[(c[g>>2]|0)+(d<<2)>>2]|0)rd(a,d)|0;e=d<<2;b=0;while(1){if((b|0)==4)break;j=b+e|0;EO(c[(c[h>>2]|0)+(j<<2)>>2]|0);EO(c[(c[i>>2]|0)+(j<<2)>>2]|0);b=b+1|0}d=d+1|0}EO(c[h>>2]|0);EO(c[i>>2]|0);EO(c[g>>2]|0);EO(c[a+16>>2]|0);EO(c[a+24>>2]|0);EO(a);b=0}return b|0}function id(b,e,f,h,i,j,k){b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=yb;yb=yb+32|0;p=u+24|0;o=u;t=u+16|0;a:do if((e+-3|0)>>>0>5){c[f>>2]=-1;c[h>>2]=0;g[i>>3]=-1.0;l=-1}else{c[o>>2]=0;s=e+-1|0;c[o+4>>2]=B(s,e)|0;q=B(e,e)|0;c[o+8>>2]=q+-1;c[o+12>>2]=s;l=0;m=0;n=-1;while(1){if((l|0)==4)break;r=a[b+(c[o+(l<<2)>>2]|0)>>0]|0;l=l+1|0;m=(r&255)>(m&255)?r:m;n=(r&255)<(n&255)?r:n}m=m&255;l=n&255;if((m-l|0)<30){c[f>>2]=-1;c[h>>2]=0;g[i>>3]=-1.0;l=-2;break}n=(m+l|0)>>>1;l=0;while(1){if((l|0)==4)break;a[p+l>>0]=n>>>0>(d[b+(c[o+(l<<2)>>2]|0)>>0]|0)>>>0&1;l=l+1|0}m=0;while(1){if(m>>>0>=4){l=18;break}l=m+1|0;if(((a[p+m>>0]|0)==1?(a[p+(l&3)>>0]|0)==1:0)?(a[p+(m+2&3)>>0]|0)==0:0){l=17;break}m=l}if((l|0)==17)c[h>>2]=m;else if((l|0)==18?(m|0)==4:0){c[f>>2]=-1;c[h>>2]=0;g[i>>3]=-1.0;l=-3;break}r=255;l=0;while(1){if((l|0)==(q|0))break;o=b+l|0;m=d[o>>0]|0;p=m-n|0;p=(p|0)<0?0-p|0:p;a[o>>0]=n>>>0>m>>>0&1;r=(p|0)<(r|0)?p:r;l=l+1|0}l=c[h>>2]|0;b:do switch(l|0){case 0:{n=l;m=0;l=0;while(1){if((n|0)>=(e|0))break b;p=(n|0)==(s|0);q=B(n,e)|0;o=0;while(1){if((o|0)==(e|0))break;if((o|n|0)!=0?!(p&((o|0)==0|(o|0)==(s|0))):0){m=SO(m|0,l|0,1)|0;l=F()|0;m=m|(a[b+(o+q)>>0]|0)!=0}o=o+1|0}n=n+1|0}}case 1:{o=0;m=0;l=0;while(1){if((o|0)>=(e|0))break b;p=(o|0)==0;q=(o|0)==(s|0);n=s;while(1){if((n|0)<=-1)break;h=(n|0)==(s|0);if(!(p&h)?!(q&(h|(n|0)==0)):0){m=SO(m|0,l|0,1)|0;l=F()|0;m=m|(a[b+((B(n,e)|0)+o)>>0]|0)!=0}n=n+-1|0}o=o+1|0}}case 2:{n=s;m=0;l=0;while(1){if((n|0)<=-1)break b;q=(n|0)==(s|0)|(n|0)==0;p=B(n,e)|0;o=s;while(1){if((o|0)<=-1)break;if(!(q&(o|0)==(s|0)|(o|n|0)==0)){m=SO(m|0,l|0,1)|0;l=F()|0;m=m|(a[b+(o+p)>>0]|0)!=0}o=o+-1|0}n=n+-1|0}}case 3:{o=s;m=0;l=0;while(1){if((o|0)<=-1)break b;p=(o|0)==(s|0);q=(o|0)==0;n=0;while(1){if((n|0)>=(e|0))break;if(!(p&(n|0)==0|(n|o|0)==0|q&(n|0)==(s|0))){m=SO(m|0,l|0,1)|0;l=F()|0;m=m|(a[b+((B(n,e)|0)+o)>>0]|0)!=0}n=n+1|0}o=o+-1|0}}default:{m=0;l=0}}while(0);g[i>>3]=(r|0)>30?1.0:+(r|0)/30.0;switch(j|0){case 259:{k=a[240+m>>0]|0;s=k<<24>>24;j=t;c[j>>2]=s;c[j+4>>2]=((s|0)<0)<<31>>31;if(k<<24>>24<0){c[f>>2]=-1;g[i>>3]=-1.0;l=-4;break a}break}case 515:{l=a[112+m>>0]|0;s=l<<24>>24;j=t;c[j>>2]=s;c[j+4>>2]=((s|0)<0)<<31>>31;if(k|0)c[k>>2]=d[176+m>>0];if(l<<24>>24<0){c[f>>2]=-1;g[i>>3]=-1.0;l=-4;break a}break}case 772:case 1028:case 1029:case 1285:{l=kd(j,m,l,0,t)|0;if((l|0)<0){c[f>>2]=-1;g[i>>3]=-1.0;l=-4;break a}if((k|0)!=0&(l|0)!=0)c[k>>2]=l;break}default:{k=t;c[k>>2]=m;c[k+4>>2]=l}}c[f>>2]=c[t>>2];l=0}while(0);yb=u;return l|0}function jd(b,d,e,f,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0.0,w=0,x=0,y=0,z=0,A=0.0;z=yb;yb=yb+16|0;l=z+8|0;k=z;a:do if((b|0)==0|(f|0)<1){c[h>>2]=0;c[i>>2]=0;g[j>>3]=-1.0;d=-1}else switch(d|0){case 0:{x=B(f,f)|0;w=x*3|0;x=DO(x*12|0)|0;if(!x){Se(0,3,41858,k);Ea(1)}d=0;k=0;while(1){if((d|0)==(w|0))break;t=k+(~a[e+d>>0]&255)|0;d=d+1|0;k=t}l=(k>>>0)/(w>>>0)|0;d=0;k=0;while(1){if((k|0)==(w|0))break;t=(~a[e+k>>0]&255)-l|0;c[x+(k<<2)>>2]=t;d=(B(t,t)|0)+d|0;k=k+1|0}v=+u(+(+(d|0)));if(v/(+(f|0)*1.7320508)<15.0){c[h>>2]=0;c[i>>2]=0;g[j>>3]=-1.0;EO(x);d=-2;break a}r=c[b>>2]|0;s=b+8|0;t=b+12|0;q=b+16|0;m=0.0;p=0;d=-1;e=-1;k=-1;while(1){if((p|0)>=(r|0))break;l=c[s>>2]|0;b:while(1){d=d+1|0;switch(c[l+(d<<2)>>2]|0){case 0:break;case 2:{l=e;break b}default:{y=18;break b}}}c:do if((y|0)==18){y=0;o=d<<2;n=0;l=e;while(1){if((n|0)==4)break c;b=n+o|0;e=0;f=0;while(1){if((f|0)==(w|0))break;e=(B(c[(c[(c[t>>2]|0)+(b<<2)>>2]|0)+(f<<2)>>2]|0,c[x+(f<<2)>>2]|0)|0)+e|0;f=f+1|0}A=+(e|0)/+g[(c[q>>2]|0)+(b<<3)>>3]/v;f=A>m;b=f?n:k;n=n+1|0;m=f?A:m;l=f?d:l;k=b}}while(0);p=p+1|0;e=l}c[i>>2]=k;c[h>>2]=e;g[j>>3]=m;EO(x);d=0;break a}case 1:{w=B(f,f)|0;x=DO(w<<2)|0;if(!x){Se(0,3,41858,l);Ea(1)}d=0;k=0;while(1){if((k|0)==(w|0))break;d=d+(~a[e+k>>0]&255)|0;k=k+1|0}l=(d>>>0)/(w>>>0)|0;d=0;k=0;while(1){if((k|0)==(w|0))break;t=(~a[e+k>>0]&255)-l|0;c[x+(k<<2)>>2]=t;d=(B(t,t)|0)+d|0;k=k+1|0}v=+u(+(+(d|0)));if(v/+(f|0)<15.0){c[h>>2]=0;c[i>>2]=0;g[j>>3]=-1.0;EO(x);d=-2;break a}r=c[b>>2]|0;s=b+8|0;t=b+20|0;q=b+24|0;p=0;d=-1;m=0.0;e=-1;k=-1;while(1){if((p|0)>=(r|0))break;l=c[s>>2]|0;d:while(1){d=d+1|0;switch(c[l+(d<<2)>>2]|0){case 0:break;case 2:{l=e;break d}default:{y=40;break d}}}e:do if((y|0)==40){y=0;o=d<<2;n=0;l=e;while(1){if((n|0)==4)break e;b=n+o|0;e=0;f=0;while(1){if((f|0)==(w|0))break;e=(B(c[(c[(c[t>>2]|0)+(b<<2)>>2]|0)+(f<<2)>>2]|0,c[x+(f<<2)>>2]|0)|0)+e|0;f=f+1|0}A=+(e|0)/+g[(c[q>>2]|0)+(b<<3)>>3]/v;f=A>m;b=f?n:k;n=n+1|0;m=f?A:m;l=f?d:l;k=b}}while(0);p=p+1|0;e=l}c[i>>2]=k;c[h>>2]=e;g[j>>3]=m;EO(x);d=0;break a}default:{d=-1;break a}}while(0);yb=z;return d|0}function kd(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,G=0,H=0,I=0;I=yb;yb=yb+2384|0;l=I+2320|0;D=I+880|0;A=I+800|0;H=I+720|0;C=I+640|0;y=I+560|0;G=I+48|0;E=I;switch(b|0){case 2830:{l=g;u=1200;x=688;m=120;n=127;w=64;o=9;i=8;break}case 772:{j=624;k=432;m=13;n=15;b=9;o=1;i=5;break}case 1028:{j=624;k=432;m=13;n=15;b=5;o=2;i=5;break}case 1029:{b=12;g=2;i=4;break}case 1285:{b=7;g=3;i=4;break}default:b=-1}if((i|0)==4){j=496;k=304;m=22;n=31;o=g;i=5}a:do if((i|0)==5){i=0;g=f;while(1){if((i|0)==(m|0)){u=j;x=k;w=b;i=8;break a}a[l+i>>0]=e&1;x=RO(e|0,g|0,1)|0;i=i+1|0;e=x;g=F()|0}}while(0);b:do if((i|0)==8){t=o<<1;g=0;i=1;while(1){if((i|0)>(t|0))break;j=y+(i<<2)|0;c[j>>2]=0;e=0;b=0;while(1){if((e|0)>=(m|0))break;if(a[l+e>>0]|0){b=b^c[x+(((B(e,i)|0)%(n|0)|0)<<2)>>2];c[j>>2]=b}e=e+1|0}c[j>>2]=c[u+(b<<2)>>2];g=(b|0)==0?g:1;i=i+1|0}v=(g|0)!=0;c:do if(v){c[A>>2]=0;g=c[y+4>>2]|0;c[A+4>>2]=g;c[D>>2]=0;c[D+72>>2]=1;b=1;while(1){if((b|0)>=(t|0))break;c[D+(b<<2)>>2]=-1;c[D+72+(b<<2)>>2]=0;b=b+1|0}c[H>>2]=0;c[H+4>>2]=0;c[C>>2]=-1;c[C+4>>2]=0;s=0;r=0;while(1){f=s;s=s+1|0;d:do if((g|0)==-1){f=f+2|0;c[H+(f<<2)>>2]=r;b=0;while(1){if((b|0)>(r|0)){q=r;break d}q=D+(s*72|0)+(b<<2)|0;p=c[q>>2]|0;c[D+(f*72|0)+(b<<2)>>2]=p;c[q>>2]=c[u+(p<<2)>>2];b=b+1|0}}else{e=f;while(1){b=(e|0)>0;if(b&(c[A+(e<<2)>>2]|0)==-1)e=e+-1|0;else break}if(b){b=e;i=e;while(1){j=i;i=i+-1|0;if((c[A+(i<<2)>>2]|0)==-1)e=b;else e=(c[C+(b<<2)>>2]|0)<(c[C+(i<<2)>>2]|0)?i:b;if((j|0)<=1)break;else b=e}}i=H+(e<<2)|0;p=s-e|0;q=p+(c[i>>2]|0)|0;f=f+2|0;q=(r|0)>(q|0)?r:q;c[H+(f<<2)>>2]=q;b=0;while(1){if((b|0)>=(t|0))break;c[D+(f*72|0)+(b<<2)>>2]=0;b=b+1|0}j=g+n|0;k=A+(e<<2)|0;g=c[i>>2]|0;b=0;while(1){if((b|0)>(g|0))break;i=c[D+(e*72|0)+(b<<2)>>2]|0;if((i|0)!=-1)c[D+(f*72|0)+(p+b<<2)>>2]=c[x+(((j+i-(c[k>>2]|0)|0)%(n|0)|0)<<2)>>2];b=b+1|0}b=0;while(1){if((b|0)>(r|0))break d;p=D+(s*72|0)+(b<<2)|0;k=c[p>>2]|0;j=D+(f*72|0)+(b<<2)|0;c[j>>2]=c[j>>2]^k;c[p>>2]=c[u+(k<<2)>>2];b=b+1|0}}while(0);c[C+(f<<2)>>2]=s-q;if((s|0)>=(t|0))break;b=c[y+(f<<2)>>2]|0;if((b|0)==-1)b=0;else b=c[x+(b<<2)>>2]|0;i=A+(f<<2)|0;c[i>>2]=b;e=1;while(1){if((e|0)>(q|0))break;g=c[y+(f-e<<2)>>2]|0;if((g|0)!=-1?(z=c[D+(f*72|0)+(e<<2)>>2]|0,(z|0)!=0):0){b=b^c[x+((((c[u+(z<<2)>>2]|0)+g|0)%(n|0)|0)<<2)>>2];c[i>>2]=b}e=e+1|0}g=c[u+(b<<2)>>2]|0;c[i>>2]=g;if((q|0)>(o|0))break;else r=q}if((q|0)>(o|0)){b=-1;break b}b=0;while(1){if((b|0)>(q|0))break;C=D+(f*72|0)+(b<<2)|0;c[C>>2]=c[u+(c[C>>2]<<2)>>2];b=b+1|0}b=1;while(1){if((b|0)>(q|0))break;c[E+(b<<2)>>2]=c[D+(f*72|0)+(b<<2)>>2];b=b+1|0}b=0;k=1;while(1){if((n|0)<(k|0))break;j=1;g=1;while(1){if((j|0)>(q|0))break;e=E+(j<<2)|0;i=c[e>>2]|0;if((i|0)!=-1){D=(i+j|0)%(n|0)|0;c[e>>2]=D;g=c[x+(D<<2)>>2]^g}j=j+1|0}if(!g){c[G+(b<<2)>>2]=n-k;b=b+1|0}k=k+1|0}if((b|0)!=(q|0)){b=-1;break b}b=0;while(1){if((b|0)>=(q|0))break c;E=l+(c[G+(b<<2)>>2]|0)|0;a[E>>0]=a[E>>0]^1;b=b+1|0}}else f=0;while(0);b=h;c[b>>2]=0;c[b+4>>2]=0;b=m-w|0;g=1;e=0;i=0;j=0;while(1){if((b|0)>=(m|0))break;E=LO(g|0,e|0,d[l+b>>0]|0,0)|0;E=MO(E|0,F()|0,i|0,j|0)|0;G=F()|0;D=h;c[D>>2]=E;c[D+4>>2]=G;D=SO(g|0,e|0,1)|0;b=b+1|0;g=D;e=F()|0;i=E;j=G}if(v)b=c[H+(f<<2)>>2]|0;else b=0}while(0);yb=I;return b|0}function ld(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;f=Bd(8,8)|0;h=Bd(8,1)|0;i=Bd(8,1)|0;e=0;while(1){if((e|0)==4)break;o=a+(e<<4)|0;j=c[f>>2]|0;k=e<<4;g[j+(k<<3)>>3]=+g[o>>3];n=a+(e<<4)+8|0;g[j+((k|1)<<3)>>3]=+g[n>>3];g[j+((k|2)<<3)>>3]=1.0;g[j+((k|3)<<3)>>3]=0.0;g[j+((k|4)<<3)>>3]=0.0;g[j+((k|5)<<3)>>3]=0.0;m=b+(e<<4)|0;g[j+((k|6)<<3)>>3]=-(+g[o>>3]*+g[m>>3]);g[j+((k|7)<<3)>>3]=-(+g[n>>3]*+g[m>>3]);g[j+((k|8)<<3)>>3]=0.0;g[j+((k|9)<<3)>>3]=0.0;g[j+((k|10)<<3)>>3]=0.0;g[j+((k|11)<<3)>>3]=+g[o>>3];g[j+((k|12)<<3)>>3]=+g[n>>3];g[j+((k|13)<<3)>>3]=1.0;l=b+(e<<4)+8|0;g[j+((k|14)<<3)>>3]=-(+g[o>>3]*+g[l>>3]);g[j+((k|15)<<3)>>3]=-(+g[n>>3]*+g[l>>3]);k=c[h>>2]|0;j=e<<1;g[k+(j<<3)>>3]=+g[m>>3];g[k+((j|1)<<3)>>3]=+g[l>>3];e=e+1|0}Vd(f)|0;Ld(i,f,h)|0;a=c[i>>2]|0;e=0;while(1){if((e|0)==2)break;o=e*3|0;g[d+(e*24|0)>>3]=+g[a+(o<<3)>>3];g[d+(e*24|0)+8>>3]=+g[a+(o+1<<3)>>3];g[d+(e*24|0)+16>>3]=+g[a+(o+2<<3)>>3];e=e+1|0}g[d+48>>3]=+g[a+48>>3];g[d+56>>3]=+g[a+56>>3];g[d+64>>3]=1.0;Jd(f)|0;Jd(h)|0;Jd(i)|0;return}function md(a,b,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=+k;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;t=t|0;var u=0,v=0,w=0;w=yb;yb=yb+12304|0;v=w;u=w+12288|0;do if((d+-2|0)>>>0<3){if((r|0)!=2830){u=r&255;if((nd(b,2,u,u*3|0,e,f,g,h,i,j,k,v)|0)<0){c[o>>2]=-1;r=-6;break}u=id(v,u,o,p,q,r,s)|0;if(!t){r=u;break}r=t;c[r>>2]=0;c[r+4>>2]=0;r=u;break}if((nd(b,2,14,42,e,f,g,h,i,j,.875,v)|0)<0){c[o>>2]=-1;r=-6;break}r=od(v,u,p,q,s)|0;if((r|0)<0){c[o>>2]=-1;break}p=u;u=c[p>>2]|0;p=c[p+4>>2]|0;if((u|0)==-1&(p|0)==-1){c[o>>2]=-1;r=-5;break}c[o>>2]=(u&-32768|0)==0&0==0?u&32767:0;if(t){c[t>>2]=u;c[t+4>>2]=p}}else r=1;while(0);a:do switch(d|0){case 0:case 1:case 3:case 4:{if(!a){c[l>>2]=-1;u=-1;break a}u=a+28|0;p=c[u>>2]|0;q=p<<2;switch(d|0){case 0:case 3:if((nd(b,0,p,q,e,f,g,h,i,j,k,v)|0)<0){c[l>>2]=-1;u=-6;break a}else{u=jd(a,0,v,c[u>>2]|0,l,m,n)|0;break a}default:if((nd(b,1,p,q,e,f,g,h,i,j,k,v)|0)<0){c[l>>2]=-1;u=-6;break a}else{u=jd(a,1,v,c[u>>2]|0,l,m,n)|0;break a}}}default:u=1}while(0);if((r|0)!=1)u=(u|0)==1?r:(u&r|0)<0?u:0;yb=w;return u|0}function nd(b,e,h,i,j,k,l,m,n,o,p,q){b=b|0;e=e|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=+p;q=q|0;var r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0.0,T=0.0,U=0.0,V=0.0,W=0,X=0;R=yb;yb=yb+256|0;A=R+232|0;z=R+224|0;D=R+216|0;C=R+208|0;s=R+144|0;t=R+80|0;N=R;O=R+240|0;P=R+236|0;g[s>>3]=100.0;g[s+8>>3]=100.0;g[s+16>>3]=110.0;g[s+24>>3]=100.0;g[s+32>>3]=110.0;g[s+40>>3]=110.0;g[s+48>>3]=100.0;g[s+56>>3]=110.0;r=0;while(1){if((r|0)==4)break;g[t+(r<<4)>>3]=+g[o+(r<<4)>>3];g[t+(r<<4)+8>>3]=+g[o+(r<<4)+8>>3];r=r+1|0}ld(s,t,N);y=+g[t>>3];T=+g[t+16>>3];w=y-T;I=+g[t+8>>3];S=+g[t+24>>3];u=I-S;r=~~(w*w+u*u);u=+g[t+32>>3];w=+g[t+48>>3];V=u-w;v=+g[t+40>>3];x=+g[t+56>>3];U=v-x;L=~~(V*V+U*U);u=T-u;v=S-v;t=~~(u*u+v*v);y=w-y;I=x-I;M=~~(y*y+I*I);r=~~(+(((L|0)>(r|0)?L:r)|0)*p*p);t=~~(+(((M|0)>(t|0)?M:t)|0)*p*p);if(!b){s=h;while(1)if((s|0)<(i|0)&(B(s,s)|0)<(r|0))s=s<<1;else break;r=h;while(1)if((r|0)<(i|0)&(B(r,r)|0)<(t|0))r=r<<1;else break}else{s=h;while(1)if((s|0)<(i|0)&(B(s<<2,s)|0)<(r|0))s=s<<1;else break;r=h;while(1)if((r|0)<(i|0)&(B(r<<2,r)|0)<(t|0))r=r<<1;else break}M=(s|0)>(i|0)?i:s;J=(r|0)>(i|0)?i:r;K=(M|0)/(h|0)|0;L=(J|0)/(h|0)|0;u=(1.0-p)*.5*10.0;I=p*10.0;H=B(h,h)|0;a:do if(!e){H=H*3|0;r=FO(H,4)|0;if(!r){Se(0,3,41858,C);Ea(1)}b:do switch(m|0){case 0:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=((B(t,k)|0)+s|0)*3|0;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t+2)>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t+1)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+t>>0]|0)}i=i+1|0}o=o+1|0}}case 1:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=((B(t,k)|0)+s|0)*3|0;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+t>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t+1)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+(t+2)>>0]|0)}i=i+1|0}o=o+1|0}}case 2:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=(B(t,k)|0)+s<<2;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|2)>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|1)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+t>>0]|0)}i=i+1|0}o=o+1|0}}case 3:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=(B(t,k)|0)+s<<2;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+t>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|1)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+(t|2)>>0]|0)}i=i+1|0}o=o+1|0}}case 4:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=(B(t,k)|0)+s<<2;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|1)>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|2)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+(t|3)>>0]|0)}i=i+1|0}o=o+1|0}}case 5:case 12:case 13:case 14:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=d[j+((B(t,k)|0)+s)>>0]|0;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+t;s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+t;b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+t}i=i+1|0}o=o+1|0}}case 6:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=(B(t,k)|0)+s<<2;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|3)>>0]|0);s=r+(b+1<<2)|0;c[s>>2]=(c[s>>2]|0)+(d[j+(t|2)>>0]|0);b=r+(b+2<<2)|0;c[b>>2]=(c[b>>2]|0)+(d[j+(t|1)>>0]|0)}i=i+1|0}o=o+1|0}}case 7:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){X=B(t,k)|0;W=(s&65534)+X<<1;T=+((d[j+W>>0]|0)+-128|0);V=+((d[j+(W+2)>>0]|0)+-128|0);U=+((d[j+(X+s<<1|1)>>0]|0)+-16|0)*298.0820007324219;X=~~(T*516.4110107421875+U)>>8;W=~~(U-T*100.29100036621094-V*208.1199951171875)>>8;t=~~(U+V*408.5830078125)>>8;X=(X|0)>0?X:0;b=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;s=r+(b<<2)|0;c[s>>2]=((X|0)<255?X:255)+(c[s>>2]|0);W=(W|0)>0?W:0;s=r+(b+1<<2)|0;c[s>>2]=((W|0)<255?W:255)+(c[s>>2]|0);t=(t|0)>0?t:0;b=r+(b+2<<2)|0;c[b>>2]=((t|0)<255?t:255)+(c[b>>2]|0)}i=i+1|0}o=o+1|0}}case 8:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){t=B(t,k)|0;W=(s&65534)+t<<1;T=+((d[j+(W|1)>>0]|0)+-128|0);V=+((d[j+(W+3)>>0]|0)+-128|0);U=+((d[j+(t+s<<1)>>0]|0)+-16|0)*298.0820007324219;s=~~(U+T*516.4110107421875)>>8;t=~~(U-T*100.29100036621094-V*208.1199951171875)>>8;W=~~(U+V*408.5830078125)>>8;s=(s|0)>0?s:0;X=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;b=r+(X<<2)|0;c[b>>2]=((s|0)<255?s:255)+(c[b>>2]|0);t=(t|0)>0?t:0;b=r+(X+1<<2)|0;c[b>>2]=((t|0)<255?t:255)+(c[b>>2]|0);W=(W|0)>0?W:0;X=r+(X+2<<2)|0;c[X>>2]=((W|0)<255?W:255)+(c[X>>2]|0)}i=i+1|0}o=o+1|0}}case 9:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;i=0;while(1){if((i|0)>=(J|0))break b;v=w+I*(+(i|0)+.5)/x;o=0;while(1){if((o|0)>=(M|0))break;u=w+I*(+(o|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;t=a[j+(W|1)>>0]|0;X=((B((i|0)/(L|0)|0,h)|0)+((o|0)/(K|0)|0)|0)*3|0;b=r+(X<<2)|0;c[b>>2]=(c[b>>2]|0)+((t<<3&255|4)&255);W=a[j+W>>0]|0;b=r+(X+1<<2)|0;c[b>>2]=((t&-32&255)>>>3|W<<5&255|2)+(c[b>>2]|0);X=r+(X+2<<2)|0;c[X>>2]=(c[X>>2]|0)+((W&-8|4)&255)}o=o+1|0}i=i+1|0}}case 10:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;t=a[j+(W|1)>>0]|0;X=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;b=r+(X<<2)|0;c[b>>2]=(c[b>>2]|0)+((t<<2&255|4)&255);W=a[j+W>>0]|0;b=r+(X+1<<2)|0;c[b>>2]=((t&-64&255)>>>3|W<<5&255|4)+(c[b>>2]|0);X=r+(X+2<<2)|0;c[X>>2]=(c[X>>2]|0)+((W&-8|4)&255)}i=i+1|0}o=o+1|0}}case 11:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break b;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;X=((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)|0)*3|0;b=r+(X<<2)|0;c[b>>2]=(c[b>>2]|0)+((a[j+(W|1)>>0]&-16|8)&255);W=a[j+W>>0]|0;b=r+(X+1<<2)|0;c[b>>2]=(c[b>>2]|0)+((W<<4&255|8)&255);X=r+(X+2<<2)|0;c[X>>2]=(c[X>>2]|0)+((W&-16|8)&255)}i=i+1|0}o=o+1|0}}default:{Se(0,3,20166,D);Q=306;break a}}while(0);t=B(L,K)|0;s=0;while(1){if((s|0)==(H|0))break;a[q+s>>0]=((c[r+(s<<2)>>2]|0)>>>0)/(t>>>0)|0;s=s+1|0}EO(r);r=0}else{r=FO(H,4)|0;if(!r){Se(0,3,41858,z);Ea(1)}c:do if(m>>>0<2){w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=((B(t,k)|0)+s|0)*3|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+((((d[j+(W+1)>>0]|0)+(d[j+W>>0]|0)+(d[j+(W+2)>>0]|0)|0)>>>0)/3|0)}i=i+1|0}o=o+1|0}}else{if((m|1|0)==3){w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<2;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+((((d[j+(W|1)>>0]|0)+(d[j+W>>0]|0)+(d[j+(W|2)>>0]|0)|0)>>>0)/3|0)}i=i+1|0}o=o+1|0}}if((m|2|0)==6){w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<2;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+((((d[j+(W|2)>>0]|0)+(d[j+(W|1)>>0]|0)+(d[j+(W|3)>>0]|0)|0)>>>0)/3|0)}i=i+1|0}o=o+1|0}}switch(m|0){case 5:case 12:case 13:case 14:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=d[j+((B(t,k)|0)+s)>>0]|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+W}i=i+1|0}o=o+1|0}}case 7:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=d[j+((B(t,k)|0)+s<<1|1)>>0]|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+W}i=i+1|0}o=o+1|0}}case 8:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=d[j+((B(t,k)|0)+s<<1)>>0]|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=(c[X>>2]|0)+W}i=i+1|0}o=o+1|0}}case 9:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;b=d[j+W>>0]|0;W=d[j+(W|1)>>0]|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=((((b<<5&224|W>>>3&28|2)+(b&248|4)+(W<<3&248|4)|0)>>>0)/3|0)+(c[X>>2]|0)}i=i+1|0}o=o+1|0}}case 10:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;b=d[j+W>>0]|0;W=d[j+(W|1)>>0]|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=((((b<<5&224|W>>>3&24|4)+(b&248|4)+(W<<2&248|4)|0)>>>0)/3|0)+(c[X>>2]|0)}i=i+1|0}o=o+1|0}}case 11:{w=u+100.0;x=+(J|0);y=+(M|0);z=N+48|0;A=N+56|0;C=N+64|0;D=N+8|0;m=N+16|0;E=N+24|0;F=N+32|0;G=N+40|0;e=(b|0)==1;o=0;while(1){if((o|0)>=(J|0))break c;v=w+I*(+(o|0)+.5)/x;i=0;while(1){if((i|0)>=(M|0))break;u=w+I*(+(i|0)+.5)/y;p=+g[C>>3]+(u*+g[z>>3]+v*+g[A>>3]);if(p==0.0){Q=306;break a}V=(+g[m>>3]+(u*+g[N>>3]+v*+g[D>>3]))/p;f[O>>2]=V;u=(+g[G>>3]+(u*+g[E>>3]+v*+g[F>>3]))/p;f[P>>2]=u;me(n,V,u,O,P)|0;u=+f[O>>2];if(e){s=((~~(u+1.0)|0)/2|0)<<1;t=((~~(+f[P>>2]+1.0)|0)/2|0)<<1}else{s=~~(u+.5);t=~~(+f[P>>2]+.5)}if((s|0)>-1?(t|0)<(l|0)&((t|0)>-1&(s|0)<(k|0)):0){W=(B(t,k)|0)+s<<1;b=d[j+W>>0]|0;X=r+((B((o|0)/(L|0)|0,h)|0)+((i|0)/(K|0)|0)<<2)|0;c[X>>2]=((((b<<4&240|8)+(b&240|8)+((a[j+(W|1)>>0]&-16|8)&255)|0)>>>0)/3|0)+(c[X>>2]|0)}i=i+1|0}o=o+1|0}}default:{Se(0,3,20166,A);Q=306;break a}}}while(0);t=B(L,K)|0;s=0;while(1){if((s|0)==(H|0))break;a[q+s>>0]=((c[r+(s<<2)>>2]|0)>>>0)/(t>>>0)|0;s=s+1|0}EO(r);r=0}while(0);if((Q|0)==306){EO(r);r=-1}yb=R;return r|0}function od(b,e,f,h,i){b=b|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=yb;yb=yb+160|0;o=y+152|0;n=y+128|0;x=y+144|0;w=y;c[n>>2]=0;c[n+4>>2]=182;c[n+8>>2]=195;c[n+12>>2]=13;j=0;l=0;m=-1;while(1){if((j|0)==4)break;v=a[b+(c[n+(j<<2)>>2]|0)>>0]|0;j=j+1|0;l=(v&255)>(l&255)?v:l;m=(v&255)<(m&255)?v:m}l=l&255;j=m&255;a:do if((l-j|0)>=30){v=(l+j|0)>>>1;j=0;while(1){if((j|0)==4)break;a[o+j>>0]=v>>>0>(d[b+(c[n+(j<<2)>>2]|0)>>0]|0)>>>0&1;j=j+1|0}u=0;while(1){if(u>>>0>=4)break;j=u+1|0;if(((a[o+u>>0]|0)==1?(a[o+(j&3)>>0]|0)==1:0)?(a[o+(u+2&3)>>0]|0)==0:0)break;u=j}b:do switch(u&2147483647|0){case 4:{c[f>>2]=0;g[h>>3]=-1.0;j=-3;break a}case 0:{l=119;n=0;j=255;while(1){if((n|0)==14){p=57;break b}o=n+-3|0;p=(n&2147483646|0)==12;q=n*14|0;m=0;while(1){if((m|0)==14)break;if(((m+-3|o)>>>0>=8?(r=m&2147483646,((m|n)&2147483646|0)!=0):0)?!(p&((r|0)==0|(r|0)==12)):0){t=(d[b+(m+q)>>0]|0)-v|0;a[w+l>>0]=t>>>31;t=(t|0)>-1?t:0-t|0;l=l+-1|0;j=(t|0)<(j|0)?t:j}m=m+1|0}n=n+1|0}}case 1:{l=119;j=255;n=0;while(1){if((n|0)==14){p=57;break b}o=n+-3|0;q=n&2147483646;p=(q|0)==0;q=(q|0)==12;m=13;while(1){if((m|0)<=-1)break;if(((m+-3|o)>>>0>=8?(s=(m&-2|0)==12,!(p&s)):0)?!(q&(m>>>0<2|s)):0){t=(d[b+((m*14|0)+n)>>0]|0)-v|0;a[w+l>>0]=t>>>31;t=(t|0)>-1?t:0-t|0;l=l+-1|0;j=(t|0)<(j|0)?t:j}m=m+-1|0}n=n+1|0}}case 2:{m=13;l=119;j=255;while(1){if((m|0)<=-1){p=57;break b}n=m+-3|0;q=m>>>0<2|(m&-2|0)==12;p=m*14|0;o=13;while(1){if((o|0)<=-1)break;if((o+-3|n)>>>0>=8?!((o|m)>>>0<2|q&(o&-2|0)==12):0){t=(d[b+(o+p)>>0]|0)-v|0;a[w+l>>0]=t>>>31;t=(t|0)>-1?t:0-t|0;l=l+-1|0;j=(t|0)<(j|0)?t:j}o=o+-1|0}m=m+-1|0}}case 3:{n=13;l=119;j=255;while(1){if((n|0)<=-1){p=57;break b}o=n+-3|0;p=n&-2;q=(p|0)==12;r=(p|0)==0;m=0;while(1){if((m|0)==14)break;if(((m+-3|o)>>>0>=8?(t=m&2147483646,!(q&(t|0)==0)):0)?!((t|p|0)==0|r&(t|0)==12):0){s=(d[b+((m*14|0)+n)>>0]|0)-v|0;a[w+l>>0]=s>>>31;s=(s|0)>-1?s:0-s|0;l=l+-1|0;j=(s|0)<(j|0)?s:j}m=m+1|0}n=n+-1|0}}default:{c[f>>2]=u;k=1.0}}while(0);if((p|0)==57){c[f>>2]=u;k=(j|0)>30?1.0:+(j|0)/30.0}g[h>>3]=k;j=kd(2830,0,0,w,x)|0;if((j|0)<0)j=-4;else{if(i|0)c[i>>2]=j;i=x;x=c[i+4>>2]|0;j=e;c[j>>2]=c[i>>2];c[j+4>>2]=x;j=0}}else{c[f>>2]=0;g[h>>3]=-1.0;j=-2}while(0);yb=y;return j|0}function pd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0.0;A=yb;yb=yb+32|0;z=A+24|0;f=A+16|0;d=A+8|0;do if(a){if(!b){Se(0,3,20225,d);d=-1;break}y=a+8|0;e=c[a+4>>2]|0;d=0;while(1){if((d|0)>=(e|0))break;if(!(c[(c[y>>2]|0)+(d<<2)>>2]|0))break;d=d+1|0}if((d|0)!=(e|0)){x=hz(b)|0;if(!x){Se(0,3,20270,f);d=-1;break}p=a+28|0;q=a+12|0;r=d<<2;s=a+20|0;t=a+16|0;v=a+24|0;e=rA(x,20293)|0;o=0;a:while(1){if(o>>>0>=4){e=36;break}w=o+r|0;b=0;n=0;while(1){if(n>>>0>=3)break;l=(n|0)==0;m=(n|0)==2;k=0;f=c[p>>2]|0;while(1){if((k|0)>=(f|0))break;j=0;while(1){if((j|0)>=(f|0))break;if(!e){e=21;break a}f=jA(e)|0;e=rA(0,20293)|0;f=255-f|0;c[(c[(c[q>>2]|0)+(w<<2)>>2]|0)+((((B(c[p>>2]|0,k)|0)+j|0)*3|0)+n<<2)>>2]=f;h=c[(c[s>>2]|0)+(w<<2)>>2]|0;i=h+((B(c[p>>2]|0,k)|0)+j<<2)|0;if(!l){c[i>>2]=(c[i>>2]|0)+f;if(m){i=h+((B(c[p>>2]|0,k)|0)+j<<2)|0;c[i>>2]=(c[i>>2]|0)/3|0}}else c[i>>2]=f;j=j+1|0;b=f+b|0;f=c[p>>2]|0}k=k+1|0}n=n+1|0}i=c[p>>2]|0;j=(b|0)/(B(i*3|0,i)|0)|0;b=0;f=0;while(1){if(f>>>0>=(B(i*3|0,i)|0)>>>0)break;n=(c[(c[q>>2]|0)+(w<<2)>>2]|0)+(f<<2)|0;i=(c[n>>2]|0)-j|0;c[n>>2]=i;i=(B(i,i)|0)+b|0;b=i;f=f+1|0;i=c[p>>2]|0}C=+u(+(+(b|0)));g[(c[t>>2]|0)+(w<<3)>>3]=C==0.0?1.0e-07:C;f=0;h=0;b=i;while(1){if(h>>>0>=(B(b,b)|0)>>>0)break;n=(c[(c[s>>2]|0)+(w<<2)>>2]|0)+(h<<2)|0;b=(c[n>>2]|0)-j|0;c[n>>2]=b;b=(B(b,b)|0)+f|0;f=b;h=h+1|0;b=c[p>>2]|0}C=+u(+(+(f|0)));g[(c[v>>2]|0)+(w<<3)>>3]=C==0.0?1.0e-07:C;o=o+1|0}if((e|0)==21){Se(0,3,20298,z);EO(x);d=-1;break}else if((e|0)==36){EO(x);c[(c[y>>2]|0)+(d<<2)>>2]=1;c[a>>2]=(c[a>>2]|0)+1;break}}else d=-1}else{Se(0,3,20200,A);d=-1}while(0);yb=A;return d|0} +function rw(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0;Pa=yb;yb=yb+256|0;ga=Pa;Na=f+440|0;Oa=f+464|0;oa=f+24|0;ua=f+232|0;va=f+248|0;wa=f+264|0;pa=f+280|0;qa=f+40|0;ra=f+304|0;sa=f+308|0;ta=f+284|0;ha=f+288|0;ia=f+289|0;ja=f+290|0;ka=f+292|0;la=f+294|0;ma=f+296|0;na=f+300|0;Ja=f+36|0;Ka=f+216|0;g=c[Na>>2]|0;a:while(1){do if(!g){if(c[(c[Oa>>2]|0)+12>>2]|0){if(!(ow(f)|0)){xa=0;Aa=350;break a}g=c[Na>>2]|0;break}m=c[oa>>2]|0;n=m+4|0;g=c[n>>2]|0;if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0}k=c[m>>2]|0;g=g+-1|0;h=k+1|0;k=a[k>>0]|0;l=k&255;if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}j=c[n>>2]|0;h=c[m>>2]|0}else j=g;V=a[h>>0]|0;g=V&255;if(k<<24>>24!=-1|V<<24>>24!=-40){V=c[f>>2]|0;c[V+20>>2]=55;c[V+24>>2]=l;c[(c[f>>2]|0)+28>>2]=g;Qb[c[c[f>>2]>>2]&255](f)}c[Na>>2]=g;c[m>>2]=h+1;c[n>>2]=j+-1}while(0);do switch(g|0){case 218:{Aa=25;break a}case 217:{Aa=75;break a}case 216:{g=c[f>>2]|0;c[g+20>>2]=104;Sb[c[g+4>>2]&63](f,1);g=(c[Oa>>2]|0)+12|0;if(c[g>>2]|0){g=c[f>>2]|0;c[g+20>>2]=64;Qb[c[g>>2]&255](f);g=(c[Oa>>2]|0)+12|0}h=ua;j=h+16|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(j|0));h=va;j=h+16|0;do{a[h>>0]=1;h=h+1|0}while((h|0)<(j|0));h=wa;j=h+16|0;do{a[h>>0]=5;h=h+1|0}while((h|0)<(j|0));c[pa>>2]=0;c[qa>>2]=0;c[ra>>2]=0;c[sa>>2]=0;c[ta>>2]=0;a[ha>>0]=1;a[ia>>0]=1;a[ja>>0]=0;b[ka>>1]=1;b[la>>1]=1;c[ma>>2]=0;a[na>>0]=0;c[g>>2]=1;break}case 192:{if(!(ww(f,1,0,0)|0)){xa=0;Aa=350;break a}break}case 193:{if(!(ww(f,0,0,0)|0)){xa=0;Aa=350;break a}break}case 194:{if(!(ww(f,0,1,0)|0)){xa=0;Aa=350;break a}break}case 201:{if(!(ww(f,0,0,1)|0)){xa=0;Aa=350;break a}break}case 202:{if(!(ww(f,0,1,1)|0)){xa=0;Aa=350;break a}break}case 207:case 206:case 205:case 203:case 200:case 199:case 198:case 197:case 195:{V=c[f>>2]|0;c[V+20>>2]=63;c[V+24>>2]=g;Qb[c[c[f>>2]>>2]&255](f);break}case 204:{p=c[oa>>2]|0;q=p+4|0;g=c[q>>2]|0;if(!g){if(!(Eb[c[p+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[q>>2]|0}j=c[p>>2]|0;g=g+-1|0;h=j+1|0;j=d[j>>0]<<8;if(!g){if(!(Eb[c[p+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[q>>2]|0;h=c[p>>2]|0}V=j|d[h>>0];j=V+-2|0;k=g+-1|0;g=h+1|0;if(V>>>0>2){o=p+12|0;n=j;h=k;while(1){if(!h){if(!(Eb[c[o>>2]&127](f)|0)){xa=0;Aa=350;break a}h=c[q>>2]|0;g=c[p>>2]|0}h=h+-1|0;j=g+1|0;l=a[g>>0]|0;m=l&255;if(!h){if(!(Eb[c[o>>2]&127](f)|0)){xa=0;Aa=350;break a}h=c[q>>2]|0;k=c[p>>2]|0}else k=j;g=a[k>>0]|0;j=g&255;V=c[f>>2]|0;c[V+20>>2]=81;c[V+24>>2]=m;c[(c[f>>2]|0)+28>>2]=j;Sb[c[(c[f>>2]|0)+4>>2]&63](f,1);if((l&255)<=31)if((l&255)<=15){U=j&15;a[f+232+m>>0]=U;V=(g&255)>>>4;a[f+248+m>>0]=V;if(U>>>0>(V&255)>>>0){V=c[f>>2]|0;c[V+20>>2]=30;c[V+24>>2]=j;Qb[c[c[f>>2]>>2]&255](f)}}else Aa=93;else{Aa=c[f>>2]|0;c[Aa+20>>2]=29;c[Aa+24>>2]=m;Qb[c[c[f>>2]>>2]&255](f);Aa=93}if((Aa|0)==93){Aa=0;a[m+-16+(f+264)>>0]=g}j=n+-2|0;h=h+-1|0;g=k+1|0;if((n|0)>2)n=j;else break}}else h=k;if(j|0){V=c[f>>2]|0;c[V+20>>2]=12;Qb[c[V>>2]&255](f)}c[p>>2]=g;c[q>>2]=h;break}case 196:{U=c[oa>>2]|0;V=U+4|0;g=c[V>>2]|0;if(!g){if(!(Eb[c[U+12>>2]&127](f)|0)){Aa=174;break a}g=c[V>>2]|0}k=c[U>>2]|0;g=g+-1|0;h=k+1|0;k=d[k>>0]<<8;if(!g){if(!(Eb[c[U+12>>2]&127](f)|0)){Aa=174;break a}g=c[V>>2]|0;j=c[U>>2]|0}else j=h;h=g+-1|0;g=j+1|0;T=k|d[j>>0];j=T+-2|0;if(T>>>0>18){T=U+12|0;do{if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}S=d[g>>0]|0;R=c[f>>2]|0;c[R+20>>2]=82;c[R+24>>2]=S;Sb[c[(c[f>>2]|0)+4>>2]&63](f,1);h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}R=a[g>>0]|0;N=R&255;h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}Q=a[g>>0]|0;L=Q&255;k=L+N|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}P=a[g>>0]|0;K=P&255;k=k+K|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}O=a[g>>0]|0;I=O&255;k=k+I|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}M=a[g>>0]|0;G=M&255;k=k+G|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}J=a[g>>0]|0;E=J&255;k=k+E|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}H=a[g>>0]|0;C=H&255;k=k+C|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}F=a[g>>0]|0;A=F&255;k=k+A|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}D=a[g>>0]|0;y=D&255;k=k+y|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}B=a[g>>0]|0;w=B&255;k=k+w|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}z=a[g>>0]|0;u=z&255;k=k+u|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}x=a[g>>0]|0;s=x&255;k=k+s|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}v=a[g>>0]|0;q=v&255;k=k+q|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}t=a[g>>0]|0;o=t&255;k=k+o|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}r=a[g>>0]|0;l=r&255;k=k+l|0;h=h+-1|0;g=g+1|0;if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}p=a[g>>0]|0;Qa=p&255;n=k+Qa|0;h=h+-1|0;g=g+1|0;m=j+-17|0;k=c[f>>2]|0;c[k+24>>2]=N;c[k+28>>2]=L;c[k+32>>2]=K;c[k+36>>2]=I;c[k+40>>2]=G;c[k+44>>2]=E;c[k+48>>2]=C;c[k+52>>2]=A;c[k+20>>2]=88;Sb[c[k+4>>2]&63](f,2);N=c[f>>2]|0;c[N+24>>2]=y;c[N+28>>2]=w;c[N+32>>2]=u;c[N+36>>2]=s;c[N+40>>2]=q;c[N+44>>2]=o;c[N+48>>2]=l;c[N+52>>2]=Qa;c[N+20>>2]=88;Sb[c[N+4>>2]&63](f,2);if(n>>>0>256|(m|0)<(n|0)){Qa=c[f>>2]|0;c[Qa+20>>2]=9;Qb[c[Qa>>2]&255](f)}_O(ga|0,0,256)|0;if(!n)j=0;else{k=0;while(1){if(!h){if(!(Eb[c[T>>2]&127](f)|0)){Aa=174;break a}h=c[V>>2]|0;g=c[U>>2]|0}h=h+-1|0;j=g+1|0;a[ga+k>>0]=a[g>>0]|0;k=k+1|0;if(k>>>0>=n>>>0){g=j;j=n;break}else g=j}}j=m-j|0;Qa=(S&16|0)==0;l=S+-16|0;k=Qa?S:l;l=Qa?f+180+(S<<2)|0:f+196+(l<<2)|0;if(k>>>0>3){Qa=c[f>>2]|0;c[Qa+20>>2]=31;c[Qa+24>>2]=k;Qb[c[c[f>>2]>>2]&255](f)}k=c[l>>2]|0;if(!k){k=hw(f)|0;c[l>>2]=k}a[k>>0]=0;a[k+1>>0]=R;a[k+2>>0]=Q;a[k+3>>0]=P;a[k+4>>0]=O;a[k+5>>0]=M;a[k+6>>0]=J;a[k+7>>0]=H;a[k+8>>0]=F;a[k+9>>0]=D;a[k+10>>0]=B;a[k+11>>0]=z;a[k+12>>0]=x;a[k+13>>0]=v;a[k+14>>0]=t;a[k+15>>0]=r;a[k+16>>0]=p;YO((c[l>>2]|0)+17|0,ga|0,256)|0}while((j|0)>16)}if(j|0){Qa=c[f>>2]|0;c[Qa+20>>2]=12;Qb[c[Qa>>2]&255](f)}c[U>>2]=g;c[V>>2]=h;break}case 219:{q=c[oa>>2]|0;r=q+4|0;g=c[r>>2]|0;if(!g){if(!(Eb[c[q+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[r>>2]|0}l=c[q>>2]|0;g=g+-1|0;h=l+1|0;l=d[l>>0]<<8;if(!g){if(!(Eb[c[q+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[r>>2]|0;k=c[q>>2]|0}else k=h;j=g+-1|0;h=k+1|0;Qa=l|d[k>>0];g=Qa+-2|0;if(Qa>>>0>2){p=q+12|0;while(1){o=g+-1|0;if(!j){if(!(Eb[c[p>>2]&127](f)|0)){xa=0;Aa=350;break a}j=c[r>>2]|0;h=c[q>>2]|0}k=d[h>>0]|0;m=k>>>4;k=k&15;Qa=c[f>>2]|0;c[Qa+20>>2]=83;c[Qa+24>>2]=k;c[(c[f>>2]|0)+28>>2]=m;Sb[c[(c[f>>2]|0)+4>>2]&63](f,1);if(k>>>0>3){Qa=c[f>>2]|0;c[Qa+20>>2]=32;c[Qa+24>>2]=k;Qb[c[c[f>>2]>>2]&255](f)}k=f+164+(k<<2)|0;l=c[k>>2]|0;if(!l){l=xw(f)|0;c[k>>2]=l}n=(m|0)!=0;if(n)if((g|0)<129){b[l>>1]=1;b[l+2>>1]=1;b[l+4>>1]=1;b[l+6>>1]=1;b[l+8>>1]=1;b[l+10>>1]=1;b[l+12>>1]=1;b[l+14>>1]=1;b[l+16>>1]=1;b[l+18>>1]=1;b[l+20>>1]=1;b[l+22>>1]=1;b[l+24>>1]=1;b[l+26>>1]=1;b[l+28>>1]=1;b[l+30>>1]=1;b[l+32>>1]=1;b[l+34>>1]=1;b[l+36>>1]=1;b[l+38>>1]=1;b[l+40>>1]=1;b[l+42>>1]=1;b[l+44>>1]=1;b[l+46>>1]=1;b[l+48>>1]=1;b[l+50>>1]=1;b[l+52>>1]=1;b[l+54>>1]=1;b[l+56>>1]=1;b[l+58>>1]=1;b[l+60>>1]=1;b[l+62>>1]=1;b[l+64>>1]=1;b[l+66>>1]=1;b[l+68>>1]=1;b[l+70>>1]=1;b[l+72>>1]=1;b[l+74>>1]=1;b[l+76>>1]=1;b[l+78>>1]=1;b[l+80>>1]=1;b[l+82>>1]=1;b[l+84>>1]=1;b[l+86>>1]=1;b[l+88>>1]=1;b[l+90>>1]=1;b[l+92>>1]=1;b[l+94>>1]=1;b[l+96>>1]=1;b[l+98>>1]=1;b[l+100>>1]=1;b[l+102>>1]=1;b[l+104>>1]=1;b[l+106>>1]=1;b[l+108>>1]=1;b[l+110>>1]=1;b[l+112>>1]=1;b[l+114>>1]=1;b[l+116>>1]=1;b[l+118>>1]=1;b[l+120>>1]=1;b[l+122>>1]=1;b[l+124>>1]=1;b[l+126>>1]=1;ba=o>>1;Aa=196}else Aa=203;else if((g|0)<65){b[l>>1]=1;b[l+2>>1]=1;b[l+4>>1]=1;b[l+6>>1]=1;b[l+8>>1]=1;b[l+10>>1]=1;b[l+12>>1]=1;b[l+14>>1]=1;b[l+16>>1]=1;b[l+18>>1]=1;b[l+20>>1]=1;b[l+22>>1]=1;b[l+24>>1]=1;b[l+26>>1]=1;b[l+28>>1]=1;b[l+30>>1]=1;b[l+32>>1]=1;b[l+34>>1]=1;b[l+36>>1]=1;b[l+38>>1]=1;b[l+40>>1]=1;b[l+42>>1]=1;b[l+44>>1]=1;b[l+46>>1]=1;b[l+48>>1]=1;b[l+50>>1]=1;b[l+52>>1]=1;b[l+54>>1]=1;b[l+56>>1]=1;b[l+58>>1]=1;b[l+60>>1]=1;b[l+62>>1]=1;b[l+64>>1]=1;b[l+66>>1]=1;b[l+68>>1]=1;b[l+70>>1]=1;b[l+72>>1]=1;b[l+74>>1]=1;b[l+76>>1]=1;b[l+78>>1]=1;b[l+80>>1]=1;b[l+82>>1]=1;b[l+84>>1]=1;b[l+86>>1]=1;b[l+88>>1]=1;b[l+90>>1]=1;b[l+92>>1]=1;b[l+94>>1]=1;b[l+96>>1]=1;b[l+98>>1]=1;b[l+100>>1]=1;b[l+102>>1]=1;b[l+104>>1]=1;b[l+106>>1]=1;b[l+108>>1]=1;b[l+110>>1]=1;b[l+112>>1]=1;b[l+114>>1]=1;b[l+116>>1]=1;b[l+118>>1]=1;b[l+120>>1]=1;b[l+122>>1]=1;b[l+124>>1]=1;b[l+126>>1]=1;ba=o;Aa=196}else Aa=203;b:do if((Aa|0)==196){Aa=0;switch(ba|0){case 4:{g=3792;break}case 9:{g=3680;break}case 16:{g=3552;break}case 25:{g=3376;break}case 36:{g=3168;break}case 49:{g=2896;break}default:{j=j+-1|0;g=h+1|0;if((ba|0)>0){Z=2576;_=ba;$=g;aa=j;Aa=205;break b}else{Y=ba;X=j;W=g;break b}}}Z=g;_=ba;$=h+1|0;aa=j+-1|0;Aa=205}else if((Aa|0)==203){Z=2576;_=64;$=h+1|0;aa=j+-1|0;Aa=205}while(0);c:do if((Aa|0)==205){Aa=0;if(!n){j=0;h=$;g=aa;while(1){if(!g){if(!(Eb[c[p>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[r>>2]|0;h=c[q>>2]|0}b[l+(c[Z+(j<<2)>>2]<<1)>>1]=d[h>>0]|0;j=j+1|0;g=g+-1|0;h=h+1|0;if((j|0)>=(_|0)){Y=_;X=g;W=h;break c}}}m=0;h=$;g=aa;while(1){if(!g){if(!(Eb[c[p>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[r>>2]|0;h=c[q>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Eb[c[p>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[r>>2]|0;h=c[q>>2]|0}else h=j;b[l+(c[Z+(m<<2)>>2]<<1)>>1]=k|d[h>>0];m=m+1|0;g=g+-1|0;h=h+1|0;if((m|0)>=(_|0)){Y=_;X=g;W=h;break}}}while(0);h=c[f>>2]|0;d:do if((c[h+104>>2]|0)>1){g=0;while(1){c[h+24>>2]=e[l+(g<<1)>>1];c[h+28>>2]=e[l+((g|1)<<1)>>1];c[h+32>>2]=e[l+((g|2)<<1)>>1];c[h+36>>2]=e[l+((g|3)<<1)>>1];c[h+40>>2]=e[l+((g|4)<<1)>>1];c[h+44>>2]=e[l+((g|5)<<1)>>1];c[h+48>>2]=e[l+((g|6)<<1)>>1];c[h+52>>2]=e[l+((g|7)<<1)>>1];c[h+20>>2]=95;Sb[c[h+4>>2]&63](f,2);g=g+8|0;if(g>>>0>=64)break d;h=c[f>>2]|0}}while(0);g=o-Y+(n?0-Y|0:0)|0;if((g|0)>0){h=W;j=X}else{j=X;h=W;break}}}if(g|0){Qa=c[f>>2]|0;c[Qa+20>>2]=12;Qb[c[Qa>>2]&255](f)}c[q>>2]=h;c[r>>2]=j;break}case 221:{l=c[oa>>2]|0;m=l+4|0;g=c[m>>2]|0;if(!g){if(!(Eb[c[l+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[m>>2]|0}k=c[l>>2]|0;g=g+-1|0;h=k+1|0;k=d[k>>0]<<8;if(!g){if(!(Eb[c[l+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[m>>2]|0;j=c[l>>2]|0}else j=h;g=g+-1|0;h=j+1|0;if((k|d[j>>0]|0)!=4){Qa=c[f>>2]|0;c[Qa+20>>2]=12;Qb[c[Qa>>2]&255](f)}if(!g){if(!(Eb[c[l+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[m>>2]|0;h=c[l>>2]|0}j=g+-1|0;g=h+1|0;k=d[h>>0]<<8;if(!j){if(!(Eb[c[l+12>>2]&127](f)|0)){xa=0;Aa=350;break a}h=c[m>>2]|0;g=c[l>>2]|0}else h=j;Qa=k|d[g>>0];V=c[f>>2]|0;c[V+20>>2]=84;c[V+24>>2]=Qa;Sb[c[(c[f>>2]|0)+4>>2]&63](f,1);c[pa>>2]=Qa;c[l>>2]=g+1;c[m>>2]=h+-1;break}case 248:{m=c[oa>>2]|0;h=c[m>>2]|0;n=m+4|0;g=c[n>>2]|0;if(!(c[(c[Oa>>2]|0)+16>>2]|0)){Qa=c[f>>2]|0;c[Qa+20>>2]=60;Uz(Qa+24|0,46637,80)|0;Qb[c[c[f>>2]>>2]&255](f)}do if((c[Ja>>2]|0)>=3){if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if((k|d[j>>0]|0)!=24){Qa=c[f>>2]|0;c[Qa+20>>2]=12;Qb[c[Qa>>2]&255](f)}if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;if((a[h>>0]|0)!=13){Qa=c[f>>2]|0;c[Qa+20>>2]=70;c[Qa+24>>2]=c[Na>>2];Qb[c[c[f>>2]>>2]&255](f)}if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}else h=j;g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if((k|d[j>>0]|0)==255){if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;if((a[h>>0]|0)==3){if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;k=c[Ka>>2]|0;if((c[k+88>>2]|0)==(d[j>>0]|0)){if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0;l=c[Ka>>2]|0}else l=k;g=g+-1|0;j=h+1|0;if((c[l>>2]|0)==(d[h>>0]|0)){if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;k=c[m>>2]|0;h=c[Ka>>2]|0}else{k=j;h=l}g=g+-1|0;j=k+1|0;if((c[h+176>>2]|0)!=(d[k>>0]|0)){ca=g;da=j;Aa=335;break}if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if((a[j>>0]|0)!=-128){ca=g;da=h;Aa=335;break}if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if(k|d[j>>0]|0){ca=g;da=h;Aa=335;break}if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if(k|d[j>>0]|0){ca=g;da=h;Aa=335;break}if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;if(a[h>>0]|0){ca=g;da=j;Aa=335;break}if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}else h=j;g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if((k|d[j>>0]|0)!=1){ca=g;da=h;Aa=335;break}if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if(k|d[j>>0]|0){ca=g;da=h;Aa=335;break}if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;if(a[h>>0]|0){ca=g;da=j;Aa=335;break}if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}else h=j;g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if((k|d[j>>0]|0)!=1){ca=g;da=h;Aa=335;break}if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;h=c[m>>2]|0}g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;if(!g){if(!(Eb[c[m+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[n>>2]|0;j=c[m>>2]|0}g=g+-1|0;h=j+1|0;if(!(k|d[j>>0])){ea=g;fa=h}else{ca=g;da=h;Aa=335}}else{ca=g;da=j;Aa=335}}else{ca=g;da=h;Aa=335}}else{ca=g;da=j;Aa=335}}else{ca=g;da=h;Aa=335}}else{ca=g;da=h;Aa=335}while(0);if((Aa|0)==335){Aa=0;ea=c[f>>2]|0;c[ea+20>>2]=28;Qb[c[ea>>2]&255](f);ea=ca;fa=da}c[ra>>2]=1;c[m>>2]=fa;c[n>>2]=ea;break}case 239:case 238:case 237:case 236:case 235:case 234:case 233:case 232:case 231:case 230:case 229:case 228:case 227:case 226:case 225:case 224:{if(!(Eb[c[(c[Oa>>2]|0)+32+(g+-224<<2)>>2]&127](f)|0)){xa=0;Aa=350;break a}break}case 254:{if(!(Eb[c[(c[Oa>>2]|0)+28>>2]&127](f)|0)){xa=0;Aa=350;break a}break}case 1:case 215:case 214:case 213:case 212:case 211:case 210:case 209:case 208:{Qa=c[f>>2]|0;c[Qa+20>>2]=94;c[Qa+24>>2]=g;Sb[c[(c[f>>2]|0)+4>>2]&63](f,1);break}case 220:{k=c[oa>>2]|0;l=k+4|0;g=c[l>>2]|0;if(!g){if(!(Eb[c[k+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[l>>2]|0}h=c[k>>2]|0;g=g+-1|0;j=h+1|0;h=d[h>>0]<<8;if(!g){if(!(Eb[c[k+12>>2]&127](f)|0)){xa=0;Aa=350;break a}g=c[l>>2]|0;j=c[k>>2]|0}Qa=h|d[j>>0];h=Qa+-2|0;V=c[f>>2]|0;c[V+20>>2]=93;c[V+24>>2]=c[Na>>2];c[(c[f>>2]|0)+28>>2]=h;Sb[c[(c[f>>2]|0)+4>>2]&63](f,1);c[k>>2]=j+1;c[l>>2]=g+-1;if(Qa>>>0>2)Sb[c[(c[oa>>2]|0)+16>>2]&63](f,h);break}default:{Qa=c[f>>2]|0;c[Qa+20>>2]=70;c[Qa+24>>2]=g;Qb[c[c[f>>2]>>2]&255](f)}}while(0);c[Na>>2]=0;g=0}if((Aa|0)==25){q=c[oa>>2]|0;h=c[q>>2]|0;r=q+4|0;g=c[r>>2]|0;if(!(c[(c[Oa>>2]|0)+16>>2]|0)){Qa=c[f>>2]|0;c[Qa+20>>2]=60;Uz(Qa+24|0,46633,80)|0;Qb[c[c[f>>2]>>2]&255](f)}do if(!g)if(!(Eb[c[q+12>>2]&127](f)|0)){Qa=0;yb=Pa;return Qa|0}else{g=c[r>>2]|0;h=c[q>>2]|0;break}while(0);g=g+-1|0;j=h+1|0;k=d[h>>0]<<8;do if(!g)if(!(Eb[c[q+12>>2]&127](f)|0)){Qa=0;yb=Pa;return Qa|0}else{g=c[r>>2]|0;h=c[q>>2]|0;break}else h=j;while(0);g=g+-1|0;j=h+1|0;l=k|d[h>>0];do if(!g)if(!(Eb[c[q+12>>2]&127](f)|0)){Qa=0;yb=Pa;return Qa|0}else{h=c[r>>2]|0;k=c[q>>2]|0;break}else{h=g;k=j}while(0);m=a[k>>0]|0;p=m&255;Qa=c[f>>2]|0;c[Qa+20>>2]=105;c[Qa+24>>2]=p;Sb[c[(c[f>>2]|0)+4>>2]&63](f,1);do if(!((m&255)>4|(l|0)!=((p<<1)+6|0))){if(m<<24>>24){c[f+340>>2]=p;i=h+-1|0;ya=k+1|0;za=i;i=(i|0)==0;Aa=42;break}if(c[f+224>>2]|0){c[f+340>>2]=p;g=h+-1|0;if(!g){Ha=1;Aa=64}else{Fa=g;La=k+1|0;Ma=1}}else Aa=41}else Aa=41;while(0);if((Aa|0)==41){j=c[f>>2]|0;c[j+20>>2]=12;Qb[c[j>>2]&255](f);c[f+340>>2]=p;j=h+-1|0;g=k+1|0;h=(j|0)==0;if(!(m<<24>>24)){Da=j;Ea=g;Ga=h;Ia=1;Aa=63}else{ya=g;za=j;i=h;Aa=42}}e:do if((Aa|0)==42){n=q+12|0;o=f+344|0;m=0;g=ya;h=za;while(1){if(i){if(!(Eb[c[n>>2]&127](f)|0)){xa=0;Aa=350;break}h=c[r>>2]|0;g=c[q>>2]|0}l=h+-1|0;i=g+1|0;h=d[g>>0]|0;f:do if(m){g=0;while(1){if((c[c[f+344+(g<<2)>>2]>>2]|0)==(h|0))break;g=g+1|0;if(g>>>0>=m>>>0)break f}g=c[c[o>>2]>>2]|0;if(m>>>0>1){h=1;do{Qa=c[c[f+344+(h<<2)>>2]>>2]|0;g=(Qa|0)>(g|0)?Qa:g;h=h+1|0}while((h|0)!=(m|0))}h=g+1|0}while(0);g=c[Ka>>2]|0;k=c[Ja>>2]|0;g:do if((k|0)>0){j=0;while(1){if((h|0)==(c[g>>2]|0)){Ca=g;break g}j=j+1|0;g=g+88|0;if((j|0)>=(k|0)){Ba=g;Aa=58;break}}}else{Ba=g;Aa=58}while(0);if((Aa|0)==58){Aa=0;Ca=c[f>>2]|0;c[Ca+20>>2]=4;c[Ca+24>>2]=h;Qb[c[c[f>>2]>>2]&255](f);Ca=Ba}c[f+344+(m<<2)>>2]=Ca;if(!l){if(!(Eb[c[n>>2]&127](f)|0)){xa=0;Aa=350;break}g=c[r>>2]|0;i=c[q>>2]|0}else g=l;h=d[i>>0]|0;za=Ca+20|0;c[za>>2]=h>>>4;Qa=Ca+24|0;c[Qa>>2]=h&15;h=c[f>>2]|0;c[h+24>>2]=c[Ca>>2];c[h+28>>2]=c[za>>2];c[h+32>>2]=c[Qa>>2];c[h+20>>2]=106;Sb[c[h+4>>2]&63](f,1);m=m+1|0;h=g+-1|0;g=i+1|0;i=(h|0)==0;if(m>>>0>=p>>>0){Da=h;Ea=g;Ga=i;Ia=0;Aa=63;break e}}if((Aa|0)==350){yb=Pa;return xa|0}}while(0);if((Aa|0)==63)if(Ga){Ha=Ia;Aa=64}else{Fa=Da;La=Ea;Ma=Ia}do if((Aa|0)==64)if(!(Eb[c[q+12>>2]&127](f)|0)){Qa=0;yb=Pa;return Qa|0}else{Fa=c[r>>2]|0;La=c[q>>2]|0;Ma=Ha;break}while(0);g=Fa+-1|0;h=La+1|0;k=f+412|0;c[k>>2]=d[La>>0];do if(!g)if(!(Eb[c[q+12>>2]&127](f)|0)){Qa=0;yb=Pa;return Qa|0}else{g=c[r>>2]|0;i=c[q>>2]|0;break}else i=h;while(0);h=g+-1|0;g=i+1|0;j=f+416|0;c[j>>2]=d[i>>0];do if(!h)if(!(Eb[c[q+12>>2]&127](f)|0)){Qa=0;yb=Pa;return Qa|0}else{h=c[r>>2]|0;g=c[q>>2]|0;break}while(0);Qa=d[g>>0]|0;Ka=f+420|0;c[Ka>>2]=Qa>>>4;La=f+424|0;c[La>>2]=Qa&15;Qa=c[f>>2]|0;c[Qa+24>>2]=c[k>>2];c[Qa+28>>2]=c[j>>2];c[Qa+32>>2]=c[Ka>>2];c[Qa+36>>2]=c[La>>2];c[Qa+20>>2]=107;Sb[c[Qa+4>>2]&63](f,1);c[(c[Oa>>2]|0)+20>>2]=0;if(!Ma){Qa=f+144|0;c[Qa>>2]=(c[Qa>>2]|0)+1}c[q>>2]=g+1;c[r>>2]=h+-1;c[Na>>2]=0;Qa=1;yb=Pa;return Qa|0}else if((Aa|0)==75){Qa=c[f>>2]|0;c[Qa+20>>2]=87;Sb[c[Qa+4>>2]&63](f,1);c[Na>>2]=0;Qa=2;yb=Pa;return Qa|0}else if((Aa|0)==174){Qa=0;yb=Pa;return Qa|0}else if((Aa|0)==350){yb=Pa;return xa|0}return 0}function sw(a){a=a|0;var b=0,d=0,e=0,f=0;f=a+440|0;b=c[f>>2]|0;do if(!b)if(!(ow(a)|0)){f=0;return f|0}else{b=c[f>>2]|0;break}while(0);d=a+464|0;e=c[(c[d>>2]|0)+20>>2]|0;if((b|0)!=(e+208|0)){if(!(Gb[c[(c[a+24>>2]|0)+20>>2]&63](a,e)|0)){f=0;return f|0}}else{b=c[a>>2]|0;c[b+20>>2]=100;c[b+24>>2]=e;Sb[c[(c[a>>2]|0)+4>>2]&63](a,3);c[f>>2]=0}f=(c[d>>2]|0)+20|0;c[f>>2]=(c[f>>2]|0)+1&7;f=1;return f|0}function tw(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=a+24|0;h=c[g>>2]|0;i=h+4|0;b=c[i>>2]|0;do if(!b)if(!(Eb[c[h+12>>2]&127](a)|0)){i=0;return i|0}else{b=c[i>>2]|0;break}while(0);e=c[h>>2]|0;b=b+-1|0;f=e+1|0;e=(d[e>>0]|0)<<8;do if(!b)if(!(Eb[c[h+12>>2]&127](a)|0)){i=0;return i|0}else{b=c[i>>2]|0;f=c[h>>2]|0;break}while(0);j=e|(d[f>>0]|0);e=j+-2|0;k=c[a>>2]|0;c[k+20>>2]=93;c[k+24>>2]=c[a+440>>2];c[(c[a>>2]|0)+28>>2]=e;Sb[c[(c[a>>2]|0)+4>>2]&63](a,1);c[h>>2]=f+1;c[i>>2]=b+-1;if(j>>>0<=2){k=1;return k|0}Sb[c[(c[g>>2]|0)+16>>2]&63](a,e);k=1;return k|0}function uw(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=yb;yb=yb+16|0;l=p;m=b+24|0;n=c[m>>2]|0;o=n+4|0;e=c[o>>2]|0;do if(!e)if(!(Eb[c[n+12>>2]&127](b)|0)){o=0;yb=p;return o|0}else{e=c[o>>2]|0;break}while(0);g=c[n>>2]|0;e=e+-1|0;f=g+1|0;g=d[g>>0]<<8;do if(!e)if(!(Eb[c[n+12>>2]&127](b)|0)){o=0;yb=p;return o|0}else{e=c[o>>2]|0;f=c[n>>2]|0;break}while(0);j=g|d[f>>0];k=j+-2|0;j=j>>>0>15?14:j>>>0>2?k:0;g=e+-1|0;e=f+1|0;a:do if(!j)f=g;else{i=n+12|0;h=0;f=g;while(1){if(!f){if(!(Eb[c[i>>2]&127](b)|0)){e=0;break}f=c[o>>2]|0;e=c[n>>2]|0}a[l+h>>0]=a[e>>0]|0;h=h+1|0;f=f+-1|0;e=e+1|0;if(h>>>0>=j>>>0)break a}yb=p;return e|0}while(0);g=k-j|0;h=c[b+440>>2]|0;b:do switch(h|0){case 224:{vw(b,l,j,g);break}case 238:{if((((j>>>0>11&(a[l>>0]|0)==65?(a[l+1>>0]|0)==100:0)?(a[l+2>>0]|0)==111:0)?(a[l+3>>0]|0)==98:0)?(a[l+4>>0]|0)==101:0){h=d[l+7>>0]<<8|d[l+8>>0];i=d[l+9>>0]<<8|d[l+10>>0];k=a[l+11>>0]|0;j=c[b>>2]|0;c[j+24>>2]=d[l+5>>0]<<8|d[l+6>>0];c[j+28>>2]=h;c[j+32>>2]=i;c[j+36>>2]=k&255;c[j+20>>2]=78;Sb[c[j+4>>2]&63](b,1);c[b+296>>2]=1;a[b+300>>0]=k;break b}l=c[b>>2]|0;c[l+20>>2]=80;c[l+24>>2]=k;Sb[c[(c[b>>2]|0)+4>>2]&63](b,1);break}default:{l=c[b>>2]|0;c[l+20>>2]=70;c[l+24>>2]=h;Qb[c[c[b>>2]>>2]&255](b)}}while(0);c[n>>2]=e;c[o>>2]=f;if((g|0)<=0){o=1;yb=p;return o|0}Sb[c[(c[m>>2]|0)+16>>2]&63](b,g);o=1;yb=p;return o|0}function vw(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=h+g|0;if(g>>>0>13){if((a[f>>0]|0)==74)if((((a[f+1>>0]|0)==70?(a[f+2>>0]|0)==73:0)?(a[f+3>>0]|0)==70:0)?(a[f+4>>0]|0)==0:0){c[e+284>>2]=1;j=a[f+5>>0]|0;k=e+288|0;a[k>>0]=j;l=a[f+6>>0]|0;m=e+289|0;a[m>>0]=l;h=a[f+7>>0]|0;p=e+290|0;a[p>>0]=h;i=(d[f+8>>0]<<8|d[f+9>>0])&65535;n=e+292|0;b[n>>1]=i;g=(d[f+10>>0]<<8|d[f+11>>0])&65535;o=e+294|0;b[o>>1]=g;if((j+-1&255)<2)q=e;else{q=c[e>>2]|0;c[q+20>>2]=122;c[q+24>>2]=j&255;c[(c[e>>2]|0)+28>>2]=d[m>>0];Sb[c[(c[e>>2]|0)+4>>2]&63](e,-1);q=e;j=a[k>>0]|0;l=a[m>>0]|0;i=b[n>>1]|0;g=b[o>>1]|0;h=a[p>>0]|0}p=c[e>>2]|0;c[p+24>>2]=j&255;c[p+28>>2]=l&255;c[p+32>>2]=i&65535;c[p+36>>2]=g&65535;c[p+40>>2]=h&255;c[p+20>>2]=89;Sb[c[p+4>>2]&63](q,1);h=f+12|0;i=a[h>>0]|0;j=f+13|0;g=a[j>>0]|0;if((g|i)<<24>>24){i=c[e>>2]|0;c[i+20>>2]=92;c[i+24>>2]=d[h>>0];c[(c[e>>2]|0)+28>>2]=d[j>>0];Sb[c[(c[e>>2]|0)+4>>2]&63](q,1);i=a[h>>0]|0;g=a[j>>0]|0}h=r+-14|0;if((h|0)==(B((i&255)*3|0,g&255)|0))return;r=c[e>>2]|0;c[r+20>>2]=90;c[r+24>>2]=h;Sb[c[(c[e>>2]|0)+4>>2]&63](q,1);return}else i=16}else if(g>>>0>5?(a[f>>0]|0)==74:0)i=16;if(((((i|0)==16?(a[f+1>>0]|0)==70:0)?(a[f+2>>0]|0)==88:0)?(a[f+3>>0]|0)==88:0)?(a[f+4>>0]|0)==0:0){h=f+5|0;switch(a[h>>0]|0){case 16:{q=c[e>>2]|0;c[q+20>>2]=110;c[q+24>>2]=r;Sb[c[(c[e>>2]|0)+4>>2]&63](e,1);return}case 17:{q=c[e>>2]|0;c[q+20>>2]=111;c[q+24>>2]=r;Sb[c[(c[e>>2]|0)+4>>2]&63](e,1);return}case 19:{q=c[e>>2]|0;c[q+20>>2]=112;c[q+24>>2]=r;Sb[c[(c[e>>2]|0)+4>>2]&63](e,1);return}default:{q=c[e>>2]|0;c[q+20>>2]=91;c[q+24>>2]=d[h>>0];c[(c[e>>2]|0)+28>>2]=r;Sb[c[(c[e>>2]|0)+4>>2]&63](e,1);return}}}q=c[e>>2]|0;c[q+20>>2]=79;c[q+24>>2]=r;Sb[c[(c[e>>2]|0)+4>>2]&63](e,1);return}function ww(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=c[a+24>>2]|0;h=c[o>>2]|0;p=o+4|0;g=c[p>>2]|0;c[a+220>>2]=b;c[a+224>>2]=e;c[a+228>>2]=f;do if(!g)if(!(Eb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;h=c[o>>2]|0;break}while(0);g=g+-1|0;b=h+1|0;e=(d[h>>0]|0)<<8;do if(!g)if(!(Eb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;h=c[o>>2]|0;break}else h=b;while(0);g=g+-1|0;b=h+1|0;j=e|(d[h>>0]|0);do if(!g)if(!(Eb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;h=c[o>>2]|0;break}else h=b;while(0);g=g+-1|0;b=h+1|0;c[a+212>>2]=d[h>>0];do if(!g)if(!(Eb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;h=c[o>>2]|0;break}else h=b;while(0);g=g+-1|0;b=h+1|0;h=(d[h>>0]|0)<<8;i=a+32|0;c[i>>2]=h;do if(!g)if(!(Eb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;b=c[o>>2]|0;e=c[i>>2]|0;break}else e=h;while(0);g=g+-1|0;h=b+1|0;c[i>>2]=e+(d[b>>0]|0);do if(!g)if(!(Eb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;h=c[o>>2]|0;break}while(0);g=g+-1|0;b=h+1|0;h=(d[h>>0]|0)<<8;f=a+28|0;c[f>>2]=h;do if(!g)if(!(Eb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{g=c[p>>2]|0;b=c[o>>2]|0;h=c[f>>2]|0;break}while(0);g=g+-1|0;e=b+1|0;c[f>>2]=h+(d[b>>0]|0);do if(!g)if(!(Eb[c[o+12>>2]&127](a)|0)){p=0;return p|0}else{b=c[p>>2]|0;e=c[o>>2]|0;break}else b=g;while(0);m=a+36|0;c[m>>2]=d[e>>0];h=j+-8|0;n=c[a>>2]|0;c[n+24>>2]=c[a+440>>2];c[n+28>>2]=c[f>>2];c[n+32>>2]=c[i>>2];c[n+36>>2]=c[m>>2];c[n+20>>2]=102;Sb[c[n+4>>2]&63](a,1);n=a+464|0;if(c[(c[n>>2]|0)+16>>2]|0){l=c[a>>2]|0;c[l+20>>2]=61;Qb[c[l>>2]&255](a)}if(((c[i>>2]|0)!=0?(c[f>>2]|0)!=0:0)?(k=c[m>>2]|0,(k|0)>=1):0)g=k;else{g=c[a>>2]|0;c[g+20>>2]=33;Qb[c[g>>2]&255](a);g=c[m>>2]|0}if((h|0)!=(g*3|0)){l=c[a>>2]|0;c[l+20>>2]=12;Qb[c[l>>2]&255](a)}l=a+216|0;if(!(c[l>>2]|0))c[l>>2]=Hb[c[c[a+4>>2]>>2]&63](a,1,(c[m>>2]|0)*88|0)|0;b=b+-1|0;g=e+1|0;a:do if((c[m>>2]|0)>0){k=o+12|0;j=0;while(1){if(!b){if(!(Eb[c[k>>2]&127](a)|0)){g=0;h=57;break}b=c[p>>2]|0;g=c[o>>2]|0}f=b+-1|0;h=g+1|0;e=d[g>>0]|0;i=c[l>>2]|0;b:do if(!j)b=e;else{g=i;b=0;while(1){if((c[g>>2]|0)==(e|0))break;b=b+1|0;g=g+88|0;if(b>>>0>=j>>>0){b=e;i=g;break b}}b=c[i>>2]|0;g=i+88|0;if(j>>>0>1){e=1;while(1){q=c[g>>2]|0;b=(q|0)>(b|0)?q:b;e=e+1|0;if((e|0)==(j|0))break;else g=g+88|0}g=i+(j*88|0)|0}b=b+1|0;i=g}while(0);c[i>>2]=b;c[i+4>>2]=j;if(!f){if(!(Eb[c[k>>2]&127](a)|0)){g=0;h=57;break}g=c[p>>2]|0;h=c[o>>2]|0}else g=f;g=g+-1|0;b=h+1|0;q=d[h>>0]|0;e=i+8|0;c[e>>2]=q>>>4;f=i+12|0;c[f>>2]=q&15;if(!g){if(!(Eb[c[k>>2]&127](a)|0)){g=0;h=57;break}g=c[p>>2]|0;h=c[o>>2]|0}else h=b;q=i+16|0;c[q>>2]=d[h>>0];b=c[a>>2]|0;c[b+24>>2]=c[i>>2];c[b+28>>2]=c[e>>2];c[b+32>>2]=c[f>>2];c[b+36>>2]=c[q>>2];c[b+20>>2]=103;Sb[c[b+4>>2]&63](a,1);j=j+1|0;b=g+-1|0;g=h+1|0;if((j|0)>=(c[m>>2]|0))break a}if((h|0)==57)return g|0}while(0);c[(c[n>>2]|0)+16>>2]=1;c[o>>2]=g;c[p>>2]=b;q=1;return q|0}function xw(a){a=a|0;a=Hb[c[c[a+4>>2]>>2]&63](a,0,132)|0;c[a+128>>2]=0;return a|0}function yw(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=yb;yb=yb+16|0;j=k;g=k+8|0;h=k+12|0;d=b+4|0;c[d>>2]=0;e=zw(b)|0;c[g>>2]=e;f=Aw(b,84)|0;if(!f){Bw(b);i=c[b>>2]|0;c[i+20>>2]=56;c[i+24>>2]=0;Qb[c[c[b>>2]>>2]&255](b)}c[f>>2]=33;c[f+4>>2]=34;c[f+8>>2]=9;c[f+12>>2]=10;c[f+16>>2]=39;c[f+20>>2]=40;c[f+24>>2]=135;c[f+28>>2]=21;c[f+32>>2]=22;c[f+36>>2]=52;c[f+40>>2]=136;c[f+48>>2]=1e9;i=f+44|0;c[i>>2]=e;c[f+56>>2]=0;c[f+64>>2]=0;c[f+52>>2]=0;c[f+60>>2]=0;c[f+68>>2]=0;c[f+72>>2]=0;c[f+76>>2]=84;c[d>>2]=f;b=Ja(46641)|0;if(!b){yb=k;return}a[h>>0]=120;c[j>>2]=g;c[j+4>>2]=h;if((Az(b,46649,j)|0)>0){switch(a[h>>0]|0){case 77:case 109:{b=(c[g>>2]|0)*1e3|0;c[g>>2]=b;break}default:b=c[g>>2]|0}c[i>>2]=b*1e3}yb=k;return}function zw(a){a=a|0;return 0}function Aw(a,b){a=a|0;b=b|0;return DO(b)|0}function Bw(a){a=a|0;return}function Cw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=c[a+4>>2]|0;if(d>>>0>999999984){j=c[a>>2]|0;c[j+20>>2]=56;c[j+24>>2]=1;Qb[c[c[a>>2]>>2]&255](a)}j=d&7;j=((j|0)==0?0:8-j|0)+d|0;if(b>>>0>1){i=c[a>>2]|0;c[i+20>>2]=15;c[i+24>>2]=b;Qb[c[c[a>>2]>>2]&255](a)}i=k+52+(b<<2)|0;d=c[i>>2]|0;a:do if(!d){d=0;f=9}else while(1){if((c[d+8>>2]|0)>>>0>=j>>>0)break a;e=c[d>>2]|0;if(!e){f=9;break}else d=e}while(0);do if((f|0)==9){h=(d|0)==0;b=c[(h?15936:15944)+(b<<2)>>2]|0;e=999999984-j|0;b=b>>>0>e>>>0?e:b;e=b+j|0;g=e+16|0;f=Aw(a,g)|0;if(!f){do{if(b>>>0<100){g=c[a>>2]|0;c[g+20>>2]=56;c[g+24>>2]=2;Qb[c[c[a>>2]>>2]&255](a)}b=b>>>1;e=b+j|0;g=e+16|0;f=Aw(a,g)|0}while(!(f|0));b=g}else b=g;k=k+76|0;c[k>>2]=(c[k>>2]|0)+b;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=e;if(h){c[i>>2]=f;d=f;break}else{c[d>>2]=f;d=f;break}}while(0);i=d+4|0;k=c[i>>2]|0;c[i>>2]=k+j;i=d+8|0;c[i>>2]=(c[i>>2]|0)-j;return d+16+k|0}function Dw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=c[a+4>>2]|0;if(d>>>0>999999984){f=c[a>>2]|0;c[f+20>>2]=56;c[f+24>>2]=3;Qb[c[c[a>>2]>>2]&255](a)}f=d&7;d=((f|0)==0?0:8-f|0)+d|0;if(b>>>0>1){f=c[a>>2]|0;c[f+20>>2]=15;c[f+24>>2]=b;Qb[c[c[a>>2]>>2]&255](a)}e=d+16|0;f=Rw(a,e)|0;if(!f){h=c[a>>2]|0;c[h+20>>2]=56;c[h+24>>2]=4;Qb[c[c[a>>2]>>2]&255](a)}h=g+76|0;c[h>>2]=(c[h>>2]|0)+e;h=g+60+(b<<2)|0;c[f>>2]=c[h>>2];c[f+4>>2]=d;c[f+8>>2]=0;c[h>>2]=f;return f+16|0}function Ew(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=c[a+4>>2]|0;f=999999984/(d>>>0)|0;if(d>>>0>999999984){m=c[a>>2]|0;c[m+20>>2]=72;Qb[c[m>>2]&255](a)}h=(f|0)<(e|0)?f:e;c[g+80>>2]=h;l=Cw(a,b,e<<2)|0;if(!e)return l|0;m=~e;f=0;do{i=e-f|0;g=h;h=h>>>0>>0?h:i;i=Dw(a,b,B(h,d)|0)|0;if(h){j=f+m|0;k=~g;k=j>>>0>k>>>0?j:k;j=h;g=i;i=f;while(1){c[l+(i<<2)>>2]=g;j=j+-1|0;if(!j)break;else{g=g+d|0;i=i+1|0}}f=f+-1-k|0}}while(f>>>0>>0);return l|0}function Fw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;g=c[a+4>>2]|0;n=d<<7;f=999999984/(n>>>0)|0;if(n>>>0>999999984){m=c[a>>2]|0;c[m+20>>2]=72;Qb[c[m>>2]&255](a)}h=(f|0)<(e|0)?f:e;c[g+80>>2]=h;l=Cw(a,b,e<<2)|0;if(!e)return l|0;m=~e;f=0;do{i=e-f|0;g=h;h=h>>>0>>0?h:i;i=Dw(a,b,B(n,h)|0)|0;if(h){j=f+m|0;k=~g;k=j>>>0>k>>>0?j:k;j=h;g=i;i=f;while(1){c[l+(i<<2)>>2]=g;j=j+-1|0;if(!j)break;else{g=g+(d<<7)|0;i=i+1|0}}f=f+-1-k|0}}while(f>>>0>>0);return l|0}function Gw(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=c[a+4>>2]|0;if((b|0)==1)b=1;else{i=c[a>>2]|0;c[i+20>>2]=15;c[i+24>>2]=b;Qb[c[c[a>>2]>>2]&255](a)}i=Cw(a,b,128)|0;c[i>>2]=0;c[i+4>>2]=f;c[i+8>>2]=e;c[i+12>>2]=g;c[i+32>>2]=d;c[i+40>>2]=0;h=h+68|0;c[i+44>>2]=c[h>>2];c[h>>2]=i;return i|0}function Hw(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=c[a+4>>2]|0;if((b|0)==1)b=1;else{i=c[a>>2]|0;c[i+20>>2]=15;c[i+24>>2]=b;Qb[c[c[a>>2]>>2]&255](a)}i=Cw(a,b,128)|0;c[i>>2]=0;c[i+4>>2]=f;c[i+8>>2]=e;c[i+12>>2]=g;c[i+32>>2]=d;c[i+40>>2]=0;h=h+72|0;c[i+44>>2]=c[h>>2];c[h>>2]=i;return i|0}function Iw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=a+4|0;s=c[u>>2]|0;f=s+68|0;b=c[f>>2]|0;if(!b){d=0;e=0}else{d=0;e=0;do{if(!(c[b>>2]|0)){t=c[b+8>>2]|0;d=(B(t,c[b+12>>2]|0)|0)+d|0;e=(B(c[b+4>>2]|0,t)|0)+e|0}b=c[b+44>>2]|0}while((b|0)!=0)}r=s+72|0;b=c[r>>2]|0;if(!b)b=e;else{do{if(!(c[b>>2]|0)){t=c[b+8>>2]|0;d=(B(c[b+12>>2]<<7,t)|0)+d|0;e=(B(t<<7,c[b+4>>2]|0)|0)+e|0}b=c[b+44>>2]|0}while((b|0)!=0);b=e}if((d|0)<1)return;e=Pw(a,d,b,c[s+76>>2]|0)|0;if((e|0)<(b|0)){t=(e|0)/(d|0)|0;t=(t|0)>1?t:1}else t=1e9;b=c[f>>2]|0;if(b|0){q=s+80|0;do{if(!(c[b>>2]|0)){e=c[b+4>>2]|0;d=c[b+12>>2]|0;if(((((e+-1|0)>>>0)/(d>>>0)|0)+1|0)>(t|0)){p=b+16|0;c[p>>2]=B(d,t)|0;d=b+8|0;Qw(a,b+48|0,B(c[d>>2]|0,e)|0);c[b+40>>2]=1;e=c[p>>2]|0}else{c[b+16>>2]=e;d=b+8|0}p=c[d>>2]|0;f=c[u>>2]|0;d=999999984/(p>>>0)|0;if(p>>>0>999999984){o=c[a>>2]|0;c[o+20>>2]=72;Qb[c[o>>2]&255](a)}g=(d|0)<(e|0)?d:e;c[f+80>>2]=g;n=Cw(a,1,e<<2)|0;if(e|0){o=~e;d=0;do{f=e-d|0;j=g;g=g>>>0>>0?g:f;f=B(g,p)|0;i=c[u>>2]|0;if(f>>>0>999999984){m=c[a>>2]|0;c[m+20>>2]=56;c[m+24>>2]=3;Qb[c[c[a>>2]>>2]&255](a)}h=f&7;f=((h|0)==0?0:8-h|0)+f|0;h=f+16|0;m=Rw(a,h)|0;if(!m){l=c[a>>2]|0;c[l+20>>2]=56;c[l+24>>2]=4;Qb[c[c[a>>2]>>2]&255](a)}l=i+76|0;c[l>>2]=(c[l>>2]|0)+h;l=i+64|0;c[m>>2]=c[l>>2];c[m+4>>2]=f;c[m+8>>2]=0;c[l>>2]=m;if(g){l=d+o|0;j=~j;k=l>>>0>j>>>0;i=g;f=m+16|0;h=d;while(1){c[n+(h<<2)>>2]=f;i=i+-1|0;if(!i)break;else{f=f+p|0;h=h+1|0}}d=d+-1-(k?l:j)|0}}while(d>>>0>>0)}c[b>>2]=n;c[b+20>>2]=c[q>>2];c[b+24>>2]=0;c[b+28>>2]=0;c[b+36>>2]=0}b=c[b+44>>2]|0}while((b|0)!=0)}b=c[r>>2]|0;if(!b)return;r=s+80|0;do{if(!(c[b>>2]|0)){e=c[b+4>>2]|0;d=c[b+12>>2]|0;if(((((e+-1|0)>>>0)/(d>>>0)|0)+1|0)>(t|0)){s=b+16|0;c[s>>2]=B(d,t)|0;d=b+8|0;Qw(a,b+48|0,B(e<<7,c[d>>2]|0)|0);c[b+40>>2]=1;e=c[s>>2]|0}else{c[b+16>>2]=e;d=b+8|0}p=c[d>>2]|0;f=c[u>>2]|0;q=p<<7;d=999999984/(q>>>0)|0;if(q>>>0>999999984){s=c[a>>2]|0;c[s+20>>2]=72;Qb[c[s>>2]&255](a)}g=(d|0)<(e|0)?d:e;c[f+80>>2]=g;n=Cw(a,1,e<<2)|0;if(e|0){o=~e;d=0;do{f=e-d|0;j=g;g=g>>>0>>0?g:f;f=B(g,q)|0;h=c[u>>2]|0;if(f>>>0>999999984){s=c[a>>2]|0;c[s+20>>2]=56;c[s+24>>2]=3;Qb[c[c[a>>2]>>2]&255](a)}i=f|16;m=Rw(a,i)|0;if(!m){s=c[a>>2]|0;c[s+20>>2]=56;c[s+24>>2]=4;Qb[c[c[a>>2]>>2]&255](a)}s=h+76|0;c[s>>2]=(c[s>>2]|0)+i;s=h+64|0;c[m>>2]=c[s>>2];c[m+4>>2]=f;c[m+8>>2]=0;c[s>>2]=m;if(g){l=d+o|0;j=~j;k=l>>>0>j>>>0;i=g;f=m+16|0;h=d;while(1){c[n+(h<<2)>>2]=f;i=i+-1|0;if(!i)break;else{f=f+(p<<7)|0;h=h+1|0}}d=d+-1-(k?l:j)|0}}while(d>>>0>>0)}c[b>>2]=n;c[b+20>>2]=c[r>>2];c[b+24>>2]=0;c[b+28>>2]=0;c[b+36>>2]=0}b=c[b+44>>2]|0}while((b|0)!=0);return}function Jw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=e+d|0;s=b+4|0;if(!((w>>>0<=(c[s>>2]|0)>>>0?(c[b+12>>2]|0)>>>0>=e>>>0:0)?(c[b>>2]|0)!=0:0)){x=c[a>>2]|0;c[x+20>>2]=23;Qb[c[x>>2]&255](a)}x=b+24|0;n=c[x>>2]|0;if(!(n>>>0<=d>>>0?w>>>0<=((c[b+16>>2]|0)+n|0)>>>0:0))v=7;a:do if((v|0)==7){if(!(c[b+40>>2]|0)){n=c[a>>2]|0;c[n+20>>2]=71;Qb[c[n>>2]&255](a)}k=b+36|0;if(c[k>>2]|0){l=c[b+8>>2]|0;e=c[x>>2]|0;m=b+20|0;n=b+16|0;g=c[n>>2]|0;b:do if((g|0)>0?(o=b+28|0,p=b+48|0,q=b+52|0,h=c[m>>2]|0,h=(h|0)<(g|0)?h:g,j=(c[o>>2]|0)-e|0,j=(h|0)<(j|0)?h:j,h=(c[s>>2]|0)-e|0,h=(j|0)<(h|0)?j:h,(h|0)>=1):0){i=B(e,l)|0;j=0;e=h;while(1){h=B(e,l)|0;Wb[c[q>>2]&63](a,p,c[(c[b>>2]|0)+(j<<2)>>2]|0,i,h);e=c[m>>2]|0;j=e+j|0;g=c[n>>2]|0;if((g|0)<=(j|0))break b;y=g-j|0;y=(e|0)<(y|0)?e:y;e=j+(c[x>>2]|0)|0;g=(c[o>>2]|0)-e|0;g=(y|0)<(g|0)?y:g;e=(c[s>>2]|0)-e|0;e=(g|0)<(e|0)?g:e;if((e|0)<1)break;else i=h+i|0}}while(0);c[k>>2]=0}k=b+16|0;e=c[k>>2]|0;if((c[x>>2]|0)>>>0>>0)g=d;else{g=w-e|0;g=(g|0)>0?g:0}c[x>>2]=g;l=c[b+8>>2]|0;m=b+20|0;if((e|0)>0?(t=b+28|0,u=b+48|0,r=c[m>>2]|0,r=(r|0)<(e|0)?r:e,y=(c[t>>2]|0)-g|0,y=(r|0)<(y|0)?r:y,r=(c[s>>2]|0)-g|0,r=(y|0)<(r|0)?y:r,(r|0)>=1):0){i=B(l,g)|0;j=0;e=r;while(1){h=B(e,l)|0;Wb[c[u>>2]&63](a,u,c[(c[b>>2]|0)+(j<<2)>>2]|0,i,h);g=c[m>>2]|0;j=g+j|0;e=c[k>>2]|0;if((e|0)<=(j|0))break a;r=e-j|0;r=(g|0)<(r|0)?g:r;e=j+(c[x>>2]|0)|0;y=(c[t>>2]|0)-e|0;y=(r|0)<(y|0)?r:y;e=(c[s>>2]|0)-e|0;e=(y|0)<(e|0)?y:e;if((e|0)<1)break;else i=h+i|0}}}while(0);h=b+28|0;e=c[h>>2]|0;do if(e>>>0>>0){g=(f|0)==0;if(e>>>0>>0)if(g){e=d;g=0}else{e=c[a>>2]|0;c[e+20>>2]=23;Qb[c[e>>2]&255](a);e=d;v=28}else if(g)g=0;else v=28;if((v|0)==28){c[h>>2]=w;g=1}if(!(c[b+32>>2]|0)){if(g)break;y=c[a>>2]|0;c[y+20>>2]=23;Qb[c[y>>2]&255](a);break}h=c[b+8>>2]|0;g=c[x>>2]|0;e=e-g|0;g=w-g|0;if(e>>>0>>0)do{_O(c[(c[b>>2]|0)+(e<<2)>>2]|0,0,h|0)|0;e=e+1|0}while((e|0)!=(g|0))}while(0);if(!f){f=c[b>>2]|0;y=c[x>>2]|0;y=d-y|0;y=f+(y<<2)|0;return y|0}c[b+36>>2]=1;f=c[b>>2]|0;y=c[x>>2]|0;y=d-y|0;y=f+(y<<2)|0;return y|0}function Kw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=e+d|0;s=b+4|0;if(!((w>>>0<=(c[s>>2]|0)>>>0?(c[b+12>>2]|0)>>>0>=e>>>0:0)?(c[b>>2]|0)!=0:0)){x=c[a>>2]|0;c[x+20>>2]=23;Qb[c[x>>2]&255](a)}x=b+24|0;n=c[x>>2]|0;if(!(n>>>0<=d>>>0?w>>>0<=((c[b+16>>2]|0)+n|0)>>>0:0))v=7;a:do if((v|0)==7){if(!(c[b+40>>2]|0)){n=c[a>>2]|0;c[n+20>>2]=71;Qb[c[n>>2]&255](a)}k=b+36|0;if(c[k>>2]|0){l=c[b+8>>2]<<7;e=c[x>>2]|0;m=b+20|0;n=b+16|0;g=c[n>>2]|0;b:do if((g|0)>0?(o=b+28|0,p=b+48|0,q=b+52|0,h=c[m>>2]|0,h=(h|0)<(g|0)?h:g,j=(c[o>>2]|0)-e|0,j=(h|0)<(j|0)?h:j,h=(c[s>>2]|0)-e|0,h=(j|0)<(h|0)?j:h,(h|0)>=1):0){i=B(e,l)|0;j=0;e=h;while(1){h=B(e,l)|0;Wb[c[q>>2]&63](a,p,c[(c[b>>2]|0)+(j<<2)>>2]|0,i,h);e=c[m>>2]|0;j=e+j|0;g=c[n>>2]|0;if((g|0)<=(j|0))break b;y=g-j|0;y=(e|0)<(y|0)?e:y;e=j+(c[x>>2]|0)|0;g=(c[o>>2]|0)-e|0;g=(y|0)<(g|0)?y:g;e=(c[s>>2]|0)-e|0;e=(g|0)<(e|0)?g:e;if((e|0)<1)break;else i=h+i|0}}while(0);c[k>>2]=0}k=b+16|0;e=c[k>>2]|0;if((c[x>>2]|0)>>>0>>0)g=d;else{g=w-e|0;g=(g|0)>0?g:0}c[x>>2]=g;l=c[b+8>>2]<<7;m=b+20|0;if((e|0)>0?(t=b+28|0,u=b+48|0,r=c[m>>2]|0,r=(r|0)<(e|0)?r:e,y=(c[t>>2]|0)-g|0,y=(r|0)<(y|0)?r:y,r=(c[s>>2]|0)-g|0,r=(y|0)<(r|0)?y:r,(r|0)>=1):0){i=B(l,g)|0;j=0;e=r;while(1){h=B(e,l)|0;Wb[c[u>>2]&63](a,u,c[(c[b>>2]|0)+(j<<2)>>2]|0,i,h);e=c[m>>2]|0;j=e+j|0;g=c[k>>2]|0;if((g|0)<=(j|0))break a;r=g-j|0;r=(e|0)<(r|0)?e:r;e=j+(c[x>>2]|0)|0;y=(c[t>>2]|0)-e|0;y=(r|0)<(y|0)?r:y;e=(c[s>>2]|0)-e|0;e=(y|0)<(e|0)?y:e;if((e|0)<1)break;else i=h+i|0}}}while(0);h=b+28|0;e=c[h>>2]|0;do if(e>>>0>>0){g=(f|0)==0;if(e>>>0>>0)if(g){e=d;g=0}else{e=c[a>>2]|0;c[e+20>>2]=23;Qb[c[e>>2]&255](a);e=d;v=28}else if(g)g=0;else v=28;if((v|0)==28){c[h>>2]=w;g=1}if(!(c[b+32>>2]|0)){if(g)break;y=c[a>>2]|0;c[y+20>>2]=23;Qb[c[y>>2]&255](a);break}h=c[b+8>>2]<<7;g=c[x>>2]|0;e=e-g|0;g=w-g|0;if(e>>>0>>0)do{_O(c[(c[b>>2]|0)+(e<<2)>>2]|0,0,h|0)|0;e=e+1|0}while((e|0)!=(g|0))}while(0);if(!f){f=c[b>>2]|0;y=c[x>>2]|0;y=d-y|0;y=f+(y<<2)|0;return y|0}c[b+36>>2]=1;f=c[b>>2]|0;y=c[x>>2]|0;y=d-y|0;y=f+(y<<2)|0;return y|0}function Lw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=c[a+4>>2]|0;if(b>>>0<=1){if((b|0)==1){f=g+68|0;d=c[f>>2]|0;if(d|0)do{e=d+40|0;if(c[e>>2]|0){c[e>>2]=0;Sb[c[d+56>>2]&63](a,d+48|0)}d=c[d+44>>2]|0}while((d|0)!=0);c[f>>2]=0;f=g+72|0;d=c[f>>2]|0;if(d|0)do{e=d+40|0;if(c[e>>2]|0){c[e>>2]=0;Sb[c[d+56>>2]&63](a,d+48|0)}d=c[d+44>>2]|0}while((d|0)!=0);c[f>>2]=0}}else{f=c[a>>2]|0;c[f+20>>2]=15;c[f+24>>2]=b;Qb[c[c[a>>2]>>2]&255](a)}f=g+60+(b<<2)|0;d=c[f>>2]|0;c[f>>2]=0;if(d|0){e=g+76|0;do{h=d;d=c[d>>2]|0;f=(c[h+4>>2]|0)+16+(c[h+8>>2]|0)|0;Ow(a,h,f);c[e>>2]=(c[e>>2]|0)-f}while((d|0)!=0)}h=g+52+(b<<2)|0;d=c[h>>2]|0;c[h>>2]=0;if(!d)return;e=g+76|0;do{g=d;d=c[d>>2]|0;h=(c[g+4>>2]|0)+16+(c[g+8>>2]|0)|0;Nw(a,g,h);c[e>>2]=(c[e>>2]|0)-h}while((d|0)!=0);return}function Mw(a){a=a|0;var b=0;Lw(a,1);Lw(a,0);b=a+4|0;Nw(a,c[b>>2]|0,84);c[b>>2]=0;Bw(a);return}function Nw(a,b,c){a=a|0;b=b|0;c=c|0;EO(b);return}function Ow(a,b,c){a=a|0;b=b|0;c=c|0;EO(b);return}function Pw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return c|0}function Qw(a,b,d){a=a|0;b=b|0;d=d|0;d=c[a>>2]|0;c[d+20>>2]=51;Qb[c[d>>2]&255](a);return}function Rw(a,b){a=a|0;b=b|0;return DO(b)|0}function Sw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;c[a+4>>2]=0;if((b|0)!=90){e=c[a>>2]|0;c[e+20>>2]=13;c[e+24>>2]=90;c[(c[a>>2]|0)+28>>2]=b;Qb[c[c[a>>2]>>2]&255](a)}if((d|0)==488)b=a;else{b=c[a>>2]|0;c[b+20>>2]=22;c[b+24>>2]=488;c[(c[a>>2]|0)+28>>2]=d;Qb[c[c[a>>2]>>2]&255](a);b=a}f=c[a>>2]|0;d=a+12|0;e=c[d>>2]|0;_O(a+4|0,0,484)|0;c[a>>2]=f;c[d>>2]=e;c[a+16>>2]=1;yw(b);c[a+8>>2]=0;c[a+24>>2]=0;c[a+312>>2]=0;b=a+164|0;d=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));pw(a);Tw(a);c[a+20>>2]=200;return}function Tw(a){a=a|0;var b=0;b=Hb[c[c[a+4>>2]>>2]&63](a,0,28)|0;c[a+460>>2]=b;c[b>>2]=90;c[b+4>>2]=137;c[b+8>>2]=138;c[b+12>>2]=139;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=1;return}function Uw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;G=a+460|0;b=c[G>>2]|0;H=b+20|0;if(c[H>>2]|0){a=2;return a|0}I=a+464|0;K=b+24|0;L=a+340|0;F=b+16|0;l=a+32|0;m=a+212|0;n=a+28|0;o=a+36|0;p=a+316|0;q=a+320|0;r=a+216|0;s=a+220|0;t=a+224|0;u=a+324|0;v=a+328|0;w=a+428|0;x=a+432|0;y=a+436|0;z=a+416|0;A=a+332|0;C=a+412|0;D=a+420|0;E=a+424|0;a:while(1){b=Eb[c[(c[I>>2]|0)+4>>2]&127](a)|0;switch(b|0){case 2:{k=58;break a}case 1:break;default:{k=63;break a}}b:do switch(c[K>>2]|0){case 0:{if(!(c[F>>2]|0)){j=c[a>>2]|0;c[j+20>>2]=36;Qb[c[j>>2]&255](a)}if(c[L>>2]|0){k=57;break a}break}case 1:{if(!((c[l>>2]|0)<=65500?(c[n>>2]|0)<=65500:0)){j=c[a>>2]|0;c[j+20>>2]=42;c[j+24>>2]=65500;Qb[c[c[a>>2]>>2]&255](a)}b=c[m>>2]|0;if((b+-8|0)>>>0>4){j=c[a>>2]|0;c[j+20>>2]=16;c[j+24>>2]=b;Qb[c[c[a>>2]>>2]&255](a)}b=c[o>>2]|0;if((b|0)>10){j=c[a>>2]|0;c[j+20>>2]=27;c[j+24>>2]=b;c[(c[a>>2]|0)+28>>2]=10;Qb[c[c[a>>2]>>2]&255](a);b=c[o>>2]|0}c[p>>2]=1;c[q>>2]=1;if((b|0)>0){i=0;j=c[r>>2]|0;f=1;h=1;while(1){d=j+8|0;e=c[d>>2]|0;g=j+12|0;if((e+-1|0)>>>0<=3?(J=c[g>>2]|0,(J+-1|0)>>>0<=3):0)d=J;else{h=c[a>>2]|0;c[h+20>>2]=19;Qb[c[h>>2]&255](a);h=c[p>>2]|0;e=c[d>>2]|0;f=c[q>>2]|0;d=c[g>>2]|0;b=c[o>>2]|0}h=(h|0)>(e|0)?h:e;c[p>>2]=h;f=(f|0)>(d|0)?f:d;c[q>>2]=f;i=i+1|0;if((i|0)>=(b|0)){d=b;break}else j=j+88|0}}else d=b;c:do if(!(c[s>>2]|0)){if(c[t>>2]|0?c[L>>2]|0:0){k=22;break}do switch(c[z>>2]|0){case 0:{c[w>>2]=1;c[x>>2]=2576;c[y>>2]=0;b=1;break c}case 3:{c[w>>2]=2;c[x>>2]=3792;c[y>>2]=3;b=2;break c}case 8:{c[w>>2]=3;c[x>>2]=3680;c[y>>2]=8;b=3;break c}case 15:{c[w>>2]=4;c[x>>2]=3552;c[y>>2]=15;b=4;break c}case 24:{c[w>>2]=5;c[x>>2]=3376;c[y>>2]=24;b=5;break c}case 35:{c[w>>2]=6;c[x>>2]=3168;c[y>>2]=35;b=6;break c}case 48:{c[w>>2]=7;c[x>>2]=2896;c[y>>2]=48;b=7;break c}case 63:{c[w>>2]=8;c[x>>2]=2576;c[y>>2]=63;b=8;break c}case 80:{c[w>>2]=9;c[x>>2]=2576;c[y>>2]=63;b=9;break c}case 99:{c[w>>2]=10;c[x>>2]=2576;c[y>>2]=63;b=10;break c}case 120:{c[w>>2]=11;c[x>>2]=2576;c[y>>2]=63;b=11;break c}case 143:{c[w>>2]=12;c[x>>2]=2576;c[y>>2]=63;b=12;break c}case 168:{c[w>>2]=13;c[x>>2]=2576;c[y>>2]=63;b=13;break c}case 195:{c[w>>2]=14;c[x>>2]=2576;c[y>>2]=63;b=14;break c}case 224:{c[w>>2]=15;c[x>>2]=2576;c[y>>2]=63;b=15;break c}case 255:{c[w>>2]=16;c[x>>2]=2576;c[y>>2]=63;b=16;break c}default:{b=c[a>>2]|0;c[b+20>>2]=17;c[b+24>>2]=c[C>>2];c[(c[a>>2]|0)+28>>2]=c[z>>2];c[(c[a>>2]|0)+32>>2]=c[D>>2];c[(c[a>>2]|0)+36>>2]=c[E>>2];Qb[c[c[a>>2]>>2]&255](a);b=c[w>>2]|0;d=c[o>>2]|0;break c}}while(0)}else k=22;while(0);if((k|0)==22){c[w>>2]=8;c[x>>2]=2576;c[y>>2]=63;b=8}c[u>>2]=b;c[v>>2]=b;if((d|0)>0){d=0;e=c[r>>2]|0;while(1){c[e+36>>2]=b;c[e+40>>2]=b;k=e+8|0;j=B(c[k>>2]|0,c[n>>2]|0)|0;c[e+28>>2]=fw(j,B(c[p>>2]|0,b)|0)|0;b=e+12|0;j=B(c[b>>2]|0,c[l>>2]|0)|0;c[e+32>>2]=fw(j,B(c[w>>2]|0,c[q>>2]|0)|0)|0;k=B(c[k>>2]|0,c[n>>2]|0)|0;c[e+44>>2]=fw(k,c[p>>2]|0)|0;b=B(c[b>>2]|0,c[l>>2]|0)|0;c[e+48>>2]=fw(b,c[q>>2]|0)|0;c[e+52>>2]=1;c[e+80>>2]=0;b=d+1|0;if((b|0)>=(c[o>>2]|0))break;d=b;e=e+88|0;b=c[w>>2]|0}b=c[w>>2]|0}c[A>>2]=fw(c[l>>2]|0,B(b,c[q>>2]|0)|0)|0;b=c[L>>2]|0;if((b|0)>=(c[o>>2]|0)?(c[t>>2]|0)==0:0){c[(c[G>>2]|0)+16>>2]=0;k=50;break b}c[(c[G>>2]|0)+16>>2]=1;k=50;break}default:{b=c[L>>2]|0;k=50}}while(0);if((k|0)==50){k=0;if(b|0){k=52;break}c[K>>2]=2}}if((k|0)==52){c[K>>2]=0;a=1;return a|0}else if((k|0)==57){Ww(a);a=1;return a|0}else if((k|0)==58){c[H>>2]=1;if(!(c[K>>2]|0)){d=a+152|0;b=c[a+144>>2]|0;if((c[d>>2]|0)<=(b|0)){a=2;return a|0}c[d>>2]=b;a=2;return a|0}else{if(!(c[(c[I>>2]|0)+16>>2]|0)){a=2;return a|0}L=c[a>>2]|0;c[L+20>>2]=62;Qb[c[L>>2]&255](a);a=2;return a|0}}else if((k|0)==63)return b|0;return 0}function Vw(a){a=a|0;var b=0;b=c[a+460>>2]|0;c[b>>2]=90;c[b+16>>2]=0;c[b+20>>2]=0;c[b+24>>2]=1;Qb[c[(c[a>>2]|0)+16>>2]&255](a);Qb[c[c[a+464>>2]>>2]&255](a);c[a+160>>2]=0;return}function Ww(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=a+340|0;b=c[h>>2]|0;if((b|0)!=1){if((b+-1|0)>>>0>3){g=c[a>>2]|0;c[g+20>>2]=27;c[g+24>>2]=b;c[(c[a>>2]|0)+28>>2]=4;Qb[c[c[a>>2]>>2]&255](a)}f=a+428|0;c[a+360>>2]=fw(c[a+28>>2]|0,B(c[f>>2]|0,c[a+316>>2]|0)|0)|0;c[a+364>>2]=fw(c[a+32>>2]|0,B(c[f>>2]|0,c[a+320>>2]|0)|0)|0;f=a+368|0;c[f>>2]=0;if((c[h>>2]|0)<=0){g=a+468|0;g=c[g>>2]|0;g=c[g>>2]|0;Qb[g&255](a);g=a+452|0;h=c[g>>2]|0;h=c[h>>2]|0;Qb[h&255](a);g=c[g>>2]|0;g=g+4|0;g=c[g>>2]|0;h=a+460|0;h=c[h>>2]|0;c[h>>2]=g;return}d=0;e=0;while(1){g=c[a+344+(d<<2)>>2]|0;k=c[g+8>>2]|0;c[g+56>>2]=k;j=c[g+12>>2]|0;c[g+60>>2]=j;b=B(j,k)|0;c[g+64>>2]=b;c[g+68>>2]=B(c[g+36>>2]|0,k)|0;i=((c[g+28>>2]|0)>>>0)%(k>>>0)|0;c[g+72>>2]=(i|0)==0?k:i;i=((c[g+32>>2]|0)>>>0)%(j>>>0)|0;c[g+76>>2]=(i|0)==0?j:i;if((b+e|0)>10){k=c[a>>2]|0;c[k+20>>2]=14;Qb[c[k>>2]&255](a)}if((b|0)>0)while(1){k=c[f>>2]|0;c[f>>2]=k+1;c[a+372+(k<<2)>>2]=d;if((b|0)>1)b=b+-1|0;else break}d=d+1|0;b=c[h>>2]|0;if((d|0)>=(b|0))break;e=c[f>>2]|0}if((b|0)<=0){j=a+468|0;j=c[j>>2]|0;j=c[j>>2]|0;Qb[j&255](a);j=a+452|0;k=c[j>>2]|0;k=c[k>>2]|0;Qb[k&255](a);j=c[j>>2]|0;j=j+4|0;j=c[j>>2]|0;k=a+460|0;k=c[k>>2]|0;c[k>>2]=j;return}}else{b=c[a+344>>2]|0;c[a+360>>2]=c[b+28>>2];k=c[b+32>>2]|0;c[a+364>>2]=k;c[b+56>>2]=1;c[b+60>>2]=1;c[b+64>>2]=1;c[b+68>>2]=c[b+36>>2];c[b+72>>2]=1;j=c[b+12>>2]|0;k=(k>>>0)%(j>>>0)|0;c[b+76>>2]=(k|0)==0?j:k;c[a+368>>2]=1;c[a+372>>2]=0;b=1}g=a+4|0;f=0;do{d=c[a+344+(f<<2)>>2]|0;e=d+80|0;if(!(c[e>>2]|0)){d=c[d+16>>2]|0;b=a+164+(d<<2)|0;if(!(d>>>0<=3?(c[b>>2]|0)!=0:0)){k=c[a>>2]|0;c[k+20>>2]=54;c[k+24>>2]=d;Qb[c[c[a>>2]>>2]&255](a)}k=Hb[c[c[g>>2]>>2]&63](a,1,132)|0;YO(k|0,c[b>>2]|0,132)|0;c[e>>2]=k;b=c[h>>2]|0}f=f+1|0}while((f|0)<(b|0));j=a+468|0;j=c[j>>2]|0;j=c[j>>2]|0;Qb[j&255](a);j=a+452|0;k=c[j>>2]|0;k=c[k>>2]|0;Qb[k&255](a);j=c[j>>2]|0;j=j+4|0;j=c[j>>2]|0;k=a+460|0;k=c[k>>2]|0;c[k>>2]=j;return}function Xw(a){a=a|0;Qb[c[(c[a+468>>2]|0)+8>>2]&255](a);c[c[a+460>>2]>>2]=90;return}function Yw(a){a=a|0;Zw(a);return}function Zw(a){a=a|0;var b=0,d=0;b=a+4|0;d=c[b>>2]|0;if(d|0)Qb[c[d+40>>2]&255](a);c[b>>2]=0;c[a+20>>2]=0;return}function _w(a){a=a|0;var b=0;b=c[a+4>>2]|0;if(!b)return;Sb[c[b+36>>2]&63](a,1);b=a+20|0;if(!(c[a+16>>2]|0)){c[b>>2]=100;return}else{c[b>>2]=200;c[a+312>>2]=0;return}}function $w(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+20>>2]|0;if((d&-2|0)!=200){e=c[a>>2]|0;c[e+20>>2]=21;c[e+24>>2]=d;Qb[c[c[a>>2]>>2]&255](a)}d=ax(a)|0;switch(d|0){case 1:{e=1;return e|0}case 2:{if(b){e=c[a>>2]|0;c[e+20>>2]=53;Qb[c[e>>2]&255](a)}_w(a);e=2;return e|0}default:{e=d;return e|0}}return 0}function ax(b){b=b|0;var d=0,e=0,f=0,h=0,i=0;i=b+20|0;d=c[i>>2]|0;switch(d|0){case 200:{d=b+460|0;Qb[c[(c[d>>2]|0)+4>>2]&255](b);Qb[c[(c[b+24>>2]|0)+8>>2]&255](b);c[i>>2]=201;break}case 201:{d=b+460|0;break}case 210:case 208:case 207:case 206:case 205:case 204:case 203:{i=Eb[c[c[b+460>>2]>>2]&127](b)|0;return i|0}case 202:{i=1;return i|0}default:{i=c[b>>2]|0;c[i+20>>2]=21;c[i+24>>2]=d;Qb[c[c[b>>2]>>2]&255](b);i=0;return i|0}}d=Eb[c[c[d>>2]>>2]&127](b)|0;if((d|0)!=1){i=d;return i|0}d=c[b+36>>2]|0;a:do switch(d|0){case 1:{e=d;break}case 3:{f=c[b+216>>2]|0;d=c[f>>2]|0;e=c[f+88>>2]|0;f=c[f+176>>2]|0;h=(d|0)==1;if(!(h&(e|0)==2&(f|0)==3))if(!(h&(e|0)==34&(f|0)==35))if(!((d|0)==82&(e|0)==71&(f|0)==66))if(!((d|0)==114&(e|0)==103&(f|0)==98))if(!(c[b+284>>2]|0)){if(!(c[b+296>>2]|0)){h=c[b>>2]|0;c[h+24>>2]=d;c[h+28>>2]=e;c[h+32>>2]=f;c[h+20>>2]=113;Sb[c[h+4>>2]&63](b,1);e=2;d=3;break a}d=a[b+300>>0]|0;switch(d<<24>>24){case 0:{e=2;d=2;break a}case 1:{e=2;d=3;break a}default:{e=c[b>>2]|0;c[e+20>>2]=116;c[e+24>>2]=d&255;Sb[c[(c[b>>2]|0)+4>>2]&63](b,-1);e=2;d=3;break a}}}else{e=2;d=3}else{e=2;d=6}else{e=2;d=2}else{e=2;d=7}else{e=2;d=3}break}case 4:{if(!(c[b+296>>2]|0)){e=4;d=4}else{d=a[b+300>>0]|0;switch(d<<24>>24){case 0:{e=4;d=4;break a}case 2:{e=4;d=5;break a}default:{e=c[b>>2]|0;c[e+20>>2]=116;c[e+24>>2]=d&255;Sb[c[(c[b>>2]|0)+4>>2]&63](b,-1);e=4;d=5;break a}}}break}default:{e=0;d=0}}while(0);c[b+40>>2]=d;c[b+44>>2]=e;h=c[b+428>>2]|0;c[b+48>>2]=h;c[b+52>>2]=h;g[b+56>>3]=1.0;c[b+64>>2]=0;c[b+68>>2]=0;c[b+72>>2]=0;c[b+76>>2]=1;c[b+80>>2]=1;c[b+84>>2]=0;c[b+88>>2]=2;c[b+92>>2]=1;c[b+96>>2]=256;c[b+136>>2]=0;c[b+100>>2]=0;c[b+104>>2]=0;c[b+108>>2]=0;c[i>>2]=202;i=1;return i|0}function bx(a){a=a|0;var b=0,d=0,e=0;b=a+20|0;d=c[b>>2]|0;if((d+-205|0)>>>0<2?(c[a+64>>2]|0)==0:0){if((c[a+140>>2]|0)>>>0<(c[a+116>>2]|0)>>>0){d=c[a>>2]|0;c[d+20>>2]=69;Qb[c[d>>2]&255](a)}Qb[c[(c[a+444>>2]|0)+4>>2]&255](a);c[b>>2]=210}else e=6;a:do if((e|0)==6)switch(d|0){case 210:break a;case 207:{c[b>>2]=210;break a}default:{e=c[a>>2]|0;c[e+20>>2]=21;c[e+24>>2]=d;Qb[c[c[a>>2]>>2]&255](a);break a}}while(0);d=a+460|0;b=c[d>>2]|0;b:do if(!(c[b+20>>2]|0)){while(1){if(!(Eb[c[b>>2]&127](a)|0)){b=0;break}b=c[d>>2]|0;if(c[b+20>>2]|0)break b}return b|0}while(0);Qb[c[(c[a+24>>2]|0)+24>>2]&255](a);_w(a);a=1;return a|0}function cx(a){a=a|0;c[a>>2]=140;c[a+4>>2]=53;c[a+8>>2]=141;c[a+12>>2]=54;c[a+16>>2]=142;c[a+104>>2]=0;c[a+108>>2]=0;c[a+20>>2]=0;c[a+112>>2]=2064;c[a+116>>2]=126;c[a+120>>2]=0;c[a+124>>2]=0;c[a+128>>2]=0;return a|0}function dx(a){a=a|0;Qb[c[(c[a>>2]|0)+8>>2]&255](a);Zw(a);Ea(1)}function ex(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a>>2]|0;if((b|0)>=0){if((c[d+104>>2]|0)<(b|0))return;Qb[c[d+8>>2]&255](a);return}e=d+108|0;b=c[e>>2]|0;if(!((b|0)!=0?(c[d+104>>2]|0)<=2:0)){Qb[c[d+8>>2]&255](a);b=c[e>>2]|0}c[e>>2]=b+1;return}function fx(a){a=a|0;var b=0,d=0,e=0;b=yb;yb=yb+208|0;d=b+200|0;e=b;Sb[c[(c[a>>2]|0)+12>>2]&63](a,e);a=c[4001]|0;c[d>>2]=e;Jz(a,46655,d)|0;yb=b;return}function gx(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=yb;yb=yb+48|0;j=k+8|0;i=k;h=c[b>>2]|0;f=c[h+20>>2]|0;if((f|0)>0?(f|0)<=(c[h+116>>2]|0):0){b=(c[h+112>>2]|0)+(f<<2)|0;g=8}else{b=c[h+120>>2]|0;if(((b|0)!=0?(e=c[h+124>>2]|0,(f|0)>=(e|0)):0)?(f|0)<=(c[h+128>>2]|0):0){b=b+(f-e<<2)|0;g=8}else g=9}if((g|0)==8){b=c[b>>2]|0;if(!b)g=9}if((g|0)==9){c[h+24>>2]=f;b=c[c[h+112>>2]>>2]|0}e=b;a:while(1){f=e+1|0;switch(a[e>>0]|0){case 0:break a;case 37:{g=12;break a}default:e=f}}if((g|0)==12?(a[f>>0]|0)==115:0){c[i>>2]=h+24;Fx(d,b,i)|0;yb=k;return}n=c[h+28>>2]|0;m=c[h+32>>2]|0;l=c[h+36>>2]|0;e=c[h+40>>2]|0;f=c[h+44>>2]|0;g=c[h+48>>2]|0;i=c[h+52>>2]|0;c[j>>2]=c[h+24>>2];c[j+4>>2]=n;c[j+8>>2]=m;c[j+12>>2]=l;c[j+16>>2]=e;c[j+20>>2]=f;c[j+24>>2]=g;c[j+28>>2]=i;Fx(d,b,j)|0;yb=k;return}function hx(a){a=a|0;a=c[a>>2]|0;c[a+108>>2]=0;c[a+20>>2]=0;return}function ix(a){a=a|0;return (aa(nx(c[a+60>>2]|0)|0)|0)&65535|0}function jx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=yb;yb=yb+32|0;h=l;i=l+16|0;j=a+28|0;f=c[j>>2]|0;c[h>>2]=f;k=a+20|0;f=(c[k>>2]|0)-f|0;c[h+4>>2]=f;c[h+8>>2]=b;c[h+12>>2]=d;e=a+60|0;g=2;b=f+d|0;while(1){if(!(lx(da(c[e>>2]|0,h|0,g|0,i|0)|0)|0))f=c[i>>2]|0;else{c[i>>2]=-1;f=-1}if((b|0)==(f|0)){b=6;break}if((f|0)<0){b=8;break}p=c[h+4>>2]|0;n=f>>>0>p>>>0;m=n?h+8|0:h;p=f-(n?p:0)|0;c[m>>2]=(c[m>>2]|0)+p;o=m+4|0;c[o>>2]=(c[o>>2]|0)-p;g=g+(n<<31>>31)|0;b=b-f|0;h=m}if((b|0)==6){p=c[a+44>>2]|0;c[a+16>>2]=p+(c[a+48>>2]|0);c[j>>2]=p;c[k>>2]=p}else if((b|0)==8){c[a+16>>2]=0;c[j>>2]=0;c[k>>2]=0;c[a>>2]=c[a>>2]|32;if((g|0)==2)d=0;else d=d-(c[h+4>>2]|0)|0}yb=l;return d|0}function kx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=yb;yb=yb+16|0;f=g;if(!(lx(ca(c[a+60>>2]|0,b|0,d|0,e&255|0,f|0)|0)|0)){b=f;a=c[b+4>>2]|0;b=c[b>>2]|0}else{a=f;c[a>>2]=-1;c[a+4>>2]=-1;a=-1;b=-1}E(a|0);yb=g;return b|0}function lx(a){a=a|0;if(!(a<<16>>16))a=0;else{c[(mx()|0)>>2]=a&65535;a=-1}return a|0}function mx(){return 55620}function nx(a){a=a|0;return a|0}function ox(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=yb;yb=yb+32|0;i=l;f=l+16|0;c[i>>2]=d;g=i+4|0;j=b+48|0;m=c[j>>2]|0;c[g>>2]=e-((m|0)!=0&1);h=b+44|0;c[i+8>>2]=c[h>>2];c[i+12>>2]=m;if(!(lx(ba(c[b+60>>2]|0,i|0,2,f|0)|0)|0)){f=c[f>>2]|0;if((f|0)>=1){i=c[g>>2]|0;if(f>>>0>i>>>0){g=c[h>>2]|0;h=b+4|0;c[h>>2]=g;c[b+8>>2]=g+(f-i);if(!(c[j>>2]|0))f=e;else{c[h>>2]=g+1;a[d+(e+-1)>>0]=a[g>>0]|0;f=e}}}else k=4}else{c[f>>2]=-1;f=-1;k=4}if((k|0)==4)c[b>>2]=f&48^16|c[b>>2];yb=l;return f|0}function px(a){a=a|0;return 0}function qx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;E(0);return 0}function rx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=sx(a,b,c)|0;E(F()|0);return d|0}function sx(a,b,c){a=a|0;b=b|0;c=c|0;c=tx(a,b,c,-1,-1)|0;E(F()|0);return c|0}function tx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=yb;yb=yb+144|0;h=j;c[h>>2]=0;i=h+4|0;c[i>>2]=a;c[h+44>>2]=a;g=h+8|0;c[g>>2]=(a|0)<0?-1:a+2147483647|0;c[h+76>>2]=-1;ux(h,0,0);d=vx(h,d,1,e,f)|0;e=F()|0;if(b|0)c[b>>2]=a+((c[i>>2]|0)+(c[h+120>>2]|0)-(c[g>>2]|0));E(e|0);yb=j;return d|0}function ux(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=a+112|0;c[f>>2]=b;c[f+4>>2]=d;f=c[a+8>>2]|0;e=c[a+4>>2]|0;g=f-e|0;h=((g|0)<0)<<31>>31;i=a+120|0;c[i>>2]=g;c[i+4>>2]=h;if(((b|0)!=0|(d|0)!=0)&((h|0)>(d|0)|(h|0)==(d|0)&g>>>0>b>>>0))c[a+104>>2]=e+b;else c[a+104>>2]=f;return}function vx(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;a:do if(e>>>0>36){c[(mx()|0)>>2]=28;h=0;g=0}else{r=b+4|0;q=b+104|0;do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=wx(b)|0}while((xx(i)|0)!=0);b:do switch(i|0){case 43:case 45:{i=((i|0)==45)<<31>>31;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;p=i;i=d[j>>0]|0;break b}else{p=i;i=wx(b)|0;break b}}default:p=0}while(0);j=(e|0)==0;do if((e|16|0)==16&(i|0)==48){i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=wx(b)|0;if((i|32|0)!=120)if(j){o=8;n=47;break}else{n=32;break}i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=wx(b)|0;if((d[5937+i>>0]|0)>15){g=(c[q>>2]|0)==0;if(!g)c[r>>2]=(c[r>>2]|0)+-1;if(!f){ux(b,0,0);h=0;g=0;break a}if(g){h=0;g=0;break a}c[r>>2]=(c[r>>2]|0)+-1;h=0;g=0;break a}else{o=16;n=47}}else{e=j?10:e;if(e>>>0>(d[5937+i>>0]|0)>>>0)n=32;else{if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;ux(b,0,0);c[(mx()|0)>>2]=28;h=0;g=0;break a}}while(0);c:do if((n|0)==32)if((e|0)==10){e=i+-48|0;if(e>>>0<10){i=0;do{i=(i*10|0)+e|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=wx(b)|0;e=j+-48|0}while(e>>>0<10&i>>>0<429496729);if(e>>>0<10){m=0;do{f=LO(i|0,m|0,10,0)|0;k=F()|0;l=((e|0)<0)<<31>>31;o=~l;if(k>>>0>o>>>0|(k|0)==(o|0)&f>>>0>~e>>>0){f=10;e=m;n=76;break c}i=MO(f|0,k|0,e|0,l|0)|0;m=F()|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=wx(b)|0;e=j+-48|0}while(e>>>0<10&(m>>>0<429496729|(m|0)==429496729&i>>>0<2576980378));if(e>>>0>9){j=p;e=m}else{f=10;e=m;n=76}}else{j=p;e=0}}else{j=p;e=0;i=0}}else{o=e;n=47}while(0);d:do if((n|0)==47){if(!(o+-1&o)){n=a[46659+((o*23|0)>>>5&7)>>0]|0;f=a[5937+i>>0]|0;e=f&255;if(o>>>0>e>>>0){i=0;do{i=e|i<>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=wx(b)|0;f=a[5937+j>>0]|0;e=f&255}while(i>>>0<134217728&o>>>0>e>>>0);k=e;e=0}else{j=i;k=e;e=0;i=0}l=RO(-1,-1,n|0)|0;m=F()|0;if(o>>>0<=k>>>0|(m>>>0>>0|(m|0)==(e|0)&l>>>0>>0)){f=o;n=76;break}while(1){i=SO(i|0,e|0,n|0)|0;e=F()|0;i=i|f&255;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=wx(b)|0;f=a[5937+j>>0]|0;if(o>>>0<=(f&255)>>>0|(e>>>0>m>>>0|(e|0)==(m|0)&i>>>0>l>>>0)){f=o;n=76;break d}}}e=a[5937+i>>0]|0;f=e&255;if(o>>>0>f>>>0){i=0;do{i=f+(B(i,o)|0)|0;e=c[r>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[r>>2]=e+1;j=d[e>>0]|0}else j=wx(b)|0;e=a[5937+j>>0]|0;f=e&255}while(i>>>0<119304647&o>>>0>f>>>0);k=e;e=0}else{j=i;k=e;i=0;e=0}if(o>>>0>f>>>0){m=QO(-1,-1,o|0,0)|0;n=F()|0;f=k;while(1){if(e>>>0>n>>>0|(e|0)==(n|0)&i>>>0>m>>>0){f=o;n=76;break d}k=LO(i|0,e|0,o|0,0)|0;l=F()|0;f=f&255;if(l>>>0>4294967295|(l|0)==-1&k>>>0>~f>>>0){f=o;n=76;break d}i=MO(k|0,l|0,f|0,0)|0;e=F()|0;j=c[r>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[r>>2]=j+1;j=d[j>>0]|0}else j=wx(b)|0;f=a[5937+j>>0]|0;if(o>>>0<=(f&255)>>>0){f=o;n=76;break}}}else{f=o;n=76}}while(0);if((n|0)==76)if(f>>>0>(d[5937+j>>0]|0)>>>0){do{i=c[r>>2]|0;if(i>>>0<(c[q>>2]|0)>>>0){c[r>>2]=i+1;i=d[i>>0]|0}else i=wx(b)|0}while(f>>>0>(d[5937+i>>0]|0)>>>0);c[(mx()|0)>>2]=68;j=(g&1|0)==0&0==0?p:0;e=h;i=g}else j=p;if(c[q>>2]|0)c[r>>2]=(c[r>>2]|0)+-1;if(!(e>>>0>>0|(e|0)==(h|0)&i>>>0>>0)){if(!((g&1|0)!=0|0!=0|(j|0)!=0)){c[(mx()|0)>>2]=68;g=MO(g|0,h|0,-1,-1)|0;h=F()|0;break}if(e>>>0>h>>>0|(e|0)==(h|0)&i>>>0>g>>>0){c[(mx()|0)>>2]=68;break}}g=((j|0)<0)<<31>>31;g=NO(i^j|0,e^g|0,j|0,g|0)|0;h=F()|0}while(0);E(h|0);return g|0}function wx(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=b+112|0;f=g;e=c[f>>2]|0;f=c[f+4>>2]|0;if(!((e|0)==0&(f|0)==0)?(i=b+120|0,h=c[i+4>>2]|0,!((h|0)<(f|0)|((h|0)==(f|0)?(c[i>>2]|0)>>>0>>0:0))):0)j=4;else{e=yx(b)|0;if((e|0)>=0){f=c[g>>2]|0;g=c[g+4>>2]|0;i=c[b+8>>2]|0;if(!((f|0)==0&(g|0)==0)){h=c[b+4>>2]|0;k=i-h|0;l=((k|0)<0)<<31>>31;m=b+120|0;f=NO(f|0,g|0,c[m>>2]|0,c[m+4>>2]|0)|0;m=F()|0;g=i;if((m|0)>(l|0)|(m|0)==(l|0)&f>>>0>k>>>0)j=9;else c[b+104>>2]=h+(f+-1)}else{g=i;j=9}if((j|0)==9)c[b+104>>2]=i;f=b+4|0;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;k=g+1-f|0;m=b+120|0;l=m;k=MO(c[l>>2]|0,c[l+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;l=F()|0;c[m>>2]=k;c[m+4>>2]=l}f=f+-1|0;if((e|0)!=(d[f>>0]|0|0))a[f>>0]=e}else j=4}if((j|0)==4){c[b+104>>2]=0;e=-1}return e|0}function xx(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function yx(a){a=a|0;var b=0,e=0;e=yb;yb=yb+16|0;b=e;if((zx(a)|0)==0?(Hb[c[a+32>>2]&63](a,b,1)|0)==1:0)a=d[b>>0]|0;else a=-1;yb=e;return a|0}function zx(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=b+20|0;e=b+28|0;if((c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0)Hb[c[b+36>>2]&63](b,0,0)|0;c[b+16>>2]=0;c[e>>2]=0;c[d>>2]=0;d=c[b>>2]|0;if(!(d&4)){e=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=e;c[b+4>>2]=e;d=d<<27>>31}else{c[b>>2]=d|32;d=-1}return d|0}function Ax(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=Bx(a,b,c)|0;E(F()|0);return d|0}function Bx(a,b,c){a=a|0;b=b|0;c=c|0;c=tx(a,b,c,0,-2147483648)|0;E(F()|0);return c|0}function Cx(a,b){a=+a;b=+b;var d=0,e=0;g[h>>3]=a;e=c[h>>2]|0;d=c[h+4>>2]|0;g[h>>3]=b;d=c[h+4>>2]&-2147483648|d&2147483647;c[h>>2]=e;c[h+4>>2]=d;return +(+g[h>>3])}function Dx(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function Ex(a){a=a|0;return (a+-48|0)>>>0<10|0}function Fx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=yb;yb=yb+16|0;f=e;c[f>>2]=d;d=Gx(a,b,f)|0;yb=e;return d|0}function Gx(a,b,c){a=a|0;b=b|0;c=c|0;return Hx(a,2147483647,b,c)|0}function Hx(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=yb;yb=yb+160|0;g=j+144|0;i=j;YO(i|0,13736,144)|0;if((d+-1|0)>>>0>2147483646)if(!d){b=g;d=1;h=4}else{c[(mx()|0)>>2]=61;d=-1}else h=4;if((h|0)==4){h=-2-b|0;h=d>>>0>h>>>0?h:d;c[i+48>>2]=h;g=i+20|0;c[g>>2]=b;c[i+44>>2]=b;d=b+h|0;b=i+16|0;c[b>>2]=d;c[i+28>>2]=d;d=Ix(i,e,f)|0;if(h){i=c[g>>2]|0;a[i+(((i|0)==(c[b>>2]|0))<<31>>31)>>0]=0}}yb=j;return d|0}function Ix(a,b,c){a=a|0;b=b|0;c=c|0;return Lx(a,b,c,1,55)|0}function Jx(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,G=0,H=0;H=yb;yb=yb+560|0;l=H+32|0;u=H+536|0;G=H;E=G;m=H+540|0;c[u>>2]=0;D=m+12|0;by(e)|0;j=F()|0;if((j|0)<0){e=-e;by(e)|0;C=1;A=46685;j=F()|0}else{C=(h&2049|0)!=0&1;A=(h&2048|0)==0?((h&1|0)==0?46686:46691):46688}do if(0==0&(j&2146435072|0)==2146435072){G=(i&32|0)!=0;j=C+3|0;Wx(b,32,f,j,h&-65537);Px(b,A,C);Px(b,e!=e|0.0!=0.0?(G?46727:46712):G?46704:46708,3);Wx(b,32,f,j,h^8192)}else{q=+cy(e,u)*2.0;j=q!=0.0;if(j)c[u>>2]=(c[u>>2]|0)+-1;t=i|32;if((t|0)==97){o=i&32;r=(o|0)==0?A:A+9|0;p=C|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[r>>0]|0)==45){e=-(e+(-q-e));break}else{e=q+e-e;break}}else e=q;while(0);k=c[u>>2]|0;j=(k|0)<0?0-k|0:k;j=Ux(j,((j|0)<0)<<31>>31,D)|0;if((j|0)==(D|0)){j=m+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;a[n>>0]=i+15;k=(g|0)<1;l=(h&8|0)==0;m=G;do{C=~~e;j=m+1|0;a[m>>0]=o|d[6672+C>>0];e=(e-+(C|0))*16.0;if((j-E|0)==1?!(l&(k&e==0.0)):0){a[j>>0]=46;m=m+2|0}else m=j}while(e!=0.0);if((g|0)!=0?(-2-E+m|0)<(g|0):0){k=D;l=n;j=g+2+k-l|0}else{k=D;l=n;j=k-E-l+m|0}D=j+p|0;Wx(b,32,f,D,h);Px(b,r,p);Wx(b,48,f,D,h^65536);E=m-E|0;Px(b,G,E);G=k-l|0;Wx(b,48,j-(E+G)|0,0,0);Px(b,n,G);Wx(b,32,f,D,h^8192);j=D;break}k=(g|0)<0?6:g;if(j){j=(c[u>>2]|0)+-28|0;c[u>>2]=j;e=q*268435456.0}else{e=q;j=c[u>>2]|0}z=(j|0)<0?l:l+288|0;l=z;do{x=~~e>>>0;c[l>>2]=x;l=l+4|0;e=(e-+(x>>>0))*1.0e9}while(e!=0.0);x=z;if((j|0)>0){o=z;while(1){n=(j|0)<29?j:29;j=l+-4|0;if(j>>>0>=o>>>0){m=0;do{s=SO(c[j>>2]|0,0,n|0)|0;s=MO(s|0,F()|0,m|0,0)|0;v=F()|0;m=QO(s|0,v|0,1e9,0)|0;w=LO(m|0,F()|0,1e9,0)|0;w=NO(s|0,v|0,w|0,F()|0)|0;F()|0;c[j>>2]=w;j=j+-4|0}while(j>>>0>=o>>>0);if(m){w=o+-4|0;c[w>>2]=m;m=w}else m=o}else m=o;a:do if(l>>>0>m>>>0){j=l;while(1){l=j+-4|0;if(c[l>>2]|0){l=j;break a}if(l>>>0>m>>>0)j=l;else break}}while(0);j=(c[u>>2]|0)-n|0;c[u>>2]=j;if((j|0)>0)o=m;else break}}else m=z;if((j|0)<0){g=((k+25|0)/9|0)+1|0;s=(t|0)==102;do{r=0-j|0;r=(r|0)<9?r:9;if(m>>>0>>0){n=(1<>>r;p=0;j=m;do{w=c[j>>2]|0;c[j>>2]=(w>>>r)+p;p=B(w&n,o)|0;j=j+4|0}while(j>>>0>>0);m=(c[m>>2]|0)==0?m+4|0:m;if(p){c[l>>2]=p;l=l+4|0}}else m=(c[m>>2]|0)==0?m+4|0:m;j=s?z:m;l=(l-j>>2|0)>(g|0)?j+(g<<2)|0:l;j=(c[u>>2]|0)+r|0;c[u>>2]=j}while((j|0)<0);s=m}else s=m;if(s>>>0>>0){j=(x-s>>2)*9|0;n=c[s>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;j=j+1|0}while(n>>>0>=m>>>0)}}else j=0;v=(t|0)==103;w=(k|0)!=0;m=k-((t|0)==102?0:j)+((w&v)<<31>>31)|0;if((m|0)<(((l-x>>2)*9|0)+-9|0)){u=m+9216|0;m=(u|0)/9|0;g=z+4+(m+-1024<<2)|0;m=u-(m*9|0)|0;if((m|0)<8){n=10;while(1){n=n*10|0;if((m|0)<7)m=m+1|0;else break}}else n=10;p=c[g>>2]|0;m=(p>>>0)/(n>>>0)|0;r=p-(B(m,n)|0)|0;o=(g+4|0)==(l|0);if(!(o&(r|0)==0)){q=(m&1|0)==0?9007199254740992.0:9007199254740994.0;u=n>>>1;e=r>>>0>>0?.5:o&(r|0)==(u|0)?1.0:1.5;if(C){u=(a[A>>0]|0)==45;e=u?-e:e;q=u?-q:q}m=p-r|0;c[g>>2]=m;if(q+e!=q){u=m+n|0;c[g>>2]=u;if(u>>>0>999999999){n=g;j=s;while(1){m=n+-4|0;c[n>>2]=0;if(m>>>0>>0){j=j+-4|0;c[j>>2]=0}u=(c[m>>2]|0)+1|0;c[m>>2]=u;if(u>>>0>999999999)n=m;else{n=j;break}}}else{m=g;n=s}j=(x-n>>2)*9|0;p=c[n>>2]|0;if(p>>>0>=10){o=10;do{o=o*10|0;j=j+1|0}while(p>>>0>=o>>>0)}}else{m=g;n=s}}else{m=g;n=s}u=m+4|0;l=l>>>0>u>>>0?u:l}else n=s;g=0-j|0;b:do if(l>>>0>n>>>0)while(1){m=l+-4|0;if(c[m>>2]|0){u=l;t=1;break b}if(m>>>0>n>>>0)l=m;else{u=m;t=0;break}}else{u=l;t=0}while(0);do if(v){k=k+((w^1)&1)|0;if((k|0)>(j|0)&(j|0)>-5){o=i+-1|0;k=k+-1-j|0}else{o=i+-2|0;k=k+-1|0}if(!(h&8)){if(t?(y=c[u+-4>>2]|0,(y|0)!=0):0)if(!((y>>>0)%10|0)){m=0;l=10;do{l=l*10|0;m=m+1|0}while(!((y>>>0)%(l>>>0)|0|0))}else m=0;else m=9;l=((u-x>>2)*9|0)+-9|0;if((o|32|0)==102){i=l-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}else{i=l+j-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}}}else o=i;while(0);s=(k|0)!=0;p=s?1:h>>>3&1;r=(o|32|0)==102;if(r){v=0;j=(j|0)>0?j:0}else{l=(j|0)<0?g:j;l=Ux(l,((l|0)<0)<<31>>31,D)|0;m=D;if((m-l|0)<2)do{l=l+-1|0;a[l>>0]=48}while((m-l|0)<2);a[l+-1>>0]=(j>>31&2)+43;j=l+-2|0;a[j>>0]=o;v=j;j=m-j|0}j=C+1+k+p+j|0;Wx(b,32,f,j,h);Px(b,A,C);Wx(b,48,f,j,h^65536);if(r){p=n>>>0>z>>>0?z:n;r=G+9|0;n=r;o=G+8|0;m=p;do{l=Ux(c[m>>2]|0,0,r)|0;if((m|0)==(p|0)){if((l|0)==(r|0)){a[o>>0]=48;l=o}}else if(l>>>0>G>>>0){_O(G|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}Px(b,l,n-l|0);m=m+4|0}while(m>>>0<=z>>>0);if(!((h&8|0)==0&(s^1)))Px(b,46716,1);if(m>>>0>>0&(k|0)>0)while(1){l=Ux(c[m>>2]|0,0,r)|0;if(l>>>0>G>>>0){_O(G|0,48,l-E|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}Px(b,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0>>0&(k|0)>9)){k=l;break}else k=l}Wx(b,48,k+9|0,9,0)}else{u=t?u:n+4|0;if(n>>>0>>0&(k|0)>-1){g=G+9|0;s=(h&8|0)==0;t=g;p=0-E|0;r=G+8|0;o=n;do{l=Ux(c[o>>2]|0,0,g)|0;if((l|0)==(g|0)){a[r>>0]=48;l=r}do if((o|0)==(n|0)){m=l+1|0;Px(b,l,1);if(s&(k|0)<1){l=m;break}Px(b,46716,1);l=m}else{if(l>>>0<=G>>>0)break;_O(G|0,48,l+p|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}while(0);E=t-l|0;Px(b,l,(k|0)>(E|0)?E:k);k=k-E|0;o=o+4|0}while(o>>>0>>0&(k|0)>-1)}Wx(b,48,k+18|0,18,0);Px(b,v,D-v|0)}Wx(b,32,f,j,h^8192)}while(0);yb=H;return ((j|0)<(f|0)?f:j)|0}function Kx(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=(c[b>>2]|0)+(8-1)&~(8-1);d=+g[e>>3];c[b>>2]=e+8;g[a>>3]=d;return}function Lx(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=yb;yb=yb+224|0;p=t+208|0;q=t+160|0;r=t+80|0;s=t;h=q;i=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(i|0));c[p>>2]=c[e>>2];if((Mx(0,d,p,r,q,f,g)|0)<0)e=-1;else{if((c[b+76>>2]|0)>-1)o=Nx(b)|0;else o=0;e=c[b>>2]|0;n=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;h=b+48|0;if(!(c[h>>2]|0)){i=b+44|0;j=c[i>>2]|0;c[i>>2]=s;k=b+28|0;c[k>>2]=s;l=b+20|0;c[l>>2]=s;c[h>>2]=80;m=b+16|0;c[m>>2]=s+80;e=Mx(b,d,p,r,q,f,g)|0;if(j){Hb[c[b+36>>2]&63](b,0,0)|0;e=(c[l>>2]|0)==0?-1:e;c[i>>2]=j;c[h>>2]=0;c[m>>2]=0;c[k>>2]=0;c[l>>2]=0}}else e=Mx(b,d,p,r,q,f,g)|0;h=c[b>>2]|0;c[b>>2]=h|n;if(o|0)Ox(b);e=(h&32|0)==0?e:-1}yb=t;return e|0}function Mx(d,e,f,h,i,j,k){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0;J=yb;yb=yb+64|0;G=J+56|0;I=J+40|0;A=J;C=J+48|0;D=J+60|0;c[G>>2]=e;x=(d|0)!=0;y=A+40|0;z=y;A=A+39|0;B=C+4|0;l=0;e=0;n=0;a:while(1){do{do if((e|0)>-1)if((l|0)>(2147483647-e|0)){c[(mx()|0)>>2]=61;e=-1;break}else{e=l+e|0;break}while(0);r=c[G>>2]|0;l=a[r>>0]|0;if(!(l<<24>>24)){w=92;break a}m=r;b:while(1){switch(l<<24>>24){case 37:{w=10;break b}case 0:{l=m;break b}default:{}}v=m+1|0;c[G>>2]=v;l=a[v>>0]|0;m=v}c:do if((w|0)==10){w=0;l=m;do{if((a[m+1>>0]|0)!=37)break c;l=l+1|0;m=m+2|0;c[G>>2]=m}while((a[m>>0]|0)==37)}while(0);l=l-r|0;if(x)Px(d,r,l)}while((l|0)!=0);v=(Ex(a[(c[G>>2]|0)+1>>0]|0)|0)==0;m=c[G>>2]|0;if(!v?(a[m+2>>0]|0)==36:0){t=(a[m+1>>0]|0)+-48|0;p=1;l=3}else{t=-1;p=n;l=1}l=m+l|0;c[G>>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0;if(n>>>0>31|(1<>2]=l;m=a[l>>0]|0;n=(m<<24>>24)+-32|0}while(!(n>>>0>31|(1<>24==42){if((Ex(a[l+1>>0]|0)|0)!=0?(H=c[G>>2]|0,(a[H+2>>0]|0)==36):0){l=H+1|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;n=1;m=H+3|0}else{if(p|0){e=-1;break}if(x){v=(c[f>>2]|0)+(4-1)&~(4-1);l=c[v>>2]|0;c[f>>2]=v+4}else l=0;n=0;m=(c[G>>2]|0)+1|0}c[G>>2]=m;v=(l|0)<0;u=v?0-l|0:l;o=v?o|8192:o;v=n}else{l=Qx(G)|0;if((l|0)<0){e=-1;break}u=l;v=p;m=c[G>>2]|0}do if((a[m>>0]|0)==46){l=m+1|0;if((a[l>>0]|0)!=42){c[G>>2]=l;l=Qx(G)|0;m=c[G>>2]|0;break}if(Ex(a[m+2>>0]|0)|0?(E=c[G>>2]|0,(a[E+3>>0]|0)==36):0){l=E+2|0;c[i+((a[l>>0]|0)+-48<<2)>>2]=10;l=c[h+((a[l>>0]|0)+-48<<3)>>2]|0;m=E+4|0;c[G>>2]=m;break}if(v|0){e=-1;break a}if(x){s=(c[f>>2]|0)+(4-1)&~(4-1);l=c[s>>2]|0;c[f>>2]=s+4}else l=0;m=(c[G>>2]|0)+2|0;c[G>>2]=m}else l=-1;while(0);s=0;while(1){if(((a[m>>0]|0)+-65|0)>>>0>57){e=-1;break a}n=m;m=m+1|0;c[G>>2]=m;n=a[(a[n>>0]|0)+-65+(6208+(s*58|0))>>0]|0;p=n&255;if((p+-1|0)>>>0>=8)break;else s=p}if(!(n<<24>>24)){e=-1;break}q=(t|0)>-1;do if(n<<24>>24==19)if(q){e=-1;break a}else w=54;else{if(q){c[i+(t<<2)>>2]=p;q=h+(t<<3)|0;t=c[q+4>>2]|0;w=I;c[w>>2]=c[q>>2];c[w+4>>2]=t;w=54;break}if(!x){e=0;break a}Rx(I,p,f,k);m=c[G>>2]|0;w=55}while(0);if((w|0)==54){w=0;if(x)w=55;else l=0}d:do if((w|0)==55){w=0;m=a[m+-1>>0]|0;m=(s|0)!=0&(m&15|0)==3?m&-33:m;n=o&-65537;t=(o&8192|0)==0?o:n;e:do switch(m|0){case 110:switch((s&255)<<24>>24){case 0:{c[c[I>>2]>>2]=e;l=0;break d}case 1:{c[c[I>>2]>>2]=e;l=0;break d}case 2:{l=c[I>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}case 3:{b[c[I>>2]>>1]=e;l=0;break d}case 4:{a[c[I>>2]>>0]=e;l=0;break d}case 6:{c[c[I>>2]>>2]=e;l=0;break d}case 7:{l=c[I>>2]|0;c[l>>2]=e;c[l+4>>2]=((e|0)<0)<<31>>31;l=0;break d}default:{l=0;break d}}case 112:{m=120;l=l>>>0>8?l:8;n=t|8;w=67;break}case 88:case 120:{n=t;w=67;break}case 111:{q=I;q=Tx(c[q>>2]|0,c[q+4>>2]|0,y)|0;n=z-q|0;o=0;p=46668;l=(t&8|0)==0|(l|0)>(n|0)?l:n+1|0;n=t;w=73;break}case 105:case 100:{n=I;m=c[n>>2]|0;n=c[n+4>>2]|0;if((n|0)<0){m=NO(0,0,m|0,n|0)|0;n=F()|0;o=I;c[o>>2]=m;c[o+4>>2]=n;o=1;p=46668;w=72;break e}else{o=(t&2049|0)!=0&1;p=(t&2048|0)==0?((t&1|0)==0?46668:46670):46669;w=72;break e}}case 117:{n=I;o=0;p=46668;m=c[n>>2]|0;n=c[n+4>>2]|0;w=72;break}case 99:{a[A>>0]=c[I>>2];r=A;o=0;p=46668;q=1;m=n;l=z;break}case 115:{s=c[I>>2]|0;s=(s|0)==0?46678:s;t=Vx(s,0,l)|0;K=(t|0)==0;r=s;o=0;p=46668;q=K?l:t-s|0;m=n;l=K?s+l|0:t;break}case 67:{c[C>>2]=c[I>>2];c[B>>2]=0;c[I>>2]=C;p=-1;w=79;break}case 83:{if(!l){Wx(d,32,u,0,t);l=0;w=89}else{p=l;w=79}break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{l=Fb[j&1](d,+g[I>>3],u,l,t,m)|0;break d}default:{o=0;p=46668;q=l;m=t;l=z}}while(0);f:do if((w|0)==67){q=I;q=Sx(c[q>>2]|0,c[q+4>>2]|0,y,m&32)|0;p=I;p=(n&8|0)==0|(c[p>>2]|0)==0&(c[p+4>>2]|0)==0;o=p?0:2;p=p?46668:46668+(m>>>4)|0;w=73}else if((w|0)==72){q=Ux(m,n,y)|0;n=t;w=73}else if((w|0)==79){w=0;o=c[I>>2]|0;l=0;while(1){m=c[o>>2]|0;if(!m)break;m=Xx(D,m)|0;n=(m|0)<0;if(n|m>>>0>(p-l|0)>>>0){w=83;break}l=m+l|0;if(p>>>0>l>>>0)o=o+4|0;else break}if((w|0)==83){w=0;if(n){e=-1;break a}}Wx(d,32,u,l,t);if(!l){l=0;w=89}else{n=c[I>>2]|0;o=0;while(1){m=c[n>>2]|0;if(!m){w=89;break f}m=Xx(D,m)|0;o=m+o|0;if((o|0)>(l|0)){w=89;break f}Px(d,D,m);if(o>>>0>=l>>>0){w=89;break}else n=n+4|0}}}while(0);if((w|0)==73){w=0;m=I;m=(c[m>>2]|0)!=0|(c[m+4>>2]|0)!=0;K=(l|0)!=0|m;m=z-q+((m^1)&1)|0;r=K?q:y;q=K?((l|0)>(m|0)?l:m):0;m=(l|0)>-1?n&-65537:n;l=z}else if((w|0)==89){w=0;Wx(d,32,u,l,t^8192);l=(u|0)>(l|0)?u:l;break}t=l-r|0;s=(q|0)<(t|0)?t:q;K=s+o|0;l=(u|0)<(K|0)?K:u;Wx(d,32,l,K,m);Px(d,p,o);Wx(d,48,l,K,m^65536);Wx(d,48,s,t,0);Px(d,r,t);Wx(d,32,l,K,m^8192)}while(0);n=v}g:do if((w|0)==92)if(!d)if(!n)e=0;else{e=1;while(1){l=c[i+(e<<2)>>2]|0;if(!l)break;Rx(h+(e<<3)|0,l,f,k);e=e+1|0;if(e>>>0>=10){e=1;break g}}while(1){if(c[i+(e<<2)>>2]|0){e=-1;break g}e=e+1|0;if(e>>>0>=10){e=1;break}}}while(0);yb=J;return e|0}function Nx(a){a=a|0;return 1}function Ox(a){a=a|0;return}function Px(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))$x(b,d,a)|0;return}function Qx(b){b=b|0;var d=0,e=0;if(!(Ex(a[c[b>>2]>>0]|0)|0))d=0;else{d=0;do{e=c[b>>2]|0;d=(d*10|0)+-48+(a[e>>0]|0)|0;e=e+1|0;c[b>>2]=e}while((Ex(a[e>>0]|0)|0)!=0)}return d|0}function Rx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{b=(c[d>>2]|0)+(4-1)&~(4-1);e=c[b>>2]|0;c[d>>2]=b+4;c[a>>2]=e;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);h=+g[f>>3];c[d>>2]=f+8;g[a>>3]=h;break a}case 18:{Sb[e&63](a,d);break a}default:break a}while(0);while(0);return}function Sx(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[6672+(b&15)>>0]|0|f;b=RO(b|0,c|0,4)|0;c=F()|0}while(!((b|0)==0&(c|0)==0));return e|0}function Tx(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=RO(b|0,c|0,3)|0;c=F()|0}while(!((b|0)==0&(c|0)==0));return d|0}function Ux(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295){do{e=b;b=QO(b|0,c|0,10,0)|0;f=c;c=F()|0;g=LO(b|0,c|0,10,0)|0;g=NO(e|0,f|0,g|0,F()|0)|0;F()|0;d=d+-1|0;a[d>>0]=g&255|48}while(f>>>0>9|(f|0)==9&e>>>0>4294967295);c=b}else c=b;if(c)do{g=c;c=(c>>>0)/10|0;d=d+-1|0;a[d>>0]=g-(c*10|0)|48}while(g>>>0>=10);return d|0}function Vx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d&255;f=(e|0)!=0;a:do if(f&(b&3|0)!=0){g=d&255;while(1){if((a[b>>0]|0)==g<<24>>24){i=6;break a}b=b+1|0;e=e+-1|0;f=(e|0)!=0;if(!(f&(b&3|0)!=0)){i=5;break}}}else i=5;while(0);if((i|0)==5)if(f)i=6;else i=16;b:do if((i|0)==6){g=d&255;if((a[b>>0]|0)==g<<24>>24)if(!e){i=16;break}else break;f=B(h,16843009)|0;c:do if(e>>>0>3)while(1){h=c[b>>2]^f;if((h&-2139062144^-2139062144)&h+-16843009|0)break c;b=b+4|0;e=e+-4|0;if(e>>>0<=3){i=11;break}}else i=11;while(0);if((i|0)==11)if(!e){i=16;break}while(1){if((a[b>>0]|0)==g<<24>>24)break b;e=e+-1|0;if(!e){i=16;break}else b=b+1|0}}while(0);if((i|0)==16)b=0;return b|0}function Wx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=yb;yb=yb+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;_O(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){b=c-d|0;do{Px(a,f,256);e=e+-256|0}while(e>>>0>255);e=b&255}Px(a,f,e)}yb=g;return}function Xx(a,b){a=a|0;b=b|0;if(!a)a=0;else a=Yx(a,b,0)|0;return a|0}function Yx(b,d,e){b=b|0;d=d|0;e=e|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[c[(Zx()|0)+188>>2]>>2]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[(mx()|0)>>2]=25;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[(mx()|0)>>2]=25;b=-1;break}}else b=1;while(0);return b|0}function Zx(){return _x()|0}function _x(){return 16020}function $x(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=e+16|0;g=c[f>>2]|0;if(!g)if(!(ay(e)|0)){g=c[f>>2]|0;h=5}else f=0;else h=5;a:do if((h|0)==5){j=e+20|0;i=c[j>>2]|0;f=i;if((g-i|0)>>>0>>0){f=Hb[c[e+36>>2]&63](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0){h=0;g=b}else{i=d;while(1){g=i+-1|0;if((a[b+g>>0]|0)==10)break;if(!g){h=0;g=b;break b}else i=g}f=Hb[c[e+36>>2]&63](e,b,i)|0;if(f>>>0>>0)break a;h=i;g=b+i|0;d=d-i|0;f=c[j>>2]|0}while(0);YO(f|0,g|0,d|0)|0;c[j>>2]=(c[j>>2]|0)+d;f=h+d|0}while(0);return f|0}function ay(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;e=c[b+44>>2]|0;c[b+28>>2]=e;c[b+20>>2]=e;c[b+16>>2]=e+(c[b+48>>2]|0);b=0}else{c[b>>2]=d|32;b=-1}return b|0}function by(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;E(c[h+4>>2]|0);return b|0}function cy(a,b){a=+a;b=b|0;var d=0,e=0,f=0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;f=RO(d|0,e|0,52)|0;F()|0;switch(f&2047){case 0:{if(a!=0.0){a=+cy(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[h>>2]=d;c[h+4>>2]=e&-2146435073|1071644672;a=+g[h>>3]}}return +a}function dy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;YO(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function ey(){return 16264}function fy(){var a=0;a=(c[c[(gy()|0)+188>>2]>>2]|0)==0;return (a?1:4)|0}function gy(){return _x()|0}function hy(){return 16268}function iy(){return 16272}function jy(a){a=a|0;var b=0;b=a;while(1)if(!(c[b>>2]|0))break;else b=b+4|0;return b-a>>2|0}function ky(a){a=a|0;return (((a|32)+-97|0)>>>0<6|(Ex(a)|0)!=0)&1|0}function ly(a){a=a|0;if(a>>>0>4294963200){c[(mx()|0)>>2]=0-a;a=-1}return a|0}function my(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=yb;yb=yb+208|0;j=m;k=m+192|0;h=B(d,b)|0;i=k;c[i>>2]=1;c[i+4>>2]=0;a:do if(h|0){i=0-d|0;c[j+4>>2]=d;c[j>>2]=d;f=2;b=d;g=d;while(1){b=b+d+g|0;c[j+(f<<2)>>2]=b;if(b>>>0>>0){n=g;f=f+1|0;g=b;b=n}else break}g=a+h+i|0;if(g>>>0>a>>>0){h=g;f=1;b=1;do{do if((b&3|0)!=3){b=f+-1|0;if((c[j+(b<<2)>>2]|0)>>>0<(h-a|0)>>>0)ny(a,d,e,f,j);else py(a,d,e,k,f,0,j);if((f|0)==1){qy(k,1);f=0;break}else{qy(k,b);f=1;break}}else{ny(a,d,e,f,j);oy(k,2);f=f+2|0}while(0);b=c[k>>2]|1;c[k>>2]=b;a=a+d|0}while(a>>>0>>0)}else{f=1;b=1}py(a,d,e,k,f,0,j);g=k+4|0;while(1){if((f|0)==1&(b|0)==1)if(!(c[g>>2]|0))break a;else l=19;else if((f|0)<2)l=19;else{qy(k,2);n=f+-2|0;c[k>>2]=c[k>>2]^7;oy(k,1);py(a+(0-(c[j+(n<<2)>>2]|0))+i|0,d,e,k,f+-1|0,1,j);qy(k,1);b=c[k>>2]|1;c[k>>2]=b;a=a+i|0;py(a,d,e,k,n,1,j);f=n}if((l|0)==19){l=0;b=ry(k)|0;oy(k,b);a=a+i|0;f=b+f|0;b=c[k>>2]|0}}}while(0);yb=m;return}function ny(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=yb;yb=yb+240|0;l=m;c[l>>2]=a;a:do if((e|0)>1){k=0-b|0;i=a;g=e;e=1;h=a;while(1){i=i+k|0;j=g+-2|0;a=i+(0-(c[f+(j<<2)>>2]|0))|0;if((Gb[d&63](h,a)|0)>-1?(Gb[d&63](h,i)|0)>-1:0)break a;h=l+(e<<2)|0;if((Gb[d&63](a,i)|0)>-1){c[h>>2]=a;g=g+-1|0}else{c[h>>2]=i;a=i;g=j}e=e+1|0;if((g|0)<=1)break a;i=a;h=c[l>>2]|0}}else e=1;while(0);ty(b,l,e);yb=m;return}function oy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[f>>2]|0;c[a>>2]=e;c[f>>2]=0;b=b+-32|0;d=0}else{d=c[f>>2]|0;e=c[a>>2]|0}c[a>>2]=d<<32-b|e>>>b;c[f>>2]=d>>>b;return}function py(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=yb;yb=yb+240|0;m=o+232|0;n=o;p=c[e>>2]|0;c[m>>2]=p;j=c[e+4>>2]|0;k=m+4|0;c[k>>2]=j;c[n>>2]=a;a:do if((p|0)!=1|(j|0)!=0?(l=0-b|0,i=a+(0-(c[h+(f<<2)>>2]|0))|0,(Gb[d&63](i,a)|0)>=1):0){e=1;g=(g|0)==0;j=i;while(1){if(g&(f|0)>1){g=a+l|0;i=c[h+(f+-2<<2)>>2]|0;if((Gb[d&63](g,j)|0)>-1){i=10;break a}if((Gb[d&63](g+(0-i)|0,j)|0)>-1){i=10;break a}}g=e+1|0;c[n+(e<<2)>>2]=j;p=ry(m)|0;oy(m,p);f=p+f|0;if(!((c[m>>2]|0)!=1|(c[k>>2]|0)!=0)){e=g;a=j;i=10;break a}a=j+(0-(c[h+(f<<2)>>2]|0))|0;if((Gb[d&63](a,c[n>>2]|0)|0)<1){a=j;e=g;g=0;i=9;break}else{p=j;e=g;g=1;j=a;a=p}}}else{e=1;i=9}while(0);if((i|0)==9?(g|0)==0:0)i=10;if((i|0)==10){ty(b,n,e);ny(a,b,d,f,h)}yb=o;return}function qy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[a>>2]|0;c[f>>2]=e;c[a>>2]=0;b=b+-32|0;d=0}else{d=c[a>>2]|0;e=c[f>>2]|0}c[f>>2]=d>>>(32-b|0)|e<>2]=d<>2]|0)+-1|0)|0;if(!b){b=sy(c[a+4>>2]|0)|0;return ((b|0)==0?0:b+32|0)|0}else return b|0;return 0}function sy(a){a=a|0;var b=0;if(a)if(!(a&1)){b=a;a=0;while(1){a=a+1|0;if(!(b&2))b=b>>>1;else break}}else a=0;else a=32;return a|0}function ty(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=yb;yb=yb+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0<256?a:256;YO(e|0,c[b>>2]|0,f|0)|0;e=0;do{i=b+(e<<2)|0;e=e+1|0;YO(c[i>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[i>>2]=(c[i>>2]|0)+f}while((e|0)!=(d|0));a=a-f|0;if(!a)break a;e=c[g>>2]|0}while(0);yb=h;return}function uy(b,e){b=b|0;e=e|0;var f=0,g=0;f=0;while(1){if((d[10528+f>>0]|0)==(b|0)){g=4;break}f=f+1|0;if((f|0)==87){b=87;g=5;break}}if((g|0)==4)if(!f)f=10624;else{b=f;g=5}if((g|0)==5){f=10624;do{do{g=f;f=f+1|0}while((a[g>>0]|0)!=0);b=b+-1|0}while((b|0)!=0)}return vy(f,c[e+20>>2]|0)|0}function vy(a,b){a=a|0;b=b|0;return wy(a,b)|0}function wy(a,b){a=a|0;b=b|0;if(!b)b=0;else b=xy(c[b>>2]|0,c[b+4>>2]|0,a)|0;return ((b|0)==0?a:b)|0}function xy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(c[b>>2]|0)+1794895138|0;h=yy(c[b+8>>2]|0,o)|0;f=yy(c[b+12>>2]|0,o)|0;g=yy(c[b+16>>2]|0,o)|0;a:do if((h>>>0>>2>>>0?(n=d-(h<<2)|0,f>>>0>>0&g>>>0>>0):0)?((g|f)&3|0)==0:0){n=f>>>2;m=g>>>2;l=0;while(1){j=h>>>1;k=l+j|0;i=k<<1;g=i+n|0;f=yy(c[b+(g<<2)>>2]|0,o)|0;g=yy(c[b+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0>>0&f>>>0<(d-g|0)>>>0)){f=0;break a}if(a[b+(g+f)>>0]|0){f=0;break a}f=Dx(e,b+g|0)|0;if(!f)break;f=(f|0)<0;if((h|0)==1){f=0;break a}l=f?l:k;h=f?j:h-j|0}f=i+m|0;g=yy(c[b+(f<<2)>>2]|0,o)|0;f=yy(c[b+(f+1<<2)>>2]|0,o)|0;if(f>>>0>>0&g>>>0<(d-f|0)>>>0)f=(a[b+(f+g)>>0]|0)==0?b+f|0:0;else f=0}else f=0;while(0);return f|0}function yy(a,b){a=a|0;b=b|0;var c=0;c=UO(a|0)|0;return ((b|0)==0?a:c)|0}function zy(a){a=a|0;return uy(a,c[(Ay()|0)+188>>2]|0)|0}function Ay(){return _x()|0}function By(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(e|0){case 0:{l=-149;m=24;j=4;break}case 1:{l=-1074;m=53;j=4;break}case 2:{l=-1074;m=53;j=4;break}default:g=0.0}a:do if((j|0)==4){o=b+4|0;n=b+104|0;do{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=wx(b)|0}while((xx(e)|0)!=0);b:do switch(e|0){case 43:case 45:{i=1-(((e|0)==45&1)<<1)|0;e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;h=d[e>>0]|0;break b}else{h=wx(b)|0;break b}}default:{h=e;i=1}}while(0);e=0;while(1){if((h|32|0)!=(a[46718+e>>0]|0))break;do if(e>>>0<7){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=wx(b)|0;break}}while(0);e=e+1|0;if(e>>>0>=8){e=8;break}}c:do switch(e&2147483647|0){case 8:break;case 3:{j=23;break}default:{k=(f|0)!=0;if(k&e>>>0>3)if((e|0)==8)break c;else{j=23;break c}d:do if(!e){e=0;while(1){if((h|32|0)!=(a[46727+e>>0]|0))break d;do if(e>>>0<2){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0;break}else{h=wx(b)|0;break}}while(0);e=e+1|0;if(e>>>0>=3){e=3;break}}}while(0);switch(e|0){case 3:{e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=wx(b)|0;if((e|0)!=40){if(!(c[n>>2]|0)){g=q;break a}c[o>>2]=(c[o>>2]|0)+-1;g=q;break a}e=1;while(1){h=c[o>>2]|0;if(h>>>0<(c[n>>2]|0)>>>0){c[o>>2]=h+1;h=d[h>>0]|0}else h=wx(b)|0;if(!((h+-48|0)>>>0<10|(h+-65|0)>>>0<26)?!((h|0)==95|(h+-97|0)>>>0<26):0)break;e=e+1|0}if((h|0)==41){g=q;break a}h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!k){c[(mx()|0)>>2]=28;ux(b,0,0);g=0.0;break a}if(!e){g=q;break a}while(1){e=e+-1|0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if(!e){g=q;break a}}}case 0:{if((h|0)==48){e=c[o>>2]|0;if(e>>>0<(c[n>>2]|0)>>>0){c[o>>2]=e+1;e=d[e>>0]|0}else e=wx(b)|0;if((e|32|0)==120){g=+Cy(b,m,l,i,f);break a}if(!(c[n>>2]|0))e=48;else{c[o>>2]=(c[o>>2]|0)+-1;e=48}}else e=h;g=+Dy(b,e,m,l,i,f);break a}default:{if(c[n>>2]|0)c[o>>2]=(c[o>>2]|0)+-1;c[(mx()|0)>>2]=28;ux(b,0,0);g=0.0;break a}}}}while(0);if((j|0)==23){h=(c[n>>2]|0)==0;if(!h)c[o>>2]=(c[o>>2]|0)+-1;if((f|0)!=0&e>>>0>3)do{if(!h)c[o>>2]=(c[o>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}g=+(i|0)*r}while(0);return +g}function Cy(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=a+4|0;i=c[y>>2]|0;x=a+104|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=wx(a)|0;j=0;a:while(1){switch(i|0){case 46:{w=10;break a}case 48:break;default:{p=0;m=j;l=0;j=0;break a}}i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=wx(a)|0;j=1}if((w|0)==10){i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=wx(a)|0;if((i|0)==48){l=0;j=0;do{i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=wx(a)|0;l=MO(l|0,j|0,-1,-1)|0;j=F()|0}while((i|0)==48);p=1;m=1}else{p=1;m=j;l=0;j=0}}o=0;n=1.0;h=0.0;v=0;s=p;t=m;u=0;m=0;while(1){q=i+-48|0;p=i|32;if(q>>>0>=10){r=(i|0)==46;if(!(r|(p+-97|0)>>>0<6))break;if(r)if(!s){s=1;k=n;q=v;r=t;l=m;j=u;p=u}else{i=46;break}else w=24}else w=24;if((w|0)==24){w=0;i=(i|0)>57?p+-87|0:q;do if(!((u|0)<0|(u|0)==0&m>>>0<8))if((u|0)<0|(u|0)==0&m>>>0<14){n=n*.0625;k=n;h=h+n*+(i|0);i=v;break}else{i=(o|0)!=0|(i|0)==0;o=i?o:1;k=n;h=i?h:h+n*.5;i=v;break}else{k=n;i=i+(v<<4)|0}while(0);m=MO(m|0,u|0,1,0)|0;q=i;r=1;p=F()|0}i=c[y>>2]|0;if(i>>>0<(c[x>>2]|0)>>>0){c[y>>2]=i+1;i=d[i>>0]|0}else i=wx(a)|0;n=k;v=q;t=r;u=p}do if(!t){i=(c[x>>2]|0)==0;if(!i)c[y>>2]=(c[y>>2]|0)+-1;if(g){if(!i?(c[y>>2]=(c[y>>2]|0)+-1,!((s|0)==0|i)):0)c[y>>2]=(c[y>>2]|0)+-1}else ux(a,0,0);h=+(f|0)*0.0}else{o=(s|0)==0;p=o?m:l;o=o?u:j;if((u|0)<0|(u|0)==0&m>>>0<8){j=v;l=u;do{j=j<<4;w=m;m=MO(m|0,l|0,1,0)|0;v=l;l=F()|0}while((v|0)<0|(v|0)==0&w>>>0<7);m=j}else m=v;if((i|32|0)==112){j=Ey(a,g)|0;i=F()|0;if((j|0)==0&(i|0)==-2147483648){if(!g){ux(a,0,0);h=0.0;break}if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}}}else if(!(c[x>>2]|0)){j=0;i=0}else{c[y>>2]=(c[y>>2]|0)+-1;j=0;i=0}l=SO(p|0,o|0,2)|0;l=MO(l|0,F()|0,-32,-1)|0;l=MO(l|0,F()|0,j|0,i|0)|0;i=F()|0;if(!m){h=+(f|0)*0.0;break}y=0-e|0;g=((y|0)<0)<<31>>31;if((i|0)>(g|0)|(i|0)==(g|0)&l>>>0>y>>>0){c[(mx()|0)>>2]=68;h=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}y=e+-106|0;g=((y|0)<0)<<31>>31;if((i|0)<(g|0)|(i|0)==(g|0)&l>>>0>>0){c[(mx()|0)>>2]=68;h=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((m|0)>-1){j=m;do{y=!(h>=.5);j=j<<1|(y^1)&1;h=h+(y?h:h+-1.0);l=MO(l|0,i|0,-1,-1)|0;i=F()|0}while((j|0)>-1);n=h;m=j}else n=h;y=((b|0)<0)<<31>>31;e=NO(32,0,e|0,((e|0)<0)<<31>>31|0)|0;i=MO(e|0,F()|0,l|0,i|0)|0;e=F()|0;if((e|0)<(y|0)|(e|0)==(y|0)&i>>>0>>0)if((i|0)>0)w=65;else{j=0;i=84;w=67}else{i=b;w=65}if((w|0)==65)if((i|0)<53){j=i;i=84-i|0;w=67}else{k=0.0;h=+(f|0)}if((w|0)==67){h=+(f|0);k=+Gy(+Fy(1.0,i),h);i=j}f=(m&1|0)==0&(n!=0.0&(i|0)<32);h=(f?0.0:n)*h+(k+h*+((m+(f&1)|0)>>>0))-k;if(!(h!=0.0))c[(mx()|0)>>2]=68;h=+Iy(h,l)}while(0);return +h}function Dy(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0.0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0.0,s=0,u=0.0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0.0;I=yb;yb=yb+512|0;E=I;G=f+e|0;H=0-G|0;D=a+4|0;C=a+104|0;j=0;a:while(1){switch(b|0){case 46:{z=7;break a}case 48:break;default:{v=0;p=j;j=0;o=0;break a}}b=c[D>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=wx(a)|0;j=1}if((z|0)==7){b=c[D>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=wx(a)|0;if((b|0)==48){j=0;b=0;while(1){j=MO(j|0,b|0,-1,-1)|0;o=F()|0;b=c[D>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=wx(a)|0;if((b|0)==48)b=o;else{v=1;p=1;break}}}else{v=1;p=j;j=0;o=0}}c[E>>2]=0;n=b+-48|0;m=(b|0)==46;b:do if(m|n>>>0<10){A=E+496|0;w=0;l=0;s=0;x=v;y=p;z=n;p=0;n=0;c:while(1){do if(m)if(!x){x=1;j=p;o=n}else break c;else{p=MO(p|0,n|0,1,0)|0;n=F()|0;v=(b|0)!=48;if((l|0)>=125){if(!v)break;c[A>>2]=c[A>>2]|1;break}m=E+(l<<2)|0;if(!w)b=z;else b=b+-48+((c[m>>2]|0)*10|0)|0;c[m>>2]=b;w=w+1|0;y=(w|0)==9;w=y?0:w;l=l+(y&1)|0;s=v?p:s;y=1}while(0);b=c[D>>2]|0;if(b>>>0<(c[C>>2]|0)>>>0){c[D>>2]=b+1;b=d[b>>0]|0}else b=wx(a)|0;z=b+-48|0;m=(b|0)==46;if(!(m|z>>>0<10)){v=x;m=y;z=31;break b}}b=w;m=(y|0)!=0;z=39}else{w=0;l=0;s=0;m=p;p=0;n=0;z=31}while(0);do if((z|0)==31){A=(v|0)==0;j=A?p:j;o=A?n:o;m=(m|0)!=0;if(!(m&(b|32|0)==101))if((b|0)>-1){b=w;z=39;break}else{b=w;z=41;break}m=Ey(a,h)|0;b=F()|0;if((m|0)==0&(b|0)==-2147483648){if(!h){ux(a,0,0);i=0.0;break}if(!(c[C>>2]|0)){m=0;b=0}else{c[D>>2]=(c[D>>2]|0)+-1;m=0;b=0}}j=MO(m|0,b|0,j|0,o|0)|0;b=w;o=F()|0;z=43}while(0);if((z|0)==39)if(c[C>>2]|0){c[D>>2]=(c[D>>2]|0)+-1;if(m)z=43;else z=42}else z=41;if((z|0)==41)if(m)z=43;else z=42;do if((z|0)==42){c[(mx()|0)>>2]=28;ux(a,0,0);i=0.0}else if((z|0)==43){m=c[E>>2]|0;if(!m){i=+(g|0)*0.0;break}if(((n|0)<0|(n|0)==0&p>>>0<10)&((j|0)==(p|0)&(o|0)==(n|0))?(e|0)>30|(m>>>e|0)==0:0){i=+(g|0)*+(m>>>0);break}a=(f|0)/-2|0;D=((a|0)<0)<<31>>31;if((o|0)>(D|0)|(o|0)==(D|0)&j>>>0>a>>>0){c[(mx()|0)>>2]=68;i=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=f+-106|0;D=((a|0)<0)<<31>>31;if((o|0)<(D|0)|(o|0)==(D|0)&j>>>0>>0){c[(mx()|0)>>2]=68;i=+(g|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(b){if((b|0)<9){n=E+(l<<2)|0;m=c[n>>2]|0;while(1){m=m*10|0;if((b|0)>=8)break;else b=b+1|0}c[n>>2]=m}l=l+1|0}if((s|0)<9?(s|0)<=(j|0)&(j|0)<18:0){if((j|0)==9){i=+(g|0)*+((c[E>>2]|0)>>>0);break}if((j|0)<9){i=+(g|0)*+((c[E>>2]|0)>>>0)/+(c[12432+(8-j<<2)>>2]|0);break}a=e+27+(B(j,-3)|0)|0;b=c[E>>2]|0;if((a|0)>30|(b>>>a|0)==0){i=+(g|0)*+(b>>>0)*+(c[12432+(j+-10<<2)>>2]|0);break}}b=(j|0)%9|0;if(!b)m=0;else{s=(j|0)>-1?b:b+9|0;o=c[12432+(8-s<<2)>>2]|0;if(l){p=1e9/(o|0)|0;n=0;m=0;b=0;do{C=E+(b<<2)|0;D=c[C>>2]|0;a=(D>>>0)/(o>>>0)|0;D=D-(B(a,o)|0)|0;a=a+n|0;c[C>>2]=a;n=B(p,D)|0;a=(b|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;b=b+1|0}while((b|0)!=(l|0));if(!n)b=l;else{c[E+(l<<2)>>2]=n;b=l+1|0}}else{m=0;b=0}l=b;j=9-s+j|0}b=0;d:while(1){v=(j|0)<18;w=(j|0)==18;x=E+(m<<2)|0;while(1){if(!v){if(!w)break d;if((c[x>>2]|0)>>>0>=9007199){j=18;break d}}n=0;y=l;l=l+127|0;while(1){p=l&127;o=E+(p<<2)|0;l=SO(c[o>>2]|0,0,29)|0;l=MO(l|0,F()|0,n|0,0)|0;n=F()|0;if(n>>>0>0|(n|0)==0&l>>>0>1e9){s=QO(l|0,n|0,1e9,0)|0;a=LO(s|0,F()|0,1e9,0)|0;l=NO(l|0,n|0,a|0,F()|0)|0;F()|0}else s=0;c[o>>2]=l;a=(p|0)==(m|0);o=(p|0)!=(y+127&127|0)|a?y:(l|0)==0?p:y;if(a)break;else{n=s;y=o;l=p+-1|0}}b=b+-29|0;if(!s)l=y;else break}m=m+127&127;l=o+127&127;n=E+((o+126&127)<<2)|0;if((m|0)==(o|0))c[n>>2]=c[n>>2]|c[E+(l<<2)>>2];else l=y;c[E+(m<<2)>>2]=s;j=j+9|0}e:while(1){w=l+1&127;x=E+((l+127&127)<<2)|0;while(1){p=(j|0)==18;v=(j|0)>27?9:1;y=m;while(1){o=0;while(1){m=o+y&127;if((m|0)==(l|0)){z=92;break}m=c[E+(m<<2)>>2]|0;n=c[16276+(o<<2)>>2]|0;if(m>>>0>>0){z=92;break}if(m>>>0>n>>>0)break;if((o+1|0)>>>0<2)o=1;else{z=92;break}}if((z|0)==92?(z=0,p):0)break e;b=v+b|0;if((y|0)==(l|0))y=l;else break}p=(1<>>v;o=0;m=y;n=y;do{C=E+(n<<2)|0;D=c[C>>2]|0;a=(D>>>v)+o|0;c[C>>2]=a;o=B(D&p,s)|0;a=(n|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;n=n+1&127}while((n|0)!=(l|0));if(o|0){if((w|0)!=(m|0))break;c[x>>2]=c[x>>2]|1}}c[E+(l<<2)>>2]=o;l=w}i=0.0;j=l;m=0;do{n=m+y&127;l=j+1&127;if((n|0)==(j|0)){c[E+(l+-1<<2)>>2]=0;j=l}i=i*1.0e9+ +((c[E+(n<<2)>>2]|0)>>>0);m=m+1|0}while((m|0)!=2);u=+(g|0);k=i*u;n=b+53|0;o=n-f|0;p=(o|0)<(e|0);m=p?((o|0)>0?o:0):e;if((m|0)<53){J=+Gy(+Fy(1.0,105-m|0),k);q=+Hy(k,+Fy(1.0,53-m|0));r=J;i=q;q=J+(k-q)}else{r=0.0;i=0.0;q=k}l=y+2&127;if((l|0)!=(j|0)){l=c[E+(l<<2)>>2]|0;do if(l>>>0>=5e8){if((l|0)!=5e8){i=u*.75+i;break}if((y+3&127|0)==(j|0)){i=u*.5+i;break}else{i=u*.75+i;break}}else{if((l|0)==0?(y+3&127|0)==(j|0):0)break;i=u*.25+i}while(0);if((53-m|0)>1?!(+Hy(i,1.0)!=0.0):0)k=i+1.0;else k=i}else k=i;i=q+k-r;do if((n&2147483647|0)>(-2-G|0)){G=!(+t(+i)>=9007199254740992.0);b=b+((G^1)&1)|0;i=G?i:i*.5;if((b+50|0)<=(H|0)?!(k!=0.0&(p&((m|0)!=(o|0)|G))):0)break;c[(mx()|0)>>2]=68}while(0);i=+Iy(i,b)}while(0);yb=I;return +i}function Ey(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;i=a+4|0;e=c[i>>2]|0;j=a+104|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;f=d[e>>0]|0}else f=wx(a)|0;switch(f|0){case 43:case 45:{g=(f|0)==45&1;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=wx(a)|0;f=e+-48|0;if((b|0)!=0&f>>>0>9)if(!(c[j>>2]|0)){f=0;e=-2147483648}else{c[i>>2]=(c[i>>2]|0)+-1;k=14}else k=12;break}default:{g=0;e=f;f=f+-48|0;k=12}}if((k|0)==12)if(f>>>0>9)k=14;else{f=0;do{f=e+-48+(f*10|0)|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=wx(a)|0;b=e+-48|0}while(b>>>0<10&(f|0)<214748364);h=((f|0)<0)<<31>>31;if(b>>>0<10){do{l=LO(f|0,h|0,10,0)|0;b=F()|0;e=MO(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=MO(e|0,F()|0,l|0,b|0)|0;h=F()|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=wx(a)|0;b=e+-48|0}while(b>>>0<10&((h|0)<21474836|(h|0)==21474836&f>>>0<2061584302));if(b>>>0<10){do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=wx(a)|0}while((e+-48|0)>>>0<10);e=h}else e=h}else e=h;if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;j=(g|0)==0;i=NO(0,0,f|0,e|0)|0;l=F()|0;f=j?f:i;e=j?e:l}if((k|0)==14)if(!(c[j>>2]|0)){f=0;e=-2147483648}else{c[i>>2]=(c[i>>2]|0)+-1;f=0;e=-2147483648}E(e|0);return f|0}function Fy(a,b){a=+a;b=b|0;var d=0,e=0;if((b|0)<=1023){if((b|0)<-1022){a=a*2.2250738585072014e-308;e=(b|0)<-2044;d=b+2044|0;a=e?a*2.2250738585072014e-308:a;b=e?((d|0)>-1022?d:-1022):b+1022|0}}else{a=a*8988465674311579538646525.0e283;d=(b|0)>2046;e=b+-2046|0;a=d?a*8988465674311579538646525.0e283:a;b=d?((e|0)<1023?e:1023):b+-1023|0}d=SO(b+1023|0,0,52)|0;e=F()|0;c[h>>2]=d;c[h+4>>2]=e;return +(a*+g[h>>3])}function Gy(a,b){a=+a;b=+b;return +(+Cx(a,b))}function Hy(a,b){a=+a;b=+b;return +(+Jy(a,b))}function Iy(a,b){a=+a;b=b|0;return +(+Fy(a,b))}function Jy(a,b){a=+a;b=+b;var d=0,e=0,f=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g[h>>3]=a;j=c[h>>2]|0;l=c[h+4>>2]|0;g[h>>3]=b;n=c[h>>2]|0;o=c[h+4>>2]|0;e=RO(j|0,l|0,52)|0;F()|0;e=e&2047;m=RO(n|0,o|0,52)|0;F()|0;m=m&2047;p=l&-2147483648;i=SO(n|0,o|0,1)|0;k=F()|0;a:do if(!((i|0)==0&(k|0)==0)?(f=Ky(b)|0,d=(F()|0)&2147483647,!((e|0)==2047|(d>>>0>2146435072|(d|0)==2146435072&f>>>0>0))):0){d=SO(j|0,l|0,1)|0;f=F()|0;if(!(f>>>0>k>>>0|(f|0)==(k|0)&d>>>0>i>>>0))return +((d|0)==(i|0)&(f|0)==(k|0)?a*0.0:a);if(!e){d=SO(j|0,l|0,12)|0;f=F()|0;if((f|0)>-1|(f|0)==-1&d>>>0>4294967295){e=0;do{e=e+-1|0;d=SO(d|0,f|0,1)|0;f=F()|0}while((f|0)>-1|(f|0)==-1&d>>>0>4294967295)}else e=0;j=SO(j|0,l|0,1-e|0)|0;i=F()|0}else i=l&1048575|1048576;if(!m){f=SO(n|0,o|0,12)|0;k=F()|0;if((k|0)>-1|(k|0)==-1&f>>>0>4294967295){d=0;do{d=d+-1|0;f=SO(f|0,k|0,1)|0;k=F()|0}while((k|0)>-1|(k|0)==-1&f>>>0>4294967295)}else d=0;n=SO(n|0,o|0,1-d|0)|0;m=d;l=F()|0}else l=o&1048575|1048576;f=NO(j|0,i|0,n|0,l|0)|0;d=F()|0;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;b:do if((e|0)>(m|0)){while(1){if(k){if((f|0)==0&(d|0)==0)break}else{f=j;d=i}j=SO(f|0,d|0,1)|0;i=F()|0;e=e+-1|0;f=NO(j|0,i|0,n|0,l|0)|0;d=F()|0;k=(d|0)>-1|(d|0)==-1&f>>>0>4294967295;if((e|0)<=(m|0))break b}b=a*0.0;break a}while(0);if(k){if((f|0)==0&(d|0)==0){b=a*0.0;break}}else{d=i;f=j}if(d>>>0<1048576|(d|0)==1048576&f>>>0<0)do{f=SO(f|0,d|0,1)|0;d=F()|0;e=e+-1|0}while(d>>>0<1048576|(d|0)==1048576&f>>>0<0);if((e|0)>0){o=MO(f|0,d|0,0,-1048576)|0;d=F()|0;e=SO(e|0,0,52)|0;d=d|(F()|0);e=o|e}else{e=RO(f|0,d|0,1-e|0)|0;d=F()|0}c[h>>2]=e;c[h+4>>2]=d|p;b=+g[h>>3]}else q=3;while(0);if((q|0)==3){b=a*b;b=b/b}return +b}function Ky(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;E(c[h+4>>2]|0);return b|0}function Ly(a){a=a|0;return 0}function My(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return d|0}function Ny(a,b){a=a|0;b=b|0;return -1|0}function Oy(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=5;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=5;break}}}while(0);if((e|0)==5){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function Py(a,b){a=a|0;b=b|0;var d=0,e=0;d=yb;yb=yb+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=ly(_(91,e|0)|0)|0;yb=d;return b|0}function Qy(b,c){b=b|0;c=c|0;b=Ry(b,c)|0;return ((a[b>>0]|0)==(c&255)<<24>>24?b:0)|0}function Ry(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=d&255;a:do if(!f)b=b+(Oy(b)|0)|0;else{if(b&3){e=d&255;do{g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break a;b=b+1|0}while((b&3|0)!=0)}f=B(f,16843009)|0;e=c[b>>2]|0;b:do if(!((e&-2139062144^-2139062144)&e+-16843009))do{g=e^f;if((g&-2139062144^-2139062144)&g+-16843009|0)break b;b=b+4|0;e=c[b>>2]|0}while(!((e&-2139062144^-2139062144)&e+-16843009|0));while(0);e=d&255;while(1){g=a[b>>0]|0;if(g<<24>>24==0?1:g<<24>>24==e<<24>>24)break;else b=b+1|0}}while(0);return b|0}function Sy(){return}function Ty(a){a=a|0;if(Uy(a)|0)EO(a);return}function Uy(a){a=a|0;return (a|0)!=15980&((a|0)!=0&(a|0)!=55596)&1|0}function Vy(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;l=yb;yb=yb+16|0;h=l;j=(g|0)==0?55624:g;g=c[j>>2]|0;a:do if(!e)if(!g)g=0;else k=19;else{i=(b|0)==0?h:b;if(!f)g=-2;else{if(!g){g=a[e>>0]|0;if(g<<24>>24>-1){c[i>>2]=g&255;g=g<<24>>24!=0&1;break}h=(c[c[(Wy()|0)+188>>2]>>2]|0)==0;g=a[e>>0]|0;if(h){c[i>>2]=g<<24>>24&57343;g=1;break}g=(g&255)+-194|0;if(g>>>0>50){k=19;break}g=c[5728+(g<<2)>>2]|0;h=f+-1|0;if(h){e=e+1|0;k=11}}else{h=f;k=11}b:do if((k|0)==11){b=d[e>>0]|0;m=b>>>3;if((m+-16|m+(g>>26))>>>0>7){k=19;break a}g=b+-128|g<<6;b=h+-1|0;if((g|0)<0)do{e=e+1|0;if(!b)break b;h=a[e>>0]|0;if((h&-64)<<24>>24!=-128){k=19;break a}g=(h&255)+-128|g<<6;b=b+-1|0}while((g|0)<0);c[j>>2]=0;c[i>>2]=g;g=f-b|0;break a}while(0);c[j>>2]=g;g=-2}}while(0);if((k|0)==19){c[j>>2]=0;c[(mx()|0)>>2]=25;g=-1}yb=l;return g|0}function Wy(){return _x()|0}function Xy(a,b){a=a|0;b=b|0;return Ex(a)|0}function Yy(a,b){a=a|0;b=b|0;return ky(a)|0}function Zy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=yb;yb=yb+272|0;m=o;n=o+256|0;do if(!(a[d>>0]|0)){d=Ja(46731)|0;if(d|0?a[d>>0]|0:0)break;d=Ja(12464+(b*12|0)|0)|0;if(d|0?a[d>>0]|0:0)break;d=Ja(46738)|0;if(d|0?a[d>>0]|0:0)break;d=46743}while(0);e=0;a:while(1){switch(a[d+e>>0]|0){case 47:case 0:break a;default:{}}e=e+1|0;if(e>>>0>=15){e=15;break}}f=a[d>>0]|0;if(f<<24>>24!=46?(a[d+e>>0]|0)==0:0)if(f<<24>>24==67)l=15;else{k=d;l=16}else{d=46743;l=15}if((l|0)==15)if(!(a[d+1>>0]|0))l=18;else{k=d;l=16}b:do if((l|0)==16)if((Dx(k,46743)|0)!=0?(Dx(k,46751)|0)!=0:0){d=c[13907]|0;if(d|0)do{if(!(Dx(k,d+8|0)|0))break b;d=c[d+24>>2]|0}while((d|0)!=0);U(55632);d=c[13907]|0;c:do if(d|0){while(1){if(!(Dx(k,d+8|0)|0))break;d=c[d+24>>2]|0;if(!d)break c}$(55632);break b}while(0);d:do if(((c[13885]|0)==0?(g=Ja(46757)|0,(g|0)!=0):0)?(a[g>>0]|0)!=0:0){i=254-e|0;j=e+1|0;f=g;while(1){h=Ry(f,58)|0;d=a[h>>0]|0;g=h-f+((d<<24>>24!=0)<<31>>31)|0;if(g>>>0>>0){YO(m|0,f|0,g|0)|0;f=m+g|0;a[f>>0]=47;YO(f+1|0,k|0,e|0)|0;a[m+(j+g)>>0]=0;f=V(m|0,n|0)|0;if(f|0)break;d=a[h>>0]|0}f=h+(d<<24>>24!=0&1)|0;if(!(a[f>>0]|0)){l=41;break d}}d=DO(28)|0;if(!d){Py(f,c[n>>2]|0)|0;l=41;break}else{c[d>>2]=f;c[d+4>>2]=c[n>>2];n=d+8|0;YO(n|0,k|0,e|0)|0;a[n+e>>0]=0;c[d+24>>2]=c[13907];c[13907]=d;break}}else l=41;while(0);if((l|0)==41){d=DO(28)|0;if(d){c[d>>2]=c[3988];c[d+4>>2]=c[3989];n=d+8|0;YO(n|0,k|0,e|0)|0;a[n+e>>0]=0;c[d+24>>2]=c[13907];c[13907]=d}}$(55632);d=(b|0)==0&(d|0)==0?15952:d}else{d=k;l=18}while(0);do if((l|0)==18){if((b|0)==0?(a[d+1>>0]|0)==46:0){d=15952;break}d=0}while(0);yb=o;return d|0}function _y(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=yb;yb=yb+32|0;i=j;a:do if(!(Uy(d)|0)){h=(d|0)!=0;f=0;g=0;do{e=1<>2]|0;else e=Zy(g,(e|0)==0?57671:b)|0;f=f+((e|0)!=0&1)|0;c[i+(g<<2)>>2]=e;g=g+1|0}while((g|0)!=6);switch(f&2147483647|0){case 0:{d=55596;break a}case 1:{if((c[i>>2]|0)==15952){d=15980;break a}break}default:{}}}else{e=0;do{if(1<>2]=Zy(e,b)|0;e=e+1|0}while((e|0)!=6)}while(0);yb=j;return d|0}function $y(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=yb;yb=yb+16|0;g=f;c[g>>2]=e;e=Hx(a,b,d,g)|0;yb=f;return e|0}function az(a,b){a=a|0;b=b|0;bz(a,b)|0;return a|0}function bz(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=10}else f=10;while(0);if((f|0)==10){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function cz(a){a=a|0;var b=0,d=0;b=(dz()|0)+188|0;d=c[b>>2]|0;if(a|0)c[b>>2]=(a|0)==(-1|0)?55572:a;return ((d|0)==55572?-1:d)|0}function dz(){return _x()|0}function ez(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d|0){e=a;while(1){d=d+-1|0;c[e>>2]=c[b>>2];if(!d)break;else{b=b+4|0;e=e+4|0}}}return a|0}function fz(a,b){a=+a;b=b|0;return +(+Fy(a,b))}function gz(a){a=+a;return ~~+$O(+a)|0}function hz(a){a=a|0;var b=0,c=0;b=(Oy(a)|0)+1|0;c=DO(b)|0;if(!c)a=0;else a=YO(c|0,a|0,b|0)|0;return a|0}function iz(a,b){a=a|0;b=b|0;var c=0;c=Oy(a)|0;return ((jz(a,1,c,b)|0)!=(c|0))<<31>>31|0}function jz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=B(d,b)|0;d=(b|0)==0?0:d;if((c[e+76>>2]|0)>-1){g=(Nx(e)|0)==0;a=$x(a,f,e)|0;if(!g)Ox(e)}else a=$x(a,f,e)|0;if((a|0)!=(f|0))d=(a>>>0)/(b>>>0)|0;return d|0}function kz(a){a=a|0;var b=0;if(c[a+68>>2]|0){b=c[a+132>>2]|0;a=a+128|0;if(b|0)c[b+128>>2]=c[a>>2];a=c[a>>2]|0;if(!a)a=(lz()|0)+232|0;else a=a+132|0;c[a>>2]=b}return}function lz(){return _x()|0}function mz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=yb;yb=yb+16|0;j=l;k=e&255;a[j>>0]=k;g=b+16|0;h=c[g>>2]|0;if(!h)if(!(ay(b)|0)){h=c[g>>2]|0;i=4}else f=-1;else i=4;do if((i|0)==4){i=b+20|0;g=c[i>>2]|0;if(g>>>0>>0?(f=e&255,(f|0)!=(a[b+75>>0]|0)):0){c[i>>2]=g+1;a[g>>0]=k;break}if((Hb[c[b+36>>2]&63](b,j,1)|0)==1)f=d[j>>0]|0;else f=-1}while(0);yb=l;return f|0}function nz(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=yb;yb=yb+16|0;g=j;a:do if(!e)b=0;else{do if(f|0){i=(b|0)==0?g:b;b=a[e>>0]|0;if(b<<24>>24>-1){c[i>>2]=b&255;b=b<<24>>24!=0&1;break a}h=(c[c[(oz()|0)+188>>2]>>2]|0)==0;b=a[e>>0]|0;if(h){c[i>>2]=b<<24>>24&57343;b=1;break a}b=(b&255)+-194|0;if(b>>>0<=50){g=e+1|0;h=c[5728+(b<<2)>>2]|0;if(f>>>0<4?h&-2147483648>>>((f*6|0)+-6|0)|0:0)break;b=d[g>>0]|0;f=b>>>3;if((f+-16|f+(h>>26))>>>0<=7){b=b+-128|h<<6;if((b|0)>=0){c[i>>2]=b;b=2;break a}g=(d[e+2>>0]|0)+-128|0;if(g>>>0<=63){g=g|b<<6;if((g|0)>=0){c[i>>2]=g;b=3;break a}b=(d[e+3>>0]|0)+-128|0;if(b>>>0<=63){c[i>>2]=b|g<<6;b=4;break a}}}}}while(0);c[(mx()|0)>>2]=25;b=-1}while(0);yb=j;return b|0}function oz(){return _x()|0}function pz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=yb;yb=yb+16|0;e=f;if(Qy(46770,a[d>>0]|0)|0){g=qz(d)|0|32768;c[e>>2]=b;c[e+4>>2]=g;c[e+8>>2]=438;e=ly(Y(5,e|0)|0)|0;if((e|0)>=0){b=rz(e,d)|0;if(!b){aa(e|0)|0;b=0}}else b=0}else{c[(mx()|0)>>2]=28;b=0}yb=f;return b|0}function qz(b){b=b|0;var c=0,d=0,e=0;d=(Qy(b,43)|0)==0;c=a[b>>0]|0;d=d?c<<24>>24!=114&1:2;e=(Qy(b,120)|0)==0;d=e?d:d|128;b=(Qy(b,101)|0)==0;b=b?d:d|524288;b=c<<24>>24==114?b:b|64;b=c<<24>>24==119?b|512:b;return (c<<24>>24==97?b|1024:b)|0}function rz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=yb;yb=yb+48|0;i=j+24|0;g=j+8|0;f=j;h=j+40|0;if(Qy(46770,a[d>>0]|0)|0){e=DO(1176)|0;if(!e)e=0;else{_O(e|0,0,144)|0;k=(Qy(d,43)|0)==0;d=a[d>>0]|0;if(k)c[e>>2]=d<<24>>24==114?8:4;if(d<<24>>24==97){c[f>>2]=b;c[f+4>>2]=3;d=X(221,f|0)|0;if(!(d&1024)){c[g>>2]=b;c[g+4>>2]=4;c[g+8>>2]=d|1024;X(221,g|0)|0}f=c[e>>2]|128;c[e>>2]=f}else f=c[e>>2]|0;c[e+60>>2]=b;c[e+44>>2]=e+152;c[e+48>>2]=1024;d=e+75|0;a[d>>0]=-1;if((f&8|0)==0?(c[i>>2]=b,c[i+4>>2]=21523,c[i+8>>2]=h,(Z(54,i|0)|0)==0):0)a[d>>0]=10;c[e+32>>2]=2;c[e+36>>2]=1;c[e+40>>2]=1;c[e+12>>2]=2;if(!(c[13884]|0))c[e+76>>2]=-1;sz(e)|0}}else{c[(mx()|0)>>2]=28;e=0}yb=j;return e|0}function sz(a){a=a|0;var b=0,d=0;b=tz()|0;c[a+56>>2]=c[b>>2];d=c[b>>2]|0;if(d|0)c[d+52>>2]=a;c[b>>2]=a;uz();return a|0}function tz(){U(55640);return 55648}function uz(){$(55640);return}function vz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if((c[a+76>>2]|0)>-1)f=Nx(a)|0;else f=0;kz(a);g=(c[a>>2]&1|0)!=0;if(!g){e=tz()|0;d=c[a+52>>2]|0;b=a+56|0;if(d|0)c[d+56>>2]=c[b>>2];b=c[b>>2]|0;if(b|0)c[b+52>>2]=d;if((c[e>>2]|0)==(a|0))c[e>>2]=b;uz()}b=wz(a)|0;b=Eb[c[a+12>>2]&127](a)|0|b;d=c[a+96>>2]|0;if(d|0)EO(d);if(g){if(f|0)Ox(a)}else EO(a);return b|0}function wz(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=xz(a)|0;break}d=(Nx(a)|0)==0;b=xz(a)|0;if(!d)Ox(a)}else{if(!(c[4004]|0))b=0;else b=wz(c[4004]|0)|0;a=c[(tz()|0)>>2]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=Nx(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=xz(a)|0|b;if(d|0)Ox(a);a=c[a+56>>2]|0}while((a|0)!=0);uz()}while(0);return b|0}function xz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;h=a+28|0;if((c[b>>2]|0)>>>0>(c[h>>2]|0)>>>0?(Hb[c[a+36>>2]&63](a,0,0)|0,(c[b>>2]|0)==0):0)a=-1;else{d=a+4|0;e=c[d>>2]|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0>>0){g=e-g|0;Ib[c[a+40>>2]&15](a,g,((g|0)<0)<<31>>31,1)|0;F()|0}c[a+16>>2]=0;c[h>>2]=0;c[b>>2]=0;c[f>>2]=0;c[d>>2]=0;a=0}return a|0}function yz(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if((c[f+76>>2]|0)>-1)m=Nx(f)|0;else m=0;g=e+-1|0;if((e|0)<2){n=f+74|0;l=a[n>>0]|0;a[n>>0]=l+255|l;if(m|0)Ox(f);if(!g)a[b>>0]=0;else b=0}else{a:do if(g){k=f+4|0;l=f+8|0;e=b;while(1){h=c[k>>2]|0;o=h;p=(c[l>>2]|0)-o|0;j=Vx(h,10,p)|0;i=(j|0)==0;j=i?p:1-o+j|0;j=j>>>0>>0?j:g;YO(e|0,h|0,j|0)|0;h=(c[k>>2]|0)+j|0;c[k>>2]=h;e=e+j|0;j=g-j|0;if(!(i&(j|0)!=0)){n=17;break a}if(h>>>0>=(c[l>>2]|0)>>>0){g=yx(f)|0;if((g|0)<0)break;else h=g}else{c[k>>2]=h+1;h=d[h>>0]|0}i=e+1|0;a[e>>0]=h;g=j+-1|0;if((h&255|0)==10|(g|0)==0){e=i;n=17;break a}else e=i}if((e|0)!=(b|0)?(c[f>>2]&16|0)!=0:0)n=17;else b=0}else{e=b;n=17}while(0);if((n|0)==17)if(!b)b=0;else a[e>>0]=0;if(m)Ox(f)}return b|0}function zz(a){a=a|0;var b=0;if((c[a+76>>2]|0)>-1){b=(Nx(a)|0)==0;a=(c[a>>2]|0)>>>5&1}else a=(c[a>>2]|0)>>>5&1;return a|0}function Az(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=yb;yb=yb+16|0;f=e;c[f>>2]=d;d=Bz(a,b,f)|0;yb=e;return d|0}function Bz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=yb;yb=yb+144|0;f=e;_O(f|0,0,144)|0;c[f+32>>2]=35;c[f+44>>2]=a;c[f+76>>2]=-1;c[f+84>>2]=a;d=Dz(f,b,d)|0;yb=e;return d|0}function Cz(a,b,c){a=a|0;b=b|0;c=c|0;return Hz(a,b,c)|0}function Dz(e,h,i){e=e|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=yb;yb=yb+288|0;K=Q+264|0;L=Q;M=Q+260|0;N=Q+272|0;if((c[e+76>>2]|0)>-1)P=Nx(e)|0;else P=0;j=a[h>>0]|0;a:do if(j<<24>>24){B=e+4|0;C=e+104|0;D=e+120|0;E=e+8|0;G=L+10|0;H=L+33|0;I=L+46|0;J=L+94|0;A=K+4|0;m=h;h=0;k=0;l=j;j=0;u=0;v=0;b:while(1){c:do if(!(xx(l&255)|0)){n=(a[m>>0]|0)==37;d:do if(n){l=m+1|0;o=a[l>>0]|0;e:do switch(o<<24>>24){case 37:break d;case 42:{z=0;l=m+2|0;break}default:{if(Ex(o&255)|0?(a[m+2>>0]|0)==36:0){z=Ez(i,(d[l>>0]|0)+-48|0)|0;l=m+3|0;break e}y=(c[i>>2]|0)+(4-1)&~(4-1);z=c[y>>2]|0;c[i>>2]=y+4}}while(0);if(!(Ex(d[l>>0]|0)|0)){r=0;o=l}else{m=0;do{m=(m*10|0)+-48+(d[l>>0]|0)|0;l=l+1|0}while((Ex(d[l>>0]|0)|0)!=0);r=m;o=l}n=a[o>>0]|0;q=o+1|0;if(n<<24>>24==109){l=(z|0)!=0&1;k=0;m=q;o=o+2|0;n=a[q>>0]|0;j=0}else{l=0;m=o;o=q}switch(n<<24>>24){case 104:{y=(a[o>>0]|0)==104;n=y?-2:-1;m=y?m+2|0:o;break}case 108:{y=(a[o>>0]|0)==108;n=y?3:1;m=y?m+2|0:o;break}case 106:{n=3;m=o;break}case 116:case 122:{n=1;m=o;break}case 76:{n=2;m=o;break}case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{n=0;break}default:{O=143;break b}}s=d[m>>0]|0;t=(s&47|0)==3;s=t?s|32:s;t=t?1:n;q=s&255;switch(q<<24>>24){case 99:{y=(r|0)>1?r:1;break}case 91:{y=r;break}case 110:{Fz(z,t,u,v);n=u;o=v;break c}default:{ux(e,0,0);do{n=c[B>>2]|0;if(n>>>0<(c[C>>2]|0)>>>0){c[B>>2]=n+1;n=d[n>>0]|0}else n=wx(e)|0}while((xx(n)|0)!=0);if(!(c[C>>2]|0))n=c[B>>2]|0;else{n=(c[B>>2]|0)+-1|0;c[B>>2]=n}x=D;y=n-(c[E>>2]|0)|0;u=MO(c[x>>2]|0,c[x+4>>2]|0,u|0,v|0)|0;u=MO(u|0,F()|0,y|0,((y|0)<0)<<31>>31|0)|0;y=r;v=F()|0}}x=((y|0)<0)<<31>>31;ux(e,y,x);o=c[B>>2]|0;n=c[C>>2]|0;if(o>>>0>>0)c[B>>2]=o+1;else{if((wx(e)|0)<0){O=143;break b}n=c[C>>2]|0}if(n|0)c[B>>2]=(c[B>>2]|0)+-1;f:do switch(q<<24>>24){case 91:case 99:case 115:{w=(s|0)==99;g:do if((s|16|0)==115){_O(L|0,-1,257)|0;a[L>>0]=0;if((s|0)==115){a[H>>0]=0;b[G>>1]=0;b[G+2>>1]=0;a[G+4>>0]=0}}else{s=m+1|0;r=(a[s>>0]|0)==94;n=r&1;m=r?m+2|0:s;_O(L|0,n|0,257)|0;a[L>>0]=0;switch(a[m>>0]|0){case 45:{q=(n^1)&255;a[I>>0]=q;m=m+1|0;break}case 93:{q=(n^1)&255;a[J>>0]=q;m=m+1|0;break}default:q=(n^1)&255}while(1){n=a[m>>0]|0;h:do switch(n<<24>>24){case 0:{O=143;break b}case 93:break g;case 45:{o=m+1|0;n=a[o>>0]|0;switch(n<<24>>24){case 93:case 0:{n=45;break h}default:{}}m=a[m+-1>>0]|0;if((m&255)<(n&255)){m=m&255;do{m=m+1|0;a[L+m>>0]=q;n=a[o>>0]|0}while(m>>>0<(n&255)>>>0);m=o}else m=o;break}default:{}}while(0);a[L+((n&255)+1)>>0]=q;m=m+1|0}}while(0);n=w?y+1|0:31;s=(t|0)==1;t=(l|0)!=0;i:do if(s){if(t){j=DO(n<<2)|0;if(!j){k=0;j=0;O=143;break b}}else j=z;c[K>>2]=0;c[A>>2]=0;k=0;j:while(1){q=(j|0)==0;do{k:while(1){o=c[B>>2]|0;if(o>>>0<(c[C>>2]|0)>>>0){c[B>>2]=o+1;o=d[o>>0]|0}else o=wx(e)|0;if(!(a[L+(o+1)>>0]|0))break j;a[N>>0]=o;switch(Vy(M,N,1,K)|0){case -1:{k=0;O=143;break b}case -2:break;default:break k}}if(!q){c[j+(k<<2)>>2]=c[M>>2];k=k+1|0}}while(!(t&(k|0)==(n|0)));n=n<<1|1;o=GO(j,n<<2)|0;if(!o){k=0;O=143;break b}else j=o}if(!(Gz(K)|0)){k=0;O=143;break b}else{q=k;k=0;r=j}}else{if(t){k=DO(n)|0;if(!k){k=0;j=0;O=143;break b}j=0;while(1){q=j;do{j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=wx(e)|0;if(!(a[L+(j+1)>>0]|0)){r=0;j=0;break i}r=q;q=q+1|0;a[k+r>>0]=j}while((q|0)!=(n|0));n=n<<1|1;o=GO(k,n)|0;if(!o){j=0;O=143;break b}else{j=q;k=o}}}if(!z)while(1){j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=wx(e)|0;if(!(a[L+(j+1)>>0]|0)){q=0;k=0;r=0;j=0;break i}}k=0;while(1){j=c[B>>2]|0;if(j>>>0<(c[C>>2]|0)>>>0){c[B>>2]=j+1;j=d[j>>0]|0}else j=wx(e)|0;if(!(a[L+(j+1)>>0]|0)){q=k;k=z;r=0;j=0;break i}a[z+k>>0]=j;k=k+1|0}}while(0);if(!(c[C>>2]|0))n=c[B>>2]|0;else{n=(c[B>>2]|0)+-1|0;c[B>>2]=n}o=D;n=n-(c[E>>2]|0)|0;n=MO(c[o>>2]|0,c[o+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;o=F()|0;if((n|0)==0&(o|0)==0)break b;if(!((n|0)==(y|0)&(o|0)==(x|0)|w^1))break b;do if(t)if(s){c[z>>2]=r;break}else{c[z>>2]=k;break}while(0);if(!w){if(r|0)c[r+(q<<2)>>2]=0;if(!k){k=0;break f}a[k+q>>0]=0}break}case 120:case 88:case 112:{n=16;O=131;break}case 111:{n=8;O=131;break}case 117:case 100:{n=10;O=131;break}case 105:{n=0;O=131;break}case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{p=+By(e,t,0);y=D;w=c[y>>2]|0;y=c[y+4>>2]|0;x=(c[B>>2]|0)-(c[E>>2]|0)|0;x=NO(0,0,x|0,((x|0)<0)<<31>>31|0)|0;if((w|0)==(x|0)&(y|0)==(F()|0))break b;if(z)switch(t|0){case 0:{f[z>>2]=p;break f}case 1:{g[z>>3]=p;break f}case 2:{g[z>>3]=p;break f}default:break f}break}default:{}}while(0);do if((O|0)==131){O=0;n=vx(e,n,0,-1,-1)|0;o=F()|0;y=D;w=c[y>>2]|0;y=c[y+4>>2]|0;x=(c[B>>2]|0)-(c[E>>2]|0)|0;x=NO(0,0,x|0,((x|0)<0)<<31>>31|0)|0;if((w|0)==(x|0)&(y|0)==(F()|0))break b;if((z|0)!=0&(s|0)==112){c[z>>2]=n;break}else{Fz(z,t,n,o);break}}while(0);o=D;n=(c[B>>2]|0)-(c[E>>2]|0)|0;o=MO(c[o>>2]|0,c[o+4>>2]|0,u|0,v|0)|0;n=MO(o|0,F()|0,n|0,((n|0)<0)<<31>>31|0)|0;h=h+((z|0)!=0&1)|0;o=F()|0;break c}while(0);m=m+(n&1)|0;ux(e,0,0);l=c[B>>2]|0;if(l>>>0<(c[C>>2]|0)>>>0){c[B>>2]=l+1;l=d[l>>0]|0}else l=wx(e)|0;if((l|0)!=(d[m>>0]|0)){O=23;break b}n=MO(u|0,v|0,1,0)|0;o=F()|0}else{while(1){l=m+1|0;if(!(xx(d[l>>0]|0)|0))break;else m=l}ux(e,0,0);do{l=c[B>>2]|0;if(l>>>0<(c[C>>2]|0)>>>0){c[B>>2]=l+1;l=d[l>>0]|0}else l=wx(e)|0}while((xx(l)|0)!=0);if(!(c[C>>2]|0))l=c[B>>2]|0;else{l=(c[B>>2]|0)+-1|0;c[B>>2]=l}o=D;n=l-(c[E>>2]|0)|0;o=MO(c[o>>2]|0,c[o+4>>2]|0,u|0,v|0)|0;n=MO(o|0,F()|0,n|0,((n|0)<0)<<31>>31|0)|0;o=F()|0}while(0);m=m+1|0;l=a[m>>0]|0;if(!(l<<24>>24))break a;else{u=n;v=o}}if((O|0)==23){if(c[C>>2]|0)c[B>>2]=(c[B>>2]|0)+-1;if((h|0)!=0|(l|0)>-1)break;else{l=0;h=k;O=144}}else if((O|0)==143)if(!h){h=k;O=144}if((O|0)==144){k=h;h=-1}if(l){EO(k);EO(j)}}else h=0;while(0);if(P|0)Ox(e);yb=Q;return h|0}function Ez(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=yb;yb=yb+16|0;d=e;c[d>>2]=c[a>>2];while(1){f=(c[d>>2]|0)+(4-1)&~(4-1);a=c[f>>2]|0;c[d>>2]=f+4;if(b>>>0>1)b=b+-1|0;else break}yb=e;return a|0}function Fz(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;a:do if(d|0)switch(e|0){case -2:{a[d>>0]=f;break a}case -1:{b[d>>1]=f;break a}case 0:{c[d>>2]=f;break a}case 1:{c[d>>2]=f;break a}case 3:{e=d;c[e>>2]=f;c[e+4>>2]=g;break a}default:break a}while(0);return}function Gz(a){a=a|0;if(!a)a=1;else a=(c[a>>2]|0)==0&1;return a|0}function Hz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=a+84|0;g=c[e>>2]|0;h=d+256|0;f=Vx(g,0,h)|0;f=(f|0)==0?h:f-g|0;d=f>>>0>>0?f:d;YO(b|0,g|0,d|0)|0;c[a+4>>2]=g+d;b=g+f|0;c[a+8>>2]=b;c[e>>2]=b;return d|0}function Iz(a,b,c){a=a|0;b=b|0;c=c|0;return Kz(a,b,((b|0)<0)<<31>>31,c)|0}function Jz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=yb;yb=yb+16|0;f=e;c[f>>2]=d;d=Ix(a,b,f)|0;yb=e;return d|0}function Kz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((c[a+76>>2]|0)>-1){f=(Nx(a)|0)==0;b=Lz(a,b,d,e)|0;if(!f)Ox(a)}else b=Lz(a,b,d,e)|0;return b|0} +function Ct(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;var i=0.0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0.0,q=0,r=0,s=0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=yb;yb=yb+80|0;A=B+48|0;w=B;x=B+76|0;y=B+72|0;z=B+64|0;u=B+56|0;v=e+4|0;t=+(a|0);p=+(b|0);q=z+4|0;r=u+4|0;s=h+4812|0;j=0;k=0;o=0;a:while(1){if((o|0)>=(c[v>>2]|0)){b=28;break}b=0;while(1){if((b|0)==3)break;a=0;while(1){if((a|0)==4)break;c[w+(b<<4)+(a<<2)>>2]=c[d+(o*48|0)+(b<<4)+(a<<2)>>2];a=a+1|0}b=b+1|0}a=j;b=k;n=0;j=c[(c[e>>2]|0)+(o*112|0)+4>>2]|0;while(1){if((n|0)>=(c[j+4>>2]|0))break;m=0;k=j;while(1){j=c[k>>2]|0;if((m|0)>=(c[j+(n*20|0)+4>>2]|0))break;k=c[j+(n*20|0)>>2]|0;k=(Bf(0,w,+f[k+(m*20|0)+8>>2],+f[k+(m*20|0)+12>>2],x,y)|0)<0;i=+f[x>>2];do if(!(k|i<0.0)?(l=+f[y>>2],!(l>=p)&(!(i>=t)&!(l<0.0))):0){j=c[(c[c[(c[e>>2]|0)+(o*112|0)+4>>2]>>2]|0)+(n*20|0)>>2]|0;c[z>>2]=c[j+(m*20|0)+8>>2];c[q>>2]=c[j+(m*20|0)+12>>2];lf(0,w,z,u)|0;i=+f[r>>2];j=c[c[(c[e>>2]|0)+(o*112|0)+4>>2]>>2]|0;l=+f[j+(n*20|0)+12>>2];if(i<=l?i>=+f[j+(n*20|0)+16>>2]:0){if((b|0)==200){b=18;break a}c[g+(b*24|0)>>2]=o;c[g+(b*24|0)+4>>2]=n;c[g+(b*24|0)+8>>2]=m;c[g+(b*24|0)+16>>2]=c[x>>2];c[g+(b*24|0)+20>>2]=c[y>>2];c[g+(b*24|0)+12>>2]=0;b=b+1|0;break}if(i<=l*2.0?i>=+f[j+(n*20|0)+16>>2]*.5:0)if((a|0)==200){c[s>>2]=-1;a=200;break}else{c[h+(a*24|0)>>2]=o;c[h+(a*24|0)+4>>2]=n;c[h+(a*24|0)+8>>2]=m;c[h+(a*24|0)+16>>2]=c[x>>2];c[h+(a*24|0)+20>>2]=c[y>>2];c[h+(a*24|0)+12>>2]=0;a=a+1|0;break}}while(0);m=m+1|0;k=c[(c[e>>2]|0)+(o*112|0)+4>>2]|0}n=n+1|0;j=k}j=a;k=b;o=o+1|0}if((b|0)==18){Se(0,3,41890,A);a=g+4812|0}else if((b|0)==28){c[g+(k*24|0)+12>>2]=-1;a=h+(j*24|0)+12|0}c[a>>2]=-1;yb=B;return}function Dt(a,b,d,e,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0.0,y=0.0;w=yb;yb=yb+224|0;s=w+212|0;t=w+96|0;v=w;u=w+192|0;l=DO(h<<4)|0;c[s>>2]=l;if(!l){Se(0,3,41858,w+200|0);Ea(1)}p=DO(h*24|0)|0;q=s+4|0;c[q>>2]=p;if(!p){Se(0,3,41858,w+208|0);Ea(1)}k=0;o=0.0;n=0.0;m=0.0;while(1){if((k|0)>=(h|0))break;r=m+ +f[e+(k*12|0)>>2];x=n+ +f[e+(k*12|0)+4>>2];y=o+ +f[e+(k*12|0)+8>>2];k=k+1|0;o=y;n=x;m=r}y=+(h|0);r=m/y;n=n/y;m=o/y;k=0;while(1){if((k|0)>=(h|0))break;g[l+(k<<4)>>3]=+f[d+(k<<3)>>2];g[l+(k<<4)+8>>3]=+f[d+(k<<3)+4>>2];g[p+(k*24|0)>>3]=+f[e+(k*12|0)>>2]-r;g[p+(k*24|0)+8>>3]=+f[e+(k*12|0)+4>>2]-n;g[p+(k*24|0)+16>>3]=+f[e+(k*12|0)+8>>2]-m;k=k+1|0}c[s+8>>2]=h;k=0;while(1){if((k|0)==3)break;l=0;while(1){if((l|0)==3)break;g[t+(k<<5)+(l<<3)>>3]=+f[b+(k<<4)+(l<<2)>>2];l=l+1|0}k=k+1|0}g[t+24>>3]=+f[b+12>>2]+(r*+f[b>>2]+n*+f[b+4>>2]+m*+f[b+8>>2]);g[t+56>>3]=+f[b+28>>2]+(r*+f[b+16>>2]+n*+f[b+20>>2]+m*+f[b+24>>2]);g[t+88>>3]=+f[b+44>>2]+(r*+f[b+32>>2]+n*+f[b+36>>2]+m*+f[b+40>>2]);if(!j){if((Fe(a,s,t,v,u)|0)<0)g[u>>3]=1.0e8}else if((He(a,s,t,v,u)|0)<0)g[u>>3]=1.0e8;EO(c[s>>2]|0);EO(c[q>>2]|0);k=0;while(1){if((k|0)==3)break;l=0;while(1){if((l|0)==3)break;f[i+(k<<4)+(l<<2)>>2]=+g[v+(k<<5)+(l<<3)>>3];l=l+1|0}k=k+1|0}x=n;y=m;f[i+12>>2]=+g[v+24>>3]-+g[v>>3]*r-+g[v+8>>3]*x-+g[v+16>>3]*y;f[i+28>>2]=+g[v+56>>3]-+g[v+32>>3]*r-+g[v+40>>3]*x-+g[v+48>>3]*y;f[i+44>>2]=+g[v+88>>3]-+g[v+64>>3]*r-+g[v+72>>3]*x-+g[v+80>>3]*y;yb=w;return +(+g[u>>3])}function Et(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;if(!f)g=+Ft(a,b,c,d,e);else g=+Gt(a,b,c,d,e,g);return +g}function Ft(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var g=0.0,h=0,i=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0,J=0.0,K=0,L=0.0,M=0.0,N=0.0;H=yb;yb=yb+48|0;i=H+40|0;h=H+32|0;F=H;do if((d|0)>=4?(j=a+44|0,!(+f[j>>2]==0.0)):0){G=DO(d<<6)|0;if(!G){Se(0,3,41875,h);g=-1.0;break}E=DO(d<<3)|0;if(!E){Se(0,3,41875,i);EO(G);g=-1.0;break}h=0;while(1){if((h|0)==3)break;i=0;while(1){if((i|0)==4)break;f[e+(h<<4)+(i<<2)>>2]=+f[a+(h<<4)+(i<<2)>>2]/+f[j>>2];i=i+1|0}h=h+1|0}a=e+4|0;j=e+12|0;q=e+16|0;r=e+20|0;s=e+28|0;t=e+32|0;u=e+36|0;v=+(d|0);w=d<<1;x=F+4|0;y=F+8|0;z=F+12|0;A=F+16|0;B=F+20|0;C=F+24|0;D=F+28|0;p=0.0;i=0;a:while(1){g=0.0;h=0;while(1){if((h|0)>=(d|0))break;k=+f[c+(h*12|0)>>2];l=+f[c+(h*12|0)+4>>2];m=+f[j>>2]+(+f[e>>2]*k+ +f[a>>2]*l);n=+f[s>>2]+(k*+f[q>>2]+l*+f[r>>2]);o=k*+f[t>>2]+l*+f[u>>2]+1.0;if(o==0.0){h=17;break a}L=o*o;J=+f[b+(h<<3)>>2]-m/o;I=+f[b+(h<<3)+4>>2]-n/o;K=h<<1;f[E+(K<<2)>>2]=J;f[E+((K|1)<<2)>>2]=I;N=k/o;K=h<<4;f[G+(K<<2)>>2]=N;M=l/o;f[G+((K|1)<<2)>>2]=M;o=1.0/o;f[G+((K|2)<<2)>>2]=o;f[G+((K|3)<<2)>>2]=0.0;f[G+((K|4)<<2)>>2]=0.0;f[G+((K|5)<<2)>>2]=0.0;f[G+((K|6)<<2)>>2]=-(k*m)/L;f[G+((K|7)<<2)>>2]=-(l*m)/L;f[G+((K|8)<<2)>>2]=0.0;f[G+((K|9)<<2)>>2]=0.0;f[G+((K|10)<<2)>>2]=0.0;f[G+((K|11)<<2)>>2]=N;f[G+((K|12)<<2)>>2]=M;f[G+((K|13)<<2)>>2]=o;f[G+((K|14)<<2)>>2]=-(k*n)/L;f[G+((K|15)<<2)>>2]=-(l*n)/L;g=g+(J*J+I*I);h=h+1|0}g=g/v;if(g<.10000000149011612){h=26;break}if((i|0)!=0&g<4.0){if((i|0)==10|g/p>.9900000095367432){h=26;break}}else if((i|0)==10){h=26;break}if((It(F,E,G,w)|0)<0){h=24;break}f[e>>2]=+f[F>>2]+ +f[e>>2];f[a>>2]=+f[x>>2]+ +f[a>>2];f[j>>2]=+f[y>>2]+ +f[j>>2];f[q>>2]=+f[z>>2]+ +f[q>>2];f[r>>2]=+f[A>>2]+ +f[r>>2];f[s>>2]=+f[B>>2]+ +f[s>>2];f[t>>2]=+f[C>>2]+ +f[t>>2];f[u>>2]=+f[D>>2]+ +f[u>>2];p=g;i=i+1|0}if((h|0)==17){EO(G);EO(E);g=1.0e8;break}else if((h|0)==24){EO(G);EO(E);g=1.0e8;break}else if((h|0)==26){EO(G);EO(E);break}}else g=1.0e8;while(0);yb=H;return +g}function Gt(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=+g;var h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0.0,H=0,I=0,J=0,K=0.0,L=0.0,M=0.0,N=0,O=0;J=yb;yb=yb+64|0;k=J+56|0;j=J+48|0;i=J+40|0;h=J+32|0;I=J;do if((d|0)>=4?(l=a+44|0,!(+f[l>>2]==0.0)):0){G=+(d|0);m=~~(G*g)+-1|0;m=(m|0)>4?m:4;H=DO(d<<6)|0;if(!H){Se(0,3,41875,h);g=-1.0;break}F=DO(d<<3)|0;if(!F){Se(0,3,41875,i);EO(H);g=-1.0;break}h=d<<2;E=DO(h)|0;if(!E){Se(0,3,41875,j);EO(H);EO(F);g=-1.0;break}D=DO(h)|0;if(!D){Se(0,3,41875,k);EO(H);EO(F);EO(E);g=-1.0;break}h=0;while(1){if((h|0)==3)break;i=0;while(1){if((i|0)==4)break;f[e+(h<<4)+(i<<2)>>2]=+f[a+(h<<4)+(i<<2)>>2]/+f[l>>2];i=i+1|0}h=h+1|0}w=e+4|0;x=e+12|0;y=e+16|0;z=e+20|0;A=e+28|0;B=e+32|0;C=e+36|0;k=D+(m<<2)|0;a=I+4|0;l=I+8|0;m=I+12|0;s=I+16|0;t=I+20|0;u=I+24|0;v=I+28|0;r=0.0;j=0;a:while(1){h=0;while(1){if((h|0)>=(d|0))break;g=+f[c+(h*12|0)>>2];n=+f[c+(h*12|0)+4>>2];o=+f[x>>2]+(+f[e>>2]*g+ +f[w>>2]*n);p=+f[A>>2]+(g*+f[y>>2]+n*+f[z>>2]);q=g*+f[B>>2]+n*+f[C>>2]+1.0;if(q==0.0){h=21;break a}K=q*q;L=+f[b+(h<<3)>>2]-o/q;M=+f[b+(h<<3)+4>>2]-p/q;i=h<<1;f[F+(i<<2)>>2]=L;f[F+((i|1)<<2)>>2]=M;M=L*L+M*M;f[D+(h<<2)>>2]=M;f[E+(h<<2)>>2]=M;M=g/q;i=h<<4;f[H+(i<<2)>>2]=M;L=n/q;f[H+((i|1)<<2)>>2]=L;q=1.0/q;f[H+((i|2)<<2)>>2]=q;f[H+((i|3)<<2)>>2]=0.0;f[H+((i|4)<<2)>>2]=0.0;f[H+((i|5)<<2)>>2]=0.0;f[H+((i|6)<<2)>>2]=-(g*o)/K;f[H+((i|7)<<2)>>2]=-(n*o)/K;f[H+((i|8)<<2)>>2]=0.0;f[H+((i|9)<<2)>>2]=0.0;f[H+((i|10)<<2)>>2]=0.0;f[H+((i|11)<<2)>>2]=M;f[H+((i|12)<<2)>>2]=L;f[H+((i|13)<<2)>>2]=q;f[H+((i|14)<<2)>>2]=-(g*p)/K;f[H+((i|15)<<2)>>2]=-(n*p)/K;h=h+1|0}my(D,d,4,32);p=+f[k>>2]*4.0;p=p<16.0?16.0:p;o=p/6.0;n=0.0;h=0;while(1){if((h|0)==(d|0))break;g=+f[D+(h<<2)>>2];if(g>p)g=o;else{g=1.0-g/p;g=o*(1.0-g*(g*g))}n=n+g;h=h+1|0}g=n/G;if(g<.10000000149011612){h=42;break}if((j|0)!=0&g<4.0){if((j|0)==10|g/r>.9900000095367432){h=42;break}}else if((j|0)==10){h=42;break}h=0;i=0;while(1){if((i|0)==(d|0))break;n=+f[E+(i<<2)>>2];if(n<=p){M=1.0-n/p;M=M*M;O=i<<4;N=h<<3;f[H+(N<<2)>>2]=M*+f[H+(O<<2)>>2];f[H+((N|1)<<2)>>2]=M*+f[H+((O|1)<<2)>>2];f[H+((N|2)<<2)>>2]=M*+f[H+((O|2)<<2)>>2];f[H+((N|3)<<2)>>2]=M*+f[H+((O|3)<<2)>>2];f[H+((N|4)<<2)>>2]=M*+f[H+((O|4)<<2)>>2];f[H+((N|5)<<2)>>2]=M*+f[H+((O|5)<<2)>>2];f[H+((N|6)<<2)>>2]=M*+f[H+((O|6)<<2)>>2];f[H+((N|7)<<2)>>2]=M*+f[H+((O|7)<<2)>>2];f[H+(N+8<<2)>>2]=M*+f[H+((O|8)<<2)>>2];f[H+(N+9<<2)>>2]=M*+f[H+((O|9)<<2)>>2];f[H+(N+10<<2)>>2]=M*+f[H+((O|10)<<2)>>2];f[H+(N+11<<2)>>2]=M*+f[H+((O|11)<<2)>>2];f[H+(N+12<<2)>>2]=M*+f[H+((O|12)<<2)>>2];f[H+(N+13<<2)>>2]=M*+f[H+((O|13)<<2)>>2];f[H+(N+14<<2)>>2]=M*+f[H+((O|14)<<2)>>2];f[H+(N+15<<2)>>2]=M*+f[H+((O|15)<<2)>>2];N=i<<1;f[F+(h<<2)>>2]=M*+f[F+(N<<2)>>2];f[F+(h+1<<2)>>2]=M*+f[F+((N|1)<<2)>>2];h=h+2|0}i=i+1|0}if((h|0)<6){h=38;break}if((It(I,F,H,h)|0)<0){h=40;break}f[e>>2]=+f[I>>2]+ +f[e>>2];f[w>>2]=+f[a>>2]+ +f[w>>2];f[x>>2]=+f[l>>2]+ +f[x>>2];f[y>>2]=+f[m>>2]+ +f[y>>2];f[z>>2]=+f[s>>2]+ +f[z>>2];f[A>>2]=+f[t>>2]+ +f[A>>2];f[B>>2]=+f[u>>2]+ +f[B>>2];f[C>>2]=+f[v>>2]+ +f[C>>2];r=g;j=j+1|0}if((h|0)==21){EO(H);EO(F);EO(E);EO(D);g=1.0e8;break}else if((h|0)==38){EO(H);EO(F);EO(E);EO(D);g=-1.0;break}else if((h|0)==40){EO(H);EO(F);EO(E);EO(D);g=1.0e8;break}else if((h|0)==42){EO(H);EO(F);EO(E);EO(D);break}}else g=1.0e8;while(0);yb=J;return +g}function Ht(a,b){a=a|0;b=b|0;var c=0.0;c=+f[a>>2]-+f[b>>2];return (c<0.0?-1:c>0.0&1)|0}function It(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=yb;yb=yb+48|0;h=i+24|0;g=i+12|0;f=i;c[h+4>>2]=8;c[h+8>>2]=1;c[h>>2]=a;c[g+4>>2]=e;c[g+8>>2]=1;c[g>>2]=b;c[f+4>>2]=e;c[f+8>>2]=8;c[f>>2]=d;e=Hd(f)|0;if(!e)a=-1;else{d=Fd(e,f)|0;if(!d)a=-1;else{b=Fd(e,g)|0;if(!b)a=-1;else{if((Xd(d)|0)<0)a=-1;else{Md(h,d,b)|0;a=0}Kd(b)|0}Kd(d)|0}Kd(e)|0}yb=i;return a|0}function Jt(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0;s=yb;yb=yb+32|0;j=s;q=s+28|0;r=s+24|0;o=c[d>>2]|0;p=c[d+4>>2]|0;n=c[d+8>>2]|0;d=c[h>>2]|0;if(!d){d=yf(c[a+28>>2]|0,c[a+32>>2]|0)|0;c[h>>2]=d}k=a+12|0;m=a+48+(o*48|0)|0;l=c[b>>2]|0;if((zf(c[k>>2]|0,m,c[l+(o*112|0)>>2]|0,(c[c[l+(o*112|0)+4>>2]>>2]|0)+(p*20|0)|0,n,d)|0)>=0?(l=c[h>>2]|0,d=c[l+28>>2]|0,t=+(B(d,d)|0),!(+(B((c[l+16>>2]|0)+1+(c[l+20>>2]|0)|0,(c[l+8>>2]|0)+1+(c[l+12>>2]|0)|0)|0)*5.0*5.0>t)):0){l=c[b+152>>2]|0;do if((l|0)!=1){d=c[k>>2]|0;k=a+528+(o*48|0)|0;if((l|0)==2){Af(d,m,k,0,(c[(c[c[(c[b>>2]|0)+(o*112|0)+4>>2]>>2]|0)+(p*20|0)>>2]|0)+(n*20|0)|0,j);break}else{Af(d,m,k,a+1008+(o*48|0)|0,(c[(c[c[(c[b>>2]|0)+(o*112|0)+4>>2]>>2]|0)+(p*20|0)>>2]|0)+(n*20|0)|0,j);break}}else Af(c[k>>2]|0,m,0,0,(c[(c[c[(c[b>>2]|0)+(o*112|0)+4>>2]>>2]|0)+(p*20|0)>>2]|0)+(n*20|0)|0,j);while(0);m=c[a+24>>2]|0;if((uf(e,g,c[a+4>>2]|0,c[a+8>>2]|0,c[a+20>>2]|0,c[h>>2]|0,m,m,j,q,r,i)|0)>=0){f[i+4>>2]=+(c[q>>2]|0);f[i+8>>2]=+(c[r>>2]|0);r=c[b>>2]|0;j=c[(c[c[r+(o*112|0)+4>>2]>>2]|0)+(p*20|0)>>2]|0;q=j+(n*20|0)+8|0;j=j+(n*20|0)+12|0;f[i+12>>2]=+f[r+(o*112|0)+24>>2]+(+f[r+(o*112|0)+12>>2]*+f[q>>2]+ +f[r+(o*112|0)+16>>2]*+f[j>>2]);f[i+16>>2]=+f[r+(o*112|0)+40>>2]+(+f[r+(o*112|0)+28>>2]*+f[q>>2]+ +f[r+(o*112|0)+32>>2]*+f[j>>2]);f[i+20>>2]=+f[r+(o*112|0)+56>>2]+(+f[r+(o*112|0)+44>>2]*+f[q>>2]+ +f[r+(o*112|0)+48>>2]*+f[j>>2]);j=0}else j=-1}else j=-1;yb=s;return j|0}function Kt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=a+20|0;b=c[k>>2]|0;a:do switch(b|0){case 202:{Lt(a);if(!(c[a+64>>2]|0)){c[k>>2]=203;d=6;break a}c[k>>2]=207;k=1;return k|0}case 203:{d=6;break}case 204:{b=a+444|0;break}default:{d=c[a>>2]|0;c[d+20>>2]=21;c[d+24>>2]=b;Qb[c[c[a>>2]>>2]&255](a);d=17}}while(0);if((d|0)==6){g=a+460|0;b:do if(c[(c[g>>2]|0)+16>>2]|0){e=a+8|0;f=a+332|0;b=c[e>>2]|0;c:while(1){if(b|0)Qb[c[b>>2]&255](a);b=Eb[c[c[g>>2]>>2]&127](a)|0;switch(b|0){case 2:break b;case 0:break c;default:{}}d=c[e>>2]|0;if((b|2|0)==3&(d|0)!=0?(h=d+4|0,j=(c[h>>2]|0)+1|0,c[h>>2]=j,h=d+8|0,i=c[h>>2]|0,(j|0)>=(i|0)):0)c[h>>2]=(c[f>>2]|0)+i;b=d}return b|0}while(0);c[a+152>>2]=c[a+144>>2];d=17}if((d|0)==17){b=a+444|0;if((c[k>>2]|0)!=204){Qb[c[c[b>>2]>>2]&255](a);c[a+140>>2]=0;c[k>>2]=204}}d=c[b>>2]|0;d:do if(c[d+8>>2]|0){g=a+140|0;h=a+116|0;i=a+8|0;j=a+448|0;f=c[g>>2]|0;e:while(1){e=c[h>>2]|0;if(f>>>0>>0){do{d=c[i>>2]|0;if(!d)d=f;else{c[d+4>>2]=f;c[d+8>>2]=e;Qb[c[d>>2]&255](a);d=c[g>>2]|0}Vb[c[(c[j>>2]|0)+4>>2]&31](a,0,g,0);f=c[g>>2]|0;if((f|0)==(d|0)){b=0;break e}e=c[h>>2]|0}while(f>>>0>>0);d=c[b>>2]|0}Qb[c[d+4>>2]&255](a);Qb[c[c[b>>2]>>2]&255](a);c[g>>2]=0;d=c[b>>2]|0;if(!(c[d+8>>2]|0))break d;else f=0}return b|0}while(0);c[k>>2]=(c[a+68>>2]|0)==0?205:206;k=1;return k|0}function Lt(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=b+4|0;i=Hb[c[c[k>>2]>>2]&63](b,1,28)|0;c[b+444>>2]=i;c[i>>2]=115;c[i+4>>2]=116;c[i+8>>2]=0;d=c[b+212>>2]|0;if((d|0)!=8){j=c[b>>2]|0;c[j+20>>2]=16;c[j+24>>2]=d;Qb[c[c[b>>2]>>2]&255](b)}Ot(b);e=Hb[c[c[k>>2]>>2]&63](b,1,1280)|0;_O(e|0,0,512)|0;f=e+512|0;c[b+336>>2]=f;d=0;do{a[f+d>>0]=d;d=d+1|0}while((d|0)!=256);_O(e+768|0,-1,512)|0;if(!(((c[b+116>>2]|0)!=0?(c[b+112>>2]|0)!=0:0)?(g=b+120|0,(c[g>>2]|0)>=1):0)){g=c[b>>2]|0;c[g+20>>2]=33;Qb[c[g>>2]&255](b);g=b+120|0}j=i+12|0;c[j>>2]=0;h=i+16|0;c[h>>2]=Pt(b)|0;f=i+20|0;c[f>>2]=0;d=i+24|0;c[d>>2]=0;do if(!(c[b+84>>2]|0)){c[b+100>>2]=0;c[b+104>>2]=0;c[b+108>>2]=0;e=b+68|0}else{if(!(c[b+64>>2]|0)){c[b+100>>2]=0;c[b+104>>2]=0;c[b+108>>2]=0}e=b+68|0;if(c[e>>2]|0){i=c[b>>2]|0;c[i+20>>2]=48;Qb[c[i>>2]&255](b)}do if((c[g>>2]|0)==3){if(c[b+136>>2]|0){c[b+104>>2]=1;break}if(!(c[b+92>>2]|0)){c[b+100>>2]=1;break}else{c[b+108>>2]=1;break}}else{c[b+100>>2]=1;c[b+104>>2]=0;c[b+108>>2]=0;c[b+136>>2]=0}while(0);if(c[b+100>>2]|0){Qt(b);c[f>>2]=c[b+484>>2]}if((c[b+108>>2]|0)==0?(c[b+104>>2]|0)==0:0)break;Rt(b);c[d>>2]=c[b+484>>2]}while(0);if(!(c[e>>2]|0)){if(!(c[h>>2]|0)){Tt(b);Ut(b)}else St(b);Vt(b,c[b+108>>2]|0)}Wt(b);if(!(c[b+228>>2]|0))Yt(b);else Xt(b);f=b+460|0;if(!(c[(c[f>>2]|0)+16>>2]|0))d=(c[b+64>>2]|0)!=0&1;else d=1;Zt(b,d);if(!(c[e>>2]|0))_t(b,0);Qb[c[(c[k>>2]|0)+24>>2]&255](b);Qb[c[(c[f>>2]|0)+8>>2]&255](b);d=c[b+8>>2]|0;if(!d)return;if(c[b+64>>2]|0)return;if(!(c[(c[f>>2]|0)+16>>2]|0))return;k=c[b+36>>2]|0;k=(c[b+224>>2]|0)==0?k:(k*3|0)+2|0;c[d+4>>2]=0;c[d+8>>2]=B(k,c[b+332>>2]|0)|0;c[d+12>>2]=0;c[d+16>>2]=(c[b+108>>2]|0)==0?2:3;c[j>>2]=(c[j>>2]|0)+1;return}function Mt(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a+444>>2]|0;e=d+8|0;if(!(c[e>>2]|0)){b=a+84|0;do if(c[b>>2]|0?(c[a+136>>2]|0)==0:0){if(c[a+92>>2]|0?c[a+108>>2]|0:0){c[a+484>>2]=c[d+24>>2];c[e>>2]=1;break}if(!(c[a+100>>2]|0)){f=c[a>>2]|0;c[f+20>>2]=47;Qb[c[f>>2]&255](a);break}else{c[a+484>>2]=c[d+20>>2];break}}while(0);Qb[c[c[a+472>>2]>>2]&255](a);Qb[c[(c[a+452>>2]|0)+8>>2]&255](a);if(!(c[a+68>>2]|0)){if(!(c[d+16>>2]|0))Qb[c[c[a+480>>2]>>2]&255](a);Qb[c[c[a+476>>2]>>2]&255](a);if(c[b>>2]|0)Sb[c[c[a+484>>2]>>2]&63](a,c[e>>2]|0);Sb[c[c[a+456>>2]>>2]&63](a,(c[e>>2]|0)==0?0:3);Sb[c[c[a+448>>2]>>2]&63](a,0)}}else{c[e>>2]=0;Sb[c[c[a+484>>2]>>2]&63](a,0);Sb[c[c[a+456>>2]>>2]&63](a,2);Sb[c[c[a+448>>2]>>2]&63](a,2)}b=c[a+8>>2]|0;if(!b)return;d=c[d+12>>2]|0;c[b+12>>2]=d;d=((c[e>>2]|0)==0?1:2)+d|0;b=b+16|0;c[b>>2]=d;if(!(c[a+64>>2]|0))return;if(c[(c[a+460>>2]|0)+20>>2]|0)return;c[b>>2]=((c[a+108>>2]|0)==0?1:2)+d;return}function Nt(a){a=a|0;var b=0;b=c[a+444>>2]|0;if(c[a+84>>2]|0)Qb[c[(c[a+484>>2]|0)+8>>2]&255](a);b=b+12|0;c[b>>2]=(c[b>>2]|0)+1;return}function Ot(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;b=c[a+20>>2]|0;if((b|0)!=202){t=c[a>>2]|0;c[t+20>>2]=21;c[t+24>>2]=b;Qb[c[c[a>>2]>>2]&255](a)}ew(a);d=c[a+216>>2]|0;t=a+36|0;b=c[t>>2]|0;o=(b|0)>0;if(o){p=c[a+324>>2]|0;q=(c[a+76>>2]|0)==0?4:8;r=a+320|0;s=c[a+328>>2]|0;if((p|0)>(q|0)){k=(s|0)>(q|0);l=p<<1;i=d;j=0;while(1){m=i+36|0;c[m>>2]=p;a:do if(k)e=s;else{h=c[r>>2]|0;g=c[i+12>>2]|0;f=1;e=s;do{f=f<<1;if((h|0)%(B(f,g)|0)|0|0)break a;e=B(s,f)|0}while((e|0)<=(q|0))}while(0);f=i+40|0;c[f>>2]=e;g=e<<1;if((p|0)<=(g|0)){if((e|0)>(l|0))c[f>>2]=l}else c[m>>2]=g;j=j+1|0;if((j|0)>=(b|0))break;else i=i+88|0}}else{m=c[a+316>>2]|0;n=(s|0)>(q|0);k=d;l=0;while(1){g=c[k+8>>2]|0;f=1;e=p;do{f=f<<1;if((m|0)%(B(f,g)|0)|0|0)break;e=B(p,f)|0}while((e|0)<=(q|0));j=k+36|0;c[j>>2]=e;b:do if(n)g=s;else{h=c[r>>2]|0;i=c[k+12>>2]|0;f=1;g=s;do{f=f<<1;if((h|0)%(B(f,i)|0)|0|0)break b;g=B(s,f)|0}while((g|0)<=(q|0))}while(0);h=k+40|0;c[h>>2]=g;f=g<<1;if((e|0)<=(f|0)){e=e<<1;if((g|0)>(e|0))c[h>>2]=e}else c[j>>2]=f;l=l+1|0;if((l|0)>=(b|0))break;else k=k+88|0}}if(o){f=a+28|0;g=a+316|0;h=a+428|0;i=a+32|0;j=a+320|0;e=0;while(1){b=B(B(c[d+8>>2]|0,c[f>>2]|0)|0,c[d+36>>2]|0)|0;c[d+44>>2]=fw(b,B(c[h>>2]|0,c[g>>2]|0)|0)|0;b=B(B(c[d+12>>2]|0,c[i>>2]|0)|0,c[d+40>>2]|0)|0;c[d+48>>2]=fw(b,B(c[h>>2]|0,c[j>>2]|0)|0)|0;e=e+1|0;b=c[t>>2]|0;if((e|0)>=(b|0))break;else d=d+88|0}}}d=c[a+44>>2]|0;switch(d|0){case 1:{b=d;break}case 6:case 2:{b=3;break}case 7:case 3:{b=3;break}case 5:case 4:{b=4;break}default:{}}c[a+120>>2]=b;c[a+124>>2]=(c[a+84>>2]|0)==0?b:1;if(!(Pt(a)|0)){t=1;a=a+128|0;c[a>>2]=t;return}t=c[a+320>>2]|0;a=a+128|0;c[a>>2]=t;return}function Pt(a){a=a|0;var b=0,d=0;if(c[a+308>>2]|0)return 0;switch(c[a+40>>2]|0){case 7:case 3:break;default:return 0}if((c[a+36>>2]|0)!=3)return 0;if((c[a+44>>2]|0)!=2)return 0;if((c[a+120>>2]|0)!=3)return 0;if(c[a+304>>2]|0)return 0;d=c[a+216>>2]|0;if((c[d+8>>2]|0)!=2)return 0;if((c[d+96>>2]|0)!=1)return 0;if((c[d+184>>2]|0)!=1)return 0;if((c[d+12>>2]|0)>2)return 0;if((c[d+100>>2]|0)!=1)return 0;if((c[d+188>>2]|0)!=1)return 0;b=c[d+36>>2]|0;if((b|0)!=(c[a+324>>2]|0))return 0;if((c[d+124>>2]|0)!=(b|0))return 0;if((c[d+212>>2]|0)!=(b|0))return 0;b=c[d+40>>2]|0;if((b|0)!=(c[a+328>>2]|0))return 0;if((c[d+128>>2]|0)==(b|0))return (c[d+216>>2]|0)==(b|0)|0;else return 0;return 0}function Qt(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=b+4|0;t=Hb[c[c[s>>2]>>2]&63](b,1,88)|0;r=b+484|0;c[r>>2]=t;c[t>>2]=47;c[t+8>>2]=117;c[t+12>>2]=118;c[t+68>>2]=0;c[t+52>>2]=0;t=b+120|0;if((c[t>>2]|0)>4){n=c[b>>2]|0;c[n+20>>2]=57;c[n+24>>2]=4;Qb[c[c[b>>2]>>2]&255](b)}d=b+96|0;e=c[d>>2]|0;if((e|0)>256){e=c[b>>2]|0;c[e+20>>2]=59;c[e+24>>2]=256;Qb[c[c[b>>2]>>2]&255](b);e=c[d>>2]|0}n=c[r>>2]|0;l=n+32|0;k=c[t>>2]|0;if((k|0)>1){h=1;while(1){g=h+1|0;f=1;d=g;do{d=B(d,g)|0;f=f+1|0}while((f|0)!=(k|0));if((d|0)>(e|0)){f=h;break}else h=g}}else{f=(e|0)>1?e:1;d=f+1|0}if(f>>>0<2){j=c[b>>2]|0;c[j+20>>2]=58;c[j+24>>2]=d;Qb[c[c[b>>2]>>2]&255](b)}a:do if((k|0)>0){h=1;d=0;do{c[n+32+(d<<2)>>2]=f;h=B(h,f)|0;d=d+1|0}while((d|0)!=(k|0));if((c[b+44>>2]|0)==2){g=0;d=0;f=h;while(1){h=n+32+(c[15924+(d<<2)>>2]<<2)|0;j=c[h>>2]|0;i=j+1|0;j=B((f|0)/(j|0)|0,i)|0;if((j|0)<=(e|0)){c[h>>2]=i;d=d+1|0;if((d|0)<(k|0)){g=1;f=j}else{d=1;f=j;m=22}}else{d=g;m=22}if((m|0)==22){m=0;if(!d)break a;else{g=0;d=0}}}}else{g=0;d=0;f=h;while(1){h=n+32+(d<<2)|0;j=c[h>>2]|0;i=j+1|0;j=B((f|0)/(j|0)|0,i)|0;if((j|0)<=(e|0)){c[h>>2]=i;d=d+1|0;if((d|0)<(k|0)){g=1;f=j}else{d=1;f=j;m=26}}else{d=g;m=26}if((m|0)==26){m=0;if(!d)break a;else{g=0;d=0}}}}}else f=1;while(0);d=c[b>>2]|0;if((c[t>>2]|0)==3){c[d+24>>2]=f;c[d+28>>2]=c[l>>2];c[d+32>>2]=c[n+36>>2];c[d+36>>2]=c[n+40>>2];c[d+20>>2]=96;Sb[c[d+4>>2]&63](b,1)}else{c[d+20>>2]=97;c[d+24>>2]=f;Sb[c[(c[b>>2]|0)+4>>2]&63](b,1)}m=Ib[c[(c[s>>2]|0)+8>>2]&15](b,1,f,c[t>>2]|0)|0;d=c[t>>2]|0;if((d|0)>0){k=0;l=f;do{j=c[n+32+(k<<2)>>2]|0;i=l;l=(l|0)/(j|0)|0;if((j|0)>0?(o=j+-1|0,p=(o|0)/2|0,q=m+(k<<2)|0,(l|0)>0):0){g=0;do{d=B(g,l)|0;if((d|0)<(f|0)){h=(((g*255|0)+p|0)/(o|0)|0)&255;do{e=0;do{a[(c[q>>2]|0)+(e+d)>>0]=h;e=e+1|0}while((e|0)!=(l|0));d=d+i|0}while((d|0)<(f|0))}g=g+1|0}while((g|0)!=(j|0));d=c[t>>2]|0}k=k+1|0}while((k|0)<(d|0))}c[n+16>>2]=m;c[n+20>>2]=f;_v(b);if((c[b+88>>2]|0)!=2)return;e=c[r>>2]|0;f=(c[b+112>>2]<<1)+4|0;if((c[t>>2]|0)<=0)return;d=0;do{c[e+68+(d<<2)>>2]=Hb[c[(c[s>>2]|0)+4>>2]&63](b,1,f)|0;d=d+1|0}while((d|0)<(c[t>>2]|0));return}function Rt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=a+4|0;e=Hb[c[c[f>>2]>>2]&63](a,1,44)|0;c[a+484>>2]=e;c[e>>2]=48;c[e+12>>2]=119;g=e+32|0;c[g>>2]=0;c[e+40>>2]=0;if((c[a+120>>2]|0)!=3){d=c[a>>2]|0;c[d+20>>2]=48;Qb[c[d>>2]&255](a)}d=e+24|0;c[d>>2]=Hb[c[c[f>>2]>>2]&63](a,1,128)|0;b=0;do{h=Hb[c[(c[f>>2]|0)+4>>2]&63](a,1,4096)|0;c[(c[d>>2]|0)+(b<<2)>>2]=h;b=b+1|0}while((b|0)!=32);c[e+28>>2]=1;if(!(c[a+108>>2]|0))c[e+16>>2]=0;else{b=c[a+96>>2]|0;if((b|0)>=8){if((b|0)>256){h=c[a>>2]|0;c[h+20>>2]=59;c[h+24>>2]=256;Qb[c[c[a>>2]>>2]&255](a)}}else{h=c[a>>2]|0;c[h+20>>2]=58;c[h+24>>2]=8;Qb[c[c[a>>2]>>2]&255](a)}c[e+16>>2]=Ib[c[(c[f>>2]|0)+8>>2]&15](a,1,b,3)|0;c[e+20>>2]=b}b=a+88|0;if(!(c[b>>2]|0))return;c[b>>2]=2;c[g>>2]=Hb[c[(c[f>>2]|0)+4>>2]&63](a,1,((c[a+112>>2]|0)*6|0)+12|0)|0;Pv(a);return}function St(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=a+4|0;b=Hb[c[c[g>>2]>>2]&63](a,1,48)|0;f=a+476|0;c[f>>2]=b;c[b>>2]=120;c[b+8>>2]=0;d=B(c[a+120>>2]|0,c[a+112>>2]|0)|0;c[b+40>>2]=d;e=b+4|0;if((c[a+320>>2]|0)==2){c[e>>2]=1;c[b+12>>2]=9;c[b+32>>2]=Hb[c[(c[g>>2]|0)+4>>2]&63](a,1,d)|0;b=c[f>>2]|0}else{c[e>>2]=2;c[b+12>>2]=10;c[b+32>>2]=0}d=(c[a+40>>2]|0)==7;e=b+16|0;c[e>>2]=Hb[c[c[g>>2]>>2]&63](a,1,1024)|0;f=b+20|0;c[f>>2]=Hb[c[c[g>>2]>>2]&63](a,1,1024)|0;h=b+24|0;c[h>>2]=Hb[c[c[g>>2]>>2]&63](a,1,1024)|0;g=Hb[c[c[g>>2]>>2]&63](a,1,1024)|0;c[b+28>>2]=g;e=c[e>>2]|0;f=c[f>>2]|0;a=c[h>>2]|0;if(d){b=0;d=-128;while(1){c[e+(b<<2)>>2]=(d*183763|0)+32768>>16;c[f+(b<<2)>>2]=(d*232260|0)+32768>>16;c[a+(b<<2)>>2]=B(d,-93603)|0;c[g+(b<<2)>>2]=(B(d,-45107)|0)+32768;b=b+1|0;if((b|0)==256)break;else d=d+1|0}return}else{b=0;d=-128;while(1){c[e+(b<<2)>>2]=(d*91881|0)+32768>>16;c[f+(b<<2)>>2]=(d*116130|0)+32768>>16;c[a+(b<<2)>>2]=B(d,-46802)|0;c[g+(b<<2)>>2]=(B(d,-22553)|0)+32768;b=b+1|0;if((b|0)==256)break;else d=d+1|0}return}}function Tt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+4|0;e=Hb[c[c[b>>2]>>2]&63](a,1,28)|0;g=a+480|0;c[g>>2]=e;c[e>>2]=121;h=a+40|0;switch(c[h>>2]|0){case 1:{if((c[a+36>>2]|0)!=1){f=c[a>>2]|0;c[f+20>>2]=11;Qb[c[f>>2]&255](a)}break}case 7:case 6:case 3:case 2:{if((c[a+36>>2]|0)!=3){f=c[a>>2]|0;c[f+20>>2]=11;Qb[c[f>>2]&255](a)}break}case 5:case 4:{if((c[a+36>>2]|0)!=4){f=c[a>>2]|0;c[f+20>>2]=11;Qb[c[f>>2]&255](a)}break}default:if((c[a+36>>2]|0)<1){f=c[a>>2]|0;c[f+20>>2]=11;Qb[c[f>>2]&255](a)}}d=a+304|0;a:do if(c[d>>2]|0){switch(c[h>>2]|0){case 6:case 2:break a;default:{}}f=c[a>>2]|0;c[f+20>>2]=28;Qb[c[f>>2]&255](a)}while(0);f=c[a+44>>2]|0;b:do switch(f|0){case 1:{c[a+120>>2]=1;switch(c[h>>2]|0){case 7:case 3:case 1:{c[e+4>>2]=4;d=c[a+36>>2]|0;if((d|0)<=1)break b;e=c[a+216>>2]|0;b=1;do{c[e+(b*88|0)+52>>2]=0;b=b+1|0}while((b|0)<(d|0));break}case 2:{switch(c[d>>2]|0){case 0:{c[e+4>>2]=5;break}case 1:{c[e+4>>2]=6;break}default:{h=c[a>>2]|0;c[h+20>>2]=28;Qb[c[h>>2]&255](a)}}h=c[g>>2]|0;d=Hb[c[c[b>>2]>>2]&63](a,1,3072)|0;c[h+24>>2]=d;b=0;do{c[d+(b<<2)>>2]=b*19595;c[d+(b+256<<2)>>2]=b*38470;c[d+(b+512<<2)>>2]=(b*7471|0)+32768;b=b+1|0}while((b|0)!=256);break}default:{h=c[a>>2]|0;c[h+20>>2]=28;Qb[c[h>>2]&255](a);break b}}break}case 2:{c[a+120>>2]=3;switch(c[h>>2]|0){case 1:{c[e+4>>2]=7;break b}case 3:{c[e+4>>2]=8;d=c[g>>2]|0;f=d+8|0;c[f>>2]=Hb[c[c[b>>2]>>2]&63](a,1,1024)|0;g=d+12|0;c[g>>2]=Hb[c[c[b>>2]>>2]&63](a,1,1024)|0;h=d+16|0;c[h>>2]=Hb[c[c[b>>2]>>2]&63](a,1,1024)|0;e=Hb[c[c[b>>2]>>2]&63](a,1,1024)|0;c[d+20>>2]=e;f=c[f>>2]|0;g=c[g>>2]|0;h=c[h>>2]|0;b=0;d=-128;while(1){c[f+(b<<2)>>2]=(d*91881|0)+32768>>16;c[g+(b<<2)>>2]=(d*116130|0)+32768>>16;c[h+(b<<2)>>2]=B(d,-46802)|0;c[e+(b<<2)>>2]=(B(d,-22553)|0)+32768;b=b+1|0;if((b|0)==256)break;else d=d+1|0}break}case 7:{c[e+4>>2]=8;d=c[g>>2]|0;f=d+8|0;c[f>>2]=Hb[c[c[b>>2]>>2]&63](a,1,1024)|0;g=d+12|0;c[g>>2]=Hb[c[c[b>>2]>>2]&63](a,1,1024)|0;h=d+16|0;c[h>>2]=Hb[c[c[b>>2]>>2]&63](a,1,1024)|0;e=Hb[c[c[b>>2]>>2]&63](a,1,1024)|0;c[d+20>>2]=e;f=c[f>>2]|0;g=c[g>>2]|0;h=c[h>>2]|0;b=0;d=-128;while(1){c[f+(b<<2)>>2]=(d*183763|0)+32768>>16;c[g+(b<<2)>>2]=(d*232260|0)+32768>>16;c[h+(b<<2)>>2]=B(d,-93603)|0;c[e+(b<<2)>>2]=(B(d,-45107)|0)+32768;b=b+1|0;if((b|0)==256)break;else d=d+1|0}break}case 2:switch(c[d>>2]|0){case 0:{c[e+4>>2]=9;break b}case 1:{c[e+4>>2]=10;break b}default:{h=c[a>>2]|0;c[h+20>>2]=28;Qb[c[h>>2]&255](a);break b}}default:{h=c[a>>2]|0;c[h+20>>2]=28;Qb[c[h>>2]&255](a);break b}}break}case 6:{c[a+120>>2]=3;if((c[h>>2]|0)!=6){h=c[a>>2]|0;c[h+20>>2]=28;Qb[c[h>>2]&255](a);break b}switch(c[d>>2]|0){case 0:{c[e+4>>2]=9;break b}case 1:{c[e+4>>2]=10;break b}default:{h=c[a>>2]|0;c[h+20>>2]=28;Qb[c[h>>2]&255](a);break b}}}case 4:{c[a+120>>2]=4;switch(c[h>>2]|0){case 5:{c[e+4>>2]=11;d=c[g>>2]|0;f=d+8|0;c[f>>2]=Hb[c[c[b>>2]>>2]&63](a,1,1024)|0;g=d+12|0;c[g>>2]=Hb[c[c[b>>2]>>2]&63](a,1,1024)|0;h=d+16|0;c[h>>2]=Hb[c[c[b>>2]>>2]&63](a,1,1024)|0;e=Hb[c[c[b>>2]>>2]&63](a,1,1024)|0;c[d+20>>2]=e;f=c[f>>2]|0;g=c[g>>2]|0;h=c[h>>2]|0;b=0;d=-128;while(1){c[f+(b<<2)>>2]=(d*91881|0)+32768>>16;c[g+(b<<2)>>2]=(d*116130|0)+32768>>16;c[h+(b<<2)>>2]=B(d,-46802)|0;c[e+(b<<2)>>2]=(B(d,-22553)|0)+32768;b=b+1|0;if((b|0)==256)break;else d=d+1|0}break}case 4:{c[e+4>>2]=12;break b}default:{h=c[a>>2]|0;c[h+20>>2]=28;Qb[c[h>>2]&255](a);break b}}break}default:if((f|0)==(c[h>>2]|0)){c[a+120>>2]=c[a+36>>2];c[e+4>>2]=12;break b}else{h=c[a>>2]|0;c[h+20>>2]=28;Qb[c[h>>2]&255](a);break b}}while(0);if(c[a+84>>2]|0){h=1;a=a+124|0;c[a>>2]=h;return}h=c[a+120>>2]|0;a=a+124|0;c[a>>2]=h;return}function Ut(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;m=b+4|0;d=Hb[c[c[m>>2]>>2]&63](b,1,160)|0;c[b+476>>2]=d;c[d>>2]=122;c[d+4>>2]=3;c[d+8>>2]=0;if(c[b+308>>2]|0){w=c[b>>2]|0;c[w+20>>2]=26;Qb[c[w>>2]&255](b)}n=b+36|0;if((c[n>>2]|0)<=0)return;o=b+324|0;p=b+328|0;q=b+316|0;r=b+320|0;s=d+100|0;t=d+52|0;u=b+112|0;v=d+12|0;w=d+140|0;h=d+150|0;f=c[b+216>>2]|0;g=0;while(1){i=B(c[f+36>>2]|0,c[f+8>>2]|0)|0;i=(i|0)/(c[o>>2]|0)|0;j=B(c[f+40>>2]|0,c[f+12>>2]|0)|0;j=(j|0)/(c[p>>2]|0)|0;k=c[q>>2]|0;l=c[r>>2]|0;c[s+(g<<2)>>2]=j;do if(!(c[f+52>>2]|0))c[t+(g<<2)>>2]=11;else{d=(j|0)==(l|0);if((i|0)==(k|0)&d){c[t+(g<<2)>>2]=12;break}e=(i<<1|0)==(k|0);do if(e&d)c[t+(g<<2)>>2]=13;else{if(e&(j<<1|0)==(l|0)){c[t+(g<<2)>>2]=14;break}d=(k|0)/(i|0)|0;if((k-(B(d,i)|0)|0)==0?(x=(l|0)/(j|0)|0,(l-(B(x,j)|0)|0)==0):0){c[t+(g<<2)>>2]=15;a[w+g>>0]=d;a[h+g>>0]=x;break}l=c[b>>2]|0;c[l+20>>2]=39;Qb[c[l>>2]&255](b)}while(0);k=c[(c[m>>2]|0)+8>>2]|0;l=fu(c[u>>2]|0,c[q>>2]|0)|0;c[v+(g<<2)>>2]=Ib[k&15](b,1,l,c[r>>2]|0)|0}while(0);g=g+1|0;if((g|0)>=(c[n>>2]|0))break;else f=f+88|0}return}function Vt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=a+4|0;d=Hb[c[c[f>>2]>>2]&63](a,1,28)|0;c[a+456>>2]=d;c[d>>2]=49;h=d+8|0;c[h>>2]=0;i=d+12|0;c[i>>2]=0;if(!(c[a+84>>2]|0))return;g=c[a+320>>2]|0;e=d+16|0;c[e>>2]=g;d=c[f>>2]|0;if(!b){h=B(c[a+120>>2]|0,c[a+112>>2]|0)|0;c[i>>2]=Ib[c[d+8>>2]&15](a,1,h,g)|0;return}else{f=c[d+16>>2]|0;b=B(c[a+120>>2]|0,c[a+112>>2]|0)|0;i=fu(c[a+116>>2]|0,g)|0;c[h>>2]=Mb[f&63](a,1,0,b,i,c[e>>2]|0)|0;return}}function Wt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=a+4|0;b=Hb[c[c[f>>2]>>2]&63](a,1,84)|0;c[a+472>>2]=b;c[b>>2]=123;g=a+36|0;if((c[g>>2]|0)<=0)return;e=b+44|0;b=0;d=c[a+216>>2]|0;while(1){h=Hb[c[c[f>>2]>>2]&63](a,1,256)|0;c[d+84>>2]=h;_O(h|0,0,256)|0;c[e+(b<<2)>>2]=-1;b=b+1|0;if((b|0)>=(c[g>>2]|0))break;else d=d+88|0}return}function Xt(b){b=b|0;var d=0,e=0,f=0,g=0;g=b+4|0;e=Hb[c[c[g>>2]>>2]&63](b,1,192)|0;c[b+468>>2]=e;c[e>>2]=124;c[e+8>>2]=125;d=e+188|0;e=e+60|0;f=e+128|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));a[d>>0]=113;if(!(c[b+224>>2]|0))return;f=b+36|0;e=Hb[c[c[g>>2]>>2]&63](b,1,c[f>>2]<<8)|0;c[b+160>>2]=e;if((c[f>>2]|0)<=0)return;d=0;do{_O(e+(d<<8)|0,-1,256)|0;d=d+1|0}while((d|0)<(c[f>>2]|0));return}function Yt(a){a=a|0;var b=0,d=0,e=0,f=0;b=a+4|0;f=Hb[c[c[b>>2]>>2]&63](a,1,220)|0;c[a+468>>2]=f;c[f>>2]=126;c[f+8>>2]=127;if(!(c[a+224>>2]|0)){e=f+68|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[f+88>>2]=0;c[f+92>>2]=0;c[f+96>>2]=0;return}e=a+36|0;d=Hb[c[c[b>>2]>>2]&63](a,1,c[e>>2]<<8)|0;c[a+160>>2]=d;if((c[e>>2]|0)>0){b=0;do{_O(d+(b<<8)|0,-1,256)|0;b=b+1|0}while((b|0)<(c[e>>2]|0))}f=f+48|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;return}function Zt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;h=a+4|0;i=Hb[c[c[h>>2]>>2]&63](a,1,116)|0;c[a+452>>2]=i;c[i>>2]=128;c[i+8>>2]=129;c[i+112>>2]=0;if(!b){b=Hb[c[(c[h>>2]|0)+4>>2]&63](a,1,1280)|0;c[i+32>>2]=b;c[i+36>>2]=b+128;c[i+40>>2]=b+256;c[i+44>>2]=b+384;c[i+48>>2]=b+512;c[i+52>>2]=b+640;c[i+56>>2]=b+768;c[i+60>>2]=b+896;c[i+64>>2]=b+1024;c[i+68>>2]=b+1152;if(!(c[a+436>>2]|0))_O(b|0,0,1280)|0;c[i+4>>2]=84;c[i+12>>2]=34;c[i+16>>2]=0;return}f=a+36|0;if((c[f>>2]|0)>0){g=a+224|0;b=i+72|0;d=0;e=c[a+216>>2]|0;while(1){k=e+12|0;j=c[k>>2]|0;j=(c[g>>2]|0)==0?j:j*3|0;m=c[(c[h>>2]|0)+20>>2]|0;l=fu(c[e+28>>2]|0,c[e+8>>2]|0)|0;k=fu(c[e+32>>2]|0,c[k>>2]|0)|0;c[b+(d<<2)>>2]=Mb[m&63](a,1,1,l,k,j)|0;d=d+1|0;if((d|0)>=(c[f>>2]|0))break;else e=e+88|0}}else b=i+72|0;c[i+4>>2]=83;c[i+12>>2]=33;c[i+16>>2]=b;return}function _t(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;j=Hb[c[c[l>>2]>>2]&63](a,1,80)|0;d=a+448|0;c[d>>2]=j;c[j>>2]=50;if(b|0){k=c[a>>2]|0;c[k+20>>2]=3;Qb[c[k>>2]&255](a)}k=a+328|0;e=c[k>>2]|0;if(!(c[(c[a+476>>2]|0)+8>>2]|0)){c[j+52>>2]=e;b=a+36|0;h=e;g=b;b=c[b>>2]|0;d=e}else{if((e|0)<2){e=c[a>>2]|0;c[e+20>>2]=48;Qb[c[e>>2]&255](a);e=c[k>>2]|0}h=c[d>>2]|0;i=a+36|0;f=Hb[c[c[l>>2]>>2]&63](a,1,c[i>>2]<<3)|0;g=h+60|0;c[g>>2]=f;b=c[i>>2]|0;h=h+64|0;c[h>>2]=f+(b<<2);if((b|0)>0){f=e+4|0;d=c[a+216>>2]|0;e=0;while(1){m=B(c[d+40>>2]|0,c[d+12>>2]|0)|0;m=(m|0)/(c[k>>2]|0)|0;b=B(m,f)|0;m=(Hb[c[c[l>>2]>>2]&63](a,1,b<<3)|0)+(m<<2)|0;c[(c[g>>2]|0)+(e<<2)>>2]=m;c[(c[h>>2]|0)+(e<<2)>>2]=m+(b<<2);e=e+1|0;b=c[i>>2]|0;if((e|0)>=(b|0))break;else d=d+88|0}}d=c[k>>2]|0;h=d+2|0;g=i}if((b|0)<=0)return;f=j+8|0;b=0;e=c[a+216>>2]|0;while(1){m=(B(c[e+40>>2]|0,c[e+12>>2]|0)|0)/(d|0)|0;j=B(c[e+36>>2]|0,c[e+28>>2]|0)|0;m=B(m,h)|0;c[f+(b<<2)>>2]=Ib[c[(c[l>>2]|0)+8>>2]&15](a,1,j,m)|0;b=b+1|0;if((b|0)>=(c[g>>2]|0))break;e=e+88|0;d=c[k>>2]|0}return}function $t(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=c[a+448>>2]|0;switch(b|0){case 0:{b=r+4|0;if(!(c[(c[a+476>>2]|0)+8>>2]|0)){c[b>>2]=17;c[r+48>>2]=c[r+52>>2];return}c[b>>2]=16;l=c[a+328>>2]|0;m=c[a+36>>2]|0;if((m|0)>0){n=r+60|0;o=r+64|0;p=l+2|0;q=l+-2|0;h=c[a+216>>2]|0;i=0;while(1){j=(B(c[h+40>>2]|0,c[h+12>>2]|0)|0)/(l|0)|0;k=c[(c[n>>2]|0)+(i<<2)>>2]|0;f=c[(c[o>>2]|0)+(i<<2)>>2]|0;g=c[r+8+(i<<2)>>2]|0;a=B(j,p)|0;if((a|0)>0){b=0;do{e=c[g+(b<<2)>>2]|0;c[f+(b<<2)>>2]=e;c[k+(b<<2)>>2]=e;b=b+1|0}while((b|0)!=(a|0))}a=j<<1;if((j|0)>0){d=B(j,l)|0;e=B(j,q)|0;b=0;do{s=b+d|0;t=b+e|0;c[f+(t<<2)>>2]=c[g+(s<<2)>>2];c[f+(s<<2)>>2]=c[g+(t<<2)>>2];b=b+1|0}while((b|0)<(a|0));b=0;do{c[k+(b-j<<2)>>2]=c[k>>2];b=b+1|0}while((b|0)!=(j|0))}i=i+1|0;if((i|0)==(m|0))break;else h=h+88|0}}c[r+68>>2]=0;c[r+72>>2]=0;c[r+76>>2]=0;c[r+56>>2]=0;return}case 2:{c[r+4>>2]=18;return}default:{t=c[a>>2]|0;c[t+20>>2]=3;Qb[c[t>>2]&255](a);return}}}function au(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;v=a+448|0;w=c[v>>2]|0;y=w+56|0;do if(!(c[y>>2]|0))if(!(Gb[c[(c[a+452>>2]|0)+12>>2]&63](a,c[w+60+(c[w+68>>2]<<2)>>2]|0)|0))return;else{c[y>>2]=1;x=w+76|0;c[x>>2]=(c[x>>2]|0)+1;break}while(0);x=w+72|0;switch(c[x>>2]|0){case 2:{f=w+48|0;g=w+52|0;Yb[c[(c[a+456>>2]|0)+4>>2]&7](a,c[w+60+(c[w+68>>2]<<2)>>2]|0,f,c[g>>2]|0,b,d,e);if((c[f>>2]|0)>>>0<(c[g>>2]|0)>>>0)return;c[x>>2]=0;if((c[d>>2]|0)>>>0>>0)h=9;else return;break}case 0:{f=w+48|0;g=w+52|0;h=9;break}case 1:{u=w+48|0;t=w+52|0;break}default:return}if((h|0)==9){c[f>>2]=0;p=c[a+328>>2]|0;c[g>>2]=p+-1;if((c[w+76>>2]|0)==(c[a+332>>2]|0)?(i=c[v>>2]|0,r=c[a+36>>2]|0,(r|0)>0):0){q=i+52|0;l=i+60+(c[i+68>>2]<<2)|0;j=c[a+216>>2]|0;k=0;while(1){u=B(c[j+40>>2]|0,c[j+12>>2]|0)|0;h=(u|0)/(p|0)|0;o=((c[j+48>>2]|0)>>>0)%(u>>>0)|0;o=(o|0)==0?u:o;if(!k)c[q>>2]=((o+-1|0)/(h|0)|0)+1;m=c[(c[l>>2]|0)+(k<<2)>>2]|0;n=h<<1;if((h|0)>0){i=m+(o+-1<<2)|0;h=0;do{c[m+(h+o<<2)>>2]=c[i>>2];h=h+1|0}while((h|0)<(n|0))}k=k+1|0;if((k|0)==(r|0))break;else j=j+88|0}}c[x>>2]=1;u=f;t=g}s=w+68|0;Yb[c[(c[a+456>>2]|0)+4>>2]&7](a,c[w+60+(c[s>>2]<<2)>>2]|0,u,c[t>>2]|0,b,d,e);if((c[u>>2]|0)>>>0<(c[t>>2]|0)>>>0)return;if((c[w+76>>2]|0)==1){g=c[v>>2]|0;f=c[a+328>>2]|0;r=c[a+36>>2]|0;if((r|0)>0){b=g+60|0;o=g+64|0;p=f+1|0;q=f+2|0;h=c[a+216>>2]|0;i=0;while(1){j=(B(c[h+40>>2]|0,c[h+12>>2]|0)|0)/(f|0)|0;k=c[(c[b>>2]|0)+(i<<2)>>2]|0;l=c[(c[o>>2]|0)+(i<<2)>>2]|0;if((j|0)>0){m=B(j,p)|0;n=B(j,q)|0;g=0;do{w=g+m|0;a=g-j|0;c[k+(a<<2)>>2]=c[k+(w<<2)>>2];c[l+(a<<2)>>2]=c[l+(w<<2)>>2];a=g+n|0;c[k+(a<<2)>>2]=c[k+(g<<2)>>2];c[l+(a<<2)>>2]=c[l+(g<<2)>>2];g=g+1|0}while((g|0)!=(j|0))}i=i+1|0;if((i|0)==(r|0))break;else h=h+88|0}}}else f=c[a+328>>2]|0;c[s>>2]=c[s>>2]^1;c[y>>2]=0;c[u>>2]=f+1;c[t>>2]=f+2;c[x>>2]=2;return}function bu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=c[a+448>>2]|0;i=f+48|0;h=f+52|0;g=c[h>>2]|0;do if((c[i>>2]|0)>>>0>=g>>>0){f=f+8|0;if(!(Gb[c[(c[a+452>>2]|0)+12>>2]&63](a,f)|0))return;else{c[i>>2]=0;g=c[h>>2]|0;break}}else f=f+8|0;while(0);Yb[c[(c[a+456>>2]|0)+4>>2]&7](a,f,i,g,b,d,e);return}function cu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Yb[c[(c[a+456>>2]|0)+4>>2]&7](a,0,0,0,b,d,e);return}function du(a){a=a|0;var b=0,d=0;c[a+148>>2]=0;b=c[a+452>>2]|0;if((c[a+340>>2]|0)>1)a=1;else{d=c[a+344>>2]|0;a=c[((c[a+332>>2]|0)==1?d+76|0:d+12|0)>>2]|0}c[b+28>>2]=a;c[b+20>>2]=0;c[b+24>>2]=0;return}function eu(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=c[a+452>>2]|0;if(!(c[k+16>>2]|0)){l=a+156|0;c[l>>2]=0;return}a:do if(((c[a+80>>2]|0)!=0?(c[a+224>>2]|0)!=0:0)?(j=a+160|0,(c[j>>2]|0)!=0):0){d=k+112|0;e=c[d>>2]|0;if(!e){i=a+36|0;e=Hb[c[c[a+4>>2]>>2]&63](a,1,(c[i>>2]|0)*24|0)|0;c[d>>2]=e}else i=a+36|0;if((c[i>>2]|0)>0){f=0;g=c[a+216>>2]|0;h=0;while(1){d=c[g+80>>2]|0;if(!d){l=20;break a}if(!(b[d>>1]|0)){l=20;break a}if(!(b[d+2>>1]|0)){l=20;break a}if(!(b[d+16>>1]|0)){l=20;break a}if(!(b[d+32>>1]|0)){l=20;break a}if(!(b[d+18>>1]|0)){l=20;break a}if(!(b[d+4>>1]|0)){l=20;break a}d=c[j>>2]|0;if((c[d+(h<<8)>>2]|0)<0){l=20;break a}m=d+(h<<8)+4|0;c[e+4>>2]=c[m>>2];m=c[m>>2]|0;n=d+(h<<8)+8|0;c[e+8>>2]=c[n>>2];m=c[n>>2]|m;n=d+(h<<8)+12|0;c[e+12>>2]=c[n>>2];n=m|c[n>>2];m=d+(h<<8)+16|0;c[e+16>>2]=c[m>>2];m=n|c[m>>2];d=d+(h<<8)+20|0;c[e+20>>2]=c[d>>2];f=(m|c[d>>2]|0)==0?f:1;h=h+1|0;if((h|0)>=(c[i>>2]|0))break;else{g=g+88|0;e=e+24|0}}if(f)d=35;else l=20}else l=20}else l=20;while(0);if((l|0)==20)d=33;c[k+12>>2]=d;n=a+156|0;c[n>>2]=0;return}function fu(a,b){a=a|0;b=b|0;a=a+-1+b|0;return a-((a|0)%(b|0)|0)|0}function gu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=yb;yb=yb+16|0;u=z;x=a+452|0;v=c[x>>2]|0;y=a+340|0;if((c[y>>2]|0)>0){d=a+4|0;e=a+148|0;b=0;do{r=c[a+344+(b<<2)>>2]|0;t=c[r+12>>2]|0;s=B(t,c[e>>2]|0)|0;c[u+(b<<2)>>2]=Kb[c[(c[d>>2]|0)+32>>2]&31](a,c[v+72+(c[r+4>>2]<<2)>>2]|0,s,t,1)|0;b=b+1|0}while((b|0)<(c[y>>2]|0))}o=v+24|0;b=c[o>>2]|0;p=v+28|0;f=c[p>>2]|0;a:do if((b|0)<(f|0)){q=v+20|0;r=a+360|0;s=a+468|0;t=v+32|0;d=c[q>>2]|0;e=c[r>>2]|0;b:while(1){if(d>>>0>>0){do{n=c[y>>2]|0;if((n|0)>0){e=0;m=0;do{l=c[a+344+(m<<2)>>2]|0;j=c[l+56>>2]|0;k=B(j,d)|0;l=c[l+60>>2]|0;if((l|0)>0?(w=c[u+(m<<2)>>2]|0,(j|0)>0):0){i=0;do{f=0;g=(c[w+(i+b<<2)>>2]|0)+(k<<7)|0;h=e;while(1){c[v+32+(h<<2)>>2]=g;f=f+1|0;if((f|0)==(j|0))break;else{g=g+128|0;h=h+1|0}}e=j+e|0;i=i+1|0}while((i|0)<(l|0))}m=m+1|0}while((m|0)<(n|0))}if(!(Gb[c[(c[s>>2]|0)+4>>2]&63](a,t)|0))break b;d=d+1|0;e=c[r>>2]|0}while(d>>>0>>0);f=c[p>>2]|0}c[q>>2]=0;b=b+1|0;if((b|0)<(f|0))d=0;else break a}c[o>>2]=b;c[q>>2]=d;y=0;yb=z;return y|0}while(0);d=a+148|0;b=(c[d>>2]|0)+1|0;c[d>>2]=b;d=c[a+332>>2]|0;if(b>>>0>=d>>>0){Qb[c[(c[a+460>>2]|0)+12>>2]&255](a);y=4;yb=z;return y|0}e=c[x>>2]|0;if((c[y>>2]|0)>1)b=1;else{y=c[a+344>>2]|0;b=c[(b>>>0<(d+-1|0)>>>0?y+12|0:y+76|0)>>2]|0}c[e+28>>2]=b;c[e+20>>2]=0;c[e+24>>2]=0;y=3;yb=z;return y|0}function hu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=c[a+452>>2]|0;w=a+332|0;x=(c[w>>2]|0)+-1|0;g=a+144|0;h=a+152|0;i=a+460|0;d=a+148|0;u=a+156|0;while(1){e=c[g>>2]|0;f=c[h>>2]|0;if((e|0)>=(f|0)){if((e|0)!=(f|0))break;if((c[d>>2]|0)>>>0>(c[u>>2]|0)>>>0)break}if(!(Eb[c[c[i>>2]>>2]&127](a)|0)){d=0;j=20;break}}if((j|0)==20)return d|0;q=a+36|0;if((c[q>>2]|0)>0){r=a+4|0;s=a+472|0;o=c[a+216>>2]|0;p=0;while(1){if(c[o+52>>2]|0){d=o+12|0;t=c[d>>2]|0;n=B(t,c[u>>2]|0)|0;t=Kb[c[(c[r>>2]|0)+32>>2]&31](a,c[v+72+(p<<2)>>2]|0,n,t,0)|0;if((c[u>>2]|0)>>>0>>0)i=c[d>>2]|0;else{n=c[d>>2]|0;i=((c[o+32>>2]|0)>>>0)%(n>>>0)|0;i=(i|0)==0?n:i}k=c[(c[s>>2]|0)+4+(p<<2)>>2]|0;if((i|0)>0){l=o+28|0;m=o+40|0;n=o+36|0;h=c[b+(p<<2)>>2]|0;j=0;d=c[l>>2]|0;while(1){if(!d)d=0;else{e=0;f=c[t+(j<<2)>>2]|0;g=0;while(1){Wb[k&63](a,o,f,h,e);g=g+1|0;d=c[l>>2]|0;if(g>>>0>=d>>>0)break;else{e=(c[n>>2]|0)+e|0;f=f+128|0}}}j=j+1|0;if((j|0)==(i|0))break;else h=h+(c[m>>2]<<2)|0}}}p=p+1|0;if((p|0)>=(c[q>>2]|0))break;else o=o+88|0}}x=(c[u>>2]|0)+1|0;c[u>>2]=x;x=x>>>0<(c[w>>2]|0)>>>0?3:4;return x|0}function iu(a){a=a|0;return 0}function ju(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=a+452|0;I=c[N>>2]|0;J=(c[a+360>>2]|0)+-1|0;M=a+332|0;f=c[M>>2]|0;K=f+-1|0;G=I+24|0;d=c[G>>2]|0;H=I+28|0;g=c[H>>2]|0;do if((d|0)<(g|0)){y=I+20|0;z=a+436|0;A=a+468|0;C=I+32|0;D=a+368|0;E=a+340|0;F=a+472|0;e=a+148|0;x=d;f=g;d=c[y>>2]|0;a:while(1){if(d>>>0<=J>>>0){do{if(c[z>>2]|0)_O(c[C>>2]|0,0,c[D>>2]<<7|0)|0;if(!(Gb[c[(c[A>>2]|0)+4>>2]&63](a,C)|0))break a;f=c[E>>2]|0;if((f|0)>0){w=d>>>0>>0;g=0;v=0;do{m=c[a+344+(v<<2)>>2]|0;b:do if(c[m+52>>2]|0){h=c[m+4>>2]|0;n=c[(c[F>>2]|0)+4+(h<<2)>>2]|0;o=m+56|0;p=c[(w?o:m+72|0)>>2]|0;q=m+40|0;i=c[q>>2]|0;r=B(c[m+68>>2]|0,d)|0;s=m+60|0;l=c[s>>2]|0;if((l|0)>0){t=m+76|0;u=m+36|0;if((p|0)<=0){i=c[o>>2]|0;h=0;while(1){g=i+g|0;h=h+1|0;if((h|0)>=(l|0))break b}}j=(c[b+(h<<2)>>2]|0)+((B(i,x)|0)<<2)|0;k=0;h=l;f=i;while(1){if(!((c[e>>2]|0)>>>0>=K>>>0?(k+x|0)>=(c[t>>2]|0):0)){f=r;h=0;while(1){Wb[n&63](a,m,c[I+32+(h+g<<2)>>2]|0,j,f);h=h+1|0;if((h|0)==(p|0))break;else f=(c[u>>2]|0)+f|0}f=c[q>>2]|0;h=c[s>>2]|0}g=(c[o>>2]|0)+g|0;k=k+1|0;if((k|0)>=(h|0))break;else j=j+(f<<2)|0}f=c[E>>2]|0}}else g=(c[m+64>>2]|0)+g|0;while(0);v=v+1|0}while((v|0)<(f|0))}d=d+1|0}while(d>>>0<=J>>>0);f=c[H>>2]|0}c[y>>2]=0;d=x+1|0;if((d|0)<(f|0)){x=d;d=0}else{L=30;break}}if((L|0)==30){f=c[M>>2]|0;break}c[G>>2]=x;c[y>>2]=d;a=0;return a|0}else e=a+148|0;while(0);d=a+156|0;c[d>>2]=(c[d>>2]|0)+1;d=(c[e>>2]|0)+1|0;c[e>>2]=d;if(d>>>0>=f>>>0){Qb[c[(c[a+460>>2]|0)+12>>2]&255](a);a=4;return a|0}e=c[N>>2]|0;if((c[a+340>>2]|0)>1)d=1;else{a=c[a+344>>2]|0;d=c[(d>>>0<(f+-1|0)>>>0?a+12|0:a+76|0)>>2]|0}c[e+28>>2]=d;c[e+20>>2]=0;c[e+24>>2]=0;a=3;return a|0}function ku(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;oa=yb;yb=yb+128|0;ka=oa;la=c[a+452>>2]|0;na=a+332|0;ma=(c[na>>2]|0)+-1|0;n=a+144|0;f=c[n>>2]|0;i=a+152|0;g=c[i>>2]|0;a:do if((f|0)<=(g|0)){j=a+460|0;k=a+412|0;l=a+148|0;m=a+156|0;while(1){h=c[j>>2]|0;if(c[h+20>>2]|0)break a;if((f|0)==(g|0)?(c[l>>2]|0)>>>0>((c[m>>2]|0)+((c[k>>2]|0)==0&1)|0)>>>0:0)break a;if(!(Eb[c[h>>2]&127](a)|0)){f=0;break}f=c[n>>2]|0;g=c[i>>2]|0;if((f|0)>(g|0))break a}yb=oa;return f|0}while(0);ba=a+36|0;if((c[ba>>2]|0)>0){f=a+156|0;ca=a+4|0;da=la+112|0;ea=a+472|0;fa=ka+2|0;ga=ka+16|0;ha=ka+32|0;ia=ka+18|0;ja=ka+4|0;_=0;$=c[a+216>>2]|0;while(1){if(c[$+52>>2]|0){h=c[f>>2]|0;if(h>>>0>>0){i=c[$+12>>2]|0;g=i<<1;j=0;aa=i}else{i=c[$+12>>2]|0;aa=((c[$+32>>2]|0)>>>0)%(i>>>0)|0;aa=(aa|0)==0?i:aa;g=aa;j=1}if(!h){Y=Kb[c[(c[ca>>2]|0)+32>>2]&31](a,c[la+72+(_<<2)>>2]|0,0,g,0)|0;g=1}else{Y=B(i,h+-1|0)|0;Y=Kb[c[(c[ca>>2]|0)+32>>2]&31](a,c[la+72+(_<<2)>>2]|0,Y,i+g|0,0)|0;Y=Y+(c[$+12>>2]<<2)|0;g=0}i=(c[da>>2]|0)+(_*6<<2)|0;o=c[$+80>>2]|0;l=e[o>>1]|0;h=e[o+2>>1]|0;k=e[o+16>>1]|0;m=e[o+32>>1]|0;n=e[o+18>>1]|0;o=e[o+4>>1]|0;Z=c[(c[ea>>2]|0)+4+(_<<2)>>2]|0;if((aa|0)>0){X=(g|0)!=0;N=(j|0)!=0;O=aa+-1|0;P=$+28|0;Q=i+4|0;R=i+8|0;S=i+12|0;T=l*36|0;U=h<<7;V=i+16|0;W=k<<7;M=h<<8;J=i+20|0;K=l*9|0;L=m<<7;H=k<<8;I=$+36|0;F=l*5|0;G=n<<7;D=m<<8;E=o<<7;C=n<<8;y=o<<8;z=$+40|0;w=0;x=c[d+(_<<2)>>2]|0;while(1){g=c[Y+(w<<2)>>2]|0;if(X&(w|0)==0)h=g;else h=c[Y+(w+-1<<2)>>2]|0;if(N&(w|0)==(O|0))i=g;else i=c[Y+(w+1<<2)>>2]|0;l=b[h>>1]|0;q=b[g>>1]|0;k=b[i>>1]|0;A=(c[P>>2]|0)+-1|0;s=k;t=q;u=l;v=0;r=0;p=i;while(1){lu(g,ka,1);if(v>>>0>>0){m=b[p+128>>1]|0;n=b[g+128>>1]|0;o=b[h+128>>1]|0}else{m=s;n=t;o=u}i=c[Q>>2]|0;if((i|0)!=0&(b[fa>>1]|0)==0){j=B(T,q-n|0)|0;if((j|0)>-1){j=(j+U|0)/(M|0)|0;pa=1<0?((j|0)<(pa|0)?j:pa+-1|0):j}else{pa=(U-j|0)/(M|0)|0;j=1<0?((pa|0)<(j|0)?pa:j+-1|0):pa)|0}b[fa>>1]=i}i=c[R>>2]|0;if((i|0)!=0&(b[ga>>1]|0)==0){j=B(T,u-s|0)|0;if((j|0)>-1){pa=(j+W|0)/(H|0)|0;j=1<0?((pa|0)<(j|0)?pa:j+-1|0):pa}else{pa=(W-j|0)/(H|0)|0;j=1<0?((pa|0)<(j|0)?pa:j+-1|0):pa)|0}b[ga>>1]=i}i=c[S>>2]|0;if((i|0)!=0&(b[ha>>1]|0)==0){j=B(K,u-(t<<1)+s|0)|0;if((j|0)>-1){pa=(j+L|0)/(D|0)|0;j=1<0?((pa|0)<(j|0)?pa:j+-1|0):pa}else{pa=(L-j|0)/(D|0)|0;j=1<0?((pa|0)<(j|0)?pa:j+-1|0):pa)|0}b[ha>>1]=i}j=c[V>>2]|0;if((j|0)!=0&(b[ia>>1]|0)==0){i=B(F,l-k-o+m|0)|0;if((i|0)>-1){i=(i+G|0)/(C|0)|0;pa=1<0?((i|0)<(pa|0)?i:pa+-1|0):i}else{i=(G-i|0)/(C|0)|0;pa=1<0?((i|0)<(pa|0)?i:pa+-1|0):i)|0}b[ia>>1]=i}j=c[J>>2]|0;if((j|0)!=0&(b[ja>>1]|0)==0){i=B(K,q-(t<<1)+n|0)|0;if((i|0)>-1){i=(i+E|0)/(y|0)|0;pa=1<0?((i|0)<(pa|0)?i:pa+-1|0):i}else{i=(E-i|0)/(y|0)|0;pa=1<0?((i|0)<(pa|0)?i:pa+-1|0):i)|0}b[ja>>1]=i}Wb[Z&63](a,$,ka,x,r);v=v+1|0;if(v>>>0>A>>>0)break;else{l=u;q=t;k=s;s=m;t=n;u=o;g=g+128|0;r=(c[I>>2]|0)+r|0;h=h+128|0;p=p+128|0}}w=w+1|0;if((w|0)==(aa|0))break;else x=x+(c[z>>2]<<2)|0}}}_=_+1|0;if((_|0)>=(c[ba>>2]|0))break;else $=$+88|0}}else f=a+156|0;pa=(c[f>>2]|0)+1|0;c[f>>2]=pa;pa=pa>>>0<(c[na>>2]|0)>>>0?3:4;yb=oa;return pa|0}function lu(a,b,c){a=a|0;b=b|0;c=c|0;YO(b|0,a|0,c<<7|0)|0;return}function mu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=c[a+468>>2]|0;m=a+412|0;f=c[m>>2]|0;d=(f|0)==0;if(!(c[a+224>>2]|0)){if((d?(c[a+420>>2]|0)==0:0)?(c[a+424>>2]|0)==0:0){m=c[a+416>>2]|0;if((c[a+220>>2]|0)!=0|(m|0)<64?(m|0)!=(c[a+436>>2]|0):0)e=38}else e=38;if((e|0)==38){m=c[a>>2]|0;c[m+20>>2]=125;Sb[c[m+4>>2]&63](a,-1)}g=a+436|0;c[n+4>>2]=(c[g>>2]|0)==63?40:41;d=a+340|0;if((c[d>>2]|0)>0){b=0;do{e=c[a+344+(b<<2)>>2]|0;m=c[e+20>>2]|0;su(a,1,m,n+68+(m<<2)|0);if(c[g>>2]|0){m=c[e+24>>2]|0;su(a,0,m,n+84+(m<<2)|0)}c[n+24+(b<<2)>>2]=0;b=b+1|0}while((b|0)<(c[d>>2]|0))}f=a+368|0;if((c[f>>2]|0)<=0){m=n+16|0;c[m>>2]=0;m=n+12|0;c[m>>2]=0;m=n+40|0;c[m>>2]=0;a=a+280|0;a=c[a>>2]|0;n=n+44|0;c[n>>2]=a;return}e=0;do{b=c[a+344+(c[a+372+(e<<2)>>2]<<2)>>2]|0;c[n+100+(e<<2)>>2]=c[n+68+(c[b+20>>2]<<2)>>2];c[n+140+(e<<2)>>2]=c[n+84+(c[b+24>>2]<<2)>>2];a:do if(!(c[b+52>>2]|0))b=0;else{d=c[b+40>>2]|0;b=c[b+36>>2]|0;switch(c[g>>2]|0){case 0:{b=1;break a}case 3:{b=(c[4336+(((d|0)!=1&1)<<3)+(((b|0)!=1&1)<<2)>>2]|0)+1|0;break a}case 8:{m=d+-1|0;b=b+-1|0;b=(c[4352+((m>>>0<2?m:2)*12|0)+((b>>>0<2?b:2)<<2)>>2]|0)+1|0;break a}case 15:{m=d+-1|0;b=b+-1|0;b=(c[4400+((m>>>0<3?m:3)<<4)+((b>>>0<3?b:3)<<2)>>2]|0)+1|0;break a}case 24:{m=d+-1|0;b=b+-1|0;b=(c[4464+((m>>>0<4?m:4)*20|0)+((b>>>0<4?b:4)<<2)>>2]|0)+1|0;break a}case 35:{m=d+-1|0;b=b+-1|0;b=(c[4576+((m>>>0<5?m:5)*24|0)+((b>>>0<5?b:5)<<2)>>2]|0)+1|0;break a}case 48:{m=d+-1|0;b=b+-1|0;b=(c[4720+((m>>>0<6?m:6)*28|0)+((b>>>0<6?b:6)<<2)>>2]|0)+1|0;break a}default:{m=d+-1|0;b=b+-1|0;b=(c[4928+((m>>>0<7?m:7)<<5)+((b>>>0<7?b:7)<<2)>>2]|0)+1|0;break a}}}while(0);c[n+180+(e<<2)>>2]=b;e=e+1|0}while((e|0)<(c[f>>2]|0));m=n+16|0;c[m>>2]=0;m=n+12|0;c[m>>2]=0;m=n+40|0;c[m>>2]=0;a=a+280|0;a=c[a>>2]|0;n=n+44|0;c[n>>2]=a;return}k=a+416|0;b=c[k>>2]|0;if(d)if(!b)e=7;else e=11;else if(((b|0)>=(f|0)?(b|0)<=(c[a+436>>2]|0):0)?(c[a+340>>2]|0)==1:0)e=7;else e=11;do if((e|0)==7){b=c[a+420>>2]|0;if(b){b=b+-1|0;if((b|0)!=(c[a+424>>2]|0)){e=11;break}}else b=c[a+424>>2]|0;if((b|0)>13)e=11}while(0);if((e|0)==11){l=c[a>>2]|0;c[l+20>>2]=17;c[l+24>>2]=f;c[(c[a>>2]|0)+28>>2]=c[k>>2];c[(c[a>>2]|0)+32>>2]=c[a+420>>2];c[(c[a>>2]|0)+36>>2]=c[a+424>>2];Qb[c[c[a>>2]>>2]&255](a)}l=a+340|0;b=c[l>>2]|0;if((b|0)>0){i=a+160|0;g=a+420|0;j=a+424|0;h=0;do{e=c[(c[a+344+(h<<2)>>2]|0)+4>>2]|0;f=c[i>>2]|0;b=c[m>>2]|0;if(b){if((c[f+(e<<8)>>2]|0)<0){b=c[a>>2]|0;c[b+20>>2]=118;c[b+24>>2]=e;c[(c[a>>2]|0)+28>>2]=0;Sb[c[(c[a>>2]|0)+4>>2]&63](a,-1);b=c[m>>2]|0}}else b=0;if((b|0)<=(c[k>>2]|0))while(1){d=f+(e<<8)+(b<<2)|0;o=c[d>>2]|0;if((c[g>>2]|0)!=(((o|0)>0?o:0)|0)){o=c[a>>2]|0;c[o+20>>2]=118;c[o+24>>2]=e;c[(c[a>>2]|0)+28>>2]=b;Sb[c[(c[a>>2]|0)+4>>2]&63](a,-1)}c[d>>2]=c[j>>2];if((b|0)<(c[k>>2]|0))b=b+1|0;else break}h=h+1|0;b=c[l>>2]|0}while((h|0)<(b|0))}else g=a+420|0;e=c[m>>2]|0;o=(e|0)==0;c[n+4>>2]=(c[g>>2]|0)==0?(o?36:37):o?38:39;b:do if((b|0)>0){f=n+64|0;b=0;while(1){d=c[a+344+(b<<2)>>2]|0;if(!e){if(!(c[g>>2]|0)){o=c[d+20>>2]|0;su(a,1,o,n+48+(o<<2)|0)}}else{k=c[d+24>>2]|0;o=n+48+(k<<2)|0;su(a,0,k,o);c[f>>2]=c[o>>2]}c[n+24+(b<<2)>>2]=0;b=b+1|0;if((b|0)>=(c[l>>2]|0))break b;e=c[m>>2]|0}}while(0);c[n+20>>2]=0;o=n+16|0;c[o>>2]=0;o=n+12|0;c[o>>2]=0;o=n+40|0;c[o>>2]=0;a=a+280|0;a=c[a>>2]|0;o=n+44|0;c[o>>2]=a;return}function nu(a){a=a|0;var b=0;b=(c[a+468>>2]|0)+16|0;a=(c[a+464>>2]|0)+24|0;c[a>>2]=(c[a>>2]|0)+((c[b>>2]|0)/8|0);c[b>>2]=0;return}function ou(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=yb;yb=yb+48|0;x=A+20|0;y=A;z=c[a+468>>2]|0;t=c[a+424>>2]|0;i=a+280|0;if(c[i>>2]|0?(g=z+44|0,(c[g>>2]|0)==0):0){v=z+16|0;w=c[a+464>>2]|0;u=w+24|0;c[u>>2]=(c[u>>2]|0)+((c[v>>2]|0)/8|0);c[v>>2]=0;if(!(Eb[c[w+8>>2]&127](a)|0)){z=0;yb=A;return z|0}h=a+340|0;if((c[h>>2]|0)>0){f=0;do{c[z+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[h>>2]|0))}c[z+20>>2]=0;c[g>>2]=c[i>>2];if(!(c[a+440>>2]|0))c[z+40>>2]=0}if(!(c[z+40>>2]|0)){c[x+16>>2]=a;r=a+24|0;h=c[r>>2]|0;g=c[h>>2]|0;c[x>>2]=g;f=c[h+4>>2]|0;s=x+4|0;c[s>>2]=f;u=z+12|0;i=c[u>>2]|0;v=z+16|0;j=c[v>>2]|0;w=z+20|0;c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];c[y+16>>2]=c[w+16>>2];q=a+368|0;do if((c[q>>2]|0)>0){o=x+8|0;p=x+12|0;l=0;while(1){m=c[e+(l<<2)>>2]|0;n=c[a+372+(l<<2)>>2]|0;h=c[z+48+(c[(c[a+344+(n<<2)>>2]|0)+20>>2]<<2)>>2]|0;if((j|0)<8){if(!(vu(x,i,j,0)|0)){f=0;k=28;break}i=c[o>>2]|0;j=c[p>>2]|0;if((j|0)<8){f=1;k=17}else k=15}else k=15;if((k|0)==15){k=0;f=i>>j+-8&255;g=c[h+144+(f<<2)>>2]|0;if(!g){f=9;k=17}else{f=d[h+1168+f>>0]|0;j=j-g|0}}if((k|0)==17){f=wu(x,i,j,h,f)|0;if((f|0)<0){f=0;k=28;break}j=c[p>>2]|0;i=c[o>>2]|0}if(!f)f=0;else{if((j|0)<(f|0)){if(!(vu(x,i,j,f)|0)){f=0;k=28;break}j=c[p>>2]|0;i=c[o>>2]|0}j=j-f|0;k=c[5184+(f<<2)>>2]|0;h=i>>j&k;f=h-((h|0)>(c[5184+(f+-1<<2)>>2]|0)?0:k)|0}k=y+4+(n<<2)|0;n=(c[k>>2]|0)+f|0;c[k>>2]=n;b[m>>1]=n<=(c[q>>2]|0)){k=25;break}}if((k|0)==25){h=c[r>>2]|0;g=c[x>>2]|0;f=c[s>>2]|0;break}else if((k|0)==28){yb=A;return f|0}}while(0);c[h>>2]=g;c[h+4>>2]=f;c[u>>2]=i;c[v>>2]=j;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[w+16>>2]=c[y+16>>2]}z=z+44|0;c[z>>2]=(c[z>>2]|0)+-1;z=1;yb=A;return z|0}function pu(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=yb;yb=yb+32|0;w=y;x=c[a+468>>2]|0;h=a+280|0;if(c[h>>2]|0?(i=x+44|0,(c[i>>2]|0)==0):0){u=x+16|0;v=c[a+464>>2]|0;t=v+24|0;c[t>>2]=(c[t>>2]|0)+((c[u>>2]|0)/8|0);c[u>>2]=0;if(!(Eb[c[v+8>>2]&127](a)|0)){x=0;yb=y;return x|0}g=a+340|0;if((c[g>>2]|0)>0){f=0;do{c[x+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[g>>2]|0))}c[x+20>>2]=0;c[i>>2]=c[h>>2];if(!(c[a+440>>2]|0))c[x+40>>2]=0}if(!(c[x+40>>2]|0)){v=x+20|0;f=c[v>>2]|0;if(!f){c[w+16>>2]=a;r=a+24|0;t=c[r>>2]|0;c[w>>2]=c[t>>2];s=w+4|0;c[s>>2]=c[t+4>>2];t=x+12|0;g=c[t>>2]|0;u=x+16|0;h=c[u>>2]|0;n=c[a+416>>2]|0;o=c[a+424>>2]|0;p=c[a+432>>2]|0;k=c[e>>2]|0;l=c[x+64>>2]|0;f=c[a+412>>2]|0;a:do if((f|0)<=(n|0)){q=w+8|0;m=w+12|0;j=f;b:while(1){if((h|0)<8){if(!(vu(w,g,h,0)|0)){f=0;a=36;break}g=c[q>>2]|0;h=c[m>>2]|0;if((h|0)<8){f=1;a=19}else a=17}else a=17;if((a|0)==17){a=0;f=g>>h+-8&255;i=c[l+144+(f<<2)>>2]|0;if(!i){f=9;a=19}else{f=d[l+1168+f>>0]|0;h=h-i|0}}if((a|0)==19){f=wu(w,g,h,l,f)|0;if((f|0)<0){f=0;a=36;break}h=c[m>>2]|0;g=c[q>>2]|0}e=f>>>4;i=f&15;if(!i){switch(e&268435455|0){case 0:{f=0;break a}case 15:break;default:{a=27;break b}}f=j+15|0}else{f=e+j|0;if((h|0)<(i|0)){if(!(vu(w,g,h,i)|0)){f=0;a=36;break}h=c[m>>2]|0;g=c[q>>2]|0}h=h-i|0;j=c[5184+(i<<2)>>2]|0;a=g>>h&j;b[k+(c[p+(f<<2)>>2]<<1)>>1]=a-((a|0)>(c[5184+(i+-1<<2)>>2]|0)?0:j)<>2]|0;g=c[q>>2]|0;break}else f=h;while(0);h=f-e|0;f=i+-1+(g>>h&c[5184+(e<<2)>>2])|0;break}else if((a|0)==36){yb=y;return f|0}}else f=0;while(0);r=c[r>>2]|0;c[r>>2]=c[w>>2];c[r+4>>2]=c[s>>2];c[t>>2]=g;c[u>>2]=h}else f=f+-1|0;c[v>>2]=f}x=x+44|0;c[x>>2]=(c[x>>2]|0)+-1;x=1;yb=y;return x|0}function qu(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=yb;yb=yb+32|0;q=s;r=c[a+468>>2]|0;h=a+280|0;if(c[h>>2]|0?(i=r+44|0,(c[i>>2]|0)==0):0){o=r+16|0;p=c[a+464>>2]|0;n=p+24|0;c[n>>2]=(c[n>>2]|0)+((c[o>>2]|0)/8|0);c[o>>2]=0;if(!(Eb[c[p+8>>2]&127](a)|0)){r=0;yb=s;return r|0}g=a+340|0;if((c[g>>2]|0)>0){f=0;do{c[r+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[g>>2]|0))}c[r+20>>2]=0;c[i>>2]=c[h>>2];if(!(c[a+440>>2]|0))c[r+40>>2]=0}c[q+16>>2]=a;m=a+24|0;h=c[m>>2]|0;g=c[h>>2]|0;c[q>>2]=g;f=c[h+4>>2]|0;n=q+4|0;c[n>>2]=f;o=r+12|0;i=c[o>>2]|0;p=r+16|0;j=c[p>>2]|0;l=1<>2];k=a+368|0;do if((c[k>>2]|0)>0){h=q+8|0;a=q+12|0;g=0;f=j;while(1){if((f|0)<1){if(!(vu(q,i,f,1)|0)){f=0;a=19;break}f=c[a>>2]|0;i=c[h>>2]|0}f=f+-1|0;if(1<>2]|0;b[j>>1]=l|(e[j>>1]|0)}g=g+1|0;if((g|0)>=(c[k>>2]|0)){a=17;break}}if((a|0)==17){j=f;h=c[m>>2]|0;g=c[q>>2]|0;f=c[n>>2]|0;break}else if((a|0)==19){yb=s;return f|0}}while(0);c[h>>2]=g;c[h+4>>2]=f;c[o>>2]=i;c[p>>2]=j;r=r+44|0;c[r>>2]=(c[r>>2]|0)+-1;r=1;yb=s;return r|0}function ru(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=yb;yb=yb+288|0;E=G+256|0;D=G;F=c[a+468>>2]|0;h=a+280|0;if(c[h>>2]|0?(i=F+44|0,(c[i>>2]|0)==0):0){z=F+16|0;A=c[a+464>>2]|0;y=A+24|0;c[y>>2]=(c[y>>2]|0)+((c[z>>2]|0)/8|0);c[z>>2]=0;if(!(Eb[c[A+8>>2]&127](a)|0)){F=0;yb=G;return F|0}g=a+340|0;if((c[g>>2]|0)>0){f=0;do{c[F+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[g>>2]|0))}c[F+20>>2]=0;c[i>>2]=c[h>>2];if(!(c[a+440>>2]|0))c[F+40>>2]=0}do if(!(c[F+40>>2]|0)){q=c[a+416>>2]|0;s=c[a+424>>2]|0;r=1<>2]|0;c[E+16>>2]=a;w=a+24|0;y=c[w>>2]|0;c[E>>2]=c[y>>2];x=E+4|0;c[x>>2]=c[y+4>>2];y=F+12|0;j=c[y>>2]|0;z=F+16|0;g=c[z>>2]|0;A=F+20|0;h=c[A>>2]|0;u=c[e>>2]|0;l=c[F+64>>2]|0;i=c[a+412>>2]|0;o=E+8|0;p=E+12|0;a:do if(!h){f=0;b:while(1){if((g|0)<8){if(!(vu(E,j,g,0)|0))break a;j=c[o>>2]|0;g=c[p>>2]|0;if((g|0)<8){h=1;v=17}else v=15}else v=15;if((v|0)==15){v=0;h=j>>g+-8&255;e=c[l+144+(h<<2)>>2]|0;if(!e){h=9;v=17}else{h=d[l+1168+h>>0]|0;g=g-e|0}}if((v|0)==17){v=0;g=wu(E,j,g,l,h)|0;if((g|0)<0)break a;h=g;g=c[p>>2]|0;j=c[o>>2]|0}e=h>>>4;switch(h&15){case 0:{if((e|0)==15)k=0;else break b;break}case 1:{v=21;break}default:{v=c[a>>2]|0;c[v+20>>2]=121;Sb[c[v+4>>2]&63](a,-1);v=21}}if((v|0)==21){v=0;if((g|0)<1){if(!(vu(E,j,g,1)|0))break a;g=c[p>>2]|0;j=c[o>>2]|0}g=g+-1|0;k=(1<>2]<<1)|0;do if(!(b[e>>1]|0))if((h|0)<1)break c;else h=h+-1|0;else{if((g|0)<1){if(!(vu(E,j,g,1)|0))break a;g=c[p>>2]|0;j=c[o>>2]|0}g=g+-1|0;if((1<>1]|0,n=m<<16>>16,(r&n|0)==0):0)if(m<<16>>16>-1){b[e>>1]=r+n;break}else{b[e>>1]=s+n;break}}while(0);e=i+1|0;if((i|0)<(q|0))i=e;else{i=e;break}}if(k){e=c[t+(i<<2)>>2]|0;b[u+(e<<1)>>1]=k;c[D+(f<<2)>>2]=e;f=f+1|0}if((i|0)<(q|0))i=i+1|0;else{h=0;f=j;v=58;break a}}h=1<>2]|0;j=c[o>>2]|0}g=g-e|0;h=(j>>g&c[5184+(e<<2)>>2])+h|0;if(!h){h=0;f=j;v=58}else v=46}else{h=1;v=46}}else{f=0;v=46}while(0);d:do if((v|0)==46){while(1){e=u+(c[t+(i<<2)>>2]<<1)|0;do if(b[e>>1]|0){if((g|0)<1){if(!(vu(E,j,g,1)|0))break d;g=c[p>>2]|0;j=c[o>>2]|0}g=g+-1|0;if((1<>1]|0,C=B<<16>>16,(r&C|0)==0):0)if(B<<16>>16>-1){b[e>>1]=r+C;break}else{b[e>>1]=s+C;break}}while(0);if((i|0)<(q|0))i=i+1|0;else break}h=h+-1|0;f=j;v=58}while(0);if((v|0)==58){D=c[w>>2]|0;c[D>>2]=c[E>>2];c[D+4>>2]=c[x>>2];c[y>>2]=f;c[z>>2]=g;c[A>>2]=h;break}if(!f){F=0;yb=G;return F|0}do{f=f+-1|0;b[u+(c[D+(f<<2)>>2]<<1)>>1]=0}while((f|0)!=0);f=0;yb=G;return f|0}while(0);F=F+44|0;c[F>>2]=(c[F>>2]|0)+-1;F=1;yb=G;return F|0}function su(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=yb;yb=yb+1312|0;k=q+1040|0;p=q;if(f>>>0>3){o=c[b>>2]|0;c[o+20>>2]=52;c[o+24>>2]=f;Qb[c[c[b>>2]>>2]&255](b)}n=(e|0)!=0;o=c[(n?b+180+(f<<2)|0:b+196+(f<<2)|0)>>2]|0;if(!o){m=c[b>>2]|0;c[m+20>>2]=52;c[m+24>>2]=f;Qb[c[c[b>>2]>>2]&255](b)}e=c[g>>2]|0;if(!e){l=Hb[c[c[b+4>>2]>>2]&63](b,1,1424)|0;c[g>>2]=l;m=b}else{m=b;l=e}c[l+140>>2]=o;j=a[o+1>>0]|0;e=j&255;if(!(j<<24>>24))e=0;else _O(k|0,1,e|0)|0;f=a[o+2>>0]|0;g=f&255;h=e+g|0;if(h>>>0>256){j=c[b>>2]|0;c[j+20>>2]=9;Qb[c[j>>2]&255](m)}if(f<<24>>24){_O(k+e|0,2,g|0)|0;e=h}f=a[o+3>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Qb[c[j>>2]&255](m)}if(f<<24>>24){_O(k+e|0,3,g|0)|0;e=h}f=a[o+4>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Qb[c[j>>2]&255](m)}if(f<<24>>24){_O(k+e|0,4,g|0)|0;e=h}f=a[o+5>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Qb[c[j>>2]&255](m)}if(f<<24>>24){_O(k+e|0,5,g|0)|0;e=h}f=a[o+6>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Qb[c[j>>2]&255](m)}if(f<<24>>24){_O(k+e|0,6,g|0)|0;e=h}f=a[o+7>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Qb[c[j>>2]&255](m)}if(f<<24>>24){_O(k+e|0,7,g|0)|0;e=h}f=a[o+8>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Qb[c[j>>2]&255](m)}if(f<<24>>24){_O(k+e|0,8,g|0)|0;e=h}f=a[o+9>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Qb[c[j>>2]&255](m)}if(f<<24>>24){_O(k+e|0,9,g|0)|0;e=h}f=a[o+10>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Qb[c[j>>2]&255](m)}if(f<<24>>24){_O(k+e|0,10,g|0)|0;e=h}f=a[o+11>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Qb[c[j>>2]&255](m)}if(f<<24>>24){_O(k+e|0,11,g|0)|0;e=h}f=a[o+12>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Qb[c[j>>2]&255](m)}if(f<<24>>24){_O(k+e|0,12,g|0)|0;e=h}f=a[o+13>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Qb[c[j>>2]&255](m)}if(f<<24>>24){_O(k+e|0,13,g|0)|0;e=h}f=a[o+14>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Qb[c[j>>2]&255](m)}if(f<<24>>24){_O(k+e|0,14,g|0)|0;e=h}f=a[o+15>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Qb[c[j>>2]&255](m)}if(f<<24>>24){_O(k+e|0,15,g|0)|0;e=h}f=a[o+16>>0]|0;g=f&255;h=e+g|0;if((h|0)>256){j=c[b>>2]|0;c[j+20>>2]=9;Qb[c[j>>2]&255](m)}if(!(f<<24>>24))h=e;else _O(k+e|0,16,g|0)|0;a[k+h>>0]=0;f=a[k>>0]|0;if(f<<24>>24){g=0;j=f<<24>>24;e=0;while(1){if((j|0)==(f<<24>>24|0)){f=g;while(1){i=e+1|0;c[p+(e<<2)>>2]=f;e=f+1|0;f=a[k+i>>0]|0;if((j|0)==(f<<24>>24|0)){f=e;e=i}else{g=e;e=i;break}}}if((g|0)>=(1<>2]|0;c[i+20>>2]=9;Qb[c[i>>2]&255](m)}if(!(f<<24>>24))break;else{g=g<<1;j=j+1|0}}}e=o+1|0;if(!(a[e>>0]|0)){f=0;e=-1}else{c[l+76>>2]=0-(c[p>>2]|0);e=d[e>>0]|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+4>>2]=e;e=o+2|0;if(!(a[e>>0]|0))e=-1;else{c[l+80>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+8>>2]=e;e=o+3|0;if(!(a[e>>0]|0))e=-1;else{c[l+84>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+12>>2]=e;e=o+4|0;if(!(a[e>>0]|0))e=-1;else{c[l+88>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+16>>2]=e;e=o+5|0;if(!(a[e>>0]|0))e=-1;else{c[l+92>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+20>>2]=e;e=o+6|0;if(!(a[e>>0]|0))e=-1;else{c[l+96>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+24>>2]=e;e=o+7|0;if(!(a[e>>0]|0))e=-1;else{c[l+100>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+28>>2]=e;e=o+8|0;if(!(a[e>>0]|0))e=-1;else{c[l+104>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+32>>2]=e;e=o+9|0;if(!(a[e>>0]|0))e=-1;else{c[l+108>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+36>>2]=e;e=o+10|0;if(!(a[e>>0]|0))e=-1;else{c[l+112>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+40>>2]=e;e=o+11|0;if(!(a[e>>0]|0))e=-1;else{c[l+116>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+44>>2]=e;e=o+12|0;if(!(a[e>>0]|0))e=-1;else{c[l+120>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+48>>2]=e;e=o+13|0;if(!(a[e>>0]|0))e=-1;else{c[l+124>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+52>>2]=e;e=o+14|0;if(!(a[e>>0]|0))e=-1;else{c[l+128>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+56>>2]=e;e=o+15|0;if(!(a[e>>0]|0))e=-1;else{c[l+132>>2]=f-(c[p+(f<<2)>>2]|0);e=f+(d[e>>0]|0)|0;f=e;e=c[p+(e+-1<<2)>>2]|0}c[l+60>>2]=e;e=o+16|0;if(!(a[e>>0]|0))e=-1;else{c[l+136>>2]=f-(c[p+(f<<2)>>2]|0);e=c[p+(f+(d[e>>0]|0)+-1<<2)>>2]|0}c[l+64>>2]=e;c[l+68>>2]=1048575;_O(l+144|0,0,1024)|0;k=o+1|0;if(!(a[k>>0]|0))e=0;else{j=1;e=0;while(1){i=o+17+e|0;f=128;g=c[p+(e<<2)>>2]<<7;while(1){c[l+144+(g<<2)>>2]=1;a[l+1168+g>>0]=a[i>>0]|0;if((f|0)>1){f=f+-1|0;g=g+1|0}else break}e=e+1|0;if(j>>>0<(d[k>>0]|0)>>>0)j=j+1|0;else break}}k=o+2|0;if(a[k>>0]|0){j=1;while(1){i=o+17+e|0;f=64;g=c[p+(e<<2)>>2]<<6;while(1){c[l+144+(g<<2)>>2]=2;a[l+1168+g>>0]=a[i>>0]|0;if((f|0)>1){f=f+-1|0;g=g+1|0}else break}e=e+1|0;if(j>>>0<(d[k>>0]|0)>>>0)j=j+1|0;else break}}g=o+3|0;if(a[g>>0]|0){f=1;while(1){k=c[p+(e<<2)>>2]<<5;j=o+17+e|0;c[l+144+(k<<2)>>2]=3;a[l+1168+k>>0]=a[j>>0]|0;i=k|1;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;i=i+1|0;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;i=k|3;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;r=i+1|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+2|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;i=i+3|0;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;i=k|7;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;r=i+1|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+2|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+3|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+4|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+5|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+6|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;i=i+7|0;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;i=k|15;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;r=i+1|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+2|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+3|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+4|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+5|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+6|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+7|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+8|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+9|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+10|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+11|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+12|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+13|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;r=i+14|0;c[l+144+(r<<2)>>2]=3;a[l+1168+r>>0]=a[j>>0]|0;i=i+15|0;c[l+144+(i<<2)>>2]=3;a[l+1168+i>>0]=a[j>>0]|0;k=k|31;c[l+144+(k<<2)>>2]=3;a[l+1168+k>>0]=a[j>>0]|0;e=e+1|0;if(f>>>0<(d[g>>0]|0)>>>0)f=f+1|0;else break}}g=o+4|0;if(a[g>>0]|0){f=1;while(1){r=c[p+(e<<2)>>2]<<4;k=o+17+e|0;c[l+144+(r<<2)>>2]=4;a[l+1168+r>>0]=a[k>>0]|0;j=r|1;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;j=j+1|0;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;j=r|3;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;i=j+1|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+2|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;j=j+3|0;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;j=r|7;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;i=j+1|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+2|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+3|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+4|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+5|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;i=j+6|0;c[l+144+(i<<2)>>2]=4;a[l+1168+i>>0]=a[k>>0]|0;j=j+7|0;c[l+144+(j<<2)>>2]=4;a[l+1168+j>>0]=a[k>>0]|0;r=r|15;c[l+144+(r<<2)>>2]=4;a[l+1168+r>>0]=a[k>>0]|0;e=e+1|0;if(f>>>0<(d[g>>0]|0)>>>0)f=f+1|0;else break}}g=o+5|0;if(a[g>>0]|0){f=1;while(1){r=c[p+(e<<2)>>2]<<3;k=o+17+e|0;c[l+144+(r<<2)>>2]=5;a[l+1168+r>>0]=a[k>>0]|0;j=r|1;c[l+144+(j<<2)>>2]=5;a[l+1168+j>>0]=a[k>>0]|0;j=j+1|0;c[l+144+(j<<2)>>2]=5;a[l+1168+j>>0]=a[k>>0]|0;j=r|3;c[l+144+(j<<2)>>2]=5;a[l+1168+j>>0]=a[k>>0]|0;i=j+1|0;c[l+144+(i<<2)>>2]=5;a[l+1168+i>>0]=a[k>>0]|0;i=j+2|0;c[l+144+(i<<2)>>2]=5;a[l+1168+i>>0]=a[k>>0]|0;j=j+3|0;c[l+144+(j<<2)>>2]=5;a[l+1168+j>>0]=a[k>>0]|0;r=r|7;c[l+144+(r<<2)>>2]=5;a[l+1168+r>>0]=a[k>>0]|0;e=e+1|0;if(f>>>0<(d[g>>0]|0)>>>0)f=f+1|0;else break}}g=o+6|0;if(a[g>>0]|0){f=1;while(1){r=c[p+(e<<2)>>2]<<2;k=o+17+e|0;c[l+144+(r<<2)>>2]=6;a[l+1168+r>>0]=a[k>>0]|0;j=r|1;c[l+144+(j<<2)>>2]=6;a[l+1168+j>>0]=a[k>>0]|0;j=j+1|0;c[l+144+(j<<2)>>2]=6;a[l+1168+j>>0]=a[k>>0]|0;r=r|3;c[l+144+(r<<2)>>2]=6;a[l+1168+r>>0]=a[k>>0]|0;e=e+1|0;if(f>>>0<(d[g>>0]|0)>>>0)f=f+1|0;else break}}g=o+7|0;if(a[g>>0]|0){f=1;while(1){r=c[p+(e<<2)>>2]<<1;k=o+17+e|0;c[l+144+(r<<2)>>2]=7;a[l+1168+r>>0]=a[k>>0]|0;r=r|1;c[l+144+(r<<2)>>2]=7;a[l+1168+r>>0]=a[k>>0]|0;e=e+1|0;if(f>>>0<(d[g>>0]|0)>>>0)f=f+1|0;else break}}g=o+8|0;if(a[g>>0]|0){f=1;while(1){r=c[p+(e<<2)>>2]|0;c[l+144+(r<<2)>>2]=8;a[l+1168+r>>0]=a[o+17+e>>0]|0;if(f>>>0<(d[g>>0]|0)>>>0){f=f+1|0;e=e+1|0}else break}}if(!(n&(h|0)>0)){yb=q;return}e=0;do{if((d[o+17+e>>0]|0)>15){r=c[b>>2]|0;c[r+20>>2]=9;Qb[c[r>>2]&255](m)}e=e+1|0}while((e|0)!=(h|0));yb=q;return}function tu(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=yb;yb=yb+48|0;x=A+20|0;y=A;z=c[a+468>>2]|0;h=a+280|0;if(c[h>>2]|0?(i=z+44|0,(c[i>>2]|0)==0):0){v=z+16|0;w=c[a+464>>2]|0;u=w+24|0;c[u>>2]=(c[u>>2]|0)+((c[v>>2]|0)/8|0);c[v>>2]=0;if(!(Eb[c[w+8>>2]&127](a)|0)){z=0;yb=A;return z|0}g=a+340|0;if((c[g>>2]|0)>0){f=0;do{c[z+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[g>>2]|0))}c[z+20>>2]=0;c[i>>2]=c[h>>2];if(!(c[a+440>>2]|0))c[z+40>>2]=0}if(!(c[z+40>>2]|0)){c[x+16>>2]=a;s=a+24|0;h=c[s>>2]|0;g=c[h>>2]|0;c[x>>2]=g;f=c[h+4>>2]|0;t=x+4|0;c[t>>2]=f;u=z+12|0;j=c[u>>2]|0;v=z+16|0;i=c[v>>2]|0;w=z+20|0;c[y>>2]=c[w>>2];c[y+4>>2]=c[w+4>>2];c[y+8>>2]=c[w+8>>2];c[y+12>>2]=c[w+12>>2];c[y+16>>2]=c[w+16>>2];r=a+368|0;do if((c[r>>2]|0)>0){p=x+8|0;q=x+12|0;o=0;a:while(1){l=c[e+(o<<2)>>2]|0;h=c[z+100+(o<<2)>>2]|0;if((i|0)<8){if(!(vu(x,j,i,0)|0)){f=0;m=67;break}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){f=1;m=17}else m=15}else m=15;if((m|0)==15){m=0;f=j>>i+-8&255;g=c[h+144+(f<<2)>>2]|0;if(!g){f=9;m=17}else{f=d[h+1168+f>>0]|0;i=i-g|0}}if((m|0)==17){f=wu(x,j,i,h,f)|0;if((f|0)<0){f=0;m=67;break}j=c[p>>2]|0;i=c[q>>2]|0}n=c[z+140+(o<<2)>>2]|0;k=c[z+180+(o<<2)>>2]|0;g=(f|0)!=0;b:do if(!k)if(g){if((i|0)<(f|0)){if(!(vu(x,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;f=1;m=48}else{f=1;m=48}else{if(g){if((i|0)<(f|0)){if(!(vu(x,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;m=c[5184+(f<<2)>>2]|0;h=j>>i&m;f=h-((h|0)>(c[5184+(f+-1<<2)>>2]|0)?0:m)|0}else f=0;h=y+4+(c[a+372+(o<<2)>>2]<<2)|0;m=(c[h>>2]|0)+f|0;c[h>>2]=m;b[l>>1]=m;if((k|0)>1){f=1;do{if((i|0)<8){if(!(vu(x,j,i,0)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){g=1;m=32}else m=30}else m=30;if((m|0)==30){m=0;h=j>>i+-8&255;g=c[n+144+(h<<2)>>2]|0;if(!g){g=9;m=32}else{i=i-g|0;g=d[n+1168+h>>0]|0}}if((m|0)==32){m=0;g=wu(x,j,i,n,g)|0;if((g|0)<0){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}h=g>>>4;g=g&15;if(!g){if((h|0)!=15)break b;g=f+15|0}else{f=h+f|0;if((i|0)<(g|0)){if(!(vu(x,j,i,g)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-g|0;h=c[5184+(g<<2)>>2]|0;B=j>>i&h;b[l+(c[2576+(f<<2)>>2]<<1)>>1]=B-((B|0)>(c[5184+(g+-1<<2)>>2]|0)?0:h);g=f}f=g+1|0}while((f|0)<(k|0));if((g|0)<63)m=48}else{f=1;m=48}}while(0);c:do if((m|0)==48){h=f;do{if((i|0)<8){if(!(vu(x,j,i,0)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){f=1;m=54}else m=52}else m=52;if((m|0)==52){m=0;f=j>>i+-8&255;g=c[n+144+(f<<2)>>2]|0;if(!g){f=9;m=54}else{f=d[n+1168+f>>0]|0;i=i-g|0}}if((m|0)==54){f=wu(x,j,i,n,f)|0;if((f|0)<0){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}g=f>>>4;f=f&15;if(!f)if((g|0)==15)f=15;else break c;else{if((i|0)<(f|0)){if(!(vu(x,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;f=g}h=h+1+f|0}while((h|0)<64)}while(0);o=o+1|0;if((o|0)>=(c[r>>2]|0)){m=64;break}}if((m|0)==64){h=c[s>>2]|0;g=c[x>>2]|0;f=c[t>>2]|0;break}else if((m|0)==67){yb=A;return f|0}}while(0);c[h>>2]=g;c[h+4>>2]=f;c[u>>2]=j;c[v>>2]=i;c[w>>2]=c[y>>2];c[w+4>>2]=c[y+4>>2];c[w+8>>2]=c[y+8>>2];c[w+12>>2]=c[y+12>>2];c[w+16>>2]=c[y+16>>2]}B=z+44|0;c[B>>2]=(c[B>>2]|0)+-1;B=1;yb=A;return B|0}function uu(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=yb;yb=yb+48|0;z=C+20|0;A=C;B=c[a+468>>2]|0;h=a+280|0;if(c[h>>2]|0?(i=B+44|0,(c[i>>2]|0)==0):0){x=B+16|0;y=c[a+464>>2]|0;w=y+24|0;c[w>>2]=(c[w>>2]|0)+((c[x>>2]|0)/8|0);c[x>>2]=0;if(!(Eb[c[y+8>>2]&127](a)|0)){B=0;yb=C;return B|0}g=a+340|0;if((c[g>>2]|0)>0){f=0;do{c[B+24+(f<<2)>>2]=0;f=f+1|0}while((f|0)<(c[g>>2]|0))}c[B+20>>2]=0;c[i>>2]=c[h>>2];if(!(c[a+440>>2]|0))c[B+40>>2]=0}if(!(c[B+40>>2]|0)){r=c[a+432>>2]|0;s=c[a+436>>2]|0;c[z+16>>2]=a;u=a+24|0;h=c[u>>2]|0;g=c[h>>2]|0;c[z>>2]=g;f=c[h+4>>2]|0;v=z+4|0;c[v>>2]=f;w=B+12|0;j=c[w>>2]|0;x=B+16|0;i=c[x>>2]|0;y=B+20|0;c[A>>2]=c[y>>2];c[A+4>>2]=c[y+4>>2];c[A+8>>2]=c[y+8>>2];c[A+12>>2]=c[y+12>>2];c[A+16>>2]=c[y+16>>2];t=a+368|0;do if((c[t>>2]|0)>0){p=z+8|0;q=z+12|0;o=0;a:while(1){l=c[e+(o<<2)>>2]|0;h=c[B+100+(o<<2)>>2]|0;if((i|0)<8){if(!(vu(z,j,i,0)|0)){f=0;m=67;break}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){f=1;m=17}else m=15}else m=15;if((m|0)==15){m=0;f=j>>i+-8&255;g=c[h+144+(f<<2)>>2]|0;if(!g){f=9;m=17}else{f=d[h+1168+f>>0]|0;i=i-g|0}}if((m|0)==17){f=wu(z,j,i,h,f)|0;if((f|0)<0){f=0;m=67;break}j=c[p>>2]|0;i=c[q>>2]|0}n=c[B+140+(o<<2)>>2]|0;k=c[B+180+(o<<2)>>2]|0;g=(f|0)!=0;b:do if(!k)if(g){if((i|0)<(f|0)){if(!(vu(z,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;f=1;m=47}else{f=1;m=47}else{if(g){if((i|0)<(f|0)){if(!(vu(z,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;m=c[5184+(f<<2)>>2]|0;h=j>>i&m;f=h-((h|0)>(c[5184+(f+-1<<2)>>2]|0)?0:m)|0}else f=0;h=A+4+(c[a+372+(o<<2)>>2]<<2)|0;m=(c[h>>2]|0)+f|0;c[h>>2]=m;b[l>>1]=m;if((k|0)>1){f=1;while(1){if((i|0)<8){if(!(vu(z,j,i,0)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){g=1;m=32}else m=30}else m=30;if((m|0)==30){m=0;h=j>>i+-8&255;g=c[n+144+(h<<2)>>2]|0;if(!g){g=9;m=32}else{i=i-g|0;g=d[n+1168+h>>0]|0}}if((m|0)==32){m=0;g=wu(z,j,i,n,g)|0;if((g|0)<0){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}h=g>>>4;g=g&15;if(!g){if((h|0)!=15)break b;f=f+15|0}else{f=h+f|0;if((i|0)<(g|0)){if(!(vu(z,j,i,g)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-g|0;m=c[5184+(g<<2)>>2]|0;h=j>>i&m;b[l+(c[r+(f<<2)>>2]<<1)>>1]=h-((h|0)>(c[5184+(g+-1<<2)>>2]|0)?0:m)}f=f+1|0;if((f|0)>=(k|0)){m=47;break}}}else{f=1;m=47}}while(0);c:do if((m|0)==47)if((f|0)<=(s|0)){h=f;do{if((i|0)<8){if(!(vu(z,j,i,0)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0;if((i|0)<8){f=1;m=54}else m=52}else m=52;if((m|0)==52){m=0;f=j>>i+-8&255;g=c[n+144+(f<<2)>>2]|0;if(!g){f=9;m=54}else{f=d[n+1168+f>>0]|0;i=i-g|0}}if((m|0)==54){f=wu(z,j,i,n,f)|0;if((f|0)<0){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}g=f>>>4;f=f&15;if(!f)if((g|0)==15)f=15;else break c;else{if((i|0)<(f|0)){if(!(vu(z,j,i,f)|0)){f=0;m=67;break a}j=c[p>>2]|0;i=c[q>>2]|0}i=i-f|0;f=g}h=h+1+f|0}while((h|0)<=(s|0))}while(0);o=o+1|0;if((o|0)>=(c[t>>2]|0)){m=64;break}}if((m|0)==64){h=c[u>>2]|0;g=c[z>>2]|0;f=c[v>>2]|0;break}else if((m|0)==67){yb=C;return f|0}}while(0);c[h>>2]=g;c[h+4>>2]=f;c[w>>2]=j;c[x>>2]=i;c[y>>2]=c[A>>2];c[y+4>>2]=c[A+4>>2];c[y+8>>2]=c[A+8>>2];c[y+12>>2]=c[A+12>>2];c[y+16>>2]=c[A+16>>2]}B=B+44|0;c[B>>2]=(c[B>>2]|0)+-1;B=1;yb=C;return B|0}function vu(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;g=c[b>>2]|0;n=b+4|0;h=c[n>>2]|0;m=c[b+16>>2]|0;l=m+440|0;a:do if(!(c[l>>2]|0)){if((e|0)<25){k=m+24|0;j=e;b:while(1){if(!h){if(!(Eb[c[(c[k>>2]|0)+12>>2]&127](m)|0)){g=0;o=20;break}g=c[k>>2]|0;h=c[g+4>>2]|0;g=c[g>>2]|0}h=h+-1|0;i=g+1|0;e=a[g>>0]|0;g=e&255;c:do if(e<<24>>24==-1){g=i;while(1){if(!h){if(!(Eb[c[(c[k>>2]|0)+12>>2]&127](m)|0)){g=0;o=20;break b}e=c[k>>2]|0;h=c[e+4>>2]|0;e=c[e>>2]|0}else e=g;h=h+-1|0;g=e+1|0;e=a[e>>0]|0;switch(e<<24>>24){case 0:{e=255;break c}case -1:break;default:{o=13;break b}}}}else{e=g;g=i}while(0);d=e|d<<8;e=j+8|0;if((j|0)<17)j=e;else break a}if((o|0)==13){c[l>>2]=e&255;e=j;i=h;o=15;break}else if((o|0)==20)return g|0}}else{i=h;o=15}while(0);if((o|0)==15)if((e|0)<(f|0)){h=m+468|0;if(!(c[(c[h>>2]|0)+40>>2]|0)){o=c[m>>2]|0;c[o+20>>2]=120;Sb[c[o+4>>2]&63](m,-1);c[(c[h>>2]|0)+40>>2]=1}d=d<<25-e;e=25;h=i}else h=i;c[b>>2]=g;c[n>>2]=h;c[b+8>>2]=d;c[b+12>>2]=e;o=1;return o|0}function wu(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;do if((e|0)<(g|0))if(!(vu(a,b,e,g)|0)){f=-1;return f|0}else{b=c[a+8>>2]|0;e=c[a+12>>2]|0;break}while(0);e=e-g|0;h=b>>e&c[5184+(g<<2)>>2];i=a+8|0;j=a+12|0;a:do if((h|0)>(c[f+(g<<2)>>2]|0)){while(1){h=h<<1;if((e|0)<1){if(!(vu(a,b,e,1)|0)){e=-1;break}b=c[i>>2]|0;e=c[j>>2]|0}e=e+-1|0;h=b>>>e&1|h;g=g+1|0;if((h|0)<=(c[f+(g<<2)>>2]|0))break a}return e|0}while(0);c[i>>2]=b;c[j>>2]=e;if((g|0)>16){f=c[a+16>>2]|0;a=c[f>>2]|0;c[a+20>>2]=121;Sb[c[a+4>>2]&63](f,-1);f=0;return f|0}else{f=d[(c[f+72+(g<<2)>>2]|0)+h+((c[f+140>>2]|0)+17)>>0]|0;return f|0}return 0}function xu(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=c[b+468>>2]|0;p=b+224|0;q=b+412|0;f=c[q>>2]|0;e=(f|0)==0;do if(c[p>>2]|0){m=b+416|0;d=c[m>>2]|0;if(e)if(!d)n=7;else n=11;else if(((d|0)>=(f|0)?(d|0)<=(c[b+436>>2]|0):0)?(c[b+340>>2]|0)==1:0)n=7;else n=11;do if((n|0)==7){d=c[b+420>>2]|0;if(d){d=d+-1|0;if((d|0)!=(c[b+424>>2]|0)){n=11;break}}else d=c[b+424>>2]|0;if((d|0)>13)n=11}while(0);if((n|0)==11){l=c[b>>2]|0;c[l+20>>2]=17;c[l+24>>2]=f;c[(c[b>>2]|0)+28>>2]=c[m>>2];c[(c[b>>2]|0)+32>>2]=c[b+420>>2];c[(c[b>>2]|0)+36>>2]=c[b+424>>2];Qb[c[c[b>>2]>>2]&255](b)}l=b+340|0;d=c[l>>2]|0;if((d|0)>0){j=b+160|0;g=b+420|0;k=b+424|0;i=0;do{f=c[(c[b+344+(i<<2)>>2]|0)+4>>2]|0;h=c[j>>2]|0;d=c[q>>2]|0;if(d){if((c[h+(f<<8)>>2]|0)<0){d=c[b>>2]|0;c[d+20>>2]=118;c[d+24>>2]=f;c[(c[b>>2]|0)+28>>2]=0;Sb[c[(c[b>>2]|0)+4>>2]&63](b,-1);d=c[q>>2]|0}}else d=0;if((d|0)<=(c[m>>2]|0))while(1){e=h+(f<<8)+(d<<2)|0;r=c[e>>2]|0;if((c[g>>2]|0)!=(((r|0)>0?r:0)|0)){r=c[b>>2]|0;c[r+20>>2]=118;c[r+24>>2]=f;c[(c[b>>2]|0)+28>>2]=d;Sb[c[(c[b>>2]|0)+4>>2]&63](b,-1)}c[e>>2]=c[k>>2];if((d|0)<(c[m>>2]|0))d=d+1|0;else break}i=i+1|0;d=c[l>>2]|0}while((i|0)<(d|0))}else g=b+420|0;e=(c[q>>2]|0)==0;f=o+4|0;if(!(c[g>>2]|0))if(e){c[f>>2]=42;k=l;break}else{c[f>>2]=43;k=l;break}else if(e){c[f>>2]=44;k=l;break}else{c[f>>2]=45;k=l;break}}else{if((e?(c[b+420>>2]|0)==0:0)?(c[b+424>>2]|0)==0:0){r=c[b+416>>2]|0;if((r|0)<64?(r|0)!=(c[b+436>>2]|0):0)n=36}else n=36;if((n|0)==36){r=c[b>>2]|0;c[r+20>>2]=125;Sb[c[r+4>>2]&63](b,-1)}c[o+4>>2]=46;d=b+340|0;k=d;d=c[d>>2]|0}while(0);if((d|0)<=0){q=o+12|0;c[q>>2]=0;q=o+16|0;c[q>>2]=0;q=o+20|0;c[q>>2]=-16;q=b+280|0;q=c[q>>2]|0;r=o+56|0;c[r>>2]=q;return}h=b+436|0;i=b+420|0;j=b+4|0;g=0;do{f=c[b+344+(g<<2)>>2]|0;if(c[p>>2]|0)if(!(c[q>>2]|0)){if(!(c[i>>2]|0))n=43}else n=50;else n=43;do if((n|0)==43){n=0;d=c[f+20>>2]|0;if(d>>>0>15){r=c[b>>2]|0;c[r+20>>2]=50;c[r+24>>2]=d;Qb[c[c[b>>2]>>2]&255](b)}e=o+60+(d<<2)|0;d=c[e>>2]|0;if(!d){d=Hb[c[c[j>>2]>>2]&63](b,1,64)|0;c[e>>2]=d}e=d+64|0;do{a[d>>0]=0;d=d+1|0}while((d|0)<(e|0));c[o+24+(g<<2)>>2]=0;c[o+40+(g<<2)>>2]=0;if(!(c[p>>2]|0))if(!(c[h>>2]|0))break;else{n=50;break}else if(!(c[q>>2]|0))break;else{n=50;break}}while(0);if((n|0)==50){n=0;d=c[f+24>>2]|0;if(d>>>0>15){r=c[b>>2]|0;c[r+20>>2]=50;c[r+24>>2]=d;Qb[c[c[b>>2]>>2]&255](b)}e=o+124+(d<<2)|0;d=c[e>>2]|0;if(!d){d=Hb[c[c[j>>2]>>2]&63](b,1,256)|0;c[e>>2]=d}_O(d|0,0,256)|0}g=g+1|0}while((g|0)<(c[k>>2]|0));q=o+12|0;c[q>>2]=0;q=o+16|0;c[q>>2]=0;q=o+20|0;c[q>>2]=-16;q=b+280|0;q=c[q>>2]|0;r=o+56|0;c[r>>2]=q;return}function yu(a){a=a|0;return}function zu(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=c[e+468>>2]|0;p=e+280|0;if(c[p>>2]|0){q=s+56|0;g=c[q>>2]|0;if(!g){if(!(Eb[c[(c[e+464>>2]|0)+8>>2]&127](e)|0)){r=c[e>>2]|0;c[r+20>>2]=25;Qb[c[r>>2]&255](e)}h=e+340|0;if((c[h>>2]|0)>0){i=e+224|0;j=e+412|0;k=e+436|0;l=e+420|0;g=0;do{m=c[e+344+(g<<2)>>2]|0;if(c[i>>2]|0)if(!(c[j>>2]|0)){if(!(c[l>>2]|0))t=10}else t=13;else t=10;do if((t|0)==10){t=0;n=c[s+60+(c[m+20>>2]<<2)>>2]|0;o=n+64|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(o|0));c[s+24+(g<<2)>>2]=0;c[s+40+(g<<2)>>2]=0;if(!(c[i>>2]|0))if(!(c[k>>2]|0))break;else{t=13;break}else if(!(c[j>>2]|0))break;else{t=13;break}}while(0);if((t|0)==13){t=0;_O(c[s+124+(c[m+24>>2]<<2)>>2]|0,0,256)|0}g=g+1|0}while((g|0)<(c[h>>2]|0))}c[s+12>>2]=0;c[s+16>>2]=0;c[s+20>>2]=-16;g=c[p>>2]|0;c[q>>2]=g}c[q>>2]=g+-1}o=s+20|0;if((c[o>>2]|0)==-1)return 1;p=e+368|0;if((c[p>>2]|0)<=0)return 1;q=e+424|0;n=0;a:while(1){r=c[f+(n<<2)>>2]|0;l=c[e+372+(n<<2)>>2]|0;j=c[(c[e+344+(l<<2)>>2]|0)+20>>2]|0;h=s+60+(j<<2)|0;k=s+40+(l<<2)|0;g=(c[h>>2]|0)+(c[k>>2]|0)|0;if(!(Eu(e,g)|0)){c[k>>2]=0;g=c[s+24+(l<<2)>>2]|0}else{m=Eu(e,g+1|0)|0;i=g+2+m|0;g=Eu(e,i)|0;if(g){h=(c[h>>2]|0)+20|0;if(!(Eu(e,h)|0))i=h;else while(1){g=g<<1;if((g|0)==32768)break a;h=h+1|0;if(!(Eu(e,h)|0)){i=h;break}}}else g=0;do if((g|0)>=(1<<(d[e+232+j>>0]|0)>>1|0)){h=m<<2;if((g|0)>(1<<(d[e+248+j>>0]|0)>>1|0)){h=h+12|0;break}else{h=h+4|0;break}}else h=0;while(0);c[k>>2]=h;i=i+14|0;h=g>>1;if(h)do{k=(Eu(e,i)|0)==0;g=(k?0:h)|g;h=h>>1}while((h|0)!=0);l=s+24+(l<<2)|0;g=(c[l>>2]|0)+((m|0)==0?g+1|0:~g)|0;c[l>>2]=g}b[r>>1]=g<>2];n=n+1|0;if((n|0)>=(c[p>>2]|0)){t=37;break}}if((t|0)==37)return 1;t=c[e>>2]|0;c[t+20>>2]=117;Sb[c[t+4>>2]&63](e,-1);c[o>>2]=-1;return 1}function Au(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=c[e+468>>2]|0;p=e+280|0;if(c[p>>2]|0){q=s+56|0;g=c[q>>2]|0;if(!g){if(!(Eb[c[(c[e+464>>2]|0)+8>>2]&127](e)|0)){t=c[e>>2]|0;c[t+20>>2]=25;Qb[c[t>>2]&255](e)}h=e+340|0;if((c[h>>2]|0)>0){i=e+224|0;j=e+412|0;k=e+436|0;l=e+420|0;g=0;do{m=c[e+344+(g<<2)>>2]|0;if(c[i>>2]|0)if(!(c[j>>2]|0)){if(!(c[l>>2]|0))r=10}else r=13;else r=10;do if((r|0)==10){r=0;n=c[s+60+(c[m+20>>2]<<2)>>2]|0;o=n+64|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(o|0));c[s+24+(g<<2)>>2]=0;c[s+40+(g<<2)>>2]=0;if(!(c[i>>2]|0))if(!(c[k>>2]|0))break;else{r=13;break}else if(!(c[j>>2]|0))break;else{r=13;break}}while(0);if((r|0)==13){r=0;_O(c[s+124+(c[m+24>>2]<<2)>>2]|0,0,256)|0}g=g+1|0}while((g|0)<(c[h>>2]|0))}c[s+12>>2]=0;c[s+16>>2]=0;c[s+20>>2]=-16;g=c[p>>2]|0;c[q>>2]=g}c[q>>2]=g+-1}t=s+20|0;if((c[t>>2]|0)==-1)return 1;r=c[e+432>>2]|0;p=c[f>>2]|0;o=c[(c[e+344>>2]|0)+24>>2]|0;q=s+124+(o<<2)|0;l=s+188|0;m=e+416|0;n=e+424|0;o=e+264+o|0;h=(c[e+412>>2]|0)+-1|0;a:while(1){g=(c[q>>2]|0)+(h*3|0)|0;if(Eu(e,g)|0){r=36;break}j=h+1|0;if(!(Eu(e,g+1|0)|0)){i=g;h=j;while(1){if((h|0)>=(c[m>>2]|0)){r=23;break a}g=i+3|0;j=h+1|0;if(!(Eu(e,i+4|0)|0)){i=g;h=j}else break}}k=Eu(e,l)|0;i=g+2|0;g=Eu(e,i)|0;if(g){if(Eu(e,i)|0){g=g<<1;h=(c[q>>2]|0)+((h|0)<(d[o>>0]|0|0)?189:217)|0;if(Eu(e,h)|0)do{g=g<<1;if((g|0)==32768){r=30;break a}h=h+1|0}while((Eu(e,h)|0)!=0)}else h=i;i=h+14|0;h=g>>1;if(h)do{s=(Eu(e,i)|0)==0;g=(s?0:h)|g;h=h>>1}while((h|0)!=0)}else g=0;b[p+(c[r+(j<<2)>>2]<<1)>>1]=((k|0)==0?g+1|0:~g)<>2];if((j|0)<(c[m>>2]|0))h=j;else{r=36;break}}if((r|0)==23){s=c[e>>2]|0;c[s+20>>2]=117;Sb[c[s+4>>2]&63](e,-1);c[t>>2]=-1;return 1}else if((r|0)==30){s=c[e>>2]|0;c[s+20>>2]=117;Sb[c[s+4>>2]&63](e,-1);c[t>>2]=-1;return 1}else if((r|0)==36)return 1;return 0}function Bu(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=c[d+468>>2]|0;p=d+280|0;if(c[p>>2]|0){s=r+56|0;g=c[s>>2]|0;if(!g){if(!(Eb[c[(c[d+464>>2]|0)+8>>2]&127](d)|0)){o=c[d>>2]|0;c[o+20>>2]=25;Qb[c[o>>2]&255](d)}h=d+340|0;if((c[h>>2]|0)>0){i=d+224|0;j=d+412|0;k=d+436|0;l=d+420|0;g=0;do{m=c[d+344+(g<<2)>>2]|0;if(c[i>>2]|0)if(!(c[j>>2]|0)){if(!(c[l>>2]|0))q=10}else q=13;else q=10;do if((q|0)==10){q=0;n=c[r+60+(c[m+20>>2]<<2)>>2]|0;o=n+64|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(o|0));c[r+24+(g<<2)>>2]=0;c[r+40+(g<<2)>>2]=0;if(!(c[i>>2]|0))if(!(c[k>>2]|0))break;else{q=13;break}else if(!(c[j>>2]|0))break;else{q=13;break}}while(0);if((q|0)==13){q=0;_O(c[r+124+(c[m+24>>2]<<2)>>2]|0,0,256)|0}g=g+1|0}while((g|0)<(c[h>>2]|0))}c[r+12>>2]=0;c[r+16>>2]=0;c[r+20>>2]=-16;g=c[p>>2]|0;c[s>>2]=g}c[s>>2]=g+-1}h=r+188|0;i=1<>2];j=d+368|0;if((c[j>>2]|0)<=0)return 1;g=0;do{if(Eu(d,h)|0){s=c[f+(g<<2)>>2]|0;b[s>>1]=i|(e[s>>1]|0)}g=g+1|0}while((g|0)<(c[j>>2]|0));return 1}function Cu(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=c[d+468>>2]|0;o=d+280|0;if(c[o>>2]|0){p=q+56|0;f=c[p>>2]|0;if(!f){if(!(Eb[c[(c[d+464>>2]|0)+8>>2]&127](d)|0)){s=c[d>>2]|0;c[s+20>>2]=25;Qb[c[s>>2]&255](d)}g=d+340|0;if((c[g>>2]|0)>0){h=d+224|0;i=d+412|0;j=d+436|0;k=d+420|0;f=0;do{l=c[d+344+(f<<2)>>2]|0;if(c[h>>2]|0)if(!(c[i>>2]|0)){if(!(c[k>>2]|0))t=10}else t=13;else t=10;do if((t|0)==10){t=0;m=c[q+60+(c[l+20>>2]<<2)>>2]|0;n=m+64|0;do{a[m>>0]=0;m=m+1|0}while((m|0)<(n|0));c[q+24+(f<<2)>>2]=0;c[q+40+(f<<2)>>2]=0;if(!(c[h>>2]|0))if(!(c[j>>2]|0))break;else{t=13;break}else if(!(c[i>>2]|0))break;else{t=13;break}}while(0);if((t|0)==13){t=0;_O(c[q+124+(c[l+24>>2]<<2)>>2]|0,0,256)|0}f=f+1|0}while((f|0)<(c[g>>2]|0))}c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=-16;f=c[o>>2]|0;c[p>>2]=f}c[p>>2]=f+-1}r=q+20|0;if((c[r>>2]|0)==-1)return 1;s=c[d+432>>2]|0;n=c[e>>2]|0;g=c[(c[d+344>>2]|0)+24>>2]|0;p=c[d+424>>2]|0;o=1<>2]|0;while(1){if(b[n+(c[s+(f<<2)>>2]<<1)>>1]|0)break;f=f+-1|0;if(!f){f=0;break}}m=q+124+(g<<2)|0;j=q+188|0;k=o&65535;l=p&65535;g=(c[d+412>>2]|0)+-1|0;a:while(1){h=(c[m>>2]|0)+(g*3|0)|0;if((g|0)>=(f|0)?Eu(d,h)|0:0){t=38;break}g=g+1|0;i=n+(c[s+(g<<2)>>2]<<1)|0;b:do if(!(b[i>>1]|0)){while(1){if(Eu(d,h+1|0)|0)break;if((g|0)>=(c[e>>2]|0)){t=35;break a}h=h+3|0;g=g+1|0;i=n+(c[s+(g<<2)>>2]<<1)|0;if(b[i>>1]|0){t=26;break b}}if(!(Eu(d,j)|0)){b[i>>1]=k;break}else{b[i>>1]=l;break}}else t=26;while(0);do if((t|0)==26){t=0;if(Eu(d,h+2|0)|0){q=b[i>>1]|0;h=q<<16>>16;if(q<<16>>16<0){b[i>>1]=p+h;break}else{b[i>>1]=o+h;break}}}while(0);if((g|0)>=(c[e>>2]|0)){t=38;break}}if((t|0)==35){t=c[d>>2]|0;c[t+20>>2]=117;Sb[c[t+4>>2]&63](d,-1);c[r>>2]=-1;return 1}else if((t|0)==38)return 1;return 0}function Du(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=c[e+468>>2]|0;p=e+280|0;if(c[p>>2]|0){q=v+56|0;g=c[q>>2]|0;if(!g){if(!(Eb[c[(c[e+464>>2]|0)+8>>2]&127](e)|0)){u=c[e>>2]|0;c[u+20>>2]=25;Qb[c[u>>2]&255](e)}h=e+340|0;if((c[h>>2]|0)>0){i=e+224|0;j=e+412|0;k=e+436|0;l=e+420|0;g=0;do{m=c[e+344+(g<<2)>>2]|0;if(c[i>>2]|0)if(!(c[j>>2]|0)){if(!(c[l>>2]|0))r=10}else r=13;else r=10;do if((r|0)==10){r=0;n=c[v+60+(c[m+20>>2]<<2)>>2]|0;o=n+64|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(o|0));c[v+24+(g<<2)>>2]=0;c[v+40+(g<<2)>>2]=0;if(!(c[i>>2]|0))if(!(c[k>>2]|0))break;else{r=13;break}else if(!(c[j>>2]|0))break;else{r=13;break}}while(0);if((r|0)==13){r=0;_O(c[v+124+(c[m+24>>2]<<2)>>2]|0,0,256)|0}g=g+1|0}while((g|0)<(c[h>>2]|0))}c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=-16;g=c[p>>2]|0;c[q>>2]=g}c[q>>2]=g+-1}u=v+20|0;if((c[u>>2]|0)==-1)return 1;p=c[e+432>>2]|0;q=e+368|0;if((c[q>>2]|0)<=0)return 1;r=e+436|0;s=v+188|0;o=0;a:while(1){t=c[f+(o<<2)>>2]|0;l=c[e+372+(o<<2)>>2]|0;n=c[e+344+(l<<2)>>2]|0;j=c[n+20>>2]|0;h=v+60+(j<<2)|0;k=v+40+(l<<2)|0;g=(c[h>>2]|0)+(c[k>>2]|0)|0;if(!(Eu(e,g)|0)){c[k>>2]=0;g=c[v+24+(l<<2)>>2]|0}else{m=Eu(e,g+1|0)|0;i=g+2+m|0;g=Eu(e,i)|0;if(g){h=(c[h>>2]|0)+20|0;if(!(Eu(e,h)|0))i=h;else while(1){g=g<<1;if((g|0)==32768){r=26;break a}h=h+1|0;if(!(Eu(e,h)|0)){i=h;break}}}else g=0;do if((g|0)>=(1<<(d[e+232+j>>0]|0)>>1|0)){h=m<<2;if((g|0)>(1<<(d[e+248+j>>0]|0)>>1|0)){h=h+12|0;break}else{h=h+4|0;break}}else h=0;while(0);c[k>>2]=h;i=i+14|0;h=g>>1;if(h)do{k=(Eu(e,i)|0)==0;g=(k?0:h)|g;h=h>>1}while((h|0)!=0);l=v+24+(l<<2)|0;g=(c[l>>2]|0)+((m|0)==0?g+1|0:~g)|0;c[l>>2]=g}b[t>>1]=g;b:do if(c[r>>2]|0){m=c[n+24>>2]|0;l=v+124+(m<<2)|0;m=e+264+m|0;g=0;while(1){h=(c[l>>2]|0)+(g*3|0)|0;if(Eu(e,h)|0)break b;j=g+1|0;if(!(Eu(e,h+1|0)|0)){i=h;g=j;while(1){if((g|0)>=(c[r>>2]|0)){r=42;break a}h=i+3|0;j=g+1|0;if(!(Eu(e,i+4|0)|0)){i=h;g=j}else break}}k=Eu(e,s)|0;h=h+2|0;i=Eu(e,h)|0;if(i){if(Eu(e,h)|0){i=i<<1;h=(c[l>>2]|0)+((g|0)<(d[m>>0]|0|0)?189:217)|0;if(!(Eu(e,h)|0))g=i;else{g=i;do{g=g<<1;if((g|0)==32768){r=49;break a}h=h+1|0}while((Eu(e,h)|0)!=0)}}else g=i;i=h+14|0;h=g>>1;if(h)do{n=(Eu(e,i)|0)==0;g=(n?0:h)|g;h=h>>1}while((h|0)!=0)}else g=0;b[t+(c[p+(j<<2)>>2]<<1)>>1]=(k|0)==0?g+1|0:g^65535;if((j|0)<(c[r>>2]|0))g=j;else break}}while(0);o=o+1|0;if((o|0)>=(c[q>>2]|0)){r=56;break}}if((r|0)==26){v=c[e>>2]|0;c[v+20>>2]=117;Sb[c[v+4>>2]&63](e,-1);c[u>>2]=-1;return 1}else if((r|0)==42){v=c[e>>2]|0;c[v+20>>2]=117;Sb[c[v+4>>2]&63](e,-1);c[u>>2]=-1;return 1}else if((r|0)==49){v=c[e>>2]|0;c[v+20>>2]=117;Sb[c[v+4>>2]&63](e,-1);c[u>>2]=-1;return 1}else if((r|0)==56)return 1;return 0}function Eu(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;g=c[b+468>>2]|0;m=g+16|0;f=c[m>>2]|0;k=g+20|0;if((f|0)<32768){h=b+440|0;j=b+24|0;i=g+12|0;f=c[k>>2]|0;while(1){g=f+-1|0;c[k>>2]=g;if((f|0)<1){if(!(c[h>>2]|0)){f=c[j>>2]|0;g=f+4|0;if((c[g>>2]|0)==0?(Eb[c[f+12>>2]&127](b)|0)==0:0){l=c[b>>2]|0;c[l+20>>2]=25;Qb[c[l>>2]&255](b)}c[g>>2]=(c[g>>2]|0)+-1;l=c[f>>2]|0;c[f>>2]=l+1;l=a[l>>0]|0;f=l&255;a:do if(l<<24>>24==-1){b:while(1){f=c[j>>2]|0;g=f+4|0;if((c[g>>2]|0)==0?(Eb[c[f+12>>2]&127](b)|0)==0:0){l=c[b>>2]|0;c[l+20>>2]=25;Qb[c[l>>2]&255](b)}c[g>>2]=(c[g>>2]|0)+-1;l=c[f>>2]|0;c[f>>2]=l+1;f=a[l>>0]|0;switch(f<<24>>24){case 0:{f=255;break a}case -1:break;default:break b}}c[h>>2]=f&255;f=0}while(0);g=c[k>>2]|0}else f=0;c[i>>2]=c[i>>2]<<8|f;f=g+8|0;c[k>>2]=f;if((g|0)<-8){f=g+9|0;c[k>>2]=f;if(!f){c[m>>2]=32768;g=0}else g=f}else g=f}f=c[m>>2]<<1;c[m>>2]=f;if((f|0)<32768)f=g;else break}}else{i=g+12|0;g=c[k>>2]|0}j=d[e>>0]|0;b=c[3872+((j&127)<<2)>>2]|0;k=b>>8;l=b>>16;h=f-l|0;c[m>>2]=h;f=h<>2]|0;if((g|0)>=(f|0)){c[i>>2]=g-f;c[m>>2]=l;f=j&128;if((h|0)<(l|0)){a[e>>0]=f^k;e=j;e=e>>7;return e|0}else{a[e>>0]=f^b;e=j^128;e=e>>7;return e|0}}if((h|0)>=32768){e=j;e=e>>7;return e|0}f=j&128;if((h|0)<(l|0)){a[e>>0]=f^b;e=j^128;e=e>>7;return e|0}else{a[e>>0]=f^k;e=j;e=e>>7;return e|0}return 0}function Fu(a){a=a|0;var d=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0;n=c[a+472>>2]|0;o=a+36|0;if((c[o>>2]|0)<=0)return;r=a+72|0;l=0;m=c[a+216>>2]|0;i=0;j=0;while(1){d=c[m+36>>2]|0;h=m+40|0;a:do switch((d<<8)+(c[h>>2]|0)|0){case 257:{d=0;k=13;break}case 514:{d=0;k=14;break}case 771:{d=0;k=15;break}case 1028:{d=0;k=16;break}case 1285:{d=0;k=17;break}case 1542:{d=0;k=18;break}case 1799:{d=0;k=19;break}case 2313:{d=0;k=20;break}case 2570:{d=0;k=21;break}case 2827:{d=0;k=22;break}case 3084:{d=0;k=23;break}case 3341:{d=0;k=24;break}case 3598:{d=0;k=25;break}case 3855:{d=0;k=26;break}case 4112:{d=0;k=27;break}case 4104:{d=0;k=28;break}case 3591:{d=0;k=29;break}case 3078:{d=0;k=30;break}case 2565:{d=0;k=31;break}case 2052:{d=0;k=32;break}case 1539:{d=0;k=33;break}case 1026:{d=0;k=34;break}case 513:{d=0;k=35;break}case 2064:{d=0;k=36;break}case 1806:{d=0;k=37;break}case 1548:{d=0;k=38;break}case 1290:{d=0;k=39;break}case 1032:{d=0;k=40;break}case 774:{d=0;k=41;break}case 516:{d=0;k=42;break}case 258:{d=0;k=43;break}case 2056:{d=c[r>>2]|0;switch(d|0){case 0:{k=44;break a}case 1:{k=45;break a}case 2:{k=46;break a}default:{d=c[a>>2]|0;c[d+20>>2]=49;Qb[c[d>>2]&255](a);d=i;k=j;break a}}}default:{k=c[a>>2]|0;c[k+20>>2]=7;c[k+24>>2]=d;c[(c[a>>2]|0)+28>>2]=c[h>>2];Qb[c[c[a>>2]>>2]&255](a);d=i;k=j}}while(0);c[n+4+(l<<2)>>2]=k;b:do if((c[m+52>>2]|0?(p=n+44+(l<<2)|0,(c[p>>2]|0)!=(d|0)):0)?(q=c[m+80>>2]|0,q|0):0){c[p>>2]=d;switch(d|0){case 0:{i=c[m+84>>2]|0;h=0;do{c[i+(h<<2)>>2]=e[q+(h<<1)>>1];h=h+1|0}while((h|0)!=64);break}case 1:{i=c[m+84>>2]|0;h=0;do{c[i+(h<<2)>>2]=(B(b[5248+(h<<1)>>1]|0,e[q+(h<<1)>>1]|0)|0)+2048>>12;h=h+1|0}while((h|0)!=64);break}case 2:{j=c[m+84>>2]|0;h=0;i=0;while(1){t=+g[5376+(h<<3)>>3];f[j+(i<<2)>>2]=t*+(e[q+(i<<1)>>1]|0)*.125;s=i|1;f[j+(s<<2)>>2]=t*+(e[q+(s<<1)>>1]|0)*1.387039845*.125;s=s+1|0;f[j+(s<<2)>>2]=t*+(e[q+(s<<1)>>1]|0)*1.306562965*.125;s=i|3;f[j+(s<<2)>>2]=t*+(e[q+(s<<1)>>1]|0)*1.175875602*.125;u=s+1|0;f[j+(u<<2)>>2]=t*+(e[q+(u<<1)>>1]|0)*.125;u=s+2|0;f[j+(u<<2)>>2]=t*+(e[q+(u<<1)>>1]|0)*.785694958*.125;s=s+3|0;f[j+(s<<2)>>2]=t*+(e[q+(s<<1)>>1]|0)*.5411961*.125;s=i|7;f[j+(s<<2)>>2]=t*+(e[q+(s<<1)>>1]|0)*.275899379*.125;h=h+1|0;if((h|0)==8)break;else i=i+8|0}break}default:{u=c[a>>2]|0;c[u+20>>2]=49;Qb[c[u>>2]&255](a);break b}}}while(0);l=l+1|0;if((l|0)>=(c[o>>2]|0))break;else{m=m+88|0;i=d;j=k}}return}function Gu(d,e,g,h,i){d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;q=yb;yb=yb+256|0;j=q;o=c[d+336>>2]|0;n=j;m=c[e+84>>2]|0;l=8;while(1){e=b[g+16>>1]|0;d=b[g+32>>1]|0;if(!((e|d)<<16>>16))if(((((b[g+48>>1]|0)==0?(b[g+64>>1]|0)==0:0)?(b[g+80>>1]|0)==0:0)?(b[g+96>>1]|0)==0:0)?(b[g+112>>1]|0)==0:0){k=+f[m>>2]*+(b[g>>1]|0);f[n>>2]=k;f[n+32>>2]=k;f[n+64>>2]=k;f[n+96>>2]=k;f[n+128>>2]=k;f[n+160>>2]=k;f[n+192>>2]=k;d=56}else{d=0;p=9}else p=9;if((p|0)==9){p=0;r=+f[m>>2]*+(b[g>>1]|0);x=+f[m+64>>2]*+(d<<16>>16);w=+f[m+128>>2]*+(b[g+64>>1]|0);t=+f[m+192>>2]*+(b[g+96>>1]|0);v=r+w;w=r-w;r=x+t;t=(x-t)*1.4142135381698608-r;x=v+r;r=v-r;v=w+t;t=w-t;w=+f[m+32>>2]*+(e<<16>>16);u=+f[m+96>>2]*+(b[g+48>>1]|0);z=+f[m+160>>2]*+(b[g+80>>1]|0);k=+f[m+224>>2]*+(b[g+112>>1]|0);s=u+z;u=z-u;z=w+k;k=w-k;w=s+z;y=(u+k)*1.8477590084075928;u=y-u*2.613126039505005-w;s=(z-s)*1.4142135381698608-u;k=y-k*1.0823922157287598-s;f[n>>2]=x+w;f[n+224>>2]=x-w;f[n+32>>2]=v+u;f[n+192>>2]=v-u;f[n+64>>2]=t+s;f[n+160>>2]=t-s;f[n+96>>2]=r+k;k=r-k;d=32}f[n+(d<<2)>>2]=k;if(l>>>0>1){n=n+4|0;m=m+4|0;g=g+2|0;l=l+-1|0}else break}e=o+-384|0;d=0;while(1){p=(c[h+(d<<2)>>2]|0)+i|0;s=+f[j>>2]+512.5;t=+f[j+16>>2];u=s+t;t=s-t;s=+f[j+8>>2];w=+f[j+24>>2];y=s+w;w=(s-w)*1.4142135381698608-y;s=u+y;y=u-y;u=t+w;w=t-w;t=+f[j+20>>2];v=+f[j+12>>2];x=t+v;v=t-v;t=+f[j+4>>2];z=+f[j+28>>2];k=t+z;z=t-z;t=x+k;r=(v+z)*1.8477590084075928;v=r-v*2.613126039505005-t;x=(k-x)*1.4142135381698608-v;z=r-z*1.0823922157287598-x;a[p>>0]=a[e+(~~(s+t)&1023)>>0]|0;a[p+7>>0]=a[e+(~~(s-t)&1023)>>0]|0;a[p+1>>0]=a[e+(~~(u+v)&1023)>>0]|0;a[p+6>>0]=a[e+(~~(u-v)&1023)>>0]|0;a[p+2>>0]=a[e+(~~(w+x)&1023)>>0]|0;a[p+5>>0]=a[e+(~~(w-x)&1023)>>0]|0;a[p+3>>0]=a[e+(~~(y+z)&1023)>>0]|0;a[p+4>>0]=a[e+(~~(y-z)&1023)>>0]|0;d=d+1|0;if((d|0)==8)break;else j=j+32|0}yb=q;return}function Hu(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;o=yb;yb=yb+256|0;m=o;l=c[d+336>>2]|0;k=m;j=c[e+84>>2]|0;i=8;while(1){e=b[f+16>>1]|0;d=b[f+32>>1]|0;if(!((e|d)<<16>>16))if(((((b[f+48>>1]|0)==0?(b[f+64>>1]|0)==0:0)?(b[f+80>>1]|0)==0:0)?(b[f+96>>1]|0)==0:0)?(b[f+112>>1]|0)==0:0){d=B(c[j>>2]|0,b[f>>1]|0)|0;c[k>>2]=d;c[k+32>>2]=d;c[k+64>>2]=d;c[k+96>>2]=d;c[k+128>>2]=d;c[k+160>>2]=d;c[k+192>>2]=d;e=56}else{d=0;n=9}else n=9;if((n|0)==9){n=0;p=B(c[j>>2]|0,b[f>>1]|0)|0;u=B(c[j+64>>2]|0,d<<16>>16)|0;t=B(c[j+128>>2]|0,b[f+64>>1]|0)|0;q=B(c[j+192>>2]|0,b[f+96>>1]|0)|0;s=t+p|0;t=p-t|0;p=q+u|0;q=((u-q|0)*362>>8)-p|0;u=p+s|0;p=s-p|0;s=q+t|0;q=t-q|0;t=B(c[j+32>>2]|0,e<<16>>16)|0;r=B(c[j+96>>2]|0,b[f+48>>1]|0)|0;w=B(c[j+160>>2]|0,b[f+80>>1]|0)|0;d=B(c[j+224>>2]|0,b[f+112>>1]|0)|0;e=w+r|0;r=w-r|0;w=d+t|0;d=t-d|0;t=w+e|0;v=(d+r|0)*473>>8;r=v-(r*669>>8)-t|0;e=((w-e|0)*362>>8)-r|0;d=v-(d*277>>8)-e|0;c[k>>2]=t+u;c[k+224>>2]=u-t;c[k+32>>2]=r+s;c[k+192>>2]=s-r;c[k+64>>2]=e+q;c[k+160>>2]=q-e;c[k+96>>2]=d+p;d=p-d|0;e=32}c[k+(e<<2)>>2]=d;if(i>>>0>1){k=k+4|0;j=j+4|0;f=f+2|0;i=i+-1|0}else break}l=l+-384|0;k=0;e=m;while(1){f=(c[g+(k<<2)>>2]|0)+h|0;i=(c[e>>2]|0)+16400|0;j=c[e+4>>2]|0;d=c[e+8>>2]|0;if(!(j|d))if(((((c[e+12>>2]|0)==0?(c[e+16>>2]|0)==0:0)?(c[e+20>>2]|0)==0:0)?(c[e+24>>2]|0)==0:0)?(c[e+28>>2]|0)==0:0){w=a[l+(i>>>5&1023)>>0]|0;a[f>>0]=w;_O(f+1|0,w|0,7)|0}else{d=0;n=19}else n=19;if((n|0)==19){n=0;w=c[e+16>>2]|0;r=w+i|0;w=i-w|0;t=c[e+24>>2]|0;v=t+d|0;t=((d-t|0)*362>>8)-v|0;p=v+r|0;v=r-v|0;r=t+w|0;t=w-t|0;w=c[e+20>>2]|0;s=c[e+12>>2]|0;u=s+w|0;s=w-s|0;w=c[e+28>>2]|0;i=w+j|0;w=j-w|0;q=i+u|0;m=(w+s|0)*473>>8;s=m-(s*669>>8)-q|0;u=((i-u|0)*362>>8)-s|0;w=m-(w*277>>8)-u|0;a[f>>0]=a[l+((q+p|0)>>>5&1023)>>0]|0;a[f+7>>0]=a[l+((p-q|0)>>>5&1023)>>0]|0;a[f+1>>0]=a[l+((s+r|0)>>>5&1023)>>0]|0;a[f+6>>0]=a[l+((r-s|0)>>>5&1023)>>0]|0;a[f+2>>0]=a[l+((u+t|0)>>>5&1023)>>0]|0;a[f+5>>0]=a[l+((t-u|0)>>>5&1023)>>0]|0;a[f+3>>0]=a[l+((w+v|0)>>>5&1023)>>0]|0;a[f+4>>0]=a[l+((v-w|0)>>>5&1023)>>0]|0}k=k+1|0;if((k|0)==8)break;else e=e+32|0}yb=o;return}function Iu(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;d=(c[d+336>>2]|0)+-384|0;i=c[e+84>>2]|0;e=(B(c[i>>2]|0,b[f>>1]|0)|0)+4100|0;f=B(c[i+32>>2]|0,b[f+16>>1]|0)|0;a[(c[g>>2]|0)+h>>0]=a[d+((f+e|0)>>>3&1023)>>0]|0;a[(c[g+4>>2]|0)+h>>0]=a[d+((e-f|0)>>>3&1023)>>0]|0;return}function Ju(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=yb;yb=yb+32|0;j=i;d=c[d+336>>2]|0;k=c[e+84>>2]|0;n=B(c[k>>2]|0,b[f>>1]|0)|0;q=B(c[k+64>>2]|0,b[f+32>>1]|0)|0;e=q+n<<13;q=n-q<<13;n=B(c[k+32>>2]|0,b[f+16>>1]|0)|0;l=B(c[k+96>>2]|0,b[f+48>>1]|0)|0;p=(l+n|0)*4433|0;n=p+(n*6270|0)|0;l=p+(B(l,-15137)|0)|0;p=n+e|0;c[j>>2]=p;c[j+24>>2]=e-n;n=l+q|0;c[j+8>>2]=n;l=q-l|0;c[j+16>>2]=l;q=B(c[k+4>>2]|0,b[f+2>>1]|0)|0;e=B(c[k+68>>2]|0,b[f+34>>1]|0)|0;m=e+q<<13;e=q-e<<13;q=B(c[k+36>>2]|0,b[f+18>>1]|0)|0;k=B(c[k+100>>2]|0,b[f+50>>1]|0)|0;o=(k+q|0)*4433|0;f=o+(q*6270|0)|0;k=o+(B(k,-15137)|0)|0;o=f+m|0;c[j+4>>2]=o;f=m-f|0;c[j+28>>2]=f;m=k+e|0;c[j+12>>2]=m;k=e-k|0;c[j+20>>2]=k;e=d+-384|0;d=(c[g>>2]|0)+h|0;p=p+33587200|0;a[d>>0]=a[e+((p+o|0)>>>16&1023)>>0]|0;a[d+1>>0]=a[e+((p-o|0)>>>16&1023)>>0]|0;d=(c[g+4>>2]|0)+h|0;n=n+33587200|0;a[d>>0]=a[e+((n+m|0)>>>16&1023)>>0]|0;a[d+1>>0]=a[e+((n-m|0)>>>16&1023)>>0]|0;d=(c[g+8>>2]|0)+h|0;l=l+33587200|0;a[d>>0]=a[e+((l+k|0)>>>16&1023)>>0]|0;a[d+1>>0]=a[e+((l-k|0)>>>16&1023)>>0]|0;h=(c[g+12>>2]|0)+h|0;g=(c[j+24>>2]|0)+33587200|0;a[h>>0]=a[e+((g+f|0)>>>16&1023)>>0]|0;a[h+1>>0]=a[e+((g-f|0)>>>16&1023)>>0]|0;yb=i;return}function Ku(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;i=yb;yb=yb+80|0;j=i;m=c[d+336>>2]|0;k=c[e+84>>2]|0;t=B(b[f>>1]<<13,c[k>>2]|0)|0|1024;q=B((b[f+64>>1]|0)*5793|0,c[k+128>>2]|0)|0;r=q+t|0;t=(B(q,-2)|0)+t>>11;q=B((b[f+32>>1]|0)*10033|0,c[k+64>>2]|0)|0;l=q+r|0;q=r-q|0;r=B(c[k+32>>2]|0,b[f+16>>1]|0)|0;s=B(c[k+96>>2]|0,b[f+48>>1]|0)|0;e=B(c[k+160>>2]|0,b[f+80>>1]|0)|0;n=(e+r|0)*2998|0;d=n+(s+r<<13)|0;n=n+(e-s<<13)|0;e=r-s-e<<2;c[j>>2]=d+l>>11;c[j+60>>2]=l-d>>11;d=j+12|0;c[d>>2]=e+t;c[j+48>>2]=t-e;c[j+24>>2]=n+q>>11;c[j+36>>2]=q-n>>11;n=j+4|0;q=B(b[f+2>>1]<<13,c[k+4>>2]|0)|0|1024;e=B((b[f+66>>1]|0)*5793|0,c[k+132>>2]|0)|0;t=e+q|0;q=(B(e,-2)|0)+q>>11;e=B((b[f+34>>1]|0)*10033|0,c[k+68>>2]|0)|0;l=e+t|0;e=t-e|0;t=B(c[k+36>>2]|0,b[f+18>>1]|0)|0;s=B(c[k+100>>2]|0,b[f+50>>1]|0)|0;r=B(c[k+164>>2]|0,b[f+82>>1]|0)|0;o=(r+t|0)*2998|0;p=o+(s+t<<13)|0;o=o+(r-s<<13)|0;r=t-s-r<<2;c[n>>2]=p+l>>11;c[j+64>>2]=l-p>>11;c[j+16>>2]=r+q;c[j+52>>2]=q-r;c[j+28>>2]=o+e>>11;c[j+40>>2]=e-o>>11;o=B(b[f+4>>1]<<13,c[k+8>>2]|0)|0|1024;e=B((b[f+68>>1]|0)*5793|0,c[k+136>>2]|0)|0;r=e+o|0;o=(B(e,-2)|0)+o>>11;e=B((b[f+36>>1]|0)*10033|0,c[k+72>>2]|0)|0;q=e+r|0;e=r-e|0;r=B(c[k+40>>2]|0,b[f+20>>1]|0)|0;p=B(c[k+104>>2]|0,b[f+52>>1]|0)|0;k=B(c[k+168>>2]|0,b[f+84>>1]|0)|0;f=(k+r|0)*2998|0;l=f+(p+r<<13)|0;f=f+(k-p<<13)|0;k=r-p-k<<2;p=l+q>>11;c[j+8>>2]=p;c[j+68>>2]=q-l>>11;l=k+o|0;c[j+20>>2]=l;c[j+56>>2]=o-k;k=f+e>>11;c[j+32>>2]=k;c[j+44>>2]=e-f>>11;f=m+-384|0;e=(c[g>>2]|0)+h|0;m=(c[j>>2]<<13)+134348800|0;o=m+(p*5793|0)|0;m=(B(p,-11586)|0)+m|0;n=(c[n>>2]|0)*10033|0;a[e>>0]=a[f+((o+n|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+((o-n|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+(m>>>18&1023)>>0]|0;e=(c[g+4>>2]|0)+h|0;d=(c[d>>2]<<13)+134348800|0;m=d+(l*5793|0)|0;d=(B(l,-11586)|0)+d|0;l=(c[j+16>>2]|0)*10033|0;a[e>>0]=a[f+((m+l|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+((m-l|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+(d>>>18&1023)>>0]|0;e=(c[g+8>>2]|0)+h|0;d=(c[j+24>>2]<<13)+134348800|0;l=d+(k*5793|0)|0;d=(B(k,-11586)|0)+d|0;k=(c[j+28>>2]|0)*10033|0;a[e>>0]=a[f+((l+k|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+((l-k|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+(d>>>18&1023)>>0]|0;e=(c[g+12>>2]|0)+h|0;d=(c[j+36>>2]<<13)+134348800|0;k=c[j+44>>2]|0;l=d+(k*5793|0)|0;d=(B(k,-11586)|0)+d|0;k=(c[j+40>>2]|0)*10033|0;a[e>>0]=a[f+((l+k|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+((l-k|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+(d>>>18&1023)>>0]|0;e=(c[g+16>>2]|0)+h|0;d=(c[j+48>>2]<<13)+134348800|0;k=c[j+56>>2]|0;l=d+(k*5793|0)|0;d=(B(k,-11586)|0)+d|0;k=(c[j+52>>2]|0)*10033|0;a[e>>0]=a[f+((l+k|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+((l-k|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+(d>>>18&1023)>>0]|0;h=(c[g+20>>2]|0)+h|0;g=(c[j+60>>2]<<13)+134348800|0;e=c[j+68>>2]|0;d=g+(e*5793|0)|0;g=(B(e,-11586)|0)+g|0;e=(c[j+64>>2]|0)*10033|0;a[h>>0]=a[f+((d+e|0)>>>18&1023)>>0]|0;a[h+2>>0]=a[f+((d-e|0)>>>18&1023)>>0]|0;a[h+1>>0]=a[f+(g>>>18&1023)>>0]|0;yb=i;return}function Lu(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;o=yb;yb=yb+128|0;m=o;l=c[d+336>>2]|0;k=m;j=c[e+84>>2]|0;i=4;while(1){e=b[f+16>>1]|0;d=b[f+32>>1]|0;if(!((e|d)<<16>>16))if(((((b[f+48>>1]|0)==0?(b[f+64>>1]|0)==0:0)?(b[f+80>>1]|0)==0:0)?(b[f+96>>1]|0)==0:0)?(b[f+112>>1]|0)==0:0){d=B(b[f>>1]<<2,c[j>>2]|0)|0;c[k>>2]=d;c[k+16>>2]=d;c[k+32>>2]=d;c[k+48>>2]=d;c[k+64>>2]=d;c[k+80>>2]=d;c[k+96>>2]=d;e=28}else{d=0;n=9}else n=9;if((n|0)==9){n=0;x=B(b[f+64>>1]<<13,c[j+128>>2]|0)|0;p=B(b[f>>1]<<13,c[j>>2]|0)|0|1024;s=x+p|0;x=p-x|0;p=B(c[j+64>>2]|0,d<<16>>16)|0;q=B(c[j+192>>2]|0,b[f+96>>1]|0)|0;u=(q+p|0)*4433|0;p=u+(p*6270|0)|0;q=u+(B(q,-15137)|0)|0;u=p+s|0;p=s-p|0;s=q+x|0;q=x-q|0;d=B(c[j+224>>2]|0,b[f+112>>1]|0)|0;x=B(c[j+160>>2]|0,b[f+80>>1]|0)|0;v=B(c[j+96>>2]|0,b[f+48>>1]|0)|0;t=B(c[j+32>>2]|0,e<<16>>16)|0;r=v+d|0;e=t+x|0;w=(e+r|0)*9633|0;r=w+(B(r,-16069)|0)|0;e=w+(B(e,-3196)|0)|0;w=B(t+d|0,-7373)|0;d=w+(d*2446|0)+r|0;t=w+(t*12299|0)+e|0;w=B(v+x|0,-20995)|0;e=w+(x*16819|0)+e|0;r=w+(v*25172|0)+r|0;c[k>>2]=t+u>>11;c[k+112>>2]=u-t>>11;c[k+16>>2]=r+s>>11;c[k+96>>2]=s-r>>11;c[k+32>>2]=e+q>>11;c[k+80>>2]=q-e>>11;c[k+48>>2]=d+p>>11;d=p-d>>11;e=16}c[k+(e<<2)>>2]=d;if(i>>>0>1){k=k+4|0;j=j+4|0;f=f+2|0;i=i+-1|0}else break}u=l+-384|0;x=(c[g>>2]|0)+h|0;s=(c[m>>2]|0)+16400|0;v=c[m+8>>2]|0;w=s+v<<13;v=s-v<<13;s=c[m+4>>2]|0;t=c[m+12>>2]|0;r=(t+s|0)*4433|0;s=r+(s*6270|0)|0;t=r+(B(t,-15137)|0)|0;a[x>>0]=a[u+((s+w|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((w-s|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((t+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-t|0)>>>18&1023)>>0]|0;x=(c[g+4>>2]|0)+h|0;t=(c[m+16>>2]|0)+16400|0;v=c[m+24>>2]|0;s=t+v<<13;v=t-v<<13;t=c[m+20>>2]|0;w=c[m+28>>2]|0;r=(w+t|0)*4433|0;t=r+(t*6270|0)|0;w=r+(B(w,-15137)|0)|0;a[x>>0]=a[u+((t+s|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((s-t|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((w+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-w|0)>>>18&1023)>>0]|0;x=(c[g+8>>2]|0)+h|0;w=(c[m+32>>2]|0)+16400|0;v=c[m+40>>2]|0;t=w+v<<13;v=w-v<<13;w=c[m+36>>2]|0;s=c[m+44>>2]|0;r=(s+w|0)*4433|0;w=r+(w*6270|0)|0;s=r+(B(s,-15137)|0)|0;a[x>>0]=a[u+((w+t|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((t-w|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((s+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-s|0)>>>18&1023)>>0]|0;x=(c[g+12>>2]|0)+h|0;s=(c[m+48>>2]|0)+16400|0;v=c[m+56>>2]|0;w=s+v<<13;v=s-v<<13;s=c[m+52>>2]|0;t=c[m+60>>2]|0;r=(t+s|0)*4433|0;s=r+(s*6270|0)|0;t=r+(B(t,-15137)|0)|0;a[x>>0]=a[u+((s+w|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((w-s|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((t+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-t|0)>>>18&1023)>>0]|0;x=(c[g+16>>2]|0)+h|0;t=(c[m+64>>2]|0)+16400|0;v=c[m+72>>2]|0;s=t+v<<13;v=t-v<<13;t=c[m+68>>2]|0;w=c[m+76>>2]|0;r=(w+t|0)*4433|0;t=r+(t*6270|0)|0;w=r+(B(w,-15137)|0)|0;a[x>>0]=a[u+((t+s|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((s-t|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((w+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-w|0)>>>18&1023)>>0]|0;x=(c[g+20>>2]|0)+h|0;w=(c[m+80>>2]|0)+16400|0;v=c[m+88>>2]|0;t=w+v<<13;v=w-v<<13;w=c[m+84>>2]|0;s=c[m+92>>2]|0;r=(s+w|0)*4433|0;w=r+(w*6270|0)|0;s=r+(B(s,-15137)|0)|0;a[x>>0]=a[u+((w+t|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((t-w|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((s+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-s|0)>>>18&1023)>>0]|0;x=(c[g+24>>2]|0)+h|0;s=(c[m+96>>2]|0)+16400|0;v=c[m+104>>2]|0;w=s+v<<13;v=s-v<<13;s=c[m+100>>2]|0;t=c[m+108>>2]|0;r=(t+s|0)*4433|0;s=r+(s*6270|0)|0;t=r+(B(t,-15137)|0)|0;a[x>>0]=a[u+((s+w|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((w-s|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((t+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-t|0)>>>18&1023)>>0]|0;x=(c[g+28>>2]|0)+h|0;t=(c[m+112>>2]|0)+16400|0;v=c[m+120>>2]|0;s=t+v<<13;v=t-v<<13;t=c[m+116>>2]|0;w=c[m+124>>2]|0;r=(w+t|0)*4433|0;t=r+(t*6270|0)|0;w=r+(B(w,-15137)|0)|0;a[x>>0]=a[u+((t+s|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[u+((s-t|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[u+((w+v|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[u+((v-w|0)>>>18&1023)>>0]|0;yb=o;return}function Mu(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;m=yb;yb=yb+208|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){r=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;t=(n*9373|0)+r|0;w=(B(n,-3580)|0)+r|0;r=(B(n,-11586)|0)+r>>11;n=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;p=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;v=(p+n|0)*6810|0;n=v+(n*4209|0)|0;p=v+(B(p,-17828)|0)|0;v=n+t|0;n=t-n|0;t=p+w|0;p=w-p|0;w=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;x=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;s=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;q=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;o=q+x|0;q=x-q|0;x=q*2531|0;y=s<<13;z=o*7791|0;f=x+y|0;u=z+(w*11443|0)+f|0;f=(w*1812|0)-z+f|0;o=o*4815|0;x=y-x-(q<<12)|0;q=w-s-q<<2;s=(w*10323|0)-o-x|0;o=x+((w*5260|0)-o)|0;c[k>>2]=u+v>>11;c[k+180>>2]=v-u>>11;c[k+20>>2]=s+t>>11;c[k+160>>2]=t-s>>11;c[k+40>>2]=q+r;c[k+140>>2]=r-q;c[k+60>>2]=o+p>>11;c[k+120>>2]=p-o>>11;c[k+80>>2]=f+n>>11;c[k+100>>2]=n-f>>11;e=e+1|0;if((e|0)==5)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){z=(c[g+(d<<2)>>2]|0)+h|0;y=(c[i>>2]<<13)+134348800|0;x=c[i+8>>2]|0;v=c[i+16>>2]|0;w=(v+x|0)*6476|0;v=x-v|0;x=(v*2896|0)+y|0;u=x+w|0;w=x-w|0;y=(B(v,-11584)|0)+y|0;v=c[i+4>>2]|0;x=c[i+12>>2]|0;t=(x+v|0)*6810|0;v=t+(v*4209|0)|0;x=t+(B(x,-17828)|0)|0;a[z>>0]=a[e+((v+u|0)>>>18&1023)>>0]|0;a[z+4>>0]=a[e+((u-v|0)>>>18&1023)>>0]|0;a[z+1>>0]=a[e+((x+w|0)>>>18&1023)>>0]|0;a[z+3>>0]=a[e+((w-x|0)>>>18&1023)>>0]|0;a[z+2>>0]=a[e+(y>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==10)break;else i=i+20|0}yb=m;return}function Nu(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;m=yb;yb=yb+288|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){n=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;z=B((b[d+64>>1]|0)*10033|0,c[j+128>>2]|0)|0;y=z+n|0;z=n-z|0;t=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;r=B(b[d+96>>1]<<13,c[j+192>>2]|0)|0;p=(t<<13)-r|0;v=p+n|0;p=n-p|0;n=r+(t*11190|0)|0;x=n+y|0;n=y-n|0;r=(t*2998|0)-r|0;t=r+z|0;r=z-r|0;z=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;y=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;o=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;u=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;C=y*10703|0;A=B(y,-4433)|0;s=o+z|0;f=(u+s|0)*7053|0;s=f+(s*2139|0)|0;w=C+(z*2295|0)+s|0;q=B(u+o|0,-8565)|0;s=(B(o,-12112)|0)+A+q+s|0;q=(u*12998|0)-C+f+q|0;f=A+(B(z,-5540)|0)+(B(u,-16244)|0)+f|0;u=z-u|0;o=y-o|0;y=(u+o|0)*4433|0;u=y+(u*6270|0)|0;o=y+(B(o,-15137)|0)|0;c[k>>2]=w+x>>11;c[k+264>>2]=x-w>>11;c[k+24>>2]=u+v>>11;c[k+240>>2]=v-u>>11;c[k+48>>2]=s+t>>11;c[k+216>>2]=t-s>>11;c[k+72>>2]=q+r>>11;c[k+192>>2]=r-q>>11;c[k+96>>2]=o+p>>11;c[k+168>>2]=p-o>>11;c[k+120>>2]=f+n>>11;c[k+144>>2]=n-f>>11;e=e+1|0;if((e|0)==6)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){C=(c[g+(d<<2)>>2]|0)+h|0;z=(c[i>>2]<<13)+134348800|0;x=(c[i+16>>2]|0)*5793|0;t=z+x|0;x=z-x-x|0;z=(c[i+8>>2]|0)*10033|0;v=t+z|0;z=t-z|0;t=c[i+4>>2]|0;u=c[i+12>>2]|0;y=c[i+20>>2]|0;A=(y+t|0)*2998|0;w=A+(u+t<<13)|0;A=A+(y-u<<13)|0;y=t-u-y<<13;a[C>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[C+5>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[C+1>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[C+4>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;a[C+2>>0]=a[e+((A+z|0)>>>18&1023)>>0]|0;a[C+3>>0]=a[e+((z-A|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==12)break;else i=i+24|0}yb=m;return}function Ou(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0;m=yb;yb=yb+400|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){t=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;r=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;x=(r*10438|0)+t|0;v=(r*2578|0)+t|0;f=(B(r,-7223)|0)+t|0;t=(B(r,-11586)|0)+t>>11;r=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;z=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;p=(z+r|0)*9058|0;n=p+(r*2237|0)|0;p=p+(B(z,-14084)|0)|0;r=(B(z,-11295)|0)+(r*5027|0)|0;z=n+x|0;n=x-n|0;x=p+v|0;p=v-p|0;v=r+f|0;r=f-r|0;f=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;D=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;A=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;s=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;q=s<<13;F=A+f|0;w=(D+f|0)*10935|0;E=F*9810|0;y=w+(B(f,-9232)|0)+E+q|0;F=F*6164|0;C=f-D|0;o=(C*3826|0)-q|0;f=F+(B(f,-8693)|0)+o|0;u=(B(A+D|0,-1297)|0)-q|0;w=w+(B(D,-3474)|0)+u|0;u=E+(B(A,-19447)|0)+u|0;E=(A-D|0)*11512|0;q=E+(B(A,-13850)|0)+F+q|0;o=E+(D*5529|0)+o|0;s=C-A+s<<2;c[k>>2]=y+z>>11;c[k+364>>2]=z-y>>11;c[k+28>>2]=w+x>>11;c[k+336>>2]=x-w>>11;c[k+56>>2]=u+v>>11;c[k+308>>2]=v-u>>11;c[k+84>>2]=s+t;c[k+280>>2]=t-s;c[k+112>>2]=q+r>>11;c[k+252>>2]=r-q>>11;c[k+140>>2]=o+p>>11;c[k+224>>2]=p-o>>11;c[k+168>>2]=f+n>>11;c[k+196>>2]=n-f>>11;e=e+1|0;if((e|0)==7)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){F=(c[g+(d<<2)>>2]|0)+h|0;E=(c[i>>2]<<13)+134348800|0;t=c[i+8>>2]|0;C=c[i+16>>2]|0;v=c[i+24>>2]|0;u=(C-v|0)*7223|0;A=(t-C|0)*2578|0;x=(B(C,-15083)|0)+E+A+u|0;D=v+t|0;z=(D*10438|0)+E|0;v=u+(B(v,-637)|0)+z|0;z=A+(B(t,-20239)|0)+z|0;t=c[i+4>>2]|0;A=c[i+12>>2]|0;u=c[i+20>>2]|0;s=(A+t|0)*7663|0;w=(t-A|0)*1395|0;A=B(u+A|0,-11295)|0;y=s+w+A|0;t=(u+t|0)*5027|0;w=s-w+t|0;A=t+(u*15326|0)+A|0;a[F>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[F+6>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[F+1>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[F+5>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;a[F+2>>0]=a[e+((A+z|0)>>>18&1023)>>0]|0;a[F+4>>0]=a[e+((z-A|0)>>>18&1023)>>0]|0;a[F+3>>0]=a[e+((((C-D|0)*11585|0)+E|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==14)break;else i=i+28|0}yb=m;return}function Pu(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;m=yb;yb=yb+512|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){r=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;v=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;f=v*10703|0;v=v*4433|0;z=f+r|0;f=r-f|0;x=v+r|0;v=r-v|0;r=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;t=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;o=r-t|0;C=o*2260|0;o=o*11363|0;n=o+(t*20995|0)|0;p=C+(r*7373|0)|0;r=o+(B(r,-4926)|0)|0;t=C+(B(t,-4176)|0)|0;C=n+z|0;n=z-n|0;z=p+x|0;p=x-p|0;x=r+v|0;r=v-r|0;v=t+f|0;t=f-t|0;f=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;o=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;E=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;G=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;D=E+f|0;y=(o+f|0)*11086|0;w=D*10217|0;q=(G+f|0)*8956|0;s=(f-G|0)*7350|0;D=D*5461|0;u=(f-o|0)*3363|0;A=y+(B(f,-18730)|0)+w+q|0;f=u+(B(f,-15038)|0)+D+s|0;J=(E+o|0)*1136|0;F=(E-o|0)*11529|0;H=G+o|0;I=B(H,-5461)|0;y=y+(o*589|0)+J+I|0;H=B(H,-10217)|0;o=u+(o*16154|0)+F+H|0;u=B(G+E|0,-11086)|0;w=J+(B(E,-9222)|0)+w+u|0;u=I+(G*8728|0)+q+u|0;q=(G-E|0)*3363|0;s=H+(G*25733|0)+s+q|0;q=F+(B(E,-6278)|0)+D+q|0;c[k>>2]=A+C>>11;c[k+480>>2]=C-A>>11;c[k+32>>2]=y+z>>11;c[k+448>>2]=z-y>>11;c[k+64>>2]=w+x>>11;c[k+416>>2]=x-w>>11;c[k+96>>2]=u+v>>11;c[k+384>>2]=v-u>>11;c[k+128>>2]=s+t>>11;c[k+352>>2]=t-s>>11;c[k+160>>2]=q+r>>11;c[k+320>>2]=r-q>>11;c[k+192>>2]=o+p>>11;c[k+288>>2]=p-o>>11;c[k+224>>2]=f+n>>11;c[k+256>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){J=(c[g+(d<<2)>>2]|0)+h|0;H=(c[i>>2]|0)+16400|0;I=c[i+16>>2]|0;D=H+I<<13;I=H-I<<13;H=c[i+8>>2]|0;F=c[i+24>>2]|0;A=(F+H|0)*4433|0;H=A+(H*6270|0)|0;F=A+(B(F,-15137)|0)|0;A=H+D|0;H=D-H|0;D=F+I|0;F=I-F|0;I=c[i+28>>2]|0;x=c[i+20>>2]|0;z=c[i+12>>2]|0;C=c[i+4>>2]|0;E=z+I|0;G=C+x|0;y=(G+E|0)*9633|0;E=y+(B(E,-16069)|0)|0;G=y+(B(G,-3196)|0)|0;y=B(C+I|0,-7373)|0;I=y+(I*2446|0)+E|0;C=y+(C*12299|0)+G|0;y=B(z+x|0,-20995)|0;G=y+(x*16819|0)+G|0;E=y+(z*25172|0)+E|0;a[J>>0]=a[e+((C+A|0)>>>18&1023)>>0]|0;a[J+7>>0]=a[e+((A-C|0)>>>18&1023)>>0]|0;a[J+1>>0]=a[e+((E+D|0)>>>18&1023)>>0]|0;a[J+6>>0]=a[e+((D-E|0)>>>18&1023)>>0]|0;a[J+2>>0]=a[e+((G+F|0)>>>18&1023)>>0]|0;a[J+5>>0]=a[e+((F-G|0)>>>18&1023)>>0]|0;a[J+3>>0]=a[e+((I+H|0)>>>18&1023)>>0]|0;a[J+4>>0]=a[e+((H-I|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==16)break;else i=i+32|0}yb=m;return}function Qu(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;d=(c[d+336>>2]|0)+-384|0;i=c[e+84>>2]|0;h=(c[g>>2]|0)+h|0;e=(B(c[i>>2]|0,b[f>>1]|0)|0)+4100|0;g=B(c[i+4>>2]|0,b[f+2>>1]|0)|0;a[h>>0]=a[d+((g+e|0)>>>3&1023)>>0]|0;a[h+1>>0]=a[d+((e-g|0)>>>3&1023)>>0]|0;return}function Ru(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=yb;yb=yb+32|0;r=i;p=c[d+336>>2]|0;k=c[e+84>>2]|0;d=B(c[k>>2]|0,b[f>>1]|0)|0;e=B(c[k+32>>2]|0,b[f+16>>1]|0)|0;q=e+d|0;c[r>>2]=q;j=r+16|0;c[j>>2]=d-e;e=B(c[k+4>>2]|0,b[f+2>>1]|0)|0;d=B(c[k+36>>2]|0,b[f+18>>1]|0)|0;o=d+e|0;c[r+4>>2]=o;d=e-d|0;c[r+20>>2]=d;e=B(c[k+8>>2]|0,b[f+4>>1]|0)|0;l=B(c[k+40>>2]|0,b[f+20>>1]|0)|0;n=l+e|0;c[r+8>>2]=n;l=e-l|0;c[r+24>>2]=l;e=B(c[k+12>>2]|0,b[f+6>>1]|0)|0;k=B(c[k+44>>2]|0,b[f+22>>1]|0)|0;m=k+e|0;c[r+12>>2]=m;k=e-k|0;c[r+28>>2]=k;e=p+-384|0;f=(c[g>>2]|0)+h|0;q=q+4100|0;p=q+n<<13;n=q-n<<13;q=(m+o|0)*4433|0;o=q+(o*6270|0)|0;m=q+(B(m,-15137)|0)|0;a[f>>0]=a[e+((o+p|0)>>>16&1023)>>0]|0;a[f+3>>0]=a[e+((p-o|0)>>>16&1023)>>0]|0;a[f+1>>0]=a[e+((m+n|0)>>>16&1023)>>0]|0;a[f+2>>0]=a[e+((n-m|0)>>>16&1023)>>0]|0;h=(c[g+4>>2]|0)+h|0;f=(c[j>>2]|0)+4100|0;j=f+l<<13;f=f-l<<13;g=(k+d|0)*4433|0;d=g+(d*6270|0)|0;g=g+(B(k,-15137)|0)|0;a[h>>0]=a[e+((d+j|0)>>>16&1023)>>0]|0;a[h+3>>0]=a[e+((j-d|0)>>>16&1023)>>0]|0;a[h+1>>0]=a[e+((g+f|0)>>>16&1023)>>0]|0;a[h+2>>0]=a[e+((f-g|0)>>>16&1023)>>0]|0;yb=i;return}function Su(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;i=yb;yb=yb+80|0;k=i;q=c[d+336>>2]|0;e=c[e+84>>2]|0;s=B(b[f>>1]<<13,c[e>>2]|0)|0|1024;n=B((b[f+32>>1]|0)*5793|0,c[e+64>>2]|0)|0;l=n+s|0;s=(B(n,-2)|0)+s|0;n=B((b[f+16>>1]|0)*10033|0,c[e+32>>2]|0)|0;c[k>>2]=n+l>>11;c[k+48>>2]=l-n>>11;n=k+24|0;c[n>>2]=s>>11;s=k+4|0;l=B(b[f+2>>1]<<13,c[e+4>>2]|0)|0|1024;r=B((b[f+34>>1]|0)*5793|0,c[e+68>>2]|0)|0;p=r+l|0;l=(B(r,-2)|0)+l|0;r=B((b[f+18>>1]|0)*10033|0,c[e+36>>2]|0)|0;c[s>>2]=r+p>>11;c[k+52>>2]=p-r>>11;c[k+28>>2]=l>>11;l=B(b[f+4>>1]<<13,c[e+8>>2]|0)|0|1024;r=B((b[f+36>>1]|0)*5793|0,c[e+72>>2]|0)|0;p=r+l|0;l=(B(r,-2)|0)+l|0;r=B((b[f+20>>1]|0)*10033|0,c[e+40>>2]|0)|0;c[k+8>>2]=r+p>>11;c[k+56>>2]=p-r>>11;c[k+32>>2]=l>>11;l=B(b[f+6>>1]<<13,c[e+12>>2]|0)|0|1024;r=B((b[f+38>>1]|0)*5793|0,c[e+76>>2]|0)|0;p=r+l|0;l=(B(r,-2)|0)+l|0;r=B((b[f+22>>1]|0)*10033|0,c[e+44>>2]|0)|0;c[k+12>>2]=r+p>>11;c[k+60>>2]=p-r>>11;c[k+36>>2]=l>>11;l=B(b[f+8>>1]<<13,c[e+16>>2]|0)|0|1024;r=B((b[f+40>>1]|0)*5793|0,c[e+80>>2]|0)|0;p=r+l|0;l=(B(r,-2)|0)+l|0;r=B((b[f+24>>1]|0)*10033|0,c[e+48>>2]|0)|0;c[k+16>>2]=r+p>>11;c[k+64>>2]=p-r>>11;c[k+40>>2]=l>>11;l=B(b[f+10>>1]<<13,c[e+20>>2]|0)|0|1024;r=B((b[f+42>>1]|0)*5793|0,c[e+84>>2]|0)|0;p=r+l|0;l=(B(r,-2)|0)+l|0;e=B((b[f+26>>1]|0)*10033|0,c[e+52>>2]|0)|0;c[k+20>>2]=e+p>>11;c[k+68>>2]=p-e>>11;l=l>>11;c[k+44>>2]=l;e=q+-384|0;f=(c[g>>2]|0)+h|0;q=(c[k>>2]<<13)+134348800|0;p=(c[k+16>>2]|0)*5793|0;r=q+p|0;p=q-p-p|0;q=(c[k+8>>2]|0)*10033|0;d=r+q|0;q=r-q|0;s=c[s>>2]|0;r=c[k+12>>2]|0;o=c[k+20>>2]|0;m=(o+s|0)*2998|0;j=m+(r+s<<13)|0;m=m+(o-r<<13)|0;o=s-r-o<<13;a[f>>0]=a[e+((j+d|0)>>>18&1023)>>0]|0;a[f+5>>0]=a[e+((d-j|0)>>>18&1023)>>0]|0;a[f+1>>0]=a[e+((o+p|0)>>>18&1023)>>0]|0;a[f+4>>0]=a[e+((p-o|0)>>>18&1023)>>0]|0;a[f+2>>0]=a[e+((m+q|0)>>>18&1023)>>0]|0;a[f+3>>0]=a[e+((q-m|0)>>>18&1023)>>0]|0;f=(c[g+4>>2]|0)+h|0;n=(c[n>>2]<<13)+134348800|0;m=(c[k+40>>2]|0)*5793|0;q=n+m|0;m=n-m-m|0;n=(c[k+32>>2]|0)*10033|0;o=q+n|0;n=q-n|0;q=c[k+28>>2]|0;p=c[k+36>>2]|0;j=(l+q|0)*2998|0;d=j+(p+q<<13)|0;j=j+(l-p<<13)|0;l=q-p-l<<13;a[f>>0]=a[e+((d+o|0)>>>18&1023)>>0]|0;a[f+5>>0]=a[e+((o-d|0)>>>18&1023)>>0]|0;a[f+1>>0]=a[e+((l+m|0)>>>18&1023)>>0]|0;a[f+4>>0]=a[e+((m-l|0)>>>18&1023)>>0]|0;a[f+2>>0]=a[e+((j+n|0)>>>18&1023)>>0]|0;a[f+3>>0]=a[e+((n-j|0)>>>18&1023)>>0]|0;h=(c[g+8>>2]|0)+h|0;f=(c[k+48>>2]<<13)+134348800|0;j=(c[k+64>>2]|0)*5793|0;n=f+j|0;j=f-j-j|0;f=(c[k+56>>2]|0)*10033|0;l=n+f|0;f=n-f|0;n=c[k+52>>2]|0;m=c[k+60>>2]|0;d=c[k+68>>2]|0;g=(d+n|0)*2998|0;k=g+(m+n<<13)|0;g=g+(d-m<<13)|0;d=n-m-d<<13;a[h>>0]=a[e+((k+l|0)>>>18&1023)>>0]|0;a[h+5>>0]=a[e+((l-k|0)>>>18&1023)>>0]|0;a[h+1>>0]=a[e+((d+j|0)>>>18&1023)>>0]|0;a[h+4>>0]=a[e+((j-d|0)>>>18&1023)>>0]|0;a[h+2>>0]=a[e+((g+f|0)>>>18&1023)>>0]|0;a[h+3>>0]=a[e+((f-g|0)>>>18&1023)>>0]|0;yb=i;return} +function Jm(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=yb;yb=yb+16|0;v=y;w=b+4|0;c[w>>2]=c[b>>2];do if((yk(d)|0)!=0?(yk(e)|0)!=0:0){Wm(b,yk(d)|0);t=b+8|0;u=b+12|0;s=0;a:while(1){if(s>>>0>=(yk(d)|0)>>>0)break;n=Xm(d,s)|0;wo(g,n)|0;q=Ym(d,s)|0;o=xo(g)|0;p=o+4|0;q=q+16|0;l=0;m=-1;j=-1;i=2147483647;while(1){h=c[o>>2]|0;if(l>>>0>=(c[p>>2]|0)-h>>2>>>0)break;k=a[q>>0]|0;do if(k<<24>>24==(a[(Ym(e,c[h+(l<<2)>>2]|0)|0)+16>>0]|0)){h=wl(n,Xm(e,c[(c[o>>2]|0)+(l<<2)>>2]|0)|0)|0;if(h>>>0>>0){k=h;h=m;i=c[(c[o>>2]|0)+(l<<2)>>2]|0;break}else{k=m;h=h>>>0>>0?h:j;break}}else{k=m;h=j}while(0);l=l+1|0;m=k;j=h}do if((m|0)!=-1){if((i|0)==-1){x=15;break a}if((j|0)==-1){_m(v,s,i);h=c[w>>2]|0;if(h>>>0<(c[t>>2]|0)>>>0){o=v;p=c[o+4>>2]|0;q=h;c[q>>2]=c[o>>2];c[q+4>>2]=p;c[w>>2]=(c[w>>2]|0)+8}else $m(b,v);break}if(+(m>>>0)/+(j>>>0)<+f[u>>2]){_m(v,s,i);h=c[w>>2]|0;if(h>>>0<(c[t>>2]|0)>>>0){o=v;p=c[o+4>>2]|0;q=h;c[q>>2]=c[o>>2];c[q+4>>2]=p;c[w>>2]=(c[w>>2]|0)+8}else $m(b,v)}}while(0);s=s+1|0}if((x|0)==15){x=Vf(Vf(NE(Vf(Vf(Vf(56032,31276)|0,31157)|0,35e3)|0,160)|0,35007)|0,31348)|0;GE(v,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);g=VF(v,56736)|0;g=Gb[c[(c[g>>2]|0)+28>>2]&63](g,10)|0;WF(v);OE(x,g)|0;KE(x)|0;ua()}x=(c[w>>2]|0)-(c[b>>2]|0)>>3;if(x>>>0>(yk(d)|0)>>>0){x=Vf(Vf(NE(Vf(Vf(Vf(56032,31366)|0,31157)|0,35e3)|0,175)|0,35007)|0,31426)|0;GE(v,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);w=VF(v,56736)|0;w=Gb[c[(c[w>>2]|0)+28>>2]&63](w,10)|0;WF(v);OE(x,w)|0;KE(x)|0;ua()}else{r=(c[w>>2]|0)-(c[b>>2]|0)>>3;break}}else r=0;while(0);yb=y;return r|0}function Km(b,d,e){b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=yb;yb=yb+16|0;r=t;s=b+4|0;c[s>>2]=c[b>>2];do if((yk(d)|0)!=0?(yk(e)|0)!=0:0){Wm(b,yk(d)|0);p=b+8|0;q=b+12|0;o=0;while(1){if(o>>>0>=(yk(d)|0)>>>0)break;l=Xm(d,o)|0;m=(Ym(d,o)|0)+16|0;i=0;j=-1;g=2147483647;h=-1;while(1){if(i>>>0>=(yk(e)|0)>>>0)break;k=a[m>>0]|0;if(k<<24>>24==(a[(Ym(e,i)|0)+16>>0]|0)){u=wl(l,Xm(e,i)|0)|0;v=u>>>0>>0;k=v?u:j;g=v?i:g;h=v?j:u>>>0>>0?u:h}else k=j;i=i+1|0;j=k}do if((j|0)!=-1){if((h|0)==-1){_m(r,o,g);g=c[s>>2]|0;if(g>>>0<(c[p>>2]|0)>>>0){m=r;u=c[m+4>>2]|0;v=g;c[v>>2]=c[m>>2];c[v+4>>2]=u;c[s>>2]=(c[s>>2]|0)+8}else $m(b,r);break}if(+(j>>>0)/+(h>>>0)<+f[q>>2]){_m(r,o,g);g=c[s>>2]|0;if(g>>>0<(c[p>>2]|0)>>>0){m=r;u=c[m+4>>2]|0;v=g;c[v>>2]=c[m>>2];c[v+4>>2]=u;c[s>>2]=(c[s>>2]|0)+8}else $m(b,r)}}while(0);o=o+1|0}v=(c[s>>2]|0)-(c[b>>2]|0)>>3;if(v>>>0>(yk(d)|0)>>>0){v=Vf(Vf(NE(Vf(Vf(Vf(56032,31366)|0,31157)|0,35e3)|0,112)|0,35007)|0,31426)|0;GE(r,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=VF(r,56736)|0;u=Gb[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;WF(r);OE(v,u)|0;KE(v)|0;ua()}else{n=(c[s>>2]|0)-(c[b>>2]|0)>>3;break}}else n=0;while(0);yb=t;return n|0}function Lm(a){a=a|0;return a|0}function Mm(a){a=a|0;return c[a>>2]|0}function Nm(a){a=a|0;return c[a+4>>2]|0}function Om(a,b,d,e,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0.0,A=0.0;u=yb;yb=yb+32|0;s=u+20|0;t=u+8|0;o=u+4|0;p=u;q=e+4|0;so(s,(c[q>>2]|0)-(c[e>>2]|0)>>1);so(t,(c[q>>2]|0)-(c[e>>2]|0)>>1);n=c[e>>2]|0;r=(c[q>>2]|0)-n>>3;m=c[b>>2]|0;d=c[d>>2]|0;k=c[s>>2]|0;l=c[t>>2]|0;b=0;while(1){if((b|0)==(r|0))break;y=c[n+(b<<3)>>2]|0;w=c[n+(b<<3)+4>>2]|0;v=b<<2;x=k+(v<<2)|0;c[x>>2]=c[m+(y*20|0)>>2];c[x+4>>2]=c[m+(y*20|0)+4>>2];c[x+8>>2]=c[m+(y*20|0)+8>>2];c[x+12>>2]=c[m+(y*20|0)+12>>2];v=l+(v<<2)|0;c[v>>2]=c[d+(w*20|0)>>2];c[v+4>>2]=c[d+(w*20|0)+4>>2];c[v+8>>2]=c[d+(w*20|0)+8>>2];c[v+12>>2]=c[d+(w*20|0)+12>>2];b=b+1|0}A=+(g|0);A=A*.20000000298023224+A;z=+(h|0);z=z*.20000000298023224+z;mp(a,-A,A,-z,z,0,0,12,10);to(a,+(i>>1|0),+(j>>1|0));uo(a,i,j);op(a,c[s>>2]|0,c[t>>2]|0,(c[q>>2]|0)-(c[e>>2]|0)>>3);Dp(a,o,p);y=+f[o>>2]<3.0?-1:c[p>>2]|0;eh(t);eh(s);yb=u;return y|0}function Pm(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=+g;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=yb;yb=yb+48|0;h=v+32|0;r=v+28|0;s=v+24|0;t=v+20|0;u=v+16|0;n=v+12|0;o=v+8|0;p=v+4|0;q=v;oo(b,n,o,p,q,e);l=a+4|0;c[l>>2]=c[a>>2];m=po(b)|0;m=(c[m+4>>2]|0)-(c[m>>2]|0)>>2;e=qo(b)|0;if(m>>>0>(c[d+4>>2]|0)-(c[d>>2]|0)>>3>>>0){k=Vf(Vf(NE(Vf(Vf(Vf(56032,31870)|0,30067)|0,35e3)|0,342)|0,35007)|0,31916)|0;GE(h,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);j=VF(h,56736)|0;j=Gb[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;WF(h);OE(k,j)|0;KE(k)|0;ua()}k=a+8|0;e=c[e>>2]|0;h=0;while(1){if((h|0)>=(m|0))break;ro(b,r,s,t,u,+f[e>>2],+f[e+4>>2],+f[e+8>>2],+f[e+12>>2],+(c[n>>2]|0)+.5,+(c[o>>2]|0)+.5,+(c[p>>2]|0)+.5,+(c[q>>2]|0)+.5);do if((+f[r>>2]>2]>2]>2]>2]|0)+(h<<2)>>2]|0;i=(c[d>>2]|0)+(i<<3)|0;j=c[l>>2]|0;if((j|0)==(c[k>>2]|0)){fn(a,i);break}else{w=i;i=c[w+4>>2]|0;c[j>>2]=c[w>>2];c[j+4>>2]=i;c[l>>2]=(c[l>>2]|0)+8;break}}while(0);e=e+16|0;h=h+1|0}yb=v;return}function Qm(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0;q=yb;yb=yb+64|0;o=q+44|0;p=q+32|0;n=q;m=e+4|0;gn(o,(c[m>>2]|0)-(c[e>>2]|0)>>3);gn(p,(c[m>>2]|0)-(c[e>>2]|0)>>3);l=c[e>>2]|0;m=(c[m>>2]|0)-l>>3;j=c[b>>2]|0;k=c[p>>2]|0;b=c[d>>2]|0;d=c[o>>2]|0;e=0;while(1){if((e|0)==(m|0))break;r=c[l+(e<<3)>>2]|0;c[k+(e<<3)>>2]=c[j+(r*20|0)>>2];c[k+(e<<3)+4>>2]=c[j+(r*20|0)+4>>2];r=c[l+(e<<3)+4>>2]|0;c[d+(e<<3)>>2]=c[b+(r*20|0)>>2];c[d+(e<<3)+4>>2]=c[b+(r*20|0)+4>>2];e=e+1|0}f[n>>2]=0.0;f[n+4>>2]=0.0;s=+(h|0);f[n+8>>2]=s;f[n+12>>2]=0.0;f[n+16>>2]=s;s=+(i|0);f[n+20>>2]=s;f[n+24>>2]=0.0;f[n+28>>2]=s;if(hn(g,a,d,k,m,n,4)|0)e=kn(a,h,i)|0;else e=0;jn(p);jn(o);yb=q;return e|0}function Rm(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=+h;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0;q=yb;yb=yb+16|0;p=q;h=+hi(h);o=g+4|0;Wm(a,(c[o>>2]|0)-(c[g>>2]|0)>>3);l=p+4|0;m=a+4|0;n=a+8|0;k=0;while(1){i=c[g>>2]|0;if(k>>>0>=(c[o>>2]|0)-i>>3>>>0)break;j=c[i+(k<<3)+4>>2]|0;i=c[e>>2]|0;Zm(p,l,b,+f[i+(j*20|0)>>2],+f[i+(j*20|0)+4>>2]);r=+hi(+f[p>>2]-+f[(c[d>>2]|0)+((c[(c[g>>2]|0)+(k<<3)>>2]|0)*20|0)>>2]);do if(r+ +hi(+f[l>>2]-+f[(c[d>>2]|0)+((c[(c[g>>2]|0)+(k<<3)>>2]|0)*20|0)+4>>2])<=h){i=(c[g>>2]|0)+(k<<3)|0;j=c[m>>2]|0;if((j|0)==(c[n>>2]|0)){fn(a,i);break}else{s=i;i=c[s+4>>2]|0;c[j>>2]=c[s>>2];c[j+4>>2]=i;c[m>>2]=(c[m>>2]|0)+8;break}}while(0);k=k+1|0}yb=q;return}function Sm(b,d,e,g,h){b=b|0;d=d|0;e=e|0;g=g|0;h=+h;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0.0,B=0;z=yb;yb=yb+64|0;u=z+40|0;v=z;w=z+52|0;x=z+48|0;t=b+4|0;c[t>>2]=c[b>>2];do if((yk(d)|0)!=0?(yk(e)|0)!=0:0){h=+hi(h);if(!(Vm(v,g,0.0)|0)){r=Vf(Vf(NE(Vf(Vf(Vf(56032,31132)|0,31157)|0,35e3)|0,196)|0,35007)|0,31243)|0;GE(u,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=VF(u,56736)|0;q=Gb[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;WF(u);OE(r,q)|0;KE(r)|0;ua()}Wm(b,yk(d)|0);q=b+8|0;r=b+12|0;p=0;a:while(1){if(p>>>0>=(yk(d)|0)>>>0)break;n=Xm(d,p)|0;o=Ym(d,p)|0;Zm(w,x,v,+f[o>>2],+f[o+4>>2]);o=o+16|0;l=0;m=-1;j=-1;i=2147483647;while(1){if(l>>>0>=(yk(e)|0)>>>0)break;g=Ym(e,l)|0;if((a[o>>0]|0)==(a[g+16>>0]|0)?(A=+hi(+f[w>>2]-+f[g>>2]),!(A+ +hi(+f[x>>2]-+f[g+4>>2])>h)):0){g=xl(n,Xm(e,l)|0)|0;B=g>>>0>>0;k=B?g:m;g=B?m:g>>>0>>0?g:j;i=B?l:i}else{k=m;g=j}l=l+1|0;m=k;j=g}do if((m|0)!=-1){if((i|0)==-1){y=16;break a}if((j|0)==-1){_m(u,p,i);g=c[t>>2]|0;if(g>>>0<(c[q>>2]|0)>>>0){n=u;o=c[n+4>>2]|0;B=g;c[B>>2]=c[n>>2];c[B+4>>2]=o;c[t>>2]=(c[t>>2]|0)+8}else $m(b,u);break}if(+(m>>>0)/+(j>>>0)<+f[r>>2]){_m(u,p,i);g=c[t>>2]|0;if(g>>>0<(c[q>>2]|0)>>>0){n=u;o=c[n+4>>2]|0;B=g;c[B>>2]=c[n>>2];c[B+4>>2]=o;c[t>>2]=(c[t>>2]|0)+8}else $m(b,u)}}while(0);p=p+1|0}if((y|0)==16){B=Vf(Vf(NE(Vf(Vf(Vf(56032,31276)|0,31157)|0,35e3)|0,241)|0,35007)|0,31348)|0;GE(u,B+(c[(c[B>>2]|0)+-12>>2]|0)|0);y=VF(u,56736)|0;y=Gb[c[(c[y>>2]|0)+28>>2]&63](y,10)|0;WF(u);OE(B,y)|0;KE(B)|0;ua()}B=(c[t>>2]|0)-(c[b>>2]|0)>>3;if(B>>>0>(yk(d)|0)>>>0){B=Vf(Vf(NE(Vf(Vf(Vf(56032,31366)|0,31157)|0,35e3)|0,256)|0,35007)|0,31426)|0;GE(u,B+(c[(c[B>>2]|0)+-12>>2]|0)|0);y=VF(u,56736)|0;y=Gb[c[(c[y>>2]|0)+28>>2]&63](y,10)|0;WF(u);OE(B,y)|0;KE(B)|0;ua()}else{s=(c[t>>2]|0)-(c[b>>2]|0)>>3;break}}else s=0;while(0);yb=z;return s|0}function Tm(a,b){a=a|0;b=b|0;var d=0;d=a+36|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));return}function Um(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a>>2]|0;c[a>>2]=c[b>>2];c[b>>2]=f;f=a+4|0;d=b+4|0;e=c[f>>2]|0;c[f>>2]=c[d>>2];c[d>>2]=e;d=a+8|0;b=b+8|0;a=c[d>>2]|0;c[d>>2]=c[b>>2];c[b>>2]=a;return}function Vm(a,b,c){a=a|0;b=b|0;c=+c;var d=0.0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;d=+en(b);if(!(+t(+d)<=c)){d=1.0/d;e=b+16|0;k=b+20|0;j=b+28|0;m=b+32|0;f[a>>2]=d*+vi(+f[e>>2],+f[k>>2],+f[j>>2],+f[m>>2]);l=b+8|0;h=b+4|0;f[a+4>>2]=d*+vi(+f[l>>2],+f[h>>2],+f[m>>2],+f[j>>2]);f[a+8>>2]=d*+vi(+f[h>>2],+f[l>>2],+f[e>>2],+f[k>>2]);g=b+12|0;i=b+24|0;f[a+12>>2]=d*+vi(+f[k>>2],+f[g>>2],+f[m>>2],+f[i>>2]);f[a+16>>2]=d*+vi(+f[b>>2],+f[l>>2],+f[i>>2],+f[m>>2]);f[a+20>>2]=d*+vi(+f[l>>2],+f[b>>2],+f[k>>2],+f[g>>2]);f[a+24>>2]=d*+vi(+f[g>>2],+f[e>>2],+f[i>>2],+f[j>>2]);f[a+28>>2]=d*+vi(+f[h>>2],+f[b>>2],+f[j>>2],+f[i>>2]);f[a+32>>2]=d*+vi(+f[b>>2],+f[h>>2],+f[g>>2],+f[e>>2]);a=1}else a=0;return a|0}function Wm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=yb;yb=yb+32|0;d=f;e=c[a>>2]|0;if((c[a+8>>2]|0)-e>>3>>>0>>0){bn(d,b,(c[a+4>>2]|0)-e>>3,a+8|0);cn(a,d);dn(d)}yb=f;return}function Xm(a,b){a=a|0;b=b|0;b=B(c[a>>2]|0,b)|0;return (c[a+4>>2]|0)+b|0}function Ym(a,b){a=a|0;b=b|0;return (c[a+16>>2]|0)+(b*20|0)|0}function Zm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=+e;var g=0.0;g=+f[c+32>>2]+(+f[c+24>>2]*d+ +f[c+28>>2]*e);f[a>>2]=(+f[c+8>>2]+(+f[c>>2]*d+ +f[c+4>>2]*e))/g;f[b>>2]=(+f[c+20>>2]+(+f[c+12>>2]*d+ +f[c+16>>2]*e))/g;return}function _m(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=d;return}function $m(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=yb;yb=yb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>3)+1|0;g=an(a)|0;if(g>>>0>>0)CO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>2;bn(d,k>>3>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>3,a+8|0);g=d+8|0;e=c[b+4>>2]|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+8;cn(a,d);dn(d);yb=h;return}}function an(a){a=a|0;return 536870911}function bn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>536870911){f=O(8)|0;bO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=rB(b<<3)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<3);return}function cn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>3)<<3)|0;c[g>>2]=d;if((f|0)>0){YO(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function dn(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-8|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Nf(b,(c[a+12>>2]|0)-b|0);return}function en(a){a=a|0;var b=0.0,c=0.0,d=0.0,e=0,g=0,h=0,i=0,j=0,k=0;h=a+16|0;k=a+20|0;e=a+28|0;j=a+32|0;d=+vi(+f[h>>2],+f[k>>2],+f[e>>2],+f[j>>2]);i=a+12|0;g=a+24|0;c=+vi(+f[i>>2],+f[k>>2],+f[g>>2],+f[j>>2]);b=+vi(+f[i>>2],+f[h>>2],+f[g>>2],+f[e>>2]);return +(d*+f[a>>2]-c*+f[a+4>>2]+b*+f[a+8>>2])}function fn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=yb;yb=yb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>3)+1|0;g=an(a)|0;if(g>>>0>>0)CO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>2;bn(d,k>>3>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>3,a+8|0);g=d+8|0;e=c[b+4>>2]|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+8;cn(a,d);dn(d);yb=h;return}}function gn(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;if(b|0){lo(a,b);mo(a,b)}return}function hn(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0;j=a+12|0;Tk(j,g);return un(b,d,e,g,h,i,a,j,a+24|0,+f[a+36>>2],c[a+40>>2]|0,c[a+44>>2]|0,c[a+48>>2]|0)|0}function jn(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Nf(b,(c[a+8>>2]|0)-d|0)}return}function kn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0;m=yb;yb=yb+96|0;e=m+88|0;g=m+80|0;h=m+72|0;i=m+64|0;j=m;k=m+56|0;l=m+48|0;d=m+40|0;if(Vm(j,a,9.999999747378752e-06)|0){n=+(b|0);f[k>>2]=n;f[k+4>>2]=0.0;f[l>>2]=n;n=+(c|0);f[l+4>>2]=n;f[d>>2]=0.0;f[d+4>>2]=n;ln(e,j,55476);ln(g,j,k);ln(h,j,l);ln(i,j,d);n=+(B(c,b)|0)*.0001;if(+mn(e,g,h,i)>2];e=c+4|0;g=+f[e>>2];d=+f[b+32>>2]+(+f[b+24>>2]*h+ +f[b+28>>2]*g);f[a>>2]=(+f[b+8>>2]+(h*+f[b>>2]+g*+f[b+4>>2]))/d;f[a+4>>2]=(+f[b+20>>2]+(+f[b+12>>2]*+f[c>>2]+ +f[b+16>>2]*+f[e>>2]))/d;return}function mn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0;f=yb;yb=yb+48|0;l=f+32|0;m=f+24|0;k=f+16|0;h=f+8|0;g=f;pn(l,b,a);pn(m,c,a);pn(k,d,a);pn(h,b,c);pn(g,d,c);j=+qn(l,m);i=+qn(m,k);e=+qn(l,k);e=+rn(j,i,e,+qn(h,g));yb=f;return +e}function nn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=+on(a,b,c)>0.0;f=+on(b,c,d)>0.0;c=+on(c,d,a)>0.0;d=+on(d,a,b)>0.0;d=(f?1:-1)+(e?1:-1)+(c?1:-1)+(d?1:-1)|0;return (((d|0)>-1?d:0-d|0)|0)==4|0}function on(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;d=+f[a>>2];e=+f[a+4>>2];return +((+f[b>>2]-d)*(+f[c+4>>2]-e)-(+f[b+4>>2]-e)*(+f[c>>2]-d))}function pn(a,b,c){a=a|0;b=b|0;c=c|0;f[a>>2]=+f[b>>2]-+f[c>>2];f[a+4>>2]=+f[b+4>>2]-+f[c+4>>2];return}function qn(a,b){a=a|0;b=b|0;return +(+t(+(+f[a>>2]*+f[b+4>>2]-+f[a+4>>2]*+f[b>>2]))*.5)}function rn(a,b,c,d){a=+a;b=+b;c=+c;d=+d;return +(+tn(+sn(a,b,c),d))}function sn(a,b,c){a=+a;b=+b;c=+c;return +(+tn(+tn(a,b),c))}function tn(a,b){a=+a;b=+b;return +(a>2]|0)-(c[i>>2]|0)>>2>>>0<(m*9|0)>>>0){z=Vf(Vf(NE(Vf(Vf(Vf(56032,31460)|0,31518)|0,35e3)|0,119)|0,35007)|0,31612)|0;GE(y,z+(c[(c[z>>2]|0)+-12>>2]|0)|0);x=VF(y,56736)|0;x=Gb[c[(c[x>>2]|0)+28>>2]&63](x,10)|0;WF(y);OE(z,x)|0;KE(z)|0;ua()}x=c[j>>2]|0;z=x;if((c[j+4>>2]|0)-x>>2>>>0>>0){x=Vf(Vf(NE(Vf(Vf(Vf(56032,31662)|0,31518)|0,35e3)|0,120)|0,35007)|0,31712)|0;GE(y,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);u=VF(y,56736)|0;u=Gb[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;WF(y);OE(x,u)|0;KE(x)|0;ua()}if((c[k+4>>2]|0)-(c[k>>2]|0)>>3>>>0>>0){x=Vf(Vf(NE(Vf(Vf(Vf(56032,31754)|0,31518)|0,35e3)|0,121)|0,35007)|0,31816)|0;GE(y,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);u=VF(y,56736)|0;u=Gb[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;WF(y);OE(x,u)|0;KE(x)|0;ua()}if((e|0)>=4){c[w>>2]=1234;l=+hi(l);x=zj(o,e)|0;rl(z,e,0);sl(z,e,e,w);q=z+4|0;r=z+8|0;s=z+12|0;t=(h|0)>0;o=0;u=0;while(1){if(!((u|0)<(m|0)&(o|0)<(n|0)))break;sl(z,e,4,w);D=c[z>>2]<<1;C=c[q>>2]<<1;B=c[r>>2]<<1;j=c[s>>2]<<1;do if(vn(b+(D<<2)|0,b+(C<<2)|0,b+(B<<2)|0,b+(j<<2)|0,d+(D<<2)|0,d+(C<<2)|0,d+(B<<2)|0,d+(j<<2)|0)|0?(v=u*9|0,j=c[z>>2]<<1,B=c[q>>2]<<1,C=c[r>>2]<<1,D=c[s>>2]<<1,wn((c[i>>2]|0)+(v<<2)|0,b+(j<<2)|0,b+(B<<2)|0,b+(C<<2)|0,b+(D<<2)|0,d+(j<<2)|0,d+(B<<2)|0,d+(C<<2)|0,d+(D<<2)|0)|0):0){if(t?!(xn((c[i>>2]|0)+(v<<2)|0,g,h)|0):0){j=u;break}j=u+1|0}else j=u;while(0);o=o+1|0;u=j}l=1.0/l;if(u){o=c[k>>2]|0;j=0;while(1){if((j|0)>=(u|0))break;f[o+(j<<3)>>2]=0.0;c[o+(j<<3)+4>>2]=j;j=j+1|0}t=0;while(1){if(!((u|0)>2&(t|0)<(e|0)))break;r=(zj(x,e-t|0)|0)+t|0;q=0;j=c[k>>2]|0;while(1){if((q|0)==(u|0))break;s=(c[i>>2]|0)+((c[j+(q<<3)+4>>2]|0)*9<<2)|0;o=t;while(1){if((o|0)>=(r|0))break;j=c[z+(o<<2)>>2]<<1;p=+zn(s,b+(j<<2)|0,d+(j<<2)|0,l);j=c[k>>2]|0;D=j+(q<<3)|0;f[D>>2]=p+ +f[D>>2];o=o+1|0}q=q+1|0}yn(y,j,u);t=r;u=u>>1}q=c[k>>2]|0;o=1;l=+f[q>>2];j=c[q+4>>2]|0;while(1){if((o|0)>=(u|0))break;p=+f[q+(o<<3)>>2];if(p>2]|0}o=o+1|0}Tm(a,(c[i>>2]|0)+(j*9<<2)|0);An(a);j=1}else j=0}else j=0;yb=A;return j|0}function vn(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=+on(a,b,c)>0.0;if((!(i^+on(e,f,g)>0.0)?(i=+on(b,c,d)>0.0,!(i^+on(f,g,h)>0.0)):0)?(i=+on(c,d,a)>0.0,!(i^+on(g,h,e)>0.0)):0){a=+on(d,a,b)>0.0;a=a^+on(h,e,f)>0.0^1}else a=0;return a|0}function wn(a,b,c,d,e,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=yb;yb=yb+128|0;w=x;k=x+124|0;l=x+120|0;m=x+112|0;n=x+104|0;o=x+96|0;p=x+88|0;q=x+80|0;r=x+72|0;s=x+64|0;t=x+56|0;u=x+48|0;v=x+40|0;if((Gn(o,p,q,r,k,m,b,c,d,e)|0?Gn(s,t,u,v,l,n,g,h,i,j)|0:0)?Hn(w,o,p,q,r,s,t,u,v)|0:0){In(a,w,+f[k>>2],m,+f[l>>2],n);a=1}else a=0;yb=x;return a|0}function xn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=yb;yb=yb+48|0;f=n+32|0;e=n+24|0;d=n+16|0;k=n+8|0;l=n;a:do if((c|0)>=2){m=b+8|0;g=b+16|0;ln(f,a,b);ln(e,a,m);ln(d,a,g);En(k,f);En(l,e);if(Fn(b,m,g,f,e,d)|0){j=3;i=f;f=m;h=b;while(1){if((j|0)>=(c|0))break;h=h+8|0;f=f+8|0;g=g+8|0;ln(i,a,g);if(!(Fn(h,f,g,e,d,i)|0)){d=0;break a}else{o=i;j=j+1|0;i=e;e=d;d=o}}if(Fn(f,g,b,e,d,k)|0)d=Fn(g,b,m,d,k,l)|0;else d=0}else d=0}else d=1;while(0);yb=n;return d|0}function yn(a,b,c){a=a|0;b=b|0;c=c|0;Dn(a,b,c,(c&1)+-1+((c|0)/2|0)|0);return}function zn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,g=0,h=0,i=0;e=yb;yb=yb+16|0;i=e+8|0;g=e;h=i+4|0;Zm(i,h,a,+f[b>>2],+f[b+4>>2]);f[g>>2]=+f[i>>2]-+f[c>>2];f[g+4>>2]=+f[h>>2]-+f[c+4>>2];d=+Bn(g,d);yb=e;return +d}function An(a){a=a|0;var b=0,c=0.0,d=0;b=a+32|0;c=1.0/+f[b>>2];f[a>>2]=+f[a>>2]*c;d=a+4|0;f[d>>2]=c*+f[d>>2];d=a+8|0;f[d>>2]=c*+f[d>>2];d=a+12|0;f[d>>2]=c*+f[d>>2];d=a+16|0;f[d>>2]=c*+f[d>>2];d=a+20|0;f[d>>2]=c*+f[d>>2];d=a+24|0;f[d>>2]=c*+f[d>>2];a=a+28|0;f[a>>2]=c*+f[a>>2];f[b>>2]=1.0;return}function Bn(a,b){a=a|0;b=+b;return +(+Cn(+f[a>>2],+f[a+4>>2],b))}function Cn(a,b,c){a=+a;b=+b;c=+c;return +(+z(+((a*a+b*b)*c+1.0)))}function Dn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0.0,j=0,k=0.0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0;s=yb;yb=yb+16|0;g=s;if((d|0)<=0){r=Vf(Vf(NE(Vf(Vf(Vf(56032,33419)|0,33448)|0,35e3)|0,82)|0,35007)|0,33521)|0;GE(g,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=VF(g,56736)|0;q=Gb[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;WF(g);OE(r,q)|0;KE(r)|0;ua()}if((e|0)<=0){r=Vf(Vf(NE(Vf(Vf(Vf(56032,33540)|0,33448)|0,35e3)|0,83)|0,35007)|0,33569)|0;GE(g,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=VF(g,56736)|0;q=Gb[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;WF(g);OE(r,q)|0;KE(r)|0;ua()}p=e+-1|0;q=b+(p<<3)|0;r=b+(p<<3)+4|0;l=d+-1|0;m=0;while(1){if((m|0)>=(l|0))break;n=+f[q>>2];o=c[r>>2]|0;g=m;d=l;do{while(1){j=b+(g<<3)|0;k=+f[j>>2];if(!(k>2]|0)>=(o|0))break}g=g+1|0}while(1){h=b+(d<<3)|0;i=+f[h>>2];if(!(n=(c[b+(d<<3)+4>>2]|0))break}d=d+-1|0}if((g|0)<=(d|0)){f[j>>2]=i;f[h>>2]=k;t=b+(g<<3)+4|0;j=b+(d<<3)+4|0;h=c[t>>2]|0;c[t>>2]=c[j>>2];c[j>>2]=h;g=g+1|0;d=d+-1|0}}while((g|0)<=(d|0));l=(g|0)<(e|0)?l:d;m=(d|0)<(p|0)?g:m}b=q;e=c[b+4>>2]|0;t=a;c[t>>2]=c[b>>2];c[t+4>>2]=e;yb=s;return}function En(a,b){a=a|0;b=b|0;var d=0,e=0;e=b;d=c[e+4>>2]|0;b=a;c[b>>2]=c[e>>2];c[b+4>>2]=d;return}function Fn(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;c=+on(a,b,c)>0.0;return c^+on(d,e,f)>0.0^1|0}function Gn(a,b,c,d,e,g,h,i,j,k){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,s=0.0,t=0.0,v=0,w=0,x=0,y=0;l=(+f[h>>2]+ +f[i>>2]+ +f[j>>2]+ +f[k>>2])*.25;f[g>>2]=l;y=h+4|0;x=i+4|0;w=j+4|0;v=k+4|0;m=(+f[y>>2]+ +f[x>>2]+ +f[w>>2]+ +f[v>>2])*.25;f[g+4>>2]=m;s=+f[h>>2]-l;t=+f[y>>2]-m;q=+f[i>>2]-l;r=+f[x>>2]-m;o=+f[j>>2]-l;p=+f[w>>2]-m;l=+f[k>>2]-l;m=+f[v>>2]-m;n=(+u(+(s*s+t*t))+ +u(+(q*q+r*r))+ +u(+(o*o+p*p))+ +u(+(l*l+m*m)))*.25;if(n==0.0)g=0;else{n=1.0/n*1.4142135623730951;f[e>>2]=n;f[a>>2]=s*n;f[a+4>>2]=t*+f[e>>2];f[b>>2]=q*+f[e>>2];f[b+4>>2]=r*+f[e>>2];f[c>>2]=o*+f[e>>2];f[c+4>>2]=p*+f[e>>2];f[d>>2]=l*+f[e>>2];f[d+4>>2]=m*+f[e>>2];g=1}return g|0}function Hn(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=yb;yb=yb+288|0;k=j;Jn(k,b,c,d,e,f,g,h,i);if(Kn(a,k)|0)a=!(+t(+(+en(a)))<1.0e-05);else a=0;yb=j;return a|0}function In(a,b,c,d,e,g){a=a|0;b=b|0;c=+c;d=d|0;e=+e;g=g|0;var h=0,i=0.0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0,q=0.0,r=0.0;l=b+24|0;o=+f[l>>2];q=+f[g>>2];k=b+28|0;n=+f[k>>2];r=o*q+ +f[b>>2]/e;q=q*n+ +f[b+4>>2]/e;p=g+4|0;m=+f[p>>2];o=o*m+ +f[b+12>>2]/e;m=n*m+ +f[b+16>>2]/e;n=+f[d>>2]*c;h=d+4|0;i=+f[h>>2]*c;f[a>>2]=r*c;f[a+4>>2]=q*c;j=b+32|0;f[a+8>>2]=+f[j>>2]*+f[g>>2]+ +f[b+8>>2]/e-r*n-q*i;f[a+12>>2]=o*c;f[a+16>>2]=m*c;f[a+20>>2]=+f[j>>2]*+f[p>>2]+ +f[b+20>>2]/e-o*n-m*i;i=+f[l>>2]*c;f[a+24>>2]=i;e=+f[k>>2]*c;f[a+28>>2]=e;f[a+32>>2]=+f[j>>2]-i*+f[d>>2]-e*+f[h>>2];return}function Jn(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;jo(a,b,f);jo(a+72|0,c,g);jo(a+144|0,d,h);jo(a+216|0,e,i);return}function Kn(a,b){a=a|0;b=b|0;var c=0,d=0;d=yb;yb=yb+288|0;c=d;if(((((((Ln(c,b)|0?Mn(c,b)|0:0)?Nn(c,b)|0:0)?On(c,b)|0:0)?Pn(c,b)|0:0)?Qn(c,b)|0:0)?Rn(c,b)|0:0)?Sn(c,b)|0:0)a=Tn(a,c)|0;else a=0;yb=d;return a|0}function Ln(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0;g=yb;yb=yb+32|0;d=g;f[d>>2]=+Yn(b);e=b+36|0;f[d+4>>2]=+Yn(e);f[d+8>>2]=+Yn(b+72|0);f[d+12>>2]=+Yn(b+108|0);f[d+16>>2]=+Yn(b+144|0);f[d+20>>2]=+Yn(b+180|0);f[d+24>>2]=+Yn(b+216|0);f[d+28>>2]=+Yn(b+252|0);c=ho(d)|0;d=d+(c<<2)|0;if(+f[d>>2]==0.0)a=0;else{ao(b,b+(c*9<<2)|0);Wn(a,b,1.0/+u(+(+f[d>>2])));io(a+36|0,e,63);a=1}yb=g;return a|0}function Mn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=yb;yb=yb+32|0;g=e;c=a+36|0;d=b+36|0;_n(c,a,d);m=a+72|0;_n(m,a,b+72|0);l=a+108|0;_n(l,a,b+108|0);k=a+144|0;_n(k,a,b+144|0);j=a+180|0;_n(j,a,b+180|0);i=a+216|0;_n(i,a,b+216|0);h=a+252|0;_n(h,a,b+252|0);f[g>>2]=+Yn(c);f[g+4>>2]=+Yn(m);f[g+8>>2]=+Yn(l);f[g+12>>2]=+Yn(k);f[g+16>>2]=+Yn(j);f[g+20>>2]=+Yn(i);f[g+24>>2]=+Yn(h);a=go(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;ao(c,c+(a<<2)|0);ao(d,d+(a<<2)|0);Wn(c,c,1.0/+u(+(+f[b>>2])));a=1}yb=e;return a|0}function Nn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0;e=yb;yb=yb+32|0;g=e;c=a+72|0;l=a+36|0;d=b+72|0;_n(c,l,d);k=a+108|0;_n(k,l,b+108|0);j=a+144|0;_n(j,l,b+144|0);i=a+180|0;_n(i,l,b+180|0);h=a+216|0;_n(h,l,b+216|0);a=a+252|0;_n(a,l,b+252|0);f[g>>2]=+Yn(c);f[g+4>>2]=+Yn(k);f[g+8>>2]=+Yn(j);f[g+12>>2]=+Yn(i);f[g+16>>2]=+Yn(h);f[g+20>>2]=+Yn(a);a=fo(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;ao(c,c+(a<<2)|0);ao(d,d+(a<<2)|0);Wn(c,c,1.0/+u(+(+f[b>>2])));a=1}yb=e;return a|0}function On(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;e=yb;yb=yb+32|0;g=e;c=a+108|0;k=a+72|0;d=b+108|0;_n(c,k,d);j=a+144|0;_n(j,k,b+144|0);i=a+180|0;_n(i,k,b+180|0);h=a+216|0;_n(h,k,b+216|0);a=a+252|0;_n(a,k,b+252|0);f[g>>2]=+Yn(c);f[g+4>>2]=+Yn(j);f[g+8>>2]=+Yn(i);f[g+12>>2]=+Yn(h);f[g+16>>2]=+Yn(a);a=eo(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;ao(c,c+(a<<2)|0);ao(d,d+(a<<2)|0);Wn(c,c,1.0/+u(+(+f[b>>2])));a=1}yb=e;return a|0}function Pn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0;e=yb;yb=yb+16|0;g=e;c=a+144|0;j=a+108|0;d=b+144|0;_n(c,j,d);i=a+180|0;_n(i,j,b+180|0);h=a+216|0;_n(h,j,b+216|0);a=a+252|0;_n(a,j,b+252|0);f[g>>2]=+Yn(c);f[g+4>>2]=+Yn(i);f[g+8>>2]=+Yn(h);f[g+12>>2]=+Yn(a);a=co(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;ao(c,c+(a<<2)|0);ao(d,d+(a<<2)|0);Wn(c,c,1.0/+u(+(+f[b>>2])));a=1}yb=e;return a|0}function Qn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0;e=yb;yb=yb+16|0;g=e;c=a+180|0;i=a+144|0;d=b+180|0;_n(c,i,d);h=a+216|0;_n(h,i,b+216|0);a=a+252|0;_n(a,i,b+252|0);f[g>>2]=+Yn(c);f[g+4>>2]=+Yn(h);f[g+8>>2]=+Yn(a);a=bo(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;ao(c,c+(a<<2)|0);ao(d,d+(a<<2)|0);Wn(c,c,1.0/+u(+(+f[b>>2])));a=1}yb=e;return a|0}function Rn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0;e=yb;yb=yb+16|0;g=e;c=a+216|0;h=a+180|0;d=b+216|0;_n(c,h,d);a=a+252|0;_n(a,h,b+252|0);f[g>>2]=+Yn(c);f[g+4>>2]=+Yn(a);a=$n(g)|0;b=g+(a<<2)|0;if(+f[b>>2]==0.0)a=0;else{a=a*9|0;ao(c,c+(a<<2)|0);ao(d,d+(a<<2)|0);Wn(c,c,1.0/+u(+(+f[b>>2])));a=1}yb=e;return a|0}function Sn(a,b){a=a|0;b=b|0;var c=0.0,d=0;d=a+252|0;_n(d,a+216|0,b+252|0);c=+Yn(d);if(c==0.0)a=0;else{Wn(d,d,1.0/+u(+c));a=1}return a|0}function Tn(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;d=yb;yb=yb+384|0;e=d+336|0;c=d;f[e>>2]=+Un(c,b,0);f[e+4>>2]=+Un(c+36|0,b,1);f[e+8>>2]=+Un(c+72|0,b,2);f[e+12>>2]=+Un(c+108|0,b,3);f[e+16>>2]=+Un(c+144|0,b,4);f[e+20>>2]=+Un(c+180|0,b,5);f[e+24>>2]=+Un(c+216|0,b,6);f[e+28>>2]=+Un(c+252|0,b,7);f[e+32>>2]=+Un(c+288|0,b,8);b=Vn(e)|0;if(+f[e+(b<<2)>>2]==0.0)b=0;else{Tm(a,c+(b*9<<2)|0);b=1}yb=d;return b|0}function Un(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,g=0;Wn(a,b,-+f[b+(c<<2)>>2]);g=a+(c<<2)|0;f[g>>2]=+f[g>>2]+1.0;Xn(a,b+36|0,-+f[b+(c+9<<2)>>2]);Xn(a,b+72|0,-+f[b+(c+18<<2)>>2]);Xn(a,b+108|0,-+f[b+(c+27<<2)>>2]);Xn(a,b+144|0,-+f[b+(c+36<<2)>>2]);Xn(a,b+180|0,-+f[b+(c+45<<2)>>2]);Xn(a,b+216|0,-+f[b+(c+54<<2)>>2]);Xn(a,b+252|0,-+f[b+(c+63<<2)>>2]);e=+Yn(a);d=+u(+e);if(e==0.0)d=0.0;else Wn(a,a,1.0/d);return +d}function Vn(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;b=+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b;b=+f[a+16>>2]>+f[a+(b<<2)>>2]?4:b;b=+f[a+20>>2]>+f[a+(b<<2)>>2]?5:b;b=+f[a+24>>2]>+f[a+(b<<2)>>2]?6:b;b=+f[a+28>>2]>+f[a+(b<<2)>>2]?7:b;return (+f[a+32>>2]>+f[a+(b<<2)>>2]?8:b)|0}function Wn(a,b,c){a=a|0;b=b|0;c=+c;f[a>>2]=+f[b>>2]*c;f[a+4>>2]=+f[b+4>>2]*c;f[a+8>>2]=+f[b+8>>2]*c;f[a+12>>2]=+f[b+12>>2]*c;f[a+16>>2]=+f[b+16>>2]*c;f[a+20>>2]=+f[b+20>>2]*c;f[a+24>>2]=+f[b+24>>2]*c;f[a+28>>2]=+f[b+28>>2]*c;f[a+32>>2]=+f[b+32>>2]*c;return}function Xn(a,b,c){a=a|0;b=b|0;c=+c;var d=0;f[a>>2]=+f[a>>2]+ +f[b>>2]*c;d=a+4|0;f[d>>2]=+f[d>>2]+ +f[b+4>>2]*c;d=a+8|0;f[d>>2]=+f[d>>2]+ +f[b+8>>2]*c;d=a+12|0;f[d>>2]=+f[d>>2]+ +f[b+12>>2]*c;d=a+16|0;f[d>>2]=+f[d>>2]+ +f[b+16>>2]*c;d=a+20|0;f[d>>2]=+f[d>>2]+ +f[b+20>>2]*c;d=a+24|0;f[d>>2]=+f[d>>2]+ +f[b+24>>2]*c;d=a+28|0;f[d>>2]=+f[d>>2]+ +f[b+28>>2]*c;a=a+32|0;f[a>>2]=+f[a>>2]+ +f[b+32>>2]*c;return}function Yn(a){a=a|0;return +(+Zn(a,a))}function Zn(a,b){a=a|0;b=b|0;return +(+f[a>>2]*+f[b>>2]+ +f[a+4>>2]*+f[b+4>>2]+ +f[a+8>>2]*+f[b+8>>2]+ +f[a+12>>2]*+f[b+12>>2]+ +f[a+16>>2]*+f[b+16>>2]+ +f[a+20>>2]*+f[b+20>>2]+ +f[a+24>>2]*+f[b+24>>2]+ +f[a+28>>2]*+f[b+28>>2]+ +f[a+32>>2]*+f[b+32>>2])}function _n(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0;d=+Zn(c,b);f[a>>2]=+f[a>>2]-d*+f[b>>2];c=a+4|0;f[c>>2]=+f[c>>2]-d*+f[b+4>>2];c=a+8|0;f[c>>2]=+f[c>>2]-d*+f[b+8>>2];c=a+12|0;f[c>>2]=+f[c>>2]-d*+f[b+12>>2];c=a+16|0;f[c>>2]=+f[c>>2]-d*+f[b+16>>2];c=a+20|0;f[c>>2]=+f[c>>2]-d*+f[b+20>>2];c=a+24|0;f[c>>2]=+f[c>>2]-d*+f[b+24>>2];c=a+28|0;f[c>>2]=+f[c>>2]-d*+f[b+28>>2];c=a+32|0;f[c>>2]=+f[c>>2]-d*+f[b+32>>2];return}function $n(a){a=a|0;return +f[a+4>>2]>+f[a>>2]|0}function ao(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=c[a>>2]|0;f=a+4|0;c[a>>2]=c[b>>2];d=b+4|0;c[b>>2]=g;g=c[f>>2]|0;e=a+8|0;c[f>>2]=c[d>>2];f=b+8|0;c[d>>2]=g;d=c[e>>2]|0;g=a+12|0;c[e>>2]=c[f>>2];e=b+12|0;c[f>>2]=d;f=c[g>>2]|0;d=a+16|0;c[g>>2]=c[e>>2];g=b+16|0;c[e>>2]=f;e=c[d>>2]|0;f=a+20|0;c[d>>2]=c[g>>2];d=b+20|0;c[g>>2]=e;g=c[f>>2]|0;e=a+24|0;c[f>>2]=c[d>>2];f=b+24|0;c[d>>2]=g;d=c[e>>2]|0;g=a+28|0;c[e>>2]=c[f>>2];e=b+28|0;c[f>>2]=d;f=c[g>>2]|0;d=a+32|0;c[g>>2]=c[e>>2];b=b+32|0;c[e>>2]=f;a=c[d>>2]|0;c[d>>2]=c[b>>2];c[b>>2]=a;return}function bo(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;return (+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b)|0}function co(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;return (+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b)|0}function eo(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;b=+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b;return (+f[a+16>>2]>+f[a+(b<<2)>>2]?4:b)|0}function fo(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;b=+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b;b=+f[a+16>>2]>+f[a+(b<<2)>>2]?4:b;return (+f[a+20>>2]>+f[a+(b<<2)>>2]?5:b)|0}function go(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;b=+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b;b=+f[a+16>>2]>+f[a+(b<<2)>>2]?4:b;b=+f[a+20>>2]>+f[a+(b<<2)>>2]?5:b;return (+f[a+24>>2]>+f[a+(b<<2)>>2]?6:b)|0}function ho(a){a=a|0;var b=0;b=+f[a+4>>2]>+f[a>>2]&1;b=+f[a+8>>2]>+f[a+(b<<2)>>2]?2:b;b=+f[a+12>>2]>+f[a+(b<<2)>>2]?3:b;b=+f[a+16>>2]>+f[a+(b<<2)>>2]?4:b;b=+f[a+20>>2]>+f[a+(b<<2)>>2]?5:b;b=+f[a+24>>2]>+f[a+(b<<2)>>2]?6:b;return (+f[a+28>>2]>+f[a+(b<<2)>>2]?7:b)|0}function io(a,b,c){a=a|0;b=b|0;c=c|0;YO(a|0,b|0,c<<2|0)|0;return}function jo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;f[a>>2]=-+f[b>>2];e=b+4|0;f[a+4>>2]=-+f[e>>2];f[a+8>>2]=-1.0;ko(a+12|0);f[a+24>>2]=+f[d>>2]*+f[b>>2];f[a+28>>2]=+f[d>>2]*+f[e>>2];c[a+32>>2]=c[d>>2];ko(a+36|0);f[a+48>>2]=-+f[b>>2];f[a+52>>2]=-+f[e>>2];f[a+56>>2]=-1.0;d=d+4|0;f[a+60>>2]=+f[d>>2]*+f[b>>2];f[a+64>>2]=+f[d>>2]*+f[e>>2];c[a+68>>2]=c[d>>2];return}function ko(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function lo(a,b){a=a|0;b=b|0;var d=0;if((pj(a)|0)>>>0>>0)CO(a);if(b>>>0>536870911){b=O(8)|0;bO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=rB(b<<3)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b<<3);return}}function mo(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{no(b);b=(c[d>>2]|0)+8|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function no(a){a=a|0;f[a>>2]=0.0;f[a+4>>2]=0.0;return}function oo(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;k=yb;yb=yb+16|0;j=k;i=a+88|0;n=a+84|0;h=a+52|0;m=(((g|0)%(c[i>>2]|0)|0|0)%(c[n>>2]|0)|0|0)%(c[h>>2]|0)|0;c[b>>2]=m;m=(((g-m|0)%(c[i>>2]|0)|0|0)%(c[n>>2]|0)|0|0)/(c[h>>2]|0)|0;c[d>>2]=m;m=g-(c[b>>2]|0)-(B(c[h>>2]|0,m)|0)|0;m=((m|0)%(c[i>>2]|0)|0|0)/(c[n>>2]|0)|0;c[e>>2]=m;l=B(c[h>>2]|0,c[d>>2]|0)|0;g=g-(c[b>>2]|0)-((B(c[n>>2]|0,m)|0)+l)|0;i=(g|0)/(c[i>>2]|0)|0;c[f>>2]=i;g=c[b>>2]|0;if((g|0)<=-1){n=Vf(Vf(NE(Vf(Vf(Vf(56032,32616)|0,32155)|0,35e3)|0,190)|0,35007)|0,32649)|0;GE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(j,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(j);OE(n,m)|0;KE(n)|0;ua()}if((g|0)>=(c[h>>2]|0)){n=Vf(Vf(NE(Vf(Vf(Vf(56032,32667)|0,32155)|0,35e3)|0,191)|0,35007)|0,32649)|0;GE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(j,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(j);OE(n,m)|0;KE(n)|0;ua()}g=c[d>>2]|0;if((g|0)<=-1){n=Vf(Vf(NE(Vf(Vf(Vf(56032,32707)|0,32155)|0,35e3)|0,192)|0,35007)|0,32740)|0;GE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(j,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(j);OE(n,m)|0;KE(n)|0;ua()}if((g|0)>=(c[a+56>>2]|0)){n=Vf(Vf(NE(Vf(Vf(Vf(56032,32758)|0,32155)|0,35e3)|0,193)|0,35007)|0,32740)|0;GE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(j,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(j);OE(n,m)|0;KE(n)|0;ua()}g=c[e>>2]|0;if((g|0)<=-1){n=Vf(Vf(NE(Vf(Vf(Vf(56032,32798)|0,32155)|0,35e3)|0,194)|0,35007)|0,32835)|0;GE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(j,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(j);OE(n,m)|0;KE(n)|0;ua()}if((g|0)>=(c[a+60>>2]|0)){n=Vf(Vf(NE(Vf(Vf(Vf(56032,32857)|0,32155)|0,35e3)|0,195)|0,35007)|0,32835)|0;GE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(j,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(j);OE(n,m)|0;KE(n)|0;ua()}if((i|0)<=-1){n=Vf(Vf(NE(Vf(Vf(Vf(56032,32905)|0,32155)|0,35e3)|0,196)|0,35007)|0,32942)|0;GE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(j,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(j);OE(n,m)|0;KE(n)|0;ua()}if((i|0)<(c[a+64>>2]|0)){yb=k;return}else{n=Vf(Vf(NE(Vf(Vf(Vf(56032,32964)|0,32155)|0,35e3)|0,197)|0,35007)|0,32942)|0;GE(j,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(j,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(j);OE(n,m)|0;KE(n)|0;ua()}}function po(a){a=a|0;return a+124|0}function qo(a){a=a|0;return a+112|0}function ro(a,b,d,e,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=+h;i=+i;j=+j;k=+k;l=+l;m=+m;n=+n;o=+o;var p=0,q=0;q=yb;yb=yb+16|0;p=q;f[b>>2]=+t(+(h-l));f[d>>2]=+t(+(i-m));f[g>>2]=+t(+(k-o));l=+t(+(j-n));l=+tn(l,+(c[a+60>>2]|0)-l);f[e>>2]=l;if(!(l>=0.0)){q=Vf(Vf(NE(Vf(Vf(Vf(56032,31935)|0,32155)|0,35e3)|0,333)|0,35007)|0,31976)|0;GE(p,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);g=VF(p,56736)|0;g=Gb[c[(c[g>>2]|0)+28>>2]&63](g,10)|0;WF(p);OE(q,g)|0;KE(q)|0;ua()}else{yb=q;return}}function so(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;if(b|0){vo(a,b);mh(a,b)}return}function to(a,b,c){a=a|0;b=+b;c=+c;f[a+8>>2]=b;f[a+12>>2]=c;return}function uo(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=d;return}function vo(a,b){a=a|0;b=b|0;var d=0;if((nh(a)|0)>>>0>>0)CO(a);if(b>>>0>1073741823){b=O(8)|0;bO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=rB(b<<2)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b<<2);return}}function wo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;t=yb;yb=yb+48|0;j=t+8|0;i=t+32|0;h=t+28|0;k=t+24|0;p=t+20|0;q=t+16|0;r=t;s=a+8|0;if(!(c[s>>2]|0)){o=Vf(Vf(NE(Vf(Vf(Vf(56032,32010)|0,29190)|0,35e3)|0,405)|0,35007)|0,32045)|0;GE(j,o+(c[(c[o>>2]|0)+-12>>2]|0)|0);n=VF(j,56736)|0;n=Gb[c[(c[n>>2]|0)+28>>2]&63](n,10)|0;WF(j);OE(o,n)|0;KE(o)|0;ua()}c[a+100>>2]=0;l=a+72|0;m=a+76|0;c[m>>2]=c[l>>2];n=a+84|0;o=a+88|0;e=c[o>>2]|0;while(1){d=c[n>>2]|0;f=d;if((d|0)==(e|0))break;g=e-f|0;if((g|0)>8){e=e+-8|0;u=d;v=c[u>>2]|0;u=c[u+4>>2]|0;x=j;c[x>>2]=v;c[x+4>>2]=u;x=e;w=c[x+4>>2]|0;c[d>>2]=c[x>>2];c[d+4>>2]=w;d=e;c[d>>2]=v;c[d+4>>2]=u;Wl(j);c[k>>2]=f;c[p>>2]=e;c[q>>2]=f;c[h>>2]=c[k>>2];c[i>>2]=c[p>>2];c[j>>2]=c[q>>2];yo(h,i,r,(g>>>3)+-1|0,j);e=c[o>>2]|0}d=0;while(1){if((d|0)==-1)break;x=d+-1|0;Wl(e+(x<<3)|0);d=x}e=e+-8|0;c[o>>2]=e}zo(a,n,c[s>>2]|0,b);yb=t;return (c[m>>2]|0)-(c[l>>2]|0)>>2|0}function xo(a){a=a|0;return a+72|0}function yo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=yb;yb=yb+16|0;l=m;j=c[f>>2]|0;k=c[a>>2]|0;b=j-k|0;i=j;h=j;if((e|0)>=2?(n=(e+-2|0)/2|0,(n|0)>=(b>>3|0)):0){b=b>>2|1;a=k+(b<<3)|0;d=a;g=b+1|0;if((g|0)<(e|0)){o=a+8|0;a=Mo(a,o)|0;b=a?g:b;d=a?o:d}if(!(Mo(d,i)|0)){o=c[j+4>>2]|0;i=l;c[i>>2]=c[j>>2];c[i+4>>2]=o;i=d;while(1){o=h;h=i;g=h;j=c[g+4>>2]|0;c[o>>2]=c[g>>2];c[o+4>>2]=j;c[f>>2]=i;if((n|0)<(b|0))break;b=b<<1|1;a=k+(b<<3)|0;d=a;g=b+1|0;if((g|0)<(e|0)){o=a+8|0;j=Mo(a,o)|0;b=j?g:b;d=j?o:d}if(Mo(d,l)|0)break;else i=d}e=l;f=c[e+4>>2]|0;o=i;c[o>>2]=c[e>>2];c[o+4>>2]=f;Wl(l)}}yb=m;return}function zo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;t=yb;yb=yb+64|0;m=t+8|0;l=t+56|0;k=t+52|0;n=t+44|0;o=t+36|0;p=t+28|0;q=t;g=t+48|0;h=t+40|0;f=t+32|0;r=t+16|0;if(Ao(d)|0){c[g>>2]=c[a+76>>2];c[h>>2]=c[(Bo(d)|0)>>2];c[f>>2]=c[(Bo(d)|0)+4>>2];c[k>>2]=c[g>>2];c[l>>2]=c[h>>2];c[m>>2]=c[f>>2];Co(a+72|0,k,l,m)|0}else{c[r>>2]=0;h=r+4|0;c[h>>2]=0;c[r+8>>2]=0;Do(d,r,b,e);f=0;while(1){g=c[r>>2]|0;if(f>>>0>=(c[h>>2]|0)-g>>2>>>0)break;zo(a,b,c[g+(f<<2)>>2]|0,e);f=f+1|0}i=a+100|0;if((c[i>>2]|0)<(c[a+104>>2]|0)?(j=c[b>>2]|0,s=b+4|0,(j|0)!=(c[s>>2]|0)):0){d=Eo(j)|0;f=c[b>>2]|0;g=c[s>>2]|0;h=g-f|0;if((h|0)>8){j=f;g=g+-8|0;u=j;v=c[u>>2]|0;u=c[u+4>>2]|0;x=m;c[x>>2]=v;c[x+4>>2]=u;x=g;w=c[x+4>>2]|0;c[j>>2]=c[x>>2];c[j+4>>2]=w;j=g;c[j>>2]=v;c[j+4>>2]=u;Wl(m);c[n>>2]=f;c[o>>2]=g;c[p>>2]=f;c[k>>2]=c[n>>2];c[l>>2]=c[o>>2];c[m>>2]=c[p>>2];yo(k,l,q,(h>>>3)+-1|0,m);g=c[s>>2]|0}f=0;while(1){if((f|0)==-1)break;x=f+-1|0;Wl(g+(x<<3)|0);f=x}c[s>>2]=g+-8;c[i>>2]=(c[i>>2]|0)+1;zo(a,b,d,e)}Fo(r)}yb=t;return}function Ao(b){b=b|0;return (a[b+100>>0]|0)!=0|0}function Bo(a){a=a|0;return a+116|0}function Co(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=yb;yb=yb+48|0;p=s+40|0;o=s+36|0;q=s+32|0;r=s+28|0;j=s+8|0;k=s+4|0;l=s;f=c[a>>2]|0;g=f;b=f+((c[b>>2]|0)-g>>2<<2)|0;d=c[d>>2]|0;f=c[e>>2]|0;n=f-d|0;m=n>>2;a:do if((n|0)>0){h=a+8|0;n=c[a+4>>2]|0;i=n;if((m|0)>((c[h>>2]|0)-i>>2|0)){e=(i-g>>2)+m|0;g=jl(a)|0;if(g>>>0>>0)CO(a);else{r=c[a>>2]|0;n=(c[h>>2]|0)-r|0;q=n>>1;kl(j,n>>2>>>0>>1>>>0?(q>>>0>>0?e:q):g,b-r>>2,a+8|0);c[k>>2]=d;c[l>>2]=f;c[o>>2]=c[k>>2];c[p>>2]=c[l>>2];_o(j,o,p);b=$o(a,j,b)|0;ml(j);break}}g=i-b|0;h=g>>2;e=d+(h<<2)|0;if((m|0)>(h|0)){c[q>>2]=e;c[r>>2]=f;c[o>>2]=c[q>>2];c[p>>2]=c[r>>2];Yo(a,o,p,m-h|0);if((g|0)>0)f=e;else break}Zo(a,b,n,b+(m<<2)|0);e=b;while(1){if((d|0)==(f|0))break a;c[e>>2]=c[d>>2];e=e+4|0;d=d+4|0}}while(0);yb=s;return b|0}function Do(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=yb;yb=yb+48|0;n=t+8|0;m=t+36|0;o=t+32|0;p=t+28|0;q=t;r=t+16|0;s=a+104|0;Go(r,(c[a+108>>2]|0)-(c[s>>2]|0)>>2);l=r+4|0;a=-1;f=0;k=-1;while(1){if(f>>>0>=(c[l>>2]|0)-(c[r>>2]|0)>>3>>>0)break;i=wl((c[(c[s>>2]|0)+(f<<2)>>2]|0)+4|0,e)|0;Ho(n,c[(c[s>>2]|0)+(f<<2)>>2]|0,i);g=n;j=c[g+4>>2]|0;h=(c[r>>2]|0)+(f<<3)|0;c[h>>2]=c[g>>2];c[h+4>>2]=j;Wl(n);h=i>>>0>>0;j=h?f:k;a=h?i:a;f=f+1|0;k=j}if((k|0)==-1){j=Vf(Vf(NE(Vf(Vf(Vf(56032,32065)|0,29190)|0,35e3)|0,155)|0,35007)|0,32099)|0;GE(n,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=VF(n,56736)|0;i=Gb[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;WF(n);OE(j,i)|0;KE(j)|0;ua()}a=c[(c[s>>2]|0)+(k<<2)>>2]|0;c[n>>2]=a;i=b+4|0;f=c[i>>2]|0;j=b+8|0;if(f>>>0<(c[j>>2]|0)>>>0){c[f>>2]=a;c[i>>2]=(c[i>>2]|0)+4}else Io(b,n);g=d+4|0;h=d+8|0;e=0;while(1){a=c[r>>2]|0;if(e>>>0>=(c[l>>2]|0)-a>>3>>>0)break;do if((e|0)!=(k|0)){f=Jo(a+(e<<3)|0)|0;if((f|0)==(Jo((c[r>>2]|0)+(k<<3)|0)|0)){a=c[(c[s>>2]|0)+(e<<2)>>2]|0;c[n>>2]=a;f=c[i>>2]|0;if(f>>>0<(c[j>>2]|0)>>>0){c[f>>2]=a;c[i>>2]=(c[i>>2]|0)+4}else Io(b,n);break}else{a=(c[r>>2]|0)+(e<<3)|0;f=c[g>>2]|0;if((f|0)==(c[h>>2]|0)){Ko(d,a);a=c[g>>2]|0}else{v=a;u=c[v+4>>2]|0;a=f;c[a>>2]=c[v>>2];c[a+4>>2]=u;a=(c[g>>2]|0)+8|0;c[g>>2]=a}v=c[d>>2]|0;c[o>>2]=v;c[p>>2]=a;c[m>>2]=c[o>>2];c[n>>2]=c[p>>2];Lo(m,n,q,a-v>>3);break}}while(0);e=e+1|0}Vl(r);yb=t;return}function Eo(a){a=a|0;return c[a>>2]|0}function Fo(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Nf(b,(c[a+8>>2]|0)-d|0)}return}function Go(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;if(b|0){Vo(a,b);Wo(a,b)}return}function Ho(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=b;c[a+4>>2]=d;return}function Io(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=yb;yb=yb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>2)+1|0;g=Ro(a)|0;if(g>>>0>>0)CO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>1;So(d,k>>2>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>2,a+8|0);g=d+8|0;c[c[g>>2]>>2]=c[b>>2];c[g>>2]=(c[g>>2]|0)+4;To(a,d);Uo(d);yb=h;return}}function Jo(a){a=a|0;return c[a+4>>2]|0}function Ko(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=yb;yb=yb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>3)+1|0;g=No(a)|0;if(g>>>0>>0)CO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>2;Oo(d,k>>3>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>3,a+8|0);g=d+8|0;e=c[b+4>>2]|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+8;Po(a,d);Qo(d);yb=h;return}}function Lo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=yb;yb=yb+16|0;i=j;if((e|0)>1?(g=(e+-2|0)/2|0,k=c[a>>2]|0,h=k+(g<<3)|0,f=(c[b>>2]|0)+-8|0,c[b>>2]=f,Mo(h,f)|0):0){a=f;e=c[a+4>>2]|0;d=i;c[d>>2]=c[a>>2];c[d+4>>2]=e;d=h;while(1){a=d;e=c[a+4>>2]|0;h=f;c[h>>2]=c[a>>2];c[h+4>>2]=e;c[b>>2]=d;if(!g)break;g=(g+-1|0)/2|0;f=k+(g<<3)|0;if(!(Mo(f,i)|0))break;else{h=d;d=f;f=h}}h=i;b=c[h+4>>2]|0;k=d;c[k>>2]=c[h>>2];c[k+4>>2]=b;Wl(i)}yb=j;return}function Mo(a,b){a=a|0;b=b|0;return (c[a+4>>2]|0)>>>0>(c[b+4>>2]|0)>>>0|0}function No(a){a=a|0;return 536870911}function Oo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>536870911){f=O(8)|0;bO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=rB(b<<3)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<3);return}function Po(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;h=d+-8|0;k=h;j=c[k+4>>2]|0;i=(c[g>>2]|0)+-8|0;c[i>>2]=c[k>>2];c[i+4>>2]=j;c[g>>2]=(c[g>>2]|0)+-8;d=h}i=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=i;i=b+8|0;k=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=k;i=a+8|0;k=b+12|0;j=c[i>>2]|0;c[i>>2]=c[k>>2];c[k>>2]=j;c[b>>2]=c[g>>2];return}function Qo(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-8|0;c[d>>2]=e;Wl(e)}b=c[a>>2]|0;if(b|0)Nf(b,(c[a+12>>2]|0)-b|0);return}function Ro(a){a=a|0;return 1073741823}function So(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>1073741823){f=O(8)|0;bO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=rB(b<<2)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<2)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<2);return}function To(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){YO(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function Uo(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-4|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Nf(b,(c[a+12>>2]|0)-b|0);return}function Vo(a,b){a=a|0;b=b|0;var d=0;if((No(a)|0)>>>0>>0)CO(a);if(b>>>0>536870911){b=O(8)|0;bO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=rB(b<<3)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b<<3);return}}function Wo(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{Xo(b);b=(c[d>>2]|0)+8|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Xo(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;return}function Yo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[d>>2]|0;e=a+4|0;d=c[b>>2]|0;while(1){if((d|0)==(f|0))break;b=c[e>>2]|0;c[b>>2]=c[d>>2];c[e>>2]=b+4;d=d+4|0}return}function Zo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=a+4|0;i=c[h>>2]|0;f=i-e|0;g=f>>2;a=b+(g<<2)|0;e=i;while(1){if(a>>>0>=d>>>0)break;c[e>>2]=c[a>>2];j=e+4|0;c[h>>2]=j;a=a+4|0;e=j}if(f|0)ZO(i+(0-g<<2)|0,b|0,f|0)|0;return}function _o(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=c[d>>2]|0;d=a+8|0;a=c[b>>2]|0;while(1){if((a|0)==(e|0))break;f=c[d>>2]|0;c[f>>2]=c[a>>2];c[d>>2]=f+4;f=a+4|0;c[b>>2]=f;a=f}return}function $o(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=b+4|0;j=c[i>>2]|0;f=c[a>>2]|0;h=d;g=h-f|0;e=j+(0-(g>>2)<<2)|0;c[i>>2]=e;if((g|0)>0)YO(e|0,f|0,g|0)|0;f=a+4|0;g=b+8|0;e=(c[f>>2]|0)-h|0;if((e|0)>0){YO(c[g>>2]|0,d|0,e|0)|0;c[g>>2]=(c[g>>2]|0)+(e>>>2<<2)}h=c[a>>2]|0;c[a>>2]=c[i>>2];c[i>>2]=h;h=c[f>>2]|0;c[f>>2]=c[g>>2];c[g>>2]=h;h=a+8|0;d=b+12|0;a=c[h>>2]|0;c[h>>2]=c[d>>2];c[d>>2]=a;c[b>>2]=c[i>>2];return j|0}function ap(a){a=a|0;return bp(c[c[a>>2]>>2]|0)|0}function bp(a){a=a|0;return c[a+24>>2]|0}function cp(a,b){a=a|0;b=b|0;var d=0,e=0;d=yb;yb=yb+16|0;e=d;c[e>>2]=b;b=km((c[a>>2]|0)+4|0,e)|0;yb=d;return b|0}function dp(a){a=a|0;var b=0,d=0;b=yb;yb=yb+16|0;d=b;ep(d,c[c[a>>2]>>2]|0);a=em(xk(c[d>>2]|0)|0)|0;Pj(d);yb=b;return a|0}function ep(a,b){a=a|0;b=b|0;c[a>>2]=c[b+64>>2];b=c[b+68>>2]|0;c[a+4>>2]=b;if(b|0){a=b+4|0;c[a>>2]=(c[a>>2]|0)+1}return}function fp(a){a=a|0;return gp(c[c[a>>2]>>2]|0)|0}function gp(a){a=a|0;return a+12|0}function hp(b){b=b|0;var d=0,e=0,f=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;a[b+16>>0]=1;d=b+108|0;e=b+20|0;f=e+88|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[d>>2]=1065353216;f=b+112|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;return}function ip(a){a=a|0;Vj(a+124|0);eh(a+112|0);jp(a+92|0);return}function jp(a){a=a|0;kp(a);return}function kp(a){a=a|0;var b=0;lp(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0)Nf(b,c[a+4>>2]<<2);return}function lp(a,b){a=a|0;b=b|0;while(1){if(!b)break;a=c[b>>2]|0;Nf(b,16);b=a}return}function mp(b,d,e,g,h,i,j,k,l){b=b|0;d=+d;e=+e;g=+g;h=+h;i=i|0;j=j|0;k=k|0;l=l|0;f[b+20>>2]=d;f[b+24>>2]=e;f[b+28>>2]=g;f[b+32>>2]=h;f[b+36>>2]=-1.0;f[b+40>>2]=1.0;c[b+52>>2]=i;c[b+56>>2]=j;c[b+60>>2]=k;c[b+64>>2]=l;l=B(j,i)|0;c[b+84>>2]=l;c[b+88>>2]=B(l,k)|0;f[b+44>>2]=10.0;f[b+48>>2]=.4342944622039795;a[b+16>>0]=(j|i|0)==0&1;np(b+92|0);return}function np(a){a=a|0;var b=0,d=0,e=0;d=a+12|0;if(c[d>>2]|0){e=a+8|0;lp(a,c[e>>2]|0);c[e>>2]=0;e=c[a+4>>2]|0;b=0;while(1){if((b|0)==(e|0))break;c[(c[a>>2]|0)+(b<<2)>>2]=0;b=b+1|0}c[d>>2]=0}return}function op(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=yb;yb=yb+16|0;p=t+12|0;q=t+8|0;r=t+4|0;s=t;np(b+92|0);if(g|0){j=b+112|0;dh(j,g<<2);k=b+124|0;Tk(k,g);if(a[b+16>>0]|0)pp(b,d,e,g);l=b+68|0;m=b+72|0;n=b+76|0;o=b+80|0;h=0;i=0;while(1){if((i|0)>=(g|0))break;u=i<<2;v=d+(u<<2)|0;u=e+(u<<2)|0;qp(b,p,q,r,s,+f[v>>2],+f[v+4>>2],+f[v+8>>2],+f[v+12>>2],+f[u>>2],+f[u+4>>2],+f[u+8>>2],+f[u+12>>2]);if(rp(b,+f[p>>2],+f[q>>2],+f[r>>2],+f[s>>2])|0){v=(c[j>>2]|0)+(h<<2<<2)|0;c[v>>2]=c[l>>2];c[v+4>>2]=c[m>>2];c[v+8>>2]=c[n>>2];c[v+12>>2]=c[o>>2];c[(c[k>>2]|0)+(h<<2)>>2]=i;h=h+1|0}i=i+1|0}dh(j,h<<2);Tk(k,h)}yb=t;return}function pp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0.0;l=yb;yb=yb+16|0;g=l+12|0;k=l;i=a+4|0;j=yj(c[a>>2]|0,c[i>>2]|0)|0;so(k,e);if((e|0)<=0){m=Vf(Vf(NE(Vf(Vf(Vf(56032,33144)|0,33176)|0,35e3)|0,208)|0,35007)|0,33265)|0;GE(g,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);n=VF(g,56736)|0;n=Gb[c[(c[n>>2]|0)+28>>2]&63](n,10)|0;WF(g);OE(m,n)|0;KE(m)|0;ua()}if((c[a>>2]|0)<=0){n=Vf(Vf(NE(Vf(Vf(Vf(56032,33287)|0,33176)|0,35e3)|0,209)|0,35007)|0,33329)|0;GE(g,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(g,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(g);OE(n,m)|0;KE(n)|0;ua()}if((c[i>>2]|0)<=0){n=Vf(Vf(NE(Vf(Vf(Vf(56032,33352)|0,33176)|0,35e3)|0,210)|0,35007)|0,33395)|0;GE(g,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(g,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(g);OE(n,m)|0;KE(n)|0;ua()}h=+(j|0);g=0;while(1){if((g|0)==(e|0))break;n=g<<2;o=+zp(+f[b+(n<<2)+12>>2],+f[d+(n<<2)+12>>2])*h;f[(c[k>>2]|0)+(g<<2)>>2]=o;g=g+1|0}m=c[k>>2]|0;o=+Bp(m,(c[k+4>>2]|0)-m>>2)*.25;m=a+52|0;c[m>>2]=yj(5,~~+A(+((+f[a+24>>2]-+f[a+20>>2])/o)))|0;n=yj(5,~~+A(+((+f[a+32>>2]-+f[a+28>>2])/o)))|0;c[a+56>>2]=n;n=B(c[m>>2]|0,n)|0;c[a+84>>2]=n;c[a+88>>2]=B(c[a+60>>2]|0,n)|0;eh(k);yb=l;return}function qp(a,b,d,e,g,h,i,j,k,l,m,n,o){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=+h;i=+i;j=+j;k=+k;l=+l;m=+m;n=+n;o=+o;var p=0,q=0,r=0,s=0,t=0;s=yb;yb=yb+32|0;q=s+16|0;r=s;n=j-n;f[e>>2]=n;j=n;if(!(j<=-3.141592653589793)){if(j>3.141592653589793){n=j+-6.283185307179586;p=5}}else{n=j+6.283185307179586;p=5}if((p|0)==5)f[e>>2]=n;if(!(n>-3.141592653589793)){p=Vf(Vf(NE(Vf(Vf(Vf(56032,32372)|0,32155)|0,35e3)|0,468)|0,35007)|0,32407)|0;GE(q,p+(c[(c[p>>2]|0)+-12>>2]|0)|0);t=VF(q,56736)|0;t=Gb[c[(c[t>>2]|0)+28>>2]&63](t,10)|0;WF(q);OE(p,t)|0;KE(p)|0;ua()}if(!(n<=3.141592653589793)){t=Vf(Vf(NE(Vf(Vf(Vf(56032,32426)|0,32155)|0,35e3)|0,469)|0,35007)|0,32407)|0;GE(q,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);s=VF(q,56736)|0;s=Gb[c[(c[s>>2]|0)+28>>2]&63](s,10)|0;WF(q);OE(t,s)|0;KE(t)|0;ua()}else{n=+zp(k,o);f[g>>2]=n;Ap(r,+f[e>>2],n);n=+z(+(+f[g>>2]));f[g>>2]=n*+f[a+48>>2];n=+f[r>>2];j=+f[r+4>>2];o=+f[r+8>>2];k=+f[r+12>>2];g=a+8|0;t=a+12|0;f[b>>2]=h-(n*l+j*m)+(n*+f[g>>2]+j*+f[t>>2]);f[d>>2]=i-(o*l+k*m)+(o*+f[g>>2]+k*+f[t>>2]);yb=s;return}}function rp(a,b,d,e,g){a=a|0;b=+b;d=+d;e=+e;g=+g;var h=0,i=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0,q=0.0,r=0.0,t=0.0,u=0,v=0,w=0,x=0;x=yb;yb=yb+16|0;h=x;t=+f[a+20>>2];if((((((!(t>b)?(m=+f[a+24>>2],!(m<=b)):0)?(n=+f[a+28>>2],!(n>d)):0)?(o=+f[a+32>>2],!(o<=d)):0)?(p=e,!(p<=-3.141592653589793|p>3.141592653589793)):0)?(q=+f[a+36>>2],!(q>g)):0)?(r=+f[a+40>>2],!(r<=g)):0){if(!(t<=b)){l=Vf(Vf(NE(Vf(Vf(Vf(56032,32121)|0,32155)|0,35e3)|0,360)|0,35007)|0,32242)|0;GE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=VF(h,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(h);OE(l,k)|0;KE(l)|0;ua()}if(!(m>b)){l=Vf(Vf(NE(Vf(Vf(Vf(56032,32257)|0,32155)|0,35e3)|0,361)|0,35007)|0,32242)|0;GE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=VF(h,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(h);OE(l,k)|0;KE(l)|0;ua()}if(!(n<=d)){l=Vf(Vf(NE(Vf(Vf(Vf(56032,32290)|0,32155)|0,35e3)|0,362)|0,35007)|0,32324)|0;GE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=VF(h,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(h);OE(l,k)|0;KE(l)|0;ua()}if(!(o>d)){l=Vf(Vf(NE(Vf(Vf(Vf(56032,32339)|0,32155)|0,35e3)|0,363)|0,35007)|0,32324)|0;GE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=VF(h,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(h);OE(l,k)|0;KE(l)|0;ua()}if(!(p>-3.141592653589793)){l=Vf(Vf(NE(Vf(Vf(Vf(56032,32372)|0,32155)|0,35e3)|0,364)|0,35007)|0,32407)|0;GE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=VF(h,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(h);OE(l,k)|0;KE(l)|0;ua()}if(!(p<=3.141592653589793)){l=Vf(Vf(NE(Vf(Vf(Vf(56032,32426)|0,32155)|0,35e3)|0,365)|0,35007)|0,32407)|0;GE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=VF(h,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(h);OE(l,k)|0;KE(l)|0;ua()}if(!(q<=g)){l=Vf(Vf(NE(Vf(Vf(Vf(56032,32461)|0,32155)|0,35e3)|0,366)|0,35007)|0,32503)|0;GE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=VF(h,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(h);OE(l,k)|0;KE(l)|0;ua()}if(!(r>g)){l=Vf(Vf(NE(Vf(Vf(Vf(56032,32522)|0,32155)|0,35e3)|0,367)|0,35007)|0,32503)|0;GE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=VF(h,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(h);OE(l,k)|0;KE(l)|0;ua()}h=a+68|0;i=a+72|0;l=a+76|0;j=a+80|0;sp(a,h,i,l,j,b,d,e,g);h=~~+s(+(+f[h>>2]+-.5));i=~~+s(+(+f[i>>2]+-.5));l=~~+s(+(+f[l>>2]+-.5));j=~~+s(+(+f[j>>2]+-.5));k=c[a+60>>2]|0;l=(k+l|0)%(k|0)|0;if((((h|0)>=0?(u=h+1|0,!((i|0)<0?1:(u|0)>=(c[a+52>>2]|0))):0)?(v=i+1|0,!((j|0)<0?1:(v|0)>=(c[a+56>>2]|0))):0)?(w=j+1|0,(w|0)<(c[a+64>>2]|0)):0){k=(l+1|0)%(k|0)|0;up(a,tp(a,h,i,l,j)|0,1);up(a,tp(a,u,i,l,j)|0,1);up(a,tp(a,u,v,l,j)|0,1);up(a,tp(a,u,v,k,j)|0,1);up(a,tp(a,u,v,k,w)|0,1);up(a,tp(a,u,v,l,w)|0,1);up(a,tp(a,u,i,k,j)|0,1);up(a,tp(a,u,i,k,w)|0,1);up(a,tp(a,u,i,l,w)|0,1);up(a,tp(a,h,v,l,j)|0,1);up(a,tp(a,h,v,k,j)|0,1);up(a,tp(a,h,v,k,w)|0,1);up(a,tp(a,h,v,l,w)|0,1);up(a,tp(a,h,i,k,j)|0,1);up(a,tp(a,h,i,k,w)|0,1);up(a,tp(a,h,i,l,w)|0,1);h=1}else h=0}else h=0;yb=x;return h|0}function sp(a,b,d,e,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=+h;i=+i;j=+j;k=+k;var l=0.0,m=0.0;l=+(c[a+52>>2]|0);m=+f[a+20>>2];f[b>>2]=+zp(h-m,+f[a+24>>2]-m)*l;h=+(c[a+56>>2]|0);l=+f[a+28>>2];f[d>>2]=+zp(i-l,+f[a+32>>2]-l)*h;f[e>>2]=(j+3.141592653589793)*.15915494309189535*+(c[a+60>>2]|0);j=+(c[a+64>>2]|0);i=+f[a+36>>2];f[g>>2]=+zp(k-i,+f[a+40>>2]-i)*j;return}function tp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=yb;yb=yb+16|0;h=k;if((b|0)<=-1){j=Vf(Vf(NE(Vf(Vf(Vf(56032,32616)|0,32155)|0,35e3)|0,165)|0,35007)|0,32649)|0;GE(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=VF(h,56736)|0;i=Gb[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;WF(h);OE(j,i)|0;KE(j)|0;ua()}g=c[a+52>>2]|0;if((g|0)<=(b|0)){j=Vf(Vf(NE(Vf(Vf(Vf(56032,32667)|0,32155)|0,35e3)|0,166)|0,35007)|0,32649)|0;GE(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=VF(h,56736)|0;i=Gb[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;WF(h);OE(j,i)|0;KE(j)|0;ua()}if((d|0)<=-1){j=Vf(Vf(NE(Vf(Vf(Vf(56032,32707)|0,32155)|0,35e3)|0,167)|0,35007)|0,32740)|0;GE(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=VF(h,56736)|0;i=Gb[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;WF(h);OE(j,i)|0;KE(j)|0;ua()}i=c[a+56>>2]|0;if((i|0)<=(d|0)){j=Vf(Vf(NE(Vf(Vf(Vf(56032,32758)|0,32155)|0,35e3)|0,168)|0,35007)|0,32740)|0;GE(h,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);l=VF(h,56736)|0;l=Gb[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;WF(h);OE(j,l)|0;KE(j)|0;ua()}if((e|0)<=-1){l=Vf(Vf(NE(Vf(Vf(Vf(56032,32798)|0,32155)|0,35e3)|0,169)|0,35007)|0,32835)|0;GE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);j=VF(h,56736)|0;j=Gb[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;WF(h);OE(l,j)|0;KE(l)|0;ua()}j=c[a+60>>2]|0;if((j|0)<=(e|0)){l=Vf(Vf(NE(Vf(Vf(Vf(56032,32857)|0,32155)|0,35e3)|0,170)|0,35007)|0,32835)|0;GE(h,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);m=VF(h,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(h);OE(l,m)|0;KE(l)|0;ua()}if((f|0)<=-1){m=Vf(Vf(NE(Vf(Vf(Vf(56032,32905)|0,32155)|0,35e3)|0,171)|0,35007)|0,32942)|0;GE(h,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);l=VF(h,56736)|0;l=Gb[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;WF(h);OE(m,l)|0;KE(m)|0;ua()}if((c[a+64>>2]|0)<=(f|0)){m=Vf(Vf(NE(Vf(Vf(Vf(56032,32964)|0,32155)|0,35e3)|0,172)|0,35007)|0,32942)|0;GE(h,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);l=VF(h,56736)|0;l=Gb[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;WF(h);OE(m,l)|0;KE(m)|0;ua()}m=(B(g,d)|0)+b|0;l=(B(c[a+84>>2]|0,e)|0)+m|0;a=l+(B(c[a+88>>2]|0,f)|0)|0;if((a|0)>((B(B(i,g)|0,(B(j,f)|0)+e|0)|0)+m|0)){m=Vf(Vf(NE(Vf(Vf(Vf(56032,33012)|0,32155)|0,35e3)|0,176)|0,35007)|0,32597)|0;GE(h,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);l=VF(h,56736)|0;l=Gb[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;WF(h);OE(m,l)|0;KE(m)|0;ua()}else{yb=k;return a|0}return 0}function up(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=yb;yb=yb+32|0;e=s+8|0;n=s;if((b|0)<=-1){r=Vf(Vf(NE(Vf(Vf(Vf(56032,32563)|0,32155)|0,35e3)|0,290)|0,35007)|0,32597)|0;GE(e,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=VF(e,56736)|0;q=Gb[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;WF(e);OE(r,q)|0;KE(r)|0;ua()}r=a+92|0;c[e>>2]=b;g=vp(r,e)|0;if(!g){c[n>>2]=b;c[n+4>>2]=d;p=a+96|0;k=c[p>>2]|0;q=(k|0)==0;a:do if(!q){l=k+-1|0;m=(l&k|0)==0;if(!m)if(k>>>0>b>>>0)d=b;else d=(b>>>0)%(k>>>0)|0;else d=l&b;g=c[(c[r>>2]|0)+(d<<2)>>2]|0;if(!g)o=19;else do{g=c[g>>2]|0;if(!g){o=19;break a}h=c[g+4>>2]|0;if((h|0)!=(b|0)){if(!m){if(h>>>0>=k>>>0)h=(h>>>0)%(k>>>0)|0}else h=h&l;if((h|0)!=(d|0)){o=19;break a}}}while((c[g+8>>2]|0)!=(b|0))}else{d=0;o=19}while(0);if((o|0)==19){wp(e,r,b,n);l=a+104|0;i=+(((c[l>>2]|0)+1|0)>>>0);j=+f[a+108>>2];do if(q|j*+(k>>>0)>>0<3|(k+-1&k|0)!=0)&1;g=~~+A(+(i/j))>>>0;xp(r,d>>>0>>0?g:d);d=c[p>>2]|0;g=d+-1|0;if(!(g&d)){k=d;d=g&b;break}if(d>>>0>b>>>0){k=d;d=b}else{k=d;d=(b>>>0)%(d>>>0)|0}}while(0);g=c[(c[r>>2]|0)+(d<<2)>>2]|0;if(!g){h=a+100|0;c[c[e>>2]>>2]=c[h>>2];c[h>>2]=c[e>>2];c[(c[r>>2]|0)+(d<<2)>>2]=h;h=c[e>>2]|0;d=c[h>>2]|0;if(d){d=c[d+4>>2]|0;g=k+-1|0;if(g&k){if(d>>>0>=k>>>0)d=(d>>>0)%(k>>>0)|0}else d=d&g;c[(c[r>>2]|0)+(d<<2)>>2]=h}}else{c[c[e>>2]>>2]=c[g>>2];c[g>>2]=c[e>>2]}c[l>>2]=(c[l>>2]|0)+1;c[e>>2]=0}}else{r=g+12|0;c[r>>2]=(c[r>>2]|0)+d}yb=s;return}function vp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[b>>2]|0;f=c[a+4>>2]|0;a:do if(f){g=f+-1|0;h=(g&f|0)==0;if(!h)if(e>>>0>>0)d=e;else d=(e>>>0)%(f>>>0)|0;else d=g&e;b=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(b)while(1){b=c[b>>2]|0;if(!b){b=0;break a}a=c[b+4>>2]|0;if((a|0)==(e|0)){if((c[b+8>>2]|0)==(e|0))break a}else{if(!h){if(a>>>0>=f>>>0)a=(a>>>0)%(f>>>0)|0}else a=a&g;if((a|0)!=(d|0)){b=0;break a}}}else b=0}else b=0;while(0);return b|0}function wp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=rB(16)|0;c[b>>2]=g;c[b+4>>2]=d+8;c[g+8>>2]=c[f>>2];c[g+12>>2]=c[f+4>>2];a[b+8>>0]=1;c[g+4>>2]=e;c[g>>2]=0;return}function xp(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=yD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=yD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)yp(a,b)}}else yp(a,b);return}function yp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;bO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=rB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Nf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Nf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function zp(a,b){a=+a;b=+b;return +(a/(b==0.0?1.0:b))}function Ap(a,b,c){a=a|0;b=+b;c=+c;var d=0.0;d=+w(+b)*c;c=+x(+b)*c;f[a>>2]=d;f[a+4>>2]=-c;f[a+8>>2]=c;f[a+12>>2]=d;return}function Bp(a,b){a=a|0;b=b|0;return +(+Cp(a,b,(b&1)+-1+((b|0)/2|0)|0))}function Cp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0,h=0.0,i=0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0;r=yb;yb=yb+16|0;e=r;if((b|0)<=0){q=Vf(Vf(NE(Vf(Vf(Vf(56032,33419)|0,33448)|0,35e3)|0,53)|0,35007)|0,33521)|0;GE(e,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);p=VF(e,56736)|0;p=Gb[c[(c[p>>2]|0)+28>>2]&63](p,10)|0;WF(e);OE(q,p)|0;KE(q)|0;ua()}if((d|0)<=0){q=Vf(Vf(NE(Vf(Vf(Vf(56032,33540)|0,33448)|0,35e3)|0,54)|0,35007)|0,33569)|0;GE(e,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);p=VF(e,56736)|0;p=Gb[c[(c[p>>2]|0)+28>>2]&63](p,10)|0;WF(e);OE(q,p)|0;KE(q)|0;ua()}p=d+-1|0;q=a+(p<<2)|0;m=b+-1|0;n=0;while(1){o=+f[q>>2];if((n|0)>=(m|0))break;e=n;b=m;do{while(1){i=a+(e<<2)|0;j=+f[i>>2];k=e+1|0;if(j>2];l=b+-1|0;if(o>2]=h;f[g>>2]=j;e=k;b=l}}while((e|0)<=(b|0));m=(e|0)<(d|0)?m:b;n=(b|0)<(p|0)?e:n}yb=r;return +o}function Dp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0,h=0;f[b>>2]=0.0;c[d>>2]=-1;a=a+100|0;e=0.0;while(1){a=c[a>>2]|0;if(!a)break;g=a;h=g+12|0;if(e<+((c[h>>2]|0)>>>0)){c[d>>2]=c[g+8>>2];e=+((c[h>>2]|0)>>>0);f[b>>2]=e}}return}function Ep(a){a=a|0;io(a,1760,12);io(a+48|0,1808,12);io(a+96|0,1856,12);io(a+144|0,1904,12);io(a+192|0,1952,12);io(a+240|0,2e3,12);f[a+288>>2]=.10000000149011612;f[a+292>>2]=.17499999701976776;f[a+296>>2]=.25;f[a+300>>2]=.32499998807907104;f[a+304>>2]=.4000000059604645;f[a+308>>2]=.4749999940395355;f[a+312>>2]=.550000011920929;f[a+316>>2]=7.0;return}function Fp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;dm(b,96);Gp(b,((c[e+4>>2]|0)-(c[e>>2]|0)|0)/20|0);Hp(b,d,e,a,a+48|0,a+96|0,a+144|0,a+192|0,a+240|0,+f[a+288>>2],+f[a+292>>2],+f[a+296>>2],+f[a+300>>2],+f[a+304>>2],+f[a+308>>2],+f[a+312>>2],+f[a+316>>2]);return}function Gp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=yb;yb=yb+16|0;f=e;g=B(c[b>>2]|0,d)|0;a[f>>0]=0;Up(b+4|0,g,f);fm(b+16|0,d);yb=e;return}function Hp(b,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=+l;m=+m;n=+n;o=+o;p=+p;q=+q;r=+r;s=+s;var t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=yb;yb=yb+16|0;x=z;if(!d){y=Vf(Vf(NE(Vf(Vf(Vf(56032,33588)|0,33619)|0,35e3)|0,537)|0,35007)|0,33688)|0;GE(x,y+(c[(c[y>>2]|0)+-12>>2]|0)|0);w=VF(x,56736)|0;w=Gb[c[(c[w>>2]|0)+28>>2]&63](w,10)|0;WF(x);OE(y,w)|0;KE(y)|0;ua()}w=yk(b)|0;y=e+4|0;v=c[y>>2]|0;u=c[e>>2]|0;if((w|0)!=((v-u|0)/20|0|0)){w=Vf(Vf(NE(Vf(Vf(Vf(56032,33704)|0,33619)|0,35e3)|0,538)|0,35007)|0,33757)|0;GE(x,w+(c[(c[w>>2]|0)+-12>>2]|0)|0);t=VF(x,56736)|0;t=Gb[c[(c[t>>2]|0)+28>>2]&63](t,10)|0;WF(x);OE(w,t)|0;KE(w)|0;ua()}w=0;t=0;while(1){u=(v-u|0)/20|0;if(w>>>0>=u>>>0)break;v=Ip(b,t)|0;if(Jp(v,d,(c[e>>2]|0)+(w*20|0)|0,f,g,h,i,j,k,l,m,n,o,p,q,r,s)|0){u=(c[e>>2]|0)+(w*20|0)|0;v=Kp(b,t)|0;c[v>>2]=c[u>>2];c[v+4>>2]=c[u+4>>2];c[v+8>>2]=c[u+8>>2];c[v+12>>2]=c[u+12>>2];a[v+16>>0]=a[u+16>>0]|0;t=t+1|0}w=w+1|0;u=c[e>>2]|0;v=c[y>>2]|0}if((t|0)==(u|0)){Gp(b,t);yb=z;return}else{z=Vf(Vf(NE(Vf(Vf(Vf(56032,33794)|0,33619)|0,35e3)|0,617)|0,35007)|0,33845)|0;GE(x,z+(c[(c[z>>2]|0)+-12>>2]|0)|0);k=VF(x,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(x);OE(z,k)|0;KE(z)|0;ua()}}function Ip(a,b){a=a|0;b=b|0;b=B(c[a>>2]|0,b)|0;return (c[a+4>>2]|0)+b|0}function Jp(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=+j;k=+k;l=+l;m=+m;n=+n;o=+o;p=+p;q=+q;var r=0,s=0;s=yb;yb=yb+160|0;r=s;if(Lp(r,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q)|0){Mp(a,r);a=1}else a=0;yb=s;return a|0}function Kp(a,b){a=a|0;b=b|0;return (c[a+16>>2]|0)+(b*20|0)|0}function Lp(a,b,d,e,g,h,i,j,k,l,m,n,o,p,q,r,s){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=+l;m=+m;n=+n;o=+o;p=+p;q=+q;r=+r;s=+s;var t=0,u=0,v=0,w=0.0,x=0.0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0;t=yb;yb=yb+336|0;aa=t+288|0;y=t+240|0;D=t+192|0;I=t+144|0;N=t+96|0;S=t+48|0;X=t;v=t+328|0;u=t+324|0;x=+f[d+12>>2]*s;x=x<1.0?1.0:x;Op(aa,+f[d>>2],+f[d+4>>2],+f[d+8>>2],x);w=+f[aa+8>>2];s=+f[aa+20>>2];Pp(y,aa,e);C=y+8|0;Pp(C,aa,e+8|0);B=y+16|0;Pp(B,aa,e+16|0);A=y+24|0;Pp(A,aa,e+24|0);z=y+32|0;Pp(z,aa,e+32|0);d=y+40|0;Pp(d,aa,e+40|0);Pp(D,aa,g);H=D+8|0;Pp(H,aa,g+8|0);G=D+16|0;Pp(G,aa,g+16|0);F=D+24|0;Pp(F,aa,g+24|0);E=D+32|0;Pp(E,aa,g+32|0);e=D+40|0;Pp(e,aa,g+40|0);Pp(I,aa,h);M=I+8|0;Pp(M,aa,h+8|0);L=I+16|0;Pp(L,aa,h+16|0);K=I+24|0;Pp(K,aa,h+24|0);J=I+32|0;Pp(J,aa,h+32|0);g=I+40|0;Pp(g,aa,h+40|0);Pp(N,aa,i);R=N+8|0;Pp(R,aa,i+8|0);Q=N+16|0;Pp(Q,aa,i+16|0);P=N+24|0;Pp(P,aa,i+24|0);O=N+32|0;Pp(O,aa,i+32|0);h=N+40|0;Pp(h,aa,i+40|0);Pp(S,aa,j);W=S+8|0;Pp(W,aa,j+8|0);V=S+16|0;Pp(V,aa,j+16|0);U=S+24|0;Pp(U,aa,j+24|0);T=S+32|0;Pp(T,aa,j+32|0);i=S+40|0;Pp(i,aa,j+40|0);Pp(X,aa,k);$=X+8|0;Pp($,aa,k+8|0);_=X+16|0;Pp(_,aa,k+16|0);Z=X+24|0;Pp(Z,aa,k+24|0);Y=X+32|0;Pp(Y,aa,k+32|0);j=X+40|0;Pp(j,aa,k+40|0);Qp(b,v,u,x*r);f[a>>2]=+Rp(b,+f[X>>2],+f[X+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+4>>2]=+Rp(b,+f[$>>2],+f[X+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+8>>2]=+Rp(b,+f[_>>2],+f[X+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+12>>2]=+Rp(b,+f[Z>>2],+f[X+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+16>>2]=+Rp(b,+f[Y>>2],+f[X+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+20>>2]=+Rp(b,+f[j>>2],+f[X+44>>2],c[v>>2]|0,c[u>>2]|0);Qp(b,v,u,x*q);f[a+24>>2]=+Rp(b,+f[S>>2],+f[S+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+28>>2]=+Rp(b,+f[W>>2],+f[S+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+32>>2]=+Rp(b,+f[V>>2],+f[S+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+36>>2]=+Rp(b,+f[U>>2],+f[S+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+40>>2]=+Rp(b,+f[T>>2],+f[S+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+44>>2]=+Rp(b,+f[i>>2],+f[S+44>>2],c[v>>2]|0,c[u>>2]|0);Qp(b,v,u,x*p);f[a+48>>2]=+Rp(b,+f[N>>2],+f[N+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+52>>2]=+Rp(b,+f[R>>2],+f[N+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+56>>2]=+Rp(b,+f[Q>>2],+f[N+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+60>>2]=+Rp(b,+f[P>>2],+f[N+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+64>>2]=+Rp(b,+f[O>>2],+f[N+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+68>>2]=+Rp(b,+f[h>>2],+f[N+44>>2],c[v>>2]|0,c[u>>2]|0);Qp(b,v,u,x*o);f[a+72>>2]=+Rp(b,+f[I>>2],+f[I+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+76>>2]=+Rp(b,+f[M>>2],+f[I+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+80>>2]=+Rp(b,+f[L>>2],+f[I+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+84>>2]=+Rp(b,+f[K>>2],+f[I+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+88>>2]=+Rp(b,+f[J>>2],+f[I+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+92>>2]=+Rp(b,+f[g>>2],+f[I+44>>2],c[v>>2]|0,c[u>>2]|0);Qp(b,v,u,x*n);f[a+96>>2]=+Rp(b,+f[D>>2],+f[D+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+100>>2]=+Rp(b,+f[H>>2],+f[D+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+104>>2]=+Rp(b,+f[G>>2],+f[D+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+108>>2]=+Rp(b,+f[F>>2],+f[D+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+112>>2]=+Rp(b,+f[E>>2],+f[D+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+116>>2]=+Rp(b,+f[e>>2],+f[D+44>>2],c[v>>2]|0,c[u>>2]|0);Qp(b,v,u,x*m);f[a+120>>2]=+Rp(b,+f[y>>2],+f[y+4>>2],c[v>>2]|0,c[u>>2]|0);f[a+124>>2]=+Rp(b,+f[C>>2],+f[y+12>>2],c[v>>2]|0,c[u>>2]|0);f[a+128>>2]=+Rp(b,+f[B>>2],+f[y+20>>2],c[v>>2]|0,c[u>>2]|0);f[a+132>>2]=+Rp(b,+f[A>>2],+f[y+28>>2],c[v>>2]|0,c[u>>2]|0);f[a+136>>2]=+Rp(b,+f[z>>2],+f[y+36>>2],c[v>>2]|0,c[u>>2]|0);f[a+140>>2]=+Rp(b,+f[d>>2],+f[y+44>>2],c[v>>2]|0,c[u>>2]|0);Qp(b,v,u,x*l);f[a+144>>2]=+Rp(b,w,s,c[v>>2]|0,c[u>>2]|0);yb=t;return 1}function Mp(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,g=0,h=0,i=0,j=0,k=0;Gl(a,84);c=0;g=0;i=36;j=35;k=36;while(1){if((c|0)==37)break;h=c+1|0;e=b+(c<<2)|0;c=h;d=g;while(1){if((d|0)==(k|0))break;Np(a,d,+f[e>>2]<+f[b+(c<<2)>>2]&1);c=c+1|0;d=d+1|0}e=k+j|0;c=h;g=g+i|0;i=i+-1|0;j=j+-1|0;k=e}return}function Np(b,c,e){b=b|0;c=c|0;e=e|0;b=b+((c|0)/8|0)|0;a[b>>0]=(e&255)<<(c&7)|(d[b>>0]|0);return}function Op(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;var g=0.0;g=+w(+d)*e;e=+x(+d)*e;f[a>>2]=g;f[a+4>>2]=-e;f[a+8>>2]=b;f[a+12>>2]=e;f[a+16>>2]=g;f[a+20>>2]=c;f[a+24>>2]=0.0;f[a+28>>2]=0.0;f[a+32>>2]=1.0;return}function Pp(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=c+4|0;f[a>>2]=+f[b+8>>2]+(+f[b>>2]*+f[c>>2]+ +f[b+4>>2]*+f[d>>2]);f[a+4>>2]=+f[b+20>>2]+(+f[b+12>>2]*+f[c>>2]+ +f[b+16>>2]*+f[d>>2]);return}function Qp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=yb;yb=yb+16|0;l=m;g=~~+s(+(+Mi(e)));c[b>>2]=g;e=+z(+(e/+(1<>2]*e);c[d>>2]=g;j=a+20|0;if(((c[j>>2]|0)+-1|0)==(g|0)){c[b>>2]=(c[b>>2]|0)+1;c[d>>2]=0;g=0}h=c[b>>2]|0;if((h|0)>=0){i=c[a+16>>2]|0;if((h|0)<(i|0))h=g;else{c[b>>2]=i+-1;g=(c[j>>2]|0)+-1|0;k=7}}else{c[b>>2]=0;g=0;k=7}if((k|0)==7){c[d>>2]=g;h=g}g=c[b>>2]|0;if((g|0)<=-1){k=Vf(Vf(NE(Vf(Vf(Vf(56032,33865)|0,33900)|0,35e3)|0,268)|0,35007)|0,33993)|0;GE(l,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);b=VF(l,56736)|0;b=Gb[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;WF(l);OE(k,b)|0;KE(k)|0;ua()}if((g|0)>=(c[a+16>>2]|0)){a=Vf(Vf(NE(Vf(Vf(Vf(56032,34017)|0,33900)|0,35e3)|0,269)|0,35007)|0,34061)|0;GE(l,a+(c[(c[a>>2]|0)+-12>>2]|0)|0);k=VF(l,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(l);OE(a,k)|0;KE(a)|0;ua()}if((h|0)<=-1){a=Vf(Vf(NE(Vf(Vf(Vf(56032,34104)|0,33900)|0,35e3)|0,270)|0,35007)|0,34138)|0;GE(l,a+(c[(c[a>>2]|0)+-12>>2]|0)|0);k=VF(l,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(l);OE(a,k)|0;KE(a)|0;ua()}if((h|0)<(c[j>>2]|0)){yb=m;return}else{m=Vf(Vf(NE(Vf(Vf(Vf(56032,34161)|0,33900)|0,35e3)|0,271)|0,35007)|0,34212)|0;GE(l,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);a=VF(l,56736)|0;a=Gb[c[(c[a>>2]|0)+28>>2]&63](a,10)|0;WF(l);OE(m,a)|0;KE(m)|0;ua()}}function Rp(a,b,c,d,e){a=a|0;b=+b;c=+c;d=d|0;e=e|0;var g=0,h=0,i=0;g=yb;yb=yb+16|0;i=g+4|0;h=g;e=Jg(a,d,e)|0;ki(i,h,b,c,d);c=+Sp(e,+f[i>>2],+f[h>>2]);yb=g;return +c}function Sp(a,b,c){a=a|0;b=+b;c=+c;return +(+Tp(a,b,c))}function Tp(a,b,c){a=a|0;b=+b;c=+c;b=+Xh(b,0.0,+(((Lg(a)|0)+-2|0)>>>0));return +(+Ai(a,b,+Xh(c,0.0,+(((Mg(a)|0)+-2|0)>>>0))))}function Up(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+4|0;g=c[a>>2]|0;f=(c[e>>2]|0)-g|0;if(f>>>0>=b>>>0){if(f>>>0>b>>>0)c[e>>2]=g+b}else Vp(a,b-f|0,d);return}function Vp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=yb;yb=yb+32|0;h=k;i=b+8|0;j=b+4|0;f=c[j>>2]|0;do if(((c[i>>2]|0)-f|0)>>>0>>0){f=f-(c[b>>2]|0)+d|0;g=kg(b)|0;if(g>>>0>>0)CO(b);else{l=c[b>>2]|0;m=(c[i>>2]|0)-l|0;i=m<<1;lg(h,m>>>0>>1>>>0?(i>>>0>>0?f:i):g,(c[j>>2]|0)-l|0,b+8|0);Wp(h,d,e);mg(b,h);ng(h);break}}else do{a[f>>0]=a[e>>0]|0;f=(c[j>>2]|0)+1|0;c[j>>2]=f;d=d+-1|0}while((d|0)!=0);while(0);yb=k;return}function Wp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=b+8|0;b=d;d=c[f>>2]|0;do{a[d>>0]=a[e>>0]|0;d=(c[f>>2]|0)+1|0;c[f>>2]=d;b=b+-1|0}while((b|0)!=0);return}function Xp(a){a=a|0;var b=0,d=0,e=0;b=yb;yb=yb+272|0;e=b+256|0;d=b;Ta(e|0)|0;Ra(d|0,256,34263,Oa(e|0)|0)|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;eO(a,d,Wf(d)|0);yb=b;return}function Yp(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;c[a+28>>2]=0;return}function Zp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=yb;yb=yb+16|0;f=i;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=c[b+20>>2];g=a+24|0;h=c[b+24>>2]|0;c[f>>2]=h;e=f+4|0;b=c[b+28>>2]|0;c[e>>2]=b;if(!b){d=e;b=0}else{d=b+4|0;c[d>>2]=(c[d>>2]|0)+1;d=e;b=c[e>>2]|0}c[f>>2]=c[g>>2];c[g>>2]=h;h=a+28|0;c[d>>2]=c[h>>2];c[h>>2]=b;_p(f);yb=i;return}function _p(a){a=a|0;var b=0,d=0;a=c[a+4>>2]|0;if(a|0?(d=a+4|0,b=c[d>>2]|0,c[d>>2]=b+-1,(b|0)==0):0){Qb[c[(c[a>>2]|0)+8>>2]&255](a);YN(a)}return}function $p(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;c[a+28>>2]=0;Zp(a,b);return}function aq(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;l=yb;yb=yb+32|0;i=l+16|0;j=l+8|0;k=l;if(!d){h=Vf(Vf(NE(Vf(Vf(Vf(56032,34281)|0,34314)|0,35e3)|0,127)|0,35007)|0,34386)|0;GE(i,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);m=VF(i,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(i);OE(h,m)|0;KE(h)|0;ua()}if(!e){m=Vf(Vf(NE(Vf(Vf(Vf(56032,34407)|0,34314)|0,35e3)|0,128)|0,35007)|0,34441)|0;GE(i,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);h=VF(i,56736)|0;h=Gb[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;WF(i);OE(m,h)|0;KE(m)|0;ua()}if(f>>>0>>0){m=Vf(Vf(NE(Vf(Vf(Vf(56032,34463)|0,34314)|0,35e3)|0,129)|0,35007)|0,34500)|0;GE(i,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);h=VF(i,56736)|0;h=Gb[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;WF(i);OE(m,h)|0;KE(m)|0;ua()}if(!g){m=Vf(Vf(NE(Vf(Vf(Vf(56032,34545)|0,34314)|0,35e3)|0,130)|0,35007)|0,34581)|0;GE(i,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);h=VF(i,56736)|0;h=Gb[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;WF(i);OE(m,h)|0;KE(m)|0;ua()}if((f|0)<0)f=B(B(g,d)|0,bq(b)|0)|0;c[a+12>>2]=f;f=B(f,e)|0;h=a+20|0;if((c[h>>2]|0)!=(f|0)?(m=a+24|0,o=sB(f)|0,c[k>>2]=0,c[i>>2]=c[k>>2],cq(j,o,i),o=c[j>>2]|0,c[j>>2]=c[m>>2],c[m>>2]=o,o=j+4|0,k=a+28|0,n=c[o>>2]|0,c[o>>2]=c[k>>2],c[k>>2]=n,_p(j),(c[m>>2]|0)==0):0){o=Vf(Vf(NE(Vf(Vf(Vf(56032,34615)|0,34314)|0,35e3)|0,149)|0,35007)|0,34650)|0;GE(i,o+(c[(c[o>>2]|0)+-12>>2]|0)|0);n=VF(i,56736)|0;n=Gb[c[(c[n>>2]|0)+28>>2]&63](n,10)|0;WF(i);OE(o,n)|0;KE(o)|0;ua()}c[a>>2]=b;c[a+4>>2]=d;c[a+8>>2]=e;c[a+16>>2]=g;c[h>>2]=f;yb=l;return}function bq(a){a=a|0;var b=0,d=0;d=yb;yb=yb+16|0;b=d;switch(a|0){case 1:break;case 2:{a=4;break}default:{d=O(16)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;eO(b,34774,Wf(34774)|0);kj(d,b);Q(d|0,13208,5)}}yb=d;return a|0}function cq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=yb;yb=yb+16|0;e=d;c[a>>2]=b;f=rB(16)|0;c[f+4>>2]=0;c[f+8>>2]=0;c[f>>2]=15768;c[f+12>>2]=b;c[a+4>>2]=f;c[e>>2]=b;c[e+4>>2]=b;dq(a,e);yb=d;return}function dq(a,b){a=a|0;b=b|0;return}function eq(a){a=a|0;XN(a);QA(a);return}function fq(a){a=a|0;QA(c[a+12>>2]|0);return}function gq(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==34671?a+12|0:0)|0}function hq(a){a=a|0;Nf(a,16);return}function iq(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;j=yb;yb=yb+16|0;k=j+8|0;l=j+4|0;m=j;c[b>>2]=e;c[b+4>>2]=f;c[b+8>>2]=g;c[b+16>>2]=i;c[b+20>>2]=B(h,g)|0;c[m>>2]=0;a[l>>0]=a[j+12>>0]|0;c[k>>2]=c[m>>2];jq(b+24|0,d,l,k);if((h|0)<0)h=B(B(i,f)|0,bq(e)|0)|0;c[b+12>>2]=h;yb=j;return}function jq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;e=yb;yb=yb+16|0;d=e;c[a>>2]=b;f=rB(16)|0;c[f+4>>2]=0;c[f+8>>2]=0;c[f>>2]=15796;c[f+12>>2]=b;c[a+4>>2]=f;c[d>>2]=b;c[d+4>>2]=b;dq(a,d);yb=e;return}function kq(a,b){a=a|0;b=b|0;return}function lq(a){a=a|0;XN(a);QA(a);return}function mq(a){a=a|0;a=a+12|0;kq(a,c[a>>2]|0);return}function nq(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==34793?a+12|0:0)|0}function oq(a){a=a|0;Nf(a,16);return}function pq(a){a=a|0;_p(a+24|0);return}function qq(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;return}function rq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=a+4|0;e=0;while(1){g=c[a>>2]|0;if(e>>>0>=(c[f>>2]|0)-g>>3>>>0)break;g=c[g+(e<<3)>>2]|0;Ub[c[(c[g>>2]|0)+8>>2]&3](g,b,d);e=e+1|0}return}function sq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=yb;yb=yb+48|0;i=f;h=f+28|0;g=f+16|0;c[i>>2]=e;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;eO(g,d,Wf(d)|0);tq(h,g,i);rq(a,b,h);hO(h);hO(g);yb=f;return}function tq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=yb;yb=yb+2048|0;g=f;Hx(g,2048,(a[d+11>>0]|0)<0?c[d>>2]|0:d,e)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;eO(b,g,Wf(g)|0);yb=f;return}function uq(a){a=a|0;g[a>>3]=-1.0;g[a+8>>3]=-1.0;return}function vq(a){a=a|0;var b=0,d=0;b=yb;yb=yb+16|0;d=b;Ka(d|0,0)|0;g[a>>3]=+(c[d+4>>2]|0)*1.0e-06+ +(c[d>>2]|0);yb=b;return}function wq(a){a=a|0;var b=0,d=0;d=yb;yb=yb+16|0;b=d;if(!(+g[a>>3]>=0.0)){d=Vf(Vf(NE(Vf(Vf(Vf(56032,34888)|0,34927)|0,35e3)|0,67)|0,35007)|0,35010)|0;GE(b,d+(c[(c[d>>2]|0)+-12>>2]|0)|0);a=VF(b,56736)|0;a=Gb[c[(c[a>>2]|0)+28>>2]&63](a,10)|0;WF(b);OE(d,a)|0;KE(d)|0;ua()}else{Ka(b|0,0)|0;g[a+8>>3]=+(c[b+4>>2]|0)*1.0e-06+ +(c[b>>2]|0);yb=d;return}}function xq(a){a=a|0;var b=0.0,d=0,e=0.0,f=0,h=0,i=0;f=yb;yb=yb+16|0;d=f;e=+g[a>>3];if(!(e>=0.0)){h=Vf(Vf(NE(Vf(Vf(Vf(56032,34888)|0,34927)|0,35e3)|0,80)|0,35007)|0,35010)|0;GE(d,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);i=VF(d,56736)|0;i=Gb[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;WF(d);OE(h,i)|0;KE(h)|0;ua()}b=+g[a+8>>3];if(!(b>=0.0)){i=Vf(Vf(NE(Vf(Vf(Vf(56032,35037)|0,34927)|0,35e3)|0,81)|0,35007)|0,35075)|0;GE(d,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);h=VF(d,56736)|0;h=Gb[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;WF(d);OE(i,h)|0;KE(i)|0;ua()}else{yb=f;return +(b-e)}return +(0.0)}function yq(a){a=a|0;return +(+xq(a)*1.0e3)}function zq(a,b){a=a|0;b=b|0;var d=0;uq(a);d=a+16|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;eO(d,b,Wf(b)|0);vq(a);return}function Aq(b){b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0.0;k=yb;yb=yb+48|0;j=k;d=k+24|0;wq(b);f=wk()|0;Xp(d);h=(a[d+11>>0]|0)<0?c[d>>2]|0:d;i=b+16|0;if((a[i+11>>0]|0)<0)e=c[i>>2]|0;else e=i;l=+yq(b);c[j>>2]=35129;c[j+4>>2]=h;c[j+8>>2]=35137;c[j+12>>2]=e;g[j+16>>3]=l;sq(f,8,35102,j);hO(d);hO(i);yb=k;return}function Bq(){Cq();Dq();Eq();return}function Cq(){c[13871]=0;c[13872]=0;c[13873]=0;c[13874]=0;c[13875]=1065353216;return}function Dq(){c[13876]=0;c[13877]=0;c[13878]=0;c[13879]=0;c[13880]=1065353216;return}function Eq(){Fq(0);return}function Fq(a){a=a|0;var b=0;a=yb;yb=yb+16|0;b=a;Hq(35173,26);Jq(35179,67);Jq(35188,68);Mq(35197,20);Mq(35208,21);Mq(35224,22);Qq(35238,23);Jq(35256,69);Tq(35276,70);Hq(35288,27);Qq(35305,24);Hq(35325,28);Hq(35343,29);Qq(35365,25);Qq(35388,26);Jq(35417,71);Jq(35430,72);Jq(35443,73);Hq(35459,30);Qq(35478,27);Qq(35488,28);Qq(35501,29);Jq(35514,74);Jq(35527,75);ir(35546,114);kr(35558,1);mr(35570,1);or(35593,1);mr(35616,2);or(35638,2);sr(35660,40);Jq(35677,76);sr(35694,41);Jq(35707,77);sr(35720,42);Jq(35744,78);zr(35768,3);or(35781,3);sr(35794,43);Jq(35812,79);sr(35830,44);Jq(35846,80);sr(35862,45);Jq(35879,81);Hr(35896,15816);Hr(35925,15820);Hr(35953,15824);c[b>>2]=0;Hr(35986,b);c[b>>2]=1;Hr(36003,b);c[b>>2]=0;Hr(36019,b);c[b>>2]=0;Hr(36041,b);c[b>>2]=1;Hr(36066,b);c[b>>2]=1;Hr(36091,b);c[b>>2]=100;Hr(36116,b);c[b>>2]=0;Hr(36143,b);c[b>>2]=1;Hr(36169,b);c[b>>2]=0;Hr(36195,b);c[b>>2]=0;Hr(36222,b);c[b>>2]=1;Hr(36249,b);c[b>>2]=2;Hr(36275,b);c[b>>2]=3;Hr(36300,b);c[b>>2]=4;Hr(36338,b);c[b>>2]=0;Hr(36375,b);c[b>>2]=0;Hr(36409,b);c[b>>2]=1;Hr(36433,b);c[b>>2]=2;Hr(36459,b);c[b>>2]=2;Hr(36486,b);c[b>>2]=5;Hr(36520,b);g[b>>3]=.5;Ir(36538,b);c[b>>2]=0;Hr(36559,b);c[b>>2]=1;Hr(36578,b);c[b>>2]=2;Hr(36596,b);c[b>>2]=3;Hr(36614,b);c[b>>2]=4;Hr(36633,b);c[b>>2]=3;Hr(36655,b);c[b>>2]=515;Hr(36674,b);c[b>>2]=259;Hr(36703,b);c[b>>2]=4;Hr(36731,b);c[b>>2]=772;Hr(36750,b);c[b>>2]=1028;Hr(36780,b);c[b>>2]=0;Hr(36810,b);c[b>>2]=1;Hr(36841,b);c[b>>2]=2;Hr(36877,b);c[b>>2]=3;Hr(36911,b);c[b>>2]=0;Hr(36949,b);c[b>>2]=1;Hr(36982,b);c[b>>2]=2;Hr(37029,b);c[b>>2]=3;Hr(37071,b);c[b>>2]=4;Hr(37114,b);c[b>>2]=5;Hr(37166,b);c[b>>2]=6;Hr(37217,b);c[b>>2]=7;Hr(37262,b);c[b>>2]=8;Hr(37301,b);c[b>>2]=9;Hr(37346,b);yb=a;return}function Gq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=yb;yb=yb+16|0;h=i+8|0;f=i+12|0;g=c[13882]|0;c[13882]=g+1;c[f>>2]=g;g=Sr(55484,f)|0;c[g>>2]=c[f>>2];c[g+208>>2]=a;c[g+212>>2]=b;e=B(a<<2,b)|0;a=g+200|0;c[a>>2]=e;b=g+196|0;c[b>>2]=DO(e)|0;e=g+204|0;c[e>>2]=DO((c[a>>2]|0)/4|0)|0;j=fd()|0;c[g+220>>2]=j;if(!j)Se(0,3,41354,i);wt(c[f>>2]|0,d)|0;c[h>>2]=c[a>>2];Se(0,1,41391,h);za(0,c[g>>2]|0,c[b>>2]|0,c[a>>2]|0,g+344|0,51360,c[e>>2]|0)|0;yb=i;return c[g>>2]|0}function Hq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=yb;yb=yb+16|0;d=c;e=rt(d)|0;d=st(d)|0;ka(a|0,e|0,d|0,tt()|0,8,b|0);yb=c;return}function Iq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=yb;yb=yb+16|0;d=g;c[d>>2]=a;if(!(Rr(55484,d)|0))a=-1;else{f=Sr(55484,d)|0;a=f+196|0;b=c[a>>2]|0;if(b|0){EO(b);c[a>>2]=0;c[f+200>>2]=0}nt(f);hd(c[f+220>>2]|0)|0;ot(55484,d)|0;b=f+328|0;d=f+332|0;a=0;while(1){e=c[b>>2]|0;if(a>>>0>=(c[d>>2]|0)-e>>3>>>0)break;Me(c[e+(a<<3)+4>>2]|0)|0;a=a+1|0}Xr(b);QA(b);Wr(f);QA(f);a=0}yb=g;return a|0}function Jq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=yb;yb=yb+16|0;d=c;e=jt(d)|0;d=kt(d)|0;ka(a|0,e|0,d|0,Ls()|0,30,b|0);yb=c;return}function Kq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=yb;yb=yb+16|0;f=g;b=g+4|0;c[b>>2]=a;if(!(Rr(55484,b)|0))a=-1;else{b=Sr(55484,b)|0;e=b+192|0;a=yt(c[e>>2]|0,c[b+472>>2]|0)|0;d=b+236|0;c[d>>2]=a;if(!a){Se(0,3,41323,f);b=b+232|0;Jf(b)|0;a=c[d>>2]|0}else b=b+232|0;We(a,5.0)|0;Ve(c[d>>2]|0,.5)|0;Ye(c[d>>2]|0,16)|0;Xe(c[d>>2]|0,6)|0;Ze(c[d>>2]|0,6)|0;_e(c[d>>2]|0,6)|0;c[b>>2]=it(c[e>>2]|0)|0;a=0}yb=g;return a|0}function Lq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=yb;yb=yb+16|0;f=g;e=g+4|0;c[e>>2]=b;do if(Rr(55484,e)|0){e=Sr(55484,e)|0;if((a[d+11>>0]|0)<0)d=c[d>>2]|0;b=e+340|0;if(!(ht(d,b,e+220|0)|0)){Se(0,3,41233,f);b=-1;break}else{b=c[b>>2]|0;break}}else b=-1;while(0);yb=g;return b|0}function Mq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=yb;yb=yb+16|0;d=c;e=dt(d)|0;d=et(d)|0;ka(a|0,e|0,d|0,Vs()|0,31,b|0);yb=c;return}function Nq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=yb;yb=yb+16|0;g=j+8|0;e=j+12|0;i=j;c[e>>2]=b;do if(!(Rr(55484,e)|0))b=-1;else{h=Sr(55484,e)|0;if((a[d+11>>0]|0)<0)b=c[d>>2]|0;else b=d;f=h+224|0;if(!(Zs(b,c[h+216>>2]|0,h+220|0,f)|0)){Se(0,3,41157,g);b=-1;break}b=h+328|0;e=h+332|0;d=c[e>>2]|0;c[i>>2]=d-(c[b>>2]|0)>>3;c[i+4>>2]=c[f>>2];if((c[h+336>>2]|0)==(d|0))_s(b,i);else{f=i;g=c[f+4>>2]|0;h=d;c[h>>2]=c[f>>2];c[h+4>>2]=g;c[e>>2]=(c[e>>2]|0)+8}b=c[i>>2]|0}while(0);yb=j;return b|0}function Oq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=yb;yb=yb+16|0;h=i;e=i+4|0;c[e>>2]=b;do if(Rr(55484,e)|0){f=Sr(55484,e)|0;g=f+244|0;b=c[g>>2]|0;if((a[d+11>>0]|0)<0)e=c[d>>2]|0;else e=d;if(!(Ys(f,b,e)|0)){Se(0,3,40842,h);b=-1;break}else{c[g>>2]=(c[g>>2]|0)+1;break}}else b=-1;while(0);yb=i;return b|0}function Pq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=yb;yb=yb+16|0;e=g;c[e>>2]=a;if(((Rr(55484,e)|0)!=0?(f=Sr(55484,e)|0,(b|0)>=0):0)?(d=c[f+328>>2]|0,(c[f+332>>2]|0)-d>>3>>>0>b>>>0):0)a=c[(c[d+(b<<3)+4>>2]|0)+4>>2]|0;else a=-1;yb=g;return a|0}function Qq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=yb;yb=yb+16|0;d=c;e=Ts(d)|0;d=Us(d)|0;ka(a|0,e|0,d|0,Vs()|0,32,b|0);yb=c;return}function Rq(a){a=a|0;var b=0,d=0;d=yb;yb=yb+16|0;b=d;c[b>>2]=a;if(!(Rr(55484,b)|0))a=-1;else{a=Sr(55484,b)|0;a=(c[a+332>>2]|0)-(c[a+328>>2]|0)>>3}yb=d;return a|0}function Sq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=yb;yb=yb+208|0;h=i+192|0;g=i+184|0;d=i;e=b+11|0;if((a[e>>0]|0)<0)f=c[b>>2]|0;else f=b;if((ie(f,1,d,g)|0)<0){if((a[e>>0]|0)<0)b=c[b>>2]|0;c[h>>2]=b;Se(0,3,40778,h);b=-1}else{b=c[13881]|0;c[13881]=b+1;c[g>>2]=b;YO(Ps(55504,g)|0,d|0,184)|0;b=c[g>>2]|0}yb=i;return b|0}function Tq(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=yb;yb=yb+16|0;d=c;e=Js(d)|0;d=Ks(d)|0;ka(a|0,e|0,d|0,Ls()|0,31,b|0);yb=c;return}function Uq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=yb;yb=yb+16|0;e=f;c[e>>2]=a;do if(Rr(55484,e)|0){a=c[(Sr(55484,e)|0)+216>>2]|0;if((c[a+44>>2]|0)>(b|0)){c[((b|0)<0?54536:a+48+(b<<8)|0)+16>>2]=d;a=0;break}else{a=c[3956]|0;break}}else a=c[3954]|0;while(0);yb=f;return a|0}function Vq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0.0,h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n=0.0;e=yb;yb=yb+16|0;d=e;c[d>>2]=a;do if(Rr(55484,d)|0){a=c[(Sr(55484,d)|0)+216>>2]|0;if((c[a+44>>2]|0)>(b|0)){a=(b|0)<0?54536:a+48+(b<<8)|0;n=+g[6420];g[a+168>>3]=n;j=+g[6421];g[a+176>>3]=j;m=+g[6422];g[a+184>>3]=m;i=+g[6423];g[a+192>>3]=i;l=+g[6424];g[a+200>>3]=l;h=+g[6425];g[a+208>>3]=h;k=+g[6426];g[a+216>>3]=k;f=+g[6427];g[a+224>>3]=f;g[a+56>>3]=(n+m+l+k)*.25;g[a+64>>3]=(j+i+h+f)*.25;a=0;break}else{a=c[3956]|0;break}}else a=c[3954]|0;while(0);yb=e;return a|0}function Wq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=yb;yb=yb+16|0;e=f;c[e>>2]=a;do if(Rr(55484,e)|0){a=Sr(55484,e)|0;e=c[a+216>>2]|0;if((c[e+44>>2]|0)>(b|0)){+Sc(c[a+228>>2]|0,(b|0)<0?54536:e+48+(b<<8)|0,+(d|0),51360);a=0;break}else{a=c[3956]|0;break}}else a=c[3954]|0;while(0);yb=f;return a|0}function Xq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=yb;yb=yb+16|0;e=f;c[e>>2]=a;do if(Rr(55484,e)|0){a=Sr(55484,e)|0;e=c[a+216>>2]|0;if((c[e+44>>2]|0)>(b|0)){+Tc(c[a+228>>2]|0,(b|0)<0?54536:e+48+(b<<8)|0,51360,+(d|0),51360);a=0;break}else{a=c[3956]|0;break}}else a=c[3954]|0;while(0);yb=f;return a|0}function Yq(a,b){a=a|0;b=b|0;var d=0,e=0;e=yb;yb=yb+16|0;d=e;c[d>>2]=a;do if(Rr(55484,d)|0){d=Sr(55484,d)|0;a=c[d+328>>2]|0;if((b|0)<0?1:(c[d+332>>2]|0)-a>>3>>>0<=b>>>0){a=c[3955]|0;break}else{a=c[a+(b<<3)+4>>2]|0;b=c[d+216>>2]|0;+Ne(c[d+228>>2]|0,b+48|0,c[b+44>>2]|0,a);Is(a+8|0,51360);a=0;break}}else a=c[3954]|0;while(0);yb=e;return a|0}function Zq(a,b){a=a|0;b=b|0;var d=0,e=0;e=yb;yb=yb+16|0;d=e;c[d>>2]=a;do if(Rr(55484,d)|0){d=Sr(55484,d)|0;a=c[d+328>>2]|0;if((b|0)<0?1:(c[d+332>>2]|0)-a>>3>>>0<=b>>>0){a=c[3955]|0;break}else{a=c[a+(b<<3)+4>>2]|0;b=c[d+216>>2]|0;+Pe(c[d+228>>2]|0,b+48|0,c[b+44>>2]|0,a);Is(a+8|0,51360);a=0;break}}else a=c[3954]|0;while(0);yb=e;return a|0}function _q(a){a=a|0;var b=0,d=0,e=0,f=0;f=yb;yb=yb+48|0;b=f+40|0;e=f;c[b>>2]=a;if(!(Rr(55484,b)|0))a=c[3954]|0;else{a=Sr(55484,b)|0;b=e;d=b+40|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[e>>2]=c[a+196>>2];c[e+16>>2]=1;c[e+12>>2]=c[a+204>>2];a=Kc(c[a+216>>2]|0,e)|0}yb=f;return a|0}function $q(a){a=a|0;var b=0,d=0;d=yb;yb=yb+16|0;b=d;c[b>>2]=a;if(!(Rr(55484,b)|0))a=15816;else a=(c[(Sr(55484,b)|0)+216>>2]|0)+44|0;yb=d;return c[a>>2]|0}function ar(a){a=a|0;var b=0,d=0;d=yb;yb=yb+16|0;b=d;c[b>>2]=a;if(Rr(55484,b)|0)Sr(55484,b)|0;yb=d;return -1}function br(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=yb;yb=yb+16|0;e=f;c[e>>2]=a;do if(Rr(55484,e)|0){e=Sr(55484,e)|0;a=c[e+328>>2]|0;if((b|0)<0?1:(c[e+332>>2]|0)-a>>3>>>0<=b>>>0){a=c[3955]|0;break}a=c[a+(b<<3)+4>>2]|0;if((d|0)<0?1:(c[a+4>>2]|0)<=(d|0)){a=c[3956]|0;break}else{a=c[a>>2]|0;Is(a+(d*320|0)+16|0,51360);ya(1,c[a+(d*320|0)+304>>2]|0,c[a+(d*320|0)>>2]|0,c[a+(d*320|0)+4>>2]|0,+(+g[a+(d*320|0)+8>>3]))|0;a=0;break}}else a=c[3954]|0;while(0);yb=f;return a|0}function cr(a,b){a=a|0;b=b|0;var d=0,e=0;e=yb;yb=yb+16|0;d=e;c[d>>2]=a;do if(Rr(55484,d)|0){a=c[(Sr(55484,d)|0)+216>>2]|0;if((c[a+44>>2]|0)>(b|0)){a=(b|0)<0?54536:a+48+(b<<8)|0;Aa(2,c[a>>2]|0,c[a+4>>2]|0,c[a+8>>2]|0,c[a+12>>2]|0,c[a+16>>2]|0,c[a+20>>2]|0,c[a+24>>2]|0,+(+g[a+32>>3]),+(+g[a+40>>3]),+(+g[a+48>>3]),+(+g[a+56>>3]),+(+g[a+64>>3]),+(+g[a+72>>3]),+(+g[a+80>>3]),+(+g[a+88>>3]),+(+g[a+96>>3]),+(+g[a+104>>3]),+(+g[a+112>>3]),+(+g[a+120>>3]),+(+g[a+128>>3]),+(+g[a+136>>3]),+(+g[a+144>>3]),+(+g[a+152>>3]),+(+g[a+160>>3]),+(+g[a+168>>3]),+(+g[a+176>>3]),+(+g[a+184>>3]),+(+g[a+192>>3]),+(+g[a+200>>3]),+(+g[a+208>>3]),+(+g[a+216>>3]),+(+g[a+224>>3]),c[a+240>>2]|0)|0;a=0;break}else{a=c[3956]|0;break}}else a=c[3954]|0;while(0);yb=e;return a|0}function dr(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=yb;yb=yb+80|0;q=r+56|0;p=r+48|0;d=r+72|0;i=r+76|0;e=r+68|0;n=r;o=r+64|0;c[d>>2]=a;do if(!(Rr(55484,d)|0))a=c[3954]|0;else{k=Sr(55484,d)|0;l=k+244|0;if((c[l>>2]|0)<=(b|0)){a=c[3956]|0;break}c[i>>2]=0;c[e>>2]=-1;f[o>>2]=-1.0;m=k+240|0;a=c[m>>2]|0;do if((a|0)==-2){j=k+232|0;wg(c[j>>2]|0,c[k+204>>2]|0)|0;yg(c[j>>2]|0,i,e)|0;e=c[e>>2]|0;j=c[i>>2]|0;a=-1;d=0;while(1){if((d|0)>=(e|0))break;do if((c[j+(d*68|0)+48>>2]|0)==(b|0)?(c[j+(d*68|0)+60>>2]|0)==0:0){if((a|0)==-1)a=c[j+(d*68|0)+52>>2]|0;else{g=+f[j+(d*68|0)+52>>2];if(!(+f[o>>2]>g))break;a=(f[h>>2]=g,c[h>>2]|0)}c[o>>2]=a;a=d}while(0);d=d+1|0}if((a|0)<=-1){c[m>>2]=-2;d=30;break}i=c[j+48>>2]|0;c[m>>2]=i;e=0;while(1){if((e|0)==3)break;d=0;while(1){if((d|0)==4)break;c[n+(e<<4)+(d<<2)>>2]=c[j+(a*68|0)+(e<<4)+(d<<2)>>2];d=d+1|0}e=e+1|0}tf(c[k+248+(i<<2)>>2]|0,n)|0;a=c[m>>2]|0;d=25}else d=25;while(0);do if((d|0)==25)if((a|0)>-1){a=At(c[k+236>>2]|0,c[k+248+(a<<2)>>2]|0,c[k+196>>2]|0,n,o)|0;if((a|0)<0){c[p>>2]=a;Se(0,1,37701,p);c[m>>2]=-2;d=30;break}p=(c[l>>2]|0)+-1|0;c[q>>2]=c[k+248+(c[m>>2]<<2)>>2];c[q+4>>2]=p;Se(0,1,37720,q);if((c[m>>2]|0)>-1)xa(3,b|0,+(+f[o>>2]),+(+f[n>>2]),+(+f[n+4>>2]),+(+f[n+8>>2]),+(+f[n+12>>2]),+(+f[n+16>>2]),+(+f[n+20>>2]),+(+f[n+24>>2]),+(+f[n+28>>2]),+(+f[n+32>>2]),+(+f[n+36>>2]),+(+f[n+40>>2]),+(+f[n+44>>2]))|0;else d=30}else d=30;while(0);if((d|0)==30)wa(4,b|0)|0;a=0}while(0);yb=r;return a|0}function er(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=yb;yb=yb+16|0;e=f;d=f+4|0;c[d>>2]=a;if(!(Rr(55484,d)|0))b=0;else{a=(b|0)!=0;rc(c[(Sr(55484,d)|0)+216>>2]|0,a&1)|0;c[e>>2]=a?37670:37674;Se(0,1,37679,e)}yb=f;return b|0}function fr(a){a=a|0;var b=0,d=0,e=0;e=yb;yb=yb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Rr(55484,b)|0))a=0;else{vc(c[(Sr(55484,b)|0)+216>>2]|0,d)|0;a=c[d>>2]|0}yb=e;return a|0}function gr(a){a=a|0;var b=0,d=0;d=yb;yb=yb+16|0;b=d;c[b>>2]=a;if(!(Rr(55484,b)|0))a=0;else a=c[(c[(Sr(55484,b)|0)+216>>2]|0)+4834148>>2]|0;yb=d;return a|0}function hr(a){a=a|0;c[3916]=a;return}function ir(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=yb;yb=yb+16|0;d=c;e=Ds(d)|0;d=Es(d)|0;ka(a|0,e|0,d|0,Fs()|0,46,b|0);yb=c;return}function jr(){return c[3916]|0}function kr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=yb;yb=yb+16|0;d=c;e=ys(d)|0;d=zs(d)|0;ka(a|0,e|0,d|0,As()|0,82,b|0);yb=c;return}function lr(a,b){a=a|0;b=+b;var d=0,e=0;e=yb;yb=yb+16|0;d=e;c[d>>2]=a;if(Rr(55484,d)|0)g[(Sr(55484,d)|0)+312>>3]=b;yb=e;return}function mr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=yb;yb=yb+16|0;d=c;e=ss(d)|0;d=ts(d)|0;ka(a|0,e|0,d|0,us()|0,1,b|0);yb=c;return}function nr(a){a=a|0;var b=0.0,d=0,e=0;e=yb;yb=yb+16|0;d=e;c[d>>2]=a;if(!(Rr(55484,d)|0))b=-1.0;else b=+g[(Sr(55484,d)|0)+312>>3];yb=e;return +b}function or(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=yb;yb=yb+16|0;d=c;e=ns(d)|0;d=os(d)|0;ka(a|0,e|0,d|0,ps()|0,1,b|0);yb=c;return}function pr(a,b){a=a|0;b=+b;var d=0,e=0;e=yb;yb=yb+16|0;d=e;c[d>>2]=a;if(Rr(55484,d)|0)g[(Sr(55484,d)|0)+320>>3]=b;yb=e;return}function qr(a){a=a|0;var b=0.0,d=0,e=0;e=yb;yb=yb+16|0;d=e;c[d>>2]=a;if(!(Rr(55484,d)|0))b=-1.0;else b=+g[(Sr(55484,d)|0)+320>>3];yb=e;return +b}function rr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=yb;yb=yb+16|0;e=f;d=f+4|0;c[d>>2]=a;if(Rr(55484,d)|0?(sc(c[(Sr(55484,d)|0)+216>>2]|0,b)|0)==0:0){c[e>>2]=b;Se(0,1,37628,e)}yb=f;return}function sr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=yb;yb=yb+16|0;d=c;e=is(d)|0;d=js(d)|0;ka(a|0,e|0,d|0,ks()|0,2,b|0);yb=c;return}function tr(a){a=a|0;var b=0,d=0,e=0;e=yb;yb=yb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Rr(55484,b)|0))a=-1;else{a=(Ac(c[(Sr(55484,b)|0)+216>>2]|0,d)|0)==0;a=a?c[d>>2]|0:-1}yb=e;return a|0}function ur(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=yb;yb=yb+16|0;f=g;d=g+4|0;c[d>>2]=a;if((Rr(55484,d)|0?(e=Sr(55484,d)|0,b>>>0<=255):0)?(yc(c[e+216>>2]|0,b)|0)==0:0){c[f>>2]=b;Se(0,1,37602,f)}yb=g;return}function vr(a){a=a|0;var b=0,d=0,e=0;e=yb;yb=yb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Rr(55484,b)|0))a=-1;else{a=(zc(c[(Sr(55484,b)|0)+216>>2]|0,d)|0)==0;a=a?c[d>>2]|0:-1}yb=e;return a|0}function wr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=yb;yb=yb+16|0;e=f;d=f+4|0;c[d>>2]=a;if(Rr(55484,d)|0?(Dc(c[(Sr(55484,d)|0)+216>>2]|0,b)|0)==0:0){c[e>>2]=b;Se(0,1,37567,e)}yb=f;return}function xr(a){a=a|0;var b=0,d=0,e=0;e=yb;yb=yb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Rr(55484,b)|0))a=-1;else{a=(Gc(c[(Sr(55484,b)|0)+216>>2]|0,d)|0)==0;a=a?c[d>>2]|0:-1}yb=e;return a|0}function yr(a,b){a=a|0;b=+b;var d=0,e=0,f=0,h=0.0,i=0,j=0;j=yb;yb=yb+16|0;i=j;e=j+8|0;c[e>>2]=a;if(((Rr(55484,e)|0?(f=Sr(55484,e)|0,!(b<=0.0|b>=1.0)):0)?(h=b,d=c[f+216>>2]|0,d|0):0)?(Hc(d,h)|0)==0:0){g[i>>3]=h;Se(0,1,37536,i)}yb=j;return}function zr(a,b){a=a|0;b=b|0;var c=0,d=0,e=0;c=yb;yb=yb+16|0;d=c;e=bs(d)|0;d=cs(d)|0;ka(a|0,e|0,d|0,ds()|0,2,b|0);yb=c;return}function Ar(a){a=a|0;var b=0.0,d=0,e=0,f=0;f=yb;yb=yb+16|0;d=f+8|0;e=f;c[d>>2]=a;if(!(Rr(55484,d)|0))b=-1.0;else{a=c[(Sr(55484,d)|0)+216>>2]|0;if(!a)b=-1.0;else{d=(Ic(a,e)|0)==0;b=d?+g[e>>3]:-1.0}}yb=f;return +b}function Br(a,b){a=a|0;b=b|0;var d=0,e=0;e=yb;yb=yb+16|0;d=e;c[d>>2]=a;if(Rr(55484,d)|0)Ec(c[(Sr(55484,d)|0)+216>>2]|0,b)|0;yb=e;return}function Cr(a){a=a|0;var b=0,d=0,e=0;e=yb;yb=yb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Rr(55484,b)|0))a=-1;else{Fc(c[(Sr(55484,b)|0)+216>>2]|0,d)|0;a=c[d>>2]|0}yb=e;return a|0}function Dr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=yb;yb=yb+16|0;e=f;d=f+4|0;c[d>>2]=a;if(Rr(55484,d)|0?(wc(c[(Sr(55484,d)|0)+216>>2]|0,b)|0)==0:0){c[e>>2]=b;Se(0,1,37506,e)}yb=f;return}function Er(a){a=a|0;var b=0,d=0,e=0;e=yb;yb=yb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Rr(55484,b)|0))a=-1;else{a=(xc(c[(Sr(55484,b)|0)+216>>2]|0,d)|0)==0;a=a?c[d>>2]|0:-1}yb=e;return a|0}function Fr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=yb;yb=yb+16|0;e=f;d=f+4|0;c[d>>2]=a;if(Rr(55484,d)|0?(Bc(c[(Sr(55484,d)|0)+216>>2]|0,b)|0)==0:0){c[e>>2]=b;Se(0,1,37477,e)}yb=f;return}function Gr(a){a=a|0;var b=0,d=0,e=0;e=yb;yb=yb+16|0;b=e;d=e+4|0;c[b>>2]=a;if(!(Rr(55484,b)|0))a=-1;else{a=(Cc(c[(Sr(55484,b)|0)+216>>2]|0,d)|0)==0;a=a?c[d>>2]|0:-1}yb=e;return a|0}function Hr(a,b){a=a|0;b=b|0;var c=0;c=Nr()|0;ha(a|0,c|0,+(+Pr(Or(b)|0)));return}function Ir(a,b){a=a|0;b=b|0;var c=0;c=Jr()|0;ha(a|0,c|0,+(+Lr(+Kr(b))));return}function Jr(){return Mr()|0}function Kr(a){a=a|0;return +(+g[a>>3])}function Lr(a){a=+a;return +a}function Mr(){return 14120}function Nr(){return Qr()|0}function Or(a){a=a|0;return c[a>>2]|0}function Pr(a){a=a|0;return +(+(a|0))}function Qr(){return 14080}function Rr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[b>>2]|0;f=c[a+4>>2]|0;a:do if(f){g=f+-1|0;h=(g&f|0)==0;if(!h)if(e>>>0>>0)d=e;else d=(e>>>0)%(f>>>0)|0;else d=g&e;b=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(b)while(1){b=c[b>>2]|0;if(!b){b=0;break a}a=c[b+4>>2]|0;if((a|0)==(e|0)){if((c[b+8>>2]|0)==(e|0))break a}else{if(!h){if(a>>>0>=f>>>0)a=(a>>>0)%(f>>>0)|0}else a=a&g;if((a|0)!=(d|0)){b=0;break a}}}else b=0}else b=0;while(0);return b|0}function Sr(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=yb;yb=yb+32|0;r=s+4|0;l=s;m=s+16|0;c[l>>2]=b;q=c[b>>2]|0;o=a+4|0;i=c[o>>2]|0;p=(i|0)==0;a:do if(!p){k=i+-1|0;e=(k&i|0)==0;if(!e)if(q>>>0>>0)j=q;else j=(q>>>0)%(i>>>0)|0;else j=k&q;b=c[(c[a>>2]|0)+(j<<2)>>2]|0;if(!b){b=j;n=16}else do{b=c[b>>2]|0;if(!b){b=j;n=16;break a}d=c[b+4>>2]|0;if((d|0)!=(q|0)){if(!e){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&k;if((d|0)!=(j|0)){b=j;n=16;break a}}}while((c[b+8>>2]|0)!=(q|0))}else{b=0;n=16}while(0);if((n|0)==16){Tr(r,a,q,57661,l,m);j=a+12|0;g=+(((c[j>>2]|0)+1|0)>>>0);h=+f[a+16>>2];do if(p|h*+(i>>>0)>>0<3|(i+-1&i|0)!=0)&1;d=~~+A(+(g/h))>>>0;Ur(a,b>>>0>>0?d:b);b=c[o>>2]|0;d=b+-1|0;if(!(d&b)){i=b;b=d&q;break}if(q>>>0>>0){i=b;b=q}else{i=b;b=(q>>>0)%(b>>>0)|0}}while(0);d=c[(c[a>>2]|0)+(b<<2)>>2]|0;if(!d){e=a+8|0;c[c[r>>2]>>2]=c[e>>2];c[e>>2]=c[r>>2];c[(c[a>>2]|0)+(b<<2)>>2]=e;e=c[r>>2]|0;b=c[e>>2]|0;if(!b)b=r;else{b=c[b+4>>2]|0;d=i+-1|0;if(d&i){if(b>>>0>=i>>>0)b=(b>>>0)%(i>>>0)|0}else b=b&d;c[(c[a>>2]|0)+(b<<2)>>2]=e;b=r}}else{c[c[r>>2]>>2]=c[d>>2];c[d>>2]=c[r>>2];b=r}r=c[b>>2]|0;c[j>>2]=(c[j>>2]|0)+1;c[b>>2]=0;b=r}yb=s;return b+16|0}function Tr(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=rB(496)|0;c[b>>2]=h;c[b+4>>2]=d+8;c[h+8>>2]=c[c[g>>2]>>2];g=h+16|0;_O(g|0,0,480)|0;as(g);a[b+8>>0]=1;c[h+4>>2]=e;c[h>>2]=0;return}function Ur(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=yD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=yD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)$r(a,b)}}else $r(a,b);return}function Vr(a){a=a|0;Wr(a+8|0);return}function Wr(a){a=a|0;Xr(a+328|0);Yr(a+288|0);return}function Xr(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Nf(b,(c[a+8>>2]|0)-d|0)}return}function Yr(a){a=a|0;Zr(a);return}function Zr(a){a=a|0;var b=0;_r(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0)Nf(b,c[a+4>>2]<<2);return}function _r(a,b){a=a|0;b=b|0;while(1){if(!b)break;a=c[b>>2]|0;Nf(b,16);b=a}return}function $r(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;bO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=rB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Nf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Nf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function as(a){a=a|0;var b=0;c[a+192>>2]=0;c[a+196>>2]=0;b=a+204|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;c[a+240>>2]=-2;c[a+244>>2]=0;b=a+288|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[a+304>>2]=1065353216;g[a+312>>3]=.0001;g[a+320>>3]=1.0e3;b=a+328|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;c[a+472>>2]=2;return}function bs(a){a=a|0;return 3}function cs(a){a=a|0;return hs()|0}function ds(){return 37531}function es(a,b,c){a=a|0;b=b|0;c=+c;b=fs(b)|0;c=+gs(c);Rb[a&3](b,c);return}function fs(a){a=a|0;return a|0}function gs(a){a=+a;return +a}function hs(){return 15828}function is(a){a=a|0;return 3}function js(a){a=a|0;return ms()|0}function ks(){return 37623}function ls(a,b,c){a=a|0;b=b|0;c=c|0;b=fs(b)|0;c=fs(c)|0;Sb[a&63](b,c);return}function ms(){return 15840}function ns(a){a=a|0;return 2}function os(a){a=a|0;return rs()|0}function ps(){return 37654}function qs(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0;d=yb;yb=yb+16|0;e=d;b=fs(b)|0;g[e>>3]=+Bb[a&3](b);c=+Kr(e);yb=d;return +c}function rs(){return 15852}function ss(a){a=a|0;return 3}function ts(a){a=a|0;return xs()|0}function us(){return 37658}function vs(a,b,c){a=a|0;b=b|0;c=+c;b=fs(b)|0;c=+ws(c);Rb[a&3](b,c);return}function ws(a){a=+a;return +a}function xs(){return 15860}function ys(a){a=a|0;return 1}function zs(a){a=a|0;return Cs()|0}function As(){return 37663}function Bs(a){a=a|0;var b=0,d=0;b=yb;yb=yb+16|0;d=b;c[d>>2]=Db[a&1]()|0;a=Or(d)|0;yb=b;return a|0}function Cs(){return 15872}function Ds(a){a=a|0;return 2}function Es(a){a=a|0;return Hs()|0}function Fs(){return 37666}function Gs(a,b){a=a|0;b=b|0;b=fs(b)|0;Qb[a&255](b);return}function Hs(){return 15876}function Is(a,b){a=a|0;b=b|0;var c=0,d=0;d=0;while(1){if((d|0)==3)break;c=0;while(1){if((c|0)==4)break;g[b+(d<<5)+(c<<3)>>3]=+g[a+(d<<5)+(c<<3)>>3];c=c+1|0}d=d+1|0}return}function Js(a){a=a|0;return 2}function Ks(a){a=a|0;return Os()|0}function Ls(){return 40673}function Ms(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=yb;yb=yb+16|0;f=d+12|0;e=d;Ns(e,b);c[f>>2]=Eb[a&127](e)|0;b=Or(f)|0;hO(e);yb=d;return b|0}function Ns(a,b){a=a|0;b=b|0;var d=0;d=c[b>>2]|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;eO(a,b+4|0,d);return}function Os(){return 15884}function Ps(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=yb;yb=yb+32|0;r=s+4|0;l=s;m=s+16|0;c[l>>2]=b;q=c[b>>2]|0;o=a+4|0;i=c[o>>2]|0;p=(i|0)==0;a:do if(!p){k=i+-1|0;e=(k&i|0)==0;if(!e)if(q>>>0>>0)j=q;else j=(q>>>0)%(i>>>0)|0;else j=k&q;b=c[(c[a>>2]|0)+(j<<2)>>2]|0;if(!b){b=j;n=16}else do{b=c[b>>2]|0;if(!b){b=j;n=16;break a}d=c[b+4>>2]|0;if((d|0)!=(q|0)){if(!e){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&k;if((d|0)!=(j|0)){b=j;n=16;break a}}}while((c[b+8>>2]|0)!=(q|0))}else{b=0;n=16}while(0);if((n|0)==16){Qs(r,a,q,57661,l,m);j=a+12|0;g=+(((c[j>>2]|0)+1|0)>>>0);h=+f[a+16>>2];do if(p|h*+(i>>>0)>>0<3|(i+-1&i|0)!=0)&1;d=~~+A(+(g/h))>>>0;Rs(a,b>>>0>>0?d:b);b=c[o>>2]|0;d=b+-1|0;if(!(d&b)){i=b;b=d&q;break}if(q>>>0>>0){i=b;b=q}else{i=b;b=(q>>>0)%(b>>>0)|0}}while(0);d=c[(c[a>>2]|0)+(b<<2)>>2]|0;if(!d){e=a+8|0;c[c[r>>2]>>2]=c[e>>2];c[e>>2]=c[r>>2];c[(c[a>>2]|0)+(b<<2)>>2]=e;e=c[r>>2]|0;b=c[e>>2]|0;if(!b)b=r;else{b=c[b+4>>2]|0;d=i+-1|0;if(d&i){if(b>>>0>=i>>>0)b=(b>>>0)%(i>>>0)|0}else b=b&d;c[(c[a>>2]|0)+(b<<2)>>2]=e;b=r}}else{c[c[r>>2]>>2]=c[d>>2];c[d>>2]=c[r>>2];b=r}r=c[b>>2]|0;c[j>>2]=(c[j>>2]|0)+1;c[b>>2]=0;b=r}yb=s;return b+16|0}function Qs(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=rB(200)|0;c[b>>2]=h;c[b+4>>2]=d+8;c[h+8>>2]=c[c[g>>2]>>2];_O(h+16|0,0,184)|0;a[b+8>>0]=1;c[h+4>>2]=e;c[h>>2]=0;return}function Rs(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=yD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=yD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)Ss(a,b)}}else Ss(a,b);return}function Ss(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;bO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=rB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Nf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Nf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function Ts(a){a=a|0;return 3}function Us(a){a=a|0;return Xs()|0}function Vs(){return 40837}function Ws(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=yb;yb=yb+16|0;f=e;b=fs(b)|0;d=fs(d)|0;c[f>>2]=Gb[a&63](b,d)|0;d=Or(f)|0;yb=e;return d|0}function Xs(){return 15892}function Ys(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=yb;yb=yb+96|0;n=r+80|0;m=r+72|0;l=r+64|0;k=r+56|0;j=r+48|0;i=r+40|0;q=r+32|0;p=r+24|0;o=r+16|0;h=r+8|0;s=r;e=r+88|0;f=r+84|0;g=c[a+232>>2]|0;c[e>>2]=0;c[s>>2]=d;Se(0,1,40887,s);do if((Sf(d,40905,f)|0)>=0){c[o>>2]=b;Se(0,1,40949,o);if((Tf(c[f>>2]|0,-1,b)|0)<0){Se(0,3,40974,p);a=0;break}if((Qf(e,f)|0)<0){Se(0,3,41010,q);a=0;break}Se(0,1,41037,i);c[j>>2]=d;Se(0,1,41046,j);s=rf(d,41063,0)|0;c[a+248+(b<<2)>>2]=s;if(!s){c[k>>2]=d;Se(0,3,41068,k)}Se(0,1,41037,l);if((b|0)==10)Ea(-1);if((dg(g,c[e>>2]|0)|0)<0){Se(0,3,41101,m);a=0;break}else{Rf(e)|0;Se(0,1,41126,n);a=1;break}}else{c[h>>2]=d;Se(0,3,40911,h);a=0}while(0);yb=r;return a|0}function Zs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=yb;yb=yb+16|0;a=Qe(a,c[d>>2]|0)|0;c[e>>2]=a;a:do if(!a){Se(0,3,41206,f);hd(c[d>>2]|0)|0;a=0}else switch(c[a+108>>2]|0){case 0:{Dc(b,0)|0;a=1;break a}case 1:{Dc(b,2)|0;a=1;break a}default:{Dc(b,3)|0;a=1;break a}}while(0);yb=f;return a|0}function _s(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=yb;yb=yb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>3)+1|0;g=$s(a)|0;if(g>>>0>>0)CO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>2;at(d,k>>3>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>3,a+8|0);g=d+8|0;e=c[b+4>>2]|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+8;bt(a,d);ct(d);yb=h;return}}function $s(a){a=a|0;return 536870911}function at(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>536870911){f=O(8)|0;bO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=rB(b<<3)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<3);return}function bt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>3)<<3)|0;c[g>>2]=d;if((f|0)>0){YO(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function ct(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-8|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Nf(b,(c[a+12>>2]|0)-b|0);return}function dt(a){a=a|0;return 3}function et(a){a=a|0;return gt()|0}function ft(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=yb;yb=yb+16|0;g=e+12|0;f=e;b=fs(b)|0;Ns(f,d);c[g>>2]=Gb[a&63](b,f)|0;d=Or(g)|0;hO(f);yb=e;return d|0}function gt(){return 15904}function ht(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=yb;yb=yb+16|0;e=f;g=qd(c[d>>2]|0,a)|0;c[b>>2]=g;if((g|0)<0){c[e>>2]=a;Se(0,3,41277,e);hd(c[d>>2]|0)|0;a=0}else a=1;yb=f;return a|0}function it(a){a=a|0;return Hf(a)|0}function jt(a){a=a|0;return 2}function kt(a){a=a|0;return mt()|0}function lt(a,b){a=a|0;b=b|0;var d=0,e=0;d=yb;yb=yb+16|0;e=d;b=fs(b)|0;c[e>>2]=Eb[a&127](b)|0;b=Or(e)|0;yb=d;return b|0}function mt(){return 15916}function nt(a){a=a|0;var b=0,d=0;b=a+216|0;d=c[b>>2]|0;if(d|0){ed(d)|0;uc(c[b>>2]|0)|0;c[b>>2]=0}b=a+228|0;if(c[b>>2]|0){pc(b)|0;c[b>>2]=0}b=a+192|0;if(c[b>>2]|0){le(b)|0;c[b>>2]=0}return}function ot(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=yb;yb=yb+16|0;d=f+4|0;e=f;b=Rr(a,b)|0;if(!b)b=0;else{c[e>>2]=b;c[d>>2]=c[e>>2];pt(a,d)|0;b=1}yb=f;return b|0}function pt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=yb;yb=yb+32|0;h=g+16|0;f=g+4|0;i=g;d=c[d>>2]|0;e=c[d>>2]|0;c[i>>2]=d;c[h>>2]=c[i>>2];qt(f,b,h);d=c[f>>2]|0;c[f>>2]=0;if(d|0){if(a[f+8>>0]|0)Vr(d+8|0);Nf(d,496)}yb=g;return e|0}function qt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=c[e>>2]|0;l=c[d+4>>2]|0;e=c[o+4>>2]|0;m=l+-1|0;i=(m&l|0)==0;if(!i)if(e>>>0>>0)j=e;else j=(e>>>0)%(l>>>0)|0;else j=m&e;f=(c[d>>2]|0)+(j<<2)|0;n=c[f>>2]|0;while(1){e=c[n>>2]|0;if((e|0)==(o|0))break;else n=e}k=d+8|0;if((n|0)!=(k|0)){e=c[n+4>>2]|0;if(!i){if(e>>>0>=l>>>0)e=(e>>>0)%(l>>>0)|0}else e=e&m;if((e|0)==(j|0))g=o;else h=14}else h=14;do if((h|0)==14){e=c[o>>2]|0;if(e|0){e=c[e+4>>2]|0;if(!i){if(e>>>0>=l>>>0)e=(e>>>0)%(l>>>0)|0}else e=e&m;if((e|0)==(j|0)){g=o;break}}c[f>>2]=0;g=o}while(0);f=c[g>>2]|0;e=f;if(f){f=c[f+4>>2]|0;if(!i){if(f>>>0>=l>>>0)f=(f>>>0)%(l>>>0)|0}else f=f&m;if((f|0)!=(j|0)){c[(c[d>>2]|0)+(f<<2)>>2]=n;e=c[o>>2]|0}}c[n>>2]=e;c[g>>2]=0;d=d+12|0;c[d>>2]=(c[d>>2]|0)+-1;c[b>>2]=o;c[b+4>>2]=k;a[b+8>>0]=1;return}function rt(a){a=a|0;return 4}function st(a){a=a|0;return vt()|0}function tt(){return 41348}function ut(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=yb;yb=yb+16|0;g=f;b=fs(b)|0;d=fs(d)|0;e=fs(e)|0;c[g>>2]=Hb[a&63](b,d,e)|0;e=Or(g)|0;yb=f;return e|0}function vt(){return 2048}function wt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0;m=yb;yb=yb+48|0;l=m+24|0;k=m+16|0;i=m+8|0;f=m;d=m+32|0;e=m+28|0;c[d>>2]=a;c[e>>2]=b;do if((Rr(55484,d)|0)!=0?(j=Sr(55484,d)|0,(xt(55504,e)|0)!=0):0){h=j+8|0;YO(h|0,Ps(55504,e)|0,184)|0;a=c[h>>2]|0;b=j+208|0;d=c[j+12>>2]|0;e=j+212|0;if(!((a|0)==(c[b>>2]|0)?(d|0)==(c[e>>2]|0):0)){c[f>>2]=a;c[f+4>>2]=d;Se(0,2,41698,f);$d(h,c[b>>2]|0,c[e>>2]|0,h)|0}nt(j);a=ke(h,15)|0;d=j+192|0;c[d>>2]=a;if(!a){Se(0,3,41745,i);a=-1;break}a=qc(a)|0;b=j+216|0;c[b>>2]=a;if(!a){Se(0,3,41783,k);a=-1;break}Jc(a,c[j+472>>2]|0)|0;k=nc(h)|0;c[j+228>>2]=k;if(!k){Se(0,3,41820,l);a=-1;break}else{dd(c[b>>2]|0,c[j+220>>2]|0)|0;je(c[d>>2]|0,+g[j+312>>3],+g[j+320>>3],j+344|0);c[j+232>>2]=it(c[d>>2]|0)|0;a=0;break}}else a=-1;while(0);yb=m;return a|0}function xt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[b>>2]|0;f=c[a+4>>2]|0;a:do if(f){g=f+-1|0;h=(g&f|0)==0;if(!h)if(e>>>0>>0)d=e;else d=(e>>>0)%(f>>>0)|0;else d=g&e;b=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(b)while(1){b=c[b>>2]|0;if(!b){b=0;break a}a=c[b+4>>2]|0;if((a|0)==(e|0)){if((c[b+8>>2]|0)==(e|0))break a}else{if(!h){if(a>>>0>=f>>>0)a=(a>>>0)%(f>>>0)|0}else a=a&g;if((a|0)!=(d|0)){b=0;break a}}}else b=0}else b=0;while(0);return b|0}function yt(a,b){a=a|0;b=b|0;b=zt(b,c[a>>2]|0,c[a+4>>2]|0)|0;c[b>>2]=1;c[b+12>>2]=a;a=Ce(a+8|0)|0;c[b+16>>2]=a;Ee(a,0.0)|0;return b|0}function zt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,g=0;g=yb;yb=yb+16|0;e=DO(13732)|0;if(!e){Se(0,3,41858,g);Ea(1)}c[e+20>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;c[e+24>>2]=25;c[e+28>>2]=11;c[e+32>>2]=11;c[e+36>>2]=10;f[e+40>>2]=.6000000238418579;f[e+44>>2]=2.0;c[e+13280>>2]=1;d=DO(B(d,b)|0)|0;c[e+13300>>2]=d;if(!d){Se(0,3,41858,g+8|0);Ea(1)}else{c[e+13304>>2]=0;yb=g;return e|0}return 0}function At(a,b,d,e,h){a=a|0;b=b|0;d=d|0;e=e|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0.0;D=yb;yb=yb+48|0;x=D;y=D+40|0;z=D+32|0;a:do if((a|0)!=0&(b|0)!=0&(d|0)!=0&(e|0)!=0&(h|0)!=0){C=b+152|0;if((c[C>>2]|0)<1)i=-2;else{f[h>>2]=0.0;j=b+4|0;B=b+8|0;k=b+56|0;l=b+104|0;i=0;while(1){if((i|0)>=(c[j>>2]|0))break;ud(B,(c[b>>2]|0)+(i*112|0)+12|0,a+48+(i*48|0)|0)|0;if((c[C>>2]|0)>1?(ud(k,(c[b>>2]|0)+(i*112|0)+12|0,a+528+(i*48|0)|0)|0,(c[C>>2]|0)>2):0)ud(l,(c[b>>2]|0)+(i*112|0)+12|0,a+1008+(i*48|0)|0)|0;i=i+1|0}if((c[a>>2]|0)==1){q=a+12|0;r=a+2672|0;n=a+7496|0;Bt(c[q>>2]|0,a+48|0,b,r,n);o=a+4|0;p=a+8|0}else{o=a+4|0;p=a+8|0;r=a+2672|0;n=a+7496|0;Ct(c[o>>2]|0,c[p>>2]|0,a+48|0,b,r,n);q=a+12|0}s=a+36|0;t=a+13280|0;u=b+156|0;v=a+1488|0;w=a+40|0;A=0;i=r;j=0;while(1){if((j|0)>=(c[s>>2]|0))break;m=0;l=A;k=i;while(1){if((m|0)>=(c[t>>2]|0))break;if((j|0)==(c[s>>2]|0))break;i=nf(k,u,l,v,c[o>>2]|0,c[p>>2]|0)|0;if((i|0)<0){if((k|0)!=(r|0))break;i=nf(n,u,l,v,c[o>>2]|0,c[p>>2]|0)|0;if((i|0)<0){k=n;break}else k=n}E=k+(i*24|0)|0;c[x+(m<<2)>>2]=E;c[a+1488+(l<<3)>>2]=c[k+(i*24|0)+16>>2];c[a+1488+(l<<3)+4>>2]=c[k+(i*24|0)+20>>2];c[a+13284+(m*52|0)>>2]=a;c[a+13284+(m*52|0)+4>>2]=b;c[a+13284+(m*52|0)+8>>2]=E;c[a+13284+(m*52|0)+12>>2]=d;i=l+1|0;m=m+1|0;l=(i|0)==5?A:i;j=j+1|0}if(!m)break;l=0;i=A;while(1){if((l|0)==(m|0))break;E=a+13284+(l*52|0)+24|0;A=Jt(c[a+13284+(l*52|0)>>2]|0,c[a+13284+(l*52|0)+4>>2]|0,c[a+13284+(l*52|0)+8>>2]|0,c[a+13284+(l*52|0)+12>>2]|0,c[a+13284+(l*52|0)+16>>2]|0,a+13284+(l*52|0)+20|0,E)|0;c[a+13284+(l*52|0)+48>>2]=A;if((A|0)==0?+f[E>>2]>+f[w>>2]:0){if((c[a>>2]|0)==1){E=c[q>>2]|0;de(E+104|0,+f[a+13284+(l*52|0)+28>>2],+f[a+13284+(l*52|0)+32>>2],y,z,c[E+176>>2]|0)|0;f[a+1872+(i<<3)>>2]=+g[y>>3];f[a+1872+(i<<3)+4>>2]=+g[z>>3]}else{c[a+1872+(i<<3)>>2]=c[a+13284+(l*52|0)+28>>2];c[a+1872+(i<<3)+4>>2]=c[a+13284+(l*52|0)+32>>2]}c[a+2192+(i*12|0)>>2]=c[a+13284+(l*52|0)+36>>2];c[a+2192+(i*12|0)+4>>2]=c[a+13284+(l*52|0)+40>>2];c[a+2192+(i*12|0)+8>>2]=c[a+13284+(l*52|0)+44>>2];E=c[x+(l<<2)>>2]|0;c[a+1488+(i<<3)>>2]=c[E+16>>2];c[a+1488+(i<<3)+4>>2]=c[E+20>>2];c[a+12320+(i*24|0)>>2]=c[E>>2];c[a+12320+(i*24|0)+4>>2]=c[E+4>>2];c[a+12320+(i*24|0)+8>>2]=c[E+8>>2];c[a+12320+(i*24|0)+12>>2]=0;i=i+1|0}l=l+1|0}A=i;i=k}i=0;while(1){if((i|0)>=(A|0))break;E=b+156+(i*24|0)|0;z=a+12320+(i*24|0)|0;c[E>>2]=c[z>>2];c[E+4>>2]=c[z+4>>2];c[E+8>>2]=c[z+8>>2];c[E+12>>2]=c[z+12>>2];c[E+16>>2]=c[z+16>>2];c[E+20>>2]=c[z+20>>2];i=i+1|0}c[b+156+(A*24|0)+12>>2]=-1;i=(A|0)<3;if((c[a>>2]|0)==1){if(i){c[C>>2]=0;i=-3;break}j=a+16|0;k=a+1872|0;l=a+2192|0;F=+Dt(c[j>>2]|0,B,k,l,A,e,0);f[h>>2]=F;i=a+44|0;if((((F>+f[i>>2]?(Ee(c[j>>2]|0,.800000011920929)|0,F=+Dt(c[j>>2]|0,e,k,l,A,e,1),f[h>>2]=F,F>+f[i>>2]):0)?(Ee(c[j>>2]|0,.6000000238418579)|0,F=+Dt(c[j>>2]|0,e,k,l,A,e,1),f[h>>2]=F,F>+f[i>>2]):0)?(Ee(c[j>>2]|0,.4000000059604645)|0,F=+Dt(c[j>>2]|0,e,k,l,A,e,1),f[h>>2]=F,F>+f[i>>2]):0)?(Ee(c[j>>2]|0,0.0)|0,F=+Dt(c[j>>2]|0,e,k,l,A,e,1),f[h>>2]=F,F>+f[i>>2]):0){c[C>>2]=0;i=-4;break}}else{if(i){c[C>>2]=0;i=-3;break}j=a+1872|0;k=a+2192|0;F=+Et(B,j,k,A,e,0,1.0);f[h>>2]=F;i=a+44|0;if((((F>+f[i>>2]?(F=+Et(e,j,k,A,e,1,.800000011920929),f[h>>2]=F,F>+f[i>>2]):0)?(F=+Et(e,j,k,A,e,1,.6000000238418579),f[h>>2]=F,F>+f[i>>2]):0)?(F=+Et(e,j,k,A,e,1,.4000000059604645),f[h>>2]=F,F>+f[i>>2]):0)?(F=+Et(e,j,k,A,e,1,0.0),f[h>>2]=F,F>+f[i>>2]):0){c[C>>2]=0;i=-4;break}}c[C>>2]=(c[C>>2]|0)+1;i=0;while(1){if((i|0)==3)break;j=0;while(1){if((j|0)==4)break;c[b+104+(i<<4)+(j<<2)>>2]=c[b+56+(i<<4)+(j<<2)>>2];j=j+1|0}i=i+1|0}i=0;while(1){if((i|0)==3)break;j=0;while(1){if((j|0)==4)break;c[b+56+(i<<4)+(j<<2)>>2]=c[b+8+(i<<4)+(j<<2)>>2];j=j+1|0}i=i+1|0}i=0;while(1){if((i|0)==3){i=0;break a}j=0;while(1){if((j|0)==4)break;c[b+8+(i<<4)+(j<<2)>>2]=c[e+(i<<4)+(j<<2)>>2];j=j+1|0}i=i+1|0}}}else i=-1;while(0);yb=D;return i|0}function Bt(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0.0,L=0,M=0.0,N=0,O=0,P=0,Q=0,R=0.0,S=0.0;Q=yb;yb=yb+80|0;P=Q+48|0;I=Q;J=Q+76|0;L=Q+72|0;N=Q+64|0;O=Q+56|0;q=d+4|0;r=+(c[a>>2]|0);s=+(c[a+4>>2]|0);t=I+4|0;v=I+12|0;w=I+16|0;x=I+20|0;y=I+28|0;z=I+32|0;A=I+36|0;B=I+44|0;C=I+8|0;D=I+24|0;E=I+40|0;F=N+4|0;G=O+4|0;H=g+4812|0;k=0;l=0;p=0;a:while(1){if((p|0)>=(c[q>>2]|0)){i=29;break}i=0;while(1){if((i|0)==3)break;h=0;while(1){if((h|0)==4)break;c[I+(i<<4)+(h<<2)>>2]=c[b+(p*48|0)+(i<<4)+(h<<2)>>2];h=h+1|0}i=i+1|0}h=k;i=l;o=0;k=c[(c[d>>2]|0)+(p*112|0)+4>>2]|0;while(1){if((o|0)>=(c[k+4>>2]|0))break;n=0;l=k;while(1){k=c[l>>2]|0;if((n|0)>=(c[k+(o*20|0)+4>>2]|0))break;l=c[k+(o*20|0)>>2]|0;l=(Bf(a,I,+f[l+(n*20|0)+8>>2],+f[l+(n*20|0)+12>>2],J,L)|0)<0;j=+f[J>>2];do if((!(l|j<0.0)?(m=+f[L>>2],!(m>=s)&(!(j>=r)&!(m<0.0))):0)?(l=c[(c[c[(c[d>>2]|0)+(p*112|0)+4>>2]>>2]|0)+(o*20|0)>>2]|0,K=+f[l+(n*20|0)+8>>2],M=+f[l+(n*20|0)+12>>2],R=+f[v>>2]+(+f[I>>2]*K+ +f[t>>2]*M),j=+f[y>>2]+(K*+f[w>>2]+M*+f[x>>2]),S=+f[B>>2]+(K*+f[z>>2]+M*+f[A>>2]),m=+u(+(R*R+j*j+S*S)),!(+f[E>>2]*(S/m)+(+f[C>>2]*(R/m)+ +f[D>>2]*(j/m))>-.10000000149011612)):0){f[N>>2]=K;f[F>>2]=M;lf(a,I,N,O)|0;j=+f[G>>2];k=c[c[(c[d>>2]|0)+(p*112|0)+4>>2]>>2]|0;m=+f[k+(o*20|0)+12>>2];if(j<=m?j>=+f[k+(o*20|0)+16>>2]:0){if((i|0)==200){i=19;break a}c[e+(i*24|0)>>2]=p;c[e+(i*24|0)+4>>2]=o;c[e+(i*24|0)+8>>2]=n;c[e+(i*24|0)+16>>2]=c[J>>2];c[e+(i*24|0)+20>>2]=c[L>>2];c[e+(i*24|0)+12>>2]=0;i=i+1|0;break}if(j<=m*2.0?j>=+f[k+(o*20|0)+16>>2]*.5:0)if((h|0)==200){c[H>>2]=-1;h=200;break}else{c[g+(h*24|0)>>2]=p;c[g+(h*24|0)+4>>2]=o;c[g+(h*24|0)+8>>2]=n;c[g+(h*24|0)+16>>2]=c[J>>2];c[g+(h*24|0)+20>>2]=c[L>>2];c[g+(h*24|0)+12>>2]=0;h=h+1|0;break}}while(0);n=n+1|0;l=c[(c[d>>2]|0)+(p*112|0)+4>>2]|0}o=o+1|0;k=l}k=h;l=i;p=p+1|0}if((i|0)==19){Se(0,3,41890,P);h=e+4812|0}else if((i|0)==29){c[e+(l*24|0)+12>>2]=-1;h=g+(k*24|0)+12|0}c[h>>2]=-1;yb=Q;return} +function xh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;Hg(a+32|0,b);d=Lg(c[(yh(b)|0)>>2]|0)|0;f=Mg(c[(yh(b)|0)>>2]|0)|0;e=Ng(b)|0;sj(a+92|0,d,f,e,Og(b)|0,36,3.0,1.5,5,.800000011920929);c[a>>2]=Lg(c[(yh(b)|0)>>2]|0)|0;c[a+4>>2]=Mg(c[(yh(b)|0)>>2]|0)|0;e=a+16|0;zh(e,c[a+8>>2]|0);f=a+20|0;a=a+12|0;b=0;while(1){d=c[e>>2]|0;if(b>>>0>=(((c[f>>2]|0)-d|0)/12|0)>>>0)break;Ah(d+(b*12|0)|0,c[a>>2]|0);b=b+1|0}return}function yh(a){a=a|0;return a+4|0}function zh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+4|0;d=c[g>>2]|0;f=c[a>>2]|0;e=(d-f|0)/12|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0){a=f+(b*12|0)|0;while(1){if((d|0)==(a|0))break;f=d+-12|0;ih(f);d=f}c[g>>2]=a}}else Ih(a,b-e|0);return}function Ah(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+4|0;d=c[g>>2]|0;f=c[a>>2]|0;e=(d-f|0)/12|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0){a=f+(b*12|0)|0;while(1){if((d|0)==(a|0))break;f=d+-12|0;jh(f);d=f}c[g>>2]=a}}else Bh(a,b-e|0);return}function Bh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=yb;yb=yb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((((c[g>>2]|0)-d|0)/12|0)>>>0>>0){d=((d-(c[a>>2]|0)|0)/12|0)+b|0;e=Dh(a)|0;if(e>>>0>>0)CO(a);else{j=c[a>>2]|0;k=((c[g>>2]|0)-j|0)/12|0;g=k<<1;Eh(f,k>>>0>>1>>>0?(g>>>0>>0?d:g):e,((c[h>>2]|0)-j|0)/12|0,a+8|0);Fh(f,b);Gh(a,f);Hh(f);break}}else Ch(a,b);while(0);yb=i;return}function Ch(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;_O(d|0,0,b*12|0)|0;c[a>>2]=d+(b*12|0);return}function Dh(a){a=a|0;return 357913941}function Eh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>357913941){f=O(8)|0;bO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=rB(b*12|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*12|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*12|0);return}function Fh(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;_O(d|0,0,b*12|0)|0;c[a>>2]=d+(b*12|0);return}function Gh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;k=c[g>>2]|0;i=k+-12|0;h=d+-12|0;c[i>>2]=0;j=k+-8|0;c[j>>2]=0;k=k+-4|0;c[k>>2]=0;c[i>>2]=c[h>>2];i=d+-8|0;c[j>>2]=c[i>>2];j=d+-4|0;c[k>>2]=c[j>>2];c[j>>2]=0;c[i>>2]=0;c[h>>2]=0;c[g>>2]=(c[g>>2]|0)+-12;d=h}i=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=i;i=b+8|0;k=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=k;i=a+8|0;k=b+12|0;j=c[i>>2]|0;c[i>>2]=c[k>>2];c[k>>2]=j;c[b>>2]=c[g>>2];return}function Hh(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-12|0;c[d>>2]=e;jh(e)}b=c[a>>2]|0;if(b|0)Nf(b,(c[a+12>>2]|0)-b|0);return}function Ih(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=yb;yb=yb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((((c[g>>2]|0)-d|0)/12|0)>>>0>>0){d=((d-(c[a>>2]|0)|0)/12|0)+b|0;e=Kh(a)|0;if(e>>>0>>0)CO(a);else{j=c[a>>2]|0;k=((c[g>>2]|0)-j|0)/12|0;g=k<<1;Lh(f,k>>>0>>1>>>0?(g>>>0>>0?d:g):e,((c[h>>2]|0)-j|0)/12|0,a+8|0);Mh(f,b);Nh(a,f);Oh(f);break}}else Jh(a,b);while(0);yb=i;return}function Jh(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;_O(d|0,0,b*12|0)|0;c[a>>2]=d+(b*12|0);return}function Kh(a){a=a|0;return 357913941}function Lh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>357913941){f=O(8)|0;bO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=rB(b*12|0)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d*12|0)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b*12|0);return}function Mh(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;_O(d|0,0,b*12|0)|0;c[a>>2]=d+(b*12|0);return}function Nh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[a>>2]|0;f=a+4|0;g=b+4|0;d=c[f>>2]|0;while(1){if((d|0)==(e|0))break;k=c[g>>2]|0;i=k+-12|0;h=d+-12|0;c[i>>2]=0;j=k+-8|0;c[j>>2]=0;k=k+-4|0;c[k>>2]=0;c[i>>2]=c[h>>2];i=d+-8|0;c[j>>2]=c[i>>2];j=d+-4|0;c[k>>2]=c[j>>2];c[j>>2]=0;c[i>>2]=0;c[h>>2]=0;c[g>>2]=(c[g>>2]|0)+-12;d=h}i=c[a>>2]|0;c[a>>2]=c[g>>2];c[g>>2]=i;i=b+8|0;k=c[f>>2]|0;c[f>>2]=c[i>>2];c[i>>2]=k;i=a+8|0;k=b+12|0;j=c[i>>2]|0;c[i>>2]=c[k>>2];c[k>>2]=j;c[b>>2]=c[g>>2];return}function Oh(a){a=a|0;var b=0,d=0,e=0;b=c[a+4>>2]|0;d=a+8|0;while(1){e=c[d>>2]|0;if((e|0)==(b|0))break;e=e+-12|0;c[d>>2]=e;ih(e)}b=c[a>>2]|0;if(b|0)Nf(b,(c[a+12>>2]|0)-b|0);return}function Ph(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=yb;yb=yb+32|0;d=e;if((Ng(b)|0)<=0){f=Vf(Vf(NE(Vf(Vf(Vf(56032,22918)|0,22676)|0,35e3)|0,147)|0,35007)|0,22967)|0;GE(d,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);g=VF(d,56736)|0;g=Gb[c[(c[g>>2]|0)+28>>2]&63](g,10)|0;WF(d);OE(f,g)|0;KE(f)|0;ua()}zq(d,23866);if(Qh(d)|0)Xg(a+32|0,b);Aq(d);zq(d,23878);if(Qh(d)|0)Rh(a,b,a+32|0);Aq(d);zq(d,23898);if(Qh(d)|0)Sh(a,b);Aq(d);zq(d,23907);if(Qh(d)|0)Th(a);Aq(d);zq(d,23921);if(Qh(d)|0)Uh(a,b);Aq(d);yb=e;return}function Qh(a){a=a|0;return 1}function Rh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0.0,h=0,i=0,j=0.0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0.0,ga=0,ha=0,ia=0.0;ha=yb;yb=yb+48|0;aa=ha;ca=a+60|0;da=a+64|0;c[da>>2]=c[ca>>2];fa=+hi(+f[a+52>>2]);V=a+32|0;W=aa+12|0;Y=aa+16|0;Z=aa+24|0;_=aa+28|0;$=aa+4|0;F=a+68|0;G=aa+12|0;H=aa+16|0;I=aa+24|0;J=aa+28|0;K=aa+4|0;L=aa+12|0;M=aa+16|0;N=aa+24|0;O=aa+28|0;P=aa+4|0;a=1;a:while(1){if(a>>>0>=((Ii(V)|0)+-1|0)>>>0){ga=3;break}Q=Ji(d,a+-1|0)|0;R=Ji(d,a)|0;S=a+1|0;T=Ji(d,S)|0;U=Ki(d,a)|0;E=Li(d,a)|0;D=Lg(Q)|0;b:do if((D|0)==(Lg(R)|0)?(D=Lg(Q)|0,(D|0)==(Lg(T)|0)):0){D=Mg(Q)|0;if((D|0)!=(Mg(R)|0)){ga=7;break a}D=Mg(Q)|0;if((D|0)!=(Mg(T)|0)){ga=9;break a}k=(Lg(R)|0)+-1|0;l=(Mg(R)|0)+-1|0;m=+(E|0);a=1;while(1){if(a>>>0>=l>>>0)break b;v=a+-1|0;n=ah(Q,v)|0;o=ah(Q,a)|0;p=a+1|0;q=ah(Q,p)|0;r=ah(R,v)|0;t=ah(R,a)|0;u=ah(R,p)|0;v=ah(T,v)|0;w=ah(T,a)|0;x=ah(T,p)|0;j=+(a>>>0);i=1;while(1){if(i>>>0>=k>>>0)break;a=t+(i<<2)|0;do if(!(+hi(+f[a>>2])>2];h=i+-1|0;e=+f[n+(h<<2)>>2];do if(((((g>e?g>+f[n+(i<<2)>>2]:0)?(X=i+1|0,g>+f[n+(X<<2)>>2]):0)?g>+f[o+(h<<2)>>2]:0)?g>+f[o+(i<<2)>>2]:0)?g>+f[o+(X<<2)>>2]:0){if(!(g>+f[q+(h<<2)>>2])){ga=42;break}if(!(g>+f[q+(i<<2)>>2])){ga=42;break}if(!(g>+f[q+(X<<2)>>2])){ga=42;break}if(!(g>+f[r+(h<<2)>>2])){ga=42;break}if(!(g>+f[r+(i<<2)>>2])){ga=42;break}if(!(g>+f[r+(X<<2)>>2])){ga=42;break}if(!(g>+f[t+(h<<2)>>2])){ga=42;break}if(!(g>+f[t+(X<<2)>>2])){ga=42;break}if(!(g>+f[u+(h<<2)>>2])){ga=42;break}if(!(g>+f[u+(i<<2)>>2])){ga=42;break}if(!(g>+f[u+(X<<2)>>2])){ga=42;break}if(!(g>+f[v+(h<<2)>>2])){ga=42;break}if(!(g>+f[v+(i<<2)>>2])){ga=42;break}if(!(g>+f[v+(X<<2)>>2])){ga=42;break}if(!(g>+f[w+(h<<2)>>2])){ga=42;break}if(!(g>+f[w+(i<<2)>>2])){ga=42;break}if(!(g>+f[w+(X<<2)>>2])){ga=42;break}if(!(g>+f[x+(h<<2)>>2])){ga=42;break}if(!(g>+f[x+(i<<2)>>2])){ga=42;break}if(!(g>+f[x+(X<<2)>>2]))ga=42}else ga=42;while(0);if((ga|0)==42){ga=0;if(!(g>2]))break;a=i+1|0;if(!(g<+f[n+(a<<2)>>2]))break;if(!(g<+f[o+(h<<2)>>2]))break;if(!(g<+f[o+(i<<2)>>2]))break;if(!(g<+f[o+(a<<2)>>2]))break;if(!(g<+f[q+(h<<2)>>2]))break;if(!(g<+f[q+(i<<2)>>2]))break;if(!(g<+f[q+(a<<2)>>2]))break;if(!(g<+f[r+(h<<2)>>2]))break;if(!(g<+f[r+(i<<2)>>2]))break;if(!(g<+f[r+(a<<2)>>2]))break;if(!(g<+f[t+(h<<2)>>2]))break;if(!(g<+f[t+(a<<2)>>2]))break;if(!(g<+f[u+(h<<2)>>2]))break;if(!(g<+f[u+(i<<2)>>2]))break;if(!(g<+f[u+(a<<2)>>2]))break;if(!(g<+f[v+(h<<2)>>2]))break;if(!(g<+f[v+(i<<2)>>2]))break;if(!(g<+f[v+(a<<2)>>2]))break;if(!(g<+f[w+(h<<2)>>2]))break;if(!(g<+f[w+(i<<2)>>2]))break;if(!(g<+f[w+(a<<2)>>2]))break;if(!(g<+f[x+(h<<2)>>2]))break;if(!(g<+f[x+(i<<2)>>2]))break;if(!(g<+f[x+(a<<2)>>2]))break}c[W>>2]=U;c[Y>>2]=E;f[Z>>2]=g;f[_>>2]=+qi(b,U,m);pi(aa,$,+(i>>>0),j,U);a=c[da>>2]|0;if((a|0)==(c[F>>2]|0)){Yh(ca,aa);break}else{h=aa;D=a+36|0;do{c[a>>2]=c[h>>2];a=a+4|0;h=h+4|0}while((a|0)<(D|0));c[da>>2]=(c[da>>2]|0)+36;break}}while(0);i=i+1|0}a=p}}else ga=72;while(0);c:do if((ga|0)==72){ga=0;D=Lg(Q)|0;if((D|0)==(Lg(R)|0)?(D=(Lg(R)|0)>>>1,(D|0)==(Lg(T)|0)):0){D=Mg(Q)|0;if((D|0)!=(Mg(R)|0)){ga=75;break a}D=(Mg(R)|0)>>>1;if((D|0)!=(Mg(T)|0)){ga=77;break a}l=~~+s(+((+(((Lg(T)|0)+-1|0)>>>0)+-.5)*2.0+.5))>>>0;n=~~+s(+((+(((Mg(T)|0)+-1|0)>>>0)+-.5)*2.0+.5))>>>0;C=+(E|0);a=2;while(1){if(a>>>0>=n>>>0)break c;t=a+-1|0;o=ah(Q,t)|0;p=ah(Q,a)|0;q=a+1|0;r=ah(Q,q)|0;t=ah(R,t)|0;u=ah(R,a)|0;v=ah(R,q)|0;y=+(a>>>0);z=y*.5+-.25;A=z+-.5;B=z+.5;k=2;while(1){if(k>>>0>=l>>>0)break;i=u+(k<<2)|0;do if(!(+hi(+f[i>>2])>>0);m=j*.5+-.25;e=+f[i>>2];h=k+-1|0;a=o+(h<<2)|0;do if(((e>+f[a>>2]?e>+f[o+(k<<2)>>2]:0)?(ba=k+1|0,e>+f[o+(ba<<2)>>2]):0)?e>+f[p+(h<<2)>>2]:0){if(!(e>+f[p+(k<<2)>>2])){ga=110;break}if(!(e>+f[p+(ba<<2)>>2])){ga=110;break}if(!(e>+f[r+(h<<2)>>2])){ga=110;break}if(!(e>+f[r+(k<<2)>>2])){ga=110;break}if(!(e>+f[r+(ba<<2)>>2])){ga=110;break}if(!(e>+f[t+(h<<2)>>2])){ga=110;break}if(!(e>+f[t+(k<<2)>>2])){ga=110;break}if(!(e>+f[t+(ba<<2)>>2])){ga=110;break}if(!(e>+f[u+(h<<2)>>2])){ga=110;break}if(!(e>+f[u+(ba<<2)>>2])){ga=110;break}if(!(e>+f[v+(h<<2)>>2])){ga=110;break}if(!(e>+f[v+(k<<2)>>2])){ga=110;break}if(!(e>+f[v+(ba<<2)>>2])){ga=110;break}g=m+-.5;if(!(e>+Ai(T,g,A))){ga=110;break}e=+f[i>>2];if(!(e>+Ai(T,m,A))){ga=110;break}ia=+f[i>>2];e=m+.5;if(!(ia>+Ai(T,e,A))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ai(T,g,z))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ai(T,m,z))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ai(T,e,z))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ai(T,g,B))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ai(T,m,B))){ga=110;break}ia=+f[i>>2];if(!(ia>+Ai(T,e,B)))ga=110}else ga=110;while(0);if((ga|0)==110){ga=0;e=+f[i>>2];if(!(e<+f[a>>2]))break;if(!(e<+f[o+(k<<2)>>2]))break;a=k+1|0;if(!(e<+f[o+(a<<2)>>2]))break;if(!(e<+f[p+(h<<2)>>2]))break;if(!(e<+f[p+(k<<2)>>2]))break;if(!(e<+f[p+(a<<2)>>2]))break;if(!(e<+f[r+(h<<2)>>2]))break;if(!(e<+f[r+(k<<2)>>2]))break;if(!(e<+f[r+(a<<2)>>2]))break;if(!(e<+f[t+(h<<2)>>2]))break;if(!(e<+f[t+(k<<2)>>2]))break;if(!(e<+f[t+(a<<2)>>2]))break;if(!(e<+f[u+(h<<2)>>2]))break;if(!(e<+f[u+(a<<2)>>2]))break;if(!(e<+f[v+(h<<2)>>2]))break;if(!(e<+f[v+(k<<2)>>2]))break;if(!(e<+f[v+(a<<2)>>2]))break;g=m+-.5;if(!(e<+Ai(T,g,A)))break;ia=+f[i>>2];if(!(ia<+Ai(T,m,A)))break;ia=+f[i>>2];e=m+.5;if(!(ia<+Ai(T,e,A)))break;ia=+f[i>>2];if(!(ia<+Ai(T,g,z)))break;ia=+f[i>>2];if(!(ia<+Ai(T,m,z)))break;ia=+f[i>>2];if(!(ia<+Ai(T,e,z)))break;ia=+f[i>>2];if(!(ia<+Ai(T,g,B)))break;ia=+f[i>>2];if(!(ia<+Ai(T,m,B)))break;ia=+f[i>>2];if(!(ia<+Ai(T,e,B)))break}c[G>>2]=U;c[H>>2]=E;c[I>>2]=c[i>>2];f[J>>2]=+qi(b,U,C);pi(aa,K,j,y,U);a=c[da>>2]|0;if((a|0)==(c[F>>2]|0)){Yh(ca,aa);break}else{h=aa;D=a+36|0;do{c[a>>2]=c[h>>2];a=a+4|0;h=h+4|0}while((a|0)<(D|0));c[da>>2]=(c[da>>2]|0)+36;break}}while(0);k=k+1|0}a=q}}D=(Lg(Q)|0)>>>1;if((D|0)==(Lg(R)|0)?(D=(Lg(Q)|0)>>>1,(D|0)==(Lg(T)|0)):0){D=(Mg(Q)|0)>>>1;if((D|0)!=(Mg(R)|0)){ga=144;break a}D=(Mg(Q)|0)>>>1;if((D|0)!=(Mg(T)|0)){ga=146;break a}l=(Lg(R)|0)+-1|0;n=(Mg(R)|0)+-1|0;A=+(E|0);a=1;while(1){if(a>>>0>=n>>>0)break c;t=a+-1|0;o=ah(R,t)|0;p=ah(R,a)|0;q=a+1|0;r=ah(R,q)|0;t=ah(T,t)|0;u=ah(T,a)|0;v=ah(T,q)|0;B=+(a<<1>>>0)+.5;m=+(a>>>0);y=B+-2.0;z=B+2.0;k=1;while(1){if(k>>>0>=l>>>0)break;i=p+(k<<2)|0;do if(!(+hi(+f[i>>2])>>0)+.5;e=+f[i>>2];h=k+-1|0;a=o+(h<<2)|0;do if(((e>+f[a>>2]?e>+f[o+(k<<2)>>2]:0)?(ea=k+1|0,e>+f[o+(ea<<2)>>2]):0)?e>+f[p+(h<<2)>>2]:0){if(!(e>+f[p+(ea<<2)>>2])){ga=179;break}if(!(e>+f[r+(h<<2)>>2])){ga=179;break}if(!(e>+f[r+(k<<2)>>2])){ga=179;break}if(!(e>+f[r+(ea<<2)>>2])){ga=179;break}if(!(e>+f[t+(h<<2)>>2])){ga=179;break}if(!(e>+f[t+(k<<2)>>2])){ga=179;break}if(!(e>+f[t+(ea<<2)>>2])){ga=179;break}if(!(e>+f[u+(h<<2)>>2])){ga=179;break}if(!(e>+f[u+(k<<2)>>2])){ga=179;break}if(!(e>+f[u+(ea<<2)>>2])){ga=179;break}if(!(e>+f[v+(h<<2)>>2])){ga=179;break}if(!(e>+f[v+(k<<2)>>2])){ga=179;break}if(!(e>+f[v+(ea<<2)>>2])){ga=179;break}g=j+-2.0;if(!(e>+Ai(Q,g,y))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ai(Q,j,y))){ga=179;break}ia=+f[i>>2];e=j+2.0;if(!(ia>+Ai(Q,e,y))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ai(Q,g,B))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ai(Q,j,B))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ai(Q,e,B))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ai(Q,g,z))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ai(Q,j,z))){ga=179;break}ia=+f[i>>2];if(!(ia>+Ai(Q,e,z)))ga=179}else ga=179;while(0);if((ga|0)==179){ga=0;e=+f[i>>2];if(!(e<+f[a>>2]))break;if(!(e<+f[o+(k<<2)>>2]))break;a=k+1|0;if(!(e<+f[o+(a<<2)>>2]))break;if(!(e<+f[p+(h<<2)>>2]))break;if(!(e<+f[p+(a<<2)>>2]))break;if(!(e<+f[r+(h<<2)>>2]))break;if(!(e<+f[r+(k<<2)>>2]))break;if(!(e<+f[r+(a<<2)>>2]))break;if(!(e<+f[t+(h<<2)>>2]))break;if(!(e<+f[t+(k<<2)>>2]))break;if(!(e<+f[t+(a<<2)>>2]))break;if(!(e<+f[u+(h<<2)>>2]))break;if(!(e<+f[u+(k<<2)>>2]))break;if(!(e<+f[u+(a<<2)>>2]))break;if(!(e<+f[v+(h<<2)>>2]))break;if(!(e<+f[v+(k<<2)>>2]))break;if(!(e<+f[v+(a<<2)>>2]))break;g=j+-2.0;if(!(e<+Ai(Q,g,y)))break;ia=+f[i>>2];if(!(ia<+Ai(Q,j,y)))break;ia=+f[i>>2];e=j+2.0;if(!(ia<+Ai(Q,e,y)))break;ia=+f[i>>2];if(!(ia<+Ai(Q,g,B)))break;ia=+f[i>>2];if(!(ia<+Ai(Q,j,B)))break;ia=+f[i>>2];if(!(ia<+Ai(Q,e,B)))break;ia=+f[i>>2];if(!(ia<+Ai(Q,g,z)))break;ia=+f[i>>2];if(!(ia<+Ai(Q,j,z)))break;ia=+f[i>>2];if(!(ia<+Ai(Q,e,z)))break}c[L>>2]=U;c[M>>2]=E;c[N>>2]=c[i>>2];f[O>>2]=+qi(b,U,A);pi(aa,P,+(k>>>0),m,U);a=c[da>>2]|0;if((a|0)==(c[F>>2]|0)){Yh(ca,aa);break}else{h=aa;D=a+36|0;do{c[a>>2]=c[h>>2];a=a+4|0;h=h+4|0}while((a|0)<(D|0));c[da>>2]=(c[da>>2]|0)+36;break}}while(0);k=k+1|0}a=q}}}while(0);a=S}if((ga|0)==3){yb=ha;return}else if((ga|0)==7){ha=Vf(Vf(NE(Vf(Vf(Vf(56032,26651)|0,22676)|0,35e3)|0,192)|0,35007)|0,26703)|0;GE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=VF(aa,56736)|0;ga=Gb[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;WF(aa);OE(ha,ga)|0;KE(ha)|0;ua()}else if((ga|0)==9){ha=Vf(Vf(NE(Vf(Vf(Vf(56032,26726)|0,22676)|0,35e3)|0,193)|0,35007)|0,26703)|0;GE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=VF(aa,56736)|0;ga=Gb[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;WF(aa);OE(ha,ga)|0;KE(ha)|0;ua()}else if((ga|0)==75){ha=Vf(Vf(NE(Vf(Vf(Vf(56032,26651)|0,22676)|0,35e3)|0,277)|0,35007)|0,26703)|0;GE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=VF(aa,56736)|0;ga=Gb[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;WF(aa);OE(ha,ga)|0;KE(ha)|0;ua()}else if((ga|0)==77){ha=Vf(Vf(NE(Vf(Vf(Vf(56032,26778)|0,22676)|0,35e3)|0,278)|0,35007)|0,26703)|0;GE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=VF(aa,56736)|0;ga=Gb[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;WF(aa);OE(ha,ga)|0;KE(ha)|0;ua()}else if((ga|0)==144){ha=Vf(Vf(NE(Vf(Vf(Vf(56032,26835)|0,22676)|0,35e3)|0,362)|0,35007)|0,26703)|0;GE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=VF(aa,56736)|0;ga=Gb[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;WF(aa);OE(ha,ga)|0;KE(ha)|0;ua()}else if((ga|0)==146){ha=Vf(Vf(NE(Vf(Vf(Vf(56032,26892)|0,22676)|0,35e3)|0,363)|0,35007)|0,26703)|0;GE(aa,ha+(c[(c[ha>>2]|0)+-12>>2]|0)|0);ga=VF(aa,56736)|0;ga=Gb[c[(c[ga>>2]|0)+28>>2]&63](ga,10)|0;WF(aa);OE(ha,ga)|0;KE(ha)|0;ua()}}function Sh(a,b){a=a|0;b=b|0;var d=0,e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0.0,u=0.0,v=0.0,w=0.0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0.0,M=0.0,N=0.0;J=yb;yb=yb+80|0;I=J+68|0;A=J;C=J+56|0;D=J+44|0;E=J+40|0;F=J+36|0;s=+hi(+f[a+52>>2]);H=a+56|0;w=+hi(+f[H>>2]+1.0);w=w/+f[H>>2];H=a+60|0;x=a+64|0;y=a+32|0;z=D+4|0;o=a+88|0;p=C+4|0;q=C+8|0;r=D+8|0;m=0;n=0;while(1){l=c[H>>2]|0;i=l;if(n>>>0>=(((c[x>>2]|0)-l|0)/36|0)>>>0){a=3;break}d=i+(n*36|0)|0;a=i+(n*36|0)+16|0;l=c[a>>2]|0;if((l|0)>=(ji(y)|0)){a=5;break}j=i+(n*36|0)+12|0;l=c[j>>2]|0;l=B(ji(y)|0,l)|0;l=l+(c[a>>2]|0)|0;k=i+(n*36|0)+4|0;ki(E,F,+f[d>>2],+f[k>>2],c[j>>2]|0);e=~~(+f[E>>2]+.5);g=~~(+f[F>>2]+.5);K=(c[(li(y)|0)>>2]|0)+(l+-1<<5)|0;h=(c[(li(y)|0)>>2]|0)+(l<<5)|0;if(((mi(A,C,K,h,(c[(li(y)|0)>>2]|0)+(l+1<<5)|0,e,g)|0?ni(D,A,C)|0:0)?(L=+hi(+f[D>>2]),L=L+ +hi(+f[z>>2]),!(L>+f[o>>2])):0)?(G=i+(n*36|0)+32|0,oi(G,A)|0):0){l=i+(n*36|0)+24|0;L=+f[l>>2];if(!(L==+f[(ah(h,g)|0)+(e<<2)>>2])){a=11;break}N=+f[(ah(h,g)|0)+(e<<2)>>2];M=+f[D>>2];L=+f[z>>2];f[l>>2]=N-(+f[C>>2]*M+ +f[p>>2]*L+ +f[q>>2]*+f[r>>2]);pi(d,k,M+ +f[E>>2],L+ +f[F>>2],c[j>>2]|0);L=+f[r>>2]+ +(c[a>>2]|0);a=i+(n*36|0)+20|0;f[a>>2]=L;f[a>>2]=+Xh(L,0.0,+(ji(y)|0));if(((((+t(+(+f[G>>2]))>2])>=s:0)?(u=+f[d>>2],u>=0.0):0)?u<+((Lg(c[(li(y)|0)>>2]|0)|0)>>>0):0)?(v=+f[k>>2],v>=0.0):0)?v<+((Mg(c[(li(y)|0)>>2]|0)|0)>>>0):0){f[i+(n*36|0)+28>>2]=+qi(b,c[j>>2]|0,+f[a>>2]);a=m+1|0;g=(c[H>>2]|0)+(m*36|0)|0;e=g+36|0;do{c[g>>2]=c[d>>2];g=g+4|0;d=d+4|0}while((g|0)<(e|0))}else a=m}else a=m;m=a;n=n+1|0}if((a|0)==3){ii(H,m);yb=J;return}else if((a|0)==5){K=Vf(Vf(NE(Vf(Vf(Vf(56032,24248)|0,22676)|0,35e3)|0,489)|0,35007)|0,24320)|0;GE(I,K+(c[(c[K>>2]|0)+-12>>2]|0)|0);J=VF(I,56736)|0;J=Gb[c[(c[J>>2]|0)+28>>2]&63](J,10)|0;WF(I);OE(K,J)|0;KE(K)|0;ua()}else if((a|0)==11){K=Vf(Vf(NE(Vf(Vf(Vf(56032,24357)|0,22676)|0,35e3)|0,526)|0,35007)|0,24414)|0;GE(I,K+(c[(c[K>>2]|0)+-12>>2]|0)|0);J=VF(I,56736)|0;J=Gb[c[(c[J>>2]|0)+28>>2]&63](J,10)|0;WF(I);OE(K,J)|0;KE(K)|0;ua()}}function Th(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=yb;yb=yb+16|0;d=l+12|0;h=l;i=a+60|0;j=a+64|0;k=a+84|0;e=c[k>>2]|0;do if((((c[j>>2]|0)-(c[i>>2]|0)|0)/36|0)>>>0>e>>>0){f=a+16|0;b=c[f>>2]|0;g=((c[a+20>>2]|0)-b|0)/12|0;if((g|0)!=(c[a+8>>2]|0)){m=Vf(Vf(NE(Vf(Vf(Vf(56032,23939)|0,22676)|0,35e3)|0,454)|0,35007)|0,23994)|0;GE(d,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);n=VF(d,56736)|0;n=Gb[c[(c[n>>2]|0)+28>>2]&63](n,10)|0;WF(d);OE(m,n)|0;KE(m)|0;ua()}b=((c[b+4>>2]|0)-(c[b>>2]|0)|0)/12|0;if((b|0)!=(c[a+12>>2]|0)){n=Vf(Vf(NE(Vf(Vf(Vf(56032,24020)|0,22676)|0,35e3)|0,455)|0,35007)|0,23994)|0;GE(d,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(d,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(d);OE(n,m)|0;KE(n)|0;ua()}c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;_h(f,h,i,g,b,c[a>>2]|0,c[a+4>>2]|0,e);Vh(i,h);if((((c[j>>2]|0)-(c[i>>2]|0)|0)/36|0)>>>0>(c[k>>2]|0)>>>0){n=Vf(Vf(NE(Vf(Vf(Vf(56032,24078)|0,22676)|0,35e3)|0,469)|0,35007)|0,24147)|0;GE(d,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(d,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(d);OE(n,m)|0;KE(n)|0;ua()}else{fh(h);break}}while(0);yb=l;return}function Uh(b,d){b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0.0;w=yb;yb=yb+64|0;l=w+48|0;s=w+44|0;t=w+40|0;u=w+36|0;v=w;a:do if(!(a[b+28>>0]|0)){g=c[b+60>>2]|0;e=((c[b+64>>2]|0)-g|0)/36|0;b=0;while(1){if((b|0)==(e|0))break a;f[g+(b*36|0)+8>>2]=0.0;b=b+1|0}}else{k=b+72|0;m=b+76|0;c[m>>2]=c[k>>2];n=b+60|0;o=b+64|0;sh(k,(c[o>>2]|0)-(c[n>>2]|0)|0);p=b+92|0;tj(p,d);q=b+144|0;r=v+8|0;j=b+80|0;i=0;while(1){h=c[n>>2]|0;b=h;if(i>>>0>=(((c[o>>2]|0)-h|0)/36|0)>>>0)break;Wh(s,t,u,+f[b+(i*36|0)>>2],+f[b+(i*36|0)+4>>2],+f[b+(i*36|0)+28>>2],c[b+(i*36|0)+12>>2]|0);x=+f[s>>2];f[s>>2]=+Xh(x,0.0,+(((Lg(Jg(d,c[(c[n>>2]|0)+(i*36|0)+12>>2]|0,0)|0)|0)+-1|0)>>>0));x=+f[t>>2];x=+Xh(x,0.0,+(((Mg(Jg(d,c[(c[n>>2]|0)+(i*36|0)+12>>2]|0,0)|0)|0)+-1|0)>>>0));f[t>>2]=x;h=c[n>>2]|0;wj(p,c[q>>2]|0,l,c[h+(i*36|0)+12>>2]|0,c[h+(i*36|0)+16>>2]|0,+f[s>>2],x,+f[u>>2]);h=0;while(1){if((h|0)>=(c[l>>2]|0))break;b=v;e=(c[n>>2]|0)+(i*36|0)|0;g=b+36|0;do{c[b>>2]=c[e>>2];b=b+4|0;e=e+4|0}while((b|0)<(g|0));c[r>>2]=c[(c[q>>2]|0)+(h<<2)>>2];b=c[m>>2]|0;if((b|0)==(c[j>>2]|0))Yh(k,v);else{e=v;g=b+36|0;do{c[b>>2]=c[e>>2];b=b+4|0;e=e+4|0}while((b|0)<(g|0));c[m>>2]=(c[m>>2]|0)+36}h=h+1|0}i=i+1|0}Vh(n,k)}while(0);yb=w;return}function Vh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a>>2]|0;c[a>>2]=c[b>>2];c[b>>2]=f;f=a+4|0;d=b+4|0;e=c[f>>2]|0;c[f>>2]=c[d>>2];c[d>>2]=e;d=a+8|0;b=b+8|0;a=c[d>>2]|0;c[d>>2]=c[b>>2];c[b>>2]=a;return}function Wh(a,b,c,d,e,g,h){a=a|0;b=b|0;c=c|0;d=+d;e=+e;g=+g;h=h|0;var i=0.0,j=0.0;i=1.0/+(1<>2]=i*d+j;f[b>>2]=i*e+j;f[c>>2]=i*g;return}function Xh(a,b,c){a=+a;b=+b;c=+c;if(!(ac)a=c}else a=b;return +a}function Yh(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=yb;yb=yb+32|0;i=j;d=a+4|0;e=(((c[d>>2]|0)-(c[a>>2]|0)|0)/36|0)+1|0;f=Zh(a)|0;if(f>>>0>>0)CO(a);else{g=c[a>>2]|0;k=((c[a+8>>2]|0)-g|0)/36|0;h=k<<1;th(i,k>>>0>>1>>>0?(h>>>0>>0?e:h):f,((c[d>>2]|0)-g|0)/36|0,a+8|0);f=i+8|0;g=c[f>>2]|0;h=g;d=b;e=h+36|0;do{c[h>>2]=c[d>>2];h=h+4|0;d=d+4|0}while((h|0)<(e|0));c[f>>2]=g+36;uh(a,i);vh(i);yb=j;return}}function Zh(a){a=a|0;return 119304647}function _h(a,b,d,e,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0.0,n=0.0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,z=0,C=0,D=0;D=yb;yb=yb+48|0;C=D+8|0;v=D+32|0;u=D+28|0;y=D+24|0;z=D+20|0;w=D+16|0;x=D;o=B(g,e)|0;n=+A(+(+(h|0)/+(e|0)));m=+A(+(+(i|0)/+(g|0)));r=b+4|0;c[r>>2]=c[b>>2];sh(b,j);s=a+4|0;g=c[a>>2]|0;i=((c[s>>2]|0)-g|0)/12|0;e=0;while(1){if((e|0)==(i|0))break;l=c[g+(e*12|0)>>2]|0;k=((c[g+(e*12|0)+4>>2]|0)-l|0)/12|0;h=0;while(1){if((h|0)==(k|0))break;c[l+(h*12|0)+4>>2]=c[l+(h*12|0)>>2];h=h+1|0}e=e+1|0}q=(j|0)/(o|0)|0;o=d+4|0;n=+(~~n|0);m=+(~~m|0);g=C+4|0;l=0;while(1){p=c[d>>2]|0;e=p;if(l>>>0>=(((c[o>>2]|0)-p|0)/36|0)>>>0)break;i=~~(+f[e+(l*36|0)+4>>2]/m);k=c[(c[a>>2]|0)+(~~(+f[e+(l*36|0)>>2]/n)*12|0)>>2]|0;f[C>>2]=+t(+(+f[e+(l*36|0)+24>>2]));c[g>>2]=l;e=k+(i*12|0)+4|0;h=c[e>>2]|0;if(h>>>0<(c[k+(i*12|0)+8>>2]|0)>>>0){k=C;j=c[k+4>>2]|0;p=h;c[p>>2]=c[k>>2];c[p+4>>2]=j;c[e>>2]=(c[e>>2]|0)+8}else $h(k+(i*12|0)|0,C);l=l+1|0}p=b+8|0;e=c[a>>2]|0;g=e;j=0;h=g;a:while(1){if(j>>>0>=(((c[s>>2]|0)-e|0)/12|0)>>>0){e=16;break}o=0;i=g;while(1){l=c[i+(j*12|0)>>2]|0;e=l;if(o>>>0>=(((c[i+(j*12|0)+4>>2]|0)-l|0)/12|0)>>>0)break;l=e+(o*12|0)|0;e=e+(o*12|0)+4|0;g=c[e>>2]|0;i=c[l>>2]|0;k=g-i>>3;k=q>>>0>>0?q:k;if(!k)e=h;else{c[y>>2]=i;c[z>>2]=i+(k<<3);c[w>>2]=g;c[u>>2]=c[y>>2];c[v>>2]=c[z>>2];c[C>>2]=c[w>>2];ai(u,v,C,x);g=c[l>>2]|0;i=g;if(k>>>0>(c[e>>2]|0)-g>>3>>>0?!(+f[i>>2]>=+f[i+(k<<3)>>2]):0){e=23;break a}i=0;while(1){if(i>>>0>=k>>>0)break;h=(c[d>>2]|0)+((c[(c[l>>2]|0)+(i<<3)+4>>2]|0)*36|0)|0;e=c[r>>2]|0;if((e|0)==(c[p>>2]|0))Yh(b,h);else{g=e+36|0;do{c[e>>2]=c[h>>2];e=e+4|0;h=h+4|0}while((e|0)<(g|0));c[r>>2]=(c[r>>2]|0)+36}i=i+1|0}e=c[a>>2]|0}o=o+1|0;h=e;i=e}j=j+1|0;g=i;e=i}if((e|0)==16){yb=D;return}else if((e|0)==23){D=Vf(Vf(NE(Vf(Vf(Vf(56032,24171)|0,22676)|0,35e3)|0,661)|0,35007)|0,24229)|0;GE(C,D+(c[(c[D>>2]|0)+-12>>2]|0)|0);z=VF(C,56736)|0;z=Gb[c[(c[z>>2]|0)+28>>2]&63](z,10)|0;WF(C);OE(D,z)|0;KE(D)|0;ua()}}function $h(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=yb;yb=yb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>3)+1|0;g=di(a)|0;if(g>>>0>>0)CO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>2;ei(d,k>>3>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>3,a+8|0);g=d+8|0;e=c[b+4>>2]|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+8;fi(a,d);gi(d);yb=h;return}}function ai(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0,h=0,i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=yb;yb=yb+48|0;y=K+40|0;x=K+36|0;w=K+32|0;C=K+28|0;D=K+24|0;E=K+20|0;G=K+16|0;H=K+12|0;I=K+8|0;z=K+4|0;A=K;v=c[b>>2]|0;a:while(1){u=c[d>>2]|0;n=u;t=u+-8|0;q=t;s=u+-4|0;if((v|0)==(u|0))break;r=c[a>>2]|0;k=r;b:while(1){b=n-k|0;g=b>>3;switch(g|0){case 1:case 0:break a;case 2:{J=5;break a}case 3:{J=10;break a}default:{}}if((b|0)<64){J=12;break a}g=g>>>1;p=r+(g<<3)|0;c[I>>2]=k;c[z>>2]=p;c[A>>2]=q;c[w>>2]=c[I>>2];c[x>>2]=c[z>>2];c[y>>2]=c[A>>2];b=bi(w,x,y,e)|0;l=k;j=+f[p>>2];i=+f[l>>2];if(j>2]|0)>>>0<(c[l+4>>2]|0)>>>0:0){J=53;break}g=t;while(1){m=g+-8|0;if((m|0)==(l|0))break;i=+f[m>>2];if(j>2]|0,(c[h>>2]|0)>>>0>>0):0){J=51;break b}g=m}h=l+8|0;b=h;o=+f[t>>2];j=+f[r>>2];do if(!(o>2]|0)>>>0<(c[g>>2]|0)>>>0)break}else g=r+4|0;while(1){if((h|0)==(t|0))break a;i=+f[h>>2];if(i>2]|0,F>>>0<(c[g>>2]|0)>>>0):0){J=28;break}h=h+8|0}if((J|0)==25){J=0;g=h+4|0;b=g;g=c[g>>2]|0}else if((J|0)==28){J=0;b=h+4|0;g=F}f[h>>2]=o;f[t>>2]=i;c[b>>2]=c[s>>2];c[s>>2]=g;b=h+8|0}while(0);if((t|0)==(b|0))break a;l=r+4|0;g=q;while(1){j=+f[r>>2];k=b;while(1){b=k;i=+f[b>>2];if(i>2]|0)>>>0<(c[l>>2]|0)>>>0:0)break;k=b+8|0}h=k;while(1){b=g+-8|0;i=+f[b>>2];if(!(i>2]|0)>>>0>=(c[l>>2]|0)>>>0)break}g=b}if(b>>>0<=h>>>0)break;m=c[k>>2]|0;f[k>>2]=i;c[b>>2]=m;m=h+4|0;g=g+-4|0;p=c[m>>2]|0;c[m>>2]=c[g>>2];c[g>>2]=p;g=b;b=h+8|0}b=k;if(v>>>0>>0)break a;c[a>>2]=k;r=b}if((J|0)==47){h=g+-4|0;g=h;h=c[h>>2]|0;J=52}else if((J|0)==51){g=g+-4|0;h=B;J=52}else if((J|0)==53){J=0;h=t;s=k}if((J|0)==52){J=0;s=k;r=c[k>>2]|0;f[k>>2]=i;c[m>>2]=r;r=s+4|0;t=c[r>>2]|0;c[r>>2]=h;c[g>>2]=t;b=b+1|0;h=m}g=s+8|0;k=g;if(g>>>0>>0){q=p;g=k;while(1){p=q;n=p+4|0;j=+f[p>>2];while(1){k=g;i=+f[k>>2];if(!(j>2]|0)>>>0>=(c[k+4>>2]|0)>>>0)break}g=k+8|0}m=g;while(1){l=h+-8|0;i=+f[l>>2];if(j>2]|0)>>>0<(c[h+-4>>2]|0)>>>0:0)break;h=l}k=l;if(l>>>0<=m>>>0)break;t=c[g>>2]|0;f[g>>2]=i;c[l>>2]=t;t=m+4|0;h=h+-4|0;g=c[t>>2]|0;c[t>>2]=c[h>>2];c[h>>2]=g;b=b+1|0;h=k;q=(p|0)==(m|0)?k:q;g=m+8|0}r=g;p=q;k=g}else r=g;n=k;do if((p|0)!=(r|0)){i=+f[r>>2];j=+f[p>>2];if(!(i>2]|0;g=p+4|0;m=c[g>>2]|0;if(h>>>0>=m>>>0)break}else{h=r+4|0;m=p+4|0;g=m;l=h;m=c[m>>2]|0;h=c[h>>2]|0}t=c[k>>2]|0;f[k>>2]=j;c[p>>2]=t;c[l>>2]=m;c[g>>2]=h;b=b+1|0}while(0);if((v|0)==(r|0))break;c:do if(!b)if(v>>>0>>0){b=s;while(1){g=b+8|0;if((g|0)==(r|0))break a;i=+f[b>>2];j=+f[g>>2];if(i>2]|0)>>>0<(c[b+12>>2]|0)>>>0:0)break c;b=g}}else{b=n;while(1){g=b+8|0;if((g|0)==(u|0))break a;i=+f[b>>2];j=+f[g>>2];if(i>2]|0)>>>0<(c[b+12>>2]|0)>>>0:0)break c;b=g}}while(0);if(v>>>0>>0)c[d>>2]=k;else c[a>>2]=r+8}do if((J|0)==5){c[d>>2]=t;i=+f[r>>2];j=+f[t>>2];if(!(i>2]|0;h=c[s>>2]|0;if(g>>>0>=h>>>0)break}else{g=r+4|0;b=g;h=c[s>>2]|0;g=c[g>>2]|0}f[r>>2]=j;f[t>>2]=i;c[b>>2]=h;c[s>>2]=g}else if((J|0)==10){c[C>>2]=k;c[D>>2]=k+8;c[d>>2]=t;c[E>>2]=t;c[w>>2]=c[C>>2];c[x>>2]=c[D>>2];c[y>>2]=c[E>>2];bi(w,x,y,e)|0}else if((J|0)==12){c[G>>2]=k;c[H>>2]=u;c[x>>2]=c[G>>2];c[y>>2]=c[H>>2];ci(x,y,e)}while(0);yb=K;return}function bi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var g=0.0,h=0.0,i=0,j=0.0,k=0,l=0;l=c[b>>2]|0;k=c[a>>2]|0;j=+f[k>>2];h=+f[l>>2];if(!(j>2]|0)>>>0<(c[l+4>>2]|0)>>>0;else e=1;i=c[d>>2]|0;g=+f[i>>2];if(!(h>2]|0)>>>0<(c[i+4>>2]|0)>>>0;else b=1;do if(!e)if(b){f[l>>2]=g;f[i>>2]=h;d=l+4|0;i=i+4|0;a=c[d>>2]|0;c[d>>2]=c[i>>2];c[i>>2]=a;g=+f[k>>2];h=+f[l>>2];if(!(g>2]|0;a=c[d>>2]|0;if(e>>>0>=a>>>0){b=1;break}}else{e=k+4|0;b=e;a=c[d>>2]|0;e=c[e>>2]|0}f[k>>2]=h;f[l>>2]=g;c[b>>2]=a;c[d>>2]=e;b=2}else b=0;else{if(b){f[k>>2]=g;f[i>>2]=j;k=k+4|0;b=i+4|0;l=c[k>>2]|0;c[k>>2]=c[b>>2];c[b>>2]=l;b=1;break}f[k>>2]=h;f[l>>2]=j;k=k+4|0;a=l+4|0;d=c[k>>2]|0;c[k>>2]=c[a>>2];c[a>>2]=d;g=+f[i>>2];if(!(j>2]|0;if(d>>>0>=e>>>0){b=1;break}}else{e=i+4|0;b=e;e=c[e>>2]|0}f[l>>2]=g;f[i>>2]=j;c[a>>2]=e;c[b>>2]=d;b=2}while(0);return b|0}function ci(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,g=0.0,h=0,i=0,j=0,k=0,l=0;j=c[b>>2]|0;k=j+-8|0;l=c[a>>2]|0;while(1){if((l|0)==(k|0))break;a:do if((l|0)==(j|0))b=j;else{b=l;while(1){h=b+4|0;d=b;while(1){i=d+8|0;if((i|0)==(j|0))break a;e=+f[b>>2];g=+f[i>>2];if(e>2]|0)>>>0<(c[d+12>>2]|0)>>>0:0)break;d=i}b=i}}while(0);if((b|0)!=(l|0)){d=c[l>>2]|0;c[l>>2]=c[b>>2];c[b>>2]=d;d=l+4|0;i=b+4|0;h=c[d>>2]|0;c[d>>2]=c[i>>2];c[i>>2]=h}i=l+8|0;c[a>>2]=i;l=i}return}function di(a){a=a|0;return 536870911}function ei(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>536870911){f=O(8)|0;bO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=rB(b<<3)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<3);return}function fi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>3)<<3)|0;c[g>>2]=d;if((f|0)>0){YO(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function gi(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-8|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Nf(b,(c[a+12>>2]|0)-b|0);return}function hi(a){a=+a;return +(a*a)}function ii(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=((c[d>>2]|0)-f|0)/36|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b*36|0)}else Fi(a,b-e|0);return}function ji(a){a=a|0;return c[a+16>>2]|0}function ki(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=e|0;var g=0.0,h=0.0;h=1.0/+(1<>2]=h*c+g;f[b>>2]=h*d+g;return}function li(a){a=a|0;return a|0}function mi(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;j=yb;yb=yb+16|0;i=j;k=Lg(d)|0;k=(k|0)==(Lg(e)|0)&1;do if((Lg(f)|0)==(k|0)){k=Mg(d)|0;k=(k|0)==(Mg(e)|0)&1;if((Mg(f)|0)==(k|0)){wi(a,b,d,e,f,g,h);break}else{k=Vf(Vf(NE(Vf(Vf(Vf(56032,24457)|0,24528)|0,35e3)|0,466)|0,35007)|0,24621)|0;GE(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);h=VF(i,56736)|0;h=Gb[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;WF(i);OE(k,h)|0;KE(k)|0;ua()}}else{k=Lg(d)|0;if((k|0)==(Lg(e)|0)?(k=(Lg(e)|0)>>>1,(k|0)==(Lg(f)|0)):0){k=Mg(d)|0;if((k|0)==(Mg(e)|0)?(k=(Mg(e)|0)>>>1,(k|0)==(Mg(f)|0)):0){xi(a,b,d,e,f,g,h);break}k=Vf(Vf(NE(Vf(Vf(Vf(56032,24653)|0,24528)|0,35e3)|0,469)|0,35007)|0,24621)|0;GE(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);l=VF(i,56736)|0;l=Gb[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;WF(i);OE(k,l)|0;KE(k)|0;ua()}l=(Lg(d)|0)>>>1;if((l|0)==(Lg(e)|0)?(l=Lg(e)|0,(l|0)==(Lg(f)|0)):0){l=(Lg(d)|0)>>>1;if((l|0)==(Lg(e)|0)?(l=Lg(e)|0,(l|0)==(Lg(f)|0)):0){yi(a,b,d,e,f,g,h);break}l=Vf(Vf(NE(Vf(Vf(Vf(56032,24750)|0,24528)|0,35e3)|0,472)|0,35007)|0,24621)|0;GE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=VF(i,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(i);OE(l,k)|0;KE(l)|0;ua()}l=Vf(Vf(NE(Vf(Vf(Vf(56032,31132)|0,24528)|0,35e3)|0,475)|0,35007)|0,24843)|0;GE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=VF(i,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(i);OE(l,k)|0;KE(l)|0;ua()}while(0);yb=j;return 1}function ni(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=yb;yb=yb+48|0;d=e;if(ri(d,b,1.1920928955078125e-07)|0){si(a,d,c);a=1}else a=0;yb=e;return a|0}function oi(a,b){a=a|0;b=b|0;var c=0,d=0.0;c=b+16|0;d=+f[b>>2]*+f[c>>2];d=d-+hi(+f[b+4>>2]);if(d==0.0)a=0;else{f[a>>2]=+hi(+f[b>>2]+ +f[c>>2])/d;a=1}return a|0}function pi(a,b,c,d,e){a=a|0;b=b|0;c=+c;d=+d;e=e|0;var g=0.0,h=0.0;g=+fz(1.0,e+-1|0)+-.5;h=+(1<>2]=h*c+g;f[b>>2]=h*d+g;return}function qi(a,b,d){a=a|0;b=b|0;d=+d;var e=0,g=0,h=0,i=0;g=yb;yb=yb+16|0;e=g;if(!(d>=0.0)){h=Vf(Vf(NE(Vf(Vf(Vf(56032,34104)|0,33900)|0,35e3)|0,232)|0,35007)|0,34138)|0;GE(e,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);i=VF(e,56736)|0;i=Gb[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;WF(e);OE(h,i)|0;KE(h)|0;ua()}if(+(c[a+20>>2]|0)>d){d=+v(+(+f[a+24>>2]),+d)*+(1<>2]|0)+-12>>2]|0)|0);h=VF(e,56736)|0;h=Gb[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;WF(e);OE(i,h)|0;KE(i)|0;ua()}return +(0.0)}function ri(a,b,d){a=a|0;b=b|0;d=+d;var e=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;e=+ti(b);if(!(+t(+e)<=d)){e=1.0/e;j=b+16|0;l=b+20|0;g=b+32|0;f[a>>2]=e*+ui(+f[j>>2],+f[l>>2],+f[g>>2]);m=b+8|0;k=b+4|0;i=a+4|0;f[i>>2]=e*+vi(+f[m>>2],+f[k>>2],+f[g>>2],+f[b+28>>2]);h=a+8|0;f[h>>2]=e*+vi(+f[k>>2],+f[m>>2],+f[j>>2],+f[l>>2]);f[a+16>>2]=e*+ui(+f[b>>2],+f[m>>2],+f[g>>2]);g=a+20|0;f[g>>2]=e*+vi(+f[m>>2],+f[b>>2],+f[l>>2],+f[b+12>>2]);f[a+32>>2]=e*+ui(+f[b>>2],+f[k>>2],+f[j>>2]);c[a+12>>2]=c[i>>2];c[a+24>>2]=c[h>>2];c[a+28>>2]=c[g>>2];a=1}else a=0;return a|0}function si(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;e=c+4|0;d=c+8|0;f[a>>2]=+f[b>>2]*+f[c>>2]+ +f[b+4>>2]*+f[e>>2]+ +f[b+8>>2]*+f[d>>2];f[a+4>>2]=+f[b+12>>2]*+f[c>>2]+ +f[b+16>>2]*+f[e>>2]+ +f[b+20>>2]*+f[d>>2];f[a+8>>2]=+f[b+24>>2]*+f[c>>2]+ +f[b+28>>2]*+f[e>>2]+ +f[b+32>>2]*+f[d>>2];return}function ti(a){a=a|0;var b=0,c=0,d=0.0,e=0.0,g=0.0,h=0.0,i=0;b=a+32|0;g=+f[b>>2];c=a+4|0;g=g*+hi(+f[c>>2]);e=+f[a+8>>2];i=a+20|0;h=+f[c>>2]*2.0*e*+f[i>>2];c=a+16|0;d=+f[c>>2];e=d*+hi(e);d=+f[a>>2];d=d*+hi(+f[i>>2]);return +(h-g-e-d+ +f[a>>2]*+f[c>>2]*+f[b>>2])}function ui(a,b,c){a=+a;b=+b;c=+c;return +(a*c-b*b)}function vi(a,b,c,d){a=+a;b=+b;c=+c;d=+d;return +(a*d-b*c)}function wi(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0,A=0;r=yb;yb=yb+32|0;o=r+20|0;p=r+16|0;q=r+12|0;j=r+8|0;k=r+4|0;l=r;if((h|0)>0?(h+1|0)>>>0<(Lg(e)|0)>>>0:0){m=i+-1|0;if((i|0)>0?(n=i+1|0,n>>>0<(Mg(e)|0)>>>0):0){s=Lg(d)|0;if((s|0)!=(Lg(e)|0)){s=Vf(Vf(NE(Vf(Vf(Vf(56032,26146)|0,24528)|0,35e3)|0,311)|0,35007)|0,25078)|0;GE(o,s+(c[(c[s>>2]|0)+-12>>2]|0)|0);t=VF(o,56736)|0;t=Gb[c[(c[t>>2]|0)+28>>2]&63](t,10)|0;WF(o);OE(s,t)|0;KE(s)|0;ua()}t=Lg(d)|0;if((t|0)!=(Lg(g)|0)){t=Vf(Vf(NE(Vf(Vf(Vf(56032,26545)|0,24528)|0,35e3)|0,312)|0,35007)|0,25078)|0;GE(o,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);s=VF(o,56736)|0;s=Gb[c[(c[s>>2]|0)+28>>2]&63](s,10)|0;WF(o);OE(t,s)|0;KE(t)|0;ua()}t=Mg(d)|0;if((t|0)!=(Mg(e)|0)){t=Vf(Vf(NE(Vf(Vf(Vf(56032,26198)|0,24528)|0,35e3)|0,313)|0,35007)|0,25078)|0;GE(o,t+(c[(c[t>>2]|0)+-12>>2]|0)|0);s=VF(o,56736)|0;s=Gb[c[(c[s>>2]|0)+28>>2]&63](s,10)|0;WF(o);OE(t,s)|0;KE(t)|0;ua()}t=Mg(d)|0;if((t|0)==(Mg(g)|0)){z=(ah(d,m)|0)+(h<<2)|0;A=(ah(d,i)|0)+(h<<2)|0;o=(ah(d,n)|0)+(h<<2)|0;d=(ah(e,i)|0)+(h<<2)|0;t=(ah(g,m)|0)+(h<<2)|0;m=(ah(g,i)|0)+(h<<2)|0;s=(ah(g,n)|0)+(h<<2)|0;zi(p,q,j,k,l,e,h,i);v=+f[m>>2];u=+f[A>>2];w=v+(u-+f[d>>2]*2.0);y=(+f[A+-4>>2]-+f[A+4>>2]+(+f[m+4>>2]-+f[m+-4>>2]))*.25;x=(+f[z>>2]-+f[o>>2]+(+f[s>>2]-+f[t>>2]))*.25;c[a>>2]=c[j>>2];t=c[l>>2]|0;c[a+4>>2]=t;f[a+8>>2]=y;c[a+12>>2]=t;c[a+16>>2]=c[k>>2];f[a+20>>2]=x;f[a+24>>2]=y;f[a+28>>2]=x;f[a+32>>2]=w;f[b>>2]=-+f[p>>2];f[b+4>>2]=-+f[q>>2];f[b+8>>2]=-((v-u)*.5);yb=r;return}else{A=Vf(Vf(NE(Vf(Vf(Vf(56032,26597)|0,24528)|0,35e3)|0,314)|0,35007)|0,25078)|0;GE(o,A+(c[(c[A>>2]|0)+-12>>2]|0)|0);z=VF(o,56736)|0;z=Gb[c[(c[z>>2]|0)+28>>2]&63](z,10)|0;WF(o);OE(A,z)|0;KE(A)|0;ua()}}A=Vf(Vf(NE(Vf(Vf(Vf(56032,24946)|0,24528)|0,35e3)|0,310)|0,35007)|0,25005)|0;GE(o,A+(c[(c[A>>2]|0)+-12>>2]|0)|0);z=VF(o,56736)|0;z=Gb[c[(c[z>>2]|0)+28>>2]&63](z,10)|0;WF(o);OE(A,z)|0;KE(A)|0;ua()}A=Vf(Vf(NE(Vf(Vf(Vf(56032,24872)|0,24528)|0,35e3)|0,309)|0,35007)|0,24930)|0;GE(o,A+(c[(c[A>>2]|0)+-12>>2]|0)|0);z=VF(o,56736)|0;z=Gb[c[(c[z>>2]|0)+28>>2]&63](z,10)|0;WF(o);OE(A,z)|0;KE(A)|0;ua()}function xi(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0.0,z=0.0,A=0.0,B=0.0,C=0.0;w=yb;yb=yb+32|0;t=w+28|0;u=w+24|0;v=w+20|0;o=w+16|0;p=w+12|0;q=w+8|0;r=w+4|0;s=w;if((h|0)>0?(h+1|0)>>>0<(Lg(e)|0)>>>0:0){j=i+-1|0;if((i|0)>0?(l=i+1|0,l>>>0<(Mg(e)|0)>>>0):0){n=Lg(d)|0;if((n|0)!=(Lg(e)|0)){n=Vf(Vf(NE(Vf(Vf(Vf(56032,26146)|0,24528)|0,35e3)|0,415)|0,35007)|0,25078)|0;GE(t,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(t,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(t);OE(n,m)|0;KE(n)|0;ua()}n=(Lg(d)|0)>>>1;if((n|0)!=(Lg(g)|0)){n=Vf(Vf(NE(Vf(Vf(Vf(56032,25108)|0,24528)|0,35e3)|0,416)|0,35007)|0,25078)|0;GE(t,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(t,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(t);OE(n,m)|0;KE(n)|0;ua()}n=Mg(d)|0;if((n|0)!=(Mg(e)|0)){n=Vf(Vf(NE(Vf(Vf(Vf(56032,26198)|0,24528)|0,35e3)|0,417)|0,35007)|0,25078)|0;GE(t,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(t,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(t);OE(n,m)|0;KE(n)|0;ua()}n=(Mg(d)|0)>>>1;if((n|0)!=(Mg(g)|0)){n=Vf(Vf(NE(Vf(Vf(Vf(56032,25224)|0,24528)|0,35e3)|0,418)|0,35007)|0,25078)|0;GE(t,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(t,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(t);OE(n,m)|0;KE(n)|0;ua()}m=(ah(d,j)|0)+(h<<2)|0;n=(ah(d,i)|0)+(h<<2)|0;j=(ah(d,l)|0)+(h<<2)|0;d=(ah(e,i)|0)+(h<<2)|0;ki(u,v,+(h|0),+(i|0),1);k=+f[u>>2];if(!(k+-.5>=0.0)){l=Vf(Vf(NE(Vf(Vf(Vf(56032,26252)|0,24528)|0,35e3)|0,428)|0,35007)|0,26293)|0;GE(t,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);x=VF(t,56736)|0;x=Gb[c[(c[x>>2]|0)+28>>2]&63](x,10)|0;WF(t);OE(l,x)|0;KE(l)|0;ua()}if(!(+f[v>>2]+-.5>=0.0)){x=Vf(Vf(NE(Vf(Vf(Vf(56032,26347)|0,24528)|0,35e3)|0,429)|0,35007)|0,26388)|0;GE(t,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);l=VF(t,56736)|0;l=Gb[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;WF(t);OE(x,l)|0;KE(x)|0;ua()}if(!(k+.5<+((Lg(g)|0)>>>0))){x=Vf(Vf(NE(Vf(Vf(Vf(56032,26442)|0,24528)|0,35e3)|0,430)|0,35007)|0,26293)|0;GE(t,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);l=VF(t,56736)|0;l=Gb[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;WF(t);OE(x,l)|0;KE(x)|0;ua()}k=+f[v>>2]+.5;if(k<+((Mg(g)|0)>>>0)){zi(o,p,q,r,s,e,h,i);y=+Ai(g,+f[u>>2],+f[v>>2]);k=+f[n>>2];z=y+(k-+f[d>>2]*2.0);C=+f[n+-4>>2];C=C+ +Ai(g,+f[u>>2]+.5,+f[v>>2]);B=+f[n+4>>2];B=(C-(B+ +Ai(g,+f[u>>2]+-.5,+f[v>>2])))*.25;C=+f[m>>2];C=C+ +Ai(g,+f[u>>2],+f[v>>2]+.5);A=+f[j>>2];A=(C-(A+ +Ai(g,+f[u>>2],+f[v>>2]+-.5)))*.25;c[a>>2]=c[q>>2];x=c[s>>2]|0;c[a+4>>2]=x;f[a+8>>2]=B;c[a+12>>2]=x;c[a+16>>2]=c[r>>2];f[a+20>>2]=A;f[a+24>>2]=B;f[a+28>>2]=A;f[a+32>>2]=z;f[b>>2]=-+f[o>>2];f[b+4>>2]=-+f[p>>2];f[b+8>>2]=-((y-k)*.5);yb=w;return}else{x=Vf(Vf(NE(Vf(Vf(Vf(56032,26493)|0,24528)|0,35e3)|0,431)|0,35007)|0,26388)|0;GE(t,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);w=VF(t,56736)|0;w=Gb[c[(c[w>>2]|0)+28>>2]&63](w,10)|0;WF(t);OE(x,w)|0;KE(x)|0;ua()}}x=Vf(Vf(NE(Vf(Vf(Vf(56032,24946)|0,24528)|0,35e3)|0,414)|0,35007)|0,25005)|0;GE(t,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);w=VF(t,56736)|0;w=Gb[c[(c[w>>2]|0)+28>>2]&63](w,10)|0;WF(t);OE(x,w)|0;KE(x)|0;ua()}x=Vf(Vf(NE(Vf(Vf(Vf(56032,24872)|0,24528)|0,35e3)|0,413)|0,35007)|0,24930)|0;GE(t,x+(c[(c[x>>2]|0)+-12>>2]|0)|0);w=VF(t,56736)|0;w=Gb[c[(c[w>>2]|0)+28>>2]&63](w,10)|0;WF(t);OE(x,w)|0;KE(x)|0;ua()}function yi(a,b,d,e,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0,B=0.0,C=0;t=yb;yb=yb+32|0;q=t+28|0;r=t+24|0;s=t+20|0;j=t+16|0;k=t+12|0;l=t+8|0;m=t+4|0;n=t;if((h|0)>0?(h+1|0)>>>0<(Lg(e)|0)>>>0:0){o=i+-1|0;if((i|0)>0?(p=i+1|0,p>>>0<(Mg(e)|0)>>>0):0){u=(Lg(d)|0)>>>1;if((u|0)!=(Lg(e)|0)){u=Vf(Vf(NE(Vf(Vf(Vf(56032,25021)|0,24528)|0,35e3)|0,361)|0,35007)|0,25078)|0;GE(q,u+(c[(c[u>>2]|0)+-12>>2]|0)|0);v=VF(q,56736)|0;v=Gb[c[(c[v>>2]|0)+28>>2]&63](v,10)|0;WF(q);OE(u,v)|0;KE(u)|0;ua()}v=(Lg(d)|0)>>>1;if((v|0)!=(Lg(g)|0)){v=Vf(Vf(NE(Vf(Vf(Vf(56032,25108)|0,24528)|0,35e3)|0,362)|0,35007)|0,25078)|0;GE(q,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=VF(q,56736)|0;u=Gb[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;WF(q);OE(v,u)|0;KE(v)|0;ua()}v=(Mg(d)|0)>>>1;if((v|0)!=(Mg(e)|0)){v=Vf(Vf(NE(Vf(Vf(Vf(56032,25165)|0,24528)|0,35e3)|0,363)|0,35007)|0,25078)|0;GE(q,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=VF(q,56736)|0;u=Gb[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;WF(q);OE(v,u)|0;KE(v)|0;ua()}v=(Mg(d)|0)>>>1;if((v|0)==(Mg(g)|0)){C=(ah(e,i)|0)+(h<<2)|0;v=(ah(g,o)|0)+(h<<2)|0;q=(ah(g,i)|0)+(h<<2)|0;u=(ah(g,p)|0)+(h<<2)|0;pi(r,s,+(h|0),+(i|0),1);zi(j,k,l,m,n,e,h,i);w=+Ai(d,+f[r>>2],+f[s>>2]);x=+f[q>>2];y=x+(w-+f[C>>2]*2.0);B=+Ai(d,+f[r>>2]+-2.0,+f[s>>2]);B=B+ +f[q+4>>2];A=+Ai(d,+f[r>>2]+2.0,+f[s>>2]);A=(B-(A+ +f[q+-4>>2]))*.25;B=+Ai(d,+f[r>>2],+f[s>>2]+-2.0);B=B+ +f[u>>2];z=+Ai(d,+f[r>>2],+f[s>>2]+2.0);z=(B-(z+ +f[v>>2]))*.25;c[a>>2]=c[l>>2];v=c[n>>2]|0;c[a+4>>2]=v;f[a+8>>2]=A;c[a+12>>2]=v;c[a+16>>2]=c[m>>2];f[a+20>>2]=z;f[a+24>>2]=A;f[a+28>>2]=z;f[a+32>>2]=y;f[b>>2]=-+f[j>>2];f[b+4>>2]=-+f[k>>2];f[b+8>>2]=-((x-w)*.5);yb=t;return}else{C=Vf(Vf(NE(Vf(Vf(Vf(56032,25224)|0,24528)|0,35e3)|0,364)|0,35007)|0,25078)|0;GE(q,C+(c[(c[C>>2]|0)+-12>>2]|0)|0);v=VF(q,56736)|0;v=Gb[c[(c[v>>2]|0)+28>>2]&63](v,10)|0;WF(q);OE(C,v)|0;KE(C)|0;ua()}}C=Vf(Vf(NE(Vf(Vf(Vf(56032,24946)|0,24528)|0,35e3)|0,360)|0,35007)|0,25005)|0;GE(q,C+(c[(c[C>>2]|0)+-12>>2]|0)|0);v=VF(q,56736)|0;v=Gb[c[(c[v>>2]|0)+28>>2]&63](v,10)|0;WF(q);OE(C,v)|0;KE(C)|0;ua()}C=Vf(Vf(NE(Vf(Vf(Vf(56032,24872)|0,24528)|0,35e3)|0,359)|0,35007)|0,24930)|0;GE(q,C+(c[(c[C>>2]|0)+-12>>2]|0)|0);v=VF(q,56736)|0;v=Gb[c[(c[v>>2]|0)+28>>2]&63](v,10)|0;WF(q);OE(C,v)|0;KE(C)|0;ua()}function zi(a,b,d,e,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0;n=yb;yb=yb+16|0;m=n;if((i|0)>0?(i+1|0)>>>0<(Lg(h)|0)>>>0:0){k=j+-1|0;if((j|0)>0?(l=j+1|0,l>>>0<(Mg(h)|0)>>>0):0){k=(ah(h,k)|0)+(i<<2)|0;j=(ah(h,j)|0)+(i<<2)|0;m=(ah(h,l)|0)+(i<<2)|0;h=j+4|0;i=j+-4|0;f[a>>2]=(+f[h>>2]-+f[i>>2])*.5;f[b>>2]=(+f[m>>2]-+f[k>>2])*.5;f[d>>2]=+f[h>>2]+(+f[i>>2]-+f[j>>2]*2.0);f[e>>2]=+f[m>>2]+(+f[k>>2]-+f[j>>2]*2.0);f[g>>2]=(+f[k+-4>>2]+ +f[m+4>>2]-(+f[k+4>>2]+ +f[m+-4>>2]))*.25;yb=n;return}n=Vf(Vf(NE(Vf(Vf(Vf(56032,26089)|0,24528)|0,35e3)|0,285)|0,35007)|0,25005)|0;GE(m,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);j=VF(m,56736)|0;j=Gb[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;WF(m);OE(n,j)|0;KE(n)|0;ua()}n=Vf(Vf(NE(Vf(Vf(Vf(56032,26033)|0,24528)|0,35e3)|0,284)|0,35007)|0,24930)|0;GE(m,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);j=VF(m,56736)|0;j=Gb[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;WF(m);OE(n,j)|0;KE(n)|0;ua()}function Ai(a,b,c){a=a|0;b=+b;c=+c;var d=0,e=0,f=0;f=Bi(a)|0;e=Lg(a)|0;d=Mg(a)|0;return +(+Di(f,e,d,Ci(a)|0,b,c))}function Bi(a){a=a|0;return c[a+24>>2]|0}function Ci(a){a=a|0;return c[a+12>>2]|0}function Di(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=+f;return +(+Ei(a,b,c,d,e,f))}function Ei(a,b,d,e,g,h){a=a|0;b=b|0;d=d|0;e=e|0;g=+g;h=+h;var i=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,t=0.0,u=0.0;p=yb;yb=yb+16|0;n=p;o=~~+s(+g);if((o|0)!=(~~g|0)){m=Vf(Vf(NE(Vf(Vf(Vf(56032,25283)|0,25335)|0,35e3)|0,69)|0,35007)|0,25411)|0;GE(n,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);l=VF(n,56736)|0;l=Gb[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;WF(n);OE(m,l)|0;KE(m)|0;ua()}l=~~+s(+h);if((l|0)!=(~~h|0)){m=Vf(Vf(NE(Vf(Vf(Vf(56032,25441)|0,25335)|0,35e3)|0,70)|0,35007)|0,25411)|0;GE(n,m+(c[(c[m>>2]|0)+-12>>2]|0)|0);k=VF(n,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(n);OE(m,k)|0;KE(m)|0;ua()}m=o+1|0;k=l+1|0;if(!((l|0)>-1&l>>>0>>0)){q=Vf(Vf(NE(Vf(Vf(Vf(56032,25493)|0,25335)|0,35e3)|0,79)|0,35007)|0,25539)|0;GE(n,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);r=VF(n,56736)|0;r=Gb[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;WF(n);OE(q,r)|0;KE(q)|0;ua()}if(k>>>0>=d>>>0){r=Vf(Vf(NE(Vf(Vf(Vf(56032,25556)|0,25335)|0,35e3)|0,80)|0,35007)|0,25616)|0;GE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=VF(n,56736)|0;q=Gb[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;WF(n);OE(r,q)|0;KE(r)|0;ua()}if(!((o|0)>-1&o>>>0>>0)){r=Vf(Vf(NE(Vf(Vf(Vf(56032,25640)|0,25335)|0,35e3)|0,81)|0,35007)|0,25685)|0;GE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=VF(n,56736)|0;q=Gb[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;WF(n);OE(r,q)|0;KE(r)|0;ua()}if(m>>>0>=b>>>0){r=Vf(Vf(NE(Vf(Vf(Vf(56032,25702)|0,25335)|0,35e3)|0,82)|0,35007)|0,25761)|0;GE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=VF(n,56736)|0;q=Gb[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;WF(n);OE(r,q)|0;KE(r)|0;ua()}b=a+(B(l,e)|0)|0;a=b+e|0;u=+(m|0)-g;i=+(k|0)-h;j=u*i;t=g-+(o|0);i=t*i;h=h-+(l|0);g=u*h;h=t*h;if(!(j>=0.0)|!(j<=1.0001)){r=Vf(Vf(NE(Vf(Vf(Vf(56032,25785)|0,25335)|0,35e3)|0,94)|0,35007)|0,25832)|0;GE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=VF(n,56736)|0;q=Gb[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;WF(n);OE(r,q)|0;KE(r)|0;ua()}if(!(i>=0.0)|!(i<=1.0001)){r=Vf(Vf(NE(Vf(Vf(Vf(56032,25845)|0,25335)|0,35e3)|0,95)|0,35007)|0,25832)|0;GE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=VF(n,56736)|0;q=Gb[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;WF(n);OE(r,q)|0;KE(r)|0;ua()}if(!(g>=0.0)|!(g<=1.0001)){r=Vf(Vf(NE(Vf(Vf(Vf(56032,25892)|0,25335)|0,35e3)|0,96)|0,35007)|0,25832)|0;GE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=VF(n,56736)|0;q=Gb[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;WF(n);OE(r,q)|0;KE(r)|0;ua()}if(!(h>=0.0)|!(h<=1.0001)){r=Vf(Vf(NE(Vf(Vf(Vf(56032,25939)|0,25335)|0,35e3)|0,97)|0,35007)|0,25832)|0;GE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=VF(n,56736)|0;q=Gb[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;WF(n);OE(r,q)|0;KE(r)|0;ua()}if(!(h+(g+(j+i))<=1.0001)){r=Vf(Vf(NE(Vf(Vf(Vf(56032,25986)|0,25335)|0,35e3)|0,98)|0,35007)|0,25832)|0;GE(n,r+(c[(c[r>>2]|0)+-12>>2]|0)|0);q=VF(n,56736)|0;q=Gb[c[(c[q>>2]|0)+28>>2]&63](q,10)|0;WF(n);OE(r,q)|0;KE(r)|0;ua()}else{yb=p;return +(j*+f[b+(o<<2)>>2]+i*+f[b+(m<<2)>>2]+g*+f[a+(o<<2)>>2]+h*+f[a+(m<<2)>>2])}return +(0.0)}function Fi(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=yb;yb=yb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((((c[g>>2]|0)-d|0)/36|0)>>>0>>0){d=((d-(c[a>>2]|0)|0)/36|0)+b|0;e=Zh(a)|0;if(e>>>0>>0)CO(a);else{j=c[a>>2]|0;k=((c[g>>2]|0)-j|0)/36|0;g=k<<1;th(f,k>>>0>>1>>>0?(g>>>0>>0?d:g):e,((c[h>>2]|0)-j|0)/36|0,a+8|0);Hi(f,b);uh(a,f);vh(f);break}}else Gi(a,b);while(0);yb=i;return}function Gi(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+4|0;a=c[e>>2]|0;do{d=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));a=(c[e>>2]|0)+36|0;c[e>>2]=a;b=b+-1|0}while((b|0)!=0);return}function Hi(a,b){a=a|0;b=b|0;var d=0,e=0;e=a+8|0;a=c[e>>2]|0;do{d=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));a=(c[e>>2]|0)+36|0;c[e>>2]=a;b=b+-1|0}while((b|0)!=0);return}function Ii(a){a=a|0;return (c[a+4>>2]|0)-(c[a>>2]|0)>>5|0}function Ji(a,b){a=a|0;b=b|0;return (c[a>>2]|0)+(b<<5)|0}function Ki(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=yb;yb=yb+16|0;d=f;e=c[a>>2]|0;if((c[a+4>>2]|0)-e>>5>>>0>b>>>0){e=Lg(e)|0;e=~~+Ni(+Mi(+(((e>>>0)/((Lg((c[a>>2]|0)+(b<<5)|0)|0)>>>0)|0)>>>0)));yb=f;return e|0}else{f=Vf(Vf(NE(Vf(Vf(Vf(56032,26949)|0,24528)|0,35e3)|0,94)|0,35007)|0,26995)|0;GE(d,f+(c[(c[f>>2]|0)+-12>>2]|0)|0);e=VF(d,56736)|0;e=Gb[c[(c[e>>2]|0)+28>>2]&63](e,10)|0;WF(d);OE(f,e)|0;KE(f)|0;ua()}return 0}function Li(a,b){a=a|0;b=b|0;return (b|0)%(c[a+16>>2]|0)|0|0}function Mi(a){a=+a;return +(+z(+a)/.6931471824645996)}function Ni(a){a=+a;return +(+s(+(a+.5)))}function Oi(a){a=a|0;c[a>>2]=15676;eh(a+56|0);eh(a+44|0);Qi(a+32|0);Ri(a);return}function Pi(a){a=a|0;Oi(a);QA(a);return}function Qi(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Nf(b,(c[a+8>>2]|0)-d|0)}return}function Ri(a){a=a|0;c[a>>2]=15692;kh(a+4|0);return}function Si(a){a=a|0;Ri(a);QA(a);return}function Ti(a,g,h,i,j){a=a|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;t=yb;yb=yb+16|0;k=t;if(i>>>0<=4){s=Vf(Vf(NE(Vf(Vf(Vf(56032,27047)|0,27081)|0,35e3)|0,55)|0,35007)|0,27176)|0;GE(k,s+(c[(c[s>>2]|0)+-12>>2]|0)|0);r=VF(k,56736)|0;r=Gb[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;WF(k);OE(s,r)|0;KE(s)|0;ua()}if(j>>>0<=4){s=Vf(Vf(NE(Vf(Vf(Vf(56032,27195)|0,27081)|0,35e3)|0,56)|0,35007)|0,27176)|0;GE(k,s+(c[(c[s>>2]|0)+-12>>2]|0)|0);r=VF(k,56736)|0;r=Gb[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;WF(k);OE(s,r)|0;KE(s)|0;ua()}o=i+-1|0;p=i+-2|0;q=i+-3|0;r=i+-4|0;l=g;m=0;while(1){if((m|0)==(j|0))break;s=h+(B(m,i)|0)|0;k=d[s>>0]|0;u=s+1|0;n=s+2|0;b[l>>1]=(k*7|0)+(d[n>>0]|0)+((d[u>>0]|0)+k<<2);k=d[s>>0]|0;b[l+2>>1]=((d[u>>0]|0)*6|0)+k+(d[s+3>>0]|0)+((d[n>>0]|0)+k<<2);k=2;n=l+4|0;while(1){if((k|0)==(p|0))break;u=k+1|0;b[n>>1]=((d[s+k>>0]|0)*6|0)+(d[s+(k+-2)>>0]|0)+((d[s+u>>0]|0)+(d[s+(k+-1)>>0]|0)<<2)+(d[s+(k+2)>>0]|0);k=u;n=n+2|0}u=l+(p<<1)|0;n=s+p|0;k=s+q|0;v=s+o|0;w=d[v>>0]|0;b[u>>1]=((d[n>>0]|0)*6|0)+w+(d[s+r>>0]|0)+(w+(d[k>>0]|0)<<2);s=d[v>>0]|0;b[u+2>>1]=(s*7|0)+(d[k>>0]|0)+((d[n>>0]|0)+s<<2);l=l+(i<<1)|0;m=m+1|0}s=j+-2|0;k=g+(i<<1)|0;q=k+(i<<1)|0;l=0;m=q;n=k;o=g;p=a;while(1){if((l|0)==(i|0))break;w=e[o>>1]|0;f[p>>2]=+((w*7|0)+((e[n>>1]|0)+w<<2)+(e[m>>1]|0)|0)*.00390625;l=l+1|0;m=m+2|0;n=n+2|0;o=o+2|0;p=p+4|0}o=0;p=q+(i<<1)|0;n=q;l=g;m=a+(i<<2)|0;while(1){if((o|0)==(i|0))break;w=e[l>>1]|0;f[m>>2]=+(((e[k>>1]|0)*6|0)+w+((e[n>>1]|0)+w<<2)+(e[p>>1]|0)|0)*.00390625;o=o+1|0;p=p+2|0;n=n+2|0;k=k+2|0;l=l+2|0;m=m+4|0}l=2;while(1){if((l|0)==(s|0))break;q=g+((B(l+-2|0,i)|0)<<1)|0;p=q+(i<<1)|0;o=p+(i<<1)|0;n=o+(i<<1)|0;k=0;m=n+(i<<1)|0;r=a+((B(l,i)|0)<<2)|0;while(1){if((k|0)==(i|0))break;f[r>>2]=+(((e[o>>1]|0)*6|0)+(e[q>>1]|0)+((e[n>>1]|0)+(e[p>>1]|0)<<2)+(e[m>>1]|0)|0)*.00390625;k=k+1|0;m=m+2|0;n=n+2|0;o=o+2|0;p=p+2|0;q=q+2|0;r=r+4|0}l=l+1|0}p=g+((B(j+-4|0,i)|0)<<1)|0;o=p+(i<<1)|0;n=o+(i<<1)|0;l=0;m=n+(i<<1)|0;k=a+((B(s,i)|0)<<2)|0;while(1){if((l|0)==(i|0))break;w=e[m>>1]|0;f[k>>2]=+(((e[n>>1]|0)*6|0)+(e[p>>1]|0)+(w+(e[o>>1]|0)<<2)+w|0)*.00390625;l=l+1|0;m=m+2|0;n=n+2|0;o=o+2|0;p=p+2|0;k=k+4|0}o=g+((B(j+-3|0,i)|0)<<1)|0;n=o+(i<<1)|0;l=0;m=n+(i<<1)|0;k=a+((B(j+-1|0,i)|0)<<2)|0;while(1){if((l|0)==(i|0))break;w=e[m>>1]|0;f[k>>2]=+((w*6|0)+(e[o>>1]|0)+(w+(e[n>>1]|0)<<2)+w|0)*.00390625;l=l+1|0;m=m+2|0;n=n+2|0;o=o+2|0;k=k+4|0}yb=t;return}function Ui(a,b,d,e,g){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0,t=0;q=yb;yb=yb+16|0;h=q;if(e>>>0<=4){p=Vf(Vf(NE(Vf(Vf(Vf(56032,27047)|0,27081)|0,35e3)|0,168)|0,35007)|0,27176)|0;GE(h,p+(c[(c[p>>2]|0)+-12>>2]|0)|0);o=VF(h,56736)|0;o=Gb[c[(c[o>>2]|0)+28>>2]&63](o,10)|0;WF(h);OE(p,o)|0;KE(p)|0;ua()}if(g>>>0<=4){p=Vf(Vf(NE(Vf(Vf(Vf(56032,27195)|0,27081)|0,35e3)|0,169)|0,35007)|0,27176)|0;GE(h,p+(c[(c[p>>2]|0)+-12>>2]|0)|0);o=VF(h,56736)|0;o=Gb[c[(c[o>>2]|0)+28>>2]&63](o,10)|0;WF(h);OE(p,o)|0;KE(p)|0;ua()}l=e+-1|0;m=e+-2|0;n=e+-3|0;o=e+-4|0;i=b;j=0;while(1){if((j|0)==(g|0))break;p=d+((B(j,e)|0)<<2)|0;r=+f[p>>2];k=p+4|0;h=p+8|0;f[i>>2]=+f[h>>2]+(r+(r*6.0+(r+ +f[k>>2])*4.0));r=+f[p>>2];f[i+4>>2]=+f[p+12>>2]+(r+(+f[k>>2]*6.0+(r+ +f[h>>2])*4.0));h=2;k=i+8|0;while(1){if((h|0)==(m|0))break;s=h+1|0;f[k>>2]=+f[p+(h+2<<2)>>2]+(+f[p+(h+-2<<2)>>2]+(+f[p+(h<<2)>>2]*6.0+(+f[p+(h+-1<<2)>>2]+ +f[p+(s<<2)>>2])*4.0));h=s;k=k+4|0}s=i+(m<<2)|0;k=p+(m<<2)|0;h=p+(n<<2)|0;t=p+(l<<2)|0;r=+f[t>>2];f[s>>2]=r+(+f[p+(o<<2)>>2]+(+f[k>>2]*6.0+(+f[h>>2]+r)*4.0));r=+f[t>>2];f[s+4>>2]=r+(+f[h>>2]+(r*6.0+(r+ +f[k>>2])*4.0));i=i+(e<<2)|0;j=j+1|0}p=g+-2|0;h=b+(e<<2)|0;n=h+(e<<2)|0;i=0;j=n;k=h;l=b;m=a;while(1){if((i|0)==(e|0))break;r=+f[l>>2];f[m>>2]=(+f[j>>2]+(r+(r*6.0+(r+ +f[k>>2])*4.0)))*.00390625;i=i+1|0;j=j+4|0;k=k+4|0;l=l+4|0;m=m+4|0}l=0;m=n+(e<<2)|0;k=n;i=b;j=a+(e<<2)|0;while(1){if((l|0)==(e|0))break;r=+f[i>>2];f[j>>2]=(+f[m>>2]+(r+(+f[h>>2]*6.0+(r+ +f[k>>2])*4.0)))*.00390625;l=l+1|0;m=m+4|0;k=k+4|0;h=h+4|0;i=i+4|0;j=j+4|0}i=2;while(1){if((i|0)==(p|0))break;n=b+((B(i+-2|0,e)|0)<<2)|0;m=n+(e<<2)|0;l=m+(e<<2)|0;k=l+(e<<2)|0;h=0;j=k+(e<<2)|0;o=a+((B(i,e)|0)<<2)|0;while(1){if((h|0)==(e|0))break;f[o>>2]=(+f[j>>2]+(+f[n>>2]+(+f[l>>2]*6.0+(+f[m>>2]+ +f[k>>2])*4.0)))*.00390625;h=h+1|0;j=j+4|0;k=k+4|0;l=l+4|0;m=m+4|0;n=n+4|0;o=o+4|0}i=i+1|0}m=b+((B(g+-4|0,e)|0)<<2)|0;l=m+(e<<2)|0;k=l+(e<<2)|0;i=0;j=k+(e<<2)|0;h=a+((B(p,e)|0)<<2)|0;while(1){if((i|0)==(e|0))break;r=+f[j>>2];f[h>>2]=(r+(+f[m>>2]+(+f[k>>2]*6.0+(+f[l>>2]+r)*4.0)))*.00390625;i=i+1|0;j=j+4|0;k=k+4|0;l=l+4|0;m=m+4|0;h=h+4|0}l=b+((B(g+-3|0,e)|0)<<2)|0;k=l+(e<<2)|0;i=0;j=k+(e<<2)|0;h=a+((B(g+-1|0,e)|0)<<2)|0;while(1){if((i|0)==(e|0))break;r=+f[j>>2];f[h>>2]=(r+(+f[l>>2]+(r*6.0+(+f[k>>2]+r)*4.0)))*.00390625;i=i+1|0;j=j+4|0;k=k+4|0;l=l+4|0;h=h+4|0}yb=q;return}function Vi(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0;l=c>>>1;j=d>>>1;k=c<<1;i=0;while(1){if((i|0)==(j|0))break;g=b+((B(k,i)|0)<<2)|0;d=0;e=g+(c<<2)|0;h=a;while(1){if((d|0)==(l|0))break;f[h>>2]=(+f[g>>2]+ +f[g+4>>2]+ +f[e>>2]+ +f[e+4>>2])*.25;d=d+1|0;e=e+8|0;g=g+8|0;h=h+4|0}i=i+1|0;a=a+(l<<2)|0}return}function Wi(a){a=a|0;c[a>>2]=15692;a=a+4|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;return}function Xi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0;c[a+16>>2]=b;c[a+20>>2]=d;e=+La(+(1.0/+(d+-1|0)));f[a+24>>2]=e;f[a+28>>2]=1.0/+z(+e);return}function Yi(a){a=a|0;var b=0;Wi(a);c[a>>2]=15676;a=a+32|0;b=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function Zi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;Xi(a,e,3);k=a+4|0;l=a+20|0;Pg(k,B(c[l>>2]|0,e)|0);g=0;while(1){if((g|0)>=(e|0))break;h=b>>>g;i=d>>>g;f=0;while(1){j=c[l>>2]|0;if(f>>>0>=j>>>0)break;j=(B(j,g)|0)+f|0;aq((c[k>>2]|0)+(j<<5)|0,2,h,i,-1,1);f=f+1|0}g=g+1|0}l=B(d,b)|0;_i(a+32|0,l);dh(a+44|0,l);dh(a+56|0,l);return}function _i(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>1;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<1)}else $i(a,b-e|0);return}function $i(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=yb;yb=yb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>1>>>0>>0){d=(d-(c[a>>2]|0)>>1)+b|0;e=bj(a)|0;if(e>>>0>>0)CO(a);else{j=c[a>>2]|0;g=(c[g>>2]|0)-j|0;cj(f,g>>1>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>1,a+8|0);dj(f,b);ej(a,f);fj(f);break}}else aj(a,b);while(0);yb=i;return}function aj(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;_O(d|0,0,b<<1|0)|0;c[a>>2]=d+(b<<1);return}function bj(a){a=a|0;return 2147483647}function cj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if((b|0)<0){f=O(8)|0;bO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=rB(b<<1)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<1)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<1);return}function dj(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;_O(d|0,0,b<<1|0)|0;c[a>>2]=d+(b<<1);return}function ej(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>1)<<1)|0;c[g>>2]=d;if((f|0)>0){YO(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function fj(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-2|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Nf(b,(c[a+12>>2]|0)-b|0);return}function gj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=yb;yb=yb+16|0;d=h;if((Kg(b)|0)!=1){g=Vf(Vf(NE(Vf(Vf(Vf(56032,27230)|0,27081)|0,35e3)|0,330)|0,35007)|0,27281)|0;GE(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=VF(d,56736)|0;f=Gb[c[(c[f>>2]|0)+28>>2]&63](f,10)|0;WF(d);OE(g,f)|0;KE(g)|0;ua()}if((_g(b)|0)!=1){g=Vf(Vf(NE(Vf(Vf(Vf(56032,27305)|0,27081)|0,35e3)|0,331)|0,35007)|0,27350)|0;GE(d,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);f=VF(d,56736)|0;f=Gb[c[(c[f>>2]|0)+28>>2]&63](f,10)|0;WF(d);OE(g,f)|0;KE(g)|0;ua()}e=a+4|0;f=a+16|0;g=a+20|0;if(((c[a+8>>2]|0)-(c[e>>2]|0)>>5|0)!=(B(c[g>>2]|0,c[f>>2]|0)|0)){i=Vf(Vf(NE(Vf(Vf(Vf(56032,27376)|0,27081)|0,35e3)|0,333)|0,35007)|0,27450)|0;GE(d,i+(c[(c[i>>2]|0)+-12>>2]|0)|0);j=VF(d,56736)|0;j=Gb[c[(c[j>>2]|0)+28>>2]&63](j,10)|0;WF(d);OE(i,j)|0;KE(i)|0;ua()}j=Lg(b)|0;if((j|0)!=(Lg(c[e>>2]|0)|0)){j=Vf(Vf(NE(Vf(Vf(Vf(56032,27485)|0,27081)|0,35e3)|0,334)|0,35007)|0,27545)|0;GE(d,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=VF(d,56736)|0;i=Gb[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;WF(d);OE(j,i)|0;KE(j)|0;ua()}j=Mg(b)|0;if((j|0)!=(Mg(c[e>>2]|0)|0)){j=Vf(Vf(NE(Vf(Vf(Vf(56032,27577)|0,27081)|0,35e3)|0,335)|0,35007)|0,27545)|0;GE(d,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=VF(d,56736)|0;i=Gb[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;WF(d);OE(j,i)|0;KE(j)|0;ua()}hj(a,c[e>>2]|0,b);b=c[e>>2]|0;hj(a,b+32|0,b);b=c[e>>2]|0;ij(a,b+64|0,b+32|0);b=1;while(1){if(b>>>0>=(c[f>>2]|0)>>>0)break;k=B(c[g>>2]|0,b)|0;k=jj((c[e>>2]|0)+(k<<5)|0)|0;d=(B(c[g>>2]|0,b)|0)+-1|0;d=jj((c[e>>2]|0)+(d<<5)|0)|0;i=(B(c[g>>2]|0,b)|0)+-1|0;i=Lg((c[e>>2]|0)+(i<<5)|0)|0;j=(B(c[g>>2]|0,b)|0)+-1|0;Vi(k,d,i,Mg((c[e>>2]|0)+(j<<5)|0)|0);j=B(c[g>>2]|0,b)|0;i=c[e>>2]|0;hj(a,i+(j+1<<5)|0,i+(j<<5)|0);j=B(c[g>>2]|0,b)|0;i=c[e>>2]|0;ij(a,i+(j+2<<5)|0,i+(j+1<<5)|0);b=b+1|0}yb=h;return}function hj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=yb;yb=yb+16|0;e=f;if((Kg(b)|0)!=2){g=Vf(Vf(NE(Vf(Vf(Vf(56032,27639)|0,27081)|0,35e3)|0,357)|0,35007)|0,27686)|0;GE(e,g+(c[(c[g>>2]|0)+-12>>2]|0)|0);h=VF(e,56736)|0;h=Gb[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;WF(e);OE(g,h)|0;KE(g)|0;ua()}switch(Kg(d)|0){case 1:{e=jj(b)|0;g=c[a+32>>2]|0;h=Bi(d)|0;Ti(e,g,h,Lg(d)|0,Mg(d)|0);break}case 2:{e=jj(b)|0;g=c[a+44>>2]|0;h=Bi(d)|0;Ui(e,g,h,Lg(d)|0,Mg(d)|0);break}case 0:{h=O(16)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;eO(e,27722,Wf(27722)|0);kj(h,e);Q(h|0,13208,5)}default:{h=O(16)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;eO(e,27741,Wf(27741)|0);kj(h,e);Q(h|0,13208,5)}}yb=f;return}function ij(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=yb;yb=yb+32|0;f=e;j=c[a+56>>2]|0;i=Kg(d)|0;h=Lg(d)|0;g=Mg(d)|0;iq(f,j,i,h,g,Ci(d)|0,1);hj(a,f,d);hj(a,b,f);pq(f);yb=e;return}function jj(a){a=a|0;return c[a+24>>2]|0}function kj(a,b){a=a|0;b=b|0;c[a>>2]=15708;dO(a+4|0,b);return}function lj(a){a=a|0;c[a>>2]=15708;hO(a+4|0);return}function mj(a){a=a|0;lj(a);QA(a);return}function nj(b){b=b|0;b=b+4|0;if((a[b+11>>0]|0)<0)b=c[b>>2]|0;return b|0}function oj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0;m=c+-1|0;j=b+(c<<2)|0;h=b+4|0;n=+f[b>>2];o=+f[h>>2]-n;n=+f[j>>2]-n;f[a>>2]=+y(+n,+o)+3.141592653589793;f[a+4>>2]=+u(+(o*o+n*n));g=1;e=j;while(1){i=a+8|0;e=e+4|0;if(g>>>0>=m>>>0)break;l=h+4|0;n=+f[l>>2]-+f[h+-4>>2];o=+f[e>>2]-+f[h>>2];f[i>>2]=+y(+o,+n)+3.141592653589793;f[a+12>>2]=+u(+(n*n+o*o));g=g+1|0;h=l;a=i}l=d+-1|0;o=+f[h>>2];n=o-+f[h+-4>>2];o=+f[e>>2]-o;f[i>>2]=+y(+o,+n)+3.141592653589793;f[a+12>>2]=+u(+(n*n+o*o));k=1;g=i;d=j+(c<<2)|0;h=b;a=j;while(1){e=g+8|0;if(k>>>0>=l>>>0)break;j=a+4|0;n=+f[j>>2]-+f[a>>2];o=+f[d>>2]-+f[h>>2];f[e>>2]=+y(+o,+n)+3.141592653589793;f[g+12>>2]=+u(+(n*n+o*o));i=1;g=g+16|0;while(1){a=d+4|0;e=h+4|0;if(i>>>0>=m>>>0)break;p=j+4|0;n=+f[p>>2]-+f[j+-4>>2];o=+f[a>>2]-+f[e>>2];f[g>>2]=+y(+o,+n)+3.141592653589793;f[g+4>>2]=+u(+(n*n+o*o));i=i+1|0;d=a;h=e;j=p;g=g+8|0}n=+f[j>>2]-+f[j+-4>>2];o=+f[a>>2]-+f[e>>2];f[g>>2]=+y(+o,+n)+3.141592653589793;f[g+4>>2]=+u(+(n*n+o*o));k=k+1|0;d=d+8|0;h=h+8|0;a=j+4|0}h=b+((B(l,c)|0)<<2)|0;a=h+(0-c<<2)|0;p=h+4|0;o=+f[h>>2];n=+f[p>>2]-o;o=o-+f[a>>2];f[e>>2]=+y(+o,+n)+3.141592653589793;f[g+12>>2]=+u(+(n*n+o*o));h=1;g=p;while(1){d=e+8|0;a=a+4|0;if(h>>>0>=m>>>0)break;p=g+4|0;n=+f[p>>2]-+f[g+-4>>2];o=+f[g>>2]-+f[a>>2];f[d>>2]=+y(+o,+n)+3.141592653589793;f[e+12>>2]=+u(+(n*n+o*o));h=h+1|0;e=d;g=p}o=+f[g>>2];n=o-+f[g+-4>>2];o=o-+f[a>>2];f[d>>2]=+y(+o,+n)+3.141592653589793;f[e+12>>2]=+u(+(n*n+o*o));return}function pj(a){a=a|0;return 536870911}function qj(a){a=a|0;var b=0;c[a>>2]=0;c[a+4>>2]=0;a=a+12|0;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function rj(a){a=a|0;kh(a+40|0);eh(a+28|0);return}function sj(a,b,d,e,g,h,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;h=h|0;i=+i;j=+j;k=k|0;l=+l;var m=0,n=0,o=0;c[a>>2]=e;n=a+4|0;c[n>>2]=g;c[a+8>>2]=h;f[a+12>>2]=i;f[a+16>>2]=j;c[a+20>>2]=k;f[a+24>>2]=l;dh(a+28|0,h);o=a+40|0;Pg(o,B(c[n>>2]|0,c[a>>2]|0)|0);k=0;while(1){if((k|0)==(e|0))break;a=B(k,g)|0;m=b>>>k;n=d>>>k;h=0;while(1){if((h|0)==(g|0))break;aq((c[o>>2]|0)+(h+a<<5)|0,2,m,n,-1,2);h=h+1|0}k=k+1|0}return}function tj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=yb;yb=yb+16|0;f=g;e=a+40|0;a=0;while(1){d=yh(b)|0;if(a>>>0>=(c[d+4>>2]|0)-(c[d>>2]|0)>>5>>>0){a=3;break}d=(c[(yh(b)|0)>>2]|0)+(a<<5)|0;h=Lg(d)|0;if((h|0)!=((Ci(d)|0)>>>2|0)){a=5;break}j=uj((c[e>>2]|0)+(a<<5)|0)|0;i=vj(d)|0;h=Lg(d)|0;oj(j,i,h,Mg(d)|0);a=a+1|0}if((a|0)==3){yb=g;return}else if((a|0)==5){j=Vf(Vf(NE(Vf(Vf(Vf(56032,27784)|0,27845)|0,35e3)|0,96)|0,35007)|0,27934)|0;GE(f,j+(c[(c[j>>2]|0)+-12>>2]|0)|0);i=VF(f,56736)|0;i=Gb[c[(c[i>>2]|0)+28>>2]&63](i,10)|0;WF(f);OE(j,i)|0;KE(j)|0;ua()}}function uj(a){a=a|0;return c[a+24>>2]|0}function vj(a){a=a|0;return c[a+24>>2]|0}function wj(a,b,d,e,g,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;g=g|0;i=+i;j=+j;k=+k;var l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0.0,t=0.0,u=0,v=0,w=0,x=0,y=0,z=0,C=0,D=0,E=0,F=0,G=0;F=yb;yb=yb+48|0;D=F+32|0;E=F+24|0;w=F+16|0;x=F+12|0;y=F+8|0;z=F+4|0;C=F;if(!(i>=0.0)){v=Vf(Vf(NE(Vf(Vf(Vf(56032,27975)|0,27845)|0,35e3)|0,119)|0,35007)|0,28005)|0;GE(D,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=VF(D,56736)|0;u=Gb[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;WF(D);OE(v,u)|0;KE(v)|0;ua()}l=a+4|0;v=(B(c[l>>2]|0,e)|0)+g|0;m=a+40|0;if(!(+((Lg((c[m>>2]|0)+(v<<5)|0)|0)>>>0)>i)){v=Vf(Vf(NE(Vf(Vf(Vf(56032,28024)|0,27845)|0,35e3)|0,120)|0,35007)|0,28104)|0;GE(D,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=VF(D,56736)|0;u=Gb[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;WF(D);OE(v,u)|0;KE(v)|0;ua()}if(!(j>=0.0)){v=Vf(Vf(NE(Vf(Vf(Vf(56032,28140)|0,27845)|0,35e3)|0,121)|0,35007)|0,28170)|0;GE(D,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=VF(D,56736)|0;u=Gb[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;WF(D);OE(v,u)|0;KE(v)|0;ua()}v=(B(c[l>>2]|0,e)|0)+g|0;if(!(+((Mg((c[m>>2]|0)+(v<<5)|0)|0)>>>0)>j)){v=Vf(Vf(NE(Vf(Vf(Vf(56032,28189)|0,27845)|0,35e3)|0,122)|0,35007)|0,28270)|0;GE(D,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=VF(D,56736)|0;u=Gb[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;WF(D);OE(v,u)|0;KE(v)|0;ua()}q=(B(c[l>>2]|0,e)|0)+g|0;q=(c[m>>2]|0)+(q<<5)|0;if((_g(q)|0)!=2){v=Vf(Vf(NE(Vf(Vf(Vf(56032,28307)|0,27845)|0,35e3)|0,126)|0,35007)|0,28348)|0;GE(D,v+(c[(c[v>>2]|0)+-12>>2]|0)|0);u=VF(D,56736)|0;u=Gb[c[(c[u>>2]|0)+28>>2]&63](u,10)|0;WF(D);OE(v,u)|0;KE(v)|0;ua()}c[d>>2]=0;e=~~(i+.5);l=~~(j+.5);a:do if(((e|0)>=0?!((l|0)<0|(Lg(q)|0)>>>0<=e>>>0):0)?(Mg(q)|0)>>>0>l>>>0:0){n=+xj(1.0,+f[a+12>>2]*k);s=-1.0/(+hi(n)*2.0);n=n*+f[a+16>>2];t=+A(+(+hi(n)));m=~~(n+.5);p=yj(0,e-m|0)|0;o=zj(m+e|0,(Lg(q)|0)+-1|0)|0;e=yj(0,l-m|0)|0;m=zj(m+l|0,(Mg(q)|0)+-1|0)|0;u=a+28|0;v=c[u>>2]|0;Aj(v,(c[a+32>>2]|0)-v>>2);v=a+8|0;while(1){if((e|0)>(m|0))break;k=+hi(+(e|0)-j);g=ah(q,e)|0;l=p;while(1){if((l|0)>(o|0))break;n=k+ +hi(+(l|0)-i);if(!(n>t)){G=g+(l<<1<<2)|0;n=+Bj(s*n);r=c[v>>2]|0;Cj(c[u>>2]|0,+f[G>>2]*+(r|0)*.159154943091895,n*+f[G+4>>2],r)}l=l+1|0}e=e+1|0}l=a+20|0;e=0;while(1){if((e|0)>=(c[l>>2]|0))break;G=c[u>>2]|0;Dj(G,G,c[v>>2]|0,15720);e=e+1|0}l=c[v>>2]|0;e=0;s=0.0;while(1){if((e|0)>=(l|0))break;j=+f[(c[u>>2]|0)+(e<<2)>>2];e=e+1|0;s=j>s?j:s}if(!(s==0.0)){if(!(s>0.0)){G=Vf(Vf(NE(Vf(Vf(Vf(56032,28379)|0,27845)|0,35e3)|0,218)|0,35007)|0,28417)|0;GE(D,G+(c[(c[G>>2]|0)+-12>>2]|0)|0);r=VF(D,56736)|0;r=Gb[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;WF(D);OE(G,r)|0;KE(G)|0;ua()}p=D+4|0;q=E+4|0;r=w+4|0;o=a+24|0;m=0;e=l;while(1){if((m|0)>=(e|0))break a;n=+(m|0);f[D>>2]=n;l=c[u>>2]|0;G=l+(m<<2)|0;a=c[G>>2]|0;c[p>>2]=a;g=m+-1|0;f[E>>2]=+(g|0);g=c[l+(((g+e|0)%(e|0)|0)<<2)>>2]|0;c[q>>2]=g;m=m+1|0;f[w>>2]=+(m|0);l=c[l+(((m+e|0)%(e|0)|0)<<2)>>2]|0;c[r>>2]=l;k=(c[h>>2]=a,+f[h>>2]);if(+f[G>>2]>s*+f[o>>2]?(j=(c[h>>2]=l,+f[h>>2]),k>(c[h>>2]=g,+f[h>>2])&k>j):0){f[C>>2]=n;if(Ej(x,y,z,E,D,w)|0)Fj(C,+f[x>>2],+f[y>>2],+f[z>>2])|0;j=+(c[v>>2]|0);e=c[d>>2]|0;f[b+(e<<2)>>2]=(+f[C>>2]+.5+j)/j*6.283185307179586%6.283185307179586;c[d>>2]=e+1;e=c[v>>2]|0}}}}while(0);yb=F;return}function xj(a,b){a=+a;b=+b;return +(a>b?a:b)}function yj(a,b){a=a|0;b=b|0;return ((a|0)>(b|0)?a:b)|0}function zj(a,b){a=a|0;b=b|0;return ((a|0)<(b|0)?a:b)|0}function Aj(a,b){a=a|0;b=b|0;_O(a|0,0,b<<2|0)|0;return}function Bj(a){a=+a;return +(((((((a+6.0)*a+30.0)*a+120.0)*a+360.0)*a+720.0)*a+720.0)*.0013888888)}function Cj(a,b,d,e){a=a|0;b=+b;d=+d;e=e|0;var g=0.0,h=0,i=0,j=0,k=0,l=0;j=yb;yb=yb+16|0;i=j;if(!a){h=Vf(Vf(NE(Vf(Vf(Vf(56032,28448)|0,28484)|0,35e3)|0,139)|0,35007)|0,28571)|0;GE(i,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);k=VF(i,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(i);OE(h,k)|0;KE(h)|0;ua()}if(b+.5>0.0?(g=b+-.5,g<+(e|0)):0){if(!(d>=0.0)){k=Vf(Vf(NE(Vf(Vf(Vf(56032,28702)|0,28484)|0,35e3)|0,141)|0,35007)|0,28740)|0;GE(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);h=VF(i,56736)|0;h=Gb[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;WF(i);OE(k,h)|0;KE(k)|0;ua()}if((e|0)<=-1){k=Vf(Vf(NE(Vf(Vf(Vf(56032,28769)|0,28484)|0,35e3)|0,142)|0,35007)|0,28806)|0;GE(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);h=VF(i,56736)|0;h=Gb[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;WF(i);OE(k,h)|0;KE(k)|0;ua()}k=~~+s(+g);b=b-+(k|0)+-.5;g=1.0-b;h=(k+e|0)%(e|0)|0;e=(k+1|0)%(e|0)|0;if(!(g>=0.0)){k=Vf(Vf(NE(Vf(Vf(Vf(56032,28835)|0,28484)|0,35e3)|0,150)|0,35007)|0,28866)|0;GE(i,k+(c[(c[k>>2]|0)+-12>>2]|0)|0);l=VF(i,56736)|0;l=Gb[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;WF(i);OE(k,l)|0;KE(k)|0;ua()}if(!(b>=0.0)){l=Vf(Vf(NE(Vf(Vf(Vf(56032,28886)|0,28484)|0,35e3)|0,151)|0,35007)|0,28917)|0;GE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=VF(i,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(i);OE(l,k)|0;KE(l)|0;ua()}if((h|0)<=-1){l=Vf(Vf(NE(Vf(Vf(Vf(56032,28937)|0,28484)|0,35e3)|0,152)|0,35007)|0,28985)|0;GE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=VF(i,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(i);OE(l,k)|0;KE(l)|0;ua()}if((e|0)>-1){l=a+(h<<2)|0;f[l>>2]=g*d+ +f[l>>2];l=a+(e<<2)|0;f[l>>2]=b*d+ +f[l>>2];yb=j;return}else{l=Vf(Vf(NE(Vf(Vf(Vf(56032,29011)|0,28484)|0,35e3)|0,153)|0,35007)|0,29059)|0;GE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=VF(i,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(i);OE(l,k)|0;KE(l)|0;ua()}}l=Vf(Vf(NE(Vf(Vf(Vf(56032,28597)|0,28484)|0,35e3)|0,140)|0,35007)|0,28662)|0;GE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=VF(i,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(i);OE(l,k)|0;KE(l)|0;ua()}function Dj(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,g=0,h=0,i=0,j=0,k=0.0,l=0,m=0.0;k=+f[b>>2];g=c+-1|0;h=b+(g<<2)|0;i=d+4|0;j=d+8|0;e=+f[h>>2];c=0;while(1){if((c|0)==(g|0))break;m=+f[b+(c<<2)>>2];l=c+1|0;f[a+(c<<2)>>2]=e*+f[d>>2]+m*+f[i>>2]+ +f[j>>2]*+f[b+(l<<2)>>2];e=m;c=l}f[a+(g<<2)>>2]=e*+f[d>>2]+ +f[i>>2]*+f[h>>2]+k*+f[j>>2];return}function Ej(a,b,c,d,e,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;g=g|0;var h=0.0,i=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0.0;h=+f[g>>2];k=+f[e>>2];l=+f[d>>2];j=h-l;h=(h-k)*j;i=l-k;j=i*j;if(i==0.0|(h==0.0|j==0.0)){f[a>>2]=0.0;f[b>>2]=0.0;b=0;h=0.0}else{l=l*l;m=e+4|0;n=+f[m>>2];e=d+4|0;h=(+f[g+4>>2]-n)/h-(+f[e>>2]-n)/j;f[a>>2]=h;h=(+f[e>>2]-+f[m>>2]+(k*k-l)*h)/i;f[b>>2]=h;b=1;h=+f[e>>2]-l*+f[a>>2]-h*+f[d>>2]}f[c>>2]=h;return b|0}function Fj(a,b,c,d){a=a|0;b=+b;c=+c;d=+d;if(b==0.0)a=0;else{f[a>>2]=-c/(b*2.0);a=1}return a|0}function Gj(a){a=a|0;var b=0,d=0;c[a>>2]=0;d=rB(24)|0;Hj(d);b=c[a>>2]|0;c[a>>2]=d;if(b|0){Ij(b);QA(b)}return}function Hj(a){a=a|0;var b=0,d=0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=1065353216;d=rB(840)|0;Zj(d);b=c[a>>2]|0;c[a>>2]=d;if(b|0){Kj(b);QA(b)}return}function Ij(a){a=a|0;var b=0;Jj(a+4|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0){Kj(b);QA(b)}return}function Jj(a){a=a|0;Wj(a);return}function Kj(a){a=a|0;Lj(a+788|0);ip(a+652|0);Mj(a+636|0);Nj(a+316|0);wh(a+160|0);Oi(a+92|0);Oj(a+72|0);Pj(a+64|0);Qj(a+12|0);return}function Lj(a){a=a|0;Uj(a+24|0);Vj(a+12|0);eh(a);return}function Mj(a){a=a|0;Qj(a);return}function Nj(a){a=a|0;return}function Oj(a){a=a|0;Rj(a);return}function Pj(a){a=a|0;var b=0,d=0;a=c[a+4>>2]|0;if(a|0?(d=a+4|0,b=c[d>>2]|0,c[d>>2]=b+-1,(b|0)==0):0){Qb[c[(c[a>>2]|0)+8>>2]&255](a);YN(a)}return}function Qj(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Nf(b,(c[a+8>>2]|0)-d|0)}return}function Rj(a){a=a|0;var b=0;Sj(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0)Nf(b,c[a+4>>2]<<2);return}function Sj(a,b){a=a|0;b=b|0;while(1){if(!b)break;a=c[b>>2]|0;Tj(b+8|0);Nf(b,20);b=a}return}function Tj(a){a=a|0;Pj(a+4|0);return}function Uj(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Nf(b,(c[a+8>>2]|0)-d|0)}return}function Vj(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Nf(b,(c[a+8>>2]|0)-d|0)}return}function Wj(a){a=a|0;var b=0;Xj(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0)Nf(b,c[a+4>>2]<<2);return}function Xj(a,b){a=a|0;b=b|0;while(1){if(!b)break;a=c[b>>2]|0;Yj(b+8|0);Nf(b,24);b=a}return}function Yj(a){a=a|0;jg(a+4|0);return}function Zj(b){b=b|0;var d=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+20>>2]=0;d=b+64|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[b+88>>2]=1065353216;Yi(b+92|0);d=b+160|0;bh(d);Ep(b+316|0);_j(b+636|0);hp(b+652|0);$j(b+788|0,.009999999776482582,1024,1064,50);ak(d,3.0);bk(d,4.0);ch(d,500);f[b+4>>2]=3.0;c[b>>2]=8;a[b+8>>0]=1;return}function _j(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;f[a+12>>2]=.699999988079071;return}function $j(a,b,d,e,f){a=a|0;b=+b;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=a;h=g+36|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(h|0));ck(a,b,d,e,f);return}function ak(a,b){a=a|0;b=+b;f[a+52>>2]=b;return}function bk(a,b){a=a|0;b=+b;f[a+56>>2]=b;return}function ck(a,b,d,e,g){a=a|0;b=+b;d=d|0;e=e|0;g=g|0;dh(a,d*9|0);dk(a+24|0,d);f[a+36>>2]=b;c[a+40>>2]=d;c[a+44>>2]=e;c[a+48>>2]=g;return}function dk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>3;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<3)}else ek(a,b-e|0);return}function ek(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=yb;yb=yb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>3>>>0>>0){d=(d-(c[a>>2]|0)>>3)+b|0;e=gk(a)|0;if(e>>>0>>0)CO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>2;hk(f,k>>3>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>3,a+8|0);ik(f,b);jk(a,f);kk(f);break}}else fk(a,b);while(0);yb=i;return}function fk(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;_O(d|0,0,b<<3|0)|0;c[a>>2]=d+(b<<3);return}function gk(a){a=a|0;return 536870911}function hk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>536870911){f=O(8)|0;bO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=rB(b<<3)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<3)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<3);return}function ik(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;_O(d|0,0,b<<3|0)|0;c[a>>2]=d+(b<<3);return}function jk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>3)<<3)|0;c[g>>2]=d;if((f|0)>0){YO(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function kk(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-8|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Nf(b,(c[a+12>>2]|0)-b|0);return}function lk(a){a=a|0;var b=0;b=c[a>>2]|0;c[a>>2]=0;if(b|0){Ij(b);QA(b)}return}function mk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[b>>2]|0;f=c[a+4>>2]|0;a:do if(f){g=f+-1|0;h=(g&f|0)==0;if(!h)if(e>>>0>>0)d=e;else d=(e>>>0)%(f>>>0)|0;else d=g&e;b=c[(c[a>>2]|0)+(d<<2)>>2]|0;if(b)while(1){b=c[b>>2]|0;if(!b){b=0;break a}a=c[b+4>>2]|0;if((a|0)==(e|0)){if((c[b+8>>2]|0)==(e|0))break a}else{if(!h){if(a>>>0>=f>>>0)a=(a>>>0)%(f>>>0)|0}else a=a&g;if((a|0)!=(d|0)){b=0;break a}}}else b=0}else b=0;while(0);return b|0}function nk(a){a=a|0;return a+4|0}function ok(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=0;while(1){if((b|0)<(c|0)|(a|0)<(c|0))break;d=d+1|0;b=b>>1;a=a>>1}return d|0}function pk(a){a=a|0;return c[a>>2]|0}function qk(a){a=a|0;return c[a+4>>2]|0}function rk(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;$l(a+8|0);am(a+36|0);return}function sk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=yb;yb=yb+16|0;e=d;c[a>>2]=b;f=rB(16)|0;c[f+4>>2]=0;c[f+8>>2]=0;c[f>>2]=15740;c[f+12>>2]=b;c[a+4>>2]=f;c[e>>2]=b;c[e+4>>2]=b;Pl(a,e);yb=d;return}function tk(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function uk(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return}function vk(b,d,e,g){b=b|0;d=d|0;e=e|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=yb;yb=yb+32|0;i=k+20|0;j=k;if(!d){h=Vf(Vf(NE(Vf(Vf(Vf(56032,33588)|0,30067)|0,35e3)|0,212)|0,35007)|0,33688)|0;GE(i,h+(c[(c[h>>2]|0)+-12>>2]|0)|0);l=VF(i,56736)|0;l=Gb[c[(c[l>>2]|0)+28>>2]&63](l,10)|0;WF(i);OE(h,l)|0;KE(h)|0;ua()}if(!e){l=Vf(Vf(NE(Vf(Vf(Vf(56032,30146)|0,30067)|0,35e3)|0,213)|0,35007)|0,30178)|0;GE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);h=VF(i,56736)|0;h=Gb[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;WF(i);OE(l,h)|0;KE(l)|0;ua()}l=yh(d)|0;if((c[l+4>>2]|0)==(c[l>>2]|0)){l=Vf(Vf(NE(Vf(Vf(Vf(56032,30195)|0,30067)|0,35e3)|0,214)|0,35007)|0,30247)|0;GE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);h=VF(i,56736)|0;h=Gb[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;WF(i);OE(l,h)|0;KE(l)|0;ua()}l=Lg(c[(yh(d)|0)>>2]|0)|0;if((l|0)!=(pk(e)|0)){l=Vf(Vf(NE(Vf(Vf(Vf(56032,30264)|0,30067)|0,35e3)|0,215)|0,35007)|0,30337)|0;GE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);h=VF(i,56736)|0;h=Gb[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;WF(i);OE(l,h)|0;KE(l)|0;ua()}l=Mg(c[(yh(d)|0)>>2]|0)|0;if((l|0)!=(qk(e)|0)){l=Vf(Vf(NE(Vf(Vf(Vf(56032,30372)|0,30067)|0,35e3)|0,216)|0,35007)|0,30337)|0;GE(i,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);h=VF(i,56736)|0;h=Gb[c[(c[h>>2]|0)+28>>2]&63](h,10)|0;WF(i);OE(l,h)|0;KE(l)|0;ua()}Ph(e,d);h=Kl(e)|0;Ll(i,((c[h+4>>2]|0)-(c[h>>2]|0)|0)/36|0);h=0;while(1){l=Kl(e)|0;if(h>>>0>=(((c[l+4>>2]|0)-(c[l>>2]|0)|0)/36|0)>>>0)break;l=c[(Kl(e)|0)>>2]|0;eg(j,+f[l+(h*36|0)>>2],+f[l+(h*36|0)+4>>2],+f[l+(h*36|0)+8>>2],+f[l+(h*36|0)+28>>2],+f[l+(h*36|0)+24>>2]>0.0);l=(c[i>>2]|0)+(h*20|0)|0;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[l+8>>2]=c[j+8>>2];c[l+12>>2]=c[j+12>>2];a[l+16>>0]=a[j+16>>0]|0;Mf(j);h=h+1|0}Fp(g,xk(b)|0,d,i);Lf(i);yb=k;return}function wk(){if((a[54528]|0)==0?lB(54528)|0:0){qq(55464);nB(54528)}return 55464}function xk(a){a=a|0;return a+8|0}function yk(a){a=a|0;return ((c[a+20>>2]|0)-(c[a+16>>2]|0)|0)/20|0|0}function zk(a){a=a|0;var b=0,d=0;d=a+36|0;Ek(d,128);Fk(d,8);Gk(d,8);Hk(d,16);a=a+8|0;b=c[(Ik(a)|0)>>2]|0;Jk(d,b,yk(a)|0);return}function Ak(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=yb;yb=yb+32|0;r=s+4|0;l=s;m=s+16|0;c[l>>2]=b;q=c[b>>2]|0;o=a+4|0;i=c[o>>2]|0;p=(i|0)==0;a:do if(!p){k=i+-1|0;e=(k&i|0)==0;if(!e)if(q>>>0>>0)j=q;else j=(q>>>0)%(i>>>0)|0;else j=k&q;b=c[(c[a>>2]|0)+(j<<2)>>2]|0;if(!b){b=j;n=16}else do{b=c[b>>2]|0;if(!b){b=j;n=16;break a}d=c[b+4>>2]|0;if((d|0)!=(q|0)){if(!e){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&k;if((d|0)!=(j|0)){b=j;n=16;break a}}}while((c[b+8>>2]|0)!=(q|0))}else{b=0;n=16}while(0);if((n|0)==16){Bk(r,a,q,57660,l,m);j=a+12|0;g=+(((c[j>>2]|0)+1|0)>>>0);h=+f[a+16>>2];do if(p|h*+(i>>>0)>>0<3|(i+-1&i|0)!=0)&1;d=~~+A(+(g/h))>>>0;Ck(a,b>>>0>>0?d:b);b=c[o>>2]|0;d=b+-1|0;if(!(d&b)){i=b;b=d&q;break}if(q>>>0>>0){i=b;b=q}else{i=b;b=(q>>>0)%(b>>>0)|0}}while(0);d=c[(c[a>>2]|0)+(b<<2)>>2]|0;if(!d){e=a+8|0;c[c[r>>2]>>2]=c[e>>2];c[e>>2]=c[r>>2];c[(c[a>>2]|0)+(b<<2)>>2]=e;e=c[r>>2]|0;b=c[e>>2]|0;if(!b)b=r;else{b=c[b+4>>2]|0;d=i+-1|0;if(d&i){if(b>>>0>=i>>>0)b=(b>>>0)%(i>>>0)|0}else b=b&d;c[(c[a>>2]|0)+(b<<2)>>2]=e;b=r}}else{c[c[r>>2]>>2]=c[d>>2];c[d>>2]=c[r>>2];b=r}r=c[b>>2]|0;c[j>>2]=(c[j>>2]|0)+1;c[b>>2]=0;b=r}yb=s;return b+12|0}function Bk(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=rB(20)|0;c[b>>2]=h;c[b+4>>2]=d+8;c[h+8>>2]=c[c[g>>2]>>2];c[h+12>>2]=0;c[h+16>>2]=0;a[b+8>>0]=1;c[h+4>>2]=e;c[h>>2]=0;return}function Ck(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=yD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=yD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)Dk(a,b)}}else Dk(a,b);return}function Dk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;bO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=rB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Nf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Nf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function Ek(a,b){a=a|0;b=b|0;Jl(a+12|0,b);return}function Fk(a,b){a=a|0;b=b|0;Il(a+12|0,b);return}function Gk(a,b){a=a|0;b=b|0;c[a+104>>2]=b;return}function Hk(a,b){a=a|0;b=b|0;c[a+108>>2]=b;return}function Ik(a){a=a|0;return a+4|0}function Jk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=yb;yb=yb+16|0;g=i;Kk(g,d);f=c[g>>2]|0;h=(c[g+4>>2]|0)-f>>2;e=0;while(1){if((e|0)==(h|0))break;c[f+(e<<2)>>2]=e;e=e+1|0}Lk(a,b,d,f,h);Vj(g);yb=i;return}function Kk(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;if(b|0){Hl(a,b);Dl(a,b)}return}function Lk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;g=rB(128)|0;Nk(g,Mk(a)|0);i=a+8|0;h=c[i>>2]|0;c[i>>2]=g;if(h){Ok(h);QA(h);g=c[i>>2]|0}Pk(g,0);Qk(a,c[i>>2]|0,b,d,e,f);return}function Mk(a){a=a|0;var b=0;b=a+4|0;a=c[b>>2]|0;c[b>>2]=a+1;return a|0}function Nk(b,d){b=b|0;d=d|0;c[b>>2]=d;a[b+100>>0]=1;d=b+104|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;Gl(b+4|0,96);return}function Ok(a){a=a|0;var b=0,d=0,e=0,f=0;e=a+104|0;f=a+108|0;d=0;while(1){b=c[e>>2]|0;if(d>>>0>=(c[f>>2]|0)-b>>2>>>0)break;b=c[b+(d<<2)>>2]|0;if(b|0){Ok(b);QA(b)}d=d+1|0}Vj(a+116|0);Fl(e);return}function Pk(b,c){b=b|0;c=c|0;a[b+100>>0]=c&1;return}function Qk(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=yb;yb=yb+32|0;o=q+20|0;p=q;h=a+12|0;n=Rk(h)|0;if((yj(n,c[a+108>>2]|0)|0)>=(g|0)){Pk(b,1);Tk(Sk(b)|0,g);h=0;while(1){if((h|0)>=(g|0))break;p=c[f+(h<<2)>>2]|0;c[(c[(Sk(b)|0)>>2]|0)+(h<<2)>>2]=p;h=h+1|0}yb=q;return}c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=1065353216;Uk(h,d,e,f,g);m=Vk(h)|0;n=m+4|0;i=c[n>>2]|0;h=c[m>>2]|0;if((i-h>>2|0)!=(g|0)){l=Vf(Vf(NE(Vf(Vf(Vf(56032,29134)|0,29190)|0,35e3)|0,363)|0,35007)|0,29284)|0;GE(o,l+(c[(c[l>>2]|0)+-12>>2]|0)|0);k=VF(o,56736)|0;k=Gb[c[(c[k>>2]|0)+28>>2]&63](k,10)|0;WF(o);OE(l,k)|0;KE(l)|0;ua()}l=0;while(1){if(l>>>0>=i-h>>2>>>0){h=10;break}h=c[h+(l<<2)>>2]|0;if((h|0)==-1){h=12;break}if((h|0)>=(g|0)){h=14;break}h=f+(h<<2)|0;if((c[h>>2]|0)>=(e|0)){h=16;break}h=Wk(p,h)|0;i=f+(l<<2)|0;j=h+4|0;k=c[j>>2]|0;if((k|0)==(c[h+8>>2]|0))Xk(h,i);else{c[k>>2]=c[i>>2];c[j>>2]=k+4}l=l+1|0;h=c[m>>2]|0;i=c[n>>2]|0}if((h|0)==10){h=p+12|0;a:do if((c[h>>2]|0)==1){Pk(b,1);Tk(Sk(b)|0,g);h=0;while(1){if((h|0)>=(g|0))break a;o=c[f+(h<<2)>>2]|0;c[(c[(Sk(b)|0)>>2]|0)+(h<<2)>>2]=o;h=h+1|0}}else{g=Yk(b)|0;Zk(g,c[h>>2]|0);h=p+8|0;while(1){h=c[h>>2]|0;if(!h)break a;i=h;l=i+12|0;m=i+16|0;if((c[m>>2]|0)==(c[l>>2]|0))break;j=rB(128)|0;k=Mk(a)|0;_k(j,k,d+((c[i+8>>2]|0)*96|0)|0);c[o>>2]=j;Pk(j,0);i=Yk(b)|0;j=i+4|0;k=c[j>>2]|0;if((k|0)==(c[i+8>>2]|0))$k(i,o);else{c[k>>2]=c[o>>2];c[j>>2]=(c[j>>2]|0)+4}g=c[l>>2]|0;Qk(a,c[o>>2]|0,d,e,g,(c[m>>2]|0)-g>>2)}b=Vf(Vf(NE(Vf(Vf(Vf(56032,29507)|0,29190)|0,35e3)|0,387)|0,35007)|0,29553)|0;GE(o,b+(c[(c[b>>2]|0)+-12>>2]|0)|0);e=VF(o,56736)|0;e=Gb[c[(c[e>>2]|0)+28>>2]&63](e,10)|0;WF(o);OE(b,e)|0;KE(b)|0;ua()}while(0);al(p);yb=q;return}else if((h|0)==12){q=Vf(Vf(NE(Vf(Vf(Vf(56032,29306)|0,29190)|0,35e3)|0,365)|0,35007)|0,29349)|0;GE(o,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);b=VF(o,56736)|0;b=Gb[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;WF(o);OE(q,b)|0;KE(q)|0;ua()}else if((h|0)==14){q=Vf(Vf(NE(Vf(Vf(Vf(56032,29371)|0,29190)|0,35e3)|0,366)|0,35007)|0,29422)|0;GE(o,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);b=VF(o,56736)|0;b=Gb[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;WF(o);OE(q,b)|0;KE(q)|0;ua()}else if((h|0)==16){q=Vf(Vf(NE(Vf(Vf(Vf(56032,29446)|0,29190)|0,35e3)|0,367)|0,35007)|0,29422)|0;GE(o,q+(c[(c[q>>2]|0)+-12>>2]|0)|0);b=VF(o,56736)|0;b=Gb[c[(c[b>>2]|0)+28>>2]&63](b,10)|0;WF(o);OE(q,b)|0;KE(q)|0;ua()}}function Rk(a){a=a|0;return c[a+4>>2]|0}function Sk(a){a=a|0;return a+116|0}function Tk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>2;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<2)}else Cl(a,b-e|0);return}function Uk(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=yb;yb=yb+16|0;o=s;p=a+4|0;g=c[p>>2]|0;q=a+12|0;r=a+16|0;if((g|0)!=((c[r>>2]|0)-(c[q>>2]|0)>>2|0)){n=Vf(Vf(NE(Vf(Vf(Vf(56032,29590)|0,29635)|0,35e3)|0,154)|0,35007)|0,29707)|0;GE(o,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(o,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(o);OE(n,m)|0;KE(n)|0;ua()}if((d|0)<=0){n=Vf(Vf(NE(Vf(Vf(Vf(56032,29752)|0,29635)|0,35e3)|0,155)|0,35007)|0,29792)|0;GE(o,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(o,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(o);OE(n,m)|0;KE(n)|0;ua()}if((f|0)>(d|0)){n=Vf(Vf(NE(Vf(Vf(Vf(56032,29828)|0,29635)|0,35e3)|0,156)|0,35007)|0,29879)|0;GE(o,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(o,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(o);OE(n,m)|0;KE(n)|0;ua()}if((g|0)>(f|0)){n=Vf(Vf(NE(Vf(Vf(Vf(56032,29906)|0,29635)|0,35e3)|0,157)|0,35007)|0,29947)|0;GE(o,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(o,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(o);OE(n,m)|0;KE(n)|0;ua()}j=a+24|0;c[o>>2]=-1;ql(j,f,o);k=a+36|0;c[o>>2]=-1;ql(k,f,o);l=a+48|0;Tk(l,f);n=c[l>>2]|0;m=a+52|0;rl(n,(c[m>>2]|0)-n>>2,0);n=a+8|0;g=-1;i=0;while(1){if((i|0)>=(c[n>>2]|0))break;h=c[l>>2]|0;sl(h,(c[m>>2]|0)-h>>2,c[p>>2]|0,c[a>>2]|0);h=tl(a,k,b,d,e,f,c[l>>2]|0,c[p>>2]|0)|0;if(h>>>0>>0){ul(j,k);vl(c[q>>2]|0,c[l>>2]|0,c[p>>2]|0);g=h}i=i+1|0}if((c[p>>2]|0)==((c[r>>2]|0)-(c[q>>2]|0)>>2|0)){yb=s;return}else{s=Vf(Vf(NE(Vf(Vf(Vf(56032,29590)|0,29635)|0,35e3)|0,187)|0,35007)|0,29707)|0;GE(o,s+(c[(c[s>>2]|0)+-12>>2]|0)|0);r=VF(o,56736)|0;r=Gb[c[(c[r>>2]|0)+28>>2]&63](r,10)|0;WF(o);OE(s,r)|0;KE(s)|0;ua()}}function Vk(a){a=a|0;return a+24|0}function Wk(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=yb;yb=yb+32|0;r=s+4|0;l=s;m=s+16|0;c[l>>2]=b;q=c[b>>2]|0;o=a+4|0;i=c[o>>2]|0;p=(i|0)==0;a:do if(!p){k=i+-1|0;e=(k&i|0)==0;if(!e)if(q>>>0>>0)j=q;else j=(q>>>0)%(i>>>0)|0;else j=k&q;b=c[(c[a>>2]|0)+(j<<2)>>2]|0;if(!b){b=j;n=16}else do{b=c[b>>2]|0;if(!b){b=j;n=16;break a}d=c[b+4>>2]|0;if((d|0)!=(q|0)){if(!e){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&k;if((d|0)!=(j|0)){b=j;n=16;break a}}}while((c[b+8>>2]|0)!=(q|0))}else{b=0;n=16}while(0);if((n|0)==16){nl(r,a,q,57660,l,m);j=a+12|0;g=+(((c[j>>2]|0)+1|0)>>>0);h=+f[a+16>>2];do if(p|h*+(i>>>0)>>0<3|(i+-1&i|0)!=0)&1;d=~~+A(+(g/h))>>>0;ol(a,b>>>0>>0?d:b);b=c[o>>2]|0;d=b+-1|0;if(!(d&b)){i=b;b=d&q;break}if(q>>>0>>0){i=b;b=q}else{i=b;b=(q>>>0)%(b>>>0)|0}}while(0);d=c[(c[a>>2]|0)+(b<<2)>>2]|0;if(!d){e=a+8|0;c[c[r>>2]>>2]=c[e>>2];c[e>>2]=c[r>>2];c[(c[a>>2]|0)+(b<<2)>>2]=e;e=c[r>>2]|0;b=c[e>>2]|0;if(!b)b=r;else{b=c[b+4>>2]|0;d=i+-1|0;if(d&i){if(b>>>0>=i>>>0)b=(b>>>0)%(i>>>0)|0}else b=b&d;c[(c[a>>2]|0)+(b<<2)>>2]=e;b=r}}else{c[c[r>>2]>>2]=c[d>>2];c[d>>2]=c[r>>2];b=r}r=c[b>>2]|0;c[j>>2]=(c[j>>2]|0)+1;c[b>>2]=0;b=r}yb=s;return b+12|0}function Xk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=yb;yb=yb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>2)+1|0;g=jl(a)|0;if(g>>>0>>0)CO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>1;kl(d,k>>2>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>2,a+8|0);g=d+8|0;f=c[g>>2]|0;c[f>>2]=c[b>>2];c[g>>2]=f+4;ll(a,d);ml(d);yb=h;return}}function Yk(a){a=a|0;return a+104|0}function Zk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=yb;yb=yb+32|0;d=f;e=c[a>>2]|0;if((c[a+8>>2]|0)-e>>2>>>0>>0){fl(d,b,(c[a+4>>2]|0)-e>>2,a+8|0);gl(a,d);hl(d)}yb=f;return}function _k(b,d,e){b=b|0;d=d|0;e=e|0;c[b>>2]=d;a[b+100>>0]=1;d=b+104|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;il(b+4|0,e,96);return}function $k(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=yb;yb=yb+32|0;d=h;e=a+4|0;f=((c[e>>2]|0)-(c[a>>2]|0)>>2)+1|0;g=el(a)|0;if(g>>>0>>0)CO(a);else{i=c[a>>2]|0;k=(c[a+8>>2]|0)-i|0;j=k>>1;fl(d,k>>2>>>0>>1>>>0?(j>>>0>>0?f:j):g,(c[e>>2]|0)-i>>2,a+8|0);g=d+8|0;c[c[g>>2]>>2]=c[b>>2];c[g>>2]=(c[g>>2]|0)+4;gl(a,d);hl(d);yb=h;return}}function al(a){a=a|0;bl(a);return}function bl(a){a=a|0;var b=0;cl(a,c[a+8>>2]|0);b=c[a>>2]|0;c[a>>2]=0;if(b|0)Nf(b,c[a+4>>2]<<2);return}function cl(a,b){a=a|0;b=b|0;while(1){if(!b)break;a=c[b>>2]|0;dl(b+8|0);Nf(b,24);b=a}return}function dl(a){a=a|0;Vj(a+4|0);return}function el(a){a=a|0;return 1073741823}function fl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>1073741823){f=O(8)|0;bO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=rB(b<<2)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<2)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<2);return}function gl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){YO(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function hl(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-4|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Nf(b,(c[a+12>>2]|0)-b|0);return}function il(a,b,c){a=a|0;b=b|0;c=c|0;YO(a|0,b|0,c|0)|0;return}function jl(a){a=a|0;return 1073741823}function kl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=a+12|0;c[f>>2]=0;c[a+16>>2]=e;do if(b)if(b>>>0>1073741823){f=O(8)|0;bO(f,37409);c[f>>2]=16392;Q(f|0,13960,22)}else{e=rB(b<<2)|0;break}else e=0;while(0);c[a>>2]=e;d=e+(d<<2)|0;c[a+8>>2]=d;c[a+4>>2]=d;c[f>>2]=e+(b<<2);return}function ll(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){YO(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function ml(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a+4>>2]|0;d=a+8|0;e=c[d>>2]|0;while(1){if((e|0)==(b|0))break;f=e+-4|0;c[d>>2]=f;e=f}b=c[a>>2]|0;if(b|0)Nf(b,(c[a+12>>2]|0)-b|0);return}function nl(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=rB(24)|0;c[b>>2]=h;c[b+4>>2]=d+8;c[h+8>>2]=c[c[g>>2]>>2];c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;a[b+8>>0]=1;c[h+4>>2]=e;c[h>>2]=0;return}function ol(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=yD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=yD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)pl(a,b)}}else pl(a,b);return}function pl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;bO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=rB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Nf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Nf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function ql(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=a+4|0;g=c[a>>2]|0;f=(c[e>>2]|0)-g>>2;if(f>>>0>=b>>>0){if(f>>>0>b>>>0)c[e>>2]=g+(b<<2)}else Al(a,b-f|0,d);return}function rl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a:do if((b|0)>=1){c[a>>2]=d;e=1;while(1){if((e|0)==(b|0))break a;f=d+1|0;c[a+(e<<2)>>2]=f;e=e+1|0;d=f}}while(0);return}function sl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=0;while(1){if((f|0)>=(d|0))break;i=a+(f<<2)|0;g=a+(((zl(e)|0)%(b|0)|0)<<2)|0;h=c[i>>2]|0;c[i>>2]=c[g>>2];c[g>>2]=h;f=f+1|0}return}function tl(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0;o=yb;yb=yb+16|0;a=o;if(((c[b+4>>2]|0)-(c[b>>2]|0)>>2|0)!=(g|0)){n=Vf(Vf(NE(Vf(Vf(Vf(56032,29134)|0,29635)|0,35e3)|0,198)|0,35007)|0,29967)|0;GE(a,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(a,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(a);OE(n,m)|0;KE(n)|0;ua()}if((e|0)<=0){n=Vf(Vf(NE(Vf(Vf(Vf(56032,29752)|0,29635)|0,35e3)|0,199)|0,35007)|0,29792)|0;GE(a,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(a,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(a);OE(n,m)|0;KE(n)|0;ua()}if((g|0)>(e|0)){n=Vf(Vf(NE(Vf(Vf(Vf(56032,29828)|0,29635)|0,35e3)|0,200)|0,35007)|0,29879)|0;GE(a,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(a,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(a);OE(n,m)|0;KE(n)|0;ua()}if((i|0)<=0){n=Vf(Vf(NE(Vf(Vf(Vf(56032,29996)|0,29635)|0,35e3)|0,201)|0,35007)|0,30035)|0;GE(a,n+(c[(c[n>>2]|0)+-12>>2]|0)|0);m=VF(a,56736)|0;m=Gb[c[(c[m>>2]|0)+28>>2]&63](m,10)|0;WF(a);OE(n,m)|0;KE(n)|0;ua()}k=0;m=0;while(1){if((m|0)>=(g|0))break;n=f+(m<<2)|0;l=0;a=-1;while(1){if((l|0)==(i|0))break;e=h+(l<<2)|0;j=wl(d+((c[n>>2]|0)*96|0)|0,d+((c[f+(c[e>>2]<<2)>>2]|0)*96|0)|0)|0;if(j>>>0>>0){c[(c[b>>2]|0)+(m<<2)>>2]=c[e>>2];a=j}l=l+1|0}k=a+k|0;m=m+1|0}yb=o;return k|0}function ul(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=c[a>>2]|0;c[a>>2]=c[b>>2];c[b>>2]=f;f=a+4|0;d=b+4|0;e=c[f>>2]|0;c[f>>2]=c[d>>2];c[d>>2]=e;d=a+8|0;b=b+8|0;a=c[d>>2]|0;c[d>>2]=c[b>>2];c[b>>2]=a;return}function vl(a,b,c){a=a|0;b=b|0;c=c|0;YO(a|0,b|0,c<<2|0)|0;return}function wl(a,b){a=a|0;b=b|0;return xl(a,b)|0}function xl(a,b){a=a|0;b=b|0;var d=0;d=yl(c[a>>2]|0,c[b>>2]|0)|0;d=(yl(c[a+4>>2]|0,c[b+4>>2]|0)|0)+d|0;d=d+(yl(c[a+8>>2]|0,c[b+8>>2]|0)|0)|0;d=d+(yl(c[a+12>>2]|0,c[b+12>>2]|0)|0)|0;d=d+(yl(c[a+16>>2]|0,c[b+16>>2]|0)|0)|0;d=d+(yl(c[a+20>>2]|0,c[b+20>>2]|0)|0)|0;d=d+(yl(c[a+24>>2]|0,c[b+24>>2]|0)|0)|0;d=d+(yl(c[a+28>>2]|0,c[b+28>>2]|0)|0)|0;d=d+(yl(c[a+32>>2]|0,c[b+32>>2]|0)|0)|0;d=d+(yl(c[a+36>>2]|0,c[b+36>>2]|0)|0)|0;d=d+(yl(c[a+40>>2]|0,c[b+40>>2]|0)|0)|0;d=d+(yl(c[a+44>>2]|0,c[b+44>>2]|0)|0)|0;d=d+(yl(c[a+48>>2]|0,c[b+48>>2]|0)|0)|0;d=d+(yl(c[a+52>>2]|0,c[b+52>>2]|0)|0)|0;d=d+(yl(c[a+56>>2]|0,c[b+56>>2]|0)|0)|0;d=d+(yl(c[a+60>>2]|0,c[b+60>>2]|0)|0)|0;d=d+(yl(c[a+64>>2]|0,c[b+64>>2]|0)|0)|0;d=d+(yl(c[a+68>>2]|0,c[b+68>>2]|0)|0)|0;d=d+(yl(c[a+72>>2]|0,c[b+72>>2]|0)|0)|0;d=d+(yl(c[a+76>>2]|0,c[b+76>>2]|0)|0)|0;d=d+(yl(c[a+80>>2]|0,c[b+80>>2]|0)|0)|0;d=d+(yl(c[a+84>>2]|0,c[b+84>>2]|0)|0)|0;d=d+(yl(c[a+88>>2]|0,c[b+88>>2]|0)|0)|0;return d+(yl(c[a+92>>2]|0,c[b+92>>2]|0)|0)|0}function yl(a,b){a=a|0;b=b|0;b=b^a;b=b-(b>>>1&1431655765)|0;b=(b>>>2&858993459)+(b&858993459)|0;return (B((b>>>4)+b&252645135,16843009)|0)>>>24|0}function zl(a){a=a|0;var b=0;b=((c[a>>2]|0)*214013|0)+2531011|0;c[a>>2]=b;return b>>>16&32767|0}function Al(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=yb;yb=yb+32|0;h=k;i=a+8|0;j=a+4|0;e=c[j>>2]|0;g=e;do if((c[i>>2]|0)-e>>2>>>0>>0){e=(e-(c[a>>2]|0)>>2)+b|0;f=jl(a)|0;if(f>>>0>>0)CO(a);else{g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;i=l>>1;kl(h,l>>2>>>0>>1>>>0?(i>>>0>>0?e:i):f,(c[j>>2]|0)-g>>2,a+8|0);Bl(h,b,d);ll(a,h);ml(h);break}}else{e=b;f=g;while(1){c[f>>2]=c[d>>2];e=e+-1|0;if(!e)break;else f=f+4|0}c[j>>2]=g+(b<<2)}while(0);yb=k;return}function Bl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=a+8|0;e=c[f>>2]|0;a=b;g=e;while(1){c[g>>2]=c[d>>2];a=a+-1|0;if(!a)break;else g=g+4|0}c[f>>2]=e+(b<<2);return}function Cl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=yb;yb=yb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>2>>>0>>0){d=(d-(c[a>>2]|0)>>2)+b|0;e=jl(a)|0;if(e>>>0>>0)CO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>1;kl(f,k>>2>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>2,a+8|0);El(f,b);ll(a,f);ml(f);break}}else Dl(a,b);while(0);yb=i;return}function Dl(a,b){a=a|0;b=b|0;var d=0;a=a+4|0;d=c[a>>2]|0;_O(d|0,0,b<<2|0)|0;c[a>>2]=d+(b<<2);return}function El(a,b){a=a|0;b=b|0;var d=0;a=a+8|0;d=c[a>>2]|0;_O(d|0,0,b<<2|0)|0;c[a>>2]=d+(b<<2);return}function Fl(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;d=b;if(b|0){c[a+4>>2]=d;Nf(b,(c[a+8>>2]|0)-d|0)}return}function Gl(a,b){a=a|0;b=b|0;_O(a|0,0,b|0)|0;return}function Hl(a,b){a=a|0;b=b|0;var d=0;if((jl(a)|0)>>>0>>0)CO(a);if(b>>>0>1073741823){b=O(8)|0;bO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=rB(b<<2)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b<<2);return}}function Il(a,b){a=a|0;b=b|0;c[a+4>>2]=b;Tk(a+12|0,b);return}function Jl(a,b){a=a|0;b=b|0;c[a+8>>2]=b;return}function Kl(a){a=a|0;return a+60|0}function Ll(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;if(b|0){Ml(a,b);Nl(a,b)}return}function Ml(a,b){a=a|0;b=b|0;var d=0;if((sg(a)|0)>>>0>>0)CO(a);if(b>>>0>214748364){b=O(8)|0;bO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=rB(b*20|0)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b*20|0);return}}function Nl(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{Ol(b);b=(c[d>>2]|0)+20|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Ol(b){b=b|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;a[b+16>>0]=1;return}function Pl(a,b){a=a|0;b=b|0;return}function Ql(a){a=a|0;Rl(a+36|0);Sl(a+8|0);return}function Rl(a){a=a|0;var b=0;Tl(a+84|0);Vj(a+72|0);Ul(a+12|0);b=a+8|0;a=c[b>>2]|0;c[b>>2]=0;if(a|0){Ok(a);QA(a)}return}function Sl(a){a=a|0;Lf(a+16|0);Kf(a+4|0);return}function Tl(a){a=a|0;Vl(a);return}function Ul(a){a=a|0;Vj(a+48|0);Vj(a+36|0);Vj(a+24|0);Vj(a+12|0);return}function Vl(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-8|0;Wl(f);b=f}c[e>>2]=d;f=c[a>>2]|0;Nf(f,(c[a+8>>2]|0)-f|0)}return}function Wl(a){a=a|0;return}function Xl(a){a=a|0;XN(a);QA(a);return}function Yl(a){a=a|0;a=c[a+12>>2]|0;if(a|0){Ql(a);QA(a)}return}function Zl(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==30447?a+12|0:0)|0}function _l(a){a=a|0;Nf(a,16);return}function $l(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;c[a+16>>2]=0;c[a+20>>2]=0;c[a+24>>2]=0;return}function am(a){a=a|0;var b=0,d=0;c[a>>2]=1234;c[a+4>>2]=0;c[a+8>>2]=0;b=a+12|0;bm(b,a);d=a+72|0;c[a+100>>2]=0;c[a+104>>2]=0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[a+108>>2]=16;Il(b,8);Jl(b,1);return}function bm(a,b){a=a|0;b=b|0;c[a>>2]=b;a=a+4|0;b=a+56|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));return}function cm(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=yb;yb=yb+32|0;m=l+24|0;j=l+12|0;k=l+16|0;n=l+8|0;i=l;c[j>>2]=h;h=rB(148)|0;rk(h);c[n>>2]=0;c[m>>2]=c[n>>2];sk(k,h,m);tk(c[k>>2]|0,f);uk(c[k>>2]|0,g);dm(xk(c[k>>2]|0)|0,96);g=em(xk(c[k>>2]|0)|0)|0;f=b+4|0;fm(g,((c[f>>2]|0)-(c[b>>2]|0)|0)/20|0);g=em(xk(c[k>>2]|0)|0)|0;if((g|0)!=(b|0))gm(g,c[b>>2]|0,c[f>>2]|0);g=Ik(xk(c[k>>2]|0)|0)|0;f=d+4|0;hm(g,(c[f>>2]|0)-(c[d>>2]|0)|0);g=Ik(xk(c[k>>2]|0)|0)|0;if((g|0)!=(d|0))im(g,c[d>>2]|0,c[f>>2]|0);zk(c[k>>2]|0);f=c[c[a>>2]>>2]|0;c[i>>2]=c[k>>2];g=c[k+4>>2]|0;c[i+4>>2]=g;if(g|0){n=g+4|0;c[n>>2]=(c[n>>2]|0)+1}jm(f,i,c[j>>2]|0);Pj(i);f=km((c[a>>2]|0)+4|0,j)|0;if((f|0)!=(e|0))lm(f,c[e>>2]|0,c[e+4>>2]|0);Pj(k);yb=l;return}function dm(a,b){a=a|0;b=b|0;c[a>>2]=b;return}function em(a){a=a|0;return a+16|0}function fm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+4|0;d=c[g>>2]|0;f=c[a>>2]|0;e=(d-f|0)/20|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0){a=f+(b*20|0)|0;while(1){if((d|0)==(a|0))break;f=d+-20|0;Mf(f);d=f}c[g>>2]=a}}else Am(a,b-e|0);return}function gm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=b;l=(d-e|0)/20|0;f=a+8|0;i=c[a>>2]|0;g=i;do if(l>>>0>(((c[f>>2]|0)-i|0)/20|0)>>>0){zm(a);e=sg(a)|0;if(e>>>0>>0)CO(a);else{j=((c[f>>2]|0)-(c[a>>2]|0)|0)/20|0;k=j<<1;Ml(a,j>>>0>>1>>>0?(k>>>0>>0?l:k):e);ym(a,b,d,l);break}}else{k=a+4|0;j=((c[k>>2]|0)-i|0)/20|0;h=l>>>0>j>>>0;j=h?b+(j*20|0)|0:d;e=j-e|0;if(e|0)ZO(i|0,b|0,e|0)|0;f=g+(((e|0)/20|0)*20|0)|0;if(h){ym(a,j,d,l-(((c[k>>2]|0)-(c[a>>2]|0)|0)/20|0)|0);break}e=c[k>>2]|0;while(1){if((e|0)==(f|0))break;l=e+-20|0;Mf(l);e=l}c[k>>2]=f}while(0);return}function hm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f|0;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+b}else vm(a,b-e|0);return}function im(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=b;k=d-i|0;f=a+8|0;e=c[a>>2]|0;j=e;do if(k>>>0>((c[f>>2]|0)-e|0)>>>0){tm(a);e=kg(a)|0;if(e>>>0>>0)CO(a);else{i=(c[f>>2]|0)-(c[a>>2]|0)|0;j=i<<1;um(a,i>>>0>>1>>>0?(j>>>0>>0?k:j):e);sm(a,b,d,k);break}}else{h=a+4|0;g=(c[h>>2]|0)-e|0;f=k>>>0>g>>>0;g=f?b+g|0:d;e=g-i|0;if(e|0)ZO(j|0,b|0,e|0)|0;if(f){sm(a,g,d,k-(c[h>>2]|0)+(c[a>>2]|0)|0);break}else{c[h>>2]=j+e;break}}while(0);return}function jm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=yb;yb=yb+16|0;h=i+4|0;e=i;c[e>>2]=d;a=a+72|0;if(mk(a,e)|0){i=O(16)|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;eO(h,29085,Wf(29085)|0);kj(i,h);Q(i|0,13208,5)}f=Ak(a,e)|0;g=c[b>>2]|0;c[h>>2]=g;e=h+4|0;a=c[b+4>>2]|0;c[e>>2]=a;if(!a){d=e;a=0}else{d=a+4|0;c[d>>2]=(c[d>>2]|0)+1;d=e;a=c[e>>2]|0}c[h>>2]=c[f>>2];c[f>>2]=g;b=f+4|0;c[d>>2]=c[b>>2];c[b>>2]=a;Pj(h);yb=i;return}function km(a,b){a=a|0;b=b|0;var d=0,e=0,g=0.0,h=0.0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=yb;yb=yb+32|0;r=s+4|0;l=s;m=s+16|0;c[l>>2]=b;q=c[b>>2]|0;o=a+4|0;i=c[o>>2]|0;p=(i|0)==0;a:do if(!p){k=i+-1|0;e=(k&i|0)==0;if(!e)if(q>>>0>>0)j=q;else j=(q>>>0)%(i>>>0)|0;else j=k&q;b=c[(c[a>>2]|0)+(j<<2)>>2]|0;if(!b){b=j;n=16}else do{b=c[b>>2]|0;if(!b){b=j;n=16;break a}d=c[b+4>>2]|0;if((d|0)!=(q|0)){if(!e){if(d>>>0>=i>>>0)d=(d>>>0)%(i>>>0)|0}else d=d&k;if((d|0)!=(j|0)){b=j;n=16;break a}}}while((c[b+8>>2]|0)!=(q|0))}else{b=0;n=16}while(0);if((n|0)==16){pm(r,a,q,57660,l,m);j=a+12|0;g=+(((c[j>>2]|0)+1|0)>>>0);h=+f[a+16>>2];do if(p|h*+(i>>>0)>>0<3|(i+-1&i|0)!=0)&1;d=~~+A(+(g/h))>>>0;qm(a,b>>>0>>0?d:b);b=c[o>>2]|0;d=b+-1|0;if(!(d&b)){i=b;b=d&q;break}if(q>>>0>>0){i=b;b=q}else{i=b;b=(q>>>0)%(b>>>0)|0}}while(0);d=c[(c[a>>2]|0)+(b<<2)>>2]|0;if(!d){e=a+8|0;c[c[r>>2]>>2]=c[e>>2];c[e>>2]=c[r>>2];c[(c[a>>2]|0)+(b<<2)>>2]=e;e=c[r>>2]|0;b=c[e>>2]|0;if(!b)b=r;else{b=c[b+4>>2]|0;d=i+-1|0;if(d&i){if(b>>>0>=i>>>0)b=(b>>>0)%(i>>>0)|0}else b=b&d;c[(c[a>>2]|0)+(b<<2)>>2]=e;b=r}}else{c[c[r>>2]>>2]=c[d>>2];c[d>>2]=c[r>>2];b=r}r=c[b>>2]|0;c[j>>2]=(c[j>>2]|0)+1;c[b>>2]=0;b=r}yb=s;return b+12|0}function lm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=b;k=(d-e|0)/12|0;f=a+8|0;j=c[a>>2]|0;i=j;do if(k>>>0>(((c[f>>2]|0)-j|0)/12|0)>>>0){nm(a);e=og(a)|0;if(e>>>0>>0)CO(a);else{i=((c[f>>2]|0)-(c[a>>2]|0)|0)/12|0;j=i<<1;om(a,i>>>0>>1>>>0?(j>>>0>>0?k:j):e);mm(a,b,d,k);break}}else{f=a+4|0;h=((c[f>>2]|0)-j|0)/12|0;g=k>>>0>h>>>0;h=g?b+(h*12|0)|0:d;e=h-e|0;if(e|0)ZO(j|0,b|0,e|0)|0;if(g){mm(a,h,d,k-(((c[f>>2]|0)-(c[a>>2]|0)|0)/12|0)|0);break}else{c[f>>2]=i+(((e|0)/12|0)*12|0);break}}while(0);return}function mm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a+4|0;a=d-b|0;if((a|0)>0){YO(c[e>>2]|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+(((a>>>0)/12|0)*12|0)}return}function nm(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;d=b;if(b|0){e=a+4|0;c[e>>2]=d;f=a+8|0;Nf(b,(c[f>>2]|0)-d|0);c[f>>2]=0;c[e>>2]=0;c[a>>2]=0}return}function om(a,b){a=a|0;b=b|0;var d=0;if((og(a)|0)>>>0>>0)CO(a);if(b>>>0>357913941){b=O(8)|0;bO(b,37409);c[b>>2]=16392;Q(b|0,13960,22)}else{d=rB(b*12|0)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+(b*12|0);return}}function pm(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=rB(24)|0;c[b>>2]=h;c[b+4>>2]=d+8;c[h+8>>2]=c[c[g>>2]>>2];c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;a[b+8>>0]=1;c[h+4>>2]=e;c[h>>2]=0;return}function qm(a,b){a=a|0;b=b|0;var d=0,e=0,g=0;if((b|0)!=1){if(b+-1&b)b=yD(b)|0}else b=2;e=c[a+4>>2]|0;if(b>>>0<=e>>>0){if(b>>>0>>0){d=~~+A(+(+((c[a+12>>2]|0)>>>0)/+f[a+16>>2]))>>>0;if(e>>>0>2&(e+-1&e|0)==0){g=1<<32-(C(d+-1|0)|0);d=d>>>0<2?d:g}else d=yD(d)|0;b=b>>>0>>0?d:b;if(b>>>0>>0)rm(a,b)}}else rm(a,b);return}function rm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=a+4|0;a:do if(b){if(b>>>0>1073741823){a=O(8)|0;bO(a,37409);c[a>>2]=16392;Q(a|0,13960,22)}l=rB(b<<2)|0;d=c[a>>2]|0;c[a>>2]=l;if(d|0)Nf(d,c[a+4>>2]<<2);c[e>>2]=b;d=0;while(1){if((d|0)==(b|0))break;c[(c[a>>2]|0)+(d<<2)>>2]=0;d=d+1|0}f=a+8|0;d=c[f>>2]|0;if(d|0){e=c[d+4>>2]|0;k=b+-1|0;l=(k&b|0)==0;if(!l){if(e>>>0>=b>>>0)e=(e>>>0)%(b>>>0)|0}else e=e&k;c[(c[a>>2]|0)+(e<<2)>>2]=f;while(1){j=d;b:while(1){while(1){d=c[j>>2]|0;if(!d)break a;f=c[d+4>>2]|0;if(!l){if(f>>>0>=b>>>0)f=(f>>>0)%(b>>>0)|0}else f=f&k;if((f|0)==(e|0))break;g=(c[a>>2]|0)+(f<<2)|0;if(!(c[g>>2]|0))break b;h=d+8|0;g=d;while(1){i=c[g>>2]|0;if(!i)break;if((c[h>>2]|0)==(c[i+8>>2]|0))g=i;else break}c[j>>2]=i;c[g>>2]=c[c[(c[a>>2]|0)+(f<<2)>>2]>>2];c[c[(c[a>>2]|0)+(f<<2)>>2]>>2]=d}j=d}c[g>>2]=j;e=f}}}else{d=c[a>>2]|0;c[a>>2]=0;if(d|0)Nf(d,c[a+4>>2]<<2);c[e>>2]=0}while(0);return}function sm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a+4|0;a=d-b|0;if((a|0)>0){YO(c[e>>2]|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a}return}function tm(a){a=a|0;var b=0,d=0,e=0,f=0;b=c[a>>2]|0;d=b;if(b|0){e=a+4|0;c[e>>2]=d;f=a+8|0;Nf(b,(c[f>>2]|0)-d|0);c[f>>2]=0;c[e>>2]=0;c[a>>2]=0}return}function um(a,b){a=a|0;b=b|0;var d=0;if((kg(a)|0)>>>0>>0)CO(a);else{d=rB(b)|0;c[a+4>>2]=d;c[a>>2]=d;c[a+8>>2]=d+b;return}}function vm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=yb;yb=yb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if(((c[g>>2]|0)-d|0)>>>0>>0){d=d-(c[a>>2]|0)+b|0;e=kg(a)|0;if(e>>>0>>0)CO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k<<1;lg(f,k>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j|0,a+8|0);xm(f,b);mg(a,f);ng(f);break}}else wm(a,b);while(0);yb=i;return}function wm(b,d){b=b|0;d=d|0;var e=0;e=b+4|0;b=d;d=c[e>>2]|0;do{a[d>>0]=0;d=(c[e>>2]|0)+1|0;c[e>>2]=d;b=b+-1|0}while((b|0)!=0);return}function xm(b,d){b=b|0;d=d|0;var e=0;e=b+8|0;b=d;d=c[e>>2]|0;do{a[d>>0]=0;d=(c[e>>2]|0)+1|0;c[e>>2]=d;b=b+-1|0}while((b|0)!=0);return}function ym(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=a+4|0;while(1){if((b|0)==(d|0))break;e=c[a>>2]|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];c[e+16>>2]=c[b+16>>2];c[a>>2]=(c[a>>2]|0)+20;b=b+20|0}return}function zm(a){a=a|0;var b=0,d=0,e=0,f=0;d=c[a>>2]|0;if(d|0){e=a+4|0;b=c[e>>2]|0;while(1){if((b|0)==(d|0))break;f=b+-20|0;Mf(f);b=f}c[e>>2]=d;d=c[a>>2]|0;f=a+8|0;Nf(d,(c[f>>2]|0)-d|0);c[f>>2]=0;c[e>>2]=0;c[a>>2]=0}return}function Am(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=yb;yb=yb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((((c[g>>2]|0)-d|0)/20|0)>>>0>>0){d=((d-(c[a>>2]|0)|0)/20|0)+b|0;e=sg(a)|0;if(e>>>0>>0)CO(a);else{j=c[a>>2]|0;k=((c[g>>2]|0)-j|0)/20|0;g=k<<1;tg(f,k>>>0>>1>>>0?(g>>>0>>0?d:g):e,((c[h>>2]|0)-j|0)/20|0,a+8|0);Bm(f,b);ug(a,f);vg(f);break}}else Nl(a,b);while(0);yb=i;return}function Bm(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=b;b=c[d>>2]|0;do{Ol(b);b=(c[d>>2]|0)+20|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function Cm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=yb;yb=yb+32|0;g=f;iq(g,b,1,d,e,d,1);e=Dm(c[c[a>>2]>>2]|0,g)|0;pq(g);yb=f;return e|0}function Dm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=yb;yb=yb+32|0;d=f;e=a+92|0;g=nk(e)|0;if(!(((c[g+4>>2]|0)!=(c[g>>2]|0)?(g=Lg(c[(nk(e)|0)>>2]|0)|0,(g|0)==(Lg(b)|0)):0)?(g=Mg(c[(nk(e)|0)>>2]|0)|0,(g|0)==(Mg(b)|0)):0)){g=Lg(b)|0;g=ok(g,Mg(b)|0,8)|0;h=Lg(b)|0;Zi(e,h,Mg(b)|0,g)}zq(d,29103);if(Qh(d)|0)gj(e,b);Aq(d);h=Em(a,e)|0;yb=f;return h|0}function Em(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=yb;yb=yb+64|0;e=k+16|0;j=k;g=k+56|0;h=k+48|0;i=b+160|0;f=pk(i)|0;if(!((f|0)==(Lg(c[(yh(d)|0)>>2]|0)|0)?(f=qk(i)|0,(f|0)==(Mg(c[(yh(d)|0)>>2]|0)|0)):0))xh(i,d);f=b+64|0;m=rB(148)|0;rk(m);c[h>>2]=0;c[e>>2]=c[h>>2];sk(g,m,e);m=c[g>>2]|0;c[g>>2]=c[f>>2];c[f>>2]=m;m=g+4|0;h=b+68|0;l=c[m>>2]|0;c[m>>2]=c[h>>2];c[h>>2]=l;Pj(g);h=c[f>>2]|0;tk(h,Lg(c[(yh(d)|0)>>2]|0)|0);h=c[f>>2]|0;uk(h,Mg(c[(yh(d)|0)>>2]|0)|0);zq(e,29117);if(Qh(e)|0)vk(c[f>>2]|0,d,i,b+316|0);Aq(e);m=wk()|0;Xp(e);i=(a[e+11>>0]|0)<0?c[e>>2]|0:e;l=yk(xk(c[f>>2]|0)|0)|0;c[j>>2]=35129;c[j+4>>2]=i;c[j+8>>2]=30646;c[j+12>>2]=l;sq(m,8,30602,j);hO(e);m=Fm(b,c[f>>2]|0)|0;yb=k;return m|0}function Fm(b,d){b=b|0;d=d|0;var e=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;D=yb;yb=yb+144|0;s=D+104|0;w=D;x=D+72|0;y=D+40|0;z=b+12|0;A=b+16|0;c[A>>2]=c[z>>2];B=b+24|0;c[B>>2]=-1;k=Hm(Gm(d)|0)|0;l=b+8|0;m=b+636|0;n=b+652|0;o=s+4|0;p=s+8|0;q=b+788|0;r=x+4|0;t=x+8|0;u=b+4|0;v=b+28|0;e=b+80|0;while(1){e=c[e>>2]|0;if(!e)break;zq(s,30936);do if(Qh(s)|0){E=(a[l>>0]|0)==0;g=Gm(d)|0;j=e;h=j+12|0;i=xk(c[h>>2]|0)|0;if(E){E=Km(m,g,i)|0;if(E>>>0>=(c[b>>2]|0)>>>0){C=9;break}}else{E=Jm(m,g,i,Im(c[h>>2]|0)|0)|0;if(E>>>0>=(c[b>>2]|0)>>>0){C=9;break}}Aq(s)}else{j=e;h=j+12|0;C=9}while(0);do if((C|0)==9){C=0;Aq(s);i=em(xk(c[h>>2]|0)|0)|0;zq(s,30953);if(Qh(s)|0){G=Lm(m)|0;F=Mm(d)|0;E=Nm(d)|0;g=Mm(c[h>>2]|0)|0;g=Om(n,k,i,G,F,E,g,Nm(c[h>>2]|0)|0)|0;if((g|0)<0){Aq(s);break}}else g=-1;Aq(s);c[s>>2]=0;c[o>>2]=0;c[p>>2]=0;zq(w,30970);if(Qh(w)|0)Pm(s,n,Lm(m)|0,g,1.0);Aq(w);zq(x,30993);if(Qh(x)|0?(G=Mm(c[h>>2]|0)|0,!(Qm(w,k,i,s,q,G,Nm(c[h>>2]|0)|0)|0)):0)Aq(x);else{Aq(x);c[x>>2]=0;c[r>>2]=0;c[t>>2]=0;zq(y,31017);if(Qh(y)|0?(Rm(x,w,k,i,s,+f[u>>2]),(c[r>>2]|0)-(c[x>>2]|0)>>3>>>0<(c[b>>2]|0)>>>0):0)Aq(y);else C=20;do if((C|0)==20){C=0;Aq(y);zq(y,31034);if(Qh(y)|0?(G=Gm(d)|0,G=Sm(m,G,xk(c[h>>2]|0)|0,w,10.0)|0,G>>>0<(c[b>>2]|0)>>>0):0){Aq(y);break}Aq(y);zq(y,31051);if(Qh(y)|0){E=Lm(m)|0;F=Mm(d)|0;G=Nm(d)|0;g=Mm(c[h>>2]|0)|0;g=Om(n,k,i,E,F,G,g,Nm(c[h>>2]|0)|0)|0;if((g|0)<0){Aq(y);break}}Aq(y);zq(y,31068);if(Qh(y)|0)Pm(s,n,Lm(m)|0,g,1.0);Aq(y);zq(y,31091);if(Qh(y)|0?(G=Mm(c[h>>2]|0)|0,!(Qm(w,k,i,s,q,G,Nm(c[h>>2]|0)|0)|0)):0){Aq(y);break}Aq(y);c[r>>2]=c[x>>2];zq(y,31115);if(Qh(y)|0)Rm(x,w,k,i,s,+f[u>>2]);Aq(y);G=(c[r>>2]|0)-(c[x>>2]|0)>>3;if(G>>>0>=(c[b>>2]|0)>>>0?G>>>0>(c[A>>2]|0)-(c[z>>2]|0)>>3>>>0:0){Tm(v,w);Um(z,x);c[B>>2]=c[j+8>>2]}}while(0);Qj(x)}Qj(s)}while(0)}yb=D;return (c[B>>2]|0)>-1|0}function Gm(a){a=a|0;return a+8|0}function Hm(a){a=a|0;return a+16|0}function Im(a){a=a|0;return a+36|0} +function Tu(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;i=yb;yb=yb+128|0;j=i;d=c[d+336>>2]|0;m=c[e+84>>2]|0;l=B(c[m>>2]|0,b[f>>1]|0)|0;e=B(c[m+64>>2]|0,b[f+32>>1]|0)|0;n=e+l<<2;e=l-e<<2;l=B(c[m+32>>2]|0,b[f+16>>1]|0)|0;k=B(c[m+96>>2]|0,b[f+48>>1]|0)|0;o=((k+l|0)*4433|0)+1024|0;l=o+(l*6270|0)>>11;k=o+(B(k,-15137)|0)>>11;c[j>>2]=l+n;c[j+96>>2]=n-l;c[j+32>>2]=k+e;c[j+64>>2]=e-k;k=B(c[m+4>>2]|0,b[f+2>>1]|0)|0;e=B(c[m+68>>2]|0,b[f+34>>1]|0)|0;l=e+k<<2;e=k-e<<2;k=B(c[m+36>>2]|0,b[f+18>>1]|0)|0;n=B(c[m+100>>2]|0,b[f+50>>1]|0)|0;o=((n+k|0)*4433|0)+1024|0;k=o+(k*6270|0)>>11;n=o+(B(n,-15137)|0)>>11;c[j+4>>2]=k+l;c[j+100>>2]=l-k;c[j+36>>2]=n+e;c[j+68>>2]=e-n;n=B(c[m+8>>2]|0,b[f+4>>1]|0)|0;e=B(c[m+72>>2]|0,b[f+36>>1]|0)|0;k=e+n<<2;e=n-e<<2;n=B(c[m+40>>2]|0,b[f+20>>1]|0)|0;l=B(c[m+104>>2]|0,b[f+52>>1]|0)|0;o=((l+n|0)*4433|0)+1024|0;n=o+(n*6270|0)>>11;l=o+(B(l,-15137)|0)>>11;c[j+8>>2]=n+k;c[j+104>>2]=k-n;c[j+40>>2]=l+e;c[j+72>>2]=e-l;l=B(c[m+12>>2]|0,b[f+6>>1]|0)|0;e=B(c[m+76>>2]|0,b[f+38>>1]|0)|0;n=e+l<<2;e=l-e<<2;l=B(c[m+44>>2]|0,b[f+22>>1]|0)|0;k=B(c[m+108>>2]|0,b[f+54>>1]|0)|0;o=((k+l|0)*4433|0)+1024|0;l=o+(l*6270|0)>>11;k=o+(B(k,-15137)|0)>>11;c[j+12>>2]=l+n;c[j+108>>2]=n-l;c[j+44>>2]=k+e;c[j+76>>2]=e-k;k=B(c[m+16>>2]|0,b[f+8>>1]|0)|0;e=B(c[m+80>>2]|0,b[f+40>>1]|0)|0;l=e+k<<2;e=k-e<<2;k=B(c[m+48>>2]|0,b[f+24>>1]|0)|0;n=B(c[m+112>>2]|0,b[f+56>>1]|0)|0;o=((n+k|0)*4433|0)+1024|0;k=o+(k*6270|0)>>11;n=o+(B(n,-15137)|0)>>11;c[j+16>>2]=k+l;c[j+112>>2]=l-k;c[j+48>>2]=n+e;c[j+80>>2]=e-n;n=B(c[m+20>>2]|0,b[f+10>>1]|0)|0;e=B(c[m+84>>2]|0,b[f+42>>1]|0)|0;k=e+n<<2;e=n-e<<2;n=B(c[m+52>>2]|0,b[f+26>>1]|0)|0;l=B(c[m+116>>2]|0,b[f+58>>1]|0)|0;o=((l+n|0)*4433|0)+1024|0;n=o+(n*6270|0)>>11;l=o+(B(l,-15137)|0)>>11;c[j+20>>2]=n+k;c[j+116>>2]=k-n;c[j+52>>2]=l+e;c[j+84>>2]=e-l;l=B(c[m+24>>2]|0,b[f+12>>1]|0)|0;e=B(c[m+88>>2]|0,b[f+44>>1]|0)|0;n=e+l<<2;e=l-e<<2;l=B(c[m+56>>2]|0,b[f+28>>1]|0)|0;k=B(c[m+120>>2]|0,b[f+60>>1]|0)|0;o=((k+l|0)*4433|0)+1024|0;l=o+(l*6270|0)>>11;k=o+(B(k,-15137)|0)>>11;c[j+24>>2]=l+n;c[j+120>>2]=n-l;c[j+56>>2]=k+e;c[j+88>>2]=e-k;k=B(c[m+28>>2]|0,b[f+14>>1]|0)|0;e=B(c[m+92>>2]|0,b[f+46>>1]|0)|0;l=e+k<<2;e=k-e<<2;k=B(c[m+60>>2]|0,b[f+30>>1]|0)|0;f=B(c[m+124>>2]|0,b[f+62>>1]|0)|0;m=((f+k|0)*4433|0)+1024|0;k=m+(k*6270|0)>>11;f=m+(B(f,-15137)|0)>>11;c[j+28>>2]=k+l;c[j+124>>2]=l-k;c[j+60>>2]=f+e;c[j+92>>2]=e-f;f=d+-384|0;d=j;e=0;while(1){o=(c[g+(e<<2)>>2]|0)+h|0;m=(c[d>>2]|0)+16400|0;n=c[d+16>>2]|0;p=m+n<<13;n=m-n<<13;m=c[d+8>>2]|0;k=c[d+24>>2]|0;r=(k+m|0)*4433|0;m=r+(m*6270|0)|0;k=r+(B(k,-15137)|0)|0;r=m+p|0;m=p-m|0;p=k+n|0;k=n-k|0;n=c[d+28>>2]|0;u=c[d+20>>2]|0;s=c[d+12>>2]|0;q=c[d+4>>2]|0;j=s+n|0;l=q+u|0;t=(l+j|0)*9633|0;j=t+(B(j,-16069)|0)|0;l=t+(B(l,-3196)|0)|0;t=B(q+n|0,-7373)|0;n=t+(n*2446|0)+j|0;q=t+(q*12299|0)+l|0;t=B(s+u|0,-20995)|0;l=t+(u*16819|0)+l|0;j=t+(s*25172|0)+j|0;a[o>>0]=a[f+((q+r|0)>>>18&1023)>>0]|0;a[o+7>>0]=a[f+((r-q|0)>>>18&1023)>>0]|0;a[o+1>>0]=a[f+((j+p|0)>>>18&1023)>>0]|0;a[o+6>>0]=a[f+((p-j|0)>>>18&1023)>>0]|0;a[o+2>>0]=a[f+((l+k|0)>>>18&1023)>>0]|0;a[o+5>>0]=a[f+((k-l|0)>>>18&1023)>>0]|0;a[o+3>>0]=a[f+((n+m|0)>>>18&1023)>>0]|0;a[o+4>>0]=a[f+((m-n|0)>>>18&1023)>>0]|0;e=e+1|0;if((e|0)==4)break;else d=d+32|0}yb=i;return}function Uu(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;m=yb;yb=yb+160|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;p=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;o=(p+n|0)*6476|0;p=n-p|0;n=(p*2896|0)+f|0;q=n+o|0;o=n-o|0;f=(B(p,-11584)|0)+f|0;p=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;n=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;r=(n+p|0)*6810|0;p=r+(p*4209|0)|0;n=r+(B(n,-17828)|0)|0;c[k>>2]=p+q>>11;c[k+128>>2]=q-p>>11;c[k+32>>2]=n+o>>11;c[k+96>>2]=o-n>>11;c[k+64>>2]=f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){r=(c[g+(d<<2)>>2]|0)+h|0;p=(c[i>>2]<<13)+134348800|0;k=c[i+16>>2]|0;j=p+(k*9373|0)|0;u=p+(B(k,-3580)|0)|0;k=p+(B(k,-11586)|0)|0;p=c[i+8>>2]|0;n=c[i+24>>2]|0;t=(n+p|0)*6810|0;p=t+(p*4209|0)|0;n=t+(B(n,-17828)|0)|0;t=p+j|0;p=j-p|0;j=n+u|0;n=u-n|0;u=c[i+4>>2]|0;v=c[i+12>>2]|0;l=c[i+20>>2]<<13;f=c[i+28>>2]|0;o=f+v|0;f=v-f|0;v=f*2531|0;w=o*7791|0;q=v+l|0;s=w+(u*11443|0)+q|0;q=(u*1812|0)-w+q|0;o=o*4815|0;v=l-v-(f<<12)|0;l=(u-f<<13)-l|0;f=(u*10323|0)-o-v|0;o=v+((u*5260|0)-o)|0;a[r>>0]=a[e+((s+t|0)>>>18&1023)>>0]|0;a[r+9>>0]=a[e+((t-s|0)>>>18&1023)>>0]|0;a[r+1>>0]=a[e+((f+j|0)>>>18&1023)>>0]|0;a[r+8>>0]=a[e+((j-f|0)>>>18&1023)>>0]|0;a[r+2>>0]=a[e+((l+k|0)>>>18&1023)>>0]|0;a[r+7>>0]=a[e+((k-l|0)>>>18&1023)>>0]|0;a[r+3>>0]=a[e+((o+n|0)>>>18&1023)>>0]|0;a[r+6>>0]=a[e+((n-o|0)>>>18&1023)>>0]|0;a[r+4>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[r+5>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==5)break;else i=i+32|0}yb=m;return}function Vu(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;m=yb;yb=yb+192|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){p=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B((b[d+64>>1]|0)*5793|0,c[j+128>>2]|0)|0;t=n+p|0;p=(B(n,-2)|0)+p>>11;n=B((b[d+32>>1]|0)*10033|0,c[j+64>>2]|0)|0;r=n+t|0;n=t-n|0;t=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;s=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;o=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;f=(o+t|0)*2998|0;q=f+(s+t<<13)|0;f=f+(o-s<<13)|0;o=t-s-o<<2;c[k>>2]=q+r>>11;c[k+160>>2]=r-q>>11;c[k+32>>2]=o+p;c[k+128>>2]=p-o;c[k+64>>2]=f+n>>11;c[k+96>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){t=(c[g+(d<<2)>>2]|0)+h|0;r=(c[i>>2]<<13)+134348800|0;x=(c[i+16>>2]|0)*10033|0;w=r+x|0;x=r-x|0;k=c[i+8>>2]|0;n=c[i+24>>2]<<13;p=(k<<13)-n|0;j=p+r|0;p=r-p|0;r=n+(k*11190|0)|0;v=r+w|0;r=w-r|0;n=(k*2998|0)-n|0;k=n+x|0;n=x-n|0;x=c[i+4>>2]|0;w=c[i+12>>2]|0;q=c[i+20>>2]|0;f=c[i+28>>2]|0;z=w*10703|0;y=B(w,-4433)|0;l=q+x|0;s=(l+f|0)*7053|0;l=s+(l*2139|0)|0;u=z+(x*2295|0)+l|0;o=B(f+q|0,-8565)|0;l=(B(q,-12112)|0)+y+o+l|0;o=(f*12998|0)-z+s+o|0;s=y+(B(x,-5540)|0)+(B(f,-16244)|0)+s|0;f=x-f|0;q=w-q|0;w=(f+q|0)*4433|0;f=w+(f*6270|0)|0;q=w+(B(q,-15137)|0)|0;a[t>>0]=a[e+((u+v|0)>>>18&1023)>>0]|0;a[t+11>>0]=a[e+((v-u|0)>>>18&1023)>>0]|0;a[t+1>>0]=a[e+((f+j|0)>>>18&1023)>>0]|0;a[t+10>>0]=a[e+((j-f|0)>>>18&1023)>>0]|0;a[t+2>>0]=a[e+((l+k|0)>>>18&1023)>>0]|0;a[t+9>>0]=a[e+((k-l|0)>>>18&1023)>>0]|0;a[t+3>>0]=a[e+((o+n|0)>>>18&1023)>>0]|0;a[t+8>>0]=a[e+((n-o|0)>>>18&1023)>>0]|0;a[t+4>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[t+7>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[t+5>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[t+6>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==6)break;else i=i+32|0}yb=m;return}function Wu(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;m=yb;yb=yb+224|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;w=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;o=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;u=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;v=(o-u|0)*7223|0;p=(w-o|0)*2578|0;s=(B(o,-15083)|0)+f+p+v|0;n=u+w|0;q=(n*10438|0)+f|0;u=v+(B(u,-637)|0)+q|0;q=p+(B(w,-20239)|0)+q|0;w=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;p=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;v=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;x=(p+w|0)*7663|0;t=(w-p|0)*1395|0;p=B(v+p|0,-11295)|0;r=x+t+p|0;w=(v+w|0)*5027|0;t=w+(x-t)|0;p=w+(v*15326|0)+p|0;c[k>>2]=t+u>>11;c[k+192>>2]=u-t>>11;c[k+32>>2]=r+s>>11;c[k+160>>2]=s-r>>11;c[k+64>>2]=p+q>>11;c[k+128>>2]=q-p>>11;c[k+96>>2]=((o-n|0)*11585|0)+f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){x=(c[g+(d<<2)>>2]|0)+h|0;r=(c[i>>2]<<13)+134348800|0;p=c[i+16>>2]|0;k=r+(p*10438|0)|0;n=r+(p*2578|0)|0;w=r+(B(p,-7223)|0)|0;p=r+(B(p,-11586)|0)|0;r=c[i+8>>2]|0;j=c[i+24>>2]|0;t=(j+r|0)*9058|0;v=t+(r*2237|0)|0;t=t+(B(j,-14084)|0)|0;r=(B(j,-11295)|0)+(r*5027|0)|0;j=v+k|0;v=k-v|0;k=t+n|0;t=n-t|0;n=r+w|0;r=w-r|0;w=c[i+4>>2]|0;A=c[i+12>>2]|0;y=c[i+20>>2]|0;q=c[i+28>>2]<<13;s=y+w|0;l=(A+w|0)*10935|0;C=s*9810|0;f=l+(B(w,-9232)|0)+C+q|0;s=s*6164|0;z=w-A|0;u=(z*3826|0)-q|0;w=s+(B(w,-8693)|0)+u|0;o=(B(y+A|0,-1297)|0)-q|0;l=l+(B(A,-3474)|0)+o|0;o=C+(B(y,-19447)|0)+o|0;C=(y-A|0)*11512|0;s=q+(B(y,-13850)|0)+C+s|0;u=C+(A*5529|0)+u|0;q=(z-y<<13)+q|0;a[x>>0]=a[e+((f+j|0)>>>18&1023)>>0]|0;a[x+13>>0]=a[e+((j-f|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[e+((l+k|0)>>>18&1023)>>0]|0;a[x+12>>0]=a[e+((k-l|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[e+((o+n|0)>>>18&1023)>>0]|0;a[x+11>>0]=a[e+((n-o|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[x+10>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[x+4>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[x+9>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[x+5>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[x+8>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[x+6>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[x+7>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==7)break;else i=i+32|0}yb=m;return}function Xu(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0;o=yb;yb=yb+256|0;i=o;m=c[d+336>>2]|0;l=i;k=c[e+84>>2]|0;j=8;while(1){e=b[f+16>>1]|0;d=b[f+32>>1]|0;if(!((e|d)<<16>>16))if(((((b[f+48>>1]|0)==0?(b[f+64>>1]|0)==0:0)?(b[f+80>>1]|0)==0:0)?(b[f+96>>1]|0)==0:0)?(b[f+112>>1]|0)==0:0){d=B(b[f>>1]<<2,c[k>>2]|0)|0;c[l>>2]=d;c[l+32>>2]=d;c[l+64>>2]=d;c[l+96>>2]=d;c[l+128>>2]=d;c[l+160>>2]=d;c[l+192>>2]=d;e=56}else{d=0;n=9}else n=9;if((n|0)==9){n=0;x=B(b[f+64>>1]<<13,c[k+128>>2]|0)|0;p=B(b[f>>1]<<13,c[k>>2]|0)|0|1024;s=x+p|0;x=p-x|0;p=B(c[k+64>>2]|0,d<<16>>16)|0;q=B(c[k+192>>2]|0,b[f+96>>1]|0)|0;u=(q+p|0)*4433|0;p=u+(p*6270|0)|0;q=u+(B(q,-15137)|0)|0;u=p+s|0;p=s-p|0;s=q+x|0;q=x-q|0;d=B(c[k+224>>2]|0,b[f+112>>1]|0)|0;x=B(c[k+160>>2]|0,b[f+80>>1]|0)|0;v=B(c[k+96>>2]|0,b[f+48>>1]|0)|0;t=B(c[k+32>>2]|0,e<<16>>16)|0;r=v+d|0;e=t+x|0;w=(e+r|0)*9633|0;r=w+(B(r,-16069)|0)|0;e=w+(B(e,-3196)|0)|0;w=B(t+d|0,-7373)|0;d=w+(d*2446|0)+r|0;t=w+(t*12299|0)+e|0;w=B(v+x|0,-20995)|0;e=w+(x*16819|0)+e|0;r=w+(v*25172|0)+r|0;c[l>>2]=t+u>>11;c[l+224>>2]=u-t>>11;c[l+32>>2]=r+s>>11;c[l+192>>2]=s-r>>11;c[l+64>>2]=e+q>>11;c[l+160>>2]=q-e>>11;c[l+96>>2]=d+p>>11;d=p-d>>11;e=32}c[l+(e<<2)>>2]=d;if(j>>>0>1){l=l+4|0;k=k+4|0;f=f+2|0;j=j+-1|0}else break}e=m+-384|0;d=0;while(1){x=(c[g+(d<<2)>>2]|0)+h|0;r=(c[i>>2]<<13)+134348800|0;m=c[i+16>>2]|0;w=m*10703|0;m=m*4433|0;f=r+w|0;w=r-w|0;k=r+m|0;m=r-m|0;r=c[i+8>>2]|0;p=c[i+24>>2]|0;u=r-p|0;z=u*2260|0;u=u*11363|0;v=u+(p*20995|0)|0;t=z+(r*7373|0)|0;r=u+(B(r,-4926)|0)|0;p=z+(B(p,-4176)|0)|0;z=v+f|0;v=f-v|0;f=t+k|0;t=k-t|0;k=r+m|0;r=m-r|0;m=p+w|0;p=w-p|0;w=c[i+4>>2]|0;u=c[i+12>>2]|0;C=c[i+20>>2]|0;E=c[i+28>>2]|0;A=C+w|0;j=(u+w|0)*11086|0;l=A*10217|0;s=(E+w|0)*8956|0;q=(w-E|0)*7350|0;A=A*5461|0;n=(w-u|0)*3363|0;y=j+(B(w,-18730)|0)+l+s|0;w=n+(B(w,-15038)|0)+A+q|0;H=(C+u|0)*1136|0;D=(C-u|0)*11529|0;F=E+u|0;G=B(F,-5461)|0;j=j+(u*589|0)+H+G|0;F=B(F,-10217)|0;u=n+(u*16154|0)+D+F|0;n=B(E+C|0,-11086)|0;l=H+(B(C,-9222)|0)+l+n|0;n=G+(E*8728|0)+s+n|0;s=(E-C|0)*3363|0;q=F+(E*25733|0)+q+s|0;s=D+(B(C,-6278)|0)+A+s|0;a[x>>0]=a[e+((y+z|0)>>>18&1023)>>0]|0;a[x+15>>0]=a[e+((z-y|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[e+((j+f|0)>>>18&1023)>>0]|0;a[x+14>>0]=a[e+((f-j|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[e+((l+k|0)>>>18&1023)>>0]|0;a[x+13>>0]=a[e+((k-l|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[e+((n+m|0)>>>18&1023)>>0]|0;a[x+12>>0]=a[e+((m-n|0)>>>18&1023)>>0]|0;a[x+4>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[x+11>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[x+5>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[x+10>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[x+6>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[x+9>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[x+7>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[x+8>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==8)break;else i=i+32|0}yb=o;return}function Yu(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;m=yb;yb=yb+512|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){r=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;v=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;f=v*10703|0;v=v*4433|0;z=f+r|0;f=r-f|0;x=v+r|0;v=r-v|0;r=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;t=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;o=r-t|0;C=o*2260|0;o=o*11363|0;n=o+(t*20995|0)|0;p=C+(r*7373|0)|0;r=o+(B(r,-4926)|0)|0;t=C+(B(t,-4176)|0)|0;C=n+z|0;n=z-n|0;z=p+x|0;p=x-p|0;x=r+v|0;r=v-r|0;v=t+f|0;t=f-t|0;f=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;o=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;E=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;G=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;D=E+f|0;y=(o+f|0)*11086|0;w=D*10217|0;q=(G+f|0)*8956|0;s=(f-G|0)*7350|0;D=D*5461|0;u=(f-o|0)*3363|0;A=y+(B(f,-18730)|0)+w+q|0;f=u+(B(f,-15038)|0)+D+s|0;J=(E+o|0)*1136|0;F=(E-o|0)*11529|0;H=G+o|0;I=B(H,-5461)|0;y=y+(o*589|0)+J+I|0;H=B(H,-10217)|0;o=u+(o*16154|0)+F+H|0;u=B(G+E|0,-11086)|0;w=J+(B(E,-9222)|0)+w+u|0;u=I+(G*8728|0)+q+u|0;q=(G-E|0)*3363|0;s=H+(G*25733|0)+s+q|0;q=F+(B(E,-6278)|0)+D+q|0;c[k>>2]=A+C>>11;c[k+480>>2]=C-A>>11;c[k+32>>2]=y+z>>11;c[k+448>>2]=z-y>>11;c[k+64>>2]=w+x>>11;c[k+416>>2]=x-w>>11;c[k+96>>2]=u+v>>11;c[k+384>>2]=v-u>>11;c[k+128>>2]=s+t>>11;c[k+352>>2]=t-s>>11;c[k+160>>2]=q+r>>11;c[k+320>>2]=r-q>>11;c[k+192>>2]=o+p>>11;c[k+288>>2]=p-o>>11;c[k+224>>2]=f+n>>11;c[k+256>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){J=(c[g+(d<<2)>>2]|0)+h|0;D=(c[i>>2]<<13)+134348800|0;y=c[i+16>>2]|0;I=y*10703|0;y=y*4433|0;u=D+I|0;I=D-I|0;w=D+y|0;y=D-y|0;D=c[i+8>>2]|0;A=c[i+24>>2]|0;G=D-A|0;s=G*2260|0;G=G*11363|0;H=G+(A*20995|0)|0;F=s+(D*7373|0)|0;D=G+(B(D,-4926)|0)|0;A=s+(B(A,-4176)|0)|0;s=H+u|0;H=u-H|0;u=F+w|0;F=w-F|0;w=D+y|0;D=y-D|0;y=A+I|0;A=I-A|0;I=c[i+4>>2]|0;G=c[i+12>>2]|0;q=c[i+20>>2]|0;o=c[i+28>>2]|0;r=q+I|0;v=(G+I|0)*11086|0;x=r*10217|0;E=(o+I|0)*8956|0;C=(I-o|0)*7350|0;r=r*5461|0;z=(I-G|0)*3363|0;t=v+(B(I,-18730)|0)+x+E|0;I=z+(B(I,-15038)|0)+r+C|0;k=(q+G|0)*1136|0;p=(q-G|0)*11529|0;n=o+G|0;l=B(n,-5461)|0;v=v+(G*589|0)+k+l|0;n=B(n,-10217)|0;G=z+(G*16154|0)+p+n|0;z=B(o+q|0,-11086)|0;x=k+(B(q,-9222)|0)+x+z|0;z=l+(o*8728|0)+E+z|0;E=(o-q|0)*3363|0;C=n+(o*25733|0)+C+E|0;E=p+(B(q,-6278)|0)+r+E|0;a[J>>0]=a[e+((t+s|0)>>>18&1023)>>0]|0;a[J+15>>0]=a[e+((s-t|0)>>>18&1023)>>0]|0;a[J+1>>0]=a[e+((v+u|0)>>>18&1023)>>0]|0;a[J+14>>0]=a[e+((u-v|0)>>>18&1023)>>0]|0;a[J+2>>0]=a[e+((x+w|0)>>>18&1023)>>0]|0;a[J+13>>0]=a[e+((w-x|0)>>>18&1023)>>0]|0;a[J+3>>0]=a[e+((z+y|0)>>>18&1023)>>0]|0;a[J+12>>0]=a[e+((y-z|0)>>>18&1023)>>0]|0;a[J+4>>0]=a[e+((C+A|0)>>>18&1023)>>0]|0;a[J+11>>0]=a[e+((A-C|0)>>>18&1023)>>0]|0;a[J+5>>0]=a[e+((E+D|0)>>>18&1023)>>0]|0;a[J+10>>0]=a[e+((D-E|0)>>>18&1023)>>0]|0;a[J+6>>0]=a[e+((G+F|0)>>>18&1023)>>0]|0;a[J+9>>0]=a[e+((F-G|0)>>>18&1023)>>0]|0;a[J+7>>0]=a[e+((I+H|0)>>>18&1023)>>0]|0;a[J+8>>0]=a[e+((H-I|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==16)break;else i=i+32|0}yb=m;return}function Zu(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0;m=yb;yb=yb+480|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;s=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;w=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;t=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;y=(B(t,-3580)|0)+f|0;D=(t*9373|0)+f|0;f=(B(t,-11586)|0)+f|0;t=s-w|0;w=w+s|0;E=w*10958|0;u=t*374|0;s=s*11795|0;A=u+E+D|0;u=s-E+u+y|0;E=w*4482|0;o=B(t,-3271)|0;q=D-E+o|0;o=E-s+o+y|0;w=w*6476|0;s=t*2896|0;y=s+w+y|0;s=D-w+s|0;w=f+(t*5792|0)|0;f=(B(t,-11584)|0)+f|0;t=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;D=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;E=B((b[d+80>>1]|0)*10033|0,c[j+160>>2]|0)|0;C=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;r=D-C|0;F=(r+t|0)*6810|0;x=F+(t*4209|0)|0;r=F+(B(r,-17828)|0)|0;F=B(D,-6810)|0;D=B(D,-11018)|0;v=t-C|0;n=(v*11522|0)+E|0;z=(C*20131|0)-D+n|0;n=F+(B(t,-9113)|0)+n|0;v=(v*10033|0)-E|0;p=(C+t|0)*4712|0;t=F+(t*3897|0)-E+p|0;p=E+D+(B(C,-7121)|0)+p|0;c[k>>2]=z+A>>11;c[k+448>>2]=A-z>>11;c[k+32>>2]=x+y>>11;c[k+416>>2]=y-x>>11;c[k+64>>2]=v+w>>11;c[k+384>>2]=w-v>>11;c[k+96>>2]=t+u>>11;c[k+352>>2]=u-t>>11;c[k+128>>2]=r+s>>11;c[k+320>>2]=s-r>>11;c[k+160>>2]=p+q>>11;c[k+288>>2]=q-p>>11;c[k+192>>2]=n+o>>11;c[k+256>>2]=o-n>>11;c[k+224>>2]=f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){F=(c[g+(d<<2)>>2]|0)+h|0;E=(c[i>>2]<<13)+134348800|0;x=c[i+8>>2]|0;t=c[i+16>>2]|0;w=c[i+24>>2]|0;r=(B(w,-3580)|0)+E|0;n=(w*9373|0)+E|0;E=(B(w,-11586)|0)+E|0;w=x-t|0;t=t+x|0;l=t*10958|0;v=w*374|0;x=x*11795|0;p=v+l+n|0;v=x-l+v+r|0;l=t*4482|0;C=B(w,-3271)|0;z=n-l+C|0;C=l-x+C+r|0;t=t*6476|0;x=w*2896|0;r=x+t+r|0;x=n-t+x|0;t=E+(w*5792|0)|0;E=(B(w,-11584)|0)+E|0;w=c[i+4>>2]|0;n=c[i+12>>2]|0;l=(c[i+20>>2]|0)*10033|0;o=c[i+28>>2]|0;y=n-o|0;k=(y+w|0)*6810|0;s=k+(w*4209|0)|0;y=k+(B(y,-17828)|0)|0;k=B(n,-6810)|0;n=B(n,-11018)|0;u=w-o|0;D=(u*11522|0)+l|0;q=(o*20131|0)-n+D|0;D=k+(B(w,-9113)|0)+D|0;u=(u*10033|0)-l|0;A=(o+w|0)*4712|0;w=k+(w*3897|0)-l+A|0;A=l+n+(B(o,-7121)|0)+A|0;a[F>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[F+14>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[F+1>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[F+13>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[F+2>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[F+12>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[F+3>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[F+11>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[F+4>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[F+10>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;a[F+5>>0]=a[e+((A+z|0)>>>18&1023)>>0]|0;a[F+9>>0]=a[e+((z-A|0)>>>18&1023)>>0]|0;a[F+6>>0]=a[e+((D+C|0)>>>18&1023)>>0]|0;a[F+8>>0]=a[e+((C-D|0)>>>18&1023)>>0]|0;a[F+7>>0]=a[e+(E>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==15)break;else i=i+32|0}yb=m;return}function _u(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0;m=yb;yb=yb+448|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){t=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;r=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;x=(r*10438|0)+t|0;v=(r*2578|0)+t|0;f=(B(r,-7223)|0)+t|0;t=(B(r,-11586)|0)+t>>11;r=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;z=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;p=(z+r|0)*9058|0;n=p+(r*2237|0)|0;p=p+(B(z,-14084)|0)|0;r=(B(z,-11295)|0)+(r*5027|0)|0;z=n+x|0;n=x-n|0;x=p+v|0;p=v-p|0;v=r+f|0;r=f-r|0;f=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;D=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;A=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;s=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;q=s<<13;F=A+f|0;w=(D+f|0)*10935|0;E=F*9810|0;y=w+(B(f,-9232)|0)+E+q|0;F=F*6164|0;C=f-D|0;o=(C*3826|0)-q|0;f=F+(B(f,-8693)|0)+o|0;u=(B(A+D|0,-1297)|0)-q|0;w=w+(B(D,-3474)|0)+u|0;u=E+(B(A,-19447)|0)+u|0;E=(A-D|0)*11512|0;q=E+(B(A,-13850)|0)+F+q|0;o=E+(D*5529|0)+o|0;s=C-A+s<<2;c[k>>2]=y+z>>11;c[k+416>>2]=z-y>>11;c[k+32>>2]=w+x>>11;c[k+384>>2]=x-w>>11;c[k+64>>2]=u+v>>11;c[k+352>>2]=v-u>>11;c[k+96>>2]=s+t;c[k+320>>2]=t-s;c[k+128>>2]=q+r>>11;c[k+288>>2]=r-q>>11;c[k+160>>2]=o+p>>11;c[k+256>>2]=p-o>>11;c[k+192>>2]=f+n>>11;c[k+224>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){F=(c[g+(d<<2)>>2]|0)+h|0;y=(c[i>>2]<<13)+134348800|0;w=c[i+16>>2]|0;s=y+(w*10438|0)|0;u=y+(w*2578|0)|0;E=y+(B(w,-7223)|0)|0;w=y+(B(w,-11586)|0)|0;y=c[i+8>>2]|0;q=c[i+24>>2]|0;A=(q+y|0)*9058|0;D=A+(y*2237|0)|0;A=A+(B(q,-14084)|0)|0;y=(B(q,-11295)|0)+(y*5027|0)|0;q=D+s|0;D=s-D|0;s=A+u|0;A=u-A|0;u=y+E|0;y=E-y|0;E=c[i+4>>2]|0;n=c[i+12>>2]|0;p=c[i+20>>2]|0;x=c[i+28>>2]<<13;z=p+E|0;t=(n+E|0)*10935|0;l=z*9810|0;r=t+(B(E,-9232)|0)+l+x|0;z=z*6164|0;o=E-n|0;C=(o*3826|0)-x|0;E=z+(B(E,-8693)|0)+C|0;v=(B(p+n|0,-1297)|0)-x|0;t=t+(B(n,-3474)|0)+v|0;v=l+(B(p,-19447)|0)+v|0;l=(p-n|0)*11512|0;z=x+(B(p,-13850)|0)+l+z|0;C=l+(n*5529|0)+C|0;x=(o-p<<13)+x|0;a[F>>0]=a[e+((r+q|0)>>>18&1023)>>0]|0;a[F+13>>0]=a[e+((q-r|0)>>>18&1023)>>0]|0;a[F+1>>0]=a[e+((t+s|0)>>>18&1023)>>0]|0;a[F+12>>0]=a[e+((s-t|0)>>>18&1023)>>0]|0;a[F+2>>0]=a[e+((v+u|0)>>>18&1023)>>0]|0;a[F+11>>0]=a[e+((u-v|0)>>>18&1023)>>0]|0;a[F+3>>0]=a[e+((x+w|0)>>>18&1023)>>0]|0;a[F+10>>0]=a[e+((w-x|0)>>>18&1023)>>0]|0;a[F+4>>0]=a[e+((z+y|0)>>>18&1023)>>0]|0;a[F+9>>0]=a[e+((y-z|0)>>>18&1023)>>0]|0;a[F+5>>0]=a[e+((C+A|0)>>>18&1023)>>0]|0;a[F+8>>0]=a[e+((A-C|0)>>>18&1023)>>0]|0;a[F+6>>0]=a[e+((E+D|0)>>>18&1023)>>0]|0;a[F+7>>0]=a[e+((D-E|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==14)break;else i=i+32|0}yb=m;return}function $u(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0;m=yb;yb=yb+416|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;s=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;o=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;E=o+s|0;o=s-o|0;s=E*9465|0;w=(o*793|0)+f|0;A=s+(n*11249|0)+w|0;w=(n*4108|0)-s+w|0;s=E*2592|0;q=(o*3989|0)+f|0;y=(n*8672|0)-s+q|0;q=s+(B(n,-10258)|0)+q|0;E=E*3570|0;s=f+(B(o,-7678)|0)|0;u=(B(n,-1396)|0)-E+s|0;s=E+(B(n,-6581)|0)+s|0;E=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;r=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;C=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;p=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;x=(r+E|0)*10832|0;v=(C+E|0)*9534|0;D=p+E|0;F=D*7682|0;z=x+(B(E,-16549)|0)+v+F|0;H=B(C+r|0,-2773)|0;G=B(p+r|0,-9534)|0;x=x+(r*6859|0)+H+G|0;t=B(p+C|0,-5384)|0;v=H+(B(C,-12879)|0)+v+t|0;t=G+(p*18068|0)+F+t|0;D=(D*2773|0)+((C-r|0)*7682|0)|0;r=D+(E*2611|0)+(B(r,-3818)|0)|0;p=D+(C*3150|0)+(B(p,-14273)|0)|0;c[k>>2]=z+A>>11;c[k+384>>2]=A-z>>11;c[k+32>>2]=x+y>>11;c[k+352>>2]=y-x>>11;c[k+64>>2]=v+w>>11;c[k+320>>2]=w-v>>11;c[k+96>>2]=t+u>>11;c[k+288>>2]=u-t>>11;c[k+128>>2]=r+s>>11;c[k+256>>2]=s-r>>11;c[k+160>>2]=p+q>>11;c[k+224>>2]=q-p>>11;c[k+192>>2]=((o-n|0)*11585|0)+f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){H=(c[g+(d<<2)>>2]|0)+h|0;G=(c[i>>2]<<13)+134348800|0;F=c[i+8>>2]|0;z=c[i+16>>2]|0;E=c[i+24>>2]|0;o=E+z|0;E=z-E|0;z=o*9465|0;v=(E*793|0)+G|0;r=z+(F*11249|0)+v|0;v=(F*4108|0)-z+v|0;z=o*2592|0;C=(E*3989|0)+G|0;t=(F*8672|0)-z+C|0;C=z+(B(F,-10258)|0)+C|0;o=o*3570|0;z=G+(B(E,-7678)|0)|0;x=(B(F,-1396)|0)-o+z|0;z=o+(B(F,-6581)|0)+z|0;o=c[i+4>>2]|0;A=c[i+12>>2]|0;q=c[i+20>>2]|0;D=c[i+28>>2]|0;u=(A+o|0)*10832|0;w=(q+o|0)*9534|0;p=D+o|0;n=p*7682|0;s=u+(B(o,-16549)|0)+w+n|0;k=B(q+A|0,-2773)|0;l=B(D+A|0,-9534)|0;u=u+(A*6859|0)+k+l|0;y=B(D+q|0,-5384)|0;w=k+(B(q,-12879)|0)+w+y|0;y=l+(D*18068|0)+n+y|0;p=(p*2773|0)+((q-A|0)*7682|0)|0;A=p+(o*2611|0)+(B(A,-3818)|0)|0;D=p+(q*3150|0)+(B(D,-14273)|0)|0;a[H>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[H+12>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[H+1>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[H+11>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[H+2>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[H+10>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[H+3>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[H+9>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;a[H+4>>0]=a[e+((A+z|0)>>>18&1023)>>0]|0;a[H+8>>0]=a[e+((z-A|0)>>>18&1023)>>0]|0;a[H+5>>0]=a[e+((D+C|0)>>>18&1023)>>0]|0;a[H+7>>0]=a[e+((C-D|0)>>>18&1023)>>0]|0;a[H+6>>0]=a[e+((((E-F|0)*11585|0)+G|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==13)break;else i=i+32|0}yb=m;return}function av(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;m=yb;yb=yb+384|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){n=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;z=B((b[d+64>>1]|0)*10033|0,c[j+128>>2]|0)|0;y=z+n|0;z=n-z|0;t=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;r=B(b[d+96>>1]<<13,c[j+192>>2]|0)|0;p=(t<<13)-r|0;v=p+n|0;p=n-p|0;n=r+(t*11190|0)|0;x=n+y|0;n=y-n|0;r=(t*2998|0)-r|0;t=r+z|0;r=z-r|0;z=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;y=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;o=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;u=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;C=y*10703|0;A=B(y,-4433)|0;s=o+z|0;f=(u+s|0)*7053|0;s=f+(s*2139|0)|0;w=C+(z*2295|0)+s|0;q=B(u+o|0,-8565)|0;s=(B(o,-12112)|0)+A+q+s|0;q=(u*12998|0)-C+f+q|0;f=A+(B(z,-5540)|0)+(B(u,-16244)|0)+f|0;u=z-u|0;o=y-o|0;y=(u+o|0)*4433|0;u=y+(u*6270|0)|0;o=y+(B(o,-15137)|0)|0;c[k>>2]=w+x>>11;c[k+352>>2]=x-w>>11;c[k+32>>2]=u+v>>11;c[k+320>>2]=v-u>>11;c[k+64>>2]=s+t>>11;c[k+288>>2]=t-s>>11;c[k+96>>2]=q+r>>11;c[k+256>>2]=r-q>>11;c[k+128>>2]=o+p>>11;c[k+224>>2]=p-o>>11;c[k+160>>2]=f+n>>11;c[k+192>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){C=(c[g+(d<<2)>>2]|0)+h|0;z=(c[i>>2]<<13)+134348800|0;n=(c[i+16>>2]|0)*10033|0;o=z+n|0;n=z-n|0;t=c[i+8>>2]|0;v=c[i+24>>2]<<13;x=(t<<13)-v|0;r=x+z|0;x=z-x|0;z=v+(t*11190|0)|0;p=z+o|0;z=o-z|0;v=(t*2998|0)-v|0;t=v+n|0;v=n-v|0;n=c[i+4>>2]|0;o=c[i+12>>2]|0;y=c[i+20>>2]|0;s=c[i+28>>2]|0;k=o*10703|0;l=B(o,-4433)|0;u=y+n|0;A=(u+s|0)*7053|0;u=A+(u*2139|0)|0;q=k+(n*2295|0)+u|0;w=B(s+y|0,-8565)|0;u=(B(y,-12112)|0)+l+w+u|0;w=(s*12998|0)-k+A+w|0;A=l+(B(n,-5540)|0)+(B(s,-16244)|0)+A|0;s=n-s|0;y=o-y|0;o=(s+y|0)*4433|0;s=o+(s*6270|0)|0;y=o+(B(y,-15137)|0)|0;a[C>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[C+11>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[C+1>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[C+10>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[C+2>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[C+9>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[C+3>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[C+8>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[C+4>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[C+7>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;a[C+5>>0]=a[e+((A+z|0)>>>18&1023)>>0]|0;a[C+6>>0]=a[e+((z-A|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==12)break;else i=i+32|0}yb=m;return}function bv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0;m=yb;yb=yb+352|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;y=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;z=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;s=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;q=(z-y|0)*3529|0;o=s+y|0;v=o-z|0;x=(v*11116|0)+f|0;w=x+((z-s|0)*20862|0)|0;u=w+(B(z,-14924)|0)+q|0;w=w+(s*17333|0)|0;q=x+q+(B(y,-12399)|0)|0;o=x+(B(o,-9467)|0)|0;s=o+(B(s,-6461)|0)|0;o=(z*15929|0)+(B(y,-11395)|0)+o|0;f=(B(v,-11585)|0)+f|0;v=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;y=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;z=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;x=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;C=y+v|0;n=(z+C+x|0)*3264|0;C=C*7274|0;r=(z+v|0)*5492|0;p=n+((x+v|0)*3e3|0)|0;v=C+(B(v,-7562)|0)+r+p|0;t=n+(B(z+y|0,-9527)|0)|0;r=r+(B(z,-9766)|0)+t|0;A=B(x+y|0,-14731)|0;t=C+(y*16984|0)+A+t|0;p=A+(x*17223|0)+p|0;n=(z*8203|0)+(B(y,-12019)|0)+(B(x,-13802)|0)+n|0;c[k>>2]=v+w>>11;c[k+320>>2]=w-v>>11;c[k+32>>2]=t+u>>11;c[k+288>>2]=u-t>>11;c[k+64>>2]=r+s>>11;c[k+256>>2]=s-r>>11;c[k+96>>2]=p+q>>11;c[k+224>>2]=q-p>>11;c[k+128>>2]=n+o>>11;c[k+192>>2]=o-n>>11;c[k+160>>2]=f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){C=(c[g+(d<<2)>>2]|0)+h|0;A=(c[i>>2]<<13)+134348800|0;o=c[i+8>>2]|0;n=c[i+16>>2]|0;u=c[i+24>>2]|0;w=(n-o|0)*3529|0;y=u+o|0;r=y-n|0;p=(r*11116|0)+A|0;q=p+((n-u|0)*20862|0)|0;s=q+(B(n,-14924)|0)+w|0;q=q+(u*17333|0)|0;w=p+w+(B(o,-12399)|0)|0;y=p+(B(y,-9467)|0)|0;u=y+(B(u,-6461)|0)|0;y=(n*15929|0)+(B(o,-11395)|0)+y|0;A=(B(r,-11585)|0)+A|0;r=c[i+4>>2]|0;o=c[i+12>>2]|0;n=c[i+20>>2]|0;p=c[i+28>>2]|0;k=o+r|0;z=(k+n+p|0)*3264|0;k=k*7274|0;v=(n+r|0)*5492|0;x=z+((p+r|0)*3e3|0)|0;r=k+(B(r,-7562)|0)+v+x|0;t=z+(B(n+o|0,-9527)|0)|0;v=v+(B(n,-9766)|0)+t|0;l=B(p+o|0,-14731)|0;t=k+(o*16984|0)+l+t|0;x=l+(p*17223|0)+x|0;z=(n*8203|0)+(B(o,-12019)|0)+(B(p,-13802)|0)+z|0;a[C>>0]=a[e+((r+q|0)>>>18&1023)>>0]|0;a[C+10>>0]=a[e+((q-r|0)>>>18&1023)>>0]|0;a[C+1>>0]=a[e+((t+s|0)>>>18&1023)>>0]|0;a[C+9>>0]=a[e+((s-t|0)>>>18&1023)>>0]|0;a[C+2>>0]=a[e+((v+u|0)>>>18&1023)>>0]|0;a[C+8>>0]=a[e+((u-v|0)>>>18&1023)>>0]|0;a[C+3>>0]=a[e+((x+w|0)>>>18&1023)>>0]|0;a[C+7>>0]=a[e+((w-x|0)>>>18&1023)>>0]|0;a[C+4>>0]=a[e+((z+y|0)>>>18&1023)>>0]|0;a[C+6>>0]=a[e+((y-z|0)>>>18&1023)>>0]|0;a[C+5>>0]=a[e+(A>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==11)break;else i=i+32|0}yb=m;return}function cv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;m=yb;yb=yb+320|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){r=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;t=(n*9373|0)+r|0;w=(B(n,-3580)|0)+r|0;r=(B(n,-11586)|0)+r>>11;n=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;p=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;v=(p+n|0)*6810|0;n=v+(n*4209|0)|0;p=v+(B(p,-17828)|0)|0;v=n+t|0;n=t-n|0;t=p+w|0;p=w-p|0;w=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;x=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;s=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;q=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;o=q+x|0;q=x-q|0;x=q*2531|0;y=s<<13;z=o*7791|0;f=x+y|0;u=z+(w*11443|0)+f|0;f=(w*1812|0)-z+f|0;o=o*4815|0;x=y-x-(q<<12)|0;q=w-s-q<<2;s=(w*10323|0)-o-x|0;o=x+((w*5260|0)-o)|0;c[k>>2]=u+v>>11;c[k+288>>2]=v-u>>11;c[k+32>>2]=s+t>>11;c[k+256>>2]=t-s>>11;c[k+64>>2]=q+r;c[k+224>>2]=r-q;c[k+96>>2]=o+p>>11;c[k+192>>2]=p-o>>11;c[k+128>>2]=f+n>>11;c[k+160>>2]=n-f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){z=(c[g+(d<<2)>>2]|0)+h|0;x=(c[i>>2]<<13)+134348800|0;t=c[i+16>>2]|0;r=x+(t*9373|0)|0;o=x+(B(t,-3580)|0)|0;t=x+(B(t,-11586)|0)|0;x=c[i+8>>2]|0;v=c[i+24>>2]|0;p=(v+x|0)*6810|0;x=p+(x*4209|0)|0;v=p+(B(v,-17828)|0)|0;p=x+r|0;x=r-x|0;r=v+o|0;v=o-v|0;o=c[i+4>>2]|0;n=c[i+12>>2]|0;u=c[i+20>>2]<<13;s=c[i+28>>2]|0;w=s+n|0;s=n-s|0;n=s*2531|0;l=w*7791|0;y=n+u|0;q=l+(o*11443|0)+y|0;y=(o*1812|0)-l+y|0;w=w*4815|0;n=u-n-(s<<12)|0;u=(o-s<<13)-u|0;s=(o*10323|0)-w-n|0;w=n+((o*5260|0)-w)|0;a[z>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[z+9>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[z+1>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[z+8>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[z+2>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[z+7>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[z+3>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[z+6>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[z+4>>0]=a[e+((y+x|0)>>>18&1023)>>0]|0;a[z+5>>0]=a[e+((x-y|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==10)break;else i=i+32|0}yb=m;return}function dv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;m=yb;yb=yb+288|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){q=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;w=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;o=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;f=B((b[d+96>>1]|0)*5793|0,c[j+192>>2]|0)|0;v=f+q|0;f=q-f-f|0;q=w-o|0;s=f+(q*5793|0)|0;f=(B(q,-11586)|0)+f|0;q=(o+w|0)*10887|0;w=w*8875|0;o=o*2012|0;u=q-o+v|0;q=v-q+w|0;o=v-w+o|0;w=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;v=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;r=B(c[j+224>>2]|0,b[d+112>>1]|0)|0;x=B(B(b[d+48>>1]|0,-10033)|0,c[j+96>>2]|0)|0;p=(v+w|0)*7447|0;n=(r+w|0)*3962|0;t=p-x+n|0;y=(v-r|0)*11409|0;p=x-y+p|0;n=y+x+n|0;r=(w-v-r|0)*10033|0;c[k>>2]=t+u>>11;c[k+256>>2]=u-t>>11;c[k+32>>2]=r+s>>11;c[k+224>>2]=s-r>>11;c[k+64>>2]=p+q>>11;c[k+192>>2]=q-p>>11;c[k+96>>2]=n+o>>11;c[k+160>>2]=o-n>>11;c[k+128>>2]=f>>11;e=e+1|0;if((e|0)==8)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){y=(c[g+(d<<2)>>2]|0)+h|0;t=(c[i>>2]<<13)+134348800|0;n=c[i+8>>2]|0;v=c[i+16>>2]|0;x=(c[i+24>>2]|0)*5793|0;o=x+t|0;x=t-x-x|0;t=n-v|0;r=x+(t*5793|0)|0;x=(B(t,-11586)|0)+x|0;t=(v+n|0)*10887|0;n=n*8875|0;v=v*2012|0;p=t-v+o|0;t=o-t+n|0;v=o-n+v|0;n=c[i+4>>2]|0;o=c[i+20>>2]|0;s=c[i+28>>2]|0;l=B(c[i+12>>2]|0,-10033)|0;u=(o+n|0)*7447|0;w=(s+n|0)*3962|0;q=u-l+w|0;k=(o-s|0)*11409|0;u=l-k+u|0;w=k+l+w|0;s=(n-o-s|0)*10033|0;a[y>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[y+8>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[y+1>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[y+7>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;a[y+2>>0]=a[e+((u+t|0)>>>18&1023)>>0]|0;a[y+6>>0]=a[e+((t-u|0)>>>18&1023)>>0]|0;a[y+3>>0]=a[e+((w+v|0)>>>18&1023)>>0]|0;a[y+5>>0]=a[e+((v-w|0)>>>18&1023)>>0]|0;a[y+4>>0]=a[e+(x>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==9)break;else i=i+32|0}yb=m;return}function ev(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;m=yb;yb=yb+208|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){f=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;w=B(c[j+64>>2]|0,b[d+32>>1]|0)|0;o=B(c[j+128>>2]|0,b[d+64>>1]|0)|0;u=B(c[j+192>>2]|0,b[d+96>>1]|0)|0;v=(o-u|0)*7223|0;p=(w-o|0)*2578|0;s=(B(o,-15083)|0)+f+p+v|0;n=u+w|0;q=(n*10438|0)+f|0;u=v+(B(u,-637)|0)+q|0;q=p+(B(w,-20239)|0)+q|0;w=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;p=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;v=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;x=(p+w|0)*7663|0;t=(w-p|0)*1395|0;p=B(v+p|0,-11295)|0;r=x+t+p|0;w=(v+w|0)*5027|0;t=w+(x-t)|0;p=w+(v*15326|0)+p|0;c[k>>2]=t+u>>11;c[k+168>>2]=u-t>>11;c[k+28>>2]=r+s>>11;c[k+140>>2]=s-r>>11;c[k+56>>2]=p+q>>11;c[k+112>>2]=q-p>>11;c[k+84>>2]=((o-n|0)*11585|0)+f>>11;e=e+1|0;if((e|0)==7)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){x=(c[g+(d<<2)>>2]|0)+h|0;w=(c[i>>2]<<13)+134348800|0;l=c[i+8>>2]|0;u=c[i+16>>2]|0;o=c[i+24>>2]|0;n=(u-o|0)*7223|0;t=(l-u|0)*2578|0;q=(B(u,-15083)|0)+w+t+n|0;v=o+l|0;s=(v*10438|0)+w|0;o=n+(B(o,-637)|0)+s|0;s=t+(B(l,-20239)|0)+s|0;l=c[i+4>>2]|0;t=c[i+12>>2]|0;n=c[i+20>>2]|0;k=(t+l|0)*7663|0;p=(l-t|0)*1395|0;t=B(n+t|0,-11295)|0;r=k+p+t|0;l=(n+l|0)*5027|0;p=k-p+l|0;t=l+(n*15326|0)+t|0;a[x>>0]=a[e+((p+o|0)>>>18&1023)>>0]|0;a[x+6>>0]=a[e+((o-p|0)>>>18&1023)>>0]|0;a[x+1>>0]=a[e+((r+q|0)>>>18&1023)>>0]|0;a[x+5>>0]=a[e+((q-r|0)>>>18&1023)>>0]|0;a[x+2>>0]=a[e+((t+s|0)>>>18&1023)>>0]|0;a[x+4>>0]=a[e+((s-t|0)>>>18&1023)>>0]|0;a[x+3>>0]=a[e+((((u-v|0)*11585|0)+w|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==7)break;else i=i+28|0}yb=m;return}function fv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=yb;yb=yb+144|0;i=m;l=c[d+336>>2]|0;k=i;j=c[e+84>>2]|0;d=f;e=0;while(1){p=B(b[d>>1]<<13,c[j>>2]|0)|0|1024;n=B((b[d+64>>1]|0)*5793|0,c[j+128>>2]|0)|0;t=n+p|0;p=(B(n,-2)|0)+p>>11;n=B((b[d+32>>1]|0)*10033|0,c[j+64>>2]|0)|0;r=n+t|0;n=t-n|0;t=B(c[j+32>>2]|0,b[d+16>>1]|0)|0;s=B(c[j+96>>2]|0,b[d+48>>1]|0)|0;o=B(c[j+160>>2]|0,b[d+80>>1]|0)|0;f=(o+t|0)*2998|0;q=f+(s+t<<13)|0;f=f+(o-s<<13)|0;o=t-s-o<<2;c[k>>2]=q+r>>11;c[k+120>>2]=r-q>>11;c[k+24>>2]=o+p;c[k+96>>2]=p-o;c[k+48>>2]=f+n>>11;c[k+72>>2]=n-f>>11;e=e+1|0;if((e|0)==6)break;else{k=k+4|0;j=j+4|0;d=d+2|0}}e=l+-384|0;d=0;while(1){t=(c[g+(d<<2)>>2]|0)+h|0;r=(c[i>>2]<<13)+134348800|0;p=(c[i+16>>2]|0)*5793|0;k=r+p|0;p=r-p-p|0;r=(c[i+8>>2]|0)*10033|0;n=k+r|0;r=k-r|0;k=c[i+4>>2]|0;l=c[i+12>>2]|0;q=c[i+20>>2]|0;s=(q+k|0)*2998|0;o=s+(l+k<<13)|0;s=s+(q-l<<13)|0;q=k-l-q<<13;a[t>>0]=a[e+((o+n|0)>>>18&1023)>>0]|0;a[t+5>>0]=a[e+((n-o|0)>>>18&1023)>>0]|0;a[t+1>>0]=a[e+((q+p|0)>>>18&1023)>>0]|0;a[t+4>>0]=a[e+((p-q|0)>>>18&1023)>>0]|0;a[t+2>>0]=a[e+((s+r|0)>>>18&1023)>>0]|0;a[t+3>>0]=a[e+((r-s|0)>>>18&1023)>>0]|0;d=d+1|0;if((d|0)==6)break;else i=i+24|0}yb=m;return}function gv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;i=yb;yb=yb+112|0;l=i;d=c[d+336>>2]|0;o=c[e+84>>2]|0;n=B(b[f>>1]<<13,c[o>>2]|0)|0|1024;e=B(c[o+64>>2]|0,b[f+32>>1]|0)|0;j=B(c[o+128>>2]|0,b[f+64>>1]|0)|0;q=(j+e|0)*6476|0;j=e-j|0;e=(j*2896|0)+n|0;p=e+q|0;q=e-q|0;n=(B(j,-11584)|0)+n|0;j=B(c[o+32>>2]|0,b[f+16>>1]|0)|0;e=B(c[o+96>>2]|0,b[f+48>>1]|0)|0;m=(e+j|0)*6810|0;j=m+(j*4209|0)|0;e=m+(B(e,-17828)|0)|0;c[l>>2]=j+p>>11;c[l+80>>2]=p-j>>11;j=l+20|0;c[j>>2]=e+q>>11;c[l+60>>2]=q-e>>11;c[l+40>>2]=n>>11;n=l+4|0;e=B(b[f+2>>1]<<13,c[o+4>>2]|0)|0|1024;q=B(c[o+68>>2]|0,b[f+34>>1]|0)|0;p=B(c[o+132>>2]|0,b[f+66>>1]|0)|0;m=(p+q|0)*6476|0;p=q-p|0;q=(p*2896|0)+e|0;k=q+m|0;m=q-m|0;e=(B(p,-11584)|0)+e|0;p=B(c[o+36>>2]|0,b[f+18>>1]|0)|0;q=B(c[o+100>>2]|0,b[f+50>>1]|0)|0;r=(q+p|0)*6810|0;p=r+(p*4209|0)|0;q=r+(B(q,-17828)|0)|0;c[n>>2]=p+k>>11;c[l+84>>2]=k-p>>11;c[l+24>>2]=q+m>>11;c[l+64>>2]=m-q>>11;c[l+44>>2]=e>>11;e=B(b[f+4>>1]<<13,c[o+8>>2]|0)|0|1024;q=B(c[o+72>>2]|0,b[f+36>>1]|0)|0;m=B(c[o+136>>2]|0,b[f+68>>1]|0)|0;p=(m+q|0)*6476|0;m=q-m|0;q=(m*2896|0)+e|0;k=q+p|0;p=q-p|0;e=(B(m,-11584)|0)+e|0;m=B(c[o+40>>2]|0,b[f+20>>1]|0)|0;q=B(c[o+104>>2]|0,b[f+52>>1]|0)|0;r=(q+m|0)*6810|0;m=r+(m*4209|0)|0;q=r+(B(q,-17828)|0)|0;c[l+8>>2]=m+k>>11;c[l+88>>2]=k-m>>11;c[l+28>>2]=q+p>>11;c[l+68>>2]=p-q>>11;c[l+48>>2]=e>>11;e=B(b[f+6>>1]<<13,c[o+12>>2]|0)|0|1024;q=B(c[o+76>>2]|0,b[f+38>>1]|0)|0;p=B(c[o+140>>2]|0,b[f+70>>1]|0)|0;m=(p+q|0)*6476|0;p=q-p|0;q=(p*2896|0)+e|0;k=q+m|0;m=q-m|0;e=(B(p,-11584)|0)+e|0;p=B(c[o+44>>2]|0,b[f+22>>1]|0)|0;q=B(c[o+108>>2]|0,b[f+54>>1]|0)|0;r=(q+p|0)*6810|0;p=r+(p*4209|0)|0;q=r+(B(q,-17828)|0)|0;c[l+12>>2]=p+k>>11;c[l+92>>2]=k-p>>11;c[l+32>>2]=q+m>>11;c[l+72>>2]=m-q>>11;c[l+52>>2]=e>>11;e=B(b[f+8>>1]<<13,c[o+16>>2]|0)|0|1024;q=B(c[o+80>>2]|0,b[f+40>>1]|0)|0;m=B(c[o+144>>2]|0,b[f+72>>1]|0)|0;p=(m+q|0)*6476|0;m=q-m|0;q=(m*2896|0)+e|0;k=q+p|0;p=q-p|0;e=(B(m,-11584)|0)+e|0;m=B(c[o+48>>2]|0,b[f+24>>1]|0)|0;f=B(c[o+112>>2]|0,b[f+56>>1]|0)|0;o=(f+m|0)*6810|0;m=o+(m*4209|0)|0;f=o+(B(f,-17828)|0)|0;c[l+16>>2]=m+k>>11;c[l+96>>2]=k-m>>11;c[l+36>>2]=f+p>>11;c[l+76>>2]=p-f>>11;c[l+56>>2]=e>>11;f=d+-384|0;e=(c[g>>2]|0)+h|0;d=(c[l>>2]<<13)+134348800|0;p=c[l+8>>2]|0;m=c[l+16>>2]|0;k=(m+p|0)*6476|0;m=p-m|0;p=(m*2896|0)+d|0;o=p+k|0;k=p-k|0;d=(B(m,-11584)|0)+d|0;n=c[n>>2]|0;m=c[l+12>>2]|0;p=(m+n|0)*6810|0;n=p+(n*4209|0)|0;m=p+(B(m,-17828)|0)|0;a[e>>0]=a[f+((n+o|0)>>>18&1023)>>0]|0;a[e+4>>0]=a[f+((o-n|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+((m+k|0)>>>18&1023)>>0]|0;a[e+3>>0]=a[f+((k-m|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+(d>>>18&1023)>>0]|0;e=(c[g+4>>2]|0)+h|0;j=(c[j>>2]<<13)+134348800|0;d=c[l+28>>2]|0;m=c[l+36>>2]|0;k=(m+d|0)*6476|0;m=d-m|0;d=(m*2896|0)+j|0;n=d+k|0;k=d-k|0;j=(B(m,-11584)|0)+j|0;m=c[l+24>>2]|0;d=c[l+32>>2]|0;o=(d+m|0)*6810|0;m=o+(m*4209|0)|0;d=o+(B(d,-17828)|0)|0;a[e>>0]=a[f+((m+n|0)>>>18&1023)>>0]|0;a[e+4>>0]=a[f+((n-m|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+((d+k|0)>>>18&1023)>>0]|0;a[e+3>>0]=a[f+((k-d|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+(j>>>18&1023)>>0]|0;e=(c[g+8>>2]|0)+h|0;j=(c[l+40>>2]<<13)+134348800|0;d=c[l+48>>2]|0;k=c[l+56>>2]|0;m=(k+d|0)*6476|0;k=d-k|0;d=(k*2896|0)+j|0;n=d+m|0;m=d-m|0;j=(B(k,-11584)|0)+j|0;k=c[l+44>>2]|0;d=c[l+52>>2]|0;o=(d+k|0)*6810|0;k=o+(k*4209|0)|0;d=o+(B(d,-17828)|0)|0;a[e>>0]=a[f+((k+n|0)>>>18&1023)>>0]|0;a[e+4>>0]=a[f+((n-k|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+((d+m|0)>>>18&1023)>>0]|0;a[e+3>>0]=a[f+((m-d|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+(j>>>18&1023)>>0]|0;e=(c[g+12>>2]|0)+h|0;j=(c[l+60>>2]<<13)+134348800|0;d=c[l+68>>2]|0;m=c[l+76>>2]|0;k=(m+d|0)*6476|0;m=d-m|0;d=(m*2896|0)+j|0;n=d+k|0;k=d-k|0;j=(B(m,-11584)|0)+j|0;m=c[l+64>>2]|0;d=c[l+72>>2]|0;o=(d+m|0)*6810|0;m=o+(m*4209|0)|0;d=o+(B(d,-17828)|0)|0;a[e>>0]=a[f+((m+n|0)>>>18&1023)>>0]|0;a[e+4>>0]=a[f+((n-m|0)>>>18&1023)>>0]|0;a[e+1>>0]=a[f+((d+k|0)>>>18&1023)>>0]|0;a[e+3>>0]=a[f+((k-d|0)>>>18&1023)>>0]|0;a[e+2>>0]=a[f+(j>>>18&1023)>>0]|0;h=(c[g+16>>2]|0)+h|0;g=(c[l+80>>2]<<13)+134348800|0;e=c[l+88>>2]|0;j=c[l+96>>2]|0;d=(j+e|0)*6476|0;j=e-j|0;e=(j*2896|0)+g|0;k=e+d|0;d=e-d|0;g=(B(j,-11584)|0)+g|0;j=c[l+84>>2]|0;e=c[l+92>>2]|0;l=(e+j|0)*6810|0;j=l+(j*4209|0)|0;e=l+(B(e,-17828)|0)|0;a[h>>0]=a[f+((j+k|0)>>>18&1023)>>0]|0;a[h+4>>0]=a[f+((k-j|0)>>>18&1023)>>0]|0;a[h+1>>0]=a[f+((e+d|0)>>>18&1023)>>0]|0;a[h+3>>0]=a[f+((d-e|0)>>>18&1023)>>0]|0;a[h+2>>0]=a[f+(g>>>18&1023)>>0]|0;yb=i;return}function hv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=yb;yb=yb+64|0;k=i;d=c[d+336>>2]|0;e=c[e+84>>2]|0;m=B(c[e>>2]|0,b[f>>1]|0)|0;j=B(c[e+64>>2]|0,b[f+32>>1]|0)|0;o=j+m<<2;j=m-j<<2;m=B(c[e+32>>2]|0,b[f+16>>1]|0)|0;n=B(c[e+96>>2]|0,b[f+48>>1]|0)|0;l=((n+m|0)*4433|0)+1024|0;m=l+(m*6270|0)>>11;n=l+(B(n,-15137)|0)>>11;c[k>>2]=m+o;c[k+48>>2]=o-m;m=k+16|0;c[m>>2]=n+j;c[k+32>>2]=j-n;n=k+4|0;j=B(c[e+4>>2]|0,b[f+2>>1]|0)|0;o=B(c[e+68>>2]|0,b[f+34>>1]|0)|0;l=o+j<<2;o=j-o<<2;j=B(c[e+36>>2]|0,b[f+18>>1]|0)|0;q=B(c[e+100>>2]|0,b[f+50>>1]|0)|0;p=((q+j|0)*4433|0)+1024|0;j=p+(j*6270|0)>>11;q=p+(B(q,-15137)|0)>>11;c[n>>2]=j+l;c[k+52>>2]=l-j;c[k+20>>2]=q+o;c[k+36>>2]=o-q;q=B(c[e+8>>2]|0,b[f+4>>1]|0)|0;o=B(c[e+72>>2]|0,b[f+36>>1]|0)|0;j=o+q<<2;o=q-o<<2;q=B(c[e+40>>2]|0,b[f+20>>1]|0)|0;l=B(c[e+104>>2]|0,b[f+52>>1]|0)|0;p=((l+q|0)*4433|0)+1024|0;q=p+(q*6270|0)>>11;l=p+(B(l,-15137)|0)>>11;p=q+j|0;c[k+8>>2]=p;c[k+56>>2]=j-q;c[k+24>>2]=l+o;c[k+40>>2]=o-l;l=B(c[e+12>>2]|0,b[f+6>>1]|0)|0;o=B(c[e+76>>2]|0,b[f+38>>1]|0)|0;q=o+l<<2;o=l-o<<2;l=B(c[e+44>>2]|0,b[f+22>>1]|0)|0;e=B(c[e+108>>2]|0,b[f+54>>1]|0)|0;j=((e+l|0)*4433|0)+1024|0;l=j+(l*6270|0)>>11;e=j+(B(e,-15137)|0)>>11;j=l+q|0;c[k+12>>2]=j;c[k+60>>2]=q-l;l=e+o|0;c[k+28>>2]=l;c[k+44>>2]=o-e;e=d+-384|0;d=(c[g>>2]|0)+h|0;f=(c[k>>2]|0)+16400|0;o=f+p<<13;f=f-p<<13;n=c[n>>2]|0;p=(j+n|0)*4433|0;n=p+(n*6270|0)|0;j=p+(B(j,-15137)|0)|0;a[d>>0]=a[e+((n+o|0)>>>18&1023)>>0]|0;a[d+3>>0]=a[e+((o-n|0)>>>18&1023)>>0]|0;a[d+1>>0]=a[e+((j+f|0)>>>18&1023)>>0]|0;a[d+2>>0]=a[e+((f-j|0)>>>18&1023)>>0]|0;d=(c[g+4>>2]|0)+h|0;m=(c[m>>2]|0)+16400|0;j=c[k+24>>2]|0;f=m+j<<13;j=m-j<<13;m=c[k+20>>2]|0;n=(l+m|0)*4433|0;m=n+(m*6270|0)|0;l=n+(B(l,-15137)|0)|0;a[d>>0]=a[e+((m+f|0)>>>18&1023)>>0]|0;a[d+3>>0]=a[e+((f-m|0)>>>18&1023)>>0]|0;a[d+1>>0]=a[e+((l+j|0)>>>18&1023)>>0]|0;a[d+2>>0]=a[e+((j-l|0)>>>18&1023)>>0]|0;d=(c[g+8>>2]|0)+h|0;l=(c[k+32>>2]|0)+16400|0;j=c[k+40>>2]|0;m=l+j<<13;j=l-j<<13;l=c[k+36>>2]|0;f=c[k+44>>2]|0;n=(f+l|0)*4433|0;l=n+(l*6270|0)|0;f=n+(B(f,-15137)|0)|0;a[d>>0]=a[e+((l+m|0)>>>18&1023)>>0]|0;a[d+3>>0]=a[e+((m-l|0)>>>18&1023)>>0]|0;a[d+1>>0]=a[e+((f+j|0)>>>18&1023)>>0]|0;a[d+2>>0]=a[e+((j-f|0)>>>18&1023)>>0]|0;h=(c[g+12>>2]|0)+h|0;d=(c[k+48>>2]|0)+16400|0;f=c[k+56>>2]|0;j=d+f<<13;f=d-f<<13;d=c[k+52>>2]|0;g=c[k+60>>2]|0;k=(g+d|0)*4433|0;d=k+(d*6270|0)|0;g=k+(B(g,-15137)|0)|0;a[h>>0]=a[e+((d+j|0)>>>18&1023)>>0]|0;a[h+3>>0]=a[e+((j-d|0)>>>18&1023)>>0]|0;a[h+1>>0]=a[e+((g+f|0)>>>18&1023)>>0]|0;a[h+2>>0]=a[e+((f-g|0)>>>18&1023)>>0]|0;yb=i;return}function iv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;i=yb;yb=yb+48|0;j=i;d=c[d+336>>2]|0;e=c[e+84>>2]|0;l=B(b[f>>1]<<13,c[e>>2]|0)|0|1024;k=B((b[f+32>>1]|0)*5793|0,c[e+64>>2]|0)|0;n=k+l|0;l=(B(k,-2)|0)+l|0;k=B((b[f+16>>1]|0)*10033|0,c[e+32>>2]|0)|0;m=k+n>>11;c[j>>2]=m;c[j+24>>2]=n-k>>11;k=j+12|0;c[k>>2]=l>>11;l=B(b[f+2>>1]<<13,c[e+4>>2]|0)|0|1024;n=B((b[f+34>>1]|0)*5793|0,c[e+68>>2]|0)|0;q=n+l|0;l=(B(n,-2)|0)+l|0;n=B((b[f+18>>1]|0)*10033|0,c[e+36>>2]|0)|0;o=n+q>>11;c[j+4>>2]=o;c[j+28>>2]=q-n>>11;l=l>>11;c[j+16>>2]=l;n=B(b[f+4>>1]<<13,c[e+8>>2]|0)|0|1024;q=B((b[f+36>>1]|0)*5793|0,c[e+72>>2]|0)|0;p=q+n|0;n=(B(q,-2)|0)+n|0;e=B((b[f+20>>1]|0)*10033|0,c[e+40>>2]|0)|0;q=e+p>>11;c[j+8>>2]=q;e=p-e>>11;c[j+32>>2]=e;n=n>>11;c[j+20>>2]=n;f=d+-384|0;d=(c[g>>2]|0)+h|0;m=(m<<13)+134348800|0;p=m+(q*5793|0)|0;m=(B(q,-11586)|0)+m|0;o=o*10033|0;a[d>>0]=a[f+((p+o|0)>>>18&1023)>>0]|0;a[d+2>>0]=a[f+((p-o|0)>>>18&1023)>>0]|0;a[d+1>>0]=a[f+(m>>>18&1023)>>0]|0;d=(c[g+4>>2]|0)+h|0;k=(c[k>>2]<<13)+134348800|0;m=k+(n*5793|0)|0;k=(B(n,-11586)|0)+k|0;l=l*10033|0;a[d>>0]=a[f+((m+l|0)>>>18&1023)>>0]|0;a[d+2>>0]=a[f+((m-l|0)>>>18&1023)>>0]|0;a[d+1>>0]=a[f+(k>>>18&1023)>>0]|0;h=(c[g+8>>2]|0)+h|0;g=(c[j+24>>2]<<13)+134348800|0;d=g+(e*5793|0)|0;g=(B(e,-11586)|0)+g|0;e=(c[j+28>>2]|0)*10033|0;a[h>>0]=a[f+((d+e|0)>>>18&1023)>>0]|0;a[h+2>>0]=a[f+((d-e|0)>>>18&1023)>>0]|0;a[h+1>>0]=a[f+(g>>>18&1023)>>0]|0;yb=i;return}function jv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;d=(c[d+336>>2]|0)+-384|0;j=c[e+84>>2]|0;i=B(c[j>>2]|0,b[f>>1]|0)|0;e=B(c[j+32>>2]|0,b[f+16>>1]|0)|0;i=i+4100|0;k=e+i|0;e=i-e|0;i=B(c[j+4>>2]|0,b[f+2>>1]|0)|0;f=B(c[j+36>>2]|0,b[f+18>>1]|0)|0;j=f+i|0;f=i-f|0;i=(c[g>>2]|0)+h|0;a[i>>0]=a[d+((j+k|0)>>>3&1023)>>0]|0;a[i+1>>0]=a[d+((k-j|0)>>>3&1023)>>0]|0;h=(c[g+4>>2]|0)+h|0;a[h>>0]=a[d+((f+e|0)>>>3&1023)>>0]|0;a[h+1>>0]=a[d+((e-f|0)>>>3&1023)>>0]|0;return}function kv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;f=a[(c[d+336>>2]|0)+-384+(((B(c[c[e+84>>2]>>2]|0,b[f>>1]|0)|0)+4100|0)>>>3&1023)>>0]|0;a[(c[g>>2]|0)+h>>0]=f;return}function lv(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;o=yb;yb=yb+256|0;m=o;l=c[d+336>>2]|0;k=m;j=c[e+84>>2]|0;i=8;while(1){e=b[f+16>>1]|0;d=b[f+32>>1]|0;if(!((e|d)<<16>>16))if(((((b[f+48>>1]|0)==0?(b[f+64>>1]|0)==0:0)?(b[f+80>>1]|0)==0:0)?(b[f+96>>1]|0)==0:0)?(b[f+112>>1]|0)==0:0){d=B(b[f>>1]<<2,c[j>>2]|0)|0;c[k>>2]=d;c[k+32>>2]=d;c[k+64>>2]=d;c[k+96>>2]=d;c[k+128>>2]=d;c[k+160>>2]=d;c[k+192>>2]=d;e=56}else{d=0;n=9}else n=9;if((n|0)==9){n=0;x=B(b[f+64>>1]<<13,c[j+128>>2]|0)|0;p=B(b[f>>1]<<13,c[j>>2]|0)|0|1024;s=x+p|0;x=p-x|0;p=B(c[j+64>>2]|0,d<<16>>16)|0;q=B(c[j+192>>2]|0,b[f+96>>1]|0)|0;u=(q+p|0)*4433|0;p=u+(p*6270|0)|0;q=u+(B(q,-15137)|0)|0;u=p+s|0;p=s-p|0;s=q+x|0;q=x-q|0;d=B(c[j+224>>2]|0,b[f+112>>1]|0)|0;x=B(c[j+160>>2]|0,b[f+80>>1]|0)|0;v=B(c[j+96>>2]|0,b[f+48>>1]|0)|0;t=B(c[j+32>>2]|0,e<<16>>16)|0;r=v+d|0;e=t+x|0;w=(e+r|0)*9633|0;r=w+(B(r,-16069)|0)|0;e=w+(B(e,-3196)|0)|0;w=B(t+d|0,-7373)|0;d=w+(d*2446|0)+r|0;t=w+(t*12299|0)+e|0;w=B(v+x|0,-20995)|0;e=w+(x*16819|0)+e|0;r=w+(v*25172|0)+r|0;c[k>>2]=t+u>>11;c[k+224>>2]=u-t>>11;c[k+32>>2]=r+s>>11;c[k+192>>2]=s-r>>11;c[k+64>>2]=e+q>>11;c[k+160>>2]=q-e>>11;c[k+96>>2]=d+p>>11;d=p-d>>11;e=32}c[k+(e<<2)>>2]=d;if(i>>>0>1){k=k+4|0;j=j+4|0;f=f+2|0;i=i+-1|0}else break}l=l+-384|0;k=0;e=m;while(1){f=(c[g+(k<<2)>>2]|0)+h|0;i=(c[e>>2]|0)+16400|0;j=c[e+4>>2]|0;d=c[e+8>>2]|0;if(!(j|d))if(((((c[e+12>>2]|0)==0?(c[e+16>>2]|0)==0:0)?(c[e+20>>2]|0)==0:0)?(c[e+24>>2]|0)==0:0)?(c[e+28>>2]|0)==0:0){x=a[l+(i>>>5&1023)>>0]|0;a[f>>0]=x;_O(f+1|0,x|0,7)|0}else{d=0;n=19}else n=19;if((n|0)==19){n=0;x=c[e+16>>2]|0;s=x+i<<13;x=i-x<<13;u=c[e+24>>2]|0;q=(u+d|0)*4433|0;w=q+(d*6270|0)|0;u=q+(B(u,-15137)|0)|0;q=w+s|0;w=s-w|0;s=u+x|0;u=x-u|0;x=c[e+28>>2]|0;i=c[e+20>>2]|0;p=c[e+12>>2]|0;t=p+x|0;v=i+j|0;r=(t+v|0)*9633|0;t=r+(B(t,-16069)|0)|0;v=r+(B(v,-3196)|0)|0;r=B(x+j|0,-7373)|0;x=r+(x*2446|0)+t|0;r=r+(j*12299|0)+v|0;m=B(p+i|0,-20995)|0;v=m+(i*16819|0)+v|0;t=m+(p*25172|0)+t|0;a[f>>0]=a[l+((r+q|0)>>>18&1023)>>0]|0;a[f+7>>0]=a[l+((q-r|0)>>>18&1023)>>0]|0;a[f+1>>0]=a[l+((t+s|0)>>>18&1023)>>0]|0;a[f+6>>0]=a[l+((s-t|0)>>>18&1023)>>0]|0;a[f+2>>0]=a[l+((v+u|0)>>>18&1023)>>0]|0;a[f+5>>0]=a[l+((u-v|0)>>>18&1023)>>0]|0;a[f+3>>0]=a[l+((x+w|0)>>>18&1023)>>0]|0;a[f+4>>0]=a[l+((w-x|0)>>>18&1023)>>0]|0}k=k+1|0;if((k|0)==8)break;else e=e+32|0}yb=o;return}function mv(a,b){a=a|0;b=b|0;var d=0;d=c[a+456>>2]|0;a:do switch(b|0){case 0:{if(!(c[a+84>>2]|0)){c[d+4>>2]=c[(c[a+476>>2]|0)+4>>2];break a}c[d+4>>2]=4;b=d+12|0;if(!(c[b>>2]|0))c[b>>2]=Kb[c[(c[a+4>>2]|0)+28>>2]&31](a,c[d+8>>2]|0,0,c[d+16>>2]|0,1)|0;break}case 3:{if(!(c[d+8>>2]|0)){b=c[a>>2]|0;c[b+20>>2]=3;Qb[c[b>>2]&255](a)}c[d+4>>2]=5;break}case 2:{if(!(c[d+8>>2]|0)){b=c[a>>2]|0;c[b+20>>2]=3;Qb[c[b>>2]&255](a)}c[d+4>>2]=6;break}default:{b=c[a>>2]|0;c[b+20>>2]=3;Qb[c[b>>2]&255](a)}}while(0);c[d+24>>2]=0;c[d+20>>2]=0;return}function nv(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0;i=yb;yb=yb+16|0;j=i;m=c[a+456>>2]|0;k=h-(c[g>>2]|0)|0;l=c[m+16>>2]|0;c[j>>2]=0;h=m+12|0;Yb[c[(c[a+476>>2]|0)+4>>2]&7](a,b,d,e,c[h>>2]|0,j,k>>>0>l>>>0?l:k);Vb[c[(c[a+484>>2]|0)+4>>2]&31](a,c[h>>2]|0,f+(c[g>>2]<<2)|0,c[j>>2]|0);c[g>>2]=(c[g>>2]|0)+(c[j>>2]|0);yb=i;return}function ov(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;k=c[a+456>>2]|0;l=k+24|0;f=c[l>>2]|0;if(!f){j=k+16|0;h=Kb[c[(c[a+4>>2]|0)+28>>2]&31](a,c[k+8>>2]|0,c[k+20>>2]|0,c[j>>2]|0,1)|0;i=k+12|0;c[i>>2]=h;f=c[l>>2]|0}else{h=k+12|0;j=k+16|0;i=h;h=c[h>>2]|0}Yb[c[(c[a+476>>2]|0)+4>>2]&7](a,b,d,e,h,l,c[j>>2]|0);h=c[l>>2]|0;if(h>>>0>f>>>0){h=h-f|0;Vb[c[(c[a+484>>2]|0)+4>>2]&31](a,(c[i>>2]|0)+(f<<2)|0,0,h);c[g>>2]=(c[g>>2]|0)+h;h=c[l>>2]|0}f=c[j>>2]|0;if(h>>>0>>0)return;k=k+20|0;c[k>>2]=(c[k>>2]|0)+f;c[l>>2]=0;return}function pv(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0;d=c[a+456>>2]|0;j=d+24|0;b=c[j>>2]|0;if(!b){i=d+20|0;e=d+16|0;k=Kb[c[(c[a+4>>2]|0)+28>>2]&31](a,c[d+8>>2]|0,c[i>>2]|0,c[e>>2]|0,0)|0;c[d+12>>2]=k;b=c[j>>2]|0;d=k}else{i=d+20|0;e=d+16|0;d=c[d+12>>2]|0}k=(c[e>>2]|0)-b|0;l=c[g>>2]|0;h=h-l|0;k=k>>>0>h>>>0?h:k;h=(c[a+116>>2]|0)-(c[i>>2]|0)|0;k=k>>>0>h>>>0?h:k;Vb[c[(c[a+484>>2]|0)+4>>2]&31](a,d+(b<<2)|0,f+(l<<2)|0,k);c[g>>2]=(c[g>>2]|0)+k;k=(c[j>>2]|0)+k|0;c[j>>2]=k;b=c[e>>2]|0;if(k>>>0>>0)return;c[i>>2]=(c[i>>2]|0)+b;c[j>>2]=0;return}function qv(a){a=a|0;var b=0;b=c[a+476>>2]|0;c[b+92>>2]=c[a+320>>2];c[b+96>>2]=c[a+116>>2];return}function rv(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;l=c[a+476>>2]|0;m=l+92|0;i=c[m>>2]|0;k=a+320|0;e=c[k>>2]|0;if((i|0)>=(e|0)){j=a+36|0;if((c[j>>2]|0)>0){e=c[a+216>>2]|0;i=0;while(1){n=(c[b+(i<<2)>>2]|0)+((B(c[l+100+(i<<2)>>2]|0,c[d>>2]|0)|0)<<2)|0;Vb[c[l+52+(i<<2)>>2]&31](a,e,n,l+12+(i<<2)|0);i=i+1|0;if((i|0)>=(c[j>>2]|0))break;else e=e+88|0}e=c[k>>2]|0}c[m>>2]=0;i=0}n=e-i|0;b=l+96|0;j=c[b>>2]|0;n=n>>>0>j>>>0?j:n;j=c[g>>2]|0;h=h-j|0;n=n>>>0>h>>>0?h:n;Wb[c[(c[a+480>>2]|0)+4>>2]&63](a,l+12|0,i,f+(j<<2)|0,n);c[g>>2]=(c[g>>2]|0)+n;c[b>>2]=(c[b>>2]|0)-n;n=(c[m>>2]|0)+n|0;c[m>>2]=n;if((n|0)<(c[k>>2]|0))return;c[d>>2]=(c[d>>2]|0)+1;return}function sv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[e>>2]=0;return}function tv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[e>>2]=d;return}function uv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=c[f>>2]|0;k=b+320|0;d=c[k>>2]|0;if((d|0)<=0)return;i=b+112|0;h=0;do{b=c[j+(h<<2)>>2]|0;f=c[i>>2]|0;g=b+f|0;if((f|0)>0){f=c[e+(h<<2)>>2]|0;d=b;while(1){b=a[f>>0]|0;a[d>>0]=b;a[d+1>>0]=b;d=d+2|0;if(d>>>0>=g>>>0)break;else f=f+1|0}d=c[k>>2]|0}h=h+1|0}while((h|0)<(d|0));return}function vv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;k=c[f>>2]|0;l=b+320|0;if((c[l>>2]|0)<=0)return;j=b+112|0;h=0;i=0;while(1){b=c[k+(i<<2)>>2]|0;d=c[j>>2]|0;g=b+d|0;if((d|0)>0){f=c[e+(h<<2)>>2]|0;d=b;while(1){b=a[f>>0]|0;a[d>>0]=b;a[d+1>>0]=b;d=d+2|0;if(d>>>0>=g>>>0)break;else f=f+1|0}d=c[j>>2]|0}xv(k,i,k,i|1,1,d);i=i+2|0;if((i|0)>=(c[l>>2]|0))break;else h=h+1|0}return}function wv(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=c[b+476>>2]|0;q=c[f>>2]|0;d=c[d+4>>2]|0;f=a[r+140+d>>0]|0;o=f&255;d=a[r+150+d>>0]|0;r=d&255;p=b+320|0;g=c[p>>2]|0;if((g|0)<=0)return;n=b+112|0;k=f<<24>>24!=0;l=r+-1|0;if((d&255)>1){j=(f<<24>>24==0?~o:-2)+o+2|0;h=0;i=0;while(1){d=c[q+(i<<2)>>2]|0;f=c[n>>2]|0;g=d+f|0;if((f|0)>0){if(!k)break;b=c[e+(h<<2)>>2]|0;f=d;while(1){_O(f|0,a[b>>0]|0,j|0)|0;d=o;while(1){f=f+1|0;if((d|0)<=1)break;else d=d+-1|0}if(f>>>0>>0)b=b+1|0;else break}f=c[n>>2]|0}xv(q,i,q,i+1|0,l,f);i=i+r|0;if((i|0)>=(c[p>>2]|0)){m=27;break}else h=h+1|0}if((m|0)==27)return;while(1){}}if(!k){d=(c[n>>2]|0)>0;f=0;while(1){if(d)break;f=f+r|0;if((f|0)>=(g|0)){m=27;break}}if((m|0)==27)return;while(1){}}b=0;h=0;while(1){f=c[q+(h<<2)>>2]|0;m=c[n>>2]|0;i=f+m|0;if((m|0)>0){g=c[e+(b<<2)>>2]|0;while(1){_O(f|0,a[g>>0]|0,o|0)|0;d=o;while(1){f=f+1|0;if((d|0)<=1)break;else d=d+-1|0}if(f>>>0>>0)g=g+1|0;else break}}h=h+r|0;if((h|0)>=(c[p>>2]|0))break;else b=b+1|0}return}function xv(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;if((f|0)<=0)return;b=a+(b<<2)|0;a=d+(e<<2)|0;while(1){YO(c[a>>2]|0,c[b>>2]|0,g|0)|0;if((f|0)>1){b=b+4|0;a=a+4|0;f=f+-1|0}else break}return}function yv(a){a=a|0;return}function zv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;xv(c[b>>2]|0,d,e,0,f,c[a+112>>2]|0);return}function Av(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=c[(c[b+480>>2]|0)+24>>2]|0;n=c[b+112>>2]|0;if((h|0)<=0)return;o=e+4|0;p=e+8|0;if(!n)return;while(1){i=h;h=h+-1|0;j=c[(c[e>>2]|0)+(f<<2)>>2]|0;k=c[(c[o>>2]|0)+(f<<2)>>2]|0;l=c[(c[p>>2]|0)+(f<<2)>>2]|0;f=f+1|0;m=c[g>>2]|0;b=0;do{a[m+b>>0]=((c[q+((d[k+b>>0]|0|256)<<2)>>2]|0)+(c[q+((d[j+b>>0]|0)<<2)>>2]|0)+(c[q+((d[l+b>>0]|0|512)<<2)>>2]|0)|0)>>>16;b=b+1|0}while((b|0)!=(n|0));if((i|0)<=1)break;else g=g+4|0}return}function Bv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;q=c[(c[b+480>>2]|0)+24>>2]|0;n=c[b+112>>2]|0;if((h|0)<=0)return;o=e+4|0;p=e+8|0;if(!n)return;while(1){i=h;h=h+-1|0;j=c[(c[e>>2]|0)+(f<<2)>>2]|0;k=c[(c[o>>2]|0)+(f<<2)>>2]|0;l=c[(c[p>>2]|0)+(f<<2)>>2]|0;f=f+1|0;m=c[g>>2]|0;b=0;do{s=d[k+b>>0]|0;r=s+128|0;a[m+b>>0]=((c[q+((s|256)<<2)>>2]|0)+(c[q+((r+(d[j+b>>0]|0)&255)<<2)>>2]|0)+(c[q+((r+(d[l+b>>0]|0)&255|512)<<2)>>2]|0)|0)>>>16;b=b+1|0}while((b|0)!=(n|0));if((i|0)<=1)break;else g=g+4|0}return}function Cv(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=c[b+112>>2]|0;if((g|0)<1|(k|0)==0)return;while(1){i=g;g=g+-1|0;j=c[(c[d>>2]|0)+(e<<2)>>2]|0;b=0;h=c[f>>2]|0;while(1){l=a[j+b>>0]|0;a[h+2>>0]=l;a[h+1>>0]=l;a[h>>0]=l;b=b+1|0;if((b|0)==(k|0))break;else h=h+3|0}if((i|0)<=1)break;else{f=f+4|0;e=e+1|0}}return}function Dv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;r=c[b+480>>2]|0;u=c[b+112>>2]|0;n=c[b+336>>2]|0;o=c[r+8>>2]|0;p=c[r+12>>2]|0;q=c[r+16>>2]|0;r=c[r+20>>2]|0;if((h|0)<=0)return;s=e+4|0;t=e+8|0;if(!u)return;while(1){j=h;h=h+-1|0;k=c[(c[e>>2]|0)+(f<<2)>>2]|0;l=c[(c[s>>2]|0)+(f<<2)>>2]|0;m=c[(c[t>>2]|0)+(f<<2)>>2]|0;f=f+1|0;b=c[g>>2]|0;i=0;while(1){v=d[k+i>>0]|0;w=d[l+i>>0]|0;x=d[m+i>>0]|0;a[b>>0]=a[n+((c[o+(x<<2)>>2]|0)+v)>>0]|0;a[b+1>>0]=a[n+(((c[q+(x<<2)>>2]|0)+(c[r+(w<<2)>>2]|0)>>16)+v)>>0]|0;a[b+2>>0]=a[n+((c[p+(w<<2)>>2]|0)+v)>>0]|0;i=i+1|0;if((i|0)==(u|0))break;else b=b+3|0}if((j|0)<=1)break;else g=g+4|0}return}function Ev(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=c[b+112>>2]|0;if((g|0)<=0)return;n=d+4|0;o=d+8|0;if(!m)return;while(1){i=g;g=g+-1|0;j=c[(c[d>>2]|0)+(e<<2)>>2]|0;k=c[(c[n>>2]|0)+(e<<2)>>2]|0;l=c[(c[o>>2]|0)+(e<<2)>>2]|0;e=e+1|0;b=0;h=c[f>>2]|0;while(1){a[h>>0]=a[j+b>>0]|0;a[h+1>>0]=a[k+b>>0]|0;a[h+2>>0]=a[l+b>>0]|0;b=b+1|0;if((b|0)==(m|0))break;else h=h+3|0}if((i|0)<=1)break;else f=f+4|0}return}function Fv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=c[b+112>>2]|0;if((h|0)<=0)return;o=e+4|0;p=e+8|0;if(!n)return;while(1){j=h;h=h+-1|0;k=c[(c[e>>2]|0)+(f<<2)>>2]|0;l=c[(c[o>>2]|0)+(f<<2)>>2]|0;m=c[(c[p>>2]|0)+(f<<2)>>2]|0;f=f+1|0;b=0;i=c[g>>2]|0;while(1){s=a[l+b>>0]|0;q=d[m+b>>0]|0;r=(s&255)+128|0;a[i>>0]=r+(d[k+b>>0]|0);a[i+1>>0]=s;a[i+2>>0]=r+q;b=b+1|0;if((b|0)==(n|0))break;else i=i+3|0}if((j|0)<=1)break;else g=g+4|0}return}function Gv(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;s=c[b+480>>2]|0;w=c[b+112>>2]|0;o=c[b+336>>2]|0;p=c[s+8>>2]|0;q=c[s+12>>2]|0;r=c[s+16>>2]|0;s=c[s+20>>2]|0;if((h|0)<=0)return;t=e+4|0;u=e+8|0;v=e+12|0;if(!w)return;while(1){j=h;h=h+-1|0;k=c[(c[e>>2]|0)+(f<<2)>>2]|0;l=c[(c[t>>2]|0)+(f<<2)>>2]|0;m=c[(c[u>>2]|0)+(f<<2)>>2]|0;n=c[(c[v>>2]|0)+(f<<2)>>2]|0;f=f+1|0;b=c[g>>2]|0;i=0;while(1){x=d[l+i>>0]|0;z=d[m+i>>0]|0;y=~a[k+i>>0]&255;a[b>>0]=a[o+(y-(c[p+(z<<2)>>2]|0))>>0]|0;a[b+1>>0]=a[o+(y-((c[r+(z<<2)>>2]|0)+(c[s+(x<<2)>>2]|0)>>16))>>0]|0;a[b+2>>0]=a[o+(y-(c[q+(x<<2)>>2]|0))>>0]|0;a[b+3>>0]=a[n+i>>0]|0;i=i+1|0;if((i|0)==(w|0))break;else b=b+4|0}if((j|0)<=1)break;else g=g+4|0}return}function Hv(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=c[b+36>>2]|0;m=c[b+112>>2]|0;if((g|0)<=0)return;l=(m|0)==0;if((n|0)<=0)return;while(1){k=g;g=g+-1|0;if(!l){j=0;do{b=0;h=c[(c[d+(j<<2)>>2]|0)+(e<<2)>>2]|0;i=(c[f>>2]|0)+j|0;while(1){a[i>>0]=a[h>>0]|0;b=b+1|0;if((b|0)==(m|0))break;else{h=h+1|0;i=i+n|0}}j=j+1|0}while((j|0)!=(n|0))}if((k|0)<=1)break;else{f=f+4|0;e=e+1|0}}return}function Iv(a){a=a|0;var b=0;b=c[a+476>>2]|0;c[b+36>>2]=0;c[b+44>>2]=c[a+116>>2];return}function Jv(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0;n=yb;yb=yb+16|0;l=n;m=c[a+476>>2]|0;i=m+36|0;if(!(c[i>>2]|0)){j=m+44|0;e=c[j>>2]|0;e=e>>>0<2?e:2;k=c[g>>2]|0;h=h-k|0;e=e>>>0>h>>>0?h:e;c[l>>2]=c[f+(k<<2)>>2];if(e>>>0>1)c[l+4>>2]=c[f+(k+1<<2)>>2];else{c[l+4>>2]=c[m+32>>2];c[i>>2]=1}Vb[c[m+12>>2]&31](a,b,c[d>>2]|0,l);f=(c[i>>2]|0)==0;c[g>>2]=(c[g>>2]|0)+e;c[j>>2]=(c[j>>2]|0)-e;if(!f){yb=n;return}}else{xv(m+32|0,0,f+(c[g>>2]<<2)|0,0,1,c[m+40>>2]|0);c[i>>2]=0;f=m+44|0;c[g>>2]=(c[g>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+-1}c[d>>2]=(c[d>>2]|0)+1;yb=n;return}function Kv(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;w=c[b+476>>2]|0;x=c[b+336>>2]|0;y=c[w+16>>2]|0;u=c[w+20>>2]|0;v=c[w+24>>2]|0;w=c[w+28>>2]|0;i=c[e>>2]|0;h=f<<1;t=c[i+(h<<2)>>2]|0;h=c[i+((h|1)<<2)>>2]|0;i=c[(c[e+4>>2]|0)+(f<<2)>>2]|0;p=c[(c[e+8>>2]|0)+(f<<2)>>2]|0;f=c[g>>2]|0;g=c[g+4>>2]|0;s=b+112|0;e=c[s>>2]|0;m=e>>>1;if(!m){j=p;b=t}else{n=i+m|0;q=e&-2;r=m*6|0;o=h+q|0;l=p;e=t;b=g;j=f;k=m;while(1){A=d[i>>0]|0;B=d[l>>0]|0;C=c[y+(B<<2)>>2]|0;B=(c[v+(B<<2)>>2]|0)+(c[w+(A<<2)>>2]|0)>>16;A=c[u+(A<<2)>>2]|0;z=d[e>>0]|0;a[j>>0]=a[x+(C+z)>>0]|0;a[j+1>>0]=a[x+(B+z)>>0]|0;a[j+2>>0]=a[x+(A+z)>>0]|0;z=d[e+1>>0]|0;a[j+3>>0]=a[x+(C+z)>>0]|0;a[j+4>>0]=a[x+(B+z)>>0]|0;a[j+5>>0]=a[x+(A+z)>>0]|0;z=d[h>>0]|0;a[b>>0]=a[x+(C+z)>>0]|0;a[b+1>>0]=a[x+(B+z)>>0]|0;a[b+2>>0]=a[x+(A+z)>>0]|0;z=d[h+1>>0]|0;a[b+3>>0]=a[x+(C+z)>>0]|0;a[b+4>>0]=a[x+(B+z)>>0]|0;a[b+5>>0]=a[x+(A+z)>>0]|0;k=k+-1|0;if(!k)break;else{l=l+1|0;i=i+1|0;h=h+2|0;e=e+2|0;b=b+6|0;j=j+6|0}}j=p+m|0;i=n;h=o;b=t+q|0;g=g+r|0;f=f+r|0;e=c[s>>2]|0}if(!(e&1))return;B=d[i>>0]|0;A=d[j>>0]|0;z=c[y+(A<<2)>>2]|0;A=(c[v+(A<<2)>>2]|0)+(c[w+(B<<2)>>2]|0)>>16;B=c[u+(B<<2)>>2]|0;C=d[b>>0]|0;a[f>>0]=a[x+(z+C)>>0]|0;a[f+1>>0]=a[x+(A+C)>>0]|0;a[f+2>>0]=a[x+(B+C)>>0]|0;C=d[h>>0]|0;a[g>>0]=a[x+(z+C)>>0]|0;a[g+1>>0]=a[x+(A+C)>>0]|0;a[g+2>>0]=a[x+(B+C)>>0]|0;return}function Lv(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;Vb[c[(c[a+476>>2]|0)+12>>2]&31](a,b,c[d>>2]|0,f+(c[g>>2]<<2)|0);c[g>>2]=(c[g>>2]|0)+1;c[d>>2]=(c[d>>2]|0)+1;return}function Mv(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;s=c[b+476>>2]|0;t=c[b+336>>2]|0;u=c[s+16>>2]|0;q=c[s+20>>2]|0;r=c[s+24>>2]|0;s=c[s+28>>2]|0;p=c[(c[e>>2]|0)+(f<<2)>>2]|0;i=c[(c[e+4>>2]|0)+(f<<2)>>2]|0;h=c[(c[e+8>>2]|0)+(f<<2)>>2]|0;f=c[g>>2]|0;o=b+112|0;e=c[o>>2]|0;l=e>>>1;if(!l){b=i;g=p}else{b=i+l|0;m=e&-2;n=l*6|0;k=h;e=i;g=p;i=f;j=l;while(1){w=d[e>>0]|0;x=d[k>>0]|0;y=c[u+(x<<2)>>2]|0;x=(c[r+(x<<2)>>2]|0)+(c[s+(w<<2)>>2]|0)>>16;w=c[q+(w<<2)>>2]|0;v=d[g>>0]|0;a[i>>0]=a[t+(y+v)>>0]|0;a[i+1>>0]=a[t+(x+v)>>0]|0;a[i+2>>0]=a[t+(w+v)>>0]|0;v=d[g+1>>0]|0;a[i+3>>0]=a[t+(y+v)>>0]|0;a[i+4>>0]=a[t+(x+v)>>0]|0;a[i+5>>0]=a[t+(w+v)>>0]|0;j=j+-1|0;if(!j)break;else{k=k+1|0;e=e+1|0;g=g+2|0;i=i+6|0}}h=h+l|0;g=p+m|0;f=f+n|0;e=c[o>>2]|0}if(!(e&1))return;x=d[b>>0]|0;v=d[h>>0]|0;w=(c[r+(v<<2)>>2]|0)+(c[s+(x<<2)>>2]|0)>>16;x=c[q+(x<<2)>>2]|0;y=d[g>>0]|0;a[f>>0]=a[t+((c[u+(v<<2)>>2]|0)+y)>>0]|0;a[f+1>>0]=a[t+(w+y)>>0]|0;a[f+2>>0]=a[t+(x+y)>>0]|0;return}function Nv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=c[a+484>>2]|0;g=c[f+24>>2]|0;e=a+88|0;if(!(c[e>>2]|0))d=0;else{c[e>>2]=2;d=2}if(!b){c[f+4>>2]=(d|0)==2?20:21;c[f+8>>2]=131;b=c[a+132>>2]|0;if((b|0)>=1){if((b|0)>256){d=c[a>>2]|0;c[d+20>>2]=59;c[d+24>>2]=256;Qb[c[c[a>>2]>>2]&255](a)}}else{d=c[a>>2]|0;c[d+20>>2]=58;c[d+24>>2]=1;Qb[c[c[a>>2]>>2]&255](a)}if((c[e>>2]|0)==2){e=((c[a+112>>2]|0)*6|0)+12|0;d=f+32|0;b=c[d>>2]|0;if(!b){b=Hb[c[(c[a+4>>2]|0)+4>>2]&63](a,1,e)|0;c[d>>2]=b}_O(b|0,0,e|0)|0;if(!(c[f+40>>2]|0))Pv(a);c[f+36>>2]=0}}else{c[f+4>>2]=19;c[f+8>>2]=130;c[f+28>>2]=1}b=f+28|0;if(!(c[b>>2]|0))return;_O(c[g>>2]|0,0,4096)|0;_O(c[g+4>>2]|0,0,4096)|0;_O(c[g+8>>2]|0,0,4096)|0;_O(c[g+12>>2]|0,0,4096)|0;_O(c[g+16>>2]|0,0,4096)|0;_O(c[g+20>>2]|0,0,4096)|0;_O(c[g+24>>2]|0,0,4096)|0;_O(c[g+28>>2]|0,0,4096)|0;_O(c[g+32>>2]|0,0,4096)|0;_O(c[g+36>>2]|0,0,4096)|0;_O(c[g+40>>2]|0,0,4096)|0;_O(c[g+44>>2]|0,0,4096)|0;_O(c[g+48>>2]|0,0,4096)|0;_O(c[g+52>>2]|0,0,4096)|0;_O(c[g+56>>2]|0,0,4096)|0;_O(c[g+60>>2]|0,0,4096)|0;_O(c[g+64>>2]|0,0,4096)|0;_O(c[g+68>>2]|0,0,4096)|0;_O(c[g+72>>2]|0,0,4096)|0;_O(c[g+76>>2]|0,0,4096)|0;_O(c[g+80>>2]|0,0,4096)|0;_O(c[g+84>>2]|0,0,4096)|0;_O(c[g+88>>2]|0,0,4096)|0;_O(c[g+92>>2]|0,0,4096)|0;_O(c[g+96>>2]|0,0,4096)|0;_O(c[g+100>>2]|0,0,4096)|0;_O(c[g+104>>2]|0,0,4096)|0;_O(c[g+108>>2]|0,0,4096)|0;_O(c[g+112>>2]|0,0,4096)|0;_O(c[g+116>>2]|0,0,4096)|0;_O(c[g+120>>2]|0,0,4096)|0;_O(c[g+124>>2]|0,0,4096)|0;c[b>>2]=0;return}function Ov(a){a=a|0;c[(c[a+484>>2]|0)+28>>2]=1;return}function Pv(a){a=a|0;var b=0,d=0,e=0;d=c[a+484>>2]|0;a=Hb[c[c[a+4>>2]>>2]&63](a,1,2044)|0;e=a+1020|0;c[d+40>>2]=e;c[e>>2]=0;c[a+1024>>2]=1;c[a+1016>>2]=-1;c[a+1028>>2]=2;c[a+1012>>2]=-2;c[a+1032>>2]=3;c[a+1008>>2]=-3;c[a+1036>>2]=4;c[a+1004>>2]=-4;c[a+1040>>2]=5;c[a+1e3>>2]=-5;c[a+1044>>2]=6;c[a+996>>2]=-6;c[a+1048>>2]=7;c[a+992>>2]=-7;c[a+1052>>2]=8;c[a+988>>2]=-8;c[a+1056>>2]=9;c[a+984>>2]=-9;c[a+1060>>2]=10;c[a+980>>2]=-10;c[a+1064>>2]=11;c[a+976>>2]=-11;c[a+1068>>2]=12;c[a+972>>2]=-12;c[a+1072>>2]=13;c[a+968>>2]=-13;c[a+1076>>2]=14;c[a+964>>2]=-14;c[a+1080>>2]=15;c[a+960>>2]=-15;a=16;d=16;do{c[e+(a<<2)>>2]=d;c[e+(0-a<<2)>>2]=0-d;a=a+1|0;d=(a&1^1)+d|0}while((a|0)!=48);b=0-d|0;a=48;do{c[e+(a<<2)>>2]=d;c[e+(0-a<<2)>>2]=b;a=a+1|0}while((a|0)!=256);return}function Qv(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;j=c[(c[a+484>>2]|0)+24>>2]|0;i=c[a+112>>2]|0;if((g|0)<1|(i|0)==0)return;a=0;do{f=i;h=c[e+(a<<2)>>2]|0;while(1){k=(c[j+((d[h>>0]|0)>>>3<<2)>>2]|0)+((d[h+1>>0]|0)>>>2<<6)+((d[h+2>>0]|0)>>>3<<1)|0;m=b[k>>1]|0;l=m+1<<16>>16;b[k>>1]=l<<16>>16==0?m:l;f=f+-1|0;if(!f)break;else h=h+3|0}a=a+1|0}while((a|0)!=(g|0));return}function Rv(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0;y=d+484|0;A=c[y>>2]|0;C=d+136|0;c[C>>2]=c[A+16>>2];s=c[A+20>>2]|0;z=Hb[c[c[d+4>>2]>>2]&63](d,1,s<<5)|0;c[z>>2]=0;c[z+4>>2]=31;c[z+8>>2]=0;c[z+12>>2]=63;c[z+16>>2]=0;c[z+20>>2]=31;Wv(d,z);a:do if((s|0)>1){e=1;while(1){if((e<<1|0)>(s|0)){g=0;h=0;i=z;f=0;while(1){j=c[i+24>>2]|0;k=(j|0)>(g|0);f=k?i:f;h=h+1|0;if((h|0)==(e|0)){q=f;break}else{g=k?j:g;i=i+32|0}}}else{f=0;i=0;j=z;g=0;while(1){h=c[j+28>>2]|0;if((h|0)>(f|0)){x=(c[j+24>>2]|0)>0;g=x?j:g;f=x?h:f}i=i+1|0;if((i|0)==(e|0)){q=g;break}else j=j+32|0}}if(!q)break a;r=z+(e<<5)|0;g=q+4|0;c[z+(e<<5)+4>>2]=c[g>>2];h=q+12|0;c[z+(e<<5)+12>>2]=c[h>>2];i=q+20|0;c[z+(e<<5)+20>>2]=c[i>>2];c[r>>2]=c[q>>2];n=q+8|0;f=z+(e<<5)+8|0;c[f>>2]=c[n>>2];p=q+16|0;j=z+(e<<5)+16|0;c[j>>2]=c[p>>2];k=c[g>>2]|0;l=c[q>>2]|0;v=k-l<<4;m=c[h>>2]|0;n=c[n>>2]|0;w=(m-n|0)*12|0;o=c[i>>2]|0;p=c[p>>2]|0;x=(v|0)>(w|0);switch(((o-p<<3|0)>((x?v:w)|0)?2:(x^1)&1)&3){case 0:{t=(l+k|0)/2|0;c[g>>2]=t;f=r;g=t;t=15;break}case 1:{g=(n+m|0)/2|0;c[h>>2]=g;t=15;break}case 2:{g=(p+o|0)/2|0;c[i>>2]=g;f=j;t=15;break}default:{}}if((t|0)==15){t=0;c[f>>2]=g+1}Wv(d,q);Wv(d,r);e=e+1|0;if((e|0)>=(s|0))break a}}else e=1;while(0);x=0;do{r=c[(c[y>>2]|0)+24>>2]|0;j=c[z+(x<<5)>>2]|0;s=c[z+(x<<5)+4>>2]|0;t=c[z+(x<<5)+8>>2]|0;u=c[z+(x<<5)+12>>2]|0;v=c[z+(x<<5)+16>>2]|0;w=c[z+(x<<5)+20>>2]|0;if((j|0)>(s|0)|(t|0)>(u|0)|(v|0)>(w|0)){i=0;h=0;g=0;f=0}else{i=0;h=0;g=0;f=0;while(1){p=c[r+(j<<2)>>2]|0;q=j<<3|4;o=t;while(1){n=o<<2|2;l=p+(o<<6)+(v<<1)|0;m=v;while(1){D=b[l>>1]|0;k=D&65535;if(D<<16>>16){i=(B(m<<3|4,k)|0)+i|0;h=(B(n,k)|0)+h|0;g=(B(q,k)|0)+g|0;f=f+k|0}if((m|0)<(w|0)){l=l+2|0;m=m+1|0}else break}if((o|0)<(u|0))o=o+1|0;else break}if((j|0)<(s|0))j=j+1|0;else break}}D=f>>1;a[(c[c[C>>2]>>2]|0)+x>>0]=(g+D|0)/(f|0)|0;a[(c[(c[C>>2]|0)+4>>2]|0)+x>>0]=(h+D|0)/(f|0)|0;a[(c[(c[C>>2]|0)+8>>2]|0)+x>>0]=(i+D|0)/(f|0)|0;x=x+1|0}while((x|0)<(e|0));c[d+132>>2]=e;D=c[d>>2]|0;c[D+20>>2]=98;c[D+24>>2]=e;Sb[c[(c[d>>2]|0)+4>>2]&63](d,1);c[A+28>>2]=1;return}function Sv(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0;i=c[e+484>>2]|0;U=c[i+24>>2]|0;V=c[e+112>>2]|0;O=c[e+336>>2]|0;P=c[i+40>>2]|0;S=c[e+136>>2]|0;Q=c[S>>2]|0;R=c[S+4>>2]|0;S=c[S+8>>2]|0;if((h|0)<=0)return;T=i+36|0;J=i+32|0;K=(V|0)==0;L=V+-1|0;M=L*3|0;N=(V*3|0)+3|0;I=0;do{k=c[f+(I<<2)>>2]|0;j=c[g+(I<<2)>>2]|0;if(!(c[T>>2]|0)){F=3;G=1;i=c[J>>2]|0;l=1}else{F=-3;G=-1;i=(c[J>>2]|0)+(N<<1)|0;j=j+L|0;k=k+M|0;l=0}c[T>>2]=l;if(K){l=0;k=0;j=0}else{A=F+1|0;C=F+2|0;H=B(V,F)|0;p=0;q=0;w=0;x=0;y=0;l=0;D=0;E=0;z=V;m=0;u=i;while(1){v=u;u=u+(F<<1)|0;r=d[O+((c[P+(m+8+(b[u>>1]|0)>>4<<2)>>2]|0)+(d[k>>0]|0))>>0]|0;s=d[O+((c[P+(p+8+(b[v+(A<<1)>>1]|0)>>4<<2)>>2]|0)+(d[k+1>>0]|0))>>0]|0;t=d[O+((c[P+(q+8+(b[v+(C<<1)>>1]|0)>>4<<2)>>2]|0)+(d[k+2>>0]|0))>>0]|0;n=r>>>3;o=s>>>2;p=t>>>3;q=(c[U+(n<<2)>>2]|0)+(o<<6)+(p<<1)|0;m=b[q>>1]|0;if(!(m<<16>>16)){Vv(e,n,o,p);m=b[q>>1]|0}m=(m&65535)+-1|0;a[j>>0]=m;o=r-(d[Q+m>>0]|0)|0;n=s-(d[R+m>>0]|0)|0;m=t-(d[S+m>>0]|0)|0;b[v>>1]=(o*3|0)+l;l=(o*5|0)+w|0;b[v+2>>1]=(n*3|0)+D;D=(n*5|0)+x|0;b[v+4>>1]=(m*3|0)+E;E=(m*5|0)+y|0;z=z+-1|0;if(!z)break;else{p=n*7|0;q=m*7|0;w=o;x=n;y=m;m=o*7|0;j=j+G|0;k=k+F|0}}k=D;j=E;i=i+(H<<1)|0}b[i>>1]=l;b[i+2>>1]=k;b[i+4>>1]=j;I=I+1|0}while((I|0)!=(h|0));return}function Tv(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=c[(c[e+484>>2]|0)+24>>2]|0;s=c[e+112>>2]|0;if((h|0)<1|(s|0)==0)return;o=0;do{n=s;p=c[g+(o<<2)>>2]|0;q=c[f+(o<<2)>>2]|0;while(1){j=(d[q>>0]|0)>>>3;k=(d[q+1>>0]|0)>>>2;l=(d[q+2>>0]|0)>>>3;m=(c[r+(j<<2)>>2]|0)+(k<<6)+(l<<1)|0;i=b[m>>1]|0;if(!(i<<16>>16)){Vv(e,j,k,l);i=b[m>>1]|0}a[p>>0]=(i&65535)+255;n=n+-1|0;if(!n)break;else{p=p+1|0;q=q+3|0}}o=o+1|0}while((o|0)!=(h|0));return}function Uv(a){a=a|0;return}function Vv(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=yb;yb=yb+1408|0;K=N+384|0;L=N+128|0;i=N;M=c[(c[e+484>>2]|0)+24>>2]|0;n=f>>>2<<5;H=n|4;p=g>>>3<<5;I=p|2;r=h>>>2<<5;J=r|4;x=c[e+132>>2]|0;n=n|28;o=n+H>>1;p=p|30;q=p+I>>1;r=r|28;s=r+J>>1;if((x|0)>0){v=c[e+136>>2]|0;t=c[v>>2]|0;u=c[v+4>>2]|0;v=c[v+8>>2]|0;w=2147483647;m=0;do{j=d[t+m>>0]|0;do if((H|0)<=(j|0)){if((n|0)<(j|0)){G=j-n<<1;l=j-H<<1;l=B(l,l)|0;j=B(G,G)|0;break}if((o|0)<(j|0)){l=j-H<<1;l=B(l,l)|0;j=0;break}else{l=j-n<<1;l=B(l,l)|0;j=0;break}}else{G=j-H<<1;l=j-n<<1;l=B(l,l)|0;j=B(G,G)|0}while(0);k=d[u+m>>0]|0;do if((I|0)<=(k|0)){if((p|0)<(k|0)){G=(k-p|0)*3|0;k=(k-I|0)*3|0;j=(B(G,G)|0)+j|0;k=B(k,k)|0;break}if((q|0)<(k|0)){k=(k-I|0)*3|0;k=B(k,k)|0;break}else{k=(k-p|0)*3|0;k=B(k,k)|0;break}}else{G=(k-I|0)*3|0;k=(k-p|0)*3|0;j=(B(G,G)|0)+j|0;k=B(k,k)|0}while(0);l=k+l|0;k=d[v+m>>0]|0;do if((J|0)<=(k|0)){if((r|0)<(k|0)){G=k-r|0;k=k-J|0;j=(B(G,G)|0)+j|0;k=B(k,k)|0;break}if((s|0)<(k|0)){k=k-J|0;k=B(k,k)|0;break}else{k=k-r|0;k=B(k,k)|0;break}}else{G=k-J|0;k=k-r|0;j=(B(G,G)|0)+j|0;k=B(k,k)|0}while(0);G=l+k|0;c[K+(m<<2)>>2]=j;w=(G|0)<(w|0)?G:w;m=m+1|0}while((m|0)!=(x|0));j=0;k=0;do{if((c[K+(k<<2)>>2]|0)<=(w|0)){a[L+j>>0]=k;j=j+1|0}k=k+1|0}while((k|0)!=(x|0))}else j=0;c[K>>2]=2147483647;c[K+4>>2]=2147483647;c[K+8>>2]=2147483647;c[K+12>>2]=2147483647;c[K+16>>2]=2147483647;c[K+20>>2]=2147483647;c[K+24>>2]=2147483647;c[K+28>>2]=2147483647;c[K+32>>2]=2147483647;c[K+36>>2]=2147483647;c[K+40>>2]=2147483647;c[K+44>>2]=2147483647;c[K+48>>2]=2147483647;c[K+52>>2]=2147483647;c[K+56>>2]=2147483647;c[K+60>>2]=2147483647;c[K+64>>2]=2147483647;c[K+68>>2]=2147483647;c[K+72>>2]=2147483647;c[K+76>>2]=2147483647;c[K+80>>2]=2147483647;c[K+84>>2]=2147483647;c[K+88>>2]=2147483647;c[K+92>>2]=2147483647;c[K+96>>2]=2147483647;c[K+100>>2]=2147483647;c[K+104>>2]=2147483647;c[K+108>>2]=2147483647;c[K+112>>2]=2147483647;c[K+116>>2]=2147483647;c[K+120>>2]=2147483647;c[K+124>>2]=2147483647;c[K+128>>2]=2147483647;c[K+132>>2]=2147483647;c[K+136>>2]=2147483647;c[K+140>>2]=2147483647;c[K+144>>2]=2147483647;c[K+148>>2]=2147483647;c[K+152>>2]=2147483647;c[K+156>>2]=2147483647;c[K+160>>2]=2147483647;c[K+164>>2]=2147483647;c[K+168>>2]=2147483647;c[K+172>>2]=2147483647;c[K+176>>2]=2147483647;c[K+180>>2]=2147483647;c[K+184>>2]=2147483647;c[K+188>>2]=2147483647;c[K+192>>2]=2147483647;c[K+196>>2]=2147483647;c[K+200>>2]=2147483647;c[K+204>>2]=2147483647;c[K+208>>2]=2147483647;c[K+212>>2]=2147483647;c[K+216>>2]=2147483647;c[K+220>>2]=2147483647;c[K+224>>2]=2147483647;c[K+228>>2]=2147483647;c[K+232>>2]=2147483647;c[K+236>>2]=2147483647;c[K+240>>2]=2147483647;c[K+244>>2]=2147483647;c[K+248>>2]=2147483647;c[K+252>>2]=2147483647;c[K+256>>2]=2147483647;c[K+260>>2]=2147483647;c[K+264>>2]=2147483647;c[K+268>>2]=2147483647;c[K+272>>2]=2147483647;c[K+276>>2]=2147483647;c[K+280>>2]=2147483647;c[K+284>>2]=2147483647;c[K+288>>2]=2147483647;c[K+292>>2]=2147483647;c[K+296>>2]=2147483647;c[K+300>>2]=2147483647;c[K+304>>2]=2147483647;c[K+308>>2]=2147483647;c[K+312>>2]=2147483647;c[K+316>>2]=2147483647;c[K+320>>2]=2147483647;c[K+324>>2]=2147483647;c[K+328>>2]=2147483647;c[K+332>>2]=2147483647;c[K+336>>2]=2147483647;c[K+340>>2]=2147483647;c[K+344>>2]=2147483647;c[K+348>>2]=2147483647;c[K+352>>2]=2147483647;c[K+356>>2]=2147483647;c[K+360>>2]=2147483647;c[K+364>>2]=2147483647;c[K+368>>2]=2147483647;c[K+372>>2]=2147483647;c[K+376>>2]=2147483647;c[K+380>>2]=2147483647;c[K+384>>2]=2147483647;c[K+388>>2]=2147483647;c[K+392>>2]=2147483647;c[K+396>>2]=2147483647;c[K+400>>2]=2147483647;c[K+404>>2]=2147483647;c[K+408>>2]=2147483647;c[K+412>>2]=2147483647;c[K+416>>2]=2147483647;c[K+420>>2]=2147483647;c[K+424>>2]=2147483647;c[K+428>>2]=2147483647;c[K+432>>2]=2147483647;c[K+436>>2]=2147483647;c[K+440>>2]=2147483647;c[K+444>>2]=2147483647;c[K+448>>2]=2147483647;c[K+452>>2]=2147483647;c[K+456>>2]=2147483647;c[K+460>>2]=2147483647;c[K+464>>2]=2147483647;c[K+468>>2]=2147483647;c[K+472>>2]=2147483647;c[K+476>>2]=2147483647;c[K+480>>2]=2147483647;c[K+484>>2]=2147483647;c[K+488>>2]=2147483647;c[K+492>>2]=2147483647;c[K+496>>2]=2147483647;c[K+500>>2]=2147483647;c[K+504>>2]=2147483647;c[K+508>>2]=2147483647;if((j|0)>0){v=e+136|0;u=0;do{w=a[L+u>>0]|0;r=w&255;x=c[v>>2]|0;q=H-(d[(c[x>>2]|0)+r>>0]|0)|0;s=q<<1;s=B(s,s)|0;G=I-(d[(c[x+4>>2]|0)+r>>0]|0)|0;z=G*3|0;s=(B(z,z)|0)+s|0;r=J-(d[(c[x+8>>2]|0)+r>>0]|0)|0;G=G*72|0;x=G+144|0;z=r<<4;e=z+64|0;y=z+192|0;z=z+320|0;A=G+432|0;C=G+720|0;D=G+1008|0;E=G+1296|0;F=G+1584|0;G=G+1872|0;p=3;q=(q<<6)+256|0;r=s+(B(r,r)|0)|0;s=i;t=K;while(1){n=t+16|0;if((r|0)<(c[t>>2]|0)){c[t>>2]=r;a[s>>0]=w}k=r+e|0;l=t+4|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+1>>0]=w}k=k+y|0;l=t+8|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+2>>0]=w}k=k+z|0;l=t+12|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+3>>0]=w}m=x+r|0;o=t+32|0;if((m|0)<(c[n>>2]|0)){c[n>>2]=m;a[s+4>>0]=w}k=m+e|0;l=t+20|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+5>>0]=w}k=k+y|0;l=t+24|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+6>>0]=w}k=k+z|0;l=t+28|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+7>>0]=w}m=A+m|0;n=t+48|0;if((m|0)<(c[o>>2]|0)){c[o>>2]=m;a[s+8>>0]=w}k=m+e|0;l=t+36|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+9>>0]=w}k=k+y|0;l=t+40|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+10>>0]=w}k=k+z|0;l=t+44|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+11>>0]=w}m=C+m|0;o=t+64|0;if((m|0)<(c[n>>2]|0)){c[n>>2]=m;a[s+12>>0]=w}k=m+e|0;l=t+52|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+13>>0]=w}k=k+y|0;l=t+56|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+14>>0]=w}k=k+z|0;l=t+60|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+15>>0]=w}m=D+m|0;n=t+80|0;if((m|0)<(c[o>>2]|0)){c[o>>2]=m;a[s+16>>0]=w}k=m+e|0;l=t+68|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+17>>0]=w}k=k+y|0;l=t+72|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+18>>0]=w}k=k+z|0;l=t+76|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+19>>0]=w}m=E+m|0;o=t+96|0;if((m|0)<(c[n>>2]|0)){c[n>>2]=m;a[s+20>>0]=w}k=m+e|0;l=t+84|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+21>>0]=w}k=k+y|0;l=t+88|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+22>>0]=w}k=k+z|0;l=t+92|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+23>>0]=w}m=F+m|0;n=t+112|0;if((m|0)<(c[o>>2]|0)){c[o>>2]=m;a[s+24>>0]=w}k=m+e|0;l=t+100|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+25>>0]=w}k=k+y|0;l=t+104|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+26>>0]=w}k=k+z|0;l=t+108|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+27>>0]=w}k=G+m|0;if((k|0)<(c[n>>2]|0)){c[n>>2]=k;a[s+28>>0]=w}k=k+e|0;l=t+116|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+29>>0]=w}k=k+y|0;l=t+120|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+30>>0]=w}k=k+z|0;l=t+124|0;if((k|0)<(c[l>>2]|0)){c[l>>2]=k;a[s+31>>0]=w}r=r+q|0;if(!p)break;else{p=p+-1|0;q=q+512|0;s=s+32|0;t=t+128|0}}u=u+1|0}while((u|0)!=(j|0))}s=f&-4;t=g&-8;l=h&-4;m=t|1;n=t|2;o=t|3;p=t|4;q=t|5;r=t|6;k=g|7;j=0;while(1){g=M+(j+s<<2)|0;h=c[g>>2]|0;L=h+(t<<6)+(l<<1)|0;b[L>>1]=(d[i>>0]|0)+1;b[L+2>>1]=(d[i+1>>0]|0)+1;b[L+4>>1]=(d[i+2>>0]|0)+1;b[L+6>>1]=(d[i+3>>0]|0)+1;L=h+(m<<6)+(l<<1)|0;b[L>>1]=(d[i+4>>0]|0)+1;b[L+2>>1]=(d[i+5>>0]|0)+1;b[L+4>>1]=(d[i+6>>0]|0)+1;b[L+6>>1]=(d[i+7>>0]|0)+1;L=h+(n<<6)+(l<<1)|0;b[L>>1]=(d[i+8>>0]|0)+1;b[L+2>>1]=(d[i+9>>0]|0)+1;b[L+4>>1]=(d[i+10>>0]|0)+1;b[L+6>>1]=(d[i+11>>0]|0)+1;h=h+(o<<6)+(l<<1)|0;b[h>>1]=(d[i+12>>0]|0)+1;b[h+2>>1]=(d[i+13>>0]|0)+1;b[h+4>>1]=(d[i+14>>0]|0)+1;b[h+6>>1]=(d[i+15>>0]|0)+1;g=c[g>>2]|0;h=g+(p<<6)+(l<<1)|0;b[h>>1]=(d[i+16>>0]|0)+1;b[h+2>>1]=(d[i+17>>0]|0)+1;b[h+4>>1]=(d[i+18>>0]|0)+1;b[h+6>>1]=(d[i+19>>0]|0)+1;h=g+(q<<6)+(l<<1)|0;b[h>>1]=(d[i+20>>0]|0)+1;b[h+2>>1]=(d[i+21>>0]|0)+1;b[h+4>>1]=(d[i+22>>0]|0)+1;b[h+6>>1]=(d[i+23>>0]|0)+1;h=g+(r<<6)+(l<<1)|0;b[h>>1]=(d[i+24>>0]|0)+1;b[h+2>>1]=(d[i+25>>0]|0)+1;b[h+4>>1]=(d[i+26>>0]|0)+1;b[h+6>>1]=(d[i+27>>0]|0)+1;g=g+(k<<6)+(l<<1)|0;b[g>>1]=(d[i+28>>0]|0)+1;b[g+2>>1]=(d[i+29>>0]|0)+1;b[g+4>>1]=(d[i+30>>0]|0)+1;b[g+6>>1]=(d[i+31>>0]|0)+1;j=j+1|0;if((j|0)==4)break;else i=i+32|0}yb=N;return}function Wv(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=c[(c[a+484>>2]|0)+24>>2]|0;h=c[d>>2]|0;j=d+4|0;l=c[j>>2]|0;o=d+8|0;n=c[o>>2]|0;p=d+12|0;m=c[p>>2]|0;q=d+16|0;k=c[q>>2]|0;r=d+20|0;s=c[r>>2]|0;a:do if((l|0)<=(h|0)|(n|0)>(m|0)|(k|0)>(s|0))i=h;else{i=h;b:while(1){g=c[t+(i<<2)>>2]|0;e=n;while(1){a=g+(e<<6)+(k<<1)|0;f=k;while(1){if(b[a>>1]|0)break b;if((f|0)<(s|0)){a=a+2|0;f=f+1|0}else break}if((e|0)<(m|0))e=e+1|0;else break}if((i|0)<(l|0))i=i+1|0;else{i=h;break a}}c[d>>2]=i}while(0);c:do if(!((l|0)<=(i|0)|(n|0)>(m|0)|(k|0)>(s|0))){e=l;d:while(1){h=c[t+(e<<2)>>2]|0;f=n;while(1){a=h+(f<<6)+(k<<1)|0;g=k;while(1){if(b[a>>1]|0)break d;if((g|0)<(s|0)){a=a+2|0;g=g+1|0}else break}if((f|0)<(m|0))f=f+1|0;else break}if((e|0)>(i|0))e=e+-1|0;else break c}c[j>>2]=e;l=e}while(0);e:do if(!((m|0)<=(n|0)|(l|0)<(i|0)|(k|0)>(s|0))){f=n;f:while(1){e=i;while(1){a=(c[t+(e<<2)>>2]|0)+(f<<6)+(k<<1)|0;g=k;while(1){if(b[a>>1]|0)break f;if((g|0)<(s|0)){a=a+2|0;g=g+1|0}else break}if((e|0)<(l|0))e=e+1|0;else break}if((f|0)<(m|0))f=f+1|0;else break e}c[o>>2]=f;n=f}while(0);g:do if(!((m|0)<=(n|0)|(l|0)<(i|0)|(k|0)>(s|0))){f=m;h:while(1){e=i;while(1){a=(c[t+(e<<2)>>2]|0)+(f<<6)+(k<<1)|0;g=k;while(1){if(b[a>>1]|0)break h;if((g|0)<(s|0)){a=a+2|0;g=g+1|0}else break}if((e|0)<(l|0))e=e+1|0;else break}if((f|0)>(n|0))f=f+-1|0;else break g}c[p>>2]=f;m=f}while(0);i:do if(!((s|0)<=(k|0)|(l|0)<(i|0)|(m|0)<(n|0))){f=k;j:while(1){a=i;while(1){e=n;g=(c[t+(a<<2)>>2]|0)+(n<<6)+(f<<1)|0;while(1){if(b[g>>1]|0)break j;if((e|0)<(m|0)){e=e+1|0;g=g+64|0}else break}if((a|0)<(l|0))a=a+1|0;else break}if((f|0)<(s|0))f=f+1|0;else break i}c[q>>2]=f;k=f}while(0);k:do if((s|0)<=(k|0)|(l|0)<(i|0)|(m|0)<(n|0))f=s;else{f=s;l:while(1){a=i;while(1){e=n;g=(c[t+(a<<2)>>2]|0)+(n<<6)+(f<<1)|0;while(1){if(b[g>>1]|0)break l;if((e|0)<(m|0)){e=e+1|0;g=g+64|0}else break}if((a|0)<(l|0))a=a+1|0;else break}if((f|0)>(k|0))f=f+-1|0;else{f=s;break k}}c[r>>2]=f}while(0);r=l-i<<4;q=(m-n|0)*12|0;s=f-k<<3;c[d+24>>2]=(B(q,q)|0)+(B(r,r)|0)+(B(s,s)|0);if((l|0)<(i|0)|(m|0)<(n|0)|(f|0)<(k|0)){t=0;d=d+28|0;c[d>>2]=t;return}a=0;while(1){j=c[t+(i<<2)>>2]|0;h=n;while(1){e=k;g=j+(h<<6)+(k<<1)|0;while(1){a=a+((b[g>>1]|0)!=0&1)|0;if((e|0)>=(f|0))break;else{e=e+1|0;g=g+2|0}}if((h|0)<(m|0))h=h+1|0;else break}if((i|0)<(l|0))i=i+1|0;else break}d=d+28|0;c[d>>2]=a;return}function Xv(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;b=a+484|0;j=c[b>>2]|0;c[a+136>>2]=c[j+16>>2];c[a+132>>2]=c[j+20>>2];switch(c[a+88>>2]|0){case 0:{b=j+4|0;if((c[a+120>>2]|0)==3){c[b>>2]=22;return}else{c[b>>2]=23;return}}case 1:{l=a+120|0;c[j+4>>2]=(c[l>>2]|0)==3?24:25;c[j+48>>2]=0;if(!(c[j+28>>2]|0))_v(a);if(c[j+52>>2]|0)return;j=c[b>>2]|0;b=c[l>>2]|0;if((b|0)<=0)return;k=a+4|0;i=0;do{f=c[j+32+(i<<2)>>2]|0;a:do if(i){e=0;while(1){if((f|0)==(c[j+32+(e<<2)>>2]|0))break;e=e+1|0;if(e>>>0>=i>>>0){m=15;break a}}e=c[j+52+(e<<2)>>2]|0;if(!e)m=15}else m=15;while(0);if((m|0)==15){m=0;e=Hb[c[c[k>>2]>>2]&63](a,1,1024)|0;h=(f<<9)+-512|0;g=0;do{f=0;do{n=255-((d[5440+(g<<4)+f>>0]|0)<<1)|0;b=n*255|0;if((n|0)<0)b=0-((0-b|0)/(h|0)|0)|0;else b=(b|0)/(h|0)|0;c[e+(g<<6)+(f<<2)>>2]=b;f=f+1|0}while((f|0)!=16);g=g+1|0}while((g|0)!=16);b=c[l>>2]|0}c[j+52+(i<<2)>>2]=e;i=i+1|0}while((i|0)<(b|0));return}case 2:{c[j+4>>2]=26;c[j+84>>2]=0;if(!(c[j+68>>2]|0)){b=a+112|0;g=(c[b>>2]<<1)+4|0;h=a+120|0;if((c[h>>2]|0)<=0)return;i=a+4|0;e=0;do{c[j+68+(e<<2)>>2]=Hb[c[(c[i>>2]|0)+4>>2]&63](a,1,g)|0;e=e+1|0;f=c[h>>2]|0}while((e|0)<(f|0))}else{f=a+120|0;h=f;b=a+112|0;f=c[f>>2]|0}e=(c[b>>2]<<1)+4|0;if((f|0)<=0)return;b=0;do{_O(c[j+68+(b<<2)>>2]|0,0,e|0)|0;b=b+1|0}while((b|0)<(c[h>>2]|0));return}default:{n=c[a>>2]|0;c[n+20>>2]=49;Qb[c[n>>2]&255](a);return}}}function Yv(a){a=a|0;return}function Zv(a){a=a|0;var b=0;b=c[a>>2]|0;c[b+20>>2]=47;Qb[c[b>>2]&255](a);return}function _v(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=c[b+484>>2]|0;d=(c[b+88>>2]|0)==1;c[m+28>>2]=d&1;l=b+120|0;e=Ib[c[(c[b+4>>2]|0)+8>>2]&15](b,1,d?766:256,c[l>>2]|0)|0;k=m+24|0;c[k>>2]=e;b=c[m+20>>2]|0;if((c[l>>2]|0)<=0)return;if(!d){d=0;while(1){f=c[m+32+(d<<2)>>2]|0;b=(b|0)/(f|0)|0;h=c[e+(d<<2)>>2]|0;i=f+-1|0;j=i<<1;e=0;f=(f+254|0)/(j|0)|0;g=0;do{if((g|0)>(f|0))do{e=e+1|0;f=(((e<<1|1)*255|0)+i|0)/(j|0)|0}while((g|0)>(f|0));a[h+g>>0]=B(e,b)|0;g=g+1|0}while((g|0)!=256);d=d+1|0;if((d|0)>=(c[l>>2]|0))break;e=c[k>>2]|0}return}d=0;while(1){f=c[m+32+(d<<2)>>2]|0;b=(b|0)/(f|0)|0;j=e+(d<<2)|0;c[j>>2]=(c[j>>2]|0)+255;j=c[(c[k>>2]|0)+(d<<2)>>2]|0;h=f+-1|0;i=h<<1;e=0;f=(f+254|0)/(i|0)|0;g=0;do{if((g|0)>(f|0))do{e=e+1|0;f=(((e<<1|1)*255|0)+h|0)/(i|0)|0}while((g|0)>(f|0));a[j+g>>0]=B(e,b)|0;g=g+1|0}while((g|0)!=256);f=j+255|0;e=1;do{a[j+(0-e)>>0]=a[j>>0]|0;a[j+(e+255)>>0]=a[f>>0]|0;e=e+1|0}while((e|0)!=256);d=d+1|0;if((d|0)>=(c[l>>2]|0))break;e=c[k>>2]|0}return}function $v(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0;m=c[(c[b+484>>2]|0)+24>>2]|0;n=c[m>>2]|0;l=c[m+4>>2]|0;m=c[m+8>>2]|0;k=c[b+112>>2]|0;if((g|0)<1|(k|0)==0)return;h=0;do{b=k;i=c[f+(h<<2)>>2]|0;j=c[e+(h<<2)>>2]|0;while(1){a[i>>0]=(d[l+(d[j+1>>0]|0)>>0]|0)+(d[n+(d[j>>0]|0)>>0]|0)+(d[m+(d[j+2>>0]|0)>>0]|0);b=b+-1|0;if(!b)break;else{i=i+1|0;j=j+3|0}}h=h+1|0}while((h|0)!=(g|0));return}function aw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;o=c[(c[b+484>>2]|0)+24>>2]|0;p=c[b+112>>2]|0;n=c[b+120>>2]|0;if((g|0)<1|(p|0)==0)return;if((n|0)<=0){b=0;do{_O(c[f+(b<<2)>>2]|0,0,p|0)|0;b=b+1|0}while((b|0)!=(g|0));return}i=0;do{h=p;j=c[f+(i<<2)>>2]|0;k=c[e+(i<<2)>>2]|0;while(1){b=0;l=0;m=k;while(1){l=l+(d[(c[o+(b<<2)>>2]|0)+(d[m>>0]|0)>>0]|0)|0;b=b+1|0;if((b|0)==(n|0))break;else m=m+1|0}a[j>>0]=l;h=h+-1|0;if(!h)break;else{j=j+1|0;k=k+n|0}}i=i+1|0}while((i|0)!=(g|0));return}function bw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;h=c[b+484>>2]|0;u=c[h+24>>2]|0;v=c[u>>2]|0;t=c[u+4>>2]|0;u=c[u+8>>2]|0;q=c[b+112>>2]|0;if((g|0)<=0)return;w=h+48|0;r=h+52|0;s=h+56|0;p=h+60|0;b=c[w>>2]|0;if(!q){h=0;do{b=b+1&15;h=h+1|0}while((h|0)!=(g|0));c[w>>2]=b;return}o=0;do{l=c[r>>2]|0;m=c[s>>2]|0;n=c[p>>2]|0;h=q;i=0;j=c[f+(o<<2)>>2]|0;k=c[e+(o<<2)>>2]|0;while(1){a[j>>0]=(d[t+((c[m+(b<<6)+(i<<2)>>2]|0)+(d[k+1>>0]|0))>>0]|0)+(d[v+((c[l+(b<<6)+(i<<2)>>2]|0)+(d[k>>0]|0))>>0]|0)+(d[u+((c[n+(b<<6)+(i<<2)>>2]|0)+(d[k+2>>0]|0))>>0]|0);h=h+-1|0;if(!h)break;else{i=i+1&15;j=j+1|0;k=k+3|0}}b=b+1&15;c[w>>2]=b;o=o+1|0}while((o|0)!=(g|0));return}function cw(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=c[b+484>>2]|0;v=c[b+120>>2]|0;w=c[b+112>>2]|0;if((g|0)<=0)return;t=u+48|0;m=u+24|0;n=(w|0)==0;if((v|0)<=0){b=0;do{_O(c[f+(b<<2)>>2]|0,0,w|0)|0;c[t>>2]=(c[t>>2]|0)+1&15;b=b+1|0}while((b|0)!=(g|0));return}h=0;do{o=f+(h<<2)|0;_O(c[o>>2]|0,0,w|0)|0;p=c[t>>2]|0;q=e+(h<<2)|0;if(!n){i=0;do{r=c[(c[m>>2]|0)+(i<<2)>>2]|0;s=c[u+52+(i<<2)>>2]|0;b=w;j=c[o>>2]|0;k=0;l=(c[q>>2]|0)+i|0;while(1){a[j>>0]=(d[j>>0]|0)+(d[r+((c[s+(p<<6)+(k<<2)>>2]|0)+(d[l>>0]|0))>>0]|0);b=b+-1|0;if(!b)break;else{j=j+1|0;k=k+1&15;l=l+v|0}}i=i+1|0}while((i|0)!=(v|0))}c[t>>2]=p+1&15;h=h+1|0}while((h|0)!=(g|0));return}function dw(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;J=c[e+484>>2]|0;K=c[e+120>>2]|0;L=c[e+112>>2]|0;y=c[e+336>>2]|0;if((h|0)<=0)return;z=(K|0)>0;A=J+84|0;C=J+24|0;D=J+16|0;E=(L|0)==0;F=L+-1|0;G=B(F,K)|0;H=0-K|0;I=L+1|0;x=0;do{v=g+(x<<2)|0;_O(c[v>>2]|0,0,L|0)|0;a:do if(z){w=f+(x<<2)|0;if(E){i=(c[A>>2]|0)==0;e=0;while(1){w=c[J+68+(e<<2)>>2]|0;b[(i?w:w+(I<<1)|0)>>1]=0;e=e+1|0;if((e|0)==(K|0))break a}}r=0;do{e=(c[w>>2]|0)+r|0;i=c[v>>2]|0;if(!(c[A>>2]|0)){s=K;t=1;u=c[J+68+(r<<2)>>2]|0}else{s=H;t=-1;u=(c[J+68+(r<<2)>>2]|0)+(I<<1)|0;e=e+G|0;i=i+F|0}o=c[(c[C>>2]|0)+(r<<2)>>2]|0;p=c[(c[D>>2]|0)+(r<<2)>>2]|0;q=B(L,t)|0;l=0;m=L;n=0;j=0;k=u;while(1){M=k;k=k+(t<<1)|0;N=d[y+((j+8+(b[k>>1]|0)>>4)+(d[e>>0]|0))>>0]|0;j=d[o+N>>0]|0;a[i>>0]=(d[i>>0]|0)+j;j=N-(d[p+j>>0]|0)|0;b[M>>1]=(j*3|0)+n;n=(j*5|0)+l|0;m=m+-1|0;if(!m)break;else{l=j;j=j*7|0;e=e+s|0;i=i+t|0}}b[u+(q<<1)>>1]=n;r=r+1|0}while((r|0)!=(K|0))}while(0);c[A>>2]=(c[A>>2]|0)==0&1;x=x+1|0}while((x|0)!=(h|0));return}function ew(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+428|0;d=c[g>>2]|0;e=B(d,c[a+48>>2]|0)|0;f=c[a+52>>2]|0;do if(e>>>0>f>>>0){if(e>>>0<=f<<1>>>0){c[a+112>>2]=fw(c[a+28>>2]<<1,d)|0;f=2;b=c[a+32>>2]<<1;break}if(e>>>0<=(f*3|0)>>>0){c[a+112>>2]=fw((c[a+28>>2]|0)*3|0,d)|0;f=3;b=(c[a+32>>2]|0)*3|0;break}if(e>>>0<=f<<2>>>0){c[a+112>>2]=fw(c[a+28>>2]<<2,d)|0;f=4;b=c[a+32>>2]<<2;break}if(e>>>0<=(f*5|0)>>>0){c[a+112>>2]=fw((c[a+28>>2]|0)*5|0,d)|0;f=5;b=(c[a+32>>2]|0)*5|0;break}if(e>>>0<=(f*6|0)>>>0){c[a+112>>2]=fw((c[a+28>>2]|0)*6|0,d)|0;f=6;b=(c[a+32>>2]|0)*6|0;break}if(e>>>0<=(f*7|0)>>>0){c[a+112>>2]=fw((c[a+28>>2]|0)*7|0,d)|0;f=7;b=(c[a+32>>2]|0)*7|0;break}if(e>>>0<=f<<3>>>0){c[a+112>>2]=fw(c[a+28>>2]<<3,d)|0;f=8;b=c[a+32>>2]<<3;break}if(e>>>0<=(f*9|0)>>>0){c[a+112>>2]=fw((c[a+28>>2]|0)*9|0,d)|0;f=9;b=(c[a+32>>2]|0)*9|0;break}if(e>>>0<=(f*10|0)>>>0){c[a+112>>2]=fw((c[a+28>>2]|0)*10|0,d)|0;f=10;b=(c[a+32>>2]|0)*10|0;break}if(e>>>0<=(f*11|0)>>>0){c[a+112>>2]=fw((c[a+28>>2]|0)*11|0,d)|0;f=11;b=(c[a+32>>2]|0)*11|0;break}if(e>>>0<=(f*12|0)>>>0){c[a+112>>2]=fw((c[a+28>>2]|0)*12|0,d)|0;f=12;b=(c[a+32>>2]|0)*12|0;break}if(e>>>0<=(f*13|0)>>>0){c[a+112>>2]=fw((c[a+28>>2]|0)*13|0,d)|0;f=13;b=(c[a+32>>2]|0)*13|0;break}if(e>>>0<=(f*14|0)>>>0){c[a+112>>2]=fw((c[a+28>>2]|0)*14|0,d)|0;f=14;b=(c[a+32>>2]|0)*14|0;break}b=c[a+28>>2]|0;if(e>>>0>(f*15|0)>>>0){c[a+112>>2]=fw(b<<4,d)|0;f=16;b=c[a+32>>2]<<4;break}else{c[a+112>>2]=fw(b*15|0,d)|0;f=15;b=(c[a+32>>2]|0)*15|0;break}}else{c[a+112>>2]=fw(c[a+28>>2]|0,d)|0;f=1;b=c[a+32>>2]|0}while(0);c[a+116>>2]=fw(b,c[g>>2]|0)|0;c[a+324>>2]=f;c[a+328>>2]=f;e=c[a+36>>2]|0;if((e|0)<=0)return;d=0;b=c[a+216>>2]|0;while(1){c[b+36>>2]=f;c[b+40>>2]=f;d=d+1|0;if((d|0)>=(e|0))break;else b=b+88|0}return}function fw(a,b){a=a|0;b=b|0;return (a+-1+b|0)/(b|0)|0|0}function gw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=yb;yb=yb+16|0;i=j;e=c[a+20>>2]|0;if((e|0)!=205){h=c[a>>2]|0;c[h+20>>2]=21;c[h+24>>2]=e;Qb[c[c[a>>2]>>2]&255](a)}e=a+140|0;f=c[e>>2]|0;g=c[a+116>>2]|0;if(f>>>0>=g>>>0){i=c[a>>2]|0;c[i+20>>2]=126;Sb[c[i+4>>2]&63](a,-1);i=0;yb=j;return i|0}h=c[a+8>>2]|0;if(h|0){c[h+4>>2]=f;c[h+8>>2]=g;Qb[c[h>>2]&255](a)}c[i>>2]=0;Vb[c[(c[a+448>>2]|0)+4>>2]&31](a,b,i,d);i=c[i>>2]|0;c[e>>2]=(c[e>>2]|0)+i;yb=j;return i|0}function hw(a){a=a|0;a=Hb[c[c[a+4>>2]>>2]&63](a,0,280)|0;c[a+276>>2]=0;return a|0}function iw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=a+24|0;d=c[e>>2]|0;if(!d){f=a+4|0;d=Hb[c[c[f>>2]>>2]&63](a,0,40)|0;c[e>>2]=d;c[d+32>>2]=Hb[c[c[f>>2]>>2]&63](a,0,4096)|0;d=c[e>>2]|0}c[d+8>>2]=132;c[d+12>>2]=85;c[d+16>>2]=51;c[d+20>>2]=47;c[d+24>>2]=133;c[d+28>>2]=b;c[d+4>>2]=0;c[d>>2]=0;return}function jw(a){a=a|0;c[(c[a+24>>2]|0)+36>>2]=1;return}function kw(b){b=b|0;var d=0,e=0,f=0,g=0;e=c[b+24>>2]|0;f=e+32|0;d=eA(c[f>>2]|0,1,4096,c[e+28>>2]|0)|0;g=e+36|0;if(d|0){b=d;f=c[f>>2]|0;c[e>>2]=f;f=e+4|0;c[f>>2]=b;c[g>>2]=0;return 1}if(!(c[g>>2]|0))d=b;else{d=c[b>>2]|0;c[d+20>>2]=43;Qb[c[d>>2]&255](b);d=b}b=c[b>>2]|0;c[b+20>>2]=123;Sb[c[b+4>>2]&63](d,-1);a[c[f>>2]>>0]=-1;a[(c[f>>2]|0)+1>>0]=-39;b=2;f=c[f>>2]|0;c[e>>2]=f;f=e+4|0;c[f>>2]=b;c[g>>2]=0;return 1}function lw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=c[a+24>>2]|0;if((b|0)<=0)return;g=f+4|0;d=c[g>>2]|0;if((d|0)<(b|0)){e=f+12|0;do{b=b-d|0;Eb[c[e>>2]&127](a)|0;d=c[g>>2]|0}while((b|0)>(d|0))}c[f>>2]=(c[f>>2]|0)+b;c[g>>2]=d-b;return}function mw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=a+440|0;g=c[k>>2]|0;h=c[a>>2]|0;c[h+20>>2]=124;c[h+24>>2]=g;c[(c[a>>2]|0)+28>>2]=b;Sb[c[(c[a>>2]|0)+4>>2]&63](a,-1);h=b+1&7|208;i=b+2&7|208;j=b+7&7|208;d=b+6&7|208;b=g;a:while(1){e=(b|0)<192;f=(b&-8|0)!=208|(b|0)==(h|0)|(b|0)==(i|0);g=(b|0)==(j|0)|(b|0)==(d|0)?2:1;b:while(1){l=e?2:f?3:g;m=c[a>>2]|0;c[m+20>>2]=99;c[m+24>>2]=b;c[(c[a>>2]|0)+28>>2]=l;Sb[c[(c[a>>2]|0)+4>>2]&63](a,4);switch(l&3){case 1:{d=4;break a}case 3:{b=1;d=7;break a}case 2:break b;default:{}}}if(!(ow(a)|0)){b=0;d=7;break}b=c[k>>2]|0}if((d|0)==4){c[k>>2]=0;m=1;return m|0}else if((d|0)==7)return b|0;return 0}function nw(a){a=a|0;return}function ow(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=c[b+24>>2]|0;k=j+4|0;i=j+12|0;l=b+464|0;d=c[k>>2]|0;e=c[j>>2]|0;a:while(1){if(!d){if(!(Eb[c[i>>2]&127](b)|0)){d=0;f=21;break}d=c[k>>2]|0;e=c[j>>2]|0}d=d+-1|0;f=e+1|0;if((a[e>>0]|0)==-1)e=f;else{e=f;do{h=(c[l>>2]|0)+24|0;c[h>>2]=(c[h>>2]|0)+1;c[j>>2]=e;c[k>>2]=d;if(!d){if(!(Eb[c[i>>2]&127](b)|0)){d=0;f=21;break a}d=c[k>>2]|0;f=c[j>>2]|0}else f=e;d=d+-1|0;e=f+1|0}while((a[f>>0]|0)!=-1)}do{if(!d){if(!(Eb[c[i>>2]&127](b)|0)){d=0;f=21;break a}d=c[k>>2]|0;f=c[j>>2]|0}else f=e;d=d+-1|0;e=f+1|0;g=a[f>>0]|0}while(g<<24>>24==-1);f=(c[l>>2]|0)+24|0;h=c[f>>2]|0;if(g<<24>>24){f=18;break}c[f>>2]=h+2;c[j>>2]=e;c[k>>2]=d}if((f|0)==18){f=g&255;if(h|0){i=c[b>>2]|0;c[i+20>>2]=119;c[i+24>>2]=h;c[(c[b>>2]|0)+28>>2]=f;Sb[c[(c[b>>2]|0)+4>>2]&63](b,-1);c[(c[l>>2]|0)+24>>2]=0}c[b+440>>2]=f;c[j>>2]=e;c[k>>2]=d;l=1;return l|0}else if((f|0)==21)return d|0;return 0}function pw(a){a=a|0;var b=0,d=0;d=Hb[c[c[a+4>>2]>>2]&63](a,0,172)|0;b=a+464|0;c[b>>2]=d;c[d>>2]=134;c[d+4>>2]=86;c[d+8>>2]=87;c[d+28>>2]=88;c[d+96>>2]=0;c[d+100>>2]=0;c[d+36>>2]=88;c[d+104>>2]=0;c[d+40>>2]=88;c[d+108>>2]=0;c[d+44>>2]=88;c[d+112>>2]=0;c[d+48>>2]=88;c[d+116>>2]=0;c[d+52>>2]=88;c[d+120>>2]=0;c[d+56>>2]=88;c[d+124>>2]=0;c[d+60>>2]=88;c[d+128>>2]=0;c[d+64>>2]=88;c[d+132>>2]=0;c[d+68>>2]=88;c[d+136>>2]=0;c[d+72>>2]=88;c[d+140>>2]=0;c[d+76>>2]=88;c[d+144>>2]=0;c[d+80>>2]=88;c[d+148>>2]=0;c[d+84>>2]=88;c[d+152>>2]=0;c[d+156>>2]=0;c[d+92>>2]=88;c[d+160>>2]=0;c[d+32>>2]=89;c[d+88>>2]=89;b=c[b>>2]|0;c[a+216>>2]=0;c[a+144>>2]=0;c[a+440>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+24>>2]=0;c[b+164>>2]=0;return}function qw(a){a=a|0;var b=0;b=c[a+464>>2]|0;c[a+216>>2]=0;c[a+144>>2]=0;c[a+440>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+24>>2]=0;c[b+164>>2]=0;return} +function lL(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;p=yb;yb=yb+16|0;o=p;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(a[k>>0]|0))break;k=k+1|0}c[j>>2]=h;c[g>>2]=e;m=i;n=b+8|0;while(1){if((h|0)==(i|0)|(e|0)==(f|0)){b=33;break}q=d;l=c[q+4>>2]|0;b=o;c[b>>2]=c[q>>2];c[b+4>>2]=l;b=cz(c[n>>2]|0)|0;l=Pz(h,g,k-e|0,m-h>>2,d)|0;if(b|0)cz(b)|0;if((l|0)==-1){b=10;break}h=(c[j>>2]|0)+(l<<2)|0;c[j>>2]=h;if((h|0)==(i|0)){b=30;break}e=c[g>>2]|0;if((k|0)==(f|0))k=f;else{k=cz(c[n>>2]|0)|0;e=Vy(h,e,1,d)|0;if(k|0)cz(k)|0;if(e|0){e=2;b=29;break}c[j>>2]=(c[j>>2]|0)+4;e=(c[g>>2]|0)+1|0;c[g>>2]=e;k=e;while(1){if((k|0)==(f|0)){k=f;break}if(!(a[k>>0]|0))break;k=k+1|0}h=c[j>>2]|0}}do if((b|0)==10){a:while(1){c[j>>2]=h;if((e|0)==(c[g>>2]|0)){b=19;break}b=cz(c[n>>2]|0)|0;h=Vy(h,e,k-e|0,o)|0;if(b|0)cz(b)|0;switch(h|0){case -1:{b=15;break a}case -2:{b=16;break a}case 0:{h=1;break}default:{}}e=e+h|0;h=(c[j>>2]|0)+4|0}if((b|0)==15){c[g>>2]=e;e=2;b=29;break}else if((b|0)==16){c[g>>2]=e;e=1;b=29;break}else if((b|0)==19){c[g>>2]=e;e=(e|0)!=(f|0)&1;b=29;break}}else if((b|0)==30){e=c[g>>2]|0;b=33}while(0);if((b|0)!=29)if((b|0)==33)e=(e|0)!=(f|0)&1;yb=p;return e|0}function mL(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;i=yb;yb=yb+16|0;h=i;c[g>>2]=e;e=cz(c[b+8>>2]|0)|0;b=Yx(h,0,d)|0;if(e|0)cz(e)|0;a:do if((b+1|0)>>>0>=2){b=b+-1|0;if(b>>>0>(f-(c[g>>2]|0)|0)>>>0)b=1;else while(1){if(!b){b=0;break a}d=a[h>>0]|0;f=c[g>>2]|0;c[g>>2]=f+1;a[f>>0]=d;h=h+1|0;b=b+-1|0}}else b=2;while(0);yb=i;return b|0}function nL(a){a=a|0;var b=0,d=0;a=a+8|0;b=cz(c[a>>2]|0)|0;d=nz(0,0,4)|0;if(b|0)cz(b)|0;if(!d){a=c[a>>2]|0;if(!a)a=1;else{b=cz(a)|0;a=fy()|0;if(b|0)cz(b)|0;return (a|0)==1|0}}else a=-1;return a|0}function oL(a){a=a|0;return 0}function pL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=e;j=a+8|0;h=0;i=0;a:while(1){if((d|0)==(e|0)|h>>>0>=f>>>0)break;g=cz(c[j>>2]|0)|0;a=Oz(d,k-d|0,b)|0;if(g|0)cz(g)|0;switch(a|0){case -2:case -1:break a;case 0:{a=1;break}default:{}}h=h+1|0;i=a+i|0;d=d+a|0}return i|0}function qL(a){a=a|0;var b=0;a=c[a+8>>2]|0;if(a){b=cz(a)|0;a=fy()|0;if(b)cz(b)|0}else a=1;return a|0}function rL(a){a=a|0;var b=0,d=0;c[a>>2]=19168;b=a+8|0;d=c[b>>2]|0;if((d|0)!=(YF()|0))Ty(c[b>>2]|0);AF(a);return}function sL(a){a=a|0;rL(a);QA(a);return}function tL(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=yb;yb=yb+16|0;j=b+4|0;a=b;c[j>>2]=d;c[a>>2]=g;h=CL(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];yb=b;return h|0}function uL(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0;b=yb;yb=yb+16|0;j=b+4|0;a=b;c[j>>2]=d;c[a>>2]=g;h=BL(d,e,j,g,h,a,1114111,0)|0;c[f>>2]=c[j>>2];c[i>>2]=c[a>>2];yb=b;return h|0}function vL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function wL(a){a=a|0;return 0}function xL(a){a=a|0;return 0}function yL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return AL(c,d,e,1114111,0)|0}function zL(a){a=a|0;return 4}function AL(b,c,e,f,g){b=b|0;c=c|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=c;if((((g&4|0)!=0?(o-b|0)>2:0)?(a[b>>0]|0)==-17:0)?(a[b+1>>0]|0)==-69:0)g=(a[b+2>>0]|0)==-65?b+3|0:b;else g=b;h=0;a:while(1){if(!(h>>>0>>0&g>>>0>>0))break;l=a[g>>0]|0;n=l&255;if(n>>>0>f>>>0)break;do if(l<<24>>24<=-1){if((l&255)<194)break a;if((l&255)<224){if((o-g|0)<2)break a;i=d[g+1>>0]|0;if((i&192|0)!=128)break a;if((i&63|n<<6&1984)>>>0>f>>>0)break a;else{g=g+2|0;break}}if((l&255)<240){if((o-g|0)<3)break a;j=a[g+1>>0]|0;i=a[g+2>>0]|0;switch(l<<24>>24){case -32:{if((j&-32)<<24>>24!=-96)break a;break}case -19:{if((j&-32)<<24>>24!=-128)break a;break}default:if((j&-64)<<24>>24!=-128)break a}i=i&255;if((i&192|0)!=128)break a;if(((j&63)<<6|n<<12&61440|i&63)>>>0>f>>>0)break a;else{g=g+3|0;break}}if((l&255)>=245)break a;if((e-h|0)>>>0<2|(o-g|0)<4)break a;m=a[g+1>>0]|0;i=a[g+2>>0]|0;k=a[g+3>>0]|0;switch(l<<24>>24){case -16:{if((m+112&255)>=48)break a;break}case -12:{if((m&-16)<<24>>24!=-128)break a;break}default:if((m&-64)<<24>>24!=-128)break a}j=i&255;if((j&192|0)!=128)break a;i=k&255;if((i&192|0)!=128)break a;if(((m&63)<<12|n<<18&1835008|j<<6&4032|i&63)>>>0>f>>>0)break a;else{h=h+1|0;g=g+4|0}}else g=g+1|0;while(0);h=h+1|0}return g-b|0}function BL(e,f,g,h,i,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0;c[g>>2]=e;c[j>>2]=h;if(l&4){e=c[g>>2]|0;h=f;if((((h-e|0)>2?(a[e>>0]|0)==-17:0)?(a[e+1>>0]|0)==-69:0)?(a[e+2>>0]|0)==-65:0)c[g>>2]=e+3}else h=f;s=i;a:while(1){n=c[g>>2]|0;if(n>>>0>=f>>>0){e=0;break}r=c[j>>2]|0;if(r>>>0>=i>>>0){e=1;break}m=a[n>>0]|0;q=m&255;if(q>>>0>k>>>0){e=2;break}do if(m<<24>>24>-1){b[r>>1]=m&255;e=n+1|0}else{if((m&255)<194){e=2;break a}if((m&255)<224){if((h-n|0)<2){e=1;break a}e=d[n+1>>0]|0;if((e&192|0)!=128){e=2;break a}e=e&63|q<<6&1984;if(e>>>0>k>>>0){e=2;break a}b[r>>1]=e;e=n+2|0;break}if((m&255)<240){if((h-n|0)<3){e=1;break a}l=a[n+1>>0]|0;e=a[n+2>>0]|0;switch(m<<24>>24){case -32:{if((l&-32)<<24>>24!=-96){e=2;break a}break}case -19:{if((l&-32)<<24>>24!=-128){e=2;break a}break}default:if((l&-64)<<24>>24!=-128){e=2;break a}}e=e&255;if((e&192|0)!=128){e=2;break a}e=(l&63)<<6|q<<12|e&63;if((e&65535)>>>0>k>>>0){e=2;break a}b[r>>1]=e;e=n+3|0;break}if((m&255)>=245){e=2;break a}if((h-n|0)<4){e=1;break a}o=a[n+1>>0]|0;e=a[n+2>>0]|0;l=a[n+3>>0]|0;switch(m<<24>>24){case -16:{if((o+112&255)>=48){e=2;break a}break}case -12:{if((o&-16)<<24>>24!=-128){e=2;break a}break}default:if((o&-64)<<24>>24!=-128){e=2;break a}}p=e&255;if((p&192|0)!=128){e=2;break a}e=l&255;if((e&192|0)!=128){e=2;break a}if((s-r|0)<4){e=1;break a}n=q&7;l=o&255;m=p<<6;e=e&63;if((l<<12&258048|n<<18|m&4032|e)>>>0>k>>>0){e=2;break a}b[r>>1]=l<<2&60|p>>>4&3|((l>>>4&3|n<<2)<<6)+16320|55296;r=r+2|0;c[j>>2]=r;b[r>>1]=e|m&960|56320;e=(c[g>>2]|0)+4|0}while(0);c[g>>2]=e;c[j>>2]=(c[j>>2]|0)+2}return e|0}function CL(d,f,g,h,i,j,k,l){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;l=l|0;var m=0,n=0;c[g>>2]=d;c[j>>2]=h;if(l&2)if((i-h|0)<3)d=1;else{c[j>>2]=h+1;a[h>>0]=-17;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-69;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=-65;m=4}else m=4;a:do if((m|0)==4){n=f;d=c[g>>2]|0;while(1){if(d>>>0>=f>>>0){d=0;break a}h=b[d>>1]|0;m=h&65535;if(m>>>0>k>>>0){d=2;break a}do if((h&65535)<128){d=c[j>>2]|0;if((i-d|0)<1){d=1;break a}c[j>>2]=d+1;a[d>>0]=h}else{if((h&65535)<2048){d=c[j>>2]|0;if((i-d|0)<2){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>6|192;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m&63|128;break}if((h&65535)<55296){d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m>>>6&63|128;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m&63|128;break}if((h&65535)>=56320){if((h&65535)<57344){d=2;break a}d=c[j>>2]|0;if((i-d|0)<3){d=1;break a}c[j>>2]=d+1;a[d>>0]=m>>>12|224;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m>>>6&63|128;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m&63|128;break}if((n-d|0)<4){d=1;break a}d=d+2|0;h=e[d>>1]|0;if((h&64512|0)!=56320){d=2;break a}if((i-(c[j>>2]|0)|0)<4){d=1;break a}l=m&960;if(((l<<10)+65536|m<<10&64512|h&1023)>>>0>k>>>0){d=2;break a}c[g>>2]=d;d=(l>>>6)+1|0;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=d>>>2|240;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m>>>2&15|d<<4&48|128;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=m<<4&48|h>>>6&15|128;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=h&63|128}while(0);d=(c[g>>2]|0)+2|0;c[g>>2]=d}}while(0);return d|0}function DL(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;c[a>>2]=19216;e=a+8|0;f=a+12|0;d=0;while(1){b=c[e>>2]|0;if(d>>>0>=(c[f>>2]|0)-b>>2>>>0)break;b=c[b+(d<<2)>>2]|0;if(b|0?(h=b+4|0,g=c[h>>2]|0,c[h>>2]=g+-1,(g|0)==0):0)Qb[c[(c[b>>2]|0)+8>>2]&255](b);d=d+1|0}hO(a+144|0);FL(e);AF(a);return}function EL(a){a=a|0;DL(a);QA(a);return}function FL(b){b=b|0;var d=0,e=0;d=c[b>>2]|0;e=d;do if(d|0){c[b+4>>2]=e;if((d|0)==(b+16|0)){a[b+128>>0]=0;break}else{Nf(d,(c[b+8>>2]|0)-e|0);break}}while(0);return}function GL(b){b=b|0;var d=0;c[b>>2]=19236;d=c[b+8>>2]|0;if(d|0?a[b+12>>0]|0:0)tB(d);AF(b);return}function HL(a){a=a|0;GL(a);QA(a);return}function IL(a,b){a=a|0;b=b|0;if(b<<24>>24>-1)b=c[(RL()|0)+((b&255)<<2)>>2]&255;return b|0}function JL(b,d,e){b=b|0;d=d|0;e=e|0;while(1){if((d|0)==(e|0))break;b=a[d>>0]|0;if(b<<24>>24>-1){b=RL()|0;b=c[b+(a[d>>0]<<2)>>2]&255}a[d>>0]=b;d=d+1|0}return e|0}function KL(a,b){a=a|0;b=b|0;if(b<<24>>24>-1)b=c[(QL()|0)+(b<<24>>24<<2)>>2]&255;return b|0}function LL(b,d,e){b=b|0;d=d|0;e=e|0;while(1){if((d|0)==(e|0))break;b=a[d>>0]|0;if(b<<24>>24>-1){b=QL()|0;b=c[b+(a[d>>0]<<2)>>2]&255}a[d>>0]=b;d=d+1|0}return e|0}function ML(a,b){a=a|0;b=b|0;return b|0}function NL(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;while(1){if((c|0)==(d|0))break;a[e>>0]=a[c>>0]|0;e=e+1|0;c=c+1|0}return d|0}function OL(a,b,c){a=a|0;b=b|0;c=c|0;return (b<<24>>24>-1?b:c)|0}function PL(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;while(1){if((c|0)==(d|0))break;b=a[c>>0]|0;a[f>>0]=b<<24>>24>-1?b:e;f=f+1|0;c=c+1|0}return d|0}function QL(){return c[(hy()|0)>>2]|0}function RL(){return c[(iy()|0)>>2]|0}function SL(){return c[(ey()|0)>>2]|0}function TL(a){a=a|0;c[a>>2]=19288;hO(a+12|0);AF(a);return}function UL(a){a=a|0;TL(a);QA(a);return}function VL(b){b=b|0;return a[b+8>>0]|0}function WL(b){b=b|0;return a[b+9>>0]|0}function XL(a,b){a=a|0;b=b|0;dO(a,b+12|0);return}function YL(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;eO(a,51258,Wf(51258)|0);return}function ZL(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;eO(a,51252,Wf(51252)|0);return}function _L(a){a=a|0;c[a>>2]=19328;hO(a+16|0);AF(a);return}function $L(a){a=a|0;_L(a);QA(a);return}function aM(a){a=a|0;return c[a+8>>2]|0}function bM(a){a=a|0;return c[a+12>>2]|0}function cM(a,b){a=a|0;b=b|0;dO(a,b+16|0);return}function dM(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;rO(a,19384,HI(19384)|0);return}function eM(a,b){a=a|0;b=b|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;rO(a,19360,HI(19360)|0);return}function fM(a){a=a|0;AF(a);QA(a);return}function gM(a){a=a|0;AF(a);QA(a);return}function hM(a,c,d){a=a|0;c=c|0;d=d|0;if(d>>>0<128)a=(b[(SL()|0)+(d<<1)>>1]&c)<<16>>16!=0;else a=0;return a|0}function iM(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;while(1){if((d|0)==(f|0))break;if((c[d>>2]|0)>>>0<128){a=SL()|0;a=e[a+(c[d>>2]<<1)>>1]|0}else a=0;b[g>>1]=a;g=g+2|0;d=d+4|0}return f|0}function jM(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;while(1){if((e|0)==(f|0)){e=f;break}if((c[e>>2]|0)>>>0<128?(a=SL()|0,(b[a+(c[e>>2]<<1)>>1]&d)<<16>>16):0)break;e=e+4|0}return e|0}function kM(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;while(1){if((e|0)==(f|0)){e=f;break}if((c[e>>2]|0)>>>0>=128)break;a=SL()|0;if(!((b[a+(c[e>>2]<<1)>>1]&d)<<16>>16))break;e=e+4|0}return e|0}function lM(a,b){a=a|0;b=b|0;if(b>>>0<128)b=c[(RL()|0)+(b<<2)>>2]|0;return b|0}function mM(a,b,d){a=a|0;b=b|0;d=d|0;while(1){if((b|0)==(d|0))break;a=c[b>>2]|0;if(a>>>0<128){a=RL()|0;a=c[a+(c[b>>2]<<2)>>2]|0}c[b>>2]=a;b=b+4|0}return d|0}function nM(a,b){a=a|0;b=b|0;if(b>>>0<128)b=c[(QL()|0)+(b<<2)>>2]|0;return b|0}function oM(a,b,d){a=a|0;b=b|0;d=d|0;while(1){if((b|0)==(d|0))break;a=c[b>>2]|0;if(a>>>0<128){a=QL()|0;a=c[a+(c[b>>2]<<2)>>2]|0}c[b>>2]=a;b=b+4|0}return d|0}function pM(a,b){a=a|0;b=b|0;return b<<24>>24|0}function qM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;while(1){if((d|0)==(e|0))break;c[f>>2]=a[d>>0];f=f+4|0;d=d+1|0}return e|0}function rM(a,b,c){a=a|0;b=b|0;c=c|0;return (b>>>0<128?b&255:c)|0}function sM(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=(e-d|0)>>>2;b=g;g=d;while(1){if((g|0)==(e|0))break;i=c[g>>2]|0;a[b>>0]=i>>>0<128?i&255:f;b=b+1|0;g=g+4|0}return d+(h<<2)|0}function tM(a){a=a|0;AF(a);QA(a);return}function uM(a){a=a|0;AF(a);QA(a);return}function vM(a){a=a|0;AF(a);QA(a);return}function wM(a){a=a|0;c[a>>2]=19644;return}function xM(a){a=a|0;c[a>>2]=19680;return}function yM(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;c[b+4>>2]=f+-1;c[b>>2]=19236;f=b+8|0;c[f>>2]=d;a[b+12>>0]=e&1;if(!d)c[f>>2]=SL()|0;return}function zM(a,b){a=a|0;b=b|0;var d=0;c[a+4>>2]=b+-1;c[a>>2]=19216;b=a+8|0;AM(b,28);d=a+144|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;eO(d,49197,Wf(49197)|0);c[a+12>>2]=c[b>>2];BM();CM(a,54968);DM();EM(a,54976);FM();GM(a,54984);HM();IM(a,55e3);JM();KM(a,55008);LM();MM(a,55016);NM();OM(a,55032);PM();QM(a,55040);RM();SM(a,55048);TM();UM(a,55072);VM();WM(a,55104);XM();YM(a,55112);ZM();_M(a,55120);$M();aN(a,55128);bN();cN(a,55136);dN();eN(a,55144);fN();gN(a,55152);hN();iN(a,55160);jN();kN(a,55168);lN();mN(a,55176);nN();oN(a,55184);pN();qN(a,55192);rN();sN(a,55200);tN();uN(a,55216);vN();wN(a,55232);xN();yN(a,55248);zN();AN(a,55264);BN();CN(a,55272);return}function AM(b,d){b=b|0;d=d|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a[b+128>>0]=0;if(d|0){PN(b,d);GN(b,d)}return}function BM(){c[13743]=0;c[13742]=17072;return}function CM(a,b){a=a|0;b=b|0;DN(a,b,_F(56720)|0);return}function DM(){c[13745]=0;c[13744]=17104;return}function EM(a,b){a=a|0;b=b|0;DN(a,b,_F(56728)|0);return}function FM(){yM(54984,0,0,1);return}function GM(a,b){a=a|0;b=b|0;DN(a,b,_F(56736)|0);return}function HM(){c[13751]=0;c[13750]=19432;return}function IM(a,b){a=a|0;b=b|0;DN(a,b,_F(56768)|0);return}function JM(){c[13753]=0;c[13752]=19500;return}function KM(a,b){a=a|0;b=b|0;DN(a,b,_F(57040)|0);return}function LM(){ON(55016,1);return}function MM(a,b){a=a|0;b=b|0;DN(a,b,_F(57048)|0);return}function NM(){c[13759]=0;c[13758]=19548;return}function OM(a,b){a=a|0;b=b|0;DN(a,b,_F(57056)|0);return}function PM(){c[13761]=0;c[13760]=19596;return}function QM(a,b){a=a|0;b=b|0;DN(a,b,_F(57064)|0);return}function RM(){NN(55048,1);return}function SM(a,b){a=a|0;b=b|0;DN(a,b,_F(56752)|0);return}function TM(){MN(55072,1);return}function UM(a,b){a=a|0;b=b|0;DN(a,b,_F(56776)|0);return}function VM(){c[13777]=0;c[13776]=17136;return}function WM(a,b){a=a|0;b=b|0;DN(a,b,_F(56760)|0);return}function XM(){c[13779]=0;c[13778]=17200;return}function YM(a,b){a=a|0;b=b|0;DN(a,b,_F(56784)|0);return}function ZM(){c[13781]=0;c[13780]=17264;return}function _M(a,b){a=a|0;b=b|0;DN(a,b,_F(56792)|0);return}function $M(){c[13783]=0;c[13782]=17316;return}function aN(a,b){a=a|0;b=b|0;DN(a,b,_F(56800)|0);return}function bN(){c[13785]=0;c[13784]=18672;return}function cN(a,b){a=a|0;b=b|0;DN(a,b,_F(56960)|0);return}function dN(){c[13787]=0;c[13786]=18728;return}function eN(a,b){a=a|0;b=b|0;DN(a,b,_F(56968)|0);return}function fN(){c[13789]=0;c[13788]=18784;return}function gN(a,b){a=a|0;b=b|0;DN(a,b,_F(56976)|0);return}function hN(){c[13791]=0;c[13790]=18840;return}function iN(a,b){a=a|0;b=b|0;DN(a,b,_F(56984)|0);return}function jN(){c[13793]=0;c[13792]=18896;return}function kN(a,b){a=a|0;b=b|0;DN(a,b,_F(56992)|0);return}function lN(){c[13795]=0;c[13794]=18924;return}function mN(a,b){a=a|0;b=b|0;DN(a,b,_F(57e3)|0);return}function nN(){c[13797]=0;c[13796]=18952;return}function oN(a,b){a=a|0;b=b|0;DN(a,b,_F(57008)|0);return}function pN(){c[13799]=0;c[13798]=18980;return}function qN(a,b){a=a|0;b=b|0;DN(a,b,_F(57016)|0);return}function rN(){c[13801]=0;c[13800]=19412;wM(55208);c[13800]=17368;c[13802]=17416;return}function sN(a,b){a=a|0;b=b|0;DN(a,b,_F(56868)|0);return}function tN(){c[13805]=0;c[13804]=19412;xM(55224);c[13804]=17452;c[13806]=17500;return}function uN(a,b){a=a|0;b=b|0;DN(a,b,_F(56936)|0);return}function vN(){c[13809]=0;c[13808]=19412;c[13810]=YF()|0;c[13808]=18624;return}function wN(a,b){a=a|0;b=b|0;DN(a,b,_F(56944)|0);return}function xN(){c[13813]=0;c[13812]=19412;c[13814]=YF()|0;c[13812]=18648;return}function yN(a,b){a=a|0;b=b|0;DN(a,b,_F(56952)|0);return}function zN(){c[13817]=0;c[13816]=19008;return}function AN(a,b){a=a|0;b=b|0;DN(a,b,_F(57024)|0);return}function BN(){c[13819]=0;c[13818]=19040;return}function CN(a,b){a=a|0;b=b|0;DN(a,b,_F(57032)|0);return}function DN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=b+4|0;c[f>>2]=(c[f>>2]|0)+1;f=a+8|0;e=c[f>>2]|0;if((c[a+12>>2]|0)-e>>2>>>0>d>>>0)a=f;else{EN(f,d+1|0);a=f;e=c[f>>2]|0}e=c[e+(d<<2)>>2]|0;if(e|0?(g=e+4|0,f=c[g>>2]|0,c[g>>2]=f+-1,(f|0)==0):0)Qb[c[(c[e>>2]|0)+8>>2]&255](e);c[(c[a>>2]|0)+(d<<2)>>2]=b;return}function EN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=a+4|0;f=c[a>>2]|0;e=(c[d>>2]|0)-f>>2;if(e>>>0>=b>>>0){if(e>>>0>b>>>0)c[d>>2]=f+(b<<2)}else FN(a,b-e|0);return}function FN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=yb;yb=yb+32|0;f=i;g=a+8|0;h=a+4|0;d=c[h>>2]|0;do if((c[g>>2]|0)-d>>2>>>0>>0){d=(d-(c[a>>2]|0)>>2)+b|0;e=HN(a)|0;if(e>>>0>>0)CO(a);else{j=c[a>>2]|0;k=(c[g>>2]|0)-j|0;g=k>>1;IN(f,k>>2>>>0>>1>>>0?(g>>>0>>0?d:g):e,(c[h>>2]|0)-j>>2,a+16|0);JN(f,b);KN(a,f);LN(f);break}}else GN(a,b);while(0);yb=i;return}function GN(a,b){a=a|0;b=b|0;var d=0;d=a+4|0;a=b;b=c[d>>2]|0;do{c[b>>2]=0;b=(c[d>>2]|0)+4|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function HN(a){a=a|0;return 1073741823}function IN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=b+12|0;c[h>>2]=0;c[b+16>>2]=f;do if(d){g=f+112|0;if(d>>>0<29&(a[g>>0]|0)==0){a[g>>0]=1;break}else{f=rB(d<<2)|0;break}}else f=0;while(0);c[b>>2]=f;e=f+(e<<2)|0;c[b+8>>2]=e;c[b+4>>2]=e;c[h>>2]=f+(d<<2);return}function JN(a,b){a=a|0;b=b|0;var d=0;d=a+8|0;a=b;b=c[d>>2]|0;do{c[b>>2]=0;b=(c[d>>2]|0)+4|0;c[d>>2]=b;a=a+-1|0}while((a|0)!=0);return}function KN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=c[a>>2]|0;h=a+4|0;g=b+4|0;f=(c[h>>2]|0)-e|0;d=(c[g>>2]|0)+(0-(f>>2)<<2)|0;c[g>>2]=d;if((f|0)>0){YO(d|0,e|0,f|0)|0;e=g;d=c[g>>2]|0}else e=g;g=c[a>>2]|0;c[a>>2]=d;c[e>>2]=g;g=b+8|0;f=c[h>>2]|0;c[h>>2]=c[g>>2];c[g>>2]=f;g=a+8|0;h=b+12|0;a=c[g>>2]|0;c[g>>2]=c[h>>2];c[h>>2]=a;c[b>>2]=c[e>>2];return}function LN(b){b=b|0;var d=0,e=0,f=0,g=0;d=c[b+4>>2]|0;e=b+8|0;f=c[e>>2]|0;while(1){if((f|0)==(d|0))break;g=f+-4|0;c[e>>2]=g;f=g}e=c[b>>2]|0;f=e;do if(e|0){d=c[b+16>>2]|0;if((e|0)==(d|0)){a[d+112>>0]=0;break}else{Nf(e,(c[b+12>>2]|0)-f|0);break}}while(0);return}function MN(a,b){a=a|0;b=b|0;c[a+4>>2]=b+-1;c[a>>2]=19328;c[a+8>>2]=46;c[a+12>>2]=44;b=a+16|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a=0;while(1){if((a|0)==3)break;c[b+(a<<2)>>2]=0;a=a+1|0}return}function NN(b,d){b=b|0;d=d|0;c[b+4>>2]=d+-1;c[b>>2]=19288;a[b+8>>0]=46;a[b+9>>0]=44;d=b+12|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;b=0;while(1){if((b|0)==3)break;c[d+(b<<2)>>2]=0;b=b+1|0}return}function ON(a,b){a=a|0;b=b|0;c[a+4>>2]=b+-1;c[a>>2]=19168;c[a+8>>2]=YF()|0;return}function PN(b,d){b=b|0;d=d|0;var e=0;if((HN(b)|0)>>>0>>0)CO(b);e=b+128|0;if(d>>>0<29&(a[e>>0]|0)==0){a[e>>0]=1;e=b+16|0}else e=rB(d<<2)|0;c[b+4>>2]=e;c[b>>2]=e;c[b+8>>2]=e+(d<<2);return}function QN(){if((a[55280]|0)==0?lB(55280)|0:0){RN()|0;c[14269]=57072;nB(55280)}return c[14269]|0}function RN(){SN();c[14268]=55288;return 57072}function SN(){zM(55288,1);return}function TN(){UN(57080,QN()|0);return 57080}function UN(a,b){a=a|0;b=b|0;b=c[b>>2]|0;c[a>>2]=b;b=b+4|0;c[b>>2]=(c[b>>2]|0)+1;return}function VN(){if((a[55448]|0)==0?lB(55448)|0:0){TN()|0;c[14271]=57080;nB(55448)}return c[14271]|0}function WN(a){a=a|0;var b=0;b=c[(VN()|0)>>2]|0;c[a>>2]=b;a=b+4|0;c[a>>2]=(c[a>>2]|0)+1;return}function XN(a){a=a|0;return}function YN(a){a=a|0;var b=0,d=0;b=a+8|0;if(!((c[b>>2]|0)!=0?(d=c[b>>2]|0,c[b>>2]=d+-1,(d|0)!=0):0))Qb[c[(c[a>>2]|0)+16>>2]&255](a);return}function ZN(a,b,d){a=a|0;b=b|0;d=d|0;do{}while((c[a>>2]|0)==1);if(!(c[a>>2]|0)){c[a>>2]=1;Qb[d&255](b);c[a>>2]=-1}return}function _N(){ua()}function $N(a,b){a=a|0;b=b|0;var d=0,e=0;e=Oy(b)|0;d=rB(e+13|0)|0;c[d>>2]=e;c[d+4>>2]=e;c[d+8>>2]=0;d=aO(d)|0;YO(d|0,b|0,e+1|0)|0;c[a>>2]=d;return}function aO(a){a=a|0;return a+12|0}function bO(a,b){a=a|0;b=b|0;c[a>>2]=16372;$N(a+4|0,b);return}function cO(a){a=a|0;ua()}function dO(b,d){b=b|0;d=d|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if((a[d+11>>0]|0)<0)eO(b,c[d>>2]|0,c[d+4>>2]|0);else{c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2]}return}function eO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=yb;yb=yb+16|0;f=g;if(e>>>0>4294967279)cO(b);if(e>>>0<11)a[b+11>>0]=e;else{i=e+16&-16;h=rB(i)|0;c[b>>2]=h;c[b+8>>2]=i|-2147483648;c[b+4>>2]=e;b=h}TD(b,d,e)|0;a[f>>0]=0;$f(b+e|0,f);yb=g;return}function fO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=yb;yb=yb+16|0;f=g;if(d>>>0>4294967279)cO(b);if(d>>>0<11)a[b+11>>0]=d;else{i=d+16&-16;h=rB(i)|0;c[b>>2]=h;c[b+8>>2]=i|-2147483648;c[b+4>>2]=d;b=h}gO(b,d,e)|0;a[f>>0]=0;$f(b+d|0,f);yb=g;return}function gO(a,b,c){a=a|0;b=b|0;c=c|0;if(b|0)_O(a|0,(ag(c)|0)&255|0,b|0)|0;return a|0}function hO(b){b=b|0;if((a[b+11>>0]|0)<0)Nf(c[b>>2]|0,c[b+8>>2]&2147483647);return}function iO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=yb;yb=yb+16|0;i=k;j=b+11|0;f=a[j>>0]|0;g=f<<24>>24<0;if(g)h=(c[b+8>>2]&2147483647)+-1|0;else h=10;do if(h>>>0>=e>>>0){if(g)f=c[b>>2]|0;else f=b;jO(f,d,e)|0;a[i>>0]=0;$f(f+e|0,i);if((a[j>>0]|0)<0){c[b+4>>2]=e;break}else{a[j>>0]=e;break}}else{if(g)f=c[b+4>>2]|0;else f=f&255;kO(b,h,e-h|0,f,0,f,e,d)}while(0);yb=k;return b|0}function jO(a,b,c){a=a|0;b=b|0;c=c|0;if(c|0)ZO(a|0,b|0,c|0)|0;return a|0}function kO(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;o=yb;yb=yb+16|0;n=o;if((-18-d|0)>>>0>>0)cO(b);if((a[b+11>>0]|0)<0)m=c[b>>2]|0;else m=b;if(d>>>0<2147483623){k=e+d|0;l=d<<1;k=k>>>0>>0?l:k;k=k>>>0<11?11:k+16&-16}else k=-17;l=rB(k)|0;if(g|0)TD(l,m,g)|0;if(i|0)TD(l+g|0,j,i)|0;f=f-h|0;e=f-g|0;if(e|0)TD(l+g+i|0,m+g+h|0,e)|0;e=d+1|0;if((e|0)!=11)Nf(m,e);c[b>>2]=l;c[b+8>>2]=k|-2147483648;i=f+i|0;c[b+4>>2]=i;a[n>>0]=0;$f(l+i|0,n);yb=o;return}function lO(a,b){a=a|0;b=b|0;return iO(a,b,Wf(b)|0)|0}function mO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=yb;yb=yb+16|0;g=j;h=b+11|0;f=a[h>>0]|0;i=f<<24>>24<0;if(i)f=c[b+4>>2]|0;else f=f&255;do if(f>>>0>=d>>>0)if(i){i=(c[b>>2]|0)+d|0;a[g>>0]=0;$f(i,g);c[b+4>>2]=d;break}else{a[g>>0]=0;$f(b+d|0,g);a[h>>0]=d;break}else nO(b,d-f|0,e)|0;while(0);yb=j;return}function nO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=yb;yb=yb+16|0;i=k;if(d|0){j=b+11|0;f=a[j>>0]|0;if(f<<24>>24<0){h=c[b+4>>2]|0;g=(c[b+8>>2]&2147483647)+-1|0}else{h=f&255;g=10}if((g-h|0)>>>0>>0){oO(b,g,h+d-g|0,h,h,0,0);f=a[j>>0]|0}if(f<<24>>24<0)g=c[b>>2]|0;else g=b;gO(g+h|0,d,e)|0;f=h+d|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;$f(g+f|0,i)}yb=k;return b|0}function oO(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0;if((-17-d|0)>>>0>>0)cO(b);if((a[b+11>>0]|0)<0)l=c[b>>2]|0;else l=b;if(d>>>0<2147483623){j=e+d|0;k=d<<1;j=j>>>0>>0?k:j;j=j>>>0<11?11:j+16&-16}else j=-17;k=rB(j)|0;if(g|0)TD(k,l,g)|0;e=f-h-g|0;if(e|0)TD(k+g+i|0,l+g+h|0,e)|0;e=d+1|0;if((e|0)!=11)Nf(l,e);c[b>>2]=k;c[b+8>>2]=j|-2147483648;return}function pO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=yb;yb=yb+16|0;i=k;j=b+11|0;f=a[j>>0]|0;g=f<<24>>24<0;if(g){h=c[b+4>>2]|0;f=(c[b+8>>2]&2147483647)+-1|0}else{h=f&255;f=10}if((f-h|0)>>>0>=e>>>0){if(e|0){if(g)g=c[b>>2]|0;else g=b;TD(g+h|0,d,e)|0;f=h+e|0;if((a[j>>0]|0)<0)c[b+4>>2]=f;else a[j>>0]=f;a[i>>0]=0;$f(g+f|0,i)}}else kO(b,f,h+e-f|0,h,h,0,e,d);yb=k;return b|0}function qO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=yb;yb=yb+16|0;h=j;i=j+1|0;a[h>>0]=d;g=b+11|0;d=a[g>>0]|0;e=d<<24>>24<0;if(e){f=c[b+4>>2]|0;d=(c[b+8>>2]&2147483647)+-1|0}else{f=d&255;d=10}if((f|0)==(d|0)){oO(b,d,1,d,d,0,0);if((a[g>>0]|0)<0)e=8;else e=7}else if(e)e=8;else e=7;if((e|0)==7){a[g>>0]=f+1;d=b}else if((e|0)==8){d=c[b>>2]|0;c[b+4>>2]=f+1}b=d+f|0;$f(b,h);a[i>>0]=0;$f(b+1|0,i);yb=j;return}function rO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=yb;yb=yb+16|0;h=i;if(e>>>0>1073741807)cO(b);do if(e>>>0>=2){g=e+4&-4;if(g>>>0>1073741823)ua();else{f=rB(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=e;break}}else{a[b+8+3>>0]=e;f=b}while(0);iE(f,d,e)|0;c[h>>2]=0;HF(f+(e<<2)|0,h);yb=i;return}function sO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=yb;yb=yb+16|0;h=i;if(d>>>0>1073741807)cO(b);do if(d>>>0>=2){g=d+4&-4;if(g>>>0>1073741823)ua();else{f=rB(g<<2)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=d;break}}else{a[b+8+3>>0]=d;f=b}while(0);tO(f,d,e)|0;c[h>>2]=0;HF(f+(d<<2)|0,h);yb=i;return}function tO(a,b,c){a=a|0;b=b|0;c=c|0;if(b)sA(a,c,b)|0;return a|0}function uO(b){b=b|0;var d=0;d=b+8|0;if((a[d+3>>0]|0)<0)Nf(c[b>>2]|0,c[d>>2]<<2);return}function vO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=yb;yb=yb+16|0;j=l;f=b+8|0;k=f+3|0;h=a[k>>0]|0;i=h<<24>>24<0;if(i)g=(c[f>>2]&2147483647)+-1|0;else g=1;do if(g>>>0>=e>>>0){if(i)f=c[b>>2]|0;else f=b;wO(f,d,e)|0;c[j>>2]=0;HF(f+(e<<2)|0,j);if((a[k>>0]|0)<0){c[b+4>>2]=e;break}else{a[k>>0]=e;break}}else{if(i)f=c[b+4>>2]|0;else f=h&255;xO(b,g,e-g|0,f,0,f,e,d)}while(0);yb=l;return b|0}function wO(a,b,c){a=a|0;b=b|0;c=c|0;if(c)tA(a,b,c)|0;return a|0}function xO(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;p=yb;yb=yb+16|0;o=p;if((1073741806-d|0)>>>0>>0)cO(b);l=b+8|0;if((a[l+3>>0]|0)<0)n=c[b>>2]|0;else n=b;if(d>>>0<536870887){e=e+d|0;k=d<<1;e=e>>>0>>0?k:e;e=e>>>0<2?2:e+4&-4;if(e>>>0>1073741823)ua();else m=e}else m=1073741807;k=rB(m<<2)|0;if(g|0)iE(k,n,g)|0;if(i|0)iE(k+(g<<2)|0,j,i)|0;f=f-h|0;e=f-g|0;if(e|0)iE(k+(g<<2)+(i<<2)|0,n+(g<<2)+(h<<2)|0,e)|0;e=d+1|0;if((e|0)!=2)Nf(n,e<<2);c[b>>2]=k;c[l>>2]=m|-2147483648;i=f+i|0;c[b+4>>2]=i;c[o>>2]=0;HF(k+(i<<2)|0,o);yb=p;return}function yO(a,b){a=a|0;b=b|0;return vO(a,b,HI(b)|0)|0}function zO(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0;if((1073741807-d|0)>>>0>>0)cO(b);m=b+8|0;if((a[m+3>>0]|0)<0)l=c[b>>2]|0;else l=b;if(d>>>0<536870887){e=e+d|0;j=d<<1;e=e>>>0>>0?j:e;e=e>>>0<2?2:e+4&-4;if(e>>>0>1073741823)ua();else k=e}else k=1073741807;j=rB(k<<2)|0;if(g|0)iE(j,l,g)|0;e=f-h-g|0;if(e|0)iE(j+(g<<2)+(i<<2)|0,l+(g<<2)+(h<<2)|0,e)|0;e=d+1|0;if((e|0)!=2)Nf(l,e<<2);c[b>>2]=j;c[m>>2]=k|-2147483648;return}function AO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=yb;yb=yb+16|0;j=l;g=b+8|0;k=g+3|0;f=a[k>>0]|0;i=f<<24>>24<0;if(i){h=c[b+4>>2]|0;f=(c[g>>2]&2147483647)+-1|0}else{h=f&255;f=1}if((f-h|0)>>>0>=e>>>0){if(e|0){if(i)g=c[b>>2]|0;else g=b;iE(g+(h<<2)|0,d,e)|0;f=h+e|0;if((a[k>>0]|0)<0)c[b+4>>2]=f;else a[k>>0]=f;c[j>>2]=0;HF(g+(f<<2)|0,j)}}else xO(b,f,h+e-f|0,h,h,0,e,d);yb=l;return b|0}function BO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=yb;yb=yb+16|0;i=k;j=k+4|0;c[i>>2]=d;e=b+8|0;h=e+3|0;d=a[h>>0]|0;f=d<<24>>24<0;if(f){g=c[b+4>>2]|0;d=(c[e>>2]&2147483647)+-1|0}else{g=d&255;d=1}if((g|0)==(d|0)){zO(b,d,1,d,d,0,0);if((a[h>>0]|0)<0)e=8;else e=7}else if(f)e=8;else e=7;if((e|0)==7){a[h>>0]=g+1;d=b}else if((e|0)==8){d=c[b>>2]|0;c[b+4>>2]=g+1}b=d+(g<<2)|0;HF(b,i);c[j>>2]=0;HF(b+4|0,j);yb=k;return}function CO(a){a=a|0;ua()}function DO(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=yb;yb=yb+16|0;n=w;do if(a>>>0<245){k=a>>>0<11?16:a+11&-8;a=k>>>3;m=c[14291]|0;d=m>>>a;if(d&3|0){b=(d&1^1)+a|0;a=57204+(b<<1<<2)|0;d=a+8|0;e=c[d>>2]|0;f=e+8|0;g=c[f>>2]|0;if((g|0)==(a|0))c[14291]=m&~(1<>2]=a;c[d>>2]=g}v=b<<3;c[e+4>>2]=v|3;v=e+v+4|0;c[v>>2]=c[v>>2]|1;v=f;yb=w;return v|0}l=c[14293]|0;if(k>>>0>l>>>0){if(d|0){b=2<>>12&16;b=b>>>i;d=b>>>5&8;b=b>>>d;g=b>>>2&4;b=b>>>g;a=b>>>1&2;b=b>>>a;e=b>>>1&1;e=(d|i|g|a|e)+(b>>>e)|0;b=57204+(e<<1<<2)|0;a=b+8|0;g=c[a>>2]|0;i=g+8|0;d=c[i>>2]|0;if((d|0)==(b|0)){a=m&~(1<>2]=b;c[a>>2]=d;a=m}v=e<<3;h=v-k|0;c[g+4>>2]=k|3;f=g+k|0;c[f+4>>2]=h|1;c[g+v>>2]=h;if(l|0){e=c[14296]|0;b=l>>>3;d=57204+(b<<1<<2)|0;b=1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[14293]=h;c[14296]=f;v=i;yb=w;return v|0}g=c[14292]|0;if(g){d=(g&0-g)+-1|0;f=d>>>12&16;d=d>>>f;e=d>>>5&8;d=d>>>e;h=d>>>2&4;d=d>>>h;i=d>>>1&2;d=d>>>i;j=d>>>1&1;j=c[57468+((e|f|h|i|j)+(d>>>j)<<2)>>2]|0;d=j;i=j;j=(c[j+4>>2]&-8)-k|0;while(1){a=c[d+16>>2]|0;if(!a){a=c[d+20>>2]|0;if(!a)break}h=(c[a+4>>2]&-8)-k|0;f=h>>>0>>0;d=a;i=f?a:i;j=f?h:j}h=i+k|0;if(h>>>0>i>>>0){f=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){d=0;break}}while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);do if(f|0){b=c[i+28>>2]|0;a=57468+(b<<2)|0;if((i|0)==(c[a>>2]|0)){c[a>>2]=d;if(!d){c[14292]=g&~(1<>2]|0)==(i|0)?v:f+20|0)>>2]=d;if(!d)break}c[d+24>>2]=f;b=c[i+16>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}b=c[i+20>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}while(0);if(j>>>0<16){v=j+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[h+4>>2]=j|1;c[h+j>>2]=j;if(l|0){e=c[14296]|0;b=l>>>3;d=57204+(b<<1<<2)|0;b=1<>2]|0}c[a>>2]=e;c[b+12>>2]=e;c[e+8>>2]=b;c[e+12>>2]=d}c[14293]=j;c[14296]=h}v=i+8|0;yb=w;return v|0}else m=k}else m=k}else m=k}else if(a>>>0<=4294967231){a=a+11|0;k=a&-8;e=c[14292]|0;if(e){f=0-k|0;a=a>>>8;if(a)if(k>>>0>16777215)j=31;else{m=(a+1048320|0)>>>16&8;q=a<>>16&4;q=q<>>16&2;j=14-(i|m|j)+(q<>>15)|0;j=k>>>(j+7|0)&1|j<<1}else j=0;d=c[57468+(j<<2)>>2]|0;a:do if(!d){d=0;a=0;q=61}else{a=0;i=k<<((j|0)==31?0:25-(j>>>1)|0);g=0;while(1){h=(c[d+4>>2]&-8)-k|0;if(h>>>0>>0)if(!h){a=d;f=0;q=65;break a}else{a=d;f=h}q=c[d+20>>2]|0;d=c[d+16+(i>>>31<<2)>>2]|0;g=(q|0)==0|(q|0)==(d|0)?g:q;if(!d){d=g;q=61;break}else i=i<<1}}while(0);if((q|0)==61){if((d|0)==0&(a|0)==0){a=2<>>12&16;m=m>>>h;g=m>>>5&8;m=m>>>g;i=m>>>2&4;m=m>>>i;j=m>>>1&2;m=m>>>j;d=m>>>1&1;a=0;d=c[57468+((g|h|i|j|d)+(m>>>d)<<2)>>2]|0}if(!d){i=a;h=f}else q=65}if((q|0)==65){g=d;while(1){m=(c[g+4>>2]&-8)-k|0;d=m>>>0>>0;f=d?m:f;a=d?g:a;d=c[g+16>>2]|0;if(!d)d=c[g+20>>2]|0;if(!d){i=a;h=f;break}else g=d}}if(((i|0)!=0?h>>>0<((c[14293]|0)-k|0)>>>0:0)?(l=i+k|0,l>>>0>i>>>0):0){g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+20|0;b=c[a>>2]|0;if(!b){a=i+16|0;b=c[a>>2]|0;if(!b){b=0;break}}while(1){f=b+20|0;d=c[f>>2]|0;if(!d){f=b+16|0;d=c[f>>2]|0;if(!d)break;else{b=d;a=f}}else{b=d;a=f}}c[a>>2]=0}else{v=c[i+8>>2]|0;c[v+12>>2]=b;c[b+8>>2]=v}while(0);do if(g){a=c[i+28>>2]|0;d=57468+(a<<2)|0;if((i|0)==(c[d>>2]|0)){c[d>>2]=b;if(!b){e=e&~(1<>2]|0)==(i|0)?v:g+20|0)>>2]=b;if(!b)break}c[b+24>>2]=g;a=c[i+16>>2]|0;if(a|0){c[b+16>>2]=a;c[a+24>>2]=b}a=c[i+20>>2]|0;if(a){c[b+20>>2]=a;c[a+24>>2]=b}}while(0);b:do if(h>>>0<16){v=h+k|0;c[i+4>>2]=v|3;v=i+v+4|0;c[v>>2]=c[v>>2]|1}else{c[i+4>>2]=k|3;c[l+4>>2]=h|1;c[l+h>>2]=h;b=h>>>3;if(h>>>0<256){d=57204+(b<<1<<2)|0;a=c[14291]|0;b=1<>2]|0}c[a>>2]=l;c[b+12>>2]=l;c[l+8>>2]=b;c[l+12>>2]=d;break}b=h>>>8;if(b)if(h>>>0>16777215)d=31;else{u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;d=14-(t|u|d)+(v<>>15)|0;d=h>>>(d+7|0)&1|d<<1}else d=0;b=57468+(d<<2)|0;c[l+28>>2]=d;a=l+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break}b=c[b>>2]|0;c:do if((c[b+4>>2]&-8|0)!=(h|0)){e=h<<((d|0)==31?0:25-(d>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(h|0)){b=a;break c}else{e=e<<1;b=a}}c[d>>2]=l;c[l+24>>2]=b;c[l+12>>2]=l;c[l+8>>2]=l;break b}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=l;c[u>>2]=l;c[l+8>>2]=v;c[l+12>>2]=b;c[l+24>>2]=0}while(0);v=i+8|0;yb=w;return v|0}else m=k}else m=k}else m=-1;while(0);d=c[14293]|0;if(d>>>0>=m>>>0){b=d-m|0;a=c[14296]|0;if(b>>>0>15){v=a+m|0;c[14296]=v;c[14293]=b;c[v+4>>2]=b|1;c[a+d>>2]=b;c[a+4>>2]=m|3}else{c[14293]=0;c[14296]=0;c[a+4>>2]=d|3;v=a+d+4|0;c[v>>2]=c[v>>2]|1}v=a+8|0;yb=w;return v|0}h=c[14294]|0;if(h>>>0>m>>>0){t=h-m|0;c[14294]=t;v=c[14297]|0;u=v+m|0;c[14297]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;yb=w;return v|0}if(!(c[14409]|0)){c[14411]=4096;c[14410]=4096;c[14412]=-1;c[14413]=-1;c[14414]=0;c[14402]=0;c[14409]=n&-16^1431655768;a=4096}else a=c[14411]|0;i=m+48|0;j=m+47|0;g=a+j|0;f=0-a|0;k=g&f;if(k>>>0<=m>>>0){v=0;yb=w;return v|0}a=c[14401]|0;if(a|0?(l=c[14399]|0,n=l+k|0,n>>>0<=l>>>0|n>>>0>a>>>0):0){v=0;yb=w;return v|0}d:do if(!(c[14402]&4)){d=c[14297]|0;e:do if(d){e=57612;while(1){n=c[e>>2]|0;if(n>>>0<=d>>>0?(n+(c[e+4>>2]|0)|0)>>>0>d>>>0:0)break;a=c[e+8>>2]|0;if(!a){q=128;break e}else e=a}b=g-h&f;if(b>>>0<2147483647){a=JO(b)|0;if((a|0)==((c[e>>2]|0)+(c[e+4>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;q=145;break d}}else{e=a;q=136}}else b=0}else q=128;while(0);do if((q|0)==128){d=JO(0)|0;if((d|0)!=(-1|0)?(b=d,o=c[14410]|0,p=o+-1|0,b=((p&b|0)==0?0:(p+b&0-o)-b|0)+k|0,o=c[14399]|0,p=b+o|0,b>>>0>m>>>0&b>>>0<2147483647):0){n=c[14401]|0;if(n|0?p>>>0<=o>>>0|p>>>0>n>>>0:0){b=0;break}a=JO(b)|0;if((a|0)==(d|0)){h=b;g=d;q=145;break d}else{e=a;q=136}}else b=0}while(0);do if((q|0)==136){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;q=145;break d}a=c[14411]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;q=145;break d}if((JO(a)|0)==(-1|0)){JO(d)|0;b=0;break}else{h=a+b|0;g=e;q=145;break d}}while(0);c[14402]=c[14402]|4;q=143}else{b=0;q=143}while(0);if(((q|0)==143?k>>>0<2147483647:0)?(t=JO(k)|0,p=JO(0)|0,r=p-t|0,s=r>>>0>(m+40|0)>>>0,!((t|0)==(-1|0)|s^1|t>>>0
    &780}2sw@mF;$vv`bM?#_ZAqPAj;+CY+ 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 literal 0 HcmV?d00001 diff --git a/jsartoolkit5/examples/Data/camera_para-iPhone 5 rear 640x480 1.0m.dat b/jsartoolkit5/examples/Data/camera_para-iPhone 5 rear 640x480 1.0m.dat new file mode 100644 index 0000000000000000000000000000000000000000..67102ed20b19768d6cb9d3df802da1ae3a9bae42 GIT binary patch literal 176 zcmZQzU}|7sV0_@v%=IRE*%faFC~zn-*IEGMAkhv@U$o2JPyTnv-JEd%NgSPN{{dCR zerIyj1EA3U?Nf~ofatgzq6t9SKD6n&0+4oSs&<3WsRj=~e5m~}d+guy&9+*?uLl4< C86+YA literal 0 HcmV?d00001 diff --git a/jsartoolkit5/examples/Data/camera_para.dat b/jsartoolkit5/examples/Data/camera_para.dat new file mode 100755 index 0000000000000000000000000000000000000000..67102ed20b19768d6cb9d3df802da1ae3a9bae42 GIT binary patch literal 176 zcmZQzU}|7sV0_@v%=IRE*%faFC~zn-*IEGMAkhv@U$o2JPyTnv-JEd%NgSPN{{dCR zerIyj1EA3U?Nf~ofatgzq6t9SKD6n&0+4oSs&<3WsRj=~e5m~}d+guy&9+*?uLl4< C86+YA literal 0 HcmV?d00001 diff --git a/jsartoolkit5/examples/Data/chalk.jpg b/jsartoolkit5/examples/Data/chalk.jpg new file mode 100644 index 0000000000000000000000000000000000000000..82d7fe03a19cfcea10d87d3e744ec03972bb8316 GIT binary patch literal 63068 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

    Q;6ef}wp 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�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 literal 0 HcmV?d00001 diff --git a/jsartoolkit5/examples/Data/chalk_multi.jpg b/jsartoolkit5/examples/Data/chalk_multi.jpg new file mode 100644 index 0000000000000000000000000000000000000000..4b2d55ab8deda29ed65e4bd2c919e8cb8b455477 GIT binary patch literal 114797 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 ~TKFRgtE#i8*7d&ziFl0#07 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%0Ag%l%u^8fttdofN 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

    fnGJu7}q4CB>?bt-C zPO*X@%-bsOfg^?=sI*ZMniWlBwkl@*3ulM5v|$;-0rFa14{Q4jlNKE0zddGNB?FqnoR7?(KrzqY5k-@mA2;YE6-WK^%?PO6W=Ww1p zL_|7IMwD_L3_V{DHJUgT3Q2m4n&^+I*7#(QJ1WY|-cG-Fgf<}^-gP;-!60KG4N*ki zx5huy$yDjB^usx+dja-M*;>~SF^Yd?B8bie47Xx ztwDPluOs?MK%l!9?fA47nZ10nC{*!f;&~!#cP#funzwRL(SH#S`_h>jHo*TF%bCGfWc9#b=F$HdpIeMj z)yCQHwK3qQln(p=d*-Z>BA-K)dY~Rqn^MUqVcPfNTfmXMqbP&tujZf{ydX*q!d|*h zrp2VZFtEQ5?X6RS^}8lJ zjbC|6_>Qq3()Ev2Dc6#PV3*?XzGBrH@sKN#u!3fV@Mh&km+*eVNX zwHk!i48TtRh%&$M2aOmncsDujs7n`Fdp;o6o+biOEbuSRhsmhj>==|I8ADo_B)&lG zr`X4YKSkecxaXpIegf$}MyMgiu@J@a!NBrtnjbDG(ec~DU&6o+vBNLL2_cDVO{wrq z0={Vi#t6el8DOaNV`t}}@p94%+^Syhf7At+5`LzB`$6Qx${VBFk~sY*ktrqd1d?dz zDx=3w_?gj0g+Ix%<*UgMf!UFzMN5)H=vNye{NJhO_Wa3ijKY8UCG|_lU0ag}4JbE2IgRewh@mu>y_C6N zDK~{Ek4GjgLpm?pHBac7o4+*k3vs@@N~*xH_9v!%sb|_q&3w?`eCg->+L>fIrbI=p z0wtAX6=GEd%K{xH8V%$m?d1Z)Fe;nWf)Aey%`G$aEDF^V3vG`-S%ujdJQw~crBEL# zJk%(1v&_mRSal#iy$ruaZ`vM_K$Nb!LpQ3 zJdRCSF3HM;me3!U26YrIuEPF_bMEIzE@yw-ROcmIi8+wYKKc z`Iq%Jmvu4aU2m895dAy4R=)nNe3;|kZfbcPM|ts4`E(fFMQ(W=U&SKR$DvZKQBcLd zgDeok3ZC1F-DBDw>Pjz-%46b!IKRrSmdZ;3%`+{vHR7uKFx(qru+>s8^*;qsl~y8E(;AYd$PWb?v|bu=ziCba8;!vYV+Iv^ z+KrZJC}w5xRxge5_N0BFMmy~$(OKdSnIobqhL$Q3a-CF3rku{W_XofcMIoBOTHCuP8y|;c5CJcK~h?4 zDY&&bh`LG;{0`CymjyR#S2uk~ZCL?})_@m|!97-3jaGz}f^F3+?mJ;^qq0~5s)Uf0 zwjr?55mWm-GZrI4+5)(pOtzf`t9@0l9XTj%OS=Q38-oVEW1qRhr5^hj+;JMN21I%8 zyiKb;Bf+@P?!3}QDkxYgR(zj z3w7hZ@)L!3lcLt6G<1`Z_Qdbg#4`8LrPEM&w9vQp48-(gjP$TuH;^X+2}padwDCS$ z_nr!3^OyH-Goybw?VYg#h_dtzF~dlt_i;ub$gKA9_x34}_A3kZ|J3PM^XS(|@7HSU z*IDh?d+paJ9WWFcFxD9`^%yWuAFym2uwEUoeI2kPg*XU7{^&rQJRmOV5Vtmn$13C> v$@-8E`UwpN=nMvV42Gl+hP4ewtPV!K4#toU#R&~1=nN%!4CxR90fPSvdSrgr literal 0 HcmV?d00001 diff --git a/jsartoolkit5/examples/Data/models/Flamingo.glb b/jsartoolkit5/examples/Data/models/Flamingo.glb new file mode 100644 index 0000000000000000000000000000000000000000..662e68eb93362eea942c732907cf2245d49ab9a9 GIT binary patch literal 77428 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 literal 0 HcmV?d00001 diff --git a/jsartoolkit5/examples/Data/multi-barcode-4x3.dat b/jsartoolkit5/examples/Data/multi-barcode-4x3.dat new file mode 100644 index 0000000..263f2c4 --- /dev/null +++ b/jsartoolkit5/examples/Data/multi-barcode-4x3.dat @@ -0,0 +1,73 @@ +12 + +00 +40.0 +1.0 0.0 0.0 -105.00 +0.0 1.0 0.0 70 +0.0 0.0 1.0 0.0 + +01 +40.0 +1.0 0.0 0.0 -35.00 +0.0 1.0 0.0 70 +0.0 0.0 1.0 0.0 + +02 +40.0 +1.0 0.0 0.0 35.00 +0.0 1.0 0.0 70 +0.0 0.0 1.0 0.0 + +03 +40.0 +1.0 0.0 0.0 105.00 +0.0 1.0 0.0 70 +0.0 0.0 1.0 0.0 + +04 +40.0 +1.0 0.0 0.0 -105.00 +0.0 1.0 0.0 0 +0.0 0.0 1.0 0.0 + +05 +40.0 +1.0 0.0 0.0 -35.00 +0.0 1.0 0.0 0 +0.0 0.0 1.0 0.0 + +06 +40.0 +1.0 0.0 0.0 35.00 +0.0 1.0 0.0 0 +0.0 0.0 1.0 0.0 + +07 +40.0 +1.0 0.0 0.0 105.00 +0.0 1.0 0.0 0 +0.0 0.0 1.0 0.0 + +08 +40.0 +1.0 0.0 0.0 -105.00 +0.0 1.0 0.0 -70 +0.0 0.0 1.0 0.0 + +09 +40.0 +1.0 0.0 0.0 -35.00 +0.0 1.0 0.0 -70 +0.0 0.0 1.0 0.0 + +10 +40.0 +1.0 0.0 0.0 35.00 +0.0 1.0 0.0 -70 +0.0 0.0 1.0 0.0 + +11 +40.0 +1.0 0.0 0.0 105.00 +0.0 1.0 0.0 -70 +0.0 0.0 1.0 0.0 \ No newline at end of file diff --git a/jsartoolkit5/examples/Data/multi.mov b/jsartoolkit5/examples/Data/multi.mov new file mode 100644 index 0000000000000000000000000000000000000000..7e69bf96c9e7906ac9b30dc48d899fb0b1d9590a GIT binary patch literal 2695116 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

    T*v^l+-u)+LRjWx|q$& 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⋙k5uC4~DU-I)gsK=00r+?_0m*rZ} zp5Wk?iXguaBeqPgXhiQhd+$0tQ?3LB^6%3ju=(h|Mnm1fJQ1@a2R1UT#c6pL8CEFIK6g!&O95}2us~a*Wuey4aQc^?4S#Ox#0E^&gYK$rhjaL$#!CS! zuMqBmhdPawYqt3aMc4dSDqBZE1{Rc;G~;cLON$cr=Zq`2VA+RTuqojH_k{rSl0}>UC476`>z)&L zbPTL0HmvUL|Is=pM`Nv~Ae&Z+1AVa^!-%`@#zgF<5vrLi;=7IWsWZGac<;mCDm^!! zG_$yYclPq$Yu|^bOogaU?VDd_hv2lNKUMel^Y({GhmzV0AGf8+0BvG<(qpkHv{gw% z<-5r7p)yGcHZz5{jtX@RSTLb%L}l`_I;UL~e!4Suf?##sl^1$J<804s1yFeLwaCDS zd6b}s>A+sP5fWxEh|SpE-5`v7#~JInd)%#GM!K;1pwN^G%v z)^_l`GxVn+Eo$q zctILb81@zya%w6}9wFQ1#j+s}}nDt2fB^r~|kzqP^?u{&|l3p#H z1OSN1IgEe|em)D-ig1E)$Tv)kly-Ts?1%g{3z*GkP#zPHo;Q3{*0oW8yd@$S=zBfZ zfpSlD1>|;8iFG)UBKqz5e+7b373TG}!1_H%4C0b+SUtYA1|+vCR5Tbx#WDmBkK~!t z$Zb#&FZj;sz0wZdTD&%hRJA8N(ZQDeNJ5bQGwO@Cyd(&W$q$Jqvuxgf@f4BG_f>t= zhty6@XnmHWDji3=P}}~$l%slq8I=@|eaH+Nga_FOf?RbUJ= z+gM_SSCKln8T-BcG9EdH-%r^|ib>bONY?wxYJnICy^Y8*u^UAnX5hukp=r^^3)H!^ zR%e_zvsadsMGp#XPbzh4AskhMjcn4eOFss z5YsVX0P#z?tBj(Yn&G{-W4_#KzoXz(=w>;n8>%;qbvCDLavTz7YJb{F2mMvPf}e#; zD6Zh?10STmCqrEGqUR`ge^hJyGkD1{KilY!q1ZFCSB2Pk>vsOE$H1LC=xuD@$&5IW zJCNyYQ@hSDZl8Fn?FCSF8SaBSGqqs$5><4N4}QG5%@2vWOj%S0jj9BkQxeJ?hg8}1 zQ`bv|Bg`f;?8}l?yFg8!;@m=9qye0)UFzS>g(p>4UtEC({6T7)wG{*I=L~Ub>S_rJ zfL^x?OQxj=N`FU%3oJKDNh!NOkUM|Bh?9`t9%M{=_Lj~hE+Z2zVO6Lo03UkcXYtjx z7^oR_?Ug(c)V>k8U&qkZ3!_ndU~YDUKXj{khYgfa0?wOflQlGrgJKe_Bi}y*qR^1% zO(fhpEx{gP!lLiUE~($o<*Gb%&mF{=;FTkwXf1EfE$ZNYrr6?aT4M^>;gYW_t$$1o zd%7tJwPCw~znWzxXw~N&ec$P@O^xzyx-eVwm?-GYb93^HJeerrb=hNQMwvH-=W&dW z0WwIg~g(#Oa@jYbN;o8 zL>ixLYNdF@?O+H&?noT5JtE7C$GhcgjLZ4ZLZa`>_o?1iZ5HBo)XO*E6+lNm+c4g1 z5jShllik@ILo4JNCA3s4XnVxok%?!&mH@HBg~-8oLq_GgCWK={o$DLZh?8L|)tYh> zOt>`uq2)EJntGcMa&!uPok1Br-cDc2f#Iwm3CR)t-sAEb2@6+>ld@fu;X+Hu^72>cZY?9L&8UlD*g41E!O}n$Z>Ga@6}n}C)rQDC8x9Ch$Y;-E=#PfY`tWU>q4<~uaB^7Q1O0q!sA=UgMMl~7fbq#&UcNxe!^CGjN? zFEY42G=rgV&5mivwW;qy7^~zec;=(-b+&h3yY(-7D zT;Mkx%FqubTW(EMB!hn#;$(8pJ5qED5k=WAU*I^KfcA*91+k;9fg6T>|Hsm~{TkZX zarbT!KBcC0npkC?`ozLs>bxdI=W)q5qY;L0g4>~Gft5@u{1v`^z(fzZz9@f<-c2{d zyGJrq1Ux>zO3zi^y!^bVjSQmYLN1Th5Yd7Fj2bo4VJ~84-3d2&=Fqp#;LR+gGy3Dv zmUoIqee_3GV%!+4%iI^h7!nZ*04Ms4yI!~GLVy6t?alXmwet?+dR5fv`91S}bkM9& z{@V8l$?BtpDnwKg%YisANXaHk`A`2;IyWc}(#uu68i6Wo?@OAiiFWH_dfz?0i3a;0 z_s=BB(W&~1Ns<}}7TBM~M5^7jQt*?i_%7;kM|hl^$GF~z;>_7SPtraboKSTGPo0$U z&Ujb8F-?&CGyO62N&y8=CYdJLw)p~AW{yNwQ6R;rS&wKmw|7Xvj-OoLgN@$|?smHL zS@IK#8_%3HucM0xIfB@J;OO5ZS&GJu9#v2dvPHtuN2ZtsKVp&R^Eep40^2|QBa`>Q zD5d1bYi&cBNgLeuTi%eGfiZARp4z;J_6%BC^_S&Nh%TeahA?r3>Ug3*UZ}vgi4-9o z?l1_B4bG~USnjlN`*n#@vG?FiDCu$VT}-F%2-e=OIiU50IQ(!g1|lt8Iu!>ilf#hE zYMoH%gsvMw15$mo!6&<+tNzd4ip`J)O#^hjK*pnXUS=DUr`q}VysWJAlXR}r=0yXRyKC_YyUH=0Q;fM9>d$%_grppLEBDbUIk)pvyrbV?>e zPMr`tgG5^>yoMIkFn4;ixhmbv9HgwR3A%(Scp<>oMwZvKaP6zdL zLrxv9y`!WB@W}4X`uILqu#yJpsu-HAzqM*y>;%2Z_dC}(ms3bRkFvYj|B2Hl=T`3s z6cK~;6nP8UQ@;j%(_w{TzTLoXQ+up5(sH?H`&$NLf%b$=3#niJvaln4?lURn&RclW z<@XEGJ3Nv-is4AH5a`z89p?AMC4TUk-{ajy2(deI#d)Veb7i61EoMV6=Uy+0-y=-U zl@6G?%}Yg3`8v;oepyxU2;IU}n00b=8ZM8+q0FirfKVEt-p3x~e`T9mAAOqbFeAos+(-SJTQG5T2|M=_35U8dL*FBeAwHp)UQn>u#Ik~D!dE#{eMot3EdYTXyW5aeA!`>qz;Q&n0UrP)JeA|hQ2by zgi!>tEgiQ=3|mqSu?lnh8pyAyw@zRI35=A3KKb zy>;-|zs;zv_KCLud_-BiLT~+GlE4pygYX#vib{;oFb-4Q-UJ~Ra7^;SYHEJnI{1-5 z(?!ox({J%?i}A5PAfr0^SzSxqO&;Ng^KCPpNi^wt{aibYcY2&9>aq)Dd~CH3#tEiu zEOa)0KMNI1XuFEE+lfQs%~&VKb4GasR(;?ahqfo95=&2hEF;85ktA8(XXJGvXBQ$g zxNjH^r&HCoxat#_L^Lrj?iH_`xo(0pXt4nXM@!?o+hk&pNJd>#L!}~MKPYojDM=QU zAo#0e%G7H&JL|Y5*f0tLB3HUH#lY&FNY~Cy1%j%&VVOHclx%?ygIH@J&Z~5mtw=-0 z_d@2USvMBos`Fm+e)Xd_C8k%tf?jE65rQMtYwb((Lflq)RIy2?W^2B?FtokiV)a*# zz!OLDQtp9Rm{UQ|-OT4SfK=ZXBW09=V@kse~8th1Wx5vNPL8z@v*c>AaQ zdWpW@dBkb>Q>@NT)wovbb{Wz&(vjzs$<>h=tB)uzjln{EdaT}D+s;H$0)ClgGKfPh zZP;{_5IgAv@umX`469F$^OLvF;9sZe8j}PuVv>JQ#(oG{$_b0EzZ>NtBCZ^U*tOvE zUu6ZUBpjI$7s;eFn*LX|#)KRJ#M$CKlD!HwC47^$TPEaPGmJQ#cD<8aRPw54nT^FjsRc5hSHFEJu zoTcSPzn^iWrRcsMx+=pm&#(3MIia+g`d+8vF)L_pOr&%{WP6zaIbt_8#?!f&D{1f# znYk$~4@n3czwo{&3$2D;PWsCQFy=(+TfZKeu&=@eQ+`}06D8EG_QNI*dQby@`0da7 z*AF0{IqjzFvT<(K?q+A+4t~+(F%}*ij+> zxC;^N06+`m?PO}pUj!pfhavdbd1^r+Ef9REdGz4afe!wzx2K}W&F@(5*m>yepw`{h zLaNlBbZ7aKQd#JAZx+b^XG-arg@*4Y*$sQgga@yCr+RtlV(tn!NgA<}mMfKfjeT4; zz%CrHVfG8oNm*RfbN<+F*%ifLqF%5iZf82_#ihDnCMnLXq1bH7Vv!&~yjzY|^^a9y_8daGO_+hh~#wLbZ!+VNWtO4m+}HM@ihlF zp*M!7ge2h;U++<@OT1)3Ox!*=ia;Qc*m*v}8b4Qr8;Q`w`jiLPDQmE|7V_NdQ%XTi znp|cKp_ub%NfYZ4Y$eyn4wsi!?-@0ocj~d|){a}PIr1&y5AKif5T9A5&yvU0`{tC0 zm-3J}e)|29+rT)8Nllh10bm>*%paMK2Lp3rUp6R!dRy6(cd_gSQ<#CW+uLUzEMF=M zc@-my7+p6+>i}cd6@6f{#DXpY4LPdnYpDT)TZ4AqCuqW97~k>)dnM(pfo19nG^ve# zF8nkry!r#Lxh%RB%(HoDmEhW<8E-5($<6>pYnUPyX3aR8c1{eS#6YIo`uL%^uu;|k z;M)oN8g$`9BUi6c4F0L70Q=u9%#fo66p9Qj0B=B0iuYf+C~?m)W?#zSKc9(|J|m!c zw#$^*CVfQ}^}tuiJN5n-eFPVyg{!eSrc5hx&zUsfyPjSk9dwc#GAQJ4am9ZQQIHTJ z`j%5XJEkDDD{u;_#sxf1{33d4LQBxa0Hzu(nosq(1YdF2X-Lb%fP7F{{YLEAA7t8O zhRkh!51^%f2uo(p7~3YZlgxx!6Htb+n4}bbMWil?0vf&@r={t_=Cftn`_*KRxgA&W zXPx!lHRYUJ&fm@Z*f!VP_UZ(Qn(pJdgbVTR?oH5SK0~49JK?Pb&yl9Wx!4Pkk_atq z`YQm?63llFJRK(;%6D1er68-K&J9rBF$ASmT=A}auV~d8lkx*#R3NozBdGPbq#q+t zV1H0K3Q6u0ry%(7lfGBHE$GG2pw=0o!NO*k< zwQh1t5qAxk+lr6&|K3fxNBXldw79IHaKzgi*a=rSEY*e|2Y&^$bA|4#iWM8l=)fBoi`4LH_KNyFEznZQM zg&~u%4!E@zqW(_1;J->+J=mAZ9EZ2&PWp0S(<^?x6}Ikn6q`&>aoFYVgPkm%|}@BbQ(4R z$`QQS7)dHAj;54?At(}0FkO8$_r<>mKiPtN1fgs9ovUF&p(%YryUz4}%TrJiq#!d< zA?s4)d)ZKDIN7CJ86Dh;rD-2!vVLG;W5naoZ&Hm^FnSNCf@I#)KEomyzfNRs8mejT zb!cmjTjU)TCmTNvlT8lVAA+~Wh-Cc|>y`B2R&$fNM75Rs9Dwg9GFFJ9eb2@ZBF#~G zD9$-uV68TXFd<85v3vYe1FMqE^;aI*z%twdDl+q_I&@w{2zxK;AZ>I8%>&^>?K+Qn zH`M!+dtfHAEX-AZ#tBQb`=^Sl zIpV_?6tNT%!(2+h)R42!0r0!Qn@>a$P1ik-+x9VNXrB2N#3X`xhv5-xj+{k#qd}C38t`}9X z*y_kPe+ndkX$B9^E_9l{t3uswRjI~9-)`zrA(-AN1h0xKjv81g-&L_fDF$%~R~QPX z#6<6`+*YoR+Gv*G74IJ0`a_>^P@Bq+5oT9g5!p-V zInb%s6~?|r*ic+-YrjeH$=*Qh*ho6nXnU zdxaC9Yc69XgX31n%P;>dMBi2YIB^?U(O!C@ z63U8`a|O%yTC&sVt{Liy<%!nld^ zug;4+9DUQB)2tA0gyB;{Hs%bgCmsHiVUgPn)_(oB>d_jwyJqFp0bCTJ zIZhl9SSI6V-K`gs`j8Z(R@l$vQJC?)?1|_ZpA1tT>=v+^zFQr(hWkDM`&w+$BF`!A z8M2M()lau8(%)c?Oq-|>5g7g8q+==z$d%u-8}>o~F$&s5XrCttlC+?960~-YG*iL@MH1tx1=gtVfyBhMg=b?jg6ouwB-0;I+vW9mhnWYRVj&G^Wp3RR#E!aQ5 zQB-+w78nN!zP8!0uSs>Vn-yZmmNHk)^6SX97({XeDxaOLCAH$hbveaO#`X?|%TzUy z=#vswjOZBF^>p?!L(tYri$`l%LGBlfq^{gi=6$Nhg?!QHMdJH3AN)UuFY~1(f$mIA zub+T~W|eoTFJ5ZrGO011Z4TBT&7Pao%?-wCsXq`uG4&eg6ihQetzsY941Ni;1ceyD zfbzBhzxji&ZI?UKZDLU=zjk{Ig&HCNH^1dC92M`kvnxMat9`>n&2(vfE-PMWfoepO z?~E5xEnq>BM}IKg#LVZ#f%A2ms&{Vc?(SvpM2V4r;sjm`zVCzQLEzFq5oQJJS(EZ07Vzhy!5IVPn>y)mPSq!aLuzb z2HKPB4_h+sl+%G$V0t4~0Lu?r*J_{##pbbo-gdnpqB{-&|&*y+DxyagZTb+^V-%na8wA zuIZzunrOVUC`&yo!@BOE2M(jJnZOwEXn{)n%;tTNe=xzcwA04;wQgo+?Zk3YL0}1x!zc>} zkML?2xDuifjy446>C!0_ue03oOv;jvv=TQBEs!k!`}a|DUL(NZ)WwE$!Lt}x=))aZ*;NY@^bj>KO}B`(HA0rS#6 zA2QgSd|&ilfJhbG{l0pz2O>2oci(d4zmXyeV#G$LU(mGT=H;$c zf{{!b!dPjT>duqAf#W2JVZ=jHOmqh^MFpW`ozdn|dJmuuFSfD0PKgbY9*@cUzpSBe z(!uo)L#SJ1?o}$k`&R|)kUHk?1Dveku#&5IzHmS<)CLvZi`QjJXA{+$Jl#s+U#@2D zPRXxR%Z5=awIO;AWdJQe(!YOX+U}z^xZcv$=Wfe7_XMQTP(Qse)3#^jnB@pnl#`iS zv*E+}Ksu~Igzm%(Y-uVPP+LT9guvv4vFNRjIk=R{=d`%*yf;zzzF|9~)=$_6Zlj4=q>$v;;SGMLbfnLrg-{;6asE2_H3k zNRx_&z*APT8J2d}3dPe#T_Q!}aE=5T{0>HsuXmTBcU(nk)9{3eC|aR;+XH;mS5sUO zcn~mX9~&R4%>E^`gyr=(<@3Jx^;Iuhx9{9k%LJ%;7IVX*yMk9FuFgzcIDP*ik+ZNF z7Jm@1e3ko_^PWBu=4w(pME|0E#I%b1urBZXk~&&W_ElC7 z(Dj?}#-B%?A&w=`-fZrUM84nZ52N91ulY@(9F90PsfBV&9HdM_wnZ-#TntVR3%*G` z&q3zB`su0-YTkh?XfNaO>9FB47y=wqFY+8r$T|LT-U$9KQRCL7q<^YYw28z(h5@bj z8iSlv!FNt{2?P0e=}bLH+3%Vtg0-o(*>TdOqDeHKUJj$L=@ay?Fz8mj^kd{eG>s1H zemu+p1ds)C-b9Vj<~2PUa1SLu&O8J43ACFl)AjrKU(ZPWRHR}nA%g@GvS&Z{YQ2P2 z%8)1IVOCVY*TbOA%R=pqtpK9CW1xl*JlI4=npVQcN@5;Yx=e5 zCS3<%%^m94bLBHpe|Sw;d=CS#6SZu*K1f^67^6WnL8j=#y<-w~plylgBM9AYhy7WU zhPT7a1ioxoBbZ>8W9DqJP6EZ9ahKa=NlV+eAirQX7nOBdC77oEP_ZtD@nb+?HccCp zu9r~4=dBN! zoF^Jo71UD0u%*PW4Ms|gx+d%}G|-blv6HPCai73SHo5Kdy~6V1O#6kHEp4&^gYPZ4 z70XJ;*bTS=@=-mF7gnrMGeNs@9z(k*T3XVJCE71L-UtclaxzSx{_RuAcep;J*Z?dG z`rQkhX3>{^*NXbm$Uhsc8>CG(5`x=I*xkt;eZVrWZszt-^*FPGcL;HU5k+CYxCqP_kW<8AbP_brRu7olbForw z4K#(~2oJEIO+GE#Sg??0yd9i3b15jBKVN78o-ME0^h&k|>6DyZqOQt!&LE+W0X=G$ zSE*Gp?h@%#J^BqQQK(M0AoYmgc8B0$u1%n~mX%3j1!ro+8y7VH&xye}1Vj*Nwg^&- zVW(#ZNTU76u>Lmos$$@J$}`#}H-u(Wjo1=cHHv<DLbJDCAj;(H##GlKd}Yf~X)(9VwcS3UsgJ8MM~7 zz6qfOB^i6AaGy2se`Q>tS~LVt{wxO+O}(Rjh5(zNZ{84VI_?&Dzjf;a9fsntYlf_I zmdc+_AkQ0hsMRhVHK^ER^g zxW}Ytq-lKayTxf!@^rhV6PoqD+O>A&5L!NC&O|1USXlmv64^~pIndg#!T>&O=^Tf5 zOP`Po78dE>46X)zdhKj)iGGMEUOn}ZNp+?z?Z=Wes% zbWafDQ^<<9Fie+2r-aU1�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%0AgyBO=nolHO1qb5u(=1io@XLv6lRR*XJ$ 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%0D{yC~fG&-S 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 U+lfeD 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Ö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%0An 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[VR?@rN4 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

    g;> zkB0r}MDgqUd}17>SZT$+yfyn2f~JZVRuOwHyj=8wPBc@0cc`M$nWOev)?ewv)0&is z3CWKKLzaq71U{?I_9W2Rly=0Q%j@ch5I2fw9c9p;Na_FKzB*|I!cr&kagAiiR-Ewk z+s;D>{oHqTWX{D$;Ztnxd(;6Vu3^MlfelNc_`wQx?51>~1!HzF5fEm3H*SZiC5b7w z zHUyLDY5CIipKAAy4094IB2)~~W$~i%~*hBU_C%lWd5w{0e0C`g<%I>PJ@(7_4<5EN6!GuV?sih!kQfCh2;LF zcea8}YSU%q6&#G5Pec4a=!B=V?aOZ8T%d(ZRpO@U1BCYhVJ+H$eLz^R-M&2mMgM4K zHH~0XE1Ymba@j*vD#1nscc8`f0Lr%XGV%8m9>Z#mHL+tBmW3NLyB?=VmNNC3SqSzm zqr+nrQF?GD#YpWPNsS2%Q#W*#z1s1dEUo0!Ao8}RoS1?%fI^_Fgzt|~r zHED?MW-V3hF_W)x)>BYnEYC|77tLJvox(6G>j$$#=w)Hxd8Fe0I@m8M2%u7sBm}7aTKs-|C*#lCL(xj!B-?My!tx3-;U?1bEC6 zeRd)%FtZICAsSs?%YhmLnlm)~YWk5|vW+|~e(M!~!#ZIul8B)S`bqFsMc`bGn3~sb z7-Bs`6!RG;kpLlEl{4`BP&s4LAW3zapM#9vw|$Z>&EAVWkzB8Y_=3MDbo@1))fCB> zN;p3V0jM%b1Tk0>{M1vF#d+=APZU8H$v|%l)~|A_k2AWH7@ zd_P?2mqc&c<0raM%CGi)=-~BSTv>T(`=C0_WdTJXp<0l2_RpA=o#LDcbGs%#3>+Vq zj&)E0qMnKS?>2n@yqxqciM4XIjmP=na1C{Ykn{4|{*hXTqno*vFFuK*Il4` z@xVDZCCyQJ8mf8gZq2MQd+ zic-PaPCn2A*7?8t)7a@CqdgvJfIJE3rj0lJ@*uQZ3RS1A;mId)iUylMrPeOp3Oj7) z%-w2cfo>P+8+3OjXq6PLHS?7LN&=KGa(kjdX#_4XMHX2-*G@dGO{IKhv}L`}`ADQZ zwrR1B2}11$3JJuaD=rBYCffG&P0NG{JkyALXAz0?=K`$CTO*(;VCaxNL9;4 zq4&Qp#oWBHaFIS)XxQ_bxD%Wj)oz=@e4>OW9UoV{ol%ptOMs=@V8BHF#xtEM*nh-) z@S=WI*RNwIPTE3IYS&6Opq8U`pWVAif_xUt^)WQie*g`|>Bz1mNPu7}F`j|od&#Rz zvi0qyG+~6Z3#TQ(tMNRcDGVqWAjR@#d1Nst(#F)+Jv;N53EDJG$7oSMM0bJ=D^ff{0sB?@%ErSnH(|6-+WVdBe9P=sFdbt0f&^55gPqZii`bv-0fHl5j@&;{=IK?6xi z7aqd9ny$3aop>U6t^;N3f)OsKkPE0FJ6pq9Kk;A#IgI!iI4Q_Qxt#i|23teFZm1WJ zgOnCq9DgEBKH?-@mUo@@l#EV8W?5{`tb94_5eoGE-GRTcbc8|0%z z+bHi-eUf`hjEa{8+I{^H&O)0@?j?a!Nnh^DrU4DC1NjIjT^1uots8B0L8ukLmX<65rzHFx5lwTUJTqgTb6qB3r_GCX7$&_PLI9Vi zyk!s6WE3r=wUPGSc%d2LZ;sCDj8lByz1d>6;huq&1&=-4snAp|HFac-fV>5*PZy=b zhacfICUerc86Db}BEHM({LnB5^A*MzFsqXUC_X>0wtYMAuXC-8F? zamERuqcMEFbalKRu=ku>mXui$(5&+1*rPV6nigJW1a`;vdiD0j2}5~84S+^fE^k}W zI9knEQr*a4iv=Q4=tKKAP1Ldp>?L@7Mj(!4UEG93YDz{Le{fv>6%*4L7-JVC^_Shj zXp0u@!e&!L5}(1#9bo7^X78^;&SB!~l7=`g9pG!{OAs;i<6JD!b9wc53D;rg%Fmkv z?J>&u9Tb&9U-T^>6Xw!=u|PQwv^e^z#f$jCp=sbCm46!q`}Qlfp>R;)_CRPh3dArUV6fOjE~qAl2vT;!!g!3k&Q=Sruy-vPBYtb+L<|? zr=>qLWD*AJEpe_^%qA++b&X(Oh}1*noM<&!`)AV_Lc6-F>?F2L0WLVCl<6t=8{wDrVrP1r9Mt0-?sE{xR{Fq5R)q+FQ}c9v|blwkKU$6 zZ3`LnZ-L^-q_1aQYdqCsbLGvS9(ub5M77=v2F)rZ7l$;i^sW>*=_xI;IS=8sV1p|J zifpTjbfMhij5Qx?Fmi=OUJo{qrs(&6c{WB(lzSoG7|B`#)m{t#H#v_Md3fB%kjFpd z$3-8VPj+0d>Ai`0QDl&;4~ter3^F}JV<&1y_k$T=<-Y_EM>C{21aqq`?pP&`INx%% zCHH8RS8e-G8#(m3nuweb=kTaBp2jf~)lJ%XvI$SqHFt2^c;UR-4{rNU#(m!n>#j3I zWR}-CTZ3qx?2BvYAvF@S!%uXY1*^3LXdR=69{ZQxfRMHBn}?+W%P4fw^F|jeyDKjS z4JPff;YIB&zxA%wcyDkPDgi(iLWZurP7&x`98t~E&&2^5mfezOg;96yZ|p#EcB#2gLv`oe|b0DU#gNoS&s-mrtWd(J|h zd(ivdL)1ATlG*VqjclZayK+}BBvu?g1BlrdLp#zu&p{KCh)C_?PfduZ4S6f1+A=$a zK_z&JvGYU)Z>EFE3wd46HcgESFZt$6<0ewXVT&$P+0vWb!4b&#oGoAxh@ajA8tN-c zh>7h%#PrlJmCT2T0#LT0NG%Q*2XCobOk z3Nl}|?9)Fr$Q?N#0PW)E-SXI$a*=}t3p1Rt7A}{I8dcYgY9F@&Tp!)_&Ac{jHVrX8 zOoVJl;O-?_r0S?R<)#wbSBL3tNf!10+!N-_e?~ON9R|)8weUjg&iG_e;9q3`*DB|M zoY1MPBX>W9blp=&iwNpLYd;0zLKj|dMfVe zcD+wyect$8bASFI(&h5j2f<9gg*xetQFin!KO|vK4!mo2mc;uLTTdP#X~dj%ddUTp zg*Ar_#?LygpT)w-&^ZD_g!ka^E3=@`G3H zcs$rIv3KX<(?#}E1FtBN(Vr`9yRGecJh5~h*~PhZ+kGq`I_vJ%gH2&YJ5;@)R=*k~ z18_7p7xgNHPPS78cN4}Zsv&M7e0Fc(>jtM#6=1&ULddNS&Rfn?0Hj^LhEG9Y@??0%`_M-Jn7XHlGes;r*BJ{e_1H!%+DuXCD=j-h;Ed{B*p_W#ecA4qX z|4FA}v)Mzd@TOV87W3N1HcSkw2&P+qL>PablVfced{xVj*4H5wyoyV!|Vqz(TT3iPCuCGWl=Fx^sf8bBe z&D3axq>tKbP_fH0?*}YZ5JTCmT4I3 zCFgc)xfvEOJ^Vxo(1~y2b`0qsw^Y(I>I$z(K+1p@(Du_b7)5U+RPDJp7oH)r#Ib4X zM$$(K_MG+y(cYsRA?~5IZ^Jd#v3Jaia_1>Kd5F=IE-T7kFC6AKCesM+=sEn-ZfFl# zRMe6^e7I6yjfrS)7G}9YYzk6G=DakJ2O}sdDtpm0aAg!lrr#S2fi6zMnIKNNtx{d4 zE%zxzldUN(N+BK@2vcC*GEi3kG>KTfPrGgrvKQ&V6}@zr$ZRBj!SUlk-OQORO&xmv z5T^kZN8UM}_wD{exsrD*tIbJw3mpl+Ek~#iyRP}cY^f~IG(v94`8LnGz``P?@_MYiy^X;HJS&?Yt6US~VrkzVCdiZd!8UvyXOlDU{qx5J4 zMabeQo(>dXC*?1FuH!(6G2&dKK}r^-@tMs!5NoyeX?Z$#Bi7;_s))#y&%1rIX-{rd zQLC+0dof&Y21i(tGvqJVb~&U0lmrQ7w3zWPrxve}MT5#yX96up9OcI(frr-hV75NC zLK#-gi!#)lH975+qB#s6#e?-wPF&ya$|p8=N;E4pFobo=nkLX~pa>e#wDiBnKy z(e92PAfxJlR&XfFpDjV_nx@S)v?&ZD(mF_{zyJV993kKW03c8QqEhC>^m6syiY-gd zOX*j<+l5!opn~c9_o`l4-L2+Tq`6n@*Z?ERXoi1G&8(|2H%U&%wO-dfdwgA-!&kSX z+`{CTd^l`}x`537_-(S*+x9d45i zUeDH|hZWtv$+fT=T@K~M+Dnitsk^AmL5${uq`@K7{*2z{ft6Djj^+rPs6zXfI3-%% z;6#d{PN?tA6e*SRjv5?`GvF#J*%}V%uNKMUL)wkn2vnH@@V>2ofH>EjF~$}%e%+D% zi+?=1%GNhvq&rp|FUw(+nyeNy$McqZqqgQP(3ibFHJ7r1y0%9-^ zM)4K?aHn@NMhpEOzh9}bIsvhyiOSq_a-|=KJ)5;@aoC+v3v zh1aV(JNLwSM^nJFZ~$#fq$`lm{b|?HisuAi`0!&)Lv^FauQ;XS?lTCB;~pv1to8TewZuY-b~=txOL-E@EdIf%a)cSD@-Z9v$}n&2E8&7 zg62w~u|k?(?Y-=MM3U7Fk%W@|zRBonhLzvb%@*@1N}j4M#NOUVQT|9i zq1+N7pVwm;?FmpzL^U4F+y=Q#w_}mSyq@Iz-@y%zs>i&CvQb<*()A=-Mck3{bbWDMxXr@h5ThMFDDozNUH<4f5JuQRz_J$ zv({L*>6)pCxwp=q$8ZX})BuhuYAX*M-Sd`Zx<0-QJFKl-Nxw~N$y;U7y24MNe{-_6Yj4c6xf)IYiNic-8p{8-sV zC`HKrXu!Fo-~2He<}ea5!=9DdmsK}4ed8-AqW11T?bO2{C9^)Lxi0zY`>GGK#`jA< zLf*)(R@7xqPVleLTuZVy;@iMzd`ROC<3*W+Mh0dYPWT)>;EeMFM3!>5{j7{K@VJ02 zTXT2)<>`1`=IkjPbh+nx)-oN^;xwNxO>M%wDEBtkZkiQb%%u;)i9;UOtrAb5pHSEy zE=wbNFc^Y-bd?mA1mMc+?5<@x=5onw_t6>WrqSsRnpWN$?PY^;L9F)I{3|XHpc(dX z+$$OVz`|-2xygEcGw`rHKZ@W*QbA!Gmu{48EZY%ctlhT@j4|Fy@kiz$-0Ycc<+4KJ zgsDpGs+la%?9p>OQro?yw>eU;c7T-d?;n&SS->7^lhPoKH@tYN;|82KthqcbTxy%! zl2HWr()2PY=Y%%gLPo0|N9Py7IS^pNd!eFx)9JBTK29-ca6n$;e89UROchyZP;MSV z^P|HaJQpp*ob>TKoSx>UkCe(y%+J1PQsAy%37^*IC!>v!O}&PhluTa@R|%ejzeVFB zM7wjXS6mFQS4p%5=W-_CV z%zI!VZU%xHNFtgb9eK`viv`AGnfw$pnb6X!uFWKNvlHxwdiOj; z0mZsE{LU^9eE@2|e-4+*kv-LTf(s{IpWQagm-jz$&vMBJgd9FWo^ZYcIa6_fcO8nj z2Ui{$piNvIj&;NSF$`Ifchz;aNQ0h53cxwC4VVu`0DPfKBIJ++BNBFX(jQ{gVOAO= zL)9;85HV6$Wvn&D-h9h2`!oyJ>ZS+>fgYUn^~AxP5r86VzPq>8ka?e& z51eD|c)!l_dIDlG6|19h+R$X6n-b+%tR@1(&*0czOMW2Tl-z>>PN2_oj*}6bFcGQm7QmP_Pr88#oAZbd z8Yw`;g&j#)j!I_U-*^CPFEMDXVAGVat4b(&KTzL(V2%%BvG=L3!ud!-(O`sU$Oa|c zrQV%iQm^m(!*jT8BAwyln(C15=u58blTcK}hwLoSnoUu1CU^!ZFY1b*aifmQ{f@QX zCh)hC+gf&h#L8INKE<>$p?ihvn(3e7ywUYdpkjwV;%&+Om)}0wX(U4|q-FCL2{dbA z>!g{jg?4(k!Z=Ah1iw}1AiQTO0Z;_ZvCdlH0FKU5yAnxaiG1)bSWJ)P$qOYWdFg8_7%FK!%0xc z56{#F(7sN%YxZ+hDnK$s-GhWHC^SONfBm}uvK%ZngWA@r{2h{ZQa#5SNP+Ts3*<(^ z;E5Ac*Ye*Y*DugS1yFpN`bUc&*Ys7r5q}q|fu^F`mj~VnEh@@I^&3p3ljYC`meEQ_ z@z;h5Md$c2a56y1$Qd-DItl=}6KjQ)t>saSjeL^wQo`}_<%K|OMVu}m5X#zXp!gu%S zvO@4Cd3Mx^!M@ccBkcY!6J0)TBK>)3D2XVBaTB%0QY>3!Ol@uKV#stPqV_hpA&z1O zsC1q#%LDK!Jw%E#TUY52a}ZI{?iGTyi^!Sba8z%s0{8yR=>sFI{$d|JV4Otc@$O;+?DD zxNY(2*f@zG4LhN+H*U4S4{MU;0;p%RWNuP(A53n_Kx~As7`cd(>flp$auLqX!2-&1 zx31HK;lozzq2%>m0tTQ&{!4gt|99G^9!te`mpH7A;*KM2_>sUSMRnS^i>es=rlMv-Ap2B(Nwz@r+~J*uKCy)i#ekZ$i(qkoJ|X3t zZIxX&$)1J#2w*E?&iTvQ)lueoiwx2JuLUvT}V_Bkx zs?{yi3nl~op{7ZtB3F`R<6ZkIw;*|SuyaSBt9=;m1etVhn4`ij(}F`|>76r-U>7r0 zW|7z4K32XfiDVo}qA(7l<3Q9>BzFZ!Q63MJ2yb=^My7;fGi)JPy=_^?66;K#=sAs& zTF(II>lV)>uRduW?k^#H{wlTKulXX(Y}>Z-UAY%-EMDyQ!__UYDLm~IjDNy27nhx9 zyCdK#^5iXQx-NrYDJD*$H$CevB>bKxOBd4t`Cd!F&dBsWwfX3_)ejRkq)y@nJ{WD` zi*e9Y4VjlVCEPEL@!(KcuILzL$1^~E@wK}Rw=EMAGlL>*>RIB{e-u%2D-nI{T4$$*)J_k5KsLr zK|uy2oy7&Q`HV)=>^kPc6L4E2!qqZw0HN$Px)%cOh3ARDm5!YE*g>*(AU$`V7H>#oIDjSzhNu zK~^gwCk1620M|P9?z<)CA1?>>;BSCo#8)d-SMTJrb+tFc$^gI-o_Y;`TW6l4Tvafb zG8IT5Pp_nqw{-Xk3@-_}c8mEf5>?mFGmJYztM!^C|L_wjlw>MEb5_cqPj)vYH>s>d z^9W+Sf(8-(F)RD_!dS-;8yNoF4bxd|PV|mYfkTZvY zs@@$`B9I1@a1VWIUfbfoRg-FKP1YiZu*m!noey&BpaXH}``a{Oy!o^4X6~`O*E~$! z5LMG3@c_EIB=rGzlmsNeTZfxpI2#BDyhO*nO|n=tpC^9sSr(#m4GN4O#6g#rQ7w9c zJ|w}mnUZ)^FJ@>{C%vviPgsgs2VLR*sYuc%1Dd%s;g3!3lN>}%Z4e+IX|R|7y@uhf z?&}=2oMr8TTW~4^E0@M$ph-SNS^>9oTc|)LSvseWPa|SGm5nF>!hH^qV6vd)KvZGe z+}ncia*=fLCjFrFye$)9D8SRY|MH6s{aCK!117w7VQF9Fu;cv?!_|qiEY^OXto(%W z&tSOM9e*y^Ri;+vUB@RaXH@6aXa;Q%owE_~w^@qUK4c zJW4R>k0I4QS$7W$lAA$U2lSUkgK(pi_3SZMF{iB>^(MgmMQ{>fG|%on0&1$%JNZ{M z<0AKyk5u;4BRD)+VDk%bT6@6F`Mt;81EFN3rdl3n)^n@T#4fdC<~~Mjz&5CfQb+ow z%A}2K>gCy;xd1~zyuW$H{N8Z_KHk4QLt(jLl?~5DfCK)7$5Z|iMlWso?g-|evXV&!7)lZuzt9h_97P(7&NXPXj4>cPr^=<*U=sG2W9_KB z)@;9iJ4WZ=nQ<}7n-B9!^Yh~m{^?devYkh1IC6sm!YxeYt^QR8(H?mYTC`z_+E76G z-Cc;GS^8aw=87R4G`Uv7+@$|wa6k^fOlN=|rC|lpI1bJ0QJ|0rhth^$+?Pz&Ga@d( z+yXt3v(YUx)$Q<;g!nCsjdB8T@}xzMMkz=_@W;FX+b-H$jKm;fK$)dHGKdQNjZj$% zaqRJCEFHey^~4)DkLq{v|w#2`B` zpRTKh^kaY+i);)?n@e&&$WoCwyU$C3Xe&W2T(;7%f8mdyXTnFD+}HRjI#qi~MyKi- zEZ4~sD(TNhiMc4_HhExDwh62PU(V3%@-~3djDqLI2cZvB2g@IorkrYBv1Ppdrm?Sp zUK*foFJB3~0r-hw^ida6ml%DAO6%Wr6K|EKXjjvebe@9fNIesyk4Dli-LIe^t4BE& zQ-8lm4N{PP=m2B$11Iv!3gEy^X3ohj6wv5YU(QQ}T~6^#&?Ifw4$S}1Ov7+S(tnVu z(vAWzetgzRC6BQ#%-TP{x!ETR@~Nr8X-aKHbCI91T%DPJ?9!kU9iJp<0DWg5$ycx(D_)4Air?V7>Domib!F@Qecl+E*XJ z$K65MDzZb}7c=dnhh-??A%7$t;6;t~_&XhMx%qAmhgg3C>YD^aunsjH^^)L@u$vT# zq~Rp;_~36C7=<4Raj#8P#M8QyV1-=@531;)rPp2@F0*lS%Whl5Mdi3+jjqC24MIHZ zta5W+JPZjw3G`?AP?YEHy*ta{#WjFMs7V`Jro~sMRo?~jwCu3Rub#L=- z|0YSC;I^)*iHJ=C((DRA1S0Z8x1+;GdIR<35EOyqr0{zgN*}NNyy^ma!Tqih zjPld(VWpwqOm8K#zLAfB1F9Ju$EGDgCKQ-d4#~#;l7&ok;k|{&9bN8n^Ae!TNi2|8 z7BZI18_Dihu~F1A?kF=81sg)*6&n2`NO=cZlF)N+um`oJE82Ilx$!-pk3Vv4@`5W@u*G*bYGijD;lM z?)_;cFAK!h{gPFgE(jA6Z80hgB)El?^X|z3Q&QF`-34s8qH_zGiE1b|VN}l;1oAv> zNT9AGdwy?xi=Iddu!L}89Fgxp;|lC^;29J~=2V{f6rs^|TPG)r0as-bmA&wI(>@_~ zNkl?4uDX-U{2Qyi~jy#CTci6fBE;P8+;Iv}qqunlm6%f~j2b4Z)^3XNcMz*~}# z?KAbm^G2LhkAc4v`M`xCXXz(o8bhHwCp1>-v3!VN+`chnBwO5t(=6id4pwA8K@W_ zTC-RTIcHEq7@hv~qvripiE==zdKlkt^5}JH&*Y3C4fbL4iOM^cTY_a6c3KtWDrT7! zQwm$*6C6Hsp=UJg?P|YCI|v(W9$z-X@rh(>e~_}f1fI6lp11fL2St5jvu4$_EAhk= z6u7(A6i(dHinIVz7lfaV-G-*+vkb!9L$`{_wMw63Qb~!4O(KVv5lqc}Z@k!j#aD!v zVQ@Q3h5+&uI!V7u$Qr;ivDzs&*WGptW9Fm6Z$3JaUs08`u<`*(IKOY?K2oJnb9N2j z>6x5t9#KdiU?P4MrPc10+tz8z-Qd4hho`GkrH<2*Uti8pETQj(XYtTf$-5~GBS&G<-UGS^qu z@gvsYdAa>USx{mlqOfHvo%asywX4P9s_I(u!A5Y0b1DAAA@K~+{m&$?7xYWnD z?q=sl$!>I(Gdvq_(rX&(jl^f{I#aXG^JPq;@Oh0$iq%8>rRxPQ> zhs$Z`8&hzkVJ$H{tJC!eKHhW;`MRX&EgQM2e z!hRTvN-fpx)$Ur#D3sjhRd?CrcDHPeT5EfdL6YnB&w-1NX6tZY@=^`EZXEFO&(j_~ z88MGONRkBV-y_?~vyn6k$vT?N{|B7X&)wa@4W4GJbY;1;iQFW@#8XHpgiYz!PS)G4 zHT(;U;5%>Y%K{Wh!TkH~v9Zqa^Fs4a(HyYL$fY_X`$FfSMDW$d(f27SlR8BP5PiOQ?~d6h3YFOCn_MHni7e5oMLnBJqY57x2Hrqw zYW`Koi(_&$Kk%T7m-xQh<}aYIq-z3ixug!0um00mW*EtEwl*KpL48H9jlpTI&h1kW zKj2zbh(7&Bo1s{$ZC7&Ubx%`>XmFlw!!$$m%OZe^%x?usyO1I+`PrlegU6{{!OpAfkVqDwW>1|X z(=Jl=%p?E7cePH&t>UW`5+BCd39xMMw@|2AEiUt5oq0$K0E}~qCbf4Nrx4(lAVzLQ zMKX*osGNtWZ`s@hD83n^^;S&*9O4L;cy9_iP!N(Kxnia*Zu!QMDjBQAuqD!58hB)Fur|(zQfp2$BMd6g!<&)8 z>FkXricv%=?A|@F$&?|@L!^ENoiagA@1Rp}VHVdOa?}Hp#FWMlabnB>{U~SM`L3mv zcc89?;#x>$Cnc-4@@#8%FtK?&KH-@-(EQnk0tedAGHDMQ?#wepKg=o+LbRw$?x z_(})A;~J|UhJ_U>q~DQYCgo!@HG1y?xcWWP(9h%PzFukUaHC($PW3ge%9D~sxt6&3 zk8@hbfvPmUprfR)?=RgAjru>SMwz9;BztVXM!#52I+fX zhso>Ohi2=UCYnpb(_y=*f^V7ui6^~8cwIH6VXRBiRvOO5cZmqNPF*RT{moh6vU2Zs}%zfetU z7)U%7L9x)A_>(<>hh^FG5jAE3-aHv1+AvWYYEc1LYY1S7!$QRWYWFf-f*X12>lklg z2%oRZ%(r~TbRXIZ6@GE1LOOJ!(8k53i3Y3==NF-jC(24!e|;0@EAfLwospYI$C)y? zpsH`}0SIuC3}6QDh#gM)xLajF?b{1J1Vhf#H~w+qF(ubvvJui_pSpe}5!Lbq)lcUV zC96C2*ivhg$PK+C@-s^VmY~C8;s>LPxKR483>C9tL7miC~8#4H^kMT|YU^(qK zVaK?QLv8~az4f3H690uP8md}=y`!P^fmi&NmeYy7cG(pO0>2mbv-tX())>4;x57kj zm1V}yUSiW4evOa#X*w19cpTv)!`Yyv%nVC|lAMFVX8dNyLoh8kX z=L|Lv@-n^>*;9{_sn(6Ovi5yPGT_jN5ohuQsB2H|6OV9td*SC`r`TipuFhuIn#KSa zv9%vI8sDBXk*ST$a5%nB!V*}6T^zS9$i8UoMEPJ_smx0XtDy}Fr~I$usgkjV^J_!m zHt<)W-%YZ>t7zhA%HBWZS>k9#)6YDg3o9ClqUbWfAHpm@nYPmd{lnTKN2<>b%t=#j zdcr>oSz<<Y-1D2M;b(H$`%DuMNt?A3Z;AW_BnD%i0 zTycbFMJ(f_1;y`HDq0LL*XJ+P=cV~do;>(da`g$J|^;#Qik6gN)s7w5DfqWTKWcS0_&?<^lh;BUOsYw zSsE+0vjqEaI+jwV_uaj`Q1jUWQb9%2*R|eJp2Tw;*pZrTRa6vUQ^h!xFbM^14 zSg>>2F9yQ9LmZ=ClCrztOqUXI%VUX|OC!orBtN(nHNQcBXd|}aK_CYeWN@{vR31rQ z;_iEmh^9BpDWFcya{s42J_XBxH~nibRLqtc2x_*@c=&!)HtZ3LuV#?#3xvYaVFTUI z*8lKk{#vPUO~ruc)vY~i93Z8j1IphQj9~vxSNhAq)lKVpWrSxul$k`lv~23rZcxC*4t*qf?(rRbv#&#$e3u(;_q1#jw|6s!4b8p70SyS}xMtstZnkUd5 zHVIcOibZ|UlyugW(H|AK5~m?Cz7(c6Sy=nY)vZ53@d15baB|}4RxZhG;O=S?vK{$_ zD`_MYyHFnLFb|vNu|;AQ_+3w$Zd1V&k%6F@RmsATQj2Wepv=6q@q}$U4UkKFJDA(tvh|?x$IrApLb53K~+YK9%A)PJn z$xfTp<6sfH9zIA{cp>b~>)bK0M`e+?M&#c8s_EY=RRy%Jd3F-aERSvf@K+x$Eb^D) zGMPa;Vxvd@nz*>t)?nUv_9AVZi;;%}L1TCdR_=nh2CBOK+yK-^cYj|wnRW&?k{d_Z zl;R`&QTn3St;%a0#nhuXIbEF`bs;N6bBW;*IL8HtpYpQpDOVS)#cZ8V0xvbQAKEPC zbPf%FEmQ}SX6U}<2gsZiol`?0Kt!~5BH7DJib)>Q&`&y7&>kWOg6GdCI73=2SFqO@ z5oySpZ|;Tmw3>AAST#iW_M(nJQ;xUehhO1(HGsshA11D2-81q*P=f3GEO0h(@kD$Q z7EBDY6q%1Did}(;kd$nmz0dW8fs%+_UbpwEufuS>NrP zAmn_V81py683nhT>9T&X0ox^P==6zd$ryzyWU2`{(tzei=-;-J*vnUv8hEaZ9&JVn zJ>~~DvWOCNE?GlBmO|IF+9_-8`!iJVz9i}PEjOF28&InwMJHk+7;9ul_F?C* zmJTyEJ9_ddMEh`|M^q-L9d~K8M#6!x)k`}kB08av8uFJfm&drQL`x`J&InB@w3)X5 zibh+sYl8y0tAz}4`^Z8t-ddUFKEZn;{A1hji_0Ngpagy;HHmGi9qt$PYAEhE{~Y84 zo%1$rf*Cp(`;+R(2_pvqc!>F|SG{eFSwi+N4LbxYI zPs9vv9d#rnTc!HFl2~8u``9hW0LPLo>28SJ&KO)?w$v0RFK5$qvu~kKZv5pZ^{g1{ z6@b9os`)Q;Jtfzn*^I)V&)uN)(2tD$x)h|&_hPeZ^}_8^3p(O|hx9R7Se!Uz^*?jl)2r~ESbg2q(@1+# z|N7DmVL=@ z()*1_2S>=^2OKnsbcSo{CdQYVu3c|e2K$E8C$t)31VL>hZ#Qf4fG=aDGS%@8!nw5$ zId8?MI)vMWt#9||9?*6YjQzyzh53E+G{DUS> z1Du>-tLKGZfO)YJOs*cYy4fCN350cAp7YERQcrgsaYp<5>noJ*@Dn*e($f$nw zzyT8)`VW#CuvAzV)Omzi-y4_g30nHd#!JpVupb84{W=-Q9{lYllZ0|O7#f07O@42S zO6R11EJ{s^@Vg8sdAP0f%D5_@@PLtB;oP;q&ikFa-l2?c0;)N&c`&t)%_Hix>Ob$~ zm>y}>o^KnTk;jc220}D3-pLkQKnr0Q=*b^h_kGWeoVY2Y<*mj!P)uz9U ziRU-9j9|@sHTwf5Xcfnu!{0CaI36n8>d_YIoxb5KWFAX6(8F?T5$vdUd{#kZ@UY$R z5ET%vbEH1J!!%-lM_4tzJ~(?)^5NybhP-!le%cWU^MO@mYXPig8{Lxaq3K%el^C}a zcA~wpOkj&6IO@(!KK7aT5pR!UXr5PU-jUh+pu=Y=;qIn+=wLAaQKZ)|fQGw{`;VdM z+_Ajl0=zG2qt1KNX6LADR^7ZLP?JmjLa7jca3D{bvGR2uVT)#fS=JvCvGI8}LNK1r z>XT=ojGY?pqV_PZCCR`=2DHhfRNeJainogk>kk0?pS|6ZbK*ntr0ty{Q2%o4*Ofvn zJ?X_e%qk@nS4qBbs!W#uK5FQrdkJPHB|=RR-^>z1L3tjaD9u5TG<&5a&&_;hCzvuQ zuy!Um>@uDAOXDn(Ofw~o17N5lAZ%Mzb%X-Cu%+DLkoqsiY++uc;qRnHE0B3*j{WJT zI{fnRn$c-3g9X>41x5ejJAK%!>$xIA$33{bw||GND5|{Uk8yUKX~DWynmd#6fQj$N z+VzWD%QMscS2cpY{ec|{mU&UK!Bin^5lOzjwwqqe6w&9s#6~=bItonMHbiXKVE|Lp z_PnC&*S3KG8r)DzaC~*G3SFh7PQE1P<`B z26b=U0>Q0=5k58w#~EYg!#>lt&L3k}_ZGOs{<4^ySQd7!DCFKIRje}IT<|IScr%~< z0>rsz&PV!&5X6H(M1OWC0Txwy;VyXt|dXVZ^D&{WAE6<;S77 zD7HuRef!_2y?StZJm1QRHrfbv9ovT^W@ms&#h>v>13(nAWbDTsg3$iL#Ay*CAJu9G zXsBRD3)19U1PC5ulh%6`ih~!H*iun^?2@DcP52|XPwU2%Y68kq;b0Nq*nQ4Q+y#ck z?rD_We}ZI$aScAPydIbXTUKkNp7(m|sZvSiC^djSMH7$G?N}s*P;0D53yV#1ZiM?V z$k@ICF1#5*Z33 zRjDD!g$o&xbRHgHMVsEpxajQa%{#J9-JlSM(e|0b> zwv3+s?2a;cj=g5`8&4g3W7O79r_3oue=cJLwEXPBGQBo^+dBBUgLL*AVLd>uvjzP3 zG@Y`%odsymkBGX=a~YE$WXO9jQ|GUbGHnotLBXps*=J{6Fo^|@6RcXsaM-I^^~j~Y zxJ%12+|S#uwC00UZl_gNrzYpAE* zU3isQaKN_E|IA;Tojv|6REu8X0h=R8YM44+SclVA)*vA(i!>$mucG&)QXHP9;oF02 z*P{v2&*=F;w*{H@v;jeXSo>u>t!sH0ZsnF$FO)t@fHT%B$8|SYDcn%;TRI?Q9y8xA z{{9~PDJBqnOF;8D!$h-14)--5Mnu{EKiGp)2Z!}}btrx%hQmC}8yY_7wWrLMQSBI4 ztkDBZhRnW%P#lJl)SemvIA=Xb3qHO@zypymTjED!i9d#k4Iu8qi3mj*(@ujJ;#mV9 zAn=Fxwzi(pTI7LTp==M&4zt?(wCCKXQU;IxXj1KY)%#(vM&=d0Z$aJ#lqh3g1{&uvBz%TE4kAcatWU-K)H_E~E zTL8H9iBrk&mG`6=#dx1jBcjX=+}s*a zOd{zB8g7HX6PoX>WQ&=UaUS+vsT1%(c?zS;K z=~e9T*yfUCs+?C>SyYjOK=P)C?r2gr{S2Rb3?{a^G4Qbqe4oSRR7O)) zYbj#vr@npE>JROs(V!s@l|IIOCDJ+vaP=LC>fKn0j?yK#;#EqJdcn|8SH}x?Xwznv zrSJ=X91uF)FjHW()LNmc1rG2i*@_=}C1F=Lns*9>l4y>j8EF+E^`?JC`*$3bOc3IF z=Y#+stx~d_yHspvh(7=Ox@xII?|yJqGDCK;c&a7u@|455=}(8WfT7$#?qvLDFTB~vEfUaDF+LggKcHMYLJ(m&721}7WNT={*M zxh~P$;NCSYCD~0AEU_ZKy2bKI>r`c{XwAi%-eUA${8CQ~zF_CiLT0anbZX>BfWD|V zT_|th(ErnFu|@DOF?0~vpQ^5wXiAuqa3VfV?*T9Z{h4swO|uzlNn4xvm8HciPm({R zjK@u0(ev$Rxiz%S0{$$K8_HxyC6+^3cwo`kmELoBC(?r6;Qc2_%h^ppYa%Liz@qIt z2YLr3vHeFFVh}Nv_{B4qL61!lDN^+?{U{JiCROi?Ky|UFIoN<3S04_;*mB}H?5)9Z zj#P*F$jRBjkF?|tZPgwRZ;@7Y$dBbae199*!Es_xc!OP??xrBvZnMNCE#|% zGb3{gRK!|~zgYW#cr0R-a`js)G`70{&!gYmGn1!Hgk%eFn;7XqA5N(5X$=dqc6yP7#@248}q}g?k~BKS8N7P`R{ro zm^QgU=&Q+MRb!JWvKYlM^R~ikiT7VCAuzosNh?dF>iJRTNU2={I4rKBdw=?qD<0cV zE?1?}&W7J?Slv9Z*$1@c&oX+RO*OXELTH)9p)MSxEJez3lEKyzE-z^pB`u21!JE{n zlC2+y+L>)S7|g6cLkFW3967kRWiR)fnHeYMIa9gyaF5KPsJGW_PC4*zyb+avJ|t%q zUL-jYpsMUf91gGB)XR!ulxPVuLwF*N_{Fe;j&tTWAJ9&2-P8l?0K7c)x2 z1+zH0-tn=oG+)||iH}PeRs&jrYKS=n#BY6CdXCdTwJxAOP}?YdLJK>eebK@RZ0ehF z#7#rjyvtS{&wc)Hzl$_%$PZ*5&mPtUpLzpMZh7;_goTcrl~}o33gZg}4wKSZ^G?L5 zla7+lrrYJ9DHNhi&m79zaN)-Xmmhb(q;!DlnuXLJuE>bSyokWacZDM)PkR#@xq4HFvIePs%~fmJm~NAyC5 ztV7zzjE2$B(zbczc`3Cnr5#2aliCoEA8e2@>(Y({^(pTo&}m`Z`hspxS0i~o#cUI> z7p+1|3klrnp{rAInm2Q;#W=1Y=`6nmfIg)kZQ%I=F+^K&lzYlhQ4{Y z;E8-}vp#bLxlw6NXa?KsRWhVRS@$R%u20GzI0T9htB16+%VQxlm<*VLG&t%y_(b!A z${njJKk|@-)M)|0@ugxuApRFA^IkPC)UY0{K6?V=)1=^Kb*wtD%@qHvY9LAdOYJEF z%zG~b;xCEb7f54?pDo=Z1Qhj`OS7hHaY#_4q9yP3rDFcC&e~jU7 zDU$?;C3cI1QzNWq)kcTNT;$DPKJc}xghmH~58HbRSav$l` z0j^+{b#a`wTc(Zq|0-Ve58V(P74RTfI}+2gZa#8b$37bfvVsA#SM$wjbhl^CrLj_D zc?^3n9Rm7z?*Ptf-G;inPJtcw)Yq=}E(i2b&7wpqA*WvCdahak~ZjUMz2Rc$p0L2MxY_o={30(b+_E@o6Y*5lx|BHkx!G%sL5ucup*0@H~3u zKz|WvYX{laF4aI?DCo7&@+SU+rc&hTali#oc*1xqBh%~N>zQA+IzTa+nF}70htDn- z(^#iQ32*O^cc^v%Y(@Kd-<-E+u_S44p+Ea(GB^tKZ%=7$Vn84{*_8x|L!_P0VJ`rbhK7vMpRulUY3=DEI^sv#YH8*2c^56jNnGzk0+?yA_(^iE_500^ zMPt*~qUrKkUs!qsnG?JjI-8N^GcV+Qe zgfMY)BO23x!`3$RCk1aFouHn-*bHE+Ve|Nu(eT%m{m%PQZPG8seVaQ(0&1$&(TkDP ze3R{q!A``Lwd3cw89|Q!@7lbk`FPo{EZO$+HPLhonO1MnJg?1TZDE0hjxrnH2TCnB z!w^SBSmUZc+OZnWpl(5qZ6G(rUr1wHLl9ZmcLh?M6Rb=1rE*Yf*1jAtE=dcYvOFj~ z1v3I$4q8g0RSfY$anD#6hr+SY;9j2Q@L2QIt^=2O=eP@UWr~EwQB4!zQpYJjF_euq zYyDi!4;t9WlLmz_1^b1Zhy*OixSxU0%k9!`5r-pC`4W{M`tdM<>jL5S-D5PrBHeoG z^rdcM&5I#;IEbfJ`8WIfAjDJMGbx_i*O4MFvxk}1wjerh-!^jBM0Y$2K^9VxoLTgf4_JTgcy}efPcn8UQ2D@?6Cm@B5FSUkiCldof;J%K$Pf*N$RBrI~HXb(* z3EaEnyaZgOe}GV?0`ll$qekC%hVV+N?GOo`Ly~C=-b;G*K+C%;HR;kBnXIC%6jgB3 zE@X+*x>EOaXK@gFdHe=KykrA%#pJyB8{%tfHo(Iz?D*6rF zs3X9PUc6i4Wsj9>=18R^boLtwCE!vZq1V$nI}6incEH2vx1PucVV#RjfR@(Uu(KJO zGccdm4!(MPXqayXX&=QZ$F#znPgW%>Hx)P_`8rF*@nEl$qoZ%w9ZW5J(xBvG%tNlj z&VcFljdcDJxS@-B^=mm6<_Sk%JU(%~0LVXsk~Vx$tg+B!p2JWfer%%l(o}S(W!(e- zAUvS7LLxdz)*pBL+JGlk$(|)w{Ec1-Kn?adMDgVUsLITCSI8~n;5>}GMW}*W zp>}ei^xrUHzVzq-4E(|4r&2ed`JIO&7Nt&eAFv@_&@zp(*zF9`Q=;*so&!)mEHJ9`WRas2hjQ} z83(EwCnzpEU5U33uP;U}N|;O|4PN!Hvldbb*bnP?X8+oRiW$Bhc$9a0F^2<=qbU@; zN#RtFjG$76n!SQC>UmC?v|!3P9lyvijWPnm9Ds$PE>3B=V8f@$+B4#%6LCoMn%5ZS zxaq22hUb-9I|}+Qa2$;#u?qBcU_xPI-fAuNHEP9~Wj>EyuUG)diD0h$zWxIpQ zV0!c#T3{+7I)q`}syPj`b`_hEu@Xe95Qzw|3bbMECFnCXhWm~M!-Tr?zu}X*0XpmF zx|7v2bHnz*fxFVB1d@^wafR3RA25wZXcGqPe z`b9wl>N^|IGUgtp-J~*VVT;9oQR$ku(76Rq*f_B%dAbcn(*X~OT6V3ZSZvNN+jx7S z3*CSoK}bbFa*u;!N^fX@9j5PuPMg0_N=9HBdqi2GxxHh~uX2Z~t5K%qmexWd%w0uJ zmXQwE_M7Hc7AX9+zm&a!hdy61YSy4$A1PLYK1MJmLsfG66l%r-8&FanaYaNY7Qn6< zrYJ~~p>g)XJCw``Tf{Hm;d#d!y0dhf-6D)uMAcfPn$ImKnLgRrU4t;xXtcrScDF@q z1)0u5el`9D3=eWj?w}AEb@Y9cY+IsP%o5&qW#PGe5nhV*-j-=m7 z*c_Vrov}1(K~RIp8G7nyIeXX!UkR}Z?~=!AQ3K#R|q(?6`&I15F%8Ok;)#ArJytEND?Q9nB~Fz zgfEN0eTk@Fft1-F;(<5`w~E20_+HyY7x52l5$co!tgf)ll7-~S2%2_oh`3K|v!giG=~m5JRL-DB&I>zsu2;GBOMl5ym>M`TfM*WPkc+fTN86 z)!^DNLzCnD@b0svE+km4LRp`Lari9xrPem%>5w+_jV6awGgmGzi79C|0`n<6iRico z>~v~{n6Zu|p&VpVom_Wfe`ZmU9#7cBo2CDzFLo1ySCNlLgVZV@h7=Lg%6v=9u%`^=lvC7v)5e#dJ?i-u zeP({Y{jsii*M|w99}CuUPHf518Wjw=Q0$(0wLl?gFnr*u^nm~X9|ZxZ0RROFf9(za zRrO%bDYlTr>z@;M9sJfn{VLAvX!>Rwo#TcDksiB8^E_sDRKGw=)CWhDyTx(zZ;ix0E00Jz5)>#*->9m-1}a6lvrw>QP0 zp$$mYdC71Mi& z=+mB2)e|nQ3fH*}g-W!O>;q{YtK0+XW5FQX=t9DQ$V*H0!i#Q@a~YMh5w%l8!;f|^ zWean=Y_ZeJ-TfcE#3*T0}U*ORr*i34oA%Up;GMrf2+olv~6u|Iuk z{!r&zbm*erR+`j>bA-Ft)2#XYh&zE*m3K&|sATyG z8`&ikx4zs_500LekyjjvTD9JQ_yNxW4U60q$s|RV!X9#4vL*UqL5%~&Cm=%yMr?vj zJR5V2UH!O`?Q(^Tr6Fy@1sOCqLoRD}KRNSjt}i?)ec2U3onL5U{pB6l8S(k~>{!S? z3HUkXr!jjOpk-g0l(W$7Il7klm`qrE@PQT&C)UO$b2%m%RHL5}WiWXE@$2?+V>6Xq zg{gs?4Hvm8!6DBc`o@2aI5jxnYdJI5v)#()bYGA1r=d<0iO=ragTpWo4Rc<=-3ew& zn9cK@yUA;%D`9*=Lv*QfIi(_W*jo}=KG&xVfLjm z@PFT73!8^V?-Pd0nvgH7=8jW2&^>$~9kCU6k1)0~+Bw#M6|spZ?~QLBYDD^ywR|2PO?AcuRA=bR#9j|b*jUE_vl4HW$N{eOEFsEwuu}D619Y zSYysvP3V#9e=vjy`%C5yifLx9_#j-S$H7ii^viid>)j(4v1DdJWZW46H$ej)BUsuSHm>&ay7*z-B6+0Q z6Wc~$W?!wZ(d+98s#xBbDlPXor2#z7rve+cP70xTOrWZdErQ3Rf%3-VphLhShNI^U4($wG`(_LFr_jh_5x zLgbU}p@!g&?3YkV1wNK&O=LLbkdwy&YMp!*vRK1&ij6<2*p-PD1iQoZo48?&`3eeP zBaw~>NB~qH*sa>@d)Z>_&uLhd4mPk_ZZE_&5}X~{eJrCNU-w{6!TZ-fXmGxM#NP!y z4*15H*lqzru@{&&?!O*G=f<$eM0E7jc@Ht8Z*C6R10ap-^EG8HzFnOnkiz|2M z&~(+uIOP`Y&X<+^;PYSLweoyRHouo?4fykvEO(ZDTpgT+V2RppvZ%2k$i_QVn(0{+ z(`FR^fw(Vb_G9^Qnv2B32StPro?Mu2_FFag!-SC2r83^(6~-3XZ47_kl0F$*4UfOw zk4@RuzsW#60SzslGYo#@4l0?Z)%lg~yHtRG;w&_?n}^3?$uLaj^%WNI)q!ObSXElf zouM@t#~bxKY+h(?zY0dxYPyUOJedA%OM_xQf)8@1w=O7%P*dmkryobF4@)yc^b?ui8J%w_nZEorrZju#4 zE0HxL8u1%aV>q(-4|wW!${?C4i|v!<2VyI3&05tdF7I(SK~+kAv_~YRZ@t1E1Scdf z8o&WOU|Ihh&+!V^?L~azv$6Sm781SLQhOk)=S0{SgaIt>4`mX&+==%O!XWNxG-@E0 zG2w$7Z8^N86hA>lJ&Ul|ApG@hXt>Cf6hVZ7 zbVU|BCmh8cm4LA}E{kqT=4?pIf4d~2NVH#FjTI2 z@4CZ+_v&F!wC&-38dogp|@Mw zE;^^(YPTVmxlB%2p#^f^dnoAHGk^cf$=&qjv9;%v`nb|r1)FMr?c-c<%}(>CqY=v& z85e?`4tb;ya?|Nz2JK@qdK}0c{}BOAzTT_iL8z3?P&ot>{)3%qwlHK5+Qr;6A_F`y z1>lgQ2HV3L9s*rh;GOh|rj}hKea|YO9K0jn3=d2Ih*XG916nAkA+cN|fD{_NlyUCJ zB{D_5?5p|X&`sEmLtqb2e2+jc^Fgxq!WcPTY6sM@_j>W}!KCi1mjQyY?RVh}3-zcXc+pG#kR$JW-d2sw3$$D~ z*upU?B+LhW`6j=~s`l|BdWH?+-i) zqtnOWQz2ici)WM!G;gJ_AqxWJ66rbI)O?6Rm|34qSClC%WB?THCqwDHn6mqA%9Qxw za<=esd(4pdTbcBjkglA%5zE^C6GQ@=1)GesKTWO(BlayvC3T}BD{noPZ&&Sh6 zc-kMX#BO(4i!~%6X^68hGBTfuAiO=eYh?j@+X}lS6ExbSEy}>T%$MzE>@n;fE9x%c z0mpEr-(x$wf%F`0>T2Httg;|L#E|0dz9JRZGi23-RMKtP*ctMq+B+6aOW0vnZ(Nur z%eTxxSwf~~<`>NXlq!FBkmCm0mpIW1Rd<4P`bPuz=Z@F-o`QaKR&@ZU#+@WucD6i(&99LL{vU6w}J!Jv1_}_>jjUhNQeBVz*1zDH6!Br3vGc*(Kn*p)6l; zeYXS{twT*XnxIr^eVJ4ofz#KzllmK9km08U{@A}8#6zQ#^IqF1c2#+4D2{2 z>CEnNf0Jv5M{6KLk!+_l2eKwqJ}c{pJK8zvSjJV_WoNF$p`Q`&pwYC7vct#>i??!6 z9HdgVYL-sw^||6AOKg1m=>#jGo?E8#%R|t2pMvem{4n*h#z_6u$CG>i9bEFictn_B z%yc8U%A$H_>Pz{yIxS1>!Pfmka&dQU#{e4p(JMDhzp0ka4LT&3&+Snuw}`XCw^GRa z(WqBCBQUaPUXo4gM&R3&A8?yvi;s17?}oiY#x3(=5EkDoB18891P#Jg%Nv60Ixi(! zHDzgae)IfXIHeU_p>zbWhbcBztr5n%YDB@8s=xK4y0;6t#L7}*F`M7MS0k$1jE)lYP3S> z-9T-9Wp`Z&x&+ewKkZ|gtRh>?+|F8ak(2AFTBlgg>^e9;qwxR}$!uIBzf;mt*bl54 zWB*S@J7_w5S|v*Pp{7HojLA@)4DKm&TX1vph8AbVt3t(QSqJ3*-XS)}N{STn*;e|; zsqrUYB#Fczdsm)*Hw?gXGvSBHRg1>slYb9Xj@^^R0NnSo(zF>r_+j`tSzEcg%n-q@ zAP#xzpy;tfBx8}$jyHpT1ibz)kVyTRM6ZT$?xf8O>;kJEEx15z7!cG|ye@wF_dX-7 zvo+z!tp(8(w>~KekGkc-m3tZYCO+pPMf;HQZ%n}BuTdjQx}a?4V0y^BSuIJ3W~K#Q z>a(M^aVZY-TF>X%%r;Q4Q0RX|t9}S4g@#)#u+yvf-O>hzun^lPm(k|KUc0ZvOc_P% zFy^=o=1wMmHCeFB3nPcc-sk*2mL>_Reh*iwnn+sXvF>L7>ts(S$63?Y`-^gIYoL0Ln+$rK9P*i3||=+H*=ZcsV_g+>dhCPebg2>8FY%g zTs%${hg89EJZon9f-9Ze@FVJcoV50uRd6>31!JL@*#+ncgPJJGfya{rEzY%wm7f zi10bAc=LAxAz*1HbsKy-tsd88^opM&Q{A1JLDoXB5qRy_%5cPxw0|qe+6-L%EOQk( zTR%|jwp)4e;e6Rj@hpjtPmo@zY@HQTNbxzm$GUXJJ}#tMMTNZR2@OsV2b_ZjaUN(=w+vxF-EYg0c{4`3*!EUT7Tof&8rG!P=4-sQ{H z(O@y0-2>b%ySu&Ni+z<&q*umhvfRAuQA15CfY6^uH@_?yaOsJ4k2N+QI}lsy`oE)z zOvn`AqhG>CZ3L)H002oikr&gA3c`MzkZPfRZ6pcZH+IWpeVg3&q10B4g(8Y!kQqFa zbXwBBRj9_v9M6}IsnSG)mTlL!q-*#Sq+aoA>Y~L5Nqnc29HOQT3GM6iY@IhM%un!g=%;~5WYn2FSA2^dCFG6+-Wd-uEL6BnJnry}ci)hD*=RfvrP)Lx8xWZX!E#2dJYD1wEnWrtD z79}$)QuZ0r`UEANKa`e$B2@&XXsv8JhD&7+Q-YXh)Mu02+_#mg$08W6&PqhwPHBxt zq^DWa8-BV@Ya;JrL1`w^_J6Qx+@Mxtjp`ICP!*H zm5C>Jpsm*k`o-MPFs`}HTDh1(AN)9dEh4DVXJ<4e#Y^Xk*NKJX8_)i=;{j3GloFHp zShowUS%+TR)!f>N?gYgS&?q-6TSFV6d0ia#0&_tlMvSI_J+!6=%GMJJLJcq6^?tn{ zP@#VjNUijR1>PvsYh(p7-Dy%csB=~n%HMNv}EBQ5e57OG|Wn3S7Sevq01W@Vu4a)Z;}Ktl>pFVHa@y+XMM=*b<< z{s`aQ_$@81Un*PkVTA#6Q6;GgqoDg?p$pUBDT>-2!J`vT+!pu@q8c-655@7z zX_N;GkU2^MzdC-Y)l%I>zN4EYY!M56$$FG2t3V3+Q+^t*>0vw8aKHF5>`VUN>iY|)RFdj z%axzi9%+xDGm$Z*V>>;^#w;D#Qp!-l`jHU{8dx%S!xmhjmE=*Gp1QS9ETk8y6wL<= z!&zpMj?tPeA;Dja5?M}Lj+3zx-d)`AeJEL2K4%^*?f{S-C>lOExIizHw{V=hDlvZ5 zdU0|wN|Iq{uga7d+m6jNHOc6mknz)bWq`FB4ppozJq`~L7E70Ptd1lOpzRzW^@(a68AO-%fM)sdyyi#Qm;2ZtSzH7&T ztc=OaRle1TH9cLLjeew&<(Zs{(SqBXg~0Gl%QI*)Bu;!ju#5udMCoW6gidg&72 zV6)ry=qyQvb*Cpr3S!a``#~-Df*=Q5%?Gp!tbyGl3#&_izR|~KNHf!^TqoWNO+$N+ zgvGbYaP6Zo{3d9pA)r%;66c}`GrS~d!Xd1;rJK-mbq@WYu*ujRt*b{+IA9|U&2ctR zT)D7BW2j5@>ZB&*0k7u~VO=G&USC^7#s*lv*yIp-1u(t_QQiDV=Wj12lSF1w9RF(T z;a4j!^HxhHh3ek-A!_JFewNIJH4YQ9K2n&SkX58-sB~mgrmr; z%aNLHe($MAJaR-CE!Itqb}LyBboh3OF%V5nSCyS~z|%zff!@7G&zvb8gwhYWd(XnC zxy+~vf2UJ4B}W!J!^Uo7AmS^z*S|k7f|-IfMbhEr-mbCm4V27^&MC7W``=|+R1j^g zy->Id=ZPEnCzmAQ)hQ%Ly>HdR$41c)^m0T#x8oUD1K5D7UpGIs@W2Hi|Qmk}s!4u-Cg90){fD(H&vbGYW7C@7ZZFSW%Yl)leL zm;@dde2H>A%Iz+_;p;R`GwV92PjR3v^%*GRM=GcpJ7e|Z&@*_AiTMGCxgxKUkDl2! za@*;L+EN0!n>3i75o?Pm7nRbaA0@4xkX$uE+41;VGTja(_8iu%@1nGi{W|D{KL^xx zQ*H^-+F&e7MuhQl&teg)Ic)!d6cAz{2WA@qp{Gv{|K_~KArJ<^04R(IDiE%dh+hM# z0#=hB&y~9$Z4jq%qEA}S*B_n(aP(+SdLbR^#v8oE?)$*vPyR#Q1s}?CpAA({(k~Ru ziOru6bfK;7#_>hKtX*z!y>w3`tvktIfu(Cro>DCn997K5TxxPRj}RKaND-M4*#^n> zeUn+6Eiv{C8Mwcc5$n=YU@G{FB1YLD6$obz7n7(@E8;F zI~roPOXl3yDSXY2t(?Okc#B;>NZ&JxJuLr)@^^oN%~7p*C}l7MI`K8r))3~~A@oiI z@P#~V_Nhq@@%rb_n;SS*2ZkynKrNoYlgl= zs)3OX#obqolAkM%SLxv>ov9*R7BxWw;7Wt@GOM7_h~w*3hq$I`?Cys5mlyS<+9L-xJuU5T^AU7|MkV(Z)#A~P9$+|+si8l8K^Vx1Np6$c~Xb`d_rZv zbf>X2=|v5fc_>un!c$Q;Na~e%1_OL{f*C>tP8kNBVFGuoV}ICHVVDUI9ZUsJZk#qg?=%D6 z$1Z=#>=^J||9h!;4nZSnj#DQSz5zK`;4o*&{<;~p65NGpO|>G8%Y#co^xXt(e>E zyy-?1%0pI{`C|rsbJ-hZCmUyHKvl{aSBJov;leD_kZ&jMXGMwIH(9rUbELEl@$fqJyfWe;s*H|8Vu7V|CXbJll{#=-#?UoKj0l(kS3 z@fr36Gich}lA1y{^3-f3qTE9uM2c|{YDe=FtO(w$UByKRaaHh&AkCj5z%)yUV)&ZrC< z0ocgpK}5FUI@OTinc5G9myP|7*fI^uuViLIT8oh5)=*cV9JD|gmy-YhaBqPQG z(Y`c4X@)sH3f9mESqbY5PaA0KFkR83EGVixY|_<{B>Pgkfz_HUvTHYi^GTapA@*ds z8#uW8I+wTWRfvu#GxsVV_MyRQKBl&<*iHLgaR7dY-}q7Y$np#5Ks+h^Jbk5bg)!!0 zqGbVEcC(&dAnSE@BBw^9=W`8yL5Zi#Iq@pCw6R>k002P7A>af6Ku`aoY`cM`t!@Tt zr95Sg?f(l_elM%auFtA=k5}*O1(%A8^;ojwytp{mcrF7&e{VI(s|5xpID#<4a8Usr z7^(%t-zT~0$zPm!Jn+?kpD= zlN^vmR@Bt;;PkEmw-EP`$QR~S(HksYC)S^<15BoAn@3DEvto_O>`W3R?qUqHA@@>giWHUJz1Y) zTmC2^f*PV0q9q;r@Kh714W1NFahJMZtPJcDjV@-!3L8?X=UZv*yvx59+*3 zy)$EkvK$wC9hqZedU+YVkj~bh1w2=4yOo^T(J5P44_Kbt7_%w}M~B=$ux`_nwwDN8IAA+rr}AXTAd5d%bnBdx)4tZY-p1A&v85u7p}i5J zK9CQOLeU!-A$|D*coVw3dli~Jz$4HzTjx1uYH9er=ulS~m0`H|wQw#K^nR_EOj;JoHh|68$f*u{_m?6C^Dng zLXq`)A-;2DxBAD)rE>pQBzqSs#9>b%B`BC(`e#wgnsJ$2E`ZYNbU)(9tX-Lk-uI%*cvg9PMgHAiMz z^w#vPEPwjcY#fau&?dPMOt}tjm`sI@*6Y+<$a*W^cao;Dw=yCF^8uZeZhw1cxbQRJ zANJf-EAG(3vtmkSvlJ*or)JM6Ac6q!CqNMFDOCZPc>R4(#|ru1y(^FseO&O4aL^!n zLLZ8+zr4PJDZ*C_(2r%SD%D0~tA7akQ|X{SLNb`Hg(ckx?S2bkRzp+e>93658+gym z5dGoMmRlRLB5_60tVOliegX#%Tx2nGP(x$EfQ>l3fUP%DvJH{1w7R2r0lZI&bFsP# zL)5N_z+QlUGD9W#Fjr3^T92m|QP{{yrKZMMX8NP_o-M`U?_uous40LL5%(NB-!VjWz(ag_P+T;kPjK&y zk>K%U?&xUWRU<`nC0Yp7UZy{i0>^PaE6a#3{)v2#C>xSrwJ#VR7hT?9d}*VLLWg$& z+JT57Oy_+QNZC+;{fa`j<612^flQ!Vi0#M>`QBvsZpjFLJKhMP`E9MA=_9y3n7y=3 z+OFCRen{uxay4Y?cLn@g1R!%#=2ib?rcr$b?DLVPAgYc^h6n1lo%b$l0(Vy=-niy? z%RITWQB-~nME?E0D|;c2nhNlVHv;rCuTZ0Akn!?Y1p=Fa+N^x8!jwQOPO2Eh$}>!W z@fR4oDQF#h3(Yb59NGC3M^#pnf@o|Ldg`zg;*3KX5Oe-rw5b%lsz9<^D%cHRQjHbx z>j9Ry3eH>T$^Pu?P-dy?%~Zp?d$ovCU&d%#m4(4lcKYK8CMifC5A=jd)o>gTp{kPF zQsZ(pv>5zP+e#4y#bm~gt05r*RwU8%e{=~ zZ+;}yF$n{%yhE3w@E@B~zcOFXdzkD=hrAt`|A6O=XarG(^fjXa$Q0lz=*dD%W7F&o3$Q%CMinK|-!w$endn9?AIU60 zo$sGIQDHlDz9D)hHV;HiMn#(W{L^LCu|DrpDTT5er1oLI_$PqDV1&4 zY17%tLFc#`b9KR@-|)Ng$R;IzQiw!LEYF3iR>JZyFzL!^i4orOF-&Jv`W0Itt#@H+ zmkPL{9Q-b9e%~J6Kel3x?XGF_aTe3CD?y(|Za&Mmc1+N_8Sf9KPtoS|>X3zF?%_g^ zjH$9b5AmD1o+9kBYnR~Et7?z4MJ(`~W51-ZRRUe_u*jPm6BS_+i%@9@!MGq$^0<3z z$WZ&iEQfY)uQcuID_p-qC4fTii+=lyIH^ghNh54L?6E`+_ONm_Gfik};QG(a zZA--BPZ>&A>PLePu?hA3S8o=|E_$GmQko;OizFcfcO+ae8*EnC7$=$fldA7b*Ma?6 z6fRC8`qfz^JUZ=fcx4FXbLS^Mp!;Ho^lD%?dd&S|0s**t4C4Hk8(7pi9O7P^aflC$ zNWt(fSkoGw;7D!*Piyxix_W=Mou3rt4nvQ`N#_$Na7bS`A4k`RZizX)f<4!+tOs8)FqP!jnbZ>=ZC(*Hc2{>-8z z6cNMHBeemGoG~sU)9iGI>1$@!V{6@|`w^#Tx_btd(K|vcEfSCPY;FnZpEK6c7*5j#ms>4Rl??L^sbPswxWFvrTOy+!b+z2vlYKdz?vNj->iDmSJs!c)M*Zq@Elk{s+sE?=ycJV!_+c7 zhmpgu2_$b-#P7M8GN@nbBq;yVjMul_;61LBJjSs8d}7RZt__{bcvQHJ8(6E(!K~E0 z-x-6IqaIB*iNc-ektzEk>vMsMMJdAprQmsR{?u6EtY_2JJP zM0f=5ng!O`0jE{O`L)7u5==crZjPTJCViTu?A7+qvPc^CRLJ>X)KQ00FR@8y-(0%56=eFAn_oP^k!BbNKRf zFSP*gD3{6^O0MU68P1D>Fn2Y40s5393S-bys2JNhQaOcb$+GgR&12@)= zaTISVsn0FDg-cr_vO? z;aDIdOh6ujz$obW#1_SXqxIR4$zR%zALg*ZyP9-tyb-&fPE9%Ux6tSiW0u$4K^vI; zJff0EIzZ1l26jZ1%7o#qBDXj6fFfi(m2u)m<|!TMtGune8t91We06`<$C%7kBz|b7x)AqDlq}`oo#1hG z+Fia}K`CV;YZXN(lqW!rA0Mn$JxxA7nzgBel5}Vrc!64bJxMVQBxcr;ObRSMG8Wf~ z-CGBFobQ!g5rSpS`_d_P4P={X_+|7&w(a+I@)RU?KpYmVNi-_@V%5gMv_wM+o)@BY z9NtDES3Xf3%Mb{lJ^)jXYeK_$`aZ0Cfkm-> zycy=k-zskG#^1+r<*4jgQ<#PmUi&0qDoi59_=!CP0#cd-v2CD$9jBD52FI#{Qdi>n zF~iMueWVEaM&}}f5TXhpg+dhlxHqyPd{{s=)F*pTnvpNYY+ zC!Q)YieL0arUGEm4|DNYysUb5zCJcmlg(tyw-x-;T)nsJMW63)cUu0wc50@=M1(EH zG#h?r{!cgr-tUfF73GBwUHo%k)6QiAKuU0v``!2sjfsc2Wh!*@IK?{N)XoVuxWc@! zs|McK6+144{9Uq-yD%)Zv0-0|m!~#YFu@NOO_5o+Tr7gcYDKIBq^^Vc+)AV-=v%!ScX$*O8>kdewGNq;JR{nQ*hr@UAqEYYF2cf*x9C4i@fr3o)th9!Y{I z_t%+4Icb+*8s4HZDZbHdRg)6e{&cNok#9~MFBlTEZ|&NsIyv?S0!R_Ps^0x%7n6*# z^9Xjjc)QDDet^O+n({$;!Gk%r%nYYThMtEvP3_Bi1_kp@hKAC&VFG zsegY7s!mzBt%|n{+_tushNm=0MGo!wo%J;L6)oG#>w#9@4va=8<}P-dk=9ahg}V_z zo<#kZDzGjQ6ErWYYK}2#fqnr?x=xX~aRKt)C9R@QpQA|zn69u75}nPclV>>*h;h2~ z;F{f|DY29S4PQrT%CmId$kW7FQYtCU4sNQ07S=&doITMh(%+UfE3!!K`C?f;QjbHa z#3y$GX3v)RnuVXC(XL|~?ko|&>s-JoH!F;eQ)prQq+zE8{cif!zluT1J&@n8@5|od+k};#~xbZ>;}0!pr7>5x~q6 ztuP9b(ABkCCQU=4HVZYZ=FpNon)K!k0WPnKI{#&# z;`pM+Q6QQEPQdW#rPl+m3}(XK4{OArSr*D0;MGA4!Tu=N9q1-o4+6mx$?ZQjDz3_$ z00Y_y4W(5Y(ESA}6{LYe{K1CzA~Rg#NK=daoPAQ$t5O##($p>NG}HwWfRd6a{8Q2M zxgNn`36EWqdAVe-x?!`$?5#>sMPa&jokY|&FHfq{?%$d^&4v;^q6fBC zRhip#6}RhZjR;WUi_yMbvi)29e6#B)gH@%se~3MN^J-z|X0i*bC23!ArFWKAB}rw$ zk84@B16FlyRNHm4U*DW?W5;UE-JFRLP0iQtvn~ZMNN(sC!*iF|d?9y$hbmD;@A$zP zw3>d4O1HTeF(Ao8LCIWg9pC~);OCR=u6wJ7yVXJj6;^Y>vQ-NmUd)%frjJ?m_ZkoZ zA6BSR4`i)8?T64ojeJP`A+Y^f-0?|edb#?ia?!6#JReb4n?K8TCF6NKjo<`)fYX@- zzB;e@hzOzHNC-)Zhu1B{W~OzriT+zKzY>(}DMQDUH4=dM?a}~lDRm-yDV5G# zZFkmi?+XY=ck)MO7wqN%t%-Aj;&12=2X@@JSR;;i5~nOJ3~cG14`>0fg|hH%gpVaC zC(ym`kNSpE#pWmr6H~O_CyZF|@`+bBhMGa5n;$IKX+1m`w)MBRMN}%Pca#?9LjdKc zvb`QR=!3EJ&;mC374|UP$dp^knME*P-b}_Hv*v1#Pm(UgVv{47DS%9 zal3U{ELZ<$zd~1w3D3tUgkhzQ=78x7c;?yzz)mZ>gX7tSCi&7{OJBbb>|~&`HSm;U zpgGnAn8`JuM!YY|6Iu@I5d71H!F!Sq`4g%Yd`!4lk4k$|J1sORXB;DLsrQ|M`E$YZ zcIq^ti0|eRkxNn(>8<{>`+zPp#Lq;N;6jufYw@y549J4mVW{X#69b|GW?*E%df_;N z4ebdpqCvEeiN@TL$4yD8u#-wE)(w7x?SPbgrNSR_|d)alTS!&dt;h_s3 z8UHKs0O*R(*+qIxunfR@9!*5()LA(?mv^=VoYrsEOH3fRZ4W%ja}9wp%9z9)h?kUj zTUFQqQBBSTy=u88d4s&SOU-3T;^`+q&2=u<4&&A0XfjIa5NhWVwXyE`4*v9LT%>NH z9!z~Xt7Rq9R=?>}hVm+qYSc8I<07JmAN;sE zYFW*|<9=S!SyLw9Vwc?{bik1!&=?D8CGhxo;K8aPnP| z+gC_)OU#etsY#->y3%OTH9%|esY-+pkr$C6B$94QnzLBIo>mHxPL|rJ#Jqitil1je z;;%$Q#+Fs0+Y&Kwj;Lb2C)KtRVI=ku3q$pRV-#!}ZP5+D{1|FQ&XD_V&KRi0ZFfeP z4=^&2EcH~cP76cKr9;+5NcZetEkZ_ize)hg1<36Ww$2qwtB_<^mhNB@_ECMTZ?2Y= zNHkYKH+qXG+_Z(_*vDk|NCs*JFQ~>ufxdxKzW)S$LB?yiiaiD5@%K8QKA)}Vvlqrk z(4o@rfCJiGma4h`JopTqu>IQXE}}bf8_T>I)zmh$yg~86-2}2cC49fCU!fU4A_K8D zTMdwjit;y)fg&|bhN(Ktw;T8)O%2VGYZpeY3&Z2MM?Z>0);R99?IK6Y*h-?+yZEI}d|;q;YVZ`tSbv>&(?lAGOFnLWg%xpEg4nbv=zd<||agX7YX{7*P>(l_q{Osn== z5EzOv+eGaFi?A67(lDoQG!Q3gDU{EKnnDGC0o4NxL&Uhg{~Cqn%n`|+EBm%5uX7)P zTVr+F8dGlc6|hNS-jF4R@k$K^h1`LY6Ao*z9c)v9r+nUUM_dVHw3TIXu9K21Zcemt z?T)JuJ~3HTszdWV<6o90&YdRAqy-A2;r*;aqdRyS6II68a!3Do^cd52cEP7PSHd}W zX=zCpbJBa^7x>m@3WcqdSFsy)+z1LxRsM_mIN}!R3yBQ~WSU25Z3fENG48Zh9LFH~ zo`-)|<^(d~xB2kZn10lgFygpLa-HLe=FcsSplPpf2K1G9Y{ko@Z&}E)5J@TOz zoy9#qP=iq_-xaMb>3X99W9=!@&8{}X?zt(E+JIndcjzNvPzmH^jFr~67UHRW_G*X= z)3W2hGy~ASjg#OHai`hCyo~%%w%D}Yez$P}+K+h);;Q$|wr5E1^&l{E@2lzWqC*ge zbHAj6Oy!dhlz#Qu_HUT$ri2*MS=w$;VjJ86UV}@KroE|}HuV54XQ_I;6@S?IUqSJ|`Qb0x-bK+p@nisEIf@mOu?VZw*H(Z+IVxWL9Na;-@b{5Tt#jpL9*k&PKd406JmL8E%5 zRze#QyEYQ8pvkq0n&&T|6@hU@pSvCG#ELFCzrnh%xMnEwW-2lKB@|vU_Jj>YUSsVM zrLJGWg#hOEzKlvoeW6}6miZC%`&3A((CmhtV|x2z?u~0FqQKvD94`#1P*VU5Ebxok&?R6>E_^ zy}#WI&Ts)-AV>4hL&AX^AJTdSwyo(3+^K%-U$A8yeRcgQ?)>g{RTg`94jtOxJGE{w z3QI*@cBJo}XPzxb08jP|&d&4}4l&O5ZqVk&py%_mj3=w= zzW}j&0*F2bf!mbe90N|@cnX`!v==95Xg6h?gNp(1jYbr7Y;}NpugOZ?TiyZe$@?&> zD3<|(>-T(n;;I98Tog~h(Zb{m;%&35;dhGZ{QbJJFy3*pHRu4;md@aCZNxvWz5Ohx z{zt#XJ&wq2dRguQ6Eb8RH^Lk*3}2Yl*lR^qi6Xz)(t5IP#9c4FzR#4C?m9z%myO%} zKJ{?k1-`@2cI;jX5vkJq&uhOemxfU1CIIneGk26m8Nda24Ff|gb4iPgvq_= zoE^)URSnGxUYCJziOy%%`%{!5am!a`e=7IBksyBYpRPw_qhW@Yflz++v-}Y}Fs9M8 z<=QuyO&4?ps@t+qK33@T7~d5ny-OgCJ34`C0~M^nicCaU&bom4*nZr@)_iW^%+X5o zYcdzz`;=V;J*UTTT5Tyrw8+P(QP~-?+|i@X)MHY7zgT`2B9CJ8LKI{MWho&DC4y!j29aPW4qqgX0-pSb0dArfD33pI@d0|)JXbHS zgPp$>c=9Z(dse2lB1b>7Ld!fEz)19oHm~u!g%8HdUx$ypk7a(Ld+Ua@?(YjM>hv=| z#3MmE>1W+{)=G8-l?m5q&2jy#SLj6X%skU6ND0esYTHUq{>Q5zGrLjNfvyU>W20UW zQIcS(MG8+o@l`AT&|0x-YB^W1MXOtj=Z*XrpbQuCS!dkO6z3bJt>H!~?}OLuZk%06 zm^i2mNKciaAfJJ_kQv6+fv(QXT^K@F0Wt-G1}K39kbW!)^yS;qvoxs8@2Nc!0aKQ* zyVF0(w`Lm@fvo+IN`3@qAv5dV=B%pdjHjk1yJax>b7>ar1xRHj?-a=kRGKg1%hREt zmkpY)ka1F_Fh(B;Ftyizilk6ok3Gd=QDp>KKJ?MYElQ@JnXP}uY%vAAO3C^+JScJs zUmbVk`KE_^2Sr!BhYMAxQkxjw&}sa)Ba=IZs$lhQa4Z`elHXITdY(_H9Q2YD-wz6; zf@c@r*~RfB5rjM)hxXVhSnNFcd>yo3tBV_{LT#1q$tRh-=3Kg{f)@P!%MzpQRF2xo z>`yo1gBE6Yq_9b`br0pSmy?;~TM3HEmyLrAufDb*NktJXn1@$1iN2ynlvZQ*jH+ei zu8wtmw4#uHb0Vu$sE@TZQVSYAH)ch}_JT@LVuvS9_dYr^*qsiE29lcyEAQe-J23KU zmgfFGWtbj>JM*3xgmd}p`TP2d2#?269v{W-iRBa(b*s;OnBjX*o|NU3&Y9>DvY-P) zOmSH6ThM)`oGl;D3UG05$h-9?xW^N(McgZmot9gqH}1mz&-jk(y~IJvPLQ(tmepnv zPWf4~@ECOHv4xD0wXu>fTIgjlF({{L7yKF% zL+-d}M-Km!`OVFfzpP43mn+eyos_4EyO2^}h4AnaYKGv@dQh-A}tY&YWPj}BnN8n|^`wq3>+mJz3Y{G4x=sw@Ypq;-2GIR6p`?|IsmQQu{OH`{f48eXL9+uEUb zr`+!Kaxn=-wGwWjlhO^PwVK%wUotG0538&7T_ilNXQF1cs02U5Tnl5tj&$!ZAXa=( z1-N?MbY0ohyoTq{bia6#0J`GStlA@Mg8>EO@jG#o;pfQ=P30E3QVWIu9nU5=mCgKl z2Mmv*`z=&f%fSiLjd9D{kAQ(BM2z_s35ksBH0h_cE!#r35o^2K8>rrU8R*3uD!`*0SynT~Qw1J#02_3xVQ**>O z!BL>d#!v@*-qg}DCLF?ZQL`cs-QTP`dL<>MtNHbQnfphqj#Ir}&uxqFOwA$z{DKy_ z`fk+LPUkN1NxqcJ-AE@4n|}q9Y*rj=Y6uq<@KQW7*|Q@b$eFAofD6+nuw0T8^E&1G zoC5Z&jTbo>b4Tqm`>uSHb8+~MY30v;KUW6)P2)cGCVwh{_XNneM^OmlV2Na2WCPBX z#@N8)cM)k~DE-HcZ%0yHRz^gGrEUPJ^Mjcx5gWDkY~Qe2=`9F=jK4(|vJHDta}s|J z>E23C_VmjbmYwbFe`5k2`+|m+Uo&0^J-?F8r9!qu(*yxtoLK2u1-=mk#hcaHor{I+ zODk($`xnROiGm<3UY~bh#crdP1!U8;hLoMYUfRIsEpw)^&Xp)>^(A{~oCm!*cx^%XIMtvIx3PAW-QV*TH*hFDfrM`WuT(yyUI(;s z`e^OR#x=GAWGE@g70@$*$1zo4h!rhxb#<%K#7%A>``(0@zcb#0F=Wtk`tUc)EcLJ7 zXC(;ZlpUSSuJK~d=SKPXbfRfx$=z7lPl@U2>LBIVVikyG8a>4tM+0*$wEfwNTe?O@ zQKr|~4Nhc_pl@d_+l~FS6MPy3u~HTfW9cgklSY`}K(s&Qn1LmM-Ix(O%^YAMA^Pr2 zX}nRTdKB0;L@XeDDbal%+p8ZIhjaaHOFj2gfNSO#uuU(NTJu@jBeVGTyl_3VP%yZ# zDgWv(TPN#W@(XN~!X}^;gN_8X_DvZt_etO(m1){%v+LdchB`@ZBjp<+fqct^Wy1DE zPtJGoYf%iZb3bC2PP06#RzTvK+`_==R~H`Vq-q3wG(ry3Vyor1d-DqCAVH~Qb24Nn zpR?|QI8n+^ud%4OXTjBDPQU@uT^Y~k%k5ykho2c|{pef2QD94554bFn`C3YmWs;50 zyEt`>;n+-hb1NJ?0&zZ{Ydz@<%kt`}B=KQsstNg>@&tNj+~tY4XjU4lq#u2lP&zYf zS(Cxv+WmXs={Qx4!XaV>X(+D(7B)7g45a&y$wnWgoL8Bd;CiKquG9AaTRoL%Q@mi2 zNt-HN?w3SVWi$@zl}bbAQ9!qxXc>CgUQi}6>buy3Xia3q^{EfQS#Xh54pi$f;@Ox& zd%g|odueZCV=YHzsXDB{W>wBiBMwn4&4}^wh-06XD&`pO(6UIOd>%DcpbQTw5>s$F z91?ha3!1Bzo_{O^Uk=v+-m_?I^(?dodrq|jp7=Bb$VcaugKrJ%S(mYKrqhzq?}d~- zl}fF@&d(O0tSE^VP&ZM70BBJ4+2Bt_|05J-m zClKnbAmsn0a&n zT|lD0gCQ+o8g+B53L=`Y+8m|Vq;-4&AXKGBeGkcud?d}Q?s%wf9&4t<)_>}u@j1|$ z(fJ;{@_X%rM{;j2PIwWwIrI?$=lDekX<>5cyeb=quR@M$)luGQ7dO;m1fU*8Z3Zo3 z-2U@_>aM_dl#&YX$D9N)`jR+T%5V0h5ce^r0Yx0M_c@D;P7o(PvZEQZ z4k^i;&U`**tkWIG*|-l;fPF@7ozi$%{D^9a^HCKCdMegH!jr)pJH|*i_b?{YyB2xjdNx}>`c(w?B+|S za=-iIH{=xoKG$VZI{r?Yx9x7)XGq_A+$o7YP z#u=q63H!%B)O&S!|Ma&Pm=!xYtHFE5OGD8)3sXBU%APbzyV%-rr2L-}nJF;C=JE4l zan{#7t@$?aTh(fmtU9T@zlY@}J}OL+6RMcwUe@W{hEN{%J-k23nxkZq9a_FEEHBgngQgJ*-wbG?Y@DmUls~!6h2+1~% zrd16CzdR=ibP#PamCdyyBAuEGVsYYA+z{(CETw%{_QA zROW{lCFxz;mNJS=2W!-Qzw78IA+XO?3eA>Jm*az@S3^BJwy5trt(6@sIVPUJ-efrf z`O{SgZrc%Cw4Z&psoXT=i1Ne@BVjyv7M;>AHHY)-=#Hdc=Q|Zll*mYw(?5^p_Ceq6 z&yB-6Gz)4(KCdC4(8QE^F3%*XgA56UVkt`uV4c3s*LWJfapt8s`Hj6p;(Lt{T9u<8 zNMHBf^f9Fw_%#^As|YXrIuZE#2N6?r1tI9j_va<0pZ#u~82fV;ynP`ZFJ!J!(M@=H zdf{O!2%X?o&jWKJH_)K>_#2wU{85m6uSs3Dv{_h<>Ga!81H%Z-PFdzsV@Q zWy_m|OtlE#PBh53!D&*ysC>X>Jgw=26n<7I8W3WAs@`zG`*$=mrhw0^XwGra{Lf#) zMt=-+Na8&eOw?WOhO;<5YnZc#fyfS6^^b z8Q?yoSi{mMa4COLN;A)J=;OOQQ6nCjNHb3@ckAx@uNwSoNIF4SL7EVL2&xk^) zwNy0^eA2?{QS9&)F47G0ck~zFMkYy(^K>iW4KtZulS$ITdQ2^*mL}cldYb=7@OY_p zXq46>oz6L_^oS)5e7wW|Qh7iy08#vQq@XGuMp5Hah{~9FzPAcIM2aZI^d^p)4+&i` zu%+^z`nKVzk%{yX3?fDVwyi;8=0hu;QxJAV%pVY(xd&mg*xX?n3lK4aT9&uK-c#AQ zm|$I9nH9eNHfEv+P3x1p_B7t%&Ww+<+_^&?*Y(cZ!ODTvKP*&0W9!sa?YPT#Aw3{H zqN)f)q9gUJyr8pjxVREsS{{rBe6bATFVZnb?Zcp}Y}Qo>H|n9Rx>KJBBRMl1EYu4CTwmPU z@I8ah#Ogt`51H%A#NCb5;b#*j6tINNqYEG}R*~P7_OWEubJt+nEY2Nl&;I!S_6N)8 z!qCo+p$tp~Lhr$aWEtr- zN0F&7np{I9*dZsmNu6Rff#q64RR@&+QGs2CV?AJ!QVc~c^JMK@5Cc3)NP7&TF;hDX zq~1nr`BD<&)^c|;>N0;HO+J?fWT!g_cx*}#%NFWsJd$|{Ki+9&bF*^+1SVqWl{!eP zA^uRv{Ypdw1F$F+7vejq8|s8U!yvI!)zTAsgK!J$G@Zu^L6(-@S4oxv`tCvM99{q! zLAD*&=bZe}>H@%z1iARA$_nNQxA^`Agx!@ql1A_0?nqn3^&~!?lb^*Kf5(@nN zKED(WU16IxqMjY3ld=|nL$7gpoh*nHhyfg+?BHwj<-o@(+kL6ZwRzQ2?%;tfTEP-n z>YE!1FJH=i)_|kxXeyt|8Min1`lUzwv7aVw;3NgDPZ%pkhiIMmv4+SNrceZhf&z5i zOuFcD_PqcKLtE>ZfB1w7ddp@UgABSb< zN|H832iOd|Rp3Pir|QG($`nywd|J8b#m)dXo}?d_cdvp?f{P0abHoM#RExk8q-o!6 z0!Ti`E%qPfOK`TKP-Qq_zwl|G?-j!4qoz=+5iG%YW`B^ObK9U9pDUpugS@_PZ?Cg2 zDKkGT&pc!%%RS0ukhBu)hzOigvE=hj#!g%TEKdCx_aR} z+iJ$y?+IXleQLL%uW}9>{&G0E)(z>G2d4>Fu^}13B?%yq{1~cugn+n~R!Q?eY>;2x zR1-padorhkT)Y|KAFz;X9cxnSla+E*9znR4W0zLSc2=>JJO?@CN^8?O)&Dud?{;Jm z=43&xke-`f3;~_(RCs2NMNiVpbbhh5i5%>R{MRf)-LN&sOy#btE!QOT+}8begGLS5pf__!p*h{Ue8PFp5= zk7MBe%yFGA?;7DbYLJIu3}{1&!WVpMewD!&5FmmY#HfX1=A-0Qy%ui=q~DFMxV!VJ z>m6QfxhWhuJNRdQ%b`-y9DFl-mZSQky)>6)~T{dRCNr zuD0cUrlXV%-JSVer^`5bU0rG7eRF^G5ly?xL49zYcrbM|S;8`>zjv(m$bXLL)T?26_+#+3n2*La`Jj&h|1efj zLfc=XjxG>H9&||6WCSi3a*4wea~$cT5i6qUkSP~5N=Xcg8ZK;~644R$?B`G4O71VYYNK3g`^4#3F>^e5B6%j`8JnRmecqdCcQsGP@DvV6*n|E4BA$nO>aNm*bLYX~=><^(ol&^r7`)?1N zLgl+zJlQf94DL11G0U!{u=+^h1242p)(|9}_H>&d+=MP?7iG;j4hGGShjn4$>6N_^ zVP}mU5Kj_=(2XMKR^j&pL>PJBJSr1TfJhPRiM*Dw3wc)t7vOSOLI?Vg?k2N0`;NtK zouoa&nqfYHpalDRl{ciCV~PzzDHUm^tISWU2HzS;EY*e5QT&~Gh?)R`puybO46KS( zY4w!~{+&4-g$0W{36GhRrKkZg(n8nCNaoL~^srM#kZxJ*BmO&QIzywEU5|?oqR}&0 zUKO3911-|&{0Q(W3~b?bFadv#a%dKHYgmDbeF0y0QqtdSE@t-f;J@TbPs-J`c%5CqQG#eQfSH(R9zEAj(p}0|c z$h_0|?`Hy2HgJI->2vvE&yQVS&zh*QRUDuykm}_u<&ws!xD5xiGE_8GFVHL`Q}AxU zwf@Zqgcph6pIvy+zg#0WJkcfW`}X;7jLjNl+y|iUfqO#Ho+13!!qH>s$H$t{30_zl z@m5m5qJW&lMfrXTWA97wB)C=GNg z)52=`!zV~{n2S04i`F_8RkJCtd)E~2n^!KWiO9Hp`hdgR@eUs^1uHYm!_+yLN}$k* z4;a41&lx`zohJrYzX^s{$(gf5JC8WH!99Q4SrvqN+>m}H*!MLsZvMr;Oo2%$N~w$F zCnzri3>$&$zevzrKK#PpcSs!uBl+Iko0yTJRE%mggh3?~w6YZVIonPx3cWSh>Rzv{ z1$usL+@FB3T)BtfEdgeFLHZwGfDQG%No$86shpoQ0u<_Km*48YNcFBw8*e{YP^MrL zZS7+8UV#TQe`8D>hkx+mbKeH`7x&WywsGXl$!0?5na4oT%5!QH4mRZ?mt?h6suZal$!HKdnKR2|o|i@tlEgbK#2!=M znR)?yo^*K0bMAoqp|WGcBEXY=WA?5!r>(6;tvhU)NKso-$ zl)0}0e_FA&Y#WxV$OvJ&iR?(8zX>!+J|x@XT>r;4YU!JXa_l9fh@VA;Tx!4j%{D6{`KjS1|J1~bUZ^HdEQpG7F0Z`BG9tggWU&b zXm*jczfHt(G{!`kL{I0@YiMwviYlOkK@6EW)#}tVWTB+-USuZCWjEo#U42(Wm<7pn zQ!!ok(rVKk60GqW1sod$zri{7=D-2(tjIgCXIoo>9_386f!}SxddwcPeH^yU82UR0 zrCfCCSG8=l08HOa59gKzl2rdGS$WU=((G1+726c(&F^s4P%YJwI~1N&sVUaIL3RJ& zqEG=fevMF@b3^W0>?t{QkyFNR%oUNwXHXd30ws|~x9sX`IWX0h!96~`-iOsVn`Oj%*; zIGLjSD)=A89UgP#CuGwN^U*TJ^k&Lz6wBJ^kDZ1tV7Q?;Uv7>yK$Wj!Gng0g^w3kL zE?#KEF{Rd;7KQCz`KyF~K8P-P(zuH;u)4J_?4LIo(VKkgkRYW2k(aA|BW+mHO>lIq z-ceC+3G(q|Fy^n2UL#L2PY3i`xV}t5l@A|&Tq97xU^Pq$A%P6h9P)mR(DscAX_9Bc zT^WQgv_0VPf}>A^S>Rlg`~2_*P5KC1nLO>+c!4PAZ(ACdR8rAL^;;80ZRxDS$omjU z=$L7+h7SaQ&IgfoaKo1`M0-XednkIY_(MJOmf; zh(ZO-Wk1xshR+dR4`k19?j%Zuh~T-;J_v;qc?( z^n3E8FJNp36Z@D`by!$DPt)38s9mwgNnS?>UJt$ybp*Ytw81=Q5I@@<#mK-x?Z@}o z@Ugvc{$9+S-`s`h9|!2i%0Fbr(~e5ADJpZZ#B3U+LToTlzLK%^!@`I_?fuQ&@|k7` z<_tH{Ie{qgUVMG*g5YE5%0#kFPKkExO7>39va@owu+Sh+Y{<8GulxVAyl2zWSLv0? z8Wz-?{qM0Zl??c9yG#zKcs}O~SW{?(B!fb6)DUqLrfYxz02#0Wr~!Zt34iIavXIRh zS-kw?6BxMGDOmtmj2>vHH0H?cIRmAYeKf}j{x~s#af6*U+16B2>vM3hyS;juOn$JHD17VNx4U?qZdr0#(8n8F zq}fZL*dZ0c;M@mqZP1lepB?p6RFne6eltZe}U8`iR?h3&8-6)q1NAbFAY#XlWsEg0>48u%fO1&V9AVQU+aE7o;r6l zW~%#riI;odQH#GB_UuBe&vjk4^euNWo8S>CCwtjI3P%wL-KX^058IgkZ~WU@W!|v5 zNRa^HaVx+gNk5Ov=_at60Ti_X|2i0dv4$jI$_$f~?30S6U6f`fIkX1`0JFZ-cze1D zn!jW5NoHTmGEWGx!-KCGGjK(C%T~3asgc^Sn0O=lu};jl(>*W;fs2Lyvf?aU7bV{E z^09#4w(CoH@mt@qJH5J6Vw$qZy&Pp3bD_#|-^2#F^yd0Kf_m0j2qYg2)xvB)0ar1qEKJk2mK1MnzkGbDb#F zqd)ozFh5ze`$&o*XxOV6ah0pqop3jxs&qMUGXiKCGM$X?R(me7>58uP+k-H9=pFER z$EbjaE}uJZ4Z#*axecndw@!BY`lp0MEGU9U}b4a+wC<_xO&l((`U`pr$M(AUH5I|ndVJEpqt>B+Dj;>m(Q2hvu$rC)1N zI9TNF9~yK2zuwSZ#?6m|bI~TE+n3j#gtFiF5Q$CaYWDMf2t-&r z5~o#L$;$}wXkUpaZBb8(2$yJy{kEbozKg7R2|3RDAp!%b${gVJ?v}CAM)g`fm}{0S zqi75E>@MuSO$3<`82DTrm4Huu)1FXdh)yFk7oS%kW~#7IkvV84`8#LMS1@vvw)T+% z+1}V|39RPe@kHP2L-7CNw)!hz4RyNOBL7U%R=@@$m}z z=!6t83g>@GoiJJkI=fVa0u&I;hxyC-OGjxrKUa(VH&hGDQR>|Rj}fw`EIXEvkM zeK@{ZrputO%wbS%`e;b2N37z+<3=WONlKUM8Ps@8*T_7W#KBC7(I&Yj-o%HRntNTZ zzqIK_FSz5Td$Nf0dt7e^JJyrKzYN&fvNhSdy3jrZgqX1!)sK?9%@)7reK8kB&wH`o z42pGV|3RLU3&{1WbIBXj6NFJIALh|RoDLqU?2G0%%RQ#FXC#1whT5{{=g=d1M_qoO zxEI0FpBNV4;2=!{TTl;2%HjJ_oYBMo(gQptbfc?bwrrN z@qCS9T@ap7Y$UzE2?{JC26`r(8=7$FlozI5XkiQWS9B+N58Q29Oc)1Tuo7NbMeNG_ zQYcd%D{3PkYX%e1OabG^4;nmbcDf1?2xogUP<60-2{;`NAvuiDzMu|_yChO9txRjH zy3!6%`VSbMPoBNRZbkOF0&U1%6$j1|LiVd)ObPBIgijX_RxN!j8=eL7*YOpO|Mi?5 zr`rmb5kaY|x(Av;y1m@*)9Ms=l8AkW!w1beQv|g1(A=Rp91Z^26)2zgK zy}>VIB>NbyD8w(--pHX2lTNRHP*Q&n6eZT24x!fWDz4Kz1|8lN+e;U7wiI1N$bO0P zgA&0OZIdnb%w+8~B7??v$3&O3iMSP-v<0#5)@IuI>u3}-7;^z?d&ZJ%Q_0>*sUBY3 zz~`kh^`Vh>?BSFl-vw&B+Hs+`T}DC!hi~T#YA=(-O~Rv6Jgx-{S~G%7kW-QMT!Af> z4(I~Ru^zLUV^3uuDm=&p;qTK~O$y_eh zsUvx(;pIWLFH%(J&P{&Lq&lSxl`WNjr2||x(zbfs7XE_c^Q~q{i2w@E<$v$}ahi$i zbJ!b{EPY|?Lk_nTC&kDIPWD1M=;eF)%n~l4uPW)TT}MaH zbz~tw#VecM1UF{Im38FH|v* z&0bMk>K??>^OR7DSo)71 znO7iBw-vDjS1IDcMQ^}Pgqof)3-v=$W6o*J-dQtw6EASFnWE1 z%d)sBdUTLArlAe1imbXGM^(CLIs_{W4~F?n0FLt>-g2>DCVAqX;HNso6uF2~Gj&tm z*-K>y3o(V`>7@kpO#W;L!=F}%S)jEpxG4JjKT#T5`a2MuCNr*u>);8cXG?M6onnV1 zL)GzzW{l4z8=~)LsU;abGIJ0KU#K{Ai7%KX zVx}q8OpV>IsTM^p98)GtsK?&0Nt7T9nof#n5TA0gEbU!(M`I1kL$anGj9Pv$_7XY5 z+Zo1X@ISnC=(VqhcCu*i*z;kJgBBYjm2niiS6UM=_1d`68hA4-UnE)qMhNyK&b$!K z@?+l za%44P{8eGO2>4Yo1OCerxx{47-&1+2Z1eTnhlS2pOr;YXM83~?NrHBhK5x@jQB@qw z%PAi;P+A`wCm0r?yO@2MASy$&f|Ip?%LPsU&z!1d7hWh~8Q*Fzw^hOKzZP@Vj8HaqoBV=p0&4BQ)^h%6O6ag z>p0(7vzoP*hJ9uFkEg8TvCxKeKtd@PbgxL$PS07Wq9^RJh*tF3UUi3<}QCL7_%p7-~46^BpL#) zl-xsn+^3F9WyoWfk(+Ad%zP#{#=vI0xNP}i$TpUaknZFme!O8?8i6rNT$B6h8j(Fn zFeZjK#_7#aVn13Bk5!WJn+&?!I6&~KpRk8rDmCyTvmOb-60=A)Y0GkIV{bL2lk01{c~&bd7o* zxxA=n6)Y!YCsQ7|{BDnV^f=U1jv6ztC$`t60 z>6L;Xh#buz%5n0!3{gi#%RIXz*Psh?WZ(O-Rwhk$QU}~-s+`;1X)%fB2*}50WxiHS zgZH{)jDY(`LEs}`FyIiWK`$tfveCq=B8*zohJ!br1*cm%AA2jPTpbcBDk`2ksE9|cp zOhh#o7+vDHQg1=effGPpLn=KfJ)t(&gh9QwvX?W=YnQ&{J=cYRXR_NSe4*+$mf+4w z%QT5q-=!VePq2O6t6y~wnfhuT!^|nFv+~ov5u)V--%c4fiba5+s+u_oF9qDB1%N za4hKyFs2t(>Lp<5(~cW{0@++4&4^ezZ4C4i`kxfhvOPC`+MjLu5C`0+gBhDjHj^$c zU%mqu=@<7!HI13WjJbWtdm%Epx-y^ggi*1DGNc1#B!tW5>y?g-%6i_ax`X(j$P9P_ zk3AF?Wu9A*=w=E~?d(^s??prb%LRW4#vJW_8lLCWV~o56iJLQ+s;yM4MC`D_|EWJI zp}!O{R^)-q)C|QQ2j2C`92BSuXd4^LoPETec7@vD$4?6*p6E{2?si;_z8b8C?|Ovj z_XrkVNj@~6s!jW&W9LGtKoW5Pi9qPl6`#P!B2g8ZbnqheE53-cgz+>`1@cPN~!jhG+vRsX$G73GlR)aV-{H=Eztn;WT%9BT=8md9J*!2U!6jyIfexWTX9rSoR8gl>H`qrJG~nsk09{9tG=HfpWN$j;N*aQYsAF?bg1Lk z=IG7_q-o+DPxcjTG05Md@9D7SFrUfd)hQLNj|UcnL=-6)uV*8;-{I`cY{6N6!FIn- zcH!Xb<7<{}3pB-0g%?6!1`_&WdD*8LVV-yja|D=dfJ&gYa$};LiVC9r8o%0;!D-eY z48&d&EZuVX@%Hy2XmHCcNipTp(l4Yj0|PoktY80Pv}905FZq-K{{~*O<$?0N3*}nV zdRNIL7e@8b8vxSRlz+$3m@hLT;aY=7uMQZ48IZ@l0*IZ}7i6Q7ZSGX?^R8g6A}I!3 z7p;Cv03ot-mouX?#o3N)R&n{6$w<*<@(YWuEd9RXzMdRvoB0<|v*NzibUc+zreTBu z6ug2y8Gd{q;V|Vj%@<7>Q3feBd-#fv4`%4M9D+^*blq(C+^SqamJhW5D6u}jxXANU zaF~=W?y=6b_U}!xoxOr=?s5G}KhGyD&8@-U5j!)EoS`y@S_)yIAv|@e392A;H2&g< zfD=K=#Q~XLomA6^w_^=rC;Sp%jorm;%8??sA}3XAY;RV%MvNh!`p0kY?4fQwmRLQb zw{s^}gjHTo&MzI&IWSIYgS{SEmn}))-Tm7)_&K&>+}XOcu>^aSfd*$Zrl=k^L7fd< z;+V`wa>|JK|r0Kjfx9_^7IAK|)%RG|??} zpuNAwL@$)=b888eCSU+m_|F6m3h8uM-*hSyH~yL&y^cW15i?vjd?fQDfzqu^ON-~l ztg#{@`y~kY7@zPRN4tL&V=oec__IBaIlid41-3yB?dNRi=w3rFiXJC#On$ zTiGN9WvPOy%Z|_>hPeTnzj*l^Rxn}sD)yW#oet%+g1cVOrLx*F1la1qe9VCI$Rm(4 z*!EeFJ}r0ARQ@%!`<}J}SPYj(ECy z5V6$Kq=(QJd)$IzVg9it5Y((~aoNs6?@59nxeiRZ<7!@rIs^f7*qW&AJX?C=`22Wt zonW*A#B4(WL@F#&iMDk96Fp@caDNV|&lG{|i*UBam<-pEUt>WCQ-b=DbYE4_Hdc#) zCu}x15gRvVvH}Ag!R)WV)0^AE2U(RDBB0cN}+ZmYsiCI8sHWwrrBBQOuVb{~m^=h1kK=zTO z*#awi^Z>$TwoM!W064rM;06F-PycCYc4#bcHI8lopE^9JeR>x!MmC4@t#bY>iHI<3 z)o46uH|pMV{b5xZA+cG}q(c>d}4nExxF06;S`-I_qpc)(5zrH#m zY~Xmoqk}iC$9?ISzZl%9Um*uVoi#XZEaX52UD70I`gxNl7t|yrt)D2DZngBj-Tquk zdB-b36qV4qtz7sCSK5>ggEu<;!C(*>RrLmQkYFg;LSrR0H>zLDu12eVCc7Ys%>~%1 z6^LT^2OFKX*_q$*4y)GuVS{)keCja0TN6?0f`Chn*6C$;W|dF22}p~Enf`m8Fg*lN zil#s+56w4Ey6~pYjb&ch0ehF|Tx=LDs4`jD5u$>d-K3W}>SoD=2g~zmbC*6qSKVYO zYVkD&1fxG_CAW-MqlEcovm$Dk5w#B9i;bFXw9TKATOiPRX7B~+9V~Z2B9PujG2ycL7f{iK)f)h;M#B!s>S0{S?oAtB z0pRR~?yjg65+uZ?TT_tFsGC}0DF!vByLsTjU>eu%xC_|q7P5u6P@;N^lFM#enD+ZH=49xhkJN~N5CGyp?Bx_0^8>gtjq_V z5#Zv{jnKWp8f?T1T}93}QhaZs`K^#=YRQAZ4>r$zjUN%ep~H8I6(~F{hCtqInDr~} zp+h&o)0?R*01<=g+pBV605QWl>J>QF-;&ZS3>$}msn}ry@koohhxw6vMJG!Ig&&w7 zujW^-?Ua9xbg*&(mW^w+#Wh_*GMRO`F7a_46|l}vI{}JG2mb64suGSB(6>uhbt^*f zvRzYAOSf=C4R$Jl?71eoLik+(Jt+=N8d3o_hBHhv3s!PEHO_Nk=hAhJ*se}`jMx{Z zRIJu53bo$4_g}RecR=uU(hZm~b6v-;yS)PTD|||k18Oo~a5-gTaO+29*C_eqtZa(t z4&d;eez-i7BenbMB`IHe>UMfk-N75b670xO}Dd~2khtz)gC*j3fbJb2) zlfuIpHnCXCedgCL))*jLf0a!j-s0nFyBYw@nb({7Z1kZ_53}CV%cgXs-_v+g{kH#X zo;ziJyDFUQ83)~3$z^5w3TpSw;B{-ZP~@i~_)i8pHEAx~%0^;r+>cV^eH(pb(Lv`G zK^?=98(C+h5O>Ah(7)<`-p%(vXpTRLxu?_va^H(cy{hTyZzkx%=|PpOg)D&0C;zC- zqLJXSK;Kp)u&)7+zQG*IFRy2v1Md&g!$)MUoD?!W?~E*K42_YWr7lusjtiMC?^UD2 zEsHp}#!UCY9CAS?p7PyPJ&5<%b`r>=B)-uD4SIn2`O?{W?WXO+iK-6EBw4D>KU zGGOQL$802l_@;;JS;cZaAb}7wSBGO4ZE?z;=z2@5swS+Q`wpIXz^T1ckDV@ZRG%Eo zIPVdY3Z8%0fTg@QOvcD12NJ{Fojkwhq8YV7a2f~j0@M?q+I}RHpxPKOCf8DppknEs zk|_`;7MiYuxb)c~zr8Og*0jbhcz^Hr8-$5+DjW)x85Uz+*57YR>K0!hiC=>axU7tt zzZ6CNo{RI|z7`T{$F>N<<2T#k<~lDZ4QNMPu2K-{L8Y_E0XcMyH-V(;=#CEsPJ}Bp z{Vs%w?JTaIhs^=3wXI>U;Vp+qN-2@!=Xq?2ajtc}MwPPtsjN0xNJbd?ydF@A!2ST- z=TR%$>LioM<`|h=E6P%;O{7B!XF-m`?OZLiu1r$$HU~d0*_V5Ciz(DGib;amr7#U9 z#vi`xsMlKU3l_mfJfr}3+O)U6pOX^G6rGAIgWi3xKJD6{<(hGi-X1kg9tZBB*h@io zcnlc*2abhw#&2uV0vl*{%egv)?pGaPAZN~L+cj(i3DFk(jwrUZ~n>_G% zo=m7C@qhKMH@8isvqp^?VcP5LM?oRYbb*xkA3QMZs`-c1JoWg5);$AjycwV`;QFs` zu?+YK^TkEA=8x*fa)BxUYyK(EP|{TDD{9 z^pM+Qp(B`S!e7I&X{JMLJ&zH)pCqjs^OGT+4N91A31;t3o**E@y24Y*|IrmakdY;5A^sg$OgAon zMd<$yYh8?{Wz{Y9_pVP^(VFf+K_A=TV(_PRy8T>%a^G=HBJ8i?4nyIotrNcEfzcx; zth4Viy~g5k(v%Q>`&?!Ja5d~gHpPUhM|x?0YIRdfGAOYfIw6#!S`5U`sBci1@w$Zz^IGbtakKX)QP@<^zY7YCDw3}s1S9UDTL9y%9 z%@06BVo=1Cgafr~c9mY%_=oCVsLWFJGehr8^>oIU=8?E8AzDPsA34*t!|a&3ZZOK? z9mHKws0PGH3G*3W2@f@_8DUNHu`%5J#6Vp%>=)h&vnD)RB99d*z1p$Lb|iNZ8e+AW zA;`NQC5g4P`8L%;cdO5E>+PsvpR#;e^m1t-!1$IG|LCv{b_mUgzkUb-!XmnXF3n&_ zHIpLg>OV8qC!?N6ccGLdG`WJ;3-$6MoRS_VK(36j!;gV)x)W#%K`(*zapcmEbJpXn zThE_)7Sy#-V%v(+GMljF;sFu7LJ|L?+1ByfXycxO&rU3U1Yv(m zzva@TjO6K~FOb$s`jK_)GS{_a_-}e1!D1_?Ixg-p?agap^)s)sV2| zBgM%>^SbsbVoUfTlKNS=j6c?yF26e4$7s7%iDEvbqtHG{FMI(wf;8);U6^lS3DBR# zN8+{J<$Z7+2(K4|%EqUswblXF7 z3Oo|-VrS&94qR6}CYzc)8s?T0x+lp%@N^?qL&f(UM?CmWZr3K%pgKPXpXIaf9ac_d zxf|-r1aN7o|M?}UKD_{BN1epkf-GkN2$^T^dz_#}%{RjfTM4Z8*7IGLn?HD{!KzI# zjS@oE3t<#P6P6?7#8eq`xZWri6V8riFQSG)|EGrtTSHMU-Hsp{xF&0iK*Ao6@V8PB zebx{+sU#)6+U17%biZ3>G+Wa0pWy8urn@q_IA6L;FC(F6{)s$&cImFnz)k;pQd)XE zCkJKN#g@LIsX<0Md+Hd$8XGkr%ynL4XTXzh=NsJ@glbmvp(X<}iKKfQ68v+@ebyfL zf6iAtr;N$mZ8Q(Q?#c?;x*yB=6~7g|;ZTv$0a3(4S049ORmLTf$5a5h2qS*N0hZbE z4t)B*h-+5Q^l_`)CR8(h8UTSk;G7#+kJD86$D-Oud&SYt4upYcDqHnsIO0h zVAT|d4=81lEdPIcnQW4g90So>A>sM=QI0CBOH)czt3f;@29naA1}pStt?eme!)f+>1& z)T7D9@V_`F&$o0^u~9|9B%q)>H8%xfZU3;lTLS*Fo>7|+Du5efbEPRSkX(+AgR*y2 z{B-5=j}qY62NZ&iE6VlunLGq~Xoof9nieBN{ZcfNJDS+Plmjz%%mQRlO>u@5V-nVC z=e)M@Nb4S4HKbTbY?nIN{n1wEO-7NF2E-0wV_zzwBY{2ZmD5aznxdgY*bv-4W*RqM<3cvAl8=#oFNH{>UIi z6IHhHa=uCvp1pza&l%ev7a=K|oQckkSQ!YF30U^TPEz6Gl4{n_ur7arIUS~VHU*IM z6#X}#8AWI0ea$3=X+U(l_YQu%Delt9^B|Fz3>To)+xmq`B2!AyFb;;EpY;^YBqYRS z^Rby*G|IYJtOwu7G4g0g+?(&%D_NQ8cT$>_zTOz-ZXAoSBw(v!GRvXJDx*(>d^hov z>AOfmOVXSiX1n2QOqkmiv{WmbRh{9#6kB1@Uwj-AGGqyXz18O~OHe%wdFktz_}SPn>bhgy(ship*ap zvimBB)DJmw{S|W3QAJv^Vf}ag&&}c#1{R`1CamO2$w}+B<6|u<{Uk#V*GCvB*XucY zV-%uR={GIFU*@4}2eQMe>32;y$WCCAAiX25Lol=Pv35oO-2eYw;&Kiq!)4Su_J^E; z%lZ&9U=FwP(FbBskgm)8m2^pPF}{<04d^{X%wCl$F)cax>!hm6Sj!AdLY~KQxVeig z`G89SqLVLe?@+kE#M~?1rzxq|CgQ#}AncU;EKJ^iUD0-Ac8x>pZz!Uz@PPB$u9Trk zu3NL#*oe7^rWvSRG?{0$_sdHkU&}Ws{dhvcR~yF9|NYx(%jNn9Qw$!*5LcpJ7hSJk zkHWqkYMSBD)O6#eZ1xAPc|oD}|0{4bCRbt5RaceX2g)c5ze%yqM z%1CpOBCTk-LqZnEUOypu{x5^30_*T1Ms>2WK2>T;@79|2Y|AOmKBmz8X_ENIR~$HJAkftB$~=>m+^)ux@rj zOH-lbogf6!DlN@*fvxDs1{HOP}rp3U16&Km?FEk_%NV)P$*;k-pKrBqpBr zh^@g4vGWPv6@m+<#=Glxj|)ELGJX>G?Wem0&#iiLAW~c?ZMi}!DVmTwOi*Nzk@7wr z+r~K*684D^L4+Jwnf64$N&pN?>$5rJ^)=z=iJXj@d=mEKvj6To%htI9rT~@sLcdC~|WNm&IqvQMHYC@<_kn2a$zmY^!dsd(ZTj3f`5T*pQ%Z z+Qf|O&pX;VqvO_`u<`|&|JJ^mcxJcMe9+_@i*_*~n2Rg<-a0-3YxJBMm(moxU0mI+ zpe7kgoemBcyw14o_6WCDhKs1X)V6LL`YPQ(#RkNI{;v-LVK!Y-Sq(Z(xEK z*!lB|$xgk;6Py19`OyU!M^>l@V#{y$_G&Rki#nc6M#xk_!E{;hGte=0HeQYS|hFo z_{od$yeJ(auhZK4CVN0j{FFZ8+u^LOehywWa%?MYmsu`B&Eto%m@cXRhzWsi@cAmFV;)F-28*?Rc{Gw zwUmsGhyonXlm-71Z0P;+Sci{P+kp&pUv6N?^8u5MUmbA#(e|D;R$#DYAHJ8Cz2rFO zoSJWvi>`P=(2&-tVMs?CFKZSOS1A-VpC8H|4z={sLIbE8JT6kY8MNt z$&xoVmTtfDN=WT;kBsC1Ev4QO<04QUB()gD(Jvw*RW#$DcCu(He0*d6b-@LEw864?99yxg@Ak*!c2i7 z$*=Mi-Mxhp$Kp;}xo9|RSK(?BXeBgqjd%+(QdYh`Sh>)x>(aRRX5GF9 zS8FA>aQM1$Uv0{`n8dqr9-{*=aeAoDp4?O<*_VOfA$U<7`)e|tfmDt1Xmtw}^mYze zXO!}vb;VfmR3eKBy$D9iF;cFW7oz%Hi1=_hWG@No?diPm;{EO_otVqunbNkOFd|^vxz~2W&6D{9}>jet} z1PB^ob?Vwl7RnKpyfA4@Ur_AkWui0C?>^MLkJ8z0*m+D+GL?+$t^8gf7=At$H~{fg z8a>K~cZ5*!dOTV}qSBV3bubACiz2t*Ud>+5CJ2H8q6_I${320<#BD^9E1@v5y z3G3qmhbPdsYqE~ve}LTl4C(j8jDjHxR+;DPjqLYTQtRU4RvGdbfnmpD=C;Ud`msi= zrXSOft#+XsOFz5jq=Owt$a0jBhj+T}7+=&-QpI6sb-*0ifNgqqC-))3N4}<4C>ej+ zjWAI-ceU@BHzDBNO9nH~L+a#yOO|uIu!hMMgP7G1O^Jb6FxO339u$`opH*}yBaY>m zDRw73KWMXLyB+EW=`*Sw+kjt?Fg2CV>_~7*XOS)a(FE2|s3|k28d|2@?_0y{Nrn|a zwTrMknHh?q@#lr_PE{RyNT_pm?(Ys&unz1Gd8d(Bw=aRfp4BiQ6aUGE>sn~aKUcn( zTpBgX-`qxRnS~ZKs#1!#%OuebnAfH1<`eT+tl9#%U;JRGY1lVICkSZ}PlKGE7Z?Y{ zFXPtOKblzjnWf;lv?dAA2?w8^$y(r0-qm@-=RhO6UDjePqhS`DU8+PRnfnER^G$3yp3czDsG`8bpNwEV>`A_km^WhtvOYWxjc(;Q8Z(6)l$ z3$B4VaYOi4YgR1}Rf%U~W1Ceqf@lO0Oa|xLPstL-c%HUUnHtov8sH4E1qkK*syx~& zJQbN+ZU=AjtD;Z33J%}WtMmKf3s5Zq02Oy_HimY+tElWVNE4!1jfxG6l7I&2zx+WK zVWB0$-Nk)(?L`!4+a_dTa6zLuU2uO<4LC7CI^({$joF{}93&_y5%>hAdgfw!(1d|- zD@O4SL18iFQ_1rm=#)L0t|^AQCHmj_wxFKo5LR~^zGNxc{o(|B>zjfz(Ye8cGEgx5 zaXT>w1l0#l@R>wa&oC8;L2$5Wwle1k4;j><8H$oFTp?ga!qd8##{%N4W-LggJEVkV zx2Ua18LNoG$~G;K7O^1)@-?d&FZTVR!~;99N~r|hAqB{7PJc;Grzjt}4>}>Pm#9Mp z9O>neU&^L$;1z>1>+N+s;&)6VFj%q`?+#lwAGN3D3BpG>KTee86K2T2bnI1b_ZZ}# z-h0Rgcw|5b&F{4^QF3q;*3d~D@@$Pso_+PFhSd0;A0K&p=f_6eFVM`(+Er|u zK;xttDe!h>>>g7<{Ca=y=%&T(PQss*MaCCQPyiluMkD|4!4`#PGIX`)lMD!{ieY$0bXH zHx*mMoCFkEEDnguo9=%ha^fa0Dd)|`(O9}zqq5H(M_@$GX_cp6{lXDjM48E0nM3^2 z@gT-oBJ4IKV!ls;_@J-xhw%s0Nk<56jgJ-jF>HAatss~ zJB)a$ca+3FA6h20O$aw9ri3QW9Sp{1OkjPXUL5qSzQgs>+3ZDetVsL!mkq5fNW@kI z9k+H1wr`P4VUj3?_pHx1ikJc?2wh2c{?YhdAgjCQ4dB$!oz(n%Bwqu59PNiPGEky#7JZT{U+DuJHRijP)< zPP3d|hF|7ThB_)1i_wpfEWlSgLT_W#ESB}phlrxd@twOOyQN`ZwlX`;LKyEWL*Ky; z6ZcFU&|KgI%K zTKQUq8a4$aroV97Vmc*jrDJOaanE2586lWJv2$#y`e%qGbZ)_4Ua5VSiWQ6QSRkU` z%Qrq{dF)wR8lZyoaCrA+b;0rThk~f(IevvL3C)j{q;y2Xn5*fG0-pHqk?H#)6NLs! z8!3EU3Mj66^!|ACkdV<&MX!~c^y?QE57MkmsB-(P@4wv32denMCZN4K^bP4U`#1mU(VYv+K?O-93c^TVnbnG1=0Q{Ox z?yEQ#*b0ds0sZ#+=84#6f^%xK;ZffmTKPJrcePTmwuO^TJy-m~&I5z-yx;(u>CH=w z@1UdK=SVzWPQF8rmQHfI$cQwcmc&u0)S{|O;|@4EEE3?t)EX;0)mZq+b|X>fP7LWMi{0ksqx#Rmi9wntVmDyTIMc;lxvCYkzHC7f&R%T z@T;`|99A1Xv0_Jo-6v{pK>H9^0z;P`UIN!>06jG{L!qeF_9ewq^IE&cEzL%va=PSi z+rVNzAg)Qw{_c~W@Zw%(K;ro(5F6NuW&3|!y5U~>O?!H zte3(97p3Tuj2djPvmFOCj_l(S(TTk8qF>`r7mN`T8i;q}7Tkh8Hzm;0a=3tq%$38I z`AfOH?5;Bz_LjTI1KQ}VQY-+m$kwl0uLRmW}L?ey+9=w#Vy7lzmPbvz60nlZ>)71HZUJ zTGdd8$oM1G6dpXc5t65y_etEgpa*1Nq?DN(>%oPE=h=>a%m0yc6gVtK$+nL0FKiJ9m|cQ&bXmHM4ScKCQ+@ibn1Ny z9s;=&57WqQtK!tQkJ-mxbtVC^l!1Di6BXE&Ul-EXQbN=WNvX-=L7r^Btr^h@K6a`= z+V)InowZ6&f_b1F%?ce2pH)nO?upm))@}uBSQLlG$UyIKH0t(sF;NOX<&QQee=;<_ zh6OQyvi^V{>3AADe38FqN_4c-9dnbLe!WqIX3Sv^LoVq0g~+$Pd;z{PkD`pXa=Dx* zMy`c6kbYeI-|Np^4w8Z%vh&4ngxFdbluVE(-DP}Hq@0F~Au4pz9g&IQUB;uro*I^4 zX0#}ooA)koHwg4@wOjgSM6}Z^XBTpVtCPHkj!Y_60w>IV__U6PtatnnGj|(_ z+W-0dcxROYDOzwgmI#2UDY{Al;)Ojh{moOWUaxV9a+1>*Fg?$HSePkL? zk7x9e%e8HOUkbcS-^&j{!^$SI@#&#FpQ1iyl5CDh#m(q`1CK`x%e1uv?w}1Em+XG1 z@{*sOC(4(0)})Whh&jpVj~Q+9%@S70QNlF5Q0j1Ivv4)L5A_ydN5G?Mvv5n_c8z$N z=+iY@!OG6DjLdzMK7RVLVt5l(f^G;F>K_-ND{5Twpw7w{UZ zXB-r{M@s1j#&jiKu(vB@hZfuz^@wI$Sm0SNW0CeY z9NC*6#@W@RA2So%NbgN4hNh2DPW67O{ zW||XtT9^e!=Lhi%zlk`!j&=p3>J3(=E~-J)g--2^?2qMlj*4owun~!_>P%&%Y-N=l z#Rglt`u`izrUSZTj}5Rz;2#U`I#cXbhhiSv$=()C4ntz6FRMM&qbgSDh0QGA9(=$Z z)D+?z=Vo6>*($m2L>iM~#dU2&Rha9StznRi)dHgZxtd#Cpn6W`8BDL+_RH(KS>$u4 zz#&(jxzeYr#^!`nLSL%Xl!NmO*%mZq9rBYSvNoFgO!L z_1Vl*GAL0@d%D4N*xBwR8T)Idw~S*99s<_#S^=j-2f2EzGwd<&{8QhA6qEDKLSc4M z7lX$$oaSb|7e-q&2-Iw=El>T_)f#FX1oK9_zbu%_L{n;lYFfELr)%m6N6v1T1suaH zcc%>YgC!OtL>eG3%HuVgAlz+4vuPx?@SwL`WlbsxH`pOhb0<wTm@btePCM+Cg=G7|5!t^k#Q_d=RBQn<03SRo8NqO%Yg8d)*Veij<(JwArN+A zY0>qdE#gEqz#2Vz+qpwK1*{27Y*~B($BF6*hFLjg@EVGry~1&*yCl(rVJ^}0hKi3lw(+&74wyMIY2^jH?MXi&L< z%Zl}U=)npG>h*dZE7^75|NG%B#nexbb7aFjEU)+en8NCCC*CMkTFqS12vco8wa(`I z=Zu4#ZiiuMK5ICG%iV7DB*TWYnNUB`ktiwDSo1-fOY3iApD(f1&1Iiu3tM^D2E$qHN^5L8EbN+m5s3jlL>j+$97L8Z zcS+uH(cpnQfSTm4|8?2NTE^uvp8oixTh1voKWbhcqMf6AUmcoHadMWS*3WZWdOQT) zfg|317^_=8kmg?rVUgjqEt()EsrnfL3BMb$f*Ibg__BWCrocJzv}hw)Om~H?DqN9@ z-cqZhRyOZkiXnWi#qP~DUYHkWx$1vh0axUh$1I&(RU4@EiD75o)}R?8?IiRs9%*o; zq)N`(7@W9;vti_M=NQ_;o*T8ocu&YmF6Q@&Ig>Q$t2&<;gy)KCXpl{AuypH*zMcuL zHjEwV^Cq8iwUT6lIZotSFUaA5yBPU&7CC3H7d~?k9gC8&12AEtY-kgcL6Wx~9 zr(+q_l5J?6_D0A4yzn0}bo~0(jhV(?)l(7pVvOx%&PJK*MFq4K1itb-EBek%urWX1 z#wgy`CiW-(bEGUWxMsn+x|vYtGB6VBcK$$^V|!}f5@uGMmKN9%1L zh+WXY7(s4#B^0^&&lQL}&R+_c6L?0w3Xgw074t#59tVS_(e&3UZf0{DZLMAFKrvg| z1yWCp+8@X$jJlkBGppBeZ;HkWp(k`(aA0e7-h7Ct%8p><~fV) zHYx#dUjjV?hfx%6))HZD-`Qys8_RIKGV+yk!H;TUz2c984@s`7O4`RC9m=+^67ttN zfIKxM>5jZPV6iw6=bqDI6+!sPFwurCqBod+$Y5||c zPx*#dYl{&!_HOJ)Vqd2Ka4)Z*ujR?t3lBwN8^>Vdh6|)X(P`YIWEJ7AXJct~NPi7c zI(vCr@t~x5YypuEELPVXYAUEvOijw9S0B+#Wo$%oW4yV3^p*m3yC=_^JH^(Dc-=`R zmN1lZf+`#z@}KHZL9Vm|0D~@MqLp4{5deXf=pNNvX~Dyrg4lpu<#cV1;%)p$O!`1< z?UrUS`4j0^wg1BK;5(p~_BFCfvrywAsjmgD3%*V&46oNzix~U6Jd@680b^6Nb^|(%Jhb zU9q9f%il_E*Fc>gc?E{_7)S4vgGaHbH)>g8pQvrwn&usof0d>8Z0};Wk58$dnwgg$ zGV(6%6)o;n53Nv#tu4AAhtfAYN=P3)b|a=aX5nIu_q{cDV8HtVQLWcTN5>@uIFd5b zQqMKd$Gh0TDZFP2h$GFkFP8Gviqt?8bOzWy^Ekx;C2lC1gjzIo#bz zZF|orh_qQmTgqe7g5&aKYmvds$8q+~H^UIy79N#ld<9U}$}QeT4Y%=TWF%4q`l9hR z8j-Z0Wm_#F@iEcRh?XY6{ga#0)RzF1?*b0@^J5aeKg{>q>(aw9lVl46Ek+Hak&5c1 zKkVuod@)vC8}S?iLlsd92HMP5cll-TIgjfDAEC=N;w0dkVNlO1msS~00p5MO zHf3)GsKi~weLezegEqFV;aV5`E@}1ipiEHTa1ism`Q(G>-UOB|S;Do2!p!+-4qb>0 zioKLq!v2dH4i@IyZx$wG^^Bg1WElu8-C#eo6lrtqK<5rETc(V&y9#T}lww;}_;L$D z2KvhSb!}ng7Qn)?<7XzbD6U%t%TeQi#`_f=DynVu9*jxTN9eeax7uQV)#%*1v@_>JB(89olpe2EDql z)Zbp%xins-lBNh6l92O%=SuUgtiaEtSt<{+MABD;oYFxyFQ}z+-BvVZI)0M-D6KYI z9^6P}HWwqE6U8ik0RJ>>?<#5>i z-778WVi>zF%TRK79Lyj% zqm=+1D=FDD?M1hW;<>TUP(J0)|$_xJJ|%sq#uI7iO0yQdCpmn=+rF{MAkU$qsuM> zEo(;?=cF$5Y<0on8_X%w1xQERf#@(0@cC!ZAn|Ap*h{+R4ww$4N3g1PJk>h2$PB&c z4X0bLP=U?aH~*}Y^#`Ao&QQL0B#><9mAjrwPo%h>->70G-6Oox7VK0zZG;cz62*0(JbZINbiAtU*~d ztIZM>gJvxzWn=Uk3+)L$lfy(sWPw$F%(cvAuWiBs03nJO>R=`?Q`r`V=s z%fb?|jwUYmeU%g)nY=X%^Vv=U`A^c?J%OaW^9(Se`8E(thwnIpfPI!7%6O)A=&Co_ zSA3*xZ#*x!lq%CCUgKS}n?ZvPaMIeq4`6s#fh!0LfS4%^fgNcIev@h)J)kMUn1 zWY%+}oXqM10ouD!OhU%y`X_^n$<(8*Aai~wEhsA4*Iqm8KoyPE^-_{fTz?f-;8pv= z{RrmCIj%GJ8)U!2zxUebwT>?C^q_0DMY1<7`!W+TKy?R$r_%mMxSeFYBrxpXtb%jk zcw&hoYHPGcDWb39r&Df4zFhzxe%T&r97_rvjhK@c$(~PerQAbNH$qFQ8GB&7?0Lm8 z=A4{_g0vV11VtjNhqXKhde`&5C8&jN?o)`lHPRh(n%{$ZM=1-$i~jfh!n0G|d;7e{ zBqmouMv2&zwC21weO7V7U0;QxH-qLSRQ*NZq5q+fCHk_K@cx-3uKC1|JCRyu;KPHwjvMZU<$5RE5nqhIrWQ-?%rQHKJuF;O2ZtrZUPs*gJ`)16j` zJ2Lqq^mz^y_6T_4SK`-Vo90dbws}tqQ_Vk%m6SW6+<$ZeeHJJM^P;v)-2! zXdp`Sr}|&uRmwMDsoh5-Yh5xJOB@O#K+({eCJZq&Cwj6-K#61lvUHUw4`YN=uj;Uy zff@x`7wJ{Z3{(uZNaw}Cm#%x<`HIb57VHkjj;aR?#?TqQ@33V=d@Th)$X8{m3whKb zAYq#m+OzF$3#F2pp_dGw7Ta>$1GcZ~?R2$+Jg1JO=ta_s`G^M`nUba|=lsF$CtAU^ zG`vd$I~P8O^zh=WPg|CLY-&XpGklyAQjZ70s@dj61611*Yl`IqEt2civs{$NxYZTC zIaC3w^W%+tYu?X$9)#=q;TGNNgnKFdGE65zwEBiax?fc80Bv;BNpA+{>+9vj;RQpWNbx%#P^4pe^*9}5IEmDc;oN~ya8;8l%(V6NwFmMqt zE~$GZKJ3G1rP_)i>QM>KaV-?Liv^h)LWT83;Vh`{!we7u+KtJiP6YC@>XPA+6*AKX z$tZB4l2le2A%+$IYWEB?7L=6L85e?{0u&kNyr`S)C-Y!j+uuS((Z?}Dkw`l?8aH5G zK(%id<3=clvhbEH4PS6d$;*T{1TFuwltht}#+bJdQ{-1(M&`*@@jc%}T|&h4 z#E>=Z{Jwdf+QoD*zT_5?cuV=XMcPNRob6sEGs_1>?BTlAPN-js6ZR@iA-doePyl_q zVbUo|$R_0W?zJ=|--1g-W8!{t`r_`=Ht=l-r32PIAQg0@epwf;6GFey|BLL>#Fmt_R}U0V8O&?EYZOWVHrb!yB=+`V4H#Z zKP~+_{7`jA2pX@71BaOND-8+CE)yf&4$L3X)E`<~@3Cqo5vkP^v0@*mVqXyM8(UFb z!SlAt!r`r-EM?hS-`l_>qeGZ&9)Zu?~XD zTck>I#em}@bGf;2%^1Ta<)rdIUt}q$Kkwqt#(heWKjcY)5}NL zexh>ZK{tyWey?d*!-0CsQ!Gk@JpLiE6FhaB_iVfOK$)t6N;dG+vzRx*0x#$h)uxkB1sWrO z-Ip?>jDGU+A~Z2?c79f+Hg$ACk8R$k710iAw^Wsgnr{3zCI!by#O3;0H8j?XTVybG z24^>r1&Ss@PzRwpq16}o;q6w+7%4DIp#+?QSgtPPe0iJ7z2gTY1O!qxNrSBZBL1S> z>p0)cvG3UbRq)_l+7bV1ur4}spK7<3pDQZYV8T57Ta**XL}^B!_w%x5XL7>ny2u5r ztxS%2lCre;KvI!`j~I6iB6G90fU9@!iBlU1!BqwShwYbSd@;UEMGxinHH8*{Mhef$ zbu}6at9wnl{Pm^`1g!x5=?n{#%GA?#ak^jesVNE2QW9)$i-8Ya5&xKlG$ zZ0s9!6oP!IgX)x- zgMzO8s+?ckQY5Ij>90_?^DU0-zw}JSx0;elKw9dR=2Vf*4GO&G{|}L>Xw0l5eZ%uP z0b}Ko>cYrxItk(Wa}e9QiZSRmK&Lc zW2TfAT9ehHqZ18!9-gI+^#Wylu{gkl&@ zw1alfrY?GEp}Pr~rdQY~g)}ulIN9s?0MZPO9FI6h$4qErKwZ0OH1#BLhCDgUFpYkx z%c4QN<|GMFpro(+ix1GAuON>`)CT*g)WI+x{ez;RW%nS3QwwKTmos` zr%i*1YI!%*AOnvjv_fhwNYbUu(Z*SI^p}v^NoBObypX2OU@IWH2jM17F1Pj;@ zx1GXk_Sx&aNV1aV(--)h|7uhkf{J_SMx~;u5b4!?KuCsh6N7Lb!3K9}BJ&@po&NPc zk(EltfwhqzZ#&Fz>AMTPUbiht0bd}PqFTbq+3tQjLQRTq#?#ip1`uMr}=% z9ZMCE^e~W5+30bx{TYgVKw08+1a7dbqrny?E!-S!Ib~sCF7FSh;v(ZbLRJU6W?-Th z{C0&um=KCcIp+7WOar2SC*Xuby#&2|!x)vHzd?n44AP?s4nV0#*|}d8q42nSq*_V! zu*Y||43>Kc?)NN=F{k^>-Oe5tNflQRdFDGv8H%)wixRkjv736EUcv*e?ovE@{L^#z zGgr#9&U|cO-D=WOc^z*r;h;)}mByIJ51knsSxiRK@im1AUm;er2S5Yg)h=|@VFss-hBcPZ7&{K*XqUKMLI>dv?8OMm;KwJgL)2Gzp z!p&Dy>Q6Z{q*kF`$~Z@ifW=jjdzt+}>cN0xuxH=FpN7?)1KK*Uc=4tyCf_xtz2lj0 zz|pg1yJ|}Y<=kDwwXYOV86T<$<(jSWOgwDpGn?Ud*Q&AoCBw8&jV|-)W7HHygd&Mt zXpqf~t_T)l87Nu^(qabM^F|%`33YT;2Ubb7A!AdeuByCQ56ip21$)gR%3>b}Lsj)3%q2a&lI zDLm6sR---u$e|R=1zqCXsvW@c$GU+HL54IN6JTX>^?;76;fO7)rwsqd?8`)r3&yMc z=Q~%AEx5KVZfoD0^LD=r#Q&1bDZRA=&3uD4nKHx$qG=NVy-Zlon$oE8wWBk8*eB?; zy^1t-AT%TQC|%`tjkyRFE>C)utkB2$g(elh*a$);Z&ZQh_-c@o^nqvxDDf{};GKRt zF?f%J0I8rZu5bgoo3d>#mi_>po2UsmRk9i2nIJuhP0MXDFH*aw2GctvYIreB*TVo0 zD8(GQSKz;H{92*PR{1w_-`A#z^KL^oR6W&>|0lv~htQh%(P9{El+w_=wDnUPnmNu} zXE5$^S8=MJ>L)q+5F~pJK>x^+X=`8gWrN|*>_D4#1-m-t8G&65^HX*YcvhoL-bo>c z3wWxYdMtfc;3qqSn^*idH0N@g)eXO!Ix6ss>~IIBC0e!i#v}_IExaJ{Wp_w0``2f` zvdODR%2%Vw#?P*RIbi-uj25HQ#5CV$*?ij~mUQ9e&cae48S(5)6Aj;o8G}JIc7D@- zTk6qVy{EdIbMYhxm9q``clZ!vBd>4?MIQyRU(DB3w0GNWzML`KGwHl#u7upQ%XnyM z0?prJ(UMt*3W(t6Rua_+fFeDkSt~OJM3cOAL`YdYf*zM&1aW<2FswJ@9|(|BLc=1M zd+z!f=a^u9fD;(>@+uls*YIUoA!^*uvH1iy-JSosFbEBbD9w%)Hpoco6h97>XgqMs z*C4X(2{P~L5MTe#qMPF%bmE0vbk7lmsEhs*jFM7)LDD!LtjJ`eY2^-`{{Qx3I4}x* z8%}w6&A*IM{cV^y1CWSK1Rd(YERoKaSa+)%trs*7IULu!GWAc*YQ7oi&bdX^t0Nv3O;wSSQ!dZS?>bP3SH$1X)Gqw`mI?(|EQL}8LZdG!e%Qf{;L2O+ zJ>qjNqYnYdFwQCa1FUx4eR|GPUYa9RKGrLSH|gnlV~^`#kF@4DaB~x!f2e-lyPuHo z4x9rPB}Gr)bV!=B1J%OkP=4ickoR=ZACIQ`uD01}mx`!7W861P9PCRY(jjX{zb8%8 z133_q*Autrb|8yx=9rZ(6{KD%o95YeScVqM}Pa0xu6VJg?hiKXb~-G^^`ooXQTdkHx!22L+DCd&f)TUL%BN2yL{H z3ni)Fl(0u#v+eJVYyB$To@tzeNDu8+bY|}-Ejse4cmfb)-Fnl+r7t%#Y7?P9$i^3w zZu>+(uw6&*Ryolu(Ipn(b4|7NuDHcdc_k zkGv%sh5>3=y%i{SdgE<00YUATG2&f|nmIMqCrQX8#2-IUbZ{n)R#f`I5)J#dNLleF{Ra0)WIld1X#LYz+y>bZtu>(ZaQ93v~WxC}@1(amSy=b`sCXRAj0 zZ?>cVl5Bd!nuU$$c z6}(B-L2a>yTt4RAI3wwG<|^4-IC6+&NoMrBW>}r1p=d442T|ilfyBFw%6NktmeP02 zS$1d)CwhxX?d^aUd5z+A+L~CWKI<{hoBYp^gP9F?t~S&+o-g!Ho%7e_UQW`|BIZ!4 z@{n>`8-2iKt2zOTqmcm+V)JP-Ft=$%IT|G8Qn7^a8MjqN!%t{*u^4S<0EAbW+W6bC z^|FBCN4jKnM6xyEom$>LnT6z^i&h5;I6sZltTWvSchr#i)oKkS?W2Eq!mYjT90jRf z2k`W}%~$~75O|4{z>7lDaR~`WFw@tbOGNHZ)M1SEl06RcBQjfqrg#M!i)dKM?MKN>yz|42wJDCN0oe#IO&kvHj?IGc+h-b- zKhm;j#pG}2sJ3TfKHr_kA5K_1_E-XDj~ek_xpvbX;DMenCl(eU=#dTLhP4j?f26l| zxCRr2((p5<)i6B3pFli4a+khtB1f1aN|o?_Y?!zeA}RjZBbXCRJM3r*a)rPdgZAcO z!!NFfB~)WY{)`@9$zR8}+Yo0@^|5E?KEO_xoDpanEh^I^E92#ngVq4UWiPhk_lm?+ zu44uUlqiVgPN}5RDS4HNX`QPyYS|}EyS}eOJEJXOhU%@Q`NS)mL83ovjZPlESuIq< z%&B>`ypMu-0=b5LQD3LQod}E_%_BRqj0@v+<+m!l5+x>v)?S-wU&E>ofLMCnb{wOC zsf94g#3Zl}%k2DS`=~Ch&9q}YdlB-!ajoTQ(dL#mX?t7P=f2RH6Yt}y>p8Zk6Y;r? zE|#tI0Q)QK8mcBzomRrK_1JDyZ+j9|*>H0t;M2+=axh_0-GNVJLh0}C)U%GjYar4q zPB(4GubuXJ_!T@jy@25^-UEYT$lpSuMW=x-=XHJ^J}E~gA;*4d_2EemxARhoJrS%1 z*B<{&yyh1Aqz~$Jt@^N<7op+r(VaB_kAJZ>5*ug{>PugLp|v{0g<-r8;wd31I1=Lz^6S_PiN%S@UVJ+v!r>z(LD%?O6{ZcZKgo9T;9o%hS)nuC zizE}kcz5WK|AA;L%#I5Do7k^a0i!|#LRFH@5J}7@1v=SqU%OgsTvCvSbTz`kA=UYm zzS=~ts`+Q;QRKD~1k&mBT_J!^3h#R|V6g^dsNZu34P>`$jq*hL?`~@6*b?=Xq>=lN zfrWgNp}U4KX%%OCl0j9iI-#tMGAOie75DFgn*P(8$Q@@a>e7iq$%tVy*g?%OPv;%Q zM|Ys~qltcr!8rxv6etHC3pa7&O;)SM9F%^=wi_3?7&h6X@ilPB&qvmrENT4@Vp80Eex z2kC?am5cK=e=o%?*02O}C9t>cV-dIOH#YJu5}%8FIB^`fwf{z~X^v@mI4cj?ae# z?^L(u7mYN?2fxig#g#a%0WEF@tYAd32j|GpInopU`mViP##E_@e1ef4gxUVR2Ku|s zQ4%tqI(ypkwl$(W5vBuV+Ys&2EuuQN6D*M@mpSx2kk;(R#FyS0OErZh*_+BmR~kPl zI9kMaoHvALu1aFj&G*webu3v7W&RlCg~P0bQ?bGv4Iq#PI0jQjBoxM4M@akt05_*0 z;0OSKMgMEnuU>opFn4+`S<<=r{+y5$=sI_#eA^DSkV4>E|xQuS8p}#5SUC4e!HQ z;uO$bUKLNxbFMixNy_PKndn6yYe?HLni}+DFX!W-?j-s442y~%M-SDt^TWbxYY7{V zIl>6ph;v^U#$ihyPLTZ2-r<|~7e+*wwKBQpAx7NvCKoh}UY6I9HYnSFJ#k%5r1PB(ojm$co4`fJSOGTR zl%Lz=)R%EcvJ~b^pje377A!2VXDf^mcQ2chtq~dXw0*XF77{!c)mHobs2_O+Jag~}o8R?_jLvdcoGw}=(c z*nAOzyGf@0R+8+K;xgC6*fPLP7QNbbMPjsN6>ie5`O9dU@-Pz;YAYJN-oq%N>hD|V z&0CbL6B6Q%b7;bEFbpL_Ym;l{Y|iq74H9^!Ft!6$<$yu~k1Z5$$(xg{g=$ZusbiZU zQKTctIs%|QR&>CkNk0yCK7=IBNsfRWBeN3B_q0fEj+~xk+aD=R$*iYKD{+pdB6GJMZs0%$qCK4w8z3k%Gz8|1fA1=8zU$;8+xmp8oG zqPrGmXi6(&nruDg1!?JWa%14`@`7-CBSY(FfRSJPtP@ zzG5s_Gv;xM7EBlaapY_4{GVe_gxx%_#xfw}$!-mkh1t358A~tum9TD*b0i}CSvI0( z-w4B;|94(}ie?Hp6voS#;-gDfobDsH-OdrARN>5|C%gwiCC+Di0jH_I+{?R()@DY{ zsBClS_Z;C$bTlg1V-Nds_{(ch6a`N7AySLbc?!uuYi3q2=*5W#k^M2G@3b%y1^gjmB_>lX2V0Pz#@29Yj+v3RF*{!0-;%|Kg1B&uRpHx{X z{+2i!$?&UA-PF-B)fX|nyOn`n{g9xay{tivZ&Y`|4%1i8w)6*7))9fEOEu!v67v#N ztfXX(RP0>q#gCqB-e2SojZibSHRK9khfXpW1m6E&M-PJO3z%*`5Zr1P%0^Q%uP_|? z0KxA}CWe_QBFbFt#Q-xv%)f8tDl=JYoWy81W{@%Ra%4Un@37R=p}c2HxtNhbELS1i zqH1m>HOZ%@`bvR35ZuaEOzSz@%{VfOWn28Vycrj8?uiB0%@;|ynM7JeTsH^8yu}?S z*?{$;l2E?GBc>LG)Fb@q>PZOd)DBC*q9utj!HkYgU~I8DY_(vd2O_Jlj)lF)h>$b- zN5VceH}iNT*RJg&Q)$4Pv$<8o#}=5wG5o`=O{V>ska;UFNLIf%}F_A z99F{~(SB7t;Cq1SHPbGeG75_}SdhDY3XWJBeZ zO~7vuTMll%l)>0XQ0>!?55DirQRF!oso)YmxW?b?43eQWLE8*C0u)r}241NO`$0KC zGvTp1&9yyac)Ea}AXctxrY@yM$(PtScvV5Yo&UMKpyV$?ia?Gq+gVWeVK7YHFi<1e zsMh5#sg;etE%J3Pcx-SuDI9D)W6Bl-!tD76Bu;JFibcacB7QdH=z*U*2s@Wj!gc^I zgpvf7;U_o&T+={m&Ng_ots$6DNGG%keHD9t4U+OF!Yt{*=DNnKDEV6Z1B%Re68&3Jx(D`G>~PE zHL$lo7bIPctfHaH=CiY^tTQ1kNR48-kt1|vHTYR;Gq8@T-qBHPsx z{f~zIA;+4@d`f*-THha}`WpvLT;&GMN9TmPb`0XI1CbE?V1;d4R zo)8{KI+!G!7n9^*k3-vXMVNeu+h2lGhwwCU5<7u^EIU>Yv&PLfEvWl z+DRF`I>|OCDabODX`%|mkVlRdhp=NCI#JVrq-*=-!&MW~L43FT3KOG{Y|{5;8w@wi zu{=g_-bRkbj=aRrw(tWM<09Q_K=V7sFz;xvqsNYALvH3!)c&C}w(zbz5^KprX`!9$ zUbb7K)OwFp|L>lSbVxG}C;hEzkh0{j!K&z&-k25bb4Vx|LUggniqH@gL{}FRlRf%w zgW8Csg@E`ADNxouOUc!ikfN|$UNB4F%;secPmwcQNve+QuieyKL2Rc^HPhU+V(n`U zpoNb9A!q$OAUeIX2IxKzoW}e)Mp1@Qo%0eWa-JT+&mFx2z;Gss)tZD82qnZeKE>7= zpXn@pq!)t+<|oIcTjshANz_Gwa|``#vWuGfqtb(`_;j`++0}Rcexxs3r7?t?h(iuF zWuoL6dbEkk6q%)TH$Bg-l0DgvzMa1o=vI%CFmrcWzwhDrejo&RWMcTDKx+h_&3E_~ z!UbUz?1%e^+9S1G8$)`Cd$42EHHZChuX7qj33cwS3DQ2?oD#Fuv?I#{>16rQ(-~RH zuV??-C#A@-!gN3DR%~lF-@M37*Sj<7z}Yp~(Kvm%@xU}!&8(nf&W?hOT zfFSg~DvAZK3wMpxgnVWT-6?VDNwYRINb4cyLv3uz#Y2~b9naT}DvWKl*z5;yF;iVx zdQ|GwKXTJcumJ_aXN7!BM$2<96?ZK5G+zAP{PpF4cN+XLQ1D^ihX}N*cIK=mDPBW~ zyCHf|n`PE*7p;C7K~$@TS5>lp-VZE)87{WgDGR(B_Kb!d9oo27&F8+fk&Qz~63QTGEfxzoc;e z_F^@$n;ZIp=38@@8&9ZP3fdfL{yRhSRmpt`t}yxHGIqOZJn=wt67yCq(M%utZ|SkiiM1uqfDymOFpH)i`#9Tt=EB zJ0d^759qv7Ciy>LKAueJ=uNUJrW^kpI6r}U%40*iawcH?!;B5w*Sez{ zLOY(Xr>kqvI~$#G6n9=tJ&scwty9^Qd6d`ypDg^j{2kQyzSiQE6S!ft9ZFh&`S0XmvMDiPi)BTFsOI-rZ&{v zk~(HFs#2&R)&u?;tuf?keo%Xx$%_tW$Byc;8HQ^q1HP(AHx4^2VffRcx9Q&Mt_l$_ zLf$iss9m2B9}OV+4YXBsE&HF!y#)Q47*n)_q6znMNSd))+?%`6)kPJq4so5T^p#16{TKmKbZ8eoTqzdBmovS?tAr8ArM- z{9}Mbo9TVJ-Ww{6L=~gXi0N9*Z{%;6zkV9{sae8AO$1g&O5nGP#KGILG>Hs;dAEq# zt3klQ+wBHi0#uJ03KLy;7-?@BYMu;^Jta3U_mvErngz~Tq!JT_obPVcuhWcb`(@Uv zyDvyiZNN#ebLdyU^pja`U#W|Q+?U&jzQc9{R}2#()uHeXevP)>%fqgElzqI&oZ}LE##j^5{4(#sfM)>*FLO^@JaIZON7_7#u`GP< z!P>dD8!9#sZmE{-F zj9Qw8e4fQTUaVbs&7HRYY(${|QOc|kZ%46S5xw)3CPN#kTP-Xuxh|~ktfTbHk6(kI zrsBln^$d3WvI`J2~G^m$>CIOl(U8e<$}v$k0aXMS%t9uz;Y2PF(3BCf>pK3DRsK!JvSxec7&{M zTtZ)aT4(LajVG`*PIv}2GHA5Vv(U#HRnL6i1;wA!w)=3S7+i|6wSn(QV~iVWwY5Ng z;&$_r78UN+9f@{Ajf+TXh|U9`MlWNSoKd5fWPa&u1GKuD##Y%7jIZURmjX8wyIx!v z@DSaTCW^U#6EGIZw};rSKD&Ig!6~{6rENqsZxVYo1@}ddL-os)H1RyfH7l9eep|9W zed!EqCM--%E+{vZq=Ms1(Ewoe@yZahHnALDYSJ0xJ$Yz=$IM{#(bgmpF!$|SX7RFQ zW(5D)PL>SpwX*?l!Tp<`?#TIvAL>KpJW>WgID%0%1$dQJ>^Dq965-$rq{NH8nYV$GbtncNGkUy zKEO}E2!2VmBk281dZKZX!J8_D-nyJl%jDi(Vllu;{^d0rRho1yyb8F9K!}Z`O}O2; zkZFfT2q0}6CaquT{d0*N6>@_=>(ssGxVJk_%F(TVBEYx|$2Kt0K)@P1-*e2DS~yA& zu|OnB)sRO{L;6SCkUMj;j)uNRl)y40GNMm!O|!;!?_Su497e0ZJCYBvDd_3#7*od5=uL2PV{UM{$8`Z`RDvFswZck(J0Y21a0O3faRc_!5hhj z-3l107%O^&`5OIw%73;f&Cq85xnQRsMRj~)`bd>}kW%4!G{iL*C|gqYG`4vhcA^M)gx(5L-GC}ZurP{?X@9_HltaIQzDU%*7sc3`;`+BpJv}w`6nivcD6=23Z z`;2kn)XbzLCaCS&V~PiZC=jF#sWadwXS(c=%EZH zAb+poGRp~&8cv@h|8j_DSN~X+7^i7`lNOQICXMrN;^;zrIwnhb>U!~Y zp#XiljZ?RnT|q53jm%>L(kdbLZ7t1f4dP{@JGJ65*Pn%aN?;6v&~!+MFIalmW|oBm zX}SpK`#|foZ$N0X^3-8Z#*7D$MpnO+`)pQvBwIT;v^}SJd>!6#^?|{WRUxephoylV zMC|3pa*rOIdH@^mv#BP!z;N4jEt-5{ljVNLzd8_Ir`G=4hc@$* z0o7Jpabndci?eQY{q!n8oBu-QL4V@P!mGl}?t3Yb123a;? zY}qZQ5#A9X1s*x0(!UBJd@&PS#PyznOaRXX?k=D_9^J_3k-nPAMfSne!;EI17+8Hs zU!6nOkSUzI_(VRU$&2VPwwRd0({a|75J9 z53jwj>6!EU#$+aJ58w;{AnL=TuiQiib1K+W_CS*nw!5bTH*Bu2k!xZStx3!Wh0j86 z7-r6U?46QBEb&I(mTjb%KYAy%+IGmJW+m*zhLJ%(H9Y!|_UF-D=S)B-VrZQUK@QNe z2-AB%ErO5TVp7nt80?mN=n_^ZLf(41#y8cArlinoty3Du9oO*0+S1uJ;?|ulh1a~B z1|^%8Oa4HoJ9!A&aAvWFZFvV7nl}>et03S5)qYhZ_p|m`5dsJ(w1TCz47I$jNTu{D zvzLPTYeE@WlUKu|W1HY0UUKsjnZ%vKMqY)Xd-V~s^huPF7vk)bOPfKHCuLyx;EPXS zW$d~}Bb+T2y%IUHsw%soTvACrv(N9YzK;RZ;J1R&LsA2rklr_Om-w!8r55Vb5>4LZ zA0;RCu8~yR5B{+dU;#}asP&4gWU(_iFWZi@lnAGlz_0-e$)hd9>;Mt>exziG(1(BQ zAs=(*VByJ>TSo6Q2NhgA-%^F{J&DYL5x5(vo z!~(yZm^R)MhyKdt_+@nqj6d2x18xq5!EEK15r?m9B?KEdS{%!iW1T&RJ>YHBOy6hN zQ9NdTi(-K~txr2K%7!V>#wG#e`EMA z3irq3=BeH8En2cdJ6n~9f?Jh?n6~c)+xR+SgI2S0FX-JFId3h&NVg<+T_;diFOI_o z$}>LLz_hGvYM#?HQqn)-B9IZH0)r|SA}=tpU|2XEYw*{jdn4)y4-*Y6=2-H?>n{zk z%vE&^sy!j30;W65!&{YK$&BVQig#lqUztw`nI`B*AI0mHrZ`%5XJv=)&SGJbkPSj} zZECOj<-kewS@V{_A7aQt7Lnl_s>)$$LMYlYLB}Kmrn>GnyXkbgQ4t81)Gj>^x2Onv zDDqm1rL_EWj&Fw)NAD$}gzEaGj$P0mqKr$fcL&o(5X)KNkp~(DG^qOWOJ1%8Tuo-CAeu!S>G#aFH1r;aA!qFP>_cdl8hhCRD zVY$Gl+6qCzP34K3inabwp4SSJ4d-Xh{qxb~h+g1wL!n|DFG7x+I~aT3GviMlYHRN( zON_-!3jI*x+x-6;@90gosn-Td1#s6T`5#5jKd@5{GKU5+vkYR0V)MQH!CV{l@n`ah z{0~|sVm^flk7&2w6tuu`#)fUi{q@Xi$*zRD1sPwu56b|DzmekW>H|`Rc+xlAtcs2) zEWm$pJb*Mro#UeJno$z`r>gfMFy6Ghr-IP2)X**DOfts zzp1IMc$-14Zl5f9S(myp81O<2aOL(X+kY#<^M@VheY1Eyoyz9(FJxokr>#lpCO_AW zk_q^0evj4PUbI5QXJ=JPx^Fz&f1_l|vrju4m?Kj@o&VEO0=|vQpaDSVHy9a+^h`AD zBuD5Zf{Uo*P&YBIFQ07UjlpKIK(xa`fBv89kzBcWLfEJR9Xt8&(h`??$zB6G<1xLF zg3IJ-ShFEB#a3&$0}j<+31+{Ob)#265^Kdc;!xteqpu8HVPXJ-A+6|rj~ad28JaVA zJzbODV}V)Xf^`)#8Vzd+x#`5Z5f#yV8c%!B#T5d#Syfa*Y@Qzl4YB;BylHy(<;VC3 z8oH`Xyjcytj?U3#;J0m_!s$=<`vgTxp*h7#nePWKR7*#k|6v9$Uk)+CO+vh2m_&1P zUMgN-7xVK2f}WQnFDRoTq2D`cRfby4#^PtCLQDRHYLjsALS z&97_9CLT4t%tnHNiP!Qq z*QvHA(+XFBNL^V3&(bf3?@U&dR}4J@gEEYs)&vHdm>wW-bo~b_!P>~%Gb!JEt26l$ z205V#ZM}v|h0kx{QYcD7%|g19LPVom6KL1jxJLFj%gvHr>H%Wu6fP%l1UgE1q`X!q(CijPvbF zkPA!&uP}eUG!0cBhNtQK3(H-h9lAP)IBI)sFm{0@f9V|wn?HTJ9>0nCva~0J}vMjQOTL4^Oq3~`H_kX7?Rk=&TH#eO0h{w zxd~&D1x?y1_sI=N-Jl zkXg>18SH^aXV)5%t!lwpRQLeX&{j^FT7X-P(^fV_80t5liE4s4KbM0da7#|#ZIbt* zy(sYmQ#8mKMX!G@rfzoEhoDxdK|P+)t2u!L7o%~bI!`Me8ED8g&zmS6gqXZQ*mg9;qv0tNfG5aM5cuzI{^`Rx& zieyhXp4EML%!qM#5;*et$Wj;lt{z4>T{hq+=_4;*G@*O-7R98EvYggxdoA9v8f+kf znCT20N|#SX(b9=9o7+9(RE~-V+7oHV!X;zZQ4;RYq-K;N*Md=U+z2m>$seLO2)pfY zBRV4sdX83+j+hAR^bwWa*hptk&6YeKG&qYxa zSyFIV$bW5`XYEG<(v*t&q9exI@umm>8OMoRDBYQ)bjs${ ziC&0Nfob}oN+oqqld%H6XXV;O#SO=9FDzcV!18wI1g|qFtn_B5W#MMMT0G&Mk|7cN zg}Iz4p=W!m`qcy-C#5hFHdF{nV+u~xDEH-MF6LX`fx~86xxw7O-AE5bV@5Y(7$ExC z(mk{)u35Ie3hgjCjXm3x&`4h__GAo|4b%wetA%xKW`B16c1av6sur6Wn;R244TEJL zj|tx0M9g!sjFC2>k4kndnR5;yqwGU!Anrt+(lCTxb6a5<}1_g*G{_A^$ z?S_wbhaOB@P4{DJW|b_4VRqI$bjTx?LZpwUHWCQe;6~R=pTx#-p9sGasWRZ~J`YS* z%$uBD{F+nVEeMz$U>-Il&ju78&qP2f6_a<#uD`)K2#-H%t+xBRSGTwqEhp|u|} z$>3dml5*_fU-DwXgJ61c50`UI2Z}90Fo@S~(2Dnu>K^#Ds5qbCh*sqQ5txICZVSjF zeM~N=Yg*5WttpZFmXHFCU_QyU_q@hLFfGYLin4(x@5l3VU~#`er2ydN7dqL45|zoi z(9oJnzp(R{0@s-&h(%iYiwol0DRB?>8Qf#G_Wc3TIulv83ddhqqH@YWu3S6_qj;m5 z#`z17SbZwM%A(4y(qw+pnNi+~n*`i-Cv3r{mn?id{L&!o6u_{`FL1M8*b;?>WMYKC zDGOWm$1eyB?ZrrdO-X4NQO?x-ks{RH8|=zi{-juos%{QfzY9ripV(H^F5D6be8Afz zdL)%+W4=vLA*_2j91tss_2KR^MYKaMBG}Ru;;6Uo+qvy{&Z*RjW8Ww>{F!PaA&EBX znC)?Q$d2(jFRFC~&LyqkOd$d(?@>~_p=XE<+zQ6@`UBnP`sKszKy3TGD^uyxE;<)~ zP5!|$YZk=rW_q$zP|q?EoeIG2yxe8+Ov9p8R;WKHVK*dw&Ci&vl|N@~KHC%IxXttv zCng&zf{8_FDC`XJ$m`!;T1N7)g9n}S7Q2WrO6iQy2x!x_yHBIdC*hv#Jy}S2!&|aR z5@eo2Oz(#<-Zp~OVV#eApz@xLk5DU|p|ge#aK=^{^A4&@umBz{5ePknVwT4_KT#c%b zN>K3ZUEXe|4y2!%@?{P_`7o7(|835kg-NDc;LTJnqEe=Py_0n@XNyho6?s6xm^&I%h* zyGwk(*n!R#$Z3m}JX8Ywod)t&DwXIwu2T=BU8@=7!nN}-D79Ry<0Yqd_$!F#aQUFr zN6h*$91O94CnA~DtC=qg=R<3!-{{DXH+y!m45VlaP?>jht1$(FC_5i1tEw$ygVP!f z<`&9!TGSGz4*{@}C=iJ>)w3FxTc}TAkl;d+87Yzc_#n?+Io!+Ig-Kp{N z$PBVKMw^>879oQU@2AeLMphr1KXivuv2Z3ox3|*7kiU$QNy!A(s?W0|WuN3?9~zuo2_`jy>b2)!j zg$G>arJ!IB2EfM2xXx&bQ?@<9zi?#L1jR){mIJ;;x~+nDHqq+JF7o7ZiqGPX6HM?) zVR(MN`P|l)y@7+eSz}>_;TjgOeaAS(u$}>LEqTORswlu&<88ZUu#)xbFUn#d znt$Fpg+fyFD{{-cbGi;5ie?pev~<%Q?GsRO`RwhU_OxzzKm{M?jGrcl*oyLtp z__7g1I^~$j_rL}e7%8;G6aO1CIIB2_0WJh}!WwEp{ z7Ojg=W4|#G-!;g|E=6!`=HfXwHEsHbE)+pXq4TD;nCW38qsJ|M$_9}4U_R$#1N@I@ zSg15Dwo(elv-U2dgX?3U#coGvPlnA^jnv z?~20{MI$PS$l^n~c0&^pml`kMmnNp{*TFHX(PFScCWFrNTSc70j3z(i>|3LBk2n8= z@g_*C`jaEJZ_;9*^}LGGX%YXRDGbYWws_O?WVPPzsy^!`S%YsyaQW$n27Dz1u4@l7 z`#@3wTjf^JeTOO=9aX(%?va$`_(#(p=@} zn{E)g26o^e;j{O;Xos&r3B(-D^_Qk|#ZvO&-4-{*(*ITKm-Tj4y)~;?$MM3LCSlrr zn7Po@ye{uDUsP5xoWeF=;IiZ%=2{8uKPHbD3fxE8eMR(uZCZv{9q{A!yH}1%q#X*bjK)ZQ@0nyt`u>VWvHHO~5W1xy**d{LrzL`LI zmxbRGo@pk(q5I3FymAKt&t5pl+{ve(A?h;KHng@TEPTfdxUS$>J=a!w^0a+Zud#*4 zVva?Gt+5Pl9#W0VNcuCdYpn0`sQGI1?g-7P$}l>R9Oyw#z~C5X2CFdQzoKO2BmB+G z2x@suou**Qo&kWLr>OCf4A{y~RG|^QxmA=6^B&~qGPlz8fPs(O|2$G2@;;CmFVZj@ z7@axaYk^HgQ}Xf1I#}_+Gm7oCH3cWZWUpXi3_nhW448%dsgvN5c`f1vZ-P~uWul?n zJfI>;5^Z(H{XU!^*T4Nh7O@UpRITg@9hVCAHF-qfc))TcE-sN=T&_#(gg!-70U<0Z znmVev26U=($wiuXyW1L>wywexjYY0=KGT#7gvUO=BXq|Z?~U6o7pW3KG-8Op-{fb; z>V9a3-D|ZTKLsY1>wC72;b)GAhxb76O?&e{efx&jxN#qHe$JFnZRhgSia+8XJKnGf z5+%iuakcURG6WVWWLy4V*)l7Y5B%iP4WbFx~^Sia0o6$q-wx*gN6D^JeK9gO^Jeqy>3{PwdLR(c;!5!%VPprC$c{Cz1L`ZCE@=71o}j zGT13&MyM2cUKezao~8QzF}&88CT?u`zea$0h1nZ~<(uZ{?^6Nk%;Fy#BTxjZ&7kZ5 zU*7p<7Pzvjp~(C2(TVwX_IRGs$0S^^`VVj_Dx|1@sf}v_igcl7+{YakHe&#vQnbgp z+aUwn7W)YIJ32VpSNM3t2Ek-?QB^RG7?T3xaR3=lM&3veZ+fWe6zf?m!fz5@AEFsU zVV?;P8Bk0(`(cQ(Td4 zG=4(q&u^qw*4nivzX#M_ZR%UJnKCbAyk^1Ole%mi;`&VKiN~Jd^9U==Una9647FAJ zMM;8cg)1}-60&JbpSIPrG@F3_b$R<#>ItrX4ju5ye&Ykg=kkhMnprnUoejJ#UD= zh1zq%);ax614;Q|b_BmCe)68-*pC{6fl#2|2q9k(krgivMTzmxQ(niz&8C!@?vvv{ zQmlHerwj_j{csniN=G$4pMyExrhsE>B5I*#X`D&s90@D?`Q}oKp3vA-h*H8CI8kM;bJARj11YBo}M2^Tc~lvKtx=cEOMr@un0++ zn_ke7c7)u1AanO(<-)n3LzZR{jGTxZ1Bn+h4X?7p2gsk9P6;@+i=jMFid_Xz^|rJW z1KjjJw5LZp-&0_etfp!W1`%vLDiZ7O;s%0)3{Rl7G&DQn9K;GU242DPNH%T|b$;DU zOJxn3H==J55~lN7=L*!&BLz6aV%Ad^wxfR`Mj1z+;Ug?X7OB=*nf3cuMIe5?xcPod zzmB#uvqUFzlpWCpEcvZcEfG*S9H>pJZSWUK|>~4t~KZSfR29?+s`!EM`KYm;brtb8`tRG%WpAcZRM#gDL7T*M{lgU zfX2(?JL{fr7kCu=D#t>}fSxI)k3=)Cb&|1&qCpST#KeOuHS;S#!lo+F;HlD%tZ^&C8YIp1-)VA}HW_s&Eh%?fcv(%Fvk7H7sOICuKw`F|R7 zFU6?P(Z{aq8__dLz4j;?{<~`QLBUT+&_2AteJ(_RR}1MeodCLM(3L7y@G(nbow)0N z1&v9C5m8(v$o=t~)paRT&AwQ z%i%iS%>B$1#AkF;|-2`^_cbyia0So^DwCrb_{+#$FNk-xkd|+SIK;DTufE56zgcT@2 zJwqm_q~lWpsSYN6`&3m7NJykKmZ`eMdcSgR`EeNbMV;TVzxVZ!yJE)lujt^9#Yl6y z%_>}C=5D>@)WOQaUWC$4Ncmsp5R@Y|9q{(xtX1=f7A?gneY1Mx4HHH6z^Kiq^czE+ z1$q9YuMo`g!t|R4FHi2rIiai|&TM>{nDSNKjZFqa zwS{QxLngv4>*YG)CjkzJ>A7C1LP3ON0VIfR%GCEUsXDdLyy4ZnILBHv*|dvPpN0Z5 zpijj)k^_*J`1Rm%y@SGO7KNqlo_}|g3ocH)6)hB*TGvY#MOxiVF70oGbarvA!FPYW z$K}BukuO@pH^tmU7S#~6w8mL%=PiBtv_M5!OZ8)6hSQt*l>ynej@p_aeg^;1PveuQ zu`ZX^f|xvX!x6aKeDIo?uPi)Is|R`Z(-VVEoT1G_gk;>Wo?6Rl^Zl`j z%VB`e@7gV2FTRPR(;AlMDK-M;-nFB`W0Vg4n z3L4fAsoWrhxd)8s0W-!ND|IGlP7&fCzbr=@NCnU%n@v(>`o8! zQ~+<#QeAnq%c)9B1Ih7IYFsfMkJZ4~! z;Ket2U+993D$Jamc<(#M%6eApo*Hfv;C(& zdv6+00U_YsV-^QhvJsjE2ET?pqZ!)nynKs~O1g|hJBNA~r7<765}&&;bqd>iR{ve0WXl2|nVXLnQ{8GWaYyF!#7bnf06%NxS{7 zCtdx?>D$UBQch@GZ4gd`8TPPwLo%dtRjg&sYZ=j7xg1V&qw5ZN&97tme|x8?)@2Tv z`_Y#bhQv{_4i7Uy65-04bHqj%Ro8{&hundY5TuYW!BvQL;1ELdpK9W80>Di(-F=Og{o?NZ5ZbXi&)P*`@&mCS9|<{%003#%&aa zq$@zi6m+F&Pk<(exDyPdPSlUSutTl7*f^^yY@Yah&k{lW+Q_{@?&`LlQ1oNYB1uW? zKf?Lmt|SXbw%nG0hVzfj037F=t=ov_h?tn9VO^-WrCn*DNFVu5 z6t~#gFB+E#fcVg;BHk)FP#FL}0&CF(eO5vJN7r(>ijAQyk8QoQ{^VNtId9Z@ZIYo~ zC~MAetWWNTm#cie62RA*Po-xe&yn;zl{eH{v8^spAi823>4Dwo;9z}efg@yN_mFsc|mJkihem|mwq0`PZ5xTz` zamT_9Y~BkNV!uQn$vDPlz3Ct5BS45GG`A7}wwT}DsKbvm4eC79fVjD*EHn=fx5Y$0 zL}%I~;>B)AB>({5!d5+b*$!z(w`cMQ3}G1_8H{gJXYhPA5EWJm{)9_hH>QgTvJX7= zD+l2dAJWJkNn6u17&;xI5VPPw)u!aCD0fGvwwq!7RbHFWH8syp4rK9B3cYokm$-4l z$>}7G#&_nL6qbPcPIDk-zA-{R1bI-Dx%Rkth2RgC3hGFwneQbSfQYQYHn1C>DMC1T zx~(IbgoA?zVRN1+3Fmti*7Vy{_@g!eR%fG6E0x>w)Xi=uc-Lc95ar6M)Zv=$Gm9sSrD5;A#BaKT zs!?$*WJ5iGXf?Xrj!wr?gP!TeZI%61!0OQ7{5hLR+Rs2K8F9D;s^4JZ?|2LyCz^If zA&Y+zbq5fu$?Hd&mckfqxnsb^eB&hTtGAKUzv&u%P?E%x1s*FNB%KKgh5CgUVG-^I zMh`4zPSC~+Jj9#n=itqBT8*850+Qyu7bk`QdqRdXB@xU@mQk4*B^efm&@iQEGY{vf zai(ubfeEW;@i_^(1*$M!FaLpMr30^kz!k_|>-E@E_T)}E8nWXTxvnsYqA}FHeszPO z%5k8`kkDDRvEWVxx&(;BM|!B+o*xqAapRDvXs zOiYuQ>cH&Rh6?S^qg8FQHqau3gqav00I@k6b=;S2Zq(yt&6v#-dby7%VFqGZ^}`s}Q(?(c+whNitIJ$1K;JWtq4j@GNWg>~`6%@111$Y1gw-79xY$Q{jHH zMyv*uv-^jwv`eolv+o;zky$d*fBi}e+}8Y4jS_8k)>VMs?&+WZ$+&%U3n@HQcQ4Cy zRy~>gLT8vH#zhQ2Kr5-;Yy*b&*E;@)gXxJ2EG)&lh~H$Ow01tbql@uA3nXA&9^Uuqan zd@?g#?&+DqDfMXZ+fEe%V%FHa#n=BNl1IZjY_xq2T@07Cq>Htg9iDL06`cI0wwrhu z0ewFw>iho_)trjf-OR5Uv6ssEH0SX?%;JRwOo_av-2J*DA1WyNqg-J5r7@pz>D8mk zaD>HnK?S|6TM2HnmUQ$>nb5-)QXdhQ+Wy8(g<{oe)8#2B% zCQ96nfe7Ui{;x%PF={Har^EPQFu9Wm=J=3nhiYEbEA4xe!9KoiFgrJLY8W5Jd2fNa zn={Gw&lJVfOlv|pTo!qDcgMrTn&Og2l%8m!`j8gh_0(NIdMJTB#IhaRP?wLz+p`+h zR_dxzq!>0x-cPzDkb@l9zk;Gv6Zl7P?@%nKF`Pbln zUDX3|f%RQ9PL`ktESB6A6W0y` zHKOsij~~vtNY>1xX9bR+F8^3ph@Y>X0?=`#e!>acPQ#+J>M*(arZUoyjo^{(o*pMm z%(95EH_bSy1gZN#*knhX=Nb2QlrCmfJd^Ps64ksUw1LoNy}GDF_IVF^gz#w#m!lc78PGV`#}|lBxksQG8$HjPbj=C zJ{0y$LF_O++B+6FOX%$~T6Ox)*Ag1FdZ+2V!v2AqGOExcAq)=}9wWQIX55S%&C5v6 zID3cEh%vLuh-M-;nFdplC8AqodzFea=Z}m|# zJcSL#)1I2}x$s))KZ)2u%4z<~%aWsO`=ThjNAIrMiED_W`bUYaA|Ex9c#W|X^r8<= zqlDZau*dtx4j-zS^lV>#6uNX6ZjuKQG0};uz`s@>PpjJk)U@h^`)~RkJf!R%2{qo> zWBWh71e9VRri#-g!N7KHLI|6rx$J&PNDD6n=}J_5D2Wx);D3 zuRY~kneI9<9!Rl|!@%iBr&Qk?@~9(bmH!mbtzVkJ7|ux1`oJWrxMe8ZZl94&a{41U z!_sA)QkM|%y8+y>h%U81x}O%WU|Gx8O%TEIQqv0i5Co>2WsFowi8S7ipqEQZZoyWg z%c>fl7MU8uha=4$&9%8m61-(VA-FwJi#&zMCbXe{O0lHKp}po=@lFyd-L_qEnAQ65 z*{ol4s<5X8iqdwX2DhkQLjX2B#zJz)NljuQgRx=$n~YTDq;5D_<5_0fhs%()7s@&iZPfm#F)=SJrX`WYarvv7IMqx981>4%L|EJa9 z{*_Wi#Y%e3=rC_h+5dvtnwB!`4s|hO;Gv7k001-=A>axCphf>`R6UBAa)0au0Y?>3 zs3#Tk5|pT$Cjwo3o6t_h*3F8S_#iZ|$~>%{bC-$}+ipWR7j;TG;Y@!xaZU%$SSDr= zWwjy4`xriT4T?e3ozrQnf)L>!+mKsvXT~7ocTFb!WUQ{=@Wu<1B z*Lsb_A97`t)ZtV-tl+`ffK4KYi)z&FGmrbTEjK;qNPL?hDR38A3uVDl0`ICU#BIMp zfrlYha}={|sgbz&y&zWgQ0HSk-0$Sz87Q*fivN8pqg+a=Y=`t1Z!TJ*;b-N-ld4>tJ-=^6L=lfCEYv<6M;oZBmG^d_rSq~*pWC@%%LPD~s_ccC=5IVu` z)%ENo&{CqhzP;Qw<&)vY#fh z1S>ZUiC`#t+TF9IR0WyI?Ac-sGS-t32pmD>NFd<(;togOI!C?q;#ggMrWRi_5L*`}&UcwPH;LJE6xuHt~ zk?YmMkyDdt-Y_YY66Y1YQvQBQyk%jKY>m?YAlHsH%aY30n4|2c79U`}acvd&$F&qB zy5Un)+`pHzhrA<%>^Ce|4gap50zJe=#`__De?EV_H!86T$EyKF=mhkVb?MYW zq`<5y6GY+K9l!!tu71AB1i1s+)ON5~X9)j8`WCU+Z!ACEvm?~q;JI-dve4URUn5XW z0IGX>?DhffeonxR`LRT2^{*0i;{m^K5ss{{yRv)m%SqpP#wq;?WnQ1PXP~j?UrWUJ zWjRVN6ar}UBE|pSN>$aZN^~u3cw^mAqv}g)yaWTNQ_sEyVR>s}A!XHZ!)W12yV5Xz zs;8s?|G7wUjROXcq2+)#qGdQu16d`Q;>Bs~?`z%ixuu+0yVw|f69A0MUVQ?@Fy~Wk za=5S<4?+skeF_@c4nJ86Icw86-W!Kshfg7M8+AdCr$u$^LodLY>fE;`V!o<=EHZh+ zeh0#Dr83%UjYW?Z0wR5_$JFTjyzn*n!FZ&g6>&!=uf5ZsJdR*dZ&tZ>o4UwnjQ+6h z2-?OFDfeq|5?gT)T4Mzm#OComRmvrUwTq5I#D;c_^OLZv?^jx zZD6Qi%lInXXCU|L@uK|rouZA%ZFEP9LQXka0g&aW?yAp8g{WAlS08|_P|d~=AF-BI zc(G=}-jJEQk{)+@Gf^2kYonOd==T?0^M5Nz<9#{B z&|MDzjDHKUg{kpz!%2DYHEtW^4YuX9COzgkhuXnjO@CNFbbpfUB>uol|q`jFcuYF?Pe1^M%)#%zIwjEE==5z#LG7{IAJvwuC#(vF0ed zQNTkPGTKqfE7$r~^D%1JwoxB=or-I;yElTW@m;U>+T0t$`g0EKT&B8QXK6EBy5EEc zDN1Mf@y0p|;5plK>YeIxgDuowOY(I1*PY@j7%JH}|8^CL2)w#|mndQb-Arhtwx~4@ z2BvCU%8X43;TSdxRRM&EC94l&<4F0Yz;xjne%%X#+NeayS|m**)p^CN6Gu zpJEVZmtgg+`hC-r_$I_W&p13j^;#d3dznzMw*%^BX@PYnhfI@4Wx6=Ow$3sltM;wX zX|iVqbBZA27}duE!=i^?dY5k67FI0pMV^^@*-gxteD(iz^H;-%?M&97IMQ^X*%ck* z|XA6a^5+rmB%sBbnHgZA%1B8v*Z z3-59ZT4vrHlYf_QUx1MF69fKRFbCXc(;AZuPabpVOvOy7cvqf0a)VaN0wARG;_M8;o7i1p5(&%>TK;ENWQk?ubo%KB3p{(ox_C)rml2-sf1@l@OnKY{UN z@TQmt-@as|e~SWoly=ec>>H=yD8hiytXEpoVp9FrPIojvYeVPPi zQM=Nm&jq0)S(Rv*AQ0RSE~(x1OzATR$0ONq!`M86pwblhFNuCqOwE4|XqNl=G~`xB ziX69`xi-WiHjDAMgmK!%8rJCxKrV6A(vu^QHb!yHv%v$PEQUaltHj|;zH|YBqjnl>Gng2GD9}pL>=AJ-Jva=F8BQ-cyB`PU$2T2F}s%OegyTEf3 z^iDmCWUsGOWrVMAxag zmNqg$+R3!h^@^5c^-Mr`VyZQb@KQn(E^&G7EUL@cYkcnvr7Sk&-9J1h6e7Da zJw%d&nT!Sa=o>KU#6G`8Y`j<^OB=l>sJHp$fvsD=C{E|z zMA?T;w}R@V7?qOmz>ZlR4x>fTpUMPEp06iH7w3~nj}lpJm23cp_EJ6PG>YyFggC#< zD&U4^S1|vuXAEKT-$$uY?o7$$vpL9TwWT^9$V8f+1RW6yOU0s94*Nd<3V+Tb@`3`9 z-gzI3!nv7q=KJ!xh@xktYe1Wa`e}mpNK9o zQXTX;QkH+=U^+o<=!>vc8Q2Ri<}W1_nRiM_nkqf`&(r~W-`#0h*)zaWWTPwes|9V; zuqIOlt;^!KzBKO;46D~377~iMKNbBA%qWlaF&NmCV?`OsLYXlHu#L^$tu3FGBtH5* zBV9^VtkCd*O+QsCBzp(mv)vUjO( z^)Wd`jIY6$=4uMGEzKr%MXJf~rt3YwU{VeCohkL1g8&c73waVh(|QL^wn>;XZp@Wk zM;N2y8IAN@pqZY;|Hc*+`B+~;1EQp;)T39+gxQXO8q52Kn+a&cag&Ax#k}Q?^ zmZ8ky(aH<>D;C9kUE25H{REmb}{_yTiiL;!Q5K4)dp0ZREeTXz-t^gBggfcC?$w7iCC z#V(7U47!kax3%AjPxYeD9({^`goS7?7G)B5Y09%gf`i1%&Ftbjb5`aZ8& znzBu%xOeJ2KbI@*vtNhiqwKk;oFfvX(dQVR;TTF+#uB3hz0aT%b>W}~2Tfv!5wTrA zmQK;5I_2k|$-%!4Z*nHkqgo+yS6)vI|=LN`*H>m?;}(Hv{G*O``%a*s^UP;*)0GPZuw zUx(JV>Lxhmz-Mm1==inQqS7n&3?D>p(%`9NXZF;Esj7djJND{OgAAG$T?H0eHRcum zfz)LV=j(V1zFB+4h-4(VF2d~n|V<*f-1hp4Ezo2z10a;dav|3 zVH`ydWKd{Q(QIB>a>xL&4zTF}T9+Nl6U>I^)8kC`{+4C}2-xXAxO_&8BCVHWP!Bpu zT%)(r;@dnD0yO;~q;787ROs&99C8HphnvvCT*$P8Ph|?e3WSUh{=Q`xmMKTPzn2u6 z8s@5XR9gSQ4;{}_^4bJU9u0L6!A3K(kR~8n!^B5-WW!!S)Ge|a@XA1nPoT!6HGiH0 z*VK0n;yL`^30szpt_@crz`@TPV3%IAwJ=DwlRXUC;p-nx2Ek2R-4wqtE+63Sx*X=8 z28gfyFU#HXHuHlAEP#M?@XCs(hN1;^R$2V@(ox~CLF8m?1*uUMrpt!!D_VaJ4 zMeN^!Up|~&!VNQIAeWV>>{PSmN4KAnJAip}kbnOQ@9>1eWJ7-pQ9zi2znvt}#|7U* zNCaAORw{deOaMwA00^2bun2Y;1f*&LVe~&5PF=W05y(39>gJxBEs)w6G53}D811MG zjrZ*yuk@V|T~+Ef<>j_c1c98uI5QsGk-ey~l{#^mwK6t7iGD)utJq3+7WxE?{uTS* zZH-cjauPcGL}(_wXaFs8Munr4znZzNuYZmaemf>e1mg^0JFv`(@4f>}lbod1fFwih zMe!B;beki8C&-$mU0r29_A5_y#+y;rHimwibeVGt)&G;Ru7_|4bJuoMxGFNPjBkPq z(ZXKyPHE$m5#2y?Gd{DVWE_Oc`XQ2gQ={5$VF8b5N zb2k_mV-n%u;fQg^uN~Bx+-~595WeQDLYE)27CY6+ZTx-)H*~iRF?y*3xhJ>5jlP-LMP3&2{IlH2`tmHclFi1TB1D63y!VG6w>#af>@c{usC3>!YAi*YXKq$) z$JwaPU}}(>Iox1IgWUj?pENE~u?w`Z8k+c-#aq~X+A zeF>q0ngyjPBHKsj-KPve=9s0YW{mHzLTKBlgTF8EdFgsCyJu<=PuJqL%D9@WWz73| zsT#=o^yDm^W(n6|eL1ZmY${D{s%MdVhk=H5PH)5hZ)Q|}^UlfEuw|OMQ7jHYJ;#b5 z7|@X(DV7!n1c%ZR<9ibH(rxQuLE!D3LgpWeX;}f!V!t=n$|_5Gq73dg$rI?pa;%8| zk!&@9YcdD}&DNb=C*^hxAv(fz72Sp@gf!ocy&{!;ql|iV?6#^;%vSg~a?YRBH{DIi zV|3f70Luho|B&L&)PS9cKt5Wz;01iRzYxTAu9w!Kw7r+_6oDmdcj^6No<|OA@xjpw z)>hY{OBrgpnbjrJw!A90!T_rDhVAsjbp6i2f|@yQJXUVOx-!ITdwi?yF5{Yxb)D6KFSSr`_R9$*=&V5a+fOOzge+s&&=Z>L z=RT%1i5rtCy0yNZzY^h@B{lPV^xI@G;)R{`(AxI1@IFpX4*I5xE73sbUgnFy0~UcI zqyA=GI5*JNJ0#e4P!17FOB$UTTUvs!gn>bA?*@lWrGQ=NIKc8&1_E(??`qGWWBbv@ zX+?>WaVH+S#3JQRTknS|*5sC0h%37gQV+&4^KcP&MMDSkimwSGb&A7V2bvc0X(TTpzKk!I9n?iI-1zA%Tx2q`xb+6+x&@+`2D%dFqQF^N7v9=DjuUT@&L z*M-AT3T2n(oWih;Lhr=<5sG_R3<0?Z+O3%0pzQ7Q4dK2Bc+(C}02$1bZo@5` zGm#JYf!s0L)$HMiwxt1iO2Mj0`yO|7$TwXleI5P$s`o{tUwjXr&tG9>Chu<;Gs6{R-DpNB^0gm?R*?|97x-Bhw z&9J~WEo7u4KED^nrXOiAa9}nD($YvJM1X&vpz5Dz3#chsok`!lir8+_xNw9kCqb6jXwwi{gf;bcfdsXE zCV0kwrOpHvN5o}OThHTmZiuH_8ki-il3^0ll)ANjS|WBx4v>Pk>j5Y||9 zNyx~($bsfG;EbS&2yKl0uiX6b`(0{Ojq05(bMI?czF!v<6tdMahgQcpQrj5nm>?s~ zAB!8D^{i6v8z76Lru^d^J$nNQot3-5q(`m6m_FDdEM-O1cN83v~7||7Vx&k}>K@bk@5V-#!EF z&G*~qrgd7`vdt6gMN)Ks5obk5jGND!y=CzPHsh)LbV0*{zKXl~T`ZQ~Tet0K!`!4N zf4og*P~%_#o4Q{v9ib`tphuv=lfQiI6?-4=|HrS=WfI^Oa&J{EV$v} z;yb9W_mkbW9D~NL%)=xcth#ovXZ$;@#W?HkaEg9kUHvKZzqu1JmzbthYCtJrdu6&4 zZXyzM)b(l&u69aCJTb-+i&263wlJp0bGG8ZB6Rdzlo?tCGBduxq&!Vd?ogvPBMa7& z8C2lX4tNglLJz$xGm8_Jz%mHFu1>cmozbAM0!#Q?V=CF^1s*_HRPU_g}77! z)(n=?0lb19XqR-DDW3O~1G4rGk}QWp*%y!4ar>ALTq8Vr9lMT}Tj53KLRzEGuHtbc zI1rQRR3IAyq{>-T!#AR3Ps!CV?umbgQ{><*QVM<-_&irLYndTHD1(iNWH$CKkSj>K zRrkK%3}0?|mnBt6@~?|D*nkioP|Ky{ZeY+CpOOj26}u41Qa9N9Wg@TOK9qT!Yc2SA zO(xx4rcZQ5zQ1N#`u6+dYshsl?>L2_SSO1$LUjhm0N*!R*P(Lf`Kb*SoegS2UEH6M z`FYGG-6{*sab)NjP?*=ltbRShMA`hyo6)=3+=&{uz@xx7z(l1$$R|qU5&j0v0mT)V zP&tD8^F=n}9e@!KEE45N-cJau2=;N+Vxbcjx{&NRoRC34AD>H75KL5KoiOUz47krZ z?$SnM$XqlK9&}UAEPK$f)a9YBCGBP*=Mh|<)cA~uFDhZ33x2_XF8ZIa-t50b{tPWX zWOe3|mZ1`9EOi!`HB0u?`~n+J^hS!UwuhV~?;ZWXWLRd(ad_r6y`q$;SP%@OrI}?g zTLLOIdYpc{{+ME8-H>(Kwo>gdFwh#Nv0dfC&A2AvO;=bb)j3Ex7`gSyZK$Tk0UcBI{fo`Vv(XY6FUziwJ z@MWPPhkZ#c_M!mOUm=XZ3NqcYiJXqCZ!U-a$*GF3RKx??h5fS*^O@1 z6$qYy7pc!I4c-|vTyb_4TDU{j>HXwR1Gro3YEJLdHFrvkP_-y&QuFYmA~*|7D!R0@ zp2mZG4Y#p2(X|76jxz#7FtAee`)@KNd87!S6vM)*FD8wev4>6qy*DksyPKRgS0L3?&iJh8 zz0sF({D(Vuu++vFA0;|+x#6e5nc#3IGtfWeI6z19obf}Ydbg;ZjN$htps>JU^<@mo z26z-!MK18!LI?1gI<*w3ghE zpU&2rZi|WBrwDjjEz^BDBZPe@hIKdGm+Oi)V_nE*;E}di%nw>RG!j}M*taMeXw_~M z9Z>JpLRE!h#b?4_|9w)0X0?`@4U1ax7?R$eQmi%AoUh%}Df?MR)C$7L(@~nw{*6BalM0W7U{i%>FC{9X>o(tqZbC^48TSyOg5#Nt9GB%OZk6O&$yI+S2*fI=OQ)Qrn$~D zD1OK#+O6bb*%=)$^bd-lGQm z!(Jmk_@EALTM7jAzdvpf!_^gz8zD$yQ2AJ)$zCVs9Ygn54C_qw@iF1NSD9g|k-Cbe z;jl!-E>-*)aCFQ5w&iYoh1oyJFmSo*4zoVFM507Z?XUn>O`8DJ(zb1Ug#`35|f=9goLpjn>;eb<+L5PM;e6t3pSjp7T&o#fCxT z4mjqX>hwcq?<`majMhkV9)ehJK`4nE`=|Umro^aVY=R{arUDG_Q_@he$HH2merq=j z%`oCS@-`D0t5T4w+$cSD3gck~>Lquq4=q5-!MxhA;W_KUKVc>t5bD5qcj&tL^R{Q} zER5IZaru?@qy6dEIUQ?Db#mj{UD-z!Sfck&tBMaV{Is418&`(_FH!G;GheaY!}e~) zBl>u1ZefNh+!DEKUYHikwtCY;a2Zgv5YD7rAs?_sC48ik?>>}8G;0cfhTJ~fC}Yjs z3OOO#lHw}J##=M>zp};|GY}!#;J_jXJ1>K7m`*9)Q_wU=?5(S-&0 z1~v$yhQVHX8+ogOkRh;Zxu>YzVo6caamBEgOMM0D0@P@IK&zo zFV5)pBm=graLn$$-zlT*rQHhO+0#Ue%FDEN`<7_arHJ&AlwulbZ=5EZsi(5$(}?cJ zKAS42E0Qkg-{!IqiETGjIzfv=$~YKbBJCDJfj}RfZT%-gCO)u83Lk)bxb`N~b;;qq4LZbA5Mi0aCF#V!&EX=;?& zr?Abkh2|gl4DIMY=6_!Be|iK9xFkV>Bask7s8={TpL*5I(?Y1(d@H+S3@>uiAK2$Q z3H?#2DYEG4qm0pVrgvWqM?P3`HF$6OvJ+E7e!e4V={0oXJo&o2hd|hNv}|96x*SQ! zv`4pbO^W}p^A=57PX~e?fix87hE8mV@=|V+|0iHK4lDT62oBt@yxk7}!`Oo4y_27;Q zs%>zsO@feWToc5y40|j0*Oe+>8f1^+aCmUik!DJ#(yoVR{tjX#D@5y^x{C;Cald`r zhzwfNzXpl?yfE#WmrWSTeE3UPxaUy5@j*qLXj4vUm)j$!Bs8M@>5~l5y-9$KXUrE&+$AR_hJY&Z7&nW^a@t_+KBnRH_B!R8JjdfFV z$~(`@HRiZm_|~L$#C(YNu8D)G38m>6rmQ(DH43KaJKQH~8>ibGCdp9^D@y2{exT>n zRZF3b6NW#W*WutE=IE$-<(BxnpyD)_NMlRs%%@&U@-V#_6*~z+9pQK|-7BObAt1DZ zhKMerKB^#p=`^H^Oz4~d$b;-#C#S3>rjfs=i;3`dbPQvaS~}QCF@dk7fRij zW-614qmFxci}N)rBX-B_G~2WAWK!Yt^E>6X4|%DjKnT*&kG%ke@4G)B9Q^u)4%Nhw zHa{t1@mr4uMJd$Vx)1C?+Mc(HS~MV}4`v}gQ~zx9cuo;nLJ^~N;lsgT`%nj}kp>c# zMbyuW;D(WT>ac1>Hi?I=ro11QUSLSE(m-0~!T-^nwuQIb2MH71%LI@0pN5{MoWI}DrrC`RJu|0+{;YWBUXd&t8Hk_H z05M8Fsc*Db^2#KXsN7_Pm_X$WM+2QNa~yqGmCgLdQZqZ#XQ3)N%d4|0pI8t|4UW3;TjvZa$N$!C=>_832T}h=Z=s#GO;J24gPZu_ zg}KCl4(R~d0eY1k;c+D8Fenp;JY{~G*X2lvjT=J2fU3_@;E1^H>;=PYM;CEe-?4JF zR+`I=M+X$jjlJxOXF@A6v=*{r?BU2!ZdjJXRB`?V&)#Or>Ow%{h)EcJofH3G2v-=d z{fN8A5fvE?Y?09u8gpP}nlDu^s18tsw8_mCqOEV$>+be=_G)ereMGmdnBme`WmENW z=qQa{EiXjnG3|xrr|I|T?D){_FYJR+Lzyn$=$gOFB}}N6{_}aU^SY zjyRP7Z9&i~MG|;h>sB|M^g18An|n1Yqy*wVht|nTzvvuaRJ={o3->7gtAIbHC2Z~p zPkJ6yCK`Gzh?DK+?Q+spr~xK+N;ks^a@2xg&^-QLC?{T9d$kkwgk;`x z{`h1t?{%fx#_qaniH=@&N}RJZ$;*#Dd*y2Dk}Oy*?;$)Y4e8Oys+X=K5Tz*eJInL` z8@|Xdzg32l`^iI$Cou~UKlm71m6wxyn>MbOsZs1Yv{%qz!3yF>3n@z2&soCjJTBOx zgHG;cP4@BJFZ)t_%utl6MwHZe7#_h;o&w0iM^USbmpMsdDc1IleRuF!);5dcBZUW*+II--Npl@dLJ1 z8w`GeV6(RV0p)88P&-_1>;099YSzGvO5KAayMVNnVcfnZ6-G&K^rdQ z;BC5?%N6@t0hQVl@fIvV(Tdrz2^mg}+NchdKql1YNW4c1?HZY$bpXb{b8I#I>z7_z z%;?dB=?UET`qFCY&D=_V;3L~S{LJh#Q~}NaZkm<^d^<7vhC@9KlLwXWQH0P(pI@*B zr;r63eLFaHv}YsQkAD+vXtU%Db;Tn11XOss`W8^d&*#aj5tHWf{0Qe43F^Xeg&l=m$OBY%?Qx#DjO3KMs5$SD`L#+Hxp@oIdWU#w-~F#2+lnzAk`c%M|)GhGV53kki<<$Hw!q@$tf& z_$5us678+*9(?gMF9!0=@x@Z5Yfn$Tzh{8QK?g!rXvLB_ZSGU9Dh!d-Mp*-eP5Tf_ zLgeMZwm*f4eX!3-KO63M9mpbQ6czwNKY=7p4Ks6gLrA{5?mSVdZ&#`AP3rC^={><2MNG=G4MPgtzfD&0o}G{ht(V*VBCw2>(YaX}c*?0A?LYPA; zRmJ4KvXR<&JCF*X#uvw}Qq0t7xlEgVi|kiY5!RWBXM;uOb_7Zo8XJ!Icmh$a8;y$H zeR%kM=hl&x_+ZjUv|Z-T7Oc`3N?5TkMmleqzXubcj0v|?YpttNIXOg8g7?xQID>Q*v93gOH{7RElbK; z6dT4SLweQ$;sA@d;iNmurriqyd?}|HaHmR2WW*V$>{j)EgkknLg^tg-m08}4UIy2v zP?R>y@-Xk3^ZWOtZw&Vx<&IE4vbQ|G-D>S>~6C&F!x%<)dku-LRVA4&rW>W!4-2FUF83B%4&P^F430| zav5ls#r)9EDzYhy>mbYcrAq%|z7gg%o`vt2-hQ4<-0hIR+4eXRVC@rxG)~^ZO;1t( z&&^i$2kCGC01l=Br~?2c3;*^GOqrFKeISS*JpK?j|HN7SKt61}zV_a3b=1Ci24BUG zHnuyP`k9o}^#AT`CFO-S4p^iP9Jyfo&JBl#VKzQ_kG_q<87*&5ax^as-QofSE_)V$ z@2TmQ@Jx84rq|}W1X2c`{!DTO{<5{mY&GV8OnfGRd4Vwq_o!vx#)X)eEdQ7Sg#06C zLg_Z&3JQ3yz=5er8InH5(+R{!N0!Qnjq1P)@guIBdpV!R_M^0f2?+ke>QOYPnSEsZ zdM?ll7Q@9VE^Dv8?>fCSmrXKvc;3KvE`B;MrOt zXr*9T$)F?6!b21`AdVJ#qm`6G_EqwTxit%=^;W$d@9UHZT2QH?^?v!mkl5N%5$(ij zTxM8B;<69-4*rW2gV{YEa$K5A4&X&pnYq(jSzXG@nKuL-R^F-p3rQyyU zZ1+p}GFJ4`h>G;Ow*R<`~>C4Wj`s>qjt(M$qAhbf^ z{Hk#40^qGP5b~h$dZL@!141ssecHtDEQ5=h?$GuV?(ejn65MK#k|Srm?=))*F4;7KI0xyHE$Wpovqduhp^^=r5)@I%m3AwqfovJ;*`Lsk!(Wq`focbxj;kd}It@P)>L;`bdOq zf2uMwSjvu(I`|;*P2@fF?VYL-{c`R#FB8aUhDzP_IBUo64d#@R4|p}AOud?(Zv6?# zDd}aj=+QU`R4iFkAd`&F%}!7K6mnDI{+T;>+In(`Gii?uW>|CYj$P#9^-Kz4JF|La z37DmUKhi8x{oj)~T~0O_MW0COO7p0X5<}^yb1biiNF1#<1daOx*dHa{XEjuY+ET9` zv8=(laCG3GEZ-X?!8Y=L@*p#+C_BIEhzsC-XPs{?a1N?XoxwzQ(782WN*m+<#CqHO1Jjhsim&WVm+MvDk`dR1(WAe_#Nf3yt!j&h~8rr+J!heZs~oXz1Gc3ppL0$B7QP8gP8) zlGLr+T$pq?1!h+3d(W_*@9wp&^<-sXJo!TL5zPEl;qfv0hy*m?`mxW~2%7#2=$6bv zP)3ul8IbTI1K%c#{=WtZw{9?co999H0Yz(MY~1~$Pz;5mYyt>dCmvtIiG{R4PM@Xp zrw#=&*>}1wfq1|;#G>qi5WkcRds2=o3v z!Wa)`9liow?3B%IF37^6v)40+)+u8LrwSMP5FW%QzxYN>8XrssM;oZT?Me{5n4gWN(KSGG?(xqZ zvqn!gb(cx$9qtJ|pd(eEWE){UO_jFYxKin=8dn%I!FpW}Cn2L^ydjHGIf4K${NkRrwM3h=B3}BKzT7)+~T2VKOm+>|8(G&v5_=~Sz z16&|=#AHdXtmw27RS^ai$9C-l9rX>1(2^c&apKZ62HF6_a)7JGhtp_ug~6ZA7KuP! z&qwUGFTL~3mKsvujezv)D$X?*Dvw8*jF?^{|F zIv=FJH)v51hbj{5jq^xdMzKT$J%ggg)tetwj7Yv@NW4}%m}>cHvdZb z;aiM1#2jABT(I_C{Yi9QOlgWQi+O_h1gbB=t#{b>*mv}8g4|PTCH0@_2Mx5FWzN?t zzyNN}f}~Oe%b&R2pIBu`B|>D2_Z|*4iP36Z6)lIBl%Wro9U~l=`P=EcCND=uYwi(A zz-h;mH7FqcuDS}88}g4((BVi}W|?#4?vE$H-Ohb1Y3q~V#%z~g z--@kvmbr{_Q~$e${x8e@erY6BJTQ~lzM1L0pC4{KF>DRsW0H9}`#XDH0ptqG?#o9l zQdkKr(eVg=H!uyQ|6l7%Jg1o^vV5*$M7AXsJU}!p&y?-c{VYRDbZnc#*^NA^@S8qQ zzR5hLP@JX>Y7fYMzh|M)s#vkFuy1Owed#1HEp*kkI$hZ|XLGG-r4^T4M&Q0BY-1As zFG2W1OuV&?>xZ=RJ|kUdIquzO*4kk6`N414$7FA@4Dmg$_T^*+een!nsuAMb?^f>a zMZG3Co~x^8&IK=ac%Nz$#V6le3C) zKuA5&G4c=?ofWcXtscEGyr|3+=g$J^scou$>V6`8?3eY`6sn~`kIUA&V8)6V$_a!t z!k{}}FOZ2!3%;g%U1}!o{SycO;6fmD><>q892ab#;Wp^LM>ZJc1eZpKET?GgF-e z4d4M?ZulGQlFCan;NG4pm&jxW$3~W8YL}8!R_yO!xYuaB{2g(S@1PRC2EI)F&zNB1smkJ5ML~>F?f_$#1}y3zdiQ-~xRW{K�jF*Bl=x{a*+Ul~HLC*__ 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 z%0A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

    (iQYyR3^7sW?EU$NtoK$=dCXXX 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

    q=lwfxZE#W28J^5PkaH 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

    PfxFlgMf1$oNO_46 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

    _D3${&SP*g0o|{h8bZ(mY3$ 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%0A&JnlIRfC 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≷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�gZN#W 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

    a*qYCD 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

      HH*>SYv?OG$87^{SvCAxMM73K+At9e= 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

      L5JCsO$03G{bd@1&6uBDf$ge6K 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

      4^L;c%+KTSVJ}SD(qd>b`VJWc7 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 z

      X_X-`P^kL-~cN@&r_mn)arS

      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 !6%Y3`HG?5 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 literal 0 HcmV?d00001 diff --git a/jsartoolkit5/examples/Data/multi/marker.dat b/jsartoolkit5/examples/Data/multi/marker.dat new file mode 100755 index 0000000..f700794 --- /dev/null +++ b/jsartoolkit5/examples/Data/multi/marker.dat @@ -0,0 +1,44 @@ +#the number of patterns to be recognized +6 + +#marker 1 +patt.a +40.0 +1.0000 0.0000 0.0000 0.0000 +0.0000 1.0000 0.0000 0.0000 +0.0000 0.0000 1.0000 0.0000 + +#marker 2 +patt.b +40.0 +1.0000 0.0000 0.0000 100.0000 +0.0000 1.0000 0.0000 0.0000 +0.0000 0.0000 1.0000 0.0000 + +#marker 3 +patt.c +40.0 +1.0000 0.0000 0.0000 200.0000 +0.0000 1.0000 0.0000 0.0000 +0.0000 0.0000 1.0000 0.0000 + +#marker 4 +patt.d +40.0 +1.0000 0.0000 0.0000 0.0000 +0.0000 1.0000 0.0000 -100.0000 +0.0000 0.0000 1.0000 0.0000 + +#marker 5 +patt.g +40.0 +1.0000 0.0000 0.0000 100.0000 +0.0000 1.0000 0.0000 -100.0000 +0.0000 0.0000 1.0000 0.0000 + +#marker 6 +patt.f +40.0 +1.0000 0.0000 0.0000 200.0000 +0.0000 1.0000 0.0000 -100.0000 +0.0000 0.0000 1.0000 0.0000 diff --git a/jsartoolkit5/examples/Data/multi/patt.a b/jsartoolkit5/examples/Data/multi/patt.a new file mode 100644 index 0000000..bbbec0c --- /dev/null +++ b/jsartoolkit5/examples/Data/multi/patt.a @@ -0,0 +1,196 @@ + 201 211 215 214 217 221 222 219 198 223 223 225 226 226 225 225 + 193 219 223 222 223 220 223 216 96 216 225 225 227 227 228 224 + 193 217 220 221 222 221 223 164 63 190 224 223 226 223 224 224 + 174 214 219 217 220 217 211 107 80 129 218 219 221 223 222 219 + 180 215 217 217 218 219 181 75 78 79 190 216 220 221 221 220 + 183 213 211 217 216 214 92 82 78 76 142 212 217 218 218 216 + 195 214 216 216 217 190 108 137 78 74 90 196 215 217 217 214 + 197 213 214 215 213 130 165 188 75 71 69 137 211 212 212 211 + 192 209 212 212 180 86 204 208 120 74 71 93 205 209 210 207 + 193 207 210 208 123 139 211 207 166 71 71 72 180 205 207 202 + 168 203 206 199 72 113 128 117 113 78 69 72 107 206 206 203 + 152 204 208 151 127 196 199 198 203 170 66 72 73 185 203 198 + 164 206 209 94 192 208 208 209 208 203 73 69 60 131 202 194 + 176 213 156 82 211 208 207 207 208 211 115 68 62 84 190 188 + 184 179 79 91 145 195 207 207 202 178 103 88 88 91 110 180 + 191 191 200 195 204 199 206 202 204 189 198 187 193 188 196 170 + 175 193 203 206 210 208 209 210 192 214 211 214 217 222 217 219 + 184 211 215 215 216 213 216 206 92 213 218 217 220 220 221 222 + 186 209 211 212 214 215 218 157 49 178 215 215 219 217 218 220 + 157 206 210 208 213 211 205 94 62 107 212 214 214 216 217 220 + 162 207 208 208 210 212 172 63 60 56 180 209 213 215 216 219 + 164 205 203 208 206 207 89 65 61 56 123 204 207 211 213 215 + 172 203 207 205 206 181 92 128 60 60 72 187 206 207 207 211 + 178 203 202 205 206 114 153 183 69 59 52 125 204 204 205 213 + 179 201 201 203 174 82 202 202 106 58 56 69 199 201 203 208 + 172 198 201 202 108 119 202 201 159 49 55 47 164 200 200 200 + 156 194 197 192 53 95 111 103 101 51 53 51 84 200 199 201 + 151 195 200 142 103 176 187 181 185 151 47 50 37 176 196 196 + 161 196 200 80 182 200 199 198 200 198 57 50 44 113 197 193 + 172 206 146 69 202 200 199 200 200 203 97 46 48 60 187 182 + 180 165 62 67 133 178 198 199 192 160 85 62 58 57 84 161 + 184 182 187 178 184 184 197 192 195 176 185 177 186 176 183 160 + 201 216 220 220 226 229 228 226 204 238 233 235 232 237 238 241 + 216 239 241 240 241 240 242 238 146 246 242 243 243 244 245 246 + 208 239 239 240 241 239 242 213 82 212 242 242 243 244 244 245 + 183 238 238 237 239 237 239 149 77 144 241 239 241 243 243 245 + 183 235 237 236 239 239 215 106 73 73 214 238 241 242 243 247 + 191 234 232 237 235 239 154 95 77 75 157 237 240 237 239 244 + 199 235 234 235 236 225 138 162 80 74 100 222 236 238 241 242 + 201 234 231 234 236 166 180 215 97 74 70 161 237 233 235 240 + 207 233 231 234 222 136 224 234 141 72 71 97 235 232 234 238 + 207 230 232 232 166 160 229 230 199 72 74 72 200 231 231 237 + 194 227 230 230 125 140 147 162 163 80 70 71 119 233 230 233 + 187 227 232 195 141 198 205 208 212 180 66 70 58 215 229 230 + 195 230 235 138 202 228 231 234 230 231 85 66 62 149 235 230 + 203 232 199 113 226 231 232 232 231 235 131 67 63 83 224 228 + 215 210 110 89 183 215 231 231 227 203 136 86 74 87 119 206 + 218 208 201 202 212 204 230 227 228 212 205 198 213 209 210 196 + + 225 224 224 219 220 216 214 211 207 202 203 198 194 188 180 170 + 225 228 224 222 221 218 217 212 210 207 206 203 202 190 110 196 + 226 227 223 223 221 218 217 212 209 205 206 185 131 84 91 188 + 226 227 226 221 220 217 215 211 205 180 107 73 60 62 88 193 + 225 225 223 219 216 212 196 137 93 72 72 72 69 68 88 187 + 223 225 224 218 190 142 90 69 71 71 69 66 73 115 103 198 + 223 216 190 129 79 76 74 71 74 71 78 170 203 211 178 189 + 198 96 63 80 78 78 78 75 120 166 113 203 208 208 202 204 + 219 216 164 107 75 82 137 188 208 207 117 198 209 207 207 202 + 222 223 223 211 181 92 108 165 204 211 128 199 208 207 207 206 + 221 220 221 217 219 214 190 130 86 139 113 196 208 208 195 199 + 217 223 222 220 218 216 217 213 180 123 72 127 192 211 145 204 + 214 222 221 217 217 217 216 215 212 208 199 151 94 82 91 195 + 215 223 220 219 217 211 216 214 212 210 206 208 209 156 79 200 + 211 219 217 214 215 213 214 213 209 207 203 204 206 213 179 191 + 201 193 193 174 180 183 195 197 192 193 168 152 164 176 184 191 + 219 222 220 220 219 215 211 213 208 200 201 196 193 182 161 160 + 217 221 218 217 216 213 207 205 203 200 199 196 197 187 84 183 + 222 220 217 216 215 211 207 204 201 200 200 176 113 60 57 176 + 217 220 219 214 213 207 206 204 199 164 84 37 44 48 58 186 + 214 217 215 214 209 204 187 125 69 47 51 50 50 46 62 177 + 211 218 215 212 180 123 72 52 56 55 53 47 57 97 85 185 + 214 213 178 107 56 56 60 59 58 49 51 151 198 203 160 176 + 192 92 49 62 60 61 60 69 106 159 101 185 200 200 192 195 + 210 206 157 94 63 65 128 183 202 201 103 181 198 200 199 192 + 209 216 218 205 172 89 92 153 202 202 111 187 199 199 198 197 + 208 213 215 211 212 207 181 114 82 119 95 176 200 200 178 184 + 210 216 214 213 210 206 206 206 174 108 53 103 182 202 133 184 + 206 215 212 208 208 208 205 205 203 202 192 142 80 69 67 178 + 203 215 211 210 208 203 207 202 201 201 197 200 200 146 62 187 + 193 211 209 206 207 205 203 203 201 198 194 195 196 206 165 182 + 175 184 186 157 162 164 172 178 179 172 156 151 161 172 180 184 + 241 246 245 245 247 244 242 240 238 237 233 230 230 228 206 196 + 238 245 244 243 243 239 241 235 234 231 230 229 235 224 119 210 + 237 244 244 243 242 237 238 233 232 231 233 215 149 83 87 209 + 232 243 243 241 241 240 236 237 235 200 119 58 62 63 74 213 + 235 243 242 239 238 237 222 161 97 72 71 70 66 67 86 198 + 233 242 242 241 214 157 100 70 71 74 70 66 85 131 136 205 + 238 246 212 144 73 75 74 74 72 72 80 180 231 235 203 212 + 204 146 82 77 73 77 80 97 141 199 163 212 230 231 227 228 + 226 238 213 149 106 95 162 215 234 230 162 208 234 232 231 227 + 228 242 242 239 215 154 138 180 224 229 147 205 231 232 231 230 + 229 240 239 237 239 239 225 166 136 160 140 198 228 231 215 204 + 226 241 241 239 239 235 236 236 222 166 125 141 202 226 183 212 + 220 240 240 237 236 237 235 234 234 232 230 195 138 113 89 202 + 220 241 239 238 237 232 234 231 231 232 230 232 235 199 110 201 + 216 239 239 238 235 234 235 234 233 230 227 227 230 232 210 208 + 201 216 208 183 183 191 199 201 207 207 194 187 195 203 215 218 + + 170 196 188 193 187 198 189 204 202 206 199 204 195 200 191 191 + 180 110 91 88 88 103 178 202 207 207 195 145 91 79 179 184 + 188 190 84 62 68 115 211 208 207 207 208 211 82 156 213 176 + 194 202 131 60 69 73 203 208 209 208 208 192 94 209 206 164 + 198 203 185 73 72 66 170 203 198 199 196 127 151 208 204 152 + 203 206 206 107 72 69 78 113 117 128 113 72 199 206 203 168 + 202 207 205 180 72 71 71 166 207 211 139 123 208 210 207 193 + 207 210 209 205 93 71 74 120 208 204 86 180 212 212 209 192 + 211 212 212 211 137 69 71 75 188 165 130 213 215 214 213 197 + 214 217 217 215 196 90 74 78 137 108 190 217 216 216 214 195 + 216 218 218 217 212 142 76 78 82 92 214 216 217 211 213 183 + 220 221 221 220 216 190 79 78 75 181 219 218 217 217 215 180 + 219 222 223 221 219 218 129 80 107 211 217 220 217 219 214 174 + 224 224 223 226 223 224 190 63 164 223 221 222 221 220 217 193 + 224 228 227 227 225 225 216 96 216 223 220 223 222 223 219 193 + 225 225 226 226 225 223 223 198 219 222 221 217 214 215 211 201 + 160 183 176 186 177 185 176 195 192 197 184 184 178 187 182 184 + 161 84 57 58 62 85 160 192 199 198 178 133 67 62 165 180 + 182 187 60 48 46 97 203 200 200 199 200 202 69 146 206 172 + 193 197 113 44 50 57 198 200 198 199 200 182 80 200 196 161 + 196 196 176 37 50 47 151 185 181 187 176 103 142 200 195 151 + 201 199 200 84 51 53 51 101 103 111 95 53 192 197 194 156 + 200 200 200 164 47 55 49 159 201 202 119 108 202 201 198 172 + 208 203 201 199 69 56 58 106 202 202 82 174 203 201 201 179 + 213 205 204 204 125 52 59 69 183 153 114 206 205 202 203 178 + 211 207 207 206 187 72 60 60 128 92 181 206 205 207 203 172 + 215 213 211 207 204 123 56 61 65 89 207 206 208 203 205 164 + 219 216 215 213 209 180 56 60 63 172 212 210 208 208 207 162 + 220 217 216 214 214 212 107 62 94 205 211 213 208 210 206 157 + 220 218 217 219 215 215 178 49 157 218 215 214 212 211 209 186 + 222 221 220 220 217 218 213 92 206 216 213 216 215 215 211 184 + 219 217 222 217 214 211 214 192 210 209 208 210 206 203 193 175 + 196 210 209 213 198 205 212 228 227 230 204 212 202 201 208 218 + 206 119 87 74 86 136 203 227 231 231 215 183 89 110 210 215 + 228 224 83 63 67 131 235 231 232 232 231 226 113 199 232 203 + 230 235 149 62 66 85 231 230 234 231 228 202 138 235 230 195 + 230 229 215 58 70 66 180 212 208 205 198 141 195 232 227 187 + 233 230 233 119 71 70 80 163 162 147 140 125 230 230 227 194 + 237 231 231 200 72 74 72 199 230 229 160 166 232 232 230 207 + 238 234 232 235 97 71 72 141 234 224 136 222 234 231 233 207 + 240 235 233 237 161 70 74 97 215 180 166 236 234 231 234 201 + 242 241 238 236 222 100 74 80 162 138 225 236 235 234 235 199 + 244 239 237 240 237 157 75 77 95 154 239 235 237 232 234 191 + 247 243 242 241 238 214 73 73 106 215 239 239 236 237 235 183 + 245 243 243 241 239 241 144 77 149 239 237 239 237 238 238 183 + 245 244 244 243 242 242 212 82 213 242 239 241 240 239 239 208 + 246 245 244 243 243 242 246 146 238 242 240 241 240 241 239 216 + 241 238 237 232 235 233 238 204 226 228 229 226 220 220 216 201 + + 191 184 176 164 152 168 193 192 197 195 183 180 174 193 193 201 + 191 179 213 206 204 203 207 209 213 214 213 215 214 217 219 211 + 200 79 156 209 208 206 210 212 214 216 211 217 219 220 223 215 + 195 91 82 94 151 199 208 212 215 216 217 217 217 221 222 214 + 204 145 211 192 127 72 123 180 213 217 216 218 220 222 223 217 + 199 195 208 208 196 113 139 86 130 190 214 219 217 221 220 221 + 206 207 207 208 199 128 211 204 165 108 92 181 211 223 223 222 + 202 207 207 209 198 117 207 208 188 137 82 75 107 164 216 219 + 204 202 208 208 203 113 166 120 75 78 78 78 80 63 96 198 + 189 178 211 203 170 78 71 74 71 74 76 79 129 190 216 223 + 198 103 115 73 66 69 71 71 69 90 142 190 218 224 225 223 + 187 88 68 69 72 72 72 93 137 196 212 216 219 223 225 225 + 193 88 62 60 73 107 180 205 211 215 217 220 221 226 227 226 + 188 91 84 131 185 206 205 209 212 217 218 221 223 223 227 226 + 196 110 190 202 203 206 207 210 212 217 218 221 222 224 228 225 + 170 180 188 194 198 203 202 207 211 214 216 220 219 224 224 225 + 184 180 172 161 151 156 172 179 178 172 164 162 157 186 184 175 + 182 165 206 196 195 194 198 201 203 203 205 207 206 209 211 193 + 187 62 146 200 200 197 201 201 202 207 203 208 210 211 215 203 + 178 67 69 80 142 192 202 203 205 205 208 208 208 212 215 206 + 184 133 202 182 103 53 108 174 206 206 206 210 213 214 216 210 + 184 178 200 200 176 95 119 82 114 181 207 212 211 215 213 208 + 197 198 199 199 187 111 202 202 153 92 89 172 205 218 216 209 + 192 199 200 198 181 103 201 202 183 128 65 63 94 157 206 210 + 195 192 200 200 185 101 159 106 69 60 61 60 62 49 92 192 + 176 160 203 198 151 51 49 58 59 60 56 56 107 178 213 214 + 185 85 97 57 47 53 55 56 52 72 123 180 212 215 218 211 + 177 62 46 50 50 51 47 69 125 187 204 209 214 215 217 214 + 186 58 48 44 37 84 164 199 204 206 207 213 214 219 220 217 + 176 57 60 113 176 200 200 201 204 207 211 215 216 217 220 222 + 183 84 187 197 196 199 200 203 205 207 213 216 217 218 221 217 + 160 161 182 193 196 201 200 208 213 211 215 219 220 220 222 219 + 218 215 203 195 187 194 207 207 201 199 191 183 183 208 216 201 + 208 210 232 230 227 227 230 233 234 235 234 235 238 239 239 216 + 201 110 199 235 232 230 232 231 231 234 232 237 238 239 241 220 + 202 89 113 138 195 230 232 234 234 235 237 236 237 240 240 220 + 212 183 226 202 141 125 166 222 236 236 235 239 239 241 241 226 + 204 215 231 228 198 140 160 136 166 225 239 239 237 239 240 229 + 230 231 232 231 205 147 229 224 180 138 154 215 239 242 242 228 + 227 231 232 234 208 162 230 234 215 162 95 106 149 213 238 226 + 228 227 231 230 212 163 199 141 97 80 77 73 77 82 146 204 + 212 203 235 231 180 80 72 72 74 74 75 73 144 212 246 238 + 205 136 131 85 66 70 74 71 70 100 157 214 241 242 242 233 + 198 86 67 66 70 71 72 97 161 222 237 238 239 242 243 235 + 213 74 63 62 58 119 200 235 237 236 240 241 241 243 243 232 + 209 87 83 149 215 233 231 232 233 238 237 242 243 244 244 237 + 210 119 224 235 229 230 231 234 235 241 239 243 243 244 245 238 + 196 206 228 230 230 233 237 238 240 242 244 247 245 245 246 241 + diff --git a/jsartoolkit5/examples/Data/multi/patt.b b/jsartoolkit5/examples/Data/multi/patt.b new file mode 100644 index 0000000..70f9466 --- /dev/null +++ b/jsartoolkit5/examples/Data/multi/patt.b @@ -0,0 +1,196 @@ + 130 137 144 139 153 148 139 141 141 144 142 149 148 135 131 120 + 159 157 131 144 145 143 153 147 135 143 152 160 169 169 167 144 + 159 154 122 83 23 35 32 83 81 30 22 49 114 166 165 142 + 160 162 161 154 33 44 44 149 165 137 45 29 35 117 166 146 + 153 163 162 150 28 40 38 145 163 163 101 35 34 65 159 145 + 156 162 162 144 34 39 32 149 161 168 122 39 40 47 153 141 + 159 156 162 150 43 35 35 147 164 161 77 36 30 87 168 130 + 160 160 163 149 24 32 37 142 147 82 22 39 85 157 166 135 + 145 160 163 158 23 43 47 57 56 41 40 93 145 166 167 139 + 138 160 162 155 32 41 35 161 175 146 67 28 30 95 166 133 + 152 162 160 131 37 34 33 158 165 170 129 39 42 26 141 139 + 159 159 161 144 24 32 38 149 165 165 157 32 38 32 110 147 + 155 161 161 147 20 36 40 154 162 160 139 21 41 40 114 137 + 157 162 159 154 30 35 33 153 163 157 83 26 27 43 154 126 + 156 161 154 116 21 24 18 81 112 62 11 18 55 140 165 128 + 142 144 87 109 103 106 113 100 87 96 118 144 159 158 165 128 + 123 136 141 138 149 145 138 144 144 144 141 149 145 139 141 129 + 158 159 142 144 140 136 143 145 138 147 155 162 169 170 171 150 + 152 157 126 92 26 24 16 64 77 36 25 52 119 165 168 143 + 146 159 163 153 23 27 28 137 167 142 49 27 30 115 168 137 + 142 161 161 155 23 29 29 142 166 166 102 24 24 55 159 146 + 153 161 162 149 26 24 19 145 160 166 109 26 27 43 156 141 + 153 155 156 140 35 27 20 140 162 167 79 26 19 69 165 132 + 154 159 160 148 19 25 24 132 141 94 24 27 81 157 166 139 + 146 160 162 155 16 30 21 49 48 32 27 84 140 161 165 141 + 143 159 162 153 20 30 25 148 167 135 62 19 20 84 160 139 + 152 160 161 138 28 24 21 152 163 169 123 28 29 14 131 140 + 154 157 161 145 15 21 26 143 162 164 152 28 28 16 95 144 + 149 154 158 149 11 22 24 146 160 162 145 18 26 23 104 140 + 142 156 159 151 16 21 16 155 165 161 94 20 17 31 147 122 + 149 160 152 114 13 17 9 81 96 69 12 15 50 137 162 126 + 143 144 105 103 89 95 101 102 88 94 113 143 155 155 160 126 + 152 174 185 180 191 187 178 177 180 186 181 191 187 177 178 169 + 197 209 192 183 182 182 190 187 176 185 190 201 213 218 217 196 + 190 207 177 138 69 62 51 105 125 82 72 90 155 209 217 196 + 177 207 208 200 59 48 54 168 210 187 88 50 58 159 210 196 + 176 208 210 200 52 49 50 176 213 215 152 58 48 95 198 196 + 181 206 209 198 67 44 40 183 210 212 170 56 46 72 191 189 + 182 205 205 187 74 47 44 183 209 212 132 58 48 112 201 179 + 188 206 207 196 57 45 46 171 184 132 56 55 110 197 214 189 + 184 206 207 202 62 51 50 98 104 79 55 117 175 203 211 188 + 184 204 207 195 63 48 49 186 210 181 100 48 50 127 205 189 + 195 207 211 187 73 45 50 189 211 210 168 64 53 41 172 190 + 198 205 208 196 57 40 51 177 211 208 199 66 48 43 135 187 + 189 203 205 195 46 37 45 173 205 208 193 50 45 44 141 178 + 179 203 204 189 49 41 32 180 205 205 142 48 38 57 185 167 + 179 202 195 143 39 38 29 106 136 106 46 47 86 174 207 172 + 169 182 146 135 121 129 137 131 120 122 139 176 195 195 201 174 + + 120 144 142 146 145 141 130 135 139 133 139 147 137 126 128 128 + 131 167 165 166 159 153 168 166 167 166 141 110 114 154 165 165 + 135 169 166 117 65 47 87 157 166 95 26 32 40 43 140 158 + 148 169 114 35 34 40 30 85 145 30 42 38 41 27 55 159 + 149 160 49 29 35 39 36 39 93 28 39 32 21 26 18 144 + 142 152 22 45 101 122 77 22 40 67 129 157 139 83 11 118 + 144 143 30 137 163 168 161 82 41 146 170 165 160 157 62 96 + 141 135 81 165 163 161 164 147 56 175 165 165 162 163 112 87 + 141 147 83 149 145 149 147 142 57 161 158 149 154 153 81 100 + 139 153 32 44 38 32 35 37 47 35 33 38 40 33 18 113 + 148 143 35 44 40 39 35 32 43 41 34 32 36 35 24 106 + 153 145 23 33 28 34 43 24 23 32 37 24 20 30 21 103 + 139 144 83 154 150 144 150 149 158 155 131 144 147 154 116 109 + 144 131 122 161 162 162 162 163 163 162 160 161 161 159 154 87 + 137 157 154 162 163 162 156 160 160 160 162 159 161 162 161 144 + 130 159 159 160 153 156 159 160 145 138 152 159 155 157 156 142 + 129 150 143 137 146 141 132 139 141 139 140 144 140 122 126 126 + 141 171 168 168 159 156 165 166 165 160 131 95 104 147 162 160 + 139 170 165 115 55 43 69 157 161 84 14 16 23 31 137 155 + 145 169 119 30 24 27 19 81 140 20 29 28 26 17 50 155 + 149 162 52 27 24 26 26 27 84 19 28 28 18 20 15 143 + 141 155 25 49 102 109 79 24 27 62 123 152 145 94 12 113 + 144 147 36 142 166 166 167 94 32 135 169 164 162 161 69 94 + 144 138 77 167 166 160 162 141 48 167 163 162 160 165 96 88 + 144 145 64 137 142 145 140 132 49 148 152 143 146 155 81 102 + 138 143 16 28 29 19 20 24 21 25 21 26 24 16 9 101 + 145 136 24 27 29 24 27 25 30 30 24 21 22 21 17 95 + 149 140 26 23 23 26 35 19 16 20 28 15 11 16 13 89 + 138 144 92 153 155 149 140 148 155 153 138 145 149 151 114 103 + 141 142 126 163 161 162 156 160 162 162 161 161 158 159 152 105 + 136 159 157 159 161 161 155 159 160 159 160 157 154 156 160 144 + 123 158 152 146 142 153 153 154 146 143 152 154 149 142 149 143 + 169 196 196 196 196 189 179 189 188 189 190 187 178 167 172 174 + 178 217 217 210 198 191 201 214 211 205 172 135 141 185 207 201 + 177 218 209 159 95 72 112 197 203 127 41 43 44 57 174 195 + 187 213 155 58 48 46 48 110 175 50 53 48 45 38 86 195 + 191 201 90 50 58 56 58 55 117 48 64 66 50 48 47 176 + 181 190 72 88 152 170 132 56 55 100 168 199 193 142 46 139 + 186 185 82 187 215 212 212 132 79 181 210 208 208 205 106 122 + 180 176 125 210 213 210 209 184 104 210 211 211 205 205 136 120 + 177 187 105 168 176 183 183 171 98 186 189 177 173 180 106 131 + 178 190 51 54 50 40 44 46 50 49 50 51 45 32 29 137 + 187 182 62 48 49 44 47 45 51 48 45 40 37 41 38 129 + 191 182 69 59 52 67 74 57 62 63 73 57 46 49 39 121 + 180 183 138 200 200 198 187 196 202 195 187 196 195 189 143 135 + 185 192 177 208 210 209 205 207 207 207 211 208 205 204 195 146 + 174 209 207 207 208 206 205 206 206 204 207 205 203 203 202 182 + 152 197 190 177 176 181 182 188 184 184 195 198 189 179 179 169 + + 128 165 158 159 144 118 96 87 100 113 106 103 109 87 144 142 + 128 165 140 55 18 11 62 112 81 18 24 21 116 154 161 156 + 126 154 43 27 26 83 157 163 153 33 35 30 154 159 162 157 + 137 114 40 41 21 139 160 162 154 40 36 20 147 161 161 155 + 147 110 32 38 32 157 165 165 149 38 32 24 144 161 159 159 + 139 141 26 42 39 129 170 165 158 33 34 37 131 160 162 152 + 133 166 95 30 28 67 146 175 161 35 41 32 155 162 160 138 + 139 167 166 145 93 40 41 56 57 47 43 23 158 163 160 145 + 135 166 157 85 39 22 82 147 142 37 32 24 149 163 160 160 + 130 168 87 30 36 77 161 164 147 35 35 43 150 162 156 159 + 141 153 47 40 39 122 168 161 149 32 39 34 144 162 162 156 + 145 159 65 34 35 101 163 163 145 38 40 28 150 162 163 153 + 146 166 117 35 29 45 137 165 149 44 44 33 154 161 162 160 + 142 165 166 114 49 22 30 81 83 32 35 23 83 122 154 159 + 144 167 169 169 160 152 143 135 147 153 143 145 144 131 157 159 + 120 131 135 148 149 142 144 141 141 139 148 153 139 144 137 130 + 126 160 155 155 143 113 94 88 102 101 95 89 103 105 144 143 + 126 162 137 50 15 12 69 96 81 9 17 13 114 152 160 149 + 122 147 31 17 20 94 161 165 155 16 21 16 151 159 156 142 + 140 104 23 26 18 145 162 160 146 24 22 11 149 158 154 149 + 144 95 16 28 28 152 164 162 143 26 21 15 145 161 157 154 + 140 131 14 29 28 123 169 163 152 21 24 28 138 161 160 152 + 139 160 84 20 19 62 135 167 148 25 30 20 153 162 159 143 + 141 165 161 140 84 27 32 48 49 21 30 16 155 162 160 146 + 139 166 157 81 27 24 94 141 132 24 25 19 148 160 159 154 + 132 165 69 19 26 79 167 162 140 20 27 35 140 156 155 153 + 141 156 43 27 26 109 166 160 145 19 24 26 149 162 161 153 + 146 159 55 24 24 102 166 166 142 29 29 23 155 161 161 142 + 137 168 115 30 27 49 142 167 137 28 27 23 153 163 159 146 + 143 168 165 119 52 25 36 77 64 16 24 26 92 126 157 152 + 150 171 170 169 162 155 147 138 145 143 136 140 144 142 159 158 + 129 141 139 145 149 141 144 144 144 138 145 149 138 141 136 123 + 174 201 195 195 176 139 122 120 131 137 129 121 135 146 182 169 + 172 207 174 86 47 46 106 136 106 29 38 39 143 195 202 179 + 167 185 57 38 48 142 205 205 180 32 41 49 189 204 203 179 + 178 141 44 45 50 193 208 205 173 45 37 46 195 205 203 189 + 187 135 43 48 66 199 208 211 177 51 40 57 196 208 205 198 + 190 172 41 53 64 168 210 211 189 50 45 73 187 211 207 195 + 189 205 127 50 48 100 181 210 186 49 48 63 195 207 204 184 + 188 211 203 175 117 55 79 104 98 50 51 62 202 207 206 184 + 189 214 197 110 55 56 132 184 171 46 45 57 196 207 206 188 + 179 201 112 48 58 132 212 209 183 44 47 74 187 205 205 182 + 189 191 72 46 56 170 212 210 183 40 44 67 198 209 206 181 + 196 198 95 48 58 152 215 213 176 50 49 52 200 210 208 176 + 196 210 159 58 50 88 187 210 168 54 48 59 200 208 207 177 + 196 217 209 155 90 72 82 125 105 51 62 69 138 177 207 190 + 196 217 218 213 201 190 185 176 187 190 182 182 183 192 209 197 + 169 178 177 187 191 181 186 180 177 178 187 191 180 185 174 152 + + 142 156 157 155 159 152 138 145 160 159 156 153 160 159 159 130 + 144 161 162 161 159 162 160 160 160 156 162 163 162 154 157 137 + 87 154 159 161 161 160 162 163 163 162 162 162 161 122 131 144 + 109 116 154 147 144 131 155 158 149 150 144 150 154 83 144 139 + 103 21 30 20 24 37 32 23 24 43 34 28 33 23 145 153 + 106 24 35 36 32 34 41 43 32 35 39 40 44 35 143 148 + 113 18 33 40 38 33 35 47 37 35 32 38 44 32 153 139 + 100 81 153 154 149 158 161 57 142 147 149 145 149 83 147 141 + 87 112 163 162 165 165 175 56 147 164 161 163 165 81 135 141 + 96 62 157 160 165 170 146 41 82 161 168 163 137 30 143 144 + 118 11 83 139 157 129 67 40 22 77 122 101 45 22 152 142 + 144 18 26 21 32 39 28 93 39 36 39 35 29 49 160 149 + 159 55 27 41 38 42 30 145 85 30 40 34 35 114 169 148 + 158 140 43 40 32 26 95 166 157 87 47 65 117 166 169 135 + 165 165 154 114 110 141 166 167 166 168 153 159 166 165 167 131 + 128 128 126 137 147 139 133 139 135 130 141 145 146 142 144 120 + 143 149 142 149 154 152 143 146 154 153 153 142 146 152 158 123 + 144 160 156 154 157 160 159 160 159 155 161 161 159 157 159 136 + 105 152 159 158 161 161 162 162 160 156 162 161 163 126 142 141 + 103 114 151 149 145 138 153 155 148 140 149 155 153 92 144 138 + 89 13 16 11 15 28 20 16 19 35 26 23 23 26 140 149 + 95 17 21 22 21 24 30 30 25 27 24 29 27 24 136 145 + 101 9 16 24 26 21 25 21 24 20 19 29 28 16 143 138 + 102 81 155 146 143 152 148 49 132 140 145 142 137 64 145 144 + 88 96 165 160 162 163 167 48 141 162 160 166 167 77 138 144 + 94 69 161 162 164 169 135 32 94 167 166 166 142 36 147 144 + 113 12 94 145 152 123 62 27 24 79 109 102 49 25 155 141 + 143 15 20 18 28 28 19 84 27 26 26 24 27 52 162 149 + 155 50 17 26 28 29 20 140 81 19 27 24 30 119 169 145 + 155 137 31 23 16 14 84 161 157 69 43 55 115 165 170 139 + 160 162 147 104 95 131 160 165 166 165 156 159 168 168 171 141 + 126 126 122 140 144 140 139 141 139 132 141 146 137 143 150 129 + 169 179 179 189 198 195 184 184 188 182 181 176 177 190 197 152 + 182 202 203 203 205 207 204 206 206 205 206 208 207 207 209 174 + 146 195 204 205 208 211 207 207 207 205 209 210 208 177 192 185 + 135 143 189 195 196 187 195 202 196 187 198 200 200 138 183 180 + 121 39 49 46 57 73 63 62 57 74 67 52 59 69 182 191 + 129 38 41 37 40 45 48 51 45 47 44 49 48 62 182 187 + 137 29 32 45 51 50 49 50 46 44 40 50 54 51 190 178 + 131 106 180 173 177 189 186 98 171 183 183 176 168 105 187 177 + 120 136 205 205 211 211 210 104 184 209 210 213 210 125 176 180 + 122 106 205 208 208 210 181 79 132 212 212 215 187 82 185 186 + 139 46 142 193 199 168 100 55 56 132 170 152 88 72 190 181 + 176 47 48 50 66 64 48 117 55 58 56 58 50 90 201 191 + 195 86 38 45 48 53 50 175 110 48 46 48 58 155 213 187 + 195 174 57 44 43 41 127 203 197 112 72 95 159 209 218 177 + 201 207 185 141 135 172 205 211 214 201 191 198 210 217 217 178 + 174 172 167 178 187 190 189 188 189 179 189 196 196 196 196 169 + diff --git a/jsartoolkit5/examples/Data/multi/patt.c b/jsartoolkit5/examples/Data/multi/patt.c new file mode 100644 index 0000000..7605a43 --- /dev/null +++ b/jsartoolkit5/examples/Data/multi/patt.c @@ -0,0 +1,196 @@ + 141 153 152 152 150 151 154 154 150 153 140 144 146 136 147 120 + 163 171 168 171 171 152 117 90 78 99 121 158 176 132 174 159 + 155 171 171 157 100 46 48 112 148 154 131 81 80 72 175 156 + 149 168 160 72 38 43 145 175 174 175 180 167 76 49 169 155 + 151 164 76 39 31 115 176 175 177 176 178 172 156 71 174 156 + 155 133 38 38 40 150 169 173 175 177 175 174 174 102 175 152 + 155 85 38 39 56 166 166 171 170 175 174 173 175 164 172 159 + 147 57 32 37 90 165 163 168 169 171 172 172 176 174 173 146 + 155 42 34 35 88 169 168 168 170 169 174 167 172 172 174 144 + 157 52 35 32 67 169 169 169 170 169 170 169 171 172 172 158 + 147 71 32 38 64 157 169 171 169 168 170 169 169 170 172 150 + 150 111 25 37 46 142 168 167 165 167 167 170 169 164 169 148 + 147 154 60 32 33 103 168 167 169 165 168 170 161 126 172 147 + 149 166 149 49 33 51 128 162 163 166 167 147 80 127 171 150 + 146 167 166 153 93 50 53 76 98 100 81 82 135 170 175 146 + 153 163 155 159 156 153 135 111 114 104 138 160 162 162 167 129 + 123 140 140 148 142 143 146 145 149 138 135 133 131 130 131 106 + 148 161 160 162 164 145 106 73 67 77 95 141 164 132 162 149 + 145 156 161 146 91 29 26 88 133 137 111 59 43 55 163 148 + 138 158 143 56 19 32 128 165 168 169 171 161 64 36 161 151 + 133 152 68 21 19 104 162 165 167 168 169 169 152 56 165 152 + 144 120 25 18 27 147 162 163 162 165 165 165 165 101 160 147 + 138 74 18 15 45 155 161 162 161 164 164 164 164 162 164 149 + 128 42 16 14 64 157 157 159 161 162 163 163 164 166 162 144 + 132 27 19 16 65 156 156 159 160 161 164 162 164 165 164 145 + 133 35 15 14 48 158 155 158 158 159 162 163 161 164 164 150 + 133 60 13 18 36 149 155 157 159 158 159 159 161 162 161 143 + 136 105 15 19 22 133 155 154 156 158 159 157 160 157 160 147 + 140 152 51 13 13 78 155 153 153 153 157 157 152 114 161 143 + 143 158 138 36 8 19 112 156 153 157 159 135 71 102 161 140 + 133 155 154 146 77 26 17 51 78 90 67 63 121 158 160 147 + 130 153 149 155 152 145 116 97 96 99 127 151 149 151 150 131 + 157 180 173 183 174 179 180 180 184 176 173 171 167 169 166 149 + 175 207 209 210 209 193 153 123 123 132 146 194 216 184 204 201 + 176 205 210 197 147 83 62 123 172 184 152 93 90 103 197 199 + 168 206 197 116 52 53 156 206 214 215 218 204 105 61 197 206 + 165 198 126 52 35 122 204 209 214 214 215 215 202 93 193 203 + 174 176 71 39 44 175 205 208 214 213 213 214 215 151 200 203 + 163 130 49 34 68 191 204 207 209 209 212 215 213 207 207 201 + 162 97 36 33 91 192 202 207 210 210 212 209 210 212 215 200 + 161 74 36 34 94 196 202 204 208 208 210 209 212 211 216 200 + 163 68 36 30 68 194 204 205 205 206 206 207 210 210 214 206 + 165 100 33 33 60 184 204 203 203 205 208 207 209 211 210 202 + 162 155 35 33 40 166 202 202 202 204 204 207 207 208 209 200 + 168 196 96 23 24 106 200 202 203 201 205 208 199 163 201 197 + 168 202 190 64 22 36 151 200 201 201 204 186 130 139 200 193 + 163 201 199 186 99 42 38 86 118 139 116 110 155 193 205 196 + 164 196 194 192 193 186 160 120 121 129 164 186 193 197 194 190 + + 120 159 156 155 156 152 159 146 144 158 150 148 147 150 146 129 + 147 174 175 169 174 175 172 173 174 172 172 169 172 171 175 167 + 136 132 72 49 71 102 164 174 172 172 170 164 126 127 170 162 + 146 176 80 76 156 174 175 176 172 171 169 169 161 80 135 162 + 144 158 81 167 172 174 173 172 167 169 169 170 170 147 82 160 + 140 121 131 180 178 175 174 172 174 170 170 167 168 167 81 138 + 153 99 154 175 176 177 175 171 169 169 168 167 165 166 100 104 + 150 78 148 174 177 175 170 169 170 170 169 165 169 163 98 114 + 154 90 112 175 175 173 171 168 168 169 171 167 167 162 76 111 + 154 117 48 145 176 169 166 163 168 169 169 168 168 128 53 135 + 151 152 46 43 115 150 166 165 169 169 157 142 103 51 50 153 + 150 171 100 38 31 40 56 90 88 67 64 46 33 33 93 156 + 152 171 157 72 39 38 39 37 35 32 38 37 32 49 153 159 + 152 168 171 160 76 38 38 32 34 35 32 25 60 149 166 155 + 153 171 171 168 164 133 85 57 42 52 71 111 154 166 167 163 + 141 163 155 149 151 155 155 147 155 157 147 150 147 149 146 153 + 106 149 148 151 152 147 149 144 145 150 143 147 143 140 147 131 + 131 162 163 161 165 160 164 162 164 164 161 160 161 161 160 150 + 130 132 55 36 56 101 162 166 165 164 162 157 114 102 158 151 + 131 164 43 64 152 165 164 164 164 161 161 160 152 71 121 149 + 133 141 59 161 169 165 164 163 162 163 159 157 157 135 63 151 + 135 95 111 171 169 165 164 163 164 162 159 159 157 159 67 127 + 138 77 137 169 168 165 164 162 161 159 158 158 153 157 90 99 + 149 67 133 168 167 162 161 161 160 158 159 156 153 153 78 96 + 145 73 88 165 165 163 162 159 159 158 157 154 153 156 51 97 + 146 106 26 128 162 162 161 157 156 155 155 155 155 112 17 116 + 143 145 29 32 104 147 155 157 156 158 149 133 78 19 26 145 + 142 164 91 19 19 27 45 64 65 48 36 22 13 8 77 152 + 148 162 146 56 21 18 15 14 16 14 18 19 13 36 146 155 + 140 160 161 143 68 25 18 16 19 15 13 15 51 138 154 149 + 140 161 156 158 152 120 74 42 27 35 60 105 152 158 155 153 + 123 148 145 138 133 144 138 128 132 133 133 136 140 143 133 130 + 149 201 199 206 203 203 201 200 200 206 202 200 197 193 196 190 + 166 204 197 197 193 200 207 215 216 214 210 209 201 200 205 194 + 169 184 103 61 93 151 207 212 211 210 211 208 163 139 193 197 + 167 216 90 105 202 215 213 210 212 210 209 207 199 130 155 193 + 171 194 93 204 215 214 215 209 209 207 207 207 208 186 110 186 + 173 146 152 218 215 213 212 212 210 206 208 204 205 204 116 164 + 176 132 184 215 214 213 209 210 208 206 205 204 201 201 139 129 + 184 123 172 214 214 214 209 210 208 205 203 202 203 201 118 121 + 180 123 123 206 209 208 207 207 204 205 203 202 202 200 86 120 + 180 153 62 156 204 205 204 202 202 204 204 202 200 151 38 160 + 179 193 83 53 122 175 191 192 196 194 184 166 106 36 42 186 + 174 209 147 52 35 44 68 91 94 68 60 40 24 22 99 193 + 183 210 197 116 52 39 34 33 34 30 33 33 23 64 186 192 + 173 209 210 197 126 71 49 36 36 36 33 35 96 190 199 194 + 180 207 205 206 198 176 130 97 74 68 100 155 196 202 201 196 + 157 175 176 168 165 174 163 162 161 163 165 162 168 168 163 164 + + 129 167 162 162 160 138 104 114 111 135 153 156 159 155 163 153 + 146 175 170 135 82 81 100 98 76 53 50 93 153 166 167 146 + 150 171 127 80 147 167 166 163 162 128 51 33 49 149 166 149 + 147 172 126 161 170 168 165 169 167 168 103 33 32 60 154 147 + 148 169 164 169 170 167 167 165 167 168 142 46 37 25 111 150 + 150 172 170 169 169 170 168 169 171 169 157 64 38 32 71 147 + 158 172 172 171 169 170 169 170 169 169 169 67 32 35 52 157 + 144 174 172 172 167 174 169 170 168 168 169 88 35 34 42 155 + 146 173 174 176 172 172 171 169 168 163 165 90 37 32 57 147 + 159 172 164 175 173 174 175 170 171 166 166 56 39 38 85 155 + 152 175 102 174 174 175 177 175 173 169 150 40 38 38 133 155 + 156 174 71 156 172 178 176 177 175 176 115 31 39 76 164 151 + 155 169 49 76 167 180 175 174 175 145 43 38 72 160 168 149 + 156 175 72 80 81 131 154 148 112 48 46 100 157 171 171 155 + 159 174 132 176 158 121 99 78 90 117 152 171 171 168 171 163 + 120 147 136 146 144 140 153 150 154 154 151 150 152 152 153 141 + 131 150 151 149 151 127 99 96 97 116 145 152 155 149 153 130 + 147 160 158 121 63 67 90 78 51 17 26 77 146 154 155 133 + 140 161 102 71 135 159 157 153 156 112 19 8 36 138 158 143 + 143 161 114 152 157 157 153 153 153 155 78 13 13 51 152 140 + 147 160 157 160 157 159 158 156 154 155 133 22 19 15 105 136 + 143 161 162 161 159 159 158 159 157 155 149 36 18 13 60 133 + 150 164 164 161 163 162 159 158 158 155 158 48 14 15 35 133 + 145 164 165 164 162 164 161 160 159 156 156 65 16 19 27 132 + 144 162 166 164 163 163 162 161 159 157 157 64 14 16 42 128 + 149 164 162 164 164 164 164 161 162 161 155 45 15 18 74 138 + 147 160 101 165 165 165 165 162 163 162 147 27 18 25 120 144 + 152 165 56 152 169 169 168 167 165 162 104 19 21 68 152 133 + 151 161 36 64 161 171 169 168 165 128 32 19 56 143 158 138 + 148 163 55 43 59 111 137 133 88 26 29 91 146 161 156 145 + 149 162 132 164 141 95 77 67 73 106 145 164 162 160 161 148 + 106 131 130 131 133 135 138 149 145 146 143 142 148 140 140 123 + 190 194 197 193 186 164 129 121 120 160 186 193 192 194 196 164 + 196 205 193 155 110 116 139 118 86 38 42 99 186 199 201 163 + 193 200 139 130 186 204 201 201 200 151 36 22 64 190 202 168 + 197 201 163 199 208 205 201 203 202 200 106 24 23 96 196 168 + 200 209 208 207 207 204 204 202 202 202 166 40 33 35 155 162 + 202 210 211 209 207 208 205 203 203 204 184 60 33 33 100 165 + 206 214 210 210 207 206 206 205 205 204 194 68 30 36 68 163 + 200 216 211 212 209 210 208 208 204 202 196 94 34 36 74 161 + 200 215 212 210 209 212 210 210 207 202 192 91 33 36 97 162 + 201 207 207 213 215 212 209 209 207 204 191 68 34 49 130 163 + 203 200 151 215 214 213 213 214 208 205 175 44 39 71 176 174 + 203 193 93 202 215 215 214 214 209 204 122 35 52 126 198 165 + 206 197 61 105 204 218 215 214 206 156 53 52 116 197 206 168 + 199 197 103 90 93 152 184 172 123 62 83 147 197 210 205 176 + 201 204 184 216 194 146 132 123 123 153 193 209 210 209 207 175 + 149 166 169 167 171 173 176 184 180 180 179 174 183 173 180 157 + + 153 146 149 147 150 147 157 155 147 155 155 151 149 155 163 141 + 163 167 166 154 111 71 52 42 57 85 133 164 168 171 171 153 + 155 166 149 60 25 32 35 34 32 38 38 76 160 171 168 152 + 159 153 49 32 37 38 32 35 37 39 38 39 72 157 171 152 + 156 93 33 33 46 64 67 88 90 56 40 31 38 100 171 150 + 153 50 51 103 142 157 169 169 165 166 150 115 43 46 152 151 + 135 53 128 168 168 169 169 168 163 166 169 176 145 48 117 154 + 111 76 162 167 167 171 169 168 168 171 173 175 175 112 90 154 + 114 98 163 169 165 169 170 170 169 170 175 177 174 148 78 150 + 104 100 166 165 167 168 169 169 171 175 177 176 175 154 99 153 + 138 81 167 168 167 170 170 174 172 174 175 178 180 131 121 140 + 160 82 147 170 170 169 169 167 172 173 174 172 167 81 158 144 + 162 135 80 161 169 169 171 172 176 175 174 156 76 80 176 146 + 162 170 127 126 164 170 172 172 174 164 102 71 49 72 132 136 + 167 175 171 172 169 172 172 174 173 172 175 174 169 175 174 147 + 129 146 150 147 148 150 158 144 146 159 152 156 155 156 159 120 + 130 133 143 140 136 133 133 132 128 138 144 133 138 145 148 123 + 153 155 158 152 105 60 35 27 42 74 120 152 158 156 161 140 + 149 154 138 51 15 13 15 19 16 18 25 68 143 161 160 140 + 155 146 36 13 19 18 14 16 14 15 18 21 56 146 162 148 + 152 77 8 13 22 36 48 65 64 45 27 19 19 91 164 142 + 145 26 19 78 133 149 158 156 157 155 147 104 32 29 145 143 + 116 17 112 155 155 155 155 156 157 161 162 162 128 26 106 146 + 97 51 156 153 154 157 158 159 159 162 163 165 165 88 73 145 + 96 78 153 153 156 159 158 160 161 161 162 167 168 133 67 149 + 99 90 157 153 158 158 159 161 162 164 165 168 169 137 77 138 + 127 67 159 157 159 159 162 164 163 164 165 169 171 111 95 135 + 151 63 135 157 157 159 163 162 163 164 165 169 161 59 141 133 + 149 121 71 152 160 161 161 164 164 164 165 152 64 43 164 131 + 151 158 102 114 157 162 164 165 166 162 101 56 36 55 132 130 + 150 160 161 161 160 161 164 164 162 164 160 165 161 163 162 131 + 131 147 140 143 147 143 150 145 144 149 147 152 151 148 149 106 + 164 163 168 168 162 165 163 161 162 163 174 165 168 176 175 157 + 196 201 202 196 155 100 68 74 97 130 176 198 206 205 207 180 + 194 199 190 96 35 33 36 36 36 49 71 126 197 210 209 173 + 192 186 64 23 33 33 30 34 33 34 39 52 116 197 210 183 + 193 99 22 24 40 60 68 94 91 68 44 35 52 147 209 174 + 186 42 36 106 166 184 194 196 192 191 175 122 53 83 193 179 + 160 38 151 200 202 204 204 202 202 204 205 204 156 62 153 180 + 120 86 200 202 202 203 205 204 207 207 208 209 206 123 123 180 + 121 118 201 203 202 203 205 208 210 209 214 214 214 172 123 184 + 129 139 201 201 204 205 206 208 210 209 213 214 215 184 132 176 + 164 116 204 205 204 208 206 210 212 212 213 215 218 152 146 173 + 186 110 186 208 207 207 207 209 209 215 214 215 204 93 194 171 + 193 155 130 199 207 209 210 212 210 213 215 202 105 90 216 167 + 197 193 139 163 208 211 210 211 212 207 151 93 61 103 184 169 + 194 205 200 201 209 210 214 216 215 207 200 193 197 197 204 166 + 190 196 193 197 200 202 206 200 200 201 203 203 206 199 201 149 + diff --git a/jsartoolkit5/examples/Data/multi/patt.d b/jsartoolkit5/examples/Data/multi/patt.d new file mode 100644 index 0000000..614c2c0 --- /dev/null +++ b/jsartoolkit5/examples/Data/multi/patt.d @@ -0,0 +1,196 @@ + 96 131 130 134 123 130 136 130 133 125 134 118 125 125 129 119 + 96 130 86 81 83 84 84 85 79 104 124 145 148 145 147 138 + 84 146 144 66 19 24 47 114 89 38 21 38 113 148 146 134 + 89 147 147 101 19 23 45 149 149 143 56 21 19 102 148 131 + 91 147 147 101 21 22 37 145 148 150 133 25 25 18 131 140 + 98 147 147 94 23 24 37 142 148 148 150 50 23 20 74 137 + 102 143 144 91 21 23 42 142 148 149 149 77 25 21 36 136 + 107 144 145 90 21 22 42 139 146 148 148 86 24 23 25 136 + 91 144 148 86 21 20 41 146 148 148 148 94 19 22 21 133 + 82 144 145 81 22 23 51 146 146 147 149 105 22 20 28 137 + 92 143 144 75 22 22 51 148 149 150 149 93 22 20 50 142 + 101 144 144 92 15 18 50 146 145 150 151 75 24 19 95 138 + 105 147 150 96 17 17 56 144 145 150 134 24 19 50 149 139 + 114 148 150 85 18 15 56 146 147 140 46 17 51 137 153 141 + 104 125 114 30 18 18 19 55 57 32 38 93 141 150 149 136 + 95 121 122 116 129 129 119 122 124 136 141 155 143 140 138 136 + 85 120 116 117 119 121 123 116 125 115 125 118 118 115 122 118 + 82 122 79 77 78 80 77 82 81 99 114 138 140 140 140 132 + 74 136 132 56 9 8 42 106 80 32 10 31 111 140 140 127 + 78 135 135 84 7 10 38 139 141 133 43 11 12 96 141 126 + 81 134 133 81 8 10 28 136 137 139 121 12 10 10 123 127 + 87 133 134 76 10 11 28 134 137 139 142 39 11 9 66 128 + 95 134 134 76 7 10 30 135 137 139 140 61 11 11 28 128 + 98 133 133 69 8 8 34 136 138 139 138 77 9 11 16 121 + 80 131 134 63 8 9 34 136 136 137 140 84 7 11 10 118 + 77 132 133 60 10 10 39 138 138 138 141 93 7 10 17 125 + 87 135 134 55 8 8 42 138 136 139 139 84 9 10 37 128 + 92 135 134 73 6 6 43 136 134 137 139 58 12 8 89 125 + 95 132 133 79 7 7 47 136 134 138 125 16 10 39 132 128 + 102 135 137 75 8 7 47 136 135 131 44 9 39 120 140 127 + 92 120 106 28 8 8 8 45 47 24 29 79 131 138 139 129 + 80 114 113 103 112 114 109 108 113 124 129 137 130 132 132 124 + 113 147 147 146 139 143 149 137 147 146 153 140 147 147 151 134 + 109 150 107 101 108 105 103 119 107 126 144 166 173 172 176 162 + 101 166 161 68 19 16 63 139 107 54 29 53 138 174 177 157 + 102 167 167 106 17 17 58 171 173 163 59 17 23 124 179 156 + 109 169 169 102 15 17 47 167 172 176 145 23 17 21 158 159 + 115 166 167 95 16 16 48 165 170 172 174 57 21 15 97 157 + 119 165 166 97 15 15 50 164 171 173 174 83 18 19 50 153 + 124 167 165 90 16 16 57 163 171 173 175 103 19 21 33 143 + 106 162 165 86 16 13 56 165 171 174 174 113 15 22 26 138 + 103 164 164 82 16 14 61 166 172 172 173 118 15 18 36 142 + 113 168 164 76 13 13 66 167 170 173 172 108 17 20 60 153 + 119 168 167 94 10 13 65 166 168 170 169 82 21 17 114 153 + 122 166 165 107 13 11 66 166 167 171 156 34 19 63 163 158 + 131 166 166 101 16 11 66 163 165 156 64 18 62 151 173 154 + 120 148 132 53 21 20 23 75 76 53 54 107 158 172 172 155 + 104 138 137 127 127 125 135 134 131 140 151 163 159 159 157 155 + + 119 138 134 131 140 137 136 136 133 137 142 138 139 141 136 136 + 129 147 146 148 131 74 36 25 21 28 50 95 149 153 149 138 + 125 145 148 102 18 20 21 23 22 20 20 19 50 137 150 140 + 125 148 113 19 25 23 25 24 19 22 22 24 19 51 141 143 + 118 145 38 21 25 50 77 86 94 105 93 75 24 17 93 155 + 134 124 21 56 133 150 149 148 148 149 149 151 134 46 38 141 + 125 104 38 143 150 148 149 148 148 147 150 150 150 140 32 136 + 133 79 89 149 148 148 148 146 148 146 149 145 145 147 57 124 + 130 85 114 149 145 142 142 139 146 146 148 146 144 146 55 122 + 136 84 47 45 37 37 42 42 41 51 51 50 56 56 19 119 + 130 84 24 23 22 24 23 22 20 23 22 18 17 15 18 129 + 123 83 19 19 21 23 21 21 21 22 22 15 17 18 18 129 + 134 81 66 101 101 94 91 90 86 81 75 92 96 85 30 116 + 130 86 144 147 147 147 144 145 148 145 144 144 150 150 114 122 + 131 130 146 147 147 147 143 144 144 144 143 144 147 148 125 121 + 96 96 84 89 91 98 102 107 91 82 92 101 105 114 104 95 + 118 132 127 126 127 128 128 121 118 125 128 125 128 127 129 124 + 122 140 140 141 123 66 28 16 10 17 37 89 132 140 139 132 + 115 140 140 96 10 9 11 11 11 10 10 8 39 120 138 132 + 118 140 111 12 10 11 11 9 7 7 9 12 10 39 131 130 + 118 138 31 11 12 39 61 77 84 93 84 58 16 9 79 137 + 125 114 10 43 121 142 140 138 140 141 139 139 125 44 29 129 + 115 99 32 133 139 139 139 139 137 138 139 137 138 131 24 124 + 125 81 80 141 137 137 137 138 136 138 136 134 134 135 47 113 + 116 82 106 139 136 134 135 136 136 138 138 136 136 136 45 108 + 123 77 42 38 28 28 30 34 34 39 42 43 47 47 8 109 + 121 80 8 10 10 11 10 8 9 10 8 6 7 7 8 114 + 119 78 9 7 8 10 7 8 8 10 8 6 7 8 8 112 + 117 77 56 84 81 76 76 69 63 60 55 73 79 75 28 103 + 116 79 132 135 133 134 134 133 134 133 134 134 133 137 106 113 + 120 122 136 135 134 133 134 133 131 132 135 135 132 135 120 114 + 85 82 74 78 81 87 95 98 80 77 87 92 95 102 92 80 + 134 162 157 156 159 157 153 143 138 142 153 153 158 154 155 155 + 151 176 177 179 158 97 50 33 26 36 60 114 163 173 172 157 + 147 172 174 124 21 15 19 21 22 18 20 17 63 151 172 159 + 147 173 138 23 17 21 18 19 15 15 17 21 19 62 158 159 + 140 166 53 17 23 57 83 103 113 118 108 82 34 18 107 163 + 153 144 29 59 145 174 174 175 174 173 172 169 156 64 54 151 + 146 126 54 163 176 172 173 173 174 172 173 170 171 156 53 140 + 147 107 107 173 172 170 171 171 171 172 170 168 167 165 76 131 + 137 119 139 171 167 165 164 163 165 166 167 166 166 163 75 134 + 149 103 63 58 47 48 50 57 56 61 66 65 66 66 23 135 + 143 105 16 17 17 16 15 16 13 14 13 13 11 11 20 125 + 139 108 19 17 15 16 15 16 16 16 13 10 13 16 21 127 + 146 101 68 106 102 95 97 90 86 82 76 94 107 101 53 127 + 147 107 161 167 169 167 166 165 165 164 164 167 165 166 132 137 + 147 150 166 167 169 166 165 167 162 164 168 168 166 166 148 138 + 113 109 101 102 109 115 119 124 106 103 113 119 122 131 120 104 + + 136 138 140 143 155 141 136 124 122 119 129 129 116 122 121 95 + 136 149 150 141 93 38 32 57 55 19 18 18 30 114 125 104 + 141 153 137 51 17 46 140 147 146 56 15 18 85 150 148 114 + 139 149 50 19 24 134 150 145 144 56 17 17 96 150 147 105 + 138 95 19 24 75 151 150 145 146 50 18 15 92 144 144 101 + 142 50 20 22 93 149 150 149 148 51 22 22 75 144 143 92 + 137 28 20 22 105 149 147 146 146 51 23 22 81 145 144 82 + 133 21 22 19 94 148 148 148 146 41 20 21 86 148 144 91 + 136 25 23 24 86 148 148 146 139 42 22 21 90 145 144 107 + 136 36 21 25 77 149 149 148 142 42 23 21 91 144 143 102 + 137 74 20 23 50 150 148 148 142 37 24 23 94 147 147 98 + 140 131 18 25 25 133 150 148 145 37 22 21 101 147 147 91 + 131 148 102 19 21 56 143 149 149 45 23 19 101 147 147 89 + 134 146 148 113 38 21 38 89 114 47 24 19 66 144 146 84 + 138 147 145 148 145 124 104 79 85 84 84 83 81 86 130 96 + 119 129 125 125 118 134 125 133 130 136 130 123 134 130 131 96 + 124 132 132 130 137 129 124 113 108 109 114 112 103 113 114 80 + 129 139 138 131 79 29 24 47 45 8 8 8 28 106 120 92 + 127 140 120 39 9 44 131 135 136 47 7 8 75 137 135 102 + 128 132 39 10 16 125 138 134 136 47 7 7 79 133 132 95 + 125 89 8 12 58 139 137 134 136 43 6 6 73 134 135 92 + 128 37 10 9 84 139 139 136 138 42 8 8 55 134 135 87 + 125 17 10 7 93 141 138 138 138 39 10 10 60 133 132 77 + 118 10 11 7 84 140 137 136 136 34 9 8 63 134 131 80 + 121 16 11 9 77 138 139 138 136 34 8 8 69 133 133 98 + 128 28 11 11 61 140 139 137 135 30 10 7 76 134 134 95 + 128 66 9 11 39 142 139 137 134 28 11 10 76 134 133 87 + 127 123 10 10 12 121 139 137 136 28 10 8 81 133 134 81 + 126 141 96 12 11 43 133 141 139 38 10 7 84 135 135 78 + 127 140 140 111 31 10 32 80 106 42 8 9 56 132 136 74 + 132 140 140 140 138 114 99 81 82 77 80 78 77 79 122 82 + 118 122 115 118 118 125 115 125 116 123 121 119 117 116 120 85 + 155 157 159 159 163 151 140 131 134 135 125 127 127 137 138 104 + 155 172 172 158 107 54 53 76 75 23 20 21 53 132 148 120 + 154 173 151 62 18 64 156 165 163 66 11 16 101 166 166 131 + 158 163 63 19 34 156 171 167 166 66 11 13 107 165 166 122 + 153 114 17 21 82 169 170 168 166 65 13 10 94 167 168 119 + 153 60 20 17 108 172 173 170 167 66 13 13 76 164 168 113 + 142 36 18 15 118 173 172 172 166 61 14 16 82 164 164 103 + 138 26 22 15 113 174 174 171 165 56 13 16 86 165 162 106 + 143 33 21 19 103 175 173 171 163 57 16 16 90 165 167 124 + 153 50 19 18 83 174 173 171 164 50 15 15 97 166 165 119 + 157 97 15 21 57 174 172 170 165 48 16 16 95 167 166 115 + 159 158 21 17 23 145 176 172 167 47 17 15 102 169 169 109 + 156 179 124 23 17 59 163 173 171 58 17 17 106 167 167 102 + 157 177 174 138 53 29 54 107 139 63 16 19 68 161 166 101 + 162 176 172 173 166 144 126 107 119 103 105 108 101 107 150 109 + 134 151 147 147 140 153 146 147 137 149 143 139 146 147 147 113 + + 95 104 114 105 101 92 82 91 107 102 98 91 89 84 96 96 + 121 125 148 147 144 143 144 144 144 143 147 147 147 146 130 131 + 122 114 150 150 144 144 145 148 145 144 147 147 147 144 86 130 + 116 30 85 96 92 75 81 86 90 91 94 101 101 66 81 134 + 129 18 18 17 15 22 22 21 21 21 23 21 19 19 83 123 + 129 18 15 17 18 22 23 20 22 23 24 22 23 24 84 130 + 119 19 56 56 50 51 51 41 42 42 37 37 45 47 84 136 + 122 55 146 144 146 148 146 146 139 142 142 145 149 114 85 130 + 124 57 147 145 145 149 146 148 146 148 148 148 149 89 79 133 + 136 32 140 150 150 150 147 148 148 149 148 150 143 38 104 125 + 141 38 46 134 151 149 149 148 148 149 150 133 56 21 124 134 + 155 93 17 24 75 93 105 94 86 77 50 25 21 38 145 118 + 143 141 51 19 24 22 22 19 24 25 23 25 19 113 148 125 + 140 150 137 50 19 20 20 22 23 21 20 18 102 148 145 125 + 138 149 153 149 95 50 28 21 25 36 74 131 148 146 147 129 + 136 136 141 139 138 142 137 133 136 136 137 140 131 134 138 119 + 80 92 102 95 92 87 77 80 98 95 87 81 78 74 82 85 + 114 120 135 132 135 135 132 131 133 134 133 134 135 136 122 120 + 113 106 137 133 134 134 133 134 133 134 134 133 135 132 79 116 + 103 28 75 79 73 55 60 63 69 76 76 81 84 56 77 117 + 112 8 8 7 6 8 10 8 8 7 10 8 7 9 78 119 + 114 8 7 7 6 8 10 9 8 10 11 10 10 8 80 121 + 109 8 47 47 43 42 39 34 34 30 28 28 38 42 77 123 + 108 45 136 136 136 138 138 136 136 135 134 136 139 106 82 116 + 113 47 135 134 134 136 138 136 138 137 137 137 141 80 81 125 + 124 24 131 138 137 139 138 137 139 139 139 139 133 32 99 115 + 129 29 44 125 139 139 141 140 138 140 142 121 43 10 114 125 + 137 79 9 16 58 84 93 84 77 61 39 12 11 31 138 118 + 130 131 39 10 12 9 7 7 9 11 11 10 12 111 140 118 + 132 138 120 39 8 10 10 11 11 11 9 10 96 140 140 115 + 132 139 140 132 89 37 17 10 16 28 66 123 141 140 140 122 + 124 129 127 128 125 128 125 118 121 128 128 127 126 127 132 118 + 104 120 131 122 119 113 103 106 124 119 115 109 102 101 109 113 + 138 148 166 166 168 168 164 162 167 165 166 169 167 166 150 147 + 137 132 166 165 167 164 164 165 165 166 167 169 167 161 107 147 + 127 53 101 107 94 76 82 86 90 97 95 102 106 68 101 146 + 127 21 16 13 10 13 16 16 16 15 16 15 17 19 108 139 + 125 20 11 11 13 13 14 13 16 15 16 17 17 16 105 143 + 135 23 66 66 65 66 61 56 57 50 48 47 58 63 103 149 + 134 75 163 166 166 167 166 165 163 164 165 167 171 139 119 137 + 131 76 165 167 168 170 172 171 171 171 170 172 173 107 107 147 + 140 53 156 171 170 173 172 174 173 173 172 176 163 54 126 146 + 151 54 64 156 169 172 173 174 175 174 174 145 59 29 144 153 + 163 107 18 34 82 108 118 113 103 83 57 23 17 53 166 140 + 159 158 62 19 21 17 15 15 19 18 21 17 23 138 173 147 + 159 172 151 63 17 20 18 22 21 19 15 21 124 174 172 147 + 157 172 173 163 114 60 36 26 33 50 97 158 179 177 176 151 + 155 155 154 158 153 153 142 138 143 153 157 159 156 157 162 134 + diff --git a/jsartoolkit5/examples/Data/multi/patt.f b/jsartoolkit5/examples/Data/multi/patt.f new file mode 100644 index 0000000..9dd7777 --- /dev/null +++ b/jsartoolkit5/examples/Data/multi/patt.f @@ -0,0 +1,196 @@ + 123 136 143 142 151 150 142 144 148 149 149 148 150 147 149 129 + 126 151 128 110 120 122 113 120 112 119 113 110 114 133 157 140 + 123 155 139 94 28 27 26 86 101 95 81 39 22 110 157 133 + 125 153 151 147 23 26 22 137 159 158 158 154 52 99 155 128 + 124 151 153 139 28 25 18 134 154 157 148 157 118 93 154 137 + 124 148 152 145 28 25 15 127 153 158 88 156 150 131 155 123 + 122 149 153 136 26 26 21 136 153 143 61 151 155 153 154 135 + 132 152 152 135 21 24 23 131 128 63 41 149 156 153 156 129 + 128 149 151 139 26 24 22 69 38 23 44 155 153 155 152 125 + 124 151 151 137 30 27 18 137 151 96 46 154 154 157 154 127 + 125 148 151 139 24 26 17 135 152 151 46 150 153 156 158 123 + 125 150 151 133 26 23 17 125 151 155 111 154 155 152 152 126 + 123 149 150 139 30 23 21 126 149 149 153 151 150 151 152 128 + 116 147 150 143 29 23 18 124 145 148 146 147 146 148 152 126 + 119 144 126 81 26 23 23 73 115 138 145 148 146 148 149 122 + 112 130 109 105 106 102 102 108 103 125 127 120 124 126 123 105 + 111 128 130 130 133 136 129 132 139 137 140 140 144 141 140 116 + 118 143 123 107 110 110 108 111 103 107 107 112 105 132 154 135 + 123 146 134 80 11 13 13 72 82 82 70 31 12 100 148 127 + 122 144 145 135 11 14 10 133 148 148 152 146 46 96 150 121 + 120 143 144 128 13 15 11 128 144 146 142 149 114 96 147 128 + 122 142 144 128 12 14 9 125 142 148 83 147 145 124 147 122 + 121 142 143 125 11 12 13 125 141 134 58 145 144 144 146 131 + 123 140 143 127 10 13 10 117 114 55 36 145 146 147 146 121 + 120 139 141 126 11 13 10 52 33 11 37 147 143 146 144 118 + 118 141 141 125 15 14 9 130 140 83 44 146 145 145 146 121 + 125 140 142 129 13 14 8 126 140 144 45 144 143 143 145 126 + 118 139 140 118 10 12 7 118 138 143 93 144 141 139 142 114 + 127 138 142 124 9 11 10 123 136 139 142 139 140 141 144 118 + 113 137 140 129 9 10 7 119 135 135 137 138 137 139 140 122 + 110 134 118 70 11 9 8 63 110 132 135 135 135 138 137 117 + 103 113 94 89 88 93 92 90 94 118 115 110 113 117 114 100 + 131 145 149 147 150 154 152 152 160 155 160 159 165 163 163 145 + 134 175 149 137 143 138 138 144 136 143 142 142 140 166 187 170 + 136 176 158 94 28 28 26 101 103 108 92 37 27 119 185 171 + 145 176 177 166 33 21 15 150 178 181 185 167 64 105 183 164 + 147 175 176 165 33 22 18 149 178 180 170 180 152 117 178 161 + 138 175 174 167 34 17 20 146 176 180 114 178 175 138 179 158 + 140 172 173 161 30 17 19 142 172 170 90 174 178 177 180 168 + 144 174 173 162 30 19 19 140 145 89 52 171 177 179 182 164 + 132 170 171 162 28 19 17 79 55 20 45 173 174 176 178 151 + 139 172 172 157 34 18 16 146 162 104 49 175 175 176 178 157 + 144 172 174 162 31 16 18 148 170 175 62 170 176 176 176 159 + 140 176 172 160 29 18 14 139 172 171 105 172 177 176 174 150 + 145 169 173 157 27 18 18 145 167 169 168 169 171 173 174 156 + 132 168 171 161 22 18 13 143 168 166 166 167 168 169 170 153 + 128 163 148 102 23 17 18 90 140 163 162 164 165 170 172 151 + 133 142 123 116 104 101 105 109 116 143 144 139 141 147 144 134 + + 129 140 133 128 137 123 135 129 125 127 123 126 128 126 122 105 + 149 157 157 155 154 155 154 156 152 154 158 152 152 152 149 123 + 147 133 110 99 93 131 153 153 155 157 156 152 151 148 148 126 + 150 114 22 52 118 150 155 156 153 154 153 155 150 146 146 124 + 148 110 39 154 157 156 151 149 155 154 150 154 151 147 148 120 + 149 113 81 158 148 88 61 41 44 46 46 111 153 146 145 127 + 149 119 95 158 157 158 143 63 23 96 151 155 149 148 138 125 + 148 112 101 159 154 153 153 128 38 151 152 151 149 145 115 103 + 144 120 86 137 134 127 136 131 69 137 135 125 126 124 73 108 + 142 113 26 22 18 15 21 23 22 18 17 17 21 18 23 102 + 150 122 27 26 25 25 26 24 24 27 26 23 23 23 23 102 + 151 120 28 23 28 28 26 21 26 30 24 26 30 29 26 106 + 142 110 94 147 139 145 136 135 139 137 139 133 139 143 81 105 + 143 128 139 151 153 152 153 152 151 151 151 151 150 150 126 109 + 136 151 155 153 151 148 149 152 149 151 148 150 149 147 144 130 + 123 126 123 125 124 124 122 132 128 124 125 125 123 116 119 112 + 116 135 127 121 128 122 131 121 118 121 126 114 118 122 117 100 + 140 154 148 150 147 147 146 146 144 146 145 142 144 140 137 114 + 141 132 100 96 96 124 144 147 146 145 143 139 141 139 138 117 + 144 105 12 46 114 145 144 146 143 145 143 141 140 137 135 113 + 140 112 31 146 149 147 145 145 147 146 144 144 139 138 135 110 + 140 107 70 152 142 83 58 36 37 44 45 93 142 137 135 115 + 137 107 82 148 146 148 134 55 11 83 144 143 139 135 132 118 + 139 103 82 148 144 142 141 114 33 140 140 138 136 135 110 94 + 132 111 72 133 128 125 125 117 52 130 126 118 123 119 63 90 + 129 108 13 10 11 9 13 10 10 9 8 7 10 7 8 92 + 136 110 13 14 15 14 12 13 13 14 14 12 11 10 9 93 + 133 110 11 11 13 12 11 10 11 15 13 10 9 9 11 88 + 130 107 80 135 128 128 125 127 126 125 129 118 124 129 70 89 + 130 123 134 145 144 144 143 143 141 141 142 140 142 140 118 94 + 128 143 146 144 143 142 142 140 139 141 140 139 138 137 134 113 + 111 118 123 122 120 122 121 123 120 118 125 118 127 113 110 103 + 145 170 171 164 161 158 168 164 151 157 159 150 156 153 151 134 + 163 187 185 183 178 179 180 182 178 178 176 174 174 170 172 144 + 163 166 119 105 117 138 177 179 176 176 176 176 173 169 170 147 + 165 140 27 64 152 175 178 177 174 175 176 177 171 168 165 141 + 159 142 37 167 180 178 174 171 173 175 170 172 169 167 164 139 + 160 142 92 185 170 114 90 52 45 49 62 105 168 166 162 144 + 155 143 108 181 180 180 170 89 20 104 175 171 169 166 163 143 + 160 136 103 178 178 176 172 145 55 162 170 172 167 168 140 116 + 152 144 101 150 149 146 142 140 79 146 148 139 145 143 90 109 + 152 138 26 15 18 20 19 19 17 16 18 14 18 13 18 105 + 154 138 28 21 22 17 17 19 19 18 16 18 18 18 17 101 + 150 143 28 33 33 34 30 30 28 34 31 29 27 22 23 104 + 147 137 94 166 165 167 161 162 162 157 162 160 157 161 102 116 + 149 149 158 177 176 174 173 173 171 172 174 172 173 171 148 123 + 145 175 176 176 175 175 172 174 170 172 172 176 169 168 163 142 + 131 134 136 145 147 138 140 144 132 139 144 140 145 132 128 133 + + 105 123 126 124 120 127 125 103 108 102 102 106 105 109 130 112 + 122 149 148 146 148 145 138 115 73 23 23 26 81 126 144 119 + 126 152 148 146 147 146 148 145 124 18 23 29 143 150 147 116 + 128 152 151 150 151 153 149 149 126 21 23 30 139 150 149 123 + 126 152 152 155 154 111 155 151 125 17 23 26 133 151 150 125 + 123 158 156 153 150 46 151 152 135 17 26 24 139 151 148 125 + 127 154 157 154 154 46 96 151 137 18 27 30 137 151 151 124 + 125 152 155 153 155 44 23 38 69 22 24 26 139 151 149 128 + 129 156 153 156 149 41 63 128 131 23 24 21 135 152 152 132 + 135 154 153 155 151 61 143 153 136 21 26 26 136 153 149 122 + 123 155 131 150 156 88 158 153 127 15 25 28 145 152 148 124 + 137 154 93 118 157 148 157 154 134 18 25 28 139 153 151 124 + 128 155 99 52 154 158 158 159 137 22 26 23 147 151 153 125 + 133 157 110 22 39 81 95 101 86 26 27 28 94 139 155 123 + 140 157 133 114 110 113 119 112 120 113 122 120 110 128 151 126 + 129 149 147 150 148 149 149 148 144 142 150 151 142 143 136 123 + 100 114 117 113 110 115 118 94 90 92 93 88 89 94 113 103 + 117 137 138 135 135 135 132 110 63 8 9 11 70 118 134 110 + 122 140 139 137 138 137 135 135 119 7 10 9 129 140 137 113 + 118 144 141 140 139 142 139 136 123 10 11 9 124 142 138 127 + 114 142 139 141 144 93 143 138 118 7 12 10 118 140 139 118 + 126 145 143 143 144 45 144 140 126 8 14 13 129 142 140 125 + 121 146 145 145 146 44 83 140 130 9 14 15 125 141 141 118 + 118 144 146 143 147 37 11 33 52 10 13 11 126 141 139 120 + 121 146 147 146 145 36 55 114 117 10 13 10 127 143 140 123 + 131 146 144 144 145 58 134 141 125 13 12 11 125 143 142 121 + 122 147 124 145 147 83 148 142 125 9 14 12 128 144 142 122 + 128 147 96 114 149 142 146 144 128 11 15 13 128 144 143 120 + 121 150 96 46 146 152 148 148 133 10 14 11 135 145 144 122 + 127 148 100 12 31 70 82 82 72 13 13 11 80 134 146 123 + 135 154 132 105 112 107 107 103 111 108 110 110 107 123 143 118 + 116 140 141 144 140 140 137 139 132 129 136 133 130 130 128 111 + 134 144 147 141 139 144 143 116 109 105 101 104 116 123 142 133 + 151 172 170 165 164 162 163 140 90 18 17 23 102 148 163 128 + 153 170 169 168 167 166 166 168 143 13 18 22 161 171 168 132 + 156 174 173 171 169 168 169 167 145 18 18 27 157 173 169 145 + 150 174 176 177 172 105 171 172 139 14 18 29 160 172 176 140 + 159 176 176 176 170 62 175 170 148 18 16 31 162 174 172 144 + 157 178 176 175 175 49 104 162 146 16 18 34 157 172 172 139 + 151 178 176 174 173 45 20 55 79 17 19 28 162 171 170 132 + 164 182 179 177 171 52 89 145 140 19 19 30 162 173 174 144 + 168 180 177 178 174 90 170 172 142 19 17 30 161 173 172 140 + 158 179 138 175 178 114 180 176 146 20 17 34 167 174 175 138 + 161 178 117 152 180 170 180 178 149 18 22 33 165 176 175 147 + 164 183 105 64 167 185 181 178 150 15 21 33 166 177 176 145 + 171 185 119 27 37 92 108 103 101 26 28 28 94 158 176 136 + 170 187 166 140 142 142 143 136 144 138 138 143 137 149 175 134 + 145 163 163 165 159 160 155 160 152 152 154 150 147 149 145 131 + + 112 119 116 123 125 125 124 128 132 122 124 124 125 123 126 123 + 130 144 147 149 150 148 151 149 152 149 148 151 153 155 151 136 + 109 126 150 150 151 151 151 151 152 153 152 153 151 139 128 143 + 105 81 143 139 133 139 137 139 135 136 145 139 147 94 110 142 + 106 26 29 30 26 24 30 26 21 26 28 28 23 28 120 151 + 102 23 23 23 23 26 27 24 24 26 25 25 26 27 122 150 + 102 23 18 21 17 17 18 22 23 21 15 18 22 26 113 142 + 108 73 124 126 125 135 137 69 131 136 127 134 137 86 120 144 + 103 115 145 149 151 152 151 38 128 153 153 154 159 101 112 148 + 125 138 148 149 155 151 96 23 63 143 158 157 158 95 119 149 + 127 145 146 153 111 46 46 44 41 61 88 148 158 81 113 149 + 120 148 147 151 154 150 154 155 149 151 156 157 154 39 110 148 + 124 146 146 150 155 153 154 153 156 155 150 118 52 22 114 150 + 126 148 148 151 152 156 157 155 153 153 131 93 99 110 133 147 + 123 149 152 152 152 158 154 152 156 154 155 154 155 157 157 149 + 105 122 126 128 126 123 127 125 129 135 123 137 128 133 140 129 + 103 110 113 127 118 125 118 120 123 121 122 120 122 123 118 111 + 113 134 137 138 139 140 141 139 140 142 142 143 144 146 143 128 + 94 118 140 142 140 142 141 141 143 143 144 144 145 134 123 130 + 89 70 129 124 118 129 125 126 127 125 128 128 135 80 107 130 + 88 11 9 9 10 13 15 11 10 11 12 13 11 11 110 133 + 93 9 10 11 12 14 14 13 13 12 14 15 14 13 110 136 + 92 8 7 10 7 8 9 10 10 13 9 11 10 13 108 129 + 90 63 119 123 118 126 130 52 117 125 125 128 133 72 111 132 + 94 110 135 136 138 140 140 33 114 141 142 144 148 82 103 139 + 118 132 135 139 143 144 83 11 55 134 148 146 148 82 107 137 + 115 135 137 142 93 45 44 37 36 58 83 142 152 70 107 140 + 110 135 138 139 144 144 146 147 145 145 147 149 146 31 112 140 + 113 135 137 140 141 143 145 143 146 144 145 114 46 12 105 144 + 117 138 139 141 139 143 145 146 147 144 124 96 96 100 132 141 + 114 137 140 144 142 145 146 144 146 146 147 147 150 148 154 140 + 100 117 122 118 114 126 121 118 121 131 122 128 121 127 135 116 + 133 128 132 145 140 144 139 132 144 140 138 147 145 136 134 131 + 142 163 168 169 176 172 172 170 174 172 175 175 176 176 175 145 + 123 148 171 173 172 174 172 171 173 173 174 176 177 158 149 149 + 116 102 161 157 160 162 157 162 162 161 167 165 166 94 137 147 + 104 23 22 27 29 31 34 28 30 30 34 33 33 28 143 150 + 101 17 18 18 18 16 18 19 19 17 17 22 21 28 138 154 + 105 18 13 18 14 18 16 17 19 19 20 18 15 26 138 152 + 109 90 143 145 139 148 146 79 140 142 146 149 150 101 144 152 + 116 140 168 167 172 170 162 55 145 172 176 178 178 103 136 160 + 143 163 166 169 171 175 104 20 89 170 180 180 181 108 143 155 + 144 162 166 168 105 62 49 45 52 90 114 170 185 92 142 160 + 139 164 167 169 172 170 175 173 171 174 178 180 167 37 142 159 + 141 165 168 171 177 176 175 174 177 178 175 152 64 27 140 165 + 147 170 169 173 176 176 176 176 179 177 138 117 105 119 166 163 + 144 172 170 174 174 176 178 178 182 180 179 178 183 185 187 163 + 134 151 153 156 150 159 157 151 164 168 158 161 164 171 170 145 + diff --git a/jsartoolkit5/examples/Data/multi/patt.g b/jsartoolkit5/examples/Data/multi/patt.g new file mode 100644 index 0000000..51a7259 --- /dev/null +++ b/jsartoolkit5/examples/Data/multi/patt.g @@ -0,0 +1,196 @@ + 145 150 162 167 159 167 161 157 159 169 165 155 156 157 152 145 + 153 164 164 167 173 147 119 88 90 83 114 139 164 138 145 141 + 145 160 163 154 98 48 54 126 138 158 117 57 73 45 134 148 + 144 157 141 52 36 65 157 170 169 171 175 155 79 36 150 155 + 145 162 63 49 40 122 171 170 169 167 171 173 164 49 156 153 + 148 125 38 45 61 164 166 165 166 168 172 170 169 111 147 136 + 138 71 43 41 86 164 165 166 164 165 165 165 167 161 165 143 + 160 54 41 37 93 166 163 165 165 166 164 166 165 165 171 152 + 148 48 38 38 90 162 163 166 166 166 167 165 164 167 171 161 + 158 37 41 43 79 162 162 162 164 113 110 102 119 112 115 123 + 155 46 45 42 69 164 163 161 163 163 112 32 39 32 107 149 + 160 94 39 41 44 155 161 160 162 165 143 37 47 44 140 155 + 158 162 45 34 34 149 162 159 161 165 149 39 49 45 164 149 + 151 168 154 58 25 74 159 159 161 166 161 52 43 33 158 136 + 149 163 169 149 60 24 65 128 144 133 117 39 37 50 160 139 + 142 167 152 161 167 133 99 68 66 78 100 133 133 168 170 145 + 127 137 149 149 145 149 152 151 146 152 150 146 155 148 141 134 + 136 153 155 156 156 137 110 84 89 92 113 139 157 138 145 131 + 131 150 153 144 84 34 47 116 130 144 113 71 65 34 132 137 + 130 149 131 43 21 51 148 162 161 162 165 151 74 31 140 143 + 130 147 52 27 23 109 158 158 160 159 161 164 152 41 146 141 + 131 113 24 27 45 157 154 156 158 159 161 163 165 100 140 129 + 129 62 22 23 68 154 154 155 156 157 159 160 162 155 157 137 + 147 38 23 25 79 155 153 154 155 158 156 156 161 158 163 147 + 132 24 23 18 78 153 153 153 156 156 159 158 159 161 163 144 + 135 19 24 20 67 151 150 152 156 118 101 98 109 108 109 109 + 144 32 25 25 51 150 152 153 154 155 108 22 23 19 95 133 + 144 79 19 22 25 147 150 151 153 153 140 26 29 26 128 144 + 139 141 25 19 16 131 149 151 149 155 142 27 29 25 148 139 + 138 154 126 33 15 65 146 148 150 154 148 28 26 20 139 128 + 134 151 155 134 46 12 57 115 139 122 108 21 27 42 140 133 + 129 150 138 147 154 122 77 60 65 61 71 105 122 157 160 136 + 152 169 183 184 176 180 177 176 178 183 180 174 182 182 175 170 + 173 190 190 194 191 167 140 128 130 126 152 171 192 176 180 172 + 166 188 190 177 121 65 72 147 169 176 149 109 103 63 153 178 + 163 187 170 80 35 67 178 197 197 200 202 183 110 50 165 181 + 161 184 87 39 38 130 192 196 196 198 201 204 187 76 176 178 + 161 150 36 36 67 184 193 195 196 196 201 201 204 150 175 161 + 161 94 34 34 89 191 193 193 195 196 199 200 202 194 193 171 + 179 68 32 31 96 193 191 193 195 194 196 194 200 199 203 183 + 170 56 33 29 96 189 193 192 195 194 195 192 194 196 199 181 + 172 39 35 35 96 189 191 190 195 153 143 138 144 141 137 145 + 171 58 35 32 76 186 189 189 195 188 138 51 42 40 118 166 + 173 108 36 31 42 176 187 189 192 196 174 57 44 44 156 179 + 166 179 53 32 36 165 186 187 191 191 178 54 38 45 181 177 + 164 191 166 61 30 86 178 183 188 192 184 62 38 40 171 164 + 156 188 193 166 78 38 84 152 170 156 144 50 46 79 180 169 + 144 182 173 181 186 140 101 86 91 98 104 130 141 178 191 168 + + 145 141 148 155 153 136 143 152 161 123 149 155 149 136 139 145 + 152 145 134 150 156 147 165 171 171 115 107 140 164 158 160 170 + 157 138 45 36 49 111 161 165 167 112 32 44 45 33 50 168 + 156 164 73 79 164 169 167 165 164 119 39 47 49 43 37 133 + 155 139 57 155 173 170 165 166 165 102 32 37 39 52 39 133 + 165 114 117 175 171 172 165 164 167 110 112 143 149 161 117 100 + 169 83 158 171 167 168 165 166 166 113 163 165 165 166 133 78 + 159 90 138 169 169 166 164 165 166 164 163 162 161 161 144 66 + 157 88 126 170 170 165 166 165 166 162 161 160 159 159 128 68 + 161 119 54 157 171 166 165 163 163 162 163 161 162 159 65 99 + 167 147 48 65 122 164 164 166 162 162 164 155 149 74 24 133 + 159 173 98 36 40 61 86 93 90 79 69 44 34 25 60 167 + 167 167 154 52 49 45 41 37 38 43 42 41 34 58 149 161 + 162 164 163 141 63 38 43 41 38 41 45 39 45 154 169 152 + 150 164 160 157 162 125 71 54 48 37 46 94 162 168 163 167 + 145 153 145 144 145 148 138 160 148 158 155 160 158 151 149 142 + 134 131 137 143 141 129 137 147 144 109 133 144 139 128 133 136 + 141 145 132 140 146 140 157 163 163 109 95 128 148 139 140 160 + 148 138 34 31 41 100 155 158 161 108 19 26 25 20 42 157 + 155 157 65 74 152 165 162 161 159 109 23 29 29 26 27 122 + 146 139 71 151 164 163 160 156 158 98 22 26 27 28 21 105 + 150 113 113 165 161 161 159 156 159 101 108 140 142 148 108 71 + 152 92 144 162 159 159 157 158 156 118 155 153 155 154 122 61 + 146 89 130 161 160 158 156 155 156 156 154 153 149 150 139 65 + 151 84 116 162 158 156 155 154 153 152 153 151 151 148 115 60 + 152 110 47 148 158 154 154 153 153 150 152 150 149 146 57 77 + 149 137 34 51 109 157 154 155 153 151 150 147 131 65 12 122 + 145 156 84 21 23 45 68 79 78 67 51 25 16 15 46 154 + 149 156 144 43 27 27 23 25 18 20 25 22 19 33 134 147 + 149 155 153 131 52 24 22 23 23 24 25 19 25 126 155 138 + 137 153 150 149 147 113 62 38 24 19 32 79 141 154 151 150 + 127 136 131 130 130 131 129 147 132 135 144 144 139 138 134 129 + 170 172 178 181 178 161 171 183 181 145 166 179 177 164 169 168 + 175 180 153 165 176 175 193 203 199 137 118 156 181 171 180 191 + 182 176 63 50 76 150 194 199 196 141 40 44 45 40 79 178 + 182 192 103 110 187 204 202 200 194 144 42 44 38 38 46 141 + 174 171 109 183 204 201 200 194 192 138 51 57 54 62 50 130 + 180 152 149 202 201 201 199 196 195 143 138 174 178 184 144 104 + 183 126 176 200 198 196 196 194 194 153 188 196 191 192 156 98 + 178 130 169 197 196 196 195 195 195 195 195 192 191 188 170 91 + 176 128 147 197 196 195 193 193 192 190 189 189 187 183 152 86 + 177 140 72 178 192 193 193 191 193 191 189 187 186 178 84 101 + 180 167 65 67 130 184 191 193 189 189 186 176 165 86 38 140 + 176 191 121 35 38 67 89 96 96 96 76 42 36 30 78 186 + 184 194 177 80 39 36 34 31 29 35 32 31 32 61 166 181 + 183 190 190 170 87 36 34 32 33 35 35 36 53 166 193 173 + 169 190 188 187 184 150 94 68 56 39 58 108 179 191 188 182 + 152 173 166 163 161 161 161 179 170 172 171 173 166 164 156 144 + + 145 170 168 133 133 100 78 66 68 99 133 167 161 152 167 142 + 139 160 50 37 39 117 133 144 128 65 24 60 149 169 163 149 + 136 158 33 43 52 161 166 161 159 159 74 25 58 154 168 151 + 149 164 45 49 39 149 165 161 159 162 149 34 34 45 162 158 + 155 140 44 47 37 143 165 162 160 161 155 44 41 39 94 160 + 149 107 32 39 32 112 163 163 161 163 164 69 42 45 46 155 + 123 115 112 119 102 110 113 164 162 162 162 79 43 41 37 158 + 161 171 167 164 165 167 166 166 166 163 162 90 38 38 48 148 + 152 171 165 165 166 164 166 165 165 163 166 93 37 41 54 160 + 143 165 161 167 165 165 165 164 166 165 164 86 41 43 71 138 + 136 147 111 169 170 172 168 166 165 166 164 61 45 38 125 148 + 153 156 49 164 173 171 167 169 170 171 122 40 49 63 162 145 + 155 150 36 79 155 175 171 169 170 157 65 36 52 141 157 144 + 148 134 45 73 57 117 158 138 126 54 48 98 154 163 160 145 + 141 145 138 164 139 114 83 90 88 119 147 173 167 164 164 153 + 145 152 157 156 155 165 169 159 157 161 167 159 167 162 150 145 + 136 160 157 122 105 71 61 65 60 77 122 154 147 138 150 129 + 133 140 42 27 21 108 122 139 115 57 12 46 134 155 151 134 + 128 139 20 26 28 148 154 150 148 146 65 15 33 126 154 138 + 139 148 25 29 27 142 155 149 151 149 131 16 19 25 141 139 + 144 128 26 29 26 140 153 153 151 150 147 25 22 19 79 144 + 133 95 19 23 22 108 155 154 153 152 150 51 25 25 32 144 + 109 109 108 109 98 101 118 156 152 150 151 67 20 24 19 135 + 144 163 161 159 158 159 156 156 153 153 153 78 18 23 24 132 + 147 163 158 161 156 156 158 155 154 153 155 79 25 23 38 147 + 137 157 155 162 160 159 157 156 155 154 154 68 23 22 62 129 + 129 140 100 165 163 161 159 158 156 154 157 45 27 24 113 131 + 141 146 41 152 164 161 159 160 158 158 109 23 27 52 147 130 + 143 140 31 74 151 165 162 161 162 148 51 21 43 131 149 130 + 137 132 34 65 71 113 144 130 116 47 34 84 144 153 150 131 + 131 145 138 157 139 113 92 89 84 110 137 156 156 155 153 136 + 134 141 148 155 146 150 152 146 151 152 149 145 149 149 137 127 + 168 191 178 141 130 104 98 91 86 101 140 186 181 173 182 144 + 169 180 79 46 50 144 156 170 152 84 38 78 166 193 188 156 + 164 171 40 38 62 184 192 188 183 178 86 30 61 166 191 164 + 177 181 45 38 54 178 191 191 187 186 165 36 32 53 179 166 + 179 156 44 44 57 174 196 192 189 187 176 42 31 36 108 173 + 166 118 40 42 51 138 188 195 189 189 186 76 32 35 58 171 + 145 137 141 144 138 143 153 195 190 191 189 96 35 35 39 172 + 181 199 196 194 192 195 194 195 192 193 189 96 29 33 56 170 + 183 203 199 200 194 196 194 195 193 191 193 96 31 32 68 179 + 171 193 194 202 200 199 196 195 193 193 191 89 34 34 94 161 + 161 175 150 204 201 201 196 196 195 193 184 67 36 36 150 161 + 178 176 76 187 204 201 198 196 196 192 130 38 39 87 184 161 + 181 165 50 110 183 202 200 197 197 178 67 35 80 170 187 163 + 178 153 63 103 109 149 176 169 147 72 65 121 177 190 188 166 + 172 180 176 192 171 152 126 130 128 140 167 191 194 190 190 173 + 170 175 182 182 174 180 183 178 176 177 180 176 184 183 169 152 + + 142 149 151 158 160 155 158 148 160 138 148 145 144 145 153 145 + 167 163 168 162 94 46 37 48 54 71 125 162 157 160 164 150 + 152 169 154 45 39 45 41 38 41 43 38 63 141 163 164 162 + 161 149 58 34 41 42 43 38 37 41 45 49 52 154 167 167 + 167 60 25 34 44 69 79 90 93 86 61 40 36 98 173 159 + 133 24 74 149 155 164 162 162 166 164 164 122 65 48 147 167 + 99 65 159 162 161 163 162 163 163 165 166 171 157 54 119 161 + 68 128 159 159 160 161 162 166 165 166 165 170 170 126 88 157 + 66 144 161 161 162 163 164 166 165 164 166 169 169 138 90 159 + 78 133 166 165 165 163 113 166 166 165 168 167 171 158 83 169 + 100 117 161 149 143 112 110 167 164 165 172 171 175 117 114 165 + 133 39 52 39 37 32 102 165 166 165 170 173 155 57 139 155 + 133 37 43 49 47 39 119 164 165 167 169 164 79 73 164 156 + 168 50 33 45 44 32 112 167 165 161 111 49 36 45 138 157 + 170 160 158 164 140 107 115 171 171 165 147 156 150 134 145 152 + 145 139 136 149 155 149 123 161 152 143 136 153 155 148 141 145 + 129 134 138 139 144 144 135 132 147 129 131 130 130 131 136 127 + 150 151 154 141 79 32 19 24 38 62 113 147 149 150 153 137 + 138 155 126 25 19 25 24 23 23 22 24 52 131 153 155 149 + 147 134 33 19 22 25 20 18 25 23 27 27 43 144 156 149 + 154 46 15 16 25 51 67 78 79 68 45 23 21 84 156 145 + 122 12 65 131 147 150 151 153 155 154 157 109 51 34 137 149 + 77 57 146 149 150 152 150 153 153 154 154 158 148 47 110 152 + 60 115 148 151 151 153 152 153 154 155 156 158 162 116 84 151 + 65 139 150 149 153 154 156 156 155 156 158 160 161 130 89 146 + 61 122 154 155 153 155 118 156 158 157 159 159 162 144 92 152 + 71 108 148 142 140 108 101 159 156 159 161 161 165 113 113 150 + 105 21 28 27 26 22 98 158 156 160 163 164 151 71 139 146 + 122 27 26 29 29 23 109 159 161 162 165 152 74 65 157 155 + 157 42 20 25 26 19 108 161 158 155 100 41 31 34 138 148 + 160 140 139 148 128 95 109 163 163 157 140 146 140 132 145 141 + 136 133 128 139 144 133 109 144 147 137 129 141 143 137 131 134 + 144 156 164 166 173 171 172 170 179 161 161 161 163 166 173 152 + 182 188 191 179 108 58 39 56 68 94 150 184 187 188 190 169 + 173 193 166 53 36 35 35 33 32 34 36 87 170 190 190 183 + 181 166 61 32 31 32 35 29 31 34 36 39 80 177 194 184 + 186 78 30 36 42 76 96 96 96 89 67 38 35 121 191 176 + 140 38 86 165 176 186 189 189 193 191 184 130 67 65 167 180 + 101 84 178 186 187 189 191 193 191 193 193 192 178 72 140 177 + 86 152 183 187 189 189 190 192 193 193 195 196 197 147 128 176 + 91 170 188 191 192 195 195 195 195 195 196 196 197 169 130 178 + 98 156 192 191 196 188 153 194 194 196 196 198 200 176 126 183 + 104 144 184 178 174 138 143 195 196 199 201 201 202 149 152 180 + 130 50 62 54 57 51 138 192 194 200 201 204 183 109 171 174 + 141 46 38 38 44 42 144 194 200 202 204 187 110 103 192 182 + 178 79 40 45 44 40 141 196 199 194 150 76 50 63 176 182 + 191 180 171 181 156 118 137 199 203 193 175 176 165 153 180 175 + 168 169 164 177 179 166 145 181 183 171 161 178 181 178 172 170 + diff --git a/jsartoolkit5/examples/Data/output_4.ogg b/jsartoolkit5/examples/Data/output_4.ogg new file mode 100644 index 0000000000000000000000000000000000000000..1283fd7c8b7801bca9f1cc183afbe80ab19f2030 GIT binary patch literal 1542963 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%0DO_~s*= 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

      CH+auOGh>Bx>{1?vsx@v#>CdHE*N||l)`(Y zj-=)ICK_SoW4hOq4=pxZx3SSptWUg6q2&>DCFk4bWiDoA@`TLHnEWSzR7Ij83$n#) zwC-kebAp7p#v$-Tgvr1qkr>28LjQTsKc)lb7)}Y~lH$>J@=<2C8dq9Yl6fHwh>5(! z6hT;_@dX&!ErphRv*xTAL{+IjU$l(rP0gi{=|Vhn5^z0bFgs;ZxD9?)8eb3g(wrOe z844oSXJNn-D}mvQ0$Bwn0FkuLCG&?1X3sdW1`c8J7-SK)++JI9a0cHDwUAt!A%(H) zguK%N=@9h545*wAReDU*IybTNcG%AZ8JAXv+T52{n7Cq4h)a|w6BP_ciYP&{SeP(0 z$_8l7Lrk^(Ik^wzjFAn;j^ASyuWwgFu*yGFj*a9}Zzw1-D3UY@);Ad9GmH@+ zaWO9`$9VUV*{H)Qj=Sy83*MDmuD*xHGuzyEjJh{YNz6_%UE{qNjPI#NP8TurEO>zm z?1~;n$Y+>*=zz)}xkxqrN575Wg%rCrVTZcLA=Gs!L`P3>ABe|AJm?CB2OKdcxLQ-i!X-Wcj| zcaD^lLzGjS^^V6_)08kx+jI)ngEO3Vx$VXtq7du6b-L*o7jLPR1xff=} zD%KmQ0Zjfckv%G0X3expp%Iypg~^{&Cw>ounYbgONrVi7<_2NMWI+*xPXS2ir_ULu zu53tXkY+cE@=6LzaEAV6i7Uq%2+X*uZE&K|!AT{fCl+ywUb#WBP%3!}x4wb!viYC& zwSFsHN6t&}%=sR^1r(rvMz}IdD8nRIn~|akF2#)6Y-Ii~Y$q%ukW4*ES{*oB@{Dz{ z(=bsdBt~i(lO&jPF>}LWld+xnIqpDmb28FPz*yClGr5xv#6@z#cbo@w032ZEF`|k@ zrV-;%Tv%eRGQ4ua9K&=`(2kIwZ2H`&@@f8?{5$U^iBE>*Z<0>!Y!;@(Rk;NC&05-x zUNrzIsstf|9~z9Jmu$U_iS~DG&IN1k_a@vbtX937Y`~P%18z`C0a1e8YPT_Z0HXrM z=!@<+9fMRM_#g1@89P6h(OfAyGZapkx|uHz!Ip*Q-;SWv9( z8pX3{c&IMq&1RLai8@2q#n^sBiH-Drl{RXEh@6dHWZmx92kv|ay($nEhU-frPoglHR?!1AlYNJB+YVK;%cMhHJA za@@Ju?##|?ZMi_&wKkzxQHn)FdteEGk=F~M#B4DUANA8t6xb3_a(Of*5tGLsHh!;r z3E*FBJ-Mion^2Q6;skCg*3GRUvr`_Q4T(m`^+JeHByHEl3IiOh(7KxaQP7;k8NzZ1 zjD|-HK#ITN!>NiJOmF0wDLM&lW+UDX&19w_W)E2UD3R5iS;trwM97A8A1_Z{aBo z$|ICc&uhJs)|Qrx_Q@%$pqo|s$mZS3;zC{lrhygmN&w1kxw$e##GHZ>-#fD#vpTT2 zJl+gu?qHK_&?6rA-m>i9^?O2$+goNbLnR|(_4;=DT$J)-nEuartidpRY&Pc3w;LS} z)aM4+Iv{~?+&VrCq-sYT{8(5g4CAJe-UK%$nT#6bcc_AcW4SZg__C%31a>XiPy~4*UuIQ=O;=%cF2m zhA|0kWpSgnz7VQ!!JSeyIA;){YIEao-yCekGJKq4iRrjMq%a{Q)-rilw$zh~Q*=!u zOv&8{Z7EYW#|nJ5rHQdSVt#Uqn{A9HDA1m6q?gknX?)I(8joNc`}v=p!h1S#Vb=)DLeA!kU^FJ4~^^}i*J1GhpV03fO|uELB!P0<1cnvYYnEuW`?FHT;iX}4#EW8awY@EfkW{b&QS}Hq{6I1r$$w*{GU%wX!VE~>V$~S}CSKWn zLMK^HwT-MJy1a*kjnIXJmuf)WYlC6gbyBEkkZps^!LEpn_-aPuP(O#GF%5@o80nqI zmH7?&y7RJd-zy(M18T;w-48_*P~ohqCUTJxc!g>;#0N|tRt;eRs2oPc3zZDt4;t-? zOylCpVAT#A96-g$gNDlWtQsd9jS`Je>DC4av_Ysu);6n=l3zMkT3mZVHp-6<67IrG zqC>LCtRldxT2xY3L4@e6LXxiL)|SNBkpfZF&PifdD!~%4%7iktCuz}20uxIpWq+LVD93yJXnU+M@+KRt~{#c zm1jXYV{EcE@#Y~bk(`!EZ#GDi%J#S@kE*N(iYKf**1UtEs}S+iEbIUiaPTBR_Ptfr zRq`MKT5C8!4jHsS@v>sz7D6x!|or$V-@MBOWYS=(e#R z63@VGr>{QG4^Mu9?F1JFN4Y)o?oGY{AbXjfoeWaCt@B3 zdb{Pu-bG8e+iWh9N#>PNa&B3nuwrZj5V5Wo3Y576(zfSj$|DpP9PAUAS^bM(lXY?k^ zrk&pYKP|B5d^S|tWH6i7&!;KHyAx{8aUagL#W{paD!JEc|6Q*8pJE2XP~VGW2oB>9|$2@0v- zk58^@Rrtb&=t&QZY>CR{IkdK_=X}a8S1fB03_C2RH8fCQnppf*i|2OGQ2H@-qcvTD zcg3VCyA6Q3ve<3El;BpxSMr>K=7phDxhc8cHC;(XtdIA^bvC{e8)uV#S^9^>fwh4( z>V47~0g2stb>?BfFY+?mLbCucdHod3;2fV1?DT`+-}5Cci`@ko-K z6p(5}%iyV1nE{@ZBo(l3WA80~YsoOdh?neSveEHJ;(5^v`>g#~5f$Xse~w8dXgLXwe#d>*{GLxqrbE|b*)Z4$TQ-! zNT7gkH#7^~O;*O@0H`1!I{^$sK?&HHp)H)8jB=YKr7!@F&Ut zkZ%RcDPWIfvIzJ+qx-N$kOconP$2&CTG5r7z!nIdO9^vxMC!1AB7agP=mbho<~**H zStfn}@Cx7^(nab5@Jh18c|J%-^ZzmFRqyKceJq#po&iIq8dCp0A;ng;Uwn_;G8J7 zN_yEkmdVTEegba>J{#CkK7TIQV0*{qr$@=;^dk56HsW*7Za#=sd?&`DR-r}*x71p+ zn@RKo@F#^mPm2zYkJ;$*b^!cUVU-TwXkloWg?snCUncJD`h?xx)!nV>vfit?K>NmQ zDF%ZqY);o$sCyp8V6aqBW~(BET3Ny<*o-E!r9z=HWL=XQ1T_&uHIyn77Bo=h!YLU} z!Vw4-Br*k3M3@ME8UJdJzza8l*Il94G1pVVKJV}*6)p^y_I)1ls8j#HxzD)Cs_4|- zW5fe8?b(-xW$n`R#Nv1ehM(}J1Viw}ST^v)E%$!CItW1>bYtLY(4^n6C?Ncny`8AI|JrBuBg7T9gb^MVN+jirtTOwH3N0tKsB->60R0lKJ@)bt z%P7uahUT=nmsuWP(s_yg*U(@^MIRzUNK{eVoJP`?Y#JJHXTea444)Ewd+W%TyorBG zDCPSsFiSBk_?%hHai6%7De`mZB4{c%D7?y=SITpVT6jfx0(LX&OHX_@ehJVi12QN5 zY>=+Ir4BMd|$|Cv3IE1T2{tV?&OYn0S@GlMFMgVln6;W z0U77uFW1dv=qRlTK{_@CmnQK?%$o6^gv6yHkaq*XY#)%6pGgta$?<|}O;vxx=uad1 z#M+=96-Q9@BQs*MG38%~P5>h3d<=^deVX$CO7lcTC1anc_BrRwk&Y}B5jiZ}h6ivi zl!6E^-2$JXo@OK9j}sbU|FPU2_)pKe9)s;MWV5y6gf0+EoFj_XJg1`CghC%0Kw4cScYnxy$az#MGC?q2x&wnBP1p^26jah zLlOajQ$sW~GKCaHR4Ay2LBfCmDUg6u0#Yy}ec(R{?+0(2IddHmKj4xdul-@@L--|u zbQ}A?z=3n2w+xAU6o&6T+e3_PxiPCj{YW3O>~u22FsGDx#AB`vPw+34>QNq;dY6}I z$LWAO15*b=>H%!IKOEwor}-me^8a{_zfc4KU`72LgfJo{`t8S?aGf|JhOmjJ)Yb5I zac!_*!&}|8v=Dr)YlhILiQ0VNZ?c3}uk;h;=Z4ej1y8Ol00bx3%Is3rSrC@7ft6oc zEkq)P65*upyi_$)ye0EHhLy0qZ3S4N|M2hInw8~lS64AtyjAMec(UEz=}fmFTMP*n)CuS5SJfMdG|@p?VkMPESS#5MYPdq5*`B&p|kZ&6hzVf6vJ> zp8M1E0MeHeInziOCVuI{a7$0w{;FF8xxtwETixiC(y(cuh5Fv$-w^G;~CalTBd=NA?VRKb2*O1wjL?XCx8~ zZ^}qyu1S>EiE|JBnT9N9bM4GPM)LG*_nQ`uDtz9@-LgY5yeri}&>n z%5n@J=qLWDpuM?C4v%PTbb^F0I6udE2@0AsPT@`f8jT8&XLU9sr4 zLth~L1KpnkQ$8nv&u#J>8n9Q8Bc5+x1KB_^VZBlN&fmT4ITPWw+_##^^45t{Lf-~n`ySY|NS<|HC2E9oe)Z{pg{!Y&>MgSfM#V-VL*Ts z03--0lLClfgBA>$Sv4(78Vpq6C

      nJQpF@kGvK5V0*q!2L-OLvQ_dX+m#8Z6l$dc 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

      uErDUI1Vet&roC)IHF?Q3o^=NWUTMqW% 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

      >2OF`-4~N(nj8w9dlhsYvn{k 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

      IK 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 z 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

      +VdsU;{{$4I{+4UO%N{ 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

      Z-kVPkuIVNZ^$`G5}Jeg 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

      R%P;#bqvdLHz&Odfd;x_)87(2l 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

    1. 0IdLV5mjAjQ1o_E1^K3c%SX;7NVKR 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

      ~Fa7F^gPA0&1SR&XS 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 literal 0 HcmV?d00001 diff --git a/jsartoolkit5/examples/Data/patt.hiro b/jsartoolkit5/examples/Data/patt.hiro new file mode 100755 index 0000000..7f78e3c --- /dev/null +++ b/jsartoolkit5/examples/Data/patt.hiro @@ -0,0 +1,196 @@ + 234 235 240 233 240 234 240 235 240 237 240 238 240 240 240 232 + 229 240 240 240 240 240 240 240 240 240 240 240 240 240 240 228 + 227 240 240 240 240 240 240 240 240 240 240 240 240 240 240 239 + 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 + 236 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 + 234 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 + 236 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 + 231 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 + 229 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 + 225 149 240 240 186 216 225 174 240 240 240 237 238 240 240 240 + 150 107 238 231 75 208 115 147 238 228 223 226 237 180 226 240 + 150 62 181 213 62 187 113 169 197 72 29 237 120 50 53 207 + 149 63 47 78 53 184 113 101 142 5 150 150 45 217 186 83 + 121 84 220 222 58 180 121 92 128 109 237 124 155 232 161 64 + 149 71 240 240 76 210 98 109 122 108 240 129 51 119 161 155 + 149 186 240 240 98 219 135 152 207 191 236 227 152 77 175 209 + 235 235 240 233 240 234 240 235 240 236 240 238 240 240 240 240 + 229 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 + 227 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 + 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 + 236 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 + 234 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 + 236 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 + 232 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 + 229 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 + 225 156 240 240 186 216 225 186 240 240 240 240 240 240 240 240 + 150 117 240 231 72 206 115 162 240 232 223 237 240 180 226 240 + 150 74 187 213 51 184 103 168 197 78 29 237 120 50 53 216 + 144 77 51 74 61 184 106 101 142 5 150 152 52 217 186 85 + 117 89 219 219 65 184 121 92 128 100 236 125 156 240 170 73 + 148 71 240 240 76 210 109 109 121 99 240 137 51 120 166 164 + 140 186 240 240 98 220 150 156 207 192 236 230 152 77 176 212 + 234 235 240 233 240 234 240 235 240 236 240 238 240 240 240 233 + 229 240 240 240 240 240 240 240 240 240 240 240 240 240 240 239 + 227 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 + 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 + 234 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 + 232 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 + 235 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 + 232 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 + 228 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 + 225 156 240 240 182 212 225 180 240 240 240 240 240 240 240 240 + 150 116 238 228 66 205 115 151 238 236 225 240 240 180 226 240 + 156 84 186 211 47 184 109 170 200 92 30 240 120 50 53 216 + 147 83 51 73 50 184 106 110 148 17 151 150 45 217 186 85 + 127 98 219 219 58 179 109 101 128 107 237 125 155 240 163 72 + 155 86 240 240 76 201 85 108 121 95 232 137 51 118 153 155 + 149 189 240 240 98 220 141 154 206 178 235 230 152 77 175 209 + + 232 228 239 240 240 240 240 240 240 240 240 207 83 64 155 209 + 240 240 240 240 240 240 240 240 240 240 226 53 186 161 161 175 + 240 240 240 240 240 240 240 240 240 240 180 50 217 232 119 77 + 240 240 240 240 240 240 240 240 240 238 237 120 45 155 51 152 + 238 240 240 240 240 240 240 240 240 237 226 237 150 124 129 227 + 240 240 240 240 240 240 240 240 240 240 223 29 150 237 240 236 + 237 240 240 240 240 240 240 240 240 240 228 72 5 109 108 191 + 240 240 240 240 240 240 240 240 240 240 238 197 142 128 122 207 + 235 240 240 240 240 240 240 240 240 174 147 169 101 92 109 152 + 240 240 240 240 240 240 240 240 240 225 115 113 113 121 98 135 + 234 240 240 240 240 240 240 240 240 216 208 187 184 180 210 219 + 240 240 240 240 240 240 240 240 240 186 75 62 53 58 76 98 + 233 240 240 240 240 240 240 240 240 240 231 213 78 222 240 240 + 240 240 240 240 240 240 240 240 240 240 238 181 47 220 240 240 + 235 240 240 240 240 240 240 240 240 149 107 62 63 84 71 186 + 234 229 227 240 236 234 236 231 229 225 150 150 149 121 149 149 + 240 240 240 240 240 240 240 240 240 240 240 216 85 73 164 212 + 240 240 240 240 240 240 240 240 240 240 226 53 186 170 166 176 + 240 240 240 240 240 240 240 240 240 240 180 50 217 240 120 77 + 240 240 240 240 240 240 240 240 240 240 240 120 52 156 51 152 + 238 240 240 240 240 240 240 240 240 240 237 237 152 125 137 230 + 240 240 240 240 240 240 240 240 240 240 223 29 150 236 240 236 + 236 240 240 240 240 240 240 240 240 240 232 78 5 100 99 192 + 240 240 240 240 240 240 240 240 240 240 240 197 142 128 121 207 + 235 240 240 240 240 240 240 240 240 186 162 168 101 92 109 156 + 240 240 240 240 240 240 240 240 240 225 115 103 106 121 109 150 + 234 240 240 240 240 240 240 240 240 216 206 184 184 184 210 220 + 240 240 240 240 240 240 240 240 240 186 72 51 61 65 76 98 + 233 240 240 240 240 240 240 240 240 240 231 213 74 219 240 240 + 240 240 240 240 240 240 240 240 240 240 240 187 51 219 240 240 + 235 240 240 240 240 240 240 240 240 156 117 74 77 89 71 186 + 235 229 227 240 236 234 236 232 229 225 150 150 144 117 148 140 + 233 239 240 240 240 240 240 240 240 240 240 216 85 72 155 209 + 240 240 240 240 240 240 240 240 240 240 226 53 186 163 153 175 + 240 240 240 240 240 240 240 240 240 240 180 50 217 240 118 77 + 240 240 240 240 240 240 240 240 240 240 240 120 45 155 51 152 + 238 240 240 240 240 240 240 240 240 240 240 240 150 125 137 230 + 240 240 240 240 240 240 240 240 240 240 225 30 151 237 232 235 + 236 240 240 240 240 240 240 240 240 240 236 92 17 107 95 178 + 240 240 240 240 240 240 240 240 240 240 238 200 148 128 121 206 + 235 240 240 240 240 240 240 240 240 180 151 170 110 101 108 154 + 240 240 240 240 240 240 240 240 240 225 115 109 106 109 85 141 + 234 240 240 240 240 240 240 240 240 212 205 184 184 179 201 220 + 240 240 240 240 240 240 240 240 240 182 66 47 50 58 76 98 + 233 240 240 240 240 240 240 240 240 240 228 211 73 219 240 240 + 240 240 240 240 240 240 240 240 240 240 238 186 51 219 240 240 + 235 240 240 240 240 240 240 240 240 156 116 84 83 98 86 189 + 234 229 227 240 234 232 235 232 228 225 150 156 147 127 155 149 + + 209 175 77 152 227 236 191 207 152 135 219 98 240 240 186 149 + 155 161 119 51 129 240 108 122 109 98 210 76 240 240 71 149 + 64 161 232 155 124 237 109 128 92 121 180 58 222 220 84 121 + 83 186 217 45 150 150 5 142 101 113 184 53 78 47 63 149 + 207 53 50 120 237 29 72 197 169 113 187 62 213 181 62 150 + 240 226 180 237 226 223 228 238 147 115 208 75 231 238 107 150 + 240 240 240 238 237 240 240 240 174 225 216 186 240 240 149 225 + 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 229 + 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 231 + 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 236 + 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 234 + 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 236 + 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 + 239 240 240 240 240 240 240 240 240 240 240 240 240 240 240 227 + 228 240 240 240 240 240 240 240 240 240 240 240 240 240 240 229 + 232 240 240 240 238 240 237 240 235 240 234 240 233 240 235 234 + 212 176 77 152 230 236 192 207 156 150 220 98 240 240 186 140 + 164 166 120 51 137 240 99 121 109 109 210 76 240 240 71 148 + 73 170 240 156 125 236 100 128 92 121 184 65 219 219 89 117 + 85 186 217 52 152 150 5 142 101 106 184 61 74 51 77 144 + 216 53 50 120 237 29 78 197 168 103 184 51 213 187 74 150 + 240 226 180 240 237 223 232 240 162 115 206 72 231 240 117 150 + 240 240 240 240 240 240 240 240 186 225 216 186 240 240 156 225 + 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 229 + 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 232 + 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 236 + 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 234 + 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 236 + 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 + 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 227 + 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 229 + 240 240 240 240 238 240 236 240 235 240 234 240 233 240 235 235 + 209 175 77 152 230 235 178 206 154 141 220 98 240 240 189 149 + 155 153 118 51 137 232 95 121 108 85 201 76 240 240 86 155 + 72 163 240 155 125 237 107 128 101 109 179 58 219 219 98 127 + 85 186 217 45 150 151 17 148 110 106 184 50 73 51 83 147 + 216 53 50 120 240 30 92 200 170 109 184 47 211 186 84 156 + 240 226 180 240 240 225 236 238 151 115 205 66 228 238 116 150 + 240 240 240 240 240 240 240 240 180 225 212 182 240 240 156 225 + 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 228 + 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 232 + 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 235 + 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 232 + 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 234 + 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 + 240 240 240 240 240 240 240 240 240 240 240 240 240 240 240 227 + 239 240 240 240 240 240 240 240 240 240 240 240 240 240 240 229 + 233 240 240 240 238 240 236 240 235 240 234 240 233 240 235 234 + + 149 149 121 149 150 150 225 229 231 236 234 236 240 227 229 234 + 186 71 84 63 62 107 149 240 240 240 240 240 240 240 240 235 + 240 240 220 47 181 238 240 240 240 240 240 240 240 240 240 240 + 240 240 222 78 213 231 240 240 240 240 240 240 240 240 240 233 + 98 76 58 53 62 75 186 240 240 240 240 240 240 240 240 240 + 219 210 180 184 187 208 216 240 240 240 240 240 240 240 240 234 + 135 98 121 113 113 115 225 240 240 240 240 240 240 240 240 240 + 152 109 92 101 169 147 174 240 240 240 240 240 240 240 240 235 + 207 122 128 142 197 238 240 240 240 240 240 240 240 240 240 240 + 191 108 109 5 72 228 240 240 240 240 240 240 240 240 240 237 + 236 240 237 150 29 223 240 240 240 240 240 240 240 240 240 240 + 227 129 124 150 237 226 237 240 240 240 240 240 240 240 240 238 + 152 51 155 45 120 237 238 240 240 240 240 240 240 240 240 240 + 77 119 232 217 50 180 240 240 240 240 240 240 240 240 240 240 + 175 161 161 186 53 226 240 240 240 240 240 240 240 240 240 240 + 209 155 64 83 207 240 240 240 240 240 240 240 240 239 228 232 + 140 148 117 144 150 150 225 229 232 236 234 236 240 227 229 235 + 186 71 89 77 74 117 156 240 240 240 240 240 240 240 240 235 + 240 240 219 51 187 240 240 240 240 240 240 240 240 240 240 240 + 240 240 219 74 213 231 240 240 240 240 240 240 240 240 240 233 + 98 76 65 61 51 72 186 240 240 240 240 240 240 240 240 240 + 220 210 184 184 184 206 216 240 240 240 240 240 240 240 240 234 + 150 109 121 106 103 115 225 240 240 240 240 240 240 240 240 240 + 156 109 92 101 168 162 186 240 240 240 240 240 240 240 240 235 + 207 121 128 142 197 240 240 240 240 240 240 240 240 240 240 240 + 192 99 100 5 78 232 240 240 240 240 240 240 240 240 240 236 + 236 240 236 150 29 223 240 240 240 240 240 240 240 240 240 240 + 230 137 125 152 237 237 240 240 240 240 240 240 240 240 240 238 + 152 51 156 52 120 240 240 240 240 240 240 240 240 240 240 240 + 77 120 240 217 50 180 240 240 240 240 240 240 240 240 240 240 + 176 166 170 186 53 226 240 240 240 240 240 240 240 240 240 240 + 212 164 73 85 216 240 240 240 240 240 240 240 240 240 240 240 + 149 155 127 147 156 150 225 228 232 235 232 234 240 227 229 234 + 189 86 98 83 84 116 156 240 240 240 240 240 240 240 240 235 + 240 240 219 51 186 238 240 240 240 240 240 240 240 240 240 240 + 240 240 219 73 211 228 240 240 240 240 240 240 240 240 240 233 + 98 76 58 50 47 66 182 240 240 240 240 240 240 240 240 240 + 220 201 179 184 184 205 212 240 240 240 240 240 240 240 240 234 + 141 85 109 106 109 115 225 240 240 240 240 240 240 240 240 240 + 154 108 101 110 170 151 180 240 240 240 240 240 240 240 240 235 + 206 121 128 148 200 238 240 240 240 240 240 240 240 240 240 240 + 178 95 107 17 92 236 240 240 240 240 240 240 240 240 240 236 + 235 232 237 151 30 225 240 240 240 240 240 240 240 240 240 240 + 230 137 125 150 240 240 240 240 240 240 240 240 240 240 240 238 + 152 51 155 45 120 240 240 240 240 240 240 240 240 240 240 240 + 77 118 240 217 50 180 240 240 240 240 240 240 240 240 240 240 + 175 153 163 186 53 226 240 240 240 240 240 240 240 240 240 240 + 209 155 72 85 216 240 240 240 240 240 240 240 240 240 239 233 + diff --git a/jsartoolkit5/examples/Data/patt.kanji b/jsartoolkit5/examples/Data/patt.kanji new file mode 100755 index 0000000..87d32bb --- /dev/null +++ b/jsartoolkit5/examples/Data/patt.kanji @@ -0,0 +1,196 @@ + 214 225 240 225 214 240 216 204 214 227 181 192 198 192 181 192 + 240 240 240 240 240 240 225 232 240 240 240 240 240 240 240 236 + 240 240 240 240 240 240 75 128 220 240 240 240 240 240 240 240 + 240 240 240 240 240 240 106 53 240 240 240 240 240 240 240 237 + 240 240 240 240 240 238 118 31 240 240 240 240 240 240 240 234 + 240 240 240 240 240 240 74 49 207 240 240 240 240 240 240 240 + 240 240 240 240 240 240 53 54 177 240 240 240 240 240 240 240 + 240 240 240 240 240 240 64 31 130 240 240 240 240 240 240 219 + 240 240 240 240 240 180 37 57 78 228 240 240 240 240 240 240 + 240 240 240 240 240 118 62 157 36 185 240 240 240 240 240 231 + 240 240 240 240 240 82 65 225 67 80 230 240 240 240 240 217 + 240 240 240 225 53 76 225 240 156 62 158 240 240 240 240 226 + 240 240 199 61 9 111 235 240 240 104 58 174 228 240 240 240 + 240 142 64 26 92 227 240 240 240 229 93 64 170 226 238 216 + 90 26 12 156 240 240 240 240 240 240 204 95 30 117 192 200 + 156 16 195 233 235 240 236 240 238 239 240 186 93 53 120 237 + 214 226 240 225 212 240 216 204 212 226 181 192 198 192 185 194 + 240 240 240 240 240 240 227 232 240 240 240 240 240 240 240 238 + 240 240 240 240 240 240 95 138 225 240 240 240 240 240 240 240 + 240 240 240 240 240 240 108 59 240 240 240 240 240 240 240 237 + 240 240 240 240 240 238 118 31 240 240 240 240 240 240 240 234 + 240 240 240 240 240 240 83 47 207 240 240 240 240 240 240 240 + 240 240 240 240 240 240 56 49 177 240 240 240 240 240 240 240 + 240 240 240 240 240 240 73 41 130 240 240 240 240 240 240 222 + 240 240 240 240 240 185 46 49 86 230 240 240 240 240 240 240 + 240 240 240 240 240 118 58 165 45 192 240 240 240 240 240 234 + 240 240 240 240 240 91 63 222 74 82 240 240 240 240 240 222 + 240 240 240 226 66 86 225 240 158 63 162 240 240 240 240 228 + 240 240 202 76 11 103 235 240 234 91 49 174 228 240 240 240 + 240 142 68 16 91 226 240 240 240 228 96 74 178 233 239 222 + 90 26 4 150 240 240 240 240 240 240 213 109 46 133 204 213 + 156 14 195 234 236 240 237 240 239 240 240 192 106 57 125 238 + 214 226 240 225 212 240 216 204 214 227 181 192 198 192 184 192 + 240 240 240 240 240 240 226 232 240 240 240 240 240 240 240 236 + 240 240 240 240 240 240 85 134 220 240 240 240 240 240 240 240 + 240 240 240 240 240 240 107 58 240 240 240 240 240 240 240 237 + 240 240 240 240 240 238 118 32 240 240 240 240 240 240 240 234 + 240 240 240 240 240 240 87 60 210 240 240 240 240 240 240 240 + 240 240 240 240 240 240 58 58 178 240 240 240 240 240 240 240 + 240 240 240 240 240 240 73 31 130 240 240 240 240 240 240 219 + 240 240 240 240 240 185 46 59 86 228 240 240 240 240 240 240 + 240 240 240 240 240 118 62 168 41 186 240 240 240 240 240 231 + 240 240 240 240 240 90 65 225 60 92 235 240 240 240 240 219 + 240 240 240 225 53 82 225 240 146 63 163 240 240 240 240 228 + 240 240 198 61 5 103 235 240 234 102 58 175 232 240 240 240 + 240 134 54 13 91 226 240 240 240 229 96 68 188 238 239 222 + 90 15 3 150 240 240 240 240 240 240 213 105 48 134 204 213 + 156 14 195 233 236 240 237 240 239 239 240 192 106 57 125 238 + + 192 236 240 237 234 240 240 219 240 231 217 226 240 216 200 237 + 181 240 240 240 240 240 240 240 240 240 240 240 240 238 192 120 + 192 240 240 240 240 240 240 240 240 240 240 240 240 226 117 53 + 198 240 240 240 240 240 240 240 240 240 240 240 228 170 30 93 + 192 240 240 240 240 240 240 240 240 240 240 240 174 64 95 186 + 181 240 240 240 240 240 240 240 240 240 230 158 58 93 204 240 + 227 240 240 240 240 240 240 240 228 185 80 62 104 229 240 239 + 214 240 220 240 240 207 177 130 78 36 67 156 240 240 240 238 + 204 232 128 53 31 49 54 31 57 157 225 240 240 240 240 240 + 216 225 75 106 118 74 53 64 37 62 65 225 235 240 240 236 + 240 240 240 240 238 240 240 240 180 118 82 76 111 227 240 240 + 214 240 240 240 240 240 240 240 240 240 240 53 9 92 240 235 + 225 240 240 240 240 240 240 240 240 240 240 225 61 26 156 233 + 240 240 240 240 240 240 240 240 240 240 240 240 199 64 12 195 + 225 240 240 240 240 240 240 240 240 240 240 240 240 142 26 16 + 214 240 240 240 240 240 240 240 240 240 240 240 240 240 90 156 + 194 238 240 237 234 240 240 222 240 234 222 228 240 222 213 238 + 185 240 240 240 240 240 240 240 240 240 240 240 240 239 204 125 + 192 240 240 240 240 240 240 240 240 240 240 240 240 233 133 57 + 198 240 240 240 240 240 240 240 240 240 240 240 228 178 46 106 + 192 240 240 240 240 240 240 240 240 240 240 240 174 74 109 192 + 181 240 240 240 240 240 240 240 240 240 240 162 49 96 213 240 + 226 240 240 240 240 240 240 240 230 192 82 63 91 228 240 240 + 212 240 225 240 240 207 177 130 86 45 74 158 234 240 240 239 + 204 232 138 59 31 47 49 41 49 165 222 240 240 240 240 240 + 216 227 95 108 118 83 56 73 46 58 63 225 235 240 240 237 + 240 240 240 240 238 240 240 240 185 118 91 86 103 226 240 240 + 212 240 240 240 240 240 240 240 240 240 240 66 11 91 240 236 + 225 240 240 240 240 240 240 240 240 240 240 226 76 16 150 234 + 240 240 240 240 240 240 240 240 240 240 240 240 202 68 4 195 + 226 240 240 240 240 240 240 240 240 240 240 240 240 142 26 14 + 214 240 240 240 240 240 240 240 240 240 240 240 240 240 90 156 + 192 236 240 237 234 240 240 219 240 231 219 228 240 222 213 238 + 184 240 240 240 240 240 240 240 240 240 240 240 240 239 204 125 + 192 240 240 240 240 240 240 240 240 240 240 240 240 238 134 57 + 198 240 240 240 240 240 240 240 240 240 240 240 232 188 48 106 + 192 240 240 240 240 240 240 240 240 240 240 240 175 68 105 192 + 181 240 240 240 240 240 240 240 240 240 235 163 58 96 213 240 + 227 240 240 240 240 240 240 240 228 186 92 63 102 229 240 239 + 214 240 220 240 240 210 178 130 86 41 60 146 234 240 240 239 + 204 232 134 58 32 60 58 31 59 168 225 240 240 240 240 240 + 216 226 85 107 118 87 58 73 46 62 65 225 235 240 240 237 + 240 240 240 240 238 240 240 240 185 118 90 82 103 226 240 240 + 212 240 240 240 240 240 240 240 240 240 240 53 5 91 240 236 + 225 240 240 240 240 240 240 240 240 240 240 225 61 13 150 233 + 240 240 240 240 240 240 240 240 240 240 240 240 198 54 3 195 + 226 240 240 240 240 240 240 240 240 240 240 240 240 134 15 14 + 214 240 240 240 240 240 240 240 240 240 240 240 240 240 90 156 + + 237 120 53 93 186 240 239 238 240 236 240 235 233 195 16 156 + 200 192 117 30 95 204 240 240 240 240 240 240 156 12 26 90 + 216 238 226 170 64 93 229 240 240 240 227 92 26 64 142 240 + 240 240 240 228 174 58 104 240 240 235 111 9 61 199 240 240 + 226 240 240 240 240 158 62 156 240 225 76 53 225 240 240 240 + 217 240 240 240 240 230 80 67 225 65 82 240 240 240 240 240 + 231 240 240 240 240 240 185 36 157 62 118 240 240 240 240 240 + 240 240 240 240 240 240 228 78 57 37 180 240 240 240 240 240 + 219 240 240 240 240 240 240 130 31 64 240 240 240 240 240 240 + 240 240 240 240 240 240 240 177 54 53 240 240 240 240 240 240 + 240 240 240 240 240 240 240 207 49 74 240 240 240 240 240 240 + 234 240 240 240 240 240 240 240 31 118 238 240 240 240 240 240 + 237 240 240 240 240 240 240 240 53 106 240 240 240 240 240 240 + 240 240 240 240 240 240 240 220 128 75 240 240 240 240 240 240 + 236 240 240 240 240 240 240 240 232 225 240 240 240 240 240 240 + 192 181 192 198 192 181 227 214 204 216 240 214 225 240 225 214 + 238 125 57 106 192 240 240 239 240 237 240 236 234 195 14 156 + 213 204 133 46 109 213 240 240 240 240 240 240 150 4 26 90 + 222 239 233 178 74 96 228 240 240 240 226 91 16 68 142 240 + 240 240 240 228 174 49 91 234 240 235 103 11 76 202 240 240 + 228 240 240 240 240 162 63 158 240 225 86 66 226 240 240 240 + 222 240 240 240 240 240 82 74 222 63 91 240 240 240 240 240 + 234 240 240 240 240 240 192 45 165 58 118 240 240 240 240 240 + 240 240 240 240 240 240 230 86 49 46 185 240 240 240 240 240 + 222 240 240 240 240 240 240 130 41 73 240 240 240 240 240 240 + 240 240 240 240 240 240 240 177 49 56 240 240 240 240 240 240 + 240 240 240 240 240 240 240 207 47 83 240 240 240 240 240 240 + 234 240 240 240 240 240 240 240 31 118 238 240 240 240 240 240 + 237 240 240 240 240 240 240 240 59 108 240 240 240 240 240 240 + 240 240 240 240 240 240 240 225 138 95 240 240 240 240 240 240 + 238 240 240 240 240 240 240 240 232 227 240 240 240 240 240 240 + 194 185 192 198 192 181 226 212 204 216 240 212 225 240 226 214 + 238 125 57 106 192 240 239 239 240 237 240 236 233 195 14 156 + 213 204 134 48 105 213 240 240 240 240 240 240 150 3 15 90 + 222 239 238 188 68 96 229 240 240 240 226 91 13 54 134 240 + 240 240 240 232 175 58 102 234 240 235 103 5 61 198 240 240 + 228 240 240 240 240 163 63 146 240 225 82 53 225 240 240 240 + 219 240 240 240 240 235 92 60 225 65 90 240 240 240 240 240 + 231 240 240 240 240 240 186 41 168 62 118 240 240 240 240 240 + 240 240 240 240 240 240 228 86 59 46 185 240 240 240 240 240 + 219 240 240 240 240 240 240 130 31 73 240 240 240 240 240 240 + 240 240 240 240 240 240 240 178 58 58 240 240 240 240 240 240 + 240 240 240 240 240 240 240 210 60 87 240 240 240 240 240 240 + 234 240 240 240 240 240 240 240 32 118 238 240 240 240 240 240 + 237 240 240 240 240 240 240 240 58 107 240 240 240 240 240 240 + 240 240 240 240 240 240 240 220 134 85 240 240 240 240 240 240 + 236 240 240 240 240 240 240 240 232 226 240 240 240 240 240 240 + 192 184 192 198 192 181 227 214 204 216 240 212 225 240 226 214 + + 156 90 240 240 240 240 240 240 240 240 240 240 240 240 240 214 + 16 26 142 240 240 240 240 240 240 240 240 240 240 240 240 225 + 195 12 64 199 240 240 240 240 240 240 240 240 240 240 240 240 + 233 156 26 61 225 240 240 240 240 240 240 240 240 240 240 225 + 235 240 92 9 53 240 240 240 240 240 240 240 240 240 240 214 + 240 240 227 111 76 82 118 180 240 240 240 238 240 240 240 240 + 236 240 240 235 225 65 62 37 64 53 74 118 106 75 225 216 + 240 240 240 240 240 225 157 57 31 54 49 31 53 128 232 204 + 238 240 240 240 156 67 36 78 130 177 207 240 240 220 240 214 + 239 240 229 104 62 80 185 228 240 240 240 240 240 240 240 227 + 240 204 93 58 158 230 240 240 240 240 240 240 240 240 240 181 + 186 95 64 174 240 240 240 240 240 240 240 240 240 240 240 192 + 93 30 170 228 240 240 240 240 240 240 240 240 240 240 240 198 + 53 117 226 240 240 240 240 240 240 240 240 240 240 240 240 192 + 120 192 238 240 240 240 240 240 240 240 240 240 240 240 240 181 + 237 200 216 240 226 217 231 240 219 240 240 234 237 240 236 192 + 156 90 240 240 240 240 240 240 240 240 240 240 240 240 240 214 + 14 26 142 240 240 240 240 240 240 240 240 240 240 240 240 226 + 195 4 68 202 240 240 240 240 240 240 240 240 240 240 240 240 + 234 150 16 76 226 240 240 240 240 240 240 240 240 240 240 225 + 236 240 91 11 66 240 240 240 240 240 240 240 240 240 240 212 + 240 240 226 103 86 91 118 185 240 240 240 238 240 240 240 240 + 237 240 240 235 225 63 58 46 73 56 83 118 108 95 227 216 + 240 240 240 240 240 222 165 49 41 49 47 31 59 138 232 204 + 239 240 240 234 158 74 45 86 130 177 207 240 240 225 240 212 + 240 240 228 91 63 82 192 230 240 240 240 240 240 240 240 226 + 240 213 96 49 162 240 240 240 240 240 240 240 240 240 240 181 + 192 109 74 174 240 240 240 240 240 240 240 240 240 240 240 192 + 106 46 178 228 240 240 240 240 240 240 240 240 240 240 240 198 + 57 133 233 240 240 240 240 240 240 240 240 240 240 240 240 192 + 125 204 239 240 240 240 240 240 240 240 240 240 240 240 240 185 + 238 213 222 240 228 222 234 240 222 240 240 234 237 240 238 194 + 156 90 240 240 240 240 240 240 240 240 240 240 240 240 240 214 + 14 15 134 240 240 240 240 240 240 240 240 240 240 240 240 226 + 195 3 54 198 240 240 240 240 240 240 240 240 240 240 240 240 + 233 150 13 61 225 240 240 240 240 240 240 240 240 240 240 225 + 236 240 91 5 53 240 240 240 240 240 240 240 240 240 240 212 + 240 240 226 103 82 90 118 185 240 240 240 238 240 240 240 240 + 237 240 240 235 225 65 62 46 73 58 87 118 107 85 226 216 + 240 240 240 240 240 225 168 59 31 58 60 32 58 134 232 204 + 239 240 240 234 146 60 41 86 130 178 210 240 240 220 240 214 + 239 240 229 102 63 92 186 228 240 240 240 240 240 240 240 227 + 240 213 96 58 163 235 240 240 240 240 240 240 240 240 240 181 + 192 105 68 175 240 240 240 240 240 240 240 240 240 240 240 192 + 106 48 188 232 240 240 240 240 240 240 240 240 240 240 240 198 + 57 134 238 240 240 240 240 240 240 240 240 240 240 240 240 192 + 125 204 239 240 240 240 240 240 240 240 240 240 240 240 240 184 + 238 213 222 240 228 219 231 240 219 240 240 234 237 240 236 192 + diff --git a/jsartoolkit5/examples/Data/video.mp4 b/jsartoolkit5/examples/Data/video.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..ce28718078050cd08220a161c559f761ec1a29c9 GIT binary patch literal 2914614 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

      I-LxIm!8{EFHGKShZQ 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 z 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%0Ac*`oo6vH5Xf(l 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

      x8Gk6ch%K$O@kF!-4>DyX z9DehQWVVDhuLqm*dS@y`=Ih%Z_!_d9m&P>*`lZxK#x92=4rK@8hiIE-4Xf(%`r?xFy8I_Gt_Q6U(| zM7XOawh?nw=Q&9W1rTmH5M!gpO(aqAG@BO+hH&Piet#0yXUw$nwRJT;(6C zPhPg_WvS&C{tsjCz$;p`L~Cx_wr$(CZQHhO+qP|6XWO=Qw$Z1PPWq<%Chz`&m6?^y z8a1lsH&U8+tJETghku$id~Z!cCLY+heZO57NUulsMY2ozx)zEHMnt9JLksy1%Xmz!4VwC5n2&{qkTiLNkAQ8zzRFu_UNK=#l+Oavm7Opv@8A3SUJc+rJ+ zRK8eR?W%x90Cg!xE=xc&nt@Xx%~LAe0z&Uag{AL(84i^^5U8#sxc#XwJUnFt;ez{k zJps29y<=kSgSz*gX4M6-tZjb5Wo%^qm-O4_cLjItX5bWU`Vudn@Cz>BNWTt7xqKr|*lf*+E$H2@fJu=FNRBu{ki$~YwG{d3EkW_7VmfP$K^4?o< z$04`&3rEN~`Ve?dQ~xfgv7$~+r5KA2Dq2=gnSs7K;i8)8d9CUt3g`Tr^-eMp`I!2Z z+xsu3`$1AcXQJI-%dTr1u+bUK9v7nrnnG0|l^GKYP!}x8XqI zG9@n6|`|B7QQrcPkb zMBMh+An2j52V=XcOup@ztc!?jF%LfNP2XW%Lo$0Mwfh?x#T+0rRer@}=@lnQblDT| z0}eZN4HXCj7MH^O7KN~oYb2~u;N@c`h!K!uvA*#U4J>K|cnYyQ-)0<_2#uyQCf9F6 z-FDRU_iluAohJr8_p45AnDG6y`3+p*=8KYA?zT2hxSZ_6QTeynH*jljb z885R}S1#w6R@~jGTCjrq=H08)5!v2B`SKpUI>II2Pk6!^jzO!sDLc?IjZLv2Q%gM_ zA7#~i6Co%%sIG!k=QrzhXXaRklvaTe-tj8itqv5=vR~>GOo$Xd$;{P9Q~f9IIJm|h zj|g$%FF2W~8{5BhUgqT$aeDTjo-u|9(nT7Jl-AL zYf5mTft$5>rrM-od2YKSI5y?rqYB8q)?**%-H*MQyhv+FDVb}JsGmck zYWNdMUQj~oAzBTH^O5aHDlGxR!pbsLI4G8Apde$|M)zmHwWB^!SPaX6kj+MLtlH~+ zNEK^*wa#%5LNnZ#@rt98eeFeJkKN zQSm5-C)$~~zKReNX14JfLh`A}Ac}0tJlHqogJanF|LNbB0l&*f?bx)bnDtPN2k>JIbZAW>oUjWg+59D%MGb}i7ZHO(pyI+d*`8tgyzx(d4s+bsnFQXO zac(11oJ0=Xe!cP>X7+wj!EV zG0do}m%ZJA5ynQSA)FbK%nEc#*sU<>?q}C}hDF@T@U6E?PA&AoR zk8-&`6J86p(P(L16JQ4PO(p0C__2S4e^H)y|K2zm-`D)C79~M3M}JBb|BkVvNiOXV zq`9~Ec!}#hlXcH1<(rJSkqx?S#Jx$)TTr1N=tfGTiw{7E49teOrsck}HUPYTQmkZQ z!GB!3|7}1A_9&PI5BmSv=gsY92cC7nvXz==yiR4o5l)nKWiaYq)X0T>d5&pe!BQCH z-E7j=yaS<8#x9RU*`cq5M zW6{xOBfvHmtlg*Hv3YrdJ#y$|-|(0{0j+cSo3$x<^JTqa=Qwp1^VqwK#dx!WUSGMn zZrAI>_*{&1=oi*T`%2R%S#v>O()WCv17Atr;|+;5qb0a-t()Y<4d79*+^d88OaUfrCW#7~Fa7*uxy)D;Jig7W8D=?PRN z0UP$+)aNDmTwpHxFn=ypLk678i%s>LDg7uqqy)Jx3k1zzg4*o_=7Q-`u#<_*vLV#4 zs|PU!iiVJM9`E$}z@OUSO9ySTC?i`FgqIqy+lBPbM$&B70<-?XdC>%#ih{uOU58SA`emcxms<*d^N~TBnrWGFi1hl(3?FSg z`omrCL5Sq(+K$BJK6c~*QZ#cy8Sd0_jb}&b(#QS=MdM|JX@*!Fr+$;In^~#>V)pYw zhgPr_>O2vY+Y5I;ZiW{Q!(zPeSnEu&N`C_H!K%$w0kKFLMU9@Lo^BAqpu-59eOv`R z505ZUO_v-BXoGm*t<}W-Jz0@K)7gS8E}#&1w~WnZd}b}{gCkR($IZ22G?Yyd8 zN}yVy$`g_Lw$ZA5;uV`Zp$eCJyHjx@l5cAYZ@8F< z6#YgY?sK|+hAy4DE8`b5emES}kkeVem<^i+@Bszq5uyv7tz}|0rMI3q3r-;+07YDM zPQ$BnH>GUWylKv$q>-8bFu6=Uda|2@z|*VvV2DhZI|i_S>kt9aw-|lqiccGg5*8ft zGWXCo3QcPhS0q`|yC{``bBk=xN98cDfa zFhKt>D6U-!AMd7*V!on&4|&2U;@H>UttX6$YP`v`BO-vOFJO zqFJ()AWeoW(PvaKatE=A@*!=_JT`tthMbX6MoPW{CxCBqrK|XPEQoMH1ZfDw{7Z$# z$zSlEa`^=nx+-m3)!qM&0Z$s@Lxrk*!#h16x_pyiSDWfZGq%GOYnLV9I^Rz>hhFJ- ziFIZ~7-xXYh+(?_RG#g{^&?f_Re*6gYiWH=n3U})OGdl~c;c>10#lpt+}4cSrvMjx z0Ak#NlO~3Z(uo5ALNFt?myqaoIvB6bY-VY5ANi$<-PXr2+hE=2_jqAbe|KQv*INz2 zO@W=gXoq+PlYXDH8U<&QcBh@({Y`O=Ge03dH$$F-maoI+Y#XIXkOUwFCnRn8lftni zg(^}m<7jn#_MS+k|I`v0)2xz_M+6R~v-v5#i;z_ann<+AWJQ`(!9D!*!98v+la_Vj zz^m$xHCCb{1;!HR*it~~;dLN2XGYd=1!q2+m<jI{>lQ5&sr)Nokf9$aF&+4H}=K z;~lARfGc$NfMJy(E>5jY?*;#hx(^EM>LV1fTUCN1d@+&N!~yBA_8QS#kY=+(*c8E3 zeZN;rK`{_QL?YlmG3C-xhmPH_XW}~nn{P%s<|}ag(n=y(R4yyCpCM%P`sweAckbR@|GGJCH4$f`L6$di~Vj$F0{lMOXCNgOseGY6lo3HO)XiX@G*z?+Sf~ zQC^PDi7f%A7a|@ z%(jEf0E4-g)mMp}9I|4N`a3g#&Pc!mfeusv9Q$i@{+E0NtEGRCkEEfnd}Y2~I;~@a zM2kXt_1ZmxJfn03$#aH|^HEp7qjPqeY{xc)n0&jVU)c?%e*UbIzXTYn&zWtBHRT>I zb1C3IRK|a^y#SN}^N^PPrKd=15M;m^x^n&guBlu@DN zB1tr-v{W!MpZYa7gX^Z%ZD{_oI3wJz=zH@NSbS<&K{=#|^ANQH0D}KdzY#$1-xNgShUk%Ea z(hKfx@tFHjy79c=sexWsNIoEWg{>Q-3fw)%3(f)qw;M1vpGr9dRlW`jzecfumg6OunckZ6lXO%>=FR4b-E>mo-x|ItpbvAT zE?s~j^Ix+Kdi}-BPT)^P0puagfcttRGBf%5X}Q^ArDG7zZ>O4^4F1&l5e3PENrIs< zvd$x67mXkcGNrU|y)N+g-ldvNxk@(^*Of18Zp#3Za*174`7KRLUvxX6Cu3U<2;_{r zNobrv>$>82PN+vrl4~!(&W_n=X5x&0Txb$+Rs{P+VVdG#2r#Xe?Qb7P4z<4hp|>RP ztQCu#4lEE5eSuFSk2i}i!v2}iyxSw9GKE&-d9Q9k|4e5fa*b6~47FrLbp!Cd4iSgQ z0>Vp0OJNr8c$C9QT&XbWq;*iSBUf+HBEzufHi;FTqUC6Jtpb>w;2Wz0@%Y%s_m$_? zZF@)clHWk3=q^y1KtZT^;E6(cvl3~b%8iC=lbB1OzG;<>-V%IEIAH+!aP-XdH&Zhg zW^$dy2e0H05Wqg=nU3`SA*+6W9z!GQEtmED2oYhxS98PD`kga~i5OG#!1LJ@5)&&WY{PxVNlZePkzS_wDO8hFZOsVze+MYP1GX z0ecIZ*fPhvLB-P3DR$+L+eNDHw+N%(AJf;Q5rfn&5OWrG;CYSX7oMwBStF&6Pq&(c zBJCOVoz;5uvQ(Z`ubzG)+61_4F?9NI8s}q8`u2mOjHb zkF@hcQP~P)47-Lxgx{mdr5N>CL?Z5bU#?~E+%i-3u-AgS9r&r$q>2~|9^T)IZw6wpGCiAEu9 z?qgfQ*$o$Wr=VOG>VV!D%G@4rIT~1`+QwP_tb4_N)I5l54Tt*&8Xy!lPD7`LPfXk@ zb(Mwqc4Z5-%OAe#&MpT&T`fk&s=K-Co(wVgx9t&46&1xgxAVc4D8|@i0Jft)RDc33 zclvTa6ZKlxYJ2`7AWg(=^uw#Gkf$t72coary|y?smp_)2p#e9!@pG6f7hD_$`)~sVYStUs|0|iy;0vVc{b$!7$5&J?S%@C8#wxL+r?AsD|niW zch}-(_(SEU#@dSs7`}0Sh@Om4HzTY=Czj$?{|iAau}Lt2&o!(j0C|r=n}^m>e&BZ~`@FY4IhCN@s|MRtgze=UgM)Flrq zFJ*Mq?~Yd%L}FQg`&PcJ^`RD5`1buLz_ROE>iQY*F#g(ZSNFXzKCAYqk36pC%JZ0e zfhix_a3NZItsxP`@4Emd&*`!20;cXVLS2Z*CY3p)12t)tz^r zH4sg4fy;lW^(k+x1I3*xoFc`_e&!e?VX2tOqvk6E&6iW{PQz>dmm?TzQI((rUBR;g zFYZ$dRg;#*4J~QEr9m96z0QaZS%27{Jg?+|V!~y7Xh()t(fQDOD;o=Kv53p(ubo4e zJyKis(rU(tNTDJn!^@urSM?Sl^?0Zfbosqw`QF8iuSteA7?q<-*EPU#KT?d~M4=auW2077&#cooYuMCjh0;qub8RKtHAe1u zWH1TU#+o;V)^v;AHF^n_7ZcCwJj581^42=N2W3b$P%1mOO^Y3SuGD-)F=X1kg>>8~ z!62>3^lCUB98 z^PBZsorLxfcc3>_UNHao9J1KNN7z)B5MS3>g9wX}oLRXjSgU&{&{1+VO8X^BzM^zb zQ^x~;z;#Wu-)K(Ob=kv|+~TKhik=6lP5!NgmX^y!NiBfMN?GglT%zf@@aq?ADuOu1 zm|x~M0sXjs#<*!z%;pJ%qgcCt)?tVIRj8hrCIpI2>MqyLbcbjfdI2kNB5E z;8OENcOTp6^9q{c$kX$+VACVUU-YtP#Dfk0GY2k{#f#!Y=Fqw}cjgJ_SIxCs`ELgE z594$X#v3D~I-(UyY;WJJCi3XBGGVc^iAa@GYK?9i@kY>wtPJPscCqS+j_l*~TshW3 zlwEI7AT_8A7&@n&kG_J+cbG%iPly_R(rUEct5V`3(9ST&3;ZJ~rA^sNQpc4yE~v&f z6-H|pulGTSi(plOYnGYL>^DnYaj0}| z{kjJljuX)V(2~we=BZ&phh&)#@m_Z)?vCN*NF)ee_HH@uk&ZMH)T;n;pMe z?Izmccql};!n$F%Ml@W4iMYT*LM9A(#>Mqv;qyr8@w`IY!i$ULeDOjt*|Wb}c7h7b zFMn1NIJQD;;nW649FxDWc5TI(h$dkkD(XE%xGyv1G*cs6-V$e3SwZBz;aVH4rb9eE zrO9(Hieg%Yl2uNTRTP8{b_KC(YJB2G=y{jhAS;_;5$D_6<~t8H+BL$8r=3wtNZ_PV z#*+Syw!u*^t;Pa`A;t>h4fs>&PU%?@p49jimtEU_Lj8gBW3mnQ-0G@!w0?H#yATvO%7$zO?uigy|ZVyX%{8Tk^ROCRrw)d~#^&D`ygW8D!_`6@4whgPFn3hbL z8-r>^A|fIj*C^cjtdx~8LrgeXrGhYY%7nbb1o;syFZ#0fQ_@4aBgr7GDX>_9-SJ^q zQ~I1LC(GISpmOdXr|?I)VsA3a(9axjMyuyrN*1k2NV&w5=$fQ5OqGO-$?>PPi(E2T zKB?#V5tftg)iVl~;I*24W)Ns>mH_yj>tkB9Ql8UlDZ0>;V+I_QBfy~D>v5an(v!i) z?!mQ^lt=A$Eg@$uBHS69N$8=|$rOq#zO?f~bPfjuJu5ub1nPd4cIzwELWb#WHXt}( zGe*Gwt;itj_XF?-TqM+(uDvkSZs01(;d53_u$s&o5`L%;bP&!Yw;`Nk&`+esEbHIy z?kK*znVE1)qAHKfj}pNxk4t5hz2wC}(@HmWK=RlIzz?+yuc415eD6ri;C4B=WgXN^ z$7QSiDx(dH`PVerL}xv%{Na;0<@0fmWcLZTtrMGtY53_!=w?%U^9zlsEAf9MKm z!p{}+iKT={iDCb@l;fkgoM{bA{wy9LNxq+K!od{`P2=ZJDC8CRP93`vsGNl@(8S3S z0H^{bxc53Iv(EwxGfv85RZ1BAfp=1g=2p^FoW+a8j-fi9TwBoXuJ?>85@IpnFMRYo zpecA*V{_uCRn7)_(c_J}baW;}zVMPs@~pdn>Eofw3Gjh<5oQ%=*U~5lt`~$kzr%7$ z$ge2Ugvx;m+iX3JiJPTBTBN4R;5r&(4V)!Xp+3{~-V^q!OZE0U_#>7;D_V?Pl=i2- zPmI&^+sn=Jlc`6nIw`}Z6ad`R#W=Y$)zSHR>~q7_L_cJNhfkS};T!Oo z`*U{j()A;n)K2GL93211KL4A?q<6)Pu3H&3HrLAjHtInaC|GWs`MgtlCKAT$%$M{r ziWu8ttN!%Fzs&DaZdK(Q_>T{l*8A)vf1|e828NGZ64%B^lA4#N=!ZBp*9XiC*6q*)MZZ+{0`Q$*^Zssff+SOy=P@n-bbKXOa zv1?yA<*=r#{w|*M3oQ6cyQrpA%cceDrQ)4)veX7!K{{*$YH{Ri-ii3Q7e!qY?VVvv zCRZlAv}ntsMh8|E#uhv6OpDYA(TxLahes1un_R&42pUZGb;g%cHo<%TLfN^xVv2>DipveAq{p0G~Y~^d(Y#NxF#Tm)9Ps9YXOw&thuS#dA zZxes4B88Wt*sBC7VW0nv$*L;^&Lcaw!;>la7{yY;)GGkR5!WvSf>->QuFDd0?2<#6 zR%u!19%~1>X(5s4?;JHdsa4TGlt@={Z)iu>LGX~RqFldgA(_WZl^t@yA8nmHs-M7u zEk77nwqNNf(*AOT$eL%ANL&oSE3zG|F;mvxKv=G6Lp{Lst?lzV14fF5!Ptx6JBr49 z-GGhms_V@exIq0_hrqrQafp0cb6YETW1H7(IbqAC2& z^u?l!!a2|Jdi%j=Gw;8_`T*-hb~$!YScz`@e#YOp>7T9eQ6<;yS;u~YquZ-^)E{h^e-0z);~juIM2 z=$~dYfUAbz2O|UPi_T&t`XT~2?Q;XMa;9j5&t|I^T{_Z)(zW8V+5F9^F;fslLmgQi zv*dF1uQUq`?YjoINiF!GBn+r>#J|ee{i2_0mP4uk1ytV5N}+Ezl!>Q>#}4=l9=kWs z?aS^MpmJkBC^Sy*z=W9WEa-gnhMDPvk){k-+|7~InBUhSdX%vfQq=z@;^Q=DHAS{8 z-KT3PfXJ2^OhKYZ8w%d}FsF(RKKo|S1VsTMuVMJo{`c?wbu88kQRur#0I=8p)GGkV z{;LuH7*9I=zhJsRa0tp&<<{>q3{s&v`2^lo@Qf9%BU~c>5#qRI&Xv@b&85<&cyZL{ z+~TM5;NITW(RhDBz7899Q7EVcbvY(jOF(TPGf%YQ@&kSu3vs4)wLtYE18@|CHv+umR~-jYTl4viPg5vH9n|9;oH zduuH)R1ZLq6@rNiG)i%;PH~gPMWPaA3nLnH9W4|YAh4<6C>j0s9cQJ7^wgCr1*8~N zmNgYKS7C+gYcbj0TzO_9E>p0=>y3!1*;eXOIlmkt}|&yi4QP@<2oYewX*k zcBi3h4Lhy&dXSq0rvd7fMrI_*&@I1a*q2bjbMdO^$eS|G$zcr; z-}DFcQ8a4|pUho<2f~3xfkRR?j(=hfgjc{^g1XPq_^#pUW)5=Ig9G=AA+u{#(*Q(* zbUF@k?b`op=GnDg0KzHBF^hH2`ka`lH$TOMpBn>x&OdkIfNH+VR{`T$h<1OK(EZK6 zSMATg7cE_jvChZlGrb288~6`J^4|MlHk@5?b-bu_NA+ehK~-1&p4C(T3W=Nrs?4NZ$yg@%X_t9aUKcO6TnqFh=aeRD3&P$gOl+pVA=&$^s<@o_Tv(5uN; zdUuVBS>??OLu2=p3olJ3vb(2iTyt^*jZVEUI2L~@N8x4)v8TFTGmRtQGOAvyElQ4V zb0kA)!xP67bC@^n{d!+?WO@zupw(TZjO{Nw`=joE)|2l3eoTps4ghY4aQ2=uInC+3 z@4%FgXev*I4YfZ(<2_{=+dM^Tda3g^Q`7 z!@&}Ao6>$hN2cG53g+(vqADrGBLN@w?cnNYK`M04h#UuZOSFN~ta|FP+T#LWaqlF` z0l{~lz3RcNMDw}6z^ct1ia znu}#lEe}(HUPlAtNr+VSPZ+t1I_1V#J)$yfbK0q1EsqrT(FB44O$d?{Y+w~PeGE{; z%cgfmcbR$2)ga=L)rs(&mDToi^)o?xaF6g}n2`8#IFhDDcM*J(Yi=s)plp*jdF!l7 znZ7hdqPVn>UW3$(7EL3gwleI39>=quy-Mp``&g7D51mBWx;Kr`>iP_Vjx-cSN=P;01pGED-;)~(CZ7dy>Ud^{6Cz4h zR}$|8(>7_L8m{6$8iDx>OrM$nA~O?k^|WcZt6Rbg{I!^7B($_KaP0s8q`FggCf zlX7OA0(B?_&@%NsCr6%6r*(D1Mr^>A24Fm*1Jaa_3G_p)d8yo8!}a!~+V=B;GBawO zNB~2CbM6R(L6H&D?rE4KRQULmDW(hWpaP43hv08kZ&D3f4)C3ueL%$hEW#pc?@11; zNo5yv!8*=DE?^lxM!vXZFbI(Da&K?nKF`}rP`2mSMSZpd(1JL zBVzxLwyEz8{6tp;Kq~Mo6_YwkU-J} zPQt5DR(V?b(J44AE=`fUk9f{B25Np#zSJM7`c@PPE?nKW7AeuH2rd36o1+28R|SA+ zRN?a(2EW=JabRG4jd|UXZjUX)@#>qQArMeH-Jp|56`Wwo;9=(L`F<;)lbIYCUFzRk z_r0S%%fk-_*D~J6v$fNO-O+P$pO;EKR!Al{X>f$Y&Lzj8XnDk-xuVM4z}Jw$0$<^; zdhh~*$K3Y@n|j%@dSaL|VhHK*#9VsKfKjCq$<<^3Rs{(-CE4UE2jQ<)vIDr>LiXse8n5kA-to{I;^V-qeUL>!pu^ ziC_68S&as|6#E%|x_rHEfQJ?chrImQzXv26>8@0ouPStw2a`H5J|#GNZz~Vpv@0do zbFrKOmhmn8oVAuONSho1o=AEhO?(zf`OS%S z9Mf!5qO9SAlC`}-{etmC2`3>r8+iKi^j|ZxQk{Yq7#+jAFGXR8$faeWX4-@imSB9d zM4C8yf5$=;-MvBnqh$WKCLSVTBanN_a1KRw7j8&+_H?W7!>}c2B~Mm6?iDtnN~gMG2jscN@ls5n`}^Y4 z4D6l$vAN|*XG-Jn47(wh&RS1y0Mo^A;<&6-X067CRYPTbUby2`9KEIA~~ zu^FuPVD@&lB3+e#?4I}tPz(Kg%Oy%@u;kwaALq8aN)_H6QZr#91~ooXd^@8Ya1`dx z-jZ+Xg!Q~I!UmAjq;77v0SsWV5GUp0t81EyXO8NvP-;Y z&n@1sTvQ5rpp_oyRs2mDq)p9>j0boZ3Rj?l?hfV)@GPWz;*3_6k82G%M9Tx? zV#3V4Nl71-?hv0T06h$*shpwk)UAssXp!Njalt2%%RCzs9gDt(^`^n_E&YsqkYvcO zX+x-W&hP+9@x$_{o=}5Je{7F-+G!S@(vm?yy$^rs4!~8i_T~-lPml^WVRuVj*bjm5 z^MUesclvnTyJbAE)>MAUo~>y!0~70qpX;BY^0EjD?=6C|bIjULuCwyw<2yF*f*d#t z_dGmXBgnRskr+&-vl}hmLlp+Gg5<&tWhNsa{b>JM&4Rhz(76_tV;fTc?gj*^|JI>Y zHo3{ewiKgaKD<=HwBkooCmH9`o{n#(TrR$MnlV?=O4o4m-HQBWni>72T>F-z2_OZG z{at?RuFA^InCj__1q0Ia3WE48M&`@0`3`zMn=2kZR#QaSdNuj9$@gH$!>U%E4FDodTT zOKF1n0XRHO*Y1AT zsj*<^Y4^?7>vD=)KL2>omoSDJ-pNmvwXGnk5z6O$4#TDrvu5)2P?B_1#$3; z*s^hes*qsGlwR%>><&lr1dSR;kS!GH7+DCN;XXhVh2qc2XbR%JYz^vZdWj2)UcLFj zgZTtUuOKE%!v!>Lx&q#Z<~HlhjW9UuGgdgiO(BT4cWbO>EJrgaY?@6^{vXbFK6sG< zoL7@BYnQ3+Gp8m?vtKbC+c)+wy(k$K#?u^vxoJi-p$0Xd-A8Xvqqg)&lk~&V@^eTw zkr$|+z_Bf_AWiJfTmRr%_%)3BM=IV0ic}{tw6NEHn)^u`^y@W?(Hd((F1kGd7<?lg|KFnLNV0fonU4qu`` zEreqb%VzjgzCqsY8vR%jeSG(|sEv{DJi~Wt)3k>%@Vs2MgL2y}2uS)6F5oi@0JseQ zhYAPs^Y51Y2LrNGwiN_%WDC{d3W{P*zbGzcQk zbKEWMK~Kn)ax&(obayGIVkx!@p6)HB`s=J+NjT^zU6bY-ZA|2qOlRQKm^s~{Pio)C zf7pdldjzN+BAMaH-HOX}kdux0=_~VqtrrY1~a)wyt!HxMAyZ3L%@MfmcqK_ZY<_BE_s68Eu_JZ-#F(eEMuYR1y*e^A4E_pYo8ZL{;s76EEZ=C;czMcZpj^~pA zeTIDQHptHbp)Hu4;n|7{08VA`hqo-Ga7>^d_3lBnH2jDqy2~bM`!OC2xG% zfy?vE*t=U4V)trIT7z?l3AJiSHl z;_P!#uH8ksp_DM`A_!H&aJoEU%ltj8e4UVsj`^0hE68`~+*HiemJek9*+CF%bIz4M zDCxy){&Oj)_}Q-7TAP$q_Y8co6)u$Lag%`=o7`tQq+#hs*KWEF`}xJw1eG<69VpLm zMKL_l=NY0RmG$%h?I(zJ{u5|i{!VShfd81OZ9x&ELS?|)rL7#JlTaO-vLM*+ON%?~ z99D%vK#y5eKNzX(MeF^Iix{8*I5i%6f8!xVd!^Ij4{Dv$h0(BIw2om`O<_U}@vR6U zDz+W3Rj8~K;8NiTu~^PFa)$X9Aknr}@4weR@!Cnj zakW6L2`vRL7@mq`99f(WEtd`DaYazB#g)=T+%682q~A@Q4w|ijbqJWC0qFUy332UI zHqJ|Iq^hy#gU^ze+0YhHt`jZl&?{}}WhIgYdZ3Uu!39bC>i=jOP73fyW!`}M=YR=p zS+M#7M}&w*HU{o{&V!e17mN*FwBWZ%JZExN!?GLNSmFoAzADqrB?>MdohQaKRONZ~ zf@v)y3_S_b*ol~}WTIm0YxB6I%{NmKv*J(YJSMiaEHfJjP4c0z|np2QQs?HFy?Q?a16Uu<;^wth|-UpQNoTt_1rKwx*CW3p*uV z4p=4d^~t{Wh_uO6C&PAeK|U4cm^&vXz)k5q?L4Gi4jaCV`1bJGly7$(MP!0A?ZJunJw1p*4L@UHll7c^ea zs2xCM08R^-z)AcTxDTpC^eXqry&VPiNnv1l8l{h$eE^dE|DR9$-<&fSV8JZx{~LAI zZ9M>N>HKKf2tTBq9O*ST!2s2!IjH-Oc-TwQFI+ZVNRkuQw3*i)nhyY(J;P4qm%stg zTQ#!Xf-TT)y(XO1DbY0EV*WkeOC?j-q8x&uFuj?lh(}H!;#!SFQ2b_D_%FdFd*u#> z(>xV~e||G%J1JDnC74Ml6Jb^D0sU|6H)!OBPhVjrr){(9eA0qCrs-eOgycHcT>H_b z!#z~mCpivC-M`-_-}HqRHga^uyg7}rRxKG`&mhXkszP~{1K4gL*bbP(Uwg#o?z4Fy zmCYjH?D+kx#zSRslPa@ywv(7Nnwa4WmUqP)r-wR!0HL7bhh2}BI+}8fcnQiU-xD>! z%Y)g4XIagT(_CdhaNSBM>jeERFHWDGw>c?1FE{?)%2RYt?RypJ`vRJi!GS2B7+(MY z{Sl+Th_& zJc2K?8<_Z>@?)}x8Sz5}>YFLo3x{wIgkTLkzFzD-IDpY}mt9pAgoKm!d<@f#W_xJbl z3x7vi_SD2w5iP4ZNVd@<#1D+uew;OCb@T6NN3GYbf|ROvz=TNDvlU4dN->}E#&&n3 z+HfviL84Z_Z!U=>+HQS?Zs1`kOYuf6@zG^nQ5%DUeRR`XMkT;o{Mlr4eN%QaD0|P7E~Raon^djK@&WjbpDA0?{e=r5 z2;%-Z*)V=eo{?)zpR)x2<0N>}gC48W+2&!QPRad;1{8g5yU5pc*M_c6%@gcgD|#-K^-MGOJOUdR8t%Q`JAs0Gk>z>z7aq zAT(N;X3w~zngh)IJ+CkId$W%bLEefP0=| z&-6Le^a0VA%^q!J%$say%wdaK`E$kD^N}jZ?`F#0(?$qP9JygTF-(S>j?abu8h)Y5 z{O%N3T)rkF@IZ`15O1n4LCZ-XB?x`HG7`_-yunI$C(p2o6RoaSY7a|>hqAk6C1uZ^ zoZN3MYzC!s+CF*iJ_Eu2pr=_Jt~F+e=PAa7?vjB5JHw*w7goRT@(Stm>5&SyAen4i zV@SGu9@`_usO6-?j$B`~J&n?Epi~`gq5P1D6o9+dYn8@4((aa6&q&idO4OZNd)=hb zHcdzxri1CGIwd&ZHuTzFDcoN@-FLvB|D?=t&;P~t8<_cE4(wCZK1d%3;6-6go3`Da zeFSV%b8IF-(@xc}KOTn3?14W#B{(0G>S!4*+$ca!a9sx37q0LOH{(h6MzMe5(Fo85 ziKtIzU~J|Sv3*y^(GF3lyM2=psqE7-c1A{^(r;h6Db(FqWJ|n-L>1X7rfX3bSEva6 zKuoMX^zssbS%^xuOoB7D2R? zI`$#9m`;H&%2S&h@_z5%53Tb#NXgjw$P1GgnG5EE3Kkv}BN{Ydy-c8;l>NrOP)X?R zuUG$`Wo41WVE~VCg~3*_Lm_ki))h(91yZm)!K)O1qN3FUn;wMV z6Fh}%!Xq6kcU{%|+7gINaee1e6z}54`rK+{3H^$5_C?#hy; zc>d?31P%*K5p$x;$ryqJ%TgK}Z!-ASdJe_}ZN&jT-i{?lDCiI8+#*klE)k{7&31nw zd+-Wsqf4CzP=osf2CAJLLei=xl;3wvTcuG9&d{!Q1UjJJ6>u*fI0W&rHW2xot1K4m z5^=iW2!wkkd*zU;PtYPL-40l@Uvl%{o9bVq^ZlhF-y!GVf2*g6Rh$Y$FSWh153xso z3#5xo=1C-ckwaR1)rS5RscsXXe}Mz#)#*Hou@%+4w{W4^e@_#2-;Arv02p{F#nss} zQ1%qeF|T8o%Jsy-E&=&E+pJGvdmuBnyh!cBQrKmI!cr|@6F=r7lYHg8uU^2UT<-Z# z(D}5$S;xMuh~A5k)!tzHI^Q}pTMAz>zsnm;C&BqO_3KHAvF-9=(1$J4>B;#*7Zg74 zH~E=kD#6=Vy?t&AV8xmYIkA6G=A+I^yGZ*$4}IvB@>JR5YVf4-Mo;wLha~QR;@yp zu8MZrL%Sb!uXD|}75VHlRRX!?T~ZAi%W zStCmU`G))XuAT6veGmTDaO)V`3|uOlySJ3Z&|xEHXXr3bkOUZ8>!G#I6k6miK}9 zbx)8VC6M3-6oR93_U6SxBg!<989B1jZX~AZQZo@nMWs=Do^>64!M*pON|66r~HdVqharkRx zh!V1OICaK0@dZKqg^HV%;>GdSh^t+O{_*UYCFg**J|}ywyL%2NYNl|UR^$ZrkCIi{ zJLwJxHxMUIly-$pkntsbH8rTA@PHr&0KFNMs3h2e`nA6RHB{zljYALXEgjmNO_&{k z!;4C_QUAkg`cLmnOrDfgepZ-bdih{i!Di=#nFVP<<6VkrVfu@#3#$b6Y9}57`@*qI z?LR+-Ji=n$aXeCIIm?E?##xBssaIx3oG;pab*%E!JaG1q;N2dsW z$YhIP8M(lqn2~6O4YZ8Cx8L?33aFzwS3xMb(vC2MtmI#3-w*whFb8V-RUvvhxh07v zCqAPiftfzyzT^(jknS2vC=z5J{N%Y0K>760kt*7|Qk-wu7JXbG4=uXcOr2 zi(l~^5Y~qUF3L=-z1$JX(w-*-15oYV@7_QvN3YMzb;lp027lbp1i@AaNbAw zlN`(`RroFCvi0Le`wW%Cuew*xOfk>U1EWS>Ez*Qm0FZqx4~ji}#;PKlX{a97$!kjb z!3dcwGJGFSi1_nixLKIH{|@s}&s=`iCk%=o2WtomHE(Plj|XOeW#C9#l-|kqOaz%Y zXf>zevv4hc2tJd^uA zx`q7S!rt+nx*=;5YB|nQl2~>{mp%kC3NlMocd8wTeZLp zUzQVe4oZ-8{vq`wL=ZDOp|@S=0a2P*b8i!CW7zU7!abI{%q~ zJHa4S44lBc$l-gs8C4>T*|7O~I?rptJ?rrVRI-ZMc{g^Z+^GDg;p-!ScL^UA?YBDw z1FKEEYod>0d>{M-MLstckxyBIZy4W-LoRuRio-ivjN9W9=A2Zp}E1wd& zs$knQ*=KC9g@%Nkb{**2{!jD+Ig)rw^9qzU`HzjV(mgU^XU*|ejny}D1{x+)X#a8_ zeEI3Als8p1{TfQu>ND*FI*l_)Oj}WF67rm`Ey8wY=5&~URigr#X~-wKrUQE-VqoHt z`@xdiL9*A$f^E}$2nAZWvxEJ@xJXYGq?X2AzqhoD&T(j!AK9Km8_|f@44p8{gYppe zm!s=Y8h#&kuvC+9>-6Z~qU$x6nX7;feGU@>!3AjjQ2m`Z9K`<@wfg5b!ebZycJ&2Y zb+OKs-c*1)3-4qIt;-nELW%??BXdC0;X^>4QqRz?B8s|*ryBxp@;wOIE%WebxP~HP zC^Id${zG*m*U^}mciDk0FlO!tG3+s#+k>yt-J(En&H+x~e=cjj>>2Hy{#$j=WOo{2 zc2ef*nl)|5FxD-~_Xm|pT4S$RN7zR-o(gfq*`?MhUrHM#rCjB!vU1442cnYwyf5#f zdR^UoQQoXLw(b?8J)?$DZ*vh7ZVw+t*~1x3kEpA^kO<7|Y=J~T-HqBh*p#DaZKCg_ z7-yo+z3ka-S}*hB1ZdHeGmTm*MZ((bCOXq=&rz^M3OT~S2<12gmtZN61H1zUNK3aS zVEa&U5-P+BwW-)O?~x#sDa4b4Yz{049q>vrg{zsUkCh#wPM+qkpDlfU{3s~|q@i!K zn?@E9|M9(NI@-)Rr{_GuQ97XWQ(EnkiE5Q3!hWZr7~D{6QYUp1#*H~I;@P0~PjXb> zXz&EB8raBYqV_W{fyp_#W)GAeO!DvL4Bv{}SXwI&z5_jj;hrpshnJbAIH4k%zqj1M zzV{lz`~(+bCdtr3Q^a~E<{DOCTTP87R7x84PabxmUYO*-dS2;7(b7%`cceD;)J9_2 zB>yl1C0du54~&a0l7cgy&3=e%&=bSb_6W^Hlp1Tfm18eL+d`u%NBCam=2{UdT+6u! zOG@zZ8ea4&iU1fRI4*sKLHrH(-Pp!Mc7*>~{ly-HBqC}kByJM3=_N6s%W3H|=;_c; zx;Of!U(^xgDTyOCA%Us*ZWA~PMKj@{tH^utWf@rO=*`yg$NiEK|5CK`S=2A45u+Rrm78Hr^_g5A(@Z?3PF(*zP#m|e*V9!vt~>`KayP>f}rBLr+LLL zjX*-Wz$415w!zbJ7{}QaK6sLpa+UjNQFo4gHBsp>dKjs!fhTyeVkvaob{EYGRASy@ zUGf&YK}Kf@-BKq7@Y!64Y)a(^k+KC1u^mhOIji_QA>&v|0TLh+_SS}+;*c7Rh9Kgg8E%;W|jQ%q4RI!`gWoGWfszWWhtUj$H zugZ-bZh96a6fqWZ`a@ReeGg@aPd6Dk(KfAj!lSgEh#ONQ>ZC&yn!YZbAW9hvy-5X* z11_H)^NrwSAa05gCf3u4zf2lpj0J35yAAm_spKb;Om-fS_G+t5tBS?XhwOQqiE6?3SvwJ_r( zH2Y5(r#mH0o(hy!G?m^ix0ysuq2)`neymH{+U9!OWFqjM3@kL|C{&pqF21oU#M>Q- z-vl8oM>0Ofi|AQ(nv-9?$U`nv-)k;2jqdfkx88H&;JalPwRZe^E#`|)a7|jD8PIt_ zBv}n#EM=u6%t}BvY#=%D|Jp)zs*PRjfn36)>HJ80d7ZecmDMV8KVEX!T~BQKMP^PQ zCjf8iElKMMd$uz}pUh`Lnv|QEar5my`?)z@TZeaFIa2U&y!oL7doPlz*`Hb|e$EG+ zyV;hlpSA>+%V_#U9k;I|Ce6s(3E<6voK6-&)%2PYPw-P_WkF}iPq|eX4yJ=Ik48UE ziwd*eidqnfCPYu-&;3#hIuGWyu=&UfY1ySR=ge-N*pFb;g7W=PT8e+ULnF~_LV~{T zg5uNG0}qQjDjQvb$oEXfn8Dex%weBPiFI7&XhOImdoia)l12m ze`MZI>odhhG3U+#0e$Q$i{U;?zyJOq3Xr}a$||m5^h{DFWlDGjHl{GMF32(SDbEw~ z%SaQ$Li>zuO4awn7b07$oJ|KAd$Lfl%6aR5VAw-6uEH9zCKA*)_A97=U40B<;(Xao*#|vS8TZ76aqXG`lpE6Vp;i>dIc9Ed$(_%?(c0WYo5t%N!QPb zCYPi@`%GQ<1>Z3wG(ANoV@9FOAFy*qk!AaXYz~F39GlT&)`g}ry<_$g{`sOSN=V~u zd;4U2m1XTtGP^okT$Dk>CNf+~V2Fd=v=E1!U!L9aEMcMu!}AT~9@|U$y&1Iu&Fka4 zIfqVe-kz6Uc4Hz!CMV&y)IFyp+;dVvIfd&Q;&2TO2tW;#*bpxj)d-uwzxiVTaP0k4 zda{3uozWMgd_(n3?=#N0=RS0vlHWaSYhV##BaBrZ)lCtOj!j9UaoFhtZXoAeBn`Oa zfI*9EDd0=;Gz-8}&C?Lq`Ltzwb!Sl;N;VQ)@~h2qmF<3hPz#>7q7flj@WRJ%cjK1k z+FE~c>KQ@Pq`>B<7ixle=#BNh?C+~vCgfXvpe{oMr=&yQaS+T*rOxD0;!0PsPIul? z3_ZA(#YLQ$?EA$tSXpX``JM>*k?&jzu4M|`0@550aS<2b>-u8ZgVH}vQgdCH^soCZ zw!E3F_z2Vs6ocgJwqLsf0490h!a@KHjcPD#C`lg!V>Hj6BNg%(wTw?eB_tCbp+eA2 z=kAgO1e%oM3K!&H&!`vIWRo=Z_olL1CPcg@3MG_+6`UoPGmq_=E1{o9^Cg1EB79SE z$yI#`M^ z9RPA#n;=sRCs@#65)lnh^sZ9x;qsBJ1bHl^{+9Kq==qv6*~$kr_&PuYm4%zRgiqU2 zkMb{#qPOJsAgIzVWWGjO%^ex}NUR5lV9{S9U5^2PmXHIoPRSRI?B7iow>DLf z9^Q}9)JU4bQ6PY33K_3R;>mlbzQ07dDgTQLbBJtPbW9nvjWsH$0VcsR&d&(!hvH*) zN%ZZMPj7Ip)0@NBVHKQz8gl{CmJ|h`+1D6Qbf8#%;CB{9%ZpnIUae*uEQlcg7*Bwc zPurUGIw)Y{V}tPkfdIMWJYKp_hu8`gx?S$6O3XU>w9tie<5H2{lUaUK`ltHRE-cmo_y+JJlATiqnAUBbLW%VDZ ze4mi|U5}En+TE5TG{#g%|6g*Gi8)q*zpQeZ zy<^$_CHyMega}C!K=abC{0|rqB!DU%0Hm1KHd7h|Cw#Hx6+Fo2D|-7rliDNut+{q3 z@m|WSb*)C0`#?)G9^P0mR#c@HG9)nVwdII2J%yk_3|=bbr=2ZlSDCh%uW8#{2c3mZ zgSoe{%MXvhNtM}Nnxt9&sjxm+yoSG$wi-SQ+G+FpOKg*xWtf%=ohDvg_iosYgvyjL z`lPWr&&fNKQoeS@lvofnu40VwE+WJrLe)fqQ*A;}^Z)8vum~%vQV_r!90WLG6IH(_ zEBR)t3jdDxEEO+@2>GkrOuQl5qLJkSM4rj9drJphZ}t`9HR`u0kLSLVz|g}+lYi9h z6h>Z+k&aqfsf$o#z@fqcgrYyV*)E6vUv&501o=<48R z1#tT?HX=ct6dDy2&jg~9d=*G!U%J1E=uGxR>H7 zZdclgwf#kUG3Ybt&zDPHlM&eAy=D2jNJqqM{K~eoj(ZG%4O$l9D{>A<%wHXpwV6xKN z9|6B+gr1*QHhw73;+8AqAq+kvcM`O$4Kuhimf?+5 zktN+nqYV8jC-{CnUC9QjeuvCu>C2e$dId1)48h*Q>@A+z8wq9 z@hV^)o;(>CZn&cKq8iS-Y@X`g{J{ zt;2P@{Rj+x?;U64AQ_R{t20WkGEOwW@)2suyNCxq2R|cGrj6DGZYu1ilbR-rk~aF` zIL{||H6PX4Y)$fexs_4)z4fB5nU|&`NR0u+i8$X89=>iwh(c2tp;FN}i=~k140dV} zF}uZYl9^wny?MKJe{LGg?=>|ntCU*P$vmos(pM0DWT9~0pQpSHwC!vrHd=LG=MCfB z!;%$j$%u4R^89}U8RJPHnD^*$q8S)tC(X*R7j%L>ns?0iJ>U5ZlOgzpWkf)Vi=0TO zxbF7t5Bp>!T&U)=LV?|`3ZCnLEfKs0P~Z^-SjX`^>NU~>qF0XBCo>$-{y1$9WY1H} zJc30hmJrkKI2^tD-%7;NpZA_Z%rgkSIMIYpoZLmoXP&G+ zPaD*Lun5~1dVM+F=8{4t5nV|wc-Z8zC3)|bZ6 zBt%bwEwp!YL&VJ+vzzATK&C#f9P;culV6xt&d%r3UPsuCJ$s|&43~vbbeQ@r3~1+I zu>uKJ+97+M9b({JXc>((N-6Yjv|OxGGx0C%1zveP2lU#eRR0(cII;LO9aAkM1bh-A z#!O{PP|jz+CZ0&U-M~s9$^V){z?SDoF7KbQlSLzQ2rrL>mds_tt6|@CnM@s@jWsKv zaa)*fvEh|cL-DaJLM1Z&X2>$Pbw!^%KY}U?f6!=yi)9z>BKT3GNjP`~SZ&}m+Fucq z{Sh5j@q%O%=5J$vazEBY6+e!aRfP{IN5tV}*3{*2jjw)@sRQo|T79LrnkXg~WPi6x z`uQfT4?)>u|Ns9CLn5!F&pnQ4dnzq~j0v-FH(3vt1Ax6-k&QF1wq&PKV8Xo_%wPx!%TGqZ2{x?Vf5$^I9`#?N(FXbqsJj}W&4Uk#?6yHODUM{@? zY+bPM2!ajr8#C*ttcqm_=c04g0=+90f@1ld;46$5+`6_vvI$n9b^)jdiZA3MJXq)q z%e}4%f7X#YXyj@WfRRv5t(k$6UKMpbVilhus?!>)AP7LTfQ8y%11mJ8ECf4gZnu@m zLZpCqf5eA*BHLM{HxXUAF2|RU+W9+S&YX{fyv{$-r`fh$wiqj~%H4AM{gT75@Hrqa zct8977d*ZdEZs*hZwj=7G~ZnU4{;!BeAr2iBEZ@=Y=F*OmW`QT?n_ z>BZulSEutU+CU2ev5zZ93e}#ksF&#&wFK@q!e;UuCtxtOye2>5+QSr@aGpcFZK5fUC&sV`Lwmbj zg~h98SX}~JpMO<>O-t#XYrMlpzqNww-MOY;7`GjBIe=K}0I|6h(xFLJDpcF=B1V&v z8^2?Nhb?K))(v;sM`5^9YD2u!l`pdp#+hZ>q&}B?UD=jF#apY}ox~%{LnkzXz3!GQ zUSwHzrKE2r*VOT(k_eCtpEnFPEuj!?-k;74td9-G<%FR3xZ1>9FY6D7r89$evbuy(I0= z&Ky3CPDhuXDNG3M1pt|?T5Z6uThW7&_7I$8?D>YQs#y*^Xo`aW%V1glMWR?N@v}rj zemAxbH>M&dKUoB1{mnLpupRVi^WF8Q1o@s`!Fis|KkqE8GRE9r>pI$pxx#=KwfKk{ zR?!QmoacEoT$nt+_b&_@<9GKKI*)3iFZ`(L2M8>WqfJdi7L&DT8FQb-j@vL<+vUS_ z?PL=x6iVCP^s@W?S(5{X7n`i+oa9b|k<~W~ejwL|lsGy>_HQ|pxr3_n)Azvp>dVi;nVA?sAva%vwLAVcM~OU5 z&7M1M>{bB~06Ie-tE5Ueozt#df{-ruSdJAQJo};8$K@UAi$8&)7lD_&XacH@+_XP7 zG>x!FM+Gq~=d1%PVeCUi0Z%Z`cWV}Q`(mo8Be^xY^s+f(;qP3Jg475i=a@%jpbnnCB{ zQ;R#iX%DIg*Mi%IQnDjpVNRTRm4-eZu`=a0zy zxWX-%9Za|z3iMRiVyazWCfz^m32^gG>4U5KAr?ezRfM;(ed%5a2^dj+R4L+bongm0 z$R0p?qjfMmK~K&^TzqJzpVi+xRB;Q)+5iXmfw6F{B@?c2LDlGb_;x;Kz*=jv-@lxFuG?~3N^H8vTl=nF;mJmt#Y_5QHLANmSGh{A zSyb}T(g>p)^G6NC*;rLg9Wqix;s`}Pe=W9TCULvS9e-&vcz;W`tY!WwtC&{*F>I!X ztqr?0xwjsTe$602>|{sPBlkYWoMw9Y8ZJfn39+$2eb3nV)5z>j*p{x=cBEQ~A-uX~Fv z*)eAoTaq^A-lf&7t!jZ@q3kA?&lQM=VQXAl5*Ctr;8)bJ;1>$ls|XPDIpJ_J?AEse zaMiDBR)v1jibrLUr~^h=d#$(xV|V1Pe>1DQ8YLgUjpQT>&yV*~!Lj31_r2se6~da0 zwm{He8sy}wp;=Iw&Q9Ogv~Id(Wqt1Lz%FvooGa)p#5Ie@q=NjM)sK%)bL1?lhP~jp zN0KFe5;X79NW;-$;#Cm>z!A{*z@Bl0Ent7q~xci{r^ynlI-D ztzJ_*Liz};m`*4Xz*-bpEeRXU*|_WM zH9W6rxwn$c>iLO;eUi&Bw}AlpZ4Qu$LnGY6TYvMc-NlaMy|{c-(IT7`ceB_2y)89_ zBf&~@~ z?3FZe#J(@E`}Y0AJJGHgQvcirv>GO+|0`Qgh8_k*GELy$kKS8n5ygtV6?I+B2+~aP zZ$R()eRGX#Euj5NaRV3Ym3$7xEU_tbnOmdDQ?&V<8<>G^&_u3S#D&ZP4)#cBQPlyZ{qvgPmQea9Q~Q*0D+9AR zP&@huR_Gv-NMGqSB*RUaL+k?EUl)b&Rt-uJW?9q#Dki{63vx{vVPPO#fs`mVoim9F$xtZ_?s6rgz`Ex;cCZnfyw(~%o<#P^5UwTFI3TL+~MMdcA z5Z1J2HE) z(orn+Ob01;)P(?J$phJN+;o^G#VYv2X&a0i5=^E*B8S+C)r~FGPvZv;()lIJ76fca z;FmjoSBR_qDJ@JFWuu#Z&t_7f^VL0Des^4lK%{Cx20Q}?(Vd5(icbyE zyplks=Y&ynYF2{iEaH^nP$TpiU2DZqQg`I4eT9ezi~3?B+KZ+G-});mamLhdFL|D{ z^9PzF{C7v*&Hti>f228OBVvBP*vI0(T_Nw?Q#@~40ni4F4pY~WfL6HeNk*L+3G`9ajRo-;Mkv#+y>R*8a{@7Lt2vODNUkPlW?X0t*)to1$Z_(bqzO4PsI`t_>V$+ngd!qAw zRLoW87DfP2{XMv?t1{sfkM_IBHg!2u00(NZ3WNke6in4b8?PE2JH*dC5U)YAr|-#$ zkFci@9eA3VJh^Fz@^)NuHXJo%_rtzD(NMQ%DQ1QKcb|$=A`9-djM=zxZJ8+YjH(h5 zNj$*m0ry7Wu$^yn8+XuHG^TvA)LA;ld!r*lSkiWPSA{>@v0%aru~0`yslQDZpYP!1 zx=J?@sXg`V^b6TGeATnep_SBd26yHa>Fr_&QR2J7tf9c8=W93bvjJyb?b6H%O_6OX z^76w@CjDZAaH~OV9J8)eN5RcXd{M~ofqid#x#u9HTkleOJ-ZX1XWU=<8Zvc%Z+1s& zdfxvx)h9+&1N8)jFr`VKC!vQ$F(>|xvG8s)!OV~vdeD|$^HMTTn*`G1siM6YC=_0< zw~hKj#z5HR_}N$G%k77MH4^?d?-XP1O|I8a>!pL@6DWu$4rzIrx z`aY1K*U5mDM!Hvh?@6Jov4j%xOkqm{#*2C^v_9VuqRZ{aRY|$(i>$M6H2QabZ#nLj zgU+O-AP1(CyJ>f6>ZG^2$N0~HaIQ-OFz&wOX!#zUux+qD3RJvwrqhSJ3D1iBH%zzd zKPg&_9T*Ffnu_udP|Rl~f#q5yzq%zdna{n-q&<`)tSL0Av*Kr2{BrEIvxUPtUe;w z3s>IIF8b(*0fi{laaZ7OE+(@Q~L zslSp-m(sWkH?;-uarSFH+xC?%jyoz$T2hRYhBHC#fYGs*^ih9%(&}{(HcJ8?=&9W8)jW6j+Jl-fFq3V?HEU z0u?MWpb#SnL6rUbylm>TNwkNO1g|&_%z7`QPjIg)WVwzvl2Mc-7*e&yt$BZ>S9XCP z1gOMhz~*XO#_}FSRX3dOD41p+(IbpXHKFFQ1M{5*w$9ya@JQ2=m6H2-JzlCo(-7uh8dGt1JjsNqFMUpoW(qmops;%HiV zThje6=vTrfBV(~qXEn7iQ?yc$*XQ+l4OYa~!_bpEZbjTCo$EVI^gM&EqHA_5D;e(= z=%V2w14NNZ4cS!9AgM7|PFh&=Jx>V+@prEGqenNBT+lI}bMcd zpnKoq{OA3!_s=tyqP?8FvUcI*UD%N^QGIE-*miPpu*^t7pz3oCxeq~mI@>u3^zH8NUji!I4;YOiyIEa=QWSJ+gN_xu8-<45&)*RM zjmxkPp?hx-N_0!OEly^JqU4N;8IVJ0TDOLf-^Sp96dD#i-v*F4p#V4`Eqx~ke=wUg zjyqniXe)+i6lM^;wz?pGSSJEaC)F+$`(I;X+^9x9VHgQtWm88%T4JL7a&hq1YnkFSx%Hf1CHCr738bELzuF|yxNM>(#*G9LRL87FFmDD} z(;4~<xG27pKGzS=?h#2;3>s+#KH${t}lUV*5vb*+Tes@NXe-G zpt=Zs6P7ii_YB0(Yz>5AS=C6E9~7!M z2))$c@AR?4bpX5+DGCoA?##QNA0q|4<9S=u+-YkA&QhOn|64EjL|Hp+T<6Nb?T~b; zWN+=dWMnD}tp4ModI_anE0du}(wo?dj$Pc$ahO55Ei{(6?6c&MXWI2{<`!14b+3Fu z!09V!@xd;u)wGfuZmyex!d3z=M1i!Bh{n-b zT83OLI0>Xt`3VkhTtuzj0H)4Y*;y8beZziu!1FPi_%DqCG`~*;ltsmk7^%5hhN1|- zK{tS8mV(Zae2=tbd+)Md2s6Q&M{{l@W)YgEQ_J!OU}8Ngz;3{RIg&*8Ei`7Ra&TX~ z{K}(ZknTY->~9?G`(JvNvrc60wpdiroxH|gE19&8x2&yy0Dn&sg_?1l>6%rVWn4sO_ddnoO%RhU7b`j7u%J1kQ%2K6RoH9-sc<=%}geAi-Vn72kCAR zP+qR>NoW)4%=IP%MP?UCRQ#z{&*L6he27R{+cH9UhJ-~<1LduKXanf257TIZ2>>%U z?T@kd5$k#Y2UQT+Ld32RQ`Bb8i>#5`G<3DzS&NN|@gcdx^E7*CXmkI*&?6<^Kud8H z5Aya9VS}X^_qLXb89Ej=8Q%Bt?R56(eRI3h_AWx(#k@f7&G_OHAKe zt=B7+`x3<*%)8}29yucAEhZi9XLvkdMyee7UtHPn5y*-B2b{?T^q~c&@>+RnQ-s7! z&z3or^xvj|(-xqm75@tOypfZUu`Y!S5P4FQJoL;ItmVS~Ex9F(b7g@ju7GHWjS~vE zrSu4OVx_s>VY9;hNY%_LZA)hXK{T{AAZ_;+iEhP&r>I9Rq%s&2WFWLwpQi{nL zhkDfYPmpw(pS(;i&Q7+MSge4fwIC3|Fk3*A+raBwl9m1IUK#w0fU(V?hmC0d5`}J` zselD~!11>ouh%ZjSwPVwVwk2r#K?_nl<7_)+q9zFf8`MLLL&GhKPN*eKQBADTbxcg zG!Ec5tT+3?Q8d)8*mrw>D&W(w)b`7gb|H=L7dsIghuuU8H{2^0ay!J`5CLg-uwy^@ zNQk#jJGro885E2%NvnEN5?)ijgc~5OUg0jl&&#eIJ5Gt$ToH~}LDUL3;8};)t!1Rt zkRUzn@)Lv(N4O6W2}Io=dYTNGP>W~$`3Sd|ri_d;d$l5YCH$@;i8zFa?H|(c9z<)V|7*gOZ6I)4%<^1j4%voeYf-wRg*&H zpTaBscHeAQ?6`>=tvYE*`VAzyV9Zvj&9jUqCLx{Ia77fIe@@Mq@k$%igM=_N+^rp& zJtR8n&P*05bQ0GiD?clY2aWVX%3}T3+20daZj+cf7(DH}ab(a5m2nH=(ks%E zZ1b`hcwsRy9A7kdffQj0)#Wof1pWYvHrX`qXITgpU=YR#sw-Ge=1U2pFks9k4uf)$ zEJLH_Q|@ZUlci38Sqf@i3?A(K@8E8JGq(Znk-a{6rd|OR4vx<}VxTR`S_|1Vju}9~ z^$5hQp41WJ>OPyoghc-pl?rt{j)HZV0RK11yJXHeCS>c=A#X0nTSOZ<>pjxiJ7;c` z{ew1j#FPk&hr1E&O%G^(uvHo`{cv=Xon~Z*cRj>QLUIHJpYpO_nSLf`HPxxGVi~gY zOsj6qoKVioQm1weiMkXk*_}u_m1d?|OnZQRYWqr}3lbP%?R}pOq=-&GRE2^YeO|@Gxl=ozerM!E-Wie(z_iO8 zV;SEW$}11o(m?4Iis!FxPIjDk($W}qMtP)YUZ=Y#Fl$_jcjUBc-BQ4CUCc5!_qil-hOUjXHS3-2r+Pb=N^N66S-PbBL48!lz!c{qt%5046I6f*SRI#x1KR3g^zGXaG8aO?Jo!rbQGXuGi&_JqZ8tp3t{`4;nHdoGki173d;W}Csy%1 z`npx+^}CYNSj(wrJbYmv-;HJ-69#fG8%-Uzt=$-1tLbQW+vK!LsQ)tBpm#I%6rKqz zBj~zokLVgV%|P%zYU=FD=c!fO-vcTHr^`lP-~wnr!8^V63rLN4IcYCO0_X`sZsU8w z@&e)MRv^J3qf_*;p)%~T^`;;b9CQJ-CiyM*dpX9!Ft^3ie`Qc3r1a^9&S*54qRkgN z^LdGHjvI^a{Jj~bE=qz@E)m&P3hp)f-{sGnpZ>9U!enova*MwQrJdop?hYlM|Qzcqw zMCKF?iPLo>;JbWP*555}r2IvcZ8wQXc^o|Bn+a;GqKP>%O1?j$gLmn3u8pv`>RL^ z`<7tFCpL{Ysam$i{_}e;#1z)fO^v4S3m2a+mI=&(4JN;4pjGc^4$|{hc3Ct%4OI!G zmS}~H*#bXj78uh|$;okH(|cpB#Ic+}_)0lg`3~-l0k@?#UV^9*U-i&`mmTLBr-I5a zs5!X-Lvgqpyv)YBHdk!hO2%($Wpl0>fXVrm)xJddcJ#LhEbOPI1si;x%tvnNn<%Kx z?j?*7XRwl}90kbuEGskt;h?t~|ECbeGx~~@FfgH8DFwcL1T|eI?}%T!%h5m9|G2`9 z)RDGw&9?jV-T@TUtkcQie?i=B^mQ%ogZJe^+5g6@>Idy1as6Hv*+~$-ppl8@&g-%E z)w9Og5B9WunaMP2kA#(H?#dC5tp1W;&R|a8qV975ugYb{+IU1h%pKI`VUg`qIs&@y~|56Rs2#XaL5CvLEbgkR$E;8OC9#M zG|XY--9Uz7_(N40Ph57yoQwE;I`65zPzDi7W=n~;kVgg9=`-RREcA?+c*7lg{rYET zq@V>hPGI|AT_Ll)7YuH~#BA80wq9@<99aO&G_wm~t#v4~Sq?gaTY%Dc1=Ew$R$9bn zU6`ij=|J{rR|q(li?nqu zc%Q!6oxqAutJ!yW?#Gq5h&!FJR>CxzJ8*-8S|sdR7g->q+7W9LL(W7}7d*3mtiw%z zEGhl?N{ydFw}4Pj_Kzy9RJCYu#(+LC&fg@S1Fae$T(g`YUcIzy7DJ)Hl&rA&l(o|b zKl|QqAjNyLZ)iGSG9r=DVhjp2f+iMax#}+bNYM4|PMR&;s;Vu@Q9ZIz+KoS*xWlPy{l5;t2YniLybxG(%t zGh{HiKDDol%j9M|Huh2i1dH^|H(X)K1~<~IBuk4>>bGO`;{R(^GuAD8`7;u#;@_G`*VZh+^mp}RUlXH!%%Ym5ED75zU2lB!DY4Eaf3x1`6~u3Aw6TL4*-VarJTXyKXK7mAx_P{l)Rxu18! zR!7kNJJ(`{?EFN~Y8puHZ9&ZT(Z>mu7#!A}#p}nhXVhm(E#32q@6<(jG+d<|04FXaJ6feXBAPR^h zoOzWL=Do9g7mz`^m21v2ph?><4RR6-`g8G9J) zCuX*npx_!A{Q9#>xWvPtTFjVzohZ>w&HT)d`>ZBQ8arK?9)%klP|4nSe`9@Qs(Z1| zodnVh!J-j!h8hHhe5hAL;(o?kY-?f(y;a4g*IVnX2N#AsM@|ttET^v0oY7+w0gxp5 zIa%VwcyW)h+iF|qNz0L&M-$D?K8rc(f)&ofEAh2$8~&50vuOTG^m%WV=%d|uGEj%M zT``VfSneXKH9f_dlAqVrj0T`U+)LVmPg5OQroTy$0-gpkIqyXBeIv3F*={c+((7Xu zPO2m(=@f9GI8ywD4<&NP6TzYJpi`hjTuYbG3YQ+uMMID>lCnJ@>}kBdX<8W*f5=;X zpSPhLh>u}?3gf1$Hv11!z&X#ebDf?HK2hBQU*TyZ_*=$0gZ^60Y7(1KIEaT@h*4_% z_e*=)VNHd+AG^|3-qmMW-xuLvQ&v|gSI+3uOCxjW9Y#Ps>khwIpX9yaMjG?IRq|<}X;J=V4_JuMCsK{xnwg3f-8S{d^+pM9zG;BfrRQt?n+t0Yird^jwp1wXN^KVX;HErN| zUE|-G7;3NkJPdl!r>@$T6xG7k;wO*CGM=ire)+cK?To&=Tc6mv*gTfwi=}JYvkp{? zdF^!vovmaUN2)9CGu8wQd4j40>8sm0`yB|w_m=S6Hx&p*6og{N;+J*ykT1^jYiQUl zuE@IYs+(J(Dcz;|jvT+IQ*P7u6F+g&`f7fBI77DR;bmdpaL1xfigqJQ18epaJ$haK zH2Q2wFa|s!8$`8gT46}pLMsZyf!H~i&8sO;ufa!t8I|BZoLnTi1=!Sspbf7GJ>D|y z`)!<}FX+4>09MybZot~PgDxWVtG9LnEJV-qK;d&~ClSufAoP*35ZAt-gE)ga6w4zw zp~*q`6cQ`kquIu#lr*@0;}5{i2D)Xx-$*G@)m&DDozs#iijoD}wr$(CZM%2dwr$(C zZQHhO+jAb~{eDD6RMe`KiOb9N&co8(@@PbiT#l{#(L)&r5NUx0|sJQ6s95yuqB3vBuCG>$iUJ7YbYvM~ZQ$q3eXZ!k30$_fF2NJYqSEAu>SaBAN3M18}AV z7XXa>zTq9zJJ39udF%N!_e|7J{|pj>uOQbgIv|(`NiIgX5x_FPTiDW;-M7hq8i<0_ zO&>q&ldb-2>ptpF=^{P#>b^PVKz(}jbtL1B+=J6l>+np%fs( zK7jTyW$xsqa!O z;bf^_b(M@KvTfozxZzR}LOZ|Z8PQfQ0`op#^yDT?=}z(iEW(#xKL*IoSfDT|Q| zgF3=^@*-WV&Cs224=DezeGoV#2AJBKFOXVj_(Oqnm+p7WK5e2>J4*}^aZVUMwo3EK zIpc)BUh*InQE|&&%aay=^U7AxXbcs2D!rLu!R+n)KDZ(oI9zY&lR~3g8uU!FBh34n zTe{VI-XA<+fnD774sBOyf!ar*$OCQ=4Nawt)N;u_GmdlE=YIWQqW~j?ES=cI9VSRgfUs;{J!WTeHBOxC zSk|;G_az-kYDHzoO9G;-O~@V<{({hm%$0vZBy1;I*P@|YR8GI_=U?M!b|7dW75`F_ zKX4?x_(sQ!ItsUKH&isfJkG}Xso9z;Uq?8cHP2;NadTp6B9w#TQ}~!nCQkDxr&2J~ zIHR#(uNNy(rnq*Vk<2_;4HP)SzZRBvKm{?7nPpG{SK<%M@QAh!Si^jKR0bBOuy7-W zG5CpECI*fG`(69`v;Gs8DpQX1au=x)2MRetm%aV=*bgnI-O$UOB`qgPB^aDxR3Xjr zD7@v#EgL}erR|rTrx}@jt9L$KA=X3aKJs(jT9l;~J3+b-D?XXIo zO!1qGf>DF&V4jtzbA=I!=b&K3p5MpWdrZA)@lXl`E|q_zlccGSQ2(upHq2072BdxE z@MAl(l_S2#Bybm$4Rb>ifXGZ>AvzJY+d>UrOmg)f?N6#xnysgC`5DW|6Ot)16HXU5 zk~l)hZ$HtI{rm3;q`lcaS0a>tcaylJGkniVb<4W%2Rx>OO8?np0eK@IRxQ*Q( z$6g$Xh>>LqF|TTIR>x1J;UI`b2hZ?dQv#OKz*is&a_z7Ka5;``;mh1TT9d5}d4MA@ z$5_6DSMFd`fZ*hXX^?feb#%{>hG|uGoCZt&=F}OSls?T{d*?wj%gVX^KKsVWPT^UI za9(MiIZpWQpxPOBuwX$xl(C{Lb6-4?HI)Qytw+4C{u! z$NGj$;Ht*3I(lKyBh4ND{o0(6W3~{+nyuEHe@IHcXDD@?0>8+RA?RBx-Oz{(-zS)k z2v_q5#uHbLpJDg&b~D>|#@@EW3nMZ@+tR1%yoZspbYcj+&Z@#76YlCm@cxri&QfkLLO#g}~lw|o!c6sdDvnDjipF}cHLfVrrqg> z2|9HS&EG1%u_D3K7zvlr`q$dig17^TeFR?DEQWML15vT$s1Q1kz0g3t&)&=XQJu%szfzlX*je}$~qy1Mj{fvhvlL?6!^0GM-1vnc|&VEx+D{G z^|ElGyKNJ@w8e(YwwqA`Pr52wA3c5@SvQG6O82?u+FgcJH@YX2{^9%=Ky>Dpuh6QXUD<5gXHYBaoH*|>3AFtX| zNC!@6DH>83$aH@p=k4V4KhPa3_b<(y2%zzPUQ$=@nGP2vviq;%F4NKl%$`p>bNft~ zGOw&g^+4Hrc=lmN ze<)3}v9AWdyP2 zWK|k!o*XvC%+@(8H_SJXQc%NU<|}HqcIdQ3Blr}Zll}5O`X8v-98Me|%@w;05wq=m>`q8O*(8YBo)yFOe8$iRn;}xs6+lG58A)Uu{QD(v> z?OHU$IzWG%GiC^&3jRzrTOVtiyv^c(rBw4{D`W~umS%E|6UOoeazt#r?4&pA{>?Q| zL?wU1#FTKMszGSR&vy#pm4b<6+HeGxTLg~39QYl;Dl<0+DvKRO)NU_;rL1lLD(ces zdN`vO$@v2xEC=#mYuF>3kJL3+!1jyw0)XbiUxXgJbxo~7M&1eSW|4N4()g11`n5Yr zIN;j)F{q5<<5ircNne5hTMAd(_=iO+YA#j&YQ~ES*UX04fh10k#iCmyPB@(r(4bP>))GMu_5VaDX42B|E zG@?g;erhXa#q2^e{e?oli8EFHgzX!J*B5I+y>A&)*J9M#74z|A!5zOv%n_#;{BVgS zKjg-__2y%UUR?_kLRKB853J8Ra)yi&c~sUQ%|fFHb0{his37Vg`%Hed&3r02Jj>RU zH=b#7+fV2-v83PGa}?~T>h~~~9@`)$PGD3cLFA(eXEyRo*ZN;`&~FfIzFy+)zN`@fRyYBNLxIt_-IqNlC~&~FX<)G z$Hy2yF#ZgF*Ghr1s_XB)7Geg3smTFXFT;6)rBr?T$~~~oQeuKQMnGd`uB?Dd4PypQ z#6UL6`hEd6&VOLKCHni{ul1?!c&U@R0^lb%7S||ZMKNG16%tH9I`$FxpsN_n2!IM- zn9~&DT$g=vu)Qj`6}HVu4O-#3<}nItCzmBQ_sWfao`E<7_SsjN(D!?cc6i=+QXS4O z5m^R^=%up4ZyYvBy5zPCqmtbyvIlA6258^jnh$|=Nb+^*na=iH;!^vB(rUA;JyStP zuOyaH+EQ73VsbV+(x)NCi9?&AOZUx97Iba82gw7Ir*V2qvQ(MaDX-Clg^bh4Mo+Im zf2Jp-@J|1ZfvT_ggcbDT!0YQv2&&zA91EqJVU{i|gKu|;hG7ai>cSw9HiGd6gx%cQcdKn)<8BD~L zMwg2`{ooyDYFT*u7Kc01jtt#2`;eFO#t(1MPHDXCEIss0*9M--3h5x7V_4NN(kIaK zIZR3ek}*R+-mCzyls98w9_;ZJp=&7pptx>>Ie@1J&nIx=zXRTuapTG%M_5jm6$i5j zw|U^n9_*n8NMZ9#*~@! zT+2nb7CX+g2bFh&mw^@ha9#V&W#j1$AXxVuJNNWQux5ExnH54xN zTh9sL#C{f4Y;1nGW5@mC%=wo@Jd`dxHmZ=_3Csb=EC(?sh}-ky>Kvrnxz;N>ONk;; z{SXE|4LjSd-7EzXe)`|MzcKHsT=8mD@GIr!&l+S1C%1Jfv7O`OZGf~ee$ch$&__Q% z#9DvMahDC3>DZyfO?;h%abH9PFUp3dnENkHDtX_G?pUPOWPyhIBq&@F%6RS2&~N@S zwkk+W!9OVeAEIWNa`W;M3tLkxKcf-WVYHB1(|K(q%4RISa-Xgs1sJ~&VVt0pzPvNQ zm3g!8vZxF-mJHWaC#-WCE=gu}6<3dk3Q^f%&~^d;4rK5KqQvC2)I$iTWN~t{3|3xf zZLJhIdtfAzV{hT`Dh1{kyO;CPbT<#~X~&*t6EAGEHonltyWc<{x>n@_#cU7w3I3u1 z22#?W2tPS}0+*AF4MZqA<|0(P9gxk-|1`G~ly4OsNAsqvAg+wff>Wm&(mKo2gv|uA zY`T__-bKK)U+$9a*0cl-Pl)irLDk*nIgYtY0b%Y7RwW-@V9U*h?dQzLOJn6Mk68_6 z?d2uwL4&Gw&*#;hCl1Y#p1C1Sq6^I4*2!0RhGprTR?gzkFPmXw!9zKiH6L=7%M!7x z^uTVYPoi{lB(?#T_BFad`?g`rNm#(yZdeKtgXXR~6qmYA@YdOWPB4wc%iS(UrbM2oLLCqlXlVeP1stb5v@@gUlm%*?8 zQn6HaZB$s2%|2I*MS+ExR^MHXIK5gyH!g{}wLOVu0GO#hp#XmiiKFA@e@%InEBil9-(__+n{ivKb0sHllkG%B!tXEbpHlY zGfys8EwU>G=hDciAJhxeawP@q_5cf?j1SD)2nM*dB_!R21kc2GV!@w66diL*wd7u~ z$S(K~-WmMFRjYjJit`F zE4ERW%_m4jx}hJQc^xlXHq2@!K&vx8;cZT`-(b5bXdlfvqBxTpIo|WqZXj_li4=GZ zW1uohGyU!#y?_{~wOs>~vw4=#5%&NdBtydgSs6ILDwuTPgb)6eME*2(mTF`PLq_FQ z>RM4yg&@!M%96ZFT6TiRGHe4qf8xVhlxAeRnBRDCxEuT;nuZ~myN{p16i|QT5iD!O zo`bU>_3F{aqwJ_AWGvRI&4^h}vGV(_!3RNsSM^3;;fDl;eZ^80`uc6deN@j*=3?DL zzb`*sXd0@B>zscIefJpK67^}=Y?e&jxstXk!E*a6E@{b!yO-Gf(Y2m;nN1qxOnfHJ zx970U{msv3WA>V6QSDA9rjX2}?h*0>FS`@c$Iq&K6b^Ly>RV{pi(zh&{X$Zh&dpE$ zhn6|z+mJ_rHAccVgR5P#Xf03MZzpZJtuq;IzEgz_++^Q+Zvyq~a{T2oE(^%X^z$;X zln*p(Ry55_HM@pawRm6GjZ`OV(#N|ix5D#KwciMXwb)9^UqPQujUSbttL;A^$I-kI z>h~h2(;029mQ`5l*q?!^5BrvE+d4K2*1VXceQ=d67Zph2U9Y+*l=V37fY~5VCEf;R zrQx9_Cz_*x{oAhK zv7o1yf@zpr%ot_Yyi_j$Z~772e9{%JUzs{{>f4r45!fPPv`F+{GPSuK7Hiz)F#vR) zGl->J89nfK$nxRnI_1@pFspy0>e_Um2_-`#{)tP`gHU>M_WCeU|@z+Z^!Q1Q=({sb!Vsw(h=9aVAGym z@4ETZU;7CrB!F{Bc%x2*LbwHFd>T;JXuq0mL1B__`_f@;-eSzNn4UEU6&EYs8I6e` zunex@)BG9t2;&WtO5)BQOIZH+48vIaH1q<+H8kr()8>R$P0$0Z^hfC$)|U2t!S9l&}Bs>%|N~ zVmOZ#ZuyDm?5Hldsnv9!3XshsKCwk=$GC`CQy*^+I2WLCnLG%av@9Te6~JT5Se+-0I?sm=(i4Q}WV9Lam^1ST{okMxTDV2()`oG? z6!(MU-H7ki`58YiKv>gLlLsak^kP)3J$6}2x^hE?Jw&6V{ydeX-7-ly{%wIdEY*@K z3haT_TdHqtZypl8FIvw;zLCLRz)|>;NJOOVvnBxiZ~gXdYFB;@ZJhTv3Ec#`ch%iA zPnr^m+?xZ=g1btV4_H2n)h{Omq>L@TeTrw?Sb}~ab?{gt*w1W@__qhYqYeYVPWVvB z#9NvM+0_}_x=(56KAuEFv$mw$ykwKMi%p#E95H^(ZpTA9_LtJ}RZ{_fQ%Muv-2l4A z))LW0OCmbng6?ExO!RJMW_@SR3EyC2qaf{cCSn-_pJ9;)dO`|P>#A;KRy&n_qAv-U z;21IfiPO!ZR<`-g>~}K*d`$eu*`iep>~!JQXHBe@r)KLh$Ms0BTVKJ%e(D6r)q0q$ za)1b2pHw=s=gX#WAU9K_;w{nTmk(&}4%dxv-%Rr={kFSxh@FLv)AT9%Y^u#(Ov~II zF#>YQXi=`?&wrmiZ7w1kxT7=L*5ALTb7uD$tb)O6ohFOLdkN3Ij(!1`7C5J zg4wWr0Us)DRG?9c{~2C++hb$II{Ze3m9qF!?cWSJVXi;!oibAHukqkfl`$MVTvdZJ zcWYfVv6#8m(ve|8fL36rylFQ3378kFkZ}DvU2rdCurp)L6ej^7*ri+9P0rA%8HrXx z+EoQ9`<)R>c~%$s2vLb2u-w5oc(q5%>g? z3u@W>3FNc;zRq}=nvF($q^wE6)qqLRU?IMdw+vkV74!lj%78o@Uj+!2qd8syfdV>F zVXRIf=p)&wIO_y6anz~5B288oo9X>?>UZ`}JU1*jITxB1EHJ3Swv5M8PNSXt(Pp_- zu~X$T*kAfkLj)csEWs+W-Ky!vYeATwI*fX2bI)FLC3NEyrVYHV?_fv@o`IxxB{5qU znitp364-<~{Jeh#mcQ&3cD^&uWB)xZ1E^TXPew4x;Q+Uk19wh<@wPOg7yQ2v>p`i? z!D&=uo>P%i$xXog7TC7QB+(yjzonP43$i*Y$ek zo;N`LY^u{lu^HqV*lRS2ro}b-EYnW(nquxT-@UJd(=$-AitiJMklTfV6{;K8xqf&m z);0rKz%9j~dgV~fsC@jP@ua8ET_uJ~#?b?m!&p7O9?{6O&TeQk@LOIBgQeQas*iY{ z=>p-%Y>-!9-^q=`PUG#$B?XjSU*Hfd(vFFe=MXwM;OMy9jm{hV%3k4&N zV*q^6jo@TYRzu-lzzsFX3>cP69pFXy3fGsCjNYXwt6dK zKk7ibHEnxTGUKJ@+n$;oZVz-vdo?3D=7f+s1lyjOHq`?w{C zpte*H;rETMS>i0>HE8r2?Jpx~3JEDj`7vzFPHluClAc?yex%ddnRVBAUKYq?iXs6z*Fg;PLsfy=!QbX-U2qlNh_e3FLZ zM2Xwi^q%mOJ}4O^5jKa~Hz-yEV{(@*^g*jG?3ZY9GrA zU}n|`>gN=yl)eBK1oQR5v(rC}Gh}p~9Gz|xKGaA-wihZoq=4sU_>vzTEiM+JNYZ(O zWc*UrlCdz3zIyQX2fj)=UrdMwOk@)3lGL`2~Ic62JqsSlAlA%;-%d zVs_}Rj=dfV+$SW-@vmX?s29d6T$QnDWeXS%Df7 z<&$jYUuWlHP{3G3=QF|a$Lh9b~!cRAM&%O0>du5Mduc*eD9*UKF zzNW~Bd6xx65_D^c$mj?Zh-wyCYTRkd&_M(K0i zyB5XGVU{XfKAy;fgchK=pLMI6+p+nT16z$K6|qFEiE6S6<1q~ql9K|;MNy38LNM3$iZ`+k)*%(vr;I`~EzAFgp7=VES71$o8kS%ii7Iw^C2g-=x0rlC?_6D*6(`H?!%NC8u-M{KHIxO!%W1*Y1y5_0}L67iB ze0lhrn0P>?Ed{6(hHo891H{Ee)(Ie+b8RY$vQy+IL)!vmZCp}SeBLE+HZLW5d#F}E z#YJqCWl6|ruvp40-$yA38#r+(ebbcPhZhhf)8|=#MzJ4fLL_e~<|L}atMz$%l;ZNw zJ7-c30UcaXckgc`V$NBz@!9;2PWIkBP;{gbI;nfNz@L7x^;0l5yI5))!A(xo2|Taa zI7q$*U#QK0=wtJ#80#nWIUQHGPmq01!!{hgAEqu>^BN4TRNNJgB|$mqrZ>QZ{`!(2 zfY756rw(xwhbqPfi&al6YqpGd|59(=fW#0xIk6G(GDZq2e{`7JC7fiHiuDSl`LJPt zjIzmG^!C{2XtM_SyM{T=ls;z~$(VCfQrxqo2~`CA$_3?430VO-MyuG;5|QHC$-+Ay zJ5$O;<^D7q-5|1a97tQ-<+*yn#P_6?Kv%R*AVpf@+8i&PcK*&K*z{}O@+u~;epNM7 z{k(09h@k~;WtgW6E%MA*ptsL1Z27hu%+B)9*`+829o30VtNrT7OV^M6PBxJ$731+^ zw!hdt5Cece2v)akr6K8}Ki2WH9p#{$i4yfR(~q2AXEWyC5?0Ckpwtuo9jlKK0|MQFHWgUK&Zz^71?Hf0nJ)r99ulHSC&tEi36xrZW)3>E}Mz ze}Dp+US-j`ZiaLK$w;RNz+9QC*2i&cv7i#3RoIjpu;pkM-Ik)qGnJ?N=UnwbqRsTV zYx`%awj!D9JG2Q-akWPxV&`bdmZbZg5ciOWfWQlN71m{W11ulOCvZ#)CQI5TES#(b zL@Jt(PX>x1bV*g^z`j17;|Xa^T_qxermkYZdiI2wfE4Hph)K)M$U2>hqk_W~2vvqp zfoC7AMxEc7ZAFmBTpqLXW^TfsibA2ymHN$b`w$6#5^3YsFF5iXdlQvXQ{IH~j)DHw z6-Oe$QDaGSI8#*0nJkS=Gm&mWksdYylE@4#QGhm)3byo6wmTu-42)ZuA7-I`%6r}XKM&8BYoA-GgI#JlG6RA(b>B7DcK^nb>>8|We~$Z=piO&XeY48$Sy z&ATLP<%|gWQegdfM1)dC80P}Nfp5zamYTs;_(pZOD8%)i;=4T(hVl7h1X4YRXU9ho z_IdC+mQ^0bH@(L`vCdMsf)hxl<{+i<%HUTM?tB26AB>qxhSks#vs%A}J{UP%E z7e^$hGfxk2h^l$eu0w61tF=T#f&tL&pQ(6rgE)yfDNbIe00Xe?t25CT^fCJ+Z;IO z&N3{FT}&Jejh6T;`2ZWkHs%o5k3sxShek*`f;@Ou9D)z zWQEXjbG_xh!~NWCNb=*%gc4L-z-)xGJ^=6N%Ql-DwAaG9k212~vHFdo`|inAbHuuj$ro4 zX%;E#b(k3A^caKZGu^iO`nAFaG=A=4ecN921g%IkHZ+ugXfn09Nie7T#U}=Yw^5MD zX_sBQJDx-fdy3k@=R;@X{_5a?&|WB(cMJ+yej_l5pngb@(ZI|c`ow%$xkN|;Jl3Jj z5f_N~lr&_$YS-$Pg9}BkQ?ASoV5@sKF3uZP%jtLNY_O{O2fmLU1g^;V`>$)&%omCE zg_YIiE$@{@w&%@UQ7UjREJ`0D=P@pwbWt*;f34SI@C1{$0Cxp`v05{d*mBAw8rqwE z@(zW0Ui!3USJ0i1DFml{FwDj%y)Mw_G{Y*a(~a&zu0D*67j*85y0glgSWqbqJRxDO z60uWBp={4HM*vmJAIlEWVKkB38pt7?kBno0Tx%xU{Pp|ZQ6`_MY_S0$LPxvou=Im*qc6YUOz1%z_Bz~R-@R8V#)C4ySuCv1g6l4zzzpn#5&KNj1g-7&)7n8@_3inA46FuFSKOz^fO*OCsV?{ZG)eF}g{ z1T5@+KPM#Zeu+g|3WxLt75Os9mQlx`##UVz&3XO(EZJgwhOHrSHkFC(V4(3F9`6f2 zYo=5Or$@e>46FB+OzUX+WzEh~-a?F6aM$Y7cOnqfd|2aS}l@8~k-iQiV`!y}1$5yDGsS-}A& z3lS@J`&zk-d#I?sPG<+=3BTiaJ#uYlYWMU{+hWsUNbpb%nRTQOCxig=p`Mn!> zd%M)?GKpuB#I%IvqFTmQa1>^HhBWj;Ta1J}PAe0J6`f)0gtuPODgC;COugw(rP>DA1@B{ILojxl5iHuPF1Mr*n2TFlLjQN2zL4HYmgyo9>-)LZdTmBV5bwty?MHt!WgCcYtW zHY~5i6r371`I>(--TTu%YCOHflNF`rPua7L0CGn3Uy`=E23VW$z-w#lJ(|Cf#cl?<>j`$k=# zD2MkHSmPhUE)S6gbU!#GG8E?WlQ*jg?R=kYb9iB#cg>ql2!G7t@A@CPj_;!nA!U2F zZ3KhNBt%Aid|cUh)3KM+#A|J-(z7hDQN70)|G^O`jUeLZMRZE-FW4*+J#Pipf2p^z zltafPco>K<0wK(G=4$57=p}Ovp8nq(n{Hox<`x>*@4?eS`QsEp4`N?@#u)q-L? zDQ#M$*i}G!YIp@C@SH8K*AONDmJbT(wgZV<63KfT2%TS|fech)K*f5UoM*BlKg&)l zrMD)xstJ_{D*n+(46C!f{HWZOlr5gx=5x9^5;c6Z3HM2 zKob&QP^QPw5Mw%f@0(ys7-AbUW|5fP%V*@sxi-s#;^Rxsne9O**9ROEhfX}VRmg@h zQWNi-Az1YZ%ryYuEpSw-q_R=N9A^$YOE{7bSr#hnt@W0I3X7`2wvVA^!zCR|`^X%X za=BqmjovL$LPD>94O8iq2OS(hvow=U9BXv2pNSC{#iDL0-p385i^w4-TMqX*vPh4d z-1MREqPj7QWotGik?9{|789T@Bq&zbrJvdCmOQSE%n43j@H-Y^tdd4-&tlxlWEd)k zp6oEQM9g)i+H{cWm-S)lxT2U0f*<}dsB=vL_WM@O!~TyP*n!QH->*J;O6At_4ABK6 z2>aPjehXW{F*wR4GkAkQs^BOX+BCL;=UdyNn z8;*!j%4v2$UW8jSQT$V~7C)CK%w4f*snGi0w?4*qDOOMqncEg8>@Z`T3qiaYT5Njy zieCLkOIpHt)qKz5=$S#CgXp4O?8+WF9My~CnKu+PSKL(a_r?V(vD}G&JC7f!K9iOl zc5hcDQAUt1^`_1K0Y!BoUkOJleu8(GOyWMxkqXrAov{eP)V0f->V$RNv-)k%@J}pP zrcetH$!X@f*UqqPmPicdOILA$`273%vV+~Glg@HMY*?a;eoHPhRTQgA!Gj_wlt1`L zA`ooV3J1&vtjY=rVW#gfS9dg8z6)Q?5AO|>bO62J2y!*~y3eX8aP#uwL9=Wr>+(n1)V`EE^6O{14vj`3il>Bvpf0HE^Vbrt z-;({WeCW!NJ|#`c7atx96Q#@kN?Y&zhy0W9o_|c+FmZipfN`&?C|7OF{@DeXcNktAqjD#sFh)O_fTb-ASB1LWy zYRDe-o5BN=`22ytdLV4nn~vl)2TZyQHI~$1c5nTb4{6NuRp)z!qh$}kBoz~D=Z_bmbXC5JTOamqnWa^iK)p2^eE zzuJpIFL>f_QPROX$#GY0y(ch zXM|4aFI;wnUE}wa1&c6D=p?yPNZDMr%;aW`WhFL>BV~|Dh@Y>?A}bc~{h$v`iYHl* zczAq~z?_sQr>^Ze@I0Y^<&?_Te*)M>(51-iNKvzB^#zB?qs;=t;)hy22!P^}&!#)-veU6?C)xuzD3+VP7@ zt1KTuF!)RtJ6?$}kNI7-0@6-)8^MmjtJH*ZrVtrBCZXa88oow)JI~b(+5& z&oQyBTAy)LE!6QoMhDyWw(|wt{yu|eeX9l5=(V5ir(UHcEVcxm}iP zu*%3HflU%;nMa8*iDv-w3kWVNCJUH!(^U(PgdHG-*J61v_R#typ{MnowN^r9Pp#^QY>7{ZsWzbn-hbEBOE4EFRvt#RC zcs;*{&cW3B?d6k`3)7M?lhW=I`L$x2>KFKv1RcJttKL?zTsnq&%_HL1La9=c=mehQ zc{CE^dIOhvDKi7CUTgEkdXp}9yBtb;hQ92`3g5M6o}uEHXpTpKHz?aqDBWF|a%xmB z^z7tS(XRzJNR4Ed^4|IkAuEh7IDk0@$FLQvd+;#Qo-IxKy&-ygK*y$(!1R`$6X$FE9KVQT%az0;t&CFN<3 z0k}hIHlSr`(gzxqsIA?kWB6NR`uoYFeNdJU(KCG>c)m*Mpgzu*9aUMR8i9nBnf7 z7zmvmCXp(ujP~b~=haY#0E_raMITSXIaL97{2!5rG`r&Z^2`n8+NZU~Ie(?P?MiQ( zxy^lbuc12)DvW=$_HhZoV3uXVAtgTx`lwWP^X$DgHG1&iwBM4;0fQTQc5wqPeI+}n z=Giv>6zl5?q@kEjhv~~qfXB1YbLEcE%U8%IxmlhwQy#C{ijq~pOa=1|dVtaa=M3a; z;>n`dArKvdS5@!zPk|-Kw6CMEMA}{F8dU_;2~0v$qHQVmXxf2>9j7m6Z~ zj(f`|6E0>=pQ3_Q&m3al@I6!XNa6BxCg<0oFYb@llumPdxClZ{RK@ZO@e$__dKsaO zw$c}}-7h7%X)dUc-ScKC8pn;?nNHp`u#5O)9-U7cSj{hUorZ0g8#It;^Td`}Z zI(>FG3DhOQ*9FoYAxZEfYOG@OTx!mH)}Mm~!^{!o;tG`WSL7-{Tm;#wY6IrZ&YdN0 zPN`4#AYl}Z)6$tQ*I+Ya2#{+Yvw{+LEQxEKH!vL{=`V0V4fQg_{_G*tP^X4fAs{n0 zT@~8-s&o=#)}E&4r)=@>d7F%ECA*rQdYhEoHv?5@OAR|Bq?UeiDjn|_BmB%qWDds1 zh(T<))J4OG_bltZ~W4k9G#Eo---i*LiEn$;%yt}h8_rP&Ne8{8xB(yDCLcrs>5Q+k@v;DV8(qMTOR%#p_d zK&)cTnrkU5EF5(#ne?^Flc)m&OLdi1xZnF@>7VTds4q#dH*BL5RcST5ox%doo+j*L zr8NN~zK;kG<3L!l?_fX_b1mY++H6o2x*I6DXo9Ab8m7XGnyEG>v0EYls$lz z3CHh`TE*a`*FIRrXuj}@l6Le`W$IedHp+yr)hXtWsMXS88sm{v*(E;!rdefQ58!CM z_Mf)`zo|=n{I+OP<&B^<%LE47fgk#*2LAVc2V&JQT&jp0zy4tNonf3lo5#Nffh1f8 ztGW(0&Bq_HXvgIxMeRlqiG0*t=t$drjTfMY$IRn|eMiDA|7pwRixMP2uT0gK_boJ; z1-$u7PsV{zUn~bZ-(D-q4Ewp!X)|PcwiXrl&Q{q!oV-!(iT#JkI>`Z|3LMcCctgZq zzUQrcrQ;1a0c)c)08e)0DV3>&63oW;nsk2;rPZd8pjSul-QnhSLIlv$R;|ExO};Py zG$Fi~#ZRo;K(d>G40z*931F8Z2mi`E4}+9V;P302t?M^@QP?sEygJv?5{0*a=yisx zFdt3UaP}5H9JEmNkc%s4C@)ajCc$|>Y7p-d9O$(kfqgN5TkiD8+ing@VgDY#?j5;% zx}3_B*H6)o*yrzeR&AKEB)k_$h0{U(?NCCH4T)4$GGFz_iw@t5UL7Rl_x?h3K<1|} zfQT4)qbKWIPM015fiHY7Ofk_VZjW*{h^<&%UKQUe+EMk=A)$9D*Oy#CygWs#8%Cif zo57wlrj>D(k5L6c6EoZEr*LYd1FD?WrSwrHMxl9qpCdn2(k# zBm;lXqllf^?ou(m&Ev)cxwjWf@sbWUZA3@~MTJ(-wKuSl6aQ_zzF$n%9M@{0a(zeL zvlQUpIE8PjCumLjFKr{7*#-%w(hKmBaVtYHEahJV>|h}y@dqUvnl}39-$G03L?^J7 zNKQtL@MjBuiIR1piVo?U7a+Z%oy-gO0MlEgmU|t+bDU>!$Am(~_1_|=E+{eBXH)e% zFS=-O)yMu-7@FtIM z)`!>ub>tdPtPvkED_5TYHm{}dQ!5s2CiNh~ymE_T-;_rrHX7x#&+qBkeIn5y`QX0Y zOr6!pPInYmSEuOtoJ}tk7@*@GcHyDw@vT7agj0pGbgEf#e_IY7j7u?CXmt*qCSEXa zs|C?3+clnX72&586bULle#RPr&c3|cjPKDciaoREP`AMgv_vI;$V_f?S)uy2t?3fd z5Ui8nQWp7%ZVPyfb?*^fVu1hNaM_Sn@DjQ4F6nhJc?wxLs{wu!Dh)1-{Yz&#H{FnusS;!O|xy8joQ=_N)8}K{>s}f*k_kjH` zs(eH%XIq3;N!}J9S2P>?2 z6D9&HMNBbH@x#f$nTQFkp-a1fhUKkBtY?*bn^QwLgn3owsA2|Pma#K@d_}~GTJFeRePfaV=Q7* zm%qgrOnHX|@@HHtxo+-GMt%g~_ z^%;jJpzV*kkjS-yS(RZoE`k;W(hjD-xtrbSeFZ=yvEtothmIW~NsH!@Kr!uxUFrVd z`7Zw2nfh3ezd`^B`+;lVH)trNgVeX#o3CnT_?Ijb;O{hPD` z0{*a1Gb^hBpnBktm%K@F^yzt;e{4Nrbnj0l$dE)vly9X?8T7zUlP&FDc?NGDL85V{ z$Q;T8N0swGW}bLU{>%PxlFYg+t_U~jPNqNPdmhq-KI7R8_CTe4KQvXbx7_GTFa3Ox z%wXW0*(np}OI^P;`Wu0@V~*`X_A;(|LJ11vdZKPiuJo%#t{*YtM|UZWs@Zv@oSDHu zU)>DP+VRboB}Xww+aIy;83b$Au0!e(xvDWcqa? zB7=V4MZR2X9<6B0ahSPgj2KZzi0po*t4o7*DMJJYQ1k|NUTfie(!+=Vl=-R^uua!6 zZ}XOH_bY@@Ju@mSndpoKp-No!tfR?{}lGinw zdtcJ;vnWZR{uewY&0Y~eCzlcw9B%OHC#@tb@789)n^q_ajvSE2T+@*d$3%P%QhX{r zpsccuRgo;L6Yxk*EIF0lS^@lzspS$Qih9;fz3~!!BZ$@cilsK0iII z1j$jxZ&mug#E>Pr!iU@)csI>$_MW?VWb2ND%EN&0CNQJM5OVBgkt0P<1+X1@YQqEe zVpI>J80~kzGuZ>#lkAt=725Xf0aZxM2QN#ECJgH#E8hs;2{gv~DXQH@#yd)h{P%VY zIx_@>D=_@C`iA{uAp;?8ziFRrjJU6V_4fshG42~y2nk_w5Z>eoYRROugu?`K-{19y=K%UiO zeMQd6wWUt*f}?{5Ys~{FAcfmSNbY>E@;L~Bdd)pyw{m1~cQKaP;oXx$tGgU2AF{OR- z2&n`Pm_R@)AHY&#*#OasP%8&W#&u)))H9*H;eP>9|Gd`zyLe$V%*EYDb;0u%+kRH0 zc#{oU)8rJ<%~1I~WjdjQ0p!huZwH*hUX61{kbTG)){HGSmCXqJuR^UN&bC*6aPY}; z{@p18EgLv1Mh!DYLz=i-A{XUnsSZz78hi~tU=ojgL` ze~iVc>g57-lr_&fODPi!lVT8O;SZ>l8A6E?-m9PO4sd{-9$zh(5$;|roZ)|>&0&Ju zG)M)^$zoq8LQ9YLEyE_=gzX!Y){~nGwbb!TD)uLo1|bE^v-i*PLE7gyU-v8G&kd!c zVaY=%%@zdc!w@cY^6Rj0yA;yPNZ$^kM>^WuH`hb_b0|(M+G@KOOA~Wr_6Pk}4);@e z?WLFBTQo@c(Y^%MzYpJyw<#+0ZMVj#{BGaC7w}-26+$kz>K|M@G9}7YFsFKx5)jk@ zi;;6|x*zM&N9s_OPdlQhq+=hgpXRTUYjpWLGenC-k`-?ug<9!A7!8c4@FI#?-+OQp;Ql> zYbn>h2iaE$UffsIDRLfKP(dp_ozO#)$ji`J6hAwk7RakG0Jvk$mNMXP2%`bZXsbSf zMdN`7(RVW?DFEh|>VO#46;$yN^>N{&jO;;C=FpavR~|^|89gkek&>`fww?E4EjBVwMrTc;+%y1+jMY#uhW%D(mVi0fQkeVWT#J-GClM;Rgg;gFQLep%?>!rlk3mD zJ!%{`I#&8A^0-?V{nh;X^Ki!z%XEsVDS+My)OTK>`3EVtGlj%vx>0(2X~}gVaLZrX zhM-l<+Kza^HsyEa2o1qft%vMq#b)c$qi#KcRSYek84&#D3WRm~ zkgi@O-kDjN3qGU$%4e|5cM7#jykRpDY*0_2wN-IR3}V4&JPj^YB1IV7{nz`)WC}4y zho2A9HNO%wTr3*1C&gQBM!+naoHOI|$d;D=5h74r&&O0l6f2HMu27smv9~_nyF8Ey z7VZ#7!Qio|8e+M)l%D+R{_)e9%=!qJeHu$+EM*?wrOP4HBJbiQ7V+gEKa!d*{ywE=6!-G~KHMe@2?9{!<|2X#kXDtKQ z#-2kGzUm==YYQKG|JC;}(5y0R@1gEFYNc{g4mnH|;cNU}7Q-)vSAbq`k74I?#)$ln36#r{99g;Wr8GQ@Yn(3zg>5l9_%KA0hDuJY0t`rT9mkB}Yko z&G;z&n$_E5H*~8(BXl0xV{2PH73vvqx`dnE?{OEYMph&#g5u=>u*~%f^l=uJ>VEdb6vdeFB|1wr2fuz%3GTS* zzi3rAW}8xxTT*}a7qDi0)C$Fg&Z4FJ-Q#r&F6y8f97joJrfQxKePQ0;E%;9b)hrm< zus6&;(@JwJ+@r)3*BIGMr#AV3xR*F;lY^XH#0E37ivmuWj*cgfxW|nyLY$>-12iP- z!nkwHVbuit5h36u%BReA_KCWkxabfkeUKG>oPZ8==W9gIK42XVmHBk*Rb<&6ob=Y| zuN|OPyGGwFSTfTF&#J=3;wt@NQs7)#5E=8l8n|J!A(=wB&}LcRW8EZ33V-1NFmioC zEvp3|E(F|f6(d~JgfwZ*T3w)HX`rp}$$scEI%>SeI(>Jeev0(H(0DS(DI{2Bhs3!K z%sxqCbn%(OG#&q77WJwGdXlYCtM+`55{Cp+vNQ}7MRj4$u0gcc-Cc(N%OwL1@ZW>B zwd^k-{|ra*ksf@)FLhy<97Z`Op$^S@3H_*ELS~W>?})Jv`!uRUZ=gy9@{bh84K!vo zVPs`qcKTQ?Q|;#dzeqA06YI^dzW_o1N&Va3>cH#gVr$(<CP7V=#I53M*6VTyV$N8*{!)kIPc~_p#@2ZDz(OLpqvRWd5Oxya^H{8m$s#M4Ni6K z2fhxYp~^yBD0dM6=nND=*|SSEwOu4q(-OOmsNPx94CpGl_cd(gMH&ITaET^E`<$3S za%9C-HeO(FmT~&*8%Go^ldJ1;Z6I=}>C*H)HR|PLKqUvc zt+$SSzg8lnOTlY5wa;$-8khfCv7!J|GB<5m_0XhRGeI5#r0!QMfwKlf=r>QI8#1o~ z)Q?i1O*?o%>@$mpc04rE(sz@NKg(hWLZ7Qb!3sR}3F2yK`=8Y zUKH-my#~{`X#n26Zn8H$H$5OkAC%8m_%-rGx++kgpI0(Vd3UAXt}qbm&Qj~d2LHEu zEWe%K7tx4BrJ;<}$3@(gJsGL0s9rhqVD08xm9gduln0~1$p%kpD($A;`1@36nnVcN zQt5h(QmQ4zfUr7o|?3_3I<=}5NSE0o}a$xpk_KuZ8pYa`|eNCA;^P)d2 z9x5O|<+Uu4hqH0w#(_`WMMj8{ZazH5n4PUTeJM$!=X=azueMizVMo&Ee}tFOQ=)ETqmtyj~|lm{aSc5Dekq>yCxjem@ zfQMxt#9OaVpuO0@@`h)={Uc#x7Ot%#`-gB0`O_U6)~1N!S3ofk*H?|aT>8RWT9 z;)x^;m12E;zhJo?BYn(d8B0y#oxh054b(GjY!Wz|5@nC3w6VAPwgy$wg=A&#xk4kk zzEo90bKVm6qK7V|uBv8wwNYlFp(ZX~qGHbMa;?x9k5hBma3z9N6RVn=7jmFqA+U0ixPz;Vb7eg2MM9U6xy)c7KAIIJ zu(|`Spn|Owd+>H&_Vt3A5>F(-6gQ<+HbEhpHAaO(WxXm|syQOU$|S@pm0yT=>D9k| zmEMeFXJf|G1kx+GoghH+uzKn;Tf zBRc}CpV3wGQ)RJt>3>{8I2126fkwaLEkkAzLc5hwM!F^CuW!vOOkRl+@=6o+h>z@wlHbShBl$5?fSesn7AfjlX@2lEqXy z3T#y|&RDR;Ufr47I>H~09R|-`M%vESxWYMJvrzE5MT57c9<=%2^F?Ii*_nqN4>>{} zv+(9Y?aw-p)ymYoMSmkx$ezACdOM<7u)%!=oetO!<4zvmwVyOAdnA&#Dy%H%;-rV2 zL+Ge-zh(frO#J$hF zC5oQVk)#_=iwVZI0ib5j7X4>;dmFMvoDc53ndF)QAXL!HR-=`KR9dce9V$^G_%Ch8n~27u zL^*I6P0Wxgiy_=rDiLN><502lE{FC+x}rJ%1L`_QOQsTvlSiyy zK*KKj_iJur^KIZ%jB=dMt#}>VL-X6>x3cxU?6xg*UPxOpB@Fw;KN0)Wc`dI1Hv}&4 ziO1%AgIF1dHGJ(-@W(~P=wOmr(yQcL42~UFhha^c*b*Y7)wZm{q)8rTiVO9@7p#YH zmB!maD*)eZXDpTUEyeejdDLQi4a`beE%cb?gKr`Kfh|oV_jhs5nl9me>BB*U*0|-O z=rwB$7_{@#qnHO23v(CQ2Z*ZUx?0V}-B4MG0{4c%fFv7^fIgEU3e$=NBU~J}uGyPZ zvm2;!M+qb5Q_SCLH4Nd^wy|hZ9M6=&7-a=oKNbseES`yt5f--X-rcA~Zv*8H7(S8V_x47zl+Ln1#n=qYBIZdI4h zN&79?up)1qXh*9qpzWp1M2}ei^q0svO|Z?O_xMac61c6$pkj{kQ5sn`5&?6Lq#xyBQI{|1*ZVaG$3modFLg*i6tD&G$^UT_UIX%re+pMW(3P54v?cI5I;uouSr zB5QPn|LiV4oOiFGUvU}h|MP>f~( z$lHYQ&N#@Ek5S&1M-FYZn#bmE7=3*cF!U#diC4XLfL6bBt>pk>-y27dTPI@XOK<`7 z)sM}JE`0P*i>E!box^n;#%&STvpQzAH2y)EleFW@1A)Xpu#^9-J%^oV4b6NgJk%+I zlQ*p)k24f+0DWp@rXAg#-ph$h4VAIe{vvtPP&bM&!g=P0!||MLyZb*u4> z%jE|!;s0NX4?O??00{Xlcm01OC>S6hh(7=TPNzU79_V@8pL@GHfb}z;>{5SnvCj5j z-JpA0Nrx7{#Ma*5sE@gwA;_tP)F+rLK{;ui$qfFnF9s-Ju(uM@x&SxRLEks)~ zy=#ZjFVBf?&f(y%IVNh52VLA)&o%7xe zKG1@>$fy)-m_F!tG$*tQ|HJNlquX;hyimNP7CSX1yRR=JYYL)0?NR-ScbKg;7q90| z9eiMryrU93JlP$amtOpnK;S$ABwI%VZ6kx%f3_2AE`cb7IU^p+_nN1x&Eey zgnJ~|$~lvkDCL+E%yW`jHr;47O|@fYZ(5bAYeVy6*(H4cMP+VdPn*VNMO@~*%%cRU z(da=pR#7=4zgs@y9BR%4W^nN_S1N!D_cSUg%6o;wUs2H`e-BK+#Pzg% zffXCLm&w#G6?G^58UFM^y^g5{;+b&D1oS-c+tpa`XMKxws;{%BC_2$rs~dQdY0c}k zxdSI{;F9((5ZqA`E?W-@*skoP)y22UQ~II*1lz-xkTz#7TuUq z>1vFF$Ot*~hN9f*8TvNZ+$(P1%wX52kL-}riYi^S@MO7*jNEQWn!KtnE4q?U|nc{5uPd-G?Oi5t@lIAEaywlkI8au;_7#Y2)x^k8 zN1CCF&Pf)^{4YoFE9}=8>XV&vx{6R`5?1pAU+Z_GKf5d8hS6c)T9CNgY4A?rVEfS; zyUWzEB?u0A1VCT6E1LRC#d3U!*lpa%LZs_N8bb)dsfSKY7FJ%Ou?*Db zd`3z|0h=anLDY;oF`53IUWUcmvNeIUukv#BVLI%IB;r}Cnv$1zKE{}MN&?bVN;`3K z|18M^9pys7F933wpK^Ant@B9vPQgrHUuvQBbeOq#u;^J@d*jv%jAu&Y1M!_sc-DcU z-iX(ug5Soi@p+P_WV$_;NT+`>g4njc|KpPPM+)x`|E$^I$Om-)jg>~5i@}4V$xLqY ze%0D#qnP;#xVD6*@{xMHY@YaPYAMItMUbBngNRRggQ9vQJj7-Yc3npw;Im6wG-q{d zy!G%_EQTCiJ#?cJ6|#wlY?e_OW_@kOk|-x$=zdZ<+zI(IUR#8Y^toor;z!!OX~z`o zx^dB!I)y98rux^$7mFAz zm;DAM#eqPt)CA)82tmKW9z@0wlWP=>N@m zDl#0L+`K#z!W`UE`sTK##u_YaoIDB&JWTw;|ABL?T@3jJM8t*o8R_U5xuliU43wp0 z6vq-2bB zMOY~56jkXs1bP1Z(iKtER+pqXD3H{-vAF67dL17zyMb_Hy<-&_W)0GyFd$LJ2wwQXBS6%HxEx^ zYxnYs*s$cRl$4UP*r1S@^t8(A$k^}@@ zoI|9-jqRZ^+XfZJwt(t@zeXPEt0fGlpkJi}yX`uf7#uv3Qeg+Ref!-r&k!?&S-%OU zvC2k!UicehZ1|i}NE?#USEjNE=llBEh<&i4zmw?82nm?%;L|jR&D+JAi#0YWDq%Xg~{rcNh&?UA$=j&}}gj&e;Zy%1?-Ky^gHwJK1cD%1Q19pLXUB^~-cX09$7s znmxNq{IS`Fj7hBQzuHc8@6pdyXzv+yqxv{w)bxCpD|k&g*OmO82s+4AQGp+xF)h4d0!8#6(#uN?sn7rj0`a7JDV)QHHv9|RD5^u z2CQ-oLiw?|PZ0#(Ifog{afi!Fr-%r1jrd94<^8cwk>jl9s@OB$>nrH3!$erlgY0p2 z{C^<0`jAo;@#o8F;EGlEf%g8sZ!|eg{tde(iO|)mu$X`j1wb7OQEG?ltR*){iNbR$ ziv+@b(+Q(i0=mRW_FR1uzm@UH#ky6bW_j+_7d=9R0O^0w@w#(T&V8W~`H?R&qTY%?M+uwDG8qS* zkUw0VfL=F%181{J0}1L9ChKeS?>OxH@-TE~Ct{iM3W=();!zV7(~09-jI{3kGw%~| zY_f3?l9T=swM0vrKGW&o``kviNz~27SI+9*~`06GL_F z#gOD~G9|C@8-&$8Z?LBMQqaKoFT0{Cb(@YqCFk-$E+K;WeFX0 zFst%%%lFK`JY#w3JUa@GLS8-m;nxHLZ><1K7k23+`9SHs19; ziga;@bfOSWXsYJ8ajZPV#Y}GbN;vSnq_&$nqJgy(Zi`1Aw+}nhoY z1otQcM^^D;A#7Vd{xZcU)OG@8qk|RtvpQmb1u;(;Td2r*ff%(96^>HN=E{-zy@z|@ zPZ3_ptDVtvicF*Zl6tIDUb=9UbA|JLF7n7bCVMsMpN*Xc=0A^igY5TYm$cr+RiJVG zEx42$fc1j5qoxeDIR<8EhN5rL7LW?{b!x2@n}SItF3&U}ff`vS!Hc*(V`1=u=ZpW1 z(~fbvV84<+GZ}tr$du;w4a?$-f5f6SBI&q_DoRjCZPanh?a~=F#-UGHiGR~?^yT+; zU-Ky01E7WMKgCXMz`K=pPeZP~ZN@wog>I?~KmvETUT|KP9<$dXuoD zJ`~nVwi90#9kg9dnw{o@^msKMhM>dH;;3!gjH&oRrC2^gX6G}Gn(xt`!nRIm=Lf|r zA{M$StU<$j92zU1qZx(e3CMenKo5E7*&8GRRoOsX$c7ai7g{3m5rcf;DD(1Z)xb3Y;WM756>3v<${`ffEdI0K`B`Ff3mX(pE=un+4uC;KROZ z1-j)z`^uH4*C0h)X2~mU9~Q6s5NM^tLO>vmNQdcOaL8TO#$ut&o6e&1{J+9#>F7jqGS&l_<1A3`>AY8S)!ScLUNZRAZy%8(Z%RZP`?^mb5KAZF5F*X@n|96!q$_f zVy*QvBrpmyT|{wF+<~Y~mRldSNR`$sm3H2f@$k+|-F=~I*!bSL4!LQKf%k?dZQM89 zV?L^G6{^2fV>=xM8<(|*U>_vC!|FpumT>voxglq3T;gMgj+5sft9tQl8rhDF?w_Hv zx+*>smvuWc()BdndtTLZ{Mc7A{JWfhl`(6Y#>9((T%&QoE$Q)wCEf1EIIsydhYUWl z5Xn_@vA!vsE(L;_LK zJsGydZE`xMmf0@P{YHoj!*j*y{n*R{Y8I;c4<8GB`_o~Z2!WJh?$uP2$CuNhLYlJ05R=1l#P^{X{X&%0 zR)wxxIrs=-pM&Ta);?;_xcJz+sxmJcp`!@(T8#;zL{=FK+f!H097;J06}!h%pNuPy zu6~m@r7N~7k7^=JBbST%&$s(56b0qM#F+d9Vm?!Pi(*2YB?b^G+@%wg{m6i8$r#XA zHiv_}@xuXcNk8))t{QrqT;C0S)A|mRQ>0xjoj$Zt0ytA6-CJ{%D)Vn{PPlq9FBu(2 zgvWVM?E}IG;OyHaFuM~cg#^hoWbWygLX*#rl6DEk^x}q=0imX&{R<wS)#Ur#gCw|P!6wfYk4qP%nSsQ%P?4_zG=L<- zJ|fOw->MC$tfXpmE#s+{H-p8ZIg^H4vCEGKLl)cF&I zsK~jn%He+v!8Vw7t9#2(X|u)|QIq6(x8~>X0HSFv*?>6UrY0pA`u^6=h(=G+~iQN zQ_%0#jFp^*lc3X;rW6dNdfAIkdm2lR3`yDD%!^o`NXqfrzQ65(Z+hYQa7c;+ENblY zLSi&mHmjujwBLI<(eZKF*UhQ5@R;ENsy=Pxe>Xa!2hUd%j!F4gi@Ig@GxzKcR-eX! z^7$TqR{t|qLVxcd4>T|y_`|$}qw#g-b5;r-Qqo##B-s)<-mq@F82p`PwT0M@e=(twuYzIBV-mk=( zA*}Y^Z@HPQ-RKUg?!?CXZ#uBhdH|a#hZWd|UOQLq^Cc4LM#m=?MB+gY^aWt`SR$CN z9W__v%-?>B((t#z6u(sDSu(?3j%yx%`JfqyIU>n-(HM@g7~fB#b0P zOyTGwcSA2o(eF8?`+Ee@n2?+KO=n!T)Q3nspJ0Y z0$Td7?{T;j$wuC5_EAGehi@!s+5WS-B}TJmV-NG*TF(fdWOEET(=WY%*bL1JTu1Kr zqp-JL+^*Ad4KEn&6#L#7^%=btoF%S4L$w} zcxH`{t2ntDlvvR?;N8s*pQWCjR-7{|Q^Y1Z^h+dWQmWhMwzM%0q80yBAaUAPOnV4o zs)i7=CrT%%N<9hTJj9E)rSeG@ZJl~86TBiFt12>LOO3H@Hl#@BHZqUFNNg`G3QTBE z$5|%0yXWm@E510*8-$*Ie2k6_4}^%Hnc_$nxHu$W#s%q7-OPM`O*q$-RPd13n!^MZ zteufPk|;BoDXwyvqLK|6l$)7dG-^eBd`qaqe{S{wKSVvkm*r}r!lU|msMNETsEysI z5iLuHp*chfzt*TvoQ0k#6n$b9b>??k3M1A2NVK;pAw&r2`eNxs2&Q0x%^`?5$ai=(98o5vqpXLzgIc(c%X9AV zbMk2R%3j-$oj&L4Sx0Sf68*@xka$Q+O)*8HDyyqgYOGGMC~jDSSnN%uTEJ-#+)8$Y zhjmt6+DQ-^II@ve0Rv9veBIsgEhFA99SueSI*=TcR?N3T7=w?*7>C$~@qC0%-wG}! zSgc@8l>6WKANjQoMGu+c$PY#)X+@Az$~>Uf?WK$p6Y&Xr7?mwo?YH&a*}tHhRV9RC zI<|D+QMqddv^P_(SG{7eF`h_HecdxZh%Z3jSmjgNWp1tT8e$Bgrox)1o)oYnyj{bV zqMNZcF6)x)Z6`@Mr?<#NdrJR^X6%+9r436yIge?``AoNTx-j{PBJ!Wi2Xh*X`yCZ_ zN-e+j>eW1xbb|f!`5$hdsr?tp>lD=d5 z^M%g5^P1*3cWjW(s)ppRAK22>G*0hl)wtF5?51BR0MIuCU`*B6`f)dFlx^{L$%PK= z@UgN+K!dqyzbcy6HNl1bGPwMjv!u47G27&r{?Lip=a+@zWA%HMPa(CX6E`Bjvti>! zC@5)&*V?F8+h5bp_tLJbOdAXAlzBILkO`zW<~%z*rF=HKSPVSL7f})iGFQb-RuWHm zEQ?7qfgp(r=_(UL#^qfJ9>6EEG@ziuRrSL0JGn98@8Us1BB35iGkCm2sk82+wF^OLJmD5f7AAHRjkqu(zQ#e$UzVra_leo>j<(B zqeWj4F4dWLh@#&{tWP&VhcQTNxK83;2|@!n&-J%k2!&5wQEk>Kw+I6QQDbaCB0_5R0E)r{g3Gw;tX}$bM%rQs&df`ekTA>$kmZ z6yoUI@W5>fng5x>Vob#@DTra6nCo`lHNumkSz1Tq7p)L%#SeIlBHEJCYr#r zv4=;>lDx_{W~kBBYwjuSp#3 zW^KHz!JjR(|IGqe2Av^Etz?nrNIa&9h8&^6*u5GEjS2R#7sUW{m($zywQL?NUG%rY z>Hw%<8LW|B7sf=ywFFyz5ss8E92(+$Z0#M)0hIp+qm1q=?L}0;kmH{Q)X2QJsm{oX zLSmE{{Y&q>28~)B&pb?ykJjXHt2oDZ>PJ|(QN-W@eZ?tnB1870D~PC#iny}Q#<;Cq zLJ<4ND*q+Y9!4|&`EXt8gGKpy$-2jL)AogC;an`kxd>iKfl*d@8re6gq%*ifo5hVm>GeP+SSwIVW~T{ zG@?z)QD!g*kB9VY3@?a&tup*N(y5SY`o! zRC`Fcu%P`e>#|h(nNx{^@2%v=oCz=#xUSG!7ipyk^0`F(rN~?QU9dAvRU^WusT3Uh zoG+uEWQ)z%UlnQ#)OHiS2ZQWZmUl|W}rvFki zCTMs~4$&S-aHPvR5HKVB#doGC4FLh6DXF2UDP5I@glOht=uz0KZXk%^YEs&yG?mXj z=PS|;Qwt3<(9p&zMl}p*(l)=(jR+S(eFGmM7<%juXYP;T_fepnGuDCFGBGurx;oxP zl8I!t6jL)ABpH{CWs>LVh@1H1)7se4S151}<+iKHblwoewbvS$O$NSVQt4x%m_Rtz zYharHPul!n0;l|c!sh=ka00Li^@401pD)q zGnhd!m_}ia2}JXt%E!p#j<3dpuMlMqcv)z z=%>UkP8}~gaMsE@a?P)j5o@oXdn?&XWm0axHt%sB47X0N3tcSV5^)5L#b!0d;eSWv zhWgdorkf$u#&Mdt3An2uL$z{#y1nRH9xA2BS%=l{mSNz(w0FL4RleH55A)0CxDeBb zOUVVu##L@{=}s&6#<5vk5DNzY4EC|Zj|YpPS9v<6Cc&TGaX+9!g;Hb zZO7vOhkPgab6esj`ztfUcKhuED9r#mK) zS}L8M8?IR@=xQ_w*@iZHVZ)k{A$~ca8(fR3y}JU5HU4e`dwv~>9uOE0&Bd9uB_5JV8Vg2qG{Mm{8a5!Wg z0(j^ExZB5#8D}ZbQGpVuSq>|={Nn-Wn5?ZEp%v@*9p|L`qv1^}7ix}q23)k?Yv*V# z!R?1yJCGF{8GtNCQhKBW1&@KFQAIN&N-wPNn86<`p75h+IrBfvteoZ0+Sbb5?!QlI?)RihV%VI<*F(Mo)l<1 zITbUdi4=@|8!unp?p@rE*0iXY+=HC;SL!M2p4yaW0_!NP=>&mNwjjgCL)=I(fg5yU z{BBDxo7VaTpEQMpfZRy%9f~41jy--zrzDyeUJa>MlaU<$LD5QgIjAuwldPxJ*&lFr z^H0d>SmM!8?`Z2pcs{@l+h72PZkqcuTt3&=dRnr#8^37tb5`x& z!fKGYy*ric)uN3#C`g(1l{!Vz!L(4%v6>;7x)N6-6g%z`rLdl6?eFkF=cU>mdf1sN;7o&yzrz+Ug5y#TLm$`AAhxIUz zIDZ5)WZr)W$z5CXC1B<*9ZsU-9jqMhxMA)?1i)Tx;zx|*$lA{+GU12{H=822q8Di1 zoi5AdtaFcm$97zWo|FK)FH`?T<%A~z;^r?Iw0sKm4|365nr`$ ziZGjrUwW3Y845H)EFg3L!|W2a#Y{R$G^Z_Nkz&8cg$LviP z)1kN+n_uPA8f}L@BI0(j)evVB*qBPz2nI%0A6)n4Kk%^RZO9PBh`2uG&oIZZ-mrf5X6; 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 z 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%0DN7OPGpch>z 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

    2. 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 z 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
      |~U3e<>A_+#cKO zPpKTp^nkPZcqh4a8niVw(2GFKUTiw;TVMcH_0n+Xx|+I^WIJG3$}1-dE2~dYUpRke zWR37;Q}c&cJKEnV5IA(2XNb`?57a7wjz>oniEzgJ0)=jH{(=HotY&gah+OrE=s72 z(H%)T6xgDNdf*SPa9|xNkE?NC<*67hQHZctP`p)hh*KcZ9j>gS((wh1i0*fe^&!A|iwI zga`Q4Y7aryWjK6Nup64`^1J-x##|DobF<;!A9u5{C*tg_fy3l8l%NBHV07xiVqEX^2`qVAd83h1lbg2`&700aIt$9YM_eAVrJ_&=ANtM}pl0rFl{qVr_ zgT4Z8Q^nCZ<<#&tpv9-k&-p2R_9C$S7`8H$qN%~Ti>n>i=?XEE%YZ%M)>k*7=yi#a zFw65d#+kz%r7OP@*O(}xs^<2`oq0_w?{UBOa|TKKx0v53#w}>`KjFMfrEi-A5G$z* zBE$jnMmNOnp!DLUu!RYp2H+%Y|F)?ERW}3VRli&5a;8?seYMC)leR}xmcrl=t_(c2 zC3L7$ebhmDpCnP#;QAf5BpTg6_3quUVCF^nC8UXCP&`CiOB(Z;le)@?uMq^zFkmV1 zacKQfs4MpHarH?(G4(_TL2Z9byGN7K^VlnMV9%q{X^(c51Z3E2TKUn(5+L#L6yYqH zkJJg~29Hd`b=^*nHy|LDQ_wc)ZxPf;#(E1Hh8#~xKv4vx&;C7hYc|)Stbbj(p>hrF zxeQUKT7;}`qukbkBN7crGT;64Xn4!N$F1+TDtbsPIGSNcB1ad<5-FCoW{O4XS zRNBk6k&HH6%2~l!Zo2Q0261>)4!BaJQnvCox z9F8K%r|uG*P^J4q7o!`la=orvs)TMRVYp9OHA=cAz5G^MIcURqSCX3Mpf3&1 z3;a$apEeWtZl@&-|1YObz)Y8tTquzd*UZj!;x}9c~iffTu~AvEVb?lIm8@?Q!fl@$6voQqHyUA> z<9lj>&2zomIK+&28kc>~r4x*rfpja|>1H=3{eo`7kI@E(U`%gHthuB!??7Y=kYzs; zKrqjCbB!LW90H815be!Oenh3~K=m%Uf@+ujTH|M((8DKC?8iHGT`{FJ);9%*3fI(A zaX7}i&ut(kp1<%)R{vh*UEnZ=iW%ov%*Om8*2AU5fkCoGS!pmurcuSs#zK8G2V8-% zlAY=&%9xc!;cA;)w0D6Z(M@l-XolvK`Ljp$wr$I`Wi+x$66Bi%)-WPX@>W-MYKEPb zCV(&XFll~^enjoMKF)FaY+8r25`ThiWpsPEVgP={H32@=l(L;aO5NvnDvhQW=p~PD znPEVfU;?l2{>JA20BH1z+Mztt5nbo@AiTuiu44z?9VjS+!`d_e2pUjc1F-LXP?kJP zpS*o-YQDQ*uuimbW}6V58kfqt83&v33qpH+Uw39JaA>AAp}>mInwZki6US~E6VKZv z?sxy0;h6xtq&?3U_eZ#A5o&+I>n$&U!kimkhPrI1TipwnbVk|s06w=LT;x@0_%CBu6v9@SOeOJzgaI8rJ$ zOAosAr15i>09g3rvX3l8H)Gy}vR4UIo^|@SHzFJKAH889&zY^|S&8-DT+q2jFhH)U zkj-&XrdtJ06D!*(OhPlxfm=uN%~?GQE31@hmuif1I@8EI{^k9{@BVj8289XRM2bXA z)Th&X6L51=LrEJMDBg#HPh#fgXMz$v+#Gj@gEm*1R=E<-ok=c?{Zj1t6yuyHR6IrR z%~cp+B)nohZ5{iL-J9{2DoJplYIuGk4Q+;ofCIZ<0}An zNa( zU&R2@x~}{lJLdL>1#;tFbw^e$-{niQ)-dU#Ep%wCvc);tb~J_H!kT5wV0jGV=+vMA zJwMen$W}1-u@YHXXW=wPB`1q=r9)o=_YNsi74Li>(Aa z-}{M#1oE|Fmy7>!3O{UYNcN94N?;x#`Gf&EM1b zAq*9eE>f=GXeAdYzqafC!s%)o7%XK0F@){ShwHtwn!$m(X}Z^tX58wWtFtzir6&Ml z^RX*;f>w|l1Sl7CFj@@%|KILj3Dib6)!(hUiv#JQR>)bZb_@I^=`Uc%PSlg_(;Fjm zvsy@m(c#buaF}YY4bqC{J($0gJYUKX0196CZ<^r5yEy$X-t4eOL#B8Nkc)H&gzR%#caBW@7>J%ggzZ`b*l=g*9-DI zNNx%dvfUu}Nqe9fR7=1ho!Ueean0;uGB~d*khtPw6V}L}IA(3xvs>Xm_h*hCMHBU4 zvO-w^pO+CrERY4BM_;p^!odk7fT8!J2bIyLH_v8Z;7xG$Bc`GYxhBMI4%HU`c z!n&p>O)jhKC~RTdkC~dGxeRqdQOLS9G^6A{_8GTpY-5%8C?oo(nE?3-_|7U?rUIYw z>H$eWW5ThAWB0XYrtru@RUk9aa`G{LwB#S}m&Ui0Fs}WeS;PQp_EKDppCW_4x^5s< zgIn`}+5K$cYRwcWV*gz(+s;TvlD{akRxBIt!wys|2+?^(ko1XvKu0S8L>p9{T7;Sx zE`D0$H12e$2j)d0fB^h#;@8leRG2ZbpX)xFzu;$)_lrSGL=Qt~<%{i2>x3fAAoFPZ zri6e*>0UjWuy&|VXJIDSNf*I2W2(OSN+LHIu{EA4myf&UtErbH{0^=*HvxStL8)E*uh>@ z2Zp6MYmp{Gh2{}*5Y#Z^@d#!1b`91m1Lp%}W_ppXu*I6P?{SXqIbx+%u|BWY1Spn$ zo=ZthU`#vt3*SkVy-BlJ#x2=<_G2=vg0|>&(MY2Z7)LxZG@mMo=@kzqO~aLE%l?~{ z6la-=WXv&qUHK6tEAXOkFqdUhHw^wFAe=K5CacdR8&Hb;6{*ip=Vm;{NJX|M4g3!*ps0^@1Fg>{u42 zq&5yyvT;-DIHX<8+)s=jr&&XYJO93jTZ-f`=`)f>GRfhL} zI)N(+PA_Q-)Y2kZyXc!l#Ckk0+<)1zh!JsGT?$39QU^%bSny4HUO-U7ziB#lhuO!Bt(J`+SO@8RKqx2!LRC1H6X zfJTv}fJKCbAvOo9wIcD|XI$byw6ZQiy+R-}ZH*J!EAfdW%m!8O#_P$WK61>}|I2Lv zclzb$@;qVVaf?sf8MO!i0J0bRWfEYZxt;V|$yCHmOxTm!5%DA7-O)}pNxhA z*Pc>eV!X!0JvcA{A5V1)XX6xu-F%c+E0N? z>#hMgA8iVLR|E^&avlm0)pXcP@PeJ?=a~7)LQc)%?*}XXQRo}{27ESYXA(6C+^7Dpx~im{gNj?q6*gd`w3H~4ZuO7En4QKeXGG02A1n!p71p!lVGg; zu$DBwx!vCFr);NmSJ&nAH>T^N&7&BMK|7mU}m$te94w)UlVL zoiMt@4*UkJQDt*zEdXQxPVnA*Sv_#oI z)YlEL|BOWeM1G(F)PjG2lI(VGy^u4z*&(5wa? zTPFHIUTnELQMP2k5_Q_B4U~32Tt%1nvMQGENXbg(*O`U9vL{0d58<`Sp~=+n%pcVZ zcV7Fbm_TNI_N>>m?01-J-Yy~^;f-~4(rfRpZ_du8_gDP|XE!sQHoq()QhOvebK6$v zhkAg+_6Gueg5YP$%zOZKE@S++MZrOxHYx9%NnWl@uXR{6ZnA~Vn275PsiP8l zN&F9Stv6Dm=>m--dk4u``+MVL@{>f{@@6&tVq(|C`3(T6hp2hJpmXY1QFan z^KfnqEsts2%^0qqUL~^eLtm_p=(l<>sdiqWn=)WA57uYW@*O$2K8ghX7ys95zt}$1 zy=fm=GHR{9nm081{?t(K9kZwA>x11@x$`AEbnWdVAML%*46#C=u+1LS&IxSr0Eg3a zZ_s;DeTAHm1l#G?u4z#u+b&mm064&!4|U?QijN-CaDaaRST|EOs0@htUVrL?6E-qH zj~hsQDo<;;iHG#mwF~8LavSxF4_vkPg{yn|GzD_4m+o16nVQJ1nQM?5WLSz*^QiEC&d zyoBUFCN%*N;s>8y#vaP?H53GRUDd6Dm~Y0G%vu#s4IK(%@ofDK^dEbRurR_iMv8Au z-4jrw_7hGxCi^yh>0y8*;H5XEWVTyH8QC-H%^=&^Hn|E^4|_s+fzk!QN)~``|I*1h z8yN1x5?B&+%sn)kBj=uBDH;97+e^Rxy$)($8@1bCW?#LvOC;zb+8tV79mrQF_A1)`lPv^*I)WDb#!0q+|bbn=9J(^uJFDGSDeB zVajk5T*7~ZEas6z+-cvE*R5{5Pi5EwNPnl~!BTOk5}jlbczBK@QMYyGDzOZM1AB}* z{!5}9%!}Dxg}8AazR^#MqDhdE(CSADajH2geVsdm(EMWl3_7}x3!J(fU2FcqgoRMe zJOBU#0XT{B&VI1yvVhQX7Wh)w*aOTntRA11s0 zAQCw{#NW}fE$1Gp|ED{&qGNp-TWCFzaoJWpr;x8hgj!Z%r8j2EJ+K9HQs_Apo_JV* zXgQ({as?EU^6G|Z`WBEse0Zkvp-iCF zk(0vMFfHfVZ7RqBNaT`1l^VU`=?7{dAlKTkxT&zw4glNC5iE89sg8tGG{f10!km#P z*Kc#*=mXgc2pdpdCR;$wo`y+~99Z>!tiN6dXpCxnEG{f_rPkh9pzII@lbu4C#xS)MxT&cfq>@SrXvbioj<8{dfl zsl(P!kGg(ox4R0`%BTinL(R&qW;2Qe#f1#A7>U?>;8t(6pmS*3Yq@mu?<9W979Lzh zU)R%*Ct!-Feo;y(#yX2l2jXEOg9(7pUCWFWE5Fom((xqz$41W$Nrt^~&>nCxZvN{yZim2c-Z2m2!1Z_jr~BISNS zZaZgx{C6={P#3K%zEN>gpIL;;=;{Z65by}~5o-NRXiVfsz?p)OYX~%B_1J`)qL7dz zn;nh~@3{T*BD<*8UJSSsS({k&AqVQ`T#~XmMfdyb>?wEM&~L!y2flS8 zATWinQ3XR|gb;?KyvK=GDVpp$9@YK*ZxEDyOkr-AxeW*uLhdr`Kpo^pGZGlZXG|$g z=wvtPEj1oMFcJ`;YWt!>K1NYj?mLwVxS`1X%#kNiyK4FS0>~6Uz)UI7C~n>az-2qv zS}ECi$%SF+sNc8*Se984hO8f-U@BrV{LF!{3^hR<|Sv_FH;f`SqvWw;q(YQ|CUeA4$P@e`9hsD zIKBZ(ZDK+TsdElFiz%R=aoY{*?u`vB?6DPvcISfp3hY=eOfw)705*xwCVp9@U*Kt< zw@N-hk)@L61?UpC+?&_~aKAw##d2x)p;i^v^}*23TG!{t6xWEcD`7*PhJ`W~+eXo4 zm4az&Kh2XSu(M={p)$9Qtl*D@{8^$=%5Og2@{6lz-lLu5Tjl2LR3qW!nu)g_va&bZ z33Pt+|CFMrnCXG`EdH3qa-kSyMK-SYLlK8lie|c2F(gdL=4^zHpU3zBH?w#~f86bd zeZJmrUA}*YiT$iUVP7Ew`VTm;^KMWVy7J_`{LzIC?kb(X)n>Jc{`YU<$DJmWv) zb&b_$nQy|tjIlcuZK^y|>CG9l>C;FJbp?M3o&MIkRq`B0a9ePu{EzP+>+SbRKPg;d zt-<&nk`;Cee~v>#I7d-NtuZ43A`f)nIWf_PiF{Vyw*Vg{+XL1);@wp#e;`~CkbbxQ zCG7N$T#2==)OqWw+TJh5UcLWL=505c&Wxu`eXp4}uUHG5gZ0ps6w>JMMuM?@) zH7zNDbp2*RQb`>8sFG4&uuH#jc=jh|HR}09#$aZ4B6CUD5dyRD`neC`0)_C&U+;Ylf4aQyH6z=mK8|D4XOAO{BEAqPHb9H0`s zz@;CwWoQ{!T$2D(c9aW!)h`q#a^R`$5m>ho0MWq9`yUc>hhVt!XW=VLH?6+jPwGwj$y6yvc`daNDA?^zeelj4Ldo?> zwH!}I8^5nbP92>V_zV^O#ba$a6bqrw9nN@?YM1Rrl2PZ?Wv%4@bv)*A-pe_AIXF+a zg?EjtbJ|W`1w!`1XqlT=6-&1ZaWl_$Hl3yAuW&Xn3fE4(c zjPfrF|3oldOA%eo!4wR?e@!hf>Ik_mtj3H^?j*oXGqKE~0M(J7=ou7UaN{Lx+yku7 z3+6DO6ld#c_j2A|0DjWdb?M9#9)I77U^)0y1gGErzzZ%;0azL;h;E(cUX7kuf+HXv z3paXkO;!Qp%e0A??TVzg_*A@^Cu9N(O@sa1X3*`dqxJspE`Xc8!hhptU>Um@^iiQs zD>v^ODelHV<6k9MnEYi~ee31|U!5Ag>pa;3Xir5o=OHgRUJd@GLv(Ew|I;M%6(}u} zXKs)hOXT=V)h9CIzNUj4e@G!oY(&bt8sh^D)(IzQ_F%!WoLQ}%_z8}X7_1*RffT8X zpO1%FQKinKtnNU*1E(y7Mi? z#qt0qV-0Jx1_ipUwT&IU-uUtLLmk)ugz~g+_x;Yg%=@jDrYX_3`C8o?0RI*Y9^bz= zZT~y~xSCg^cUIo!!@U6Es`_QvBGtE5XLy9^7Zx-N5`Q^Ph|cj&|6m^vcai@Ea>4|# zVSUW)eW761a45DtmWU0`0lr0*RI_bS1#o$ifxp%`540R_faoN&tybxPfe_qR#pd)I^lOV?3YKMVO&}YcjrHJHIrO3K}|IeUUNZmK+QGx z=2b+pJpt;4ysM;>b-;+5aQ-m2iFoJ#-{i9p^w4WcRw9cclpq9;ud~K z|CAK(-HlCwye<}Q6xNH-rjOrn4x!Xd$2;N)MJfSPfr)Sw$iNo?74Lur0oO{QDI9`y9D+st)~2I@oyKNcv+S-=n?kdS9Ml zxEyf|LnCp>9fb&8gI65W=^3^hc5EwLA~-C~!a-@xy1%5(Kw!5ol^-k!XG7|pYyZF4 zBUaE;!2c*@Kk^l^a{m z{qw5JlC$%UongXL>P4eX0;RGVu@1jyJRAB1{b~7B&Ovb%*X>>;vcws*M>Jiv;V86L ze}lQWZJzcq+a?{ovcX%1Fist+L?3P4&zl{cDkHwVGg2+O1j^s^(=|L#4kh>3_SDAm z%7JV~rP^9j4$M>lUTu`|Zv-N$Lnw$UxRmhxB;3PmJq(}y`-Pm-Lxu26pl4FrAqM68 zv7E|NEZ1@!1n$HGD8}#{|A#kq z_9}V%PM(^Os>=2+q=5^T`d5}27nH1sM5>J*deTJ^JGr+S>DOdyO=$Uj?d+x=4YTE$ z&iyYT!NPSe zAOfTkn@s2RHH+PlNDZy>w_?c z=@sNCdMU4qq^&t<$$PUJK^8swvb6WT2k!z;$2QE`D=*KE{0C5^SSgvuM&S_aw3>>^ z3m2y$+L`_T_hmQn*p@GkcTXL7V79K8|Eb1Q16TyyArJ&$j2r*}00Ie600004DDFJ4 z000051_1#CfB*n4eF2_VHmCoys<;WL+QlLb*8GpI<>_8#2g15Mi=Elhni&ai{1B{< z2@D><>0lcez$j(jky+$bl`VbEV+~{j&&20oej~X>p3>p~={7hzXtHf z+UMF{mpw$E8hk4MLW3`sP}pZ8u%_2i`Mn0hbD76%#d)DvroXTMat<-2RcbXDOpFg$(QBg)E4LH{st{rRl^`ON97>KulVS! zuSeJEkaqDMTeiPRwg(kuS%##T(*zn|JQy_FgbgFdZ}4f8HYW^BSocg(>e3o83M6^) zONOZ10*wi$ynm5C+UJiLiKC>e573Rtm4@z7HM?|5EUgm;_-%ux30_>#<<2DOB-;h)Qe5NW{i8Ayh!UY7P79~)q=g2;9@~{ps zH+dgkSfK!q5a{naTg;T|h7tY--#YfRbWT94s5}yK(h&l$oLl60PD>pNxRmsC{zS~j z;c9B*ZmN76qEJ4%SH9dOvemR}-p^=F*ZY!!xv$F{i?~Pu8^x7NfyQ3kkp|=KJtPN~ zJg@SZXXY@|NcopnGEj%KCLk*nG zzrC-iQ-437YeDm9>`JvcNQ;$wIqX&8!^=1Dg1}|tg49rYi`6x&PB-Dkk9&m`9XMSe zkX|`N0Fxv|U@atprjBV?FOx=w@tppQ#!noi>rS1;G#U(nb}U$^o3E&y6$>=FxH7>2 z@`1s=Hy1F4aXgbB{bT?8k%g)83-Qc3yR2qX!nu|z_FUbq6OmA{kbNLJl`l>UQ4bQD zBG5{{&|d&lV&WQ)Bg_9zzVLq|l#6}TBYod=m)^QXNIz{UVcHoTAPzTR6eBQhyOla= zPo_RLB43+XgWLYGLC}Fi$nsM!_ zLn$U$k)ki)wVrj(tzk8J+Ra^swUc%XMwi)}DZw}+m!i_VOQEggN}8Wp`L6uD9?MKC z(s6ee+Pe!X;9xGf1G4i^@f?=*weh&i;Jd;}!I-bd<4$9vDS6w>q-%ytrShHG9tK|2>N^pWGlu#d4afAt}K* ziI9uJ^!fNe5d%`iz7I~FIR%^!b}G<@QfrGeZwwLl&m z9Zu<&wMb;izea9?Q&43x?!(ahLUC0-5LwU8yF_+|E(`bLkhs6d?0s|idp843RnT;? z$MLpDN?ZeuY4>`)g1!d|h?mQEGzP8j+8%TYdqEV50dIJ6FD+!i0nK)2-~*Xfi{JH` zX`57oda@@Xfuu}nVPENf=M&8JWVr>umP*VhkYfGJk3xk;?M|hwozX^v_%)y*!`s+i zoD+V}nQ%Tv*QY=MK3r7kB9S*Gyy~QA*hl&-MEoEnv?v*cGU^-&hJaJUw83r!_KOXZ z7m&p5c+$vcb9vGyOAe{}0&MK)znl%dSCxRu_qMuuPHhdpCN&I&atwAxGdZ$}GfA@# z8o4el)<#!bcL>UP0HnvJG&6_Sx}I(n6<;7U~vP|yNtCsBrX<)_v;c$x^Xk)|eZjob1@Mjgwt+orI^ z&GGA)){yr#FF|z$9lM7C+vjrs`nHt8ncbcw_v3^rY?-dOE!2xYdoqyE@F-*#`;3PA z+Qxtpo;{s5FeKbM&#y6D3I&H+1dXbZCDAyS4knTd^SGcuKDW*`^YGGcv*T)TH&MVp zX%=2k(xm;EOr|V<2RO+mij1L$S3v{zv;|}hBE-q5WofeY>?)60-2k2UQEFK+ zDIy_oBp4p&txpg$kt7&TtNcXqerQA1#gvP^(2L9t-qh+w6PaNmrENNs;0hNAa112k zYwhrI9fOao-Pu=c(lhNTjEUf)U#5gIDLfJIGq)qMxaJa`EBHiUAAQv#w{>hqq_N5b zU}sR?=)Pp?DhV*-jqYd4`dNX^FS@Z9HP&;~KU_5^ot#SZ>)=Gfpk zQygkvIIbZ8v;Q7zHMjE(8XvPIi^+q9>7t$BiY+^l{8l=cWR@RHJ(!EDuC+G~9Mpio zSIk6(tA!S#X*1Dtro=^Nc}}x`m7uUBXHFeu8>_=p{h)BRxFocLN?x9X{mg{@YhWM~ zMz>orLa)16`kckkZ`Ft$Pk9o8bLa;_2Pc7`X-bhqCtSW|YI(SGQcLJ!ner#;PzBG7 zUc7$MvdIFFYw%u#*OU{EMM@%zwj%wUKJClU0?(f4hY^azDD-}5JI^+ro*=aqB3bo{CLt zHZA@pB^$VtpwY#rcL+X_TJ$`Ku#)^csz#O^=HR4W93}-1ufaVn9fW(vd9A7abVn2?BQD zFvGf6MC2EuExjw$wzlz>(W9p9WM)CjWHLQAcI2%G<3o}VOD*x;H_R4nC!Efddl%E( z9{-)=!H9zlgU=vGWoId~_u20xO-&m%=}MOoL??EqP%@Z8lrsBA{U?MF%O*Xf5339C zZBoTPopyLWY!HGc8ii@US~WA+QN89zHIOcQu0YQ$)sSK8{s4 zT^cuuQ7|nS`5|=v0kstb2lthZp=VW-! z^Zr=>3Yx+&U(Tl^*-IQvCL%}ts|CF{J(k&`nsb_=5BvIJkKu~0W;^4bBuCgXjT9Gj z>Rh8iIvAkv$-{k=kSnw@^8CB-FJ~T`tyxz?NMq%!Argu_i1uzXPyWxSkrA=#9AHbB z?5VG$>DQ-#|0c^)*y{?zCVMu?)KoFH=Tp#O zRmOy-d=sc(oXb^zjo?*V#m|G--LX}su1u^dgFt$!n`zY%aL;D%(P5}_TMIasw0Q*W@ch-8X%GmO@#q&2>gpNn;I{-HiA|HLb~ThtKA*S=nKv{vM0 z3QvwHwpuCV%fu=r+Zgjp8bIf;RQO8EL@dC?NFRrvm{s z$6VCGTSiQFG(ZP0xFKL+ne=A9ZK7tW!t@gP;1<*9by>n`?AFB%Hv$=HOO8A#JFUB+ z^u#Y6!D`UNqj?7I#MS6p;;J~iOWc822GC8vK@4@lRmRflKhKG(l7$-aZAJ;4Zc{YM zDW2Zut~aMj7yCLF95{E+S9n;icPHZpnq3tYTQH50AwjT1+`emQ!~=G8J1qE9lvrWY zkMu;*bYqI=?5F1|O~g~;v{^x?ms-jkJF4i|2A&+RCs6NQuw3V7uUdU3EK2dYZ|gJ( z+c#;U5?(QMM*xC3PC*K{40&i2bl_~qs@!$rL} zc}U5e6s?pM0M6xeMWIz)@_zMGF)QJt7WCl^6i4PqNMdc&Q&FnEp{jxzcE`OI7^GrO z6fiZFs}clbv>x5MuY`QUirimqJnHl;tr}#<7?Jb4Gku!|^mf}BX|ao3oWP6+pf?lo zbG;-lA#X1NxMXw;)Sqj&dU@{xr`V(AiU4syj=$#@gu42W?(H#i+C6zEbD6l7*xX=Ewc(svctcN;cxvR zfYYyI3W*g&wWnWYgD4C#_1tUV0Q%n5)0_~>Uoo$AMas}*bym={g{DHZLG?Q zfff9tJL4tnxmZ zDNX|o-&>X~Sb?GLL^Qge%xQhUI=hCQrrq4{YFrGR+87O z*JtvLnQmSK=S4nxREpB}_VnX9xEID7n=Z7uSO$M8pSMdCek-6R5a%4E>m3-)e0&`R8h5f8a#99wTfS%zVunNDiqw1bB%C_xh$ z{4V&}iLA-ci`HyU3m0F8;+CfoA?yd+CQhz_)zZAZ_8}R6Pa7F*u)_D+{Yuj=_m;vz zSHm35E^;OYJCoH5(Ur}@fAZWejh6st-d(Zp02=G#JF>TkO1vu2{s3G>lmy zn}hO9vYi&eEAi6$Hq1mD3nf&)0A+U&uu4%Mrz1Kx+ZBDea6`2QZA*iB!)$qv7wz0T zbCP^V)l;DUCfw?L=b%tA40WBL!~RzgTJacykNPXL5PdCkS;y@T0v-&u zM03lvW#j_12?#k9dUUkA$*!<-w4sRB|5NkxH91A<%=}A#)V1oL7DqpKlyob*e}N7| z)cmXEZs`2M^w@X<*O=rrgLPU6oST$O>kexnA3^D&1$hKC(7t#OiIffQXo*7s4Yn%_ zGxA1kfl+lG<9!thZXuG^E}Tb*)DH(L8_({qAN6zvOym{8UP0;fN0wambU(yv7*fbM zh^$L06vvmAIQp+DeWL5(cTV1iZOOI$c5b~E)9qJk50W@nn(j{oA^%A=!z#hK- zN9C=CX1nKO^$GmAnhOoD*vP5{Nw}BsJ)H}dE@8q+I_Pf}QD29w`|6+(XRx>2uv>3X zMvIhW-z_({n1gC+3YN)B*xY+IAcpDZvPxDF zYj2-10}YZOi3Arh*{V#Oa4%^Sr_MA+M5HNkAz3P5B@(}$*4X$Z&05!7R{*sa!1nqW z7*Ai{bU!Mu!-8&>_VnF30LRT4jlM@0&Y5{xFHPRuqW0`1EhQRR)`BEMqQ>lpSq*Q| z$hin&SI|I_lIgAJ9UwAhL${BcV*^k*akY6*6Sd-ONie^RO0pFJZ)?ccSfB zMR3SJ10Nuw?ixc5!4shHF8D688Yh{Fqa>cGe4}U=hC+RX4_}3TW&tg9-FvZaq003Nj5?J3a=B{{EYjfqNZfea zcF>dK@eo`;;&~S`uA9`gb8`=y6?LV%>2dl0`lSyY zgn#}k#x>X;5o{Q%1n=v}+8T^Y(RrbuxP0`2G8?bg>_t*)jPXUJ1!G)pO=biBBJy;QG1eEgwd=*VCPBS}>|Fxj8n3vSY zc1YI`?1bJ1-Fd^;?#^1g#QksgCey)(*oXgGNFvC{E5yj?@P01lwqL zGuV}*F79^F&k+0?pA-Qt2*1OMOHA=BTMeWwKBH*uxZ)wz0~myo0PJ$>XV?QorYfBCvb< zbFR3{J@-r7uNN5G6Fs=>5s0eiIROZojgS~~s@N=R9rj#;&gMF-Y&~K2R98ta9D=F1ZY!i?5IvvwR-U|TdW5KHA&CaV8PV76YnkT5kbbn zh*k5P3SP#rr2?Ol8R)!_piGzyEqw&fy{LqS^6@iu0F(H&>+6{GrSgOPia^+LtWj{J z$GU6sn-H(kV=3WsbiKQ%qxazd{8PdMeLGPg{%yx#pM{CW|31*JVjcz| z2(5lTOpw7#e~1(Q&+hr*vN0M%#3=N-ergKVtISCSloyJi7a6+97a;I3@2Y=Nqay2Vcb>^|AJPDq zN&)p$QL3}he+x+?UbULY(1yVrh(D+qdelyFN9i+4F|57Pp;lrVDVO#-IRl-bnH7zF z5nkP(hp+SfKn{3@2Jb*mixN-kAl&vAyw3MXe*hHJ-# z5DH}M8Q2i=0p1cM8m-&5%Vh-OzW%9o5CmjIlW%hwvVN(fulz9s|cDCkgjM9UGa7l`A@S?oZ8?!h2|jd(R9dq@W#AzS5e;3s@Fbw(X!+1YX)TU}+na2>?iGO;7xH zJY_0qj|iJ9vpdyq@2!Gp)xAX_4AaM8!%3QQY+;hH85^-r*EtHrOW| zDsP{h_zg$|>oll9alqQU%l`h2FUo3&lwl@+&4DphKAcsH+Sdhac&viE!(kjdtw8zs zLq!p!c^6qjowj&yO+R(Cy?Z><)I5=1S>XWw$4?LA3w|h|f>p7+z&7)1a9q#O`lUx7 zf0$-x0aEi_y>d_75cf>A(N#oA4iXz#gL3 za&cb;i6gzPN}F4=-kq%gSM4ICyHee5mv0->(2Hw5J^X+&4uIp3!%aWaFBWb6AUFF0 zb~J`X4sC3%d#xZ--?4sE1VVbO#jOU!d(101DBgFT$dfAI*DS20&E|>;Vujd{Ztk&L zc*A2#ntA+=SszawLQx@Dm|c6~(^j+iYuY$EhxB2XwQZ`bh0TQPxt2CldZV=awB(e5 z-Es+z(c`trYh>bJ z&l2-9_aVo)c+qz6%$P|HJExy2yp}wTqeH?_59%Zewh%B{*v>`-+!?c=|S^j5h zrVZ3n!Sb`$I>VMAx(f>9=32dgdaX(2>vYy20p~y`U^)zYBByf>u z{WFW2LH!oJlPXl!Q>x9Urruzng~eIFFY33uIh{-N*;Wmdw{MkJF>yeC|1&mabMT+} z)zva@4uk6rvM&VHJeniCrrXK<8?ocUWHGeAk_8E;#5*Gce}*I6GETRDGmhX60^~Gw z>{}^+?fHz^s`SM_ove3Az3)l N)S#FHMN-!AryPt}Xp-NzYM#sMf;R0Gs{1kLFl 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

      _At1Wt7h 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 |n$EYC(uYy5 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 z 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

      MAe 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

      sEDv4g3Y!IWq*S41iBr;leiUdEp(3h?86wd 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

      aJ{YS!~ne2>L8 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 *QH_%?M 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 n%L$J#snvfHzAW8?x7CbKu&bt7&mrq+O}sT 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

      kxU|5e=09eD|}foXO`qNIkF5 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 literal 0 HcmV?d00001 diff --git a/jsartoolkit5/examples/DataNFT/pinball.fset b/jsartoolkit5/examples/DataNFT/pinball.fset new file mode 100644 index 0000000000000000000000000000000000000000..586f7bf4f01a4eb749644d6e6f36ddd8b3219cd7 GIT binary patch literal 12288 zcmXw91z1<-_eW3^0|Ns^3={<=LTnp7Y50JfHL4d*3+qer+uN|KA|VoOOhMhWf9ig+&VfKk-*n zxidROy6##QR1dmic?*l2BlCk>?CNF=mAyfAfxWY`u;^Ncv2k#Ed(Nm>o!Uar0lvPuyHp&WEQK~TsSvgwfrTuqEcU@}sv-G!c3qJi|HDMjo_F607)@v=MgwfjfWN%x>>a^X3^Y)CKQn3;e`!FLCJN zEf-Q<=^yClArIP}<5}A)$zzw+bOgFTY!`gFhi84b&qwOIlLc(kfu|KZiOT5B?(_os zTgYFh&v5_U<>cMLHsl1}YG51pxJv&;HRbgTFUrSQZGrj4RFa%uT1#P(7kvY)C8V=a zQM%55#=mX!qOZZ}4lK)UA%~Q|#I2mYDFu2BNM^r}d?)!G-|E|r%7OP3f<3?y*R15o z_;$1zoa>l_zhdp=W`{tzzuebcqZN1`U86ho8u0Q5z7zzzrr>V*>06%c{DKD#_M;eJ zWspIEQ~5)-rJURCM_+?e1nk{`3NqKfjyT-*qw&z203UvKDgQO?1($2mo>GBLfK0wS zoeO@gFSj1Hr`C9n8Q|gjjSsi>@SYz2v~c z0L)$Ad+r^hM$IQ|6d2SP*elp#PX)WrwUi~34broD37GeWDs0`Ll8ioPP%_@*Ah5ab z+R47esxq)QlM}{L?0mEPte9t0p+T^<0B)?mzaN&|I;1=aA%s!8^<2u%^XTU;Z=0+Vl7zrZjYm(v=*G5zytf%l*)b~VtFo< zbpJSm_f^R~KGnxV8YFclFT9IBd)!kuu}XK49^Z7PTwve9*6(jWY5a4v44Tu$d_SE( zeLtPQN^5Zl^K<>j%*%wxjH9lScgdiAn5Dt36o zS5AhJfoJHvj*e|3Zd;yn^xZI;jj`14yoe~~;Xm%<_I<;t0(iq=AMsN&**-r`x||88 z``|19cYTPX^tGxZyZj<34ZIv+-&OLJ!0@IL^?3wcf}JzC>gTEr{hPatiJ(u=j{|p4 zagzSQhD-~OG<}W-Y}MyDjdPP%gCpq*bSH?;aaL7NIsY<}`oZ=zY`1l^lF?qlvU+Be zIrquHb?$S*F0+4W6t#!$0MTb2S^J7B*6m8VZ;t}|kUfrv&RfO1I(4PBz|^Nc7`lm_ z_Ewb<_R-WF-;n{Vwnr<`cXTqM$p%;wY%71&T=s6f%x4cp(|hREA^pcR71{re!^_9e z4(J^qm$GV$-w*dWz&?h~K+k|2JYz2h;x6#*pJQkt#us2u*R17>yKi&o))@L8*dt)} z$CmRr+XcMtLJW0-{s1^40rzcILDGX_=`ysHzzRO|=d`u8Wap4rIuG7B;2Uq&m!L;6 zlHeCdP4UhxlsCy$7I}Nf*3NNct2|(t#n*V~)&>#~7e_h3e1O>|l#@TKTgw+Yag-1J z2=Gh6%lHrLU)gbU9DM@T5~ANQ=wEmFa669tz}W@Sb5+P|`Qfke)DX{o0^Y2VE;77! zc^P#(o{mD-?^B=lx>9{X%bEf({YvfA)tb7s;12z!Y`a8#s z{!LEvC+j4N1-1;>YnO?}(sf(;GrJ_xGqfGzcj^!?`rKAV)lH)A_>O77T#I~U#guxo zazv6DSF6HS<7$r0du|$*OqZb#0#E1j)Wk+oH8Yte0Mj`*_@a_I2P3{srs2Sb0843W zErT2zNxgF2s5P*!Al@$@@!%aN_(q>@k z_RUkM7+4?3nnN{Y)v7=E{_qs~68a82V{S?X85C$MUmi@M+Q8x=3w&?#&3~@&?~A)r zG{$-f-n#<@Mp~(*bl%sUQt@2%rzvNAMEz;-Ki$a#&{*(tjyM>a*Bon{N{Ro&5Ccps z)IXK%f$ae=t#C>3`kvL~>(5hZJjR*{T>bj`JCPEwCzbRYDuHLc)sOwBw3GR@(`X^E zMc{7v$(o(AxAQQ^G-?P;&oF#@a9Q31_GzC+2Z8B6I={3fTaBtB{fg4444jI}IFx!1j9j>*n8 z^MfqlnjdIRe(H5LjfU-ZJO^`ZteLQm_jJfH^XFXfG=IK!wTamF%b_md*#WC^{&U0K zzpXfr%%SekZ^PDo*mQ1OVG+M7%%K~=CV}hieT)k&qa}Mu4yn)8_@Qf|@#FQX9NGtc z2=KY}ow@7fQXW*LCq)5M|A$y%=p0^h?MeHAMPSU77tXvnqlMh_>PZp6eglRmYK)#% zLpDwAX`Zb{u+_7*s_#oKyVjH9psxT=^P|akYe`vTuIXQf0ayP5|HLyt&!uhPBUTQLotecMgmjk;*oLEnN``t_FJdo5}jFOL5kG!TPn z?tJvkW*g@idBv3#K5{?yvHkQio17`Z0uLlj2(JT!>8=y z(T|_=4>Rh}eCV1lTxed(M2oV4+nCSoW9LeH!O=W^=tD25?$J(yoLuQUU>XDW zMl_R+VNSBHlPm3mt}*{a)NNk+{1rdD?n*Y$bw0Zl7VxAeFZjaet;id?);Qg_&f}D= z7kPNH2Q|U?4w$Q^*5!Uq|YqIqp70N5hfVtk3Q4Ux1IFVg(M0X$=q zy>zSYED8U3Q3&*}AbTU0a?p)xa&)^l>3;eHSnd4A5}N&lL)W#VFks(cys@9ziEn14 zv?gEr0FLImb;?`Fp*L^%T4!I=_8oX?yL*wle7(q*biXf#JUO$RcZ6F>@O+LvYg`y*d!0K4VD-u!Yp*rSrAI7awUxN^X~AG@5}SKiCN&S*~>PoIN3ufb8i zu*_59J^ZNwu+ES@O{VhcxAi6MUw?Cr)Gz58eO0@XwC>%(^dp-8dQTk3qjq26v-3LA zA&mboFe^82>Ew5T2bT+=0*wDXu*@3PJie}tj2swX#*S6MM$GKYSUZ{UFo06QD+X3F zw8U^Iu#hU-11T5SDPYA5jv3wWKIL^IiB{kl`hJTYT8qBlZ}x^cFR8$FUMiel$+>ny z4`6!;yoQ(i@DBrCa(geKhS0U>BCstBBU$%;Tl-F={&oc9>d&R@b*-ulY1@e+ z!E=Ls7r(iN^Mu{px>G0fe3XKx=OeS%Grqi{6RDrb1Ezaf&#=8;C~X6F9N4ST0X*d4 z-)tKdN)@4N4iPyepM9?v^Pcgcr2P}!Yw9<2uMM~wO5X!p4{UyeDqOGNBhM@grK!Ml z-Htm|H`i^Ib!S?Fu`Gbqy67scuC|s-UR_A_36Q4NW4Y=D8#!MujCMiSIK3h4CZ6ji zty03s1-2S1@C?B`NVDuP`VH7>U~R-89Ty&6?MAKN585su05kk^BeVnTpCMjf&B@|?$w4pHu%bl4Y8(A48oY| z6Z-`=l*qTS)C&4%uyyj9#Y+z^;^H@Pq;=pD;I&dJONYu<^26GA3dL9ku-_X^F>a4= zkhSaMNqy;SV6)~{mO(o&^N?fllmP5DFek6NawqmKzm82bdtsV?oH==$+fFoOLtY}4 zLLUR}qZKi%&z`$Ak;XyS^Q-Hl=Xb(|L~0M7p4F{Kdl-6F-7Y6mf9Sf`c9fNvdoAfr zB57W#XGY_lo|(04lFadzgQw#KO=9^iAel5j)Ok5Stbypf485OBez4mPY{n%8U3 zXJzLbd@=eC$A6z<=22&W!AEk`?I&DXmO=rreFz!-c(Cz&rI)Pn=}wX0RDisUU%~U| zwUREiQ)vk}wSgfvVvo0wTE3|?8t_tD-oC~nu z9dV0)e(odR9Z5BF9A97!*VU1k`!gi%UMgwtq#0}*uA9l}H4bpf;54&tX%5^g!%emy zb&~DL>9i1>FMv&~=PJ^}Ru1Q0kd86he1`)dpMF#*}(K%=S(|b==tyQB;AbN znkQ@Q)>!?hN(O1}lMkNeKDv*-a>_8zY94rcRyT$%VYe?c%(Jh4QqR8n$?NC;!$!hZ zu{8^-itWb?I*;)}fkkfa#_|3Q#3-LhBVng;WI|V`hVeBaL zlQ(a&C|Sn>xA;X}iP~IWB)x~ZzPfh0zMkH*xkYggnhm`nWRP7;nK1h>AAi(?v_4)9 z+lFm?WKM{M{N`qw9r zv+v%ro{<@&a_JUyt*bPrtFyM9^eN3HtqC+oSlO^DH@gxp1&?zHLs@i=UCFQBkK&&A z+X;3WS94oz=3zts;Draz1!>NxwS)HA?a&)q+tiNKuV^0Th}e5$RRzfps7)HPwJvys ze)60x39{~7T{D;L3;faZy*#YlORn*xuIV?^@!(YST#q03;yZil)92tMLw3)6%#NKt z@y*GOv=_R@wolh>r6p>Gvoji-wVe8cG8Y@;(>FW0V*RG1`$Xf+@Y?wt+T%4hk7+?K zp=-P=8PG@^bD!~!{;p>4UBJ~I#5qZpq<>n`N$46YQcK72b@T|DhqN|(<@bR-@>gruuz057g&xRa-!|k4-W*{0BfO;K@{%pR_% z+FrZMd(lts{HHI)Lf@;lcxLEx4=MKWqmHnxqR$QYk#qa%$%G<5(wJQlGUwucE<-P? zY9oJ|2RqF*P|x$@!B(=MeFs_!y$&R{QU$S@U0ag6bRg}|YYvyXb~^8=<0jLxJ5o4w zozp#K+srvF7aBmCmuhT0hg$n%bdoq-2{8ToR^Yk4<`}Dc@8&o60%!_2ErC6%>CL)7 zKKnM1v`%OP8UFhQ9$vnx>v3r^zG+E*F4c~w50^J@)C~_CY?`>Z~AUFz1^hS7$%Jo z=Yf~GOhnIcHGh3kXb7-4V5<++;Ij7RWLrWAX{;*``AFCJ_=ozksw9N2L)Tu6V;y@r zx1q5#nAM5qLmvWs&czV^*!U@*_53dn9R{q{nuoy<9CFq)Co?E(tZ*TH3~QVoYuMLa8L0FcUupehm+PFthTtX8Wd$Md%h2+OVDRP zN=Da}{MHvatTfy_Tbh69*|M3?P<-x&lh!u6pY!K8HTN@5iZpAZ-*r5%>SE)!pJVSt z(q`zBA#FEQk%0@Ya^{REx(mB!kbu6^c=d`V^8MznX6~&1Zz_Ar>fXU}YJ7~@51k9! zfjdqZ+TZ%pDwcFVY78v@?}CAG<~h>6ujfepMDmR|Gw;#+0bRGLaV@3$H}SLycDm+EYg94U{BZ9C zS^(X^nCEgjv#!bAAqnQX={eGM({pqMz2h&T{|#}uQipSsnn+yFL^J>Jf^E#4?Obb3 zA9miAXy%;n!8?9@y%BSvp(I>SGV=vDJlnD0dhpz^YI5LVk~x2EVXO1^GB1xWJ0w#M z>@*JS{^Gr1XSfTKL%RH$V*0QjfvFE` zIXO@kY)zqbjHTt&Z}#x`eg z)dy)zqR2GTxT|qBzsf@nsBExfgA95EYzw3 zqk9W`2>y98@5=5;`M@+EI*0ymDuv74e|l0)*s0&R(S5b)H{N#XW!~Lx0T17xaa9~5 zdyy6N53>t6b5fDP=klh2;|!0S$22}*^&47gQk zWhp3aB_X;01RaDv4)|YrKk)*~Wo&i0mU-?w0)ITerg)u7kkfbSn=xAB)6`NoJ2>uygT!&%bU_r8GEd$**DNVKecEJ|1rOcxbAbJ-QelDxApawXO`{dblv7O z9oTwc>7`91u*g|zOlVHEfXx8*o9|^FP~;_XRh-Q`TD5IuS;@4WGv0*?z|%Usc9Da8 zS>!FR3tY^**I?idmiZif>H=S0}wZt}7DHWKnh zYjfW1VXJeu@6=nq+tiKrf}`iE*k?ZLv;BT`GwaXh;3bqc5=*~lTsY9(tm(B@T3*^# zihSzH)1N#^_ou##PoFlT?=r>J+l&($_oMsxa<-3+B&_$Q&%o&h8Shh5b`>4qYq$K( zJ^BZDGcBE@pQXLDI^KcQpJ^WFQ`Af*^a+vXBRZNrT_51_eP0{;ExQ{8kbt8x;dGyK zhE@3wJWK*e_s&8{s^yQ2wUcrs0W=nRQ}EXI>B>VFJm&{514(_&5=eEc-JFEpj`x}% z3IwMfWZ8m$dB%cw9Dg{7`asv1ydkfK;Mx3J4>ISa18j9(=K3be`%y%?_W~f}tgf(% zbFE-%3rMA}%PCy*v)&Abm-VA0QvG1)UqNca30VBtRFS@HZI zgq8!-`2P50KI=YOH8+HsLcasvG~amRsZVR3|91#|0;cCa*y=d9?K^;XUI?WP(ANP! zXz3w8Tegsk&RxuWOY_DTC#_|qPjy*Y+{LVMwT3)r*;f2dB}u(rVYC>!j(O?i7~~_? za;8S4c~`I>W1cDs;}?B0cvHhD^K2agPtR6lX+ycvE6R*98V4u&*clF`HKhFBDD$ql zF>Gg*dWfChOD^daO}oJv38`8%mk*Y9kfm3n=^N;Cz#HTn!Q1ktvvH79-uZdoo8S9o?^v^L)7%XEhp$<-ldB2w-!P5y1qKEHRF;^TRqom`_IWrlJP}1vW8tVV9$$A>->q`iWE|xq5YlbMX_A1PYdxI znQrD4-+_C=vW;x_S;#;Cn_=bwS}#=Vvz&)oHjt6~GtK*0U0-j%_pIx?#3jqT!|M+W zKFqjY8Z0#vvPgZO#-8JOb=j@-N2d6mW)qv-u~OO_qa~}e?B(~nBIfrOzR}aGu_A$`V$EH3P!`r4|&NjH?w})1}w3s zCoA_&io2P&90sOi4W3a^oG*Kj&Vd^+oddn6IT7n=Vj4dbODf#YR?|I6&yU7D?H8ba z=f3+q&EIgSAJ$&n%>CE6>h*T!Z$J%T2 z-qXRn`_tS*djVSKZ;lS2!O+w2E@w{W@T_N_^G5XcwePe6xb~u6xYQC`yFk*hG)L6_ zMc(~3GU!~88QXMCbnZU3n!(W)Ldnq8XK24!@2?8`ccMMe^{i4U{lrXTqM7@on0k2jOdEm3A2sP=d_L)U4|)hM$TX$YS7oeCvG7N^G0KhSmV zbv||Ocl;1z-c4$ZnI?_V$C}6A&WJJntHxFBiMjli$Y;KbBkgr*4S6!Ex#<1P$Eor3 zE5@1)@yaM>?Rj0PmS*}_^;M-``y2HONOn|DH}k_pU>$wtn0?v2q;#`?HX7qaZoa^} zSI2Bgr_aI3gIJyK&Dz^aF3mFUk4J%bo?Pb0`FyKnQwlynk_&a7iv@f}{1i zu49~S0e{+(OBKNB9P7d_-~Vek;ctys+Go>TQ~M@$+f_E>nPollu{`cAT=*U+OO zdwm*;ooxqkb*W9`px43pbL;=i$07&wiIKHUU!e0D5Wbji%&R5=M;z%D^g)oN_-zF4 zkHyKeF|C2Fd7t)C&Nb`J`wlpn_cjT@SKqgg(3`$8t+<6*OK1(V`->4Ay7(M7p52Ph zK%WlL-*0G6|7U4y^E|6B48ZTmV!l4kM`PT{AG+2>T0`gJcVBBdw=vh}ATX^b_1W`w zd6VWCy5~{ja{zvmHUGPIbOXB9nfm(>^b&Z~)pqm(dTU5Ne(M+TC`MjZ^fPNBje(8@ znTFO5^$!1s>Ap}5wF$4E)ZWYmbzj`T?^U#y^2E-ce4(F!pg+Yn_0Dp$RR90(#bNtu zWfxwG-}e-(>|o|RSHSzU(8H`vtS59d@8xCz)47X%TUBPPC-Y8EW5=rpD|z*VHnQS! z2oZGMzH{-V&-vZPAtDVOxM!jgn=l3vcclAN2 z?F<|IE+P9edadATU8DUV{Y^t*qn_rxv;nU3GH^$fxbMm(Yv}K1SKy3UM~pi7Tl2Ue z$SBK(;_2H_#&`S_^c!@|6N>X}r9a|fhKCJ(0euX_(|4Ph7p-uuX7);N0JH0RkL~*Q z;^%$pnDI3j*o!{bxUk4y(k$we?x!rs=u#KaT)`#3A+>^@4MC2@Pmn_fe$~qCP3fNh z@l-#4g;@OeoL1((RUiBW^^fA)wzZ-n?X0I&$l8lqhP=AP!g zt<#}NN3(`I3hV^(gcEtQ_;#H@Gw)E}s=3J$-(;Da z+sS+v?LX-Fg+*J8G20W&-y#M7H=d#2TVY-|GN5ZOB-Sd1wVpT~-`(s}YyBAGD?Hg} zhB4r9x>*xxZ_mN9yiD``!&n-XZQft*fbAc?xB02huY9O7`qa?t);x=07a3LYx5h7b zNCNH#8o&=G+CK`?x?a!xFAb|ofR8=i`QM-%=&Kzyevk$QyLizcAL%v9#f&4m zM>R&SK`v8iS8KCRxEPqmIgNkvl?Qc%{yQZ4c7L9@H=XC$b|i1;nkO7w9K|gr1j~w^ z-Oalw-OED||F<5!Y1j`-qe{?2V^`w)n;1G5xe(p6jnQAcIowhDjei!T@2dMre}B`s z;5zS|YH6-(7_h16FQ|XZ*{5dFs{tw$C)|dbQ literal 0 HcmV?d00001 diff --git a/jsartoolkit5/examples/DataNFT/pinball.fset3 b/jsartoolkit5/examples/DataNFT/pinball.fset3 new file mode 100644 index 0000000000000000000000000000000000000000..0291b4ad59788cad0dcbd7f2501499a83d379ff7 GIT binary patch literal 640324 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

      ctvM%GmpxXKHOkNks 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

      VtbrB%H(hD%bLhM8Haf?5BZY7T|E1Cqc1oY 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ℜ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

      Y%f{G`Y|C1GFqmeUW_L!lo8^rM&OuSA~T@rGN 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�M79MKX&4Bj0R7=GbQoESSoq0Om|Q#M64yc3#(}ZGvvCbN4C;ujy63`0 zzM&A5>Y!h$WQ%-wb#Y!&;_hLb@uYu_*z!3!WQV?o=Ejw#B%|Fpl4%};8a=>|sz#|2 z-glmJdl6e?_0tSZESvc9F*U6_WAQ-P-(T`hAn$ADX~&lI|F4)ZMGnGp##;L+FUEvQkq509i=@9b%tl4!wS%Q-r=o(A=K?>ex=AiX_V3pP0 zT!i7gG&h6GZ)odhUwHq{CVNlkYT7*4lpNehh{=xHRalRVN%*q91OE)tgHO;Z2(+!c zT1cyI@NFp%+67~EL(lkaSIeWVMvR5;r2MoQHqo&%=rAIjSj(D<#@!)%O;a z$q@N+l1^`++>=y!9E9I}a}sT`*bNkCjtPU|=Y3CTb;GluSB|>0 zOPNJJUCuxE;p5mhxXLC8|ECO`c25=NBx(qvABOm-w|z`p76q$elp(kbTv z{35~F&wwj#0`6!#$^-E!$U!Ks%#&iziixnFfiDR9L%O?GkNOv=ucykLoRVEm7vv|7 zk6-_k8_?I^|1f{YS`u*~luT~Ximce#k))~iD41Yf>h z!(DJ57MD1v8e`v1?-CwVb!IgmsUGC@y1jU}FJEs@MQVs0jZYqbTwBFGU*3YF=jera zFSFpnDssMM1X(&*LEc*2fmp4AFgGeu5kud^(HH)@R#PoFlijopo@^t|G68T*$&~ns zTvS4%2gZ<}L-1y;$!3Qp<+ci-g#c)XcZhgVTJGSforMqm-!h_ED zZ8mF)G~3%yep<%kmMmTZ6)L%N-z`d?o#k~FQB1Fie$wNk)?CbrW$4-~o4mSA(A@q^ zL9&19h8!_K(L%siY(S2=8@b)?pLBicC&26trvCyd=<; zsarH0wI|LF5y$lsGmkwb!^my?XLHD$0`+m}!PLyYhrE_t{}Rh6ONYThy}ECCRhj zQI(47Ep98Msk#0-tyqSTYbEI@1G5?L6My(NWu8Q$hBhcC#V+wB5-{3#jc zk6uqEFODNuPehSJhhm{WJhasloH|AePF#R6Wwky$LxCMKnB(Xfyn%KoBbH$loe#m; z>m@PC6N51yj#5%=z@GvlE$byJToB(wQl*Q2G#_Zm-XNT9D^WFL)-$*S^Wm)klc||X z65YoBdpOhC-}Yb8WdisAlfj@q5{Z2uK9{^Q+V|9nFFm%SSW??PAj&{QVi0;x@sX7X05gx2`aoyh~}yB;6iHx)i5Lyc@D`RiOX zd45_XDPE7<$>qZX6j2bKGr^X&ucll*9$kZTl)(zFp5n}e@$DINTiT1cmQ;CsD9H9J zYbxd?%bp8RF{TkXk3vBi>K04_?dspMD+l^N7ds^+xt!02ZX-+@#%e8xFv?JWg z8{6#5U=091$p!-c@z5{lsJF-l;^e+Yxrt~_AHkzZR-Jb>_N??&RtXEl9Jy2fTFtE< z5z5h?q%S%r9iOiz*>hhcdz&;T8`lIOce3~1W#Q|WrLcMf%@H#goYZH|BuG~;dkI|> z)kA4fY`g#)=dr!noZ-4RxAfkN9I=4DJ{u=t*{SMiODST_Q_hO)i*_TobNCoP85*Da zgzO#m9QkT{IMIGDBj`)yPTsCF4&ND&ojo#W8(#6ji;&m6-9*&=bl$Stf+a>6-npuD zti9o!eO~7(g)H$Lt?8FHEHjXk=94U`wn#YW+Of}n*`&k3b8#kr; z>~5i5Z%gXxfmT!d8iB15t&=@9+c~iepS`}4gke6cJ`_p9rUwx`mI89CWg|PJPs=EA zoOi!)^V~ZfYo{4P*UC;pOBCk!vvOwJ(EJy|xlXrDxx09F0P^bvFO~xL5fo6wSnMjCtm>yr z9+zFYHzs-bv?^+6^Dg0^x>zQ0Y-VM>cU580#F8fQN2z^5bgL>Kj)i~B{l$cpoLGh% z&#fZ|&c8@v4z@y_y&z(wZf{pZopIQr0D1PvCh@-cKxIHJ5;`C1F(2YFAM91sv<}Q8%5tR;V$ba3H^UO7+#+*AK(4FB7a8b>77Rt3zbmo>YNt zvDBR}@Vm>5b;2`wJ;8x_O(MH5kZZKofUtV_r-!{t5gz8xujatM@P9VNGH}}5w1&J( zyfL!-IPc)UyGE}{c*a6obrTMGJdXSI{HcG0yAI*)>#Sl=V8CZCSN6Kp zaTpT8`$#?)QJ7! znwgQ@6p&Xv`MO4U{Ya^RHX&oXuvppv{o$vHH_;C;%`M>`JTK26(?Q_8k`cuM@w$wV z#WNg#iTh#Hn0q%fv00U#_AkG+DjHUR}PZq;j97 zq^AYz6db1wLGZ&AMdPBx23@1u=vAIBjNZUeABY(1zHRw&?&GQcHN?YTT2C5gPA5}} zqR3dsKN=`Wg_7WBEb&QheMUOXQ^VdJrPpU*?^bg5vyupP9LRxxEy>HW`0~^Q$K2{$ zaHHAJHnqg-lYsH|xHAHm*ce8e>*EVz0+=U`gU=k}en{PbdHLU-_5O$)64!qYd3R4! z(z>Z#vv2#^hEQ2xSW4efU6UQC`+(XHhW?|H)S-*QN@~smqt$X7ms@o$&sXKITn zXGK}NxLYccA}^2j6M~GX zfsd*U13?JRQPiO_k7V2#?Di-;{|Kt3;<5oBXRO|~!V z!PR5+k2R<5TFCAEWQE^Yh-HAiS?a8>z_u)BS!G-gL!>M)FgP&4m#3DHkTW$a+roOi zj;iXjHtuS9#T1nac>6#paNZC|fLF7p0ruuGXQ&06n4mnb1h3XPtCg!aX?fSueIMkFdZq)FhKI zi_Yv++VXq(bpw-dGK&+-@bAQ>Wc0;P$$aN>yrhIq>e(XDXp>S{*<2-XAdl(yIG~$vNi3uylRCmpk zc2%OW=)W?9_Q8-Rby~$6ONjK&Dstf45E2@HP-Eh3W}2UM+B#9qq6VnG|3M%3V6ssWU|SNf!~0ySV6Yk$J>hQadDan&5;B;9dgD_jrb>y=gv#H_CNpVw?2&fcoq4s z)lcNJi*jd}E8u%VUQ$Cked(N2 zRq?EHRnhPO34%QM08>byolnh%zuJ*kQB$7y@FEBTdsCkj9~qDkYi4LJtthwpLS?AB z@`s-Ii2p4E9daAiL=&$>ZZ&e{k`Xo=APN3S!$DoL z9wv+OChBZv0KW6|!DEK>eqAxX5$$k8S3HJNSfnRJ|(gg{1t+=q1N54AevyvMVa zRTULyeQoHf;=D{gC5ulf5%QqdG3qFLCSnKr1YCgFL42So0mzWT5@m&G&ua1M4z6ZH z1V?W{KZ`z6-9K4FcJ%m}oO8Ay->ht-5rjKus^)}bFS!(#4BtIQKRi)&0l(j$k{#UL zZnB5PH!d)cUk7anL<8o4KKT57-Mv%FD4-Jhg+VV1`CTlA7Kd60A85Q=?ffE_}2xpyeO2XJG zrWB&jeN9e9sW5`)iKyF zeu#UZzHzzNQ(Kpd_N+x)FS9ebbM%uQ%bW5O9#ZV~d-=$C!s z=+W7ChavRTqkhu9ma4VYJl$@H@6kM>#H&D}%xDTv+5Sp&wHIl>edcj8HDWu?&z6 z_ylB?#D_aut|y>VAU)WU~jsi z#{h6?9=H*O?w+>&Uu<^tDH;C0y^^fDf00O2>I@Hd_OrSOl;+xSFJZ5$R6k#;t1UL_a%{FJmgSca#9-yyh#-m(Xv1jnimxpH@DFIJ$lp#@(7%a zihMar(SW>sjL6G~MsderZwey)q5HF&II#>vEKA9V9GH zZbDIOxMKkHN&Ksh`VkVr^#uN?gfSe}Ms0f)T|{beO5p!aonmx&gAu>Dz`G7vFQZ=b zQ#}7K-H~v&e~S0(hpMP$#54Um>Gx3>`Q`9t0M$5j5PAq4HB7A&6r6}10B@f$(JELA zf2NZ7a%oYR7sBv#QaGw_h0-on0P^q4rS*8@vB=^~A&=U){(JX_?e=mEY=5*q9*b?$ zmyw*g*U8G`VdTT%oA6wCygr?_B%c=|>6VOR5jsPKf7J&s*OvLB;Pcadgg7=WPST_F z_m`m4Uf(GQJqA!QZ413inh1y9moi%E9^X42{Ur$v=H8o{%+deTcT(ZSG9Vj`He^sHD*xgE3<8S9cNYCn$~d=s1a)5~Z7NP( zP~M$>;6c;FzwcLn@stcb&Tl2($Tkf5XS|XWEPtDPb>?hE%F1o=#(o(Y7zjb=wx`ND zpfSTEX%R1+DZ4H2ob1)!s?K)^sj2yx1lBK$@psQ;@6Q#Mcq4S(MgaQUys>bQ*LIxF z9FcFZ;KMh$RxQ^1%?Ggz8FQ_T!XelT0IXq_yL;sw#|h?T$BhYl8;uyK4HG<5 zKC0ud{R0`nX{L;F*YAcP*@ec}gnVzlS1J_Ze?B{gO$ zjHqfTE$PX!Uf`>tKP<5^vZ+u|XgTo1tP`PL}-tf_Y|O1dsPCHHD|H2l?+|KSNNtJ0+HuC$oWY~+o7)gCX5V)e?? z)zK@psJURR7I821XFt~}|SZva4Bp+PsrfE1FL%Pfzhgj0j6b}>m^4>QVSSRmq z^iJNNp|cwC1YY5V^S6=n9J^FoZbw3vGCXUF19c~h;3T1(hvxCX!z6(5L5GE97Nc0o zopV|1T_PN*IiU!8y}w`X6WQm)5DYHywe84+-s1?Ty;{ADa$d01#z7w#pjRhNpm=-a zq2zM1j=p|);Gd+C#p@M)N`bdubPsjqQXbcyFja?Qsep}>7U=H-3C}wElnjf$*hs!U z`>N&}Woxpe2Xf3YT6FIQ{{s}%BL;Q9WSu%HHZ}zFA&cshc%U<&)7Bw|LhCJ_Ev%UY zHXFKkS2=pJ7K3qtI$7z{e3G56vuMcmn-8b&*w`1x+Wc%Bu?$6-l|@a#YIv za@SY14>&3n?I5~Nie)f@+h+apjTZ-Zd`DA$<<4E{p7= z#gk`Imj^EhsqdvnhMHY2;{aj(s6>tZByb=Sd+CqBqWmrWH-5sZ`TlXe<~x>fxGjA> zmf@Ut6Zv@Ro0>v>EHP$)*PXVaZZ&jTR%w8ZL%II3KEx~u&R$}(+bFIW^TA2^K!#&J zWEN&p`vQZ&RUwf`X;5Q6!~`$I87=suGAD^_oMX8~Y;qDu@A6oNZ(jL=uy;er-m4wR z-vnb~qfi6I9E`fObe*I% zVHW_y85)tCM9+a2QW6;-m)6h#ySoH-H>N~oy&Pi!8|Tbwi!vE#LtwnsflEq}w`fP; zzMOXY6GxD3EqCa(#T-5LXilDdbtf6KK9t=1rxWQ`+z~hsaPj7qm1JQ)SmQAt5bH*r z!QQP+ST_3ZxyWT(>c#p^i>RECzN`@)7uHt6M~-AJ&4yPBHfGfcQ9F!!0}bf*xS@ zt^>1&`49)ZoF&pgF?-(RBop#jn@r8EaAezku(tn%cx_oRXZ^^(uKgcdHj~@7fg~U{ zjzpRxiDAINs0P7xcSLqDvZY^&fRc=f5bV>dxxNa7{ctatjvvHY8Q;9(x&?U3#CvdIfgMa zUfBnM(L>rLE(GU*U8^|fpJU#A&j?N|!;RyglL;d_5ZjpcWaJ-F#B8IwQgFzUw5a4H zZGtYns==j)T4{xmlV5}wN?>G!mexbrk(rs2Wp$MC_0y|vQ9q20v8-C~Q)7BVy2t9< zH?_GHW$VksOc43MBd%{9d$Hdlj-Gkc4~5U{Am6rZPsq;p2OirU56lj7UW{`7^bB=ycu!&)q_jAi% z3qf8pe*N!AIB}2FPJ(@eCzj!bsoTix zAsF&;g4SCSdCQ>MEga0GcWs|stZT^;88zlwtr2OxiO><+ntQ* z6;I9}$6Ug|PivjXT4|2C@u1$&JT_U4e4G-yy&7wE6X>**qw+S$NGj{=YUWo>rT(bG zQknxo^=ej4`AB72r|an)^PC~2Y}WTd9POD$GPF9pkrb7VCLauFP3G|u!l;^lv>|fy z`MELehpl>m`A3dedrhQ#bD4lPS+h1-IZ*?DanwD5MM-SYuDG6JQN~%|LGel>S64KC zS4^=e)nbg+)(LC4OQ<#QWIxQ&Z6_0qW5`ZvJCczlp>cn7?&G+BP<(a-a3GK3{)3%f z1iLKpp5ZEc={bA#BOC}a(tL6MVj(C#^62BZzmKEFKklEo@oV;{TUNilTP(v9IFJu$ zJOtcsm)%n2VmyfZXFiJiKdu@5IPNdmxH;wa302bw-`%XZhDnYtVHZr%FIkaobjiY|N z@CbW=e4I+9$=3au%@45$0>+|U!t$5Q12>!AfiLK+Xq~+9RxbBUkCuL8(S79xGW7gt z5)~Xn`u;7USd@An7NvdKv^2-f^R@rnJXbphxRlV?n9J7s8aAol5e`_Cyq#qeON1*W z#{9~%U4;} zxhObWfa61$@T}E`MKKo=Rf4YbYs(!!zM-dB6pu?d?-HiLAC)+EIY=S$3oCe`NxapE zb$73VJ??SAFXxXNyxngVCzhdqvoA@u{7rKFi;iUIEEjymzJ5T-AFyHGvY)a4bM<`n zoVrF`baKpPw6VIr2hk6K*}(-9l|3h-IE91XUEx_E1ehPx39{d>n-1eJbN*pdU~|V) z@lE@`5-#R<|Cqa224McvHmu)WJS9FN-XdU=5GD*hDy5kJ%*E&jVE&hv{FtFHzUj-s zsIL@m(tZF(Zk_YH;z}#@I3u15a}oS$&pkBK!{)ic@fb5U~xo1k+F4S1To z)*@+?-JECP9j)m~@ZZt)l$;y#-4;JvPb>p!vNR$G?ZIKiKg!r|ypq6Hz+fF`RePMz zWeLUyjeNPl!%L^FlaJR2>^44>mp;!eErFnSkMz_yEN8oj?2FkW7Cj}y%0E9RmaQi8 z$vf@I`*r6us)VCF#ZMl<>(UioD2Ti4C}?t{{t{zL@1J1h@7D`65Aw5IUh7?t;gZMD zI`K%8)3a(^GX?&>=Rp0Xodt{c6<%;3;BU;BwLFm7e79Zi|2hG`eUo~c{Z!}AK_Ql* z^0vVDAAdwRpsn>@;_M9tSf=Rf(s-+I0Br{h!c3-o8gW>^6^xs&7%vIdQ?6O_g_&3R zRzm-Tznlf00?(!I4xA5WrtW^}&CN5U{rzN^Ic+^BmLdO@Tw+{gBAI`+Ax%4<*Dw-~ z&?@d2io)u<+3-k`~lY#8J zR2MS;muzWcU6XvFesP)LVqUST z4|{3bf{B7-zQ^it8ZBQLQ{7g1^=%ibsG&)n*4S9zQ0H+SK3W#SaFXXzpYoCZUAc)9 z%dq-Q3#neYg3P?CB7DVRjfs27-S_f8_Xmvn`VyZzw!jL|g|8nl=L&d12wrPT`St_j zj-Na;KX$$Ov1{|DhP#4sjVfeA~iI($f|GY5GZwZpAyv=#qrTma|PB~N~SZmNX|{@s%= zw{go13vQO7AB0A49r~g1=(a+sjLRLKVyWx~U+WXcG3zEyEWm-Jqt25XdmzTUpBU$bBT9ptxXU0$`7TQnLVzb9?tpnu}^-&iPr-$kOWE6E#Ex{>enKWU)bdjLK;-6>(i zVM`U#v+zt{=@WQ5A1VY-V8j-=w#u;Zw(Ax^V5m4C;1@$cM1<{Pt|RZLMaM2+slAC? z%y8a<4@6{dN?zH_jkt2eZ=GCuZ!?)RWi^@kQ5lVoaK&H78XxYU2VS98Q9X|Y`9ngjvAxasBf!Y?vnw0AeGHUoMwvW53_I0 z^pE45?7E9wpO8n69`8!JURa{322L+qYNq*m27E>I^kHyh1@^W|&8Lm3oCam2MHuCz zoB$8=^~#a2=fue;^Y!|c2n`mV=IhnBzU+@hSvdR@ySd+Dzvn_MgYUi#Zl{saa-QFR zE_VHHD|P`p8Iu&9oay+g&@!w|~Wu)taSPAAHZ|subic`tAvwxtHqssK1GN zN!6j9V=dZhA9u8`8M*ezrNy)P^M@OGqpH2fOS>bxSJpYYNNn(e+{FgBS|^K*SH|`aoj`W*S3@w{X=ohC)Ta@<3&H zus%SB1T{{25ktZHV4?Zl^);dx>wr#o*k59meq*scbUXQD=q_@1O|LTl$Z#186e8yo5n zz{-Fbz71PhA6;^1vs5C947>(hkR=s07Z5v`m)yNLv$rCL<4h(vO)}!QW%gD{BtuKA zm0g+z(7oZ&(euVX>~Fii(6t99r&Vxp_F~Sy zm!^&)&zddz}u?!z> z*-qy0R`O4$cI1V>yK1Ok%LL2^xHyty9{P%Zcu)UN0E6L%|7gL(`rWycQY~VfSj4Em+1rj|^phU>!uX~e55q5IRbAE zq*vhBGinVJ-Y?qax^)wI&8Jh~6C19g!>wcE6l-!eMNI1rA89(nY>Hfy5Qn}=39*Z? zNuLzH#C6-jarEOJ%?Ggz2Cv&wRa5E6DzR9V^o=HI*A}**mSOiMl}LNsOsgv4Q{cjl zQb<&^mElUunX#QuTnV`|ugZ~UwIrbg`e9`tg%~C}Zxx!wII+3;>z| zT`H0}e4uYE;FkqX4D$iHTVHph4<{Cbl+q=f9e1T;F_mI+fD_ApgcAcjA*Z0296gSQ zI5Fh0I`SroaAE~!LY4v^U|8AkJHT&y_7*jrb;AAKVYt zsF0!kv3IXbQDJ@PVa3+afW%2mNP1kaS6;Z;UTL{kvza&cSJUlkKoX7fZoP>(Z+?x4 zd*O`aG}WOvIu4J<;_UN3kjTAlH7i{Gh{N(4aqVqBKRa~w(ihorZ##s$yf@{mp%dYc z>L@WWziw|fzjfEu>lMom&X_{^>u5&Zt|C-r;#tXY4xLTd%hj}!d6G-h-uM zfw&d#YsOlwthR#`;%ebWixC{T^pXs4P(*LAeSw&J%~pTE{e;OyY|8-!e)^*3n)9j%pWK^mu4uaaAY?M1~?&{mSg`!NsyabjJUghwo8~^dEYDj zV$`(y`7Yt^xiFk=fT??-EH4`Mf3*v2CtMjJSC0=@7!w^wW0gI^}Xk9y!c{p zM-NtTX|VbE`PO>ONzc0q(VVobq}T(0e6?7HoOLhm_P8g!F>~KX@9&>-{f}w%)#szB z`#qQ6xQjUuH}D74&OX+C{kS(Hzn# zkRHowFg4LTU2}n8$fZls6pa68;bDHj2VwzU zMVKPy&|du0bKICo{(M2Le%ni~Kf747cTOLo$a#U-uqW(+{$K+SDnl`(2a-UFfx7l{ zh9fd*!&pQxs6$$8Gw<0U-ENkapV`qXje^_k+zH?r1*3J4LcKYJe($MnvLZB`Qp~+=kpJOa>_TQ1ZdC-*;O8 zZpHx~550PNGViOGv;s?s^+U{C`^k}BVI-vK0P_00j${w&RoND2 zmB_6VF}O#(a0BZNEr1gXG_6{KHVG5g1hyU$NFVcXPP#cmwzWy=85+-Gy@+SY6sJQ> zi2I``2YetVzvn{Td?zF|;q_lXbbEC-nb5sKv$D23k-z#Zjb8}H2KV@fEN^)Ga0zpx z=C;t_9RDkAgw2~BviOm9M;RAO^XYlz?oh@yqz%fIGMWz9HX4L=f!}w!wnh}!`(Ws8 zwi6e|QNbRKg;)kEAM|Po2OY*|!x#@=zS0_iMfv*W&(lU6X+Lhb<9jaYy|2$vD;S8R zVm9#eyLZHyD?K|(IK{#G4e5V=zB)?iZ~+$EV9Vr(&0+(}BuRGazjQ6B%mH$>ELa7baY)VDpXNvs(_@(v^eH)ubTi~B8^7^{x&n+Sa}NuL}=^H9L` zr?r=Y0HMjpPMxiM$M)jlOc-AE72$wuMgogs$_`=GuyORsF-v?{6sN0f{Ujfv>p}m~ zzlU|a&OZBZXO8~bfKRhw}?xf*sZ@DIStx%H@pN@b9% za!bKkq(qDrco_Oz@YLRHKFTLU^=b=vyzyMXAH^(ufQJ$C%0)VD*U~*ceey{eMt=Pr z`6jSAF^@_h7lPaR<|M!C?+eEEb2LK9UBL^^VsEE8ZwsNTON|BSXt*L2p`KaB`}_yc zCk122T4g9zo|-pWN{s>&?yp##u zO--iuPwZcbW;$`~A}E>{G|jsVqe4qXGZPct5R|+QveL5J5D86|wuuz8A~;Jf7Y0TGv23%r~fuHYi?G#?bk?A@mN63C@~o zuoiXMUE_ACrbua5+JuT4^CzRTKB*|HZ+_mLmLQW7o*cxX=#uo-k|`0uqC{xDXUmpP z4e|TiHXl+S4-f1a55~io8++K1>z`tUYvWnhSDo4V{nuX?@26%)~wxR)5^#eLw=<;J@?;nniB4IZ|hE;yg{;rB*yX7RX#kQG3sc$2;|8$1`Zh8d>F(b!uerXG2w6}PkV zSM~|ajR$@4c+e0f42!GV)?(6tkTzuFD=^0Xoc>naKAE8%U z?DoLE8Ho3f-5Bt>6K+`8#NwsnaK>rne+bbZ-s+l9CtL}(SLgrsEj#&#>FkW9L)h=X zy@h;>@bk)xDrQI`I?Gz1%K^BD10*;PTm8Io;FsH%p+DiQhLZ`1Js{oX_x!xODk@Z# zBp^Y;;O9l&C_QY&JtITTI6XTpr+3Ai4BERBkL+PbT${wMpB~R%T6>oP1|z_|z*Xdg z<>tbNBf;|l21BXyVGFfP;btgYm9(?k<(wVx;{-4m^`$l7;*d#Xz+jX?vmgb2oL~&b zA36EzzSfHWDZ?5wgLoIAc$`{qKz=>g2E9JtU~o9M?-G8d8g+pjpf==dM!+DsODhH= zs? zF{-45A+6w|Xl&0SQ=}8~oanS^SFaV6W(mqJj274eu~D#r*z$9i7-OLP4T+5rnefK6 z{HbhKbx8cC|93GxVSQj+KA0EdNA6``Yd@DgeRClDvg$JIayH=Ouy1nPta(Ecbwhn4 zGKPYuH)d2=5$rG~qF2v#y?3$do9zW}W@U{oYq|bZx|ZmZr7oml$jcb28(Pwu!%ORZ zv1~2ylMv@&IW>b%N91k_(kGq!zhULeXS0IWo@I9)zrxsTPK^mXRs0N}67gA0DL7{# zr<+nNQ_Cf$d^CfEa=8^YdshB~ytFQbSOV92q?E4|>mq#~eTL9P?n?5I*0rkR6-;>zlm7UfOR@l^32O z{H*e}#e^qk_9jazzYkfq1y3$J?e1nNhCNEXI)n#f%bXH=_xHiv^7(7`vuEXV*emQ% z_S69M1vnm-N@Vg;MxQ~&d0X^%yk32xP9H6oTkNIPWzZ}sr?v+;FwZ;c>+k^7-Q6S< znhxDZ*e-bs0s8O;eFC=`oJ|zF$@c*2zcphve1Yv+oye17A-9Yn`~6Nq>5v z%R1>$6*s>3DF3z>R`?vvH^~f-c$H^1DyVdy@i6yU*Ot+gv)FOfYO=M=^2n)peE~P@ zuGDNCJhUxv!Cu%T0pW6PFkBYtnZ!&mNi z{88?G<{hoC8?NyLi<-H^oQblH>~q55xWPI8<@%hk@Z3WO`a9J~sd04rS#WVo_XYGQ zcNh-6ju33pR>OQcRE8~MzGwFd^4RzM!`MIeZesL`A?Zz%tVg)yT_-+#LM#?`#uMjF zzJOq0Y^n(XIMf)zD_^@phS*v+A&n!=K-A}dZ z`0QZYpt9yq*am{_lc6$LkwcH$z3q39#PQnzW6me{2cEVK?2|UsL6>WeZu{rIR*z%+ zO|-RI0X%J#@&MQA@V3eim^MUz5Kx@)@Dc9MH(Y9Mr0;A{UnFL=?wgN}hfohKzIq0-Ej4+m(H~E@50lzCbZ`%EK z|MWhaU?$_132$-FeHvn){Er|T?+R{*gbBM@)!QrCL(To!+nU1+t;pZIG%RcJX!R7C z%vhpSs-l%jaAgo=W6NKT*U9OF}qh&JAU{rOH znM+;b<+|I=o}Q5*`7fqq-BPWa*o%I&9YSRQXR@X(po%XfL@N^-y$jOs;F$>iWQ0PT zD|ME(r6Sg8oz8N5R)ZzE5J~0ig$-_}Fk+oe(^WcNnXn+;-(pZn&(UI2e)jqLqR?~q z3D5U*s0=+{{Fe0{+RC2r4rW)5-3lywl1>%;I7;!BcCa%_S4i>$Ixy#0mJLi+2RU>?ql zKlic99$Q%DCxh7yW(%{%hMY)3{t}UTGGdCodgc2G2=|Yc#RzfMt41BRr*v-`&RM7J z^%wA{tC{L0G3K_))wv>7jL*r_&A(lL3AW-{qqR@QFCS-ax+AyQcPCtdn51*{~&g6FBzOIGK-rmrtD@w`tR*Gd^w}`XU&EVeT!Y z@l8SNgY)D4>`N(!*t*_B*`3MHGvo~>5#p%Te;JI%5+t7}KJrI6E|P2bA3DgCK4JKc zo1P1o>OqCU-K_0Q8pjl$UhLqejNcs#J1yT_I!Bz-QtRTLjm(}D)E5P#s?=|#1aoMI z$^aL3kvcj$&?S_Orl`v`zx;Ej;ku^rGH0x)FY z?N!=e|9LMS2Dv8WL-}^kyAEHlA7{Z^d+AUas%{jqE3Vtv&7Tcqr+m>T&=(jFlqqpr zNzB~D1w%0lIWitFRY~+GDOwj*dGec`Yu{YEwo4f-6fQ;Ja(dBMC7Y4MYiNsuGLb7g z+OlgybBJrt?N&4Hy)>!6KOXuE4zR;VA7`h1{~YV-@B|}YUUy;b1Z9#;>w0ZM`Q@fY z^3=L->n0>w^MGUCpJ7Ncb?m`=A^VHGRB4_p*C0nJcKGzQ2_}lf<3xU1 z(X-c79(CFpnu9}n>lyl#Sn)q)uxWo>_k{>v?3h@qB|bV)Jv70f?i#Vpf@^)LA5FsS zh%q1g49DEfJ8L{^k$0YKwVxGCKEl4ea45T*BR+Qpu}^ki#rX^wdcx(^)N)%)MNuN+Ls4K%J{?QAyy^=< z!~tFu>}T)AFhFRTYIitGuMiU*T@Hb1hB3G?YS?^PFKHnD7g7iBD!4<61=RHQ<$U$ji( z_1*^l!D2A>2#@SOD(9++ufNN6vhhOpi!x0L9V$cbnY&qg+7b3-!~izx%zf;EAZJP5 zWVLKav0kY^j94|~;6SWg7-eQMUg5pcP*>;{2HR<4+9l9)lLyeGAIKBSF7-l}J?tmOpV?PR2C(hZiZs}vc$BEK zbSan0SyfiU{G^hMccUjL6{0tDSJ+S|jG_!J{}L?9H#1IrGo#{{p3@s`7%w!>1slJ@ zZ(KktM}$*6te)QgjuzF#m~oefr7C?Xy(cMwCRgsuaAN0PcFg6=Y{%CIA>YAG8jN-B zws-S#$6sBjO04qeVfWV0^&4^CvE+{b>{eA%l6)Ig^<%%%$Co^fh)-{S=hO;?rj zZI`Q%qo>y(w1Z!j*tWc?>n8e2Lw(;+j=RDy*Q-0)LACXW48L^r(CjK7J)(Uf-TunE z_k0H}KBGd*v}kPEcTb-<4tsC|_gnD8-&7-(s%)it;J&uTC1g}KBHGo+45lTZUb4y#67Lq|NJT@i@8kqKCD6x@kU?* zp|g+23VhVTaohevqWBfRI`{>gn%b+%_rPt&ab@5_Y~dVu_&MpsROb3DHU&?C+wdr`o8_9gZYm0Ir$i?FBTmpTd?!h+@<=I<%2qw~#tEWB zJZOh^mfWIUmFt+wr@o+>LM8F*!9T#y5y6)i1ANX9udaBAzGQNYL<)SA(*|r(geyJG zR<^ymHFgq^7w9nI5%^fn5<^V!5TAc?jBt@H5Gz+tIBGDnAC_OM^605w=LN}dU|KQ# z-kKcdtxN;m;SZYirZ`KRtQL!%!x3IxqSrqisf+I{Rz~yqk`t&C3uP;so0@JQ^9|uN zvlrU31`I54$NL*!;0Yb;f1NF9{SL)N5;dP=&PDu>d%-x z*FV!dpRHt}l$p>DP}4CTNr4>#ouZ6EoLUi0Vj3kRPVE*Mx2?Frh7m6KP>}awH4+0J zg(A+WTlu39&&wSQJzs2_9jpFWy*a2IrhRo%^Kz1t`Dpzj&2QiJf`9XvnWUNkk9-^j zY^}==!|}oV+S>|@Eh4wCe zn$0PzX@KuQk{q9sphVoFuLe)FgFjV`RiUmy9v7QOS3ALzgVjKdVPi)-G^u4rZKYi$ z$s`{Nj^>=yVUAu(mpkw>1YeyL{}P?6&kI_kLS>*8dvz;BS;swU8G?+IO21Kw@etA3 z5ten_NbS`{h?dvubOhVXAxmwIhpTqWCn!bBD_mYjVD$p&AhB0_r8z_kd@L@h_g9-9 zlOap{E1mP>b|&hDPwBDC64**$S#vS|5OM%pF>G?gR@`o~%m6H_5jk1f_Lo~RCei1_ zR*VN?I#_`^61a$uFpKwVMt$mIIE3j zSEsh@hnD^H`Abo(*>^UCLbP{?uhEw%Sz^O6#H3+?WyMV%DY-}9p~o#lJE4#FTGqH$W>JBLb^6m>XD?& z)6miqLDnc>n-hlMqQL+(I}Fy~pL{%*+4xIa=(nRb1=Q;Xa>Y~q3(+5t`?BJCeTCB<$jQ`kV&T4}*Lt6#$%XrU@%*XKa=cELj{U;hfDAm? zGKg0R>tu~wsVsI@moCn!P+P5PORm*H8bhrtMjWeba$LOIOWrI8SMWxgaK9BJHu%h| zIH09nKX(e67ojpBZqa+D5JdG>jBjI$-!G5tXAnTqHfJ55j=G4j>vRd-wDs@|7zvr?=UAmb}BSk}sFJ8I8CF9p!Pj{bmPAjXfftQ4u{Jv>< zG7=Qm6=FcDpM8$%I&z6OJHl}HTBoe3{Cv{v56XeVi|AJu9|+pJ-#@C-ocpXlyJ3cp zc1PWXEyx6t&8!>&)@p|zOL9_zGFA+*682Jx&WD;7&P&%NATY{qufK%WsIBdlLhj&7 zU+ow+Wju-B?9LaOaJ2)vI2&`6zr@7gfBN9YLijk~?d}&OCDXgfOGs+z^6sA%e9|O(S>^;hPGLeFm z-uCZD!8|#mYAYU-q5bdw)tD~EvY%Xx(F`6h4&Y&yb+KBEQ+x(Le7s0%(n9no19FI` z!mo!M;!EAlO%*qZgM@RCB|;5dPHb{k9kLh=euOLmA=Rebge&kRJ(gdual=*820>#o zRE82@U^s%OB`245Qjrx;`Gp({XSUI$sH-o-c81%;H@&UR*J_;ukx(f@b;8bp%!E|* zwT6ZB+thMCdp!pAKxe3*cjf{e9V)}2cSmZrb|1jbKh4wV(wdk`t;dh>Ar*MJCfz-b8V5Yyb-mMx0U7$FB@DJ=G+oj?A1m_XS+rQt)#YV!gKDWoccrbcph3 zezm(c@S{mJULXao5_^eUmYS|}WA!2jzp@b})r;Y4<~|EvAHG?)L~V8PgZd&=hAMD8 zNcnAY>#g{_kvxz3xpq-Xf7k`iXmYyShs(Hhj1m;&IKZQkOLciAGVm`paYiKs#=Pco z5s#CXPJY9yA+a!D%;eGkKN-k(a80;L#ldEd#}_)5hvje;8)~?zPUk`^>Y6cBFb)&E z>U38Uy;qswl}pHHVmS-|oD&^k4gnOXK(UtSWVeIQyv^Bb9+P4HQyVmG{+htflsvB) zIIWz~X`NMWtHrTOK2D#giuTTpiq@r2RFr}*$c00h=806@o7^{Tn<_K&`JSsoGCN<}BM@;cY%BZQ`RCP}l2CWa`U!T|1O`gmi z_>QmH>$Wlm^4GOkda^<;vcfX42j&)gdb=*%gu^+y-LH`>gG7oKQA`AAE>jiTnUI2SSQ=z%-eF6g9nEN(xO7Uovc-S>TYwDLu$mn>6;e? z6Kf?!-9&CXfiv)-hyR>)@1ZjjBWZGld?C?c4rQF8O&%4?EBS=JHL8{|o0;t-AL}^P zWCMK70lnHV__YMYh#@}fm>c<6H`3cH%kSak;70MJR(tz(NAjpmmgKlVUYHSx&oXz- zvq7H($9}NQJfnAsIx(knP&-_HR<4QX&0&*Y{+Z7C_zT7j-F}()iB;oOddSeys?+jc zOGuPHkvo3-<*Kev%eJLdUnN|B4{#vWSHbm1A?_eqkpQj7uTIQGzJsmg%=_3nY1x-c zzjN!eAQ{@uV>R!8p2lt;#M9iFw3kT%P8gi17dVT`$f+~2cSrY&C4N@EU~xd{7PZU0 z%VF>KI7%@y>p3TUi%6bob~W2u_ioPLMZz-ylSB6Io>YiVyYlCKbXnv>J~7f4zRMRi zr|Rdjud^#OY)L-DHw!?^8%xosBmC9re&B)@>fVo(tL10PSSmp&G@(Wq21^OBi=;2O zhEnj}-Qz53()#_zgl;3Lgr$_wWh`t6IrBc*_+R>Sc4Lq}87c$5pNz>I*yEudbyvj> zA|5m3bqf>lY&7No)OaISqNc__O92e3sn!z4PN@1`@72IZj;dot6tJvfGv{e(?h&7@ z3({dyXMOva3@`orwWeLmY&QF;DVkFmUqFAzhYYY4a}LO$HW&xS>W4&2z%Pe9kkEHw zr)>{ax4EU+L1N`R7n}t>V22S?FcUxng$il}znsuyf-lL-z51AM@ekX6`nQ8&_%#pb zg>_Q3roo!c8oyYhxtOdIpDw!TYM>X(rxR!=JD@;p4nn%iekq6ZUCBtZP>HgdtHhYt1 zam1%=Uc+cj#-6cE>mqwY|>#+HouwzA| z%YNxOwVL!0MWy75;wb<8bP7frih>Zu{}=x1>UQ(#!y_O1P{^2!n7>K$v33J1Y96iG zy{$iEwmEUm5{8LLj2Lp6-6l_hO_Cr+%n4f%wrLV0W-qJ(@1g?=UHuGj7U6th3t-(5 zf590OMIwB)How$v3B^b88|LGOv<~_E?J%PEE1K>%*0aTn!!`SF#4{-hinpv?m#$+} z`uF1rUoyCQ=JN3=_^Za?f6@I1ZA@QdF0cEl0h5Bvi?5*8_8YYNNkP|c<9aFnoa^_` zN^CnOYxp)3um{$Lypus=@@2(Fx_V@=O{~wA^_riN3uO5BBQ-1A2igJlKje3O&<@b# z@3q5vVmAavtF;{pNjoG%tD2RrB|1!NJLqovS~4?4CWxDsUqRXdo$^STK6XA`llfE7 zp4HzGuj$gXj$L%}ANt7oL?)85m6}B&i6jwuVX!`+FPd&6{x3nMw&bCXN5#f!tDWFf zCw)O;Ve0GL)#BJ#TWJTmBq4$Hg&{+>%0@*vP2kY339(O}>#&KITn^qhLuJq*;R@nd z$$3+yHnjK*v5|4Gyhh3R{KYuyxiB}S>0aGckEhHIZrJ(@wKY9(-VB#I-Qf9$4+VZ+ zrOcG$qNF-kji-Vag7Mxu^}u5?aKAUwmnZCiZ|^I*#lBYq`=kwVi*ixM{g@zs)9vU9 z`e@P)wDTCIVMKaEb*a6ut~ED}y>NzmDmn9(#am?hXm7mFug?%ILi0~GRfA{m!9;8A zkPZ>w(9)NJ?UQXsJ*T0MZemNmbkpjMPcnLg?`$>n>O6;qTL`NCz$eQES&>c}oXK0y zR#!M;u}zG?>e*V*-RJ(cU5fSn>E@1d&7vL@R)qIgoh^-cw>XSiR1;!PIcy1+a9W93pB`r;m!S2YlsuANHSV^*>J5si#^_uJii_EAkscV$9Qq9SFiEk@X=|1~d6mvf?Db z1_f|$Jq}j&BchcQ*$il!)KaiVmD|Cf%9U6wK5UjQGUKI8meTc-JXNj`h>uS^ZwlVV)ex2jI&Zm^73PcbAKF($#0J2zaY zh~)D=5i0QMr#o*-*+($F&>xTogsUyU`ViM;)3h~fEaT%kVmtE>7_?ltCUO&%4;)DK zR_v&cl$;k=(D+kBh6#C+cBp-;T64X}PWI)3H5%P7J2dI(uHSylsjw%5+fB_KF&JdA z`ser*`oskA8rolKS*dIB-Dqq$f4vUIVqmn$^1Wq+>$i*cWPAj^FFr+=|F&`INa&L$ z_X=B(3=7NS)f4+a%<)HL=%#*8)BDB!?E3RvHEjk7G&Jojz1Fu&uAQ3#9p;cu-!W2` z9xg`wCSN+9&MzGcdVz&aEoT6OF^ARFqa8dSA)kB9*30hS97d%QJqCWc_UB65Zgmn} zE;JvCX~;TtMryDPgpM7mS#srrBfo^CbFL&okHZ4YIzIfe1wKRK6syHjdbu>RpDaS_ z)?&{p;OyA5DzH|&uR_Z~74lZ&K;rY=i!rAIxd!gf;d^4Vw``&Dk~|-bhxn@+P3CiZ zSZ*k#nK9xoqb=#u&Qv{(N8ubzn<%W+m+Te9fl()b+dmF?6l%4UhW>ytIRF7uM6q!- zbA4Y9(e2Mp{8DwH^hl6C87f1dl>*$+ax14!GV~dYxWU*68SpS+z_A6ygWuopZuqTC z0Kb2OlXoxwCb*+3 ze&7a=xx|ZgghM-C7<|V0xU!qNAZurEJA}Q%ygB@N#?hf8^ZSNzY*oItYAL^sm{Ctw z!Jp%%y4N~Zn6n$L3rnt=`I~cDux3owVqVyRj_=Aff7}|y?%Vzo;Uo!1{!OUqEjanY9u&a*uanrTZ-KWt3g=B5X$R5@ zBt9$knyX)u1+g&TMTy51{|Kc6=grMX?Mu#^!MfarHtTW!;C9gOQZd6fj$}H2dt39t zzH#vLy4)Ced-GGHOD5`iqqHLGxm| z;X`I<#094C`)KBlr7s&;1ArS`WJO;Xj_3_T;}KCUjus>4dl6Y5D7gP!X`~%aBS5U) zQ(7=JU4e@>y3#&NiM}uzl4K%2-l#yX0ph6VbV3Od1k!-jP@wxus6ji6gXHE$ovp!Z^q}>6z}c>^Wx{@ne@Awhn$C`f9<0`U?NUzWoEg%Fbfok>;s{R9t9b! znLfiX@*31?CJl{G2q}eva&m{^O*@Z==kQcAi1EuJrNBNIhUq&i0ly@rcqU6}`FjJe z@BcIG0*{`t|NEeQ^ZEbW(nN&aVIt>k)m%T>oi!La?iTES)`~BQIgCdwMTWSM**HJ; zps4;sUm@{XmWlt>hyj73@u1)P0s}Jr`m-GOxykhFM2fm$r6`k$o7R3-51MVK<;CB> zec=Bkx;5$-j|TF1J?M+;Pe(F6`EA%XpC8f;M*hpvQfD=S>-o?pl@`($z^oaD$Eqw6 zi@lK4VZhQ_+UaRP)@Cxh|X?@3d&xx=sk<0X9h-6;8#cCq!dTfUCu4za!1%P9maX?&h0_rEVgQusT} znddvQ<2rR@8ii7})aFdVO%_uDY%^vW_KP==J1HD<^99NYlZyoF!w#}ep039V!PV}c zlOBhQ&Pc@bDxXHf`PEPJus%?6-`z6y&KCyTt6zHQbDBQ0El7skPsT7U^PXj6wo%Mr zb2HQIKHqFv_SqC;pEojEIIPn~0#^~NtRr0#4~ zAL01hH?{I$AjbTF!&q?0Zv)5vols7aPiEc1cnn^vM~q^a=qLKK2Szq&W)$CL_E()J zyv;G=o|^+1TJHFbw{PDaHs`&T_OTN=)XC$%^V8c)uM}QzB$IVgo%1Vq4Knz_%R13W zDc}Y2|F^|q%sS*pjF^=R8tARW-Ei*p~F8@n0YaM*p5F*m{A|_S@>8>No;i> zts>?+ms#xd1YlIze;`U2YfM@`-cS+32w5xEWnIt<2Sg-vWqhYnL0sy~zs`&-?AZm{a=kkIWB;TS9 z7oBF3Z!wX>exXimHxgJB!sP|bUa%f@_KrvWxq5xwvVf7kn<>KR#;uBd2qT77o9d>yfZN^ z7N#3G9*zCdN&KXtd_iaXF2@~$$K=Lg8m8aNZ?e=)k0yTN2_~nstOjE;d>pvM6Q;Uc z-pdVMZ!^)@jTX*cQ`5>NZp((RIX71=%|(7Gg2_=H#h8p4uZVB*Hv5cz_?n03Q6xVv z7ZO7{sceUO)z88DWREkG7**mc?9>YpOkL#}Mk;InuhFH|ayA~-f<@%VECIjSl zcpW(I!lN%O1Y1cT$7 zM?E1n<}U^MLX%&qy2&p!qk#C}+kgv_3OncWaE;XQmscS6 z0kbAlM7`PhXZC+JD-t<^3ZR*5X7?Z*K#n)n%p?^wd3r5`4BslDt z7qG>O1i4bg(yENW1kEc3E-038%UhC(&0L5)Am9QeiL0T+V9W3fb6usv+dB#Gfl`GP z1?SB+O9H$H4fRFUA-o6u-dhlm0di3H_bl3iGEcVz0pXTN8<%~<~ts=eyB7+4o3{%Du8I&=g zz!D)h2DL=q-st=AuKV!G>KSD<^UGWXyvj66-roD03;8#AfcHbGKMLZ4wu_!`qIaf=rSot~bGkTdUhi~dyG&ld#g_GjLSVm=;` z$?_?yX6WGc@EufEw-qjtBol0s5hEMeB)>dXrEastZU;{&V&zr`OX`Bd4`WD)F4xd=8uLrmC#?CeNM`8m zSplx#VH1=`WC|w|tQ@=6SYCg zij_PsWd!EQjE&C6x$eo{RP@rVV{XqmysvTL;e88=w@&cSI`|x^6TU#@&w0{(YFV#? z-MSs@cKXuFoAag%#!$88Pxk%v&)?&C#ryua)XOxIPt981hTd{h5R8XuGx4_S#Yb|o zkah@_L2tNGe#bMT@AvlHZ5K^~9z2ua8J^Ajnd#QlzR&gFmHl_c`1iSa?{%ZvDyWVW z)sddiw*4E-vGMQUD1W!`d+v7yFOKK?y_czc6!qRW?ddHa{5Ke9PBm)jP#HF#>%;8% zbSeAEv|lwxsumz#ua%=_3GxJ~RZ2212yYVR1?CErB?=}u?#|TX%{b(M52W6XvtDpfem95474m%07l|vzFxO%}WuMBUnAHD_We#4iyTGRe zImq!F8{^a^eCKQC4y3pECQepc*Vorw=qLfU85r-%PpyhR(m#GO#FJlcz2GS zsQb=$z&CM;3Aaew{`~1~T0!s`XUE6ys2$peu`r}BLS;yZ?jC_`RG#N7MHfo_sn&x$ zkwDNU%Uo*HYU5+ON1V8DU28SWYR*XdU~c?`z`HIwo$Ysn!1`JSc~Zw3*$9KDX@&hQ;`u=w!rLbX{xtd)kZxrZUfugcCFWUzOHX% zi0`0ldOD4tPLnx7o}?Wn4NPNpjxS)f-$yZD39ldy1?!AR(1lXz^%=n1H^LqTZnw!K zZc|2^pjU(2&3(;QUs&Ntb#O*UebIn)@@1F#krvrx$_HCA<{pW;Br$$`b&dT+i+Tb8qwIqkoL;*k9aMQ8ngBOG6Me4%mXz>*ujrs>N zoO&aL`K;zk_Q2{k%$}1c1MRRBbKsoeZIvOZSf}?N_WQcQZjU_X$+QAGtz`9V?A^y} z_MfgOT3%7t;xPgz2A#IF3AzT%%bX7ZRW_=v$rQkeh3HWu22ZBfpAEL#56GX%yc1Wz zrdXa}<}a(&&~!ff0_Pc=bI})YkO5x}j8?Ry%RQbww1fL9&b)OF&Vfgrr!VX#rW*X3?PiZw!#Vzrc# z+}RNkS|_m0g#t@*82r4TfM{rL`w-ha*9#|@Yzd8NYl6?chTQ0pGUEBK>Ep+xG`VzN zhNTPNWcIAx&EDx6&g4y+9~hHj*doVTrx<{B51jS<0MPZ3BDNZzM3}>(bg%bDt;YgG z3_0t0)alU}ldkwpz`Co*-YxILv&D-SZNxciMr6pC>@Vw27tL=I)DBmsYZ=|leXOrk z%Ix~!DGhF;K)ip}Nh{{2@dy-D=+*F(3UO^L>Tv2?r1J*ww2%R%x5NeSNWa35x zx#AayvNZAH4FnSl4$NR1NdFfG)1K|8g2uxSoyCmz*g^KcsYM!TUJn{FP)^SXd7gvQ zXFL~OOhrYDiQ|qE4VDu}39zgb*Kn=$Oit}4Y3?TJ=`%UKBgyr;^MmCweWZ7<4>=bC z^MZ%GlaJ+GFrPlFPWkAoAYCq0h9buy{ahzan?O?C+GALMd}=sT&(#)iO};DU)1!-U z437-l8265(oO;8jr$-;sm)8~$Rh&mfndy9AHf?C0)#0%m9OGC69V)|{$-9{`CsoYn zsc$n2x4pz-oiyQm5eDDE(ZBrY4=g%dSF%2Y<@OW)GfFd+`C-m;%&uNz z5Cei-s1mG+#1=B&~>+%5#%>z=?s+oHA=+k0Q6ngYeT{h0_yNxycj-%MH|s zcH>KvTKmxFFEf(^uA09H*8 z8%QkSmlHhD?O_ACTF+HD>g^8BUJIvMs}8f;B2^{&0LO)H53IWwJ{0?7{MGJ^uJrNZ zKps%){@mQ%@e`)U2cww(SmK$McgK;Ok7hIM;}Xcgk*+Yp9>s%~nXKQG$xKOPvFS}$ zfycV9SJ%yQ(PEj{WQOlRnTU_T4ik}W1~?(VhO^X!@K@XIh$-$IMU&q7f5`x!T2%n^ zkJ|%tg=DAE`XR_djUgz66&z<#IWYfFt~f^-F#jCqEZ}Kj6Kn5s1EZxj!d7C44RHO5 zan^I-j6?4Buq?b;^q35p>eWp8w^JF>`~>De$1!Yrk8i7%wZr)q?Vt|G0h<^f-@)&& zY`lWtg4CACHCL|yv&RM2hdP86Q-nL(4IgV@Jotwt^3GKe?r1U|Lh!UvS*?Cv(gye2 z;U(K<#;ZTURGodExnA9mO;IS~mu6)hXVo$p{8{9D(@#d?{RL*T2LGeNmggWm<|LVQW5Z%?Lw`JyY0`UmasTfLsyJoiuLlgmAro*R0@ZqJwrgoRGf z#oHI)I|oD+qnpB~Q1MOvX1|eZXD|=<+p@{W zL*g%<DNYFVg@892vW>}EjtY)*wOGuyn(E6O z?d*WQ;IHzw4iC6HeO>ZMUj%GKTqt+6?Pl>~GQ2u!JG1oQCdS%%JaZ#@1Z$%3E5XhK zpS#Ketdqg$)2oKZD&bqS=h(;@hcvRz3!ghq8?eIEHq3PCDEPAi{tH>ae<33|{_wUy z?(BRr^d6MACrzXWv-ff*UrgE%^j;bA&_DYSLp$bMjfd;Tr?IYRw@&*7e&x zYX8QfpuPx|As{f~)JCeOsPJW&?!|h4w`gTF^aqd4W+K!5p1&J0gAky$!RXQnDavNL zSZ`GQMI=!FB^?ER4jLn=dG?B6zrR2=oDP*?@vvRYnjw+wNZ%wz_x~0AYYv%2Y9+Ce%Fqt5l5-d-#71h%CO(u98|gC{9q7Hh!$IRAR0bX5 zpX|A78;$A@?~q$_SSP`GD3b8Z=75bf>>Dm&LQDO8#BV}2zftQZoQKP~{hX!I_$wx8 zeSp6j;Sa=qJ3BPT-|`=FACo~Fznz)>&lSdT_a&wxp(krS@M-{lN&}Cjn68MNFikG^~K1! zK=8C(NW30mtC0iLo#w5pIS)(@9^~{*4glQ&V|H7)NtA_=4%BPhkK4=oRLTMK>AFD(4(K zw_RM&_g$vWakHG0uE>5tG>YGwx0)Jzu+s>x+08|_-S%PMd4G++;WPM*y;3^1U57sF zG{RCjli#a?tKbAwvk{_fd-Im{oy{TK(RL?Ae^n^_pE5M>hc8#WRXkRa{$wxsD*eef z$_;(er>WX*U3zw3r{=CB_F1U5tKaE+rxg!l?0e_@vL>aK>)2zH7zZ&jF9f|DT(gy1 z{Z0cnqhrW^G2-l(kI9ffX&o~>^C>o|D2b^aMYZZM*f02r!1R**JWw55hEGr?PElJe z;HD(_>Huc1sL%>*b1KG2z55zE&W7AH1haRWoOvZg`%~nzkDqzBZr(+2e`jsbIcu+H z9W%Q0SvLJ+74!R(&5YT089q#*WMm?6gRn&*9ZyTkh{^gy=rHF>QHO0>>$a8K>&SRO zTfpV*c1FZ5rFoH-@d=SlbFs}CV5*2*O68vi&U`B!v{rYi-9;~n-WRk^ez7>88IqF1 zhClfdqfy%#6Zu6#zEq@s+j`V*H5xO2Fl2TO=nq8!T@J=i%uQEg^Yv!WhSL`=G+zHN z)`y4)XQ_)*A60?dEi*|);+kP2wO4Ei)#Y9qVWy`~kIMDQJ~E8^-x)>QUcA|KJcfJCjfhxM?ehFPS?9LSe+ zJxxXZEr^%H9D|Sq@FodO=nUL~c`UYipnnsc`PadqzA$&mV(PTnY*A@nX5{J|W;^;* zC@eowxIu2UJPlvcQ%MH(XLwDn0lOwNtr&fe3lyYDHJ(@9?y-9PC%MTNb+_;FCdsAIFa0+ezYAzWhg&aSJ88xN}YGH$(KPbs&?OQXl}gN)RF-^ zOy0S_D+=B>D3PbR!`a-vTjbJ6ksa;exjxgN{JUbXI?tukYDqh&@+vxsX;T$MPIqauS!yN%{kFG!6eY%y4H!N#su3Z zFSc}7YdUNU?u!r^5E)!HFdD1_1a-6Zs@9+-9@SowWsz1m za_SnY;}ark%6LL5CEAOW3o z_9>TvulT@EZuid5R#gh=S+n-o6f9FkH!KX0`%%J}YPmf7x z|6yOs#2@0_DX_H-@oy@xt$a*|a@!ZoS1abTTg|U9mG5n1;O8Ya^Ds&+Q%wYL_B-NR zY>lN2BVgWuz1o|0wXWc}ee`L&(NSH{J00da%1N!x?W~&UL+;BY?A;X37y185&aDm* zo8zy0W%=E6>QU|TgWBPTHeWLtujaC+2EE11&3Y5-Bvb^@cg4p?Z!9IYpiJyX!(;sw zl3eacwM#96Zlcvv2yw6HI7i?y%PVgep{1!M+;EVQB987*g?}L4CR!K~Jt1P@!TYxl z{Qvv!hS8Nt!F>@b1KIEz5WZ=tsBx$A1^j`SLGk5y?WFrbYlgHIZjP_ZzUXO5RJ_;dw{WjSO!KxWE1L?V*`sC8iW85?FzM_T=E9}*YV*I|$p{;!p)#}euq`(l-CcP=mS^G`33sETTzR{SEHUkIzXYIzzth&Ui(L@A17?Q zXgr^)Pfj?w;i#|SOKqqg)zJSxH2Ixa$kD>BXPj#L7UqZr@mYOFGezlx7!$5z&kEpa zRRqHsXou)nU^tOSjHXF7xIkeRD8ug2%)zfmFq~v9adA?WN)NRL1~fjtB+Xk>k>fY&_=p%8!h8C{9Tim^EW zgAfcjV#x|7JuRYidxu4A&qZv_rRG$ZZoI7CW{WF=^0uI4A!p^nPSE1)G;keTXNTmb z>DaTM`nQ~iIh)8?FH{D@(JlzI$35+hm-THZGo81*w2}{y?aPYj3E?8a^@R&ae03MG z=(*^Kev#t$2b_~40rz+XIXh= zrov_c?KYpPjo@!N?_Ym@VQMoUX_ zP+#z3jC80B?{~&N_1|r*ICTJX@E<8-qn(f;EUfjc2X&Izioq=wP0oL)ySG+jULbd^ zovXLwtcP81a5~X+(eK^=z?* zOxbO{QHg4H-~`e9Ckf zabfZC3Dn$y2~;t#&4yHIHcjfly_HTaEfr8%0@Ly^o1e!8}iqUcJ zY>iRQjfjX!M0|Gy#-Z~KbrNQ7nQePPRdQ}ATk&sw7r`~83^NbyVA!5} z*`q7oWCp#$YW^s9QcnMyQWIxPiW!2jK%N^3?)^>d7p*^M-fik)m4GsnAz`Z$Xm69t zP7>FgL?H;8@{MSH-wq9%QynxjF|SjzXw;JDgTCl>{4gV&n!wyBnZ-D_k4M~r6T5{- zN+s$ID#Y0nZWhEo5X`>?=PZ1(HJ%riNfZZE8Ti}@f3*{5JrWB8KaNq=IwqYpoOLQb z@n|V;lS}{Y`7&rsCO3V@s9(%wUhg)8iAhu8%uA8=0cSn0NUIlwd&wHontL=Gi5tcX2|#QW!? z9VAo+WI#JyCw9O9hm{sz?s8Y56V#~i%Ujn;*jM-#1seH%s=^XHoiGnhUJ!j7~zE7 z%+*WXkhCO>sy>B?5CKv9H$xs&mmJojJF^7g5jPz(xbIt< z6Of~)g%d8aQPg{1zr=2-76i+1S-4A8^-ph_2z9?5Zn%D8F6lb3y+2#RMCV9Z;zPON zDFd`Yjx|ya|7L7I)jb~ytB6l0{!Js+A(z`xdf8Kb89tP*#D`+{wxC-`8E~J66H-6U zFZb^6Yt`-4KLm}*P#MgnWo7LGz9gMa*W$$q{B9HRE&AkYIY<0Vt?`@SBehyMs|5fE ztdnlFvV`#LO$o$4;MOGeq1YxwUxoU4U$O3_LuDx3R>^3i+p)d7EoO?>c4AG$k17;N zmykIyEJ4>YG(qQs4<$nsR>TE-tPv4<3{#AhOM%D9dLyvzz(>JG3LO|iV|kZ~h>i5B z!(k2VXr$rqmACE|(s)Up5Bg$Q)>-C_S39tKp3Gvd=Sc(H(T?WoT4UIf4d6w_0W+c> zNR;`&{M)7vF7c5Vz33_a8M-FUbqf#p^}2}@fI`CjsK-A8@E`no;8i0V4Z-{e`~5qA zxL1l4k7(|%072V_U=nQHTt)&)a^~iHbWuun^s|I35gSw)M zFBB!jqz@r>_M>^F=!+fCpSD!yTG?}|NrABm!@e|6J=CY z6PIBa9X3^!oSwI7$EMw8*k&4bVVe)NVMXMk)iRgXZDmYqSm&}~Y?w<@MfuoPRr_Ez zNgEc1HPu$r=5qeecj}gS{J#J5XsXUha$e_sdA(on*X#Luz8_9faQ3%L}n z2l-jYjr1A=KGH039sn8S^)6`gHBUTd-c(XoCh7$jX%%az*$w=p!kU3P#Wn6*ePXet zlgr{@&(?bQVOf!J^zj#m0w>mqe%Yg=@huH|?78TGb_kXM-YACV6vK`J4g_SR3*0^* z?5J?y_>kW%M_ex?6Fi)aeEzMPyqcQw#>Spt1CTPVrV6V9Je>S6Z7lM;)1kJ30|`|= zy1oA|$&S@e$PhpLf81!9g8Z;|F_-eU1h!levo5mjqBPXy>E(5~v_2Q=Z%W%K6$<2` zC>hk~SreaLbmEkKHP#9Y$(lxWx7*y}pxrQstOJ9=PQonZ#>+arb&v~FJbX|H-- zyf9#1^qpMFea$73_^ETbF3Go0UytTr6yA@qV(mtJ6E-cab(k-qe58>I@K*zN#M3!} zpX>IA7%jT*ro$K9P5vAZ*!Fpo7(+lyWQS~Kae}@cj)#&jf8w^vhY;PfA96=e-bN0{ z-N$6$eUy7aD@6_n`2QrzqKXGHKtGk2HBuaiU39J`2Ly3m?EUq6ojS$<8BiM+^;;kV z)~`p$)Q`5XD~6c@Z2JqJpXI{eW668fM$Yq@okKnM+B4aO;3T2@3-BH&j$rRUT%{7N z%}*=3TN~EjWI~9?&tFY-60MI@;R3H3@KIKMyb5Q0YSnV^4Vr8qu?0RVH9&@6qPDS7 z?>?&MPVLE6`_FI!Su!a*VBr4TRLx~7e`o?X%U}BYGVqFx({$m(B`VR%Xzks@3|=kBQVZ;v$}|77(;*z@2U@Re`Kr3 zxy94C^Ovu~FNbLl+x``0x^mF1>%aR-ubud(@$Sd``iMK5K3?AOsGkSpU));%UVRL+E@>Y>&~2)iFX@k! z$|veka@K9;k2c<=c-la_y5gtJPsmWWyOMjury`$3=5a5ou5%V}anQY99&$jC@2^u) zTP`|66^EKlz&{unCRRERbwC>VE8uoRvPM;17wmcCq|VxN<^5sH>Gdjrsd5aAlto=5 z=;|WB+QrcGAH(FkSdI8my+t}EH&469>7_Yj@a~lyYEy9jH&TC;>&;;?@$p$qy?fpu z*Meb~bosd!oB#5AwVHJ&w{%&WB3c?+dU4C7hN(F1_dg`b;g3Rome@ew2>(NNRd^Bo z^WpJn*a|k8@6XZ`R5&WbhGBnmlXV}Hx&K?mW&FGg{Bm|9cqU|wGCc`IEAH7ImwQ&c zHc5`$ha6m!tKy{0tBj?rxQfrXXwE3JqRuhXD~_qAJ~1)l8UzMw_@nUEj50Z;LscvP zpY*@}W1RX+_T?832k3_bhikaOZKsiSf34%*^6unHs<1Xnz-Om|-vge(!CH^*`2^|% zfq#;*rDNY6l9}1d*0{5Z|Ev^0_MKfafyNI3HD12tSPb&ip1<#(oOf5#_j7limG2Mq)1L421&hxI z%!|Ucx4G2zQ^@|mzTjl9{{SvfwYACZZYnQ>dZQplAzpO5fX-vpih?HIZ8FJDgXSy~ zjqU#_h&0sKnNZ7)IV~Cx!b(^nWBi40GTqqq`V{0f2jax0=Ql8yz~)jx|Y9KSK2 z*p;)nW@K8WD~sY!hh_ua1ih~Y>47RbNgFP1C-K*WRm!E3R(UX7J>VQTOF66@Hd@O} z9G>TF0!NKb4ejo0A1Sb8N{z01)I*U6@dbsMTKtoAJkl5Ki~ir3xgQJjN&6kMxJ$ht zgC^d2CN#VJzOMH8)X~%6D;5K-x+qNv(I)7++X}DH*+t4Q%Gjs{*<#PKFgV*cRmGQ`HB*Xb;m)M zy?WlQc1`P*i))Dab-r z>-`uImVWhvcDRvL&aFL|PkIi`;r?fQgR`*J1HvR73SUBG>U+J*1HM7epPeR5=mGwR zj~OKs*1gBd%$e)a7j(aic5pcKGuLOJ?ss|hsvtf2 z?712e7H;LiLSk4sn`?KqFSncLD>Ad*TajxKF#d-{JH*$6O3^cI1=^vq z_Hu0Nl)tG`!c$nS*{^+9f=h$}nXsKJVD+({GFszL42l(0b!YOYQ4nRCnOGQT*Duw5M$~*FPwZI=5Y% zwAR1?%f|wn^zYb6)O34AdhoD#RvoQ<88|mnFD0_S@B1pCFM?&z4eSu*av!Q-)Bfg! zre78TPA#T4^&fE4JM~)%*S89LuU~iPpQ*M#Q#DF}V3^D;#=$Y`eh;Xy(lIUQ?p|oX)Y(eAU@Z6*9)(L?;7*D@(jx!uyPdeSn z;Rb)xm19_ZSRxEHnBP%d)g8(jq{Rz+f8?nlc3?w0NGV^?rG{JiOH;C!mR)JM1)2nW z#>Sl6jVLn^THaw-B?g@F@BJqQ@#Oqct!H03R~Rra%6s4DuKv1{IM#o`E!(p^nPru7 z`0eSs85iz#X_I{5hK)fTvBYSH=SD5vO(viEfEzS94Kft@$3w2Qb5hLn z(FubFB_s?2c`#z`c_aKXgfn_q)}JL?R%Vke*(vra`*WE}D#JNLeu^qipQKAt#R+IT zOhx`?u_maF*vZ37*-v}#511E%ud6v*@14ZEw18XIYfbXv38$yB*SHU|fjuyF?J%H| zvcrIwKR1|7*G_$qch%z^ZV)rb_dmS%N|+K0d^e_m(fD)=mq|`fv(+3hTXp#Mb*=ve z9)_9Y+AXj=6Xcf*+3^DH2Nth~x;j_}cH}i?@0>p7O>ceoXXc)$Lz9lU-3{aM_Z+=B zjukUS!z1O5jkk=cOwrm5*-DXxuj&6uDZcRf#cqQ)dgo!Q+u&*TPlmGs;VFe

      %L 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%0ANwT`S|w_jkVx>tgByS&mg$s7I(fL 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 z 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žyMP{)t+qB)R|n=2pYQyNfBBFwdu-_8gLiinQB^Zqfs{ZV@=HCG6P;h(}*vVK-?P5&vUh--cZ*1~FHbwH#Ova{95 z7o=mH!Nj>L1wcUz$R*|{hMWT?bJKncEi+K)f^=OzIjB`6Q^h(FIZ2HYJ)XMQT3z3R zhgtmO9^ntaekx#`W0=Btx%Eb=X4VuLu~v`NRP|SDI02o^)=bll6#CKj99%K*hkI{j@)HT2Xc_Te%Rib`Jr&}nO-TZ zqZ@{#Z~vO|QN;74DE?N;_1RBp1dK7hIv6yHYEQYn;Ay>KI55Ch2eTWcL9k!ASq<^7 zvl~1uD1ex=A1vvLorHE09|3z-7KFeM=6C=5WaW4?E429H$EDu z&tNDhHW+o-n?Qz1fPuwlAqNGUH%{8CPgaM=g}4D2230&l|Q0LkBAMdX sn1L4<;#T4HWnAo*5%{|T7n`d)xDxQ1t;i`{&A1qzm*V<6F7{pi3ng&EcmMzZ literal 0 HcmV?d00001 diff --git a/jsartoolkit5/examples/DataNFT/pinball.iset b/jsartoolkit5/examples/DataNFT/pinball.iset new file mode 100644 index 0000000000000000000000000000000000000000..5d228985332a39e84f0d25ccd2c588acf81b8cca GIT binary patch literal 125925 zcmXV1cQ{+``;I+oR2#LoB519sy=#vUv#2UHV%1))U8?yIBW5T{Vuz|twN}i=h=>|h zHH)HlDf;uhuHSk8I@fux>pkavpYx3Sz8^XO0PyeYza_v;BRxYs02vt>ApCj&{>=k) z0MwLJ)Krwz)Kt_oG}N^8H|go==;(n=%nUc#fb8sSz&m$1dG7LYatU$Yxx+8XFC-!g z5(jbc-IKm2CVf{7B=)ZxaD$feF+~&^84KWFKY$MaAfvio;(x3B|3yYlalHr)Egk)h z>j}*_0pw&96y%f?R8*9d*R!Lpp93gasBQ_!Xi?v`cuFG}0F;f(ctVDDlyTakv^0(Na>!fgE-o$FDfm(vC#thVRr&tvmG~TV30Kk zH<@xvO>p&N1PjHDWO~l^2bQP5yV^v9;)WEEZD*gj_p&;#OXF1|jWDE;> zTq81mg$Gu0c$x&F6>Te{;g&}C90Q*=5G|5;v+`Uwtv=J!XiI;wI7BRa=^ zf|hHRLJ>KbKnlh7+GfgAfl)A~AOnbz5*ody6H=Ov(lJEI257n#HM>a(>&`K1AIcS# zqaJl~TdXT!RmNWW!&u)a;Td2F_27Loj-O00!yUuU7SD04ifVAhyQ&)vywemRcphDz z>W53v+ekyWc|--1sRkk|38hsbMIIl40e*x!6Ap`Dx}uT(dvHCuoXISl!&E!kDXVv*9Q2A1O`d^(_<>RaBY=4p za~au?rv|M0PYs)cGN}Ztc0r@ShcbRlij^c*jjIk`VVbJS6J{MK1(S+J2lq)$PP$~@ znqwNqFwA?k&WLZMk+GLN+8)v@b*c;MP>V$?n0}>)b;MYhD#&^$l`I%uZo%>|VGQ+K zFox7AaN;~WbqbP52-?>4GWk0}hZ!zK0^63$KSUv`o(_1|HGh2LyaAZesC7htNH4K@ zLW0`|qUe^>i?TxYbVWdn_xM+z5iEv*Z>wm*&=4ReEqWl5umYzJ!m}^OCE&z=!^R0^ zgW$E33Xl3ABgmR5^;?`sl(?=U@ZzGa5>HWK585WAr*Nu3SD|%5P^xh-rxEQ@X<->D z15N>wl0dz-zlu9NP&!H$eO*}}LGX}Nf8nBLv zPy)LkfnA%rAe@MdK9JiY!*mIXG(?#aJqRi534~0P=Z@hq2FE{C0+-1k6)IuuxhlYY zX22gtQLqXiw6X$`wT1>SOrjz=neCla2+MKsbWRh32PxK*aR)D^8Ys34`dS9Az;f(p zmciO<31&y|JZ9Ge>6yC_?SIdayBtr8#7yZXaY;nGwhis&UM zrw%EBfPz^uaOwT;1tl^6ZAJtFuK@Cftwek!0A{xVTivE!2$z8N_g(c1S72@r4ouwEgC{<#bWBK z6AbM@eCh%eDB3JCrwyV*kBN-~-E+bDM-}%NU>}#WEMJpnX69twQh`ooonX{pG#kdP zq+E7xa~K_X3HE}pTNXk|a4(_(zMhN2tAKwXK+IUt_Dv&|sSW~*=23+x4XcRK67jzb zOHp~RyBy>#!7oHQ+Y!Rt4c+zC(ZCC})~Vn&zxoOAE=8gcCi0_#W=+sEQY=W9eZ5c)uJ+S{l*@smKx9>vd+r#i zRjOJP7J1^-0@5M_3$5UWtg^h~3!)jg$olRbfsiM6xtxN24c%&8nL z4&a6|Dbo`Dk6bcnf8&rhxZ%>l7%=g%L4 zSxy}_c&vN>7`-TVNF{|5JB+G4G?gkaTt_|6TWosnH;}r)v#G%Ma?uiQG2E ziXT3rB~W;%7zLOm!Hhfyv0yG| z#O!6M7ghCDt*Vf)j0iH@(ONI;5?g|<7i6I9$;!I!gGQuvRS&hcp$PG3n>dGrc(VG) zOOz`!_PgPL4L{AY_omxR*G-#Se$uc;BM5m-r+>uelY1Az>5TT~8Xvs}MCC2UMd8V) zr%J%V9mArdke?us*fySW8SXA)s4xFEL+^*)ZWHDYn)%G)Q|!_6BlM!@!v98qp5bz= znVM%$i3MH+WN`8G`mOaq0XPv*w*?%qoQ4I`J3?JiGUH&ET;8Vmcxka~S9qORnc_g` zYu^jEHB){Zlzg4m4E<+J3_gr#Lo2; zc7cz&*^%;s+Mp&hmrih1S|jxyZbUyN1NBbr{AqiA_La<&8`#hvmcljZ-e25pl$NG# zQV$7vlj@KWuLo}qPffwytIw*?H(Qjbkt5L~ro1M_-@rx2ai@?qixz!$^cF}tQ0zR& zRDC&DYA?HvS?k#m@)LGkw96K%OuH|VD9)|B&uzoq`I0N%5!%1_X^3Y%NT<0WdU>ER zP$*1*s5tCfT!AOf{rzZoxBmfVsve%ZFVG^@J7dm|R*U)o;v$f0(f|_Xp>lPuI89?i zA$m5Wi}srQ6A9zfFCO&($b4neUvYr#)7Xdyg}Nph5Z{Ab}n$ z)t~B%Fg>`W1mSFu%hVr&-fDI2--<~LoJ*ZOKc(FlnTLl@8y?k;p zCo|;`FNPCPokZE&t8j|#7{FAZEIX#)sU71*WY;|b-mLNj0uoqyod;kBn89m51B@82 z!xvHzJLf2yj$ZS^_x}Tkb+6a_hupKd^Wy;`z>?<8KR~j%#S3m|jX`n9*Jydc$Bt6^ zc)K)nfAyzG8%t;`!zZnC>xjLj>@>m3Z^IPt`hx86A|xSj=cTEbpCSe?fEO=>ZlIi+ zV;~<8!IGye1N!dc@=?KU4H;q2i%+ZjLuH&}(3$~PU#rx6ZU+kgcXgGvU-nC8B{%u< z?vs7Y1G*ww4MX5mQla7*dz$-`{qm^T-5Kj0k_ME6a#A~Q@ z4%ctIfq<-o%JGIv34h?~BX2*%ut4u-JzGk<2)8Pp-Hz9jDU8}T%Ap+ulyr~Zr&5Hy zN=RT^5&Q>8H5GY#TTn33mM{G5zXYf*dI$P2L#jPLX5jtz?rpWc+fnYXim+lU@;rO7 z?_NXN+8#R?XDm}D+xS0jAd)Q{t!z65iOmbJFLCvG1muj9UpP(9;a?$sUvt-j7!J%q#g;yA6RkUiFt6uYp_@)v3aV~!VJm}Gv{kDg~8B?r-!#`4?h8#HrZMhj>>JJ`A zkcMk6;Mql24gIo6YeuG4yrMjlw*vP5b%46EdV#W7%-z;3jU#0-c@B8;z+Oxm!T}w#_6&ku!FfW>>|kH;D^BSsP-r1xN2$V>Ke+q|ob`)S#{>;7 zT!xzv65#4hZO3R;dUF`wfEoN_$IJo=N3sLwjI<;095ptJ&8$;F*2tVH;cZjyso0Vu z^q`SHd(F*_FzQ;BHpe^i1^$Bp>m^&T=%)6b3JQoNqUnc25qm3qYwy{wO{unuRs~CDDc&Me{RR5no?KL$MY2{*lE?YN7|WA&#sM(}f9#}=+h`Q)4V`r;_HPqbw@u3LN88 z$#I9}(kx~mL;h(Y7VR-lnYN)d-6lL&x>7N0&g0gY*qUGH$Dd2_rD;$j5HI6#o$A3%JPcz56FE%|7W{4bfJ zRD|4dC7;c{W9Z4jaOD=S?f`>+#N2nIG$`q%ak(R{U$e?jG=<8`6~f2wPl7}$nOGkS6_SrvMw&jT{iC&ckc z^`o!Q{q?g?PYVms4&qv$ZQqL>3>}V^`U-Vfc$eZ4JD`)wf(;_KA$x@Pm%C1 zA>(d;8AChB%JBOmD!XvrVMH})kjGS{WQKO)vOtC2tzja8gv3el5)JCmk^n}!F*fpC zqfWg>7K7KLDbHFK4pBwB#vFASr+slfjDv?ej~?8_kh-{iGO|6^EGvH4ceE71)V`H8 zw|e{U4*eXQxZK0&29?d32Ko6ses#NsQnc=vM}ylY>Nx*>kz#(IlI9nh-y6*#yc8|* ze;uZ<_tRBn)k%&kLdcolb(i;EDphSMMC!KW2YCnFbZ*R-ZGSS*er+6^ElFIL5NpT- z(#+ad=0(@}Gn<^E4hUSbnbx;y^687`9GN0|!iq;i7sspxWnbs$6rA#9gi2fJ6@u{fyuVD+P zJH2Fvp6c|GQq?DJiBaAbQh<)?&#G0)Zs+0xQdRh3RFu#1e-0ns$KQFL-ou%YvC9~U za;##)z$7(zkdOoU1^H#``Wu2OtpQr*$&OSUBh3NQ}H!)ZVTV z2Jr2^-yS{G;l1$Kd~|hNmU-w%oQy-_X>& z&wAl`XB|*o7?>{#{s*8~e7wlxCo$`WA{htT8Q^05A~-hx0Z3TB*F{kS|A7^x>7KTx zk9s=%UHGlRx8ZodHAo)+t3ISyrl9b+j?IpL>(&aXa+;^9t>hlaiHgirOvm^`p%9)+ zL)<^bC5{ig6B~k|rMk{kQU3HG<4WKZKUx+J%R%DNhY{#QrLr$-n+ix0GC<99c+g%B zCptk$FfhQ2{Ne?LMG~mDwY*Fh2y8g%RxAhl8xEw17D-2$5H?V9VCQ#=_&Zdz3+iIk-!;0?ZomoR~JrJC=nK-aPMN9zTl zL4-!M>J*K=(~&u>x9FpLlW!6~@3D&#=Al?7t79NdWGin)_JDq40*|I?542$ zZKe=pamZ}%y2;6tUv#x%6@Rjjose2zRwf8XMWY^9j`(Bxr!_PkaO5uIG!}NU;C> zJ9D#mw#8=bzP-aELX6y~IeX6N>B>I<_7TBL*(oIa)1(S6{9%TXz@WgJIjzlk)VkTS ztW2x?3+*mWzebP9pU>=snXDtzCF=hHUNt^!?LwM2O!?vd?m81Xb|{ZkZK&gxX$Z|X z+RIznY-YSagd6(~jRi7epAcV~`g8=7Q1U4`|0!N>8!a`QELZd0HWQc| zHr7|A;fTUupWMeppBe&QM+|EQlGWX?RwCY2+_S2_*F**E)Me*be;bDvC=25e!;8Se zpu6RnkVp#XI?5gyhUFMunt-AA4U4j3GfhDv=|~)hA~;Z)F!{g4gS&VH=?zU(&*}ud zY(!*zvKWkX6=3B8?HM)|c@6?y;y+&F67!l)Fil`V1cm}dzZ~1Nq~d}ajWgjh3Ow*K z2mM)24=F(f9-+60tUWb1`Mc%a=EZHs}p6W5il1%&sw-s8@;b9bG-msiV5Yvg(hWSBq}sY zSF{~-tK)r$J3~c6k(ce~c8`oX5BDtJP|+OTV~GWPm~`e^Ys-WjqPIg$ESV_VpidzX z*Ta`8{1s-GGpxFLinbaTPC&dSpgmyJ&oc7T_8yq(**p*ufc${aCa{asG_!O3NEH8N z;;-H`%OMM@-Apt2OH?8H%NX%!y?gs2v3!qXi2<5)V;*iH{tv(;ZgPukg=R6&5uhtQ zT(l4+cFUvLE;(nr`&fQpOJ5Z>MA~x!YV#0;nC%Lmevj|CGiJkK>w3}dXR$h{^|x9#akdv^AtwV za4k16)pu3u!&0Z74?b+{5^lf%f18r#AiERy*7*9gdqj4vh@aiU6mh|k)X3*|+Z8A! z=!d7V7ysqlJSaIS?~(6LTay&WeraX+uD+H05OS9h!rB(10Ybl!RkmboL=gKJVh_p- z*4}T)*xZ{~F6kIjofa90sM?uj+oShcv%4rQwHA(Zhz!jVF&$*R^Uk^DlD4*2#{T5> z%`}X#-Ec*5UXZ3m%91&&!D_S>Aueq+!(gcUH%$7f6e(2{U^#f>J&k7#OHDN;E!|ik zV{oKXaZH3yrVcsf-_9ay$Th_E{7voiquYG*Hq?)(t(WrMEdNvqwwKSqnX}EjWR~fe zFB(+|F@6RRI-~P1XWjNN(yp?zWlW2o+8xYezkmy|=+ZKzZM%z^Rn#>Qf(iV3Hn^sL zk~kJaiq1+p-?)n8d_G?nvr$#zLyY?H@`BL1q1lzk>lQQiM(VEG-I%ew%mwAf zh_twwb!-|Fz}+_cVVlz28UIXBM2*8Z2I6t~rd+FCwy~Gn0R1AT=cxW(o6pGE1`1wE zxq%VGa}yGMg3)3yn+HnEg#um{WatBCBMUM`^1}3#Lo?}=eYpQCi#3L$3P~>+oa%Me z@Kp`e4RxI>%*Yv|_JRoPpGFe?v(@N>+N0KI@Uv4#a`2;)V$3?;U0fxP^Pk zK_4(GQ|7`Mnk+DQA7rGdkqk|0(SKcw@=6v)Q>LOPL6}=6-^j3!HH_Lj(xOA*q$$btmmds= zuy;Nrr{!pxf@hybd9}Zy?vpZN2#A}@b1|865(f4r(-@h;gW?PXO%6aK1x!}%bq^gp z=*_$^{jLFvGA5})ChKK6!tP^YH$6)CAqJXPoT`mQSyOZa2IvEh*GAZTog2Gw7l+|7 zK;_*JnL6|G)ckY-wLMkLeh(ZID-~l2hkF&1MHUAekP;UM_$;FQnjx;#Hf)z zJ0)R)-ocR#a3s>ajxv#Y+U9 zahdwg8jS)dw((BwiGD{*nPg25!q06Bok|dTHzqji@+<0_AGJRI(tlF<cO8q?qf?+^>cZ~B8L{SrjxQ<^QoAhV-Vss@TtQaMxV`Uz6F89 zi0DE4lr7owDbtIJ&)~^0IbOyGhU=C&exUfZ`7Q~gfYa26jqlY=J#}7NpnOiMM>DKQ z-+jv3umzrMZpxlXGVpGqz`Vi@Ya2G#-r|vR#K5xNnd|eBdWWBEK`gJHk2LRG@W`>O zD_JZy^Z#~3F^mUUeDhR(+}=Cncl&>z)p zXAWzw#aPGdtwl7Y%&x{gI*$bP%4CV6W^X+cf=_fFxiL7IWG22xX$%JSqN50AA$e7))|ky=_3p11h-{NyzqX zR}-%iy7u=JaP#m@E%Gd}J>w>i6ryPA(WpSa)eBPbi7#$-N|i+}HlVxOePoGRgsodq z6jqtT=Aze2Lui$Bp7nVf$eL=CD4cSE*xqG_f0$|YuOALkJX!RTC+#H^j?_u3UwD20 zV*S@){Zr#x_oVNFvOPJ{6&i`o=@iF%_9yKJwww0;hkjZ=qrAsL_>KuLH3I}Y;AnV zl~Kb{veZF;S5+r3(>ON8IeW;nJb0?~K+A}(R7SWbZ+sCMPY{G2;`R77dHMj1ei;=| z{!+1j@T(k|Q2UsrE^^+E#{wO)PZjbzR zf3KI@x()j+oPWBh)kP*{iqw<0@mxNVi;h}WT6|=)`*N8|V9M9(;t%+fY2lMlnKS5{ zN!o)IbM>sx&(os_cS>@uEJ=D7TepM1L5^{JUwvLb~z zIoz3Gd1hkEA7DUD1D>Fcw1jUoi!2-gtMgXj!s*ql)$Avjd80d7^x=-j6*mFZfl&i^ z6=UdOIZfmdGp)$IU5L)d>22Dy6W>v8=f-~kWw(Boe*kA0nYz%BLHRG;4;}(|ENX%b zCb51;#2nq{GL1v>W>QSpwWND|~CChPKrMu1n+nQ)qg7o=R5L{&{4l}L< zzMQRC^?;kh_C-#u)#z$q?kT&}dQ`XO#UDMVD9U#97=mD*|161!P)igk3k+4p6$jas zL+Qp~y{mDE80FYDG?NPSwPO$|PH??Q#2%KdwFIplp?PVE^4B-AYEx3RM1`tRfrmE! zm@3?AF#z@f`+t|C9gLH%ZbQr8DyfOdiJ&55 zQd9$RXtAq#$#$CQK55Eb+sH5rZ(TzkRC4(H2ZHp?U<>rxn(EC|<0jLNhY$+Etom}8 z2B$vHU2MJnd<{k$?}BWxGwyFRUhZm)m3&rFRo}SGa7=cd z@R(!_S>&ShY~V9D)zIbJms*)l+qUr3IAB_c*{CVL2%q6%zKHVDzs%A2bNozZG+MsV z;|d)mp~rVj{qg*#%QB>@^1t_v6lQSf_S*ZUX?HF=>|G&C8Y6qhsn>$J7?m!-A*#_m z%%s?UruE5plYqH`@Pgnb#Vv2CG?0vasAZG?l0WTwK6n;dGcoO+8uL*J{k3bWdfw>S1%kQAJ%`z|Zg5CPmzN2Rh8XSlu756^Adj zzC^QGoTAE~F!pxYV;<8JnN0a+AN)53Jf6Y=qbAQRaoO)x^^1GacPiC?X<$?x6n^8< zuJ4fCPXqo~CceVYA62@i{#xMBuuuAHd8^x;f0NWe5j#63u8XV~3$WR-{jz21_*b03 z{vgf%)35KdW;9P7({&_^ntj0s(OGH*Vw=`Qs@$xVbJBwuw!gF=>WIgCMeK6wbM#(H z*cxVnojvm6iXy5P`B96H8hrX=BiBD<>$6woWNEAze;*PsEE1lPF1u^i%)%X{eXC-ww!fb*r|^$omzQ80 z|9Zjqxg=*MujZ-D(s!0f0@h)GZoT$Pb)}wC?Ev?BAswq=kvP|nS2a$&n$H&Wbsmqs zshPL82j6}`8t&P#`SH2cmj{VA{iEuEa&Nlk@n|pN?EFif*@_Oeu3SZ2=S{zw_;Me< z=E*{V9aAOAuBH`qIHnYN9{&Rz2|1c}Ui~!}tl20F8{E@xmW8Sg2$AxXz|wf}{+&rvhXj+(g3HGrYne-@|6E8_4Uyf+yt2an zNVSn4ePlxOH>q;GVxha=_(s(!d-b|tm(`V3O53*OR|ZEZQp?WkJr9iyjDqEgaT?Dy zn}+ywlQ2Ioab}pKQX$=x>(0At*mzx-#IlB}!6k0(UDC}l@JIs_V0VfrT%kQ4{l;4!W@jJf9 zQYW0=Kpa0pda&Luq<{P;g(x9SgUYzOA%wAmemL4TA9-*Ud^ButD75HZDk^IMozj_x6qSRI2 ze%juEon*OzQhrBN+umU#<;+(+y7S;z30Sf|8>eybB}VzPYu$o_eFT?P3HwH~;nQU? zUmx7ZNyCid{0LTW{TZKk?+>13Wc0X>><`yP_B{Nscr%clH%iY7Ge-p{C*u&QpO2~L zIKt8fodoKsZIAE17mYbhwSDdtEJXjsi>X51Z(zi`b)LcPP2H*1Z@15xAHEyrXdK}6 zkLyauwI+Yv4&J_XrAo^5I;SqmLomw^YAXWE2Hy7vJ%`<-C~+IAY59DU#q93;)^t9* zBnkKVfh(p@X`?f$>S4SLIe-2ECQJ>Yxx%>y82h46 zBhG6SqY6`X!%_~Y00oJhMKyW5mF+W~*Bv}zeQ=+v}tT|dT#^$8Cmf8aVp z-FYcV_4~Kmc5~WcrCDUxU_F2`BDC)^X}XGA~8 z=CzT&J_qeMy$I>wJFea#74u85YY|B;iSJBbE@dPSM(+H=?tqio*d>*bgz7C`u{UG~ zc^TV|_&vCA#wSgO1=MJPeP_l8E{eIDg1JRfL18fSSq z@)*U&!(+%d(q-JI!Me92IX7r4QL`E74-LIbe4+4U!$!WI>W?k%!R>8cHXPd8-!k3&L<)wxS#&t3t#dy2jnhkrJiT!JoLufm*#KJv9&=bvCdl>y*ou2XFfn|8Ul38(LZz0(`9!%TY5F=h_!i$<25X zT&4Y7h=67}oB{^30j|ttDS++qY_vRFsg*LYDk7yKT0&<5=>v3G63db z<};-|_pGI^+}Mw?rmV^Fnkpdq?=V8%g?PS_$b-^VzF(e~z3{3Pa!W%exf}}CFT&26 zzcf0Uzrij%LH_`bpE0^#gMS%m`3}BJfp5k%2q_Ix&fF&7Q9vjSK(5rR*muL@elq$D z#?d1Rt(R7QJ@mcs9mp%c<n;@@|9@uvvoM2$zfFBK)wS zXSwP&ULRsOdiBF!5hHtjJI1j# z`h$^;OjD-_Dib$z>4g2t`~yAMQh9``m09%|?WWm6Y!nC@OrsKUZuwxHg`W!kv$pvUs5 z=+MwV=5oY+$DP5wW{$#OCkZK=n7n%)65K1SuBVA)%*nY@COv^@}HF{FwUtiCy7K%Rn}D`ffH0juQ*>M4Is_1;To zN8i<|UWGYwhA?Cd;`$_G<8$nN!si;7p!Z!2s`kRR`Hx25zF`UOLA_tOd3(>MQ^<;` zJ>eMB+M0^=c}u&34f-H$XUD8tH#VR-N53PaZtJ?E+p#l|6iK^fDk$B-+Q7rj@@M9T zB;;o2pxHmbTX(WImO}5aSsLP(;(Z2pzUHXflKKCr2>iG@qq7vl_$@rm8cu8VYe7N5 zS>p4)_$=(8ITc-VBJs4TC@wFgPBtoJ@2>P&O3r0&v-0XJ-VOMmmUJKzb~D;`qrUlB zL1=2jhT$0zE^LA8&p#&)o!U_@G#oL=nH`D<)2V-f{Iwvv6kql4yFYms+sU*Req}8{ z*eN#`XlM`n`SQJ8OsaK3Uypi(;Lq)f4I^+( z;@=MxJ0GE34ruOjU9$T?k5PY`090#fzX%cV*1(*uXZKo?c1r!@zfL)_)WJGsrl^|2 z>3Ibu7h{$~KKrp?r4`h9$ofNMJ-A+3j8EZ7WPPPl*+$) z?+~;S;G0MP{R1>JNx0x&ZZ}zMBm2Q{w|%$=%v%9bxq>BrVoc9da-!Q zz!d2^AzZXByiZzBIyV<3Bm9jMUnGjaUeFJlG8q!@P z5}x{8A%s;jC_d8quXklG7gD}5_W`t=^FE|mOC%c>XlOm)W$;mrT2a{gMLkok7CN=( z#u%fE(W}+C?rH_*=4_x}=ue3ty(!%$ue~o=Qk~cH)!9zo=F$0hK@T-Mq+Kq$tB+#a zg7WNBwilR6Yh2#Ryic*5KlS@921~!%scP=&J87^Lte6W8cwYc#hj3w*4-mC=WU;>g zi}19In$gm+epn2rXyED>8HzQw!%sK*a`3y?Y#L-PmX4@vMqnW~Z-iv1kDdm^OWYpr zbAvcdbMPq$p@IfC&Dr00wKCR5YmZ(F*VKr-3GmdN+)>GCWDwh_);LDrZzHsigf-+6 zqeMuk|Gji3Z*5w;4J)$JIgP#Ljr|i<;;{I=M`?k2o0$!0mU-w9RoJ zAAT*C2%?oU`7FU}$DK0$=xY-sRwYKf{v=;0?OCAgC8IBFE_MICblGd0GygtS>+L9~ z^#Ov)Bi}yp+wn|HjOJ~9uv6b6G#}}GLH=u^O_m2s8pek7Y_|LpvoL&3Ah|JCNu+D9 zm!#htO~F?4-sw9F!;54mhwuCK-22p3!c$q-4FAU7BT%r`*rer+U#{XY6ws(HHVy_V zQ`S|;km?IKN-4dtX62{1OP|xt2lJ!hd#)5*c3IE={(Kg*QeNTfpqHQgg6;?7Hxb*x zAI)Bk3ox>@*~Me_g!CTK4bjCM7_JBWekEzn&ej?_r_Q(C1%$@7A zIK_)o>Ptq?e*l<+8C>)^)7aPT0M`Ht<{I(rOYi$(lPCFn`cU-7m#Jg7n2UfUuQqkQ ztcwrZp?G3Mx^US)0FNL_fWVWS(C=TRR?(UxbQY^?-#Yo+-5)$Z&()$@jSEgJ`0c}K zjOBA^rm8!dJs~?yd6@Ra2AtCp_$7K0COEnv{5M9syv$dy`|t|YzH`7gBXnl_&g*;@ z5oVwjwuy87gsnRJubpY^Q}d*~SJGp(949XJo_d~rXU6LW6b%LY*T(M;=S3CqAt)1L zz}JL*tc0na#ElYyK|6KF_C2={+TOnLI&lMR@3;7G*BIoGc7K%2BT~#ZPlHv+y~n=) zrS{3MJKg=9v#TdL$bkEQj6_%z} zvvmqBvV}^@-`ns|DUS-e4Pu{=1XZjMAPeYZwi_$Xc zHzjTWm$wYuflT774}K(?o=AV{YZgcrRVsh|HTu}0x$EK6k7;AAwZ~kcd{O!I*d@Q8f}^KibX3qEi+y zJVko2OKo88)j^Qu=7%Kr#H;Q7BTS~!EgcRT!P2+0z)F=5;{PQOi*#*J>R}~)^!G!k zGbvM2WKXNZ7#{bic{><=%vq%4kq(VjV*TlKW8Vo`F(Q=3E+VGj_tQb`Gd=cNs&TvP z=#!&t^iPIZX8TqC{B=T|g3Q2i_c$phc%JJ;_La4l{)dJ4hVGBz;~(=;?%Shu$B?|X z_?+8_%=`KqCM1^U=qC-1Jp%O96bu`ij?0cl&K+>GYE6x|*2y_peAlUgW=fRAZKw8c zEv%{@=@OPdu2L^+mW}P~++}iOoFyv$V3wb>JjPYb{_tr!I#?Opm*Fnnbg~p;%XqV% zp-WRImToy2&YN|D9A#&<8|vQ>=6s^A86JAEIT|9y{;jyO>duL#-cos;gID@Mt!U#T zS!oW(8mXg;Ev*=?)hd+6pF3V_nBP$PC%~Y805vwjCc?>yK<6d3eUm z+f<3rWqjWm(gK|GMb8J5+BoeWlOv%$k7Ug|;^TI68#`{G&we#FQpHEG(SS zd0OsZ_wK-2Ye13p@%Xv(IVtOdUm6XeL0-*FLc)dOX{vu~tNV{deOG)?M@qqp^T(Nc zVj<~EoD);N9_@;N>G}U6u;G49L$hhu-H$u2guL6{?&TgT(y)8*e9);({Dqaa0!;!G z^pu2YN{^^H#$qk0XW0>eT31<$;q}tPs{llH7g}o0jv-}6pQ`(@znqEvkn=`%Gl&dF1=V^i9YQD?5aLS4Tl zL)~s|u0o$7DKp9f&A*2QCP@@y-JHB{u2%Dnd|3OOsdqWoa3OyCWEe7nrVkEPFw;BX zkMdfzk$inm;9_eoU2iI<=B6GnAeQO@y94wiy#`U#a?4xqh_+>rjZ06l+@UsAFiEsH zGQs9c>%N|>b_%K{I<$XduDvjGgVkMFlG9u! zmDlL>Jc%sY+IgA+(DJcW2@oxib{!t`p17bkEB^7#!%9OU`_6uA`}VmlSFOp|YG$;H zVJ(8#RuVat#Bn%RWMI8s5|ek^;+zmxnzmuYSu_D%W)>051*u?+H5i~PfSj=}m} zVYh2S48qxU9y9tSg~sFT^IL}&(tS6@Z2p)SN#-?MOH0QzA4LiCqK-5#vX3 zCmdJJRhKp5LgZg$x`C(=L3i<^Z|J`^5Sm8f5X#YZ5?`cy91#yZuDTapgetDuGfheJ{-jky%Du?O0w4o5XQ&yj;r zvt_b6Qv+ea?^-be$_eRDP*zRDwJq86a7gJ{@kO>~4fjoFPi(d~VsLPbaB9WlDT!Ph zf;x(!5G>#dzq##z!Q|CT$=Xf}?jOpj#;Qr)PeaqztIXR$=BXCUm0`JHJ*z_57wkvo zB$pgjt7QKGN|fiOD*CWR$;Dnl-WXji z5bkS(E=O^URws%eTV{m-Ah5~JVB(PbQWAO!o+JQs(xQ~);8R60*S#|zogt$crSFcF zG7b$cGC-}ZF>`47JZ7?P#wI^ntiuHHQrVEKc{OocAH_;sp4HGcCcGmY7R7ya@HfI% zdRK>IzGzjiCK=pDN{?#wFo3QPO5#2w_-4~q(qs}uGyUK`>Bk1XPt{?%wACcFkTZE~ zMtozG2ZcfspCbaa8DQqy%j4}4CuM|fim^6geIe@kpFCMjbOJqs# z{RL}k5u}k1FC8leOJ>hKGgR*_PR^B<@Q{1bh#7`4Q^jf#cOJc|Cy{OAEZutw(9o?C z2pab1{bO=7*j31H9`PNbU9p3JPkMT*o}(kb6x+;N*iA1(wAVXkrEN()T;{0i`6Lc< z1wp4+yz-0#gIzVYmQj^PUsW`fL3v3)u-?5B#*x=}UKg zI$RN+6bh>>zHiLHb5?Y6TK?QGX$Lf1KI>b|^%CRtHIm0XR(;3%!&Wq2FMn-8fqPWN$ zgI`koFTIXm4#5~SeF{B1A0Y>BmB7mrf^rQ*hR<On1#|M`%){Q4CTdX` z#{!=kde>?2`%V{HtSz%RHSKrSiY?Js@~pdvg}t#k0Gf+QwVrv^vAIVz*xFmqD`6pW z7tmG@ifkreOp!8s5sHS>NqKa=>mGKFeXEtahDdMr;OE-3pke?FNcz%U+*`t*JFR10 z>sCs*X$4^3c!tqi_qHvk1e&{j?8 zFL#c@yFU!+zq(lpaf;bU0ltkw()>azYoTq%2}As=z-Hx-)}e8MRiC~pBi5r}d8Ax| zF`By#rUA}(c=S>UaVa# zsVgZ20%|pop!sV1$luu!XQ`T^z6WBk?)6tvb{CR<6<$e8pdH0q(H(}PZlK_KfYat| z+gz|%UW4K3QSGg5#CegXEs@t7NX2pfGPqlvYDPoy zkCw1X(*o{r1!-H_FkQ+x6-Mk4AyZK;1msW$6cxzgq9T*Gy#N}XK2ZHBF_*53?1tLa zH{cSR>k+VIUvht)RFr(}pITtzq(f4uEznoci98K9=ILI8;7x8Q5=f(LE_3uX-p8-x zedVnEPg?U4fnkhSk$BTocrKPq;A0uC7W2eee6x-#Hsi$U$Se*kHcu5Qp6BtZR~{CqxySHSD)c8Snt?Dy-nU0649!8%MU8huUPot$DQFDg(rX)$Jnw!%BV7 zw>@e4zlkkx$ukW7E0@2!wv-VXRy&|~;;-2g9ApDeifqV1t7-Eg6$|H(dsHhZN5QKb zgL~9wB|O&Vh(lY*y~Sc)jh8R=tNIm-YI=kgsM}gbz&@4iEAW8Drupr57~^ml#d&Xt zwDY9uGFy|oZ+i3}g!YWd=i}*KjdO6!+W^U`vsp`a=m;PaUEhSfILWs>f;-otSlC5r z8CcY0^)$^-OSjY@G2BM2#|IpW;^(qDRlU`^AZXlUp4I1fb}K#9lA@fT=D2NlS~mBu z0w&PB6I|8B>9}^@=M|N9k##I;y}gmTnPZPQV_t(}VHTTUv7qN1lT>bn)}eDApQoUC z<^2b(dl!JbAr6IO6Wo&}(HTB~*ER7QUEQm+Xg5ay{{Y9iuQH!qzmjGvF2w8wC-&B% z{{TJD)%1w9=pLjB_00yvN2bS~yJ}4?)J>~k4gjuC z<4xC+ky|b~TJcBZ)Nj(Oy5^EN9!A29)!Th6ynsk?n%uYW{3xKdO(oWa3n?f_HO*gH zeV$FK*~L^=DsXr;Vk?)7_2R9^sXCrOBD*gL_=?)jXw0k5eQVXV>x+FyLyqbmeo$-5 zHA|Gh$cj8zRvCPzGzRO}-1(VL!HtT#0TgS}VAUmQ~>8(0Bef#BUd z+vr!f4V})I{439Ocy?Vo0p7FN{QRD^sT77dAuGubk(%F4b}3>BduJQqV{-6mJgpM* z?#nf^f3z|xJxbauTYG4son})e?aNWlp{>WLb6L8oGTzC-#ZcYPBClvOZY##Bku$7iTjXtd3SrE4lEkz*n}Hb72^61M6JwzJvQpVz|cQ20PYM3}&UW zi+ktNx4+cc0o;n`E(vK19_E;$lN{3eQ-IH?ajtOSLzej4&YO zm;?FN{{V_E6f}VV#sYEeT>XOqb!yC10Knyk9cqoq-8_fYiKrQ{eQ5J`^{$J0T*{;@KF?0VAK9lTq2&1otG$jWYHn}yS zhDjsaw;w3QaN3;m-rTg)w&!z_YuP>>BH8HCvkpqvQD-7G&f+s(gW)Y69Y;4aAo9@Q zDDG>zh6IH|#)_bDFe+LJz^qM9(A?Wh;B$kIdf-NnIMZ%sRKY&g;Jzh*ol@g}-V8ym zUReSXI+}I8i(LHfPSIU&hcwuuLvYFWcm&nGLgAg(D8}b=g#*2MXT$FaCX)%hyg=8I zj--9j>0OQd>1$;)?m!5n*Mj(hQ#w5Ea?-JC<#sOMK;Y0+dkT!G?^Eg9McU+nT@{_U zd-zE1Yu7E}^7P~%?9%vJE!Pvudv~uO_|tjkYvwRP2rxOXGbHDlh@YCQY4%cH+^lga zIW^tdcw#$f13L4LNvPXRg{BJ_%Vw>MFuPQqMMFKACAOX`DqS8aT$wtWqkrLYQ_O%C z$DpoO=H1|tl0_khtw3@*W~Pc_Fag1@Xz(_t9q)z>w2Tajgkv?x>#+H95;}ufP6<(* z;-7AVsHpWQx5c?fPPIxH39@%iLY``)J~+i!mGMad!)_xYnx$U#1Ch5p*QRNjq#xLG z+o44v2^{ssdCs!w=QzkYIjl4H`gg5cR@>wf0U0%@FKuOQw-&3x#^g9PGs0SF>8x&HS2;&HQ=Sbz<%&XwJnts72D4*y6)&t)rVB4xZ}w)3d;b6)_g`mk zM>P9S4#{hK9Pv#Yu_?~wHHRwV%71x(#2d9S6(zxE{RMHo~>EdtWipaqm{OF^PP%830#3a6Wu`Q$V1M^rIB?Q%?YNH3X~Z zIHG`jT)eq-}?cj&LfQ^2F3K zV>HgDyT1x*ji5&=h27^QXQpwD-{V}y@^Q^rhD>*>(B91&;yD-(V@;a&SqIM}AE~P4 ziKZ3ErZV$QF=wFWkXp*zh}ixW6GT8DgPL?J&0LWJLAtVuB%IRjrjt%q6!OCu2AR5u zn`>sIb}YcwzMmlS`KvC<$^h$5dqyyB1Eps$86b*bx82C#*8c#5zjvqwlcDvl;$dqA z>`f|yxyj=-Cy6ff>x*F>lpwx3fml}l9=w{}r`d?bSGBcCuTl^)RN&XE>G-y=jxojs zUejEeg7qZVxA++fXy6f#n40LaJ!yMWWCWoD(yCt0w)UqzaeynG@jd)HUxsIPU=GrM z8umd1vJS3dqx}=DJ);y53k_^(6oo{<)t2>V2T zzBoNAXH-cpSz?V!gIO`?xAynOMNGwxwaWOO_f&@Yqqc%f58?|{bd5(jk z+H0)1vA&vEe5-cYPbU?#XJ<8}s~qW&;Bi>~Fz~n9l*?xpWb2Gqon7eHFfmzRbYcF< zsx4RGDJ(is&4)iNg-&q*f82MVW zbh!Tj(bDE3K^H^=j$*#k~(C$WAMo0%4 ztPON+z94$mW`1hYh~z=|no`+fJ?dcmdK%J_P1aTfoc!%j-ZGYnTcLBu<5r|PTS(E3 z@HpU-GAgv%S)2Ymt|6P)HV@=#zmup~@WN=Z>6}z--|;JQbCV$J^sM#w>r9z))m4Yi zD_22xf@YK)DB-?_yA4V>UrmZ+WqshIjEsZSap{6N_BF#jtNDa&<2BUi7OUh*At6eN z$G(({$vfh)X68a^2Q;|#rvaL9M6z|!!0(>$@*ijiX8>IoZ313s16>pFxs zS_C>xn?&e`%y|$DmLsNnis9zVe9hF-MZ;&X6r_i`ZM4VIrXcS*D=TlRs@c`)aBH2Nc`)J@yCd*bd*M&*KTXXejxbmwOBsQ z2N0U_YvLYY0KqjpT*(wdyBi`b?MePN7!^{=!haEKk=Q~0sYo)nwrjN40<5d2!WYYc zZBd+bu6yk9y~v61Nj)=In&?*7;0LL7vE`}`q>9&)+w9&B zo%4^B*UVE~FZQ(T>KMF-8T!|w=oU7D2)@@41%-5}rP?Bff;GitUR$DSXifm8-8@lV zt21RsrBC+TSL1mU(H@;C%V3k-ijZ6BibvfI>$a`MEu47$;(<_I2q(LU#Uh*@Yf@yj zhG?DSh-VoEfTh$e^a)otlUk_vVO*}UAA;@G&)Y3bgZNc}uPE^p_78i%PCL{#aukj! z=Kd2J7~_}B9dNa+r)#Ni7|n#zpI!w|sCbHLh9T0-SpM@?1@^CZG88bxzwj!>TlP0A za90vWa6qa$h00uBOCoW&=LWg`PE*1I#ZZk)w$2j4&U5KJHYZYLQ%4<$mnW>q@6X+Kjo+R)dg?TiAW}(VU`%{TizLx)(hK+ zwFcX5BxEuCDJ`x;xQ;SjFxx|8w_{gzJrZebp6cA4@%{An^{h)7r;DL2_|)^ttWTJP z5;?_EFvlYRj&s-=LuDZ8hV}-S(KWwkjz&YpS^HF&>q@Te$u&GJi9xCFm^4_dc>eY(YgZ|C83&^S zUgu?gFLW4IOb{zS&Iru0ewB94PnZ@w*P!@9NT4N|mmc-gUwE!781^HkPrY;Z{{Rr} ztwAj+?j5&R8>{?OyfWs(XN|gLSc=7Oh#KV62_I3oByu-M#C}Gyd_&@0OIVdn<;zKf z!0lC%CVO)76UVJ(h2L<@c?nmv1Q$2Ov5*aPnzh2m3%Y;;i~;Ivy!c_JE}7w3wRzQk z({q+x-k9RKU25gt>Pa|OW0QkRp+n|NB=P{kM+ExUF}&P(g8oy^*4io!UH)LcoYrqs z#VH(98>LI($c+9VwLm#7n)*{owGb>Udm!svb>GA-DouUt@0i=9a_sXM{HGo3q4DpI zw1x0_x6<_+dFGH{ByYI>mGkYqQN)!;;8Op6f z`sS$fMg+~V`+?G_wymlgj69Q=!Nx;knlANYHdf+qFL(U(IU=4u($3V>>GPB4kP*cxKUAED$N5$Rakmza|L zqmQLzk+$k&e2vN&Rz>k><@tNoW!T(5+N!Z`jzDW*9otW@TJ8KNZxIgBU^!fzoK_CK z4%cZ3&U0AWbNN?F`1P$Di3gs958>@p$;r-YCdMmd5A3US(ZPR2nGAi7N_LL)cn!bd3*C#!rTd^q+i<7y9P`z2B8S=NO84N~2 ztnWEN8=+8pbegtGzeZh|y8q>ksF&Q^QI{w>9#?d zvmUo?{{Sy~Y%(eCnOuHGtSe~uDtx&16VXhVBlDB-3KDxsdcVDbl9KNHtPRNm2S5h4Kyv#X#c^kyosEtCvURtm)S< zn$05z6(lF0YFFUUwAN5fAQ-7saYOyuh>mh;Ql3vWVl~}X2mvvUX{A|Lbyt>29CyV> z7vAQcoJcX!y<@^pCB~evpgFFwER#&rn&R#-K^f^@e>aFkm(Fd83!Vll#C{>ZQS!>l zJq1H1uXQOcH12<V^qzC6v1{KaDI0Jesk)oGGhzsM5*>UDU2ba0t`4rDemp<0ydT zk2Tb2cB0PPpx)HCkhY@S?CNWcicPiph+PHh*@J3QQH z(yiO2ygGD}S%MLUa(dUD=&inc*Y%jxI-%Wid+}9Oa4B<>iffEUYir@1p}g^hs)f!u zuVDD2sLP{h=^eYYa>_P>I^z}L*BVrY?i;9&odXQB9-!mBTM9h@{3)`A^3Ruz!=`8i zm;BhM~B z@2amPQI-s|42H-A@mArUG;Q0$xBDj|q!UAsOs503Dpb9)@E1KBlPncSM(3zmD43lt@&Oo|P`Mrd(;4<_nbp!uBlXWhPC`R#p8dt-^!wx=S^Y%08J{4A9|koCZmk(aC?fL z)&`nlET-iH}(dP13JJ}<_1J}~BKFg+0C<`>U z#GVVGBlN3Jr{2baEiSEZp&b{4{{W7#%@M0xF6r#&vV7yuhj3B#9V+xXW!|DgK_$Md zyq&Q~41@6NRprujo!E1D&xEzee z*d+cHgQ{t|t&5-SD?5mZ?<8evgAmbe0FG&`2_RBmTulO}kt3nN&IzX5YZowr*~uOH z8rih*HKdqZ>veqfC3*bEHF6=OUp_4FRt7)AH&4#2$>A&M6g{%TGWKYjIi^EtcFE;T zpm{`~481*To{)tYCz_5i=CA^{bgemL=dkKcPji21X2vxem~l|Ytib1MCIwvkJQs29 zh=ZEu^?f_ZV!-iOQVbfkXWFmbH||DyfmyEKx;~Yj+>=t*Hbi}R*K-^PTKQt56DB^f({IXkIs_t?zwDKKyX2(yKL=Fh{DQz_GMpT zU9ZA>3(587pTl5{=6(ty&iRr!Ic z+W!EDX3(RJ?=guv8(TGkXMuVKIrpxc!+stb#k7*gDkjiQ)&!GOG~GRJbziZ{L|AR5 zv6}RIuZ7V?r=`kj0rI*309B9cUUTAIG-($*6}N(Vk&4V1d=N%Hlt`IIWo|_>dt*8U z9I@k?tngDSOM-r0nZ+|)Ou;cf-y*PdO=5i;RgU7< z8`N|?>t9vWm&96rvy=CVokz3&plVy)XRc-Gsrlm5B4@-+;j{w3M8oX@nI#A3 zT#CJU<^KR=*+~$`8&B4kz{H;u+B$!%SpyHkwSF*bFAs^D_sd0-0azfwH8+L)ZE2|K z0@qPkZefUkQd5Z|2m6M-7r~x6T{@^6l?WA3T&s55h+X6riN3j)?;yW!O>Qixl z;Mr|m`SWz!w2@EXaa=B|rPxB^O*Sn?7+8?va5(y6t;D_?j@%?N>X$NY!=Z!)&u|ZM zSa&)-w3h|pwYY{pp`RHQZqHG=f-kd;Qr_Sx+OXa)m@()H86QAuEA27~a@U%6#%_Ge zXUhHn{{Zn-EsWZZj=0lxxl$Gw`!(v8jQ$Ok{b{<5%3MkgvEl1Skb(RCK0^T`u5rqf zRDQ{!+%Z@+S#0I$ z!hX?dK5?<}fPD@~#ZkWSwavSqopIC`8#DRw`qnk}k$Y+b$qNKM7;+EeP}<(#Sw3y& zmNF0Uu@&gP6xL&F7nbn(w-PqyE}_4f`qwdXgy%Ibmk7>UyZr{n7qr3tDz9_k$gVDT zha)DTyzo>}N0nwL*0Ujx`zBq7EuO}msv^$;Vz|w5H_&X6i0w;i;a8s2w-Pji9jYvT zIjs2?V`7*OwG7zcQf8l%=}cfpIHixCwJNUDkymX7bDGz; zg-isI&MJfXNarwku2i63t5D)vcO9BQ=L9Xrv4W zIjaqD@&Iv)nQ&kvo@p)6k_oHuz+J|AR-7!c;Q<1xYL^7ZfZr&rIF;T`wYy_Hw#5kh zqPq097j|iJ7a;Y=V^_2*UncEmMrdwV?#RE^wKW2gxog{Il1}mmJpL7de>5=_7M6|X z{{VU0fmP&^;^A>~J2Ic(913BLB8>TJsy(X;US(rIUIs-W!8qGdTrLoSUgi5QS`q!T zat8-uX1TA7lj;rQd+4Jil0u-ybH^3ld<4+omrT5Ea>6+^7-ZX-&=LU|92(+&GaDHE zVJhkN@mnGys|dyeH#s=`MQ?mFvb9eS&vA1Ea-0*FP;1FNK{7U{aM0~VE^rs6b-xPi z7FW8tnlRy1<8aMl&EjLBYnq6H)(70@8;44FfF(MQiXP@fP+KfO994f5m2Viv02l|g zbzVJH{{Vzy%<;mCeyxY_BrJb~DXFzoTh9ao_ll_LUTffspR)LcS0nHDuTl7l`O|G~ zhbA{x&0%~%aev`!dx6PZ3i1;!)A-kM@Y7T<>R)GL@<<5go#G`rXNf%6j||zbWz&2? z2=D{m-7r2}d<^wImEt}ilTp@Hr+Z+LXDg3N<^0D?s4NJl$0URh&+?wNv!p)h(2%?w z;j4_+Sxx->0rQ@pTA-78dHF%1?n{EZK(4RAvY6*2s`vd{EbIC0jB}}*)>f@(4==2bRl@hVTxpM zk#Qd3#^GJ}#0{2kTU$jcN~R@jsK-%UskxBpi5_sOax13zRbegni6b!r#Q}aRH{#+o z#sWhS(tY`*L~ovcUQb7F*xG;uVTk5EPS8GJXZCzx&`B`cUG5LSDDf6_e}^s z<2#4sYUuEMI)W6@^$R^wj&QKg8?g2$cCbHztgFun>zWIhp|-!Ze)3wgAs>eoPEB)B zQRV7sZ+e%={z zlW%_?*$@5nGN!U_{3&w?4|Au=@f_l4N0^7`%f(NmSy;sjBf?!l%H@tnbQb#AvI>omwb3rN?`9-}ENV!#d9H29kq9-1s$E;fF!O*f=~eF}Nv*da;<-IQ z44x}4F_t2yD}^GXgk&(PGYm*`>q`S|aC=spUn!3rDuk@EHfa?GX-WcmP!tZ;B4xW% zo-B?I6Hx)Nwd5RL}-*p{+Z3@r={8E8%Gm%06S#v6lK-a^;USHPL)45_4NxTr04-$F*Jx zNx%eyTmBcidn>gQl5O9Dwdi*`U|7=P)ptU}IbLy5D`9rI%KOzzoi00sCL9JmjbUGD zH+H`SN$DVb=M$7}_81Gq|2qzSnKkxrfaCS()?Rt;YYZ%)nbmwp=OMMyBO)xyyNW>O4*p@^U1Ga_-5Z`@U`^J zF~R1%d&E~lT~g_RDvCeX{z{5mMPS@OyfM}sN39qzrk`N9mQ+P zZdi$!axhI_@b&Sv)otVqN6m`t{BtLn9lg-!Ba={C>yIyn*1$i?&&aOoYY+5WWZT2Q zr}VEW@kNu^-W|YzO=Tp!4D(vLL;05hN#eO}T0Odyz;xbfn<4BeV2}5z7;sND-e`94 zS+I3n0r=+?%gtyF#^^e)GM;^6vJmg_uU^84l#CZh%B)Vnj zT%Xps+0br0R4BaiE7kr9=>t>oEvx}Y%zO6l{VUTyXlrk=+QSfGwPC;lzEYaNGcgCf zS8YB)_i7ilm2;If7RFP8KT7GmAcToY>5wbANQhO+oCFn@b8557rI0fQ;E~hmOaA}~ zkBKySJi9Gk>7fVxP09O2fA`DhABHPt%i>0zdkBlgz8{Kr&OXtnzm&v#q2QmP6(!Zb zg7qkT-6LLGSqc9Dk9+u?3g@=$VD;)4)<&VAT|x_5&kgKL{8rKlm-6Ekn+5IenIZCJ zp4LKhn51Zl{5Z{MuZpkSX5d*|zxVDfl(*(95@^FIB;z#8CJ81hM()+F;ROdZt>E}) z^Gs5w$iB6s;vHHYH{}Qmk=R!jOxmUQm_Z6nXzG)twWx(pAah);)Z6n^q7pNZqOS`( zmtVMQ5gWk7KT}ku<;kH_rYha7i`+IU)S5|%e8-xS-%eA@R+XlXlRf|@scO~cRO zQ)u>6KrDJw#koC4H59NgQ^it@koc`@2--q$4Oi6F?c~WAqS{j+8;wZNE6AkQ#P%`A zVy?Yw9Q7aya;`9H)zf*F_~>y_*+RxVb;Wc#c9}HDFo&M?zZQV-z-E|$pk}z;Nu#^I zDhSw|R5y=r3?U=su~^LKIjhz>oRAz7m9Dc&)gYY}NyAq|We?h%ENlU;qfEcN(jsVN zlg)*PBhr`qM#4k;$sRNBS1lgdn0XhV9@(y!PL^bK%#li+PAPsM!=laM({c8A*6$cr zRlx?lZa7*}-ddA^lYvcpXI0C_zs{i{t5k z;+BUULRXisiZ4>Y*_Q?)F^cprhqr!yg*0Zo-^J_Y>sJHR=CWhCkw(>a$EIu1JP&u~ z={FY4bH{q(HIy-G7Yl>;jw+-QY;f7+b6x%1-`YMIQ~XI>=9GVUk)Q96=U+|1qUT1i zxRhZ802BCElzd3j9^w;m1X+bRFN*SZa~qW-ky^S1!ltDOY;7k8HAhv6rqym*G&tT! zs0EzA-8rQea-qpy`KyBd`XvfdBBQuG)ho-3+nG2aN2Y2ht>#Ol^N-Fs=ZfgHO+coe zk@eiWO>z#53o#rM)|NAZwY_xz06nKU!ctn=i>YH)I2Ew)K!{_8U>mS;iow6MyoOOJ zL$|Xj$f+RKucEgw84Jcn2ySszu0R@WS>xt4LNlBW)ovrTMP0Ui$8A>Bt_+vz&y#=_ zpCsX9Dm&M@{>_>MdYWI%X9&w4(3sA1-n`G^Rk5`3UE~Dhq=irCTy*&!l^ko&*1hNU zZn9}SOB{oMfS=O0e`$H!?MkPhj{?4H#!1H&A_0%BN)Q$4NY=4BoPk=N8?q6r?cf&T zy>Cx8M?#IS?SU!+WFMOt>sgan=u8aO*DS8Q>|u)FF7)NNnB&yeCDxeg_zT{lZ8||4 z9tB~f_ck|vWvsGAA~r)K5rbVdpN{YLd3vRlwxXE9G6Jpj$T-j8NhYzO+@CP%*B0dU zR5>4>NAjm!w4PWy4l0Vftbp@f29c?GKm&uGpx0-lY8HyQ`Bjfvp{-h3-p%I9;HdYk zJG-lEKx4I4`qwpma?-nHvQ1FgxZqZ%jSBhLWY0C&M{1r{L}Mg+R~fFvMdlT7J*z3L z*tSTit?j;UMRfWcP(}+#M--Za!z9=TiX7WT5F-SidgwGQM@_Y}c9bWX^{!7{x=YPP z<#b*`-`%^{~=M`=@LY)R`IX1AtH0v!o8DA`G)BGi(X-NV!;R_zQ=CHmh*x0OV z_6XNL)#lK{GLQf`txHHtu;1FcdwU^wZm@;?}x&`Yd?$9o(va-mZ^F*R@?%#zellX(LnegI$|LchD3 z+f$z30e(@u4A-1|QSkk~fvw0inO1vOIaO1gwZ#~vd=iC!3ia;`d|lNvy&m6BeJa{< z0)$CC!i0g-BL=-M;l8PN;*0B@YfyqHOlTpABhCOko=;lY_?LV39|met=M2&8ACDFC z6|nn9h#}8EHFQ4{?uzO5cEItokzQ$VyV^61bQS1Yt@L)j1Q4r@&D%BQGjiGYs2KWI zhlbDmP2eNey-UY(gW;IR`xWCXM*g+v{{Reb$B{gF;avV*d9HDv_nw%p+rpO~exEc9cmt(Thi$&72W|Q0zO}NsO=rP2Ne~N^ zP)PbzTJC{uCxUKZ5sU@SNar>39=&bkY7;2q3`J+Gg;;GkVcxbZ^+{3^fnz?TuQl#} z3H~2wz9-V5z113XBXvmFD%Rh`e}vu})3gb0G}!JTop}yrE&3Yy$Lxx39zDPXILWGu z5c_|Y2-pwauR+i)EUzt-?G0|`Gm;rH#C>Zk#x13_9STF7J{DeGTF z{?2!H8fDGT+vbKDT>wKP1^VEcU)mjG)-NJmJ(geH{LZH!pK9=*_(m^#;0l&c3|++@ z^*h)7k(^ae?CDX6c;);Mn%6!Z-KMSFa_(H=hA>p;y+;s}OCNAZbHJ@jpAcPM!3D8?37%9>Oz>)j$%vdG&JV3pk_>~%#ZY}VCzA^pB-F=9 zhBV1l&N^0H_J_gJpw2qxxyP6Lpj3WygVz?rV?nuDJ%53|6uO zAsws8?#I)*3a3_90XkgU-uNh4MRpPwAni%T~x zpE*^BT#`*@Uh98kzGztayACVA@DbCzOvz>^FgPb%Ov;( zm@orBOjl*4>9*Qcnp;^$BZYeo=hW8)@!EeY!XiB2Nhr_Y4Sdz1pp#lwU*YDP@gD1b zqZDNQ)B?D>=OQFvKN_noLgVKobsp8? z-w-rMvYliji3ca%yzr8e5PFKYZrupzYw3T08i^hsRRrZEAlGN{e^R)$@J-Fc5qYdI z2t9%CUn4un^GNt0u_WTEqcn4pQNFdHx6K?+Wf;g=8cX!|tew9~Hj%i&%jfo!A zk=ii>F_3EUhDK<~QUb0ypG6S0^;u^Dad6|HP#+@ujIDaY5E zyFQ<7adKXH;}bC4*^K8k6j~qN*gWugQiEw9g=lCxcBgHrMfP)Z8*U#iKsc`F#oBhK z1?v5nMu*E*K5ql3ddQB(@_0$Qva_Gmp+C@8VACvTl*bjjMk(Pk^V>FR`k0usKu4qFgXO{p5mvUN)RRrnDhKczvEdK){h$Rj%C^o z4o7;-VmA>pm0|5(uX?_2kV_GOD}$HGcVUd<(yK^_LD&X22 zf|8(eIH)BIS0J3z?ce3W&T451J!y(dbQHc*lhUn0X)7MWw)A@yGcNYY9+l{x9@zxY zw{60@-x=LnLuVZE02pA`lz7L*M&cw8WeWEd=hs(qT`_4GvGp}ro;j$=?dw46QZGSH z>S}l&V**YqsIb0{J5_lyNc5|*>b9?<(Nq!cYI@UJ*!3yF2u2v+o6%U zB#h>|PlvV;MdJ%u(Lyj*TmkK0Ld3z5Sac$!&3Je153R-J!KWelqy6K4BZ~1439xNR z+?vhteDTez%1PvLT=nxW*_XX#GmlD$wK0!+y`eGw(un7b=DUv<&7B!B{o3;e$vk&8 z()c~3vc3~I+Zp2~wmfYw+F@A~B%45PRP zyZ-=zej)zK@p3}^M?cH>*U+9f5tWMPXyju!uNLv`l4=@s+kWzb!n_kvfX6eObUf8~ zUyN71{?C^{+1$sR5hiQed|6~QUkct@laDeox%aP=HG4y0B+#-cc-se>$v$KBU&@p0 z*KduHx%v##E@8O00L-r+rs0g#9&=}x2l1)aR$=#rT8YbJJmRc%9S0RumEL^JMj}UkihVQO z*QHzNv542nc2SSI+^tO>iwhh~sq9q$0Gw5*^mq}sE;o^kpGt=R06>cF2aJ-t#tR|A z702IvFViP1X1%;Ff4weihVhSq^zRO7mlqaSw^LoP+Z;fQWcMI;u3c;)w}Lp@RVfq; z8o4+Q+>`wAR6H%ETw3|^PaZ_4as^;(Ug|Vd9%=xj z;v^1wR?eRq#qv&|5$j2PeQyXo0j%4NMNC_jvF)1M(&4jv5j4^+^F%tHp97V0xE<-2 z9wXDECt@ppHO%W;+FUkZjAEx#?VNvlz2`xj?HX0QhpAe= z#04bwuZ}(~Yf@@nE!5by`bbpoo`}Ye}w>O+jtqIEYoPP6tR?0VPPt&2jPq zu0i9PRH+3u`Wkh+;PKYG2p`YWVq?`tDf$+o`hL4@GI6p%e_Hy@^(EJQERwDX3J(?L zI=q`DXq>)1!a$wjZe^5NucTPVx z(!9B>uE^XXlLy+XxSA95?@~Q!(Oyia<&nqZR?}3t$R1`#y-gmaAsBTHS8erFKsX@P z*!4K3>mujSil59!?5sVFIw<1Zl|TvZYSdPs${&Br-F<7NvwbBM3fVG9xH$)QO=Nhd zR!HuIx_ZpqbjcX3i*FEJ$a%N3IXz|^{+Kn}_-XXHVEa|<*7lR9%o+>5xIafGw{<@l zX5kj!U5|wTB*z=S;9QDV)_&h@`}6{LRt-}X~qPdMzPf6#G zki>#Vzb7@**y>^g#g&*vCpZB0^{uNNO6qlHHxMGH-V5^;`qoaX;yEQ|ipu5qI5R7M zAzfdGH8-BX8Kf@#$*Y%I-KD4|dzhmmvosGXl zV(&$`65Ah_x|;3uPZ;XDyq;aO2uSv==`FlPbr~%rP>(^@s~sm-IPi>HbM>M^R3S;o&19 ztTw9XxQui3suvfsNadZmr@pGj+#vhdtf^SY*=|iSh7T0{eNoG1s1Tn*fc zG4oTLbgLR{g=H$EITfcHF*sK#&uW~s>yok(J;gf0QZBL6clE5DUOY`8Ju7#^TZZ81X3 z556nmt#a(oeJe4^b|lr^CSNN|ow^)X9eCTOc0J8JoY?VH81vGaXacWj=lwQ6t#uwC zMw-$%)Dl==3dPlDT{6H~#sHX)nY-2wogrJKZu#q7<-iiyqaH|F{P~1B$(-G8HzWf#OFuBs^)9xQEyr?vIu?k&D#sMUX z;5=JqC$LME8D!x7E6#NoF(`E(TIswAZK+*cN}5cCCELyqTK8XtNvXxB-N&o%^FSje zyqm_rFN|)-OyJ;FOzzQKDj_%^5nVTin+~30 zm6|nRd-twGThWc7-vA{IVP^#AgHuFH5!SRIu)Lq{Mo+n`AK4e`Gvq1!YP6zTX2hu? zA8LGe@(rObSbH}$df!#KPvMSF(zGDg6%HOLV?MulRoiW5IVMtNg}>h5{}Q{^7=cj%{4s%8Ph$;??Ee5{ zyje4y-g!*@3Rhp?%l%?KTE=L#D@g5xtCYQzPq1gHR>3@a8t(oiN26VMmMQ18@cUab zfY)~SEo^@m9B1pA=51M-r}-G-=s>>1l|N z{{Y|I57xGAH95_c*PbIcHt-R0TW!RS;d0f*By(nXXkpGOrAZOKbK$78NEo2SbyWnO)^gw_(FFtCX;Th+%<}SivIvA z0-yb#JAKq* zew8$OHQV3_&1hSAZso|zfPL#n{t&yFh&WIMVCy=H00Cug1cn90H5yD zo5AMsKhmyUv);0G--qayo2=zyBK9V@DGS+Lm@Ws-rx~f32}f_Js?$PMx#FqZ#6ZZZ z;{&LrIL8#2+%evohZzQ*pqApTAmW{ans`ifra2(ft(dHL3L7t-F0u6aqQTR@Aj{ z@iM8#MSV};8IpeqX|hMq!nK9*vr>ys@D`x595n0YAoV7`ExK~|1pC&rHmV!7eGT{Ec6OlfcIL~*UeL>SLsV_Ct5d8LyKIH)$Z;A>M! zki|E#s~U@9a&gXjS6A@cS^mw}V`4_u;McHguD9^4soYmRd0?|?GQ<2tSCQY_v=d1b zqm?z^{0mR`n%y=y09Vi!;VrFXW*`zP=MNv1{{V!}Vy7XH8o|^rzRPnPaB#J=qWFpf zA_Ex*HKVWH3(MHp004{%&)J$|06l6Om=b81ILO6$?z<3z@T&AY)H-UHyNPktg?dH2 zSRJZum^{=sHj&&RSria^*Bh#pPu@T%H9tf*Z+{lCPAEB!P_j2ucke^Z3 zq=M*1!Q+x>n16M+tw^=Yf}35ToBi-q{&k^etV0>hklaRnQT)aHxUJg_Vk?p(N$lN^ zM39)={sy*gppICPFYKe>511$okN1Z)99k3~e@oUi3pug(T0tWIDnP7xydSH}btLg> z5f&#W5*T;>Lm!<(d?eD8e`x5J1g}Za)q{KFWK|eEPjDp7q|0OnM`>F>_~@;r@mpV@ zx70?TslGUot=KpH{P|k5{QUsTziiXB8#c&bR_IEggP*$G4pfyHK6Yvu@T^u2mHKFx0V zhE-foYDwxd_m|ZV;CL0&-`}c!K`gHVqW=LJkW7 z<|pLb{DIzjV#2wYq;Lt(Ju9NI zmF*xhk-f2=YhOuE?UpYi?c3N^sn8%`H)X!2o%TC>UN)fZ%|gb`DL;86Lp3~?+Eftk z^J6C+D~0hz^}Xbwtzy9k?^Jqpg6`Ro{_yEp*Rhn8Lv*Uo+I2?P5A| zj4MP3)KzQS{XX3BA`|}2LY^VAx4}rvhOQqNCzrMxDGPQ2xxW$IYI^3-EQ%oM^7CA5 z_V*Su6}dvA-lLUNs3mLO0yCI0q;{PcBOHF?@ioC zN@>e;T_=aUA*$-Cv%_s5gBkM*oEoovr<+^JB5*@3Mdh-zaw`#zwG`|`na?JlsFsol z-G^*dJ8>jnkO&98O1BOlt!Tx3<7mxait<7@BoD1AncEp8iu)7cHNbxZX~6YV#dE(L zv<-8_mJmUt+B~pA8QcZ{vBzQFzEIU{E;Rebit;HTl~{&XU8H^#xA$=!HDX80XCzlX z!{)0n3|h!5E!&(9DVPLgnr;Sa=9e4Ebb>sLbv3EtO;N5E3nU|C3xa>VYoAk-NaL+A z6T7Lc$S`ewf|;k?0?h@%%uQ7_J2P!L+stQ`HCYA+T-A$c)#L$)0=8}JVnon^ps35N_NgE3gA>XFf6dLxX8tM&b11| zs5++ut}3#Q=DN)vMYopSC6!B-{u9!+W76$V3|q(ejMFZ(iz%0zWK-s@cqCgR8U zmagp|r=?^qCVXku^8 zFh4_GE|=rG1wLH%mlox^v~T98tHg^92TEd@0yNr_&iea7@a(^7weaO^Ng3hyX z{44Sg(xXjA?%C1o-b+^drD4&$Nd0&fsu;#Z~^&w7CO1 z5Vef9@AMh7&#u-Te+s`IpeI6+YL`(37z=f7qi^Gi%S615%#vE#>IzOwq4$0~8q|0# z)*~mEr5QlUg(YCa^8i&DuJ8A4f@v*b?5h6&EjAq+Q@93LE*?d0cPyQMTI-Wg)ERce z4aKtZ zm;>I4?e3)KBLXp>dccVVmEj70Qhv3ee*l^x zG5}i~*E=+3Irkwd39jS9+5|dy3jtnm-43gG;6KAm?1#}3w*bSqp03*|Q17;UCbQ#p>SyhT~N8Vd&h}Pmw8I(UoE7YP7J(2`-q&IjLtJW|mKN zYMy;U34AkaY86EBNZBBALHDkGh98Qx8OAG8+=8o$vVa*>9sxD>hr<}7kHNMcUI-`+ zb!NUm{iN>&$B*WX6+ntLQb6i)UR7yolageVC!nWXSR`lfWqoQ0fbyjZc*SCohNPne zkOx}mZT!6_Om~_*&oILKS34t@c5~d)4wTce92W%9&*)3T9stGA~U&185Njwo(*~j zfi(iQ`wNg%^se=8e|G7doN-)li(O{4Dthj%Z-zwMSWJ2bYzpk>y!i;v73JPBmv*-k zb@?gqs!G<&BJNNR2C3*@Vv_1e0XDUp<5V-`y#Y9@zR%OaZ$?(vXxhcc_xLAsN4tT&*@iVyGbxD?=9pX-Dd!w!1GHyaJuH^&08bys{a5{P>nlE zaC01peNo6G@ab9CT1hSbi*@pk;c^8~mrA-*%p~XdgJe}Vf>eBvV=LWP2lExNW3RLp z{{UyamgeT$Ir833z#nY%tMPb?Mo3*ohb*!aktvX)FXE(ReQ1YK&~Eb0Yk6)*P|X|X z=vZdE2zA{oA=@|1J7TJ8dg?u!gov;_XBEM_2DxTowhCa1nV2wx2 z**?`YYp{Hy1Ju)HmNCIOK7y;8gPbDc+|p&AmTI+Z>Z1f_=}wm4aS~28r(imoYqL1m zzbs?5H9>g6YkN%7n2=wOYM;egPnTyM!p3%vrnwae7?`JIC$SXy zKGaw5M&R*IhBo^w(YV87HI0M69)^-d`Gs3W%B^VHEEMG)MJ>u3hFrnn&do5HtBX}-naZRTHj8L91Yyo%(s9>ck(NS z@hgcnD4BTTrm}2J22UO7`W#4auz1Uy{&k~1(Qz;w;f+wReb;7O4ja8%a-VBq9s)lg zdK!-GY`2lUtIYM2yHS$2ycGuf?fK}YySGq-uNbPIYKwl*{MDuHnvYOBZ67@=%k?wA zQ=2}tu#C#1+*hSpCfEWFz*Vp~r3=S2g?X$$6a2Q1{^74Y2e8H|=tWwF_IOTXk(7D^T5$M+=qOnN zNI%*i)Ku%L!6y9eFL5@f%@@Yho^XI#V~x9Z>g=8(JZ{88YRc3E6hA;X%&{L1-Su8 z&K9d_O}6(PoL5CHn%&xEhDw^Vr0H!WWl9VVD&@wM5+b2M`U>RrSUjiNc&uqqXC0}A zE;<@M&RKdINS0f9m62QWt(oQ%+w5rDb~reysbudWzQgauYeQs7A1*%%m8~$m{{Ski z(1i!mrM71uDn?)Msim}e5c#qy4&c^J)s#Vpm$}VCZKgq=C@7OACGgX^8Jw^OuqL$&zY72~aaY8+guX`BJ-CK@}OYfsRU_rD$1L#t7S5 zu-hmco@(4P#Sp__QzzE^kVGJTX_9OA_tA)^P0$Zfim2~k=Msbu-`b;V3u!rqQm6fv zrH0AkXD=ymMmek~BJ*zLLDU{9S?ydg`A-#Q($Ysz0-wsd4LeGe_Tf+ETTys=c^yM3 zRnKu>M0g^3Eqpg?Zs$7&GHYK^)L1734l#=PPvd($o-LW%_<-s3rhFgLd_Sn&&b}a; zB$sua{E^#Xfo!NEw&S+Dfua}jh~_yv zM`7_;&|R!GQUkZaETM{bbZ zsXzv6ITs@p(rKO_7Z4<}$UtF`6jsb$9A!GIu0zT5NtE30o6UnJRy$X`IT zw;m_dt_I&Vf_nff15jxuCPx`0a!oST_IWaYb-DUiccIM#xkAGXE4k7v6kCi&Iqy>6 zY06@4h%@Vo^A8f*mAW8~mCu`E&%*IirKdf4^sOsRJvQ!OD(YFpg-KDzsH;)i#Uq2U zK&Q(TF^}N~&{JcKxIS7F_*8S-{{YWv5diEu)m9dP9IGh}1=FpaIprX<}Rq)DEpIzFZ?LeLGf^ zOBS1M3*gG%o@y9_T|W5%=hmxgQG|XJ3WhO^WllY6MTz8M5pzUQGfA@KTw`MZm1!#7ZA->~qa;S~6-;c?0(>d-N5VtN2>- z)HJb`o<6&j=CE@lEym>{tlC~&fXgJOY4trSwxF%2Oq0VV;@>efwP$xN#iC6rj5l%3 zYw7pOfRKcR=DTeMJB?1qew7KH=yZifO>6iv^h>X$o~mO>4t`V7NUwdM>Etl6a;J=C9f}8%;XnXsS$dX_X>3YLJZ67-pQj z3bk)?@sI~f>9mbyVvEZ1fO2_nTD)%Ne38?&GUDb*EnQsp#bxQ~$p)|7E+Yrht$1J$ zwnR=w7@XF!k(S%*NMqdL#|%0el!ua5mRBz$bz*W&XKR3qTzZ=G8_sWBj?G=4f)^3W z-Ls15^?PfJm?9RKGKb(Xz^G?UPR>Z;y3=Paae$vNZ*hvf1T7r%7gD6RAoev!#7+{( z`q!8#%Pt)5 znj5Ij85^(v093TGNR-JB`#t>GJ7@)6uV*#3i zZX;}ZSDbj6vwDNjR(v_Y9<}KjOn9-kQaT{3r9h(tG{S+8N};N0ab3Vwm3R8r4Xf!B z*fD=B`C04QvsK6y*@OU$)tF%nJwBB?S}P$3p{CpEqn&_|dgi)s3TX*F`b8#G9^lux zXqrv9vkB8+#%e43IATZH^AXqDypP8A*6BV`w>xs!=sl~BRKpyOwIpgY&H$@+^Bv(3 zZ^7+asc$rj8c4!N*DP_Gh0+vkw5-_dql#6XNBX#ieOTnwGh9skGhliSDvOpkDzar^ z&n!CDjIqLE+hXXayEx{u<)c*jo#|Ek2THeS4Jb6{*!DFL@sa-FCbjgB z8fd;#{{U=T-m`xX+41`3xZfLUT6U+YB)U`=5XI>`0)I;9t`5}Zsgunx@@Wc@Oxw>| zU6?uVMgbV*MqaZ!0q)C|+(ws$-! z{HjB3C?st(-y%=$&@JT8Dr#tLT(CGet4^XK4tW*QXmTvbxfvZfty`N2*&hwGB5-F8e`5`AmS?i)8U6aC_A(EJk^ z8fO0h?=^K%s47KXv()bF+c9i*0|3Y~wzK4BXLe(`n37MaHOqLmZMMW7Fe}gPzIhHu zdg%N)82;0X+a|ktIJS1@f!dxF!j7z}vM9mlAaR;y&CK^7W|m?Zp~N8dZM@)q6?s_K z1LMi_Iw1b_a`1Hnt!Y?9Ww?ntZa6jRwulxKUcdoUGwka^$gR+d7;#mu{#YdXSD5Rv zd76WI4k{aQzC|9S3iS&}!a#s_P%2U=+e)D4r4FF+T*r()TXr3CwZMW%>0XaEn>bbpncwd_zvoJkOy}i=&U@{tKF4(3BicR9DAQ*n=aE*RxVMHBJMQv* z1}iEDoX*+iKXJ`ph8CQW@}M2fQ=UbJLU)3r^{F5d&N7GI=XqB?ru$YHeMgootG*8}uVQ_nTP_^(42H-JSO zd4EdgZ=iF4s^67XYdMuc5w<;XOpelN7;K5#9dM-3_LB)V`An_uDdSDJCxkzh2Fb*Q z2T@NNWA)umT|3o}FP47sZ_yhrYgR1J&_3Pk|so&X9!=}=0cl$`Tdv^l)C zz;1`7bdcPanEwE@DmlZdk}?miPpz#_Kv6f$ad>4A*rIO$%A7{ZE1jzQ&JO8}D8 zzQMn6S0kv%tJ(b&FQavf+lyYgvIrgV8#c`fBVi16RtBFC8{{Yvo zr8UNm`$@Qs86-f50ddC_=Uxm3JDH+k!3U1DWza*Y+%IC;q_vmJy*+lG1#R2;vas@F zW)f1f23WMPwwxlQfsav+aH+ij00JcM}K^OcF{yTvmR=s`aQH6lTp9kI-P); ziEsQl2*h^t%tvFl!4^ z(5~z^Noy`*9F=3zs@Pq$$b7+!bu~OmE}?KO?GO9U*b3})`$#mqOdJdhvmW)w>pGm8 zt?7y)e#)ows<$v~j7bm5>*-8Fm$Bod%iq3h(moe_Mwdmoi%r&~V{SfFkpBP=r{P~h z*!YIt<^_@&L!szJOxn0%!8KZKNU-W_mGNzzzO7**PYSyMl{gs(+P;6(ZRfDnCi!lm z@`>2NdSjR#Xf-jMb32>C%zoRs=BOyzAm`h4kya zI!na~4DpQa&NE&!q)N=s44*uGvrybbuwUW>^7Se^Rh5*7=ZdX-!^{K@)RwX<5(os< zw2T~(KPp=tJMDJ{GMOaes%jc!nqI1*lzR0Lq6|UF=+*Lgr=Dwby@k;X%9`(+tAob#&gptj@tuz5?8ukMN=}_yk z2<%%mX3X*zT(`{^aQkRH7SS-7WVyUV3^9f^1>$LOJ4bn`E3q7^4C1qX(c#;2cExdU!=NjGYE|)kaQv2f zWJ(83=aKnUOY8kxQ;#sIG0T*zva~C-bc7 zn)1@hD;`NBjkU{9;mt}}TXbO}9e#Y8u?CYpykT(V{dsjcG-%Ts|aI+G60bN&z zG@+;38;hfxhZ~7M!YdZ$XV-OY%5h->9DlS$T$=m~g|)PZ&2WE(PYONFX6sfqaLSVF z*K8%n%WrNnYQ4UpYsc6$WMDcy)93NPtHV;gWZIUxY+lO-f0?YiueNS2i*iqIC;?fY z+KMDGUfDvx91?>Dr_?majiI@+F1%-9I zgXk+;P0?(knOksj4^nHUxDl*a0aRnLu2TO1N%QW6){-vpd0w?Frc(fh`q}p5@5jwY zq*}ur+;sbS!uAjqt>sm6wasHt252bgO_emsSk%0%jN#=u$Q)QP5O>o-Op`>$~<|V@c zp6y-#0Dz$K>>2+6yw%sKq47+|6<+ zc3D|%1HM41r12%>y!?yxB-Lp(oAx|T6o0a`<<&1x5-(>N{_A3?-CVrQnWmCg{{U&r z8jc%TP=ub*~D496$`0IgXvNi5SD zt{;4-oF0SeNX$F+s@E2A%6EabPRyqUtXS)swvWJXw8PM=4srFaw!_92I8(*(rHj z?>0JDp=g>^T4lD>0Ln&P$mE*myj!n2v9Yvqxc&B1&{r)G2r_z}rk;(4`FX35&e43z zKw;9T&RSU+nB<f%f;zDtOa$RB$+#ah#Kdz~=t)Ab9xWe4u7Wq&H^ zEj}W6g4_&hiy$BK(hzG(ABsBnM!B^o*U0|>>(h_Ky>;?_*KWT{fBwBypW+U^CP36> zU-uD3W?gujRk}HwP`q*e)VTgtg@1V?Hs@{a*K-}m^{m-0-Sd|}LB$C)VRA^#D490` zNcv`_GOIZ%Fus)(a*s2pq`Z(99QLPq(lkni@~hAqbWGe3{{V$g8IhlGBvs|Nnq%h8 zG?G3(^D!s&sv3w2gPwCsVRX@-y;_ZXxd;QCcCGIRX<}&_`sH)9;T6A~OXA&C%;~0C zHXcEV7=H@-R(*()b{ck&2#rQ0xyC^C!Kw9I+fNJIm~`+a)FtG*Hc!;oF==UWs$D(R z>$4JbhVNYhK(URhfHCP#MHuZ)c(*9X?Ofi!W99z!dY+=S{2!>>+}KHJc8Jdz;P)c1 zZ-3%juS&3zA&}&HR*8iT@KYRir4)OPCM5iypD(RsUwZtff}=Y25U;w zNW7SC5fmP+S|dS7mwnyHR2^|t+w4f#wYM_k{#r_S{Dp1!b4k@TxxBqHFsYm~qU}Zc zn)H1);X!a8QPie$j#e-JzxY>Cru;bYwXt8dtkRzTY@~lG>Knp-3QIt#VFp0JA)7Ui zdEh?}-GX3-a1UjW;C^+=>VFFClm)ie%5;18aVj-gq)WbEDteMROsybW_;MHI)0kRGYcWJ?o9Ky)Db5l@U@jC{klwwgT0832#su2Wl`{PKYCM>Rpn+aIoL(L5P-8Pd`L6s3r! z@2Wb?n{1ojyw_WaMaJbkvF5YmmE&?3pswq{#K{cu?Z!w^U2y460OR^nZR3NAVI6Z^ zhm7Rg42nI4agYLfb*{g{3yGbH?T%}-9Iv)2EoSE031gJVP|6NdqJlBs`c+Lf>eKB- z*`g>2$Y;P|=~G&$OS_~&gc7k)*8rUV09wB7@*Zo;JY3n-oO)JVKn3UYuUwBq)#n3c zo2dT)Xkw=S0EAyrz}_N5?%AXs9CYUD>NH=}VvdLDT&9`cK2TZCU5-gL zDJ1u%x60TDKT5Ksl>k(4bkLo#;CJa&=eUx0-66^PVwgGl(z?i?5{x~_p=M$>j^30D zu^V8VpGvSVOE3td@vBD)e|d8n{{XrPts6})Yuk5{(i^L&m+v%5z^VtxlH^;*Y+6#= zaU`|%|$FCKBRB%zLf;(r@tbb8-OvIvj>=5ZH>-)U><8) z+fUTx$CY7nLH_`zX113_)`g46+I;GOWSnIFRnA=5+=)+~89?^ULgq1n5`6xFvVTgm zr9{)}DIA$ha?0FSbE#_)XJz*^$o${e^Ao+TEs; zYyF?3C=(BqvSSPWCb?ZQ!bzrS?zb}&pP1)0zZi}c>^&%wK%+f#-k8#04z(jl!B?(o zuBix~-GS#KxeF;-3S1E8yZ zCsF;JP6tu=R(_8ToAx-~ZI3=aVaYvxD`74z;uwYp{{VoXT1jtQbV$?P-=D}(IU&c-r5?)?Z-MU~eIxc$zicjQWc8{TIfbAG!)5)h#l6 zJM2G^#cfNeY4avwk_k`y4iELJX5z^X_L|*)*=Yy()wl5`lWh?5@2ue%{wY`dYns-+ zCHQ*XO2Km1P5szoE&7}a@}C@dn(xH2#<4@Q?&l>){*{q%(Y985Vtu$ZnLVwW0%Kc?X6#UL`c)^6 zZ@QD)T_-hue6%kkMRyxh%6*wy3Tmy9)YlFWfu_fJWYYzuN0{~EI=!_ z+*TH+hr4a3Bi5jG`m(-xbsn|dX_~}W5%6}n9D`b4X$-w-1fw;Xug{BR z8RIp<>aV_a=BOac=ia>=!BP2oZzJzHBDz(_r8r`d$i*<@73bbGn{36W%yT^NKmv*iJDC!Of@6AUJk>Q)4wBBDgk%m59ybeQS z(``{$k}}3HR5O;rIU_Y4W?iqe&9*gPquST)6k4>@>*+OJ>U&Q`3lX+|6tyx)8$U$q}#DJW8oZ_(O@csR~ zITr3W9jfJlE%d4q=vT1JzilEi27h?rMn5{54MW3rs;_z{)b0@f0LQcu;xmu-&suh) z+EOn$)(1V2mK=9ckQj27AcW(axfoF=*ynQrF zBzJP&O>WEbY~{20V!24gwVZFZ+DnO;khvcy9{&LSYRmg9jO3V@6Vr~BC9R#zvK5Lp zBz4bfzxFuoxxTm?hg42YZs>Ab-P_2QTAVsonmBf1OTW+#YR0qTZ3fE2`zyoRYEKDL zB)+&$-nsQr+wrbwXtQeas_6P$sGZ%)?KNKG!Mb#FD>kH5jsSF0 zKT5S2mrs^B>;;68f%8n(A9wN3H58h?-JI<)mrb5e?@EP2{QxHwp=GY>T7+e-VuEhP zt)q7X^T4VLuNA$SZ?3N1RLC&2Vl-3q$*hPp$vjhb@z}#8QK{V|(@Bx^001ifrKDN- zQq5Q^O*8PUMvovC= zLg12cG1H1mPXTKI%&wNq#P^%0=~@rrjb_r`NBcdifIjG#C;3+`Z+#q-vfQbSfxui7 zlUj?TYPYfZ)^;)&fXLoN=aqcc=zw6Fx8av--8;$(S)=()WW@x!ZnE~w2v<2=`}C{+ z8MKn)S-e$WokuzP*0+i@i-@#oP%MOe!4);0}-;^tpqn{iN2rovR4WSS%D z(sB7#e~{5n<=x5xo&%z8ABe3q(IjOL6~bWm0FUcI(51;H;ZLv1PCr`3+(prjGOnQg z?YnD6+D2=b;EZpSo(HXaSB8EV+RFq}Yj-j{#0D@UY*qF>&3ZPI;Y}Y-j4iE<10D8) zYf(wGKe@I$2lqe~1;y)Kzm~S-`h!ZkeY>IiMU+@Qcc3}0SHvF=bS*(y{?GPF4e&wvuHOe71HM2)twsv5*MyVsID>@Wwt>jw1;UN#@wm=D_2a4(^ZAv$?~LA z&clk4^!v+le#vqQ{{V7T&1YP|4o&5YD|eCu*YK=)H2Zm_CJUjse*}tD)E9bf)I>Lz zlmqWCB9a9vc^JiMSTduNxPpDFQE#V-KXwCw*!7`x$;*`x06j^p{bx~@ST{D%bASbN zDp}+#$0mq5yD;uP2&sm_pDb^%O|>Mm~czz<7Wxh1t39 zT++FYQb6Lp8^IYmS#!qcCc2P4Da3P{jg$^R6o-;3j<53CF($mHQEk`qANHy7kC*=d ztzMxYhpp|`%)Pr+$56a}rm9|QT27uov$bofk3xALoorc6buE|LH3v&bF_9d6aqdkT zR*t&t!b_N%J0NnoB)p#IJqOag7f!UdwTEm$VTcZysVDI+m8S5|4;@~2;C=(GV`_gA z-ryK?t0}K>(V2EaJ@6}<)O<~mxcYV#%4&Md63R;@#pI{>uBInH z@D;5cCc{wFV$Ii=XJ*6hK@dVmrh3-kio-&)Vu50hsU-4Ea$3f@HQKRu@@+W^py8Z* zn&!~Ue*1B<5!hCYarqFRAx3@s)eDQs(Bphr^j>N>E~TCJ$QuW`3}TribG(eH<^=U) zS1jS472BA~o^ykfRwa-@8FuYdt>HSA!FN!RsO?&I@lAC)Sn2D+;4}77T~(}_M~CwY z$g*DJFUTy%-_TOStlsK#h&0$?T$~nWCvUm*u4Bb|G{bcFcX7#lTOLqsk?D+94Xv%q z1>X}Q@7P_GfWKPmqwtK8Md!n+T1^uVpUZu?AMYNOX3j>_qWd+K;t|(w#Bxv8sleBX zbhwICyM5kdry#nX*vBHYbn7&^Nm%Ljj`9Bh3PMTzaKgFmddB@E7mK8&tVnaZG-9XR zY+bo?bkI`DYc<+QP6yv>YC#y-hku&jiZrj`GUxnckm zkY8U~N&cN~_YoiNKGXOR5Av%`d!pXuSnHNgjzC11ervS;m5TN@&#EL*T}~|BfNP23 zDX<=-jGEYA4O`n^O%>JHme3~XZlWI}ob=B%3^GBaYLR~D&9`nuf-vNdV8a|&WT~y( z!vv!C2rPDnV(hz5{qP3_cCA}&QYo^UUY{+>^fEyX6rW;x)&uL;+9a~A#lMpiN_NL} zAMg3^o-#A}Q|`P=sV<%NsiU^HjlSy;a{mB8Px#a^okvrIPi?D3DvTMVbs`u?p>76i zHuFeeYi1zkZEu&f`Z2=uCv zXxe48&pKGZva#G;u1(P?hDn13uNsczac!Nz}^3 z`(u@YI3l*ZUh~~s$9cFJp~e^vaZ&s~)Mb-gyP8&0B$52wcgU{S#S?kn8@?Nce5OB@ zc@3tab!OYGt|f)D{4K%yj+LgqE5G1eBoq3Qn@{Od!Ki7Ml5UsGvYh__5;w|y$gRt3 zX&D10>{5^KMxB3J)wPBJ9egF4S52>$DOMl2>eY@d&nf8$Srcx_fSIr06|psO)lCiHkK3sEkV-0gU;g! zmmtac0Bbth8OGTj8P-+k!Ei^tdM<t18xJ%3d34B_<&l*Xe9u??!A^#ZC}X?}b` zVBF-6h=q^oTe>%eb&#cOwCjfr$tD61>x$@Y`~~89*LU`FsO$=;Kl&ACYMv1BC4v^4 zPmr&CK+XJ#u1iy~kq$3xA_V^cc^WhN)_0d27}~eCDBU_I#vf&f+=8U>gVWs`8tN4lW{P{{VSvhN~*cZU7iLthm<-PAOqe zm{zTn&jSe|a*PjZ>ol!w&YLb21|P&a8r1XD@(9H^OV3(@_UC20W4{%{>ht8V&m`io zlx9Lb>(sm>7>`DPbjT$Bb#3lDGnIg3vCpkYZ=+}b06^2skN*HYZZj*N z!=R}i4Oa1g(x+&m?xnCX{^;VW3piwx?A9pvmnVXHBK>Qm@c#gYAhA(3(xjIpU-9; zt*p9*%Gl|H1Nh&vitK_~cvnSf88@&WGXcxD)}ptwi^Mi?-0A`;A#uH8jX)#n-ASr9 zk=j|_Ev>XZM9s>q*xIAlc4`l>+gwc_+BFDLP~m}02FU5j#%g=3XyBGLy1a#;$v=B? zejswE+*7UeyLe2JStH%s%g2{*xD-C1o(T3Ptih*^IA!6DZO1Wvszp~r+-@DImzR2_ zw5qLbYZA(K#_5M#o`A9BX0!DPwZ)jeqXD!y#BW{A+1G%mGrwf^tALTK4kYhnEwm9SL)QDypWL0Lwun zt(=lj;Qs(hL#x|Hq+8kr>^EbIwWQt2e2!XRjE99>aw<;{dB(u`XMy*JsH_W3Q&F{F zF52#7UdpE+eLX9v@a!7aw{I*r##t@ce76@sx0HQU_53TX(>y&5m6Vp(mu6Tb>bWSZ z>x}X$9aCGg(5*bHJ!0ji+CoPRsKF1ZJmdM-BWbBvKqSA`ZeITYP<)u6Q;gNus)aju$C)7{DS@KZt&H8Cjph5Wa?V zzp<=D-TkRI9OEY-b6ll`-J4#kPhqFts65AOY|(@7l14u&($;m`+v&tHc~;gq+vOEU zU_ag?HR*l_@h5?_O%^)|A(^KmFE!Pmmn?nPI2F@)a@)dJ6G&_|#FeIE{{UgPxiMt= z1UMt`#aq@qD61gUpuUqriY}`1nG#R;m5CqLyj#VdD%5}BA$th5#k$jxhF;k|&AfLR zJm=oIO;Sr+ty4BINfb#9%1C1({;Nx)gXA{UCaS01yu0H zsduD9_IvwlrG-z*e4=q(osWoQXv~(HW~Xv`0G927ezlpZe{JfQB0Wk*vA1rP$Z**I z0BaR*R`3Vnd2FJ zMSX~1u)EXkar2oOLpS72X!ussPSW(%Igid^^E(`|{{RZl@kXnrN0&EI4l%GWCcJ{< zPn%M|m9+RJkqZ(SF93aOqP~@E^s^n~DSewr?#CUgp75J()d@t4{XK z{@CDtBDzr<>lS-F=q@2~+^Y}3)iu!d+h*BicN<%Fj%F-Z=xaMvu$34lse53O_Kj6{ zpP)R{E2aRyxr+Il)-`3v@)WjF>sHc{aFRW^=+BMcjx$wt>zir9$1S&+a=@%*P8b?? zoub>Vs*8^`r#zA*APTs;JRoDtn0`5=Z7vn-B*cHcT;$U3y?Ekx5r)9r*{9x1Bn zxPkCdvFWy@ONr+>VTC=hO}Mjy>OHp*#VGWVK_9Jo?~A@3X;;w5_E9C3*%<~d5szM1 zr{XK;txDg?zI%BTHW;rRh^JcJ&8JEG#%XPjSl^$@wxqDMyon|9c9t0hcr{J*>(~$a zE!lMb-L@!csAgCF|a!&0egq9@cnHSy| z9r>?K@a5D`r$Vu|cCHWBw_}$eVxG^Q^v(2zz3UIeZMro>)123zUqq{NLU1YtmmFZ% zZ4JCRWDB=%7^?{qt_IQdH6g*ww2O~b_y4$Om zETJtiSkP4)drR$gxdzt2pS*takEd$tH0uj}KHNiWfma-p)vA`ct;43MjdLZ#kCrv- z`1)5S!dsiBxw?JwH*U-9DdZgW6k~5gO?6ioBQ=qIqX%y?*|tbKcB=7S+*!Amdl7F& z6{iLCE}1eYrTcxlsC#rmZhaxNh?jPY4axvB#(W&=eBe5{#dN59}(($ee=t4EOVA%SX?N7 z`{&ZVBJWYtWYZPz=eHK}pg41k=bkGv$51+C43{?+_f`x}$sTkL2lq;`$*yx*hTB%0 zK7*&qTXuhUouvB=V15Rc+2xAhT52|*XSxF*6&#AcEPJA4UzZ}T{5!g}hC97J;6?U@ za`|u$_4d!DZ)%nrY?)=9Y^DD49uKo2;E%$&Tb~HqUPu}{=#oLpeVz#&Ti+eOJXS^C zoHSYEYa5@o7Rt6`3%BxOe>%IU>RLROZ3J^_3vgHFW>|!N{A8M`rg)NF4&2A3n?UW! zm7w1L0GT-bDf4*aP@HD%+IbIr`Cxtk)>ZbsHR6;+zi*5+TGfJE+C)XNl67X9pvxM8*up!*+Mo;Mpx#H$+r0JGMdk^I>eVHfBP zT(;QG5rL79MFTw6#P>S>oogIRE#xsw*o|b6lac5TK~?Q^`>Q!j_j*Kkv$5V}66Ev# z$>ONr+gZ;uNiD7IqZ5)6Jg$D6)G^#z#yqsu?uI{v+ny?6s4Qdmdd2Gh0J&@hLq4Sg zoXxH3G7;+*YI{9W7Hx^G>*0E06)Rg7&{{eZ=lHTs-Abn?^rGzP7V)38P2*KeV1n!h zDzaU8R_+MmTaOc5EO`kVU47i1fEMDN_D>9xlVjo+$3oX5{{V`n{hPxHmO4JN{r-EE z{{Z5uT^Ci+r@l7&SB9bUKqr0V+kgY;4Qt>30BYQ(!8Ns{Abrbdx_%`807~a&(PD|( zRxdQClJXprT=tNk@lm+xfYsCL1-`*JAM?$>m3hcLDrSw<12QmE(2>@dLB@Mi3Vhk5 zVaGJiO-pBYab-A`)@dP;PIpGw{{Z#ZZKM1~zPAB&J6P`%{(45Y#-ypRmRkbV9 z8#H62KXulaW*<)3`vb?u``&39jL!Z*RX#OU6W>gu}qm7SgmDBl( zi1_!zyP2fb?8xo5Kxx15v3xX#39CSH+YC?S1!ro%7IaH>BHeCopSPD0QTetj&%90X zKT_1%D(UnIpNlTnMeNly`-&{{WHZq87GJ#7g%Tl8!dYxfJ%&u6FLWk~@U|0ATa^ zRVI<)lM*8-1CT{B=H*)1_#oqo!9_SGh=I*)X;-pXzWB~T>b|wv>DsJQs4Cp!ka~)~ zF0i!;*IQLjzNYW4Bln#F?<`Yu7v$*na;~MhLCAB}tGxY#B{R!zZOONR`LVp@+Dp zEtS7tB?sYBtT3VZQ3t*%x}^8_t7l|0o*nVRSAU}EP-#}8D|Gpf-f})>H8!h#4xMEr z_YbucXXITX^ue2idJ}}KZ_C%{qu2b;OKar>}JR@aqFPi#A zrRtNC_LJ=&P=|r^2BwL0O+7aznH&x1@QnUupqs_k&}Ab?<6l!C0DcRa=JlOPwfn%U z4Y){7R_-mq&#=!O{VKin^6A#tk<7B5n~2G*D79Q&{i;Yq&HMyD(7#cRYQ+8_ymPuI zjx3MiKnVI8r#_{7I39K6@^Rg|RY!Rn8@HdU6F|uW82VzE-Ec{!u>%+)k%$=e?rHH` zODV)k&GZ$c4wJNQx|AUF>T1$0ycqH#+~3}QX(W~8KRGAcwKHk!+MfwjB$_3=!Ng-d z^I94WjmEEe95L?sj#z=hiuHR)EOZ+J@y8l0Y4b^exc)VlXtU~fKiYbROXF-PdLXNF zDBeeI)sf;G_WnP)wAz=jTj~mbiUZ|I`Cx3f0La!TseLpJ6hfiCF zGTqySnDyF1gZM5nQZAUt3AUBMAHc`@)w?+0ocU{YG&6UORbGCcwQ%V~{{YL=f8ViH zuk8NGZ1XkDtW!Bs)iMT1ehoo8-2De9Xaf?s%`D{2TDcOty+Q)i>W< z05@+qKz)Gzwdj^!9@8w88(luu6aK_NR+51dU@y}Gs6EO@AuLdPcc|qs+^*M!Bt!l1 z2>oj!^THk<)D-=rOSLS2iZs}N@!VGl;*W(8`4dZ{O)9d2!Wp>@>>H^3YsIx&2C=*` zOok~lv}5HU)8f=6w}^|CTe!3T04)YteulIb&d%l)me9OK#zRKf$Kg;(ZKy}Unmeff z0J%C3=ULZlYGZY~u#(yT0KXqAS^ogpQA&(#u49uUg=2$MTTZ!z{Lr|^w-qEv2Yzc( zz$${<@ZOc8m$Jg7kX#PbIxta0)3uTIT#ks7Pl3AG|Vss}DKc$CF4q z^NQ*0wLdc4MJ(gZkYEx%>G!ReV+j%o-_th%kz6-5HK@bCyD$|=BwLj(iMyxNjUyX{xyl={VGjH=gehf zwNuGI#B0BX-Z(8)AyBFYIO41Mj;uy%SlL}mJ9Mh|x@Eqj9@(N+UdOol8sl{>2U5{o z&uSW5U~`q{1Kd=aZmSK?%Krc)zK6YODdRn9Nyw@)8LzHZ&rTcXZZbMA*1O*iX%Xof zcuowh^Gf~6tI^&?CF0sZ%{|+6h7~T~km>a`pRIg0@mGm1m8Uk=7D@iDIpxbAQbOjh zX&T`mCvMsoh7WeWu#e z%x^9!2~rn40uQ&XQb(HNRftIBvA`R+u7XbwOQXRJ#=C7aDJjHcjECbrMJ3+11aSFQ zNOyt3#sIED2sDvZ(4Vf$L|qJ6?21uQOeP;${4XeovH~J zf=(#2x0dSRB83ac=Ku=!PYY<#=-O(b3T_x~m4~mV;aT@nKDVm~kdvms-!UB|asCy! z;|c-u(S)`Dav$xI_xcqTfd^M$=dh_iwjA_w)s-%CcYO&*;VB4~3 zdSL=m0?1SNK^!ReKj*Dm@Q;NJg|gh;#y-;B2lof3*QIo(4WEaor^yq2n0(9gb``?> zKtuKz7^(f-xcX!o)A(z3{{RxJh>7Amh9DEr5Dj5?)lIjIW0-KWA~t{V)BgaVicLj= z*+|@d%A4Wr0NLG0R2|L~9C{D_y>;dovC1#~^Gue~7E(O4>HX1MewS#g<2(3@4k6q> z@!HqEwJ5ED!5u5e<^gAA=Y}GdINi?*NUQexT(bahtDjR^w)z#asB4*r=Zc@~+Du#p z-rwx=NNtRR{SwMtbOel5IjpZxP=dSG}y=zpbgMq zWRqPMo1%TR?X%OaWPZOfScX5~WPWvWUklu>ROr`IfyeITNeAd_G+Nr*$+9Ufbm_-L zoHDL`IpVeK?_{-5H61cL_>W0#WGepv_sKXvPAg6sJS(b!6srPF)5*FfHwW82{)E(R z;j8Nj_gQ_K^2v`7ToR6-NA5ngGwAw*ugMmdZSKXTKb8RfYAJjt=KS|MgR}ntau`-M z{{R}!o5QeMvlU4sUr8LbS8I6S1f(dWdMFiikg7Z&LpNT+UO$tUuuWrAyn%3WMD zA?m83MQ7h=@Du{rv~qRaTOigY#kJLx>meMkK4Nk|A4>Lb1N>KwZDE66Nmf-Ge$^Mu z8y(qt=iFDT=$8yp7jz`M=%ft24zR8|7ioJrA1d4Y%b#}XUIpSCxizgxuI2+Q z#klF5_N=SrK1q!eac@Ca^oe4%vqn z`3^YQGLibywWaJUyI_%hV_?+^-Eu^!hVRET^^!L4io?}gec>74aaBMnnDsQ}1GuYk z+OW45L6>H6jPqSAdW>o<@c!3a>G1zuR+(5Z9E-3f84g&`eLwt z9o@rcrRo!0I7C+&C$|Qx_=m(YYGI>|j20t|o*GZ^6(5IuKQ^l(OFERa9D$CayWt(a zpK4UJal)hcxW+3bHN7_C?QQL@RpxVmtH>s(>iUb=hLP2J$!Pgs!nV^#X%uZ7k=$30{72JltaWsb*ecx-x^m$w-P*-9vQWLR`iU|IXfax_z~p( z0N1B!{{RoJ?_ke}H3m$K8+#v+0q9)ve+*XEhw$^mx*h7>>9$fuazBsGW1n35=DLys zCg&pqsjNL?#IR|RnI13PFE1+`Dlc|E*sY6MR^}zRNh5e90i$F&1Rg=nM|Y?}Za{8* zPI^}-;x86X*tXDwFDo6aXkeCQX9Y+h`5=O4mYZ85-c%=I+srlK&{90DS}fD~i_6PvPr0ZDSp4eWQPQ1* zzy-ScQo8{j0_Bet=-veI@UV;Rw@dz$Ai}BYihKP{Y3urouPD5W=9q6*SDp8-WMXxz7@6A_hw|++>%Q!2qiC8;`x5UE(LV*Bom zo&h`x>9s4{Ef&#j_x+j_Pnp#>6bCrK?#BcH^(24^tp5NAcx@!PZC>IT14_m1kkpYKY?`3mZBOg(u$tC-UMe~4E|dbO|r025s`?XlW&E5xq$N32|z#@{v1x85~n zZcK-5ye!0i0<1+9(~PvDA?OB8X<6ykq^nBuO`lW6bart-hy)0T7q}fWQ;+WY@sC_p zdx#amBd<|dm$rrzorDg<{QX5|upO#{d6wFpz2fq*IBaIS-7Dfny`+9ndx)~xX`{DS zKZ=qw>73VVsQA*-eJ;;rb6q{yA`Q|tv5|*mI3S;F)-3)ni&fVwW3bd<(-uft-e0!F zCPL(l2OJ!Kv_=QNY>jup-XQSgGF-Z1*?}*4XngoW_2pDA+b>^t<8aY14c@{W* zj52+*f-&@@(>2XYOq@2EJh4aAKv>BhKixIe>Hh!`h&a{s><{_rYsdaN$NJY%r1+Od z)rt#C*u<~EhHsJc>4U-i39V^h-SWt!H@K`#S4-U+Z5V3ebeNXX=6h?*#UN~iVafVc zo1y0Up$^d51KO~f)wJ*>mh)z~gFxN1|@Dqb4P`_R>KPta%rR#|T&0z}|B;_8~@BrUTFsUSO62d=wF0&u~ zzBWIdRJgv^2>s>8s^ihGSbrw2ZvOyLk}I}J;Vm%k@4S!4nvy%0^0&$Yub{1c5<8t< z>N{;R-RGJ5B94B)O7z_m;YO!-5=p3C!D*hcqL~{XT!H-Ss$N6^+v~Y1b0NC>*D!;Y9ZL!-=4@y^q%$AM>o)ZS6OeX1KMJ`?4hHOfY(8TPIhRM5Ohu1Ln}#iN7+wgD#JrcXmy`bUHH*yfILXC=9f z!QS}w>?^6&^h?`_1+vZ)cM?9+k~{HBqWn9tdvb1m(LX%AM`;7o9qZA2G2x31I@`=F%U#YJj)2&|OSG&Dtc^vK~ z`jUH^u`IJ(+^wFU9{E`9B!3NW>Y8o0hP*L5Bu_2e;KK8Rf(s70>^j#^@HfN0A+fj` ziaJB2+;K2$hH;KCKdpCuIPviCz0H(urq6X8@@#2Uf~pSrKEBnm`kmF?ru#k1<}O#u z!ycWxR2n2YrKX2)+Wp(g^1e_?0x~CT=D@ zGrJL#aNEq z$fT=8J&cME>T30_pU}RacW}P3unK<~wG-JhG&5SmV#+x4l(QOGpn^3kVl@d#=<(rK z^`?Jh-|aFyak=Y_!*}>qRFo3Qg046!!vs^;uOlAxI|T&fRVl9m{m+=yZ?#D0<~Sae z8IY4w37BxQ52X7DBS0_);s7W6&F%gb%W4xf#-4mZGAximKb2_=(eGKM z>e4tE`9Rh0EPv=ViKS}#zleMz;w02e62T3>?)|B7fYFk^caWu&wVC?Y!{h`@Z}@NWR1$@Xc_tU3r>J zQRHMbdUuBHzRjar$Bw8Nk8@i6vD%t_xz82KX|0cmPCFZ8{{Wzh@1#|A=ku=*)NNx= z7hS=y7{$YYKj22R z?&#bf^ZtKIisA*8NGJjNU?21U0N1Q5`%R2U;PuGlS0AiS-)J#zAStTW&UXTOR-77) z_R+jhPa?qi4I5#UTNsM^KhnQZO#pSDb-xw2&nU<3@{5z3#% zb5{IA;T;ECxp}Vi^tZTUmYUj6DarR-6=U@T*Pr;4;eFkVZFS-6w$v1J_IF*gW7vFA{Bc@3cZuh;jefzX-=cy* ziseMnfsO|!BcD!{zhUte8MbQn18M6msV5&)Z|G}%hKu4jN7(Kyu8uzA5VEiQ1oA%$ z<~2Pc`%GteH(fx#z~Ac>eS6kp%LU{`a;=UT7;-&`HB8(aCB?Pk2*>=enXas~mon zy!wFhu&um~_{M(<#MCdLIWo%04ha_>2i0D53lsR_Uw zAFW7Y$6OIuo*~lo{X*HI)F4S$2Mk9k>Ot*aGWf2}-qTf*J5maVD}mg0HO}AL`41e> z5|R$<#cyd7HPw>5pL;kzg<6snkP#v)1K5n#WyXbQ>|P+y$?F?ps?DWeB7W|8?o@IT zbjkedE=Wo-6X`Q6f72#APv~oE0S%-otM`3r_fsms(kU3lPw?8*Txu7WZUHDTr_h?+ z_=@E`H6R>rbY7qB3ga{=QcEXU2H;OQrd(LhX*Zu>%(y$aBoIfXcb*9Ng5q?w*UGei zbWBDH{{X#?zgqSSN$jqzB9`7r?ixXr2y!t}URx!txR&H8axw>{Wm(%tAZcVkS*fs0 zH2ck~g-7PFJ|Xzp!$-F<*{aQ|Ivs@@9#Q`DWBGTl9*J&sJLz=|QdgdLJIly&%zJ12 zJ5``Abt{Fkuo;y7<{cDQec}BQ4IbDkF6r2Q@Ll+O-vo^a9ouHc-ZIO=0LUu@%= z#*w6VJJ{#A=|<2xIqC08WH{-?ak{Uc;$2}h%LDtU z{%IJV0Up0f>vrk>6w(3!qXQ=#w2fIF5Yun`W2?Nk=0T(*?wF61FdZXP*X#7pP%G5! zwT%MSU$XxIYUy^%0N5cH2%B-+8RD_LajHqFLvII$yg^|b0$O61{#zgJjIMa zarSpznf4`dk^0wb;N314@Di9TlF(hk@-%Af*x-9`3k%UBaUfUjCAQ-b&)IaIzC9; zgmvw(n)G~SGwoh2tsf`G_eUAU(Kz+Vu7>V=C`bB4sE>|8JpFP0O<>*XHcucB2bG(k z0RB~-c{SazW}41uRGtf=AI_?OYq)MuAAXgmVXP@nnZohNYT2~a;3t{m2d)bW){5aJ zQM866cK-lB=e=a=dYUYa46z$!$sTN=kUc)=CqIQ)(!LnYsMsc@J^uJ7UFc$ofj?c~ ze=6pDN#VB8Zz74NXATJ)muUcgl}hf&MF5dmag5;Ba63rmwe%~Li&e9ET6K*i1AR8m8oE41re2`_ z+|q%Vap&7}`KdqFuUNj1a=~=Dt+x}zWkhlxpgn&K)zYOHi87>m@rs6BP6S3sFYRNO zv3;xo_XeG5DP;pxGf1t<%V-crN50XKS`VdZH!M7+mHz{hFlz0EMfdvgMNfKCqAI)Q95UhZw@es6W4yfPSr5y1&L0 zeaWTRZ1j2CB>n^ZYmL_YbFFHyG*Vr8aUQ7}gj4x*`IB6vpFGA{iDx~{K|B#phLQeX zV_I5Xi>OGUEG_jXLUKH)-ydEDY^Q>}O88{c^ebPFLL#Yu6MW zc>oo__{YZ zSZ!kXS~M|f@DcLKbaD%E#utyw)#$t;x~`!N*0R~I={)z3%EHds?%VQypIYt4hp&ug z+f4rezs$d;4Lkc6T+dA@Kj3m7{g$LU4zPJywBi2%0g%%Ufvx4YUuo*Tg4xgh&MEET zd)Z?vHn31*k#B4e{%pp)(^k{GHK*%?Pt`mUoe)`mv%bm8LaCc40vC}ngrUA@Rp^gS;y9N)PNv$$P96ht#j}2!&!)b zXn15UrKaP|MVZrfJw8%VkGLc0T(!!Ux--ixR$7c?t3V++$m~J?01C>Ia}mY)b`>V^^!QW<#ti?jjULHCG$nSzN4m> zdjy;*`_Z&uu0K50n@w8!?j~UhF;j!KH*9_&@mbp18;{>j98pT6lCelPeR45aP8+Ch zDWMA=@TJ*~^><6Kn^C=v-q~{_oB)5Fdv}KPX!K1jZPVtH@5=uG-f!@(e^iwChgueh zf8t$e+oWOt04*dPzJvMJ@<)INVNYSu@mQWH)c(U}(LUv|luqC8|LVNrB*1nzLjecu_4epb-sXjyT`qjN(!W!z^ zh8mWXN#g?9`TqdNsx2GAJ|K`ZjjCy=2Lt^UL;nD?)<=x~9qQVw*74lyHbN-#%yz5} zPCZ-Nx=V(#@ZW}%UCZR!+Q1|87-N7iI3B)&zG>1Rn)6kOt$}Ef_sGNUuLOR4*HLwg zc$uXjDvX-*m=R^wl&K^%xgSjNUWI3PP=Mc^ZQ5OexH!dM%DUx9t`he8-%I$372V-v zf;?|vrHBSRX9KS$w? z{{X)^IN=XJsjh!h8bAnisdXlDPT_kTYCi(3bNGseXeSa|wbF}t<^ZIwn^3Mu-N5O= z&N6tb@kOFV5RXv)(K7;7-pWYX3D01|k?tCxRPgf5##h#jzBnQ%mB-iTBB|;|!6(~c z=1p$HDJ03|zte^w)GvQK*sZ1zz^qtdM(%&w#%dVkk`N?P$N|73j%xn^_N2E<92d^! z07uN9cy|1LmDlL<%b2cgb=%c&f+4m{4YL```sU;>-4jY%pK9l| zjXG#-p}M#R-ri7rg>Stm9Y`LW*E(A#AaFPpX2NZkD8%F5x{FOj$HVsTRD4IMM|SZ? z8vg*R6veq~L$gMd$Mvt$R-sz}Od7(nf#18*U$w z!L1{#X?GDA<&_E%(nKH+%v4b5I(_1ow77O1M#feGs$6(#bkCJMZRi{oKh~e&zYa}( z;+rix>NP0L9!wmKgOmOrjc$BzwzrE|(vl=pM774nTwy~TS3BXYA5!r(>)C0NTz!Rb zT*~=W9)O?aS{^aeE&M$SX_0MtpAREr=3h!~m8w`;TEzr%Nh9MMQZtW=wt@)pqbEm&cVpp&$LWR{m>I$>19{Uzbt7QSY<-1yh&d z<-b(buD*Si*e#DS{MUBM_kT+P%*}w-&lBoJv0I zLqCr-&U{Z{{fPiQ=K~+`6I|Da$NCWM&1&|?T5w!}%|kt;Q~v<0P}r*f0NED#<8u8C zJ#?E@IVxN0QzS6M{;d^%3a2yAd3d&VDqdGOBy+S^p?G^kw$ZJ?j0U(P_mZBheJfRt z(eoPOJVoPKV7_Y|Dj4OMe5OKoE`0zUPvcyiw;G-PsFCWjNjPp+DO+M^=s2TS)1@&i zki!a?`PmZlih|}zE-fItiezbF`_Za^SLy3Xc#&L0w~*cWlH)HFgl_yQ2-zkb0Unj7 zrs{XPYlqYCCxaitt@59$o3GLfIxAEkAASH}63&}y1lD1VM7 z4Uexw`2$^^mGNW4H`o^!i)2rEvY>uoS7)YQ*y?e4ntq{gdWW6R$Q$`prcCv&TjB?W zExb>lPj2W1++fLXDEra49ANwRuO{%n+jUJ5?c>(}fy zKD=hCTKE$|@t9u{MSXLk&2n<~w+ODe>5vJ}I0vcgPSw5!3#1cR_=XjeZWR59DlqpU ztHbq;HtRyx?=<=5+dZtNCTLjgIPNNGEoamsQ3jz6+YUr>Fj+zL=db5XvbcL`4W-qT zMVC1)tQdYP$*H7R@>@?-x1Slz7n^hSR_34*tH}QVZELtS1z(m$Y=TEXKppN2b~=2zO(v9;Ejf>HrPB;?cJ9#r4 zQfFxc`uDEZ-^BVRt#2i+w{JC~y5W-H3!{4mUVoKVi$n0NQ?16A;#qX*0mx`CK-=`s zKdo!Ss;#iX{6?H(kC?*8^#-PY5W?`7w>D6-MvGnoZ2br|~z7W+Skf z)E~$SrzWA{XCg^#b&XO$at+aWKlC;NoiB*p;_|f33OiICJjVck-zqxu9R(L z9{YM4#7!3F+$w)*q%k^;(3@0U$I}O|<5e|32t#n&?WYhq9H~!`pTno}u6EKZjU!W3 zx<`cP89#LTeMM~Ct;E-n&J)eIQmkX#K5lsxFN^glHBDkmt9>k6!?YxD$~@IY1E2>W zeL82F&HsgWQrDa~i$tf$6r<~N5b}w^{ ztb?Cg*n`81GV^kwyI@k>cy!t_$`!8TQLd*5-T_=aUC8Kz*!c(B$PhqOVo%T15 zvhK(61_4eFt`0lZFZe|@O*&>xLqpVBMPdZD%4A0!uvWG-e+u}EQ@uq<@3h-5;+E}? zPxe)YYt=kE;hjH0iN47hGr!-SL%K%%dk<>2sc70}r?>l0PPDw)_e}9CmHHD?*;rax zKq0cVhT0L)AwYxlu1iw*b)(&0++W?vsopyh<{vn7><$6^GhAk^r|PjOT?@jAq*;uQ zv|dPyA@?PlkJhj7}%ek~89%>K>`mb86qF!BSI*fXToP5}U&OJwPYuh{> z<9#z#j0KS`?!SuOW&ybCwEqAQuI}FLWn40W^{JSsQ=DR`Ttf`UpUuz&7WM>n@Mp9iaA76+_xAr zI6sKsRd2CePkLU|TdT%7*ginsoa7TyY>rIHYjD=Oil5#iuu$H(?Lr$XrrjGGOYZF> zD)a7YK0I)ZWyu-a7GCnUAt-*Nmh1E=ZkE{q>Xj*GX&fr^Qf4qUO^}y2n-u(UbWc zRXr!fdQJZTiKX!dvw8L_`Hor$U~v%R9I(!K9qZV1&11u!BGdlOKiMY*b{QdMV0iu@ zKf=8FUkKgl{vy2a-G;E%dRD4_)nGsm6R_doao6%Aj8|~F4zpzfqer8aMZghVGJZg> zADs{53+*IY*<5JnQ8MmW(#GyN8~`$MG7d4Gaa;$7{5jx{8tZp9_V9R%PP=AiXys*f z4W52(Ph9mihw(GvtN1!7uVT86`%02g7+E3-G-QH#VZj`At}jrwdn?O3i&VP>{%HQt zxd+n?(T6>{Vz#EZ9$wvFPIbWL#C~diV?SKNqkJ=Y za(9B?z&j7hx;_XQ1ByaGBe1SN##)m*rkiZXe4NRTPfBH#vfIFjpl~_&sbpnTEOzbn zHAX2U)GiIanQ8WkyRxX-zU0=6_;${~B%UbNVTd_*RUc;Xevh}&pP&5#s?Fj(5f0s7!FH$#!FUQBeE|dc)rfRY40wv# zNjy6|);CGX1902*Mm&#jYn!;1_e0d$!%}3BjABI`I6Vme06nX57!i@sih4H~2ZL4a zz%e-^kSm<jcik!E;O7-q zGxewLBz63$qDDf-HX|UZ!Nx)D^rmug`Bwh`hWsb1_=D!tEgD#rg0zK#s{M1<@UNmg zJ>g9^OVLuuSw+3#5ziuxrbFK>FlZhM@aOJ<(qexnh|G@9x9O8z5-t!S$xtu>=K`=U z^xZ|TZsZbLy`!k|kdmz#$2k}~x%aO**Y%wW1ezPm{{Xhir)w-~sG#}`9Gd4e-Es!~ z&Y!1TG$8S`vuzpmG@dtT-$e{?Pnf$8UtHEMk8vVEo0y+tT?7}3RdRm{y&S6``LII{ z{+|Bc)dlXGYj&;YLX5}0IUfH2TIX-HTe}u5XiSiQ&o<=!1yYJ-lmH4r^}dxnIO?rT zYh?#?Bu4(-58+RbP@c?zIRqYsf5NxyHIF$#FO@#NwPEeit`hFTX0*LSl$IlcKPu^T z{{V>E){hWfYSJA_A;+B)`7(YyVE#hAJHxZ<9wF0h@9gwsg4W>#kv+}m1cToS4Q{TF ztL+9@bm8>5as1M%YBu_XjAh?Rl6C9;i*Sy|=&n?s!nm>VAH%ILl^mDvbO{F7T0Z=a zqoy`TnC1@xL_ndKncZjscEIbA(LFxW52!5S>}++LG~Qg&+V-x zP$Ut|>N`aS(fZ=3UR~SHr^?f=i2nd=s2|R`YuiZPR$->PFzCr9(mx?pVY=3BWZ~La z$MDVbarNu^*7c6PjCr=V5kGx|F#eUdXX3aa3+A+{3H~V0>x|b$YpiKnv>#`ddpVXt zgB!R~e*=SA_c{gcmp_}JG;-S>TF&DD=hYBTYxv{Nsi54dk;|kz!20dZD%P9gNo;;g z4QlGw{+Tn92mA$r0=jEoh+6b}L(gG%5a5Pgtlx+@{VPF!Cf!B|Z4Ng%>X%skHkz1x zQevZafi8RE>|_4`L8iCF`56B1MMWNsca#4Bpo;Q|ds8C7Fsz0q$_-|{! zT{3~hNX?x3@GI1U{x#?S02Pn!^x^)~pZy2?YcD{+vQm9(L8L`FEC=IN+fjfv)NSm0 zD9Njq)_SGlgKMYA7dYQ32*0gp!Qnklaht2VXcYAkg6H$#RJVQ{(KM@LbE{rlNQ?dU z+6nZ+jMYfIM-))BUK!Hhw~P4hZW9^w!0LZW=JiR^`s2*iFQvYnco4D2`qrvjimBvz^;JV>Zi zoP8<-szG;dA=Dseb^EeKg(9T1y#D}1G2UB!qR0{ifkyPI(-`8~V=~Kb-*mKO5%}~q zV%}+B8=;Ve^ln95Tk$I5?%W^tlAj&DrN}1MZ=d_7pqkETxn&ax=Cp47Rj2BBmP=W5eM~rz zUE8}dG42}#93P>tRnfdV;m;pf+g@8vEhmU=p5E3}bd|kW5t2PKinrno6I}4VnJwRj zudG@dWG^MN+K5?{44g6?6M@`TUWb4G01FF2c<+XwUC!6H%w{$tkX4H0eS20N*Tb9J z8(D4a{57oJ+q>oM+gL=2kFEms{Hnd@!_7uJ2bvo_cS{~tKF1m@>Z$(#dvI)h1$j2h zWu9fbOPJ)0>{X3+ki+}IxvgEAtk$Y-F*UK}yp|it9`v$m_SV+R6@)~PKI@EQ>+4+W z!6c35yn9fRNgXMM61;)BKE}FF26$z)n}aNaZKO;KFzS7)*4|rtD>B50;)#C+0=Roe ze-Y~9{&g#3ZCt$`c=V^^Z%U!9>ItS+Y{Cycwd$Z4#L-WCv=FvNx$doYw_u4EnX~ zw-YdDmA6SD@9aIRueGt*V}(NJ)~51UnHfWrkGSnz{{V@jjOnto?(;(exW+y6QT#A{ zy5p}*#MsBwAL&;9D_X2~`gO<{ER2MX`$!}I075kTCf{ul^-yYlods0X-({T5-)%?m z;@=N>IsPml&*xo?_JH&`_NQ4_^BEEYopM9DEN~1QjXq8^!ZDJwj{NDxyK3$ zl1JADyW1}v#vtFU=$gKkdNF%umOsIiXY&;_KN0*TBP?fHiZ>?!Nfe9EzE-ql@qdS) zBulGWr~|1dAD$|w_RoX$6=MbdjMD!Ac|5To{7B7n+QMlwTfNDTRn#rvQsq&XXal)W zS0nH>=DsA<6I_ez`gM_l-CH2L06+u#qorp-34$=B+YUH)ZWVnJoMJ;@&C2gxHaB@d%XCv{f_*&_cYDOIT zo@!6*>E%17!k*v?y$nkN1kVfWRjzdxje}uwCyMsdZlXR_5;qH;{B`5KXi6@xhW$?Inm*B?!itUw zt(HLzrN5mfa4w#ZYep%Pd}Hh5Q#W z9)}%k3svyF^@@{mXj&osN;e9~)2F-AW-q5*&umHM17#1@PZiNOiy*tT`!9*KsP3W0 zJorZ|@3izkL-&F2Nscp5GKHK&y_@%JE>LIzn z&-<)6HD^%LEw3hybGqK{GnAeKwZZkzdayNZat7ORZ3d)(aWqo-FaH1nQ<3>o*HYJH zIk&Q~wf_KWNm^6+E(Jk%4y~w0W7IWV#=`|5w?!XJuqLu6(L9LApGmRQ?ND;@53^i= zJCY6<{uLgTr1(EtlgY7?@*AP|t=i#|LHHbl_*S9tCXhxv?MQolpdbB~f#5A0980Kw z;7|VmTD-zf6Ki8g5H;kc0-G>G^u{rqX1afc*1Ie&t{G0}aDe*(pX*)LNUl4_S|#?g zEs(N}N+$ix%m5k3_*8mtf$n05ZPuuWI_-io$LW)b*0=DEml+K(n&^(cY@8p!Vzw;o zEiCc&TSy{32E-Zs`qil&QFltgKXc1cPghUzd`+Kc&%mBVHh(<2;e-ef%qumuEA?-Vuf1#ryT5Hr2ai?HvZz$ zR@)j$B9ntNv26V_PmU*(YC)%5eV3`i{LlFMRL!bPh;8ibq=kUN9dY~%XkZxk`*OF>IM^j6=1W6$l;BI11E$vK8ScaNi;aMh~zjxfPVOB0QxUB3RQ8mIcuSI+* zKA5ZvXhid@dxGvic=oG$tP$C?aazdE#d7Q$Ap2CBWYeVa+skn@FhB5~p2r7_RM$4Y zVY(4{rc_~&NW}$)Ff&XDcLJcJdWyFV?bJgXgsbS?YRJ2_xjSxS5kIXx^zc)35(gb| zRHlMN`|4Jr04_2KG~zNlRF*SOr_J__KH^JR$MMA5PyYa3yL(@XI;GZ&b)sw1d5Loo zfiIPC@nmBx2Mj+WUB8B{^$2`F92!J72&NsYeW$8iAtZ9cob&Dht=$V)zwpI_Ca_Wq zH07>tpqUi0?nwj;{c&4&UL(~t9Wib^CoYG5Gh_hQCmHs~U#3NI^LTE*ApTvm~*ymCCX=1QFC@)}_*P*>!D7J4@_;~hm=J3+w3 zBQT5-$BN+ftFx@@3j#4V(Edc$f}+D3Du4hLn|*OD&BEDPscEGI*jwDV-U^aGHK=qstyEaJC-Fv6fM;rw1+jl7Tbk{{B#tb!^D?bbkZ*R^75x>&h_NZ%kZ zBOq6vYuZ|A_c28oVywBz>T4a*@Ir!d-xW>z^ryfYM+l&^9)NeQ%S-UZx?2mKcK7UP z-*VnH-!z{=UGIaw8q2Ioms)k5-ji+)=CePVW(R}tEp<5&ZI|a zuVe~;0M*dxz7Fu_m~&&ISVrATm_so>qzhI}Qec%I>&IOUH|8O*_WIP4FtcbaE|G~FK~?7~TV$uQi1 z`qj4*n7{}&fzS%s)3w{1LaV&8j>fw!E5vc!fULkbp*+>Sa#L}oNYKbeKJZi2dK&px z;vSSV&k+cbM!0QRb_F(BdvKFX72&F-i6mZ{#c{cW08Yk)vR7=~f68r7C zWQI25dJnqe(2DN#?-*zvBexd1+;K$1_%5-uANF57eqy#)N4d6#&G7!9lUtFMwz_TV zeUd@Q{Bu;I)^C}-m+=0kE?0t~K1}}rzta_`Zw|S5GHmRuN38OfZ^>~^eH#8pA8FQE zM|HNhRsR6Tn3{O-#+Y&Tk#ltY{?R)(=rAhfu9;zE#M#(dL`OT4B?Nvr%~aJqL8a+o zzSnyYkPP`zknVp0T&>5%Ib@KVEhLzSMwR(LfE-pupTqfZg8KF#faIh=vHZ^!+39+9 zzME>c)`5g$CoR;T^>iu5IjWbMo}XpS-R-sOabo@WnpDk2U=Y?C%x`N@h{lr-QRTVAvwH&}l2b&U;^D$fyD(;_orb7@&E)#cle1gZ< znu}GvSx?!m$~!++;D9}9ot=bNa||i_G-C|ojmOy1+vy2&JjTv<4&;q6gCef%A~Ru;WN%Eg{8Q+VspW++rt)j_L`O5?WA#ihVjIb+aHydPVS`f&v0wA z&J!dRAnUuL%j$Ig11W~F)&gi!+XIohf@=DM#8=+WqQO@FAei-M({+xSPNW9xc>yGFRV zg^S1v*+6*4ddkDE(wU=J`4EmXBl5)4{6}jXdUHuLebJD)+t0VHdF+xgI9B5|*!UvJ zq!Lc!J(jfmLl|h~Tm{1ZxUOr!&$GprT#=S#KZ=_4-xkH^cyCZlZaza5`i_64dDn)d z4{fv_K_<5cy2oDW*vpAUv-ud!Jg1K!IT0dnoxM`@ZJA8{y@j zn|t=VwBBT3*Jbzyi7mW=R04!5;Lby#*mW@z$M^M>L16HKPnL z*sSZz0N{|jtCH9JGi`kfCB?K-ss0yGN9$f|seCxnW1q~9)WCa)&&q$`C;C-Y@Lrgt zhlLn>7E_PF)ti3^Xh`{%-r<+H7cM`obatK!@O|VWGhuL!e~E7-5BcV}zZ(1|)GfDO zcy{7lO4NMD+E*TQe?!s#07Lbwp9-(Fi+$-Dt@W?mdrL-0F5rCgxmYgm=U$3$v`s?i z?33PJ*Dv~-1y(~7`m7=UHryUMz?}atH&kJ0XnHlWa zfgo}|qP>Gg@kX7g#-`TkH<6z$&KQ0bW%Ub{ypb;D@@&Qoa>o~#53$EelxcR_gfA_Q zsbeIZ@L^o%-?O_~X`n3ni9VxHbqRr>wx*Q97ONd}Q`{iw?o!o~!JoF0C; zt~bUzH4S>k>qjPMjN(?0?vbBf{p+EMV3FoftH(L*Tvv_!OKSz3w)WDjleobP&INeu zTFPd5*?4Z1ldDP!`D^!&7_0gwoTAhVh}DaBVNzU4bE4cU>30_vsK+PDkcH2<=zkjN zG>;wXmh7WffiJD`_u}~^`uZQpS6!!g!$iIzR_t22{tKn@&*%3~=Tl#Ji%GH@r@yy3 z848XhC+W8}%<4Wq^9PfpS`y^pW}Er#tP8f+b!H<_zn95B^36`g{D<|Y*ywif0DQG( z^)+>(Nd8@`_*QM-#HGO&T5%^mWs~|3@vN(#AL~+r5iOuo{m98bnKgr`Yg(qD-|2U= zx^&tYs{TTvv6f4C=XfqWi3r+2&RibVS0fy^T3F#EjiBV7D_+*p&JY^*Y`6ULPEB5U zr&uv(Zylrutg;XZrrTZl5tWMN3H~DtCCU1e#aEJMz1$=FOXI7_AXOiL6wM~edx@kF z2$@F>AsGYdn$k-dbhUXF@)RejXtViJkL`=ga(BcdZrH(Ud~c{*AdKm;Iu6mcPxY+p z+v{1;!LV4R=vz3!{3@agIW8iNWO!2_JGb-|en7A^a9L^vmQDyD1z&o#585oP{J8ZC zB|($-Ni~UicP-t<`J70=;9y`>iwv?%s)(E0qK?&WNE+Qmt6IY>>@po#oPHRhJ8OGH z-8^@8_dsy!M%?;TX})O;(-O{mnw0bDNI2r0yq{W7rzZoYIaHI-)508bF;5Wj!RDR@ z(0*kD=}|tz!wO+V9IqcrWRh(hz6ZT(cu!2e)wL-k(Vdp=(m%8V8N>1Y(cIUvctc&k z@pY7z`rf*hGDrKih6ud5TOHV(<38A}eJ@I~(wN6;gJ?X+d1m*`dJUcBw2`QWM8c1{ zcp|u8ias`N0@v);07-c&WMhzuc+GjggtRTK{iS+cuB9849@*z7-nKQ}MlCAAr);qt zDvqq)mCb2(Pj_(oo%sI%NSl>j$i0PaDuKx9OO8cDcW|&o@wd zQ-mJEt?F08+AxdEjl!t!TfP<0ge(1}s0`c@xB_^LR9fDyCurXC3BR+lOcCIZw6gl1 z%b&-kR?{@cnnt_6a%O&jbW!PD1QyXmg!Ml4$auaOLLQMV^xy?m~9%AU7b=UE4!&l5Z?>q~kq!uRGA0ZG1;*CuNi$*A?uyae3DA#D43k zQ;&M_-wu|7_FH%Aq=G%c#dPF?IId&F%v$agALp9%of;t)n{OE(brgP;e2=Xl@0vFJ zt&E!DJaRFrY3Clt{`wW@qSam$U~o-&f5lsK7_?Cu3r5t3zH4xXFa(XtfKJ;AWIql0D%gTBr3q8bL?u; zYFAO<2?(s)?Fj1HtXixsCBCN^0d8PztlrJpht{{Q^zBPour`{sa9zfFZ%#+J^giO3 zOz_5|VQ(BZhG2=%G=<3?`Rh?#>32SPj%SO`Zi+|**PHnF#Dhq0v0Igre^uhT9Wz?itdxD4<@TP<$gA(-onl2REwz-S^m7>uKM-kR@pi8o?fW!LeMxWe zsXyT~zrk5_+ercIys`eY_VMPb6J%>|ZiD-Xf5x(}{9$)+q+DGyDe9w&%#T@zf9~LU z821$^p6>I4sRUl9mc>nPrD?G@nZ8*i?$7J=so7!;`?fi#FRj+%-O;m}k+?+9 zs~`UWU3%Vy@H`07war7s|zxUkW55QHH)2)$%-d#km z{{TGU6qCHVP`)LK)&M^0a9i4|>B2jJ(M@z5y6lg&~>ofKOkoHqz5fNHcdlOy`^i=~Q)Zu!4(Xi~iGQ zsawGFN(4ZbJuzC#9QGF;Tn!Y{%Dj*=R;^mdG}6z1Z7Gq?eB9(!YrDB`Wcjin2P(AD z$i@d0yAC+xG~J|jCY47#aZUp)a%yEeN6Sepn>w&#Oi5>zh*AI^f}@it*)L8P0h1Wq zeX1sQ!6b!TR39XS^<(c=^x1DL?pET`X)UErl0?N=ej>NqThuNcCcL^6$~s8#rti!Q z)x_4d0=tFO$~yq(il6&p^ul*uToQQy09b2F!un*Il@fGQo%uTds zAHplozAq>?R!y{wNJ0FKZF~UJEiY}a=5VHX*bH~U9c$Bd9TRD0jGw}=W`&_`t)40! z@&oeqsVwHZX$szI6Zsk8Aa5^^LVDLrr|EiBtGWpG%-{0SoVm}wYLt#4k>izsbU4X1 zjjMQ`!pV$cN4cLIMF8H!`X5Tep2FkAIDKLWZS4ULw!sGT{_}rI(_Irw2&?^>VpMd@ zE1$1QY0)&EbER1N{{X38KT4|lcZVW7p4U!|hjWGgwaxgGQ}C6vWlVo-pR`tUx)bk^ zMk|YfZ!T`yOA~Vqxnfc|B`>sk5_;9v{?UgGvL|KkK^gsOWbp>41ANxw{sP2Q>EnCo z$PEO%f3=_IS0MP4du%~VW0CZ(i%a;;A}AMDfe-h#6a1?E=f=?-1V`pE#|o*p^)=_( zpNMro8C^>E6E(e*XUxJAk@))7e}#0_)HO-2B`)y9P98&@$Ddl(*DkDVn8yw#m;0&O zxyf!XrX-9)p2M1~VJ_L4R&(xZWJu9T3M%!2T};F5*0M|KvNC^=u9DM6@eIIudMx{W zSOu*F@W+UV1ZiP?iwYaVej!nlrEdQKb%j!&OVzFUxzVl^dW6sNtjnn*k1KI#>Fnx9 z^Qwl|PM;vCT=UkJD+YjK%HXR10Cj+2`qayQ*557lhnm0h(gU>qM~c|7T_aIYEv|7X z{{WUx^053W$}87j^5n|-9e0>QhT3zyE)q%73u-S zaM~5SUt38%^vd(Jjg^vC1v%-A@m~r_b1aZ7F8M_~0tQFpP@?WQ3e0_}>m5Vp4wrLkk0R8xf<5S0`$fI;^8;?q>b1X5rj^^A3>{hbN?U9T-fX`Zaxt)`1 zOCu+tIjbV@l}O}KCTb04cy@r%IM3;|z0F1F9}b=qlcc zZ6>F5u|zVz#C-*Nt%OloY3TxBDvIR%MSl9N=k{fpI|0nj4*(9;rDtlE&@5;GP&-tm zPI4+F+zH=`$?+bhmKIF?`T^=|iLhLmFD|jUj^Ucu@Ya(0-li_@6#a%X#(#*4>ik2i zK?A0rZ*Y)2gD&HwYCo-UI)rJc+{o6sT{hKn3vsyjKT}xit=>dJB<`p>DD7Rhh5Snu zwugB&{K4f{3W|D=N2PK)pNQ{n?_N(ilriB)MIM#V!+m*a;VCa}ZXC-qd2oh2k5Vfi z!*_a)p{!fO9n9t3z{qaZujB1@={1QhEv}?kVF3!Mz%7n*T0R9A6Tu|%$j%Q7xYrY@ zp-o~{ZU}Z9el_e`T%K;3Z6Lu75}&UX<{mYV?A|bWF~pl3e>QCs&!`&I^;jdS9d zfEfzlpTfOTH5)+`{hpMhU{gm!#cvNdW%RrL6ZR+8xNH z_jzla`sWqlrs_>sSrg2~W!&0)=L=c0L$I8R zsWYrfSm0JmGu>Q;QSxV++rPbz(@jfAK2|?_9mo0iq>ECPYj~_|Sj87v8F(yfb5F8{ z81utFQcYFW?;(#d#sQPsrtsH=uQjO*^RnAngUpY{ewFFo9@0D=rU0_fVKvC>B$5U> z{*~WZt&_m5Vqh`jgBb*Vl#g@dx%2j-4*jYL^(evp-P9-023*r2)Cf3|M8~NBRFmB! zW5|_TJ#czdFK#YlK4L>4J)8sl>zmblAEVxH4QPG`Hy2+o-eT%dR(j&7f+aR`PZ64HcS|du5f*;dKkk*89wP1Qr7BCGgOY| z7ct2jhgJubAoZ`Yz88E#vGIQA&mxjJAB;+IwXB#ez}m?MT=xTfhcTSU_RpbYK#cMdA# z3U^3(bC1%K#5$n1jbMRuJfjG|)~V?>3u9_CgDd>Z$F6GmZYhj0-lCP&P_g6zUU#qE zoljC&)R6>7C*GT5X!_OSTHEA6m=6Ax-D;O`cyB=22>YXA4^n&A2@B1uG&W=?V&&dK za!LOH3fR}8TMZ&BC^;?5oK_Zx;psIuoZ*7S6G%uNgQZtZB69?@GBU=4xaOd<($biR~LGe z*AEkeBbLEa+}CB{U2@+~vWC{;(&2^=&Y0ky{PwO>USxe*c~|ZiBoSVr;U{T)KVn@< zu!sYi;=U-yNbzo^rJ~qt5l=ct^2c!>C5LSD*0gSXatdP7%I0JK))aoVfvD?x z-lM|2HgKNH^Ec;NR{DHU$>up}r978&lbXD&S028#rDLd=h*#;JE2FX0H)97pR?JhY zj0%vj!2bX_t`p)Xh+&S(T{hXb&mh{^{t@1|j}PgR8N~0xj)J=Ah8LwgjQY}N@~GvB zTyfU2ui{ijE%!xnx3U|%k17$zt!diY{es<#3@{lvtl4ee;u)@+80;!t4a8*ELN9Rx z1^d{neKd=WLO(c;WE;MjuYaD;O*%Ywx4{zFV1ip`>sT6|kzs46-5m!{x4d60mt#0B zA00;@;au;-c`e&mPde&IE^ zwzz8>z@zRnV2?`a3~O-^$jX|@wYZZ()&nm#@{kyQHRx#TaR(SG;=JPe!aFT!+g!4& zGiPg&oxY#v-l_Ss*-a&%1m}W#k6N167_IJn%~lCzg#Q2(WPHDedg!!^R2KsC!#AuZ zjPBYAR#WZVeiiHf75K}k>B$wZi7bV}t{2aY;j!v_AIMj$X`c{0KYwboM|vX%_+(ND z{Ig#Ln`1NYb;q!&;ICVGcnDrxmcnkS3wYOF>wD>@r#<5E!$PZ_I89nxBPaKu-4-#Fye6^=+H z255*Lwcq$7!I$1CkTtmx+JlFb_OD*G@Mni~Z9Oez)7MkEBbF<6`&8`s$PsqelUUt8KqEO)T8qL$bc{NGM% zfCZGYO_gwPK^QcrIOCc{&UvX4KpW=9DeXFrGBHj`QHNfAs$-MMravbGr6Cv;!@&7^ z(gTn))}WelFp4ryrFs{FJUo`M$9ZrwGYo)xS6O{@mR8Lygalr>u3JqfQ@oQ=opF=4 zAV)vJ4n;+R*{nnxJny4N-0ja*qnh&kufW17p=HLZ73lsVBB zHt2RB1Nl@DX?`NS8(K8BiN_?5{E^RGZrz^CALG!J@G4{G54 zAoF)-4?usYuSe5?7Eq7&2lB3K;!5YkcLyB`pVqveMzCAiO1ltxgIzQ!tZA$Mg?%wW z{4Mhj$kmwqQ>a8j>Kc4gr*flV{{RZqwbk@(MM689DNkwm8T!@Xq$G*D-dN>AG77LY zPJKQ|f%#A4R9#B_;Zf)2>C&vhbtEh>c&%tP_~1;+;eE|vYhF9Jo<_FQ00W_y{3{~D z(l?aNcPE)69FoV9YkD~%RSK9Gsp60^z$5dibH`d~H514YNhAO(mDTkLFD5qD+=e*g zy=iFr2)B&MAO=SM_ZX@kAdRHCiqxG^qk)>0R&cv0i`@3k2MmA#E7~t0(7sI_gY9DPgTr&pUwXjsvBJehn zxA!hlw#|{WfrZbdL8p8=w$e2y?_s-^MM6&2QR(egHLn0$Yqza-m(oDZjHpmXYf=0l z@8Q+bjlg9<0?D_YD;rGkb?$*XO=GCW9fs19L6Co1lf)W?ns%7~0B@Eyxn(0NyFoun z@e6=%bpQ}&=E=o%cH?A0Pf#lh#4Z|W;{+DRZfnqVWyORb@^;rfNeUHzW?6R2Ev?dsaKO1P(J-16WAnOL;t*M?0f!rmQBjsM}*@ z%H1cV${7BAYUDmCWnbP{5P#{L;8#4?5bfIM*^G!V}pvZ1YvMbHDo)eAvmM$4jTmKpqgS^IA6-E z`HTVD#8!rwUBeeA6t}7Nhe#q_(z5^nuX6ZNpvhsUB3vOVPWBb(;o^WWRNxLm4r?a+ z#Bp03eTMCa_k?7M^FJ5(mR)O8hfki#tt<;=u4as{KhFBu7LlcQ(RKQ?&XBFX| zKiA>bH4z*($r8lGZrB4i*13aqwQ!*1R4sJm`cq36AeJVrBux0~D&#Q~8D6zyvD=KA zW_Y9rG>6)&&o0E^@@t^*K7iNrE#=amDO=^wdi4bf9C+!paa?|_bakysZD1_cksQhB zPo-|b6mdeTpa7!+jBshEC4mPRs`vMPOf4kM!jARl(KG6Li(E)aK;JHFZBzk{)mHAt z8=v)v54|?kwOu(v>G!U&4w1jiqw}pxe-mqvf3AYwQR=@bsb9wT=rHz5qyD;aRo}<= zp|G|pPi?JDK04NYlE;Y)92ZwWh45_*%? ztbhjt6`QY063L0JFNaW{?AaeUCI0|A?33>EP8iJu0&$vB0Iv6|{^yhCpw0#B6Is$E*lIAv_pE;Rc| z)aEt(D>_XOBW|^o;Xmv#U*$?<*KJo2-#m&xh0g5M4X$bk2)wje52_4PM!#+_C4yMb zf0r~qyJ8fw$&-$l#dEjXjGBbIa#k_gtl6w+08%sFub?LzPwP{nP1u^AKeVrQsYKTx za$1qECyZp1k9x<{^?9H7NXG}QNuoj^WtrD=jz(*8<6n5<{op4Z4{`YS{A#9wbLL%5 zcX1x#$K}ZAD|$=Ra7Nr#UZrmZ>|11vdme;WGjn5eVG)To>0cFWofR*kxPkk!fb0H0rF7bVjIDZ$xQT{1!vj^kx0LyjCgIm0iny2XB4S4f!-5TG-s(0Hw&b~v zCLKv^3Z-%5Eh^SCyHU531Eg)Z{*}k;zY(A+MUu$!o{anf_*a{2I<4-jaMH~rjK|dQ zK9ye1M7CYUL4M|^ZBe9C<^G-Nnr*zRbZ)L!o~jQu(T!SQxLg74P+i~8aSJ0cA*+zK znp->RV%$P8!3Vui)GeL~TOi<^gH@EUJQ6C*a!QN1K7F%RR{lUas%dn{c7@GKmv}s> z%}%!<07@E`IfR5U1Xa|FaNJ*tbFK#sP=I#~b5^Ibksw)E0*zHT{{Z#VcpW*Xf_h_~ z)S*f1R-xozAI_)T6da7yOiv_KB!>FaqJYTYbXw7ZIUKFMni(W+I2GS`L&A~i^G9{5 zNWOXO-35Clg*B*v#b(}N&nyQOt{1o*(_KypAbo3z@o$K<^_1w*!k1UmDa2UlJ?n#5 zrtn{fuI6$jcVgl!@SeiFdr-NXQ@)z&L{)hkaofPE{{UrY>eThLK)*4`sbhr~?yXL| zcH*Q?ew4VRW1a}4z#X`zNg~9Anz7-{CQWNl0|&`oT>k({_3H~rtgTWg#uWwyVR)lc zV83Iu=Hg$JW3ct6==MuvY7_X6B=;t?PdthZG1vjm0=S;sL0M@8m;sx{oi_Iq8$9y(_n5pe`zYchWh%PNY z&2b^d))>#w^sK)T=u>D3_R9$w?KAVEby{Ybdbg17?mE@%a48QoQP-_tc$v@Hf*$6& zzX7OC7BkavHPaJ;$69DKb?MfePaM|~v(KO`($`jvU{#AqV1_qzQS7A9I z20w*(Qv0U5&59?Qrs{qi*YtaHJgK@d)PtN>0{Dh# zj@b}4JBqa*i6J~lgjAwmQmyCR>hX+ielylgc;`gj>Jp%syTeLnvHDdSO}O0lBo;${=haJk~TMvB!C z?!d=!T>aX`f2qf98x4b!b6tg=m1LIcfq=)QS^mhjBZtVS<~*$V>yE*I$^4+yyTq52>R8fP2g?>RPkFQ9vF(X6^SS0lCIm@ z-bKt8w-F!uXEP`AH0doaq#r%Rj(eAK-_D_vPMr0VC+SqDws;2SVo!c5i(JHqY3omp zX{8v3B1f%Si%+J{_^rJ&O0$KJmi#ip7p}Dv5x1;mkG`ZH2b@8Z6?6!AR{4=)qIL# zMAA4^878zA&4VN+FeE(g$*p*_B-lLJc|P4L8`~(YPy}*Zp7h&$X=iP*bM&PwVUx>s z+AI`h`KLprD>m}r~-AUA! zd<^{sLE=qTZwrW;%F;P)Pu^5tnSJXOzANcSnP4~Ll?SDA-XQqLbu3RFlV*rd0!KN= z;a*tUrl9(%)J@C%u$=Goq||jyLr_2I_j1ZT3Bdg-lB%e}(AiPNB9?xlrtR|o04h)p z?oSjGk}x=@4a22K5D&g_NY0~-3{`tuIW-&j;fb=WdB$GX;z{*mkdWIxiq@& zq?&!PY>nh$MtYjW(QKXE-duvyzau@XWt4(4F-wjyMh`WM;ypxI*)bU2dJ5$9xEg5< z)Zm#I=bF|&l&1hyYrBPpGQ^IQz7^6NSi1XN=1sbvm3jk;(ea;%#+hy`w9Tt44&2~Z zA*JcheIdEJW_Bkfnz{>nXyV6~p=!#gDtB}pt1DN5S{Eb^mB-rUZzBNz02s%wTJ>)h zGk?M*CgYr-2Q|fbVE*lgy>tN3ds1^ju3N;C6C_GHX1xQ#Q3&))aq2Vr*3jmRd((i& zG&dvKxbGUOiR_phKbQq~+Ic3@F5f8rRiEO--=N+MjQMBzSI@ExKfWuc@OOyh&?adk zhB-HXdc6)WifCd1tiEsexU4S{d_%d^EneOjk|@|<=aXJ>J8zMj)YL@gkdhA+o7^9~ zLH0B?#KZntH85UIxx>@Oqd4l>sZ&#vy-yyl=s~S3ZxAx51PZqrUGn*BiR5-4-ePHEx{fjO#=hKCizL@vM;3jRb5^3zwR?V9D>aSlClF;(6x8-e#!AFVYl5 z97>BI^&D1}o~sLxulu(D0BF{PcPbI z%7C7mk4n2G!yqm8#V61T%`Y{?fSkJ%S}Ln;Z}L2gJ9fn^NT)A!B;DAW&%FhU6OccK zsd5H8)0rel!z*xoDai61U;{|k2RJ>cV!AuFu1#H8lnk*sq-(SX9(dPjr&K9&~iE5sI78P9s?Z)8h& zOS#56*Bp_yv8fxGK`=(&BAV!9k7|L8VwIHRu4$!s%~!dZVu_iK02!}8)NUJ9)i5*U zr*C@Fg*>>zsOj3I9cn3@B9g>bWtF7b-l8LqKW9=m9^GrJ@gAiHfutL2au!{L9)JLa4y*^sfKGdV%tuGks zOkzjUxc>kgXU?%W{{WVwitjX{e#Zen+!Y?a1L>Cw>V#L%HvPFs0S2s-OY+#e^TN*!yH4RjT2vrYrUG9_MOK3th$P&MyuByXNvauj7 zv|}FCx<$K2g;jBm!l>L!QgDRkh+|n# z%&JNCs5K29#&s)kZ4-aMMROXDf%N-~wW=7O+PNK5!kV_6>|#?qBcWcntO+KX7b`N5 zdxAL>5nbB;<1)cgBTx;Shk5|o;3jAoEqyb z>}}#+gFf|wBD@J>{6-J8kk$leIS-N!hzehN2s}pOic=-dV|epDi%%I$gQ0tPLb2i zTmkP))m5S)7^&`YRV|TZ4$ejtR)&cbGBZgr7zc&*sr9#q$k}cN;(H3nux~2u8G$(M zS1)FG^(B}^fN_9ozNKeyOHR@4LUUE1VH1PWwBukvHDWQiWb~jWP5~IH22-ar$12Ap zWQuYX>@iLaAv;xg^{Wvf{vne{(K9wNfl9HE*r^dcDYqs=5K;y`YpC#NhszbZpVuH) zcHbg)01D=HX`55I7O}VPhc0UEt-3)9#~&E)>r>|k29S|ZwlHgt@m``(8)&n+_^KLZ zsD><&$>y&Cj+BxxRV18Zv8FQWcWY^EI{oA5E4QjKC&F1OwF&HHW@}$<(e`icV{u5t3T@Yk% zts;yOQ}*D}9)_zqAm*A_(q|)@PijtcNO?78$UH74jDS?Ap^{{XbC;2UI=DWyxuF7xELa65rmy7z^xwMf|Q2_gO< zE6aRA;oH3;Qp`R~;5BB!c2%}YFh{LREHTWxhX>l0!%&vaK^(_&6Tz;U*6g|hgb-@3 zv|i@P(Bsyy^lRxO%q-P&QCGNxt1-wO>y(`eNI|V_E*WQ>d0Y^B;%cJN06g~`TGde^a7VY2Fkk)CTFB9h-bNU9Sxn{vu0kS|Q}Oj%!V zmNT^Vt=KPMwzX9pU~^pU%&l{B&e=IURDrUw#E5ripL*zGYnZJzu5$8snr1J{ zW~Mg&Rhr4T<<1DMheWf1tkuellj~KyM*>9%cvL9|wPGQEGC30&2D%IAW4*CQG65ot z`|(ZF@1v5~!*z^-j(gT#qiqmi*4ZHTrrWuMe(^~j^?oOgMarBXN|_=jr{_o6$!@$< z>ky1%txA^L#z7hMrz~Ux^3sJ+d(_~?7#SOZ_vuV?3t;WR9+ex&i^2>F)$qoc*Y}&B z=7~={b+1Ubfi2+(iWOI&tlfV1%8bPqGB+3@$pkTrIZy>(-uJk)A!PTrSa$)E#3!&;Y9zI%9_h!>0l_l-@WY2hISmy$Zt-f6G~Eb?I1Jjrbf{H?f(sdP;8e(irM zTYWC#R^eOnt*ETb7EFzuz*ZfWf3%_<512oldrOV_P7hs`n6Lwm<9& zv8oK&N)JCReDSF$Te($6Fzhk-)KQ%9dWw{BO5G~E4z$Bb+LIItM*35hLa0|fQ=QHR z4n;l~rMYENOJk*VHacIG0usEMdqz;;=Z{*7X9$c*`c`$kZF6_e-3F6Wm5tIN;RhAa zX%4Z%0I2*!azp?F*NVc?p;`3^P>k+jn)fXp!BWjuKa^v&SJ$kqULDt^SyP{wfnI5; z>Kc8l?e-``K5%i;vZArP)h^7DL}OBVV!aE(T4cI(1Wwr}n%=+1*yQiUc!s*gZ>9r} zoYVY2tVyO^?o;xfqL*LQ9{%LMa=nFB(qwUc5huNMJ}p3EwQ<~5SB53>^@wsw`LSIm zj@Tu{Zo7s@tv}(ery||VoU)QQ^siJ|osM>#RV_}+EkfDjxIn|)SB!YCO8(8%WJJ!x z%9_rwxFqaqv3C;5A5Ll7HQPlmkmTb$WYs?AN^Jo4tqmFF7UdPd1Ju*?2)y{& zUU0|Kv62T&g4}i$cTPT0Wt4BvK~r35)3X_4iwV~lt9CEuu#3w9hg^!cE|nzXl~5|Q z`b3coqHrlAVvGX~zlBWfj=7JMj%gxY!2H~bvl?-gKQ=HyrTO!Mcpa&SCGY_m?@~nu z?C%-kmBeTYkwuk*U0f<41QXJ|8$#1lPJ?2B&nB&EH)(GHW;i{o2F?baQ*$;+Zh+R7 zJt=YTQRBI$OY)49Tvv$hKG%8nbaE69aZa6b?@`qZBqV zTt~zZ3=t98g?7FZC;J-Q6Pzzv)4u_&B>Ecp=Ub1<)TdL99lxDZ2ON&IHbE4P#xqel z2cGpArkV+)r-CufFyf|yCYiuhCcBRhX)7FC=8SL88Li17`EUnH&bhbBoQ`Xl)k_Hk zOVpat(rrXgWRIBEMz<41bG(i{YR;W>On3*8Qfhgg+~bl3Wob7C-ufpe?yw|RyJ$D! z=E+_c&jUED9~)`9hM^>8-AjNDd9DIY2UEAW4sA|B>0Jeur+sRm8wOF+<;8Ux9-$@b z5i}A;M`jhJbrVT#BCi=7SC4CYRnuw{VhI>;>^juH@Qq6PXP&XJami9DID9)R*cnvDt=e8;ZRSUObO)Nc@^Q$;dAG!Xo1;7iIj=f|;^1PoGX~qc+OKL8-AMpu zj4XYHSFyAc#UruC1xukoB)!2I3tdE!A&jU&&2ur8x77-;{wjl4hh^IpBMr|LUfEbk z2_y{l6)n?mlK_?jp{Lryr*knQjw)?74f8Q5SPq!0x7M!EaS2d6nxwYnmpourhuNB2 z5Lc4DsWhlkS&B=?s1>~(gfZi4ZR@IiEz-*jhdS<7R zHJNu?DGlpV$0gJejreR-@mxzd#^64*lIia`mEyA%&fap_1!F@F zD~j>{1PBQJAzinHPy9*k@zZT-UVq2C6(d#K9t6! z9cd3TL4(?v6|_vOn*ay3HFW!AZLbR8_p9Sfjp6}RGI~^y={9Uay}FN1DqG(S z+g-#Fmnrn=SeG6Nv_{B4aqUZKq1tKki6e{$Uf@;x+m((I&AlQ|1-YA3jJ!0gTojqiFHZ=152`(HRQ zX9BA%4$+puAOjfZ-n6ZPeT~UlyWzthnCb`TTNij}BnKTUnLycP#sRH;G=zYo zjSW6V1*{NEoGkNN0-2<1&oY;dm&-zRPXfNr*wJ8UX>E8ZWIBA9Ad56+_kd> zU^dplxVMrZ4i0NNWC-NK2_33b)EW{M*PnWo?&OeVRC874fX(wbRXupBtc@FRezh!9 z9O1afb5gk*atO$*<}C9Zf;}s-@TQO@RGw_}$OgMr0TTm&E1uV{UP)5g0y!Mh>>^m9 zP(~ZQTO87yQ%_M)+&;uD=qruXCVTs`3CfDlw1`I_ElT*IhGvuk~ z9qXvOk_{J4+6t))UTqMp>R!UMHlf7DK1z6j`Y}}8*)WO zEI_ybR_>K&h}DRwbz~cW$2CU!+#NN~L$ueHugR-KM`;K1uV=9NtmDr@E6coG0(g)S z)ra-1J6>W_-xX*NYDPR7=DbNJW80Cmc*X**z#yO&jy~n^{0V~X~$aP{vZ+d zLB}~2*!W13qrs8dwr)T$w;e@zFO8ROw>Q2k1azmMH0I~6M%{5t$25o9kkEyJ%A65T zZPJiflGV|8b4U|5_Xizox3`TUja5L}DpEhYk&n)in+uY2#bD|;Cg$aBqB+UIuDeOo zW4E>dE(sjemo}hs2kBWCR(*KlxvghNS%Dy7y=$6pHp)$sDckE;5=iAX$TO7Ap397Qo$?g&XbWS%Rp)2|@DnMa(MJ@PBM(sZjq5|i_19rIJ_ z_LlKLN`S4{S06Nc?lO8)XFw3u3vczNv>pYKFhwnloj$o+xjR{^f(#(5FPDsj@d?PFfHff%!>K7`ksc#FkyT`NOw*iPrUt~Nz` znR0S#M&1Du1Ja?qn3J_RHFHR@C-;syJl9DW!hz{dBO#?XctbV0WvUKARM=Ge|ONA+}p>Lx2F!71AoM0UuhWsY49W5ctRyi(@~L zBOw@0l@|X1Cg`yL08~#(ZRByxLqs_}Kou-X%Mn)LeZ^R?Pv4D)ZfkukRe;MDBzn~w zt3eEyUWTNx3mo7+HlJG3y|;nw+vOcNtjh^R5-O90?^-fkDL8~@iiG{9KytVqwMyc} zkqnsuy^Tj0jmOS;sbW@yh65|sv|yE{04jk_lEBJ-Yy(whwwe=+lD^e`(kNw7l1ZuN zv52S2Ijmcl{HZpODS#1y)EeB-G^V_eG>h^I?(LvUc$H890IGVu@PZ<$esjPTm1Av^ zW|Nr@t!V`nCOD?B;8O|4YXe=pC0ZEUo|vr58%B(lZickuI0Tc@p$hl2h+_vG>!FI; z-%7J3Kv%|1dFP1krqu8Dqc@kF06WwYC-zhd`TgZp9wC^?!vXkLVPmN%(ggD`-HPM& z4-w4wP31lpJXW@csodN}B(k<+QNhJy-gt`TZr@`Kpz+0bUK-UdUrBqboCOLdcu*~QT*%Jw8jr(7t*}X$4V1kjlD0D=z$NCO^FZT0Ngx0LkxtVt78lzp=QW{qBvL6VUAojWSRq`;)KLoo`>6&! z>9fYr5a>oK{jKVl{$t3cn&D(zZ6s9@=0z!zFmcwdLnOBYB%IYvMF?!1d(!DPrt)
      ld>Vz!;9=;hfJhc+v_H46F|#wQzSBkap6*T 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

      yUR@fI+ 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≀W6cS5ayRIMI^qj{Xm{(A)w#4HZoX8!^a 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 dFWf}l{?(X{m(4)O*>hI>JDt(`x zSs14jj4BBcw(u}Bt;6^wWTfP1C(6v%Ovjish$&$f%NXsLMob*uJJ_5E&6=?7ui@j2 zGTdc~1i{c8$^}P_-hKM70LhxM&*zAR zSG|(w#|U0{7?bhdV%(;fzaBS0GlMCD?($eBakW$qv0nSVf0S-2BRJftj7{}V+iHq7 z89vi?7qLd)H;Js>gxeei5#qVo-PY>ga-)aW%%*L}=8g0Ay_dJCoGX=UY6Zi@S zItvZIoo`Xo{(;}(0xfezi>Icq2XeF))D;6of*V?S5};@6b{2+BZ_dru#KLn%HA17l1_b4|Ew@K z3icwfXOrDEYOu_MrnV`^O^F?yKaJVvm?OqL17kP68I}#4g1qOIN&rgke{|g10+aGl zqAaE**S6nANn>XFmf3VAzfh+KuV2*8iUe&n3%#@*P>lk*1bx%RU51sJxP~=GtoCd? zGz!MYIY+GGI-tgF(?om55_`MFmtsE%Oj4?L?6i=83J0fPL49D)Gn@3ZLx8-T1{IUz zJ=Shq@C&p421p2_&cUw0d8$7s*g_43n{L+){v$a8ahHmU&>EQA(aAT^Vf24=b5NF7 zwlTM^_P=r|7kU$&gld!WO-T15Yb(SK`ue)VpP9p8kvB672P=W?bXPxiU^>;#asq-u zTrRBvwhrJrjK(~0%x?$NC;mq#V!WYYJij`mSRZ`F5D3?X*-+X6m0!Mx1aI8Q^*E6x zJSZso9n{yqgb*Lg<-?FjgN)L;M(R1z8$!>60FpFoCk6FmH}+X_mbrm8YY&I_bf#|O z^DdpawVdWz6ZpL*V~v>aV!=12CG;c?7ZLBfTJH}Dsj&*LbClgk*hZq07$!xW^ZNkq z`)AYcw<03eY{jpZ63O_qnrI6}SLmCGrd&HxzuTyb2!pj0$s^Tv%Ka`L%m_0_&z;c$ zX1d`M4KrYxDOyG%#I*WLeZ{WNB>lh%Ok?o;6vrXld4#{eMP1-!A2Kp)nDSx>kJoUFY)w~fRnOS(+I67GDKb$vHk{^u^U@VY@j zdF;;g_GWLRwo_w9h?$UZW(q)6M)U9|2+zJcZ3ETZ3rMp?T<0A>aN^>tclVj|w@j+N z2wYaSWdvhzSl3O@wg07rlEzb5uKQ{ZtoXEA7!u;do@Ed{gS2sh%9xXpsQ>6#9L~*0 zW-j?zN^VZCe}!*@4`KLa7d&7#GeQPCK|xo~Dgp)lISbls@mo;R*_4Kgq_fZva=5qg z1r0Ud8k2PX2&WpAXc;ZnqpVQkR8&N(|W(naL>+J*kTAhgq2z2O{c zB^rO4$tc~nO#@6n#X0QrN$3fmUt3F7a25cnV;`yH*vMvi8}6b(Y2&Bp*gkx>51(ki z*XH4X&q=V`&)Pe$Y%*v#rCG}Le%;CbYS1(ys1md;t0KbnS61viM=^s|yTg;LSFM~} zn*J7bRD1U?y;3Gf{m#106eA!{d~gGV`{h^vJbdi$6u{-2P5AjCDSo!;L+k`L>uHahM#-0(Cp6r`vnP*#`oL1P(%IA0HIyBx_)^?e8P{oOS$fI1k^NH9ggr0WJPwSI#Jw=YRaV~j1j&Tm1o*- z?vCX>CzN9auHg}Bzh|~Gxxw(e#(~+F6oQ&pn zSiyFXLyO8TKBS@ZPo41=$hwSEKQGo8oS?|@zdo63-JPzait(xcarOP09OYK01fTta zrCr9=U9fd1s986bPI7&Vqs6ClRoCl8^70mrz)p4Jmjl%8kU>=5lkmY5%tsC~Cz>F5c|Ww&7{4YaN`uVyR|Ea(^7py6(xtq| zd;ON}v%&#Lb1=+)RENG6@T>ap<*7!-N{toxL#+2di;p z^s~NqrU63?UW%fs$@0I*-gn@>+1A~7B@a**%sX?PySVay}1DBI5)GK zW}UA(8|Qrp5VW=Vy<+RVmxob00d=JQs3fb& z|8TDM8;A*%$|_@C<$ruqd3P{bT6O@GI9!6VN%UJ1dD=&RE=8eAeS$@fG&Rme7zW?Y zpc$&tGe=3JYmYZr9je&8(*KN@6iVl6w9edeeEU0pnI{S-Y*leZv2!+4S2;;9s_*X&q^;eCJq|#qY!(&1<>$3Z z$I6Tg7ktJhvyx(Keno%&^x=wAtBk#phP^avIyIGQ9kVwSiTeKJevo|s_&#edG=sy@ z=!p+LCwjNYCZGm`UHT)Qu979sL^dcsq%Qu?^(r@ys`gagZ(AS=rvVp_z=`F%p6j?~ z>`J@+8=LUwg%;B_KA-MPO`5_j>(XFC-?#Q(YicXZUQRz+9T428f2sMX=DgEU5d(_3 za&kQ%nF$+c4jg9whoJ|WAcE)#)9JJiqKnigdQIc`S=gQHPR191T;;9o`Wid5ME!k= zKyoK1eN~YhiZ%Dg7;HE5U2cL%|K>6@I9K`yz4>-IC2WJUWyec0^AIXBLv{P}?(4QW zubc@`2JzIG817V`_ZJ};Dn9V*x3G`uF<9(|7!zp80C0x zeJGcX{jd=XLy6zpi`s^Hv4ftkid0W2!gKyc*Y9$SjoS}-Z9Ttt4FX%anJcYC-uTP0 z(ZhPX@2PtuaH{Wqv0qL^rj5YgP>03`W$>uQO_H*g%}+(P^D6a?F+KRJrv*Q)c%}7Y zm7QheJEmf}b)~PfhyQt;t?EYcX;#$sYM=OUI||Z}tH6pMC)y*Re_qvNU3L4L7isP2xUIL8{N_C&}_y~QAd)D}@u zEtFD@2TupJF{)~<7bSPuSYizKYA0V0#D5l~~aYj5dB^-wf@`u1oe)!8@1Tk}!Z0Be!!l$QyMn$V?jV=+sApqC<7&c@Ke&ubff$y^E4* z5DZ8c@#e_;&(MUrG8XrhQ{IW}TjuvCV55-Y#4W@&7x13{0xf3wkH&y?yK!U+&=l6F zmJB{bDbDK&GkNS%GM4?QEZkA=HY^~p?q*Z2w&*y6gI1R}Mo$2DGeSH_PUwq)H&6|p zmgBhk;8q*|L0i}EKA=#W+c!Vi*m>j9cj^FCkdMSifN}=Ljw-dshyj=2($OBi;q=!Z z#Znp5#;Xf_?R!6)54&a*|LZ78s5mOkcLzH>2KtC?f`Hfq-TYd|cAa#C9ucgOY1VjE zr*^iO*fw(C|1%LjDh_xz>Hs|2*ZNgxI8f+q2!WxSZF&H!-5xo;-_m+B$jr}^ZzM#T zkkL}8b#pO35M^O%6bC5j6?POqM63e}P??1WpsyfL|D$6LktQy6Q^2(s@U*FxV(Z)SO zSy;LV2p2K)m&->85zKm$-Fj~M#J1btiM9@>BVR1v_Z$e6mhx&bHEK$?^>}4p`YD=)#=_^B0E47Ob1{s^b8oGT`&^Df8Ad)lwttWiS2%(pwu zk(-!s)eM8T?RYaAmc(hqf33y)k~ub2p*+@kxLerwI7%OTSp2r_2HB&Kz0H_tV5#wl zbfaY0y9M=jo(vF06DUC-@6h>mc1v}!;TuHh`K|j_eYBDCEhtThYFsjwy%6&Qh^G2w zdwHrWiO!s65dT*<>I6us!I>)by%(MZ=Xm+`@^Ek9Rdg2lQgGX@}27ikKn= zx+5Na7<82G~LQ$*b&-#jKAm$UVTn?GJ_Cnyka9i3spOtyf{qNb8>i*?leNx@q~ z>7~iZ9xouv=TJ*xYJ>`%y5GtN77@rgO-cIchk*g(y(`O{hlOfC?7Q$C2{ax;AK*ONp z`V5Om9kj1EaY)m{Ec%~Ndc$?y5H{-X@=eXzoi^;(-uqt`Fp_`RKjZcRqLS=IA;8K$ zZI>}gv&hB=`oD1{99ClduFe7h?JkCKIk;$(T@t%ApA-pqdAl0U^r5DzbilGN^|KPn!8YLLYr~tcOYH0`&cXqhY)A= z4*+tRhE9H(u<)Z(ev#G5Tf8dY}>M6l~lu#-*0a6;N-Qr1RhnFivbJ z)y{n$DEm~zuLW~i$weJ|Cey3OL3sgw!u{Sgj>{(?& z*9y)2U-grRpU zhS;vq;0Q%I<;T<7=%f;du)^JYy#S0lO2CO0_O58tjXIBE*&AGf+9|`Ks~Ot46P!2B zJ@WxvX?*sGTDgoBzykV&p-)l$$pzOn-=$%OcffKfI6dZO&tLvE#Ba;FA$HTeJzN!5 zLK^{^lxO}-R;_6RoSc0rQj-v@sXqJ9Y>tAabvyHBI-6yR2%^aF(!WFq1 z2Xi21+E|d%H(*^KIoFv)=Oz>U>QG3yph1?Pja1#;avnNmcaw{}98i--#c!0FuZTGmT+DhtvHu zVJRm0?a%vz#&}f5*7c+bKa2Ok$E9PhYm>bgZjJ)~rj*+%_=Hy0nI2@c_PwF#QR2Hh z>Cz0w5&7;&77{pElD>FdfX`OMPXl53>OyR&Ve9d8{_T_VIwc;cn*W$NuqSN+-9;jKvi zwZ3@N3KOGl4uaF}k>%^lhEM-}yvkE#VOmuweP-+oPK730u7C%H8Dy}4ZLZ95>SF*Q zRZ7#${eh-yyAt8k*V87Jb6*CT95)@lj|2o|Fz*Z9tI{(3NrWf;qc$Ehj$VLmxB0Y7s}mIBvqoa$nmI{ELqeI-6yQlVjt)?7qwn;W{q z6DGX1ZfZ6RQZOH!F#AaFX`1;LGg}c9Z?hxD=Gg&y9;a}V3FMdjo+ThMaA~-YEI%?v ziQ^wj%Tcot;SBITRAR1Lfo!@d5&%5M0COc(VqvH1OeqjLAak8jcRPsnBmwOUt~*H) z;f*Kw=w^<`v|EOsmtEVw5g^hjy&}_6jUYR0Lfw}i(-vr>wBhkEVe!qnY$lwHN6Mp* zlWrDR&6f#~D9#u=s~1PTRz=;**)!3#*DH(;l9=pO}5qy)OW zImiqL&ke*{AY%LCa&u;Ffc!5l9FR|j)fJ6XO3j?V)~&@s#HRd#KHD(95M!@yO`B_q z;wR9MpTBy)Xn0h#osUn%GTufpfypmPD!xOdsG1Q^dk%wz#=W6%j$f1Oh~lj_(>kY@ zJVKFTi$7AM6B12DwKQ-v8^W@K_|c((nLY|DjteWr{Sy5##__PdFD=mE?U6J=zSh*I zz{9(`34IU&lg@QRv*l~f<$E#Cz8WiwzB?tJ;y54Y>T?8gV*L{MamxW%%5Bv)ESP=f z9Y545>17u6e&-UigecnK?<^h)(~ZmerXOF?yGASQwN8=v7-1S56%v4#hUq(eNpUt2 zOLlNY>r`CWKLPQR0#$y{Pud;z_@veB%dFM(_K#;GBl)xL4{hR1B`}EXQ9-M1@iqpt z7^5u;Jsyf*J_i~r>dw(6GPxTA!w9kZK2uvuHogEAD^)~tNbrk5cPUP;XulN;AC-9SFgmJ$}(4CFLyErbeY)Jn|Q zGFO4_K$)1vfJ<_INtfs=&!S9CwUMl#(RG~NaEzrm+`+VuUnF;0R{mE%9b>6+OdsjS zSZ`clXe9|XbwDMO&PK<+-R$p2x=5V&+x)J19ZITbsIQRI&zg32(tbgaOUgR`k0>;> z_v?0Uy(hK#z8;{DP`*uceM+(*)4U^A1H+OsZ_rzNgvGaZPV7i^{yL1NiU*p0fxs%q z6Y|0FbL9J3+;(iaRQ1*U6g<5!*{|#!6kOat;wSw9KyQt(f%D9W$$91{B1YDc4U8XAJpu}(+;08P^EITC;7e53(gXGZLi~rZ z+~6CXo$)b+O#+c529$o{5)S24%SOB9xz_pk;D>n|gX#G{MtAk^!X&}*ahLh1Li61L zi7q<@FFZX*y}WVng^gC+^n4@uvD4c<&-Yu4%IMmD(oiJuWwipJ_jSFsc|P?D(D9kI zU1#Re5K@ZY+|5-j>L}g!9_E^MiCN#VZVIh*#yPO_%pSpq-WIek-dN^uPk9 z$67OXbwKfvYncqqP&r6nsTP6#Uqa>z9;taEHzR)!%!HLpCJI>PPb-hig_lYMsYJg7 zUW&@AfNU02h$uL<5QjrxfnSB>AhcIh_OT=K!~RU+)m7bi15V+XV!EREcu$fX)-r)E{!06Dt2K#T`# z({9x%KP}VZwIYrR!+SX6Fxcc`{rTJ#MshCTRiu5slEQMWxD|ch~gU~c%#tG*>4w0r_|PtQRHug4b`d; z*gPmpc`GcH(z4E&-V>~rykyPL`KIbnKaxW$?PbWL zfk&%LRwTpeb+9{fJ!_PJ* z+Mn=Kj*!D)8@%xa1Fd!1NP~d}0zk@c$%$10gGxoFn_>56n`tN(G~%rIH#=M)^4D$< zOp=i)!#H+nSu=yYMiF_lE;*RFyQW^+2j?)VG2iDoZYbff+enPrdhIbn(DW{f;%sX< zU=9b>#z|i1Y)~8oy1pm59zz=KwfP}JkLF~`$1&WSFrCMmxHGKSX=(9!p=am1PA>Gx zNEY1pHX~U~PI##;Y*oosED5QJz97;mi-^mEBQIE857FlyTsVq(+kawLs9wtP#E-)8$J?oebntONal-;UhaIkS;mBxotrRIj4{DJSiiN-*L_F*@UgiInID< zZY4GUj$nXucOS@Q=-|&;GXCJ|aeb11uQ881O(9{%xKH+@LWh#=4$3aZ0$H%x|J|ES z$%m#RT0CXS8#g6|r4xND1IGStDs~o7*_zakv$n-<6%M?^^+P)Sdx}&1;K>~ZhjPex zhqQq~uV*WnW=BUHal*f~1>F1wSzI$4sNN;!%D+UJS#~|i*8Z(9m#>05*Zrb;W9}zn zpV?9NU?%n%4*qXbeIh1Y&loVOybc9@$}x<(@^0FH`c*n5#yIhsW6t~YMUxTs-}tvO zHW^v9Ry~t}43CCKePh*_{o>I0_RG`zXIe7WK)Z}`H0zh?vR`X*JDLrq4XLaAe?pPJ z^q7!4)mi+Bch^N{e2m;5jaq)uzZm7z=9A`A-y!=<%LSD8DK8Np6nhs4wIr|!YiTGY zoXZ%Dt|XxWW?=d53)Qv5W;gDiro)v&_a~1eXMuY9w)tH?z{PEWxOn+R>RIBA1&8eI z;D=a10b7rK@U)NL``;k{Z!eZ#7g*#%UD%(kQM`$QFl~2G;S#LE6njs)ZI?z^%2Z8m z@wb>v9RM2PWm>tB*x4O184JmwHh1#s99c(yWoW0W`TQ{OzeC3F`}e?u$O8yc3$S8i z44Ss1sC9*b%YUD^)VJRSXq%6`przTCQ7e(dH3QprN2gyLe>(%&leF=E;)x_m>kMil zFDw5>-Tn^Y_;Nfd77jJBJG1~h2tT0Q;5mQa5!2U=exCotOJRS#99wXCCsybI7y9_56kPytAz2f^c^*`l*d5t7!3Z(e*yS(SKoaOD0l z%1H4Zm_5abrKRKwy)Tq*(Qa3OUqw@?-}q6SK2P$w3*WZ=pX{SHjOFsD>{B7_DpEy> z&o5*Rs2#^ER6*L7Jf4&N6MUMHoLk6@Hg!xx%V&!RlE(GT7bfaj4-{|5$aD}|WIuG> zR(lj!ZfUocnjw=V!jo*zH6&U(f6P;~T0i%HG<{`Q)9w4WSQrQx)JB*uKM-~TwCcfbo^$M(Ih^ZcaNc=zM$ zV>S`&_%obuK2H8SHOhftX~V$`kn&^E!i%c`K7bdMZX?2^->MKCe{4&L2=_+aop@aQ zrMhl$C7}Xuz~9$cq4mJkWIa%>!kg7n?CQNU=$qXU<>)!o*YQB*P;IX08!|EV=F%}I z3l5MznkzN$e@6e-JDtc(`2j-qBLRjWty%SZcrnD6Bo0N6+O1Q+2oHNRzSQYD9$}X#V ziO0)jRcrp{RmFnqvj$6gH)n(=SE)VA_iKGxBC+V61F9&O(C?vo503LaEJ-%Y20<(P z2S1up74lgf@1PH52HtfIBcyJ5XFP^m0Z6* zbzLhEFZQYX8}}zTeH^wwTJyRf(_2(LlO$`+$f~>e9m`kfKYo(VHoTW(HfV-pEpO1w zo{j4|Rp+)Q70qIPY&CqNc1oVkR>@UyomuKPePQer{if9N*R6Luxj|4z{`UJuyOu!% zgdcS-5J$O_t3Yd+qQSgta_thq#eb(}X>N~*cm0f8AGHVRnQ4@Nr<`^=rdGCmxj3ND zf+F$fYMv9a8U5-UeBvT`+EDXb&iWUA!TIF)Q-k;w2dy%b_{N2k&%$R#w(vWhHrFy+ zJ;=l~<~ay}>8&!$t?m3WB9`m=rf&3<&bgIy>ksZ;-Dw|R^U9fTz-Q7AD}&M0SfX*Z z`cG?^r@P}u*K3w-VRP&0IxP_na(L2-+w8cB>@!}3p!(Ji7 zG$pDQ~ucnzeG8_U5S~YWLju_kfxM6ol9D0O*A>rtMroxYoy9nlZoofsAda z-pv2ZzB1Ftj{u1sFd4q87l~XPbkxHYkWOL&G{sqycNici!N?NFK4LxSk$iYbt$CnG z#qpZ*fq|HuoHm9hI*&xmZtj|59R4BQIRqko#DG;P)= zC5x{!vWB;JQT*I@&Q7o__eg!zf;ck&9Jfiau7A^5Op#vsRcz=N7mas%kUVE9_++QE z>r0Bw#F**Jd)iUS28BJ^qPROpkht-`B7HEPnz8SrUylumAtRJ{@ap3-DPh%#V1;UF zj>9Y0L_pa|trOdfAg$D&b~&JBymIgP*{bN#+`?a+DHrb@_LSN$?1Q6@fS31+~t@lvvdJ@HJT_wT(Ynb6A|#)x&wT zzWr|_&afZ10GCub@H?HZE@pfqrfMci??3sWYXxkqbA+P_%y-r)(cPYfb*&+RR`O*5 zxLmsapRSafrw?;pHW4JeokL%;)TQO0#2qAC(wwt|?mj#bF|jxPfM$lK3K_*nGqlwx zCqpAWDiwL(cu~0tS=NoQI_m_*SKD6Ebcv7HbMBbEt@)f~PZB4oz@j9N1OuyWd!BC1 z8;;I6ZSTGH@i%oTiUO?U`A_n*Pvo;uZ_xTxCv9C8n6cI6AQJJi&q)cf>7~xRkE;0{ zd6Peu+PHo3zLu}@3(vRWUB_H|e$*>Nju{SBaH)n+ma2|pbxqnD@1YFwjmIS&!b9}P z95mI#$V&O#4utrH{cHN6Uuz&!cd(uq4EFtM>4+iME=fVq)V(#m>e7<)MS>|<-m$=2P;*>f8T6uGo zYjO^f?;V_kHBkZGS zByMQ9aJ>(*>JFmOMrN!?Cz11UhoKjexM)tlCVd|L?`g8fwv_OI>e78!LeQ_e*9CdU zhWHcI*F_}IL=qAor3B99R+H#~4qb*XT=If~D#E8H`t$%u;Jxn51B_7v<315se(E>a z0_FH^a3S#5>q>=u_UAoLqB;F@}jL(A()JCOyB#VN5`U zOt}aOa&;)L#@lr@dk&L|1-Pk^$MRsaVJN@)SH47YBFHd1*$@qXjQf0CV6OJ_K%qd} z+u96q!#4TppS{QutC=e@muA_vSJWco{^l+n8ya(GvurOH2{tQA^!V8)+*w)C#$&=V z>{SUz`$U`ucKu_csY|XcG?@{Y{MCD zU%~2P1k)DYR<}4w4`cFKa*AV`Q28C>&&JECfsJPfV^7;%sT-jA>`G0ZA!|p;X7z6C zggqT6jxhX5YVKJ*tj6B4YrQq3yEQmY1;b$BC}E64#tIjb%U!&K2$v+qH2oghRstY~ z23dPjuXne1_fnvcWL3LRtT%ECufP4F^d{PIrEBI?jYcYSJpWTohq^PNHY#`QRHHVG z#3~fT)@+x&a4}b|0JPrm)VPGLc4g}Dqs!Qu1Nv2_Tn&WR$IP24L^e0AUI5}G9Vb^l2C2{ua^P2Aad zRw=b@i<5nQdj`8!{qvl_ZE>aYai_U#F0N0C90oF})>WHY>n>ksb%fg*Ja#8-h4Yd2w8v9Bqt_eIz<6?4(wRM$_SLlC>r&W6%pG zQ}3PJO|2|FdG^%a_hcqyGCwbwL#2{(;V`B$-M-W$`$< zE5hpTG6L)aJ<9UB@4xH}`s!Z1xFX$mp3E6}h3YC6Btk*;AKS9Eh}dp+e?27XCp#-X zi#e8Q$9IS+e#|Q=wDeEXp`fxRecl2EbVJp!kwGxwUGdZ-iMeC}($Q>&LK1pqzqz=- z)%VjJ#~h7)!N=Do3Y;DJBR)E-+Wp!C7hcH%W$_MngEnw1iU5%z4Smqw@GedVa!c2b zKkG6pS;g47sQ)!k5>0DnzNZ1aPqaQuRlCFA_TQ;!M(w+$WmoFJucelKDN$O=KB>X||i-f>1!gRe3bCTpU z?%W6V^y2RQDdDCGUY}>xJ8EzL$_j)PVTD%vJ@4~miR*msE`a1BJWV=DCz|MF?7yj< z+V>^e&cV(<-rg~3lU2WVy4uU!z%^xv>vsQ@*tn5Ha%4wn_a~8Q*9V6~yM2Rc=rn|A zIrV1{iohi4@9{@ve6RGyq!#mEU%u8phVSE z8>d>*k?MnlOGR78Ut-W7>7AN{Rc)nsp{VNN5lk4%^LfHC`i(aJ1U`DXPv*ph*OOsJ z!EDGFPNz6ZK=LG~lWy6U%Lp4VNMOZ&?i1nqOX)&%IZK1C506=(EM)lebK#df1O6l% z$Fm#D%moSc+z8|-EqO>UPqevy**uN+g!A5DswWf)`0{DY?qo9`H=(@A_Q}|5 zyHv2Yl;d7`<_ueWUD9aQI&A2L$!bb)ggoo^lCd@eLFRF#H&^YWhQCMV#Vrmz@ObT< zKI9#BJ_1G9R8OAe%QG?}yCXMjEWSJdyMWL-!szm`VgH85Yfp=&(R;hSBJf_4>Fc!X85nyzF|-|L%;nDI;m>LI*^=C$x^9h$^LAy zJ^|OC%#HVx#F_fgJUzv|iE1B_$sTiPTq#~?b-}P+E*RbnOd-T69 z0}(7Ry3g$v9QEusZJue8{xdFyotSanV)x{c;$gjim_9UbwHHb?obzFh=m1UbKPIeK zf(nD>U~^3^o?{X#VFGy_{d>kjp?Fu%+_4>$osN@fVOKe2@Vw)VTaJkW7PjinRdr;` zpGlX)R}9KdN#i_-cR_6qDSHuC6ZhfF;Kn}4cZ@FXQPfR*lga}e4XaJQwJrZsVVM?| z-vA58F=qEq&!$6!JvDXtq#TzIUQ$5{eMDpnxBXR&JbEz1&iL&R3%h}2 z3-YVDfa_59K)GT~drP%8rGbbJWIypyvE6xp za3VsFJNb4%rAPTAo*pEA9vsttzvP{k#aoQ~S-a>q5Ye&zd~%LgH1=gJX>8DYTWXW8 zUf8ipd9b~ZZbh~>^gfH%Aj0@l`{-KDS72v6Utg2JR4cCZOQ}KT`G0Ze%d!1#Y*)Cp ziFRyhA(KXz&!}S7Up!yLdRebTKM`%}G4efdz?!KGeSH@e+p9`rl=nFE()yRqRfa_E z-SNba1F?*Q(70{yfEYgzk255J;OT*((&u>6-;Zn@YrF)zDb9<7X`^~ZR`5mW;Oe+L zOAfA_y+6WhEau_n<>TC1gU@9O*%F8Aid@u&@7r&&fw33{re0D&V+L#!{^eMoAA0%- zW);3(j%PQq)KUjElfKm$MEVTY%4)4mP}>-udVLSfg-Ys;?@FFI+hn_2-f~#cllu)wd9mcTOebqb1l8dq2p(B zR2HCnZ|UmOG!iZML*5oQ`*i9{iA;CCLNcMuh2F@?FPI^1`!htuaX04hql^Z0;x-Ts z7~?hyQxvRz=;+vX<0Q-f-O?Z z8jIwXSL%nP2sjQc54NKMul4~Uj89Yb3os&TUm?>IJVmV|GPaJTuqy|&sn6Tm_P{-a ziFGuys-IwQy3vU$X~WI}-fzb=Z~NLHK+r{hU*Q{wqdzm)5uM-nU~KOr@_2T9qw3V} zy#U~#9^uksKW||*K30<)&3v!Wu%@xr<&k`ws&h#bc+c%02UQT^Sur%W zpL3M0bzy7#FbJxI^UD6j9W-IhrWlvcH;cfVyFM2nb-vc5u75dICS2ktX>|Hqntmj@ zr$bp>9tdt*-WInDUKMV-TadId6(gVZi2>K)XR#8fEyXrUO~n6p${61rl&bZ9cYWQ> zs_N)(Z-CfL4v0N!AQ-h6u+@FwOu8eebYe1&@s*^zM)45p3$!dYtT21tdCk>Ez_&;x?J@<{Gc&ypvy2z7^+k>#Hc}Yxd zeX`E<_6&%)>7}7F1c;!DXUWfvoVZyHZ{zdLIG88ZAP;>a)WNVz&w8X?dBewW%Vo~2Cofq;iEUdcNEl#~9 z{1|9M$*C*Mg?;}0lYk$Rnm&|U^U$tt#XLT034NcX&wBD{JL9+Eh?n8uT2w>>gEX<} zf>zYoaezv-j;>;7*Q=a9w~KuJcWRa3dnH`*S^KzrQ%LEK!SVoeowg0}@j+I$E%hC1 z{{1Yg2Y#>MtaGM_CFLCu3KUp{KYBR8(ywFByRl1s1*Xre z&aJ;LbU^&gj6#Ju|4-C4;Wg*7@W$-*Bl>m)ac$hI|7DlSmJL19OtZ}SG7!G|0Rfrb zw3NO&dbRzr?0}avqHbSI)_vsOIPv9uAI~hC8QHI@1+L$_l<*?Zjgg;&bOR#R%U}A| zX+w)yZ$$PKt)}FE*K!xF$U3!z3+94)F*OW!S+okQk>WI$PNz$PQL&-e=u|vrbjeRexkD_658vLhQnNYhx74|?T%=F=(w^L;`yy9xqR>5u2 z#hrN;JseyIR1Po%en`Lr4x`4t=^-A}$L3g6!4E<^6o6-cj8-cS1XJ%u?WK4=15|T%wc0PgS@HznVVT!tAavmj%K3&XV`k zA~_st51X^zZB~EY>AGtv+~QurxbKVZmOn%0?S&#aO~&pwQ|rkeTFu9Cc&mhoy}qa? zpTBsFdVV=&*Jcn0`_vL^_ZX)s`EZ^+!}icEWxJIU!bnEd1Vkrr2`kc>9DJyoabRM? zrqr4j&1t1+iF68JB@5MyLUc!HT$OgZe6SnT9a04#_P;5&Ki znL0DgPj&Hp<0+{w$2nDM5yMu{nTpd<&hhlqui4Swf$QZlv-1rk`TH8$ET)G47@PKZ zK40is+#~2n0&S2E663~ar+Nap{>u2`3$s6kB^a`CUV`14{{U#Ts@{Tx6pcz#NA>tn zkAbknSBw44p1L(h&82;^nK!qm@Pb3Vlf`cIf|HaoBM-06ZAzmA!r%av+LIiWD24RT z8L(u+Y!Nn5yT%`-Qr10=3@&Bk;Yx`dVbO2q_FTWf%@o8xZ{L3HGu@zI#+gCZ{37{o zj8{8K^qn&u!OS5l0U3l_yTWqGvYn9WA)>Za5C3Whw-|F!X4b>Y?MF^65BSA<=|57=hkq^2P_j5? zCE!X3nkC3^rqIVerQ%0Vnk2PK-}0vY&r(u%hcqx54w^|4n%4>Wjq%@L`<}yra;Oep zUs)jtKs9Rx@F&;R57P*G2kDZsrP}}TZR{O|ocbHXt8OffVILt%5+e#A@JAhNr}y33 zxqtR%&Sc47RufDo_b^KmV8q^jA^iX)-k*j7{J|N1m&%u`*Z=dpgvYR+d&N>0<&urJ zc25_wbY&)or|O?|;ia+3whoRkgaWKY5StA-Z12DBkkBj&FQWKFC{J3%U3=*j$fO${ zG;7T+V(@L`KTf2x>sk&$Zk+B{q*h9;`~3!?NB3;`(J?HS625VfZgrLMjFbCIP|tZJfjAmL(OvS-8wpYHr6)DhHvmQ@-c zhZGXAP}^n)-agVmmq;9I+2hSz@u?_;WH9%1W|(M9Gn#!KNGnYM+6+o-cKe)nh`u=^ zDa{Z&$~%A?DfnR2jbF)>xr)-KEib=#nGLMucas(k&lRgdCovC<#0TRyzm@)S%Xi#W z{zdI!P&eBBZ=_!5v1e!3me8uI;HP})4}2d^`v zlQR2l@dH}Nv%_0xB#lKtRx%d{C!Kr}^S_6rAeKD*_M*cb07?`gzB;M%@027yafAs& zsl5^mwv`8?)R@84%uqEB#ip7FuygItF?Bm?gJg@#>2%S`tKJ+XsvyDG9`Yr5oDoK1 z@4i~__HjNeZu%Q{5te;=vD2lGZrSVlABvXsn0%#Sv07{V0RsLA#lr4%STJ;*>Pl@G za@@rR4q_O@dt6G3lxgblq+_e(@V31{4AU68*Xv{!u|e!r9OIz5T0)G$8|6zYb7Q@1 zuDbsxc5Vy^3B-`U(3$$wui1y56Tx4QBB6#M!Ti+*PT)Bn1{+5i*f>N~j?es$;Rt(I z^`7F<3qpnXxho!8r^wxMHhwS-5?%Sxi8{BQ)!{nd9Aoy7bnaDmm_(=8kPphNm;4z= zv$hx~d6E~wr6K9Gub9#*QY;@(9<}A#*JO5D0i7uCi!;f}IfB^!`VM)ebX@F>*!6sm zl=6&&hxwBY>~ek8h_Gp#``smn0_{lZNXe{;3A!s}iVR0lTq2$W-8kN~375Y~`uix^ zwp_}^u%Z2nl?YQ|zenTaeb{1mrW#j-4PR#&(hanlinOQA9@Tl~ZRse&;%YM1Wxapt zqzwA%6>)D!v?QynP^tp^lwTg!T3GeCxM%{;5pH+eW8EZ07jF7BsTtw;EcCkTF4-}O z=zf`R{=W?3#k4uZ=%2tdS5zr~@x4x=@&-7WfT(TLH2!=0!s#cy|4tQW@I2d-PO70l z8ABAuK5Br7hghihN-a_9iH_4;zS?E0od^L~3|1STC>EU0iTp6-8S=@W5jG3@PZF~r zxON}9O|@f#EzmlZ_ZeF&FjIi-7FB)B?W&5N=+96)WFcElWxOGN3zU>hHnH}Iv)F$8r3zY}Pic!Jv*(0_{BxFgnmOU9k% zRM@M#I&qMG%QFai$NGt0f*AVe;iFsp%`I=^<7tz|7iLb|$^U&jULPDi5GIv5wQ+DY z#B|K~b@rqyVE|#jabQWhG0=6i(4%Ok`#fkjYkV?Q9duPDCvvpDuY7N=2c*i@Kb!8I z?MX`Hmy>*lUvIykv^jRmXrUV`cB_2fqe`!T)p{p%ZGAO=)HP zIScr*m(NDkPXGQT_toDf{=AS4=qTBhoj=o+;c1_@Eph?u7vX|RTtpy_H9&bT=hEoq zLWU@xJ_5D9-jCrB=((jv- z6rCac6$|9>H_8}%xm@tAvlI=?70E}@9(Y^E8Rq<7*5yN6V`q@dMqIae#?#JO{Acm5 z<4tiXkBrJM(f97V>nU@8kuq^%sX-b!8~YrY456T6BoLG?3jh4 ztm9lTu4=7M{b-IVmTL9DWgl=vKLZ2n@0mE;m24gxCSp?NfnwsnQ*DwSN7*((;(+!2 zOSssilZ*c*w88d@fU#Ryw#$jK4oeC&{G9@ z%0E*p{!4z{^>TiKgoRd>(X(8|N`{ChTw;%uLVe!uc|@A0)t0kEIKAg03-2x1dxdGJ zG4+f5P~FLbZlT7Gp%3y77~4fq^LN2L54S%Yt^`3sm}7BYnQqzW)~*B}U@j8UCil)= zE4&+bl5AtSRY;iG52+bDzH!%=im39dONSD<1WQ6$ZG>or16fdW{Er0^ZF{YHzF*}k z@ItjJlZn*Tn3`YRpZV~#*Mo^*8+Hc?$vVJ5757{ci2CB12M!y&e{|0(_SupT?@M=v zDE>7lr9}6Eh%umKFE?`#>B#`gi?Il%EgZS-{bs69cphS1K>M0 zS4P1_FxiW8*j`vWNdw~R$t=UQ{(q-jAJresr!&D-fI+94!oeFp({Jg#U@;6b4{~Wm zl|J3K8$vFAGIobDg~ncuvYIl;u1u!CENKM3G6qK-Qh5U3pP=d05Py57xbKH5PYb~) zWu;vkT0EKdbjM!%rx;fKJyDDx#y6k+9hEfjBG(k~o#_>8Qh?L>ZZ9i!T|8xcGZH|Q zdq+Zdfx|o(?XG5<-Z_V*>5lyyQK7k$dugw!Aoe4h=D|k3{4%QFD0A|MS1^-Cg;O&Q{R*3!t2vl(eIC zJ~+6md{|&umVrG|L9Von`-C{91z|M5keoX&a(eg1Wv?{svXr5>JYU>31rN&_^srMw zZ3!y2Mb@~5=i>9_I3TO(=i_n|#(==K3g8~SaXxBvnX+kP*Dap&n@gEg;~maA^p z1Fou=w&6*ZSwI(>9S~xz>hEr!yRgPmYqzT8exxSd^1Q4g_fuiP>lVhg6qkUY;CN|g zbE?UO&}ZPz`dM}zPL zJ9LO=?QpuAZFf*E@TCinGrA;ef7?RLTf!&?G8zfimwSR{KarZi+R_*IrTLlUUYU4d zM8&4xhPK~s%yLm&luXuGr_C&B)@+Ppqv{Gdv*%-7q)jK)ouNotf8Ld#KBVjRV1PE$wRY_*`n}Z*ynh<(Q=T$JR}1`R;}HTnEr4&n`JcjbAzGhG&u0&8>w7B@*S|EZ1L3ojS-pBLL(Twzu^~8ot>$}|rQXY#g>!;QibjIIUHdlU-_VLfPT8Yhl z*5_|Zr8LtG8lFEf^wh@50@>>SsEm`mvReRd25?(YT&GnCgypDVm7{5fEgQ4ur=ah0 z|Cp<<@jkYzY(>7$uyDogl*%S@6Mo~PD~jULA}lVp+A+2Y>mQO4`r_e^IB?qgV=H%c z!x{?t{&?u#yC8bPl{c=B<~bRH6%F?=Rl)BM-9$)~<~lncBnZIDhvQA@k&sXY7-P2Y zV4$|i1E8q+-KdCMyE`K#?KbS!+)z?5`n-oC{^)$k{e;P=bo|!_9Qun{3I9s!Bv`jwNeYcrf}H=dAU9@$Ub|qFUT%vF_u;nIHge zg!g@C%>p0%_1-g4vei`*6q_R&{YMP~VF6f2sGh#y^Ux|p<$boU!Ah3G_V?OggG!~n3+&SGlwIa>&-~PdQe$!}%mfB-_mvhi0k6%l+ z61y=DrZZxXIu}oJ`ji&mXr5Cr?$F*%6c5zbW9gB2Mu0f^pJ%+t>E~K4*1$6E_3SI> zUoo*6AZQy@VatrrA)=vgRlV5?*tZq32Y#9Q)Elpw>h%77GdOgKHW`r5I1Y*13L?X> z_YrZp#PTGU+j~y^G=1 zK#d)YU*Izl`qc!&1KtnV*40`)1S4_NR&1v$TJ=esHAE?hY>wT%Ol2S>#OxaSs64aIl4I^gy%ShY{+*idTA-kKapLQK z3T|^pe5-n{sy6_JA5N*0{JQUlpOF{^Ehg0^(TJWNRKodxr;cko9<%f!(o_d8N&~M2 z(RT}57{&ofQVe*ZsYzZRvW@u}m}O8SQ!;F0w7M@^Frko;EfPAjXNd4=C`#Ov)j{!_ zX*6gyvFUV8&Y0`U7~)$$ls;S*~*06VqKs4TNI@b_iey4qXa$lsj2m;fu}3B z)ASg|eEn9>!rf;Lt#k?IH(3sMYCk@mqGpr{8jy)F9E{L+x`rZZ`v=!)d{Q2Dy{%m! zp(H_AX=~RcCH?emO5QgW55;@Q7(Vv2elvA~2$vwWmG0lEGwItR4sM_?!<{iLThSl6 zOUfax^Z1-(&j4t5!~1Yan{&LHwYpBhk7yri!V5re32*sx^o~WUXLgVjPjgXHle3gl zL_Ag_-i%7MiM4=tJvrqM~!xVvZ`L; z{@_7juNq$N<#WP4t83GE=g^mX-D=8+X8|sBy+99H^&AbUd64+h4kgDK;N^eJ08GaY z{0UD&*r!(}-mQ6pyk*kSNc_Tpi@|%DAa6^p68nO)lS6}dK4wGI;0K7_0iSZFh#3xz zuRS1(Ps$r4yy&ks6b?*Vf`^4@wXFyc6?mE}@ndHpdnBHwZ!aDw(1n1IwAvxn?BIjH zHz!5&xci*G^nUbc-*g}qfyo%by#nPs1>e>Y*^__Sb<+NwDm58%X!(y9oLrnPtnS)7 zhDmY6Th(}bUfkb-^9bvz=Lk4e#{v_pv5O(!nOt)gL$uk3L(Q!t@qa^VQP`d2CDBAO z^JQ4wqkpIV>zAf53@wJ#(pTLtbv?|bI~EtAGFxM?{ow`R8NE3k$azjNj;uI>=@bKd zknPPDWHjYm;jjgfb`X~iBCQh;?~kUl zIQ z^$sv)cW(F`xaLF z&T+?+5^t_0KPi8XTLUfSh#Ui{qIzk zH>F>6ix60JFn!`nkwoNZK89WU`x@QYI)NC1JhFqtXCs->l2O z`Mj3Omj~R9t(c@|nQQG)%zA`eu^J=4^$MC9PmlbYGNm5OaBn~}@zvAl=YEz<;)DZ5 z*T=w2`rTd$y&NF5>Kl)z?vgW+pY=&jLN*k{`3Lty zgu^&3jJO6~p8b5G;2tQqSa<7^f0EYd1+T7o5yURq*w~uUv>=KYv^=EmMkL{Ak*j}t zjRo*krp)uZrbfFK_cwm6AwT`*6z=A-J_tD%?ZJ@$s8_X4g6sOJ--k78-VFs^dg@rZevUbC>e!FlwB|t+T**DBm4#Fgg z*|t_al&@PTnjh20_s*9mo_e4ZC5_qSf@W--L{oig{%lklr zrV{fy*3QGi)7ebDkd0DRZ((d@^hINB5SyAmUB4?Q?`cxws*@?6Kc*F$Kb|>S%)IQ6 zKZ=xCPJHk&HGSK*H6t;ej=R`wsLkVWmD=oF$1D&GJ=8fwkRAXF`wl!QP!+eDK) z#HctijN^`hKx}$Uw+tT$_hJH#YNkJr!hMTH1CfrNWrdg{F1+>OGWr7B)L^{Uqfph zc*TXb2XWIt*hV~}u7=MlYVS7UfJ8yPe9AAu>j1+x`a3VSmum!^DbYd75{Jh_^LEC% z!5HjddsU#kI_X${{qWCW4Dn)(dNL|%t8N=UGT(I!UHlxp5bIK0-Sqr_(B`e(!RV>8 zP^KslX6U60ra-dd=(Zf-VK`6lCu|#w&Y3)qc8r==QA5Q?N@=zjR`22chjpFFpYiV^ zYbsX#@ek?`;Tp9VO>0oaHkw}47jHz8zNg&pFa1k{P50npyZ*M@C#&Jk0n%dKeVy+| zlM6|bGAd^x<=do>&~0&N!sXj|8>7OHMX*2FXZds`n^%{P<*SBGQkfCC>sYs_p$(6j z;cr!Xu<$MXf5K@xFTL&3?opeOLJ=-weZJ`nJa{%SOU@{*u(}%JvCJ#0A8D%P%3YG$ zpdzZ&PaVG?D@tN*Gy=v_PCd@IWi8;jaA+FCs^>ab@XKeKM&;@}PlM=n|H z6dWxuTC4C~-1(3NFYy1#h`|mJcB8< zNVP>bl=eq_0G`O7@8T7YCCaIb(i!*3s!ZmoSoA$sC@qoB5*PIA+g!N6CeOtN|4gZ^ z=x%CJlxjA_9jS?H^10JH-rh>taq4n@F4Ddu$^Y$G1_9G(+sS6aduLO)0!*&wueP;x9)<AetI0wvTk^&BiFpLESixkaKwRN6X!$a$bkgdyX1i%v(THf2QE(Aju5DWjq7)Qs(-AMkMy27Pvta!G%{kEb{d?_?Wo*?e+t2n&9H2Pw&xZ2ros^}@ zTK+rrZ|pDvx0eB`LS6e>3$DCUQ9Vo|h!ll{p9lpX$;B}hpIBu0V+r&_vFVN^*XKJTjRya}I9sd@{SmFZ1wTr{Pn9j;hetN#VoJlbcp6?H`={y!$iRSRhC!v;tRY`bj*||K>@M?LOj3j8ObOd_fm>Qz$Gx4IneS#&TpCZ z+n`hJ>2~VR-iTRoiyVwHCLT*hrn3D-Z=vc&RN#7rg5kZwm5+#DDDNs3-nE90xFkP3 zGY)6@(P=Xs$%}x&BE{k_!yTY`w^T0SLp9WJ=T{8hM!7qQja9^(H&V*GK>)bKZ~3S; z`8H_ry}@GjJKor;VmqgW%PU1mlJ-PbT~ykOxE0Zw5+)$VO zn8~hy~_nc*CE<>By$?l>T#R z$)U&P;exTjxGMSxpeHiFLdA~xgqUXfJR#pghT75|)fpuCq~T^I(5Hh-FaxhVB`WJ` zX(osKnrgcBnM^oPyZ*;6&@vo=a6chmVMv6rb+`lpw?jJ7n3-Q_M5(_EkKP-d4wn1M~p&&Vt7vh{Lll({d+h_vk zM=Qsl4DHtg>N{mv%@Y%^6P$PWX?{icU(e3+UG#>27t3LHs>WkBjw5S-y)q> zOjc<*<q zjSQMHwr)?1x(0LD6u^%rbi0N5e_wB|-%c4#EEvbzx=#zLl5F{ea~~X}gp|yNv|C^F zlo;`!AhP(hUmUAHpH%AX9~Z?sIP274pJa#?QasnArgh$=wsrZOE{L#4-O+TH>=I5C ziu5rG&Md&~2K7Wb4 z{{SSTc$=>+%v?`d9bJ!ES*6o*J|BJ(c}I{ys=@9bVu5fE+wT)Gw>SUu(n4~j2U-g{ zkj1r)#qMVT6%VXWZ{?;vEkCGz=Ea}oJ&V1MXh^s;HE8DanK!W6I-Zk^y32fu@>E>Z z-y4d(MGb4M{bbIa6&3=mDC6-(KcJ&x#V)9iQSQx(E3j-a`gxFp4W0)Jwj=4{*y?mJ zF?vj0?w`t6S~X4E%OnTJ7u{C-OM>1HHAJhPX3MCUWKbhxm5p}u~y}6{TF(x zaxncRvuwO=F7D!ynJczl=Qrd5j><>VW*~8nW&dc6%x8Kz$-S3zKogu;n!~>QefVdP z)6V#TJ-5u14=+3;I}W$mq#|{}PXR;FY(xdYYK~>*thUYoqd@Gy%sYU3=2E+2Tk2O5 zE0|V}P5vKEUmex-|9_AARxCh4L2@brDlxj*R0LFF3eu&dbT@1&2uMvqx|Hr79ZC%t zA>AO14uK8k1_OUjKfm++!*kfiQI5P`ujhT-dms0@Ous#Wn-4d}ta>{wUjbvYSGAk~ z9$ek~$1z2$XEsa)<^oNR4zurDe{%v0*%7Ehufy1f6zQ@DDwrf+uQ9(=N9aS&ESs%blmu&VuxirSql!%kKJ?;a*qNf@^SQ*NnArh}U^q9Da32H~%! za#t>v3KBDiNv8mnh*t&0Nk+u_xlBH2ILR$%nDh`NBa~DsEHUtm^q#!k@tMHLby{6{t zMJ#~{yK+yo?H%WJ43V5dxbbyYx4r@=j=7C}3+)sZ>&iU|{>B1a))G%_ggf6Jh}rOc zw6_k}ff!Cs?r~M^TzT)AgkL&_=ST3JOW5n&%(Ggz)B~9kT#i$0%9Q-z9H-C!%4Uw$ z61-xV#Xfuga{QTafvh`HN$4vxhFr9421#bRQ~k4Ucg#V4$@5bov$jV4dcuvrGpmAt znsvufGyQ#?eb$-Y4G;e}UG8I!lW4)`;gR8b|Ar z;4mH87NkS3s{<0jj{P^Zv_HOZtuUG}*Rhz!cRzdTHJm`0HQtPBBHTs&9iixE7$*lj z8hfe78Mk3(=bzZ0dC zPKBWRxP}O}XOpSvE9ZYh8M_Q9C~Z637br)xZzOB5tg-@(r?67=q7#OxqZMk+cP_VG z;;~=biU$(4wESOPEA%Nfk2*XK=k@P)Sp7@GBYr7=Dr@j;-3RNB_#`oo(6#C7mSzl! zzg%B*x7tfswTnhE9y3xKhZ}1^-}Cz}`C*D+{(8-y%U2uwmTdK>+|28uFSS+&223Ox zcNI%*em*VgP7cwH+o$F*d}*=TiGZ(y(5E~5>0JymKrWh z@cMR#NBBo+E9?^vAC@n+m*?_VlV?P7wLgia3$4$*SAdP#VTN+0RB6j6)?CF=TyAw9 zk}HqPo7^7m7k0aGtH(_dXoEMe2AKG7iu-ua(iizA>c*1GIVvHhw06LMImBgbx!BT| z0*W8g&Is#HOZ=3aI*lll`rR7}A7k{ehi4grl0Fuuw!a1L3Ua>owg%QWO}x^9mFe4I5(I5bpKF+ z263VuMI+?!?xg#Ia;|+&Ongr^K)Qnvji3o?McwabL^f)yuRr{$B~vFwZouTtfoc{4 zr@&IN|A5v!`$s$BSaP(K?+|w;xi=9+hDs)17p3Gzwel`g>jHDoANlx%2GXbpEAy&J zkLRuBnme|9;pj2qabbxxs6K@`H8(~RT(<#{`Q%4PD?|E*gvxXM)i3VM_3lVGCgqPE zDHX_-zK-34zmLvzBTatgSNoX0+4Nopm=BeM{SJ9#Q{AGCe!t2SBUrZ}X<8ZE>F}*| z>U;M@!HRth`wJ(+Nk6~6qR~j)e~xsZ?t%Vx+r6*Ax@_?03Yc^|QdceCocf1SEBc7) z?Zx>K#!OqMARVX}7F!&cVbz@f{wwZ4I3|F5w1&jNY)Z(WHR3B?xbEEh13f zu3AnjN(IoTLXVfA1>(k%a(A)tkZ7tY!(>0xiv$o?nJAI|5EA2mzb-c8M|&w6E=Jv1 zxloH>pqFeNH>Us|7tq$M)O(wGAmb& z2&FV1o%NFQs7d?oFKH+fX~i}5b3$*#*fhQSG}LE{ZBQ02WoLSLF?h{LF?YPZxph|boP2x@uwv4XVLwsp{vw`YKPdFQ||9EbW1 zT&ub;i|u$Mzqd4b^82mtA`kyold|KqzfXJ>(I59-~FHKZL z`lj_@KUA;vOhTb38!c8a%A&C;N^R;i|foKXa$& zR0Dr$z^n4pxTo9>6y|8U{JZ8Gex+9?9BMB0{wB8(A6C1U_>Nb2|M1b69cYD!bj`C{ z=i)#4JL%`$!bLr$g&^{Hw&8L7NBjL^Q*XIhMw()Kt&ZBdQ5X3R>lW(QXTsM$b+;Z| zJ5Cv65x$LtOxWjDpWT?>DuXhHtD3;+`P+l7dZQMj;Vg4VB(gAsqVLCS7V7y)t4FmthKv|3CD~ zmudsQ6qd3s@o+OBI&NWGmVwPG*xYNXLDo<#LEk2UqSzRoWCC}(A8s^JQtYuFkkZq} z!gQzFCnw)$Bkdvxab%#KX3J#k^3Tn|jD%7R(E@{>oteQQnl? zSvys`3k>#^;XjqsR(p$Q%)%_-)zP;9Mkc=LcGw$wn_{?L zc%{|SVXy6Jk#LbBztCgzC#As&taYX#KXBLWM!`9IP2fPM#qPS!;rA1Jo{wGSjx4^G zJVnc<2a$&n7+SE3QOu7VqDo^@!W=v}eHVVIL}7l%bDiBYI9xmq!++0|L)M?n$me(9kGPbn}>1CFlW7WU6%Tjdpq|@XD#beWs>!mK?cXW@u z_ob`vaF&p1?Az+g^oB~i-F)A5^sZ}&H($K<%D_VZ#OT8&w-?2Z)6Hgv+CgFar$@deo4!F-MWwd|IDsi3=53~ZgNWOZ%#Cw@@y z0#UxQTY-@hl|L!|j$)Zvuo^{ozjW|R=U?M?{A`PSc2idfG2 zAGW61=Gffad=HQNii|obY04KfQH*Xc4}yjdf>8bN6D5ixycg1aX9z>*2dF}%@+f9= zUU-$x#bol&y=)JubJkI4G&JVCDWCUmK_ zn(Y1l?f<2eNOmo73rb6-s8E38<_pZanmFUDoLt;z!?Afit(c+IZsRHY?XGUjGp6o0 z5A)a~s`-MZKgPjsmYA$&Ann0kfys&8i7Rb65tUG4KBVWu=9s3Go$&1Wy)Z8M@7o(J zFv>j*&6RO9;%F=f1+j*vXuWZ~pM{7T4NlKHc;)wnOuzZv2C5^k4{PJ^%Q7bmY zvzwW&*jDXFUCOkLi*)^aqTk13-9D1MpX{cEtYD!G2aAMn-A_+vhF3%T>o+d1x?0Zm zzO^V{8$!-^oM7)#TWwgm-uJ@fQNmTB$ET~vmGt`dInJ+;ugdh^^;O4khsZn8jl>_{ z1Ph`9oBJ7o1^odCU4p&oX}3OFyKtfL3;RvKvFPlS5+9id<)&h;a0o~{2y=viN2=M! z=tq<(l2w1Yp7C-W`Dr2>dD`*4`=J!hi=AG-!|qH?L}E`*9*jFF;YW8ww7TYj_pVl= z_Z};AjI1|2sYF3@hTbC}Jv>NuYxUztAJpTRm-QSE@i^`&*Y$Prd>+*k4Eb*$s{tw|WXDFLZ=+ zjbW7D86F$;4LykU$E~8pUFbtsWqYIsONhE%+T5G28zDK^3lVM=@O_yN&xnRTi2p zrxmgnfj)xB>F5iQ?;HCu`bG+x(HQkPPmLHgJp)Uh6#07CfRlPY^}W&oCqFHZU>dfe zRCXO;&Xl$#5rgW^+|oG~;{*W4nc4i7j=HAQ=_pZ`PQ!v&e2cD(iJGMYbH(z_VRlt$ zX~0dl+h;y{&)r+;^9zHErSe(6iO2%Eh2MK^2wo`?o=qtk5Ddt8O47Jd`@jH^IpNq~ z)sJ{FNzQA!Jx0&}qw+?RxN=vA=@PEkXjTNHPeS(Ve2AEFF}V|c_~-3HNJzU-gFw(} zMD}EN;f(W(T|%F(?M85dypxUXcW4=0h?>0ai#q2+>p%+q1mga8Ws7E<${P#6sW?DD z40gW+Tbhit^j_{%PF{8SL9Za}6fb_me{yw4TEz*}52GfnohFR`$4b}<=YB_e6CWq_ zO)H)v`&bVlv3_uYmq6xsQke4n7ylSYI0@-0nzvRceVF@;A>K3oO$-zu@5rW>ud@C! zsizQa=Y#0bZ&0^#0WS@bcL-mcv`bnX1JLE1dgkY3phNyY*n2L`hOynM`}>1P_Z z9Qzl+gg}Aza(N|fAm6y@=8w@FTE$e*GT;x&yZi@ve3!isQZyWmq38V&pAQmwIOZCG zDKJ9Ru#*%gI9FRg*G6)cM{qCf#eeac?r+f|!-ik)1)1bl9Ek&M(TN8o*EP_$o-pB& zqO?{?vT2|O?C2605-eI`@P$H-&P$Wa4NmkUhw+F}g}bpV+ZH@Y^YT4{VU&jc7ZZ<7 zbn$WcSh=WyLDmzv-O8~Rk=2pMU8NiQl51LhQW@|?#ek<4IYyfJH*@p`Yw)r)@m*S* z7pi<#_};bV<9LWq1#}izoG&`~-h~MgSMSuqH?2Z2xJ~51e^^2>%Vx@78XH4-?&-v> z!%{2S^^j$38=FgxKX$rt?ky|?jc4sqjd`W&Vf}BPFOkjlBMeR*Q{G=5ctCRg&EW%= zI+!P~firR+Wx;jVKMh@e@)hUKJn3>~>@e5b)taB=s)kwGJj`v=fMz5iK$$+b0wBAnb!1q-XsiBIfSu3ApI#aKEe8mWKf(Iixv%pL*2@uRbif1F zmplkCD|+Wl(P%QmT>_i)2m)G(ljWK}*eLx!Y_1N>9+C;^SpYy2TaMs-d`+ew>71lt0Q27D0mW&eN(+4VLZENua#N8b%4e zP>bA#$;KA`n;d|1=p&W%OR_Ff33&~8c10s2C?s4cTwfk4I|hY~cO1-8 z@KubCK|oQNL@MxvUPGz69T%0h+N9e6nfg}N=vb=DZpuAU2NG`9F{TZp*Y_7+kAKq+ zgn+CuGCBw^PcPnJ#=UoR4W(YmM(Dasr-FHfqCJrD7{D~^2}^K|ge?B0(G0iisHN(| z&z4fmAmPWV>?Tee{?||R{(YtuZ*t=KgW_2}?LtKX>3Mj5*|m-0`Qu+WX&4R|7Gk5R z4R5x;1A0>5qyHfi8V-BhjAR4}CpXM6-2()H@Uo4EG|HDzu?-6jdUe6q@ zt?6`yv0L~(0)$36SAG5XqBPm@!8j6riuLfRY1^5*o7dxxk)1lKF`Sw_jxm%nXTDC| z1D`+GcU6}6%j=iC6F*pDKb9#qQ_OkmoI5y#mSd_f-7vS!gsN#WvgdTP_OZV{j1gsu zZxxEs6-)>iA#m3i^#yj>60T_G3*GsH>y(Nav*cm2gNim1Awn$L981iG){Her0)w_B z`gvwmf$FgyN&N1rT#O(~<{-W-we2+<#~8=hw#%=qF*$A1ib;LREs@Sx^712x>Nx{Z z-q|+)j$f~)dF3yb$M|2YM4t*PbTP1u>-#%KxtF`aA{)>v8~Y`PKiP*-FUzE0O_86$ zSqVVfEW-m_7b?Bw)11#}<18g}b=&Sa!8ApFXZg~Oz-C+sB8k*KV{+%opXx~alEsXh zo%bG%hWn$cCU3h)YK(DO>@I~~J^fu$?zn@HyUMbHULJ^}zJpNlSSr3KDL6B8X2Yh) z&X<&XC0Mn45gjD*knYqI%|^5YU6;dle`19Kohv9AIMly^;!ynKn-5E0 zoQX?WT)$j=OZkU|C>evNSH5dcezbh4%iF}^ZRr{*W!7a`ca3=I8gPTqzgnSR)i5dj zI@LAfy%M7TdB#kjUtO>X9xm~sPrU*vJ1(Gb+egT;D%!;@HO&K?(kK=X?&am)>W-As8z)yLUZ{U(T7>T!RN@oj z=-Js0Vso}@xBmbVuBr^Mq+6?>J)>HplpNGCt z2%P{$=3e6EWQN@nk)!RN^Coh{G_~eSebPflDE@2=+XB^FoPwB5w>I72Kb^}zua$<`Lk_9q=Y~ODOH9HM7tht4; z9r7_~R7kLGsY$?=tKg4}-~OwjY_~@xe6E>{IbpxA5C&+23Ax8ec)19MxLE$HM2wx! z;yfC=>4+^{^yNaYoUP3y_R$wUZ8eS(b9#(vUP?I`v*8I&cv21(wUd8Q(-#$wXvg;; z66Cj6V6O*F6(HqRW^F~dG#r*2QPRC>ZF$f8_4FHIm&!h&@%M#G76-oaFT32>G{zpi zzoo@v&n)V+XKtG{f2t!Qy09?21N$XEY(_p_)A?hRRyy=8q5jwf#DAo1Qp}gn`7m3Z ziSucxn$57F%)i;Z5c9i~m*Vp3;#wX4IJ;2Pz0IqzYtxbmRhYzq%$VXqTqWiv#?482 zxscrQw)+3KBi0P- zN|QX>r2|J-$K&RHHl&ABD)}yNFT1Rf!sv2S82{&#nPImP52e~o z{GIk|fTFGrYuVae-qrX^b03_KsvrzB9e(5`H7X|nSA`2P{do#b6iQ1?UBk~qMv3WQ z*NUYH#$v;xm=g{Cw;70-773O=n%1bTh2>qBCF&@Vh3akzGIkU9QLorTzAHe?j~_;_ zIg#9WA7%Xy34g5ZYWT&1B{@sd%y+2qYml4g_|;!MO7@p`(LPOncKYIaT>7S^61Im} zY;!VZjc2$wt(Dg}+k6isbn;6|_tCcd*?RE}r^ibksiZk<-=Q>>nzdO^0Mp+Uh6A^r zgXQ%-x`~10Y%;J8PkO2e20tPP5^v*ELKaW_Nf4`rhd_?9$=Q=U(x0U5$$e+NZPD6x z+AC{A{WVl}g}#(Flyk>?Ltd(Utr=zb%*}rZV;pq{+}pn!;8ke+5o?fX;$RJS!z%Ac zhD>Go+A$45e^IsqwES5E^0V+rN6Pd;u~F`IPK01THHVqggh06YjMO&fVgqsmX)oHsj- z$C%o=GM!xh2}Db)aN+rDl0amxw|5CHLIXcOcG$~)Q;z%S`-a51wr>CUzcie1lKxMS z4EqOkt+2N|MhO|F*qrG6gU}ueJ3o&jmI>8ob;!+JhNM+xOyX9=7S*KTYYj|3S!O0>-fgR`@@MmP z4Id-p-LB39)s9RTT*d|_DT*a|Lzk;?*L12cO6=jn5kgN@hT!?}AOu41##vk_ER=i> ze*FOb#lN{AFm&Mlc7Q(5{Q6!~)YzyQhnS+wglBn}+!jZ9G)Y6c(1A*M#O$wESg~QR z1KI?v!If|`?^5_d_^%_q!W$zJYm3E(QPx=6t1kUIXY+k9FGbz@N|GysS|FIBWgnBe z)!0x-g!PN;EkS_Qirdn>KG~Tj2>b$inrsvFwFAJ?*AAeP_2VU_e`(&VY_N$i>+S8` zT&Rr3wM|W{Up)Hu(#rwt-J;$G2aJ z)ksRex8%6mv3q~nig~H?lzyxh`z!TZS#c5&J9b-{dn%iS_>gzB&x4bJzlfjfTxEV1 z27~giHFM!B%Bohkv?Emver!!^*dw36Adya}*g5;Xds+g-49Q5O__Juo*VyeHU2y;c zO>F#S`UYr~JMc%Ho658dJX3(%RzSk>1@J6%GmPmS+y<0muoQ1f{Q$2%z~(`wiT=UI z3ca?+4ZbRSN1XjCN8U>SUcXAmZn+kvR~pes(1Fe1>xZ#%b5=*Juk6{nPwvgXOlslM z>cpS8qQZ0x@7&21&E9NC^%^mQOz6UD|OI77ws7pA` z0zcHkE+W5^p!zAvU zwNm>3Rw>cOHtJV!3k5#ZQc~x5e7J6Ke^z_p>hxB;qTCqg6sO^C z8>mbN=kSh*I&l)A5~OPM9xPWIQde-s$6#ClooNm^Mu*t;Wb{++UicL;IxW?Cf;| zh1ufcxNKOtXSL_bke}Dnmm1%LJ_YI(mVdgR`Vo6RW6`#w?Lfg4)S#!ZgCgFU(zq5` zprmIH9V;I;%x*qclFBs=8F^`QO+t1sl;V!_7nTkFT%cfvM8u$E;rAU{?s_yh2~PN= zKO!2rO=eFv6OJbusv{bs`7(aXK9P3irk?J zNqY=pCW4&&sZ!R9lWl!cQBR>eh{MUDMQrPuRRH1%;UshYKczmMW@h7lv2|Z}-+l6fNROM*#bxg+4^jSxJt6UzTP^}^HN#_5+ zLrL5x*KzpTx+N)}hgAyazFXbBaW4eZKCbC(K-Etb6%M&{%{zP+CFuWYTvKpq!^b+! zbJaE!B>uQzIzIdv_(aVryKN5}^P#o#47mc9)rDa(L-x$)V@@Rc8D7MPRx3&1+jp1u zECt5;r2dm1m~4OalTa$*6F3xETQk`Qf{fRt!=%Z$<#|b;cO{o@r|j&rXgZ7FtiuNv?jZfA5Ujs z!(wfW{Z3_-_6!AQ_l<=rHQ4hQl23`)|Jvnm%X(N50>-EFdl0su`b6f8#`C^q{v`!d zQD;&u`2IJ;*T&Teq;J>q>yGp_kVF50#SLWqsk1vsT}-V3H%Lq%<$P6Zpqd4a#cghs z0m3TEEfaFpT1Fn#&qnxay`1W0X>%z=24*!5ogys6#7`Z`tjh+#&uBz(C`k`)NkTAj zma(8JR=rXt82Us=+wt(0evR~=j0pcI;n_3N#Nx;^Ll3FTouP}bWuBWE1X0mH;wHj# zMy*dJ_&{-*rakEU>EY79XSZ+uGlZa~l78GgiXq^83LV2{U>tjMGux;BIehsS9S=2z z&X$E?`h~3)ZB8e^lR+fn+6+5-IGL+|I5D=S{Vz>on#X?ZAVbFZhiBh* z?TwJRm)F#$I39QB0_8E_?ybTE#LkV*TLalEA_INc?^SC7I zAX(fXVvKZSZ|G&oP#UWalUZjxyXVYoBI zmCOS@g=-?AJi2wg$_lHVl!BD@%W@Go+HL4WVW7Ew9%fv|!?gR}BJz zMP+!85fu|Dmxg2bK;7>Ct>JoHWoorW(+j_clo>y^r|e9(9$H(4tV=Bqooruiv4**9 zmpE=IoG_HZ?H2k?xnHRsAcCcU1w)`Uo8YyQRGRabW@FW7Ye%wzI!sjgk>7n%9l$ri z_?PCKSHP!$r*py7{6w)sIOk3Q$z?*}G?!Y-x#yg_I>!LFjD63az8ROCbH6g=);OPS zMmNa?^Bh^nn#H5r_uZV9K|Ia8M0FsZXl1X|{p-k!k6yHG8_ECSxI{hqa%Tp)A7!Gr z6JSj7vmH@6P9ZqGafKyMx=bGA1gAKhKr6BGJNkS9A;}EHmqvqsX?lA5uI8WnZ;Qgx zpJr;8F9Rlf-kSHoY){}UM29x6H)gk}&8k+t1CsD(?8GmyI}=8c@~?r|o&t$*6OWym+)WVVdxq(;phK2NInRbRDpt0 z9xaY7nBqZh2L^bdMs~#6#7-Z^_eg3zW=iuJw^?O^K9*!a4pVLy=*rkfwemxo&qqlo z5t_Y;*a=j)9DUnis#R`GxBsX4-|EfKkT@qlM_7EwHoeo&9b7e@(K^&~Ug|t72;=Bd z;+j||`JW+3g1B!Lm>dgZ?l6I_rk6tx>qbZqCrkY2lOSm}-JtDiwbAd2mq$}(H}P!p z32|XSf5cU#!gYS}AmE$_P_Gp7qIMccF!jWg_#@}u7Y%h&x87|`p;=_ge}v8HVk92% z+#mXN%p(nw$heC?1(`s2O|R|)GweRs#dJXC#FP5JGXD01a}DIU%bk5Mu|RVB(CeN0 z`%3pDJYM9j>l4#9CqkK)1dKdXSVOsSPe;_XGuE23nd8p%f1Dky9i)DX*B?rmxSGe~ zZldC$!DmDPWi}@Nv(PmBgk4J3u@_{zj&o`GFk@Cr8S7vxMg-qdPP39T2PR;e5y0?zT=H`rVcGO2X=u2ZPzk`;zz1o!)<~W{^J>E zize^kj0BRx%*TD>jy*e5k?J0R;6_MRwl!Ns=xnS`4Tj)JJi2Tke*Dewbk4}pLtr8M z_%f+6l0>g&WAoFR^hpwl6iYiAt?E>+))`mwnd185^E!O#SKL=IHrEJa9^}N4K3edB z{f&zv?!op!9`91z^9BYvbaS+0^f*G-wKE5kN#i0SwuzDVMHN^J<5cy|yczn^w*L%Z zDf37`-(PXZ#VeOi8I{?gAaBRqaqP;+K^zq={owo)qt{O)D%cXI6P=gt``cwCP&Y>6 zyRs?gul`BcOV3Y36wDcmoTk*Gj@|qT{5bH1@Rn`dpU0rj%3by?R1q9%=2f4*9cNS& z_k&N^C{k4JTNXxNS$xE0O4}p5C^JV*8mn%v`h2jCuqgV2&ouop0#7PCDi#|$IwKmC z=A=8>*#g#uETZ{v|E0O{2DO6$fqbAG8l~Oi`m4s+UmzN5f=7f)$hiNDigYWpCF`f6 z6Lg)zx2}e}7WwE5y~J+dGV(-2eXbz3dgYb7`S0+q{7plzHOx zvtcT*4#|MdHR&V1_U8-S9={olw&smyG zu`4OBlQz3s)XXgXja2sG;G`MtDX*(O)KVpSEj6;0#+Do)?ry}aGaDejt?*lnqyj|$ zeBb-njAi*K>i{Nn`hBw2oi`HC#4=lqn+8g>aHcVCHmki)!B2in37&e6cs_UG;0z67 z<$wl{@C79fMjH2KUC`yb>8r{$lz>vZU1Ox`8Y%gERD4#eCos-bML+QhTc0!md% zo@{=)7X0V0=#RT6{ckWnf-~O_O~UC4r43dx^c}hwpJ7xlT(MH-sKPJD^m^FogvU9F zCknRq3({rRxBDy|yuf_Fm#kk=W=g1hk#udzEcP2lL*iG9o#1ePGEdm>4mahQx`~Te z?zT02>Nv+7*it;%9OQNopvm~$?8@V z*{}8Nb5~)q(0MYW{7fw&t}gHJ5--?&vcf(^e>4@K;ChYfZdZFX#b#w}iPt|@?RMB+ z8u=}A((j(gvk+1^wEmsp)lYX!D7{^h5ydzUtCn9(0u@LlV%3A!f{BmyDgN@6!nlwa zjW@%LBULxdAoQl;GS1adkx>D>0ii$e*#!?`tDbmQfj5s>0Q%~w@ukj3VIAFM$!9JL z8uD_LseF&^qTuKIBy(SyZMm#>h}og;@#l7?)UHJP63Hi6VVn0=X{x%%5wE9c_l_eo zHCV7qb9`GC*;9{C;AZ&mXKrBz;|B2f1h)~^%1=4`E2;-IihEY`O5vfk#F!NZX|PvR zackhoR`K23i>|Me97;=kdRkZn*7>4SSFP4-d@OUpdAGRbuWoLa0@dYI! zzf{J(>%Z@0?FWt6SthUG8OiCrY`s&<3x8<>2m^V?F(iAN!UggQ(YSodOyvKE+?}iP zGCBwlN=xV678+TM#~&!*5W_m>!Ly>fmq?55`_vst3Dh+7?yz#Yka@Zab zI#2JK`Ypfgkj44|ZCW?evzgmQ%N6vZJJzyp1~n789kFekRUZukxgR5;l@WOLcak+D zS%IXAUj2lg+s~wAV~iN)KwW~CY4Gis8kQcO2A60t^$MHimxz_V5;R@?7A5}x8oh7z zo`>vXMS8yAKY)>V+{A2gSPuewd(CDg({xNlPF~qYdbj{`RmkpOcp-qVyy`tvT-)YZ zj%_)Y)VC2_8^bqn=+9b(elFuVEd4|K52vG7 zP#qkJbAGa8rb$R=vIHwQ#SWp9>!?6EWEU(884Lz$Nj`6+-2BTeeC5wyYoc%WUo$4! zy)v0;vA!A0 zAOG_Iy=EbN%O*(OSzQlEC%D3Uq5&d--)Ba>9pB!?QZxZyY1$Li3gO*7jtF)f23kIQ zX6QM$?6tJdCJ##N`jJw%r5zHnEHrtP$j=q`bh2j5;J7H>Mv!~6m0s`F-&ThFx+x)_ zCbJZ`k8vXCSLSSo9wMC>ra0y^K&~Q+QJJ#9S<~0bkWqxZ){l_l{T^kKs3k6*;-VW) zSwLPel{M)SbX%cLQHkMbuVSK z0vak@?UUwBYZ#V$g4x_E?Cb%RK+_oaba{aU+6DsB7^)>K;){J)6s;G3i-m8e`p^LH zphh_D)qr=)3heKBCzq%Co~ERgBEsJ)ydRs7@E1cwOecokeuNUb5a#+sZ=QCW!{*XB zwa7;MdUembv6u^Od>c4s#Pc~<@~VGjq=!I*`33H9ITiavnibX^$h$CQ##Cv zuE>rQf2)1@-IHvxbM@Zc?)xRi>YxnQ1=+OcoST$zFjm?|s`&9?d}U-eOX`2nx^>;n zGaq4bG@K$)l0ya-%ozA1Wy*_&h=5(#asg!b$2iDMVpq#C1~}nZr1@Q zsT0+simov#TFN!>s7M69Vt-#%5puAug7)2a(Uwk`{veD$yQCDmWzU)VudKS!*JLs> zrV6BkVr6BYC#Yolaf~gEF)pbfu8k?MqMU9~S`G1;S!46cZHtLABEvyu>+&jXUvSU$ zFP~zpccsb`xeVS<2>++%d2xQz;?|e)h|>oZXwo^|7!g-u1z!K!sf)t&%;J^q4y5`qxX9aVwTP-hK8@Wyo~ zii{Y(bh+_$36rQI-^J=s!dnW$F>0^iWEz>gk?b~G=YB8Z6Jf1!4{lRwX zuj}=nbf!!^)lW3CxOhwMfst}4&c3MIS}DRrzmwX`(aq@06RIAx!Dh@J<|F52* z?5GeXU3@U)&Wg@qlBa;AVy zwWvzxG>FN0-SGMPeTR3EEq@0oGRuV%TOO$}k|C-%OUn7l*hpy+^8>YjlTqpYorH&T za|0uPX(+vro_R_aS_)}y>NDLvmS#61Us#AeI~L2CScfS1J}Bt0RQ>2Oqw-8(;oYTC z-HZ5aco*sT_TVeC$YXg2Ub)ZjS*9ZimwKaK$Ej)PJ;SV)OItwE&ryiX57R-0TAl zc}Y1Ji#vbvd!KIbGDwLr2XchmGL0%qKXFTZHG)Ch^=UDv4AdZ=R4ym0&Wleyyb%^3 zWf)Y^32#W!Tk8*w$VA_yU+EoM@*UeYxb@&&7iao)n>YPbiWT!yxkh#cEmhCQpn@dj z#B7`U&be~;k$Z7AZ6;6U8=l9e4z#7xf0A`DieE46>om;2JJh80P~((_n-4*5BF?^C z{9ku-i3~?VtYxLsRF7k#!C#vEYM6vz7SO-u&l!db{T9+BZ2QiC@Ud3P>e+COV{+OB zO8C@DY{;eavm1x(1wsARdIAk8+}2sjd%N^?CEe@}!Qvr$^#)eTN!P|>*t;;e63|(q zk{v0{x~k^L9>phS&F(QL2O@qHZeDdQJrgQ-cX`p`#B{Jk0vEK2m2n&yqZ9G0_imm5 zYlEWg`MdryO94$&Z%^RnH?AT$nSzsVY8h4>@!Ni%!Ktp{>j+X^(G0~G@=MYJyB}pgdtwoKMwIwVCKNl7R zc5t#%SGW>O22$5D*%>r~h3@@8SxY#4=f7sKI6-&QF;1{QxH|E+Py{r4omiFYo7w-eBgG+-Q$ zp`d!bSTy--1^29StM;iPUbD%0i_m=kOy}|Q>GVD*8|=uz#6mmQUQWj@y&b3`GyKA2 zT3GCBC2W5Y%J|i31$!fhaWV)5IXkky!zXjRis#bwpI=q?c?km+X0O!nOc9~ddo^$S z_)Q0>lWPe9x4MR3RcmKW7DOfLJT;uKDIdNYSb90{qStfrt1=P>^UU|N2C%o!m|hoY zdh{m}6)$jV+ssblL6=8X67@CP_`sUAaJ@y17sFJvn=eFc!1X)m(6#Gl2ZLMurG( z2Ry&o97Z^aE5Coz?-cX~=9Q1LjJ0Jfy3i&R9{yfl3H+uHAJe$4^ zX9OlTRfc|?xzaK+yMphczkZZUj_g}aze1glNcqyBn)a#F(sgk-;i%h*DsP)qy6P{P z^vGOZukx<;F#+53VF534Cw#9KJZ{u>6MjlmcQm{QPc9v6?IpmO<=sJe9WDEkpzG$Q zX2U8x?*NuNNv>6_GK3augudPDP34m0%=`rKbF}+%WtEBDkxb))zgxAaOV3=o!qAUX zs7fpsi>f^G?pHFNsAzJyJ^Uy)y5vPkcjZQN|60HBp2YE1coHP9$?Lj;S9di>s?VzW zB&dihM}U3^b)5NVAQ@IvvA58p8O)9IY791=on)Dyj4_6H2i~gKXG@3}y zKQO_;KJ7nojn52|K&3M~aFhsc>I$B>t3LNQzgo~D@5%J5m>WrE_3cz}9wXQb#?+VD zG709%Mz?XxbE7M@*AQQ}j}2p&j|3Bri{8Lc6N8J%+ord_S8<@aK*#P!`@^&d1^l9_ zQwYWF6I#kv6-%8hkSM4*l3zQ5s$==s+xYQ+kc?wZ+7En;%6q!n8^G;j?Ox+$+rvR7GfZX0ip6~yJX?iQez02Qy;{HJn{Z-6Xb|0x?RTiBV3qvFDO-M*V{Wd^V-)%?kx1|+Gqa@$S(>Vt<0 zMJ>5N4M_Y@+UBu8({Y_T?I)iA54daDoY+nIk0S0(t@D+yfv^v+9JVZf$xbn1wb25^ zc{$NKo8j)LttghjXXW6Tcns1S)8lUhE3y+RMV#F;w$O;4xJLvAS&DAkGAjMofXh$H z3gvf{ljve-Wb!X2hrTiVCbc|RMb|yC%KL&^-0U)bSlit2s4iTePFHezL1`XkR-C`D9C0t{&9viJh=OCY$h!6 z%qB<}r?*R$i?z*tr<8Uy4q7uSG_Mkt|!`)TD# zbfuVHh}XB8(iXVKLuun~PD8;!lm3lo{3|~^(`=t2SYMg;>n6r{KbnuwUG1l^JKT2R z2%-p3wV70X@mbI_Ym?S9Q`2d3iFTdg3Bz`{Sm}yOXEbgC6o`w|ON|&ve7-1;G;-ud z-MZRIEH4BvQ2bg=Pza1_&o@{}k_7pMwLW!s0p5DBnZPC=4xbR$dHCW z*T_{nHFbCsR}d;f+-Tnap^Mn?CSZYV1pcxo~-2U;!C187GC%=P$>K`sl0B?b4ar(*rhM! zL#h+?)l$;1p#=#4cB$^GSf#*v;e|Vo4mP}%i^rKg3a8FHxD@q0uuS_h5YgRiJoNm2 ztHDm#H>M4I``>Z$-NN7Arw-f7mx^H|qd)MgB;xYwPOA3yatS;q?>7*uJ^cTkQbX3C zBw^Z_S=oPvj`9QV2Z~a&&zuzUA&1;~EK6X<^pmkna>H zm`Inx@H409s-VAsGEK%r^EF8{cU(-E4u)d{8hqg9yG$N@B2%7^g`=O#%`!#h4a+IL zq*Im`I%gN?t}L(ayUh2w`cLn1Q&se9qlYtaRg5YH15E=POL7aFP7Iri(WdZpu^r=G z+fRHxA2ii}KT`arKG5Ia{XFlZ=?h${wAXX=%<#fil})swpDXjok*0=u_W&;#rD;#R zGKvD6OlA=g0ANjlIf(k?%oEfwL5Yx}AEI9-Xf=uw6xDq7@R*?Ljh{=k|DkVBNVn|y z;rZ8O`}G+jy)9pDbl1)2iDP5-R!SV4uQ}t3_tjtRxw%Den+`TO4E->5`=OZ+Ae$iR zM_(_K2^bDa28}}?_>jOVDcrObx>;`gP&tAgjzX5HWG#-cmL^h^x=xaLjEtvE4;*5;M15wYnOFi@to$=FPC!D5Ia$dbK@0@a{k1($l1Px^RcN zAQQTyqtfO>%$56^LMAp5LPu)6Jy~z(WKQ1$JBr_TYBLx<`vRr5Tzi?B8f$_w1y!fAV=p*Y~YhqgFESla1@HE3ytXe*d1L$C4VIP}4vi<%2h) zkZBjGyh9SEldai3<36jXp0vb!4F!^C-MK{lmV@<>c2?KQ0o1pUMJ&DCpOFew4W|ug zO8wLnZ1#DIW~y&g%#Uh)-#TXza^-WqS}lf%vdSJm49$GkC5MU{XZa9ouA>@$m*)x^ zS70KL5$XDs2$LMhci=Y=Y)U~u4!s^r1?E2qb2c(Ze4BG*cvv=h)iR#!|6lEH#KFkr z`ojWY$i>pBgyX*cHgn_nKsr2Za+*bL;(}+&cZunCz4|-4-iU#?p=u6nmftkBgpt&6 z(vC`}4o!I0UL&dQi;iSp@2tpL-Sx2cjDxcWYX`mvnX|8U7EMWN3^6%Sv?jve(XJn~ zusd%*hxigQ-{G<%&+4T6eSE33uxo9cYc$la8i{eZ!|!3)?#|1(dte&6EJH3f;f{}| zck~@!#2x6a(uwMf6|`qOEkSnV)k_+btT5zJ+Bd#3jVUmY%qyMV1OTG)OHkEVRdyt5Gp=K6O_TDTWn&S zR#vBs3!Jv2z9r`)8(_e}rwP6m<@Z^m8VN=hqR@$OL0cyuCHzUryi8N5F4-RgFaE~k zLqdfjm@kBk)*t4925)w{>z%g;rjLy;P?PN1=0*8FCBby z{iFN{B0O&znr%QhP(Ddqu~_btCdf?I%#kiYxh=o4x|aud)wSU#4H!=kL-f-dbM>poQnwNc@2^d((>tuhywmiszg}t{B9Peo z(|2MKGau#+ToIdc{{b!D94V5bQyUN(q$E9nGx7MD2loy}+{-4E{t`KaX8&LPs< z?C2P3U2q!H-rnfy4O@S6FWQ@}Mh?U(AcLipb!o5N9MY^Rl;w3|$?n?@PKo!)vb)>+ zn)=;YiY>QVh?IlgReZ1&a`m-2p?thwE$GM9V44LlEPtBXq|90O3tC@SD zU_sO-LL_inBU1jR_1q7~V18h6wy<}DUO(mW5>IZ#r2je{Q?C=&ty6kX=Or;Hf+;K> z_j7FT+p(*YfwIS-ZfP$?F{M5h32>X{Hvcku^|aaUdgrW!w|Ys0%jc~}$Ug}FN-4r% zUwLiFKrEl{#N>CYKga@Hn{D6OL1MT|2FOlHU7XIR#H94m$T2tvYdr)Be(DC>1A?~Q zdi^fVrY693a$jIKF9nD39@VZOc<&rtZw{3Nm2YvO;`scyh-(WeI4f*RvhbRe)ruvz9qGKf+G$hCjR1SGydfIg0%8B%l$)}4bMRam2iBsxgZr@>^Yu~DvzK&_X$3B;qu0ovta~}Gk0u*h zZ#z??W$smF+PU1A^@7%J{5rCLPO# zZ4q>=19uu7Ps@XgjDfKxiC6nSpF^h!yF60#;O~ns>Y(8+Zr{Zu3@Pb$C;xEz(Kd3y z`BTQdeCFF`_O{~PFhv{P@w^mM9kO)x6*q8VBKS{ni8{gN(yu5t5PGl8@#oc(CNuh3 z1Q-WBWn?2c*Ko;nemI|#IxA2bFJ_^-i|xF7502O!`N3JuRXgp+&h%=(9fSyu z-C?XjxlHhao#84B@~)A66lmN+^JhT+R$z7H|Ht6ZF#87JDx1|%(14Q6;N&b=_-QWF z=9maGI#F;c&zTOsxVtlC)9L4~Ddt z5&g#yX-BHxzGXdDBh*gigHR)CVy(VjSoG*y(jnJ54))7eoz%HCwN9(OkKXJtKZ;Ri{8-SNs#c>y@mCOPS#U{WqnA zcTG`8xz$dk@DXNM&{orrrn}3ZeeXUcsHI+B@Isksnjn5FpwMrw5KHd!U7}cNso0>k z`23`rRd2D*6;d_@wtvpBsZyG!D^@2%FqmvU)2;af{B!PuUuRKe&HV}!PYd4v*|_*4 zquRLf?9e4opESNtO7RlxbjHiYti8kU7Ry;zGZuE1K8IWv4-|`i-G4^ytMgJ3$=F^y zT}zuOR7)sL5zY~^V0B|#BwZ7%{Q9U!e`u6(+N-`J4+UZ9yy7n>ngh1qXr>JLu)7Fj z^6NQezUA_!b{x}kiMeW*UExhN>C;P&VR4bE$=WfA52sfZvC1!`6)fmtYs$=b4@|$X z2O@D?za$X`+-DG+b{-I+W~^MUdmo!yqCt{jM)g~!eQ~B_8BqfIoas>9HA%Vt_Y%&W zQ>7~|Uzu){zjDTMVplsn3jaB($D1^_KuUC$1&-Nu8H8N3S|7I$DCirX31Ri_4>qa^ zXlJkLj~&f9*ikI5xI}N#H{v(M%MxMsG+i;D*f!1LKJ6vMF5<#&L?Zz`^mfbXv<(A; zd6yZak?f}TT#zNLL*6%AO9z`9DSucO)+|lF+s(?`r)Z((ebQ;_A7^+grQENhO9Z>7 zJ=a_>Pa)H6>uuF_iYHsSOB%|fq%u6vo zK;*b>d8^HT!4&t;--{V+Sw2bjA${v*6TKyUd7M&`6GX_xj~LY+u7MbftmSGS6<~`x z^ao2oB^^=@seT2X_x{K@D!dzamA}wY;N{<3ch>${`&B4r$j?`U%l&jV+s&rH3MAx& z3m&z)p1#NyZ7Zl?5w`JL)`kDa7<~}bhG<+u3H?>bUxvAwm-5ovb;s5sHt{rf#@6fC z|Fi+-@^Pj2A~&_F<8U`W;gV@A`%*ie>&AQL+uY8dx$5=GeY-Yc?)^fEg?SF|zD-&7 z1+WoQL(mQVLWX{M#HG)&mf2obX(^Pl&}J~v`d|hC+bVc(AR}y%g}-v-;3-0tQLc#_ ze@_i(T9mo{_1t_#)tWe56n5vNYN^y_+H`7#$fTo}O;gh8O+Lsm z;d09v!N@U(%u68KWhjE0w%pXz2jt7V0hqgN2eJcU(e9I=E`j9DX1qnf!JY6RoH^~o zCg!u#b+0ExAbI!k8qrS)gCQJVQ3z&!MAJ~nPL#H-!poLHToS<=8s|(4vWf#61z?Y< zgo#%7M6-4v@PE=lCr=47h>^T+8#^uA;B>(#O>-Y~Jc(obs=)BM>NOXf;A?CsIF9eQ>nn>$nkaqeHlMgOb9a2#xA4SW;C zbf|!uc3|8+Lhg%)Yw)xz%ch3t&Ntw;V?$IPzT+me2Roj9L-4MO`G*7i`GSl*(9nJ5@N-|fdqbgxI1Xtk=9U{y6-D0-`0ntfc)m7#z z?KWb@$|*7)$dD5V7tG}6-LN}xKCL;l zka7*=snE>%nK$V49E@V9MO8Qb+@-Nu6ON>8yIrlv9EW~kSeoaI($V_@mY;w*V7qe6 z){~5sl)H)`@%PHeddod6qw*k#>5pXC!FFW?h#|hN3av$-Br^bcl!lGN5HS>AkE4U% z2W(yZB|DF@K1fK8sW;Pn&99|xX;{aQcT6BBZ26<1(wVsJWjZ&!y~?#|s6^lvF=SVk z{rKBXEnH)>UEuGjK0rC~v#2^*9^R*pV^7Xf8mQZfhu+=6E+tWHI)yb$TGt3vXt@J@UygFbMfJ;I)m!t!zB8N^|^qAU5-Y|ilS0q81u$?><$eXrR%?PbxJllX)tYByDc4ROykwXLp851~W6K zQ2r{Bw7_?|a`$6Hlm1<=@3)7(+4v(<*kc=PXpItedvBEy%O~ZuZB=hJ$wQs#XhGpz zHeEEA9(F~J-8uLPo$kT`H7`CtA&6p}EOk&YRKX2sg1SsV&YVwti{fvXu? zqFYpNgHW*@5b&uhrbriMef_aM9yh=-PWA*vbrA@~*g9+tXH0!Li0Qk@Q&mBDn>yaV z(R=YTUuQ;j@e5tPnf2bSnwzUsMS>UIr*s|xJKZF&fLRU`#YEOm%RQ8aOJ{g!m+zUK z;fBWdf9!1GuTDa!J)TAFz@?(3`Nrae)3yec61IDDoe!%7I43DbOxQ`^mlkSPaN^ z)&kcg-pdnK)(4s1A!%Gs_oC^!np{F^WHOrg{zbuS_?=|bT?=egwT~yA6h#FO2zX|( zNg6!3#j9AbFkaZ^)Xq(!F#R5J(*bnnbFC;)_=elgNC7%n3D?Pz~ARk|J?g9WC~mPfM~z2Aq$!A4q>6uQ5~!4Dg+L zJHqf_juNP-*uKfplD5&#;X*WJ$9SZxW(sgkB&@%fGQ582&P>*;v7Bq&r>{oFSUxpL zC7dL^JtLPMVy$v4$7tsmi+dC0+J}tKwn)f!;aFWrylYW<7+BvuyEkE}hQGh+dwluh z*O+-OpUoIk{P=CBbfQ-q6IJ9YTZLfi-u<3OKmP2zVN$)HWnQUgGH4i7@?I@(aMCR0 zmYjn9Ph zU+r^yYnyT@*BftZ)o8`pQM*&|p?-J?$+X@N=72TTuVGg*3vHGBHRh%H6+9+uoC;we z3p#U2Ugsm*b)!7|C0;c`3xbotLU)qq0?HmD+#c*u)PJXH5eB>U5*%pfn{q{nM;21O z>>A)ZJBYW;@QxhK82IrjOz}g2ecO+5<`YD1l5)m7r4nfAllr05p5FKX-c0ckM#Y|E z>1m>1^q_XTf=ft6xuy6nu4{L*_@@t+(WMI!!;&}Wx!!L#4l&62c3I*hO@zHzRO`y> zh5jR3r64RQJH2hc>gSPE#7adCLt{-&H~%-IVOu|l530{*a%r{>5e`|d6>&e_Ck)O# z*W6S1A-D93c~(Z9{{EGQ#QFvhgV~~j+Ru}xwor1( zsOw{Hzi!T~$e~7|HNp`OP}DPee%iHh+5Cs~I_D+m|4lOk9m=?$us? zO8W6g2#mG&Dt%|@mwMn{c6mY=&F@=1hHhZq$Osq~Mzjhl3aZ3Q%6L&-Q^RsT{uj5e zBO0jY{(0Zh#4)UL7iSe2z|*=Bv2BsaR}v)8*7O(%2ZQ1|k5r*=rPl79omj=40iup@ zq+BDb7EzT#uX@92ZVh)9(zmN(Hmk~btjJ`m!7YK7ycSX)bqf4sgjKFGtbY??GxcCET zE9e6}TpTZ>B7<#V9x*oqvH|KDqnH@ec$F!B$I=5aA;&7=D%Ny^c?h1$W*2L`p}rY7 zYkFJ2ZjT*Vo*epkn21`EWm3p~w|z)Yh_pRaFqJq;P_kx!J!>H1#!dujq_e}BPh z2w^sb@9CFLNi8n~zau%@_S@V{`Jgc~NX5ZEgFDQ}sYhTN0pZEG8 zv4!}GS!ZD1GuoY0?}7fLV?=3>N{JO66`HnjV6aZ@k_)dv|JX8_u7%t} z85G=UoCs;(+@jJhuafr1LP0*H3~;YA_nRi}XLi9Qg6WasS4lIjcM|kRM)&M`CVC}q z=DMGg*|@Zo-)REuwjsUKb|8ek_E=~Lh$f4EY%Pes-C*r>a@g(e_SW@`^1`_t;6NoJ zVgIOzn(Y`HC7`M9&ApL5izf+AkZtfJdgu^vux9hKjevf;g76L4g{!GHeLBBI+7INx z;|Dqjkh~E|6!eF`rxr6j!My{L9H1C0u-xbHg}fx2BQ<~)JISB3xdl!aS+$b&U|4v` z(SIRN8XZ{D?=sun_jvlzL)Y6vC?U!DN9+0CYc7zq7V@~I$-JN9pSLs4)RfUBP`<{3 zFXADp8i)8r^~ffsNdAOk+9BHDT)v7cFXxBqI+=&kV9Zwt`(B*LV$Z=j8SQKgZ2Hl@ zj-)bRv6QM+DWk{Q3VC-k z%=1>0wL`dHzgml0q9DEyIJPoq-M0H9Lv1Q+9s`&~s4wO&DDkp%Dux_*>n7-F>u3A6 zREdC@$Lnwvc@nEQoYd#f!=a+Oj>oSxCY)vAlAKTZ@4|-2H&!RGzGA&ko2LWL$o5^_ z1wdw;N)(_Sg}Ls-^DVCcBueI{t>1I-@=xEOYOvNTVCtr>5=4<+RMNb+{k~!FcIQC8 zG;5laW#W^$u6q<%otsVm$>$-Z_+6i)7c2&?6?rXE7<=u>$LFjI*~54iyRoqQ>piSa z22*QAazby`?S?h2kB!zuzTGvn(4~|3^AgjK)s`|FAcnh*nSW3r}{zK0BM0{jfHS?kux}l}-MxsBY2ZRa~W$BftgU z58uTWo4&IcVZA4!5lmw~ot9#Ci^g&7pxMseaHE%xyvIrqcdT_Za}5#4GhP-X^^3o2 zpITlUa=PtGb8{52a4cmuh#}!!1gdLctXUG5=(5qV%3i2f4=zQ{toJj0i!jpfPwxDL zKzKww5^;I7%rHC9t9irTl2*jJSZ)rw(skp59f{s3sgm!Jz38jUNw>?;Oy8Mmp!6yn zMIU0AyE?piI7&Zkmn87aez4ObR6A7)uE*7_)uzNsbgFwjtLb79;?SVHKf5**F;Mzm z{nW1g8ez*v?pXPfNdIRyOc2LPg2*RsZDzH#sxM=va}k!;OeX8s-54 z^IONy`T%dw@J~3a_9g#$?RhY2dnxYTh*7;hW{rCZ948Qyz*v^+%pR=7Uq0oAeqJ`R zUTZ9=MU3X@x)&b4GM%_**SWIM$#X4D!23Q^u#ZgZDIh+5hb0DVl#Rhu;e9*szf*XJ z4cblE+l^pu0?${nH>O?68JS#gd+Cpf`e0U5&$Y+5-(To@X!Q&C`Q7g3ouw_JB4xva zvO$Yc-Ka?a1<*+c>;uaWw}U=LbB61+Wz8y|UA&dFVHWU?nXyFttn5?~?6z(s57O!^ zhaZ4u|G~1~hxx*un^7I9`hg58gwSaOR*K)ZyCxD=DX-x~$MbOPs(ed+o0y%E8l%EE z#pHT}!{z9rbeI=$Z~=Fu2OJP#|(i2?tJK_E_p}$Aig~&SQ1mD4}EcXeBPszaj>s*r41hf9J1br!!n`$o&-iYNt zxf`oIaDLoUuJ=(%yugV5^1}zuR3UV!mSAhtVnt!Zl(FZzG`IcWS2t^dcZ@*!@5DOo z0*UehP0tY2g5Xa-y04iC$DR&K6GrdF_)zhv~f9~QZ-pg{<8PPsVP z;vIwgHCxfQ8zjJ%`1X$x=676f-Nil79&N@DH(k>HEv!}FIGPxwLSvVNz!BfL8TzGU z-9bmQ-avE0M#3;&(FOc92E-Bj-8kx?W?Dt#flif=f;kiQBSb6F61P8S%eVJ1X z^DLDJJ7CEvS$`J}mFGLD7HP?h0{Db7*aPz=|Cqk+xyQR{U?im{Z&%f-H_TS#PAg#= z$_SPd8uUgz1gFKBS_Lu{VtE9^6|9Xv$3qr|ORHtpIWwH(tYN`?_Vgy#?#3pISvF&i zN#ofYo5H1UxtDEz$cJgo++T^vX7X+n+mNLbu{Uf=KqJXpxPi|}zsi%Y^L>~f^x)o? zXepxi5JP(NUh)p<*whiOY54-3AJy2kp#1<~G?i>3`wMsclBoAH6}+D;JJ!5ME!;6s zHt%IHyDQJDo(6#Rc4HL`VKgH8Yg1q!TM%l)&;0@gfgDy>-~6~e=IYgt6bv`He32(C z_>ixo9%mPtTd*Fr8Cv)b{c9P0*IrSJt#M`P`^-;#*$N(`y1K^C#hn|iH4-4A!+d(-#2L-~Yn1yFx1J`Xj_FkCh1`KqyOU9iGr zZiaMHVKYv_+`YcezGvbpEVpDi{DpMl+6j^9`zFKq_Y_Su9(2w!HbFB;jzS45yd4QY zk(NL9Yi}`l=rw9@VXfB+gk5C=56F0#qEUFZYe$3^$`1yx1;aJVLQ30^OORv!{%8w9 z_u*yy(cD^KEW6HbA%)5K-cOVx$g1kA^$_lQAon%-LY>nAJE9}NBUOCI57V2PU>UAa zD1pzk(f>e}J)OjoQarwOMaX5?^fpB!3F+5x(8JL%^(A5-TAP$cYlF~qii8HHBe>M< zD-<4|t?rrY{fFJc%=ebgoZBOLD`)E||Exi3U+qRdEQG(+_HHELFZl&nb()MO{}L=^ zl|9=>DaDAlW_W>xB7Z4gbBOO4Tm-IM(W?r=0pCm=-|Yj>Y=mrxOx2C)_5I--c3X;K zE%N8_1)X)O9G2<>7I(Ez6GinGFD1I}0`|b$#{LfF5z3zWz9XB&Zo|&x=21#P0-SXfG$y z&(VT^@RjWk#xjfC&EW<>FP9jHICm4L?)7coW6)X9O;!ZjyI+tibRi}$BPP4^U><4T zV@Kot>T+XsoG9&U9|Bp|WP>lp2mN-y=rUA9XgPh~J1PC$d|mRQ&q+SL5V>Gya9kbp=h)&U zb<$UN5dUY?ef(D$^MPUezWntNMKrLj#DvZL?prB=B)T*AJxXx_TQt&Fcb_V<*P2nd z1H#^cbQix$3fv~0eh7ei&6fR|6x80W zl&K}XPtQQeU*J-)x$@SEMDWduKTwQ)7+=B*nJ(DQN3#MKNV*(p`Rv|EUsd?m$(=^# zH)JRk@SxcD;k|P+es2!sc$(7>AcQ5zVuhvjT4wcH&mmj-$+r;(j>Y~@PJ1UcgL7gh zA~ePf={GGd!4uO3hq1lOv{X;C5@m^?Kd5V%z1RDfVZPgg%f>!nc~c=~!j)YSM`!-h zR>9;uwN?l#YBV3zL0h~F8xa9^|CDJ3HNtq#{hSPf;NJ|4;q`W`)c_j^sGd{nb(mK zx&HT*xI+$6)&3TH-%cRT9`$zB2pNrx#18LmdeWJ5OsdenG$<{VH!t=MzCvp^_OFgE z*b1T5>`V(fQFwnEoGZmk%j4`0TsY2{^=>fHAI}&s2FZn*;sXdvXUind_pH)bMk{3U z*RGJEH}%<5#KL#L{rwT@%uh~7Txs)|r%rnOtDT>l`hDIT`nkRuf;O99QdmYbvbek& zKPk->v}C3|pE2sE;{fXSVS6`Y{{}H|IhD@$X{`2%&DBZ(gHS+4-;O;~o%*Nt+SHes zjk?_#s?3b31VK$J4KjZ4f;+t}3AFHWU=(SXA!5mQra&=~{bp(LBhZHNT{E_}yz7;7 zhpS|-e(u|%V-f7^=*=4I!>vSaw^3Rg#;K-iws zQ3$Z^{hVHI+pD1tuf-*&nTb8E#yEe{ApnCC0ASF75o~4e9O(G2oY%Z@wOX5xDDurT zLYJhsUhsS%;zDXQis#$iAL=ivQvWB=dg~G$Z z5tRBXWpyZ|AuCsP0VvJvUvJc#QKVyOFHcxa|GVRolGn56J34WDn=~(OuMf1OJHa^O zpBbv%uAlFz;Btc;C9JN!Zcpr6KZgFDCXwCv>qPtf-EpjVkrwy7kA`|Lp4`14i=iJ` zE+tZ5eOKJ%YH5dTI&A*gm`VNho1dR%7xl+#|3 zzRAAhlI$6B1=UM(zx*=d(UxKYG+E(!c0V*_1RwZLHnHn~Z$%KSvms2C7NG`bCf$Dus^|}zRBWpovD*;Q{`krfitE!DF07(bUuzXF~ zp8B${i2eALr=oaaKL4{Gn)SKiIsf>V@sBQ@j~{ljI6C;IRoBZYm-V`$?V-MHe=??> z>E(;o%!ZSU)Ms@sFv;O;FQJB>F%t8Kq4@mTIfUD%);0!IOmUB973xEh4g;QQ1^}5b0XpPa0qGiO8(O+)DU8J+7XIMdblNI$OERxuV=}SnymvKWP;O{AS zVmI%hEMbD?$7( z80l(r4(@LvNB9I*0awHUo{9y~`|L&%aK$wDPG9$=AbWB+j~4LxL0)M=qzps`GkE%*bJ zcN|y`G#;O znUEKab~8GM=Ro7{QaiB&h?r~@7`X6>Psxll+t}CzpmhYfiUcPk0!L%L((WtwizvI? zF3gLKo9I@R@(ZRb zdAJrF%5?9nKn!e@u53OaIa24%#=CvXWj5`ES~Dv1Z398F@k7@G^eLq~lVz}JBc%B? z-=hfQK-`Ab^&>PfMKnbFL5qF+1#aM+NT&K9eSL1Hcx^K?SZCH;ma6b4X5dryYqI2U ziIghvVPDCToexEVpJ;jWy~38QrWWtQdAgxSw6oC5xG!Z+p37g>Rm^XP^xe^ApxIZA zPySW0wP`ZfTIvaGQ<2}uJ44W@Q{>-+}j0s-cYyH@goyTxUaPM zzo)LPjh;$iY55xHLX6wAC?u}TtW&wWvK=mh0eOl>lgeH1l8NKj4C_>xooc@qK+x%T zg;lx39)U<|;&&tP-kFVE4!}(f@(U}6I(5q#tY^|QICg_`rfSodI_Qb$qv*~1K!=Za z&aLu8sP+6KRK4q9)DSUB;>fI1M?U!IXzaGvF)tiJ+OLHS z7rEajae=y=Lww>`6!3-cI+9J4F0*j#Z@_RCG|HJEUI7=AVg3Gr6A>z8lhn*>1qRWw zRg{i{PwfhT;8@Z=vB+9t!=ne7NlB-v9Y-{N~d`da4l!1Yt>St4DFgi0%U48ZT4(XSzc_ov259b7;e- zI>l67@k`3=6hY2=5;ilS_eJndD?Y^5DpYsFSG>AT&5^5n@(If0A#CXs0HG>&k;ySA zgF^(%5wmh$4)%J3EZh~Ckf@VwV7qv`h+?YvFthYL;YSD~__v$@sg?kmV_~yVo<+Ss z&plVYbX@vjiq`Zq13~XAy54rIg!7RtmGH+b^6i-6Lj~@TkgEvH7U-~<)Hck1wlOGE z*$G~WA7)pH8Q?ne4b4U+#1U10ZsgWsEwl zu0bs3kg*rS$JtDP_Q||93OI;h)g2ccs$l5mi=|0c@EyJ(D+Ep{_in8>F3ef&5YmFo zU3z+E=vTB=_=%;&@!6APS5b_x@3VK&^(X}K<13Aat{?ey$_^roD}?)m^NR#sg?Oi% z=tS@fLYRM?n%Kvua+wG5GrRV3%}=3-UDsQ0{Yft+Pom>-N>h|d-%W}#-Wy* zMD5wLpaS*v{=MKAV0Rxy_!2~xTqmso2hHH9Gq_S97$xp;O2wAQ-qXhLbVJ(>CEClA zViuCyHNz6F2iV7=G?r&^_JW3Maoa;nX=tBeyZw}`JF9SF;5_lcp-iSf=bnyW`xOKD z^hmQMh{`U}HYnXbHEKX~*H^N9O!+y*`S+C8|LbfJnNx{BDuvaTli3FBRx`pq zu=m=cW^eVK3XQ~E5f6xE*$CRrYpu&NBt{u4RNNY7khJM?Ok-<&eWmBLuTK@9_en<0 z`RaWgA?F`Tp3)6H1&e(mg~M5|K?vY5V;}zkeedq7F!&XPTa>OqkiITo#aZTl5X=v5 zt=?MlzeVX#aU!;St?x>*o79{2^Kgg&H@pMVJ)=nU!tn0FJh&li6I7W`ckyx0tDe4) zL{gw@M12^3l(QD~+@rkRe~&edo@?K=qgFtp2X&v0&7ns8BX^jk|bS3s7=kDtXz8>yTcr);;jm1L-sX_hb*(te|{|LA}{%7 z3vZvu^YWKfjxYr_t;Bk%{Wi9lE2G~=SQVmuD`3tvheC_9@oVv^%8nJe((zI{(0?fK z{I{r>dQ!E*^)n6kjXo+|H!&Tk(kx=Sl^mka>NVR_t&ZNy0yWFvRI;J&r+LpSolSJ- z%5oVS?VgpDCMSmohk zUPYhDNovd}uuh|KT=)P_7v3=WusbJYc0tzxecGABx?VJ12DbYdCn^Am_d2p8Y z2DmK|{hffr;S*ZHdJs5{kFOTUcmvKvAn)CXU^w2mzdm${Nw$2WG{|(g@ zP)di|hR{4~B z;pbjDSk3U>`0z~C3NI1J?(Ub$1!hHKHZimdY&wMTZ(sM|Rik`3d5`O#+5Xr$SKa$J z=@w1*TS=>659y7wu2xy02iBz0%a+qpUpBn$^1s;{M=opvM_HKnw@tUXBa6(BbbbW! z$Xc}{uaVf7D+~sOVUuE+EY?w!(n)90X2zRt>Z9%#q&7T*)FWEpL&(b(ObapsY^e8A zWNZA1(cliPN0iL4q*El2x&zA$kzE76fcHWpTK(N&je)PYqtjSV5P%RozQ_h@W+egq z+I^PJ88!`N)4AFX5;GrKI9gUfA!7)Y&i+XJo25p^uZo(-z%zMZ3L60rDxF*cpC>p; zvO;Ulfl~)uxIDoB`86p!ZXs?%s!k?r?i>(|(!x>wK+CKQ^gwI5bh&OcE1CXV314>l z(n)lYYAa!+x?*`1II%;Oqaw~(36j@A+J>V~fnBa#wrF69enMb?7s-1pSX8x>l>-sU zG43kee;4J(oAZ4o=fKPic2+p=Fo5PRvABX0*@QF$}7e%N~4-<~RP z^|>8Ppige0uK5&3l61V}t($kRt)4KN&GbTAYE*EVs0=FFQmOu6iA3y&h9^wR3|$!` zZoH>G2RLNo1%A`+LiX+18Ka)i*&n0#M)5@(C26z1_5!w`I^pg;TvJ@}R%HK|XLYY5 z+9HttcIaCm)uzoJL-C|5_7~}v9vdD%fKOSaKky^7zdcH@PKLzW=uJe~yUKq7Rom?$ z-FUKr^|6w~Y-{^&RCQ#1VW4>Dxn)mM) z)%Tgr$+M(J`(^vyTz$9`BcR{X(v&02GpSwnuCk`UTVC`NXW^?+g7^jSpEb1W$9EJ3 z)bca4@`HBzvXACs1YU#j_};|050rD;2zo~r`v7;HMD14lSqFRE@N7HKF02MzAbo7Q z8XherA>k9B8dI(Wup?%>x}XJQ`Zc4!r=FKz+yR0CbC(0LJ$blmRVmfM6a-;(-^7t$ zRL6StnhD#LxY7tTQHqSiUIRcytR`_tD`tSKd>DpD0E4siR;5+~7<(nlKBWECzUn2K zREy?YI)I}w#$!_UH-0#2rJGTqDqRK2)z@t$6du>VLv(wdlp1>5CR5dGJ&*H1;i2Yq zUF{IUQOxGU3ZEM6cfA&fNDYbiX#b|T;-!0|SM*gE;Yb=L83F%>)zo-3pca!IXBD+> zyVkyexe+U7P3DwTTm+M+b&cM-b;7*tdsgdSWUg3zJD*{@4It_n-S)bl#Nt42tE{jIB%biDg%X_8@VIG?oHGoyWKNZ!Ysmjb#eVfNbB zCN(zM<-87-$w}VTyJoX*e*za^36(;128Xz> zD4#UAj#OOx)NtF|(zXYbSyFC#%G{_f(IfW^ z<>z#I3?BQVjsJ)lB^f@jerRUL;0xsXpJ|=Js_eRt3_Y-wMT6|noVC_s_a;!N(ufElX z(3SmoDbY~Ik=H%U^Uwe@!`MZ8{aK;rotN$FXn42?emxLpS@gP67QNKYO^E1&w5=>C3{WC^CU*5ZPl>?p;RoWlz5oxvy1H=jrbo& z*BuY_|Hm~|R?CXWmc6-*tAy-i@9a(Xh@*te%ia{BY|bW^c{rQ1%Q$xuiZi<7==c8q z{_2rV9(O+P_xt&NzMf-*8t1t|%kVg3s|P!Lty#XuX#LA9<)y~=pAmxW4HC98U2a1S z_-yAWQ6}Yv_VB8VC*qeTh8l(lDz&#Y#?qLCi=K3}<5a2KNM3tuwnMW%ryZaBjC|L9 z9&(uH;EFU|-=mxKyW@3)aYh%|=o`ST>C~ckMYu>a%!)Ev0rW9bFXM0>LXY%TQEUw3 z#x*^b1ZFPxw;5rLTj~8$bKGk!=hSW{n(B7@Oh`96I}jn*WQq!(QbUGuLtPeveU+@~f(>y_b$%&n=hs~Hs42G&hk58VV=NQ*+}-o76`akRb` z5$)UxoQ3CECQnRReM-3@wu{1PRiEE#RDVaVc;D1G)CSJG=S~BCuayfUw;i?2hVGgt z<4I!KjFL4w;Qk^uNuA{W4$e!7vNBLah)1N!0%JBts9&dTzArO4vHu|y0KUnzp8jICChr*hvd1QEh~FJTScKQ0L!UMat%&iCO0N_;S&Y2&}QoLi#1Lq|}iW?hh(@Gu@I<6uR;&|dD4z3PD z+Na|9UzonTz#HiszdCjq z3qixPoT@M5dM{WtJkpQs?R41^ zF>^((yjaqnskQUsR$Qf5Qq~8lS1urwK+A*Wyo16dq_L z3Yr58!%fk6F<-}(fCV{kr8sgs!K+*kr?t#!TZS?U|of=*O_m>N{Jb9l^OGT%pW}k!F9SbPF(%wRVl5wz_dA zTQJ`!My*|lX}dFgx@Li3+Y#(!UDo%FtwOn^7ENydnHN5cuG@rfCtzy$Z!FLd*O(Gwvgq~y47uX!oxY&68n zo)9!TbC0p-f~(k2wDwW!^Q?ITFMqEVt?e&8sTA2DwlvNjmfDNtD!n#*E>CTCT(M}L1g zC0*4gUZRgpmaj{wqV)Exd|)f%HXxi}cxYOg)uDD&-;vIzor~xK zNA$rT_+OMP6-w0gP=oeVv_w z>TynLdHCs4sO~O#KVv#T`u|v#xuhn4qGd02m4q+1%mM-Sjd@p#NJWfy)%uR=Bj*o+ zGDVf@ABB#&7{0;!(1-G=vR;I;dbzonVsPl$sD+rg_`|_4uRR|q<2EkxmfkhtaJLi6 zy}>-5nDhGnuW00aiN>ORZ_B!E7t(hcsfz#a&DLB?Jq724KW6*YE*C&6f)BoP`^+B6 z>EG^=ewU5~yz<*Ocilhi>Pm<5kt=^6h~1N$jAR=RP4uoD-11g1m)+o}h0Jf?(Ooar zQMzY-nq=V5QHd`NcOdaL;b6er*8Hwz5@SB?2OW9`{(Jxb5ST-MhH;Hcc&6ZWc1p6y zt@qMF!zJM&VFqV^{=;E{kO=FW<32DmRip(y@&v;dDLZRx9n?i{lK( z79RIDcX9oiTE9oBg5HCjwA!b><7%qzounK3XN;WlS9tG)S`_AnnpCb7N>9rm>m?}a zm?rO%zT` zOeS|roBmSq6CVRY-gvb?r{#vQ7xf2UE^?krkU#E%z0aP8S7A+qYTV;ObhJH$PmlitqjpXSC*O{PL@!nH-B8eb zz{k)OsOL>YgJh@4Z>(8I9atj!7df~=8-o3Au!x;*{eMfrF1|St==}as>~&0phnSyH ziIvTLI0G}BzQvfm)7Yv^ysTtb?irQz{MXz?kaL;QY=;M1c`T(?NH_; z;2rZ!-J0J8SC}8XUVd}> zAztOcuKTp}sbPPcHl;dNb?uuuc$EeiQCxsFHm~r5?T_`wrxDwsr5wL}C2FIT+(9Ci z$vkGQ)&uKacJ>a*{t3d?LS>NflYn#D^w9!6#%9$>Ntnc6XhDc})KJj>X4z9>0wqAy+2 z_avpK1)-1nIV5wG{a^J+*iq63y9lQm8$fEOHmiCv{FAq!49lP>X-Xe1tSxn1wr`V^ z|9)D=Uqx>>uYxyE@=lD%mv3P;jc+#}pV=_8)px*V`_l9It%tc*F*3xlzN|8x(FgHH zr=rc&ucunYhhtCg)vxPZ^J)l{y++dOZi*{wGVJc21%k&Qqlx6@YP(&@n^w)gmfhGc zPw>cmH6!!!bPv$`w;55gF?=&n=|&#UU+Ev`uB_iDN>nD7cJYuiw{5*88g-*$`qFoW zzkrOTB$Z1c)rJh;3=P3}i;t1N>L10swP}Mh0c^l$4DL~hTMG#iLM+E9$s`+%?eR~Rbld+RfpK*HX$#ODN z#EcOGKFA?LOpp;PN34o~7_-wiTp}yY7;|Yo^&xX@<63YY+yWr5=dJpiyQ$Hu0F*vz zCkOkP&@;2Z{D-p|(_c3e2{us+@!_c%Q5Au`kyz&YIj)~r$Avz=?BNl;RF|l!v$423 z+!6egJ8RT=Z5p3jgY?e#at;L9&=35E(E)eF~@13XIw73ug&DkOa=`)L*0Nh&PIpR5~I5`-VyaZ_wTtM0(}CBSd%wQa5*+kBj>u{U@DA{J($@R zCs?km6Vr2D4QeQ!&Kr2dB*Nb)%<+-&bZH6|B|k{eeNh7FYt!j0p`aZBY59ESp6qBON`mOQ3KIR%Sw$aDC7Z6R-djv!b=c}uCZt*qq&^@+ zHVVcA-cbU`Re{)j7S^*4<*R&J2#(;Oza9aJ?ffwqnDzL~cSeQ3mYISN%fBmN6o z5RMx@dFd0>B#>rp6+-c6&mlSHhT1!Dv`KD-3U>O1&_IMEr%8*$W@rn@6Zajz2i7z{ zeoFQ8h>joNTT*Aj7lsp!)Jmg;3s5BsmFj0kF7dTGuzmwW?QH#{`rEM#;#Jn=72Z%< zN1J}^Q{WPd{(ATlCIb2HEVZOE?OOj5T%c`d%m`}urOb>FF9(+(<&Cha+;_G8#3av^ zAU69K5<);_VXiBxH4%_hOIf{Lbpr^L!k{=s%59GVkA=1g;C9q~Ro10j)F3Qu_o(S* zFkwERu6J1R%GAo55-SSp!#bh17na9RX=l=r^g}6pB)i+fp*K6oI;Sze5Q_z+Zq9?W ztnv7-A*VHts|DGmJ>8gS1(gNM%<>D!ZM^&1!Lg#!FkylAUMM8#;2zhs?cDhiB?Wzr z={}bdD`pw(wQ{et@-fX&!|=WnsFToreGu82R+S71rERH86XtHKHPsQ3sskyE!kr?J zQ0=y*9DgROwSlvr>BH`Ga`~Rxg4}icVYn)YxI4yi+Xl?%{pY2?G_kT^Y@gF!fhpZ^ zM8wOn1$eG!?Z*L&Q_m7UVx>6h=Coad-Q%Mp7y?#!DLkjH=A>4{W^7&*wWiaql=FTH z=GotP`iCrY<<)&r)G7DYM(GWWQu12NDo(WTOw-X`F)bYiUCV>$h%1Y3+?zwoHi2fc*SX^!h=TTF^OSHt$I?gvJJx^2`I?a1eqoCf0 z%w*si7cn~@lY+@qVQYGSI-XDLHZH6n!aZg-I<3b2ULpCO1fQ>L;bWOnjtb9juP5Vf%->_r9N zgCxQCJ&A8Q38G>!x1LMEo!}l>yZ#MJ{vN%i`vY@e~I1KC-N0hxhd!dS2_3lGDz*s}2SNZYe0h0(d zm>zIEnI^DuJQA zi>=2U<9DR`BZf=23AhuJhfb?gD17~42TO)o;jO5OFlIx{JZwhjs$*MVI<}4d3h||M zN&(16ZazfK;m%Ne-S6!@dhtuc-tX0vbT|4~E^k!9w#fc}K( z;LLhj81^kxi6xnB915CmS$<_Sh9`y(4r}F5gtIpS`yUL5QM9Vam@r2ujEvnJR26Gb3S+3^k_ z0#U8l)ISO_!`YKj$d~C?O1jvicBZ3V@CP3wo4={uNhrclq$dsh-~qVv6CmyxQ5eM2 z8M3@)o^I?2#=Crtv=f$~7SIJA3# z%_Ct$Cx$vGUUJHvME_yL(V~H^P(3CfxD2FgjsDtj_~~sopZ+*5ZNx@oVT#@ZLnvYx z|NDHeJY2>)S}-Hv+o2|yZ!~$n#QM$G@7B6iS*DXVRN|>don`@J&R^Z!ds^9KV(C3| z=^sUz(x`Hm6A1{bA^zd-` zku=C=o7xMvv60*=}Z~d}`oGg`ELBx|`sG#|x5gLqm!{xn$`B zAJ%uctCfL(RihL_p|AOHz30Lf7T63)&0Q0dRX}BoM3`s433cLd|D89|i&e*#6qJ{t z(9|z_2bawf1@aKQVs1Pk-$hwtyA2q_Y>Wlv;$NgR1X8`fUfZ+6(_ z*DJq@ifs_2M)Wly1eGQ0!{CS$6G$VYQ2DYG2h-$j(;VbT_KkUilhw=FMYH4%)R2c6 zQC|?-%$YZaLb17NDjI@k`N+JBopmqbYVBocG zxn^b&9s;B0)OzZw1l_Lh;w`!%kT(#rUY8+N|EL>|5=u7HbhI{j`HeR(x6Zsu-f>OR zrVOpq&TXQ77;|lxol$6Uvwo_2B&mlfM}*xuta7PGI7Ty<_NN0;wXle;se zKNLk;^aVH^`;!()ND{aL$Zc&1YZ7#a3R63+rgu6zCKi-FRx=j-{-vvKGSvI!o~&>u z=M`eav!M8^7hIhaw4xT*!$)hzmW5z0Kby|12phPuOofmBG`}pR&*03a>ncf4#Om&a zQd>ZPHI?zEN4*$V1>S!R%Q^D585anE==*TNkK@%qn=@p|X)WoTar9X_eYz}e&Fvl6 zm08LJd%>rV9Le_RR95JLQ(}>fz#Inb2b7SQalwrcZb@~nB}1#nuBL0p z$kN`_=cd{^8=(qzt!(H1gkpfvO_+4ZPF{D)wb>_|v6@{_D|__fsCMaVw|LaLz)F4D zxh~9kfv9J1@^zS5oZ?vJm4bvjRa!)F=?j(C>-`vOp~so5hR@}gfxf`=oU|qHDoRO? z=<$K0wBET>W*~#-GLm^HUN4ZfHLmR+MX$G!KJL44<9$ZkWd`5Vs%o)V5Qq@|amxI+ zE;{_ake)KA#R-CY1;k1~;o}G5tmlqo)1~NN-*Vp)Ehx5Ub%4L>L|9zRSgK=C=E=3b@0Sj8J zTIVrlXI5T&j{8Ey3zKUxRMUR1c$y#OSj@}CH}nQL)GZ0nMT(=}&$T6P?a{>u2)xPJ zgo$MP*-mlpe+NU1zfNnXg^jt|pn7B7S~z&{Q(?-J`JZ8_cY8*TGPDaMWfCO|!rkQM zeuawdW!Dm;W;#t>@_a0kD$JGlj&r4sIl|#Hf35jR)^NtvJgD=QIuHpQ9#eC29C&5; zMZM!MeQ7ql{*{g5a4|^n5_9Q|W~o7@(GKy1>nYZjAy-CQQ(28_fak2fjw>{{b^DYj z^Sr~pZf@h4LA?(Sa13|u0ST`sD|)ob)@6x6%zbbR(KxX=kI!}cCNgh2a4@HK#Xc@i z_0b$fJ216Y^Ov|A<)h1KA`sL??p90*GqD94 zr}{Oi+y5PIv5Oyc^|@n&m?}jkKfh-#X_F+i{~#}=xhnV-VbX1X)Bwu3wt%SY1V={{N+-j&_pfoucPr$Zeki6;#3J%;ulSO!37czH=ZvE1~OU znS?3za^?_r4SvQbSTuQwr#_g0iBd*4DtxeOHKQvd-^u1~w!sH%w90#iv4az$E!7kW z^qDPQ7Sv%eP1HC5)0&iX72SFs>afM<(f||-p9|%l95c4Ec00A;iQ-FjP5wa46%bTc zoM~l!>Zr!PU9X)d#JfK-(RzO@?jJ>uPhXIge`Ro^{)*{i+`4SHkWu&p-?e0DA6kIJ z>9+JnZrGJGnf|OR9k)i={7)VM1X|j~ICADrMyK$IRTP+p-%3x6bvX;oR)RPPEpOTN z&huK9oxNx%`&$i^=T+$$yh5F`V*&?(;UJfwvN7v}bj@(5UWk|yllHs#zC%$l3+o{( zW9Y8Q7>~?F#!c166QN)SHUX61(DJA;dRI7TblfBQLfg{n1(u|a}#0)c{s$>n&9dDJ2J${e@tVf_wtHuN=A>2` znWo6xec5M$L>}y!F=3sDw@c~*%ywCxtPkoP9kM2c-?&bYx;1B41q+c}ItnE&-wQr> zoXrY-&b*`NWah>ElU(1={WTsfbB!DVLoIYqYc4f}@iISDfuB)wt;ubEN2PMLv0n#T zO;oSB&2bFwlkBDBBKBQ~(=9Lj1$v;BNYd-FRka98CcW=%6dmGsUT$TreVL(bz$S?o z9pbgpJs)0&g}>2!F}kN{PQVie3aI+L#dtbyG2HV0uw<5j|Bu=>?eZu#=KrAhDn2|i z8P#>m9kqB9NH=2PR&DV+w@|={IPwvIV9O+>rT0J?AU#vXg9^>_;{=13B};3!Y!H~H z>@u5pX*_#W*R+gPr1L>4-^_n%_LqrrTuR_$ZLov`R`xKf#H+ERaD)GpM>Uk7G`(F9 zNXK>yU5mQ?Cq7g0@I#O?P_*i4pK(0w1Amv$UBF4tJzJe&GIp65gm+BSHz?#ea}t#T zj`OjHN1+Xaq}B};=bA;OxTDY?`D-T+kLSJKVic%aHG$;TZdl zkl$aT{ej@tVVu&1qfBYDP#Ju-g87J9^Tn|JTF~CO_R|062ND_GY)d*m7sn8r?{n7Y6MZnv61r>`wEgJ=1lDgVfsL>{D^&@!zJ{=E zFRfcdtkbFq*%}>J@EZBZP;1_~djDN6^y-hav=h@8g5R=T{%{twMisuquk!K~xHQu= z3yp6?W%|d63>R*-I|?-%ZQJDww@e2S(Bdx2M%voqCspQ05J#90OAAEWAbGGn6yX-H zbvHoU8$3c09(ol=^-dah`a6L3_+}eIKMFQ#;P=?i}OQv_zWJ4Ny#(aQh;9rdzoXZeo4``_pf+i1cq^yh%i-@ zuZs>)r#Y_M%Gu7c7;t!UyrqRo;w2baSeH`|CQ-8KKXt^=Uv^T{VAcP8-+iH;h=1Z& z<@BtmZJ91o^nqCMv)EGzTJV9`ob<`b!D^D4ApLA{kSAbU!e}vcUyJ_bGMDt<@DL^JZ=bgV$=9?L}1pI zv=}3|!f&}2jWo*)qV6adNX=>#NBQ!~8TUQvEWShA>ii9Z6*^w4g)*3li6+!}rUPt! zgW)63S#!D11j9HIPQW>Fd0iuMx{4V16i0=IQ>>=me4+fwI!5^Bi^s&pXw!GKC5fV3 zdtsGLDlQkl`>0ZLzjbcCkS(VS=U-%Luf+~-W{aU!`UVrDtxaBnJt?C%9{`l(r8(nCl+<7mehXr zCROgu!lf^lxGfaB;<=hdXA7Fv*v+4FGTNHse2sqAj6D)ZC1P6 zN9$ax)1|hXN^5&s|K;9WR@XZ%Df1L+=Ak*r^-u@{@RFblOfd?pZ zFAtCNgkWyphaX^wahj3K9QCS^zy2tOk6t}#@OnwiQ+_R7m4v&QUYgn5v+K};)70cTF&VyhX|INFHQ|CY-Q#h0 zt`J`hdaw3X?P2h5>&}RiL+cS`!YRJJ^l<{fC?6 z@giCg>7)?fct}#O+b_j{)rSWLiZvF@GV5rdW#n82hg&&a!UIg_=V&7U3n zj0WxyBIIkJa=rnerw3g3<^$)rj}#f7CmIHhT>il5b<6$i$Ek&AucU!@>kX-d6zn@9 zlf9Fm!+kNuS9(~$wb7A5Hd5B0cM0DZoBOQX`E(-EP5$@b6w6CVmLQt-s#k(eA6!rr z?o(?GC)$XgV2#v1{VEc3gL?Fb$kl%oERG6M?Y};`mXam$Sso% zHN(4u3zjF=v@%sqkKzz*o#ymB(leo^M?8;)e9Tmf^Y%F$U$UUgg4`m zjwzd1B>|uQ%tRWl{zff@`=#fq)bG%;i1sD&y~aPlf1ycJA<@O~+|8@h3w{F4V&A+3 zskT?uc~X>z+JGBbHz(inF1R zuxs2B`wHnV35!eU~vXXqV=+gJ@c=6%PnT+uE6PV~;+L*$movsX_+K$TuBUoN3Id86lyQ5q<#!IEH6 zFCKA=RVO%_Of($PqiW1U;s`CNzsuX>y@==HK@kHh*1 z;x7LfFpB-zn?rX?>`%g}KvstHU{66>b+pmr4y75B*(Va;l}Jrz?)oU*$CLiqTvW)u znABS-pas29PD(|OxaT$B(?6rqSwb+*;b=L>+)ais_s?n21y261+As{kUYUaPOUU_c z1*3X{eR{g5zO|F3smR{vP^U=>f(Gf_Ul-y?lnD_I??m0MmK2h%XU%X^2QaF;KZ$s_jjv1Aje$00O?#Ch;7)o#Z4y93< z3cpjIt*5D{cRT5aK@>YRa6B(nKFARbBn0BO%qCf4*5<)@Xd52qwRg6;=@(W6`ajAh ztgOj%Nd{KW>Eh*Rybu!a&cXC2y*!<0Yi+8WNfBzj76oOKL zsti1v(#X9QlAYIu{r(O_KY3A}ZE$k8WkrA0T3)06`!Tv;W6pbpoo<})waC5HO1)(j z7!1tCPd^+g8Y7;6INlm+MxF=5;R5Xi6ORK6>Wb&n=93D!(hD9CU-eMjhKFz51D`SF zZOi+YHstM|-``K~?d;f*bSknrpiD#2T`vm>YnKO=gxe(tztKG^n>m){MbxO+SE1q` z1~B2NECDy3)bzk_i52r{J#v*7JAIB#*B3g6ah1>?`BUNuERLeo!uvmdOke4(i!a4l zEMRXFW87SyeCnK`A+03O&)T4X54P!~VsAvI)JwM*^{BuEaHgesKO!&cW3U=N!}l|# z%0&#)w|3$2^y;E*;py2~s=pcR5F^s+L7~i3&i!M8Rr0k|DEtm;$8n*+>ZuG-mn1i3 z8c1C$l-e#2^8@^5XtnBPbvL&G$BXsyLP1lFwTmkj{TWVna2BN6D?8FBq9*s`<|6wj z-#2U8{GO&~zKi@TI%|<}HS|MC#=LSF>Y@}r!$E%?9UjFkTQ|9TulheoG!&1mIkgx& zH;vYJg_;0oklgy7kn!Nnk2mXlhX&nmH0Uyvs!j_JzFFeYEOt+Da)~Lq<>fcQ7Fyqt zRW%Y_5tXrdTqfXHtXBl0T0H-1RxtutzW@SHyxwidf1bK-d8GL8y$<8^(*)EVpLJDr z!=vJF{v%0+Iu`D&7w9`NEGU_*18yKoshIv1@f4_gk?VLATSjDgMhhL-C{6`=e5Ojh z)&4VmK2S6R#X*1&hC;znU*6UZn;+EF!qH9uuDE$K;{`;*5(+na z5`--EGXY(mj-|qWHPt1Vgx;}1Ie*51sn70*Tx$tIy2!ObhI@7KTeL1?k}oy#+$U^~ zqrj}^=4t6jlR|D=UQ1SbuZ1oum)dt8gX@i6`wnra3>Qa$gjrGCPoZjmHx>_1Wrlp7 z;rqV#<|>6&}r6&ZKQW zmOS%n-ecw}Uogi5@xoBNi6FTsVgIpdiw#8#DhLlLUZb52KO3p(XB zPe|@LMCnKzngv|-xqSh)`Z8#Po?0n`4}&5MimDvb{Q!l08e}>88rd{fVVX5jDFeNP z6eWL}Y76_2lW5)FT+{ z%89am@4_WXTKPbC%iOvl$~7WFo|c6_s4V+%tl^z+*@TPX{!#1a z!Iv9rqbT*bf=JC$kW<)r+GK&$Q(}CT@baPqSOplpWV(d`TR5}sB!Dqu!Og!qIu*9% zWf2!q*uxgn!#q)umi-f{#NG{k@;e|e+e93F2jgmD=)vGoF8lf;0FgTso57-ngGp`k zK2Vtv0zfL&!n$%3m>u>pD~#8JM6u6Dz)7<(o7w=r)+^~MK4cC8{9HD>5?az=ZOGc- z7X=SIZm637vdYlUq;IyJt6yXnFW>vsT8{p7X<;pO+VAeGEmli)U`ZUg+^pOU?Bm}z z6Te2Pb>dK=cwf6!5gldqL)>v6Gk!jX+Q>vhmwjKg=9?@pGv+AZ{q>3aN-p~{pC+CLMtbtSu+Q176$qKg|t$5``a~(xwd`bck2uV zJbLapBBQ0s<0Kej^k4U5I-X5{d6RHlWpcXUYX_-Yx+umwrY;wF{@YO$J{ARk5zhHX z;W)Ims{1Tm`xTeZYUaDP9W|E-;9(L-7U3b@X027(@V|>t1Mt@piq2$=!6xACy*rYc zo8Ga*r^gPK(W-5%-)ZgDZVfr@%v%FIY>h^yU3+b1Fx-6~ga3a@>nq1dk^?HHD?LA7 z#vQL~fFQRfJ`9AzN!r=ZBGrdXqjT5i)=ut)e_I*2Giv<#X9%kd&Por|h9;{>nuN() zzouj-l`+^}`64a%>_sW;&Up_HgHY{VtmbN+;E03ecL3(<(JiJ=%m+g;c&~@P8+))( z1reoeW~Rp(Ywup3d#bXV z8MRLt-8`z_Ey*kh{}C6g7@$L$WZ>KC-5)(g{wO{DQ4aP;5VDlD8uB}nNy&s2A19O^23X8!xF8T#fm>+4&IrB)kZ-|uC0NFz;cOB}Xr%Ja;X_b3g=9(Z$G{2oVd|9z2&B##%~CizAsjmk zq8=nDP3^&;*lIRy8UO`u=BjqqhR5pC|D%W=nPK~ng`M82cX46%Dp&V7{V90Xit!}vD6e&m*&+*BgJ zB2s1lASEIR=o1;fJo@#(I@{=F^&d0<*dhv%yr-gf#|;9R?`VsihFr>5x&!d_`F)v$ zdcu-Dt;|5o$e9OW%J5XE66?dsE*l*AxXoDM5%@I;mD-Ede6~=9i5Xv#e*g7DO15F6 zs0XB^ROa*5jvA@598t1}=DXUo`{!iSy{gWn-;qs%f`Aj8!=bV*BLPNhCnj-Z-~&f( z1u(sO2*UX!^ZE8gj=N+10Oh>V2t)U)flc-H@7kkG>@Hir9jUE3`L?@DEx`gbD2n>#&6JUG_s8%wTL!g5mMHI$lX6o;jdBK@Em3KjD68JQRa$VMJeGuq>FSvXt?Aq zbd!{zWgIFKy{Y~^@7g^4{q}Faplw9H63rB3#QtxHyWCGnHxs2>Id-z%aZ(8?ct&zw zWyW9)U>qd;V*4O#m0r(r%DL2BftGpOgdLlflJPb6pTdWR|)~JX*x&gi(p^;6XWH59`EMU#%vKpM8Q!dc+V9BdKrQ~{(k52^`L6iWuS;7r*1mE0%!yzPV zFxLJ^cIO+fOa11~vWssT#%sO;E!LkWPd8lBmVV~`(xs<*tU}0Eeg169aWuj&xRLwg zr_Al$o<1G=6uigTh1h{9CP4w*Z4#$jU*N1TLw zY5cZ~ajFhgE{)CA!=x`mu@>lZs@f0n%QJB z?pQ3rOfim_O7kOY1RR$qI$DT25)`Ri{@$ta;DtV^`&wApmO=}@!nEw%($B+yv2B00 z7fRsmM>a7}q`GPh1P*(b(nQL$v|yk^Bhhg6UW}qLTcPRSk;?yvHv7*@KjA=X+5;aO z6U@2B67cbMBr#-;P>k+ZPu4krn^I{Yb?Nn*M!2&I$98U)!B`!vB@#2lJw$bf)=?RYwAKtf6<*5fXju-5bN}ky^*s7_8aB+th+-fWEHu zkeSTNU|Ew~YXUsyU=FCC^jfWC>241zqh89K62yojms|zPG0!f_Iz|2t;>|5q586UF zT1d?-Dn$I3OaHhPzk>fm`#whZ^DG>7q^LSJc3~uvH+e+BBw@a}j>`tJ+|vvD@H{c^E6U{gnkJs2ih&Gg1NA%t?A= zdn1$`afBFbxBJfqeix%uM;Lum$3G@J>)Mh=S+UU9MKAf#sonX?43H#BH1*~_YcpZY z$s6clF@}>;O$~6!9VgA=sqEW@<{N*+-Gl`T_#T|{rbISOx_}E$Q+ zol^feg`&%g=YrL88pj^7g#MD3eQIxUSLc%*T~6p=W#d%67dQ$I3PvY(W5!O5&3J)* z@h!p!x*y<0^-<}Q7Q{4*R#nKQ7dnZ`9;@zMWqVaI7%K{X?N5~7w z4LZyyS-2P%-U8VNRscko`NwG5q==?2H6WG`QUqI~F_okD~72 z3D`YemdOVVC(S+&b&}_I$8U7BF`qj|#Q)12*n=a3BTcdRT-kgl}Q9pNm z;P&po&8Q_9y4uvm8pUEne93GSHsQ7iVz@u%!iDaMbJ%H~8JS!#P3O_KDxVGI6uE&( zi{95;tTqvE`>I+6w{Xop+pM2Roch)N1{1850r~)+?#=^IT$=Z}T}MAlt^KdpPy^n5 zy8k)e@lP!75hc?X%btSOYjW+j61i5;57_oX^Ptx$SXpa}zEwVT{f4otGJ9{A8E zj>{sB&<`@m@;3X`beHkk~Ue}kJdrnNJ~OZN0&g8(YcOnV_K6MzY=7C=OTj+UL`=}S_h8YbM62KsnQ+t0 zBvYYk_Zv-39Y14FAeH4>#m*pRX-XFx6PGKF<*+YM#zS_8-P_gkb5 z(2b<0uV@?VCLx_JgmG~-8=g?1=t~kA`}U^JC&V zln)=|R3`!?Y?(W!Fjr#BXj#oOMPpVyq3FE+GQ>MzHk{)|99X;}^To^V$O=t4O)*J4 z_qfKO6SH>aFnl4c@7eQUD;cgR=2m-bMd|H~rQk=ukJL4NF1gzq^!JZtddN?$o`P!{7cZDthMC{4FIl zJJ3@sQ7MK{h<6Ws+Tp+op2f|6G|MX*cwTxk3`%sbi0!is#$#5y;6g#^uYZ}1&7`h& zt<~?DNFTPeK^c?;h?QQ?2nVuP_e6}{gMN5b20y-27{g*En{O3tShe_9d3Atdeec06 z`liM*m}7V2B1CUZ_!V-ii?ZoCCa;4fvk>c_pN@unOb@uQ!H(72o*BZ($FdGhs(x2j#?v z4i?Ts*&7GZ3m1Uci3cMJYv$0}7DGj?OSpzU?(BoyNZ*hFvfiMk5Y-H1-I1^5`_8hW z9<5OfBq=Wl=Pk040*xlJ$mOJNuXSjJKhJbejjhNXk#gr@2{n zPU+GPTUo+~VjWM3LB=c~Z(|TZ+DW&?x*xPTdye|eb&mSB#d;nr*dTA~(T4jPl@cwFoRSl)CC&y%3Yc2jV&`lE!7>LG z#f*G;(=7M7l+3X5wYa#VsxwZYXixQ&QD)R(PUN$Lr|`X*#SX3E-efGv*sGw1p1G3U zQeGOSAN5%-^GGaQ;$tA-+wV2Im1PWo%T+8hJc*_Cyt*M4kuj1aw(6K-67D4NUAui1 zWSU^O);35!x7=TA6>B4IdfHz`uUmFf-w@fY5@d_HBm< z;kq5YjO^NPtP;Qu3SAgEI)^BqW?+_GbpIZcKm5#wh6DWs$Xd z4c8O1MClsgw_ZH7FvF`t^sh5Hme^MfPRYm-oLxr82Lw?3> z>5qqELS`6^jFoaeeNMV@>P)&8V|YzaN6mep!W+w#phvl~|7QdZ=Y^@9>1hM@bpz)m zWg3hcG5g(qxvs);lY6ktRK?@QleqhBnq1OX1;;PbR;aAgcD)tK4ZX5t@G>+$h3yo4 z-#n?ui^Q=}0hM<>^7`yNc4@Tm%R+CLeahr--Z*Qm99mbFoHq|`J2d&FuSm6W^xi+P z#xvr}))z=nbohP}dm5wJy4BOd;R&|_$C*QZuH)Iu=V`@JOvF2VS9OoXK>w4eU`}KT2AJ2Ed9IJc*M>vv94fp>f18o*n)yw

      Q7i4N7P=BPBP#Ceu(wzg0y+TaQ(8|U)EVKP`w-~@GY(4#-Kx@n`4>?%j_@71L8(4 z4&me7p0?_`@p6Msuekq`eZsRkuJi1!;ehOJ=CpJv4-KWX6>N2=M*p-9Ks9hoXNk&h z-f=AOSB$q9IGX<4tB{gW&6(wB#k~?9aj{#lQhNvhL!G@3W&@(Qntz-G1tH)SBBk$t ze<{LAS>27;GzBWer}? zgLC&rl_Vevpk|@#7PvrBEo(2mTq&$Z4bRGjNuXM|?tRu>e6v&28BK>!u2pWDau^!Y z81;#I;7)Ts^YJtLHh@dAwot%eZ*`#%?<}}~wP?vP)=1NI7hOgBGNuBsM@rMW0&1Jc z?7lTmxl3g&Y;}D^G`etRor=SkhXKhs+`RoQ~W5Z)nW`UyIPc_KgW)gbU92v#L@qC2=`KmT{> z-LM^#RhDV*5#Y8yk@-;q_%&5*S0djZvMcGHw#8Xd_N1xy3FWc{xEvu7N2mwF_Pl?i zZgHA}Kl>;uCq{Ivz$72RH#m>KXgViHwsc93P8LT(*=~DdYBuUjxHNZ*H){Ql{_wEA2u) zD)iP+h&KM1y1RXzx9@ozd0VGoA|N&hiL>j)sM51%7WjC@-_g4wRsa-5(VAbY0Xi`J zk3E6iaCr$sp@dgA&&RDJ?=D`;Rv2qVbHAL;vpj~9Vm!TSL}HXmyK^2LkRJKK*u?{? z6DLyw5r1Sn<=&ZvO1!t~Xc8de(Ke%itJ?G!zo+RLC#|>K;wS^4yc!%&W$hTJAcsdx zWgMf(A&n;ZGfto&%gLdraQs54snZFVi3uN_>=S%;k2@XXc90dJVd>)*(mB)x#nR8l zH4ud3H9gco+6g2f4ysLUmRdx(7PzNt2~`xr+3wr|E{7 z@e)~^33H8B@yPG%$|XDH{~kq|a1y%TuLKHOu23`F_Hno!lIjCVmD4F(ur5_4HL!^?CU3T9) z)6_KjjTAs$7w%B1SIc%xsU0=53U!Uk8f!nyVK|moH&=ChmxLSiMlx)udJlCd)nbPC zIUTtkj%&>y1k)<%tpcy{cNm1!kW|Z9+B?-Jz}?YO=Vho1t9UQ_5l|SVP-9+iq_%P7 zHI!iQw9?^PYp&E4s}R$I_ecxE74?7lsb;_WQ9M;J03EV%QfwjS7G!y|ucNFM8`QAe zrog%nJc+@?((%85jr6Tr$iGaT=9iRg(uHfAknFP~-{ZnT*Lge$Wt`lB-9A}~2o#C) z?8Ig+d_1UPbb(+uWQW5X=`aH5}iQ4TiQ{jEg7tx+ee{F5 zj~<*icmfYB`e|}R?7l*eV8YI?PXfyMW_HL>7HPcwiyBaWQr*CiMXm{3*Aq)6sf`SJ zuli(4p`_?<9RcO}HFpyd+;zCz-oqh`#FvTO%w6po6h0aBw2V&ogS`J*xq}3E{=qoT{xmfs@2zY- z`0-?il6YJBtR(lFDaX-!YH0rP?N&o69LfE_TtS*6 zp?I#I?$Af4YzWml(Um>>y&OW!gtEt7d7Kp2Meb}2j|2&FCV>JnqYBOA4v~)F=nNIH zZ_k#dXnNr)-iFrC#psmJ`M+RuS~%GLo7q*5KPV!?pr#gT0SNwMg$H5tD%(<>W zci}B)w7>Hwb?4>&`dZ3gLgV11Eqv;?2Y6j0X)Lwri@V$E6U%YUFyXU;r_Y{$_=Z^- z&FKKcmvWyr9xjoWJHiR)NRp2xid2-$S}10|v|#2mVN!j&}2UXZLJwApP{v!AE zD|*vu=IWCy9?Si?2$4ByX2;YDho=dtxDOqg9lZJ;9$8XMk=PTbDaJp*+poV&8FNA+ zRbV)CGuJpgNW(a)vp14;dSw>E?IDR8Jnu`}7zx}SD^KU810U%-B;9_C%RpFf*m8$D z8i(?Y@>jRL3CSw0)W7PjI68+-w)sW6D=A$?lwFN!9^Sv@ImJSsB-L3`nL} zwTk;CrDLxK!D)wB!>zy90Mr~r$3$l_i&2gmxzqI0KBbv~99-YB-NAV$xM-u^TC+6j z2xVG56`{JY;W@DhD7_C|V>k93Q;uew0FcCi{I=KUGl`)KbK@HaqoO;)Zec$-pKM5L zxreTtK?WVL4h`3pIbO0f%kXyrQd52Zj+uX5xxh@&>}r=o>F^>G(aj@`M{T4Ab)?r$wnYg*37E=0687ppwm5oKB_^}OYX$M-9bkCnTu1vE=P-Nthz>B(r`fhV0MGx z_p|aJwUp_C>Z{#oBv2E}?ZH(#a}(GgIfm%%ci!xN-U_?c(ymw4o<=ydzLBoLPbC3t z(m%BOp059u)e1vCOehM-I%1`?s+imh*qU zXzmz+lz@w3fjb95W-O?*mcw1*4s@Z5sboVDYQiqT3Z1`dom2E`tT*otQS8x*J=(cc zkuzM7H^6urJUe8;A84u3KLsR$gWTSJV#}4Dd+>*D4((RjrwY&wn+h02a2&S`8B;=p zK)%zqpDdfMU6tA;%VHYims~Youy-Nt1h{G$Zr)AXUUOix(0|n$G6LjGs!C6_L-Rlr z@a;NS+%(~)5Wrf*51d;P{Jv#%;t!i{3c**Oah*Z>H+}!D-aS?u-L;w(h>db~F4(}D z(O8!jCjp_BfE4?P(Osm-HD!%E%^aL`^L+;MQL+TWNYq6+AwK1Pov^Zs$+a=$EYVd; za?+Oc^9_0-|BOP$JQ%(s9=Z-lScu?&&aN{>mYH8t?vkHR)JNv1y_f=#-Rs5v{7x52 zm%n4*_k0KEyF9wZrNkKM=&*U5Lz@rcy?j`9_Xy?TyBujC^4NM69Lq0wf#zhWg=_DS zaly_??La1O9t;v^gJImBi70Tg!GO<|uoZ(HH%H0Rs?idU!DwV=p7}BFnQZ02-C0Qw zDcs`6wP$3Qi(oUTZ^J~!r1^%dZ2#P#ebe8BuJeiLv@2q28DUw(8cjupfo^YYHz^N= zK$u(SN_{6yM3<|F327&~ZZ|pZuoX=hm=YT%3@wI*pQ!ivRmB}A!p+;`W^Vy% zX|U_AZ|+b}yJ`(d_#~oGn6zL8hl7Ogq+CtZFh)sq`I(0T+_zp@2X#kU z4eq`(fO#~WjZjs8-+HWO<}F(+U}!PHMXr4p)0kftPQ5biZ)gpXcA2*3 zU+FW9Vk@qpbp0HLarD;%k&lb*p38%LaMakk!4(=qA@@C!WH_w@bxnu)bmxjk-KYGW zkZEJSLH@laJB^X|f8m3D*bFU4Ohk*}Lu9SE4(%DmN}s99S&h&g?Yn^OSfO9U9wG=9 zQhxQsil}WVG=!X&wKUe-=Vb6E)9l(Q>ZG5P&>uh|WnRW5HcJ;9DJS2$;{ND}#C_Wn zb+0PVb;$GHp0VG_8kK@2PC9XcWLO&bn4kZP8Cg?8xlDuvL{r(0u$H0qzv_z4+q2Cv z(~_Mo;twX_iOzIWCvbmC4sAMvW0K#;$<5Z zkwC{FI=(na*9p1oRkW&4UGw&OZE=V~1LKcuvo1_@H%8j0;rOqkoK=lzYY`Uvt6>kf z5g5eA55{5niY;{~ZrF>F6$0QOX&*O$vR!uuYfOwVc(FZCrZz@B;Hpf?#)Wzhg(*CD zi4|cBGiRJ#nwptDDu#Q>HvD%9fR^G;ynsy}-AU4kR*4p&1`QL3y*jm=p?S^2i1}jf zsPc?h{#xLZqNaGf6K?p5C2k%$;(if0-ign#xS&xYW(P!Z-g=CoBK;f7NZh11+EM7d zj1c>dX~{tm#^3U9QVpWSx$|2-vwigE+>U)RnB0FwAy;&1%^v#AXPB@yeI1?8z-Se zu;j^DKDleZDQWGek5;peVlepm#FAcw=j-I>d-8)?wMjdneFgM;r3>?)j4WsIAbB>; zgU1LXK{8~_N!-l$YZWIw9J}rpsffd-5pzOBu$==tFXd)(aPN*!05r7F+<;pY>N~(K zN!*;n%q5W-T*vLFyySxdJ{SZXI8}!$@&hj7UL0inqydu8$+Y8OFrZ!Rq{e2F91(EM z!QHYmi=0Qga0KA=Qs&VM0Ieb}^3S63{u@mLM{DT%W7HfE1>oXT4gV)X^C4j4D*5ZF zTZduZKC(^+xuHds&og?qB<>7e2U0A@5{B$(n_GE%LUvU4@te&Z@y8*YL`-Esm9-dA z*r6qdR5Z4+UBDp^rks(|vl@1^E10;%ew3t}wBgTD*}mACmL&X`R>%l#A3CnwAfTK7sGY+~Qrs&NL*Z+F@FXXr~+9o~Tj;Su;qp5i_a7`3P5jPwYO)9)E@A_l7WF*MnD1*==xg@+bYnLvruC|T z$a6-)JmD)-^eGYsKn8(9KViyicfpCE@f*xQ*%cSIq6MK2B|0BA z+DW`*%9(Tlgu=-%i<{M;z$eW@qdlJ%nJngtJ2}hJUtQ>Y{pvLc!tRz4d|WVbfbcwn zMy8FcFc3iA)dIedMjq6VLVQOGlPBuQA^#jsB9K37$R!Hl_Y4ufLs&uGJY3^G`Ax>-+ z_?32XNg)3sS-Nq3}+AUb6zwm4V50y=crUCEKl-NtUo*im6)cV*R;Hc2gEKsKe-!5~Ss zbihGeiLx5{Nz0=EDFDq$;XLw@V?$;AuHoM^n+So1mf>cw8#8yh6KJ0VXO}WDfvok3 zTE~|6=7s&u_O|z2dJiIl`tgPMkA!M@X4$?=F`VBalO#ZB{MBHa;!y8zrT`E=Qjv_DZn!SIUv>>cFv*VCY^Ip3D@J31x94^*vHcTf( z;)|#+TUMO*XvnN)VtoiOP zQ=12)Vwu+?#AW72Rv}fy_1MH|LIyqK%BTY)+KonHkDJY8e&u+oUdMj7WKOYk+Q4?r zcKGz}uv~+Ts^UL#OqBQYV7dYxHzrv=P-lt-o3ofnht`%i2fu>%?3zZ5Xx1O;B`5pS zN}mUO3(@*bm&-%kbUcO?9aF7VP<**oH6cz*R>6^apdjgjvf{h^xrdaL9|pMiP}Q9S z+gk4J^9Zk9EiTu-B30S^ zf@c@Umhea7T2@-i>u51TY~IuD#YNy3a4?Ze``$(b)jf7kGO^D*M`n5w()atf9dhEF z4M--(^<&rx7m4{x9cRHIpt+46g7qYu###vf`zE*0HE2w+`J0RH7@?7YXDr0Lc?ecJ zw?b3KQM#g@m}&X*w`c}3AvqxS>1$fbotJy8nn&)JTVK*ZrR|tzKmg+?HdmyLC%uYT z(6da)!Z2G|7rc1(d@l7ICAs3~J!w8#Q?aJNn8%_%Wx5sGqZj!K9Ri_Fa210|YAHvv zVhq@dfR1v!pp zzFV^u`hHzJU9vGv$0+93__eB0*MD=HFDAVO8V}lSsdg`j75FWDw3o++37TlJ@Q4!Q z+ZNkb8QNXuY8s!f&f~DRrRA_q4Gz7~HD48S2Y;$Qqr4AYB@X-MtrIeHl*cw85@;aV z*W}Y0)3yM@$(_fxhU*UG_iwxxhTrfo-GQr^N8fQ-U!!%j@mlL{6v_D7z3FE;o4myG z|G`aJC@JjT?t{sRwC&XoY+pQnHBi{AUFpHu&lHYn}Hm)g< zT6QCEqp95thuJM1}paT6w-Em;Vynj-^-$w&|PDxP{#Bh{-YG097pTX_yx z^j|ZcOL3AuSU=l8N+Q+>A(}^IOkr7yX8U1Zh!sECbei>@91mYHs=jv#H@PF`#JzUA zz>DVxtDq@<(g9fSdFMSNF(%cFt`o>hGIvyVEp>u^ ze-*wu{KV03{m8+*Df1%DBt<#5uIW~bRf}MQR~=Vfhr^uR)if$J?w>)q%Ns90I<(K# zWq~m?QRbh#MqiYH(j+{)`X?Pqs^?CuOcX=KX=O}>t#~riQjJ}@)XB8Yjk5g@=WEB; zRv$j*9H#M7s_IebX_or_FH+-yJ3b25TGJCaeJVZ5x1$pvz4IN=-oDX|Q#BzjP{zF$ zPXc}ED>b@8#)+{8O|Oou=F>l-v$S-pBb@ds#NMeZ1SPt&jlaiIpDI_`x@btzJw3F;8J z<4&JxJxx&zATgFsBxa+=Bw00S)OqW+WFfNHLLK>U9IQgbep>eW_OQh)YJc7Ci+nW7Feq2P|=BwxzE>bPRQ3)sDGOXY|C7z?cAHCJt^2)I*+r&xg#gw zQ*T4VMpnYqd|G4xPVg64caw*rS;3A!lHSWOUps3qYu1iCBxubwqyHeP()7C0Ql~l@2K3l zvm(>gJ%Ho5>b2h!ITu#MJ}z@N1y~X73%h6}E~EB_F=f#=u2*QbpbXKcxSIzEgPaSmzIM3IjA@yIsZw!VyIT?L;3I4BxLl#J@>H`0 z<0Wgzh^?0D&=-Kcxs67%e3?t(;9@aTVsng==rBxldT`M5o|}o1fPf zcn)h_@Hp)y5W|PZJ$KGWiW55!3-4m`HUe**B5xm~ZXqnxB<%y~AOl?hjUic2BAa5O zA($@Wxc{Xdw=`rmnRqQ_24^?TR;YEl#7b98-J;E7eA1n6fbz2+#%wq_3f0eHtd>?R|1H+? zLXORt+g8sDqM%V_gJh_5xp&F7+n&svt4RtAGD(;>GYbrkJCC)~6v!U}e472OF=bsZ zvo+(cUsw{QXt6gl@#WJqvHfc~Ltx8j<0^=fMSr(F=VW5TwKmzcu~sgD&VSEWTqaD{I& z()4`6#!_Qd6rwPJLf+Sjtz*BWeDRv#EFimm<2U4+M9X&dj}i|3pfREz|B$=IIBb3N z+4k@0JHTaP(@$1N;nRM%7W9_l>p*S%eP2|UhEddjgxBy-M9d>Xq6=TD1X58W@i?$r z0DB-G)~rP3U?US92mcW?;CGGwCi=1~3rCF|u{Gn0QV)O&h?s__IM2|OQ=oy+zZ57= zaVoU#lu-eY!KPnNntH!IY+Nq8Dg#gV1^wfXFo z_xD^z<#g1?OfOANrW$n+n!`kSUo-=AlPFQwMjaFEho-&Xj5|i z^%rQfm~_E@NvC+sCz4e zpIzU}IN*Z+#>pe;r(*2a?S?Sne1No+l5&0i$@6(&SqAE(IU4QTCBzD5t#GgO85a;> z``+RXQ?hZuRWK)(RtqP=$~E-F3a+gjo+G@IL3>SdX}6^ctlQE=>sp`%oM)0>XYzk| z2QubXWG{N5Iwn#zSi#gYhIQ9mqek(Vbjf6DK#8Eph+msF5G3GG{5SLQLt%@5u_Jfg zOZ2f(Kl$n6q+5RS*?)tb)DOwN^Z-%2O|5*I8?mrW(TieuRlYy;9?gPd@z`U)1bsni zzIM!n-8+`h$=*IVeQ_Wx#TXjC0}ogD`&u;g;qz90X{=@TY}Kn4GBpnVNcv;DQbJrG z8Ru~~rh5Xc6mu~{a(J)R9pFjz!VUOxkp4h+H%Nyn%5Sug-I$(iqR_mx~s zajV0?7NaS><-nkkPh?M(`bRY*tBjDTlj~sg5_U;4#4g1DL}pa(dK#F>pWtW3=tgJV z&S;wHUx5VOKrr1)os?9`uq(6H{K7^j!#sP*^uaNS1m7C^?^422GN2ZX$ebu+niRcB zifvV0l`b-KS}c-VvQ@S#_im%dp)7HH4!r6uH{W6c}2=+t}0`jpixzHjiig1bMh-Qb_YXmDQ`|mtxjr z=el5H9RJDU(jbR9d6e{VlmODBzUy3HNLO|ml746CuGY07)#xcrD0|cw zkL=EMex*n5N`eX#Zsn>q&6x*aNt}AMllk^XOmn>Dott@+ydQ?YhhLrfqF|P6uKlpt zF7Nj5plwBkbei&ofar)AiOVd-|6K}c-~ZuMOZoN0t;uq3C98Zg3do6o%d;i!W2Zoj zgGgm{rMY8N;!zZ=>;G#n+}B_nQyLk?CcB)s+e-T5cJxI8;7tBK)eho1NJ}BN)IB_w z81-fisw+yy7STnl#q|vkk#>wT9?8Q8|nXHjf#zG#{WF=8YqK@JBvO2JDr= zLhl+KB7!*4>D~iw-P-PFme!o~*wiFFcSXy%$CFaem+-FhJ=bInhg|tiFBn5wTPK{V zda@H){@7i(j)YNp-F$J{-6YYaV_$7zz81v0VnRT-40Kxq6q6zJYR|_aRl5rl)A$-H z-tq0nAqq2+C-w2{*`gM}8z-;xHwooD2rpo*(k9CDM#@o7>00Wl*6rB-cWJY9!AC~x z{g?+ONv&xrnDnDfUh}f&zUHDydvzi4Wa^paW$gIIF-|edrPpV;o;C2BA}joM4Sh<# z$&QNC9s0C$OXe(kfhIZMc_ir{Be`xNk+Hz8nZu+VIT8JIiI$e!~V z!hMc8!7$8BTn@A+9@vrRc(($t4q$0}(xDAC# z(^VrHjoFfj9IqxasKLxr?Nc6*l`RJfI;s?AF}}`NlXZ%H^yT9AcWOGCukzkQ@EHLT zvJKJAB+9PtWujw5L$*1ZeVn8=3^&I-x?BeBC*-J6d%JLPxzV^Mw8TY;%Wl+P$#J;{ zKs^7ul*P%B1euUPnawG>1~h38&rMY=LSUhQf!Ur`-Z*Vq0Kfb+{_%q7g7IwqP#-M4^4T*c zTDF{3quim2*tEyvfmM=r;iQAV-S~ohZO)eiJyNR6xuFSZc>X;2MtwQH4!BNnrKMS|v zMIvr}D7>yuQ~r4v!}df?!1kkYpK<-u7r$}##;RY*%oDsZGpxp&Z9!TI#MLi6UjL@IbOSrC*C@F! z7QIe?a$fQ1`CWOptz~@=^jr%h_&vKKGmWT zkLpuEJF@ME0A{<1qmXBK=8j;JNe*Z4R!(l{qe#zUVG=T4rU{n-$Or+dF*@R8TS%WUR}I!ldbt(pTyWD^X){fo8`II z2av^)H=pF>UmclYlfRb&pDRt_Q;HJ6iQH!#@eYF;)ejOM8}6S@Bb#qHU=W(w5o;we zh^+n85hL&~elo37BYm=RN)+E&hZ6}&0BqXb;6IXG|JUH6= zb;FzIm=Glc3v^Jjm9)`nU-Pked#qZf(TFe3B#!_GW~432b$_qo;U&85b@`;MF{csC zC#AS^*MYF#PB59S=p&az+7)Tc`hT-lpvU!;HQF3nNu)$lPjq-FXKBn2uyQZ(|UU__c2c z2mKcYxQ-d>p{S4PUs{`Y2r+^P!E9r1Kg;M0KYM!dz2h)DjoIb3QcSC*a$@SwAVdN{ zZqtHDo2?qU&f7K=SM{Z(3P4co?2v?^Fekqn)z51OR#G#N^Cz#(ecJfLOB7~qZwsrb zpl#oOwsi$2vid|={)8}JHbS)OX~;}ZRu0F?-4H>LWgkm`lm)L(($^4t5;4+fjiwOOVft#_NdlZ9KZqSLjfYz?}He=4gV#;Q7#iG ztqjB>{(WeyWKKSC%3*z-2DReKZDo+ALmm-=ul|`!uhGxHM zyIGxNy3c@OB7_-(QFMqgND1zfdRUk(s z7EUNs$V(GS0``i=Q&JFLVcl0!Z%S(#(8u_@SIthCi6-HHBNoezf<)dXiZ3{}-q+k* z;zf=;4Kajx-PL@f6TJ}FzT_c+?Yg#@V zL&n20oq$qPDo(kd&~v2jO{t>uqJWGl5j(Nra{q#B3Td8@OSDs%47*iY@ZBk?ydl_0 zKNc~MF+pZFf0d5KST$5&udlxOl~z--rS?pW;j@D}%%|g}edH$5c8F_G(FxdeeIYOI z|96RKQu6u4Zohtdb7sg|Z`^Low;;%9VL?C)A;L>l-w+)#xGktEr0*5!F>nWR7&KWu z`5miY1n+Bq;O20Umt{M5@CUr5n0it>q0Ja~3H#d`I`!C77GBfPW(oWd&N^%luJ=O8 zWmdAyzr|sc?I>-Ilj-I08AqIY;qn_`LTWFi0N7Hws&nQf@tx--O&k6$x2@YzsiX34 zH}`;SOqUzbh9r;2YS?C0{dcLbBnm#D7dsabke4C#Z64?*40Le>+E`Xt`_A+psk&|* ze08SNE11}x&Z4+aTyhbf9R68*FLMEQZY5qRyHm?ZQH6+coBfl8m9fv@9N2o9rT?A7 zu@o_66kNH{@bd#edH5+}J$?yjVy62_GOaj6G{TRwUd@^dKBt zK05jc^f#m;I9u`Qtq&4%pbm*(;_wRNCgQ4I~0PX$1#IS*OWc|jQ>zQ^coHs_`hCeZlryo!I*uCp$ z#rsw9ity8D4PPTy_Uo*Qt7bD|QS8tuIMkZf+OzqbM{GBvECRS*HKYiphY;H$3k+w56N z!%0Xvf%m*JUFcSju-p3a5h3*^CC5|q%@Nt8|vp;Q8~ zrz{uq)G1QO*Y2`+e<#myFzhD9jl(GWjyy4qnnI>#?Z;5S-pI_j@H7m%6+Ip(GP@R) zmE`Z{aW*!ZhI5@+6ZZPZ4X&Er2dmBiiA?T98_4lqodrxl9KCh_7y)nNE6xd1c=I?5 z9muf(IEH`fsw;{Hvk}hegO%zsllb`_*m%AU`fBLFf?Zu>j$4Wyk~4GNw{3vJnQcLotYu01Jsblp$qpofe(huPRh+){y&1jZ;ruvM0^U(ibzY)ZLBKS?t|pNz9|JT2UGobd>t6%n3AqO8qsMCFt)uAjPt|uD^Ny!=D+w zs)upA7HsOTij|JyzwA%JF`5vBEk3=2D(T5hz?r{QE}F(mcV&hsbY{tyJ zP;hP8A9A@6u&r0eH8b`#vq?|DmL$JMe1nI*`9`IawmkAipMA0B>XCi?zE|chDABa8 z*o;E|27GNNDO|dY*EIE_MhNpElc!&#@`NJ;H9=VM#d+19?Z|s4V;lS!H|tmJW?22n z5gjY?9)Hc z({ME)UvaN2NnE(M+&kI{q*;ry7k=QBE&eB_=_c4I(EjQpRIk3HJJg11Rp<=CanGDU z(7sXV)@~U$kTUf3_M^mJTnxYTm9#yFesO!TB2!QWQ0+AoovkqYV`>dT_}oI4>})c> z#m=^S2GzH_tkEmJuU*+%`?`E`_^n5Bl^P-h)IiCh0h_JXDRY$WGv>y_;_jqt`Rf;b zorG5y{AoxGWXwDnCEynA9O^o`dd^c_O4@4s^GE;0zkNyt5s!k4K6qnAN^XKp^M_F5lJiUNV3LsCiRNy% zgaL5*b(ax2AItG7NVO?5euxIpV0X{KGzarQPfM^yvu{Pab z%s3U7<(tU((hk#_IIOul#Zh^1-1@$gk^IJC2KBsus4?$kG{#_ZPY+##4*%~G>`DB8 zmu5$72|19Kh6O9F0pz-5RpS9kCe^P-#;L<>ykt74q{KP(=)xG4Ix=aofb|@N$Ew-7 z3l7Rt3`9iJhCfR5@;*Kc`p{nXt`0Ta()`gl$U^zykL64RQ#cMQg0l9-@15p!q}|{> z1ScG@$d-uZTFqP42-O2Ch&OS}mk(bjlUwWM>2RZBJCBj{-tS7j{mL}|9@XTXiG3oR zjr-s{=EYJu#1qbVUhd#U^F?41{FuiLsEJF9qDlR1tx6R3i3tE44pHhw*BTT!t*0^# z^euKAVTBWKcO(P-1?`+?3?%*;^egK7^IRYOvF_Tj&$}y2r`%z*rl6S6I|ne=wwTImWaC%`w|93zR4H2AvN1Tmv=VQx zTC7QdMAO8xMQr{?`#ndl%F*6GUZ3D&B~uepUg7kv2`?{fCQa@mKnqTi-&5~^uaX!m zHrpOF1yaJDzSGeaO(6^MFpDu@m=?_>4Uu1Ugf3OzRHp9&DZ_j0ww+S}la=%TWo#?st7Pu)&Z ziRZYbYvK(N3mt8&k+jmZ2u&HX9ULOQ&csf%aYF!dA0{cm>~LyovZg0%O}D7|-Sk(t zsWEm7LAeixKN|9cH9U<$LC`Rtk{(Ct3*$s^Z7X!7gN-X(%^k!X1lwHGRlRKj2vor@ zQ&=>cjJ&09$mt3FG!F}ibQmDfYD<34cXcCvdb$}JM`R4NVUc%Ivby-?ZQ4SZD zW7QI@pzW*gD)l0~i*}wn_`&_`&=M29Q_j3->P2Mv25SUjms(lW4+js?#R^lgTD?#k zcpxmJSarp>-D?lzWNR<(GFI-Rehkb$TDr{eDq^RJc*N}YrqzjBwERgb45~OPR3mLp ztE&Lg3)x2p`%3{siX_hG_q?zu-Lr6&MAKu+p7abU#`!q5F<+#JPfQ4C#y&%2fa7s) zRKbatQ7nZR%HI2!qpM(JG1+bfqsUvV#|rT7-}Q#|`E6Vb2yhtzVfCaI!aLJSaR z6aj~~U@FV{_&&H9gU7rqb0z*$t04pM9GNn>T=2f1as;_qST+jVRt0Cj)2gqp9=c&@ z{AGR_eRac4FRdr>^0gXc{SZF%6Pp(u?Qe>7O{n5{WM-xWvcox`HZ)p_9gX>G5eDCC zOpiuPbfl8Cy(`-;M()qcfCqqm+Lg+c&RhT5NMy0~ks4Ar1NfybEN7heERyc@*>^5m ztd4*i8{S?&PGSBtlQ(}}NfP!KN4Pu(rq5wUOR!672p8o&sxoHx zdBYDPWAhr6y<6-nt6VP1w7zRFCw-szyzVKnTbf^4c_G?SvYG1(Jh@cuCFZ2un>m^Ep-FjolBN_;i~av91HnwwL&V@IFxrd~ia|6#xVn{!~t)|AzC%rrA0t5R+cJh1K8 zD%lVU3*R9shx6!keqR7adBz3TX1%mDCaizHy!`pSzmBJtZJw6ve)K;#YxUq3tS@}D zr`~SAQ}YL2+CrBbt}*KDbM+-gsbV}*BPBH`rD_z?VssUj2WljnzGRq6cy3aCRFF=z z+$hiEq|c%+^C~L1Y5J?lBZf(cHI2huG=B~T#tmIK6zsoKKk%T4Bbx353u2{tFu4at zuxv8Bc!?CKVow9dX54g!s%zdAd?R8HS7_uNj7^aW>#_u7XLSXcl;eV~uxb3bmK6YeFA&$R<5>gDNiCp(T<)H&ecKYz+vcI!Zbv zeXL(9=}8|SnG+RC98KHaL)$_FoOq{dwt=hQ3cNpQur-;gCiz8I{dY@*YbP-9+eO-6 z;bRE^Hbp6^HWh*Gb(c|*)Z-*zdCzyn#CE(f?L^FYtiY6UJK(SVsk6*{v2&xyU#*yI zT*!#eX;n_Yw6O=cr$=h+=d9gp_m(H{XTXB@sSDR-1aMNrSBLR~qFCjqAY@~fE0o=& zP!zq?m=!G&E@#M(`!`+v=p2oDVR&A1SO>rR%I4UIs^16yX{NDSQ6d3!!$~**Q0v8C z<=%SQ+=YT`TSB_CYf>WSnNJNZ*hZg|5iw~DZ8;)^eZS1z3+Fu{`I9SwG}8GvY|ej| z?#p0>>e|eRwHd+#mId$HB3(2)8$azy2?}_m4&G;oK7otQT^Vi`c&Q8!*Te`>^77wY z^y;Vc#wUnv@8vTDb;Ts#%9}RcOG<_i&i0pbI5W+`#C0Ma89$Js`Ad#5ZS4%#9%biN zVsTX~>LJ$~$B()Ehlx)&1-Xd%?Z(DQLLIR(H$KDYFPty@5PvSb^)9>y5&vBp%`99p z-yg{2n((-)U `}OU>gy$Qq<-xX;l3Z6xiZ}ZZZ#^kct`E5R*WF_4$LQ14be{)L z5b{pC@fm5uHYR74u28C|2h1RU|8 zfaIvrp`~QYSeP8$cdS9=1n(BQ7`!gUJ z`J6sFh=7m`x`j0zzI||Vfc<`dV(kVM4Mc2-E4=s1uYVTZd>+8cBpJS+>xF_gj=AZv58aJlB}!-xC|@@U#Tdp-xN=fAkSO(_3#YBnD-; z?DXZ(dKSxf6(8MLBOGoqR7{yUIi??ZKNi!6q?_5s4UYSjyw9MyOVWlS9-~H2N1?iA z@TKkAERej>;fk;;1RpIFExS*j{jqMcciF;w`0UkeqURd>tq-M~K-P<9o>|1WQtVFwmczyF{uo{fklKGiO%-a-Hjq(lekvY2-7BlXBzlzWq2d}}_ z#V7n#y-ge$Xk^aqdHK2+m^G4s752aNN$&BJ`co|ijSD$PuIllQADGy_={#(fvN*hKRfh90Y#<$$S zb1(sl$pHZp0eoMoin$h!7|@6Mdrak?_Y`sNxo61}i4rv(4fW^$SkjMQ^9U1N_UdewPBa zil8@bv=x*m8Kp*skGdRrt8A-|S3}txzD1zU(&Lx0D0a%J*9b?c^v0fm3%v(%OwmM2c=fDN_A_B zraqmrudyQ5Sw4izb{N3Tb3ojD&3}s&1m5t1gR5m)=7(p>`DaS3v|4SOiE-EgrL%^- zeK-@7C?%b1=*aGsv0}7*SW~S*Tn@!)2)(5@S#iUWBlBqz%4g#svzvc_fQeG)2VCQz zR{$_;=%11x%kL$aXO5%GaT4N#3Sq|{p9ghl_d39O_@wiq(R89&x(eV}8p&0j*g^qc=$#s759{a;IaXt60H}>YDvqCKKAbBlKsOQLj z{W)63GMRz!?;bw`iESvxRpznxc|g_G&Ts?<%-&A!_}f9ggYI$#xW3jtcG=m{Sbfu$ zIg*b(?nu;(^$sV;ea7LzrgfdK0pVf%8{y6Q+}K@EeNBHC)47awpKJfe9POs`#76UQ zy7Uw+n^XOZ2y1qdcEBzHPi$7$O!3Rb)5O`V~PEz-_eCI8y?0|bPZ;^)1i`L2F z@GXt9Y32+AYg=6#9Bm$`gY!2}+UX!SQZj%l5!AHrf zTvuPdi5z8g8<{i@dbb>c|C$`tP~_lHaJcso^B_-y30xpOK2f}`_}F>j{Ya*xcS+ex zwX(3(tlAO0hWa~>qA*WUd9R;-iSBZ6xYvwd9Cs~8Qwq7;UYJS6W*@P6!+J7JGk|Vf zL_1(^RrBj)!0_06Ug-zV+(--!NDZ)ce>MiTpGh3ViL_N-&9XH!vy|M-U+)W<6?=*t zNC!!IThAloq`e3+d?~Z%#-cD}Z~pzLl%?`46|pE0WPUV}pu*)8mt}TVANs_K68oSI z(@(S7R_L-3pQ&=6SDGbDS5VWd^xXnbGG>;6bK)Lw*R{BJ&5Q=Xt7jiFM^3hJmUBlWp&^`Qfj<^B_HK6}b2DPEqSU#XIraV4XV=d`vKWIB5v z(|_f?>>`+ttog%!0RGsu9w*9gD|i4b>&WUxnFdAgd>ak0{ZspCcBj*qCSi0{X~~o< ze+*_fx*s)SxwF*5T#I>;Ct1e+n_+%P+7~>XbsMgq=r<(3u+021gRY}WuqxkVh5U5( zyumO-`@oy9PMgBIY$uU|(ZCBG9?8GgHlcp9}Np3U6( zWmuF6@vt{mrXB)!^%;tnW1lr1DgP5T=B9Pt=S>h0#UC4+6aAJ=5e5bbbz)wxZVgYY z@!yeO{1KQ~=}ptv@s~we(!=w%sQL4+ta~e?N$X|Ye0MgrjBcvh{AgGGNofepy>{)( zwHq&~R1%y6k0tAX6NRShoP+PQm&a9A4!fK1s( zamKf^;?m8Zj!i0k{+=@w3U!USx9E6%;c=-qz)S=}6?$Hs0peRl-OUC0mZsB-&t1-hz3vTcJy?>-nMx`WfTjOTRx1WwS z=P;uB$UT*pRp*ZSMH5kElgdutcU`X0Yd`$vtU1}^)Jo?=3p~1-&gz4R`n6~lEsvU+ zX$3Ll8fINmb&_hT30VZU0(qSLeGZXn3?Buq=RFbZ+}`HmHKCAZ|4k&GM|Qxy1&)2o`fU&5Iq=jwM_K- zLn>I=xuFrFU+RJlG(x4zk-Ii}TZt$(wr;AtUJomY{k*)wv zfVkPcBSxbP)(#1Cn}a}tIML02bvs=hR@w7bhnt@xlFAnI)QZk7NI~Y+0^)*gFn*Zi zCS(MVMm_ETs#g{}*PXQX@u7}K=636R%$ikX#Ba56L|+=_MRTCv>0>5r?8iM=kmy99 zWk&IKXbOkGpz!xZ??R)74k(HN(8F97aR55jd=SEy;jwwxWOl z%Z#Yo9o0`JJrWd&(_n3%GBqEJH{?#)ZX;`8pT;=br!-u4H2}02EO+BaOEu%+`MXWf zg1z;b*MA_RKu@ceP+7hRRiV1zZ>{3*i+gnkjjEEfop~L`1bG-kt#;~sbw6_w@m$_f zzkPKdv$xsMNQoZ#M|bjo1uAX4KF+@XOV9U-<@{IgzyYtIk9PdVBPNl$t$Bt)8@81n z-nARn06qQGEMZWM$ZR!ppZDl8f|{G1X)|u-U67;kd~1t$F^5P{`|+$#Vs6F@ruw4) zuYewy#C+F3%spAUSs@rLy(CA(f!m9&W<02*sDTK&=wg)q8kUNWMW;%>j6m>00Bq+x z{RrE$Q6X${E&Yy2bHhXUvL0YkbG)Lt+X=C}7`_PIRwrU#1MB2)t2k7g?yC6>tNXfp zXB%zTt$SD1CX_`nLaoGp_R(V&WK>w`OM0p|fBN?G)%NgOsl9lXdOhD(HugwfXYH^F|NvydNB=zPDYz)rvIJRi9gw z7%fQREc_*MJ+sJ5gdl-D5<|4y^6)+rE3e3t!xwg1PI12G2Ny#B%YVTrRZI#~y=}>m z&D2Pkesn0hBnhA0X*}Ea%g%Pdg&f@Nr1ym$ey0~u;*UBCggZ(svo@i#r-M-NAj1x7 zV@qk=p(#KT>!N2)r=ppE2!A93)H`(C>OQc4_!S~*Fvta{FaI~Jl&O*^Fo-Qz1;IDl z+c}qj{&7xJE`w-9q-Xrq(sXv#vOOC-YWAYMN|$%-X5{*~53}Q(ldX){;DZz-f7g0KIz$|(mC;03T`Yv19j6Oj6ux4MOW|Fz+?y_8W{%KSAZ)3fuEE$*ww#2wa8tQMp`0!)n+NP}Ov_ zB}Iy|2DXND_7BPVa|B)Ujra(;I*bu_65T%Wa;!$q#_)sl5CnB21v#=*T8t`SZd6EXwERDp> zj~bNj7ty8tsWQaSO8eBV+PCvkPof_5*+Xj_uEgMAETEieNt%186v>5Ad4`d{tUUBNhLf zJ?A6r?&e7u)J}^JUYcQDGaaH7c-jUNnTqFr5SHgYGdQPM~>l(@F3yU$Y?c^N*#;BObaU2JX z0Hv7nbY<6&*ESA>RlI}KU(aH3C`UlBHKp-7FkL9A%)74y#ZDtWNj~* z>nBWPJm1D?*;YZp9z40ma>(XurIhjCys4MWT#b#9C8^<06184_`FTXZ#_4_f$IVgU zo+p4A2Q*BuBCm(vf7kx!(0U!zjxlW~R}(K!OLM+Bv$sYOi62T!c#&pyEZ#nh?ILnV z)PvWl^l)4`gI!zCx}J45oWBnt97u;6XuSvO9()nHa=UgV$)id`M9qDJ%i&~>TJkcG z7%GnwMflhxVeNhqcgn~hy_fV3k6zFWFI%~m-VkuDLhiYI@Cglt%WgI_5y z#9f*b6X*8@0rB{K>)NYRW2B$NJB1thVb#+Sb2k>m7Zlar`UKU_yIq&q2hJ>{WR+_o z*DdNtf6BjAp#CU8#`>bLnvtEpBc@{*S$Fol7Itu;M^kxlNy}K7MpWKe2K_c~fy-oD zz=hSurh``AnY7!`%=mxEA0BLji;SN+}Yf8OGn~ z6jTCL=}C&GHF<%*5TfVnU*wWn zl33nUKqf#p$ZHl50Rq9SGC=&^w*ZS`hJHnhO)PCQD}$=vsP2$^${qT;z&fhY^bC%B z&T{f{BiRj#PZILF906w+=dv$LQ-AK9qt@fxOGz*UrPYK#svRZ*xM-($_Gi1zujcRr zF%AZ3u~-V%rTRg98M{M@TA8Cf6L`?MFW-x4`>)^Z!K4VRoN~)Qub2}+P3eVKU68`fYXbjD`2i3yw&ASHVYs#sXQv*~I#HAsQV=KLQe581Q#O!U#V?owZ2!^(8)tzW zB>*^oh2aII%!~6B?DKK7ARe%2*b!&%FVF_2C)fUVS*it1osFxSAQQ= zvyRqMsN1YcS?vh})6mc{{yoDvq%RC+)*T%ZZ&=wRcoB$l`|sLNc%AG1hI*xapZXtp zk){B~0RFv7s-(N|iwZNQH=ORcqqm9`W>l%%0@g3{a^Q`WcC+`JjPt3|Zus=|qh@&B zsMON0T`kEWY_;J6te9X7^oC2O6=HYcJ$ek@wv=Bkb5TUR`St>-Jk{8 z>P>3+`GMb~?D>+42KmS3PUoE?pD`5Met%klMi9drS3%)gLVO?MIRI~1YOkQ@67b4z zD(UX9EeD*8H4AG);SmNr4MsFWKHV&zH5?|me1FW671N zyi)$abm()mo=jurpIdW}8ti6G8Eyfs)!5>HO~pO25gYPve@NxI{%=YaVD-Y4@qt^J zg(=-knzgrt)d=s|UCi`*@%ylF$rvtoc%SEoGd7{WqnQ&Q?z1H7144F_8`bzH$zZex!W{jI|rGMwNFy7lLJPYjvxO3Vc6)1Y! z)U3%oHEheeNQYk1T5 zB^@t-r94`gE)Io)wNGT?kqy_EGk|1_1#6lR$R{j|`7gWpDj6HkxuGKg$i_?JnhFs2KONDAEE?0^!GMMQ_8xwSN=T%bDR}*VbUa@2dN5-`%DlU zo;4qIGd<6muh~BE=9X<=Z2w{?MPv%^Wp1sOJmqUw|5A&@4~-fux)KGDIs7ml%R;X~ z%f(6i_*A~u-sLd&?87lUW(+~+IMsGKJm!BmUDU8HI^=R)CA=~n&VbIG82LfLE6u1g zKdA106!F5=5Pu<%Nfgw4Z6Dtm7*aZH_PP;DF~=yqp~M;ON2>3hd6%j@o^EwVLhWgL zlLH`0h}rP5=-SPK*boD4NZPd3aTYV)yen;oK5(==zd*?atSg&Vp5ovaOwo>Gl=6_; z+tC4F{Qz5}5!s|X#k2>rKPfTKyXW1T=YQ+zA>p<2UAtK$3tzjB;Dnq9kJ=~0fW3yT zXV$(Ksb)RBra74CXpwqd*Hu!Bc$}AR4yy8~x<`sK@@Zp%8;ppbtw_j}G<0D`({R`k zuTe=4k3J4=B53QX`5ggoIoea_29}1yUDE}+0G5;pVWE6a!tAk%c8auz`=77r&tYXZ z{k(=pEm|Y^L+Yb#l}_ydOw^Tk&QMtHvQH;@>L-A54-;~$X)1}r>(#f-ehK{Aeve=M zNtQ`NzxuSyK>U}ZW#rI3_q#~yLQ>6f*_HQjAMwMRmSchFO@`FYS?+(!o!sDEuYWcN-EUqwUp{~B5Bf*3jJjC@k$1Kh;RT7RSz}2vJ9$GCZn2W@w2C^ zztj}I23jT$KD9Hb=!V(}p4e?q2~jsz#dE&mPWHSBJYkjOUy7OS%L#?s>=x}nUjg1$ ztW@$l8}>WQ+>A>^Ox>KiGr=@j_i!>*idQ(<$BzWA`Vsc)B&svXJ@={u+I?`+?i!-9 zp#wJH>&drU$U~t?mx%|r%Vw5!e+GV9kY8x@@6>i={rwn(wtdy?ot<0Ud<~nr%3RI4 z@X{}#4-Zd!m$b4BaS0^LAQRctiAx_$JQ1mIXxF55{Q&3k^G!O75=d@C<tut+_J%r!M650O<{C-O{ zW0b&qIFfnRfNx!y3};_ica= z&N09%E~T(>XVQr>MWfZ+0R22$m@263Jj58$Exnl|=>z>d z$(Pt;{a93VP{aNSrb*4{+PsJKg5}F2MNyYr{+PT1$L;s@^!hq?r>e7eESVRby$_?7 zq#L#3*|xJ}B;Wsq7>(?$n!vnny=+?}3IE(tI2N)ghjrJjuqEuW_~ z2ODxE6M-ZNde6pr_uip)2EA#4b-JBojAUJ8R4cw^JT&;&z4G25k~vFT(`ynBAOc*& ztdPG#$HZ5d_3xNL1;@KP>$~o?Kiv*BCc0&4KmKO~@;BDU?$#twoU!zyhQy#L&LSa< zgs$hoFX0?af7_~tM5h8iXd}K>=x0X`BCqG0&O?;;$j}?C?$<^Cin?k{GM0Ei@cZ^O zaNFW{v#GwD^`?>6M(B)qSe5e7I@~|41d15rXsy46o z5J$iB)#(nCynB~I#ozye*_tk#J4JnJDE!k8WxFFnIR7KFKFOl%=q!kWe)%AbfBn@R_v!^ECbm1hJubZ|&72>{;dsGM8*8`)4dqwz4F3JJdXx zK{_q0eym1E&Wney`ux4ts&OU_M)HYS!t)mwuj)-Xd4!w3b1pBv3#&)#3%|#9J5&0? zgPiETK#~L8Dw0)!I4zTj33?}FG@w`Bwv(E<*Cti(sUs$QEIfAL&OLB}_x9r*Y z4z*3brFCHvZPM0XJ$f(8g@9saCej9RV zI~A_ayf92g6Bx`nKFU7ka5@B9;zqALb35lZBtCZ(a>U7bjPCoAt}s-=UP@a4`p-dC z##{5?f}?The-!!hU!65GDPvYT{$m58ct4pJchJ>U7qlxN!&FV0tdgm89oKS)4#A`s z^chgMihj=1$vZ3}Q)RFQ+B)Q}MM06zAx3XkRD z98S9+yJk*gPh73s?&a-^{J|#r(>St}L=5PstXJvkNoWrLig_wJklT}nr)Vr1`T@zS z63|Vk0`mhh@n>*vyR=WYt_BWL6jMM=T8DVATQYjcg&~vix=av5U`m-?vWL+Ftn-n1 zsDS#4zqMDRchic1i3v0kt=Y%-cM8Imd~DsML8=|7_*$*NyQ83aH-}!6pJB!q=EuA; z=FWDn)j+@=WGX6gTVmS_OZE0wjAKz3ZHxdL%?!_#d1cKFBq;Mp0PM9wF_|sMVaL@E zJ*?5k?88k2oP(usBrk3*#w+%Dpp=A#3up%>^@Q9jgoxs6j!S9kvW1_N#ylYhJ{jljEFa(tdVVoda2${1|omW zz)Z^&&TKtgK%WYh3st1DvrkP$ny|m9Xore|z`&I)%ck=O<-gO) zb+fVhGT5P^(H~B~qEx!NF-}GhwC&}9z2P`HGo4rp4zqQsOP4=C4csHKxu5`p1U#bFXpB{?#sI zU4ZS7L0Lo75AUh`<6A!IoI5H>EhOBYSHo?u`CC}&(+heA+%Xvkbjg4<~a9vZ9%9uvz%mX^- z+H0u{Mcd2-r5iWJ^Q{aysKa_-1z9e_ucR`hNXC%FI(f?5%a*|DAZk|)@W52AEB6pa zfsWh@4Uva`$KM#1E@lXq<<%-9O}D9Y!`5XIAk9GN)X(lZT1?u)^X|XjkN2ab*=-G2_a6mwY$E?c8jag$&O(cb}H|7NIpO##TNv$DTYA z(R)8W!6xGC0+@a{=q;|T6Y{vlEPUj_@qH+4=1r^)(pULg;|aogvZ~GMfpSW-awMeGJS$4@iyu z2qyQP$P{ZGIV!V#kfilYZ#odys!$Cvma#|6+y|x4;f8{Z!v!++hqN-+bnJ*VNjSY~ zZ1!SS)o_RaA&duN9!jss00eFEDu>+pa&BRKCPu3jH`Dl?b)rlp^IQuh95o}sY+Izj z;*U12`MX%Jd=1QRPh(9(f-@^6-|dP5Zak-2QLnOx9ssUG1!>0M(z%MlQbsFuouMF! z(RID*aFEgfn57Dxp|rv+Pt-*<@{(+t0K3{@sWVUVe62H83t~4?ft%u!^hOMM-_%r1FS-npj6E) zYp}DgpuXFkHyGEQ$wbK+^$^FB8V(@Ixb)|P$d&}J1>q{7cQkl2@*_7Z#TALdxXiqk zpRkYAiqp*OF?g)FTJQ8s4=^?Y8=K-f)LKx!k71^8GvN>zZP8}{4jQ*#a*Axs-X<1` zB?Rv!iSGk|G0<&0MsP-~rR`iFs`nt3V{=?|U!H1#eY9*DvZEjrede1pcKeRYk>UT~ zl_F!Yoeky_FT& zoef;4I>gnn3kt73Z6|xFVB1I|HPlFGDW7xooQDZZM$Ni7E0_9s4!bvM-rJFQ!{e8`B&;wnR@*Oy+ec0Fo!tOo1kk+*Bi{<>2K z-SS1(H{6tW_`8+0S{0{U+@RKVQ@ZL)w$UJegZc`Cydks0yoDa^^Bm{*dZz92Dv8ei zNiFV0*xtW!#DkHMwfn{ZLT#V<1Fa0Hz&gmv02;pNm=%zCgGqQ`xy56bpLRz$olPtzk{cp_&rhAx*2Ne>{qjMPqffYAFZ1j znzW33aG>a-esly^Qkv`X|?Th5e9n6SS+93<^)!=pJA)lg=ovY z8iHZqL-Dw=hYz4c4{C)mO$Tf1;u-Z7PY84N$m3HwqF467ZPGr81F<$-&+5Z@F98kC zoCKzKnRyJP@d>392gdjdGty>A<53sD?5QF!3>~~UzZyL);0&@do7v+;R&BIS`Yq&q zOE)yMW0ik4{0RIUZ2BwhgzH(Eo5L+ptO^;g0=Q_d%>KIu3|B1D124<%l-apI^gTQ- zBQWKYBg;zbw#LD`!91T*KHtadO?tT7IzyqKY&Mnk(1xGixhnIf-C}Wz|J25mQI5`g zkxG0pdi9>DlkfN4jtGU4@!;=y5s*7_a^~fqzo}ifm`>b+T^K&B)=#t;5q)#7i*K*q zmE$<$bDw4xxtB=Ul9`~m$ks4Vr<4plkcXfF1*_wU{ByVXj=ncs(ch5oPcBxjhx#sE zIR@>HQ+91}J{37{(P%>GJhP6v`@}d%A5lmln+g{8=N6W`PZjiU<5D@qXDz=!R4%`- z{)E);$;8zmL5xODQ+P8I9+%7u-Fqpu+0!QXRf?i%P2uFQYh zOPamZyeByl1R5yy*Ij`0Ge+&q?vzZ5)!Kf?tsfyoTvl8o#VUST&kx1BEE8Ysp?cGW&3xG$-j%NAZ0B90Nu{A7 zy%)4b(+eb0rAMwow*|x=swGDZG$njX!@kKL0ZF8gt>{@w2N4eoWU9_@1P*tx zm$4%5(?LAa1pDUCC^-1gx`Z?7z5ZX-#k#}&%Iu&Ybz$9XOEx{QLWg|T%>=Vm`^(Dx z3!yi+0hyKBH?T2&R_}PMmn!$WJfxnL)zG$6WYGP0nSfpppGK}*=C&I_&WcC%U8XMK^C zTF1+6)j)*r*y+eWl0Dp1$YQl}^&F0v1_lKe`nUJ`|B4MOD6gyZWYhjFq{->gDIwPo zD785lKqJo`AnZrL(9b(Qk<5v~8oh}VWE{CBTI6Unj{5|uKy4?XOqNNh2&_0A0(IY$ zq3UKe|2p{D>P&G44g6s7JhH$0y>%TW3~oI}8&}u>U>F1&^$L4nMfFSmWniQR00mJW z)GaW+hZ_d)cYp-Q(kLs(=aeY}`1FXXe|ypT&HS@;S2Hg~EzXGDC`HE_G*Zp@vaY9o zQN5wd&F}}Q;s7_O^|1V~S=iJyUF|c?qcA~%a5?I`6MPUuq2!>;_)GyK%Fi};hy%=;03FYt@ZM@B`08mpzwtMdWq}EJ z(ARtgMreo)8xXZ8sq=8#(!0v(S3SGNg-r9rj#gvRVS$*FJpU0rboO@>tHj--7f_a| z7H*k2rzW|k&4?R1ohJp^ZRY!prU`kHP97%$QU=+#IGEiQwvXriiE%i1OO0=#q@QV! z83N+z`RkNty;IEY{+c@N)vWGGMs^EiD8_r^0X75%BgxPr>{g}a_W6w-M)+|zegSh<8jwgZ%^iz}k-?bUE zyGzU6P_~a!LTrZ2u0jlrt)kQ>Ix$(>^#dDlXw48kpXl|SD`>kb--FkoY^xo1*HV9N z^K|TTaGxi9%gvFWY!3?*HhQ@xJb9RIQd9ORe zVwoe)I`$kLH0~I)9Y0Jz1u(BZg@#(83<*R|NCsJawasZD4eVX5j?~Dwm%zWX=G4?= zRf~$nmC=XPNI47-d3rZfz3)LPkMZFGKTqu~Zx@)+Qg3P3y@A=tW)ef+|Bm<$;H%XC z0uFhM+vjXr15#mmMIsY;Ilbcndj?c@h`-Gxg&Jrb)XeLNUI43JXl zW3{9-w5VTjUejBj!yQ&WR-mnS$bL>|6_aFl-Bml$k{Kq!1+p|CB=Cy>c;0`8m1Hfe zj>1v_ZI3U54HN;AI$m>q>KK}N9j1;YpIe(68Lj%HK*M8Ykcj0~`2X}h#VE|=j_B`aAa2|8+>#%G_Za-$PDxNntXU5I+ZmJ@;{0#)q z^n0)QN!i!aDE3RP1$7w!qj|$&VqAaxsL2@OLmZktIZ%;IFiw+D6awZBUBfcNaxyGK+NLE`H-GL|Ii_!ErAX`I z^YyuWbj8hwv!!8M{Wa)D*iZvKaZdmEUMj%54*~pG(g50%YuG9WXK|2O!#SzYLT`2#W~2|?dTQwK`mQOq;_BW26b*cKO2sS7foEKR{>fEY~ObslOAvBQ`J&9Zj9ERE5+b6}b`G%kOJHxbDVjAmjAKkPVL`TG;sylk6*Td;(O#8|XS*&CToW6Npgm=)PkURnAJ4Z2KpUWcXHxLADo zZ;@Bq!P?p1Iu|5xF=kEu&(r(v_ZLO)ZPGZs`Giigilh!}itS)DokO+4#H)?gy-Tdl ze#kqUciEAvO(sx6JQc8FTu0Oj$UwP*MJ*7Z<0mE5LKKa<*0AdUJ5_SZ9`O2!xa8g? zLnnUwySZZnRfD+C7p#vK$NiXCD>d^#-K_?~W-O{<=d_b&p{zL_hh{)|@o zF>?ZNP;TY+@(uelpQfBJA-2K9{Ke-(?6~-ptJ&W9reAhzg6!}Z!`T4_uK%vl<)o~6 z%deOtjoMNLazy$9m>tX1z6}G(P$DI1x9kw0@h|Yyjp;3>o+F10g|e8Ddm$Etg6EJ| zk2B&NTL0!KEjH>12@U~Bq$s8bRx8ZO#YJ@t3#d~l9rC-Ak$6_qhFM8@+z-VOE zkRJFo2Co{`8FmH&9%=x_pfcZW(sAZfh+^f_%!UmhD_!D}p*+tA!kzP`SSSIZnY;^)zEb%v5|kRhlkt?7_%3J;K> zt6IyWva@T+;R+UMuGhWSk6IA0?n>wHtRY$pD!C6A?D^D3ffI?D*pk)Rwv+B>2~F`4iqU!2K3QBJ%7M*RnD}{R2b}bsET0b4+EX}X zfjQ!8++IW6(S=1)#)H|;@2Hk1@$*}_eIXh#zHg>u4Zvu!v+qFmV57uo#IQ^&hFzUs z2@3$zh5mj$Bl(6EPkS}pJw%8G!QN{#&p3Th`rwk&)06qmZp zoaPL2pO~!!6D2z*+5dR3YwB1KuNt^Mk#b}qrvGTS2QJSOmONnor&cMOef00Cp#uA| z9t~{eqY9HDxr=Kfcy&;g#Fh$x6hTXtD~q;FnXRoL{MX})=!AOf;KI|e&4Fn`aBqD<98dpf)FOz~itn!s*ybj+%_izSS?E6w6PAyS zjz*{6v*a69@NppJ84#Yq=PQ@Q1Jfc z-h(6`Tj*GHjh4%9S0B*KR2g_&jWAR`F-|3qvL+vSkBjYFj!FR@Cyi*SyMTdb=|d6+ zQ(rDs!`r>S$-UE>g{|BxEivoc+Y+M)UYXn5X;gGImX&L5Y`AUjyZFtI-SBD0$3H_F z>h{P{H^q}12taaB*!uez-zhn+#y7X{r}CR!O!orwzuqt#)SXQXXgxL?+rX$gS;cIp zYXr2qjfgK)-}I5Gnz5@rk$tRvpgrknSVRh)@s+9l6?`dA`Y2r2PNH)0wGH@3%Bmp~ zP8R_VF}$qIg}JGjE;jH2tJUEAg5Za?6B0=PBSj$3;m%0LlB@I^$WHzWfVL=H{d50F zP<42LY8cX{>vrGy?VQO%IhL`hi%xNPxYcO(aMP>Gw6+@>{uzwH4`Z$AD#+#wH?dwc zB$VF(Wi4fV4qWCwD=_PJpI{HxTom1Pd9PsQ$ZBYwDUfnI;E!mxIg}EljP*{J7vOt~ zeN4k29%nK_J0xuzXSMAQP;mkUGWntwt*~-0TY(nuZJ#l z0Pnx+Q;q1o_d|H`iPtTH%=QVjPyKxUyH+JevD-e1BUfaBM)H>uUsE z8zDlyh;yUIr37U8nAiBR!MF5YYNEo#t zf3KK#J^YfQ!TQYu`RJ!eOkcR_p0g$jV#Yp&APxpf(M=!GM@#iibPd=T=<=yNl}!RS^Gj|a*3<$TaK-_ zY(&Km@hE~)XU6tQ${$63KY-f<%X?d48`i-;rM_a&#!d-spBZ*x- z-@zB(uw{v_&YjhDt47f5V5!53;Kv-Xb{9Xd|Hv)>o&6%BpDAhl#f&}A`1RB>#v?-Z zHmiHd9yye5;iiEhgV!|0z|Nr$-$h?M#+g*0p$J0+Jid5Dj`&6B9~p^Lp$N zs>_k_y+_%C@R}l4<2~OBoP+;vn!HB#?ZpgJEfT zvQb>&T15(zr2evd>>~MQZrjH~ah~L>Q8kkrhL|H}FWFFT;}}xD1IfVAKr|xpEJhLd zb8v!l65zc=ZC|OHFs((CD+edH#DezUw8mmbZ%tTz0xbOn0vWeAY-CF+y$v62sg!|O zMlxYDMRcvJs3V67X_7fS8SsatW!wM;#BP|2h=5T>?a8g|8ps{7cfP{C*vZZUf}rx_ z)O}#uZsxAV7@Ha3PYXj%2fk2rm1r0=K%aO-7r9lh-2d+yDqc)qH<+=iVxbHu@drJo zbYlab;m_*wN2qyP*Gd3QiZTJLelGE*h6!yf)crhJ@J+-)6EcJEu9111Yu1tB;(yl) zo+7~+rG|_K0C9(xak0J|RnOlP4D{7wTVXbaasb%_W@9AP8#D`{E)8>}sM(riw2JMB z;$Qf;+oa}#2Fa-Fu$3{%EvEfVVMe^%V76)>bC>ZJ&ukBHwSKo^;yKsXi<(*M@?>YU zV)Y%=D}C2YnkZGj*ibLb0Q0Zx+fT1}GMdFP*;X~ry;Cn(KvyCWSB9dx*6MNE6=B2J zo2Em~j;0&;V~mW@#wcR9dDO=6@ZFKtDD;CvSh68A&$o<`9Rx>jiljgqFUYfvGyeC?h9;cc?bN>?bQ|$^X zaamT#jKQCFu(1G9E(`T{cL9RXQZ5(ivbvk8WLt{12rtvKb25cv);mIq>C5}gy;cfw z-Pt(O&K?X3%RJFGpU7j`rm*(IWB7lV*^<`j-{!-43bx;$ z;qO1!N&_-&qB2NVhg!n;?D$dCtCsCU*jq>+VAQ48R9~PU^uz&|_$m9k zg7Be9xp(*rcwI@;4pv=KGy$SsNak?-A83{fSdHNOBVeFVub-o+CtFb&iY`(NY{vtA zGuBd5B_6hasOvH^2XW7XYdHS#ZYoJQwC|IljL!lZPZ7-Rgw{9<@fCU~XCscxxByO8 zqlbC6VA7%S07lwr;WE*TvpW)`v&EeHN%*M>jlSzFqjMY3l&5%TZ|TT8^ExvwT~vJP zbt?Q;DKvgTm!1P;@|vRAK*?HJMQDC_+H4OIjbJl;4>t=mS9E1uGx>QuOiE9KN|OVR z1Y{*ws$q|sC}A035%<{omI|MTz0=Pc2hyjcLow$j^rI+dX`tPqBJD%$Q zedAP8k(s@cm7Tq*tn6%ugY0$CvDHDP$PU@7Z0Fc}%Qy~>L-r<)kyXwS8OQ1O{(OJ` z@NoV(k29R}zFzlzUDxw&eesR){zF&DwMp$jXfx>6uMLhAn;765NX{DkTJcb0SLnn@ z>|}J6WRLI^fKbkyKl$p8_gYNIf9o@ny1J|hi3iw6)|R(!pE9gH6x-gtP&v;jjTjRp zK0c5AjZd|~CuJ#5Rk@dl{yveaVADv)zH7LE7L{+@E?Z!mzSfthQ7+?z;}@afk|G9# zcHoUh6?qx$Q|t_8U|rRs8#*#Gr^SDbyJ{03PrP@1!Q7S*XpqWAM1UsV1!90(hUMvSR~ZS_=>1hT(; zSc%o-n(5+W_?chWm9PCG|x9)J0Zh)KO`q=`r7 zZHRwjB^t;$nCuw;xw5xRHKW!iMJ2HYSNWsEN{5SZQ_q!`uHSc6i1zSIy;!QZazw`N4$72t2nJI}MlHb=|N3IDNG@UH_ zVJv`@suXK@pDP}`Hp-AhH85z$}GWKX+SD%WT<(*#^Q%0 zU$^i~H+y*-EpW1zu112H_;?W!VrJ&(IqWcl`N&AsS&tVl;ta|RADf4l!OVRxS{Ym- zhLM1du)oiMPA9X+y~wW7e^Gs@K*C%hji5P8w7OOz$CLv!!t>^PRjad_QRoqR7-?9b zf&}}9jBA~GyTIvvI3xoO9f{9~Vc`0(bN!sBzFy*LO_`IB zTU)T&&&}g$pWfe?(>weqly2~<0#|Ky#|pFE3^zh%+ca76&n_8)!2NvN*s2q#RPVwuU^c{_1xnl5J$fGoy^{Y3a z$1pKzC|M=~@Sw>2)j9w`4lreE`qMIHXd#K?qX5iyE56p`S+l*@w(XhJw)9s6ZPt(s zz0f1UQK!Ug4=n=)ue8iXLCJ=utE48B!mowzx5L%E>fUGZCG=1&?1Ysq*eCV+JMbIb zxhmM+%5^Q%vKg&*3bcQCQ`g$E6YOjPhA%$pgYL6VDa+*B}EFT@TxUuW31nxoT^6IJJUnXz;ln#;LpCK_{+$8^2G2N zZTGB;Mr-=W*LFKK($UN`tZ{q$(z-)BUyQwHfu*v9g^EDtnV*&dWk{Oi-t!gesLXM? zk~uw!^s8KWc15HYjKUQPXBIL0x$!#`?hDmiF3))W zQ5C?Rc5v|S9x755QI>a7BlAPyle#UzpVAMAW2c(e<8mjqzLBnszEAx}f@4pnZaVe9 z;oj?wwNjpA@40afQIb6mSDillDmWv~-5!5IjlO~m_rHHPsfRl0*8Q(FVJt_R?t1kY zr$>cuM;64G^!?B zU~l7Ih*?^njEvfl+C>Zx-@3;h$5w_qt?y-QNTx(`0bz(UTQeLo#9}i(3n~^K2~h1n z*Ut}^r?IH5`#+HK;=A!`>uY&sLdzNc`>Z)=woTCa#ggQlL(V?@nx}=uR&Y%w zE=%Iga6g1&W3#GWaxq-Gv)@U#hRX<_Ba{oW9)vhBelv3p=VIH|co1X2-Cl6$>ihsZ z0`WP;7A#!?@&ANgbQ*UG7Qmu2;|})fcNo*cys*^}WhOmr4^UYl?v8t+ENSacTlo<@ z=uUXDmhgJ2toykw`p@rU_2VKURPH#~GznwpJJItfvEwADO+5-c*U(yCsgAp8C~j_SPS+vvVBKnpBe?IT9AUH8fKcIipkhXG}?RDf5qY`4$G*Cw3-; zc_%#cICALx(cG>}0quLw@vymtxwcb|_HaF0u*zydY3REdXU9HXSz`8FeN^&CE<=aY zXph%wDOy^r$zeRb>MMQ%hcDNYY-zz(OpK!-An48O7J*HlmD7Q!R3D zvwIBY?Sqe#+@;*hK8HVcrdem&IKn{}+Shqs&Qa$rHBV3$s&%h-5ZT~oC);TPqGvmb zdU;H?I;b|t3(-`n85z#&>k-ki?J!+nnE%LgC3q}JuWThmP}E`;J~|Z$tN_ zV{Q8ULQ{ViKSZoDB?V!#~dy$LN0--u9G&g_A!e$wfoB)r@Mud z{N(^EOGe6mb`O~vV?ev8>@ShH0c8|II4o*xP4lCM{G_hM__bbzae{a?`Ne&V=bs)Tqrz6)U- zG)4~&4m@7@&1%pAy)^@#Tkm(7a}i0=LwRHRU8Iw6AKu+tML&T z%|_8l{kc@O4yie@)TOY7LdhFM`xCzvRU5ZQrwL-cjvVsU-qLO{#r6IZ{+^mLX`1^) zLo0R@TVl0AWm*?eBvICjA+abUza@a)@YfiHMd z{7_Dant_h~PJ2U$Jr%47|%|%By z?v!L$$3sb{L`X$kk3k8q6G1NqqG;ivX(l~1Xf3|b(~|Aj@LA_Rw#FsQiLb=4pfadI zmN^-6?Q&Go@F2Hm7(K?HnkCfg6=U8#`xsfd{eo$c@8t4cV1&^XcvwO3%a(p)&;6ki z+tiE;bXuN)410~{6s&~T-bIRi(~$+DYTp`j9e3u}AlsXsZggYzABi)21G144!MNv6 z{o5;voZfv1)0pSGVLRTR<_SHjE&H;#7xxlqwr`+d_m&QW0jPI0 zB$ctAxoRh)E$GZ&im~w#chny1o!a$&+14hEv+`dH{K)Sk0;qY)>#x^mPL)b4ut&|< zYTNuzC3Roa9&{^4wCT7wy}Cj%&1L+_!3s1Bn7!Gm$aFEOA9sox#k&O;p8y-UUd{b> zqa25jK7Y(-y|*GFV{@Z*Er;70dPyPy*~HvLW1OmU?UNPBmFvBA7JTI%-s1D}&|#~} z*%phcBg;eu-s+QWJ6peY175|n=^=@dvZV8rJ=eP!$zs*l$NU*Gy>1#vJGlyXDTPb2 zkgdnXQP(3%hJ8RRMg%JB>&BGc8BtFv&{GUrHpsnZjp1g_QX{95i{h6o)#HdC{thJ@ z&PV6w)c|UnNm}6&jKW>A_ZBt%<$Rt^dRY>2#$H1W!G)_irEP2*y2rXWme=MwXY_?D=@44K{etzw9Nf^i z@oaZyJC&g|BkN4cVYvV4y2FXw9!|KQ`p(g0m|H07hf|s%|Ju=hErlND%sv)0QYCS?`iyLFaI1gsZcvz7@?0l zn>utc0dC%-6|Mxps0pI?{hZ3}Ijg$$@D3TxjO`B7@*Y80X8w`rh$rfMeBQKc&$wi-^~fI6$}j zD{gbuj{QM~OXji#dEi_X21X_*{5e!-A8*(Ryy`^t$3rWGRqP_XB%J^+np8Kp?wBwU zEqd3*@8k@xEZb`fBwu8#I=e-x`I0FX6bM`mS+t_g+}WZ;%1VQ`6e=RMjP*?L3;UbY zwAFK0oiNQNToFIr2p?n3H&`gh&yhiu>5TqhQ}m8_0-Pl^(NNMwSJKZoOTrp-ny8zd zj@A8W3FLRifLUyc{Sp!E!1&#y15pz#$<4%S>eOP%-c1e}eIEoZk&fN7<2Z&Uu~m#` zxT?quLZH}%?>pm~A}5PYXz$(@px0ss*hFAzB(2Uhd-wy28@)M?t>Vnj4!q$v5ycdW;Cve6>RkokD%SgZmEI>vUMOwN0N^mcFM6y8maK`Op?p zsP9t8-n)Gg^6|mo@8*ad_5c+b*n-=I-K|n#_Q6Gk-QA|~(y;q8OF_H#i)FBy1T|bIiwLzky9d`Lee8WPL_Fr^Ej`^#$I~u16L#rht z8V^i&KN3ks`(Ka;DeaIQQv2+6I6XvH%5l@u?$Z8w_iUbYRy)}L>jZWZ70o2v9o)TE z5#RFbEryyRdoU0P$UK9E=9D2_s!c;J+7OW7u{eWwOA^0ud0u87I%7FH@A3w7?xqXh zk(q9*%lz`k8WzC$p?F^C!+t0Pj}7akXg!%)>{H; z``JmXzjIcoD4-<*G3SvM`#3kZg?1B)XoaO=Uon+XsTx#lq_X3RFVoFFy{0M0VmH-? zpR0OZjGb>FZa-q z%Q{qBYrQ|#O;O6`(*?PDt+{5nLetbR=sgsQ&67~WhhxXmWSg1MOt{cduuKLL@2=eAaWnEN75+g!}xob6MG zveH#y9)4z3VF6CMUB3TFGFTn-82^#LJUr-HVi%lar@GtQlDNGLFD8lTu*x(k|tubtPt6K^>cuw?8{j~cE+5lNc~QQ$=~#VvokTZBjyg${&J6Am@)sb?+=bi7Oo^lZ zk+8ie2~e!Rih|@xr)97fdn#fLr85V=BJgK4TW|OhFd<_=k#zc-H0G_XHBQ~^r5?rb zIgyYG5JL(qg3*a)F1`39d|tt}4gNqT%*IDe`Z{e$ZW$mYc9=Z}xnO~aU# zHH!~B5nR-@KwXjk>*x4RceZRtKMC5hJkM2Y&wL)Km#&c8l#0CH)%wB1=~_Xfe_DB; zDp&&4XFXrTDf9F!E%kwq2WW@5OfF3JLAIBl6Yr}s_6g5M{vJRD>AVgDV1pxjjr>3o zr)nrZUCd9VXkh?gTKUk~^^or7p4R9)vfao<_Z+*zLxx_Yu0CNa1GdH2quF<@@=Hnw z3C+O6&51U#Hk3;aEkaL>P?V2lXjXGqVqq&gcggp*@}xQsx+etyF=5IE`&%AbxUZhp zB8+U94a=LcshGyPuG$h7ZBsx%rmCTd8I3sV{}~~CzQ=Yp_qX6^!HqWVLyj)*2?dAg zTp9UU&+JeJO}ed9Fb{RiISd5ylr$>xiSXjRBR?U0t!MGNC|SrP+o7x+7nR}Ux0ATg zd$O`M59SJz{uc4kV73)gMZVT|zO}Qh)aW?O{L&bm?P)XnEDeY18g+oJ+;$7UW3V+CDJ^|0^P2E7?>!Tx%QcPy6NpL)0+XpVU^5x>-a5S0$LdsUQuRdCYq zfR&XHK1bu~G-uk9=sL(wB@4pwrs|Ggf*<5vLQG<^mL^$>6%Baq&Qc#ZbR@8Im@*}_R60j=1}lq z{S=dAb``tjW@y8c%Y&Wn7XP>{xAn}Mu%IDUgvO%qe|oZo_9M`O%oJ+u;-J6V3-0}T z8--4Jz&Ye;3a!LQYXccQ+hOJ*Sa=Qyw=%XKLA>MBhk)Iebm1>H=fjw|VmqGoUT-a7 zauL!xTAZnf#mtgmDUt6WG&1SVv9Zfm3f8%BjRvUD;FK}OPT--bbl~OxO{GYsd&n0? z;~y4eGk!b1izIpSEzbej@PSiY^z>sDpSL}6Yi<+DS0&-rp{i!=hzhYJ7g@3^xf4P~34q6S;Dv}&L0 zppq`<{TtJ*B48~;`fn~<$hogYO*RqUgW9Au!qqUjE*NK4=s6JG0-BJQyGBhAG{Yy% z<#GpMJjOpfy|6iVEt~TvUu3->-FUL~qu)397bX$wdWlYms}G6rKUk@w%I04$6d5yp4i>I z<{Yx<9E`9LHxazDaqkbSvc<@s*LS%5tLs5v`E5?mWc=(2QAC z1N_+T(GF?(sH<^`*@clhetYCICNYwnzIr%0{U6B(rf6CFro84znikU>;c?i^mrCx| zFW`ee-xvCE_K!k4o>}f-{P~q6Q7LOup>c*kP*IlYhA7UT|41J0Di>3u0lYm_euoe$yy{rZWE8|Mm%|KyzgdM}a zFu!!C@RfHektcQCu?UmehWhaQAS4nPs$ZA6Y1_^o)~t0N2SyDaNtnw`ozF=bX3~LB5f+&l4a_Hiu%mKpJxCL?UA9)i{XPm z?o(L6HL>59U7bU{6i-Hklo!3_^1U|j>gLFh-3_pN=fWvC)mvbem?!_-sozUKc6L?z z2$B&Mt8rxuc3Q9Evz!IvD>Sp>n7b##?D|E4olf!HtrIsjD$oZ1Tz~Ne`MdQE8>0ir zwn-0~&}L6BRBGH$NKx4crCs8j#++1(p) z?kVH31zrkvQ{V3p!kZ`f;+I}t>Jb)(_5!}hR{DrBWh`JsaFfM<)5B}#YtH3S_bK%= zIh%^*kQjfj(rJ=e=c6?lch#zJt~f&OzLJ{Fx2b;L6vEY}g^$k{{J746*wPOm=uRyw zhsjvfoXz202cLLTd&frur7pp;pOLBOMq`%N`uPdH3f+Y7pI#CqFQ$gOVTl{kXGD>= zUiqwHx4)hzvY19KfL@j*{A^Z?7g0faLpj+7(pI>&Q9Y47QMjFjv>q@>19m}MDRO66u&KfW>&@wmXE~?qNnM-NN4&E>a zd(Xy0wML90`Z!=&k8QdW!TzI&-}T2KCl~6#Q=H?N>yuOX6CRdH_sbUpz!uR?-{O3K zbXDDD=UZ6ruMVZfYk;d(@gQ3-r1@*FsIYX-WtEOeps{9&*`1dTHmew za9s#3&XXbup%Y$c+tM<4r@30H)&FeBvTAURQ+Cu@crpl_T&gZ;<&z^UGH6oSl5m9U zUyo8ZvAhcGgdX+3m`-#59q}U~=RrWPQw<>O%&&OT^5p%T7Rhl}AIncf8`yXIAxe({ zoyWpi1nj?xN~s_+gFRdoESwdD1#sinvHz(s9yJ|59$>mi^=vK)b;`rjv!2EwPZ<>e z3ntVzd>BeJb6ne^n`)u_IrRHHeJ69WZ(inhRo6wuB}k*TCBEXb6v9=xu9@=V*_Qp% z=nIpn05qx5o#nh*3A6Qtrp(6uqm$vAB|UZN!g|v{+VN>Ji#YRCG8qsih#2nuHmsRZ zt$Zia)vWp)25n49U$%ACfHu*kF54ZQNja58jq#SIfNjN`cX2*gJyG5aOM_FI?Lk%_ zCQyci)08b_IO`L;7(&c;vW+cWmp|8u^Ff=XL)s?V$Y>!iQ<8!ZwwqLP6g2812Pf)Z ztzl1k{!JW3q!3~@5A{YQL!&K#Ow{VjtB2_mKMO}Jwd;gFRCm{sm)>&3P6;Hh+b^;V z?>Bw=!JBtkj{m)Ry68S?_-3(f&2BHeGTc&q(+J(c@STuwj;(r9`c8L=KMBTd63k~j z4NqNtW2r!BzmmOMg!rudo>zN0J`=yS8uGv>;-0C!+=4sQ$ZJPUB=ooOv3Qor#v|U= z=C*fMMdpsYIxf4&cW>Yko<*ghzZ=_^X|Ai@)vw>8W5>#8CXCa3?nrpf@e8fal7muy zN?ZM&#whTHYL2(aq|C~4f(TwBIG8UhD?x|%myU|g_`{jKF&&m?3rZ=$yyqR|>hGVw z3QpOY6>ajeKT5MS`;@u<@Ls{k=U4DIg4U_ueKP>OtmR!ZwFl2ej3_;8rXOC}nA@h- zvenLM(+WLZ{qdfe&rr3HC^fyWOPwM>`0 zNyqxFvZ`S5hc`1XqVio;{)7iclpN1(yNqW#&fM+EXDONHjxh$k`;IgjF)Jsj;Qf6} zULrMeRmt&H)SlXd&QI(9HP3jF%%jXVl#sluAHN<3s1*DN366A64GTRC4zpva^33(h zzLI4NlE?aT%*klI^e>uvu`-H$pMqa`ik%UN3ScI`1%Qo(ZdHl(mZ;QbO|_%$yizT2 zLoz+`H(W`SsE1Y5;}kw(=HdTHPQuw`7Y5p(O&h^5D@4S%t6X#QS1y#6M{5lJF!`qy z^?oewmg483hJ3+El=YrP(w)!^hno@=wlDQZzcr+e$m|oZ7l^FxO0Y0dh~#r^-__0m zYJ0lJrVg;t8AJa_tWp(u?)bfQGVtD5M+r-n`Nv8#RI?>&(Yj>YNOV1E%f&>E3s5f2706T6Azg@FXeakB z`NJ$a2(`!ha3l!@#oGCj0HQ^haxXX;t7fj|2rojZ-r|eNIt%W z{e`;=izE#D+m*h0n(E^Oy@WUt0C>H&!c4uNP+0Kcd&IwaZhJzKPffohHF zmU_@nMhEJ9Tw6dT`1b`@<4DEK)_S|HV}7xF=PkCxS&A18gidek!#V!vEy5D!>PPYI z`i0dsE$0dvxtTR~SvQa15)g{kjcTxY=@6f0>ZkQfdH6L=R~5WPxdIc!`#F1P0T8}# z>a=0AF}dX0+pH2jhIm_+kF;jin4%A{eF%I|^-cnOyxC9ampr1V1!*kQow0)w%6_sPfw#R7b*{4o?0tS&!Pk>K%=`{9 zJvp3YjgVm6(p6E~Sg#gCjH`>!l7Mne`N^CaX*tVMuPuJYlPU(L>}~1d*w=NkuhY(1-K`x_^Jji zcRqg;<>79!;}%5LWm+3>N2zqPS4%kPM3aGsV<(pjb1Z6sk{MPrO2GOE-ljZ)tlVSs zk$;4tLOk;xj{hFvl!V{mhELF`aaH9yH>66O5hr(eDknYxlZaPn!onBy$M-2w-SsEh z18Q#R#w@1B)bg{^n&Au0z3@`Hm5pv!Jbc_XntiWP5%*tXr*z@@_~=>&TDXPw%*|!t zssX50PL$ObCqJhC#NU#d`z-w6my+?6&*+b5S|vrn5nN55jFGH?0-j z6l$h$8BX!0D*@)tkCSr6dg_POl4cL<##Zx6R$e{k_sjdb;QXHl3q|1?)B?DBnsS>V z{34^KKM$}4SLqICxuR}#I`Ggy7t^C{i@V+o+#9Rz_;;-lZ^9O4e!kX?#-7N0I=3Io zH&`Ff2EYM3g+W{%z-3*r%P_xx`^rhjOM!)6MYy3!oo8gP_LGT@nv0Y}(Ebi9=oDIl zYOq4U>dbrUp%xvE)m!}xW)@&`bZpaF+*wuf69s0hORnW2XNq@>b6lI;3Qhd*5id+YY?mFl8q zhw~ED?dbV)*Q9%H#^e9&p^+0Yk)X~o|<|K3rsw{GrZKrx}r(+E_1`}A^*b?;E zuD~I)>Ehr_;o;FWOez_>*}CMH(MU#^U>Ne3Dr<=)lU^1r%10Vs+`2HyMV`%N&0;OKr%rJE{rxklIh zB&u1v_%ey~=dK>BF9ZOeB8iKh-prssT-^NYH!)QI7Cj~O zEvoEQU};Ethn?e-_O+Zn=A+o~w)5lRh_tn=SJ?9RX=_UVWH@{yx8v zVMXY~qtXvH+VMSErq*p9@1!YQ_cTaevJpEnLoKfF|3uu)7`l;LW?vjlw4|y-XIk6w9avaw@rj%p-T(~Oe zlufDtIK8CH&FvT8Pj(?pn*&$B1*MBpyK8|;zVWg2C!I$@CE`0<7B6h`^4z>%q(g3K zfNrq3eI(}g`+=?fsp z%CO`emfdiP)a4ZrVUAK5Vq>>3B2fuZ2+Lu+8}^CvJwExVpCrlOV1oUF{l#WXw?{xG zXA-5I9>N~)-wzaqkcSob-PVJ=@Yp;%=DENAirvaxg-NgWhpI&O!Bm;#BWGM0>&sDY zCBFxPbag^W4gd2MI##b=!u({Lf43x5Rj*I+58EWp!)qX4<1)@w(T-I*IKYX2%Myxy z+6v?H5*$E8coA~zJyY$$Lc!>pvZUJ=z-pK)Nwys#CJQn}DG$RT3k&Yj9j&RU11DbN zcBcJGqSEqDC4NOUM5a4uEwxW#8`n)gj*N=Vk0=Y8|2f3D^occ?s$_mHVB0Eki=W$C zIat-6Xp>ZmU%&LVa&K3l2n*igU^{pT#;*hweQd?wyGR{=WjOM=zxYE2y_^7$Du5bt z9r$+~EX#7pI==?_S&VCa-zd}hT&pHwCB#j1#T-6|_QHC1+>5kf%)!1fuq!ANLP6KH z!?q#o+PJiesC5Crx0XNbWb3e1)qDLn?SM6oXyM1Q{$xJJX8z!Zxu($>*x~MS`MnL9 zZGZT|Pe_B%PPeb)6yKVM`c>|5+y_-Jg{>guq~9qv0RdAh5M!(JY6daGv%==iBfNO{ zjWwnGHnIR=(pWRP$=3H!4ZktZv;k~R2cQ;h&UCXv#lwU)HZ%5gLJpgG0T4rc+wX1h zdt!cZaj+Jg*ZgI1F8W-4@oN{K>CqNc7Ww)?**PegrV3v5ilCs0XdT?CmW5ZLP9>4S z@QS1R$mf%Wt#FoV3G>|g5$CQ@OICB2xMcAA%+lu52qxLH42dlvvsrltD%}}oc)iBJ&_j^)LjH_4}ij_HmmuaOCe_`9um5dqW4NrChFA69gI;%jhK zea0J|mnLV~7;9(P?rd}#a0R5Zo0MUsK5j`oc$)T2@QjrtYNEsI1< z+NXTE+RzANYw9?e$-y!H)taJxVWuVE1eq`#Cz^yopx)&oIE8)Vz3I6!uT1A;Y>z< zah`-kCrVN1%pi`rZYqlivH&4eq(`$aKAeAK#wh@4mP0O!emdF~okQ~w`&g3Lzn#G! zPqV4@%!58@eoVbFz!AV0rHdPS=ejmLBk?A)`3(gAcKkL97q3z6VVuvTX!N5wqCBnd zpm9^ORx-Te|H(WdVap$w?SjVtT+hz_$`j%J+admE{&kb5$^YpX773L*{l~ObAw{W2 z+uI6fc|p%4m()hn0x#VpNuRv)7RWAYPbhUe>&XxytL*)-m;Fcll#OTI)Li+mS$ouT zlcK9cijq=Zpu=_=W~D#>?q`5P4fv&L8cXwAU&9GlL7(hq0i%~oa{JtJs2BEZPGT#$ z@t$kOR=8mYfF3nXV^-1A!S57nvk#{0`8jgNcopiu4Z>JF=C_d;OO1Oin0iPZEpzp? z@CH!#Q-`W3zL-mKyS>Pf`2e_tjk199a{|yP`2@p^_szGZ`WXX+Gir=x?A0q+brGh`OLg^h%H| z{gt#qXS&rFrqcpRM|Ow$q>BZU8VFF@Qv^s46j0BH#>Jasrv6I|iZcWw_04^Rnp$gj zVk>8w*ee2Hq$9 z#zaGhagreUlc2n%J^PV`$kgk=Yq|1iaSwd4-5!#csJuH6oY3!-8CrYPR+m<4yexj~ z$`!S#$yt9mF0kHoRNjPAhRLiymFcS(eH&A1!|mL;!S)|^iPPjs7&PYx8p~)hlA!~1 z45zaDC^wXtu7nRdJE1zFMJmi^w%2Y#pzBnCc9F6Lu7~u9>1`d}j8iH8M=$FV`QjM= zkuW~SEbRVa*T!AU6vgFR_;rOx)(rp>v-J7mw#fFWq8+B_?8*aKmF}SHYg+RCJ0ZMr zZSNmRdrh~c&lMsY@>L6t08lI!v0xUrfD@ujiyzl+P~0-s*=*F6~Ri2Qk1{1~Cz_F&eY zH#AIoi6o?-K)+K?%& z<(zdqTP??M1&)G>VfJXFoKR9n^|K=M&e?8{tR_*5i!pRG?}*xT8dgwzZi!Cz40p)4 zIKEkOXWYeuhTSRVW6_Aw#~Nt&w6ye}yTJ{w?9c~iTQi2*#@P=->QJ9wJgad28&@@W zXs}x z+JN7m;1~#i^&s|?7l`5?8U$|2mG{TFa&ZY)NI}BHF42Z6%d3T}Z8rXc}#rA|;9i~}To{flZ+Qq=pefk zDwfs*|ABQkB^Ak8p`;`gsXCk@`%b`!kC3X`*7%c&c1RNMvCGCptLv=6OIX1+Ix21a zQZ4Ql;}*TIT+6fbjEJU7P|0kz|I1jn3+mD>WB-rC6e!HM?L%y(qL)m^cpcu#oFdm#`j3F?iVUqz1jH zu}?a1fyTKDpZhbX&wn=RHUVd*U3IgQh}P^hTU}fH{l($w%s${%HkWsV=lb0W?(3>E z6N%;@`A)C8#cJ>)lR+J zNe5gtq2?vZ{N3`xh5&jI39_q`qFR2bt3Pqni$0i=*y1zfZu&v47I&=_1~o4tbdsjD zZ@sm-s=RIOY?2ySW|(-;MZ>MtlCJ>AYRlT1OM8sjEQ1wGuW}T^RotaMV|(-y1smK$|LpY ze&A#vIGFr`b+CT2h*w*L76{k{2Hu;@f4yy-6PF^}JvQd5OusP_;}uit;8KDyO3>Xj zJSZ-(8JKMYB{Vz62{z0X)pL1mj5;JP_ex`6=Rf_{L|JVhEFQC}uqlP$2a?|DQCCd zk-lQcU7|$MK*-dZ(xNnwse(;I%);C)t~D2JHyei|&{vh_Pw?$}ZK8@;-KI9~GrW5+ z{uof3LhZ+};*EvOhqnufu${mQ^#}8J?zTmU`B`JQxyR`J1IKu5itabRi?LXW@(-<> z*1g*r(NI!2KgWZ)c{qP9YZ$f8Y666C9^nxda+P#g3R%*&5~2AHpL(ZcoTi~#ma z#H-x;dPbK$qCMWsonb+;o=t)=eAO<2yszzpoFe;V&bY|n;ZYef)8GGoLLGkmD{{u) zPOol|Wjn4&q*?(eNopQd@iM^g@UjnjRh4U6@1u3o0`Ln70X z_{#C_(cc#OPs`l009RCy)nB8=L+weIF$&8!QIjA+m-e_HmmmaZ%B*JR{^+9LNKMP3 zA7(pMg^_**Ur->;`Rup;AJw6m?=Q=k2E#okuWoZeP7P5rx1&=J+4**=aIUAyEBAQ% zEF_(?9=0qZ%`LHNR0g)Ez`>vekR6AyRlZ605pzG};ivzTF%i)W-cWNHLo0Y8K_E&r z4u}~{G1!fx5``9fM9fQlG7O(o&o#_$@2m{6T5&_z{qDUS%l zS&9k$0*@JhtAM+|6u6HpHK;Q$*xRUf+lqy6F39%W6e>f7hmzS3BaXsy&F`huI|geQ zKU#^97-C*ZW-;;djR3k{%h&y1?maA<{d>9Hp_;e6K1)(yz4kkMIa99-0sbwE0~*OeiHI2#n$(1I8^L|D%} z?12k0S*STX9i8_$?8j8-miG8Ix1~}_|8SiJ?B|X)e6tHVx27Too!_`^`rY(C3(x}8 z$XuoVxpB^v`{hGGJ{LO0C z4FIbpE#@sQM5JcogN>ta8HU3EjcOcf!YO7r)2J03e$EmYx zf}@{4W53+bb>98crqy8KrykO$EcbmVzaXhoSv!N85|1h+J><$(RQa9Lh!Ggiw~qNO zGFZS+HS$=Yk*?qFNt);5wJIgEgMO9Z#b0Rjl2yP}QOV7hM@5N_szr$*zk08~l-sct zxq7noTHKgJWG9llXuw(A=Y9lNENsemt14pjue$E{#>QFU1IF4NG*X`r zs{5wB_$4+_55iEsp_}Ac!J$o=M~Q;ZNPh#`Jhx){@J~m9c<4>R$&J5{C#nv`ozSE*@B-|ZlTj6wsXw^fM5*r0O4T4!OT{dS_Gj!Kw!lT2ZUwKI z2hbfISCDrc7@%~=G_?$w>f`~LuPQMW=hkm0^(I+!7r$_{|-N_i=G$Wqu3X^q7N zeq#~GrjuEWlp>v+$kYw^7a)DLSJt>fju0$KjpB4?U#%O}5DBy@{M%g#4`t=tUND%oBG1B8wL#w$0OYz1p`s-T&9M3Gu2 z=$3Tz?CqM(oi`Xd!M{Jbq6szIBV%r?n*T@BdB;=r|8ZOc-y({T$jF{In~Ylt+1YMZ z_I9o0X530qh`5>8D9N7p+FM*)*WO#M%~jkR-OHul>5t!koX2$@7l+S#yk5`Oo$+v_ z5Fu_q6?bve@-Ul&h_PS;Ja2&`wvs)F=1M-vNAoVxdm3`X&k`jDulh-((ri4%LWL#? z!u87W!2^T*uCBO?+hyxw6^S4fdPbp7f(}6HDIj~qCj{UjG2=PLsVd|^Ka;ip0$e#N zz60YZ;G;E`@&}Lz|2xR{AS0z98<($#SGqa1j=Tv+}jJDPsD&1Aml!7I<7&1$)-VVVfIr6*V zCl``$fZXtH>nO(|!Cs67*pS6PiPIRR<`iS*G90f2NuEs`S;t&*pSsw&Y3TMl<=jaCDttph;*fO$ups8?Y5&{@%Zxw%`0Y)!bS5W1Ot0f9S z?}uaKo-!OtI9Mua^{u3^M>TK$Qt|A^iJPfv4D@T7#Npe)TML5l7z$}xJ$>Tfu3ZQh zbM~*>zw=jelA@k}oX~mmMPu~)*ym+$Hcy9ln+OX6xuid`mxwQlx2W*yU2%xvE9LyN z9b0+&CAQS5RD;{X1W0|HX0oo6geI~<>%BN;6QmaE7QDlLAhn13je7L#6Qpn#aKBi*esK|-~6s{*wCYZIHHw*mr{~nCLcNw zTviJM3XAn!ns!fAl5VNSsOz1pl)K~U*?}$9)D0ex?Y!w7PyXn8uojn+s0HMhRXEfF zkGR&By zC%Yt!sjJTacrnB`L^Dk-ehrqv1x{EQom=VR){Le(x4^>no(%6sU3**irKWwr7m5WO zIH{H2YTOGIfB>Gmf!ef&s^;!yGwSG4LUDj6>W0G|(e4wxp9r4&mL-Cx)F+Al7v%$> zU{nCYUmiz3U7l}E+m5>E^PjUXqlro-#j7Reghj47t?u+&F`%=s08Ah`_X$^tnOa ztI@-c#t5yV(|1Ia)I>%x-4S2X&7{8A{O9tE$O=%!lwGg@vPDAZ$=?1C@uK!iWFoB% zCbm$j+LF8`Wr{y0@uYWaE+t5Xe^aV2sP$U2R@&?PqZM7OK=*gBN|^CZGLN zneZMN8~vSAAHg=kn=3`^eZIzFWjkZ>LtH5XKn5IXG5i0Qb@tF$f0MUwz7q|92aa4 z67CX_lq~dZ*5vZ9L)7|{7PyPcceVz&hR_po;HBVqHM~r8KdeY!09`SAhiyH>3GAi~ zWEXk_Af}*Jsq*~`6=jihJ*kt81UR;DT)_`sZ|nKQswX2rH5UWC2=Av?rypJgFCt}n$8(~>$Li7%W<%1>DY%D)x%ZDaH_)!$9H zJj(}=4xa7ldMwwb{wLKINm5Ezr4NcF&0NV1~exjFW zD8pQEu2h5_ha*lwc4FQoO1zplJter3>a1oYA2r)jzvgPhZ4%`8wilbScNd<__Bfmq z_H0(fuZ^gs>6?0fRohsaM4zlIK)oQ$ki@B>MLLQRdQ+AaARF`_jN?{@EIO&IQ+D)+ zIfBV2bqP|Ng}w(s`21I}hFW_$`XryJHBJA(WtREA`qnv0oy^TMWhM z^aHY5A7{`Whn zkwsu8_ovwa!5)AuduUXG=7!SrOY^4rD8B}Io_v6*%b`cSLjv-7@9sXa(c(W%89G7N ze*YI;G`UkH7#rVC_xyzc{{F}sw@}8G?``HN#S!EO*?;|dNsS{(miBwbi-KJ75}@3D z`{uhhcQZA#&gl}Sowq)-?A5GOtW9yaOTeI|m3OSFg0tT|T-w=1+QaP_{xOo#4Sd()ck)UHIrCiC1$jN|qGsYyfv ztgX~(?adT^`BONcv_Lyt^6O|x9JCDY+BBS{D0%~~;yX1z!R>Ob-mr*sR;x#amxwS(I6rrIJglt$-?_ z)geLrOKge%YHX$J<`Gaj;HZhQWe&t@tB6Ilf{ z18ClnFax*WHzNoB%@AZ&Z7T(r;tW440Naf+#V}VoqfNSZiM@LU07y6x8iYf%|(FW}FRD*ksSu+=r7~^9)}~l0(N@o7T-I(SN6YXP39UYwdecB;$yvu`6Bxj_*_JV%aq&_6dv?@zm!JWMuBpB~> z5<2e&Srhr1J$t(fuBdJF$M{1^7d>|mqBj2V^KkEYl^U0|E(M-KIY*A1No+!|_b$-) zsWAT+>NkppNTZo%KJ;B)S2Tjhq8&_U!Tll+^i0=38O>q zpUYl$x!cm~X3Q!jH>S!z?xtGZ8o2ugnmv`#(MJK1#7XYP#Gro%9CV0xi3j%ZLk#$) z&3fIc=))oJnmYj;jtS<+X;@-?SFc)SZ3t7hMivoA<#WI7>RO}DzSt>LipqQ5jna>7RP^9~`OE4YwPI?ofbUk7#fubUv@;Y)jZg-i730? zKbo|2d1h=*3~DhXpCA$u5Gm;y`f07*{8w@T_apFF$;{Y+xYjdVBI&7AA4x))jG{G> zsmF=db+A98N(|H1y?g}%-0IRUx|j28fpd-lQ$)EWUh*3!BThx#w+!kRWCLZ|U%&&b zWX9y}iiXH3>+?mu#pZ`ykHi*~BtR5H>dZJq`$fiOi%UW?RO_+oD^CubXo>#pJxgpG z<*rWJ%X0j*_1MU8l6bcfunhE-ZxC&ud^1it{9x)$nIEgfAdBuP+Y5dDoeNs94G6LA z%=xAUdVnT^N)N`*IPMgd7)N8}|I*-U162yNZ{}I=%i(y1bi9wof$grM1wyFuyz8+5 z{zs$9TZKM#j{f7D6RH(%Kcv;7ws=9?RhZt7+-T3Y6MgDHvg?;rFdB;@0_-O5fX}_g z=yy^kJwyjZ&ugfrhb=aMi^Mj4HQa=fvYsKGMFm7LSy@$5qz}EH3S!N$a!fF;hu3Yi zljj^>a;Lrb?PUy9@X;=ku4DHhBllo<>QHTYCAw zST`A%UlAFd!v+9eV^^3Q=)A@)74y^FI0cyO+&#COcBMfVD5!?i4xZ+(9ivRk-l>l6 z@*CQcbHmA>`wuv7%NUhYlnmq^#XfCE#a!fiXej|5zI~a|3Jzk!-S?J(?ydShl!VTm zR>rWSuGL$2u04DAlp@3m8Id)S9a{;FqvpmW$m(A5 zoq)KBDSYfw(6@N8w|`nT^P_K^?*J_4>D6}<4w>`_y1Lq@5kg{r-+>04^fs!7>_x9v z*SL+v8(u5t|DbHyWt7Qp)mkeV22&j42w8*!!>M7`G5Ks$<%UAZIlMIYfgDmDW)eA# zNo^or`t+h%FLFw%;k7GsdT2P?fZDL`Zxv!t~_vy>mHQDph&-V9O41!L$Z9L<5-VXrUCkmQDCf|(fxMaeA zNUr8NlaJM@h4;QY@+bj={Vz4@k8h@*)C@-&EQcu^9r2}a%0Y;7jI~$#(T>iEo0)y| z(F@1G{GK|?@ykKIuo@MhwW_Lj-CDx^-qsYz);UyZQG5;$U=GFW+r+22EfxZR z7REV2{HH3u;)I?pC=g>=C*B@ggn2>^uvo0ND2{DD6N+ulBw}oFu|;*_<-@7sd5Zy7 z+SJn6N{1*mhob}FWtNk7oTUOp8=h{+^x39IYdL?_^;bbDdOy24#GypoqR2-V7WT?i z@9I(`G1Mj-g($x51GjKFn@djlC0f7Rrv_&97CbLIu%aWU%v}}}*e%jhEnNU>0TZ}) z&#Et@xfSdRSaD0rI3YM=okGGZhs3G(*0L z?++fH~JI51O)7A)v+VN+{ zEQu|?q_to2DhFQ1Ki8NW&SKsh0(5F*%oY0TQTz&Hu2z-R2`mvIQ2z#Un%&f`?A9z; zKJZ%o#kx>+7(5Md6SD=nc1WN)EEeFojIoug9VFlxwgj~5J(JI+VOL9b;(&l0VYY9p zCl20}D)GNGM__jG>Uj#WsDDJCr>zx#+0Ed&x6no=22fbft@QTTdJeAUJe^b~24ttX zd0tTt0`X2%o?58|)r?=Zy}GE~BSjM7e?B84$6(zM-}~I!DJ$rQOrV}F>>zM8DJt&M zh~sh8J`ku7Ba$;Y99%b;mL3VQypP^&EtgsvT&p{D`A4i#W|~z^)0gTZKt(V|A*;ZF zYxL7;ALhVokI-gw)<;2Ku!r>so3~2CLPswl zLAQ^e4+a8>5qE=BBYU0*)}Rqjf4J(mRd-9PF&KGQT-kT^))#Jt&R{(M zn?`|Wx_x@mdi`fTlE+|B5UBpOR*gsydj%YvJM z#Rpr5W5eM+mxQev*WC0_DiGRi=~R~sO1Gl4ub`^>J}FG6UoZ9dsbSBv4=eMYXFX91 zBs@q@-iIrCos~h`2^;s>r(DRSVW68jn}Pk_3s7hPZjw_C6oufe@Qe zOqwbSvo`m_jN;a%y>1~^24qsI=xp08tidi$vehg43RgH0)Uqm9dv+nAD8Vf9#$$lM z2&sEr&M`lj`rmkr8q{iJ-Ay3DhySvFA$_BVcwgKw=TMf|imO%bb>Cizg9p9mU=HbJ zDs*SI;g8pPSv$h9pS%2x6~Q~}rUOedE$)`YfdCaU&>^xzxGq||EZJI}+;daz>t@@h z1TNifu{xudq?2od7XhKi){vPw_{uifz}MO8GFio9x(eJjRp(_v{nz`apwAUPnyM z?oGX_!6BqN(33*tU@w$(@Nz|jQ_p}m4tFSB`ZmIch?Vth0F>r6*Z|2puo=|DUjhgB zs+*zEuX*5n`G8td`2F;xb2d}f?6dJ~bpc%x>TGsx_M=nB{bZ%=>BNqOz^`)hl5O^KM4UCWrQidAHa}f?)bfT$%Lk}>1a3*0@3usLP!YZ zgEf=t!C%Kq?=;1lN=6&1Pbbu}Gt~SS*m^Etb96 zG1&(|pINA8;Vdlvs~R|G2@5^qzv_G0LVyO;EMZpS!4SBAW)4v7TyK=IiirRBx^^UJ z24gpf+{2ezu>ngi7L4V=DzLc+IK>#-VqB^oIlUX?Qo(yET|TiEdwc;UTz1e@Vxmr{*TD{er_?3X}G;;mD+0##YF^oOx>f&x2o}=A%M;AQC(aF#-mSwlq?F3%mUJN-`q5 zX%g3055PlTH-cLBn92OxVWN>X=z#8bd*NU9%h!LMEE+L&V@ouI^K{_vPZKi^p_GAT zaHm+9vr|&y%yBE6#XB>LcVBaQP09a{|Jn4H@i39XKBab~G|`>9X;D!rO5EJ|`GGMr ze04k-KMN~o>YaGIbD4YqCKx@-M(z!N*qZDx*#R3EZ`tWoB_~$u%XKT!>=8dcID^55 zq_gJ6zJnMn7PAf=jp<72*u3dRJ&m8lo@?fLC zcxL-cvv~EZ0O6%v!#FqHoBIs=>wdwv%N8{lEj_QS`mZNNMWqwE6hsy_TvXI5>Vi$f zEXh5Lt7H3i#Zt@nD0D&_ufRyP<+?$Z-4_~T#8^;4#(H+4a0k!sSL*elz<-s+w>jA& zvRn-zE8$`f_Iumxzsh24NAudWhJ2(0P@&HvW+w-U#v4IIeHT8%Iy z1+{=!9Ey=wO4(fDTirhxH1>3v9f}c|w%2U|41=4Wj(*h3f(ohVXM-BNM7cLpnSq*9 zWy@cu_uTk4)|`!2ecM>G*JwaUvz%KqbKcjiZySN zg->7!f|(}2+kM-HfC{793Qi1MzLu>T2TgoelQ$aJQKV>iU=f?1oo@Cu^7?638P=2a z)=ud@P7rc&X^E7GNheBv53TP{I$B#Ee0kA^Wun%IDb)3|RQ`ve^={dkh>9-*0I7-r zsx{{D$ytUdXEYw`a=WAzWsr*Ujji5$0E)?UW|yQlJ!Cxvtb0|vJ-gGVJ|7oLW_}+R z=0_@Wdc@9Mpc?ib9o#V0t0%wxb|Q6za%MPhI=_8ta^R$;ykUHsBrhed#Msx>3_)z< zDtP)zWVd@Ort8Ou-3~7-lr*|FEk0q0X5E2{&X&Ge`zjBM`gCFI7iilXbYpvegH4eJ z=RRVYeTQcFZS1m#x7oPlHG6i>h|iVLu0L=dGP>n^PsGlP4!*+~y5DM*!xdwq#_

      kc&~?#P_1p^FjqpZ0!nwR|!f>V_e1-eo>Cemq2*p zQ=zE(ivm>lbSQ)ZgeVY{g9tf6HIrMki%co9SK9Yw_eYKAvQB9zUszG(4j5bqubeV7E-`K&}Z{1?M;V}n6Xo9 zol{L3pn~pmlFI?U{^QDOHc!9jIkIKpZ~ontX%JhcqARgD9hH+5vOc%KEPzI z`n;~DimN215wT+^<004Kw|ks5L`>f9+e!%O70MvAH{im%gwz3o`djsMR`lSzK z0}ms()*R~)=Ir)Uyc#_04`tL?SYCIOUI^brcoyCLz0Uks7gL%JNp)jiD*+aCo%%fi zO67n~SjUXP@x(d)Q|qUTUkx9+j56Z$TkYMvBv5e2wbk%~XWAx+IIg|X6g}#9uSsPM z`x}C|_SDXg>SCG$>6SMzcibUfI(L-je#dQCR3mhK2Y-YHBKq5H?Xg|ic|C)2)&f-3 z>St3stvP-^L&9UBKWnNXMPN+`NJ94vgsio~7Z(tiq0MbM{dE=W67OeZaoodt>oaG* z_Zm4kt~qBH3Gyz&Aw_zbjZj+e?(fveze``Q$|QycG@NC6_)F-e)9IfPwXq=2;RY@Z zjWvj4#8$o845_nQ976R6&WuD^$?ZF;M#P-qL%mjvZVSU$NUUE=L9t?z$E#`*Q@4ZL zCV!G`@9pbeio=XEd5a6(MyFXDOMoTOC2SXbW+}LjsI{GnL;SieKuB-TN>2>fa3v@B zKKs7{??jAE$+%A!Oi%EQ#lS6I@uer7u?{LVgH*(vX(;W&twke%R7A#e_)^mQGiM-} z);Vojz874PAGNYS>jk*@z!9(ims!ch@Ld0b_~igvIkCzOM9#@h^xu)Y2yn?Ao~`y^g-$?wuIQ1MT5l^7a@RA3mhifqWW3^rdvVf>Jm2D93t25$L*S_*XVg?2 ztZm9J8cA=x;{~e})D6lESV19u!zZfm5L7-%8tQLjBW_Bcls^3*@B$O z-B(7v&hf|l2Ls{}Z*~x#`jx|^E9*OFqKxwYX3LVkP`l~L8@9!UL^se4NQIbzsi)c& zDZM4%GcG;a57_)TIT?V^4#{G!_f}hMlhvI_4a{@{4MFYKBR^jJ>MuAW7#o)Uo1NEC z@XyoJ$xNEI$QF$e`3w+*DWl=jILPA&zpLRP>aYiy{1E;$s&-6uO z9^U<5@6)(%@JIjM^@(5iZ6HiilYP`>ILrCr&*MA?e+Vpg&BClJF5zp;K)-0jn^%V{ z0WimIY0{gKAcg@qh?YtEXOHvG!?XKBHk3$@|G4pVLF6Ev z(jbt(++JnDGQ|;>WTJuQ-*#iG^Yt~Lk-oB7e@oj<_i>vE8!ni8F*d-#DXcgZAPB!t zMk7{O(i%eI9AKg51dOP5X`B1LQbg2swOS%p7-I$*wPbsEmlBw$v6IJwYMOmy z5}nZQAMBjQeG=W)YFkVGhk`#006wK-`R6(1+H+mmYdz9biq0dD#?(sup9ucY9dsIc zxePNWCR?EeO~0NoH(>clSb$yFkx%#lKp62=nfUYQB|Ryr9rGg>0C@7QDeXn`+RWe* zNGQrwD*!44Xf< zWwlaXa&eD84hqmm@O%V)A@xcJpiVZ3`Scn}k|x$|$fC#C*G}FSwQ^8HM3pg*Z{NUj zeNU?R&&M|;W^wx785i!}cw$e#t3%;mt@5ch58|Cb`ZrO`m@IS}y|LGDfA3J~;Wt3i zw4EGY4QNe7e1=`-E<`5)$WvJ@uG20 zQZptOuB)=Ke&ow}D-aMRExQHlz{G}yU&pkWgI9z4``GW=h$7@69XjKT9&DaIs zqg*b@SgVke?lf@5kE;QHefG@A6matbqZo?bg5-n7Av?z8Ad=p1)A=3xjjvVM;rV*y z-p#CF%1W|w_ByOe`iroLdpjJHAUU}0_RFdV)A#SL&6saBp99ChNkN5nK128&nsgK*{$j!9#IM1$S2rLFI9gqrac=gRr~+ z2Z+`cek%Jna<2}h)aUqibB*9eOBEO4kz~KXjXm*MCn7?G8GAE<@+31}p$PAn8+7Z- zry@uv+$97}HDjS#kHJWJ@!Nbm2h#f5H&QEd5qGzZMJJmH1}g$5+`}5{tcL^pB>5$r zix!S1!(03Fc5Z#EyZ#=tZqPaV$AS@H4L=fZso5h!uDQ;$W-=y?7%J!ZhiLwt)Pv5}iaT(skP~g?M4whE_(ry zAV^${sayL2lEgl%eLFhx@TB{;;qn$Qopy(Tf)wbr${#U*|L*3&gJZ?92237-FgXAI zr`FxRjwMVVUVU;|N3(S}zzB9+^yo+Ji5^L_lDYO*Ouk45<;?%W^skhg2Rn{ty=!QC z`5cuM|{%E)3 zPJstZv-aMJh%6%Zv>!0WFF!i5E*A2Uwp_aEGkoq(CVi)SA+uRRw$AY?3fA3@c?o1! zpcJ_vh+nMotEhw#L($Via6u@86s0=%%v0M(xJUtgZ2#9FpbAUA9mXu5xltdJ&ze?T{IT8|9$a=8ys zyC~q~mAQv4>6qYsfH!bT;J4y1C7r>&;l}7##J?jeH2ak3GCF{K=DpGbP-Lz672Rzr zGZ{5Cx^!G0v5gqnIaWRRzW4V0^(V2TR}svFISTB$Z0zFn;kkoXm~TIEjH*v;*Tom4 zkC#}&`>19;U4;8t*#`GmQ6CQ5&-+`DlAY(=$W=m#K&^H`55JTy`M&}uUs`Jpg1j@j zNNxGHqwr}gW|shf3T*-IpXS0*0J776xyXa8psX9(#sQcRbGM5;FT^Dns)`Bz2+_c9 zT$kSlgEWmfxAg}Q(pt0-n0!%?n(?z1L&3if7bEzOcFaUIO99}hduqA=-(BIz=}!2p z!Sc=(K*89IL5czqY~4Pm6lbTqcor2r#JSKaVQz`;VJ?}|T*@7UV za~pj}vyTEyb8;1NX3zHx?)iSc1Lq4&*YN6 zbY*%%5b8rjwxG@71BC{C`@#ZfWuUwpk2gTG!(Dr93!K z&B4u3D!>qI*~3_eEA$yR0mb3Yq}SIWP1Lw7@B%P0#Q_&x{g8AQ*f`tSDaJ#X&_iCU z4@O`U<;1o3ra!7EkBHSK4CimHk8@r7RH!fH#xer-qOglZox4&(se!#of-bB` z5mNoxBL6IN=T1n1q`vq5@q0ym2@tk2x|5)5@;?v3F`q!$n-N891p(SW0ssgK5pD_{ zuWI|q8k)xJL#>M}AQO7Jz>%Kk98Gul_@?Lhi$jWt5>cSbRmZKgcY(?=#h7&u0^9=u zGV`p*foY9KBU(qR$rY-FJc=&MFs>;B7Bv~G8-Vs|kM~VtIF6Y5OGUSlQDgpFk-Guz z=d2cETYN9JK;{LD`)bx39RZ>^5Fdwm@$D%yBsxOXn7;ZzYm0L-BCy}s`Mg`&C7l=I z;p+^M|MmM}Vf}6@zVBpjY7k&Yj7!nXUZ{AAD@$cU;Ougox8mvU4!` zvDvL~fo<~du8}Q%?vGi?FT{NwT$F>^xGyk8*C(PjblEy#-^iUzjbmFxK-3v0b5k9S z6be(<8su*@;YWY8Sb$kURQ=#e;|Y95U8eT3hyd+?tl?SoEI-{nNjTjjRvvH5OSOno zWziOyCxbTC#Eq=-0hX(=<*Z2Yt6e&{DNGj@_eXmvfc56jR(!v|W$4r^z%&X;<@6LJ z%*~h2N_J$+Humc^3yoeZa>>q$@bg}5hw=^##M&V!BPj+K7N{F)@A*45*a-3pwBPNL8LBJr($Tx1PNuVjP2^? z*3MmrfJrBr#!n@(Vs7D=n;L6g>^L}3t_$8POO5I5Tz0F7Cq=&rTz)(bKK(xnex??0 zSi*w~!yoH=b(2x_#w|24TX91CSP7OwNd9CNLeu`ddr}Y_x|2gV6Vp( z?&k>xgNeT{p2nV>s~@DbfN>P$VGaLTH~Lw4W5af1h7C$>@V^D>Ks1?>oYr&DsG+J} zz44ocHfqXJ|2{=c`c(VL-y8!935Wc}6aXXs;D<4;9#G}x*S22U>HXzh>OFj-@+>m; zu4rhRH|^{|?cii@HEfM@3r)IZP4vENNHgLD45gg^ zDj#juOx)fu7%(-PBLAlJ53!+#;QM}Uc?Niaa7stSceBOl=tWpX)F3*~%s9G55WV~{(1e0Y5_(P!3kJ*NB@b3b>VMZ@;ON^E#q{_Y2uJFjrRZ(~7-QNZl z*2CdmAs$F|mVaD3jBr8VKwV``eY`}h$$h6a4_=N8Ecty$9|NE6o}mRYlhoI3Zadxy z`)Vm`6Wm%>Vc-P}j$~P3=}4kR$cy3f!7K<3N!@WM=f>5cPbUkAa*)&Os9}9N&`^(C zk)dQ?$Z2oyl8G;Q4e~a+>}XY-7I(wfs+K;VhiI6R3yX7SKydJ!!H5eKt(XH5tJ1Td zV}Az{eL7k#1lAFyDJX*J2MQwMoN1Bxy|BMW@NO#(jMW_d|Yzr2BHrhXT@>woSTALup-n&N+`o5V8|#mvH0sYWTEA;pBwMI^X&z z-~{o^1SO?Ze40T2w1=#?Q@gG+Z8<{I+bW zr{|dcALTi0ig>GKZvzT&O>cXpc+F;Hz37LBMf~9uI8cuM?p>-6O!c3WL*LBx9z4N% zB&zsmD$H4px_+l)W2S@74A>Qw_q5#$a&g{oEz3oV!GHVbyWiQ5U*ZHgzG0_~h{0B= z?b;=rpOeBzvtF?SeKQjbrpB9{GEo50(pUA*8UHpy;J_j7r24xy=!Yn!~jU<9V^~x*@_NjfF%6%>v4y!cf#_Qv?fP>b(!s|$coxCZ+KdD zj84k=;OiX9{)RGNg$t};acgVemk+RnlCe>j;a_IU^2~;_(5lNABIHxamsv7SmCG%_ z*q&x=1P{+$_%-9qC{*eotJg*nx)}j&NWl_oY3FHcYMk1|w$PbAAA0JoOLH9*btKvR zW2R&m*AbSn$oKf5#U1FKy&&|Sv`vdJmF%1%e(krR9r~vC^1nVlN>}oTQlCBBm-b<~ z$~GSq*4mUM!uIJzz}I*=c`sQGNSB=Wp3ghP%{KA-Jo?KVDmG(5+p<)f1?dCS7KrZ# z^1`ZWQI}kH!_QIF@&2=lRXyv~-kmPYe15XNHR^PnES2)38C5!fIhy%aXY_v>Wsb9V zg6!t0snRl643k|hGkfZwLeO8Oy{?_Yoq4GpU-lZGnm+lka;tt$(D+GYq%rE!ScY(2 z_^JR@ud5F$gn6fHu3f+Ny<+k&w-z%6Zqmy0P9|V6?S6h*M?I#HN&gzy+jna3#J&nT zCmm2rEqCc#_p(}Ddl9~`BrDW!dURYQsHXG&c|yw>KqS+N`t3&5Nkub5#KY<%nfmNEruI)0W@`#HlM!LZxW?`I4>k^3oO z(UQ<7Z?|10oxpX}YN{FxyBj!h|LE0Thg0hwEn*5{?T#4ns=cQxE7SKv^$%k24+lu) zG&LIcL=P@?)g-NdK4j4A5EntOVFGVQ)`yjK(#rBd~3lcB%!?=Iut zM_S&D(JO-)vZ!&XzA1wR&=5sf4s-A6&bzMiR?nf|q1ClF&RG&~djfJBC~kudVjkmw zrI<2sWmbMgTT!x~1_zzAsyscblt@WV)umBe2hah#ymc!{K z%$+?h7K*C3%Cj{oN}@p2s>Qpze6nd%1DdeXVRlyN5DM3|DhJ!tPx7b8viq@Znmbsccgo z`YAdJMCkx^`2h~&I5I)ce`wtyG+uyuzg#D*)D9P%knEcLYs9F>ucVBb`!_zp z)0j&83*g-~?H`zVyO;0-s*r1@*B3ed(!jhpC-U;1niFsp$dL##Tk;mWrF^Z(6;aa^ zTHvI$0HU8fTFA9=;&6z;eeR4?3SH=%1~APWd#}(p{h$V%2o)pX-p!yfZ~)ni7=ud9eixQcEH5A>CnMR3-vlv2i5HH>!(Wq!HQq9Xju>J zFu!dZlMT)+OOYkSRM`E4V<JuJ2v8~g50;r~J`0CWKlq{bPp8o^d(Rc$ zNp$5^*#Fq?*Dkqz@E#3Kf3XDO7@6dg5$FP^n4I;*g47*K+icUf&|ud$#mM|Cy1(2Y zc{b<6(bI>ZgpIJ_wU7Tjf-n}8VUGh>)7>mOt=#I^h1m_2iWSEOz7a%gThuYU+U1Vv zB~7^?9VSer7MR?&MiySMRKa;`4(}tXk)Uj+<$(??-z9ZvHy9;74c0iSs*gYGDg3n( zqCV6s>4p;p*|U1hLqAt#aVoL%+vQbS=uLrUB1Rxy_t!Q*8h&;1J_N=mi-M5$BM}{o zNt!EFcxrkWk5CKPU#ITx87F>D5S^#Q8cL=a4e%2f7{eRCU_K*DO^Z{l3P!F7R?wg! zyec?D>?dglKjh@l+iR8oBLS^+e77y|%l9jp{}KbiWRHbjOLUhstz)H?A4Ba)cYPIC zL!v&$dA$1tzQkOZ8EXPwtet%~ z6E&1+FA{@Y9*jCwHiEk;`318aOy!r{c%BsdNW43%U8&+a5WQDY~>2 zJI*N`Q%GFZt=fb$TGcV9}&|&Ho`!WXWm@)FU;9M zkFJj&8S8wFAnQyUEQ@jVHetxuzdetCO_84W$=V zyhGL3ER7%%hMgFk$R4*aT8zrW#F3WKe7>E!#LE_BKo_f3N8dcOZ&W&CHlml^rvV)o zT3v$!67wNHfzlnNN5iJ(c{XtqzCh{VSas1-;(rBv{O*q?;(NR}`0le&mZ@mx< ztxtu6)APEhT9@`r#TQKQ6VzFY$t6r-GFjdxNen!YVSTbx7n)8cYWzztIgP&d)pQf> z=oFHYDnDX0SL%~ew(^ZQ8WC+>=3$q;_bg8}LgBn71;R#{4=qTM-MAEPL?E54P0KwN z)HK1eQGL!UxU(`U)%VMrc+j$~2zu81e} zJNoXXi;3%pyL^mwn%3e)M?7HVf1_u%13lvX9@Vj0-zdkrs&7lWsyj|LuPYr+=2#j% zj!$=dz;~#K^p5cPTBFW)IJ-{M4!Imb*6ehyPY+qYz5s&<*7uS#p;XTt>ne#97 z{t!2mgmw>Xq}hDvOjU=X+K{Y0)kR z_l-e0e$WvXXMHeTPXtNOIdO5bu{yr@_9;VKYo@>=-92?Y)FrV~5$$;)tgw`|#Kk77 zy6HkL0L4|>kUeWw#;ysO9-s*rMDhxA*55~$F-O8}1Lj?hUyVnoSJavu<_6TaON}~w zj@I{1J$!uCZGZ`g?a!2H`>t>UZ>QC4TE7L{mVK^0(OPDlBFHhcB-_nZA^nHPYj{GQ z8|iG4irsVH|2eLy!Op@ZBoy9h^TcGMO*W@x4<24Rn)bEN@loKL8Z!p|3-8OZ1^Vcp zu_+EGj^!GwdAN325*<3O=R&SEw&cS9PIpKHPS%@DBrC`j1KrcTdSUiGA|1`n1il+I zlXtLd&BLnNF@MYd*%3r3KrYVDBGcWLw?z6Ok*WVcKneN`t_{~$m16hH;D3~zl*Z<^BBD_M%M}PaB$%7|0cs6Jyz2VO?!G^MV{)vD2gEf0L4H8TY%9r&nm3Ke2#w ziP-!2?_X6^^3}K$=y9ICod3Z`Yt#Wa{M$BnY`S9M&reL-0qyY>&$GlIF=Bh$uLj=p zIF~%xRC{nYo0L-#T~tE(G^2NS0fX(N#>vK=_l#9^=e6<&`2(e>;1!>@x<#N{`~1{# z9sQ0PPm2VVjs&R7U5A&o3dNex{V>trF)nbXB7qr+n=XT{dp?bFT)#f@o7loym{r}` zsx535rltiwI&dc0>WJODk~^(&7EgaFJXj_%W6Jy5OVaD@^l_wAr&cHhI3~{a`4TA< zgy1-R$ll6sLF?13H(@erPfeWb13-JXhqkK?o8{|+_pe)#H(|-)-<8kD?%wGJK9w#L z>yUoH2ZB6~iZ<}y7oh+;ToGBj8oNL6x}EKU$WBAGOf=?t;{q{Gl8`>1wzsqVEw9)< zAwrLD4*pD|g)W)4)l=#IfQy1882ERt4OjLlOo5Dqvi01@!^UyUUvOB(d^ROAht{<$ zVp&?`t)AvPoq=P9etZ_I>934NU|KFE_bb#Tp255fI%vc*U!717_=}@z=I08Ra+8%; zaYlWvy_U_~Ie6q-t(-ag)Ex_DbIGo3;D<@l&TW`Hy!Q3fPeCv=l{@}O;tDABg;xdn zg7=`@Q(YT6(WZLEJ~0`jR7@=OyA1DKjk*>UCNdB+?s(wH4rBX_vvw@E%Z*1z)nKQ> zkGCm4B2ba;o;2!SP!7u(V^Z&EZJuUb%SV>*gDkVzrtCB5iq)(aP>!J*!j*5&7m06| zQ1iOfcPK_Uz}0 zj`UfIq&f+G#^Il*$L&FDtgPQQr~~#>?&}9dE0P$zB@!ytz7?~n{cR@d$eBiZ*6_WiONWXIr?Kct+d)WLEH&)2# zN2yTsrYrNbPC#;6aL8>9@1hLCwMufvy~cpcO}PoBb6Px+SK2vVP#-5_#eGY-pEmmu z$9}2%N#r>4NMFhe)B{Nbx+G8SzWON22xqlc`e^5dS-8?6{Y7<}l*Kj1dw z!4;8;M*gR_7U{rT>?%Nco&Ki@^nd+?gj)dP9L(q4s+F}Ui0O<>`D)}%OaQN(6WZ8VqdT>zN)jkhlN zwmY`L$X9MP*E8G5(GFg=%&vc;(Y_LEPq5PgcPHn`!AfBeWw!JH?nj$jtH>@}-$IY z0E(zlnM;pIIU_Zfje*d3Y~W1kO-V(PXpCiT*~1=?G|`>Z+t{sl9L_mp++6?0iOuJI zD@uGo+Q7876wt%BRs%GnRddFDeac%UU4OLf+ENoQn1f3N1svPDljBWm855gRN_M+i zammz}T`Z6%ZaTchXx@C!snG57y&%DM#aI)P{-+5el#HDj+=(^2V^JokJ?a!am zI7_{Tz|e+O-S(Vl24Dk8fUA?>;5BGnB(6gv9o|C_*smgwl6bY+L;(XzSLM%@L_9k% zxyDSGCjrlp*FwK%05Oz`&lUyZdVpWYms67iJkn9HMV@qv`U^)|4^XHC-kqJeTj0Nc zxbw7lC>sCC=|7+dqtb(U2xg0wMxXBk0;@a((ERjQOHGs~O%|28?*8y&M7D<&|2N>w zHU{av1$n-m2~7cwuAW*;M~qY&KH`-1@H&W853Ec9C-N6pL4rDY3sqk*`6lkWsAN(G znN^#6TRUqk7-1a|fQ(bG`60Hj<5)nu1sZ}>dSkM6zmg?<)#KvOW|R8ZWzioBHW^Dt z1aJzthx-Q8_iWx8x>rY{S@E2r|2(xX9HpAHau3QE!)`Y@Z9ZExwU+Fvk}x;(P+gYf zId!MMlRjhcQL_EM%y@b$q8_H$tMS8~CmI8np|b^hht>B+pBK(3Q9EfuX-`*(qqvQ& zGts)#M_J%OHyj=1+bgXs~(Z~A?B zievI)MQi>SKI{-$l7E*sHWED6*&_7yadS;|BbK_A;#t1sVMHgLMJQDpL}ly}up=!niE4x^D4c(~PmE z|98e|T8bN_HNAG{Ibsy;go&h)ZuP}Q@2z(FOr!wM+F&RQtwt7SsfHlyIMbK1#ypTL zUQBs6sWKggz*G}-UYRp@929YdJ;jqGKVQ`^ls`Ufx3nn&7Ot9Lw94R~yY&jKq4Y0U7#d%M+dFnNzy(VokPi`-#4$0{;Mc@W9A1YqYS!a7P#u+bQ zP7?QvE?E&a>qBDFep`;Rj2Va*wDWUg@HZaR$=VX!%hw^hP;i^4AJ%$21*p+&$&_=W za!74cbi({RwLP??R{k$=bZw&_?wtRg4aab;T!(|bf+xOQ&FokjJBb~992(xO%>0EP z3C?!Drc>XNsL{Z7+uA0IPon&wCn9ox(cP<6buxp_X`p&>glvHvv7IMOPSte{5W#(H z6`wPl|CGF(0A`Lols4GVQP6j(zpMKB(#mkAYbW9Bjq6138_d3mt8Re>>-rslDQJSx z=s*is_JOOTFxRWPR6mDBj&Hv?s?buB)d1lHxt5Has5@bLp)Pln{(O7vs2-97rW(en zU=SC$Y1*;4rK-%vP-q6_QVo@Z__fBKLnnVa{kw~P637#6^q&JBK;JEE{FSgh_zn-lMcf@gQ4+qTI)I+oHbObS9Ei~C7&>Nhz4*IdK3gagDy57z??IPYj8U!B ze&jy6=?5in6#*pGZx-RCi!Y9d8p3wvqMwk&y}L=1kl`KpLpFHueLr>G-D=g@Kh8xd zlG$DlaM)#`zm#`Z{4BcPIHJUwM}4cQYw{r$2imL4>t{j4@!ErXScXnrxj-h3T~qHa ziuMLOMR&A==fKuEWsbg8MS#*rpbW)2PS*5*csuD|kJ>dmMlJk8Us*O~4 z%thL$H*w7$NDFOil#^HPmsc{|t84rMuypsNElMqz-z3iGwQ#fMUR>J1x?KbgK(+CaP~lNRuS;CPcGzu> z!T3-+&;Vs2oP{wGvyJMjJYnP(0EWEkn2W*`1jPA*lC z*AG*Qa`R5{n(-LXO3<$@bGW4Eft-nk`~H@$t0Hh);#T{pscLr!b0n${q%7C`#i^8( zE$_{F^<_}!;<~ zR=gTpUQMQta<-e+NTxP6hvUVcbymnF@(+S~+5OGeb2UbiYU34lV~EnCx#m@);>$1YXWkHzlD?e zK*)g6luv4s@>Qe4RBn?8*{Vp-+5cvHMug|rSsNj@-~?EC+1xgj@fEfe)6!pjclvZh zWcT;SjkQTc-!+fslO?#!Rxk$Gpw(hOXzAYDwZb(>`V(mxUWLNg6Sj!LJv ze96fc-=b=#(=&Got$QhU7-yL3UzBvs{}60*&i==4Z3B#wHsa+ zRsFl`RJ5L^)YR_OX`{dzFYbPQ&1ee&^=0?kRe2IUci(Jpy~n@1?p)^wh<@7khdE>{ z_E>&jeiHGsNd@(IdDYOCsa-4E=dir2o`yh!ms0F!gNGja?riX zu`{;3otz)b`=lfo$n)qIabu65<^jSqbb{`^aNgVc^0@dH6%}1;M5kuOYmaEMBkP8` ze;*K_YSHqSY6xmdCHTE6464o>TRm-+F>6qsOGPYhKXnj*cXYc>I;=Q@m z^MS6%U%yUy?7>6(0!SsS=oI8>^}NfmXq~o?z3a6m$G5fZ7wAd#uPWUpV-;^+wbt1* zv-D2O)Y<<5g(q$VI$5d^-Y>S^g~S?7IryaOXdk+`Fh!@HizVit)_1`n)%(V=(xz+7 zzC@+?5f93F*eKYstk~E$Tl5hl96x_~(kup2f(*JKfI~no2|{*0SI0^5=6}g|IiVmL zmQgJYaC^0%71|ZBlk(RWlg3Bx5?!&Nvh`dw(iqGMh#Qgzk9JPYh*sn5Rklm^rKB$c z4P_+-0K4>O8Q_l@s0gw1r~VTq8nb=Lk%{>5@rO{Gc`s_4%JldDvdavd^7`FIL}IH5 zPd=7Dfy;6sfl+u`a*Q7UjE!7+mO98==&nnqSHQbqhPM{~9QbH#q`diw;1P$=yScvY zl4?#}1k~2kpoAa($~6{h{0KzUaoc3+99}(j)^)AM6lf4YiJkLGz>Z@hlGErBh%HcO zY6y(7^MYt?gED^LPz(C@!|;ESr1c2=B69IjR(*L^s}NNH=^`27XahdnzfdreFZRz) z;l<(Lx@yeetCvak*p9s8SsFc*qH(Ob|G|7ZNtu-J6!8bT-xT%e>j=vei%6q)7!aUq zm61!;t>7 z^uEY1aPzC8}pzyln99~M%lLqNIk>!8d9VAA^_BHiB>B^Jyb`_|4 zsST~d00e`qrRQ%6yDeY}Xzao~pAoo;W5c$QA8Afl{tM}0_?LG869r@OH@sI4;q@>b z%$}3<7}ZCrsTuPWF2N&E3mYy7InUv&g?=0$&-I>`l(KXwv;JE5WQ+GI0Oxo)vpnyhEDU+d3D1nt^hHDv}0bNEEs ztQQ@xb!Zl&lyu@|@`kbC8+#Pk}BjQbjvu({T_DT1*!bMx`~690u8>Ztp;M2@`d z|G>IF)f7PAtc=9DFTZf_Wai>?zDsReSq*_M(qTqI>#ZRS%nsm@q+^NU->iauqay$SpLCrzKt950R7XWnwj;oUp!EYaekj;*_%A=(aMT5IQ1X_)A@pS>JWE7Ha zpp~VaO)YxuB!GKoV&nJ@tuL<1pRHqOV)G+juUvb+s@WkM7?XE_=&SMAVstqyLfKh6 z=;C5nBR)Q$bnIYKQC!?RN!^aH=OJkNfZ_UqJLI){UYqm3 z|Jo4Dsg-oE+79UlI-GTALgTiZ*q(xu!7ciotsQHU=m{2eTeZtsFQ%OTOMNbz7^m9- z2sK$Wt+2d1&uwkGeH~x8^HAWDsR0M>0~`+njKpwg4pfe4&_d`{uEJ4pCaZB9=a-4! zJ#%tiT*{I{PEfAL%v|VgVLixjopD3o0C?kQ&yUvI!L7vXXJXUa@~TDc95Qdts_tA) z5RfJ9MPzC51bz{}h<5~-Vo~x?g=#)DH6%^TVmfgma z8i#?o-q+2<#rcz3Q`xG2yiN-HKKgY}&2M{dB_vwyIH6Psf5%wD>=|MVX({$`05C~c zfIa2Q(zn(W^gr~U(WW#cvtezPeqj@sk?yF}FN?@9EAA686f>W3PR3>rD_Y&r1%hy` zKPS(=J;EI5qlm4_XbXa#E(@L6=(U*-b$e!Do8xbYyS2?j9OI8b6B1KCfwF+96H`V_ z`52AUS-(E$?qbXmjuBAlkALf>kme|}9&<-i^C=&{OOD{l=-z*K4Tc6#RDdf}_qx&4 z?w+*@-Q7`QBV*91h8@{?&BX<%`|g^AXvs~1gG}K0AQivaQx<3Ph2z~BXELv(csFm2 zA;jQu8fTomudGEvvkG$d-cv>^>(cs|hFZwjm18{5q`P z{4HUO?UYd-Q9tIbrXhvOSXN|0}#IB zk13uMurBfG52=K%r}*GJ6ycUK++`&h!95^0Hv@FCVqbJ5>} z96pVP|3*sE`t)(|p8 z1H9t<#9UNh4N3-+0xifS&O*uR1?${&L_E5)$(kGLx(UA*;|p55;|y~Hbbm!<8EU+^ z1=O@13>d;+i{qi(D~a1`Za3eQ3h}BXF`*+PQ5pb+@*V}rq%X#IMOOK$qboeth?{0< zrZhQqfjLK0WPzI}-lN!vf^@Cw7JoHh4+rcxRk$N~!y0ENX$X?^3SyBjQsz_{;`sxT zYWWvMSW5)G04h+XPt=gkT)5(j?sxyO{eH{6CDsMuImfGMy_TX8^my@&u?xEY`Z6Ke z4^k$wmrT%ZP9}>1o^`GEIduS_WUPTep{7loeL1m*eWZu1l%HoGv37ISZY^c0rrfrtxi^oSZr}IQ>5QcQW15xu);lJ2`R5@1i;>mM^4A zOmIkZRBw3g3BVQHW~_j!@MX8m%Q$zS*Z!#AQb=Zgn%7SMhYQ_;&C&`)vRTt@-EO2i z1vTO5=j+0c9z%+^20G?@AEbaSZns#Cc!UTx^7?1gD@n4P)E4`U{vWwp`%;skca3I?3_AVs1~Q>wQ^-rxUmwch~s;ILcGje zx|T$o^{>cMwM3G|bPqjxv9W!!4a-MLypnue4Cs!^`bk#4nEplcelbg}H0Cf*mZ8@rn=`rZH+}uO>|&)%{nN=}sSkeNM=MOGs>d~b zTu^vuKCnKn*46XhT$zye5PQH==`HG^H{@=7r7cRKf1rxJDQ!Bb7k%Ba!_Qx4?B<#V zsasO|{kZH=0G|w~{A|73VXw~mBj%J@*}Q3)Di~59_V0DLB`qz&s)<39^K#Wb*Y*Rj z^kzh*Vk3YP`(7=SU`9OCKLRysm}dy*4){9fb7WgC{{a3HIS$)d?{Lc!J9XrM`}Gyq z+8n^`t=?7!!a0DJ>p4`S9%V%LRF*Bn?k-lWG^0dx^gN!W`QU_f-)GOd|KsS&1DXE+ zf7d7VN$Dh#eM%_T$}M9_NJ1s#T)A(#Ti8CGl32OsUL}!hnEP6}=3efb7!$VG#%wnG z{$8KozoylCzxIAVpO3Q>jv3lX2gcEtOpitNFJUN~!JO^pox*RVZ#tT+U~i85wNgf1 z@!byg+g%#s;$osy^lteP^~u9~#_^k82?xaJs@d9F&hr6nZ|@;3c7(+e8xf`(&mS+Z z3~q(47pv-U<;`cgLYnhL`~Qt{s*3ru>*Lq_j#+y>K^La%nLKrq!&-89Zes>AsgB6! z{J>HcKNxGucUn{hI{ig&$L%h3YX~F7L=_gJpI#}ntN7CgErK6tf-o~K2QR9Goi6=% zBQ{Ffc(A6oc=n(@W-E|d6QkpMW1kDM+W78oB-(7#9yr6?RHFC3mu}4w!NS_8qf4;s z3h41T)Tyq%l8pUn$qxk9wquqXJq&zH_ndEQ_k=7OGqz-4zQ^?^(n4SGJ4a;)XUQg< zKIm$@{_@l)H6_D6JMLv9md00L2fKjIQUH?t=qx!70NA}zR9%<8<570A=|;2V#LBcQ z0|MIu?R}{wWjQ7}=*FbQZZ1}%&cz%LyRK@$TpUf80nM=tJV2F{Z3;E0ze^{_=xDi+ zA*=1-mTg>D;rfzlK3%*U0IZeq|AN)WW#%Eji8+&TrlDG71=WojuS!v9~mY8@2_k`~ni zxy=Ku9Vt`FT02EGVK-kAA;sq=LU@38ByCx;B>GAs204cb8(>#3d0l_lx7%5}#WPO}~h#Tp~i#~&C& zfljpDx3wPj^zzxzFTbk-b-MQ{v<3CTTrFXNBB}hgh{JTsj``&e_;E_s*K8P6p&+ZQ zNs{MoZesr`UKB$pt*O(C%Liy}<+E89Q@|c$U ztk}NSE-ww;Xc5g%?z$npKj1p^2r%tlYPq}9w#0uxJmOvXWWTw&yJV&!t4At)(C?wD zUC-GJS^-rSQ!Xq**{oVo<&d*N6}Xl4(X}4JYs944hP);@( zyPH3u#QMIf$G|sB6Fw_QTvGVK{A|C^T0Rgi1v8nmS|D~~j;~h{MVH@I-?=oCs7ZIL zVcR2?gHYlJuDsQl`D>>LFa6=9y^cI;_1vDm6h%u5M&5Y4n?JS_KGZa}c}C&N{9~5S zF8wJV&BNABEIbj&gS1UfBtvP?p*ryLS3(TsrBRQhrMhUYTrUuJ_eYXfy0> zgGF1Kv-N1~-R4ZY8NQ@U0D)&4m##rC^NFVLj)ses4gSheb=~V*>2@i>HZAENSkQM$ z_r3dHs%-?DO(PEdm!AKo(?_w*;$?xkyTD!WcHWjLNkv=hWtZukN$O+DdX=8K_UVeC zMAd%(N}oN%oXRtko})C<$^Yv6E|OEGskkygyxCR~)74+X8;L-!o-u^3jF;pqlenkB zx5iqcXS4{I5Tt~sKU;u}{Vwf2c!nK!`_N&Q9DIm-O#msiN7VwleNtQ|v@(hy`4}wZ ztE;cJ!#{Do$=&Q@wqqjYL@_48PI|Ub`;>bC9($(5B<@v#fHMN1*v+ z){}Sp#vNc!PHZ6NnIHowI2CY4f1$)mx?BbH&d~7cifN>mD~e8GHcqI>PZ1P zh)DV-e`2wtwA|^QDymPLU~F&*j7%)ODf+WakW~x$h-Ss36PCK!%O$I&ud|wDtPz}e zK%UTv71@gKoIx~3d|PexaFaXhEG}7Xx$+EmPeEa|bB#|+sN>057zq*N0 zH{)g$m{B2@;kh5jSw10&G=dx*P59p~JZ`~bXr?_vmHR}5wEQG~aQL~C=@MQKf%0(D z|2Qu9>C5E$gNJcVqJX6)Qs1%7_9w))hsD=_$51wPqdS|ds+l_lz&;zr1{;M&C`WAr za&>eSe%TTUS+!gT=dDWX+nb$1`F`4k=Y}ZIHR0wuSTMYzZ@l7gPg=8$5tT{mI_*_p zNZFdo_7{&k7GRk7{*9S0P3sddwZHB%mxJhi{-A2NeJ3rY_U`k`-bzY?);cj_T!N~o ze9)$q^;V;ZY5K?!FRO)bY_yN!`@DGi;Tx`Ahp86k7sZteX1htUd)N;|nNSmtFjpR| z{JT_Y&kb3-w&I~Wt1kN*D^J80x))gCT89rE!SBD-rMvd5WPanzuPMR{`Y}WH;eGg{ zQDAh|@(CFccqUA;OO(*_l7yuI4wOP^3;4{ItU`TiE^dn-XCdMB{P0E*mGuA+w)nSh zK*vOJLxuZ;9YX{&Q3w7gRBHd1h>1|?x3lji6lvI_^%_yZaO>TF9?|sBA`iCeHK_UA zT-3W3qcE^5DN)5;W{PA@(wY#F3%F-KlU*BlG4DFso6#I<4?;?ui$3;(wuN(YA zEq&L`BDH;!*(T&nZr?dC*IZD`dR;n6=U7^s+hX#L=zD8nl`q}DVfFP|L7wp6^>e(_ z1%lZ{m)Jxnb1y4ixe>ofhLU#G-0vzrmm9d$`XRDAv==>{Nu1YSn@$#7j3U3~-G(=} zuw9s8lu>4O5=exs;xciS5K7Qi{n;zis}7@J%>6~cX3y0|bNh3!w;Pssx~bh|y{7Z{ zC4!S-?41U)n&Kg%7*B&-t0NWuZ$$JIM3erheig!Pg(w?Sby21sPPZH2V@oz)yB}oR zXej@)lZ=pU3GlB9M0G7G|~WbtgB9(_R z<jzj`a~ zcS9Q5LwDcmem(y|1KO9(GXnUus+lsysq~r_{r8{oACCJ*vn1dN$) z&3wUHyzmB{YX@ZARs@x^pW%?P<#L|fdnrUX|6aHcciR15=Ia{)RM0PMwLc2cY_8#X;)ihMT**C`Y4 zsMIpqV=p+Pc-ooLv2a#zsT3I?2)-wFAi?1~aiPlhF*_10m(_=4Z+}F)j1&Rkjl#qZ z8k`47w3f_=9HK`jXsuR7EIIO+bRj!lIqu zfQG3xbN&l{ljGgN2X*%fd5T0rWuQa3rG6$JJiG>NMO~sMo?3gL-%h_!6w#3fZQN*sZj86+Cke)Nej=?2uqFl z=O!o}ag>U(zMU8Fv$+J+hKszVS}V+DL|%O)1i~%TJ2r~BH%+)y{eQHz>J>NnQQzp5 z317!wySsEwqU^LzoVqy=!zz*vF7Wpg(p79_=37y_8E&)Kn1xZPF@Ra!lO4556Zu=T zGrn(r0S(cV)h&a!p}v~`3$;`H>0u9;)(@l_7*L~3N4^!tKW#I8HzG0Ode zE%=!U9cNuM#5w%%Ozy><;R^7{VUyDQ+MKh-J%X=tRgXBtp_sd1^6Hi(GL=d}=F!m= zy`UX49_~+MTXuv`cFr%-KQE|a)x1Ms0N4x#Ix-blcEWt z@_i0^Y%V@QI^od-XOX-i_@e6gU^f29-Hc0}xgQp&E%wiWhQ(sVc3YxvS?jLqnK#m{ zuN{eYhUkUDOYk~Ld!g8O!8;cPhOZGncD&AWUG9MLkOBV-F<2VI_oMUi&@|ow42kac zRFfK>+CboCIUm?O4Rc4lL6`SB5z5*TBzkB$jSK4DKuLW#E1=Wq;rYq?Z_VUa`NSA| z?ZyB?`yL91=Ya0(k_5-bWx|(_|FU{zd&03N{EC45rE9!%=?C`MJ@*+gm||{F~|JMtc9} zGu$HuAvFNPB>fT(vcwXUWvWxeE$1og)LD~>?+ZeVEj3puwF8mC)Whe^WSOR3Hn9qU zWM^9AL-M;_T#T33k!;ueC2mHVYRJ0?jJb?Y2^h1XZZ>#`?KKrlne zLOujGLEbV%i*eQjK*HPYouADEQU{cIrXRHc%a@OfM?nbK`4HXwNHcv-6dA}fmJXvY zp5qU*ieD!qA%%Gp9ax)Nvu>X)#(_>W-Z+!)Xz?r$Tfag4!aJ*XR(VF}(18)1Csr=; z>KrQ@jdM)3$qNN17i#qWjft0QMzd1u8i$UKEsx~AH6dS}bwzzP{VhdmHH^hva6&(e z&)QVod@HnMwrU_S^0V-QoMFtsvO4L|S(FYb@qa%-0v1@sAFPfrzaZ9v_@_|3Dkx%usEd2i}O45!5X2pRm`G~j&Q zkn48uYKp%@`5m=Ii*gen*-2jx$bWD|!nYkxr6jv*tVL*+LBR^;R>zV=NKAL8-g^fZ z-FUK-nM8zCV!RQ#GN|y(+@5#Z=O8~q8b8s70E$qa1!d{n`AON%JlZ}>U_d3c)uiMo z?1tC30lmye`>2-jC#c5Dr?viz^XIb90w_2!kB$)guhalXO^JP~b>Wpg*Y*jOAor+G zhzGY1iMR$Nfu}vv;gTww?jMm$S*zH-W^ z&95KQ)yr-kK3qI*L~% zW*J+bDlIPgWZTBB!W~1c1n%9B-6hB*wz8k`3xddNN0*+UDBDG4qK9heX-X~tSwJx94Z zOy4Y8^U&?b#YPn^*TXH2ONHAMyjS!!?f!MU@5)>#D=UZQH-fw;hLQ)Qu*ALKkh1Dp zuQE@8RpoXM;X*Z}3zT*Fsg-xm-h5MbsWQrdyoI)`#OI_n?QRj1u+1J^oK=|k{gain zKZBbVj3a+bER7cx;y%m&T_%0Ks$=vppV*t>-}^n-e>4FGJyH4G#IcUiJLSH&Y`{w? zadIrk99@|@PH2=;yuKSfB#|bWc4pzyOi~OFeng9@;UfB*GsrJ8@jK=;z<|xl%aj^+ zb!~<@L?2(rKXCa(ig|L!PmD=5(w$hi)C4`E`(&d66jpZROMf_TKo z?ZeFc`)iKU3fosCt50S|-G1KA9LWv!-A+2#by_e8rBRKFlct@x>D63 z1L;!RQ~UZXmipttD56VGvJ^_aZZDIRK%7wMR(^!JbxU^krrTO<8R<%@TzNk%n`FbVGm=4QkHu1OWjf=vc2#$9#1 zweZTyhKC?zp!$9ad@jcxkot!|+|by-pJQn*pDAccJA|U6L751f{}|)?@D!O*Z4))N z4Lv$bS&Op$y!?1Mtn+XUhwx&=+uX}?a<@sLj!iUeLB-&E9DzE(M+EFrOiB+$yiokh zx}0^|FDYrCgAiA1(iXXv1?z@jX|lD+O zcYkgFOOvDsiwXDNK<+VyW5uE0(?cwKCisyx$+yzfPBeepX#Hi`^oYyXjeN$s8!IflEG z<^ji6ZTr7Jac{`oFfD_|q4atUg*!1gMmM+auz!?XeHKW4SlfJZojg9SyY_QC4x^X z7fLI17j?kfj%TI1f#x+mQtwm6a)E$x9#PpzkkWP>LG@k+9Mfi$IxW-%qN( z<=v>N8H#6moI-!nO~<$AToKWimo!7i)6LbQ^;x6Xk@*YROBh++?OK#1o9bO5*9__d zn_33`eA<4FXbTeU%`uU%pkh>!O_s2GDfeJAXO_slXvHqwLx+CoK$)O4CiR8FM3{ve zj>K-5HRJyn@RzZeIdXdnHQJIQTrz4q-VSbu?1RNFIP)3~GVs+n`q$$HQ7JoZg^OE6 zUG=sHC13xyOV+sWMActn6ZPjE9=up4bK7ippjx)U0k3jG-N^fZZYfMp_mbY$Pu}15 za69RROu}ORnHUk9!`-`B?DXooQ#%#kI_<=KXTq!zLN*d>!q@6i$ISk7`oo@V2Lm#* zr7G%E4(#bouzHanE@^EN#Tq=TrHbp^KW)bvC|_8t4b-ZaoP>pbG_1j=@c14t8ak;n9TxBGb6;8T*Z;@KQ}N`PiMA;JuF* z%ZMtrB&DR^Epr>QDXw9WE4Ks@e6IIM-Je1~bG@tuA`MGln$nGdt_S{s1TRI^X+9NO zu%Oa#iB0a+EX(U21Z%?@D^8jXw?;4$qNn7{53lomQuAW_1izm3HJ1D7vjG(^Zy{Ml zfXZ%6(%cI#oK3+!#Cc0xuMzmZG}OL|v_+1TEs||g0LK#t^S>d>bhOt`*xM&xKs`w@ z_dO)xnK5rv@@QS7*xs>8q!P2|Q~ETPb_7QBklF3kDQ}G#vAYUNE^vnqNXb6RT^+PN zwZw3DPj}9ANbP{yfr`j8B!I?v%=h$aBNuC?JOjY}!9jZ6#VdMWIMdWd%8?xq2_!oA>CfS|LNQQ01wc!Z4-? zE+tJ0ZX;XBA99y6)q}l!O8Zm=JVu?DAfEvP()zpovCuoiEg342ajiT&!({^d$4wGO<5B7)-GM69-1wq@7mEfL}0wpg$+^* zm7D^gCRAJHISgGr=c#vZHl9Xyb?#Aa3PaxvooKY!+YTds5nxm6Bk$duJpsa|R#aR` zx$(1k?8g7nmDKNvad-wZYP0h8E(JP@Jn@JRXAP>iq&IPJ?mEnH4ggZIDjC`~gUDh+^ zs$4JU;exdwZkE+!l#Lp27zi^cs8`MgTYe=RZ2ZM?e*4wC1HCV-l(RLI*NB@R7Y0W1 zQXZ&wwqaddbU~u)$crc?pA=zc;NqAT`In#q{`<}3uTV}ehKyco z#i$yt`|vrXlFSQliDHthcj>Bl5QvGXrG+eb0WJcc&R^rsed8uC3|82+?2S|e8Zh(l zvuU)}K;XfdA&Y)lf?lm)wzYqrb!c>^&7J_(_JR9CauJ_t0b(G6(43r{GHomo)RC4Q zPh*GaYRzs4DpHs&E0nKxuBLeMTdlUT+T4wd7w$$%momD1>RlhHb9h;Y2OZEMBD_;Q zUB^Tnr4C0{+N1P-Z3M`nY`Hn)dj}fo^LpXX37$gcnrDPZEJ1)L@kEhN?-Bt0+3C!$V79u< z4ba5|0AS;eXA^_tLBR}qdOO*^W5x-wZ9ReR$R)8(=%T)N_>_l#n(T0L!2QCSR|GJl z)JdX+cfgaR){V=5fuG)fAC5>8+^d5uOPJ-L$uiw!AMbOcJLDC_q9UN9!dD(%o#j)i z->aVt!J53*LsUvIdV2H*yaThyJlxRI96j?FxU;Q1@koO&3B#eG5|yRd(-~aERb9EN z@rRo5aK357Ap1`s2l8#s35awu4?Jrjrc|D9Ai8^NGWzm>zIUI=ULs}ZMO6!3Su#sx zavP`0trk4)?whfbwLg%u4Q>gMQAK}rbOZ+irH477M2TJ&7O$9zncc?e_~_kXX(o-8 zVBTt*C7D1p4!fO-vW!6og(G1)ED%#Lly-jO(9X?dD5~4vw?vUS}|9Q z><I4+d#P`%jUv}PjQck*9rJc{U8=y(-DjGY# zk6VL`kQZ;C#Z>+iKWNLWz&&7YPL(qJ?;CM~GPiFBO*IG#%W_|W&=;rC1tPc8&%nZU zFp?|s?QcH(LCg~X4HakNy(47AQDA)`bamcaUxi( zjse@wZRZ0`qI2ExPswFjpFMzo3i)ShK=}EroJ!TxXw9Ar!hiGZ5mu~2Y8=Nck2!5y ztK#Ralgf8V0pTBM3;@koQe(H!-LL5rZvQGiB8DovIY&||iJ|%Mc+4P~yJeBB2rFA^ zEgy1yfW23}T@*?5M#M(*A&ROE8uU?cUT3?dz5TbI!HQBhzIx6D4j?i0ym%w67 z;A)g;s@fLyw}Ad%iPd*%i&@FlD=rMSn9q1)QOHsNX{^ooL*(-IKU|Mh>r8pE)swT) zuT-I|ocO8P#dGt4K*sdHe$Mov$DEVN00b__DtY7*TLZ1spUm@+m&_gtCpTJSF<&x+ zrEDEO>=D}*o;`Dkl49@hIp%e*2TXx<#<%SqHurb=ZQ6a5@KetGl?=UtRmmEo%v77RK237C=MB*Z&aBS_{frD5@SL25(9|Yu)WHaP9Z^WAKKu0lP zya@U;zt~Ujfhjj*d4YjhQvogj(m`tj8XaVp%;|uf;Wu)*te9Wk|QUp z*V~E`S+xTCwJFWWqJ=kXknUrm;+=*ueow_hz!K*`P4F%HgX(MfS{gzf%YGdB%Tw@R}6}JNVt%+LE zk`vBxO$fRuu?^gAlA~O3lihAdrNV^|9vT;I7?m#b-B)M~{j$m*)4Ei8@{gbU{MFLh8&BHq{hgbP#|d zWmqp@bHymL%V3w=G9P$ETg>Z9^MwkLk5LIf|0E{hmG6R7`OGQhfatj^%MHu;%Mm)AFCt+` z@DzgY4O4M{PdYhjKIkBIdpyBRXIlAvij{|J!JZqcBCXZov0{7VV(o{;q|O8hj~EA% zcvC3`zFvsoI6=G33DcW4Z`C-<&)(ntAdRh3`V=tC6}CTk=O#8J(yr5~|IVXhUv5t9 z1`gT>8i5N+Q)29(+mv{%{tv`2HS49F1@Ej)!X>IO50H*+O_I=t#HE z8<_09rMJ7SoNF?|5q$@Ub54JGj0sw?G5dyp0OOIOiiD#iQ#v@XTj8?L%fSp?r}-mZ z-n3Y`39FqVHwoXP6^ZvN7m%MBJ(=2<+PlA2X_N(|JRZ#ZFmD~lsXn5G)H(alr76#% z%w>lAWvI(*HR>YbWu*2)Ws~uz8_UW6zAEf$5L5iiMv17o^e*GPWxl1Gz_&f|!|}99 z#@!yb6VrQO@}pv=$AjC?XxUa?SD;Oo{QCq8Y{hXn=pvXTN?y7}k-3MsZma7f>NkLL zywD>i!hUk}JP4}r6^De4<3Alg-*08}->S?y>IuNNTP8(5SC-4vdd=mDUZq|kB*iM@ zH~bksmEYXJZyh<)IiV_AX}x*Dlgw9+h$c8D^OK|BA}|%T+q%bqFt|D&Dbjh28`OX9 zv8bDqQfIK)L^}D*xd=0=smO+&-pU_>g16swdy`POQSXqC5SyX*0l3J_uw6m8_=e zQO>|Ri9$mfCvUvQkI3+}C%jp@*zz4LSL+E#Cv7M<^Rc$K+OTSp?UCHKV>l5;_7Q&2 z!H*(80uR>+epW_b`b)h>!zXscuriC;0d!KO%PnDJK+!}fTbwxu9X_mgC;)1E$n(9i z&)>`dW{t-S*T%@ICC--WOW2iq3Z@s|vkaU31^@(DExb+e=Yz$V0~^hOL`YcV|38{w zI3ZCA(G>V23r&B9gfJmVxtkZ<{A2@}oR}9HLi}4W3NRBr|D)Uw@U*T2YmtwT$P0wVp2~$DdS*$r z=CLSM)7NFd?CRfJX=ZfjFLS4gH$+hOUPl|BEMa4`1|I#hh0>Xg6a+aMEa0W}bM0zv z)721_d~Q?bZ$14nt@uLSc*YhVk`-jy%7=(-*LHeuX1Z8?^uBLRt z$Ed62;YXsY%O4BP40;Wi=A}COD_wwr3fYL*#06>insFny4KJ;g}%CRX&m(P+o^WV*tu>gg>n3 z`I5WJx2w7Z=2!dcH%19u&c^KSEtL`fy+^~sAGEn3#j@mn;}+cm-2aZu6C9}Z`3t4p zs3Qn$|52j;BG}^3sMf5%%1@=X zTa1(0NPZu2SD*$dgC}Yf2<{C&(RRABlZ_zYF7eC++RzAhk#DQl_w&#`+L4i&sWNs` z4#hZrZnqllUN1+4+v2l{*7One)$1Jv-;4dVY-|~~&r#SSu_eMt(-kPp;mK@by2P`e z{v~EbnMlQ0{&;wWV@ZfB3a%e&ckw}l>?PUrqgfZ3+(26n421 zkvw#VxOM9ky0c3r_Q&l98o9Y7sIpJ$06;HXzi%Est|m19_jt6l-)CRh`R*8RceNLu z>3`pZSQQ zLR>KMiQ?84H&y4~b}3tI*P3Jxs|r;%7R*5~9PH_3lc<1&#xrKj;R?jPmqCaLUzQTu z=j?5eAlK2BHy2?RU))hdwunLhBHRqruIMUWa|tA~GiZ#R%%XX_+t_)|d_b)HG1pof zdL+CdfZDyk)5^0E`YgKb!}T_EU9N`w*O||Q{TzF4`O$G}wFcB*LOa&J9(4^0tkpiy zUu~f@ZFb6L3+)vgLHiTi+H>fBH!AN+Xn%ZFN3bTZCpeo$neh+M*m8^cY1 z8I5H``e{o3414LfEhiA#MhQdYs*Is5Dpu+$G{2iiBt5-4E0Y*fs1n+hQ~uFC22o-w zdb~Yx%8tbo4{<;~av2?o&=`NDe3DTX8!NKV^G>EYTkZAAa1tLG;!0U)PwYrb6u(MK z{YhV6M2eiiDBkyzYiu|s+&TCV3H7XZa6ZN1rN*_jV(&e67+aJQuWs8EkFNsD=~6Lr zf0xd|1i?y~O0^6YBl92BqU}FD{N(eCWxeh&+jd2P-iQVF74^-G$hRL7hH`W@5r8X= z^r9cK1D}D;q}uF3b}8VCzRE1jUTInUW0%q^$6PYN_ltv3tL1mZgWJG2W&u+BdA-%I z*4+MUo#83PD}yXjNabq1s$wNq2q?%-bf-(+ISk8DI!GX_bb@T9dx0bN zma6Dt{^ttgmVN%pm2pzliNP0| z(HK0X$PytVKzIv~^`hywWyUk;fjsR`bh78%$BkLag2RzEnq_hCJb9LlJi4RCPX)Iu z*g(anBj2d=7t&Djs!=Iq5%!D8+uNl^(4TsoM%j9+XmfZF*wY7g%B(J(3G0RV9MPj;L zP9)WC_wMSIcpHI6?<-?HBe$)kmiD{h@-emF2j_AOmn7OKFFLT0MfX{YPg;w;FgpVa=I=E6UQ zKH(`Vu}T%mABbH&nReo5|9hmFW28))-|(`-0{*xrltC&dRr_`s>Po78Sg&#I3fYm3 zGJ;#Ce_Qt*^2jV@hCa>mRm%XYa znK|q{a%q(R#S$cOH$B;c*v0`@Z#tUwZpN7@rqgawG!Ereoy#WCwyIM%-M^xM zIqm2o*#u(=nF{6z61aVu4gI*6l~#*vdtK$zj8*9;HC#z#Ow8_c)(k0 z<^8Ie=JTa{ITBJ?kCC-E%y-9k&kmH$yOGV(H?`F>rYb;0na0^J3Ns zN@BerB({O4ARjM3{)1;g`|bK3A&K?PDHfekQ_G} z!u%mF5F-qbba*vfbklH?BKk7**T8<6$Pe9ehxREzSndv{&;_7>-o(Ei33$aUN~>{X zM~_qBB)a*zLDwWcm~Y%t9V~2fX%E3KeJ%T)A=rr5;`|3;y8H|NPgLT&`b6R~-Hf`+ zPoImk-$=oEi@g!IZ8n83o~D2e=|Z;K+lKRZ#vjJs;N1tqqdq*%9q}ipd!M8>dm06I zK8=iLkpGfIk1Zy)Qq*V*9hu!cWBECgc~WoUa( z|8{+iDth8rg{j#0-;J?MX%w$CuqXL&nuKQ^#7q5WwkjfT6ISfoR0%ym^wGSsz!5FH z6|`^x+SH%^gX8d!l#=D1XF`(o_$WY_;q9Z`rx=Lw#q?sdXDSNrQr0s5-I%f6f3624E)WckW@CG z=Hwmbgv?u*BRa>twY$(G?!EiX$CAiE2p~t82TQn4G&7}r8s4A+I#=rA2Y@!Soo{#b z`bze-fsp#}+GJA|Jl)+o*7iJQC1iuUbl20`=BChTu7_71Ip9iuLRIV|+2Y6V2j>zYh)pfqa4%?NrW<3fy)eccYYNL_iN zeCd$wkrgdsokMd*ZS%3XC%x-Rh-8{7VI`1zILGGkqd-v6wQL@PbSe30L?CRxPZUK+_ zXRqX@O+Whi47lOgF_ycODUx1>ShmW~yNT|jDG#ofz&#gT3sW4QyCvMX<>mv`m`fc9 zI&UfSV3}S1#=o}Q_jOIR&odrAR-DF?=*eh`98IA` z=!zcQ-mh+z*OvKCM7%o4_<-$sj+C~Kygq9_(9ZD!apBj&>ncHuDF@{x%x~fr=AO;R zm8P`Kqtml}qV-FYxkql76f_XNvTd%Zp8#W3ozuw3W1;Vl8`5V!ZY7LvC3sXXf4)NU zNTnU=<8N@t7NjR0nl^Wr!&YM0HPkCR3%DD@EBuR(kHmr)hK3LMfT1sI&Ii-}A_EMb z5eAde25)erDK5gtXE7b5hu}&DhRojTgbE+Ct21zme#};8Fx7vIE7Ja#t{-WP!dm0q$1Q|ug4E~swifjt-H7hz8z#0b9~kk;hN}J{Rx_zH~tyck==AX(uU9 z7=0W%&V#U=5EH2P%%+Zc#-ba8pP9u)NbnPqb2+t9 zVXD=G@b^zuW@cameE3=ejVJw(yH%Oy#V#6Q8v6Z6Dkvw4f&%M|DHu++!v_cf)cA~m z%_w)SWK5) zl=6F_bo$s6=dsy@C62Ddl0N<HzD8bt7UD zdir!@&QDam;8vRo(!(q?V7f?~iL00ec7>{k+t~~;Zb=Y_t9{u--D=7I z_lraozCwzZUT(&^J&SR{LT6=GL`q4FuTP-Oav;>b2B5eh^R5S+6Ak$VBxXw zcUC#}XXl8R+x3~sev#N)_*93{6LIsoV_<$! zWqZcH(<8amLlOTtt>_;wxi1dW?48Z7gJApTwg+IiZb<9+!?#T?Ebu)~ZJ3iAZm1QG z@t*zD?yqg_ck_+M$!Zg(5;a$Dl;3|Yt7%{xN673WR7HZADD&IS?87PtHWm*0?$%mS2HMzpI-@6^KVs_UIUentXcs}lRCP^$oD(24Q;uA%zB^JtXA!`w}9 z9G@*cx%UHB?cb8r+g1baba0HW+*n`Fe6m1~t)lq`yL94wLma<1o2Yf#DBGj_@)K_1 z)D~2FV*6-tU&P(SnC+Z#n4|dx3BjGTyXvOB&dp~UWJ|sU(@69hTzCM1bJu{PwR#sYkI+8!i+J@Bz_QofkZGzJA z0Uf?@h%>xP&nB_w=}S8+;#Q&wNosUNV6a;n5NH^-jR}_~kTu7}C+!gV@%-17%xdh7 zl#aOk?Z}MxJX<*9faG#Wx0;{vAJyM^`QZUgomSI_cFn841Tbt zDWEZXP?$9Tr~Z(6P**Hts|U?Wo=v^_7f=+~W%@`4so-@`i1jJfY6E0lt4;TGR>)Zk zJ3&SR8>g43e|Z;3eBj-~1L;DaCvslN`~=m$L$1`F^3MY;K78G_H*A)FMEdZ#B>mM< z0gPlk@zkLd5WS(>xUXUG)D-NDlZDD;k8qIjiaOjwFA(>rhk6X4)A1#PTxHfeO56Sy z8N`6NaC2@By$sIdwEqp;ktw#e}sPszj%M;t^`LVF6%fH=P5NNu~b~v9(%xb*9 z-5Pc;4>}X6Sc@$NkB*KXZ-CZkyvEMV=&TV!Sfp`V`=h`k&a~?avTBsK6+HwJw4Xq{ z*vOVt5}7ev5B5FkFAS8F0c?rfzBQF)F%fUYb01thoE$iVx>y47mxDTpJcj&fiJfeW z&HLGxyN%X|-sOW)CiCYI@rwFO(Bqb;sP}oN0JEGKP^tGFEyLua3CdbDnE0p1JBm3h zBCG0uyO?7n4nfUk!trEq6CPq z(_&ujQOQ?H+qL{z2nfammrBXr`^^LpWS=`2R>9=r}n~O=4^{hqI%<5P>Ky57XP)Le*YKH^&El zzI86S)@Zgeoo?fvdW%G%hdcE}n4=OoK%1~RttZeKYJBsc4mi)-{IBKorgkw zNSW|ylC)-PZ7a`&wh(Fro?!1;S-4`|On^DOht~W4NnxK;L%3m6kW#*={bUb}QlaDI zcG*=^kdLYGuI}~t8Pro05^1`j@nwsF4p)sTV&mM@mo9>&s5o}wtzF149Oz+92{QA3 zHZhG<5sZXMWL6;b+9WReNo^L%ZFq1%;L)Y(Dq8%|`G+VyYA_Q0cb=ZX6^c;fun*@P z7~P*uJ5|zV;)t!iY^&h&mZ#gAq9)Il2LZQHPxUQ+)yU?B&5zGUxwcJ`)XM3m%jtls zQh3LCJ+2p9#EoUH-KlD{sVQq91l*gU%2L{hBNpSFrgr}gsR7bmK=7!!4m@ebmCdp+ zXx93n!`BByps2^m@%QJ6xz3O}3W!(6Pg+}0`%?C{i%MBk=p23S!(bCFHsC5=P41Ou zme=dw{u!|#Tu?5`JI`uY!v%fsm$?l9j6n{4Q|87}YL4cKs+8TQ-WI03sTnwTLb&h* zAQj%H23H`3Ta*U*KdaESrPYTudCc1*3$cT2|Kqo0S+>LKhHykGRnnlTZJdbtVWRhS zc*S1jvt!Bs=g*k=(QW9}<6U1I*=H}d$JiG}gz{hn3H=_1%c%r!=EXVxTF>@0b_^fw z{4R0Yf{nwpq`c9x909`9e?(`KqinPf1!@&Poxn#c`bFwkgTVOVpc2`~gR*xfnV@up z6w~wi1LTY?IM@*}M@CLlV(j_)-yahUl2dEn)At?$`NF#c^QWU~CEku-G$ajsb3|Lq zXO0ARz8k#-znnPr8%uz^$*dRtHslj>ycTKP%vb^gsOr!f~lQ3EPK4lr;}c zU>7j|Kc=odn(6=l>(j-j8{J?suzHlJG&ub;Ye-9V!j`zn({)2p5>c8NZEN!_wBAt*TJlu2CR(@~N zrG~G8UoF!b7dI}=-YBm_^mMs|ncmIiwJ#_x)-#=M;kx9vf<%p!&R_P~`c1hRB=wc* z;wMWI!5*a`Qgw}*>6P#6M|EG-1o}d~)Un>|N1AsgQ1b;ZiUh~emsrLGyk!8%R-YQc z%nDjQ9O@4D3u3a*WVuy-68ajQJE}iuu?We^kBGx(m`y9aNJSF8SF{9c2Ff0Su{DfJ zMd2JQhyAq4<hoXFcX<=c4E!3mcWV7mt@P8mlDXa|g*3C23E6$9_;cg(x+T7JcyFbNiPKr&pz29& zi=h|Lo%#dAbIc1$&%?boA#xM6vCn!YR1gV0%e<8yM4jvYS~GSt0i? z!!?@+P4>(-PJg^?Z>Dwds4?e<}oe%?B#G;Ob7b+aEr0W_E`^q`wmy`f1^&5mA6P+aM!Q^SyttxI{ zB_Eq;z`R0zfIX1=$b`tV+aVKw;WS|B3o4TKdC6v@CTr{g(wPsj1 z{Ox-8d|xz}qLAodv`l}wN&ECk%f8DY9vp-hacTYKB7k;HvTN&xUAQ7?3)q8*icA`1 zp2-_^oB+;ZrxVFN_SjyW3Gw#d=WHWo2H>2wK{!5yo&dk?XX&T<{hRn{gd59>K`$6t zY1CWDA7eBJ8u|kBg+2k1EAnbh*SRH3dJrd7jHT#mcdqNmpN{y$=UVcwU|deGMBM`U z6gZ-#lu2+r26)h|Qf(6<>s*szC<_OS&G@N1 zGdRP_SoJ@Aeyb4^sZp%(1#pH3>_@RsYNXSr`7_rKDU5Yb%>Rl$w}=4w$Lj1|bhpCwM{s^!r4uY<*)Z-dOv?$4A_9;~ePDNP`9S zhOGC@wi;%&z=eNmcAKw~H&;Jp|NVYjq zKR=I*ootA4nl1bNNz?Js2S%54OBT2-Z!8?RVe&yDLOxp%8%)YV`E8 zp;vDF%x+1X$oRyO?w!ujIqenT*|q$en|vt}gh~$FklXXCqtWN*oBf2&o^gNffveR3JNatDF zC`?%&dOrhFLfOiTnTwYu$#KN)6Fx<=4E;_N~m05BAkblL}lr zjDNEAA1LrAc%5380pdSQ=ri%%bZjlRic=sh22R7LDl{@max@nzeh-VuhL5aY1&I%! zbm)@{nATfX84SbYuBUc2Rzc$7G7EswN?l?4Gyj=+ymX~FWCyK#mkeTSQ}ZlyOgc_I zVdTK(vLVQ7m1^2@k?RC>Vd?l*yBQD|Kge5T@O@53SJ3 za4ICMlqHTY9cKfN(us{j_23+gBWWN{RmB$mQ(o#od-_I#t?s1dQaL(vOglf)b0%#$ zYk~NAr)NXc`6IB(s207hj{Cri}*N)YR2 zV{N}dRed;ZOO1v+d(W$F>fHAqq&jkVy+in0@-xUWv{m+(~G~;Ul+whW6G`M2~b6TIxk&WobFY{;Wn0)WXZ=fgV z@!X8?KYW~{Y^XLhRooVwNt-Aq;%61%tD{gohW@=zw)h96L0TNL1AWouM9$nsI4#%u z@F#Mgj_^Q=y5k1u2pM5(pyK}1ng1QaeNjF?u$#5U8LaWLccnrz++fTo_HRs`wbIW= zf^_}R2;fjSb}Y8=UZ`NB_6W zmUi8V4x@)wBRBns15VbIk5ano|C9I)ZLke=WWuiCOE?COiVpo@1Z8Y35!?3KDURo5AQJ{vNh7RG3wnk+T*;e^GbR%AeHaQD% z$jE?ZfC_g_6VdLb1$+We<+}&z-V7!A<4aL-E74N`gM93|y|d@krpyrM-sjmrd>c{| zVK$%sf_ma5)e2n?mXXvkmZNe_kaHDmL+EMbv=Gb`HcQ6oA5%u-@*s9YVf{x46RsN3e2n*ByVC^q7u?SCi1!ATWVdak z|NB;}(Z^1fC=M{Vx>jQsp22P*J92;32$n>iBXwMeo8Q#QCU2LiyB42g?3Ppi*o3hj z8bZx_XXs=<*?dj)yXxUnVpq|RZSS4_jF9sV_{Ea16WQGfu5Jcu!4C~JesJ;m@7_Cz z9PK#L3|_r~6a7p7;o8l(`7Pa4*bEm*B0zC+r^@2z!qCg7(j+Eo+c&v$9K*agjOH)V z0_u)fsQV8tQSfC{0zx3BveT_%%zJ@5-G{~GcaogwnJ*&$@QI?&k3Uimgk?vw>K1M7 zMb}Msy|64s?a<;YnECoGc?#%z|Gb=?CkgLM@8S`L4Xu&S=sJ-! z#d*V=HC?N;uXt+2J?w$yTaz>27uvwFq0ce2{#Z(o4BrNeZQ8_#=n}$XPYGuE9_$yt zIyTgak)xw`Yduz`D;``IbM_%6m_3~U`TZHX2<0p{W7$uQ}JH<)npv;a^4XOtyh zb!!EE>)%CAd3K&sE51bWQT0@hyqrqkbe6hZ9@HrpjU;7H5i#hQB~gqH)Qxd=H+5&k zBK{$ikBJet7Gt1po&}m)8&$vh^4BFk`}dfr!m5)-at@`fTzrFGSXA=~zhL(Pd(V?p z@XXAi*#jk9f9Ppc;;4g$X*cQLE9!w72OZn)WX@SYg#dYB?A4j@Mv8=wlBA|dQW zMx+O9WDj70HRQO+UX$e64Za@)^GiXNarbRuzglG)p7xJ~yaq8V$6YfF>1^_gK!sNe z__-RRi|n@Q5jz$-E&#L}XT00*uGxFQ=V8ALmL3-4wuB}Ys zjX%l0wK74~a#upmYduT(E#5bm)+D!M5sE{oWB0PF=VEoRHulkrXS9&NM9`}X$(~*W z;_JS@hPODFyV^;J^GUn@j{F%&EjMFM3jm=PWXjOLZy+kNq;x17*~vI{pj3Eo6RF|! z<7KqT68_qe?_Hzr{fY>wsg>U$*g~sB*$s?q73?3qUdO zhSbEZ2G@s*A2>Z23#$?>Kbn@{dS@`IZRw(I^o^U(@{#g!$szVxi6aCrwM*O+1$FVi z+(bd-P)&=a`Tmgac|MtVfSnXesN*;6czKK|34hw#wFSoJLLCL2y))dd*hJC#zl6%JDP<54@V)Vz-`C1Pxvj8m~a+FyQx!@%<)0(pvgID%m#f#9` z!q&r6LvxHLH$lA5@u;zdmZ0AI(SF9+B*21(C~`DzZj6YE)q_s0L|rHu`Rwxx^)DO| z>NzI&E)>M|d==yfSRVAQyW}A!@si^#ze9W|r(AcxM(gFG)NYxG{PQ)wci^J-8PNYi z%j@smD!O4{p*XbHY^Qx9*?P9{Zi>QhF#i>|Wu$D>jF~fnj+y!$GYXS-Ren!Wly^m* z|F%$%nv+gvR(olc3z|thlR@Pt)x=O(&mlg(ESSduV-$ zzs8udfsF;v28ARPdj9Fn_WS-~G2>ab>6S%a4aY@W&K<=F$Z|O09zi$3q}@}U&lqS* zzaIsyOFX;sMbESyi`TVlq92~KwRsof%GP*6`d+|NKSrxY3T-9OptN4dB@b$U2lrh1 z8C`!yNqtdO76jR-F^D|)bCL|)rrANSl9l!p?i3e!Ii9M}qFR7BvcBmsZ5MbX+|iTH zb7Xy>{D9j8i)sXLiwRDY7SUk!st@ee2?UX3D<3o%yg0o6T;VDk>ZL5gwOT5IAqN?! zt2g%D81k8z>)YScJzFUA3Xh9DEq?*3>iIikj|R&-Z9e0Lsf$Oz`P7TT=QmSxTyBma zFKY|YgZe-HBzb=-N1CE$nV1HKTTNHxBhVzd@$-wDMf>Fq2GUKkDsUS~jWQ-ugab$S z@ZTo8u$4Xg(KynHW}?uw6HvEviT;bbzK|yI;+ZWVtNmQcjmEWcu9j2%A3e-x!S%Y^{w6`5(WYp%t9!zMVJ&zcI%Q)$tD+KKIh7_!*yit@zgft;Yjr% z;#QcaAK{-pcGMDTa3Cgl5~rf;mVtHRDT3ip`aKT(+`Y%1>`*M;*2}{pPOKHda#tUxNhEW z_OjO28ZyVW3#$xA`bN5)PDOxlJiqspwwFMkwJzTy&+7UtBPTJ@jI+Mra2RA$Zd7@- zeBu01zyW~c(dJI{*_hvJXC8Q;fAHv9Svgx{UPHY|?(!FL%{xFAs4)3+eAp;l`ql;( zbQs$R;5A<&aVxjIb8j($pI2ko(iWYNmA^EQ2w18w3)p_n=PjvEIvK%Dj!f>A9L#O- z!`r+!!uC3Q$!?`iGhb?gn@xH8uB~ByU53Pz`47Dnn5Y;3vo3anbFjTm{?!67cjnCg z?20Dz=MOJZA4AlBPAnvS^mu<`jk|pO58un>Cy|bCXpqQNv3LQ|UB55q`iHI|@6}#u z1kn+?5|7HNAWy+j1vzR}9@ySFSswK{@#&pw4r;#=N9Jy zt}B$}PS)txuO4gUAZi|e-gE^I*|rDcol?)=;?>)qm))e~G162(cMlFr4`xQd1w^B{Ls#X_)je)J_ojab3cxQPT-xnEE2Ew&uenH zoT2H!g*j|LPJy;s!Ym$qQ0^Xdb9#l>4m$na*-Tm1bl3wbM%7UVHSKg>FKWIDtq`W-p!NwKUAx_`m(SDvxhx+9`IueF- z{&HLl$J$hRTyGG_C_EShnTd=;*&T2yCs8tzRP{bw zB`?|od@G$YN&RleOF?AJ82d`~xkLc)twq$Mi#og@?aj8A2y*{U5j%|9Rqqv;WLPOq zE1tJ#z=^NNjF#z+UpQyqN?=)AOTX={;ME)5&zbFcekn=?e=<*EqtoN!Xw`h(4a)6* zoxZnCxV_y#sCc36Uw8O1f*u#QVdnBDLwde>QMb=>susgla-MFaJHWh>ABHrz`-8^d z@R@D~;#($g1?=b<($X{^+z&l!fMbtwKhi5K8~a-8V)Vo=@IjEZ)$*EJ9@UC>g;10p z$hzxt4gc|&r=-tUj>;by@-CjJ8kyA&kFp-~+HyDqlO0~cs-X~I)jArCyh~UmFD&nS ze8FUHM^{YnJr)wVV0Tgj&SX1XtCwZr(lbyrTVWl{-QWlwJmvJ9(iRe>AzeU39mST!Y z@2Vik^li*5tA`lD-Z6yWH86of@1rlnKn_1scJRwc2OLU#)Irc1*dGm{% z?g+E11X$qsL26sC;DF${RVOnVD$Q#ijx9BCd%I zv-NBmvb}yNUg{{L_0Uo@VDFz@AANLQYlf_Y&0fWMik&V6!yc?k_d!k5h_^%yV%vra z+X`C#Sg>8Sw*oJkwcnDini?8i(l6|L9YtC4b6UJQ8r9m>+B=35h=iZ!1@cV7vwb2M zUPh{O7F!xuZbN$spCYAr`yX_@QJ__}97ZT?=1+~_Y6JGOv0^8%=fOJ!c`W8-o{bw2 zv8yH-K&DamgUIot8Y0xN%cmbhuCU_0gAaO0jr_{l z_Wr(CfGSIk*KaS2?t;Nt<^QkA1Pt93V#d*vKXBGzm#(c zGA8Kxa>j1ZJfk=2M7u$s}kHMJvxl zFoJ4jrQ}RYWVZbtMwcBO?;XI)vYJNF z;}N+$TMo7cAs=4scl~){?=U}MFZg0uJ!1MT-0-|rjThtsK zHx%A*oay`}Tk-a1X1TdLr2?YYSo}RLg}SPbIyO;$70JS-6MAl;l$(N(&P{=A3RTYC zV@GIL>7K}_%k7`{Q>Jo8q{Fef@2!NZhkdEK6W4C5_Wa>H@8({o5hlb)ogL7d8suYY zpTfB8hH@~;x63+;A8sx0r8Gh^)$vi5aI34)eV?b)M z1-%}&=7Kl>3C&nA)gTI@%K!BG#qZcb|<}R(=bbR305N2Rz$_pW1UyQ%YX;! zECQI;jc|RtLh*+UszGY6INI1b;T|`Jp6cuA(Cu9S2(`ZqKvPTJ1NuMFUix32S^Du? zq{@$Y(N|QpqWD)I`jezK|Ji|A?EoE8UDXHja-P+W4!(nnre5aM%KjN+NgR%`+Wu&( zY&NPp5g9EnXon|!`9sjN7?GB zJ~1M7E#<2B^&Y-zPVv@stamQGYUAJG<1BNMlYIS}rGvDB_pZZAN}Qt{ZT~otK-0|} z23l6&(71u-H{D%5H6b`;JP0nx{nZ>$w^0#6?2&KtpWN?uSVcnOQ}Q_u(NxY`!A#+O zQXFm0?xpWfO18z)XX_w|*pW*< zpw%`8M1p3nN4ezRU!o!kheV~$K_9?Xi)oIL|@iL<0$ z+O7fq6i_c3bFnG6CFu>n-_Xvu9-<6-!2={FR$4zuSJSIm)DtXXA`F;(yKe+z#ikojxp3r(Nq zYSRA!Ug4*<7s#i}bMn;OvVfkUbUk_I2QV+9%hBlwIcg}qNf_W!l5C^&%za-Sl)$8J&GJ#p;}iwB6D(}yeHpT>V-+-O zbn40sdM2cw{rZPb3A-#BRfQ-r3VKI;(V7%4-^Rcaor*>`)M+ua-}h)Y`INkGzlpe`fu8jekU!$tob94(t{Eqwq{h+O`tLP7%!UV*5itP zTdOatgKKZik3iRm#ls8m==o52qn8Z59Lkz4_mgbbsp6`=VqBXDaLTId_ed(e^1Czq7FE^%#|tsMv=a0sDTU zPb{~F(eFnX6{cDxNYnaDoEaY701h2nQ`voxUe%ZH(oD~I+dW_-4*Dm^)xqeL*uPfQ zCFM_=eNT|M=>cUOS?~9tGVqDvw=DUxpI4a=zM9chGa6p2?PXTujJ1va!$+EU{SPa0 z085W03Do}%crWAyA`v1^xgy#is`BLs1o!-!OTk|H%xA!nxh&aV{KGdLOi*n2_R)&x zu0dXb{`ho_?B~z_J0VGKp#GE^XMO@5OyvL7Av>{sQ8vi+9A&#Gue_lg~2B8Xw zw!CSR2NiTFDLgZt7gk)e{w>ZhATp5&hwd2}Ydw!*^s&|I;M@9E^IWlM~AU z%u;#MoD!n5h67uZ14l@Vvo`4Eiyfjk(gB9V6xZl=eh%7@FC*HxjzyHq-0`U{DyG0@fE{Bt6v*dn1 zkpEUXA+!^P{XyfvHr!tS@0EQ+)+j(?z*9YivAX=Uc1qGJ(S3F4H7kg=%>2KffM_OL z;WSThO@9hpaMG-3Dd?e>1fJ9R0n=q zVTQNH4qw4gK00ji>}M=QT59?`Ils2RXX+L!7S$J7|- z0>}rNJoX6oG)P>+t@vfl8?Rxm!@ej@(^da3W>M$nua?7R3a>D-FySB2`-FbMT}P2; zYU3dTT)`3f-aM6$%7($*%FAdq_AMaDVHgjbh;1R*$0-~4U8&sX*|&E6*>E)~%IE$> zqP1IW*(?0LC>4+Q%g?Ld*p_|69|SiAgdFU}dy~GZeqVznwIAeDU&$M+U-^I=dW8;J z6d&gLjmvlci(S57jbK(NEtz=z;pbx-z{E|l1pG7tg=eme-;L(R0CLnk*uuOftmpC#=BVi$-L zey!!@%fHjb1qMT;0kt6Hfic;Wz+;E@n1}`jg>m(30-sI+F~TaC`?>Uz^lk&Uo&Kh( zlh(Q?`&|)k5(+>E8DlyY0PC&7jk%vyq}Ev`r6PEnX3ERZo`pUca+KAKbWS<9VvQVmNZmc(A~Ae&3t^R>O7q z+74w9;lq6umkLIpC9nLGZ@!h(=w4{S|ysT-jScYRe%Zq+~)!;Yu)~$n` zQt~y#Rh<<1-Y&xY@2KAmHDNU3Pi#i(^__~w=G+sh$pJG%A&qH&0V#=^U=>il{rg7q zAT#;6#=Exik^+Sqs-JH7Wxsik_r{8HkGb(vyZ=6U-g;|~#$OdeztSyLRKS+ktI7yv z6+JVS?;&#v%Wntjb+M+!`r3!KRKt!hE79?!A%X~qLREb!8+7_^K3a5_FYUXFgRpx} z(fZ+2KtfynbJ)-EX8Wx^`>z;jqtSQT+jd-{j3`9&)} zI(Lk*jZs(!@|W%F(+vJvsUx#Jzc~NFKf?hpG@$Q3gLr!WS%6=ubXm_qwUdObmI4Mu zGA>N;%Vu|roG&3ZAb`BI6K6DP#+1DShE*x;-{yxhL(o6Dg3z)N6O(Qokq-S=v(bJp zCRlLMuOc7gHpCISrE|nLwksjj=oiI?ZTTi&ALDFXUuFHMgPb}6$cV)A&YhK2T(f9t zr~8zEmEobc`cc!%&(uJp6YBiqJq_>>ETmdH;d*_Y+1egY@=;s5F&@&0@p=ry8y#aRf0~@yNdke0 zi`n+Uv1H_D+z_L=8f+2qk~xK)iy^aKeDMervLj{8St-QYP3*zEe+29*qoMZNB)B9>dAC=*8xYn%!Z1>l zWi;ERQfQIM7K31#ocPJA9vlALk2LSB($=RX2Zk^5A1b{W8#LYeki(>Td1e@e^DzNY zf@Rp+&w{qkV4bSMdBF^<3};9x{qgwmKr_EOx`j=8-9Eh#Ia*d1oJBv4LGyEaV)c_SGTP(z8PYf&URL00dYRHkgMP)gwujP0){7wj;;+?XQXEbf`X$xG zUaK8a%Jr$;>rTmn&z#t0@hJ8jRrTcHkyJy$ZwW60jJ5Pss>*K2*@z^cNa@5LO8S(X zoubge!<`8%c!k>0-zB?rWh&!ZMuD{69S~~jo%O&wOJ4>p2#LEQ=d5JLVA~O^3q={t znp9>$@q1Y}nIy%;XN)Fa9fjiNHwR~58JKi6`wQ13YdUAtqXjIT7j9pWI?^=7jiI`p zQ(gYifA%A(K*Ile`st}W)-V)O?Y82pzg_lO;ee}3Oc^8Nd)y>`-(4ROPP9IGCv&sk zvyv>>krCs&hyIOb=$dz*w+eL&uxI5;P0$@ws(a`=q?t10We}L%8^#(la?~B^}!(Z+OE?%8rI@epy(}5}HvZDtKqBSvGhGyNwX=i3Hwlt5Q+H zZrg9jwZLe@*@i`S^J=4NU~rbKqNPPrc)gSUnW3bIFHPTUS;;4gdbgDF&oeG!Jf)S+ zK6)G;c@K%BnEBj#!c=UF?-DBmm5UeO7%G=sR9AO;a5umc&{X^SE?=*8zG(f~YW7=( zX?)5}oS%f~N0e8|AXN~z=B!!?I2$ho+THInIeVoJ29K6iT8W0N7l@cp*T>P3$H!86(O z6Yzr$)>*i()T}zG|8~f{fZwzTAKx9FM_ly|{2Q7b4eO&*p!x6`CpxJqN>p$(31XPs zPL%l}YGI`tHs&c{ZS8k2XIpRn+p7aq!G1!Y>7tINuSwT!7zQi=RuqB@&*>}&p3xUZ zX}wC5j0ffd1I|#HMayk2sew`%fpYiccXj#)94BjRwcGy!&C+PfIqP( zH$U+}ki1Z`W5>xys+iR1#GC)Uuc6{^TJT?}=x+?1kJ+=rFXAGOxnR0;=^b{wkKAu= z9V6b_bpLj^E%HRShr~DBg=RhwUzuK?KwehE5WMBP4NH85aEkTj9Uo4@q# z*qV>K3^bUd6CQ5y215ROf&m%3Y1q9-trTVj4$pM`)30_ukZtW3hx_7O<4@^)>?hxW zz&rNTgw=^^oieDTG%kVyl5GyJ7t>kOA+mGRJpVPYW;1O;3l*lP)3(K!Z>VA%w; z+fD*Gg%ye;d0!`M488|pgSd1<46CD^w@cq+-W9eqPjx9Ew%q%|)7z>8-16TIG8RVo zEn`#C7J?RBzYIz%ALyV)(G*Ap6!jdj_qGYE2PP#OZTks}Z=x=uI*4NTnjo*a-ci~C zoa1$fWhw2#N;BIbUgv}``%Kv{C|K-|CyTmmSQG<{t(f+>YP+F2A}WmPVU_BV8J#qa zo`q5nHi`dT+6Vq#OM8Tj{UzxDJ%A}kbhut;DA{sGc(|?lqzj-%ypWCLx%<^1Wo=g!xf!!m zS3BsBfY)>hDlf>5b{v#hf31QpD{$J>q3_o(Zk=IGy#hsWh_Ce1T4*fqav#!>2i+U9 z2BD|uM$$zcUcH|}*Yw$<S~JQln+ zUt?q?60%R>6S&vfR>xt!0w}gZ``w|v4mKEsk}Ev>Y8RsJyGP_%eIOS$YDFDxbU6Dk zGcE6zjKl$j6IQ451$>sz=6qhy`0AZ`coLCSH0#?FcTdMSuA!t|S5S@S4YQe8pJf}a zy25<$G5g_Rlz_Rl1(R@iG0Vt?Y!WN39aiQxAofmI8#luiPrU!{w$i~6vdTc%tpM_F z72_**Wy39~GxxPq5R%SeuL`RJp?KuWQYP@fw@T!VLayY3NXD~U2V>(8e$(w; zY$Va3BG_eF`K2cMwOI3wkG^>HeZ7qSGJqGN{D}DuvC*fLx3ff&|WD_H{42IQgMJDTM{sCdmc+J*=o9%-=7J- z1<(=fvW%sfkVDPo&M@waet{~YoE!|vFm8}?{rmSTpE&EZE^N=(w?H)tCQ73OPvN{H zP#KM5cRp)(6n+ngj7;M$Q)ocDV-3oJOFD}a8GrbETyKLst(1%dfmRJ7bOa`I_=WU% zhI-lhZM)9XeMu5Re02TXicR;a`9sri(N(t6CypbK9^*zm)nU@%1p_FX&5tiTo&NA$ z#Ekfd1YZpV`pn_^(cI$9#p3*tC=(E;Tr{Xdc4DXx$Wym#rXD<(J{lw*-fT4(90A)a zo;=z+|1%`^_H`SrSXhnmq1WD>rI*lE{T!UAzfVSBh4=@>O%3lK1rN+4?OlNb@M`gy z+n-9VEbVXY3=;c7cW>mhUDTDaqWf|+iC51clr2zwSVG1VZ1(l(@T5lztATna3e>!w zg3xK5iDuG--m?Z`f5u^z*2nA6I){^FlqIlw_RnMHsSWn33G@V%Fi-9Zvtp9Co|4 zMeB)_&r#Z#igo04hg(crYG?lMdYR#Y-aWC>@*N!Fg67NI5y0KPe17DV*%Y3wck$Ip z(cFS3)mNCZ%lt~pmIszH&&`Pk0O`JZC)_AN$c~2k{_kvCJJs zIuti%^1W)^Exd4oIZxfmKPBacza7GfE{e`C{TOyPNM^1i{N4J95|exHjYhP?rL5ij zAKTEK|AG`hysQul1JSk3=u`4|t6#OrdtSyiY^*b1iL!&skmm5`P9?0%yA_nG3F7)n zS6W?KhujSDR$;$RQMxNSQ5Q>x=kc{T@{XA0q0h?vV*mtL`wh5xR$m38*Z6h#8-N}) z07Z9LIj=r^xfcF)e!@?11TZGzIfkUnt!E&Nz==0XNF~GF`3#7&n}~od-Ks1))}+}WU(-u$_tZM5yBk)%)tnFist$tV z-pkdYD?=C4=3f+uCp?7|wjCZ?%OpKD)-92WCCny0ye{Ib(0%Iqm0T4Rdi@8(4eqmK8|#x-bgn!m?AIer6SINj~;hZPQcKqc8X9LLWAL6^cfGK3(XUaHxG~UpSBZ=6X*> zTyp3!h=m|C6b=W`1=`yV+@8%*&4%}mx$Yolcnw|!6w%M19HiBOKCwKIv{-#%dpiIp z#r{2Ntj|pjZAqf+^DZX*1bA@duK|WX&@-&V!{7k!9xx$?rvW^6Axsvu`K_yh0BrGg zQ3(V{lajZn!hz@j>?lldb;h}|DXsrXhAY7!_UJP$ZOIaI9gl(?=p$PvuPxS|k!5I( zDNd@9B7lqC^$lUN7Ga+-H7Rf=u-|(d@bI^lqq6&?1v?WJrrKz(dcOCZ|T4cUk%-rdlIkQCVjl2=b(_JPx7-B~@4V|YFDW*%+p zpo)(iqVp_8FJZkh+>3}0LCi;J8C|V|T>*k_Rn+&> zLt)IA=kg2W)%yK>WHHNow&dx=V z2yoCJ%e7erDgK$XZ(AZTFFw$tI|;_B;!|;Uot)}W*w17rl7jd%!SWv!wayOzSjkH=&s+$UdRcHT#-C-K zO+D^b-qxrU{qg;Jt;FnuwQkXZNu8&-OuSwSV91+C`4Cz69_~ztUt)YAH z;XmhmSjf7h`WG$*2rG493C|Kb^2vGd`SkHC=gWOQr$imJ$Y< z&6T<-%IXQD-Xp8jGF2}{!}wpdvF2;D=Z4<@?otdFTOj|B_f#>zzir z@7v^`(b}85P6{Rl*ur7iEgu-qo%aYrvC~{TP62IC$dRd)Pg3GnsH(nO#BaOX+~--T zei({3@15`KD&ld&8XgAt26szyb^vUgr#1$+Y9@s^^c8sdISJ^Eq_`H|PVD`1IBH}&E) zNC|;F?=&eRjeujV8lhd`J{XfH&!c>Y(|;%(SqeQ}>!MIs_r}T>A#guP%iBf>KmoT7 zqXp}-Ia$o_eaf|2GI#T88WVyXMJzW_>xu(YQ5J^@if}$kQpu^8F)<`5~Hdd|Fgh1g~S09~E==Q2pb*N*h zvAhD7#f(q+gMbQa4K-SQz|2JCEzu)@wbkr9t!}tA(#^Ao1JMA)umA9VBZ-6@E%REa z!fTMjM|mzh2QA{&dq@dE&GIrEa-wj4?>y)Z0~~8B2G%1eh)A;bdKniw-xF5BYFiSs zq0`O#1UtWfJeP`O$>xu}A4wkQ(9eTw%^)$gvE;kqu$#!+^*7^hPzU5KN~wXzwqAE$ z&%!B|O!e6W9)CbTJzRnR=WWiqOZA(NUFTE9(wxHx>n_%N>lRWwvC7R;0!bd{uTWiK z#DOZ}`Yyt2(2=zA#oTc?@6S|^hkf?>yg#q!>v=WuQ`#ajDzAf|eRyakY5cr>73%}Jt}y0Z`udW%;0y|3+kTMeH5cu1>di&etXM#WnSnEP%&ri{4F zHgkR_>J(m(5`ZP`jDXXut}@<+9ux{K>X~3DZ38f4`lToRLd66O@USY=zR#-XrYWIT zFB2#3?JXNandU;fz$@xT#zG~vN*BGZD9{yAt06JE2BXTmh~F)REef(nA8A~{UIa@F zt`EribbFPbZzy>bg(N=01z>k zM1*W2A~9-#)q#5Fb-Y)vlTx08z4(_*K;(Kyr->k?2IyzJjG$n9ZXh0UvpiFM_kX*N zB&O`;33<=AG)!yGo45&Cb*kIwu$>Cm<^f1HTaZZq1rf0D!o>mkjeWzFLS(P%n5qPo zli#`380;^sqc+|3=5DKq?%M-e9?bjY#{V=L=HG#VRw{k2s`;!pKPF|k5KJxR;oxs1 z&ILFD@+9ax@_3E&qnIX_8sQ%f8!&`1)7WPlec1-3u3%+R?KeAs`4N^JA@ZkZ=hNr* z4$=j#S>J~%C+DKq8ApEX`z3~Rx%|%S77sTx|E=HMLf_+0@+*Ad3&aCmpH_V0-@C{E zTD4wnYgA)Kcxd0c1!E{vUcLWsb+T<(sV&L{dM_44gv)GjZGB~_ST2G#^%D-ID#AU8SL$wyu z`P3GuA1-qn=l;snrT%k`s!nSw|Ge03`Uza~5is*uJm|tH&R_b~W(-22 zbNv2-V2cWX6ogIJ`93ZeOg&l;1n}$uY&E`)VHs*=^?mPG;m3&^w!boH%cb{MfM#TRy|Ze_ zzMEW_O=(Z8FJx>})T8^kb$7U%RUL@Q@aJH^2(@*uiYueadE9?;$BE7wSrHE1vuaq~ zd>PNQ2yLm8%htxOT1s$q{gv9G$3CP^5hIr2#4$E}#qe=mxGB9NCvvi_N?fs(qhG9a z1E9dlvr$F^Djlf(5YabYbQ>`cINQFLajE@hJ$Gb}&26FV$Nl3v9oJG&m?)Jkkr-}` zL&A?ad(zFME~3ega4&_s&k1_xdoO(cYi_t}F-<8WLOWIM3v&8|tn;Yh>&VUDQ|s|j z2S9wC(!05YAdPeL*#*qQ=C`(0qcz*s~}2})MY0R>A$#)^f7U_zL+B+P@^ zBC_=Hz@^{J=N|4~(nGYL6EykK5%OKqw&bf8RkyD*IK~EJq`m)wfyX48>OL)?hI?<{ zJh3fw>$Fd)EpiH>w7Vv5!0sN{@XmI>dr|c|zFzEzZG-8-qy$3){cx_Dem~eAC1;3A z=HD82S7rMMjNlY((lQLe;zmVhKHkt#FKLyHxJ}Db8od zR!%c=na+UnV$^b`7g8%^@=N zL=c_}eD^}YERR}L)WYVU zyYtM(IGQU58C0zVhsA;=4f33A6Nw&U{N?I+;=8cv_V+hKlkCig({L`M_s74iD>`ip zLHTQ7)LS`r<3S-hI`Myz3EPxoO;f!X&CyBqSp1Gl=F0SDD%Z4D{>VrXPaEqBw|fc?`XvfBA-_>`lWZ}< zcWop{*xqae5V!Y_wA*Kn@o=LLqkso8oZ$sy^Z9*1<#6R26)OY5yAh%u7nH~K8}~Vt zi_W_%+|pOPgxg3PqZ_jikx!z^xP?&5Ms>s7$+OHB^Ude%`RTN#u0P+&D*#K#8RE6| zDmn4^?9)5Iv>ff(XfG6iUgj7d9%>rRcki{Q&FKq+td11#P-9}9%1EDSIR{c8E-gU| z&ivj}N<~4+ed#>tdJs3l5nW+>rL)s3>|gUZzQ4-V+2$r*e|WD{SU*7Gg72r?hP3Me z6incG1%bS3@;gxJBVaixKlF}P?qtr=2)!ryVl zZGd-d)5_8Oj5AL*Rvag1NmU&qzm0giR<_~xdkd}AG{Dv47c)f^*&-uE3bz0H6cfCUXMBNc-y2W0<;`^_`g>2gYb~LUO(m) z4RmTPeyeDZ!1v7i1EJdTG_s00H;vOQ|HZWtC>9$(ik9H!j5`){Tbr;(z z_!&1(xfQ1uzT8o7<#i~@wT!+T_u+Q8QQg*(wqkWGRN-bxeOOc6rAy{@^BQW_`>Rh$ zD9U|(BV8d4S)n)<3O{k{V?rM#2JmU!N?8u}fy7io6!ePvm)hlquNdF`T1M(g!Rr68 zGj2?6v_IP!AO8Nrj`HJwz)Y2*^B51 z__HfdrsS-rS4~NXPFn<9;M`sLXD4zt82sCHWc-Dv?RhvCB0{AQzuDxv}*SzJhXN$(& z?@)@WuJDJ+I_1k8FfG4Z2p0fLq{rl`9VNs&dP-?_Q|2w-T!Gv(8+Ge@ z4!gKR*sB*m{s;+kSH2oJy2kf1VDFvt@9m|N1-|VwiPr3Q5~4!So8xfpDR-V$9LaafTp41*-Pv?+8fQ&6~P6pUZ|c&Kw2jdO=*`V z9^#QZCX!8h8^bc0zz zjY*@P2@@>8s`2;*;7~t=#ixF2KGiNa*Mpba@B6#hR6e0DR6<5(AvErRH0Xeo_kg-x zXc~E3&65~vNtD|4jJZ7t&cdW(xhp;@$B!oN#kJFuks^!L&1JJ(m_w%r=hMGr1MQ41 z)Mkw4f4fqbuK>{-d#G0(zTV`^Z%keboO1DT!~nI;&tM3fte(RIb!K)T#Q4^DH99dVZAe*jbSCs!V;{pd;@cu0#w3-oxb~V-< zJy5#mw{6QWE#7bD6wgt}c)K}b#)2N?M6q%5wz57Y8Su_2DB#v_8XRit$58S5h&~pI zpP1}WVknn&Hk#FK?lWfBf2RKm)x5!6{2E6V;AoUbHeVsLpqm|9nI>V+?|2Rl;f0?C%zRpAV1T9QN&|L z>1l#oh<3*KIO-MFZ&7CmKg2O-qiezC_MS-NB*7WBOgsrqEzo=qF_?0&hqyqsVjrB@ zoVy3W-XhoU%rrXnT!2WBEZb_Ehs`Us#L)WV`5VHoLJg(6VoevBYO-YbLr!sAq}6<+ zq1SM>7R*CV=+Mn`hkcI}C&c>7I@_uqfTKwrb{~Cd0Fft`ydC8KZHF3LaJ+gp8ql2N z^|knU2AEI!O>a{KGhVDrin(^lMbT1Vr=BaWx*gfQkRE=*O8}%bEfa_k1 zsq1#gdmhO7)Ru@@=IAE{_cZ0C*O>cW6$vg5f+8`hIYAw$MNk7d5SLI!G}vQ%qeC1EFAK0i0z0VvmOk7 z>OlOAYbXf0dIN<4AU>rF3WO6=nW!MxQoM zlQ^G9{sLrYnn`%sS#2@5?OonTPIuO8}<`envvDmk;ZvT=}+m6$g2- zidOH49=xDh5_I*^Za@Y-+3Yz!B|V#_G|&{`$};{2(5;-8mo*m^L9djx%AmEmyvZpe z{7aC)bm(CcaB> zDhP4K*vcKuvT8b4%`I*4S{u~yA706?6*m?9vr;`Lz>?+h!6M{CE*zPOUB$=}Y}OVU zNystH$GTLy7TU!vCqLy+xg4l5FPVFPepfwZJj4j3mf>p$uHC*A&aMTC8mN&@J$n>n zY<#!VEu4Zw-ln4i$%V>^8G7wQ46Dy;OH*1`VQ||&e^~8ANVU=tV;&3~q+D2O%Y(o?E=v6XEJpOI~w}JGs#Q%vj+@8%LUlB{%6-ZHk%EY`!Tj zhWhftUCeM`oOis=3J679Y{nbNaa@=w!K0kd!6kLoJ~zwwdcDizD6Q-Bo2xD-YnQ+^ z_PM-MzL6Aa1$|trZa9&E!><@vSj5)9_utyuK~7u%W8ve|Ykr*f#dAvYf3`>r=ZS6Z zXH<4sov;ZMc50zdmoI~h8=-tPXF-u#X~EoZ+`Ok9%y<>PBb*uv^{;LMQCT2VK5i}u zsWSv$YJ4MdEVCv!HP#ask3h<9mvKb>+k=L|c0o-fxLaHA7kWN3p3OfJ_3Araay!Sx z3YV_Zj+;r8={us6m-lNtZ!L3D2lsR5FiI@1Oh#y~x!KI8s>n~XjBRikm9Vw3q;o5W z!+#gC#nlQ7J&?|`|IK35j?Z^c9 z%N>%3WOU7K&G9GT%RgiHLTM9#nyp$et(sy?wWeQ8p|8IJSHO7H{9$ZXB}6iR(K}p2 z53_8w-8tvnsVf{MRlLEJ^Rf%zdX`Dv7xhN=10KeHfZ)&bIbyDhT(o;6vm!n0Gt-{N z8O<`YxsqNwqy)D3bIUAEt5`5#R;n*QK4oujvwT_i}{*O+@kL%V?B>2TsGczUc-q8c^)?X7Nfmuo_~W z)i^y$qn&0sKqz~`+jKx0r8vX#@639b63;sy{cLYscaX;g!MCx@3>s~OJ8;KrFT(!r zq~FzBq>4cb1l>QFajgPd)Qfu9~4*j`K~GlZ{tRnUgnwLAx(GpeFJAhrU|& zr=wXVt|MikuOt(6WM#?}tmZ|lp>B)Io59GAzVrL;O!lGOCZ;oe=CMXn9h;A5Zrh9*KFyqaR{=a!e&;n9nUE8hD!7H# zMR>G~{EGr=-nx@hs=R}K9%%VqzhG#aCuuL`CHJt|>%UzYvM)T_W$bH8Sf|Nxgv7`$ z{EJtS;lsEL+32qw2laMrEoMBkO?HoUJdh<<$D`p9N|ZPrNu_wBb+7q{GdLFsXe9J$ z@~NE;coB%vIyLvZYCKb$F@$WXK)(npi+~&%BM@|>kyK1f`piVy+ZEULYSlzI&M>Z(8Ixoz~{4KI?(^*pQ z@k#30WpoYt zgX{kA3%9mig`ptins14G{1~%T-$1&GMZ~3*Y*$AZ)NX^Z=vBA&!*56Xbn}!H^RzIE zY1NB@7+TXYZg)_(yNlDxhVdKi-@UEbG4{HI%A20h)F{V%+?t=*1BL7I!3OV54o7>n z??zF&XxCj*br4{{o~mTm4_vHw<0-+<+CC-EdbXk8;Vy^fFspr;@e5^oJ%U=QOySdJ zHnVVArCn*_;L_F%&##f4ykvHPd&}#NNehf3saM?u{jTu@A9gRQ_W{Ub)ZcU!Al=MN zv(h>3Q<>r2(`M*$&tPsM#4L&JpjNLuk^E_G^CYk|mkmqYVnH9e7%|)e5I=ClcNs}a zvZ}T%__mZoHGJMPoyt<@2ihYuDb5~uk}JX1IojuN?I--{S$JD&*9*rz?ejPv`Q26f z9K8#Om*k@dqrqk}E}>}0HbN^-`s&9t<$mk;UR{lp>$TtQM@n=%owDz2B$-QIr_LWW zQjMQ|Q@FD^VEnR0j?n(O48LaJAErjOZ#2*->bgxvyL#Zn!SCs#wA*L!PbWWN zHSEB+VwnSntSIRX69}cQM^xcWRE{%PBHe*l2df|DdaXKrBAf3!{(8p}7aA-RK>-N6 zxb!kK;3nB838#rt!5G$RdSxKejogd4Ey4U1&Ed|Wx(t?WvshBXhB2{ByyqEoWZP>Y zV~%3Xuw4%^wm-Om*DD)v?c~pyt=VaKYD+Ge9B6W%t{Ni^h?|}tqZm@n>kur<`{jwD zW`}}gue}9JWeeHa3w3Ec$7{Q=nID38N*c$10HcNznO-@howin)w3oq}f_bEZZQzRmi5y zaJ&wf8!=-#gBrA#D0E_EevCfT;`5}w6XH038{Kb3ZgEpXufCVAV%Az1@(T+q+65?H z)m^Zgu82v~D`db+dC2bvc7Dv^s)CwpU#7mwkbnA`DahKRTu#G@r>{@mZPK~;BZh=X zS3J4t*z{RCBkNeG3-@5~i@jq&Vkhd!T;bNzN`2uQcL?5?Fl9Z?@yQ+6hmFBAKq zLoSD7SD`w8iDu#HW?Rrk?wr_FH(N7Sa!<}gCq-rfPH9#C@p&f^xjxl0DpGsgU9lI} z_MqcA{Dnc$2gf-hV);ZXY2c(Ba69ri*8XSeCQA=A9IxSntNKxAa9=D?iJ1? z&Li%R@^xu|dO}L<6{IVw*VVOuM``*SEU+T1_%E7qY9%n>nO(60fA@I&{hF|oQT|?= z(8Fm~5GGVBBUy>c3qFl3yNG*f=mg1(!o{mkWuRS5N#pEYoHI1sya3v1kM@xC3QAFA z_3QGqdJoAFED!o~*dJ+sSS^$4Y>?>Wr@B1pTOvhe3FtEoC=E~V94=!W`1bUiJAq$- zJ;09aN9O(|7s$Hg8@fs`9LFuPn6oXO52fmXKHJpQSIM z@$6?}EnbQA$}`pm&oxjpFRlSBrU*z;8q3Opl2r=vVblYKjI3g+L{b2r*87L2Mq{y? z^WQG2%ma6mTHpAM40M&{m(f3*JJMGUvNA&@D<>?`aNM?9?VWK&zFh6R_y73k2YID2 zL*!Wj#;Vc>Tu8m7#l3J>NUL{#$jsE&gOFBpGUXS5{`K`GNVl=d`S|kTP?z!MU-`Tu?;W=z3S#rU4O1d5A zqULbAhWMoIijOkkk?@=p=eAFTT0@w)LSxmlC%b1fN9xt;^ZmvxFl&qU{$xJ5+`1QP zp#tpg_pU;SM}kEqe?l*9YXF~8nOk`v@B(fLX_QCQwk<9#_p2d}^$T%f9xX~$T@bB_ zQD%^Xwy=WHr5EY=MT6%oAF3mQ{tV#t5)35K@c*)F5fM~ zUG{JE<;Kf6+v{`?<9_S>85vE`_*BPHJijTmC>h~yHJ5gllkzMpYpp!)-w`=7zkd8* zr^#%?-^F6}eP3Sfqzycx`@I1yXauuye)H^~Zc$UKfIFBd;NNv-@i>Bnx7DYWy)Kxg zyE&YTPuY~@O%Ko>EWZyBxR8?2ln0vXMO5`oHAlR*#^N~oB$mucJe_gR0`Vt-y$m*_ z>TO@2#yYISO88VeAF_2(d16q5=gOjqxgvO0*+_m(`Ax(J4M9aQIiQR0g_?wrXRmR2 zEASa2sQqS&f;A_@#Vf^HKnl8ka!sC4SFc8+NLUU(o-Xxu<^E`fsmui^b+nC&D$uAM zDzV)N5Vm@UkRV-#yxvKC=d+IdH7<7SEV=LpYQM6+*L2Bc>aKY`H3^37f4czm*`0gz zAb+cuu%iXXUeQxbj%TLk_4&o>*l?`N@$?4^U6$vd$fW%pn6sSBsz)al$anW4o;2iU zc4BuiDkRUj;M5yR|8cHy%BIK8Mx zU*eS$>j=Qs^=yz&&7$PYFDS~N_B&&jZA_*sMjlHDdfm0L?8}y#>*gpFMHX5XL`<|_ z1O{je6_@zVAJU-#es_@vqaTsI&|icKE@DVR)cWH?$0Ec34$o((8Moy*h&p}B^_F7# z&LSiVOcKoVzE2;$DJZG=>B1kq;WNX-&`{{3j2KM#og)uu1_d_p^YwBusSlvpE?sk! zk5RtRb7Xl&hWuSMp*n?&^~X#-OYeQ})5m2TK3(VAZboJq{BYWT+{m1qFwdKKx__I| zd++VTbjuk?1Ix2uPw!) zwS(-mULNg(pNyNBgnJ;0l}_SQd{nhFK{9>qt94^H=O-wal`sQl$b4gdf@0y=POTy9 z9!u05sGF%vaXfp1h&E3e=sP?Q0l^ctaU2M24o*_d+idd>cG_s`1_W|dZbux(4PJL>Wl$-b41 zYf#sK z`FV>%R5mJmNx5PfNc@9h;{Om1UPoIDJ)ZBz@n7tN(A!9Dm!I&H=Z7wvZt>h5bQmOC zJ`r(%zxC^I$-pP4v?`n;fE*t7Pgg2mL(`p1eqWGP5QtUtG#{u~W-6cCTZ zC@tgY(8gTbplMT%QvPP(c>V1X7IfvzWLpLK8w?UMvgH3wa7feZ)!5CrA5CURk@+ja z1TAkmW6zWBp)Rj1xrba&FE{vHuCxgQbK15kkDbVuEUK2ey z1YBgK)o0^cmnJs<+73%@s%8I?6+mO;=%w9*M=pREk^y=Ef8Sj+`L~Ov{3}vB>r?yJ zv=;36&f{FZw=Me_vVBFFWhlOwnVN5O zsEPqx1@Pqlx9if`UJL2MmHy4Q840vLbvmA8`gtEeehjWW;(k;gcE8H*q#^C?i#v6o z`9|<`->#8Wm$GCrTsC#uA zfHN?SQUygVyx%s9$@lk!`i~y0K3&S8?cl@~w>EMlAPwBw9{}|!f4j-vzn5s7tpZ%s z_8w}VyPE~B9yHTAC7dYYjqA95BL=T5@xCld5P$Nno@OXCBi6g|LaTYhOAyiQA)iG0 zbXlmKf-5XZ4Wgd0oZr=?+ati1;@VQK)WtNzTsrS4Swj67e!6jYu1z$oF@!M7f7x@M z_Zptu!#UqVMd$zz%PTp&aM;Ppo`_;p@3mh97YZwB%FH1E=zjf>Z8KDr@Tr?}I7kUn zHV#X18HwZc9{>H6gNbqfwVI7W)PE7*(W`9V$7*?KkRklj2hCT1BrHBo+KP_1Jxp1S zYQ!-$3Og9S4{PsZ-Z+gi5#QCHK11Za@)+g&%cHKTRJjStBTih|r&9#fGhSaQh)o$T zaWNf4y6|7bCbrOFf_zB+`Z;oYkW0KD|HsE-xh*4iGfr!3xmgsloG+I1GM=*F#F&~} zsH16qr&q>`GV(}WpDmMWm{4(JS|BAg+9dP{bKJe$BgM~#Ex-K+*pRmSob$Mc?RiO; zesh%B7-tNT9yb_8HG;3Y^tB8^HWD`Lg0$0h9y0tgI_FEh?=`_ZMBLe6n$GO5PTW#y zK)(%iDFw=&@6QsNrk=aLK4Vm_SbhJHgEJK`xi2vK|oQ>t--k6(e~eG`L)EuP!vzl^A=S~(W?d<8C6pdN|;j*ysu>cJbg&s$iAC|`T}^D92*i+g za?M*DT+yU1r!UW~;Xa;Rz(tysWmxI_><)6%9b9g%Ee9&ANTc;oO53`cY2tMTThI?Z zAt$wgnln)sLpbk0PODpjL0*yFwX43vc(@neOxpLLV0fytqXY9Pa|Bm?k)$%q4r^T# zyG~1(Je@wPBS&UAR7C6ch>f(Z+&M9IgUb10JMR*wzf~f3T&Q8C zEq#+ywm`hRa15ce`NaBdNMZIymthuu=boH9=SlIQ`ryvm;(;zLdSHFx^@&=6Xs!|TeM;JmILby*kV$FBvod|~FPUQaj#2d?vex3J_K z92ozzd)6;u6!Bx<{=k%<5zAi5MxORVp}#7T&jLlSu z?y|1ACD0dFHEyi(R}O8o%>yMk1N_ai3oYe@zGe)=lTu5Po&rSZ_Bt*4)~q)Q;;u9O z!1CaXas{tr^+tO+a33oBTvpYcCE$;MN9t3AG01lvuO=w)x22g3*pv{~`Ja>544hML zQwavgUY{h@SFG`nU=M^-T)4{y&Z^bt<)sc3Da@eiZ`&+2RL{=(>?@sKaTYTgY2{ys z6?EapgDwJNYrG8?^o-FWPrqTeSd|ji6%L}@I7WELqknpU8WRtu_#)u(8!AIvv9+3y z8L)y*^dn;`r=S6x<51>^X^$5GSkkPZFPkhBFvA`N_oKBe_w8UGFMJEma3-LAs<5E( z2}d~jhaEaJL4)+hL!t(Z>Ci{?zjsmKR>II8g6mJ3W*3xQy=8Cy;J;nv!WyjSUtlEE zoaKMJE>IvZcls^h7%{)E_C8L&f1Ph?R}307E}-Tf_(Sz(lp0H5-R5xjUt~^_R|a2L z<*Tr1m7R=(L;T}X?l~FXtJsq`i?-T^c}Nq+e`J`PJPq1 zncWeBmSnzN&(@N#s-yZ;ei+u$t@1q)@_(Kvl3kjA4XN{Y3JD)Z>07n0;9GGXi3oE~ z>W9IfT(~s4!KIAwO)on{JhI;6 zs(RJ>Zsh{=KA-+oE!RB^7w>?;wm3BYSG)lc&0m>ugSHaiGA&^Kpn!NpX%6+@AXA_a zSDTJhulS&uILtiXa+wW>Kym9 zI@M-xd8LmDmhSf$3p;U9#(Y?H`1-2E%r}k9AeUUo#lf4C$1By2`5L=H@N~sk`dz}as!_KNZPkx5VB=&{O_ zqlXa=nT99%VpvvA>Vd6B1}S9+Ixro)vvu1>4)I22WJ*>xQv_l!O|I6Oa-(9VJjIO6w~^i7Ycqa z6c4!(qu=RlvXj|6l?JJDSA-m5jqWsMtkpah&C1`W<>I!)hbC|1thF$UvUc7FKS&xG zQhmGSy%Qe(%yvhJ2m7SST%rWu*{>(YXRv9%+{?Fg z@_bc2Af&mTESO8%8?8TXZoN0yBkZOAEz6Q=n|^rAUy`#q8AFf#ylb8=8HGssZ&%KC z3pBBJ=SN<|NUjs0kdm;jyHJpVZ7;zmhxEYQ{W`;>u33INPo7Iu9S?a(1nY$iekUM* zC^fUIcP>)+N|>7M-vveuivhT2K1Qm|>xr2b)5)ru}IOmbX34IDM3HT*FQ|?RE?G9!se!8F6sin zyMMIs2+U5D@^?`GUfIVfTxZOR0Aap{>06u$yPU$(}0V$f!&nb=R`Ui&YEEFXtP55}hbit?EwLm|u@Np@ES+ z+;Hnpe1~N*3w6Nid}-P4_eTyO?mUap_dMtJg(aKfrX)O9mVLvzoZ}sl^Tv8e9=0t? zRQh5$eN^Y7%$eJ>`15+aLil$|Sq@f~$Fgf2p9}_;X_KsHUx2%tx08FPWwZBVHauJNtlQnM|ad;CLbBd(q+|<+4X4gN-dFTSWr6L zoJ{U@v9~YMCA_y`KX8%H7kmBtxyJr(m^o_k=;Ax;%N0Qqe>Wo4>~ieoGdNP+S;YE?^A)! z84_Dq7n&oiGA=qz%!@Y5t+6Da6c^iV+K<~z$)^xqNJ2E%!DudrHo4Se63)1BH z7n*N)8IZHE?BbUx>9YgP%P6Hg& z*KXEjeP|BO-D7p$1oQH5zgP?#r+=t+uo75 zxw=^a{|j}0hlCVMgaQOq5~2!g?W><{{i1%DzC7&PPp?9~5zLB^YPilC z=GxBd#!Y6%ISy~&*%S({jKchhatd9?@q|(Fh!qz1TXR?I`E;_*}yeY8*N^E5N7h}6D4aGG|e2>Q+-tfhHcw(~K zUdihTd-Sa53bp>WTM#y4J)(-8DfDu)_l!b^S_ANNwvhd8E`njSDwq|^| zqcXYElzF#T+pAn7)uQp*Z)3$xsi8teIRRx%%a0PDQjAF~jhc3q*i|}2=tk!I;HZNP z$~JO;sYTpid`^5?@bhGUNXe<$f}&ud-H z`2n|Y&&v<@tUdhh9U6o$JN4X~p*Zl8mY-0rH1b!{ZRGF=#xWVp#0Rmz&L^|rCta?8 z{+T(x`z|}1mD!|do)vY>ifcA#g?AVzl7gL)BH2fds|#LKl=(8_z^j_TcSJ;B6=WU z#ng`U?H{E=@TvAFxw+v^?TxxTbM!@5@ax(oUESQu4_+x0qBq%a>;YTVN!wqDFr2(m z80(h8_a~OAmzm7j=QKJZXfp`3IYd zcM-7{@^=i#q*OA42TAo&@e+4*pZ%|wv-3g<%0cC z4TD@BWvTG%O_4cI28zGr{l>(4xIk}Z2d5oap!KHyx9isg2>0C^Ay$Q_vV`<(&b41L zJ|7fp=8`bXiz=+IY$K^?f$yw*fL`Or;FlVKNo$qo)AVZ1{@eAazTYjx;esYMqXkb2 zDq_J*yPms(1v!b zK-f#xq)2*+ePSL9OUfXvPM0f^I-S=xfDCW+s{X`J?B8j0+&#>LaPrKA63tB#wR-|Q zU%HahW!vW#ES-E_%e>dp@n}P<0ZGZB?TZc@;B2AL2;Mlg_sNsa)gtSYIjF?c0fA)| zS0@yDB-54qylK$!*sla)YH$qy0uOn+&Scb>ANF(SL(UiGuaTufqqY>k^w=Mlf#zVn zic^jU3N@Ae4Y5mpFJC)jC8g&UcSL`Q{3H-gRCd0e>Gpl&v_N5mizGI~>^%ay<;EDV z9MnI#>3B@~LBI5TQf4DZB~^k?qf^aIMz3I#luR$odA$3bqf_>y1kKO82Wa*;X=FFj zXAG6UY7#W;k;2}s@74;1#kBB$2r$%+{_oHpr?o*DYDT7l4MdC@V$8WX4nh&DyZEUj~6F?y05c6<% zzMqAbk6EJ0ic<>mk&TUW%`2S1<38gb>kfrmxngh{r=#Fp6R7RrSF;yt6jk6UDvk6t z5HbJ8$9$QdWj!;FT|;$@ee;ffgnVRHjXZYOM&0fW06n1I!~WU$4d( zTEc>Ld9zRgF1cWCG@^h$CykVdnC-1 zY9#&Z%UxMiI zFBB>yLglfJl-R=)6YtUt&Lew8TEf@#B2VTKeILtNTrIjinOy1daTE~O4(NixNZ1`< zkpsGqb0uqXIRP1OqFK<17=HvBzY>@^1v+SeSbUqG+0C*$uXFTf4A;oLI#i+UR?fv) z9S|*$`D?hWH9{X9#U-kF0KAzcv0$tOK*|})oBO8QgMiqrR}bfY|Mn_9Iq9X8c}d4f7dl# z(NwYIP{x71Gx{@G(X_nQGTubxj6|$4Dtzz3+qK_xM9$R~J1!{q-!CqxG5ArH z52;2UDZEu+55TK!%HFvKFhPBb-djHKTWb`VB2Yw347EZRuk&|tVUI(J)zyotIG{m8 zG3A+XA4-N$sS8MbR|{QThxr(oJpwYd)RYU;o9NB+gI#n)+sb~Q%A^p9F>FRM7EcoK zOMJ=XUHEflGN{%hofaf^XT0TfU$J)T+U}efCQ=gv3X{Uq-O z@pTMTt_kTriFoY$yW@|PJs-9@dH$5}qlJyK%m3{{_7S0C16P~PqZ7qyjf_r0*WvwP zy_+`_e1@l)?f$M+u2bL@igM8bYr$7)O#bGr_j^8y{bW|f_-5PQAkQ);pfG2bw)`V` z2)5aph=NWO zmUo;u{k%Qud?RLe^kp2~;>3w^Z1}^wU%@NifR&w0r20sikSg*M=cxx!<|w+=Ptk04 za~Xl`@s69gb(JPLI#|K4%OSb+eHe3^!?e?5@purM_nF+Ql4Q5`{8IX(i|M^*fp-z` zxR?}`hb*|q>4#g%nsY}!@kn*xj#}?8JUi?N-KT$>GM?>SS2utR;ReYnRJu}8#2a9D z|Edp8cSOC$K3@&=o?hU{v15|4HzTlZEL^nKNzza5G5Y`!>@^$i(sOUCjtFu4+hd^E zAkm@|wV9ZLvg=nc`3BNV*b2dlY<`!vqUd|=WX1N0`MJQbQt0+V9Q7D8Jm37r%l}by z-eF0$Z5Z!;8&;a5a^;{hwc*|aL^jS58uMrchbV6w?$prMXv%dyzR15zQ^m z9N@wnD2X87_w+X&9v;YZb6@9mp1%`;oWa}QclGVKou$_rh!gxb%du>*O`(80E1-iZ zx2$_}R+d=W`@&YI(I|yG;P!Ew#ovIaRV1Q5z8RCstD{O6C_6yX%x0$1bp9^mQ z((dzC!N&~Qn#v<$_pGiq)KawHoJH&V@g)z|9vHr z`hx54aDjPXv#aQVxKJGKi!8rNuq@WnT17h~D*#9DJhP$P`^pWQes`|sV809(S%aF~ zPk>}vOkfWeBz?w7ANV=>9ySsO9(ZPd=B<+Dbvf*_Z{*9Yz81=rtGq5Fc~qyLg7!ZQ ztp2$qPyl7y60IAUT>kyag9Q2{wm(5$6E(tktAV^U4f-t(8M%(BY-bz4hT#W-Tf|$h zH;UfLg7s0hfzaDgSL0AAvnj%qysbIwt=L}2yAPC!&Dl`G0eK-3#zeg0&s-Ks%<+^SxSI`5s5?gE z@*GnS=~|a-7e~%lV`v@kM=(+^w{D$?z6^%r2BDH(E4YEBr8{PLwn3z7 za~F$Gh_GoLehvU3CZS(`8hpb?>Th23&CJ|i;+&Mp16Ue_x*qpgGRmx51TgJ_-VPLu zHWw=tD_^^nr17w$GdWq4(Hi_X0zTX{jIJ=5y{7tvQ=9mZw52js99gAjD|=qt!{s22hFn235f zO(~ADA3IgXA3rldM{4mWNddD%t_CH;7*;*jA@TrN7=BOB%N;~b`zKE>ANPkqLu+%e zpFG$0kJeWB4;g7ijYehZo^4|uX&HBR^ z1Z2tS=`9BZM&-Nygh_NuL1Dkx;js*|?nR=b0vz;(>OuOAmP8)teQOadY*m$TswJ*R zwiXKR`iE&p<|9dali6GBhKE4{_iIjDEPdz)+P(s@#Zm7M90%~8oR#h^pCFdcwppfo zWDobgUK6}|tdX`F^-t=`h~K+UC+8*#SNre@2)0k?l@lOS+>? z{h0on4si-!#}jlsZ`dTIx+klkq^RvZ3Fi9BTIQbhnPt4nk#GKTXZZT;mMGZ_EAVh7 z6Gxil=qR{;oM+Scy4WH4TDy2)mtg%5jv3>g3I<6ziH% zO9L74Ubnq3*^6>TU0dX+@oexb3ATXwilVHN#8cAvxgY3zf-P;=)Z#^)kwAy`-dB+=npH2~C`u zy{a&AQyG9~aXd+<{}`{Ei7|*<&eXW@w0}I=eCSGWT9b;;oQb&`uiuB5yr&+VlmFey zB+kMpaDY_TvmYsX_lApMhf9q2%_-f0nRC)*9jG#Gj*7I!#@h<6hTQx}mR=vdW>ohb^w=mTG`zF6z2pR5ksW_LX<;4EF9iUMCJzhcn z7PpR61VW2?UHsd5qk=|TccrhN#jcUC(JuYQuf?wE-h*VzugrW<;JK{I9XONjVjzX* z7!$WPWdm^vbbV;~K=)POYe);Kp4Ip8irI3P_4GcIrP;EKdVl0Zze|U5rb2~BJ_Fg0 zylXRaHOo%R`x=>UkvGb|{lhZxpF;5XlQhj*S`sZVZnf5fW8?qy(u=7fLm#K?+H>EK zRQW9|p!K;(bYyC;4@-M8uxJ=aI8>k93;A?oyc+V*kt?o4HbG;{uhozH!1}%Rdo(&} z+>%!~FcY7J|72WLR&G?DG$rHe2szumTz5;!H}4BmGQTmOeg$11#!tX_bS(( ziu8ZT2zhMbOl!?y6M3liWsC)|g?$m!?70KVtzQS@!`ITDkE4mL{CDZk0ZNF2k-i{N z`RD%o#zdGX81162we7KXCtXX;ZAd$mpV7t?EJpT zruJ;x{Dxhk`?`;`*K92z`03ZbX~A|XYjVph8E|23gZi9sLnYUp=8JEs?YX-F0(0Z^ zwOaxR?9>hw-|c%)gsGSb^XuvF>W}1Tk=oY6(TKOQm?7%<2`hc#ECai0BLn~%_md!1#RN_Afg z=z4Jkfu~82?A1LDbc`W@GS&~2mvhR;aRiz(q*+z!3O)<(hC`8=JXw~2Nk^S?WVYQg zI#^&1BN{g3#q}G})Jou=098S#AN&J;{`%jE51v?U6B?7X&sfmu+>dFe9}%jQ5)v_P z)C3^$xp;yeBc?)!hzxZPY1-9SXUHtV>o)<9bQI7$%O)FFbP_k}JY%-YLB&fCig%U? zVf2IVS40R}6{f8SX~t5lI!*^P+-|pmNAa5bVMK42&MbCu_@t`>x86KuXVK>{`IY^T z2VhK{pqg{!!WYuCy<_|SqyL>y%4``ojFu&Y8^I)+7z=>lnx+D>`o@Xk>OyG*vrK?` zzD;y7HIDZB_wjY+M>k_mRp8V9#_rgD zXUMx|XH{1I5_(?Dk^x8OxZ+dRd7G##duNM11arj>-lUla_a24Wto^NI3)iCP|8YBP zk3fNrhzGszU~8{XvJ>#o$6t0L1k>Us-x>MRV8Q_nr=|sid*W+bs%LsE(d8?G6(4O; zqPLNR+n;gYbOKgFpH&_DTYSLBS3vjtE%^M{cta>l+(!_%XUlCsED_Z z266^(4}lT9IgRHy3v?X;<7-x!IiebIX)@wqpT8ILn_11O$wxeYNMc-o1?mWve|8uRz51OQhG906yqXb#Eu z$6XYa&Z+icJX9KnAbuXH*3S36_zee9P=PE5)&V|V-Aq)A#a^`i3Mo959( zjGj^fV1~1#hYxn?S(uzH3{1*Nf*DNQC$Ai6K`iSsL-jTR&*4CBwkB(6f|^-38lz`X zSYJ01t_U>ixuMy$&jGBnJsuoyd6?y$_p6ss3G{#pjZzmTthZg&Q`l5)tZt@K0{Zwm z3{;EHH4%yMXawXLW0?ZcT1^&eD&y{IT)tEJ{6##I$T59$6)0$EB5HEab?s7b9tN%X z5d?Ng$>W}8T9-c;mvmhi(_dO4WIWoJ0jKm*ZT?mtE^z&5uJ4pj(bN)#%DHE$v?PNT zA`G+a4-HZaCe|fK_m#=MCYs&kc-~rv%vcwdA+($cTL|(V)16_{LMZ(m9-uOpXFb2W znI$!%__8I3AE(qh-tF0Z_-(P9P4(X^VIh$NoWIxR`sOo_E2dd4KSDyqZWc{@9l^cj zs9w>QSK{pC>&Mei+LCXLo@+76@-+TLq)%UVG6YiCv=>accO{;9@gqRxO$g zSMk|D?3IKT4s+-P8LLcqu5Yj=tjhXsOqOME%uni_RVOEfe|FF__HEfViog5A0z|37 zUNz%r*mF{a*?QV;fE9b+XESqVX>eadj%om8!x_~;5&+tsZGoteXgXKYD^wD2{Vo)4$}PMPdYa>ox&K#;onEW&dJJSSGXPlU)@YKa zhu>1CtI8kCUDya&c-LPnrK%7P)oT5*z~6-xFYJ!^&)(>;&8jCa^nWM(!%>scrlQh$ zLsKh;0$iD|%wrc{aRG0UqV2}1hPM9*tm9+g0Jl?@eXhyf2doFeo!ncWy8#WinYq~9 z@t7Yvz&eVToXzEt5f98dfe6WSjagx%W-*p=x%^wO(a4ImR|=4Hne2M8<>hPCv_HSU z`l+wANX^T^!nX+Wqpsq&4nlCFpW9JDyOI2j_D_)&!;5JhQCA6Y*{w)BOd?Ep(z_PW z%ysvVE8BvZp>MEi=AQ`DE^is-B}*R&c*^pk?SOU=HMspCJ33kn7g+vtJ;#Tf;nAan z;`0gQJkusIze&=voiwaF91G7J@EAE9e0ll?3#i+k?EiY792}#+sO+j#NzyE#oXZO8 zuTO0_tgU=CXm-T;(Vg#tZ0zKxHrV{JUsa^%BvNYajHtl3gd3CfO{~&`=Rydn-p-_z zWw%tq6^Ub19NO<>b-Ei(#oV#qT)sAaAWT}b&AU?USkQjAkK?t9p1mPuU#RkVwKyq* z81w^#m|DSJs14fd_)^pzd1e_z1yBaP6-H>eMdvG|t$owAen8I%%>Q}cKx0nNkq^}A zkS4U{KCPGg{-N*F)+ zOr^-IFUS1|o1ek%qW>Tl+H1PaxY`SlQ$K}zjn%vcQ~p< zKka~92U%_iy?XeE@EjN@K{YbFVAq}eT#gu#>QQV=p0lX_T{c{)_tD#K=V(1W( za^)8ldF-<}fL=ClKL;?1`c#K)?(s}-R+1?QE$MlB3Fnw-aI$+aR=b?AwHr88SqAur5E)GFy zmxx>h10z5_WV4wTJk(ht%2?y>?rQM380L3vHKAF@;5AfX4gz@88#?m=KyS$5+jafv z<+R)f`lKHxnRf%78bV3>mR5Uj!s%t}re^{(tq#O!Bsz$)KY#Kb6-bs5>eiOQyx;x7>WBzKib5fe!Wk@Y} zXgAWtWaDDFB#l(YBJR17!Yn@9&v`{}|D1bs2Xw|4WK`zjk)PKSUbKAsUXLk)*Ky&@ z?cZu;2a$VI4^k2$;G&8tZKH&dN<}eUkogaWMQXIyTrv4F(BFL>H-yyTo-z23E?18U^r|7 z7j9AOvnJ+0%<7eGSCrmc!3S>3J(!8*Jn5}LZQ&mBv*1Wi=x9`A4%O#9;eKDa9#+r_ zhoYt!ROZjNYs(s=e;&Vvw2RUpEBIZFT^5+Zj>i6uY2G{b`12kp2*CSm?0on;wp6|m zV&B(Um$L(EKkx73TvMo3}tl7Ulm847=aqIyxzHM~byB7v`3SsO=m zNS6b6xbFU)SKe;2u*zmQsO{~vFMePXLjfqam1igf>~W^EHYW>jmxQ4NFf}44Ws1LZ zoP08Vh2^BLYVChEW~kMpZcqnEx;yU~f%3O{@Db|WG=LXkqLK}IXN^R)EvS^Ra|YESCL`7S>p z7--*$)Y0dOaT9sKcXQB0?*6f?AXS`9QuHqBfu_B3n=a-9j6`w}!*TG8A~o-v`Qnx4 zT(fHInnxZW(`6m}GC=-`=#Uy=+?|#@rNWFvd}iFC9A=yX#FBL=NuShHm3hkQ;^(r} z*TLIE*ZG3w6sM@sfm&2K$~6z5VKx}Z*yMcZh=&CS`AIX0YiOD%?=fcA^iK9P(|Pz9vU_U|!6d=j zp{AAtb#MY+-SZWXFbZ)z@FU;5a@aDZ+HKZgH@7_kOGSH)( zipBc$c!h`q`g=No3yEOQhe<5w4xwQL;jZ1IDKBc`8Q?D(*)u&7480B{2UI}^ffYE4 zEDsajqhYq?e*HND!xGO8d<X>Wxj=+Fv4MCkibNx>!-}*S!Uf_}>YcMO*e^NkCnb zR^x-ot@N-Z^w}OJ!ZsjRD9VYWsZ9sD1Kb*&Ew>R@{VCv zukCkNJkS7EsJGB{U6lK^2_T@?>2j;S=q3F2v7r)bXijMCm@>Qz-K%ZauXT3;l>Eym zQmFeB3^hiJyhJrOoDd^DRZzvNUw}J{s54;=Q|l3aMo=5(aQ#RYQr2iH7>cg#1D08M z`49K(+~{3jXXOsu0so9!b_J`S8v@!j0oU_zJ>6SCDMjl3&pmFR5V4W{r#^h;fZt@r2cj*6F*vQ zVCXrHA-bE0eh0el0$$JrfuL!|lo#qN|2T+Ws%uDq)2UE!{|7kLQ|U`cTS2-r%UQQK zx@2i(cYA;fH>W!ALQ_cxU^ZmWcWqH}b9_*(2mJn@x8#Cxm}MNjot{hQjU{Obf^RjkyiD2nt&sDz0cnI7c`ZDuv%+H)_*7$JpQLi%l zh2#5&fe`9R_0YUg3Y^RTkYVm5Lr?dWx!>?94~%x0j?B6NG+njWi+p_D*Ux+gBXwH5Z~X|kv+Lnj5sPP!Sg57uO8f`>T9Iw%M&x)Lh$WU| ze_gFF5~W+Z>;HCLTjqgk56jZ-=B~Q!n@;pVM5l9!QGfGraIn)^ZT~HO*AIU`yRS|k zxA+f6qi*l0{wX)Ig9oMPHwI%D2RA;_V^}?WflZ{DW*1 zMjlB1Xhx<;bKjazEx~#-ev74h2LN0>;mL}vDlgE=Uca*S;mKf>$Ilkd^agI(tLpv? zn|`laKgxZ;52oscf9kUqgP^OY5}PhGWe%NKQd!UR1}%dXs;! zT{#s0hq?`qisR@r0~p&1c~FdoA7OY0c}eAA*rkURu!)zCyU=C$tWjf`TloOPO7}33 z-RzF^k>5jP3a(_RbB`(%-^Fz~uayM4X%Bw(oQug9s8w81yY=l?_+{9m6yP{FNM*4p z5rgd1^Dgy+=>;mu>|+gnulQAYUZ9Ueq2A!Y;vQPls&PqTj063ha>eH9>DGvcl`-b$ zIbM!5j$h##Kad8$h=qS&<(XCwWp7T>~tDO&|V6nAmapqX0C|eHFo0rjz;*wY@dzZmSM#(!o4b87&qVV1LAK%cCmajTXK<9?w=M(<5 zq)1u%1G=kn+~kvVMLbe!sTJN3p_T#M-%;akr?gpntSHe`ziV+Y83;25iBW%`lb6-FI zD+YxhOCaB@u`GTTjBX820pX1DvDIC1zutf%#~R;^VNNwK-Cr<{zF3dTrw1L48(q94 z9Kk|&t_9pVdKzP2^|3o9$h!Bu>v==}+ofPdO;eeh=9fg-KCoQEDqpsSEG+}EP?eXW zgEY@&K>gZ8lZ(5i-&K-@CYq5;haJK+5p4(__+ltP?+BAJJR3k3AP)rv_uahzozRKe zTU2*i>GbOyXqqlz4T1X<9{b+2Tv9-{oCr>hYtMWM@HSEjwgYbq3 zg?Vw(hA6m0c=5QLmi!FRaZs9DTGq0o&|7QCbW5C>KA$yflCJ(MvJ?;~edjmsM)c4R zfZpjCU+EmKT^O(}PRom;c%W0p%$SkC`F!=+sj830s+95Mwzhx~Mc727G%@m%5*9F! z-?1wBHpE1K*)db(*xFf-enf2!95zwL+vI8qlr;w%Nvok>eDhTDu5QetWZ0)x+-1cz zd4PLeTziK^tHvoW8xHu#0S2Ipacx?WMo)$O-JMb7-bz4vn@z%r%qG;FyIgikz-2{E zD`tgm%CI``bNWMz^Nmtd>r3|P1MTLzjnMxB?bqcxhc{|><(=dr6x>@K_+5xS2%Q~+ z=Dv-;!_a=XY~>NK5LLsys4Tpf4G%#{zKT3v|I-l{wZ>K0))!{e2f+=V)D;yjm|sA? zU^+5s2_w||2!=6m+IdXOcS2)d<;wWRbK&-w!ir&~qQwhZ8Mq#<*NnV(?eZUq>$}Gf zD`sS#Otr&tJ$9h_^owPYd$rP5rx%lr9+~&|YYW@fwj~gd!ntToU637FbY|m}KX)bF z>7>0^$tDw*F+c9Q81ucuml6Sg1swz3?pe3d$7+WTIz8*g+hk=%`8_Z{tkunGiA+JH z@rEcf1frEDta(g4zE6=OYbKnd44q6o_%NAw*IJctOV|^4;0`q?x5X5*_yO{r|%V|l$Yh;IGcsFWfS?O&fTZ= z)!r}njj!I0FX_1b8d-HW{z59RU8iU2y+N?Nm8_^*8BUw4CcZWLHhQVYs*EyK-t??Y zI=-Gv&5l?;YBRPqD!NiB`bITV19j`XKbZY;-$+LS6b zHbrY+c99fIOF{G1bnp-Y6(q9VQYQCSa#({_$#w_{!E%QnJ)ap*uCjS(gYq&5V9M;{ zlI`4_lNzE0{GJ>XzY;1fA(j_>U~Fe`^d6a?*weJCo9Z=EYc1{1unL3TW` zscCNZNc`7PT}RvM65;nhXsSm;R%dz;Il8gY;~FHh7H9faR+(t6w#PQ(^s&S6Ak=6% zRrSme4-IR#0qi-B1t}~Lmp~-J6Dt1U={0+57>H-il?O*?rMou0>*`XF!*|(RFDLGS zP?(!C;I0y_BdHua8r(xmvL>=1DFYy1U78k%@HZ74!$`2cGD#ke>TTK+_**l(tR9jF zWt#^$y*{9SzGT=z^_CK@SA*hU6W$m_EyqW2D~gGOl)o+&nRP|Tj{bNIVVWMEj<|)5 zWy5I|&D-6Op9_SX4wMOVNjhEdjg)N200qJBJ$U&v>FW`|*?jv7n(UfcJjb|XA%7n7 zh4$5`|KG?8s&_E)a&?+p+~G>6J#=uJ-gmRf0J1De^#BI1@601d)tR}vo;}@_HpS5Z zkp&b){t+{zWM)46F?*U+MKdBxRIXT2XBuk=^oGqkg~JSBF0$ikGAIi0hoif+nkk+S z?Lt@@n0pM(8Bks~+w$*opjButFys6LIn_iW876IHax$!US?FH4pb$=lDKz#EOT9(Am)19=41>&K03Q8~2png9k^YTpT+?d5=(uO$Ii~6S z5tpYCc~%RMqn^zLW|j)HJb(7_o-)(d(Iy-5PizD1a{l+WQPQSyFn_dl7asxX;Weo6 zTS)`=4CciOff+TV-r2DAiLe6hT5SxTEswZ$?QLvf-&RMrNMUSW2uvdet7^G*>68C% zz|doL6X+vgo1jf#c9>rR(&ZC>95WX)T4L>*C?=EK$mIitS2lD>@c6^aM}ItmWAPyD zhMqx!jHRwRU49p+$+PwcPb$7J$>VC!yg2}@IE>mFtBs#(bgwP~%OAN`LtQ$6^nt1q zZGjpxJC-(f*jBsrV9e^C_Fx#f(d6X_Fq@3EYFaAx0Qiin!TwUv0X~rJn`VybHHDp) zEqgVToHyUr)8HX&{A$T_SH*iMp{*_TPEC(ITg-vWxr@7pa8LBzs!ajH=p3oSWa zeGNfsrtAenN~O*R_U`x5a$PZrTSwa2!nSrs8|n(Hidx1vq7K*Du;SB(7@AEpHhn2q zRdsyc@Hwk+h>1ey=s!=Ko4AUPbUKupG~pAv;iyhWLN{m7#SE!=8c5Y*S{S9VUf#(9 zZ&F=9uh%Ru-DD(6I~=?DsV6CGUkz^YmF8~_W3!B&5U+2EAh(*b@r0OR?X4VDl_k~sh>v`y+fBY*E45}cF7vh~1NK^s?sQp>zUO4uh^)Z^4xt~r%^WyVXGE45}wr< zF$JEn&>#WQI{-du!@0>>G+gt&_Wiy-pU-D-kg4w$ZH0F zxtwk#qN{QiV2MCy)RPoyc+BOM^y#(3D#N^6cT_vElwTLFN;Ie@oCHDwX&Gld>-FNH za}eH64$A?;vyDXN)DW+7PQq_xiIpZXcAEzm{L55T24a^Q`E0n^!}_e~wN+PS1k<$c z>@D=OlckMe|Ms^DC3ymwWX`j`K`)8a_w_b_g`$95N zcTTL*V_}I5bqn!VDhqsra-8z3RF9KP_074M ze4bdDbXbuxsrAg=O^>@J$XJ?4YQ6yQe?uR{IRpxUzO2`>pO@ypl&KQk)Sy!K*nc_Y z;?o`@i1oM@*BcXC)t4GuP{5@jy$4FEYFjT6tEIjVL~V6UUx{!9#x6pui?yp$DF7(B zSHIVuW3tAZ7PtzV+Dfee#IrA}wOritAj0;5CR~aL!Sv^Le;5&

      _Z(e1?8Ha4|5`&#!+Ob|zpTR_X#$76G* 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�xUfvFTzri2Wmb`s$-&c@*03TT+venQYaY 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 + + + + + + + + + + + + diff --git a/jsartoolkit5/examples/barcode_threejs.html b/jsartoolkit5/examples/barcode_threejs.html new file mode 100644 index 0000000..2c40507 --- /dev/null +++ b/jsartoolkit5/examples/barcode_threejs.html @@ -0,0 +1,108 @@ + + +Barcode marker example with Three.js + + + + + +

      Barcode marker example with Three.js

      +

      On Chrome on Android, tap the screen to start playing video stream.

      +

      Back to examples

      + + + + + + + + + + diff --git a/jsartoolkit5/examples/boilerplate_threejs.html b/jsartoolkit5/examples/boilerplate_threejs.html new file mode 100644 index 0000000..514d4b4 --- /dev/null +++ b/jsartoolkit5/examples/boilerplate_threejs.html @@ -0,0 +1,151 @@ + + + + + + + diff --git a/jsartoolkit5/examples/css/index.css b/jsartoolkit5/examples/css/index.css new file mode 100644 index 0000000..aebee30 --- /dev/null +++ b/jsartoolkit5/examples/css/index.css @@ -0,0 +1,27 @@ +body { + margin: 1em; + padding: 0; + height: 100%; + width: 100%; + font-family: sans-serif; + font-size: 1.5em; + background-color: #eee; + color: #023962; +} + +ul, ol { + list-style: none; +} + +li { + margin-top: 1em; +} + +a { + color: inherit; +} + +a:hover { + background-color: #023962; + color: white; +} diff --git a/jsartoolkit5/examples/css/main.css b/jsartoolkit5/examples/css/main.css new file mode 100644 index 0000000..384c6e6 --- /dev/null +++ b/jsartoolkit5/examples/css/main.css @@ -0,0 +1,10 @@ +html, +body +{ + width: 100%; + height: 100%; + margin: 0; +} + +canvas { +} diff --git a/jsartoolkit5/examples/css/style.css b/jsartoolkit5/examples/css/style.css new file mode 100644 index 0000000..19a8e90 --- /dev/null +++ b/jsartoolkit5/examples/css/style.css @@ -0,0 +1,40 @@ +.grey-cover { + width: 100%; + height: 100%; + z-index: 999; + position: absolute; + top: 0; + left: 0; + background-color: rgba(0, 0, 0, 0.6); +} + +.loading { + width: 100%; + position: absolute; + top: 10%; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + width: 100%; + z-index: 99999; + height: 40%; +} + +.loading-text { + margin-top: 10px; + color: white; + font-weight: bold; +} + +.loading img { + height: 5em; +} + +#video { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; +} diff --git a/jsartoolkit5/examples/css/video-style.css b/jsartoolkit5/examples/css/video-style.css new file mode 100644 index 0000000..e3c2c8c --- /dev/null +++ b/jsartoolkit5/examples/css/video-style.css @@ -0,0 +1,112 @@ +html, +body { + margin: 0; + overflow: hidden; +} + +html { + font-family: sans-serif; +} + +#loading { + width: 100%; + position: absolute; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + width: 100%; + height: 100%; + background-color: rgba(0, 0, 0, 0.45); + z-index: 9999999; +} + +#loading img { + height: 5em; +} + +#loading span{ + color: black; + font-weight: bold; +} + +.ui { + position: fixed; + + margin: 0.5rem; + + background-color: rgba( 255,255,255,0.6 ); + border-radius: 6px; +} + +.stats { + top: 0; + left: 0; + z-index: 200; + margin: 0.5rem; + padding: 0.5rem 0.5rem 0; +} + +.stats-item { + margin: 0 0 0.5rem; + +} + +.stats-item-title { + margin: 0 0 0.25rem; + + font-size: 0.75rem; +} + +#stats div { + position: relative !important; +} + +.marker { + right: 0; + bottom: 0; + z-index: 200; + margin: 0.5rem; + padding: 0.25rem 0.5rem; + + font-size: 0.75rem; + color: inherit; + text-decoration: none; +} + +#app { + position: fixed; + top: 0; + left: 0; + + width: 100%; + height: 100%; +} + +#video { + position: absolute; + top: 0; + left: 0; + + display: block; + width: 100% !important; + height: 100% !important; + object-fit: cover; +} + +#canvas { + position: absolute; + left: 0; + top: 0; + z-index: 100; + + display: block; + width: 100% !important; + height: 100% !important; + object-fit: cover; +} + + +#arvideo { + display: none; +} diff --git a/jsartoolkit5/examples/index.html b/jsartoolkit5/examples/index.html new file mode 100644 index 0000000..74d686a --- /dev/null +++ b/jsartoolkit5/examples/index.html @@ -0,0 +1,157 @@ + + + + + + + JSARToolKit5 examples + + + + + +

      Three.js examples

      + +
      + + Barcode tracking + +

      Uses device camera. +

      Use 3x3 marker id 20 +

      + +
      + + Pattern marker tracking + +

      Uses device camera. +

      Use Hiro pattern and Kanji pattern +

      + + + + + + + +
      + + Three.js example without helper API + +

      Uses pre-recorded video. +

      Not interactive. Draws a cube on top of last detected marker square. +

      + +

      Babylon.js examples

      + +
      + + Babylon.js example without helper API + +

      Uses pre-recorded video. +

      Not interactive. Draws a cube on top of last detected marker square. +

      + +

      NFT Examples

      + +
      + + nft examples by misdake + +

      nft improved worker examples by misdake +

      + +

      Canvas debug examples

      + +
      + + Image debug marker detection + +

      Runs AR marker detection on images. +

      Not interactive. +

      + +
      + + Video debug marker detection + +

      Uses pre-recorded video. +

      Not interactive. +

      + +
      + + Camera debug marker detection + +

      Uses device camera. +

      Displays detected potential marker squares in debug output. +

      + +

      Wasm esamples

      + +
      + + Image debug marker detection with Wasm + +

      Runs AR marker detection on images (with Wasm). +

      Not interactive. +

      + +
      + + Video debug marker detection with Wasm + +

      Uses pre-recorded video (with Wasm). +

      Not interactive. +

      + +
      + + nft with threejs and Wasm + +

      Using NFT with three.js and Wasm (and no webworker) +

      Use this Pinball image + as marker. +

      + + + + + + diff --git a/jsartoolkit5/examples/intro_example.html b/jsartoolkit5/examples/intro_example.html new file mode 100644 index 0000000..8c6570e --- /dev/null +++ b/jsartoolkit5/examples/intro_example.html @@ -0,0 +1,233 @@ + + +Box demo with Three.js + + + + + +

      Box demo with Three.js

      +

      On Chrome on Android, tap the screen to start playing video stream.

      +

      Show 3x3 marker id 20 to camera to display a box on top of it. Tap the box to open it. + + +

      Back to examples

      + + + + + + + + + diff --git a/jsartoolkit5/examples/js/third_party/babylon.js/babylon.2.5.max.js b/jsartoolkit5/examples/js/third_party/babylon.js/babylon.2.5.max.js new file mode 100644 index 0000000..d13be9d --- /dev/null +++ b/jsartoolkit5/examples/js/third_party/babylon.js/babylon.2.5.max.js @@ -0,0 +1,55721 @@ +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { +var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; +if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); +else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; +return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __extends = (this && this.__extends) || function (d, b) { +for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; +function __() { this.constructor = d; } +__.prototype = b.prototype; +d.prototype = new __(); +}; +var BABYLON; +(function (BABYLON) { + BABYLON.ToGammaSpace = 1 / 2.2; + BABYLON.ToLinearSpace = 2.2; + BABYLON.Epsilon = 0.001; + var MathTools = (function () { + function MathTools() { + } + MathTools.WithinEpsilon = function (a, b, epsilon) { + if (epsilon === void 0) { epsilon = 1.401298E-45; } + var num = a - b; + return -epsilon <= num && num <= epsilon; + }; + MathTools.ToHex = function (i) { + var str = i.toString(16); + if (i <= 15) { + return ("0" + str).toUpperCase(); + } + return str.toUpperCase(); + }; + // Returns -1 when value is a negative number and + // +1 when value is a positive number. + MathTools.Sign = function (value) { + value = +value; // convert to a number + if (value === 0 || isNaN(value)) + return value; + return value > 0 ? 1 : -1; + }; + MathTools.Clamp = function (value, min, max) { + if (min === void 0) { min = 0; } + if (max === void 0) { max = 1; } + return Math.min(max, Math.max(min, value)); + }; + return MathTools; + }()); + BABYLON.MathTools = MathTools; + var Color3 = (function () { + function Color3(r, g, b) { + if (r === void 0) { r = 0; } + if (g === void 0) { g = 0; } + if (b === void 0) { b = 0; } + this.r = r; + this.g = g; + this.b = b; + } + Color3.prototype.toString = function () { + return "{R: " + this.r + " G:" + this.g + " B:" + this.b + "}"; + }; + Color3.prototype.getClassName = function () { + return "Color3"; + }; + Color3.prototype.getHashCode = function () { + var hash = this.r || 0; + hash = (hash * 397) ^ (this.g || 0); + hash = (hash * 397) ^ (this.b || 0); + return hash; + }; + // Operators + Color3.prototype.toArray = function (array, index) { + if (index === undefined) { + index = 0; + } + array[index] = this.r; + array[index + 1] = this.g; + array[index + 2] = this.b; + return this; + }; + Color3.prototype.toColor4 = function (alpha) { + if (alpha === void 0) { alpha = 1; } + return new Color4(this.r, this.g, this.b, alpha); + }; + Color3.prototype.asArray = function () { + var result = []; + this.toArray(result, 0); + return result; + }; + Color3.prototype.toLuminance = function () { + return this.r * 0.3 + this.g * 0.59 + this.b * 0.11; + }; + Color3.prototype.multiply = function (otherColor) { + return new Color3(this.r * otherColor.r, this.g * otherColor.g, this.b * otherColor.b); + }; + Color3.prototype.multiplyToRef = function (otherColor, result) { + result.r = this.r * otherColor.r; + result.g = this.g * otherColor.g; + result.b = this.b * otherColor.b; + return this; + }; + Color3.prototype.equals = function (otherColor) { + return otherColor && this.r === otherColor.r && this.g === otherColor.g && this.b === otherColor.b; + }; + Color3.prototype.equalsFloats = function (r, g, b) { + return this.r === r && this.g === g && this.b === b; + }; + Color3.prototype.scale = function (scale) { + return new Color3(this.r * scale, this.g * scale, this.b * scale); + }; + Color3.prototype.scaleToRef = function (scale, result) { + result.r = this.r * scale; + result.g = this.g * scale; + result.b = this.b * scale; + return this; + }; + Color3.prototype.add = function (otherColor) { + return new Color3(this.r + otherColor.r, this.g + otherColor.g, this.b + otherColor.b); + }; + Color3.prototype.addToRef = function (otherColor, result) { + result.r = this.r + otherColor.r; + result.g = this.g + otherColor.g; + result.b = this.b + otherColor.b; + return this; + }; + Color3.prototype.subtract = function (otherColor) { + return new Color3(this.r - otherColor.r, this.g - otherColor.g, this.b - otherColor.b); + }; + Color3.prototype.subtractToRef = function (otherColor, result) { + result.r = this.r - otherColor.r; + result.g = this.g - otherColor.g; + result.b = this.b - otherColor.b; + return this; + }; + Color3.prototype.clone = function () { + return new Color3(this.r, this.g, this.b); + }; + Color3.prototype.copyFrom = function (source) { + this.r = source.r; + this.g = source.g; + this.b = source.b; + return this; + }; + Color3.prototype.copyFromFloats = function (r, g, b) { + this.r = r; + this.g = g; + this.b = b; + return this; + }; + Color3.prototype.toHexString = function () { + var intR = (this.r * 255) | 0; + var intG = (this.g * 255) | 0; + var intB = (this.b * 255) | 0; + return "#" + MathTools.ToHex(intR) + MathTools.ToHex(intG) + MathTools.ToHex(intB); + }; + Color3.prototype.toLinearSpace = function () { + var convertedColor = new Color3(); + this.toLinearSpaceToRef(convertedColor); + return convertedColor; + }; + Color3.prototype.toLinearSpaceToRef = function (convertedColor) { + convertedColor.r = Math.pow(this.r, BABYLON.ToLinearSpace); + convertedColor.g = Math.pow(this.g, BABYLON.ToLinearSpace); + convertedColor.b = Math.pow(this.b, BABYLON.ToLinearSpace); + return this; + }; + Color3.prototype.toGammaSpace = function () { + var convertedColor = new Color3(); + this.toGammaSpaceToRef(convertedColor); + return convertedColor; + }; + Color3.prototype.toGammaSpaceToRef = function (convertedColor) { + convertedColor.r = Math.pow(this.r, BABYLON.ToGammaSpace); + convertedColor.g = Math.pow(this.g, BABYLON.ToGammaSpace); + convertedColor.b = Math.pow(this.b, BABYLON.ToGammaSpace); + return this; + }; + // Statics + Color3.FromHexString = function (hex) { + if (hex.substring(0, 1) !== "#" || hex.length !== 7) { + //Tools.Warn("Color3.FromHexString must be called with a string like #FFFFFF"); + return new Color3(0, 0, 0); + } + var r = parseInt(hex.substring(1, 3), 16); + var g = parseInt(hex.substring(3, 5), 16); + var b = parseInt(hex.substring(5, 7), 16); + return Color3.FromInts(r, g, b); + }; + Color3.FromArray = function (array, offset) { + if (offset === void 0) { offset = 0; } + return new Color3(array[offset], array[offset + 1], array[offset + 2]); + }; + Color3.FromInts = function (r, g, b) { + return new Color3(r / 255.0, g / 255.0, b / 255.0); + }; + Color3.Lerp = function (start, end, amount) { + var r = start.r + ((end.r - start.r) * amount); + var g = start.g + ((end.g - start.g) * amount); + var b = start.b + ((end.b - start.b) * amount); + return new Color3(r, g, b); + }; + Color3.Red = function () { return new Color3(1, 0, 0); }; + Color3.Green = function () { return new Color3(0, 1, 0); }; + Color3.Blue = function () { return new Color3(0, 0, 1); }; + Color3.Black = function () { return new Color3(0, 0, 0); }; + Color3.White = function () { return new Color3(1, 1, 1); }; + Color3.Purple = function () { return new Color3(0.5, 0, 0.5); }; + Color3.Magenta = function () { return new Color3(1, 0, 1); }; + Color3.Yellow = function () { return new Color3(1, 1, 0); }; + Color3.Gray = function () { return new Color3(0.5, 0.5, 0.5); }; + return Color3; + }()); + BABYLON.Color3 = Color3; + var Color4 = (function () { + function Color4(r, g, b, a) { + this.r = r; + this.g = g; + this.b = b; + this.a = a; + } + // Operators + Color4.prototype.addInPlace = function (right) { + this.r += right.r; + this.g += right.g; + this.b += right.b; + this.a += right.a; + return this; + }; + Color4.prototype.asArray = function () { + var result = []; + this.toArray(result, 0); + return result; + }; + Color4.prototype.toArray = function (array, index) { + if (index === undefined) { + index = 0; + } + array[index] = this.r; + array[index + 1] = this.g; + array[index + 2] = this.b; + array[index + 3] = this.a; + return this; + }; + Color4.prototype.add = function (right) { + return new Color4(this.r + right.r, this.g + right.g, this.b + right.b, this.a + right.a); + }; + Color4.prototype.subtract = function (right) { + return new Color4(this.r - right.r, this.g - right.g, this.b - right.b, this.a - right.a); + }; + Color4.prototype.subtractToRef = function (right, result) { + result.r = this.r - right.r; + result.g = this.g - right.g; + result.b = this.b - right.b; + result.a = this.a - right.a; + return this; + }; + Color4.prototype.scale = function (scale) { + return new Color4(this.r * scale, this.g * scale, this.b * scale, this.a * scale); + }; + Color4.prototype.scaleToRef = function (scale, result) { + result.r = this.r * scale; + result.g = this.g * scale; + result.b = this.b * scale; + result.a = this.a * scale; + return this; + }; + /** + * Multipy an RGBA Color4 value by another and return a new Color4 object + * @param color The Color4 (RGBA) value to multiply by + * @returns A new Color4. + */ + Color4.prototype.multiply = function (color) { + return new Color4(this.r * color.r, this.g * color.g, this.b * color.b, this.a * color.a); + }; + /** + * Multipy an RGBA Color4 value by another and push the result in a reference value + * @param color The Color4 (RGBA) value to multiply by + * @param result The Color4 (RGBA) to fill the result in + * @returns the result Color4. + */ + Color4.prototype.multiplyToRef = function (color, result) { + result.r = this.r * color.r; + result.g = this.g * color.g; + result.b = this.b * color.b; + result.a = this.a * color.a; + return result; + }; + Color4.prototype.toString = function () { + return "{R: " + this.r + " G:" + this.g + " B:" + this.b + " A:" + this.a + "}"; + }; + Color4.prototype.getClassName = function () { + return "Color4"; + }; + Color4.prototype.getHashCode = function () { + var hash = this.r || 0; + hash = (hash * 397) ^ (this.g || 0); + hash = (hash * 397) ^ (this.b || 0); + hash = (hash * 397) ^ (this.a || 0); + return hash; + }; + Color4.prototype.clone = function () { + return new Color4(this.r, this.g, this.b, this.a); + }; + Color4.prototype.copyFrom = function (source) { + this.r = source.r; + this.g = source.g; + this.b = source.b; + this.a = source.a; + return this; + }; + Color4.prototype.toHexString = function () { + var intR = (this.r * 255) | 0; + var intG = (this.g * 255) | 0; + var intB = (this.b * 255) | 0; + var intA = (this.a * 255) | 0; + return "#" + MathTools.ToHex(intR) + MathTools.ToHex(intG) + MathTools.ToHex(intB) + MathTools.ToHex(intA); + }; + // Statics + Color4.FromHexString = function (hex) { + if (hex.substring(0, 1) !== "#" || hex.length !== 9) { + //Tools.Warn("Color4.FromHexString must be called with a string like #FFFFFFFF"); + return new Color4(0, 0, 0, 0); + } + var r = parseInt(hex.substring(1, 3), 16); + var g = parseInt(hex.substring(3, 5), 16); + var b = parseInt(hex.substring(5, 7), 16); + var a = parseInt(hex.substring(7, 9), 16); + return Color4.FromInts(r, g, b, a); + }; + Color4.Lerp = function (left, right, amount) { + var result = new Color4(0, 0, 0, 0); + Color4.LerpToRef(left, right, amount, result); + return result; + }; + Color4.LerpToRef = function (left, right, amount, result) { + result.r = left.r + (right.r - left.r) * amount; + result.g = left.g + (right.g - left.g) * amount; + result.b = left.b + (right.b - left.b) * amount; + result.a = left.a + (right.a - left.a) * amount; + }; + Color4.FromArray = function (array, offset) { + if (offset === void 0) { offset = 0; } + return new Color4(array[offset], array[offset + 1], array[offset + 2], array[offset + 3]); + }; + Color4.FromInts = function (r, g, b, a) { + return new Color4(r / 255.0, g / 255.0, b / 255.0, a / 255.0); + }; + Color4.CheckColors4 = function (colors, count) { + // Check if color3 was used + if (colors.length === count * 3) { + var colors4 = []; + for (var index = 0; index < colors.length; index += 3) { + var newIndex = (index / 3) * 4; + colors4[newIndex] = colors[index]; + colors4[newIndex + 1] = colors[index + 1]; + colors4[newIndex + 2] = colors[index + 2]; + colors4[newIndex + 3] = 1.0; + } + return colors4; + } + return colors; + }; + return Color4; + }()); + BABYLON.Color4 = Color4; + var Vector2 = (function () { + function Vector2(x, y) { + this.x = x; + this.y = y; + } + Vector2.prototype.toString = function () { + return "{X: " + this.x + " Y:" + this.y + "}"; + }; + Vector2.prototype.getClassName = function () { + return "Vector2"; + }; + Vector2.prototype.getHashCode = function () { + var hash = this.x || 0; + hash = (hash * 397) ^ (this.y || 0); + return hash; + }; + // Operators + Vector2.prototype.toArray = function (array, index) { + if (index === void 0) { index = 0; } + array[index] = this.x; + array[index + 1] = this.y; + return this; + }; + Vector2.prototype.asArray = function () { + var result = []; + this.toArray(result, 0); + return result; + }; + Vector2.prototype.copyFrom = function (source) { + this.x = source.x; + this.y = source.y; + return this; + }; + Vector2.prototype.copyFromFloats = function (x, y) { + this.x = x; + this.y = y; + return this; + }; + Vector2.prototype.add = function (otherVector) { + return new Vector2(this.x + otherVector.x, this.y + otherVector.y); + }; + Vector2.prototype.addToRef = function (otherVector, result) { + result.x = this.x + otherVector.x; + result.y = this.y + otherVector.y; + return this; + }; + Vector2.prototype.addInPlace = function (otherVector) { + this.x += otherVector.x; + this.y += otherVector.y; + return this; + }; + Vector2.prototype.addVector3 = function (otherVector) { + return new Vector2(this.x + otherVector.x, this.y + otherVector.y); + }; + Vector2.prototype.subtract = function (otherVector) { + return new Vector2(this.x - otherVector.x, this.y - otherVector.y); + }; + Vector2.prototype.subtractToRef = function (otherVector, result) { + result.x = this.x - otherVector.x; + result.y = this.y - otherVector.y; + return this; + }; + Vector2.prototype.subtractInPlace = function (otherVector) { + this.x -= otherVector.x; + this.y -= otherVector.y; + return this; + }; + Vector2.prototype.multiplyInPlace = function (otherVector) { + this.x *= otherVector.x; + this.y *= otherVector.y; + return this; + }; + Vector2.prototype.multiply = function (otherVector) { + return new Vector2(this.x * otherVector.x, this.y * otherVector.y); + }; + Vector2.prototype.multiplyToRef = function (otherVector, result) { + result.x = this.x * otherVector.x; + result.y = this.y * otherVector.y; + return this; + }; + Vector2.prototype.multiplyByFloats = function (x, y) { + return new Vector2(this.x * x, this.y * y); + }; + Vector2.prototype.divide = function (otherVector) { + return new Vector2(this.x / otherVector.x, this.y / otherVector.y); + }; + Vector2.prototype.divideToRef = function (otherVector, result) { + result.x = this.x / otherVector.x; + result.y = this.y / otherVector.y; + return this; + }; + Vector2.prototype.negate = function () { + return new Vector2(-this.x, -this.y); + }; + Vector2.prototype.scaleInPlace = function (scale) { + this.x *= scale; + this.y *= scale; + return this; + }; + Vector2.prototype.scale = function (scale) { + return new Vector2(this.x * scale, this.y * scale); + }; + Vector2.prototype.equals = function (otherVector) { + return otherVector && this.x === otherVector.x && this.y === otherVector.y; + }; + Vector2.prototype.equalsWithEpsilon = function (otherVector, epsilon) { + if (epsilon === void 0) { epsilon = BABYLON.Epsilon; } + return otherVector && MathTools.WithinEpsilon(this.x, otherVector.x, epsilon) && MathTools.WithinEpsilon(this.y, otherVector.y, epsilon); + }; + // Properties + Vector2.prototype.length = function () { + return Math.sqrt(this.x * this.x + this.y * this.y); + }; + Vector2.prototype.lengthSquared = function () { + return (this.x * this.x + this.y * this.y); + }; + // Methods + Vector2.prototype.normalize = function () { + var len = this.length(); + if (len === 0) + return this; + var num = 1.0 / len; + this.x *= num; + this.y *= num; + return this; + }; + Vector2.prototype.clone = function () { + return new Vector2(this.x, this.y); + }; + // Statics + Vector2.Zero = function () { + return new Vector2(0, 0); + }; + Vector2.FromArray = function (array, offset) { + if (offset === void 0) { offset = 0; } + return new Vector2(array[offset], array[offset + 1]); + }; + Vector2.FromArrayToRef = function (array, offset, result) { + result.x = array[offset]; + result.y = array[offset + 1]; + }; + Vector2.CatmullRom = function (value1, value2, value3, value4, amount) { + var squared = amount * amount; + var cubed = amount * squared; + var x = 0.5 * ((((2.0 * value2.x) + ((-value1.x + value3.x) * amount)) + + (((((2.0 * value1.x) - (5.0 * value2.x)) + (4.0 * value3.x)) - value4.x) * squared)) + + ((((-value1.x + (3.0 * value2.x)) - (3.0 * value3.x)) + value4.x) * cubed)); + var y = 0.5 * ((((2.0 * value2.y) + ((-value1.y + value3.y) * amount)) + + (((((2.0 * value1.y) - (5.0 * value2.y)) + (4.0 * value3.y)) - value4.y) * squared)) + + ((((-value1.y + (3.0 * value2.y)) - (3.0 * value3.y)) + value4.y) * cubed)); + return new Vector2(x, y); + }; + Vector2.Clamp = function (value, min, max) { + var x = value.x; + x = (x > max.x) ? max.x : x; + x = (x < min.x) ? min.x : x; + var y = value.y; + y = (y > max.y) ? max.y : y; + y = (y < min.y) ? min.y : y; + return new Vector2(x, y); + }; + Vector2.Hermite = function (value1, tangent1, value2, tangent2, amount) { + var squared = amount * amount; + var cubed = amount * squared; + var part1 = ((2.0 * cubed) - (3.0 * squared)) + 1.0; + var part2 = (-2.0 * cubed) + (3.0 * squared); + var part3 = (cubed - (2.0 * squared)) + amount; + var part4 = cubed - squared; + var x = (((value1.x * part1) + (value2.x * part2)) + (tangent1.x * part3)) + (tangent2.x * part4); + var y = (((value1.y * part1) + (value2.y * part2)) + (tangent1.y * part3)) + (tangent2.y * part4); + return new Vector2(x, y); + }; + Vector2.Lerp = function (start, end, amount) { + var x = start.x + ((end.x - start.x) * amount); + var y = start.y + ((end.y - start.y) * amount); + return new Vector2(x, y); + }; + Vector2.Dot = function (left, right) { + return left.x * right.x + left.y * right.y; + }; + Vector2.Normalize = function (vector) { + var newVector = vector.clone(); + newVector.normalize(); + return newVector; + }; + Vector2.Minimize = function (left, right) { + var x = (left.x < right.x) ? left.x : right.x; + var y = (left.y < right.y) ? left.y : right.y; + return new Vector2(x, y); + }; + Vector2.Maximize = function (left, right) { + var x = (left.x > right.x) ? left.x : right.x; + var y = (left.y > right.y) ? left.y : right.y; + return new Vector2(x, y); + }; + Vector2.Transform = function (vector, transformation) { + var r = Vector2.Zero(); + Vector2.TransformToRef(vector, transformation, r); + return r; + }; + Vector2.TransformToRef = function (vector, transformation, result) { + var x = (vector.x * transformation.m[0]) + (vector.y * transformation.m[4]) + transformation.m[12]; + var y = (vector.x * transformation.m[1]) + (vector.y * transformation.m[5]) + transformation.m[13]; + result.x = x; + result.y = y; + }; + Vector2.PointInTriangle = function (p, p0, p1, p2) { + var a = 1 / 2 * (-p1.y * p2.x + p0.y * (-p1.x + p2.x) + p0.x * (p1.y - p2.y) + p1.x * p2.y); + var sign = a < 0 ? -1 : 1; + var s = (p0.y * p2.x - p0.x * p2.y + (p2.y - p0.y) * p.x + (p0.x - p2.x) * p.y) * sign; + var t = (p0.x * p1.y - p0.y * p1.x + (p0.y - p1.y) * p.x + (p1.x - p0.x) * p.y) * sign; + return s > 0 && t > 0 && (s + t) < 2 * a * sign; + }; + Vector2.Distance = function (value1, value2) { + return Math.sqrt(Vector2.DistanceSquared(value1, value2)); + }; + Vector2.DistanceSquared = function (value1, value2) { + var x = value1.x - value2.x; + var y = value1.y - value2.y; + return (x * x) + (y * y); + }; + Vector2.Center = function (value1, value2) { + var center = value1.add(value2); + center.scaleInPlace(0.5); + return center; + }; + Vector2.DistanceOfPointFromSegment = function (p, segA, segB) { + var l2 = Vector2.DistanceSquared(segA, segB); + if (l2 === 0.0) { + return Vector2.Distance(p, segA); + } + var v = segB.subtract(segA); + var t = Math.max(0, Math.min(1, Vector2.Dot(p.subtract(segA), v) / l2)); + var proj = segA.add(v.multiplyByFloats(t, t)); + return Vector2.Distance(p, proj); + }; + return Vector2; + }()); + BABYLON.Vector2 = Vector2; + var Vector3 = (function () { + function Vector3(x, y, z) { + this.x = x; + this.y = y; + this.z = z; + } + Vector3.prototype.toString = function () { + return "{X: " + this.x + " Y:" + this.y + " Z:" + this.z + "}"; + }; + Vector3.prototype.getClassName = function () { + return "Vector3"; + }; + Vector3.prototype.getHashCode = function () { + var hash = this.x || 0; + hash = (hash * 397) ^ (this.y || 0); + hash = (hash * 397) ^ (this.z || 0); + return hash; + }; + // Operators + Vector3.prototype.asArray = function () { + var result = []; + this.toArray(result, 0); + return result; + }; + Vector3.prototype.toArray = function (array, index) { + if (index === void 0) { index = 0; } + array[index] = this.x; + array[index + 1] = this.y; + array[index + 2] = this.z; + return this; + }; + Vector3.prototype.toQuaternion = function () { + var result = new Quaternion(0, 0, 0, 1); + var cosxPlusz = Math.cos((this.x + this.z) * 0.5); + var sinxPlusz = Math.sin((this.x + this.z) * 0.5); + var coszMinusx = Math.cos((this.z - this.x) * 0.5); + var sinzMinusx = Math.sin((this.z - this.x) * 0.5); + var cosy = Math.cos(this.y * 0.5); + var siny = Math.sin(this.y * 0.5); + result.x = coszMinusx * siny; + result.y = -sinzMinusx * siny; + result.z = sinxPlusz * cosy; + result.w = cosxPlusz * cosy; + return result; + }; + Vector3.prototype.addInPlace = function (otherVector) { + this.x += otherVector.x; + this.y += otherVector.y; + this.z += otherVector.z; + return this; + }; + Vector3.prototype.add = function (otherVector) { + return new Vector3(this.x + otherVector.x, this.y + otherVector.y, this.z + otherVector.z); + }; + Vector3.prototype.addToRef = function (otherVector, result) { + result.x = this.x + otherVector.x; + result.y = this.y + otherVector.y; + result.z = this.z + otherVector.z; + return this; + }; + Vector3.prototype.subtractInPlace = function (otherVector) { + this.x -= otherVector.x; + this.y -= otherVector.y; + this.z -= otherVector.z; + return this; + }; + Vector3.prototype.subtract = function (otherVector) { + return new Vector3(this.x - otherVector.x, this.y - otherVector.y, this.z - otherVector.z); + }; + Vector3.prototype.subtractToRef = function (otherVector, result) { + result.x = this.x - otherVector.x; + result.y = this.y - otherVector.y; + result.z = this.z - otherVector.z; + return this; + }; + Vector3.prototype.subtractFromFloats = function (x, y, z) { + return new Vector3(this.x - x, this.y - y, this.z - z); + }; + Vector3.prototype.subtractFromFloatsToRef = function (x, y, z, result) { + result.x = this.x - x; + result.y = this.y - y; + result.z = this.z - z; + return this; + }; + Vector3.prototype.negate = function () { + return new Vector3(-this.x, -this.y, -this.z); + }; + Vector3.prototype.scaleInPlace = function (scale) { + this.x *= scale; + this.y *= scale; + this.z *= scale; + return this; + }; + Vector3.prototype.scale = function (scale) { + return new Vector3(this.x * scale, this.y * scale, this.z * scale); + }; + Vector3.prototype.scaleToRef = function (scale, result) { + result.x = this.x * scale; + result.y = this.y * scale; + result.z = this.z * scale; + }; + Vector3.prototype.equals = function (otherVector) { + return otherVector && this.x === otherVector.x && this.y === otherVector.y && this.z === otherVector.z; + }; + Vector3.prototype.equalsWithEpsilon = function (otherVector, epsilon) { + if (epsilon === void 0) { epsilon = BABYLON.Epsilon; } + return otherVector && MathTools.WithinEpsilon(this.x, otherVector.x, epsilon) && MathTools.WithinEpsilon(this.y, otherVector.y, epsilon) && MathTools.WithinEpsilon(this.z, otherVector.z, epsilon); + }; + Vector3.prototype.equalsToFloats = function (x, y, z) { + return this.x === x && this.y === y && this.z === z; + }; + Vector3.prototype.multiplyInPlace = function (otherVector) { + this.x *= otherVector.x; + this.y *= otherVector.y; + this.z *= otherVector.z; + return this; + }; + Vector3.prototype.multiply = function (otherVector) { + return new Vector3(this.x * otherVector.x, this.y * otherVector.y, this.z * otherVector.z); + }; + Vector3.prototype.multiplyToRef = function (otherVector, result) { + result.x = this.x * otherVector.x; + result.y = this.y * otherVector.y; + result.z = this.z * otherVector.z; + return this; + }; + Vector3.prototype.multiplyByFloats = function (x, y, z) { + return new Vector3(this.x * x, this.y * y, this.z * z); + }; + Vector3.prototype.divide = function (otherVector) { + return new Vector3(this.x / otherVector.x, this.y / otherVector.y, this.z / otherVector.z); + }; + Vector3.prototype.divideToRef = function (otherVector, result) { + result.x = this.x / otherVector.x; + result.y = this.y / otherVector.y; + result.z = this.z / otherVector.z; + return this; + }; + Vector3.prototype.MinimizeInPlace = function (other) { + if (other.x < this.x) + this.x = other.x; + if (other.y < this.y) + this.y = other.y; + if (other.z < this.z) + this.z = other.z; + return this; + }; + Vector3.prototype.MaximizeInPlace = function (other) { + if (other.x > this.x) + this.x = other.x; + if (other.y > this.y) + this.y = other.y; + if (other.z > this.z) + this.z = other.z; + return this; + }; + // Properties + Vector3.prototype.length = function () { + return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z); + }; + Vector3.prototype.lengthSquared = function () { + return (this.x * this.x + this.y * this.y + this.z * this.z); + }; + // Methods + Vector3.prototype.normalize = function () { + var len = this.length(); + if (len === 0 || len === 1.0) + return this; + var num = 1.0 / len; + this.x *= num; + this.y *= num; + this.z *= num; + return this; + }; + Vector3.prototype.clone = function () { + return new Vector3(this.x, this.y, this.z); + }; + Vector3.prototype.copyFrom = function (source) { + this.x = source.x; + this.y = source.y; + this.z = source.z; + return this; + }; + Vector3.prototype.copyFromFloats = function (x, y, z) { + this.x = x; + this.y = y; + this.z = z; + return this; + }; + // Statics + Vector3.GetClipFactor = function (vector0, vector1, axis, size) { + var d0 = Vector3.Dot(vector0, axis) - size; + var d1 = Vector3.Dot(vector1, axis) - size; + var s = d0 / (d0 - d1); + return s; + }; + Vector3.FromArray = function (array, offset) { + if (!offset) { + offset = 0; + } + return new Vector3(array[offset], array[offset + 1], array[offset + 2]); + }; + Vector3.FromFloatArray = function (array, offset) { + if (!offset) { + offset = 0; + } + return new Vector3(array[offset], array[offset + 1], array[offset + 2]); + }; + Vector3.FromArrayToRef = function (array, offset, result) { + result.x = array[offset]; + result.y = array[offset + 1]; + result.z = array[offset + 2]; + }; + Vector3.FromFloatArrayToRef = function (array, offset, result) { + result.x = array[offset]; + result.y = array[offset + 1]; + result.z = array[offset + 2]; + }; + Vector3.FromFloatsToRef = function (x, y, z, result) { + result.x = x; + result.y = y; + result.z = z; + }; + Vector3.Zero = function () { + return new Vector3(0, 0, 0); + }; + Vector3.Up = function () { + return new Vector3(0, 1.0, 0); + }; + Vector3.Forward = function () { + return new Vector3(0, 0, 1.0); + }; + Vector3.Right = function () { + return new Vector3(1.0, 0, 0); + }; + Vector3.Left = function () { + return new Vector3(-1.0, 0, 0); + }; + Vector3.TransformCoordinates = function (vector, transformation) { + var result = Vector3.Zero(); + Vector3.TransformCoordinatesToRef(vector, transformation, result); + return result; + }; + Vector3.TransformCoordinatesToRef = function (vector, transformation, result) { + var x = (vector.x * transformation.m[0]) + (vector.y * transformation.m[4]) + (vector.z * transformation.m[8]) + transformation.m[12]; + var y = (vector.x * transformation.m[1]) + (vector.y * transformation.m[5]) + (vector.z * transformation.m[9]) + transformation.m[13]; + var z = (vector.x * transformation.m[2]) + (vector.y * transformation.m[6]) + (vector.z * transformation.m[10]) + transformation.m[14]; + var w = (vector.x * transformation.m[3]) + (vector.y * transformation.m[7]) + (vector.z * transformation.m[11]) + transformation.m[15]; + result.x = x / w; + result.y = y / w; + result.z = z / w; + }; + Vector3.TransformCoordinatesFromFloatsToRef = function (x, y, z, transformation, result) { + var rx = (x * transformation.m[0]) + (y * transformation.m[4]) + (z * transformation.m[8]) + transformation.m[12]; + var ry = (x * transformation.m[1]) + (y * transformation.m[5]) + (z * transformation.m[9]) + transformation.m[13]; + var rz = (x * transformation.m[2]) + (y * transformation.m[6]) + (z * transformation.m[10]) + transformation.m[14]; + var rw = (x * transformation.m[3]) + (y * transformation.m[7]) + (z * transformation.m[11]) + transformation.m[15]; + result.x = rx / rw; + result.y = ry / rw; + result.z = rz / rw; + }; + Vector3.TransformNormal = function (vector, transformation) { + var result = Vector3.Zero(); + Vector3.TransformNormalToRef(vector, transformation, result); + return result; + }; + Vector3.TransformNormalToRef = function (vector, transformation, result) { + var x = (vector.x * transformation.m[0]) + (vector.y * transformation.m[4]) + (vector.z * transformation.m[8]); + var y = (vector.x * transformation.m[1]) + (vector.y * transformation.m[5]) + (vector.z * transformation.m[9]); + var z = (vector.x * transformation.m[2]) + (vector.y * transformation.m[6]) + (vector.z * transformation.m[10]); + result.x = x; + result.y = y; + result.z = z; + }; + Vector3.TransformNormalFromFloatsToRef = function (x, y, z, transformation, result) { + result.x = (x * transformation.m[0]) + (y * transformation.m[4]) + (z * transformation.m[8]); + result.y = (x * transformation.m[1]) + (y * transformation.m[5]) + (z * transformation.m[9]); + result.z = (x * transformation.m[2]) + (y * transformation.m[6]) + (z * transformation.m[10]); + }; + Vector3.CatmullRom = function (value1, value2, value3, value4, amount) { + var squared = amount * amount; + var cubed = amount * squared; + var x = 0.5 * ((((2.0 * value2.x) + ((-value1.x + value3.x) * amount)) + + (((((2.0 * value1.x) - (5.0 * value2.x)) + (4.0 * value3.x)) - value4.x) * squared)) + + ((((-value1.x + (3.0 * value2.x)) - (3.0 * value3.x)) + value4.x) * cubed)); + var y = 0.5 * ((((2.0 * value2.y) + ((-value1.y + value3.y) * amount)) + + (((((2.0 * value1.y) - (5.0 * value2.y)) + (4.0 * value3.y)) - value4.y) * squared)) + + ((((-value1.y + (3.0 * value2.y)) - (3.0 * value3.y)) + value4.y) * cubed)); + var z = 0.5 * ((((2.0 * value2.z) + ((-value1.z + value3.z) * amount)) + + (((((2.0 * value1.z) - (5.0 * value2.z)) + (4.0 * value3.z)) - value4.z) * squared)) + + ((((-value1.z + (3.0 * value2.z)) - (3.0 * value3.z)) + value4.z) * cubed)); + return new Vector3(x, y, z); + }; + Vector3.Clamp = function (value, min, max) { + var x = value.x; + x = (x > max.x) ? max.x : x; + x = (x < min.x) ? min.x : x; + var y = value.y; + y = (y > max.y) ? max.y : y; + y = (y < min.y) ? min.y : y; + var z = value.z; + z = (z > max.z) ? max.z : z; + z = (z < min.z) ? min.z : z; + return new Vector3(x, y, z); + }; + Vector3.Hermite = function (value1, tangent1, value2, tangent2, amount) { + var squared = amount * amount; + var cubed = amount * squared; + var part1 = ((2.0 * cubed) - (3.0 * squared)) + 1.0; + var part2 = (-2.0 * cubed) + (3.0 * squared); + var part3 = (cubed - (2.0 * squared)) + amount; + var part4 = cubed - squared; + var x = (((value1.x * part1) + (value2.x * part2)) + (tangent1.x * part3)) + (tangent2.x * part4); + var y = (((value1.y * part1) + (value2.y * part2)) + (tangent1.y * part3)) + (tangent2.y * part4); + var z = (((value1.z * part1) + (value2.z * part2)) + (tangent1.z * part3)) + (tangent2.z * part4); + return new Vector3(x, y, z); + }; + Vector3.Lerp = function (start, end, amount) { + var x = start.x + ((end.x - start.x) * amount); + var y = start.y + ((end.y - start.y) * amount); + var z = start.z + ((end.z - start.z) * amount); + return new Vector3(x, y, z); + }; + Vector3.Dot = function (left, right) { + return (left.x * right.x + left.y * right.y + left.z * right.z); + }; + Vector3.Cross = function (left, right) { + var result = Vector3.Zero(); + Vector3.CrossToRef(left, right, result); + return result; + }; + Vector3.CrossToRef = function (left, right, result) { + Tmp.Vector3[0].x = left.y * right.z - left.z * right.y; + Tmp.Vector3[0].y = left.z * right.x - left.x * right.z; + Tmp.Vector3[0].z = left.x * right.y - left.y * right.x; + result.copyFrom(Tmp.Vector3[0]); + }; + Vector3.Normalize = function (vector) { + var result = Vector3.Zero(); + Vector3.NormalizeToRef(vector, result); + return result; + }; + Vector3.NormalizeToRef = function (vector, result) { + result.copyFrom(vector); + result.normalize(); + }; + Vector3.Project = function (vector, world, transform, viewport) { + var cw = viewport.width; + var ch = viewport.height; + var cx = viewport.x; + var cy = viewport.y; + var viewportMatrix = Vector3._viewportMatrixCache ? Vector3._viewportMatrixCache : (Vector3._viewportMatrixCache = new Matrix()); + Matrix.FromValuesToRef(cw / 2.0, 0, 0, 0, 0, -ch / 2.0, 0, 0, 0, 0, 1, 0, cx + cw / 2.0, ch / 2.0 + cy, 0, 1, viewportMatrix); + var matrix = Vector3._matrixCache ? Vector3._matrixCache : (Vector3._matrixCache = new Matrix()); + world.multiplyToRef(transform, matrix); + matrix.multiplyToRef(viewportMatrix, matrix); + return Vector3.TransformCoordinates(vector, matrix); + }; + Vector3.UnprojectFromTransform = function (source, viewportWidth, viewportHeight, world, transform) { + var matrix = Vector3._matrixCache ? Vector3._matrixCache : (Vector3._matrixCache = new Matrix()); + world.multiplyToRef(transform, matrix); + matrix.invert(); + source.x = source.x / viewportWidth * 2 - 1; + source.y = -(source.y / viewportHeight * 2 - 1); + var vector = Vector3.TransformCoordinates(source, matrix); + var num = source.x * matrix.m[3] + source.y * matrix.m[7] + source.z * matrix.m[11] + matrix.m[15]; + if (MathTools.WithinEpsilon(num, 1.0)) { + vector = vector.scale(1.0 / num); + } + return vector; + }; + Vector3.Unproject = function (source, viewportWidth, viewportHeight, world, view, projection) { + var matrix = Vector3._matrixCache ? Vector3._matrixCache : (Vector3._matrixCache = new Matrix()); + world.multiplyToRef(view, matrix); + matrix.multiplyToRef(projection, matrix); + matrix.invert(); + var screenSource = new Vector3(source.x / viewportWidth * 2 - 1, -(source.y / viewportHeight * 2 - 1), source.z); + var vector = Vector3.TransformCoordinates(screenSource, matrix); + var num = screenSource.x * matrix.m[3] + screenSource.y * matrix.m[7] + screenSource.z * matrix.m[11] + matrix.m[15]; + if (MathTools.WithinEpsilon(num, 1.0)) { + vector = vector.scale(1.0 / num); + } + return vector; + }; + Vector3.Minimize = function (left, right) { + var min = left.clone(); + min.MinimizeInPlace(right); + return min; + }; + Vector3.Maximize = function (left, right) { + var max = left.clone(); + max.MaximizeInPlace(right); + return max; + }; + Vector3.Distance = function (value1, value2) { + return Math.sqrt(Vector3.DistanceSquared(value1, value2)); + }; + Vector3.DistanceSquared = function (value1, value2) { + var x = value1.x - value2.x; + var y = value1.y - value2.y; + var z = value1.z - value2.z; + return (x * x) + (y * y) + (z * z); + }; + Vector3.Center = function (value1, value2) { + var center = value1.add(value2); + center.scaleInPlace(0.5); + return center; + }; + /** + * Given three orthogonal normalized left-handed oriented Vector3 axis in space (target system), + * RotationFromAxis() returns the rotation Euler angles (ex : rotation.x, rotation.y, rotation.z) to apply + * to something in order to rotate it from its local system to the given target system. + */ + Vector3.RotationFromAxis = function (axis1, axis2, axis3) { + var rotation = Vector3.Zero(); + Vector3.RotationFromAxisToRef(axis1, axis2, axis3, rotation); + return rotation; + }; + /** + * The same than RotationFromAxis but updates the passed ref Vector3 parameter. + */ + Vector3.RotationFromAxisToRef = function (axis1, axis2, axis3, ref) { + var u = axis1.normalize(); + var w = axis3.normalize(); + // world axis + var X = Axis.X; + var Y = Axis.Y; + // equation unknowns and vars + var yaw = 0.0; + var pitch = 0.0; + var roll = 0.0; + var x = 0.0; + var y = 0.0; + var z = 0.0; + var t = 0.0; + var sign = -1.0; + var nbRevert = 0; + var cross = Tmp.Vector3[0]; + var dot = 0.0; + // step 1 : rotation around w + // Rv3(u) = u1, and u1 belongs to plane xOz + // Rv3(w) = w1 = w invariant + var u1 = Tmp.Vector3[1]; + if (MathTools.WithinEpsilon(w.z, 0, BABYLON.Epsilon)) { + z = 1.0; + } + else if (MathTools.WithinEpsilon(w.x, 0, BABYLON.Epsilon)) { + x = 1.0; + } + else { + t = w.z / w.x; + x = -t * Math.sqrt(1 / (1 + t * t)); + z = Math.sqrt(1 / (1 + t * t)); + } + u1.x = x; + u1.y = y; + u1.z = z; + u1.normalize(); + Vector3.CrossToRef(u, u1, cross); // returns same direction as w (=local z) if positive angle : cross(source, image) + cross.normalize(); + if (Vector3.Dot(w, cross) < 0) { + sign = 1.0; + } + dot = Vector3.Dot(u, u1); + dot = (Math.min(1.0, Math.max(-1.0, dot))); // to force dot to be in the range [-1, 1] + roll = Math.acos(dot) * sign; + if (Vector3.Dot(u1, X) < 0) { + roll = Math.PI + roll; + u1 = u1.scaleInPlace(-1); + nbRevert++; + } + // step 2 : rotate around u1 + // Ru1(w1) = Ru1(w) = w2, and w2 belongs to plane xOz + // u1 is yet in xOz and invariant by Ru1, so after this step u1 and w2 will be in xOz + var w2 = Tmp.Vector3[2]; + var v2 = Tmp.Vector3[3]; + x = 0.0; + y = 0.0; + z = 0.0; + sign = -1.0; + if (MathTools.WithinEpsilon(w.z, 0, BABYLON.Epsilon)) { + x = 1.0; + } + else { + t = u1.z / u1.x; + x = -t * Math.sqrt(1 / (1 + t * t)); + z = Math.sqrt(1 / (1 + t * t)); + } + w2.x = x; + w2.y = y; + w2.z = z; + w2.normalize(); + Vector3.CrossToRef(w2, u1, v2); // v2 image of v1 through rotation around u1 + v2.normalize(); + Vector3.CrossToRef(w, w2, cross); // returns same direction as u1 (=local x) if positive angle : cross(source, image) + cross.normalize(); + if (Vector3.Dot(u1, cross) < 0) { + sign = 1.0; + } + dot = Vector3.Dot(w, w2); + dot = (Math.min(1.0, Math.max(-1.0, dot))); // to force dot to be in the range [-1, 1] + pitch = Math.acos(dot) * sign; + if (Vector3.Dot(v2, Y) < 0) { + pitch = Math.PI + pitch; + nbRevert++; + } + // step 3 : rotate around v2 + // Rv2(u1) = X, same as Rv2(w2) = Z, with X=(1,0,0) and Z=(0,0,1) + sign = -1.0; + Vector3.CrossToRef(X, u1, cross); // returns same direction as Y if positive angle : cross(source, image) + cross.normalize(); + if (Vector3.Dot(cross, Y) < 0) { + sign = 1.0; + } + dot = Vector3.Dot(u1, X); + dot = (Math.min(1.0, Math.max(-1.0, dot))); // to force dot to be in the range [-1, 1] + yaw = -Math.acos(dot) * sign; // negative : plane zOx oriented clockwise + if (dot < 0 && nbRevert < 2) { + yaw = Math.PI + yaw; + } + ref.x = pitch; + ref.y = yaw; + ref.z = roll; + }; + return Vector3; + }()); + BABYLON.Vector3 = Vector3; + //Vector4 class created for EulerAngle class conversion to Quaternion + var Vector4 = (function () { + function Vector4(x, y, z, w) { + this.x = x; + this.y = y; + this.z = z; + this.w = w; + } + Vector4.prototype.toString = function () { + return "{X: " + this.x + " Y:" + this.y + " Z:" + this.z + " W:" + this.w + "}"; + }; + Vector4.prototype.getClassName = function () { + return "Vector4"; + }; + Vector4.prototype.getHashCode = function () { + var hash = this.x || 0; + hash = (hash * 397) ^ (this.y || 0); + hash = (hash * 397) ^ (this.z || 0); + hash = (hash * 397) ^ (this.w || 0); + return hash; + }; + // Operators + Vector4.prototype.asArray = function () { + var result = []; + this.toArray(result, 0); + return result; + }; + Vector4.prototype.toArray = function (array, index) { + if (index === undefined) { + index = 0; + } + array[index] = this.x; + array[index + 1] = this.y; + array[index + 2] = this.z; + array[index + 3] = this.w; + return this; + }; + Vector4.prototype.addInPlace = function (otherVector) { + this.x += otherVector.x; + this.y += otherVector.y; + this.z += otherVector.z; + this.w += otherVector.w; + return this; + }; + Vector4.prototype.add = function (otherVector) { + return new Vector4(this.x + otherVector.x, this.y + otherVector.y, this.z + otherVector.z, this.w + otherVector.w); + }; + Vector4.prototype.addToRef = function (otherVector, result) { + result.x = this.x + otherVector.x; + result.y = this.y + otherVector.y; + result.z = this.z + otherVector.z; + result.w = this.w + otherVector.w; + return this; + }; + Vector4.prototype.subtractInPlace = function (otherVector) { + this.x -= otherVector.x; + this.y -= otherVector.y; + this.z -= otherVector.z; + this.w -= otherVector.w; + return this; + }; + Vector4.prototype.subtract = function (otherVector) { + return new Vector4(this.x - otherVector.x, this.y - otherVector.y, this.z - otherVector.z, this.w - otherVector.w); + }; + Vector4.prototype.subtractToRef = function (otherVector, result) { + result.x = this.x - otherVector.x; + result.y = this.y - otherVector.y; + result.z = this.z - otherVector.z; + result.w = this.w - otherVector.w; + return this; + }; + Vector4.prototype.subtractFromFloats = function (x, y, z, w) { + return new Vector4(this.x - x, this.y - y, this.z - z, this.w - w); + }; + Vector4.prototype.subtractFromFloatsToRef = function (x, y, z, w, result) { + result.x = this.x - x; + result.y = this.y - y; + result.z = this.z - z; + result.w = this.w - w; + return this; + }; + Vector4.prototype.negate = function () { + return new Vector4(-this.x, -this.y, -this.z, -this.w); + }; + Vector4.prototype.scaleInPlace = function (scale) { + this.x *= scale; + this.y *= scale; + this.z *= scale; + this.w *= scale; + return this; + }; + Vector4.prototype.scale = function (scale) { + return new Vector4(this.x * scale, this.y * scale, this.z * scale, this.w * scale); + }; + Vector4.prototype.scaleToRef = function (scale, result) { + result.x = this.x * scale; + result.y = this.y * scale; + result.z = this.z * scale; + result.w = this.w * scale; + }; + Vector4.prototype.equals = function (otherVector) { + return otherVector && this.x === otherVector.x && this.y === otherVector.y && this.z === otherVector.z && this.w === otherVector.w; + }; + Vector4.prototype.equalsWithEpsilon = function (otherVector, epsilon) { + if (epsilon === void 0) { epsilon = BABYLON.Epsilon; } + return otherVector + && MathTools.WithinEpsilon(this.x, otherVector.x, epsilon) + && MathTools.WithinEpsilon(this.y, otherVector.y, epsilon) + && MathTools.WithinEpsilon(this.z, otherVector.z, epsilon) + && MathTools.WithinEpsilon(this.w, otherVector.w, epsilon); + }; + Vector4.prototype.equalsToFloats = function (x, y, z, w) { + return this.x === x && this.y === y && this.z === z && this.w === w; + }; + Vector4.prototype.multiplyInPlace = function (otherVector) { + this.x *= otherVector.x; + this.y *= otherVector.y; + this.z *= otherVector.z; + this.w *= otherVector.w; + return this; + }; + Vector4.prototype.multiply = function (otherVector) { + return new Vector4(this.x * otherVector.x, this.y * otherVector.y, this.z * otherVector.z, this.w * otherVector.w); + }; + Vector4.prototype.multiplyToRef = function (otherVector, result) { + result.x = this.x * otherVector.x; + result.y = this.y * otherVector.y; + result.z = this.z * otherVector.z; + result.w = this.w * otherVector.w; + return this; + }; + Vector4.prototype.multiplyByFloats = function (x, y, z, w) { + return new Vector4(this.x * x, this.y * y, this.z * z, this.w * w); + }; + Vector4.prototype.divide = function (otherVector) { + return new Vector4(this.x / otherVector.x, this.y / otherVector.y, this.z / otherVector.z, this.w / otherVector.w); + }; + Vector4.prototype.divideToRef = function (otherVector, result) { + result.x = this.x / otherVector.x; + result.y = this.y / otherVector.y; + result.z = this.z / otherVector.z; + result.w = this.w / otherVector.w; + return this; + }; + Vector4.prototype.MinimizeInPlace = function (other) { + if (other.x < this.x) + this.x = other.x; + if (other.y < this.y) + this.y = other.y; + if (other.z < this.z) + this.z = other.z; + if (other.w < this.w) + this.w = other.w; + return this; + }; + Vector4.prototype.MaximizeInPlace = function (other) { + if (other.x > this.x) + this.x = other.x; + if (other.y > this.y) + this.y = other.y; + if (other.z > this.z) + this.z = other.z; + if (other.w > this.w) + this.w = other.w; + return this; + }; + // Properties + Vector4.prototype.length = function () { + return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w); + }; + Vector4.prototype.lengthSquared = function () { + return (this.x * this.x + this.y * this.y + this.z * this.z + this.w * this.w); + }; + // Methods + Vector4.prototype.normalize = function () { + var len = this.length(); + if (len === 0) + return this; + var num = 1.0 / len; + this.x *= num; + this.y *= num; + this.z *= num; + this.w *= num; + return this; + }; + Vector4.prototype.toVector3 = function () { + return new Vector3(this.x, this.y, this.z); + }; + Vector4.prototype.clone = function () { + return new Vector4(this.x, this.y, this.z, this.w); + }; + Vector4.prototype.copyFrom = function (source) { + this.x = source.x; + this.y = source.y; + this.z = source.z; + this.w = source.w; + return this; + }; + Vector4.prototype.copyFromFloats = function (x, y, z, w) { + this.x = x; + this.y = y; + this.z = z; + this.w = w; + return this; + }; + // Statics + Vector4.FromArray = function (array, offset) { + if (!offset) { + offset = 0; + } + return new Vector4(array[offset], array[offset + 1], array[offset + 2], array[offset + 3]); + }; + Vector4.FromArrayToRef = function (array, offset, result) { + result.x = array[offset]; + result.y = array[offset + 1]; + result.z = array[offset + 2]; + result.w = array[offset + 3]; + }; + Vector4.FromFloatArrayToRef = function (array, offset, result) { + result.x = array[offset]; + result.y = array[offset + 1]; + result.z = array[offset + 2]; + result.w = array[offset + 3]; + }; + Vector4.FromFloatsToRef = function (x, y, z, w, result) { + result.x = x; + result.y = y; + result.z = z; + result.w = w; + }; + Vector4.Zero = function () { + return new Vector4(0, 0, 0, 0); + }; + Vector4.Normalize = function (vector) { + var result = Vector4.Zero(); + Vector4.NormalizeToRef(vector, result); + return result; + }; + Vector4.NormalizeToRef = function (vector, result) { + result.copyFrom(vector); + result.normalize(); + }; + Vector4.Minimize = function (left, right) { + var min = left.clone(); + min.MinimizeInPlace(right); + return min; + }; + Vector4.Maximize = function (left, right) { + var max = left.clone(); + max.MaximizeInPlace(right); + return max; + }; + Vector4.Distance = function (value1, value2) { + return Math.sqrt(Vector4.DistanceSquared(value1, value2)); + }; + Vector4.DistanceSquared = function (value1, value2) { + var x = value1.x - value2.x; + var y = value1.y - value2.y; + var z = value1.z - value2.z; + var w = value1.w - value2.w; + return (x * x) + (y * y) + (z * z) + (w * w); + }; + Vector4.Center = function (value1, value2) { + var center = value1.add(value2); + center.scaleInPlace(0.5); + return center; + }; + return Vector4; + }()); + BABYLON.Vector4 = Vector4; + var Size = (function () { + function Size(width, height) { + this.width = width; + this.height = height; + } + Size.prototype.toString = function () { + return "{W: " + this.width + ", H: " + this.height + "}"; + }; + Size.prototype.getClassName = function () { + return "Size"; + }; + Size.prototype.getHashCode = function () { + var hash = this.width || 0; + hash = (hash * 397) ^ (this.height || 0); + return hash; + }; + Size.prototype.copyFrom = function (src) { + this.width = src.width; + this.height = src.height; + }; + Size.prototype.copyFromFloats = function (width, height) { + this.width = width; + this.height = height; + }; + Size.prototype.multiplyByFloats = function (w, h) { + return new Size(this.width * w, this.height * h); + }; + Size.prototype.clone = function () { + return new Size(this.width, this.height); + }; + Size.prototype.equals = function (other) { + if (!other) { + return false; + } + return (this.width === other.width) && (this.height === other.height); + }; + Object.defineProperty(Size.prototype, "surface", { + get: function () { + return this.width * this.height; + }, + enumerable: true, + configurable: true + }); + Size.Zero = function () { + return new Size(0, 0); + }; + Size.prototype.add = function (otherSize) { + var r = new Size(this.width + otherSize.width, this.height + otherSize.height); + return r; + }; + Size.prototype.substract = function (otherSize) { + var r = new Size(this.width - otherSize.width, this.height - otherSize.height); + return r; + }; + Size.Lerp = function (start, end, amount) { + var w = start.width + ((end.width - start.width) * amount); + var h = start.height + ((end.height - start.height) * amount); + return new Size(w, h); + }; + return Size; + }()); + BABYLON.Size = Size; + var Quaternion = (function () { + function Quaternion(x, y, z, w) { + if (x === void 0) { x = 0; } + if (y === void 0) { y = 0; } + if (z === void 0) { z = 0; } + if (w === void 0) { w = 1; } + this.x = x; + this.y = y; + this.z = z; + this.w = w; + } + Quaternion.prototype.toString = function () { + return "{X: " + this.x + " Y:" + this.y + " Z:" + this.z + " W:" + this.w + "}"; + }; + Quaternion.prototype.getClassName = function () { + return "Quaternion"; + }; + Quaternion.prototype.getHashCode = function () { + var hash = this.x || 0; + hash = (hash * 397) ^ (this.y || 0); + hash = (hash * 397) ^ (this.z || 0); + hash = (hash * 397) ^ (this.w || 0); + return hash; + }; + Quaternion.prototype.asArray = function () { + return [this.x, this.y, this.z, this.w]; + }; + Quaternion.prototype.equals = function (otherQuaternion) { + return otherQuaternion && this.x === otherQuaternion.x && this.y === otherQuaternion.y && this.z === otherQuaternion.z && this.w === otherQuaternion.w; + }; + Quaternion.prototype.clone = function () { + return new Quaternion(this.x, this.y, this.z, this.w); + }; + Quaternion.prototype.copyFrom = function (other) { + this.x = other.x; + this.y = other.y; + this.z = other.z; + this.w = other.w; + return this; + }; + Quaternion.prototype.copyFromFloats = function (x, y, z, w) { + this.x = x; + this.y = y; + this.z = z; + this.w = w; + return this; + }; + Quaternion.prototype.add = function (other) { + return new Quaternion(this.x + other.x, this.y + other.y, this.z + other.z, this.w + other.w); + }; + Quaternion.prototype.subtract = function (other) { + return new Quaternion(this.x - other.x, this.y - other.y, this.z - other.z, this.w - other.w); + }; + Quaternion.prototype.scale = function (value) { + return new Quaternion(this.x * value, this.y * value, this.z * value, this.w * value); + }; + Quaternion.prototype.multiply = function (q1) { + var result = new Quaternion(0, 0, 0, 1.0); + this.multiplyToRef(q1, result); + return result; + }; + Quaternion.prototype.multiplyToRef = function (q1, result) { + var x = this.x * q1.w + this.y * q1.z - this.z * q1.y + this.w * q1.x; + var y = -this.x * q1.z + this.y * q1.w + this.z * q1.x + this.w * q1.y; + var z = this.x * q1.y - this.y * q1.x + this.z * q1.w + this.w * q1.z; + var w = -this.x * q1.x - this.y * q1.y - this.z * q1.z + this.w * q1.w; + result.copyFromFloats(x, y, z, w); + return this; + }; + Quaternion.prototype.multiplyInPlace = function (q1) { + this.multiplyToRef(q1, this); + return this; + }; + Quaternion.prototype.conjugateToRef = function (ref) { + ref.copyFromFloats(-this.x, -this.y, -this.z, this.w); + return this; + }; + Quaternion.prototype.conjugateInPlace = function () { + this.x *= -1; + this.y *= -1; + this.z *= -1; + return this; + }; + Quaternion.prototype.conjugate = function () { + var result = new Quaternion(-this.x, -this.y, -this.z, this.w); + return result; + }; + Quaternion.prototype.length = function () { + return Math.sqrt((this.x * this.x) + (this.y * this.y) + (this.z * this.z) + (this.w * this.w)); + }; + Quaternion.prototype.normalize = function () { + var length = 1.0 / this.length(); + this.x *= length; + this.y *= length; + this.z *= length; + this.w *= length; + return this; + }; + Quaternion.prototype.toEulerAngles = function (order) { + if (order === void 0) { order = "YZX"; } + var result = Vector3.Zero(); + this.toEulerAnglesToRef(result, order); + return result; + }; + Quaternion.prototype.toEulerAnglesToRef = function (result, order) { + if (order === void 0) { order = "YZX"; } + var qz = this.z; + var qx = this.x; + var qy = this.y; + var qw = this.w; + var sqw = qw * qw; + var sqz = qz * qz; + var sqx = qx * qx; + var sqy = qy * qy; + var zAxisY = qy * qz - qx * qw; + var limit = .4999999; + if (zAxisY < -limit) { + result.y = 2 * Math.atan2(qy, qw); + result.x = Math.PI / 2; + result.z = 0; + } + else if (zAxisY > limit) { + result.y = 2 * Math.atan2(qy, qw); + result.x = -Math.PI / 2; + result.z = 0; + } + else { + result.z = Math.atan2(2.0 * (qx * qy + qz * qw), (-sqz - sqx + sqy + sqw)); + result.x = Math.asin(-2.0 * (qz * qy - qx * qw)); + result.y = Math.atan2(2.0 * (qz * qx + qy * qw), (sqz - sqx - sqy + sqw)); + } + return this; + }; + Quaternion.prototype.toRotationMatrix = function (result) { + var xx = this.x * this.x; + var yy = this.y * this.y; + var zz = this.z * this.z; + var xy = this.x * this.y; + var zw = this.z * this.w; + var zx = this.z * this.x; + var yw = this.y * this.w; + var yz = this.y * this.z; + var xw = this.x * this.w; + result.m[0] = 1.0 - (2.0 * (yy + zz)); + result.m[1] = 2.0 * (xy + zw); + result.m[2] = 2.0 * (zx - yw); + result.m[3] = 0; + result.m[4] = 2.0 * (xy - zw); + result.m[5] = 1.0 - (2.0 * (zz + xx)); + result.m[6] = 2.0 * (yz + xw); + result.m[7] = 0; + result.m[8] = 2.0 * (zx + yw); + result.m[9] = 2.0 * (yz - xw); + result.m[10] = 1.0 - (2.0 * (yy + xx)); + result.m[11] = 0; + result.m[12] = 0; + result.m[13] = 0; + result.m[14] = 0; + result.m[15] = 1.0; + return this; + }; + Quaternion.prototype.fromRotationMatrix = function (matrix) { + Quaternion.FromRotationMatrixToRef(matrix, this); + return this; + }; + // Statics + Quaternion.FromRotationMatrix = function (matrix) { + var result = new Quaternion(); + Quaternion.FromRotationMatrixToRef(matrix, result); + return result; + }; + Quaternion.FromRotationMatrixToRef = function (matrix, result) { + var data = matrix.m; + var m11 = data[0], m12 = data[4], m13 = data[8]; + var m21 = data[1], m22 = data[5], m23 = data[9]; + var m31 = data[2], m32 = data[6], m33 = data[10]; + var trace = m11 + m22 + m33; + var s; + if (trace > 0) { + s = 0.5 / Math.sqrt(trace + 1.0); + result.w = 0.25 / s; + result.x = (m32 - m23) * s; + result.y = (m13 - m31) * s; + result.z = (m21 - m12) * s; + } + else if (m11 > m22 && m11 > m33) { + s = 2.0 * Math.sqrt(1.0 + m11 - m22 - m33); + result.w = (m32 - m23) / s; + result.x = 0.25 * s; + result.y = (m12 + m21) / s; + result.z = (m13 + m31) / s; + } + else if (m22 > m33) { + s = 2.0 * Math.sqrt(1.0 + m22 - m11 - m33); + result.w = (m13 - m31) / s; + result.x = (m12 + m21) / s; + result.y = 0.25 * s; + result.z = (m23 + m32) / s; + } + else { + s = 2.0 * Math.sqrt(1.0 + m33 - m11 - m22); + result.w = (m21 - m12) / s; + result.x = (m13 + m31) / s; + result.y = (m23 + m32) / s; + result.z = 0.25 * s; + } + }; + Quaternion.Inverse = function (q) { + return new Quaternion(-q.x, -q.y, -q.z, q.w); + }; + Quaternion.Identity = function () { + return new Quaternion(0, 0, 0, 1); + }; + Quaternion.RotationAxis = function (axis, angle) { + return Quaternion.RotationAxisToRef(axis, angle, new Quaternion()); + }; + Quaternion.RotationAxisToRef = function (axis, angle, result) { + var sin = Math.sin(angle / 2); + axis.normalize(); + result.w = Math.cos(angle / 2); + result.x = axis.x * sin; + result.y = axis.y * sin; + result.z = axis.z * sin; + return result; + }; + Quaternion.FromArray = function (array, offset) { + if (!offset) { + offset = 0; + } + return new Quaternion(array[offset], array[offset + 1], array[offset + 2], array[offset + 3]); + }; + Quaternion.RotationYawPitchRoll = function (yaw, pitch, roll) { + var q = new Quaternion(); + Quaternion.RotationYawPitchRollToRef(yaw, pitch, roll, q); + return q; + }; + Quaternion.RotationYawPitchRollToRef = function (yaw, pitch, roll, result) { + // Produces a quaternion from Euler angles in the z-y-x orientation (Tait-Bryan angles) + var halfRoll = roll * 0.5; + var halfPitch = pitch * 0.5; + var halfYaw = yaw * 0.5; + var sinRoll = Math.sin(halfRoll); + var cosRoll = Math.cos(halfRoll); + var sinPitch = Math.sin(halfPitch); + var cosPitch = Math.cos(halfPitch); + var sinYaw = Math.sin(halfYaw); + var cosYaw = Math.cos(halfYaw); + result.x = (cosYaw * sinPitch * cosRoll) + (sinYaw * cosPitch * sinRoll); + result.y = (sinYaw * cosPitch * cosRoll) - (cosYaw * sinPitch * sinRoll); + result.z = (cosYaw * cosPitch * sinRoll) - (sinYaw * sinPitch * cosRoll); + result.w = (cosYaw * cosPitch * cosRoll) + (sinYaw * sinPitch * sinRoll); + }; + Quaternion.RotationAlphaBetaGamma = function (alpha, beta, gamma) { + var result = new Quaternion(); + Quaternion.RotationAlphaBetaGammaToRef(alpha, beta, gamma, result); + return result; + }; + Quaternion.RotationAlphaBetaGammaToRef = function (alpha, beta, gamma, result) { + // Produces a quaternion from Euler angles in the z-x-z orientation + var halfGammaPlusAlpha = (gamma + alpha) * 0.5; + var halfGammaMinusAlpha = (gamma - alpha) * 0.5; + var halfBeta = beta * 0.5; + result.x = Math.cos(halfGammaMinusAlpha) * Math.sin(halfBeta); + result.y = Math.sin(halfGammaMinusAlpha) * Math.sin(halfBeta); + result.z = Math.sin(halfGammaPlusAlpha) * Math.cos(halfBeta); + result.w = Math.cos(halfGammaPlusAlpha) * Math.cos(halfBeta); + }; + Quaternion.Slerp = function (left, right, amount) { + var result = Quaternion.Identity(); + Quaternion.SlerpToRef(left, right, amount, result); + return result; + }; + Quaternion.SlerpToRef = function (left, right, amount, result) { + var num2; + var num3; + var num = amount; + var num4 = (((left.x * right.x) + (left.y * right.y)) + (left.z * right.z)) + (left.w * right.w); + var flag = false; + if (num4 < 0) { + flag = true; + num4 = -num4; + } + if (num4 > 0.999999) { + num3 = 1 - num; + num2 = flag ? -num : num; + } + else { + var num5 = Math.acos(num4); + var num6 = (1.0 / Math.sin(num5)); + num3 = (Math.sin((1.0 - num) * num5)) * num6; + num2 = flag ? ((-Math.sin(num * num5)) * num6) : ((Math.sin(num * num5)) * num6); + } + result.x = (num3 * left.x) + (num2 * right.x); + result.y = (num3 * left.y) + (num2 * right.y); + result.z = (num3 * left.z) + (num2 * right.z); + result.w = (num3 * left.w) + (num2 * right.w); + }; + return Quaternion; + }()); + BABYLON.Quaternion = Quaternion; + var Matrix = (function () { + function Matrix() { + this.m = new Float32Array(16); + } + // Properties + Matrix.prototype.isIdentity = function () { + if (this.m[0] !== 1.0 || this.m[5] !== 1.0 || this.m[10] !== 1.0 || this.m[15] !== 1.0) + return false; + if (this.m[1] !== 0.0 || this.m[2] !== 0.0 || this.m[3] !== 0.0 || + this.m[4] !== 0.0 || this.m[6] !== 0.0 || this.m[7] !== 0.0 || + this.m[8] !== 0.0 || this.m[9] !== 0.0 || this.m[11] !== 0.0 || + this.m[12] !== 0.0 || this.m[13] !== 0.0 || this.m[14] !== 0.0) + return false; + return true; + }; + Matrix.prototype.determinant = function () { + var temp1 = (this.m[10] * this.m[15]) - (this.m[11] * this.m[14]); + var temp2 = (this.m[9] * this.m[15]) - (this.m[11] * this.m[13]); + var temp3 = (this.m[9] * this.m[14]) - (this.m[10] * this.m[13]); + var temp4 = (this.m[8] * this.m[15]) - (this.m[11] * this.m[12]); + var temp5 = (this.m[8] * this.m[14]) - (this.m[10] * this.m[12]); + var temp6 = (this.m[8] * this.m[13]) - (this.m[9] * this.m[12]); + return ((((this.m[0] * (((this.m[5] * temp1) - (this.m[6] * temp2)) + (this.m[7] * temp3))) - (this.m[1] * (((this.m[4] * temp1) - + (this.m[6] * temp4)) + (this.m[7] * temp5)))) + (this.m[2] * (((this.m[4] * temp2) - (this.m[5] * temp4)) + (this.m[7] * temp6)))) - + (this.m[3] * (((this.m[4] * temp3) - (this.m[5] * temp5)) + (this.m[6] * temp6)))); + }; + // Methods + Matrix.prototype.toArray = function () { + return this.m; + }; + Matrix.prototype.asArray = function () { + return this.toArray(); + }; + Matrix.prototype.invert = function () { + this.invertToRef(this); + return this; + }; + Matrix.prototype.reset = function () { + for (var index = 0; index < 16; index++) { + this.m[index] = 0; + } + return this; + }; + Matrix.prototype.add = function (other) { + var result = new Matrix(); + this.addToRef(other, result); + return result; + }; + Matrix.prototype.addToRef = function (other, result) { + for (var index = 0; index < 16; index++) { + result.m[index] = this.m[index] + other.m[index]; + } + return this; + }; + Matrix.prototype.addToSelf = function (other) { + for (var index = 0; index < 16; index++) { + this.m[index] += other.m[index]; + } + return this; + }; + Matrix.prototype.invertToRef = function (other) { + var l1 = this.m[0]; + var l2 = this.m[1]; + var l3 = this.m[2]; + var l4 = this.m[3]; + var l5 = this.m[4]; + var l6 = this.m[5]; + var l7 = this.m[6]; + var l8 = this.m[7]; + var l9 = this.m[8]; + var l10 = this.m[9]; + var l11 = this.m[10]; + var l12 = this.m[11]; + var l13 = this.m[12]; + var l14 = this.m[13]; + var l15 = this.m[14]; + var l16 = this.m[15]; + var l17 = (l11 * l16) - (l12 * l15); + var l18 = (l10 * l16) - (l12 * l14); + var l19 = (l10 * l15) - (l11 * l14); + var l20 = (l9 * l16) - (l12 * l13); + var l21 = (l9 * l15) - (l11 * l13); + var l22 = (l9 * l14) - (l10 * l13); + var l23 = ((l6 * l17) - (l7 * l18)) + (l8 * l19); + var l24 = -(((l5 * l17) - (l7 * l20)) + (l8 * l21)); + var l25 = ((l5 * l18) - (l6 * l20)) + (l8 * l22); + var l26 = -(((l5 * l19) - (l6 * l21)) + (l7 * l22)); + var l27 = 1.0 / ((((l1 * l23) + (l2 * l24)) + (l3 * l25)) + (l4 * l26)); + var l28 = (l7 * l16) - (l8 * l15); + var l29 = (l6 * l16) - (l8 * l14); + var l30 = (l6 * l15) - (l7 * l14); + var l31 = (l5 * l16) - (l8 * l13); + var l32 = (l5 * l15) - (l7 * l13); + var l33 = (l5 * l14) - (l6 * l13); + var l34 = (l7 * l12) - (l8 * l11); + var l35 = (l6 * l12) - (l8 * l10); + var l36 = (l6 * l11) - (l7 * l10); + var l37 = (l5 * l12) - (l8 * l9); + var l38 = (l5 * l11) - (l7 * l9); + var l39 = (l5 * l10) - (l6 * l9); + other.m[0] = l23 * l27; + other.m[4] = l24 * l27; + other.m[8] = l25 * l27; + other.m[12] = l26 * l27; + other.m[1] = -(((l2 * l17) - (l3 * l18)) + (l4 * l19)) * l27; + other.m[5] = (((l1 * l17) - (l3 * l20)) + (l4 * l21)) * l27; + other.m[9] = -(((l1 * l18) - (l2 * l20)) + (l4 * l22)) * l27; + other.m[13] = (((l1 * l19) - (l2 * l21)) + (l3 * l22)) * l27; + other.m[2] = (((l2 * l28) - (l3 * l29)) + (l4 * l30)) * l27; + other.m[6] = -(((l1 * l28) - (l3 * l31)) + (l4 * l32)) * l27; + other.m[10] = (((l1 * l29) - (l2 * l31)) + (l4 * l33)) * l27; + other.m[14] = -(((l1 * l30) - (l2 * l32)) + (l3 * l33)) * l27; + other.m[3] = -(((l2 * l34) - (l3 * l35)) + (l4 * l36)) * l27; + other.m[7] = (((l1 * l34) - (l3 * l37)) + (l4 * l38)) * l27; + other.m[11] = -(((l1 * l35) - (l2 * l37)) + (l4 * l39)) * l27; + other.m[15] = (((l1 * l36) - (l2 * l38)) + (l3 * l39)) * l27; + return this; + }; + Matrix.prototype.setTranslation = function (vector3) { + this.m[12] = vector3.x; + this.m[13] = vector3.y; + this.m[14] = vector3.z; + return this; + }; + Matrix.prototype.getTranslation = function () { + return new Vector3(this.m[12], this.m[13], this.m[14]); + }; + Matrix.prototype.multiply = function (other) { + var result = new Matrix(); + this.multiplyToRef(other, result); + return result; + }; + Matrix.prototype.copyFrom = function (other) { + for (var index = 0; index < 16; index++) { + this.m[index] = other.m[index]; + } + return this; + }; + Matrix.prototype.copyToArray = function (array, offset) { + if (offset === void 0) { offset = 0; } + for (var index = 0; index < 16; index++) { + array[offset + index] = this.m[index]; + } + return this; + }; + Matrix.prototype.multiplyToRef = function (other, result) { + this.multiplyToArray(other, result.m, 0); + return this; + }; + Matrix.prototype.multiplyToArray = function (other, result, offset) { + var tm0 = this.m[0]; + var tm1 = this.m[1]; + var tm2 = this.m[2]; + var tm3 = this.m[3]; + var tm4 = this.m[4]; + var tm5 = this.m[5]; + var tm6 = this.m[6]; + var tm7 = this.m[7]; + var tm8 = this.m[8]; + var tm9 = this.m[9]; + var tm10 = this.m[10]; + var tm11 = this.m[11]; + var tm12 = this.m[12]; + var tm13 = this.m[13]; + var tm14 = this.m[14]; + var tm15 = this.m[15]; + var om0 = other.m[0]; + var om1 = other.m[1]; + var om2 = other.m[2]; + var om3 = other.m[3]; + var om4 = other.m[4]; + var om5 = other.m[5]; + var om6 = other.m[6]; + var om7 = other.m[7]; + var om8 = other.m[8]; + var om9 = other.m[9]; + var om10 = other.m[10]; + var om11 = other.m[11]; + var om12 = other.m[12]; + var om13 = other.m[13]; + var om14 = other.m[14]; + var om15 = other.m[15]; + result[offset] = tm0 * om0 + tm1 * om4 + tm2 * om8 + tm3 * om12; + result[offset + 1] = tm0 * om1 + tm1 * om5 + tm2 * om9 + tm3 * om13; + result[offset + 2] = tm0 * om2 + tm1 * om6 + tm2 * om10 + tm3 * om14; + result[offset + 3] = tm0 * om3 + tm1 * om7 + tm2 * om11 + tm3 * om15; + result[offset + 4] = tm4 * om0 + tm5 * om4 + tm6 * om8 + tm7 * om12; + result[offset + 5] = tm4 * om1 + tm5 * om5 + tm6 * om9 + tm7 * om13; + result[offset + 6] = tm4 * om2 + tm5 * om6 + tm6 * om10 + tm7 * om14; + result[offset + 7] = tm4 * om3 + tm5 * om7 + tm6 * om11 + tm7 * om15; + result[offset + 8] = tm8 * om0 + tm9 * om4 + tm10 * om8 + tm11 * om12; + result[offset + 9] = tm8 * om1 + tm9 * om5 + tm10 * om9 + tm11 * om13; + result[offset + 10] = tm8 * om2 + tm9 * om6 + tm10 * om10 + tm11 * om14; + result[offset + 11] = tm8 * om3 + tm9 * om7 + tm10 * om11 + tm11 * om15; + result[offset + 12] = tm12 * om0 + tm13 * om4 + tm14 * om8 + tm15 * om12; + result[offset + 13] = tm12 * om1 + tm13 * om5 + tm14 * om9 + tm15 * om13; + result[offset + 14] = tm12 * om2 + tm13 * om6 + tm14 * om10 + tm15 * om14; + result[offset + 15] = tm12 * om3 + tm13 * om7 + tm14 * om11 + tm15 * om15; + return this; + }; + Matrix.prototype.equals = function (value) { + return value && + (this.m[0] === value.m[0] && this.m[1] === value.m[1] && this.m[2] === value.m[2] && this.m[3] === value.m[3] && + this.m[4] === value.m[4] && this.m[5] === value.m[5] && this.m[6] === value.m[6] && this.m[7] === value.m[7] && + this.m[8] === value.m[8] && this.m[9] === value.m[9] && this.m[10] === value.m[10] && this.m[11] === value.m[11] && + this.m[12] === value.m[12] && this.m[13] === value.m[13] && this.m[14] === value.m[14] && this.m[15] === value.m[15]); + }; + Matrix.prototype.clone = function () { + return Matrix.FromValues(this.m[0], this.m[1], this.m[2], this.m[3], this.m[4], this.m[5], this.m[6], this.m[7], this.m[8], this.m[9], this.m[10], this.m[11], this.m[12], this.m[13], this.m[14], this.m[15]); + }; + Matrix.prototype.getClassName = function () { + return "Matrix"; + }; + Matrix.prototype.getHashCode = function () { + var hash = this.m[0] || 0; + for (var i = 1; i < 16; i++) { + hash = (hash * 397) ^ (this.m[i] || 0); + } + return hash; + }; + Matrix.prototype.decompose = function (scale, rotation, translation) { + translation.x = this.m[12]; + translation.y = this.m[13]; + translation.z = this.m[14]; + var xs = MathTools.Sign(this.m[0] * this.m[1] * this.m[2] * this.m[3]) < 0 ? -1 : 1; + var ys = MathTools.Sign(this.m[4] * this.m[5] * this.m[6] * this.m[7]) < 0 ? -1 : 1; + var zs = MathTools.Sign(this.m[8] * this.m[9] * this.m[10] * this.m[11]) < 0 ? -1 : 1; + scale.x = xs * Math.sqrt(this.m[0] * this.m[0] + this.m[1] * this.m[1] + this.m[2] * this.m[2]); + scale.y = ys * Math.sqrt(this.m[4] * this.m[4] + this.m[5] * this.m[5] + this.m[6] * this.m[6]); + scale.z = zs * Math.sqrt(this.m[8] * this.m[8] + this.m[9] * this.m[9] + this.m[10] * this.m[10]); + if (scale.x === 0 || scale.y === 0 || scale.z === 0) { + rotation.x = 0; + rotation.y = 0; + rotation.z = 0; + rotation.w = 1; + return false; + } + Matrix.FromValuesToRef(this.m[0] / scale.x, this.m[1] / scale.x, this.m[2] / scale.x, 0, this.m[4] / scale.y, this.m[5] / scale.y, this.m[6] / scale.y, 0, this.m[8] / scale.z, this.m[9] / scale.z, this.m[10] / scale.z, 0, 0, 0, 0, 1, Tmp.Matrix[0]); + Quaternion.FromRotationMatrixToRef(Tmp.Matrix[0], rotation); + return true; + }; + Matrix.prototype.getRotationMatrix = function () { + var result = Matrix.Identity(); + this.getRotationMatrixToRef(result); + return result; + }; + Matrix.prototype.getRotationMatrixToRef = function (result) { + var m = this.m; + var xs = m[0] * m[1] * m[2] * m[3] < 0 ? -1 : 1; + var ys = m[4] * m[5] * m[6] * m[7] < 0 ? -1 : 1; + var zs = m[8] * m[9] * m[10] * m[11] < 0 ? -1 : 1; + var sx = xs * Math.sqrt(m[0] * m[0] + m[1] * m[1] + m[2] * m[2]); + var sy = ys * Math.sqrt(m[4] * m[4] + m[5] * m[5] + m[6] * m[6]); + var sz = zs * Math.sqrt(m[8] * m[8] + m[9] * m[9] + m[10] * m[10]); + Matrix.FromValuesToRef(m[0] / sx, m[1] / sx, m[2] / sx, 0, m[4] / sy, m[5] / sy, m[6] / sy, 0, m[8] / sz, m[9] / sz, m[10] / sz, 0, 0, 0, 0, 1, result); + }; + // Statics + Matrix.FromArray = function (array, offset) { + var result = new Matrix(); + if (!offset) { + offset = 0; + } + Matrix.FromArrayToRef(array, offset, result); + return result; + }; + Matrix.FromArrayToRef = function (array, offset, result) { + for (var index = 0; index < 16; index++) { + result.m[index] = array[index + offset]; + } + }; + Matrix.FromFloat32ArrayToRefScaled = function (array, offset, scale, result) { + for (var index = 0; index < 16; index++) { + result.m[index] = array[index + offset] * scale; + } + }; + Matrix.FromValuesToRef = function (initialM11, initialM12, initialM13, initialM14, initialM21, initialM22, initialM23, initialM24, initialM31, initialM32, initialM33, initialM34, initialM41, initialM42, initialM43, initialM44, result) { + result.m[0] = initialM11; + result.m[1] = initialM12; + result.m[2] = initialM13; + result.m[3] = initialM14; + result.m[4] = initialM21; + result.m[5] = initialM22; + result.m[6] = initialM23; + result.m[7] = initialM24; + result.m[8] = initialM31; + result.m[9] = initialM32; + result.m[10] = initialM33; + result.m[11] = initialM34; + result.m[12] = initialM41; + result.m[13] = initialM42; + result.m[14] = initialM43; + result.m[15] = initialM44; + }; + Matrix.prototype.getRow = function (index) { + if (index < 0 || index > 3) { + return null; + } + var i = index * 4; + return new Vector4(this.m[i + 0], this.m[i + 1], this.m[i + 2], this.m[i + 3]); + }; + Matrix.prototype.setRow = function (index, row) { + if (index < 0 || index > 3) { + return this; + } + var i = index * 4; + this.m[i + 0] = row.x; + this.m[i + 1] = row.y; + this.m[i + 2] = row.z; + this.m[i + 3] = row.w; + return this; + }; + Matrix.FromValues = function (initialM11, initialM12, initialM13, initialM14, initialM21, initialM22, initialM23, initialM24, initialM31, initialM32, initialM33, initialM34, initialM41, initialM42, initialM43, initialM44) { + var result = new Matrix(); + result.m[0] = initialM11; + result.m[1] = initialM12; + result.m[2] = initialM13; + result.m[3] = initialM14; + result.m[4] = initialM21; + result.m[5] = initialM22; + result.m[6] = initialM23; + result.m[7] = initialM24; + result.m[8] = initialM31; + result.m[9] = initialM32; + result.m[10] = initialM33; + result.m[11] = initialM34; + result.m[12] = initialM41; + result.m[13] = initialM42; + result.m[14] = initialM43; + result.m[15] = initialM44; + return result; + }; + Matrix.Compose = function (scale, rotation, translation) { + var result = Matrix.FromValues(scale.x, 0, 0, 0, 0, scale.y, 0, 0, 0, 0, scale.z, 0, 0, 0, 0, 1); + var rotationMatrix = Matrix.Identity(); + rotation.toRotationMatrix(rotationMatrix); + result = result.multiply(rotationMatrix); + result.setTranslation(translation); + return result; + }; + Matrix.Identity = function () { + return Matrix.FromValues(1.0, 0, 0, 0, 0, 1.0, 0, 0, 0, 0, 1.0, 0, 0, 0, 0, 1.0); + }; + Matrix.IdentityToRef = function (result) { + Matrix.FromValuesToRef(1.0, 0, 0, 0, 0, 1.0, 0, 0, 0, 0, 1.0, 0, 0, 0, 0, 1.0, result); + }; + Matrix.Zero = function () { + return Matrix.FromValues(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); + }; + Matrix.RotationX = function (angle) { + var result = new Matrix(); + Matrix.RotationXToRef(angle, result); + return result; + }; + Matrix.Invert = function (source) { + var result = new Matrix(); + source.invertToRef(result); + return result; + }; + Matrix.RotationXToRef = function (angle, result) { + var s = Math.sin(angle); + var c = Math.cos(angle); + result.m[0] = 1.0; + result.m[15] = 1.0; + result.m[5] = c; + result.m[10] = c; + result.m[9] = -s; + result.m[6] = s; + result.m[1] = 0; + result.m[2] = 0; + result.m[3] = 0; + result.m[4] = 0; + result.m[7] = 0; + result.m[8] = 0; + result.m[11] = 0; + result.m[12] = 0; + result.m[13] = 0; + result.m[14] = 0; + }; + Matrix.RotationY = function (angle) { + var result = new Matrix(); + Matrix.RotationYToRef(angle, result); + return result; + }; + Matrix.RotationYToRef = function (angle, result) { + var s = Math.sin(angle); + var c = Math.cos(angle); + result.m[5] = 1.0; + result.m[15] = 1.0; + result.m[0] = c; + result.m[2] = -s; + result.m[8] = s; + result.m[10] = c; + result.m[1] = 0; + result.m[3] = 0; + result.m[4] = 0; + result.m[6] = 0; + result.m[7] = 0; + result.m[9] = 0; + result.m[11] = 0; + result.m[12] = 0; + result.m[13] = 0; + result.m[14] = 0; + }; + Matrix.RotationZ = function (angle) { + var result = new Matrix(); + Matrix.RotationZToRef(angle, result); + return result; + }; + Matrix.RotationZToRef = function (angle, result) { + var s = Math.sin(angle); + var c = Math.cos(angle); + result.m[10] = 1.0; + result.m[15] = 1.0; + result.m[0] = c; + result.m[1] = s; + result.m[4] = -s; + result.m[5] = c; + result.m[2] = 0; + result.m[3] = 0; + result.m[6] = 0; + result.m[7] = 0; + result.m[8] = 0; + result.m[9] = 0; + result.m[11] = 0; + result.m[12] = 0; + result.m[13] = 0; + result.m[14] = 0; + }; + Matrix.RotationAxis = function (axis, angle) { + var result = Matrix.Zero(); + Matrix.RotationAxisToRef(axis, angle, result); + return result; + }; + Matrix.RotationAxisToRef = function (axis, angle, result) { + var s = Math.sin(-angle); + var c = Math.cos(-angle); + var c1 = 1 - c; + axis.normalize(); + result.m[0] = (axis.x * axis.x) * c1 + c; + result.m[1] = (axis.x * axis.y) * c1 - (axis.z * s); + result.m[2] = (axis.x * axis.z) * c1 + (axis.y * s); + result.m[3] = 0.0; + result.m[4] = (axis.y * axis.x) * c1 + (axis.z * s); + result.m[5] = (axis.y * axis.y) * c1 + c; + result.m[6] = (axis.y * axis.z) * c1 - (axis.x * s); + result.m[7] = 0.0; + result.m[8] = (axis.z * axis.x) * c1 - (axis.y * s); + result.m[9] = (axis.z * axis.y) * c1 + (axis.x * s); + result.m[10] = (axis.z * axis.z) * c1 + c; + result.m[11] = 0.0; + result.m[15] = 1.0; + }; + Matrix.RotationYawPitchRoll = function (yaw, pitch, roll) { + var result = new Matrix(); + Matrix.RotationYawPitchRollToRef(yaw, pitch, roll, result); + return result; + }; + Matrix.RotationYawPitchRollToRef = function (yaw, pitch, roll, result) { + Quaternion.RotationYawPitchRollToRef(yaw, pitch, roll, this._tempQuaternion); + this._tempQuaternion.toRotationMatrix(result); + }; + Matrix.Scaling = function (x, y, z) { + var result = Matrix.Zero(); + Matrix.ScalingToRef(x, y, z, result); + return result; + }; + Matrix.ScalingToRef = function (x, y, z, result) { + result.m[0] = x; + result.m[1] = 0; + result.m[2] = 0; + result.m[3] = 0; + result.m[4] = 0; + result.m[5] = y; + result.m[6] = 0; + result.m[7] = 0; + result.m[8] = 0; + result.m[9] = 0; + result.m[10] = z; + result.m[11] = 0; + result.m[12] = 0; + result.m[13] = 0; + result.m[14] = 0; + result.m[15] = 1.0; + }; + Matrix.Translation = function (x, y, z) { + var result = Matrix.Identity(); + Matrix.TranslationToRef(x, y, z, result); + return result; + }; + Matrix.TranslationToRef = function (x, y, z, result) { + Matrix.FromValuesToRef(1.0, 0, 0, 0, 0, 1.0, 0, 0, 0, 0, 1.0, 0, x, y, z, 1.0, result); + }; + Matrix.Lerp = function (startValue, endValue, gradient) { + var result = Matrix.Zero(); + for (var index = 0; index < 16; index++) { + result.m[index] = startValue.m[index] * (1.0 - gradient) + endValue.m[index] * gradient; + } + return result; + }; + Matrix.DecomposeLerp = function (startValue, endValue, gradient) { + var startScale = new Vector3(0, 0, 0); + var startRotation = new Quaternion(); + var startTranslation = new Vector3(0, 0, 0); + startValue.decompose(startScale, startRotation, startTranslation); + var endScale = new Vector3(0, 0, 0); + var endRotation = new Quaternion(); + var endTranslation = new Vector3(0, 0, 0); + endValue.decompose(endScale, endRotation, endTranslation); + var resultScale = Vector3.Lerp(startScale, endScale, gradient); + var resultRotation = Quaternion.Slerp(startRotation, endRotation, gradient); + var resultTranslation = Vector3.Lerp(startTranslation, endTranslation, gradient); + return Matrix.Compose(resultScale, resultRotation, resultTranslation); + }; + Matrix.LookAtLH = function (eye, target, up) { + var result = Matrix.Zero(); + Matrix.LookAtLHToRef(eye, target, up, result); + return result; + }; + Matrix.LookAtLHToRef = function (eye, target, up, result) { + // Z axis + target.subtractToRef(eye, this._zAxis); + this._zAxis.normalize(); + // X axis + Vector3.CrossToRef(up, this._zAxis, this._xAxis); + if (this._xAxis.lengthSquared() === 0) { + this._xAxis.x = 1.0; + } + else { + this._xAxis.normalize(); + } + // Y axis + Vector3.CrossToRef(this._zAxis, this._xAxis, this._yAxis); + this._yAxis.normalize(); + // Eye angles + var ex = -Vector3.Dot(this._xAxis, eye); + var ey = -Vector3.Dot(this._yAxis, eye); + var ez = -Vector3.Dot(this._zAxis, eye); + return Matrix.FromValuesToRef(this._xAxis.x, this._yAxis.x, this._zAxis.x, 0, this._xAxis.y, this._yAxis.y, this._zAxis.y, 0, this._xAxis.z, this._yAxis.z, this._zAxis.z, 0, ex, ey, ez, 1, result); + }; + Matrix.LookAtRH = function (eye, target, up) { + var result = Matrix.Zero(); + Matrix.LookAtRHToRef(eye, target, up, result); + return result; + }; + Matrix.LookAtRHToRef = function (eye, target, up, result) { + // Z axis + eye.subtractToRef(target, this._zAxis); + this._zAxis.normalize(); + // X axis + Vector3.CrossToRef(up, this._zAxis, this._xAxis); + if (this._xAxis.lengthSquared() === 0) { + this._xAxis.x = 1.0; + } + else { + this._xAxis.normalize(); + } + // Y axis + Vector3.CrossToRef(this._zAxis, this._xAxis, this._yAxis); + this._yAxis.normalize(); + // Eye angles + var ex = -Vector3.Dot(this._xAxis, eye); + var ey = -Vector3.Dot(this._yAxis, eye); + var ez = -Vector3.Dot(this._zAxis, eye); + return Matrix.FromValuesToRef(this._xAxis.x, this._yAxis.x, this._zAxis.x, 0, this._xAxis.y, this._yAxis.y, this._zAxis.y, 0, this._xAxis.z, this._yAxis.z, this._zAxis.z, 0, ex, ey, ez, 1, result); + }; + Matrix.OrthoLH = function (width, height, znear, zfar) { + var matrix = Matrix.Zero(); + Matrix.OrthoLHToRef(width, height, znear, zfar, matrix); + return matrix; + }; + Matrix.OrthoLHToRef = function (width, height, znear, zfar, result) { + var hw = 2.0 / width; + var hh = 2.0 / height; + var id = 1.0 / (zfar - znear); + var nid = znear / (znear - zfar); + Matrix.FromValuesToRef(hw, 0, 0, 0, 0, hh, 0, 0, 0, 0, id, 0, 0, 0, nid, 1, result); + }; + Matrix.OrthoOffCenterLH = function (left, right, bottom, top, znear, zfar) { + var matrix = Matrix.Zero(); + Matrix.OrthoOffCenterLHToRef(left, right, bottom, top, znear, zfar, matrix); + return matrix; + }; + Matrix.OrthoOffCenterLHToRef = function (left, right, bottom, top, znear, zfar, result) { + result.m[0] = 2.0 / (right - left); + result.m[1] = result.m[2] = result.m[3] = 0; + result.m[5] = 2.0 / (top - bottom); + result.m[4] = result.m[6] = result.m[7] = 0; + result.m[10] = 1.0 / (zfar - znear); + result.m[8] = result.m[9] = result.m[11] = 0; + result.m[12] = (left + right) / (left - right); + result.m[13] = (top + bottom) / (bottom - top); + result.m[14] = -znear / (zfar - znear); + result.m[15] = 1.0; + }; + Matrix.OrthoOffCenterRH = function (left, right, bottom, top, znear, zfar) { + var matrix = Matrix.Zero(); + Matrix.OrthoOffCenterRHToRef(left, right, bottom, top, znear, zfar, matrix); + return matrix; + }; + Matrix.OrthoOffCenterRHToRef = function (left, right, bottom, top, znear, zfar, result) { + Matrix.OrthoOffCenterLHToRef(left, right, bottom, top, znear, zfar, result); + result.m[10] *= -1.0; + }; + Matrix.PerspectiveLH = function (width, height, znear, zfar) { + var matrix = Matrix.Zero(); + matrix.m[0] = (2.0 * znear) / width; + matrix.m[1] = matrix.m[2] = matrix.m[3] = 0.0; + matrix.m[5] = (2.0 * znear) / height; + matrix.m[4] = matrix.m[6] = matrix.m[7] = 0.0; + matrix.m[10] = -zfar / (znear - zfar); + matrix.m[8] = matrix.m[9] = 0.0; + matrix.m[11] = 1.0; + matrix.m[12] = matrix.m[13] = matrix.m[15] = 0.0; + matrix.m[14] = (znear * zfar) / (znear - zfar); + return matrix; + }; + Matrix.PerspectiveFovLH = function (fov, aspect, znear, zfar) { + var matrix = Matrix.Zero(); + Matrix.PerspectiveFovLHToRef(fov, aspect, znear, zfar, matrix); + return matrix; + }; + Matrix.PerspectiveFovLHToRef = function (fov, aspect, znear, zfar, result, isVerticalFovFixed) { + if (isVerticalFovFixed === void 0) { isVerticalFovFixed = true; } + var tan = 1.0 / (Math.tan(fov * 0.5)); + if (isVerticalFovFixed) { + result.m[0] = tan / aspect; + } + else { + result.m[0] = tan; + } + result.m[1] = result.m[2] = result.m[3] = 0.0; + if (isVerticalFovFixed) { + result.m[5] = tan; + } + else { + result.m[5] = tan * aspect; + } + result.m[4] = result.m[6] = result.m[7] = 0.0; + result.m[8] = result.m[9] = 0.0; + result.m[10] = zfar / (zfar - znear); + result.m[11] = 1.0; + result.m[12] = result.m[13] = result.m[15] = 0.0; + result.m[14] = -(znear * zfar) / (zfar - znear); + }; + Matrix.PerspectiveFovRH = function (fov, aspect, znear, zfar) { + var matrix = Matrix.Zero(); + Matrix.PerspectiveFovRHToRef(fov, aspect, znear, zfar, matrix); + return matrix; + }; + Matrix.PerspectiveFovRHToRef = function (fov, aspect, znear, zfar, result, isVerticalFovFixed) { + if (isVerticalFovFixed === void 0) { isVerticalFovFixed = true; } + var tan = 1.0 / (Math.tan(fov * 0.5)); + if (isVerticalFovFixed) { + result.m[0] = tan / aspect; + } + else { + result.m[0] = tan; + } + result.m[1] = result.m[2] = result.m[3] = 0.0; + if (isVerticalFovFixed) { + result.m[5] = tan; + } + else { + result.m[5] = tan * aspect; + } + result.m[4] = result.m[6] = result.m[7] = 0.0; + result.m[8] = result.m[9] = 0.0; + result.m[10] = zfar / (znear - zfar); + result.m[11] = -1.0; + result.m[12] = result.m[13] = result.m[15] = 0.0; + result.m[14] = (znear * zfar) / (znear - zfar); + }; + Matrix.PerspectiveFovWebVRToRef = function (fov, znear, zfar, result, isVerticalFovFixed) { + if (isVerticalFovFixed === void 0) { isVerticalFovFixed = true; } + var upTan = Math.tan(fov.upDegrees * Math.PI / 180.0); + var downTan = Math.tan(fov.downDegrees * Math.PI / 180.0); + var leftTan = Math.tan(fov.leftDegrees * Math.PI / 180.0); + var rightTan = Math.tan(fov.rightDegrees * Math.PI / 180.0); + var xScale = 2.0 / (leftTan + rightTan); + var yScale = 2.0 / (upTan + downTan); + result.m[0] = xScale; + result.m[1] = result.m[2] = result.m[3] = result.m[4] = 0.0; + result.m[5] = yScale; + result.m[6] = result.m[7] = 0.0; + result.m[8] = ((leftTan - rightTan) * xScale * 0.5); + result.m[9] = -((upTan - downTan) * yScale * 0.5); + //result.m[10] = -(znear + zfar) / (zfar - znear); + result.m[10] = -zfar / (znear - zfar); + result.m[11] = 1.0; + result.m[12] = result.m[13] = result.m[15] = 0.0; + //result.m[14] = -(2.0 * zfar * znear) / (zfar - znear); + result.m[14] = (znear * zfar) / (znear - zfar); + }; + Matrix.GetFinalMatrix = function (viewport, world, view, projection, zmin, zmax) { + var cw = viewport.width; + var ch = viewport.height; + var cx = viewport.x; + var cy = viewport.y; + var viewportMatrix = Matrix.FromValues(cw / 2.0, 0, 0, 0, 0, -ch / 2.0, 0, 0, 0, 0, zmax - zmin, 0, cx + cw / 2.0, ch / 2.0 + cy, zmin, 1); + return world.multiply(view).multiply(projection).multiply(viewportMatrix); + }; + Matrix.GetAsMatrix2x2 = function (matrix) { + return new Float32Array([ + matrix.m[0], matrix.m[1], + matrix.m[4], matrix.m[5] + ]); + }; + Matrix.GetAsMatrix3x3 = function (matrix) { + return new Float32Array([ + matrix.m[0], matrix.m[1], matrix.m[2], + matrix.m[4], matrix.m[5], matrix.m[6], + matrix.m[8], matrix.m[9], matrix.m[10] + ]); + }; + Matrix.Transpose = function (matrix) { + var result = new Matrix(); + result.m[0] = matrix.m[0]; + result.m[1] = matrix.m[4]; + result.m[2] = matrix.m[8]; + result.m[3] = matrix.m[12]; + result.m[4] = matrix.m[1]; + result.m[5] = matrix.m[5]; + result.m[6] = matrix.m[9]; + result.m[7] = matrix.m[13]; + result.m[8] = matrix.m[2]; + result.m[9] = matrix.m[6]; + result.m[10] = matrix.m[10]; + result.m[11] = matrix.m[14]; + result.m[12] = matrix.m[3]; + result.m[13] = matrix.m[7]; + result.m[14] = matrix.m[11]; + result.m[15] = matrix.m[15]; + return result; + }; + Matrix.Reflection = function (plane) { + var matrix = new Matrix(); + Matrix.ReflectionToRef(plane, matrix); + return matrix; + }; + Matrix.ReflectionToRef = function (plane, result) { + plane.normalize(); + var x = plane.normal.x; + var y = plane.normal.y; + var z = plane.normal.z; + var temp = -2 * x; + var temp2 = -2 * y; + var temp3 = -2 * z; + result.m[0] = (temp * x) + 1; + result.m[1] = temp2 * x; + result.m[2] = temp3 * x; + result.m[3] = 0.0; + result.m[4] = temp * y; + result.m[5] = (temp2 * y) + 1; + result.m[6] = temp3 * y; + result.m[7] = 0.0; + result.m[8] = temp * z; + result.m[9] = temp2 * z; + result.m[10] = (temp3 * z) + 1; + result.m[11] = 0.0; + result.m[12] = temp * plane.d; + result.m[13] = temp2 * plane.d; + result.m[14] = temp3 * plane.d; + result.m[15] = 1.0; + }; + Matrix.FromXYZAxesToRef = function (xaxis, yaxis, zaxis, mat) { + mat.m[0] = xaxis.x; + mat.m[1] = xaxis.y; + mat.m[2] = xaxis.z; + mat.m[3] = 0; + mat.m[4] = yaxis.x; + mat.m[5] = yaxis.y; + mat.m[6] = yaxis.z; + mat.m[7] = 0; + mat.m[8] = zaxis.x; + mat.m[9] = zaxis.y; + mat.m[10] = zaxis.z; + mat.m[11] = 0; + mat.m[12] = 0; + mat.m[13] = 0; + mat.m[14] = 0; + mat.m[15] = 1; + }; + Matrix.FromQuaternionToRef = function (quat, result) { + var xx = quat.x * quat.x; + var yy = quat.y * quat.y; + var zz = quat.z * quat.z; + var xy = quat.x * quat.y; + var zw = quat.z * quat.w; + var zx = quat.z * quat.x; + var yw = quat.y * quat.w; + var yz = quat.y * quat.z; + var xw = quat.x * quat.w; + result.m[0] = 1.0 - (2.0 * (yy + zz)); + result.m[1] = 2.0 * (xy + zw); + result.m[2] = 2.0 * (zx - yw); + result.m[3] = 0; + result.m[4] = 2.0 * (xy - zw); + result.m[5] = 1.0 - (2.0 * (zz + xx)); + result.m[6] = 2.0 * (yz + xw); + result.m[7] = 0; + result.m[8] = 2.0 * (zx + yw); + result.m[9] = 2.0 * (yz - xw); + result.m[10] = 1.0 - (2.0 * (yy + xx)); + result.m[11] = 0; + result.m[12] = 0; + result.m[13] = 0; + result.m[14] = 0; + result.m[15] = 1.0; + }; + Matrix._tempQuaternion = new Quaternion(); + Matrix._xAxis = Vector3.Zero(); + Matrix._yAxis = Vector3.Zero(); + Matrix._zAxis = Vector3.Zero(); + return Matrix; + }()); + BABYLON.Matrix = Matrix; + var Plane = (function () { + function Plane(a, b, c, d) { + this.normal = new Vector3(a, b, c); + this.d = d; + } + Plane.prototype.asArray = function () { + return [this.normal.x, this.normal.y, this.normal.z, this.d]; + }; + // Methods + Plane.prototype.clone = function () { + return new Plane(this.normal.x, this.normal.y, this.normal.z, this.d); + }; + Plane.prototype.getClassName = function () { + return "Plane"; + }; + Plane.prototype.getHashCode = function () { + var hash = this.normal.getHashCode(); + hash = (hash * 397) ^ (this.d || 0); + return hash; + }; + Plane.prototype.normalize = function () { + var norm = (Math.sqrt((this.normal.x * this.normal.x) + (this.normal.y * this.normal.y) + (this.normal.z * this.normal.z))); + var magnitude = 0; + if (norm !== 0) { + magnitude = 1.0 / norm; + } + this.normal.x *= magnitude; + this.normal.y *= magnitude; + this.normal.z *= magnitude; + this.d *= magnitude; + return this; + }; + Plane.prototype.transform = function (transformation) { + var transposedMatrix = Matrix.Transpose(transformation); + var x = this.normal.x; + var y = this.normal.y; + var z = this.normal.z; + var d = this.d; + var normalX = (((x * transposedMatrix.m[0]) + (y * transposedMatrix.m[1])) + (z * transposedMatrix.m[2])) + (d * transposedMatrix.m[3]); + var normalY = (((x * transposedMatrix.m[4]) + (y * transposedMatrix.m[5])) + (z * transposedMatrix.m[6])) + (d * transposedMatrix.m[7]); + var normalZ = (((x * transposedMatrix.m[8]) + (y * transposedMatrix.m[9])) + (z * transposedMatrix.m[10])) + (d * transposedMatrix.m[11]); + var finalD = (((x * transposedMatrix.m[12]) + (y * transposedMatrix.m[13])) + (z * transposedMatrix.m[14])) + (d * transposedMatrix.m[15]); + return new Plane(normalX, normalY, normalZ, finalD); + }; + Plane.prototype.dotCoordinate = function (point) { + return ((((this.normal.x * point.x) + (this.normal.y * point.y)) + (this.normal.z * point.z)) + this.d); + }; + Plane.prototype.copyFromPoints = function (point1, point2, point3) { + var x1 = point2.x - point1.x; + var y1 = point2.y - point1.y; + var z1 = point2.z - point1.z; + var x2 = point3.x - point1.x; + var y2 = point3.y - point1.y; + var z2 = point3.z - point1.z; + var yz = (y1 * z2) - (z1 * y2); + var xz = (z1 * x2) - (x1 * z2); + var xy = (x1 * y2) - (y1 * x2); + var pyth = (Math.sqrt((yz * yz) + (xz * xz) + (xy * xy))); + var invPyth; + if (pyth !== 0) { + invPyth = 1.0 / pyth; + } + else { + invPyth = 0; + } + this.normal.x = yz * invPyth; + this.normal.y = xz * invPyth; + this.normal.z = xy * invPyth; + this.d = -((this.normal.x * point1.x) + (this.normal.y * point1.y) + (this.normal.z * point1.z)); + return this; + }; + Plane.prototype.isFrontFacingTo = function (direction, epsilon) { + var dot = Vector3.Dot(this.normal, direction); + return (dot <= epsilon); + }; + Plane.prototype.signedDistanceTo = function (point) { + return Vector3.Dot(point, this.normal) + this.d; + }; + // Statics + Plane.FromArray = function (array) { + return new Plane(array[0], array[1], array[2], array[3]); + }; + Plane.FromPoints = function (point1, point2, point3) { + var result = new Plane(0, 0, 0, 0); + result.copyFromPoints(point1, point2, point3); + return result; + }; + Plane.FromPositionAndNormal = function (origin, normal) { + var result = new Plane(0, 0, 0, 0); + normal.normalize(); + result.normal = normal; + result.d = -(normal.x * origin.x + normal.y * origin.y + normal.z * origin.z); + return result; + }; + Plane.SignedDistanceToPlaneFromPositionAndNormal = function (origin, normal, point) { + var d = -(normal.x * origin.x + normal.y * origin.y + normal.z * origin.z); + return Vector3.Dot(point, normal) + d; + }; + return Plane; + }()); + BABYLON.Plane = Plane; + var Viewport = (function () { + function Viewport(x, y, width, height) { + this.x = x; + this.y = y; + this.width = width; + this.height = height; + } + Viewport.prototype.toGlobal = function (renderWidth, renderHeight) { + return new Viewport(this.x * renderWidth, this.y * renderHeight, this.width * renderWidth, this.height * renderHeight); + }; + return Viewport; + }()); + BABYLON.Viewport = Viewport; + var Frustum = (function () { + function Frustum() { + } + Frustum.GetPlanes = function (transform) { + var frustumPlanes = []; + for (var index = 0; index < 6; index++) { + frustumPlanes.push(new Plane(0, 0, 0, 0)); + } + Frustum.GetPlanesToRef(transform, frustumPlanes); + return frustumPlanes; + }; + Frustum.GetPlanesToRef = function (transform, frustumPlanes) { + // Near + frustumPlanes[0].normal.x = transform.m[3] + transform.m[2]; + frustumPlanes[0].normal.y = transform.m[7] + transform.m[6]; + frustumPlanes[0].normal.z = transform.m[11] + transform.m[10]; + frustumPlanes[0].d = transform.m[15] + transform.m[14]; + frustumPlanes[0].normalize(); + // Far + frustumPlanes[1].normal.x = transform.m[3] - transform.m[2]; + frustumPlanes[1].normal.y = transform.m[7] - transform.m[6]; + frustumPlanes[1].normal.z = transform.m[11] - transform.m[10]; + frustumPlanes[1].d = transform.m[15] - transform.m[14]; + frustumPlanes[1].normalize(); + // Left + frustumPlanes[2].normal.x = transform.m[3] + transform.m[0]; + frustumPlanes[2].normal.y = transform.m[7] + transform.m[4]; + frustumPlanes[2].normal.z = transform.m[11] + transform.m[8]; + frustumPlanes[2].d = transform.m[15] + transform.m[12]; + frustumPlanes[2].normalize(); + // Right + frustumPlanes[3].normal.x = transform.m[3] - transform.m[0]; + frustumPlanes[3].normal.y = transform.m[7] - transform.m[4]; + frustumPlanes[3].normal.z = transform.m[11] - transform.m[8]; + frustumPlanes[3].d = transform.m[15] - transform.m[12]; + frustumPlanes[3].normalize(); + // Top + frustumPlanes[4].normal.x = transform.m[3] - transform.m[1]; + frustumPlanes[4].normal.y = transform.m[7] - transform.m[5]; + frustumPlanes[4].normal.z = transform.m[11] - transform.m[9]; + frustumPlanes[4].d = transform.m[15] - transform.m[13]; + frustumPlanes[4].normalize(); + // Bottom + frustumPlanes[5].normal.x = transform.m[3] + transform.m[1]; + frustumPlanes[5].normal.y = transform.m[7] + transform.m[5]; + frustumPlanes[5].normal.z = transform.m[11] + transform.m[9]; + frustumPlanes[5].d = transform.m[15] + transform.m[13]; + frustumPlanes[5].normalize(); + }; + return Frustum; + }()); + BABYLON.Frustum = Frustum; + (function (Space) { + Space[Space["LOCAL"] = 0] = "LOCAL"; + Space[Space["WORLD"] = 1] = "WORLD"; + })(BABYLON.Space || (BABYLON.Space = {})); + var Space = BABYLON.Space; + var Axis = (function () { + function Axis() { + } + Axis.X = new Vector3(1, 0, 0); + Axis.Y = new Vector3(0, 1, 0); + Axis.Z = new Vector3(0, 0, 1); + return Axis; + }()); + BABYLON.Axis = Axis; + ; + var BezierCurve = (function () { + function BezierCurve() { + } + BezierCurve.interpolate = function (t, x1, y1, x2, y2) { + // Extract X (which is equal to time here) + var f0 = 1 - 3 * x2 + 3 * x1; + var f1 = 3 * x2 - 6 * x1; + var f2 = 3 * x1; + var refinedT = t; + for (var i = 0; i < 5; i++) { + var refinedT2 = refinedT * refinedT; + var refinedT3 = refinedT2 * refinedT; + var x = f0 * refinedT3 + f1 * refinedT2 + f2 * refinedT; + var slope = 1.0 / (3.0 * f0 * refinedT2 + 2.0 * f1 * refinedT + f2); + refinedT -= (x - t) * slope; + refinedT = Math.min(1, Math.max(0, refinedT)); + } + // Resolve cubic bezier for the given x + return 3 * Math.pow(1 - refinedT, 2) * refinedT * y1 + + 3 * (1 - refinedT) * Math.pow(refinedT, 2) * y2 + + Math.pow(refinedT, 3); + }; + return BezierCurve; + }()); + BABYLON.BezierCurve = BezierCurve; + (function (Orientation) { + Orientation[Orientation["CW"] = 0] = "CW"; + Orientation[Orientation["CCW"] = 1] = "CCW"; + })(BABYLON.Orientation || (BABYLON.Orientation = {})); + var Orientation = BABYLON.Orientation; + var Angle = (function () { + function Angle(radians) { + var _this = this; + this.degrees = function () { return _this._radians * 180 / Math.PI; }; + this.radians = function () { return _this._radians; }; + this._radians = radians; + if (this._radians < 0) + this._radians += (2 * Math.PI); + } + Angle.BetweenTwoPoints = function (a, b) { + var delta = b.subtract(a); + var theta = Math.atan2(delta.y, delta.x); + return new Angle(theta); + }; + Angle.FromRadians = function (radians) { + return new Angle(radians); + }; + Angle.FromDegrees = function (degrees) { + return new Angle(degrees * Math.PI / 180); + }; + return Angle; + }()); + BABYLON.Angle = Angle; + var Arc2 = (function () { + function Arc2(startPoint, midPoint, endPoint) { + this.startPoint = startPoint; + this.midPoint = midPoint; + this.endPoint = endPoint; + var temp = Math.pow(midPoint.x, 2) + Math.pow(midPoint.y, 2); + var startToMid = (Math.pow(startPoint.x, 2) + Math.pow(startPoint.y, 2) - temp) / 2.; + var midToEnd = (temp - Math.pow(endPoint.x, 2) - Math.pow(endPoint.y, 2)) / 2.; + var det = (startPoint.x - midPoint.x) * (midPoint.y - endPoint.y) - (midPoint.x - endPoint.x) * (startPoint.y - midPoint.y); + this.centerPoint = new Vector2((startToMid * (midPoint.y - endPoint.y) - midToEnd * (startPoint.y - midPoint.y)) / det, ((startPoint.x - midPoint.x) * midToEnd - (midPoint.x - endPoint.x) * startToMid) / det); + this.radius = this.centerPoint.subtract(this.startPoint).length(); + this.startAngle = Angle.BetweenTwoPoints(this.centerPoint, this.startPoint); + var a1 = this.startAngle.degrees(); + var a2 = Angle.BetweenTwoPoints(this.centerPoint, this.midPoint).degrees(); + var a3 = Angle.BetweenTwoPoints(this.centerPoint, this.endPoint).degrees(); + // angles correction + if (a2 - a1 > +180.0) + a2 -= 360.0; + if (a2 - a1 < -180.0) + a2 += 360.0; + if (a3 - a2 > +180.0) + a3 -= 360.0; + if (a3 - a2 < -180.0) + a3 += 360.0; + this.orientation = (a2 - a1) < 0 ? Orientation.CW : Orientation.CCW; + this.angle = Angle.FromDegrees(this.orientation === Orientation.CW ? a1 - a3 : a3 - a1); + } + return Arc2; + }()); + BABYLON.Arc2 = Arc2; + var Path2 = (function () { + function Path2(x, y) { + this._points = new Array(); + this._length = 0; + this.closed = false; + this._points.push(new Vector2(x, y)); + } + Path2.prototype.addLineTo = function (x, y) { + if (closed) { + //Tools.Error("cannot add lines to closed paths"); + return this; + } + var newPoint = new Vector2(x, y); + var previousPoint = this._points[this._points.length - 1]; + this._points.push(newPoint); + this._length += newPoint.subtract(previousPoint).length(); + return this; + }; + Path2.prototype.addArcTo = function (midX, midY, endX, endY, numberOfSegments) { + if (numberOfSegments === void 0) { numberOfSegments = 36; } + if (closed) { + //Tools.Error("cannot add arcs to closed paths"); + return this; + } + var startPoint = this._points[this._points.length - 1]; + var midPoint = new Vector2(midX, midY); + var endPoint = new Vector2(endX, endY); + var arc = new Arc2(startPoint, midPoint, endPoint); + var increment = arc.angle.radians() / numberOfSegments; + if (arc.orientation === Orientation.CW) + increment *= -1; + var currentAngle = arc.startAngle.radians() + increment; + for (var i = 0; i < numberOfSegments; i++) { + var x = Math.cos(currentAngle) * arc.radius + arc.centerPoint.x; + var y = Math.sin(currentAngle) * arc.radius + arc.centerPoint.y; + this.addLineTo(x, y); + currentAngle += increment; + } + return this; + }; + Path2.prototype.close = function () { + this.closed = true; + return this; + }; + Path2.prototype.length = function () { + var result = this._length; + if (!this.closed) { + var lastPoint = this._points[this._points.length - 1]; + var firstPoint = this._points[0]; + result += (firstPoint.subtract(lastPoint).length()); + } + return result; + }; + Path2.prototype.getPoints = function () { + return this._points; + }; + Path2.prototype.getPointAtLengthPosition = function (normalizedLengthPosition) { + if (normalizedLengthPosition < 0 || normalizedLengthPosition > 1) { + //Tools.Error("normalized length position should be between 0 and 1."); + return Vector2.Zero(); + } + var lengthPosition = normalizedLengthPosition * this.length(); + var previousOffset = 0; + for (var i = 0; i < this._points.length; i++) { + var j = (i + 1) % this._points.length; + var a = this._points[i]; + var b = this._points[j]; + var bToA = b.subtract(a); + var nextOffset = (bToA.length() + previousOffset); + if (lengthPosition >= previousOffset && lengthPosition <= nextOffset) { + var dir = bToA.normalize(); + var localOffset = lengthPosition - previousOffset; + return new Vector2(a.x + (dir.x * localOffset), a.y + (dir.y * localOffset)); + } + previousOffset = nextOffset; + } + //Tools.Error("internal error"); + return Vector2.Zero(); + }; + Path2.StartingAt = function (x, y) { + return new Path2(x, y); + }; + return Path2; + }()); + BABYLON.Path2 = Path2; + var Path3D = (function () { + /** + * new Path3D(path, normal, raw) + * Creates a Path3D. A Path3D is a logical math object, so not a mesh. + * please read the description in the tutorial : http://doc.babylonjs.com/tutorials/How_to_use_Path3D + * path : an array of Vector3, the curve axis of the Path3D + * normal (optional) : Vector3, the first wanted normal to the curve. Ex (0, 1, 0) for a vertical normal. + * raw (optional, default false) : boolean, if true the returned Path3D isn't normalized. Useful to depict path acceleration or speed. + */ + function Path3D(path, firstNormal, raw) { + this.path = path; + this._curve = new Array(); + this._distances = new Array(); + this._tangents = new Array(); + this._normals = new Array(); + this._binormals = new Array(); + for (var p = 0; p < path.length; p++) { + this._curve[p] = path[p].clone(); // hard copy + } + this._raw = raw || false; + this._compute(firstNormal); + } + /** + * Returns the Path3D array of successive Vector3 designing its curve. + */ + Path3D.prototype.getCurve = function () { + return this._curve; + }; + /** + * Returns an array populated with tangent vectors on each Path3D curve point. + */ + Path3D.prototype.getTangents = function () { + return this._tangents; + }; + /** + * Returns an array populated with normal vectors on each Path3D curve point. + */ + Path3D.prototype.getNormals = function () { + return this._normals; + }; + /** + * Returns an array populated with binormal vectors on each Path3D curve point. + */ + Path3D.prototype.getBinormals = function () { + return this._binormals; + }; + /** + * Returns an array populated with distances (float) of the i-th point from the first curve point. + */ + Path3D.prototype.getDistances = function () { + return this._distances; + }; + /** + * Forces the Path3D tangent, normal, binormal and distance recomputation. + * Returns the same object updated. + */ + Path3D.prototype.update = function (path, firstNormal) { + for (var p = 0; p < path.length; p++) { + this._curve[p].x = path[p].x; + this._curve[p].y = path[p].y; + this._curve[p].z = path[p].z; + } + this._compute(firstNormal); + return this; + }; + // private function compute() : computes tangents, normals and binormals + Path3D.prototype._compute = function (firstNormal) { + var l = this._curve.length; + // first and last tangents + this._tangents[0] = this._getFirstNonNullVector(0); + if (!this._raw) { + this._tangents[0].normalize(); + } + this._tangents[l - 1] = this._curve[l - 1].subtract(this._curve[l - 2]); + if (!this._raw) { + this._tangents[l - 1].normalize(); + } + // normals and binormals at first point : arbitrary vector with _normalVector() + var tg0 = this._tangents[0]; + var pp0 = this._normalVector(this._curve[0], tg0, firstNormal); + this._normals[0] = pp0; + if (!this._raw) { + this._normals[0].normalize(); + } + this._binormals[0] = Vector3.Cross(tg0, this._normals[0]); + if (!this._raw) { + this._binormals[0].normalize(); + } + this._distances[0] = 0.0; + // normals and binormals : next points + var prev; // previous vector (segment) + var cur; // current vector (segment) + var curTang; // current tangent + // previous normal + var prevBinor; // previous binormal + for (var i = 1; i < l; i++) { + // tangents + prev = this._getLastNonNullVector(i); + if (i < l - 1) { + cur = this._getFirstNonNullVector(i); + this._tangents[i] = prev.add(cur); + this._tangents[i].normalize(); + } + this._distances[i] = this._distances[i - 1] + prev.length(); + // normals and binormals + // http://www.cs.cmu.edu/afs/andrew/scs/cs/15-462/web/old/asst2camera.html + curTang = this._tangents[i]; + prevBinor = this._binormals[i - 1]; + this._normals[i] = Vector3.Cross(prevBinor, curTang); + if (!this._raw) { + this._normals[i].normalize(); + } + this._binormals[i] = Vector3.Cross(curTang, this._normals[i]); + if (!this._raw) { + this._binormals[i].normalize(); + } + } + }; + // private function getFirstNonNullVector(index) + // returns the first non null vector from index : curve[index + N].subtract(curve[index]) + Path3D.prototype._getFirstNonNullVector = function (index) { + var i = 1; + var nNVector = this._curve[index + i].subtract(this._curve[index]); + while (nNVector.length() === 0 && index + i + 1 < this._curve.length) { + i++; + nNVector = this._curve[index + i].subtract(this._curve[index]); + } + return nNVector; + }; + // private function getLastNonNullVector(index) + // returns the last non null vector from index : curve[index].subtract(curve[index - N]) + Path3D.prototype._getLastNonNullVector = function (index) { + var i = 1; + var nLVector = this._curve[index].subtract(this._curve[index - i]); + while (nLVector.length() === 0 && index > i + 1) { + i++; + nLVector = this._curve[index].subtract(this._curve[index - i]); + } + return nLVector; + }; + // private function normalVector(v0, vt, va) : + // returns an arbitrary point in the plane defined by the point v0 and the vector vt orthogonal to this plane + // if va is passed, it returns the va projection on the plane orthogonal to vt at the point v0 + Path3D.prototype._normalVector = function (v0, vt, va) { + var normal0; + var tgl = vt.length(); + if (tgl === 0.0) { + tgl = 1.0; + } + if (va === undefined || va === null) { + var point; + if (!MathTools.WithinEpsilon(Math.abs(vt.y) / tgl, 1.0, BABYLON.Epsilon)) { + point = new Vector3(0.0, -1.0, 0.0); + } + else if (!MathTools.WithinEpsilon(Math.abs(vt.x) / tgl, 1.0, BABYLON.Epsilon)) { + point = new Vector3(1.0, 0.0, 0.0); + } + else if (!MathTools.WithinEpsilon(Math.abs(vt.z) / tgl, 1.0, BABYLON.Epsilon)) { + point = new Vector3(0.0, 0.0, 1.0); + } + normal0 = Vector3.Cross(vt, point); + } + else { + normal0 = Vector3.Cross(vt, va); + Vector3.CrossToRef(normal0, vt, normal0); + } + normal0.normalize(); + return normal0; + }; + return Path3D; + }()); + BABYLON.Path3D = Path3D; + var Curve3 = (function () { + /** + * A Curve3 object is a logical object, so not a mesh, to handle curves in the 3D geometric space. + * A Curve3 is designed from a series of successive Vector3. + * Tuto : http://doc.babylonjs.com/tutorials/How_to_use_Curve3#curve3-object + */ + function Curve3(points) { + this._length = 0.0; + this._points = points; + this._length = this._computeLength(points); + } + /** + * Returns a Curve3 object along a Quadratic Bezier curve : http://doc.babylonjs.com/tutorials/How_to_use_Curve3#quadratic-bezier-curve + * @param v0 (Vector3) the origin point of the Quadratic Bezier + * @param v1 (Vector3) the control point + * @param v2 (Vector3) the end point of the Quadratic Bezier + * @param nbPoints (integer) the wanted number of points in the curve + */ + Curve3.CreateQuadraticBezier = function (v0, v1, v2, nbPoints) { + nbPoints = nbPoints > 2 ? nbPoints : 3; + var bez = new Array(); + var equation = function (t, val0, val1, val2) { + var res = (1.0 - t) * (1.0 - t) * val0 + 2.0 * t * (1.0 - t) * val1 + t * t * val2; + return res; + }; + for (var i = 0; i <= nbPoints; i++) { + bez.push(new Vector3(equation(i / nbPoints, v0.x, v1.x, v2.x), equation(i / nbPoints, v0.y, v1.y, v2.y), equation(i / nbPoints, v0.z, v1.z, v2.z))); + } + return new Curve3(bez); + }; + /** + * Returns a Curve3 object along a Cubic Bezier curve : http://doc.babylonjs.com/tutorials/How_to_use_Curve3#cubic-bezier-curve + * @param v0 (Vector3) the origin point of the Cubic Bezier + * @param v1 (Vector3) the first control point + * @param v2 (Vector3) the second control point + * @param v3 (Vector3) the end point of the Cubic Bezier + * @param nbPoints (integer) the wanted number of points in the curve + */ + Curve3.CreateCubicBezier = function (v0, v1, v2, v3, nbPoints) { + nbPoints = nbPoints > 3 ? nbPoints : 4; + var bez = new Array(); + var equation = function (t, val0, val1, val2, val3) { + var res = (1.0 - t) * (1.0 - t) * (1.0 - t) * val0 + 3.0 * t * (1.0 - t) * (1.0 - t) * val1 + 3.0 * t * t * (1.0 - t) * val2 + t * t * t * val3; + return res; + }; + for (var i = 0; i <= nbPoints; i++) { + bez.push(new Vector3(equation(i / nbPoints, v0.x, v1.x, v2.x, v3.x), equation(i / nbPoints, v0.y, v1.y, v2.y, v3.y), equation(i / nbPoints, v0.z, v1.z, v2.z, v3.z))); + } + return new Curve3(bez); + }; + /** + * Returns a Curve3 object along a Hermite Spline curve : http://doc.babylonjs.com/tutorials/How_to_use_Curve3#hermite-spline + * @param p1 (Vector3) the origin point of the Hermite Spline + * @param t1 (Vector3) the tangent vector at the origin point + * @param p2 (Vector3) the end point of the Hermite Spline + * @param t2 (Vector3) the tangent vector at the end point + * @param nbPoints (integer) the wanted number of points in the curve + */ + Curve3.CreateHermiteSpline = function (p1, t1, p2, t2, nbPoints) { + var hermite = new Array(); + var step = 1.0 / nbPoints; + for (var i = 0; i <= nbPoints; i++) { + hermite.push(Vector3.Hermite(p1, t1, p2, t2, i * step)); + } + return new Curve3(hermite); + }; + /** + * Returns the Curve3 stored array of successive Vector3 + */ + Curve3.prototype.getPoints = function () { + return this._points; + }; + /** + * Returns the computed length (float) of the curve. + */ + Curve3.prototype.length = function () { + return this._length; + }; + /** + * Returns a new instance of Curve3 object : var curve = curveA.continue(curveB); + * This new Curve3 is built by translating and sticking the curveB at the end of the curveA. + * curveA and curveB keep unchanged. + */ + Curve3.prototype.continue = function (curve) { + var lastPoint = this._points[this._points.length - 1]; + var continuedPoints = this._points.slice(); + var curvePoints = curve.getPoints(); + for (var i = 1; i < curvePoints.length; i++) { + continuedPoints.push(curvePoints[i].subtract(curvePoints[0]).add(lastPoint)); + } + var continuedCurve = new Curve3(continuedPoints); + return continuedCurve; + }; + Curve3.prototype._computeLength = function (path) { + var l = 0; + for (var i = 1; i < path.length; i++) { + l += (path[i].subtract(path[i - 1])).length(); + } + return l; + }; + return Curve3; + }()); + BABYLON.Curve3 = Curve3; + // SphericalHarmonics + var SphericalHarmonics = (function () { + function SphericalHarmonics() { + this.L00 = Vector3.Zero(); + this.L1_1 = Vector3.Zero(); + this.L10 = Vector3.Zero(); + this.L11 = Vector3.Zero(); + this.L2_2 = Vector3.Zero(); + this.L2_1 = Vector3.Zero(); + this.L20 = Vector3.Zero(); + this.L21 = Vector3.Zero(); + this.L22 = Vector3.Zero(); + } + SphericalHarmonics.prototype.addLight = function (direction, color, deltaSolidAngle) { + var colorVector = new Vector3(color.r, color.g, color.b); + var c = colorVector.scale(deltaSolidAngle); + this.L00 = this.L00.add(c.scale(0.282095)); + this.L1_1 = this.L1_1.add(c.scale(0.488603 * direction.y)); + this.L10 = this.L10.add(c.scale(0.488603 * direction.z)); + this.L11 = this.L11.add(c.scale(0.488603 * direction.x)); + this.L2_2 = this.L2_2.add(c.scale(1.092548 * direction.x * direction.y)); + this.L2_1 = this.L2_1.add(c.scale(1.092548 * direction.y * direction.z)); + this.L21 = this.L21.add(c.scale(1.092548 * direction.x * direction.z)); + this.L20 = this.L20.add(c.scale(0.315392 * (3.0 * direction.z * direction.z - 1.0))); + this.L22 = this.L22.add(c.scale(0.546274 * (direction.x * direction.x - direction.y * direction.y))); + }; + SphericalHarmonics.prototype.scale = function (scale) { + this.L00 = this.L00.scale(scale); + this.L1_1 = this.L1_1.scale(scale); + this.L10 = this.L10.scale(scale); + this.L11 = this.L11.scale(scale); + this.L2_2 = this.L2_2.scale(scale); + this.L2_1 = this.L2_1.scale(scale); + this.L20 = this.L20.scale(scale); + this.L21 = this.L21.scale(scale); + this.L22 = this.L22.scale(scale); + }; + return SphericalHarmonics; + }()); + BABYLON.SphericalHarmonics = SphericalHarmonics; + // SphericalPolynomial + var SphericalPolynomial = (function () { + function SphericalPolynomial() { + this.x = Vector3.Zero(); + this.y = Vector3.Zero(); + this.z = Vector3.Zero(); + this.xx = Vector3.Zero(); + this.yy = Vector3.Zero(); + this.zz = Vector3.Zero(); + this.xy = Vector3.Zero(); + this.yz = Vector3.Zero(); + this.zx = Vector3.Zero(); + } + SphericalPolynomial.prototype.addAmbient = function (color) { + var colorVector = new Vector3(color.r, color.g, color.b); + this.xx = this.xx.add(colorVector); + this.yy = this.yy.add(colorVector); + this.zz = this.zz.add(colorVector); + }; + SphericalPolynomial.getSphericalPolynomialFromHarmonics = function (harmonics) { + var result = new SphericalPolynomial(); + result.x = harmonics.L11.scale(1.02333); + result.y = harmonics.L1_1.scale(1.02333); + result.z = harmonics.L10.scale(1.02333); + result.xx = harmonics.L00.scale(0.886277).subtract(harmonics.L20.scale(0.247708)).add(harmonics.L22.scale(0.429043)); + result.yy = harmonics.L00.scale(0.886277).subtract(harmonics.L20.scale(0.247708)).subtract(harmonics.L22.scale(0.429043)); + result.zz = harmonics.L00.scale(0.886277).add(harmonics.L20.scale(0.495417)); + result.yz = harmonics.L2_1.scale(0.858086); + result.zx = harmonics.L21.scale(0.858086); + result.xy = harmonics.L2_2.scale(0.858086); + return result; + }; + return SphericalPolynomial; + }()); + BABYLON.SphericalPolynomial = SphericalPolynomial; + // Vertex formats + var PositionNormalVertex = (function () { + function PositionNormalVertex(position, normal) { + if (position === void 0) { position = Vector3.Zero(); } + if (normal === void 0) { normal = Vector3.Up(); } + this.position = position; + this.normal = normal; + } + PositionNormalVertex.prototype.clone = function () { + return new PositionNormalVertex(this.position.clone(), this.normal.clone()); + }; + return PositionNormalVertex; + }()); + BABYLON.PositionNormalVertex = PositionNormalVertex; + var PositionNormalTextureVertex = (function () { + function PositionNormalTextureVertex(position, normal, uv) { + if (position === void 0) { position = Vector3.Zero(); } + if (normal === void 0) { normal = Vector3.Up(); } + if (uv === void 0) { uv = Vector2.Zero(); } + this.position = position; + this.normal = normal; + this.uv = uv; + } + PositionNormalTextureVertex.prototype.clone = function () { + return new PositionNormalTextureVertex(this.position.clone(), this.normal.clone(), this.uv.clone()); + }; + return PositionNormalTextureVertex; + }()); + BABYLON.PositionNormalTextureVertex = PositionNormalTextureVertex; + // Temporary pre-allocated objects for engine internal use + // usage in any internal function : + // var tmp = Tmp.Vector3[0]; <= gets access to the first pre-created Vector3 + // There's a Tmp array per object type : int, float, Vector2, Vector3, Vector4, Quaternion, Matrix + var Tmp = (function () { + function Tmp() { + } + Tmp.Color3 = [Color3.Black(), Color3.Black(), Color3.Black()]; + Tmp.Vector2 = [Vector2.Zero(), Vector2.Zero(), Vector2.Zero()]; // 3 temp Vector2 at once should be enough + Tmp.Vector3 = [Vector3.Zero(), Vector3.Zero(), Vector3.Zero(), + Vector3.Zero(), Vector3.Zero(), Vector3.Zero(), Vector3.Zero(), Vector3.Zero(), Vector3.Zero()]; // 9 temp Vector3 at once should be enough + Tmp.Vector4 = [Vector4.Zero(), Vector4.Zero(), Vector4.Zero()]; // 3 temp Vector4 at once should be enough + Tmp.Quaternion = [new Quaternion(0, 0, 0, 0)]; // 1 temp Quaternion at once should be enough + Tmp.Matrix = [Matrix.Zero(), Matrix.Zero(), + Matrix.Zero(), Matrix.Zero(), + Matrix.Zero(), Matrix.Zero(), + Matrix.Zero(), Matrix.Zero()]; // 6 temp Matrices at once should be enough + return Tmp; + }()); + BABYLON.Tmp = Tmp; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.math.js.map + + + +//# sourceMappingURL=babylon.mixins.js.map + +var BABYLON; +(function (BABYLON) { + function generateSerializableMember(type, sourceName) { + return function (target, propertyKey) { + if (!target.__serializableMembers) { + target.__serializableMembers = {}; + } + if (!target.__serializableMembers[propertyKey]) { + target.__serializableMembers[propertyKey] = { type: type, sourceName: sourceName }; + } + }; + } + function serialize(sourceName) { + return generateSerializableMember(0, sourceName); // value member + } + BABYLON.serialize = serialize; + function serializeAsTexture(sourceName) { + return generateSerializableMember(1, sourceName); // texture member + } + BABYLON.serializeAsTexture = serializeAsTexture; + function serializeAsColor3(sourceName) { + return generateSerializableMember(2, sourceName); // color3 member + } + BABYLON.serializeAsColor3 = serializeAsColor3; + function serializeAsFresnelParameters(sourceName) { + return generateSerializableMember(3, sourceName); // fresnel parameters member + } + BABYLON.serializeAsFresnelParameters = serializeAsFresnelParameters; + function serializeAsVector2(sourceName) { + return generateSerializableMember(4, sourceName); // vector2 member + } + BABYLON.serializeAsVector2 = serializeAsVector2; + function serializeAsVector3(sourceName) { + return generateSerializableMember(5, sourceName); // vector3 member + } + BABYLON.serializeAsVector3 = serializeAsVector3; + function serializeAsMeshReference(sourceName) { + return generateSerializableMember(6, sourceName); // mesh reference member + } + BABYLON.serializeAsMeshReference = serializeAsMeshReference; + function serializeAsColorCurves(sourceName) { + return generateSerializableMember(7, sourceName); // color curves + } + BABYLON.serializeAsColorCurves = serializeAsColorCurves; + var SerializationHelper = (function () { + function SerializationHelper() { + } + SerializationHelper.Serialize = function (entity, serializationObject) { + if (!serializationObject) { + serializationObject = {}; + } + // Tags + serializationObject.tags = BABYLON.Tags.GetTags(entity); + // Properties + for (var property in entity.__serializableMembers) { + var propertyDescriptor = entity.__serializableMembers[property]; + var targetPropertyName = propertyDescriptor.sourceName || property; + var propertyType = propertyDescriptor.type; + var sourceProperty = entity[property]; + if (sourceProperty !== undefined && sourceProperty !== null) { + switch (propertyType) { + case 0: + serializationObject[targetPropertyName] = sourceProperty; + break; + case 1: + serializationObject[targetPropertyName] = sourceProperty.serialize(); + break; + case 2: + serializationObject[targetPropertyName] = sourceProperty.asArray(); + break; + case 3: + serializationObject[targetPropertyName] = sourceProperty.serialize(); + break; + case 4: + serializationObject[targetPropertyName] = sourceProperty.asArray(); + break; + case 5: + serializationObject[targetPropertyName] = sourceProperty.asArray(); + break; + case 6: + serializationObject[targetPropertyName] = sourceProperty.id; + break; + case 7: + serializationObject[targetPropertyName] = sourceProperty.serialize(); + break; + } + } + } + return serializationObject; + }; + SerializationHelper.Parse = function (creationFunction, source, scene, rootUrl) { + var destination = creationFunction(); + // Tags + BABYLON.Tags.AddTagsTo(destination, source.tags); + // Properties + for (var property in destination.__serializableMembers) { + var propertyDescriptor = destination.__serializableMembers[property]; + var sourceProperty = source[propertyDescriptor.sourceName || property]; + var propertyType = propertyDescriptor.type; + if (sourceProperty !== undefined && sourceProperty !== null) { + switch (propertyType) { + case 0: + destination[property] = sourceProperty; + break; + case 1: + destination[property] = BABYLON.Texture.Parse(sourceProperty, scene, rootUrl); + break; + case 2: + destination[property] = BABYLON.Color3.FromArray(sourceProperty); + break; + case 3: + destination[property] = BABYLON.FresnelParameters.Parse(sourceProperty); + break; + case 4: + destination[property] = BABYLON.Vector2.FromArray(sourceProperty); + break; + case 5: + destination[property] = BABYLON.Vector3.FromArray(sourceProperty); + break; + case 6: + destination[property] = scene.getLastMeshByID(sourceProperty); + break; + case 7: + destination[property] = BABYLON.ColorCurves.Parse(sourceProperty); + break; + } + } + } + return destination; + }; + SerializationHelper.Clone = function (creationFunction, source) { + var destination = creationFunction(); + // Tags + BABYLON.Tags.AddTagsTo(destination, source.tags); + // Properties + for (var property in destination.__serializableMembers) { + var propertyDescriptor = destination.__serializableMembers[property]; + var sourceProperty = source[property]; + var propertyType = propertyDescriptor.type; + if (sourceProperty !== undefined && sourceProperty !== null) { + switch (propertyType) { + case 0: // Value + case 6: + destination[property] = sourceProperty; + break; + case 1: // Texture + case 2: // Color3 + case 3: // FresnelParameters + case 4: // Vector2 + case 5: // Vector3 + case 7: + destination[property] = sourceProperty.clone(); + break; + } + } + } + return destination; + }; + return SerializationHelper; + }()); + BABYLON.SerializationHelper = SerializationHelper; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.decorators.js.map + +var BABYLON; +(function (BABYLON) { + /** + * A class serves as a medium between the observable and its observers + */ + var EventState = (function () { + /** + * If the callback of a given Observer set skipNextObservers to true the following observers will be ignored + */ + function EventState(mask, skipNextObservers) { + if (skipNextObservers === void 0) { skipNextObservers = false; } + this.initalize(mask, skipNextObservers); + } + EventState.prototype.initalize = function (mask, skipNextObservers) { + if (skipNextObservers === void 0) { skipNextObservers = false; } + this.mask = mask; + this.skipNextObservers = skipNextObservers; + return this; + }; + return EventState; + }()); + BABYLON.EventState = EventState; + /** + * Represent an Observer registered to a given Observable object. + */ + var Observer = (function () { + function Observer(callback, mask) { + this.callback = callback; + this.mask = mask; + } + return Observer; + }()); + BABYLON.Observer = Observer; + /** + * The Observable class is a simple implementation of the Observable pattern. + * There's one slight particularity though: a given Observable can notify its observer using a particular mask value, only the Observers registered with this mask value will be notified. + * This enable a more fine grained execution without having to rely on multiple different Observable objects. + * For instance you may have a given Observable that have four different types of notifications: Move (mask = 0x01), Stop (mask = 0x02), Turn Right (mask = 0X04), Turn Left (mask = 0X08). + * A given observer can register itself with only Move and Stop (mask = 0x03), then it will only be notified when one of these two occurs and will never be for Turn Left/Right. + */ + var Observable = (function () { + function Observable() { + this._observers = new Array(); + this._eventState = new EventState(0); + } + /** + * Create a new Observer with the specified callback + * @param callback the callback that will be executed for that Observer + * @param mask the mask used to filter observers + * @param insertFirst if true the callback will be inserted at the first position, hence executed before the others ones. If false (default behavior) the callback will be inserted at the last position, executed after all the others already present. + */ + Observable.prototype.add = function (callback, mask, insertFirst) { + if (mask === void 0) { mask = -1; } + if (insertFirst === void 0) { insertFirst = false; } + if (!callback) { + return null; + } + var observer = new Observer(callback, mask); + if (insertFirst) { + this._observers.unshift(observer); + } + else { + this._observers.push(observer); + } + return observer; + }; + /** + * Remove an Observer from the Observable object + * @param observer the instance of the Observer to remove. If it doesn't belong to this Observable, false will be returned. + */ + Observable.prototype.remove = function (observer) { + var index = this._observers.indexOf(observer); + if (index !== -1) { + this._observers.splice(index, 1); + return true; + } + return false; + }; + /** + * Remove a callback from the Observable object + * @param callback the callback to remove. If it doesn't belong to this Observable, false will be returned. + */ + Observable.prototype.removeCallback = function (callback) { + for (var index = 0; index < this._observers.length; index++) { + if (this._observers[index].callback === callback) { + this._observers.splice(index, 1); + return true; + } + } + return false; + }; + /** + * Notify all Observers by calling their respective callback with the given data + * Will return true if all observers were executed, false if an observer set skipNextObservers to true, then prevent the subsequent ones to execute + * @param eventData + * @param mask + */ + Observable.prototype.notifyObservers = function (eventData, mask) { + if (mask === void 0) { mask = -1; } + var state = this._eventState; + state.mask = mask; + state.skipNextObservers = false; + for (var _i = 0, _a = this._observers; _i < _a.length; _i++) { + var obs = _a[_i]; + if (obs.mask & mask) { + obs.callback(eventData, state); + } + if (state.skipNextObservers) { + return false; + } + } + return true; + }; + /** + * return true is the Observable has at least one Observer registered + */ + Observable.prototype.hasObservers = function () { + return this._observers.length > 0; + }; + /** + * Clear the list of observers + */ + Observable.prototype.clear = function () { + this._observers = new Array(); + }; + /** + * Clone the current observable + */ + Observable.prototype.clone = function () { + var result = new Observable(); + result._observers = this._observers.slice(0); + return result; + }; + return Observable; + }()); + BABYLON.Observable = Observable; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.observable.js.map + +var BABYLON; +(function (BABYLON) { + var Database = (function () { + function Database(urlToScene, callbackManifestChecked) { + // Handling various flavors of prefixed version of IndexedDB + this.idbFactory = (window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB); + this.callbackManifestChecked = callbackManifestChecked; + this.currentSceneUrl = Database.ReturnFullUrlLocation(urlToScene); + this.db = null; + this.enableSceneOffline = false; + this.enableTexturesOffline = false; + this.manifestVersionFound = 0; + this.mustUpdateRessources = false; + this.hasReachedQuota = false; + if (!Database.IDBStorageEnabled) { + this.callbackManifestChecked(true); + } + else { + this.checkManifestFile(); + } + } + Database.prototype.checkManifestFile = function () { + var _this = this; + function noManifestFile() { + that.enableSceneOffline = false; + that.enableTexturesOffline = false; + that.callbackManifestChecked(false); + } + var that = this; + var timeStampUsed = false; + var manifestURL = this.currentSceneUrl + ".manifest"; + var xhr = new XMLHttpRequest(); + if (navigator.onLine) { + // Adding a timestamp to by-pass browsers' cache + timeStampUsed = true; + manifestURL = manifestURL + (manifestURL.match(/\?/) == null ? "?" : "&") + (new Date()).getTime(); + } + xhr.open("GET", manifestURL, true); + xhr.addEventListener("load", function () { + if (xhr.status === 200 || BABYLON.Tools.ValidateXHRData(xhr, 1)) { + try { + var manifestFile = JSON.parse(xhr.response); + _this.enableSceneOffline = manifestFile.enableSceneOffline; + _this.enableTexturesOffline = manifestFile.enableTexturesOffline; + if (manifestFile.version && !isNaN(parseInt(manifestFile.version))) { + _this.manifestVersionFound = manifestFile.version; + } + if (_this.callbackManifestChecked) { + _this.callbackManifestChecked(true); + } + } + catch (ex) { + noManifestFile(); + } + } + else { + noManifestFile(); + } + }, false); + xhr.addEventListener("error", function (event) { + if (timeStampUsed) { + timeStampUsed = false; + // Let's retry without the timeStamp + // It could fail when coupled with HTML5 Offline API + var retryManifestURL = _this.currentSceneUrl + ".manifest"; + xhr.open("GET", retryManifestURL, true); + xhr.send(); + } + else { + noManifestFile(); + } + }, false); + try { + xhr.send(); + } + catch (ex) { + BABYLON.Tools.Error("Error on XHR send request."); + that.callbackManifestChecked(false); + } + }; + Database.prototype.openAsync = function (successCallback, errorCallback) { + var _this = this; + function handleError() { + that.isSupported = false; + if (errorCallback) + errorCallback(); + } + var that = this; + if (!this.idbFactory || !(this.enableSceneOffline || this.enableTexturesOffline)) { + // Your browser doesn't support IndexedDB + this.isSupported = false; + if (errorCallback) + errorCallback(); + } + else { + // If the DB hasn't been opened or created yet + if (!this.db) { + this.hasReachedQuota = false; + this.isSupported = true; + var request = this.idbFactory.open("babylonjs", 1); + // Could occur if user is blocking the quota for the DB and/or doesn't grant access to IndexedDB + request.onerror = function (event) { + handleError(); + }; + // executes when a version change transaction cannot complete due to other active transactions + request.onblocked = function (event) { + BABYLON.Tools.Error("IDB request blocked. Please reload the page."); + handleError(); + }; + // DB has been opened successfully + request.onsuccess = function (event) { + _this.db = request.result; + successCallback(); + }; + // Initialization of the DB. Creating Scenes & Textures stores + request.onupgradeneeded = function (event) { + _this.db = (event.target).result; + try { + var scenesStore = _this.db.createObjectStore("scenes", { keyPath: "sceneUrl" }); + var versionsStore = _this.db.createObjectStore("versions", { keyPath: "sceneUrl" }); + var texturesStore = _this.db.createObjectStore("textures", { keyPath: "textureUrl" }); + } + catch (ex) { + BABYLON.Tools.Error("Error while creating object stores. Exception: " + ex.message); + handleError(); + } + }; + } + else { + if (successCallback) + successCallback(); + } + } + }; + Database.prototype.loadImageFromDB = function (url, image) { + var _this = this; + var completeURL = Database.ReturnFullUrlLocation(url); + var saveAndLoadImage = function () { + if (!_this.hasReachedQuota && _this.db !== null) { + // the texture is not yet in the DB, let's try to save it + _this._saveImageIntoDBAsync(completeURL, image); + } + else { + image.src = url; + } + }; + if (!this.mustUpdateRessources) { + this._loadImageFromDBAsync(completeURL, image, saveAndLoadImage); + } + else { + saveAndLoadImage(); + } + }; + Database.prototype._loadImageFromDBAsync = function (url, image, notInDBCallback) { + if (this.isSupported && this.db !== null) { + var texture; + var transaction = this.db.transaction(["textures"]); + transaction.onabort = function (event) { + image.src = url; + }; + transaction.oncomplete = function (event) { + var blobTextureURL; + if (texture) { + var URL = window.URL || window.webkitURL; + blobTextureURL = URL.createObjectURL(texture.data, { oneTimeOnly: true }); + image.onerror = function () { + BABYLON.Tools.Error("Error loading image from blob URL: " + blobTextureURL + " switching back to web url: " + url); + image.src = url; + }; + image.src = blobTextureURL; + } + else { + notInDBCallback(); + } + }; + var getRequest = transaction.objectStore("textures").get(url); + getRequest.onsuccess = function (event) { + texture = (event.target).result; + }; + getRequest.onerror = function (event) { + BABYLON.Tools.Error("Error loading texture " + url + " from DB."); + image.src = url; + }; + } + else { + BABYLON.Tools.Error("Error: IndexedDB not supported by your browser or BabylonJS Database is not open."); + image.src = url; + } + }; + Database.prototype._saveImageIntoDBAsync = function (url, image) { + var _this = this; + if (this.isSupported) { + // In case of error (type not supported or quota exceeded), we're at least sending back XHR data to allow texture loading later on + var generateBlobUrl = function () { + var blobTextureURL; + if (blob) { + var URL = window.URL || window.webkitURL; + try { + blobTextureURL = URL.createObjectURL(blob, { oneTimeOnly: true }); + } + // Chrome is raising a type error if we're setting the oneTimeOnly parameter + catch (ex) { + blobTextureURL = URL.createObjectURL(blob); + } + } + image.src = blobTextureURL; + }; + if (Database.IsUASupportingBlobStorage) { + var xhr = new XMLHttpRequest(), blob; + xhr.open("GET", url, true); + xhr.responseType = "blob"; + xhr.addEventListener("load", function () { + if (xhr.status === 200) { + // Blob as response (XHR2) + blob = xhr.response; + var transaction = _this.db.transaction(["textures"], "readwrite"); + // the transaction could abort because of a QuotaExceededError error + transaction.onabort = function (event) { + try { + //backwards compatibility with ts 1.0, srcElement doesn't have an "error" according to ts 1.3 + if (event.srcElement['error'] && event.srcElement['error'].name === "QuotaExceededError") { + _this.hasReachedQuota = true; + } + } + catch (ex) { } + generateBlobUrl(); + }; + transaction.oncomplete = function (event) { + generateBlobUrl(); + }; + var newTexture = { textureUrl: url, data: blob }; + try { + // Put the blob into the dabase + var addRequest = transaction.objectStore("textures").put(newTexture); + addRequest.onsuccess = function (event) { + }; + addRequest.onerror = function (event) { + generateBlobUrl(); + }; + } + catch (ex) { + // "DataCloneError" generated by Chrome when you try to inject blob into IndexedDB + if (ex.code === 25) { + Database.IsUASupportingBlobStorage = false; + } + image.src = url; + } + } + else { + image.src = url; + } + }, false); + xhr.addEventListener("error", function (event) { + BABYLON.Tools.Error("Error in XHR request in BABYLON.Database."); + image.src = url; + }, false); + xhr.send(); + } + else { + image.src = url; + } + } + else { + BABYLON.Tools.Error("Error: IndexedDB not supported by your browser or BabylonJS Database is not open."); + image.src = url; + } + }; + Database.prototype._checkVersionFromDB = function (url, versionLoaded) { + var _this = this; + var updateVersion = function (event) { + // the version is not yet in the DB or we need to update it + _this._saveVersionIntoDBAsync(url, versionLoaded); + }; + this._loadVersionFromDBAsync(url, versionLoaded, updateVersion); + }; + Database.prototype._loadVersionFromDBAsync = function (url, callback, updateInDBCallback) { + var _this = this; + if (this.isSupported) { + var version; + try { + var transaction = this.db.transaction(["versions"]); + transaction.oncomplete = function (event) { + if (version) { + // If the version in the JSON file is > than the version in DB + if (_this.manifestVersionFound > version.data) { + _this.mustUpdateRessources = true; + updateInDBCallback(); + } + else { + callback(version.data); + } + } + else { + _this.mustUpdateRessources = true; + updateInDBCallback(); + } + }; + transaction.onabort = function (event) { + callback(-1); + }; + var getRequest = transaction.objectStore("versions").get(url); + getRequest.onsuccess = function (event) { + version = (event.target).result; + }; + getRequest.onerror = function (event) { + BABYLON.Tools.Error("Error loading version for scene " + url + " from DB."); + callback(-1); + }; + } + catch (ex) { + BABYLON.Tools.Error("Error while accessing 'versions' object store (READ OP). Exception: " + ex.message); + callback(-1); + } + } + else { + BABYLON.Tools.Error("Error: IndexedDB not supported by your browser or BabylonJS Database is not open."); + callback(-1); + } + }; + Database.prototype._saveVersionIntoDBAsync = function (url, callback) { + var _this = this; + if (this.isSupported && !this.hasReachedQuota) { + try { + // Open a transaction to the database + var transaction = this.db.transaction(["versions"], "readwrite"); + // the transaction could abort because of a QuotaExceededError error + transaction.onabort = function (event) { + try { + if (event.srcElement['error'] && event.srcElement['error'].name === "QuotaExceededError") { + _this.hasReachedQuota = true; + } + } + catch (ex) { } + callback(-1); + }; + transaction.oncomplete = function (event) { + callback(_this.manifestVersionFound); + }; + var newVersion = { sceneUrl: url, data: this.manifestVersionFound }; + // Put the scene into the database + var addRequest = transaction.objectStore("versions").put(newVersion); + addRequest.onsuccess = function (event) { + }; + addRequest.onerror = function (event) { + BABYLON.Tools.Error("Error in DB add version request in BABYLON.Database."); + }; + } + catch (ex) { + BABYLON.Tools.Error("Error while accessing 'versions' object store (WRITE OP). Exception: " + ex.message); + callback(-1); + } + } + else { + callback(-1); + } + }; + Database.prototype.loadFileFromDB = function (url, sceneLoaded, progressCallBack, errorCallback, useArrayBuffer) { + var _this = this; + var completeUrl = Database.ReturnFullUrlLocation(url); + var saveAndLoadFile = function (event) { + // the scene is not yet in the DB, let's try to save it + _this._saveFileIntoDBAsync(completeUrl, sceneLoaded, progressCallBack); + }; + this._checkVersionFromDB(completeUrl, function (version) { + if (version !== -1) { + if (!_this.mustUpdateRessources) { + _this._loadFileFromDBAsync(completeUrl, sceneLoaded, saveAndLoadFile, useArrayBuffer); + } + else { + _this._saveFileIntoDBAsync(completeUrl, sceneLoaded, progressCallBack, useArrayBuffer); + } + } + else { + errorCallback(); + } + }); + }; + Database.prototype._loadFileFromDBAsync = function (url, callback, notInDBCallback, useArrayBuffer) { + if (this.isSupported) { + var targetStore; + if (url.indexOf(".babylon") !== -1) { + targetStore = "scenes"; + } + else { + targetStore = "textures"; + } + var file; + var transaction = this.db.transaction([targetStore]); + transaction.oncomplete = function (event) { + if (file) { + callback(file.data); + } + else { + notInDBCallback(); + } + }; + transaction.onabort = function (event) { + notInDBCallback(); + }; + var getRequest = transaction.objectStore(targetStore).get(url); + getRequest.onsuccess = function (event) { + file = (event.target).result; + }; + getRequest.onerror = function (event) { + BABYLON.Tools.Error("Error loading file " + url + " from DB."); + notInDBCallback(); + }; + } + else { + BABYLON.Tools.Error("Error: IndexedDB not supported by your browser or BabylonJS Database is not open."); + callback(); + } + }; + Database.prototype._saveFileIntoDBAsync = function (url, callback, progressCallback, useArrayBuffer) { + var _this = this; + if (this.isSupported) { + var targetStore; + if (url.indexOf(".babylon") !== -1) { + targetStore = "scenes"; + } + else { + targetStore = "textures"; + } + // Create XHR + var xhr = new XMLHttpRequest(), fileData; + xhr.open("GET", url, true); + if (useArrayBuffer) { + xhr.responseType = "arraybuffer"; + } + xhr.onprogress = progressCallback; + xhr.addEventListener("load", function () { + if (xhr.status === 200 || BABYLON.Tools.ValidateXHRData(xhr, !useArrayBuffer ? 1 : 6)) { + // Blob as response (XHR2) + //fileData = xhr.responseText; + fileData = !useArrayBuffer ? xhr.responseText : xhr.response; + if (!_this.hasReachedQuota) { + // Open a transaction to the database + var transaction = _this.db.transaction([targetStore], "readwrite"); + // the transaction could abort because of a QuotaExceededError error + transaction.onabort = function (event) { + try { + //backwards compatibility with ts 1.0, srcElement doesn't have an "error" according to ts 1.3 + if (event.srcElement['error'] && event.srcElement['error'].name === "QuotaExceededError") { + _this.hasReachedQuota = true; + } + } + catch (ex) { } + callback(fileData); + }; + transaction.oncomplete = function (event) { + callback(fileData); + }; + var newFile; + if (targetStore === "scenes") { + newFile = { sceneUrl: url, data: fileData, version: _this.manifestVersionFound }; + } + else { + newFile = { textureUrl: url, data: fileData }; + } + try { + // Put the scene into the database + var addRequest = transaction.objectStore(targetStore).put(newFile); + addRequest.onsuccess = function (event) { + }; + addRequest.onerror = function (event) { + BABYLON.Tools.Error("Error in DB add file request in BABYLON.Database."); + }; + } + catch (ex) { + callback(fileData); + } + } + else { + callback(fileData); + } + } + else { + callback(); + } + }, false); + xhr.addEventListener("error", function (event) { + BABYLON.Tools.Error("error on XHR request."); + callback(); + }, false); + xhr.send(); + } + else { + BABYLON.Tools.Error("Error: IndexedDB not supported by your browser or BabylonJS Database is not open."); + callback(); + } + }; + Database.IsUASupportingBlobStorage = true; + Database.IDBStorageEnabled = true; + Database.parseURL = function (url) { + var a = document.createElement('a'); + a.href = url; + var urlWithoutHash = url.substring(0, url.lastIndexOf("#")); + var fileName = url.substring(urlWithoutHash.lastIndexOf("/") + 1, url.length); + var absLocation = url.substring(0, url.indexOf(fileName, 0)); + return absLocation; + }; + Database.ReturnFullUrlLocation = function (url) { + if (url.indexOf("http:/") === -1) { + return (Database.parseURL(window.location.href) + url); + } + else { + return url; + } + }; + return Database; + }()); + BABYLON.Database = Database; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.database.js.map + +var BABYLON; +(function (BABYLON) { + var Internals; + (function (Internals) { + /* + * Based on jsTGALoader - Javascript loader for TGA file + * By Vincent Thibault + * @blog http://blog.robrowser.com/javascript-tga-loader.html + */ + var TGATools = (function () { + function TGATools() { + } + TGATools.GetTGAHeader = function (data) { + var offset = 0; + var header = { + id_length: data[offset++], + colormap_type: data[offset++], + image_type: data[offset++], + colormap_index: data[offset++] | data[offset++] << 8, + colormap_length: data[offset++] | data[offset++] << 8, + colormap_size: data[offset++], + origin: [ + data[offset++] | data[offset++] << 8, + data[offset++] | data[offset++] << 8 + ], + width: data[offset++] | data[offset++] << 8, + height: data[offset++] | data[offset++] << 8, + pixel_size: data[offset++], + flags: data[offset++] + }; + return header; + }; + TGATools.UploadContent = function (gl, data) { + // Not enough data to contain header ? + if (data.length < 19) { + BABYLON.Tools.Error("Unable to load TGA file - Not enough data to contain header"); + return; + } + // Read Header + var offset = 18; + var header = TGATools.GetTGAHeader(data); + // Assume it's a valid Targa file. + if (header.id_length + offset > data.length) { + BABYLON.Tools.Error("Unable to load TGA file - Not enough data"); + return; + } + // Skip not needed data + offset += header.id_length; + var use_rle = false; + var use_pal = false; + var use_rgb = false; + var use_grey = false; + // Get some informations. + switch (header.image_type) { + case TGATools._TYPE_RLE_INDEXED: + use_rle = true; + case TGATools._TYPE_INDEXED: + use_pal = true; + break; + case TGATools._TYPE_RLE_RGB: + use_rle = true; + case TGATools._TYPE_RGB: + use_rgb = true; + break; + case TGATools._TYPE_RLE_GREY: + use_rle = true; + case TGATools._TYPE_GREY: + use_grey = true; + break; + } + var pixel_data; + var numAlphaBits = header.flags & 0xf; + var pixel_size = header.pixel_size >> 3; + var pixel_total = header.width * header.height * pixel_size; + // Read palettes + var palettes; + if (use_pal) { + palettes = data.subarray(offset, offset += header.colormap_length * (header.colormap_size >> 3)); + } + // Read LRE + if (use_rle) { + pixel_data = new Uint8Array(pixel_total); + var c, count, i; + var localOffset = 0; + var pixels = new Uint8Array(pixel_size); + while (offset < pixel_total && localOffset < pixel_total) { + c = data[offset++]; + count = (c & 0x7f) + 1; + // RLE pixels + if (c & 0x80) { + // Bind pixel tmp array + for (i = 0; i < pixel_size; ++i) { + pixels[i] = data[offset++]; + } + // Copy pixel array + for (i = 0; i < count; ++i) { + pixel_data.set(pixels, localOffset + i * pixel_size); + } + localOffset += pixel_size * count; + } + else { + count *= pixel_size; + for (i = 0; i < count; ++i) { + pixel_data[localOffset + i] = data[offset++]; + } + localOffset += count; + } + } + } + else { + pixel_data = data.subarray(offset, offset += (use_pal ? header.width * header.height : pixel_total)); + } + // Load to texture + var x_start, y_start, x_step, y_step, y_end, x_end; + switch ((header.flags & TGATools._ORIGIN_MASK) >> TGATools._ORIGIN_SHIFT) { + default: + case TGATools._ORIGIN_UL: + x_start = 0; + x_step = 1; + x_end = header.width; + y_start = 0; + y_step = 1; + y_end = header.height; + break; + case TGATools._ORIGIN_BL: + x_start = 0; + x_step = 1; + x_end = header.width; + y_start = header.height - 1; + y_step = -1; + y_end = -1; + break; + case TGATools._ORIGIN_UR: + x_start = header.width - 1; + x_step = -1; + x_end = -1; + y_start = 0; + y_step = 1; + y_end = header.height; + break; + case TGATools._ORIGIN_BR: + x_start = header.width - 1; + x_step = -1; + x_end = -1; + y_start = header.height - 1; + y_step = -1; + y_end = -1; + break; + } + // Load the specify method + var func = '_getImageData' + (use_grey ? 'Grey' : '') + (header.pixel_size) + 'bits'; + var imageData = TGATools[func](header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end); + gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, header.width, header.height, 0, gl.RGBA, gl.UNSIGNED_BYTE, imageData); + }; + TGATools._getImageData8bits = function (header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) { + var image = pixel_data, colormap = palettes; + var width = header.width, height = header.height; + var color, i = 0, x, y; + var imageData = new Uint8Array(width * height * 4); + for (y = y_start; y !== y_end; y += y_step) { + for (x = x_start; x !== x_end; x += x_step, i++) { + color = image[i]; + imageData[(x + width * y) * 4 + 3] = 255; + imageData[(x + width * y) * 4 + 2] = colormap[(color * 3) + 0]; + imageData[(x + width * y) * 4 + 1] = colormap[(color * 3) + 1]; + imageData[(x + width * y) * 4 + 0] = colormap[(color * 3) + 2]; + } + } + return imageData; + }; + TGATools._getImageData16bits = function (header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) { + var image = pixel_data; + var width = header.width, height = header.height; + var color, i = 0, x, y; + var imageData = new Uint8Array(width * height * 4); + for (y = y_start; y !== y_end; y += y_step) { + for (x = x_start; x !== x_end; x += x_step, i += 2) { + color = image[i + 0] + (image[i + 1] << 8); // Inversed ? + imageData[(x + width * y) * 4 + 0] = (color & 0x7C00) >> 7; + imageData[(x + width * y) * 4 + 1] = (color & 0x03E0) >> 2; + imageData[(x + width * y) * 4 + 2] = (color & 0x001F) >> 3; + imageData[(x + width * y) * 4 + 3] = (color & 0x8000) ? 0 : 255; + } + } + return imageData; + }; + TGATools._getImageData24bits = function (header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) { + var image = pixel_data; + var width = header.width, height = header.height; + var i = 0, x, y; + var imageData = new Uint8Array(width * height * 4); + for (y = y_start; y !== y_end; y += y_step) { + for (x = x_start; x !== x_end; x += x_step, i += 3) { + imageData[(x + width * y) * 4 + 3] = 255; + imageData[(x + width * y) * 4 + 2] = image[i + 0]; + imageData[(x + width * y) * 4 + 1] = image[i + 1]; + imageData[(x + width * y) * 4 + 0] = image[i + 2]; + } + } + return imageData; + }; + TGATools._getImageData32bits = function (header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) { + var image = pixel_data; + var width = header.width, height = header.height; + var i = 0, x, y; + var imageData = new Uint8Array(width * height * 4); + for (y = y_start; y !== y_end; y += y_step) { + for (x = x_start; x !== x_end; x += x_step, i += 4) { + imageData[(x + width * y) * 4 + 2] = image[i + 0]; + imageData[(x + width * y) * 4 + 1] = image[i + 1]; + imageData[(x + width * y) * 4 + 0] = image[i + 2]; + imageData[(x + width * y) * 4 + 3] = image[i + 3]; + } + } + return imageData; + }; + TGATools._getImageDataGrey8bits = function (header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) { + var image = pixel_data; + var width = header.width, height = header.height; + var color, i = 0, x, y; + var imageData = new Uint8Array(width * height * 4); + for (y = y_start; y !== y_end; y += y_step) { + for (x = x_start; x !== x_end; x += x_step, i++) { + color = image[i]; + imageData[(x + width * y) * 4 + 0] = color; + imageData[(x + width * y) * 4 + 1] = color; + imageData[(x + width * y) * 4 + 2] = color; + imageData[(x + width * y) * 4 + 3] = 255; + } + } + return imageData; + }; + TGATools._getImageDataGrey16bits = function (header, palettes, pixel_data, y_start, y_step, y_end, x_start, x_step, x_end) { + var image = pixel_data; + var width = header.width, height = header.height; + var i = 0, x, y; + var imageData = new Uint8Array(width * height * 4); + for (y = y_start; y !== y_end; y += y_step) { + for (x = x_start; x !== x_end; x += x_step, i += 2) { + imageData[(x + width * y) * 4 + 0] = image[i + 0]; + imageData[(x + width * y) * 4 + 1] = image[i + 0]; + imageData[(x + width * y) * 4 + 2] = image[i + 0]; + imageData[(x + width * y) * 4 + 3] = image[i + 1]; + } + } + return imageData; + }; + TGATools._TYPE_NO_DATA = 0; + TGATools._TYPE_INDEXED = 1; + TGATools._TYPE_RGB = 2; + TGATools._TYPE_GREY = 3; + TGATools._TYPE_RLE_INDEXED = 9; + TGATools._TYPE_RLE_RGB = 10; + TGATools._TYPE_RLE_GREY = 11; + TGATools._ORIGIN_MASK = 0x30; + TGATools._ORIGIN_SHIFT = 0x04; + TGATools._ORIGIN_BL = 0x00; + TGATools._ORIGIN_BR = 0x01; + TGATools._ORIGIN_UL = 0x02; + TGATools._ORIGIN_UR = 0x03; + return TGATools; + }()); + Internals.TGATools = TGATools; + })(Internals = BABYLON.Internals || (BABYLON.Internals = {})); +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.tools.tga.js.map + +var BABYLON; +(function (BABYLON) { + var SmartArray = (function () { + function SmartArray(capacity) { + this.length = 0; + this._duplicateId = 0; + this.data = new Array(capacity); + this._id = SmartArray._GlobalId++; + } + SmartArray.prototype.push = function (value) { + this.data[this.length++] = value; + if (this.length > this.data.length) { + this.data.length *= 2; + } + if (!value.__smartArrayFlags) { + value.__smartArrayFlags = {}; + } + value.__smartArrayFlags[this._id] = this._duplicateId; + }; + SmartArray.prototype.pushNoDuplicate = function (value) { + if (value.__smartArrayFlags && value.__smartArrayFlags[this._id] === this._duplicateId) { + return false; + } + this.push(value); + return true; + }; + SmartArray.prototype.sort = function (compareFn) { + this.data.sort(compareFn); + }; + SmartArray.prototype.reset = function () { + this.length = 0; + this._duplicateId++; + }; + SmartArray.prototype.concat = function (array) { + if (array.length === 0) { + return; + } + if (this.length + array.length > this.data.length) { + this.data.length = (this.length + array.length) * 2; + } + for (var index = 0; index < array.length; index++) { + this.data[this.length++] = (array.data || array)[index]; + } + }; + SmartArray.prototype.concatWithNoDuplicate = function (array) { + if (array.length === 0) { + return; + } + if (this.length + array.length > this.data.length) { + this.data.length = (this.length + array.length) * 2; + } + for (var index = 0; index < array.length; index++) { + var item = (array.data || array)[index]; + this.pushNoDuplicate(item); + } + }; + SmartArray.prototype.indexOf = function (value) { + var position = this.data.indexOf(value); + if (position >= this.length) { + return -1; + } + return position; + }; + // Statics + SmartArray._GlobalId = 0; + return SmartArray; + }()); + BABYLON.SmartArray = SmartArray; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.smartArray.js.map + +var BABYLON; +(function (BABYLON) { + /** + * This class implement a typical dictionary using a string as key and the generic type T as value. + * The underlying implementation relies on an associative array to ensure the best performances. + * The value can be anything including 'null' but except 'undefined' + */ + var StringDictionary = (function () { + function StringDictionary() { + this._count = 0; + this._data = {}; + } + /** + * This will clear this dictionary and copy the content from the 'source' one. + * If the T value is a custom object, it won't be copied/cloned, the same object will be used + * @param source the dictionary to take the content from and copy to this dictionary + */ + StringDictionary.prototype.copyFrom = function (source) { + var _this = this; + this.clear(); + source.forEach(function (t, v) { return _this.add(t, v); }); + }; + /** + * Get a value based from its key + * @param key the given key to get the matching value from + * @return the value if found, otherwise undefined is returned + */ + StringDictionary.prototype.get = function (key) { + var val = this._data[key]; + if (val !== undefined) { + return val; + } + return undefined; + }; + /** + * Get a value from its key or add it if it doesn't exist. + * This method will ensure you that a given key/data will be present in the dictionary. + * @param key the given key to get the matching value from + * @param factory the factory that will create the value if the key is not present in the dictionary. + * The factory will only be invoked if there's no data for the given key. + * @return the value corresponding to the key. + */ + StringDictionary.prototype.getOrAddWithFactory = function (key, factory) { + var val = this.get(key); + if (val !== undefined) { + return val; + } + val = factory(key); + if (val) { + this.add(key, val); + } + return val; + }; + /** + * Get a value from its key if present in the dictionary otherwise add it + * @param key the key to get the value from + * @param val if there's no such key/value pair in the dictionary add it with this value + * @return the value corresponding to the key + */ + StringDictionary.prototype.getOrAdd = function (key, val) { + var curVal = this.get(key); + if (curVal !== undefined) { + return curVal; + } + this.add(key, val); + return val; + }; + /** + * Check if there's a given key in the dictionary + * @param key the key to check for + * @return true if the key is present, false otherwise + */ + StringDictionary.prototype.contains = function (key) { + return this._data[key] !== undefined; + }; + /** + * Add a new key and its corresponding value + * @param key the key to add + * @param value the value corresponding to the key + * @return true if the operation completed successfully, false if we couldn't insert the key/value because there was already this key in the dictionary + */ + StringDictionary.prototype.add = function (key, value) { + if (this._data[key] !== undefined) { + return false; + } + this._data[key] = value; + ++this._count; + return true; + }; + StringDictionary.prototype.set = function (key, value) { + if (this._data[key] === undefined) { + return false; + } + this._data[key] = value; + return true; + }; + /** + * Get the element of the given key and remove it from the dictionary + * @param key + */ + StringDictionary.prototype.getAndRemove = function (key) { + var val = this.get(key); + if (val !== undefined) { + delete this._data[key]; + --this._count; + return val; + } + return null; + }; + /** + * Remove a key/value from the dictionary. + * @param key the key to remove + * @return true if the item was successfully deleted, false if no item with such key exist in the dictionary + */ + StringDictionary.prototype.remove = function (key) { + if (this.contains(key)) { + delete this._data[key]; + --this._count; + return true; + } + return false; + }; + /** + * Clear the whole content of the dictionary + */ + StringDictionary.prototype.clear = function () { + this._data = {}; + this._count = 0; + }; + Object.defineProperty(StringDictionary.prototype, "count", { + get: function () { + return this._count; + }, + enumerable: true, + configurable: true + }); + /** + * Execute a callback on each key/val of the dictionary. + * Note that you can remove any element in this dictionary in the callback implementation + * @param callback the callback to execute on a given key/value pair + */ + StringDictionary.prototype.forEach = function (callback) { + for (var cur in this._data) { + var val = this._data[cur]; + callback(cur, val); + } + }; + /** + * Execute a callback on every occurrence of the dictionary until it returns a valid TRes object. + * If the callback returns null or undefined the method will iterate to the next key/value pair + * Note that you can remove any element in this dictionary in the callback implementation + * @param callback the callback to execute, if it return a valid T instanced object the enumeration will stop and the object will be returned + */ + StringDictionary.prototype.first = function (callback) { + for (var cur in this._data) { + var val = this._data[cur]; + var res = callback(cur, val); + if (res) { + return res; + } + } + return null; + }; + return StringDictionary; + }()); + BABYLON.StringDictionary = StringDictionary; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.stringDictionary.js.map + +var BABYLON; +(function (BABYLON) { + // Screenshots + var screenshotCanvas; + var cloneValue = function (source, destinationObject) { + if (!source) + return null; + if (source instanceof BABYLON.Mesh) { + return null; + } + if (source instanceof BABYLON.SubMesh) { + return source.clone(destinationObject); + } + else if (source.clone) { + return source.clone(); + } + return null; + }; + var Tools = (function () { + function Tools() { + } + Tools.Instantiate = function (className) { + var arr = className.split("."); + var fn = (window || this); + for (var i = 0, len = arr.length; i < len; i++) { + fn = fn[arr[i]]; + } + if (typeof fn !== "function") { + return null; + } + return fn; + }; + Tools.SetImmediate = function (action) { + if (window.setImmediate) { + window.setImmediate(action); + } + else { + setTimeout(action, 1); + } + }; + Tools.IsExponentOfTwo = function (value) { + var count = 1; + do { + count *= 2; + } while (count < value); + return count === value; + }; + Tools.GetExponentOfTwo = function (value, max) { + var count = 1; + do { + count *= 2; + } while (count < value); + if (count > max) + count = max; + return count; + }; + Tools.GetFilename = function (path) { + var index = path.lastIndexOf("/"); + if (index < 0) + return path; + return path.substring(index + 1); + }; + Tools.GetDOMTextContent = function (element) { + var result = ""; + var child = element.firstChild; + while (child) { + if (child.nodeType === 3) { + result += child.textContent; + } + child = child.nextSibling; + } + return result; + }; + Tools.ToDegrees = function (angle) { + return angle * 180 / Math.PI; + }; + Tools.ToRadians = function (angle) { + return angle * Math.PI / 180; + }; + Tools.EncodeArrayBufferTobase64 = function (buffer) { + var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; + var output = ""; + var chr1, chr2, chr3, enc1, enc2, enc3, enc4; + var i = 0; + var bytes = new Uint8Array(buffer); + while (i < bytes.length) { + chr1 = bytes[i++]; + chr2 = i < bytes.length ? bytes[i++] : Number.NaN; // Not sure if the index + chr3 = i < bytes.length ? bytes[i++] : Number.NaN; // checks are needed here + enc1 = chr1 >> 2; + enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); + enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); + enc4 = chr3 & 63; + if (isNaN(chr2)) { + enc3 = enc4 = 64; + } + else if (isNaN(chr3)) { + enc4 = 64; + } + output += keyStr.charAt(enc1) + keyStr.charAt(enc2) + + keyStr.charAt(enc3) + keyStr.charAt(enc4); + } + return "data:image/png;base64," + output; + }; + Tools.ExtractMinAndMaxIndexed = function (positions, indices, indexStart, indexCount, bias) { + if (bias === void 0) { bias = null; } + var minimum = new BABYLON.Vector3(Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE); + var maximum = new BABYLON.Vector3(-Number.MAX_VALUE, -Number.MAX_VALUE, -Number.MAX_VALUE); + for (var index = indexStart; index < indexStart + indexCount; index++) { + var current = new BABYLON.Vector3(positions[indices[index] * 3], positions[indices[index] * 3 + 1], positions[indices[index] * 3 + 2]); + minimum = BABYLON.Vector3.Minimize(current, minimum); + maximum = BABYLON.Vector3.Maximize(current, maximum); + } + if (bias) { + minimum.x -= minimum.x * bias.x + bias.y; + minimum.y -= minimum.y * bias.x + bias.y; + minimum.z -= minimum.z * bias.x + bias.y; + maximum.x += maximum.x * bias.x + bias.y; + maximum.y += maximum.y * bias.x + bias.y; + maximum.z += maximum.z * bias.x + bias.y; + } + return { + minimum: minimum, + maximum: maximum + }; + }; + Tools.ExtractMinAndMax = function (positions, start, count, bias, stride) { + if (bias === void 0) { bias = null; } + var minimum = new BABYLON.Vector3(Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE); + var maximum = new BABYLON.Vector3(-Number.MAX_VALUE, -Number.MAX_VALUE, -Number.MAX_VALUE); + if (!stride) { + stride = 3; + } + for (var index = start; index < start + count; index++) { + var current = new BABYLON.Vector3(positions[index * stride], positions[index * stride + 1], positions[index * stride + 2]); + minimum = BABYLON.Vector3.Minimize(current, minimum); + maximum = BABYLON.Vector3.Maximize(current, maximum); + } + if (bias) { + minimum.x -= minimum.x * bias.x + bias.y; + minimum.y -= minimum.y * bias.x + bias.y; + minimum.z -= minimum.z * bias.x + bias.y; + maximum.x += maximum.x * bias.x + bias.y; + maximum.y += maximum.y * bias.x + bias.y; + maximum.z += maximum.z * bias.x + bias.y; + } + return { + minimum: minimum, + maximum: maximum + }; + }; + Tools.Vector2ArrayFeeder = function (array) { + return function (index) { + var isFloatArray = (array.BYTES_PER_ELEMENT !== undefined); + var length = isFloatArray ? array.length / 2 : array.length; + if (index >= length) { + return null; + } + if (isFloatArray) { + var fa = array; + return new BABYLON.Vector2(fa[index * 2 + 0], fa[index * 2 + 1]); + } + var a = array; + return a[index]; + }; + }; + Tools.ExtractMinAndMaxVector2 = function (feeder, bias) { + if (bias === void 0) { bias = null; } + var minimum = new BABYLON.Vector2(Number.MAX_VALUE, Number.MAX_VALUE); + var maximum = new BABYLON.Vector2(-Number.MAX_VALUE, -Number.MAX_VALUE); + var i = 0; + var cur = feeder(i++); + while (cur) { + minimum = BABYLON.Vector2.Minimize(cur, minimum); + maximum = BABYLON.Vector2.Maximize(cur, maximum); + cur = feeder(i++); + } + if (bias) { + minimum.x -= minimum.x * bias.x + bias.y; + minimum.y -= minimum.y * bias.x + bias.y; + maximum.x += maximum.x * bias.x + bias.y; + maximum.y += maximum.y * bias.x + bias.y; + } + return { + minimum: minimum, + maximum: maximum + }; + }; + Tools.MakeArray = function (obj, allowsNullUndefined) { + if (allowsNullUndefined !== true && (obj === undefined || obj == null)) + return undefined; + return Array.isArray(obj) ? obj : [obj]; + }; + // Misc. + Tools.GetPointerPrefix = function () { + var eventPrefix = "pointer"; + // Check if pointer events are supported + if (!window.PointerEvent && !navigator.pointerEnabled) { + eventPrefix = "mouse"; + } + return eventPrefix; + }; + /** + * @param func - the function to be called + * @param requester - the object that will request the next frame. Falls back to window. + */ + Tools.QueueNewFrame = function (func, requester) { + if (requester === void 0) { requester = window; } + //if WebVR is enabled AND presenting, requestAnimationFrame is triggered when enabled. + /*if(requester.isPresenting) { + return; + } else*/ if (requester.requestAnimationFrame) + requester.requestAnimationFrame(func); + else if (requester.msRequestAnimationFrame) + requester.msRequestAnimationFrame(func); + else if (requester.webkitRequestAnimationFrame) + requester.webkitRequestAnimationFrame(func); + else if (requester.mozRequestAnimationFrame) + requester.mozRequestAnimationFrame(func); + else if (requester.oRequestAnimationFrame) + requester.oRequestAnimationFrame(func); + else { + window.setTimeout(func, 16); + } + }; + Tools.RequestFullscreen = function (element) { + var requestFunction = element.requestFullscreen || element.msRequestFullscreen || element.webkitRequestFullscreen || element.mozRequestFullScreen; + if (!requestFunction) + return; + requestFunction.call(element); + }; + Tools.ExitFullscreen = function () { + if (document.exitFullscreen) { + document.exitFullscreen(); + } + else if (document.mozCancelFullScreen) { + document.mozCancelFullScreen(); + } + else if (document.webkitCancelFullScreen) { + document.webkitCancelFullScreen(); + } + else if (document.msCancelFullScreen) { + document.msCancelFullScreen(); + } + }; + Tools.SetCorsBehavior = function (url, img) { + if (Tools.CorsBehavior) { + switch (typeof (Tools.CorsBehavior)) { + case "function": + var result = Tools.CorsBehavior(url); + if (result) { + return result; + } + break; + case "string": + default: + img.crossOrigin = Tools.CorsBehavior; + break; + } + } + }; + // External files + Tools.CleanUrl = function (url) { + url = url.replace(/#/mg, "%23"); + return url; + }; + Tools.LoadImage = function (url, onload, onerror, database) { + if (url instanceof ArrayBuffer) { + url = Tools.EncodeArrayBufferTobase64(url); + } + url = Tools.CleanUrl(url); + var img = new Image(); + if (url.substr(0, 5) !== "data:") { + Tools.SetCorsBehavior(url, img); + } + img.onload = function () { + onload(img); + }; + img.onerror = function (err) { + Tools.Error("Error while trying to load texture: " + url); + if (Tools.UseFallbackTexture) { + img.src = "data:image/jpg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QBmRXhpZgAATU0AKgAAAAgABAEaAAUAAAABAAAAPgEbAAUAAAABAAAARgEoAAMAAAABAAIAAAExAAIAAAAQAAAATgAAAAAAAABgAAAAAQAAAGAAAAABcGFpbnQubmV0IDQuMC41AP/bAEMABAIDAwMCBAMDAwQEBAQFCQYFBQUFCwgIBgkNCw0NDQsMDA4QFBEODxMPDAwSGBITFRYXFxcOERkbGRYaFBYXFv/bAEMBBAQEBQUFCgYGChYPDA8WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFv/AABEIAQABAAMBIgACEQEDEQH/xAAfAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0BAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygpKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJCgv/xAC1EQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/APH6KKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FCiiigD6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++gooooA+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gUKKKKAPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76CiiigD5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BQooooA+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/voKKKKAPl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FCiiigD6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++gooooA+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gUKKKKAPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76CiiigD5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BQooooA+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/voKKKKAPl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FCiiigD6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++gooooA+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gUKKKKAPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76Pl+iiivuj+BT6gooor4U/vo+X6KKK+6P4FPqCiiivhT++j5fooor7o/gU+oKKKK+FP76P//Z"; + onload(img); + } + else { + onerror(); + } + }; + var noIndexedDB = function () { + img.src = url; + }; + var loadFromIndexedDB = function () { + database.loadImageFromDB(url, img); + }; + //ANY database to do! + if (url.substr(0, 5) !== "data:" && database && database.enableTexturesOffline && BABYLON.Database.IsUASupportingBlobStorage) { + database.openAsync(loadFromIndexedDB, noIndexedDB); + } + else { + if (url.indexOf("file:") === -1) { + noIndexedDB(); + } + else { + try { + var textureName = url.substring(5).toLowerCase(); + var blobURL; + try { + blobURL = URL.createObjectURL(BABYLON.FilesInput.FilesTextures[textureName], { oneTimeOnly: true }); + } + catch (ex) { + // Chrome doesn't support oneTimeOnly parameter + blobURL = URL.createObjectURL(BABYLON.FilesInput.FilesTextures[textureName]); + } + img.src = blobURL; + } + catch (e) { + img.src = null; + } + } + } + return img; + }; + //ANY + Tools.LoadFile = function (url, callback, progressCallBack, database, useArrayBuffer, onError) { + url = Tools.CleanUrl(url); + var noIndexedDB = function () { + var request = new XMLHttpRequest(); + var loadUrl = Tools.BaseUrl + url; + request.open('GET', loadUrl, true); + if (useArrayBuffer) { + request.responseType = "arraybuffer"; + } + request.onprogress = progressCallBack; + request.onreadystatechange = function () { + if (request.readyState === 4) { + request.onreadystatechange = null; //some browsers have issues where onreadystatechange can be called multiple times with the same value + if (request.status >= 200 && request.status < 300 || (navigator.isCocoonJS && (request.status === 0))) { + callback(!useArrayBuffer ? request.responseText : request.response); + } + else { + if (onError) { + onError(); + } + else { + throw new Error("Error status: " + request.status + " - Unable to load " + loadUrl); + } + } + } + }; + request.send(null); + }; + var loadFromIndexedDB = function () { + database.loadFileFromDB(url, callback, progressCallBack, noIndexedDB, useArrayBuffer); + }; + if (url.indexOf("file:") !== -1) { + var fileName = url.substring(5).toLowerCase(); + Tools.ReadFile(BABYLON.FilesInput.FilesToLoad[fileName], callback, progressCallBack, useArrayBuffer); + } + else { + // Caching all files + if (database && database.enableSceneOffline) { + database.openAsync(loadFromIndexedDB, noIndexedDB); + } + else { + noIndexedDB(); + } + } + }; + Tools.ReadFileAsDataURL = function (fileToLoad, callback, progressCallback) { + var reader = new FileReader(); + reader.onload = function (e) { + //target doesn't have result from ts 1.3 + callback(e.target['result']); + }; + reader.onprogress = progressCallback; + reader.readAsDataURL(fileToLoad); + }; + Tools.ReadFile = function (fileToLoad, callback, progressCallBack, useArrayBuffer) { + var reader = new FileReader(); + reader.onerror = function (e) { + Tools.Log("Error while reading file: " + fileToLoad.name); + callback(JSON.stringify({ autoClear: true, clearColor: [1, 0, 0], ambientColor: [0, 0, 0], gravity: [0, -9.807, 0], meshes: [], cameras: [], lights: [] })); + }; + reader.onload = function (e) { + //target doesn't have result from ts 1.3 + callback(e.target['result']); + }; + reader.onprogress = progressCallBack; + if (!useArrayBuffer) { + // Asynchronous read + reader.readAsText(fileToLoad); + } + else { + reader.readAsArrayBuffer(fileToLoad); + } + }; + //returns a downloadable url to a file content. + Tools.FileAsURL = function (content) { + var fileBlob = new Blob([content]); + var url = window.URL || window.webkitURL; + var link = url.createObjectURL(fileBlob); + return link; + }; + // Misc. + Tools.Format = function (value, decimals) { + if (decimals === void 0) { decimals = 2; } + return value.toFixed(decimals); + }; + Tools.CheckExtends = function (v, min, max) { + if (v.x < min.x) + min.x = v.x; + if (v.y < min.y) + min.y = v.y; + if (v.z < min.z) + min.z = v.z; + if (v.x > max.x) + max.x = v.x; + if (v.y > max.y) + max.y = v.y; + if (v.z > max.z) + max.z = v.z; + }; + Tools.DeepCopy = function (source, destination, doNotCopyList, mustCopyList) { + for (var prop in source) { + if (prop[0] === "_" && (!mustCopyList || mustCopyList.indexOf(prop) === -1)) { + continue; + } + if (doNotCopyList && doNotCopyList.indexOf(prop) !== -1) { + continue; + } + var sourceValue = source[prop]; + var typeOfSourceValue = typeof sourceValue; + if (typeOfSourceValue === "function") { + continue; + } + if (typeOfSourceValue === "object") { + if (sourceValue instanceof Array) { + destination[prop] = []; + if (sourceValue.length > 0) { + if (typeof sourceValue[0] == "object") { + for (var index = 0; index < sourceValue.length; index++) { + var clonedValue = cloneValue(sourceValue[index], destination); + if (destination[prop].indexOf(clonedValue) === -1) { + destination[prop].push(clonedValue); + } + } + } + else { + destination[prop] = sourceValue.slice(0); + } + } + } + else { + destination[prop] = cloneValue(sourceValue, destination); + } + } + else { + destination[prop] = sourceValue; + } + } + }; + Tools.IsEmpty = function (obj) { + for (var i in obj) { + return false; + } + return true; + }; + Tools.RegisterTopRootEvents = function (events) { + for (var index = 0; index < events.length; index++) { + var event = events[index]; + window.addEventListener(event.name, event.handler, false); + try { + if (window.parent) { + window.parent.addEventListener(event.name, event.handler, false); + } + } + catch (e) { + } + } + }; + Tools.UnregisterTopRootEvents = function (events) { + for (var index = 0; index < events.length; index++) { + var event = events[index]; + window.removeEventListener(event.name, event.handler); + try { + if (window.parent) { + window.parent.removeEventListener(event.name, event.handler); + } + } + catch (e) { + } + } + }; + Tools.DumpFramebuffer = function (width, height, engine, successCallback, mimeType) { + if (mimeType === void 0) { mimeType = "image/png"; } + // Read the contents of the framebuffer + var numberOfChannelsByLine = width * 4; + var halfHeight = height / 2; + //Reading datas from WebGL + var data = engine.readPixels(0, 0, width, height); + //To flip image on Y axis. + for (var i = 0; i < halfHeight; i++) { + for (var j = 0; j < numberOfChannelsByLine; j++) { + var currentCell = j + i * numberOfChannelsByLine; + var targetLine = height - i - 1; + var targetCell = j + targetLine * numberOfChannelsByLine; + var temp = data[currentCell]; + data[currentCell] = data[targetCell]; + data[targetCell] = temp; + } + } + // Create a 2D canvas to store the result + if (!screenshotCanvas) { + screenshotCanvas = document.createElement('canvas'); + } + screenshotCanvas.width = width; + screenshotCanvas.height = height; + var context = screenshotCanvas.getContext('2d'); + // Copy the pixels to a 2D canvas + var imageData = context.createImageData(width, height); + var castData = (imageData.data); + castData.set(data); + context.putImageData(imageData, 0, 0); + Tools.EncodeScreenshotCanvasData(successCallback, mimeType); + }; + Tools.EncodeScreenshotCanvasData = function (successCallback, mimeType) { + if (mimeType === void 0) { mimeType = "image/png"; } + var base64Image = screenshotCanvas.toDataURL(mimeType); + if (successCallback) { + successCallback(base64Image); + } + else { + //Creating a link if the browser have the download attribute on the a tag, to automatically start download generated image. + if (("download" in document.createElement("a"))) { + var a = window.document.createElement("a"); + a.href = base64Image; + var date = new Date(); + var stringDate = (date.getFullYear() + "-" + (date.getMonth() + 1)).slice(-2) + "-" + date.getDate() + "_" + date.getHours() + "-" + ('0' + date.getMinutes()).slice(-2); + a.setAttribute("download", "screenshot_" + stringDate + ".png"); + window.document.body.appendChild(a); + a.addEventListener("click", function () { + a.parentElement.removeChild(a); + }); + a.click(); + } + else { + var newWindow = window.open(""); + var img = newWindow.document.createElement("img"); + img.src = base64Image; + newWindow.document.body.appendChild(img); + } + } + }; + Tools.CreateScreenshot = function (engine, camera, size, successCallback, mimeType) { + if (mimeType === void 0) { mimeType = "image/png"; } + var width; + var height; + // If a precision value is specified + if (size.precision) { + width = Math.round(engine.getRenderWidth() * size.precision); + height = Math.round(width / engine.getAspectRatio(camera)); + } + else if (size.width && size.height) { + width = size.width; + height = size.height; + } + else if (size.width && !size.height) { + width = size.width; + height = Math.round(width / engine.getAspectRatio(camera)); + } + else if (size.height && !size.width) { + height = size.height; + width = Math.round(height * engine.getAspectRatio(camera)); + } + else if (!isNaN(size)) { + height = size; + width = size; + } + else { + Tools.Error("Invalid 'size' parameter !"); + return; + } + if (!screenshotCanvas) { + screenshotCanvas = document.createElement('canvas'); + } + screenshotCanvas.width = width; + screenshotCanvas.height = height; + var renderContext = screenshotCanvas.getContext("2d"); + renderContext.drawImage(engine.getRenderingCanvas(), 0, 0, width, height); + Tools.EncodeScreenshotCanvasData(successCallback, mimeType); + }; + Tools.CreateScreenshotUsingRenderTarget = function (engine, camera, size, successCallback, mimeType) { + if (mimeType === void 0) { mimeType = "image/png"; } + var width; + var height; + //If a precision value is specified + if (size.precision) { + width = Math.round(engine.getRenderWidth() * size.precision); + height = Math.round(width / engine.getAspectRatio(camera)); + size = { width: width, height: height }; + } + else if (size.width && size.height) { + width = size.width; + height = size.height; + } + else if (size.width && !size.height) { + width = size.width; + height = Math.round(width / engine.getAspectRatio(camera)); + size = { width: width, height: height }; + } + else if (size.height && !size.width) { + height = size.height; + width = Math.round(height * engine.getAspectRatio(camera)); + size = { width: width, height: height }; + } + else if (!isNaN(size)) { + height = size; + width = size; + } + else { + Tools.Error("Invalid 'size' parameter !"); + return; + } + var scene = camera.getScene(); + var previousCamera = null; + if (scene.activeCamera !== camera) { + previousCamera = scene.activeCamera; + scene.activeCamera = camera; + } + //At this point size can be a number, or an object (according to engine.prototype.createRenderTargetTexture method) + var texture = new BABYLON.RenderTargetTexture("screenShot", size, scene, false, false); + texture.renderList = scene.meshes; + texture.onAfterRenderObservable.add(function () { + Tools.DumpFramebuffer(width, height, engine, successCallback, mimeType); + }); + scene.incrementRenderId(); + scene.resetCachedMaterial(); + texture.render(true); + texture.dispose(); + if (previousCamera) { + scene.activeCamera = previousCamera; + } + camera.getProjectionMatrix(true); // Force cache refresh; + }; + // XHR response validator for local file scenario + Tools.ValidateXHRData = function (xhr, dataType) { + // 1 for text (.babylon, manifest and shaders), 2 for TGA, 4 for DDS, 7 for all + if (dataType === void 0) { dataType = 7; } + try { + if (dataType & 1) { + if (xhr.responseText && xhr.responseText.length > 0) { + return true; + } + else if (dataType === 1) { + return false; + } + } + if (dataType & 2) { + // Check header width and height since there is no "TGA" magic number + var tgaHeader = BABYLON.Internals.TGATools.GetTGAHeader(xhr.response); + if (tgaHeader.width && tgaHeader.height && tgaHeader.width > 0 && tgaHeader.height > 0) { + return true; + } + else if (dataType === 2) { + return false; + } + } + if (dataType & 4) { + // Check for the "DDS" magic number + var ddsHeader = new Uint8Array(xhr.response, 0, 3); + if (ddsHeader[0] === 68 && ddsHeader[1] === 68 && ddsHeader[2] === 83) { + return true; + } + else { + return false; + } + } + } + catch (e) { + } + return false; + }; + /** + * Implementation from http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/2117523#answer-2117523 + * Be aware Math.random() could cause collisions, but: + * "All but 6 of the 128 bits of the ID are randomly generated, which means that for any two ids, there's a 1 in 2^^122 (or 5.3x10^^36) chance they'll collide" + */ + Tools.RandomId = function () { + return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { + var r = Math.random() * 16 | 0, v = c === 'x' ? r : (r & 0x3 | 0x8); + return v.toString(16); + }); + }; + Object.defineProperty(Tools, "NoneLogLevel", { + get: function () { + return Tools._NoneLogLevel; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Tools, "MessageLogLevel", { + get: function () { + return Tools._MessageLogLevel; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Tools, "WarningLogLevel", { + get: function () { + return Tools._WarningLogLevel; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Tools, "ErrorLogLevel", { + get: function () { + return Tools._ErrorLogLevel; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Tools, "AllLogLevel", { + get: function () { + return Tools._MessageLogLevel | Tools._WarningLogLevel | Tools._ErrorLogLevel; + }, + enumerable: true, + configurable: true + }); + Tools._AddLogEntry = function (entry) { + Tools._LogCache = entry + Tools._LogCache; + if (Tools.OnNewCacheEntry) { + Tools.OnNewCacheEntry(entry); + } + }; + Tools._FormatMessage = function (message) { + var padStr = function (i) { return (i < 10) ? "0" + i : "" + i; }; + var date = new Date(); + return "[" + padStr(date.getHours()) + ":" + padStr(date.getMinutes()) + ":" + padStr(date.getSeconds()) + "]: " + message; + }; + Tools._LogDisabled = function (message) { + // nothing to do + }; + Tools._LogEnabled = function (message) { + var formattedMessage = Tools._FormatMessage(message); + console.log("BJS - " + formattedMessage); + var entry = "
      " + formattedMessage + "

      "; + Tools._AddLogEntry(entry); + }; + Tools._WarnDisabled = function (message) { + // nothing to do + }; + Tools._WarnEnabled = function (message) { + var formattedMessage = Tools._FormatMessage(message); + console.warn("BJS - " + formattedMessage); + var entry = "
      " + formattedMessage + "

      "; + Tools._AddLogEntry(entry); + }; + Tools._ErrorDisabled = function (message) { + // nothing to do + }; + Tools._ErrorEnabled = function (message) { + Tools.errorsCount++; + var formattedMessage = Tools._FormatMessage(message); + console.error("BJS - " + formattedMessage); + var entry = "
      " + formattedMessage + "

      "; + Tools._AddLogEntry(entry); + }; + Object.defineProperty(Tools, "LogCache", { + get: function () { + return Tools._LogCache; + }, + enumerable: true, + configurable: true + }); + Tools.ClearLogCache = function () { + Tools._LogCache = ""; + Tools.errorsCount = 0; + }; + Object.defineProperty(Tools, "LogLevels", { + set: function (level) { + if ((level & Tools.MessageLogLevel) === Tools.MessageLogLevel) { + Tools.Log = Tools._LogEnabled; + } + else { + Tools.Log = Tools._LogDisabled; + } + if ((level & Tools.WarningLogLevel) === Tools.WarningLogLevel) { + Tools.Warn = Tools._WarnEnabled; + } + else { + Tools.Warn = Tools._WarnDisabled; + } + if ((level & Tools.ErrorLogLevel) === Tools.ErrorLogLevel) { + Tools.Error = Tools._ErrorEnabled; + } + else { + Tools.Error = Tools._ErrorDisabled; + } + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Tools, "PerformanceNoneLogLevel", { + get: function () { + return Tools._PerformanceNoneLogLevel; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Tools, "PerformanceUserMarkLogLevel", { + get: function () { + return Tools._PerformanceUserMarkLogLevel; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Tools, "PerformanceConsoleLogLevel", { + get: function () { + return Tools._PerformanceConsoleLogLevel; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Tools, "PerformanceLogLevel", { + set: function (level) { + if ((level & Tools.PerformanceUserMarkLogLevel) === Tools.PerformanceUserMarkLogLevel) { + Tools.StartPerformanceCounter = Tools._StartUserMark; + Tools.EndPerformanceCounter = Tools._EndUserMark; + return; + } + if ((level & Tools.PerformanceConsoleLogLevel) === Tools.PerformanceConsoleLogLevel) { + Tools.StartPerformanceCounter = Tools._StartPerformanceConsole; + Tools.EndPerformanceCounter = Tools._EndPerformanceConsole; + return; + } + Tools.StartPerformanceCounter = Tools._StartPerformanceCounterDisabled; + Tools.EndPerformanceCounter = Tools._EndPerformanceCounterDisabled; + }, + enumerable: true, + configurable: true + }); + Tools._StartPerformanceCounterDisabled = function (counterName, condition) { + }; + Tools._EndPerformanceCounterDisabled = function (counterName, condition) { + }; + Tools._StartUserMark = function (counterName, condition) { + if (condition === void 0) { condition = true; } + if (!condition || !Tools._performance.mark) { + return; + } + Tools._performance.mark(counterName + "-Begin"); + }; + Tools._EndUserMark = function (counterName, condition) { + if (condition === void 0) { condition = true; } + if (!condition || !Tools._performance.mark) { + return; + } + Tools._performance.mark(counterName + "-End"); + Tools._performance.measure(counterName, counterName + "-Begin", counterName + "-End"); + }; + Tools._StartPerformanceConsole = function (counterName, condition) { + if (condition === void 0) { condition = true; } + if (!condition) { + return; + } + Tools._StartUserMark(counterName, condition); + if (console.time) { + console.time(counterName); + } + }; + Tools._EndPerformanceConsole = function (counterName, condition) { + if (condition === void 0) { condition = true; } + if (!condition) { + return; + } + Tools._EndUserMark(counterName, condition); + if (console.time) { + console.timeEnd(counterName); + } + }; + Object.defineProperty(Tools, "Now", { + get: function () { + if (window.performance && window.performance.now) { + return window.performance.now(); + } + return new Date().getTime(); + }, + enumerable: true, + configurable: true + }); + /** + * This method will return the name of the class used to create the instance of the given object. + * It will works only on Javascript basic data types (number, string, ...) and instance of class declared with the @className decorator. + * @param object the object to get the class name from + * @return the name of the class, will be "object" for a custom data type not using the @className decorator + */ + Tools.getClassName = function (object, isType) { + if (isType === void 0) { isType = false; } + var name = null; + if (!isType && object.getClassName) { + name = object.getClassName(); + } + else { + if (object instanceof Object) { + var classObj = isType ? object : Object.getPrototypeOf(object); + name = classObj.constructor["__bjsclassName__"]; + } + if (!name) { + name = typeof object; + } + } + return name; + }; + Tools.first = function (array, predicate) { + for (var _i = 0, array_1 = array; _i < array_1.length; _i++) { + var el = array_1[_i]; + if (predicate(el)) { + return el; + } + } + }; + /** + * This method will return the name of the full name of the class, including its owning module (if any). + * It will works only on Javascript basic data types (number, string, ...) and instance of class declared with the @className decorator or implementing a method getClassName():string (in which case the module won't be specified). + * @param object the object to get the class name from + * @return a string that can have two forms: "moduleName.className" if module was specified when the class' Name was registered or "className" if there was not module specified. + */ + Tools.getFullClassName = function (object, isType) { + if (isType === void 0) { isType = false; } + var className = null; + var moduleName = null; + if (!isType && object.getClassName) { + className = object.getClassName(); + } + else { + if (object instanceof Object) { + var classObj = isType ? object : Object.getPrototypeOf(object); + className = classObj.constructor["__bjsclassName__"]; + moduleName = classObj.constructor["__bjsmoduleName__"]; + } + if (!className) { + className = typeof object; + } + } + if (!className) { + return null; + } + return ((moduleName != null) ? (moduleName + ".") : "") + className; + }; + /** + * This method can be used with hashCodeFromStream when your input is an array of values that are either: number, string, boolean or custom type implementing the getHashCode():number method. + * @param array + */ + Tools.arrayOrStringFeeder = function (array) { + return function (index) { + if (index >= array.length) { + return null; + } + var val = array.charCodeAt ? array.charCodeAt(index) : array[index]; + if (val && val.getHashCode) { + val = val.getHashCode(); + } + if (typeof val === "string") { + return Tools.hashCodeFromStream(Tools.arrayOrStringFeeder(val)); + } + return val; + }; + }; + /** + * Compute the hashCode of a stream of number + * To compute the HashCode on a string or an Array of data types implementing the getHashCode() method, use the arrayOrStringFeeder method. + * @param feeder a callback that will be called until it returns null, each valid returned values will be used to compute the hash code. + * @return the hash code computed + */ + Tools.hashCodeFromStream = function (feeder) { + // Based from here: http://stackoverflow.com/a/7616484/802124 + var hash = 0; + var index = 0; + var chr = feeder(index++); + while (chr != null) { + hash = ((hash << 5) - hash) + chr; + hash |= 0; // Convert to 32bit integer + chr = feeder(index++); + } + return hash; + }; + Tools.BaseUrl = ""; + Tools.CorsBehavior = "anonymous"; + Tools.UseFallbackTexture = true; + // Logs + Tools._NoneLogLevel = 0; + Tools._MessageLogLevel = 1; + Tools._WarningLogLevel = 2; + Tools._ErrorLogLevel = 4; + Tools._LogCache = ""; + Tools.errorsCount = 0; + Tools.Log = Tools._LogEnabled; + Tools.Warn = Tools._WarnEnabled; + Tools.Error = Tools._ErrorEnabled; + // Performances + Tools._PerformanceNoneLogLevel = 0; + Tools._PerformanceUserMarkLogLevel = 1; + Tools._PerformanceConsoleLogLevel = 2; + Tools._performance = window.performance; + Tools.StartPerformanceCounter = Tools._StartPerformanceCounterDisabled; + Tools.EndPerformanceCounter = Tools._EndPerformanceCounterDisabled; + return Tools; + }()); + BABYLON.Tools = Tools; + /** + * This class is used to track a performance counter which is number based. + * The user has access to many properties which give statistics of different nature + * + * The implementer can track two kinds of Performance Counter: time and count + * For time you can optionally call fetchNewFrame() to notify the start of a new frame to monitor, then call beginMonitoring() to start and endMonitoring() to record the lapsed time. endMonitoring takes a newFrame parameter for you to specify if the monitored time should be set for a new frame or accumulated to the current frame being monitored. + * For count you first have to call fetchNewFrame() to notify the start of a new frame to monitor, then call addCount() how many time required to increment the count value you monitor. + */ + var PerfCounter = (function () { + function PerfCounter() { + this._startMonitoringTime = 0; + this._min = 0; + this._max = 0; + this._average = 0; + this._lastSecAverage = 0; + this._current = 0; + this._totalValueCount = 0; + this._totalAccumulated = 0; + this._lastSecAccumulated = 0; + this._lastSecTime = 0; + this._lastSecValueCount = 0; + } + Object.defineProperty(PerfCounter.prototype, "min", { + /** + * Returns the smallest value ever + */ + get: function () { + return this._min; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(PerfCounter.prototype, "max", { + /** + * Returns the biggest value ever + */ + get: function () { + return this._max; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(PerfCounter.prototype, "average", { + /** + * Returns the average value since the performance counter is running + */ + get: function () { + return this._average; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(PerfCounter.prototype, "lastSecAverage", { + /** + * Returns the average value of the last second the counter was monitored + */ + get: function () { + return this._lastSecAverage; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(PerfCounter.prototype, "current", { + /** + * Returns the current value + */ + get: function () { + return this._current; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(PerfCounter.prototype, "total", { + get: function () { + return this._totalAccumulated; + }, + enumerable: true, + configurable: true + }); + /** + * Call this method to start monitoring a new frame. + * This scenario is typically used when you accumulate monitoring time many times for a single frame, you call this method at the start of the frame, then beginMonitoring to start recording and endMonitoring(false) to accumulated the recorded time to the PerfCounter or addCount() to accumulate a monitored count. + */ + PerfCounter.prototype.fetchNewFrame = function () { + this._totalValueCount++; + this._current = 0; + this._lastSecValueCount++; + }; + /** + * Call this method to monitor a count of something (e.g. mesh drawn in viewport count) + * @param newCount the count value to add to the monitored count + * @param fetchResult true when it's the last time in the frame you add to the counter and you wish to update the statistics properties (min/max/average), false if you only want to update statistics. + */ + PerfCounter.prototype.addCount = function (newCount, fetchResult) { + this._current += newCount; + if (fetchResult) { + this._fetchResult(); + } + }; + /** + * Start monitoring this performance counter + */ + PerfCounter.prototype.beginMonitoring = function () { + this._startMonitoringTime = Tools.Now; + }; + /** + * Compute the time lapsed since the previous beginMonitoring() call. + * @param newFrame true by default to fetch the result and monitor a new frame, if false the time monitored will be added to the current frame counter + */ + PerfCounter.prototype.endMonitoring = function (newFrame) { + if (newFrame === void 0) { newFrame = true; } + if (newFrame) { + this.fetchNewFrame(); + } + var currentTime = Tools.Now; + this._current = currentTime - this._startMonitoringTime; + if (newFrame) { + this._fetchResult(); + } + }; + PerfCounter.prototype._fetchResult = function () { + this._totalAccumulated += this._current; + this._lastSecAccumulated += this._current; + // Min/Max update + this._min = Math.min(this._min, this._current); + this._max = Math.max(this._max, this._current); + this._average = this._totalAccumulated / this._totalValueCount; + // Reset last sec? + var now = Tools.Now; + if ((now - this._lastSecTime) > 1000) { + this._lastSecAverage = this._lastSecAccumulated / this._lastSecValueCount; + this._lastSecTime = now; + this._lastSecAccumulated = 0; + this._lastSecValueCount = 0; + } + }; + return PerfCounter; + }()); + BABYLON.PerfCounter = PerfCounter; + /** + * Use this className as a decorator on a given class definition to add it a name and optionally its module. + * You can then use the Tools.getClassName(obj) on an instance to retrieve its class name. + * This method is the only way to get it done in all cases, even if the .js file declaring the class is minified + * @param name The name of the class, case should be preserved + * @param module The name of the Module hosting the class, optional, but strongly recommended to specify if possible. Case should be preserved. + */ + function className(name, module) { + return function (target) { + target["__bjsclassName__"] = name; + target["__bjsmoduleName__"] = (module != null) ? module : null; + }; + } + BABYLON.className = className; + /** + * An implementation of a loop for asynchronous functions. + */ + var AsyncLoop = (function () { + /** + * Constroctor. + * @param iterations the number of iterations. + * @param _fn the function to run each iteration + * @param _successCallback the callback that will be called upon succesful execution + * @param offset starting offset. + */ + function AsyncLoop(iterations, _fn, _successCallback, offset) { + if (offset === void 0) { offset = 0; } + this.iterations = iterations; + this._fn = _fn; + this._successCallback = _successCallback; + this.index = offset - 1; + this._done = false; + } + /** + * Execute the next iteration. Must be called after the last iteration was finished. + */ + AsyncLoop.prototype.executeNext = function () { + if (!this._done) { + if (this.index + 1 < this.iterations) { + ++this.index; + this._fn(this); + } + else { + this.breakLoop(); + } + } + }; + /** + * Break the loop and run the success callback. + */ + AsyncLoop.prototype.breakLoop = function () { + this._done = true; + this._successCallback(); + }; + /** + * Helper function + */ + AsyncLoop.Run = function (iterations, _fn, _successCallback, offset) { + if (offset === void 0) { offset = 0; } + var loop = new AsyncLoop(iterations, _fn, _successCallback, offset); + loop.executeNext(); + return loop; + }; + /** + * A for-loop that will run a given number of iterations synchronous and the rest async. + * @param iterations total number of iterations + * @param syncedIterations number of synchronous iterations in each async iteration. + * @param fn the function to call each iteration. + * @param callback a success call back that will be called when iterating stops. + * @param breakFunction a break condition (optional) + * @param timeout timeout settings for the setTimeout function. default - 0. + * @constructor + */ + AsyncLoop.SyncAsyncForLoop = function (iterations, syncedIterations, fn, callback, breakFunction, timeout) { + if (timeout === void 0) { timeout = 0; } + AsyncLoop.Run(Math.ceil(iterations / syncedIterations), function (loop) { + if (breakFunction && breakFunction()) + loop.breakLoop(); + else { + setTimeout(function () { + for (var i = 0; i < syncedIterations; ++i) { + var iteration = (loop.index * syncedIterations) + i; + if (iteration >= iterations) + break; + fn(iteration); + if (breakFunction && breakFunction()) { + loop.breakLoop(); + break; + } + } + loop.executeNext(); + }, timeout); + } + }, callback); + }; + return AsyncLoop; + }()); + BABYLON.AsyncLoop = AsyncLoop; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.tools.js.map + +var BABYLON; +(function (BABYLON) { + var Internals; + (function (Internals) { + var _AlphaState = (function () { + /** + * Initializes the state. + */ + function _AlphaState() { + this._isAlphaBlendDirty = false; + this._isBlendFunctionParametersDirty = false; + this._alphaBlend = false; + this._blendFunctionParameters = new Array(4); + this.reset(); + } + Object.defineProperty(_AlphaState.prototype, "isDirty", { + get: function () { + return this._isAlphaBlendDirty || this._isBlendFunctionParametersDirty; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(_AlphaState.prototype, "alphaBlend", { + get: function () { + return this._alphaBlend; + }, + set: function (value) { + if (this._alphaBlend === value) { + return; + } + this._alphaBlend = value; + this._isAlphaBlendDirty = true; + }, + enumerable: true, + configurable: true + }); + _AlphaState.prototype.setAlphaBlendFunctionParameters = function (value0, value1, value2, value3) { + if (this._blendFunctionParameters[0] === value0 && + this._blendFunctionParameters[1] === value1 && + this._blendFunctionParameters[2] === value2 && + this._blendFunctionParameters[3] === value3) { + return; + } + this._blendFunctionParameters[0] = value0; + this._blendFunctionParameters[1] = value1; + this._blendFunctionParameters[2] = value2; + this._blendFunctionParameters[3] = value3; + this._isBlendFunctionParametersDirty = true; + }; + _AlphaState.prototype.reset = function () { + this._alphaBlend = false; + this._blendFunctionParameters[0] = null; + this._blendFunctionParameters[1] = null; + this._blendFunctionParameters[2] = null; + this._blendFunctionParameters[3] = null; + this._isAlphaBlendDirty = true; + this._isBlendFunctionParametersDirty = false; + }; + _AlphaState.prototype.apply = function (gl) { + if (!this.isDirty) { + return; + } + // Alpha blend + if (this._isAlphaBlendDirty) { + if (this._alphaBlend) { + gl.enable(gl.BLEND); + } + else { + gl.disable(gl.BLEND); + } + this._isAlphaBlendDirty = false; + } + // Alpha function + if (this._isBlendFunctionParametersDirty) { + gl.blendFuncSeparate(this._blendFunctionParameters[0], this._blendFunctionParameters[1], this._blendFunctionParameters[2], this._blendFunctionParameters[3]); + this._isBlendFunctionParametersDirty = false; + } + }; + return _AlphaState; + }()); + Internals._AlphaState = _AlphaState; + })(Internals = BABYLON.Internals || (BABYLON.Internals = {})); +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.alphaCullingState.js.map + +var BABYLON; +(function (BABYLON) { + var Internals; + (function (Internals) { + var _DepthCullingState = (function () { + /** + * Initializes the state. + */ + function _DepthCullingState() { + this._isDepthTestDirty = false; + this._isDepthMaskDirty = false; + this._isDepthFuncDirty = false; + this._isCullFaceDirty = false; + this._isCullDirty = false; + this._isZOffsetDirty = false; + this.reset(); + } + Object.defineProperty(_DepthCullingState.prototype, "isDirty", { + get: function () { + return this._isDepthFuncDirty || this._isDepthTestDirty || this._isDepthMaskDirty || this._isCullFaceDirty || this._isCullDirty || this._isZOffsetDirty; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(_DepthCullingState.prototype, "zOffset", { + get: function () { + return this._zOffset; + }, + set: function (value) { + if (this._zOffset === value) { + return; + } + this._zOffset = value; + this._isZOffsetDirty = true; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(_DepthCullingState.prototype, "cullFace", { + get: function () { + return this._cullFace; + }, + set: function (value) { + if (this._cullFace === value) { + return; + } + this._cullFace = value; + this._isCullFaceDirty = true; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(_DepthCullingState.prototype, "cull", { + get: function () { + return this._cull; + }, + set: function (value) { + if (this._cull === value) { + return; + } + this._cull = value; + this._isCullDirty = true; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(_DepthCullingState.prototype, "depthFunc", { + get: function () { + return this._depthFunc; + }, + set: function (value) { + if (this._depthFunc === value) { + return; + } + this._depthFunc = value; + this._isDepthFuncDirty = true; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(_DepthCullingState.prototype, "depthMask", { + get: function () { + return this._depthMask; + }, + set: function (value) { + if (this._depthMask === value) { + return; + } + this._depthMask = value; + this._isDepthMaskDirty = true; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(_DepthCullingState.prototype, "depthTest", { + get: function () { + return this._depthTest; + }, + set: function (value) { + if (this._depthTest === value) { + return; + } + this._depthTest = value; + this._isDepthTestDirty = true; + }, + enumerable: true, + configurable: true + }); + _DepthCullingState.prototype.reset = function () { + this._depthMask = true; + this._depthTest = true; + this._depthFunc = null; + this._cullFace = null; + this._cull = null; + this._zOffset = 0; + this._isDepthTestDirty = true; + this._isDepthMaskDirty = true; + this._isDepthFuncDirty = false; + this._isCullFaceDirty = false; + this._isCullDirty = false; + this._isZOffsetDirty = false; + }; + _DepthCullingState.prototype.apply = function (gl) { + if (!this.isDirty) { + return; + } + // Cull + if (this._isCullDirty) { + if (this.cull) { + gl.enable(gl.CULL_FACE); + } + else { + gl.disable(gl.CULL_FACE); + } + this._isCullDirty = false; + } + // Cull face + if (this._isCullFaceDirty) { + gl.cullFace(this.cullFace); + this._isCullFaceDirty = false; + } + // Depth mask + if (this._isDepthMaskDirty) { + gl.depthMask(this.depthMask); + this._isDepthMaskDirty = false; + } + // Depth test + if (this._isDepthTestDirty) { + if (this.depthTest) { + gl.enable(gl.DEPTH_TEST); + } + else { + gl.disable(gl.DEPTH_TEST); + } + this._isDepthTestDirty = false; + } + // Depth func + if (this._isDepthFuncDirty) { + gl.depthFunc(this.depthFunc); + this._isDepthFuncDirty = false; + } + // zOffset + if (this._isZOffsetDirty) { + if (this.zOffset) { + gl.enable(gl.POLYGON_OFFSET_FILL); + gl.polygonOffset(this.zOffset, 0); + } + else { + gl.disable(gl.POLYGON_OFFSET_FILL); + } + this._isZOffsetDirty = false; + } + }; + return _DepthCullingState; + }()); + Internals._DepthCullingState = _DepthCullingState; + })(Internals = BABYLON.Internals || (BABYLON.Internals = {})); +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.depthCullingState.js.map + +var BABYLON; +(function (BABYLON) { + var Internals; + (function (Internals) { + var _StencilState = (function () { + function _StencilState() { + this._isStencilTestDirty = false; + this._isStencilMaskDirty = false; + this._isStencilFuncDirty = false; + this._isStencilOpDirty = false; + this.reset(); + } + Object.defineProperty(_StencilState.prototype, "isDirty", { + get: function () { + return this._isStencilTestDirty || this._isStencilMaskDirty || this._isStencilFuncDirty || this._isStencilOpDirty; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(_StencilState.prototype, "stencilFunc", { + get: function () { + return this._stencilFunc; + }, + set: function (value) { + if (this._stencilFunc === value) { + return; + } + this._stencilFunc = value; + this._isStencilFuncDirty = true; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(_StencilState.prototype, "stencilFuncRef", { + get: function () { + return this._stencilFuncRef; + }, + set: function (value) { + if (this._stencilFuncRef === value) { + return; + } + this._stencilFuncRef = value; + this._isStencilFuncDirty = true; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(_StencilState.prototype, "stencilFuncMask", { + get: function () { + return this._stencilFuncMask; + }, + set: function (value) { + if (this._stencilFuncMask === value) { + return; + } + this._stencilFuncMask = value; + this._isStencilFuncDirty = true; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(_StencilState.prototype, "stencilOpStencilFail", { + get: function () { + return this._stencilOpStencilFail; + }, + set: function (value) { + if (this._stencilOpStencilFail === value) { + return; + } + this._stencilOpStencilFail = value; + this._isStencilOpDirty = true; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(_StencilState.prototype, "stencilOpDepthFail", { + get: function () { + return this._stencilOpDepthFail; + }, + set: function (value) { + if (this._stencilOpDepthFail === value) { + return; + } + this._stencilOpDepthFail = value; + this._isStencilOpDirty = true; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(_StencilState.prototype, "stencilOpStencilDepthPass", { + get: function () { + return this._stencilOpStencilDepthPass; + }, + set: function (value) { + if (this._stencilOpStencilDepthPass === value) { + return; + } + this._stencilOpStencilDepthPass = value; + this._isStencilOpDirty = true; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(_StencilState.prototype, "stencilMask", { + get: function () { + return this._stencilMask; + }, + set: function (value) { + if (this._stencilMask === value) { + return; + } + this._stencilMask = value; + this._isStencilMaskDirty = true; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(_StencilState.prototype, "stencilTest", { + get: function () { + return this._stencilTest; + }, + set: function (value) { + if (this._stencilTest === value) { + return; + } + this._stencilTest = value; + this._isStencilTestDirty = true; + }, + enumerable: true, + configurable: true + }); + _StencilState.prototype.reset = function () { + this._stencilTest = false; + this._stencilMask = 0xFF; + this._stencilFunc = BABYLON.Engine.ALWAYS; + this._stencilFuncRef = 1; + this._stencilFuncMask = 0xFF; + this._stencilOpStencilFail = BABYLON.Engine.KEEP; + this._stencilOpDepthFail = BABYLON.Engine.KEEP; + this._stencilOpStencilDepthPass = BABYLON.Engine.REPLACE; + this._isStencilTestDirty = true; + this._isStencilMaskDirty = true; + this._isStencilFuncDirty = true; + this._isStencilOpDirty = true; + }; + _StencilState.prototype.apply = function (gl) { + if (!this.isDirty) { + return; + } + // Stencil test + if (this._isStencilTestDirty) { + if (this.stencilTest) { + gl.enable(gl.STENCIL_TEST); + } + else { + gl.disable(gl.STENCIL_TEST); + } + this._isStencilTestDirty = false; + } + // Stencil mask + if (this._isStencilMaskDirty) { + gl.stencilMask(this.stencilMask); + this._isStencilMaskDirty = false; + } + // Stencil func + if (this._isStencilFuncDirty) { + gl.stencilFunc(this.stencilFunc, this.stencilFuncRef, this.stencilFuncMask); + this._isStencilFuncDirty = false; + } + // Stencil op + if (this._isStencilOpDirty) { + gl.stencilOp(this.stencilOpStencilFail, this.stencilOpDepthFail, this.stencilOpStencilDepthPass); + this._isStencilOpDirty = false; + } + }; + return _StencilState; + }()); + Internals._StencilState = _StencilState; + })(Internals = BABYLON.Internals || (BABYLON.Internals = {})); +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.stencilState.js.map + +var BABYLON; +(function (BABYLON) { + var compileShader = function (gl, source, type, defines) { + var shader = gl.createShader(type === "vertex" ? gl.VERTEX_SHADER : gl.FRAGMENT_SHADER); + gl.shaderSource(shader, (defines ? defines + "\n" : "") + source); + gl.compileShader(shader); + if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) { + throw new Error(gl.getShaderInfoLog(shader)); + } + return shader; + }; + var HALF_FLOAT_OES = 0x8D61; + var getWebGLTextureType = function (gl, type) { + if (type === Engine.TEXTURETYPE_FLOAT) { + return gl.FLOAT; + } + else if (type === Engine.TEXTURETYPE_HALF_FLOAT) { + // Add Half Float Constant. + return HALF_FLOAT_OES; + } + return gl.UNSIGNED_BYTE; + }; + var getSamplingParameters = function (samplingMode, generateMipMaps, gl) { + var magFilter = gl.NEAREST; + var minFilter = gl.NEAREST; + if (samplingMode === BABYLON.Texture.BILINEAR_SAMPLINGMODE) { + magFilter = gl.LINEAR; + if (generateMipMaps) { + minFilter = gl.LINEAR_MIPMAP_NEAREST; + } + else { + minFilter = gl.LINEAR; + } + } + else if (samplingMode === BABYLON.Texture.TRILINEAR_SAMPLINGMODE) { + magFilter = gl.LINEAR; + if (generateMipMaps) { + minFilter = gl.LINEAR_MIPMAP_LINEAR; + } + else { + minFilter = gl.LINEAR; + } + } + else if (samplingMode === BABYLON.Texture.NEAREST_SAMPLINGMODE) { + magFilter = gl.NEAREST; + if (generateMipMaps) { + minFilter = gl.NEAREST_MIPMAP_LINEAR; + } + else { + minFilter = gl.NEAREST; + } + } + return { + min: minFilter, + mag: magFilter + }; + }; + var prepareWebGLTexture = function (texture, gl, scene, width, height, invertY, noMipmap, isCompressed, processFunction, samplingMode) { + if (samplingMode === void 0) { samplingMode = BABYLON.Texture.TRILINEAR_SAMPLINGMODE; } + var engine = scene.getEngine(); + var potWidth = BABYLON.Tools.GetExponentOfTwo(width, engine.getCaps().maxTextureSize); + var potHeight = BABYLON.Tools.GetExponentOfTwo(height, engine.getCaps().maxTextureSize); + engine._bindTextureDirectly(gl.TEXTURE_2D, texture); + gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, invertY === undefined ? 1 : (invertY ? 1 : 0)); + texture._baseWidth = width; + texture._baseHeight = height; + texture._width = potWidth; + texture._height = potHeight; + texture.isReady = true; + processFunction(potWidth, potHeight); + var filters = getSamplingParameters(samplingMode, !noMipmap, gl); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, filters.mag); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, filters.min); + if (!noMipmap && !isCompressed) { + gl.generateMipmap(gl.TEXTURE_2D); + } + engine._bindTextureDirectly(gl.TEXTURE_2D, null); + engine.resetTextureCache(); + scene._removePendingData(texture); + texture.onLoadedCallbacks.forEach(function (callback) { + callback(); + }); + texture.onLoadedCallbacks = []; + }; + var partialLoad = function (url, index, loadedImages, scene, onfinish, onErrorCallBack) { + if (onErrorCallBack === void 0) { onErrorCallBack = null; } + var img; + var onload = function () { + loadedImages[index] = img; + loadedImages._internalCount++; + scene._removePendingData(img); + if (loadedImages._internalCount === 6) { + onfinish(loadedImages); + } + }; + var onerror = function () { + scene._removePendingData(img); + if (onErrorCallBack) { + onErrorCallBack(); + } + }; + img = BABYLON.Tools.LoadImage(url, onload, onerror, scene.database); + scene._addPendingData(img); + }; + var cascadeLoad = function (rootUrl, scene, onfinish, files, onError) { + if (onError === void 0) { onError = null; } + var loadedImages = []; + loadedImages._internalCount = 0; + for (var index = 0; index < 6; index++) { + partialLoad(files[index], index, loadedImages, scene, onfinish, onError); + } + }; + var InstancingAttributeInfo = (function () { + function InstancingAttributeInfo() { + } + return InstancingAttributeInfo; + }()); + BABYLON.InstancingAttributeInfo = InstancingAttributeInfo; + var EngineCapabilities = (function () { + function EngineCapabilities() { + } + return EngineCapabilities; + }()); + BABYLON.EngineCapabilities = EngineCapabilities; + /** + * The engine class is responsible for interfacing with all lower-level APIs such as WebGL and Audio. + */ + var Engine = (function () { + /** + * @constructor + * @param {HTMLCanvasElement} canvas - the canvas to be used for rendering + * @param {boolean} [antialias] - enable antialias + * @param options - further options to be sent to the getContext function + */ + function Engine(canvas, antialias, options, adaptToDeviceRatio) { + var _this = this; + if (adaptToDeviceRatio === void 0) { adaptToDeviceRatio = true; } + // Public members + this.isFullscreen = false; + this.isPointerLock = false; + this.cullBackFaces = true; + this.renderEvenInBackground = true; + // To enable/disable IDB support and avoid XHR on .manifest + this.enableOfflineSupport = true; + this.scenes = new Array(); + this._windowIsBackground = false; + this._webGLVersion = "1.0"; + this._badOS = false; + this._drawCalls = new BABYLON.PerfCounter(); + this._renderingQueueLaunched = false; + this._activeRenderLoops = []; + // FPS + this.fpsRange = 60; + this.previousFramesDuration = []; + this.fps = 60; + this.deltaTime = 0; + // States + this._depthCullingState = new BABYLON.Internals._DepthCullingState(); + this._stencilState = new BABYLON.Internals._StencilState(); + this._alphaState = new BABYLON.Internals._AlphaState(); + this._alphaMode = Engine.ALPHA_DISABLE; + // Cache + this._loadedTexturesCache = new Array(); + this._maxTextureChannels = 16; + this._activeTexturesCache = new Array(this._maxTextureChannels); + this._compiledEffects = {}; + this._vertexAttribArraysEnabled = []; + this._uintIndicesCurrentlySet = false; + this._currentBoundBuffer = new Array(); + this._currentBufferPointers = []; + this._currentInstanceLocations = new Array(); + this._currentInstanceBuffers = new Array(); + // Hardware supported Compressed Textures + this._texturesSupported = new Array(); + this._onVRFullScreenTriggered = function () { + if (_this._vrDisplayEnabled && _this._vrDisplayEnabled.isPresenting) { + //get the old size before we change + _this._oldSize = new BABYLON.Size(_this.getRenderWidth(), _this.getRenderHeight()); + _this._oldHardwareScaleFactor = _this.getHardwareScalingLevel(); + //according to the WebVR specs, requestAnimationFrame should be triggered only once. + //But actually, no browser follow the specs... + //this._vrAnimationFrameHandler = this._vrDisplayEnabled.requestAnimationFrame(this._bindedRenderFunction); + //get the width and height, change the render size + var leftEye = _this._vrDisplayEnabled.getEyeParameters('left'); + var width, height; + _this.setHardwareScalingLevel(1); + _this.setSize(leftEye.renderWidth * 2, leftEye.renderHeight); + } + else { + //When the specs are implemented, need to uncomment this. + //this._vrDisplayEnabled.cancelAnimationFrame(this._vrAnimationFrameHandler); + _this.setHardwareScalingLevel(_this._oldHardwareScaleFactor); + _this.setSize(_this._oldSize.width, _this._oldSize.height); + _this._vrDisplayEnabled = undefined; + } + }; + this._renderingCanvas = canvas; + this._externalData = new BABYLON.StringDictionary(); + options = options || {}; + if (antialias != null) { + options.antialias = antialias; + } + if (options.preserveDrawingBuffer === undefined) { + options.preserveDrawingBuffer = false; + } + // Checks if some of the format renders first to allow the use of webgl inspector. + var renderToFullFloat = this._canRenderToFloatTexture(); + var renderToHalfFloat = this._canRenderToHalfFloatTexture(); + // GL + //try { + // this._gl = (canvas.getContext("webgl2", options) || canvas.getContext("experimental-webgl2", options)); + // if (this._gl) { + // this._webGLVersion = "2.0"; + // } + //} catch (e) { + // // Do nothing + //} + if (!this._gl) { + if (!canvas) { + throw new Error("The provided canvas is null or undefined."); + } + try { + this._gl = (canvas.getContext("webgl", options) || canvas.getContext("experimental-webgl", options)); + } + catch (e) { + throw new Error("WebGL not supported"); + } + } + if (!this._gl) { + throw new Error("WebGL not supported"); + } + this._onBlur = function () { + _this._windowIsBackground = true; + }; + this._onFocus = function () { + _this._windowIsBackground = false; + }; + window.addEventListener("blur", this._onBlur); + window.addEventListener("focus", this._onFocus); + // Viewport + var limitDeviceRatio = options.limitDeviceRatio || window.devicePixelRatio || 1.0; + this._hardwareScalingLevel = adaptToDeviceRatio ? 1.0 / Math.min(limitDeviceRatio, window.devicePixelRatio || 1.0) : 1.0; + this.resize(); + // Caps + this._isStencilEnable = options.stencil; + this._caps = new EngineCapabilities(); + this._caps.maxTexturesImageUnits = this._gl.getParameter(this._gl.MAX_TEXTURE_IMAGE_UNITS); + this._caps.maxTextureSize = this._gl.getParameter(this._gl.MAX_TEXTURE_SIZE); + this._caps.maxCubemapTextureSize = this._gl.getParameter(this._gl.MAX_CUBE_MAP_TEXTURE_SIZE); + this._caps.maxRenderTextureSize = this._gl.getParameter(this._gl.MAX_RENDERBUFFER_SIZE); + this._caps.maxVertexAttribs = this._gl.getParameter(this._gl.MAX_VERTEX_ATTRIBS); + // Infos + this._glVersion = this._gl.getParameter(this._gl.VERSION); + var rendererInfo = this._gl.getExtension("WEBGL_debug_renderer_info"); + if (rendererInfo != null) { + this._glRenderer = this._gl.getParameter(rendererInfo.UNMASKED_RENDERER_WEBGL); + this._glVendor = this._gl.getParameter(rendererInfo.UNMASKED_VENDOR_WEBGL); + } + if (!this._glVendor) { + this._glVendor = "Unknown vendor"; + } + if (!this._glRenderer) { + this._glRenderer = "Unknown renderer"; + } + // Extensions + this._caps.standardDerivatives = (this._gl.getExtension('OES_standard_derivatives') !== null); + this._caps.astc = this._gl.getExtension('WEBGL_compressed_texture_astc'); + this._caps.s3tc = this._gl.getExtension('WEBGL_compressed_texture_s3tc'); + this._caps.pvrtc = this._gl.getExtension('WEBGL_compressed_texture_pvrtc') || this._gl.getExtension('WEBKIT_WEBGL_compressed_texture_pvrtc'); // 2nd is what iOS reports + this._caps.etc1 = this._gl.getExtension('WEBGL_compressed_texture_etc1'); + this._caps.etc2 = this._gl.getExtension('WEBGL_compressed_texture_etc') || this._gl.getExtension('WEBGL_compressed_texture_es3_0'); // first is the final name, found hardware using 2nd + this._caps.textureFloat = (this._gl.getExtension('OES_texture_float') !== null); + this._caps.textureAnisotropicFilterExtension = this._gl.getExtension('EXT_texture_filter_anisotropic') || this._gl.getExtension('WEBKIT_EXT_texture_filter_anisotropic') || this._gl.getExtension('MOZ_EXT_texture_filter_anisotropic'); + this._caps.maxAnisotropy = this._caps.textureAnisotropicFilterExtension ? this._gl.getParameter(this._caps.textureAnisotropicFilterExtension.MAX_TEXTURE_MAX_ANISOTROPY_EXT) : 0; + this._caps.instancedArrays = this._gl.getExtension('ANGLE_instanced_arrays'); + this._caps.uintIndices = this._gl.getExtension('OES_element_index_uint') !== null; + this._caps.fragmentDepthSupported = this._gl.getExtension('EXT_frag_depth') !== null; + this._caps.highPrecisionShaderSupported = true; + this._caps.drawBuffersExtension = this._gl.getExtension('WEBGL_draw_buffers'); + this._caps.textureFloatLinearFiltering = this._gl.getExtension('OES_texture_float_linear'); + this._caps.textureLOD = this._gl.getExtension('EXT_shader_texture_lod'); + this._caps.textureFloatRender = renderToFullFloat; + this._caps.textureHalfFloat = (this._gl.getExtension('OES_texture_half_float') !== null); + this._caps.textureHalfFloatLinearFiltering = this._gl.getExtension('OES_texture_half_float_linear'); + this._caps.textureHalfFloatRender = renderToHalfFloat; + // Intelligently add supported commpressed formats in order to check for. + // Check for ASTC support first as it is most powerful and to be very cross platform. + // Next PVR & S3, which are probably superior to ETC1/2. + // Likely no hardware which supports both PVR & S3, so order matters little. + // ETC2 is newer and handles ETC1, so check for first. + if (this._caps.astc) + this.texturesSupported.push('.astc'); + if (this._caps.s3tc) + this.texturesSupported.push('.dds'); + if (this._caps.pvrtc) + this.texturesSupported.push('.pvr'); + if (this._caps.etc2) + this.texturesSupported.push('.etc2'); + if (this._caps.etc1) + this.texturesSupported.push('.etc1'); + if (this._gl.getShaderPrecisionFormat) { + var highp = this._gl.getShaderPrecisionFormat(this._gl.FRAGMENT_SHADER, this._gl.HIGH_FLOAT); + this._caps.highPrecisionShaderSupported = highp.precision !== 0; + } + // Depth buffer + this.setDepthBuffer(true); + this.setDepthFunctionToLessOrEqual(); + this.setDepthWrite(true); + // Fullscreen + this._onFullscreenChange = function () { + if (document.fullscreen !== undefined) { + _this.isFullscreen = document.fullscreen; + } + else if (document.mozFullScreen !== undefined) { + _this.isFullscreen = document.mozFullScreen; + } + else if (document.webkitIsFullScreen !== undefined) { + _this.isFullscreen = document.webkitIsFullScreen; + } + else if (document.msIsFullScreen !== undefined) { + _this.isFullscreen = document.msIsFullScreen; + } + // Pointer lock + if (_this.isFullscreen && _this._pointerLockRequested) { + canvas.requestPointerLock = canvas.requestPointerLock || + canvas.msRequestPointerLock || + canvas.mozRequestPointerLock || + canvas.webkitRequestPointerLock; + if (canvas.requestPointerLock) { + canvas.requestPointerLock(); + } + } + }; + document.addEventListener("fullscreenchange", this._onFullscreenChange, false); + document.addEventListener("mozfullscreenchange", this._onFullscreenChange, false); + document.addEventListener("webkitfullscreenchange", this._onFullscreenChange, false); + document.addEventListener("msfullscreenchange", this._onFullscreenChange, false); + // Pointer lock + this._onPointerLockChange = function () { + _this.isPointerLock = (document.mozPointerLockElement === canvas || + document.webkitPointerLockElement === canvas || + document.msPointerLockElement === canvas || + document.pointerLockElement === canvas); + }; + document.addEventListener("pointerlockchange", this._onPointerLockChange, false); + document.addEventListener("mspointerlockchange", this._onPointerLockChange, false); + document.addEventListener("mozpointerlockchange", this._onPointerLockChange, false); + document.addEventListener("webkitpointerlockchange", this._onPointerLockChange, false); + if (BABYLON.AudioEngine && !Engine.audioEngine) { + Engine.audioEngine = new BABYLON.AudioEngine(); + } + //default loading screen + this._loadingScreen = new BABYLON.DefaultLoadingScreen(this._renderingCanvas); + //Load WebVR Devices + if (options.autoEnableWebVR) { + this.initWebVR(); + } + //Detect if we are running on a faulty buggy OS. + var regexp = /AppleWebKit.*10.[\d] Mobile/; + //ua sniffing is the tool of the devil. + this._badOS = regexp.test(navigator.userAgent); + BABYLON.Tools.Log("Babylon.js engine (v" + Engine.Version + ") launched"); + } + Object.defineProperty(Engine, "NEVER", { + get: function () { + return Engine._NEVER; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine, "ALWAYS", { + get: function () { + return Engine._ALWAYS; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine, "LESS", { + get: function () { + return Engine._LESS; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine, "EQUAL", { + get: function () { + return Engine._EQUAL; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine, "LEQUAL", { + get: function () { + return Engine._LEQUAL; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine, "GREATER", { + get: function () { + return Engine._GREATER; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine, "GEQUAL", { + get: function () { + return Engine._GEQUAL; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine, "NOTEQUAL", { + get: function () { + return Engine._NOTEQUAL; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine, "KEEP", { + get: function () { + return Engine._KEEP; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine, "REPLACE", { + get: function () { + return Engine._REPLACE; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine, "INCR", { + get: function () { + return Engine._INCR; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine, "DECR", { + get: function () { + return Engine._DECR; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine, "INVERT", { + get: function () { + return Engine._INVERT; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine, "INCR_WRAP", { + get: function () { + return Engine._INCR_WRAP; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine, "DECR_WRAP", { + get: function () { + return Engine._DECR_WRAP; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine, "ALPHA_DISABLE", { + get: function () { + return Engine._ALPHA_DISABLE; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine, "ALPHA_ONEONE", { + get: function () { + return Engine._ALPHA_ONEONE; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine, "ALPHA_ADD", { + get: function () { + return Engine._ALPHA_ADD; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine, "ALPHA_COMBINE", { + get: function () { + return Engine._ALPHA_COMBINE; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine, "ALPHA_SUBTRACT", { + get: function () { + return Engine._ALPHA_SUBTRACT; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine, "ALPHA_MULTIPLY", { + get: function () { + return Engine._ALPHA_MULTIPLY; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine, "ALPHA_MAXIMIZED", { + get: function () { + return Engine._ALPHA_MAXIMIZED; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine, "DELAYLOADSTATE_NONE", { + get: function () { + return Engine._DELAYLOADSTATE_NONE; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine, "DELAYLOADSTATE_LOADED", { + get: function () { + return Engine._DELAYLOADSTATE_LOADED; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine, "DELAYLOADSTATE_LOADING", { + get: function () { + return Engine._DELAYLOADSTATE_LOADING; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine, "DELAYLOADSTATE_NOTLOADED", { + get: function () { + return Engine._DELAYLOADSTATE_NOTLOADED; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine, "TEXTUREFORMAT_ALPHA", { + get: function () { + return Engine._TEXTUREFORMAT_ALPHA; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine, "TEXTUREFORMAT_LUMINANCE", { + get: function () { + return Engine._TEXTUREFORMAT_LUMINANCE; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine, "TEXTUREFORMAT_LUMINANCE_ALPHA", { + get: function () { + return Engine._TEXTUREFORMAT_LUMINANCE_ALPHA; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine, "TEXTUREFORMAT_RGB", { + get: function () { + return Engine._TEXTUREFORMAT_RGB; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine, "TEXTUREFORMAT_RGBA", { + get: function () { + return Engine._TEXTUREFORMAT_RGBA; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine, "TEXTURETYPE_UNSIGNED_INT", { + get: function () { + return Engine._TEXTURETYPE_UNSIGNED_INT; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine, "TEXTURETYPE_FLOAT", { + get: function () { + return Engine._TEXTURETYPE_FLOAT; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine, "TEXTURETYPE_HALF_FLOAT", { + get: function () { + return Engine._TEXTURETYPE_HALF_FLOAT; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine, "Version", { + get: function () { + return "2.5"; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine.prototype, "texturesSupported", { + get: function () { + return this._texturesSupported; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine.prototype, "textureFormatInUse", { + get: function () { + return this._textureFormatInUse; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine.prototype, "webGLVersion", { + get: function () { + return this._webGLVersion; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine.prototype, "isStencilEnable", { + /** + * Returns true if the stencil buffer has been enabled through the creation option of the context. + */ + get: function () { + return this._isStencilEnable; + }, + enumerable: true, + configurable: true + }); + Engine.prototype._prepareWorkingCanvas = function () { + if (this._workingCanvas) { + return; + } + this._workingCanvas = document.createElement("canvas"); + this._workingContext = this._workingCanvas.getContext("2d"); + }; + Engine.prototype.resetTextureCache = function () { + for (var index = 0; index < this._maxTextureChannels; index++) { + this._activeTexturesCache[index] = null; + } + }; + Engine.prototype.getGlInfo = function () { + return { + vendor: this._glVendor, + renderer: this._glRenderer, + version: this._glVersion + }; + }; + Engine.prototype.getAspectRatio = function (camera, useScreen) { + if (useScreen === void 0) { useScreen = false; } + var viewport = camera.viewport; + return (this.getRenderWidth(useScreen) * viewport.width) / (this.getRenderHeight(useScreen) * viewport.height); + }; + Engine.prototype.getRenderWidth = function (useScreen) { + if (useScreen === void 0) { useScreen = false; } + if (!useScreen && this._currentRenderTarget) { + return this._currentRenderTarget._width; + } + return this._renderingCanvas.width; + }; + Engine.prototype.getRenderHeight = function (useScreen) { + if (useScreen === void 0) { useScreen = false; } + if (!useScreen && this._currentRenderTarget) { + return this._currentRenderTarget._height; + } + return this._renderingCanvas.height; + }; + Engine.prototype.getRenderingCanvas = function () { + return this._renderingCanvas; + }; + Engine.prototype.getRenderingCanvasClientRect = function () { + return this._renderingCanvas.getBoundingClientRect(); + }; + Engine.prototype.setHardwareScalingLevel = function (level) { + this._hardwareScalingLevel = level; + this.resize(); + }; + Engine.prototype.getHardwareScalingLevel = function () { + return this._hardwareScalingLevel; + }; + Engine.prototype.getLoadedTexturesCache = function () { + return this._loadedTexturesCache; + }; + Engine.prototype.getCaps = function () { + return this._caps; + }; + Object.defineProperty(Engine.prototype, "drawCalls", { + get: function () { + return this._drawCalls.current; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine.prototype, "drawCallsPerfCounter", { + get: function () { + return this._drawCalls; + }, + enumerable: true, + configurable: true + }); + Engine.prototype.getDepthFunction = function () { + return this._depthCullingState.depthFunc; + }; + Engine.prototype.setDepthFunction = function (depthFunc) { + this._depthCullingState.depthFunc = depthFunc; + }; + Engine.prototype.setDepthFunctionToGreater = function () { + this._depthCullingState.depthFunc = this._gl.GREATER; + }; + Engine.prototype.setDepthFunctionToGreaterOrEqual = function () { + this._depthCullingState.depthFunc = this._gl.GEQUAL; + }; + Engine.prototype.setDepthFunctionToLess = function () { + this._depthCullingState.depthFunc = this._gl.LESS; + }; + Engine.prototype.setDepthFunctionToLessOrEqual = function () { + this._depthCullingState.depthFunc = this._gl.LEQUAL; + }; + Engine.prototype.getStencilBuffer = function () { + return this._stencilState.stencilTest; + }; + Engine.prototype.setStencilBuffer = function (enable) { + this._stencilState.stencilTest = enable; + }; + Engine.prototype.getStencilMask = function () { + return this._stencilState.stencilMask; + }; + Engine.prototype.setStencilMask = function (mask) { + this._stencilState.stencilMask = mask; + }; + Engine.prototype.getStencilFunction = function () { + return this._stencilState.stencilFunc; + }; + Engine.prototype.getStencilFunctionReference = function () { + return this._stencilState.stencilFuncRef; + }; + Engine.prototype.getStencilFunctionMask = function () { + return this._stencilState.stencilFuncMask; + }; + Engine.prototype.setStencilFunction = function (stencilFunc) { + this._stencilState.stencilFunc = stencilFunc; + }; + Engine.prototype.setStencilFunctionReference = function (reference) { + this._stencilState.stencilFuncRef = reference; + }; + Engine.prototype.setStencilFunctionMask = function (mask) { + this._stencilState.stencilFuncMask = mask; + }; + Engine.prototype.getStencilOperationFail = function () { + return this._stencilState.stencilOpStencilFail; + }; + Engine.prototype.getStencilOperationDepthFail = function () { + return this._stencilState.stencilOpDepthFail; + }; + Engine.prototype.getStencilOperationPass = function () { + return this._stencilState.stencilOpStencilDepthPass; + }; + Engine.prototype.setStencilOperationFail = function (operation) { + this._stencilState.stencilOpStencilFail = operation; + }; + Engine.prototype.setStencilOperationDepthFail = function (operation) { + this._stencilState.stencilOpDepthFail = operation; + }; + Engine.prototype.setStencilOperationPass = function (operation) { + this._stencilState.stencilOpStencilDepthPass = operation; + }; + /** + * stop executing a render loop function and remove it from the execution array + * @param {Function} [renderFunction] the function to be removed. If not provided all functions will be removed. + */ + Engine.prototype.stopRenderLoop = function (renderFunction) { + if (!renderFunction) { + this._activeRenderLoops = []; + return; + } + var index = this._activeRenderLoops.indexOf(renderFunction); + if (index >= 0) { + this._activeRenderLoops.splice(index, 1); + } + }; + Engine.prototype._renderLoop = function () { + var shouldRender = true; + if (!this.renderEvenInBackground && this._windowIsBackground) { + shouldRender = false; + } + if (shouldRender) { + // Start new frame + this.beginFrame(); + for (var index = 0; index < this._activeRenderLoops.length; index++) { + var renderFunction = this._activeRenderLoops[index]; + renderFunction(); + } + // Present + this.endFrame(); + } + if (this._activeRenderLoops.length > 0) { + // Register new frame + BABYLON.Tools.QueueNewFrame(this._bindedRenderFunction, this._vrDisplayEnabled); + } + else { + this._renderingQueueLaunched = false; + } + }; + /** + * Register and execute a render loop. The engine can have more than one render function. + * @param {Function} renderFunction - the function to continuously execute starting the next render loop. + * @example + * engine.runRenderLoop(function () { + * scene.render() + * }) + */ + Engine.prototype.runRenderLoop = function (renderFunction) { + if (this._activeRenderLoops.indexOf(renderFunction) !== -1) { + return; + } + this._activeRenderLoops.push(renderFunction); + if (!this._renderingQueueLaunched) { + this._renderingQueueLaunched = true; + this._bindedRenderFunction = this._renderLoop.bind(this); + BABYLON.Tools.QueueNewFrame(this._bindedRenderFunction); + } + }; + /** + * Toggle full screen mode. + * @param {boolean} requestPointerLock - should a pointer lock be requested from the user + * @param {any} options - an options object to be sent to the requestFullscreen function + */ + Engine.prototype.switchFullscreen = function (requestPointerLock) { + if (this.isFullscreen) { + BABYLON.Tools.ExitFullscreen(); + } + else { + this._pointerLockRequested = requestPointerLock; + BABYLON.Tools.RequestFullscreen(this._renderingCanvas); + } + }; + Engine.prototype.clear = function (color, backBuffer, depth, stencil) { + if (stencil === void 0) { stencil = false; } + this.applyStates(); + var mode = 0; + if (backBuffer) { + this._gl.clearColor(color.r, color.g, color.b, color.a !== undefined ? color.a : 1.0); + mode |= this._gl.COLOR_BUFFER_BIT; + } + if (depth) { + this._gl.clearDepth(1.0); + mode |= this._gl.DEPTH_BUFFER_BIT; + } + if (stencil) { + this._gl.clearStencil(0); + mode |= this._gl.STENCIL_BUFFER_BIT; + } + this._gl.clear(mode); + }; + Engine.prototype.scissorClear = function (x, y, width, height, clearColor) { + var gl = this._gl; + // Save state + var curScissor = gl.getParameter(gl.SCISSOR_TEST); + var curScissorBox = gl.getParameter(gl.SCISSOR_BOX); + // Change state + gl.enable(gl.SCISSOR_TEST); + gl.scissor(x, y, width, height); + // Clear + this.clear(clearColor, true, true, true); + // Restore state + gl.scissor(curScissorBox[0], curScissorBox[1], curScissorBox[2], curScissorBox[3]); + if (curScissor === true) { + gl.enable(gl.SCISSOR_TEST); + } + else { + gl.disable(gl.SCISSOR_TEST); + } + }; + /** + * Set the WebGL's viewport + * @param {BABYLON.Viewport} viewport - the viewport element to be used. + * @param {number} [requiredWidth] - the width required for rendering. If not provided the rendering canvas' width is used. + * @param {number} [requiredHeight] - the height required for rendering. If not provided the rendering canvas' height is used. + */ + Engine.prototype.setViewport = function (viewport, requiredWidth, requiredHeight) { + var width = requiredWidth || (navigator.isCocoonJS ? window.innerWidth : this._renderingCanvas.width); + var height = requiredHeight || (navigator.isCocoonJS ? window.innerHeight : this._renderingCanvas.height); + var x = viewport.x || 0; + var y = viewport.y || 0; + this._cachedViewport = viewport; + this._gl.viewport(x * width, y * height, width * viewport.width, height * viewport.height); + }; + /** + * Directly set the WebGL Viewport + * The x, y, width & height are directly passed to the WebGL call + * @return the current viewport Object (if any) that is being replaced by this call. You can restore this viewport later on to go back to the original state. + */ + Engine.prototype.setDirectViewport = function (x, y, width, height) { + var currentViewport = this._cachedViewport; + this._cachedViewport = null; + this._gl.viewport(x, y, width, height); + return currentViewport; + }; + Engine.prototype.beginFrame = function () { + this._measureFps(); + }; + Engine.prototype.endFrame = function () { + //force a flush in case we are using a bad OS. + if (this._badOS) { + this.flushFramebuffer(); + } + //submit frame to the vr device, if enabled + if (this._vrDisplayEnabled && this._vrDisplayEnabled.isPresenting) { + this._vrDisplayEnabled.submitFrame(); + } + }; + /** + * resize the view according to the canvas' size. + * @example + * window.addEventListener("resize", function () { + * engine.resize(); + * }); + */ + Engine.prototype.resize = function () { + var width = navigator.isCocoonJS ? window.innerWidth : this._renderingCanvas.clientWidth; + var height = navigator.isCocoonJS ? window.innerHeight : this._renderingCanvas.clientHeight; + this.setSize(width / this._hardwareScalingLevel, height / this._hardwareScalingLevel); + for (var index = 0; index < this.scenes.length; index++) { + var scene = this.scenes[index]; + if (BABYLON.DebugLayer && scene.debugLayer.isVisible()) { + scene.debugLayer._syncPositions(); + } + } + }; + /** + * force a specific size of the canvas + * @param {number} width - the new canvas' width + * @param {number} height - the new canvas' height + */ + Engine.prototype.setSize = function (width, height) { + this._renderingCanvas.width = width; + this._renderingCanvas.height = height; + for (var index = 0; index < this.scenes.length; index++) { + var scene = this.scenes[index]; + for (var camIndex = 0; camIndex < scene.cameras.length; camIndex++) { + var cam = scene.cameras[camIndex]; + cam._currentRenderId = 0; + } + } + }; + //WebVR functions + Engine.prototype.initWebVR = function () { + if (!this.vrDisplaysPromise) { + this._getVRDisplays(); + } + }; + Engine.prototype.enableVR = function (vrDevice) { + this._vrDisplayEnabled = vrDevice; + this._vrDisplayEnabled.requestPresent([{ source: this.getRenderingCanvas() }]).then(this._onVRFullScreenTriggered); + }; + Engine.prototype.disableVR = function () { + if (this._vrDisplayEnabled) { + this._vrDisplayEnabled.exitPresent().then(this._onVRFullScreenTriggered); + } + }; + Engine.prototype._getVRDisplays = function () { + var _this = this; + var getWebVRDevices = function (devices) { + var size = devices.length; + var i = 0; + _this._vrDisplays = devices.filter(function (device) { + return devices[i] instanceof VRDisplay; + }); + return _this._vrDisplays; + }; + //using a key due to typescript + if (navigator.getVRDisplays) { + this.vrDisplaysPromise = navigator.getVRDisplays().then(getWebVRDevices); + } + }; + Engine.prototype.bindFramebuffer = function (texture, faceIndex, requiredWidth, requiredHeight) { + this._currentRenderTarget = texture; + this.bindUnboundFramebuffer(texture._framebuffer); + var gl = this._gl; + if (texture.isCube) { + gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_CUBE_MAP_POSITIVE_X + faceIndex, texture, 0); + } + gl.viewport(0, 0, requiredWidth || texture._width, requiredHeight || texture._height); + this.wipeCaches(); + }; + Engine.prototype.bindUnboundFramebuffer = function (framebuffer) { + if (this._currentFramebuffer !== framebuffer) { + this._gl.bindFramebuffer(this._gl.FRAMEBUFFER, framebuffer); + this._currentFramebuffer = framebuffer; + } + }; + Engine.prototype.unBindFramebuffer = function (texture, disableGenerateMipMaps) { + if (disableGenerateMipMaps === void 0) { disableGenerateMipMaps = false; } + this._currentRenderTarget = null; + if (texture.generateMipMaps && !disableGenerateMipMaps) { + var gl = this._gl; + this._bindTextureDirectly(gl.TEXTURE_2D, texture); + gl.generateMipmap(gl.TEXTURE_2D); + this._bindTextureDirectly(gl.TEXTURE_2D, null); + } + this.bindUnboundFramebuffer(null); + }; + Engine.prototype.generateMipMapsForCubemap = function (texture) { + if (texture.generateMipMaps) { + var gl = this._gl; + this._bindTextureDirectly(gl.TEXTURE_CUBE_MAP, texture); + gl.generateMipmap(gl.TEXTURE_CUBE_MAP); + this._bindTextureDirectly(gl.TEXTURE_CUBE_MAP, null); + } + }; + Engine.prototype.flushFramebuffer = function () { + this._gl.flush(); + }; + Engine.prototype.restoreDefaultFramebuffer = function () { + this._currentRenderTarget = null; + this.bindUnboundFramebuffer(null); + this.setViewport(this._cachedViewport); + this.wipeCaches(); + }; + // VBOs + Engine.prototype._resetVertexBufferBinding = function () { + this.bindArrayBuffer(null); + this._cachedVertexBuffers = null; + }; + Engine.prototype.createVertexBuffer = function (vertices) { + var vbo = this._gl.createBuffer(); + this.bindArrayBuffer(vbo); + if (vertices instanceof Float32Array) { + this._gl.bufferData(this._gl.ARRAY_BUFFER, vertices, this._gl.STATIC_DRAW); + } + else { + this._gl.bufferData(this._gl.ARRAY_BUFFER, new Float32Array(vertices), this._gl.STATIC_DRAW); + } + this._resetVertexBufferBinding(); + vbo.references = 1; + return vbo; + }; + Engine.prototype.createDynamicVertexBuffer = function (vertices) { + var vbo = this._gl.createBuffer(); + this.bindArrayBuffer(vbo); + if (vertices instanceof Float32Array) { + this._gl.bufferData(this._gl.ARRAY_BUFFER, vertices, this._gl.DYNAMIC_DRAW); + } + else { + this._gl.bufferData(this._gl.ARRAY_BUFFER, new Float32Array(vertices), this._gl.DYNAMIC_DRAW); + } + this._resetVertexBufferBinding(); + vbo.references = 1; + return vbo; + }; + Engine.prototype.updateDynamicVertexBuffer = function (vertexBuffer, vertices, offset, count) { + this.bindArrayBuffer(vertexBuffer); + if (offset === undefined) { + offset = 0; + } + if (count === undefined) { + if (vertices instanceof Float32Array) { + this._gl.bufferSubData(this._gl.ARRAY_BUFFER, offset, vertices); + } + else { + this._gl.bufferSubData(this._gl.ARRAY_BUFFER, offset, new Float32Array(vertices)); + } + } + else { + if (vertices instanceof Float32Array) { + this._gl.bufferSubData(this._gl.ARRAY_BUFFER, 0, vertices.subarray(offset, offset + count)); + } + else { + this._gl.bufferSubData(this._gl.ARRAY_BUFFER, 0, new Float32Array(vertices).subarray(offset, offset + count)); + } + } + this._resetVertexBufferBinding(); + }; + Engine.prototype._resetIndexBufferBinding = function () { + this.bindIndexBuffer(null); + this._cachedIndexBuffer = null; + }; + Engine.prototype.createIndexBuffer = function (indices) { + var vbo = this._gl.createBuffer(); + this.bindIndexBuffer(vbo); + // Check for 32 bits indices + var arrayBuffer; + var need32Bits = false; + if (this._caps.uintIndices) { + for (var index = 0; index < indices.length; index++) { + if (indices[index] > 65535) { + need32Bits = true; + break; + } + } + arrayBuffer = need32Bits ? new Uint32Array(indices) : new Uint16Array(indices); + } + else { + arrayBuffer = new Uint16Array(indices); + } + this._gl.bufferData(this._gl.ELEMENT_ARRAY_BUFFER, arrayBuffer, this._gl.STATIC_DRAW); + this._resetIndexBufferBinding(); + vbo.references = 1; + vbo.is32Bits = need32Bits; + return vbo; + }; + Engine.prototype.bindArrayBuffer = function (buffer) { + this.bindBuffer(buffer, this._gl.ARRAY_BUFFER); + }; + Engine.prototype.bindIndexBuffer = function (buffer) { + this.bindBuffer(buffer, this._gl.ELEMENT_ARRAY_BUFFER); + }; + Engine.prototype.bindBuffer = function (buffer, target) { + if (this._currentBoundBuffer[target] !== buffer) { + this._gl.bindBuffer(target, buffer); + this._currentBoundBuffer[target] = buffer; + } + }; + Engine.prototype.updateArrayBuffer = function (data) { + this._gl.bufferSubData(this._gl.ARRAY_BUFFER, 0, data); + }; + Engine.prototype.vertexAttribPointer = function (buffer, indx, size, type, normalized, stride, offset) { + var pointer = this._currentBufferPointers[indx]; + var changed = false; + if (!pointer) { + changed = true; + this._currentBufferPointers[indx] = { indx: indx, size: size, type: type, normalized: normalized, stride: stride, offset: offset, buffer: buffer }; + } + else { + if (pointer.buffer !== buffer) { + pointer.buffer = buffer; + changed = true; + } + if (pointer.size !== size) { + pointer.size = size; + changed = true; + } + if (pointer.type !== type) { + pointer.type = type; + changed = true; + } + if (pointer.normalized !== normalized) { + pointer.normalized = normalized; + changed = true; + } + if (pointer.stride !== stride) { + pointer.stride = stride; + changed = true; + } + if (pointer.offset !== offset) { + pointer.offset = offset; + changed = true; + } + } + if (changed) { + this.bindArrayBuffer(buffer); + this._gl.vertexAttribPointer(indx, size, type, normalized, stride, offset); + } + }; + Engine.prototype.bindBuffersDirectly = function (vertexBuffer, indexBuffer, vertexDeclaration, vertexStrideSize, effect) { + if (this._cachedVertexBuffers !== vertexBuffer || this._cachedEffectForVertexBuffers !== effect) { + this._cachedVertexBuffers = vertexBuffer; + this._cachedEffectForVertexBuffers = effect; + var attributesCount = effect.getAttributesCount(); + var offset = 0; + for (var index = 0; index < attributesCount; index++) { + if (index < vertexDeclaration.length) { + var order = effect.getAttributeLocation(index); + if (order >= 0) { + if (!this._vertexAttribArraysEnabled[order]) { + this._gl.enableVertexAttribArray(order); + this._vertexAttribArraysEnabled[order] = true; + } + this.vertexAttribPointer(vertexBuffer, order, vertexDeclaration[index], this._gl.FLOAT, false, vertexStrideSize, offset); + } + offset += vertexDeclaration[index] * 4; + } + else { + //disable effect attributes that have no data + var order = effect.getAttributeLocation(index); + if (this._vertexAttribArraysEnabled[order]) { + this._gl.disableVertexAttribArray(order); + this._vertexAttribArraysEnabled[order] = false; + } + } + } + } + if (this._cachedIndexBuffer !== indexBuffer) { + this._cachedIndexBuffer = indexBuffer; + this.bindIndexBuffer(indexBuffer); + this._uintIndicesCurrentlySet = indexBuffer.is32Bits; + } + }; + Engine.prototype.bindBuffers = function (vertexBuffers, indexBuffer, effect) { + if (this._cachedVertexBuffers !== vertexBuffers || this._cachedEffectForVertexBuffers !== effect) { + this._cachedVertexBuffers = vertexBuffers; + this._cachedEffectForVertexBuffers = effect; + var attributes = effect.getAttributesNames(); + for (var index = 0; index < attributes.length; index++) { + var order = effect.getAttributeLocation(index); + if (order >= 0) { + var vertexBuffer = vertexBuffers[attributes[index]]; + if (!vertexBuffer) { + if (this._vertexAttribArraysEnabled[order]) { + this._gl.disableVertexAttribArray(order); + this._vertexAttribArraysEnabled[order] = false; + } + continue; + } + if (!this._vertexAttribArraysEnabled[order]) { + this._gl.enableVertexAttribArray(order); + this._vertexAttribArraysEnabled[order] = true; + } + var buffer = vertexBuffer.getBuffer(); + this.vertexAttribPointer(buffer, order, vertexBuffer.getSize(), this._gl.FLOAT, false, vertexBuffer.getStrideSize() * 4, vertexBuffer.getOffset() * 4); + if (vertexBuffer.getIsInstanced()) { + this._caps.instancedArrays.vertexAttribDivisorANGLE(order, 1); + this._currentInstanceLocations.push(order); + this._currentInstanceBuffers.push(buffer); + } + } + } + } + if (indexBuffer != null && this._cachedIndexBuffer !== indexBuffer) { + this._cachedIndexBuffer = indexBuffer; + this.bindIndexBuffer(indexBuffer); + this._uintIndicesCurrentlySet = indexBuffer.is32Bits; + } + }; + Engine.prototype.unbindInstanceAttributes = function () { + var boundBuffer; + for (var i = 0, ul = this._currentInstanceLocations.length; i < ul; i++) { + var instancesBuffer = this._currentInstanceBuffers[i]; + if (boundBuffer != instancesBuffer) { + boundBuffer = instancesBuffer; + this.bindArrayBuffer(instancesBuffer); + } + var offsetLocation = this._currentInstanceLocations[i]; + this._caps.instancedArrays.vertexAttribDivisorANGLE(offsetLocation, 0); + } + this._currentInstanceBuffers.length = 0; + this._currentInstanceLocations.length = 0; + }; + Engine.prototype._releaseBuffer = function (buffer) { + buffer.references--; + if (buffer.references === 0) { + this._gl.deleteBuffer(buffer); + return true; + } + return false; + }; + Engine.prototype.createInstancesBuffer = function (capacity) { + var buffer = this._gl.createBuffer(); + buffer.capacity = capacity; + this.bindArrayBuffer(buffer); + this._gl.bufferData(this._gl.ARRAY_BUFFER, capacity, this._gl.DYNAMIC_DRAW); + return buffer; + }; + Engine.prototype.deleteInstancesBuffer = function (buffer) { + this._gl.deleteBuffer(buffer); + }; + Engine.prototype.updateAndBindInstancesBuffer = function (instancesBuffer, data, offsetLocations) { + this.bindArrayBuffer(instancesBuffer); + if (data) { + this._gl.bufferSubData(this._gl.ARRAY_BUFFER, 0, data); + } + if (offsetLocations[0].index !== undefined) { + var stride = 0; + for (var i = 0; i < offsetLocations.length; i++) { + var ai = offsetLocations[i]; + stride += ai.attributeSize * 4; + } + for (var i = 0; i < offsetLocations.length; i++) { + var ai = offsetLocations[i]; + if (!this._vertexAttribArraysEnabled[ai.index]) { + this._gl.enableVertexAttribArray(ai.index); + this._vertexAttribArraysEnabled[ai.index] = true; + } + this.vertexAttribPointer(instancesBuffer, ai.index, ai.attributeSize, ai.attribyteType || this._gl.FLOAT, ai.normalized || false, stride, ai.offset); + this._caps.instancedArrays.vertexAttribDivisorANGLE(ai.index, 1); + this._currentInstanceLocations.push(ai.index); + this._currentInstanceBuffers.push(instancesBuffer); + } + } + else { + for (var index = 0; index < 4; index++) { + var offsetLocation = offsetLocations[index]; + if (!this._vertexAttribArraysEnabled[offsetLocation]) { + this._gl.enableVertexAttribArray(offsetLocation); + this._vertexAttribArraysEnabled[offsetLocation] = true; + } + this.vertexAttribPointer(instancesBuffer, offsetLocation, 4, this._gl.FLOAT, false, 64, index * 16); + this._caps.instancedArrays.vertexAttribDivisorANGLE(offsetLocation, 1); + this._currentInstanceLocations.push(offsetLocation); + this._currentInstanceBuffers.push(instancesBuffer); + } + } + }; + Engine.prototype.applyStates = function () { + this._depthCullingState.apply(this._gl); + this._stencilState.apply(this._gl); + this._alphaState.apply(this._gl); + }; + Engine.prototype.draw = function (useTriangles, indexStart, indexCount, instancesCount) { + // Apply states + this.applyStates(); + this._drawCalls.addCount(1, false); + // Render + var indexFormat = this._uintIndicesCurrentlySet ? this._gl.UNSIGNED_INT : this._gl.UNSIGNED_SHORT; + var mult = this._uintIndicesCurrentlySet ? 4 : 2; + if (instancesCount) { + this._caps.instancedArrays.drawElementsInstancedANGLE(useTriangles ? this._gl.TRIANGLES : this._gl.LINES, indexCount, indexFormat, indexStart * mult, instancesCount); + return; + } + this._gl.drawElements(useTriangles ? this._gl.TRIANGLES : this._gl.LINES, indexCount, indexFormat, indexStart * mult); + }; + Engine.prototype.drawPointClouds = function (verticesStart, verticesCount, instancesCount) { + // Apply states + this.applyStates(); + this._drawCalls.addCount(1, false); + if (instancesCount) { + this._caps.instancedArrays.drawArraysInstancedANGLE(this._gl.POINTS, verticesStart, verticesCount, instancesCount); + return; + } + this._gl.drawArrays(this._gl.POINTS, verticesStart, verticesCount); + }; + Engine.prototype.drawUnIndexed = function (useTriangles, verticesStart, verticesCount, instancesCount) { + // Apply states + this.applyStates(); + this._drawCalls.addCount(1, false); + if (instancesCount) { + this._caps.instancedArrays.drawArraysInstancedANGLE(useTriangles ? this._gl.TRIANGLES : this._gl.LINES, verticesStart, verticesCount, instancesCount); + return; + } + this._gl.drawArrays(useTriangles ? this._gl.TRIANGLES : this._gl.LINES, verticesStart, verticesCount); + }; + // Shaders + Engine.prototype._releaseEffect = function (effect) { + if (this._compiledEffects[effect._key]) { + delete this._compiledEffects[effect._key]; + if (effect.getProgram()) { + this._gl.deleteProgram(effect.getProgram()); + } + } + }; + Engine.prototype.createEffect = function (baseName, attributesNames, uniformsNames, samplers, defines, fallbacks, onCompiled, onError, indexParameters) { + var vertex = baseName.vertexElement || baseName.vertex || baseName; + var fragment = baseName.fragmentElement || baseName.fragment || baseName; + var name = vertex + "+" + fragment + "@" + defines; + if (this._compiledEffects[name]) { + return this._compiledEffects[name]; + } + var effect = new BABYLON.Effect(baseName, attributesNames, uniformsNames, samplers, this, defines, fallbacks, onCompiled, onError, indexParameters); + effect._key = name; + this._compiledEffects[name] = effect; + return effect; + }; + Engine.prototype.createEffectForParticles = function (fragmentName, uniformsNames, samplers, defines, fallbacks, onCompiled, onError) { + if (uniformsNames === void 0) { uniformsNames = []; } + if (samplers === void 0) { samplers = []; } + if (defines === void 0) { defines = ""; } + return this.createEffect({ + vertex: "particles", + fragmentElement: fragmentName + }, ["position", "color", "options"], ["view", "projection"].concat(uniformsNames), ["diffuseSampler"].concat(samplers), defines, fallbacks, onCompiled, onError); + }; + Engine.prototype.createShaderProgram = function (vertexCode, fragmentCode, defines, context) { + context = context || this._gl; + var vertexShader = compileShader(context, vertexCode, "vertex", defines); + var fragmentShader = compileShader(context, fragmentCode, "fragment", defines); + var shaderProgram = context.createProgram(); + context.attachShader(shaderProgram, vertexShader); + context.attachShader(shaderProgram, fragmentShader); + context.linkProgram(shaderProgram); + var linked = context.getProgramParameter(shaderProgram, context.LINK_STATUS); + if (!linked) { + var error = context.getProgramInfoLog(shaderProgram); + if (error) { + throw new Error(error); + } + } + context.deleteShader(vertexShader); + context.deleteShader(fragmentShader); + return shaderProgram; + }; + Engine.prototype.getUniforms = function (shaderProgram, uniformsNames) { + var results = []; + for (var index = 0; index < uniformsNames.length; index++) { + results.push(this._gl.getUniformLocation(shaderProgram, uniformsNames[index])); + } + return results; + }; + Engine.prototype.getAttributes = function (shaderProgram, attributesNames) { + var results = []; + for (var index = 0; index < attributesNames.length; index++) { + try { + results.push(this._gl.getAttribLocation(shaderProgram, attributesNames[index])); + } + catch (e) { + results.push(-1); + } + } + return results; + }; + Engine.prototype.enableEffect = function (effect) { + //if (!effect || !effect.getAttributesCount() || this._currentEffect === effect) { + // if (effect && effect.onBind) { + // effect.onBind(effect); + // } + // return; + //} + // Use program + this.setProgram(effect.getProgram()); + this._currentEffect = effect; + if (effect.onBind) { + effect.onBind(effect); + } + }; + Engine.prototype.setIntArray = function (uniform, array) { + if (!uniform) + return; + this._gl.uniform1iv(uniform, array); + }; + Engine.prototype.setIntArray2 = function (uniform, array) { + if (!uniform || array.length % 2 !== 0) + return; + this._gl.uniform2iv(uniform, array); + }; + Engine.prototype.setIntArray3 = function (uniform, array) { + if (!uniform || array.length % 3 !== 0) + return; + this._gl.uniform3iv(uniform, array); + }; + Engine.prototype.setIntArray4 = function (uniform, array) { + if (!uniform || array.length % 4 !== 0) + return; + this._gl.uniform4iv(uniform, array); + }; + Engine.prototype.setFloatArray = function (uniform, array) { + if (!uniform) + return; + this._gl.uniform1fv(uniform, array); + }; + Engine.prototype.setFloatArray2 = function (uniform, array) { + if (!uniform || array.length % 2 !== 0) + return; + this._gl.uniform2fv(uniform, array); + }; + Engine.prototype.setFloatArray3 = function (uniform, array) { + if (!uniform || array.length % 3 !== 0) + return; + this._gl.uniform3fv(uniform, array); + }; + Engine.prototype.setFloatArray4 = function (uniform, array) { + if (!uniform || array.length % 4 !== 0) + return; + this._gl.uniform4fv(uniform, array); + }; + Engine.prototype.setArray = function (uniform, array) { + if (!uniform) + return; + this._gl.uniform1fv(uniform, array); + }; + Engine.prototype.setArray2 = function (uniform, array) { + if (!uniform || array.length % 2 !== 0) + return; + this._gl.uniform2fv(uniform, array); + }; + Engine.prototype.setArray3 = function (uniform, array) { + if (!uniform || array.length % 3 !== 0) + return; + this._gl.uniform3fv(uniform, array); + }; + Engine.prototype.setArray4 = function (uniform, array) { + if (!uniform || array.length % 4 !== 0) + return; + this._gl.uniform4fv(uniform, array); + }; + Engine.prototype.setMatrices = function (uniform, matrices) { + if (!uniform) + return; + this._gl.uniformMatrix4fv(uniform, false, matrices); + }; + Engine.prototype.setMatrix = function (uniform, matrix) { + if (!uniform) + return; + this._gl.uniformMatrix4fv(uniform, false, matrix.toArray()); + }; + Engine.prototype.setMatrix3x3 = function (uniform, matrix) { + if (!uniform) + return; + this._gl.uniformMatrix3fv(uniform, false, matrix); + }; + Engine.prototype.setMatrix2x2 = function (uniform, matrix) { + if (!uniform) + return; + this._gl.uniformMatrix2fv(uniform, false, matrix); + }; + Engine.prototype.setFloat = function (uniform, value) { + if (!uniform) + return; + this._gl.uniform1f(uniform, value); + }; + Engine.prototype.setFloat2 = function (uniform, x, y) { + if (!uniform) + return; + this._gl.uniform2f(uniform, x, y); + }; + Engine.prototype.setFloat3 = function (uniform, x, y, z) { + if (!uniform) + return; + this._gl.uniform3f(uniform, x, y, z); + }; + Engine.prototype.setBool = function (uniform, bool) { + if (!uniform) + return; + this._gl.uniform1i(uniform, bool); + }; + Engine.prototype.setFloat4 = function (uniform, x, y, z, w) { + if (!uniform) + return; + this._gl.uniform4f(uniform, x, y, z, w); + }; + Engine.prototype.setColor3 = function (uniform, color3) { + if (!uniform) + return; + this._gl.uniform3f(uniform, color3.r, color3.g, color3.b); + }; + Engine.prototype.setColor4 = function (uniform, color3, alpha) { + if (!uniform) + return; + this._gl.uniform4f(uniform, color3.r, color3.g, color3.b, alpha); + }; + // States + Engine.prototype.setState = function (culling, zOffset, force, reverseSide) { + if (zOffset === void 0) { zOffset = 0; } + if (reverseSide === void 0) { reverseSide = false; } + // Culling + var showSide = reverseSide ? this._gl.FRONT : this._gl.BACK; + var hideSide = reverseSide ? this._gl.BACK : this._gl.FRONT; + var cullFace = this.cullBackFaces ? showSide : hideSide; + if (this._depthCullingState.cull !== culling || force || this._depthCullingState.cullFace !== cullFace) { + if (culling) { + this._depthCullingState.cullFace = cullFace; + this._depthCullingState.cull = true; + } + else { + this._depthCullingState.cull = false; + } + } + // Z offset + this._depthCullingState.zOffset = zOffset; + }; + Engine.prototype.setDepthBuffer = function (enable) { + this._depthCullingState.depthTest = enable; + }; + Engine.prototype.getDepthWrite = function () { + return this._depthCullingState.depthMask; + }; + Engine.prototype.setDepthWrite = function (enable) { + this._depthCullingState.depthMask = enable; + }; + Engine.prototype.setColorWrite = function (enable) { + this._gl.colorMask(enable, enable, enable, enable); + }; + Engine.prototype.setAlphaMode = function (mode, noDepthWriteChange) { + if (noDepthWriteChange === void 0) { noDepthWriteChange = false; } + if (this._alphaMode === mode) { + return; + } + switch (mode) { + case Engine.ALPHA_DISABLE: + this._alphaState.alphaBlend = false; + break; + case Engine.ALPHA_COMBINE: + this._alphaState.setAlphaBlendFunctionParameters(this._gl.SRC_ALPHA, this._gl.ONE_MINUS_SRC_ALPHA, this._gl.ONE, this._gl.ONE); + this._alphaState.alphaBlend = true; + break; + case Engine.ALPHA_ONEONE: + this._alphaState.setAlphaBlendFunctionParameters(this._gl.ONE, this._gl.ONE, this._gl.ZERO, this._gl.ONE); + this._alphaState.alphaBlend = true; + break; + case Engine.ALPHA_ADD: + this._alphaState.setAlphaBlendFunctionParameters(this._gl.SRC_ALPHA, this._gl.ONE, this._gl.ZERO, this._gl.ONE); + this._alphaState.alphaBlend = true; + break; + case Engine.ALPHA_SUBTRACT: + this._alphaState.setAlphaBlendFunctionParameters(this._gl.ZERO, this._gl.ONE_MINUS_SRC_COLOR, this._gl.ONE, this._gl.ONE); + this._alphaState.alphaBlend = true; + break; + case Engine.ALPHA_MULTIPLY: + this._alphaState.setAlphaBlendFunctionParameters(this._gl.DST_COLOR, this._gl.ZERO, this._gl.ONE, this._gl.ONE); + this._alphaState.alphaBlend = true; + break; + case Engine.ALPHA_MAXIMIZED: + this._alphaState.setAlphaBlendFunctionParameters(this._gl.SRC_ALPHA, this._gl.ONE_MINUS_SRC_COLOR, this._gl.ONE, this._gl.ONE); + this._alphaState.alphaBlend = true; + break; + } + if (!noDepthWriteChange) { + this.setDepthWrite(mode === Engine.ALPHA_DISABLE); + } + this._alphaMode = mode; + }; + Engine.prototype.getAlphaMode = function () { + return this._alphaMode; + }; + Engine.prototype.setAlphaTesting = function (enable) { + this._alphaTest = enable; + }; + Engine.prototype.getAlphaTesting = function () { + return this._alphaTest; + }; + // Textures + Engine.prototype.wipeCaches = function () { + this.resetTextureCache(); + this._currentEffect = null; + this._stencilState.reset(); + this._depthCullingState.reset(); + this.setDepthFunctionToLessOrEqual(); + this._alphaState.reset(); + this._cachedVertexBuffers = null; + this._cachedIndexBuffer = null; + this._cachedEffectForVertexBuffers = null; + }; + Engine.prototype.setSamplingMode = function (texture, samplingMode) { + var gl = this._gl; + this._bindTextureDirectly(gl.TEXTURE_2D, texture); + var magFilter = gl.NEAREST; + var minFilter = gl.NEAREST; + if (samplingMode === BABYLON.Texture.BILINEAR_SAMPLINGMODE) { + magFilter = gl.LINEAR; + minFilter = gl.LINEAR; + } + else if (samplingMode === BABYLON.Texture.TRILINEAR_SAMPLINGMODE) { + magFilter = gl.LINEAR; + minFilter = gl.LINEAR_MIPMAP_LINEAR; + } + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, magFilter); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, minFilter); + this._bindTextureDirectly(gl.TEXTURE_2D, null); + texture.samplingMode = samplingMode; + }; + /** + * Set the compressed texture format to use, based on the formats you have, + * the formats supported by the hardware / browser, and those currently implemented + * in BJS. + * + * Note: The result of this call is not taken into account texture is base64 or when + * using a database / manifest. + * + * @param {Array} formatsAvailable - Extension names including dot. Case + * and order do not matter. + * @returns The extension selected. + */ + Engine.prototype.setTextureFormatToUse = function (formatsAvailable) { + for (var i = 0, len1 = this.texturesSupported.length; i < len1; i++) { + // code to allow the formats to be added as they can be developed / hw tested + if (this._texturesSupported[i] === '.astc') + continue; + if (this._texturesSupported[i] === '.pvr') + continue; + if (this._texturesSupported[i] === '.etc1') + continue; + if (this._texturesSupported[i] === '.etc2') + continue; + for (var j = 0, len2 = formatsAvailable.length; j < len2; j++) { + if (this._texturesSupported[i] === formatsAvailable[j].toLowerCase()) { + return this._textureFormatInUse = this._texturesSupported[i]; + } + } + } + // actively set format to nothing, to allow this to be called more than once + // and possibly fail the 2nd time + return this._textureFormatInUse = null; + }; + Engine.prototype.createTexture = function (url, noMipmap, invertY, scene, samplingMode, onLoad, onError, buffer) { + var _this = this; + if (samplingMode === void 0) { samplingMode = BABYLON.Texture.TRILINEAR_SAMPLINGMODE; } + if (onLoad === void 0) { onLoad = null; } + if (onError === void 0) { onError = null; } + if (buffer === void 0) { buffer = null; } + var texture = this._gl.createTexture(); + var extension; + var fromData = false; + if (url.substr(0, 5) === "data:") { + fromData = true; + } + if (!fromData) { + var lastDot = url.lastIndexOf('.'); + extension = url.substring(lastDot).toLowerCase(); + if (this._textureFormatInUse && !fromData && !scene.database) { + extension = this._textureFormatInUse; + url = url.substring(0, lastDot) + this._textureFormatInUse; + } + } + else { + var oldUrl = url; + fromData = oldUrl.split(':'); + url = oldUrl; + extension = fromData[1].substr(fromData[1].length - 4, 4).toLowerCase(); + } + var isDDS = (extension === ".dds"); + var isTGA = (extension === ".tga"); + scene._addPendingData(texture); + texture.url = url; + texture.noMipmap = noMipmap; + texture.references = 1; + texture.samplingMode = samplingMode; + texture.onLoadedCallbacks = [onLoad]; + this._loadedTexturesCache.push(texture); + var onerror = function () { + scene._removePendingData(texture); + if (onError) { + onError(); + } + }; + var callback; + if (isTGA) { + callback = function (arrayBuffer) { + var data = new Uint8Array(arrayBuffer); + var header = BABYLON.Internals.TGATools.GetTGAHeader(data); + prepareWebGLTexture(texture, _this._gl, scene, header.width, header.height, invertY, noMipmap, false, function () { + BABYLON.Internals.TGATools.UploadContent(_this._gl, data); + }, samplingMode); + }; + if (!(fromData instanceof Array)) + BABYLON.Tools.LoadFile(url, function (arrayBuffer) { + callback(arrayBuffer); + }, null, scene.database, true, onerror); + else + callback(buffer); + } + else if (isDDS) { + callback = function (data) { + var info = BABYLON.Internals.DDSTools.GetDDSInfo(data); + var loadMipmap = (info.isRGB || info.isLuminance || info.mipmapCount > 1) && !noMipmap && ((info.width >> (info.mipmapCount - 1)) === 1); + prepareWebGLTexture(texture, _this._gl, scene, info.width, info.height, invertY, !loadMipmap, info.isFourCC, function () { + BABYLON.Internals.DDSTools.UploadDDSLevels(_this._gl, _this.getCaps().s3tc, data, info, loadMipmap, 1); + }, samplingMode); + }; + if (!(fromData instanceof Array)) + BABYLON.Tools.LoadFile(url, function (data) { + callback(data); + }, null, scene.database, true, onerror); + else + callback(buffer); + } + else { + var onload = function (img) { + prepareWebGLTexture(texture, _this._gl, scene, img.width, img.height, invertY, noMipmap, false, function (potWidth, potHeight) { + var isPot = (img.width === potWidth && img.height === potHeight); + if (!isPot) { + _this._prepareWorkingCanvas(); + _this._workingCanvas.width = potWidth; + _this._workingCanvas.height = potHeight; + if (samplingMode === BABYLON.Texture.NEAREST_SAMPLINGMODE) { + _this._workingContext.imageSmoothingEnabled = false; + _this._workingContext.mozImageSmoothingEnabled = false; + _this._workingContext.oImageSmoothingEnabled = false; + _this._workingContext.webkitImageSmoothingEnabled = false; + _this._workingContext.msImageSmoothingEnabled = false; + } + _this._workingContext.drawImage(img, 0, 0, img.width, img.height, 0, 0, potWidth, potHeight); + if (samplingMode === BABYLON.Texture.NEAREST_SAMPLINGMODE) { + _this._workingContext.imageSmoothingEnabled = true; + _this._workingContext.mozImageSmoothingEnabled = true; + _this._workingContext.oImageSmoothingEnabled = true; + _this._workingContext.webkitImageSmoothingEnabled = true; + _this._workingContext.msImageSmoothingEnabled = true; + } + } + _this._gl.texImage2D(_this._gl.TEXTURE_2D, 0, _this._gl.RGBA, _this._gl.RGBA, _this._gl.UNSIGNED_BYTE, isPot ? img : _this._workingCanvas); + }, samplingMode); + }; + if (!(fromData instanceof Array)) + BABYLON.Tools.LoadImage(url, onload, onerror, scene.database); + else + BABYLON.Tools.LoadImage(buffer, onload, onerror, scene.database); + } + return texture; + }; + Engine.prototype._getInternalFormat = function (format) { + var internalFormat = this._gl.RGBA; + switch (format) { + case Engine.TEXTUREFORMAT_ALPHA: + internalFormat = this._gl.ALPHA; + break; + case Engine.TEXTUREFORMAT_LUMINANCE: + internalFormat = this._gl.LUMINANCE; + break; + case Engine.TEXTUREFORMAT_LUMINANCE_ALPHA: + internalFormat = this._gl.LUMINANCE_ALPHA; + break; + case Engine.TEXTUREFORMAT_RGB: + internalFormat = this._gl.RGB; + break; + case Engine.TEXTUREFORMAT_RGBA: + internalFormat = this._gl.RGBA; + break; + } + return internalFormat; + }; + Engine.prototype.updateRawTexture = function (texture, data, format, invertY, compression) { + if (compression === void 0) { compression = null; } + var internalFormat = this._getInternalFormat(format); + this._bindTextureDirectly(this._gl.TEXTURE_2D, texture); + this._gl.pixelStorei(this._gl.UNPACK_FLIP_Y_WEBGL, invertY === undefined ? 1 : (invertY ? 1 : 0)); + if (texture._width % 4 !== 0) { + this._gl.pixelStorei(this._gl.UNPACK_ALIGNMENT, 1); + } + if (compression) { + this._gl.compressedTexImage2D(this._gl.TEXTURE_2D, 0, this.getCaps().s3tc[compression], texture._width, texture._height, 0, data); + } + else { + this._gl.texImage2D(this._gl.TEXTURE_2D, 0, internalFormat, texture._width, texture._height, 0, internalFormat, this._gl.UNSIGNED_BYTE, data); + } + if (texture.generateMipMaps) { + this._gl.generateMipmap(this._gl.TEXTURE_2D); + } + this._bindTextureDirectly(this._gl.TEXTURE_2D, null); + this.resetTextureCache(); + texture.isReady = true; + }; + Engine.prototype.createRawTexture = function (data, width, height, format, generateMipMaps, invertY, samplingMode, compression) { + if (compression === void 0) { compression = null; } + var texture = this._gl.createTexture(); + texture._baseWidth = width; + texture._baseHeight = height; + texture._width = width; + texture._height = height; + texture.references = 1; + this.updateRawTexture(texture, data, format, invertY, compression); + this._bindTextureDirectly(this._gl.TEXTURE_2D, texture); + // Filters + var filters = getSamplingParameters(samplingMode, generateMipMaps, this._gl); + this._gl.texParameteri(this._gl.TEXTURE_2D, this._gl.TEXTURE_MAG_FILTER, filters.mag); + this._gl.texParameteri(this._gl.TEXTURE_2D, this._gl.TEXTURE_MIN_FILTER, filters.min); + this._bindTextureDirectly(this._gl.TEXTURE_2D, null); + texture.samplingMode = samplingMode; + this._loadedTexturesCache.push(texture); + return texture; + }; + Engine.prototype.createDynamicTexture = function (width, height, generateMipMaps, samplingMode) { + var texture = this._gl.createTexture(); + texture._baseWidth = width; + texture._baseHeight = height; + if (generateMipMaps) { + width = BABYLON.Tools.GetExponentOfTwo(width, this._caps.maxTextureSize); + height = BABYLON.Tools.GetExponentOfTwo(height, this._caps.maxTextureSize); + } + this.resetTextureCache(); + texture._width = width; + texture._height = height; + texture.isReady = false; + texture.generateMipMaps = generateMipMaps; + texture.references = 1; + texture.samplingMode = samplingMode; + this.updateTextureSamplingMode(samplingMode, texture); + this._loadedTexturesCache.push(texture); + return texture; + }; + Engine.prototype.updateTextureSamplingMode = function (samplingMode, texture) { + var filters = getSamplingParameters(samplingMode, texture.generateMipMaps, this._gl); + if (texture.isCube) { + this._bindTextureDirectly(this._gl.TEXTURE_CUBE_MAP, texture); + this._gl.texParameteri(this._gl.TEXTURE_CUBE_MAP, this._gl.TEXTURE_MAG_FILTER, filters.mag); + this._gl.texParameteri(this._gl.TEXTURE_CUBE_MAP, this._gl.TEXTURE_MIN_FILTER, filters.min); + this._bindTextureDirectly(this._gl.TEXTURE_CUBE_MAP, null); + } + else { + this._bindTextureDirectly(this._gl.TEXTURE_2D, texture); + this._gl.texParameteri(this._gl.TEXTURE_2D, this._gl.TEXTURE_MAG_FILTER, filters.mag); + this._gl.texParameteri(this._gl.TEXTURE_2D, this._gl.TEXTURE_MIN_FILTER, filters.min); + this._bindTextureDirectly(this._gl.TEXTURE_2D, null); + } + }; + Engine.prototype.updateDynamicTexture = function (texture, canvas, invertY, premulAlpha) { + if (premulAlpha === void 0) { premulAlpha = false; } + this._bindTextureDirectly(this._gl.TEXTURE_2D, texture); + this._gl.pixelStorei(this._gl.UNPACK_FLIP_Y_WEBGL, invertY ? 1 : 0); + if (premulAlpha) { + this._gl.pixelStorei(this._gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, 1); + } + this._gl.texImage2D(this._gl.TEXTURE_2D, 0, this._gl.RGBA, this._gl.RGBA, this._gl.UNSIGNED_BYTE, canvas); + if (texture.generateMipMaps) { + this._gl.generateMipmap(this._gl.TEXTURE_2D); + } + this._bindTextureDirectly(this._gl.TEXTURE_2D, null); + if (premulAlpha) { + this._gl.pixelStorei(this._gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, 0); + } + this.resetTextureCache(); + texture.isReady = true; + }; + Engine.prototype.updateVideoTexture = function (texture, video, invertY) { + if (texture._isDisabled) { + return; + } + this._bindTextureDirectly(this._gl.TEXTURE_2D, texture); + this._gl.pixelStorei(this._gl.UNPACK_FLIP_Y_WEBGL, invertY ? 0 : 1); // Video are upside down by default + try { + // Testing video texture support + if (this._videoTextureSupported === undefined) { + this._gl.texImage2D(this._gl.TEXTURE_2D, 0, this._gl.RGBA, this._gl.RGBA, this._gl.UNSIGNED_BYTE, video); + if (this._gl.getError() !== 0) { + this._videoTextureSupported = false; + } + else { + this._videoTextureSupported = true; + } + } + // Copy video through the current working canvas if video texture is not supported + if (!this._videoTextureSupported) { + if (!texture._workingCanvas) { + texture._workingCanvas = document.createElement("canvas"); + texture._workingContext = texture._workingCanvas.getContext("2d"); + texture._workingCanvas.width = texture._width; + texture._workingCanvas.height = texture._height; + } + texture._workingContext.drawImage(video, 0, 0, video.videoWidth, video.videoHeight, 0, 0, texture._width, texture._height); + this._gl.texImage2D(this._gl.TEXTURE_2D, 0, this._gl.RGBA, this._gl.RGBA, this._gl.UNSIGNED_BYTE, texture._workingCanvas); + } + else { + this._gl.texImage2D(this._gl.TEXTURE_2D, 0, this._gl.RGBA, this._gl.RGBA, this._gl.UNSIGNED_BYTE, video); + } + if (texture.generateMipMaps) { + this._gl.generateMipmap(this._gl.TEXTURE_2D); + } + this._bindTextureDirectly(this._gl.TEXTURE_2D, null); + this.resetTextureCache(); + texture.isReady = true; + } + catch (ex) { + // Something unexpected + // Let's disable the texture + texture._isDisabled = true; + } + }; + Engine.prototype.createRenderTargetTexture = function (size, options) { + // old version had a "generateMipMaps" arg instead of options. + // if options.generateMipMaps is undefined, consider that options itself if the generateMipmaps value + // in the same way, generateDepthBuffer is defaulted to true + var generateMipMaps = false; + var generateDepthBuffer = true; + var generateStencilBuffer = false; + var type = Engine.TEXTURETYPE_UNSIGNED_INT; + var samplingMode = BABYLON.Texture.TRILINEAR_SAMPLINGMODE; + if (options !== undefined) { + generateMipMaps = options.generateMipMaps === undefined ? options : options.generateMipMaps; + generateDepthBuffer = options.generateDepthBuffer === undefined ? true : options.generateDepthBuffer; + generateStencilBuffer = generateDepthBuffer && options.generateStencilBuffer; + type = options.type === undefined ? type : options.type; + if (options.samplingMode !== undefined) { + samplingMode = options.samplingMode; + } + if (type === Engine.TEXTURETYPE_FLOAT && !this._caps.textureFloatLinearFiltering) { + // if floating point linear (gl.FLOAT) then force to NEAREST_SAMPLINGMODE + samplingMode = BABYLON.Texture.NEAREST_SAMPLINGMODE; + } + else if (type === Engine.TEXTURETYPE_HALF_FLOAT && !this._caps.textureHalfFloatLinearFiltering) { + // if floating point linear (HALF_FLOAT) then force to NEAREST_SAMPLINGMODE + samplingMode = BABYLON.Texture.NEAREST_SAMPLINGMODE; + } + } + var gl = this._gl; + var texture = gl.createTexture(); + this._bindTextureDirectly(gl.TEXTURE_2D, texture); + var width = size.width || size; + var height = size.height || size; + var filters = getSamplingParameters(samplingMode, generateMipMaps, gl); + if (type === Engine.TEXTURETYPE_FLOAT && !this._caps.textureFloat) { + type = Engine.TEXTURETYPE_UNSIGNED_INT; + BABYLON.Tools.Warn("Float textures are not supported. Render target forced to TEXTURETYPE_UNSIGNED_BYTE type"); + } + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, filters.mag); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, filters.min); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE); + gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, width, height, 0, gl.RGBA, getWebGLTextureType(gl, type), null); + var depthStencilBuffer; + // Create the depth/stencil buffer + if (generateStencilBuffer) { + depthStencilBuffer = gl.createRenderbuffer(); + gl.bindRenderbuffer(gl.RENDERBUFFER, depthStencilBuffer); + gl.renderbufferStorage(gl.RENDERBUFFER, gl.DEPTH_STENCIL, width, height); + } + else if (generateDepthBuffer) { + depthStencilBuffer = gl.createRenderbuffer(); + gl.bindRenderbuffer(gl.RENDERBUFFER, depthStencilBuffer); + gl.renderbufferStorage(gl.RENDERBUFFER, gl.DEPTH_COMPONENT16, width, height); + } + // Create the framebuffer + var framebuffer = gl.createFramebuffer(); + this.bindUnboundFramebuffer(framebuffer); + // Manage attachments + if (generateStencilBuffer) { + gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.DEPTH_STENCIL_ATTACHMENT, gl.RENDERBUFFER, depthStencilBuffer); + } + else if (generateDepthBuffer) { + gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.RENDERBUFFER, depthStencilBuffer); + } + gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, texture, 0); + if (generateMipMaps) { + this._gl.generateMipmap(this._gl.TEXTURE_2D); + } + // Unbind + this._bindTextureDirectly(gl.TEXTURE_2D, null); + gl.bindRenderbuffer(gl.RENDERBUFFER, null); + this.bindUnboundFramebuffer(null); + texture._framebuffer = framebuffer; + if (generateDepthBuffer) { + texture._depthBuffer = depthStencilBuffer; + } + texture._baseWidth = width; + texture._baseHeight = height; + texture._width = width; + texture._height = height; + texture.isReady = true; + texture.generateMipMaps = generateMipMaps; + texture.references = 1; + texture.samplingMode = samplingMode; + texture.type = type; + this.resetTextureCache(); + this._loadedTexturesCache.push(texture); + return texture; + }; + Engine.prototype.createRenderTargetCubeTexture = function (size, options) { + var gl = this._gl; + var texture = gl.createTexture(); + var generateMipMaps = true; + var generateDepthBuffer = true; + var generateStencilBuffer = false; + var samplingMode = BABYLON.Texture.TRILINEAR_SAMPLINGMODE; + if (options !== undefined) { + generateMipMaps = options.generateMipMaps === undefined ? options : options.generateMipMaps; + generateDepthBuffer = options.generateDepthBuffer === undefined ? true : options.generateDepthBuffer; + generateStencilBuffer = generateDepthBuffer && options.generateStencilBuffer; + if (options.samplingMode !== undefined) { + samplingMode = options.samplingMode; + } + } + texture.isCube = true; + texture.references = 1; + texture.generateMipMaps = generateMipMaps; + texture.references = 1; + texture.samplingMode = samplingMode; + var filters = getSamplingParameters(samplingMode, generateMipMaps, gl); + this._bindTextureDirectly(gl.TEXTURE_CUBE_MAP, texture); + for (var face = 0; face < 6; face++) { + gl.texImage2D((gl.TEXTURE_CUBE_MAP_POSITIVE_X + face), 0, gl.RGBA, size, size, 0, gl.RGBA, gl.UNSIGNED_BYTE, null); + } + gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_MAG_FILTER, filters.mag); + gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_MIN_FILTER, filters.min); + gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE); + gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE); + // Create the depth buffer + var depthStencilBuffer; + // Create the depth/stencil buffer + if (generateStencilBuffer) { + depthStencilBuffer = gl.createRenderbuffer(); + gl.bindRenderbuffer(gl.RENDERBUFFER, depthStencilBuffer); + gl.renderbufferStorage(gl.RENDERBUFFER, gl.DEPTH_STENCIL, size, size); + } + else if (generateDepthBuffer) { + depthStencilBuffer = gl.createRenderbuffer(); + gl.bindRenderbuffer(gl.RENDERBUFFER, depthStencilBuffer); + gl.renderbufferStorage(gl.RENDERBUFFER, gl.DEPTH_COMPONENT16, size, size); + } + // Create the framebuffer + var framebuffer = gl.createFramebuffer(); + this.bindUnboundFramebuffer(framebuffer); + // Manage attachments + if (generateStencilBuffer) { + gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.DEPTH_STENCIL_ATTACHMENT, gl.RENDERBUFFER, depthStencilBuffer); + } + else if (generateDepthBuffer) { + gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.RENDERBUFFER, depthStencilBuffer); + } + // Mipmaps + if (texture.generateMipMaps) { + this._bindTextureDirectly(gl.TEXTURE_CUBE_MAP, texture); + gl.generateMipmap(gl.TEXTURE_CUBE_MAP); + } + // Unbind + this._bindTextureDirectly(gl.TEXTURE_CUBE_MAP, null); + gl.bindRenderbuffer(gl.RENDERBUFFER, null); + this.bindUnboundFramebuffer(null); + texture._framebuffer = framebuffer; + if (generateDepthBuffer) { + texture._depthBuffer = depthStencilBuffer; + } + texture._width = size; + texture._height = size; + texture.isReady = true; + this.resetTextureCache(); + this._loadedTexturesCache.push(texture); + return texture; + }; + Engine.prototype.createCubeTexture = function (rootUrl, scene, files, noMipmap, onLoad, onError) { + var _this = this; + if (onLoad === void 0) { onLoad = null; } + if (onError === void 0) { onError = null; } + var gl = this._gl; + var texture = gl.createTexture(); + texture.isCube = true; + texture.url = rootUrl; + texture.references = 1; + texture.onLoadedCallbacks = []; + var extension = rootUrl.substr(rootUrl.length - 4, 4).toLowerCase(); + var isDDS = this.getCaps().s3tc && (extension === ".dds"); + if (isDDS) { + BABYLON.Tools.LoadFile(rootUrl, function (data) { + var info = BABYLON.Internals.DDSTools.GetDDSInfo(data); + var loadMipmap = (info.isRGB || info.isLuminance || info.mipmapCount > 1) && !noMipmap; + _this._bindTextureDirectly(gl.TEXTURE_CUBE_MAP, texture); + gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, 1); + BABYLON.Internals.DDSTools.UploadDDSLevels(_this._gl, _this.getCaps().s3tc, data, info, loadMipmap, 6); + if (!noMipmap && !info.isFourCC && info.mipmapCount === 1) { + gl.generateMipmap(gl.TEXTURE_CUBE_MAP); + } + gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_MAG_FILTER, gl.LINEAR); + gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_MIN_FILTER, loadMipmap ? gl.LINEAR_MIPMAP_LINEAR : gl.LINEAR); + gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE); + gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE); + _this._bindTextureDirectly(gl.TEXTURE_CUBE_MAP, null); + _this.resetTextureCache(); + texture._width = info.width; + texture._height = info.height; + texture.isReady = true; + }, null, null, true, onError); + } + else { + cascadeLoad(rootUrl, scene, function (imgs) { + var width = BABYLON.Tools.GetExponentOfTwo(imgs[0].width, _this._caps.maxCubemapTextureSize); + var height = width; + _this._prepareWorkingCanvas(); + _this._workingCanvas.width = width; + _this._workingCanvas.height = height; + var faces = [ + gl.TEXTURE_CUBE_MAP_POSITIVE_X, gl.TEXTURE_CUBE_MAP_POSITIVE_Y, gl.TEXTURE_CUBE_MAP_POSITIVE_Z, + gl.TEXTURE_CUBE_MAP_NEGATIVE_X, gl.TEXTURE_CUBE_MAP_NEGATIVE_Y, gl.TEXTURE_CUBE_MAP_NEGATIVE_Z + ]; + _this._bindTextureDirectly(gl.TEXTURE_CUBE_MAP, texture); + gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, 0); + for (var index = 0; index < faces.length; index++) { + _this._workingContext.drawImage(imgs[index], 0, 0, imgs[index].width, imgs[index].height, 0, 0, width, height); + gl.texImage2D(faces[index], 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, _this._workingCanvas); + } + if (!noMipmap) { + gl.generateMipmap(gl.TEXTURE_CUBE_MAP); + } + gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_MAG_FILTER, gl.LINEAR); + gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_MIN_FILTER, noMipmap ? gl.LINEAR : gl.LINEAR_MIPMAP_LINEAR); + gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE); + gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE); + _this._bindTextureDirectly(gl.TEXTURE_CUBE_MAP, null); + _this.resetTextureCache(); + texture._width = width; + texture._height = height; + texture.isReady = true; + texture.onLoadedCallbacks.forEach(function (callback) { + callback(); + }); + if (onLoad) { + onLoad(); + } + }, files, onError); + } + this._loadedTexturesCache.push(texture); + return texture; + }; + Engine.prototype.updateTextureSize = function (texture, width, height) { + texture._width = width; + texture._height = height; + texture._size = width * height; + texture._baseWidth = width; + texture._baseHeight = height; + }; + Engine.prototype.createRawCubeTexture = function (url, scene, size, format, type, noMipmap, callback, mipmmapGenerator) { + var _this = this; + var gl = this._gl; + var texture = gl.createTexture(); + scene._addPendingData(texture); + texture.isCube = true; + texture.references = 1; + texture.url = url; + var internalFormat = this._getInternalFormat(format); + var textureType = gl.UNSIGNED_BYTE; + if (type === Engine.TEXTURETYPE_FLOAT) { + textureType = gl.FLOAT; + } + var width = size; + var height = width; + var isPot = (BABYLON.Tools.IsExponentOfTwo(width) && BABYLON.Tools.IsExponentOfTwo(height)); + texture._width = width; + texture._height = height; + var onerror = function () { + scene._removePendingData(texture); + }; + var internalCallback = function (data) { + var rgbeDataArrays = callback(data); + var facesIndex = [ + gl.TEXTURE_CUBE_MAP_POSITIVE_X, gl.TEXTURE_CUBE_MAP_POSITIVE_Y, gl.TEXTURE_CUBE_MAP_POSITIVE_Z, + gl.TEXTURE_CUBE_MAP_NEGATIVE_X, gl.TEXTURE_CUBE_MAP_NEGATIVE_Y, gl.TEXTURE_CUBE_MAP_NEGATIVE_Z + ]; + width = texture._width; + height = texture._height; + isPot = (BABYLON.Tools.IsExponentOfTwo(width) && BABYLON.Tools.IsExponentOfTwo(height)); + _this._bindTextureDirectly(gl.TEXTURE_CUBE_MAP, texture); + gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, 0); + if (!noMipmap && isPot) { + if (mipmmapGenerator) { + var arrayTemp = []; + // Data are known to be in +X +Y +Z -X -Y -Z + // mipmmapGenerator data is expected to be order in +X -X +Y -Y +Z -Z + arrayTemp.push(rgbeDataArrays[0]); // +X + arrayTemp.push(rgbeDataArrays[3]); // -X + arrayTemp.push(rgbeDataArrays[1]); // +Y + arrayTemp.push(rgbeDataArrays[4]); // -Y + arrayTemp.push(rgbeDataArrays[2]); // +Z + arrayTemp.push(rgbeDataArrays[5]); // -Z + var mipData = mipmmapGenerator(arrayTemp); + for (var level = 0; level < mipData.length; level++) { + var mipSize = width >> level; + // mipData is order in +X -X +Y -Y +Z -Z + gl.texImage2D(facesIndex[0], level, internalFormat, mipSize, mipSize, 0, internalFormat, textureType, mipData[level][0]); + gl.texImage2D(facesIndex[1], level, internalFormat, mipSize, mipSize, 0, internalFormat, textureType, mipData[level][2]); + gl.texImage2D(facesIndex[2], level, internalFormat, mipSize, mipSize, 0, internalFormat, textureType, mipData[level][4]); + gl.texImage2D(facesIndex[3], level, internalFormat, mipSize, mipSize, 0, internalFormat, textureType, mipData[level][1]); + gl.texImage2D(facesIndex[4], level, internalFormat, mipSize, mipSize, 0, internalFormat, textureType, mipData[level][3]); + gl.texImage2D(facesIndex[5], level, internalFormat, mipSize, mipSize, 0, internalFormat, textureType, mipData[level][5]); + } + } + else { + // Data are known to be in +X +Y +Z -X -Y -Z + for (var index = 0; index < facesIndex.length; index++) { + var faceData = rgbeDataArrays[index]; + gl.texImage2D(facesIndex[index], 0, internalFormat, width, height, 0, internalFormat, textureType, faceData); + } + gl.generateMipmap(gl.TEXTURE_CUBE_MAP); + // Workaround firefox bug fix https://bugzilla.mozilla.org/show_bug.cgi?id=1221822 + // By following the webgl standard changes from Revision 7, 2014/11/24 + // Firefox Removed the support for RGB32F, since it is not natively supported on all platforms where WebGL is implemented. + if (textureType === gl.FLOAT && internalFormat === gl.RGB && gl.getError() === 1282) { + BABYLON.Tools.Log("RGB32F not renderable on Firefox, trying fallback to RGBA32F."); + // Data are known to be in +X +Y +Z -X -Y -Z + for (var index = 0; index < facesIndex.length; index++) { + var faceData = rgbeDataArrays[index]; + // Create a new RGBA Face. + var newFaceData = new Float32Array(width * height * 4); + for (var x = 0; x < width; x++) { + for (var y = 0; y < height; y++) { + var index_1 = (y * width + x) * 3; + var newIndex = (y * width + x) * 4; + // Map Old Value to new value. + newFaceData[newIndex + 0] = faceData[index_1 + 0]; + newFaceData[newIndex + 1] = faceData[index_1 + 1]; + newFaceData[newIndex + 2] = faceData[index_1 + 2]; + // Add fully opaque alpha channel. + newFaceData[newIndex + 3] = 1; + } + } + // Reupload the face. + gl.texImage2D(facesIndex[index], 0, gl.RGBA, width, height, 0, gl.RGBA, textureType, newFaceData); + } + // Try to generate mipmap again. + gl.generateMipmap(gl.TEXTURE_CUBE_MAP); + } + } + } + else { + noMipmap = true; + } + if (textureType === gl.FLOAT && !_this._caps.textureFloatLinearFiltering) { + gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_MAG_FILTER, gl.NEAREST); + gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_MIN_FILTER, gl.NEAREST); + } + else if (textureType === HALF_FLOAT_OES && !_this._caps.textureHalfFloatLinearFiltering) { + gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_MAG_FILTER, gl.NEAREST); + gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_MIN_FILTER, gl.NEAREST); + } + else { + gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_MAG_FILTER, gl.LINEAR); + gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_MIN_FILTER, noMipmap ? gl.LINEAR : gl.LINEAR_MIPMAP_LINEAR); + } + gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE); + gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE); + _this._bindTextureDirectly(gl.TEXTURE_CUBE_MAP, null); + texture.isReady = true; + _this.resetTextureCache(); + scene._removePendingData(texture); + }; + BABYLON.Tools.LoadFile(url, function (data) { + internalCallback(data); + }, onerror, scene.database, true); + return texture; + }; + ; + Engine.prototype._releaseTexture = function (texture) { + var gl = this._gl; + if (texture._framebuffer) { + gl.deleteFramebuffer(texture._framebuffer); + } + if (texture._depthBuffer) { + gl.deleteRenderbuffer(texture._depthBuffer); + } + gl.deleteTexture(texture); + // Unbind channels + this.unbindAllTextures(); + var index = this._loadedTexturesCache.indexOf(texture); + if (index !== -1) { + this._loadedTexturesCache.splice(index, 1); + } + }; + Engine.prototype.setProgram = function (program) { + if (this._currentProgram !== program) { + this._gl.useProgram(program); + this._currentProgram = program; + } + }; + Engine.prototype.bindSamplers = function (effect) { + this.setProgram(effect.getProgram()); + var samplers = effect.getSamplers(); + for (var index = 0; index < samplers.length; index++) { + var uniform = effect.getUniform(samplers[index]); + this._gl.uniform1i(uniform, index); + } + this._currentEffect = null; + }; + Engine.prototype.activateTexture = function (texture) { + if (this._activeTexture !== texture) { + this._gl.activeTexture(texture); + this._activeTexture = texture; + } + }; + Engine.prototype._bindTextureDirectly = function (target, texture) { + if (this._activeTexturesCache[this._activeTexture] !== texture) { + this._gl.bindTexture(target, texture); + this._activeTexturesCache[this._activeTexture] = texture; + } + }; + Engine.prototype._bindTexture = function (channel, texture) { + if (channel < 0) { + return; + } + this.activateTexture(this._gl["TEXTURE" + channel]); + this._bindTextureDirectly(this._gl.TEXTURE_2D, texture); + }; + Engine.prototype.setTextureFromPostProcess = function (channel, postProcess) { + this._bindTexture(channel, postProcess._textures.data[postProcess._currentRenderTextureInd]); + }; + Engine.prototype.unbindAllTextures = function () { + for (var channel = 0; channel < this._caps.maxTexturesImageUnits; channel++) { + this.activateTexture(this._gl["TEXTURE" + channel]); + this._bindTextureDirectly(this._gl.TEXTURE_2D, null); + this._bindTextureDirectly(this._gl.TEXTURE_CUBE_MAP, null); + } + }; + Engine.prototype.setTexture = function (channel, uniform, texture) { + if (channel < 0) { + return; + } + this._gl.uniform1i(uniform, channel); + this._setTexture(channel, texture); + }; + Engine.prototype._setTexture = function (channel, texture) { + // Not ready? + if (!texture || !texture.isReady()) { + if (this._activeTexturesCache[channel] != null) { + this.activateTexture(this._gl["TEXTURE" + channel]); + this._bindTextureDirectly(this._gl.TEXTURE_2D, null); + this._bindTextureDirectly(this._gl.TEXTURE_CUBE_MAP, null); + } + return; + } + // Video + var alreadyActivated = false; + if (texture instanceof BABYLON.VideoTexture) { + this.activateTexture(this._gl["TEXTURE" + channel]); + alreadyActivated = true; + texture.update(); + } + else if (texture.delayLoadState === Engine.DELAYLOADSTATE_NOTLOADED) { + texture.delayLoad(); + return; + } + var internalTexture = texture.getInternalTexture(); + if (this._activeTexturesCache[channel] === internalTexture) { + return; + } + if (!alreadyActivated) { + this.activateTexture(this._gl["TEXTURE" + channel]); + } + if (internalTexture.isCube) { + this._bindTextureDirectly(this._gl.TEXTURE_CUBE_MAP, internalTexture); + if (internalTexture._cachedCoordinatesMode !== texture.coordinatesMode) { + internalTexture._cachedCoordinatesMode = texture.coordinatesMode; + // CUBIC_MODE and SKYBOX_MODE both require CLAMP_TO_EDGE. All other modes use REPEAT. + var textureWrapMode = (texture.coordinatesMode !== BABYLON.Texture.CUBIC_MODE && texture.coordinatesMode !== BABYLON.Texture.SKYBOX_MODE) ? this._gl.REPEAT : this._gl.CLAMP_TO_EDGE; + this._gl.texParameteri(this._gl.TEXTURE_CUBE_MAP, this._gl.TEXTURE_WRAP_S, textureWrapMode); + this._gl.texParameteri(this._gl.TEXTURE_CUBE_MAP, this._gl.TEXTURE_WRAP_T, textureWrapMode); + } + this._setAnisotropicLevel(this._gl.TEXTURE_CUBE_MAP, texture); + } + else { + this._bindTextureDirectly(this._gl.TEXTURE_2D, internalTexture); + if (internalTexture._cachedWrapU !== texture.wrapU) { + internalTexture._cachedWrapU = texture.wrapU; + switch (texture.wrapU) { + case BABYLON.Texture.WRAP_ADDRESSMODE: + this._gl.texParameteri(this._gl.TEXTURE_2D, this._gl.TEXTURE_WRAP_S, this._gl.REPEAT); + break; + case BABYLON.Texture.CLAMP_ADDRESSMODE: + this._gl.texParameteri(this._gl.TEXTURE_2D, this._gl.TEXTURE_WRAP_S, this._gl.CLAMP_TO_EDGE); + break; + case BABYLON.Texture.MIRROR_ADDRESSMODE: + this._gl.texParameteri(this._gl.TEXTURE_2D, this._gl.TEXTURE_WRAP_S, this._gl.MIRRORED_REPEAT); + break; + } + } + if (internalTexture._cachedWrapV !== texture.wrapV) { + internalTexture._cachedWrapV = texture.wrapV; + switch (texture.wrapV) { + case BABYLON.Texture.WRAP_ADDRESSMODE: + this._gl.texParameteri(this._gl.TEXTURE_2D, this._gl.TEXTURE_WRAP_T, this._gl.REPEAT); + break; + case BABYLON.Texture.CLAMP_ADDRESSMODE: + this._gl.texParameteri(this._gl.TEXTURE_2D, this._gl.TEXTURE_WRAP_T, this._gl.CLAMP_TO_EDGE); + break; + case BABYLON.Texture.MIRROR_ADDRESSMODE: + this._gl.texParameteri(this._gl.TEXTURE_2D, this._gl.TEXTURE_WRAP_T, this._gl.MIRRORED_REPEAT); + break; + } + } + this._setAnisotropicLevel(this._gl.TEXTURE_2D, texture); + } + }; + Engine.prototype.setTextureArray = function (channel, uniform, textures) { + if (channel < 0) { + return; + } + if (!this._textureUnits || this._textureUnits.length !== textures.length) { + this._textureUnits = new Int32Array(textures.length); + } + for (var i = 0; i < textures.length; i++) { + this._textureUnits[i] = channel + i; + } + this._gl.uniform1iv(uniform, this._textureUnits); + for (var index = 0; index < textures.length; index++) { + this._setTexture(channel + index, textures[index]); + } + }; + Engine.prototype._setAnisotropicLevel = function (key, texture) { + var anisotropicFilterExtension = this._caps.textureAnisotropicFilterExtension; + var value = texture.anisotropicFilteringLevel; + if (texture.getInternalTexture().samplingMode === BABYLON.Texture.NEAREST_SAMPLINGMODE) { + value = 1; + } + if (anisotropicFilterExtension && texture._cachedAnisotropicFilteringLevel !== value) { + this._gl.texParameterf(key, anisotropicFilterExtension.TEXTURE_MAX_ANISOTROPY_EXT, Math.min(value, this._caps.maxAnisotropy)); + texture._cachedAnisotropicFilteringLevel = value; + } + }; + Engine.prototype.readPixels = function (x, y, width, height) { + var data = new Uint8Array(height * width * 4); + this._gl.readPixels(x, y, width, height, this._gl.RGBA, this._gl.UNSIGNED_BYTE, data); + return data; + }; + /** + * Add an externaly attached data from its key. + * This method call will fail and return false, if such key already exists. + * If you don't care and just want to get the data no matter what, use the more convenient getOrAddExternalDataWithFactory() method. + * @param key the unique key that identifies the data + * @param data the data object to associate to the key for this Engine instance + * @return true if no such key were already present and the data was added successfully, false otherwise + */ + Engine.prototype.addExternalData = function (key, data) { + return this._externalData.add(key, data); + }; + /** + * Get an externaly attached data from its key + * @param key the unique key that identifies the data + * @return the associated data, if present (can be null), or undefined if not present + */ + Engine.prototype.getExternalData = function (key) { + return this._externalData.get(key); + }; + /** + * Get an externaly attached data from its key, create it using a factory if it's not already present + * @param key the unique key that identifies the data + * @param factory the factory that will be called to create the instance if and only if it doesn't exists + * @return the associated data, can be null if the factory returned null. + */ + Engine.prototype.getOrAddExternalDataWithFactory = function (key, factory) { + return this._externalData.getOrAddWithFactory(key, factory); + }; + /** + * Remove an externaly attached data from the Engine instance + * @param key the unique key that identifies the data + * @return true if the data was successfully removed, false if it doesn't exist + */ + Engine.prototype.removeExternalData = function (key) { + return this._externalData.remove(key); + }; + Engine.prototype.releaseInternalTexture = function (texture) { + if (!texture) { + return; + } + texture.references--; + // Final reference ? + if (texture.references === 0) { + var texturesCache = this.getLoadedTexturesCache(); + var index = texturesCache.indexOf(texture); + if (index > -1) { + texturesCache.splice(index, 1); + } + this._releaseTexture(texture); + } + }; + Engine.prototype.unbindAllAttributes = function () { + for (var i = 0, ul = this._vertexAttribArraysEnabled.length; i < ul; i++) { + if (i >= this._caps.maxVertexAttribs || !this._vertexAttribArraysEnabled[i]) { + continue; + } + this._gl.disableVertexAttribArray(i); + this._vertexAttribArraysEnabled[i] = false; + } + }; + // Dispose + Engine.prototype.dispose = function () { + this.hideLoadingUI(); + this.stopRenderLoop(); + // Release scenes + while (this.scenes.length) { + this.scenes[0].dispose(); + } + // Release audio engine + Engine.audioEngine.dispose(); + // Release effects + for (var name in this._compiledEffects) { + this._gl.deleteProgram(this._compiledEffects[name]._program); + } + // Unbind + this.unbindAllAttributes(); + this._gl = null; + //WebVR + this.disableVR(); + // Events + window.removeEventListener("blur", this._onBlur); + window.removeEventListener("focus", this._onFocus); + document.removeEventListener("fullscreenchange", this._onFullscreenChange); + document.removeEventListener("mozfullscreenchange", this._onFullscreenChange); + document.removeEventListener("webkitfullscreenchange", this._onFullscreenChange); + document.removeEventListener("msfullscreenchange", this._onFullscreenChange); + document.removeEventListener("pointerlockchange", this._onPointerLockChange); + document.removeEventListener("mspointerlockchange", this._onPointerLockChange); + document.removeEventListener("mozpointerlockchange", this._onPointerLockChange); + document.removeEventListener("webkitpointerlockchange", this._onPointerLockChange); + }; + // Loading screen + Engine.prototype.displayLoadingUI = function () { + this._loadingScreen.displayLoadingUI(); + }; + Engine.prototype.hideLoadingUI = function () { + this._loadingScreen.hideLoadingUI(); + }; + Object.defineProperty(Engine.prototype, "loadingScreen", { + get: function () { + return this._loadingScreen; + }, + set: function (loadingScreen) { + this._loadingScreen = loadingScreen; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine.prototype, "loadingUIText", { + set: function (text) { + this._loadingScreen.loadingUIText = text; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Engine.prototype, "loadingUIBackgroundColor", { + set: function (color) { + this._loadingScreen.loadingUIBackgroundColor = color; + }, + enumerable: true, + configurable: true + }); + Engine.prototype.attachContextLostEvent = function (callback) { + this._renderingCanvas.addEventListener("webglcontextlost", callback, false); + }; + Engine.prototype.attachContextRestoredEvent = function (callback) { + this._renderingCanvas.addEventListener("webglcontextrestored", callback, false); + }; + Engine.prototype.getVertexShaderSource = function (program) { + var shaders = this._gl.getAttachedShaders(program); + return this._gl.getShaderSource(shaders[0]); + }; + Engine.prototype.getFragmentShaderSource = function (program) { + var shaders = this._gl.getAttachedShaders(program); + return this._gl.getShaderSource(shaders[1]); + }; + // FPS + Engine.prototype.getFps = function () { + return this.fps; + }; + Engine.prototype.getDeltaTime = function () { + return this.deltaTime; + }; + Engine.prototype._measureFps = function () { + this.previousFramesDuration.push(BABYLON.Tools.Now); + var length = this.previousFramesDuration.length; + if (length >= 2) { + this.deltaTime = this.previousFramesDuration[length - 1] - this.previousFramesDuration[length - 2]; + } + if (length >= this.fpsRange) { + if (length > this.fpsRange) { + this.previousFramesDuration.splice(0, 1); + length = this.previousFramesDuration.length; + } + var sum = 0; + for (var id = 0; id < length - 1; id++) { + sum += this.previousFramesDuration[id + 1] - this.previousFramesDuration[id]; + } + this.fps = 1000.0 / (sum / (length - 1)); + } + }; + Engine.prototype._canRenderToFloatTexture = function () { + return this._canRenderToTextureOfType(BABYLON.Engine.TEXTURETYPE_FLOAT, 'OES_texture_float'); + }; + Engine.prototype._canRenderToHalfFloatTexture = function () { + return this._canRenderToTextureOfType(BABYLON.Engine.TEXTURETYPE_HALF_FLOAT, 'OES_texture_half_float'); + }; + // Thank you : http://stackoverflow.com/questions/28827511/webgl-ios-render-to-floating-point-texture + Engine.prototype._canRenderToTextureOfType = function (format, extension) { + var tempcanvas = document.createElement("canvas"); + tempcanvas.height = 16; + tempcanvas.width = 16; + var gl = (tempcanvas.getContext("webgl") || tempcanvas.getContext("experimental-webgl")); + // extension. + var ext = gl.getExtension(extension); + if (!ext) { + return false; + } + // setup GLSL program + var vertexCode = "attribute vec4 a_position;\n void main() {\n gl_Position = a_position;\n }"; + var fragmentCode = "precision mediump float;\n uniform vec4 u_color;\n uniform sampler2D u_texture;\n\n void main() {\n gl_FragColor = texture2D(u_texture, vec2(0.5, 0.5)) * u_color;\n }"; + var program = this.createShaderProgram(vertexCode, fragmentCode, null, gl); + gl.useProgram(program); + // look up where the vertex data needs to go. + var positionLocation = gl.getAttribLocation(program, "a_position"); + var colorLoc = gl.getUniformLocation(program, "u_color"); + // provide texture coordinates for the rectangle. + var positionBuffer = gl.createBuffer(); + gl.bindBuffer(gl.ARRAY_BUFFER, positionBuffer); + gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([ + -1.0, -1.0, + 1.0, -1.0, + -1.0, 1.0, + -1.0, 1.0, + 1.0, -1.0, + 1.0, 1.0]), gl.STATIC_DRAW); + gl.enableVertexAttribArray(positionLocation); + gl.vertexAttribPointer(positionLocation, 2, gl.FLOAT, false, 0, 0); + var whiteTex = gl.createTexture(); + gl.bindTexture(gl.TEXTURE_2D, whiteTex); + gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 1, 1, 0, gl.RGBA, gl.UNSIGNED_BYTE, new Uint8Array([255, 255, 255, 255])); + var tex = gl.createTexture(); + gl.bindTexture(gl.TEXTURE_2D, tex); + gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 1, 1, 0, gl.RGBA, getWebGLTextureType(gl, format), null); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST); + gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST); + var fb = gl.createFramebuffer(); + gl.bindFramebuffer(gl.FRAMEBUFFER, fb); + gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, tex, 0); + var cleanup = function () { + gl.deleteProgram(program); + gl.disableVertexAttribArray(positionLocation); + gl.deleteBuffer(positionBuffer); + gl.deleteFramebuffer(fb); + gl.deleteTexture(whiteTex); + gl.deleteTexture(tex); + }; + var status = gl.checkFramebufferStatus(gl.FRAMEBUFFER); + if (status !== gl.FRAMEBUFFER_COMPLETE) { + BABYLON.Tools.Log("GL Support: can **NOT** render to " + format + " texture"); + cleanup(); + return false; + } + // Draw the rectangle. + gl.bindTexture(gl.TEXTURE_2D, whiteTex); + gl.uniform4fv(colorLoc, [0, 10, 20, 1]); + gl.drawArrays(gl.TRIANGLES, 0, 6); + gl.bindTexture(gl.TEXTURE_2D, tex); + gl.bindFramebuffer(gl.FRAMEBUFFER, null); + gl.clearColor(1, 0, 0, 1); + gl.clear(gl.COLOR_BUFFER_BIT); + gl.uniform4fv(colorLoc, [0, 1 / 10, 1 / 20, 1]); + gl.drawArrays(gl.TRIANGLES, 0, 6); + var pixel = new Uint8Array(4); + gl.readPixels(0, 0, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, pixel); + if (pixel[0] !== 0 || + pixel[1] < 248 || + pixel[2] < 248 || + pixel[3] < 254) { + BABYLON.Tools.Log("GL Support: Was not able to actually render to " + format + " texture"); + cleanup(); + return false; + } + // Succesfully rendered to "format" texture. + cleanup(); + return true; + }; + // Statics + Engine.isSupported = function () { + try { + // Avoid creating an unsized context for CocoonJS, since size determined on first creation. Is not resizable + if (navigator.isCocoonJS) { + return true; + } + var tempcanvas = document.createElement("canvas"); + var gl = tempcanvas.getContext("webgl") || tempcanvas.getContext("experimental-webgl"); + return gl != null && !!window.WebGLRenderingContext; + } + catch (e) { + return false; + } + }; + // Const statics + Engine._ALPHA_DISABLE = 0; + Engine._ALPHA_ADD = 1; + Engine._ALPHA_COMBINE = 2; + Engine._ALPHA_SUBTRACT = 3; + Engine._ALPHA_MULTIPLY = 4; + Engine._ALPHA_MAXIMIZED = 5; + Engine._ALPHA_ONEONE = 6; + Engine._DELAYLOADSTATE_NONE = 0; + Engine._DELAYLOADSTATE_LOADED = 1; + Engine._DELAYLOADSTATE_LOADING = 2; + Engine._DELAYLOADSTATE_NOTLOADED = 4; + Engine._TEXTUREFORMAT_ALPHA = 0; + Engine._TEXTUREFORMAT_LUMINANCE = 1; + Engine._TEXTUREFORMAT_LUMINANCE_ALPHA = 2; + Engine._TEXTUREFORMAT_RGB = 4; + Engine._TEXTUREFORMAT_RGBA = 5; + Engine._TEXTURETYPE_UNSIGNED_INT = 0; + Engine._TEXTURETYPE_FLOAT = 1; + Engine._TEXTURETYPE_HALF_FLOAT = 2; + // Depht or Stencil test Constants. + Engine._NEVER = 0x0200; // Passed to depthFunction or stencilFunction to specify depth or stencil tests will never pass. i.e. Nothing will be drawn. + Engine._ALWAYS = 0x0207; // Passed to depthFunction or stencilFunction to specify depth or stencil tests will always pass. i.e. Pixels will be drawn in the order they are drawn. + Engine._LESS = 0x0201; // Passed to depthFunction or stencilFunction to specify depth or stencil tests will pass if the new depth value is less than the stored value. + Engine._EQUAL = 0x0202; // Passed to depthFunction or stencilFunction to specify depth or stencil tests will pass if the new depth value is equals to the stored value. + Engine._LEQUAL = 0x0203; // Passed to depthFunction or stencilFunction to specify depth or stencil tests will pass if the new depth value is less than or equal to the stored value. + Engine._GREATER = 0x0204; // Passed to depthFunction or stencilFunction to specify depth or stencil tests will pass if the new depth value is greater than the stored value. + Engine._GEQUAL = 0x0206; // Passed to depthFunction or stencilFunction to specify depth or stencil tests will pass if the new depth value is greater than or equal to the stored value. + Engine._NOTEQUAL = 0x0205; // Passed to depthFunction or stencilFunction to specify depth or stencil tests will pass if the new depth value is not equal to the stored value. + // Stencil Actions Constants. + Engine._KEEP = 0x1E00; + Engine._REPLACE = 0x1E01; + Engine._INCR = 0x1E02; + Engine._DECR = 0x1E03; + Engine._INVERT = 0x150A; + Engine._INCR_WRAP = 0x8507; + Engine._DECR_WRAP = 0x8508; + // Updatable statics so stick with vars here + Engine.CollisionsEpsilon = 0.001; + Engine.CodeRepository = "src/"; + Engine.ShadersRepository = "src/Shaders/"; + return Engine; + }()); + BABYLON.Engine = Engine; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.engine.js.map + + +var BABYLON; +(function (BABYLON) { + /** + * Node is the basic class for all scene objects (Mesh, Light Camera). + */ + var Node = (function () { + /** + * @constructor + * @param {string} name - the name and id to be given to this node + * @param {BABYLON.Scene} the scene this node will be added to + */ + function Node(name, scene) { + this.state = ""; + this.metadata = null; + this.doNotSerialize = false; + this.animations = new Array(); + this._ranges = {}; + this._childrenFlag = -1; + this._isEnabled = true; + this._isReady = true; + this._currentRenderId = -1; + this._parentRenderId = -1; + /** + * An event triggered when the mesh is disposed. + * @type {BABYLON.Observable} + */ + this.onDisposeObservable = new BABYLON.Observable(); + this.name = name; + this.id = name; + this._scene = scene; + this._initCache(); + } + Object.defineProperty(Node.prototype, "parent", { + get: function () { + return this._parentNode; + }, + set: function (parent) { + if (this._parentNode === parent) { + return; + } + if (this._parentNode) { + var index = this._parentNode._children.indexOf(this); + if (index !== -1) { + this._parentNode._children.splice(index, 1); + } + } + this._parentNode = parent; + if (this._parentNode) { + if (!this._parentNode._children) { + this._parentNode._children = new Array(); + } + this._parentNode._children.push(this); + } + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Node.prototype, "onDispose", { + set: function (callback) { + if (this._onDisposeObserver) { + this.onDisposeObservable.remove(this._onDisposeObserver); + } + this._onDisposeObserver = this.onDisposeObservable.add(callback); + }, + enumerable: true, + configurable: true + }); + Node.prototype.getScene = function () { + return this._scene; + }; + Node.prototype.getEngine = function () { + return this._scene.getEngine(); + }; + // override it in derived class + Node.prototype.getWorldMatrix = function () { + return BABYLON.Matrix.Identity(); + }; + // override it in derived class if you add new variables to the cache + // and call the parent class method + Node.prototype._initCache = function () { + this._cache = {}; + this._cache.parent = undefined; + }; + Node.prototype.updateCache = function (force) { + if (!force && this.isSynchronized()) + return; + this._cache.parent = this.parent; + this._updateCache(); + }; + // override it in derived class if you add new variables to the cache + // and call the parent class method if !ignoreParentClass + Node.prototype._updateCache = function (ignoreParentClass) { + }; + // override it in derived class if you add new variables to the cache + Node.prototype._isSynchronized = function () { + return true; + }; + Node.prototype._markSyncedWithParent = function () { + this._parentRenderId = this.parent._currentRenderId; + }; + Node.prototype.isSynchronizedWithParent = function () { + if (!this.parent) { + return true; + } + if (this._parentRenderId !== this.parent._currentRenderId) { + return false; + } + return this.parent.isSynchronized(); + }; + Node.prototype.isSynchronized = function (updateCache) { + var check = this.hasNewParent(); + check = check || !this.isSynchronizedWithParent(); + check = check || !this._isSynchronized(); + if (updateCache) + this.updateCache(true); + return !check; + }; + Node.prototype.hasNewParent = function (update) { + if (this._cache.parent === this.parent) + return false; + if (update) + this._cache.parent = this.parent; + return true; + }; + /** + * Is this node ready to be used/rendered + * @return {boolean} is it ready + */ + Node.prototype.isReady = function () { + return this._isReady; + }; + /** + * Is this node enabled. + * If the node has a parent and is enabled, the parent will be inspected as well. + * @return {boolean} whether this node (and its parent) is enabled. + * @see setEnabled + */ + Node.prototype.isEnabled = function () { + if (!this._isEnabled) { + return false; + } + if (this.parent) { + return this.parent.isEnabled(); + } + return true; + }; + /** + * Set the enabled state of this node. + * @param {boolean} value - the new enabled state + * @see isEnabled + */ + Node.prototype.setEnabled = function (value) { + this._isEnabled = value; + }; + /** + * Is this node a descendant of the given node. + * The function will iterate up the hierarchy until the ancestor was found or no more parents defined. + * @param {BABYLON.Node} ancestor - The parent node to inspect + * @see parent + */ + Node.prototype.isDescendantOf = function (ancestor) { + if (this.parent) { + if (this.parent === ancestor) { + return true; + } + return this.parent.isDescendantOf(ancestor); + } + return false; + }; + /** + * Evaluate the list of children and determine if they should be considered as descendants considering the given criterias + * @param {BABYLON.Node[]} results the result array containing the nodes matching the given criterias + * @param {boolean} directDescendantsOnly if true only direct descendants of 'this' will be considered, if false direct and also indirect (children of children, an so on in a recursive manner) descendants of 'this' will be considered. + * @param predicate: an optional predicate that will be called on every evaluated children, the predicate must return true for a given child to be part of the result, otherwise it will be ignored. + */ + Node.prototype._getDescendants = function (results, directDescendantsOnly, predicate) { + if (directDescendantsOnly === void 0) { directDescendantsOnly = false; } + if (!this._children) { + return; + } + for (var index = 0; index < this._children.length; index++) { + var item = this._children[index]; + if (!predicate || predicate(item)) { + results.push(item); + } + if (!directDescendantsOnly) { + item._getDescendants(results, false, predicate); + } + } + }; + /** + * Will return all nodes that have this node as ascendant. + * @param {boolean} directDescendantsOnly if true only direct descendants of 'this' will be considered, if false direct and also indirect (children of children, an so on in a recursive manner) descendants of 'this' will be considered. + * @param predicate: an optional predicate that will be called on every evaluated children, the predicate must return true for a given child to be part of the result, otherwise it will be ignored. + * @return {BABYLON.Node[]} all children nodes of all types. + */ + Node.prototype.getDescendants = function (directDescendantsOnly, predicate) { + var results = []; + this._getDescendants(results, directDescendantsOnly, predicate); + return results; + }; + /** + * @param predicate: an optional predicate that will be called on every evaluated children, the predicate must return true for a given child to be part of the result, otherwise it will be ignored. + * @Deprecated, legacy support. + * use getDecendants instead. + */ + Node.prototype.getChildren = function (predicate) { + return this.getDescendants(true, predicate); + }; + /** + * Get all child-meshes of this node. + */ + Node.prototype.getChildMeshes = function (directDecendantsOnly, predicate) { + var results = []; + this._getDescendants(results, directDecendantsOnly, function (node) { + return ((!predicate || predicate(node)) && (node instanceof BABYLON.AbstractMesh)); + }); + return results; + }; + Node.prototype._setReady = function (state) { + if (state === this._isReady) { + return; + } + if (!state) { + this._isReady = false; + return; + } + this._isReady = true; + if (this.onReady) { + this.onReady(this); + } + }; + Node.prototype.getAnimationByName = function (name) { + for (var i = 0; i < this.animations.length; i++) { + var animation = this.animations[i]; + if (animation.name === name) { + return animation; + } + } + return null; + }; + Node.prototype.createAnimationRange = function (name, from, to) { + // check name not already in use + if (!this._ranges[name]) { + this._ranges[name] = new BABYLON.AnimationRange(name, from, to); + for (var i = 0, nAnimations = this.animations.length; i < nAnimations; i++) { + if (this.animations[i]) { + this.animations[i].createRange(name, from, to); + } + } + } + }; + Node.prototype.deleteAnimationRange = function (name, deleteFrames) { + if (deleteFrames === void 0) { deleteFrames = true; } + for (var i = 0, nAnimations = this.animations.length; i < nAnimations; i++) { + if (this.animations[i]) { + this.animations[i].deleteRange(name, deleteFrames); + } + } + this._ranges[name] = undefined; // said much faster than 'delete this._range[name]' + }; + Node.prototype.getAnimationRange = function (name) { + return this._ranges[name]; + }; + Node.prototype.beginAnimation = function (name, loop, speedRatio, onAnimationEnd) { + var range = this.getAnimationRange(name); + if (!range) { + return null; + } + this._scene.beginAnimation(this, range.from, range.to, loop, speedRatio, onAnimationEnd); + }; + Node.prototype.serializeAnimationRanges = function () { + var serializationRanges = []; + for (var name in this._ranges) { + var range = {}; + range.name = name; + range.from = this._ranges[name].from; + range.to = this._ranges[name].to; + serializationRanges.push(range); + } + return serializationRanges; + }; + Node.prototype.dispose = function () { + this.parent = null; + // Callback + this.onDisposeObservable.notifyObservers(this); + this.onDisposeObservable.clear(); + }; + Node.ParseAnimationRanges = function (node, parsedNode, scene) { + if (parsedNode.ranges) { + for (var index = 0; index < parsedNode.ranges.length; index++) { + var data = parsedNode.ranges[index]; + node.createAnimationRange(data.name, data.from, data.to); + } + } + }; + __decorate([ + BABYLON.serialize() + ], Node.prototype, "name", void 0); + __decorate([ + BABYLON.serialize() + ], Node.prototype, "id", void 0); + __decorate([ + BABYLON.serialize() + ], Node.prototype, "uniqueId", void 0); + __decorate([ + BABYLON.serialize() + ], Node.prototype, "state", void 0); + __decorate([ + BABYLON.serialize() + ], Node.prototype, "metadata", void 0); + return Node; + }()); + BABYLON.Node = Node; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.node.js.map + +var BABYLON; +(function (BABYLON) { + var FilesInput = (function () { + /// Register to core BabylonJS object: engine, scene, rendering canvas, callback function when the scene will be loaded, + /// loading progress callback and optionnal addionnal logic to call in the rendering loop + function FilesInput(p_engine, p_scene, p_canvas, p_sceneLoadedCallback, p_progressCallback, p_additionnalRenderLoopLogicCallback, p_textureLoadingCallback, p_startingProcessingFilesCallback) { + this._engine = p_engine; + this._canvas = p_canvas; + this._currentScene = p_scene; + this._sceneLoadedCallback = p_sceneLoadedCallback; + this._progressCallback = p_progressCallback; + this._additionnalRenderLoopLogicCallback = p_additionnalRenderLoopLogicCallback; + this._textureLoadingCallback = p_textureLoadingCallback; + this._startingProcessingFilesCallback = p_startingProcessingFilesCallback; + } + FilesInput.prototype.monitorElementForDragNDrop = function (p_elementToMonitor) { + var _this = this; + if (p_elementToMonitor) { + this._elementToMonitor = p_elementToMonitor; + this._elementToMonitor.addEventListener("dragenter", function (e) { _this.drag(e); }, false); + this._elementToMonitor.addEventListener("dragover", function (e) { _this.drag(e); }, false); + this._elementToMonitor.addEventListener("drop", function (e) { _this.drop(e); }, false); + } + }; + FilesInput.prototype.renderFunction = function () { + if (this._additionnalRenderLoopLogicCallback) { + this._additionnalRenderLoopLogicCallback(); + } + if (this._currentScene) { + if (this._textureLoadingCallback) { + var remaining = this._currentScene.getWaitingItemsCount(); + if (remaining > 0) { + this._textureLoadingCallback(remaining); + } + } + this._currentScene.render(); + } + }; + FilesInput.prototype.drag = function (e) { + e.stopPropagation(); + e.preventDefault(); + }; + FilesInput.prototype.drop = function (eventDrop) { + eventDrop.stopPropagation(); + eventDrop.preventDefault(); + this.loadFiles(eventDrop); + }; + FilesInput.prototype.loadFiles = function (event) { + if (this._startingProcessingFilesCallback) + this._startingProcessingFilesCallback(); + // Handling data transfer via drag'n'drop + if (event && event.dataTransfer && event.dataTransfer.files) { + this._filesToLoad = event.dataTransfer.files; + } + // Handling files from input files + if (event && event.target && event.target.files) { + this._filesToLoad = event.target.files; + } + if (this._filesToLoad && this._filesToLoad.length > 0) { + for (var i = 0; i < this._filesToLoad.length; i++) { + switch (this._filesToLoad[i].type) { + case "image/jpeg": + case "image/png": + case "image/bmp": + FilesInput.FilesTextures[this._filesToLoad[i].name.toLowerCase()] = this._filesToLoad[i]; + break; + case "image/targa": + case "image/vnd.ms-dds": + case "audio/wav": + case "audio/x-wav": + case "audio/mp3": + case "audio/mpeg": + case "audio/mpeg3": + case "audio/x-mpeg-3": + case "audio/ogg": + FilesInput.FilesToLoad[this._filesToLoad[i].name.toLowerCase()] = this._filesToLoad[i]; + break; + default: + if (this._filesToLoad[i].name.indexOf(".mtl") !== -1) { + FilesInput.FilesToLoad[this._filesToLoad[i].name.toLowerCase()] = this._filesToLoad[i]; + } + else if ((this._filesToLoad[i].name.indexOf(".babylon") !== -1 || + this._filesToLoad[i].name.indexOf(".stl") !== -1 || + this._filesToLoad[i].name.indexOf(".obj") !== -1) + && this._filesToLoad[i].name.indexOf(".manifest") === -1 + && this._filesToLoad[i].name.indexOf(".incremental") === -1 && this._filesToLoad[i].name.indexOf(".babylonmeshdata") === -1 + && this._filesToLoad[i].name.indexOf(".babylongeometrydata") === -1 && this._filesToLoad[i].name.indexOf(".babylonbinarymeshdata") === -1 && + this._filesToLoad[i].name.indexOf(".binary.babylon") === -1) { + this._sceneFileToLoad = this._filesToLoad[i]; + } + break; + } + } + this.reload(); + } + }; + FilesInput.prototype.reload = function () { + var _this = this; + var that = this; + // If a ".babylon" file has been provided + if (this._sceneFileToLoad) { + if (this._currentScene) { + if (BABYLON.Tools.errorsCount > 0) { + BABYLON.Tools.ClearLogCache(); + BABYLON.Tools.Log("Babylon.js engine (v" + BABYLON.Engine.Version + ") launched"); + } + this._engine.stopRenderLoop(); + this._currentScene.dispose(); + } + BABYLON.SceneLoader.Load("file:", this._sceneFileToLoad, this._engine, function (newScene) { + that._currentScene = newScene; + // Wait for textures and shaders to be ready + that._currentScene.executeWhenReady(function () { + // Attach camera to canvas inputs + if (!that._currentScene.activeCamera || that._currentScene.lights.length === 0) { + that._currentScene.createDefaultCameraOrLight(); + } + that._currentScene.activeCamera.attachControl(that._canvas); + if (that._sceneLoadedCallback) { + that._sceneLoadedCallback(_this._sceneFileToLoad, that._currentScene); + } + that._engine.runRenderLoop(function () { that.renderFunction(); }); + }); + }, function (progress) { + if (_this._progressCallback) { + _this._progressCallback(progress); + } + }); + } + else { + BABYLON.Tools.Error("Please provide a valid .babylon file."); + } + }; + FilesInput.FilesTextures = new Array(); + FilesInput.FilesToLoad = new Array(); + return FilesInput; + }()); + BABYLON.FilesInput = FilesInput; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.filesInput.js.map + +var BABYLON; +(function (BABYLON) { + var IntersectionInfo = (function () { + function IntersectionInfo(bu, bv, distance) { + this.bu = bu; + this.bv = bv; + this.distance = distance; + this.faceId = 0; + this.subMeshId = 0; + } + return IntersectionInfo; + }()); + BABYLON.IntersectionInfo = IntersectionInfo; + var PickingInfo = (function () { + function PickingInfo() { + this.hit = false; + this.distance = 0; + this.pickedPoint = null; + this.pickedMesh = null; + this.bu = 0; + this.bv = 0; + this.faceId = -1; + this.subMeshId = 0; + this.pickedSprite = null; + } + // Methods + PickingInfo.prototype.getNormal = function (useWorldCoordinates, useVerticesNormals) { + if (useWorldCoordinates === void 0) { useWorldCoordinates = false; } + if (useVerticesNormals === void 0) { useVerticesNormals = true; } + if (!this.pickedMesh || !this.pickedMesh.isVerticesDataPresent(BABYLON.VertexBuffer.NormalKind)) { + return null; + } + var indices = this.pickedMesh.getIndices(); + var result; + if (useVerticesNormals) { + var normals = this.pickedMesh.getVerticesData(BABYLON.VertexBuffer.NormalKind); + var normal0 = BABYLON.Vector3.FromArray(normals, indices[this.faceId * 3] * 3); + var normal1 = BABYLON.Vector3.FromArray(normals, indices[this.faceId * 3 + 1] * 3); + var normal2 = BABYLON.Vector3.FromArray(normals, indices[this.faceId * 3 + 2] * 3); + normal0 = normal0.scale(this.bu); + normal1 = normal1.scale(this.bv); + normal2 = normal2.scale(1.0 - this.bu - this.bv); + result = new BABYLON.Vector3(normal0.x + normal1.x + normal2.x, normal0.y + normal1.y + normal2.y, normal0.z + normal1.z + normal2.z); + } + else { + var positions = this.pickedMesh.getVerticesData(BABYLON.VertexBuffer.PositionKind); + var vertex1 = BABYLON.Vector3.FromArray(positions, indices[this.faceId * 3] * 3); + var vertex2 = BABYLON.Vector3.FromArray(positions, indices[this.faceId * 3 + 1] * 3); + var vertex3 = BABYLON.Vector3.FromArray(positions, indices[this.faceId * 3 + 2] * 3); + var p1p2 = vertex1.subtract(vertex2); + var p3p2 = vertex3.subtract(vertex2); + result = BABYLON.Vector3.Cross(p1p2, p3p2); + } + if (useWorldCoordinates) { + result = BABYLON.Vector3.TransformNormal(result, this.pickedMesh.getWorldMatrix()); + } + return BABYLON.Vector3.Normalize(result); + }; + PickingInfo.prototype.getTextureCoordinates = function () { + if (!this.pickedMesh || !this.pickedMesh.isVerticesDataPresent(BABYLON.VertexBuffer.UVKind)) { + return null; + } + var indices = this.pickedMesh.getIndices(); + var uvs = this.pickedMesh.getVerticesData(BABYLON.VertexBuffer.UVKind); + var uv0 = BABYLON.Vector2.FromArray(uvs, indices[this.faceId * 3] * 2); + var uv1 = BABYLON.Vector2.FromArray(uvs, indices[this.faceId * 3 + 1] * 2); + var uv2 = BABYLON.Vector2.FromArray(uvs, indices[this.faceId * 3 + 2] * 2); + uv0 = uv0.scale(1.0 - this.bu - this.bv); + uv1 = uv1.scale(this.bu); + uv2 = uv2.scale(this.bv); + return new BABYLON.Vector2(uv0.x + uv1.x + uv2.x, uv0.y + uv1.y + uv2.y); + }; + return PickingInfo; + }()); + BABYLON.PickingInfo = PickingInfo; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.pickingInfo.js.map + +var BABYLON; +(function (BABYLON) { + var BoundingSphere = (function () { + function BoundingSphere(minimum, maximum) { + this.minimum = minimum; + this.maximum = maximum; + this._tempRadiusVector = BABYLON.Vector3.Zero(); + var distance = BABYLON.Vector3.Distance(minimum, maximum); + this.center = BABYLON.Vector3.Lerp(minimum, maximum, 0.5); + this.radius = distance * 0.5; + this.centerWorld = BABYLON.Vector3.Zero(); + this._update(BABYLON.Matrix.Identity()); + } + // Methods + BoundingSphere.prototype._update = function (world) { + BABYLON.Vector3.TransformCoordinatesToRef(this.center, world, this.centerWorld); + BABYLON.Vector3.TransformNormalFromFloatsToRef(1.0, 1.0, 1.0, world, this._tempRadiusVector); + this.radiusWorld = Math.max(Math.abs(this._tempRadiusVector.x), Math.abs(this._tempRadiusVector.y), Math.abs(this._tempRadiusVector.z)) * this.radius; + }; + BoundingSphere.prototype.isInFrustum = function (frustumPlanes) { + for (var i = 0; i < 6; i++) { + if (frustumPlanes[i].dotCoordinate(this.centerWorld) <= -this.radiusWorld) + return false; + } + return true; + }; + BoundingSphere.prototype.intersectsPoint = function (point) { + var x = this.centerWorld.x - point.x; + var y = this.centerWorld.y - point.y; + var z = this.centerWorld.z - point.z; + var distance = Math.sqrt((x * x) + (y * y) + (z * z)); + if (Math.abs(this.radiusWorld - distance) < BABYLON.Epsilon) + return false; + return true; + }; + // Statics + BoundingSphere.Intersects = function (sphere0, sphere1) { + var x = sphere0.centerWorld.x - sphere1.centerWorld.x; + var y = sphere0.centerWorld.y - sphere1.centerWorld.y; + var z = sphere0.centerWorld.z - sphere1.centerWorld.z; + var distance = Math.sqrt((x * x) + (y * y) + (z * z)); + if (sphere0.radiusWorld + sphere1.radiusWorld < distance) + return false; + return true; + }; + return BoundingSphere; + }()); + BABYLON.BoundingSphere = BoundingSphere; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.boundingSphere.js.map + +var BABYLON; +(function (BABYLON) { + var BoundingBox = (function () { + function BoundingBox(minimum, maximum) { + this.minimum = minimum; + this.maximum = maximum; + this.vectors = new Array(); + this.vectorsWorld = new Array(); + // Bounding vectors + this.vectors.push(this.minimum.clone()); + this.vectors.push(this.maximum.clone()); + this.vectors.push(this.minimum.clone()); + this.vectors[2].x = this.maximum.x; + this.vectors.push(this.minimum.clone()); + this.vectors[3].y = this.maximum.y; + this.vectors.push(this.minimum.clone()); + this.vectors[4].z = this.maximum.z; + this.vectors.push(this.maximum.clone()); + this.vectors[5].z = this.minimum.z; + this.vectors.push(this.maximum.clone()); + this.vectors[6].x = this.minimum.x; + this.vectors.push(this.maximum.clone()); + this.vectors[7].y = this.minimum.y; + // OBB + this.center = this.maximum.add(this.minimum).scale(0.5); + this.extendSize = this.maximum.subtract(this.minimum).scale(0.5); + this.directions = [BABYLON.Vector3.Zero(), BABYLON.Vector3.Zero(), BABYLON.Vector3.Zero()]; + // World + for (var index = 0; index < this.vectors.length; index++) { + this.vectorsWorld[index] = BABYLON.Vector3.Zero(); + } + this.minimumWorld = BABYLON.Vector3.Zero(); + this.maximumWorld = BABYLON.Vector3.Zero(); + this._update(BABYLON.Matrix.Identity()); + } + // Methods + BoundingBox.prototype.getWorldMatrix = function () { + return this._worldMatrix; + }; + BoundingBox.prototype.setWorldMatrix = function (matrix) { + this._worldMatrix.copyFrom(matrix); + return this; + }; + BoundingBox.prototype._update = function (world) { + BABYLON.Vector3.FromFloatsToRef(Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE, this.minimumWorld); + BABYLON.Vector3.FromFloatsToRef(-Number.MAX_VALUE, -Number.MAX_VALUE, -Number.MAX_VALUE, this.maximumWorld); + for (var index = 0; index < this.vectors.length; index++) { + var v = this.vectorsWorld[index]; + BABYLON.Vector3.TransformCoordinatesToRef(this.vectors[index], world, v); + if (v.x < this.minimumWorld.x) + this.minimumWorld.x = v.x; + if (v.y < this.minimumWorld.y) + this.minimumWorld.y = v.y; + if (v.z < this.minimumWorld.z) + this.minimumWorld.z = v.z; + if (v.x > this.maximumWorld.x) + this.maximumWorld.x = v.x; + if (v.y > this.maximumWorld.y) + this.maximumWorld.y = v.y; + if (v.z > this.maximumWorld.z) + this.maximumWorld.z = v.z; + } + // OBB + this.maximumWorld.addToRef(this.minimumWorld, this.center); + this.center.scaleInPlace(0.5); + BABYLON.Vector3.FromFloatArrayToRef(world.m, 0, this.directions[0]); + BABYLON.Vector3.FromFloatArrayToRef(world.m, 4, this.directions[1]); + BABYLON.Vector3.FromFloatArrayToRef(world.m, 8, this.directions[2]); + this._worldMatrix = world; + }; + BoundingBox.prototype.isInFrustum = function (frustumPlanes) { + return BoundingBox.IsInFrustum(this.vectorsWorld, frustumPlanes); + }; + BoundingBox.prototype.isCompletelyInFrustum = function (frustumPlanes) { + return BoundingBox.IsCompletelyInFrustum(this.vectorsWorld, frustumPlanes); + }; + BoundingBox.prototype.intersectsPoint = function (point) { + var delta = -BABYLON.Epsilon; + if (this.maximumWorld.x - point.x < delta || delta > point.x - this.minimumWorld.x) + return false; + if (this.maximumWorld.y - point.y < delta || delta > point.y - this.minimumWorld.y) + return false; + if (this.maximumWorld.z - point.z < delta || delta > point.z - this.minimumWorld.z) + return false; + return true; + }; + BoundingBox.prototype.intersectsSphere = function (sphere) { + return BoundingBox.IntersectsSphere(this.minimumWorld, this.maximumWorld, sphere.centerWorld, sphere.radiusWorld); + }; + BoundingBox.prototype.intersectsMinMax = function (min, max) { + if (this.maximumWorld.x < min.x || this.minimumWorld.x > max.x) + return false; + if (this.maximumWorld.y < min.y || this.minimumWorld.y > max.y) + return false; + if (this.maximumWorld.z < min.z || this.minimumWorld.z > max.z) + return false; + return true; + }; + // Statics + BoundingBox.Intersects = function (box0, box1) { + if (box0.maximumWorld.x < box1.minimumWorld.x || box0.minimumWorld.x > box1.maximumWorld.x) + return false; + if (box0.maximumWorld.y < box1.minimumWorld.y || box0.minimumWorld.y > box1.maximumWorld.y) + return false; + if (box0.maximumWorld.z < box1.minimumWorld.z || box0.minimumWorld.z > box1.maximumWorld.z) + return false; + return true; + }; + BoundingBox.IntersectsSphere = function (minPoint, maxPoint, sphereCenter, sphereRadius) { + var vector = BABYLON.Vector3.Clamp(sphereCenter, minPoint, maxPoint); + var num = BABYLON.Vector3.DistanceSquared(sphereCenter, vector); + return (num <= (sphereRadius * sphereRadius)); + }; + BoundingBox.IsCompletelyInFrustum = function (boundingVectors, frustumPlanes) { + for (var p = 0; p < 6; p++) { + for (var i = 0; i < 8; i++) { + if (frustumPlanes[p].dotCoordinate(boundingVectors[i]) < 0) { + return false; + } + } + } + return true; + }; + BoundingBox.IsInFrustum = function (boundingVectors, frustumPlanes) { + for (var p = 0; p < 6; p++) { + var inCount = 8; + for (var i = 0; i < 8; i++) { + if (frustumPlanes[p].dotCoordinate(boundingVectors[i]) < 0) { + --inCount; + } + else { + break; + } + } + if (inCount === 0) + return false; + } + return true; + }; + return BoundingBox; + }()); + BABYLON.BoundingBox = BoundingBox; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.boundingBox.js.map + +var BABYLON; +(function (BABYLON) { + var computeBoxExtents = function (axis, box) { + var p = BABYLON.Vector3.Dot(box.center, axis); + var r0 = Math.abs(BABYLON.Vector3.Dot(box.directions[0], axis)) * box.extendSize.x; + var r1 = Math.abs(BABYLON.Vector3.Dot(box.directions[1], axis)) * box.extendSize.y; + var r2 = Math.abs(BABYLON.Vector3.Dot(box.directions[2], axis)) * box.extendSize.z; + var r = r0 + r1 + r2; + return { + min: p - r, + max: p + r + }; + }; + var extentsOverlap = function (min0, max0, min1, max1) { return !(min0 > max1 || min1 > max0); }; + var axisOverlap = function (axis, box0, box1) { + var result0 = computeBoxExtents(axis, box0); + var result1 = computeBoxExtents(axis, box1); + return extentsOverlap(result0.min, result0.max, result1.min, result1.max); + }; + var BoundingInfo = (function () { + function BoundingInfo(minimum, maximum) { + this.minimum = minimum; + this.maximum = maximum; + this._isLocked = false; + this.boundingBox = new BABYLON.BoundingBox(minimum, maximum); + this.boundingSphere = new BABYLON.BoundingSphere(minimum, maximum); + } + Object.defineProperty(BoundingInfo.prototype, "isLocked", { + get: function () { + return this._isLocked; + }, + set: function (value) { + this._isLocked = value; + }, + enumerable: true, + configurable: true + }); + // Methods + BoundingInfo.prototype.update = function (world) { + if (this._isLocked) { + return; + } + this.boundingBox._update(world); + this.boundingSphere._update(world); + }; + BoundingInfo.prototype.isInFrustum = function (frustumPlanes) { + if (!this.boundingSphere.isInFrustum(frustumPlanes)) + return false; + return this.boundingBox.isInFrustum(frustumPlanes); + }; + BoundingInfo.prototype.isCompletelyInFrustum = function (frustumPlanes) { + return this.boundingBox.isCompletelyInFrustum(frustumPlanes); + }; + BoundingInfo.prototype._checkCollision = function (collider) { + return collider._canDoCollision(this.boundingSphere.centerWorld, this.boundingSphere.radiusWorld, this.boundingBox.minimumWorld, this.boundingBox.maximumWorld); + }; + BoundingInfo.prototype.intersectsPoint = function (point) { + if (!this.boundingSphere.centerWorld) { + return false; + } + if (!this.boundingSphere.intersectsPoint(point)) { + return false; + } + if (!this.boundingBox.intersectsPoint(point)) { + return false; + } + return true; + }; + BoundingInfo.prototype.intersects = function (boundingInfo, precise) { + if (!this.boundingSphere.centerWorld || !boundingInfo.boundingSphere.centerWorld) { + return false; + } + if (!BABYLON.BoundingSphere.Intersects(this.boundingSphere, boundingInfo.boundingSphere)) { + return false; + } + if (!BABYLON.BoundingBox.Intersects(this.boundingBox, boundingInfo.boundingBox)) { + return false; + } + if (!precise) { + return true; + } + var box0 = this.boundingBox; + var box1 = boundingInfo.boundingBox; + if (!axisOverlap(box0.directions[0], box0, box1)) + return false; + if (!axisOverlap(box0.directions[1], box0, box1)) + return false; + if (!axisOverlap(box0.directions[2], box0, box1)) + return false; + if (!axisOverlap(box1.directions[0], box0, box1)) + return false; + if (!axisOverlap(box1.directions[1], box0, box1)) + return false; + if (!axisOverlap(box1.directions[2], box0, box1)) + return false; + if (!axisOverlap(BABYLON.Vector3.Cross(box0.directions[0], box1.directions[0]), box0, box1)) + return false; + if (!axisOverlap(BABYLON.Vector3.Cross(box0.directions[0], box1.directions[1]), box0, box1)) + return false; + if (!axisOverlap(BABYLON.Vector3.Cross(box0.directions[0], box1.directions[2]), box0, box1)) + return false; + if (!axisOverlap(BABYLON.Vector3.Cross(box0.directions[1], box1.directions[0]), box0, box1)) + return false; + if (!axisOverlap(BABYLON.Vector3.Cross(box0.directions[1], box1.directions[1]), box0, box1)) + return false; + if (!axisOverlap(BABYLON.Vector3.Cross(box0.directions[1], box1.directions[2]), box0, box1)) + return false; + if (!axisOverlap(BABYLON.Vector3.Cross(box0.directions[2], box1.directions[0]), box0, box1)) + return false; + if (!axisOverlap(BABYLON.Vector3.Cross(box0.directions[2], box1.directions[1]), box0, box1)) + return false; + if (!axisOverlap(BABYLON.Vector3.Cross(box0.directions[2], box1.directions[2]), box0, box1)) + return false; + return true; + }; + return BoundingInfo; + }()); + BABYLON.BoundingInfo = BoundingInfo; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.boundingInfo.js.map + +var BABYLON; +(function (BABYLON) { + var Ray = (function () { + function Ray(origin, direction, length) { + if (length === void 0) { length = Number.MAX_VALUE; } + this.origin = origin; + this.direction = direction; + this.length = length; + this._show = false; + } + // Methods + Ray.prototype.intersectsBoxMinMax = function (minimum, maximum) { + var d = 0.0; + var maxValue = Number.MAX_VALUE; + var inv; + var min; + var max; + var temp; + if (Math.abs(this.direction.x) < 0.0000001) { + if (this.origin.x < minimum.x || this.origin.x > maximum.x) { + return false; + } + } + else { + inv = 1.0 / this.direction.x; + min = (minimum.x - this.origin.x) * inv; + max = (maximum.x - this.origin.x) * inv; + if (max === -Infinity) { + max = Infinity; + } + if (min > max) { + temp = min; + min = max; + max = temp; + } + d = Math.max(min, d); + maxValue = Math.min(max, maxValue); + if (d > maxValue) { + return false; + } + } + if (Math.abs(this.direction.y) < 0.0000001) { + if (this.origin.y < minimum.y || this.origin.y > maximum.y) { + return false; + } + } + else { + inv = 1.0 / this.direction.y; + min = (minimum.y - this.origin.y) * inv; + max = (maximum.y - this.origin.y) * inv; + if (max === -Infinity) { + max = Infinity; + } + if (min > max) { + temp = min; + min = max; + max = temp; + } + d = Math.max(min, d); + maxValue = Math.min(max, maxValue); + if (d > maxValue) { + return false; + } + } + if (Math.abs(this.direction.z) < 0.0000001) { + if (this.origin.z < minimum.z || this.origin.z > maximum.z) { + return false; + } + } + else { + inv = 1.0 / this.direction.z; + min = (minimum.z - this.origin.z) * inv; + max = (maximum.z - this.origin.z) * inv; + if (max === -Infinity) { + max = Infinity; + } + if (min > max) { + temp = min; + min = max; + max = temp; + } + d = Math.max(min, d); + maxValue = Math.min(max, maxValue); + if (d > maxValue) { + return false; + } + } + return true; + }; + Ray.prototype.intersectsBox = function (box) { + return this.intersectsBoxMinMax(box.minimum, box.maximum); + }; + Ray.prototype.intersectsSphere = function (sphere) { + var x = sphere.center.x - this.origin.x; + var y = sphere.center.y - this.origin.y; + var z = sphere.center.z - this.origin.z; + var pyth = (x * x) + (y * y) + (z * z); + var rr = sphere.radius * sphere.radius; + if (pyth <= rr) { + return true; + } + var dot = (x * this.direction.x) + (y * this.direction.y) + (z * this.direction.z); + if (dot < 0.0) { + return false; + } + var temp = pyth - (dot * dot); + return temp <= rr; + }; + Ray.prototype.intersectsTriangle = function (vertex0, vertex1, vertex2) { + if (!this._edge1) { + this._edge1 = BABYLON.Vector3.Zero(); + this._edge2 = BABYLON.Vector3.Zero(); + this._pvec = BABYLON.Vector3.Zero(); + this._tvec = BABYLON.Vector3.Zero(); + this._qvec = BABYLON.Vector3.Zero(); + } + vertex1.subtractToRef(vertex0, this._edge1); + vertex2.subtractToRef(vertex0, this._edge2); + BABYLON.Vector3.CrossToRef(this.direction, this._edge2, this._pvec); + var det = BABYLON.Vector3.Dot(this._edge1, this._pvec); + if (det === 0) { + return null; + } + var invdet = 1 / det; + this.origin.subtractToRef(vertex0, this._tvec); + var bu = BABYLON.Vector3.Dot(this._tvec, this._pvec) * invdet; + if (bu < 0 || bu > 1.0) { + return null; + } + BABYLON.Vector3.CrossToRef(this._tvec, this._edge1, this._qvec); + var bv = BABYLON.Vector3.Dot(this.direction, this._qvec) * invdet; + if (bv < 0 || bu + bv > 1.0) { + return null; + } + //check if the distance is longer than the predefined length. + var distance = BABYLON.Vector3.Dot(this._edge2, this._qvec) * invdet; + if (distance > this.length) { + return null; + } + return new BABYLON.IntersectionInfo(bu, bv, distance); + }; + Ray.prototype.intersectsPlane = function (plane) { + var distance; + var result1 = BABYLON.Vector3.Dot(plane.normal, this.direction); + if (Math.abs(result1) < 9.99999997475243E-07) { + return null; + } + else { + var result2 = BABYLON.Vector3.Dot(plane.normal, this.origin); + distance = (-plane.d - result2) / result1; + if (distance < 0.0) { + if (distance < -9.99999997475243E-07) { + return null; + } + else { + return 0; + } + } + return distance; + } + }; + Ray.prototype.intersectsMesh = function (mesh, fastCheck) { + var tm = BABYLON.Tmp.Matrix[0]; + mesh.getWorldMatrix().invertToRef(tm); + if (this._tmpRay) { + Ray.TransformToRef(this, tm, this._tmpRay); + } + else { + this._tmpRay = Ray.Transform(this, tm); + } + return mesh.intersects(this._tmpRay, fastCheck); + }; + Ray.prototype.show = function (scene, color) { + if (!this._show) { + this._renderFunction = this._render.bind(this); + this._show = true; + this._scene = scene; + this._renderPoints = [this.origin, this.origin.add(this.direction.scale(this.length))]; + this._renderLine = BABYLON.Mesh.CreateLines("ray", this._renderPoints, scene, true); + this._scene.registerBeforeRender(this._renderFunction); + } + if (color) { + this._renderLine.color.copyFrom(color); + } + }; + Ray.prototype.hide = function () { + if (this._show) { + this._show = false; + this._scene.unregisterBeforeRender(this._renderFunction); + } + if (this._renderLine) { + this._renderLine.dispose(); + this._renderLine = null; + this._renderPoints = null; + } + }; + Ray.prototype._render = function () { + var point = this._renderPoints[1]; + point.copyFrom(this.direction); + point.scaleInPlace(this.length); + point.addInPlace(this.origin); + BABYLON.Mesh.CreateLines("ray", this._renderPoints, this._scene, true, this._renderLine); + }; + /** + * Intersection test between the ray and a given segment whithin a given tolerance (threshold) + * @param sega the first point of the segment to test the intersection against + * @param segb the second point of the segment to test the intersection against + * @param threshold the tolerance margin, if the ray doesn't intersect the segment but is close to the given threshold, the intersection is successful + * @return the distance from the ray origin to the intersection point if there's intersection, or -1 if there's no intersection + */ + Ray.prototype.intersectionSegment = function (sega, segb, threshold) { + var rsegb = this.origin.add(this.direction.multiplyByFloats(Ray.rayl, Ray.rayl, Ray.rayl)); + var u = segb.subtract(sega); + var v = rsegb.subtract(this.origin); + var w = sega.subtract(this.origin); + var a = BABYLON.Vector3.Dot(u, u); // always >= 0 + var b = BABYLON.Vector3.Dot(u, v); + var c = BABYLON.Vector3.Dot(v, v); // always >= 0 + var d = BABYLON.Vector3.Dot(u, w); + var e = BABYLON.Vector3.Dot(v, w); + var D = a * c - b * b; // always >= 0 + var sc, sN, sD = D; // sc = sN / sD, default sD = D >= 0 + var tc, tN, tD = D; // tc = tN / tD, default tD = D >= 0 + // compute the line parameters of the two closest points + if (D < Ray.smallnum) { + sN = 0.0; // force using point P0 on segment S1 + sD = 1.0; // to prevent possible division by 0.0 later + tN = e; + tD = c; + } + else { + sN = (b * e - c * d); + tN = (a * e - b * d); + if (sN < 0.0) { + sN = 0.0; + tN = e; + tD = c; + } + else if (sN > sD) { + sN = sD; + tN = e + b; + tD = c; + } + } + if (tN < 0.0) { + tN = 0.0; + // recompute sc for this edge + if (-d < 0.0) { + sN = 0.0; + } + else if (-d > a) + sN = sD; + else { + sN = -d; + sD = a; + } + } + else if (tN > tD) { + tN = tD; + // recompute sc for this edge + if ((-d + b) < 0.0) { + sN = 0; + } + else if ((-d + b) > a) { + sN = sD; + } + else { + sN = (-d + b); + sD = a; + } + } + // finally do the division to get sc and tc + sc = (Math.abs(sN) < Ray.smallnum ? 0.0 : sN / sD); + tc = (Math.abs(tN) < Ray.smallnum ? 0.0 : tN / tD); + // get the difference of the two closest points + var qtc = v.multiplyByFloats(tc, tc, tc); + var dP = w.add(u.multiplyByFloats(sc, sc, sc)).subtract(qtc); // = S1(sc) - S2(tc) + var isIntersected = (tc > 0) && (tc <= this.length) && (dP.lengthSquared() < (threshold * threshold)); // return intersection result + if (isIntersected) { + return qtc.length(); + } + return -1; + }; + // Statics + Ray.CreateNew = function (x, y, viewportWidth, viewportHeight, world, view, projection) { + var start = BABYLON.Vector3.Unproject(new BABYLON.Vector3(x, y, 0), viewportWidth, viewportHeight, world, view, projection); + var end = BABYLON.Vector3.Unproject(new BABYLON.Vector3(x, y, 1), viewportWidth, viewportHeight, world, view, projection); + var direction = end.subtract(start); + direction.normalize(); + return new Ray(start, direction); + }; + /** + * Function will create a new transformed ray starting from origin and ending at the end point. Ray's length will be set, and ray will be + * transformed to the given world matrix. + * @param origin The origin point + * @param end The end point + * @param world a matrix to transform the ray to. Default is the identity matrix. + */ + Ray.CreateNewFromTo = function (origin, end, world) { + if (world === void 0) { world = BABYLON.Matrix.Identity(); } + var direction = end.subtract(origin); + var length = Math.sqrt((direction.x * direction.x) + (direction.y * direction.y) + (direction.z * direction.z)); + direction.normalize(); + return Ray.Transform(new Ray(origin, direction, length), world); + }; + Ray.Transform = function (ray, matrix) { + var newOrigin = BABYLON.Vector3.TransformCoordinates(ray.origin, matrix); + var newDirection = BABYLON.Vector3.TransformNormal(ray.direction, matrix); + newDirection.normalize(); + return new Ray(newOrigin, newDirection, ray.length); + }; + Ray.TransformToRef = function (ray, matrix, result) { + BABYLON.Vector3.TransformCoordinatesToRef(ray.origin, matrix, result.origin); + BABYLON.Vector3.TransformNormalToRef(ray.direction, matrix, result.direction); + ray.direction.normalize(); + }; + Ray.smallnum = 0.00000001; + Ray.rayl = 10e8; + return Ray; + }()); + BABYLON.Ray = Ray; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.ray.js.map + + +var BABYLON; +(function (BABYLON) { + var AbstractMesh = (function (_super) { + __extends(AbstractMesh, _super); + // Constructor + function AbstractMesh(name, scene) { + var _this = this; + _super.call(this, name, scene); + // Events + /** + * An event triggered when this mesh collides with another one + * @type {BABYLON.Observable} + */ + this.onCollideObservable = new BABYLON.Observable(); + /** + * An event triggered when the collision's position changes + * @type {BABYLON.Observable} + */ + this.onCollisionPositionChangeObservable = new BABYLON.Observable(); + /** + * An event triggered after the world matrix is updated + * @type {BABYLON.Observable} + */ + this.onAfterWorldMatrixUpdateObservable = new BABYLON.Observable(); + // Properties + this.definedFacingForward = true; // orientation for POV movement & rotation + this.position = new BABYLON.Vector3(0, 0, 0); + this._rotation = new BABYLON.Vector3(0, 0, 0); + this._scaling = new BABYLON.Vector3(1, 1, 1); + this.billboardMode = AbstractMesh.BILLBOARDMODE_NONE; + this.visibility = 1.0; + this.alphaIndex = Number.MAX_VALUE; + this.infiniteDistance = false; + this.isVisible = true; + this.isPickable = true; + this.showBoundingBox = false; + this.showSubMeshesBoundingBox = false; + this.isBlocker = false; + this.renderingGroupId = 0; + this.receiveShadows = false; + this.renderOutline = false; + this.outlineColor = BABYLON.Color3.Red(); + this.outlineWidth = 0.02; + this.renderOverlay = false; + this.overlayColor = BABYLON.Color3.Red(); + this.overlayAlpha = 0.5; + this.hasVertexAlpha = false; + this.useVertexColors = true; + this.applyFog = true; + this.computeBonesUsingShaders = true; + this.scalingDeterminant = 1; + this.numBoneInfluencers = 4; + this.useOctreeForRenderingSelection = true; + this.useOctreeForPicking = true; + this.useOctreeForCollisions = true; + this.layerMask = 0x0FFFFFFF; + this.alwaysSelectAsActiveMesh = false; + // Collisions + this._checkCollisions = false; + this.ellipsoid = new BABYLON.Vector3(0.5, 1, 0.5); + this.ellipsoidOffset = new BABYLON.Vector3(0, 0, 0); + this._collider = new BABYLON.Collider(); + this._oldPositionForCollisions = new BABYLON.Vector3(0, 0, 0); + this._diffPositionForCollisions = new BABYLON.Vector3(0, 0, 0); + this._newPositionForCollisions = new BABYLON.Vector3(0, 0, 0); + // Edges + this.edgesWidth = 1; + this.edgesColor = new BABYLON.Color4(1, 0, 0, 1); + // Cache + this._localWorld = BABYLON.Matrix.Zero(); + this._worldMatrix = BABYLON.Matrix.Zero(); + this._rotateYByPI = BABYLON.Matrix.RotationY(Math.PI); + this._absolutePosition = BABYLON.Vector3.Zero(); + this._collisionsTransformMatrix = BABYLON.Matrix.Zero(); + this._collisionsScalingMatrix = BABYLON.Matrix.Zero(); + this._isDirty = false; + this._pivotMatrix = BABYLON.Matrix.Identity(); + this._isDisposed = false; + this._renderId = 0; + this._intersectionsInProgress = new Array(); + this._isWorldMatrixFrozen = false; + this._unIndexed = false; + this._onCollisionPositionChange = function (collisionId, newPosition, collidedMesh) { + if (collidedMesh === void 0) { collidedMesh = null; } + //TODO move this to the collision coordinator! + if (_this.getScene().workerCollisions) + newPosition.multiplyInPlace(_this._collider.radius); + newPosition.subtractToRef(_this._oldPositionForCollisions, _this._diffPositionForCollisions); + if (_this._diffPositionForCollisions.length() > BABYLON.Engine.CollisionsEpsilon) { + _this.position.addInPlace(_this._diffPositionForCollisions); + } + if (collidedMesh) { + _this.onCollideObservable.notifyObservers(collidedMesh); + } + _this.onCollisionPositionChangeObservable.notifyObservers(_this.position); + }; + scene.addMesh(this); + } + Object.defineProperty(AbstractMesh, "BILLBOARDMODE_NONE", { + get: function () { + return AbstractMesh._BILLBOARDMODE_NONE; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(AbstractMesh, "BILLBOARDMODE_X", { + get: function () { + return AbstractMesh._BILLBOARDMODE_X; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(AbstractMesh, "BILLBOARDMODE_Y", { + get: function () { + return AbstractMesh._BILLBOARDMODE_Y; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(AbstractMesh, "BILLBOARDMODE_Z", { + get: function () { + return AbstractMesh._BILLBOARDMODE_Z; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(AbstractMesh, "BILLBOARDMODE_ALL", { + get: function () { + return AbstractMesh._BILLBOARDMODE_ALL; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(AbstractMesh.prototype, "onCollide", { + set: function (callback) { + if (this._onCollideObserver) { + this.onCollideObservable.remove(this._onCollideObserver); + } + this._onCollideObserver = this.onCollideObservable.add(callback); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(AbstractMesh.prototype, "onCollisionPositionChange", { + set: function (callback) { + if (this._onCollisionPositionChangeObserver) { + this.onCollisionPositionChangeObservable.remove(this._onCollisionPositionChangeObserver); + } + this._onCollisionPositionChangeObserver = this.onCollisionPositionChangeObservable.add(callback); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(AbstractMesh.prototype, "skeleton", { + get: function () { + return this._skeleton; + }, + set: function (value) { + if (this._skeleton && this._skeleton.needInitialSkinMatrix) { + this._skeleton._unregisterMeshWithPoseMatrix(this); + } + if (value && value.needInitialSkinMatrix) { + value._registerMeshWithPoseMatrix(this); + } + this._skeleton = value; + if (!this._skeleton) { + this._bonesTransformMatrices = null; + } + }, + enumerable: true, + configurable: true + }); + /** + * @param {boolean} fullDetails - support for multiple levels of logging within scene loading + */ + AbstractMesh.prototype.toString = function (fullDetails) { + var ret = "Name: " + this.name + ", isInstance: " + (this instanceof BABYLON.InstancedMesh ? "YES" : "NO"); + ret += ", # of submeshes: " + (this.subMeshes ? this.subMeshes.length : 0); + if (this._skeleton) { + ret += ", skeleton: " + this._skeleton.name; + } + if (fullDetails) { + ret += ", billboard mode: " + (["NONE", "X", "Y", null, "Z", null, null, "ALL"])[this.billboardMode]; + ret += ", freeze wrld mat: " + (this._isWorldMatrixFrozen || this._waitingFreezeWorldMatrix ? "YES" : "NO"); + } + return ret; + }; + Object.defineProperty(AbstractMesh.prototype, "rotation", { + /** + * Getting the rotation object. + * If rotation quaternion is set, this vector will (almost always) be the Zero vector! + */ + get: function () { + return this._rotation; + }, + set: function (newRotation) { + this._rotation = newRotation; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(AbstractMesh.prototype, "scaling", { + get: function () { + return this._scaling; + }, + set: function (newScaling) { + this._scaling = newScaling; + if (this.physicsImpostor) { + this.physicsImpostor.forceUpdate(); + } + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(AbstractMesh.prototype, "rotationQuaternion", { + get: function () { + return this._rotationQuaternion; + }, + set: function (quaternion) { + this._rotationQuaternion = quaternion; + //reset the rotation vector. + if (quaternion && this.rotation.length()) { + this.rotation.copyFromFloats(0, 0, 0); + } + }, + enumerable: true, + configurable: true + }); + // Methods + AbstractMesh.prototype.updatePoseMatrix = function (matrix) { + this._poseMatrix.copyFrom(matrix); + }; + AbstractMesh.prototype.getPoseMatrix = function () { + return this._poseMatrix; + }; + AbstractMesh.prototype.disableEdgesRendering = function () { + if (this._edgesRenderer !== undefined) { + this._edgesRenderer.dispose(); + this._edgesRenderer = undefined; + } + }; + AbstractMesh.prototype.enableEdgesRendering = function (epsilon, checkVerticesInsteadOfIndices) { + if (epsilon === void 0) { epsilon = 0.95; } + if (checkVerticesInsteadOfIndices === void 0) { checkVerticesInsteadOfIndices = false; } + this.disableEdgesRendering(); + this._edgesRenderer = new BABYLON.EdgesRenderer(this, epsilon, checkVerticesInsteadOfIndices); + }; + Object.defineProperty(AbstractMesh.prototype, "isBlocked", { + get: function () { + return false; + }, + enumerable: true, + configurable: true + }); + AbstractMesh.prototype.getLOD = function (camera) { + return this; + }; + AbstractMesh.prototype.getTotalVertices = function () { + return 0; + }; + AbstractMesh.prototype.getIndices = function () { + return null; + }; + AbstractMesh.prototype.getVerticesData = function (kind) { + return null; + }; + AbstractMesh.prototype.isVerticesDataPresent = function (kind) { + return false; + }; + AbstractMesh.prototype.getBoundingInfo = function () { + if (this._masterMesh) { + return this._masterMesh.getBoundingInfo(); + } + if (!this._boundingInfo) { + this._updateBoundingInfo(); + } + return this._boundingInfo; + }; + AbstractMesh.prototype.setBoundingInfo = function (boundingInfo) { + this._boundingInfo = boundingInfo; + }; + Object.defineProperty(AbstractMesh.prototype, "useBones", { + get: function () { + return this.skeleton && this.getScene().skeletonsEnabled && this.isVerticesDataPresent(BABYLON.VertexBuffer.MatricesIndicesKind) && this.isVerticesDataPresent(BABYLON.VertexBuffer.MatricesWeightsKind); + }, + enumerable: true, + configurable: true + }); + AbstractMesh.prototype._preActivate = function () { + }; + AbstractMesh.prototype._preActivateForIntermediateRendering = function (renderId) { + }; + AbstractMesh.prototype._activate = function (renderId) { + this._renderId = renderId; + }; + AbstractMesh.prototype.getWorldMatrix = function () { + if (this._masterMesh) { + return this._masterMesh.getWorldMatrix(); + } + if (this._currentRenderId !== this.getScene().getRenderId()) { + this.computeWorldMatrix(); + } + return this._worldMatrix; + }; + Object.defineProperty(AbstractMesh.prototype, "worldMatrixFromCache", { + get: function () { + return this._worldMatrix; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(AbstractMesh.prototype, "absolutePosition", { + get: function () { + return this._absolutePosition; + }, + enumerable: true, + configurable: true + }); + AbstractMesh.prototype.freezeWorldMatrix = function () { + this._isWorldMatrixFrozen = false; // no guarantee world is not already frozen, switch off temporarily + this.computeWorldMatrix(true); + this._isWorldMatrixFrozen = true; + }; + AbstractMesh.prototype.unfreezeWorldMatrix = function () { + this._isWorldMatrixFrozen = false; + this.computeWorldMatrix(true); + }; + Object.defineProperty(AbstractMesh.prototype, "isWorldMatrixFrozen", { + get: function () { + return this._isWorldMatrixFrozen; + }, + enumerable: true, + configurable: true + }); + AbstractMesh.prototype.rotate = function (axis, amount, space) { + axis.normalize(); + if (!this.rotationQuaternion) { + this.rotationQuaternion = BABYLON.Quaternion.RotationYawPitchRoll(this.rotation.y, this.rotation.x, this.rotation.z); + this.rotation = BABYLON.Vector3.Zero(); + } + var rotationQuaternion; + if (!space || space === BABYLON.Space.LOCAL) { + rotationQuaternion = BABYLON.Quaternion.RotationAxisToRef(axis, amount, AbstractMesh._rotationAxisCache); + this.rotationQuaternion.multiplyToRef(rotationQuaternion, this.rotationQuaternion); + } + else { + if (this.parent) { + var invertParentWorldMatrix = this.parent.getWorldMatrix().clone(); + invertParentWorldMatrix.invert(); + axis = BABYLON.Vector3.TransformNormal(axis, invertParentWorldMatrix); + } + rotationQuaternion = BABYLON.Quaternion.RotationAxisToRef(axis, amount, AbstractMesh._rotationAxisCache); + rotationQuaternion.multiplyToRef(this.rotationQuaternion, this.rotationQuaternion); + } + }; + AbstractMesh.prototype.translate = function (axis, distance, space) { + var displacementVector = axis.scale(distance); + if (!space || space === BABYLON.Space.LOCAL) { + var tempV3 = this.getPositionExpressedInLocalSpace().add(displacementVector); + this.setPositionWithLocalVector(tempV3); + } + else { + this.setAbsolutePosition(this.getAbsolutePosition().add(displacementVector)); + } + }; + AbstractMesh.prototype.getAbsolutePosition = function () { + this.computeWorldMatrix(); + return this._absolutePosition; + }; + AbstractMesh.prototype.setAbsolutePosition = function (absolutePosition) { + if (!absolutePosition) { + return; + } + var absolutePositionX; + var absolutePositionY; + var absolutePositionZ; + if (absolutePosition.x === undefined) { + if (arguments.length < 3) { + return; + } + absolutePositionX = arguments[0]; + absolutePositionY = arguments[1]; + absolutePositionZ = arguments[2]; + } + else { + absolutePositionX = absolutePosition.x; + absolutePositionY = absolutePosition.y; + absolutePositionZ = absolutePosition.z; + } + if (this.parent) { + var invertParentWorldMatrix = this.parent.getWorldMatrix().clone(); + invertParentWorldMatrix.invert(); + var worldPosition = new BABYLON.Vector3(absolutePositionX, absolutePositionY, absolutePositionZ); + this.position = BABYLON.Vector3.TransformCoordinates(worldPosition, invertParentWorldMatrix); + } + else { + this.position.x = absolutePositionX; + this.position.y = absolutePositionY; + this.position.z = absolutePositionZ; + } + }; + // ================================== Point of View Movement ================================= + /** + * Perform relative position change from the point of view of behind the front of the mesh. + * This is performed taking into account the meshes current rotation, so you do not have to care. + * Supports definition of mesh facing forward or backward. + * @param {number} amountRight + * @param {number} amountUp + * @param {number} amountForward + */ + AbstractMesh.prototype.movePOV = function (amountRight, amountUp, amountForward) { + this.position.addInPlace(this.calcMovePOV(amountRight, amountUp, amountForward)); + }; + /** + * Calculate relative position change from the point of view of behind the front of the mesh. + * This is performed taking into account the meshes current rotation, so you do not have to care. + * Supports definition of mesh facing forward or backward. + * @param {number} amountRight + * @param {number} amountUp + * @param {number} amountForward + */ + AbstractMesh.prototype.calcMovePOV = function (amountRight, amountUp, amountForward) { + var rotMatrix = new BABYLON.Matrix(); + var rotQuaternion = (this.rotationQuaternion) ? this.rotationQuaternion : BABYLON.Quaternion.RotationYawPitchRoll(this.rotation.y, this.rotation.x, this.rotation.z); + rotQuaternion.toRotationMatrix(rotMatrix); + var translationDelta = BABYLON.Vector3.Zero(); + var defForwardMult = this.definedFacingForward ? -1 : 1; + BABYLON.Vector3.TransformCoordinatesFromFloatsToRef(amountRight * defForwardMult, amountUp, amountForward * defForwardMult, rotMatrix, translationDelta); + return translationDelta; + }; + // ================================== Point of View Rotation ================================= + /** + * Perform relative rotation change from the point of view of behind the front of the mesh. + * Supports definition of mesh facing forward or backward. + * @param {number} flipBack + * @param {number} twirlClockwise + * @param {number} tiltRight + */ + AbstractMesh.prototype.rotatePOV = function (flipBack, twirlClockwise, tiltRight) { + this.rotation.addInPlace(this.calcRotatePOV(flipBack, twirlClockwise, tiltRight)); + }; + /** + * Calculate relative rotation change from the point of view of behind the front of the mesh. + * Supports definition of mesh facing forward or backward. + * @param {number} flipBack + * @param {number} twirlClockwise + * @param {number} tiltRight + */ + AbstractMesh.prototype.calcRotatePOV = function (flipBack, twirlClockwise, tiltRight) { + var defForwardMult = this.definedFacingForward ? 1 : -1; + return new BABYLON.Vector3(flipBack * defForwardMult, twirlClockwise, tiltRight * defForwardMult); + }; + AbstractMesh.prototype.setPivotMatrix = function (matrix) { + this._pivotMatrix = matrix; + this._cache.pivotMatrixUpdated = true; + }; + AbstractMesh.prototype.getPivotMatrix = function () { + return this._pivotMatrix; + }; + AbstractMesh.prototype._isSynchronized = function () { + if (this._isDirty) { + return false; + } + if (this.billboardMode !== this._cache.billboardMode || this.billboardMode !== AbstractMesh.BILLBOARDMODE_NONE) + return false; + if (this._cache.pivotMatrixUpdated) { + return false; + } + if (this.infiniteDistance) { + return false; + } + if (!this._cache.position.equals(this.position)) + return false; + if (this.rotationQuaternion) { + if (!this._cache.rotationQuaternion.equals(this.rotationQuaternion)) + return false; + } + if (!this._cache.rotation.equals(this.rotation)) + return false; + if (!this._cache.scaling.equals(this.scaling)) + return false; + return true; + }; + AbstractMesh.prototype._initCache = function () { + _super.prototype._initCache.call(this); + this._cache.localMatrixUpdated = false; + this._cache.position = BABYLON.Vector3.Zero(); + this._cache.scaling = BABYLON.Vector3.Zero(); + this._cache.rotation = BABYLON.Vector3.Zero(); + this._cache.rotationQuaternion = new BABYLON.Quaternion(0, 0, 0, 0); + this._cache.billboardMode = -1; + }; + AbstractMesh.prototype.markAsDirty = function (property) { + if (property === "rotation") { + this.rotationQuaternion = null; + } + this._currentRenderId = Number.MAX_VALUE; + this._isDirty = true; + }; + AbstractMesh.prototype._updateBoundingInfo = function () { + this._boundingInfo = this._boundingInfo || new BABYLON.BoundingInfo(this.absolutePosition, this.absolutePosition); + this._boundingInfo.update(this.worldMatrixFromCache); + this._updateSubMeshesBoundingInfo(this.worldMatrixFromCache); + }; + AbstractMesh.prototype._updateSubMeshesBoundingInfo = function (matrix) { + if (!this.subMeshes) { + return; + } + for (var subIndex = 0; subIndex < this.subMeshes.length; subIndex++) { + var subMesh = this.subMeshes[subIndex]; + if (!subMesh.IsGlobal) { + subMesh.updateBoundingInfo(matrix); + } + } + }; + AbstractMesh.prototype.computeWorldMatrix = function (force) { + if (this._isWorldMatrixFrozen) { + return this._worldMatrix; + } + if (!force && (this._currentRenderId === this.getScene().getRenderId() || this.isSynchronized(true))) { + this._currentRenderId = this.getScene().getRenderId(); + return this._worldMatrix; + } + this._cache.position.copyFrom(this.position); + this._cache.scaling.copyFrom(this.scaling); + this._cache.pivotMatrixUpdated = false; + this._cache.billboardMode = this.billboardMode; + this._currentRenderId = this.getScene().getRenderId(); + this._isDirty = false; + // Scaling + BABYLON.Matrix.ScalingToRef(this.scaling.x * this.scalingDeterminant, this.scaling.y * this.scalingDeterminant, this.scaling.z * this.scalingDeterminant, BABYLON.Tmp.Matrix[1]); + // Rotation + //rotate, if quaternion is set and rotation was used + if (this.rotationQuaternion) { + var len = this.rotation.length(); + if (len) { + this.rotationQuaternion.multiplyInPlace(BABYLON.Quaternion.RotationYawPitchRoll(this.rotation.y, this.rotation.x, this.rotation.z)); + this.rotation.copyFromFloats(0, 0, 0); + } + } + if (this.rotationQuaternion) { + this.rotationQuaternion.toRotationMatrix(BABYLON.Tmp.Matrix[0]); + this._cache.rotationQuaternion.copyFrom(this.rotationQuaternion); + } + else { + BABYLON.Matrix.RotationYawPitchRollToRef(this.rotation.y, this.rotation.x, this.rotation.z, BABYLON.Tmp.Matrix[0]); + this._cache.rotation.copyFrom(this.rotation); + } + // Translation + if (this.infiniteDistance && !this.parent) { + var camera = this.getScene().activeCamera; + if (camera) { + var cameraWorldMatrix = camera.getWorldMatrix(); + var cameraGlobalPosition = new BABYLON.Vector3(cameraWorldMatrix.m[12], cameraWorldMatrix.m[13], cameraWorldMatrix.m[14]); + BABYLON.Matrix.TranslationToRef(this.position.x + cameraGlobalPosition.x, this.position.y + cameraGlobalPosition.y, this.position.z + cameraGlobalPosition.z, BABYLON.Tmp.Matrix[2]); + } + } + else { + BABYLON.Matrix.TranslationToRef(this.position.x, this.position.y, this.position.z, BABYLON.Tmp.Matrix[2]); + } + // Composing transformations + this._pivotMatrix.multiplyToRef(BABYLON.Tmp.Matrix[1], BABYLON.Tmp.Matrix[4]); + BABYLON.Tmp.Matrix[4].multiplyToRef(BABYLON.Tmp.Matrix[0], BABYLON.Tmp.Matrix[5]); + // Billboarding + if (this.billboardMode !== AbstractMesh.BILLBOARDMODE_NONE && this.getScene().activeCamera) { + BABYLON.Tmp.Vector3[0].copyFrom(this.position); + var localPosition = BABYLON.Tmp.Vector3[0]; + if (this.parent && this.parent.getWorldMatrix) { + this._markSyncedWithParent(); + var parentMatrix; + if (this._meshToBoneReferal) { + this.parent.getWorldMatrix().multiplyToRef(this._meshToBoneReferal.getWorldMatrix(), BABYLON.Tmp.Matrix[6]); + parentMatrix = BABYLON.Tmp.Matrix[6]; + } + else { + parentMatrix = this.parent.getWorldMatrix(); + } + BABYLON.Vector3.TransformNormalToRef(localPosition, parentMatrix, BABYLON.Tmp.Vector3[1]); + localPosition = BABYLON.Tmp.Vector3[1]; + } + var zero = this.getScene().activeCamera.globalPosition.clone(); + if (this.parent && this.parent.position) { + localPosition.addInPlace(this.parent.position); + BABYLON.Matrix.TranslationToRef(localPosition.x, localPosition.y, localPosition.z, BABYLON.Tmp.Matrix[2]); + } + if ((this.billboardMode & AbstractMesh.BILLBOARDMODE_ALL) !== AbstractMesh.BILLBOARDMODE_ALL) { + if (this.billboardMode & AbstractMesh.BILLBOARDMODE_X) + zero.x = localPosition.x + BABYLON.Epsilon; + if (this.billboardMode & AbstractMesh.BILLBOARDMODE_Y) + zero.y = localPosition.y + BABYLON.Epsilon; + if (this.billboardMode & AbstractMesh.BILLBOARDMODE_Z) + zero.z = localPosition.z + BABYLON.Epsilon; + } + BABYLON.Matrix.LookAtLHToRef(localPosition, zero, BABYLON.Vector3.Up(), BABYLON.Tmp.Matrix[3]); + BABYLON.Tmp.Matrix[3].m[12] = BABYLON.Tmp.Matrix[3].m[13] = BABYLON.Tmp.Matrix[3].m[14] = 0; + BABYLON.Tmp.Matrix[3].invert(); + BABYLON.Tmp.Matrix[5].multiplyToRef(BABYLON.Tmp.Matrix[3], this._localWorld); + this._rotateYByPI.multiplyToRef(this._localWorld, BABYLON.Tmp.Matrix[5]); + } + // Local world + BABYLON.Tmp.Matrix[5].multiplyToRef(BABYLON.Tmp.Matrix[2], this._localWorld); + // Parent + if (this.parent && this.parent.getWorldMatrix && this.billboardMode === AbstractMesh.BILLBOARDMODE_NONE) { + this._markSyncedWithParent(); + if (this._meshToBoneReferal) { + this._localWorld.multiplyToRef(this.parent.getWorldMatrix(), BABYLON.Tmp.Matrix[6]); + BABYLON.Tmp.Matrix[6].multiplyToRef(this._meshToBoneReferal.getWorldMatrix(), this._worldMatrix); + } + else { + this._localWorld.multiplyToRef(this.parent.getWorldMatrix(), this._worldMatrix); + } + } + else { + this._worldMatrix.copyFrom(this._localWorld); + } + // Bounding info + this._updateBoundingInfo(); + // Absolute position + this._absolutePosition.copyFromFloats(this._worldMatrix.m[12], this._worldMatrix.m[13], this._worldMatrix.m[14]); + // Callbacks + this.onAfterWorldMatrixUpdateObservable.notifyObservers(this); + if (!this._poseMatrix) { + this._poseMatrix = BABYLON.Matrix.Invert(this._worldMatrix); + } + return this._worldMatrix; + }; + /** + * If you'd like to be callbacked after the mesh position, rotation or scaling has been updated + * @param func: callback function to add + */ + AbstractMesh.prototype.registerAfterWorldMatrixUpdate = function (func) { + this.onAfterWorldMatrixUpdateObservable.add(func); + }; + AbstractMesh.prototype.unregisterAfterWorldMatrixUpdate = function (func) { + this.onAfterWorldMatrixUpdateObservable.removeCallback(func); + }; + AbstractMesh.prototype.setPositionWithLocalVector = function (vector3) { + this.computeWorldMatrix(); + this.position = BABYLON.Vector3.TransformNormal(vector3, this._localWorld); + }; + AbstractMesh.prototype.getPositionExpressedInLocalSpace = function () { + this.computeWorldMatrix(); + var invLocalWorldMatrix = this._localWorld.clone(); + invLocalWorldMatrix.invert(); + return BABYLON.Vector3.TransformNormal(this.position, invLocalWorldMatrix); + }; + AbstractMesh.prototype.locallyTranslate = function (vector3) { + this.computeWorldMatrix(true); + this.position = BABYLON.Vector3.TransformCoordinates(vector3, this._localWorld); + }; + AbstractMesh.prototype.lookAt = function (targetPoint, yawCor, pitchCor, rollCor, space) { + /// Orients a mesh towards a target point. Mesh must be drawn facing user. + /// The position (must be in same space as current mesh) to look at + /// optional yaw (y-axis) correction in radians + /// optional pitch (x-axis) correction in radians + /// optional roll (z-axis) correction in radians + /// Mesh oriented towards targetMesh + if (yawCor === void 0) { yawCor = 0; } + if (pitchCor === void 0) { pitchCor = 0; } + if (rollCor === void 0) { rollCor = 0; } + if (space === void 0) { space = BABYLON.Space.LOCAL; } + var dv = AbstractMesh._lookAtVectorCache; + var pos = space === BABYLON.Space.LOCAL ? this.position : this.getAbsolutePosition(); + targetPoint.subtractToRef(pos, dv); + var yaw = -Math.atan2(dv.z, dv.x) - Math.PI / 2; + var len = Math.sqrt(dv.x * dv.x + dv.z * dv.z); + var pitch = Math.atan2(dv.y, len); + this.rotationQuaternion = this.rotationQuaternion || new BABYLON.Quaternion(); + BABYLON.Quaternion.RotationYawPitchRollToRef(yaw + yawCor, pitch + pitchCor, rollCor, this.rotationQuaternion); + }; + AbstractMesh.prototype.attachToBone = function (bone, affectedMesh) { + this._meshToBoneReferal = affectedMesh; + this.parent = bone; + if (bone.getWorldMatrix().determinant() < 0) { + this.scalingDeterminant *= -1; + } + }; + AbstractMesh.prototype.detachFromBone = function () { + if (this.parent.getWorldMatrix().determinant() < 0) { + this.scalingDeterminant *= -1; + } + this._meshToBoneReferal = null; + this.parent = null; + }; + AbstractMesh.prototype.isInFrustum = function (frustumPlanes) { + return this._boundingInfo.isInFrustum(frustumPlanes); + }; + AbstractMesh.prototype.isCompletelyInFrustum = function (frustumPlanes) { + return this._boundingInfo.isCompletelyInFrustum(frustumPlanes); + ; + }; + AbstractMesh.prototype.intersectsMesh = function (mesh, precise) { + if (!this._boundingInfo || !mesh._boundingInfo) { + return false; + } + return this._boundingInfo.intersects(mesh._boundingInfo, precise); + }; + AbstractMesh.prototype.intersectsPoint = function (point) { + if (!this._boundingInfo) { + return false; + } + return this._boundingInfo.intersectsPoint(point); + }; + // Physics + /** + * @Deprecated. Use new PhysicsImpostor instead. + * */ + AbstractMesh.prototype.setPhysicsState = function (impostor, options) { + //legacy support + if (impostor.impostor) { + options = impostor; + impostor = impostor.impostor; + } + this.physicsImpostor = new BABYLON.PhysicsImpostor(this, impostor, options, this.getScene()); + return this.physicsImpostor.physicsBody; + }; + AbstractMesh.prototype.getPhysicsImpostor = function () { + return this.physicsImpostor; + }; + /** + * @Deprecated. Use getPhysicsImpostor().getParam("mass"); + */ + AbstractMesh.prototype.getPhysicsMass = function () { + return this.physicsImpostor.getParam("mass"); + }; + /** + * @Deprecated. Use getPhysicsImpostor().getParam("friction"); + */ + AbstractMesh.prototype.getPhysicsFriction = function () { + return this.physicsImpostor.getParam("friction"); + }; + /** + * @Deprecated. Use getPhysicsImpostor().getParam("restitution"); + */ + AbstractMesh.prototype.getPhysicsRestitution = function () { + return this.physicsImpostor.getParam("restitution"); + }; + AbstractMesh.prototype.getPositionInCameraSpace = function (camera) { + if (!camera) { + camera = this.getScene().activeCamera; + } + return BABYLON.Vector3.TransformCoordinates(this.absolutePosition, camera.getViewMatrix()); + }; + AbstractMesh.prototype.getDistanceToCamera = function (camera) { + if (!camera) { + camera = this.getScene().activeCamera; + } + return this.absolutePosition.subtract(camera.position).length(); + }; + AbstractMesh.prototype.applyImpulse = function (force, contactPoint) { + if (!this.physicsImpostor) { + return; + } + this.physicsImpostor.applyImpulse(force, contactPoint); + }; + AbstractMesh.prototype.setPhysicsLinkWith = function (otherMesh, pivot1, pivot2, options) { + if (!this.physicsImpostor || !otherMesh.physicsImpostor) { + return; + } + this.physicsImpostor.createJoint(otherMesh.physicsImpostor, BABYLON.PhysicsJoint.HingeJoint, { + mainPivot: pivot1, + connectedPivot: pivot2, + nativeParams: options + }); + }; + /** + * @Deprecated + */ + AbstractMesh.prototype.updatePhysicsBodyPosition = function () { + BABYLON.Tools.Warn("updatePhysicsBodyPosition() is deprecated, please use updatePhysicsBody()"); + this.updatePhysicsBody(); + }; + /** + * @Deprecated + * Calling this function is not needed anymore. + * The physics engine takes care of transofmration automatically. + */ + AbstractMesh.prototype.updatePhysicsBody = function () { + //Unneeded + }; + Object.defineProperty(AbstractMesh.prototype, "checkCollisions", { + // Collisions + get: function () { + return this._checkCollisions; + }, + set: function (collisionEnabled) { + this._checkCollisions = collisionEnabled; + if (this.getScene().workerCollisions) { + this.getScene().collisionCoordinator.onMeshUpdated(this); + } + }, + enumerable: true, + configurable: true + }); + AbstractMesh.prototype.moveWithCollisions = function (velocity) { + var globalPosition = this.getAbsolutePosition(); + globalPosition.subtractFromFloatsToRef(0, this.ellipsoid.y, 0, this._oldPositionForCollisions); + this._oldPositionForCollisions.addInPlace(this.ellipsoidOffset); + this._collider.radius = this.ellipsoid; + this.getScene().collisionCoordinator.getNewPosition(this._oldPositionForCollisions, velocity, this._collider, 3, this, this._onCollisionPositionChange, this.uniqueId); + }; + // Submeshes octree + /** + * This function will create an octree to help select the right submeshes for rendering, picking and collisions + * Please note that you must have a decent number of submeshes to get performance improvements when using octree + */ + AbstractMesh.prototype.createOrUpdateSubmeshesOctree = function (maxCapacity, maxDepth) { + if (maxCapacity === void 0) { maxCapacity = 64; } + if (maxDepth === void 0) { maxDepth = 2; } + if (!this._submeshesOctree) { + this._submeshesOctree = new BABYLON.Octree(BABYLON.Octree.CreationFuncForSubMeshes, maxCapacity, maxDepth); + } + this.computeWorldMatrix(true); + // Update octree + var bbox = this.getBoundingInfo().boundingBox; + this._submeshesOctree.update(bbox.minimumWorld, bbox.maximumWorld, this.subMeshes); + return this._submeshesOctree; + }; + // Collisions + AbstractMesh.prototype._collideForSubMesh = function (subMesh, transformMatrix, collider) { + this._generatePointsArray(); + // Transformation + if (!subMesh._lastColliderWorldVertices || !subMesh._lastColliderTransformMatrix.equals(transformMatrix)) { + subMesh._lastColliderTransformMatrix = transformMatrix.clone(); + subMesh._lastColliderWorldVertices = []; + subMesh._trianglePlanes = []; + var start = subMesh.verticesStart; + var end = (subMesh.verticesStart + subMesh.verticesCount); + for (var i = start; i < end; i++) { + subMesh._lastColliderWorldVertices.push(BABYLON.Vector3.TransformCoordinates(this._positions[i], transformMatrix)); + } + } + // Collide + collider._collide(subMesh._trianglePlanes, subMesh._lastColliderWorldVertices, this.getIndices(), subMesh.indexStart, subMesh.indexStart + subMesh.indexCount, subMesh.verticesStart, !!subMesh.getMaterial()); + if (collider.collisionFound) { + collider.collidedMesh = this; + } + }; + AbstractMesh.prototype._processCollisionsForSubMeshes = function (collider, transformMatrix) { + var subMeshes; + var len; + // Octrees + if (this._submeshesOctree && this.useOctreeForCollisions) { + var radius = collider.velocityWorldLength + Math.max(collider.radius.x, collider.radius.y, collider.radius.z); + var intersections = this._submeshesOctree.intersects(collider.basePointWorld, radius); + len = intersections.length; + subMeshes = intersections.data; + } + else { + subMeshes = this.subMeshes; + len = subMeshes.length; + } + for (var index = 0; index < len; index++) { + var subMesh = subMeshes[index]; + // Bounding test + if (len > 1 && !subMesh._checkCollision(collider)) + continue; + this._collideForSubMesh(subMesh, transformMatrix, collider); + } + }; + AbstractMesh.prototype._checkCollision = function (collider) { + // Bounding box test + if (!this._boundingInfo._checkCollision(collider)) + return; + // Transformation matrix + BABYLON.Matrix.ScalingToRef(1.0 / collider.radius.x, 1.0 / collider.radius.y, 1.0 / collider.radius.z, this._collisionsScalingMatrix); + this.worldMatrixFromCache.multiplyToRef(this._collisionsScalingMatrix, this._collisionsTransformMatrix); + this._processCollisionsForSubMeshes(collider, this._collisionsTransformMatrix); + }; + // Picking + AbstractMesh.prototype._generatePointsArray = function () { + return false; + }; + AbstractMesh.prototype.intersects = function (ray, fastCheck) { + var pickingInfo = new BABYLON.PickingInfo(); + if (!this.subMeshes || !this._boundingInfo || !ray.intersectsSphere(this._boundingInfo.boundingSphere) || !ray.intersectsBox(this._boundingInfo.boundingBox)) { + return pickingInfo; + } + if (!this._generatePointsArray()) { + return pickingInfo; + } + var intersectInfo = null; + // Octrees + var subMeshes; + var len; + if (this._submeshesOctree && this.useOctreeForPicking) { + var worldRay = BABYLON.Ray.Transform(ray, this.getWorldMatrix()); + var intersections = this._submeshesOctree.intersectsRay(worldRay); + len = intersections.length; + subMeshes = intersections.data; + } + else { + subMeshes = this.subMeshes; + len = subMeshes.length; + } + for (var index = 0; index < len; index++) { + var subMesh = subMeshes[index]; + // Bounding test + if (len > 1 && !subMesh.canIntersects(ray)) + continue; + var currentIntersectInfo = subMesh.intersects(ray, this._positions, this.getIndices(), fastCheck); + if (currentIntersectInfo) { + if (fastCheck || !intersectInfo || currentIntersectInfo.distance < intersectInfo.distance) { + intersectInfo = currentIntersectInfo; + intersectInfo.subMeshId = index; + if (fastCheck) { + break; + } + } + } + } + if (intersectInfo) { + // Get picked point + var world = this.getWorldMatrix(); + var worldOrigin = BABYLON.Vector3.TransformCoordinates(ray.origin, world); + var direction = ray.direction.clone(); + direction = direction.scale(intersectInfo.distance); + var worldDirection = BABYLON.Vector3.TransformNormal(direction, world); + var pickedPoint = worldOrigin.add(worldDirection); + // Return result + pickingInfo.hit = true; + pickingInfo.distance = BABYLON.Vector3.Distance(worldOrigin, pickedPoint); + pickingInfo.pickedPoint = pickedPoint; + pickingInfo.pickedMesh = this; + pickingInfo.bu = intersectInfo.bu; + pickingInfo.bv = intersectInfo.bv; + pickingInfo.faceId = intersectInfo.faceId; + pickingInfo.subMeshId = intersectInfo.subMeshId; + return pickingInfo; + } + return pickingInfo; + }; + AbstractMesh.prototype.clone = function (name, newParent, doNotCloneChildren) { + return null; + }; + AbstractMesh.prototype.releaseSubMeshes = function () { + if (this.subMeshes) { + while (this.subMeshes.length) { + this.subMeshes[0].dispose(); + } + } + else { + this.subMeshes = new Array(); + } + }; + AbstractMesh.prototype.dispose = function (doNotRecurse) { + var _this = this; + var index; + // Action manager + if (this.actionManager) { + this.actionManager.dispose(); + this.actionManager = null; + } + // Skeleton + this.skeleton = null; + // Animations + this.getScene().stopAnimation(this); + // Physics + if (this.physicsImpostor) { + this.physicsImpostor.dispose(); + } + // Intersections in progress + for (index = 0; index < this._intersectionsInProgress.length; index++) { + var other = this._intersectionsInProgress[index]; + var pos = other._intersectionsInProgress.indexOf(this); + other._intersectionsInProgress.splice(pos, 1); + } + this._intersectionsInProgress = []; + // Lights + var lights = this.getScene().lights; + lights.forEach(function (light) { + var meshIndex = light.includedOnlyMeshes.indexOf(_this); + if (meshIndex !== -1) { + light.includedOnlyMeshes.splice(meshIndex, 1); + } + meshIndex = light.excludedMeshes.indexOf(_this); + if (meshIndex !== -1) { + light.excludedMeshes.splice(meshIndex, 1); + } + // Shadow generators + var generator = light.getShadowGenerator(); + if (generator) { + meshIndex = generator.getShadowMap().renderList.indexOf(_this); + if (meshIndex !== -1) { + generator.getShadowMap().renderList.splice(meshIndex, 1); + } + } + }); + // Edges + if (this._edgesRenderer) { + this._edgesRenderer.dispose(); + this._edgesRenderer = null; + } + // SubMeshes + this.releaseSubMeshes(); + // Engine + this.getScene().getEngine().unbindAllAttributes(); + // Remove from scene + this.getScene().removeMesh(this); + if (!doNotRecurse) { + // Particles + for (index = 0; index < this.getScene().particleSystems.length; index++) { + if (this.getScene().particleSystems[index].emitter === this) { + this.getScene().particleSystems[index].dispose(); + index--; + } + } + // Children + var objects = this.getDescendants(true); + for (index = 0; index < objects.length; index++) { + objects[index].dispose(); + } + } + else { + var childMeshes = this.getChildMeshes(true); + for (index = 0; index < childMeshes.length; index++) { + var child = childMeshes[index]; + child.parent = null; + child.computeWorldMatrix(true); + } + } + this.onAfterWorldMatrixUpdateObservable.clear(); + this.onCollideObservable.clear(); + this.onCollisionPositionChangeObservable.clear(); + this._isDisposed = true; + _super.prototype.dispose.call(this); + }; + AbstractMesh.prototype.getDirection = function (localAxis) { + var result = BABYLON.Vector3.Zero(); + this.getDirectionToRef(localAxis, result); + return result; + }; + AbstractMesh.prototype.getDirectionToRef = function (localAxis, result) { + BABYLON.Vector3.TransformNormalToRef(localAxis, this.getWorldMatrix(), result); + }; + AbstractMesh.prototype.setPivotPoint = function (point, space) { + if (space === void 0) { space = BABYLON.Space.LOCAL; } + if (this.getScene().getRenderId() == 0) { + this.computeWorldMatrix(true); + } + var wm = this.getWorldMatrix(); + if (space == BABYLON.Space.WORLD) { + var tmat = BABYLON.Tmp.Matrix[0]; + wm.invertToRef(tmat); + point = BABYLON.Vector3.TransformCoordinates(point, tmat); + } + BABYLON.Vector3.TransformCoordinatesToRef(point, wm, this.position); + this._pivotMatrix.m[12] = -point.x; + this._pivotMatrix.m[13] = -point.y; + this._pivotMatrix.m[14] = -point.z; + this._cache.pivotMatrixUpdated = true; + }; + AbstractMesh.prototype.getPivotPoint = function () { + var point = BABYLON.Vector3.Zero(); + this.getPivotPointToRef(point); + return point; + }; + AbstractMesh.prototype.getPivotPointToRef = function (result) { + result.x = -this._pivotMatrix.m[12]; + result.y = -this._pivotMatrix.m[13]; + result.z = -this._pivotMatrix.m[14]; + }; + AbstractMesh.prototype.getAbsolutePivotPoint = function () { + var point = BABYLON.Vector3.Zero(); + this.getAbsolutePivotPointToRef(point); + return point; + }; + AbstractMesh.prototype.getAbsolutePivotPointToRef = function (result) { + result.x = this._pivotMatrix.m[12]; + result.y = this._pivotMatrix.m[13]; + result.z = this._pivotMatrix.m[14]; + this.getPivotPointToRef(result); + BABYLON.Vector3.TransformCoordinatesToRef(result, this.getWorldMatrix(), result); + }; + // Statics + AbstractMesh._BILLBOARDMODE_NONE = 0; + AbstractMesh._BILLBOARDMODE_X = 1; + AbstractMesh._BILLBOARDMODE_Y = 2; + AbstractMesh._BILLBOARDMODE_Z = 4; + AbstractMesh._BILLBOARDMODE_ALL = 7; + AbstractMesh._rotationAxisCache = new BABYLON.Quaternion(); + AbstractMesh._lookAtVectorCache = new BABYLON.Vector3(0, 0, 0); + return AbstractMesh; + }(BABYLON.Node)); + BABYLON.AbstractMesh = AbstractMesh; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.abstractMesh.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var Light = (function (_super) { + __extends(Light, _super); + function Light(name, scene) { + _super.call(this, name, scene); + this.diffuse = new BABYLON.Color3(1.0, 1.0, 1.0); + this.specular = new BABYLON.Color3(1.0, 1.0, 1.0); + this.intensity = 1.0; + this.range = Number.MAX_VALUE; + this.includeOnlyWithLayerMask = 0; + this.includedOnlyMeshes = new Array(); + this.excludedMeshes = new Array(); + this.excludeWithLayerMask = 0; + this.lightmapMode = 0; + // PBR Properties. + this.radius = 0.00001; + this._excludedMeshesIds = new Array(); + this._includedOnlyMeshesIds = new Array(); + scene.addLight(this); + } + Object.defineProperty(Light, "LIGHTMAP_DEFAULT", { + /** + * If every light affecting the material is in this lightmapMode, + * material.lightmapTexture adds or multiplies + * (depends on material.useLightmapAsShadowmap) + * after every other light calculations. + */ + get: function () { + return Light._LIGHTMAP_DEFAULT; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Light, "LIGHTMAP_SPECULAR", { + /** + * material.lightmapTexture as only diffuse lighting from this light + * adds pnly specular lighting from this light + * adds dynamic shadows + */ + get: function () { + return Light._LIGHTMAP_SPECULAR; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Light, "LIGHTMAP_SHADOWSONLY", { + /** + * material.lightmapTexture as only lighting + * no light calculation from this light + * only adds dynamic shadows from this light + */ + get: function () { + return Light._LIGHTMAP_SHADOWSONLY; + }, + enumerable: true, + configurable: true + }); + /** + * @param {boolean} fullDetails - support for multiple levels of logging within scene loading + */ + Light.prototype.toString = function (fullDetails) { + var ret = "Name: " + this.name; + ret += ", type: " + (["Point", "Directional", "Spot", "Hemispheric"])[this.getTypeID()]; + if (this.animations) { + for (var i = 0; i < this.animations.length; i++) { + ret += ", animation[0]: " + this.animations[i].toString(fullDetails); + } + } + if (fullDetails) { + } + return ret; + }; + Light.prototype.getShadowGenerator = function () { + return this._shadowGenerator; + }; + Light.prototype.getAbsolutePosition = function () { + return BABYLON.Vector3.Zero(); + }; + Light.prototype.transferToEffect = function (effect, uniformName0, uniformName1) { + }; + Light.prototype._getWorldMatrix = function () { + return BABYLON.Matrix.Identity(); + }; + Light.prototype.canAffectMesh = function (mesh) { + if (!mesh) { + return true; + } + if (this.includedOnlyMeshes.length > 0 && this.includedOnlyMeshes.indexOf(mesh) === -1) { + return false; + } + if (this.excludedMeshes.length > 0 && this.excludedMeshes.indexOf(mesh) !== -1) { + return false; + } + if (this.includeOnlyWithLayerMask !== 0 && (this.includeOnlyWithLayerMask & mesh.layerMask) === 0) { + return false; + } + if (this.excludeWithLayerMask !== 0 && this.excludeWithLayerMask & mesh.layerMask) { + return false; + } + return true; + }; + Light.prototype.getWorldMatrix = function () { + this._currentRenderId = this.getScene().getRenderId(); + var worldMatrix = this._getWorldMatrix(); + if (this.parent && this.parent.getWorldMatrix) { + if (!this._parentedWorldMatrix) { + this._parentedWorldMatrix = BABYLON.Matrix.Identity(); + } + worldMatrix.multiplyToRef(this.parent.getWorldMatrix(), this._parentedWorldMatrix); + this._markSyncedWithParent(); + return this._parentedWorldMatrix; + } + return worldMatrix; + }; + Light.prototype.dispose = function () { + if (this._shadowGenerator) { + this._shadowGenerator.dispose(); + this._shadowGenerator = null; + } + // Animations + this.getScene().stopAnimation(this); + // Remove from scene + this.getScene().removeLight(this); + _super.prototype.dispose.call(this); + }; + Light.prototype.getTypeID = function () { + return 0; + }; + Light.prototype.clone = function (name) { + return BABYLON.SerializationHelper.Clone(Light.GetConstructorFromName(this.getTypeID(), name, this.getScene()), this); + }; + Light.prototype.serialize = function () { + var serializationObject = BABYLON.SerializationHelper.Serialize(this); + // Type + serializationObject.type = this.getTypeID(); + // Parent + if (this.parent) { + serializationObject.parentId = this.parent.id; + } + // Inclusion / exclusions + if (this.excludedMeshes.length > 0) { + serializationObject.excludedMeshesIds = []; + this.excludedMeshes.forEach(function (mesh) { + serializationObject.excludedMeshesIds.push(mesh.id); + }); + } + if (this.includedOnlyMeshes.length > 0) { + serializationObject.includedOnlyMeshesIds = []; + this.includedOnlyMeshes.forEach(function (mesh) { + serializationObject.includedOnlyMeshesIds.push(mesh.id); + }); + } + // Animations + BABYLON.Animation.AppendSerializedAnimations(this, serializationObject); + serializationObject.ranges = this.serializeAnimationRanges(); + return serializationObject; + }; + Light.GetConstructorFromName = function (type, name, scene) { + switch (type) { + case 0: + return function () { return new BABYLON.PointLight(name, BABYLON.Vector3.Zero(), scene); }; + case 1: + return function () { return new BABYLON.DirectionalLight(name, BABYLON.Vector3.Zero(), scene); }; + case 2: + return function () { return new BABYLON.SpotLight(name, BABYLON.Vector3.Zero(), BABYLON.Vector3.Zero(), 0, 0, scene); }; + case 3: + return function () { return new BABYLON.HemisphericLight(name, BABYLON.Vector3.Zero(), scene); }; + } + }; + Light.Parse = function (parsedLight, scene) { + var light = BABYLON.SerializationHelper.Parse(Light.GetConstructorFromName(parsedLight.type, parsedLight.name, scene), parsedLight, scene); + // Inclusion / exclusions + if (parsedLight.excludedMeshesIds) { + light._excludedMeshesIds = parsedLight.excludedMeshesIds; + } + if (parsedLight.includedOnlyMeshesIds) { + light._includedOnlyMeshesIds = parsedLight.includedOnlyMeshesIds; + } + // Parent + if (parsedLight.parentId) { + light._waitingParentId = parsedLight.parentId; + } + // Animations + if (parsedLight.animations) { + for (var animationIndex = 0; animationIndex < parsedLight.animations.length; animationIndex++) { + var parsedAnimation = parsedLight.animations[animationIndex]; + light.animations.push(BABYLON.Animation.Parse(parsedAnimation)); + } + BABYLON.Node.ParseAnimationRanges(light, parsedLight, scene); + } + if (parsedLight.autoAnimate) { + scene.beginAnimation(light, parsedLight.autoAnimateFrom, parsedLight.autoAnimateTo, parsedLight.autoAnimateLoop, parsedLight.autoAnimateSpeed || 1.0); + } + return light; + }; + //lightmapMode Consts + Light._LIGHTMAP_DEFAULT = 0; + Light._LIGHTMAP_SPECULAR = 1; + Light._LIGHTMAP_SHADOWSONLY = 2; + __decorate([ + BABYLON.serializeAsColor3() + ], Light.prototype, "diffuse", void 0); + __decorate([ + BABYLON.serializeAsColor3() + ], Light.prototype, "specular", void 0); + __decorate([ + BABYLON.serialize() + ], Light.prototype, "intensity", void 0); + __decorate([ + BABYLON.serialize() + ], Light.prototype, "range", void 0); + __decorate([ + BABYLON.serialize() + ], Light.prototype, "includeOnlyWithLayerMask", void 0); + __decorate([ + BABYLON.serialize() + ], Light.prototype, "excludeWithLayerMask", void 0); + __decorate([ + BABYLON.serialize() + ], Light.prototype, "lightmapMode", void 0); + __decorate([ + BABYLON.serialize() + ], Light.prototype, "radius", void 0); + return Light; + }(BABYLON.Node)); + BABYLON.Light = Light; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.light.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var PointLight = (function (_super) { + __extends(PointLight, _super); + function PointLight(name, position, scene) { + _super.call(this, name, scene); + this.position = position; + } + PointLight.prototype.getAbsolutePosition = function () { + return this.transformedPosition ? this.transformedPosition : this.position; + }; + PointLight.prototype.computeTransformedPosition = function () { + if (this.parent && this.parent.getWorldMatrix) { + if (!this.transformedPosition) { + this.transformedPosition = BABYLON.Vector3.Zero(); + } + BABYLON.Vector3.TransformCoordinatesToRef(this.position, this.parent.getWorldMatrix(), this.transformedPosition); + return true; + } + return false; + }; + PointLight.prototype.transferToEffect = function (effect, positionUniformName) { + if (this.parent && this.parent.getWorldMatrix) { + this.computeTransformedPosition(); + effect.setFloat4(positionUniformName, this.transformedPosition.x, this.transformedPosition.y, this.transformedPosition.z, 0); + return; + } + effect.setFloat4(positionUniformName, this.position.x, this.position.y, this.position.z, 0); + }; + PointLight.prototype.needCube = function () { + return true; + }; + PointLight.prototype.supportsVSM = function () { + return false; + }; + PointLight.prototype.needRefreshPerFrame = function () { + return false; + }; + PointLight.prototype.getShadowDirection = function (faceIndex) { + switch (faceIndex) { + case 0: + return new BABYLON.Vector3(1, 0, 0); + case 1: + return new BABYLON.Vector3(-1, 0, 0); + case 2: + return new BABYLON.Vector3(0, -1, 0); + case 3: + return new BABYLON.Vector3(0, 1, 0); + case 4: + return new BABYLON.Vector3(0, 0, 1); + case 5: + return new BABYLON.Vector3(0, 0, -1); + } + return BABYLON.Vector3.Zero(); + }; + PointLight.prototype.setShadowProjectionMatrix = function (matrix, viewMatrix, renderList) { + var activeCamera = this.getScene().activeCamera; + BABYLON.Matrix.PerspectiveFovLHToRef(Math.PI / 2, 1.0, activeCamera.minZ, activeCamera.maxZ, matrix); + }; + PointLight.prototype._getWorldMatrix = function () { + if (!this._worldMatrix) { + this._worldMatrix = BABYLON.Matrix.Identity(); + } + BABYLON.Matrix.TranslationToRef(this.position.x, this.position.y, this.position.z, this._worldMatrix); + return this._worldMatrix; + }; + PointLight.prototype.getTypeID = function () { + return 0; + }; + __decorate([ + BABYLON.serializeAsVector3() + ], PointLight.prototype, "position", void 0); + return PointLight; + }(BABYLON.Light)); + BABYLON.PointLight = PointLight; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.pointLight.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var SpotLight = (function (_super) { + __extends(SpotLight, _super); + function SpotLight(name, position, direction, angle, exponent, scene) { + _super.call(this, name, scene); + this.position = position; + this.direction = direction; + this.angle = angle; + this.exponent = exponent; + } + SpotLight.prototype.getAbsolutePosition = function () { + return this.transformedPosition ? this.transformedPosition : this.position; + }; + SpotLight.prototype.setShadowProjectionMatrix = function (matrix, viewMatrix, renderList) { + var activeCamera = this.getScene().activeCamera; + BABYLON.Matrix.PerspectiveFovLHToRef(this.angle, 1.0, activeCamera.minZ, activeCamera.maxZ, matrix); + }; + SpotLight.prototype.needCube = function () { + return false; + }; + SpotLight.prototype.supportsVSM = function () { + return true; + }; + SpotLight.prototype.needRefreshPerFrame = function () { + return false; + }; + SpotLight.prototype.getShadowDirection = function (faceIndex) { + return this.direction; + }; + SpotLight.prototype.setDirectionToTarget = function (target) { + this.direction = BABYLON.Vector3.Normalize(target.subtract(this.position)); + return this.direction; + }; + SpotLight.prototype.computeTransformedPosition = function () { + if (this.parent && this.parent.getWorldMatrix) { + if (!this.transformedPosition) { + this.transformedPosition = BABYLON.Vector3.Zero(); + } + BABYLON.Vector3.TransformCoordinatesToRef(this.position, this.parent.getWorldMatrix(), this.transformedPosition); + return true; + } + return false; + }; + SpotLight.prototype.transferToEffect = function (effect, positionUniformName, directionUniformName) { + var normalizeDirection; + if (this.parent && this.parent.getWorldMatrix) { + if (!this._transformedDirection) { + this._transformedDirection = BABYLON.Vector3.Zero(); + } + this.computeTransformedPosition(); + BABYLON.Vector3.TransformNormalToRef(this.direction, this.parent.getWorldMatrix(), this._transformedDirection); + effect.setFloat4(positionUniformName, this.transformedPosition.x, this.transformedPosition.y, this.transformedPosition.z, this.exponent); + normalizeDirection = BABYLON.Vector3.Normalize(this._transformedDirection); + } + else { + effect.setFloat4(positionUniformName, this.position.x, this.position.y, this.position.z, this.exponent); + normalizeDirection = BABYLON.Vector3.Normalize(this.direction); + } + effect.setFloat4(directionUniformName, normalizeDirection.x, normalizeDirection.y, normalizeDirection.z, Math.cos(this.angle * 0.5)); + }; + SpotLight.prototype._getWorldMatrix = function () { + if (!this._worldMatrix) { + this._worldMatrix = BABYLON.Matrix.Identity(); + } + BABYLON.Matrix.TranslationToRef(this.position.x, this.position.y, this.position.z, this._worldMatrix); + return this._worldMatrix; + }; + SpotLight.prototype.getTypeID = function () { + return 2; + }; + SpotLight.prototype.getRotation = function () { + this.direction.normalize(); + var xaxis = BABYLON.Vector3.Cross(this.direction, BABYLON.Axis.Y); + var yaxis = BABYLON.Vector3.Cross(xaxis, this.direction); + return BABYLON.Vector3.RotationFromAxis(xaxis, yaxis, this.direction); + }; + __decorate([ + BABYLON.serializeAsVector3() + ], SpotLight.prototype, "position", void 0); + __decorate([ + BABYLON.serializeAsVector3() + ], SpotLight.prototype, "direction", void 0); + __decorate([ + BABYLON.serialize() + ], SpotLight.prototype, "angle", void 0); + __decorate([ + BABYLON.serialize() + ], SpotLight.prototype, "exponent", void 0); + return SpotLight; + }(BABYLON.Light)); + BABYLON.SpotLight = SpotLight; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.spotLight.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var HemisphericLight = (function (_super) { + __extends(HemisphericLight, _super); + function HemisphericLight(name, direction, scene) { + _super.call(this, name, scene); + this.groundColor = new BABYLON.Color3(0.0, 0.0, 0.0); + this.direction = direction; + } + HemisphericLight.prototype.setDirectionToTarget = function (target) { + this.direction = BABYLON.Vector3.Normalize(target.subtract(BABYLON.Vector3.Zero())); + return this.direction; + }; + HemisphericLight.prototype.getShadowGenerator = function () { + return null; + }; + HemisphericLight.prototype.transferToEffect = function (effect, directionUniformName, groundColorUniformName) { + var normalizeDirection = BABYLON.Vector3.Normalize(this.direction); + effect.setFloat4(directionUniformName, normalizeDirection.x, normalizeDirection.y, normalizeDirection.z, 0); + effect.setColor3(groundColorUniformName, this.groundColor.scale(this.intensity)); + }; + HemisphericLight.prototype._getWorldMatrix = function () { + if (!this._worldMatrix) { + this._worldMatrix = BABYLON.Matrix.Identity(); + } + return this._worldMatrix; + }; + HemisphericLight.prototype.getTypeID = function () { + return 3; + }; + __decorate([ + BABYLON.serializeAsColor3() + ], HemisphericLight.prototype, "groundColor", void 0); + __decorate([ + BABYLON.serializeAsVector3() + ], HemisphericLight.prototype, "direction", void 0); + return HemisphericLight; + }(BABYLON.Light)); + BABYLON.HemisphericLight = HemisphericLight; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.hemisphericLight.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var DirectionalLight = (function (_super) { + __extends(DirectionalLight, _super); + function DirectionalLight(name, direction, scene) { + _super.call(this, name, scene); + this.shadowOrthoScale = 0.5; + this.autoUpdateExtends = true; + // Cache + this._orthoLeft = Number.MAX_VALUE; + this._orthoRight = Number.MIN_VALUE; + this._orthoTop = Number.MIN_VALUE; + this._orthoBottom = Number.MAX_VALUE; + this.position = direction.scale(-1); + this.direction = direction; + } + DirectionalLight.prototype.getAbsolutePosition = function () { + return this.transformedPosition ? this.transformedPosition : this.position; + }; + DirectionalLight.prototype.setDirectionToTarget = function (target) { + this.direction = BABYLON.Vector3.Normalize(target.subtract(this.position)); + return this.direction; + }; + DirectionalLight.prototype.setShadowProjectionMatrix = function (matrix, viewMatrix, renderList) { + var activeCamera = this.getScene().activeCamera; + // Check extends + if (this.autoUpdateExtends || this._orthoLeft === Number.MAX_VALUE) { + var tempVector3 = BABYLON.Vector3.Zero(); + this._orthoLeft = Number.MAX_VALUE; + this._orthoRight = Number.MIN_VALUE; + this._orthoTop = Number.MIN_VALUE; + this._orthoBottom = Number.MAX_VALUE; + for (var meshIndex = 0; meshIndex < renderList.length; meshIndex++) { + var mesh = renderList[meshIndex]; + if (!mesh) { + continue; + } + var boundingInfo = mesh.getBoundingInfo(); + if (!boundingInfo) { + continue; + } + var boundingBox = boundingInfo.boundingBox; + for (var index = 0; index < boundingBox.vectorsWorld.length; index++) { + BABYLON.Vector3.TransformCoordinatesToRef(boundingBox.vectorsWorld[index], viewMatrix, tempVector3); + if (tempVector3.x < this._orthoLeft) + this._orthoLeft = tempVector3.x; + if (tempVector3.y < this._orthoBottom) + this._orthoBottom = tempVector3.y; + if (tempVector3.x > this._orthoRight) + this._orthoRight = tempVector3.x; + if (tempVector3.y > this._orthoTop) + this._orthoTop = tempVector3.y; + } + } + } + var xOffset = this._orthoRight - this._orthoLeft; + var yOffset = this._orthoTop - this._orthoBottom; + BABYLON.Matrix.OrthoOffCenterLHToRef(this._orthoLeft - xOffset * this.shadowOrthoScale, this._orthoRight + xOffset * this.shadowOrthoScale, this._orthoBottom - yOffset * this.shadowOrthoScale, this._orthoTop + yOffset * this.shadowOrthoScale, -activeCamera.maxZ, activeCamera.maxZ, matrix); + }; + DirectionalLight.prototype.supportsVSM = function () { + return true; + }; + DirectionalLight.prototype.needRefreshPerFrame = function () { + return true; + }; + DirectionalLight.prototype.needCube = function () { + return false; + }; + DirectionalLight.prototype.getShadowDirection = function (faceIndex) { + return this.direction; + }; + DirectionalLight.prototype.computeTransformedPosition = function () { + if (this.parent && this.parent.getWorldMatrix) { + if (!this.transformedPosition) { + this.transformedPosition = BABYLON.Vector3.Zero(); + } + BABYLON.Vector3.TransformCoordinatesToRef(this.position, this.parent.getWorldMatrix(), this.transformedPosition); + return true; + } + return false; + }; + DirectionalLight.prototype.transferToEffect = function (effect, directionUniformName) { + if (this.parent && this.parent.getWorldMatrix) { + if (!this._transformedDirection) { + this._transformedDirection = BABYLON.Vector3.Zero(); + } + BABYLON.Vector3.TransformNormalToRef(this.direction, this.parent.getWorldMatrix(), this._transformedDirection); + effect.setFloat4(directionUniformName, this._transformedDirection.x, this._transformedDirection.y, this._transformedDirection.z, 1); + return; + } + effect.setFloat4(directionUniformName, this.direction.x, this.direction.y, this.direction.z, 1); + }; + DirectionalLight.prototype._getWorldMatrix = function () { + if (!this._worldMatrix) { + this._worldMatrix = BABYLON.Matrix.Identity(); + } + BABYLON.Matrix.TranslationToRef(this.position.x, this.position.y, this.position.z, this._worldMatrix); + return this._worldMatrix; + }; + DirectionalLight.prototype.getTypeID = function () { + return 1; + }; + __decorate([ + BABYLON.serializeAsVector3() + ], DirectionalLight.prototype, "position", void 0); + __decorate([ + BABYLON.serializeAsVector3() + ], DirectionalLight.prototype, "direction", void 0); + __decorate([ + BABYLON.serialize() + ], DirectionalLight.prototype, "shadowOrthoScale", void 0); + __decorate([ + BABYLON.serialize() + ], DirectionalLight.prototype, "autoUpdateExtends", void 0); + return DirectionalLight; + }(BABYLON.Light)); + BABYLON.DirectionalLight = DirectionalLight; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.directionalLight.js.map + +var BABYLON; +(function (BABYLON) { + var ShadowGenerator = (function () { + function ShadowGenerator(mapSize, light) { + var _this = this; + // Members + this._filter = ShadowGenerator.FILTER_NONE; + this.blurScale = 2; + this._blurBoxOffset = 0; + this._bias = 0.00005; + this._lightDirection = BABYLON.Vector3.Zero(); + this.forceBackFacesOnly = false; + this._darkness = 0; + this._transparencyShadow = false; + this._viewMatrix = BABYLON.Matrix.Zero(); + this._projectionMatrix = BABYLON.Matrix.Zero(); + this._transformMatrix = BABYLON.Matrix.Zero(); + this._worldViewProjection = BABYLON.Matrix.Zero(); + this._currentFaceIndex = 0; + this._currentFaceIndexCache = 0; + this._useFullFloat = true; + this._light = light; + this._scene = light.getScene(); + this._mapSize = mapSize; + light._shadowGenerator = this; + // Texture type fallback from float to int if not supported. + var textureType; + var caps = this._scene.getEngine().getCaps(); + if (caps.textureFloat && caps.textureFloatLinearFiltering && caps.textureFloatRender) { + this._useFullFloat = true; + textureType = BABYLON.Engine.TEXTURETYPE_FLOAT; + } + else { + this._useFullFloat = false; + textureType = BABYLON.Engine.TEXTURETYPE_UNSIGNED_INT; + } + // Render target + this._shadowMap = new BABYLON.RenderTargetTexture(light.name + "_shadowMap", mapSize, this._scene, false, true, textureType, light.needCube()); + this._shadowMap.wrapU = BABYLON.Texture.CLAMP_ADDRESSMODE; + this._shadowMap.wrapV = BABYLON.Texture.CLAMP_ADDRESSMODE; + this._shadowMap.anisotropicFilteringLevel = 1; + this._shadowMap.updateSamplingMode(BABYLON.Texture.NEAREST_SAMPLINGMODE); + this._shadowMap.renderParticles = false; + this._shadowMap.onBeforeRenderObservable.add(function (faceIndex) { + _this._currentFaceIndex = faceIndex; + }); + this._shadowMap.onAfterUnbindObservable.add(function () { + if (!_this.useBlurVarianceShadowMap) { + return; + } + if (!_this._shadowMap2) { + _this._shadowMap2 = new BABYLON.RenderTargetTexture(light.name + "_shadowMap", mapSize, _this._scene, false, true, textureType); + _this._shadowMap2.wrapU = BABYLON.Texture.CLAMP_ADDRESSMODE; + _this._shadowMap2.wrapV = BABYLON.Texture.CLAMP_ADDRESSMODE; + _this._shadowMap2.updateSamplingMode(BABYLON.Texture.TRILINEAR_SAMPLINGMODE); + _this._downSamplePostprocess = new BABYLON.PassPostProcess("downScale", 1.0 / _this.blurScale, null, BABYLON.Texture.BILINEAR_SAMPLINGMODE, _this._scene.getEngine()); + _this._downSamplePostprocess.onApplyObservable.add(function (effect) { + effect.setTexture("textureSampler", _this._shadowMap); + }); + _this.blurBoxOffset = 1; + } + _this._scene.postProcessManager.directRender([_this._downSamplePostprocess, _this._boxBlurPostprocess], _this._shadowMap2.getInternalTexture()); + }); + // Custom render function + var renderSubMesh = function (subMesh) { + var mesh = subMesh.getRenderingMesh(); + var scene = _this._scene; + var engine = scene.getEngine(); + // Culling + engine.setState(subMesh.getMaterial().backFaceCulling); + // Managing instances + var batch = mesh._getInstancesRenderList(subMesh._id); + if (batch.mustReturn) { + return; + } + var hardwareInstancedRendering = (engine.getCaps().instancedArrays !== null) && (batch.visibleInstances[subMesh._id] !== null) && (batch.visibleInstances[subMesh._id] !== undefined); + if (_this.isReady(subMesh, hardwareInstancedRendering)) { + engine.enableEffect(_this._effect); + mesh._bind(subMesh, _this._effect, BABYLON.Material.TriangleFillMode); + var material = subMesh.getMaterial(); + _this._effect.setMatrix("viewProjection", _this.getTransformMatrix()); + _this._effect.setVector3("lightPosition", _this.getLight().position); + if (_this.getLight().needCube()) { + _this._effect.setFloat2("depthValues", scene.activeCamera.minZ, scene.activeCamera.maxZ); + } + // Alpha test + if (material && material.needAlphaTesting()) { + var alphaTexture = material.getAlphaTestTexture(); + _this._effect.setTexture("diffuseSampler", alphaTexture); + _this._effect.setMatrix("diffuseMatrix", alphaTexture.getTextureMatrix()); + } + // Bones + if (mesh.useBones && mesh.computeBonesUsingShaders) { + _this._effect.setMatrices("mBones", mesh.skeleton.getTransformMatrices(mesh)); + } + if (_this.forceBackFacesOnly) { + engine.setState(true, 0, false, true); + } + // Draw + mesh._processRendering(subMesh, _this._effect, BABYLON.Material.TriangleFillMode, batch, hardwareInstancedRendering, function (isInstance, world) { return _this._effect.setMatrix("world", world); }); + if (_this.forceBackFacesOnly) { + engine.setState(true, 0, false, false); + } + } + else { + // Need to reset refresh rate of the shadowMap + _this._shadowMap.resetRefreshCounter(); + } + }; + this._shadowMap.customRenderFunction = function (opaqueSubMeshes, alphaTestSubMeshes, transparentSubMeshes) { + var index; + for (index = 0; index < opaqueSubMeshes.length; index++) { + renderSubMesh(opaqueSubMeshes.data[index]); + } + for (index = 0; index < alphaTestSubMeshes.length; index++) { + renderSubMesh(alphaTestSubMeshes.data[index]); + } + if (_this._transparencyShadow) { + for (index = 0; index < transparentSubMeshes.length; index++) { + renderSubMesh(transparentSubMeshes.data[index]); + } + } + }; + this._shadowMap.onClearObservable.add(function (engine) { + if (_this.useBlurVarianceShadowMap || _this.useVarianceShadowMap) { + engine.clear(new BABYLON.Color4(0, 0, 0, 0), true, true, true); + } + else { + engine.clear(new BABYLON.Color4(1.0, 1.0, 1.0, 1.0), true, true, true); + } + }); + } + Object.defineProperty(ShadowGenerator, "FILTER_NONE", { + // Static + get: function () { + return ShadowGenerator._FILTER_NONE; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ShadowGenerator, "FILTER_VARIANCESHADOWMAP", { + get: function () { + return ShadowGenerator._FILTER_VARIANCESHADOWMAP; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ShadowGenerator, "FILTER_POISSONSAMPLING", { + get: function () { + return ShadowGenerator._FILTER_POISSONSAMPLING; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ShadowGenerator, "FILTER_BLURVARIANCESHADOWMAP", { + get: function () { + return ShadowGenerator._FILTER_BLURVARIANCESHADOWMAP; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ShadowGenerator.prototype, "bias", { + get: function () { + return this._bias; + }, + set: function (bias) { + this._bias = bias; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ShadowGenerator.prototype, "blurBoxOffset", { + get: function () { + return this._blurBoxOffset; + }, + set: function (value) { + var _this = this; + if (this._blurBoxOffset === value) { + return; + } + this._blurBoxOffset = value; + if (this._boxBlurPostprocess) { + this._boxBlurPostprocess.dispose(); + } + this._boxBlurPostprocess = new BABYLON.PostProcess("DepthBoxBlur", "depthBoxBlur", ["screenSize", "boxOffset"], [], 1.0 / this.blurScale, null, BABYLON.Texture.BILINEAR_SAMPLINGMODE, this._scene.getEngine(), false, "#define OFFSET " + value); + this._boxBlurPostprocess.onApplyObservable.add(function (effect) { + effect.setFloat2("screenSize", _this._mapSize / _this.blurScale, _this._mapSize / _this.blurScale); + }); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ShadowGenerator.prototype, "filter", { + get: function () { + return this._filter; + }, + set: function (value) { + if (this._filter === value) { + return; + } + this._filter = value; + if (this.useVarianceShadowMap || this.useBlurVarianceShadowMap || this.usePoissonSampling) { + this._shadowMap.anisotropicFilteringLevel = 16; + this._shadowMap.updateSamplingMode(BABYLON.Texture.BILINEAR_SAMPLINGMODE); + } + else { + this._shadowMap.anisotropicFilteringLevel = 1; + this._shadowMap.updateSamplingMode(BABYLON.Texture.NEAREST_SAMPLINGMODE); + } + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ShadowGenerator.prototype, "useVarianceShadowMap", { + get: function () { + return this.filter === ShadowGenerator.FILTER_VARIANCESHADOWMAP && this._light.supportsVSM(); + }, + set: function (value) { + this.filter = (value ? ShadowGenerator.FILTER_VARIANCESHADOWMAP : ShadowGenerator.FILTER_NONE); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ShadowGenerator.prototype, "usePoissonSampling", { + get: function () { + return this.filter === ShadowGenerator.FILTER_POISSONSAMPLING || + (!this._light.supportsVSM() && (this.filter === ShadowGenerator.FILTER_VARIANCESHADOWMAP || + this.filter === ShadowGenerator.FILTER_BLURVARIANCESHADOWMAP)); + }, + set: function (value) { + this.filter = (value ? ShadowGenerator.FILTER_POISSONSAMPLING : ShadowGenerator.FILTER_NONE); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ShadowGenerator.prototype, "useBlurVarianceShadowMap", { + get: function () { + return this.filter === ShadowGenerator.FILTER_BLURVARIANCESHADOWMAP && this._light.supportsVSM(); + }, + set: function (value) { + this.filter = (value ? ShadowGenerator.FILTER_BLURVARIANCESHADOWMAP : ShadowGenerator.FILTER_NONE); + }, + enumerable: true, + configurable: true + }); + ShadowGenerator.prototype.isReady = function (subMesh, useInstances) { + var defines = []; + if (this._useFullFloat) { + defines.push("#define FULLFLOAT"); + } + if (this.useVarianceShadowMap || this.useBlurVarianceShadowMap) { + defines.push("#define VSM"); + } + if (this.getLight().needCube()) { + defines.push("#define CUBEMAP"); + } + var attribs = [BABYLON.VertexBuffer.PositionKind]; + var mesh = subMesh.getMesh(); + var material = subMesh.getMaterial(); + // Alpha test + if (material && material.needAlphaTesting()) { + defines.push("#define ALPHATEST"); + if (mesh.isVerticesDataPresent(BABYLON.VertexBuffer.UVKind)) { + attribs.push(BABYLON.VertexBuffer.UVKind); + defines.push("#define UV1"); + } + if (mesh.isVerticesDataPresent(BABYLON.VertexBuffer.UV2Kind)) { + var alphaTexture = material.getAlphaTestTexture(); + if (alphaTexture.coordinatesIndex === 1) { + attribs.push(BABYLON.VertexBuffer.UV2Kind); + defines.push("#define UV2"); + } + } + } + // Bones + if (mesh.useBones && mesh.computeBonesUsingShaders) { + attribs.push(BABYLON.VertexBuffer.MatricesIndicesKind); + attribs.push(BABYLON.VertexBuffer.MatricesWeightsKind); + if (mesh.numBoneInfluencers > 4) { + attribs.push(BABYLON.VertexBuffer.MatricesIndicesExtraKind); + attribs.push(BABYLON.VertexBuffer.MatricesWeightsExtraKind); + } + defines.push("#define NUM_BONE_INFLUENCERS " + mesh.numBoneInfluencers); + defines.push("#define BonesPerMesh " + (mesh.skeleton.bones.length + 1)); + } + else { + defines.push("#define NUM_BONE_INFLUENCERS 0"); + } + // Instances + if (useInstances) { + defines.push("#define INSTANCES"); + attribs.push("world0"); + attribs.push("world1"); + attribs.push("world2"); + attribs.push("world3"); + } + // Get correct effect + var join = defines.join("\n"); + if (this._cachedDefines !== join) { + this._cachedDefines = join; + this._effect = this._scene.getEngine().createEffect("shadowMap", attribs, ["world", "mBones", "viewProjection", "diffuseMatrix", "lightPosition", "depthValues"], ["diffuseSampler"], join); + } + return this._effect.isReady(); + }; + ShadowGenerator.prototype.getShadowMap = function () { + return this._shadowMap; + }; + ShadowGenerator.prototype.getShadowMapForRendering = function () { + if (this._shadowMap2) { + return this._shadowMap2; + } + return this._shadowMap; + }; + ShadowGenerator.prototype.getLight = function () { + return this._light; + }; + // Methods + ShadowGenerator.prototype.getTransformMatrix = function () { + var scene = this._scene; + if (this._currentRenderID === scene.getRenderId() && this._currentFaceIndexCache === this._currentFaceIndex) { + return this._transformMatrix; + } + this._currentRenderID = scene.getRenderId(); + this._currentFaceIndexCache = this._currentFaceIndex; + var lightPosition = this._light.position; + BABYLON.Vector3.NormalizeToRef(this._light.getShadowDirection(this._currentFaceIndex), this._lightDirection); + if (Math.abs(BABYLON.Vector3.Dot(this._lightDirection, BABYLON.Vector3.Up())) === 1.0) { + this._lightDirection.z = 0.0000000000001; // Required to avoid perfectly perpendicular light + } + if (this._light.computeTransformedPosition()) { + lightPosition = this._light.transformedPosition; + } + if (this._light.needRefreshPerFrame() || !this._cachedPosition || !this._cachedDirection || !lightPosition.equals(this._cachedPosition) || !this._lightDirection.equals(this._cachedDirection)) { + this._cachedPosition = lightPosition.clone(); + this._cachedDirection = this._lightDirection.clone(); + BABYLON.Matrix.LookAtLHToRef(lightPosition, lightPosition.add(this._lightDirection), BABYLON.Vector3.Up(), this._viewMatrix); + this._light.setShadowProjectionMatrix(this._projectionMatrix, this._viewMatrix, this.getShadowMap().renderList); + this._viewMatrix.multiplyToRef(this._projectionMatrix, this._transformMatrix); + } + return this._transformMatrix; + }; + ShadowGenerator.prototype.getDarkness = function () { + return this._darkness; + }; + ShadowGenerator.prototype.setDarkness = function (darkness) { + if (darkness >= 1.0) + this._darkness = 1.0; + else if (darkness <= 0.0) + this._darkness = 0.0; + else + this._darkness = darkness; + }; + ShadowGenerator.prototype.setTransparencyShadow = function (hasShadow) { + this._transparencyShadow = hasShadow; + }; + ShadowGenerator.prototype._packHalf = function (depth) { + var scale = depth * 255.0; + var fract = scale - Math.floor(scale); + return new BABYLON.Vector2(depth - fract / 255.0, fract); + }; + ShadowGenerator.prototype.dispose = function () { + this._shadowMap.dispose(); + if (this._shadowMap2) { + this._shadowMap2.dispose(); + } + if (this._downSamplePostprocess) { + this._downSamplePostprocess.dispose(); + } + if (this._boxBlurPostprocess) { + this._boxBlurPostprocess.dispose(); + } + }; + ShadowGenerator.prototype.serialize = function () { + var serializationObject = {}; + serializationObject.lightId = this._light.id; + serializationObject.mapSize = this.getShadowMap().getRenderSize(); + serializationObject.useVarianceShadowMap = this.useVarianceShadowMap; + serializationObject.usePoissonSampling = this.usePoissonSampling; + serializationObject.forceBackFacesOnly = this.forceBackFacesOnly; + serializationObject.renderList = []; + for (var meshIndex = 0; meshIndex < this.getShadowMap().renderList.length; meshIndex++) { + var mesh = this.getShadowMap().renderList[meshIndex]; + serializationObject.renderList.push(mesh.id); + } + return serializationObject; + }; + ShadowGenerator.Parse = function (parsedShadowGenerator, scene) { + //casting to point light, as light is missing the position attr and typescript complains. + var light = scene.getLightByID(parsedShadowGenerator.lightId); + var shadowGenerator = new ShadowGenerator(parsedShadowGenerator.mapSize, light); + for (var meshIndex = 0; meshIndex < parsedShadowGenerator.renderList.length; meshIndex++) { + var meshes = scene.getMeshesByID(parsedShadowGenerator.renderList[meshIndex]); + meshes.forEach(function (mesh) { + shadowGenerator.getShadowMap().renderList.push(mesh); + }); + } + if (parsedShadowGenerator.usePoissonSampling) { + shadowGenerator.usePoissonSampling = true; + } + else if (parsedShadowGenerator.useVarianceShadowMap) { + shadowGenerator.useVarianceShadowMap = true; + } + else if (parsedShadowGenerator.useBlurVarianceShadowMap) { + shadowGenerator.useBlurVarianceShadowMap = true; + if (parsedShadowGenerator.blurScale) { + shadowGenerator.blurScale = parsedShadowGenerator.blurScale; + } + if (parsedShadowGenerator.blurBoxOffset) { + shadowGenerator.blurBoxOffset = parsedShadowGenerator.blurBoxOffset; + } + } + if (parsedShadowGenerator.bias !== undefined) { + shadowGenerator.bias = parsedShadowGenerator.bias; + } + shadowGenerator.forceBackFacesOnly = parsedShadowGenerator.forceBackFacesOnly; + return shadowGenerator; + }; + ShadowGenerator._FILTER_NONE = 0; + ShadowGenerator._FILTER_VARIANCESHADOWMAP = 1; + ShadowGenerator._FILTER_POISSONSAMPLING = 2; + ShadowGenerator._FILTER_BLURVARIANCESHADOWMAP = 3; + return ShadowGenerator; + }()); + BABYLON.ShadowGenerator = ShadowGenerator; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.shadowGenerator.js.map + +var BABYLON; +(function (BABYLON) { + var intersectBoxAASphere = function (boxMin, boxMax, sphereCenter, sphereRadius) { + if (boxMin.x > sphereCenter.x + sphereRadius) + return false; + if (sphereCenter.x - sphereRadius > boxMax.x) + return false; + if (boxMin.y > sphereCenter.y + sphereRadius) + return false; + if (sphereCenter.y - sphereRadius > boxMax.y) + return false; + if (boxMin.z > sphereCenter.z + sphereRadius) + return false; + if (sphereCenter.z - sphereRadius > boxMax.z) + return false; + return true; + }; + var getLowestRoot = (function () { + var result = { root: 0, found: false }; + return function (a, b, c, maxR) { + result.root = 0; + result.found = false; + var determinant = b * b - 4.0 * a * c; + if (determinant < 0) + return result; + var sqrtD = Math.sqrt(determinant); + var r1 = (-b - sqrtD) / (2.0 * a); + var r2 = (-b + sqrtD) / (2.0 * a); + if (r1 > r2) { + var temp = r2; + r2 = r1; + r1 = temp; + } + if (r1 > 0 && r1 < maxR) { + result.root = r1; + result.found = true; + return result; + } + if (r2 > 0 && r2 < maxR) { + result.root = r2; + result.found = true; + return result; + } + return result; + }; + })(); + var Collider = (function () { + function Collider() { + this.radius = new BABYLON.Vector3(1, 1, 1); + this.retry = 0; + this.basePointWorld = BABYLON.Vector3.Zero(); + this.velocityWorld = BABYLON.Vector3.Zero(); + this.normalizedVelocity = BABYLON.Vector3.Zero(); + this._collisionPoint = BABYLON.Vector3.Zero(); + this._planeIntersectionPoint = BABYLON.Vector3.Zero(); + this._tempVector = BABYLON.Vector3.Zero(); + this._tempVector2 = BABYLON.Vector3.Zero(); + this._tempVector3 = BABYLON.Vector3.Zero(); + this._tempVector4 = BABYLON.Vector3.Zero(); + this._edge = BABYLON.Vector3.Zero(); + this._baseToVertex = BABYLON.Vector3.Zero(); + this._destinationPoint = BABYLON.Vector3.Zero(); + this._slidePlaneNormal = BABYLON.Vector3.Zero(); + this._displacementVector = BABYLON.Vector3.Zero(); + } + // Methods + Collider.prototype._initialize = function (source, dir, e) { + this.velocity = dir; + BABYLON.Vector3.NormalizeToRef(dir, this.normalizedVelocity); + this.basePoint = source; + source.multiplyToRef(this.radius, this.basePointWorld); + dir.multiplyToRef(this.radius, this.velocityWorld); + this.velocityWorldLength = this.velocityWorld.length(); + this.epsilon = e; + this.collisionFound = false; + }; + Collider.prototype._checkPointInTriangle = function (point, pa, pb, pc, n) { + pa.subtractToRef(point, this._tempVector); + pb.subtractToRef(point, this._tempVector2); + BABYLON.Vector3.CrossToRef(this._tempVector, this._tempVector2, this._tempVector4); + var d = BABYLON.Vector3.Dot(this._tempVector4, n); + if (d < 0) + return false; + pc.subtractToRef(point, this._tempVector3); + BABYLON.Vector3.CrossToRef(this._tempVector2, this._tempVector3, this._tempVector4); + d = BABYLON.Vector3.Dot(this._tempVector4, n); + if (d < 0) + return false; + BABYLON.Vector3.CrossToRef(this._tempVector3, this._tempVector, this._tempVector4); + d = BABYLON.Vector3.Dot(this._tempVector4, n); + return d >= 0; + }; + Collider.prototype._canDoCollision = function (sphereCenter, sphereRadius, vecMin, vecMax) { + var distance = BABYLON.Vector3.Distance(this.basePointWorld, sphereCenter); + var max = Math.max(this.radius.x, this.radius.y, this.radius.z); + if (distance > this.velocityWorldLength + max + sphereRadius) { + return false; + } + if (!intersectBoxAASphere(vecMin, vecMax, this.basePointWorld, this.velocityWorldLength + max)) + return false; + return true; + }; + Collider.prototype._testTriangle = function (faceIndex, trianglePlaneArray, p1, p2, p3, hasMaterial) { + var t0; + var embeddedInPlane = false; + //defensive programming, actually not needed. + if (!trianglePlaneArray) { + trianglePlaneArray = []; + } + if (!trianglePlaneArray[faceIndex]) { + trianglePlaneArray[faceIndex] = new BABYLON.Plane(0, 0, 0, 0); + trianglePlaneArray[faceIndex].copyFromPoints(p1, p2, p3); + } + var trianglePlane = trianglePlaneArray[faceIndex]; + if ((!hasMaterial) && !trianglePlane.isFrontFacingTo(this.normalizedVelocity, 0)) + return; + var signedDistToTrianglePlane = trianglePlane.signedDistanceTo(this.basePoint); + var normalDotVelocity = BABYLON.Vector3.Dot(trianglePlane.normal, this.velocity); + if (normalDotVelocity == 0) { + if (Math.abs(signedDistToTrianglePlane) >= 1.0) + return; + embeddedInPlane = true; + t0 = 0; + } + else { + t0 = (-1.0 - signedDistToTrianglePlane) / normalDotVelocity; + var t1 = (1.0 - signedDistToTrianglePlane) / normalDotVelocity; + if (t0 > t1) { + var temp = t1; + t1 = t0; + t0 = temp; + } + if (t0 > 1.0 || t1 < 0.0) + return; + if (t0 < 0) + t0 = 0; + if (t0 > 1.0) + t0 = 1.0; + } + this._collisionPoint.copyFromFloats(0, 0, 0); + var found = false; + var t = 1.0; + if (!embeddedInPlane) { + this.basePoint.subtractToRef(trianglePlane.normal, this._planeIntersectionPoint); + this.velocity.scaleToRef(t0, this._tempVector); + this._planeIntersectionPoint.addInPlace(this._tempVector); + if (this._checkPointInTriangle(this._planeIntersectionPoint, p1, p2, p3, trianglePlane.normal)) { + found = true; + t = t0; + this._collisionPoint.copyFrom(this._planeIntersectionPoint); + } + } + if (!found) { + var velocitySquaredLength = this.velocity.lengthSquared(); + var a = velocitySquaredLength; + this.basePoint.subtractToRef(p1, this._tempVector); + var b = 2.0 * (BABYLON.Vector3.Dot(this.velocity, this._tempVector)); + var c = this._tempVector.lengthSquared() - 1.0; + var lowestRoot = getLowestRoot(a, b, c, t); + if (lowestRoot.found) { + t = lowestRoot.root; + found = true; + this._collisionPoint.copyFrom(p1); + } + this.basePoint.subtractToRef(p2, this._tempVector); + b = 2.0 * (BABYLON.Vector3.Dot(this.velocity, this._tempVector)); + c = this._tempVector.lengthSquared() - 1.0; + lowestRoot = getLowestRoot(a, b, c, t); + if (lowestRoot.found) { + t = lowestRoot.root; + found = true; + this._collisionPoint.copyFrom(p2); + } + this.basePoint.subtractToRef(p3, this._tempVector); + b = 2.0 * (BABYLON.Vector3.Dot(this.velocity, this._tempVector)); + c = this._tempVector.lengthSquared() - 1.0; + lowestRoot = getLowestRoot(a, b, c, t); + if (lowestRoot.found) { + t = lowestRoot.root; + found = true; + this._collisionPoint.copyFrom(p3); + } + p2.subtractToRef(p1, this._edge); + p1.subtractToRef(this.basePoint, this._baseToVertex); + var edgeSquaredLength = this._edge.lengthSquared(); + var edgeDotVelocity = BABYLON.Vector3.Dot(this._edge, this.velocity); + var edgeDotBaseToVertex = BABYLON.Vector3.Dot(this._edge, this._baseToVertex); + a = edgeSquaredLength * (-velocitySquaredLength) + edgeDotVelocity * edgeDotVelocity; + b = edgeSquaredLength * (2.0 * BABYLON.Vector3.Dot(this.velocity, this._baseToVertex)) - 2.0 * edgeDotVelocity * edgeDotBaseToVertex; + c = edgeSquaredLength * (1.0 - this._baseToVertex.lengthSquared()) + edgeDotBaseToVertex * edgeDotBaseToVertex; + lowestRoot = getLowestRoot(a, b, c, t); + if (lowestRoot.found) { + var f = (edgeDotVelocity * lowestRoot.root - edgeDotBaseToVertex) / edgeSquaredLength; + if (f >= 0.0 && f <= 1.0) { + t = lowestRoot.root; + found = true; + this._edge.scaleInPlace(f); + p1.addToRef(this._edge, this._collisionPoint); + } + } + p3.subtractToRef(p2, this._edge); + p2.subtractToRef(this.basePoint, this._baseToVertex); + edgeSquaredLength = this._edge.lengthSquared(); + edgeDotVelocity = BABYLON.Vector3.Dot(this._edge, this.velocity); + edgeDotBaseToVertex = BABYLON.Vector3.Dot(this._edge, this._baseToVertex); + a = edgeSquaredLength * (-velocitySquaredLength) + edgeDotVelocity * edgeDotVelocity; + b = edgeSquaredLength * (2.0 * BABYLON.Vector3.Dot(this.velocity, this._baseToVertex)) - 2.0 * edgeDotVelocity * edgeDotBaseToVertex; + c = edgeSquaredLength * (1.0 - this._baseToVertex.lengthSquared()) + edgeDotBaseToVertex * edgeDotBaseToVertex; + lowestRoot = getLowestRoot(a, b, c, t); + if (lowestRoot.found) { + f = (edgeDotVelocity * lowestRoot.root - edgeDotBaseToVertex) / edgeSquaredLength; + if (f >= 0.0 && f <= 1.0) { + t = lowestRoot.root; + found = true; + this._edge.scaleInPlace(f); + p2.addToRef(this._edge, this._collisionPoint); + } + } + p1.subtractToRef(p3, this._edge); + p3.subtractToRef(this.basePoint, this._baseToVertex); + edgeSquaredLength = this._edge.lengthSquared(); + edgeDotVelocity = BABYLON.Vector3.Dot(this._edge, this.velocity); + edgeDotBaseToVertex = BABYLON.Vector3.Dot(this._edge, this._baseToVertex); + a = edgeSquaredLength * (-velocitySquaredLength) + edgeDotVelocity * edgeDotVelocity; + b = edgeSquaredLength * (2.0 * BABYLON.Vector3.Dot(this.velocity, this._baseToVertex)) - 2.0 * edgeDotVelocity * edgeDotBaseToVertex; + c = edgeSquaredLength * (1.0 - this._baseToVertex.lengthSquared()) + edgeDotBaseToVertex * edgeDotBaseToVertex; + lowestRoot = getLowestRoot(a, b, c, t); + if (lowestRoot.found) { + f = (edgeDotVelocity * lowestRoot.root - edgeDotBaseToVertex) / edgeSquaredLength; + if (f >= 0.0 && f <= 1.0) { + t = lowestRoot.root; + found = true; + this._edge.scaleInPlace(f); + p3.addToRef(this._edge, this._collisionPoint); + } + } + } + if (found) { + var distToCollision = t * this.velocity.length(); + if (!this.collisionFound || distToCollision < this.nearestDistance) { + if (!this.intersectionPoint) { + this.intersectionPoint = this._collisionPoint.clone(); + } + else { + this.intersectionPoint.copyFrom(this._collisionPoint); + } + this.nearestDistance = distToCollision; + this.collisionFound = true; + } + } + }; + Collider.prototype._collide = function (trianglePlaneArray, pts, indices, indexStart, indexEnd, decal, hasMaterial) { + for (var i = indexStart; i < indexEnd; i += 3) { + var p1 = pts[indices[i] - decal]; + var p2 = pts[indices[i + 1] - decal]; + var p3 = pts[indices[i + 2] - decal]; + this._testTriangle(i, trianglePlaneArray, p3, p2, p1, hasMaterial); + } + }; + Collider.prototype._getResponse = function (pos, vel) { + pos.addToRef(vel, this._destinationPoint); + vel.scaleInPlace((this.nearestDistance / vel.length())); + this.basePoint.addToRef(vel, pos); + pos.subtractToRef(this.intersectionPoint, this._slidePlaneNormal); + this._slidePlaneNormal.normalize(); + this._slidePlaneNormal.scaleToRef(this.epsilon, this._displacementVector); + pos.addInPlace(this._displacementVector); + this.intersectionPoint.addInPlace(this._displacementVector); + this._slidePlaneNormal.scaleInPlace(BABYLON.Plane.SignedDistanceToPlaneFromPositionAndNormal(this.intersectionPoint, this._slidePlaneNormal, this._destinationPoint)); + this._destinationPoint.subtractInPlace(this._slidePlaneNormal); + this._destinationPoint.subtractToRef(this.intersectionPoint, vel); + }; + return Collider; + }()); + BABYLON.Collider = Collider; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.collider.js.map + +var BABYLON; +(function (BABYLON) { + //WebWorker code will be inserted to this variable. + BABYLON.CollisionWorker = ""; + (function (WorkerTaskType) { + WorkerTaskType[WorkerTaskType["INIT"] = 0] = "INIT"; + WorkerTaskType[WorkerTaskType["UPDATE"] = 1] = "UPDATE"; + WorkerTaskType[WorkerTaskType["COLLIDE"] = 2] = "COLLIDE"; + })(BABYLON.WorkerTaskType || (BABYLON.WorkerTaskType = {})); + var WorkerTaskType = BABYLON.WorkerTaskType; + (function (WorkerReplyType) { + WorkerReplyType[WorkerReplyType["SUCCESS"] = 0] = "SUCCESS"; + WorkerReplyType[WorkerReplyType["UNKNOWN_ERROR"] = 1] = "UNKNOWN_ERROR"; + })(BABYLON.WorkerReplyType || (BABYLON.WorkerReplyType = {})); + var WorkerReplyType = BABYLON.WorkerReplyType; + var CollisionCoordinatorWorker = (function () { + function CollisionCoordinatorWorker() { + var _this = this; + this._scaledPosition = BABYLON.Vector3.Zero(); + this._scaledVelocity = BABYLON.Vector3.Zero(); + this.onMeshUpdated = function (mesh) { + _this._addUpdateMeshesList[mesh.uniqueId] = CollisionCoordinatorWorker.SerializeMesh(mesh); + }; + this.onGeometryUpdated = function (geometry) { + _this._addUpdateGeometriesList[geometry.id] = CollisionCoordinatorWorker.SerializeGeometry(geometry); + }; + this._afterRender = function () { + if (!_this._init) + return; + if (_this._toRemoveGeometryArray.length == 0 && _this._toRemoveMeshesArray.length == 0 && Object.keys(_this._addUpdateGeometriesList).length == 0 && Object.keys(_this._addUpdateMeshesList).length == 0) { + return; + } + //5 concurrent updates were sent to the web worker and were not yet processed. Abort next update. + //TODO make sure update runs as fast as possible to be able to update 60 FPS. + if (_this._runningUpdated > 4) { + return; + } + ++_this._runningUpdated; + var payload = { + updatedMeshes: _this._addUpdateMeshesList, + updatedGeometries: _this._addUpdateGeometriesList, + removedGeometries: _this._toRemoveGeometryArray, + removedMeshes: _this._toRemoveMeshesArray + }; + var message = { + payload: payload, + taskType: WorkerTaskType.UPDATE + }; + var serializable = []; + for (var id in payload.updatedGeometries) { + if (payload.updatedGeometries.hasOwnProperty(id)) { + //prepare transferables + serializable.push(message.payload.updatedGeometries[id].indices.buffer); + serializable.push(message.payload.updatedGeometries[id].normals.buffer); + serializable.push(message.payload.updatedGeometries[id].positions.buffer); + } + } + _this._worker.postMessage(message, serializable); + _this._addUpdateMeshesList = {}; + _this._addUpdateGeometriesList = {}; + _this._toRemoveGeometryArray = []; + _this._toRemoveMeshesArray = []; + }; + this._onMessageFromWorker = function (e) { + var returnData = e.data; + if (returnData.error != WorkerReplyType.SUCCESS) { + //TODO what errors can be returned from the worker? + BABYLON.Tools.Warn("error returned from worker!"); + return; + } + switch (returnData.taskType) { + case WorkerTaskType.INIT: + _this._init = true; + //Update the worked with ALL of the scene's current state + _this._scene.meshes.forEach(function (mesh) { + _this.onMeshAdded(mesh); + }); + _this._scene.getGeometries().forEach(function (geometry) { + _this.onGeometryAdded(geometry); + }); + break; + case WorkerTaskType.UPDATE: + _this._runningUpdated--; + break; + case WorkerTaskType.COLLIDE: + _this._runningCollisionTask = false; + var returnPayload = returnData.payload; + if (!_this._collisionsCallbackArray[returnPayload.collisionId]) + return; + _this._collisionsCallbackArray[returnPayload.collisionId](returnPayload.collisionId, BABYLON.Vector3.FromArray(returnPayload.newPosition), _this._scene.getMeshByUniqueID(returnPayload.collidedMeshUniqueId)); + //cleanup + _this._collisionsCallbackArray[returnPayload.collisionId] = undefined; + break; + } + }; + this._collisionsCallbackArray = []; + this._init = false; + this._runningUpdated = 0; + this._runningCollisionTask = false; + this._addUpdateMeshesList = {}; + this._addUpdateGeometriesList = {}; + this._toRemoveGeometryArray = []; + this._toRemoveMeshesArray = []; + } + CollisionCoordinatorWorker.prototype.getNewPosition = function (position, velocity, collider, maximumRetry, excludedMesh, onNewPosition, collisionIndex) { + if (!this._init) + return; + if (this._collisionsCallbackArray[collisionIndex] || this._collisionsCallbackArray[collisionIndex + 100000]) + return; + position.divideToRef(collider.radius, this._scaledPosition); + velocity.divideToRef(collider.radius, this._scaledVelocity); + this._collisionsCallbackArray[collisionIndex] = onNewPosition; + var payload = { + collider: { + position: this._scaledPosition.asArray(), + velocity: this._scaledVelocity.asArray(), + radius: collider.radius.asArray() + }, + collisionId: collisionIndex, + excludedMeshUniqueId: excludedMesh ? excludedMesh.uniqueId : null, + maximumRetry: maximumRetry + }; + var message = { + payload: payload, + taskType: WorkerTaskType.COLLIDE + }; + this._worker.postMessage(message); + }; + CollisionCoordinatorWorker.prototype.init = function (scene) { + this._scene = scene; + this._scene.registerAfterRender(this._afterRender); + var workerUrl = BABYLON.WorkerIncluded ? BABYLON.Engine.CodeRepository + "Collisions/babylon.collisionWorker.js" : URL.createObjectURL(new Blob([BABYLON.CollisionWorker], { type: 'application/javascript' })); + this._worker = new Worker(workerUrl); + this._worker.onmessage = this._onMessageFromWorker; + var message = { + payload: {}, + taskType: WorkerTaskType.INIT + }; + this._worker.postMessage(message); + }; + CollisionCoordinatorWorker.prototype.destroy = function () { + this._scene.unregisterAfterRender(this._afterRender); + this._worker.terminate(); + }; + CollisionCoordinatorWorker.prototype.onMeshAdded = function (mesh) { + mesh.registerAfterWorldMatrixUpdate(this.onMeshUpdated); + this.onMeshUpdated(mesh); + }; + CollisionCoordinatorWorker.prototype.onMeshRemoved = function (mesh) { + this._toRemoveMeshesArray.push(mesh.uniqueId); + }; + CollisionCoordinatorWorker.prototype.onGeometryAdded = function (geometry) { + //TODO this will break if the user uses his own function. This should be an array of callbacks! + geometry.onGeometryUpdated = this.onGeometryUpdated; + this.onGeometryUpdated(geometry); + }; + CollisionCoordinatorWorker.prototype.onGeometryDeleted = function (geometry) { + this._toRemoveGeometryArray.push(geometry.id); + }; + CollisionCoordinatorWorker.SerializeMesh = function (mesh) { + var submeshes = []; + if (mesh.subMeshes) { + submeshes = mesh.subMeshes.map(function (sm, idx) { + return { + position: idx, + verticesStart: sm.verticesStart, + verticesCount: sm.verticesCount, + indexStart: sm.indexStart, + indexCount: sm.indexCount, + hasMaterial: !!sm.getMaterial(), + sphereCenter: sm.getBoundingInfo().boundingSphere.centerWorld.asArray(), + sphereRadius: sm.getBoundingInfo().boundingSphere.radiusWorld, + boxMinimum: sm.getBoundingInfo().boundingBox.minimumWorld.asArray(), + boxMaximum: sm.getBoundingInfo().boundingBox.maximumWorld.asArray() + }; + }); + } + var geometryId = null; + if (mesh instanceof BABYLON.Mesh) { + geometryId = mesh.geometry ? mesh.geometry.id : null; + } + else if (mesh instanceof BABYLON.InstancedMesh) { + geometryId = (mesh.sourceMesh && mesh.sourceMesh.geometry) ? mesh.sourceMesh.geometry.id : null; + } + return { + uniqueId: mesh.uniqueId, + id: mesh.id, + name: mesh.name, + geometryId: geometryId, + sphereCenter: mesh.getBoundingInfo().boundingSphere.centerWorld.asArray(), + sphereRadius: mesh.getBoundingInfo().boundingSphere.radiusWorld, + boxMinimum: mesh.getBoundingInfo().boundingBox.minimumWorld.asArray(), + boxMaximum: mesh.getBoundingInfo().boundingBox.maximumWorld.asArray(), + worldMatrixFromCache: mesh.worldMatrixFromCache.asArray(), + subMeshes: submeshes, + checkCollisions: mesh.checkCollisions + }; + }; + CollisionCoordinatorWorker.SerializeGeometry = function (geometry) { + return { + id: geometry.id, + positions: new Float32Array(geometry.getVerticesData(BABYLON.VertexBuffer.PositionKind) || []), + normals: new Float32Array(geometry.getVerticesData(BABYLON.VertexBuffer.NormalKind) || []), + indices: new Int32Array(geometry.getIndices() || []), + }; + }; + return CollisionCoordinatorWorker; + }()); + BABYLON.CollisionCoordinatorWorker = CollisionCoordinatorWorker; + var CollisionCoordinatorLegacy = (function () { + function CollisionCoordinatorLegacy() { + this._scaledPosition = BABYLON.Vector3.Zero(); + this._scaledVelocity = BABYLON.Vector3.Zero(); + this._finalPosition = BABYLON.Vector3.Zero(); + } + CollisionCoordinatorLegacy.prototype.getNewPosition = function (position, velocity, collider, maximumRetry, excludedMesh, onNewPosition, collisionIndex) { + position.divideToRef(collider.radius, this._scaledPosition); + velocity.divideToRef(collider.radius, this._scaledVelocity); + collider.collidedMesh = null; + collider.retry = 0; + collider.initialVelocity = this._scaledVelocity; + collider.initialPosition = this._scaledPosition; + this._collideWithWorld(this._scaledPosition, this._scaledVelocity, collider, maximumRetry, this._finalPosition, excludedMesh); + this._finalPosition.multiplyInPlace(collider.radius); + //run the callback + onNewPosition(collisionIndex, this._finalPosition, collider.collidedMesh); + }; + CollisionCoordinatorLegacy.prototype.init = function (scene) { + this._scene = scene; + }; + CollisionCoordinatorLegacy.prototype.destroy = function () { + //Legacy need no destruction method. + }; + //No update in legacy mode + CollisionCoordinatorLegacy.prototype.onMeshAdded = function (mesh) { }; + CollisionCoordinatorLegacy.prototype.onMeshUpdated = function (mesh) { }; + CollisionCoordinatorLegacy.prototype.onMeshRemoved = function (mesh) { }; + CollisionCoordinatorLegacy.prototype.onGeometryAdded = function (geometry) { }; + CollisionCoordinatorLegacy.prototype.onGeometryUpdated = function (geometry) { }; + CollisionCoordinatorLegacy.prototype.onGeometryDeleted = function (geometry) { }; + CollisionCoordinatorLegacy.prototype._collideWithWorld = function (position, velocity, collider, maximumRetry, finalPosition, excludedMesh) { + if (excludedMesh === void 0) { excludedMesh = null; } + var closeDistance = BABYLON.Engine.CollisionsEpsilon * 10.0; + if (collider.retry >= maximumRetry) { + finalPosition.copyFrom(position); + return; + } + collider._initialize(position, velocity, closeDistance); + // Check all meshes + for (var index = 0; index < this._scene.meshes.length; index++) { + var mesh = this._scene.meshes[index]; + if (mesh.isEnabled() && mesh.checkCollisions && mesh.subMeshes && mesh !== excludedMesh) { + mesh._checkCollision(collider); + } + } + if (!collider.collisionFound) { + position.addToRef(velocity, finalPosition); + return; + } + if (velocity.x !== 0 || velocity.y !== 0 || velocity.z !== 0) { + collider._getResponse(position, velocity); + } + if (velocity.length() <= closeDistance) { + finalPosition.copyFrom(position); + return; + } + collider.retry++; + this._collideWithWorld(position, velocity, collider, maximumRetry, finalPosition, excludedMesh); + }; + return CollisionCoordinatorLegacy; + }()); + BABYLON.CollisionCoordinatorLegacy = CollisionCoordinatorLegacy; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.collisionCoordinator.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var Camera = (function (_super) { + __extends(Camera, _super); + function Camera(name, position, scene) { + _super.call(this, name, scene); + this.upVector = BABYLON.Vector3.Up(); + this.orthoLeft = null; + this.orthoRight = null; + this.orthoBottom = null; + this.orthoTop = null; + this.fov = 0.8; + this.minZ = 1.0; + this.maxZ = 10000.0; + this.inertia = 0.9; + this.mode = Camera.PERSPECTIVE_CAMERA; + this.isIntermediate = false; + this.viewport = new BABYLON.Viewport(0, 0, 1.0, 1.0); + this.layerMask = 0x0FFFFFFF; + this.fovMode = Camera.FOVMODE_VERTICAL_FIXED; + // Camera rig members + this.cameraRigMode = Camera.RIG_MODE_NONE; + this._rigCameras = new Array(); + // Cache + this._computedViewMatrix = BABYLON.Matrix.Identity(); + this._projectionMatrix = new BABYLON.Matrix(); + this._doNotComputeProjectionMatrix = false; + this._postProcesses = new Array(); + this._transformMatrix = BABYLON.Matrix.Zero(); + this._webvrViewMatrix = BABYLON.Matrix.Identity(); + this._activeMeshes = new BABYLON.SmartArray(256); + this._globalPosition = BABYLON.Vector3.Zero(); + this._refreshFrustumPlanes = true; + scene.addCamera(this); + if (!scene.activeCamera) { + scene.activeCamera = this; + } + this.position = position; + } + Object.defineProperty(Camera, "PERSPECTIVE_CAMERA", { + get: function () { + return Camera._PERSPECTIVE_CAMERA; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Camera, "ORTHOGRAPHIC_CAMERA", { + get: function () { + return Camera._ORTHOGRAPHIC_CAMERA; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Camera, "FOVMODE_VERTICAL_FIXED", { + get: function () { + return Camera._FOVMODE_VERTICAL_FIXED; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Camera, "FOVMODE_HORIZONTAL_FIXED", { + get: function () { + return Camera._FOVMODE_HORIZONTAL_FIXED; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Camera, "RIG_MODE_NONE", { + get: function () { + return Camera._RIG_MODE_NONE; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Camera, "RIG_MODE_STEREOSCOPIC_ANAGLYPH", { + get: function () { + return Camera._RIG_MODE_STEREOSCOPIC_ANAGLYPH; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Camera, "RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_PARALLEL", { + get: function () { + return Camera._RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_PARALLEL; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Camera, "RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_CROSSEYED", { + get: function () { + return Camera._RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_CROSSEYED; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Camera, "RIG_MODE_STEREOSCOPIC_OVERUNDER", { + get: function () { + return Camera._RIG_MODE_STEREOSCOPIC_OVERUNDER; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Camera, "RIG_MODE_VR", { + get: function () { + return Camera._RIG_MODE_VR; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Camera, "RIG_MODE_WEBVR", { + get: function () { + return Camera._RIG_MODE_WEBVR; + }, + enumerable: true, + configurable: true + }); + /** + * @param {boolean} fullDetails - support for multiple levels of logging within scene loading + */ + Camera.prototype.toString = function (fullDetails) { + var ret = "Name: " + this.name; + ret += ", type: " + this.getTypeName(); + if (this.animations) { + for (var i = 0; i < this.animations.length; i++) { + ret += ", animation[0]: " + this.animations[i].toString(fullDetails); + } + } + if (fullDetails) { + } + return ret; + }; + Object.defineProperty(Camera.prototype, "globalPosition", { + get: function () { + return this._globalPosition; + }, + enumerable: true, + configurable: true + }); + Camera.prototype.getActiveMeshes = function () { + return this._activeMeshes; + }; + Camera.prototype.isActiveMesh = function (mesh) { + return (this._activeMeshes.indexOf(mesh) !== -1); + }; + //Cache + Camera.prototype._initCache = function () { + _super.prototype._initCache.call(this); + this._cache.position = new BABYLON.Vector3(Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE); + this._cache.upVector = new BABYLON.Vector3(Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE); + this._cache.mode = undefined; + this._cache.minZ = undefined; + this._cache.maxZ = undefined; + this._cache.fov = undefined; + this._cache.fovMode = undefined; + this._cache.aspectRatio = undefined; + this._cache.orthoLeft = undefined; + this._cache.orthoRight = undefined; + this._cache.orthoBottom = undefined; + this._cache.orthoTop = undefined; + this._cache.renderWidth = undefined; + this._cache.renderHeight = undefined; + }; + Camera.prototype._updateCache = function (ignoreParentClass) { + if (!ignoreParentClass) { + _super.prototype._updateCache.call(this); + } + var engine = this.getEngine(); + this._cache.position.copyFrom(this.position); + this._cache.upVector.copyFrom(this.upVector); + this._cache.mode = this.mode; + this._cache.minZ = this.minZ; + this._cache.maxZ = this.maxZ; + this._cache.fov = this.fov; + this._cache.fovMode = this.fovMode; + this._cache.aspectRatio = engine.getAspectRatio(this); + this._cache.orthoLeft = this.orthoLeft; + this._cache.orthoRight = this.orthoRight; + this._cache.orthoBottom = this.orthoBottom; + this._cache.orthoTop = this.orthoTop; + this._cache.renderWidth = engine.getRenderWidth(); + this._cache.renderHeight = engine.getRenderHeight(); + }; + Camera.prototype._updateFromScene = function () { + this.updateCache(); + this.update(); + }; + // Synchronized + Camera.prototype._isSynchronized = function () { + return this._isSynchronizedViewMatrix() && this._isSynchronizedProjectionMatrix(); + }; + Camera.prototype._isSynchronizedViewMatrix = function () { + if (!_super.prototype._isSynchronized.call(this)) + return false; + return this._cache.position.equals(this.position) + && this._cache.upVector.equals(this.upVector) + && this.isSynchronizedWithParent(); + }; + Camera.prototype._isSynchronizedProjectionMatrix = function () { + var check = this._cache.mode === this.mode + && this._cache.minZ === this.minZ + && this._cache.maxZ === this.maxZ; + if (!check) { + return false; + } + var engine = this.getEngine(); + if (this.mode === Camera.PERSPECTIVE_CAMERA) { + check = this._cache.fov === this.fov + && this._cache.fovMode === this.fovMode + && this._cache.aspectRatio === engine.getAspectRatio(this); + } + else { + check = this._cache.orthoLeft === this.orthoLeft + && this._cache.orthoRight === this.orthoRight + && this._cache.orthoBottom === this.orthoBottom + && this._cache.orthoTop === this.orthoTop + && this._cache.renderWidth === engine.getRenderWidth() + && this._cache.renderHeight === engine.getRenderHeight(); + } + return check; + }; + // Controls + Camera.prototype.attachControl = function (element, noPreventDefault) { + }; + Camera.prototype.detachControl = function (element) { + }; + Camera.prototype.update = function () { + if (this.cameraRigMode !== Camera.RIG_MODE_NONE) { + this._updateRigCameras(); + } + this._checkInputs(); + }; + Camera.prototype._checkInputs = function () { + }; + Camera.prototype._cascadePostProcessesToRigCams = function () { + // invalidate framebuffer + if (this._postProcesses.length > 0) { + this._postProcesses[0].markTextureDirty(); + } + // glue the rigPostProcess to the end of the user postprocesses & assign to each sub-camera + for (var i = 0, len = this._rigCameras.length; i < len; i++) { + var cam = this._rigCameras[i]; + var rigPostProcess = cam._rigPostProcess; + // for VR rig, there does not have to be a post process + if (rigPostProcess) { + var isPass = rigPostProcess instanceof BABYLON.PassPostProcess; + if (isPass) { + // any rig which has a PassPostProcess for rig[0], cannot be isIntermediate when there are also user postProcesses + cam.isIntermediate = this._postProcesses.length === 0; + } + cam._postProcesses = this._postProcesses.slice(0).concat(rigPostProcess); + rigPostProcess.markTextureDirty(); + } + else { + cam._postProcesses = this._postProcesses.slice(0); + } + } + }; + Camera.prototype.attachPostProcess = function (postProcess, insertAt) { + if (insertAt === void 0) { insertAt = null; } + if (!postProcess.isReusable() && this._postProcesses.indexOf(postProcess) > -1) { + BABYLON.Tools.Error("You're trying to reuse a post process not defined as reusable."); + return 0; + } + if (insertAt == null || insertAt < 0) { + this._postProcesses.push(postProcess); + } + else { + this._postProcesses.splice(insertAt, 0, postProcess); + } + this._cascadePostProcessesToRigCams(); // also ensures framebuffer invalidated + return this._postProcesses.indexOf(postProcess); + }; + Camera.prototype.detachPostProcess = function (postProcess, atIndices) { + if (atIndices === void 0) { atIndices = null; } + var result = []; + var i; + var index; + if (!atIndices) { + var idx = this._postProcesses.indexOf(postProcess); + if (idx !== -1) { + this._postProcesses.splice(idx, 1); + } + } + else { + atIndices = (atIndices instanceof Array) ? atIndices : [atIndices]; + // iterate descending, so can just splice as we go + for (i = atIndices.length - 1; i >= 0; i--) { + if (this._postProcesses[atIndices[i]] !== postProcess) { + result.push(i); + continue; + } + this._postProcesses.splice(index, 1); + } + } + this._cascadePostProcessesToRigCams(); // also ensures framebuffer invalidated + return result; + }; + Camera.prototype.getWorldMatrix = function () { + if (!this._worldMatrix) { + this._worldMatrix = BABYLON.Matrix.Identity(); + } + var viewMatrix = this.getViewMatrix(); + viewMatrix.invertToRef(this._worldMatrix); + return this._worldMatrix; + }; + Camera.prototype._getViewMatrix = function () { + return BABYLON.Matrix.Identity(); + }; + Camera.prototype.getViewMatrix = function (force) { + this._computedViewMatrix = this._computeViewMatrix(force); + if (!force && this._isSynchronizedViewMatrix()) { + return this._computedViewMatrix; + } + this._refreshFrustumPlanes = true; + if (!this.parent || !this.parent.getWorldMatrix) { + this._globalPosition.copyFrom(this.position); + } + else { + if (!this._worldMatrix) { + this._worldMatrix = BABYLON.Matrix.Identity(); + } + this._computedViewMatrix.invertToRef(this._worldMatrix); + this._worldMatrix.multiplyToRef(this.parent.getWorldMatrix(), this._computedViewMatrix); + this._globalPosition.copyFromFloats(this._computedViewMatrix.m[12], this._computedViewMatrix.m[13], this._computedViewMatrix.m[14]); + this._computedViewMatrix.invert(); + this._markSyncedWithParent(); + } + this._currentRenderId = this.getScene().getRenderId(); + return this._computedViewMatrix; + }; + Camera.prototype._computeViewMatrix = function (force) { + if (!force && this._isSynchronizedViewMatrix()) { + return this._computedViewMatrix; + } + this._computedViewMatrix = this._getViewMatrix(); + this._currentRenderId = this.getScene().getRenderId(); + return this._computedViewMatrix; + }; + Camera.prototype.freezeProjectionMatrix = function (projection) { + this._doNotComputeProjectionMatrix = true; + if (projection !== undefined) { + this._projectionMatrix = projection; + } + }; + ; + Camera.prototype.unfreezeProjectionMatrix = function () { + this._doNotComputeProjectionMatrix = false; + }; + ; + Camera.prototype.getProjectionMatrix = function (force) { + if (this._doNotComputeProjectionMatrix || (!force && this._isSynchronizedProjectionMatrix())) { + return this._projectionMatrix; + } + this._refreshFrustumPlanes = true; + var engine = this.getEngine(); + var scene = this.getScene(); + if (this.mode === Camera.PERSPECTIVE_CAMERA) { + if (this.minZ <= 0) { + this.minZ = 0.1; + } + if (scene.useRightHandedSystem) { + BABYLON.Matrix.PerspectiveFovRHToRef(this.fov, engine.getAspectRatio(this), this.minZ, this.maxZ, this._projectionMatrix, this.fovMode === Camera.FOVMODE_VERTICAL_FIXED); + } + else { + BABYLON.Matrix.PerspectiveFovLHToRef(this.fov, engine.getAspectRatio(this), this.minZ, this.maxZ, this._projectionMatrix, this.fovMode === Camera.FOVMODE_VERTICAL_FIXED); + } + return this._projectionMatrix; + } + var halfWidth = engine.getRenderWidth() / 2.0; + var halfHeight = engine.getRenderHeight() / 2.0; + if (scene.useRightHandedSystem) { + BABYLON.Matrix.OrthoOffCenterRHToRef(this.orthoLeft || -halfWidth, this.orthoRight || halfWidth, this.orthoBottom || -halfHeight, this.orthoTop || halfHeight, this.minZ, this.maxZ, this._projectionMatrix); + } + else { + BABYLON.Matrix.OrthoOffCenterLHToRef(this.orthoLeft || -halfWidth, this.orthoRight || halfWidth, this.orthoBottom || -halfHeight, this.orthoTop || halfHeight, this.minZ, this.maxZ, this._projectionMatrix); + } + return this._projectionMatrix; + }; + Camera.prototype.getTranformationMatrix = function () { + this._computedViewMatrix.multiplyToRef(this._projectionMatrix, this._transformMatrix); + return this._transformMatrix; + }; + Camera.prototype.updateFrustumPlanes = function () { + if (!this._refreshFrustumPlanes) { + return; + } + this.getTranformationMatrix(); + if (!this._frustumPlanes) { + this._frustumPlanes = BABYLON.Frustum.GetPlanes(this._transformMatrix); + } + else { + BABYLON.Frustum.GetPlanesToRef(this._transformMatrix, this._frustumPlanes); + } + this._refreshFrustumPlanes = false; + }; + Camera.prototype.isInFrustum = function (target) { + this.updateFrustumPlanes(); + return target.isInFrustum(this._frustumPlanes); + }; + Camera.prototype.isCompletelyInFrustum = function (target) { + this.updateFrustumPlanes(); + return target.isCompletelyInFrustum(this._frustumPlanes); + }; + Camera.prototype.dispose = function () { + // Animations + this.getScene().stopAnimation(this); + // Remove from scene + this.getScene().removeCamera(this); + while (this._rigCameras.length > 0) { + this._rigCameras.pop().dispose(); + } + // Postprocesses + for (var i = 0; i < this._postProcesses.length; ++i) { + this._postProcesses[i].dispose(this); + } + _super.prototype.dispose.call(this); + }; + // ---- Camera rigs section ---- + Camera.prototype.setCameraRigMode = function (mode, rigParams) { + while (this._rigCameras.length > 0) { + this._rigCameras.pop().dispose(); + } + this.cameraRigMode = mode; + this._cameraRigParams = {}; + //we have to implement stereo camera calcultating left and right viewpoints from interaxialDistance and target, + //not from a given angle as it is now, but until that complete code rewriting provisional stereoHalfAngle value is introduced + this._cameraRigParams.interaxialDistance = rigParams.interaxialDistance || 0.0637; + this._cameraRigParams.stereoHalfAngle = BABYLON.Tools.ToRadians(this._cameraRigParams.interaxialDistance / 0.0637); + // create the rig cameras, unless none + if (this.cameraRigMode !== Camera.RIG_MODE_NONE) { + this._rigCameras.push(this.createRigCamera(this.name + "_L", 0)); + this._rigCameras.push(this.createRigCamera(this.name + "_R", 1)); + } + switch (this.cameraRigMode) { + case Camera.RIG_MODE_STEREOSCOPIC_ANAGLYPH: + this._rigCameras[0]._rigPostProcess = new BABYLON.PassPostProcess(this.name + "_passthru", 1.0, this._rigCameras[0]); + this._rigCameras[1]._rigPostProcess = new BABYLON.AnaglyphPostProcess(this.name + "_anaglyph", 1.0, this._rigCameras); + break; + case Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_PARALLEL: + case Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_CROSSEYED: + case Camera.RIG_MODE_STEREOSCOPIC_OVERUNDER: + var isStereoscopicHoriz = this.cameraRigMode === Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_PARALLEL || this.cameraRigMode === Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_CROSSEYED; + this._rigCameras[0]._rigPostProcess = new BABYLON.PassPostProcess(this.name + "_passthru", 1.0, this._rigCameras[0]); + this._rigCameras[1]._rigPostProcess = new BABYLON.StereoscopicInterlacePostProcess(this.name + "_stereoInterlace", this._rigCameras, isStereoscopicHoriz); + break; + case Camera.RIG_MODE_VR: + var metrics = rigParams.vrCameraMetrics || BABYLON.VRCameraMetrics.GetDefault(); + this._rigCameras[0]._cameraRigParams.vrMetrics = metrics; + this._rigCameras[0].viewport = new BABYLON.Viewport(0, 0, 0.5, 1.0); + this._rigCameras[0]._cameraRigParams.vrWorkMatrix = new BABYLON.Matrix(); + this._rigCameras[0]._cameraRigParams.vrHMatrix = metrics.leftHMatrix; + this._rigCameras[0]._cameraRigParams.vrPreViewMatrix = metrics.leftPreViewMatrix; + this._rigCameras[0].getProjectionMatrix = this._rigCameras[0]._getVRProjectionMatrix; + this._rigCameras[1]._cameraRigParams.vrMetrics = metrics; + this._rigCameras[1].viewport = new BABYLON.Viewport(0.5, 0, 0.5, 1.0); + this._rigCameras[1]._cameraRigParams.vrWorkMatrix = new BABYLON.Matrix(); + this._rigCameras[1]._cameraRigParams.vrHMatrix = metrics.rightHMatrix; + this._rigCameras[1]._cameraRigParams.vrPreViewMatrix = metrics.rightPreViewMatrix; + this._rigCameras[1].getProjectionMatrix = this._rigCameras[1]._getVRProjectionMatrix; + if (metrics.compensateDistortion) { + this._rigCameras[0]._rigPostProcess = new BABYLON.VRDistortionCorrectionPostProcess("VR_Distort_Compensation_Left", this._rigCameras[0], false, metrics); + this._rigCameras[1]._rigPostProcess = new BABYLON.VRDistortionCorrectionPostProcess("VR_Distort_Compensation_Right", this._rigCameras[1], true, metrics); + } + break; + case Camera.RIG_MODE_WEBVR: + if (rigParams.vrDisplay) { + //var leftEye = rigParams.vrDisplay.getEyeParameters('left'); + //var rightEye = rigParams.vrDisplay.getEyeParameters('right'); + this._rigCameras[0].viewport = new BABYLON.Viewport(0, 0, 0.5, 1.0); + this._rigCameras[0].setCameraRigParameter("left", true); + this._rigCameras[0].setCameraRigParameter("frameData", rigParams.frameData); + //this._rigCameras[0].setCameraRigParameter("vrOffsetMatrix", Matrix.Translation(-leftEye.offset[0], leftEye.offset[1], -leftEye.offset[2])); + this._rigCameras[0]._cameraRigParams.vrWorkMatrix = new BABYLON.Matrix(); + this._rigCameras[0].getProjectionMatrix = this._getWebVRProjectionMatrix; + //this._rigCameras[0]._getViewMatrix = this._getWebVRViewMatrix; + this._rigCameras[1].viewport = new BABYLON.Viewport(0.5, 0, 0.5, 1.0); + this._rigCameras[1].setCameraRigParameter("frameData", rigParams.frameData); + //this._rigCameras[1].setCameraRigParameter("vrOffsetMatrix", Matrix.Translation(-rightEye.offset[0], rightEye.offset[1], -rightEye.offset[2])); + this._rigCameras[1]._cameraRigParams.vrWorkMatrix = new BABYLON.Matrix(); + this._rigCameras[1].getProjectionMatrix = this._getWebVRProjectionMatrix; + } + break; + } + this._cascadePostProcessesToRigCams(); + this. + update(); + }; + Camera.prototype._getVRProjectionMatrix = function () { + BABYLON.Matrix.PerspectiveFovLHToRef(this._cameraRigParams.vrMetrics.aspectRatioFov, this._cameraRigParams.vrMetrics.aspectRatio, this.minZ, this.maxZ, this._cameraRigParams.vrWorkMatrix); + this._cameraRigParams.vrWorkMatrix.multiplyToRef(this._cameraRigParams.vrHMatrix, this._projectionMatrix); + return this._projectionMatrix; + }; + Camera.prototype._getWebVRProjectionMatrix = function () { + var projectionArray = this._cameraRigParams["left"] ? this._cameraRigParams["frameData"].leftProjectionMatrix : this._cameraRigParams["frameData"].rightProjectionMatrix; + //babylon compatible matrix + [8, 9, 10, 11].forEach(function (num) { + projectionArray[num] *= -1; + }); + BABYLON.Matrix.FromArrayToRef(projectionArray, 0, this._projectionMatrix); + return this._projectionMatrix; + }; + //Can be used, but we'll use the free camera's view matrix calculation + Camera.prototype._getWebVRViewMatrix = function () { + var projectionArray = this._cameraRigParams["left"] ? this._cameraRigParams["frameData"].leftViewMatrix : this._cameraRigParams["frameData"].rightViewMatrix; + //babylon compatible matrix + [8, 9, 10, 11].forEach(function (num) { + projectionArray[num] *= -1; + }); + BABYLON.Matrix.FromArrayToRef(projectionArray, 0, this._webvrViewMatrix); + return this._webvrViewMatrix; + }; + Camera.prototype.setCameraRigParameter = function (name, value) { + if (!this._cameraRigParams) { + this._cameraRigParams = {}; + } + this._cameraRigParams[name] = value; + //provisionnally: + if (name === "interaxialDistance") { + this._cameraRigParams.stereoHalfAngle = BABYLON.Tools.ToRadians(value / 0.0637); + } + }; + /** + * needs to be overridden by children so sub has required properties to be copied + */ + Camera.prototype.createRigCamera = function (name, cameraIndex) { + return null; + }; + /** + * May need to be overridden by children + */ + Camera.prototype._updateRigCameras = function () { + for (var i = 0; i < this._rigCameras.length; i++) { + this._rigCameras[i].minZ = this.minZ; + this._rigCameras[i].maxZ = this.maxZ; + this._rigCameras[i].fov = this.fov; + } + // only update viewport when ANAGLYPH + if (this.cameraRigMode === Camera.RIG_MODE_STEREOSCOPIC_ANAGLYPH) { + this._rigCameras[0].viewport = this._rigCameras[1].viewport = this.viewport; + } + }; + Camera.prototype._setupInputs = function () { + }; + Camera.prototype.serialize = function () { + var serializationObject = BABYLON.SerializationHelper.Serialize(this); + // Type + serializationObject.type = this.getTypeName(); + // Parent + if (this.parent) { + serializationObject.parentId = this.parent.id; + } + if (this.inputs) { + this.inputs.serialize(serializationObject); + } + // Animations + BABYLON.Animation.AppendSerializedAnimations(this, serializationObject); + serializationObject.ranges = this.serializeAnimationRanges(); + return serializationObject; + }; + Camera.prototype.getTypeName = function () { + return "Camera"; + }; + Camera.prototype.clone = function (name) { + return BABYLON.SerializationHelper.Clone(Camera.GetConstructorFromName(this.getTypeName(), name, this.getScene(), this.interaxialDistance, this.isStereoscopicSideBySide), this); + }; + Camera.prototype.getDirection = function (localAxis) { + var result = BABYLON.Vector3.Zero(); + this.getDirectionToRef(localAxis, result); + return result; + }; + Camera.prototype.getDirectionToRef = function (localAxis, result) { + BABYLON.Vector3.TransformNormalToRef(localAxis, this.getWorldMatrix(), result); + }; + Camera.GetConstructorFromName = function (type, name, scene, interaxial_distance, isStereoscopicSideBySide) { + if (interaxial_distance === void 0) { interaxial_distance = 0; } + if (isStereoscopicSideBySide === void 0) { isStereoscopicSideBySide = true; } + switch (type) { + case "ArcRotateCamera": + return function () { return new BABYLON.ArcRotateCamera(name, 0, 0, 1.0, BABYLON.Vector3.Zero(), scene); }; + case "DeviceOrientationCamera": + return function () { return new BABYLON.DeviceOrientationCamera(name, BABYLON.Vector3.Zero(), scene); }; + case "FollowCamera": + return function () { return new BABYLON.FollowCamera(name, BABYLON.Vector3.Zero(), scene); }; + case "ArcFollowCamera": + return function () { return new BABYLON.ArcFollowCamera(name, 0, 0, 1.0, null, scene); }; + case "GamepadCamera": + return function () { return new BABYLON.GamepadCamera(name, BABYLON.Vector3.Zero(), scene); }; + case "TouchCamera": + return function () { return new BABYLON.TouchCamera(name, BABYLON.Vector3.Zero(), scene); }; + case "VirtualJoysticksCamera": + return function () { return new BABYLON.VirtualJoysticksCamera(name, BABYLON.Vector3.Zero(), scene); }; + case "WebVRFreeCamera": + return function () { return new BABYLON.WebVRFreeCamera(name, BABYLON.Vector3.Zero(), scene); }; + case "VRDeviceOrientationFreeCamera": + return function () { return new BABYLON.VRDeviceOrientationFreeCamera(name, BABYLON.Vector3.Zero(), scene); }; + case "AnaglyphArcRotateCamera": + return function () { return new BABYLON.AnaglyphArcRotateCamera(name, 0, 0, 1.0, BABYLON.Vector3.Zero(), interaxial_distance, scene); }; + case "AnaglyphFreeCamera": + return function () { return new BABYLON.AnaglyphFreeCamera(name, BABYLON.Vector3.Zero(), interaxial_distance, scene); }; + case "AnaglyphGamepadCamera": + return function () { return new BABYLON.AnaglyphGamepadCamera(name, BABYLON.Vector3.Zero(), interaxial_distance, scene); }; + case "AnaglyphUniversalCamera": + return function () { return new BABYLON.AnaglyphUniversalCamera(name, BABYLON.Vector3.Zero(), interaxial_distance, scene); }; + case "StereoscopicArcRotateCamera": + return function () { return new BABYLON.StereoscopicArcRotateCamera(name, 0, 0, 1.0, BABYLON.Vector3.Zero(), interaxial_distance, isStereoscopicSideBySide, scene); }; + case "StereoscopicFreeCamera": + return function () { return new BABYLON.StereoscopicFreeCamera(name, BABYLON.Vector3.Zero(), interaxial_distance, isStereoscopicSideBySide, scene); }; + case "StereoscopicGamepadCamera": + return function () { return new BABYLON.StereoscopicGamepadCamera(name, BABYLON.Vector3.Zero(), interaxial_distance, isStereoscopicSideBySide, scene); }; + case "StereoscopicUniversalCamera": + return function () { return new BABYLON.StereoscopicUniversalCamera(name, BABYLON.Vector3.Zero(), interaxial_distance, isStereoscopicSideBySide, scene); }; + case "FreeCamera": + return function () { return new BABYLON.UniversalCamera(name, BABYLON.Vector3.Zero(), scene); }; + default: + return function () { return new BABYLON.UniversalCamera(name, BABYLON.Vector3.Zero(), scene); }; + } + }; + Camera.Parse = function (parsedCamera, scene) { + var type = parsedCamera.type; + var construct = Camera.GetConstructorFromName(type, parsedCamera.name, scene, parsedCamera.interaxial_distance, parsedCamera.isStereoscopicSideBySide); + var camera = BABYLON.SerializationHelper.Parse(construct, parsedCamera, scene); + // Parent + if (parsedCamera.parentId) { + camera._waitingParentId = parsedCamera.parentId; + } + //If camera has an input manager, let it parse inputs settings + if (camera.inputs) { + camera.inputs.parse(parsedCamera); + camera._setupInputs(); + } + // Target + if (parsedCamera.target) { + if (camera.setTarget) { + camera.setTarget(BABYLON.Vector3.FromArray(parsedCamera.target)); + } + } + // Apply 3d rig, when found + if (parsedCamera.cameraRigMode) { + var rigParams = (parsedCamera.interaxial_distance) ? { interaxialDistance: parsedCamera.interaxial_distance } : {}; + camera.setCameraRigMode(parsedCamera.cameraRigMode, rigParams); + } + // Animations + if (parsedCamera.animations) { + for (var animationIndex = 0; animationIndex < parsedCamera.animations.length; animationIndex++) { + var parsedAnimation = parsedCamera.animations[animationIndex]; + camera.animations.push(BABYLON.Animation.Parse(parsedAnimation)); + } + BABYLON.Node.ParseAnimationRanges(camera, parsedCamera, scene); + } + if (parsedCamera.autoAnimate) { + scene.beginAnimation(camera, parsedCamera.autoAnimateFrom, parsedCamera.autoAnimateTo, parsedCamera.autoAnimateLoop, parsedCamera.autoAnimateSpeed || 1.0); + } + return camera; + }; + // Statics + Camera._PERSPECTIVE_CAMERA = 0; + Camera._ORTHOGRAPHIC_CAMERA = 1; + Camera._FOVMODE_VERTICAL_FIXED = 0; + Camera._FOVMODE_HORIZONTAL_FIXED = 1; + Camera._RIG_MODE_NONE = 0; + Camera._RIG_MODE_STEREOSCOPIC_ANAGLYPH = 10; + Camera._RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_PARALLEL = 11; + Camera._RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_CROSSEYED = 12; + Camera._RIG_MODE_STEREOSCOPIC_OVERUNDER = 13; + Camera._RIG_MODE_VR = 20; + Camera._RIG_MODE_WEBVR = 21; + Camera.ForceAttachControlToAlwaysPreventDefault = false; + __decorate([ + BABYLON.serializeAsVector3() + ], Camera.prototype, "position", void 0); + __decorate([ + BABYLON.serializeAsVector3() + ], Camera.prototype, "upVector", void 0); + __decorate([ + BABYLON.serialize() + ], Camera.prototype, "orthoLeft", void 0); + __decorate([ + BABYLON.serialize() + ], Camera.prototype, "orthoRight", void 0); + __decorate([ + BABYLON.serialize() + ], Camera.prototype, "orthoBottom", void 0); + __decorate([ + BABYLON.serialize() + ], Camera.prototype, "orthoTop", void 0); + __decorate([ + BABYLON.serialize() + ], Camera.prototype, "fov", void 0); + __decorate([ + BABYLON.serialize() + ], Camera.prototype, "minZ", void 0); + __decorate([ + BABYLON.serialize() + ], Camera.prototype, "maxZ", void 0); + __decorate([ + BABYLON.serialize() + ], Camera.prototype, "inertia", void 0); + __decorate([ + BABYLON.serialize() + ], Camera.prototype, "mode", void 0); + __decorate([ + BABYLON.serialize() + ], Camera.prototype, "layerMask", void 0); + __decorate([ + BABYLON.serialize() + ], Camera.prototype, "fovMode", void 0); + __decorate([ + BABYLON.serialize() + ], Camera.prototype, "cameraRigMode", void 0); + __decorate([ + BABYLON.serialize() + ], Camera.prototype, "interaxialDistance", void 0); + __decorate([ + BABYLON.serialize() + ], Camera.prototype, "isStereoscopicSideBySide", void 0); + return Camera; + }(BABYLON.Node)); + BABYLON.Camera = Camera; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.camera.js.map + +var BABYLON; +(function (BABYLON) { + BABYLON.CameraInputTypes = {}; + var CameraInputsManager = (function () { + function CameraInputsManager(camera) { + this.attached = {}; + this.camera = camera; + this.checkInputs = function () { }; + } + CameraInputsManager.prototype.add = function (input) { + var type = input.getSimpleName(); + if (this.attached[type]) { + BABYLON.Tools.Warn("camera input of type " + type + " already exists on camera"); + return; + } + this.attached[type] = input; + input.camera = this.camera; + //for checkInputs, we are dynamically creating a function + //the goal is to avoid the performance penalty of looping for inputs in the render loop + if (input.checkInputs) { + this.checkInputs = this._addCheckInputs(input.checkInputs.bind(input)); + } + if (this.attachedElement) { + input.attachControl(this.attachedElement); + } + }; + CameraInputsManager.prototype.remove = function (inputToRemove) { + for (var cam in this.attached) { + var input = this.attached[cam]; + if (input === inputToRemove) { + input.detachControl(this.attachedElement); + delete this.attached[cam]; + this.rebuildInputCheck(); + } + } + }; + CameraInputsManager.prototype.removeByType = function (inputType) { + for (var cam in this.attached) { + var input = this.attached[cam]; + if (input.getTypeName() === inputType) { + input.detachControl(this.attachedElement); + delete this.attached[cam]; + this.rebuildInputCheck(); + } + } + }; + CameraInputsManager.prototype._addCheckInputs = function (fn) { + var current = this.checkInputs; + return function () { + current(); + fn(); + }; + }; + CameraInputsManager.prototype.attachInput = function (input) { + input.attachControl(this.attachedElement, this.noPreventDefault); + }; + CameraInputsManager.prototype.attachElement = function (element, noPreventDefault) { + if (this.attachedElement) { + return; + } + noPreventDefault = BABYLON.Camera.ForceAttachControlToAlwaysPreventDefault ? false : noPreventDefault; + this.attachedElement = element; + this.noPreventDefault = noPreventDefault; + for (var cam in this.attached) { + var input = this.attached[cam]; + this.attached[cam].attachControl(element, noPreventDefault); + } + }; + CameraInputsManager.prototype.detachElement = function (element) { + if (this.attachedElement !== element) { + return; + } + for (var cam in this.attached) { + var input = this.attached[cam]; + this.attached[cam].detachControl(element); + } + this.attachedElement = null; + }; + CameraInputsManager.prototype.rebuildInputCheck = function () { + this.checkInputs = function () { }; + for (var cam in this.attached) { + var input = this.attached[cam]; + if (input.checkInputs) { + this.checkInputs = this._addCheckInputs(input.checkInputs.bind(input)); + } + } + }; + CameraInputsManager.prototype.clear = function () { + if (this.attachedElement) { + this.detachElement(this.attachedElement); + } + this.attached = {}; + this.attachedElement = null; + this.checkInputs = function () { }; + }; + CameraInputsManager.prototype.serialize = function (serializedCamera) { + var inputs = {}; + for (var cam in this.attached) { + var input = this.attached[cam]; + var res = BABYLON.SerializationHelper.Serialize(input); + inputs[input.getTypeName()] = res; + } + serializedCamera.inputsmgr = inputs; + }; + CameraInputsManager.prototype.parse = function (parsedCamera) { + var parsedInputs = parsedCamera.inputsmgr; + if (parsedInputs) { + this.clear(); + for (var n in parsedInputs) { + var construct = BABYLON.CameraInputTypes[n]; + if (construct) { + var parsedinput = parsedInputs[n]; + var input = BABYLON.SerializationHelper.Parse(function () { return new construct(); }, parsedinput, null); + this.add(input); + } + } + } + else { + //2016-03-08 this part is for managing backward compatibility + for (var n in this.attached) { + var construct = BABYLON.CameraInputTypes[this.attached[n].getTypeName()]; + if (construct) { + var input = BABYLON.SerializationHelper.Parse(function () { return new construct(); }, parsedCamera, null); + this.remove(this.attached[n]); + this.add(input); + } + } + } + }; + return CameraInputsManager; + }()); + BABYLON.CameraInputsManager = CameraInputsManager; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.cameraInputsManager.js.map + + +var BABYLON; +(function (BABYLON) { + var FreeCameraMouseInput = (function () { + function FreeCameraMouseInput(touchEnabled) { + if (touchEnabled === void 0) { touchEnabled = true; } + this.touchEnabled = touchEnabled; + this.buttons = [0, 1, 2]; + this.angularSensibility = 2000.0; + } + FreeCameraMouseInput.prototype.attachControl = function (element, noPreventDefault) { + var _this = this; + var engine = this.camera.getEngine(); + if (!this._pointerInput) { + this._pointerInput = function (p, s) { + var evt = p.event; + if (!_this.touchEnabled && evt.pointerType === "touch") { + return; + } + if (p.type !== BABYLON.PointerEventTypes.POINTERMOVE && _this.buttons.indexOf(evt.button) === -1) { + return; + } + if (p.type === BABYLON.PointerEventTypes.POINTERDOWN) { + try { + evt.srcElement.setPointerCapture(evt.pointerId); + } + catch (e) { + } + _this.previousPosition = { + x: evt.clientX, + y: evt.clientY + }; + if (!noPreventDefault) { + evt.preventDefault(); + element.focus(); + } + } + else if (p.type === BABYLON.PointerEventTypes.POINTERUP) { + try { + evt.srcElement.releasePointerCapture(evt.pointerId); + } + catch (e) { + } + _this.previousPosition = null; + if (!noPreventDefault) { + evt.preventDefault(); + } + } + else if (p.type === BABYLON.PointerEventTypes.POINTERMOVE) { + if (!_this.previousPosition || engine.isPointerLock) { + return; + } + var offsetX = evt.clientX - _this.previousPosition.x; + var offsetY = evt.clientY - _this.previousPosition.y; + if (_this.camera.getScene().useRightHandedSystem) { + _this.camera.cameraRotation.y -= offsetX / _this.angularSensibility; + } + else { + _this.camera.cameraRotation.y += offsetX / _this.angularSensibility; + } + _this.camera.cameraRotation.x += offsetY / _this.angularSensibility; + _this.previousPosition = { + x: evt.clientX, + y: evt.clientY + }; + if (!noPreventDefault) { + evt.preventDefault(); + } + } + }; + } + this._onMouseMove = function (evt) { + if (!engine.isPointerLock) { + return; + } + var offsetX = evt.movementX || evt.mozMovementX || evt.webkitMovementX || evt.msMovementX || 0; + var offsetY = evt.movementY || evt.mozMovementY || evt.webkitMovementY || evt.msMovementY || 0; + if (_this.camera.getScene().useRightHandedSystem) { + _this.camera.cameraRotation.y -= offsetX / _this.angularSensibility; + } + else { + _this.camera.cameraRotation.y += offsetX / _this.angularSensibility; + } + _this.camera.cameraRotation.x += offsetY / _this.angularSensibility; + _this.previousPosition = null; + if (!noPreventDefault) { + evt.preventDefault(); + } + }; + this._observer = this.camera.getScene().onPointerObservable.add(this._pointerInput, BABYLON.PointerEventTypes.POINTERDOWN | BABYLON.PointerEventTypes.POINTERUP | BABYLON.PointerEventTypes.POINTERMOVE); + element.addEventListener("mousemove", this._onMouseMove, false); + }; + FreeCameraMouseInput.prototype.detachControl = function (element) { + if (this._observer && element) { + this.camera.getScene().onPointerObservable.remove(this._observer); + element.removeEventListener("mousemove", this._onMouseMove); + this._observer = null; + this._onMouseMove = null; + this.previousPosition = null; + } + }; + FreeCameraMouseInput.prototype.getTypeName = function () { + return "FreeCameraMouseInput"; + }; + FreeCameraMouseInput.prototype.getSimpleName = function () { + return "mouse"; + }; + __decorate([ + BABYLON.serialize() + ], FreeCameraMouseInput.prototype, "buttons", void 0); + __decorate([ + BABYLON.serialize() + ], FreeCameraMouseInput.prototype, "angularSensibility", void 0); + return FreeCameraMouseInput; + }()); + BABYLON.FreeCameraMouseInput = FreeCameraMouseInput; + BABYLON.CameraInputTypes["FreeCameraMouseInput"] = FreeCameraMouseInput; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.freecamera.input.mouse.js.map + + +var BABYLON; +(function (BABYLON) { + var FreeCameraKeyboardMoveInput = (function () { + function FreeCameraKeyboardMoveInput() { + this._keys = []; + this.keysUp = [38]; + this.keysDown = [40]; + this.keysLeft = [37]; + this.keysRight = [39]; + } + FreeCameraKeyboardMoveInput.prototype.attachControl = function (element, noPreventDefault) { + var _this = this; + if (!this._onKeyDown) { + element.tabIndex = 1; + this._onKeyDown = function (evt) { + if (_this.keysUp.indexOf(evt.keyCode) !== -1 || + _this.keysDown.indexOf(evt.keyCode) !== -1 || + _this.keysLeft.indexOf(evt.keyCode) !== -1 || + _this.keysRight.indexOf(evt.keyCode) !== -1) { + var index = _this._keys.indexOf(evt.keyCode); + if (index === -1) { + _this._keys.push(evt.keyCode); + } + if (!noPreventDefault) { + evt.preventDefault(); + } + } + }; + this._onKeyUp = function (evt) { + if (_this.keysUp.indexOf(evt.keyCode) !== -1 || + _this.keysDown.indexOf(evt.keyCode) !== -1 || + _this.keysLeft.indexOf(evt.keyCode) !== -1 || + _this.keysRight.indexOf(evt.keyCode) !== -1) { + var index = _this._keys.indexOf(evt.keyCode); + if (index >= 0) { + _this._keys.splice(index, 1); + } + if (!noPreventDefault) { + evt.preventDefault(); + } + } + }; + element.addEventListener("keydown", this._onKeyDown, false); + element.addEventListener("keyup", this._onKeyUp, false); + BABYLON.Tools.RegisterTopRootEvents([ + { name: "blur", handler: this._onLostFocus } + ]); + } + }; + FreeCameraKeyboardMoveInput.prototype.detachControl = function (element) { + if (this._onKeyDown) { + element.removeEventListener("keydown", this._onKeyDown); + element.removeEventListener("keyup", this._onKeyUp); + BABYLON.Tools.UnregisterTopRootEvents([ + { name: "blur", handler: this._onLostFocus } + ]); + this._keys = []; + this._onKeyDown = null; + this._onKeyUp = null; + } + }; + FreeCameraKeyboardMoveInput.prototype.checkInputs = function () { + if (this._onKeyDown) { + var camera = this.camera; + // Keyboard + for (var index = 0; index < this._keys.length; index++) { + var keyCode = this._keys[index]; + var speed = camera._computeLocalCameraSpeed(); + if (this.keysLeft.indexOf(keyCode) !== -1) { + camera._localDirection.copyFromFloats(-speed, 0, 0); + } + else if (this.keysUp.indexOf(keyCode) !== -1) { + camera._localDirection.copyFromFloats(0, 0, speed); + } + else if (this.keysRight.indexOf(keyCode) !== -1) { + camera._localDirection.copyFromFloats(speed, 0, 0); + } + else if (this.keysDown.indexOf(keyCode) !== -1) { + camera._localDirection.copyFromFloats(0, 0, -speed); + } + if (camera.getScene().useRightHandedSystem) { + camera._localDirection.z *= -1; + } + camera.getViewMatrix().invertToRef(camera._cameraTransformMatrix); + BABYLON.Vector3.TransformNormalToRef(camera._localDirection, camera._cameraTransformMatrix, camera._transformedDirection); + camera.cameraDirection.addInPlace(camera._transformedDirection); + } + } + }; + FreeCameraKeyboardMoveInput.prototype.getTypeName = function () { + return "FreeCameraKeyboardMoveInput"; + }; + FreeCameraKeyboardMoveInput.prototype._onLostFocus = function (e) { + this._keys = []; + }; + FreeCameraKeyboardMoveInput.prototype.getSimpleName = function () { + return "keyboard"; + }; + __decorate([ + BABYLON.serialize() + ], FreeCameraKeyboardMoveInput.prototype, "keysUp", void 0); + __decorate([ + BABYLON.serialize() + ], FreeCameraKeyboardMoveInput.prototype, "keysDown", void 0); + __decorate([ + BABYLON.serialize() + ], FreeCameraKeyboardMoveInput.prototype, "keysLeft", void 0); + __decorate([ + BABYLON.serialize() + ], FreeCameraKeyboardMoveInput.prototype, "keysRight", void 0); + return FreeCameraKeyboardMoveInput; + }()); + BABYLON.FreeCameraKeyboardMoveInput = FreeCameraKeyboardMoveInput; + BABYLON.CameraInputTypes["FreeCameraKeyboardMoveInput"] = FreeCameraKeyboardMoveInput; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.freecamera.input.keyboard.js.map + + +var BABYLON; +(function (BABYLON) { + var FreeCameraTouchInput = (function () { + function FreeCameraTouchInput() { + this._offsetX = null; + this._offsetY = null; + this._pointerCount = 0; + this._pointerPressed = []; + this.touchAngularSensibility = 200000.0; + this.touchMoveSensibility = 250.0; + } + FreeCameraTouchInput.prototype.attachControl = function (element, noPreventDefault) { + var _this = this; + var previousPosition; + if (this._pointerInput === undefined) { + this._onLostFocus = function (evt) { + _this._offsetX = null; + _this._offsetY = null; + }; + this._pointerInput = function (p, s) { + var evt = p.event; + if (evt.pointerType === "mouse") { + return; + } + if (p.type === BABYLON.PointerEventTypes.POINTERDOWN) { + if (!noPreventDefault) { + evt.preventDefault(); + } + _this._pointerPressed.push(evt.pointerId); + if (_this._pointerPressed.length !== 1) { + return; + } + previousPosition = { + x: evt.clientX, + y: evt.clientY + }; + } + else if (p.type === BABYLON.PointerEventTypes.POINTERUP) { + if (!noPreventDefault) { + evt.preventDefault(); + } + var index = _this._pointerPressed.indexOf(evt.pointerId); + if (index === -1) { + return; + } + _this._pointerPressed.splice(index, 1); + if (index != 0) { + return; + } + previousPosition = null; + _this._offsetX = null; + _this._offsetY = null; + } + else if (p.type === BABYLON.PointerEventTypes.POINTERMOVE) { + if (!noPreventDefault) { + evt.preventDefault(); + } + if (!previousPosition) { + return; + } + var index = _this._pointerPressed.indexOf(evt.pointerId); + if (index != 0) { + return; + } + _this._offsetX = evt.clientX - previousPosition.x; + _this._offsetY = -(evt.clientY - previousPosition.y); + } + }; + } + this._observer = this.camera.getScene().onPointerObservable.add(this._pointerInput, BABYLON.PointerEventTypes.POINTERDOWN | BABYLON.PointerEventTypes.POINTERUP | BABYLON.PointerEventTypes.POINTERMOVE); + element.addEventListener("blur", this._onLostFocus); + }; + FreeCameraTouchInput.prototype.detachControl = function (element) { + if (this._pointerInput && element) { + this.camera.getScene().onPointerObservable.remove(this._observer); + this._observer = null; + element.removeEventListener("blur", this._onLostFocus); + this._onLostFocus = null; + this._pointerPressed = []; + this._offsetX = null; + this._offsetY = null; + this._pointerCount = 0; + } + }; + FreeCameraTouchInput.prototype.checkInputs = function () { + if (this._offsetX) { + var camera = this.camera; + camera.cameraRotation.y += this._offsetX / this.touchAngularSensibility; + if (this._pointerPressed.length > 1) { + camera.cameraRotation.x += -this._offsetY / this.touchAngularSensibility; + } + else { + var speed = camera._computeLocalCameraSpeed(); + var direction = new BABYLON.Vector3(0, 0, speed * this._offsetY / this.touchMoveSensibility); + BABYLON.Matrix.RotationYawPitchRollToRef(camera.rotation.y, camera.rotation.x, 0, camera._cameraRotationMatrix); + camera.cameraDirection.addInPlace(BABYLON.Vector3.TransformCoordinates(direction, camera._cameraRotationMatrix)); + } + } + }; + FreeCameraTouchInput.prototype.getTypeName = function () { + return "FreeCameraTouchInput"; + }; + FreeCameraTouchInput.prototype.getSimpleName = function () { + return "touch"; + }; + __decorate([ + BABYLON.serialize() + ], FreeCameraTouchInput.prototype, "touchAngularSensibility", void 0); + __decorate([ + BABYLON.serialize() + ], FreeCameraTouchInput.prototype, "touchMoveSensibility", void 0); + return FreeCameraTouchInput; + }()); + BABYLON.FreeCameraTouchInput = FreeCameraTouchInput; + BABYLON.CameraInputTypes["FreeCameraTouchInput"] = FreeCameraTouchInput; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.freecamera.input.touch.js.map + +var BABYLON; +(function (BABYLON) { + var FreeCameraDeviceOrientationInput = (function () { + function FreeCameraDeviceOrientationInput() { + var _this = this; + this._screenOrientationAngle = 0; + this._screenQuaternion = new BABYLON.Quaternion(); + this._alpha = 0; + this._beta = 0; + this._gamma = 0; + this._orientationChanged = function () { + _this._screenOrientationAngle = (window.orientation !== undefined ? +window.orientation : (window.screen.orientation && window.screen.orientation['angle'] ? window.screen.orientation.angle : 0)); + _this._screenOrientationAngle = -BABYLON.Tools.ToRadians(_this._screenOrientationAngle / 2); + _this._screenQuaternion.copyFromFloats(0, Math.sin(_this._screenOrientationAngle), 0, Math.cos(_this._screenOrientationAngle)); + }; + this._deviceOrientation = function (evt) { + _this._alpha = evt.alpha; + _this._beta = evt.beta; + _this._gamma = evt.gamma; + }; + this._constantTranform = new BABYLON.Quaternion(-Math.sqrt(0.5), 0, 0, Math.sqrt(0.5)); + this._orientationChanged(); + } + Object.defineProperty(FreeCameraDeviceOrientationInput.prototype, "camera", { + get: function () { + return this._camera; + }, + set: function (camera) { + this._camera = camera; + if (!this._camera.rotationQuaternion) + this._camera.rotationQuaternion = new BABYLON.Quaternion(); + }, + enumerable: true, + configurable: true + }); + FreeCameraDeviceOrientationInput.prototype.attachControl = function (element, noPreventDefault) { + window.addEventListener("orientationchange", this._orientationChanged); + window.addEventListener("deviceorientation", this._deviceOrientation); + //In certain cases, the attach control is called AFTER orientation was changed, + //So this is needed. + this._orientationChanged(); + }; + FreeCameraDeviceOrientationInput.prototype.detachControl = function (element) { + window.removeEventListener("orientationchange", this._orientationChanged); + window.removeEventListener("deviceorientation", this._deviceOrientation); + }; + FreeCameraDeviceOrientationInput.prototype.checkInputs = function () { + //if no device orientation provided, don't update the rotation. + //Only testing against alpha under the assumption thatnorientation will never be so exact when set. + if (!this._alpha) + return; + BABYLON.Quaternion.RotationYawPitchRollToRef(BABYLON.Tools.ToRadians(this._alpha), BABYLON.Tools.ToRadians(this._beta), -BABYLON.Tools.ToRadians(this._gamma), this.camera.rotationQuaternion); + this._camera.rotationQuaternion.multiplyInPlace(this._screenQuaternion); + this._camera.rotationQuaternion.multiplyInPlace(this._constantTranform); + //Mirror on XY Plane + this._camera.rotationQuaternion.z *= -1; + this._camera.rotationQuaternion.w *= -1; + }; + FreeCameraDeviceOrientationInput.prototype.getTypeName = function () { + return "FreeCameraDeviceOrientationInput"; + }; + FreeCameraDeviceOrientationInput.prototype.getSimpleName = function () { + return "deviceOrientation"; + }; + return FreeCameraDeviceOrientationInput; + }()); + BABYLON.FreeCameraDeviceOrientationInput = FreeCameraDeviceOrientationInput; + BABYLON.CameraInputTypes["FreeCameraDeviceOrientationInput"] = FreeCameraDeviceOrientationInput; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.freecamera.input.deviceorientation.js.map + + +var BABYLON; +(function (BABYLON) { + var FreeCameraGamepadInput = (function () { + function FreeCameraGamepadInput() { + this.gamepadAngularSensibility = 200; + this.gamepadMoveSensibility = 40; + } + FreeCameraGamepadInput.prototype.attachControl = function (element, noPreventDefault) { + var _this = this; + this._gamepads = new BABYLON.Gamepads(function (gamepad) { _this._onNewGameConnected(gamepad); }); + }; + FreeCameraGamepadInput.prototype.detachControl = function (element) { + if (this._gamepads) { + this._gamepads.dispose(); + } + this.gamepad = null; + }; + FreeCameraGamepadInput.prototype.checkInputs = function () { + if (this.gamepad) { + var camera = this.camera; + var LSValues = this.gamepad.leftStick; + var normalizedLX = LSValues.x / this.gamepadMoveSensibility; + var normalizedLY = LSValues.y / this.gamepadMoveSensibility; + LSValues.x = Math.abs(normalizedLX) > 0.005 ? 0 + normalizedLX : 0; + LSValues.y = Math.abs(normalizedLY) > 0.005 ? 0 + normalizedLY : 0; + var RSValues = this.gamepad.rightStick; + var normalizedRX = RSValues.x / this.gamepadAngularSensibility; + var normalizedRY = RSValues.y / this.gamepadAngularSensibility; + RSValues.x = Math.abs(normalizedRX) > 0.001 ? 0 + normalizedRX : 0; + RSValues.y = Math.abs(normalizedRY) > 0.001 ? 0 + normalizedRY : 0; + var cameraTransform = BABYLON.Matrix.RotationYawPitchRoll(camera.rotation.y, camera.rotation.x, 0); + var speed = camera._computeLocalCameraSpeed() * 50.0; + var deltaTransform = BABYLON.Vector3.TransformCoordinates(new BABYLON.Vector3(LSValues.x * speed, 0, -LSValues.y * speed), cameraTransform); + camera.cameraDirection = camera.cameraDirection.add(deltaTransform); + camera.cameraRotation = camera.cameraRotation.add(new BABYLON.Vector2(RSValues.y, RSValues.x)); + } + }; + FreeCameraGamepadInput.prototype._onNewGameConnected = function (gamepad) { + // Only the first gamepad can control the camera + if (gamepad.index === 0) { + this.gamepad = gamepad; + } + }; + FreeCameraGamepadInput.prototype.getTypeName = function () { + return "FreeCameraGamepadInput"; + }; + FreeCameraGamepadInput.prototype.getSimpleName = function () { + return "gamepad"; + }; + __decorate([ + BABYLON.serialize() + ], FreeCameraGamepadInput.prototype, "gamepadAngularSensibility", void 0); + __decorate([ + BABYLON.serialize() + ], FreeCameraGamepadInput.prototype, "gamepadMoveSensibility", void 0); + return FreeCameraGamepadInput; + }()); + BABYLON.FreeCameraGamepadInput = FreeCameraGamepadInput; + BABYLON.CameraInputTypes["FreeCameraGamepadInput"] = FreeCameraGamepadInput; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.freecamera.input.gamepad.js.map + + +var BABYLON; +(function (BABYLON) { + var ArcRotateCameraKeyboardMoveInput = (function () { + function ArcRotateCameraKeyboardMoveInput() { + this._keys = []; + this.keysUp = [38]; + this.keysDown = [40]; + this.keysLeft = [37]; + this.keysRight = [39]; + } + ArcRotateCameraKeyboardMoveInput.prototype.attachControl = function (element, noPreventDefault) { + var _this = this; + element.tabIndex = 1; + this._onKeyDown = function (evt) { + if (_this.keysUp.indexOf(evt.keyCode) !== -1 || + _this.keysDown.indexOf(evt.keyCode) !== -1 || + _this.keysLeft.indexOf(evt.keyCode) !== -1 || + _this.keysRight.indexOf(evt.keyCode) !== -1) { + var index = _this._keys.indexOf(evt.keyCode); + if (index === -1) { + _this._keys.push(evt.keyCode); + } + if (evt.preventDefault) { + if (!noPreventDefault) { + evt.preventDefault(); + } + } + } + }; + this._onKeyUp = function (evt) { + if (_this.keysUp.indexOf(evt.keyCode) !== -1 || + _this.keysDown.indexOf(evt.keyCode) !== -1 || + _this.keysLeft.indexOf(evt.keyCode) !== -1 || + _this.keysRight.indexOf(evt.keyCode) !== -1) { + var index = _this._keys.indexOf(evt.keyCode); + if (index >= 0) { + _this._keys.splice(index, 1); + } + if (evt.preventDefault) { + if (!noPreventDefault) { + evt.preventDefault(); + } + } + } + }; + this._onLostFocus = function () { + _this._keys = []; + }; + element.addEventListener("keydown", this._onKeyDown, false); + element.addEventListener("keyup", this._onKeyUp, false); + BABYLON.Tools.RegisterTopRootEvents([ + { name: "blur", handler: this._onLostFocus } + ]); + }; + ArcRotateCameraKeyboardMoveInput.prototype.detachControl = function (element) { + if (element) { + element.removeEventListener("keydown", this._onKeyDown); + element.removeEventListener("keyup", this._onKeyUp); + } + BABYLON.Tools.UnregisterTopRootEvents([ + { name: "blur", handler: this._onLostFocus } + ]); + this._keys = []; + this._onKeyDown = null; + this._onKeyUp = null; + this._onLostFocus = null; + }; + ArcRotateCameraKeyboardMoveInput.prototype.checkInputs = function () { + if (this._onKeyDown) { + var camera = this.camera; + for (var index = 0; index < this._keys.length; index++) { + var keyCode = this._keys[index]; + if (this.keysLeft.indexOf(keyCode) !== -1) { + camera.inertialAlphaOffset -= 0.01; + } + else if (this.keysUp.indexOf(keyCode) !== -1) { + camera.inertialBetaOffset -= 0.01; + } + else if (this.keysRight.indexOf(keyCode) !== -1) { + camera.inertialAlphaOffset += 0.01; + } + else if (this.keysDown.indexOf(keyCode) !== -1) { + camera.inertialBetaOffset += 0.01; + } + } + } + }; + ArcRotateCameraKeyboardMoveInput.prototype.getTypeName = function () { + return "ArcRotateCameraKeyboardMoveInput"; + }; + ArcRotateCameraKeyboardMoveInput.prototype.getSimpleName = function () { + return "keyboard"; + }; + __decorate([ + BABYLON.serialize() + ], ArcRotateCameraKeyboardMoveInput.prototype, "keysUp", void 0); + __decorate([ + BABYLON.serialize() + ], ArcRotateCameraKeyboardMoveInput.prototype, "keysDown", void 0); + __decorate([ + BABYLON.serialize() + ], ArcRotateCameraKeyboardMoveInput.prototype, "keysLeft", void 0); + __decorate([ + BABYLON.serialize() + ], ArcRotateCameraKeyboardMoveInput.prototype, "keysRight", void 0); + return ArcRotateCameraKeyboardMoveInput; + }()); + BABYLON.ArcRotateCameraKeyboardMoveInput = ArcRotateCameraKeyboardMoveInput; + BABYLON.CameraInputTypes["ArcRotateCameraKeyboardMoveInput"] = ArcRotateCameraKeyboardMoveInput; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.arcrotatecamera.input.keyboard.js.map + + +var BABYLON; +(function (BABYLON) { + var ArcRotateCameraMouseWheelInput = (function () { + function ArcRotateCameraMouseWheelInput() { + this.wheelPrecision = 3.0; + } + ArcRotateCameraMouseWheelInput.prototype.attachControl = function (element, noPreventDefault) { + var _this = this; + this._wheel = function (p, s) { + //sanity check - this should be a PointerWheel event. + if (p.type !== BABYLON.PointerEventTypes.POINTERWHEEL) + return; + var event = p.event; + var delta = 0; + if (event.wheelDelta) { + delta = event.wheelDelta / (_this.wheelPrecision * 40); + } + else if (event.detail) { + delta = -event.detail / _this.wheelPrecision; + } + if (delta) + _this.camera.inertialRadiusOffset += delta; + if (event.preventDefault) { + if (!noPreventDefault) { + event.preventDefault(); + } + } + }; + this._observer = this.camera.getScene().onPointerObservable.add(this._wheel, BABYLON.PointerEventTypes.POINTERWHEEL); + }; + ArcRotateCameraMouseWheelInput.prototype.detachControl = function (element) { + if (this._observer && element) { + this.camera.getScene().onPointerObservable.remove(this._observer); + this._observer = null; + this._wheel = null; + } + }; + ArcRotateCameraMouseWheelInput.prototype.getTypeName = function () { + return "ArcRotateCameraMouseWheelInput"; + }; + ArcRotateCameraMouseWheelInput.prototype.getSimpleName = function () { + return "mousewheel"; + }; + __decorate([ + BABYLON.serialize() + ], ArcRotateCameraMouseWheelInput.prototype, "wheelPrecision", void 0); + return ArcRotateCameraMouseWheelInput; + }()); + BABYLON.ArcRotateCameraMouseWheelInput = ArcRotateCameraMouseWheelInput; + BABYLON.CameraInputTypes["ArcRotateCameraMouseWheelInput"] = ArcRotateCameraMouseWheelInput; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.arcrotatecamera.input.mousewheel.js.map + + +var BABYLON; +(function (BABYLON) { + var eventPrefix = BABYLON.Tools.GetPointerPrefix(); + var ArcRotateCameraPointersInput = (function () { + function ArcRotateCameraPointersInput() { + this.buttons = [0, 1, 2]; + this.angularSensibilityX = 1000.0; + this.angularSensibilityY = 1000.0; + this.pinchPrecision = 6.0; + this.panningSensibility = 50.0; + this._isPanClick = false; + this.pinchInwards = true; + } + ArcRotateCameraPointersInput.prototype.attachControl = function (element, noPreventDefault) { + var _this = this; + var engine = this.camera.getEngine(); + var cacheSoloPointer; // cache pointer object for better perf on camera rotation + var pointA, pointB; + var previousPinchDistance = 0; + this._pointerInput = function (p, s) { + var evt = p.event; + if (p.type !== BABYLON.PointerEventTypes.POINTERMOVE && _this.buttons.indexOf(evt.button) === -1) { + return; + } + if (p.type === BABYLON.PointerEventTypes.POINTERDOWN) { + try { + evt.srcElement.setPointerCapture(evt.pointerId); + } + catch (e) { + } + // Manage panning with pan button click + _this._isPanClick = evt.button === _this.camera._panningMouseButton; + // manage pointers + cacheSoloPointer = { x: evt.clientX, y: evt.clientY, pointerId: evt.pointerId, type: evt.pointerType }; + if (pointA === undefined) { + pointA = cacheSoloPointer; + } + else if (pointB === undefined) { + pointB = cacheSoloPointer; + } + if (!noPreventDefault) { + evt.preventDefault(); + element.focus(); + } + } + else if (p.type === BABYLON.PointerEventTypes.POINTERUP) { + try { + evt.srcElement.releasePointerCapture(evt.pointerId); + } + catch (e) { + } + cacheSoloPointer = null; + previousPinchDistance = 0; + //would be better to use pointers.remove(evt.pointerId) for multitouch gestures, + //but emptying completly pointers collection is required to fix a bug on iPhone : + //when changing orientation while pinching camera, one pointer stay pressed forever if we don't release all pointers + //will be ok to put back pointers.remove(evt.pointerId); when iPhone bug corrected + pointA = pointB = undefined; + if (!noPreventDefault) { + evt.preventDefault(); + } + } + else if (p.type === BABYLON.PointerEventTypes.POINTERMOVE) { + if (!noPreventDefault) { + evt.preventDefault(); + } + // One button down + if (pointA && pointB === undefined) { + if (_this.panningSensibility !== 0 && + ((evt.ctrlKey && _this.camera._useCtrlForPanning) || + (!_this.camera._useCtrlForPanning && _this._isPanClick))) { + _this.camera + .inertialPanningX += -(evt.clientX - cacheSoloPointer.x) / _this.panningSensibility; + _this.camera + .inertialPanningY += (evt.clientY - cacheSoloPointer.y) / _this.panningSensibility; + } + else { + var offsetX = evt.clientX - cacheSoloPointer.x; + var offsetY = evt.clientY - cacheSoloPointer.y; + _this.camera.inertialAlphaOffset -= offsetX / _this.angularSensibilityX; + _this.camera.inertialBetaOffset -= offsetY / _this.angularSensibilityY; + } + cacheSoloPointer.x = evt.clientX; + cacheSoloPointer.y = evt.clientY; + } + else if (pointA && pointB) { + //if (noPreventDefault) { evt.preventDefault(); } //if pinch gesture, could be useful to force preventDefault to avoid html page scroll/zoom in some mobile browsers + var ed = (pointA.pointerId === evt.pointerId) ? pointA : pointB; + ed.x = evt.clientX; + ed.y = evt.clientY; + var direction = _this.pinchInwards ? 1 : -1; + var distX = pointA.x - pointB.x; + var distY = pointA.y - pointB.y; + var pinchSquaredDistance = (distX * distX) + (distY * distY); + if (previousPinchDistance === 0) { + previousPinchDistance = pinchSquaredDistance; + return; + } + if (pinchSquaredDistance !== previousPinchDistance) { + _this.camera + .inertialRadiusOffset += (pinchSquaredDistance - previousPinchDistance) / + (_this.pinchPrecision * + ((_this.angularSensibilityX + _this.angularSensibilityY) / 2) * + direction); + previousPinchDistance = pinchSquaredDistance; + } + } + } + }; + this._observer = this.camera.getScene().onPointerObservable.add(this._pointerInput, BABYLON.PointerEventTypes.POINTERDOWN | BABYLON.PointerEventTypes.POINTERUP | BABYLON.PointerEventTypes.POINTERMOVE); + this._onContextMenu = function (evt) { + evt.preventDefault(); + }; + if (!this.camera._useCtrlForPanning) { + element.addEventListener("contextmenu", this._onContextMenu, false); + } + this._onLostFocus = function () { + //this._keys = []; + pointA = pointB = undefined; + previousPinchDistance = 0; + cacheSoloPointer = null; + }; + this._onMouseMove = function (evt) { + if (!engine.isPointerLock) { + return; + } + var offsetX = evt.movementX || evt.mozMovementX || evt.webkitMovementX || evt.msMovementX || 0; + var offsetY = evt.movementY || evt.mozMovementY || evt.webkitMovementY || evt.msMovementY || 0; + _this.camera.inertialAlphaOffset -= offsetX / _this.angularSensibilityX; + _this.camera.inertialBetaOffset -= offsetY / _this.angularSensibilityY; + if (!noPreventDefault) { + evt.preventDefault(); + } + }; + this._onGestureStart = function (e) { + if (window.MSGesture === undefined) { + return; + } + if (!_this._MSGestureHandler) { + _this._MSGestureHandler = new MSGesture(); + _this._MSGestureHandler.target = element; + } + _this._MSGestureHandler.addPointer(e.pointerId); + }; + this._onGesture = function (e) { + _this.camera.radius *= e.scale; + if (e.preventDefault) { + if (!noPreventDefault) { + e.stopPropagation(); + e.preventDefault(); + } + } + }; + element.addEventListener("mousemove", this._onMouseMove, false); + element.addEventListener("MSPointerDown", this._onGestureStart, false); + element.addEventListener("MSGestureChange", this._onGesture, false); + element.addEventListener("keydown", this._onKeyDown, false); + element.addEventListener("keyup", this._onKeyUp, false); + BABYLON.Tools.RegisterTopRootEvents([ + { name: "blur", handler: this._onLostFocus } + ]); + }; + ArcRotateCameraPointersInput.prototype.detachControl = function (element) { + if (element && this._observer) { + this.camera.getScene().onPointerObservable.remove(this._observer); + this._observer = null; + element.removeEventListener("contextmenu", this._onContextMenu); + element.removeEventListener("mousemove", this._onMouseMove); + element.removeEventListener("MSPointerDown", this._onGestureStart); + element.removeEventListener("MSGestureChange", this._onGesture); + element.removeEventListener("keydown", this._onKeyDown); + element.removeEventListener("keyup", this._onKeyUp); + this._isPanClick = false; + this.pinchInwards = true; + this._onKeyDown = null; + this._onKeyUp = null; + this._onMouseMove = null; + this._onGestureStart = null; + this._onGesture = null; + this._MSGestureHandler = null; + this._onLostFocus = null; + this._onContextMenu = null; + } + BABYLON.Tools.UnregisterTopRootEvents([ + { name: "blur", handler: this._onLostFocus } + ]); + }; + ArcRotateCameraPointersInput.prototype.getTypeName = function () { + return "ArcRotateCameraPointersInput"; + }; + ArcRotateCameraPointersInput.prototype.getSimpleName = function () { + return "pointers"; + }; + __decorate([ + BABYLON.serialize() + ], ArcRotateCameraPointersInput.prototype, "buttons", void 0); + __decorate([ + BABYLON.serialize() + ], ArcRotateCameraPointersInput.prototype, "angularSensibilityX", void 0); + __decorate([ + BABYLON.serialize() + ], ArcRotateCameraPointersInput.prototype, "angularSensibilityY", void 0); + __decorate([ + BABYLON.serialize() + ], ArcRotateCameraPointersInput.prototype, "pinchPrecision", void 0); + __decorate([ + BABYLON.serialize() + ], ArcRotateCameraPointersInput.prototype, "panningSensibility", void 0); + return ArcRotateCameraPointersInput; + }()); + BABYLON.ArcRotateCameraPointersInput = ArcRotateCameraPointersInput; + BABYLON.CameraInputTypes["ArcRotateCameraPointersInput"] = ArcRotateCameraPointersInput; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.arcrotatecamera.input.pointers.js.map + + +var BABYLON; +(function (BABYLON) { + var ArcRotateCameraGamepadInput = (function () { + function ArcRotateCameraGamepadInput() { + this.gamepadRotationSensibility = 80; + this.gamepadMoveSensibility = 40; + } + ArcRotateCameraGamepadInput.prototype.attachControl = function (element, noPreventDefault) { + var _this = this; + this._gamepads = new BABYLON.Gamepads(function (gamepad) { _this._onNewGameConnected(gamepad); }); + }; + ArcRotateCameraGamepadInput.prototype.detachControl = function (element) { + if (this._gamepads) { + this._gamepads.dispose(); + } + this.gamepad = null; + }; + ArcRotateCameraGamepadInput.prototype.checkInputs = function () { + if (this.gamepad) { + var camera = this.camera; + var RSValues = this.gamepad.rightStick; + if (RSValues.x != 0) { + var normalizedRX = RSValues.x / this.gamepadRotationSensibility; + if (normalizedRX != 0 && Math.abs(normalizedRX) > 0.005) { + camera.inertialAlphaOffset += normalizedRX; + } + } + if (RSValues.y != 0) { + var normalizedRY = RSValues.y / this.gamepadRotationSensibility; + if (normalizedRY != 0 && Math.abs(normalizedRY) > 0.005) { + camera.inertialBetaOffset += normalizedRY; + } + } + var LSValues = this.gamepad.leftStick; + if (LSValues.y != 0) { + var normalizedLY = LSValues.y / this.gamepadMoveSensibility; + if (normalizedLY != 0 && Math.abs(normalizedLY) > 0.005) { + this.camera.inertialRadiusOffset -= normalizedLY; + } + } + } + }; + ArcRotateCameraGamepadInput.prototype._onNewGameConnected = function (gamepad) { + // Only the first gamepad can control the camera + if (gamepad.index === 0) { + this.gamepad = gamepad; + } + }; + ArcRotateCameraGamepadInput.prototype.getTypeName = function () { + return "ArcRotateCameraGamepadInput"; + }; + ArcRotateCameraGamepadInput.prototype.getSimpleName = function () { + return "gamepad"; + }; + __decorate([ + BABYLON.serialize() + ], ArcRotateCameraGamepadInput.prototype, "gamepadRotationSensibility", void 0); + __decorate([ + BABYLON.serialize() + ], ArcRotateCameraGamepadInput.prototype, "gamepadMoveSensibility", void 0); + return ArcRotateCameraGamepadInput; + }()); + BABYLON.ArcRotateCameraGamepadInput = ArcRotateCameraGamepadInput; + BABYLON.CameraInputTypes["ArcRotateCameraGamepadInput"] = ArcRotateCameraGamepadInput; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.arcrotatecamera.input.gamepad.js.map + +var BABYLON; +(function (BABYLON) { + var ArcRotateCameraVRDeviceOrientationInput = (function () { + function ArcRotateCameraVRDeviceOrientationInput() { + this.alphaCorrection = 1; + this.betaCorrection = 1; + this.gammaCorrection = 1; + this._alpha = 0; + this._beta = 0; + this._gamma = 0; + this._dirty = false; + this._deviceOrientationHandler = this._onOrientationEvent.bind(this); + } + ArcRotateCameraVRDeviceOrientationInput.prototype.attachControl = function (element, noPreventDefault) { + this.camera.attachControl(element, noPreventDefault); + window.addEventListener("deviceorientation", this._deviceOrientationHandler); + }; + ArcRotateCameraVRDeviceOrientationInput.prototype._onOrientationEvent = function (evt) { + var camera = this.camera; + this._alpha = +evt.alpha | 0; + this._beta = +evt.beta | 0; + this._gamma = +evt.gamma | 0; + this._dirty = true; + }; + ArcRotateCameraVRDeviceOrientationInput.prototype.checkInputs = function () { + if (this._dirty) { + this._dirty = false; + if (this._gamma < 0) { + this._gamma = 180 + this._gamma; + } + this.camera.alpha = (-this._alpha / 180.0 * Math.PI) % Math.PI * 2; + this.camera.beta = (this._gamma / 180.0 * Math.PI); + } + }; + ArcRotateCameraVRDeviceOrientationInput.prototype.detachControl = function (element) { + window.removeEventListener("deviceorientation", this._deviceOrientationHandler); + }; + ArcRotateCameraVRDeviceOrientationInput.prototype.getTypeName = function () { + return "ArcRotateCameraVRDeviceOrientationInput"; + }; + ArcRotateCameraVRDeviceOrientationInput.prototype.getSimpleName = function () { + return "VRDeviceOrientation"; + }; + return ArcRotateCameraVRDeviceOrientationInput; + }()); + BABYLON.ArcRotateCameraVRDeviceOrientationInput = ArcRotateCameraVRDeviceOrientationInput; + BABYLON.CameraInputTypes["ArcRotateCameraVRDeviceOrientationInput"] = ArcRotateCameraVRDeviceOrientationInput; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.arcrotatecamera.input.vrdeviceorientation.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var TargetCamera = (function (_super) { + __extends(TargetCamera, _super); + function TargetCamera(name, position, scene) { + _super.call(this, name, position, scene); + this.cameraDirection = new BABYLON.Vector3(0, 0, 0); + this.cameraRotation = new BABYLON.Vector2(0, 0); + this.rotation = new BABYLON.Vector3(0, 0, 0); + this.speed = 2.0; + this.noRotationConstraint = false; + this.lockedTarget = null; + this._currentTarget = BABYLON.Vector3.Zero(); + this._viewMatrix = BABYLON.Matrix.Zero(); + this._camMatrix = BABYLON.Matrix.Zero(); + this._cameraTransformMatrix = BABYLON.Matrix.Zero(); + this._cameraRotationMatrix = BABYLON.Matrix.Zero(); + this._referencePoint = new BABYLON.Vector3(0, 0, 1); + this._defaultUpVector = new BABYLON.Vector3(0, 1, 0); + this._transformedReferencePoint = BABYLON.Vector3.Zero(); + this._lookAtTemp = BABYLON.Matrix.Zero(); + this._tempMatrix = BABYLON.Matrix.Zero(); + } + TargetCamera.prototype.getFrontPosition = function (distance) { + var direction = this.getTarget().subtract(this.position); + direction.normalize(); + direction.scaleInPlace(distance); + return this.globalPosition.add(direction); + }; + TargetCamera.prototype._getLockedTargetPosition = function () { + if (!this.lockedTarget) { + return null; + } + if (this.lockedTarget.absolutePosition) { + this.lockedTarget.computeWorldMatrix(); + } + return this.lockedTarget.absolutePosition || this.lockedTarget; + }; + // Cache + TargetCamera.prototype._initCache = function () { + _super.prototype._initCache.call(this); + this._cache.lockedTarget = new BABYLON.Vector3(Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE); + this._cache.rotation = new BABYLON.Vector3(Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE); + this._cache.rotationQuaternion = new BABYLON.Quaternion(Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE); + }; + TargetCamera.prototype._updateCache = function (ignoreParentClass) { + if (!ignoreParentClass) { + _super.prototype._updateCache.call(this); + } + var lockedTargetPosition = this._getLockedTargetPosition(); + if (!lockedTargetPosition) { + this._cache.lockedTarget = null; + } + else { + if (!this._cache.lockedTarget) { + this._cache.lockedTarget = lockedTargetPosition.clone(); + } + else { + this._cache.lockedTarget.copyFrom(lockedTargetPosition); + } + } + this._cache.rotation.copyFrom(this.rotation); + if (this.rotationQuaternion) + this._cache.rotationQuaternion.copyFrom(this.rotationQuaternion); + }; + // Synchronized + TargetCamera.prototype._isSynchronizedViewMatrix = function () { + if (!_super.prototype._isSynchronizedViewMatrix.call(this)) { + return false; + } + var lockedTargetPosition = this._getLockedTargetPosition(); + return (this._cache.lockedTarget ? this._cache.lockedTarget.equals(lockedTargetPosition) : !lockedTargetPosition) + && (this.rotationQuaternion ? this.rotationQuaternion.equals(this._cache.rotationQuaternion) : this._cache.rotation.equals(this.rotation)); + }; + // Methods + TargetCamera.prototype._computeLocalCameraSpeed = function () { + var engine = this.getEngine(); + return this.speed * Math.sqrt((engine.getDeltaTime() / (engine.getFps() * 100.0))); + }; + // Target + TargetCamera.prototype.setTarget = function (target) { + this.upVector.normalize(); + BABYLON.Matrix.LookAtLHToRef(this.position, target, this._defaultUpVector, this._camMatrix); + this._camMatrix.invert(); + this.rotation.x = Math.atan(this._camMatrix.m[6] / this._camMatrix.m[10]); + var vDir = target.subtract(this.position); + if (vDir.x >= 0.0) { + this.rotation.y = (-Math.atan(vDir.z / vDir.x) + Math.PI / 2.0); + } + else { + this.rotation.y = (-Math.atan(vDir.z / vDir.x) - Math.PI / 2.0); + } + this.rotation.z = 0; + if (isNaN(this.rotation.x)) { + this.rotation.x = 0; + } + if (isNaN(this.rotation.y)) { + this.rotation.y = 0; + } + if (isNaN(this.rotation.z)) { + this.rotation.z = 0; + } + if (this.rotationQuaternion) { + BABYLON.Quaternion.RotationYawPitchRollToRef(this.rotation.y, this.rotation.x, this.rotation.z, this.rotationQuaternion); + } + }; + TargetCamera.prototype.getTarget = function () { + return this._currentTarget; + }; + TargetCamera.prototype._decideIfNeedsToMove = function () { + return Math.abs(this.cameraDirection.x) > 0 || Math.abs(this.cameraDirection.y) > 0 || Math.abs(this.cameraDirection.z) > 0; + }; + TargetCamera.prototype._updatePosition = function () { + this.position.addInPlace(this.cameraDirection); + }; + TargetCamera.prototype._checkInputs = function () { + var needToMove = this._decideIfNeedsToMove(); + var needToRotate = Math.abs(this.cameraRotation.x) > 0 || Math.abs(this.cameraRotation.y) > 0; + // Move + if (needToMove) { + this._updatePosition(); + } + // Rotate + if (needToRotate) { + this.rotation.x += this.cameraRotation.x; + this.rotation.y += this.cameraRotation.y; + if (!this.noRotationConstraint) { + var limit = (Math.PI / 2) * 0.95; + if (this.rotation.x > limit) + this.rotation.x = limit; + if (this.rotation.x < -limit) + this.rotation.x = -limit; + } + } + // Inertia + if (needToMove) { + if (Math.abs(this.cameraDirection.x) < BABYLON.Epsilon) { + this.cameraDirection.x = 0; + } + if (Math.abs(this.cameraDirection.y) < BABYLON.Epsilon) { + this.cameraDirection.y = 0; + } + if (Math.abs(this.cameraDirection.z) < BABYLON.Epsilon) { + this.cameraDirection.z = 0; + } + this.cameraDirection.scaleInPlace(this.inertia); + } + if (needToRotate) { + if (Math.abs(this.cameraRotation.x) < BABYLON.Epsilon) { + this.cameraRotation.x = 0; + } + if (Math.abs(this.cameraRotation.y) < BABYLON.Epsilon) { + this.cameraRotation.y = 0; + } + this.cameraRotation.scaleInPlace(this.inertia); + } + _super.prototype._checkInputs.call(this); + }; + TargetCamera.prototype._updateCameraRotationMatrix = function () { + if (this.rotationQuaternion) { + this.rotationQuaternion.toRotationMatrix(this._cameraRotationMatrix); + //update the up vector! + BABYLON.Vector3.TransformNormalToRef(this._defaultUpVector, this._cameraRotationMatrix, this.upVector); + } + else { + BABYLON.Matrix.RotationYawPitchRollToRef(this.rotation.y, this.rotation.x, this.rotation.z, this._cameraRotationMatrix); + } + }; + TargetCamera.prototype._getViewMatrix = function () { + if (!this.lockedTarget) { + // Compute + this._updateCameraRotationMatrix(); + BABYLON.Vector3.TransformCoordinatesToRef(this._referencePoint, this._cameraRotationMatrix, this._transformedReferencePoint); + // Computing target and final matrix + this.position.addToRef(this._transformedReferencePoint, this._currentTarget); + } + else { + this._currentTarget.copyFrom(this._getLockedTargetPosition()); + } + if (this.getScene().useRightHandedSystem) { + BABYLON.Matrix.LookAtRHToRef(this.position, this._currentTarget, this.upVector, this._viewMatrix); + } + else { + BABYLON.Matrix.LookAtLHToRef(this.position, this._currentTarget, this.upVector, this._viewMatrix); + } + return this._viewMatrix; + }; + /** + * @override + * Override Camera.createRigCamera + */ + TargetCamera.prototype.createRigCamera = function (name, cameraIndex) { + if (this.cameraRigMode !== BABYLON.Camera.RIG_MODE_NONE) { + var rigCamera = new TargetCamera(name, this.position.clone(), this.getScene()); + if (this.cameraRigMode === BABYLON.Camera.RIG_MODE_VR || this.cameraRigMode === BABYLON.Camera.RIG_MODE_WEBVR) { + if (!this.rotationQuaternion) { + this.rotationQuaternion = new BABYLON.Quaternion(); + } + rigCamera._cameraRigParams = {}; + rigCamera.rotationQuaternion = new BABYLON.Quaternion(); + } + return rigCamera; + } + return null; + }; + /** + * @override + * Override Camera._updateRigCameras + */ + TargetCamera.prototype._updateRigCameras = function () { + var camLeft = this._rigCameras[0]; + var camRight = this._rigCameras[1]; + switch (this.cameraRigMode) { + case BABYLON.Camera.RIG_MODE_STEREOSCOPIC_ANAGLYPH: + case BABYLON.Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_PARALLEL: + case BABYLON.Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_CROSSEYED: + case BABYLON.Camera.RIG_MODE_STEREOSCOPIC_OVERUNDER: + //provisionnaly using _cameraRigParams.stereoHalfAngle instead of calculations based on _cameraRigParams.interaxialDistance: + var leftSign = (this.cameraRigMode === BABYLON.Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_CROSSEYED) ? 1 : -1; + var rightSign = (this.cameraRigMode === BABYLON.Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_CROSSEYED) ? -1 : 1; + this._getRigCamPosition(this._cameraRigParams.stereoHalfAngle * leftSign, camLeft.position); + this._getRigCamPosition(this._cameraRigParams.stereoHalfAngle * rightSign, camRight.position); + camLeft.setTarget(this.getTarget()); + camRight.setTarget(this.getTarget()); + break; + case BABYLON.Camera.RIG_MODE_VR: + case BABYLON.Camera.RIG_MODE_WEBVR: + if (camLeft.rotationQuaternion) { + camLeft.rotationQuaternion.copyFrom(this.rotationQuaternion); + camRight.rotationQuaternion.copyFrom(this.rotationQuaternion); + } + else { + camLeft.rotation.copyFrom(this.rotation); + camRight.rotation.copyFrom(this.rotation); + } + camLeft.position.copyFrom(this.position); + camRight.position.copyFrom(this.position); + break; + } + _super.prototype._updateRigCameras.call(this); + }; + TargetCamera.prototype._getRigCamPosition = function (halfSpace, result) { + if (!this._rigCamTransformMatrix) { + this._rigCamTransformMatrix = new BABYLON.Matrix(); + } + var target = this.getTarget(); + BABYLON.Matrix.Translation(-target.x, -target.y, -target.z).multiplyToRef(BABYLON.Matrix.RotationY(halfSpace), this._rigCamTransformMatrix); + this._rigCamTransformMatrix = this._rigCamTransformMatrix.multiply(BABYLON.Matrix.Translation(target.x, target.y, target.z)); + BABYLON.Vector3.TransformCoordinatesToRef(this.position, this._rigCamTransformMatrix, result); + }; + TargetCamera.prototype.getTypeName = function () { + return "TargetCamera"; + }; + __decorate([ + BABYLON.serializeAsVector3() + ], TargetCamera.prototype, "rotation", void 0); + __decorate([ + BABYLON.serialize() + ], TargetCamera.prototype, "speed", void 0); + __decorate([ + BABYLON.serializeAsMeshReference("lockedTargetId") + ], TargetCamera.prototype, "lockedTarget", void 0); + return TargetCamera; + }(BABYLON.Camera)); + BABYLON.TargetCamera = TargetCamera; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.targetCamera.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var FreeCamera = (function (_super) { + __extends(FreeCamera, _super); + function FreeCamera(name, position, scene) { + var _this = this; + _super.call(this, name, position, scene); + this.ellipsoid = new BABYLON.Vector3(0.5, 1, 0.5); + this.checkCollisions = false; + this.applyGravity = false; + this._collider = new BABYLON.Collider(); + this._needMoveForGravity = false; + this._oldPosition = BABYLON.Vector3.Zero(); + this._diffPosition = BABYLON.Vector3.Zero(); + this._newPosition = BABYLON.Vector3.Zero(); + this._onCollisionPositionChange = function (collisionId, newPosition, collidedMesh) { + if (collidedMesh === void 0) { collidedMesh = null; } + //TODO move this to the collision coordinator! + if (_this.getScene().workerCollisions) + newPosition.multiplyInPlace(_this._collider.radius); + var updatePosition = function (newPos) { + _this._newPosition.copyFrom(newPos); + _this._newPosition.subtractToRef(_this._oldPosition, _this._diffPosition); + var oldPosition = _this.position.clone(); + if (_this._diffPosition.length() > BABYLON.Engine.CollisionsEpsilon) { + _this.position.addInPlace(_this._diffPosition); + if (_this.onCollide && collidedMesh) { + _this.onCollide(collidedMesh); + } + } + }; + updatePosition(newPosition); + }; + this.inputs = new BABYLON.FreeCameraInputsManager(this); + this.inputs.addKeyboard().addMouse(); + } + Object.defineProperty(FreeCamera.prototype, "angularSensibility", { + //-- begin properties for backward compatibility for inputs + get: function () { + var mouse = this.inputs.attached["mouse"]; + if (mouse) + return mouse.angularSensibility; + }, + set: function (value) { + var mouse = this.inputs.attached["mouse"]; + if (mouse) + mouse.angularSensibility = value; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(FreeCamera.prototype, "keysUp", { + get: function () { + var keyboard = this.inputs.attached["keyboard"]; + if (keyboard) + return keyboard.keysUp; + }, + set: function (value) { + var keyboard = this.inputs.attached["keyboard"]; + if (keyboard) + keyboard.keysUp = value; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(FreeCamera.prototype, "keysDown", { + get: function () { + var keyboard = this.inputs.attached["keyboard"]; + if (keyboard) + return keyboard.keysDown; + }, + set: function (value) { + var keyboard = this.inputs.attached["keyboard"]; + if (keyboard) + keyboard.keysDown = value; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(FreeCamera.prototype, "keysLeft", { + get: function () { + var keyboard = this.inputs.attached["keyboard"]; + if (keyboard) + return keyboard.keysLeft; + }, + set: function (value) { + var keyboard = this.inputs.attached["keyboard"]; + if (keyboard) + keyboard.keysLeft = value; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(FreeCamera.prototype, "keysRight", { + get: function () { + var keyboard = this.inputs.attached["keyboard"]; + if (keyboard) + return keyboard.keysRight; + }, + set: function (value) { + var keyboard = this.inputs.attached["keyboard"]; + if (keyboard) + keyboard.keysRight = value; + }, + enumerable: true, + configurable: true + }); + // Controls + FreeCamera.prototype.attachControl = function (element, noPreventDefault) { + this.inputs.attachElement(element, noPreventDefault); + }; + FreeCamera.prototype.detachControl = function (element) { + this.inputs.detachElement(element); + this.cameraDirection = new BABYLON.Vector3(0, 0, 0); + this.cameraRotation = new BABYLON.Vector2(0, 0); + }; + FreeCamera.prototype._collideWithWorld = function (velocity) { + var globalPosition; + if (this.parent) { + globalPosition = BABYLON.Vector3.TransformCoordinates(this.position, this.parent.getWorldMatrix()); + } + else { + globalPosition = this.position; + } + globalPosition.subtractFromFloatsToRef(0, this.ellipsoid.y, 0, this._oldPosition); + this._collider.radius = this.ellipsoid; + //no need for clone, as long as gravity is not on. + var actualVelocity = velocity; + //add gravity to the velocity to prevent the dual-collision checking + if (this.applyGravity) { + //this prevents mending with cameraDirection, a global variable of the free camera class. + actualVelocity = velocity.add(this.getScene().gravity); + } + this.getScene().collisionCoordinator.getNewPosition(this._oldPosition, actualVelocity, this._collider, 3, null, this._onCollisionPositionChange, this.uniqueId); + }; + FreeCamera.prototype._checkInputs = function () { + if (!this._localDirection) { + this._localDirection = BABYLON.Vector3.Zero(); + this._transformedDirection = BABYLON.Vector3.Zero(); + } + this.inputs.checkInputs(); + _super.prototype._checkInputs.call(this); + }; + FreeCamera.prototype._decideIfNeedsToMove = function () { + return this._needMoveForGravity || Math.abs(this.cameraDirection.x) > 0 || Math.abs(this.cameraDirection.y) > 0 || Math.abs(this.cameraDirection.z) > 0; + }; + FreeCamera.prototype._updatePosition = function () { + if (this.checkCollisions && this.getScene().collisionsEnabled) { + this._collideWithWorld(this.cameraDirection); + } + else { + this.position.addInPlace(this.cameraDirection); + } + }; + FreeCamera.prototype.dispose = function () { + this.inputs.clear(); + _super.prototype.dispose.call(this); + }; + FreeCamera.prototype.getTypeName = function () { + return "FreeCamera"; + }; + __decorate([ + BABYLON.serializeAsVector3() + ], FreeCamera.prototype, "ellipsoid", void 0); + __decorate([ + BABYLON.serialize() + ], FreeCamera.prototype, "checkCollisions", void 0); + __decorate([ + BABYLON.serialize() + ], FreeCamera.prototype, "applyGravity", void 0); + return FreeCamera; + }(BABYLON.TargetCamera)); + BABYLON.FreeCamera = FreeCamera; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.freeCamera.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var FreeCameraInputsManager = (function (_super) { + __extends(FreeCameraInputsManager, _super); + function FreeCameraInputsManager(camera) { + _super.call(this, camera); + } + FreeCameraInputsManager.prototype.addKeyboard = function () { + this.add(new BABYLON.FreeCameraKeyboardMoveInput()); + return this; + }; + FreeCameraInputsManager.prototype.addMouse = function (touchEnabled) { + if (touchEnabled === void 0) { touchEnabled = true; } + this.add(new BABYLON.FreeCameraMouseInput(touchEnabled)); + return this; + }; + FreeCameraInputsManager.prototype.addGamepad = function () { + this.add(new BABYLON.FreeCameraGamepadInput()); + return this; + }; + FreeCameraInputsManager.prototype.addDeviceOrientation = function () { + this.add(new BABYLON.FreeCameraDeviceOrientationInput()); + return this; + }; + FreeCameraInputsManager.prototype.addTouch = function () { + this.add(new BABYLON.FreeCameraTouchInput()); + return this; + }; + FreeCameraInputsManager.prototype.addVirtualJoystick = function () { + this.add(new BABYLON.FreeCameraVirtualJoystickInput()); + return this; + }; + return FreeCameraInputsManager; + }(BABYLON.CameraInputsManager)); + BABYLON.FreeCameraInputsManager = FreeCameraInputsManager; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.freeCameraInputsManager.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var FollowCamera = (function (_super) { + __extends(FollowCamera, _super); + function FollowCamera(name, position, scene, lockedTarget) { + _super.call(this, name, position, scene); + this.radius = 12; + this.rotationOffset = 0; + this.heightOffset = 4; + this.cameraAcceleration = 0.05; + this.maxCameraSpeed = 20; + this.lockedTarget = lockedTarget; + } + FollowCamera.prototype.getRadians = function (degrees) { + return degrees * Math.PI / 180; + }; + FollowCamera.prototype.follow = function (cameraTarget) { + if (!cameraTarget) + return; + var yRotation; + if (cameraTarget.rotationQuaternion) { + var rotMatrix = new BABYLON.Matrix(); + cameraTarget.rotationQuaternion.toRotationMatrix(rotMatrix); + yRotation = Math.atan2(rotMatrix.m[8], rotMatrix.m[10]); + } + else { + yRotation = cameraTarget.rotation.y; + } + var radians = this.getRadians(this.rotationOffset) + yRotation; + var targetX = cameraTarget.position.x + Math.sin(radians) * this.radius; + var targetZ = cameraTarget.position.z + Math.cos(radians) * this.radius; + var dx = targetX - this.position.x; + var dy = (cameraTarget.position.y + this.heightOffset) - this.position.y; + var dz = (targetZ) - this.position.z; + var vx = dx * this.cameraAcceleration * 2; //this is set to .05 + var vy = dy * this.cameraAcceleration; + var vz = dz * this.cameraAcceleration * 2; + if (vx > this.maxCameraSpeed || vx < -this.maxCameraSpeed) { + vx = vx < 1 ? -this.maxCameraSpeed : this.maxCameraSpeed; + } + if (vy > this.maxCameraSpeed || vy < -this.maxCameraSpeed) { + vy = vy < 1 ? -this.maxCameraSpeed : this.maxCameraSpeed; + } + if (vz > this.maxCameraSpeed || vz < -this.maxCameraSpeed) { + vz = vz < 1 ? -this.maxCameraSpeed : this.maxCameraSpeed; + } + this.position = new BABYLON.Vector3(this.position.x + vx, this.position.y + vy, this.position.z + vz); + this.setTarget(cameraTarget.position); + }; + FollowCamera.prototype._checkInputs = function () { + _super.prototype._checkInputs.call(this); + this.follow(this.lockedTarget); + }; + FollowCamera.prototype.getTypeName = function () { + return "FollowCamera"; + }; + __decorate([ + BABYLON.serialize() + ], FollowCamera.prototype, "radius", void 0); + __decorate([ + BABYLON.serialize() + ], FollowCamera.prototype, "rotationOffset", void 0); + __decorate([ + BABYLON.serialize() + ], FollowCamera.prototype, "heightOffset", void 0); + __decorate([ + BABYLON.serialize() + ], FollowCamera.prototype, "cameraAcceleration", void 0); + __decorate([ + BABYLON.serialize() + ], FollowCamera.prototype, "maxCameraSpeed", void 0); + __decorate([ + BABYLON.serializeAsMeshReference("lockedTargetId") + ], FollowCamera.prototype, "lockedTarget", void 0); + return FollowCamera; + }(BABYLON.TargetCamera)); + BABYLON.FollowCamera = FollowCamera; + var ArcFollowCamera = (function (_super) { + __extends(ArcFollowCamera, _super); + function ArcFollowCamera(name, alpha, beta, radius, target, scene) { + _super.call(this, name, BABYLON.Vector3.Zero(), scene); + this.alpha = alpha; + this.beta = beta; + this.radius = radius; + this.target = target; + this._cartesianCoordinates = BABYLON.Vector3.Zero(); + this.follow(); + } + ArcFollowCamera.prototype.follow = function () { + this._cartesianCoordinates.x = this.radius * Math.cos(this.alpha) * Math.cos(this.beta); + this._cartesianCoordinates.y = this.radius * Math.sin(this.beta); + this._cartesianCoordinates.z = this.radius * Math.sin(this.alpha) * Math.cos(this.beta); + this.position = this.target.position.add(this._cartesianCoordinates); + this.setTarget(this.target.position); + }; + ArcFollowCamera.prototype._checkInputs = function () { + _super.prototype._checkInputs.call(this); + this.follow(); + }; + ArcFollowCamera.prototype.getTypeName = function () { + return "ArcFollowCamera"; + }; + return ArcFollowCamera; + }(BABYLON.TargetCamera)); + BABYLON.ArcFollowCamera = ArcFollowCamera; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.followCamera.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + // We're mainly based on the logic defined into the FreeCamera code + var TouchCamera = (function (_super) { + __extends(TouchCamera, _super); + //-- end properties for backward compatibility for inputs + function TouchCamera(name, position, scene) { + _super.call(this, name, position, scene); + this.inputs.addTouch(); + this._setupInputs(); + } + Object.defineProperty(TouchCamera.prototype, "touchAngularSensibility", { + //-- Begin properties for backward compatibility for inputs + get: function () { + var touch = this.inputs.attached["touch"]; + if (touch) + return touch.touchAngularSensibility; + }, + set: function (value) { + var touch = this.inputs.attached["touch"]; + if (touch) + touch.touchAngularSensibility = value; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(TouchCamera.prototype, "touchMoveSensibility", { + get: function () { + var touch = this.inputs.attached["touch"]; + if (touch) + return touch.touchMoveSensibility; + }, + set: function (value) { + var touch = this.inputs.attached["touch"]; + if (touch) + touch.touchMoveSensibility = value; + }, + enumerable: true, + configurable: true + }); + TouchCamera.prototype.getTypeName = function () { + return "TouchCamera"; + }; + TouchCamera.prototype._setupInputs = function () { + var mouse = this.inputs.attached["mouse"]; + if (mouse) { + mouse.touchEnabled = false; + } + }; + return TouchCamera; + }(BABYLON.FreeCamera)); + BABYLON.TouchCamera = TouchCamera; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.touchCamera.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var ArcRotateCamera = (function (_super) { + __extends(ArcRotateCamera, _super); + function ArcRotateCamera(name, alpha, beta, radius, target, scene) { + var _this = this; + _super.call(this, name, BABYLON.Vector3.Zero(), scene); + this.inertialAlphaOffset = 0; + this.inertialBetaOffset = 0; + this.inertialRadiusOffset = 0; + this.lowerAlphaLimit = null; + this.upperAlphaLimit = null; + this.lowerBetaLimit = 0.01; + this.upperBetaLimit = Math.PI; + this.lowerRadiusLimit = null; + this.upperRadiusLimit = null; + this.inertialPanningX = 0; + this.inertialPanningY = 0; + //-- end properties for backward compatibility for inputs + this.zoomOnFactor = 1; + this.targetScreenOffset = BABYLON.Vector2.Zero(); + this.allowUpsideDown = true; + this._viewMatrix = new BABYLON.Matrix(); + // Panning + this.panningAxis = new BABYLON.Vector3(1, 1, 0); + this.checkCollisions = false; + this.collisionRadius = new BABYLON.Vector3(0.5, 0.5, 0.5); + this._collider = new BABYLON.Collider(); + this._previousPosition = BABYLON.Vector3.Zero(); + this._collisionVelocity = BABYLON.Vector3.Zero(); + this._newPosition = BABYLON.Vector3.Zero(); + this._onCollisionPositionChange = function (collisionId, newPosition, collidedMesh) { + if (collidedMesh === void 0) { collidedMesh = null; } + if (_this.getScene().workerCollisions && _this.checkCollisions) { + newPosition.multiplyInPlace(_this._collider.radius); + } + if (!collidedMesh) { + _this._previousPosition.copyFrom(_this.position); + } + else { + _this.setPosition(newPosition); + if (_this.onCollide) { + _this.onCollide(collidedMesh); + } + } + // Recompute because of constraints + var cosa = Math.cos(_this.alpha); + var sina = Math.sin(_this.alpha); + var cosb = Math.cos(_this.beta); + var sinb = Math.sin(_this.beta); + if (sinb === 0) { + sinb = 0.0001; + } + var target = _this._getTargetPosition(); + target.addToRef(new BABYLON.Vector3(_this.radius * cosa * sinb, _this.radius * cosb, _this.radius * sina * sinb), _this._newPosition); + _this.position.copyFrom(_this._newPosition); + var up = _this.upVector; + if (_this.allowUpsideDown && _this.beta < 0) { + up = up.clone(); + up = up.negate(); + } + BABYLON.Matrix.LookAtLHToRef(_this.position, target, up, _this._viewMatrix); + _this._viewMatrix.m[12] += _this.targetScreenOffset.x; + _this._viewMatrix.m[13] += _this.targetScreenOffset.y; + _this._collisionTriggered = false; + }; + if (!target) { + this.target = BABYLON.Vector3.Zero(); + } + else { + this.target = target; + } + this.alpha = alpha; + this.beta = beta; + this.radius = radius; + this.getViewMatrix(); + this.inputs = new BABYLON.ArcRotateCameraInputsManager(this); + this.inputs.addKeyboard().addMouseWheel().addPointers().addGamepad(); + } + Object.defineProperty(ArcRotateCamera.prototype, "angularSensibilityX", { + //-- begin properties for backward compatibility for inputs + get: function () { + var pointers = this.inputs.attached["pointers"]; + if (pointers) + return pointers.angularSensibilityX; + }, + set: function (value) { + var pointers = this.inputs.attached["pointers"]; + if (pointers) { + pointers.angularSensibilityX = value; + } + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ArcRotateCamera.prototype, "angularSensibilityY", { + get: function () { + var pointers = this.inputs.attached["pointers"]; + if (pointers) + return pointers.angularSensibilityY; + }, + set: function (value) { + var pointers = this.inputs.attached["pointers"]; + if (pointers) { + pointers.angularSensibilityY = value; + } + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ArcRotateCamera.prototype, "pinchPrecision", { + get: function () { + var pointers = this.inputs.attached["pointers"]; + if (pointers) + return pointers.pinchPrecision; + }, + set: function (value) { + var pointers = this.inputs.attached["pointers"]; + if (pointers) { + pointers.pinchPrecision = value; + } + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ArcRotateCamera.prototype, "panningSensibility", { + get: function () { + var pointers = this.inputs.attached["pointers"]; + if (pointers) + return pointers.panningSensibility; + }, + set: function (value) { + var pointers = this.inputs.attached["pointers"]; + if (pointers) { + pointers.panningSensibility = value; + } + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ArcRotateCamera.prototype, "keysUp", { + get: function () { + var keyboard = this.inputs.attached["keyboard"]; + if (keyboard) + return keyboard.keysUp; + }, + set: function (value) { + var keyboard = this.inputs.attached["keyboard"]; + if (keyboard) + keyboard.keysUp = value; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ArcRotateCamera.prototype, "keysDown", { + get: function () { + var keyboard = this.inputs.attached["keyboard"]; + if (keyboard) + return keyboard.keysDown; + }, + set: function (value) { + var keyboard = this.inputs.attached["keyboard"]; + if (keyboard) + keyboard.keysDown = value; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ArcRotateCamera.prototype, "keysLeft", { + get: function () { + var keyboard = this.inputs.attached["keyboard"]; + if (keyboard) + return keyboard.keysLeft; + }, + set: function (value) { + var keyboard = this.inputs.attached["keyboard"]; + if (keyboard) + keyboard.keysLeft = value; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ArcRotateCamera.prototype, "keysRight", { + get: function () { + var keyboard = this.inputs.attached["keyboard"]; + if (keyboard) + return keyboard.keysRight; + }, + set: function (value) { + var keyboard = this.inputs.attached["keyboard"]; + if (keyboard) + keyboard.keysRight = value; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ArcRotateCamera.prototype, "wheelPrecision", { + get: function () { + var mousewheel = this.inputs.attached["mousewheel"]; + if (mousewheel) + return mousewheel.wheelPrecision; + }, + set: function (value) { + var mousewheel = this.inputs.attached["mousewheel"]; + if (mousewheel) + mousewheel.wheelPrecision = value; + }, + enumerable: true, + configurable: true + }); + // Cache + ArcRotateCamera.prototype._initCache = function () { + _super.prototype._initCache.call(this); + this._cache.target = new BABYLON.Vector3(Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE); + this._cache.alpha = undefined; + this._cache.beta = undefined; + this._cache.radius = undefined; + this._cache.targetScreenOffset = BABYLON.Vector2.Zero(); + }; + ArcRotateCamera.prototype._updateCache = function (ignoreParentClass) { + if (!ignoreParentClass) { + _super.prototype._updateCache.call(this); + } + this._cache.target.copyFrom(this._getTargetPosition()); + this._cache.alpha = this.alpha; + this._cache.beta = this.beta; + this._cache.radius = this.radius; + this._cache.targetScreenOffset.copyFrom(this.targetScreenOffset); + }; + ArcRotateCamera.prototype._getTargetPosition = function () { + if (this.target.getAbsolutePosition) { + var pos = this.target.getAbsolutePosition(); + return this._targetBoundingCenter ? pos.add(this._targetBoundingCenter) : pos; + } + return this.target; + }; + // Synchronized + ArcRotateCamera.prototype._isSynchronizedViewMatrix = function () { + if (!_super.prototype._isSynchronizedViewMatrix.call(this)) + return false; + return this._cache.target.equals(this.target) + && this._cache.alpha === this.alpha + && this._cache.beta === this.beta + && this._cache.radius === this.radius + && this._cache.targetScreenOffset.equals(this.targetScreenOffset); + }; + // Methods + ArcRotateCamera.prototype.attachControl = function (element, noPreventDefault, useCtrlForPanning, panningMouseButton) { + var _this = this; + if (useCtrlForPanning === void 0) { useCtrlForPanning = true; } + if (panningMouseButton === void 0) { panningMouseButton = 2; } + this._useCtrlForPanning = useCtrlForPanning; + this._panningMouseButton = panningMouseButton; + this.inputs.attachElement(element, noPreventDefault); + this._reset = function () { + _this.inertialAlphaOffset = 0; + _this.inertialBetaOffset = 0; + _this.inertialRadiusOffset = 0; + }; + }; + ArcRotateCamera.prototype.detachControl = function (element) { + this.inputs.detachElement(element); + if (this._reset) { + this._reset(); + } + }; + ArcRotateCamera.prototype._checkInputs = function () { + //if (async) collision inspection was triggered, don't update the camera's position - until the collision callback was called. + if (this._collisionTriggered) { + return; + } + this.inputs.checkInputs(); + // Inertia + if (this.inertialAlphaOffset !== 0 || this.inertialBetaOffset !== 0 || this.inertialRadiusOffset !== 0) { + if (this.getScene().useRightHandedSystem) { + this.alpha -= this.beta <= 0 ? -this.inertialAlphaOffset : this.inertialAlphaOffset; + } + else { + this.alpha += this.beta <= 0 ? -this.inertialAlphaOffset : this.inertialAlphaOffset; + } + this.beta += this.inertialBetaOffset; + this.radius -= this.inertialRadiusOffset; + this.inertialAlphaOffset *= this.inertia; + this.inertialBetaOffset *= this.inertia; + this.inertialRadiusOffset *= this.inertia; + if (Math.abs(this.inertialAlphaOffset) < BABYLON.Epsilon) + this.inertialAlphaOffset = 0; + if (Math.abs(this.inertialBetaOffset) < BABYLON.Epsilon) + this.inertialBetaOffset = 0; + if (Math.abs(this.inertialRadiusOffset) < BABYLON.Epsilon) + this.inertialRadiusOffset = 0; + } + // Panning inertia + if (this.inertialPanningX !== 0 || this.inertialPanningY !== 0) { + if (!this._localDirection) { + this._localDirection = BABYLON.Vector3.Zero(); + this._transformedDirection = BABYLON.Vector3.Zero(); + } + this.inertialPanningX *= this.inertia; + this.inertialPanningY *= this.inertia; + if (Math.abs(this.inertialPanningX) < BABYLON.Epsilon) + this.inertialPanningX = 0; + if (Math.abs(this.inertialPanningY) < BABYLON.Epsilon) + this.inertialPanningY = 0; + this._localDirection.copyFromFloats(this.inertialPanningX, this.inertialPanningY, this.inertialPanningY); + this._localDirection.multiplyInPlace(this.panningAxis); + this._viewMatrix.invertToRef(this._cameraTransformMatrix); + BABYLON.Vector3.TransformNormalToRef(this._localDirection, this._cameraTransformMatrix, this._transformedDirection); + //Eliminate y if map panning is enabled (panningAxis == 1,0,1) + if (!this.panningAxis.y) { + this._transformedDirection.y = 0; + } + if (!this.target.getAbsolutePosition) { + this.target.addInPlace(this._transformedDirection); + } + } + // Limits + this._checkLimits(); + _super.prototype._checkInputs.call(this); + }; + ArcRotateCamera.prototype._checkLimits = function () { + if (this.lowerBetaLimit === null || this.lowerBetaLimit === undefined) { + if (this.allowUpsideDown && this.beta > Math.PI) { + this.beta = this.beta - (2 * Math.PI); + } + } + else { + if (this.beta < this.lowerBetaLimit) { + this.beta = this.lowerBetaLimit; + } + } + if (this.upperBetaLimit === null || this.upperBetaLimit === undefined) { + if (this.allowUpsideDown && this.beta < -Math.PI) { + this.beta = this.beta + (2 * Math.PI); + } + } + else { + if (this.beta > this.upperBetaLimit) { + this.beta = this.upperBetaLimit; + } + } + if (this.lowerAlphaLimit && this.alpha < this.lowerAlphaLimit) { + this.alpha = this.lowerAlphaLimit; + } + if (this.upperAlphaLimit && this.alpha > this.upperAlphaLimit) { + this.alpha = this.upperAlphaLimit; + } + if (this.lowerRadiusLimit && this.radius < this.lowerRadiusLimit) { + this.radius = this.lowerRadiusLimit; + } + if (this.upperRadiusLimit && this.radius > this.upperRadiusLimit) { + this.radius = this.upperRadiusLimit; + } + }; + ArcRotateCamera.prototype.rebuildAnglesAndRadius = function () { + var radiusv3 = this.position.subtract(this._getTargetPosition()); + this.radius = radiusv3.length(); + // Alpha + this.alpha = Math.acos(radiusv3.x / Math.sqrt(Math.pow(radiusv3.x, 2) + Math.pow(radiusv3.z, 2))); + if (radiusv3.z < 0) { + this.alpha = 2 * Math.PI - this.alpha; + } + // Beta + this.beta = Math.acos(radiusv3.y / this.radius); + this._checkLimits(); + }; + ArcRotateCamera.prototype.setPosition = function (position) { + if (this.position.equals(position)) { + return; + } + this.position.copyFrom(position); + this.rebuildAnglesAndRadius(); + }; + ArcRotateCamera.prototype.setTarget = function (target, toBoundingCenter) { + if (toBoundingCenter === void 0) { toBoundingCenter = false; } + if (this._getTargetPosition().equals(target)) { + return; + } + if (toBoundingCenter && target.getBoundingInfo) { + this._targetBoundingCenter = target.getBoundingInfo().boundingBox.center.clone(); + } + else { + this._targetBoundingCenter = null; + } + this.target = target; + this.rebuildAnglesAndRadius(); + }; + ArcRotateCamera.prototype._getViewMatrix = function () { + // Compute + var cosa = Math.cos(this.alpha); + var sina = Math.sin(this.alpha); + var cosb = Math.cos(this.beta); + var sinb = Math.sin(this.beta); + if (sinb === 0) { + sinb = 0.0001; + } + var target = this._getTargetPosition(); + target.addToRef(new BABYLON.Vector3(this.radius * cosa * sinb, this.radius * cosb, this.radius * sina * sinb), this._newPosition); + if (this.getScene().collisionsEnabled && this.checkCollisions) { + this._collider.radius = this.collisionRadius; + this._newPosition.subtractToRef(this.position, this._collisionVelocity); + this._collisionTriggered = true; + this.getScene().collisionCoordinator.getNewPosition(this.position, this._collisionVelocity, this._collider, 3, null, this._onCollisionPositionChange, this.uniqueId); + } + else { + this.position.copyFrom(this._newPosition); + var up = this.upVector; + if (this.allowUpsideDown && this.beta < 0) { + up = up.clone(); + up = up.negate(); + } + if (this.getScene().useRightHandedSystem) { + BABYLON.Matrix.LookAtRHToRef(this.position, target, up, this._viewMatrix); + } + else { + BABYLON.Matrix.LookAtLHToRef(this.position, target, up, this._viewMatrix); + } + this._viewMatrix.m[12] += this.targetScreenOffset.x; + this._viewMatrix.m[13] += this.targetScreenOffset.y; + } + this._currentTarget = target; + return this._viewMatrix; + }; + ArcRotateCamera.prototype.zoomOn = function (meshes, doNotUpdateMaxZ) { + if (doNotUpdateMaxZ === void 0) { doNotUpdateMaxZ = false; } + meshes = meshes || this.getScene().meshes; + var minMaxVector = BABYLON.Mesh.MinMax(meshes); + var distance = BABYLON.Vector3.Distance(minMaxVector.min, minMaxVector.max); + this.radius = distance * this.zoomOnFactor; + this.focusOn({ min: minMaxVector.min, max: minMaxVector.max, distance: distance }, doNotUpdateMaxZ); + }; + ArcRotateCamera.prototype.focusOn = function (meshesOrMinMaxVectorAndDistance, doNotUpdateMaxZ) { + if (doNotUpdateMaxZ === void 0) { doNotUpdateMaxZ = false; } + var meshesOrMinMaxVector; + var distance; + if (meshesOrMinMaxVectorAndDistance.min === undefined) { + meshesOrMinMaxVector = meshesOrMinMaxVectorAndDistance || this.getScene().meshes; + meshesOrMinMaxVector = BABYLON.Mesh.MinMax(meshesOrMinMaxVector); + distance = BABYLON.Vector3.Distance(meshesOrMinMaxVector.min, meshesOrMinMaxVector.max); + } + else { + meshesOrMinMaxVector = meshesOrMinMaxVectorAndDistance; + distance = meshesOrMinMaxVectorAndDistance.distance; + } + this.target = BABYLON.Mesh.Center(meshesOrMinMaxVector); + if (!doNotUpdateMaxZ) { + this.maxZ = distance * 2; + } + }; + /** + * @override + * Override Camera.createRigCamera + */ + ArcRotateCamera.prototype.createRigCamera = function (name, cameraIndex) { + var alphaShift; + switch (this.cameraRigMode) { + case BABYLON.Camera.RIG_MODE_STEREOSCOPIC_ANAGLYPH: + case BABYLON.Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_PARALLEL: + case BABYLON.Camera.RIG_MODE_STEREOSCOPIC_OVERUNDER: + case BABYLON.Camera.RIG_MODE_VR: + alphaShift = this._cameraRigParams.stereoHalfAngle * (cameraIndex === 0 ? 1 : -1); + break; + case BABYLON.Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_CROSSEYED: + alphaShift = this._cameraRigParams.stereoHalfAngle * (cameraIndex === 0 ? -1 : 1); + break; + } + var rigCam = new ArcRotateCamera(name, this.alpha + alphaShift, this.beta, this.radius, this.target, this.getScene()); + rigCam._cameraRigParams = {}; + return rigCam; + }; + /** + * @override + * Override Camera._updateRigCameras + */ + ArcRotateCamera.prototype._updateRigCameras = function () { + var camLeft = this._rigCameras[0]; + var camRight = this._rigCameras[1]; + camLeft.beta = camRight.beta = this.beta; + camLeft.radius = camRight.radius = this.radius; + switch (this.cameraRigMode) { + case BABYLON.Camera.RIG_MODE_STEREOSCOPIC_ANAGLYPH: + case BABYLON.Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_PARALLEL: + case BABYLON.Camera.RIG_MODE_STEREOSCOPIC_OVERUNDER: + case BABYLON.Camera.RIG_MODE_VR: + camLeft.alpha = this.alpha - this._cameraRigParams.stereoHalfAngle; + camRight.alpha = this.alpha + this._cameraRigParams.stereoHalfAngle; + break; + case BABYLON.Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_CROSSEYED: + camLeft.alpha = this.alpha + this._cameraRigParams.stereoHalfAngle; + camRight.alpha = this.alpha - this._cameraRigParams.stereoHalfAngle; + break; + } + _super.prototype._updateRigCameras.call(this); + }; + ArcRotateCamera.prototype.dispose = function () { + this.inputs.clear(); + _super.prototype.dispose.call(this); + }; + ArcRotateCamera.prototype.getTypeName = function () { + return "ArcRotateCamera"; + }; + __decorate([ + BABYLON.serialize() + ], ArcRotateCamera.prototype, "alpha", void 0); + __decorate([ + BABYLON.serialize() + ], ArcRotateCamera.prototype, "beta", void 0); + __decorate([ + BABYLON.serialize() + ], ArcRotateCamera.prototype, "radius", void 0); + __decorate([ + BABYLON.serializeAsVector3() + ], ArcRotateCamera.prototype, "target", void 0); + __decorate([ + BABYLON.serialize() + ], ArcRotateCamera.prototype, "inertialAlphaOffset", void 0); + __decorate([ + BABYLON.serialize() + ], ArcRotateCamera.prototype, "inertialBetaOffset", void 0); + __decorate([ + BABYLON.serialize() + ], ArcRotateCamera.prototype, "inertialRadiusOffset", void 0); + __decorate([ + BABYLON.serialize() + ], ArcRotateCamera.prototype, "lowerAlphaLimit", void 0); + __decorate([ + BABYLON.serialize() + ], ArcRotateCamera.prototype, "upperAlphaLimit", void 0); + __decorate([ + BABYLON.serialize() + ], ArcRotateCamera.prototype, "lowerBetaLimit", void 0); + __decorate([ + BABYLON.serialize() + ], ArcRotateCamera.prototype, "upperBetaLimit", void 0); + __decorate([ + BABYLON.serialize() + ], ArcRotateCamera.prototype, "lowerRadiusLimit", void 0); + __decorate([ + BABYLON.serialize() + ], ArcRotateCamera.prototype, "upperRadiusLimit", void 0); + __decorate([ + BABYLON.serialize() + ], ArcRotateCamera.prototype, "inertialPanningX", void 0); + __decorate([ + BABYLON.serialize() + ], ArcRotateCamera.prototype, "inertialPanningY", void 0); + __decorate([ + BABYLON.serialize() + ], ArcRotateCamera.prototype, "zoomOnFactor", void 0); + __decorate([ + BABYLON.serialize() + ], ArcRotateCamera.prototype, "allowUpsideDown", void 0); + return ArcRotateCamera; + }(BABYLON.TargetCamera)); + BABYLON.ArcRotateCamera = ArcRotateCamera; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.arcRotateCamera.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var ArcRotateCameraInputsManager = (function (_super) { + __extends(ArcRotateCameraInputsManager, _super); + function ArcRotateCameraInputsManager(camera) { + _super.call(this, camera); + } + ArcRotateCameraInputsManager.prototype.addMouseWheel = function () { + this.add(new BABYLON.ArcRotateCameraMouseWheelInput()); + return this; + }; + ArcRotateCameraInputsManager.prototype.addPointers = function () { + this.add(new BABYLON.ArcRotateCameraPointersInput()); + return this; + }; + ArcRotateCameraInputsManager.prototype.addKeyboard = function () { + this.add(new BABYLON.ArcRotateCameraKeyboardMoveInput()); + return this; + }; + ArcRotateCameraInputsManager.prototype.addGamepad = function () { + this.add(new BABYLON.ArcRotateCameraGamepadInput()); + return this; + }; + ArcRotateCameraInputsManager.prototype.addVRDeviceOrientation = function () { + this.add(new BABYLON.ArcRotateCameraVRDeviceOrientationInput()); + return this; + }; + return ArcRotateCameraInputsManager; + }(BABYLON.CameraInputsManager)); + BABYLON.ArcRotateCameraInputsManager = ArcRotateCameraInputsManager; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.arcRotateCameraInputsManager.js.map + +var BABYLON; +(function (BABYLON) { + var RenderingManager = (function () { + function RenderingManager(scene) { + this._renderingGroups = new Array(); + this._autoClearDepthStencil = {}; + this._customOpaqueSortCompareFn = {}; + this._customAlphaTestSortCompareFn = {}; + this._customTransparentSortCompareFn = {}; + this._renderinGroupInfo = null; + this._scene = scene; + for (var i = RenderingManager.MIN_RENDERINGGROUPS; i < RenderingManager.MAX_RENDERINGGROUPS; i++) { + this._autoClearDepthStencil[i] = true; + } + } + RenderingManager.prototype._renderParticles = function (index, activeMeshes) { + if (this._scene._activeParticleSystems.length === 0) { + return; + } + // Particles + var activeCamera = this._scene.activeCamera; + this._scene._particlesDuration.beginMonitoring(); + for (var particleIndex = 0; particleIndex < this._scene._activeParticleSystems.length; particleIndex++) { + var particleSystem = this._scene._activeParticleSystems.data[particleIndex]; + if (particleSystem.renderingGroupId !== index) { + continue; + } + if ((activeCamera.layerMask & particleSystem.layerMask) === 0) { + continue; + } + this._clearDepthStencilBuffer(); + if (!particleSystem.emitter.position || !activeMeshes || activeMeshes.indexOf(particleSystem.emitter) !== -1) { + this._scene._activeParticles.addCount(particleSystem.render(), false); + } + } + this._scene._particlesDuration.endMonitoring(false); + }; + RenderingManager.prototype._renderSprites = function (index) { + if (!this._scene.spritesEnabled || this._scene.spriteManagers.length === 0) { + return; + } + // Sprites + var activeCamera = this._scene.activeCamera; + this._scene._spritesDuration.beginMonitoring(); + for (var id = 0; id < this._scene.spriteManagers.length; id++) { + var spriteManager = this._scene.spriteManagers[id]; + if (spriteManager.renderingGroupId === index && ((activeCamera.layerMask & spriteManager.layerMask) !== 0)) { + this._clearDepthStencilBuffer(); + spriteManager.render(); + } + } + this._scene._spritesDuration.endMonitoring(false); + }; + RenderingManager.prototype._clearDepthStencilBuffer = function () { + if (this._depthStencilBufferAlreadyCleaned) { + return; + } + this._scene.getEngine().clear(0, false, true, true); + this._depthStencilBufferAlreadyCleaned = true; + }; + RenderingManager.prototype._renderSpritesAndParticles = function () { + if (this._currentRenderSprites) { + this._renderSprites(this._currentIndex); + } + if (this._currentRenderParticles) { + this._renderParticles(this._currentIndex, this._currentActiveMeshes); + } + }; + RenderingManager.prototype.render = function (customRenderFunction, activeMeshes, renderParticles, renderSprites) { + // Check if there's at least on observer on the onRenderingGroupObservable and initialize things to fire it + var observable = this._scene.onRenderingGroupObservable.hasObservers() ? this._scene.onRenderingGroupObservable : null; + var info = null; + if (observable) { + if (!this._renderinGroupInfo) { + this._renderinGroupInfo = new BABYLON.RenderingGroupInfo(); + } + info = this._renderinGroupInfo; + info.scene = this._scene; + info.camera = this._scene.activeCamera; + } + this._currentActiveMeshes = activeMeshes; + this._currentRenderParticles = renderParticles; + this._currentRenderSprites = renderSprites; + for (var index = RenderingManager.MIN_RENDERINGGROUPS; index < RenderingManager.MAX_RENDERINGGROUPS; index++) { + this._depthStencilBufferAlreadyCleaned = index === RenderingManager.MIN_RENDERINGGROUPS; + var renderingGroup = this._renderingGroups[index]; + var needToStepBack = false; + this._currentIndex = index; + if (renderingGroup) { + var renderingGroupMask = 0; + // Fire PRECLEAR stage + if (observable) { + renderingGroupMask = Math.pow(2, index); + info.renderStage = BABYLON.RenderingGroupInfo.STAGE_PRECLEAR; + info.renderingGroupId = index; + observable.notifyObservers(info, renderingGroupMask); + } + // Clear depth/stencil if needed + if (this._autoClearDepthStencil[index]) { + this._clearDepthStencilBuffer(); + } + // Fire PREOPAQUE stage + if (observable) { + info.renderStage = BABYLON.RenderingGroupInfo.STAGE_PREOPAQUE; + observable.notifyObservers(info, renderingGroupMask); + } + if (!renderingGroup.onBeforeTransparentRendering) { + renderingGroup.onBeforeTransparentRendering = this._renderSpritesAndParticles.bind(this); + } + // Fire PRETRANSPARENT stage + if (observable) { + info.renderStage = BABYLON.RenderingGroupInfo.STAGE_PRETRANSPARENT; + observable.notifyObservers(info, renderingGroupMask); + } + if (!renderingGroup.render(customRenderFunction)) { + this._renderingGroups.splice(index, 1); + needToStepBack = true; + this._renderSpritesAndParticles(); + } + // Fire POSTTRANSPARENT stage + if (observable) { + info.renderStage = BABYLON.RenderingGroupInfo.STAGE_POSTTRANSPARENT; + observable.notifyObservers(info, renderingGroupMask); + } + } + else { + this._renderSpritesAndParticles(); + if (observable) { + var renderingGroupMask = Math.pow(2, index); + info.renderStage = BABYLON.RenderingGroupInfo.STAGE_PRECLEAR; + info.renderingGroupId = index; + observable.notifyObservers(info, renderingGroupMask); + info.renderStage = BABYLON.RenderingGroupInfo.STAGE_POSTTRANSPARENT; + observable.notifyObservers(info, renderingGroupMask); + } + } + if (needToStepBack) { + index--; + } + } + }; + RenderingManager.prototype.reset = function () { + for (var index = RenderingManager.MIN_RENDERINGGROUPS; index < RenderingManager.MAX_RENDERINGGROUPS; index++) { + var renderingGroup = this._renderingGroups[index]; + if (renderingGroup) { + renderingGroup.prepare(); + } + } + }; + RenderingManager.prototype.dispatch = function (subMesh) { + var mesh = subMesh.getMesh(); + var renderingGroupId = mesh.renderingGroupId || 0; + if (!this._renderingGroups[renderingGroupId]) { + this._renderingGroups[renderingGroupId] = new BABYLON.RenderingGroup(renderingGroupId, this._scene, this._customOpaqueSortCompareFn[renderingGroupId], this._customAlphaTestSortCompareFn[renderingGroupId], this._customTransparentSortCompareFn[renderingGroupId]); + } + this._renderingGroups[renderingGroupId].dispatch(subMesh); + }; + /** + * Overrides the default sort function applied in the renderging group to prepare the meshes. + * This allowed control for front to back rendering or reversly depending of the special needs. + * + * @param renderingGroupId The rendering group id corresponding to its index + * @param opaqueSortCompareFn The opaque queue comparison function use to sort. + * @param alphaTestSortCompareFn The alpha test queue comparison function use to sort. + * @param transparentSortCompareFn The transparent queue comparison function use to sort. + */ + RenderingManager.prototype.setRenderingOrder = function (renderingGroupId, opaqueSortCompareFn, alphaTestSortCompareFn, transparentSortCompareFn) { + if (opaqueSortCompareFn === void 0) { opaqueSortCompareFn = null; } + if (alphaTestSortCompareFn === void 0) { alphaTestSortCompareFn = null; } + if (transparentSortCompareFn === void 0) { transparentSortCompareFn = null; } + this._customOpaqueSortCompareFn[renderingGroupId] = opaqueSortCompareFn; + this._customAlphaTestSortCompareFn[renderingGroupId] = alphaTestSortCompareFn; + this._customTransparentSortCompareFn[renderingGroupId] = transparentSortCompareFn; + if (this._renderingGroups[renderingGroupId]) { + var group = this._renderingGroups[renderingGroupId]; + group.opaqueSortCompareFn = this._customOpaqueSortCompareFn[renderingGroupId]; + group.alphaTestSortCompareFn = this._customAlphaTestSortCompareFn[renderingGroupId]; + group.transparentSortCompareFn = this._customTransparentSortCompareFn[renderingGroupId]; + } + }; + /** + * Specifies whether or not the stencil and depth buffer are cleared between two rendering groups. + * + * @param renderingGroupId The rendering group id corresponding to its index + * @param autoClearDepthStencil Automatically clears depth and stencil between groups if true. + */ + RenderingManager.prototype.setRenderingAutoClearDepthStencil = function (renderingGroupId, autoClearDepthStencil) { + this._autoClearDepthStencil[renderingGroupId] = autoClearDepthStencil; + }; + /** + * The max id used for rendering groups (not included) + */ + RenderingManager.MAX_RENDERINGGROUPS = 4; + /** + * The min id used for rendering groups (included) + */ + RenderingManager.MIN_RENDERINGGROUPS = 0; + return RenderingManager; + }()); + BABYLON.RenderingManager = RenderingManager; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.renderingManager.js.map + +var BABYLON; +(function (BABYLON) { + var RenderingGroup = (function () { + /** + * Creates a new rendering group. + * @param index The rendering group index + * @param opaqueSortCompareFn The opaque sort comparison function. If null no order is applied + * @param alphaTestSortCompareFn The alpha test sort comparison function. If null no order is applied + * @param transparentSortCompareFn The transparent sort comparison function. If null back to front + alpha index sort is applied + */ + function RenderingGroup(index, scene, opaqueSortCompareFn, alphaTestSortCompareFn, transparentSortCompareFn) { + if (opaqueSortCompareFn === void 0) { opaqueSortCompareFn = null; } + if (alphaTestSortCompareFn === void 0) { alphaTestSortCompareFn = null; } + if (transparentSortCompareFn === void 0) { transparentSortCompareFn = null; } + this.index = index; + this._opaqueSubMeshes = new BABYLON.SmartArray(256); + this._transparentSubMeshes = new BABYLON.SmartArray(256); + this._alphaTestSubMeshes = new BABYLON.SmartArray(256); + this._scene = scene; + this.opaqueSortCompareFn = opaqueSortCompareFn; + this.alphaTestSortCompareFn = alphaTestSortCompareFn; + this.transparentSortCompareFn = transparentSortCompareFn; + } + Object.defineProperty(RenderingGroup.prototype, "opaqueSortCompareFn", { + /** + * Set the opaque sort comparison function. + * If null the sub meshes will be render in the order they were created + */ + set: function (value) { + this._opaqueSortCompareFn = value; + if (value) { + this._renderOpaque = this.renderOpaqueSorted; + } + else { + this._renderOpaque = RenderingGroup.renderUnsorted; + } + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(RenderingGroup.prototype, "alphaTestSortCompareFn", { + /** + * Set the alpha test sort comparison function. + * If null the sub meshes will be render in the order they were created + */ + set: function (value) { + this._alphaTestSortCompareFn = value; + if (value) { + this._renderAlphaTest = this.renderAlphaTestSorted; + } + else { + this._renderAlphaTest = RenderingGroup.renderUnsorted; + } + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(RenderingGroup.prototype, "transparentSortCompareFn", { + /** + * Set the transparent sort comparison function. + * If null the sub meshes will be render in the order they were created + */ + set: function (value) { + if (value) { + this._transparentSortCompareFn = value; + } + else { + this._transparentSortCompareFn = RenderingGroup.defaultTransparentSortCompare; + } + this._renderTransparent = this.renderTransparentSorted; + }, + enumerable: true, + configurable: true + }); + /** + * Render all the sub meshes contained in the group. + * @param customRenderFunction Used to override the default render behaviour of the group. + * @returns true if rendered some submeshes. + */ + RenderingGroup.prototype.render = function (customRenderFunction) { + if (customRenderFunction) { + customRenderFunction(this._opaqueSubMeshes, this._alphaTestSubMeshes, this._transparentSubMeshes); + return true; + } + if (this._opaqueSubMeshes.length === 0 && this._alphaTestSubMeshes.length === 0 && this._transparentSubMeshes.length === 0) { + if (this.onBeforeTransparentRendering) { + this.onBeforeTransparentRendering(); + } + return false; + } + var engine = this._scene.getEngine(); + // Opaque + this._renderOpaque(this._opaqueSubMeshes); + // Alpha test + engine.setAlphaTesting(true); + this._renderAlphaTest(this._alphaTestSubMeshes); + engine.setAlphaTesting(false); + if (this.onBeforeTransparentRendering) { + this.onBeforeTransparentRendering(); + } + // Transparent + this._renderTransparent(this._transparentSubMeshes); + engine.setAlphaMode(BABYLON.Engine.ALPHA_DISABLE); + return true; + }; + /** + * Renders the opaque submeshes in the order from the opaqueSortCompareFn. + * @param subMeshes The submeshes to render + */ + RenderingGroup.prototype.renderOpaqueSorted = function (subMeshes) { + return RenderingGroup.renderSorted(subMeshes, this._opaqueSortCompareFn, this._scene.activeCamera.globalPosition, false); + }; + /** + * Renders the opaque submeshes in the order from the alphatestSortCompareFn. + * @param subMeshes The submeshes to render + */ + RenderingGroup.prototype.renderAlphaTestSorted = function (subMeshes) { + return RenderingGroup.renderSorted(subMeshes, this._alphaTestSortCompareFn, this._scene.activeCamera.globalPosition, false); + }; + /** + * Renders the opaque submeshes in the order from the transparentSortCompareFn. + * @param subMeshes The submeshes to render + */ + RenderingGroup.prototype.renderTransparentSorted = function (subMeshes) { + return RenderingGroup.renderSorted(subMeshes, this._transparentSortCompareFn, this._scene.activeCamera.globalPosition, true); + }; + /** + * Renders the submeshes in a specified order. + * @param subMeshes The submeshes to sort before render + * @param sortCompareFn The comparison function use to sort + * @param cameraPosition The camera position use to preprocess the submeshes to help sorting + * @param transparent Specifies to activate blending if true + */ + RenderingGroup.renderSorted = function (subMeshes, sortCompareFn, cameraPosition, transparent) { + var subIndex = 0; + var subMesh; + for (; subIndex < subMeshes.length; subIndex++) { + subMesh = subMeshes.data[subIndex]; + subMesh._alphaIndex = subMesh.getMesh().alphaIndex; + subMesh._distanceToCamera = subMesh.getBoundingInfo().boundingSphere.centerWorld.subtract(cameraPosition).length(); + } + var sortedArray = subMeshes.data.slice(0, subMeshes.length); + sortedArray.sort(sortCompareFn); + for (subIndex = 0; subIndex < sortedArray.length; subIndex++) { + subMesh = sortedArray[subIndex]; + subMesh.render(transparent); + } + }; + /** + * Renders the submeshes in the order they were dispatched (no sort applied). + * @param subMeshes The submeshes to render + */ + RenderingGroup.renderUnsorted = function (subMeshes) { + for (var subIndex = 0; subIndex < subMeshes.length; subIndex++) { + var submesh = subMeshes.data[subIndex]; + submesh.render(false); + } + }; + /** + * Build in function which can be applied to ensure meshes of a special queue (opaque, alpha test, transparent) + * are rendered back to front if in the same alpha index. + * + * @param a The first submesh + * @param b The second submesh + * @returns The result of the comparison + */ + RenderingGroup.defaultTransparentSortCompare = function (a, b) { + // Alpha index first + if (a._alphaIndex > b._alphaIndex) { + return 1; + } + if (a._alphaIndex < b._alphaIndex) { + return -1; + } + // Then distance to camera + return RenderingGroup.backToFrontSortCompare(a, b); + }; + /** + * Build in function which can be applied to ensure meshes of a special queue (opaque, alpha test, transparent) + * are rendered back to front. + * + * @param a The first submesh + * @param b The second submesh + * @returns The result of the comparison + */ + RenderingGroup.backToFrontSortCompare = function (a, b) { + // Then distance to camera + if (a._distanceToCamera < b._distanceToCamera) { + return 1; + } + if (a._distanceToCamera > b._distanceToCamera) { + return -1; + } + return 0; + }; + /** + * Build in function which can be applied to ensure meshes of a special queue (opaque, alpha test, transparent) + * are rendered front to back (prevent overdraw). + * + * @param a The first submesh + * @param b The second submesh + * @returns The result of the comparison + */ + RenderingGroup.frontToBackSortCompare = function (a, b) { + // Then distance to camera + if (a._distanceToCamera < b._distanceToCamera) { + return -1; + } + if (a._distanceToCamera > b._distanceToCamera) { + return 1; + } + return 0; + }; + /** + * Resets the different lists of submeshes to prepare a new frame. + */ + RenderingGroup.prototype.prepare = function () { + this._opaqueSubMeshes.reset(); + this._transparentSubMeshes.reset(); + this._alphaTestSubMeshes.reset(); + }; + /** + * Inserts the submesh in its correct queue depending on its material. + * @param subMesh The submesh to dispatch + */ + RenderingGroup.prototype.dispatch = function (subMesh) { + var material = subMesh.getMaterial(); + var mesh = subMesh.getMesh(); + if (material.needAlphaBlending() || mesh.visibility < 1.0 || mesh.hasVertexAlpha) { + this._transparentSubMeshes.push(subMesh); + } + else if (material.needAlphaTesting()) { + this._alphaTestSubMeshes.push(subMesh); + } + else { + this._opaqueSubMeshes.push(subMesh); // Opaque + } + }; + return RenderingGroup; + }()); + BABYLON.RenderingGroup = RenderingGroup; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.renderingGroup.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var PointerEventTypes = (function () { + function PointerEventTypes() { + } + Object.defineProperty(PointerEventTypes, "POINTERDOWN", { + get: function () { + return PointerEventTypes._POINTERDOWN; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(PointerEventTypes, "POINTERUP", { + get: function () { + return PointerEventTypes._POINTERUP; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(PointerEventTypes, "POINTERMOVE", { + get: function () { + return PointerEventTypes._POINTERMOVE; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(PointerEventTypes, "POINTERWHEEL", { + get: function () { + return PointerEventTypes._POINTERWHEEL; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(PointerEventTypes, "POINTERPICK", { + get: function () { + return PointerEventTypes._POINTERPICK; + }, + enumerable: true, + configurable: true + }); + PointerEventTypes._POINTERDOWN = 0x01; + PointerEventTypes._POINTERUP = 0x02; + PointerEventTypes._POINTERMOVE = 0x04; + PointerEventTypes._POINTERWHEEL = 0x08; + PointerEventTypes._POINTERPICK = 0x10; + return PointerEventTypes; + }()); + BABYLON.PointerEventTypes = PointerEventTypes; + var PointerInfoBase = (function () { + function PointerInfoBase(type, event) { + this.type = type; + this.event = event; + } + return PointerInfoBase; + }()); + BABYLON.PointerInfoBase = PointerInfoBase; + /** + * This class is used to store pointer related info for the onPrePointerObservable event. + * Set the skipOnPointerObservable property to true if you want the engine to stop any process after this event is triggered, even not calling onPointerObservable + */ + var PointerInfoPre = (function (_super) { + __extends(PointerInfoPre, _super); + function PointerInfoPre(type, event, localX, localY) { + _super.call(this, type, event); + this.skipOnPointerObservable = false; + this.localPosition = new BABYLON.Vector2(localX, localY); + } + return PointerInfoPre; + }(PointerInfoBase)); + BABYLON.PointerInfoPre = PointerInfoPre; + /** + * This type contains all the data related to a pointer event in Babylon.js. + * The event member is an instance of PointerEvent for all types except PointerWheel and is of type MouseWheelEvent when type equals PointerWheel. The different event types can be found in the PointerEventTypes class. + */ + var PointerInfo = (function (_super) { + __extends(PointerInfo, _super); + function PointerInfo(type, event, pickInfo) { + _super.call(this, type, event); + this.pickInfo = pickInfo; + } + return PointerInfo; + }(PointerInfoBase)); + BABYLON.PointerInfo = PointerInfo; + /** + * This class is used by the onRenderingGroupObservable + */ + var RenderingGroupInfo = (function () { + function RenderingGroupInfo() { + } + /** + * Stage corresponding to the very first hook in the renderingGroup phase: before the render buffer may be cleared + * This stage will be fired no matter what + */ + RenderingGroupInfo.STAGE_PRECLEAR = 1; + /** + * Called before opaque object are rendered. + * This stage will be fired only if there's 3D Opaque content to render + */ + RenderingGroupInfo.STAGE_PREOPAQUE = 2; + /** + * Called after the opaque objects are rendered and before the transparent ones + * This stage will be fired only if there's 3D transparent content to render + */ + RenderingGroupInfo.STAGE_PRETRANSPARENT = 3; + /** + * Called after the transparent object are rendered, last hook of the renderingGroup phase + * This stage will be fired no matter what + */ + RenderingGroupInfo.STAGE_POSTTRANSPARENT = 4; + return RenderingGroupInfo; + }()); + BABYLON.RenderingGroupInfo = RenderingGroupInfo; + /** + * Represents a scene to be rendered by the engine. + * @see http://doc.babylonjs.com/page.php?p=21911 + */ + var Scene = (function () { + /** + * @constructor + * @param {BABYLON.Engine} engine - the engine to be used to render this scene. + */ + function Scene(engine) { + // Members + this.autoClear = true; + this.clearColor = new BABYLON.Color3(0.2, 0.2, 0.3); + this.ambientColor = new BABYLON.Color3(0, 0, 0); + this.forceWireframe = false; + this.forcePointsCloud = false; + this.forceShowBoundingBoxes = false; + this.animationsEnabled = true; + this.constantlyUpdateMeshUnderPointer = false; + this.useRightHandedSystem = false; + this.hoverCursor = "pointer"; + // Metadata + this.metadata = null; + // Events + /** + * An event triggered when the scene is disposed. + * @type {BABYLON.Observable} + */ + this.onDisposeObservable = new BABYLON.Observable(); + /** + * An event triggered before rendering the scene + * @type {BABYLON.Observable} + */ + this.onBeforeRenderObservable = new BABYLON.Observable(); + /** + * An event triggered after rendering the scene + * @type {BABYLON.Observable} + */ + this.onAfterRenderObservable = new BABYLON.Observable(); + /** + * An event triggered when the scene is ready + * @type {BABYLON.Observable} + */ + this.onReadyObservable = new BABYLON.Observable(); + /** + * An event triggered before rendering a camera + * @type {BABYLON.Observable} + */ + this.onBeforeCameraRenderObservable = new BABYLON.Observable(); + /** + * An event triggered after rendering a camera + * @type {BABYLON.Observable} + */ + this.onAfterCameraRenderObservable = new BABYLON.Observable(); + /** + * An event triggered when a camera is created + * @type {BABYLON.Observable} + */ + this.onNewCameraAddedObservable = new BABYLON.Observable(); + /** + * An event triggered when a camera is removed + * @type {BABYLON.Observable} + */ + this.onCameraRemovedObservable = new BABYLON.Observable(); + /** + * An event triggered when a light is created + * @type {BABYLON.Observable} + */ + this.onNewLightAddedObservable = new BABYLON.Observable(); + /** + * An event triggered when a light is removed + * @type {BABYLON.Observable} + */ + this.onLightRemovedObservable = new BABYLON.Observable(); + /** + * An event triggered when a geometry is created + * @type {BABYLON.Observable} + */ + this.onNewGeometryAddedObservable = new BABYLON.Observable(); + /** + * An event triggered when a geometry is removed + * @type {BABYLON.Observable} + */ + this.onGeometryRemovedObservable = new BABYLON.Observable(); + /** + * An event triggered when a mesh is created + * @type {BABYLON.Observable} + */ + this.onNewMeshAddedObservable = new BABYLON.Observable(); + /** + * An event triggered when a mesh is removed + * @type {BABYLON.Observable} + */ + this.onMeshRemovedObservable = new BABYLON.Observable(); + /** + * This Observable will be triggered for each stage of each renderingGroup of each rendered camera. + * The RenderinGroupInfo class contains all the information about the context in which the observable is called + * If you wish to register an Observer only for a given set of renderingGroup, use the mask with a combination of the renderingGroup index elevated to the power of two (1 for renderingGroup 0, 2 for renderingrOup1, 4 for 2 and 8 for 3) + */ + this.onRenderingGroupObservable = new BABYLON.Observable(); + // Animations + this.animations = []; + /** + * This observable event is triggered when any mouse event registered during Scene.attach() is called BEFORE the 3D engine to process anything (mesh/sprite picking for instance). + * You have the possibility to skip the 3D Engine process and the call to onPointerObservable by setting PointerInfoBase.skipOnPointerObservable to true + */ + this.onPrePointerObservable = new BABYLON.Observable(); + /** + * Observable event triggered each time an input event is received from the rendering canvas + */ + this.onPointerObservable = new BABYLON.Observable(); + this.cameraToUseForPointers = null; // Define this parameter if you are using multiple cameras and you want to specify which one should be used for pointer position + this._startingPointerPosition = new BABYLON.Vector2(0, 0); + this._startingPointerTime = 0; + // Fog + /** + * is fog enabled on this scene. + * @type {boolean} + */ + this.fogEnabled = true; + this.fogMode = Scene.FOGMODE_NONE; + this.fogColor = new BABYLON.Color3(0.2, 0.2, 0.3); + this.fogDensity = 0.1; + this.fogStart = 0; + this.fogEnd = 1000.0; + // Lights + /** + * is shadow enabled on this scene. + * @type {boolean} + */ + this.shadowsEnabled = true; + /** + * is light enabled on this scene. + * @type {boolean} + */ + this.lightsEnabled = true; + /** + * All of the lights added to this scene. + * @see BABYLON.Light + * @type {BABYLON.Light[]} + */ + this.lights = new Array(); + // Cameras + /** + * All of the cameras added to this scene. + * @see BABYLON.Camera + * @type {BABYLON.Camera[]} + */ + this.cameras = new Array(); + this.activeCameras = new Array(); + // Meshes + /** + * All of the (abstract) meshes added to this scene. + * @see BABYLON.AbstractMesh + * @type {BABYLON.AbstractMesh[]} + */ + this.meshes = new Array(); + // Geometries + this._geometries = new Array(); + this.materials = new Array(); + this.multiMaterials = new Array(); + // Textures + this.texturesEnabled = true; + this.textures = new Array(); + // Particles + this.particlesEnabled = true; + this.particleSystems = new Array(); + // Sprites + this.spritesEnabled = true; + this.spriteManagers = new Array(); + // Layers + this.layers = new Array(); + this.highlightLayers = new Array(); + // Skeletons + this.skeletonsEnabled = true; + this.skeletons = new Array(); + // Lens flares + this.lensFlaresEnabled = true; + this.lensFlareSystems = new Array(); + // Collisions + this.collisionsEnabled = true; + this.gravity = new BABYLON.Vector3(0, -9.807, 0); + // Postprocesses + this.postProcessesEnabled = true; + // Customs render targets + this.renderTargetsEnabled = true; + this.dumpNextRenderTargets = false; + this.customRenderTargets = new Array(); + // Imported meshes + this.importedMeshesFiles = new Array(); + // Probes + this.probesEnabled = true; + this.reflectionProbes = new Array(); + this._actionManagers = new Array(); + this._meshesForIntersections = new BABYLON.SmartArray(256); + // Procedural textures + this.proceduralTexturesEnabled = true; + this._proceduralTextures = new Array(); + this.soundTracks = new Array(); + this._audioEnabled = true; + this._headphone = false; + // Performance counters + this._totalMeshesCounter = new BABYLON.PerfCounter(); + this._totalLightsCounter = new BABYLON.PerfCounter(); + this._totalMaterialsCounter = new BABYLON.PerfCounter(); + this._totalTexturesCounter = new BABYLON.PerfCounter(); + this._totalVertices = new BABYLON.PerfCounter(); + this._activeIndices = new BABYLON.PerfCounter(); + this._activeParticles = new BABYLON.PerfCounter(); + this._lastFrameDuration = new BABYLON.PerfCounter(); + this._evaluateActiveMeshesDuration = new BABYLON.PerfCounter(); + this._renderTargetsDuration = new BABYLON.PerfCounter(); + this._particlesDuration = new BABYLON.PerfCounter(); + this._renderDuration = new BABYLON.PerfCounter(); + this._spritesDuration = new BABYLON.PerfCounter(); + this._activeBones = new BABYLON.PerfCounter(); + this._renderId = 0; + this._executeWhenReadyTimeoutId = -1; + this._intermediateRendering = false; + this._toBeDisposed = new BABYLON.SmartArray(256); + this._pendingData = []; //ANY + this._activeMeshes = new BABYLON.SmartArray(256); + this._processedMaterials = new BABYLON.SmartArray(256); + this._renderTargets = new BABYLON.SmartArray(256); + this._activeParticleSystems = new BABYLON.SmartArray(256); + this._activeSkeletons = new BABYLON.SmartArray(32); + this._softwareSkinnedMeshes = new BABYLON.SmartArray(32); + this._activeAnimatables = new Array(); + this._transformMatrix = BABYLON.Matrix.Zero(); + this._edgesRenderers = new BABYLON.SmartArray(16); + this._uniqueIdCounter = 0; + this._engine = engine; + engine.scenes.push(this); + this._externalData = new BABYLON.StringDictionary(); + this._uid = null; + this._renderingManager = new BABYLON.RenderingManager(this); + this.postProcessManager = new BABYLON.PostProcessManager(this); + this.postProcessRenderPipelineManager = new BABYLON.PostProcessRenderPipelineManager(); + this._boundingBoxRenderer = new BABYLON.BoundingBoxRenderer(this); + if (BABYLON.OutlineRenderer) { + this._outlineRenderer = new BABYLON.OutlineRenderer(this); + } + this.attachControl(); + if (BABYLON.SoundTrack) { + this.mainSoundTrack = new BABYLON.SoundTrack(this, { mainTrack: true }); + } + //simplification queue + if (BABYLON.SimplificationQueue) { + this.simplificationQueue = new BABYLON.SimplificationQueue(); + } + //collision coordinator initialization. For now legacy per default. + this.workerCollisions = false; //(!!Worker && (!!BABYLON.CollisionWorker || BABYLON.WorkerIncluded)); + } + Object.defineProperty(Scene, "FOGMODE_NONE", { + get: function () { + return Scene._FOGMODE_NONE; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Scene, "FOGMODE_EXP", { + get: function () { + return Scene._FOGMODE_EXP; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Scene, "FOGMODE_EXP2", { + get: function () { + return Scene._FOGMODE_EXP2; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Scene, "FOGMODE_LINEAR", { + get: function () { + return Scene._FOGMODE_LINEAR; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Scene.prototype, "onDispose", { + set: function (callback) { + if (this._onDisposeObserver) { + this.onDisposeObservable.remove(this._onDisposeObserver); + } + this._onDisposeObserver = this.onDisposeObservable.add(callback); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Scene.prototype, "beforeRender", { + set: function (callback) { + if (this._onBeforeRenderObserver) { + this.onBeforeRenderObservable.remove(this._onBeforeRenderObserver); + } + this._onBeforeRenderObserver = this.onBeforeRenderObservable.add(callback); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Scene.prototype, "afterRender", { + set: function (callback) { + if (this._onAfterRenderObserver) { + this.onAfterRenderObservable.remove(this._onAfterRenderObserver); + } + this._onAfterRenderObserver = this.onAfterRenderObservable.add(callback); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Scene.prototype, "beforeCameraRender", { + set: function (callback) { + if (this._onBeforeCameraRenderObserver) { + this.onBeforeCameraRenderObservable.remove(this._onBeforeCameraRenderObserver); + } + this._onBeforeCameraRenderObserver = this.onBeforeCameraRenderObservable.add(callback); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Scene.prototype, "afterCameraRender", { + set: function (callback) { + if (this._onAfterCameraRenderObserver) { + this.onAfterCameraRenderObservable.remove(this._onAfterCameraRenderObserver); + } + this._onAfterCameraRenderObserver = this.onAfterCameraRenderObservable.add(callback); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Scene.prototype, "unTranslatedPointer", { + get: function () { + return new BABYLON.Vector2(this._unTranslatedPointerX, this._unTranslatedPointerY); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Scene.prototype, "defaultMaterial", { + get: function () { + if (!this._defaultMaterial) { + this._defaultMaterial = new BABYLON.StandardMaterial("default material", this); + } + return this._defaultMaterial; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Scene.prototype, "debugLayer", { + // Properties + get: function () { + if (!this._debugLayer) { + this._debugLayer = new BABYLON.DebugLayer(this); + } + return this._debugLayer; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Scene.prototype, "workerCollisions", { + get: function () { + return this._workerCollisions; + }, + set: function (enabled) { + enabled = (enabled && !!Worker); + this._workerCollisions = enabled; + if (this.collisionCoordinator) { + this.collisionCoordinator.destroy(); + } + this.collisionCoordinator = enabled ? new BABYLON.CollisionCoordinatorWorker() : new BABYLON.CollisionCoordinatorLegacy(); + this.collisionCoordinator.init(this); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Scene.prototype, "SelectionOctree", { + get: function () { + return this._selectionOctree; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Scene.prototype, "meshUnderPointer", { + /** + * The mesh that is currently under the pointer. + * @return {BABYLON.AbstractMesh} mesh under the pointer/mouse cursor or null if none. + */ + get: function () { + return this._pointerOverMesh; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Scene.prototype, "pointerX", { + /** + * Current on-screen X position of the pointer + * @return {number} X position of the pointer + */ + get: function () { + return this._pointerX; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Scene.prototype, "pointerY", { + /** + * Current on-screen Y position of the pointer + * @return {number} Y position of the pointer + */ + get: function () { + return this._pointerY; + }, + enumerable: true, + configurable: true + }); + Scene.prototype.getCachedMaterial = function () { + return this._cachedMaterial; + }; + Scene.prototype.getBoundingBoxRenderer = function () { + return this._boundingBoxRenderer; + }; + Scene.prototype.getOutlineRenderer = function () { + return this._outlineRenderer; + }; + Scene.prototype.getEngine = function () { + return this._engine; + }; + Scene.prototype.getTotalVertices = function () { + return this._totalVertices.current; + }; + Object.defineProperty(Scene.prototype, "totalVerticesPerfCounter", { + get: function () { + return this._totalVertices; + }, + enumerable: true, + configurable: true + }); + Scene.prototype.getActiveIndices = function () { + return this._activeIndices.current; + }; + Object.defineProperty(Scene.prototype, "totalActiveIndicesPerfCounter", { + get: function () { + return this._activeIndices; + }, + enumerable: true, + configurable: true + }); + Scene.prototype.getActiveParticles = function () { + return this._activeParticles.current; + }; + Object.defineProperty(Scene.prototype, "activeParticlesPerfCounter", { + get: function () { + return this._activeParticles; + }, + enumerable: true, + configurable: true + }); + Scene.prototype.getActiveBones = function () { + return this._activeBones.current; + }; + Object.defineProperty(Scene.prototype, "activeBonesPerfCounter", { + get: function () { + return this._activeBones; + }, + enumerable: true, + configurable: true + }); + // Stats + Scene.prototype.getLastFrameDuration = function () { + return this._lastFrameDuration.current; + }; + Object.defineProperty(Scene.prototype, "lastFramePerfCounter", { + get: function () { + return this._lastFrameDuration; + }, + enumerable: true, + configurable: true + }); + Scene.prototype.getEvaluateActiveMeshesDuration = function () { + return this._evaluateActiveMeshesDuration.current; + }; + Object.defineProperty(Scene.prototype, "evaluateActiveMeshesDurationPerfCounter", { + get: function () { + return this._evaluateActiveMeshesDuration; + }, + enumerable: true, + configurable: true + }); + Scene.prototype.getActiveMeshes = function () { + return this._activeMeshes; + }; + Scene.prototype.getRenderTargetsDuration = function () { + return this._renderTargetsDuration.current; + }; + Scene.prototype.getRenderDuration = function () { + return this._renderDuration.current; + }; + Object.defineProperty(Scene.prototype, "renderDurationPerfCounter", { + get: function () { + return this._renderDuration; + }, + enumerable: true, + configurable: true + }); + Scene.prototype.getParticlesDuration = function () { + return this._particlesDuration.current; + }; + Object.defineProperty(Scene.prototype, "particlesDurationPerfCounter", { + get: function () { + return this._particlesDuration; + }, + enumerable: true, + configurable: true + }); + Scene.prototype.getSpritesDuration = function () { + return this._spritesDuration.current; + }; + Object.defineProperty(Scene.prototype, "spriteDuractionPerfCounter", { + get: function () { + return this._spritesDuration; + }, + enumerable: true, + configurable: true + }); + Scene.prototype.getAnimationRatio = function () { + return this._animationRatio; + }; + Scene.prototype.getRenderId = function () { + return this._renderId; + }; + Scene.prototype.incrementRenderId = function () { + this._renderId++; + }; + Scene.prototype._updatePointerPosition = function (evt) { + var canvasRect = this._engine.getRenderingCanvasClientRect(); + this._pointerX = evt.clientX - canvasRect.left; + this._pointerY = evt.clientY - canvasRect.top; + this._unTranslatedPointerX = this._pointerX; + this._unTranslatedPointerY = this._pointerY; + if (this.cameraToUseForPointers) { + this._pointerX = this._pointerX - this.cameraToUseForPointers.viewport.x * this._engine.getRenderWidth(); + this._pointerY = this._pointerY - this.cameraToUseForPointers.viewport.y * this._engine.getRenderHeight(); + } + }; + // Pointers handling + /** + * Attach events to the canvas (To handle actionManagers triggers and raise onPointerMove, onPointerDown and onPointerUp + * @param attachUp defines if you want to attach events to pointerup + * @param attachDown defines if you want to attach events to pointerdown + * @param attachMove defines if you want to attach events to pointermove + */ + Scene.prototype.attachControl = function (attachUp, attachDown, attachMove) { + var _this = this; + if (attachUp === void 0) { attachUp = true; } + if (attachDown === void 0) { attachDown = true; } + if (attachMove === void 0) { attachMove = true; } + var spritePredicate = function (sprite) { + return sprite.isPickable && sprite.actionManager && sprite.actionManager.hasPointerTriggers; + }; + this._onPointerMove = function (evt) { + _this._updatePointerPosition(evt); + // PreObservable support + if (_this.onPrePointerObservable.hasObservers()) { + var type = evt.type === "mousewheel" || evt.type === "DOMMouseScroll" ? PointerEventTypes.POINTERWHEEL : PointerEventTypes.POINTERMOVE; + var pi = new PointerInfoPre(type, evt, _this._unTranslatedPointerX, _this._unTranslatedPointerY); + _this.onPrePointerObservable.notifyObservers(pi, type); + if (pi.skipOnPointerObservable) { + return; + } + } + if (!_this.cameraToUseForPointers && !_this.activeCamera) { + return; + } + var canvas = _this._engine.getRenderingCanvas(); + if (!_this.pointerMovePredicate) { + _this.pointerMovePredicate = function (mesh) { return mesh.isPickable && mesh.isVisible && mesh.isReady() && (_this.constantlyUpdateMeshUnderPointer || mesh.actionManager !== null && mesh.actionManager !== undefined); }; + } + // Meshes + var pickResult = _this.pick(_this._unTranslatedPointerX, _this._unTranslatedPointerY, _this.pointerMovePredicate, false, _this.cameraToUseForPointers); + if (pickResult.hit && pickResult.pickedMesh) { + _this.setPointerOverSprite(null); + _this.setPointerOverMesh(pickResult.pickedMesh); + if (_this._pointerOverMesh.actionManager && _this._pointerOverMesh.actionManager.hasPointerTriggers) { + if (_this._pointerOverMesh.actionManager.hoverCursor) { + canvas.style.cursor = _this._pointerOverMesh.actionManager.hoverCursor; + } + else { + canvas.style.cursor = _this.hoverCursor; + } + } + else { + canvas.style.cursor = ""; + } + } + else { + _this.setPointerOverMesh(null); + // Sprites + pickResult = _this.pickSprite(_this._unTranslatedPointerX, _this._unTranslatedPointerY, spritePredicate, false, _this.cameraToUseForPointers); + if (pickResult.hit && pickResult.pickedSprite) { + _this.setPointerOverSprite(pickResult.pickedSprite); + if (_this._pointerOverSprite.actionManager && _this._pointerOverSprite.actionManager.hoverCursor) { + canvas.style.cursor = _this._pointerOverSprite.actionManager.hoverCursor; + } + else { + canvas.style.cursor = _this.hoverCursor; + } + } + else { + _this.setPointerOverSprite(null); + // Restore pointer + canvas.style.cursor = ""; + } + } + if (_this.onPointerMove) { + _this.onPointerMove(evt, pickResult); + } + if (_this.onPointerObservable.hasObservers()) { + var type = evt.type === "mousewheel" || evt.type === "DOMMouseScroll" ? PointerEventTypes.POINTERWHEEL : PointerEventTypes.POINTERMOVE; + var pi = new PointerInfo(type, evt, pickResult); + _this.onPointerObservable.notifyObservers(pi, type); + } + }; + this._onPointerDown = function (evt) { + _this._updatePointerPosition(evt); + // PreObservable support + if (_this.onPrePointerObservable.hasObservers()) { + var type = PointerEventTypes.POINTERDOWN; + var pi = new PointerInfoPre(type, evt, _this._unTranslatedPointerX, _this._unTranslatedPointerY); + _this.onPrePointerObservable.notifyObservers(pi, type); + if (pi.skipOnPointerObservable) { + return; + } + } + if (!_this.cameraToUseForPointers && !_this.activeCamera) { + return; + } + _this._startingPointerPosition.x = _this._pointerX; + _this._startingPointerPosition.y = _this._pointerY; + _this._startingPointerTime = new Date().getTime(); + if (!_this.pointerDownPredicate) { + _this.pointerDownPredicate = function (mesh) { + return mesh.isPickable && mesh.isVisible && mesh.isReady(); + }; + } + // Meshes + _this._pickedDownMesh = null; + var pickResult = _this.pick(_this._unTranslatedPointerX, _this._unTranslatedPointerY, _this.pointerDownPredicate, false, _this.cameraToUseForPointers); + if (pickResult.hit && pickResult.pickedMesh) { + if (pickResult.pickedMesh.actionManager) { + _this._pickedDownMesh = pickResult.pickedMesh; + if (pickResult.pickedMesh.actionManager.hasPickTriggers) { + switch (evt.button) { + case 0: + pickResult.pickedMesh.actionManager.processTrigger(BABYLON.ActionManager.OnLeftPickTrigger, BABYLON.ActionEvent.CreateNew(pickResult.pickedMesh, evt)); + break; + case 1: + pickResult.pickedMesh.actionManager.processTrigger(BABYLON.ActionManager.OnCenterPickTrigger, BABYLON.ActionEvent.CreateNew(pickResult.pickedMesh, evt)); + break; + case 2: + pickResult.pickedMesh.actionManager.processTrigger(BABYLON.ActionManager.OnRightPickTrigger, BABYLON.ActionEvent.CreateNew(pickResult.pickedMesh, evt)); + break; + } + if (pickResult.pickedMesh.actionManager) { + pickResult.pickedMesh.actionManager.processTrigger(BABYLON.ActionManager.OnPickDownTrigger, BABYLON.ActionEvent.CreateNew(pickResult.pickedMesh, evt)); + } + } + if (pickResult.pickedMesh.actionManager && pickResult.pickedMesh.actionManager.hasSpecificTrigger(BABYLON.ActionManager.OnLongPressTrigger)) { + var that = _this; + window.setTimeout(function () { + var pickResult = that.pick(that._unTranslatedPointerX, that._unTranslatedPointerY, function (mesh) { return mesh.isPickable && mesh.isVisible && mesh.isReady() && mesh.actionManager && mesh.actionManager.hasSpecificTrigger(BABYLON.ActionManager.OnLongPressTrigger); }, false, that.cameraToUseForPointers); + if (pickResult.hit && pickResult.pickedMesh) { + if (pickResult.pickedMesh.actionManager) { + if (that._startingPointerTime !== 0 && ((new Date().getTime() - that._startingPointerTime) > BABYLON.ActionManager.LongPressDelay) && (Math.abs(that._startingPointerPosition.x - that._pointerX) < BABYLON.ActionManager.DragMovementThreshold && Math.abs(that._startingPointerPosition.y - that._pointerY) < BABYLON.ActionManager.DragMovementThreshold)) { + that._startingPointerTime = 0; + pickResult.pickedMesh.actionManager.processTrigger(BABYLON.ActionManager.OnLongPressTrigger, BABYLON.ActionEvent.CreateNew(pickResult.pickedMesh, evt)); + } + } + } + }, BABYLON.ActionManager.LongPressDelay); + } + } + } + if (_this.onPointerDown) { + _this.onPointerDown(evt, pickResult); + } + if (_this.onPointerObservable.hasObservers()) { + var type = PointerEventTypes.POINTERDOWN; + var pi = new PointerInfo(type, evt, pickResult); + _this.onPointerObservable.notifyObservers(pi, type); + } + // Sprites + _this._pickedDownSprite = null; + if (_this.spriteManagers.length > 0) { + pickResult = _this.pickSprite(_this._unTranslatedPointerX, _this._unTranslatedPointerY, spritePredicate, false, _this.cameraToUseForPointers); + if (pickResult.hit && pickResult.pickedSprite) { + if (pickResult.pickedSprite.actionManager) { + _this._pickedDownSprite = pickResult.pickedSprite; + switch (evt.button) { + case 0: + pickResult.pickedSprite.actionManager.processTrigger(BABYLON.ActionManager.OnLeftPickTrigger, BABYLON.ActionEvent.CreateNewFromSprite(pickResult.pickedSprite, _this, evt)); + break; + case 1: + pickResult.pickedSprite.actionManager.processTrigger(BABYLON.ActionManager.OnCenterPickTrigger, BABYLON.ActionEvent.CreateNewFromSprite(pickResult.pickedSprite, _this, evt)); + break; + case 2: + pickResult.pickedSprite.actionManager.processTrigger(BABYLON.ActionManager.OnRightPickTrigger, BABYLON.ActionEvent.CreateNewFromSprite(pickResult.pickedSprite, _this, evt)); + break; + } + if (pickResult.pickedSprite.actionManager) { + pickResult.pickedSprite.actionManager.processTrigger(BABYLON.ActionManager.OnPickDownTrigger, BABYLON.ActionEvent.CreateNewFromSprite(pickResult.pickedSprite, _this, evt)); + } + } + } + } + }; + this._onPointerUp = function (evt) { + _this._updatePointerPosition(evt); + // PreObservable support + if (_this.onPrePointerObservable.hasObservers()) { + var type = PointerEventTypes.POINTERUP; + var pi = new PointerInfoPre(type, evt, _this._unTranslatedPointerX, _this._unTranslatedPointerY); + _this.onPrePointerObservable.notifyObservers(pi, type); + if (pi.skipOnPointerObservable) { + return; + } + } + if (!_this.cameraToUseForPointers && !_this.activeCamera) { + return; + } + if (!_this.pointerUpPredicate) { + _this.pointerUpPredicate = function (mesh) { + return mesh.isPickable && mesh.isVisible && mesh.isReady(); + }; + } + // Meshes + var pickResult = _this.pick(_this._unTranslatedPointerX, _this._unTranslatedPointerY, _this.pointerUpPredicate, false, _this.cameraToUseForPointers); + if (pickResult.hit && pickResult.pickedMesh) { + if (_this._pickedDownMesh != null && pickResult.pickedMesh == _this._pickedDownMesh) { + if (_this.onPointerPick) { + _this.onPointerPick(evt, pickResult); + } + if (_this.onPointerObservable.hasObservers()) { + var type = PointerEventTypes.POINTERPICK; + var pi = new PointerInfo(type, evt, pickResult); + _this.onPointerObservable.notifyObservers(pi, type); + } + } + if (pickResult.pickedMesh.actionManager) { + pickResult.pickedMesh.actionManager.processTrigger(BABYLON.ActionManager.OnPickUpTrigger, BABYLON.ActionEvent.CreateNew(pickResult.pickedMesh, evt)); + if (pickResult.pickedMesh.actionManager) { + if (Math.abs(_this._startingPointerPosition.x - _this._pointerX) < BABYLON.ActionManager.DragMovementThreshold && Math.abs(_this._startingPointerPosition.y - _this._pointerY) < BABYLON.ActionManager.DragMovementThreshold) { + pickResult.pickedMesh.actionManager.processTrigger(BABYLON.ActionManager.OnPickTrigger, BABYLON.ActionEvent.CreateNew(pickResult.pickedMesh, evt)); + } + } + } + } + if (_this._pickedDownMesh && _this._pickedDownMesh.actionManager && _this._pickedDownMesh !== pickResult.pickedMesh) { + _this._pickedDownMesh.actionManager.processTrigger(BABYLON.ActionManager.OnPickOutTrigger, BABYLON.ActionEvent.CreateNew(_this._pickedDownMesh, evt)); + } + if (_this.onPointerUp) { + _this.onPointerUp(evt, pickResult); + } + if (_this.onPointerObservable.hasObservers()) { + var type = PointerEventTypes.POINTERUP; + var pi = new PointerInfo(type, evt, pickResult); + _this.onPointerObservable.notifyObservers(pi, type); + } + _this._startingPointerTime = 0; + // Sprites + if (_this.spriteManagers.length > 0) { + pickResult = _this.pickSprite(_this._unTranslatedPointerX, _this._unTranslatedPointerY, spritePredicate, false, _this.cameraToUseForPointers); + if (pickResult.hit && pickResult.pickedSprite) { + if (pickResult.pickedSprite.actionManager) { + pickResult.pickedSprite.actionManager.processTrigger(BABYLON.ActionManager.OnPickUpTrigger, BABYLON.ActionEvent.CreateNewFromSprite(pickResult.pickedSprite, _this, evt)); + if (pickResult.pickedSprite.actionManager) { + if (Math.abs(_this._startingPointerPosition.x - _this._pointerX) < BABYLON.ActionManager.DragMovementThreshold && Math.abs(_this._startingPointerPosition.y - _this._pointerY) < BABYLON.ActionManager.DragMovementThreshold) { + pickResult.pickedSprite.actionManager.processTrigger(BABYLON.ActionManager.OnPickTrigger, BABYLON.ActionEvent.CreateNewFromSprite(pickResult.pickedSprite, _this, evt)); + } + } + } + } + if (_this._pickedDownSprite && _this._pickedDownSprite.actionManager && _this._pickedDownSprite !== pickResult.pickedSprite) { + _this._pickedDownSprite.actionManager.processTrigger(BABYLON.ActionManager.OnPickOutTrigger, BABYLON.ActionEvent.CreateNewFromSprite(_this._pickedDownSprite, _this, evt)); + } + } + }; + this._onKeyDown = function (evt) { + if (_this.actionManager) { + _this.actionManager.processTrigger(BABYLON.ActionManager.OnKeyDownTrigger, BABYLON.ActionEvent.CreateNewFromScene(_this, evt)); + } + }; + this._onKeyUp = function (evt) { + if (_this.actionManager) { + _this.actionManager.processTrigger(BABYLON.ActionManager.OnKeyUpTrigger, BABYLON.ActionEvent.CreateNewFromScene(_this, evt)); + } + }; + var eventPrefix = BABYLON.Tools.GetPointerPrefix(); + var canvas = this._engine.getRenderingCanvas(); + if (attachMove) { + canvas.addEventListener(eventPrefix + "move", this._onPointerMove, false); + // Wheel + canvas.addEventListener('mousewheel', this._onPointerMove, false); + canvas.addEventListener('DOMMouseScroll', this._onPointerMove, false); + } + if (attachDown) { + canvas.addEventListener(eventPrefix + "down", this._onPointerDown, false); + } + if (attachUp) { + canvas.addEventListener(eventPrefix + "up", this._onPointerUp, false); + } + canvas.tabIndex = 1; + canvas.addEventListener("keydown", this._onKeyDown, false); + canvas.addEventListener("keyup", this._onKeyUp, false); + }; + Scene.prototype.detachControl = function () { + var eventPrefix = BABYLON.Tools.GetPointerPrefix(); + var canvas = this._engine.getRenderingCanvas(); + canvas.removeEventListener(eventPrefix + "move", this._onPointerMove); + canvas.removeEventListener(eventPrefix + "down", this._onPointerDown); + canvas.removeEventListener(eventPrefix + "up", this._onPointerUp); + // Wheel + canvas.removeEventListener('mousewheel', this._onPointerMove); + canvas.removeEventListener('DOMMouseScroll', this._onPointerMove); + canvas.removeEventListener("keydown", this._onKeyDown); + canvas.removeEventListener("keyup", this._onKeyUp); + }; + // Ready + Scene.prototype.isReady = function () { + if (this._pendingData.length > 0) { + return false; + } + var index; + for (index = 0; index < this._geometries.length; index++) { + var geometry = this._geometries[index]; + if (geometry.delayLoadState === BABYLON.Engine.DELAYLOADSTATE_LOADING) { + return false; + } + } + for (index = 0; index < this.meshes.length; index++) { + var mesh = this.meshes[index]; + if (!mesh.isReady()) { + return false; + } + var mat = mesh.material; + if (mat) { + if (!mat.isReady(mesh)) { + return false; + } + } + } + return true; + }; + Scene.prototype.resetCachedMaterial = function () { + this._cachedMaterial = null; + }; + Scene.prototype.registerBeforeRender = function (func) { + this.onBeforeRenderObservable.add(func); + }; + Scene.prototype.unregisterBeforeRender = function (func) { + this.onBeforeRenderObservable.removeCallback(func); + }; + Scene.prototype.registerAfterRender = function (func) { + this.onAfterRenderObservable.add(func); + }; + Scene.prototype.unregisterAfterRender = function (func) { + this.onAfterRenderObservable.removeCallback(func); + }; + Scene.prototype._addPendingData = function (data) { + this._pendingData.push(data); + }; + Scene.prototype._removePendingData = function (data) { + var index = this._pendingData.indexOf(data); + if (index !== -1) { + this._pendingData.splice(index, 1); + } + }; + Scene.prototype.getWaitingItemsCount = function () { + return this._pendingData.length; + }; + /** + * Registers a function to be executed when the scene is ready. + * @param {Function} func - the function to be executed. + */ + Scene.prototype.executeWhenReady = function (func) { + var _this = this; + this.onReadyObservable.add(func); + if (this._executeWhenReadyTimeoutId !== -1) { + return; + } + this._executeWhenReadyTimeoutId = setTimeout(function () { + _this._checkIsReady(); + }, 150); + }; + Scene.prototype._checkIsReady = function () { + var _this = this; + if (this.isReady()) { + this.onReadyObservable.notifyObservers(this); + this.onReadyObservable.clear(); + this._executeWhenReadyTimeoutId = -1; + return; + } + this._executeWhenReadyTimeoutId = setTimeout(function () { + _this._checkIsReady(); + }, 150); + }; + // Animations + /** + * Will start the animation sequence of a given target + * @param target - the target + * @param {number} from - from which frame should animation start + * @param {number} to - till which frame should animation run. + * @param {boolean} [loop] - should the animation loop + * @param {number} [speedRatio] - the speed in which to run the animation + * @param {Function} [onAnimationEnd] function to be executed when the animation ended. + * @param {BABYLON.Animatable} [animatable] an animatable object. If not provided a new one will be created from the given params. + * @return {BABYLON.Animatable} the animatable object created for this animation + * @see BABYLON.Animatable + * @see http://doc.babylonjs.com/page.php?p=22081 + */ + Scene.prototype.beginAnimation = function (target, from, to, loop, speedRatio, onAnimationEnd, animatable) { + if (speedRatio === void 0) { speedRatio = 1.0; } + this.stopAnimation(target); + if (!animatable) { + animatable = new BABYLON.Animatable(this, target, from, to, loop, speedRatio, onAnimationEnd); + } + // Local animations + if (target.animations) { + animatable.appendAnimations(target, target.animations); + } + // Children animations + if (target.getAnimatables) { + var animatables = target.getAnimatables(); + for (var index = 0; index < animatables.length; index++) { + this.beginAnimation(animatables[index], from, to, loop, speedRatio, onAnimationEnd, animatable); + } + } + animatable.reset(); + return animatable; + }; + Scene.prototype.beginDirectAnimation = function (target, animations, from, to, loop, speedRatio, onAnimationEnd) { + if (speedRatio === undefined) { + speedRatio = 1.0; + } + var animatable = new BABYLON.Animatable(this, target, from, to, loop, speedRatio, onAnimationEnd, animations); + return animatable; + }; + Scene.prototype.getAnimatableByTarget = function (target) { + for (var index = 0; index < this._activeAnimatables.length; index++) { + if (this._activeAnimatables[index].target === target) { + return this._activeAnimatables[index]; + } + } + return null; + }; + Object.defineProperty(Scene.prototype, "Animatables", { + get: function () { + return this._activeAnimatables; + }, + enumerable: true, + configurable: true + }); + /** + * Will stop the animation of the given target + * @param target - the target + * @param animationName - the name of the animation to stop (all animations will be stopped is empty) + * @see beginAnimation + */ + Scene.prototype.stopAnimation = function (target, animationName) { + var animatable = this.getAnimatableByTarget(target); + if (animatable) { + animatable.stop(animationName); + } + }; + Scene.prototype._animate = function () { + if (!this.animationsEnabled || this._activeAnimatables.length === 0) { + return; + } + if (!this._animationStartDate) { + if (this._pendingData.length > 0) { + return; + } + this._animationStartDate = BABYLON.Tools.Now; + } + // Getting time + var now = BABYLON.Tools.Now; + var delay = now - this._animationStartDate; + for (var index = 0; index < this._activeAnimatables.length; index++) { + this._activeAnimatables[index]._animate(delay); + } + }; + // Matrix + Scene.prototype.getViewMatrix = function () { + return this._viewMatrix; + }; + Scene.prototype.getProjectionMatrix = function () { + return this._projectionMatrix; + }; + Scene.prototype.getTransformMatrix = function () { + return this._transformMatrix; + }; + Scene.prototype.setTransformMatrix = function (view, projection) { + this._viewMatrix = view; + this._projectionMatrix = projection; + this._viewMatrix.multiplyToRef(this._projectionMatrix, this._transformMatrix); + // Update frustum + if (!this._frustumPlanes) { + this._frustumPlanes = BABYLON.Frustum.GetPlanes(this._transformMatrix); + } + else { + BABYLON.Frustum.GetPlanesToRef(this._transformMatrix, this._frustumPlanes); + } + }; + // Methods + Scene.prototype.addMesh = function (newMesh) { + newMesh.uniqueId = this._uniqueIdCounter++; + var position = this.meshes.push(newMesh); + //notify the collision coordinator + this.collisionCoordinator.onMeshAdded(newMesh); + this.onNewMeshAddedObservable.notifyObservers(newMesh); + }; + Scene.prototype.removeMesh = function (toRemove) { + var index = this.meshes.indexOf(toRemove); + if (index !== -1) { + // Remove from the scene if mesh found + this.meshes.splice(index, 1); + } + //notify the collision coordinator + this.collisionCoordinator.onMeshRemoved(toRemove); + this.onMeshRemovedObservable.notifyObservers(toRemove); + return index; + }; + Scene.prototype.removeSkeleton = function (toRemove) { + var index = this.skeletons.indexOf(toRemove); + if (index !== -1) { + // Remove from the scene if mesh found + this.skeletons.splice(index, 1); + } + return index; + }; + Scene.prototype.removeLight = function (toRemove) { + var index = this.lights.indexOf(toRemove); + if (index !== -1) { + // Remove from the scene if mesh found + this.lights.splice(index, 1); + } + this.onLightRemovedObservable.notifyObservers(toRemove); + return index; + }; + Scene.prototype.removeCamera = function (toRemove) { + var index = this.cameras.indexOf(toRemove); + if (index !== -1) { + // Remove from the scene if mesh found + this.cameras.splice(index, 1); + } + // Remove from activeCameras + var index2 = this.activeCameras.indexOf(toRemove); + if (index2 !== -1) { + // Remove from the scene if mesh found + this.activeCameras.splice(index2, 1); + } + // Reset the activeCamera + if (this.activeCamera === toRemove) { + if (this.cameras.length > 0) { + this.activeCamera = this.cameras[0]; + } + else { + this.activeCamera = null; + } + } + this.onCameraRemovedObservable.notifyObservers(toRemove); + return index; + }; + Scene.prototype.addLight = function (newLight) { + newLight.uniqueId = this._uniqueIdCounter++; + var position = this.lights.push(newLight); + this.onNewLightAddedObservable.notifyObservers(newLight); + }; + Scene.prototype.addCamera = function (newCamera) { + newCamera.uniqueId = this._uniqueIdCounter++; + var position = this.cameras.push(newCamera); + this.onNewCameraAddedObservable.notifyObservers(newCamera); + }; + /** + * Switch active camera + * @param {Camera} newCamera - new active camera + * @param {boolean} attachControl - call attachControl for the new active camera (default: true) + */ + Scene.prototype.switchActiveCamera = function (newCamera, attachControl) { + if (attachControl === void 0) { attachControl = true; } + var canvas = this._engine.getRenderingCanvas(); + this.activeCamera.detachControl(canvas); + this.activeCamera = newCamera; + if (attachControl) { + newCamera.attachControl(canvas); + } + }; + /** + * sets the active camera of the scene using its ID + * @param {string} id - the camera's ID + * @return {BABYLON.Camera|null} the new active camera or null if none found. + * @see activeCamera + */ + Scene.prototype.setActiveCameraByID = function (id) { + var camera = this.getCameraByID(id); + if (camera) { + this.activeCamera = camera; + return camera; + } + return null; + }; + /** + * sets the active camera of the scene using its name + * @param {string} name - the camera's name + * @return {BABYLON.Camera|null} the new active camera or null if none found. + * @see activeCamera + */ + Scene.prototype.setActiveCameraByName = function (name) { + var camera = this.getCameraByName(name); + if (camera) { + this.activeCamera = camera; + return camera; + } + return null; + }; + /** + * get a material using its id + * @param {string} the material's ID + * @return {BABYLON.Material|null} the material or null if none found. + */ + Scene.prototype.getMaterialByID = function (id) { + for (var index = 0; index < this.materials.length; index++) { + if (this.materials[index].id === id) { + return this.materials[index]; + } + } + return null; + }; + /** + * get a material using its name + * @param {string} the material's name + * @return {BABYLON.Material|null} the material or null if none found. + */ + Scene.prototype.getMaterialByName = function (name) { + for (var index = 0; index < this.materials.length; index++) { + if (this.materials[index].name === name) { + return this.materials[index]; + } + } + return null; + }; + Scene.prototype.getLensFlareSystemByName = function (name) { + for (var index = 0; index < this.lensFlareSystems.length; index++) { + if (this.lensFlareSystems[index].name === name) { + return this.lensFlareSystems[index]; + } + } + return null; + }; + Scene.prototype.getLensFlareSystemByID = function (id) { + for (var index = 0; index < this.lensFlareSystems.length; index++) { + if (this.lensFlareSystems[index].id === id) { + return this.lensFlareSystems[index]; + } + } + return null; + }; + Scene.prototype.getCameraByID = function (id) { + for (var index = 0; index < this.cameras.length; index++) { + if (this.cameras[index].id === id) { + return this.cameras[index]; + } + } + return null; + }; + Scene.prototype.getCameraByUniqueID = function (uniqueId) { + for (var index = 0; index < this.cameras.length; index++) { + if (this.cameras[index].uniqueId === uniqueId) { + return this.cameras[index]; + } + } + return null; + }; + /** + * get a camera using its name + * @param {string} the camera's name + * @return {BABYLON.Camera|null} the camera or null if none found. + */ + Scene.prototype.getCameraByName = function (name) { + for (var index = 0; index < this.cameras.length; index++) { + if (this.cameras[index].name === name) { + return this.cameras[index]; + } + } + return null; + }; + /** + * get a bone using its id + * @param {string} the bone's id + * @return {BABYLON.Bone|null} the bone or null if not found + */ + Scene.prototype.getBoneByID = function (id) { + for (var skeletonIndex = 0; skeletonIndex < this.skeletons.length; skeletonIndex++) { + var skeleton = this.skeletons[skeletonIndex]; + for (var boneIndex = 0; boneIndex < skeleton.bones.length; boneIndex++) { + if (skeleton.bones[boneIndex].id === id) { + return skeleton.bones[boneIndex]; + } + } + } + return null; + }; + /** + * get a bone using its id + * @param {string} the bone's name + * @return {BABYLON.Bone|null} the bone or null if not found + */ + Scene.prototype.getBoneByName = function (name) { + for (var skeletonIndex = 0; skeletonIndex < this.skeletons.length; skeletonIndex++) { + var skeleton = this.skeletons[skeletonIndex]; + for (var boneIndex = 0; boneIndex < skeleton.bones.length; boneIndex++) { + if (skeleton.bones[boneIndex].name === name) { + return skeleton.bones[boneIndex]; + } + } + } + return null; + }; + /** + * get a light node using its name + * @param {string} the light's name + * @return {BABYLON.Light|null} the light or null if none found. + */ + Scene.prototype.getLightByName = function (name) { + for (var index = 0; index < this.lights.length; index++) { + if (this.lights[index].name === name) { + return this.lights[index]; + } + } + return null; + }; + /** + * get a light node using its ID + * @param {string} the light's id + * @return {BABYLON.Light|null} the light or null if none found. + */ + Scene.prototype.getLightByID = function (id) { + for (var index = 0; index < this.lights.length; index++) { + if (this.lights[index].id === id) { + return this.lights[index]; + } + } + return null; + }; + /** + * get a light node using its scene-generated unique ID + * @param {number} the light's unique id + * @return {BABYLON.Light|null} the light or null if none found. + */ + Scene.prototype.getLightByUniqueID = function (uniqueId) { + for (var index = 0; index < this.lights.length; index++) { + if (this.lights[index].uniqueId === uniqueId) { + return this.lights[index]; + } + } + return null; + }; + /** + * get a particle system by id + * @param id {number} the particle system id + * @return {BABYLON.ParticleSystem|null} the corresponding system or null if none found. + */ + Scene.prototype.getParticleSystemByID = function (id) { + for (var index = 0; index < this.particleSystems.length; index++) { + if (this.particleSystems[index].id === id) { + return this.particleSystems[index]; + } + } + return null; + }; + /** + * get a geometry using its ID + * @param {string} the geometry's id + * @return {BABYLON.Geometry|null} the geometry or null if none found. + */ + Scene.prototype.getGeometryByID = function (id) { + for (var index = 0; index < this._geometries.length; index++) { + if (this._geometries[index].id === id) { + return this._geometries[index]; + } + } + return null; + }; + /** + * add a new geometry to this scene. + * @param {BABYLON.Geometry} geometry - the geometry to be added to the scene. + * @param {boolean} [force] - force addition, even if a geometry with this ID already exists + * @return {boolean} was the geometry added or not + */ + Scene.prototype.pushGeometry = function (geometry, force) { + if (!force && this.getGeometryByID(geometry.id)) { + return false; + } + this._geometries.push(geometry); + //notify the collision coordinator + this.collisionCoordinator.onGeometryAdded(geometry); + this.onNewGeometryAddedObservable.notifyObservers(geometry); + return true; + }; + /** + * Removes an existing geometry + * @param {BABYLON.Geometry} geometry - the geometry to be removed from the scene. + * @return {boolean} was the geometry removed or not + */ + Scene.prototype.removeGeometry = function (geometry) { + var index = this._geometries.indexOf(geometry); + if (index > -1) { + this._geometries.splice(index, 1); + //notify the collision coordinator + this.collisionCoordinator.onGeometryDeleted(geometry); + this.onGeometryRemovedObservable.notifyObservers(geometry); + return true; + } + return false; + }; + Scene.prototype.getGeometries = function () { + return this._geometries; + }; + /** + * Get the first added mesh found of a given ID + * @param {string} id - the id to search for + * @return {BABYLON.AbstractMesh|null} the mesh found or null if not found at all. + */ + Scene.prototype.getMeshByID = function (id) { + for (var index = 0; index < this.meshes.length; index++) { + if (this.meshes[index].id === id) { + return this.meshes[index]; + } + } + return null; + }; + Scene.prototype.getMeshesByID = function (id) { + return this.meshes.filter(function (m) { + return m.id === id; + }); + }; + /** + * Get a mesh with its auto-generated unique id + * @param {number} uniqueId - the unique id to search for + * @return {BABYLON.AbstractMesh|null} the mesh found or null if not found at all. + */ + Scene.prototype.getMeshByUniqueID = function (uniqueId) { + for (var index = 0; index < this.meshes.length; index++) { + if (this.meshes[index].uniqueId === uniqueId) { + return this.meshes[index]; + } + } + return null; + }; + /** + * Get a the last added mesh found of a given ID + * @param {string} id - the id to search for + * @return {BABYLON.AbstractMesh|null} the mesh found or null if not found at all. + */ + Scene.prototype.getLastMeshByID = function (id) { + for (var index = this.meshes.length - 1; index >= 0; index--) { + if (this.meshes[index].id === id) { + return this.meshes[index]; + } + } + return null; + }; + /** + * Get a the last added node (Mesh, Camera, Light) found of a given ID + * @param {string} id - the id to search for + * @return {BABYLON.Node|null} the node found or null if not found at all. + */ + Scene.prototype.getLastEntryByID = function (id) { + var index; + for (index = this.meshes.length - 1; index >= 0; index--) { + if (this.meshes[index].id === id) { + return this.meshes[index]; + } + } + for (index = this.cameras.length - 1; index >= 0; index--) { + if (this.cameras[index].id === id) { + return this.cameras[index]; + } + } + for (index = this.lights.length - 1; index >= 0; index--) { + if (this.lights[index].id === id) { + return this.lights[index]; + } + } + return null; + }; + Scene.prototype.getNodeByID = function (id) { + var mesh = this.getMeshByID(id); + if (mesh) { + return mesh; + } + var light = this.getLightByID(id); + if (light) { + return light; + } + var camera = this.getCameraByID(id); + if (camera) { + return camera; + } + var bone = this.getBoneByID(id); + return bone; + }; + Scene.prototype.getNodeByName = function (name) { + var mesh = this.getMeshByName(name); + if (mesh) { + return mesh; + } + var light = this.getLightByName(name); + if (light) { + return light; + } + var camera = this.getCameraByName(name); + if (camera) { + return camera; + } + var bone = this.getBoneByName(name); + return bone; + }; + Scene.prototype.getMeshByName = function (name) { + for (var index = 0; index < this.meshes.length; index++) { + if (this.meshes[index].name === name) { + return this.meshes[index]; + } + } + return null; + }; + Scene.prototype.getSoundByName = function (name) { + var index; + if (BABYLON.AudioEngine) { + for (index = 0; index < this.mainSoundTrack.soundCollection.length; index++) { + if (this.mainSoundTrack.soundCollection[index].name === name) { + return this.mainSoundTrack.soundCollection[index]; + } + } + for (var sdIndex = 0; sdIndex < this.soundTracks.length; sdIndex++) { + for (index = 0; index < this.soundTracks[sdIndex].soundCollection.length; index++) { + if (this.soundTracks[sdIndex].soundCollection[index].name === name) { + return this.soundTracks[sdIndex].soundCollection[index]; + } + } + } + } + return null; + }; + Scene.prototype.getLastSkeletonByID = function (id) { + for (var index = this.skeletons.length - 1; index >= 0; index--) { + if (this.skeletons[index].id === id) { + return this.skeletons[index]; + } + } + return null; + }; + Scene.prototype.getSkeletonById = function (id) { + for (var index = 0; index < this.skeletons.length; index++) { + if (this.skeletons[index].id === id) { + return this.skeletons[index]; + } + } + return null; + }; + Scene.prototype.getSkeletonByName = function (name) { + for (var index = 0; index < this.skeletons.length; index++) { + if (this.skeletons[index].name === name) { + return this.skeletons[index]; + } + } + return null; + }; + Scene.prototype.isActiveMesh = function (mesh) { + return (this._activeMeshes.indexOf(mesh) !== -1); + }; + Object.defineProperty(Scene.prototype, "uid", { + /** + * Return a unique id as a string which can serve as an identifier for the scene + */ + get: function () { + if (!this._uid) { + this._uid = BABYLON.Tools.RandomId(); + } + return this._uid; + }, + enumerable: true, + configurable: true + }); + /** + * Add an externaly attached data from its key. + * This method call will fail and return false, if such key already exists. + * If you don't care and just want to get the data no matter what, use the more convenient getOrAddExternalDataWithFactory() method. + * @param key the unique key that identifies the data + * @param data the data object to associate to the key for this Engine instance + * @return true if no such key were already present and the data was added successfully, false otherwise + */ + Scene.prototype.addExternalData = function (key, data) { + return this._externalData.add(key, data); + }; + /** + * Get an externaly attached data from its key + * @param key the unique key that identifies the data + * @return the associated data, if present (can be null), or undefined if not present + */ + Scene.prototype.getExternalData = function (key) { + return this._externalData.get(key); + }; + /** + * Get an externaly attached data from its key, create it using a factory if it's not already present + * @param key the unique key that identifies the data + * @param factory the factory that will be called to create the instance if and only if it doesn't exists + * @return the associated data, can be null if the factory returned null. + */ + Scene.prototype.getOrAddExternalDataWithFactory = function (key, factory) { + return this._externalData.getOrAddWithFactory(key, factory); + }; + /** + * Remove an externaly attached data from the Engine instance + * @param key the unique key that identifies the data + * @return true if the data was successfully removed, false if it doesn't exist + */ + Scene.prototype.removeExternalData = function (key) { + return this._externalData.remove(key); + }; + Scene.prototype._evaluateSubMesh = function (subMesh, mesh) { + if (mesh.alwaysSelectAsActiveMesh || mesh.subMeshes.length === 1 || subMesh.isInFrustum(this._frustumPlanes)) { + var material = subMesh.getMaterial(); + if (mesh.showSubMeshesBoundingBox) { + this._boundingBoxRenderer.renderList.push(subMesh.getBoundingInfo().boundingBox); + } + if (material) { + // Render targets + if (material.getRenderTargetTextures) { + if (this._processedMaterials.indexOf(material) === -1) { + this._processedMaterials.push(material); + this._renderTargets.concatWithNoDuplicate(material.getRenderTargetTextures()); + } + } + // Dispatch + this._activeIndices.addCount(subMesh.indexCount, false); + this._renderingManager.dispatch(subMesh); + } + } + }; + Scene.prototype._isInIntermediateRendering = function () { + return this._intermediateRendering; + }; + Scene.prototype._evaluateActiveMeshes = function () { + this.activeCamera._activeMeshes.reset(); + this._activeMeshes.reset(); + this._renderingManager.reset(); + this._processedMaterials.reset(); + this._activeParticleSystems.reset(); + this._activeSkeletons.reset(); + this._softwareSkinnedMeshes.reset(); + this._boundingBoxRenderer.reset(); + this._edgesRenderers.reset(); + // Meshes + var meshes; + var len; + if (this._selectionOctree) { + var selection = this._selectionOctree.select(this._frustumPlanes); + meshes = selection.data; + len = selection.length; + } + else { + len = this.meshes.length; + meshes = this.meshes; + } + for (var meshIndex = 0; meshIndex < len; meshIndex++) { + var mesh = meshes[meshIndex]; + if (mesh.isBlocked) { + continue; + } + this._totalVertices.addCount(mesh.getTotalVertices(), false); + if (!mesh.isReady() || !mesh.isEnabled()) { + continue; + } + mesh.computeWorldMatrix(); + // Intersections + if (mesh.actionManager && mesh.actionManager.hasSpecificTriggers([BABYLON.ActionManager.OnIntersectionEnterTrigger, BABYLON.ActionManager.OnIntersectionExitTrigger])) { + this._meshesForIntersections.pushNoDuplicate(mesh); + } + // Switch to current LOD + var meshLOD = mesh.getLOD(this.activeCamera); + if (!meshLOD) { + continue; + } + mesh._preActivate(); + if (mesh.alwaysSelectAsActiveMesh || mesh.isVisible && mesh.visibility > 0 && ((mesh.layerMask & this.activeCamera.layerMask) !== 0) && mesh.isInFrustum(this._frustumPlanes)) { + this._activeMeshes.push(mesh); + this.activeCamera._activeMeshes.push(mesh); + mesh._activate(this._renderId); + this._activeMesh(mesh, meshLOD); + } + } + // Particle systems + this._particlesDuration.beginMonitoring(); + var beforeParticlesDate = BABYLON.Tools.Now; + if (this.particlesEnabled) { + BABYLON.Tools.StartPerformanceCounter("Particles", this.particleSystems.length > 0); + for (var particleIndex = 0; particleIndex < this.particleSystems.length; particleIndex++) { + var particleSystem = this.particleSystems[particleIndex]; + if (!particleSystem.isStarted()) { + continue; + } + if (!particleSystem.emitter.position || (particleSystem.emitter && particleSystem.emitter.isEnabled())) { + this._activeParticleSystems.push(particleSystem); + particleSystem.animate(); + } + } + BABYLON.Tools.EndPerformanceCounter("Particles", this.particleSystems.length > 0); + } + this._particlesDuration.endMonitoring(false); + }; + Scene.prototype._activeMesh = function (sourceMesh, mesh) { + if (mesh.skeleton && this.skeletonsEnabled) { + if (this._activeSkeletons.pushNoDuplicate(mesh.skeleton)) { + mesh.skeleton.prepare(); + } + if (!mesh.computeBonesUsingShaders) { + this._softwareSkinnedMeshes.pushNoDuplicate(mesh); + } + } + if (sourceMesh.showBoundingBox || this.forceShowBoundingBoxes) { + this._boundingBoxRenderer.renderList.push(sourceMesh.getBoundingInfo().boundingBox); + } + if (sourceMesh._edgesRenderer) { + this._edgesRenderers.push(sourceMesh._edgesRenderer); + } + if (mesh && mesh.subMeshes) { + // Submeshes Octrees + var len; + var subMeshes; + if (mesh._submeshesOctree && mesh.useOctreeForRenderingSelection) { + var intersections = mesh._submeshesOctree.select(this._frustumPlanes); + len = intersections.length; + subMeshes = intersections.data; + } + else { + subMeshes = mesh.subMeshes; + len = subMeshes.length; + } + for (var subIndex = 0; subIndex < len; subIndex++) { + var subMesh = subMeshes[subIndex]; + this._evaluateSubMesh(subMesh, mesh); + } + } + }; + Scene.prototype.updateTransformMatrix = function (force) { + this.setTransformMatrix(this.activeCamera.getViewMatrix(), this.activeCamera.getProjectionMatrix(force)); + }; + Scene.prototype._renderForCamera = function (camera) { + var engine = this._engine; + var startTime = BABYLON.Tools.Now; + this.activeCamera = camera; + if (!this.activeCamera) + throw new Error("Active camera not set"); + BABYLON.Tools.StartPerformanceCounter("Rendering camera " + this.activeCamera.name); + // Viewport + engine.setViewport(this.activeCamera.viewport); + // Camera + this.resetCachedMaterial(); + this._renderId++; + this.updateTransformMatrix(); + this.onBeforeCameraRenderObservable.notifyObservers(this.activeCamera); + // Meshes + this._evaluateActiveMeshesDuration.beginMonitoring(); + BABYLON.Tools.StartPerformanceCounter("Active meshes evaluation"); + this._evaluateActiveMeshes(); + this._evaluateActiveMeshesDuration.endMonitoring(false); + BABYLON.Tools.EndPerformanceCounter("Active meshes evaluation"); + // Software skinning + for (var softwareSkinnedMeshIndex = 0; softwareSkinnedMeshIndex < this._softwareSkinnedMeshes.length; softwareSkinnedMeshIndex++) { + var mesh = this._softwareSkinnedMeshes.data[softwareSkinnedMeshIndex]; + mesh.applySkeleton(mesh.skeleton); + } + // Render targets + this._renderTargetsDuration.beginMonitoring(); + var needsRestoreFrameBuffer = false; + var beforeRenderTargetDate = BABYLON.Tools.Now; + if (this.renderTargetsEnabled && this._renderTargets.length > 0) { + this._intermediateRendering = true; + BABYLON.Tools.StartPerformanceCounter("Render targets", this._renderTargets.length > 0); + for (var renderIndex = 0; renderIndex < this._renderTargets.length; renderIndex++) { + var renderTarget = this._renderTargets.data[renderIndex]; + if (renderTarget._shouldRender()) { + this._renderId++; + var hasSpecialRenderTargetCamera = renderTarget.activeCamera && renderTarget.activeCamera !== this.activeCamera; + renderTarget.render(hasSpecialRenderTargetCamera, this.dumpNextRenderTargets); + } + } + BABYLON.Tools.EndPerformanceCounter("Render targets", this._renderTargets.length > 0); + this._intermediateRendering = false; + this._renderId++; + needsRestoreFrameBuffer = true; // Restore back buffer + } + // Render HighlightLayer Texture + var stencilState = this._engine.getStencilBuffer(); + var renderhighlights = false; + if (this.renderTargetsEnabled && this.highlightLayers && this.highlightLayers.length > 0) { + this._intermediateRendering = true; + for (var i = 0; i < this.highlightLayers.length; i++) { + var highlightLayer = this.highlightLayers[i]; + if (highlightLayer.shouldRender() && + (!highlightLayer.camera || + (highlightLayer.camera.cameraRigMode === BABYLON.Camera.RIG_MODE_NONE && camera === highlightLayer.camera) || + (highlightLayer.camera.cameraRigMode !== BABYLON.Camera.RIG_MODE_NONE && highlightLayer.camera._rigCameras.indexOf(camera) > -1))) { + renderhighlights = true; + var renderTarget = highlightLayer._mainTexture; + if (renderTarget._shouldRender()) { + this._renderId++; + renderTarget.render(false, false); + needsRestoreFrameBuffer = true; + } + } + } + this._intermediateRendering = false; + this._renderId++; + } + if (needsRestoreFrameBuffer) { + engine.restoreDefaultFramebuffer(); + } + this._renderTargetsDuration.endMonitoring(false); + // Prepare Frame + this.postProcessManager._prepareFrame(); + this._renderDuration.beginMonitoring(); + // Backgrounds + var layerIndex; + var layer; + if (this.layers.length) { + engine.setDepthBuffer(false); + for (layerIndex = 0; layerIndex < this.layers.length; layerIndex++) { + layer = this.layers[layerIndex]; + if (layer.isBackground) { + layer.render(); + } + } + engine.setDepthBuffer(true); + } + // Render + BABYLON.Tools.StartPerformanceCounter("Main render"); + // Activate HighlightLayer stencil + if (renderhighlights) { + this._engine.setStencilBuffer(true); + } + this._renderingManager.render(null, null, true, true); + // Restore HighlightLayer stencil + if (renderhighlights) { + this._engine.setStencilBuffer(stencilState); + } + BABYLON.Tools.EndPerformanceCounter("Main render"); + // Bounding boxes + this._boundingBoxRenderer.render(); + // Edges + for (var edgesRendererIndex = 0; edgesRendererIndex < this._edgesRenderers.length; edgesRendererIndex++) { + this._edgesRenderers.data[edgesRendererIndex].render(); + } + // Lens flares + if (this.lensFlaresEnabled) { + BABYLON.Tools.StartPerformanceCounter("Lens flares", this.lensFlareSystems.length > 0); + for (var lensFlareSystemIndex = 0; lensFlareSystemIndex < this.lensFlareSystems.length; lensFlareSystemIndex++) { + var lensFlareSystem = this.lensFlareSystems[lensFlareSystemIndex]; + if ((camera.layerMask & lensFlareSystem.layerMask) !== 0) { + lensFlareSystem.render(); + } + } + BABYLON.Tools.EndPerformanceCounter("Lens flares", this.lensFlareSystems.length > 0); + } + // Foregrounds + if (this.layers.length) { + engine.setDepthBuffer(false); + for (layerIndex = 0; layerIndex < this.layers.length; layerIndex++) { + layer = this.layers[layerIndex]; + if (!layer.isBackground) { + layer.render(); + } + } + engine.setDepthBuffer(true); + } + // Highlight Layer + if (renderhighlights) { + engine.setDepthBuffer(false); + for (var i = 0; i < this.highlightLayers.length; i++) { + if (this.highlightLayers[i].shouldRender()) { + this.highlightLayers[i].render(); + } + } + engine.setDepthBuffer(true); + } + this._renderDuration.endMonitoring(false); + // Finalize frame + this.postProcessManager._finalizeFrame(camera.isIntermediate); + // Update camera + this.activeCamera._updateFromScene(); + // Reset some special arrays + this._renderTargets.reset(); + this.onAfterCameraRenderObservable.notifyObservers(this.activeCamera); + BABYLON.Tools.EndPerformanceCounter("Rendering camera " + this.activeCamera.name); + }; + Scene.prototype._processSubCameras = function (camera) { + if (camera.cameraRigMode === BABYLON.Camera.RIG_MODE_NONE) { + this._renderForCamera(camera); + return; + } + // rig cameras + for (var index = 0; index < camera._rigCameras.length; index++) { + this._renderForCamera(camera._rigCameras[index]); + } + this.activeCamera = camera; + this.setTransformMatrix(this.activeCamera.getViewMatrix(), this.activeCamera.getProjectionMatrix()); + // Update camera + this.activeCamera._updateFromScene(); + }; + Scene.prototype._checkIntersections = function () { + for (var index = 0; index < this._meshesForIntersections.length; index++) { + var sourceMesh = this._meshesForIntersections.data[index]; + for (var actionIndex = 0; actionIndex < sourceMesh.actionManager.actions.length; actionIndex++) { + var action = sourceMesh.actionManager.actions[actionIndex]; + if (action.trigger === BABYLON.ActionManager.OnIntersectionEnterTrigger || action.trigger === BABYLON.ActionManager.OnIntersectionExitTrigger) { + var parameters = action.getTriggerParameter(); + var otherMesh = parameters instanceof BABYLON.AbstractMesh ? parameters : parameters.mesh; + var areIntersecting = otherMesh.intersectsMesh(sourceMesh, parameters.usePreciseIntersection); + var currentIntersectionInProgress = sourceMesh._intersectionsInProgress.indexOf(otherMesh); + if (areIntersecting && currentIntersectionInProgress === -1) { + if (action.trigger === BABYLON.ActionManager.OnIntersectionEnterTrigger) { + action._executeCurrent(BABYLON.ActionEvent.CreateNew(sourceMesh, null, otherMesh)); + sourceMesh._intersectionsInProgress.push(otherMesh); + } + else if (action.trigger === BABYLON.ActionManager.OnIntersectionExitTrigger) { + sourceMesh._intersectionsInProgress.push(otherMesh); + } + } + else if (!areIntersecting && currentIntersectionInProgress > -1) { + //They intersected, and now they don't. + //is this trigger an exit trigger? execute an event. + if (action.trigger === BABYLON.ActionManager.OnIntersectionExitTrigger) { + action._executeCurrent(BABYLON.ActionEvent.CreateNew(sourceMesh, null, otherMesh)); + } + //if this is an exit trigger, or no exit trigger exists, remove the id from the intersection in progress array. + if (!sourceMesh.actionManager.hasSpecificTrigger(BABYLON.ActionManager.OnIntersectionExitTrigger) || action.trigger === BABYLON.ActionManager.OnIntersectionExitTrigger) { + sourceMesh._intersectionsInProgress.splice(currentIntersectionInProgress, 1); + } + } + } + } + } + }; + Scene.prototype.render = function () { + this._lastFrameDuration.beginMonitoring(); + this._particlesDuration.fetchNewFrame(); + this._spritesDuration.fetchNewFrame(); + this._activeParticles.fetchNewFrame(); + this._renderDuration.fetchNewFrame(); + this._renderTargetsDuration.fetchNewFrame(); + this._evaluateActiveMeshesDuration.fetchNewFrame(); + this._totalVertices.fetchNewFrame(); + this._activeIndices.fetchNewFrame(); + this._activeBones.fetchNewFrame(); + this.getEngine().drawCallsPerfCounter.fetchNewFrame(); + this._meshesForIntersections.reset(); + this.resetCachedMaterial(); + BABYLON.Tools.StartPerformanceCounter("Scene rendering"); + // Actions + if (this.actionManager) { + this.actionManager.processTrigger(BABYLON.ActionManager.OnEveryFrameTrigger, null); + } + //Simplification Queue + if (this.simplificationQueue && !this.simplificationQueue.running) { + this.simplificationQueue.executeNext(); + } + // Animations + var deltaTime = Math.max(Scene.MinDeltaTime, Math.min(this._engine.getDeltaTime(), Scene.MaxDeltaTime)); + this._animationRatio = deltaTime * (60.0 / 1000.0); + this._animate(); + // Physics + if (this._physicsEngine) { + BABYLON.Tools.StartPerformanceCounter("Physics"); + this._physicsEngine._step(deltaTime / 1000.0); + BABYLON.Tools.EndPerformanceCounter("Physics"); + } + // Before render + this.onBeforeRenderObservable.notifyObservers(this); + // Customs render targets + this._renderTargetsDuration.beginMonitoring(); + var beforeRenderTargetDate = BABYLON.Tools.Now; + var engine = this.getEngine(); + var currentActiveCamera = this.activeCamera; + if (this.renderTargetsEnabled) { + BABYLON.Tools.StartPerformanceCounter("Custom render targets", this.customRenderTargets.length > 0); + for (var customIndex = 0; customIndex < this.customRenderTargets.length; customIndex++) { + var renderTarget = this.customRenderTargets[customIndex]; + if (renderTarget._shouldRender()) { + this._renderId++; + this.activeCamera = renderTarget.activeCamera || this.activeCamera; + if (!this.activeCamera) + throw new Error("Active camera not set"); + // Viewport + engine.setViewport(this.activeCamera.viewport); + // Camera + this.updateTransformMatrix(); + renderTarget.render(currentActiveCamera !== this.activeCamera, this.dumpNextRenderTargets); + } + } + BABYLON.Tools.EndPerformanceCounter("Custom render targets", this.customRenderTargets.length > 0); + this._renderId++; + } + if (this.customRenderTargets.length > 0) { + engine.restoreDefaultFramebuffer(); + } + this._renderTargetsDuration.endMonitoring(); + this.activeCamera = currentActiveCamera; + // Procedural textures + if (this.proceduralTexturesEnabled) { + BABYLON.Tools.StartPerformanceCounter("Procedural textures", this._proceduralTextures.length > 0); + for (var proceduralIndex = 0; proceduralIndex < this._proceduralTextures.length; proceduralIndex++) { + var proceduralTexture = this._proceduralTextures[proceduralIndex]; + if (proceduralTexture._shouldRender()) { + proceduralTexture.render(); + } + } + BABYLON.Tools.EndPerformanceCounter("Procedural textures", this._proceduralTextures.length > 0); + } + // Clear + this._engine.clear(this.clearColor, this.autoClear || this.forceWireframe || this.forcePointsCloud, true, true); + // Shadows + if (this.shadowsEnabled) { + for (var lightIndex = 0; lightIndex < this.lights.length; lightIndex++) { + var light = this.lights[lightIndex]; + var shadowGenerator = light.getShadowGenerator(); + if (light.isEnabled() && shadowGenerator && shadowGenerator.getShadowMap().getScene().textures.indexOf(shadowGenerator.getShadowMap()) !== -1) { + this._renderTargets.push(shadowGenerator.getShadowMap()); + } + } + } + // Depth renderer + if (this._depthRenderer) { + this._renderTargets.push(this._depthRenderer.getDepthMap()); + } + // RenderPipeline + this.postProcessRenderPipelineManager.update(); + // Multi-cameras? + if (this.activeCameras.length > 0) { + for (var cameraIndex = 0; cameraIndex < this.activeCameras.length; cameraIndex++) { + if (cameraIndex > 0) { + this._engine.clear(0, false, true, true); + } + this._processSubCameras(this.activeCameras[cameraIndex]); + } + } + else { + if (!this.activeCamera) { + throw new Error("No camera defined"); + } + this._processSubCameras(this.activeCamera); + } + // Intersection checks + this._checkIntersections(); + // Update the audio listener attached to the camera + if (BABYLON.AudioEngine) { + this._updateAudioParameters(); + } + // After render + if (this.afterRender) { + this.afterRender(); + } + this.onAfterRenderObservable.notifyObservers(this); + // Cleaning + for (var index = 0; index < this._toBeDisposed.length; index++) { + this._toBeDisposed.data[index].dispose(); + this._toBeDisposed[index] = null; + } + this._toBeDisposed.reset(); + if (this.dumpNextRenderTargets) { + this.dumpNextRenderTargets = false; + } + BABYLON.Tools.EndPerformanceCounter("Scene rendering"); + this._lastFrameDuration.endMonitoring(); + this._totalMeshesCounter.addCount(this.meshes.length, true); + this._totalLightsCounter.addCount(this.lights.length, true); + this._totalMaterialsCounter.addCount(this.materials.length, true); + this._totalTexturesCounter.addCount(this.textures.length, true); + this._activeBones.addCount(0, true); + this._activeIndices.addCount(0, true); + this._activeParticles.addCount(0, true); + }; + Scene.prototype._updateAudioParameters = function () { + if (!this.audioEnabled || (this.mainSoundTrack.soundCollection.length === 0 && this.soundTracks.length === 1)) { + return; + } + var listeningCamera; + var audioEngine = BABYLON.Engine.audioEngine; + if (this.activeCameras.length > 0) { + listeningCamera = this.activeCameras[0]; + } + else { + listeningCamera = this.activeCamera; + } + if (listeningCamera && audioEngine.canUseWebAudio) { + audioEngine.audioContext.listener.setPosition(listeningCamera.position.x, listeningCamera.position.y, listeningCamera.position.z); + var mat = BABYLON.Matrix.Invert(listeningCamera.getViewMatrix()); + var cameraDirection = BABYLON.Vector3.TransformNormal(new BABYLON.Vector3(0, 0, -1), mat); + cameraDirection.normalize(); + audioEngine.audioContext.listener.setOrientation(cameraDirection.x, cameraDirection.y, cameraDirection.z, 0, 1, 0); + var i; + for (i = 0; i < this.mainSoundTrack.soundCollection.length; i++) { + var sound = this.mainSoundTrack.soundCollection[i]; + if (sound.useCustomAttenuation) { + sound.updateDistanceFromListener(); + } + } + for (i = 0; i < this.soundTracks.length; i++) { + for (var j = 0; j < this.soundTracks[i].soundCollection.length; j++) { + sound = this.soundTracks[i].soundCollection[j]; + if (sound.useCustomAttenuation) { + sound.updateDistanceFromListener(); + } + } + } + } + }; + Object.defineProperty(Scene.prototype, "audioEnabled", { + // Audio + get: function () { + return this._audioEnabled; + }, + set: function (value) { + this._audioEnabled = value; + if (BABYLON.AudioEngine) { + if (this._audioEnabled) { + this._enableAudio(); + } + else { + this._disableAudio(); + } + } + }, + enumerable: true, + configurable: true + }); + Scene.prototype._disableAudio = function () { + var i; + for (i = 0; i < this.mainSoundTrack.soundCollection.length; i++) { + this.mainSoundTrack.soundCollection[i].pause(); + } + for (i = 0; i < this.soundTracks.length; i++) { + for (var j = 0; j < this.soundTracks[i].soundCollection.length; j++) { + this.soundTracks[i].soundCollection[j].pause(); + } + } + }; + Scene.prototype._enableAudio = function () { + var i; + for (i = 0; i < this.mainSoundTrack.soundCollection.length; i++) { + if (this.mainSoundTrack.soundCollection[i].isPaused) { + this.mainSoundTrack.soundCollection[i].play(); + } + } + for (i = 0; i < this.soundTracks.length; i++) { + for (var j = 0; j < this.soundTracks[i].soundCollection.length; j++) { + if (this.soundTracks[i].soundCollection[j].isPaused) { + this.soundTracks[i].soundCollection[j].play(); + } + } + } + }; + Object.defineProperty(Scene.prototype, "headphone", { + get: function () { + return this._headphone; + }, + set: function (value) { + this._headphone = value; + if (BABYLON.AudioEngine) { + if (this._headphone) { + this._switchAudioModeForHeadphones(); + } + else { + this._switchAudioModeForNormalSpeakers(); + } + } + }, + enumerable: true, + configurable: true + }); + Scene.prototype._switchAudioModeForHeadphones = function () { + this.mainSoundTrack.switchPanningModelToHRTF(); + for (var i = 0; i < this.soundTracks.length; i++) { + this.soundTracks[i].switchPanningModelToHRTF(); + } + }; + Scene.prototype._switchAudioModeForNormalSpeakers = function () { + this.mainSoundTrack.switchPanningModelToEqualPower(); + for (var i = 0; i < this.soundTracks.length; i++) { + this.soundTracks[i].switchPanningModelToEqualPower(); + } + }; + Scene.prototype.enableDepthRenderer = function () { + if (this._depthRenderer) { + return this._depthRenderer; + } + this._depthRenderer = new BABYLON.DepthRenderer(this); + return this._depthRenderer; + }; + Scene.prototype.disableDepthRenderer = function () { + if (!this._depthRenderer) { + return; + } + this._depthRenderer.dispose(); + this._depthRenderer = null; + }; + Scene.prototype.freezeMaterials = function () { + for (var i = 0; i < this.materials.length; i++) { + this.materials[i].freeze(); + } + }; + Scene.prototype.unfreezeMaterials = function () { + for (var i = 0; i < this.materials.length; i++) { + this.materials[i].unfreeze(); + } + }; + Scene.prototype.dispose = function () { + this.beforeRender = null; + this.afterRender = null; + this.skeletons = []; + this._boundingBoxRenderer.dispose(); + if (this._depthRenderer) { + this._depthRenderer.dispose(); + } + // Debug layer + if (this._debugLayer) { + this._debugLayer.hide(); + } + // Events + this.onDisposeObservable.notifyObservers(this); + this.onDisposeObservable.clear(); + this.onBeforeRenderObservable.clear(); + this.onAfterRenderObservable.clear(); + this.detachControl(); + // Release sounds & sounds tracks + if (BABYLON.AudioEngine) { + this.disposeSounds(); + } + // Detach cameras + var canvas = this._engine.getRenderingCanvas(); + var index; + for (index = 0; index < this.cameras.length; index++) { + this.cameras[index].detachControl(canvas); + } + // Release lights + while (this.lights.length) { + this.lights[0].dispose(); + } + // Release meshes + while (this.meshes.length) { + this.meshes[0].dispose(true); + } + // Release cameras + while (this.cameras.length) { + this.cameras[0].dispose(); + } + // Release materials + while (this.materials.length) { + this.materials[0].dispose(); + } + // Release particles + while (this.particleSystems.length) { + this.particleSystems[0].dispose(); + } + // Release sprites + while (this.spriteManagers.length) { + this.spriteManagers[0].dispose(); + } + // Release layers + while (this.layers.length) { + this.layers[0].dispose(); + } + while (this.highlightLayers.length) { + this.highlightLayers[0].dispose(); + } + // Release textures + while (this.textures.length) { + this.textures[0].dispose(); + } + // Post-processes + this.postProcessManager.dispose(); + // Physics + if (this._physicsEngine) { + this.disablePhysicsEngine(); + } + // Remove from engine + index = this._engine.scenes.indexOf(this); + if (index > -1) { + this._engine.scenes.splice(index, 1); + } + this._engine.wipeCaches(); + }; + // Release sounds & sounds tracks + Scene.prototype.disposeSounds = function () { + this.mainSoundTrack.dispose(); + for (var scIndex = 0; scIndex < this.soundTracks.length; scIndex++) { + this.soundTracks[scIndex].dispose(); + } + }; + // Octrees + Scene.prototype.getWorldExtends = function () { + var min = new BABYLON.Vector3(Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE); + var max = new BABYLON.Vector3(-Number.MAX_VALUE, -Number.MAX_VALUE, -Number.MAX_VALUE); + for (var index = 0; index < this.meshes.length; index++) { + var mesh = this.meshes[index]; + mesh.computeWorldMatrix(true); + var minBox = mesh.getBoundingInfo().boundingBox.minimumWorld; + var maxBox = mesh.getBoundingInfo().boundingBox.maximumWorld; + BABYLON.Tools.CheckExtends(minBox, min, max); + BABYLON.Tools.CheckExtends(maxBox, min, max); + } + return { + min: min, + max: max + }; + }; + Scene.prototype.createOrUpdateSelectionOctree = function (maxCapacity, maxDepth) { + if (maxCapacity === void 0) { maxCapacity = 64; } + if (maxDepth === void 0) { maxDepth = 2; } + if (!this._selectionOctree) { + this._selectionOctree = new BABYLON.Octree(BABYLON.Octree.CreationFuncForMeshes, maxCapacity, maxDepth); + } + var worldExtends = this.getWorldExtends(); + // Update octree + this._selectionOctree.update(worldExtends.min, worldExtends.max, this.meshes); + return this._selectionOctree; + }; + // Picking + Scene.prototype.createPickingRay = function (x, y, world, camera, cameraViewSpace) { + if (cameraViewSpace === void 0) { cameraViewSpace = false; } + var engine = this._engine; + if (!camera) { + if (!this.activeCamera) + throw new Error("Active camera not set"); + camera = this.activeCamera; + } + var cameraViewport = camera.viewport; + var viewport = cameraViewport.toGlobal(engine.getRenderWidth(), engine.getRenderHeight()); + // Moving coordinates to local viewport world + x = x / this._engine.getHardwareScalingLevel() - viewport.x; + y = y / this._engine.getHardwareScalingLevel() - (this._engine.getRenderHeight() - viewport.y - viewport.height); + return BABYLON.Ray.CreateNew(x, y, viewport.width, viewport.height, world ? world : BABYLON.Matrix.Identity(), cameraViewSpace ? BABYLON.Matrix.Identity() : camera.getViewMatrix(), camera.getProjectionMatrix()); + // return BABYLON.Ray.CreateNew(x / window.devicePixelRatio, y / window.devicePixelRatio, viewport.width, viewport.height, world ? world : BABYLON.Matrix.Identity(), camera.getViewMatrix(), camera.getProjectionMatrix()); + }; + Scene.prototype.createPickingRayInCameraSpace = function (x, y, camera) { + var engine = this._engine; + if (!camera) { + if (!this.activeCamera) + throw new Error("Active camera not set"); + camera = this.activeCamera; + } + var cameraViewport = camera.viewport; + var viewport = cameraViewport.toGlobal(engine.getRenderWidth(), engine.getRenderHeight()); + var identity = BABYLON.Matrix.Identity(); + // Moving coordinates to local viewport world + x = x / this._engine.getHardwareScalingLevel() - viewport.x; + y = y / this._engine.getHardwareScalingLevel() - (this._engine.getRenderHeight() - viewport.y - viewport.height); + return BABYLON.Ray.CreateNew(x, y, viewport.width, viewport.height, identity, identity, camera.getProjectionMatrix()); + }; + Scene.prototype._internalPick = function (rayFunction, predicate, fastCheck) { + var pickingInfo = null; + for (var meshIndex = 0; meshIndex < this.meshes.length; meshIndex++) { + var mesh = this.meshes[meshIndex]; + if (predicate) { + if (!predicate(mesh)) { + continue; + } + } + else if (!mesh.isEnabled() || !mesh.isVisible || !mesh.isPickable) { + continue; + } + var world = mesh.getWorldMatrix(); + var ray = rayFunction(world); + var result = mesh.intersects(ray, fastCheck); + if (!result || !result.hit) + continue; + if (!fastCheck && pickingInfo != null && result.distance >= pickingInfo.distance) + continue; + pickingInfo = result; + if (fastCheck) { + break; + } + } + return pickingInfo || new BABYLON.PickingInfo(); + }; + Scene.prototype._internalMultiPick = function (rayFunction, predicate) { + var pickingInfos = new Array(); + for (var meshIndex = 0; meshIndex < this.meshes.length; meshIndex++) { + var mesh = this.meshes[meshIndex]; + if (predicate) { + if (!predicate(mesh)) { + continue; + } + } + else if (!mesh.isEnabled() || !mesh.isVisible || !mesh.isPickable) { + continue; + } + var world = mesh.getWorldMatrix(); + var ray = rayFunction(world); + var result = mesh.intersects(ray, false); + if (!result || !result.hit) + continue; + pickingInfos.push(result); + } + return pickingInfos; + }; + Scene.prototype._internalPickSprites = function (ray, predicate, fastCheck, camera) { + var pickingInfo = null; + camera = camera || this.activeCamera; + if (this.spriteManagers.length > 0) { + for (var spriteIndex = 0; spriteIndex < this.spriteManagers.length; spriteIndex++) { + var spriteManager = this.spriteManagers[spriteIndex]; + if (!spriteManager.isPickable) { + continue; + } + var result = spriteManager.intersects(ray, camera, predicate, fastCheck); + if (!result || !result.hit) + continue; + if (!fastCheck && pickingInfo != null && result.distance >= pickingInfo.distance) + continue; + pickingInfo = result; + if (fastCheck) { + break; + } + } + } + return pickingInfo || new BABYLON.PickingInfo(); + }; + /// Launch a ray to try to pick a mesh in the scene + /// X position on screen + /// Y position on screen + /// Predicate function used to determine eligible meshes. Can be set to null. In this case, a mesh must be enabled, visible and with isPickable set to true + /// Launch a fast check only using the bounding boxes. Can be set to null. + /// camera to use for computing the picking ray. Can be set to null. In this case, the scene.activeCamera will be used + Scene.prototype.pick = function (x, y, predicate, fastCheck, camera) { + var _this = this; + return this._internalPick(function (world) { return _this.createPickingRay(x, y, world, camera); }, predicate, fastCheck); + }; + /// Launch a ray to try to pick a mesh in the scene + /// X position on screen + /// Y position on screen + /// Predicate function used to determine eligible sprites. Can be set to null. In this case, a sprite must have isPickable set to true + /// Launch a fast check only using the bounding boxes. Can be set to null. + /// camera to use for computing the picking ray. Can be set to null. In this case, the scene.activeCamera will be used + Scene.prototype.pickSprite = function (x, y, predicate, fastCheck, camera) { + return this._internalPickSprites(this.createPickingRayInCameraSpace(x, y, camera), predicate, fastCheck, camera); + }; + Scene.prototype.pickWithRay = function (ray, predicate, fastCheck) { + var _this = this; + return this._internalPick(function (world) { + if (!_this._pickWithRayInverseMatrix) { + _this._pickWithRayInverseMatrix = BABYLON.Matrix.Identity(); + } + world.invertToRef(_this._pickWithRayInverseMatrix); + return BABYLON.Ray.Transform(ray, _this._pickWithRayInverseMatrix); + }, predicate, fastCheck); + }; + /// Launch a ray to try to pick a mesh in the scene + /// X position on screen + /// Y position on screen + /// Predicate function used to determine eligible meshes. Can be set to null. In this case, a mesh must be enabled, visible and with isPickable set to true + /// camera to use for computing the picking ray. Can be set to null. In this case, the scene.activeCamera will be used + Scene.prototype.multiPick = function (x, y, predicate, camera) { + var _this = this; + return this._internalMultiPick(function (world) { return _this.createPickingRay(x, y, world, camera); }, predicate); + }; + /// Launch a ray to try to pick a mesh in the scene + /// Ray to use + /// Predicate function used to determine eligible meshes. Can be set to null. In this case, a mesh must be enabled, visible and with isPickable set to true + Scene.prototype.multiPickWithRay = function (ray, predicate) { + var _this = this; + return this._internalMultiPick(function (world) { + if (!_this._pickWithRayInverseMatrix) { + _this._pickWithRayInverseMatrix = BABYLON.Matrix.Identity(); + } + world.invertToRef(_this._pickWithRayInverseMatrix); + return BABYLON.Ray.Transform(ray, _this._pickWithRayInverseMatrix); + }, predicate); + }; + Scene.prototype.setPointerOverMesh = function (mesh) { + if (this._pointerOverMesh === mesh) { + return; + } + if (this._pointerOverMesh && this._pointerOverMesh.actionManager) { + this._pointerOverMesh.actionManager.processTrigger(BABYLON.ActionManager.OnPointerOutTrigger, BABYLON.ActionEvent.CreateNew(this._pointerOverMesh)); + } + this._pointerOverMesh = mesh; + if (this._pointerOverMesh && this._pointerOverMesh.actionManager) { + this._pointerOverMesh.actionManager.processTrigger(BABYLON.ActionManager.OnPointerOverTrigger, BABYLON.ActionEvent.CreateNew(this._pointerOverMesh)); + } + }; + Scene.prototype.getPointerOverMesh = function () { + return this._pointerOverMesh; + }; + Scene.prototype.setPointerOverSprite = function (sprite) { + if (this._pointerOverSprite === sprite) { + return; + } + if (this._pointerOverSprite && this._pointerOverSprite.actionManager) { + this._pointerOverSprite.actionManager.processTrigger(BABYLON.ActionManager.OnPointerOutTrigger, BABYLON.ActionEvent.CreateNewFromSprite(this._pointerOverSprite, this)); + } + this._pointerOverSprite = sprite; + if (this._pointerOverSprite && this._pointerOverSprite.actionManager) { + this._pointerOverSprite.actionManager.processTrigger(BABYLON.ActionManager.OnPointerOverTrigger, BABYLON.ActionEvent.CreateNewFromSprite(this._pointerOverSprite, this)); + } + }; + Scene.prototype.getPointerOverSprite = function () { + return this._pointerOverSprite; + }; + // Physics + Scene.prototype.getPhysicsEngine = function () { + return this._physicsEngine; + }; + /** + * Enables physics to the current scene + * @param {BABYLON.Vector3} [gravity] - the scene's gravity for the physics engine + * @param {BABYLON.IPhysicsEnginePlugin} [plugin] - The physics engine to be used. defaults to OimoJS. + * @return {boolean} was the physics engine initialized + */ + Scene.prototype.enablePhysics = function (gravity, plugin) { + if (this._physicsEngine) { + return true; + } + try { + this._physicsEngine = new BABYLON.PhysicsEngine(gravity, plugin); + return true; + } + catch (e) { + BABYLON.Tools.Error(e.message); + return false; + } + }; + Scene.prototype.disablePhysicsEngine = function () { + if (!this._physicsEngine) { + return; + } + this._physicsEngine.dispose(); + this._physicsEngine = undefined; + }; + Scene.prototype.isPhysicsEnabled = function () { + return this._physicsEngine !== undefined; + }; + /** + * + * Sets the gravity of the physics engine (and NOT of the scene) + * @param {BABYLON.Vector3} [gravity] - the new gravity to be used + */ + Scene.prototype.setGravity = function (gravity) { + BABYLON.Tools.Warn("Deprecated, please use 'scene.getPhysicsEngine().setGravity()'"); + if (!this._physicsEngine) { + return; + } + this._physicsEngine.setGravity(gravity); + }; + /** + * Legacy support, using the new API + * @Deprecated + */ + Scene.prototype.createCompoundImpostor = function (parts, options) { + BABYLON.Tools.Warn("Scene.createCompoundImpostor is deprecated. Please use PhysicsImpostor parent/child"); + if (parts.parts) { + options = parts; + parts = parts.parts; + } + var mainMesh = parts[0].mesh; + mainMesh.physicsImpostor = new BABYLON.PhysicsImpostor(mainMesh, parts[0].impostor, options, this); + for (var index = 1; index < parts.length; index++) { + var mesh = parts[index].mesh; + if (mesh.parent !== mainMesh) { + mesh.position = mesh.position.subtract(mainMesh.position); + mesh.parent = mainMesh; + } + mesh.physicsImpostor = new BABYLON.PhysicsImpostor(mesh, parts[index].impostor, options, this); + } + mainMesh.physicsImpostor.forceUpdate(); + }; + Scene.prototype.deleteCompoundImpostor = function (compound) { + var mesh = compound.parts[0].mesh; + mesh.physicsImpostor.dispose(); + mesh.physicsImpostor = null; + }; + // Misc. + Scene.prototype.createDefaultCameraOrLight = function () { + // Light + if (this.lights.length === 0) { + new BABYLON.HemisphericLight("default light", BABYLON.Vector3.Up(), this); + } + // Camera + if (!this.activeCamera) { + var camera = new BABYLON.FreeCamera("default camera", BABYLON.Vector3.Zero(), this); + // Compute position + var worldExtends = this.getWorldExtends(); + var worldCenter = worldExtends.min.add(worldExtends.max.subtract(worldExtends.min).scale(0.5)); + camera.position = new BABYLON.Vector3(worldCenter.x, worldCenter.y, worldExtends.min.z - (worldExtends.max.z - worldExtends.min.z)); + camera.setTarget(worldCenter); + this.activeCamera = camera; + } + }; + // Tags + Scene.prototype._getByTags = function (list, tagsQuery, forEach) { + if (tagsQuery === undefined) { + // returns the complete list (could be done with BABYLON.Tags.MatchesQuery but no need to have a for-loop here) + return list; + } + var listByTags = []; + forEach = forEach || (function (item) { return; }); + for (var i in list) { + var item = list[i]; + if (BABYLON.Tags.MatchesQuery(item, tagsQuery)) { + listByTags.push(item); + forEach(item); + } + } + return listByTags; + }; + Scene.prototype.getMeshesByTags = function (tagsQuery, forEach) { + return this._getByTags(this.meshes, tagsQuery, forEach); + }; + Scene.prototype.getCamerasByTags = function (tagsQuery, forEach) { + return this._getByTags(this.cameras, tagsQuery, forEach); + }; + Scene.prototype.getLightsByTags = function (tagsQuery, forEach) { + return this._getByTags(this.lights, tagsQuery, forEach); + }; + Scene.prototype.getMaterialByTags = function (tagsQuery, forEach) { + return this._getByTags(this.materials, tagsQuery, forEach).concat(this._getByTags(this.multiMaterials, tagsQuery, forEach)); + }; + /** + * Overrides the default sort function applied in the renderging group to prepare the meshes. + * This allowed control for front to back rendering or reversly depending of the special needs. + * + * @param renderingGroupId The rendering group id corresponding to its index + * @param opaqueSortCompareFn The opaque queue comparison function use to sort. + * @param alphaTestSortCompareFn The alpha test queue comparison function use to sort. + * @param transparentSortCompareFn The transparent queue comparison function use to sort. + */ + Scene.prototype.setRenderingOrder = function (renderingGroupId, opaqueSortCompareFn, alphaTestSortCompareFn, transparentSortCompareFn) { + if (opaqueSortCompareFn === void 0) { opaqueSortCompareFn = null; } + if (alphaTestSortCompareFn === void 0) { alphaTestSortCompareFn = null; } + if (transparentSortCompareFn === void 0) { transparentSortCompareFn = null; } + this._renderingManager.setRenderingOrder(renderingGroupId, opaqueSortCompareFn, alphaTestSortCompareFn, transparentSortCompareFn); + }; + /** + * Specifies whether or not the stencil and depth buffer are cleared between two rendering groups. + * + * @param renderingGroupId The rendering group id corresponding to its index + * @param autoClearDepthStencil Automatically clears depth and stencil between groups if true. + */ + Scene.prototype.setRenderingAutoClearDepthStencil = function (renderingGroupId, autoClearDepthStencil) { + this._renderingManager.setRenderingAutoClearDepthStencil(renderingGroupId, autoClearDepthStencil); + }; + // Statics + Scene._FOGMODE_NONE = 0; + Scene._FOGMODE_EXP = 1; + Scene._FOGMODE_EXP2 = 2; + Scene._FOGMODE_LINEAR = 3; + Scene.MinDeltaTime = 1.0; + Scene.MaxDeltaTime = 1000.0; + return Scene; + }()); + BABYLON.Scene = Scene; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.scene.js.map + +var BABYLON; +(function (BABYLON) { + var Buffer = (function () { + function Buffer(engine, data, updatable, stride, postponeInternalCreation, instanced) { + if (engine instanceof BABYLON.Mesh) { + this._engine = engine.getScene().getEngine(); + } + else { + this._engine = engine; + } + this._updatable = updatable; + this._data = data; + this._strideSize = stride; + if (!postponeInternalCreation) { + this.create(); + } + this._instanced = instanced; + } + Buffer.prototype.createVertexBuffer = function (kind, offset, size, stride) { + // a lot of these parameters are ignored as they are overriden by the buffer + return new BABYLON.VertexBuffer(this._engine, this, kind, this._updatable, true, stride ? stride : this._strideSize, this._instanced, offset, size); + }; + // Properties + Buffer.prototype.isUpdatable = function () { + return this._updatable; + }; + Buffer.prototype.getData = function () { + return this._data; + }; + Buffer.prototype.getBuffer = function () { + return this._buffer; + }; + Buffer.prototype.getStrideSize = function () { + return this._strideSize; + }; + Buffer.prototype.getIsInstanced = function () { + return this._instanced; + }; + // Methods + Buffer.prototype.create = function (data) { + if (!data && this._buffer) { + return; // nothing to do + } + data = data || this._data; + if (!this._buffer) { + if (this._updatable) { + this._buffer = this._engine.createDynamicVertexBuffer(data); + this._data = data; + } + else { + this._buffer = this._engine.createVertexBuffer(data); + } + } + else if (this._updatable) { + this._engine.updateDynamicVertexBuffer(this._buffer, data); + this._data = data; + } + }; + Buffer.prototype.update = function (data) { + this.create(data); + }; + Buffer.prototype.updateDirectly = function (data, offset, vertexCount) { + if (!this._buffer) { + return; + } + if (this._updatable) { + this._engine.updateDynamicVertexBuffer(this._buffer, data, offset, (vertexCount ? vertexCount * this.getStrideSize() : undefined)); + this._data = null; + } + }; + Buffer.prototype.dispose = function () { + if (!this._buffer) { + return; + } + if (this._engine._releaseBuffer(this._buffer)) { + this._buffer = null; + } + }; + return Buffer; + }()); + BABYLON.Buffer = Buffer; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.buffer.js.map + +var BABYLON; +(function (BABYLON) { + var VertexBuffer = (function () { + function VertexBuffer(engine, data, kind, updatable, postponeInternalCreation, stride, instanced, offset, size) { + if (!stride) { + // Deduce stride from kind + switch (kind) { + case VertexBuffer.PositionKind: + stride = 3; + break; + case VertexBuffer.NormalKind: + stride = 3; + break; + case VertexBuffer.UVKind: + case VertexBuffer.UV2Kind: + case VertexBuffer.UV3Kind: + case VertexBuffer.UV4Kind: + case VertexBuffer.UV5Kind: + case VertexBuffer.UV6Kind: + stride = 2; + break; + case VertexBuffer.ColorKind: + stride = 4; + break; + case VertexBuffer.MatricesIndicesKind: + case VertexBuffer.MatricesIndicesExtraKind: + stride = 4; + break; + case VertexBuffer.MatricesWeightsKind: + case VertexBuffer.MatricesWeightsExtraKind: + stride = 4; + break; + } + } + if (data instanceof BABYLON.Buffer) { + if (!stride) { + stride = data.getStrideSize(); + } + this._buffer = data; + this._ownsBuffer = false; + } + else { + this._buffer = new BABYLON.Buffer(engine, data, updatable, stride, postponeInternalCreation, instanced); + this._ownsBuffer = true; + } + this._stride = stride; + this._offset = offset ? offset : 0; + this._size = size ? size : stride; + this._kind = kind; + } + VertexBuffer.prototype.getKind = function () { + return this._kind; + }; + // Properties + VertexBuffer.prototype.isUpdatable = function () { + return this._buffer.isUpdatable(); + }; + VertexBuffer.prototype.getData = function () { + return this._buffer.getData(); + }; + VertexBuffer.prototype.getBuffer = function () { + return this._buffer.getBuffer(); + }; + VertexBuffer.prototype.getStrideSize = function () { + return this._stride; + }; + VertexBuffer.prototype.getOffset = function () { + return this._offset; + }; + VertexBuffer.prototype.getSize = function () { + return this._size; + }; + VertexBuffer.prototype.getIsInstanced = function () { + return this._buffer.getIsInstanced(); + }; + // Methods + VertexBuffer.prototype.create = function (data) { + return this._buffer.create(data); + }; + VertexBuffer.prototype.update = function (data) { + return this._buffer.update(data); + }; + VertexBuffer.prototype.updateDirectly = function (data, offset) { + return this._buffer.updateDirectly(data, offset); + }; + VertexBuffer.prototype.dispose = function () { + if (this._ownsBuffer) { + this._buffer.dispose(); + } + }; + Object.defineProperty(VertexBuffer, "PositionKind", { + get: function () { + return VertexBuffer._PositionKind; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(VertexBuffer, "NormalKind", { + get: function () { + return VertexBuffer._NormalKind; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(VertexBuffer, "UVKind", { + get: function () { + return VertexBuffer._UVKind; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(VertexBuffer, "UV2Kind", { + get: function () { + return VertexBuffer._UV2Kind; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(VertexBuffer, "UV3Kind", { + get: function () { + return VertexBuffer._UV3Kind; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(VertexBuffer, "UV4Kind", { + get: function () { + return VertexBuffer._UV4Kind; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(VertexBuffer, "UV5Kind", { + get: function () { + return VertexBuffer._UV5Kind; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(VertexBuffer, "UV6Kind", { + get: function () { + return VertexBuffer._UV6Kind; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(VertexBuffer, "ColorKind", { + get: function () { + return VertexBuffer._ColorKind; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(VertexBuffer, "MatricesIndicesKind", { + get: function () { + return VertexBuffer._MatricesIndicesKind; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(VertexBuffer, "MatricesWeightsKind", { + get: function () { + return VertexBuffer._MatricesWeightsKind; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(VertexBuffer, "MatricesIndicesExtraKind", { + get: function () { + return VertexBuffer._MatricesIndicesExtraKind; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(VertexBuffer, "MatricesWeightsExtraKind", { + get: function () { + return VertexBuffer._MatricesWeightsExtraKind; + }, + enumerable: true, + configurable: true + }); + // Enums + VertexBuffer._PositionKind = "position"; + VertexBuffer._NormalKind = "normal"; + VertexBuffer._UVKind = "uv"; + VertexBuffer._UV2Kind = "uv2"; + VertexBuffer._UV3Kind = "uv3"; + VertexBuffer._UV4Kind = "uv4"; + VertexBuffer._UV5Kind = "uv5"; + VertexBuffer._UV6Kind = "uv6"; + VertexBuffer._ColorKind = "color"; + VertexBuffer._MatricesIndicesKind = "matricesIndices"; + VertexBuffer._MatricesWeightsKind = "matricesWeights"; + VertexBuffer._MatricesIndicesExtraKind = "matricesIndicesExtra"; + VertexBuffer._MatricesWeightsExtraKind = "matricesWeightsExtra"; + return VertexBuffer; + }()); + BABYLON.VertexBuffer = VertexBuffer; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.vertexBuffer.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + /** + * Creates an instance based on a source mesh. + */ + var InstancedMesh = (function (_super) { + __extends(InstancedMesh, _super); + function InstancedMesh(name, source) { + _super.call(this, name, source.getScene()); + source.instances.push(this); + this._sourceMesh = source; + this.position.copyFrom(source.position); + this.rotation.copyFrom(source.rotation); + this.scaling.copyFrom(source.scaling); + if (source.rotationQuaternion) { + this.rotationQuaternion = source.rotationQuaternion.clone(); + } + this.infiniteDistance = source.infiniteDistance; + this.setPivotMatrix(source.getPivotMatrix()); + this.refreshBoundingInfo(); + this._syncSubMeshes(); + } + Object.defineProperty(InstancedMesh.prototype, "receiveShadows", { + // Methods + get: function () { + return this._sourceMesh.receiveShadows; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(InstancedMesh.prototype, "material", { + get: function () { + return this._sourceMesh.material; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(InstancedMesh.prototype, "visibility", { + get: function () { + return this._sourceMesh.visibility; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(InstancedMesh.prototype, "skeleton", { + get: function () { + return this._sourceMesh.skeleton; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(InstancedMesh.prototype, "renderingGroupId", { + get: function () { + return this._sourceMesh.renderingGroupId; + }, + enumerable: true, + configurable: true + }); + InstancedMesh.prototype.getTotalVertices = function () { + return this._sourceMesh.getTotalVertices(); + }; + Object.defineProperty(InstancedMesh.prototype, "sourceMesh", { + get: function () { + return this._sourceMesh; + }, + enumerable: true, + configurable: true + }); + InstancedMesh.prototype.getVerticesData = function (kind, copyWhenShared) { + return this._sourceMesh.getVerticesData(kind, copyWhenShared); + }; + InstancedMesh.prototype.isVerticesDataPresent = function (kind) { + return this._sourceMesh.isVerticesDataPresent(kind); + }; + InstancedMesh.prototype.getIndices = function () { + return this._sourceMesh.getIndices(); + }; + Object.defineProperty(InstancedMesh.prototype, "_positions", { + get: function () { + return this._sourceMesh._positions; + }, + enumerable: true, + configurable: true + }); + InstancedMesh.prototype.refreshBoundingInfo = function () { + var meshBB = this._sourceMesh.getBoundingInfo(); + this._boundingInfo = new BABYLON.BoundingInfo(meshBB.minimum.clone(), meshBB.maximum.clone()); + this._updateBoundingInfo(); + }; + InstancedMesh.prototype._preActivate = function () { + if (this._currentLOD) { + this._currentLOD._preActivate(); + } + }; + InstancedMesh.prototype._activate = function (renderId) { + if (this._currentLOD) { + this._currentLOD._registerInstanceForRenderId(this, renderId); + } + }; + InstancedMesh.prototype.getLOD = function (camera) { + this._currentLOD = this.sourceMesh.getLOD(this.getScene().activeCamera, this.getBoundingInfo().boundingSphere); + if (this._currentLOD === this.sourceMesh) { + return this; + } + return this._currentLOD; + }; + InstancedMesh.prototype._syncSubMeshes = function () { + this.releaseSubMeshes(); + if (this._sourceMesh.subMeshes) { + for (var index = 0; index < this._sourceMesh.subMeshes.length; index++) { + this._sourceMesh.subMeshes[index].clone(this, this._sourceMesh); + } + } + }; + InstancedMesh.prototype._generatePointsArray = function () { + return this._sourceMesh._generatePointsArray(); + }; + // Clone + InstancedMesh.prototype.clone = function (name, newParent, doNotCloneChildren) { + var result = this._sourceMesh.createInstance(name); + // Deep copy + BABYLON.Tools.DeepCopy(this, result, ["name", "subMeshes"], []); + // Bounding info + this.refreshBoundingInfo(); + // Parent + if (newParent) { + result.parent = newParent; + } + if (!doNotCloneChildren) { + // Children + for (var index = 0; index < this.getScene().meshes.length; index++) { + var mesh = this.getScene().meshes[index]; + if (mesh.parent === this) { + mesh.clone(mesh.name, result); + } + } + } + result.computeWorldMatrix(true); + return result; + }; + // Dispoe + InstancedMesh.prototype.dispose = function (doNotRecurse) { + // Remove from mesh + var index = this._sourceMesh.instances.indexOf(this); + this._sourceMesh.instances.splice(index, 1); + _super.prototype.dispose.call(this, doNotRecurse); + }; + return InstancedMesh; + }(BABYLON.AbstractMesh)); + BABYLON.InstancedMesh = InstancedMesh; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.instancedMesh.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var _InstancesBatch = (function () { + function _InstancesBatch() { + this.mustReturn = false; + this.visibleInstances = new Array(); + this.renderSelf = new Array(); + } + return _InstancesBatch; + }()); + BABYLON._InstancesBatch = _InstancesBatch; + var Mesh = (function (_super) { + __extends(Mesh, _super); + /** + * @constructor + * @param {string} name The value used by scene.getMeshByName() to do a lookup. + * @param {Scene} scene The scene to add this mesh to. + * @param {Node} parent The parent of this mesh, if it has one + * @param {Mesh} source An optional Mesh from which geometry is shared, cloned. + * @param {boolean} doNotCloneChildren When cloning, skip cloning child meshes of source, default False. + * When false, achieved by calling a clone(), also passing False. + * This will make creation of children, recursive. + */ + function Mesh(name, scene, parent, source, doNotCloneChildren, clonePhysicsImpostor) { + if (parent === void 0) { parent = null; } + if (clonePhysicsImpostor === void 0) { clonePhysicsImpostor = true; } + _super.call(this, name, scene); + // Events + /** + * An event triggered before rendering the mesh + * @type {BABYLON.Observable} + */ + this.onBeforeRenderObservable = new BABYLON.Observable(); + /** + * An event triggered after rendering the mesh + * @type {BABYLON.Observable} + */ + this.onAfterRenderObservable = new BABYLON.Observable(); + /** + * An event triggered before drawing the mesh + * @type {BABYLON.Observable} + */ + this.onBeforeDrawObservable = new BABYLON.Observable(); + // Members + this.delayLoadState = BABYLON.Engine.DELAYLOADSTATE_NONE; + this.instances = new Array(); + this._LODLevels = new Array(); + this._visibleInstances = {}; + this._renderIdForInstances = new Array(); + this._batchCache = new _InstancesBatch(); + this._instancesBufferSize = 32 * 16 * 4; // let's start with a maximum of 32 instances + this._sideOrientation = Mesh._DEFAULTSIDE; + this._areNormalsFrozen = false; // Will be used by ribbons mainly + if (source) { + // Geometry + if (source._geometry) { + source._geometry.applyToMesh(this); + } + // Deep copy + BABYLON.Tools.DeepCopy(source, this, ["name", "material", "skeleton", "instances", "parent"], ["_poseMatrix"]); + // Parent + this.parent = source.parent; + // Pivot + this.setPivotMatrix(source.getPivotMatrix()); + this.id = name + "." + source.id; + // Material + this.material = source.material; + var index; + if (!doNotCloneChildren) { + // Children + for (index = 0; index < scene.meshes.length; index++) { + var mesh = scene.meshes[index]; + if (mesh.parent === source) { + // doNotCloneChildren is always going to be False + var newChild = mesh.clone(name + "." + mesh.name, this, doNotCloneChildren); + } + } + } + // Physics clone + var physicsEngine = this.getScene().getPhysicsEngine(); + if (clonePhysicsImpostor && physicsEngine) { + var impostor = physicsEngine.getImpostorForPhysicsObject(source); + if (impostor) { + this.physicsImpostor = impostor.clone(this); + } + } + // Particles + for (index = 0; index < scene.particleSystems.length; index++) { + var system = scene.particleSystems[index]; + if (system.emitter === source) { + system.clone(system.name, this); + } + } + this.computeWorldMatrix(true); + } + // Parent + if (parent !== null) { + this.parent = parent; + } + } + Object.defineProperty(Mesh, "FRONTSIDE", { + /** + * Mesh side orientation : usually the external or front surface + */ + get: function () { + return Mesh._FRONTSIDE; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Mesh, "BACKSIDE", { + /** + * Mesh side orientation : usually the internal or back surface + */ + get: function () { + return Mesh._BACKSIDE; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Mesh, "DOUBLESIDE", { + /** + * Mesh side orientation : both internal and external or front and back surfaces + */ + get: function () { + return Mesh._DOUBLESIDE; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Mesh, "DEFAULTSIDE", { + /** + * Mesh side orientation : by default, `FRONTSIDE` + */ + get: function () { + return Mesh._DEFAULTSIDE; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Mesh, "NO_CAP", { + /** + * Mesh cap setting : no cap + */ + get: function () { + return Mesh._NO_CAP; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Mesh, "CAP_START", { + /** + * Mesh cap setting : one cap at the beginning of the mesh + */ + get: function () { + return Mesh._CAP_START; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Mesh, "CAP_END", { + /** + * Mesh cap setting : one cap at the end of the mesh + */ + get: function () { + return Mesh._CAP_END; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Mesh, "CAP_ALL", { + /** + * Mesh cap setting : two caps, one at the beginning and one at the end of the mesh + */ + get: function () { + return Mesh._CAP_ALL; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Mesh.prototype, "onBeforeDraw", { + set: function (callback) { + if (this._onBeforeDrawObserver) { + this.onBeforeDrawObservable.remove(this._onBeforeDrawObserver); + } + this._onBeforeDrawObserver = this.onBeforeDrawObservable.add(callback); + }, + enumerable: true, + configurable: true + }); + // Methods + /** + * @param {boolean} fullDetails - support for multiple levels of logging within scene loading + */ + Mesh.prototype.toString = function (fullDetails) { + var ret = _super.prototype.toString.call(this, fullDetails); + ret += ", n vertices: " + this.getTotalVertices(); + ret += ", parent: " + (this._waitingParentId ? this._waitingParentId : (this.parent ? this.parent.name : "NONE")); + if (this.animations) { + for (var i = 0; i < this.animations.length; i++) { + ret += ", animation[0]: " + this.animations[i].toString(fullDetails); + } + } + if (fullDetails) { + ret += ", flat shading: " + (this._geometry ? (this.getVerticesData(BABYLON.VertexBuffer.PositionKind).length / 3 === this.getIndices().length ? "YES" : "NO") : "UNKNOWN"); + } + return ret; + }; + Object.defineProperty(Mesh.prototype, "hasLODLevels", { + get: function () { + return this._LODLevels.length > 0; + }, + enumerable: true, + configurable: true + }); + Mesh.prototype._sortLODLevels = function () { + this._LODLevels.sort(function (a, b) { + if (a.distance < b.distance) { + return 1; + } + if (a.distance > b.distance) { + return -1; + } + return 0; + }); + }; + /** + * Add a mesh as LOD level triggered at the given distance. + * tuto : http://doc.babylonjs.com/tutorials/How_to_use_LOD + * @param {number} distance The distance from the center of the object to show this level + * @param {Mesh} mesh The mesh to be added as LOD level + * @return {Mesh} This mesh (for chaining) + */ + Mesh.prototype.addLODLevel = function (distance, mesh) { + if (mesh && mesh._masterMesh) { + BABYLON.Tools.Warn("You cannot use a mesh as LOD level twice"); + return this; + } + var level = new BABYLON.Internals.MeshLODLevel(distance, mesh); + this._LODLevels.push(level); + if (mesh) { + mesh._masterMesh = this; + } + this._sortLODLevels(); + return this; + }; + /** + * Returns the LOD level mesh at the passed distance or null if not found. + * It is related to the method `addLODLevel(distance, mesh)`. + * tuto : http://doc.babylonjs.com/tutorials/How_to_use_LOD + */ + Mesh.prototype.getLODLevelAtDistance = function (distance) { + for (var index = 0; index < this._LODLevels.length; index++) { + var level = this._LODLevels[index]; + if (level.distance === distance) { + return level.mesh; + } + } + return null; + }; + /** + * Remove a mesh from the LOD array + * tuto : http://doc.babylonjs.com/tutorials/How_to_use_LOD + * @param {Mesh} mesh The mesh to be removed. + * @return {Mesh} This mesh (for chaining) + */ + Mesh.prototype.removeLODLevel = function (mesh) { + for (var index = 0; index < this._LODLevels.length; index++) { + if (this._LODLevels[index].mesh === mesh) { + this._LODLevels.splice(index, 1); + if (mesh) { + mesh._masterMesh = null; + } + } + } + this._sortLODLevels(); + return this; + }; + /** + * Returns the registered LOD mesh distant from the parameter `camera` position if any, else returns the current mesh. + * tuto : http://doc.babylonjs.com/tutorials/How_to_use_LOD + */ + Mesh.prototype.getLOD = function (camera, boundingSphere) { + if (!this._LODLevels || this._LODLevels.length === 0) { + return this; + } + var distanceToCamera = (boundingSphere ? boundingSphere : this.getBoundingInfo().boundingSphere).centerWorld.subtract(camera.globalPosition).length(); + if (this._LODLevels[this._LODLevels.length - 1].distance > distanceToCamera) { + if (this.onLODLevelSelection) { + this.onLODLevelSelection(distanceToCamera, this, this._LODLevels[this._LODLevels.length - 1].mesh); + } + return this; + } + for (var index = 0; index < this._LODLevels.length; index++) { + var level = this._LODLevels[index]; + if (level.distance < distanceToCamera) { + if (level.mesh) { + level.mesh._preActivate(); + level.mesh._updateSubMeshesBoundingInfo(this.worldMatrixFromCache); + } + if (this.onLODLevelSelection) { + this.onLODLevelSelection(distanceToCamera, this, level.mesh); + } + return level.mesh; + } + } + if (this.onLODLevelSelection) { + this.onLODLevelSelection(distanceToCamera, this, this); + } + return this; + }; + Object.defineProperty(Mesh.prototype, "geometry", { + /** + * Returns the mesh internal Geometry object. + */ + get: function () { + return this._geometry; + }, + enumerable: true, + configurable: true + }); + /** + * Returns a positive integer : the total number of vertices within the mesh geometry or zero if the mesh has no geometry. + */ + Mesh.prototype.getTotalVertices = function () { + if (!this._geometry) { + return 0; + } + return this._geometry.getTotalVertices(); + }; + /** + * Returns an array of integers or floats, or a Float32Array, depending on the requested `kind` (positions, indices, normals, etc). + * If `copywhenShared` is true (default false) and if the mesh geometry is shared among some other meshes, the returned array is a copy of the internal one. + * Returns null if the mesh has no geometry or no vertex buffer. + * Possible `kind` values : + * - BABYLON.VertexBuffer.PositionKind + * - BABYLON.VertexBuffer.UVKind + * - BABYLON.VertexBuffer.UV2Kind + * - BABYLON.VertexBuffer.UV3Kind + * - BABYLON.VertexBuffer.UV4Kind + * - BABYLON.VertexBuffer.UV5Kind + * - BABYLON.VertexBuffer.UV6Kind + * - BABYLON.VertexBuffer.ColorKind + * - BABYLON.VertexBuffer.MatricesIndicesKind + * - BABYLON.VertexBuffer.MatricesIndicesExtraKind + * - BABYLON.VertexBuffer.MatricesWeightsKind + * - BABYLON.VertexBuffer.MatricesWeightsExtraKind + */ + Mesh.prototype.getVerticesData = function (kind, copyWhenShared) { + if (!this._geometry) { + return null; + } + return this._geometry.getVerticesData(kind, copyWhenShared); + }; + /** + * Returns the mesh VertexBuffer object from the requested `kind` : positions, indices, normals, etc. + * Returns `undefined` if the mesh has no geometry. + * Possible `kind` values : + * - BABYLON.VertexBuffer.PositionKind + * - BABYLON.VertexBuffer.UVKind + * - BABYLON.VertexBuffer.UV2Kind + * - BABYLON.VertexBuffer.UV3Kind + * - BABYLON.VertexBuffer.UV4Kind + * - BABYLON.VertexBuffer.UV5Kind + * - BABYLON.VertexBuffer.UV6Kind + * - BABYLON.VertexBuffer.ColorKind + * - BABYLON.VertexBuffer.MatricesIndicesKind + * - BABYLON.VertexBuffer.MatricesIndicesExtraKind + * - BABYLON.VertexBuffer.MatricesWeightsKind + * - BABYLON.VertexBuffer.MatricesWeightsExtraKind + */ + Mesh.prototype.getVertexBuffer = function (kind) { + if (!this._geometry) { + return undefined; + } + return this._geometry.getVertexBuffer(kind); + }; + /** + * Returns a boolean depending on the existence of the Vertex Data for the requested `kind`. + * Possible `kind` values : + * - BABYLON.VertexBuffer.PositionKind + * - BABYLON.VertexBuffer.UVKind + * - BABYLON.VertexBuffer.UV2Kind + * - BABYLON.VertexBuffer.UV3Kind + * - BABYLON.VertexBuffer.UV4Kind + * - BABYLON.VertexBuffer.UV5Kind + * - BABYLON.VertexBuffer.UV6Kind + * - BABYLON.VertexBuffer.ColorKind + * - BABYLON.VertexBuffer.MatricesIndicesKind + * - BABYLON.VertexBuffer.MatricesIndicesExtraKind + * - BABYLON.VertexBuffer.MatricesWeightsKind + * - BABYLON.VertexBuffer.MatricesWeightsExtraKind + */ + Mesh.prototype.isVerticesDataPresent = function (kind) { + if (!this._geometry) { + if (this._delayInfo) { + return this._delayInfo.indexOf(kind) !== -1; + } + return false; + } + return this._geometry.isVerticesDataPresent(kind); + }; + /** + * Returns a string : the list of existing `kinds` of Vertex Data for this mesh. + * Possible `kind` values : + * - BABYLON.VertexBuffer.PositionKind + * - BABYLON.VertexBuffer.UVKind + * - BABYLON.VertexBuffer.UV2Kind + * - BABYLON.VertexBuffer.UV3Kind + * - BABYLON.VertexBuffer.UV4Kind + * - BABYLON.VertexBuffer.UV5Kind + * - BABYLON.VertexBuffer.UV6Kind + * - BABYLON.VertexBuffer.ColorKind + * - BABYLON.VertexBuffer.MatricesIndicesKind + * - BABYLON.VertexBuffer.MatricesIndicesExtraKind + * - BABYLON.VertexBuffer.MatricesWeightsKind + * - BABYLON.VertexBuffer.MatricesWeightsExtraKind + */ + Mesh.prototype.getVerticesDataKinds = function () { + if (!this._geometry) { + var result = []; + if (this._delayInfo) { + this._delayInfo.forEach(function (kind, index, array) { + result.push(kind); + }); + } + return result; + } + return this._geometry.getVerticesDataKinds(); + }; + /** + * Returns a positive integer : the total number of indices in this mesh geometry. + * Returns zero if the mesh has no geometry. + */ + Mesh.prototype.getTotalIndices = function () { + if (!this._geometry) { + return 0; + } + return this._geometry.getTotalIndices(); + }; + /** + * Returns an array of integers or a Int32Array populated with the mesh indices. + * If the parameter `copyWhenShared` is true (default false) and and if the mesh geometry is shared among some other meshes, the returned array is a copy of the internal one. + * Returns an empty array if the mesh has no geometry. + */ + Mesh.prototype.getIndices = function (copyWhenShared) { + if (!this._geometry) { + return []; + } + return this._geometry.getIndices(copyWhenShared); + }; + Object.defineProperty(Mesh.prototype, "isBlocked", { + get: function () { + return this._masterMesh !== null && this._masterMesh !== undefined; + }, + enumerable: true, + configurable: true + }); + /** + * Boolean : true once the mesh is ready after all the delayed process (loading, etc) are complete. + */ + Mesh.prototype.isReady = function () { + if (this.delayLoadState === BABYLON.Engine.DELAYLOADSTATE_LOADING) { + return false; + } + return _super.prototype.isReady.call(this); + }; + /** + * Boolean : true if the mesh has been disposed. + */ + Mesh.prototype.isDisposed = function () { + return this._isDisposed; + }; + Object.defineProperty(Mesh.prototype, "sideOrientation", { + get: function () { + return this._sideOrientation; + }, + /** + * Sets the mesh side orientation : BABYLON.Mesh.FRONTSIDE, BABYLON.Mesh.BACKSIDE, BABYLON.Mesh.DOUBLESIDE or BABYLON.Mesh.DEFAULTSIDE + * tuto : http://doc.babylonjs.com/tutorials/Discover_Basic_Elements#side-orientation + */ + set: function (sideO) { + this._sideOrientation = sideO; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Mesh.prototype, "areNormalsFrozen", { + /** + * Boolean : true if the normals aren't to be recomputed on next mesh `positions` array update. + * This property is pertinent only for updatable parametric shapes. + */ + get: function () { + return this._areNormalsFrozen; + }, + enumerable: true, + configurable: true + }); + /** + * This function affects parametric shapes on vertex position update only : ribbons, tubes, etc. + * It has no effect at all on other shapes. + * It prevents the mesh normals from being recomputed on next `positions` array update. + */ + Mesh.prototype.freezeNormals = function () { + this._areNormalsFrozen = true; + }; + /** + * This function affects parametric shapes on vertex position update only : ribbons, tubes, etc. + * It has no effect at all on other shapes. + * It reactivates the mesh normals computation if it was previously frozen. + */ + Mesh.prototype.unfreezeNormals = function () { + this._areNormalsFrozen = false; + }; + Object.defineProperty(Mesh.prototype, "overridenInstanceCount", { + /** + * Overrides instance count. Only applicable when custom instanced InterleavedVertexBuffer are used rather than InstancedMeshs + */ + set: function (count) { + this._overridenInstanceCount = count; + }, + enumerable: true, + configurable: true + }); + // Methods + Mesh.prototype._preActivate = function () { + var sceneRenderId = this.getScene().getRenderId(); + if (this._preActivateId === sceneRenderId) { + return; + } + this._preActivateId = sceneRenderId; + this._visibleInstances = null; + }; + Mesh.prototype._preActivateForIntermediateRendering = function (renderId) { + if (this._visibleInstances) { + this._visibleInstances.intermediateDefaultRenderId = renderId; + } + }; + Mesh.prototype._registerInstanceForRenderId = function (instance, renderId) { + if (!this._visibleInstances) { + this._visibleInstances = {}; + this._visibleInstances.defaultRenderId = renderId; + this._visibleInstances.selfDefaultRenderId = this._renderId; + } + if (!this._visibleInstances[renderId]) { + this._visibleInstances[renderId] = new Array(); + } + this._visibleInstances[renderId].push(instance); + }; + /** + * This method recomputes and sets a new BoundingInfo to the mesh unless it is locked. + * This means the mesh underlying bounding box and sphere are recomputed. + */ + Mesh.prototype.refreshBoundingInfo = function () { + if (this._boundingInfo.isLocked) { + return; + } + var data = this.getVerticesData(BABYLON.VertexBuffer.PositionKind); + if (data) { + var extend = BABYLON.Tools.ExtractMinAndMax(data, 0, this.getTotalVertices()); + this._boundingInfo = new BABYLON.BoundingInfo(extend.minimum, extend.maximum); + } + if (this.subMeshes) { + for (var index = 0; index < this.subMeshes.length; index++) { + this.subMeshes[index].refreshBoundingInfo(); + } + } + this._updateBoundingInfo(); + }; + Mesh.prototype._createGlobalSubMesh = function () { + var totalVertices = this.getTotalVertices(); + if (!totalVertices || !this.getIndices()) { + return null; + } + this.releaseSubMeshes(); + return new BABYLON.SubMesh(0, 0, totalVertices, 0, this.getTotalIndices(), this); + }; + Mesh.prototype.subdivide = function (count) { + if (count < 1) { + return; + } + var totalIndices = this.getTotalIndices(); + var subdivisionSize = (totalIndices / count) | 0; + var offset = 0; + // Ensure that subdivisionSize is a multiple of 3 + while (subdivisionSize % 3 !== 0) { + subdivisionSize++; + } + this.releaseSubMeshes(); + for (var index = 0; index < count; index++) { + if (offset >= totalIndices) { + break; + } + BABYLON.SubMesh.CreateFromIndices(0, offset, Math.min(subdivisionSize, totalIndices - offset), this); + offset += subdivisionSize; + } + this.synchronizeInstances(); + }; + /** + * Sets the vertex data of the mesh geometry for the requested `kind`. + * If the mesh has no geometry, a new Geometry object is set to the mesh and then passed this vertex data. + * The `data` are either a numeric array either a Float32Array. + * The parameter `updatable` is passed as is to the underlying Geometry object constructor (if initianilly none) or updater. + * The parameter `stride` is an optional positive integer, it is usually automatically deducted from the `kind` (3 for positions or normals, 2 for UV, etc). + * Note that a new underlying VertexBuffer object is created each call. + * If the `kind` is the `PositionKind`, the mesh BoundingInfo is renewed, so the bounding box and sphere, and the mesh World Matrix is recomputed. + * + * Possible `kind` values : + * - BABYLON.VertexBuffer.PositionKind + * - BABYLON.VertexBuffer.UVKind + * - BABYLON.VertexBuffer.UV2Kind + * - BABYLON.VertexBuffer.UV3Kind + * - BABYLON.VertexBuffer.UV4Kind + * - BABYLON.VertexBuffer.UV5Kind + * - BABYLON.VertexBuffer.UV6Kind + * - BABYLON.VertexBuffer.ColorKind + * - BABYLON.VertexBuffer.MatricesIndicesKind + * - BABYLON.VertexBuffer.MatricesIndicesExtraKind + * - BABYLON.VertexBuffer.MatricesWeightsKind + * - BABYLON.VertexBuffer.MatricesWeightsExtraKind + */ + Mesh.prototype.setVerticesData = function (kind, data, updatable, stride) { + if (!this._geometry) { + var vertexData = new BABYLON.VertexData(); + vertexData.set(data, kind); + var scene = this.getScene(); + new BABYLON.Geometry(BABYLON.Geometry.RandomId(), scene, vertexData, updatable, this); + } + else { + this._geometry.setVerticesData(kind, data, updatable, stride); + } + }; + Mesh.prototype.setVerticesBuffer = function (buffer) { + if (!this._geometry) { + var scene = this.getScene(); + new BABYLON.Geometry(BABYLON.Geometry.RandomId(), scene).applyToMesh(this); + } + this._geometry.setVerticesBuffer(buffer); + }; + /** + * Updates the existing vertex data of the mesh geometry for the requested `kind`. + * If the mesh has no geometry, it is simply returned as it is. + * The `data` are either a numeric array either a Float32Array. + * No new underlying VertexBuffer object is created. + * If the `kind` is the `PositionKind` and if `updateExtends` is true, the mesh BoundingInfo is renewed, so the bounding box and sphere, and the mesh World Matrix is recomputed. + * If the parameter `makeItUnique` is true, a new global geometry is created from this positions and is set to the mesh. + * + * Possible `kind` values : + * - BABYLON.VertexBuffer.PositionKind + * - BABYLON.VertexBuffer.UVKind + * - BABYLON.VertexBuffer.UV2Kind + * - BABYLON.VertexBuffer.UV3Kind + * - BABYLON.VertexBuffer.UV4Kind + * - BABYLON.VertexBuffer.UV5Kind + * - BABYLON.VertexBuffer.UV6Kind + * - BABYLON.VertexBuffer.ColorKind + * - BABYLON.VertexBuffer.MatricesIndicesKind + * - BABYLON.VertexBuffer.MatricesIndicesExtraKind + * - BABYLON.VertexBuffer.MatricesWeightsKind + * - BABYLON.VertexBuffer.MatricesWeightsExtraKind + */ + Mesh.prototype.updateVerticesData = function (kind, data, updateExtends, makeItUnique) { + if (!this._geometry) { + return; + } + if (!makeItUnique) { + this._geometry.updateVerticesData(kind, data, updateExtends); + } + else { + this.makeGeometryUnique(); + this.updateVerticesData(kind, data, updateExtends, false); + } + }; + /** + * Deprecated since BabylonJS v2.3 + */ + Mesh.prototype.updateVerticesDataDirectly = function (kind, data, offset, makeItUnique) { + BABYLON.Tools.Warn("Mesh.updateVerticesDataDirectly deprecated since 2.3."); + if (!this._geometry) { + return; + } + if (!makeItUnique) { + this._geometry.updateVerticesDataDirectly(kind, data, offset); + } + else { + this.makeGeometryUnique(); + this.updateVerticesDataDirectly(kind, data, offset, false); + } + }; + /** + * This method updates the vertex positions of an updatable mesh according to the `positionFunction` returned values. + * tuto : http://doc.babylonjs.com/tutorials/How_to_dynamically_morph_a_mesh#other-shapes-updatemeshpositions + * The parameter `positionFunction` is a simple JS function what is passed the mesh `positions` array. It doesn't need to return anything. + * The parameter `computeNormals` is a boolean (default true) to enable/disable the mesh normal recomputation after the vertex position update. + */ + Mesh.prototype.updateMeshPositions = function (positionFunction, computeNormals) { + if (computeNormals === void 0) { computeNormals = true; } + var positions = this.getVerticesData(BABYLON.VertexBuffer.PositionKind); + positionFunction(positions); + this.updateVerticesData(BABYLON.VertexBuffer.PositionKind, positions, false, false); + if (computeNormals) { + var indices = this.getIndices(); + var normals = this.getVerticesData(BABYLON.VertexBuffer.NormalKind); + BABYLON.VertexData.ComputeNormals(positions, indices, normals); + this.updateVerticesData(BABYLON.VertexBuffer.NormalKind, normals, false, false); + } + }; + Mesh.prototype.makeGeometryUnique = function () { + if (!this._geometry) { + return; + } + var oldGeometry = this._geometry; + var geometry = this._geometry.copy(BABYLON.Geometry.RandomId()); + oldGeometry.releaseForMesh(this, true); + geometry.applyToMesh(this); + }; + /** + * Sets the mesh indices. + * Expects an array populated with integers or a Int32Array. + * If the mesh has no geometry, a new Geometry object is created and set to the mesh. + * This method creates a new index buffer each call. + */ + Mesh.prototype.setIndices = function (indices, totalVertices) { + if (!this._geometry) { + var vertexData = new BABYLON.VertexData(); + vertexData.indices = indices; + var scene = this.getScene(); + new BABYLON.Geometry(BABYLON.Geometry.RandomId(), scene, vertexData, false, this); + } + else { + this._geometry.setIndices(indices, totalVertices); + } + }; + /** + * Invert the geometry to move from a right handed system to a left handed one. + */ + Mesh.prototype.toLeftHanded = function () { + if (!this._geometry) { + return; + } + this._geometry.toLeftHanded(); + }; + Mesh.prototype._bind = function (subMesh, effect, fillMode) { + var engine = this.getScene().getEngine(); + // Wireframe + var indexToBind; + if (this._unIndexed) { + indexToBind = null; + } + else { + switch (fillMode) { + case BABYLON.Material.PointFillMode: + indexToBind = null; + break; + case BABYLON.Material.WireFrameFillMode: + indexToBind = subMesh.getLinesIndexBuffer(this.getIndices(), engine); + break; + default: + case BABYLON.Material.TriangleFillMode: + indexToBind = this._unIndexed ? null : this._geometry.getIndexBuffer(); + break; + } + } + // VBOs + engine.bindBuffers(this._geometry.getVertexBuffers(), indexToBind, effect); + }; + Mesh.prototype._draw = function (subMesh, fillMode, instancesCount) { + if (!this._geometry || !this._geometry.getVertexBuffers() || !this._geometry.getIndexBuffer()) { + return; + } + this.onBeforeDrawObservable.notifyObservers(this); + var engine = this.getScene().getEngine(); + // Draw order + switch (fillMode) { + case BABYLON.Material.PointFillMode: + engine.drawPointClouds(subMesh.verticesStart, subMesh.verticesCount, instancesCount); + break; + case BABYLON.Material.WireFrameFillMode: + if (this._unIndexed) { + engine.drawUnIndexed(false, subMesh.verticesStart, subMesh.verticesCount, instancesCount); + } + else { + engine.draw(false, 0, instancesCount > 0 ? subMesh.linesIndexCount / 2 : subMesh.linesIndexCount, instancesCount); + } + break; + default: + if (this._unIndexed) { + engine.drawUnIndexed(true, subMesh.verticesStart, subMesh.verticesCount, instancesCount); + } + else { + engine.draw(true, subMesh.indexStart, subMesh.indexCount, instancesCount); + } + } + }; + /** + * Registers for this mesh a javascript function called just before the rendering process. + * This function is passed the current mesh and doesn't return anything. + */ + Mesh.prototype.registerBeforeRender = function (func) { + this.onBeforeRenderObservable.add(func); + }; + /** + * Disposes a previously registered javascript function called before the rendering. + * This function is passed the current mesh and doesn't return anything. + */ + Mesh.prototype.unregisterBeforeRender = function (func) { + this.onBeforeRenderObservable.removeCallback(func); + }; + /** + * Registers for this mesh a javascript function called just after the rendering is complete. + * This function is passed the current mesh and doesn't return anything. + */ + Mesh.prototype.registerAfterRender = function (func) { + this.onAfterRenderObservable.add(func); + }; + /** + * Disposes a previously registered javascript function called after the rendering. + * This function is passed the current mesh and doesn't return anything. + */ + Mesh.prototype.unregisterAfterRender = function (func) { + this.onAfterRenderObservable.removeCallback(func); + }; + Mesh.prototype._getInstancesRenderList = function (subMeshId) { + var scene = this.getScene(); + this._batchCache.mustReturn = false; + this._batchCache.renderSelf[subMeshId] = this.isEnabled() && this.isVisible; + this._batchCache.visibleInstances[subMeshId] = null; + if (this._visibleInstances) { + var currentRenderId = scene.getRenderId(); + var defaultRenderId = (scene._isInIntermediateRendering() ? this._visibleInstances.intermediateDefaultRenderId : this._visibleInstances.defaultRenderId); + this._batchCache.visibleInstances[subMeshId] = this._visibleInstances[currentRenderId]; + var selfRenderId = this._renderId; + if (!this._batchCache.visibleInstances[subMeshId] && defaultRenderId) { + this._batchCache.visibleInstances[subMeshId] = this._visibleInstances[defaultRenderId]; + currentRenderId = Math.max(defaultRenderId, currentRenderId); + selfRenderId = Math.max(this._visibleInstances.selfDefaultRenderId, currentRenderId); + } + if (this._batchCache.visibleInstances[subMeshId] && this._batchCache.visibleInstances[subMeshId].length) { + if (this._renderIdForInstances[subMeshId] === currentRenderId) { + this._batchCache.mustReturn = true; + return this._batchCache; + } + if (currentRenderId !== selfRenderId) { + this._batchCache.renderSelf[subMeshId] = false; + } + } + this._renderIdForInstances[subMeshId] = currentRenderId; + } + return this._batchCache; + }; + Mesh.prototype._renderWithInstances = function (subMesh, fillMode, batch, effect, engine) { + var visibleInstances = batch.visibleInstances[subMesh._id]; + var matricesCount = visibleInstances.length + 1; + var bufferSize = matricesCount * 16 * 4; + var currentInstancesBufferSize = this._instancesBufferSize; + var instancesBuffer = this._instancesBuffer; + while (this._instancesBufferSize < bufferSize) { + this._instancesBufferSize *= 2; + } + if (!this._instancesData || currentInstancesBufferSize != this._instancesBufferSize) { + this._instancesData = new Float32Array(this._instancesBufferSize / 4); + } + var offset = 0; + var instancesCount = 0; + var world = this.getWorldMatrix(); + if (batch.renderSelf[subMesh._id]) { + world.copyToArray(this._instancesData, offset); + offset += 16; + instancesCount++; + } + if (visibleInstances) { + for (var instanceIndex = 0; instanceIndex < visibleInstances.length; instanceIndex++) { + var instance = visibleInstances[instanceIndex]; + instance.getWorldMatrix().copyToArray(this._instancesData, offset); + offset += 16; + instancesCount++; + } + } + if (!instancesBuffer || currentInstancesBufferSize != this._instancesBufferSize) { + if (instancesBuffer) { + instancesBuffer.dispose(); + } + instancesBuffer = new BABYLON.Buffer(engine, this._instancesData, true, 16, false, true); + this._instancesBuffer = instancesBuffer; + this.setVerticesBuffer(instancesBuffer.createVertexBuffer("world0", 0, 4)); + this.setVerticesBuffer(instancesBuffer.createVertexBuffer("world1", 4, 4)); + this.setVerticesBuffer(instancesBuffer.createVertexBuffer("world2", 8, 4)); + this.setVerticesBuffer(instancesBuffer.createVertexBuffer("world3", 12, 4)); + } + else { + instancesBuffer.updateDirectly(this._instancesData, 0, instancesCount); + } + engine.bindBuffers(this.geometry.getVertexBuffers(), this.geometry.getIndexBuffer(), effect); + this._draw(subMesh, fillMode, instancesCount); + engine.unbindInstanceAttributes(); + }; + Mesh.prototype._processRendering = function (subMesh, effect, fillMode, batch, hardwareInstancedRendering, onBeforeDraw, effectiveMaterial) { + var scene = this.getScene(); + var engine = scene.getEngine(); + if (hardwareInstancedRendering) { + this._renderWithInstances(subMesh, fillMode, batch, effect, engine); + } + else { + if (batch.renderSelf[subMesh._id]) { + // Draw + if (onBeforeDraw) { + onBeforeDraw(false, this.getWorldMatrix(), effectiveMaterial); + } + this._draw(subMesh, fillMode, this._overridenInstanceCount); + } + if (batch.visibleInstances[subMesh._id]) { + for (var instanceIndex = 0; instanceIndex < batch.visibleInstances[subMesh._id].length; instanceIndex++) { + var instance = batch.visibleInstances[subMesh._id][instanceIndex]; + // World + var world = instance.getWorldMatrix(); + if (onBeforeDraw) { + onBeforeDraw(true, world, effectiveMaterial); + } + // Draw + this._draw(subMesh, fillMode); + } + } + } + }; + /** + * Triggers the draw call for the mesh. + * Usually, you don't need to call this method by your own because the mesh rendering is handled by the scene rendering manager. + */ + Mesh.prototype.render = function (subMesh, enableAlphaMode) { + var scene = this.getScene(); + // Managing instances + var batch = this._getInstancesRenderList(subMesh._id); + if (batch.mustReturn) { + return; + } + // Checking geometry state + if (!this._geometry || !this._geometry.getVertexBuffers() || !this._geometry.getIndexBuffer()) { + return; + } + var callbackIndex; + this.onBeforeRenderObservable.notifyObservers(this); + var engine = scene.getEngine(); + var hardwareInstancedRendering = (engine.getCaps().instancedArrays !== null) && (batch.visibleInstances[subMesh._id] !== null) && (batch.visibleInstances[subMesh._id] !== undefined); + // Material + var effectiveMaterial = subMesh.getMaterial(); + if (!effectiveMaterial || !effectiveMaterial.isReady(this, hardwareInstancedRendering)) { + return; + } + // Outline - step 1 + var savedDepthWrite = engine.getDepthWrite(); + if (this.renderOutline) { + engine.setDepthWrite(false); + scene.getOutlineRenderer().render(subMesh, batch); + engine.setDepthWrite(savedDepthWrite); + } + effectiveMaterial._preBind(); + var effect = effectiveMaterial.getEffect(); + // Bind + var fillMode = scene.forcePointsCloud ? BABYLON.Material.PointFillMode : (scene.forceWireframe ? BABYLON.Material.WireFrameFillMode : effectiveMaterial.fillMode); + this._bind(subMesh, effect, fillMode); + var world = this.getWorldMatrix(); + effectiveMaterial.bind(world, this); + // Alpha mode + if (enableAlphaMode) { + engine.setAlphaMode(effectiveMaterial.alphaMode); + } + // Draw + this._processRendering(subMesh, effect, fillMode, batch, hardwareInstancedRendering, this._onBeforeDraw, effectiveMaterial); + // Unbind + effectiveMaterial.unbind(); + // Outline - step 2 + if (this.renderOutline && savedDepthWrite) { + engine.setDepthWrite(true); + engine.setColorWrite(false); + scene.getOutlineRenderer().render(subMesh, batch); + engine.setColorWrite(true); + } + // Overlay + if (this.renderOverlay) { + var currentMode = engine.getAlphaMode(); + engine.setAlphaMode(BABYLON.Engine.ALPHA_COMBINE); + scene.getOutlineRenderer().render(subMesh, batch, true); + engine.setAlphaMode(currentMode); + } + this.onAfterRenderObservable.notifyObservers(this); + }; + Mesh.prototype._onBeforeDraw = function (isInstance, world, effectiveMaterial) { + if (isInstance) { + effectiveMaterial.bindOnlyWorldMatrix(world); + } + }; + /** + * Returns an array populated with ParticleSystem objects whose the mesh is the emitter. + */ + Mesh.prototype.getEmittedParticleSystems = function () { + var results = new Array(); + for (var index = 0; index < this.getScene().particleSystems.length; index++) { + var particleSystem = this.getScene().particleSystems[index]; + if (particleSystem.emitter === this) { + results.push(particleSystem); + } + } + return results; + }; + /** + * Returns an array populated with ParticleSystem objects whose the mesh or its children are the emitter. + */ + Mesh.prototype.getHierarchyEmittedParticleSystems = function () { + var results = new Array(); + var descendants = this.getDescendants(); + descendants.push(this); + for (var index = 0; index < this.getScene().particleSystems.length; index++) { + var particleSystem = this.getScene().particleSystems[index]; + if (descendants.indexOf(particleSystem.emitter) !== -1) { + results.push(particleSystem); + } + } + return results; + }; + Mesh.prototype._checkDelayState = function () { + var scene = this.getScene(); + if (this._geometry) { + this._geometry.load(scene); + } + else if (this.delayLoadState === BABYLON.Engine.DELAYLOADSTATE_NOTLOADED) { + this.delayLoadState = BABYLON.Engine.DELAYLOADSTATE_LOADING; + this._queueLoad(this, scene); + } + }; + Mesh.prototype._queueLoad = function (mesh, scene) { + var _this = this; + scene._addPendingData(mesh); + var getBinaryData = (this.delayLoadingFile.indexOf(".babylonbinarymeshdata") !== -1); + BABYLON.Tools.LoadFile(this.delayLoadingFile, function (data) { + if (data instanceof ArrayBuffer) { + _this._delayLoadingFunction(data, _this); + } + else { + _this._delayLoadingFunction(JSON.parse(data), _this); + } + _this.delayLoadState = BABYLON.Engine.DELAYLOADSTATE_LOADED; + scene._removePendingData(_this); + }, function () { }, scene.database, getBinaryData); + }; + /** + * Boolean, true is the mesh in the frustum defined by the Plane objects from the `frustumPlanes` array parameter. + */ + Mesh.prototype.isInFrustum = function (frustumPlanes) { + if (this.delayLoadState === BABYLON.Engine.DELAYLOADSTATE_LOADING) { + return false; + } + if (!_super.prototype.isInFrustum.call(this, frustumPlanes)) { + return false; + } + this._checkDelayState(); + return true; + }; + /** + * Sets the mesh material by the material or multiMaterial `id` property. + * The material `id` is a string identifying the material or the multiMaterial. + * This method returns nothing. + */ + Mesh.prototype.setMaterialByID = function (id) { + var materials = this.getScene().materials; + var index; + for (index = 0; index < materials.length; index++) { + if (materials[index].id === id) { + this.material = materials[index]; + return; + } + } + // Multi + var multiMaterials = this.getScene().multiMaterials; + for (index = 0; index < multiMaterials.length; index++) { + if (multiMaterials[index].id === id) { + this.material = multiMaterials[index]; + return; + } + } + }; + /** + * Returns as a new array populated with the mesh material and/or skeleton, if any. + */ + Mesh.prototype.getAnimatables = function () { + var results = []; + if (this.material) { + results.push(this.material); + } + if (this.skeleton) { + results.push(this.skeleton); + } + return results; + }; + /** + * Modifies the mesh geometry according to the passed transformation matrix. + * This method returns nothing but it really modifies the mesh even if it's originally not set as updatable. + * The mesh normals are modified accordingly the same transformation. + * tuto : http://doc.babylonjs.com/tutorials/How_Rotations_and_Translations_Work#baking-transform + * Note that, under the hood, this method sets a new VertexBuffer each call. + */ + Mesh.prototype.bakeTransformIntoVertices = function (transform) { + // Position + if (!this.isVerticesDataPresent(BABYLON.VertexBuffer.PositionKind)) { + return; + } + var submeshes = this.subMeshes.splice(0); + this._resetPointsArrayCache(); + var data = this.getVerticesData(BABYLON.VertexBuffer.PositionKind); + var temp = []; + var index; + for (index = 0; index < data.length; index += 3) { + BABYLON.Vector3.TransformCoordinates(BABYLON.Vector3.FromArray(data, index), transform).toArray(temp, index); + } + this.setVerticesData(BABYLON.VertexBuffer.PositionKind, temp, this.getVertexBuffer(BABYLON.VertexBuffer.PositionKind).isUpdatable()); + // Normals + if (!this.isVerticesDataPresent(BABYLON.VertexBuffer.NormalKind)) { + return; + } + data = this.getVerticesData(BABYLON.VertexBuffer.NormalKind); + temp = []; + for (index = 0; index < data.length; index += 3) { + BABYLON.Vector3.TransformNormal(BABYLON.Vector3.FromArray(data, index), transform).normalize().toArray(temp, index); + } + this.setVerticesData(BABYLON.VertexBuffer.NormalKind, temp, this.getVertexBuffer(BABYLON.VertexBuffer.NormalKind).isUpdatable()); + // flip faces? + if (transform.m[0] * transform.m[5] * transform.m[10] < 0) { + this.flipFaces(); + } + // Restore submeshes + this.releaseSubMeshes(); + this.subMeshes = submeshes; + }; + /** + * Modifies the mesh geometry according to its own current World Matrix. + * The mesh World Matrix is then reset. + * This method returns nothing but really modifies the mesh even if it's originally not set as updatable. + * tuto : tuto : http://doc.babylonjs.com/tutorials/How_Rotations_and_Translations_Work#baking-transform + * Note that, under the hood, this method sets a new VertexBuffer each call. + */ + Mesh.prototype.bakeCurrentTransformIntoVertices = function () { + this.bakeTransformIntoVertices(this.computeWorldMatrix(true)); + this.scaling.copyFromFloats(1, 1, 1); + this.position.copyFromFloats(0, 0, 0); + this.rotation.copyFromFloats(0, 0, 0); + //only if quaternion is already set + if (this.rotationQuaternion) { + this.rotationQuaternion = BABYLON.Quaternion.Identity(); + } + this._worldMatrix = BABYLON.Matrix.Identity(); + }; + // Cache + Mesh.prototype._resetPointsArrayCache = function () { + this._positions = null; + }; + Mesh.prototype._generatePointsArray = function () { + if (this._positions) + return true; + this._positions = []; + var data = this.getVerticesData(BABYLON.VertexBuffer.PositionKind); + if (!data) { + return false; + } + for (var index = 0; index < data.length; index += 3) { + this._positions.push(BABYLON.Vector3.FromArray(data, index)); + } + return true; + }; + /** + * Returns a new Mesh object generated from the current mesh properties. + * This method must not get confused with createInstance(). + * The parameter `name` is a string, the name given to the new mesh. + * The optional parameter `newParent` can be any Node object (default `null`). + * The optional parameter `doNotCloneChildren` (default `false`) allows/denies the recursive cloning of the original mesh children if any. + * The parameter `clonePhysicsImpostor` (default `true`) allows/denies the cloning in the same time of the original mesh `body` used by the physics engine, if any. + */ + Mesh.prototype.clone = function (name, newParent, doNotCloneChildren, clonePhysicsImpostor) { + if (clonePhysicsImpostor === void 0) { clonePhysicsImpostor = true; } + return new Mesh(name, this.getScene(), newParent, this, doNotCloneChildren, clonePhysicsImpostor); + }; + /** + * Disposes the mesh. + * This also frees the memory allocated under the hood to all the buffers used by WebGL. + */ + Mesh.prototype.dispose = function (doNotRecurse) { + if (this._geometry) { + this._geometry.releaseForMesh(this, true); + } + // Instances + if (this._instancesBuffer) { + this._instancesBuffer.dispose(); + this._instancesBuffer = null; + } + while (this.instances.length) { + this.instances[0].dispose(); + } + // Highlight layers. + var highlightLayers = this.getScene().highlightLayers; + for (var i = 0; i < highlightLayers.length; i++) { + var highlightLayer = highlightLayers[i]; + if (highlightLayer) { + highlightLayer.removeMesh(this); + highlightLayer.removeExcludedMesh(this); + } + } + _super.prototype.dispose.call(this, doNotRecurse); + }; + /** + * Modifies the mesh geometry according to a displacement map. + * A displacement map is a colored image. Each pixel color value (actually a gradient computed from red, green, blue values) will give the displacement to apply to each mesh vertex. + * The mesh must be set as updatable. Its internal geometry is directly modified, no new buffer are allocated. + * This method returns nothing. + * The parameter `url` is a string, the URL from the image file is to be downloaded. + * The parameters `minHeight` and `maxHeight` are the lower and upper limits of the displacement. + * The parameter `onSuccess` is an optional Javascript function to be called just after the mesh is modified. It is passed the modified mesh and must return nothing. + */ + Mesh.prototype.applyDisplacementMap = function (url, minHeight, maxHeight, onSuccess) { + var _this = this; + var scene = this.getScene(); + var onload = function (img) { + // Getting height map data + var canvas = document.createElement("canvas"); + var context = canvas.getContext("2d"); + var heightMapWidth = img.width; + var heightMapHeight = img.height; + canvas.width = heightMapWidth; + canvas.height = heightMapHeight; + context.drawImage(img, 0, 0); + // Create VertexData from map data + //Cast is due to wrong definition in lib.d.ts from ts 1.3 - https://github.com/Microsoft/TypeScript/issues/949 + var buffer = context.getImageData(0, 0, heightMapWidth, heightMapHeight).data; + _this.applyDisplacementMapFromBuffer(buffer, heightMapWidth, heightMapHeight, minHeight, maxHeight); + //execute success callback, if set + if (onSuccess) { + onSuccess(_this); + } + }; + BABYLON.Tools.LoadImage(url, onload, function () { }, scene.database); + }; + /** + * Modifies the mesh geometry according to a displacementMap buffer. + * A displacement map is a colored image. Each pixel color value (actually a gradient computed from red, green, blue values) will give the displacement to apply to each mesh vertex. + * The mesh must be set as updatable. Its internal geometry is directly modified, no new buffer are allocated. + * This method returns nothing. + * The parameter `buffer` is a `Uint8Array` buffer containing series of `Uint8` lower than 255, the red, green, blue and alpha values of each successive pixel. + * The parameters `heightMapWidth` and `heightMapHeight` are positive integers to set the width and height of the buffer image. + * The parameters `minHeight` and `maxHeight` are the lower and upper limits of the displacement. + */ + Mesh.prototype.applyDisplacementMapFromBuffer = function (buffer, heightMapWidth, heightMapHeight, minHeight, maxHeight) { + if (!this.isVerticesDataPresent(BABYLON.VertexBuffer.PositionKind) + || !this.isVerticesDataPresent(BABYLON.VertexBuffer.NormalKind) + || !this.isVerticesDataPresent(BABYLON.VertexBuffer.UVKind)) { + BABYLON.Tools.Warn("Cannot call applyDisplacementMap: Given mesh is not complete. Position, Normal or UV are missing"); + return; + } + var positions = this.getVerticesData(BABYLON.VertexBuffer.PositionKind); + var normals = this.getVerticesData(BABYLON.VertexBuffer.NormalKind); + var uvs = this.getVerticesData(BABYLON.VertexBuffer.UVKind); + var position = BABYLON.Vector3.Zero(); + var normal = BABYLON.Vector3.Zero(); + var uv = BABYLON.Vector2.Zero(); + for (var index = 0; index < positions.length; index += 3) { + BABYLON.Vector3.FromArrayToRef(positions, index, position); + BABYLON.Vector3.FromArrayToRef(normals, index, normal); + BABYLON.Vector2.FromArrayToRef(uvs, (index / 3) * 2, uv); + // Compute height + var u = ((Math.abs(uv.x) * heightMapWidth) % heightMapWidth) | 0; + var v = ((Math.abs(uv.y) * heightMapHeight) % heightMapHeight) | 0; + var pos = (u + v * heightMapWidth) * 4; + var r = buffer[pos] / 255.0; + var g = buffer[pos + 1] / 255.0; + var b = buffer[pos + 2] / 255.0; + var gradient = r * 0.3 + g * 0.59 + b * 0.11; + normal.normalize(); + normal.scaleInPlace(minHeight + (maxHeight - minHeight) * gradient); + position = position.add(normal); + position.toArray(positions, index); + } + BABYLON.VertexData.ComputeNormals(positions, this.getIndices(), normals); + this.updateVerticesData(BABYLON.VertexBuffer.PositionKind, positions); + this.updateVerticesData(BABYLON.VertexBuffer.NormalKind, normals); + }; + /** + * Modify the mesh to get a flat shading rendering. + * This means each mesh facet will then have its own normals. Usually new vertices are added in the mesh geometry to get this result. + * This method returns nothing. + * Warning : the mesh is really modified even if not set originally as updatable and, under the hood, a new VertexBuffer is allocated. + */ + Mesh.prototype.convertToFlatShadedMesh = function () { + /// Update normals and vertices to get a flat shading rendering. + /// Warning: This may imply adding vertices to the mesh in order to get exactly 3 vertices per face + var kinds = this.getVerticesDataKinds(); + var vbs = []; + var data = []; + var newdata = []; + var updatableNormals = false; + var kindIndex; + var kind; + for (kindIndex = 0; kindIndex < kinds.length; kindIndex++) { + kind = kinds[kindIndex]; + var vertexBuffer = this.getVertexBuffer(kind); + if (kind === BABYLON.VertexBuffer.NormalKind) { + updatableNormals = vertexBuffer.isUpdatable(); + kinds.splice(kindIndex, 1); + kindIndex--; + continue; + } + vbs[kind] = vertexBuffer; + data[kind] = vbs[kind].getData(); + newdata[kind] = []; + } + // Save previous submeshes + var previousSubmeshes = this.subMeshes.slice(0); + var indices = this.getIndices(); + var totalIndices = this.getTotalIndices(); + // Generating unique vertices per face + var index; + for (index = 0; index < totalIndices; index++) { + var vertexIndex = indices[index]; + for (kindIndex = 0; kindIndex < kinds.length; kindIndex++) { + kind = kinds[kindIndex]; + var stride = vbs[kind].getStrideSize(); + for (var offset = 0; offset < stride; offset++) { + newdata[kind].push(data[kind][vertexIndex * stride + offset]); + } + } + } + // Updating faces & normal + var normals = []; + var positions = newdata[BABYLON.VertexBuffer.PositionKind]; + for (index = 0; index < totalIndices; index += 3) { + indices[index] = index; + indices[index + 1] = index + 1; + indices[index + 2] = index + 2; + var p1 = BABYLON.Vector3.FromArray(positions, index * 3); + var p2 = BABYLON.Vector3.FromArray(positions, (index + 1) * 3); + var p3 = BABYLON.Vector3.FromArray(positions, (index + 2) * 3); + var p1p2 = p1.subtract(p2); + var p3p2 = p3.subtract(p2); + var normal = BABYLON.Vector3.Normalize(BABYLON.Vector3.Cross(p1p2, p3p2)); + // Store same normals for every vertex + for (var localIndex = 0; localIndex < 3; localIndex++) { + normals.push(normal.x); + normals.push(normal.y); + normals.push(normal.z); + } + } + this.setIndices(indices); + this.setVerticesData(BABYLON.VertexBuffer.NormalKind, normals, updatableNormals); + // Updating vertex buffers + for (kindIndex = 0; kindIndex < kinds.length; kindIndex++) { + kind = kinds[kindIndex]; + this.setVerticesData(kind, newdata[kind], vbs[kind].isUpdatable()); + } + // Updating submeshes + this.releaseSubMeshes(); + for (var submeshIndex = 0; submeshIndex < previousSubmeshes.length; submeshIndex++) { + var previousOne = previousSubmeshes[submeshIndex]; + var subMesh = new BABYLON.SubMesh(previousOne.materialIndex, previousOne.indexStart, previousOne.indexCount, previousOne.indexStart, previousOne.indexCount, this); + } + this.synchronizeInstances(); + }; + /** + * This method removes all the mesh indices and add new vertices (duplication) in order to unfold facets into buffers. + * In other words, more vertices, no more indices and a single bigger VBO. + * This method returns nothing. + * The mesh is really modified even if not set originally as updatable. Under the hood, a new VertexBuffer is allocated. + * + */ + Mesh.prototype.convertToUnIndexedMesh = function () { + /// Remove indices by unfolding faces into buffers + /// Warning: This implies adding vertices to the mesh in order to get exactly 3 vertices per face + var kinds = this.getVerticesDataKinds(); + var vbs = []; + var data = []; + var newdata = []; + var updatableNormals = false; + var kindIndex; + var kind; + for (kindIndex = 0; kindIndex < kinds.length; kindIndex++) { + kind = kinds[kindIndex]; + var vertexBuffer = this.getVertexBuffer(kind); + vbs[kind] = vertexBuffer; + data[kind] = vbs[kind].getData(); + newdata[kind] = []; + } + // Save previous submeshes + var previousSubmeshes = this.subMeshes.slice(0); + var indices = this.getIndices(); + var totalIndices = this.getTotalIndices(); + // Generating unique vertices per face + var index; + for (index = 0; index < totalIndices; index++) { + var vertexIndex = indices[index]; + for (kindIndex = 0; kindIndex < kinds.length; kindIndex++) { + kind = kinds[kindIndex]; + var stride = vbs[kind].getStrideSize(); + for (var offset = 0; offset < stride; offset++) { + newdata[kind].push(data[kind][vertexIndex * stride + offset]); + } + } + } + // Updating indices + for (index = 0; index < totalIndices; index += 3) { + indices[index] = index; + indices[index + 1] = index + 1; + indices[index + 2] = index + 2; + } + this.setIndices(indices); + // Updating vertex buffers + for (kindIndex = 0; kindIndex < kinds.length; kindIndex++) { + kind = kinds[kindIndex]; + this.setVerticesData(kind, newdata[kind], vbs[kind].isUpdatable()); + } + // Updating submeshes + this.releaseSubMeshes(); + for (var submeshIndex = 0; submeshIndex < previousSubmeshes.length; submeshIndex++) { + var previousOne = previousSubmeshes[submeshIndex]; + var subMesh = new BABYLON.SubMesh(previousOne.materialIndex, previousOne.indexStart, previousOne.indexCount, previousOne.indexStart, previousOne.indexCount, this); + } + this._unIndexed = true; + this.synchronizeInstances(); + }; + /** + * Inverses facet orientations and inverts also the normals with `flipNormals` (default `false`) if true. + * This method returns nothing. + * Warning : the mesh is really modified even if not set originally as updatable. A new VertexBuffer is created under the hood each call. + */ + Mesh.prototype.flipFaces = function (flipNormals) { + if (flipNormals === void 0) { flipNormals = false; } + var vertex_data = BABYLON.VertexData.ExtractFromMesh(this); + var i; + if (flipNormals && this.isVerticesDataPresent(BABYLON.VertexBuffer.NormalKind)) { + for (i = 0; i < vertex_data.normals.length; i++) { + vertex_data.normals[i] *= -1; + } + } + var temp; + for (i = 0; i < vertex_data.indices.length; i += 3) { + // reassign indices + temp = vertex_data.indices[i + 1]; + vertex_data.indices[i + 1] = vertex_data.indices[i + 2]; + vertex_data.indices[i + 2] = temp; + } + vertex_data.applyToMesh(this); + }; + // Instances + /** + * Creates a new InstancedMesh object from the mesh model. + * An instance shares the same properties and the same material than its model. + * Only these properties of each instance can then be set individually : + * - position + * - rotation + * - rotationQuaternion + * - setPivotMatrix + * - scaling + * tuto : http://doc.babylonjs.com/tutorials/How_to_use_Instances + * Warning : this method is not supported for Line mesh and LineSystem + */ + Mesh.prototype.createInstance = function (name) { + return new BABYLON.InstancedMesh(name, this); + }; + /** + * Synchronises all the mesh instance submeshes to the current mesh submeshes, if any. + * After this call, all the mesh instances have the same submeshes than the current mesh. + * This method returns nothing. + */ + Mesh.prototype.synchronizeInstances = function () { + for (var instanceIndex = 0; instanceIndex < this.instances.length; instanceIndex++) { + var instance = this.instances[instanceIndex]; + instance._syncSubMeshes(); + } + }; + /** + * Simplify the mesh according to the given array of settings. + * Function will return immediately and will simplify async. It returns nothing. + * @param settings a collection of simplification settings. + * @param parallelProcessing should all levels calculate parallel or one after the other. + * @param type the type of simplification to run. + * @param successCallback optional success callback to be called after the simplification finished processing all settings. + */ + Mesh.prototype.simplify = function (settings, parallelProcessing, simplificationType, successCallback) { + if (parallelProcessing === void 0) { parallelProcessing = true; } + if (simplificationType === void 0) { simplificationType = BABYLON.SimplificationType.QUADRATIC; } + this.getScene().simplificationQueue.addTask({ + settings: settings, + parallelProcessing: parallelProcessing, + mesh: this, + simplificationType: simplificationType, + successCallback: successCallback + }); + }; + /** + * Optimization of the mesh's indices, in case a mesh has duplicated vertices. + * The function will only reorder the indices and will not remove unused vertices to avoid problems with submeshes. + * This should be used together with the simplification to avoid disappearing triangles. + * @param successCallback an optional success callback to be called after the optimization finished. + */ + Mesh.prototype.optimizeIndices = function (successCallback) { + var _this = this; + var indices = this.getIndices(); + var positions = this.getVerticesData(BABYLON.VertexBuffer.PositionKind); + var vectorPositions = []; + for (var pos = 0; pos < positions.length; pos = pos + 3) { + vectorPositions.push(BABYLON.Vector3.FromArray(positions, pos)); + } + var dupes = []; + BABYLON.AsyncLoop.SyncAsyncForLoop(vectorPositions.length, 40, function (iteration) { + var realPos = vectorPositions.length - 1 - iteration; + var testedPosition = vectorPositions[realPos]; + for (var j = 0; j < realPos; ++j) { + var againstPosition = vectorPositions[j]; + if (testedPosition.equals(againstPosition)) { + dupes[realPos] = j; + break; + } + } + }, function () { + for (var i = 0; i < indices.length; ++i) { + indices[i] = dupes[indices[i]] || indices[i]; + } + //indices are now reordered + var originalSubMeshes = _this.subMeshes.slice(0); + _this.setIndices(indices); + _this.subMeshes = originalSubMeshes; + if (successCallback) { + successCallback(_this); + } + }); + }; + // Statics + /** + * Returns a new Mesh object what is a deep copy of the passed mesh. + * The parameter `parsedMesh` is the mesh to be copied. + * The parameter `rootUrl` is a string, it's the root URL to prefix the `delayLoadingFile` property with + */ + Mesh.Parse = function (parsedMesh, scene, rootUrl) { + var mesh = new Mesh(parsedMesh.name, scene); + mesh.id = parsedMesh.id; + BABYLON.Tags.AddTagsTo(mesh, parsedMesh.tags); + mesh.position = BABYLON.Vector3.FromArray(parsedMesh.position); + if (parsedMesh.metadata !== undefined) { + mesh.metadata = parsedMesh.metadata; + } + if (parsedMesh.rotationQuaternion) { + mesh.rotationQuaternion = BABYLON.Quaternion.FromArray(parsedMesh.rotationQuaternion); + } + else if (parsedMesh.rotation) { + mesh.rotation = BABYLON.Vector3.FromArray(parsedMesh.rotation); + } + mesh.scaling = BABYLON.Vector3.FromArray(parsedMesh.scaling); + if (parsedMesh.localMatrix) { + mesh.setPivotMatrix(BABYLON.Matrix.FromArray(parsedMesh.localMatrix)); + } + else if (parsedMesh.pivotMatrix) { + mesh.setPivotMatrix(BABYLON.Matrix.FromArray(parsedMesh.pivotMatrix)); + } + mesh.setEnabled(parsedMesh.isEnabled); + mesh.isVisible = parsedMesh.isVisible; + mesh.infiniteDistance = parsedMesh.infiniteDistance; + mesh.showBoundingBox = parsedMesh.showBoundingBox; + mesh.showSubMeshesBoundingBox = parsedMesh.showSubMeshesBoundingBox; + if (parsedMesh.applyFog !== undefined) { + mesh.applyFog = parsedMesh.applyFog; + } + if (parsedMesh.pickable !== undefined) { + mesh.isPickable = parsedMesh.pickable; + } + if (parsedMesh.alphaIndex !== undefined) { + mesh.alphaIndex = parsedMesh.alphaIndex; + } + mesh.receiveShadows = parsedMesh.receiveShadows; + mesh.billboardMode = parsedMesh.billboardMode; + if (parsedMesh.visibility !== undefined) { + mesh.visibility = parsedMesh.visibility; + } + mesh.checkCollisions = parsedMesh.checkCollisions; + if (parsedMesh.isBlocker !== undefined) { + mesh.isBlocker = parsedMesh.isBlocker; + } + mesh._shouldGenerateFlatShading = parsedMesh.useFlatShading; + // freezeWorldMatrix + if (parsedMesh.freezeWorldMatrix) { + mesh._waitingFreezeWorldMatrix = parsedMesh.freezeWorldMatrix; + } + // Parent + if (parsedMesh.parentId) { + mesh._waitingParentId = parsedMesh.parentId; + } + // Actions + if (parsedMesh.actions !== undefined) { + mesh._waitingActions = parsedMesh.actions; + } + // Overlay + if (parsedMesh.overlayAlpha !== undefined) { + mesh.overlayAlpha = parsedMesh.overlayAlpha; + } + if (parsedMesh.overlayColor !== undefined) { + mesh.overlayColor = BABYLON.Color3.FromArray(parsedMesh.overlayColor); + } + if (parsedMesh.renderOverlay !== undefined) { + mesh.renderOverlay = parsedMesh.renderOverlay; + } + // Geometry + mesh.hasVertexAlpha = parsedMesh.hasVertexAlpha; + if (parsedMesh.delayLoadingFile) { + mesh.delayLoadState = BABYLON.Engine.DELAYLOADSTATE_NOTLOADED; + mesh.delayLoadingFile = rootUrl + parsedMesh.delayLoadingFile; + mesh._boundingInfo = new BABYLON.BoundingInfo(BABYLON.Vector3.FromArray(parsedMesh.boundingBoxMinimum), BABYLON.Vector3.FromArray(parsedMesh.boundingBoxMaximum)); + if (parsedMesh._binaryInfo) { + mesh._binaryInfo = parsedMesh._binaryInfo; + } + mesh._delayInfo = []; + if (parsedMesh.hasUVs) { + mesh._delayInfo.push(BABYLON.VertexBuffer.UVKind); + } + if (parsedMesh.hasUVs2) { + mesh._delayInfo.push(BABYLON.VertexBuffer.UV2Kind); + } + if (parsedMesh.hasUVs3) { + mesh._delayInfo.push(BABYLON.VertexBuffer.UV3Kind); + } + if (parsedMesh.hasUVs4) { + mesh._delayInfo.push(BABYLON.VertexBuffer.UV4Kind); + } + if (parsedMesh.hasUVs5) { + mesh._delayInfo.push(BABYLON.VertexBuffer.UV5Kind); + } + if (parsedMesh.hasUVs6) { + mesh._delayInfo.push(BABYLON.VertexBuffer.UV6Kind); + } + if (parsedMesh.hasColors) { + mesh._delayInfo.push(BABYLON.VertexBuffer.ColorKind); + } + if (parsedMesh.hasMatricesIndices) { + mesh._delayInfo.push(BABYLON.VertexBuffer.MatricesIndicesKind); + } + if (parsedMesh.hasMatricesWeights) { + mesh._delayInfo.push(BABYLON.VertexBuffer.MatricesWeightsKind); + } + mesh._delayLoadingFunction = BABYLON.Geometry.ImportGeometry; + if (BABYLON.SceneLoader.ForceFullSceneLoadingForIncremental) { + mesh._checkDelayState(); + } + } + else { + BABYLON.Geometry.ImportGeometry(parsedMesh, mesh); + } + // Material + if (parsedMesh.materialId) { + mesh.setMaterialByID(parsedMesh.materialId); + } + else { + mesh.material = null; + } + // Skeleton + if (parsedMesh.skeletonId > -1) { + mesh.skeleton = scene.getLastSkeletonByID(parsedMesh.skeletonId); + if (parsedMesh.numBoneInfluencers) { + mesh.numBoneInfluencers = parsedMesh.numBoneInfluencers; + } + } + // Animations + if (parsedMesh.animations) { + for (var animationIndex = 0; animationIndex < parsedMesh.animations.length; animationIndex++) { + var parsedAnimation = parsedMesh.animations[animationIndex]; + mesh.animations.push(BABYLON.Animation.Parse(parsedAnimation)); + } + BABYLON.Node.ParseAnimationRanges(mesh, parsedMesh, scene); + } + if (parsedMesh.autoAnimate) { + scene.beginAnimation(mesh, parsedMesh.autoAnimateFrom, parsedMesh.autoAnimateTo, parsedMesh.autoAnimateLoop, parsedMesh.autoAnimateSpeed || 1.0); + } + // Layer Mask + if (parsedMesh.layerMask && (!isNaN(parsedMesh.layerMask))) { + mesh.layerMask = Math.abs(parseInt(parsedMesh.layerMask)); + } + else { + mesh.layerMask = 0x0FFFFFFF; + } + //(Deprecated) physics + if (parsedMesh.physicsImpostor) { + mesh.physicsImpostor = new BABYLON.PhysicsImpostor(mesh, parsedMesh.physicsImpostor, { + mass: parsedMesh.physicsMass, + friction: parsedMesh.physicsFriction, + restitution: parsedMesh.physicsRestitution + }, scene); + } + // Instances + if (parsedMesh.instances) { + for (var index = 0; index < parsedMesh.instances.length; index++) { + var parsedInstance = parsedMesh.instances[index]; + var instance = mesh.createInstance(parsedInstance.name); + BABYLON.Tags.AddTagsTo(instance, parsedInstance.tags); + instance.position = BABYLON.Vector3.FromArray(parsedInstance.position); + if (parsedInstance.parentId) { + instance._waitingParentId = parsedInstance.parentId; + } + if (parsedInstance.rotationQuaternion) { + instance.rotationQuaternion = BABYLON.Quaternion.FromArray(parsedInstance.rotationQuaternion); + } + else if (parsedInstance.rotation) { + instance.rotation = BABYLON.Vector3.FromArray(parsedInstance.rotation); + } + instance.scaling = BABYLON.Vector3.FromArray(parsedInstance.scaling); + instance.checkCollisions = mesh.checkCollisions; + if (parsedMesh.animations) { + for (animationIndex = 0; animationIndex < parsedMesh.animations.length; animationIndex++) { + parsedAnimation = parsedMesh.animations[animationIndex]; + instance.animations.push(BABYLON.Animation.Parse(parsedAnimation)); + } + BABYLON.Node.ParseAnimationRanges(instance, parsedMesh, scene); + } + } + } + return mesh; + }; + /** + * Creates a ribbon mesh. + * Please consider using the same method from the MeshBuilder class instead. + * The ribbon is a parametric shape : http://doc.babylonjs.com/tutorials/Parametric_Shapes. It has no predefined shape. Its final shape will depend on the input parameters. + * + * Please read this full tutorial to understand how to design a ribbon : http://doc.babylonjs.com/tutorials/Ribbon_Tutorial + * The parameter `pathArray` is a required array of paths, what are each an array of successive Vector3. The pathArray parameter depicts the ribbon geometry. + * The parameter `closeArray` (boolean, default false) creates a seam between the first and the last paths of the path array. + * The parameter `closePath` (boolean, default false) creates a seam between the first and the last points of each path of the path array. + * The parameter `offset` (positive integer, default : rounded half size of the pathArray length), is taken in account only if the `pathArray` is containing a single path. + * It's the offset to join together the points from the same path. Ex : offset = 10 means the point 1 is joined to the point 11. + * The optional parameter `instance` is an instance of an existing Ribbon object to be updated with the passed `pathArray` parameter : http://doc.babylonjs.com/tutorials/How_to_dynamically_morph_a_mesh#ribbon + * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE + * Detail here : http://doc.babylonjs.com/tutorials/02._Discover_Basic_Elements#side-orientation + * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created. + */ + Mesh.CreateRibbon = function (name, pathArray, closeArray, closePath, offset, scene, updatable, sideOrientation, instance) { + return BABYLON.MeshBuilder.CreateRibbon(name, { + pathArray: pathArray, + closeArray: closeArray, + closePath: closePath, + offset: offset, + updatable: updatable, + sideOrientation: sideOrientation, + instance: instance + }, scene); + }; + /** + * Creates a plane polygonal mesh. By default, this is a disc. + * Please consider using the same method from the MeshBuilder class instead. + * The parameter `radius` sets the radius size (float) of the polygon (default 0.5). + * The parameter `tessellation` sets the number of polygon sides (positive integer, default 64). So a tessellation valued to 3 will build a triangle, to 4 a square, etc. + * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE + * Detail here : http://doc.babylonjs.com/tutorials/02._Discover_Basic_Elements#side-orientation + * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created. + */ + Mesh.CreateDisc = function (name, radius, tessellation, scene, updatable, sideOrientation) { + var options = { + radius: radius, + tessellation: tessellation, + sideOrientation: sideOrientation, + updatable: updatable + }; + return BABYLON.MeshBuilder.CreateDisc(name, options, scene); + }; + /** + * Creates a box mesh. + * Please consider using the same method from the MeshBuilder class instead. + * The parameter `size` sets the size (float) of each box side (default 1). + * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE + * Detail here : http://doc.babylonjs.com/tutorials/02._Discover_Basic_Elements#side-orientation + * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created. + */ + Mesh.CreateBox = function (name, size, scene, updatable, sideOrientation) { + var options = { + size: size, + sideOrientation: sideOrientation, + updatable: updatable + }; + return BABYLON.MeshBuilder.CreateBox(name, options, scene); + }; + /** + * Creates a sphere mesh. + * Please consider using the same method from the MeshBuilder class instead. + * The parameter `diameter` sets the diameter size (float) of the sphere (default 1). + * The parameter `segments` sets the sphere number of horizontal stripes (positive integer, default 32). + * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE + * Detail here : http://doc.babylonjs.com/tutorials/02._Discover_Basic_Elements#side-orientation + * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created. + */ + Mesh.CreateSphere = function (name, segments, diameter, scene, updatable, sideOrientation) { + var options = { + segments: segments, + diameterX: diameter, + diameterY: diameter, + diameterZ: diameter, + sideOrientation: sideOrientation, + updatable: updatable + }; + return BABYLON.MeshBuilder.CreateSphere(name, options, scene); + }; + /** + * Creates a cylinder or a cone mesh. + * Please consider using the same method from the MeshBuilder class instead. + * The parameter `height` sets the height size (float) of the cylinder/cone (float, default 2). + * The parameter `diameter` sets the diameter of the top and bottom cap at once (float, default 1). + * The parameters `diameterTop` and `diameterBottom` overwrite the parameter `diameter` and set respectively the top cap and bottom cap diameter (floats, default 1). The parameter "diameterBottom" can't be zero. + * The parameter `tessellation` sets the number of cylinder sides (positive integer, default 24). Set it to 3 to get a prism for instance. + * The parameter `subdivisions` sets the number of rings along the cylinder height (positive integer, default 1). + * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE + * Detail here : http://doc.babylonjs.com/tutorials/02._Discover_Basic_Elements#side-orientation + * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created. + */ + Mesh.CreateCylinder = function (name, height, diameterTop, diameterBottom, tessellation, subdivisions, scene, updatable, sideOrientation) { + if (scene === undefined || !(scene instanceof BABYLON.Scene)) { + if (scene !== undefined) { + sideOrientation = updatable || Mesh.DEFAULTSIDE; + updatable = scene; + } + scene = subdivisions; + subdivisions = 1; + } + var options = { + height: height, + diameterTop: diameterTop, + diameterBottom: diameterBottom, + tessellation: tessellation, + subdivisions: subdivisions, + sideOrientation: sideOrientation, + updatable: updatable + }; + return BABYLON.MeshBuilder.CreateCylinder(name, options, scene); + }; + // Torus (Code from SharpDX.org) + /** + * Creates a torus mesh. + * Please consider using the same method from the MeshBuilder class instead. + * The parameter `diameter` sets the diameter size (float) of the torus (default 1). + * The parameter `thickness` sets the diameter size of the tube of the torus (float, default 0.5). + * The parameter `tessellation` sets the number of torus sides (postive integer, default 16). + * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE + * Detail here : http://doc.babylonjs.com/tutorials/02._Discover_Basic_Elements#side-orientation + * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created. + */ + Mesh.CreateTorus = function (name, diameter, thickness, tessellation, scene, updatable, sideOrientation) { + var options = { + diameter: diameter, + thickness: thickness, + tessellation: tessellation, + sideOrientation: sideOrientation, + updatable: updatable + }; + return BABYLON.MeshBuilder.CreateTorus(name, options, scene); + }; + /** + * Creates a torus knot mesh. + * Please consider using the same method from the MeshBuilder class instead. + * The parameter `radius` sets the global radius size (float) of the torus knot (default 2). + * The parameter `radialSegments` sets the number of sides on each tube segments (positive integer, default 32). + * The parameter `tubularSegments` sets the number of tubes to decompose the knot into (positive integer, default 32). + * The parameters `p` and `q` are the number of windings on each axis (positive integers, default 2 and 3). + * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE + * Detail here : http://doc.babylonjs.com/tutorials/02._Discover_Basic_Elements#side-orientation + * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created. + */ + Mesh.CreateTorusKnot = function (name, radius, tube, radialSegments, tubularSegments, p, q, scene, updatable, sideOrientation) { + var options = { + radius: radius, + tube: tube, + radialSegments: radialSegments, + tubularSegments: tubularSegments, + p: p, + q: q, + sideOrientation: sideOrientation, + updatable: updatable + }; + return BABYLON.MeshBuilder.CreateTorusKnot(name, options, scene); + }; + /** + * Creates a line mesh. + * Please consider using the same method from the MeshBuilder class instead. + * A line mesh is considered as a parametric shape since it has no predefined original shape. Its shape is determined by the passed array of points as an input parameter. + * Like every other parametric shape, it is dynamically updatable by passing an existing instance of LineMesh to this static function. + * The parameter `points` is an array successive Vector3. + * The optional parameter `instance` is an instance of an existing LineMesh object to be updated with the passed `points` parameter : http://doc.babylonjs.com/tutorials/How_to_dynamically_morph_a_mesh#lines-and-dashedlines + * When updating an instance, remember that only point positions can change, not the number of points. + * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created. + */ + Mesh.CreateLines = function (name, points, scene, updatable, instance) { + var options = { + points: points, + updatable: updatable, + instance: instance + }; + return BABYLON.MeshBuilder.CreateLines(name, options, scene); + }; + /** + * Creates a dashed line mesh. + * Please consider using the same method from the MeshBuilder class instead. + * A dashed line mesh is considered as a parametric shape since it has no predefined original shape. Its shape is determined by the passed array of points as an input parameter. + * Like every other parametric shape, it is dynamically updatable by passing an existing instance of LineMesh to this static function. + * The parameter `points` is an array successive Vector3. + * The parameter `dashNb` is the intended total number of dashes (positive integer, default 200). + * The parameter `dashSize` is the size of the dashes relatively the dash number (positive float, default 3). + * The parameter `gapSize` is the size of the gap between two successive dashes relatively the dash number (positive float, default 1). + * The optional parameter `instance` is an instance of an existing LineMesh object to be updated with the passed `points` parameter : http://doc.babylonjs.com/tutorials/How_to_dynamically_morph_a_mesh#lines-and-dashedlines + * When updating an instance, remember that only point positions can change, not the number of points. + * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created. + */ + Mesh.CreateDashedLines = function (name, points, dashSize, gapSize, dashNb, scene, updatable, instance) { + var options = { + points: points, + dashSize: dashSize, + gapSize: gapSize, + dashNb: dashNb, + updatable: updatable, + instance: instance + }; + return BABYLON.MeshBuilder.CreateDashedLines(name, options, scene); + }; + /** + * Creates an extruded shape mesh. + * The extrusion is a parametric shape : http://doc.babylonjs.com/tutorials/Parametric_Shapes. It has no predefined shape. Its final shape will depend on the input parameters. + * Please consider using the same method from the MeshBuilder class instead. + * + * Please read this full tutorial to understand how to design an extruded shape : http://doc.babylonjs.com/tutorials/Parametric_Shapes#extrusion + * The parameter `shape` is a required array of successive Vector3. This array depicts the shape to be extruded in its local space : the shape must be designed in the xOy plane and will be + * extruded along the Z axis. + * The parameter `path` is a required array of successive Vector3. This is the axis curve the shape is extruded along. + * The parameter `rotation` (float, default 0 radians) is the angle value to rotate the shape each step (each path point), from the former step (so rotation added each step) along the curve. + * The parameter `scale` (float, default 1) is the value to scale the shape. + * The parameter `cap` sets the way the extruded shape is capped. Possible values : BABYLON.Mesh.NO_CAP (default), BABYLON.Mesh.CAP_START, BABYLON.Mesh.CAP_END, BABYLON.Mesh.CAP_ALL + * The optional parameter `instance` is an instance of an existing ExtrudedShape object to be updated with the passed `shape`, `path`, `scale` or `rotation` parameters : http://doc.babylonjs.com/tutorials/How_to_dynamically_morph_a_mesh#extruded-shape + * Remember you can only change the shape or path point positions, not their number when updating an extruded shape. + * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE + * Detail here : http://doc.babylonjs.com/tutorials/02._Discover_Basic_Elements#side-orientation + * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created. + */ + Mesh.ExtrudeShape = function (name, shape, path, scale, rotation, cap, scene, updatable, sideOrientation, instance) { + var options = { + shape: shape, + path: path, + scale: scale, + rotation: rotation, + cap: (cap === 0) ? 0 : cap || Mesh.NO_CAP, + sideOrientation: sideOrientation, + instance: instance, + updatable: updatable + }; + return BABYLON.MeshBuilder.ExtrudeShape(name, options, scene); + }; + /** + * Creates an custom extruded shape mesh. + * The custom extrusion is a parametric shape : http://doc.babylonjs.com/tutorials/Parametric_Shapes. It has no predefined shape. Its final shape will depend on the input parameters. + * Please consider using the same method from the MeshBuilder class instead. + * + * Please read this full tutorial to understand how to design a custom extruded shape : http://doc.babylonjs.com/tutorials/Parametric_Shapes#extrusion + * The parameter `shape` is a required array of successive Vector3. This array depicts the shape to be extruded in its local space : the shape must be designed in the xOy plane and will be + * extruded along the Z axis. + * The parameter `path` is a required array of successive Vector3. This is the axis curve the shape is extruded along. + * The parameter `rotationFunction` (JS function) is a custom Javascript function called on each path point. This function is passed the position i of the point in the path + * and the distance of this point from the begining of the path : + * ```javascript + * var rotationFunction = function(i, distance) { + * // do things + * return rotationValue; } + * ``` + * It must returns a float value that will be the rotation in radians applied to the shape on each path point. + * The parameter `scaleFunction` (JS function) is a custom Javascript function called on each path point. This function is passed the position i of the point in the path + * and the distance of this point from the begining of the path : + * ```javascript + * var scaleFunction = function(i, distance) { + * // do things + * return scaleValue;} + * ``` + * It must returns a float value that will be the scale value applied to the shape on each path point. + * The parameter `ribbonClosePath` (boolean, default false) forces the extrusion underlying ribbon to close all the paths in its `pathArray`. + * The parameter `ribbonCloseArray` (boolean, default false) forces the extrusion underlying ribbon to close its `pathArray`. + * The parameter `cap` sets the way the extruded shape is capped. Possible values : BABYLON.Mesh.NO_CAP (default), BABYLON.Mesh.CAP_START, BABYLON.Mesh.CAP_END, BABYLON.Mesh.CAP_ALL + * The optional parameter `instance` is an instance of an existing ExtrudedShape object to be updated with the passed `shape`, `path`, `scale` or `rotation` parameters : http://doc.babylonjs.com/tutorials/How_to_dynamically_morph_a_mesh#extruded-shape + * Remember you can only change the shape or path point positions, not their number when updating an extruded shape. + * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE + * Detail here : http://doc.babylonjs.com/tutorials/02._Discover_Basic_Elements#side-orientation + * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created. + */ + Mesh.ExtrudeShapeCustom = function (name, shape, path, scaleFunction, rotationFunction, ribbonCloseArray, ribbonClosePath, cap, scene, updatable, sideOrientation, instance) { + var options = { + shape: shape, + path: path, + scaleFunction: scaleFunction, + rotationFunction: rotationFunction, + ribbonCloseArray: ribbonCloseArray, + ribbonClosePath: ribbonClosePath, + cap: (cap === 0) ? 0 : cap || Mesh.NO_CAP, + sideOrientation: sideOrientation, + instance: instance, + updatable: updatable + }; + return BABYLON.MeshBuilder.ExtrudeShapeCustom(name, options, scene); + }; + /** + * Creates lathe mesh. + * The lathe is a shape with a symetry axis : a 2D model shape is rotated around this axis to design the lathe. + * Please consider using the same method from the MeshBuilder class instead. + * The parameter `shape` is a required array of successive Vector3. This array depicts the shape to be rotated in its local space : the shape must be designed in the xOy plane and will be + * rotated around the Y axis. It's usually a 2D shape, so the Vector3 z coordinates are often set to zero. + * The parameter `radius` (positive float, default 1) is the radius value of the lathe. + * The parameter `tessellation` (positive integer, default 64) is the side number of the lathe. + * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE + * Detail here : http://doc.babylonjs.com/tutorials/02._Discover_Basic_Elements#side-orientation + * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created. + */ + Mesh.CreateLathe = function (name, shape, radius, tessellation, scene, updatable, sideOrientation) { + var options = { + shape: shape, + radius: radius, + tessellation: tessellation, + sideOrientation: sideOrientation, + updatable: updatable + }; + return BABYLON.MeshBuilder.CreateLathe(name, options, scene); + }; + /** + * Creates a plane mesh. + * Please consider using the same method from the MeshBuilder class instead. + * The parameter `size` sets the size (float) of both sides of the plane at once (default 1). + * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE + * Detail here : http://doc.babylonjs.com/tutorials/02._Discover_Basic_Elements#side-orientation + * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created. + */ + Mesh.CreatePlane = function (name, size, scene, updatable, sideOrientation) { + var options = { + size: size, + width: size, + height: size, + sideOrientation: sideOrientation, + updatable: updatable + }; + return BABYLON.MeshBuilder.CreatePlane(name, options, scene); + }; + /** + * Creates a ground mesh. + * Please consider using the same method from the MeshBuilder class instead. + * The parameters `width` and `height` (floats, default 1) set the width and height sizes of the ground. + * The parameter `subdivisions` (positive integer) sets the number of subdivisions per side. + * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created. + */ + Mesh.CreateGround = function (name, width, height, subdivisions, scene, updatable) { + var options = { + width: width, + height: height, + subdivisions: subdivisions, + updatable: updatable + }; + return BABYLON.MeshBuilder.CreateGround(name, options, scene); + }; + /** + * Creates a tiled ground mesh. + * Please consider using the same method from the MeshBuilder class instead. + * The parameters `xmin` and `xmax` (floats, default -1 and 1) set the ground minimum and maximum X coordinates. + * The parameters `zmin` and `zmax` (floats, default -1 and 1) set the ground minimum and maximum Z coordinates. + * The parameter `subdivisions` is a javascript object `{w: positive integer, h: positive integer}` (default `{w: 6, h: 6}`). `w` and `h` are the + * numbers of subdivisions on the ground width and height. Each subdivision is called a tile. + * The parameter `precision` is a javascript object `{w: positive integer, h: positive integer}` (default `{w: 2, h: 2}`). `w` and `h` are the + * numbers of subdivisions on the ground width and height of each tile. + * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created. + */ + Mesh.CreateTiledGround = function (name, xmin, zmin, xmax, zmax, subdivisions, precision, scene, updatable) { + var options = { + xmin: xmin, + zmin: zmin, + xmax: xmax, + zmax: zmax, + subdivisions: subdivisions, + precision: precision, + updatable: updatable + }; + return BABYLON.MeshBuilder.CreateTiledGround(name, options, scene); + }; + /** + * Creates a ground mesh from a height map. + * tuto : http://doc.babylonjs.com/tutorials/14._Height_Map + * Please consider using the same method from the MeshBuilder class instead. + * The parameter `url` sets the URL of the height map image resource. + * The parameters `width` and `height` (positive floats, default 10) set the ground width and height sizes. + * The parameter `subdivisions` (positive integer, default 1) sets the number of subdivision per side. + * The parameter `minHeight` (float, default 0) is the minimum altitude on the ground. + * The parameter `maxHeight` (float, default 1) is the maximum altitude on the ground. + * The parameter `onReady` is a javascript callback function that will be called once the mesh is just built (the height map download can last some time). + * This function is passed the newly built mesh : + * ```javascript + * function(mesh) { // do things + * return; } + * ``` + * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created. + */ + Mesh.CreateGroundFromHeightMap = function (name, url, width, height, subdivisions, minHeight, maxHeight, scene, updatable, onReady) { + var options = { + width: width, + height: height, + subdivisions: subdivisions, + minHeight: minHeight, + maxHeight: maxHeight, + updatable: updatable, + onReady: onReady + }; + return BABYLON.MeshBuilder.CreateGroundFromHeightMap(name, url, options, scene); + }; + /** + * Creates a tube mesh. + * The tube is a parametric shape : http://doc.babylonjs.com/tutorials/Parametric_Shapes. It has no predefined shape. Its final shape will depend on the input parameters. + * Please consider using the same method from the MeshBuilder class instead. + * The parameter `path` is a required array of successive Vector3. It is the curve used as the axis of the tube. + * The parameter `radius` (positive float, default 1) sets the tube radius size. + * The parameter `tessellation` (positive float, default 64) is the number of sides on the tubular surface. + * The parameter `radiusFunction` (javascript function, default null) is a vanilla javascript function. If it is not null, it overwrittes the parameter `radius`. + * This function is called on each point of the tube path and is passed the index `i` of the i-th point and the distance of this point from the first point of the path. + * It must return a radius value (positive float) : + * ```javascript + * var radiusFunction = function(i, distance) { + * // do things + * return radius; } + * ``` + * The parameter `cap` sets the way the extruded shape is capped. Possible values : BABYLON.Mesh.NO_CAP (default), BABYLON.Mesh.CAP_START, BABYLON.Mesh.CAP_END, BABYLON.Mesh.CAP_ALL + * The optional parameter `instance` is an instance of an existing Tube object to be updated with the passed `pathArray` parameter : http://doc.babylonjs.com/tutorials/How_to_dynamically_morph_a_mesh#tube + * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE + * Detail here : http://doc.babylonjs.com/tutorials/02._Discover_Basic_Elements#side-orientation + * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created. + */ + Mesh.CreateTube = function (name, path, radius, tessellation, radiusFunction, cap, scene, updatable, sideOrientation, instance) { + var options = { + path: path, + radius: radius, + tessellation: tessellation, + radiusFunction: radiusFunction, + arc: 1, + cap: cap, + updatable: updatable, + sideOrientation: sideOrientation, + instance: instance + }; + return BABYLON.MeshBuilder.CreateTube(name, options, scene); + }; + /** + * Creates a polyhedron mesh. + * Please consider using the same method from the MeshBuilder class instead. + * The parameter `type` (positive integer, max 14, default 0) sets the polyhedron type to build among the 15 embbeded types. Please refer to the type sheet in the tutorial + * to choose the wanted type. + * The parameter `size` (positive float, default 1) sets the polygon size. + * You can overwrite the `size` on each dimension bu using the parameters `sizeX`, `sizeY` or `sizeZ` (positive floats, default to `size` value). + * You can build other polyhedron types than the 15 embbeded ones by setting the parameter `custom` (`polyhedronObject`, default null). If you set the parameter `custom`, this overwrittes the parameter `type`. + * A `polyhedronObject` is a formatted javascript object. You'll find a full file with pre-set polyhedra here : https://github.com/BabylonJS/Extensions/tree/master/Polyhedron + * You can set the color and the UV of each side of the polyhedron with the parameters `faceColors` (Color4, default `(1, 1, 1, 1)`) and faceUV (Vector4, default `(0, 0, 1, 1)`). + * To understand how to set `faceUV` or `faceColors`, please read this by considering the right number of faces of your polyhedron, instead of only 6 for the box : http://doc.babylonjs.com/tutorials/CreateBox_Per_Face_Textures_And_Colors + * The parameter `flat` (boolean, default true). If set to false, it gives the polyhedron a single global face, so less vertices and shared normals. In this case, `faceColors` and `faceUV` are ignored. + * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE + * Detail here : http://doc.babylonjs.com/tutorials/02._Discover_Basic_Elements#side-orientation + * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created. + */ + Mesh.CreatePolyhedron = function (name, options, scene) { + return BABYLON.MeshBuilder.CreatePolyhedron(name, options, scene); + }; + /** + * Creates a sphere based upon an icosahedron with 20 triangular faces which can be subdivided. + * Please consider using the same method from the MeshBuilder class instead. + * The parameter `radius` sets the radius size (float) of the icosphere (default 1). + * You can set some different icosphere dimensions, for instance to build an ellipsoid, by using the parameters `radiusX`, `radiusY` and `radiusZ` (all by default have the same value than `radius`). + * The parameter `subdivisions` sets the number of subdivisions (postive integer, default 4). The more subdivisions, the more faces on the icosphere whatever its size. + * The parameter `flat` (boolean, default true) gives each side its own normals. Set it to false to get a smooth continuous light reflection on the surface. + * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE + * Detail here : http://doc.babylonjs.com/tutorials/02._Discover_Basic_Elements#side-orientation + * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created. + */ + Mesh.CreateIcoSphere = function (name, options, scene) { + return BABYLON.MeshBuilder.CreateIcoSphere(name, options, scene); + }; + /** + * Creates a decal mesh. + * Please consider using the same method from the MeshBuilder class instead. + * A decal is a mesh usually applied as a model onto the surface of another mesh. So don't forget the parameter `sourceMesh` depicting the decal. + * The parameter `position` (Vector3, default `(0, 0, 0)`) sets the position of the decal in World coordinates. + * The parameter `normal` (Vector3, default Vector3.Up) sets the normal of the mesh where the decal is applied onto in World coordinates. + * The parameter `size` (Vector3, default `(1, 1, 1)`) sets the decal scaling. + * The parameter `angle` (float in radian, default 0) sets the angle to rotate the decal. + */ + Mesh.CreateDecal = function (name, sourceMesh, position, normal, size, angle) { + var options = { + position: position, + normal: normal, + size: size, + angle: angle + }; + return BABYLON.MeshBuilder.CreateDecal(name, sourceMesh, options); + }; + // Skeletons + /** + * @returns original positions used for CPU skinning. Useful for integrating Morphing with skeletons in same mesh. + */ + Mesh.prototype.setPositionsForCPUSkinning = function () { + var source; + if (!this._sourcePositions) { + source = this.getVerticesData(BABYLON.VertexBuffer.PositionKind); + this._sourcePositions = new Float32Array(source); + if (!this.getVertexBuffer(BABYLON.VertexBuffer.PositionKind).isUpdatable()) { + this.setVerticesData(BABYLON.VertexBuffer.PositionKind, source, true); + } + } + return this._sourcePositions; + }; + /** + * @returns original normals used for CPU skinning. Useful for integrating Morphing with skeletons in same mesh. + */ + Mesh.prototype.setNormalsForCPUSkinning = function () { + var source; + if (!this._sourceNormals) { + source = this.getVerticesData(BABYLON.VertexBuffer.NormalKind); + this._sourceNormals = new Float32Array(source); + if (!this.getVertexBuffer(BABYLON.VertexBuffer.NormalKind).isUpdatable()) { + this.setVerticesData(BABYLON.VertexBuffer.NormalKind, source, true); + } + } + return this._sourceNormals; + }; + /** + * Update the vertex buffers by applying transformation from the bones + * @param {skeleton} skeleton to apply + */ + Mesh.prototype.applySkeleton = function (skeleton) { + if (!this.geometry) { + return; + } + if (this.geometry._softwareSkinningRenderId == this.getScene().getRenderId()) { + return; + } + this.geometry._softwareSkinningRenderId = this.getScene().getRenderId(); + if (!this.isVerticesDataPresent(BABYLON.VertexBuffer.PositionKind)) { + return this; + } + if (!this.isVerticesDataPresent(BABYLON.VertexBuffer.NormalKind)) { + return this; + } + if (!this.isVerticesDataPresent(BABYLON.VertexBuffer.MatricesIndicesKind)) { + return this; + } + if (!this.isVerticesDataPresent(BABYLON.VertexBuffer.MatricesWeightsKind)) { + return this; + } + if (!this._sourcePositions) { + var submeshes = this.subMeshes.slice(); + this.setPositionsForCPUSkinning(); + this.subMeshes = submeshes; + } + if (!this._sourceNormals) { + this.setNormalsForCPUSkinning(); + } + // positionsData checks for not being Float32Array will only pass at most once + var positionsData = this.getVerticesData(BABYLON.VertexBuffer.PositionKind); + if (!(positionsData instanceof Float32Array)) { + positionsData = new Float32Array(positionsData); + } + // normalsData checks for not being Float32Array will only pass at most once + var normalsData = this.getVerticesData(BABYLON.VertexBuffer.NormalKind); + if (!(normalsData instanceof Float32Array)) { + normalsData = new Float32Array(normalsData); + } + var matricesIndicesData = this.getVerticesData(BABYLON.VertexBuffer.MatricesIndicesKind); + var matricesWeightsData = this.getVerticesData(BABYLON.VertexBuffer.MatricesWeightsKind); + var needExtras = this.numBoneInfluencers > 4; + var matricesIndicesExtraData = needExtras ? this.getVerticesData(BABYLON.VertexBuffer.MatricesIndicesExtraKind) : null; + var matricesWeightsExtraData = needExtras ? this.getVerticesData(BABYLON.VertexBuffer.MatricesWeightsExtraKind) : null; + var skeletonMatrices = skeleton.getTransformMatrices(this); + var tempVector3 = BABYLON.Vector3.Zero(); + var finalMatrix = new BABYLON.Matrix(); + var tempMatrix = new BABYLON.Matrix(); + var matWeightIdx = 0; + var inf; + for (var index = 0; index < positionsData.length; index += 3, matWeightIdx += 4) { + var weight; + for (inf = 0; inf < 4; inf++) { + weight = matricesWeightsData[matWeightIdx + inf]; + if (weight > 0) { + BABYLON.Matrix.FromFloat32ArrayToRefScaled(skeletonMatrices, matricesIndicesData[matWeightIdx + inf] * 16, weight, tempMatrix); + finalMatrix.addToSelf(tempMatrix); + } + else + break; + } + if (needExtras) { + for (inf = 0; inf < 4; inf++) { + weight = matricesWeightsExtraData[matWeightIdx + inf]; + if (weight > 0) { + BABYLON.Matrix.FromFloat32ArrayToRefScaled(skeletonMatrices, matricesIndicesExtraData[matWeightIdx + inf] * 16, weight, tempMatrix); + finalMatrix.addToSelf(tempMatrix); + } + else + break; + } + } + BABYLON.Vector3.TransformCoordinatesFromFloatsToRef(this._sourcePositions[index], this._sourcePositions[index + 1], this._sourcePositions[index + 2], finalMatrix, tempVector3); + tempVector3.toArray(positionsData, index); + BABYLON.Vector3.TransformNormalFromFloatsToRef(this._sourceNormals[index], this._sourceNormals[index + 1], this._sourceNormals[index + 2], finalMatrix, tempVector3); + tempVector3.toArray(normalsData, index); + finalMatrix.reset(); + } + this.updateVerticesData(BABYLON.VertexBuffer.PositionKind, positionsData); + this.updateVerticesData(BABYLON.VertexBuffer.NormalKind, normalsData); + return this; + }; + // Tools + /** + * Returns an object `{min:` Vector3`, max:` Vector3`}` + * This min and max Vector3 are the minimum and maximum vectors of each mesh bounding box from the passed array, in the World system + */ + Mesh.MinMax = function (meshes) { + var minVector = null; + var maxVector = null; + meshes.forEach(function (mesh, index, array) { + var boundingBox = mesh.getBoundingInfo().boundingBox; + if (!minVector) { + minVector = boundingBox.minimumWorld; + maxVector = boundingBox.maximumWorld; + } + else { + minVector.MinimizeInPlace(boundingBox.minimumWorld); + maxVector.MaximizeInPlace(boundingBox.maximumWorld); + } + }); + return { + min: minVector, + max: maxVector + }; + }; + /** + * Returns a Vector3, the center of the `{min:` Vector3`, max:` Vector3`}` or the center of MinMax vector3 computed from a mesh array. + */ + Mesh.Center = function (meshesOrMinMaxVector) { + var minMaxVector = (meshesOrMinMaxVector instanceof Array) ? BABYLON.Mesh.MinMax(meshesOrMinMaxVector) : meshesOrMinMaxVector; + return BABYLON.Vector3.Center(minMaxVector.min, minMaxVector.max); + }; + /** + * Merge the array of meshes into a single mesh for performance reasons. + * @param {Array} meshes - The vertices source. They should all be of the same material. Entries can empty + * @param {boolean} disposeSource - When true (default), dispose of the vertices from the source meshes + * @param {boolean} allow32BitsIndices - When the sum of the vertices > 64k, this must be set to true. + * @param {Mesh} meshSubclass - When set, vertices inserted into this Mesh. Meshes can then be merged into a Mesh sub-class. + */ + Mesh.MergeMeshes = function (meshes, disposeSource, allow32BitsIndices, meshSubclass) { + if (disposeSource === void 0) { disposeSource = true; } + var index; + if (!allow32BitsIndices) { + var totalVertices = 0; + // Counting vertices + for (index = 0; index < meshes.length; index++) { + if (meshes[index]) { + totalVertices += meshes[index].getTotalVertices(); + if (totalVertices > 65536) { + BABYLON.Tools.Warn("Cannot merge meshes because resulting mesh will have more than 65536 vertices. Please use allow32BitsIndices = true to use 32 bits indices"); + return null; + } + } + } + } + // Merge + var vertexData; + var otherVertexData; + var source; + for (index = 0; index < meshes.length; index++) { + if (meshes[index]) { + meshes[index].computeWorldMatrix(true); + otherVertexData = BABYLON.VertexData.ExtractFromMesh(meshes[index], true); + otherVertexData.transform(meshes[index].getWorldMatrix()); + if (vertexData) { + vertexData.merge(otherVertexData); + } + else { + vertexData = otherVertexData; + source = meshes[index]; + } + } + } + if (!meshSubclass) { + meshSubclass = new Mesh(source.name + "_merged", source.getScene()); + } + vertexData.applyToMesh(meshSubclass); + // Setting properties + meshSubclass.material = source.material; + meshSubclass.checkCollisions = source.checkCollisions; + // Cleaning + if (disposeSource) { + for (index = 0; index < meshes.length; index++) { + if (meshes[index]) { + meshes[index].dispose(); + } + } + } + return meshSubclass; + }; + // Consts + Mesh._FRONTSIDE = 0; + Mesh._BACKSIDE = 1; + Mesh._DOUBLESIDE = 2; + Mesh._DEFAULTSIDE = 0; + Mesh._NO_CAP = 0; + Mesh._CAP_START = 1; + Mesh._CAP_END = 2; + Mesh._CAP_ALL = 3; + return Mesh; + }(BABYLON.AbstractMesh)); + BABYLON.Mesh = Mesh; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.mesh.js.map + +var BABYLON; +(function (BABYLON) { + var SubMesh = (function () { + function SubMesh(materialIndex, verticesStart, verticesCount, indexStart, indexCount, mesh, renderingMesh, createBoundingBox) { + if (createBoundingBox === void 0) { createBoundingBox = true; } + this.materialIndex = materialIndex; + this.verticesStart = verticesStart; + this.verticesCount = verticesCount; + this.indexStart = indexStart; + this.indexCount = indexCount; + this._renderId = 0; + this._mesh = mesh; + this._renderingMesh = renderingMesh || mesh; + mesh.subMeshes.push(this); + this._trianglePlanes = []; + this._id = mesh.subMeshes.length - 1; + if (createBoundingBox) { + this.refreshBoundingInfo(); + mesh.computeWorldMatrix(true); + } + } + Object.defineProperty(SubMesh.prototype, "IsGlobal", { + get: function () { + return (this.verticesStart === 0 && this.verticesCount == this._mesh.getTotalVertices()); + }, + enumerable: true, + configurable: true + }); + SubMesh.prototype.getBoundingInfo = function () { + if (this.IsGlobal) { + return this._mesh.getBoundingInfo(); + } + return this._boundingInfo; + }; + SubMesh.prototype.getMesh = function () { + return this._mesh; + }; + SubMesh.prototype.getRenderingMesh = function () { + return this._renderingMesh; + }; + SubMesh.prototype.getMaterial = function () { + var rootMaterial = this._renderingMesh.material; + if (rootMaterial && rootMaterial instanceof BABYLON.MultiMaterial) { + var multiMaterial = rootMaterial; + return multiMaterial.getSubMaterial(this.materialIndex); + } + if (!rootMaterial) { + return this._mesh.getScene().defaultMaterial; + } + return rootMaterial; + }; + // Methods + SubMesh.prototype.refreshBoundingInfo = function () { + this._lastColliderWorldVertices = null; + if (this.IsGlobal) { + return; + } + var data = this._renderingMesh.getVerticesData(BABYLON.VertexBuffer.PositionKind); + if (!data) { + this._boundingInfo = this._mesh._boundingInfo; + return; + } + var indices = this._renderingMesh.getIndices(); + var extend; + //is this the only submesh? + if (this.indexStart === 0 && this.indexCount === indices.length) { + //the rendering mesh's bounding info can be used, it is the standard submesh for all indices. + extend = { minimum: this._renderingMesh.getBoundingInfo().minimum.clone(), maximum: this._renderingMesh.getBoundingInfo().maximum.clone() }; + } + else { + extend = BABYLON.Tools.ExtractMinAndMaxIndexed(data, indices, this.indexStart, this.indexCount, this._renderingMesh.geometry.boundingBias); + } + this._boundingInfo = new BABYLON.BoundingInfo(extend.minimum, extend.maximum); + }; + SubMesh.prototype._checkCollision = function (collider) { + return this.getBoundingInfo()._checkCollision(collider); + }; + SubMesh.prototype.updateBoundingInfo = function (world) { + if (!this.getBoundingInfo()) { + this.refreshBoundingInfo(); + } + this.getBoundingInfo().update(world); + }; + SubMesh.prototype.isInFrustum = function (frustumPlanes) { + return this.getBoundingInfo().isInFrustum(frustumPlanes); + }; + SubMesh.prototype.isCompletelyInFrustum = function (frustumPlanes) { + return this.getBoundingInfo().isCompletelyInFrustum(frustumPlanes); + }; + SubMesh.prototype.render = function (enableAlphaMode) { + this._renderingMesh.render(this, enableAlphaMode); + }; + SubMesh.prototype.getLinesIndexBuffer = function (indices, engine) { + if (!this._linesIndexBuffer) { + var linesIndices = []; + for (var index = this.indexStart; index < this.indexStart + this.indexCount; index += 3) { + linesIndices.push(indices[index], indices[index + 1], indices[index + 1], indices[index + 2], indices[index + 2], indices[index]); + } + this._linesIndexBuffer = engine.createIndexBuffer(linesIndices); + this.linesIndexCount = linesIndices.length; + } + return this._linesIndexBuffer; + }; + SubMesh.prototype.canIntersects = function (ray) { + return ray.intersectsBox(this.getBoundingInfo().boundingBox); + }; + SubMesh.prototype.intersects = function (ray, positions, indices, fastCheck) { + var intersectInfo = null; + // LineMesh first as it's also a Mesh... + if (this._mesh instanceof BABYLON.LinesMesh) { + var lineMesh = this._mesh; + // Line test + for (var index = this.indexStart; index < this.indexStart + this.indexCount; index += 2) { + var p0 = positions[indices[index]]; + var p1 = positions[indices[index + 1]]; + var length = ray.intersectionSegment(p0, p1, lineMesh.intersectionThreshold); + if (length < 0) { + continue; + } + if (fastCheck || !intersectInfo || length < intersectInfo.distance) { + intersectInfo = new BABYLON.IntersectionInfo(null, null, length); + if (fastCheck) { + break; + } + } + } + } + else { + // Triangles test + for (var index = this.indexStart; index < this.indexStart + this.indexCount; index += 3) { + var p0 = positions[indices[index]]; + var p1 = positions[indices[index + 1]]; + var p2 = positions[indices[index + 2]]; + var currentIntersectInfo = ray.intersectsTriangle(p0, p1, p2); + if (currentIntersectInfo) { + if (currentIntersectInfo.distance < 0) { + continue; + } + if (fastCheck || !intersectInfo || currentIntersectInfo.distance < intersectInfo.distance) { + intersectInfo = currentIntersectInfo; + intersectInfo.faceId = index / 3; + if (fastCheck) { + break; + } + } + } + } + } + return intersectInfo; + }; + // Clone + SubMesh.prototype.clone = function (newMesh, newRenderingMesh) { + var result = new SubMesh(this.materialIndex, this.verticesStart, this.verticesCount, this.indexStart, this.indexCount, newMesh, newRenderingMesh, false); + if (!this.IsGlobal) { + result._boundingInfo = new BABYLON.BoundingInfo(this.getBoundingInfo().minimum, this.getBoundingInfo().maximum); + } + return result; + }; + // Dispose + SubMesh.prototype.dispose = function () { + if (this._linesIndexBuffer) { + this._mesh.getScene().getEngine()._releaseBuffer(this._linesIndexBuffer); + this._linesIndexBuffer = null; + } + // Remove from mesh + var index = this._mesh.subMeshes.indexOf(this); + this._mesh.subMeshes.splice(index, 1); + }; + // Statics + SubMesh.CreateFromIndices = function (materialIndex, startIndex, indexCount, mesh, renderingMesh) { + var minVertexIndex = Number.MAX_VALUE; + var maxVertexIndex = -Number.MAX_VALUE; + renderingMesh = renderingMesh || mesh; + var indices = renderingMesh.getIndices(); + for (var index = startIndex; index < startIndex + indexCount; index++) { + var vertexIndex = indices[index]; + if (vertexIndex < minVertexIndex) + minVertexIndex = vertexIndex; + if (vertexIndex > maxVertexIndex) + maxVertexIndex = vertexIndex; + } + return new SubMesh(materialIndex, minVertexIndex, maxVertexIndex - minVertexIndex + 1, startIndex, indexCount, mesh, renderingMesh); + }; + return SubMesh; + }()); + BABYLON.SubMesh = SubMesh; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.subMesh.js.map + +var BABYLON; +(function (BABYLON) { + var MeshBuilder = (function () { + function MeshBuilder() { + } + MeshBuilder.updateSideOrientation = function (orientation, scene) { + if (orientation == BABYLON.Mesh.DOUBLESIDE) { + return BABYLON.Mesh.DOUBLESIDE; + } + if (orientation === undefined || orientation === null) { + return BABYLON.Mesh.FRONTSIDE; + } + return orientation; + }; + /** + * Creates a box mesh. + * tuto : http://doc.babylonjs.com/tutorials/Mesh_CreateXXX_Methods_With_Options_Parameter#box + * The parameter `size` sets the size (float) of each box side (default 1). + * You can set some different box dimensions by using the parameters `width`, `height` and `depth` (all by default have the same value than `size`). + * You can set different colors and different images to each box side by using the parameters `faceColors` (an array of 6 Color3 elements) and `faceUV` (an array of 6 Vector4 elements). + * Please read this tutorial : http://doc.babylonjs.com/tutorials/CreateBox_Per_Face_Textures_And_Colors + * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE + * Detail here : http://doc.babylonjs.com/tutorials/02._Discover_Basic_Elements#side-orientation + * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created. + */ + MeshBuilder.CreateBox = function (name, options, scene) { + var box = new BABYLON.Mesh(name, scene); + options.sideOrientation = this.updateSideOrientation(options.sideOrientation, scene); + var vertexData = BABYLON.VertexData.CreateBox(options); + vertexData.applyToMesh(box, options.updatable); + return box; + }; + /** + * Creates a sphere mesh. + * tuto : http://doc.babylonjs.com/tutorials/Mesh_CreateXXX_Methods_With_Options_Parameter#sphere + * The parameter `diameter` sets the diameter size (float) of the sphere (default 1). + * You can set some different sphere dimensions, for instance to build an ellipsoid, by using the parameters `diameterX`, `diameterY` and `diameterZ` (all by default have the same value than `diameter`). + * The parameter `segments` sets the sphere number of horizontal stripes (positive integer, default 32). + * You can create an unclosed sphere with the parameter `arc` (positive float, default 1), valued between 0 and 1, what is the ratio of the circumference (latitude) : 2 x PI x ratio + * You can create an unclosed sphere on its height with the parameter `slice` (positive float, default1), valued between 0 and 1, what is the height ratio (longitude). + * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE + * Detail here : http://doc.babylonjs.com/tutorials/02._Discover_Basic_Elements#side-orientation + * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created. + */ + MeshBuilder.CreateSphere = function (name, options, scene) { + var sphere = new BABYLON.Mesh(name, scene); + options.sideOrientation = this.updateSideOrientation(options.sideOrientation, scene); + var vertexData = BABYLON.VertexData.CreateSphere(options); + vertexData.applyToMesh(sphere, options.updatable); + return sphere; + }; + /** + * Creates a plane polygonal mesh. By default, this is a disc. + * tuto : http://doc.babylonjs.com/tutorials/Mesh_CreateXXX_Methods_With_Options_Parameter#disc + * The parameter `radius` sets the radius size (float) of the polygon (default 0.5). + * The parameter `tessellation` sets the number of polygon sides (positive integer, default 64). So a tessellation valued to 3 will build a triangle, to 4 a square, etc. + * You can create an unclosed polygon with the parameter `arc` (positive float, default 1), valued between 0 and 1, what is the ratio of the circumference : 2 x PI x ratio + * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE + * Detail here : http://doc.babylonjs.com/tutorials/02._Discover_Basic_Elements#side-orientation + * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created. + */ + MeshBuilder.CreateDisc = function (name, options, scene) { + var disc = new BABYLON.Mesh(name, scene); + options.sideOrientation = this.updateSideOrientation(options.sideOrientation, scene); + var vertexData = BABYLON.VertexData.CreateDisc(options); + vertexData.applyToMesh(disc, options.updatable); + return disc; + }; + /** + * Creates a sphere based upon an icosahedron with 20 triangular faces which can be subdivided. + * tuto : http://doc.babylonjs.com/tutorials/Mesh_CreateXXX_Methods_With_Options_Parameter#icosphere + * The parameter `radius` sets the radius size (float) of the icosphere (default 1). + * You can set some different icosphere dimensions, for instance to build an ellipsoid, by using the parameters `radiusX`, `radiusY` and `radiusZ` (all by default have the same value than `radius`). + * The parameter `subdivisions` sets the number of subdivisions (postive integer, default 4). The more subdivisions, the more faces on the icosphere whatever its size. + * The parameter `flat` (boolean, default true) gives each side its own normals. Set it to false to get a smooth continuous light reflection on the surface. + * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE + * Detail here : http://doc.babylonjs.com/tutorials/02._Discover_Basic_Elements#side-orientation + * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created. + */ + MeshBuilder.CreateIcoSphere = function (name, options, scene) { + var sphere = new BABYLON.Mesh(name, scene); + options.sideOrientation = this.updateSideOrientation(options.sideOrientation, scene); + var vertexData = BABYLON.VertexData.CreateIcoSphere(options); + vertexData.applyToMesh(sphere, options.updatable); + return sphere; + }; + ; + /** + * Creates a ribbon mesh. + * The ribbon is a parametric shape : http://doc.babylonjs.com/tutorials/Parametric_Shapes. It has no predefined shape. Its final shape will depend on the input parameters. + * + * Please read this full tutorial to understand how to design a ribbon : http://doc.babylonjs.com/tutorials/Ribbon_Tutorial + * The parameter `pathArray` is a required array of paths, what are each an array of successive Vector3. The pathArray parameter depicts the ribbon geometry. + * The parameter `closeArray` (boolean, default false) creates a seam between the first and the last paths of the path array. + * The parameter `closePath` (boolean, default false) creates a seam between the first and the last points of each path of the path array. + * The parameter `offset` (positive integer, default : rounded half size of the pathArray length), is taken in account only if the `pathArray` is containing a single path. + * It's the offset to join the points from the same path. Ex : offset = 10 means the point 1 is joined to the point 11. + * The optional parameter `instance` is an instance of an existing Ribbon object to be updated with the passed `pathArray` parameter : http://doc.babylonjs.com/tutorials/How_to_dynamically_morph_a_mesh#ribbon + * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE + * Detail here : http://doc.babylonjs.com/tutorials/02._Discover_Basic_Elements#side-orientation + * The optional parameter `invertUV` (boolean, default false) swaps in the geometry the U and V coordinates to apply a texture. + * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created. + */ + MeshBuilder.CreateRibbon = function (name, options, scene) { + var pathArray = options.pathArray; + var closeArray = options.closeArray; + var closePath = options.closePath; + var offset = options.offset; + var sideOrientation = this.updateSideOrientation(options.sideOrientation, scene); + var instance = options.instance; + var updatable = options.updatable; + if (instance) { + // positionFunction : ribbon case + // only pathArray and sideOrientation parameters are taken into account for positions update + BABYLON.Vector3.FromFloatsToRef(Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE, BABYLON.Tmp.Vector3[0]); // minimum + BABYLON.Vector3.FromFloatsToRef(-Number.MAX_VALUE, -Number.MAX_VALUE, -Number.MAX_VALUE, BABYLON.Tmp.Vector3[1]); + var positionFunction = function (positions) { + var minlg = pathArray[0].length; + var i = 0; + var ns = (instance.sideOrientation === BABYLON.Mesh.DOUBLESIDE) ? 2 : 1; + for (var si = 1; si <= ns; si++) { + for (var p = 0; p < pathArray.length; p++) { + var path = pathArray[p]; + var l = path.length; + minlg = (minlg < l) ? minlg : l; + var j = 0; + while (j < minlg) { + positions[i] = path[j].x; + positions[i + 1] = path[j].y; + positions[i + 2] = path[j].z; + if (path[j].x < BABYLON.Tmp.Vector3[0].x) { + BABYLON.Tmp.Vector3[0].x = path[j].x; + } + if (path[j].x > BABYLON.Tmp.Vector3[1].x) { + BABYLON.Tmp.Vector3[1].x = path[j].x; + } + if (path[j].y < BABYLON.Tmp.Vector3[0].y) { + BABYLON.Tmp.Vector3[0].y = path[j].y; + } + if (path[j].y > BABYLON.Tmp.Vector3[1].y) { + BABYLON.Tmp.Vector3[1].y = path[j].y; + } + if (path[j].z < BABYLON.Tmp.Vector3[0].z) { + BABYLON.Tmp.Vector3[0].z = path[j].z; + } + if (path[j].z > BABYLON.Tmp.Vector3[1].z) { + BABYLON.Tmp.Vector3[1].z = path[j].z; + } + j++; + i += 3; + } + if (instance._closePath) { + positions[i] = path[0].x; + positions[i + 1] = path[0].y; + positions[i + 2] = path[0].z; + i += 3; + } + } + } + }; + var positions = instance.getVerticesData(BABYLON.VertexBuffer.PositionKind); + positionFunction(positions); + instance._boundingInfo = new BABYLON.BoundingInfo(BABYLON.Tmp.Vector3[0], BABYLON.Tmp.Vector3[1]); + instance._boundingInfo.update(instance._worldMatrix); + instance.updateVerticesData(BABYLON.VertexBuffer.PositionKind, positions, false, false); + if (!(instance.areNormalsFrozen)) { + var indices = instance.getIndices(); + var normals = instance.getVerticesData(BABYLON.VertexBuffer.NormalKind); + BABYLON.VertexData.ComputeNormals(positions, indices, normals); + if (instance._closePath) { + var indexFirst = 0; + var indexLast = 0; + for (var p = 0; p < pathArray.length; p++) { + indexFirst = instance._idx[p] * 3; + if (p + 1 < pathArray.length) { + indexLast = (instance._idx[p + 1] - 1) * 3; + } + else { + indexLast = normals.length - 3; + } + normals[indexFirst] = (normals[indexFirst] + normals[indexLast]) * 0.5; + normals[indexFirst + 1] = (normals[indexFirst + 1] + normals[indexLast + 1]) * 0.5; + normals[indexFirst + 2] = (normals[indexFirst + 2] + normals[indexLast + 2]) * 0.5; + normals[indexLast] = normals[indexFirst]; + normals[indexLast + 1] = normals[indexFirst + 1]; + normals[indexLast + 2] = normals[indexFirst + 2]; + } + } + instance.updateVerticesData(BABYLON.VertexBuffer.NormalKind, normals, false, false); + } + return instance; + } + else { + var ribbon = new BABYLON.Mesh(name, scene); + ribbon.sideOrientation = sideOrientation; + var vertexData = BABYLON.VertexData.CreateRibbon(options); + if (closePath) { + ribbon._idx = vertexData._idx; + } + ribbon._closePath = closePath; + ribbon._closeArray = closeArray; + vertexData.applyToMesh(ribbon, updatable); + return ribbon; + } + }; + /** + * Creates a cylinder or a cone mesh. + * tuto : http://doc.babylonjs.com/tutorials/Mesh_CreateXXX_Methods_With_Options_Parameter#cylinder-or-cone + * The parameter `height` sets the height size (float) of the cylinder/cone (float, default 2). + * The parameter `diameter` sets the diameter of the top and bottom cap at once (float, default 1). + * The parameters `diameterTop` and `diameterBottom` overwrite the parameter `diameter` and set respectively the top cap and bottom cap diameter (floats, default 1). The parameter "diameterBottom" can't be zero. + * The parameter `tessellation` sets the number of cylinder sides (positive integer, default 24). Set it to 3 to get a prism for instance. + * The parameter `subdivisions` sets the number of rings along the cylinder height (positive integer, default 1). + * The parameter `hasRings` (boolean, default false) makes the subdivisions independent from each other, so they become different faces. + * The parameter `enclose` (boolean, default false) adds two extra faces per subdivision to a sliced cylinder to close it around its height axis. + * The parameter `arc` (float, default 1) is the ratio (max 1) to apply to the circumference to slice the cylinder. + * You can set different colors and different images to each box side by using the parameters `faceColors` (an array of n Color3 elements) and `faceUV` (an array of n Vector4 elements). + * The value of n is the number of cylinder faces. If the cylinder has only 1 subdivisions, n equals : top face + cylinder surface + bottom face = 3 + * Now, if the cylinder has 5 independent subdivisions (hasRings = true), n equals : top face + 5 stripe surfaces + bottom face = 2 + 5 = 7 + * Finally, if the cylinder has 5 independent subdivisions and is enclose, n equals : top face + 5 x (stripe surface + 2 closing faces) + bottom face = 2 + 5 * 3 = 17 + * Each array (color or UVs) is always ordered the same way : the first element is the bottom cap, the last element is the top cap. The other elements are each a ring surface. + * If `enclose` is false, a ring surface is one element. + * If `enclose` is true, a ring surface is 3 successive elements in the array : the tubular surface, then the two closing faces. + * Example how to set colors and textures on a sliced cylinder : http://www.html5gamedevs.com/topic/17945-creating-a-closed-slice-of-a-cylinder/#comment-106379 + * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE + * Detail here : http://doc.babylonjs.com/tutorials/02._Discover_Basic_Elements#side-orientation + * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created. + */ + MeshBuilder.CreateCylinder = function (name, options, scene) { + var cylinder = new BABYLON.Mesh(name, scene); + options.sideOrientation = this.updateSideOrientation(options.sideOrientation, scene); + var vertexData = BABYLON.VertexData.CreateCylinder(options); + vertexData.applyToMesh(cylinder, options.updatable); + return cylinder; + }; + /** + * Creates a torus mesh. + * tuto : http://doc.babylonjs.com/tutorials/Mesh_CreateXXX_Methods_With_Options_Parameter#torus + * The parameter `diameter` sets the diameter size (float) of the torus (default 1). + * The parameter `thickness` sets the diameter size of the tube of the torus (float, default 0.5). + * The parameter `tessellation` sets the number of torus sides (postive integer, default 16). + * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE + * Detail here : http://doc.babylonjs.com/tutorials/02._Discover_Basic_Elements#side-orientation + * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created. + */ + MeshBuilder.CreateTorus = function (name, options, scene) { + var torus = new BABYLON.Mesh(name, scene); + options.sideOrientation = this.updateSideOrientation(options.sideOrientation, scene); + var vertexData = BABYLON.VertexData.CreateTorus(options); + vertexData.applyToMesh(torus, options.updatable); + return torus; + }; + /** + * Creates a torus knot mesh. + * tuto : http://doc.babylonjs.com/tutorials/Mesh_CreateXXX_Methods_With_Options_Parameter#torus-knot + * The parameter `radius` sets the global radius size (float) of the torus knot (default 2). + * The parameter `radialSegments` sets the number of sides on each tube segments (positive integer, default 32). + * The parameter `tubularSegments` sets the number of tubes to decompose the knot into (positive integer, default 32). + * The parameters `p` and `q` are the number of windings on each axis (positive integers, default 2 and 3). + * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE + * Detail here : http://doc.babylonjs.com/tutorials/02._Discover_Basic_Elements#side-orientation + * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created. + */ + MeshBuilder.CreateTorusKnot = function (name, options, scene) { + var torusKnot = new BABYLON.Mesh(name, scene); + options.sideOrientation = this.updateSideOrientation(options.sideOrientation, scene); + var vertexData = BABYLON.VertexData.CreateTorusKnot(options); + vertexData.applyToMesh(torusKnot, options.updatable); + return torusKnot; + }; + /** + * Creates a line system mesh. + * A line system is a pool of many lines gathered in a single mesh. + * tuto : http://doc.babylonjs.com/tutorials/Mesh_CreateXXX_Methods_With_Options_Parameter#linesystem + * A line system mesh is considered as a parametric shape since it has no predefined original shape. Its shape is determined by the passed array of lines as an input parameter. + * Like every other parametric shape, it is dynamically updatable by passing an existing instance of LineSystem to this static function. + * The parameter `lines` is an array of lines, each line being an array of successive Vector3. + * The optional parameter `instance` is an instance of an existing LineSystem object to be updated with the passed `lines` parameter. The way to update it is the same than for + * updating a simple Line mesh, you just need to update every line in the `lines` array : http://doc.babylonjs.com/tutorials/How_to_dynamically_morph_a_mesh#lines-and-dashedlines + * When updating an instance, remember that only line point positions can change, not the number of points, neither the number of lines. + * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created. + */ + MeshBuilder.CreateLineSystem = function (name, options, scene) { + var instance = options.instance; + var lines = options.lines; + if (instance) { + var positionFunction = function (positions) { + var i = 0; + for (var l = 0; l < lines.length; l++) { + var points = lines[l]; + for (var p = 0; p < points.length; p++) { + positions[i] = points[p].x; + positions[i + 1] = points[p].y; + positions[i + 2] = points[p].z; + i += 3; + } + } + }; + instance.updateMeshPositions(positionFunction, false); + return instance; + } + // line system creation + var lineSystem = new BABYLON.LinesMesh(name, scene); + var vertexData = BABYLON.VertexData.CreateLineSystem(options); + vertexData.applyToMesh(lineSystem, options.updatable); + return lineSystem; + }; + /** + * Creates a line mesh. + * tuto : http://doc.babylonjs.com/tutorials/Mesh_CreateXXX_Methods_With_Options_Parameter#lines + * A line mesh is considered as a parametric shape since it has no predefined original shape. Its shape is determined by the passed array of points as an input parameter. + * Like every other parametric shape, it is dynamically updatable by passing an existing instance of LineMesh to this static function. + * The parameter `points` is an array successive Vector3. + * The optional parameter `instance` is an instance of an existing LineMesh object to be updated with the passed `points` parameter : http://doc.babylonjs.com/tutorials/How_to_dynamically_morph_a_mesh#lines-and-dashedlines + * When updating an instance, remember that only point positions can change, not the number of points. + * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created. + */ + MeshBuilder.CreateLines = function (name, options, scene) { + var lines = MeshBuilder.CreateLineSystem(name, { lines: [options.points], updatable: options.updatable, instance: options.instance }, scene); + return lines; + }; + /** + * Creates a dashed line mesh. + * tuto : http://doc.babylonjs.com/tutorials/Mesh_CreateXXX_Methods_With_Options_Parameter#dashed-lines + * A dashed line mesh is considered as a parametric shape since it has no predefined original shape. Its shape is determined by the passed array of points as an input parameter. + * Like every other parametric shape, it is dynamically updatable by passing an existing instance of LineMesh to this static function. + * The parameter `points` is an array successive Vector3. + * The parameter `dashNb` is the intended total number of dashes (positive integer, default 200). + * The parameter `dashSize` is the size of the dashes relatively the dash number (positive float, default 3). + * The parameter `gapSize` is the size of the gap between two successive dashes relatively the dash number (positive float, default 1). + * The optional parameter `instance` is an instance of an existing LineMesh object to be updated with the passed `points` parameter : http://doc.babylonjs.com/tutorials/How_to_dynamically_morph_a_mesh#lines-and-dashedlines + * When updating an instance, remember that only point positions can change, not the number of points. + * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created. + */ + MeshBuilder.CreateDashedLines = function (name, options, scene) { + var points = options.points; + var instance = options.instance; + var gapSize = options.gapSize; + var dashNb = options.dashNb; + var dashSize = options.dashSize; + if (instance) { + var positionFunction = function (positions) { + var curvect = BABYLON.Vector3.Zero(); + var nbSeg = positions.length / 6; + var lg = 0; + var nb = 0; + var shft = 0; + var dashshft = 0; + var curshft = 0; + var p = 0; + var i = 0; + var j = 0; + for (i = 0; i < points.length - 1; i++) { + points[i + 1].subtractToRef(points[i], curvect); + lg += curvect.length(); + } + shft = lg / nbSeg; + dashshft = instance.dashSize * shft / (instance.dashSize + instance.gapSize); + for (i = 0; i < points.length - 1; i++) { + points[i + 1].subtractToRef(points[i], curvect); + nb = Math.floor(curvect.length() / shft); + curvect.normalize(); + j = 0; + while (j < nb && p < positions.length) { + curshft = shft * j; + positions[p] = points[i].x + curshft * curvect.x; + positions[p + 1] = points[i].y + curshft * curvect.y; + positions[p + 2] = points[i].z + curshft * curvect.z; + positions[p + 3] = points[i].x + (curshft + dashshft) * curvect.x; + positions[p + 4] = points[i].y + (curshft + dashshft) * curvect.y; + positions[p + 5] = points[i].z + (curshft + dashshft) * curvect.z; + p += 6; + j++; + } + } + while (p < positions.length) { + positions[p] = points[i].x; + positions[p + 1] = points[i].y; + positions[p + 2] = points[i].z; + p += 3; + } + }; + instance.updateMeshPositions(positionFunction, false); + return instance; + } + // dashed lines creation + var dashedLines = new BABYLON.LinesMesh(name, scene); + var vertexData = BABYLON.VertexData.CreateDashedLines(options); + vertexData.applyToMesh(dashedLines, options.updatable); + dashedLines.dashSize = dashSize; + dashedLines.gapSize = gapSize; + return dashedLines; + }; + /** + * Creates an extruded shape mesh. + * The extrusion is a parametric shape : http://doc.babylonjs.com/tutorials/Parametric_Shapes. It has no predefined shape. Its final shape will depend on the input parameters. + * tuto : http://doc.babylonjs.com/tutorials/Mesh_CreateXXX_Methods_With_Options_Parameter#extruded-shapes + * + * Please read this full tutorial to understand how to design an extruded shape : http://doc.babylonjs.com/tutorials/Parametric_Shapes#extrusion + * The parameter `shape` is a required array of successive Vector3. This array depicts the shape to be extruded in its local space : the shape must be designed in the xOy plane and will be + * extruded along the Z axis. + * The parameter `path` is a required array of successive Vector3. This is the axis curve the shape is extruded along. + * The parameter `rotation` (float, default 0 radians) is the angle value to rotate the shape each step (each path point), from the former step (so rotation added each step) along the curve. + * The parameter `scale` (float, default 1) is the value to scale the shape. + * The parameter `cap` sets the way the extruded shape is capped. Possible values : BABYLON.Mesh.NO_CAP (default), BABYLON.Mesh.CAP_START, BABYLON.Mesh.CAP_END, BABYLON.Mesh.CAP_ALL + * The optional parameter `instance` is an instance of an existing ExtrudedShape object to be updated with the passed `shape`, `path`, `scale` or `rotation` parameters : http://doc.babylonjs.com/tutorials/How_to_dynamically_morph_a_mesh#extruded-shape + * Remember you can only change the shape or path point positions, not their number when updating an extruded shape. + * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE + * Detail here : http://doc.babylonjs.com/tutorials/02._Discover_Basic_Elements#side-orientation + * The optional parameter `invertUV` (boolean, default false) swaps in the geometry the U and V coordinates to apply a texture. + * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created. + */ + MeshBuilder.ExtrudeShape = function (name, options, scene) { + var path = options.path; + var shape = options.shape; + var scale = options.scale || 1; + var rotation = options.rotation || 0; + var cap = (options.cap === 0) ? 0 : options.cap || BABYLON.Mesh.NO_CAP; + var updatable = options.updatable; + var sideOrientation = this.updateSideOrientation(options.sideOrientation, scene); + var instance = options.instance; + var invertUV = options.invertUV || false; + return MeshBuilder._ExtrudeShapeGeneric(name, shape, path, scale, rotation, null, null, false, false, cap, false, scene, updatable, sideOrientation, instance, invertUV); + }; + /** + * Creates an custom extruded shape mesh. + * The custom extrusion is a parametric shape : http://doc.babylonjs.com/tutorials/Parametric_Shapes. It has no predefined shape. Its final shape will depend on the input parameters. + * tuto :http://doc.babylonjs.com/tutorials/Mesh_CreateXXX_Methods_With_Options_Parameter#custom-extruded-shapes + * + * Please read this full tutorial to understand how to design a custom extruded shape : http://doc.babylonjs.com/tutorials/Parametric_Shapes#extrusion + * The parameter `shape` is a required array of successive Vector3. This array depicts the shape to be extruded in its local space : the shape must be designed in the xOy plane and will be + * extruded along the Z axis. + * The parameter `path` is a required array of successive Vector3. This is the axis curve the shape is extruded along. + * The parameter `rotationFunction` (JS function) is a custom Javascript function called on each path point. This function is passed the position i of the point in the path + * and the distance of this point from the begining of the path : + * ```javascript + * var rotationFunction = function(i, distance) { + * // do things + * return rotationValue; } + * ``` + * It must returns a float value that will be the rotation in radians applied to the shape on each path point. + * The parameter `scaleFunction` (JS function) is a custom Javascript function called on each path point. This function is passed the position i of the point in the path + * and the distance of this point from the begining of the path : + * ```javascript + * var scaleFunction = function(i, distance) { + * // do things + * return scaleValue;} + * ``` + * It must returns a float value that will be the scale value applied to the shape on each path point. + * The parameter `ribbonClosePath` (boolean, default false) forces the extrusion underlying ribbon to close all the paths in its `pathArray`. + * The parameter `ribbonCloseArray` (boolean, default false) forces the extrusion underlying ribbon to close its `pathArray`. + * The parameter `cap` sets the way the extruded shape is capped. Possible values : BABYLON.Mesh.NO_CAP (default), BABYLON.Mesh.CAP_START, BABYLON.Mesh.CAP_END, BABYLON.Mesh.CAP_ALL + * The optional parameter `instance` is an instance of an existing ExtrudedShape object to be updated with the passed `shape`, `path`, `scale` or `rotation` parameters : http://doc.babylonjs.com/tutorials/How_to_dynamically_morph_a_mesh#extruded-shape + * Remember you can only change the shape or path point positions, not their number when updating an extruded shape. + * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE + * Detail here : http://doc.babylonjs.com/tutorials/02._Discover_Basic_Elements#side-orientation + * The optional parameter `invertUV` (boolean, default false) swaps in the geometry the U and V coordinates to apply a texture. + * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created. + */ + MeshBuilder.ExtrudeShapeCustom = function (name, options, scene) { + var path = options.path; + var shape = options.shape; + var scaleFunction = options.scaleFunction || (function () { return 1; }); + var rotationFunction = options.rotationFunction || (function () { return 0; }); + var ribbonCloseArray = options.ribbonCloseArray || false; + var ribbonClosePath = options.ribbonClosePath || false; + var cap = (options.cap === 0) ? 0 : options.cap || BABYLON.Mesh.NO_CAP; + var updatable = options.updatable; + var sideOrientation = this.updateSideOrientation(options.sideOrientation, scene); + var instance = options.instance; + var invertUV = options.invertUV || false; + return MeshBuilder._ExtrudeShapeGeneric(name, shape, path, null, null, scaleFunction, rotationFunction, ribbonCloseArray, ribbonClosePath, cap, true, scene, updatable, sideOrientation, instance, invertUV); + }; + /** + * Creates lathe mesh. + * The lathe is a shape with a symetry axis : a 2D model shape is rotated around this axis to design the lathe. + * tuto : http://doc.babylonjs.com/tutorials/Mesh_CreateXXX_Methods_With_Options_Parameter#lathe + * + * The parameter `shape` is a required array of successive Vector3. This array depicts the shape to be rotated in its local space : the shape must be designed in the xOy plane and will be + * rotated around the Y axis. It's usually a 2D shape, so the Vector3 z coordinates are often set to zero. + * The parameter `radius` (positive float, default 1) is the radius value of the lathe. + * The parameter `tessellation` (positive integer, default 64) is the side number of the lathe. + * The parameter `arc` (positive float, default 1) is the ratio of the lathe. 0.5 builds for instance half a lathe, so an opened shape. + * The parameter `closed` (boolean, default true) opens/closes the lathe circumference. This should be set to false when used with the parameter "arc". + * The parameter `cap` sets the way the extruded shape is capped. Possible values : BABYLON.Mesh.NO_CAP (default), BABYLON.Mesh.CAP_START, BABYLON.Mesh.CAP_END, BABYLON.Mesh.CAP_ALL + * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE + * Detail here : http://doc.babylonjs.com/tutorials/02._Discover_Basic_Elements#side-orientation + * The optional parameter `invertUV` (boolean, default false) swaps in the geometry the U and V coordinates to apply a texture. + * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created. + */ + MeshBuilder.CreateLathe = function (name, options, scene) { + var arc = (options.arc <= 0 || options.arc > 1) ? 1.0 : options.arc || 1.0; + var closed = (options.closed === undefined) ? true : options.closed; + var shape = options.shape; + var radius = options.radius || 1; + var tessellation = options.tessellation || 64; + var updatable = options.updatable; + var sideOrientation = this.updateSideOrientation(options.sideOrientation, scene); + var cap = options.cap || BABYLON.Mesh.NO_CAP; + var pi2 = Math.PI * 2; + var paths = new Array(); + var invertUV = options.invertUV || false; + var i = 0; + var p = 0; + var step = pi2 / tessellation * arc; + var rotated; + var path = new Array(); + ; + for (i = 0; i <= tessellation; i++) { + var path = []; + if (cap == BABYLON.Mesh.CAP_START || cap == BABYLON.Mesh.CAP_ALL) { + path.push(new BABYLON.Vector3(0, shape[0].y, 0)); + path.push(new BABYLON.Vector3(Math.cos(i * step) * shape[0].x * radius, shape[0].y, Math.sin(i * step) * shape[0].x * radius)); + } + for (p = 0; p < shape.length; p++) { + rotated = new BABYLON.Vector3(Math.cos(i * step) * shape[p].x * radius, shape[p].y, Math.sin(i * step) * shape[p].x * radius); + path.push(rotated); + } + if (cap == BABYLON.Mesh.CAP_END || cap == BABYLON.Mesh.CAP_ALL) { + path.push(new BABYLON.Vector3(Math.cos(i * step) * shape[shape.length - 1].x * radius, shape[shape.length - 1].y, Math.sin(i * step) * shape[shape.length - 1].x * radius)); + path.push(new BABYLON.Vector3(0, shape[shape.length - 1].y, 0)); + } + paths.push(path); + } + // lathe ribbon + var lathe = MeshBuilder.CreateRibbon(name, { pathArray: paths, closeArray: closed, sideOrientation: sideOrientation, updatable: updatable, invertUV: invertUV }, scene); + return lathe; + }; + /** + * Creates a plane mesh. + * tuto : http://doc.babylonjs.com/tutorials/Mesh_CreateXXX_Methods_With_Options_Parameter#plane + * The parameter `size` sets the size (float) of both sides of the plane at once (default 1). + * You can set some different plane dimensions by using the parameters `width` and `height` (both by default have the same value than `size`). + * The parameter `sourcePlane` is a Plane instance. It builds a mesh plane from a Math plane. + * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE + * Detail here : http://doc.babylonjs.com/tutorials/02._Discover_Basic_Elements#side-orientation + * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created. + */ + MeshBuilder.CreatePlane = function (name, options, scene) { + var plane = new BABYLON.Mesh(name, scene); + options.sideOrientation = this.updateSideOrientation(options.sideOrientation, scene); + var vertexData = BABYLON.VertexData.CreatePlane(options); + vertexData.applyToMesh(plane, options.updatable); + if (options.sourcePlane) { + plane.translate(options.sourcePlane.normal, options.sourcePlane.d); + var product = Math.acos(BABYLON.Vector3.Dot(options.sourcePlane.normal, BABYLON.Axis.Z)); + var vectorProduct = BABYLON.Vector3.Cross(BABYLON.Axis.Z, options.sourcePlane.normal); + plane.rotate(vectorProduct, product); + } + return plane; + }; + /** + * Creates a ground mesh. + * tuto : http://doc.babylonjs.com/tutorials/Mesh_CreateXXX_Methods_With_Options_Parameter#plane + * The parameters `width` and `height` (floats, default 1) set the width and height sizes of the ground. + * The parameter `subdivisions` (positive integer) sets the number of subdivisions per side. + * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created. + */ + MeshBuilder.CreateGround = function (name, options, scene) { + var ground = new BABYLON.GroundMesh(name, scene); + ground._setReady(false); + ground._subdivisionsX = options.subdivisionsX || options.subdivisions || 1; + ground._subdivisionsY = options.subdivisionsY || options.subdivisions || 1; + ground._width = options.width || 1; + ground._height = options.height || 1; + ground._maxX = ground._width / 2; + ground._maxZ = ground._height / 2; + ground._minX = -ground._maxX; + ground._minZ = -ground._maxZ; + var vertexData = BABYLON.VertexData.CreateGround(options); + vertexData.applyToMesh(ground, options.updatable); + ground._setReady(true); + return ground; + }; + /** + * Creates a tiled ground mesh. + * tuto : http://doc.babylonjs.com/tutorials/Mesh_CreateXXX_Methods_With_Options_Parameter#tiled-ground + * The parameters `xmin` and `xmax` (floats, default -1 and 1) set the ground minimum and maximum X coordinates. + * The parameters `zmin` and `zmax` (floats, default -1 and 1) set the ground minimum and maximum Z coordinates. + * The parameter `subdivisions` is a javascript object `{w: positive integer, h: positive integer}` (default `{w: 6, h: 6}`). `w` and `h` are the + * numbers of subdivisions on the ground width and height. Each subdivision is called a tile. + * The parameter `precision` is a javascript object `{w: positive integer, h: positive integer}` (default `{w: 2, h: 2}`). `w` and `h` are the + * numbers of subdivisions on the ground width and height of each tile. + * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created. + */ + MeshBuilder.CreateTiledGround = function (name, options, scene) { + var tiledGround = new BABYLON.Mesh(name, scene); + var vertexData = BABYLON.VertexData.CreateTiledGround(options); + vertexData.applyToMesh(tiledGround, options.updatable); + return tiledGround; + }; + /** + * Creates a ground mesh from a height map. + * tuto : http://doc.babylonjs.com/tutorials/14._Height_Map + * tuto : http://doc.babylonjs.com/tutorials/Mesh_CreateXXX_Methods_With_Options_Parameter#ground-from-a-height-map + * The parameter `url` sets the URL of the height map image resource. + * The parameters `width` and `height` (positive floats, default 10) set the ground width and height sizes. + * The parameter `subdivisions` (positive integer, default 1) sets the number of subdivision per side. + * The parameter `minHeight` (float, default 0) is the minimum altitude on the ground. + * The parameter `maxHeight` (float, default 1) is the maximum altitude on the ground. + * The parameter `onReady` is a javascript callback function that will be called once the mesh is just built (the height map download can last some time). + * This function is passed the newly built mesh : + * ```javascript + * function(mesh) { // do things + * return; } + * ``` + * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created. + */ + MeshBuilder.CreateGroundFromHeightMap = function (name, url, options, scene) { + var width = options.width || 10.0; + var height = options.height || 10.0; + var subdivisions = options.subdivisions || 1 | 0; + var minHeight = options.minHeight || 0.0; + var maxHeight = options.maxHeight || 10.0; + var updatable = options.updatable; + var onReady = options.onReady; + var ground = new BABYLON.GroundMesh(name, scene); + ground._subdivisionsX = subdivisions; + ground._subdivisionsY = subdivisions; + ground._width = width; + ground._height = height; + ground._maxX = ground._width / 2.0; + ground._maxZ = ground._height / 2.0; + ground._minX = -ground._maxX; + ground._minZ = -ground._maxZ; + ground._setReady(false); + var onload = function (img) { + // Getting height map data + var canvas = document.createElement("canvas"); + var context = canvas.getContext("2d"); + var bufferWidth = img.width; + var bufferHeight = img.height; + canvas.width = bufferWidth; + canvas.height = bufferHeight; + context.drawImage(img, 0, 0); + // Create VertexData from map data + // Cast is due to wrong definition in lib.d.ts from ts 1.3 - https://github.com/Microsoft/TypeScript/issues/949 + var buffer = context.getImageData(0, 0, bufferWidth, bufferHeight).data; + var vertexData = BABYLON.VertexData.CreateGroundFromHeightMap({ + width: width, height: height, + subdivisions: subdivisions, + minHeight: minHeight, maxHeight: maxHeight, + buffer: buffer, bufferWidth: bufferWidth, bufferHeight: bufferHeight + }); + vertexData.applyToMesh(ground, updatable); + ground._setReady(true); + //execute ready callback, if set + if (onReady) { + onReady(ground); + } + }; + BABYLON.Tools.LoadImage(url, onload, function () { }, scene.database); + return ground; + }; + /** + * Creates a tube mesh. + * The tube is a parametric shape : http://doc.babylonjs.com/tutorials/Parametric_Shapes. It has no predefined shape. Its final shape will depend on the input parameters. + * + * tuto : http://doc.babylonjs.com/tutorials/Mesh_CreateXXX_Methods_With_Options_Parameter#tube + * The parameter `path` is a required array of successive Vector3. It is the curve used as the axis of the tube. + * The parameter `radius` (positive float, default 1) sets the tube radius size. + * The parameter `tessellation` (positive float, default 64) is the number of sides on the tubular surface. + * The parameter `radiusFunction` (javascript function, default null) is a vanilla javascript function. If it is not null, it overwrittes the parameter `radius`. + * This function is called on each point of the tube path and is passed the index `i` of the i-th point and the distance of this point from the first point of the path. + * It must return a radius value (positive float) : + * ```javascript + * var radiusFunction = function(i, distance) { + * // do things + * return radius; } + * ``` + * The parameter `arc` (positive float, maximum 1, default 1) is the ratio to apply to the tube circumference : 2 x PI x arc. + * The parameter `cap` sets the way the extruded shape is capped. Possible values : BABYLON.Mesh.NO_CAP (default), BABYLON.Mesh.CAP_START, BABYLON.Mesh.CAP_END, BABYLON.Mesh.CAP_ALL + * The optional parameter `instance` is an instance of an existing Tube object to be updated with the passed `pathArray` parameter : http://doc.babylonjs.com/tutorials/How_to_dynamically_morph_a_mesh#tube + * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE + * Detail here : http://doc.babylonjs.com/tutorials/02._Discover_Basic_Elements#side-orientation + * The optional parameter `invertUV` (boolean, default false) swaps in the geometry the U and V coordinates to apply a texture. + * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created. + */ + MeshBuilder.CreateTube = function (name, options, scene) { + var path = options.path; + var radius = options.radius || 1.0; + var tessellation = options.tessellation || 64 | 0; + var radiusFunction = options.radiusFunction; + var cap = options.cap || BABYLON.Mesh.NO_CAP; + var invertUV = options.invertUV || false; + var updatable = options.updatable; + var sideOrientation = this.updateSideOrientation(options.sideOrientation, scene); + var instance = options.instance; + options.arc = (options.arc <= 0.0 || options.arc > 1.0) ? 1.0 : options.arc || 1.0; + // tube geometry + var tubePathArray = function (path, path3D, circlePaths, radius, tessellation, radiusFunction, cap, arc) { + var tangents = path3D.getTangents(); + var normals = path3D.getNormals(); + var distances = path3D.getDistances(); + var pi2 = Math.PI * 2; + var step = pi2 / tessellation * arc; + var returnRadius = function () { return radius; }; + var radiusFunctionFinal = radiusFunction || returnRadius; + var circlePath; + var rad; + var normal; + var rotated; + var rotationMatrix = BABYLON.Tmp.Matrix[0]; + var index = (cap === BABYLON.Mesh._NO_CAP || cap === BABYLON.Mesh.CAP_END) ? 0 : 2; + for (var i = 0; i < path.length; i++) { + rad = radiusFunctionFinal(i, distances[i]); // current radius + circlePath = Array(); // current circle array + normal = normals[i]; // current normal + for (var t = 0; t < tessellation; t++) { + BABYLON.Matrix.RotationAxisToRef(tangents[i], step * t, rotationMatrix); + rotated = circlePath[t] ? circlePath[t] : BABYLON.Vector3.Zero(); + BABYLON.Vector3.TransformCoordinatesToRef(normal, rotationMatrix, rotated); + rotated.scaleInPlace(rad).addInPlace(path[i]); + circlePath[t] = rotated; + } + circlePaths[index] = circlePath; + index++; + } + // cap + var capPath = function (nbPoints, pathIndex) { + var pointCap = Array(); + for (var i = 0; i < nbPoints; i++) { + pointCap.push(path[pathIndex]); + } + return pointCap; + }; + switch (cap) { + case BABYLON.Mesh.NO_CAP: + break; + case BABYLON.Mesh.CAP_START: + circlePaths[0] = capPath(tessellation, 0); + circlePaths[1] = circlePaths[2].slice(0); + break; + case BABYLON.Mesh.CAP_END: + circlePaths[index] = circlePaths[index - 1].slice(0); + circlePaths[index + 1] = capPath(tessellation, path.length - 1); + break; + case BABYLON.Mesh.CAP_ALL: + circlePaths[0] = capPath(tessellation, 0); + circlePaths[1] = circlePaths[2].slice(0); + circlePaths[index] = circlePaths[index - 1].slice(0); + circlePaths[index + 1] = capPath(tessellation, path.length - 1); + break; + default: + break; + } + return circlePaths; + }; + var path3D; + var pathArray; + if (instance) { + var arc = options.arc || instance.arc; + path3D = (instance.path3D).update(path); + pathArray = tubePathArray(path, path3D, instance.pathArray, radius, instance.tessellation, radiusFunction, instance.cap, arc); + instance = MeshBuilder.CreateRibbon(null, { pathArray: pathArray, instance: instance }); + instance.path3D = path3D; + instance.pathArray = pathArray; + instance.arc = arc; + return instance; + } + // tube creation + path3D = new BABYLON.Path3D(path); + var newPathArray = new Array(); + cap = (cap < 0 || cap > 3) ? 0 : cap; + pathArray = tubePathArray(path, path3D, newPathArray, radius, tessellation, radiusFunction, cap, options.arc); + var tube = MeshBuilder.CreateRibbon(name, { pathArray: pathArray, closePath: true, closeArray: false, updatable: updatable, sideOrientation: sideOrientation, invertUV: invertUV }, scene); + tube.pathArray = pathArray; + tube.path3D = path3D; + tube.tessellation = tessellation; + tube.cap = cap; + tube.arc = options.arc; + return tube; + }; + /** + * Creates a polyhedron mesh. + * + * tuto : http://doc.babylonjs.com/tutorials/Mesh_CreateXXX_Methods_With_Options_Parameter#polyhedron + * The parameter `type` (positive integer, max 14, default 0) sets the polyhedron type to build among the 15 embbeded types. Please refer to the type sheet in the tutorial + * to choose the wanted type. + * The parameter `size` (positive float, default 1) sets the polygon size. + * You can overwrite the `size` on each dimension bu using the parameters `sizeX`, `sizeY` or `sizeZ` (positive floats, default to `size` value). + * You can build other polyhedron types than the 15 embbeded ones by setting the parameter `custom` (`polyhedronObject`, default null). If you set the parameter `custom`, this overwrittes the parameter `type`. + * A `polyhedronObject` is a formatted javascript object. You'll find a full file with pre-set polyhedra here : https://github.com/BabylonJS/Extensions/tree/master/Polyhedron + * You can set the color and the UV of each side of the polyhedron with the parameters `faceColors` (Color4, default `(1, 1, 1, 1)`) and faceUV (Vector4, default `(0, 0, 1, 1)`). + * To understand how to set `faceUV` or `faceColors`, please read this by considering the right number of faces of your polyhedron, instead of only 6 for the box : http://doc.babylonjs.com/tutorials/CreateBox_Per_Face_Textures_And_Colors + * The parameter `flat` (boolean, default true). If set to false, it gives the polyhedron a single global face, so less vertices and shared normals. In this case, `faceColors` and `faceUV` are ignored. + * You can also set the mesh side orientation with the values : BABYLON.Mesh.FRONTSIDE (default), BABYLON.Mesh.BACKSIDE or BABYLON.Mesh.DOUBLESIDE + * Detail here : http://doc.babylonjs.com/tutorials/02._Discover_Basic_Elements#side-orientation + * The mesh can be set to updatable with the boolean parameter `updatable` (default false) if its internal geometry is supposed to change once created. + */ + MeshBuilder.CreatePolyhedron = function (name, options, scene) { + var polyhedron = new BABYLON.Mesh(name, scene); + options.sideOrientation = this.updateSideOrientation(options.sideOrientation, scene); + var vertexData = BABYLON.VertexData.CreatePolyhedron(options); + vertexData.applyToMesh(polyhedron, options.updatable); + return polyhedron; + }; + /** + * Creates a decal mesh. + * tuto : http://doc.babylonjs.com/tutorials/Mesh_CreateXXX_Methods_With_Options_Parameter#decals + * A decal is a mesh usually applied as a model onto the surface of another mesh. So don't forget the parameter `sourceMesh` depicting the decal. + * The parameter `position` (Vector3, default `(0, 0, 0)`) sets the position of the decal in World coordinates. + * The parameter `normal` (Vector3, default `Vector3.Up`) sets the normal of the mesh where the decal is applied onto in World coordinates. + * The parameter `size` (Vector3, default `(1, 1, 1)`) sets the decal scaling. + * The parameter `angle` (float in radian, default 0) sets the angle to rotate the decal. + */ + MeshBuilder.CreateDecal = function (name, sourceMesh, options) { + var indices = sourceMesh.getIndices(); + var positions = sourceMesh.getVerticesData(BABYLON.VertexBuffer.PositionKind); + var normals = sourceMesh.getVerticesData(BABYLON.VertexBuffer.NormalKind); + var position = options.position || BABYLON.Vector3.Zero(); + var normal = options.normal || BABYLON.Vector3.Up(); + var size = options.size || new BABYLON.Vector3(1, 1, 1); + var angle = options.angle || 0; + // Getting correct rotation + if (!normal) { + var target = new BABYLON.Vector3(0, 0, 1); + var camera = sourceMesh.getScene().activeCamera; + var cameraWorldTarget = BABYLON.Vector3.TransformCoordinates(target, camera.getWorldMatrix()); + normal = camera.globalPosition.subtract(cameraWorldTarget); + } + var yaw = -Math.atan2(normal.z, normal.x) - Math.PI / 2; + var len = Math.sqrt(normal.x * normal.x + normal.z * normal.z); + var pitch = Math.atan2(normal.y, len); + // Matrix + var decalWorldMatrix = BABYLON.Matrix.RotationYawPitchRoll(yaw, pitch, angle).multiply(BABYLON.Matrix.Translation(position.x, position.y, position.z)); + var inverseDecalWorldMatrix = BABYLON.Matrix.Invert(decalWorldMatrix); + var meshWorldMatrix = sourceMesh.getWorldMatrix(); + var transformMatrix = meshWorldMatrix.multiply(inverseDecalWorldMatrix); + var vertexData = new BABYLON.VertexData(); + vertexData.indices = []; + vertexData.positions = []; + vertexData.normals = []; + vertexData.uvs = []; + var currentVertexDataIndex = 0; + var extractDecalVector3 = function (indexId) { + var vertexId = indices[indexId]; + var result = new BABYLON.PositionNormalVertex(); + result.position = new BABYLON.Vector3(positions[vertexId * 3], positions[vertexId * 3 + 1], positions[vertexId * 3 + 2]); + // Send vector to decal local world + result.position = BABYLON.Vector3.TransformCoordinates(result.position, transformMatrix); + // Get normal + result.normal = new BABYLON.Vector3(normals[vertexId * 3], normals[vertexId * 3 + 1], normals[vertexId * 3 + 2]); + return result; + }; // Inspired by https://github.com/mrdoob/three.js/blob/eee231960882f6f3b6113405f524956145148146/examples/js/geometries/DecalGeometry.js + var clip = function (vertices, axis) { + if (vertices.length === 0) { + return vertices; + } + var clipSize = 0.5 * Math.abs(BABYLON.Vector3.Dot(size, axis)); + var clipVertices = function (v0, v1) { + var clipFactor = BABYLON.Vector3.GetClipFactor(v0.position, v1.position, axis, clipSize); + return new BABYLON.PositionNormalVertex(BABYLON.Vector3.Lerp(v0.position, v1.position, clipFactor), BABYLON.Vector3.Lerp(v0.normal, v1.normal, clipFactor)); + }; + var result = new Array(); + for (var index = 0; index < vertices.length; index += 3) { + var v1Out; + var v2Out; + var v3Out; + var total = 0; + var nV1, nV2, nV3, nV4; + var d1 = BABYLON.Vector3.Dot(vertices[index].position, axis) - clipSize; + var d2 = BABYLON.Vector3.Dot(vertices[index + 1].position, axis) - clipSize; + var d3 = BABYLON.Vector3.Dot(vertices[index + 2].position, axis) - clipSize; + v1Out = d1 > 0; + v2Out = d2 > 0; + v3Out = d3 > 0; + total = (v1Out ? 1 : 0) + (v2Out ? 1 : 0) + (v3Out ? 1 : 0); + switch (total) { + case 0: + result.push(vertices[index]); + result.push(vertices[index + 1]); + result.push(vertices[index + 2]); + break; + case 1: + if (v1Out) { + nV1 = vertices[index + 1]; + nV2 = vertices[index + 2]; + nV3 = clipVertices(vertices[index], nV1); + nV4 = clipVertices(vertices[index], nV2); + } + if (v2Out) { + nV1 = vertices[index]; + nV2 = vertices[index + 2]; + nV3 = clipVertices(vertices[index + 1], nV1); + nV4 = clipVertices(vertices[index + 1], nV2); + result.push(nV3); + result.push(nV2.clone()); + result.push(nV1.clone()); + result.push(nV2.clone()); + result.push(nV3.clone()); + result.push(nV4); + break; + } + if (v3Out) { + nV1 = vertices[index]; + nV2 = vertices[index + 1]; + nV3 = clipVertices(vertices[index + 2], nV1); + nV4 = clipVertices(vertices[index + 2], nV2); + } + result.push(nV1.clone()); + result.push(nV2.clone()); + result.push(nV3); + result.push(nV4); + result.push(nV3.clone()); + result.push(nV2.clone()); + break; + case 2: + if (!v1Out) { + nV1 = vertices[index].clone(); + nV2 = clipVertices(nV1, vertices[index + 1]); + nV3 = clipVertices(nV1, vertices[index + 2]); + result.push(nV1); + result.push(nV2); + result.push(nV3); + } + if (!v2Out) { + nV1 = vertices[index + 1].clone(); + nV2 = clipVertices(nV1, vertices[index + 2]); + nV3 = clipVertices(nV1, vertices[index]); + result.push(nV1); + result.push(nV2); + result.push(nV3); + } + if (!v3Out) { + nV1 = vertices[index + 2].clone(); + nV2 = clipVertices(nV1, vertices[index]); + nV3 = clipVertices(nV1, vertices[index + 1]); + result.push(nV1); + result.push(nV2); + result.push(nV3); + } + break; + case 3: + break; + } + } + return result; + }; + for (var index = 0; index < indices.length; index += 3) { + var faceVertices = new Array(); + faceVertices.push(extractDecalVector3(index)); + faceVertices.push(extractDecalVector3(index + 1)); + faceVertices.push(extractDecalVector3(index + 2)); + // Clip + faceVertices = clip(faceVertices, new BABYLON.Vector3(1, 0, 0)); + faceVertices = clip(faceVertices, new BABYLON.Vector3(-1, 0, 0)); + faceVertices = clip(faceVertices, new BABYLON.Vector3(0, 1, 0)); + faceVertices = clip(faceVertices, new BABYLON.Vector3(0, -1, 0)); + faceVertices = clip(faceVertices, new BABYLON.Vector3(0, 0, 1)); + faceVertices = clip(faceVertices, new BABYLON.Vector3(0, 0, -1)); + if (faceVertices.length === 0) { + continue; + } + // Add UVs and get back to world + for (var vIndex = 0; vIndex < faceVertices.length; vIndex++) { + var vertex = faceVertices[vIndex]; + //TODO check for Int32Array + vertexData.indices.push(currentVertexDataIndex); + vertex.position.toArray(vertexData.positions, currentVertexDataIndex * 3); + vertex.normal.toArray(vertexData.normals, currentVertexDataIndex * 3); + vertexData.uvs.push(0.5 + vertex.position.x / size.x); + vertexData.uvs.push(0.5 + vertex.position.y / size.y); + currentVertexDataIndex++; + } + } + // Return mesh + var decal = new BABYLON.Mesh(name, sourceMesh.getScene()); + vertexData.applyToMesh(decal); + decal.position = position.clone(); + decal.rotation = new BABYLON.Vector3(pitch, yaw, angle); + return decal; + }; + // Privates + MeshBuilder._ExtrudeShapeGeneric = function (name, shape, curve, scale, rotation, scaleFunction, rotateFunction, rbCA, rbCP, cap, custom, scene, updtbl, side, instance, invertUV) { + // extrusion geometry + var extrusionPathArray = function (shape, curve, path3D, shapePaths, scale, rotation, scaleFunction, rotateFunction, cap, custom) { + var tangents = path3D.getTangents(); + var normals = path3D.getNormals(); + var binormals = path3D.getBinormals(); + var distances = path3D.getDistances(); + var angle = 0; + var returnScale = function () { return scale; }; + var returnRotation = function () { return rotation; }; + var rotate = custom ? rotateFunction : returnRotation; + var scl = custom ? scaleFunction : returnScale; + var index = (cap === BABYLON.Mesh.NO_CAP || cap === BABYLON.Mesh.CAP_END) ? 0 : 2; + var rotationMatrix = BABYLON.Tmp.Matrix[0]; + for (var i = 0; i < curve.length; i++) { + var shapePath = new Array(); + var angleStep = rotate(i, distances[i]); + var scaleRatio = scl(i, distances[i]); + for (var p = 0; p < shape.length; p++) { + BABYLON.Matrix.RotationAxisToRef(tangents[i], angle, rotationMatrix); + var planed = ((tangents[i].scale(shape[p].z)).add(normals[i].scale(shape[p].x)).add(binormals[i].scale(shape[p].y))); + var rotated = shapePath[p] ? shapePath[p] : BABYLON.Vector3.Zero(); + BABYLON.Vector3.TransformCoordinatesToRef(planed, rotationMatrix, rotated); + rotated.scaleInPlace(scaleRatio).addInPlace(curve[i]); + shapePath[p] = rotated; + } + shapePaths[index] = shapePath; + angle += angleStep; + index++; + } + // cap + var capPath = function (shapePath) { + var pointCap = Array(); + var barycenter = BABYLON.Vector3.Zero(); + var i; + for (i = 0; i < shapePath.length; i++) { + barycenter.addInPlace(shapePath[i]); + } + barycenter.scaleInPlace(1 / shapePath.length); + for (i = 0; i < shapePath.length; i++) { + pointCap.push(barycenter); + } + return pointCap; + }; + switch (cap) { + case BABYLON.Mesh.NO_CAP: + break; + case BABYLON.Mesh.CAP_START: + shapePaths[0] = capPath(shapePaths[2]); + shapePaths[1] = shapePaths[2].slice(0); + break; + case BABYLON.Mesh.CAP_END: + shapePaths[index] = shapePaths[index - 1]; + shapePaths[index + 1] = capPath(shapePaths[index - 1]); + break; + case BABYLON.Mesh.CAP_ALL: + shapePaths[0] = capPath(shapePaths[2]); + shapePaths[1] = shapePaths[2].slice(0); + shapePaths[index] = shapePaths[index - 1]; + shapePaths[index + 1] = capPath(shapePaths[index - 1]); + break; + default: + break; + } + return shapePaths; + }; + var path3D; + var pathArray; + if (instance) { + path3D = (instance.path3D).update(curve); + pathArray = extrusionPathArray(shape, curve, instance.path3D, instance.pathArray, scale, rotation, scaleFunction, rotateFunction, instance.cap, custom); + instance = BABYLON.Mesh.CreateRibbon(null, pathArray, null, null, null, scene, null, null, instance); + return instance; + } + // extruded shape creation + path3D = new BABYLON.Path3D(curve); + var newShapePaths = new Array(); + cap = (cap < 0 || cap > 3) ? 0 : cap; + pathArray = extrusionPathArray(shape, curve, path3D, newShapePaths, scale, rotation, scaleFunction, rotateFunction, cap, custom); + var extrudedGeneric = MeshBuilder.CreateRibbon(name, { pathArray: pathArray, closeArray: rbCA, closePath: rbCP, updatable: updtbl, sideOrientation: side, invertUV: invertUV }, scene); + extrudedGeneric.pathArray = pathArray; + extrudedGeneric.path3D = path3D; + extrudedGeneric.cap = cap; + return extrudedGeneric; + }; + return MeshBuilder; + }()); + BABYLON.MeshBuilder = MeshBuilder; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.meshBuilder.js.map + + +var BABYLON; +(function (BABYLON) { + var BaseTexture = (function () { + function BaseTexture(scene) { + this.hasAlpha = false; + this.getAlphaFromRGB = false; + this.level = 1; + this.coordinatesIndex = 0; + this.coordinatesMode = BABYLON.Texture.EXPLICIT_MODE; + this.wrapU = BABYLON.Texture.WRAP_ADDRESSMODE; + this.wrapV = BABYLON.Texture.WRAP_ADDRESSMODE; + this.anisotropicFilteringLevel = 4; + this.isCube = false; + this.isRenderTarget = false; + this.animations = new Array(); + /** + * An event triggered when the texture is disposed. + * @type {BABYLON.Observable} + */ + this.onDisposeObservable = new BABYLON.Observable(); + this.delayLoadState = BABYLON.Engine.DELAYLOADSTATE_NONE; + this._scene = scene; + this._scene.textures.push(this); + this._uid = null; + } + Object.defineProperty(BaseTexture.prototype, "uid", { + get: function () { + if (!this._uid) { + this._uid = BABYLON.Tools.RandomId(); + } + return this._uid; + }, + enumerable: true, + configurable: true + }); + BaseTexture.prototype.toString = function () { + return this.name; + }; + Object.defineProperty(BaseTexture.prototype, "onDispose", { + set: function (callback) { + if (this._onDisposeObserver) { + this.onDisposeObservable.remove(this._onDisposeObserver); + } + this._onDisposeObserver = this.onDisposeObservable.add(callback); + }, + enumerable: true, + configurable: true + }); + BaseTexture.prototype.getScene = function () { + return this._scene; + }; + BaseTexture.prototype.getTextureMatrix = function () { + return null; + }; + BaseTexture.prototype.getReflectionTextureMatrix = function () { + return null; + }; + BaseTexture.prototype.getInternalTexture = function () { + return this._texture; + }; + BaseTexture.prototype.isReady = function () { + if (this.delayLoadState === BABYLON.Engine.DELAYLOADSTATE_NOTLOADED) { + return true; + } + if (this._texture) { + return this._texture.isReady; + } + return false; + }; + BaseTexture.prototype.getSize = function () { + if (this._texture._width) { + return new BABYLON.Size(this._texture._width, this._texture._height); + } + if (this._texture._size) { + return new BABYLON.Size(this._texture._size, this._texture._size); + } + return BABYLON.Size.Zero(); + }; + BaseTexture.prototype.getBaseSize = function () { + if (!this.isReady() || !this._texture) + return BABYLON.Size.Zero(); + if (this._texture._size) { + return new BABYLON.Size(this._texture._size, this._texture._size); + } + return new BABYLON.Size(this._texture._baseWidth, this._texture._baseHeight); + }; + BaseTexture.prototype.scale = function (ratio) { + }; + Object.defineProperty(BaseTexture.prototype, "canRescale", { + get: function () { + return false; + }, + enumerable: true, + configurable: true + }); + BaseTexture.prototype._removeFromCache = function (url, noMipmap) { + var texturesCache = this._scene.getEngine().getLoadedTexturesCache(); + for (var index = 0; index < texturesCache.length; index++) { + var texturesCacheEntry = texturesCache[index]; + if (texturesCacheEntry.url === url && texturesCacheEntry.noMipmap === noMipmap) { + texturesCache.splice(index, 1); + return; + } + } + }; + BaseTexture.prototype._getFromCache = function (url, noMipmap, sampling) { + var texturesCache = this._scene.getEngine().getLoadedTexturesCache(); + for (var index = 0; index < texturesCache.length; index++) { + var texturesCacheEntry = texturesCache[index]; + if (texturesCacheEntry.url === url && texturesCacheEntry.noMipmap === noMipmap) { + if (!sampling || sampling === texturesCacheEntry.samplingMode) { + texturesCacheEntry.references++; + return texturesCacheEntry; + } + } + } + return null; + }; + BaseTexture.prototype.delayLoad = function () { + }; + BaseTexture.prototype.clone = function () { + return null; + }; + BaseTexture.prototype.releaseInternalTexture = function () { + if (this._texture) { + this._scene.getEngine().releaseInternalTexture(this._texture); + delete this._texture; + } + }; + BaseTexture.prototype.dispose = function () { + // Animations + this.getScene().stopAnimation(this); + // Remove from scene + var index = this._scene.textures.indexOf(this); + if (index >= 0) { + this._scene.textures.splice(index, 1); + } + if (this._texture === undefined) { + return; + } + // Release + this.releaseInternalTexture(); + // Callback + this.onDisposeObservable.notifyObservers(this); + this.onDisposeObservable.clear(); + }; + BaseTexture.prototype.serialize = function () { + if (!this.name) { + return null; + } + var serializationObject = BABYLON.SerializationHelper.Serialize(this); + // Animations + BABYLON.Animation.AppendSerializedAnimations(this, serializationObject); + return serializationObject; + }; + __decorate([ + BABYLON.serialize() + ], BaseTexture.prototype, "name", void 0); + __decorate([ + BABYLON.serialize() + ], BaseTexture.prototype, "hasAlpha", void 0); + __decorate([ + BABYLON.serialize() + ], BaseTexture.prototype, "getAlphaFromRGB", void 0); + __decorate([ + BABYLON.serialize() + ], BaseTexture.prototype, "level", void 0); + __decorate([ + BABYLON.serialize() + ], BaseTexture.prototype, "coordinatesIndex", void 0); + __decorate([ + BABYLON.serialize() + ], BaseTexture.prototype, "coordinatesMode", void 0); + __decorate([ + BABYLON.serialize() + ], BaseTexture.prototype, "wrapU", void 0); + __decorate([ + BABYLON.serialize() + ], BaseTexture.prototype, "wrapV", void 0); + __decorate([ + BABYLON.serialize() + ], BaseTexture.prototype, "anisotropicFilteringLevel", void 0); + __decorate([ + BABYLON.serialize() + ], BaseTexture.prototype, "isCube", void 0); + __decorate([ + BABYLON.serialize() + ], BaseTexture.prototype, "isRenderTarget", void 0); + return BaseTexture; + }()); + BABYLON.BaseTexture = BaseTexture; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.baseTexture.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var Texture = (function (_super) { + __extends(Texture, _super); + function Texture(url, scene, noMipmap, invertY, samplingMode, onLoad, onError, buffer, deleteBuffer) { + var _this = this; + if (noMipmap === void 0) { noMipmap = false; } + if (invertY === void 0) { invertY = true; } + if (samplingMode === void 0) { samplingMode = Texture.TRILINEAR_SAMPLINGMODE; } + if (onLoad === void 0) { onLoad = null; } + if (onError === void 0) { onError = null; } + if (buffer === void 0) { buffer = null; } + if (deleteBuffer === void 0) { deleteBuffer = false; } + _super.call(this, scene); + this.uOffset = 0; + this.vOffset = 0; + this.uScale = 1.0; + this.vScale = 1.0; + this.uAng = 0; + this.vAng = 0; + this.wAng = 0; + this.name = url; + this.url = url; + this._noMipmap = noMipmap; + this._invertY = invertY; + this._samplingMode = samplingMode; + this._buffer = buffer; + this._deleteBuffer = deleteBuffer; + if (!url) { + return; + } + this._texture = this._getFromCache(url, noMipmap, samplingMode); + var load = function () { + if (_this._onLoadObservarble && _this._onLoadObservarble.hasObservers()) { + _this.onLoadObservable.notifyObservers(true); + } + if (onLoad) { + onLoad(); + } + }; + if (!this._texture) { + if (!scene.useDelayedTextureLoading) { + this._texture = scene.getEngine().createTexture(url, noMipmap, invertY, scene, this._samplingMode, load, onError, this._buffer); + if (deleteBuffer) { + delete this._buffer; + } + } + else { + this.delayLoadState = BABYLON.Engine.DELAYLOADSTATE_NOTLOADED; + this._delayedOnLoad = load; + this._delayedOnError = onError; + } + } + else { + if (this._texture.isReady) { + BABYLON.Tools.SetImmediate(function () { return load(); }); + } + else { + this._texture.onLoadedCallbacks.push(load); + } + } + } + Object.defineProperty(Texture.prototype, "noMipmap", { + get: function () { + return this._noMipmap; + }, + enumerable: true, + configurable: true + }); + Texture.prototype.delayLoad = function () { + if (this.delayLoadState !== BABYLON.Engine.DELAYLOADSTATE_NOTLOADED) { + return; + } + this.delayLoadState = BABYLON.Engine.DELAYLOADSTATE_LOADED; + this._texture = this._getFromCache(this.url, this._noMipmap, this._samplingMode); + if (!this._texture) { + this._texture = this.getScene().getEngine().createTexture(this.url, this._noMipmap, this._invertY, this.getScene(), this._samplingMode, this._delayedOnLoad, this._delayedOnError, this._buffer); + if (this._deleteBuffer) { + delete this._buffer; + } + } + }; + Texture.prototype.updateSamplingMode = function (samplingMode) { + if (!this._texture) { + return; + } + this._samplingMode = samplingMode; + this.getScene().getEngine().updateTextureSamplingMode(samplingMode, this._texture); + }; + Texture.prototype._prepareRowForTextureGeneration = function (x, y, z, t) { + x *= this.uScale; + y *= this.vScale; + x -= 0.5 * this.uScale; + y -= 0.5 * this.vScale; + z -= 0.5; + BABYLON.Vector3.TransformCoordinatesFromFloatsToRef(x, y, z, this._rowGenerationMatrix, t); + t.x += 0.5 * this.uScale + this.uOffset; + t.y += 0.5 * this.vScale + this.vOffset; + t.z += 0.5; + }; + Texture.prototype.getTextureMatrix = function () { + if (this.uOffset === this._cachedUOffset && + this.vOffset === this._cachedVOffset && + this.uScale === this._cachedUScale && + this.vScale === this._cachedVScale && + this.uAng === this._cachedUAng && + this.vAng === this._cachedVAng && + this.wAng === this._cachedWAng) { + return this._cachedTextureMatrix; + } + this._cachedUOffset = this.uOffset; + this._cachedVOffset = this.vOffset; + this._cachedUScale = this.uScale; + this._cachedVScale = this.vScale; + this._cachedUAng = this.uAng; + this._cachedVAng = this.vAng; + this._cachedWAng = this.wAng; + if (!this._cachedTextureMatrix) { + this._cachedTextureMatrix = BABYLON.Matrix.Zero(); + this._rowGenerationMatrix = new BABYLON.Matrix(); + this._t0 = BABYLON.Vector3.Zero(); + this._t1 = BABYLON.Vector3.Zero(); + this._t2 = BABYLON.Vector3.Zero(); + } + BABYLON.Matrix.RotationYawPitchRollToRef(this.vAng, this.uAng, this.wAng, this._rowGenerationMatrix); + this._prepareRowForTextureGeneration(0, 0, 0, this._t0); + this._prepareRowForTextureGeneration(1.0, 0, 0, this._t1); + this._prepareRowForTextureGeneration(0, 1.0, 0, this._t2); + this._t1.subtractInPlace(this._t0); + this._t2.subtractInPlace(this._t0); + BABYLON.Matrix.IdentityToRef(this._cachedTextureMatrix); + this._cachedTextureMatrix.m[0] = this._t1.x; + this._cachedTextureMatrix.m[1] = this._t1.y; + this._cachedTextureMatrix.m[2] = this._t1.z; + this._cachedTextureMatrix.m[4] = this._t2.x; + this._cachedTextureMatrix.m[5] = this._t2.y; + this._cachedTextureMatrix.m[6] = this._t2.z; + this._cachedTextureMatrix.m[8] = this._t0.x; + this._cachedTextureMatrix.m[9] = this._t0.y; + this._cachedTextureMatrix.m[10] = this._t0.z; + return this._cachedTextureMatrix; + }; + Texture.prototype.getReflectionTextureMatrix = function () { + if (this.uOffset === this._cachedUOffset && + this.vOffset === this._cachedVOffset && + this.uScale === this._cachedUScale && + this.vScale === this._cachedVScale && + this.coordinatesMode === this._cachedCoordinatesMode) { + return this._cachedTextureMatrix; + } + if (!this._cachedTextureMatrix) { + this._cachedTextureMatrix = BABYLON.Matrix.Zero(); + this._projectionModeMatrix = BABYLON.Matrix.Zero(); + } + this._cachedCoordinatesMode = this.coordinatesMode; + switch (this.coordinatesMode) { + case Texture.PLANAR_MODE: + BABYLON.Matrix.IdentityToRef(this._cachedTextureMatrix); + this._cachedTextureMatrix[0] = this.uScale; + this._cachedTextureMatrix[5] = this.vScale; + this._cachedTextureMatrix[12] = this.uOffset; + this._cachedTextureMatrix[13] = this.vOffset; + break; + case Texture.PROJECTION_MODE: + BABYLON.Matrix.IdentityToRef(this._projectionModeMatrix); + this._projectionModeMatrix.m[0] = 0.5; + this._projectionModeMatrix.m[5] = -0.5; + this._projectionModeMatrix.m[10] = 0.0; + this._projectionModeMatrix.m[12] = 0.5; + this._projectionModeMatrix.m[13] = 0.5; + this._projectionModeMatrix.m[14] = 1.0; + this._projectionModeMatrix.m[15] = 1.0; + this.getScene().getProjectionMatrix().multiplyToRef(this._projectionModeMatrix, this._cachedTextureMatrix); + break; + default: + BABYLON.Matrix.IdentityToRef(this._cachedTextureMatrix); + break; + } + return this._cachedTextureMatrix; + }; + Texture.prototype.clone = function () { + var _this = this; + return BABYLON.SerializationHelper.Clone(function () { + return new Texture(_this._texture.url, _this.getScene(), _this._noMipmap, _this._invertY, _this._samplingMode); + }, this); + }; + Object.defineProperty(Texture.prototype, "onLoadObservable", { + get: function () { + if (!this._onLoadObservarble) { + this._onLoadObservarble = new BABYLON.Observable(); + } + return this._onLoadObservarble; + }, + enumerable: true, + configurable: true + }); + // Statics + Texture.CreateFromBase64String = function (data, name, scene, noMipmap, invertY, samplingMode, onLoad, onError) { + if (samplingMode === void 0) { samplingMode = Texture.TRILINEAR_SAMPLINGMODE; } + if (onLoad === void 0) { onLoad = null; } + if (onError === void 0) { onError = null; } + return new Texture("data:" + name, scene, noMipmap, invertY, samplingMode, onLoad, onError, data); + }; + Texture.Parse = function (parsedTexture, scene, rootUrl) { + if (parsedTexture.customType) { + var customTexture = BABYLON.Tools.Instantiate(parsedTexture.customType); + return customTexture.Parse(parsedTexture, scene, rootUrl); + } + if (parsedTexture.isCube) { + return BABYLON.CubeTexture.Parse(parsedTexture, scene, rootUrl); + } + if (!parsedTexture.name && !parsedTexture.isRenderTarget) { + return null; + } + var texture = BABYLON.SerializationHelper.Parse(function () { + if (parsedTexture.mirrorPlane) { + var mirrorTexture = new BABYLON.MirrorTexture(parsedTexture.name, parsedTexture.renderTargetSize, scene); + mirrorTexture._waitingRenderList = parsedTexture.renderList; + mirrorTexture.mirrorPlane = BABYLON.Plane.FromArray(parsedTexture.mirrorPlane); + return mirrorTexture; + } + else if (parsedTexture.isRenderTarget) { + var renderTargetTexture = new BABYLON.RenderTargetTexture(parsedTexture.name, parsedTexture.renderTargetSize, scene); + renderTargetTexture._waitingRenderList = parsedTexture.renderList; + return renderTargetTexture; + } + else { + var texture; + if (parsedTexture.base64String) { + texture = Texture.CreateFromBase64String(parsedTexture.base64String, parsedTexture.name, scene); + } + else { + texture = new Texture(rootUrl + parsedTexture.name, scene); + } + return texture; + } + }, parsedTexture, scene); + // Animations + if (parsedTexture.animations) { + for (var animationIndex = 0; animationIndex < parsedTexture.animations.length; animationIndex++) { + var parsedAnimation = parsedTexture.animations[animationIndex]; + texture.animations.push(BABYLON.Animation.Parse(parsedAnimation)); + } + } + return texture; + }; + Texture.LoadFromDataString = function (name, buffer, scene, deleteBuffer, noMipmap, invertY, samplingMode, onLoad, onError) { + if (deleteBuffer === void 0) { deleteBuffer = false; } + if (noMipmap === void 0) { noMipmap = false; } + if (invertY === void 0) { invertY = true; } + if (samplingMode === void 0) { samplingMode = Texture.TRILINEAR_SAMPLINGMODE; } + if (onLoad === void 0) { onLoad = null; } + if (onError === void 0) { onError = null; } + if (name.substr(0, 5) !== "data:") { + name = "data:" + name; + } + return new Texture(name, scene, noMipmap, invertY, samplingMode, onLoad, onError, buffer, deleteBuffer); + }; + // Constants + Texture.NEAREST_SAMPLINGMODE = 1; + Texture.BILINEAR_SAMPLINGMODE = 2; + Texture.TRILINEAR_SAMPLINGMODE = 3; + Texture.EXPLICIT_MODE = 0; + Texture.SPHERICAL_MODE = 1; + Texture.PLANAR_MODE = 2; + Texture.CUBIC_MODE = 3; + Texture.PROJECTION_MODE = 4; + Texture.SKYBOX_MODE = 5; + Texture.INVCUBIC_MODE = 6; + Texture.EQUIRECTANGULAR_MODE = 7; + Texture.FIXED_EQUIRECTANGULAR_MODE = 8; + Texture.CLAMP_ADDRESSMODE = 0; + Texture.WRAP_ADDRESSMODE = 1; + Texture.MIRROR_ADDRESSMODE = 2; + __decorate([ + BABYLON.serialize() + ], Texture.prototype, "url", void 0); + __decorate([ + BABYLON.serialize() + ], Texture.prototype, "uOffset", void 0); + __decorate([ + BABYLON.serialize() + ], Texture.prototype, "vOffset", void 0); + __decorate([ + BABYLON.serialize() + ], Texture.prototype, "uScale", void 0); + __decorate([ + BABYLON.serialize() + ], Texture.prototype, "vScale", void 0); + __decorate([ + BABYLON.serialize() + ], Texture.prototype, "uAng", void 0); + __decorate([ + BABYLON.serialize() + ], Texture.prototype, "vAng", void 0); + __decorate([ + BABYLON.serialize() + ], Texture.prototype, "wAng", void 0); + return Texture; + }(BABYLON.BaseTexture)); + BABYLON.Texture = Texture; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.texture.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var CubeTexture = (function (_super) { + __extends(CubeTexture, _super); + function CubeTexture(rootUrl, scene, extensions, noMipmap, files, onLoad, onError) { + if (onLoad === void 0) { onLoad = null; } + if (onError === void 0) { onError = null; } + _super.call(this, scene); + this.coordinatesMode = BABYLON.Texture.CUBIC_MODE; + this.name = rootUrl; + this.url = rootUrl; + this._noMipmap = noMipmap; + this.hasAlpha = false; + if (!rootUrl && !files) { + return; + } + this._texture = this._getFromCache(rootUrl, noMipmap); + if (!files) { + if (!extensions) { + extensions = ["_px.jpg", "_py.jpg", "_pz.jpg", "_nx.jpg", "_ny.jpg", "_nz.jpg"]; + } + files = []; + for (var index = 0; index < extensions.length; index++) { + files.push(rootUrl + extensions[index]); + } + this._extensions = extensions; + } + this._files = files; + if (!this._texture) { + if (!scene.useDelayedTextureLoading) { + this._texture = scene.getEngine().createCubeTexture(rootUrl, scene, files, noMipmap, onLoad, onError); + } + else { + this.delayLoadState = BABYLON.Engine.DELAYLOADSTATE_NOTLOADED; + } + } + else if (onLoad) { + if (this._texture.isReady) { + BABYLON.Tools.SetImmediate(function () { return onLoad(); }); + } + else { + this._texture.onLoadedCallbacks.push(onLoad); + } + } + this.isCube = true; + this._textureMatrix = BABYLON.Matrix.Identity(); + } + CubeTexture.CreateFromImages = function (files, scene, noMipmap) { + return new CubeTexture("", scene, null, noMipmap, files); + }; + // Methods + CubeTexture.prototype.delayLoad = function () { + if (this.delayLoadState !== BABYLON.Engine.DELAYLOADSTATE_NOTLOADED) { + return; + } + this.delayLoadState = BABYLON.Engine.DELAYLOADSTATE_LOADED; + this._texture = this._getFromCache(this.url, this._noMipmap); + if (!this._texture) { + this._texture = this.getScene().getEngine().createCubeTexture(this.url, this.getScene(), this._files, this._noMipmap); + } + }; + CubeTexture.prototype.getReflectionTextureMatrix = function () { + return this._textureMatrix; + }; + CubeTexture.Parse = function (parsedTexture, scene, rootUrl) { + var texture = BABYLON.SerializationHelper.Parse(function () { + return new BABYLON.CubeTexture(rootUrl + parsedTexture.name, scene, parsedTexture.extensions); + }, parsedTexture, scene); + // Animations + if (parsedTexture.animations) { + for (var animationIndex = 0; animationIndex < parsedTexture.animations.length; animationIndex++) { + var parsedAnimation = parsedTexture.animations[animationIndex]; + texture.animations.push(BABYLON.Animation.Parse(parsedAnimation)); + } + } + return texture; + }; + CubeTexture.prototype.clone = function () { + var _this = this; + return BABYLON.SerializationHelper.Clone(function () { + return new CubeTexture(_this.url, _this.getScene(), _this._extensions, _this._noMipmap, _this._files); + }, this); + }; + return CubeTexture; + }(BABYLON.BaseTexture)); + BABYLON.CubeTexture = CubeTexture; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.cubeTexture.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var RenderTargetTexture = (function (_super) { + __extends(RenderTargetTexture, _super); + function RenderTargetTexture(name, size, scene, generateMipMaps, doNotChangeAspectRatio, type, isCube, samplingMode, generateDepthBuffer, generateStencilBuffer) { + if (doNotChangeAspectRatio === void 0) { doNotChangeAspectRatio = true; } + if (type === void 0) { type = BABYLON.Engine.TEXTURETYPE_UNSIGNED_INT; } + if (isCube === void 0) { isCube = false; } + if (samplingMode === void 0) { samplingMode = BABYLON.Texture.TRILINEAR_SAMPLINGMODE; } + if (generateDepthBuffer === void 0) { generateDepthBuffer = true; } + if (generateStencilBuffer === void 0) { generateStencilBuffer = false; } + _super.call(this, null, scene, !generateMipMaps); + this.isCube = isCube; + /** + * Use this list to define the list of mesh you want to render. + */ + this.renderList = new Array(); + this.renderParticles = true; + this.renderSprites = false; + this.coordinatesMode = BABYLON.Texture.PROJECTION_MODE; + // Events + /** + * An event triggered when the texture is unbind. + * @type {BABYLON.Observable} + */ + this.onAfterUnbindObservable = new BABYLON.Observable(); + /** + * An event triggered before rendering the texture + * @type {BABYLON.Observable} + */ + this.onBeforeRenderObservable = new BABYLON.Observable(); + /** + * An event triggered after rendering the texture + * @type {BABYLON.Observable} + */ + this.onAfterRenderObservable = new BABYLON.Observable(); + /** + * An event triggered after the texture clear + * @type {BABYLON.Observable} + */ + this.onClearObservable = new BABYLON.Observable(); + this._currentRefreshId = -1; + this._refreshRate = 1; + this.name = name; + this.isRenderTarget = true; + this._size = size; + this._generateMipMaps = generateMipMaps; + this._doNotChangeAspectRatio = doNotChangeAspectRatio; + if (samplingMode === BABYLON.Texture.NEAREST_SAMPLINGMODE) { + this.wrapU = BABYLON.Texture.CLAMP_ADDRESSMODE; + this.wrapV = BABYLON.Texture.CLAMP_ADDRESSMODE; + } + if (isCube) { + this._texture = scene.getEngine().createRenderTargetCubeTexture(size, { + generateMipMaps: generateMipMaps, + samplingMode: samplingMode, + generateDepthBuffer: generateDepthBuffer, + generateStencilBuffer: generateStencilBuffer + }); + this.coordinatesMode = BABYLON.Texture.INVCUBIC_MODE; + this._textureMatrix = BABYLON.Matrix.Identity(); + } + else { + this._texture = scene.getEngine().createRenderTargetTexture(size, { + generateMipMaps: generateMipMaps, + type: type, + samplingMode: samplingMode, + generateDepthBuffer: generateDepthBuffer, + generateStencilBuffer: generateStencilBuffer + }); + } + // Rendering groups + this._renderingManager = new BABYLON.RenderingManager(scene); + } + Object.defineProperty(RenderTargetTexture, "REFRESHRATE_RENDER_ONCE", { + get: function () { + return RenderTargetTexture._REFRESHRATE_RENDER_ONCE; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(RenderTargetTexture, "REFRESHRATE_RENDER_ONEVERYFRAME", { + get: function () { + return RenderTargetTexture._REFRESHRATE_RENDER_ONEVERYFRAME; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(RenderTargetTexture, "REFRESHRATE_RENDER_ONEVERYTWOFRAMES", { + get: function () { + return RenderTargetTexture._REFRESHRATE_RENDER_ONEVERYTWOFRAMES; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(RenderTargetTexture.prototype, "onAfterUnbind", { + set: function (callback) { + if (this._onAfterUnbindObserver) { + this.onAfterUnbindObservable.remove(this._onAfterUnbindObserver); + } + this._onAfterUnbindObserver = this.onAfterUnbindObservable.add(callback); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(RenderTargetTexture.prototype, "onBeforeRender", { + set: function (callback) { + if (this._onBeforeRenderObserver) { + this.onBeforeRenderObservable.remove(this._onBeforeRenderObserver); + } + this._onBeforeRenderObserver = this.onBeforeRenderObservable.add(callback); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(RenderTargetTexture.prototype, "onAfterRender", { + set: function (callback) { + if (this._onAfterRenderObserver) { + this.onAfterRenderObservable.remove(this._onAfterRenderObserver); + } + this._onAfterRenderObserver = this.onAfterRenderObservable.add(callback); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(RenderTargetTexture.prototype, "onClear", { + set: function (callback) { + if (this._onClearObserver) { + this.onClearObservable.remove(this._onClearObserver); + } + this._onClearObserver = this.onClearObservable.add(callback); + }, + enumerable: true, + configurable: true + }); + RenderTargetTexture.prototype.resetRefreshCounter = function () { + this._currentRefreshId = -1; + }; + Object.defineProperty(RenderTargetTexture.prototype, "refreshRate", { + get: function () { + return this._refreshRate; + }, + // Use 0 to render just once, 1 to render on every frame, 2 to render every two frames and so on... + set: function (value) { + this._refreshRate = value; + this.resetRefreshCounter(); + }, + enumerable: true, + configurable: true + }); + RenderTargetTexture.prototype._shouldRender = function () { + if (this._currentRefreshId === -1) { + this._currentRefreshId = 1; + return true; + } + if (this.refreshRate === this._currentRefreshId) { + this._currentRefreshId = 1; + return true; + } + this._currentRefreshId++; + return false; + }; + RenderTargetTexture.prototype.isReady = function () { + if (!this.getScene().renderTargetsEnabled) { + return false; + } + return _super.prototype.isReady.call(this); + }; + RenderTargetTexture.prototype.getRenderSize = function () { + return this._size; + }; + Object.defineProperty(RenderTargetTexture.prototype, "canRescale", { + get: function () { + return true; + }, + enumerable: true, + configurable: true + }); + RenderTargetTexture.prototype.scale = function (ratio) { + var newSize = this._size * ratio; + this.resize(newSize, this._generateMipMaps); + }; + RenderTargetTexture.prototype.getReflectionTextureMatrix = function () { + if (this.isCube) { + return this._textureMatrix; + } + return _super.prototype.getReflectionTextureMatrix.call(this); + }; + RenderTargetTexture.prototype.resize = function (size, generateMipMaps) { + this.releaseInternalTexture(); + if (this.isCube) { + this._texture = this.getScene().getEngine().createRenderTargetCubeTexture(size); + } + else { + this._texture = this.getScene().getEngine().createRenderTargetTexture(size, generateMipMaps); + } + }; + RenderTargetTexture.prototype.render = function (useCameraPostProcess, dumpForDebug) { + var scene = this.getScene(); + if (this.useCameraPostProcesses !== undefined) { + useCameraPostProcess = this.useCameraPostProcesses; + } + if (this.activeCamera && this.activeCamera !== scene.activeCamera) { + scene.setTransformMatrix(this.activeCamera.getViewMatrix(), this.activeCamera.getProjectionMatrix(true)); + } + if (this._waitingRenderList) { + this.renderList = []; + for (var index = 0; index < this._waitingRenderList.length; index++) { + var id = this._waitingRenderList[index]; + this.renderList.push(scene.getMeshByID(id)); + } + delete this._waitingRenderList; + } + // Is predicate defined? + if (this.renderListPredicate) { + this.renderList.splice(0); // Clear previous renderList + var sceneMeshes = this.getScene().meshes; + for (var index = 0; index < sceneMeshes.length; index++) { + var mesh = sceneMeshes[index]; + if (this.renderListPredicate(mesh)) { + this.renderList.push(mesh); + } + } + } + if (this.renderList && this.renderList.length === 0) { + return; + } + // Prepare renderingManager + this._renderingManager.reset(); + var currentRenderList = this.renderList ? this.renderList : scene.getActiveMeshes().data; + var currentRenderListLength = this.renderList ? this.renderList.length : scene.getActiveMeshes().length; + var sceneRenderId = scene.getRenderId(); + for (var meshIndex = 0; meshIndex < currentRenderListLength; meshIndex++) { + var mesh = currentRenderList[meshIndex]; + if (mesh) { + if (!mesh.isReady()) { + // Reset _currentRefreshId + this.resetRefreshCounter(); + continue; + } + mesh._preActivateForIntermediateRendering(sceneRenderId); + if (mesh.isEnabled() && mesh.isVisible && mesh.subMeshes && ((mesh.layerMask & scene.activeCamera.layerMask) !== 0)) { + mesh._activate(sceneRenderId); + for (var subIndex = 0; subIndex < mesh.subMeshes.length; subIndex++) { + var subMesh = mesh.subMeshes[subIndex]; + scene._activeIndices.addCount(subMesh.indexCount, false); + this._renderingManager.dispatch(subMesh); + } + } + } + } + if (this.isCube) { + for (var face = 0; face < 6; face++) { + this.renderToTarget(face, currentRenderList, currentRenderListLength, useCameraPostProcess, dumpForDebug); + scene.incrementRenderId(); + scene.resetCachedMaterial(); + } + } + else { + this.renderToTarget(0, currentRenderList, currentRenderListLength, useCameraPostProcess, dumpForDebug); + } + this.onAfterUnbindObservable.notifyObservers(this); + if (this.activeCamera && this.activeCamera !== scene.activeCamera) { + scene.setTransformMatrix(scene.activeCamera.getViewMatrix(), scene.activeCamera.getProjectionMatrix(true)); + } + scene.resetCachedMaterial(); + }; + RenderTargetTexture.prototype.renderToTarget = function (faceIndex, currentRenderList, currentRenderListLength, useCameraPostProcess, dumpForDebug) { + var scene = this.getScene(); + var engine = scene.getEngine(); + // Bind + if (!useCameraPostProcess || !scene.postProcessManager._prepareFrame(this._texture)) { + if (this.isCube) { + engine.bindFramebuffer(this._texture, faceIndex); + } + else { + engine.bindFramebuffer(this._texture); + } + } + this.onBeforeRenderObservable.notifyObservers(faceIndex); + // Clear + if (this.onClearObservable.hasObservers()) { + this.onClearObservable.notifyObservers(engine); + } + else { + engine.clear(scene.clearColor, true, true, true); + } + if (!this._doNotChangeAspectRatio) { + scene.updateTransformMatrix(true); + } + // Render + this._renderingManager.render(this.customRenderFunction, currentRenderList, this.renderParticles, this.renderSprites); + if (useCameraPostProcess) { + scene.postProcessManager._finalizeFrame(false, this._texture, faceIndex); + } + if (!this._doNotChangeAspectRatio) { + scene.updateTransformMatrix(true); + } + this.onAfterRenderObservable.notifyObservers(faceIndex); + // Dump ? + if (dumpForDebug) { + BABYLON.Tools.DumpFramebuffer(this._size, this._size, engine); + } + // Unbind + if (!this.isCube || faceIndex === 5) { + if (this.isCube) { + if (faceIndex === 5) { + engine.generateMipMapsForCubemap(this._texture); + } + } + engine.unBindFramebuffer(this._texture, this.isCube); + } + }; + /** + * Overrides the default sort function applied in the renderging group to prepare the meshes. + * This allowed control for front to back rendering or reversly depending of the special needs. + * + * @param renderingGroupId The rendering group id corresponding to its index + * @param opaqueSortCompareFn The opaque queue comparison function use to sort. + * @param alphaTestSortCompareFn The alpha test queue comparison function use to sort. + * @param transparentSortCompareFn The transparent queue comparison function use to sort. + */ + RenderTargetTexture.prototype.setRenderingOrder = function (renderingGroupId, opaqueSortCompareFn, alphaTestSortCompareFn, transparentSortCompareFn) { + if (opaqueSortCompareFn === void 0) { opaqueSortCompareFn = null; } + if (alphaTestSortCompareFn === void 0) { alphaTestSortCompareFn = null; } + if (transparentSortCompareFn === void 0) { transparentSortCompareFn = null; } + this._renderingManager.setRenderingOrder(renderingGroupId, opaqueSortCompareFn, alphaTestSortCompareFn, transparentSortCompareFn); + }; + /** + * Specifies whether or not the stencil and depth buffer are cleared between two rendering groups. + * + * @param renderingGroupId The rendering group id corresponding to its index + * @param autoClearDepthStencil Automatically clears depth and stencil between groups if true. + */ + RenderTargetTexture.prototype.setRenderingAutoClearDepthStencil = function (renderingGroupId, autoClearDepthStencil) { + this._renderingManager.setRenderingAutoClearDepthStencil(renderingGroupId, autoClearDepthStencil); + }; + RenderTargetTexture.prototype.clone = function () { + var textureSize = this.getSize(); + var newTexture = new RenderTargetTexture(this.name, textureSize.width, this.getScene(), this._generateMipMaps); + // Base texture + newTexture.hasAlpha = this.hasAlpha; + newTexture.level = this.level; + // RenderTarget Texture + newTexture.coordinatesMode = this.coordinatesMode; + newTexture.renderList = this.renderList.slice(0); + return newTexture; + }; + RenderTargetTexture.prototype.serialize = function () { + if (!this.name) { + return null; + } + var serializationObject = _super.prototype.serialize.call(this); + serializationObject.renderTargetSize = this.getRenderSize(); + serializationObject.renderList = []; + for (var index = 0; index < this.renderList.length; index++) { + serializationObject.renderList.push(this.renderList[index].id); + } + return serializationObject; + }; + RenderTargetTexture._REFRESHRATE_RENDER_ONCE = 0; + RenderTargetTexture._REFRESHRATE_RENDER_ONEVERYFRAME = 1; + RenderTargetTexture._REFRESHRATE_RENDER_ONEVERYTWOFRAMES = 2; + return RenderTargetTexture; + }(BABYLON.Texture)); + BABYLON.RenderTargetTexture = RenderTargetTexture; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.renderTargetTexture.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var ProceduralTexture = (function (_super) { + __extends(ProceduralTexture, _super); + function ProceduralTexture(name, size, fragment, scene, fallbackTexture, generateMipMaps, isCube) { + if (generateMipMaps === void 0) { generateMipMaps = true; } + if (isCube === void 0) { isCube = false; } + _super.call(this, null, scene, !generateMipMaps); + this.isCube = isCube; + this.isEnabled = true; + this._currentRefreshId = -1; + this._refreshRate = 1; + this._vertexBuffers = {}; + this._uniforms = new Array(); + this._samplers = new Array(); + this._textures = new Array(); + this._floats = new Array(); + this._floatsArrays = {}; + this._colors3 = new Array(); + this._colors4 = new Array(); + this._vectors2 = new Array(); + this._vectors3 = new Array(); + this._matrices = new Array(); + this._fallbackTextureUsed = false; + scene._proceduralTextures.push(this); + this.name = name; + this.isRenderTarget = true; + this._size = size; + this._generateMipMaps = generateMipMaps; + this.setFragment(fragment); + this._fallbackTexture = fallbackTexture; + var engine = scene.getEngine(); + if (isCube) { + this._texture = engine.createRenderTargetCubeTexture(size, { generateMipMaps: generateMipMaps }); + this.setFloat("face", 0); + } + else { + this._texture = engine.createRenderTargetTexture(size, generateMipMaps); + } + // VBO + var vertices = []; + vertices.push(1, 1); + vertices.push(-1, 1); + vertices.push(-1, -1); + vertices.push(1, -1); + this._vertexBuffers[BABYLON.VertexBuffer.PositionKind] = new BABYLON.VertexBuffer(engine, vertices, BABYLON.VertexBuffer.PositionKind, false, false, 2); + // Indices + var indices = []; + indices.push(0); + indices.push(1); + indices.push(2); + indices.push(0); + indices.push(2); + indices.push(3); + this._indexBuffer = engine.createIndexBuffer(indices); + } + ProceduralTexture.prototype.reset = function () { + if (this._effect === undefined) { + return; + } + var engine = this.getScene().getEngine(); + engine._releaseEffect(this._effect); + }; + ProceduralTexture.prototype.isReady = function () { + var _this = this; + var engine = this.getScene().getEngine(); + var shaders; + if (!this._fragment) { + return false; + } + if (this._fallbackTextureUsed) { + return true; + } + if (this._fragment.fragmentElement !== undefined) { + shaders = { vertex: "procedural", fragmentElement: this._fragment.fragmentElement }; + } + else { + shaders = { vertex: "procedural", fragment: this._fragment }; + } + this._effect = engine.createEffect(shaders, [BABYLON.VertexBuffer.PositionKind], this._uniforms, this._samplers, "", null, null, function () { + _this.releaseInternalTexture(); + if (_this._fallbackTexture) { + _this._texture = _this._fallbackTexture._texture; + _this._texture.references++; + } + _this._fallbackTextureUsed = true; + }); + return this._effect.isReady(); + }; + ProceduralTexture.prototype.resetRefreshCounter = function () { + this._currentRefreshId = -1; + }; + ProceduralTexture.prototype.setFragment = function (fragment) { + this._fragment = fragment; + }; + Object.defineProperty(ProceduralTexture.prototype, "refreshRate", { + get: function () { + return this._refreshRate; + }, + // Use 0 to render just once, 1 to render on every frame, 2 to render every two frames and so on... + set: function (value) { + this._refreshRate = value; + this.resetRefreshCounter(); + }, + enumerable: true, + configurable: true + }); + ProceduralTexture.prototype._shouldRender = function () { + if (!this.isEnabled || !this.isReady() || !this._texture) { + return false; + } + if (this._fallbackTextureUsed) { + return false; + } + if (this._currentRefreshId === -1) { + this._currentRefreshId = 1; + return true; + } + if (this.refreshRate === this._currentRefreshId) { + this._currentRefreshId = 1; + return true; + } + this._currentRefreshId++; + return false; + }; + ProceduralTexture.prototype.getRenderSize = function () { + return this._size; + }; + ProceduralTexture.prototype.resize = function (size, generateMipMaps) { + if (this._fallbackTextureUsed) { + return; + } + this.releaseInternalTexture(); + this._texture = this.getScene().getEngine().createRenderTargetTexture(size, generateMipMaps); + }; + ProceduralTexture.prototype._checkUniform = function (uniformName) { + if (this._uniforms.indexOf(uniformName) === -1) { + this._uniforms.push(uniformName); + } + }; + ProceduralTexture.prototype.setTexture = function (name, texture) { + if (this._samplers.indexOf(name) === -1) { + this._samplers.push(name); + } + this._textures[name] = texture; + return this; + }; + ProceduralTexture.prototype.setFloat = function (name, value) { + this._checkUniform(name); + this._floats[name] = value; + return this; + }; + ProceduralTexture.prototype.setFloats = function (name, value) { + this._checkUniform(name); + this._floatsArrays[name] = value; + return this; + }; + ProceduralTexture.prototype.setColor3 = function (name, value) { + this._checkUniform(name); + this._colors3[name] = value; + return this; + }; + ProceduralTexture.prototype.setColor4 = function (name, value) { + this._checkUniform(name); + this._colors4[name] = value; + return this; + }; + ProceduralTexture.prototype.setVector2 = function (name, value) { + this._checkUniform(name); + this._vectors2[name] = value; + return this; + }; + ProceduralTexture.prototype.setVector3 = function (name, value) { + this._checkUniform(name); + this._vectors3[name] = value; + return this; + }; + ProceduralTexture.prototype.setMatrix = function (name, value) { + this._checkUniform(name); + this._matrices[name] = value; + return this; + }; + ProceduralTexture.prototype.render = function (useCameraPostProcess) { + var scene = this.getScene(); + var engine = scene.getEngine(); + // Render + engine.enableEffect(this._effect); + engine.setState(false); + // Texture + for (var name in this._textures) { + this._effect.setTexture(name, this._textures[name]); + } + // Float + for (name in this._floats) { + this._effect.setFloat(name, this._floats[name]); + } + // Floats + for (name in this._floatsArrays) { + this._effect.setArray(name, this._floatsArrays[name]); + } + // Color3 + for (name in this._colors3) { + this._effect.setColor3(name, this._colors3[name]); + } + // Color4 + for (name in this._colors4) { + var color = this._colors4[name]; + this._effect.setFloat4(name, color.r, color.g, color.b, color.a); + } + // Vector2 + for (name in this._vectors2) { + this._effect.setVector2(name, this._vectors2[name]); + } + // Vector3 + for (name in this._vectors3) { + this._effect.setVector3(name, this._vectors3[name]); + } + // Matrix + for (name in this._matrices) { + this._effect.setMatrix(name, this._matrices[name]); + } + // VBOs + engine.bindBuffers(this._vertexBuffers, this._indexBuffer, this._effect); + if (this.isCube) { + for (var face = 0; face < 6; face++) { + engine.bindFramebuffer(this._texture, face); + this._effect.setFloat("face", face); + // Clear + engine.clear(scene.clearColor, true, true, true); + // Draw order + engine.draw(true, 0, 6); + // Mipmaps + if (face === 5) { + engine.generateMipMapsForCubemap(this._texture); + } + } + } + else { + engine.bindFramebuffer(this._texture); + // Clear + engine.clear(scene.clearColor, true, true, true); + // Draw order + engine.draw(true, 0, 6); + } + // Unbind + engine.unBindFramebuffer(this._texture, this.isCube); + if (this.onGenerated) { + this.onGenerated(); + } + }; + ProceduralTexture.prototype.clone = function () { + var textureSize = this.getSize(); + var newTexture = new ProceduralTexture(this.name, textureSize.width, this._fragment, this.getScene(), this._fallbackTexture, this._generateMipMaps); + // Base texture + newTexture.hasAlpha = this.hasAlpha; + newTexture.level = this.level; + // RenderTarget Texture + newTexture.coordinatesMode = this.coordinatesMode; + return newTexture; + }; + ProceduralTexture.prototype.dispose = function () { + var index = this.getScene()._proceduralTextures.indexOf(this); + if (index >= 0) { + this.getScene()._proceduralTextures.splice(index, 1); + } + var vertexBuffer = this._vertexBuffers[BABYLON.VertexBuffer.PositionKind]; + if (vertexBuffer) { + vertexBuffer.dispose(); + this._vertexBuffers[BABYLON.VertexBuffer.PositionKind] = null; + } + if (this._indexBuffer && this.getScene().getEngine()._releaseBuffer(this._indexBuffer)) { + this._indexBuffer = null; + } + _super.prototype.dispose.call(this); + }; + return ProceduralTexture; + }(BABYLON.Texture)); + BABYLON.ProceduralTexture = ProceduralTexture; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.proceduralTexture.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var MirrorTexture = (function (_super) { + __extends(MirrorTexture, _super); + function MirrorTexture(name, size, scene, generateMipMaps) { + var _this = this; + _super.call(this, name, size, scene, generateMipMaps, true); + this.mirrorPlane = new BABYLON.Plane(0, 1, 0, 1); + this._transformMatrix = BABYLON.Matrix.Zero(); + this._mirrorMatrix = BABYLON.Matrix.Zero(); + this.onBeforeRenderObservable.add(function () { + BABYLON.Matrix.ReflectionToRef(_this.mirrorPlane, _this._mirrorMatrix); + _this._savedViewMatrix = scene.getViewMatrix(); + _this._mirrorMatrix.multiplyToRef(_this._savedViewMatrix, _this._transformMatrix); + scene.setTransformMatrix(_this._transformMatrix, scene.getProjectionMatrix()); + scene.clipPlane = _this.mirrorPlane; + scene.getEngine().cullBackFaces = false; + scene._mirroredCameraPosition = BABYLON.Vector3.TransformCoordinates(scene.activeCamera.position, _this._mirrorMatrix); + }); + this.onAfterRenderObservable.add(function () { + scene.setTransformMatrix(_this._savedViewMatrix, scene.getProjectionMatrix()); + scene.getEngine().cullBackFaces = true; + scene._mirroredCameraPosition = null; + delete scene.clipPlane; + }); + } + MirrorTexture.prototype.clone = function () { + var textureSize = this.getSize(); + var newTexture = new MirrorTexture(this.name, textureSize.width, this.getScene(), this._generateMipMaps); + // Base texture + newTexture.hasAlpha = this.hasAlpha; + newTexture.level = this.level; + // Mirror Texture + newTexture.mirrorPlane = this.mirrorPlane.clone(); + newTexture.renderList = this.renderList.slice(0); + return newTexture; + }; + MirrorTexture.prototype.serialize = function () { + if (!this.name) { + return null; + } + var serializationObject = _super.prototype.serialize.call(this); + serializationObject.mirrorPlane = this.mirrorPlane.asArray(); + return serializationObject; + }; + return MirrorTexture; + }(BABYLON.RenderTargetTexture)); + BABYLON.MirrorTexture = MirrorTexture; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.mirrorTexture.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + /** + * Creates a refraction texture used by refraction channel of the standard material. + * @param name the texture name + * @param size size of the underlying texture + * @param scene root scene + */ + var RefractionTexture = (function (_super) { + __extends(RefractionTexture, _super); + function RefractionTexture(name, size, scene, generateMipMaps) { + var _this = this; + _super.call(this, name, size, scene, generateMipMaps, true); + this.refractionPlane = new BABYLON.Plane(0, 1, 0, 1); + this.depth = 2.0; + this.onBeforeRenderObservable.add(function () { + scene.clipPlane = _this.refractionPlane; + }); + this.onAfterRenderObservable.add(function () { + delete scene.clipPlane; + }); + } + RefractionTexture.prototype.clone = function () { + var textureSize = this.getSize(); + var newTexture = new RefractionTexture(this.name, textureSize.width, this.getScene(), this._generateMipMaps); + // Base texture + newTexture.hasAlpha = this.hasAlpha; + newTexture.level = this.level; + // Refraction Texture + newTexture.refractionPlane = this.refractionPlane.clone(); + newTexture.renderList = this.renderList.slice(0); + newTexture.depth = this.depth; + return newTexture; + }; + RefractionTexture.prototype.serialize = function () { + if (!this.name) { + return null; + } + var serializationObject = _super.prototype.serialize.call(this); + serializationObject.mirrorPlane = this.refractionPlane.asArray(); + serializationObject.depth = this.depth; + return serializationObject; + }; + return RefractionTexture; + }(BABYLON.RenderTargetTexture)); + BABYLON.RefractionTexture = RefractionTexture; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.refractionTexture.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var DynamicTexture = (function (_super) { + __extends(DynamicTexture, _super); + function DynamicTexture(name, options, scene, generateMipMaps, samplingMode) { + if (samplingMode === void 0) { samplingMode = BABYLON.Texture.TRILINEAR_SAMPLINGMODE; } + _super.call(this, null, scene, !generateMipMaps); + this.name = name; + this.wrapU = BABYLON.Texture.CLAMP_ADDRESSMODE; + this.wrapV = BABYLON.Texture.CLAMP_ADDRESSMODE; + this._generateMipMaps = generateMipMaps; + if (options.getContext) { + this._canvas = options; + this._texture = scene.getEngine().createDynamicTexture(options.width, options.height, generateMipMaps, samplingMode); + } + else { + this._canvas = document.createElement("canvas"); + if (options.width) { + this._texture = scene.getEngine().createDynamicTexture(options.width, options.height, generateMipMaps, samplingMode); + } + else { + this._texture = scene.getEngine().createDynamicTexture(options, options, generateMipMaps, samplingMode); + } + } + var textureSize = this.getSize(); + this._canvas.width = textureSize.width; + this._canvas.height = textureSize.height; + this._context = this._canvas.getContext("2d"); + } + Object.defineProperty(DynamicTexture.prototype, "canRescale", { + get: function () { + return true; + }, + enumerable: true, + configurable: true + }); + DynamicTexture.prototype.scale = function (ratio) { + var textureSize = this.getSize(); + textureSize.width *= ratio; + textureSize.height *= ratio; + this._canvas.width = textureSize.width; + this._canvas.height = textureSize.height; + this.releaseInternalTexture(); + this._texture = this.getScene().getEngine().createDynamicTexture(textureSize.width, textureSize.height, this._generateMipMaps, this._samplingMode); + }; + DynamicTexture.prototype.getContext = function () { + return this._context; + }; + DynamicTexture.prototype.clear = function () { + var size = this.getSize(); + this._context.fillRect(0, 0, size.width, size.height); + }; + DynamicTexture.prototype.update = function (invertY) { + this.getScene().getEngine().updateDynamicTexture(this._texture, this._canvas, invertY === undefined ? true : invertY); + }; + DynamicTexture.prototype.drawText = function (text, x, y, font, color, clearColor, invertY, update) { + if (update === void 0) { update = true; } + var size = this.getSize(); + if (clearColor) { + this._context.fillStyle = clearColor; + this._context.fillRect(0, 0, size.width, size.height); + } + this._context.font = font; + if (x === null) { + var textSize = this._context.measureText(text); + x = (size.width - textSize.width) / 2; + } + this._context.fillStyle = color; + this._context.fillText(text, x, y); + if (update) { + this.update(invertY); + } + }; + DynamicTexture.prototype.clone = function () { + var textureSize = this.getSize(); + var newTexture = new DynamicTexture(this.name, textureSize, this.getScene(), this._generateMipMaps); + // Base texture + newTexture.hasAlpha = this.hasAlpha; + newTexture.level = this.level; + // Dynamic Texture + newTexture.wrapU = this.wrapU; + newTexture.wrapV = this.wrapV; + return newTexture; + }; + return DynamicTexture; + }(BABYLON.Texture)); + BABYLON.DynamicTexture = DynamicTexture; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.dynamicTexture.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var VideoTexture = (function (_super) { + __extends(VideoTexture, _super); + /** + * Creates a video texture. + * Sample : https://doc.babylonjs.com/tutorials/01._Advanced_Texturing + * @param {Array} urlsOrVideo can be used to provide an array of urls or an already setup HTML video element. + * @param {BABYLON.Scene} scene is obviously the current scene. + * @param {boolean} generateMipMaps can be used to turn on mipmaps (Can be expensive for videoTextures because they are often updated). + * @param {boolean} invertY is false by default but can be used to invert video on Y axis + * @param {number} samplingMode controls the sampling method and is set to TRILINEAR_SAMPLINGMODE by default + */ + function VideoTexture(name, urlsOrVideo, scene, generateMipMaps, invertY, samplingMode) { + var _this = this; + if (generateMipMaps === void 0) { generateMipMaps = false; } + if (invertY === void 0) { invertY = false; } + if (samplingMode === void 0) { samplingMode = BABYLON.Texture.TRILINEAR_SAMPLINGMODE; } + _super.call(this, null, scene, !generateMipMaps, invertY); + this._autoLaunch = true; + var urls; + this.name = name; + if (urlsOrVideo instanceof HTMLVideoElement) { + this.video = urlsOrVideo; + } + else { + urls = urlsOrVideo; + this.video = document.createElement("video"); + this.video.autoplay = false; + this.video.loop = true; + } + this._generateMipMaps = generateMipMaps; + this._samplingMode = samplingMode; + if (BABYLON.Tools.IsExponentOfTwo(this.video.videoWidth) && BABYLON.Tools.IsExponentOfTwo(this.video.videoHeight)) { + this.wrapU = BABYLON.Texture.WRAP_ADDRESSMODE; + this.wrapV = BABYLON.Texture.WRAP_ADDRESSMODE; + } + else { + this.wrapU = BABYLON.Texture.CLAMP_ADDRESSMODE; + this.wrapV = BABYLON.Texture.CLAMP_ADDRESSMODE; + this._generateMipMaps = false; + } + if (urls) { + this.video.addEventListener("canplaythrough", function () { + _this._createTexture(); + }); + urls.forEach(function (url) { + var source = document.createElement("source"); + source.src = url; + _this.video.appendChild(source); + }); + } + else { + this._createTexture(); + } + this._lastUpdate = BABYLON.Tools.Now; + } + VideoTexture.prototype._createTexture = function () { + this._texture = this.getScene().getEngine().createDynamicTexture(this.video.videoWidth, this.video.videoHeight, this._generateMipMaps, this._samplingMode); + this._texture.isReady = true; + }; + VideoTexture.prototype.update = function () { + if (this._autoLaunch) { + this._autoLaunch = false; + this.video.play(); + } + var now = BABYLON.Tools.Now; + if (now - this._lastUpdate < 15 || this.video.readyState !== this.video.HAVE_ENOUGH_DATA) { + return false; + } + this._lastUpdate = now; + this.getScene().getEngine().updateVideoTexture(this._texture, this.video, this._invertY); + return true; + }; + return VideoTexture; + }(BABYLON.Texture)); + BABYLON.VideoTexture = VideoTexture; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.videoTexture.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var CustomProceduralTexture = (function (_super) { + __extends(CustomProceduralTexture, _super); + function CustomProceduralTexture(name, texturePath, size, scene, fallbackTexture, generateMipMaps) { + _super.call(this, name, size, null, scene, fallbackTexture, generateMipMaps); + this._animate = true; + this._time = 0; + this._texturePath = texturePath; + //Try to load json + this.loadJson(texturePath); + this.refreshRate = 1; + } + CustomProceduralTexture.prototype.loadJson = function (jsonUrl) { + var _this = this; + var that = this; + function noConfigFile() { + BABYLON.Tools.Log("No config file found in " + jsonUrl + " trying to use ShadersStore or DOM element"); + try { + that.setFragment(that._texturePath); + } + catch (ex) { + BABYLON.Tools.Error("No json or ShaderStore or DOM element found for CustomProceduralTexture"); + } + } + var configFileUrl = jsonUrl + "/config.json"; + var xhr = new XMLHttpRequest(); + xhr.open("GET", configFileUrl, true); + xhr.addEventListener("load", function () { + if (xhr.status === 200 || BABYLON.Tools.ValidateXHRData(xhr, 1)) { + try { + _this._config = JSON.parse(xhr.response); + _this.updateShaderUniforms(); + _this.updateTextures(); + _this.setFragment(_this._texturePath + "/custom"); + _this._animate = _this._config.animate; + _this.refreshRate = _this._config.refreshrate; + } + catch (ex) { + noConfigFile(); + } + } + else { + noConfigFile(); + } + }, false); + xhr.addEventListener("error", function () { + noConfigFile(); + }, false); + try { + xhr.send(); + } + catch (ex) { + BABYLON.Tools.Error("CustomProceduralTexture: Error on XHR send request."); + } + }; + CustomProceduralTexture.prototype.isReady = function () { + if (!_super.prototype.isReady.call(this)) { + return false; + } + for (var name in this._textures) { + var texture = this._textures[name]; + if (!texture.isReady()) { + return false; + } + } + return true; + }; + CustomProceduralTexture.prototype.render = function (useCameraPostProcess) { + if (this._animate) { + this._time += this.getScene().getAnimationRatio() * 0.03; + this.updateShaderUniforms(); + } + _super.prototype.render.call(this, useCameraPostProcess); + }; + CustomProceduralTexture.prototype.updateTextures = function () { + for (var i = 0; i < this._config.sampler2Ds.length; i++) { + this.setTexture(this._config.sampler2Ds[i].sample2Dname, new BABYLON.Texture(this._texturePath + "/" + this._config.sampler2Ds[i].textureRelativeUrl, this.getScene())); + } + }; + CustomProceduralTexture.prototype.updateShaderUniforms = function () { + if (this._config) { + for (var j = 0; j < this._config.uniforms.length; j++) { + var uniform = this._config.uniforms[j]; + switch (uniform.type) { + case "float": + this.setFloat(uniform.name, uniform.value); + break; + case "color3": + this.setColor3(uniform.name, new BABYLON.Color3(uniform.r, uniform.g, uniform.b)); + break; + case "color4": + this.setColor4(uniform.name, new BABYLON.Color4(uniform.r, uniform.g, uniform.b, uniform.a)); + break; + case "vector2": + this.setVector2(uniform.name, new BABYLON.Vector2(uniform.x, uniform.y)); + break; + case "vector3": + this.setVector3(uniform.name, new BABYLON.Vector3(uniform.x, uniform.y, uniform.z)); + break; + } + } + } + this.setFloat("time", this._time); + }; + Object.defineProperty(CustomProceduralTexture.prototype, "animate", { + get: function () { + return this._animate; + }, + set: function (value) { + this._animate = value; + }, + enumerable: true, + configurable: true + }); + return CustomProceduralTexture; + }(BABYLON.ProceduralTexture)); + BABYLON.CustomProceduralTexture = CustomProceduralTexture; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.customProceduralTexture.js.map + +var BABYLON; +(function (BABYLON) { + var EffectFallbacks = (function () { + function EffectFallbacks() { + this._defines = {}; + this._currentRank = 32; + this._maxRank = -1; + } + EffectFallbacks.prototype.addFallback = function (rank, define) { + if (!this._defines[rank]) { + if (rank < this._currentRank) { + this._currentRank = rank; + } + if (rank > this._maxRank) { + this._maxRank = rank; + } + this._defines[rank] = new Array(); + } + this._defines[rank].push(define); + }; + EffectFallbacks.prototype.addCPUSkinningFallback = function (rank, mesh) { + this._meshRank = rank; + this._mesh = mesh; + if (rank > this._maxRank) { + this._maxRank = rank; + } + }; + Object.defineProperty(EffectFallbacks.prototype, "isMoreFallbacks", { + get: function () { + return this._currentRank <= this._maxRank; + }, + enumerable: true, + configurable: true + }); + EffectFallbacks.prototype.reduce = function (currentDefines) { + var currentFallbacks = this._defines[this._currentRank]; + for (var index = 0; index < currentFallbacks.length; index++) { + currentDefines = currentDefines.replace("#define " + currentFallbacks[index], ""); + } + if (this._mesh && this._currentRank === this._meshRank) { + this._mesh.computeBonesUsingShaders = false; + currentDefines = currentDefines.replace("#define NUM_BONE_INFLUENCERS " + this._mesh.numBoneInfluencers, "#define NUM_BONE_INFLUENCERS 0"); + BABYLON.Tools.Log("Falling back to CPU skinning for " + this._mesh.name); + } + this._currentRank++; + return currentDefines; + }; + return EffectFallbacks; + }()); + BABYLON.EffectFallbacks = EffectFallbacks; + var Effect = (function () { + function Effect(baseName, attributesNames, uniformsNames, samplers, engine, defines, fallbacks, onCompiled, onError, indexParameters) { + var _this = this; + this._isReady = false; + this._compilationError = ""; + this._valueCache = {}; + this._engine = engine; + this.name = baseName; + this.defines = defines; + this._uniformsNames = uniformsNames.concat(samplers); + this._samplers = samplers; + this._attributesNames = attributesNames; + this.onError = onError; + this.onCompiled = onCompiled; + this._indexParameters = indexParameters; + var vertexSource; + var fragmentSource; + if (baseName.vertexElement) { + vertexSource = document.getElementById(baseName.vertexElement); + if (!vertexSource) { + vertexSource = baseName.vertexElement; + } + } + else { + vertexSource = baseName.vertex || baseName; + } + if (baseName.fragmentElement) { + fragmentSource = document.getElementById(baseName.fragmentElement); + if (!fragmentSource) { + fragmentSource = baseName.fragmentElement; + } + } + else { + fragmentSource = baseName.fragment || baseName; + } + this._loadVertexShader(vertexSource, function (vertexCode) { + _this._processIncludes(vertexCode, function (vertexCodeWithIncludes) { + _this._loadFragmentShader(fragmentSource, function (fragmentCode) { + _this._processIncludes(fragmentCode, function (fragmentCodeWithIncludes) { + _this._prepareEffect(vertexCodeWithIncludes, fragmentCodeWithIncludes, attributesNames, defines, fallbacks); + }); + }); + }); + }); + } + // Properties + Effect.prototype.isReady = function () { + return this._isReady; + }; + Effect.prototype.getProgram = function () { + return this._program; + }; + Effect.prototype.getAttributesNames = function () { + return this._attributesNames; + }; + Effect.prototype.getAttributeLocation = function (index) { + return this._attributes[index]; + }; + Effect.prototype.getAttributeLocationByName = function (name) { + var index = this._attributesNames.indexOf(name); + return this._attributes[index]; + }; + Effect.prototype.getAttributesCount = function () { + return this._attributes.length; + }; + Effect.prototype.getUniformIndex = function (uniformName) { + return this._uniformsNames.indexOf(uniformName); + }; + Effect.prototype.getUniform = function (uniformName) { + return this._uniforms[this._uniformsNames.indexOf(uniformName)]; + }; + Effect.prototype.getSamplers = function () { + return this._samplers; + }; + Effect.prototype.getCompilationError = function () { + return this._compilationError; + }; + Effect.prototype.getVertexShaderSource = function () { + return this._engine.getVertexShaderSource(this._program); + }; + Effect.prototype.getFragmentShaderSource = function () { + return this._engine.getFragmentShaderSource(this._program); + }; + // Methods + Effect.prototype._loadVertexShader = function (vertex, callback) { + // DOM element ? + if (vertex instanceof HTMLElement) { + var vertexCode = BABYLON.Tools.GetDOMTextContent(vertex); + callback(vertexCode); + return; + } + // Base64 encoded ? + if (vertex.substr(0, 7) === "base64:") { + var vertexBinary = window.atob(vertex.substr(7)); + callback(vertexBinary); + return; + } + // Is in local store ? + if (Effect.ShadersStore[vertex + "VertexShader"]) { + callback(Effect.ShadersStore[vertex + "VertexShader"]); + return; + } + var vertexShaderUrl; + if (vertex[0] === "." || vertex[0] === "/" || vertex.indexOf("http") > -1) { + vertexShaderUrl = vertex; + } + else { + vertexShaderUrl = BABYLON.Engine.ShadersRepository + vertex; + } + // Vertex shader + BABYLON.Tools.LoadFile(vertexShaderUrl + ".vertex.fx", callback); + }; + Effect.prototype._loadFragmentShader = function (fragment, callback) { + // DOM element ? + if (fragment instanceof HTMLElement) { + var fragmentCode = BABYLON.Tools.GetDOMTextContent(fragment); + callback(fragmentCode); + return; + } + // Base64 encoded ? + if (fragment.substr(0, 7) === "base64:") { + var fragmentBinary = window.atob(fragment.substr(7)); + callback(fragmentBinary); + return; + } + // Is in local store ? + if (Effect.ShadersStore[fragment + "PixelShader"]) { + callback(Effect.ShadersStore[fragment + "PixelShader"]); + return; + } + if (Effect.ShadersStore[fragment + "FragmentShader"]) { + callback(Effect.ShadersStore[fragment + "FragmentShader"]); + return; + } + var fragmentShaderUrl; + if (fragment[0] === "." || fragment[0] === "/" || fragment.indexOf("http") > -1) { + fragmentShaderUrl = fragment; + } + else { + fragmentShaderUrl = BABYLON.Engine.ShadersRepository + fragment; + } + // Fragment shader + BABYLON.Tools.LoadFile(fragmentShaderUrl + ".fragment.fx", callback); + }; + Effect.prototype._dumpShadersName = function () { + if (this.name.vertexElement) { + BABYLON.Tools.Error("Vertex shader:" + this.name.vertexElement); + BABYLON.Tools.Error("Fragment shader:" + this.name.fragmentElement); + } + else if (this.name.vertex) { + BABYLON.Tools.Error("Vertex shader:" + this.name.vertex); + BABYLON.Tools.Error("Fragment shader:" + this.name.fragment); + } + else { + BABYLON.Tools.Error("Vertex shader:" + this.name); + BABYLON.Tools.Error("Fragment shader:" + this.name); + } + }; + Effect.prototype._processIncludes = function (sourceCode, callback) { + var _this = this; + var regex = /#include<(.+)>(\((.*)\))*(\[(.*)\])*/g; + var match = regex.exec(sourceCode); + var returnValue = new String(sourceCode); + while (match != null) { + var includeFile = match[1]; + if (Effect.IncludesShadersStore[includeFile]) { + // Substitution + var includeContent = Effect.IncludesShadersStore[includeFile]; + if (match[2]) { + var splits = match[3].split(","); + for (var index = 0; index < splits.length; index += 2) { + var source = new RegExp(splits[index], "g"); + var dest = splits[index + 1]; + includeContent = includeContent.replace(source, dest); + } + } + if (match[4]) { + var indexString = match[5]; + if (indexString.indexOf("..") !== -1) { + var indexSplits = indexString.split(".."); + var minIndex = parseInt(indexSplits[0]); + var maxIndex = parseInt(indexSplits[1]); + var sourceIncludeContent = includeContent.slice(0); + includeContent = ""; + if (isNaN(maxIndex)) { + maxIndex = this._indexParameters[indexSplits[1]]; + } + for (var i = minIndex; i <= maxIndex; i++) { + includeContent += sourceIncludeContent.replace(/\{X\}/g, i) + "\n"; + } + } + else { + includeContent = includeContent.replace(/\{X\}/g, indexString); + } + } + // Replace + returnValue = returnValue.replace(match[0], includeContent); + } + else { + var includeShaderUrl = BABYLON.Engine.ShadersRepository + "ShadersInclude/" + includeFile + ".fx"; + BABYLON.Tools.LoadFile(includeShaderUrl, function (fileContent) { + Effect.IncludesShadersStore[includeFile] = fileContent; + _this._processIncludes(returnValue, callback); + }); + return; + } + match = regex.exec(sourceCode); + } + callback(returnValue); + }; + Effect.prototype._processPrecision = function (source) { + if (source.indexOf("precision highp float") === -1) { + if (!this._engine.getCaps().highPrecisionShaderSupported) { + source = "precision mediump float;\n" + source; + } + else { + source = "precision highp float;\n" + source; + } + } + else { + if (!this._engine.getCaps().highPrecisionShaderSupported) { + source = source.replace("precision highp float", "precision mediump float"); + } + } + return source; + }; + Effect.prototype._prepareEffect = function (vertexSourceCode, fragmentSourceCode, attributesNames, defines, fallbacks) { + try { + var engine = this._engine; + // Precision + vertexSourceCode = this._processPrecision(vertexSourceCode); + fragmentSourceCode = this._processPrecision(fragmentSourceCode); + this._program = engine.createShaderProgram(vertexSourceCode, fragmentSourceCode, defines); + this._uniforms = engine.getUniforms(this._program, this._uniformsNames); + this._attributes = engine.getAttributes(this._program, attributesNames); + var index; + for (index = 0; index < this._samplers.length; index++) { + var sampler = this.getUniform(this._samplers[index]); + if (sampler == null) { + this._samplers.splice(index, 1); + index--; + } + } + engine.bindSamplers(this); + this._compilationError = ""; + this._isReady = true; + if (this.onCompiled) { + this.onCompiled(this); + } + } + catch (e) { + this._compilationError = e.message; + // Let's go through fallbacks then + BABYLON.Tools.Error("Unable to compile effect: "); + BABYLON.Tools.Error("Defines: " + defines); + BABYLON.Tools.Error("Error: " + this._compilationError); + this._dumpShadersName(); + if (fallbacks && fallbacks.isMoreFallbacks) { + BABYLON.Tools.Error("Trying next fallback."); + defines = fallbacks.reduce(defines); + this._prepareEffect(vertexSourceCode, fragmentSourceCode, attributesNames, defines, fallbacks); + } + else { + if (this.onError) { + this.onError(this, this._compilationError); + } + } + } + }; + Object.defineProperty(Effect.prototype, "isSupported", { + get: function () { + return this._compilationError === ""; + }, + enumerable: true, + configurable: true + }); + Effect.prototype._bindTexture = function (channel, texture) { + this._engine._bindTexture(this._samplers.indexOf(channel), texture); + }; + Effect.prototype.setTexture = function (channel, texture) { + this._engine.setTexture(this._samplers.indexOf(channel), this.getUniform(channel), texture); + }; + Effect.prototype.setTextureArray = function (channel, textures) { + if (this._samplers.indexOf(channel + "Ex") === -1) { + var initialPos = this._samplers.indexOf(channel); + for (var index = 1; index < textures.length; index++) { + this._samplers.splice(initialPos + index, 0, channel + "Ex"); + } + } + this._engine.setTextureArray(this._samplers.indexOf(channel), this.getUniform(channel), textures); + }; + Effect.prototype.setTextureFromPostProcess = function (channel, postProcess) { + this._engine.setTextureFromPostProcess(this._samplers.indexOf(channel), postProcess); + }; + Effect.prototype._cacheMatrix = function (uniformName, matrix) { + var changed = false; + var cache = this._valueCache[uniformName]; + if (!cache || !(cache instanceof BABYLON.Matrix)) { + changed = true; + cache = new BABYLON.Matrix(); + } + var tm = cache.m; + var om = matrix.m; + for (var index = 0; index < 16; index++) { + if (tm[index] !== om[index]) { + tm[index] = om[index]; + changed = true; + } + } + this._valueCache[uniformName] = cache; + return changed; + }; + Effect.prototype._cacheFloat2 = function (uniformName, x, y) { + var cache = this._valueCache[uniformName]; + if (!cache) { + cache = [x, y]; + this._valueCache[uniformName] = cache; + return true; + } + var changed = false; + if (cache[0] !== x) { + cache[0] = x; + changed = true; + } + if (cache[1] !== y) { + cache[1] = y; + changed = true; + } + return changed; + }; + Effect.prototype._cacheFloat3 = function (uniformName, x, y, z) { + var cache = this._valueCache[uniformName]; + if (!cache) { + cache = [x, y, z]; + this._valueCache[uniformName] = cache; + return true; + } + var changed = false; + if (cache[0] !== x) { + cache[0] = x; + changed = true; + } + if (cache[1] !== y) { + cache[1] = y; + changed = true; + } + if (cache[2] !== z) { + cache[2] = z; + changed = true; + } + return changed; + }; + Effect.prototype._cacheFloat4 = function (uniformName, x, y, z, w) { + var cache = this._valueCache[uniformName]; + if (!cache) { + cache = [x, y, z, w]; + this._valueCache[uniformName] = cache; + return true; + } + var changed = false; + if (cache[0] !== x) { + cache[0] = x; + changed = true; + } + if (cache[1] !== y) { + cache[1] = y; + changed = true; + } + if (cache[2] !== z) { + cache[2] = z; + changed = true; + } + if (cache[3] !== w) { + cache[3] = w; + changed = true; + } + return changed; + }; + Effect.prototype.setIntArray = function (uniformName, array) { + this._valueCache[uniformName] = null; + this._engine.setIntArray(this.getUniform(uniformName), array); + return this; + }; + Effect.prototype.setIntArray2 = function (uniformName, array) { + this._valueCache[uniformName] = null; + this._engine.setIntArray2(this.getUniform(uniformName), array); + return this; + }; + Effect.prototype.setIntArray3 = function (uniformName, array) { + this._valueCache[uniformName] = null; + this._engine.setIntArray3(this.getUniform(uniformName), array); + return this; + }; + Effect.prototype.setIntArray4 = function (uniformName, array) { + this._valueCache[uniformName] = null; + this._engine.setIntArray4(this.getUniform(uniformName), array); + return this; + }; + Effect.prototype.setFloatArray = function (uniformName, array) { + this._valueCache[uniformName] = null; + this._engine.setFloatArray(this.getUniform(uniformName), array); + return this; + }; + Effect.prototype.setFloatArray2 = function (uniformName, array) { + this._valueCache[uniformName] = null; + this._engine.setFloatArray2(this.getUniform(uniformName), array); + return this; + }; + Effect.prototype.setFloatArray3 = function (uniformName, array) { + this._valueCache[uniformName] = null; + this._engine.setFloatArray3(this.getUniform(uniformName), array); + return this; + }; + Effect.prototype.setFloatArray4 = function (uniformName, array) { + this._valueCache[uniformName] = null; + this._engine.setFloatArray4(this.getUniform(uniformName), array); + return this; + }; + Effect.prototype.setArray = function (uniformName, array) { + this._valueCache[uniformName] = null; + this._engine.setArray(this.getUniform(uniformName), array); + return this; + }; + Effect.prototype.setArray2 = function (uniformName, array) { + this._valueCache[uniformName] = null; + this._engine.setArray2(this.getUniform(uniformName), array); + return this; + }; + Effect.prototype.setArray3 = function (uniformName, array) { + this._valueCache[uniformName] = null; + this._engine.setArray3(this.getUniform(uniformName), array); + return this; + }; + Effect.prototype.setArray4 = function (uniformName, array) { + this._valueCache[uniformName] = null; + this._engine.setArray4(this.getUniform(uniformName), array); + return this; + }; + Effect.prototype.setMatrices = function (uniformName, matrices) { + this._valueCache[uniformName] = null; + this._engine.setMatrices(this.getUniform(uniformName), matrices); + return this; + }; + Effect.prototype.setMatrix = function (uniformName, matrix) { + if (this._cacheMatrix(uniformName, matrix)) { + this._engine.setMatrix(this.getUniform(uniformName), matrix); + } + return this; + }; + Effect.prototype.setMatrix3x3 = function (uniformName, matrix) { + this._valueCache[uniformName] = null; + this._engine.setMatrix3x3(this.getUniform(uniformName), matrix); + return this; + }; + Effect.prototype.setMatrix2x2 = function (uniformName, matrix) { + this._valueCache[uniformName] = null; + this._engine.setMatrix2x2(this.getUniform(uniformName), matrix); + return this; + }; + Effect.prototype.setFloat = function (uniformName, value) { + var cache = this._valueCache[uniformName]; + if (cache !== undefined && cache === value) + return this; + this._valueCache[uniformName] = value; + this._engine.setFloat(this.getUniform(uniformName), value); + return this; + }; + Effect.prototype.setBool = function (uniformName, bool) { + var cache = this._valueCache[uniformName]; + if (cache !== undefined && cache === bool) + return this; + this._valueCache[uniformName] = bool; + this._engine.setBool(this.getUniform(uniformName), bool ? 1 : 0); + return this; + }; + Effect.prototype.setVector2 = function (uniformName, vector2) { + if (this._cacheFloat2(uniformName, vector2.x, vector2.y)) { + this._engine.setFloat2(this.getUniform(uniformName), vector2.x, vector2.y); + } + return this; + }; + Effect.prototype.setFloat2 = function (uniformName, x, y) { + if (this._cacheFloat2(uniformName, x, y)) { + this._engine.setFloat2(this.getUniform(uniformName), x, y); + } + return this; + }; + Effect.prototype.setVector3 = function (uniformName, vector3) { + if (this._cacheFloat3(uniformName, vector3.x, vector3.y, vector3.z)) { + this._engine.setFloat3(this.getUniform(uniformName), vector3.x, vector3.y, vector3.z); + } + return this; + }; + Effect.prototype.setFloat3 = function (uniformName, x, y, z) { + if (this._cacheFloat3(uniformName, x, y, z)) { + this._engine.setFloat3(this.getUniform(uniformName), x, y, z); + } + return this; + }; + Effect.prototype.setVector4 = function (uniformName, vector4) { + if (this._cacheFloat4(uniformName, vector4.x, vector4.y, vector4.z, vector4.w)) { + this._engine.setFloat4(this.getUniform(uniformName), vector4.x, vector4.y, vector4.z, vector4.w); + } + return this; + }; + Effect.prototype.setFloat4 = function (uniformName, x, y, z, w) { + if (this._cacheFloat4(uniformName, x, y, z, w)) { + this._engine.setFloat4(this.getUniform(uniformName), x, y, z, w); + } + return this; + }; + Effect.prototype.setColor3 = function (uniformName, color3) { + if (this._cacheFloat3(uniformName, color3.r, color3.g, color3.b)) { + this._engine.setColor3(this.getUniform(uniformName), color3); + } + return this; + }; + Effect.prototype.setColor4 = function (uniformName, color3, alpha) { + if (this._cacheFloat4(uniformName, color3.r, color3.g, color3.b, alpha)) { + this._engine.setColor4(this.getUniform(uniformName), color3, alpha); + } + return this; + }; + // Statics + Effect.ShadersStore = {}; + Effect.IncludesShadersStore = {}; + return Effect; + }()); + BABYLON.Effect = Effect; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.effect.js.map + +var BABYLON; +(function (BABYLON) { + var MaterialHelper = (function () { + function MaterialHelper() { + } + MaterialHelper.PrepareDefinesForLights = function (scene, mesh, defines, maxSimultaneousLights) { + if (maxSimultaneousLights === void 0) { maxSimultaneousLights = 4; } + var lightIndex = 0; + var needNormals = false; + var needRebuild = false; + var needShadows = false; + var lightmapMode = false; + for (var index = 0; index < scene.lights.length; index++) { + var light = scene.lights[index]; + if (!light.isEnabled()) { + continue; + } + // Excluded check + if (light._excludedMeshesIds.length > 0) { + for (var excludedIndex = 0; excludedIndex < light._excludedMeshesIds.length; excludedIndex++) { + var excludedMesh = scene.getMeshByID(light._excludedMeshesIds[excludedIndex]); + if (excludedMesh) { + light.excludedMeshes.push(excludedMesh); + } + } + light._excludedMeshesIds = []; + } + // Included check + if (light._includedOnlyMeshesIds.length > 0) { + for (var includedOnlyIndex = 0; includedOnlyIndex < light._includedOnlyMeshesIds.length; includedOnlyIndex++) { + var includedOnlyMesh = scene.getMeshByID(light._includedOnlyMeshesIds[includedOnlyIndex]); + if (includedOnlyMesh) { + light.includedOnlyMeshes.push(includedOnlyMesh); + } + } + light._includedOnlyMeshesIds = []; + } + if (!light.canAffectMesh(mesh)) { + continue; + } + needNormals = true; + if (defines["LIGHT" + lightIndex] === undefined) { + needRebuild = true; + } + defines["LIGHT" + lightIndex] = true; + var type; + if (light instanceof BABYLON.SpotLight) { + type = "SPOTLIGHT" + lightIndex; + } + else if (light instanceof BABYLON.HemisphericLight) { + type = "HEMILIGHT" + lightIndex; + } + else if (light instanceof BABYLON.PointLight) { + type = "POINTLIGHT" + lightIndex; + } + else { + type = "DIRLIGHT" + lightIndex; + } + if (defines[type] === undefined) { + needRebuild = true; + } + defines[type] = true; + // Specular + if (!light.specular.equalsFloats(0, 0, 0) && defines["SPECULARTERM"] !== undefined) { + defines["SPECULARTERM"] = true; + } + // Shadows + if (scene.shadowsEnabled) { + var shadowGenerator = light.getShadowGenerator(); + if (mesh && mesh.receiveShadows && shadowGenerator) { + if (defines["SHADOW" + lightIndex] === undefined) { + needRebuild = true; + } + defines["SHADOW" + lightIndex] = true; + defines["SHADOWS"] = true; + if (shadowGenerator.useVarianceShadowMap || shadowGenerator.useBlurVarianceShadowMap) { + if (defines["SHADOWVSM" + lightIndex] === undefined) { + needRebuild = true; + } + defines["SHADOWVSM" + lightIndex] = true; + } + if (shadowGenerator.usePoissonSampling) { + if (defines["SHADOWPCF" + lightIndex] === undefined) { + needRebuild = true; + } + defines["SHADOWPCF" + lightIndex] = true; + } + needShadows = true; + } + } + if (light.lightmapMode != BABYLON.Light.LIGHTMAP_DEFAULT) { + lightmapMode = true; + if (defines["LIGHTMAPEXCLUDED" + lightIndex] === undefined) { + needRebuild = true; + } + if (defines["LIGHTMAPNOSPECULAR" + lightIndex] === undefined) { + needRebuild = true; + } + defines["LIGHTMAPEXCLUDED" + lightIndex] = true; + if (light.lightmapMode == BABYLON.Light.LIGHTMAP_SHADOWSONLY) { + defines["LIGHTMAPNOSPECULAR" + lightIndex] = true; + } + } + lightIndex++; + if (lightIndex === maxSimultaneousLights) + break; + } + var caps = scene.getEngine().getCaps(); + if (needShadows && caps.textureFloat && caps.textureFloatLinearFiltering && caps.textureFloatRender) { + if (defines["SHADOWFULLFLOAT"] === undefined) { + needRebuild = true; + } + defines["SHADOWFULLFLOAT"] = true; + } + if (defines["LIGHTMAPEXCLUDED"] === undefined) { + needRebuild = true; + } + if (lightmapMode) { + defines["LIGHTMAPEXCLUDED"] = true; + } + if (needRebuild) { + defines.rebuild(); + } + return needNormals; + }; + MaterialHelper.PrepareUniformsAndSamplersList = function (uniformsList, samplersList, defines, maxSimultaneousLights) { + if (maxSimultaneousLights === void 0) { maxSimultaneousLights = 4; } + for (var lightIndex = 0; lightIndex < maxSimultaneousLights; lightIndex++) { + if (!defines["LIGHT" + lightIndex]) { + break; + } + uniformsList.push("vLightData" + lightIndex, "vLightDiffuse" + lightIndex, "vLightSpecular" + lightIndex, "vLightDirection" + lightIndex, "vLightGround" + lightIndex, "lightMatrix" + lightIndex, "shadowsInfo" + lightIndex); + samplersList.push("shadowSampler" + lightIndex); + } + }; + MaterialHelper.HandleFallbacksForShadows = function (defines, fallbacks, maxSimultaneousLights) { + if (maxSimultaneousLights === void 0) { maxSimultaneousLights = 4; } + for (var lightIndex = 0; lightIndex < maxSimultaneousLights; lightIndex++) { + if (!defines["LIGHT" + lightIndex]) { + break; + } + if (lightIndex > 0) { + fallbacks.addFallback(lightIndex, "LIGHT" + lightIndex); + } + if (defines["SHADOW" + lightIndex]) { + fallbacks.addFallback(0, "SHADOW" + lightIndex); + } + if (defines["SHADOWPCF" + lightIndex]) { + fallbacks.addFallback(0, "SHADOWPCF" + lightIndex); + } + if (defines["SHADOWVSM" + lightIndex]) { + fallbacks.addFallback(0, "SHADOWVSM" + lightIndex); + } + } + }; + MaterialHelper.PrepareAttributesForBones = function (attribs, mesh, defines, fallbacks) { + if (defines["NUM_BONE_INFLUENCERS"] > 0) { + fallbacks.addCPUSkinningFallback(0, mesh); + attribs.push(BABYLON.VertexBuffer.MatricesIndicesKind); + attribs.push(BABYLON.VertexBuffer.MatricesWeightsKind); + if (defines["NUM_BONE_INFLUENCERS"] > 4) { + attribs.push(BABYLON.VertexBuffer.MatricesIndicesExtraKind); + attribs.push(BABYLON.VertexBuffer.MatricesWeightsExtraKind); + } + } + }; + MaterialHelper.PrepareAttributesForInstances = function (attribs, defines) { + if (defines["INSTANCES"]) { + attribs.push("world0"); + attribs.push("world1"); + attribs.push("world2"); + attribs.push("world3"); + } + }; + // Bindings + MaterialHelper.BindLightShadow = function (light, scene, mesh, lightIndex, effect, depthValuesAlreadySet) { + var shadowGenerator = light.getShadowGenerator(); + if (mesh.receiveShadows && shadowGenerator) { + if (!light.needCube()) { + effect.setMatrix("lightMatrix" + lightIndex, shadowGenerator.getTransformMatrix()); + } + else { + if (!depthValuesAlreadySet) { + depthValuesAlreadySet = true; + effect.setFloat2("depthValues", scene.activeCamera.minZ, scene.activeCamera.maxZ); + } + } + effect.setTexture("shadowSampler" + lightIndex, shadowGenerator.getShadowMapForRendering()); + effect.setFloat3("shadowsInfo" + lightIndex, shadowGenerator.getDarkness(), shadowGenerator.blurScale / shadowGenerator.getShadowMap().getSize().width, shadowGenerator.bias); + } + return depthValuesAlreadySet; + }; + MaterialHelper.BindLightProperties = function (light, effect, lightIndex) { + if (light instanceof BABYLON.PointLight) { + // Point Light + light.transferToEffect(effect, "vLightData" + lightIndex); + } + else if (light instanceof BABYLON.DirectionalLight) { + // Directional Light + light.transferToEffect(effect, "vLightData" + lightIndex); + } + else if (light instanceof BABYLON.SpotLight) { + // Spot Light + light.transferToEffect(effect, "vLightData" + lightIndex, "vLightDirection" + lightIndex); + } + else if (light instanceof BABYLON.HemisphericLight) { + // Hemispheric Light + light.transferToEffect(effect, "vLightData" + lightIndex, "vLightGround" + lightIndex); + } + }; + MaterialHelper.BindLights = function (scene, mesh, effect, defines, maxSimultaneousLights) { + if (maxSimultaneousLights === void 0) { maxSimultaneousLights = 4; } + var lightIndex = 0; + var depthValuesAlreadySet = false; + for (var index = 0; index < scene.lights.length; index++) { + var light = scene.lights[index]; + if (!light.isEnabled()) { + continue; + } + if (!light.canAffectMesh(mesh)) { + continue; + } + MaterialHelper.BindLightProperties(light, effect, lightIndex); + light.diffuse.scaleToRef(light.intensity, BABYLON.Tmp.Color3[0]); + effect.setColor4("vLightDiffuse" + lightIndex, BABYLON.Tmp.Color3[0], light.range); + if (defines["SPECULARTERM"]) { + light.specular.scaleToRef(light.intensity, BABYLON.Tmp.Color3[1]); + effect.setColor3("vLightSpecular" + lightIndex, BABYLON.Tmp.Color3[1]); + } + // Shadows + if (scene.shadowsEnabled) { + depthValuesAlreadySet = this.BindLightShadow(light, scene, mesh, lightIndex, effect, depthValuesAlreadySet); + } + lightIndex++; + if (lightIndex === maxSimultaneousLights) + break; + } + }; + MaterialHelper.BindFogParameters = function (scene, mesh, effect) { + if (scene.fogEnabled && mesh.applyFog && scene.fogMode !== BABYLON.Scene.FOGMODE_NONE) { + effect.setFloat4("vFogInfos", scene.fogMode, scene.fogStart, scene.fogEnd, scene.fogDensity); + effect.setColor3("vFogColor", scene.fogColor); + } + }; + MaterialHelper.BindBonesParameters = function (mesh, effect) { + if (mesh && mesh.useBones && mesh.computeBonesUsingShaders) { + var matrices = mesh.skeleton.getTransformMatrices(mesh); + if (matrices) { + effect.setMatrices("mBones", matrices); + } + } + }; + MaterialHelper.BindLogDepth = function (defines, effect, scene) { + if (defines["LOGARITHMICDEPTH"]) { + effect.setFloat("logarithmicDepthConstant", 2.0 / (Math.log(scene.activeCamera.maxZ + 1.0) / Math.LN2)); + } + }; + MaterialHelper.BindClipPlane = function (effect, scene) { + if (scene.clipPlane) { + var clipPlane = scene.clipPlane; + effect.setFloat4("vClipPlane", clipPlane.normal.x, clipPlane.normal.y, clipPlane.normal.z, clipPlane.d); + } + }; + return MaterialHelper; + }()); + BABYLON.MaterialHelper = MaterialHelper; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.materialHelper.js.map + +var BABYLON; +(function (BABYLON) { + var FresnelParameters = (function () { + function FresnelParameters() { + this.isEnabled = true; + this.leftColor = BABYLON.Color3.White(); + this.rightColor = BABYLON.Color3.Black(); + this.bias = 0; + this.power = 1; + } + FresnelParameters.prototype.clone = function () { + var newFresnelParameters = new FresnelParameters(); + BABYLON.Tools.DeepCopy(this, newFresnelParameters); + return newFresnelParameters; + }; + FresnelParameters.prototype.serialize = function () { + var serializationObject = {}; + serializationObject.isEnabled = this.isEnabled; + serializationObject.leftColor = this.leftColor; + serializationObject.rightColor = this.rightColor; + serializationObject.bias = this.bias; + serializationObject.power = this.power; + return serializationObject; + }; + FresnelParameters.Parse = function (parsedFresnelParameters) { + var fresnelParameters = new FresnelParameters(); + fresnelParameters.isEnabled = parsedFresnelParameters.isEnabled; + fresnelParameters.leftColor = BABYLON.Color3.FromArray(parsedFresnelParameters.leftColor); + fresnelParameters.rightColor = BABYLON.Color3.FromArray(parsedFresnelParameters.rightColor); + fresnelParameters.bias = parsedFresnelParameters.bias; + fresnelParameters.power = parsedFresnelParameters.power || 1.0; + return fresnelParameters; + }; + return FresnelParameters; + }()); + BABYLON.FresnelParameters = FresnelParameters; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.fresnelParameters.js.map + + +var BABYLON; +(function (BABYLON) { + var MaterialDefines = (function () { + function MaterialDefines() { + } + MaterialDefines.prototype.rebuild = function () { + if (this._keys) { + delete this._keys; + } + this._keys = Object.keys(this); + }; + MaterialDefines.prototype.isEqual = function (other) { + if (this._keys.length !== other._keys.length) { + return false; + } + for (var index = 0; index < this._keys.length; index++) { + var prop = this._keys[index]; + if (this[prop] !== other[prop]) { + return false; + } + } + return true; + }; + MaterialDefines.prototype.cloneTo = function (other) { + if (this._keys.length !== other._keys.length) { + other._keys = this._keys.slice(0); + } + for (var index = 0; index < this._keys.length; index++) { + var prop = this._keys[index]; + other[prop] = this[prop]; + } + }; + MaterialDefines.prototype.reset = function () { + for (var index = 0; index < this._keys.length; index++) { + var prop = this._keys[index]; + if (typeof (this[prop]) === "number") { + this[prop] = 0; + } + else { + this[prop] = false; + } + } + }; + MaterialDefines.prototype.toString = function () { + var result = ""; + for (var index = 0; index < this._keys.length; index++) { + var prop = this._keys[index]; + if (typeof (this[prop]) === "number") { + result += "#define " + prop + " " + this[prop] + "\n"; + } + else if (this[prop]) { + result += "#define " + prop + "\n"; + } + } + return result; + }; + return MaterialDefines; + }()); + BABYLON.MaterialDefines = MaterialDefines; + var Material = (function () { + function Material(name, scene, doNotAdd) { + this.checkReadyOnEveryCall = false; + this.checkReadyOnlyOnce = false; + this.state = ""; + this.alpha = 1.0; + this.backFaceCulling = true; + this.doNotSerialize = false; + /** + * An event triggered when the material is disposed. + * @type {BABYLON.Observable} + */ + this.onDisposeObservable = new BABYLON.Observable(); + /** + * An event triggered when the material is bound. + * @type {BABYLON.Observable} + */ + this.onBindObservable = new BABYLON.Observable(); + /** + * An event triggered when the material is unbound. + * @type {BABYLON.Observable} + */ + this.onUnBindObservable = new BABYLON.Observable(); + this.alphaMode = BABYLON.Engine.ALPHA_COMBINE; + this.disableDepthWrite = false; + this.fogEnabled = true; + this.pointSize = 1.0; + this.zOffset = 0; + this._wasPreviouslyReady = false; + this._fillMode = Material.TriangleFillMode; + this.name = name; + this.id = name; + this._scene = scene; + if (scene.useRightHandedSystem) { + this.sideOrientation = Material.ClockWiseSideOrientation; + } + else { + this.sideOrientation = Material.CounterClockWiseSideOrientation; + } + if (!doNotAdd) { + scene.materials.push(this); + } + } + Object.defineProperty(Material, "TriangleFillMode", { + get: function () { + return Material._TriangleFillMode; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Material, "WireFrameFillMode", { + get: function () { + return Material._WireFrameFillMode; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Material, "PointFillMode", { + get: function () { + return Material._PointFillMode; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Material, "ClockWiseSideOrientation", { + get: function () { + return Material._ClockWiseSideOrientation; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Material, "CounterClockWiseSideOrientation", { + get: function () { + return Material._CounterClockWiseSideOrientation; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Material.prototype, "onDispose", { + set: function (callback) { + if (this._onDisposeObserver) { + this.onDisposeObservable.remove(this._onDisposeObserver); + } + this._onDisposeObserver = this.onDisposeObservable.add(callback); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Material.prototype, "onBind", { + set: function (callback) { + if (this._onBindObserver) { + this.onBindObservable.remove(this._onBindObserver); + } + this._onBindObserver = this.onBindObservable.add(callback); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Material.prototype, "wireframe", { + get: function () { + return this._fillMode === Material.WireFrameFillMode; + }, + set: function (value) { + this._fillMode = (value ? Material.WireFrameFillMode : Material.TriangleFillMode); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Material.prototype, "pointsCloud", { + get: function () { + return this._fillMode === Material.PointFillMode; + }, + set: function (value) { + this._fillMode = (value ? Material.PointFillMode : Material.TriangleFillMode); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Material.prototype, "fillMode", { + get: function () { + return this._fillMode; + }, + set: function (value) { + this._fillMode = value; + }, + enumerable: true, + configurable: true + }); + /** + * @param {boolean} fullDetails - support for multiple levels of logging within scene loading + * subclasses should override adding information pertainent to themselves + */ + Material.prototype.toString = function (fullDetails) { + var ret = "Name: " + this.name; + if (fullDetails) { + } + return ret; + }; + Object.defineProperty(Material.prototype, "isFrozen", { + get: function () { + return this.checkReadyOnlyOnce; + }, + enumerable: true, + configurable: true + }); + Material.prototype.freeze = function () { + this.checkReadyOnlyOnce = true; + }; + Material.prototype.unfreeze = function () { + this.checkReadyOnlyOnce = false; + }; + Material.prototype.isReady = function (mesh, useInstances) { + return true; + }; + Material.prototype.getEffect = function () { + return this._effect; + }; + Material.prototype.getScene = function () { + return this._scene; + }; + Material.prototype.needAlphaBlending = function () { + return (this.alpha < 1.0); + }; + Material.prototype.needAlphaTesting = function () { + return false; + }; + Material.prototype.getAlphaTestTexture = function () { + return null; + }; + Material.prototype.markDirty = function () { + this._wasPreviouslyReady = false; + }; + Material.prototype._preBind = function () { + var engine = this._scene.getEngine(); + var reverse = this.sideOrientation === Material.ClockWiseSideOrientation; + engine.enableEffect(this._effect); + engine.setState(this.backFaceCulling, this.zOffset, false, reverse); + }; + Material.prototype.bind = function (world, mesh) { + this._scene._cachedMaterial = this; + this.onBindObservable.notifyObservers(mesh); + if (this.disableDepthWrite) { + var engine = this._scene.getEngine(); + this._cachedDepthWriteState = engine.getDepthWrite(); + engine.setDepthWrite(false); + } + }; + Material.prototype.bindOnlyWorldMatrix = function (world) { + }; + Material.prototype.unbind = function () { + this.onUnBindObservable.notifyObservers(this); + if (this.disableDepthWrite) { + var engine = this._scene.getEngine(); + engine.setDepthWrite(this._cachedDepthWriteState); + } + }; + Material.prototype.clone = function (name) { + return null; + }; + Material.prototype.getBindedMeshes = function () { + var result = new Array(); + for (var index = 0; index < this._scene.meshes.length; index++) { + var mesh = this._scene.meshes[index]; + if (mesh.material === this) { + result.push(mesh); + } + } + return result; + }; + Material.prototype.dispose = function (forceDisposeEffect, forceDisposeTextures) { + // Animations + this.getScene().stopAnimation(this); + // Remove from scene + var index = this._scene.materials.indexOf(this); + if (index >= 0) { + this._scene.materials.splice(index, 1); + } + // Shader are kept in cache for further use but we can get rid of this by using forceDisposeEffect + if (forceDisposeEffect && this._effect) { + this._scene.getEngine()._releaseEffect(this._effect); + this._effect = null; + } + // Remove from meshes + for (index = 0; index < this._scene.meshes.length; index++) { + var mesh = this._scene.meshes[index]; + if (mesh.material === this) { + mesh.material = null; + } + } + // Callback + this.onDisposeObservable.notifyObservers(this); + this.onDisposeObservable.clear(); + this.onBindObservable.clear(); + this.onUnBindObservable.clear(); + }; + Material.prototype.serialize = function () { + return BABYLON.SerializationHelper.Serialize(this); + }; + Material.ParseMultiMaterial = function (parsedMultiMaterial, scene) { + var multiMaterial = new BABYLON.MultiMaterial(parsedMultiMaterial.name, scene); + multiMaterial.id = parsedMultiMaterial.id; + BABYLON.Tags.AddTagsTo(multiMaterial, parsedMultiMaterial.tags); + for (var matIndex = 0; matIndex < parsedMultiMaterial.materials.length; matIndex++) { + var subMatId = parsedMultiMaterial.materials[matIndex]; + if (subMatId) { + multiMaterial.subMaterials.push(scene.getMaterialByID(subMatId)); + } + else { + multiMaterial.subMaterials.push(null); + } + } + return multiMaterial; + }; + Material.Parse = function (parsedMaterial, scene, rootUrl) { + if (!parsedMaterial.customType) { + return BABYLON.StandardMaterial.Parse(parsedMaterial, scene, rootUrl); + } + var materialType = BABYLON.Tools.Instantiate(parsedMaterial.customType); + return materialType.Parse(parsedMaterial, scene, rootUrl); + ; + }; + Material._TriangleFillMode = 0; + Material._WireFrameFillMode = 1; + Material._PointFillMode = 2; + Material._ClockWiseSideOrientation = 0; + Material._CounterClockWiseSideOrientation = 1; + __decorate([ + BABYLON.serialize() + ], Material.prototype, "id", void 0); + __decorate([ + BABYLON.serialize() + ], Material.prototype, "name", void 0); + __decorate([ + BABYLON.serialize() + ], Material.prototype, "checkReadyOnEveryCall", void 0); + __decorate([ + BABYLON.serialize() + ], Material.prototype, "checkReadyOnlyOnce", void 0); + __decorate([ + BABYLON.serialize() + ], Material.prototype, "state", void 0); + __decorate([ + BABYLON.serialize() + ], Material.prototype, "alpha", void 0); + __decorate([ + BABYLON.serialize() + ], Material.prototype, "backFaceCulling", void 0); + __decorate([ + BABYLON.serialize() + ], Material.prototype, "sideOrientation", void 0); + __decorate([ + BABYLON.serialize() + ], Material.prototype, "alphaMode", void 0); + __decorate([ + BABYLON.serialize() + ], Material.prototype, "disableDepthWrite", void 0); + __decorate([ + BABYLON.serialize() + ], Material.prototype, "fogEnabled", void 0); + __decorate([ + BABYLON.serialize() + ], Material.prototype, "pointSize", void 0); + __decorate([ + BABYLON.serialize() + ], Material.prototype, "zOffset", void 0); + __decorate([ + BABYLON.serialize() + ], Material.prototype, "wireframe", null); + __decorate([ + BABYLON.serialize() + ], Material.prototype, "pointsCloud", null); + __decorate([ + BABYLON.serialize() + ], Material.prototype, "fillMode", null); + return Material; + }()); + BABYLON.Material = Material; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.material.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var StandardMaterialDefines = (function (_super) { + __extends(StandardMaterialDefines, _super); + function StandardMaterialDefines() { + _super.call(this); + this.DIFFUSE = false; + this.AMBIENT = false; + this.OPACITY = false; + this.OPACITYRGB = false; + this.REFLECTION = false; + this.EMISSIVE = false; + this.SPECULAR = false; + this.BUMP = false; + this.PARALLAX = false; + this.PARALLAXOCCLUSION = false; + this.SPECULAROVERALPHA = false; + this.CLIPPLANE = false; + this.ALPHATEST = false; + this.ALPHAFROMDIFFUSE = false; + this.POINTSIZE = false; + this.FOG = false; + this.SPECULARTERM = false; + this.DIFFUSEFRESNEL = false; + this.OPACITYFRESNEL = false; + this.REFLECTIONFRESNEL = false; + this.REFRACTIONFRESNEL = false; + this.EMISSIVEFRESNEL = false; + this.FRESNEL = false; + this.NORMAL = false; + this.UV1 = false; + this.UV2 = false; + this.VERTEXCOLOR = false; + this.VERTEXALPHA = false; + this.NUM_BONE_INFLUENCERS = 0; + this.BonesPerMesh = 0; + this.INSTANCES = false; + this.GLOSSINESS = false; + this.ROUGHNESS = false; + this.EMISSIVEASILLUMINATION = false; + this.LINKEMISSIVEWITHDIFFUSE = false; + this.REFLECTIONFRESNELFROMSPECULAR = false; + this.LIGHTMAP = false; + this.USELIGHTMAPASSHADOWMAP = false; + this.REFLECTIONMAP_3D = false; + this.REFLECTIONMAP_SPHERICAL = false; + this.REFLECTIONMAP_PLANAR = false; + this.REFLECTIONMAP_CUBIC = false; + this.REFLECTIONMAP_PROJECTION = false; + this.REFLECTIONMAP_SKYBOX = false; + this.REFLECTIONMAP_EXPLICIT = false; + this.REFLECTIONMAP_EQUIRECTANGULAR = false; + this.REFLECTIONMAP_EQUIRECTANGULAR_FIXED = false; + this.INVERTCUBICMAP = false; + this.LOGARITHMICDEPTH = false; + this.REFRACTION = false; + this.REFRACTIONMAP_3D = false; + this.REFLECTIONOVERALPHA = false; + this.INVERTNORMALMAPX = false; + this.INVERTNORMALMAPY = false; + this.SHADOWFULLFLOAT = false; + this.CAMERACOLORGRADING = false; + this.CAMERACOLORCURVES = false; + this.rebuild(); + } + return StandardMaterialDefines; + }(BABYLON.MaterialDefines)); + var StandardMaterial = (function (_super) { + __extends(StandardMaterial, _super); + function StandardMaterial(name, scene) { + var _this = this; + _super.call(this, name, scene); + this.ambientColor = new BABYLON.Color3(0, 0, 0); + this.diffuseColor = new BABYLON.Color3(1, 1, 1); + this.specularColor = new BABYLON.Color3(1, 1, 1); + this.emissiveColor = new BABYLON.Color3(0, 0, 0); + this.specularPower = 64; + this.useAlphaFromDiffuseTexture = false; + this.useEmissiveAsIllumination = false; + this.linkEmissiveWithDiffuse = false; + this.useReflectionFresnelFromSpecular = false; + this.useSpecularOverAlpha = false; + this.useReflectionOverAlpha = false; + this.disableLighting = false; + this.useParallax = false; + this.useParallaxOcclusion = false; + this.parallaxScaleBias = 0.05; + this.roughness = 0; + this.indexOfRefraction = 0.98; + this.invertRefractionY = true; + this.useLightmapAsShadowmap = false; + this.useGlossinessFromSpecularMapAlpha = false; + this.maxSimultaneousLights = 4; + /** + * If sets to true, x component of normal map value will invert (x = 1.0 - x). + */ + this.invertNormalMapX = false; + /** + * If sets to true, y component of normal map value will invert (y = 1.0 - y). + */ + this.invertNormalMapY = false; + /** + * Color Grading 2D Lookup Texture. + * This allows special effects like sepia, black and white to sixties rendering style. + */ + this.cameraColorGradingTexture = null; + /** + * The color grading curves provide additional color adjustmnent that is applied after any color grading transform (3D LUT). + * They allow basic adjustment of saturation and small exposure adjustments, along with color filter tinting to provide white balance adjustment or more stylistic effects. + * These are similar to controls found in many professional imaging or colorist software. The global controls are applied to the entire image. For advanced tuning, extra controls are provided to adjust the shadow, midtone and highlight areas of the image; + * corresponding to low luminance, medium luminance, and high luminance areas respectively. + */ + this.cameraColorCurves = null; + this._renderTargets = new BABYLON.SmartArray(16); + this._worldViewProjectionMatrix = BABYLON.Matrix.Zero(); + this._globalAmbientColor = new BABYLON.Color3(0, 0, 0); + this._defines = new StandardMaterialDefines(); + this._cachedDefines = new StandardMaterialDefines(); + this._cachedDefines.BonesPerMesh = -1; + this.getRenderTargetTextures = function () { + _this._renderTargets.reset(); + if (_this.reflectionTexture && _this.reflectionTexture.isRenderTarget) { + _this._renderTargets.push(_this.reflectionTexture); + } + if (_this.refractionTexture && _this.refractionTexture.isRenderTarget) { + _this._renderTargets.push(_this.refractionTexture); + } + return _this._renderTargets; + }; + } + Object.defineProperty(StandardMaterial.prototype, "useLogarithmicDepth", { + get: function () { + return this._useLogarithmicDepth; + }, + set: function (value) { + this._useLogarithmicDepth = value && this.getScene().getEngine().getCaps().fragmentDepthSupported; + }, + enumerable: true, + configurable: true + }); + StandardMaterial.prototype.needAlphaBlending = function () { + return (this.alpha < 1.0) || (this.opacityTexture != null) || this._shouldUseAlphaFromDiffuseTexture() || this.opacityFresnelParameters && this.opacityFresnelParameters.isEnabled; + }; + StandardMaterial.prototype.needAlphaTesting = function () { + return this.diffuseTexture != null && this.diffuseTexture.hasAlpha; + }; + StandardMaterial.prototype._shouldUseAlphaFromDiffuseTexture = function () { + return this.diffuseTexture != null && this.diffuseTexture.hasAlpha && this.useAlphaFromDiffuseTexture; + }; + StandardMaterial.prototype.getAlphaTestTexture = function () { + return this.diffuseTexture; + }; + // Methods + StandardMaterial.prototype._checkCache = function (scene, mesh, useInstances) { + if (!mesh) { + return true; + } + if (this._defines.INSTANCES !== useInstances) { + return false; + } + if (mesh._materialDefines && mesh._materialDefines.isEqual(this._defines)) { + return true; + } + return false; + }; + StandardMaterial.prototype.isReady = function (mesh, useInstances) { + if (this.isFrozen) { + if (this._wasPreviouslyReady) { + return true; + } + } + var scene = this.getScene(); + var engine = scene.getEngine(); + var needUVs = false; + var needNormals = false; + this._defines.reset(); + // Lights + if (scene.lightsEnabled && !this.disableLighting) { + needNormals = BABYLON.MaterialHelper.PrepareDefinesForLights(scene, mesh, this._defines, this.maxSimultaneousLights); + } + if (!this.checkReadyOnEveryCall) { + if (this._renderId === scene.getRenderId()) { + if (this._checkCache(scene, mesh, useInstances)) { + return true; + } + } + } + // Textures + if (scene.texturesEnabled) { + if (this.diffuseTexture && StandardMaterial.DiffuseTextureEnabled) { + if (!this.diffuseTexture.isReady()) { + return false; + } + else { + needUVs = true; + this._defines.DIFFUSE = true; + } + } + if (this.ambientTexture && StandardMaterial.AmbientTextureEnabled) { + if (!this.ambientTexture.isReady()) { + return false; + } + else { + needUVs = true; + this._defines.AMBIENT = true; + } + } + if (this.opacityTexture && StandardMaterial.OpacityTextureEnabled) { + if (!this.opacityTexture.isReady()) { + return false; + } + else { + needUVs = true; + this._defines.OPACITY = true; + if (this.opacityTexture.getAlphaFromRGB) { + this._defines.OPACITYRGB = true; + } + } + } + if (this.reflectionTexture && StandardMaterial.ReflectionTextureEnabled) { + if (!this.reflectionTexture.isReady()) { + return false; + } + else { + needNormals = true; + this._defines.REFLECTION = true; + if (this.roughness > 0) { + this._defines.ROUGHNESS = true; + } + if (this.useReflectionOverAlpha) { + this._defines.REFLECTIONOVERALPHA = true; + } + if (this.reflectionTexture.coordinatesMode === BABYLON.Texture.INVCUBIC_MODE) { + this._defines.INVERTCUBICMAP = true; + } + this._defines.REFLECTIONMAP_3D = this.reflectionTexture.isCube; + switch (this.reflectionTexture.coordinatesMode) { + case BABYLON.Texture.CUBIC_MODE: + case BABYLON.Texture.INVCUBIC_MODE: + this._defines.REFLECTIONMAP_CUBIC = true; + break; + case BABYLON.Texture.EXPLICIT_MODE: + this._defines.REFLECTIONMAP_EXPLICIT = true; + break; + case BABYLON.Texture.PLANAR_MODE: + this._defines.REFLECTIONMAP_PLANAR = true; + break; + case BABYLON.Texture.PROJECTION_MODE: + this._defines.REFLECTIONMAP_PROJECTION = true; + break; + case BABYLON.Texture.SKYBOX_MODE: + this._defines.REFLECTIONMAP_SKYBOX = true; + break; + case BABYLON.Texture.SPHERICAL_MODE: + this._defines.REFLECTIONMAP_SPHERICAL = true; + break; + case BABYLON.Texture.EQUIRECTANGULAR_MODE: + this._defines.REFLECTIONMAP_EQUIRECTANGULAR = true; + break; + case BABYLON.Texture.FIXED_EQUIRECTANGULAR_MODE: + this._defines.REFLECTIONMAP_EQUIRECTANGULAR_FIXED = true; + break; + } + } + } + if (this.emissiveTexture && StandardMaterial.EmissiveTextureEnabled) { + if (!this.emissiveTexture.isReady()) { + return false; + } + else { + needUVs = true; + this._defines.EMISSIVE = true; + } + } + if (this.lightmapTexture && StandardMaterial.LightmapTextureEnabled) { + if (!this.lightmapTexture.isReady()) { + return false; + } + else { + needUVs = true; + this._defines.LIGHTMAP = true; + this._defines.USELIGHTMAPASSHADOWMAP = this.useLightmapAsShadowmap; + } + } + if (this.specularTexture && StandardMaterial.SpecularTextureEnabled) { + if (!this.specularTexture.isReady()) { + return false; + } + else { + needUVs = true; + this._defines.SPECULAR = true; + this._defines.GLOSSINESS = this.useGlossinessFromSpecularMapAlpha; + } + } + if (scene.getEngine().getCaps().standardDerivatives && this.bumpTexture && StandardMaterial.BumpTextureEnabled) { + if (!this.bumpTexture.isReady()) { + return false; + } + else { + needUVs = true; + this._defines.BUMP = true; + if (this.useParallax) { + this._defines.PARALLAX = true; + if (this.useParallaxOcclusion) { + this._defines.PARALLAXOCCLUSION = true; + } + } + if (this.invertNormalMapX) { + this._defines.INVERTNORMALMAPX = true; + } + if (this.invertNormalMapY) { + this._defines.INVERTNORMALMAPY = true; + } + } + } + if (this.refractionTexture && StandardMaterial.RefractionTextureEnabled) { + if (!this.refractionTexture.isReady()) { + return false; + } + else { + needUVs = true; + this._defines.REFRACTION = true; + this._defines.REFRACTIONMAP_3D = this.refractionTexture.isCube; + } + } + if (this.cameraColorGradingTexture && StandardMaterial.ColorGradingTextureEnabled) { + if (!this.cameraColorGradingTexture.isReady()) { + return false; + } + else { + this._defines.CAMERACOLORGRADING = true; + } + } + } + // Effect + if (scene.clipPlane) { + this._defines.CLIPPLANE = true; + } + if (engine.getAlphaTesting()) { + this._defines.ALPHATEST = true; + } + if (this._shouldUseAlphaFromDiffuseTexture()) { + this._defines.ALPHAFROMDIFFUSE = true; + } + if (this.useEmissiveAsIllumination) { + this._defines.EMISSIVEASILLUMINATION = true; + } + if (this.linkEmissiveWithDiffuse) { + this._defines.LINKEMISSIVEWITHDIFFUSE = true; + } + if (this.useLogarithmicDepth) { + this._defines.LOGARITHMICDEPTH = true; + } + if (this.cameraColorCurves) { + this._defines.CAMERACOLORCURVES = true; + } + // Point size + if (this.pointsCloud || scene.forcePointsCloud) { + this._defines.POINTSIZE = true; + } + // Fog + if (scene.fogEnabled && mesh && mesh.applyFog && scene.fogMode !== BABYLON.Scene.FOGMODE_NONE && this.fogEnabled) { + this._defines.FOG = true; + } + if (StandardMaterial.FresnelEnabled) { + // Fresnel + if (this.diffuseFresnelParameters && this.diffuseFresnelParameters.isEnabled || + this.opacityFresnelParameters && this.opacityFresnelParameters.isEnabled || + this.emissiveFresnelParameters && this.emissiveFresnelParameters.isEnabled || + this.refractionFresnelParameters && this.refractionFresnelParameters.isEnabled || + this.reflectionFresnelParameters && this.reflectionFresnelParameters.isEnabled) { + if (this.diffuseFresnelParameters && this.diffuseFresnelParameters.isEnabled) { + this._defines.DIFFUSEFRESNEL = true; + } + if (this.opacityFresnelParameters && this.opacityFresnelParameters.isEnabled) { + this._defines.OPACITYFRESNEL = true; + } + if (this.reflectionFresnelParameters && this.reflectionFresnelParameters.isEnabled) { + this._defines.REFLECTIONFRESNEL = true; + if (this.useReflectionFresnelFromSpecular) { + this._defines.REFLECTIONFRESNELFROMSPECULAR = true; + } + } + if (this.refractionFresnelParameters && this.refractionFresnelParameters.isEnabled) { + this._defines.REFRACTIONFRESNEL = true; + } + if (this.emissiveFresnelParameters && this.emissiveFresnelParameters.isEnabled) { + this._defines.EMISSIVEFRESNEL = true; + } + needNormals = true; + this._defines.FRESNEL = true; + } + } + if (this._defines.SPECULARTERM && this.useSpecularOverAlpha) { + this._defines.SPECULAROVERALPHA = true; + } + // Attribs + if (mesh) { + if (needNormals && mesh.isVerticesDataPresent(BABYLON.VertexBuffer.NormalKind)) { + this._defines.NORMAL = true; + } + if (needUVs) { + if (mesh.isVerticesDataPresent(BABYLON.VertexBuffer.UVKind)) { + this._defines.UV1 = true; + } + if (mesh.isVerticesDataPresent(BABYLON.VertexBuffer.UV2Kind)) { + this._defines.UV2 = true; + } + } + if (mesh.useVertexColors && mesh.isVerticesDataPresent(BABYLON.VertexBuffer.ColorKind)) { + this._defines.VERTEXCOLOR = true; + if (mesh.hasVertexAlpha) { + this._defines.VERTEXALPHA = true; + } + } + if (mesh.useBones && mesh.computeBonesUsingShaders) { + this._defines.NUM_BONE_INFLUENCERS = mesh.numBoneInfluencers; + this._defines.BonesPerMesh = (mesh.skeleton.bones.length + 1); + } + // Instances + if (useInstances) { + this._defines.INSTANCES = true; + } + } + // Get correct effect + if (!this._defines.isEqual(this._cachedDefines)) { + this._defines.cloneTo(this._cachedDefines); + scene.resetCachedMaterial(); + // Fallbacks + var fallbacks = new BABYLON.EffectFallbacks(); + if (this._defines.REFLECTION) { + fallbacks.addFallback(0, "REFLECTION"); + } + if (this._defines.SPECULAR) { + fallbacks.addFallback(0, "SPECULAR"); + } + if (this._defines.BUMP) { + fallbacks.addFallback(0, "BUMP"); + } + if (this._defines.PARALLAX) { + fallbacks.addFallback(1, "PARALLAX"); + } + if (this._defines.PARALLAXOCCLUSION) { + fallbacks.addFallback(0, "PARALLAXOCCLUSION"); + } + if (this._defines.SPECULAROVERALPHA) { + fallbacks.addFallback(0, "SPECULAROVERALPHA"); + } + if (this._defines.FOG) { + fallbacks.addFallback(1, "FOG"); + } + if (this._defines.POINTSIZE) { + fallbacks.addFallback(0, "POINTSIZE"); + } + if (this._defines.LOGARITHMICDEPTH) { + fallbacks.addFallback(0, "LOGARITHMICDEPTH"); + } + BABYLON.MaterialHelper.HandleFallbacksForShadows(this._defines, fallbacks, this.maxSimultaneousLights); + if (this._defines.SPECULARTERM) { + fallbacks.addFallback(0, "SPECULARTERM"); + } + if (this._defines.DIFFUSEFRESNEL) { + fallbacks.addFallback(1, "DIFFUSEFRESNEL"); + } + if (this._defines.OPACITYFRESNEL) { + fallbacks.addFallback(2, "OPACITYFRESNEL"); + } + if (this._defines.REFLECTIONFRESNEL) { + fallbacks.addFallback(3, "REFLECTIONFRESNEL"); + } + if (this._defines.EMISSIVEFRESNEL) { + fallbacks.addFallback(4, "EMISSIVEFRESNEL"); + } + if (this._defines.FRESNEL) { + fallbacks.addFallback(4, "FRESNEL"); + } + //Attributes + var attribs = [BABYLON.VertexBuffer.PositionKind]; + if (this._defines.NORMAL) { + attribs.push(BABYLON.VertexBuffer.NormalKind); + } + if (this._defines.UV1) { + attribs.push(BABYLON.VertexBuffer.UVKind); + } + if (this._defines.UV2) { + attribs.push(BABYLON.VertexBuffer.UV2Kind); + } + if (this._defines.VERTEXCOLOR) { + attribs.push(BABYLON.VertexBuffer.ColorKind); + } + BABYLON.MaterialHelper.PrepareAttributesForBones(attribs, mesh, this._defines, fallbacks); + BABYLON.MaterialHelper.PrepareAttributesForInstances(attribs, this._defines); + var shaderName = "default"; + var join = this._defines.toString(); + var uniforms = ["world", "view", "viewProjection", "vEyePosition", "vLightsType", "vAmbientColor", "vDiffuseColor", "vSpecularColor", "vEmissiveColor", + "vFogInfos", "vFogColor", "pointSize", + "vDiffuseInfos", "vAmbientInfos", "vOpacityInfos", "vReflectionInfos", "vEmissiveInfos", "vSpecularInfos", "vBumpInfos", "vLightmapInfos", "vRefractionInfos", + "mBones", + "vClipPlane", "diffuseMatrix", "ambientMatrix", "opacityMatrix", "reflectionMatrix", "emissiveMatrix", "specularMatrix", "bumpMatrix", "lightmapMatrix", "refractionMatrix", + "depthValues", + "diffuseLeftColor", "diffuseRightColor", "opacityParts", "reflectionLeftColor", "reflectionRightColor", "emissiveLeftColor", "emissiveRightColor", "refractionLeftColor", "refractionRightColor", + "logarithmicDepthConstant" + ]; + var samplers = ["diffuseSampler", "ambientSampler", "opacitySampler", "reflectionCubeSampler", "reflection2DSampler", "emissiveSampler", "specularSampler", "bumpSampler", "lightmapSampler", "refractionCubeSampler", "refraction2DSampler"]; + if (this._defines.CAMERACOLORCURVES) { + BABYLON.ColorCurves.PrepareUniforms(uniforms); + } + if (this._defines.CAMERACOLORGRADING) { + BABYLON.ColorGradingTexture.PrepareUniformsAndSamplers(uniforms, samplers); + } + BABYLON.MaterialHelper.PrepareUniformsAndSamplersList(uniforms, samplers, this._defines, this.maxSimultaneousLights); + this._effect = scene.getEngine().createEffect(shaderName, attribs, uniforms, samplers, join, fallbacks, this.onCompiled, this.onError, { maxSimultaneousLights: this.maxSimultaneousLights - 1 }); + } + if (!this._effect.isReady()) { + return false; + } + this._renderId = scene.getRenderId(); + this._wasPreviouslyReady = true; + if (mesh) { + if (!mesh._materialDefines) { + mesh._materialDefines = new StandardMaterialDefines(); + } + this._defines.cloneTo(mesh._materialDefines); + } + return true; + }; + StandardMaterial.prototype.unbind = function () { + if (this.reflectionTexture && this.reflectionTexture.isRenderTarget) { + this._effect.setTexture("reflection2DSampler", null); + } + if (this.refractionTexture && this.refractionTexture.isRenderTarget) { + this._effect.setTexture("refraction2DSampler", null); + } + _super.prototype.unbind.call(this); + }; + StandardMaterial.prototype.bindOnlyWorldMatrix = function (world) { + this._effect.setMatrix("world", world); + }; + StandardMaterial.prototype.bind = function (world, mesh) { + var scene = this.getScene(); + // Matrices + this.bindOnlyWorldMatrix(world); + // Bones + BABYLON.MaterialHelper.BindBonesParameters(mesh, this._effect); + if (scene.getCachedMaterial() !== this) { + this._effect.setMatrix("viewProjection", scene.getTransformMatrix()); + if (StandardMaterial.FresnelEnabled) { + // Fresnel + if (this.diffuseFresnelParameters && this.diffuseFresnelParameters.isEnabled) { + this._effect.setColor4("diffuseLeftColor", this.diffuseFresnelParameters.leftColor, this.diffuseFresnelParameters.power); + this._effect.setColor4("diffuseRightColor", this.diffuseFresnelParameters.rightColor, this.diffuseFresnelParameters.bias); + } + if (this.opacityFresnelParameters && this.opacityFresnelParameters.isEnabled) { + this._effect.setColor4("opacityParts", new BABYLON.Color3(this.opacityFresnelParameters.leftColor.toLuminance(), this.opacityFresnelParameters.rightColor.toLuminance(), this.opacityFresnelParameters.bias), this.opacityFresnelParameters.power); + } + if (this.reflectionFresnelParameters && this.reflectionFresnelParameters.isEnabled) { + this._effect.setColor4("reflectionLeftColor", this.reflectionFresnelParameters.leftColor, this.reflectionFresnelParameters.power); + this._effect.setColor4("reflectionRightColor", this.reflectionFresnelParameters.rightColor, this.reflectionFresnelParameters.bias); + } + if (this.refractionFresnelParameters && this.refractionFresnelParameters.isEnabled) { + this._effect.setColor4("refractionLeftColor", this.refractionFresnelParameters.leftColor, this.refractionFresnelParameters.power); + this._effect.setColor4("refractionRightColor", this.refractionFresnelParameters.rightColor, this.refractionFresnelParameters.bias); + } + if (this.emissiveFresnelParameters && this.emissiveFresnelParameters.isEnabled) { + this._effect.setColor4("emissiveLeftColor", this.emissiveFresnelParameters.leftColor, this.emissiveFresnelParameters.power); + this._effect.setColor4("emissiveRightColor", this.emissiveFresnelParameters.rightColor, this.emissiveFresnelParameters.bias); + } + } + // Textures + if (scene.texturesEnabled) { + if (this.diffuseTexture && StandardMaterial.DiffuseTextureEnabled) { + this._effect.setTexture("diffuseSampler", this.diffuseTexture); + this._effect.setFloat2("vDiffuseInfos", this.diffuseTexture.coordinatesIndex, this.diffuseTexture.level); + this._effect.setMatrix("diffuseMatrix", this.diffuseTexture.getTextureMatrix()); + } + if (this.ambientTexture && StandardMaterial.AmbientTextureEnabled) { + this._effect.setTexture("ambientSampler", this.ambientTexture); + this._effect.setFloat2("vAmbientInfos", this.ambientTexture.coordinatesIndex, this.ambientTexture.level); + this._effect.setMatrix("ambientMatrix", this.ambientTexture.getTextureMatrix()); + } + if (this.opacityTexture && StandardMaterial.OpacityTextureEnabled) { + this._effect.setTexture("opacitySampler", this.opacityTexture); + this._effect.setFloat2("vOpacityInfos", this.opacityTexture.coordinatesIndex, this.opacityTexture.level); + this._effect.setMatrix("opacityMatrix", this.opacityTexture.getTextureMatrix()); + } + if (this.reflectionTexture && StandardMaterial.ReflectionTextureEnabled) { + if (this.reflectionTexture.isCube) { + this._effect.setTexture("reflectionCubeSampler", this.reflectionTexture); + } + else { + this._effect.setTexture("reflection2DSampler", this.reflectionTexture); + } + this._effect.setMatrix("reflectionMatrix", this.reflectionTexture.getReflectionTextureMatrix()); + this._effect.setFloat2("vReflectionInfos", this.reflectionTexture.level, this.roughness); + } + if (this.emissiveTexture && StandardMaterial.EmissiveTextureEnabled) { + this._effect.setTexture("emissiveSampler", this.emissiveTexture); + this._effect.setFloat2("vEmissiveInfos", this.emissiveTexture.coordinatesIndex, this.emissiveTexture.level); + this._effect.setMatrix("emissiveMatrix", this.emissiveTexture.getTextureMatrix()); + } + if (this.lightmapTexture && StandardMaterial.LightmapTextureEnabled) { + this._effect.setTexture("lightmapSampler", this.lightmapTexture); + this._effect.setFloat2("vLightmapInfos", this.lightmapTexture.coordinatesIndex, this.lightmapTexture.level); + this._effect.setMatrix("lightmapMatrix", this.lightmapTexture.getTextureMatrix()); + } + if (this.specularTexture && StandardMaterial.SpecularTextureEnabled) { + this._effect.setTexture("specularSampler", this.specularTexture); + this._effect.setFloat2("vSpecularInfos", this.specularTexture.coordinatesIndex, this.specularTexture.level); + this._effect.setMatrix("specularMatrix", this.specularTexture.getTextureMatrix()); + } + if (this.bumpTexture && scene.getEngine().getCaps().standardDerivatives && StandardMaterial.BumpTextureEnabled) { + this._effect.setTexture("bumpSampler", this.bumpTexture); + this._effect.setFloat3("vBumpInfos", this.bumpTexture.coordinatesIndex, 1.0 / this.bumpTexture.level, this.parallaxScaleBias); + this._effect.setMatrix("bumpMatrix", this.bumpTexture.getTextureMatrix()); + } + if (this.refractionTexture && StandardMaterial.RefractionTextureEnabled) { + var depth = 1.0; + if (this.refractionTexture.isCube) { + this._effect.setTexture("refractionCubeSampler", this.refractionTexture); + } + else { + this._effect.setTexture("refraction2DSampler", this.refractionTexture); + this._effect.setMatrix("refractionMatrix", this.refractionTexture.getReflectionTextureMatrix()); + if (this.refractionTexture.depth) { + depth = this.refractionTexture.depth; + } + } + this._effect.setFloat4("vRefractionInfos", this.refractionTexture.level, this.indexOfRefraction, depth, this.invertRefractionY ? -1 : 1); + } + if (this.cameraColorGradingTexture && StandardMaterial.ColorGradingTextureEnabled) { + BABYLON.ColorGradingTexture.Bind(this.cameraColorGradingTexture, this._effect); + } + } + // Clip plane + BABYLON.MaterialHelper.BindClipPlane(this._effect, scene); + // Point size + if (this.pointsCloud) { + this._effect.setFloat("pointSize", this.pointSize); + } + // Colors + scene.ambientColor.multiplyToRef(this.ambientColor, this._globalAmbientColor); + this._effect.setVector3("vEyePosition", scene._mirroredCameraPosition ? scene._mirroredCameraPosition : scene.activeCamera.position); + this._effect.setColor3("vAmbientColor", this._globalAmbientColor); + if (this._defines.SPECULARTERM) { + this._effect.setColor4("vSpecularColor", this.specularColor, this.specularPower); + } + this._effect.setColor3("vEmissiveColor", this.emissiveColor); + } + if (scene.getCachedMaterial() !== this || !this.isFrozen) { + // Diffuse + this._effect.setColor4("vDiffuseColor", this.diffuseColor, this.alpha * mesh.visibility); + // Lights + if (scene.lightsEnabled && !this.disableLighting) { + BABYLON.MaterialHelper.BindLights(scene, mesh, this._effect, this._defines, this.maxSimultaneousLights); + } + // View + if (scene.fogEnabled && mesh.applyFog && scene.fogMode !== BABYLON.Scene.FOGMODE_NONE || this.reflectionTexture || this.refractionTexture) { + this._effect.setMatrix("view", scene.getViewMatrix()); + } + // Fog + BABYLON.MaterialHelper.BindFogParameters(scene, mesh, this._effect); + // Log. depth + BABYLON.MaterialHelper.BindLogDepth(this._defines, this._effect, scene); + // Color Curves + if (this.cameraColorCurves) { + BABYLON.ColorCurves.Bind(this.cameraColorCurves, this._effect); + } + } + _super.prototype.bind.call(this, world, mesh); + }; + StandardMaterial.prototype.getAnimatables = function () { + var results = []; + if (this.diffuseTexture && this.diffuseTexture.animations && this.diffuseTexture.animations.length > 0) { + results.push(this.diffuseTexture); + } + if (this.ambientTexture && this.ambientTexture.animations && this.ambientTexture.animations.length > 0) { + results.push(this.ambientTexture); + } + if (this.opacityTexture && this.opacityTexture.animations && this.opacityTexture.animations.length > 0) { + results.push(this.opacityTexture); + } + if (this.reflectionTexture && this.reflectionTexture.animations && this.reflectionTexture.animations.length > 0) { + results.push(this.reflectionTexture); + } + if (this.emissiveTexture && this.emissiveTexture.animations && this.emissiveTexture.animations.length > 0) { + results.push(this.emissiveTexture); + } + if (this.specularTexture && this.specularTexture.animations && this.specularTexture.animations.length > 0) { + results.push(this.specularTexture); + } + if (this.bumpTexture && this.bumpTexture.animations && this.bumpTexture.animations.length > 0) { + results.push(this.bumpTexture); + } + if (this.lightmapTexture && this.lightmapTexture.animations && this.lightmapTexture.animations.length > 0) { + results.push(this.lightmapTexture); + } + if (this.refractionTexture && this.refractionTexture.animations && this.refractionTexture.animations.length > 0) { + results.push(this.refractionTexture); + } + if (this.cameraColorGradingTexture && this.cameraColorGradingTexture.animations && this.cameraColorGradingTexture.animations.length > 0) { + results.push(this.cameraColorGradingTexture); + } + return results; + }; + StandardMaterial.prototype.dispose = function (forceDisposeEffect, forceDisposeTextures) { + if (forceDisposeTextures) { + if (this.diffuseTexture) { + this.diffuseTexture.dispose(); + } + if (this.ambientTexture) { + this.ambientTexture.dispose(); + } + if (this.opacityTexture) { + this.opacityTexture.dispose(); + } + if (this.reflectionTexture) { + this.reflectionTexture.dispose(); + } + if (this.emissiveTexture) { + this.emissiveTexture.dispose(); + } + if (this.specularTexture) { + this.specularTexture.dispose(); + } + if (this.bumpTexture) { + this.bumpTexture.dispose(); + } + if (this.lightmapTexture) { + this.lightmapTexture.dispose(); + } + if (this.refractionTexture) { + this.refractionTexture.dispose(); + } + if (this.cameraColorGradingTexture) { + this.cameraColorGradingTexture.dispose(); + } + } + _super.prototype.dispose.call(this, forceDisposeEffect, forceDisposeTextures); + }; + StandardMaterial.prototype.clone = function (name) { + var _this = this; + return BABYLON.SerializationHelper.Clone(function () { return new StandardMaterial(name, _this.getScene()); }, this); + }; + StandardMaterial.prototype.serialize = function () { + return BABYLON.SerializationHelper.Serialize(this); + }; + // Statics + StandardMaterial.Parse = function (source, scene, rootUrl) { + return BABYLON.SerializationHelper.Parse(function () { return new StandardMaterial(source.name, scene); }, source, scene, rootUrl); + }; + // Flags used to enable or disable a type of texture for all Standard Materials + StandardMaterial.DiffuseTextureEnabled = true; + StandardMaterial.AmbientTextureEnabled = true; + StandardMaterial.OpacityTextureEnabled = true; + StandardMaterial.ReflectionTextureEnabled = true; + StandardMaterial.EmissiveTextureEnabled = true; + StandardMaterial.SpecularTextureEnabled = true; + StandardMaterial.BumpTextureEnabled = true; + StandardMaterial.FresnelEnabled = true; + StandardMaterial.LightmapTextureEnabled = true; + StandardMaterial.RefractionTextureEnabled = true; + StandardMaterial.ColorGradingTextureEnabled = true; + __decorate([ + BABYLON.serializeAsTexture() + ], StandardMaterial.prototype, "diffuseTexture", void 0); + __decorate([ + BABYLON.serializeAsTexture() + ], StandardMaterial.prototype, "ambientTexture", void 0); + __decorate([ + BABYLON.serializeAsTexture() + ], StandardMaterial.prototype, "opacityTexture", void 0); + __decorate([ + BABYLON.serializeAsTexture() + ], StandardMaterial.prototype, "reflectionTexture", void 0); + __decorate([ + BABYLON.serializeAsTexture() + ], StandardMaterial.prototype, "emissiveTexture", void 0); + __decorate([ + BABYLON.serializeAsTexture() + ], StandardMaterial.prototype, "specularTexture", void 0); + __decorate([ + BABYLON.serializeAsTexture() + ], StandardMaterial.prototype, "bumpTexture", void 0); + __decorate([ + BABYLON.serializeAsTexture() + ], StandardMaterial.prototype, "lightmapTexture", void 0); + __decorate([ + BABYLON.serializeAsTexture() + ], StandardMaterial.prototype, "refractionTexture", void 0); + __decorate([ + BABYLON.serializeAsColor3("ambient") + ], StandardMaterial.prototype, "ambientColor", void 0); + __decorate([ + BABYLON.serializeAsColor3("diffuse") + ], StandardMaterial.prototype, "diffuseColor", void 0); + __decorate([ + BABYLON.serializeAsColor3("specular") + ], StandardMaterial.prototype, "specularColor", void 0); + __decorate([ + BABYLON.serializeAsColor3("emissive") + ], StandardMaterial.prototype, "emissiveColor", void 0); + __decorate([ + BABYLON.serialize() + ], StandardMaterial.prototype, "specularPower", void 0); + __decorate([ + BABYLON.serialize() + ], StandardMaterial.prototype, "useAlphaFromDiffuseTexture", void 0); + __decorate([ + BABYLON.serialize() + ], StandardMaterial.prototype, "useEmissiveAsIllumination", void 0); + __decorate([ + BABYLON.serialize() + ], StandardMaterial.prototype, "linkEmissiveWithDiffuse", void 0); + __decorate([ + BABYLON.serialize() + ], StandardMaterial.prototype, "useReflectionFresnelFromSpecular", void 0); + __decorate([ + BABYLON.serialize() + ], StandardMaterial.prototype, "useSpecularOverAlpha", void 0); + __decorate([ + BABYLON.serialize() + ], StandardMaterial.prototype, "useReflectionOverAlpha", void 0); + __decorate([ + BABYLON.serialize() + ], StandardMaterial.prototype, "disableLighting", void 0); + __decorate([ + BABYLON.serialize() + ], StandardMaterial.prototype, "useParallax", void 0); + __decorate([ + BABYLON.serialize() + ], StandardMaterial.prototype, "useParallaxOcclusion", void 0); + __decorate([ + BABYLON.serialize() + ], StandardMaterial.prototype, "parallaxScaleBias", void 0); + __decorate([ + BABYLON.serialize() + ], StandardMaterial.prototype, "roughness", void 0); + __decorate([ + BABYLON.serialize() + ], StandardMaterial.prototype, "indexOfRefraction", void 0); + __decorate([ + BABYLON.serialize() + ], StandardMaterial.prototype, "invertRefractionY", void 0); + __decorate([ + BABYLON.serialize() + ], StandardMaterial.prototype, "useLightmapAsShadowmap", void 0); + __decorate([ + BABYLON.serializeAsFresnelParameters() + ], StandardMaterial.prototype, "diffuseFresnelParameters", void 0); + __decorate([ + BABYLON.serializeAsFresnelParameters() + ], StandardMaterial.prototype, "opacityFresnelParameters", void 0); + __decorate([ + BABYLON.serializeAsFresnelParameters() + ], StandardMaterial.prototype, "reflectionFresnelParameters", void 0); + __decorate([ + BABYLON.serializeAsFresnelParameters() + ], StandardMaterial.prototype, "refractionFresnelParameters", void 0); + __decorate([ + BABYLON.serializeAsFresnelParameters() + ], StandardMaterial.prototype, "emissiveFresnelParameters", void 0); + __decorate([ + BABYLON.serialize() + ], StandardMaterial.prototype, "useGlossinessFromSpecularMapAlpha", void 0); + __decorate([ + BABYLON.serialize() + ], StandardMaterial.prototype, "maxSimultaneousLights", void 0); + __decorate([ + BABYLON.serialize() + ], StandardMaterial.prototype, "invertNormalMapX", void 0); + __decorate([ + BABYLON.serialize() + ], StandardMaterial.prototype, "invertNormalMapY", void 0); + __decorate([ + BABYLON.serializeAsTexture() + ], StandardMaterial.prototype, "cameraColorGradingTexture", void 0); + __decorate([ + BABYLON.serializeAsColorCurves() + ], StandardMaterial.prototype, "cameraColorCurves", void 0); + __decorate([ + BABYLON.serialize() + ], StandardMaterial.prototype, "useLogarithmicDepth", null); + return StandardMaterial; + }(BABYLON.Material)); + BABYLON.StandardMaterial = StandardMaterial; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.standardMaterial.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var MultiMaterial = (function (_super) { + __extends(MultiMaterial, _super); + function MultiMaterial(name, scene) { + _super.call(this, name, scene, true); + this.subMaterials = new Array(); + scene.multiMaterials.push(this); + } + // Properties + MultiMaterial.prototype.getSubMaterial = function (index) { + if (index < 0 || index >= this.subMaterials.length) { + return this.getScene().defaultMaterial; + } + return this.subMaterials[index]; + }; + // Methods + MultiMaterial.prototype.isReady = function (mesh) { + for (var index = 0; index < this.subMaterials.length; index++) { + var subMaterial = this.subMaterials[index]; + if (subMaterial) { + if (!this.subMaterials[index].isReady(mesh)) { + return false; + } + } + } + return true; + }; + MultiMaterial.prototype.clone = function (name, cloneChildren) { + var newMultiMaterial = new MultiMaterial(name, this.getScene()); + for (var index = 0; index < this.subMaterials.length; index++) { + var subMaterial = null; + if (cloneChildren) { + subMaterial = this.subMaterials[index].clone(name + "-" + this.subMaterials[index].name); + } + else { + subMaterial = this.subMaterials[index]; + } + newMultiMaterial.subMaterials.push(subMaterial); + } + return newMultiMaterial; + }; + MultiMaterial.prototype.serialize = function () { + var serializationObject = {}; + serializationObject.name = this.name; + serializationObject.id = this.id; + serializationObject.tags = BABYLON.Tags.GetTags(this); + serializationObject.materials = []; + for (var matIndex = 0; matIndex < this.subMaterials.length; matIndex++) { + var subMat = this.subMaterials[matIndex]; + if (subMat) { + serializationObject.materials.push(subMat.id); + } + else { + serializationObject.materials.push(null); + } + } + return serializationObject; + }; + return MultiMaterial; + }(BABYLON.Material)); + BABYLON.MultiMaterial = MultiMaterial; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.multiMaterial.js.map + +var BABYLON; +(function (BABYLON) { + var SceneLoader = (function () { + function SceneLoader() { + } + Object.defineProperty(SceneLoader, "NO_LOGGING", { + get: function () { + return 0; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(SceneLoader, "MINIMAL_LOGGING", { + get: function () { + return 1; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(SceneLoader, "SUMMARY_LOGGING", { + get: function () { + return 2; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(SceneLoader, "DETAILED_LOGGING", { + get: function () { + return 3; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(SceneLoader, "ForceFullSceneLoadingForIncremental", { + get: function () { + return SceneLoader._ForceFullSceneLoadingForIncremental; + }, + set: function (value) { + SceneLoader._ForceFullSceneLoadingForIncremental = value; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(SceneLoader, "ShowLoadingScreen", { + get: function () { + return SceneLoader._ShowLoadingScreen; + }, + set: function (value) { + SceneLoader._ShowLoadingScreen = value; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(SceneLoader, "loggingLevel", { + get: function () { + return SceneLoader._loggingLevel; + }, + set: function (value) { + SceneLoader._loggingLevel = value; + }, + enumerable: true, + configurable: true + }); + SceneLoader._getDefaultPlugin = function () { + return SceneLoader._registeredPlugins[".babylon"]; + }; + SceneLoader._getPluginForExtension = function (extension) { + var registeredPlugin = SceneLoader._registeredPlugins[extension]; + if (registeredPlugin) { + return registeredPlugin; + } + return SceneLoader._getDefaultPlugin(); + }; + SceneLoader._getPluginForFilename = function (sceneFilename) { + if (sceneFilename.name) { + sceneFilename = sceneFilename.name; + } + var dotPosition = sceneFilename.lastIndexOf("."); + var queryStringPosition = sceneFilename.indexOf("?"); + if (queryStringPosition === -1) { + queryStringPosition = sceneFilename.length; + } + var extension = sceneFilename.substring(dotPosition, queryStringPosition).toLowerCase(); + return SceneLoader._getPluginForExtension(extension); + }; + // use babylon file loader directly if sceneFilename is prefixed with "data:" + SceneLoader._getDirectLoad = function (sceneFilename) { + if (sceneFilename.substr && sceneFilename.substr(0, 5) === "data:") { + return sceneFilename.substr(5); + } + return null; + }; + // Public functions + SceneLoader.GetPluginForExtension = function (extension) { + return SceneLoader._getPluginForExtension(extension).plugin; + }; + SceneLoader.RegisterPlugin = function (plugin) { + if (typeof plugin.extensions === "string") { + var extension = plugin.extensions; + SceneLoader._registeredPlugins[extension.toLowerCase()] = { + plugin: plugin, + isBinary: false + }; + } + else { + var extensions = plugin.extensions; + Object.keys(extensions).forEach(function (extension) { + SceneLoader._registeredPlugins[extension.toLowerCase()] = { + plugin: plugin, + isBinary: extensions[extension].isBinary + }; + }); + } + }; + SceneLoader.ImportMesh = function (meshesNames, rootUrl, sceneFilename, scene, onsuccess, progressCallBack, onerror) { + if (sceneFilename.substr && sceneFilename.substr(0, 1) === "/") { + BABYLON.Tools.Error("Wrong sceneFilename parameter"); + return; + } + if (sceneFilename.substr && sceneFilename.substr(0, 1) === "/") { + BABYLON.Tools.Error("Wrong sceneFilename parameter"); + return; + } + var directLoad = SceneLoader._getDirectLoad(sceneFilename); + var loadingToken = {}; + scene._addPendingData(loadingToken); + var manifestChecked = function (success) { + scene.database = database; + var registeredPlugin = directLoad ? SceneLoader._getDefaultPlugin() : SceneLoader._getPluginForFilename(sceneFilename); + var plugin = registeredPlugin.plugin; + var useArrayBuffer = registeredPlugin.isBinary; + var importMeshFromData = function (data) { + var meshes = []; + var particleSystems = []; + var skeletons = []; + try { + if (plugin.importMesh) { + var syncedPlugin = plugin; + if (!syncedPlugin.importMesh(meshesNames, scene, data, rootUrl, meshes, particleSystems, skeletons)) { + if (onerror) { + onerror(scene, 'Unable to import meshes from ' + rootUrl + sceneFilename); + } + scene._removePendingData(loadingToken); + return; + } + if (onsuccess) { + scene.importedMeshesFiles.push(rootUrl + sceneFilename); + onsuccess(meshes, particleSystems, skeletons); + scene._removePendingData(loadingToken); + } + } + else { + var asyncedPlugin = plugin; + asyncedPlugin.importMeshAsync(meshesNames, scene, data, rootUrl, function (meshes, particleSystems, skeletons) { + if (onsuccess) { + scene.importedMeshesFiles.push(rootUrl + sceneFilename); + onsuccess(meshes, particleSystems, skeletons); + scene._removePendingData(loadingToken); + } + }, function () { + if (onerror) { + onerror(scene, 'Unable to import meshes from ' + rootUrl + sceneFilename); + } + scene._removePendingData(loadingToken); + }); + } + } + catch (e) { + if (onerror) { + onerror(scene, 'Unable to import meshes from ' + rootUrl + sceneFilename, e); + } + scene._removePendingData(loadingToken); + } + }; + if (directLoad) { + importMeshFromData(directLoad); + return; + } + BABYLON.Tools.LoadFile(rootUrl + sceneFilename, function (data) { + importMeshFromData(data); + }, progressCallBack, database, useArrayBuffer); + }; + if (scene.getEngine().enableOfflineSupport && !directLoad) { + // Checking if a manifest file has been set for this scene and if offline mode has been requested + var database = new BABYLON.Database(rootUrl + sceneFilename, manifestChecked); + } + else { + // If the scene is a data stream or offline support is not enabled, it's a direct load + manifestChecked(true); + } + }; + /** + * Load a scene + * @param rootUrl a string that defines the root url for scene and resources + * @param sceneFilename a string that defines the name of the scene file. can start with "data:" following by the stringified version of the scene + * @param engine is the instance of BABYLON.Engine to use to create the scene + */ + SceneLoader.Load = function (rootUrl, sceneFilename, engine, onsuccess, progressCallBack, onerror) { + SceneLoader.Append(rootUrl, sceneFilename, new BABYLON.Scene(engine), onsuccess, progressCallBack, onerror); + }; + /** + * Append a scene + * @param rootUrl a string that defines the root url for scene and resources + * @param sceneFilename a string that defines the name of the scene file. can start with "data:" following by the stringified version of the scene + * @param scene is the instance of BABYLON.Scene to append to + */ + SceneLoader.Append = function (rootUrl, sceneFilename, scene, onsuccess, progressCallBack, onerror) { + if (sceneFilename.substr && sceneFilename.substr(0, 1) === "/") { + BABYLON.Tools.Error("Wrong sceneFilename parameter"); + return; + } + var directLoad = SceneLoader._getDirectLoad(sceneFilename); + var registeredPlugin = directLoad ? SceneLoader._getDefaultPlugin() : SceneLoader._getPluginForFilename(sceneFilename); + var plugin = registeredPlugin.plugin; + var useArrayBuffer = registeredPlugin.isBinary; + var database; + var loadingToken = {}; + scene._addPendingData(loadingToken); + if (SceneLoader.ShowLoadingScreen) { + scene.getEngine().displayLoadingUI(); + } + var loadSceneFromData = function (data) { + scene.database = database; + if (plugin.load) { + var syncedPlugin = plugin; + if (!syncedPlugin.load(scene, data, rootUrl)) { + if (onerror) { + onerror(scene); + } + scene._removePendingData(loadingToken); + scene.getEngine().hideLoadingUI(); + return; + } + if (onsuccess) { + onsuccess(scene); + } + scene._removePendingData(loadingToken); + } + else { + var asyncedPlugin = plugin; + asyncedPlugin.loadAsync(scene, data, rootUrl, function () { + if (onsuccess) { + onsuccess(scene); + } + scene._removePendingData(loadingToken); + }, function () { + if (onerror) { + onerror(scene); + } + scene._removePendingData(loadingToken); + scene.getEngine().hideLoadingUI(); + }); + } + if (SceneLoader.ShowLoadingScreen) { + scene.executeWhenReady(function () { + scene.getEngine().hideLoadingUI(); + }); + } + }; + var manifestChecked = function (success) { + BABYLON.Tools.LoadFile(rootUrl + sceneFilename, loadSceneFromData, progressCallBack, database, useArrayBuffer); + }; + if (directLoad) { + loadSceneFromData(directLoad); + return; + } + if (rootUrl.indexOf("file:") === -1) { + if (scene.getEngine().enableOfflineSupport) { + // Checking if a manifest file has been set for this scene and if offline mode has been requested + database = new BABYLON.Database(rootUrl + sceneFilename, manifestChecked); + } + else { + manifestChecked(true); + } + } + else { + BABYLON.Tools.ReadFile(sceneFilename, loadSceneFromData, progressCallBack, useArrayBuffer); + } + }; + // Flags + SceneLoader._ForceFullSceneLoadingForIncremental = false; + SceneLoader._ShowLoadingScreen = true; + SceneLoader._loggingLevel = SceneLoader.NO_LOGGING; + // Members + SceneLoader._registeredPlugins = {}; + return SceneLoader; + }()); + BABYLON.SceneLoader = SceneLoader; + ; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.sceneLoader.js.map + +var BABYLON; +(function (BABYLON) { + var Internals; + (function (Internals) { + var parseMaterialById = function (id, parsedData, scene, rootUrl) { + for (var index = 0, cache = parsedData.materials.length; index < cache; index++) { + var parsedMaterial = parsedData.materials[index]; + if (parsedMaterial.id === id) { + return BABYLON.Material.Parse(parsedMaterial, scene, rootUrl); + } + } + return null; + }; + var isDescendantOf = function (mesh, names, hierarchyIds) { + names = (names instanceof Array) ? names : [names]; + for (var i in names) { + if (mesh.name === names[i]) { + hierarchyIds.push(mesh.id); + return true; + } + } + if (mesh.parentId && hierarchyIds.indexOf(mesh.parentId) !== -1) { + hierarchyIds.push(mesh.id); + return true; + } + return false; + }; + var logOperation = function (operation, producer) { + return operation + " of " + (producer ? producer.file + " from " + producer.name + " version: " + producer.version + ", exporter version: " + producer.exporter_version : "unknown"); + }; + BABYLON.SceneLoader.RegisterPlugin({ + extensions: ".babylon", + importMesh: function (meshesNames, scene, data, rootUrl, meshes, particleSystems, skeletons) { + // Entire method running in try block, so ALWAYS logs as far as it got, only actually writes details + // when SceneLoader.debugLogging = true (default), or exception encountered. + // Everything stored in var log instead of writing separate lines to support only writing in exception, + // and avoid problems with multiple concurrent .babylon loads. + var log = "importMesh has failed JSON parse"; + try { + var parsedData = JSON.parse(data); + log = ""; + var fullDetails = BABYLON.SceneLoader.loggingLevel === BABYLON.SceneLoader.DETAILED_LOGGING; + var loadedSkeletonsIds = []; + var loadedMaterialsIds = []; + var hierarchyIds = []; + var index; + var cache; + for (index = 0, cache = parsedData.meshes.length; index < cache; index++) { + var parsedMesh = parsedData.meshes[index]; + if (!meshesNames || isDescendantOf(parsedMesh, meshesNames, hierarchyIds)) { + if (meshesNames instanceof Array) { + // Remove found mesh name from list. + delete meshesNames[meshesNames.indexOf(parsedMesh.name)]; + } + //Geometry? + if (parsedMesh.geometryId) { + //does the file contain geometries? + if (parsedData.geometries) { + //find the correct geometry and add it to the scene + var found = false; + ["boxes", "spheres", "cylinders", "toruses", "grounds", "planes", "torusKnots", "vertexData"].forEach(function (geometryType) { + if (found || !parsedData.geometries[geometryType] || !(parsedData.geometries[geometryType] instanceof Array)) { + return; + } + else { + parsedData.geometries[geometryType].forEach(function (parsedGeometryData) { + if (parsedGeometryData.id === parsedMesh.geometryId) { + switch (geometryType) { + case "boxes": + BABYLON.Geometry.Primitives.Box.Parse(parsedGeometryData, scene); + break; + case "spheres": + BABYLON.Geometry.Primitives.Sphere.Parse(parsedGeometryData, scene); + break; + case "cylinders": + BABYLON.Geometry.Primitives.Cylinder.Parse(parsedGeometryData, scene); + break; + case "toruses": + BABYLON.Geometry.Primitives.Torus.Parse(parsedGeometryData, scene); + break; + case "grounds": + BABYLON.Geometry.Primitives.Ground.Parse(parsedGeometryData, scene); + break; + case "planes": + BABYLON.Geometry.Primitives.Plane.Parse(parsedGeometryData, scene); + break; + case "torusKnots": + BABYLON.Geometry.Primitives.TorusKnot.Parse(parsedGeometryData, scene); + break; + case "vertexData": + BABYLON.Geometry.Parse(parsedGeometryData, scene, rootUrl); + break; + } + found = true; + } + }); + } + }); + if (!found) { + BABYLON.Tools.Warn("Geometry not found for mesh " + parsedMesh.id); + } + } + } + // Material ? + if (parsedMesh.materialId) { + var materialFound = (loadedMaterialsIds.indexOf(parsedMesh.materialId) !== -1); + if (!materialFound && parsedData.multiMaterials) { + for (var multimatIndex = 0, multimatCache = parsedData.multiMaterials.length; multimatIndex < multimatCache; multimatIndex++) { + var parsedMultiMaterial = parsedData.multiMaterials[multimatIndex]; + if (parsedMultiMaterial.id === parsedMesh.materialId) { + for (var matIndex = 0, matCache = parsedMultiMaterial.materials.length; matIndex < matCache; matIndex++) { + var subMatId = parsedMultiMaterial.materials[matIndex]; + loadedMaterialsIds.push(subMatId); + var mat = parseMaterialById(subMatId, parsedData, scene, rootUrl); + log += "\n\tMaterial " + mat.toString(fullDetails); + } + loadedMaterialsIds.push(parsedMultiMaterial.id); + var mmat = BABYLON.Material.ParseMultiMaterial(parsedMultiMaterial, scene); + materialFound = true; + log += "\n\tMulti-Material " + mmat.toString(fullDetails); + break; + } + } + } + if (!materialFound) { + loadedMaterialsIds.push(parsedMesh.materialId); + var mat = parseMaterialById(parsedMesh.materialId, parsedData, scene, rootUrl); + if (!mat) { + BABYLON.Tools.Warn("Material not found for mesh " + parsedMesh.id); + } + else { + log += "\n\tMaterial " + mat.toString(fullDetails); + } + } + } + // Skeleton ? + if (parsedMesh.skeletonId > -1 && scene.skeletons) { + var skeletonAlreadyLoaded = (loadedSkeletonsIds.indexOf(parsedMesh.skeletonId) > -1); + if (!skeletonAlreadyLoaded) { + for (var skeletonIndex = 0, skeletonCache = parsedData.skeletons.length; skeletonIndex < skeletonCache; skeletonIndex++) { + var parsedSkeleton = parsedData.skeletons[skeletonIndex]; + if (parsedSkeleton.id === parsedMesh.skeletonId) { + var skeleton = BABYLON.Skeleton.Parse(parsedSkeleton, scene); + skeletons.push(skeleton); + loadedSkeletonsIds.push(parsedSkeleton.id); + log += "\n\tSkeleton " + skeleton.toString(fullDetails); + } + } + } + } + var mesh = BABYLON.Mesh.Parse(parsedMesh, scene, rootUrl); + meshes.push(mesh); + log += "\n\tMesh " + mesh.toString(fullDetails); + } + } + // Connecting parents + var currentMesh; + for (index = 0, cache = scene.meshes.length; index < cache; index++) { + currentMesh = scene.meshes[index]; + if (currentMesh._waitingParentId) { + currentMesh.parent = scene.getLastEntryByID(currentMesh._waitingParentId); + currentMesh._waitingParentId = undefined; + } + } + // freeze and compute world matrix application + for (index = 0, cache = scene.meshes.length; index < cache; index++) { + currentMesh = scene.meshes[index]; + if (currentMesh._waitingFreezeWorldMatrix) { + currentMesh.freezeWorldMatrix(); + currentMesh._waitingFreezeWorldMatrix = undefined; + } + else { + currentMesh.computeWorldMatrix(true); + } + } + // Particles + if (parsedData.particleSystems) { + for (index = 0, cache = parsedData.particleSystems.length; index < cache; index++) { + var parsedParticleSystem = parsedData.particleSystems[index]; + if (hierarchyIds.indexOf(parsedParticleSystem.emitterId) !== -1) { + particleSystems.push(BABYLON.ParticleSystem.Parse(parsedParticleSystem, scene, rootUrl)); + } + } + } + return true; + } + catch (err) { + BABYLON.Tools.Log(logOperation("importMesh", parsedData ? parsedData.producer : "Unknown") + log); + log = null; + throw err; + } + finally { + if (log !== null && BABYLON.SceneLoader.loggingLevel !== BABYLON.SceneLoader.NO_LOGGING) { + BABYLON.Tools.Log(logOperation("importMesh", parsedData ? parsedData.producer : "Unknown") + (BABYLON.SceneLoader.loggingLevel !== BABYLON.SceneLoader.MINIMAL_LOGGING ? log : "")); + } + } + }, + load: function (scene, data, rootUrl) { + // Entire method running in try block, so ALWAYS logs as far as it got, only actually writes details + // when SceneLoader.debugLogging = true (default), or exception encountered. + // Everything stored in var log instead of writing separate lines to support only writing in exception, + // and avoid problems with multiple concurrent .babylon loads. + var log = "importScene has failed JSON parse"; + try { + var parsedData = JSON.parse(data); + log = ""; + var fullDetails = BABYLON.SceneLoader.loggingLevel === BABYLON.SceneLoader.DETAILED_LOGGING; + // Scene + scene.useDelayedTextureLoading = parsedData.useDelayedTextureLoading && !BABYLON.SceneLoader.ForceFullSceneLoadingForIncremental; + scene.autoClear = parsedData.autoClear; + scene.clearColor = BABYLON.Color4.FromArray(parsedData.clearColor); + scene.ambientColor = BABYLON.Color3.FromArray(parsedData.ambientColor); + if (parsedData.gravity) { + scene.gravity = BABYLON.Vector3.FromArray(parsedData.gravity); + } + // Fog + if (parsedData.fogMode && parsedData.fogMode !== 0) { + scene.fogMode = parsedData.fogMode; + scene.fogColor = BABYLON.Color3.FromArray(parsedData.fogColor); + scene.fogStart = parsedData.fogStart; + scene.fogEnd = parsedData.fogEnd; + scene.fogDensity = parsedData.fogDensity; + log += "\tFog mode for scene: "; + switch (scene.fogMode) { + // getters not compiling, so using hardcoded + case 1: + log += "exp\n"; + break; + case 2: + log += "exp2\n"; + break; + case 3: + log += "linear\n"; + break; + } + } + //Physics + if (parsedData.physicsEnabled) { + var physicsPlugin; + if (parsedData.physicsEngine === "cannon") { + physicsPlugin = new BABYLON.CannonJSPlugin(); + } + else if (parsedData.physicsEngine === "oimo") { + physicsPlugin = new BABYLON.OimoJSPlugin(); + } + log = "\tPhysics engine " + (parsedData.physicsEngine ? parsedData.physicsEngine : "oimo") + " enabled\n"; + //else - default engine, which is currently oimo + var physicsGravity = parsedData.physicsGravity ? BABYLON.Vector3.FromArray(parsedData.physicsGravity) : null; + scene.enablePhysics(physicsGravity, physicsPlugin); + } + // Metadata + if (parsedData.metadata !== undefined) { + scene.metadata = parsedData.metadata; + } + //collisions, if defined. otherwise, default is true + if (parsedData.collisionsEnabled != undefined) { + scene.collisionsEnabled = parsedData.collisionsEnabled; + } + scene.workerCollisions = !!parsedData.workerCollisions; + var index; + var cache; + // Lights + for (index = 0, cache = parsedData.lights.length; index < cache; index++) { + var parsedLight = parsedData.lights[index]; + var light = BABYLON.Light.Parse(parsedLight, scene); + log += (index === 0 ? "\n\tLights:" : ""); + log += "\n\t\t" + light.toString(fullDetails); + } + // Animations + if (parsedData.animations) { + for (index = 0, cache = parsedData.animations.length; index < cache; index++) { + var parsedAnimation = parsedData.animations[index]; + var animation = BABYLON.Animation.Parse(parsedAnimation); + scene.animations.push(animation); + log += (index === 0 ? "\n\tAnimations:" : ""); + log += "\n\t\t" + animation.toString(fullDetails); + } + } + if (parsedData.autoAnimate) { + scene.beginAnimation(scene, parsedData.autoAnimateFrom, parsedData.autoAnimateTo, parsedData.autoAnimateLoop, parsedData.autoAnimateSpeed || 1.0); + } + // Materials + if (parsedData.materials) { + for (index = 0, cache = parsedData.materials.length; index < cache; index++) { + var parsedMaterial = parsedData.materials[index]; + var mat = BABYLON.Material.Parse(parsedMaterial, scene, rootUrl); + log += (index === 0 ? "\n\tMaterials:" : ""); + log += "\n\t\t" + mat.toString(fullDetails); + } + } + if (parsedData.multiMaterials) { + for (index = 0, cache = parsedData.multiMaterials.length; index < cache; index++) { + var parsedMultiMaterial = parsedData.multiMaterials[index]; + var mmat = BABYLON.Material.ParseMultiMaterial(parsedMultiMaterial, scene); + log += (index === 0 ? "\n\tMultiMaterials:" : ""); + log += "\n\t\t" + mmat.toString(fullDetails); + } + } + // Skeletons + if (parsedData.skeletons) { + for (index = 0, cache = parsedData.skeletons.length; index < cache; index++) { + var parsedSkeleton = parsedData.skeletons[index]; + var skeleton = BABYLON.Skeleton.Parse(parsedSkeleton, scene); + log += (index === 0 ? "\n\tSkeletons:" : ""); + log += "\n\t\t" + skeleton.toString(fullDetails); + } + } + // Geometries + var geometries = parsedData.geometries; + if (geometries) { + // Boxes + var boxes = geometries.boxes; + if (boxes) { + for (index = 0, cache = boxes.length; index < cache; index++) { + var parsedBox = boxes[index]; + BABYLON.Geometry.Primitives.Box.Parse(parsedBox, scene); + } + } + // Spheres + var spheres = geometries.spheres; + if (spheres) { + for (index = 0, cache = spheres.length; index < cache; index++) { + var parsedSphere = spheres[index]; + BABYLON.Geometry.Primitives.Sphere.Parse(parsedSphere, scene); + } + } + // Cylinders + var cylinders = geometries.cylinders; + if (cylinders) { + for (index = 0, cache = cylinders.length; index < cache; index++) { + var parsedCylinder = cylinders[index]; + BABYLON.Geometry.Primitives.Cylinder.Parse(parsedCylinder, scene); + } + } + // Toruses + var toruses = geometries.toruses; + if (toruses) { + for (index = 0, cache = toruses.length; index < cache; index++) { + var parsedTorus = toruses[index]; + BABYLON.Geometry.Primitives.Torus.Parse(parsedTorus, scene); + } + } + // Grounds + var grounds = geometries.grounds; + if (grounds) { + for (index = 0, cache = grounds.length; index < cache; index++) { + var parsedGround = grounds[index]; + BABYLON.Geometry.Primitives.Ground.Parse(parsedGround, scene); + } + } + // Planes + var planes = geometries.planes; + if (planes) { + for (index = 0, cache = planes.length; index < cache; index++) { + var parsedPlane = planes[index]; + BABYLON.Geometry.Primitives.Plane.Parse(parsedPlane, scene); + } + } + // TorusKnots + var torusKnots = geometries.torusKnots; + if (torusKnots) { + for (index = 0, cache = torusKnots.length; index < cache; index++) { + var parsedTorusKnot = torusKnots[index]; + BABYLON.Geometry.Primitives.TorusKnot.Parse(parsedTorusKnot, scene); + } + } + // VertexData + var vertexData = geometries.vertexData; + if (vertexData) { + for (index = 0, cache = vertexData.length; index < cache; index++) { + var parsedVertexData = vertexData[index]; + BABYLON.Geometry.Parse(parsedVertexData, scene, rootUrl); + } + } + } + // Meshes + for (index = 0, cache = parsedData.meshes.length; index < cache; index++) { + var parsedMesh = parsedData.meshes[index]; + var mesh = BABYLON.Mesh.Parse(parsedMesh, scene, rootUrl); + log += (index === 0 ? "\n\tMeshes:" : ""); + log += "\n\t\t" + mesh.toString(fullDetails); + } + // Cameras + for (index = 0, cache = parsedData.cameras.length; index < cache; index++) { + var parsedCamera = parsedData.cameras[index]; + var camera = BABYLON.Camera.Parse(parsedCamera, scene); + log += (index === 0 ? "\n\tCameras:" : ""); + log += "\n\t\t" + camera.toString(fullDetails); + } + if (parsedData.activeCameraID) { + scene.setActiveCameraByID(parsedData.activeCameraID); + } + // Browsing all the graph to connect the dots + for (index = 0, cache = scene.cameras.length; index < cache; index++) { + var camera = scene.cameras[index]; + if (camera._waitingParentId) { + camera.parent = scene.getLastEntryByID(camera._waitingParentId); + camera._waitingParentId = undefined; + } + } + for (index = 0, cache = scene.lights.length; index < cache; index++) { + var light = scene.lights[index]; + if (light._waitingParentId) { + light.parent = scene.getLastEntryByID(light._waitingParentId); + light._waitingParentId = undefined; + } + } + // Sounds + var loadedSounds = []; + var loadedSound; + if (BABYLON.AudioEngine && parsedData.sounds) { + for (index = 0, cache = parsedData.sounds.length; index < cache; index++) { + var parsedSound = parsedData.sounds[index]; + if (BABYLON.Engine.audioEngine.canUseWebAudio) { + if (!parsedSound.url) + parsedSound.url = parsedSound.name; + if (!loadedSounds[parsedSound.url]) { + loadedSound = BABYLON.Sound.Parse(parsedSound, scene, rootUrl); + loadedSounds[parsedSound.url] = loadedSound; + } + else { + BABYLON.Sound.Parse(parsedSound, scene, rootUrl, loadedSounds[parsedSound.url]); + } + } + else { + var emptySound = new BABYLON.Sound(parsedSound.name, null, scene); + } + } + } + loadedSounds = []; + // Connect parents & children and parse actions + for (index = 0, cache = scene.meshes.length; index < cache; index++) { + var mesh = scene.meshes[index]; + if (mesh._waitingParentId) { + mesh.parent = scene.getLastEntryByID(mesh._waitingParentId); + mesh._waitingParentId = undefined; + } + if (mesh._waitingActions) { + BABYLON.ActionManager.Parse(mesh._waitingActions, mesh, scene); + mesh._waitingActions = undefined; + } + } + // freeze world matrix application + for (index = 0, cache = scene.meshes.length; index < cache; index++) { + var currentMesh = scene.meshes[index]; + if (currentMesh._waitingFreezeWorldMatrix) { + currentMesh.freezeWorldMatrix(); + currentMesh._waitingFreezeWorldMatrix = undefined; + } + else { + currentMesh.computeWorldMatrix(true); + } + } + // Particles Systems + if (parsedData.particleSystems) { + for (index = 0, cache = parsedData.particleSystems.length; index < cache; index++) { + var parsedParticleSystem = parsedData.particleSystems[index]; + BABYLON.ParticleSystem.Parse(parsedParticleSystem, scene, rootUrl); + } + } + // Lens flares + if (parsedData.lensFlareSystems) { + for (index = 0, cache = parsedData.lensFlareSystems.length; index < cache; index++) { + var parsedLensFlareSystem = parsedData.lensFlareSystems[index]; + BABYLON.LensFlareSystem.Parse(parsedLensFlareSystem, scene, rootUrl); + } + } + // Shadows + if (parsedData.shadowGenerators) { + for (index = 0, cache = parsedData.shadowGenerators.length; index < cache; index++) { + var parsedShadowGenerator = parsedData.shadowGenerators[index]; + BABYLON.ShadowGenerator.Parse(parsedShadowGenerator, scene); + } + } + // Actions (scene) + if (parsedData.actions) { + BABYLON.ActionManager.Parse(parsedData.actions, null, scene); + } + // Finish + return true; + } + catch (err) { + BABYLON.Tools.Log(logOperation("importScene", parsedData ? parsedData.producer : "Unknown") + log); + log = null; + throw err; + } + finally { + if (log !== null && BABYLON.SceneLoader.loggingLevel !== BABYLON.SceneLoader.NO_LOGGING) { + BABYLON.Tools.Log(logOperation("importScene", parsedData ? parsedData.producer : "Unknown") + (BABYLON.SceneLoader.loggingLevel !== BABYLON.SceneLoader.MINIMAL_LOGGING ? log : "")); + } + } + } + }); + })(Internals = BABYLON.Internals || (BABYLON.Internals = {})); +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.babylonFileLoader.js.map + +var BABYLON; +(function (BABYLON) { + var SpriteManager = (function () { + function SpriteManager(name, imgUrl, capacity, cellSize, scene, epsilon, samplingMode) { + if (epsilon === void 0) { epsilon = 0.01; } + if (samplingMode === void 0) { samplingMode = BABYLON.Texture.TRILINEAR_SAMPLINGMODE; } + this.name = name; + this.sprites = new Array(); + this.renderingGroupId = 0; + this.layerMask = 0x0FFFFFFF; + this.fogEnabled = true; + this.isPickable = false; + /** + * An event triggered when the manager is disposed. + * @type {BABYLON.Observable} + */ + this.onDisposeObservable = new BABYLON.Observable(); + this._vertexBuffers = {}; + this._capacity = capacity; + this._spriteTexture = new BABYLON.Texture(imgUrl, scene, true, false, samplingMode); + this._spriteTexture.wrapU = BABYLON.Texture.CLAMP_ADDRESSMODE; + this._spriteTexture.wrapV = BABYLON.Texture.CLAMP_ADDRESSMODE; + if (cellSize.width && cellSize.height) { + this.cellWidth = cellSize.width; + this.cellHeight = cellSize.height; + } + else if (cellSize !== undefined) { + this.cellWidth = cellSize; + this.cellHeight = cellSize; + } + else { + return; + } + this._epsilon = epsilon; + this._scene = scene; + this._scene.spriteManagers.push(this); + var indices = []; + var index = 0; + for (var count = 0; count < capacity; count++) { + indices.push(index); + indices.push(index + 1); + indices.push(index + 2); + indices.push(index); + indices.push(index + 2); + indices.push(index + 3); + index += 4; + } + this._indexBuffer = scene.getEngine().createIndexBuffer(indices); + // VBO + // 16 floats per sprite (x, y, z, angle, sizeX, sizeY, offsetX, offsetY, invertU, invertV, cellIndexX, cellIndexY, color r, color g, color b, color a) + this._vertexData = new Float32Array(capacity * 16 * 4); + this._buffer = new BABYLON.Buffer(scene.getEngine(), this._vertexData, true, 16); + var positions = this._buffer.createVertexBuffer(BABYLON.VertexBuffer.PositionKind, 0, 4); + var options = this._buffer.createVertexBuffer("options", 4, 4); + var cellInfo = this._buffer.createVertexBuffer("cellInfo", 8, 4); + var colors = this._buffer.createVertexBuffer(BABYLON.VertexBuffer.ColorKind, 12, 4); + this._vertexBuffers[BABYLON.VertexBuffer.PositionKind] = positions; + this._vertexBuffers["options"] = options; + this._vertexBuffers["cellInfo"] = cellInfo; + this._vertexBuffers[BABYLON.VertexBuffer.ColorKind] = colors; + // Effects + this._effectBase = this._scene.getEngine().createEffect("sprites", [BABYLON.VertexBuffer.PositionKind, "options", "cellInfo", BABYLON.VertexBuffer.ColorKind], ["view", "projection", "textureInfos", "alphaTest"], ["diffuseSampler"], ""); + this._effectFog = this._scene.getEngine().createEffect("sprites", [BABYLON.VertexBuffer.PositionKind, "options", "cellInfo", BABYLON.VertexBuffer.ColorKind], ["view", "projection", "textureInfos", "alphaTest", "vFogInfos", "vFogColor"], ["diffuseSampler"], "#define FOG"); + } + Object.defineProperty(SpriteManager.prototype, "onDispose", { + set: function (callback) { + if (this._onDisposeObserver) { + this.onDisposeObservable.remove(this._onDisposeObserver); + } + this._onDisposeObserver = this.onDisposeObservable.add(callback); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(SpriteManager.prototype, "texture", { + get: function () { + return this._spriteTexture; + }, + set: function (value) { + this._spriteTexture = value; + }, + enumerable: true, + configurable: true + }); + SpriteManager.prototype._appendSpriteVertex = function (index, sprite, offsetX, offsetY, rowSize) { + var arrayOffset = index * 16; + if (offsetX === 0) + offsetX = this._epsilon; + else if (offsetX === 1) + offsetX = 1 - this._epsilon; + if (offsetY === 0) + offsetY = this._epsilon; + else if (offsetY === 1) + offsetY = 1 - this._epsilon; + this._vertexData[arrayOffset] = sprite.position.x; + this._vertexData[arrayOffset + 1] = sprite.position.y; + this._vertexData[arrayOffset + 2] = sprite.position.z; + this._vertexData[arrayOffset + 3] = sprite.angle; + this._vertexData[arrayOffset + 4] = sprite.width; + this._vertexData[arrayOffset + 5] = sprite.height; + this._vertexData[arrayOffset + 6] = offsetX; + this._vertexData[arrayOffset + 7] = offsetY; + this._vertexData[arrayOffset + 8] = sprite.invertU ? 1 : 0; + this._vertexData[arrayOffset + 9] = sprite.invertV ? 1 : 0; + var offset = (sprite.cellIndex / rowSize) >> 0; + this._vertexData[arrayOffset + 10] = sprite.cellIndex - offset * rowSize; + this._vertexData[arrayOffset + 11] = offset; + // Color + this._vertexData[arrayOffset + 12] = sprite.color.r; + this._vertexData[arrayOffset + 13] = sprite.color.g; + this._vertexData[arrayOffset + 14] = sprite.color.b; + this._vertexData[arrayOffset + 15] = sprite.color.a; + }; + SpriteManager.prototype.intersects = function (ray, camera, predicate, fastCheck) { + var count = Math.min(this._capacity, this.sprites.length); + var min = BABYLON.Vector3.Zero(); + var max = BABYLON.Vector3.Zero(); + var distance = Number.MAX_VALUE; + var currentSprite; + var cameraSpacePosition = BABYLON.Vector3.Zero(); + var cameraView = camera.getViewMatrix(); + for (var index = 0; index < count; index++) { + var sprite = this.sprites[index]; + if (!sprite) { + continue; + } + if (predicate) { + if (!predicate(sprite)) { + continue; + } + } + else if (!sprite.isPickable) { + continue; + } + BABYLON.Vector3.TransformCoordinatesToRef(sprite.position, cameraView, cameraSpacePosition); + min.copyFromFloats(cameraSpacePosition.x - sprite.width / 2, cameraSpacePosition.y - sprite.height / 2, cameraSpacePosition.z); + max.copyFromFloats(cameraSpacePosition.x + sprite.width / 2, cameraSpacePosition.y + sprite.height / 2, cameraSpacePosition.z); + if (ray.intersectsBoxMinMax(min, max)) { + var currentDistance = BABYLON.Vector3.Distance(cameraSpacePosition, ray.origin); + if (distance > currentDistance) { + distance = currentDistance; + currentSprite = sprite; + if (fastCheck) { + break; + } + } + } + } + if (currentSprite) { + var result = new BABYLON.PickingInfo(); + result.hit = true; + result.pickedSprite = currentSprite; + result.distance = distance; + return result; + } + return null; + }; + SpriteManager.prototype.render = function () { + // Check + if (!this._effectBase.isReady() || !this._effectFog.isReady() || !this._spriteTexture || !this._spriteTexture.isReady()) + return; + var engine = this._scene.getEngine(); + var baseSize = this._spriteTexture.getBaseSize(); + // Sprites + var deltaTime = engine.getDeltaTime(); + var max = Math.min(this._capacity, this.sprites.length); + var rowSize = baseSize.width / this.cellWidth; + var offset = 0; + for (var index = 0; index < max; index++) { + var sprite = this.sprites[index]; + if (!sprite) { + continue; + } + sprite._animate(deltaTime); + this._appendSpriteVertex(offset++, sprite, 0, 0, rowSize); + this._appendSpriteVertex(offset++, sprite, 1, 0, rowSize); + this._appendSpriteVertex(offset++, sprite, 1, 1, rowSize); + this._appendSpriteVertex(offset++, sprite, 0, 1, rowSize); + } + this._buffer.update(this._vertexData); + // Render + var effect = this._effectBase; + if (this._scene.fogEnabled && this._scene.fogMode !== BABYLON.Scene.FOGMODE_NONE && this.fogEnabled) { + effect = this._effectFog; + } + engine.enableEffect(effect); + var viewMatrix = this._scene.getViewMatrix(); + effect.setTexture("diffuseSampler", this._spriteTexture); + effect.setMatrix("view", viewMatrix); + effect.setMatrix("projection", this._scene.getProjectionMatrix()); + effect.setFloat2("textureInfos", this.cellWidth / baseSize.width, this.cellHeight / baseSize.height); + // Fog + if (this._scene.fogEnabled && this._scene.fogMode !== BABYLON.Scene.FOGMODE_NONE && this.fogEnabled) { + effect.setFloat4("vFogInfos", this._scene.fogMode, this._scene.fogStart, this._scene.fogEnd, this._scene.fogDensity); + effect.setColor3("vFogColor", this._scene.fogColor); + } + // VBOs + engine.bindBuffers(this._vertexBuffers, this._indexBuffer, effect); + // Draw order + engine.setDepthFunctionToLessOrEqual(); + effect.setBool("alphaTest", true); + engine.setColorWrite(false); + engine.draw(true, 0, max * 6); + engine.setColorWrite(true); + effect.setBool("alphaTest", false); + engine.setAlphaMode(BABYLON.Engine.ALPHA_COMBINE); + engine.draw(true, 0, max * 6); + engine.setAlphaMode(BABYLON.Engine.ALPHA_DISABLE); + }; + SpriteManager.prototype.dispose = function () { + if (this._buffer) { + this._buffer.dispose(); + this._buffer = null; + } + if (this._indexBuffer) { + this._scene.getEngine()._releaseBuffer(this._indexBuffer); + this._indexBuffer = null; + } + if (this._spriteTexture) { + this._spriteTexture.dispose(); + this._spriteTexture = null; + } + // Remove from scene + var index = this._scene.spriteManagers.indexOf(this); + this._scene.spriteManagers.splice(index, 1); + // Callback + this.onDisposeObservable.notifyObservers(this); + this.onDisposeObservable.clear(); + }; + return SpriteManager; + }()); + BABYLON.SpriteManager = SpriteManager; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.spriteManager.js.map + +var BABYLON; +(function (BABYLON) { + var Sprite = (function () { + function Sprite(name, manager) { + this.name = name; + this.color = new BABYLON.Color4(1.0, 1.0, 1.0, 1.0); + this.width = 1.0; + this.height = 1.0; + this.angle = 0; + this.cellIndex = 0; + this.invertU = 0; + this.invertV = 0; + this.animations = new Array(); + this.isPickable = false; + this._animationStarted = false; + this._loopAnimation = false; + this._fromIndex = 0; + this._toIndex = 0; + this._delay = 0; + this._direction = 1; + this._frameCount = 0; + this._time = 0; + this._manager = manager; + this._manager.sprites.push(this); + this.position = BABYLON.Vector3.Zero(); + } + Object.defineProperty(Sprite.prototype, "size", { + get: function () { + return this.width; + }, + set: function (value) { + this.width = value; + this.height = value; + }, + enumerable: true, + configurable: true + }); + Sprite.prototype.playAnimation = function (from, to, loop, delay, onAnimationEnd) { + this._fromIndex = from; + this._toIndex = to; + this._loopAnimation = loop; + this._delay = delay; + this._animationStarted = true; + this._direction = from < to ? 1 : -1; + this.cellIndex = from; + this._time = 0; + this._onAnimationEnd = onAnimationEnd; + }; + Sprite.prototype.stopAnimation = function () { + this._animationStarted = false; + }; + Sprite.prototype._animate = function (deltaTime) { + if (!this._animationStarted) + return; + this._time += deltaTime; + if (this._time > this._delay) { + this._time = this._time % this._delay; + this.cellIndex += this._direction; + if (this.cellIndex === this._toIndex) { + if (this._loopAnimation) { + this.cellIndex = this._fromIndex; + } + else { + this._animationStarted = false; + if (this._onAnimationEnd) { + this._onAnimationEnd(); + } + if (this.disposeWhenFinishedAnimating) { + this.dispose(); + } + } + } + } + }; + Sprite.prototype.dispose = function () { + for (var i = 0; i < this._manager.sprites.length; i++) { + if (this._manager.sprites[i] == this) { + this._manager.sprites.splice(i, 1); + } + } + }; + return Sprite; + }()); + BABYLON.Sprite = Sprite; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.sprite.js.map + +var BABYLON; +(function (BABYLON) { + var Layer = (function () { + function Layer(name, imgUrl, scene, isBackground, color) { + this.name = name; + this.scale = new BABYLON.Vector2(1, 1); + this.offset = new BABYLON.Vector2(0, 0); + this.alphaBlendingMode = BABYLON.Engine.ALPHA_COMBINE; + this._vertexBuffers = {}; + // Events + /** + * An event triggered when the layer is disposed. + * @type {BABYLON.Observable} + */ + this.onDisposeObservable = new BABYLON.Observable(); + /** + * An event triggered before rendering the scene + * @type {BABYLON.Observable} + */ + this.onBeforeRenderObservable = new BABYLON.Observable(); + /** + * An event triggered after rendering the scene + * @type {BABYLON.Observable} + */ + this.onAfterRenderObservable = new BABYLON.Observable(); + this.texture = imgUrl ? new BABYLON.Texture(imgUrl, scene, true) : null; + this.isBackground = isBackground === undefined ? true : isBackground; + this.color = color === undefined ? new BABYLON.Color4(1, 1, 1, 1) : color; + this._scene = scene; + this._scene.layers.push(this); + var engine = scene.getEngine(); + // VBO + var vertices = []; + vertices.push(1, 1); + vertices.push(-1, 1); + vertices.push(-1, -1); + vertices.push(1, -1); + var vertexBuffer = new BABYLON.VertexBuffer(engine, vertices, BABYLON.VertexBuffer.PositionKind, false, false, 2); + this._vertexBuffers[BABYLON.VertexBuffer.PositionKind] = vertexBuffer; + // Indices + var indices = []; + indices.push(0); + indices.push(1); + indices.push(2); + indices.push(0); + indices.push(2); + indices.push(3); + this._indexBuffer = engine.createIndexBuffer(indices); + // Effects + this._effect = engine.createEffect("layer", [BABYLON.VertexBuffer.PositionKind], ["textureMatrix", "color", "scale", "offset"], ["textureSampler"], ""); + this._alphaTestEffect = engine.createEffect("layer", [BABYLON.VertexBuffer.PositionKind], ["textureMatrix", "color", "scale", "offset"], ["textureSampler"], "#define ALPHATEST"); + } + Object.defineProperty(Layer.prototype, "onDispose", { + set: function (callback) { + if (this._onDisposeObserver) { + this.onDisposeObservable.remove(this._onDisposeObserver); + } + this._onDisposeObserver = this.onDisposeObservable.add(callback); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Layer.prototype, "onBeforeRender", { + set: function (callback) { + if (this._onBeforeRenderObserver) { + this.onBeforeRenderObservable.remove(this._onBeforeRenderObserver); + } + this._onBeforeRenderObserver = this.onBeforeRenderObservable.add(callback); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Layer.prototype, "onAfterRender", { + set: function (callback) { + if (this._onAfterRenderObserver) { + this.onAfterRenderObservable.remove(this._onAfterRenderObserver); + } + this._onAfterRenderObserver = this.onAfterRenderObservable.add(callback); + }, + enumerable: true, + configurable: true + }); + Layer.prototype.render = function () { + var currentEffect = this.alphaTest ? this._alphaTestEffect : this._effect; + // Check + if (!currentEffect.isReady() || !this.texture || !this.texture.isReady()) + return; + var engine = this._scene.getEngine(); + this.onBeforeRenderObservable.notifyObservers(this); + // Render + engine.enableEffect(currentEffect); + engine.setState(false); + // Texture + currentEffect.setTexture("textureSampler", this.texture); + currentEffect.setMatrix("textureMatrix", this.texture.getTextureMatrix()); + // Color + currentEffect.setFloat4("color", this.color.r, this.color.g, this.color.b, this.color.a); + // Scale / offset + currentEffect.setVector2("offset", this.offset); + currentEffect.setVector2("scale", this.scale); + // VBOs + engine.bindBuffers(this._vertexBuffers, this._indexBuffer, currentEffect); + // Draw order + if (!this.alphaTest) { + engine.setAlphaMode(this.alphaBlendingMode); + engine.draw(true, 0, 6); + engine.setAlphaMode(BABYLON.Engine.ALPHA_DISABLE); + } + else { + engine.draw(true, 0, 6); + } + this.onAfterRenderObservable.notifyObservers(this); + }; + Layer.prototype.dispose = function () { + var vertexBuffer = this._vertexBuffers[BABYLON.VertexBuffer.PositionKind]; + if (vertexBuffer) { + vertexBuffer.dispose(); + this._vertexBuffers[BABYLON.VertexBuffer.PositionKind] = null; + } + if (this._indexBuffer) { + this._scene.getEngine()._releaseBuffer(this._indexBuffer); + this._indexBuffer = null; + } + if (this.texture) { + this.texture.dispose(); + this.texture = null; + } + // Remove from scene + var index = this._scene.layers.indexOf(this); + this._scene.layers.splice(index, 1); + // Callback + this.onDisposeObservable.notifyObservers(this); + this.onDisposeObservable.clear(); + this.onAfterRenderObservable.clear(); + this.onBeforeRenderObservable.clear(); + }; + return Layer; + }()); + BABYLON.Layer = Layer; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.layer.js.map + +var BABYLON; +(function (BABYLON) { + var Particle = (function () { + function Particle() { + this.position = BABYLON.Vector3.Zero(); + this.direction = BABYLON.Vector3.Zero(); + this.color = new BABYLON.Color4(0, 0, 0, 0); + this.colorStep = new BABYLON.Color4(0, 0, 0, 0); + this.lifeTime = 1.0; + this.age = 0; + this.size = 0; + this.angle = 0; + this.angularSpeed = 0; + } + Particle.prototype.copyTo = function (other) { + other.position.copyFrom(this.position); + other.direction.copyFrom(this.direction); + other.color.copyFrom(this.color); + other.colorStep.copyFrom(this.colorStep); + other.lifeTime = this.lifeTime; + other.age = this.age; + other.size = this.size; + other.angle = this.angle; + other.angularSpeed = this.angularSpeed; + }; + return Particle; + }()); + BABYLON.Particle = Particle; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.particle.js.map + +var BABYLON; +(function (BABYLON) { + var randomNumber = function (min, max) { + if (min === max) { + return (min); + } + var random = Math.random(); + return ((random * (max - min)) + min); + }; + var ParticleSystem = (function () { + function ParticleSystem(name, capacity, scene, customEffect) { + var _this = this; + this.name = name; + // Members + this.animations = []; + this.renderingGroupId = 0; + this.emitter = null; + this.emitRate = 10; + this.manualEmitCount = -1; + this.updateSpeed = 0.01; + this.targetStopDuration = 0; + this.disposeOnStop = false; + this.minEmitPower = 1; + this.maxEmitPower = 1; + this.minLifeTime = 1; + this.maxLifeTime = 1; + this.minSize = 1; + this.maxSize = 1; + this.minAngularSpeed = 0; + this.maxAngularSpeed = 0; + this.layerMask = 0x0FFFFFFF; + /** + * An event triggered when the system is disposed. + * @type {BABYLON.Observable} + */ + this.onDisposeObservable = new BABYLON.Observable(); + this.blendMode = ParticleSystem.BLENDMODE_ONEONE; + this.forceDepthWrite = false; + this.gravity = BABYLON.Vector3.Zero(); + this.direction1 = new BABYLON.Vector3(0, 1.0, 0); + this.direction2 = new BABYLON.Vector3(0, 1.0, 0); + this.minEmitBox = new BABYLON.Vector3(-0.5, -0.5, -0.5); + this.maxEmitBox = new BABYLON.Vector3(0.5, 0.5, 0.5); + this.color1 = new BABYLON.Color4(1.0, 1.0, 1.0, 1.0); + this.color2 = new BABYLON.Color4(1.0, 1.0, 1.0, 1.0); + this.colorDead = new BABYLON.Color4(0, 0, 0, 1.0); + this.textureMask = new BABYLON.Color4(1.0, 1.0, 1.0, 1.0); + this.particles = new Array(); + this._stockParticles = new Array(); + this._newPartsExcess = 0; + this._vertexBuffers = {}; + this._scaledColorStep = new BABYLON.Color4(0, 0, 0, 0); + this._colorDiff = new BABYLON.Color4(0, 0, 0, 0); + this._scaledDirection = BABYLON.Vector3.Zero(); + this._scaledGravity = BABYLON.Vector3.Zero(); + this._currentRenderId = -1; + this._started = false; + this._stopped = false; + this._actualFrame = 0; + this.id = name; + this._capacity = capacity; + this._scene = scene; + this._customEffect = customEffect; + scene.particleSystems.push(this); + var indices = []; + var index = 0; + for (var count = 0; count < capacity; count++) { + indices.push(index); + indices.push(index + 1); + indices.push(index + 2); + indices.push(index); + indices.push(index + 2); + indices.push(index + 3); + index += 4; + } + this._indexBuffer = scene.getEngine().createIndexBuffer(indices); + // 11 floats per particle (x, y, z, r, g, b, a, angle, size, offsetX, offsetY) + 1 filler + this._vertexData = new Float32Array(capacity * 11 * 4); + this._vertexBuffer = new BABYLON.Buffer(scene.getEngine(), this._vertexData, true, 11); + var positions = this._vertexBuffer.createVertexBuffer(BABYLON.VertexBuffer.PositionKind, 0, 3); + var colors = this._vertexBuffer.createVertexBuffer(BABYLON.VertexBuffer.ColorKind, 3, 4); + var options = this._vertexBuffer.createVertexBuffer("options", 7, 4); + this._vertexBuffers[BABYLON.VertexBuffer.PositionKind] = positions; + this._vertexBuffers[BABYLON.VertexBuffer.ColorKind] = colors; + this._vertexBuffers["options"] = options; + // Default behaviors + this.startDirectionFunction = function (emitPower, worldMatrix, directionToUpdate, particle) { + var randX = randomNumber(_this.direction1.x, _this.direction2.x); + var randY = randomNumber(_this.direction1.y, _this.direction2.y); + var randZ = randomNumber(_this.direction1.z, _this.direction2.z); + BABYLON.Vector3.TransformNormalFromFloatsToRef(randX * emitPower, randY * emitPower, randZ * emitPower, worldMatrix, directionToUpdate); + }; + this.startPositionFunction = function (worldMatrix, positionToUpdate, particle) { + var randX = randomNumber(_this.minEmitBox.x, _this.maxEmitBox.x); + var randY = randomNumber(_this.minEmitBox.y, _this.maxEmitBox.y); + var randZ = randomNumber(_this.minEmitBox.z, _this.maxEmitBox.z); + BABYLON.Vector3.TransformCoordinatesFromFloatsToRef(randX, randY, randZ, worldMatrix, positionToUpdate); + }; + this.updateFunction = function (particles) { + for (var index = 0; index < particles.length; index++) { + var particle = particles[index]; + particle.age += _this._scaledUpdateSpeed; + if (particle.age >= particle.lifeTime) { + _this.recycleParticle(particle); + index--; + continue; + } + else { + particle.colorStep.scaleToRef(_this._scaledUpdateSpeed, _this._scaledColorStep); + particle.color.addInPlace(_this._scaledColorStep); + if (particle.color.a < 0) + particle.color.a = 0; + particle.angle += particle.angularSpeed * _this._scaledUpdateSpeed; + particle.direction.scaleToRef(_this._scaledUpdateSpeed, _this._scaledDirection); + particle.position.addInPlace(_this._scaledDirection); + _this.gravity.scaleToRef(_this._scaledUpdateSpeed, _this._scaledGravity); + particle.direction.addInPlace(_this._scaledGravity); + } + } + }; + } + Object.defineProperty(ParticleSystem.prototype, "onDispose", { + set: function (callback) { + if (this._onDisposeObserver) { + this.onDisposeObservable.remove(this._onDisposeObserver); + } + this._onDisposeObserver = this.onDisposeObservable.add(callback); + }, + enumerable: true, + configurable: true + }); + ParticleSystem.prototype.recycleParticle = function (particle) { + var lastParticle = this.particles.pop(); + if (lastParticle !== particle) { + lastParticle.copyTo(particle); + this._stockParticles.push(lastParticle); + } + }; + ParticleSystem.prototype.getCapacity = function () { + return this._capacity; + }; + ParticleSystem.prototype.isAlive = function () { + return this._alive; + }; + ParticleSystem.prototype.isStarted = function () { + return this._started; + }; + ParticleSystem.prototype.start = function () { + this._started = true; + this._stopped = false; + this._actualFrame = 0; + }; + ParticleSystem.prototype.stop = function () { + this._stopped = true; + }; + ParticleSystem.prototype._appendParticleVertex = function (index, particle, offsetX, offsetY) { + var offset = index * 11; + this._vertexData[offset] = particle.position.x; + this._vertexData[offset + 1] = particle.position.y; + this._vertexData[offset + 2] = particle.position.z; + this._vertexData[offset + 3] = particle.color.r; + this._vertexData[offset + 4] = particle.color.g; + this._vertexData[offset + 5] = particle.color.b; + this._vertexData[offset + 6] = particle.color.a; + this._vertexData[offset + 7] = particle.angle; + this._vertexData[offset + 8] = particle.size; + this._vertexData[offset + 9] = offsetX; + this._vertexData[offset + 10] = offsetY; + }; + ParticleSystem.prototype._update = function (newParticles) { + // Update current + this._alive = this.particles.length > 0; + this.updateFunction(this.particles); + // Add new ones + var worldMatrix; + if (this.emitter.position) { + worldMatrix = this.emitter.getWorldMatrix(); + } + else { + worldMatrix = BABYLON.Matrix.Translation(this.emitter.x, this.emitter.y, this.emitter.z); + } + var particle; + for (var index = 0; index < newParticles; index++) { + if (this.particles.length === this._capacity) { + break; + } + if (this._stockParticles.length !== 0) { + particle = this._stockParticles.pop(); + particle.age = 0; + } + else { + particle = new BABYLON.Particle(); + } + this.particles.push(particle); + var emitPower = randomNumber(this.minEmitPower, this.maxEmitPower); + this.startDirectionFunction(emitPower, worldMatrix, particle.direction, particle); + particle.lifeTime = randomNumber(this.minLifeTime, this.maxLifeTime); + particle.size = randomNumber(this.minSize, this.maxSize); + particle.angularSpeed = randomNumber(this.minAngularSpeed, this.maxAngularSpeed); + this.startPositionFunction(worldMatrix, particle.position, particle); + var step = randomNumber(0, 1.0); + BABYLON.Color4.LerpToRef(this.color1, this.color2, step, particle.color); + this.colorDead.subtractToRef(particle.color, this._colorDiff); + this._colorDiff.scaleToRef(1.0 / particle.lifeTime, particle.colorStep); + } + }; + ParticleSystem.prototype._getEffect = function () { + if (this._customEffect) { + return this._customEffect; + } + ; + var defines = []; + if (this._scene.clipPlane) { + defines.push("#define CLIPPLANE"); + } + // Effect + var join = defines.join("\n"); + if (this._cachedDefines !== join) { + this._cachedDefines = join; + this._effect = this._scene.getEngine().createEffect("particles", [BABYLON.VertexBuffer.PositionKind, BABYLON.VertexBuffer.ColorKind, "options"], ["invView", "view", "projection", "vClipPlane", "textureMask"], ["diffuseSampler"], join); + } + return this._effect; + }; + ParticleSystem.prototype.animate = function () { + if (!this._started) + return; + var effect = this._getEffect(); + // Check + if (!this.emitter || !effect.isReady() || !this.particleTexture || !this.particleTexture.isReady()) + return; + if (this._currentRenderId === this._scene.getRenderId()) { + return; + } + this._currentRenderId = this._scene.getRenderId(); + this._scaledUpdateSpeed = this.updateSpeed * this._scene.getAnimationRatio(); + // determine the number of particles we need to create + var newParticles; + if (this.manualEmitCount > -1) { + newParticles = this.manualEmitCount; + this._newPartsExcess = 0; + this.manualEmitCount = 0; + } + else { + newParticles = ((this.emitRate * this._scaledUpdateSpeed) >> 0); + this._newPartsExcess += this.emitRate * this._scaledUpdateSpeed - newParticles; + } + if (this._newPartsExcess > 1.0) { + newParticles += this._newPartsExcess >> 0; + this._newPartsExcess -= this._newPartsExcess >> 0; + } + this._alive = false; + if (!this._stopped) { + this._actualFrame += this._scaledUpdateSpeed; + if (this.targetStopDuration && this._actualFrame >= this.targetStopDuration) + this.stop(); + } + else { + newParticles = 0; + } + this._update(newParticles); + // Stopped? + if (this._stopped) { + if (!this._alive) { + this._started = false; + if (this.disposeOnStop) { + this._scene._toBeDisposed.push(this); + } + } + } + // Update VBO + var offset = 0; + for (var index = 0; index < this.particles.length; index++) { + var particle = this.particles[index]; + this._appendParticleVertex(offset++, particle, 0, 0); + this._appendParticleVertex(offset++, particle, 1, 0); + this._appendParticleVertex(offset++, particle, 1, 1); + this._appendParticleVertex(offset++, particle, 0, 1); + } + this._vertexBuffer.update(this._vertexData); + }; + ParticleSystem.prototype.render = function () { + var effect = this._getEffect(); + // Check + if (!this.emitter || !effect.isReady() || !this.particleTexture || !this.particleTexture.isReady() || !this.particles.length) + return 0; + var engine = this._scene.getEngine(); + // Render + engine.enableEffect(effect); + engine.setState(false); + var viewMatrix = this._scene.getViewMatrix(); + effect.setTexture("diffuseSampler", this.particleTexture); + effect.setMatrix("view", viewMatrix); + effect.setMatrix("projection", this._scene.getProjectionMatrix()); + effect.setFloat4("textureMask", this.textureMask.r, this.textureMask.g, this.textureMask.b, this.textureMask.a); + if (this._scene.clipPlane) { + var clipPlane = this._scene.clipPlane; + var invView = viewMatrix.clone(); + invView.invert(); + effect.setMatrix("invView", invView); + effect.setFloat4("vClipPlane", clipPlane.normal.x, clipPlane.normal.y, clipPlane.normal.z, clipPlane.d); + } + // VBOs + engine.bindBuffers(this._vertexBuffers, this._indexBuffer, effect); + // Draw order + if (this.blendMode === ParticleSystem.BLENDMODE_ONEONE) { + engine.setAlphaMode(BABYLON.Engine.ALPHA_ONEONE); + } + else { + engine.setAlphaMode(BABYLON.Engine.ALPHA_COMBINE); + } + if (this.forceDepthWrite) { + engine.setDepthWrite(true); + } + engine.draw(true, 0, this.particles.length * 6); + engine.setAlphaMode(BABYLON.Engine.ALPHA_DISABLE); + return this.particles.length; + }; + ParticleSystem.prototype.dispose = function () { + if (this._vertexBuffer) { + this._vertexBuffer.dispose(); + this._vertexBuffer = null; + } + if (this._indexBuffer) { + this._scene.getEngine()._releaseBuffer(this._indexBuffer); + this._indexBuffer = null; + } + if (this.particleTexture) { + this.particleTexture.dispose(); + this.particleTexture = null; + } + // Remove from scene + var index = this._scene.particleSystems.indexOf(this); + this._scene.particleSystems.splice(index, 1); + // Callback + this.onDisposeObservable.notifyObservers(this); + this.onDisposeObservable.clear(); + }; + // Clone + ParticleSystem.prototype.clone = function (name, newEmitter) { + var result = new ParticleSystem(name, this._capacity, this._scene); + BABYLON.Tools.DeepCopy(this, result, ["particles"]); + if (newEmitter === undefined) { + newEmitter = this.emitter; + } + result.emitter = newEmitter; + if (this.particleTexture) { + result.particleTexture = new BABYLON.Texture(this.particleTexture.url, this._scene); + } + result.start(); + return result; + }; + ParticleSystem.prototype.serialize = function () { + var serializationObject = {}; + serializationObject.name = this.name; + serializationObject.id = this.id; + // Emitter + if (this.emitter.position) { + serializationObject.emitterId = this.emitter.id; + } + else { + serializationObject.emitter = this.emitter.asArray(); + } + serializationObject.capacity = this.getCapacity(); + if (this.particleTexture) { + serializationObject.textureName = this.particleTexture.name; + } + // Animations + BABYLON.Animation.AppendSerializedAnimations(this, serializationObject); + // Particle system + serializationObject.minAngularSpeed = this.minAngularSpeed; + serializationObject.maxAngularSpeed = this.maxAngularSpeed; + serializationObject.minSize = this.minSize; + serializationObject.maxSize = this.maxSize; + serializationObject.minEmitPower = this.minEmitPower; + serializationObject.maxEmitPower = this.maxEmitPower; + serializationObject.minLifeTime = this.minLifeTime; + serializationObject.maxLifeTime = this.maxLifeTime; + serializationObject.emitRate = this.emitRate; + serializationObject.minEmitBox = this.minEmitBox.asArray(); + serializationObject.maxEmitBox = this.maxEmitBox.asArray(); + serializationObject.gravity = this.gravity.asArray(); + serializationObject.direction1 = this.direction1.asArray(); + serializationObject.direction2 = this.direction2.asArray(); + serializationObject.color1 = this.color1.asArray(); + serializationObject.color2 = this.color2.asArray(); + serializationObject.colorDead = this.colorDead.asArray(); + serializationObject.updateSpeed = this.updateSpeed; + serializationObject.targetStopDuration = this.targetStopDuration; + serializationObject.textureMask = this.textureMask.asArray(); + serializationObject.blendMode = this.blendMode; + return serializationObject; + }; + ParticleSystem.Parse = function (parsedParticleSystem, scene, rootUrl) { + var name = parsedParticleSystem.name; + var particleSystem = new ParticleSystem(name, parsedParticleSystem.capacity, scene); + if (parsedParticleSystem.id) { + particleSystem.id = parsedParticleSystem.id; + } + // Texture + if (parsedParticleSystem.textureName) { + particleSystem.particleTexture = new BABYLON.Texture(rootUrl + parsedParticleSystem.textureName, scene); + particleSystem.particleTexture.name = parsedParticleSystem.textureName; + } + // Emitter + if (parsedParticleSystem.emitterId) { + particleSystem.emitter = scene.getLastMeshByID(parsedParticleSystem.emitterId); + } + else { + particleSystem.emitter = BABYLON.Vector3.FromArray(parsedParticleSystem.emitter); + } + // Animations + if (parsedParticleSystem.animations) { + for (var animationIndex = 0; animationIndex < parsedParticleSystem.animations.length; animationIndex++) { + var parsedAnimation = parsedParticleSystem.animations[animationIndex]; + particleSystem.animations.push(BABYLON.Animation.Parse(parsedAnimation)); + } + } + if (parsedParticleSystem.autoAnimate) { + scene.beginAnimation(particleSystem, parsedParticleSystem.autoAnimateFrom, parsedParticleSystem.autoAnimateTo, parsedParticleSystem.autoAnimateLoop, parsedParticleSystem.autoAnimateSpeed || 1.0); + } + // Particle system + particleSystem.minAngularSpeed = parsedParticleSystem.minAngularSpeed; + particleSystem.maxAngularSpeed = parsedParticleSystem.maxAngularSpeed; + particleSystem.minSize = parsedParticleSystem.minSize; + particleSystem.maxSize = parsedParticleSystem.maxSize; + particleSystem.minLifeTime = parsedParticleSystem.minLifeTime; + particleSystem.maxLifeTime = parsedParticleSystem.maxLifeTime; + particleSystem.minEmitPower = parsedParticleSystem.minEmitPower; + particleSystem.maxEmitPower = parsedParticleSystem.maxEmitPower; + particleSystem.emitRate = parsedParticleSystem.emitRate; + particleSystem.minEmitBox = BABYLON.Vector3.FromArray(parsedParticleSystem.minEmitBox); + particleSystem.maxEmitBox = BABYLON.Vector3.FromArray(parsedParticleSystem.maxEmitBox); + particleSystem.gravity = BABYLON.Vector3.FromArray(parsedParticleSystem.gravity); + particleSystem.direction1 = BABYLON.Vector3.FromArray(parsedParticleSystem.direction1); + particleSystem.direction2 = BABYLON.Vector3.FromArray(parsedParticleSystem.direction2); + particleSystem.color1 = BABYLON.Color4.FromArray(parsedParticleSystem.color1); + particleSystem.color2 = BABYLON.Color4.FromArray(parsedParticleSystem.color2); + particleSystem.colorDead = BABYLON.Color4.FromArray(parsedParticleSystem.colorDead); + particleSystem.updateSpeed = parsedParticleSystem.updateSpeed; + particleSystem.targetStopDuration = parsedParticleSystem.targetStopDuration; + particleSystem.textureMask = BABYLON.Color4.FromArray(parsedParticleSystem.textureMask); + particleSystem.blendMode = parsedParticleSystem.blendMode; + if (!parsedParticleSystem.preventAutoStart) { + particleSystem.start(); + } + return particleSystem; + }; + // Statics + ParticleSystem.BLENDMODE_ONEONE = 0; + ParticleSystem.BLENDMODE_STANDARD = 1; + return ParticleSystem; + }()); + BABYLON.ParticleSystem = ParticleSystem; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.particleSystem.js.map + +var BABYLON; +(function (BABYLON) { + var AnimationRange = (function () { + function AnimationRange(name, from, to) { + this.name = name; + this.from = from; + this.to = to; + } + AnimationRange.prototype.clone = function () { + return new AnimationRange(this.name, this.from, this.to); + }; + return AnimationRange; + }()); + BABYLON.AnimationRange = AnimationRange; + /** + * Composed of a frame, and an action function + */ + var AnimationEvent = (function () { + function AnimationEvent(frame, action, onlyOnce) { + this.frame = frame; + this.action = action; + this.onlyOnce = onlyOnce; + this.isDone = false; + } + return AnimationEvent; + }()); + BABYLON.AnimationEvent = AnimationEvent; + var PathCursor = (function () { + function PathCursor(path) { + this.path = path; + this._onchange = new Array(); + this.value = 0; + this.animations = new Array(); + } + PathCursor.prototype.getPoint = function () { + var point = this.path.getPointAtLengthPosition(this.value); + return new BABYLON.Vector3(point.x, 0, point.y); + }; + PathCursor.prototype.moveAhead = function (step) { + if (step === void 0) { step = 0.002; } + this.move(step); + return this; + }; + PathCursor.prototype.moveBack = function (step) { + if (step === void 0) { step = 0.002; } + this.move(-step); + return this; + }; + PathCursor.prototype.move = function (step) { + if (Math.abs(step) > 1) { + throw "step size should be less than 1."; + } + this.value += step; + this.ensureLimits(); + this.raiseOnChange(); + return this; + }; + PathCursor.prototype.ensureLimits = function () { + while (this.value > 1) { + this.value -= 1; + } + while (this.value < 0) { + this.value += 1; + } + return this; + }; + // used by animation engine + PathCursor.prototype.markAsDirty = function (propertyName) { + this.ensureLimits(); + this.raiseOnChange(); + return this; + }; + PathCursor.prototype.raiseOnChange = function () { + var _this = this; + this._onchange.forEach(function (f) { return f(_this); }); + return this; + }; + PathCursor.prototype.onchange = function (f) { + this._onchange.push(f); + return this; + }; + return PathCursor; + }()); + BABYLON.PathCursor = PathCursor; + var Animation = (function () { + function Animation(name, targetProperty, framePerSecond, dataType, loopMode, enableBlending) { + this.name = name; + this.targetProperty = targetProperty; + this.framePerSecond = framePerSecond; + this.dataType = dataType; + this.loopMode = loopMode; + this.enableBlending = enableBlending; + this._offsetsCache = {}; + this._highLimitsCache = {}; + this._stopped = false; + this._blendingFactor = 0; + // The set of event that will be linked to this animation + this._events = new Array(); + this.allowMatricesInterpolation = false; + this.blendingSpeed = 0.01; + this._ranges = {}; + this.targetPropertyPath = targetProperty.split("."); + this.dataType = dataType; + this.loopMode = loopMode === undefined ? Animation.ANIMATIONLOOPMODE_CYCLE : loopMode; + } + Animation._PrepareAnimation = function (name, targetProperty, framePerSecond, totalFrame, from, to, loopMode, easingFunction) { + var dataType = undefined; + if (!isNaN(parseFloat(from)) && isFinite(from)) { + dataType = Animation.ANIMATIONTYPE_FLOAT; + } + else if (from instanceof BABYLON.Quaternion) { + dataType = Animation.ANIMATIONTYPE_QUATERNION; + } + else if (from instanceof BABYLON.Vector3) { + dataType = Animation.ANIMATIONTYPE_VECTOR3; + } + else if (from instanceof BABYLON.Vector2) { + dataType = Animation.ANIMATIONTYPE_VECTOR2; + } + else if (from instanceof BABYLON.Color3) { + dataType = Animation.ANIMATIONTYPE_COLOR3; + } + else if (from instanceof BABYLON.Size) { + dataType = Animation.ANIMATIONTYPE_SIZE; + } + if (dataType == undefined) { + return null; + } + var animation = new Animation(name, targetProperty, framePerSecond, dataType, loopMode); + var keys = [{ frame: 0, value: from }, { frame: totalFrame, value: to }]; + animation.setKeys(keys); + if (easingFunction !== undefined) { + animation.setEasingFunction(easingFunction); + } + return animation; + }; + Animation.CreateAndStartAnimation = function (name, node, targetProperty, framePerSecond, totalFrame, from, to, loopMode, easingFunction, onAnimationEnd) { + var animation = Animation._PrepareAnimation(name, targetProperty, framePerSecond, totalFrame, from, to, loopMode, easingFunction); + return node.getScene().beginDirectAnimation(node, [animation], 0, totalFrame, (animation.loopMode === 1), 1.0, onAnimationEnd); + }; + Animation.CreateMergeAndStartAnimation = function (name, node, targetProperty, framePerSecond, totalFrame, from, to, loopMode, easingFunction, onAnimationEnd) { + var animation = Animation._PrepareAnimation(name, targetProperty, framePerSecond, totalFrame, from, to, loopMode, easingFunction); + node.animations.push(animation); + return node.getScene().beginAnimation(node, 0, totalFrame, (animation.loopMode === 1), 1.0, onAnimationEnd); + }; + // Methods + /** + * @param {boolean} fullDetails - support for multiple levels of logging within scene loading + */ + Animation.prototype.toString = function (fullDetails) { + var ret = "Name: " + this.name + ", property: " + this.targetProperty; + ret += ", datatype: " + (["Float", "Vector3", "Quaternion", "Matrix", "Color3", "Vector2"])[this.dataType]; + ret += ", nKeys: " + (this._keys ? this._keys.length : "none"); + ret += ", nRanges: " + (this._ranges ? Object.keys(this._ranges).length : "none"); + if (fullDetails) { + ret += ", Ranges: {"; + var first = true; + for (var name in this._ranges) { + if (first) { + ret += ", "; + first = false; + } + ret += name; + } + ret += "}"; + } + return ret; + }; + /** + * Add an event to this animation. + */ + Animation.prototype.addEvent = function (event) { + this._events.push(event); + }; + /** + * Remove all events found at the given frame + * @param frame + */ + Animation.prototype.removeEvents = function (frame) { + for (var index = 0; index < this._events.length; index++) { + if (this._events[index].frame === frame) { + this._events.splice(index, 1); + index--; + } + } + }; + Animation.prototype.createRange = function (name, from, to) { + // check name not already in use; could happen for bones after serialized + if (!this._ranges[name]) { + this._ranges[name] = new AnimationRange(name, from, to); + } + }; + Animation.prototype.deleteRange = function (name, deleteFrames) { + if (deleteFrames === void 0) { deleteFrames = true; } + if (this._ranges[name]) { + if (deleteFrames) { + var from = this._ranges[name].from; + var to = this._ranges[name].to; + // this loop MUST go high to low for multiple splices to work + for (var key = this._keys.length - 1; key >= 0; key--) { + if (this._keys[key].frame >= from && this._keys[key].frame <= to) { + this._keys.splice(key, 1); + } + } + } + this._ranges[name] = undefined; // said much faster than 'delete this._range[name]' + } + }; + Animation.prototype.getRange = function (name) { + return this._ranges[name]; + }; + Animation.prototype.reset = function () { + this._offsetsCache = {}; + this._highLimitsCache = {}; + this.currentFrame = 0; + this._blendingFactor = 0; + this._originalBlendValue = null; + }; + Animation.prototype.isStopped = function () { + return this._stopped; + }; + Animation.prototype.getKeys = function () { + return this._keys; + }; + Animation.prototype.getHighestFrame = function () { + var ret = 0; + for (var key = 0, nKeys = this._keys.length; key < nKeys; key++) { + if (ret < this._keys[key].frame) { + ret = this._keys[key].frame; + } + } + return ret; + }; + Animation.prototype.getEasingFunction = function () { + return this._easingFunction; + }; + Animation.prototype.setEasingFunction = function (easingFunction) { + this._easingFunction = easingFunction; + }; + Animation.prototype.floatInterpolateFunction = function (startValue, endValue, gradient) { + return startValue + (endValue - startValue) * gradient; + }; + Animation.prototype.quaternionInterpolateFunction = function (startValue, endValue, gradient) { + return BABYLON.Quaternion.Slerp(startValue, endValue, gradient); + }; + Animation.prototype.vector3InterpolateFunction = function (startValue, endValue, gradient) { + return BABYLON.Vector3.Lerp(startValue, endValue, gradient); + }; + Animation.prototype.vector2InterpolateFunction = function (startValue, endValue, gradient) { + return BABYLON.Vector2.Lerp(startValue, endValue, gradient); + }; + Animation.prototype.sizeInterpolateFunction = function (startValue, endValue, gradient) { + return BABYLON.Size.Lerp(startValue, endValue, gradient); + }; + Animation.prototype.color3InterpolateFunction = function (startValue, endValue, gradient) { + return BABYLON.Color3.Lerp(startValue, endValue, gradient); + }; + Animation.prototype.matrixInterpolateFunction = function (startValue, endValue, gradient) { + return BABYLON.Matrix.Lerp(startValue, endValue, gradient); + }; + Animation.prototype.clone = function () { + var clone = new Animation(this.name, this.targetPropertyPath.join("."), this.framePerSecond, this.dataType, this.loopMode); + if (this._keys) { + clone.setKeys(this._keys); + } + if (this._ranges) { + clone._ranges = {}; + for (var name in this._ranges) { + clone._ranges[name] = this._ranges[name].clone(); + } + } + return clone; + }; + Animation.prototype.setKeys = function (values) { + this._keys = values.slice(0); + this._offsetsCache = {}; + this._highLimitsCache = {}; + }; + Animation.prototype._getKeyValue = function (value) { + if (typeof value === "function") { + return value(); + } + return value; + }; + Animation.prototype._interpolate = function (currentFrame, repeatCount, loopMode, offsetValue, highLimitValue) { + if (loopMode === Animation.ANIMATIONLOOPMODE_CONSTANT && repeatCount > 0) { + return highLimitValue.clone ? highLimitValue.clone() : highLimitValue; + } + this.currentFrame = currentFrame; + // Try to get a hash to find the right key + var startKey = Math.max(0, Math.min(this._keys.length - 1, Math.floor(this._keys.length * (currentFrame - this._keys[0].frame) / (this._keys[this._keys.length - 1].frame - this._keys[0].frame)) - 1)); + if (this._keys[startKey].frame >= currentFrame) { + while (startKey - 1 >= 0 && this._keys[startKey].frame >= currentFrame) { + startKey--; + } + } + for (var key = startKey; key < this._keys.length; key++) { + if (this._keys[key + 1].frame >= currentFrame) { + var startValue = this._getKeyValue(this._keys[key].value); + var endValue = this._getKeyValue(this._keys[key + 1].value); + // gradient : percent of currentFrame between the frame inf and the frame sup + var gradient = (currentFrame - this._keys[key].frame) / (this._keys[key + 1].frame - this._keys[key].frame); + // check for easingFunction and correction of gradient + if (this._easingFunction != null) { + gradient = this._easingFunction.ease(gradient); + } + switch (this.dataType) { + // Float + case Animation.ANIMATIONTYPE_FLOAT: + switch (loopMode) { + case Animation.ANIMATIONLOOPMODE_CYCLE: + case Animation.ANIMATIONLOOPMODE_CONSTANT: + return this.floatInterpolateFunction(startValue, endValue, gradient); + case Animation.ANIMATIONLOOPMODE_RELATIVE: + return offsetValue * repeatCount + this.floatInterpolateFunction(startValue, endValue, gradient); + } + break; + // Quaternion + case Animation.ANIMATIONTYPE_QUATERNION: + var quaternion = null; + switch (loopMode) { + case Animation.ANIMATIONLOOPMODE_CYCLE: + case Animation.ANIMATIONLOOPMODE_CONSTANT: + quaternion = this.quaternionInterpolateFunction(startValue, endValue, gradient); + break; + case Animation.ANIMATIONLOOPMODE_RELATIVE: + quaternion = this.quaternionInterpolateFunction(startValue, endValue, gradient).add(offsetValue.scale(repeatCount)); + break; + } + return quaternion; + // Vector3 + case Animation.ANIMATIONTYPE_VECTOR3: + switch (loopMode) { + case Animation.ANIMATIONLOOPMODE_CYCLE: + case Animation.ANIMATIONLOOPMODE_CONSTANT: + return this.vector3InterpolateFunction(startValue, endValue, gradient); + case Animation.ANIMATIONLOOPMODE_RELATIVE: + return this.vector3InterpolateFunction(startValue, endValue, gradient).add(offsetValue.scale(repeatCount)); + } + // Vector2 + case Animation.ANIMATIONTYPE_VECTOR2: + switch (loopMode) { + case Animation.ANIMATIONLOOPMODE_CYCLE: + case Animation.ANIMATIONLOOPMODE_CONSTANT: + return this.vector2InterpolateFunction(startValue, endValue, gradient); + case Animation.ANIMATIONLOOPMODE_RELATIVE: + return this.vector2InterpolateFunction(startValue, endValue, gradient).add(offsetValue.scale(repeatCount)); + } + // Size + case Animation.ANIMATIONTYPE_SIZE: + switch (loopMode) { + case Animation.ANIMATIONLOOPMODE_CYCLE: + case Animation.ANIMATIONLOOPMODE_CONSTANT: + return this.sizeInterpolateFunction(startValue, endValue, gradient); + case Animation.ANIMATIONLOOPMODE_RELATIVE: + return this.sizeInterpolateFunction(startValue, endValue, gradient).add(offsetValue.scale(repeatCount)); + } + // Color3 + case Animation.ANIMATIONTYPE_COLOR3: + switch (loopMode) { + case Animation.ANIMATIONLOOPMODE_CYCLE: + case Animation.ANIMATIONLOOPMODE_CONSTANT: + return this.color3InterpolateFunction(startValue, endValue, gradient); + case Animation.ANIMATIONLOOPMODE_RELATIVE: + return this.color3InterpolateFunction(startValue, endValue, gradient).add(offsetValue.scale(repeatCount)); + } + // Matrix + case Animation.ANIMATIONTYPE_MATRIX: + switch (loopMode) { + case Animation.ANIMATIONLOOPMODE_CYCLE: + case Animation.ANIMATIONLOOPMODE_CONSTANT: + if (this.allowMatricesInterpolation) { + return this.matrixInterpolateFunction(startValue, endValue, gradient); + } + case Animation.ANIMATIONLOOPMODE_RELATIVE: + return startValue; + } + default: + break; + } + break; + } + } + return this._getKeyValue(this._keys[this._keys.length - 1].value); + }; + Animation.prototype.setValue = function (currentValue, blend) { + if (blend === void 0) { blend = false; } + // Set value + var path; + var destination; + if (this.targetPropertyPath.length > 1) { + var property = this._target[this.targetPropertyPath[0]]; + for (var index = 1; index < this.targetPropertyPath.length - 1; index++) { + property = property[this.targetPropertyPath[index]]; + } + path = this.targetPropertyPath[this.targetPropertyPath.length - 1]; + destination = property; + } + else { + path = this.targetPropertyPath[0]; + destination = this._target; + } + // Blending + if (this.enableBlending && this._blendingFactor <= 1.0) { + if (!this._originalBlendValue) { + if (destination[path].clone) { + this._originalBlendValue = destination[path].clone(); + } + else { + this._originalBlendValue = destination[path]; + } + } + if (this._originalBlendValue.prototype) { + if (this._originalBlendValue.prototype.Lerp) { + destination[path] = this._originalBlendValue.construtor.prototype.Lerp(currentValue, this._originalBlendValue, this._blendingFactor); + } + else { + destination[path] = currentValue; + } + } + else if (this._originalBlendValue.m) { + destination[path] = BABYLON.Matrix.Lerp(this._originalBlendValue, currentValue, this._blendingFactor); + } + else { + destination[path] = this._originalBlendValue * (1.0 - this._blendingFactor) + this._blendingFactor * currentValue; + } + this._blendingFactor += this.blendingSpeed; + } + else { + destination[path] = currentValue; + } + if (this._target.markAsDirty) { + this._target.markAsDirty(this.targetProperty); + } + }; + Animation.prototype.goToFrame = function (frame) { + if (frame < this._keys[0].frame) { + frame = this._keys[0].frame; + } + else if (frame > this._keys[this._keys.length - 1].frame) { + frame = this._keys[this._keys.length - 1].frame; + } + var currentValue = this._interpolate(frame, 0, this.loopMode); + this.setValue(currentValue); + }; + Animation.prototype.animate = function (delay, from, to, loop, speedRatio, blend) { + if (blend === void 0) { blend = false; } + if (!this.targetPropertyPath || this.targetPropertyPath.length < 1) { + this._stopped = true; + return false; + } + var returnValue = true; + // Adding a start key at frame 0 if missing + if (this._keys[0].frame !== 0) { + var newKey = { frame: 0, value: this._keys[0].value }; + this._keys.splice(0, 0, newKey); + } + // Check limits + if (from < this._keys[0].frame || from > this._keys[this._keys.length - 1].frame) { + from = this._keys[0].frame; + } + if (to < this._keys[0].frame || to > this._keys[this._keys.length - 1].frame) { + to = this._keys[this._keys.length - 1].frame; + } + //to and from cannot be the same key + if (from === to) { + from++; + } + // Compute ratio + var range = to - from; + var offsetValue; + // ratio represents the frame delta between from and to + var ratio = delay * (this.framePerSecond * speedRatio) / 1000.0; + var highLimitValue = 0; + if (ratio > range && !loop) { + returnValue = false; + highLimitValue = this._getKeyValue(this._keys[this._keys.length - 1].value); + } + else { + // Get max value if required + if (this.loopMode !== Animation.ANIMATIONLOOPMODE_CYCLE) { + var keyOffset = to.toString() + from.toString(); + if (!this._offsetsCache[keyOffset]) { + var fromValue = this._interpolate(from, 0, Animation.ANIMATIONLOOPMODE_CYCLE); + var toValue = this._interpolate(to, 0, Animation.ANIMATIONLOOPMODE_CYCLE); + switch (this.dataType) { + // Float + case Animation.ANIMATIONTYPE_FLOAT: + this._offsetsCache[keyOffset] = toValue - fromValue; + break; + // Quaternion + case Animation.ANIMATIONTYPE_QUATERNION: + this._offsetsCache[keyOffset] = toValue.subtract(fromValue); + break; + // Vector3 + case Animation.ANIMATIONTYPE_VECTOR3: + this._offsetsCache[keyOffset] = toValue.subtract(fromValue); + // Vector2 + case Animation.ANIMATIONTYPE_VECTOR2: + this._offsetsCache[keyOffset] = toValue.subtract(fromValue); + // Size + case Animation.ANIMATIONTYPE_SIZE: + this._offsetsCache[keyOffset] = toValue.subtract(fromValue); + // Color3 + case Animation.ANIMATIONTYPE_COLOR3: + this._offsetsCache[keyOffset] = toValue.subtract(fromValue); + default: + break; + } + this._highLimitsCache[keyOffset] = toValue; + } + highLimitValue = this._highLimitsCache[keyOffset]; + offsetValue = this._offsetsCache[keyOffset]; + } + } + if (offsetValue === undefined) { + switch (this.dataType) { + // Float + case Animation.ANIMATIONTYPE_FLOAT: + offsetValue = 0; + break; + // Quaternion + case Animation.ANIMATIONTYPE_QUATERNION: + offsetValue = new BABYLON.Quaternion(0, 0, 0, 0); + break; + // Vector3 + case Animation.ANIMATIONTYPE_VECTOR3: + offsetValue = BABYLON.Vector3.Zero(); + break; + // Vector2 + case Animation.ANIMATIONTYPE_VECTOR2: + offsetValue = BABYLON.Vector2.Zero(); + break; + // Size + case Animation.ANIMATIONTYPE_SIZE: + offsetValue = BABYLON.Size.Zero(); + break; + // Color3 + case Animation.ANIMATIONTYPE_COLOR3: + offsetValue = BABYLON.Color3.Black(); + } + } + // Compute value + var repeatCount = (ratio / range) >> 0; + var currentFrame = returnValue ? from + ratio % range : to; + var currentValue = this._interpolate(currentFrame, repeatCount, this.loopMode, offsetValue, highLimitValue); + // Set value + this.setValue(currentValue); + // Check events + for (var index = 0; index < this._events.length; index++) { + if (currentFrame >= this._events[index].frame) { + var event = this._events[index]; + if (!event.isDone) { + // If event should be done only once, remove it. + if (event.onlyOnce) { + this._events.splice(index, 1); + index--; + } + event.isDone = true; + event.action(); + } // Don't do anything if the event has already be done. + } + else if (this._events[index].isDone && !this._events[index].onlyOnce) { + // reset event, the animation is looping + this._events[index].isDone = false; + } + } + if (!returnValue) { + this._stopped = true; + } + return returnValue; + }; + Animation.prototype.serialize = function () { + var serializationObject = {}; + serializationObject.name = this.name; + serializationObject.property = this.targetProperty; + serializationObject.framePerSecond = this.framePerSecond; + serializationObject.dataType = this.dataType; + serializationObject.loopBehavior = this.loopMode; + var dataType = this.dataType; + serializationObject.keys = []; + var keys = this.getKeys(); + for (var index = 0; index < keys.length; index++) { + var animationKey = keys[index]; + var key = {}; + key.frame = animationKey.frame; + switch (dataType) { + case Animation.ANIMATIONTYPE_FLOAT: + key.values = [animationKey.value]; + break; + case Animation.ANIMATIONTYPE_QUATERNION: + case Animation.ANIMATIONTYPE_MATRIX: + case Animation.ANIMATIONTYPE_VECTOR3: + case Animation.ANIMATIONTYPE_COLOR3: + key.values = animationKey.value.asArray(); + break; + } + serializationObject.keys.push(key); + } + serializationObject.ranges = []; + for (var name in this._ranges) { + var range = {}; + range.name = name; + range.from = this._ranges[name].from; + range.to = this._ranges[name].to; + serializationObject.ranges.push(range); + } + return serializationObject; + }; + Object.defineProperty(Animation, "ANIMATIONTYPE_FLOAT", { + get: function () { + return Animation._ANIMATIONTYPE_FLOAT; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Animation, "ANIMATIONTYPE_VECTOR3", { + get: function () { + return Animation._ANIMATIONTYPE_VECTOR3; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Animation, "ANIMATIONTYPE_VECTOR2", { + get: function () { + return Animation._ANIMATIONTYPE_VECTOR2; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Animation, "ANIMATIONTYPE_SIZE", { + get: function () { + return Animation._ANIMATIONTYPE_SIZE; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Animation, "ANIMATIONTYPE_QUATERNION", { + get: function () { + return Animation._ANIMATIONTYPE_QUATERNION; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Animation, "ANIMATIONTYPE_MATRIX", { + get: function () { + return Animation._ANIMATIONTYPE_MATRIX; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Animation, "ANIMATIONTYPE_COLOR3", { + get: function () { + return Animation._ANIMATIONTYPE_COLOR3; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Animation, "ANIMATIONLOOPMODE_RELATIVE", { + get: function () { + return Animation._ANIMATIONLOOPMODE_RELATIVE; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Animation, "ANIMATIONLOOPMODE_CYCLE", { + get: function () { + return Animation._ANIMATIONLOOPMODE_CYCLE; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Animation, "ANIMATIONLOOPMODE_CONSTANT", { + get: function () { + return Animation._ANIMATIONLOOPMODE_CONSTANT; + }, + enumerable: true, + configurable: true + }); + Animation.Parse = function (parsedAnimation) { + var animation = new Animation(parsedAnimation.name, parsedAnimation.property, parsedAnimation.framePerSecond, parsedAnimation.dataType, parsedAnimation.loopBehavior); + var dataType = parsedAnimation.dataType; + var keys = []; + var data; + var index; + for (index = 0; index < parsedAnimation.keys.length; index++) { + var key = parsedAnimation.keys[index]; + switch (dataType) { + case Animation.ANIMATIONTYPE_FLOAT: + data = key.values[0]; + break; + case Animation.ANIMATIONTYPE_QUATERNION: + data = BABYLON.Quaternion.FromArray(key.values); + break; + case Animation.ANIMATIONTYPE_MATRIX: + data = BABYLON.Matrix.FromArray(key.values); + break; + case Animation.ANIMATIONTYPE_COLOR3: + data = BABYLON.Color3.FromArray(key.values); + break; + case Animation.ANIMATIONTYPE_VECTOR3: + default: + data = BABYLON.Vector3.FromArray(key.values); + break; + } + keys.push({ + frame: key.frame, + value: data + }); + } + animation.setKeys(keys); + if (parsedAnimation.ranges) { + for (index = 0; index < parsedAnimation.ranges.length; index++) { + data = parsedAnimation.ranges[index]; + animation.createRange(data.name, data.from, data.to); + } + } + return animation; + }; + Animation.AppendSerializedAnimations = function (source, destination) { + if (source.animations) { + destination.animations = []; + for (var animationIndex = 0; animationIndex < source.animations.length; animationIndex++) { + var animation = source.animations[animationIndex]; + destination.animations.push(animation.serialize()); + } + } + }; + // Statics + Animation._ANIMATIONTYPE_FLOAT = 0; + Animation._ANIMATIONTYPE_VECTOR3 = 1; + Animation._ANIMATIONTYPE_QUATERNION = 2; + Animation._ANIMATIONTYPE_MATRIX = 3; + Animation._ANIMATIONTYPE_COLOR3 = 4; + Animation._ANIMATIONTYPE_VECTOR2 = 5; + Animation._ANIMATIONTYPE_SIZE = 6; + Animation._ANIMATIONLOOPMODE_RELATIVE = 0; + Animation._ANIMATIONLOOPMODE_CYCLE = 1; + Animation._ANIMATIONLOOPMODE_CONSTANT = 2; + return Animation; + }()); + BABYLON.Animation = Animation; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.animation.js.map + +var BABYLON; +(function (BABYLON) { + var Animatable = (function () { + function Animatable(scene, target, fromFrame, toFrame, loopAnimation, speedRatio, onAnimationEnd, animations) { + if (fromFrame === void 0) { fromFrame = 0; } + if (toFrame === void 0) { toFrame = 100; } + if (loopAnimation === void 0) { loopAnimation = false; } + if (speedRatio === void 0) { speedRatio = 1.0; } + this.target = target; + this.fromFrame = fromFrame; + this.toFrame = toFrame; + this.loopAnimation = loopAnimation; + this.speedRatio = speedRatio; + this.onAnimationEnd = onAnimationEnd; + this._animations = new Array(); + this._paused = false; + this.animationStarted = false; + if (animations) { + this.appendAnimations(target, animations); + } + this._scene = scene; + scene._activeAnimatables.push(this); + } + // Methods + Animatable.prototype.getAnimations = function () { + return this._animations; + }; + Animatable.prototype.appendAnimations = function (target, animations) { + for (var index = 0; index < animations.length; index++) { + var animation = animations[index]; + animation._target = target; + this._animations.push(animation); + } + }; + Animatable.prototype.getAnimationByTargetProperty = function (property) { + var animations = this._animations; + for (var index = 0; index < animations.length; index++) { + if (animations[index].targetProperty === property) { + return animations[index]; + } + } + return null; + }; + Animatable.prototype.reset = function () { + var animations = this._animations; + for (var index = 0; index < animations.length; index++) { + animations[index].reset(); + } + this._localDelayOffset = null; + this._pausedDelay = null; + }; + Animatable.prototype.enableBlending = function (blendingSpeed) { + var animations = this._animations; + for (var index = 0; index < animations.length; index++) { + animations[index].enableBlending = true; + animations[index].blendingSpeed = blendingSpeed; + } + }; + Animatable.prototype.disableBlending = function () { + var animations = this._animations; + for (var index = 0; index < animations.length; index++) { + animations[index].enableBlending = false; + } + }; + Animatable.prototype.goToFrame = function (frame) { + var animations = this._animations; + if (animations[0]) { + var fps = animations[0].framePerSecond; + var currentFrame = animations[0].currentFrame; + var adjustTime = frame - currentFrame; + var delay = adjustTime * 1000 / fps; + this._localDelayOffset -= delay; + } + for (var index = 0; index < animations.length; index++) { + animations[index].goToFrame(frame); + } + }; + Animatable.prototype.pause = function () { + if (this._paused) { + return; + } + this._paused = true; + }; + Animatable.prototype.restart = function () { + this._paused = false; + }; + Animatable.prototype.stop = function (animationName) { + var index = this._scene._activeAnimatables.indexOf(this); + if (index > -1) { + var animations = this._animations; + var numberOfAnimationsStopped = 0; + for (var index = animations.length - 1; index >= 0; index--) { + if (typeof animationName === "string" && animations[index].name != animationName) { + continue; + } + animations[index].reset(); + animations.splice(index, 1); + numberOfAnimationsStopped++; + } + if (animations.length == numberOfAnimationsStopped) { + this._scene._activeAnimatables.splice(index, 1); + if (this.onAnimationEnd) { + this.onAnimationEnd(); + } + } + } + }; + Animatable.prototype._animate = function (delay) { + if (this._paused) { + this.animationStarted = false; + if (!this._pausedDelay) { + this._pausedDelay = delay; + } + return true; + } + if (!this._localDelayOffset) { + this._localDelayOffset = delay; + } + else if (this._pausedDelay) { + this._localDelayOffset += delay - this._pausedDelay; + this._pausedDelay = null; + } + // Animating + var running = false; + var animations = this._animations; + var index; + for (index = 0; index < animations.length; index++) { + var animation = animations[index]; + var isRunning = animation.animate(delay - this._localDelayOffset, this.fromFrame, this.toFrame, this.loopAnimation, this.speedRatio); + running = running || isRunning; + } + this.animationStarted = running; + if (!running) { + // Remove from active animatables + index = this._scene._activeAnimatables.indexOf(this); + this._scene._activeAnimatables.splice(index, 1); + } + if (!running && this.onAnimationEnd) { + this.onAnimationEnd(); + this.onAnimationEnd = null; + } + return running; + }; + return Animatable; + }()); + BABYLON.Animatable = Animatable; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.animatable.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var EasingFunction = (function () { + function EasingFunction() { + // Properties + this._easingMode = EasingFunction.EASINGMODE_EASEIN; + } + Object.defineProperty(EasingFunction, "EASINGMODE_EASEIN", { + get: function () { + return EasingFunction._EASINGMODE_EASEIN; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(EasingFunction, "EASINGMODE_EASEOUT", { + get: function () { + return EasingFunction._EASINGMODE_EASEOUT; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(EasingFunction, "EASINGMODE_EASEINOUT", { + get: function () { + return EasingFunction._EASINGMODE_EASEINOUT; + }, + enumerable: true, + configurable: true + }); + EasingFunction.prototype.setEasingMode = function (easingMode) { + var n = Math.min(Math.max(easingMode, 0), 2); + this._easingMode = n; + }; + EasingFunction.prototype.getEasingMode = function () { + return this._easingMode; + }; + EasingFunction.prototype.easeInCore = function (gradient) { + throw new Error('You must implement this method'); + }; + EasingFunction.prototype.ease = function (gradient) { + switch (this._easingMode) { + case EasingFunction.EASINGMODE_EASEIN: + return this.easeInCore(gradient); + case EasingFunction.EASINGMODE_EASEOUT: + return (1 - this.easeInCore(1 - gradient)); + } + if (gradient >= 0.5) { + return (((1 - this.easeInCore((1 - gradient) * 2)) * 0.5) + 0.5); + } + return (this.easeInCore(gradient * 2) * 0.5); + }; + //Statics + EasingFunction._EASINGMODE_EASEIN = 0; + EasingFunction._EASINGMODE_EASEOUT = 1; + EasingFunction._EASINGMODE_EASEINOUT = 2; + return EasingFunction; + }()); + BABYLON.EasingFunction = EasingFunction; + var CircleEase = (function (_super) { + __extends(CircleEase, _super); + function CircleEase() { + _super.apply(this, arguments); + } + CircleEase.prototype.easeInCore = function (gradient) { + gradient = Math.max(0, Math.min(1, gradient)); + return (1.0 - Math.sqrt(1.0 - (gradient * gradient))); + }; + return CircleEase; + }(EasingFunction)); + BABYLON.CircleEase = CircleEase; + var BackEase = (function (_super) { + __extends(BackEase, _super); + function BackEase(amplitude) { + if (amplitude === void 0) { amplitude = 1; } + _super.call(this); + this.amplitude = amplitude; + } + BackEase.prototype.easeInCore = function (gradient) { + var num = Math.max(0, this.amplitude); + return (Math.pow(gradient, 3.0) - ((gradient * num) * Math.sin(3.1415926535897931 * gradient))); + }; + return BackEase; + }(EasingFunction)); + BABYLON.BackEase = BackEase; + var BounceEase = (function (_super) { + __extends(BounceEase, _super); + function BounceEase(bounces, bounciness) { + if (bounces === void 0) { bounces = 3; } + if (bounciness === void 0) { bounciness = 2; } + _super.call(this); + this.bounces = bounces; + this.bounciness = bounciness; + } + BounceEase.prototype.easeInCore = function (gradient) { + var y = Math.max(0.0, this.bounces); + var bounciness = this.bounciness; + if (bounciness <= 1.0) { + bounciness = 1.001; + } + var num9 = Math.pow(bounciness, y); + var num5 = 1.0 - bounciness; + var num4 = ((1.0 - num9) / num5) + (num9 * 0.5); + var num15 = gradient * num4; + var num65 = Math.log((-num15 * (1.0 - bounciness)) + 1.0) / Math.log(bounciness); + var num3 = Math.floor(num65); + var num13 = num3 + 1.0; + var num8 = (1.0 - Math.pow(bounciness, num3)) / (num5 * num4); + var num12 = (1.0 - Math.pow(bounciness, num13)) / (num5 * num4); + var num7 = (num8 + num12) * 0.5; + var num6 = gradient - num7; + var num2 = num7 - num8; + return (((-Math.pow(1.0 / bounciness, y - num3) / (num2 * num2)) * (num6 - num2)) * (num6 + num2)); + }; + return BounceEase; + }(EasingFunction)); + BABYLON.BounceEase = BounceEase; + var CubicEase = (function (_super) { + __extends(CubicEase, _super); + function CubicEase() { + _super.apply(this, arguments); + } + CubicEase.prototype.easeInCore = function (gradient) { + return (gradient * gradient * gradient); + }; + return CubicEase; + }(EasingFunction)); + BABYLON.CubicEase = CubicEase; + var ElasticEase = (function (_super) { + __extends(ElasticEase, _super); + function ElasticEase(oscillations, springiness) { + if (oscillations === void 0) { oscillations = 3; } + if (springiness === void 0) { springiness = 3; } + _super.call(this); + this.oscillations = oscillations; + this.springiness = springiness; + } + ElasticEase.prototype.easeInCore = function (gradient) { + var num2; + var num3 = Math.max(0.0, this.oscillations); + var num = Math.max(0.0, this.springiness); + if (num == 0) { + num2 = gradient; + } + else { + num2 = (Math.exp(num * gradient) - 1.0) / (Math.exp(num) - 1.0); + } + return (num2 * Math.sin(((6.2831853071795862 * num3) + 1.5707963267948966) * gradient)); + }; + return ElasticEase; + }(EasingFunction)); + BABYLON.ElasticEase = ElasticEase; + var ExponentialEase = (function (_super) { + __extends(ExponentialEase, _super); + function ExponentialEase(exponent) { + if (exponent === void 0) { exponent = 2; } + _super.call(this); + this.exponent = exponent; + } + ExponentialEase.prototype.easeInCore = function (gradient) { + if (this.exponent <= 0) { + return gradient; + } + return ((Math.exp(this.exponent * gradient) - 1.0) / (Math.exp(this.exponent) - 1.0)); + }; + return ExponentialEase; + }(EasingFunction)); + BABYLON.ExponentialEase = ExponentialEase; + var PowerEase = (function (_super) { + __extends(PowerEase, _super); + function PowerEase(power) { + if (power === void 0) { power = 2; } + _super.call(this); + this.power = power; + } + PowerEase.prototype.easeInCore = function (gradient) { + var y = Math.max(0.0, this.power); + return Math.pow(gradient, y); + }; + return PowerEase; + }(EasingFunction)); + BABYLON.PowerEase = PowerEase; + var QuadraticEase = (function (_super) { + __extends(QuadraticEase, _super); + function QuadraticEase() { + _super.apply(this, arguments); + } + QuadraticEase.prototype.easeInCore = function (gradient) { + return (gradient * gradient); + }; + return QuadraticEase; + }(EasingFunction)); + BABYLON.QuadraticEase = QuadraticEase; + var QuarticEase = (function (_super) { + __extends(QuarticEase, _super); + function QuarticEase() { + _super.apply(this, arguments); + } + QuarticEase.prototype.easeInCore = function (gradient) { + return (gradient * gradient * gradient * gradient); + }; + return QuarticEase; + }(EasingFunction)); + BABYLON.QuarticEase = QuarticEase; + var QuinticEase = (function (_super) { + __extends(QuinticEase, _super); + function QuinticEase() { + _super.apply(this, arguments); + } + QuinticEase.prototype.easeInCore = function (gradient) { + return (gradient * gradient * gradient * gradient * gradient); + }; + return QuinticEase; + }(EasingFunction)); + BABYLON.QuinticEase = QuinticEase; + var SineEase = (function (_super) { + __extends(SineEase, _super); + function SineEase() { + _super.apply(this, arguments); + } + SineEase.prototype.easeInCore = function (gradient) { + return (1.0 - Math.sin(1.5707963267948966 * (1.0 - gradient))); + }; + return SineEase; + }(EasingFunction)); + BABYLON.SineEase = SineEase; + var BezierCurveEase = (function (_super) { + __extends(BezierCurveEase, _super); + function BezierCurveEase(x1, y1, x2, y2) { + if (x1 === void 0) { x1 = 0; } + if (y1 === void 0) { y1 = 0; } + if (x2 === void 0) { x2 = 1; } + if (y2 === void 0) { y2 = 1; } + _super.call(this); + this.x1 = x1; + this.y1 = y1; + this.x2 = x2; + this.y2 = y2; + } + BezierCurveEase.prototype.easeInCore = function (gradient) { + return BABYLON.BezierCurve.interpolate(gradient, this.x1, this.y1, this.x2, this.y2); + }; + return BezierCurveEase; + }(EasingFunction)); + BABYLON.BezierCurveEase = BezierCurveEase; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.easing.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var Bone = (function (_super) { + __extends(Bone, _super); + function Bone(name, skeleton, parentBone, matrix, restPose) { + _super.call(this, name, skeleton.getScene()); + this.name = name; + this.children = new Array(); + this.animations = new Array(); + this._worldTransform = new BABYLON.Matrix(); + this._absoluteTransform = new BABYLON.Matrix(); + this._invertedAbsoluteTransform = new BABYLON.Matrix(); + this._scaleMatrix = BABYLON.Matrix.Identity(); + this._scaleVector = new BABYLON.Vector3(1, 1, 1); + this._negateScaleChildren = new BABYLON.Vector3(1, 1, 1); + this._scalingDeterminant = 1; + this._syncScaleVector = function () { + var lm = this.getLocalMatrix(); + var xsq = (lm.m[0] * lm.m[0] + lm.m[1] * lm.m[1] + lm.m[2] * lm.m[2]); + var ysq = (lm.m[4] * lm.m[4] + lm.m[5] * lm.m[5] + lm.m[6] * lm.m[6]); + var zsq = (lm.m[8] * lm.m[8] + lm.m[9] * lm.m[9] + lm.m[10] * lm.m[10]); + var xs = lm.m[0] * lm.m[1] * lm.m[2] * lm.m[3] < 0 ? -1 : 1; + var ys = lm.m[4] * lm.m[5] * lm.m[6] * lm.m[7] < 0 ? -1 : 1; + var zs = lm.m[8] * lm.m[9] * lm.m[10] * lm.m[11] < 0 ? -1 : 1; + this._scaleVector.x = xs * Math.sqrt(xsq); + this._scaleVector.y = ys * Math.sqrt(ysq); + this._scaleVector.z = zs * Math.sqrt(zsq); + if (this._parent) { + this._scaleVector.x /= this._parent._negateScaleChildren.x; + this._scaleVector.y /= this._parent._negateScaleChildren.y; + this._scaleVector.z /= this._parent._negateScaleChildren.z; + } + BABYLON.Matrix.FromValuesToRef(this._scaleVector.x, 0, 0, 0, 0, this._scaleVector.y, 0, 0, 0, 0, this._scaleVector.z, 0, 0, 0, 0, 1, this._scaleMatrix); + }; + this._skeleton = skeleton; + this._matrix = matrix; + this._baseMatrix = matrix; + this._restPose = restPose ? restPose : matrix.clone(); + skeleton.bones.push(this); + if (parentBone) { + this._parent = parentBone; + parentBone.children.push(this); + } + else { + this._parent = null; + } + this._updateDifferenceMatrix(); + if (this.getAbsoluteTransform().determinant() < 0) { + this._scalingDeterminant *= -1; + } + } + // Members + Bone.prototype.getParent = function () { + return this._parent; + }; + Bone.prototype.getLocalMatrix = function () { + return this._matrix; + }; + Bone.prototype.getBaseMatrix = function () { + return this._baseMatrix; + }; + Bone.prototype.getRestPose = function () { + return this._restPose; + }; + Bone.prototype.returnToRest = function () { + this.updateMatrix(this._restPose.clone()); + }; + Bone.prototype.getWorldMatrix = function () { + return this._worldTransform; + }; + Bone.prototype.getInvertedAbsoluteTransform = function () { + return this._invertedAbsoluteTransform; + }; + Bone.prototype.getAbsoluteTransform = function () { + return this._absoluteTransform; + }; + // Methods + Bone.prototype.updateMatrix = function (matrix, updateDifferenceMatrix) { + if (updateDifferenceMatrix === void 0) { updateDifferenceMatrix = true; } + this._baseMatrix = matrix.clone(); + this._matrix = matrix.clone(); + this._skeleton._markAsDirty(); + if (updateDifferenceMatrix) { + this._updateDifferenceMatrix(); + } + }; + Bone.prototype._updateDifferenceMatrix = function (rootMatrix) { + if (!rootMatrix) { + rootMatrix = this._baseMatrix; + } + if (this._parent) { + rootMatrix.multiplyToRef(this._parent._absoluteTransform, this._absoluteTransform); + } + else { + this._absoluteTransform.copyFrom(rootMatrix); + } + this._absoluteTransform.invertToRef(this._invertedAbsoluteTransform); + for (var index = 0; index < this.children.length; index++) { + this.children[index]._updateDifferenceMatrix(); + } + }; + Bone.prototype.markAsDirty = function () { + this._currentRenderId++; + this._skeleton._markAsDirty(); + }; + Bone.prototype.copyAnimationRange = function (source, rangeName, frameOffset, rescaleAsRequired, skelDimensionsRatio) { + if (rescaleAsRequired === void 0) { rescaleAsRequired = false; } + if (skelDimensionsRatio === void 0) { skelDimensionsRatio = null; } + // all animation may be coming from a library skeleton, so may need to create animation + if (this.animations.length === 0) { + this.animations.push(new BABYLON.Animation(this.name, "_matrix", source.animations[0].framePerSecond, BABYLON.Animation.ANIMATIONTYPE_MATRIX, 0)); + this.animations[0].setKeys([]); + } + // get animation info / verify there is such a range from the source bone + var sourceRange = source.animations[0].getRange(rangeName); + if (!sourceRange) { + return false; + } + var from = sourceRange.from; + var to = sourceRange.to; + var sourceKeys = source.animations[0].getKeys(); + // rescaling prep + var sourceBoneLength = source.length; + var sourceParent = source.getParent(); + var parent = this.getParent(); + var parentScalingReqd = rescaleAsRequired && sourceParent && sourceBoneLength && this.length && sourceBoneLength !== this.length; + var parentRatio = parentScalingReqd ? parent.length / sourceParent.length : null; + var dimensionsScalingReqd = rescaleAsRequired && !parent && skelDimensionsRatio && (skelDimensionsRatio.x !== 1 || skelDimensionsRatio.y !== 1 || skelDimensionsRatio.z !== 1); + var destKeys = this.animations[0].getKeys(); + // loop vars declaration + var orig; + var origTranslation; + var mat; + for (var key = 0, nKeys = sourceKeys.length; key < nKeys; key++) { + orig = sourceKeys[key]; + if (orig.frame >= from && orig.frame <= to) { + if (rescaleAsRequired) { + mat = orig.value.clone(); + // scale based on parent ratio, when bone has parent + if (parentScalingReqd) { + origTranslation = mat.getTranslation(); + mat.setTranslation(origTranslation.scaleInPlace(parentRatio)); + } + else if (dimensionsScalingReqd) { + origTranslation = mat.getTranslation(); + mat.setTranslation(origTranslation.multiplyInPlace(skelDimensionsRatio)); + } + else { + mat = orig.value; + } + } + else { + mat = orig.value; + } + destKeys.push({ frame: orig.frame + frameOffset, value: mat }); + } + } + this.animations[0].createRange(rangeName, from + frameOffset, to + frameOffset); + return true; + }; + Bone.prototype.translate = function (vec, space, mesh) { + if (space === void 0) { space = BABYLON.Space.LOCAL; } + var lm = this.getLocalMatrix(); + if (space == BABYLON.Space.LOCAL) { + lm.m[12] += vec.x; + lm.m[13] += vec.y; + lm.m[14] += vec.z; + } + else { + this._skeleton.computeAbsoluteTransforms(); + var tmat = BABYLON.Tmp.Matrix[0]; + var tvec = BABYLON.Tmp.Vector3[0]; + if (mesh) { + tmat.copyFrom(this._parent.getAbsoluteTransform()); + tmat.multiplyToRef(mesh.getWorldMatrix(), tmat); + } + else { + tmat.copyFrom(this._parent.getAbsoluteTransform()); + } + tmat.m[12] = 0; + tmat.m[13] = 0; + tmat.m[14] = 0; + tmat.invert(); + BABYLON.Vector3.TransformCoordinatesToRef(vec, tmat, tvec); + lm.m[12] += tvec.x; + lm.m[13] += tvec.y; + lm.m[14] += tvec.z; + } + this.markAsDirty(); + }; + Bone.prototype.setPosition = function (position, space, mesh) { + if (space === void 0) { space = BABYLON.Space.LOCAL; } + var lm = this.getLocalMatrix(); + if (space == BABYLON.Space.LOCAL) { + lm.m[12] = position.x; + lm.m[13] = position.y; + lm.m[14] = position.z; + } + else { + this._skeleton.computeAbsoluteTransforms(); + var tmat = BABYLON.Tmp.Matrix[0]; + var vec = BABYLON.Tmp.Vector3[0]; + if (mesh) { + tmat.copyFrom(this._parent.getAbsoluteTransform()); + tmat.multiplyToRef(mesh.getWorldMatrix(), tmat); + } + else { + tmat.copyFrom(this._parent.getAbsoluteTransform()); + } + tmat.invert(); + BABYLON.Vector3.TransformCoordinatesToRef(position, tmat, vec); + lm.m[12] = vec.x; + lm.m[13] = vec.y; + lm.m[14] = vec.z; + } + this.markAsDirty(); + }; + Bone.prototype.setAbsolutePosition = function (position, mesh) { + this.setPosition(position, BABYLON.Space.WORLD, mesh); + }; + Bone.prototype.setScale = function (x, y, z, scaleChildren) { + if (scaleChildren === void 0) { scaleChildren = false; } + if (this.animations[0] && !this.animations[0].isStopped()) { + if (!scaleChildren) { + this._negateScaleChildren.x = 1 / x; + this._negateScaleChildren.y = 1 / y; + this._negateScaleChildren.z = 1 / z; + } + this._syncScaleVector(); + } + this.scale(x / this._scaleVector.x, y / this._scaleVector.y, z / this._scaleVector.z, scaleChildren); + }; + Bone.prototype.scale = function (x, y, z, scaleChildren) { + if (scaleChildren === void 0) { scaleChildren = false; } + var locMat = this.getLocalMatrix(); + var origLocMat = BABYLON.Tmp.Matrix[0]; + origLocMat.copyFrom(locMat); + var origLocMatInv = BABYLON.Tmp.Matrix[1]; + origLocMatInv.copyFrom(origLocMat); + origLocMatInv.invert(); + var scaleMat = BABYLON.Tmp.Matrix[2]; + BABYLON.Matrix.FromValuesToRef(x, 0, 0, 0, 0, y, 0, 0, 0, 0, z, 0, 0, 0, 0, 1, scaleMat); + this._scaleMatrix.multiplyToRef(scaleMat, this._scaleMatrix); + this._scaleVector.x *= x; + this._scaleVector.y *= y; + this._scaleVector.z *= z; + locMat.multiplyToRef(origLocMatInv, locMat); + locMat.multiplyToRef(scaleMat, locMat); + locMat.multiplyToRef(origLocMat, locMat); + var parent = this.getParent(); + if (parent) { + locMat.multiplyToRef(parent.getAbsoluteTransform(), this.getAbsoluteTransform()); + } + else { + this.getAbsoluteTransform().copyFrom(locMat); + } + var len = this.children.length; + scaleMat.invert(); + for (var i = 0; i < len; i++) { + var child = this.children[i]; + var cm = child.getLocalMatrix(); + cm.multiplyToRef(scaleMat, cm); + var lm = child.getLocalMatrix(); + lm.m[12] *= x; + lm.m[13] *= y; + lm.m[14] *= z; + } + this.computeAbsoluteTransforms(); + if (scaleChildren) { + for (var i = 0; i < len; i++) { + this.children[i].scale(x, y, z, scaleChildren); + } + } + this.markAsDirty(); + }; + Bone.prototype.setYawPitchRoll = function (yaw, pitch, roll, space, mesh) { + if (space === void 0) { space = BABYLON.Space.LOCAL; } + var rotMat = BABYLON.Tmp.Matrix[0]; + BABYLON.Matrix.RotationYawPitchRollToRef(yaw, pitch, roll, rotMat); + var rotMatInv = BABYLON.Tmp.Matrix[1]; + this._getNegativeRotationToRef(rotMatInv, space, mesh); + rotMatInv.multiplyToRef(rotMat, rotMat); + this._rotateWithMatrix(rotMat, space, mesh); + }; + Bone.prototype.rotate = function (axis, amount, space, mesh) { + if (space === void 0) { space = BABYLON.Space.LOCAL; } + var rmat = BABYLON.Tmp.Matrix[0]; + rmat.m[12] = 0; + rmat.m[13] = 0; + rmat.m[14] = 0; + BABYLON.Matrix.RotationAxisToRef(axis, amount, rmat); + this._rotateWithMatrix(rmat, space, mesh); + }; + Bone.prototype.setAxisAngle = function (axis, angle, space, mesh) { + if (space === void 0) { space = BABYLON.Space.LOCAL; } + var rotMat = BABYLON.Tmp.Matrix[0]; + BABYLON.Matrix.RotationAxisToRef(axis, angle, rotMat); + var rotMatInv = BABYLON.Tmp.Matrix[1]; + this._getNegativeRotationToRef(rotMatInv, space, mesh); + rotMatInv.multiplyToRef(rotMat, rotMat); + this._rotateWithMatrix(rotMat, space, mesh); + }; + Bone.prototype.setRotation = function (rotation, space, mesh) { + if (space === void 0) { space = BABYLON.Space.LOCAL; } + this.setYawPitchRoll(rotation.y, rotation.x, rotation.z, space, mesh); + }; + Bone.prototype.setRotationQuaternion = function (quat, space, mesh) { + if (space === void 0) { space = BABYLON.Space.LOCAL; } + var rotMatInv = BABYLON.Tmp.Matrix[0]; + this._getNegativeRotationToRef(rotMatInv, space, mesh); + var rotMat = BABYLON.Tmp.Matrix[1]; + BABYLON.Matrix.FromQuaternionToRef(quat, rotMat); + rotMatInv.multiplyToRef(rotMat, rotMat); + this._rotateWithMatrix(rotMat, space, mesh); + }; + Bone.prototype.setRotationMatrix = function (rotMat, space, mesh) { + if (space === void 0) { space = BABYLON.Space.LOCAL; } + var rotMatInv = BABYLON.Tmp.Matrix[0]; + this._getNegativeRotationToRef(rotMatInv, space, mesh); + var rotMat2 = BABYLON.Tmp.Matrix[1]; + rotMat2.copyFrom(rotMat); + rotMatInv.multiplyToRef(rotMat, rotMat2); + this._rotateWithMatrix(rotMat2, space, mesh); + }; + Bone.prototype._rotateWithMatrix = function (rmat, space, mesh) { + if (space === void 0) { space = BABYLON.Space.LOCAL; } + var lmat = this.getLocalMatrix(); + var lx = lmat.m[12]; + var ly = lmat.m[13]; + var lz = lmat.m[14]; + var parent = this.getParent(); + var parentScale = BABYLON.Tmp.Matrix[3]; + var parentScaleInv = BABYLON.Tmp.Matrix[4]; + if (parent) { + if (space == BABYLON.Space.WORLD) { + if (mesh) { + parentScale.copyFrom(mesh.getWorldMatrix()); + parent.getAbsoluteTransform().multiplyToRef(parentScale, parentScale); + } + else { + parentScale.copyFrom(parent.getAbsoluteTransform()); + } + } + else { + parentScale = parent._scaleMatrix; + } + parentScaleInv.copyFrom(parentScale); + parentScaleInv.invert(); + lmat.multiplyToRef(parentScale, lmat); + lmat.multiplyToRef(rmat, lmat); + lmat.multiplyToRef(parentScaleInv, lmat); + } + else { + if (space == BABYLON.Space.WORLD && mesh) { + parentScale.copyFrom(mesh.getWorldMatrix()); + parentScaleInv.copyFrom(parentScale); + parentScaleInv.invert(); + lmat.multiplyToRef(parentScale, lmat); + lmat.multiplyToRef(rmat, lmat); + lmat.multiplyToRef(parentScaleInv, lmat); + } + else { + lmat.multiplyToRef(rmat, lmat); + } + } + lmat.m[12] = lx; + lmat.m[13] = ly; + lmat.m[14] = lz; + this.computeAbsoluteTransforms(); + this.markAsDirty(); + }; + Bone.prototype._getNegativeRotationToRef = function (rotMatInv, space, mesh) { + if (space === void 0) { space = BABYLON.Space.LOCAL; } + if (space == BABYLON.Space.WORLD) { + var scaleMatrix = BABYLON.Tmp.Matrix[2]; + scaleMatrix.copyFrom(this._scaleMatrix); + rotMatInv.copyFrom(this.getAbsoluteTransform()); + if (mesh) { + rotMatInv.multiplyToRef(mesh.getWorldMatrix(), rotMatInv); + var meshScale = BABYLON.Tmp.Matrix[3]; + BABYLON.Matrix.ScalingToRef(mesh.scaling.x, mesh.scaling.y, mesh.scaling.z, meshScale); + scaleMatrix.multiplyToRef(meshScale, scaleMatrix); + } + rotMatInv.invert(); + scaleMatrix.m[0] *= this._scalingDeterminant; + rotMatInv.multiplyToRef(scaleMatrix, rotMatInv); + } + else { + rotMatInv.copyFrom(this.getLocalMatrix()); + rotMatInv.invert(); + var scaleMatrix = BABYLON.Tmp.Matrix[2]; + scaleMatrix.copyFrom(this._scaleMatrix); + if (this._parent) { + var pscaleMatrix = BABYLON.Tmp.Matrix[3]; + pscaleMatrix.copyFrom(this._parent._scaleMatrix); + pscaleMatrix.invert(); + pscaleMatrix.multiplyToRef(rotMatInv, rotMatInv); + } + else { + scaleMatrix.m[0] *= this._scalingDeterminant; + } + rotMatInv.multiplyToRef(scaleMatrix, rotMatInv); + } + }; + Bone.prototype.getScale = function () { + return this._scaleVector.clone(); + }; + Bone.prototype.getScaleToRef = function (result) { + result.copyFrom(this._scaleVector); + }; + Bone.prototype.getPosition = function (space, mesh) { + if (space === void 0) { space = BABYLON.Space.LOCAL; } + var pos = BABYLON.Vector3.Zero(); + this.getPositionToRef(space, mesh, pos); + return pos; + }; + Bone.prototype.getPositionToRef = function (space, mesh, result) { + if (space === void 0) { space = BABYLON.Space.LOCAL; } + if (space == BABYLON.Space.LOCAL) { + var lm = this.getLocalMatrix(); + result.x = lm.m[12]; + result.y = lm.m[13]; + result.z = lm.m[14]; + } + else { + this._skeleton.computeAbsoluteTransforms(); + var tmat = BABYLON.Tmp.Matrix[0]; + if (mesh) { + tmat.copyFrom(this.getAbsoluteTransform()); + tmat.multiplyToRef(mesh.getWorldMatrix(), tmat); + } + else { + tmat = this.getAbsoluteTransform(); + } + result.x = tmat.m[12]; + result.y = tmat.m[13]; + result.z = tmat.m[14]; + } + }; + Bone.prototype.getAbsolutePosition = function (mesh) { + var pos = BABYLON.Vector3.Zero(); + this.getPositionToRef(BABYLON.Space.WORLD, mesh, pos); + return pos; + }; + Bone.prototype.getAbsolutePositionToRef = function (mesh, result) { + this.getPositionToRef(BABYLON.Space.WORLD, mesh, result); + }; + Bone.prototype.computeAbsoluteTransforms = function () { + if (this._parent) { + this._matrix.multiplyToRef(this._parent._absoluteTransform, this._absoluteTransform); + } + else { + this._absoluteTransform.copyFrom(this._matrix); + var poseMatrix = this._skeleton.getPoseMatrix(); + if (poseMatrix) { + this._absoluteTransform.multiplyToRef(poseMatrix, this._absoluteTransform); + } + } + var children = this.children; + var len = children.length; + for (var i = 0; i < len; i++) { + children[i].computeAbsoluteTransforms(); + } + }; + Bone.prototype.getDirection = function (localAxis, mesh) { + var result = BABYLON.Vector3.Zero(); + this.getDirectionToRef(localAxis, mesh, result); + return result; + }; + Bone.prototype.getDirectionToRef = function (localAxis, mesh, result) { + this._skeleton.computeAbsoluteTransforms(); + var mat = BABYLON.Tmp.Matrix[0]; + mat.copyFrom(this.getAbsoluteTransform()); + if (mesh) { + mat.multiplyToRef(mesh.getWorldMatrix(), mat); + } + BABYLON.Vector3.TransformNormalToRef(localAxis, mat, result); + result.normalize(); + }; + Bone.prototype.getRotation = function (space, mesh) { + if (space === void 0) { space = BABYLON.Space.LOCAL; } + var result = BABYLON.Vector3.Zero(); + this.getRotationToRef(space, mesh, result); + return result; + }; + Bone.prototype.getRotationToRef = function (space, mesh, result) { + if (space === void 0) { space = BABYLON.Space.LOCAL; } + var quat = BABYLON.Tmp.Quaternion[0]; + this.getRotationQuaternionToRef(space, mesh, quat); + quat.toEulerAnglesToRef(result); + }; + Bone.prototype.getRotationQuaternion = function (space, mesh) { + if (space === void 0) { space = BABYLON.Space.LOCAL; } + var result = BABYLON.Quaternion.Identity(); + this.getRotationQuaternionToRef(space, mesh, result); + return result; + }; + Bone.prototype.getRotationQuaternionToRef = function (space, mesh, result) { + if (space === void 0) { space = BABYLON.Space.LOCAL; } + if (space == BABYLON.Space.LOCAL) { + this.getLocalMatrix().decompose(BABYLON.Tmp.Vector3[0], result, BABYLON.Tmp.Vector3[1]); + } + else { + var mat = BABYLON.Tmp.Matrix[0]; + var amat = this.getAbsoluteTransform(); + if (mesh) { + amat.multiplyToRef(mesh.getWorldMatrix(), mat); + } + else { + mat.copyFrom(amat); + } + mat.m[0] *= this._scalingDeterminant; + mat.m[1] *= this._scalingDeterminant; + mat.m[2] *= this._scalingDeterminant; + mat.decompose(BABYLON.Tmp.Vector3[0], result, BABYLON.Tmp.Vector3[1]); + } + }; + Bone.prototype.getRotationMatrix = function (space, mesh) { + if (space === void 0) { space = BABYLON.Space.LOCAL; } + var result = BABYLON.Matrix.Identity(); + this.getRotationMatrixToRef(space, mesh, result); + return result; + }; + Bone.prototype.getRotationMatrixToRef = function (space, mesh, result) { + if (space === void 0) { space = BABYLON.Space.LOCAL; } + if (space == BABYLON.Space.LOCAL) { + this.getLocalMatrix().getRotationMatrixToRef(result); + } + else { + var mat = BABYLON.Tmp.Matrix[0]; + var amat = this.getAbsoluteTransform(); + if (mesh) { + amat.multiplyToRef(mesh.getWorldMatrix(), mat); + } + else { + mat.copyFrom(amat); + } + mat.m[0] *= this._scalingDeterminant; + mat.m[1] *= this._scalingDeterminant; + mat.m[2] *= this._scalingDeterminant; + mat.getRotationMatrixToRef(result); + } + }; + Bone.prototype.getAbsolutePositionFromLocal = function (position, mesh) { + var result = BABYLON.Vector3.Zero(); + this.getAbsolutePositionFromLocalToRef(position, mesh, result); + return result; + }; + Bone.prototype.getAbsolutePositionFromLocalToRef = function (position, mesh, result) { + this._skeleton.computeAbsoluteTransforms(); + var tmat = BABYLON.Tmp.Matrix[0]; + if (mesh) { + tmat.copyFrom(this.getAbsoluteTransform()); + tmat.multiplyToRef(mesh.getWorldMatrix(), tmat); + } + else { + tmat = this.getAbsoluteTransform(); + } + BABYLON.Vector3.TransformCoordinatesToRef(position, tmat, result); + }; + Bone.prototype.getLocalPositionFromAbsolute = function (position, mesh) { + var result = BABYLON.Vector3.Zero(); + this.getLocalPositionFromAbsoluteToRef(position, mesh, result); + return result; + }; + Bone.prototype.getLocalPositionFromAbsoluteToRef = function (position, mesh, result) { + this._skeleton.computeAbsoluteTransforms(); + var tmat = BABYLON.Tmp.Matrix[0]; + tmat.copyFrom(this.getAbsoluteTransform()); + if (mesh) { + tmat.multiplyToRef(mesh.getWorldMatrix(), tmat); + } + tmat.invert(); + BABYLON.Vector3.TransformCoordinatesToRef(position, tmat, result); + }; + return Bone; + }(BABYLON.Node)); + BABYLON.Bone = Bone; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.bone.js.map + +var BABYLON; +(function (BABYLON) { + var BoneIKController = (function () { + function BoneIKController(mesh, bone, options) { + this.targetPosition = BABYLON.Vector3.Zero(); + this.poleTargetPosition = BABYLON.Vector3.Zero(); + this.poleTargetLocalOffset = BABYLON.Vector3.Zero(); + this.poleAngle = 0; + this.slerpAmount = 1; + this._bone1Quat = BABYLON.Quaternion.Identity(); + this._bone1Mat = BABYLON.Matrix.Identity(); + this._bone2Ang = Math.PI; + this._maxAngle = Math.PI; + this._tmpVec1 = BABYLON.Vector3.Zero(); + this._tmpVec2 = BABYLON.Vector3.Zero(); + this._tmpVec3 = BABYLON.Vector3.Zero(); + this._tmpVec4 = BABYLON.Vector3.Zero(); + this._tmpVec5 = BABYLON.Vector3.Zero(); + this._tmpMat1 = BABYLON.Matrix.Identity(); + this._tmpMat2 = BABYLON.Matrix.Identity(); + this._tmpQuat1 = BABYLON.Quaternion.Identity(); + this._rightHandedSystem = false; + this._bendAxis = BABYLON.Vector3.Right(); + this._slerping = false; + this._bone2 = bone; + this._bone1 = bone.getParent(); + this.mesh = mesh; + if (bone.getAbsoluteTransform().determinant() > 0) { + this._rightHandedSystem = true; + this._bendAxis.x = 0; + this._bendAxis.y = 0; + this._bendAxis.z = 1; + } + if (this._bone1.length) { + var boneScale1 = this._bone1.getScale(); + var boneScale2 = this._bone2.getScale(); + this._bone1Length = this._bone1.length * boneScale1.y * this.mesh.scaling.y; + this._bone2Length = this._bone2.length * boneScale2.y * this.mesh.scaling.y; + } + else if (this._bone1.children[0]) { + mesh.computeWorldMatrix(true); + var pos1 = this._bone2.children[0].getAbsolutePosition(mesh); + var pos2 = this._bone2.getAbsolutePosition(mesh); + var pos3 = this._bone1.getAbsolutePosition(mesh); + this._bone1Length = BABYLON.Vector3.Distance(pos1, pos2); + this._bone2Length = BABYLON.Vector3.Distance(pos2, pos3); + } + this._bone1.getRotationMatrixToRef(BABYLON.Space.WORLD, mesh, this._bone1Mat); + this.maxAngle = Math.PI; + if (options) { + if (options.targetMesh) { + this.targetMesh = options.targetMesh; + this.targetMesh.computeWorldMatrix(true); + } + if (options.poleTargetMesh) { + this.poleTargetMesh = options.poleTargetMesh; + this.poleTargetMesh.computeWorldMatrix(true); + } + else if (options.poleTargetBone) { + this.poleTargetBone = options.poleTargetBone; + } + else if (this._bone1.getParent()) { + this.poleTargetBone = this._bone1.getParent(); + } + if (options.poleTargetLocalOffset) { + this.poleTargetLocalOffset.copyFrom(options.poleTargetLocalOffset); + } + if (options.poleAngle) { + this.poleAngle = options.poleAngle; + } + if (options.bendAxis) { + this._bendAxis.copyFrom(options.bendAxis); + } + if (options.maxAngle) { + this.maxAngle = options.maxAngle; + } + if (options.slerpAmount) { + this.slerpAmount = options.slerpAmount; + } + } + } + Object.defineProperty(BoneIKController.prototype, "maxAngle", { + get: function () { + return this._maxAngle; + }, + set: function (value) { + this._setMaxAngle(value); + }, + enumerable: true, + configurable: true + }); + BoneIKController.prototype._setMaxAngle = function (ang) { + if (ang < 0) { + ang = 0; + } + if (ang > Math.PI || ang == undefined) { + ang = Math.PI; + } + this._maxAngle = ang; + var a = this._bone1Length; + var b = this._bone2Length; + this._maxReach = Math.sqrt(a * a + b * b - 2 * a * b * Math.cos(ang)); + }; + BoneIKController.prototype.update = function () { + var bone1 = this._bone1; + var target = this.targetPosition; + var poleTarget = this.poleTargetPosition; + var mat1 = this._tmpMat1; + var mat2 = this._tmpMat2; + if (this.targetMesh) { + target.copyFrom(this.targetMesh.getAbsolutePosition()); + } + if (this.poleTargetBone) { + this.poleTargetBone.getAbsolutePositionFromLocalToRef(this.poleTargetLocalOffset, this.mesh, poleTarget); + } + else if (this.poleTargetMesh) { + BABYLON.Vector3.TransformCoordinatesToRef(this.poleTargetLocalOffset, this.poleTargetMesh.getWorldMatrix(), poleTarget); + } + var bonePos = this._tmpVec1; + var zaxis = this._tmpVec2; + var xaxis = this._tmpVec3; + var yaxis = this._tmpVec4; + var upAxis = this._tmpVec5; + bone1.getAbsolutePositionToRef(this.mesh, bonePos); + poleTarget.subtractToRef(bonePos, upAxis); + if (upAxis.x == 0 && upAxis.y == 0 && upAxis.z == 0) { + upAxis.y = 1; + } + else { + upAxis.normalize(); + } + target.subtractToRef(bonePos, yaxis); + yaxis.normalize(); + BABYLON.Vector3.CrossToRef(yaxis, upAxis, zaxis); + zaxis.normalize(); + BABYLON.Vector3.CrossToRef(yaxis, zaxis, xaxis); + xaxis.normalize(); + BABYLON.Matrix.FromXYZAxesToRef(xaxis, yaxis, zaxis, mat1); + var a = this._bone1Length; + var b = this._bone2Length; + var c = BABYLON.Vector3.Distance(bonePos, target); + if (this._maxReach > 0) { + c = Math.min(this._maxReach, c); + } + var acosa = (b * b + c * c - a * a) / (2 * b * c); + var acosb = (c * c + a * a - b * b) / (2 * c * a); + if (acosa > 1) { + acosa = 1; + } + if (acosb > 1) { + acosb = 1; + } + if (acosa < -1) { + acosa = -1; + } + if (acosb < -1) { + acosb = -1; + } + var angA = Math.acos(acosa); + var angB = Math.acos(acosb); + var angC = -angA - angB; + if (this._rightHandedSystem) { + BABYLON.Matrix.RotationYawPitchRollToRef(0, 0, Math.PI * .5, mat2); + mat2.multiplyToRef(mat1, mat1); + BABYLON.Matrix.RotationAxisToRef(this._bendAxis, angB, mat2); + mat2.multiplyToRef(mat1, mat1); + } + else { + this._tmpVec1.copyFrom(this._bendAxis); + this._tmpVec1.x *= -1; + BABYLON.Matrix.RotationAxisToRef(this._tmpVec1, -angB, mat2); + mat2.multiplyToRef(mat1, mat1); + } + if (this.poleAngle) { + BABYLON.Matrix.RotationAxisToRef(yaxis, this.poleAngle, mat2); + mat1.multiplyToRef(mat2, mat1); + } + if (this.slerpAmount < 1) { + if (!this._slerping) { + BABYLON.Quaternion.FromRotationMatrixToRef(this._bone1Mat, this._bone1Quat); + } + BABYLON.Quaternion.FromRotationMatrixToRef(mat1, this._tmpQuat1); + BABYLON.Quaternion.SlerpToRef(this._bone1Quat, this._tmpQuat1, this.slerpAmount, this._bone1Quat); + angC = this._bone2Ang * (1.0 - this.slerpAmount) + angC * this.slerpAmount; + this._bone1.setRotationQuaternion(this._bone1Quat, BABYLON.Space.WORLD, this.mesh); + this._slerping = true; + } + else { + this._bone1.setRotationMatrix(mat1, BABYLON.Space.WORLD, this.mesh); + this._bone1Mat.copyFrom(mat1); + this._slerping = false; + } + this._bone2.setAxisAngle(this._bendAxis, angC, BABYLON.Space.LOCAL); + this._bone2Ang = angC; + }; + return BoneIKController; + }()); + BABYLON.BoneIKController = BoneIKController; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.boneIKController.js.map + +var BABYLON; +(function (BABYLON) { + var BoneLookController = (function () { + function BoneLookController(mesh, bone, target, options) { + this.upAxis = BABYLON.Vector3.Up(); + this.adjustYaw = 0; + this.adjustPitch = 0; + this.adjustRoll = 0; + this._tmpVec1 = BABYLON.Vector3.Zero(); + this._tmpVec2 = BABYLON.Vector3.Zero(); + this._tmpVec3 = BABYLON.Vector3.Zero(); + this._tmpVec4 = BABYLON.Vector3.Zero(); + this._tmpMat1 = BABYLON.Matrix.Identity(); + this._tmpMat2 = BABYLON.Matrix.Identity(); + this.mesh = mesh; + this.bone = bone; + this.target = target; + if (options) { + if (options.adjustYaw) { + this.adjustYaw = options.adjustYaw; + } + if (options.adjustPitch) { + this.adjustPitch = options.adjustPitch; + } + if (options.adjustRoll) { + this.adjustRoll = options.adjustRoll; + } + } + } + BoneLookController.prototype.update = function () { + var bone = this.bone; + var target = this.target; + var bonePos = this._tmpVec1; + var zaxis = this._tmpVec2; + var xaxis = this._tmpVec3; + var yaxis = this._tmpVec4; + var mat1 = this._tmpMat1; + var mat2 = this._tmpMat2; + bone.getAbsolutePositionToRef(this.mesh, bonePos); + target.subtractToRef(bonePos, zaxis); + zaxis.normalize(); + BABYLON.Vector3.CrossToRef(this.upAxis, zaxis, xaxis); + xaxis.normalize(); + BABYLON.Vector3.CrossToRef(zaxis, xaxis, yaxis); + yaxis.normalize(); + BABYLON.Matrix.FromXYZAxesToRef(xaxis, yaxis, zaxis, mat1); + if (this.adjustYaw || this.adjustPitch || this.adjustRoll) { + BABYLON.Matrix.RotationYawPitchRollToRef(this.adjustYaw, this.adjustPitch, this.adjustRoll, mat2); + mat2.multiplyToRef(mat1, mat1); + } + this.bone.setRotationMatrix(mat1, BABYLON.Space.WORLD, this.mesh); + }; + return BoneLookController; + }()); + BABYLON.BoneLookController = BoneLookController; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.boneLookController.js.map + +var BABYLON; +(function (BABYLON) { + var Skeleton = (function () { + function Skeleton(name, id, scene) { + this.name = name; + this.id = id; + this.bones = new Array(); + this.needInitialSkinMatrix = false; + this._isDirty = true; + this._meshesWithPoseMatrix = new Array(); + this._identity = BABYLON.Matrix.Identity(); + this._ranges = {}; + this._lastAbsoluteTransformsUpdateId = -1; + this.bones = []; + this._scene = scene; + scene.skeletons.push(this); + //make sure it will recalculate the matrix next time prepare is called. + this._isDirty = true; + } + // Members + Skeleton.prototype.getTransformMatrices = function (mesh) { + if (this.needInitialSkinMatrix && mesh._bonesTransformMatrices) { + return mesh._bonesTransformMatrices; + } + return this._transformMatrices; + }; + Skeleton.prototype.getScene = function () { + return this._scene; + }; + // Methods + /** + * @param {boolean} fullDetails - support for multiple levels of logging within scene loading + */ + Skeleton.prototype.toString = function (fullDetails) { + var ret = "Name: " + this.name + ", nBones: " + this.bones.length; + ret += ", nAnimationRanges: " + (this._ranges ? Object.keys(this._ranges).length : "none"); + if (fullDetails) { + ret += ", Ranges: {"; + var first = true; + for (var name_1 in this._ranges) { + if (first) { + ret += ", "; + first = false; + } + ret += name_1; + } + ret += "}"; + } + return ret; + }; + /** + * Get bone's index searching by name + * @param {string} name is bone's name to search for + * @return {number} Indice of the bone. Returns -1 if not found + */ + Skeleton.prototype.getBoneIndexByName = function (name) { + for (var boneIndex = 0, cache = this.bones.length; boneIndex < cache; boneIndex++) { + if (this.bones[boneIndex].name === name) { + return boneIndex; + } + } + return -1; + }; + Skeleton.prototype.createAnimationRange = function (name, from, to) { + // check name not already in use + if (!this._ranges[name]) { + this._ranges[name] = new BABYLON.AnimationRange(name, from, to); + for (var i = 0, nBones = this.bones.length; i < nBones; i++) { + if (this.bones[i].animations[0]) { + this.bones[i].animations[0].createRange(name, from, to); + } + } + } + }; + Skeleton.prototype.deleteAnimationRange = function (name, deleteFrames) { + if (deleteFrames === void 0) { deleteFrames = true; } + for (var i = 0, nBones = this.bones.length; i < nBones; i++) { + if (this.bones[i].animations[0]) { + this.bones[i].animations[0].deleteRange(name, deleteFrames); + } + } + this._ranges[name] = undefined; // said much faster than 'delete this._range[name]' + }; + Skeleton.prototype.getAnimationRange = function (name) { + return this._ranges[name]; + }; + /** + * Returns as an Array, all AnimationRanges defined on this skeleton + */ + Skeleton.prototype.getAnimationRanges = function () { + var animationRanges = []; + var name; + var i = 0; + for (name in this._ranges) { + animationRanges[i] = this._ranges[name]; + i++; + } + return animationRanges; + }; + /** + * note: This is not for a complete retargeting, only between very similar skeleton's with only possible bone length differences + */ + Skeleton.prototype.copyAnimationRange = function (source, name, rescaleAsRequired) { + if (rescaleAsRequired === void 0) { rescaleAsRequired = false; } + if (this._ranges[name] || !source.getAnimationRange(name)) { + return false; + } + var ret = true; + var frameOffset = this._getHighestAnimationFrame() + 1; + // make a dictionary of source skeleton's bones, so exact same order or doublely nested loop is not required + var boneDict = {}; + var sourceBones = source.bones; + var nBones; + var i; + for (i = 0, nBones = sourceBones.length; i < nBones; i++) { + boneDict[sourceBones[i].name] = sourceBones[i]; + } + if (this.bones.length !== sourceBones.length) { + BABYLON.Tools.Warn("copyAnimationRange: this rig has " + this.bones.length + " bones, while source as " + sourceBones.length); + ret = false; + } + var skelDimensionsRatio = (rescaleAsRequired && this.dimensionsAtRest && source.dimensionsAtRest) ? this.dimensionsAtRest.divide(source.dimensionsAtRest) : null; + for (i = 0, nBones = this.bones.length; i < nBones; i++) { + var boneName = this.bones[i].name; + var sourceBone = boneDict[boneName]; + if (sourceBone) { + ret = ret && this.bones[i].copyAnimationRange(sourceBone, name, frameOffset, rescaleAsRequired, skelDimensionsRatio); + } + else { + BABYLON.Tools.Warn("copyAnimationRange: not same rig, missing source bone " + boneName); + ret = false; + } + } + // do not call createAnimationRange(), since it also is done to bones, which was already done + var range = source.getAnimationRange(name); + this._ranges[name] = new BABYLON.AnimationRange(name, range.from + frameOffset, range.to + frameOffset); + return ret; + }; + Skeleton.prototype.returnToRest = function () { + for (var index = 0; index < this.bones.length; index++) { + this.bones[index].returnToRest(); + } + }; + Skeleton.prototype._getHighestAnimationFrame = function () { + var ret = 0; + for (var i = 0, nBones = this.bones.length; i < nBones; i++) { + if (this.bones[i].animations[0]) { + var highest = this.bones[i].animations[0].getHighestFrame(); + if (ret < highest) { + ret = highest; + } + } + } + return ret; + }; + Skeleton.prototype.beginAnimation = function (name, loop, speedRatio, onAnimationEnd) { + var range = this.getAnimationRange(name); + if (!range) { + return null; + } + return this._scene.beginAnimation(this, range.from, range.to, loop, speedRatio, onAnimationEnd); + }; + Skeleton.prototype._markAsDirty = function () { + this._isDirty = true; + }; + Skeleton.prototype._registerMeshWithPoseMatrix = function (mesh) { + this._meshesWithPoseMatrix.push(mesh); + }; + Skeleton.prototype._unregisterMeshWithPoseMatrix = function (mesh) { + var index = this._meshesWithPoseMatrix.indexOf(mesh); + if (index > -1) { + this._meshesWithPoseMatrix.splice(index, 1); + } + }; + Skeleton.prototype._computeTransformMatrices = function (targetMatrix, initialSkinMatrix) { + for (var index = 0; index < this.bones.length; index++) { + var bone = this.bones[index]; + var parentBone = bone.getParent(); + if (parentBone) { + bone.getLocalMatrix().multiplyToRef(parentBone.getWorldMatrix(), bone.getWorldMatrix()); + } + else { + if (initialSkinMatrix) { + bone.getLocalMatrix().multiplyToRef(initialSkinMatrix, bone.getWorldMatrix()); + } + else { + bone.getWorldMatrix().copyFrom(bone.getLocalMatrix()); + } + } + bone.getInvertedAbsoluteTransform().multiplyToArray(bone.getWorldMatrix(), targetMatrix, index * 16); + } + this._identity.copyToArray(targetMatrix, this.bones.length * 16); + }; + Skeleton.prototype.prepare = function () { + if (!this._isDirty) { + return; + } + if (this.needInitialSkinMatrix) { + for (var index = 0; index < this._meshesWithPoseMatrix.length; index++) { + var mesh = this._meshesWithPoseMatrix[index]; + if (!mesh._bonesTransformMatrices || mesh._bonesTransformMatrices.length !== 16 * (this.bones.length + 1)) { + mesh._bonesTransformMatrices = new Float32Array(16 * (this.bones.length + 1)); + } + var poseMatrix = mesh.getPoseMatrix(); + // Prepare bones + for (var boneIndex = 0; boneIndex < this.bones.length; boneIndex++) { + var bone = this.bones[boneIndex]; + if (!bone.getParent()) { + var matrix = bone.getBaseMatrix(); + matrix.multiplyToRef(poseMatrix, BABYLON.Tmp.Matrix[0]); + bone._updateDifferenceMatrix(BABYLON.Tmp.Matrix[0]); + } + } + this._computeTransformMatrices(mesh._bonesTransformMatrices, poseMatrix); + } + } + else { + if (!this._transformMatrices || this._transformMatrices.length !== 16 * (this.bones.length + 1)) { + this._transformMatrices = new Float32Array(16 * (this.bones.length + 1)); + } + this._computeTransformMatrices(this._transformMatrices, null); + } + this._isDirty = false; + this._scene._activeBones.addCount(this.bones.length, false); + }; + Skeleton.prototype.getAnimatables = function () { + if (!this._animatables || this._animatables.length !== this.bones.length) { + this._animatables = []; + for (var index = 0; index < this.bones.length; index++) { + this._animatables.push(this.bones[index]); + } + } + return this._animatables; + }; + Skeleton.prototype.clone = function (name, id) { + var result = new Skeleton(name, id || name, this._scene); + result.needInitialSkinMatrix = this.needInitialSkinMatrix; + for (var index = 0; index < this.bones.length; index++) { + var source = this.bones[index]; + var parentBone = null; + if (source.getParent()) { + var parentIndex = this.bones.indexOf(source.getParent()); + parentBone = result.bones[parentIndex]; + } + var bone = new BABYLON.Bone(source.name, result, parentBone, source.getBaseMatrix().clone(), source.getRestPose().clone()); + BABYLON.Tools.DeepCopy(source.animations, bone.animations); + } + if (this._ranges) { + result._ranges = {}; + for (var rangeName in this._ranges) { + result._ranges[rangeName] = this._ranges[rangeName].clone(); + } + } + this._isDirty = true; + return result; + }; + Skeleton.prototype.enableBlending = function (blendingSpeed) { + if (blendingSpeed === void 0) { blendingSpeed = 0.01; } + this.bones.forEach(function (bone) { + bone.animations.forEach(function (animation) { + animation.enableBlending = true; + animation.blendingSpeed = blendingSpeed; + }); + }); + }; + Skeleton.prototype.dispose = function () { + this._meshesWithPoseMatrix = []; + // Animations + this.getScene().stopAnimation(this); + // Remove from scene + this.getScene().removeSkeleton(this); + }; + Skeleton.prototype.serialize = function () { + var serializationObject = {}; + serializationObject.name = this.name; + serializationObject.id = this.id; + serializationObject.dimensionsAtRest = this.dimensionsAtRest; + serializationObject.bones = []; + serializationObject.needInitialSkinMatrix = this.needInitialSkinMatrix; + for (var index = 0; index < this.bones.length; index++) { + var bone = this.bones[index]; + var serializedBone = { + parentBoneIndex: bone.getParent() ? this.bones.indexOf(bone.getParent()) : -1, + name: bone.name, + matrix: bone.getLocalMatrix().toArray(), + rest: bone.getRestPose().toArray() + }; + serializationObject.bones.push(serializedBone); + if (bone.length) { + serializedBone.length = bone.length; + } + if (bone.animations && bone.animations.length > 0) { + serializedBone.animation = bone.animations[0].serialize(); + } + serializationObject.ranges = []; + for (var name in this._ranges) { + var range = {}; + range.name = name; + range.from = this._ranges[name].from; + range.to = this._ranges[name].to; + serializationObject.ranges.push(range); + } + } + return serializationObject; + }; + Skeleton.Parse = function (parsedSkeleton, scene) { + var skeleton = new Skeleton(parsedSkeleton.name, parsedSkeleton.id, scene); + if (parsedSkeleton.dimensionsAtRest) { + skeleton.dimensionsAtRest = BABYLON.Vector3.FromArray(parsedSkeleton.dimensionsAtRest); + } + skeleton.needInitialSkinMatrix = parsedSkeleton.needInitialSkinMatrix; + var index; + for (index = 0; index < parsedSkeleton.bones.length; index++) { + var parsedBone = parsedSkeleton.bones[index]; + var parentBone = null; + if (parsedBone.parentBoneIndex > -1) { + parentBone = skeleton.bones[parsedBone.parentBoneIndex]; + } + var rest = parsedBone.rest ? BABYLON.Matrix.FromArray(parsedBone.rest) : null; + var bone = new BABYLON.Bone(parsedBone.name, skeleton, parentBone, BABYLON.Matrix.FromArray(parsedBone.matrix), rest); + if (parsedBone.length) { + bone.length = parsedBone.length; + } + if (parsedBone.animation) { + bone.animations.push(BABYLON.Animation.Parse(parsedBone.animation)); + } + } + // placed after bones, so createAnimationRange can cascade down + if (parsedSkeleton.ranges) { + for (index = 0; index < parsedSkeleton.ranges.length; index++) { + var data = parsedSkeleton.ranges[index]; + skeleton.createAnimationRange(data.name, data.from, data.to); + } + } + return skeleton; + }; + Skeleton.prototype.computeAbsoluteTransforms = function (forceUpdate) { + if (forceUpdate === void 0) { forceUpdate = false; } + var renderId = this._scene.getRenderId(); + if (this._lastAbsoluteTransformsUpdateId != renderId || forceUpdate) { + this.bones[0].computeAbsoluteTransforms(); + this._lastAbsoluteTransformsUpdateId = renderId; + } + }; + Skeleton.prototype.getPoseMatrix = function () { + var poseMatrix; + if (this._meshesWithPoseMatrix.length > 0) { + poseMatrix = this._meshesWithPoseMatrix[0].getPoseMatrix(); + } + return poseMatrix; + }; + return Skeleton; + }()); + BABYLON.Skeleton = Skeleton; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.skeleton.js.map + +var BABYLON; +(function (BABYLON) { + var PostProcess = (function () { + function PostProcess(name, fragmentUrl, parameters, samplers, options, camera, samplingMode, engine, reusable, defines, textureType) { + if (samplingMode === void 0) { samplingMode = BABYLON.Texture.NEAREST_SAMPLINGMODE; } + if (textureType === void 0) { textureType = BABYLON.Engine.TEXTURETYPE_UNSIGNED_INT; } + this.name = name; + this.width = -1; + this.height = -1; + /* + Enable Pixel Perfect mode where texture is not scaled to be power of 2. + Can only be used on a single postprocess or on the last one of a chain. + */ + this.enablePixelPerfectMode = false; + this._reusable = false; + this._textures = new BABYLON.SmartArray(2); + this._currentRenderTextureInd = 0; + this._scaleRatio = new BABYLON.Vector2(1, 1); + // Events + /** + * An event triggered when the postprocess is activated. + * @type {BABYLON.Observable} + */ + this.onActivateObservable = new BABYLON.Observable(); + /** + * An event triggered when the postprocess changes its size. + * @type {BABYLON.Observable} + */ + this.onSizeChangedObservable = new BABYLON.Observable(); + /** + * An event triggered when the postprocess applies its effect. + * @type {BABYLON.Observable} + */ + this.onApplyObservable = new BABYLON.Observable(); + /** + * An event triggered before rendering the postprocess + * @type {BABYLON.Observable} + */ + this.onBeforeRenderObservable = new BABYLON.Observable(); + /** + * An event triggered after rendering the postprocess + * @type {BABYLON.Observable} + */ + this.onAfterRenderObservable = new BABYLON.Observable(); + if (camera != null) { + this._camera = camera; + this._scene = camera.getScene(); + camera.attachPostProcess(this); + this._engine = this._scene.getEngine(); + } + else { + this._engine = engine; + } + this._options = options; + this.renderTargetSamplingMode = samplingMode ? samplingMode : BABYLON.Texture.NEAREST_SAMPLINGMODE; + this._reusable = reusable || false; + this._textureType = textureType; + this._samplers = samplers || []; + this._samplers.push("textureSampler"); + this._fragmentUrl = fragmentUrl; + this._parameters = parameters || []; + this._parameters.push("scale"); + this.updateEffect(defines); + } + Object.defineProperty(PostProcess.prototype, "onActivate", { + set: function (callback) { + if (this._onActivateObserver) { + this.onActivateObservable.remove(this._onActivateObserver); + } + this._onActivateObserver = this.onActivateObservable.add(callback); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(PostProcess.prototype, "onSizeChanged", { + set: function (callback) { + if (this._onSizeChangedObserver) { + this.onSizeChangedObservable.remove(this._onSizeChangedObserver); + } + this._onSizeChangedObserver = this.onSizeChangedObservable.add(callback); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(PostProcess.prototype, "onApply", { + set: function (callback) { + if (this._onApplyObserver) { + this.onApplyObservable.remove(this._onApplyObserver); + } + this._onApplyObserver = this.onApplyObservable.add(callback); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(PostProcess.prototype, "onBeforeRender", { + set: function (callback) { + if (this._onBeforeRenderObserver) { + this.onBeforeRenderObservable.remove(this._onBeforeRenderObserver); + } + this._onBeforeRenderObserver = this.onBeforeRenderObservable.add(callback); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(PostProcess.prototype, "onAfterRender", { + set: function (callback) { + if (this._onAfterRenderObserver) { + this.onAfterRenderObservable.remove(this._onAfterRenderObserver); + } + this._onAfterRenderObserver = this.onAfterRenderObservable.add(callback); + }, + enumerable: true, + configurable: true + }); + PostProcess.prototype.updateEffect = function (defines) { + this._effect = this._engine.createEffect({ vertex: "postprocess", fragment: this._fragmentUrl }, ["position"], this._parameters, this._samplers, defines !== undefined ? defines : ""); + }; + PostProcess.prototype.isReusable = function () { + return this._reusable; + }; + /** invalidate frameBuffer to hint the postprocess to create a depth buffer */ + PostProcess.prototype.markTextureDirty = function () { + this.width = -1; + }; + PostProcess.prototype.activate = function (camera, sourceTexture) { + camera = camera || this._camera; + var scene = camera.getScene(); + var maxSize = camera.getEngine().getCaps().maxTextureSize; + var requiredWidth = ((sourceTexture ? sourceTexture._width : this._engine.getRenderingCanvas().width) * this._options) | 0; + var requiredHeight = ((sourceTexture ? sourceTexture._height : this._engine.getRenderingCanvas().height) * this._options) | 0; + var desiredWidth = this._options.width || requiredWidth; + var desiredHeight = this._options.height || requiredHeight; + if (this.renderTargetSamplingMode !== BABYLON.Texture.NEAREST_SAMPLINGMODE) { + if (!this._options.width) { + desiredWidth = BABYLON.Tools.GetExponentOfTwo(desiredWidth, maxSize); + } + if (!this._options.height) { + desiredHeight = BABYLON.Tools.GetExponentOfTwo(desiredHeight, maxSize); + } + } + if (this.width !== desiredWidth || this.height !== desiredHeight) { + if (this._textures.length > 0) { + for (var i = 0; i < this._textures.length; i++) { + this._engine._releaseTexture(this._textures.data[i]); + } + this._textures.reset(); + } + this.width = desiredWidth; + this.height = desiredHeight; + var textureSize = { width: this.width, height: this.height }; + var textureOptions = { + generateMipMaps: false, + generateDepthBuffer: camera._postProcesses.indexOf(this) === 0, + generateStencilBuffer: camera._postProcesses.indexOf(this) === 0 && this._engine.isStencilEnable, + samplingMode: this.renderTargetSamplingMode, + type: this._textureType + }; + this._textures.push(this._engine.createRenderTargetTexture(textureSize, textureOptions)); + if (this._reusable) { + this._textures.push(this._engine.createRenderTargetTexture(textureSize, textureOptions)); + } + this.onSizeChangedObservable.notifyObservers(this); + } + if (this.enablePixelPerfectMode) { + this._scaleRatio.copyFromFloats(requiredWidth / desiredWidth, requiredHeight / desiredHeight); + this._engine.bindFramebuffer(this._textures.data[this._currentRenderTextureInd], 0, requiredWidth, requiredHeight); + } + else { + this._scaleRatio.copyFromFloats(1, 1); + this._engine.bindFramebuffer(this._textures.data[this._currentRenderTextureInd]); + } + this.onActivateObservable.notifyObservers(camera); + // Clear + if (this.clearColor) { + this._engine.clear(this.clearColor, true, true, true); + } + else { + this._engine.clear(scene.clearColor, scene.autoClear || scene.forceWireframe, true, true); + } + if (this._reusable) { + this._currentRenderTextureInd = (this._currentRenderTextureInd + 1) % 2; + } + }; + Object.defineProperty(PostProcess.prototype, "isSupported", { + get: function () { + return this._effect.isSupported; + }, + enumerable: true, + configurable: true + }); + PostProcess.prototype.apply = function () { + // Check + if (!this._effect.isReady()) + return null; + // States + this._engine.enableEffect(this._effect); + this._engine.setState(false); + this._engine.setAlphaMode(BABYLON.Engine.ALPHA_DISABLE); + this._engine.setDepthBuffer(false); + this._engine.setDepthWrite(false); + // Texture + this._effect._bindTexture("textureSampler", this._textures.data[this._currentRenderTextureInd]); + // Parameters + this._effect.setVector2("scale", this._scaleRatio); + this.onApplyObservable.notifyObservers(this._effect); + return this._effect; + }; + PostProcess.prototype.dispose = function (camera) { + camera = camera || this._camera; + if (this._textures.length > 0) { + for (var i = 0; i < this._textures.length; i++) { + this._engine._releaseTexture(this._textures.data[i]); + } + this._textures.reset(); + } + if (!camera) { + return; + } + camera.detachPostProcess(this); + var index = camera._postProcesses.indexOf(this); + if (index === 0 && camera._postProcesses.length > 0) { + this._camera._postProcesses[0].markTextureDirty(); + } + this.onActivateObservable.clear(); + this.onAfterRenderObservable.clear(); + this.onApplyObservable.clear(); + this.onBeforeRenderObservable.clear(); + this.onSizeChangedObservable.clear(); + }; + return PostProcess; + }()); + BABYLON.PostProcess = PostProcess; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.postProcess.js.map + +var BABYLON; +(function (BABYLON) { + var PostProcessManager = (function () { + function PostProcessManager(scene) { + this._vertexBuffers = {}; + this._scene = scene; + } + PostProcessManager.prototype._prepareBuffers = function () { + if (this._vertexBuffers[BABYLON.VertexBuffer.PositionKind]) { + return; + } + // VBO + var vertices = []; + vertices.push(1, 1); + vertices.push(-1, 1); + vertices.push(-1, -1); + vertices.push(1, -1); + this._vertexBuffers[BABYLON.VertexBuffer.PositionKind] = new BABYLON.VertexBuffer(this._scene.getEngine(), vertices, BABYLON.VertexBuffer.PositionKind, false, false, 2); + // Indices + var indices = []; + indices.push(0); + indices.push(1); + indices.push(2); + indices.push(0); + indices.push(2); + indices.push(3); + this._indexBuffer = this._scene.getEngine().createIndexBuffer(indices); + }; + // Methods + PostProcessManager.prototype._prepareFrame = function (sourceTexture) { + var postProcesses = this._scene.activeCamera._postProcesses; + if (postProcesses.length === 0 || !this._scene.postProcessesEnabled) { + return false; + } + postProcesses[0].activate(this._scene.activeCamera, sourceTexture); + return true; + }; + PostProcessManager.prototype.directRender = function (postProcesses, targetTexture) { + var engine = this._scene.getEngine(); + for (var index = 0; index < postProcesses.length; index++) { + if (index < postProcesses.length - 1) { + postProcesses[index + 1].activate(this._scene.activeCamera, targetTexture); + } + else { + if (targetTexture) { + engine.bindFramebuffer(targetTexture); + } + else { + engine.restoreDefaultFramebuffer(); + } + } + var pp = postProcesses[index]; + var effect = pp.apply(); + if (effect) { + pp.onBeforeRenderObservable.notifyObservers(effect); + // VBOs + this._prepareBuffers(); + engine.bindBuffers(this._vertexBuffers, this._indexBuffer, effect); + // Draw order + engine.draw(true, 0, 6); + pp.onAfterRenderObservable.notifyObservers(effect); + } + } + // Restore depth buffer + engine.setDepthBuffer(true); + engine.setDepthWrite(true); + }; + PostProcessManager.prototype._finalizeFrame = function (doNotPresent, targetTexture, faceIndex, postProcesses) { + postProcesses = postProcesses || this._scene.activeCamera._postProcesses; + if (postProcesses.length === 0 || !this._scene.postProcessesEnabled) { + return; + } + var engine = this._scene.getEngine(); + for (var index = 0, len = postProcesses.length; index < len; index++) { + if (index < len - 1) { + postProcesses[index + 1].activate(this._scene.activeCamera, targetTexture); + } + else { + if (targetTexture) { + engine.bindFramebuffer(targetTexture, faceIndex); + } + else { + engine.restoreDefaultFramebuffer(); + } + } + if (doNotPresent) { + break; + } + var pp = postProcesses[index]; + var effect = pp.apply(); + if (effect) { + pp.onBeforeRenderObservable.notifyObservers(effect); + // VBOs + this._prepareBuffers(); + engine.bindBuffers(this._vertexBuffers, this._indexBuffer, effect); + // Draw order + engine.draw(true, 0, 6); + pp.onAfterRenderObservable.notifyObservers(effect); + } + } + // Restore depth buffer + engine.setDepthBuffer(true); + engine.setDepthWrite(true); + }; + PostProcessManager.prototype.dispose = function () { + var buffer = this._vertexBuffers[BABYLON.VertexBuffer.PositionKind]; + if (buffer) { + buffer.dispose(); + this._vertexBuffers[BABYLON.VertexBuffer.PositionKind] = null; + } + if (this._indexBuffer) { + this._scene.getEngine()._releaseBuffer(this._indexBuffer); + this._indexBuffer = null; + } + }; + return PostProcessManager; + }()); + BABYLON.PostProcessManager = PostProcessManager; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.postProcessManager.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var PassPostProcess = (function (_super) { + __extends(PassPostProcess, _super); + function PassPostProcess(name, options, camera, samplingMode, engine, reusable) { + _super.call(this, name, "pass", null, null, options, camera, samplingMode, engine, reusable); + } + return PassPostProcess; + }(BABYLON.PostProcess)); + BABYLON.PassPostProcess = PassPostProcess; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.passPostProcess.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + /** + * This is a holder class for the physics joint created by the physics plugin. + * It holds a set of functions to control the underlying joint. + */ + var PhysicsJoint = (function () { + function PhysicsJoint(type, jointData) { + this.type = type; + this.jointData = jointData; + jointData.nativeParams = jointData.nativeParams || {}; + } + Object.defineProperty(PhysicsJoint.prototype, "physicsJoint", { + get: function () { + return this._physicsJoint; + }, + set: function (newJoint) { + if (this._physicsJoint) { + } + this._physicsJoint = newJoint; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(PhysicsJoint.prototype, "physicsPlugin", { + set: function (physicsPlugin) { + this._physicsPlugin = physicsPlugin; + }, + enumerable: true, + configurable: true + }); + /** + * Execute a function that is physics-plugin specific. + * @param {Function} func the function that will be executed. + * It accepts two parameters: the physics world and the physics joint. + */ + PhysicsJoint.prototype.executeNativeFunction = function (func) { + func(this._physicsPlugin.world, this._physicsJoint); + }; + //TODO check if the native joints are the same + //Joint Types + PhysicsJoint.DistanceJoint = 0; + PhysicsJoint.HingeJoint = 1; + PhysicsJoint.BallAndSocketJoint = 2; + PhysicsJoint.WheelJoint = 3; + PhysicsJoint.SliderJoint = 4; + //OIMO + PhysicsJoint.PrismaticJoint = 5; + //ENERGY FTW! (compare with this - http://ode-wiki.org/wiki/index.php?title=Manual:_Joint_Types_and_Functions) + PhysicsJoint.UniversalJoint = 6; + PhysicsJoint.Hinge2Joint = PhysicsJoint.WheelJoint; + //Cannon + //Similar to a Ball-Joint. Different in params + PhysicsJoint.PointToPointJoint = 8; + //Cannon only at the moment + PhysicsJoint.SpringJoint = 9; + PhysicsJoint.LockJoint = 10; + return PhysicsJoint; + }()); + BABYLON.PhysicsJoint = PhysicsJoint; + /** + * A class representing a physics distance joint. + */ + var DistanceJoint = (function (_super) { + __extends(DistanceJoint, _super); + function DistanceJoint(jointData) { + _super.call(this, PhysicsJoint.DistanceJoint, jointData); + } + /** + * Update the predefined distance. + */ + DistanceJoint.prototype.updateDistance = function (maxDistance, minDistance) { + this._physicsPlugin.updateDistanceJoint(this, maxDistance, minDistance); + }; + return DistanceJoint; + }(PhysicsJoint)); + BABYLON.DistanceJoint = DistanceJoint; + var MotorEnabledJoint = (function (_super) { + __extends(MotorEnabledJoint, _super); + function MotorEnabledJoint(type, jointData) { + _super.call(this, type, jointData); + } + /** + * Set the motor values. + * Attention, this function is plugin specific. Engines won't react 100% the same. + * @param {number} force the force to apply + * @param {number} maxForce max force for this motor. + */ + MotorEnabledJoint.prototype.setMotor = function (force, maxForce) { + this._physicsPlugin.setMotor(this, force, maxForce); + }; + /** + * Set the motor's limits. + * Attention, this function is plugin specific. Engines won't react 100% the same. + */ + MotorEnabledJoint.prototype.setLimit = function (upperLimit, lowerLimit) { + this._physicsPlugin.setLimit(this, upperLimit, lowerLimit); + }; + return MotorEnabledJoint; + }(PhysicsJoint)); + BABYLON.MotorEnabledJoint = MotorEnabledJoint; + /** + * This class represents a single hinge physics joint + */ + var HingeJoint = (function (_super) { + __extends(HingeJoint, _super); + function HingeJoint(jointData) { + _super.call(this, PhysicsJoint.HingeJoint, jointData); + } + /** + * Set the motor values. + * Attention, this function is plugin specific. Engines won't react 100% the same. + * @param {number} force the force to apply + * @param {number} maxForce max force for this motor. + */ + HingeJoint.prototype.setMotor = function (force, maxForce) { + this._physicsPlugin.setMotor(this, force, maxForce); + }; + /** + * Set the motor's limits. + * Attention, this function is plugin specific. Engines won't react 100% the same. + */ + HingeJoint.prototype.setLimit = function (upperLimit, lowerLimit) { + this._physicsPlugin.setLimit(this, upperLimit, lowerLimit); + }; + return HingeJoint; + }(MotorEnabledJoint)); + BABYLON.HingeJoint = HingeJoint; + /** + * This class represents a dual hinge physics joint (same as wheel joint) + */ + var Hinge2Joint = (function (_super) { + __extends(Hinge2Joint, _super); + function Hinge2Joint(jointData) { + _super.call(this, PhysicsJoint.Hinge2Joint, jointData); + } + /** + * Set the motor values. + * Attention, this function is plugin specific. Engines won't react 100% the same. + * @param {number} force the force to apply + * @param {number} maxForce max force for this motor. + * @param {motorIndex} the motor's index, 0 or 1. + */ + Hinge2Joint.prototype.setMotor = function (force, maxForce, motorIndex) { + if (motorIndex === void 0) { motorIndex = 0; } + this._physicsPlugin.setMotor(this, force, maxForce, motorIndex); + }; + /** + * Set the motor limits. + * Attention, this function is plugin specific. Engines won't react 100% the same. + * @param {number} upperLimit the upper limit + * @param {number} lowerLimit lower limit + * @param {motorIndex} the motor's index, 0 or 1. + */ + Hinge2Joint.prototype.setLimit = function (upperLimit, lowerLimit, motorIndex) { + if (motorIndex === void 0) { motorIndex = 0; } + this._physicsPlugin.setLimit(this, upperLimit, lowerLimit, motorIndex); + }; + return Hinge2Joint; + }(MotorEnabledJoint)); + BABYLON.Hinge2Joint = Hinge2Joint; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.physicsJoint.js.map + +var BABYLON; +(function (BABYLON) { + var PhysicsImpostor = (function () { + function PhysicsImpostor(object, type, _options, _scene) { + var _this = this; + if (_options === void 0) { _options = { mass: 0 }; } + this.object = object; + this.type = type; + this._options = _options; + this._scene = _scene; + this._bodyUpdateRequired = false; + this._onBeforePhysicsStepCallbacks = new Array(); + this._onAfterPhysicsStepCallbacks = new Array(); + this._onPhysicsCollideCallbacks = []; + this._deltaPosition = BABYLON.Vector3.Zero(); + this._tmpPositionWithDelta = BABYLON.Vector3.Zero(); + this._tmpRotationWithDelta = new BABYLON.Quaternion(); + /** + * this function is executed by the physics engine. + */ + this.beforeStep = function () { + _this.object.position.subtractToRef(_this._deltaPosition, _this._tmpPositionWithDelta); + //conjugate deltaRotation + if (_this._deltaRotationConjugated) { + _this.object.rotationQuaternion.multiplyToRef(_this._deltaRotationConjugated, _this._tmpRotationWithDelta); + } + else { + _this._tmpRotationWithDelta.copyFrom(_this.object.rotationQuaternion); + } + _this._physicsEngine.getPhysicsPlugin().setPhysicsBodyTransformation(_this, _this._tmpPositionWithDelta, _this._tmpRotationWithDelta); + _this._onBeforePhysicsStepCallbacks.forEach(function (func) { + func(_this); + }); + }; + /** + * this function is executed by the physics engine. + */ + this.afterStep = function () { + _this._onAfterPhysicsStepCallbacks.forEach(function (func) { + func(_this); + }); + _this._physicsEngine.getPhysicsPlugin().setTransformationFromPhysicsBody(_this); + _this.object.position.addInPlace(_this._deltaPosition); + if (_this._deltaRotation) { + _this.object.rotationQuaternion.multiplyInPlace(_this._deltaRotation); + } + }; + //event and body object due to cannon's event-based architecture. + this.onCollide = function (e) { + if (!_this._onPhysicsCollideCallbacks.length) + return; + var otherImpostor = _this._physicsEngine.getImpostorWithPhysicsBody(e.body); + if (otherImpostor) { + _this._onPhysicsCollideCallbacks.filter(function (obj) { + return obj.otherImpostors.indexOf(otherImpostor) !== -1; + }).forEach(function (obj) { + obj.callback(_this, otherImpostor); + }); + } + }; + //sanity check! + if (!this.object) { + BABYLON.Tools.Error("No object was provided. A physics object is obligatory"); + return; + } + //legacy support for old syntax. + if (!this._scene && object.getScene) { + this._scene = object.getScene(); + } + this._physicsEngine = this._scene.getPhysicsEngine(); + if (!this._physicsEngine) { + BABYLON.Tools.Error("Physics not enabled. Please use scene.enablePhysics(...) before creating impostors."); + } + else { + //set the object's quaternion, if not set + if (!this.object.rotationQuaternion) { + if (this.object.rotation) { + this.object.rotationQuaternion = BABYLON.Quaternion.RotationYawPitchRoll(this.object.rotation.y, this.object.rotation.x, this.object.rotation.z); + } + else { + this.object.rotationQuaternion = new BABYLON.Quaternion(); + } + } + //default options params + this._options.mass = (_options.mass === void 0) ? 0 : _options.mass; + this._options.friction = (_options.friction === void 0) ? 0.2 : _options.friction; + this._options.restitution = (_options.restitution === void 0) ? 0.2 : _options.restitution; + this._joints = []; + //If the mesh has a parent, don't initialize the physicsBody. Instead wait for the parent to do that. + if (!this.object.parent) { + this._init(); + } + } + } + /** + * This function will completly initialize this impostor. + * It will create a new body - but only if this mesh has no parent. + * If it has, this impostor will not be used other than to define the impostor + * of the child mesh. + */ + PhysicsImpostor.prototype._init = function () { + this._physicsEngine.removeImpostor(this); + this.physicsBody = null; + this._parent = this._parent || this._getPhysicsParent(); + if (!this.parent) { + this._physicsEngine.addImpostor(this); + } + }; + PhysicsImpostor.prototype._getPhysicsParent = function () { + if (this.object.parent instanceof BABYLON.AbstractMesh) { + var parentMesh = this.object.parent; + return parentMesh.physicsImpostor; + } + return; + }; + /** + * Should a new body be generated. + */ + PhysicsImpostor.prototype.isBodyInitRequired = function () { + return this._bodyUpdateRequired || (!this._physicsBody && !this._parent); + }; + PhysicsImpostor.prototype.setScalingUpdated = function (updated) { + this.forceUpdate(); + }; + /** + * Force a regeneration of this or the parent's impostor's body. + * Use under cautious - This will remove all joints already implemented. + */ + PhysicsImpostor.prototype.forceUpdate = function () { + this._init(); + if (this.parent) { + this.parent.forceUpdate(); + } + }; + Object.defineProperty(PhysicsImpostor.prototype, "physicsBody", { + /*public get mesh(): AbstractMesh { + return this._mesh; + }*/ + /** + * Gets the body that holds this impostor. Either its own, or its parent. + */ + get: function () { + return this._parent ? this._parent.physicsBody : this._physicsBody; + }, + /** + * Set the physics body. Used mainly by the physics engine/plugin + */ + set: function (physicsBody) { + if (this._physicsBody) { + this._physicsEngine.getPhysicsPlugin().removePhysicsBody(this); + } + this._physicsBody = physicsBody; + this.resetUpdateFlags(); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(PhysicsImpostor.prototype, "parent", { + get: function () { + return this._parent; + }, + set: function (value) { + this._parent = value; + }, + enumerable: true, + configurable: true + }); + PhysicsImpostor.prototype.resetUpdateFlags = function () { + this._bodyUpdateRequired = false; + }; + PhysicsImpostor.prototype.getObjectExtendSize = function () { + if (this.object.getBoundingInfo) { + this.object.computeWorldMatrix && this.object.computeWorldMatrix(true); + return this.object.getBoundingInfo().boundingBox.extendSize.scale(2).multiply(this.object.scaling); + } + else { + return PhysicsImpostor.DEFAULT_OBJECT_SIZE; + } + }; + PhysicsImpostor.prototype.getObjectCenter = function () { + if (this.object.getBoundingInfo) { + return this.object.getBoundingInfo().boundingBox.center; + } + else { + return this.object.position; + } + }; + /** + * Get a specific parametes from the options parameter. + */ + PhysicsImpostor.prototype.getParam = function (paramName) { + return this._options[paramName]; + }; + /** + * Sets a specific parameter in the options given to the physics plugin + */ + PhysicsImpostor.prototype.setParam = function (paramName, value) { + this._options[paramName] = value; + this._bodyUpdateRequired = true; + }; + /** + * Specifically change the body's mass option. Won't recreate the physics body object + */ + PhysicsImpostor.prototype.setMass = function (mass) { + if (this.getParam("mass") !== mass) { + this.setParam("mass", mass); + } + this._physicsEngine.getPhysicsPlugin().setBodyMass(this, mass); + }; + PhysicsImpostor.prototype.getLinearVelocity = function () { + return this._physicsEngine.getPhysicsPlugin().getLinearVelocity(this); + }; + /** + * Set the body's linear velocity. + */ + PhysicsImpostor.prototype.setLinearVelocity = function (velocity) { + this._physicsEngine.getPhysicsPlugin().setLinearVelocity(this, velocity); + }; + PhysicsImpostor.prototype.getAngularVelocity = function () { + return this._physicsEngine.getPhysicsPlugin().getAngularVelocity(this); + }; + /** + * Set the body's linear velocity. + */ + PhysicsImpostor.prototype.setAngularVelocity = function (velocity) { + this._physicsEngine.getPhysicsPlugin().setAngularVelocity(this, velocity); + }; + /** + * Execute a function with the physics plugin native code. + * Provide a function the will have two variables - the world object and the physics body object. + */ + PhysicsImpostor.prototype.executeNativeFunction = function (func) { + func(this._physicsEngine.getPhysicsPlugin().world, this.physicsBody); + }; + /** + * Register a function that will be executed before the physics world is stepping forward. + */ + PhysicsImpostor.prototype.registerBeforePhysicsStep = function (func) { + this._onBeforePhysicsStepCallbacks.push(func); + }; + PhysicsImpostor.prototype.unregisterBeforePhysicsStep = function (func) { + var index = this._onBeforePhysicsStepCallbacks.indexOf(func); + if (index > -1) { + this._onBeforePhysicsStepCallbacks.splice(index, 1); + } + else { + BABYLON.Tools.Warn("Function to remove was not found"); + } + }; + /** + * Register a function that will be executed after the physics step + */ + PhysicsImpostor.prototype.registerAfterPhysicsStep = function (func) { + this._onAfterPhysicsStepCallbacks.push(func); + }; + PhysicsImpostor.prototype.unregisterAfterPhysicsStep = function (func) { + var index = this._onAfterPhysicsStepCallbacks.indexOf(func); + if (index > -1) { + this._onAfterPhysicsStepCallbacks.splice(index, 1); + } + else { + BABYLON.Tools.Warn("Function to remove was not found"); + } + }; + /** + * register a function that will be executed when this impostor collides against a different body. + */ + PhysicsImpostor.prototype.registerOnPhysicsCollide = function (collideAgainst, func) { + var collidedAgainstList = collideAgainst instanceof Array ? collideAgainst : [collideAgainst]; + this._onPhysicsCollideCallbacks.push({ callback: func, otherImpostors: collidedAgainstList }); + }; + PhysicsImpostor.prototype.unregisterOnPhysicsCollide = function (collideAgainst, func) { + var collidedAgainstList = collideAgainst instanceof Array ? collideAgainst : [collideAgainst]; + var index = this._onPhysicsCollideCallbacks.indexOf({ callback: func, otherImpostors: collidedAgainstList }); + if (index > -1) { + this._onPhysicsCollideCallbacks.splice(index, 1); + } + else { + BABYLON.Tools.Warn("Function to remove was not found"); + } + }; + /** + * Apply a force + */ + PhysicsImpostor.prototype.applyForce = function (force, contactPoint) { + this._physicsEngine.getPhysicsPlugin().applyForce(this, force, contactPoint); + }; + /** + * Apply an impulse + */ + PhysicsImpostor.prototype.applyImpulse = function (force, contactPoint) { + this._physicsEngine.getPhysicsPlugin().applyImpulse(this, force, contactPoint); + }; + /** + * A help function to create a joint. + */ + PhysicsImpostor.prototype.createJoint = function (otherImpostor, jointType, jointData) { + var joint = new BABYLON.PhysicsJoint(jointType, jointData); + this.addJoint(otherImpostor, joint); + }; + /** + * Add a joint to this impostor with a different impostor. + */ + PhysicsImpostor.prototype.addJoint = function (otherImpostor, joint) { + this._joints.push({ + otherImpostor: otherImpostor, + joint: joint + }); + this._physicsEngine.addJoint(this, otherImpostor, joint); + }; + /** + * Will keep this body still, in a sleep mode. + */ + PhysicsImpostor.prototype.sleep = function () { + this._physicsEngine.getPhysicsPlugin().sleepBody(this); + }; + /** + * Wake the body up. + */ + PhysicsImpostor.prototype.wakeUp = function () { + this._physicsEngine.getPhysicsPlugin().wakeUpBody(this); + }; + PhysicsImpostor.prototype.clone = function (newObject) { + if (!newObject) + return null; + return new PhysicsImpostor(newObject, this.type, this._options, this._scene); + }; + PhysicsImpostor.prototype.dispose = function () { + var _this = this; + //no dispose if no physics engine is available. + if (!this._physicsEngine) { + return; + } + this._joints.forEach(function (j) { + _this._physicsEngine.removeJoint(_this, j.otherImpostor, j.joint); + }); + //dispose the physics body + this._physicsEngine.removeImpostor(this); + if (this.parent) { + this.parent.forceUpdate(); + } + else { + } + }; + PhysicsImpostor.prototype.setDeltaPosition = function (position) { + this._deltaPosition.copyFrom(position); + }; + PhysicsImpostor.prototype.setDeltaRotation = function (rotation) { + if (!this._deltaRotation) { + this._deltaRotation = new BABYLON.Quaternion(); + } + this._deltaRotation.copyFrom(rotation); + this._deltaRotationConjugated = this._deltaRotation.conjugate(); + }; + PhysicsImpostor.DEFAULT_OBJECT_SIZE = new BABYLON.Vector3(1, 1, 1); + //Impostor types + PhysicsImpostor.NoImpostor = 0; + PhysicsImpostor.SphereImpostor = 1; + PhysicsImpostor.BoxImpostor = 2; + PhysicsImpostor.PlaneImpostor = 3; + PhysicsImpostor.MeshImpostor = 4; + PhysicsImpostor.CylinderImpostor = 7; + PhysicsImpostor.ParticleImpostor = 8; + PhysicsImpostor.HeightmapImpostor = 9; + return PhysicsImpostor; + }()); + BABYLON.PhysicsImpostor = PhysicsImpostor; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.physicsImpostor.js.map + +var BABYLON; +(function (BABYLON) { + var PhysicsEngine = (function () { + function PhysicsEngine(gravity, _physicsPlugin) { + if (_physicsPlugin === void 0) { _physicsPlugin = new BABYLON.CannonJSPlugin(); } + this._physicsPlugin = _physicsPlugin; + //new methods and parameters + this._impostors = []; + this._joints = []; + if (!this._physicsPlugin.isSupported()) { + throw new Error("Physics Engine " + this._physicsPlugin.name + " cannot be found. " + + "Please make sure it is included."); + } + gravity = gravity || new BABYLON.Vector3(0, -9.807, 0); + this.setGravity(gravity); + this.setTimeStep(); + } + PhysicsEngine.prototype.setGravity = function (gravity) { + this.gravity = gravity; + this._physicsPlugin.setGravity(this.gravity); + }; + /** + * Set the time step of the physics engine. + * default is 1/60. + * To slow it down, enter 1/600 for example. + * To speed it up, 1/30 + * @param {number} newTimeStep the new timestep to apply to this world. + */ + PhysicsEngine.prototype.setTimeStep = function (newTimeStep) { + if (newTimeStep === void 0) { newTimeStep = 1 / 60; } + this._physicsPlugin.setTimeStep(newTimeStep); + }; + PhysicsEngine.prototype.dispose = function () { + this._impostors.forEach(function (impostor) { + impostor.dispose(); + }); + this._physicsPlugin.dispose(); + }; + PhysicsEngine.prototype.getPhysicsPluginName = function () { + return this._physicsPlugin.name; + }; + /** + * Adding a new impostor for the impostor tracking. + * This will be done by the impostor itself. + * @param {PhysicsImpostor} impostor the impostor to add + */ + PhysicsEngine.prototype.addImpostor = function (impostor) { + impostor.uniqueId = this._impostors.push(impostor); + //if no parent, generate the body + if (!impostor.parent) { + this._physicsPlugin.generatePhysicsBody(impostor); + } + }; + /** + * Remove an impostor from the engine. + * This impostor and its mesh will not longer be updated by the physics engine. + * @param {PhysicsImpostor} impostor the impostor to remove + */ + PhysicsEngine.prototype.removeImpostor = function (impostor) { + var index = this._impostors.indexOf(impostor); + if (index > -1) { + var removed = this._impostors.splice(index, 1); + //Is it needed? + if (removed.length) { + //this will also remove it from the world. + removed[0].physicsBody = null; + } + } + }; + /** + * Add a joint to the physics engine + * @param {PhysicsImpostor} mainImpostor the main impostor to which the joint is added. + * @param {PhysicsImpostor} connectedImpostor the impostor that is connected to the main impostor using this joint + * @param {PhysicsJoint} the joint that will connect both impostors. + */ + PhysicsEngine.prototype.addJoint = function (mainImpostor, connectedImpostor, joint) { + var impostorJoint = { + mainImpostor: mainImpostor, + connectedImpostor: connectedImpostor, + joint: joint + }; + joint.physicsPlugin = this._physicsPlugin; + this._joints.push(impostorJoint); + this._physicsPlugin.generateJoint(impostorJoint); + }; + PhysicsEngine.prototype.removeJoint = function (mainImpostor, connectedImpostor, joint) { + var matchingJoints = this._joints.filter(function (impostorJoint) { + return (impostorJoint.connectedImpostor === connectedImpostor + && impostorJoint.joint === joint + && impostorJoint.mainImpostor === mainImpostor); + }); + if (matchingJoints.length) { + this._physicsPlugin.removeJoint(matchingJoints[0]); + } + }; + /** + * Called by the scene. no need to call it. + */ + PhysicsEngine.prototype._step = function (delta) { + var _this = this; + //check if any mesh has no body / requires an update + this._impostors.forEach(function (impostor) { + if (impostor.isBodyInitRequired()) { + _this._physicsPlugin.generatePhysicsBody(impostor); + } + }); + if (delta > 0.1) { + delta = 0.1; + } + else if (delta <= 0) { + delta = 1.0 / 60.0; + } + this._physicsPlugin.executeStep(delta, this._impostors); + }; + PhysicsEngine.prototype.getPhysicsPlugin = function () { + return this._physicsPlugin; + }; + PhysicsEngine.prototype.getImpostorForPhysicsObject = function (object) { + for (var i = 0; i < this._impostors.length; ++i) { + if (this._impostors[i].object === object) { + return this._impostors[i]; + } + } + }; + PhysicsEngine.prototype.getImpostorWithPhysicsBody = function (body) { + for (var i = 0; i < this._impostors.length; ++i) { + if (this._impostors[i].physicsBody === body) { + return this._impostors[i]; + } + } + }; + // Statics, Legacy support. + /** + * @Deprecated + * + */ + PhysicsEngine.NoImpostor = BABYLON.PhysicsImpostor.NoImpostor; + PhysicsEngine.SphereImpostor = BABYLON.PhysicsImpostor.SphereImpostor; + PhysicsEngine.BoxImpostor = BABYLON.PhysicsImpostor.BoxImpostor; + PhysicsEngine.PlaneImpostor = BABYLON.PhysicsImpostor.PlaneImpostor; + PhysicsEngine.MeshImpostor = BABYLON.PhysicsImpostor.MeshImpostor; + PhysicsEngine.CylinderImpostor = BABYLON.PhysicsImpostor.CylinderImpostor; + PhysicsEngine.HeightmapImpostor = BABYLON.PhysicsImpostor.HeightmapImpostor; + PhysicsEngine.CapsuleImpostor = -1; + PhysicsEngine.ConeImpostor = -1; + PhysicsEngine.ConvexHullImpostor = -1; + PhysicsEngine.Epsilon = 0.001; + return PhysicsEngine; + }()); + BABYLON.PhysicsEngine = PhysicsEngine; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.physicsEngine.js.map + +var BABYLON; +(function (BABYLON) { + var VertexData = (function () { + function VertexData() { + } + VertexData.prototype.set = function (data, kind) { + switch (kind) { + case BABYLON.VertexBuffer.PositionKind: + this.positions = data; + break; + case BABYLON.VertexBuffer.NormalKind: + this.normals = data; + break; + case BABYLON.VertexBuffer.UVKind: + this.uvs = data; + break; + case BABYLON.VertexBuffer.UV2Kind: + this.uvs2 = data; + break; + case BABYLON.VertexBuffer.UV3Kind: + this.uvs3 = data; + break; + case BABYLON.VertexBuffer.UV4Kind: + this.uvs4 = data; + break; + case BABYLON.VertexBuffer.UV5Kind: + this.uvs5 = data; + break; + case BABYLON.VertexBuffer.UV6Kind: + this.uvs6 = data; + break; + case BABYLON.VertexBuffer.ColorKind: + this.colors = data; + break; + case BABYLON.VertexBuffer.MatricesIndicesKind: + this.matricesIndices = data; + break; + case BABYLON.VertexBuffer.MatricesWeightsKind: + this.matricesWeights = data; + break; + case BABYLON.VertexBuffer.MatricesIndicesExtraKind: + this.matricesIndicesExtra = data; + break; + case BABYLON.VertexBuffer.MatricesWeightsExtraKind: + this.matricesWeightsExtra = data; + break; + } + }; + VertexData.prototype.applyToMesh = function (mesh, updatable) { + this._applyTo(mesh, updatable); + }; + VertexData.prototype.applyToGeometry = function (geometry, updatable) { + this._applyTo(geometry, updatable); + }; + VertexData.prototype.updateMesh = function (mesh, updateExtends, makeItUnique) { + this._update(mesh); + }; + VertexData.prototype.updateGeometry = function (geometry, updateExtends, makeItUnique) { + this._update(geometry); + }; + VertexData.prototype._applyTo = function (meshOrGeometry, updatable) { + if (this.positions) { + meshOrGeometry.setVerticesData(BABYLON.VertexBuffer.PositionKind, this.positions, updatable); + } + if (this.normals) { + meshOrGeometry.setVerticesData(BABYLON.VertexBuffer.NormalKind, this.normals, updatable); + } + if (this.uvs) { + meshOrGeometry.setVerticesData(BABYLON.VertexBuffer.UVKind, this.uvs, updatable); + } + if (this.uvs2) { + meshOrGeometry.setVerticesData(BABYLON.VertexBuffer.UV2Kind, this.uvs2, updatable); + } + if (this.uvs3) { + meshOrGeometry.setVerticesData(BABYLON.VertexBuffer.UV3Kind, this.uvs3, updatable); + } + if (this.uvs4) { + meshOrGeometry.setVerticesData(BABYLON.VertexBuffer.UV4Kind, this.uvs4, updatable); + } + if (this.uvs5) { + meshOrGeometry.setVerticesData(BABYLON.VertexBuffer.UV5Kind, this.uvs5, updatable); + } + if (this.uvs6) { + meshOrGeometry.setVerticesData(BABYLON.VertexBuffer.UV6Kind, this.uvs6, updatable); + } + if (this.colors) { + meshOrGeometry.setVerticesData(BABYLON.VertexBuffer.ColorKind, this.colors, updatable); + } + if (this.matricesIndices) { + meshOrGeometry.setVerticesData(BABYLON.VertexBuffer.MatricesIndicesKind, this.matricesIndices, updatable); + } + if (this.matricesWeights) { + meshOrGeometry.setVerticesData(BABYLON.VertexBuffer.MatricesWeightsKind, this.matricesWeights, updatable); + } + if (this.matricesIndicesExtra) { + meshOrGeometry.setVerticesData(BABYLON.VertexBuffer.MatricesIndicesExtraKind, this.matricesIndicesExtra, updatable); + } + if (this.matricesWeightsExtra) { + meshOrGeometry.setVerticesData(BABYLON.VertexBuffer.MatricesWeightsExtraKind, this.matricesWeightsExtra, updatable); + } + if (this.indices) { + meshOrGeometry.setIndices(this.indices); + } + }; + VertexData.prototype._update = function (meshOrGeometry, updateExtends, makeItUnique) { + if (this.positions) { + meshOrGeometry.updateVerticesData(BABYLON.VertexBuffer.PositionKind, this.positions, updateExtends, makeItUnique); + } + if (this.normals) { + meshOrGeometry.updateVerticesData(BABYLON.VertexBuffer.NormalKind, this.normals, updateExtends, makeItUnique); + } + if (this.uvs) { + meshOrGeometry.updateVerticesData(BABYLON.VertexBuffer.UVKind, this.uvs, updateExtends, makeItUnique); + } + if (this.uvs2) { + meshOrGeometry.updateVerticesData(BABYLON.VertexBuffer.UV2Kind, this.uvs2, updateExtends, makeItUnique); + } + if (this.uvs3) { + meshOrGeometry.updateVerticesData(BABYLON.VertexBuffer.UV3Kind, this.uvs3, updateExtends, makeItUnique); + } + if (this.uvs4) { + meshOrGeometry.updateVerticesData(BABYLON.VertexBuffer.UV4Kind, this.uvs4, updateExtends, makeItUnique); + } + if (this.uvs5) { + meshOrGeometry.updateVerticesData(BABYLON.VertexBuffer.UV5Kind, this.uvs5, updateExtends, makeItUnique); + } + if (this.uvs6) { + meshOrGeometry.updateVerticesData(BABYLON.VertexBuffer.UV6Kind, this.uvs6, updateExtends, makeItUnique); + } + if (this.colors) { + meshOrGeometry.updateVerticesData(BABYLON.VertexBuffer.ColorKind, this.colors, updateExtends, makeItUnique); + } + if (this.matricesIndices) { + meshOrGeometry.updateVerticesData(BABYLON.VertexBuffer.MatricesIndicesKind, this.matricesIndices, updateExtends, makeItUnique); + } + if (this.matricesWeights) { + meshOrGeometry.updateVerticesData(BABYLON.VertexBuffer.MatricesWeightsKind, this.matricesWeights, updateExtends, makeItUnique); + } + if (this.matricesIndicesExtra) { + meshOrGeometry.updateVerticesData(BABYLON.VertexBuffer.MatricesIndicesExtraKind, this.matricesIndicesExtra, updateExtends, makeItUnique); + } + if (this.matricesWeightsExtra) { + meshOrGeometry.updateVerticesData(BABYLON.VertexBuffer.MatricesWeightsExtraKind, this.matricesWeightsExtra, updateExtends, makeItUnique); + } + if (this.indices) { + meshOrGeometry.setIndices(this.indices); + } + }; + VertexData.prototype.transform = function (matrix) { + var transformed = BABYLON.Vector3.Zero(); + var index; + if (this.positions) { + var position = BABYLON.Vector3.Zero(); + for (index = 0; index < this.positions.length; index += 3) { + BABYLON.Vector3.FromArrayToRef(this.positions, index, position); + BABYLON.Vector3.TransformCoordinatesToRef(position, matrix, transformed); + this.positions[index] = transformed.x; + this.positions[index + 1] = transformed.y; + this.positions[index + 2] = transformed.z; + } + } + if (this.normals) { + var normal = BABYLON.Vector3.Zero(); + for (index = 0; index < this.normals.length; index += 3) { + BABYLON.Vector3.FromArrayToRef(this.normals, index, normal); + BABYLON.Vector3.TransformNormalToRef(normal, matrix, transformed); + this.normals[index] = transformed.x; + this.normals[index + 1] = transformed.y; + this.normals[index + 2] = transformed.z; + } + } + }; + VertexData.prototype.merge = function (other) { + if (other.indices) { + if (!this.indices) { + this.indices = []; + } + var offset = this.positions ? this.positions.length / 3 : 0; + for (var index = 0; index < other.indices.length; index++) { + //TODO check type - if Int32Array! + this.indices.push(other.indices[index] + offset); + } + } + this.positions = this._mergeElement(this.positions, other.positions); + this.normals = this._mergeElement(this.normals, other.normals); + this.uvs = this._mergeElement(this.uvs, other.uvs); + this.uvs2 = this._mergeElement(this.uvs2, other.uvs2); + this.uvs3 = this._mergeElement(this.uvs3, other.uvs3); + this.uvs4 = this._mergeElement(this.uvs4, other.uvs4); + this.uvs5 = this._mergeElement(this.uvs5, other.uvs5); + this.uvs6 = this._mergeElement(this.uvs6, other.uvs6); + this.colors = this._mergeElement(this.colors, other.colors); + this.matricesIndices = this._mergeElement(this.matricesIndices, other.matricesIndices); + this.matricesWeights = this._mergeElement(this.matricesWeights, other.matricesWeights); + this.matricesIndicesExtra = this._mergeElement(this.matricesIndicesExtra, other.matricesIndicesExtra); + this.matricesWeightsExtra = this._mergeElement(this.matricesWeightsExtra, other.matricesWeightsExtra); + }; + VertexData.prototype._mergeElement = function (source, other) { + if (!other) + return source; + if (!source) + return other; + var len = other.length + source.length; + var isSrcTypedArray = source instanceof Float32Array; + var isOthTypedArray = other instanceof Float32Array; + // use non-loop method when the source is Float32Array + if (isSrcTypedArray) { + var ret32 = new Float32Array(len); + ret32.set(source); + ret32.set(other, source.length); + return ret32; + } + else if (!isOthTypedArray) { + return source.concat(other); + } + else { + var ret = source.slice(0); // copy source to a separate array + for (var i = 0, len = other.length; i < len; i++) { + ret.push(other[i]); + } + return ret; + } + }; + VertexData.prototype.serialize = function () { + var serializationObject = this.serialize(); + if (this.positions) { + serializationObject.positions = this.positions; + } + if (this.normals) { + serializationObject.normals = this.normals; + } + if (this.uvs) { + serializationObject.uvs = this.uvs; + } + if (this.uvs2) { + serializationObject.uvs2 = this.uvs2; + } + if (this.uvs3) { + serializationObject.uvs3 = this.uvs3; + } + if (this.uvs4) { + serializationObject.uvs4 = this.uvs4; + } + if (this.uvs5) { + serializationObject.uvs5 = this.uvs5; + } + if (this.uvs6) { + serializationObject.uvs6 = this.uvs6; + } + if (this.colors) { + serializationObject.colors = this.colors; + } + if (this.matricesIndices) { + serializationObject.matricesIndices = this.matricesIndices; + serializationObject.matricesIndices._isExpanded = true; + } + if (this.matricesWeights) { + serializationObject.matricesWeights = this.matricesWeights; + } + if (this.matricesIndicesExtra) { + serializationObject.matricesIndicesExtra = this.matricesIndicesExtra; + serializationObject.matricesIndicesExtra._isExpanded = true; + } + if (this.matricesWeightsExtra) { + serializationObject.matricesWeightsExtra = this.matricesWeightsExtra; + } + serializationObject.indices = this.indices; + return serializationObject; + }; + // Statics + VertexData.ExtractFromMesh = function (mesh, copyWhenShared) { + return VertexData._ExtractFrom(mesh, copyWhenShared); + }; + VertexData.ExtractFromGeometry = function (geometry, copyWhenShared) { + return VertexData._ExtractFrom(geometry, copyWhenShared); + }; + VertexData._ExtractFrom = function (meshOrGeometry, copyWhenShared) { + var result = new VertexData(); + if (meshOrGeometry.isVerticesDataPresent(BABYLON.VertexBuffer.PositionKind)) { + result.positions = meshOrGeometry.getVerticesData(BABYLON.VertexBuffer.PositionKind, copyWhenShared); + } + if (meshOrGeometry.isVerticesDataPresent(BABYLON.VertexBuffer.NormalKind)) { + result.normals = meshOrGeometry.getVerticesData(BABYLON.VertexBuffer.NormalKind, copyWhenShared); + } + if (meshOrGeometry.isVerticesDataPresent(BABYLON.VertexBuffer.UVKind)) { + result.uvs = meshOrGeometry.getVerticesData(BABYLON.VertexBuffer.UVKind, copyWhenShared); + } + if (meshOrGeometry.isVerticesDataPresent(BABYLON.VertexBuffer.UV2Kind)) { + result.uvs2 = meshOrGeometry.getVerticesData(BABYLON.VertexBuffer.UV2Kind, copyWhenShared); + } + if (meshOrGeometry.isVerticesDataPresent(BABYLON.VertexBuffer.UV3Kind)) { + result.uvs3 = meshOrGeometry.getVerticesData(BABYLON.VertexBuffer.UV3Kind, copyWhenShared); + } + if (meshOrGeometry.isVerticesDataPresent(BABYLON.VertexBuffer.UV4Kind)) { + result.uvs4 = meshOrGeometry.getVerticesData(BABYLON.VertexBuffer.UV4Kind, copyWhenShared); + } + if (meshOrGeometry.isVerticesDataPresent(BABYLON.VertexBuffer.UV5Kind)) { + result.uvs5 = meshOrGeometry.getVerticesData(BABYLON.VertexBuffer.UV5Kind, copyWhenShared); + } + if (meshOrGeometry.isVerticesDataPresent(BABYLON.VertexBuffer.UV6Kind)) { + result.uvs6 = meshOrGeometry.getVerticesData(BABYLON.VertexBuffer.UV6Kind, copyWhenShared); + } + if (meshOrGeometry.isVerticesDataPresent(BABYLON.VertexBuffer.ColorKind)) { + result.colors = meshOrGeometry.getVerticesData(BABYLON.VertexBuffer.ColorKind, copyWhenShared); + } + if (meshOrGeometry.isVerticesDataPresent(BABYLON.VertexBuffer.MatricesIndicesKind)) { + result.matricesIndices = meshOrGeometry.getVerticesData(BABYLON.VertexBuffer.MatricesIndicesKind, copyWhenShared); + } + if (meshOrGeometry.isVerticesDataPresent(BABYLON.VertexBuffer.MatricesWeightsKind)) { + result.matricesWeights = meshOrGeometry.getVerticesData(BABYLON.VertexBuffer.MatricesWeightsKind, copyWhenShared); + } + if (meshOrGeometry.isVerticesDataPresent(BABYLON.VertexBuffer.MatricesIndicesExtraKind)) { + result.matricesIndicesExtra = meshOrGeometry.getVerticesData(BABYLON.VertexBuffer.MatricesIndicesExtraKind, copyWhenShared); + } + if (meshOrGeometry.isVerticesDataPresent(BABYLON.VertexBuffer.MatricesWeightsExtraKind)) { + result.matricesWeightsExtra = meshOrGeometry.getVerticesData(BABYLON.VertexBuffer.MatricesWeightsExtraKind, copyWhenShared); + } + result.indices = meshOrGeometry.getIndices(copyWhenShared); + return result; + }; + VertexData.CreateRibbon = function (options) { + var pathArray = options.pathArray; + var closeArray = options.closeArray || false; + var closePath = options.closePath || false; + var invertUV = options.invertUV || false; + var defaultOffset = Math.floor(pathArray[0].length / 2); + var offset = options.offset || defaultOffset; + offset = offset > defaultOffset ? defaultOffset : Math.floor(offset); // offset max allowed : defaultOffset + var sideOrientation = (options.sideOrientation === 0) ? 0 : options.sideOrientation || BABYLON.Mesh.DEFAULTSIDE; + var positions = []; + var indices = []; + var normals = []; + var uvs = []; + var us = []; // us[path_id] = [uDist1, uDist2, uDist3 ... ] distances between points on path path_id + var vs = []; // vs[i] = [vDist1, vDist2, vDist3, ... ] distances between points i of consecutives paths from pathArray + var uTotalDistance = []; // uTotalDistance[p] : total distance of path p + var vTotalDistance = []; // vTotalDistance[i] : total distance between points i of first and last path from pathArray + var minlg; // minimal length among all paths from pathArray + var lg = []; // array of path lengths : nb of vertex per path + var idx = []; // array of path indexes : index of each path (first vertex) in the total vertex number + var p; // path iterator + var i; // point iterator + var j; // point iterator + // if single path in pathArray + if (pathArray.length < 2) { + var ar1 = []; + var ar2 = []; + for (i = 0; i < pathArray[0].length - offset; i++) { + ar1.push(pathArray[0][i]); + ar2.push(pathArray[0][i + offset]); + } + pathArray = [ar1, ar2]; + } + // positions and horizontal distances (u) + var idc = 0; + var closePathCorr = (closePath) ? 1 : 0; + var path; + var l; + minlg = pathArray[0].length; + var vectlg; + var dist; + for (p = 0; p < pathArray.length; p++) { + uTotalDistance[p] = 0; + us[p] = [0]; + path = pathArray[p]; + l = path.length; + minlg = (minlg < l) ? minlg : l; + j = 0; + while (j < l) { + positions.push(path[j].x, path[j].y, path[j].z); + if (j > 0) { + vectlg = path[j].subtract(path[j - 1]).length(); + dist = vectlg + uTotalDistance[p]; + us[p].push(dist); + uTotalDistance[p] = dist; + } + j++; + } + if (closePath) { + j--; + positions.push(path[0].x, path[0].y, path[0].z); + vectlg = path[j].subtract(path[0]).length(); + dist = vectlg + uTotalDistance[p]; + us[p].push(dist); + uTotalDistance[p] = dist; + } + lg[p] = l + closePathCorr; + idx[p] = idc; + idc += (l + closePathCorr); + } + // vertical distances (v) + var path1; + var path2; + var vertex1; + var vertex2; + for (i = 0; i < minlg + closePathCorr; i++) { + vTotalDistance[i] = 0; + vs[i] = [0]; + for (p = 0; p < pathArray.length - 1; p++) { + path1 = pathArray[p]; + path2 = pathArray[p + 1]; + if (i === minlg) { + vertex1 = path1[0]; + vertex2 = path2[0]; + } + else { + vertex1 = path1[i]; + vertex2 = path2[i]; + } + vectlg = vertex2.subtract(vertex1).length(); + dist = vectlg + vTotalDistance[i]; + vs[i].push(dist); + vTotalDistance[i] = dist; + } + if (closeArray) { + path1 = pathArray[p]; + path2 = pathArray[0]; + if (i === minlg) { + vertex2 = path2[0]; + } + vectlg = vertex2.subtract(vertex1).length(); + dist = vectlg + vTotalDistance[i]; + vTotalDistance[i] = dist; + } + } + // uvs + var u; + var v; + for (p = 0; p < pathArray.length; p++) { + for (i = 0; i < minlg + closePathCorr; i++) { + u = us[p][i] / uTotalDistance[p]; + v = vs[i][p] / vTotalDistance[i]; + if (invertUV) { + uvs.push(v, u); + } + else { + uvs.push(u, v); + } + } + } + // indices + p = 0; // path index + var pi = 0; // positions array index + var l1 = lg[p] - 1; // path1 length + var l2 = lg[p + 1] - 1; // path2 length + var min = (l1 < l2) ? l1 : l2; // current path stop index + var shft = idx[1] - idx[0]; // shift + var path1nb = closeArray ? lg.length : lg.length - 1; // number of path1 to iterate on + while (pi <= min && p < path1nb) { + // draw two triangles between path1 (p1) and path2 (p2) : (p1.pi, p2.pi, p1.pi+1) and (p2.pi+1, p1.pi+1, p2.pi) clockwise + indices.push(pi, pi + shft, pi + 1); + indices.push(pi + shft + 1, pi + 1, pi + shft); + pi += 1; + if (pi === min) { + p++; + if (p === lg.length - 1) { + shft = idx[0] - idx[p]; + l1 = lg[p] - 1; + l2 = lg[0] - 1; + } + else { + shft = idx[p + 1] - idx[p]; + l1 = lg[p] - 1; + l2 = lg[p + 1] - 1; + } + pi = idx[p]; + min = (l1 < l2) ? l1 + pi : l2 + pi; + } + } + // normals + VertexData.ComputeNormals(positions, indices, normals); + if (closePath) { + var indexFirst = 0; + var indexLast = 0; + for (p = 0; p < pathArray.length; p++) { + indexFirst = idx[p] * 3; + if (p + 1 < pathArray.length) { + indexLast = (idx[p + 1] - 1) * 3; + } + else { + indexLast = normals.length - 3; + } + normals[indexFirst] = (normals[indexFirst] + normals[indexLast]) * 0.5; + normals[indexFirst + 1] = (normals[indexFirst + 1] + normals[indexLast + 1]) * 0.5; + normals[indexFirst + 2] = (normals[indexFirst + 2] + normals[indexLast + 2]) * 0.5; + normals[indexLast] = normals[indexFirst]; + normals[indexLast + 1] = normals[indexFirst + 1]; + normals[indexLast + 2] = normals[indexFirst + 2]; + } + } + // sides + VertexData._ComputeSides(sideOrientation, positions, indices, normals, uvs); + // Result + var vertexData = new VertexData(); + vertexData.indices = indices; + vertexData.positions = positions; + vertexData.normals = normals; + vertexData.uvs = uvs; + if (closePath) { + vertexData._idx = idx; + } + return vertexData; + }; + VertexData.CreateBox = function (options) { + var normalsSource = [ + new BABYLON.Vector3(0, 0, 1), + new BABYLON.Vector3(0, 0, -1), + new BABYLON.Vector3(1, 0, 0), + new BABYLON.Vector3(-1, 0, 0), + new BABYLON.Vector3(0, 1, 0), + new BABYLON.Vector3(0, -1, 0) + ]; + var indices = []; + var positions = []; + var normals = []; + var uvs = []; + var width = options.width || options.size || 1; + var height = options.height || options.size || 1; + var depth = options.depth || options.size || 1; + var sideOrientation = (options.sideOrientation === 0) ? 0 : options.sideOrientation || BABYLON.Mesh.DEFAULTSIDE; + var faceUV = options.faceUV || new Array(6); + var faceColors = options.faceColors; + var colors = []; + // default face colors and UV if undefined + for (var f = 0; f < 6; f++) { + if (faceUV[f] === undefined) { + faceUV[f] = new BABYLON.Vector4(0, 0, 1, 1); + } + if (faceColors && faceColors[f] === undefined) { + faceColors[f] = new BABYLON.Color4(1, 1, 1, 1); + } + } + var scaleVector = new BABYLON.Vector3(width / 2, height / 2, depth / 2); + // Create each face in turn. + for (var index = 0; index < normalsSource.length; index++) { + var normal = normalsSource[index]; + // Get two vectors perpendicular to the face normal and to each other. + var side1 = new BABYLON.Vector3(normal.y, normal.z, normal.x); + var side2 = BABYLON.Vector3.Cross(normal, side1); + // Six indices (two triangles) per face. + var verticesLength = positions.length / 3; + indices.push(verticesLength); + indices.push(verticesLength + 1); + indices.push(verticesLength + 2); + indices.push(verticesLength); + indices.push(verticesLength + 2); + indices.push(verticesLength + 3); + // Four vertices per face. + var vertex = normal.subtract(side1).subtract(side2).multiply(scaleVector); + positions.push(vertex.x, vertex.y, vertex.z); + normals.push(normal.x, normal.y, normal.z); + uvs.push(faceUV[index].z, faceUV[index].w); + if (faceColors) { + colors.push(faceColors[index].r, faceColors[index].g, faceColors[index].b, faceColors[index].a); + } + vertex = normal.subtract(side1).add(side2).multiply(scaleVector); + positions.push(vertex.x, vertex.y, vertex.z); + normals.push(normal.x, normal.y, normal.z); + uvs.push(faceUV[index].x, faceUV[index].w); + if (faceColors) { + colors.push(faceColors[index].r, faceColors[index].g, faceColors[index].b, faceColors[index].a); + } + vertex = normal.add(side1).add(side2).multiply(scaleVector); + positions.push(vertex.x, vertex.y, vertex.z); + normals.push(normal.x, normal.y, normal.z); + uvs.push(faceUV[index].x, faceUV[index].y); + if (faceColors) { + colors.push(faceColors[index].r, faceColors[index].g, faceColors[index].b, faceColors[index].a); + } + vertex = normal.add(side1).subtract(side2).multiply(scaleVector); + positions.push(vertex.x, vertex.y, vertex.z); + normals.push(normal.x, normal.y, normal.z); + uvs.push(faceUV[index].z, faceUV[index].y); + if (faceColors) { + colors.push(faceColors[index].r, faceColors[index].g, faceColors[index].b, faceColors[index].a); + } + } + // sides + VertexData._ComputeSides(sideOrientation, positions, indices, normals, uvs); + // Result + var vertexData = new VertexData(); + vertexData.indices = indices; + vertexData.positions = positions; + vertexData.normals = normals; + vertexData.uvs = uvs; + if (faceColors) { + var totalColors = (sideOrientation === BABYLON.Mesh.DOUBLESIDE) ? colors.concat(colors) : colors; + vertexData.colors = totalColors; + } + return vertexData; + }; + VertexData.CreateSphere = function (options) { + var segments = options.segments || 32; + var diameterX = options.diameterX || options.diameter || 1; + var diameterY = options.diameterY || options.diameter || 1; + var diameterZ = options.diameterZ || options.diameter || 1; + var arc = (options.arc <= 0 || options.arc > 1) ? 1.0 : options.arc || 1.0; + var slice = (options.slice <= 0) ? 1.0 : options.slice || 1.0; + var sideOrientation = (options.sideOrientation === 0) ? 0 : options.sideOrientation || BABYLON.Mesh.DEFAULTSIDE; + var radius = new BABYLON.Vector3(diameterX / 2, diameterY / 2, diameterZ / 2); + var totalZRotationSteps = 2 + segments; + var totalYRotationSteps = 2 * totalZRotationSteps; + var indices = []; + var positions = []; + var normals = []; + var uvs = []; + for (var zRotationStep = 0; zRotationStep <= totalZRotationSteps; zRotationStep++) { + var normalizedZ = zRotationStep / totalZRotationSteps; + var angleZ = normalizedZ * Math.PI * slice; + for (var yRotationStep = 0; yRotationStep <= totalYRotationSteps; yRotationStep++) { + var normalizedY = yRotationStep / totalYRotationSteps; + var angleY = normalizedY * Math.PI * 2 * arc; + var rotationZ = BABYLON.Matrix.RotationZ(-angleZ); + var rotationY = BABYLON.Matrix.RotationY(angleY); + var afterRotZ = BABYLON.Vector3.TransformCoordinates(BABYLON.Vector3.Up(), rotationZ); + var complete = BABYLON.Vector3.TransformCoordinates(afterRotZ, rotationY); + var vertex = complete.multiply(radius); + var normal = complete.divide(radius).normalize(); + positions.push(vertex.x, vertex.y, vertex.z); + normals.push(normal.x, normal.y, normal.z); + uvs.push(normalizedY, normalizedZ); + } + if (zRotationStep > 0) { + var verticesCount = positions.length / 3; + for (var firstIndex = verticesCount - 2 * (totalYRotationSteps + 1); (firstIndex + totalYRotationSteps + 2) < verticesCount; firstIndex++) { + indices.push((firstIndex)); + indices.push((firstIndex + 1)); + indices.push(firstIndex + totalYRotationSteps + 1); + indices.push((firstIndex + totalYRotationSteps + 1)); + indices.push((firstIndex + 1)); + indices.push((firstIndex + totalYRotationSteps + 2)); + } + } + } + // Sides + VertexData._ComputeSides(sideOrientation, positions, indices, normals, uvs); + // Result + var vertexData = new VertexData(); + vertexData.indices = indices; + vertexData.positions = positions; + vertexData.normals = normals; + vertexData.uvs = uvs; + return vertexData; + }; + // Cylinder and cone + VertexData.CreateCylinder = function (options) { + var height = options.height || 2; + var diameterTop = (options.diameterTop === 0) ? 0 : options.diameterTop || options.diameter || 1; + var diameterBottom = (options.diameterBottom === 0) ? 0 : options.diameterBottom || options.diameter || 1; + var tessellation = options.tessellation || 24; + var subdivisions = options.subdivisions || 1; + var hasRings = options.hasRings; + var enclose = options.enclose; + var arc = (options.arc <= 0 || options.arc > 1) ? 1.0 : options.arc || 1.0; + var sideOrientation = (options.sideOrientation === 0) ? 0 : options.sideOrientation || BABYLON.Mesh.DEFAULTSIDE; + var faceUV = options.faceUV || new Array(3); + var faceColors = options.faceColors; + // default face colors and UV if undefined + var quadNb = (arc !== 1 && enclose) ? 2 : 0; + var ringNb = (hasRings) ? subdivisions : 1; + var surfaceNb = 2 + (1 + quadNb) * ringNb; + var f; + for (f = 0; f < surfaceNb; f++) { + if (faceColors && faceColors[f] === undefined) { + faceColors[f] = new BABYLON.Color4(1, 1, 1, 1); + } + } + for (f = 0; f < surfaceNb; f++) { + if (faceUV && faceUV[f] === undefined) { + faceUV[f] = new BABYLON.Vector4(0, 0, 1, 1); + } + } + var indices = []; + var positions = []; + var normals = []; + var uvs = []; + var colors = []; + var angle_step = Math.PI * 2 * arc / tessellation; + var angle; + var h; + var radius; + var tan = (diameterBottom - diameterTop) / 2 / height; + var ringVertex = BABYLON.Vector3.Zero(); + var ringNormal = BABYLON.Vector3.Zero(); + var ringFirstVertex = BABYLON.Vector3.Zero(); + var ringFirstNormal = BABYLON.Vector3.Zero(); + var quadNormal = BABYLON.Vector3.Zero(); + var Y = BABYLON.Axis.Y; + // positions, normals, uvs + var i; + var j; + var r; + var ringIdx = 1; + var s = 1; // surface index + var cs = 0; + var v = 0; + for (i = 0; i <= subdivisions; i++) { + h = i / subdivisions; + radius = (h * (diameterTop - diameterBottom) + diameterBottom) / 2; + ringIdx = (hasRings && i !== 0 && i !== subdivisions) ? 2 : 1; + for (r = 0; r < ringIdx; r++) { + if (hasRings) { + s += r; + } + if (enclose) { + s += 2 * r; + } + for (j = 0; j <= tessellation; j++) { + angle = j * angle_step; + // position + ringVertex.x = Math.cos(-angle) * radius; + ringVertex.y = -height / 2 + h * height; + ringVertex.z = Math.sin(-angle) * radius; + // normal + if (diameterTop === 0 && i === subdivisions) { + // if no top cap, reuse former normals + ringNormal.x = normals[normals.length - (tessellation + 1) * 3]; + ringNormal.y = normals[normals.length - (tessellation + 1) * 3 + 1]; + ringNormal.z = normals[normals.length - (tessellation + 1) * 3 + 2]; + } + else { + ringNormal.x = ringVertex.x; + ringNormal.z = ringVertex.z; + ringNormal.y = Math.sqrt(ringNormal.x * ringNormal.x + ringNormal.z * ringNormal.z) * tan; + ringNormal.normalize(); + } + // keep first ring vertex values for enclose + if (j === 0) { + ringFirstVertex.copyFrom(ringVertex); + ringFirstNormal.copyFrom(ringNormal); + } + positions.push(ringVertex.x, ringVertex.y, ringVertex.z); + normals.push(ringNormal.x, ringNormal.y, ringNormal.z); + if (hasRings) { + v = (cs !== s) ? faceUV[s].y : faceUV[s].w; + } + else { + v = faceUV[s].y + (faceUV[s].w - faceUV[s].y) * h; + } + uvs.push(faceUV[s].x + (faceUV[s].z - faceUV[s].x) * j / tessellation, v); + if (faceColors) { + colors.push(faceColors[s].r, faceColors[s].g, faceColors[s].b, faceColors[s].a); + } + } + // if enclose, add four vertices and their dedicated normals + if (arc !== 1 && enclose) { + positions.push(ringVertex.x, ringVertex.y, ringVertex.z); + positions.push(0, ringVertex.y, 0); + positions.push(0, ringVertex.y, 0); + positions.push(ringFirstVertex.x, ringFirstVertex.y, ringFirstVertex.z); + BABYLON.Vector3.CrossToRef(Y, ringNormal, quadNormal); + quadNormal.normalize(); + normals.push(quadNormal.x, quadNormal.y, quadNormal.z, quadNormal.x, quadNormal.y, quadNormal.z); + BABYLON.Vector3.CrossToRef(ringFirstNormal, Y, quadNormal); + quadNormal.normalize(); + normals.push(quadNormal.x, quadNormal.y, quadNormal.z, quadNormal.x, quadNormal.y, quadNormal.z); + if (hasRings) { + v = (cs !== s) ? faceUV[s + 1].y : faceUV[s + 1].w; + } + else { + v = faceUV[s + 1].y + (faceUV[s + 1].w - faceUV[s + 1].y) * h; + } + uvs.push(faceUV[s + 1].x, v); + uvs.push(faceUV[s + 1].z, v); + if (hasRings) { + v = (cs !== s) ? faceUV[s + 2].y : faceUV[s + 2].w; + } + else { + v = faceUV[s + 2].y + (faceUV[s + 2].w - faceUV[s + 2].y) * h; + } + uvs.push(faceUV[s + 2].x, v); + uvs.push(faceUV[s + 2].z, v); + if (faceColors) { + colors.push(faceColors[s + 1].r, faceColors[s + 1].g, faceColors[s + 1].b, faceColors[s + 1].a); + colors.push(faceColors[s + 1].r, faceColors[s + 1].g, faceColors[s + 1].b, faceColors[s + 1].a); + colors.push(faceColors[s + 2].r, faceColors[s + 2].g, faceColors[s + 2].b, faceColors[s + 2].a); + colors.push(faceColors[s + 2].r, faceColors[s + 2].g, faceColors[s + 2].b, faceColors[s + 2].a); + } + } + if (cs !== s) { + cs = s; + } + } + } + // indices + var e = (arc !== 1 && enclose) ? tessellation + 4 : tessellation; // correction of number of iteration if enclose + var s; + i = 0; + for (s = 0; s < subdivisions; s++) { + for (j = 0; j < tessellation; j++) { + var i0 = i * (e + 1) + j; + var i1 = (i + 1) * (e + 1) + j; + var i2 = i * (e + 1) + (j + 1); + var i3 = (i + 1) * (e + 1) + (j + 1); + indices.push(i0, i1, i2); + indices.push(i3, i2, i1); + } + if (arc !== 1 && enclose) { + indices.push(i0 + 2, i1 + 2, i2 + 2); + indices.push(i3 + 2, i2 + 2, i1 + 2); + indices.push(i0 + 4, i1 + 4, i2 + 4); + indices.push(i3 + 4, i2 + 4, i1 + 4); + } + i = (hasRings) ? (i + 2) : (i + 1); + } + // Caps + var createCylinderCap = function (isTop) { + var radius = isTop ? diameterTop / 2 : diameterBottom / 2; + if (radius === 0) { + return; + } + // Cap positions, normals & uvs + var angle; + var circleVector; + var i; + var u = (isTop) ? faceUV[surfaceNb - 1] : faceUV[0]; + var c; + if (faceColors) { + c = (isTop) ? faceColors[surfaceNb - 1] : faceColors[0]; + } + // cap center + var vbase = positions.length / 3; + var offset = isTop ? height / 2 : -height / 2; + var center = new BABYLON.Vector3(0, offset, 0); + positions.push(center.x, center.y, center.z); + normals.push(0, isTop ? 1 : -1, 0); + uvs.push(u.x + (u.z - u.x) * 0.5, u.y + (u.w - u.y) * 0.5); + if (faceColors) { + colors.push(c.r, c.g, c.b, c.a); + } + var textureScale = new BABYLON.Vector2(0.5, 0.5); + for (i = 0; i <= tessellation; i++) { + angle = Math.PI * 2 * i * arc / tessellation; + var cos = Math.cos(-angle); + var sin = Math.sin(-angle); + circleVector = new BABYLON.Vector3(cos * radius, offset, sin * radius); + var textureCoordinate = new BABYLON.Vector2(cos * textureScale.x + 0.5, sin * textureScale.y + 0.5); + positions.push(circleVector.x, circleVector.y, circleVector.z); + normals.push(0, isTop ? 1 : -1, 0); + uvs.push(u.x + (u.z - u.x) * textureCoordinate.x, u.y + (u.w - u.y) * textureCoordinate.y); + if (faceColors) { + colors.push(c.r, c.g, c.b, c.a); + } + } + // Cap indices + for (i = 0; i < tessellation; i++) { + if (!isTop) { + indices.push(vbase); + indices.push(vbase + (i + 1)); + indices.push(vbase + (i + 2)); + } + else { + indices.push(vbase); + indices.push(vbase + (i + 2)); + indices.push(vbase + (i + 1)); + } + } + }; + // add caps to geometry + createCylinderCap(false); + createCylinderCap(true); + // Sides + VertexData._ComputeSides(sideOrientation, positions, indices, normals, uvs); + var vertexData = new VertexData(); + vertexData.indices = indices; + vertexData.positions = positions; + vertexData.normals = normals; + vertexData.uvs = uvs; + if (faceColors) { + vertexData.colors = colors; + } + return vertexData; + }; + VertexData.CreateTorus = function (options) { + var indices = []; + var positions = []; + var normals = []; + var uvs = []; + var diameter = options.diameter || 1; + var thickness = options.thickness || 0.5; + var tessellation = options.tessellation || 16; + var sideOrientation = (options.sideOrientation === 0) ? 0 : options.sideOrientation || BABYLON.Mesh.DEFAULTSIDE; + var stride = tessellation + 1; + for (var i = 0; i <= tessellation; i++) { + var u = i / tessellation; + var outerAngle = i * Math.PI * 2.0 / tessellation - Math.PI / 2.0; + var transform = BABYLON.Matrix.Translation(diameter / 2.0, 0, 0).multiply(BABYLON.Matrix.RotationY(outerAngle)); + for (var j = 0; j <= tessellation; j++) { + var v = 1 - j / tessellation; + var innerAngle = j * Math.PI * 2.0 / tessellation + Math.PI; + var dx = Math.cos(innerAngle); + var dy = Math.sin(innerAngle); + // Create a vertex. + var normal = new BABYLON.Vector3(dx, dy, 0); + var position = normal.scale(thickness / 2); + var textureCoordinate = new BABYLON.Vector2(u, v); + position = BABYLON.Vector3.TransformCoordinates(position, transform); + normal = BABYLON.Vector3.TransformNormal(normal, transform); + positions.push(position.x, position.y, position.z); + normals.push(normal.x, normal.y, normal.z); + uvs.push(textureCoordinate.x, textureCoordinate.y); + // And create indices for two triangles. + var nextI = (i + 1) % stride; + var nextJ = (j + 1) % stride; + indices.push(i * stride + j); + indices.push(i * stride + nextJ); + indices.push(nextI * stride + j); + indices.push(i * stride + nextJ); + indices.push(nextI * stride + nextJ); + indices.push(nextI * stride + j); + } + } + // Sides + VertexData._ComputeSides(sideOrientation, positions, indices, normals, uvs); + // Result + var vertexData = new VertexData(); + vertexData.indices = indices; + vertexData.positions = positions; + vertexData.normals = normals; + vertexData.uvs = uvs; + return vertexData; + }; + VertexData.CreateLineSystem = function (options) { + var indices = []; + var positions = []; + var lines = options.lines; + var idx = 0; + for (var l = 0; l < lines.length; l++) { + var points = lines[l]; + for (var index = 0; index < points.length; index++) { + positions.push(points[index].x, points[index].y, points[index].z); + if (index > 0) { + indices.push(idx - 1); + indices.push(idx); + } + idx++; + } + } + var vertexData = new VertexData(); + vertexData.indices = indices; + vertexData.positions = positions; + return vertexData; + }; + VertexData.CreateDashedLines = function (options) { + var dashSize = options.dashSize || 3; + var gapSize = options.gapSize || 1; + var dashNb = options.dashNb || 200; + var points = options.points; + var positions = new Array(); + var indices = new Array(); + var curvect = BABYLON.Vector3.Zero(); + var lg = 0; + var nb = 0; + var shft = 0; + var dashshft = 0; + var curshft = 0; + var idx = 0; + var i = 0; + for (i = 0; i < points.length - 1; i++) { + points[i + 1].subtractToRef(points[i], curvect); + lg += curvect.length(); + } + shft = lg / dashNb; + dashshft = dashSize * shft / (dashSize + gapSize); + for (i = 0; i < points.length - 1; i++) { + points[i + 1].subtractToRef(points[i], curvect); + nb = Math.floor(curvect.length() / shft); + curvect.normalize(); + for (var j = 0; j < nb; j++) { + curshft = shft * j; + positions.push(points[i].x + curshft * curvect.x, points[i].y + curshft * curvect.y, points[i].z + curshft * curvect.z); + positions.push(points[i].x + (curshft + dashshft) * curvect.x, points[i].y + (curshft + dashshft) * curvect.y, points[i].z + (curshft + dashshft) * curvect.z); + indices.push(idx, idx + 1); + idx += 2; + } + } + // Result + var vertexData = new VertexData(); + vertexData.positions = positions; + vertexData.indices = indices; + return vertexData; + }; + VertexData.CreateGround = function (options) { + var indices = []; + var positions = []; + var normals = []; + var uvs = []; + var row, col; + var width = options.width || 1; + var height = options.height || 1; + var subdivisionsX = options.subdivisionsX || options.subdivisions || 1; + var subdivisionsY = options.subdivisionsY || options.subdivisions || 1; + for (row = 0; row <= subdivisionsY; row++) { + for (col = 0; col <= subdivisionsX; col++) { + var position = new BABYLON.Vector3((col * width) / subdivisionsX - (width / 2.0), 0, ((subdivisionsY - row) * height) / subdivisionsY - (height / 2.0)); + var normal = new BABYLON.Vector3(0, 1.0, 0); + positions.push(position.x, position.y, position.z); + normals.push(normal.x, normal.y, normal.z); + uvs.push(col / subdivisionsX, 1.0 - row / subdivisionsX); + } + } + for (row = 0; row < subdivisionsY; row++) { + for (col = 0; col < subdivisionsX; col++) { + indices.push(col + 1 + (row + 1) * (subdivisionsX + 1)); + indices.push(col + 1 + row * (subdivisionsX + 1)); + indices.push(col + row * (subdivisionsX + 1)); + indices.push(col + (row + 1) * (subdivisionsX + 1)); + indices.push(col + 1 + (row + 1) * (subdivisionsX + 1)); + indices.push(col + row * (subdivisionsX + 1)); + } + } + // Result + var vertexData = new VertexData(); + vertexData.indices = indices; + vertexData.positions = positions; + vertexData.normals = normals; + vertexData.uvs = uvs; + return vertexData; + }; + VertexData.CreateTiledGround = function (options) { + var xmin = options.xmin || -1.0; + var zmin = options.zmin || -1.0; + var xmax = options.xmax || 1.0; + var zmax = options.zmax || 1.0; + var subdivisions = options.subdivisions || { w: 1, h: 1 }; + var precision = options.precision || { w: 1, h: 1 }; + var indices = []; + var positions = []; + var normals = []; + var uvs = []; + var row, col, tileRow, tileCol; + subdivisions.h = (subdivisions.h < 1) ? 1 : subdivisions.h; + subdivisions.w = (subdivisions.w < 1) ? 1 : subdivisions.w; + precision.w = (precision.w < 1) ? 1 : precision.w; + precision.h = (precision.h < 1) ? 1 : precision.h; + var tileSize = { + 'w': (xmax - xmin) / subdivisions.w, + 'h': (zmax - zmin) / subdivisions.h + }; + function applyTile(xTileMin, zTileMin, xTileMax, zTileMax) { + // Indices + var base = positions.length / 3; + var rowLength = precision.w + 1; + for (row = 0; row < precision.h; row++) { + for (col = 0; col < precision.w; col++) { + var square = [ + base + col + row * rowLength, + base + (col + 1) + row * rowLength, + base + (col + 1) + (row + 1) * rowLength, + base + col + (row + 1) * rowLength + ]; + indices.push(square[1]); + indices.push(square[2]); + indices.push(square[3]); + indices.push(square[0]); + indices.push(square[1]); + indices.push(square[3]); + } + } + // Position, normals and uvs + var position = BABYLON.Vector3.Zero(); + var normal = new BABYLON.Vector3(0, 1.0, 0); + for (row = 0; row <= precision.h; row++) { + position.z = (row * (zTileMax - zTileMin)) / precision.h + zTileMin; + for (col = 0; col <= precision.w; col++) { + position.x = (col * (xTileMax - xTileMin)) / precision.w + xTileMin; + position.y = 0; + positions.push(position.x, position.y, position.z); + normals.push(normal.x, normal.y, normal.z); + uvs.push(col / precision.w, row / precision.h); + } + } + } + for (tileRow = 0; tileRow < subdivisions.h; tileRow++) { + for (tileCol = 0; tileCol < subdivisions.w; tileCol++) { + applyTile(xmin + tileCol * tileSize.w, zmin + tileRow * tileSize.h, xmin + (tileCol + 1) * tileSize.w, zmin + (tileRow + 1) * tileSize.h); + } + } + // Result + var vertexData = new VertexData(); + vertexData.indices = indices; + vertexData.positions = positions; + vertexData.normals = normals; + vertexData.uvs = uvs; + return vertexData; + }; + VertexData.CreateGroundFromHeightMap = function (options) { + var indices = []; + var positions = []; + var normals = []; + var uvs = []; + var row, col; + // Vertices + for (row = 0; row <= options.subdivisions; row++) { + for (col = 0; col <= options.subdivisions; col++) { + var position = new BABYLON.Vector3((col * options.width) / options.subdivisions - (options.width / 2.0), 0, ((options.subdivisions - row) * options.height) / options.subdivisions - (options.height / 2.0)); + // Compute height + var heightMapX = (((position.x + options.width / 2) / options.width) * (options.bufferWidth - 1)) | 0; + var heightMapY = ((1.0 - (position.z + options.height / 2) / options.height) * (options.bufferHeight - 1)) | 0; + var pos = (heightMapX + heightMapY * options.bufferWidth) * 4; + var r = options.buffer[pos] / 255.0; + var g = options.buffer[pos + 1] / 255.0; + var b = options.buffer[pos + 2] / 255.0; + var gradient = r * 0.3 + g * 0.59 + b * 0.11; + position.y = options.minHeight + (options.maxHeight - options.minHeight) * gradient; + // Add vertex + positions.push(position.x, position.y, position.z); + normals.push(0, 0, 0); + uvs.push(col / options.subdivisions, 1.0 - row / options.subdivisions); + } + } + // Indices + for (row = 0; row < options.subdivisions; row++) { + for (col = 0; col < options.subdivisions; col++) { + indices.push(col + 1 + (row + 1) * (options.subdivisions + 1)); + indices.push(col + 1 + row * (options.subdivisions + 1)); + indices.push(col + row * (options.subdivisions + 1)); + indices.push(col + (row + 1) * (options.subdivisions + 1)); + indices.push(col + 1 + (row + 1) * (options.subdivisions + 1)); + indices.push(col + row * (options.subdivisions + 1)); + } + } + // Normals + VertexData.ComputeNormals(positions, indices, normals); + // Result + var vertexData = new VertexData(); + vertexData.indices = indices; + vertexData.positions = positions; + vertexData.normals = normals; + vertexData.uvs = uvs; + return vertexData; + }; + VertexData.CreatePlane = function (options) { + var indices = []; + var positions = []; + var normals = []; + var uvs = []; + var width = options.width || options.size || 1; + var height = options.height || options.size || 1; + var sideOrientation = (options.sideOrientation === 0) ? 0 : options.sideOrientation || BABYLON.Mesh.DEFAULTSIDE; + // Vertices + var halfWidth = width / 2.0; + var halfHeight = height / 2.0; + positions.push(-halfWidth, -halfHeight, 0); + normals.push(0, 0, -1.0); + uvs.push(0.0, 0.0); + positions.push(halfWidth, -halfHeight, 0); + normals.push(0, 0, -1.0); + uvs.push(1.0, 0.0); + positions.push(halfWidth, halfHeight, 0); + normals.push(0, 0, -1.0); + uvs.push(1.0, 1.0); + positions.push(-halfWidth, halfHeight, 0); + normals.push(0, 0, -1.0); + uvs.push(0.0, 1.0); + // Indices + indices.push(0); + indices.push(1); + indices.push(2); + indices.push(0); + indices.push(2); + indices.push(3); + // Sides + VertexData._ComputeSides(sideOrientation, positions, indices, normals, uvs); + // Result + var vertexData = new VertexData(); + vertexData.indices = indices; + vertexData.positions = positions; + vertexData.normals = normals; + vertexData.uvs = uvs; + return vertexData; + }; + VertexData.CreateDisc = function (options) { + var positions = []; + var indices = []; + var normals = []; + var uvs = []; + var radius = options.radius || 0.5; + var tessellation = options.tessellation || 64; + var arc = (options.arc <= 0 || options.arc > 1) ? 1.0 : options.arc || 1.0; + var sideOrientation = (options.sideOrientation === 0) ? 0 : options.sideOrientation || BABYLON.Mesh.DEFAULTSIDE; + // positions and uvs + positions.push(0, 0, 0); // disc center first + uvs.push(0.5, 0.5); + var theta = Math.PI * 2 * arc; + var step = theta / tessellation; + for (var a = 0; a < theta; a += step) { + var x = Math.cos(a); + var y = Math.sin(a); + var u = (x + 1) / 2; + var v = (1 - y) / 2; + positions.push(radius * x, radius * y, 0); + uvs.push(u, v); + } + if (arc === 1) { + positions.push(positions[3], positions[4], positions[5]); // close the circle + uvs.push(uvs[2], uvs[3]); + } + //indices + var vertexNb = positions.length / 3; + for (var i = 1; i < vertexNb - 1; i++) { + indices.push(i + 1, 0, i); + } + // result + VertexData.ComputeNormals(positions, indices, normals); + VertexData._ComputeSides(sideOrientation, positions, indices, normals, uvs); + var vertexData = new VertexData(); + vertexData.indices = indices; + vertexData.positions = positions; + vertexData.normals = normals; + vertexData.uvs = uvs; + return vertexData; + }; + VertexData.CreateIcoSphere = function (options) { + var sideOrientation = options.sideOrientation || BABYLON.Mesh.DEFAULTSIDE; + var radius = options.radius || 1; + var flat = (options.flat === undefined) ? true : options.flat; + var subdivisions = options.subdivisions || 4; + var radiusX = options.radiusX || radius; + var radiusY = options.radiusY || radius; + var radiusZ = options.radiusZ || radius; + var t = (1 + Math.sqrt(5)) / 2; + // 12 vertex x,y,z + var ico_vertices = [ + -1, t, -0, 1, t, 0, -1, -t, 0, 1, -t, 0, + 0, -1, -t, 0, 1, -t, 0, -1, t, 0, 1, t, + t, 0, 1, t, 0, -1, -t, 0, 1, -t, 0, -1 // v8-11 + ]; + // index of 3 vertex makes a face of icopshere + var ico_indices = [ + 0, 11, 5, 0, 5, 1, 0, 1, 7, 0, 7, 10, 12, 22, 23, + 1, 5, 20, 5, 11, 4, 23, 22, 13, 22, 18, 6, 7, 1, 8, + 14, 21, 4, 14, 4, 2, 16, 13, 6, 15, 6, 19, 3, 8, 9, + 4, 21, 5, 13, 17, 23, 6, 13, 22, 19, 6, 18, 9, 8, 1 + ]; + // vertex for uv have aliased position, not for UV + var vertices_unalias_id = [ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, + // vertex alias + 0, + 2, + 3, + 3, + 3, + 4, + 7, + 8, + 9, + 9, + 10, + 11 // 23: B + 12 + ]; + // uv as integer step (not pixels !) + var ico_vertexuv = [ + 5, 1, 3, 1, 6, 4, 0, 0, + 5, 3, 4, 2, 2, 2, 4, 0, + 2, 0, 1, 1, 6, 0, 6, 2, + // vertex alias (for same vertex on different faces) + 0, 4, + 3, 3, + 4, 4, + 3, 1, + 4, 2, + 4, 4, + 0, 2, + 1, 1, + 2, 2, + 3, 3, + 1, 3, + 2, 4 // 23: B + 12 + ]; + // Vertices[0, 1, ...9, A, B] : position on UV plane + // '+' indicate duplicate position to be fixed (3,9:0,2,3,4,7,8,A,B) + // First island of uv mapping + // v = 4h 3+ 2 + // v = 3h 9+ 4 + // v = 2h 9+ 5 B + // v = 1h 9 1 0 + // v = 0h 3 8 7 A + // u = 0 1 2 3 4 5 6 *a + // Second island of uv mapping + // v = 4h 0+ B+ 4+ + // v = 3h A+ 2+ + // v = 2h 7+ 6 3+ + // v = 1h 8+ 3+ + // v = 0h + // u = 0 1 2 3 4 5 6 *a + // Face layout on texture UV mapping + // ============ + // \ 4 /\ 16 / ====== + // \ / \ / /\ 11 / + // \/ 7 \/ / \ / + // ======= / 10 \/ + // /\ 17 /\ ======= + // / \ / \ \ 15 /\ + // / 8 \/ 12 \ \ / \ + // ============ \/ 6 \ + // \ 18 /\ ============ + // \ / \ \ 5 /\ 0 / + // \/ 13 \ \ / \ / + // ======= \/ 1 \/ + // ============= + // /\ 19 /\ 2 /\ + // / \ / \ / \ + // / 14 \/ 9 \/ 3 \ + // =================== + // uv step is u:1 or 0.5, v:cos(30)=sqrt(3)/2, ratio approx is 84/97 + var ustep = 138 / 1024; + var vstep = 239 / 1024; + var uoffset = 60 / 1024; + var voffset = 26 / 1024; + // Second island should have margin, not to touch the first island + // avoid any borderline artefact in pixel rounding + var island_u_offset = -40 / 1024; + var island_v_offset = +20 / 1024; + // face is either island 0 or 1 : + // second island is for faces : [4, 7, 8, 12, 13, 16, 17, 18] + var island = [ + 0, 0, 0, 0, 1, + 0, 0, 1, 1, 0, + 0, 0, 1, 1, 0, + 0, 1, 1, 1, 0 // 15 - 19 + ]; + var indices = []; + var positions = []; + var normals = []; + var uvs = []; + var current_indice = 0; + // prepare array of 3 vector (empty) (to be worked in place, shared for each face) + var face_vertex_pos = new Array(3); + var face_vertex_uv = new Array(3); + var v012; + for (v012 = 0; v012 < 3; v012++) { + face_vertex_pos[v012] = BABYLON.Vector3.Zero(); + face_vertex_uv[v012] = BABYLON.Vector2.Zero(); + } + // create all with normals + for (var face = 0; face < 20; face++) { + // 3 vertex per face + for (v012 = 0; v012 < 3; v012++) { + // look up vertex 0,1,2 to its index in 0 to 11 (or 23 including alias) + var v_id = ico_indices[3 * face + v012]; + // vertex have 3D position (x,y,z) + face_vertex_pos[v012].copyFromFloats(ico_vertices[3 * vertices_unalias_id[v_id]], ico_vertices[3 * vertices_unalias_id[v_id] + 1], ico_vertices[3 * vertices_unalias_id[v_id] + 2]); + // Normalize to get normal, then scale to radius + face_vertex_pos[v012].normalize().scaleInPlace(radius); + // uv Coordinates from vertex ID + face_vertex_uv[v012].copyFromFloats(ico_vertexuv[2 * v_id] * ustep + uoffset + island[face] * island_u_offset, ico_vertexuv[2 * v_id + 1] * vstep + voffset + island[face] * island_v_offset); + } + // Subdivide the face (interpolate pos, norm, uv) + // - pos is linear interpolation, then projected to sphere (converge polyhedron to sphere) + // - norm is linear interpolation of vertex corner normal + // (to be checked if better to re-calc from face vertex, or if approximation is OK ??? ) + // - uv is linear interpolation + // + // Topology is as below for sub-divide by 2 + // vertex shown as v0,v1,v2 + // interp index is i1 to progress in range [v0,v1[ + // interp index is i2 to progress in range [v0,v2[ + // face index as (i1,i2) for /\ : (i1,i2),(i1+1,i2),(i1,i2+1) + // and (i1,i2)' for \/ : (i1+1,i2),(i1+1,i2+1),(i1,i2+1) + // + // + // i2 v2 + // ^ ^ + // / / \ + // / / \ + // / / \ + // / / (0,1) \ + // / #---------\ + // / / \ (0,0)'/ \ + // / / \ / \ + // / / \ / \ + // / / (0,0) \ / (1,0) \ + // / #---------#---------\ + // v0 v1 + // + // --------------------> i1 + // + // interp of (i1,i2): + // along i2 : x0=lerp(v0,v2, i2/S) <---> x1=lerp(v1,v2, i2/S) + // along i1 : lerp(x0,x1, i1/(S-i2)) + // + // centroid of triangle is needed to get help normal computation + // (c1,c2) are used for centroid location + var interp_vertex = function (i1, i2, c1, c2) { + // vertex is interpolated from + // - face_vertex_pos[0..2] + // - face_vertex_uv[0..2] + var pos_x0 = BABYLON.Vector3.Lerp(face_vertex_pos[0], face_vertex_pos[2], i2 / subdivisions); + var pos_x1 = BABYLON.Vector3.Lerp(face_vertex_pos[1], face_vertex_pos[2], i2 / subdivisions); + var pos_interp = (subdivisions === i2) ? face_vertex_pos[2] : BABYLON.Vector3.Lerp(pos_x0, pos_x1, i1 / (subdivisions - i2)); + pos_interp.normalize(); + var vertex_normal; + if (flat) { + // in flat mode, recalculate normal as face centroid normal + var centroid_x0 = BABYLON.Vector3.Lerp(face_vertex_pos[0], face_vertex_pos[2], c2 / subdivisions); + var centroid_x1 = BABYLON.Vector3.Lerp(face_vertex_pos[1], face_vertex_pos[2], c2 / subdivisions); + vertex_normal = BABYLON.Vector3.Lerp(centroid_x0, centroid_x1, c1 / (subdivisions - c2)); + } + else { + // in smooth mode, recalculate normal from each single vertex position + vertex_normal = new BABYLON.Vector3(pos_interp.x, pos_interp.y, pos_interp.z); + } + // Vertex normal need correction due to X,Y,Z radius scaling + vertex_normal.x /= radiusX; + vertex_normal.y /= radiusY; + vertex_normal.z /= radiusZ; + vertex_normal.normalize(); + var uv_x0 = BABYLON.Vector2.Lerp(face_vertex_uv[0], face_vertex_uv[2], i2 / subdivisions); + var uv_x1 = BABYLON.Vector2.Lerp(face_vertex_uv[1], face_vertex_uv[2], i2 / subdivisions); + var uv_interp = (subdivisions === i2) ? face_vertex_uv[2] : BABYLON.Vector2.Lerp(uv_x0, uv_x1, i1 / (subdivisions - i2)); + positions.push(pos_interp.x * radiusX, pos_interp.y * radiusY, pos_interp.z * radiusZ); + normals.push(vertex_normal.x, vertex_normal.y, vertex_normal.z); + uvs.push(uv_interp.x, uv_interp.y); + // push each vertex has member of a face + // Same vertex can bleong to multiple face, it is pushed multiple time (duplicate vertex are present) + indices.push(current_indice); + current_indice++; + }; + for (var i2 = 0; i2 < subdivisions; i2++) { + for (var i1 = 0; i1 + i2 < subdivisions; i1++) { + // face : (i1,i2) for /\ : + // interp for : (i1,i2),(i1+1,i2),(i1,i2+1) + interp_vertex(i1, i2, i1 + 1.0 / 3, i2 + 1.0 / 3); + interp_vertex(i1 + 1, i2, i1 + 1.0 / 3, i2 + 1.0 / 3); + interp_vertex(i1, i2 + 1, i1 + 1.0 / 3, i2 + 1.0 / 3); + if (i1 + i2 + 1 < subdivisions) { + // face : (i1,i2)' for \/ : + // interp for (i1+1,i2),(i1+1,i2+1),(i1,i2+1) + interp_vertex(i1 + 1, i2, i1 + 2.0 / 3, i2 + 2.0 / 3); + interp_vertex(i1 + 1, i2 + 1, i1 + 2.0 / 3, i2 + 2.0 / 3); + interp_vertex(i1, i2 + 1, i1 + 2.0 / 3, i2 + 2.0 / 3); + } + } + } + } + // Sides + VertexData._ComputeSides(sideOrientation, positions, indices, normals, uvs); + // Result + var vertexData = new VertexData(); + vertexData.indices = indices; + vertexData.positions = positions; + vertexData.normals = normals; + vertexData.uvs = uvs; + return vertexData; + }; + // inspired from // http://stemkoski.github.io/Three.js/Polyhedra.html + VertexData.CreatePolyhedron = function (options) { + // provided polyhedron types : + // 0 : Tetrahedron, 1 : Octahedron, 2 : Dodecahedron, 3 : Icosahedron, 4 : Rhombicuboctahedron, 5 : Triangular Prism, 6 : Pentagonal Prism, 7 : Hexagonal Prism, 8 : Square Pyramid (J1) + // 9 : Pentagonal Pyramid (J2), 10 : Triangular Dipyramid (J12), 11 : Pentagonal Dipyramid (J13), 12 : Elongated Square Dipyramid (J15), 13 : Elongated Pentagonal Dipyramid (J16), 14 : Elongated Pentagonal Cupola (J20) + var polyhedra = []; + polyhedra[0] = { vertex: [[0, 0, 1.732051], [1.632993, 0, -0.5773503], [-0.8164966, 1.414214, -0.5773503], [-0.8164966, -1.414214, -0.5773503]], face: [[0, 1, 2], [0, 2, 3], [0, 3, 1], [1, 3, 2]] }; + polyhedra[1] = { vertex: [[0, 0, 1.414214], [1.414214, 0, 0], [0, 1.414214, 0], [-1.414214, 0, 0], [0, -1.414214, 0], [0, 0, -1.414214]], face: [[0, 1, 2], [0, 2, 3], [0, 3, 4], [0, 4, 1], [1, 4, 5], [1, 5, 2], [2, 5, 3], [3, 5, 4]] }; + polyhedra[2] = { + vertex: [[0, 0, 1.070466], [0.7136442, 0, 0.7978784], [-0.3568221, 0.618034, 0.7978784], [-0.3568221, -0.618034, 0.7978784], [0.7978784, 0.618034, 0.3568221], [0.7978784, -0.618034, 0.3568221], [-0.9341724, 0.381966, 0.3568221], [0.1362939, 1, 0.3568221], [0.1362939, -1, 0.3568221], [-0.9341724, -0.381966, 0.3568221], [0.9341724, 0.381966, -0.3568221], [0.9341724, -0.381966, -0.3568221], [-0.7978784, 0.618034, -0.3568221], [-0.1362939, 1, -0.3568221], [-0.1362939, -1, -0.3568221], [-0.7978784, -0.618034, -0.3568221], [0.3568221, 0.618034, -0.7978784], [0.3568221, -0.618034, -0.7978784], [-0.7136442, 0, -0.7978784], [0, 0, -1.070466]], + face: [[0, 1, 4, 7, 2], [0, 2, 6, 9, 3], [0, 3, 8, 5, 1], [1, 5, 11, 10, 4], [2, 7, 13, 12, 6], [3, 9, 15, 14, 8], [4, 10, 16, 13, 7], [5, 8, 14, 17, 11], [6, 12, 18, 15, 9], [10, 11, 17, 19, 16], [12, 13, 16, 19, 18], [14, 15, 18, 19, 17]] + }; + polyhedra[3] = { + vertex: [[0, 0, 1.175571], [1.051462, 0, 0.5257311], [0.3249197, 1, 0.5257311], [-0.8506508, 0.618034, 0.5257311], [-0.8506508, -0.618034, 0.5257311], [0.3249197, -1, 0.5257311], [0.8506508, 0.618034, -0.5257311], [0.8506508, -0.618034, -0.5257311], [-0.3249197, 1, -0.5257311], [-1.051462, 0, -0.5257311], [-0.3249197, -1, -0.5257311], [0, 0, -1.175571]], + face: [[0, 1, 2], [0, 2, 3], [0, 3, 4], [0, 4, 5], [0, 5, 1], [1, 5, 7], [1, 7, 6], [1, 6, 2], [2, 6, 8], [2, 8, 3], [3, 8, 9], [3, 9, 4], [4, 9, 10], [4, 10, 5], [5, 10, 7], [6, 7, 11], [6, 11, 8], [7, 10, 11], [8, 11, 9], [9, 11, 10]] + }; + polyhedra[4] = { + vertex: [[0, 0, 1.070722], [0.7148135, 0, 0.7971752], [-0.104682, 0.7071068, 0.7971752], [-0.6841528, 0.2071068, 0.7971752], [-0.104682, -0.7071068, 0.7971752], [0.6101315, 0.7071068, 0.5236279], [1.04156, 0.2071068, 0.1367736], [0.6101315, -0.7071068, 0.5236279], [-0.3574067, 1, 0.1367736], [-0.7888348, -0.5, 0.5236279], [-0.9368776, 0.5, 0.1367736], [-0.3574067, -1, 0.1367736], [0.3574067, 1, -0.1367736], [0.9368776, -0.5, -0.1367736], [0.7888348, 0.5, -0.5236279], [0.3574067, -1, -0.1367736], [-0.6101315, 0.7071068, -0.5236279], [-1.04156, -0.2071068, -0.1367736], [-0.6101315, -0.7071068, -0.5236279], [0.104682, 0.7071068, -0.7971752], [0.6841528, -0.2071068, -0.7971752], [0.104682, -0.7071068, -0.7971752], [-0.7148135, 0, -0.7971752], [0, 0, -1.070722]], + face: [[0, 2, 3], [1, 6, 5], [4, 9, 11], [7, 15, 13], [8, 16, 10], [12, 14, 19], [17, 22, 18], [20, 21, 23], [0, 1, 5, 2], [0, 3, 9, 4], [0, 4, 7, 1], [1, 7, 13, 6], [2, 5, 12, 8], [2, 8, 10, 3], [3, 10, 17, 9], [4, 11, 15, 7], [5, 6, 14, 12], [6, 13, 20, 14], [8, 12, 19, 16], [9, 17, 18, 11], [10, 16, 22, 17], [11, 18, 21, 15], [13, 15, 21, 20], [14, 20, 23, 19], [16, 19, 23, 22], [18, 22, 23, 21]] + }; + polyhedra[5] = { vertex: [[0, 0, 1.322876], [1.309307, 0, 0.1889822], [-0.9819805, 0.8660254, 0.1889822], [0.1636634, -1.299038, 0.1889822], [0.3273268, 0.8660254, -0.9449112], [-0.8183171, -0.4330127, -0.9449112]], face: [[0, 3, 1], [2, 4, 5], [0, 1, 4, 2], [0, 2, 5, 3], [1, 3, 5, 4]] }; + polyhedra[6] = { vertex: [[0, 0, 1.159953], [1.013464, 0, 0.5642542], [-0.3501431, 0.9510565, 0.5642542], [-0.7715208, -0.6571639, 0.5642542], [0.6633206, 0.9510565, -0.03144481], [0.8682979, -0.6571639, -0.3996071], [-1.121664, 0.2938926, -0.03144481], [-0.2348831, -1.063314, -0.3996071], [0.5181548, 0.2938926, -0.9953061], [-0.5850262, -0.112257, -0.9953061]], face: [[0, 1, 4, 2], [0, 2, 6, 3], [1, 5, 8, 4], [3, 6, 9, 7], [5, 7, 9, 8], [0, 3, 7, 5, 1], [2, 4, 8, 9, 6]] }; + polyhedra[7] = { vertex: [[0, 0, 1.118034], [0.8944272, 0, 0.6708204], [-0.2236068, 0.8660254, 0.6708204], [-0.7826238, -0.4330127, 0.6708204], [0.6708204, 0.8660254, 0.2236068], [1.006231, -0.4330127, -0.2236068], [-1.006231, 0.4330127, 0.2236068], [-0.6708204, -0.8660254, -0.2236068], [0.7826238, 0.4330127, -0.6708204], [0.2236068, -0.8660254, -0.6708204], [-0.8944272, 0, -0.6708204], [0, 0, -1.118034]], face: [[0, 1, 4, 2], [0, 2, 6, 3], [1, 5, 8, 4], [3, 6, 10, 7], [5, 9, 11, 8], [7, 10, 11, 9], [0, 3, 7, 9, 5, 1], [2, 4, 8, 11, 10, 6]] }; + polyhedra[8] = { vertex: [[-0.729665, 0.670121, 0.319155], [-0.655235, -0.29213, -0.754096], [-0.093922, -0.607123, 0.537818], [0.702196, 0.595691, 0.485187], [0.776626, -0.36656, -0.588064]], face: [[1, 4, 2], [0, 1, 2], [3, 0, 2], [4, 3, 2], [4, 1, 0, 3]] }; + polyhedra[9] = { vertex: [[-0.868849, -0.100041, 0.61257], [-0.329458, 0.976099, 0.28078], [-0.26629, -0.013796, -0.477654], [-0.13392, -1.034115, 0.229829], [0.738834, 0.707117, -0.307018], [0.859683, -0.535264, -0.338508]], face: [[3, 0, 2], [5, 3, 2], [4, 5, 2], [1, 4, 2], [0, 1, 2], [0, 3, 5, 4, 1]] }; + polyhedra[10] = { vertex: [[-0.610389, 0.243975, 0.531213], [-0.187812, -0.48795, -0.664016], [-0.187812, 0.9759, -0.664016], [0.187812, -0.9759, 0.664016], [0.798201, 0.243975, 0.132803]], face: [[1, 3, 0], [3, 4, 0], [3, 1, 4], [0, 2, 1], [0, 4, 2], [2, 4, 1]] }; + polyhedra[11] = { vertex: [[-1.028778, 0.392027, -0.048786], [-0.640503, -0.646161, 0.621837], [-0.125162, -0.395663, -0.540059], [0.004683, 0.888447, -0.651988], [0.125161, 0.395663, 0.540059], [0.632925, -0.791376, 0.433102], [1.031672, 0.157063, -0.354165]], face: [[3, 2, 0], [2, 1, 0], [2, 5, 1], [0, 4, 3], [0, 1, 4], [4, 1, 5], [2, 3, 6], [3, 4, 6], [5, 2, 6], [4, 5, 6]] }; + polyhedra[12] = { vertex: [[-0.669867, 0.334933, -0.529576], [-0.669867, 0.334933, 0.529577], [-0.4043, 1.212901, 0], [-0.334933, -0.669867, -0.529576], [-0.334933, -0.669867, 0.529577], [0.334933, 0.669867, -0.529576], [0.334933, 0.669867, 0.529577], [0.4043, -1.212901, 0], [0.669867, -0.334933, -0.529576], [0.669867, -0.334933, 0.529577]], face: [[8, 9, 7], [6, 5, 2], [3, 8, 7], [5, 0, 2], [4, 3, 7], [0, 1, 2], [9, 4, 7], [1, 6, 2], [9, 8, 5, 6], [8, 3, 0, 5], [3, 4, 1, 0], [4, 9, 6, 1]] }; + polyhedra[13] = { vertex: [[-0.931836, 0.219976, -0.264632], [-0.636706, 0.318353, 0.692816], [-0.613483, -0.735083, -0.264632], [-0.326545, 0.979634, 0], [-0.318353, -0.636706, 0.692816], [-0.159176, 0.477529, -0.856368], [0.159176, -0.477529, -0.856368], [0.318353, 0.636706, 0.692816], [0.326545, -0.979634, 0], [0.613482, 0.735082, -0.264632], [0.636706, -0.318353, 0.692816], [0.931835, -0.219977, -0.264632]], face: [[11, 10, 8], [7, 9, 3], [6, 11, 8], [9, 5, 3], [2, 6, 8], [5, 0, 3], [4, 2, 8], [0, 1, 3], [10, 4, 8], [1, 7, 3], [10, 11, 9, 7], [11, 6, 5, 9], [6, 2, 0, 5], [2, 4, 1, 0], [4, 10, 7, 1]] }; + polyhedra[14] = { + vertex: [[-0.93465, 0.300459, -0.271185], [-0.838689, -0.260219, -0.516017], [-0.711319, 0.717591, 0.128359], [-0.710334, -0.156922, 0.080946], [-0.599799, 0.556003, -0.725148], [-0.503838, -0.004675, -0.969981], [-0.487004, 0.26021, 0.48049], [-0.460089, -0.750282, -0.512622], [-0.376468, 0.973135, -0.325605], [-0.331735, -0.646985, 0.084342], [-0.254001, 0.831847, 0.530001], [-0.125239, -0.494738, -0.966586], [0.029622, 0.027949, 0.730817], [0.056536, -0.982543, -0.262295], [0.08085, 1.087391, 0.076037], [0.125583, -0.532729, 0.485984], [0.262625, 0.599586, 0.780328], [0.391387, -0.726999, -0.716259], [0.513854, -0.868287, 0.139347], [0.597475, 0.85513, 0.326364], [0.641224, 0.109523, 0.783723], [0.737185, -0.451155, 0.538891], [0.848705, -0.612742, -0.314616], [0.976075, 0.365067, 0.32976], [1.072036, -0.19561, 0.084927]], + face: [[15, 18, 21], [12, 20, 16], [6, 10, 2], [3, 0, 1], [9, 7, 13], [2, 8, 4, 0], [0, 4, 5, 1], [1, 5, 11, 7], [7, 11, 17, 13], [13, 17, 22, 18], [18, 22, 24, 21], [21, 24, 23, 20], [20, 23, 19, 16], [16, 19, 14, 10], [10, 14, 8, 2], [15, 9, 13, 18], [12, 15, 21, 20], [6, 12, 16, 10], [3, 6, 2, 0], [9, 3, 1, 7], [9, 15, 12, 6, 3], [22, 17, 11, 5, 4, 8, 14, 19, 23, 24]] + }; + var type = (options.type < 0 || options.type >= polyhedra.length) ? 0 : options.type || 0; + var size = options.size; + var sizeX = options.sizeX || size || 1; + var sizeY = options.sizeY || size || 1; + var sizeZ = options.sizeZ || size || 1; + var data = options.custom || polyhedra[type]; + var nbfaces = data.face.length; + var faceUV = options.faceUV || new Array(nbfaces); + var faceColors = options.faceColors; + var flat = (options.flat === undefined) ? true : options.flat; + var sideOrientation = (options.sideOrientation === 0) ? 0 : options.sideOrientation || BABYLON.Mesh.DEFAULTSIDE; + var positions = []; + var indices = []; + var normals = []; + var uvs = []; + var colors = []; + var index = 0; + var faceIdx = 0; // face cursor in the array "indexes" + var indexes = []; + var i = 0; + var f = 0; + var u, v, ang, x, y, tmp; + // default face colors and UV if undefined + if (flat) { + for (f = 0; f < nbfaces; f++) { + if (faceColors && faceColors[f] === undefined) { + faceColors[f] = new BABYLON.Color4(1, 1, 1, 1); + } + if (faceUV && faceUV[f] === undefined) { + faceUV[f] = new BABYLON.Vector4(0, 0, 1, 1); + } + } + } + if (!flat) { + for (i = 0; i < data.vertex.length; i++) { + positions.push(data.vertex[i][0] * sizeX, data.vertex[i][1] * sizeY, data.vertex[i][2] * sizeZ); + uvs.push(0, 0); + } + for (f = 0; f < nbfaces; f++) { + for (i = 0; i < data.face[f].length - 2; i++) { + indices.push(data.face[f][0], data.face[f][i + 2], data.face[f][i + 1]); + } + } + } + else { + for (f = 0; f < nbfaces; f++) { + var fl = data.face[f].length; // number of vertices of the current face + ang = 2 * Math.PI / fl; + x = 0.5 * Math.tan(ang / 2); + y = 0.5; + // positions, uvs, colors + for (i = 0; i < fl; i++) { + // positions + positions.push(data.vertex[data.face[f][i]][0] * sizeX, data.vertex[data.face[f][i]][1] * sizeY, data.vertex[data.face[f][i]][2] * sizeZ); + indexes.push(index); + index++; + // uvs + u = faceUV[f].x + (faceUV[f].z - faceUV[f].x) * (0.5 + x); + v = faceUV[f].y + (faceUV[f].w - faceUV[f].y) * (y - 0.5); + uvs.push(u, v); + tmp = x * Math.cos(ang) - y * Math.sin(ang); + y = x * Math.sin(ang) + y * Math.cos(ang); + x = tmp; + // colors + if (faceColors) { + colors.push(faceColors[f].r, faceColors[f].g, faceColors[f].b, faceColors[f].a); + } + } + // indices from indexes + for (i = 0; i < fl - 2; i++) { + indices.push(indexes[0 + faceIdx], indexes[i + 2 + faceIdx], indexes[i + 1 + faceIdx]); + } + faceIdx += fl; + } + } + VertexData.ComputeNormals(positions, indices, normals); + VertexData._ComputeSides(sideOrientation, positions, indices, normals, uvs); + var vertexData = new VertexData(); + vertexData.positions = positions; + vertexData.indices = indices; + vertexData.normals = normals; + vertexData.uvs = uvs; + if (faceColors && flat) { + vertexData.colors = colors; + } + return vertexData; + }; + // based on http://code.google.com/p/away3d/source/browse/trunk/fp10/Away3D/src/away3d/primitives/TorusKnot.as?spec=svn2473&r=2473 + VertexData.CreateTorusKnot = function (options) { + var indices = []; + var positions = []; + var normals = []; + var uvs = []; + var radius = options.radius || 2; + var tube = options.tube || 0.5; + var radialSegments = options.radialSegments || 32; + var tubularSegments = options.tubularSegments || 32; + var p = options.p || 2; + var q = options.q || 3; + var sideOrientation = (options.sideOrientation === 0) ? 0 : options.sideOrientation || BABYLON.Mesh.DEFAULTSIDE; + // Helper + var getPos = function (angle) { + var cu = Math.cos(angle); + var su = Math.sin(angle); + var quOverP = q / p * angle; + var cs = Math.cos(quOverP); + var tx = radius * (2 + cs) * 0.5 * cu; + var ty = radius * (2 + cs) * su * 0.5; + var tz = radius * Math.sin(quOverP) * 0.5; + return new BABYLON.Vector3(tx, ty, tz); + }; + // Vertices + var i; + var j; + for (i = 0; i <= radialSegments; i++) { + var modI = i % radialSegments; + var u = modI / radialSegments * 2 * p * Math.PI; + var p1 = getPos(u); + var p2 = getPos(u + 0.01); + var tang = p2.subtract(p1); + var n = p2.add(p1); + var bitan = BABYLON.Vector3.Cross(tang, n); + n = BABYLON.Vector3.Cross(bitan, tang); + bitan.normalize(); + n.normalize(); + for (j = 0; j < tubularSegments; j++) { + var modJ = j % tubularSegments; + var v = modJ / tubularSegments * 2 * Math.PI; + var cx = -tube * Math.cos(v); + var cy = tube * Math.sin(v); + positions.push(p1.x + cx * n.x + cy * bitan.x); + positions.push(p1.y + cx * n.y + cy * bitan.y); + positions.push(p1.z + cx * n.z + cy * bitan.z); + uvs.push(i / radialSegments); + uvs.push(j / tubularSegments); + } + } + for (i = 0; i < radialSegments; i++) { + for (j = 0; j < tubularSegments; j++) { + var jNext = (j + 1) % tubularSegments; + var a = i * tubularSegments + j; + var b = (i + 1) * tubularSegments + j; + var c = (i + 1) * tubularSegments + jNext; + var d = i * tubularSegments + jNext; + indices.push(d); + indices.push(b); + indices.push(a); + indices.push(d); + indices.push(c); + indices.push(b); + } + } + // Normals + VertexData.ComputeNormals(positions, indices, normals); + // Sides + VertexData._ComputeSides(sideOrientation, positions, indices, normals, uvs); + // Result + var vertexData = new VertexData(); + vertexData.indices = indices; + vertexData.positions = positions; + vertexData.normals = normals; + vertexData.uvs = uvs; + return vertexData; + }; + // Tools + /** + * @param {any} - positions (number[] or Float32Array) + * @param {any} - indices (number[] or Uint16Array) + * @param {any} - normals (number[] or Float32Array) + */ + VertexData.ComputeNormals = function (positions, indices, normals) { + var index = 0; + var p1p2x = 0.0; + var p1p2y = 0.0; + var p1p2z = 0.0; + var p3p2x = 0.0; + var p3p2y = 0.0; + var p3p2z = 0.0; + var faceNormalx = 0.0; + var faceNormaly = 0.0; + var faceNormalz = 0.0; + var length = 0.0; + var i1 = 0; + var i2 = 0; + var i3 = 0; + for (index = 0; index < positions.length; index++) { + normals[index] = 0.0; + } + // indice triplet = 1 face + var nbFaces = indices.length / 3; + for (index = 0; index < nbFaces; index++) { + i1 = indices[index * 3]; // get the indexes of each vertex of the face + i2 = indices[index * 3 + 1]; + i3 = indices[index * 3 + 2]; + p1p2x = positions[i1 * 3] - positions[i2 * 3]; // compute two vectors per face + p1p2y = positions[i1 * 3 + 1] - positions[i2 * 3 + 1]; + p1p2z = positions[i1 * 3 + 2] - positions[i2 * 3 + 2]; + p3p2x = positions[i3 * 3] - positions[i2 * 3]; + p3p2y = positions[i3 * 3 + 1] - positions[i2 * 3 + 1]; + p3p2z = positions[i3 * 3 + 2] - positions[i2 * 3 + 2]; + faceNormalx = p1p2y * p3p2z - p1p2z * p3p2y; // compute the face normal with cross product + faceNormaly = p1p2z * p3p2x - p1p2x * p3p2z; + faceNormalz = p1p2x * p3p2y - p1p2y * p3p2x; + length = Math.sqrt(faceNormalx * faceNormalx + faceNormaly * faceNormaly + faceNormalz * faceNormalz); + length = (length === 0) ? 1.0 : length; + faceNormalx /= length; // normalize this normal + faceNormaly /= length; + faceNormalz /= length; + normals[i1 * 3] += faceNormalx; // accumulate all the normals per face + normals[i1 * 3 + 1] += faceNormaly; + normals[i1 * 3 + 2] += faceNormalz; + normals[i2 * 3] += faceNormalx; + normals[i2 * 3 + 1] += faceNormaly; + normals[i2 * 3 + 2] += faceNormalz; + normals[i3 * 3] += faceNormalx; + normals[i3 * 3 + 1] += faceNormaly; + normals[i3 * 3 + 2] += faceNormalz; + } + // last normalization of each normal + for (index = 0; index < normals.length / 3; index++) { + faceNormalx = normals[index * 3]; + faceNormaly = normals[index * 3 + 1]; + faceNormalz = normals[index * 3 + 2]; + length = Math.sqrt(faceNormalx * faceNormalx + faceNormaly * faceNormaly + faceNormalz * faceNormalz); + length = (length === 0) ? 1.0 : length; + faceNormalx /= length; + faceNormaly /= length; + faceNormalz /= length; + normals[index * 3] = faceNormalx; + normals[index * 3 + 1] = faceNormaly; + normals[index * 3 + 2] = faceNormalz; + } + }; + VertexData._ComputeSides = function (sideOrientation, positions, indices, normals, uvs) { + var li = indices.length; + var ln = normals.length; + var i; + var n; + sideOrientation = sideOrientation || BABYLON.Mesh.DEFAULTSIDE; + switch (sideOrientation) { + case BABYLON.Mesh.FRONTSIDE: + // nothing changed + break; + case BABYLON.Mesh.BACKSIDE: + var tmp; + // indices + for (i = 0; i < li; i += 3) { + tmp = indices[i]; + indices[i] = indices[i + 2]; + indices[i + 2] = tmp; + } + // normals + for (n = 0; n < ln; n++) { + normals[n] = -normals[n]; + } + break; + case BABYLON.Mesh.DOUBLESIDE: + // positions + var lp = positions.length; + var l = lp / 3; + for (var p = 0; p < lp; p++) { + positions[lp + p] = positions[p]; + } + // indices + for (i = 0; i < li; i += 3) { + indices[i + li] = indices[i + 2] + l; + indices[i + 1 + li] = indices[i + 1] + l; + indices[i + 2 + li] = indices[i] + l; + } + // normals + for (n = 0; n < ln; n++) { + normals[ln + n] = -normals[n]; + } + // uvs + var lu = uvs.length; + for (var u = 0; u < lu; u++) { + uvs[u + lu] = uvs[u]; + } + break; + } + }; + VertexData.ImportVertexData = function (parsedVertexData, geometry) { + var vertexData = new VertexData(); + // positions + var positions = parsedVertexData.positions; + if (positions) { + vertexData.set(positions, BABYLON.VertexBuffer.PositionKind); + } + // normals + var normals = parsedVertexData.normals; + if (normals) { + vertexData.set(normals, BABYLON.VertexBuffer.NormalKind); + } + // uvs + var uvs = parsedVertexData.uvs; + if (uvs) { + vertexData.set(uvs, BABYLON.VertexBuffer.UVKind); + } + // uv2s + var uv2s = parsedVertexData.uv2s; + if (uv2s) { + vertexData.set(uv2s, BABYLON.VertexBuffer.UV2Kind); + } + // uv3s + var uv3s = parsedVertexData.uv3s; + if (uv3s) { + vertexData.set(uv3s, BABYLON.VertexBuffer.UV3Kind); + } + // uv4s + var uv4s = parsedVertexData.uv4s; + if (uv4s) { + vertexData.set(uv4s, BABYLON.VertexBuffer.UV4Kind); + } + // uv5s + var uv5s = parsedVertexData.uv5s; + if (uv5s) { + vertexData.set(uv5s, BABYLON.VertexBuffer.UV5Kind); + } + // uv6s + var uv6s = parsedVertexData.uv6s; + if (uv6s) { + vertexData.set(uv6s, BABYLON.VertexBuffer.UV6Kind); + } + // colors + var colors = parsedVertexData.colors; + if (colors) { + vertexData.set(BABYLON.Color4.CheckColors4(colors, positions.length / 3), BABYLON.VertexBuffer.ColorKind); + } + // matricesIndices + var matricesIndices = parsedVertexData.matricesIndices; + if (matricesIndices) { + vertexData.set(matricesIndices, BABYLON.VertexBuffer.MatricesIndicesKind); + } + // matricesWeights + var matricesWeights = parsedVertexData.matricesWeights; + if (matricesWeights) { + vertexData.set(matricesWeights, BABYLON.VertexBuffer.MatricesWeightsKind); + } + // indices + var indices = parsedVertexData.indices; + if (indices) { + vertexData.indices = indices; + } + geometry.setAllVerticesData(vertexData, parsedVertexData.updatable); + }; + return VertexData; + }()); + BABYLON.VertexData = VertexData; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.mesh.vertexData.js.map + +var BABYLON; +(function (BABYLON) { + var Tags = (function () { + function Tags() { + } + Tags.EnableFor = function (obj) { + obj._tags = obj._tags || {}; + obj.hasTags = function () { + return Tags.HasTags(obj); + }; + obj.addTags = function (tagsString) { + return Tags.AddTagsTo(obj, tagsString); + }; + obj.removeTags = function (tagsString) { + return Tags.RemoveTagsFrom(obj, tagsString); + }; + obj.matchesTagsQuery = function (tagsQuery) { + return Tags.MatchesQuery(obj, tagsQuery); + }; + }; + Tags.DisableFor = function (obj) { + delete obj._tags; + delete obj.hasTags; + delete obj.addTags; + delete obj.removeTags; + delete obj.matchesTagsQuery; + }; + Tags.HasTags = function (obj) { + if (!obj._tags) { + return false; + } + return !BABYLON.Tools.IsEmpty(obj._tags); + }; + Tags.GetTags = function (obj, asString) { + if (asString === void 0) { asString = true; } + if (!obj._tags) { + return null; + } + if (asString) { + var tagsArray = []; + for (var tag in obj._tags) { + if (obj._tags.hasOwnProperty(tag) && obj._tags[tag] === true) { + tagsArray.push(tag); + } + } + return tagsArray.join(" "); + } + else { + return obj._tags; + } + }; + // the tags 'true' and 'false' are reserved and cannot be used as tags + // a tag cannot start with '||', '&&', and '!' + // it cannot contain whitespaces + Tags.AddTagsTo = function (obj, tagsString) { + if (!tagsString) { + return; + } + if (typeof tagsString !== "string") { + return; + } + var tags = tagsString.split(" "); + tags.forEach(function (tag, index, array) { + Tags._AddTagTo(obj, tag); + }); + }; + Tags._AddTagTo = function (obj, tag) { + tag = tag.trim(); + if (tag === "" || tag === "true" || tag === "false") { + return; + } + if (tag.match(/[\s]/) || tag.match(/^([!]|([|]|[&]){2})/)) { + return; + } + Tags.EnableFor(obj); + obj._tags[tag] = true; + }; + Tags.RemoveTagsFrom = function (obj, tagsString) { + if (!Tags.HasTags(obj)) { + return; + } + var tags = tagsString.split(" "); + for (var t in tags) { + Tags._RemoveTagFrom(obj, tags[t]); + } + }; + Tags._RemoveTagFrom = function (obj, tag) { + delete obj._tags[tag]; + }; + Tags.MatchesQuery = function (obj, tagsQuery) { + if (tagsQuery === undefined) { + return true; + } + if (tagsQuery === "") { + return Tags.HasTags(obj); + } + return BABYLON.Internals.AndOrNotEvaluator.Eval(tagsQuery, function (r) { return Tags.HasTags(obj) && obj._tags[r]; }); + }; + return Tags; + }()); + BABYLON.Tags = Tags; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.tags.js.map + +var BABYLON; +(function (BABYLON) { + var Internals; + (function (Internals) { + var AndOrNotEvaluator = (function () { + function AndOrNotEvaluator() { + } + AndOrNotEvaluator.Eval = function (query, evaluateCallback) { + if (!query.match(/\([^\(\)]*\)/g)) { + query = AndOrNotEvaluator._HandleParenthesisContent(query, evaluateCallback); + } + else { + query = query.replace(/\([^\(\)]*\)/g, function (r) { + // remove parenthesis + r = r.slice(1, r.length - 1); + return AndOrNotEvaluator._HandleParenthesisContent(r, evaluateCallback); + }); + } + if (query === "true") { + return true; + } + if (query === "false") { + return false; + } + return AndOrNotEvaluator.Eval(query, evaluateCallback); + }; + AndOrNotEvaluator._HandleParenthesisContent = function (parenthesisContent, evaluateCallback) { + evaluateCallback = evaluateCallback || (function (r) { + return r === "true" ? true : false; + }); + var result; + var or = parenthesisContent.split("||"); + for (var i in or) { + if (or.hasOwnProperty(i)) { + var ori = AndOrNotEvaluator._SimplifyNegation(or[i].trim()); + var and = ori.split("&&"); + if (and.length > 1) { + for (var j = 0; j < and.length; ++j) { + var andj = AndOrNotEvaluator._SimplifyNegation(and[j].trim()); + if (andj !== "true" && andj !== "false") { + if (andj[0] === "!") { + result = !evaluateCallback(andj.substring(1)); + } + else { + result = evaluateCallback(andj); + } + } + else { + result = andj === "true" ? true : false; + } + if (!result) { + ori = "false"; + break; + } + } + } + if (result || ori === "true") { + result = true; + break; + } + // result equals false (or undefined) + if (ori !== "true" && ori !== "false") { + if (ori[0] === "!") { + result = !evaluateCallback(ori.substring(1)); + } + else { + result = evaluateCallback(ori); + } + } + else { + result = ori === "true" ? true : false; + } + } + } + // the whole parenthesis scope is replaced by 'true' or 'false' + return result ? "true" : "false"; + }; + AndOrNotEvaluator._SimplifyNegation = function (booleanString) { + booleanString = booleanString.replace(/^[\s!]+/, function (r) { + // remove whitespaces + r = r.replace(/[\s]/g, function () { return ""; }); + return r.length % 2 ? "!" : ""; + }); + booleanString = booleanString.trim(); + if (booleanString === "!true") { + booleanString = "false"; + } + else if (booleanString === "!false") { + booleanString = "true"; + } + return booleanString; + }; + return AndOrNotEvaluator; + }()); + Internals.AndOrNotEvaluator = AndOrNotEvaluator; + })(Internals = BABYLON.Internals || (BABYLON.Internals = {})); +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.andOrNotEvaluator.js.map + +var BABYLON; +(function (BABYLON) { + var PostProcessRenderPass = (function () { + function PostProcessRenderPass(scene, name, size, renderList, beforeRender, afterRender) { + this._enabled = true; + this._refCount = 0; + this._name = name; + this._renderTexture = new BABYLON.RenderTargetTexture(name, size, scene); + this.setRenderList(renderList); + this._renderTexture.onBeforeRenderObservable.add(beforeRender); + this._renderTexture.onAfterRenderObservable.add(afterRender); + this._scene = scene; + this._renderList = renderList; + } + // private + PostProcessRenderPass.prototype._incRefCount = function () { + if (this._refCount === 0) { + this._scene.customRenderTargets.push(this._renderTexture); + } + return ++this._refCount; + }; + PostProcessRenderPass.prototype._decRefCount = function () { + this._refCount--; + if (this._refCount <= 0) { + this._scene.customRenderTargets.splice(this._scene.customRenderTargets.indexOf(this._renderTexture), 1); + } + return this._refCount; + }; + PostProcessRenderPass.prototype._update = function () { + this.setRenderList(this._renderList); + }; + // public + PostProcessRenderPass.prototype.setRenderList = function (renderList) { + this._renderTexture.renderList = renderList; + }; + PostProcessRenderPass.prototype.getRenderTexture = function () { + return this._renderTexture; + }; + return PostProcessRenderPass; + }()); + BABYLON.PostProcessRenderPass = PostProcessRenderPass; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.postProcessRenderPass.js.map + +var BABYLON; +(function (BABYLON) { + var PostProcessRenderEffect = (function () { + function PostProcessRenderEffect(engine, name, getPostProcess, singleInstance) { + this._engine = engine; + this._name = name; + this._singleInstance = singleInstance || true; + this._getPostProcess = getPostProcess; + this._cameras = []; + this._indicesForCamera = []; + this._postProcesses = {}; + this._renderPasses = {}; + this._renderEffectAsPasses = {}; + } + Object.defineProperty(PostProcessRenderEffect.prototype, "isSupported", { + get: function () { + for (var index in this._postProcesses) { + if (!this._postProcesses[index].isSupported) { + return false; + } + } + return true; + }, + enumerable: true, + configurable: true + }); + PostProcessRenderEffect.prototype._update = function () { + for (var renderPassName in this._renderPasses) { + this._renderPasses[renderPassName]._update(); + } + }; + PostProcessRenderEffect.prototype.addPass = function (renderPass) { + this._renderPasses[renderPass._name] = renderPass; + this._linkParameters(); + }; + PostProcessRenderEffect.prototype.removePass = function (renderPass) { + delete this._renderPasses[renderPass._name]; + this._linkParameters(); + }; + PostProcessRenderEffect.prototype.addRenderEffectAsPass = function (renderEffect) { + this._renderEffectAsPasses[renderEffect._name] = renderEffect; + this._linkParameters(); + }; + PostProcessRenderEffect.prototype.getPass = function (passName) { + for (var renderPassName in this._renderPasses) { + if (renderPassName === passName) { + return this._renderPasses[passName]; + } + } + }; + PostProcessRenderEffect.prototype.emptyPasses = function () { + this._renderPasses = {}; + this._linkParameters(); + }; + PostProcessRenderEffect.prototype._attachCameras = function (cameras) { + var cameraKey; + var _cam = BABYLON.Tools.MakeArray(cameras || this._cameras); + for (var i = 0; i < _cam.length; i++) { + var camera = _cam[i]; + var cameraName = camera.name; + if (this._singleInstance) { + cameraKey = 0; + } + else { + cameraKey = cameraName; + } + this._postProcesses[cameraKey] = this._postProcesses[cameraKey] || this._getPostProcess(); + var index = camera.attachPostProcess(this._postProcesses[cameraKey]); + if (!this._indicesForCamera[cameraName]) { + this._indicesForCamera[cameraName] = []; + } + this._indicesForCamera[cameraName].push(index); + if (this._cameras.indexOf(camera) === -1) { + this._cameras[cameraName] = camera; + } + for (var passName in this._renderPasses) { + this._renderPasses[passName]._incRefCount(); + } + } + this._linkParameters(); + }; + PostProcessRenderEffect.prototype._detachCameras = function (cameras) { + var _cam = BABYLON.Tools.MakeArray(cameras || this._cameras); + for (var i = 0; i < _cam.length; i++) { + var camera = _cam[i]; + var cameraName = camera.name; + camera.detachPostProcess(this._postProcesses[this._singleInstance ? 0 : cameraName], this._indicesForCamera[cameraName]); + var index = this._cameras.indexOf(cameraName); + this._indicesForCamera.splice(index, 1); + this._cameras.splice(index, 1); + for (var passName in this._renderPasses) { + this._renderPasses[passName]._decRefCount(); + } + } + }; + PostProcessRenderEffect.prototype._enable = function (cameras) { + var _cam = BABYLON.Tools.MakeArray(cameras || this._cameras); + for (var i = 0; i < _cam.length; i++) { + var camera = _cam[i]; + var cameraName = camera.name; + for (var j = 0; j < this._indicesForCamera[cameraName].length; j++) { + if (camera._postProcesses[this._indicesForCamera[cameraName][j]] === undefined) { + cameras[i].attachPostProcess(this._postProcesses[this._singleInstance ? 0 : cameraName], this._indicesForCamera[cameraName][j]); + } + } + for (var passName in this._renderPasses) { + this._renderPasses[passName]._incRefCount(); + } + } + }; + PostProcessRenderEffect.prototype._disable = function (cameras) { + var _cam = BABYLON.Tools.MakeArray(cameras || this._cameras); + for (var i = 0; i < _cam.length; i++) { + var camera = _cam[i]; + var cameraName = camera.Name; + camera.detachPostProcess(this._postProcesses[this._singleInstance ? 0 : cameraName], this._indicesForCamera[cameraName]); + for (var passName in this._renderPasses) { + this._renderPasses[passName]._decRefCount(); + } + } + }; + PostProcessRenderEffect.prototype.getPostProcess = function (camera) { + if (this._singleInstance) { + return this._postProcesses[0]; + } + else { + return this._postProcesses[camera.name]; + } + }; + PostProcessRenderEffect.prototype._linkParameters = function () { + var _this = this; + for (var index in this._postProcesses) { + if (this.applyParameters) { + this.applyParameters(this._postProcesses[index]); + } + this._postProcesses[index].onBeforeRenderObservable.add(function (effect) { + _this._linkTextures(effect); + }); + } + }; + PostProcessRenderEffect.prototype._linkTextures = function (effect) { + for (var renderPassName in this._renderPasses) { + effect.setTexture(renderPassName, this._renderPasses[renderPassName].getRenderTexture()); + } + for (var renderEffectName in this._renderEffectAsPasses) { + effect.setTextureFromPostProcess(renderEffectName + "Sampler", this._renderEffectAsPasses[renderEffectName].getPostProcess()); + } + }; + return PostProcessRenderEffect; + }()); + BABYLON.PostProcessRenderEffect = PostProcessRenderEffect; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.postProcessRenderEffect.js.map + +var BABYLON; +(function (BABYLON) { + var PostProcessRenderPipeline = (function () { + function PostProcessRenderPipeline(engine, name) { + this._engine = engine; + this._name = name; + this._renderEffects = {}; + this._renderEffectsForIsolatedPass = {}; + this._cameras = []; + } + Object.defineProperty(PostProcessRenderPipeline.prototype, "isSupported", { + get: function () { + for (var renderEffectName in this._renderEffects) { + if (!this._renderEffects[renderEffectName].isSupported) { + return false; + } + } + return true; + }, + enumerable: true, + configurable: true + }); + PostProcessRenderPipeline.prototype.addEffect = function (renderEffect) { + this._renderEffects[renderEffect._name] = renderEffect; + }; + PostProcessRenderPipeline.prototype._enableEffect = function (renderEffectName, cameras) { + var renderEffects = this._renderEffects[renderEffectName]; + if (!renderEffects) { + return; + } + renderEffects._enable(BABYLON.Tools.MakeArray(cameras || this._cameras)); + }; + PostProcessRenderPipeline.prototype._disableEffect = function (renderEffectName, cameras) { + var renderEffects = this._renderEffects[renderEffectName]; + if (!renderEffects) { + return; + } + renderEffects._disable(BABYLON.Tools.MakeArray(cameras || this._cameras)); + }; + PostProcessRenderPipeline.prototype._attachCameras = function (cameras, unique) { + var _cam = BABYLON.Tools.MakeArray(cameras || this._cameras); + var indicesToDelete = []; + var i; + for (i = 0; i < _cam.length; i++) { + var camera = _cam[i]; + var cameraName = camera.name; + if (this._cameras.indexOf(camera) === -1) { + this._cameras[cameraName] = camera; + } + else if (unique) { + indicesToDelete.push(i); + } + } + for (i = 0; i < indicesToDelete.length; i++) { + cameras.splice(indicesToDelete[i], 1); + } + for (var renderEffectName in this._renderEffects) { + this._renderEffects[renderEffectName]._attachCameras(_cam); + } + }; + PostProcessRenderPipeline.prototype._detachCameras = function (cameras) { + var _cam = BABYLON.Tools.MakeArray(cameras || this._cameras); + for (var renderEffectName in this._renderEffects) { + this._renderEffects[renderEffectName]._detachCameras(_cam); + } + for (var i = 0; i < _cam.length; i++) { + this._cameras.splice(this._cameras.indexOf(_cam[i]), 1); + } + }; + PostProcessRenderPipeline.prototype._enableDisplayOnlyPass = function (passName, cameras) { + var _this = this; + var _cam = BABYLON.Tools.MakeArray(cameras || this._cameras); + var pass = null; + var renderEffectName; + for (renderEffectName in this._renderEffects) { + pass = this._renderEffects[renderEffectName].getPass(passName); + if (pass != null) { + break; + } + } + if (pass === null) { + return; + } + for (renderEffectName in this._renderEffects) { + this._renderEffects[renderEffectName]._disable(_cam); + } + pass._name = PostProcessRenderPipeline.PASS_SAMPLER_NAME; + for (var i = 0; i < _cam.length; i++) { + var camera = _cam[i]; + var cameraName = camera.name; + this._renderEffectsForIsolatedPass[cameraName] = this._renderEffectsForIsolatedPass[cameraName] || new BABYLON.PostProcessRenderEffect(this._engine, PostProcessRenderPipeline.PASS_EFFECT_NAME, function () { return new BABYLON.DisplayPassPostProcess(PostProcessRenderPipeline.PASS_EFFECT_NAME, 1.0, null, null, _this._engine, true); }); + this._renderEffectsForIsolatedPass[cameraName].emptyPasses(); + this._renderEffectsForIsolatedPass[cameraName].addPass(pass); + this._renderEffectsForIsolatedPass[cameraName]._attachCameras(camera); + } + }; + PostProcessRenderPipeline.prototype._disableDisplayOnlyPass = function (cameras) { + var _this = this; + var _cam = BABYLON.Tools.MakeArray(cameras || this._cameras); + for (var i = 0; i < _cam.length; i++) { + var camera = _cam[i]; + var cameraName = camera.name; + this._renderEffectsForIsolatedPass[cameraName] = this._renderEffectsForIsolatedPass[cameraName] || new BABYLON.PostProcessRenderEffect(this._engine, PostProcessRenderPipeline.PASS_EFFECT_NAME, function () { return new BABYLON.DisplayPassPostProcess(PostProcessRenderPipeline.PASS_EFFECT_NAME, 1.0, null, null, _this._engine, true); }); + this._renderEffectsForIsolatedPass[cameraName]._disable(camera); + } + for (var renderEffectName in this._renderEffects) { + this._renderEffects[renderEffectName]._enable(_cam); + } + }; + PostProcessRenderPipeline.prototype._update = function () { + for (var renderEffectName in this._renderEffects) { + this._renderEffects[renderEffectName]._update(); + } + for (var i = 0; i < this._cameras.length; i++) { + var cameraName = this._cameras[i].name; + if (this._renderEffectsForIsolatedPass[cameraName]) { + this._renderEffectsForIsolatedPass[cameraName]._update(); + } + } + }; + PostProcessRenderPipeline.prototype.dispose = function () { + // Must be implemented by children + }; + PostProcessRenderPipeline.PASS_EFFECT_NAME = "passEffect"; + PostProcessRenderPipeline.PASS_SAMPLER_NAME = "passSampler"; + return PostProcessRenderPipeline; + }()); + BABYLON.PostProcessRenderPipeline = PostProcessRenderPipeline; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.postProcessRenderPipeline.js.map + +var BABYLON; +(function (BABYLON) { + var PostProcessRenderPipelineManager = (function () { + function PostProcessRenderPipelineManager() { + this._renderPipelines = {}; + } + PostProcessRenderPipelineManager.prototype.addPipeline = function (renderPipeline) { + this._renderPipelines[renderPipeline._name] = renderPipeline; + }; + PostProcessRenderPipelineManager.prototype.attachCamerasToRenderPipeline = function (renderPipelineName, cameras, unique) { + var renderPipeline = this._renderPipelines[renderPipelineName]; + if (!renderPipeline) { + return; + } + renderPipeline._attachCameras(cameras, unique); + }; + PostProcessRenderPipelineManager.prototype.detachCamerasFromRenderPipeline = function (renderPipelineName, cameras) { + var renderPipeline = this._renderPipelines[renderPipelineName]; + if (!renderPipeline) { + return; + } + renderPipeline._detachCameras(cameras); + }; + PostProcessRenderPipelineManager.prototype.enableEffectInPipeline = function (renderPipelineName, renderEffectName, cameras) { + var renderPipeline = this._renderPipelines[renderPipelineName]; + if (!renderPipeline) { + return; + } + renderPipeline._enableEffect(renderEffectName, cameras); + }; + PostProcessRenderPipelineManager.prototype.disableEffectInPipeline = function (renderPipelineName, renderEffectName, cameras) { + var renderPipeline = this._renderPipelines[renderPipelineName]; + if (!renderPipeline) { + return; + } + renderPipeline._disableEffect(renderEffectName, cameras); + }; + PostProcessRenderPipelineManager.prototype.enableDisplayOnlyPassInPipeline = function (renderPipelineName, passName, cameras) { + var renderPipeline = this._renderPipelines[renderPipelineName]; + if (!renderPipeline) { + return; + } + renderPipeline._enableDisplayOnlyPass(passName, cameras); + }; + PostProcessRenderPipelineManager.prototype.disableDisplayOnlyPassInPipeline = function (renderPipelineName, cameras) { + var renderPipeline = this._renderPipelines[renderPipelineName]; + if (!renderPipeline) { + return; + } + renderPipeline._disableDisplayOnlyPass(cameras); + }; + PostProcessRenderPipelineManager.prototype.update = function () { + for (var renderPipelineName in this._renderPipelines) { + var pipeline = this._renderPipelines[renderPipelineName]; + if (!pipeline.isSupported) { + pipeline.dispose(); + delete this._renderPipelines[renderPipelineName]; + } + else { + pipeline._update(); + } + } + }; + return PostProcessRenderPipelineManager; + }()); + BABYLON.PostProcessRenderPipelineManager = PostProcessRenderPipelineManager; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.postProcessRenderPipelineManager.js.map + +var BABYLON; +(function (BABYLON) { + var BoundingBoxRenderer = (function () { + function BoundingBoxRenderer(scene) { + this.frontColor = new BABYLON.Color3(1, 1, 1); + this.backColor = new BABYLON.Color3(0.1, 0.1, 0.1); + this.showBackLines = true; + this.renderList = new BABYLON.SmartArray(32); + this._vertexBuffers = {}; + this._scene = scene; + } + BoundingBoxRenderer.prototype._prepareRessources = function () { + if (this._colorShader) { + return; + } + this._colorShader = new BABYLON.ShaderMaterial("colorShader", this._scene, "color", { + attributes: [BABYLON.VertexBuffer.PositionKind], + uniforms: ["worldViewProjection", "color"] + }); + var engine = this._scene.getEngine(); + var boxdata = BABYLON.VertexData.CreateBox(1.0); + this._vertexBuffers[BABYLON.VertexBuffer.PositionKind] = new BABYLON.VertexBuffer(engine, boxdata.positions, BABYLON.VertexBuffer.PositionKind, false); + this._indexBuffer = engine.createIndexBuffer([0, 1, 1, 2, 2, 3, 3, 0, 4, 5, 5, 6, 6, 7, 7, 4, 0, 7, 1, 6, 2, 5, 3, 4]); + }; + BoundingBoxRenderer.prototype.reset = function () { + this.renderList.reset(); + }; + BoundingBoxRenderer.prototype.render = function () { + if (this.renderList.length === 0) { + return; + } + this._prepareRessources(); + if (!this._colorShader.isReady()) { + return; + } + var engine = this._scene.getEngine(); + engine.setDepthWrite(false); + this._colorShader._preBind(); + for (var boundingBoxIndex = 0; boundingBoxIndex < this.renderList.length; boundingBoxIndex++) { + var boundingBox = this.renderList.data[boundingBoxIndex]; + var min = boundingBox.minimum; + var max = boundingBox.maximum; + var diff = max.subtract(min); + var median = min.add(diff.scale(0.5)); + var worldMatrix = BABYLON.Matrix.Scaling(diff.x, diff.y, diff.z) + .multiply(BABYLON.Matrix.Translation(median.x, median.y, median.z)) + .multiply(boundingBox.getWorldMatrix()); + // VBOs + engine.bindBuffers(this._vertexBuffers, this._indexBuffer, this._colorShader.getEffect()); + if (this.showBackLines) { + // Back + engine.setDepthFunctionToGreaterOrEqual(); + this._scene.resetCachedMaterial(); + this._colorShader.setColor4("color", this.backColor.toColor4()); + this._colorShader.bind(worldMatrix); + // Draw order + engine.draw(false, 0, 24); + } + // Front + engine.setDepthFunctionToLess(); + this._scene.resetCachedMaterial(); + this._colorShader.setColor4("color", this.frontColor.toColor4()); + this._colorShader.bind(worldMatrix); + // Draw order + engine.draw(false, 0, 24); + } + this._colorShader.unbind(); + engine.setDepthFunctionToLessOrEqual(); + engine.setDepthWrite(true); + }; + BoundingBoxRenderer.prototype.dispose = function () { + if (!this._colorShader) { + return; + } + this._colorShader.dispose(); + var buffer = this._vertexBuffers[BABYLON.VertexBuffer.PositionKind]; + if (buffer) { + buffer.dispose(); + this._vertexBuffers[BABYLON.VertexBuffer.PositionKind] = null; + } + this._scene.getEngine()._releaseBuffer(this._indexBuffer); + }; + return BoundingBoxRenderer; + }()); + BABYLON.BoundingBoxRenderer = BoundingBoxRenderer; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.boundingBoxRenderer.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var Condition = (function () { + function Condition(actionManager) { + this._actionManager = actionManager; + } + Condition.prototype.isValid = function () { + return true; + }; + Condition.prototype._getProperty = function (propertyPath) { + return this._actionManager._getProperty(propertyPath); + }; + Condition.prototype._getEffectiveTarget = function (target, propertyPath) { + return this._actionManager._getEffectiveTarget(target, propertyPath); + }; + Condition.prototype.serialize = function () { + }; + Condition.prototype._serialize = function (serializedCondition) { + return { + type: 2, + children: [], + name: serializedCondition.name, + properties: serializedCondition.properties + }; + }; + return Condition; + }()); + BABYLON.Condition = Condition; + var ValueCondition = (function (_super) { + __extends(ValueCondition, _super); + function ValueCondition(actionManager, target, propertyPath, value, operator) { + if (operator === void 0) { operator = ValueCondition.IsEqual; } + _super.call(this, actionManager); + this.propertyPath = propertyPath; + this.value = value; + this.operator = operator; + this._target = target; + this._effectiveTarget = this._getEffectiveTarget(target, this.propertyPath); + this._property = this._getProperty(this.propertyPath); + } + Object.defineProperty(ValueCondition, "IsEqual", { + get: function () { + return ValueCondition._IsEqual; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ValueCondition, "IsDifferent", { + get: function () { + return ValueCondition._IsDifferent; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ValueCondition, "IsGreater", { + get: function () { + return ValueCondition._IsGreater; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ValueCondition, "IsLesser", { + get: function () { + return ValueCondition._IsLesser; + }, + enumerable: true, + configurable: true + }); + // Methods + ValueCondition.prototype.isValid = function () { + switch (this.operator) { + case ValueCondition.IsGreater: + return this._effectiveTarget[this._property] > this.value; + case ValueCondition.IsLesser: + return this._effectiveTarget[this._property] < this.value; + case ValueCondition.IsEqual: + case ValueCondition.IsDifferent: + var check; + if (this.value.equals) { + check = this.value.equals(this._effectiveTarget[this._property]); + } + else { + check = this.value === this._effectiveTarget[this._property]; + } + return this.operator === ValueCondition.IsEqual ? check : !check; + } + return false; + }; + ValueCondition.prototype.serialize = function () { + return this._serialize({ + name: "ValueCondition", + properties: [ + BABYLON.Action._GetTargetProperty(this._target), + { name: "propertyPath", value: this.propertyPath }, + { name: "value", value: BABYLON.Action._SerializeValueAsString(this.value) }, + { name: "operator", value: ValueCondition.GetOperatorName(this.operator) } + ] + }); + }; + ValueCondition.GetOperatorName = function (operator) { + switch (operator) { + case ValueCondition._IsEqual: return "IsEqual"; + case ValueCondition._IsDifferent: return "IsDifferent"; + case ValueCondition._IsGreater: return "IsGreater"; + case ValueCondition._IsLesser: return "IsLesser"; + default: return ""; + } + }; + // Statics + ValueCondition._IsEqual = 0; + ValueCondition._IsDifferent = 1; + ValueCondition._IsGreater = 2; + ValueCondition._IsLesser = 3; + return ValueCondition; + }(Condition)); + BABYLON.ValueCondition = ValueCondition; + var PredicateCondition = (function (_super) { + __extends(PredicateCondition, _super); + function PredicateCondition(actionManager, predicate) { + _super.call(this, actionManager); + this.predicate = predicate; + } + PredicateCondition.prototype.isValid = function () { + return this.predicate(); + }; + return PredicateCondition; + }(Condition)); + BABYLON.PredicateCondition = PredicateCondition; + var StateCondition = (function (_super) { + __extends(StateCondition, _super); + function StateCondition(actionManager, target, value) { + _super.call(this, actionManager); + this.value = value; + this._target = target; + } + // Methods + StateCondition.prototype.isValid = function () { + return this._target.state === this.value; + }; + StateCondition.prototype.serialize = function () { + return this._serialize({ + name: "StateCondition", + properties: [ + BABYLON.Action._GetTargetProperty(this._target), + { name: "value", value: this.value } + ] + }); + }; + return StateCondition; + }(Condition)); + BABYLON.StateCondition = StateCondition; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.condition.js.map + +var BABYLON; +(function (BABYLON) { + var Action = (function () { + function Action(triggerOptions, condition) { + this.triggerOptions = triggerOptions; + if (triggerOptions.parameter) { + this.trigger = triggerOptions.trigger; + this._triggerParameter = triggerOptions.parameter; + } + else { + this.trigger = triggerOptions; + } + this._nextActiveAction = this; + this._condition = condition; + } + // Methods + Action.prototype._prepare = function () { + }; + Action.prototype.getTriggerParameter = function () { + return this._triggerParameter; + }; + Action.prototype._executeCurrent = function (evt) { + if (this._nextActiveAction._condition) { + var condition = this._nextActiveAction._condition; + var currentRenderId = this._actionManager.getScene().getRenderId(); + // We cache the current evaluation for the current frame + if (condition._evaluationId === currentRenderId) { + if (!condition._currentResult) { + return; + } + } + else { + condition._evaluationId = currentRenderId; + if (!condition.isValid()) { + condition._currentResult = false; + return; + } + condition._currentResult = true; + } + } + this._nextActiveAction.execute(evt); + this.skipToNextActiveAction(); + }; + Action.prototype.execute = function (evt) { + }; + Action.prototype.skipToNextActiveAction = function () { + if (this._nextActiveAction._child) { + if (!this._nextActiveAction._child._actionManager) { + this._nextActiveAction._child._actionManager = this._actionManager; + } + this._nextActiveAction = this._nextActiveAction._child; + } + else { + this._nextActiveAction = this; + } + }; + Action.prototype.then = function (action) { + this._child = action; + action._actionManager = this._actionManager; + action._prepare(); + return action; + }; + Action.prototype._getProperty = function (propertyPath) { + return this._actionManager._getProperty(propertyPath); + }; + Action.prototype._getEffectiveTarget = function (target, propertyPath) { + return this._actionManager._getEffectiveTarget(target, propertyPath); + }; + Action.prototype.serialize = function (parent) { + }; + // Called by BABYLON.Action objects in serialize(...). Internal use + Action.prototype._serialize = function (serializedAction, parent) { + var serializationObject = { + type: 1, + children: [], + name: serializedAction.name, + properties: serializedAction.properties || [] + }; + // Serialize child + if (this._child) { + this._child.serialize(serializationObject); + } + // Check if "this" has a condition + if (this._condition) { + var serializedCondition = this._condition.serialize(); + serializedCondition.children.push(serializationObject); + if (parent) { + parent.children.push(serializedCondition); + } + return serializedCondition; + } + if (parent) { + parent.children.push(serializationObject); + } + return serializationObject; + }; + Action._SerializeValueAsString = function (value) { + if (typeof value === "number") { + return value.toString(); + } + if (typeof value === "boolean") { + return value ? "true" : "false"; + } + if (value instanceof BABYLON.Vector2) { + return value.x + ", " + value.y; + } + if (value instanceof BABYLON.Vector3) { + return value.x + ", " + value.y + ", " + value.z; + } + if (value instanceof BABYLON.Color3) { + return value.r + ", " + value.g + ", " + value.b; + } + if (value instanceof BABYLON.Color4) { + return value.r + ", " + value.g + ", " + value.b + ", " + value.a; + } + return value; // string + }; + Action._GetTargetProperty = function (target) { + return { + name: "target", + targetType: target instanceof BABYLON.Mesh ? "MeshProperties" + : target instanceof BABYLON.Light ? "LightProperties" + : target instanceof BABYLON.Camera ? "CameraProperties" + : "SceneProperties", + value: target instanceof BABYLON.Scene ? "Scene" : target.name + }; + }; + return Action; + }()); + BABYLON.Action = Action; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.action.js.map + +var BABYLON; +(function (BABYLON) { + /** + * ActionEvent is the event beint sent when an action is triggered. + */ + var ActionEvent = (function () { + /** + * @constructor + * @param source The mesh or sprite that triggered the action. + * @param pointerX The X mouse cursor position at the time of the event + * @param pointerY The Y mouse cursor position at the time of the event + * @param meshUnderPointer The mesh that is currently pointed at (can be null) + * @param sourceEvent the original (browser) event that triggered the ActionEvent + */ + function ActionEvent(source, pointerX, pointerY, meshUnderPointer, sourceEvent, additionalData) { + this.source = source; + this.pointerX = pointerX; + this.pointerY = pointerY; + this.meshUnderPointer = meshUnderPointer; + this.sourceEvent = sourceEvent; + this.additionalData = additionalData; + } + /** + * Helper function to auto-create an ActionEvent from a source mesh. + * @param source The source mesh that triggered the event + * @param evt {Event} The original (browser) event + */ + ActionEvent.CreateNew = function (source, evt, additionalData) { + var scene = source.getScene(); + return new ActionEvent(source, scene.pointerX, scene.pointerY, scene.meshUnderPointer, evt, additionalData); + }; + /** + * Helper function to auto-create an ActionEvent from a source mesh. + * @param source The source sprite that triggered the event + * @param scene Scene associated with the sprite + * @param evt {Event} The original (browser) event + */ + ActionEvent.CreateNewFromSprite = function (source, scene, evt, additionalData) { + return new ActionEvent(source, scene.pointerX, scene.pointerY, scene.meshUnderPointer, evt, additionalData); + }; + /** + * Helper function to auto-create an ActionEvent from a scene. If triggered by a mesh use ActionEvent.CreateNew + * @param scene the scene where the event occurred + * @param evt {Event} The original (browser) event + */ + ActionEvent.CreateNewFromScene = function (scene, evt) { + return new ActionEvent(null, scene.pointerX, scene.pointerY, scene.meshUnderPointer, evt); + }; + ActionEvent.CreateNewFromPrimitive = function (prim, pointerPos, evt, additionalData) { + return new ActionEvent(prim, pointerPos.x, pointerPos.y, null, evt, additionalData); + }; + return ActionEvent; + }()); + BABYLON.ActionEvent = ActionEvent; + /** + * Action Manager manages all events to be triggered on a given mesh or the global scene. + * A single scene can have many Action Managers to handle predefined actions on specific meshes. + */ + var ActionManager = (function () { + function ActionManager(scene) { + // Members + this.actions = new Array(); + this.hoverCursor = ''; + this._scene = scene; + scene._actionManagers.push(this); + } + Object.defineProperty(ActionManager, "NothingTrigger", { + get: function () { + return ActionManager._NothingTrigger; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ActionManager, "OnPickTrigger", { + get: function () { + return ActionManager._OnPickTrigger; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ActionManager, "OnLeftPickTrigger", { + get: function () { + return ActionManager._OnLeftPickTrigger; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ActionManager, "OnRightPickTrigger", { + get: function () { + return ActionManager._OnRightPickTrigger; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ActionManager, "OnCenterPickTrigger", { + get: function () { + return ActionManager._OnCenterPickTrigger; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ActionManager, "OnPickDownTrigger", { + get: function () { + return ActionManager._OnPickDownTrigger; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ActionManager, "OnPickUpTrigger", { + get: function () { + return ActionManager._OnPickUpTrigger; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ActionManager, "OnPickOutTrigger", { + /// This trigger will only be raised if you also declared a OnPickDown + get: function () { + return ActionManager._OnPickOutTrigger; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ActionManager, "OnLongPressTrigger", { + get: function () { + return ActionManager._OnLongPressTrigger; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ActionManager, "OnPointerOverTrigger", { + get: function () { + return ActionManager._OnPointerOverTrigger; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ActionManager, "OnPointerOutTrigger", { + get: function () { + return ActionManager._OnPointerOutTrigger; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ActionManager, "OnEveryFrameTrigger", { + get: function () { + return ActionManager._OnEveryFrameTrigger; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ActionManager, "OnIntersectionEnterTrigger", { + get: function () { + return ActionManager._OnIntersectionEnterTrigger; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ActionManager, "OnIntersectionExitTrigger", { + get: function () { + return ActionManager._OnIntersectionExitTrigger; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ActionManager, "OnKeyDownTrigger", { + get: function () { + return ActionManager._OnKeyDownTrigger; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ActionManager, "OnKeyUpTrigger", { + get: function () { + return ActionManager._OnKeyUpTrigger; + }, + enumerable: true, + configurable: true + }); + // Methods + ActionManager.prototype.dispose = function () { + var index = this._scene._actionManagers.indexOf(this); + if (index > -1) { + this._scene._actionManagers.splice(index, 1); + } + }; + ActionManager.prototype.getScene = function () { + return this._scene; + }; + /** + * Does this action manager handles actions of any of the given triggers + * @param {number[]} triggers - the triggers to be tested + * @return {boolean} whether one (or more) of the triggers is handeled + */ + ActionManager.prototype.hasSpecificTriggers = function (triggers) { + for (var index = 0; index < this.actions.length; index++) { + var action = this.actions[index]; + if (triggers.indexOf(action.trigger) > -1) { + return true; + } + } + return false; + }; + /** + * Does this action manager handles actions of a given trigger + * @param {number} trigger - the trigger to be tested + * @return {boolean} whether the trigger is handeled + */ + ActionManager.prototype.hasSpecificTrigger = function (trigger) { + for (var index = 0; index < this.actions.length; index++) { + var action = this.actions[index]; + if (action.trigger === trigger) { + return true; + } + } + return false; + }; + Object.defineProperty(ActionManager.prototype, "hasPointerTriggers", { + /** + * Does this action manager has pointer triggers + * @return {boolean} whether or not it has pointer triggers + */ + get: function () { + for (var index = 0; index < this.actions.length; index++) { + var action = this.actions[index]; + if (action.trigger >= ActionManager._OnPickTrigger && action.trigger <= ActionManager._OnPointerOutTrigger) { + return true; + } + } + return false; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ActionManager.prototype, "hasPickTriggers", { + /** + * Does this action manager has pick triggers + * @return {boolean} whether or not it has pick triggers + */ + get: function () { + for (var index = 0; index < this.actions.length; index++) { + var action = this.actions[index]; + if (action.trigger >= ActionManager._OnPickTrigger && action.trigger <= ActionManager._OnPickUpTrigger) { + return true; + } + } + return false; + }, + enumerable: true, + configurable: true + }); + /** + * Registers an action to this action manager + * @param {BABYLON.Action} action - the action to be registered + * @return {BABYLON.Action} the action amended (prepared) after registration + */ + ActionManager.prototype.registerAction = function (action) { + if (action.trigger === ActionManager.OnEveryFrameTrigger) { + if (this.getScene().actionManager !== this) { + BABYLON.Tools.Warn("OnEveryFrameTrigger can only be used with scene.actionManager"); + return null; + } + } + this.actions.push(action); + action._actionManager = this; + action._prepare(); + return action; + }; + /** + * Process a specific trigger + * @param {number} trigger - the trigger to process + * @param evt {BABYLON.ActionEvent} the event details to be processed + */ + ActionManager.prototype.processTrigger = function (trigger, evt) { + for (var index = 0; index < this.actions.length; index++) { + var action = this.actions[index]; + if (action.trigger === trigger) { + if (trigger === ActionManager.OnKeyUpTrigger + || trigger === ActionManager.OnKeyDownTrigger) { + var parameter = action.getTriggerParameter(); + if (parameter) { + var unicode = evt.sourceEvent.charCode ? evt.sourceEvent.charCode : evt.sourceEvent.keyCode; + var actualkey = String.fromCharCode(unicode).toLowerCase(); + if (actualkey !== parameter.toLowerCase()) { + continue; + } + } + } + action._executeCurrent(evt); + } + } + }; + ActionManager.prototype._getEffectiveTarget = function (target, propertyPath) { + var properties = propertyPath.split("."); + for (var index = 0; index < properties.length - 1; index++) { + target = target[properties[index]]; + } + return target; + }; + ActionManager.prototype._getProperty = function (propertyPath) { + var properties = propertyPath.split("."); + return properties[properties.length - 1]; + }; + ActionManager.prototype.serialize = function (name) { + var root = { + children: [], + name: name, + type: 3, + properties: [] // Empty for root but required + }; + for (var i = 0; i < this.actions.length; i++) { + var triggerObject = { + type: 0, + children: [], + name: ActionManager.GetTriggerName(this.actions[i].trigger), + properties: [] + }; + var triggerOptions = this.actions[i].triggerOptions; + if (triggerOptions && typeof triggerOptions !== "number") { + if (triggerOptions.parameter instanceof BABYLON.Node) { + triggerObject.properties.push(BABYLON.Action._GetTargetProperty(triggerOptions.parameter)); + } + else { + var parameter = {}; + BABYLON.Tools.DeepCopy(triggerOptions.parameter, parameter, ["mesh"]); + if (triggerOptions.parameter.mesh) { + parameter._meshId = triggerOptions.parameter.mesh.id; + } + triggerObject.properties.push({ name: "parameter", targetType: null, value: parameter }); + } + } + // Serialize child action, recursively + this.actions[i].serialize(triggerObject); + // Add serialized trigger + root.children.push(triggerObject); + } + return root; + }; + ActionManager.Parse = function (parsedActions, object, scene) { + var actionManager = new BABYLON.ActionManager(scene); + if (object === null) + scene.actionManager = actionManager; + else + object.actionManager = actionManager; + // instanciate a new object + var instanciate = function (name, params) { + var newInstance = Object.create(BABYLON[name].prototype); + newInstance.constructor.apply(newInstance, params); + return newInstance; + }; + var parseParameter = function (name, value, target, propertyPath) { + if (propertyPath === null) { + // String, boolean or float + var floatValue = parseFloat(value); + if (value === "true" || value === "false") + return value === "true"; + else + return isNaN(floatValue) ? value : floatValue; + } + var effectiveTarget = propertyPath.split("."); + var values = value.split(","); + // Get effective Target + for (var i = 0; i < effectiveTarget.length; i++) { + target = target[effectiveTarget[i]]; + } + // Return appropriate value with its type + if (typeof (target) === "boolean") + return values[0] === "true"; + if (typeof (target) === "string") + return values[0]; + // Parameters with multiple values such as Vector3 etc. + var split = new Array(); + for (var i = 0; i < values.length; i++) + split.push(parseFloat(values[i])); + if (target instanceof BABYLON.Vector3) + return BABYLON.Vector3.FromArray(split); + if (target instanceof BABYLON.Vector4) + return BABYLON.Vector4.FromArray(split); + if (target instanceof BABYLON.Color3) + return BABYLON.Color3.FromArray(split); + if (target instanceof BABYLON.Color4) + return BABYLON.Color4.FromArray(split); + return parseFloat(values[0]); + }; + // traverse graph per trigger + var traverse = function (parsedAction, trigger, condition, action, combineArray) { + if (combineArray === void 0) { combineArray = null; } + if (parsedAction.detached) + return; + var parameters = new Array(); + var target = null; + var propertyPath = null; + var combine = parsedAction.combine && parsedAction.combine.length > 0; + // Parameters + if (parsedAction.type === 2) + parameters.push(actionManager); + else + parameters.push(trigger); + if (combine) { + var actions = new Array(); + for (var j = 0; j < parsedAction.combine.length; j++) { + traverse(parsedAction.combine[j], ActionManager.NothingTrigger, condition, action, actions); + } + parameters.push(actions); + } + else { + for (var i = 0; i < parsedAction.properties.length; i++) { + var value = parsedAction.properties[i].value; + var name = parsedAction.properties[i].name; + var targetType = parsedAction.properties[i].targetType; + if (name === "target") + if (targetType !== null && targetType === "SceneProperties") + value = target = scene; + else + value = target = scene.getNodeByName(value); + else if (name === "parent") + value = scene.getNodeByName(value); + else if (name === "sound") + value = scene.getSoundByName(value); + else if (name !== "propertyPath") { + if (parsedAction.type === 2 && name === "operator") + value = BABYLON.ValueCondition[value]; + else + value = parseParameter(name, value, target, name === "value" ? propertyPath : null); + } + else { + propertyPath = value; + } + parameters.push(value); + } + } + if (combineArray === null) { + parameters.push(condition); + } + else { + parameters.push(null); + } + // If interpolate value action + if (parsedAction.name === "InterpolateValueAction") { + var param = parameters[parameters.length - 2]; + parameters[parameters.length - 1] = param; + parameters[parameters.length - 2] = condition; + } + // Action or condition(s) and not CombineAction + var newAction = instanciate(parsedAction.name, parameters); + if (newAction instanceof BABYLON.Condition && condition !== null) { + var nothing = new BABYLON.DoNothingAction(trigger, condition); + if (action) + action.then(nothing); + else + actionManager.registerAction(nothing); + action = nothing; + } + if (combineArray === null) { + if (newAction instanceof BABYLON.Condition) { + condition = newAction; + newAction = action; + } + else { + condition = null; + if (action) + action.then(newAction); + else + actionManager.registerAction(newAction); + } + } + else { + combineArray.push(newAction); + } + for (var i = 0; i < parsedAction.children.length; i++) + traverse(parsedAction.children[i], trigger, condition, newAction, null); + }; + // triggers + for (var i = 0; i < parsedActions.children.length; i++) { + var triggerParams; + var trigger = parsedActions.children[i]; + if (trigger.properties.length > 0) { + var param = trigger.properties[0].value; + var value = trigger.properties[0].targetType === null ? param : scene.getMeshByName(param); + if (value._meshId) { + value.mesh = scene.getMeshByID(value._meshId); + } + triggerParams = { trigger: BABYLON.ActionManager[trigger.name], parameter: value }; + } + else + triggerParams = BABYLON.ActionManager[trigger.name]; + for (var j = 0; j < trigger.children.length; j++) { + if (!trigger.detached) + traverse(trigger.children[j], triggerParams, null, null); + } + } + }; + ActionManager.GetTriggerName = function (trigger) { + switch (trigger) { + case 0: return "NothingTrigger"; + case 1: return "OnPickTrigger"; + case 2: return "OnLeftPickTrigger"; + case 3: return "OnRightPickTrigger"; + case 4: return "OnCenterPickTrigger"; + case 5: return "OnPickDownTrigger"; + case 6: return "OnPickUpTrigger"; + case 7: return "OnLongPressTrigger"; + case 8: return "OnPointerOverTrigger"; + case 9: return "OnPointerOutTrigger"; + case 10: return "OnEveryFrameTrigger"; + case 11: return "OnIntersectionEnterTrigger"; + case 12: return "OnIntersectionExitTrigger"; + case 13: return "OnKeyDownTrigger"; + case 14: return "OnKeyUpTrigger"; + case 15: return "OnPickOutTrigger"; + default: return ""; + } + }; + // Statics + ActionManager._NothingTrigger = 0; + ActionManager._OnPickTrigger = 1; + ActionManager._OnLeftPickTrigger = 2; + ActionManager._OnRightPickTrigger = 3; + ActionManager._OnCenterPickTrigger = 4; + ActionManager._OnPickDownTrigger = 5; + ActionManager._OnPickUpTrigger = 6; + ActionManager._OnLongPressTrigger = 7; + ActionManager._OnPointerOverTrigger = 8; + ActionManager._OnPointerOutTrigger = 9; + ActionManager._OnEveryFrameTrigger = 10; + ActionManager._OnIntersectionEnterTrigger = 11; + ActionManager._OnIntersectionExitTrigger = 12; + ActionManager._OnKeyDownTrigger = 13; + ActionManager._OnKeyUpTrigger = 14; + ActionManager._OnPickOutTrigger = 15; + ActionManager.DragMovementThreshold = 10; // in pixels + ActionManager.LongPressDelay = 500; // in milliseconds + return ActionManager; + }()); + BABYLON.ActionManager = ActionManager; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.actionManager.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var InterpolateValueAction = (function (_super) { + __extends(InterpolateValueAction, _super); + function InterpolateValueAction(triggerOptions, target, propertyPath, value, duration, condition, stopOtherAnimations, onInterpolationDone) { + if (duration === void 0) { duration = 1000; } + _super.call(this, triggerOptions, condition); + this.propertyPath = propertyPath; + this.value = value; + this.duration = duration; + this.stopOtherAnimations = stopOtherAnimations; + this.onInterpolationDone = onInterpolationDone; + this._target = this._effectiveTarget = target; + } + InterpolateValueAction.prototype._prepare = function () { + this._effectiveTarget = this._getEffectiveTarget(this._effectiveTarget, this.propertyPath); + this._property = this._getProperty(this.propertyPath); + }; + InterpolateValueAction.prototype.execute = function () { + var scene = this._actionManager.getScene(); + var keys = [ + { + frame: 0, + value: this._effectiveTarget[this._property] + }, { + frame: 100, + value: this.value + } + ]; + var dataType; + if (typeof this.value === "number") { + dataType = BABYLON.Animation.ANIMATIONTYPE_FLOAT; + } + else if (this.value instanceof BABYLON.Color3) { + dataType = BABYLON.Animation.ANIMATIONTYPE_COLOR3; + } + else if (this.value instanceof BABYLON.Vector3) { + dataType = BABYLON.Animation.ANIMATIONTYPE_VECTOR3; + } + else if (this.value instanceof BABYLON.Matrix) { + dataType = BABYLON.Animation.ANIMATIONTYPE_MATRIX; + } + else if (this.value instanceof BABYLON.Quaternion) { + dataType = BABYLON.Animation.ANIMATIONTYPE_QUATERNION; + } + else { + BABYLON.Tools.Warn("InterpolateValueAction: Unsupported type (" + typeof this.value + ")"); + return; + } + var animation = new BABYLON.Animation("InterpolateValueAction", this._property, 100 * (1000.0 / this.duration), dataType, BABYLON.Animation.ANIMATIONLOOPMODE_CONSTANT); + animation.setKeys(keys); + if (this.stopOtherAnimations) { + scene.stopAnimation(this._effectiveTarget); + } + scene.beginDirectAnimation(this._effectiveTarget, [animation], 0, 100, false, 1, this.onInterpolationDone); + }; + InterpolateValueAction.prototype.serialize = function (parent) { + return _super.prototype._serialize.call(this, { + name: "InterpolateValueAction", + properties: [ + BABYLON.Action._GetTargetProperty(this._target), + { name: "propertyPath", value: this.propertyPath }, + { name: "value", value: BABYLON.Action._SerializeValueAsString(this.value) }, + { name: "duration", value: BABYLON.Action._SerializeValueAsString(this.duration) }, + { name: "stopOtherAnimations", value: BABYLON.Action._SerializeValueAsString(this.stopOtherAnimations) || false } + ] + }, parent); + }; + return InterpolateValueAction; + }(BABYLON.Action)); + BABYLON.InterpolateValueAction = InterpolateValueAction; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.interpolateValueAction.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var SwitchBooleanAction = (function (_super) { + __extends(SwitchBooleanAction, _super); + function SwitchBooleanAction(triggerOptions, target, propertyPath, condition) { + _super.call(this, triggerOptions, condition); + this.propertyPath = propertyPath; + this._target = this._effectiveTarget = target; + } + SwitchBooleanAction.prototype._prepare = function () { + this._effectiveTarget = this._getEffectiveTarget(this._effectiveTarget, this.propertyPath); + this._property = this._getProperty(this.propertyPath); + }; + SwitchBooleanAction.prototype.execute = function () { + this._effectiveTarget[this._property] = !this._effectiveTarget[this._property]; + }; + SwitchBooleanAction.prototype.serialize = function (parent) { + return _super.prototype._serialize.call(this, { + name: "SwitchBooleanAction", + properties: [ + BABYLON.Action._GetTargetProperty(this._target), + { name: "propertyPath", value: this.propertyPath } + ] + }, parent); + }; + return SwitchBooleanAction; + }(BABYLON.Action)); + BABYLON.SwitchBooleanAction = SwitchBooleanAction; + var SetStateAction = (function (_super) { + __extends(SetStateAction, _super); + function SetStateAction(triggerOptions, target, value, condition) { + _super.call(this, triggerOptions, condition); + this.value = value; + this._target = target; + } + SetStateAction.prototype.execute = function () { + this._target.state = this.value; + }; + SetStateAction.prototype.serialize = function (parent) { + return _super.prototype._serialize.call(this, { + name: "SetStateAction", + properties: [ + BABYLON.Action._GetTargetProperty(this._target), + { name: "value", value: this.value } + ] + }, parent); + }; + return SetStateAction; + }(BABYLON.Action)); + BABYLON.SetStateAction = SetStateAction; + var SetValueAction = (function (_super) { + __extends(SetValueAction, _super); + function SetValueAction(triggerOptions, target, propertyPath, value, condition) { + _super.call(this, triggerOptions, condition); + this.propertyPath = propertyPath; + this.value = value; + this._target = this._effectiveTarget = target; + } + SetValueAction.prototype._prepare = function () { + this._effectiveTarget = this._getEffectiveTarget(this._effectiveTarget, this.propertyPath); + this._property = this._getProperty(this.propertyPath); + }; + SetValueAction.prototype.execute = function () { + this._effectiveTarget[this._property] = this.value; + if (this._target.markAsDirty) { + this._target.markAsDirty(this._property); + } + }; + SetValueAction.prototype.serialize = function (parent) { + return _super.prototype._serialize.call(this, { + name: "SetValueAction", + properties: [ + BABYLON.Action._GetTargetProperty(this._target), + { name: "propertyPath", value: this.propertyPath }, + { name: "value", value: BABYLON.Action._SerializeValueAsString(this.value) } + ] + }, parent); + }; + return SetValueAction; + }(BABYLON.Action)); + BABYLON.SetValueAction = SetValueAction; + var IncrementValueAction = (function (_super) { + __extends(IncrementValueAction, _super); + function IncrementValueAction(triggerOptions, target, propertyPath, value, condition) { + _super.call(this, triggerOptions, condition); + this.propertyPath = propertyPath; + this.value = value; + this._target = this._effectiveTarget = target; + } + IncrementValueAction.prototype._prepare = function () { + this._effectiveTarget = this._getEffectiveTarget(this._effectiveTarget, this.propertyPath); + this._property = this._getProperty(this.propertyPath); + if (typeof this._effectiveTarget[this._property] !== "number") { + BABYLON.Tools.Warn("Warning: IncrementValueAction can only be used with number values"); + } + }; + IncrementValueAction.prototype.execute = function () { + this._effectiveTarget[this._property] += this.value; + if (this._target.markAsDirty) { + this._target.markAsDirty(this._property); + } + }; + IncrementValueAction.prototype.serialize = function (parent) { + return _super.prototype._serialize.call(this, { + name: "IncrementValueAction", + properties: [ + BABYLON.Action._GetTargetProperty(this._target), + { name: "propertyPath", value: this.propertyPath }, + { name: "value", value: BABYLON.Action._SerializeValueAsString(this.value) } + ] + }, parent); + }; + return IncrementValueAction; + }(BABYLON.Action)); + BABYLON.IncrementValueAction = IncrementValueAction; + var PlayAnimationAction = (function (_super) { + __extends(PlayAnimationAction, _super); + function PlayAnimationAction(triggerOptions, target, from, to, loop, condition) { + _super.call(this, triggerOptions, condition); + this.from = from; + this.to = to; + this.loop = loop; + this._target = target; + } + PlayAnimationAction.prototype._prepare = function () { + }; + PlayAnimationAction.prototype.execute = function () { + var scene = this._actionManager.getScene(); + scene.beginAnimation(this._target, this.from, this.to, this.loop); + }; + PlayAnimationAction.prototype.serialize = function (parent) { + return _super.prototype._serialize.call(this, { + name: "PlayAnimationAction", + properties: [ + BABYLON.Action._GetTargetProperty(this._target), + { name: "from", value: String(this.from) }, + { name: "to", value: String(this.to) }, + { name: "loop", value: BABYLON.Action._SerializeValueAsString(this.loop) || false } + ] + }, parent); + }; + return PlayAnimationAction; + }(BABYLON.Action)); + BABYLON.PlayAnimationAction = PlayAnimationAction; + var StopAnimationAction = (function (_super) { + __extends(StopAnimationAction, _super); + function StopAnimationAction(triggerOptions, target, condition) { + _super.call(this, triggerOptions, condition); + this._target = target; + } + StopAnimationAction.prototype._prepare = function () { + }; + StopAnimationAction.prototype.execute = function () { + var scene = this._actionManager.getScene(); + scene.stopAnimation(this._target); + }; + StopAnimationAction.prototype.serialize = function (parent) { + return _super.prototype._serialize.call(this, { + name: "StopAnimationAction", + properties: [BABYLON.Action._GetTargetProperty(this._target)] + }, parent); + }; + return StopAnimationAction; + }(BABYLON.Action)); + BABYLON.StopAnimationAction = StopAnimationAction; + var DoNothingAction = (function (_super) { + __extends(DoNothingAction, _super); + function DoNothingAction(triggerOptions, condition) { + if (triggerOptions === void 0) { triggerOptions = BABYLON.ActionManager.NothingTrigger; } + _super.call(this, triggerOptions, condition); + } + DoNothingAction.prototype.execute = function () { + }; + DoNothingAction.prototype.serialize = function (parent) { + return _super.prototype._serialize.call(this, { + name: "DoNothingAction", + properties: [] + }, parent); + }; + return DoNothingAction; + }(BABYLON.Action)); + BABYLON.DoNothingAction = DoNothingAction; + var CombineAction = (function (_super) { + __extends(CombineAction, _super); + function CombineAction(triggerOptions, children, condition) { + _super.call(this, triggerOptions, condition); + this.children = children; + } + CombineAction.prototype._prepare = function () { + for (var index = 0; index < this.children.length; index++) { + this.children[index]._actionManager = this._actionManager; + this.children[index]._prepare(); + } + }; + CombineAction.prototype.execute = function (evt) { + for (var index = 0; index < this.children.length; index++) { + this.children[index].execute(evt); + } + }; + CombineAction.prototype.serialize = function (parent) { + var serializationObject = _super.prototype._serialize.call(this, { + name: "CombineAction", + properties: [], + combine: [] + }, parent); + for (var i = 0; i < this.children.length; i++) { + serializationObject.combine.push(this.children[i].serialize(null)); + } + return serializationObject; + }; + return CombineAction; + }(BABYLON.Action)); + BABYLON.CombineAction = CombineAction; + var ExecuteCodeAction = (function (_super) { + __extends(ExecuteCodeAction, _super); + function ExecuteCodeAction(triggerOptions, func, condition) { + _super.call(this, triggerOptions, condition); + this.func = func; + } + ExecuteCodeAction.prototype.execute = function (evt) { + this.func(evt); + }; + return ExecuteCodeAction; + }(BABYLON.Action)); + BABYLON.ExecuteCodeAction = ExecuteCodeAction; + var SetParentAction = (function (_super) { + __extends(SetParentAction, _super); + function SetParentAction(triggerOptions, target, parent, condition) { + _super.call(this, triggerOptions, condition); + this._target = target; + this._parent = parent; + } + SetParentAction.prototype._prepare = function () { + }; + SetParentAction.prototype.execute = function () { + if (this._target.parent === this._parent) { + return; + } + var invertParentWorldMatrix = this._parent.getWorldMatrix().clone(); + invertParentWorldMatrix.invert(); + this._target.position = BABYLON.Vector3.TransformCoordinates(this._target.position, invertParentWorldMatrix); + this._target.parent = this._parent; + }; + SetParentAction.prototype.serialize = function (parent) { + return _super.prototype._serialize.call(this, { + name: "SetParentAction", + properties: [ + BABYLON.Action._GetTargetProperty(this._target), + BABYLON.Action._GetTargetProperty(this._parent), + ] + }, parent); + }; + return SetParentAction; + }(BABYLON.Action)); + BABYLON.SetParentAction = SetParentAction; + var PlaySoundAction = (function (_super) { + __extends(PlaySoundAction, _super); + function PlaySoundAction(triggerOptions, sound, condition) { + _super.call(this, triggerOptions, condition); + this._sound = sound; + } + PlaySoundAction.prototype._prepare = function () { + }; + PlaySoundAction.prototype.execute = function () { + if (this._sound !== undefined) + this._sound.play(); + }; + PlaySoundAction.prototype.serialize = function (parent) { + return _super.prototype._serialize.call(this, { + name: "PlaySoundAction", + properties: [{ name: "sound", value: this._sound.name }] + }, parent); + }; + return PlaySoundAction; + }(BABYLON.Action)); + BABYLON.PlaySoundAction = PlaySoundAction; + var StopSoundAction = (function (_super) { + __extends(StopSoundAction, _super); + function StopSoundAction(triggerOptions, sound, condition) { + _super.call(this, triggerOptions, condition); + this._sound = sound; + } + StopSoundAction.prototype._prepare = function () { + }; + StopSoundAction.prototype.execute = function () { + if (this._sound !== undefined) + this._sound.stop(); + }; + StopSoundAction.prototype.serialize = function (parent) { + return _super.prototype._serialize.call(this, { + name: "StopSoundAction", + properties: [{ name: "sound", value: this._sound.name }] + }, parent); + }; + return StopSoundAction; + }(BABYLON.Action)); + BABYLON.StopSoundAction = StopSoundAction; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.directActions.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var Geometry = (function () { + function Geometry(id, scene, vertexData, updatable, mesh) { + this.delayLoadState = BABYLON.Engine.DELAYLOADSTATE_NONE; + this._totalVertices = 0; + this._isDisposed = false; + this.id = id; + this._engine = scene.getEngine(); + this._meshes = []; + this._scene = scene; + //Init vertex buffer cache + this._vertexBuffers = {}; + this._indices = []; + // vertexData + if (vertexData) { + this.setAllVerticesData(vertexData, updatable); + } + else { + this._totalVertices = 0; + this._indices = []; + } + // applyToMesh + if (mesh) { + if (mesh instanceof BABYLON.LinesMesh) { + this.boundingBias = new BABYLON.Vector2(0, mesh.intersectionThreshold); + this.updateExtend(); + } + this.applyToMesh(mesh); + mesh.computeWorldMatrix(true); + } + } + Object.defineProperty(Geometry.prototype, "boundingBias", { + /** + * The Bias Vector to apply on the bounding elements (box/sphere), the max extend is computed as v += v * bias.x + bias.y, the min is computed as v -= v * bias.x + bias.y + * @returns The Bias Vector + */ + get: function () { + return this._boundingBias; + }, + set: function (value) { + if (this._boundingBias && this._boundingBias.equals(value)) { + return; + } + this._boundingBias = value.clone(); + this.updateBoundingInfo(true, null); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Geometry.prototype, "extend", { + get: function () { + return this._extend; + }, + enumerable: true, + configurable: true + }); + Geometry.prototype.getScene = function () { + return this._scene; + }; + Geometry.prototype.getEngine = function () { + return this._engine; + }; + Geometry.prototype.isReady = function () { + return this.delayLoadState === BABYLON.Engine.DELAYLOADSTATE_LOADED || this.delayLoadState === BABYLON.Engine.DELAYLOADSTATE_NONE; + }; + Object.defineProperty(Geometry.prototype, "doNotSerialize", { + get: function () { + for (var index = 0; index < this._meshes.length; index++) { + if (!this._meshes[index].doNotSerialize) { + return false; + } + } + return true; + }, + enumerable: true, + configurable: true + }); + Geometry.prototype.setAllVerticesData = function (vertexData, updatable) { + vertexData.applyToGeometry(this, updatable); + this.notifyUpdate(); + }; + Geometry.prototype.setVerticesData = function (kind, data, updatable, stride) { + var buffer = new BABYLON.VertexBuffer(this._engine, data, kind, updatable, this._meshes.length === 0, stride); + this.setVerticesBuffer(buffer); + }; + Geometry.prototype.setVerticesBuffer = function (buffer) { + var kind = buffer.getKind(); + if (this._vertexBuffers[kind]) { + this._vertexBuffers[kind].dispose(); + } + this._vertexBuffers[kind] = buffer; + if (kind === BABYLON.VertexBuffer.PositionKind) { + var data = buffer.getData(); + var stride = buffer.getStrideSize(); + this._totalVertices = data.length / stride; + this.updateExtend(data, stride); + var meshes = this._meshes; + var numOfMeshes = meshes.length; + for (var index = 0; index < numOfMeshes; index++) { + var mesh = meshes[index]; + mesh._resetPointsArrayCache(); + mesh._boundingInfo = new BABYLON.BoundingInfo(this._extend.minimum, this._extend.maximum); + mesh._createGlobalSubMesh(); + mesh.computeWorldMatrix(true); + } + } + this.notifyUpdate(kind); + }; + Geometry.prototype.updateVerticesDataDirectly = function (kind, data, offset) { + var vertexBuffer = this.getVertexBuffer(kind); + if (!vertexBuffer) { + return; + } + vertexBuffer.updateDirectly(data, offset); + this.notifyUpdate(kind); + }; + Geometry.prototype.updateVerticesData = function (kind, data, updateExtends) { + var vertexBuffer = this.getVertexBuffer(kind); + if (!vertexBuffer) { + return; + } + vertexBuffer.update(data); + if (kind === BABYLON.VertexBuffer.PositionKind) { + var stride = vertexBuffer.getStrideSize(); + this._totalVertices = data.length / stride; + this.updateBoundingInfo(updateExtends, data); + } + this.notifyUpdate(kind); + }; + Geometry.prototype.updateBoundingInfo = function (updateExtends, data) { + if (updateExtends) { + this.updateExtend(data); + } + var meshes = this._meshes; + var numOfMeshes = meshes.length; + for (var index = 0; index < numOfMeshes; index++) { + var mesh = meshes[index]; + mesh._resetPointsArrayCache(); + if (updateExtends) { + mesh._boundingInfo = new BABYLON.BoundingInfo(this._extend.minimum, this._extend.maximum); + for (var subIndex = 0; subIndex < mesh.subMeshes.length; subIndex++) { + var subMesh = mesh.subMeshes[subIndex]; + subMesh.refreshBoundingInfo(); + } + } + } + }; + Geometry.prototype.getTotalVertices = function () { + if (!this.isReady()) { + return 0; + } + return this._totalVertices; + }; + Geometry.prototype.getVerticesData = function (kind, copyWhenShared) { + var vertexBuffer = this.getVertexBuffer(kind); + if (!vertexBuffer) { + return null; + } + var orig = vertexBuffer.getData(); + if (!copyWhenShared || this._meshes.length === 1) { + return orig; + } + else { + var len = orig.length; + var copy = []; + for (var i = 0; i < len; i++) { + copy.push(orig[i]); + } + return copy; + } + }; + Geometry.prototype.getVertexBuffer = function (kind) { + if (!this.isReady()) { + return null; + } + return this._vertexBuffers[kind]; + }; + Geometry.prototype.getVertexBuffers = function () { + if (!this.isReady()) { + return null; + } + return this._vertexBuffers; + }; + Geometry.prototype.isVerticesDataPresent = function (kind) { + if (!this._vertexBuffers) { + if (this._delayInfo) { + return this._delayInfo.indexOf(kind) !== -1; + } + return false; + } + return this._vertexBuffers[kind] !== undefined; + }; + Geometry.prototype.getVerticesDataKinds = function () { + var result = []; + var kind; + if (!this._vertexBuffers && this._delayInfo) { + for (kind in this._delayInfo) { + result.push(kind); + } + } + else { + for (kind in this._vertexBuffers) { + result.push(kind); + } + } + return result; + }; + Geometry.prototype.setIndices = function (indices, totalVertices) { + if (this._indexBuffer) { + this._engine._releaseBuffer(this._indexBuffer); + } + this._indices = indices; + if (this._meshes.length !== 0 && this._indices) { + this._indexBuffer = this._engine.createIndexBuffer(this._indices); + } + if (totalVertices !== undefined) { + this._totalVertices = totalVertices; + } + var meshes = this._meshes; + var numOfMeshes = meshes.length; + for (var index = 0; index < numOfMeshes; index++) { + meshes[index]._createGlobalSubMesh(); + } + this.notifyUpdate(); + }; + Geometry.prototype.getTotalIndices = function () { + if (!this.isReady()) { + return 0; + } + return this._indices.length; + }; + Geometry.prototype.getIndices = function (copyWhenShared) { + if (!this.isReady()) { + return null; + } + var orig = this._indices; + if (!copyWhenShared || this._meshes.length === 1) { + return orig; + } + else { + var len = orig.length; + var copy = []; + for (var i = 0; i < len; i++) { + copy.push(orig[i]); + } + return copy; + } + }; + Geometry.prototype.getIndexBuffer = function () { + if (!this.isReady()) { + return null; + } + return this._indexBuffer; + }; + Geometry.prototype.releaseForMesh = function (mesh, shouldDispose) { + var meshes = this._meshes; + var index = meshes.indexOf(mesh); + if (index === -1) { + return; + } + for (var kind in this._vertexBuffers) { + this._vertexBuffers[kind].dispose(); + } + if (this._indexBuffer && this._engine._releaseBuffer(this._indexBuffer)) { + this._indexBuffer = null; + } + meshes.splice(index, 1); + mesh._geometry = null; + if (meshes.length === 0 && shouldDispose) { + this.dispose(); + } + }; + Geometry.prototype.applyToMesh = function (mesh) { + if (mesh._geometry === this) { + return; + } + var previousGeometry = mesh._geometry; + if (previousGeometry) { + previousGeometry.releaseForMesh(mesh); + } + var meshes = this._meshes; + // must be done before setting vertexBuffers because of mesh._createGlobalSubMesh() + mesh._geometry = this; + this._scene.pushGeometry(this); + meshes.push(mesh); + if (this.isReady()) { + this._applyToMesh(mesh); + } + else { + mesh._boundingInfo = this._boundingInfo; + } + }; + Geometry.prototype.updateExtend = function (data, stride) { + if (data === void 0) { data = null; } + if (!data) { + data = this._vertexBuffers[BABYLON.VertexBuffer.PositionKind].getData(); + } + this._extend = BABYLON.Tools.ExtractMinAndMax(data, 0, this._totalVertices, this.boundingBias, stride); + }; + Geometry.prototype._applyToMesh = function (mesh) { + var numOfMeshes = this._meshes.length; + // vertexBuffers + for (var kind in this._vertexBuffers) { + if (numOfMeshes === 1) { + this._vertexBuffers[kind].create(); + } + this._vertexBuffers[kind].getBuffer().references = numOfMeshes; + if (kind === BABYLON.VertexBuffer.PositionKind) { + mesh._resetPointsArrayCache(); + if (!this._extend) { + this.updateExtend(this._vertexBuffers[kind].getData()); + } + mesh._boundingInfo = new BABYLON.BoundingInfo(this._extend.minimum, this._extend.maximum); + mesh._createGlobalSubMesh(); + //bounding info was just created again, world matrix should be applied again. + mesh._updateBoundingInfo(); + } + } + // indexBuffer + if (numOfMeshes === 1 && this._indices && this._indices.length > 0) { + this._indexBuffer = this._engine.createIndexBuffer(this._indices); + } + if (this._indexBuffer) { + this._indexBuffer.references = numOfMeshes; + } + }; + Geometry.prototype.notifyUpdate = function (kind) { + if (this.onGeometryUpdated) { + this.onGeometryUpdated(this, kind); + } + }; + Geometry.prototype.load = function (scene, onLoaded) { + if (this.delayLoadState === BABYLON.Engine.DELAYLOADSTATE_LOADING) { + return; + } + if (this.isReady()) { + if (onLoaded) { + onLoaded(); + } + return; + } + this.delayLoadState = BABYLON.Engine.DELAYLOADSTATE_LOADING; + this._queueLoad(scene, onLoaded); + }; + Geometry.prototype._queueLoad = function (scene, onLoaded) { + var _this = this; + scene._addPendingData(this); + BABYLON.Tools.LoadFile(this.delayLoadingFile, function (data) { + _this._delayLoadingFunction(JSON.parse(data), _this); + _this.delayLoadState = BABYLON.Engine.DELAYLOADSTATE_LOADED; + _this._delayInfo = []; + scene._removePendingData(_this); + var meshes = _this._meshes; + var numOfMeshes = meshes.length; + for (var index = 0; index < numOfMeshes; index++) { + _this._applyToMesh(meshes[index]); + } + if (onLoaded) { + onLoaded(); + } + }, function () { }, scene.database); + }; + /** + * Invert the geometry to move from a right handed system to a left handed one. + */ + Geometry.prototype.toLeftHanded = function () { + // Flip faces + var tIndices = this.getIndices(false); + if (tIndices != null && tIndices.length > 0) { + for (var i = 0; i < tIndices.length; i += 3) { + var tTemp = tIndices[i + 0]; + tIndices[i + 0] = tIndices[i + 2]; + tIndices[i + 2] = tTemp; + } + this.setIndices(tIndices); + } + // Negate position.z + var tPositions = this.getVerticesData(BABYLON.VertexBuffer.PositionKind, false); + if (tPositions != null && tPositions.length > 0) { + for (var i = 0; i < tPositions.length; i += 3) { + tPositions[i + 2] = -tPositions[i + 2]; + } + this.setVerticesData(BABYLON.VertexBuffer.PositionKind, tPositions, false); + } + // Negate normal.z + var tNormals = this.getVerticesData(BABYLON.VertexBuffer.NormalKind, false); + if (tNormals != null && tNormals.length > 0) { + for (var i = 0; i < tNormals.length; i += 3) { + tNormals[i + 2] = -tNormals[i + 2]; + } + this.setVerticesData(BABYLON.VertexBuffer.NormalKind, tNormals, false); + } + }; + Geometry.prototype.isDisposed = function () { + return this._isDisposed; + }; + Geometry.prototype.dispose = function () { + var meshes = this._meshes; + var numOfMeshes = meshes.length; + var index; + for (index = 0; index < numOfMeshes; index++) { + this.releaseForMesh(meshes[index]); + } + this._meshes = []; + for (var kind in this._vertexBuffers) { + this._vertexBuffers[kind].dispose(); + } + this._vertexBuffers = {}; + this._totalVertices = 0; + if (this._indexBuffer) { + this._engine._releaseBuffer(this._indexBuffer); + } + this._indexBuffer = null; + this._indices = []; + this.delayLoadState = BABYLON.Engine.DELAYLOADSTATE_NONE; + this.delayLoadingFile = null; + this._delayLoadingFunction = null; + this._delayInfo = []; + this._boundingInfo = null; + this._scene.removeGeometry(this); + this._isDisposed = true; + }; + Geometry.prototype.copy = function (id) { + var vertexData = new BABYLON.VertexData(); + vertexData.indices = []; + var indices = this.getIndices(); + for (var index = 0; index < indices.length; index++) { + vertexData.indices.push(indices[index]); + } + var updatable = false; + var stopChecking = false; + var kind; + for (kind in this._vertexBuffers) { + // using slice() to make a copy of the array and not just reference it + var data = this.getVerticesData(kind); + if (data instanceof Float32Array) { + vertexData.set(new Float32Array(data), kind); + } + else { + vertexData.set(data.slice(0), kind); + } + if (!stopChecking) { + updatable = this.getVertexBuffer(kind).isUpdatable(); + stopChecking = !updatable; + } + } + var geometry = new Geometry(id, this._scene, vertexData, updatable, null); + geometry.delayLoadState = this.delayLoadState; + geometry.delayLoadingFile = this.delayLoadingFile; + geometry._delayLoadingFunction = this._delayLoadingFunction; + for (kind in this._delayInfo) { + geometry._delayInfo = geometry._delayInfo || []; + geometry._delayInfo.push(kind); + } + // Bounding info + geometry._boundingInfo = new BABYLON.BoundingInfo(this._extend.minimum, this._extend.maximum); + return geometry; + }; + Geometry.prototype.serialize = function () { + var serializationObject = {}; + serializationObject.id = this.id; + if (BABYLON.Tags.HasTags(this)) { + serializationObject.tags = BABYLON.Tags.GetTags(this); + } + return serializationObject; + }; + Geometry.prototype.serializeVerticeData = function () { + var serializationObject = this.serialize(); + if (this.isVerticesDataPresent(BABYLON.VertexBuffer.PositionKind)) { + serializationObject.positions = this.getVerticesData(BABYLON.VertexBuffer.PositionKind); + } + if (this.isVerticesDataPresent(BABYLON.VertexBuffer.NormalKind)) { + serializationObject.normals = this.getVerticesData(BABYLON.VertexBuffer.NormalKind); + } + if (this.isVerticesDataPresent(BABYLON.VertexBuffer.UVKind)) { + serializationObject.uvs = this.getVerticesData(BABYLON.VertexBuffer.UVKind); + } + if (this.isVerticesDataPresent(BABYLON.VertexBuffer.UV2Kind)) { + serializationObject.uv2s = this.getVerticesData(BABYLON.VertexBuffer.UV2Kind); + } + if (this.isVerticesDataPresent(BABYLON.VertexBuffer.UV3Kind)) { + serializationObject.uv3s = this.getVerticesData(BABYLON.VertexBuffer.UV3Kind); + } + if (this.isVerticesDataPresent(BABYLON.VertexBuffer.UV4Kind)) { + serializationObject.uv4s = this.getVerticesData(BABYLON.VertexBuffer.UV4Kind); + } + if (this.isVerticesDataPresent(BABYLON.VertexBuffer.UV5Kind)) { + serializationObject.uv5s = this.getVerticesData(BABYLON.VertexBuffer.UV5Kind); + } + if (this.isVerticesDataPresent(BABYLON.VertexBuffer.UV6Kind)) { + serializationObject.uv6s = this.getVerticesData(BABYLON.VertexBuffer.UV6Kind); + } + if (this.isVerticesDataPresent(BABYLON.VertexBuffer.ColorKind)) { + serializationObject.colors = this.getVerticesData(BABYLON.VertexBuffer.ColorKind); + } + if (this.isVerticesDataPresent(BABYLON.VertexBuffer.MatricesIndicesKind)) { + serializationObject.matricesIndices = this.getVerticesData(BABYLON.VertexBuffer.MatricesIndicesKind); + serializationObject.matricesIndices._isExpanded = true; + } + if (this.isVerticesDataPresent(BABYLON.VertexBuffer.MatricesWeightsKind)) { + serializationObject.matricesWeights = this.getVerticesData(BABYLON.VertexBuffer.MatricesWeightsKind); + } + serializationObject.indices = this.getIndices(); + return serializationObject; + }; + // Statics + Geometry.ExtractFromMesh = function (mesh, id) { + var geometry = mesh._geometry; + if (!geometry) { + return null; + } + return geometry.copy(id); + }; + /** + * You should now use Tools.RandomId(), this method is still here for legacy reasons. + * Implementation from http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/2117523#answer-2117523 + * Be aware Math.random() could cause collisions, but: + * "All but 6 of the 128 bits of the ID are randomly generated, which means that for any two ids, there's a 1 in 2^^122 (or 5.3x10^^36) chance they'll collide" + */ + Geometry.RandomId = function () { + return BABYLON.Tools.RandomId(); + }; + Geometry.ImportGeometry = function (parsedGeometry, mesh) { + var scene = mesh.getScene(); + // Geometry + var geometryId = parsedGeometry.geometryId; + if (geometryId) { + var geometry = scene.getGeometryByID(geometryId); + if (geometry) { + geometry.applyToMesh(mesh); + } + } + else if (parsedGeometry instanceof ArrayBuffer) { + var binaryInfo = mesh._binaryInfo; + if (binaryInfo.positionsAttrDesc && binaryInfo.positionsAttrDesc.count > 0) { + var positionsData = new Float32Array(parsedGeometry, binaryInfo.positionsAttrDesc.offset, binaryInfo.positionsAttrDesc.count); + mesh.setVerticesData(BABYLON.VertexBuffer.PositionKind, positionsData, false); + } + if (binaryInfo.normalsAttrDesc && binaryInfo.normalsAttrDesc.count > 0) { + var normalsData = new Float32Array(parsedGeometry, binaryInfo.normalsAttrDesc.offset, binaryInfo.normalsAttrDesc.count); + mesh.setVerticesData(BABYLON.VertexBuffer.NormalKind, normalsData, false); + } + if (binaryInfo.uvsAttrDesc && binaryInfo.uvsAttrDesc.count > 0) { + var uvsData = new Float32Array(parsedGeometry, binaryInfo.uvsAttrDesc.offset, binaryInfo.uvsAttrDesc.count); + mesh.setVerticesData(BABYLON.VertexBuffer.UVKind, uvsData, false); + } + if (binaryInfo.uvs2AttrDesc && binaryInfo.uvs2AttrDesc.count > 0) { + var uvs2Data = new Float32Array(parsedGeometry, binaryInfo.uvs2AttrDesc.offset, binaryInfo.uvs2AttrDesc.count); + mesh.setVerticesData(BABYLON.VertexBuffer.UV2Kind, uvs2Data, false); + } + if (binaryInfo.uvs3AttrDesc && binaryInfo.uvs3AttrDesc.count > 0) { + var uvs3Data = new Float32Array(parsedGeometry, binaryInfo.uvs3AttrDesc.offset, binaryInfo.uvs3AttrDesc.count); + mesh.setVerticesData(BABYLON.VertexBuffer.UV3Kind, uvs3Data, false); + } + if (binaryInfo.uvs4AttrDesc && binaryInfo.uvs4AttrDesc.count > 0) { + var uvs4Data = new Float32Array(parsedGeometry, binaryInfo.uvs4AttrDesc.offset, binaryInfo.uvs4AttrDesc.count); + mesh.setVerticesData(BABYLON.VertexBuffer.UV4Kind, uvs4Data, false); + } + if (binaryInfo.uvs5AttrDesc && binaryInfo.uvs5AttrDesc.count > 0) { + var uvs5Data = new Float32Array(parsedGeometry, binaryInfo.uvs5AttrDesc.offset, binaryInfo.uvs5AttrDesc.count); + mesh.setVerticesData(BABYLON.VertexBuffer.UV5Kind, uvs5Data, false); + } + if (binaryInfo.uvs6AttrDesc && binaryInfo.uvs6AttrDesc.count > 0) { + var uvs6Data = new Float32Array(parsedGeometry, binaryInfo.uvs6AttrDesc.offset, binaryInfo.uvs6AttrDesc.count); + mesh.setVerticesData(BABYLON.VertexBuffer.UV6Kind, uvs6Data, false); + } + if (binaryInfo.colorsAttrDesc && binaryInfo.colorsAttrDesc.count > 0) { + var colorsData = new Float32Array(parsedGeometry, binaryInfo.colorsAttrDesc.offset, binaryInfo.colorsAttrDesc.count); + mesh.setVerticesData(BABYLON.VertexBuffer.ColorKind, colorsData, false, binaryInfo.colorsAttrDesc.stride); + } + if (binaryInfo.matricesIndicesAttrDesc && binaryInfo.matricesIndicesAttrDesc.count > 0) { + var matricesIndicesData = new Int32Array(parsedGeometry, binaryInfo.matricesIndicesAttrDesc.offset, binaryInfo.matricesIndicesAttrDesc.count); + mesh.setVerticesData(BABYLON.VertexBuffer.MatricesIndicesKind, matricesIndicesData, false); + } + if (binaryInfo.matricesWeightsAttrDesc && binaryInfo.matricesWeightsAttrDesc.count > 0) { + var matricesWeightsData = new Float32Array(parsedGeometry, binaryInfo.matricesWeightsAttrDesc.offset, binaryInfo.matricesWeightsAttrDesc.count); + mesh.setVerticesData(BABYLON.VertexBuffer.MatricesWeightsKind, matricesWeightsData, false); + } + if (binaryInfo.indicesAttrDesc && binaryInfo.indicesAttrDesc.count > 0) { + var indicesData = new Int32Array(parsedGeometry, binaryInfo.indicesAttrDesc.offset, binaryInfo.indicesAttrDesc.count); + mesh.setIndices(indicesData); + } + if (binaryInfo.subMeshesAttrDesc && binaryInfo.subMeshesAttrDesc.count > 0) { + var subMeshesData = new Int32Array(parsedGeometry, binaryInfo.subMeshesAttrDesc.offset, binaryInfo.subMeshesAttrDesc.count * 5); + mesh.subMeshes = []; + for (var i = 0; i < binaryInfo.subMeshesAttrDesc.count; i++) { + var materialIndex = subMeshesData[(i * 5) + 0]; + var verticesStart = subMeshesData[(i * 5) + 1]; + var verticesCount = subMeshesData[(i * 5) + 2]; + var indexStart = subMeshesData[(i * 5) + 3]; + var indexCount = subMeshesData[(i * 5) + 4]; + var subMesh = new BABYLON.SubMesh(materialIndex, verticesStart, verticesCount, indexStart, indexCount, mesh); + } + } + } + else if (parsedGeometry.positions && parsedGeometry.normals && parsedGeometry.indices) { + mesh.setVerticesData(BABYLON.VertexBuffer.PositionKind, parsedGeometry.positions, false); + mesh.setVerticesData(BABYLON.VertexBuffer.NormalKind, parsedGeometry.normals, false); + if (parsedGeometry.uvs) { + mesh.setVerticesData(BABYLON.VertexBuffer.UVKind, parsedGeometry.uvs, false); + } + if (parsedGeometry.uvs2) { + mesh.setVerticesData(BABYLON.VertexBuffer.UV2Kind, parsedGeometry.uvs2, false); + } + if (parsedGeometry.uvs3) { + mesh.setVerticesData(BABYLON.VertexBuffer.UV3Kind, parsedGeometry.uvs3, false); + } + if (parsedGeometry.uvs4) { + mesh.setVerticesData(BABYLON.VertexBuffer.UV4Kind, parsedGeometry.uvs4, false); + } + if (parsedGeometry.uvs5) { + mesh.setVerticesData(BABYLON.VertexBuffer.UV5Kind, parsedGeometry.uvs5, false); + } + if (parsedGeometry.uvs6) { + mesh.setVerticesData(BABYLON.VertexBuffer.UV6Kind, parsedGeometry.uvs6, false); + } + if (parsedGeometry.colors) { + mesh.setVerticesData(BABYLON.VertexBuffer.ColorKind, BABYLON.Color4.CheckColors4(parsedGeometry.colors, parsedGeometry.positions.length / 3), false); + } + if (parsedGeometry.matricesIndices) { + if (!parsedGeometry.matricesIndices._isExpanded) { + var floatIndices = []; + for (var i = 0; i < parsedGeometry.matricesIndices.length; i++) { + var matricesIndex = parsedGeometry.matricesIndices[i]; + floatIndices.push(matricesIndex & 0x000000FF); + floatIndices.push((matricesIndex & 0x0000FF00) >> 8); + floatIndices.push((matricesIndex & 0x00FF0000) >> 16); + floatIndices.push(matricesIndex >> 24); + } + mesh.setVerticesData(BABYLON.VertexBuffer.MatricesIndicesKind, floatIndices, false); + } + else { + delete parsedGeometry.matricesIndices._isExpanded; + mesh.setVerticesData(BABYLON.VertexBuffer.MatricesIndicesKind, parsedGeometry.matricesIndices, false); + } + } + if (parsedGeometry.matricesIndicesExtra) { + if (!parsedGeometry.matricesIndicesExtra._isExpanded) { + var floatIndices = []; + for (var i = 0; i < parsedGeometry.matricesIndicesExtra.length; i++) { + var matricesIndex = parsedGeometry.matricesIndicesExtra[i]; + floatIndices.push(matricesIndex & 0x000000FF); + floatIndices.push((matricesIndex & 0x0000FF00) >> 8); + floatIndices.push((matricesIndex & 0x00FF0000) >> 16); + floatIndices.push(matricesIndex >> 24); + } + mesh.setVerticesData(BABYLON.VertexBuffer.MatricesIndicesExtraKind, floatIndices, false); + } + else { + delete parsedGeometry.matricesIndices._isExpanded; + mesh.setVerticesData(BABYLON.VertexBuffer.MatricesIndicesExtraKind, parsedGeometry.matricesIndicesExtra, false); + } + } + if (parsedGeometry.matricesWeights) { + mesh.setVerticesData(BABYLON.VertexBuffer.MatricesWeightsKind, parsedGeometry.matricesWeights, false); + } + if (parsedGeometry.matricesWeightsExtra) { + mesh.setVerticesData(BABYLON.VertexBuffer.MatricesWeightsExtraKind, parsedGeometry.matricesWeightsExtra, false); + } + mesh.setIndices(parsedGeometry.indices); + } + // SubMeshes + if (parsedGeometry.subMeshes) { + mesh.subMeshes = []; + for (var subIndex = 0; subIndex < parsedGeometry.subMeshes.length; subIndex++) { + var parsedSubMesh = parsedGeometry.subMeshes[subIndex]; + var subMesh = new BABYLON.SubMesh(parsedSubMesh.materialIndex, parsedSubMesh.verticesStart, parsedSubMesh.verticesCount, parsedSubMesh.indexStart, parsedSubMesh.indexCount, mesh); + } + } + // Flat shading + if (mesh._shouldGenerateFlatShading) { + mesh.convertToFlatShadedMesh(); + delete mesh._shouldGenerateFlatShading; + } + // Update + mesh.computeWorldMatrix(true); + // Octree + if (scene['_selectionOctree']) { + scene['_selectionOctree'].addMesh(mesh); + } + }; + Geometry.Parse = function (parsedVertexData, scene, rootUrl) { + if (scene.getGeometryByID(parsedVertexData.id)) { + return null; // null since geometry could be something else than a box... + } + var geometry = new Geometry(parsedVertexData.id, scene); + BABYLON.Tags.AddTagsTo(geometry, parsedVertexData.tags); + if (parsedVertexData.delayLoadingFile) { + geometry.delayLoadState = BABYLON.Engine.DELAYLOADSTATE_NOTLOADED; + geometry.delayLoadingFile = rootUrl + parsedVertexData.delayLoadingFile; + geometry._boundingInfo = new BABYLON.BoundingInfo(BABYLON.Vector3.FromArray(parsedVertexData.boundingBoxMinimum), BABYLON.Vector3.FromArray(parsedVertexData.boundingBoxMaximum)); + geometry._delayInfo = []; + if (parsedVertexData.hasUVs) { + geometry._delayInfo.push(BABYLON.VertexBuffer.UVKind); + } + if (parsedVertexData.hasUVs2) { + geometry._delayInfo.push(BABYLON.VertexBuffer.UV2Kind); + } + if (parsedVertexData.hasUVs3) { + geometry._delayInfo.push(BABYLON.VertexBuffer.UV3Kind); + } + if (parsedVertexData.hasUVs4) { + geometry._delayInfo.push(BABYLON.VertexBuffer.UV4Kind); + } + if (parsedVertexData.hasUVs5) { + geometry._delayInfo.push(BABYLON.VertexBuffer.UV5Kind); + } + if (parsedVertexData.hasUVs6) { + geometry._delayInfo.push(BABYLON.VertexBuffer.UV6Kind); + } + if (parsedVertexData.hasColors) { + geometry._delayInfo.push(BABYLON.VertexBuffer.ColorKind); + } + if (parsedVertexData.hasMatricesIndices) { + geometry._delayInfo.push(BABYLON.VertexBuffer.MatricesIndicesKind); + } + if (parsedVertexData.hasMatricesWeights) { + geometry._delayInfo.push(BABYLON.VertexBuffer.MatricesWeightsKind); + } + geometry._delayLoadingFunction = BABYLON.VertexData.ImportVertexData; + } + else { + BABYLON.VertexData.ImportVertexData(parsedVertexData, geometry); + } + scene.pushGeometry(geometry, true); + return geometry; + }; + return Geometry; + }()); + BABYLON.Geometry = Geometry; + /////// Primitives ////////////////////////////////////////////// + var Geometry; + (function (Geometry) { + var Primitives; + (function (Primitives) { + /// Abstract class + var _Primitive = (function (_super) { + __extends(_Primitive, _super); + function _Primitive(id, scene, _canBeRegenerated, mesh) { + _super.call(this, id, scene, null, false, mesh); // updatable = false to be sure not to update vertices + this._canBeRegenerated = _canBeRegenerated; + this._beingRegenerated = true; + this.regenerate(); + this._beingRegenerated = false; + } + _Primitive.prototype.canBeRegenerated = function () { + return this._canBeRegenerated; + }; + _Primitive.prototype.regenerate = function () { + if (!this._canBeRegenerated) { + return; + } + this._beingRegenerated = true; + this.setAllVerticesData(this._regenerateVertexData(), false); + this._beingRegenerated = false; + }; + _Primitive.prototype.asNewGeometry = function (id) { + return _super.prototype.copy.call(this, id); + }; + // overrides + _Primitive.prototype.setAllVerticesData = function (vertexData, updatable) { + if (!this._beingRegenerated) { + return; + } + _super.prototype.setAllVerticesData.call(this, vertexData, false); + }; + _Primitive.prototype.setVerticesData = function (kind, data, updatable) { + if (!this._beingRegenerated) { + return; + } + _super.prototype.setVerticesData.call(this, kind, data, false); + }; + // to override + // protected + _Primitive.prototype._regenerateVertexData = function () { + throw new Error("Abstract method"); + }; + _Primitive.prototype.copy = function (id) { + throw new Error("Must be overriden in sub-classes."); + }; + _Primitive.prototype.serialize = function () { + var serializationObject = _super.prototype.serialize.call(this); + serializationObject.canBeRegenerated = this.canBeRegenerated(); + return serializationObject; + }; + return _Primitive; + }(Geometry)); + Primitives._Primitive = _Primitive; + var Ribbon = (function (_super) { + __extends(Ribbon, _super); + // Members + function Ribbon(id, scene, pathArray, closeArray, closePath, offset, canBeRegenerated, mesh, side) { + if (side === void 0) { side = BABYLON.Mesh.DEFAULTSIDE; } + _super.call(this, id, scene, canBeRegenerated, mesh); + this.pathArray = pathArray; + this.closeArray = closeArray; + this.closePath = closePath; + this.offset = offset; + this.side = side; + } + Ribbon.prototype._regenerateVertexData = function () { + return BABYLON.VertexData.CreateRibbon({ pathArray: this.pathArray, closeArray: this.closeArray, closePath: this.closePath, offset: this.offset, sideOrientation: this.side }); + }; + Ribbon.prototype.copy = function (id) { + return new Ribbon(id, this.getScene(), this.pathArray, this.closeArray, this.closePath, this.offset, this.canBeRegenerated(), null, this.side); + }; + return Ribbon; + }(_Primitive)); + Primitives.Ribbon = Ribbon; + var Box = (function (_super) { + __extends(Box, _super); + // Members + function Box(id, scene, size, canBeRegenerated, mesh, side) { + if (side === void 0) { side = BABYLON.Mesh.DEFAULTSIDE; } + _super.call(this, id, scene, canBeRegenerated, mesh); + this.size = size; + this.side = side; + } + Box.prototype._regenerateVertexData = function () { + return BABYLON.VertexData.CreateBox({ size: this.size, sideOrientation: this.side }); + }; + Box.prototype.copy = function (id) { + return new Box(id, this.getScene(), this.size, this.canBeRegenerated(), null, this.side); + }; + Box.prototype.serialize = function () { + var serializationObject = _super.prototype.serialize.call(this); + serializationObject.size = this.size; + return serializationObject; + }; + Box.Parse = function (parsedBox, scene) { + if (scene.getGeometryByID(parsedBox.id)) { + return null; // null since geometry could be something else than a box... + } + var box = new Geometry.Primitives.Box(parsedBox.id, scene, parsedBox.size, parsedBox.canBeRegenerated, null); + BABYLON.Tags.AddTagsTo(box, parsedBox.tags); + scene.pushGeometry(box, true); + return box; + }; + return Box; + }(_Primitive)); + Primitives.Box = Box; + var Sphere = (function (_super) { + __extends(Sphere, _super); + function Sphere(id, scene, segments, diameter, canBeRegenerated, mesh, side) { + if (side === void 0) { side = BABYLON.Mesh.DEFAULTSIDE; } + _super.call(this, id, scene, canBeRegenerated, mesh); + this.segments = segments; + this.diameter = diameter; + this.side = side; + } + Sphere.prototype._regenerateVertexData = function () { + return BABYLON.VertexData.CreateSphere({ segments: this.segments, diameter: this.diameter, sideOrientation: this.side }); + }; + Sphere.prototype.copy = function (id) { + return new Sphere(id, this.getScene(), this.segments, this.diameter, this.canBeRegenerated(), null, this.side); + }; + Sphere.prototype.serialize = function () { + var serializationObject = _super.prototype.serialize.call(this); + serializationObject.segments = this.segments; + serializationObject.diameter = this.diameter; + return serializationObject; + }; + Sphere.Parse = function (parsedSphere, scene) { + if (scene.getGeometryByID(parsedSphere.id)) { + return null; // null since geometry could be something else than a sphere... + } + var sphere = new Geometry.Primitives.Sphere(parsedSphere.id, scene, parsedSphere.segments, parsedSphere.diameter, parsedSphere.canBeRegenerated, null); + BABYLON.Tags.AddTagsTo(sphere, parsedSphere.tags); + scene.pushGeometry(sphere, true); + return sphere; + }; + return Sphere; + }(_Primitive)); + Primitives.Sphere = Sphere; + var Disc = (function (_super) { + __extends(Disc, _super); + // Members + function Disc(id, scene, radius, tessellation, canBeRegenerated, mesh, side) { + if (side === void 0) { side = BABYLON.Mesh.DEFAULTSIDE; } + _super.call(this, id, scene, canBeRegenerated, mesh); + this.radius = radius; + this.tessellation = tessellation; + this.side = side; + } + Disc.prototype._regenerateVertexData = function () { + return BABYLON.VertexData.CreateDisc({ radius: this.radius, tessellation: this.tessellation, sideOrientation: this.side }); + }; + Disc.prototype.copy = function (id) { + return new Disc(id, this.getScene(), this.radius, this.tessellation, this.canBeRegenerated(), null, this.side); + }; + return Disc; + }(_Primitive)); + Primitives.Disc = Disc; + var Cylinder = (function (_super) { + __extends(Cylinder, _super); + function Cylinder(id, scene, height, diameterTop, diameterBottom, tessellation, subdivisions, canBeRegenerated, mesh, side) { + if (subdivisions === void 0) { subdivisions = 1; } + if (side === void 0) { side = BABYLON.Mesh.DEFAULTSIDE; } + _super.call(this, id, scene, canBeRegenerated, mesh); + this.height = height; + this.diameterTop = diameterTop; + this.diameterBottom = diameterBottom; + this.tessellation = tessellation; + this.subdivisions = subdivisions; + this.side = side; + } + Cylinder.prototype._regenerateVertexData = function () { + return BABYLON.VertexData.CreateCylinder({ height: this.height, diameterTop: this.diameterTop, diameterBottom: this.diameterBottom, tessellation: this.tessellation, subdivisions: this.subdivisions, sideOrientation: this.side }); + }; + Cylinder.prototype.copy = function (id) { + return new Cylinder(id, this.getScene(), this.height, this.diameterTop, this.diameterBottom, this.tessellation, this.subdivisions, this.canBeRegenerated(), null, this.side); + }; + Cylinder.prototype.serialize = function () { + var serializationObject = _super.prototype.serialize.call(this); + serializationObject.height = this.height; + serializationObject.diameterTop = this.diameterTop; + serializationObject.diameterBottom = this.diameterBottom; + serializationObject.tessellation = this.tessellation; + return serializationObject; + }; + Cylinder.Parse = function (parsedCylinder, scene) { + if (scene.getGeometryByID(parsedCylinder.id)) { + return null; // null since geometry could be something else than a cylinder... + } + var cylinder = new Geometry.Primitives.Cylinder(parsedCylinder.id, scene, parsedCylinder.height, parsedCylinder.diameterTop, parsedCylinder.diameterBottom, parsedCylinder.tessellation, parsedCylinder.subdivisions, parsedCylinder.canBeRegenerated, null); + BABYLON.Tags.AddTagsTo(cylinder, parsedCylinder.tags); + scene.pushGeometry(cylinder, true); + return cylinder; + }; + return Cylinder; + }(_Primitive)); + Primitives.Cylinder = Cylinder; + var Torus = (function (_super) { + __extends(Torus, _super); + function Torus(id, scene, diameter, thickness, tessellation, canBeRegenerated, mesh, side) { + if (side === void 0) { side = BABYLON.Mesh.DEFAULTSIDE; } + _super.call(this, id, scene, canBeRegenerated, mesh); + this.diameter = diameter; + this.thickness = thickness; + this.tessellation = tessellation; + this.side = side; + } + Torus.prototype._regenerateVertexData = function () { + return BABYLON.VertexData.CreateTorus({ diameter: this.diameter, thickness: this.thickness, tessellation: this.tessellation, sideOrientation: this.side }); + }; + Torus.prototype.copy = function (id) { + return new Torus(id, this.getScene(), this.diameter, this.thickness, this.tessellation, this.canBeRegenerated(), null, this.side); + }; + Torus.prototype.serialize = function () { + var serializationObject = _super.prototype.serialize.call(this); + serializationObject.diameter = this.diameter; + serializationObject.thickness = this.thickness; + serializationObject.tessellation = this.tessellation; + return serializationObject; + }; + Torus.Parse = function (parsedTorus, scene) { + if (scene.getGeometryByID(parsedTorus.id)) { + return null; // null since geometry could be something else than a torus... + } + var torus = new Geometry.Primitives.Torus(parsedTorus.id, scene, parsedTorus.diameter, parsedTorus.thickness, parsedTorus.tessellation, parsedTorus.canBeRegenerated, null); + BABYLON.Tags.AddTagsTo(torus, parsedTorus.tags); + scene.pushGeometry(torus, true); + return torus; + }; + return Torus; + }(_Primitive)); + Primitives.Torus = Torus; + var Ground = (function (_super) { + __extends(Ground, _super); + function Ground(id, scene, width, height, subdivisions, canBeRegenerated, mesh) { + _super.call(this, id, scene, canBeRegenerated, mesh); + this.width = width; + this.height = height; + this.subdivisions = subdivisions; + } + Ground.prototype._regenerateVertexData = function () { + return BABYLON.VertexData.CreateGround({ width: this.width, height: this.height, subdivisions: this.subdivisions }); + }; + Ground.prototype.copy = function (id) { + return new Ground(id, this.getScene(), this.width, this.height, this.subdivisions, this.canBeRegenerated(), null); + }; + Ground.prototype.serialize = function () { + var serializationObject = _super.prototype.serialize.call(this); + serializationObject.width = this.width; + serializationObject.height = this.height; + serializationObject.subdivisions = this.subdivisions; + return serializationObject; + }; + Ground.Parse = function (parsedGround, scene) { + if (scene.getGeometryByID(parsedGround.id)) { + return null; // null since geometry could be something else than a ground... + } + var ground = new Geometry.Primitives.Ground(parsedGround.id, scene, parsedGround.width, parsedGround.height, parsedGround.subdivisions, parsedGround.canBeRegenerated, null); + BABYLON.Tags.AddTagsTo(ground, parsedGround.tags); + scene.pushGeometry(ground, true); + return ground; + }; + return Ground; + }(_Primitive)); + Primitives.Ground = Ground; + var TiledGround = (function (_super) { + __extends(TiledGround, _super); + function TiledGround(id, scene, xmin, zmin, xmax, zmax, subdivisions, precision, canBeRegenerated, mesh) { + _super.call(this, id, scene, canBeRegenerated, mesh); + this.xmin = xmin; + this.zmin = zmin; + this.xmax = xmax; + this.zmax = zmax; + this.subdivisions = subdivisions; + this.precision = precision; + } + TiledGround.prototype._regenerateVertexData = function () { + return BABYLON.VertexData.CreateTiledGround({ xmin: this.xmin, zmin: this.zmin, xmax: this.xmax, zmax: this.zmax, subdivisions: this.subdivisions, precision: this.precision }); + }; + TiledGround.prototype.copy = function (id) { + return new TiledGround(id, this.getScene(), this.xmin, this.zmin, this.xmax, this.zmax, this.subdivisions, this.precision, this.canBeRegenerated(), null); + }; + return TiledGround; + }(_Primitive)); + Primitives.TiledGround = TiledGround; + var Plane = (function (_super) { + __extends(Plane, _super); + function Plane(id, scene, size, canBeRegenerated, mesh, side) { + if (side === void 0) { side = BABYLON.Mesh.DEFAULTSIDE; } + _super.call(this, id, scene, canBeRegenerated, mesh); + this.size = size; + this.side = side; + } + Plane.prototype._regenerateVertexData = function () { + return BABYLON.VertexData.CreatePlane({ size: this.size, sideOrientation: this.side }); + }; + Plane.prototype.copy = function (id) { + return new Plane(id, this.getScene(), this.size, this.canBeRegenerated(), null, this.side); + }; + Plane.prototype.serialize = function () { + var serializationObject = _super.prototype.serialize.call(this); + serializationObject.size = this.size; + return serializationObject; + }; + Plane.Parse = function (parsedPlane, scene) { + if (scene.getGeometryByID(parsedPlane.id)) { + return null; // null since geometry could be something else than a ground... + } + var plane = new Geometry.Primitives.Plane(parsedPlane.id, scene, parsedPlane.size, parsedPlane.canBeRegenerated, null); + BABYLON.Tags.AddTagsTo(plane, parsedPlane.tags); + scene.pushGeometry(plane, true); + return plane; + }; + return Plane; + }(_Primitive)); + Primitives.Plane = Plane; + var TorusKnot = (function (_super) { + __extends(TorusKnot, _super); + function TorusKnot(id, scene, radius, tube, radialSegments, tubularSegments, p, q, canBeRegenerated, mesh, side) { + if (side === void 0) { side = BABYLON.Mesh.DEFAULTSIDE; } + _super.call(this, id, scene, canBeRegenerated, mesh); + this.radius = radius; + this.tube = tube; + this.radialSegments = radialSegments; + this.tubularSegments = tubularSegments; + this.p = p; + this.q = q; + this.side = side; + } + TorusKnot.prototype._regenerateVertexData = function () { + return BABYLON.VertexData.CreateTorusKnot({ radius: this.radius, tube: this.tube, radialSegments: this.radialSegments, tubularSegments: this.tubularSegments, p: this.p, q: this.q, sideOrientation: this.side }); + }; + TorusKnot.prototype.copy = function (id) { + return new TorusKnot(id, this.getScene(), this.radius, this.tube, this.radialSegments, this.tubularSegments, this.p, this.q, this.canBeRegenerated(), null, this.side); + }; + TorusKnot.prototype.serialize = function () { + var serializationObject = _super.prototype.serialize.call(this); + serializationObject.radius = this.radius; + serializationObject.tube = this.tube; + serializationObject.radialSegments = this.radialSegments; + serializationObject.tubularSegments = this.tubularSegments; + serializationObject.p = this.p; + serializationObject.q = this.q; + return serializationObject; + }; + ; + TorusKnot.Parse = function (parsedTorusKnot, scene) { + if (scene.getGeometryByID(parsedTorusKnot.id)) { + return null; // null since geometry could be something else than a ground... + } + var torusKnot = new Geometry.Primitives.TorusKnot(parsedTorusKnot.id, scene, parsedTorusKnot.radius, parsedTorusKnot.tube, parsedTorusKnot.radialSegments, parsedTorusKnot.tubularSegments, parsedTorusKnot.p, parsedTorusKnot.q, parsedTorusKnot.canBeRegenerated, null); + BABYLON.Tags.AddTagsTo(torusKnot, parsedTorusKnot.tags); + scene.pushGeometry(torusKnot, true); + return torusKnot; + }; + return TorusKnot; + }(_Primitive)); + Primitives.TorusKnot = TorusKnot; + })(Primitives = Geometry.Primitives || (Geometry.Primitives = {})); + })(Geometry = BABYLON.Geometry || (BABYLON.Geometry = {})); +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.geometry.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var GroundMesh = (function (_super) { + __extends(GroundMesh, _super); + function GroundMesh(name, scene) { + _super.call(this, name, scene); + this.generateOctree = false; + this._worldInverse = new BABYLON.Matrix(); + } + Object.defineProperty(GroundMesh.prototype, "subdivisions", { + get: function () { + return Math.min(this._subdivisionsX, this._subdivisionsY); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(GroundMesh.prototype, "subdivisionsX", { + get: function () { + return this._subdivisionsX; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(GroundMesh.prototype, "subdivisionsY", { + get: function () { + return this._subdivisionsY; + }, + enumerable: true, + configurable: true + }); + GroundMesh.prototype.optimize = function (chunksCount, octreeBlocksSize) { + if (octreeBlocksSize === void 0) { octreeBlocksSize = 32; } + this._subdivisionsX = chunksCount; + this._subdivisionsY = chunksCount; + this.subdivide(chunksCount); + this.createOrUpdateSubmeshesOctree(octreeBlocksSize); + }; + /** + * Returns a height (y) value in the Worl system : + * the ground altitude at the coordinates (x, z) expressed in the World system. + * Returns the ground y position if (x, z) are outside the ground surface. + * Not pertinent if the ground is rotated. + */ + GroundMesh.prototype.getHeightAtCoordinates = function (x, z) { + // express x and y in the ground local system + x -= this.position.x; + z -= this.position.z; + x /= this.scaling.x; + z /= this.scaling.z; + if (x < this._minX || x > this._maxX || z < this._minZ || z > this._maxZ) { + return this.position.y; + } + if (!this._heightQuads || this._heightQuads.length == 0) { + this._initHeightQuads(); + this._computeHeightQuads(); + } + var facet = this._getFacetAt(x, z); + var y = -(facet.x * x + facet.z * z + facet.w) / facet.y; + // return y in the World system + return y * this.scaling.y + this.position.y; + }; + /** + * Returns a normalized vector (Vector3) orthogonal to the ground + * at the ground coordinates (x, z) expressed in the World system. + * Returns Vector3(0, 1, 0) if (x, z) are outside the ground surface. + * Not pertinent if the ground is rotated. + */ + GroundMesh.prototype.getNormalAtCoordinates = function (x, z) { + var normal = new BABYLON.Vector3(0, 1, 0); + this.getNormalAtCoordinatesToRef(x, z, normal); + return normal; + }; + /** + * Updates the Vector3 passed a reference with a normalized vector orthogonal to the ground + * at the ground coordinates (x, z) expressed in the World system. + * Doesn't uptade the reference Vector3 if (x, z) are outside the ground surface. + * Not pertinent if the ground is rotated. + */ + GroundMesh.prototype.getNormalAtCoordinatesToRef = function (x, z, ref) { + // express x and y in the ground local system + x -= this.position.x; + z -= this.position.z; + x /= this.scaling.x; + z /= this.scaling.z; + if (x < this._minX || x > this._maxX || z < this._minZ || z > this._maxZ) { + return; + } + if (!this._heightQuads || this._heightQuads.length == 0) { + this._initHeightQuads(); + this._computeHeightQuads(); + } + var facet = this._getFacetAt(x, z); + ref.x = facet.x; + ref.y = facet.y; + ref.z = facet.z; + }; + /** + * Force the heights to be recomputed for getHeightAtCoordinates() or getNormalAtCoordinates() + * if the ground has been updated. + * This can be used in the render loop + */ + GroundMesh.prototype.updateCoordinateHeights = function () { + if (!this._heightQuads || this._heightQuads.length == 0) { + this._initHeightQuads(); + } + this._computeHeightQuads(); + }; + // Returns the element "facet" from the heightQuads array relative to (x, z) local coordinates + GroundMesh.prototype._getFacetAt = function (x, z) { + // retrieve col and row from x, z coordinates in the ground local system + var subdivisionsX = this._subdivisionsX; + var subdivisionsY = this._subdivisionsY; + var col = Math.floor((x + this._maxX) * this._subdivisionsX / this._width); + var row = Math.floor(-(z + this._maxZ) * this._subdivisionsY / this._height + this._subdivisionsY); + var quad = this._heightQuads[row * this._subdivisionsX + col]; + var facet; + if (z < quad.slope.x * x + quad.slope.y) { + facet = quad.facet1; + } + else { + facet = quad.facet2; + } + return facet; + }; + // Creates and populates the heightMap array with "facet" elements : + // a quad is two triangular facets separated by a slope, so a "facet" element is 1 slope + 2 facets + // slope : Vector2(c, h) = 2D diagonal line equation setting appart two triangular facets in a quad : z = cx + h + // facet1 : Vector4(a, b, c, d) = first facet 3D plane equation : ax + by + cz + d = 0 + // facet2 : Vector4(a, b, c, d) = second facet 3D plane equation : ax + by + cz + d = 0 + GroundMesh.prototype._initHeightQuads = function () { + var subdivisionsX = this._subdivisionsX; + var subdivisionsY = this._subdivisionsY; + this._heightQuads = new Array(); + for (var row = 0; row < subdivisionsY; row++) { + for (var col = 0; col < subdivisionsX; col++) { + var quad = { slope: BABYLON.Vector2.Zero(), facet1: new BABYLON.Vector4(0, 0, 0, 0), facet2: new BABYLON.Vector4(0, 0, 0, 0) }; + this._heightQuads[row * subdivisionsX + col] = quad; + } + } + }; + // Compute each quad element values and update the the heightMap array : + // slope : Vector2(c, h) = 2D diagonal line equation setting appart two triangular facets in a quad : z = cx + h + // facet1 : Vector4(a, b, c, d) = first facet 3D plane equation : ax + by + cz + d = 0 + // facet2 : Vector4(a, b, c, d) = second facet 3D plane equation : ax + by + cz + d = 0 + GroundMesh.prototype._computeHeightQuads = function () { + var positions = this.getVerticesData(BABYLON.VertexBuffer.PositionKind); + var v1 = BABYLON.Tmp.Vector3[3]; + var v2 = BABYLON.Tmp.Vector3[2]; + var v3 = BABYLON.Tmp.Vector3[1]; + var v4 = BABYLON.Tmp.Vector3[0]; + var v1v2 = BABYLON.Tmp.Vector3[4]; + var v1v3 = BABYLON.Tmp.Vector3[5]; + var v1v4 = BABYLON.Tmp.Vector3[6]; + var norm1 = BABYLON.Tmp.Vector3[7]; + var norm2 = BABYLON.Tmp.Vector3[8]; + var i = 0; + var j = 0; + var k = 0; + var cd = 0; // 2D slope coefficient : z = cd * x + h + var h = 0; + var d1 = 0; // facet plane equation : ax + by + cz + d = 0 + var d2 = 0; + var subdivisionsX = this._subdivisionsX; + var subdivisionsY = this._subdivisionsY; + for (var row = 0; row < subdivisionsY; row++) { + for (var col = 0; col < subdivisionsX; col++) { + i = col * 3; + j = row * (subdivisionsX + 1) * 3; + k = (row + 1) * (subdivisionsX + 1) * 3; + v1.x = positions[j + i]; + v1.y = positions[j + i + 1]; + v1.z = positions[j + i + 2]; + v2.x = positions[j + i + 3]; + v2.y = positions[j + i + 4]; + v2.z = positions[j + i + 5]; + v3.x = positions[k + i]; + v3.y = positions[k + i + 1]; + v3.z = positions[k + i + 2]; + v4.x = positions[k + i + 3]; + v4.y = positions[k + i + 4]; + v4.z = positions[k + i + 5]; + // 2D slope V1V4 + cd = (v4.z - v1.z) / (v4.x - v1.x); + h = v1.z - cd * v1.x; // v1 belongs to the slope + // facet equations : + // we compute each facet normal vector + // the equation of the facet plane is : norm.x * x + norm.y * y + norm.z * z + d = 0 + // we compute the value d by applying the equation to v1 which belongs to the plane + // then we store the facet equation in a Vector4 + v2.subtractToRef(v1, v1v2); + v3.subtractToRef(v1, v1v3); + v4.subtractToRef(v1, v1v4); + BABYLON.Vector3.CrossToRef(v1v4, v1v3, norm1); // caution : CrossToRef uses the Tmp class + BABYLON.Vector3.CrossToRef(v1v2, v1v4, norm2); + norm1.normalize(); + norm2.normalize(); + d1 = -(norm1.x * v1.x + norm1.y * v1.y + norm1.z * v1.z); + d2 = -(norm2.x * v2.x + norm2.y * v2.y + norm2.z * v2.z); + var quad = this._heightQuads[row * subdivisionsX + col]; + quad.slope.copyFromFloats(cd, h); + quad.facet1.copyFromFloats(norm1.x, norm1.y, norm1.z, d1); + quad.facet2.copyFromFloats(norm2.x, norm2.y, norm2.z, d2); + } + } + }; + return GroundMesh; + }(BABYLON.Mesh)); + BABYLON.GroundMesh = GroundMesh; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.groundMesh.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var LinesMesh = (function (_super) { + __extends(LinesMesh, _super); + function LinesMesh(name, scene, parent, source, doNotCloneChildren) { + if (parent === void 0) { parent = null; } + _super.call(this, name, scene, parent, source, doNotCloneChildren); + this.color = new BABYLON.Color3(1, 1, 1); + this.alpha = 1; + this._positionBuffer = {}; + if (source) { + this.color = source.color.clone(); + this.alpha = source.alpha; + } + this._intersectionThreshold = 0.1; + this._colorShader = new BABYLON.ShaderMaterial("colorShader", scene, "color", { + attributes: [BABYLON.VertexBuffer.PositionKind], + uniforms: ["worldViewProjection", "color"], + needAlphaBlending: true + }); + this._positionBuffer[BABYLON.VertexBuffer.PositionKind] = null; + } + Object.defineProperty(LinesMesh.prototype, "intersectionThreshold", { + /** + * The intersection Threshold is the margin applied when intersection a segment of the LinesMesh with a Ray. + * This margin is expressed in world space coordinates, so its value may vary. + * Default value is 0.1 + * @returns the intersection Threshold value. + */ + get: function () { + return this._intersectionThreshold; + }, + /** + * The intersection Threshold is the margin applied when intersection a segment of the LinesMesh with a Ray. + * This margin is expressed in world space coordinates, so its value may vary. + * @param value the new threshold to apply + */ + set: function (value) { + if (this._intersectionThreshold === value) { + return; + } + this._intersectionThreshold = value; + if (this.geometry) { + this.geometry.boundingBias = new BABYLON.Vector2(0, value); + } + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(LinesMesh.prototype, "material", { + get: function () { + return this._colorShader; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(LinesMesh.prototype, "checkCollisions", { + get: function () { + return false; + }, + enumerable: true, + configurable: true + }); + LinesMesh.prototype.createInstance = function (name) { + BABYLON.Tools.Log("LinesMeshes do not support createInstance."); + return null; + }; + LinesMesh.prototype._bind = function (subMesh, effect, fillMode) { + var engine = this.getScene().getEngine(); + this._positionBuffer[BABYLON.VertexBuffer.PositionKind] = this._geometry.getVertexBuffer(BABYLON.VertexBuffer.PositionKind); + // VBOs + engine.bindBuffers(this._positionBuffer, this._geometry.getIndexBuffer(), this._colorShader.getEffect()); + // Color + this._colorShader.setColor4("color", this.color.toColor4(this.alpha)); + }; + LinesMesh.prototype._draw = function (subMesh, fillMode, instancesCount) { + if (!this._geometry || !this._geometry.getVertexBuffers() || !this._geometry.getIndexBuffer()) { + return; + } + var engine = this.getScene().getEngine(); + // Draw order + engine.draw(false, subMesh.indexStart, subMesh.indexCount); + }; + LinesMesh.prototype.dispose = function (doNotRecurse) { + this._colorShader.dispose(); + _super.prototype.dispose.call(this, doNotRecurse); + }; + LinesMesh.prototype.clone = function (name, newParent, doNotCloneChildren) { + return new LinesMesh(name, this.getScene(), newParent, this, doNotCloneChildren); + }; + return LinesMesh; + }(BABYLON.Mesh)); + BABYLON.LinesMesh = LinesMesh; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.linesMesh.js.map + +var BABYLON; +(function (BABYLON) { + var DefaultLoadingScreen = (function () { + function DefaultLoadingScreen(_renderingCanvas, _loadingText, _loadingDivBackgroundColor) { + var _this = this; + if (_loadingText === void 0) { _loadingText = ""; } + if (_loadingDivBackgroundColor === void 0) { _loadingDivBackgroundColor = "black"; } + this._renderingCanvas = _renderingCanvas; + this._loadingText = _loadingText; + this._loadingDivBackgroundColor = _loadingDivBackgroundColor; + // Resize + this._resizeLoadingUI = function () { + var canvasRect = _this._renderingCanvas.getBoundingClientRect(); + _this._loadingDiv.style.position = "absolute"; + _this._loadingDiv.style.left = canvasRect.left + "px"; + _this._loadingDiv.style.top = canvasRect.top + "px"; + _this._loadingDiv.style.width = canvasRect.width + "px"; + _this._loadingDiv.style.height = canvasRect.height + "px"; + }; + } + DefaultLoadingScreen.prototype.displayLoadingUI = function () { + var _this = this; + if (this._loadingDiv) { + // Do not add a loading screen if there is already one + return; + } + this._loadingDiv = document.createElement("div"); + this._loadingDiv.id = "babylonjsLoadingDiv"; + this._loadingDiv.style.opacity = "0"; + this._loadingDiv.style.transition = "opacity 1.5s ease"; + // Loading text + this._loadingTextDiv = document.createElement("div"); + this._loadingTextDiv.style.position = "absolute"; + this._loadingTextDiv.style.left = "0"; + this._loadingTextDiv.style.top = "50%"; + this._loadingTextDiv.style.marginTop = "80px"; + this._loadingTextDiv.style.width = "100%"; + this._loadingTextDiv.style.height = "20px"; + this._loadingTextDiv.style.fontFamily = "Arial"; + this._loadingTextDiv.style.fontSize = "14px"; + this._loadingTextDiv.style.color = "white"; + this._loadingTextDiv.style.textAlign = "center"; + this._loadingTextDiv.innerHTML = "Loading"; + this._loadingDiv.appendChild(this._loadingTextDiv); + //set the predefined text + this._loadingTextDiv.innerHTML = this._loadingText; + // Loading img + var imgBack = new Image(); + imgBack.src = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAYdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuM4zml1AAAARbSURBVHhe7Z09aFNRFMc716kuLrq4FdyLq4Wi4CAoRQcR0UJBUBdRiuLSIYMo6CA4FF2sgw6CFAdFUOpSQYcWO4hD26UQCfXrIQrx/JJzw1OSWq3NPeL/B4Fy+0jg/HO+7j3vpUcI8b/Q39+/49ihfWdPHT94Yf/e3Se3bd263f8lus218TPn6vV6Ya8Wi/MzNRNmj18iusX9W1evmP1/EKNEIVG6CMbG6E3bt+fT++pHha8NoHdT72bLE8NDg7tGU64gLLndV4Wc4m8j/pS+vr4tGB/DT16v3Fyr8dvBe/jbit8BL0AES9LX1iPAz+BR/hFiLVCynj95dPzNy6fv3IZ/k4L3948Sq7FzYGBg4vLFGxitabuOFCbWNKGrMnbiUuo18KaV6tIHv6YtvL9/nOgE31jCktmrY7k6+/zhE4yP4Vf7hiNqh/BWWEl8mzDol4p22Lf7cIdvdUMEvv0Y2S9fE5S1hLzpqTsPkiep//gFGPnR3Yl7GL5p/xYFBrTwM+iXio3GqpwDGL5p/xYNIX7XG8Q6IJRgdIzf1KBBgafII7oMidhyQtVFaMA2Bt7il4huQRhaXphbcR2g4RXqBzKAGHiCCwGFVUAj/m/RTRDj29cvn10I0PZ3LghH5f4CL1EFlQmqqXK3jDDKFxmhQ3Yt6oQseUZGKmMnTpsOqc8o1F9kBOMjQlOLeqEeIyOc6JV6jYLJD/+XyIFvnzdgl9aXRQ5I2qZDK1SpospMqaoqON/wZZGDciLnMMiXRS7IF4hhqMTNTdk7CFu+LHLhR7BQqBvPDJUUQqCGvCMATHUgBmhWNgApmdOda9YpM+VwRYfuyyIXDK8hBlilNerLIheMZCKGwlUAyru6GlwOgPUbRxADdJ9FAChxXY864viyyEXqPxhc0M2TAfAbatSdRyHtXymhByEdRnE3ky+JnHAIhSA0h74kckETmHoQbSgGwJrCIRMEPSRIBCRIMAhZaYhaggQhJXUJEoRU9mofKwh+F22dLRRfEjlJM7w6KQwCoQpBOKTyJZETjmwRxKqtGV8SOSkNOGjKPQppBEgDDkFgpxdBVGkFgaYQQXRIFQSObk0P5ZFIpAZRHXsQ0r0hCluBWKkuvVbYCkQaCdL5ehBScudJP4yY+rLISdps1NBDEJKXMMmoSfggWC4ZQRR17oFYXph7hSiquIKQ+hJGTX1J5MYSPD/GVdNzsgLBwZVCVyAQAkF0ohiI/c1fS6tNXq9UfEnkhudmIQolsS+J3Hh/UtNDzQLhj42VKJFInqLwFYiUU5ToA+HdfI0JevUpQUAIn+vSz2lHIuUV/dJOIHhOY/IWVWGBIHQtzs88s9zyWBuTgcBLzGOmeNnfF/QslSDgMeQW85i3DOQxuipxAkCyZ8SIm4Omp+7MMlCB59j6sKZcMoM4iIEoeI2J9AKxrFobZx0v4vYInuHFS4J1GQRCAGaLEYQXfyMML5XSQgghhBBCCCH+cXp6vgNhKpSKX/XdOAAAAABJRU5ErkJggg=="; + imgBack.style.position = "absolute"; + imgBack.style.left = "50%"; + imgBack.style.top = "50%"; + imgBack.style.marginLeft = "-50px"; + imgBack.style.marginTop = "-50px"; + imgBack.style.transition = "transform 1.0s ease"; + imgBack.style.webkitTransition = "-webkit-transform 1.0s ease"; + var deg = 360; + var onTransitionEnd = function () { + deg += 360; + imgBack.style.transform = "rotateZ(" + deg + "deg)"; + imgBack.style.webkitTransform = "rotateZ(" + deg + "deg)"; + }; + imgBack.addEventListener("transitionend", onTransitionEnd); + imgBack.addEventListener("webkitTransitionEnd", onTransitionEnd); + this._loadingDiv.appendChild(imgBack); + // front image + var imgFront = new Image(); + imgFront.src = "data:image/png;base64,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"; + imgFront.style.position = "absolute"; + imgFront.style.left = "50%"; + imgFront.style.top = "50%"; + imgFront.style.marginLeft = "-50px"; + imgFront.style.marginTop = "-50px"; + this._loadingDiv.appendChild(imgFront); + this._resizeLoadingUI(); + window.addEventListener("resize", this._resizeLoadingUI); + this._loadingDiv.style.backgroundColor = this._loadingDivBackgroundColor; + document.body.appendChild(this._loadingDiv); + setTimeout(function () { + _this._loadingDiv.style.opacity = "1"; + imgBack.style.transform = "rotateZ(360deg)"; + imgBack.style.webkitTransform = "rotateZ(360deg)"; + }, 0); + }; + DefaultLoadingScreen.prototype.hideLoadingUI = function () { + var _this = this; + if (!this._loadingDiv) { + return; + } + var onTransitionEnd = function () { + if (!_this._loadingDiv) { + return; + } + document.body.removeChild(_this._loadingDiv); + window.removeEventListener("resize", _this._resizeLoadingUI); + _this._loadingDiv = null; + }; + this._loadingDiv.style.opacity = "0"; + this._loadingDiv.addEventListener("transitionend", onTransitionEnd); + }; + Object.defineProperty(DefaultLoadingScreen.prototype, "loadingUIText", { + set: function (text) { + this._loadingText = text; + if (this._loadingTextDiv) { + this._loadingTextDiv.innerHTML = this._loadingText; + } + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(DefaultLoadingScreen.prototype, "loadingUIBackgroundColor", { + get: function () { + return this._loadingDivBackgroundColor; + }, + set: function (color) { + this._loadingDivBackgroundColor = color; + if (!this._loadingDiv) { + return; + } + this._loadingDiv.style.backgroundColor = this._loadingDivBackgroundColor; + }, + enumerable: true, + configurable: true + }); + return DefaultLoadingScreen; + }()); + BABYLON.DefaultLoadingScreen = DefaultLoadingScreen; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.loadingScreen.js.map + +var BABYLON; +(function (BABYLON) { + var AudioEngine = (function () { + function AudioEngine() { + this._audioContext = null; + this._audioContextInitialized = false; + this.canUseWebAudio = false; + this.WarnedWebAudioUnsupported = false; + this.unlocked = false; + this.isMP3supported = false; + this.isOGGsupported = false; + if (typeof window.AudioContext !== 'undefined' || typeof window.webkitAudioContext !== 'undefined') { + window.AudioContext = window.AudioContext || window.webkitAudioContext; + this.canUseWebAudio = true; + } + var audioElem = document.createElement('audio'); + if (audioElem && !!audioElem.canPlayType && audioElem.canPlayType('audio/mpeg; codecs="mp3"').replace(/^no$/, '')) { + this.isMP3supported = true; + } + if (audioElem && !!audioElem.canPlayType && audioElem.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/, '')) { + this.isOGGsupported = true; + } + if (/iPad|iPhone|iPod/.test(navigator.platform)) { + this._unlockiOSaudio(); + } + else { + this.unlocked = true; + } + } + Object.defineProperty(AudioEngine.prototype, "audioContext", { + get: function () { + if (!this._audioContextInitialized) { + this._initializeAudioContext(); + } + return this._audioContext; + }, + enumerable: true, + configurable: true + }); + AudioEngine.prototype._unlockiOSaudio = function () { + var _this = this; + var unlockaudio = function () { + var buffer = _this.audioContext.createBuffer(1, 1, 22050); + var source = _this.audioContext.createBufferSource(); + source.buffer = buffer; + source.connect(_this.audioContext.destination); + source.start(0); + setTimeout(function () { + if ((source.playbackState === source.PLAYING_STATE || source.playbackState === source.FINISHED_STATE)) { + _this.unlocked = true; + window.removeEventListener('touchend', unlockaudio, false); + if (_this.onAudioUnlocked) { + _this.onAudioUnlocked(); + } + } + }, 0); + }; + window.addEventListener('touchend', unlockaudio, false); + }; + AudioEngine.prototype._initializeAudioContext = function () { + try { + if (this.canUseWebAudio) { + this._audioContext = new AudioContext(); + // create a global volume gain node + this.masterGain = this._audioContext.createGain(); + this.masterGain.gain.value = 1; + this.masterGain.connect(this._audioContext.destination); + this._audioContextInitialized = true; + } + } + catch (e) { + this.canUseWebAudio = false; + BABYLON.Tools.Error("Web Audio: " + e.message); + } + }; + AudioEngine.prototype.dispose = function () { + if (this.canUseWebAudio && this._audioContextInitialized) { + if (this._connectedAnalyser) { + this._connectedAnalyser.stopDebugCanvas(); + this._connectedAnalyser.dispose(); + this.masterGain.disconnect(); + this.masterGain.connect(this._audioContext.destination); + this._connectedAnalyser = null; + } + this.masterGain.gain.value = 1; + } + this.WarnedWebAudioUnsupported = false; + }; + AudioEngine.prototype.getGlobalVolume = function () { + if (this.canUseWebAudio && this._audioContextInitialized) { + return this.masterGain.gain.value; + } + else { + return -1; + } + }; + AudioEngine.prototype.setGlobalVolume = function (newVolume) { + if (this.canUseWebAudio && this._audioContextInitialized) { + this.masterGain.gain.value = newVolume; + } + }; + AudioEngine.prototype.connectToAnalyser = function (analyser) { + if (this._connectedAnalyser) { + this._connectedAnalyser.stopDebugCanvas(); + } + if (this.canUseWebAudio && this._audioContextInitialized) { + this._connectedAnalyser = analyser; + this.masterGain.disconnect(); + this._connectedAnalyser.connectAudioNodes(this.masterGain, this._audioContext.destination); + } + }; + return AudioEngine; + }()); + BABYLON.AudioEngine = AudioEngine; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.audioEngine.js.map + +var BABYLON; +(function (BABYLON) { + var Sound = (function () { + /** + * Create a sound and attach it to a scene + * @param name Name of your sound + * @param urlOrArrayBuffer Url to the sound to load async or ArrayBuffer + * @param readyToPlayCallback Provide a callback function if you'd like to load your code once the sound is ready to be played + * @param options Objects to provide with the current available options: autoplay, loop, volume, spatialSound, maxDistance, rolloffFactor, refDistance, distanceModel, panningModel, streaming + */ + function Sound(name, urlOrArrayBuffer, scene, readyToPlayCallback, options) { + var _this = this; + this.autoplay = false; + this.loop = false; + this.useCustomAttenuation = false; + this.spatialSound = false; + this.refDistance = 1; + this.rolloffFactor = 1; + this.maxDistance = 100; + this.distanceModel = "linear"; + this._panningModel = "equalpower"; + this._playbackRate = 1; + this._streaming = false; + this._startTime = 0; + this._startOffset = 0; + this._position = BABYLON.Vector3.Zero(); + this._localDirection = new BABYLON.Vector3(1, 0, 0); + this._volume = 1; + this._isLoaded = false; + this._isReadyToPlay = false; + this.isPlaying = false; + this.isPaused = false; + this._isDirectional = false; + // Used if you'd like to create a directional sound. + // If not set, the sound will be omnidirectional + this._coneInnerAngle = 360; + this._coneOuterAngle = 360; + this._coneOuterGain = 0; + this._isOutputConnected = false; + this._urlType = "Unknown"; + this.name = name; + this._scene = scene; + this._readyToPlayCallback = readyToPlayCallback; + // Default custom attenuation function is a linear attenuation + this._customAttenuationFunction = function (currentVolume, currentDistance, maxDistance, refDistance, rolloffFactor) { + if (currentDistance < maxDistance) { + return currentVolume * (1 - currentDistance / maxDistance); + } + else { + return 0; + } + }; + if (options) { + this.autoplay = options.autoplay || false; + this.loop = options.loop || false; + // if volume === 0, we need another way to check this option + if (options.volume !== undefined) { + this._volume = options.volume; + } + this.spatialSound = options.spatialSound || false; + this.maxDistance = options.maxDistance || 100; + this.useCustomAttenuation = options.useCustomAttenuation || false; + this.rolloffFactor = options.rolloffFactor || 1; + this.refDistance = options.refDistance || 1; + this.distanceModel = options.distanceModel || "linear"; + this._playbackRate = options.playbackRate || 1; + this._streaming = options.streaming || false; + } + if (BABYLON.Engine.audioEngine.canUseWebAudio) { + this._soundGain = BABYLON.Engine.audioEngine.audioContext.createGain(); + this._soundGain.gain.value = this._volume; + this._inputAudioNode = this._soundGain; + this._ouputAudioNode = this._soundGain; + if (this.spatialSound) { + this._createSpatialParameters(); + } + this._scene.mainSoundTrack.AddSound(this); + var validParameter = true; + // if no parameter is passed, you need to call setAudioBuffer yourself to prepare the sound + if (urlOrArrayBuffer) { + if (typeof (urlOrArrayBuffer) === "string") + this._urlType = "String"; + if (Array.isArray(urlOrArrayBuffer)) + this._urlType = "Array"; + if (urlOrArrayBuffer instanceof ArrayBuffer) + this._urlType = "ArrayBuffer"; + var urls = []; + var codecSupportedFound = false; + switch (this._urlType) { + case "ArrayBuffer": + if (urlOrArrayBuffer.byteLength > 0) { + codecSupportedFound = true; + this._soundLoaded(urlOrArrayBuffer); + } + break; + case "String": + urls.push(urlOrArrayBuffer); + case "Array": + if (urls.length === 0) + urls = urlOrArrayBuffer; + // If we found a supported format, we load it immediately and stop the loop + for (var i = 0; i < urls.length; i++) { + var url = urls[i]; + if (url.indexOf(".mp3", url.length - 4) !== -1 && BABYLON.Engine.audioEngine.isMP3supported) { + codecSupportedFound = true; + } + if (url.indexOf(".ogg", url.length - 4) !== -1 && BABYLON.Engine.audioEngine.isOGGsupported) { + codecSupportedFound = true; + } + if (url.indexOf(".wav", url.length - 4) !== -1) { + codecSupportedFound = true; + } + if (codecSupportedFound) { + // Loading sound using XHR2 + if (!this._streaming) { + BABYLON.Tools.LoadFile(url, function (data) { _this._soundLoaded(data); }, null, this._scene.database, true); + } + else { + this._htmlAudioElement = new Audio(url); + this._htmlAudioElement.controls = false; + this._htmlAudioElement.loop = this.loop; + this._htmlAudioElement.crossOrigin = "anonymous"; + this._htmlAudioElement.preload = "auto"; + this._htmlAudioElement.addEventListener("canplaythrough", function () { + _this._isReadyToPlay = true; + if (_this.autoplay) { + _this.play(); + } + if (_this._readyToPlayCallback) { + _this._readyToPlayCallback(); + } + }); + document.body.appendChild(this._htmlAudioElement); + } + break; + } + } + break; + default: + validParameter = false; + break; + } + if (!validParameter) { + BABYLON.Tools.Error("Parameter must be a URL to the sound, an Array of URLs (.mp3 & .ogg) or an ArrayBuffer of the sound."); + } + else { + if (!codecSupportedFound) { + this._isReadyToPlay = true; + // Simulating a ready to play event to avoid breaking code path + if (this._readyToPlayCallback) { + window.setTimeout(function () { + _this._readyToPlayCallback(); + }, 1000); + } + } + } + } + } + else { + // Adding an empty sound to avoid breaking audio calls for non Web Audio browsers + this._scene.mainSoundTrack.AddSound(this); + if (!BABYLON.Engine.audioEngine.WarnedWebAudioUnsupported) { + BABYLON.Tools.Error("Web Audio is not supported by your browser."); + BABYLON.Engine.audioEngine.WarnedWebAudioUnsupported = true; + } + // Simulating a ready to play event to avoid breaking code for non web audio browsers + if (this._readyToPlayCallback) { + window.setTimeout(function () { + _this._readyToPlayCallback(); + }, 1000); + } + } + } + Sound.prototype.dispose = function () { + if (BABYLON.Engine.audioEngine.canUseWebAudio && this._isReadyToPlay) { + if (this.isPlaying) { + this.stop(); + } + this._isReadyToPlay = false; + if (this.soundTrackId === -1) { + this._scene.mainSoundTrack.RemoveSound(this); + } + else { + this._scene.soundTracks[this.soundTrackId].RemoveSound(this); + } + if (this._soundGain) { + this._soundGain.disconnect(); + this._soundGain = null; + } + if (this._soundPanner) { + this._soundPanner.disconnect(); + this._soundPanner = null; + } + if (this._soundSource) { + this._soundSource.disconnect(); + this._soundSource = null; + } + this._audioBuffer = null; + if (this._htmlAudioElement) { + this._htmlAudioElement.pause(); + this._htmlAudioElement.src = ""; + document.body.removeChild(this._htmlAudioElement); + } + if (this._connectedMesh) { + this._connectedMesh.unregisterAfterWorldMatrixUpdate(this._registerFunc); + this._connectedMesh = null; + } + } + }; + Sound.prototype._soundLoaded = function (audioData) { + var _this = this; + this._isLoaded = true; + BABYLON.Engine.audioEngine.audioContext.decodeAudioData(audioData, function (buffer) { + _this._audioBuffer = buffer; + _this._isReadyToPlay = true; + if (_this.autoplay) { + _this.play(); + } + if (_this._readyToPlayCallback) { + _this._readyToPlayCallback(); + } + }, function (err) { BABYLON.Tools.Error("Error while decoding audio data for: " + _this.name + " / Error: " + err); }); + }; + Sound.prototype.setAudioBuffer = function (audioBuffer) { + if (BABYLON.Engine.audioEngine.canUseWebAudio) { + this._audioBuffer = audioBuffer; + this._isReadyToPlay = true; + } + }; + Sound.prototype.updateOptions = function (options) { + if (options) { + this.loop = options.loop || this.loop; + this.maxDistance = options.maxDistance || this.maxDistance; + this.useCustomAttenuation = options.useCustomAttenuation || this.useCustomAttenuation; + this.rolloffFactor = options.rolloffFactor || this.rolloffFactor; + this.refDistance = options.refDistance || this.refDistance; + this.distanceModel = options.distanceModel || this.distanceModel; + this._playbackRate = options.playbackRate || this._playbackRate; + this._updateSpatialParameters(); + if (this.isPlaying) { + if (this._streaming) { + this._htmlAudioElement.playbackRate = this._playbackRate; + } + else { + this._soundSource.playbackRate.value = this._playbackRate; + } + } + } + }; + Sound.prototype._createSpatialParameters = function () { + if (BABYLON.Engine.audioEngine.canUseWebAudio) { + if (this._scene.headphone) { + this._panningModel = "HRTF"; + } + this._soundPanner = BABYLON.Engine.audioEngine.audioContext.createPanner(); + this._updateSpatialParameters(); + this._soundPanner.connect(this._ouputAudioNode); + this._inputAudioNode = this._soundPanner; + } + }; + Sound.prototype._updateSpatialParameters = function () { + if (this.spatialSound) { + if (this.useCustomAttenuation) { + // Tricks to disable in a way embedded Web Audio attenuation + this._soundPanner.distanceModel = "linear"; + this._soundPanner.maxDistance = Number.MAX_VALUE; + this._soundPanner.refDistance = 1; + this._soundPanner.rolloffFactor = 1; + this._soundPanner.panningModel = this._panningModel; + } + else { + this._soundPanner.distanceModel = this.distanceModel; + this._soundPanner.maxDistance = this.maxDistance; + this._soundPanner.refDistance = this.refDistance; + this._soundPanner.rolloffFactor = this.rolloffFactor; + this._soundPanner.panningModel = this._panningModel; + } + } + }; + Sound.prototype.switchPanningModelToHRTF = function () { + this._panningModel = "HRTF"; + this._switchPanningModel(); + }; + Sound.prototype.switchPanningModelToEqualPower = function () { + this._panningModel = "equalpower"; + this._switchPanningModel(); + }; + Sound.prototype._switchPanningModel = function () { + if (BABYLON.Engine.audioEngine.canUseWebAudio && this.spatialSound) { + this._soundPanner.panningModel = this._panningModel; + } + }; + Sound.prototype.connectToSoundTrackAudioNode = function (soundTrackAudioNode) { + if (BABYLON.Engine.audioEngine.canUseWebAudio) { + if (this._isOutputConnected) { + this._ouputAudioNode.disconnect(); + } + this._ouputAudioNode.connect(soundTrackAudioNode); + this._isOutputConnected = true; + } + }; + /** + * Transform this sound into a directional source + * @param coneInnerAngle Size of the inner cone in degree + * @param coneOuterAngle Size of the outer cone in degree + * @param coneOuterGain Volume of the sound outside the outer cone (between 0.0 and 1.0) + */ + Sound.prototype.setDirectionalCone = function (coneInnerAngle, coneOuterAngle, coneOuterGain) { + if (coneOuterAngle < coneInnerAngle) { + BABYLON.Tools.Error("setDirectionalCone(): outer angle of the cone must be superior or equal to the inner angle."); + return; + } + this._coneInnerAngle = coneInnerAngle; + this._coneOuterAngle = coneOuterAngle; + this._coneOuterGain = coneOuterGain; + this._isDirectional = true; + if (this.isPlaying && this.loop) { + this.stop(); + this.play(); + } + }; + Sound.prototype.setPosition = function (newPosition) { + this._position = newPosition; + if (BABYLON.Engine.audioEngine.canUseWebAudio && this.spatialSound) { + this._soundPanner.setPosition(this._position.x, this._position.y, this._position.z); + } + }; + Sound.prototype.setLocalDirectionToMesh = function (newLocalDirection) { + this._localDirection = newLocalDirection; + if (BABYLON.Engine.audioEngine.canUseWebAudio && this._connectedMesh && this.isPlaying) { + this._updateDirection(); + } + }; + Sound.prototype._updateDirection = function () { + var mat = this._connectedMesh.getWorldMatrix(); + var direction = BABYLON.Vector3.TransformNormal(this._localDirection, mat); + direction.normalize(); + this._soundPanner.setOrientation(direction.x, direction.y, direction.z); + }; + Sound.prototype.updateDistanceFromListener = function () { + if (BABYLON.Engine.audioEngine.canUseWebAudio && this._connectedMesh && this.useCustomAttenuation) { + var distance = this._connectedMesh.getDistanceToCamera(this._scene.activeCamera); + this._soundGain.gain.value = this._customAttenuationFunction(this._volume, distance, this.maxDistance, this.refDistance, this.rolloffFactor); + } + }; + Sound.prototype.setAttenuationFunction = function (callback) { + this._customAttenuationFunction = callback; + }; + /** + * Play the sound + * @param time (optional) Start the sound after X seconds. Start immediately (0) by default. + * @param offset (optional) Start the sound setting it at a specific time + */ + Sound.prototype.play = function (time, offset) { + var _this = this; + if (this._isReadyToPlay && this._scene.audioEnabled) { + try { + if (this._startOffset < 0) { + time = -this._startOffset; + this._startOffset = 0; + } + var startTime = time ? BABYLON.Engine.audioEngine.audioContext.currentTime + time : BABYLON.Engine.audioEngine.audioContext.currentTime; + if (!this._soundSource || !this._streamingSource) { + if (this.spatialSound) { + this._soundPanner.setPosition(this._position.x, this._position.y, this._position.z); + if (this._isDirectional) { + this._soundPanner.coneInnerAngle = this._coneInnerAngle; + this._soundPanner.coneOuterAngle = this._coneOuterAngle; + this._soundPanner.coneOuterGain = this._coneOuterGain; + if (this._connectedMesh) { + this._updateDirection(); + } + else { + this._soundPanner.setOrientation(this._localDirection.x, this._localDirection.y, this._localDirection.z); + } + } + } + } + if (this._streaming) { + if (!this._streamingSource) { + this._streamingSource = BABYLON.Engine.audioEngine.audioContext.createMediaElementSource(this._htmlAudioElement); + this._htmlAudioElement.onended = function () { _this._onended(); }; + this._htmlAudioElement.playbackRate = this._playbackRate; + } + this._streamingSource.disconnect(); + this._streamingSource.connect(this._inputAudioNode); + this._htmlAudioElement.play(); + } + else { + this._soundSource = BABYLON.Engine.audioEngine.audioContext.createBufferSource(); + this._soundSource.buffer = this._audioBuffer; + this._soundSource.connect(this._inputAudioNode); + this._soundSource.loop = this.loop; + this._soundSource.playbackRate.value = this._playbackRate; + this._soundSource.onended = function () { _this._onended(); }; + this._soundSource.start(startTime, this.isPaused ? this._startOffset % this._soundSource.buffer.duration : offset ? offset : 0); + } + this._startTime = startTime; + this.isPlaying = true; + this.isPaused = false; + } + catch (ex) { + BABYLON.Tools.Error("Error while trying to play audio: " + this.name + ", " + ex.message); + } + } + }; + Sound.prototype._onended = function () { + this.isPlaying = false; + if (this.onended) { + this.onended(); + } + }; + /** + * Stop the sound + * @param time (optional) Stop the sound after X seconds. Stop immediately (0) by default. + */ + Sound.prototype.stop = function (time) { + if (this.isPlaying) { + if (this._streaming) { + this._htmlAudioElement.pause(); + // Test needed for Firefox or it will generate an Invalid State Error + if (this._htmlAudioElement.currentTime > 0) { + this._htmlAudioElement.currentTime = 0; + } + } + else { + var stopTime = time ? BABYLON.Engine.audioEngine.audioContext.currentTime + time : BABYLON.Engine.audioEngine.audioContext.currentTime; + this._soundSource.stop(stopTime); + this._soundSource.onended = null; + if (!this.isPaused) { + this._startOffset = 0; + } + } + this.isPlaying = false; + } + }; + Sound.prototype.pause = function () { + if (this.isPlaying) { + this.isPaused = true; + if (this._streaming) { + this._htmlAudioElement.pause(); + } + else { + this.stop(0); + this._startOffset += BABYLON.Engine.audioEngine.audioContext.currentTime - this._startTime; + } + } + }; + Sound.prototype.setVolume = function (newVolume, time) { + if (BABYLON.Engine.audioEngine.canUseWebAudio) { + if (time) { + this._soundGain.gain.cancelScheduledValues(BABYLON.Engine.audioEngine.audioContext.currentTime); + this._soundGain.gain.setValueAtTime(this._soundGain.gain.value, BABYLON.Engine.audioEngine.audioContext.currentTime); + this._soundGain.gain.linearRampToValueAtTime(newVolume, BABYLON.Engine.audioEngine.audioContext.currentTime + time); + } + else { + this._soundGain.gain.value = newVolume; + } + } + this._volume = newVolume; + }; + Sound.prototype.setPlaybackRate = function (newPlaybackRate) { + this._playbackRate = newPlaybackRate; + if (this.isPlaying) { + if (this._streaming) { + this._htmlAudioElement.playbackRate = this._playbackRate; + } + else { + this._soundSource.playbackRate.value = this._playbackRate; + } + } + }; + Sound.prototype.getVolume = function () { + return this._volume; + }; + Sound.prototype.attachToMesh = function (meshToConnectTo) { + var _this = this; + if (this._connectedMesh) { + this._connectedMesh.unregisterAfterWorldMatrixUpdate(this._registerFunc); + this._registerFunc = null; + } + this._connectedMesh = meshToConnectTo; + if (!this.spatialSound) { + this.spatialSound = true; + this._createSpatialParameters(); + if (this.isPlaying && this.loop) { + this.stop(); + this.play(); + } + } + this._onRegisterAfterWorldMatrixUpdate(this._connectedMesh); + this._registerFunc = function (connectedMesh) { return _this._onRegisterAfterWorldMatrixUpdate(connectedMesh); }; + meshToConnectTo.registerAfterWorldMatrixUpdate(this._registerFunc); + }; + Sound.prototype.detachFromMesh = function () { + if (this._connectedMesh) { + this._connectedMesh.unregisterAfterWorldMatrixUpdate(this._registerFunc); + this._registerFunc = null; + this._connectedMesh = null; + } + }; + Sound.prototype._onRegisterAfterWorldMatrixUpdate = function (connectedMesh) { + this.setPosition(connectedMesh.getBoundingInfo().boundingSphere.centerWorld); + if (BABYLON.Engine.audioEngine.canUseWebAudio && this._isDirectional && this.isPlaying) { + this._updateDirection(); + } + }; + Sound.prototype.clone = function () { + var _this = this; + if (!this._streaming) { + var setBufferAndRun = function () { + if (_this._isReadyToPlay) { + clonedSound._audioBuffer = _this.getAudioBuffer(); + clonedSound._isReadyToPlay = true; + if (clonedSound.autoplay) { + clonedSound.play(); + } + } + else { + window.setTimeout(setBufferAndRun, 300); + } + }; + var currentOptions = { + autoplay: this.autoplay, loop: this.loop, + volume: this._volume, spatialSound: this.spatialSound, maxDistance: this.maxDistance, + useCustomAttenuation: this.useCustomAttenuation, rolloffFactor: this.rolloffFactor, + refDistance: this.refDistance, distanceModel: this.distanceModel + }; + var clonedSound = new Sound(this.name + "_cloned", new ArrayBuffer(0), this._scene, null, currentOptions); + if (this.useCustomAttenuation) { + clonedSound.setAttenuationFunction(this._customAttenuationFunction); + } + clonedSound.setPosition(this._position); + clonedSound.setPlaybackRate(this._playbackRate); + setBufferAndRun(); + return clonedSound; + } + else { + return null; + } + }; + Sound.prototype.getAudioBuffer = function () { + return this._audioBuffer; + }; + Sound.prototype.serialize = function () { + var serializationObject = { + name: this.name, + url: this.name, + autoplay: this.autoplay, + loop: this.loop, + volume: this._volume, + spatialSound: this.spatialSound, + maxDistance: this.maxDistance, + rolloffFactor: this.rolloffFactor, + refDistance: this.refDistance, + distanceModel: this.distanceModel, + playbackRate: this._playbackRate, + panningModel: this._panningModel, + soundTrackId: this.soundTrackId + }; + if (this.spatialSound) { + if (this._connectedMesh) + serializationObject.connectedMeshId = this._connectedMesh.id; + serializationObject.position = this._position.asArray(); + serializationObject.refDistance = this.refDistance; + serializationObject.distanceModel = this.distanceModel; + serializationObject.isDirectional = this._isDirectional; + serializationObject.localDirectionToMesh = this._localDirection.asArray(); + serializationObject.coneInnerAngle = this._coneInnerAngle; + serializationObject.coneOuterAngle = this._coneOuterAngle; + serializationObject.coneOuterGain = this._coneOuterGain; + } + return serializationObject; + }; + Sound.Parse = function (parsedSound, scene, rootUrl, sourceSound) { + var soundName = parsedSound.name; + var soundUrl; + if (parsedSound.url) { + soundUrl = rootUrl + parsedSound.url; + } + else { + soundUrl = rootUrl + soundName; + } + var options = { + autoplay: parsedSound.autoplay, loop: parsedSound.loop, volume: parsedSound.volume, + spatialSound: parsedSound.spatialSound, maxDistance: parsedSound.maxDistance, + rolloffFactor: parsedSound.rolloffFactor, + refDistance: parsedSound.refDistance, + distanceModel: parsedSound.distanceModel, + playbackRate: parsedSound.playbackRate + }; + var newSound; + if (!sourceSound) { + newSound = new Sound(soundName, soundUrl, scene, function () { scene._removePendingData(newSound); }, options); + scene._addPendingData(newSound); + } + else { + var setBufferAndRun = function () { + if (sourceSound._isReadyToPlay) { + newSound._audioBuffer = sourceSound.getAudioBuffer(); + newSound._isReadyToPlay = true; + if (newSound.autoplay) { + newSound.play(); + } + } + else { + window.setTimeout(setBufferAndRun, 300); + } + }; + newSound = new Sound(soundName, new ArrayBuffer(0), scene, null, options); + setBufferAndRun(); + } + if (parsedSound.position) { + var soundPosition = BABYLON.Vector3.FromArray(parsedSound.position); + newSound.setPosition(soundPosition); + } + if (parsedSound.isDirectional) { + newSound.setDirectionalCone(parsedSound.coneInnerAngle || 360, parsedSound.coneOuterAngle || 360, parsedSound.coneOuterGain || 0); + if (parsedSound.localDirectionToMesh) { + var localDirectionToMesh = BABYLON.Vector3.FromArray(parsedSound.localDirectionToMesh); + newSound.setLocalDirectionToMesh(localDirectionToMesh); + } + } + if (parsedSound.connectedMeshId) { + var connectedMesh = scene.getMeshByID(parsedSound.connectedMeshId); + if (connectedMesh) { + newSound.attachToMesh(connectedMesh); + } + } + return newSound; + }; + return Sound; + }()); + BABYLON.Sound = Sound; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.sound.js.map + +var BABYLON; +(function (BABYLON) { + var SoundTrack = (function () { + function SoundTrack(scene, options) { + this.id = -1; + this._isMainTrack = false; + this._isInitialized = false; + this._scene = scene; + this.soundCollection = new Array(); + this._options = options; + if (!this._isMainTrack) { + this._scene.soundTracks.push(this); + this.id = this._scene.soundTracks.length - 1; + } + } + SoundTrack.prototype._initializeSoundTrackAudioGraph = function () { + if (BABYLON.Engine.audioEngine.canUseWebAudio) { + this._outputAudioNode = BABYLON.Engine.audioEngine.audioContext.createGain(); + this._outputAudioNode.connect(BABYLON.Engine.audioEngine.masterGain); + if (this._options) { + if (this._options.volume) { + this._outputAudioNode.gain.value = this._options.volume; + } + if (this._options.mainTrack) { + this._isMainTrack = this._options.mainTrack; + } + } + this._isInitialized = true; + } + }; + SoundTrack.prototype.dispose = function () { + if (BABYLON.Engine.audioEngine.canUseWebAudio) { + if (this._connectedAnalyser) { + this._connectedAnalyser.stopDebugCanvas(); + } + while (this.soundCollection.length) { + this.soundCollection[0].dispose(); + } + if (this._outputAudioNode) { + this._outputAudioNode.disconnect(); + } + this._outputAudioNode = null; + } + }; + SoundTrack.prototype.AddSound = function (sound) { + if (!this._isInitialized) { + this._initializeSoundTrackAudioGraph(); + } + if (BABYLON.Engine.audioEngine.canUseWebAudio) { + sound.connectToSoundTrackAudioNode(this._outputAudioNode); + } + if (sound.soundTrackId) { + if (sound.soundTrackId === -1) { + this._scene.mainSoundTrack.RemoveSound(sound); + } + else { + this._scene.soundTracks[sound.soundTrackId].RemoveSound(sound); + } + } + this.soundCollection.push(sound); + sound.soundTrackId = this.id; + }; + SoundTrack.prototype.RemoveSound = function (sound) { + var index = this.soundCollection.indexOf(sound); + if (index !== -1) { + this.soundCollection.splice(index, 1); + } + }; + SoundTrack.prototype.setVolume = function (newVolume) { + if (BABYLON.Engine.audioEngine.canUseWebAudio) { + this._outputAudioNode.gain.value = newVolume; + } + }; + SoundTrack.prototype.switchPanningModelToHRTF = function () { + if (BABYLON.Engine.audioEngine.canUseWebAudio) { + for (var i = 0; i < this.soundCollection.length; i++) { + this.soundCollection[i].switchPanningModelToHRTF(); + } + } + }; + SoundTrack.prototype.switchPanningModelToEqualPower = function () { + if (BABYLON.Engine.audioEngine.canUseWebAudio) { + for (var i = 0; i < this.soundCollection.length; i++) { + this.soundCollection[i].switchPanningModelToEqualPower(); + } + } + }; + SoundTrack.prototype.connectToAnalyser = function (analyser) { + if (this._connectedAnalyser) { + this._connectedAnalyser.stopDebugCanvas(); + } + this._connectedAnalyser = analyser; + if (BABYLON.Engine.audioEngine.canUseWebAudio) { + this._outputAudioNode.disconnect(); + this._connectedAnalyser.connectAudioNodes(this._outputAudioNode, BABYLON.Engine.audioEngine.masterGain); + } + }; + return SoundTrack; + }()); + BABYLON.SoundTrack = SoundTrack; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.soundtrack.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + /** + * Special Glow Blur post process only blurring the alpha channel + * It enforces keeping the most luminous color in the color channel. + */ + var GlowBlurPostProcess = (function (_super) { + __extends(GlowBlurPostProcess, _super); + function GlowBlurPostProcess(name, direction, blurWidth, options, camera, samplingMode, engine, reusable) { + var _this = this; + if (samplingMode === void 0) { samplingMode = BABYLON.Texture.BILINEAR_SAMPLINGMODE; } + _super.call(this, name, "glowBlurPostProcess", ["screenSize", "direction", "blurWidth"], null, options, camera, samplingMode, engine, reusable); + this.direction = direction; + this.blurWidth = blurWidth; + this.onApplyObservable.add(function (effect) { + effect.setFloat2("screenSize", _this.width, _this.height); + effect.setVector2("direction", _this.direction); + effect.setFloat("blurWidth", _this.blurWidth); + }); + } + return GlowBlurPostProcess; + }(BABYLON.PostProcess)); + /** + * The highlight layer Helps adding a glow effect around a mesh. + * + * Once instantiated in a scene, simply use the pushMesh or removeMesh method to add or remove + * glowy meshes to your scene. + * + * !!! THIS REQUIRES AN ACTIVE STENCIL BUFFER ON THE CANVAS !!! + */ + var HighlightLayer = (function () { + /** + * Instantiates a new highlight Layer and references it to the scene.. + * @param name The name of the layer + * @param scene The scene to use the layer in + * @param options Sets of none mandatory options to use with the layer (see IHighlightLayerOptions for more information) + */ + function HighlightLayer(name, scene, options) { + this._vertexBuffers = {}; + this._mainTextureDesiredSize = { width: 0, height: 0 }; + this._meshes = {}; + this._maxSize = 0; + this._shouldRender = false; + this._instanceGlowingMeshStencilReference = HighlightLayer.glowingMeshStencilReference++; + this._excludedMeshes = {}; + /** + * Specifies whether or not the inner glow is ACTIVE in the layer. + */ + this.innerGlow = true; + /** + * Specifies whether or not the outer glow is ACTIVE in the layer. + */ + this.outerGlow = true; + /** + * Specifies wether the highlight layer is enabled or not. + */ + this.isEnabled = true; + /** + * An event triggered when the highlight layer has been disposed. + * @type {BABYLON.Observable} + */ + this.onDisposeObservable = new BABYLON.Observable(); + /** + * An event triggered when the highlight layer is about rendering the main texture with the glowy parts. + * @type {BABYLON.Observable} + */ + this.onBeforeRenderMainTextureObservable = new BABYLON.Observable(); + /** + * An event triggered when the highlight layer is being blurred. + * @type {BABYLON.Observable} + */ + this.onBeforeBlurObservable = new BABYLON.Observable(); + /** + * An event triggered when the highlight layer has been blurred. + * @type {BABYLON.Observable} + */ + this.onAfterBlurObservable = new BABYLON.Observable(); + /** + * An event triggered when the glowing blurred texture is being merged in the scene. + * @type {BABYLON.Observable} + */ + this.onBeforeComposeObservable = new BABYLON.Observable(); + /** + * An event triggered when the glowing blurred texture has been merged in the scene. + * @type {BABYLON.Observable} + */ + this.onAfterComposeObservable = new BABYLON.Observable(); + /** + * An event triggered when the highlight layer changes its size. + * @type {BABYLON.Observable} + */ + this.onSizeChangedObservable = new BABYLON.Observable(); + this._scene = scene; + var engine = scene.getEngine(); + this._engine = engine; + this._maxSize = this._engine.getCaps().maxTextureSize; + this._scene.highlightLayers.push(this); + // Warn on stencil. + if (!this._engine.isStencilEnable) { + BABYLON.Tools.Warn("Rendering the Highlight Layer requires the stencil to be active on the canvas. var engine = new BABYLON.Engine(canvas, antialias, { stencil: true }"); + } + // Adapt options + this._options = options || { + mainTextureRatio: 0.25, + blurTextureSizeRatio: 0.5, + blurHorizontalSize: 1, + blurVerticalSize: 1, + alphaBlendingMode: BABYLON.Engine.ALPHA_COMBINE + }; + this._options.mainTextureRatio = this._options.mainTextureRatio || 0.25; + this._options.blurTextureSizeRatio = this._options.blurTextureSizeRatio || 0.5; + this._options.blurHorizontalSize = this._options.blurHorizontalSize || 1; + this._options.blurVerticalSize = this._options.blurVerticalSize || 1; + this._options.alphaBlendingMode = this._options.alphaBlendingMode || BABYLON.Engine.ALPHA_COMBINE; + // VBO + var vertices = []; + vertices.push(1, 1); + vertices.push(-1, 1); + vertices.push(-1, -1); + vertices.push(1, -1); + var vertexBuffer = new BABYLON.VertexBuffer(engine, vertices, BABYLON.VertexBuffer.PositionKind, false, false, 2); + this._vertexBuffers[BABYLON.VertexBuffer.PositionKind] = vertexBuffer; + // Indices + var indices = []; + indices.push(0); + indices.push(1); + indices.push(2); + indices.push(0); + indices.push(2); + indices.push(3); + this._indexBuffer = engine.createIndexBuffer(indices); + // Effect + this._glowMapMergeEffect = engine.createEffect("glowMapMerge", [BABYLON.VertexBuffer.PositionKind], ["offset"], ["textureSampler"], ""); + // Render target + this.setMainTextureSize(); + // Create Textures and post processes + this.createTextureAndPostProcesses(); + } + Object.defineProperty(HighlightLayer.prototype, "blurHorizontalSize", { + /** + * Gets the horizontal size of the blur. + */ + get: function () { + return this._horizontalBlurPostprocess.blurWidth; + }, + /** + * Specifies the horizontal size of the blur. + */ + set: function (value) { + this._horizontalBlurPostprocess.blurWidth = value; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(HighlightLayer.prototype, "blurVerticalSize", { + /** + * Gets the vertical size of the blur. + */ + get: function () { + return this._verticalBlurPostprocess.blurWidth; + }, + /** + * Specifies the vertical size of the blur. + */ + set: function (value) { + this._verticalBlurPostprocess.blurWidth = value; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(HighlightLayer.prototype, "camera", { + /** + * Gets the camera attached to the layer. + */ + get: function () { + return this._options.camera; + }, + enumerable: true, + configurable: true + }); + /** + * Creates the render target textures and post processes used in the highlight layer. + */ + HighlightLayer.prototype.createTextureAndPostProcesses = function () { + var _this = this; + var blurTextureWidth = this._mainTextureDesiredSize.width * this._options.blurTextureSizeRatio; + var blurTextureHeight = this._mainTextureDesiredSize.height * this._options.blurTextureSizeRatio; + blurTextureWidth = BABYLON.Tools.GetExponentOfTwo(blurTextureWidth, this._maxSize); + blurTextureHeight = BABYLON.Tools.GetExponentOfTwo(blurTextureHeight, this._maxSize); + this._mainTexture = new BABYLON.RenderTargetTexture("HighlightLayerMainRTT", { + width: this._mainTextureDesiredSize.width, + height: this._mainTextureDesiredSize.height + }, this._scene, false, true, BABYLON.Engine.TEXTURETYPE_UNSIGNED_INT); + this._mainTexture.activeCamera = this._options.camera; + this._mainTexture.wrapU = BABYLON.Texture.CLAMP_ADDRESSMODE; + this._mainTexture.wrapV = BABYLON.Texture.CLAMP_ADDRESSMODE; + this._mainTexture.anisotropicFilteringLevel = 1; + this._mainTexture.updateSamplingMode(BABYLON.Texture.BILINEAR_SAMPLINGMODE); + this._mainTexture.renderParticles = false; + this._mainTexture.renderList = null; + this._blurTexture = new BABYLON.RenderTargetTexture("HighlightLayerBlurRTT", { + width: blurTextureWidth, + height: blurTextureHeight + }, this._scene, false, true, BABYLON.Engine.TEXTURETYPE_UNSIGNED_INT); + this._blurTexture.wrapU = BABYLON.Texture.CLAMP_ADDRESSMODE; + this._blurTexture.wrapV = BABYLON.Texture.CLAMP_ADDRESSMODE; + this._blurTexture.anisotropicFilteringLevel = 16; + this._blurTexture.updateSamplingMode(BABYLON.Texture.TRILINEAR_SAMPLINGMODE); + this._blurTexture.renderParticles = false; + this._downSamplePostprocess = new BABYLON.PassPostProcess("HighlightLayerPPP", this._options.blurTextureSizeRatio, null, BABYLON.Texture.BILINEAR_SAMPLINGMODE, this._scene.getEngine()); + this._downSamplePostprocess.onApplyObservable.add(function (effect) { + effect.setTexture("textureSampler", _this._mainTexture); + }); + if (this._options.alphaBlendingMode === BABYLON.Engine.ALPHA_COMBINE) { + this._horizontalBlurPostprocess = new GlowBlurPostProcess("HighlightLayerHBP", new BABYLON.Vector2(1.0, 0), this._options.blurHorizontalSize, 1, null, BABYLON.Texture.BILINEAR_SAMPLINGMODE, this._scene.getEngine()); + this._horizontalBlurPostprocess.onApplyObservable.add(function (effect) { + effect.setFloat2("screenSize", blurTextureWidth, blurTextureHeight); + }); + this._verticalBlurPostprocess = new GlowBlurPostProcess("HighlightLayerVBP", new BABYLON.Vector2(0, 1.0), this._options.blurVerticalSize, 1, null, BABYLON.Texture.BILINEAR_SAMPLINGMODE, this._scene.getEngine()); + this._verticalBlurPostprocess.onApplyObservable.add(function (effect) { + effect.setFloat2("screenSize", blurTextureWidth, blurTextureHeight); + }); + } + else { + this._horizontalBlurPostprocess = new BABYLON.BlurPostProcess("HighlightLayerHBP", new BABYLON.Vector2(1.0, 0), this._options.blurHorizontalSize, 1, null, BABYLON.Texture.BILINEAR_SAMPLINGMODE, this._scene.getEngine()); + this._horizontalBlurPostprocess.onApplyObservable.add(function (effect) { + effect.setFloat2("screenSize", blurTextureWidth, blurTextureHeight); + }); + this._verticalBlurPostprocess = new BABYLON.BlurPostProcess("HighlightLayerVBP", new BABYLON.Vector2(0, 1.0), this._options.blurVerticalSize, 1, null, BABYLON.Texture.BILINEAR_SAMPLINGMODE, this._scene.getEngine()); + this._verticalBlurPostprocess.onApplyObservable.add(function (effect) { + effect.setFloat2("screenSize", blurTextureWidth, blurTextureHeight); + }); + } + this._mainTexture.onAfterUnbindObservable.add(function () { + _this.onBeforeBlurObservable.notifyObservers(_this); + _this._scene.postProcessManager.directRender([_this._downSamplePostprocess, _this._horizontalBlurPostprocess, _this._verticalBlurPostprocess], _this._blurTexture.getInternalTexture()); + _this.onAfterBlurObservable.notifyObservers(_this); + }); + // Custom render function + var renderSubMesh = function (subMesh) { + var mesh = subMesh.getRenderingMesh(); + var scene = _this._scene; + var engine = scene.getEngine(); + // Culling + engine.setState(subMesh.getMaterial().backFaceCulling); + // Managing instances + var batch = mesh._getInstancesRenderList(subMesh._id); + if (batch.mustReturn) { + return; + } + // Excluded Mesh + if (_this._excludedMeshes[mesh.id]) { + return; + } + ; + var hardwareInstancedRendering = (engine.getCaps().instancedArrays !== null) && (batch.visibleInstances[subMesh._id] !== null) && (batch.visibleInstances[subMesh._id] !== undefined); + var highlightLayerMesh = _this._meshes[mesh.id]; + var material = subMesh.getMaterial(); + var emissiveTexture = null; + if (highlightLayerMesh && highlightLayerMesh.glowEmissiveOnly && material) { + emissiveTexture = material.emissiveTexture; + } + if (_this.isReady(subMesh, hardwareInstancedRendering, emissiveTexture)) { + engine.enableEffect(_this._glowMapGenerationEffect); + mesh._bind(subMesh, _this._glowMapGenerationEffect, BABYLON.Material.TriangleFillMode); + _this._glowMapGenerationEffect.setMatrix("viewProjection", scene.getTransformMatrix()); + if (highlightLayerMesh) { + _this._glowMapGenerationEffect.setFloat4("color", highlightLayerMesh.color.r, highlightLayerMesh.color.g, highlightLayerMesh.color.b, 1.0); + } + else { + _this._glowMapGenerationEffect.setFloat4("color", HighlightLayer.neutralColor.r, HighlightLayer.neutralColor.g, HighlightLayer.neutralColor.b, HighlightLayer.neutralColor.a); + } + // Alpha test + if (material && material.needAlphaTesting()) { + var alphaTexture = material.getAlphaTestTexture(); + _this._glowMapGenerationEffect.setTexture("diffuseSampler", alphaTexture); + _this._glowMapGenerationEffect.setMatrix("diffuseMatrix", alphaTexture.getTextureMatrix()); + } + // Glow emissive only + if (emissiveTexture) { + _this._glowMapGenerationEffect.setTexture("emissiveSampler", emissiveTexture); + _this._glowMapGenerationEffect.setMatrix("emissiveMatrix", emissiveTexture.getTextureMatrix()); + } + // Bones + if (mesh.useBones && mesh.computeBonesUsingShaders) { + _this._glowMapGenerationEffect.setMatrices("mBones", mesh.skeleton.getTransformMatrices(mesh)); + } + // Draw + mesh._processRendering(subMesh, _this._glowMapGenerationEffect, BABYLON.Material.TriangleFillMode, batch, hardwareInstancedRendering, function (isInstance, world) { return _this._glowMapGenerationEffect.setMatrix("world", world); }); + } + else { + // Need to reset refresh rate of the shadowMap + _this._mainTexture.resetRefreshCounter(); + } + }; + this._mainTexture.customRenderFunction = function (opaqueSubMeshes, alphaTestSubMeshes, transparentSubMeshes) { + _this.onBeforeRenderMainTextureObservable.notifyObservers(_this); + var index; + for (index = 0; index < opaqueSubMeshes.length; index++) { + renderSubMesh(opaqueSubMeshes.data[index]); + } + for (index = 0; index < alphaTestSubMeshes.length; index++) { + renderSubMesh(alphaTestSubMeshes.data[index]); + } + for (index = 0; index < transparentSubMeshes.length; index++) { + renderSubMesh(transparentSubMeshes.data[index]); + } + }; + this._mainTexture.onClearObservable.add(function (engine) { + engine.clear(HighlightLayer.neutralColor, true, true, true); + }); + }; + /** + * Checks for the readiness of the element composing the layer. + * @param subMesh the mesh to check for + * @param useInstances specify wether or not to use instances to render the mesh + * @param emissiveTexture the associated emissive texture used to generate the glow + * @return true if ready otherwise, false + */ + HighlightLayer.prototype.isReady = function (subMesh, useInstances, emissiveTexture) { + if (!subMesh.getMaterial().isReady(subMesh.getMesh(), useInstances)) { + return false; + } + var defines = []; + var attribs = [BABYLON.VertexBuffer.PositionKind]; + var mesh = subMesh.getMesh(); + var material = subMesh.getMaterial(); + var uv1 = false; + var uv2 = false; + // Alpha test + if (material && material.needAlphaTesting()) { + var alphaTexture = material.getAlphaTestTexture(); + if (alphaTexture) { + defines.push("#define ALPHATEST"); + if (mesh.isVerticesDataPresent(BABYLON.VertexBuffer.UV2Kind) && + alphaTexture.coordinatesIndex === 1) { + defines.push("#define DIFFUSEUV2"); + uv2 = true; + } + else if (mesh.isVerticesDataPresent(BABYLON.VertexBuffer.UVKind)) { + defines.push("#define DIFFUSEUV1"); + uv1 = true; + } + } + } + // Emissive + if (emissiveTexture) { + defines.push("#define EMISSIVE"); + if (mesh.isVerticesDataPresent(BABYLON.VertexBuffer.UV2Kind) && + emissiveTexture.coordinatesIndex === 1) { + defines.push("#define EMISSIVEUV2"); + uv2 = true; + } + else if (mesh.isVerticesDataPresent(BABYLON.VertexBuffer.UVKind)) { + defines.push("#define EMISSIVEUV1"); + uv1 = true; + } + } + if (uv1) { + attribs.push(BABYLON.VertexBuffer.UVKind); + defines.push("#define UV1"); + } + if (uv2) { + attribs.push(BABYLON.VertexBuffer.UV2Kind); + defines.push("#define UV2"); + } + // Bones + if (mesh.useBones && mesh.computeBonesUsingShaders) { + attribs.push(BABYLON.VertexBuffer.MatricesIndicesKind); + attribs.push(BABYLON.VertexBuffer.MatricesWeightsKind); + if (mesh.numBoneInfluencers > 4) { + attribs.push(BABYLON.VertexBuffer.MatricesIndicesExtraKind); + attribs.push(BABYLON.VertexBuffer.MatricesWeightsExtraKind); + } + defines.push("#define NUM_BONE_INFLUENCERS " + mesh.numBoneInfluencers); + defines.push("#define BonesPerMesh " + (mesh.skeleton.bones.length + 1)); + } + else { + defines.push("#define NUM_BONE_INFLUENCERS 0"); + } + // Instances + if (useInstances) { + defines.push("#define INSTANCES"); + attribs.push("world0"); + attribs.push("world1"); + attribs.push("world2"); + attribs.push("world3"); + } + // Get correct effect + var join = defines.join("\n"); + if (this._cachedDefines !== join) { + this._cachedDefines = join; + this._glowMapGenerationEffect = this._scene.getEngine().createEffect("glowMapGeneration", attribs, ["world", "mBones", "viewProjection", "diffuseMatrix", "color", "emissiveMatrix"], ["diffuseSampler", "emissiveSampler"], join); + } + return this._glowMapGenerationEffect.isReady(); + }; + /** + * Renders the glowing part of the scene by blending the blurred glowing meshes on top of the rendered scene. + */ + HighlightLayer.prototype.render = function () { + var currentEffect = this._glowMapMergeEffect; + // Check + if (!currentEffect.isReady() || !this._blurTexture.isReady()) + return; + var engine = this._scene.getEngine(); + this.onBeforeComposeObservable.notifyObservers(this); + // Render + engine.enableEffect(currentEffect); + engine.setState(false); + // Cache + var previousStencilBuffer = engine.getStencilBuffer(); + var previousStencilFunction = engine.getStencilFunction(); + var previousStencilMask = engine.getStencilMask(); + var previousAlphaMode = engine.getAlphaMode(); + // Texture + currentEffect.setTexture("textureSampler", this._blurTexture); + // VBOs + engine.bindBuffers(this._vertexBuffers, this._indexBuffer, currentEffect); + // Draw order + engine.setAlphaMode(this._options.alphaBlendingMode); + engine.setStencilMask(0x00); + engine.setStencilBuffer(true); + engine.setStencilFunctionReference(this._instanceGlowingMeshStencilReference); + if (this.outerGlow) { + currentEffect.setFloat("offset", 0); + engine.setStencilFunction(BABYLON.Engine.NOTEQUAL); + engine.draw(true, 0, 6); + } + if (this.innerGlow) { + currentEffect.setFloat("offset", 1); + engine.setStencilFunction(BABYLON.Engine.EQUAL); + engine.draw(true, 0, 6); + } + // Restore Cache + engine.setStencilFunction(previousStencilFunction); + engine.setStencilMask(previousStencilMask); + engine.setAlphaMode(previousAlphaMode); + engine.setStencilBuffer(previousStencilBuffer); + this.onAfterComposeObservable.notifyObservers(this); + // Handle size changes. + var size = this._mainTexture.getSize(); + this.setMainTextureSize(); + if (size.width !== this._mainTextureDesiredSize.width || size.height !== this._mainTextureDesiredSize.height) { + // Recreate RTT and post processes on size change. + this.onSizeChangedObservable.notifyObservers(this); + this.disposeTextureAndPostProcesses(); + this.createTextureAndPostProcesses(); + } + }; + /** + * Add a mesh in the exclusion list to prevent it to impact or being impacted by the highlight layer. + * @param mesh The mesh to exclude from the highlight layer + */ + HighlightLayer.prototype.addExcludedMesh = function (mesh) { + var meshExcluded = this._excludedMeshes[mesh.id]; + if (!meshExcluded) { + this._excludedMeshes[mesh.id] = { + mesh: mesh, + beforeRender: mesh.onBeforeRenderObservable.add(function (mesh) { + mesh.getEngine().setStencilBuffer(false); + }), + afterRender: mesh.onAfterRenderObservable.add(function (mesh) { + mesh.getEngine().setStencilBuffer(true); + }), + }; + } + }; + /** + * Remove a mesh from the exclusion list to let it impact or being impacted by the highlight layer. + * @param mesh The mesh to highlight + */ + HighlightLayer.prototype.removeExcludedMesh = function (mesh) { + var meshExcluded = this._excludedMeshes[mesh.id]; + if (meshExcluded) { + mesh.onBeforeRenderObservable.remove(meshExcluded.beforeRender); + mesh.onAfterRenderObservable.remove(meshExcluded.afterRender); + } + this._excludedMeshes[mesh.id] = undefined; + }; + /** + * Add a mesh in the highlight layer in order to make it glow with the chosen color. + * @param mesh The mesh to highlight + * @param color The color of the highlight + * @param glowEmissiveOnly Extract the glow from the emissive texture + */ + HighlightLayer.prototype.addMesh = function (mesh, color, glowEmissiveOnly) { + var _this = this; + if (glowEmissiveOnly === void 0) { glowEmissiveOnly = false; } + var meshHighlight = this._meshes[mesh.id]; + if (meshHighlight) { + meshHighlight.color = color; + } + else { + this._meshes[mesh.id] = { + mesh: mesh, + color: color, + // Lambda required for capture due to Observable this context + observerHighlight: mesh.onBeforeRenderObservable.add(function (mesh) { + if (_this._excludedMeshes[mesh.id]) { + _this.defaultStencilReference(mesh); + } + else { + mesh.getScene().getEngine().setStencilFunctionReference(_this._instanceGlowingMeshStencilReference); + } + }), + observerDefault: mesh.onAfterRenderObservable.add(this.defaultStencilReference), + glowEmissiveOnly: glowEmissiveOnly + }; + } + this._shouldRender = true; + }; + /** + * Remove a mesh from the highlight layer in order to make it stop glowing. + * @param mesh The mesh to highlight + */ + HighlightLayer.prototype.removeMesh = function (mesh) { + var meshHighlight = this._meshes[mesh.id]; + if (meshHighlight) { + mesh.onBeforeRenderObservable.remove(meshHighlight.observerHighlight); + mesh.onAfterRenderObservable.remove(meshHighlight.observerDefault); + } + this._meshes[mesh.id] = undefined; + this._shouldRender = false; + for (var meshHighlightToCheck in this._meshes) { + if (meshHighlightToCheck) { + this._shouldRender = true; + break; + } + } + }; + /** + * Returns true if the layer contains information to display, otherwise false. + */ + HighlightLayer.prototype.shouldRender = function () { + return this.isEnabled && this._shouldRender; + }; + /** + * Sets the main texture desired size which is the closest power of two + * of the engine canvas size. + */ + HighlightLayer.prototype.setMainTextureSize = function () { + if (this._options.mainTextureFixedSize) { + this._mainTextureDesiredSize.width = this._options.mainTextureFixedSize; + this._mainTextureDesiredSize.height = this._options.mainTextureFixedSize; + } + else { + this._mainTextureDesiredSize.width = this._engine.getRenderingCanvas().width * this._options.mainTextureRatio; + this._mainTextureDesiredSize.height = this._engine.getRenderingCanvas().height * this._options.mainTextureRatio; + this._mainTextureDesiredSize.width = BABYLON.Tools.GetExponentOfTwo(this._mainTextureDesiredSize.width, this._maxSize); + this._mainTextureDesiredSize.height = BABYLON.Tools.GetExponentOfTwo(this._mainTextureDesiredSize.height, this._maxSize); + } + }; + /** + * Force the stencil to the normal expected value for none glowing parts + */ + HighlightLayer.prototype.defaultStencilReference = function (mesh) { + mesh.getScene().getEngine().setStencilFunctionReference(HighlightLayer.normalMeshStencilReference); + }; + /** + * Dispose only the render target textures and post process. + */ + HighlightLayer.prototype.disposeTextureAndPostProcesses = function () { + this._blurTexture.dispose(); + this._mainTexture.dispose(); + this._downSamplePostprocess.dispose(); + this._horizontalBlurPostprocess.dispose(); + this._verticalBlurPostprocess.dispose(); + }; + /** + * Dispose the highlight layer and free resources. + */ + HighlightLayer.prototype.dispose = function () { + var vertexBuffer = this._vertexBuffers[BABYLON.VertexBuffer.PositionKind]; + if (vertexBuffer) { + vertexBuffer.dispose(); + this._vertexBuffers[BABYLON.VertexBuffer.PositionKind] = null; + } + if (this._indexBuffer) { + this._scene.getEngine()._releaseBuffer(this._indexBuffer); + this._indexBuffer = null; + } + // Clean textures and post processes + this.disposeTextureAndPostProcesses(); + // Clean mesh references + for (var id in this._meshes) { + var meshHighlight = this._meshes[id]; + if (meshHighlight && meshHighlight.mesh) { + meshHighlight.mesh.onBeforeRenderObservable.remove(meshHighlight.observerHighlight); + meshHighlight.mesh.onAfterRenderObservable.remove(meshHighlight.observerDefault); + } + } + this._meshes = null; + for (var id in this._excludedMeshes) { + var meshHighlight = this._excludedMeshes[id]; + if (meshHighlight) { + meshHighlight.mesh.onBeforeRenderObservable.remove(meshHighlight.beforeRender); + meshHighlight.mesh.onAfterRenderObservable.remove(meshHighlight.afterRender); + } + } + this._excludedMeshes = null; + // Remove from scene + var index = this._scene.highlightLayers.indexOf(this, 0); + if (index > -1) { + this._scene.highlightLayers.splice(index, 1); + } + // Callback + this.onDisposeObservable.notifyObservers(this); + this.onDisposeObservable.clear(); + this.onBeforeRenderMainTextureObservable.clear(); + this.onBeforeBlurObservable.clear(); + this.onBeforeComposeObservable.clear(); + this.onAfterComposeObservable.clear(); + this.onSizeChangedObservable.clear(); + }; + /** + * The neutral color used during the preparation of the glow effect. + * This is black by default as the blend operation is a blend operation. + */ + HighlightLayer.neutralColor = new BABYLON.Color4(0, 0, 0, 0); + /** + * Stencil value used for glowing meshes. + */ + HighlightLayer.glowingMeshStencilReference = 0x02; + /** + * Stencil value used for the other meshes in the scene. + */ + HighlightLayer.normalMeshStencilReference = 0x01; + return HighlightLayer; + }()); + BABYLON.HighlightLayer = HighlightLayer; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.highlightlayer.js.map + +var BABYLON; +(function (BABYLON) { + var SIMDVector3 = (function () { + function SIMDVector3() { + } + SIMDVector3.TransformCoordinatesToRefSIMD = function (vector, transformation, result) { + SIMDVector3.TransformCoordinatesFromFloatsToRefSIMD(vector.x, vector.y, vector.z, transformation, result); + }; + SIMDVector3.TransformCoordinatesFromFloatsToRefSIMD = function (x, y, z, transformation, result) { + var m = transformation.m; + var m0 = SIMD.Float32x4.load(m, 0); + var m1 = SIMD.Float32x4.load(m, 4); + var m2 = SIMD.Float32x4.load(m, 8); + var m3 = SIMD.Float32x4.load(m, 12); + var r = SIMD.Float32x4.add(SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.splat(x), m0), SIMD.Float32x4.mul(SIMD.Float32x4.splat(y), m1)), SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.splat(z), m2), m3)); + r = SIMD.Float32x4.div(r, SIMD.Float32x4.swizzle(r, 3, 3, 3, 3)); + result.x = SIMD.Float32x4.extractLane(r, 0); + result.y = SIMD.Float32x4.extractLane(r, 1); + result.z = SIMD.Float32x4.extractLane(r, 2); + }; + return SIMDVector3; + }()); + var SIMDMatrix = (function () { + function SIMDMatrix() { + } + SIMDMatrix.prototype.multiplyToArraySIMD = function (other, result, offset) { + var tm = this.m; + var om = other.m; + var m0 = SIMD.Float32x4.load(om, 0); + var m1 = SIMD.Float32x4.load(om, 4); + var m2 = SIMD.Float32x4.load(om, 8); + var m3 = SIMD.Float32x4.load(om, 12); + for (var i = 0; i < 16; i += 4) { + SIMD.Float32x4.store(result, i + offset, SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.splat(tm[i]), m0), SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.splat(tm[i + 1]), m1), SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.splat(tm[i + 2]), m2), SIMD.Float32x4.mul(SIMD.Float32x4.splat(tm[i + 3]), m3))))); + } + return this; + }; + SIMDMatrix.prototype.invertToRefSIMD = function (other) { + var src = this.m; + var dest = other.m; + // Load the 4 rows + var src0 = SIMD.Float32x4.load(src, 0); + var src1 = SIMD.Float32x4.load(src, 4); + var src2 = SIMD.Float32x4.load(src, 8); + var src3 = SIMD.Float32x4.load(src, 12); + // Transpose the source matrix. Sort of. Not a true transpose operation + var tmp1 = SIMD.Float32x4.shuffle(src0, src1, 0, 1, 4, 5); + var row1 = SIMD.Float32x4.shuffle(src2, src3, 0, 1, 4, 5); + var row0 = SIMD.Float32x4.shuffle(tmp1, row1, 0, 2, 4, 6); + row1 = SIMD.Float32x4.shuffle(row1, tmp1, 1, 3, 5, 7); + tmp1 = SIMD.Float32x4.shuffle(src0, src1, 2, 3, 6, 7); + var row3 = SIMD.Float32x4.shuffle(src2, src3, 2, 3, 6, 7); + var row2 = SIMD.Float32x4.shuffle(tmp1, row3, 0, 2, 4, 6); + row3 = SIMD.Float32x4.shuffle(row3, tmp1, 1, 3, 5, 7); + // This is a true transposition, but it will lead to an incorrect result + //tmp1 = shuffle(src0, src1, 0, 1, 4, 5); + //tmp2 = shuffle(src2, src3, 0, 1, 4, 5); + //row0 = shuffle(tmp1, tmp2, 0, 2, 4, 6); + //row1 = shuffle(tmp1, tmp2, 1, 3, 5, 7); + //tmp1 = shuffle(src0, src1, 2, 3, 6, 7); + //tmp2 = shuffle(src2, src3, 2, 3, 6, 7); + //row2 = shuffle(tmp1, tmp2, 0, 2, 4, 6); + //row3 = shuffle(tmp1, tmp2, 1, 3, 5, 7); + // ---- + tmp1 = SIMD.Float32x4.mul(row2, row3); + tmp1 = SIMD.Float32x4.swizzle(tmp1, 1, 0, 3, 2); // 0xB1 = 10110001 + var minor0 = SIMD.Float32x4.mul(row1, tmp1); + var minor1 = SIMD.Float32x4.mul(row0, tmp1); + tmp1 = SIMD.Float32x4.swizzle(tmp1, 2, 3, 0, 1); // 0x4E = 01001110 + minor0 = SIMD.Float32x4.sub(SIMD.Float32x4.mul(row1, tmp1), minor0); + minor1 = SIMD.Float32x4.sub(SIMD.Float32x4.mul(row0, tmp1), minor1); + minor1 = SIMD.Float32x4.swizzle(minor1, 2, 3, 0, 1); // 0x4E = 01001110 + // ---- + tmp1 = SIMD.Float32x4.mul(row1, row2); + tmp1 = SIMD.Float32x4.swizzle(tmp1, 1, 0, 3, 2); // 0xB1 = 10110001 + minor0 = SIMD.Float32x4.add(SIMD.Float32x4.mul(row3, tmp1), minor0); + var minor3 = SIMD.Float32x4.mul(row0, tmp1); + tmp1 = SIMD.Float32x4.swizzle(tmp1, 2, 3, 0, 1); // 0x4E = 01001110 + minor0 = SIMD.Float32x4.sub(minor0, SIMD.Float32x4.mul(row3, tmp1)); + minor3 = SIMD.Float32x4.sub(SIMD.Float32x4.mul(row0, tmp1), minor3); + minor3 = SIMD.Float32x4.swizzle(minor3, 2, 3, 0, 1); // 0x4E = 01001110 + // ---- + tmp1 = SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(row1, 2, 3, 0, 1), row3); // 0x4E = 01001110 + tmp1 = SIMD.Float32x4.swizzle(tmp1, 1, 0, 3, 2); // 0xB1 = 10110001 + row2 = SIMD.Float32x4.swizzle(row2, 2, 3, 0, 1); // 0x4E = 01001110 + minor0 = SIMD.Float32x4.add(SIMD.Float32x4.mul(row2, tmp1), minor0); + var minor2 = SIMD.Float32x4.mul(row0, tmp1); + tmp1 = SIMD.Float32x4.swizzle(tmp1, 2, 3, 0, 1); // 0x4E = 01001110 + minor0 = SIMD.Float32x4.sub(minor0, SIMD.Float32x4.mul(row2, tmp1)); + minor2 = SIMD.Float32x4.sub(SIMD.Float32x4.mul(row0, tmp1), minor2); + minor2 = SIMD.Float32x4.swizzle(minor2, 2, 3, 0, 1); // 0x4E = 01001110 + // ---- + tmp1 = SIMD.Float32x4.mul(row0, row1); + tmp1 = SIMD.Float32x4.swizzle(tmp1, 1, 0, 3, 2); // 0xB1 = 10110001 + minor2 = SIMD.Float32x4.add(SIMD.Float32x4.mul(row3, tmp1), minor2); + minor3 = SIMD.Float32x4.sub(SIMD.Float32x4.mul(row2, tmp1), minor3); + tmp1 = SIMD.Float32x4.swizzle(tmp1, 2, 3, 0, 1); // 0x4E = 01001110 + minor2 = SIMD.Float32x4.sub(SIMD.Float32x4.mul(row3, tmp1), minor2); + minor3 = SIMD.Float32x4.sub(minor3, SIMD.Float32x4.mul(row2, tmp1)); + // ---- + tmp1 = SIMD.Float32x4.mul(row0, row3); + tmp1 = SIMD.Float32x4.swizzle(tmp1, 1, 0, 3, 2); // 0xB1 = 10110001 + minor1 = SIMD.Float32x4.sub(minor1, SIMD.Float32x4.mul(row2, tmp1)); + minor2 = SIMD.Float32x4.add(SIMD.Float32x4.mul(row1, tmp1), minor2); + tmp1 = SIMD.Float32x4.swizzle(tmp1, 2, 3, 0, 1); // 0x4E = 01001110 + minor1 = SIMD.Float32x4.add(SIMD.Float32x4.mul(row2, tmp1), minor1); + minor2 = SIMD.Float32x4.sub(minor2, SIMD.Float32x4.mul(row1, tmp1)); + // ---- + tmp1 = SIMD.Float32x4.mul(row0, row2); + tmp1 = SIMD.Float32x4.swizzle(tmp1, 1, 0, 3, 2); // 0xB1 = 10110001 + minor1 = SIMD.Float32x4.add(SIMD.Float32x4.mul(row3, tmp1), minor1); + minor3 = SIMD.Float32x4.sub(minor3, SIMD.Float32x4.mul(row1, tmp1)); + tmp1 = SIMD.Float32x4.swizzle(tmp1, 2, 3, 0, 1); // 0x4E = 01001110 + minor1 = SIMD.Float32x4.sub(minor1, SIMD.Float32x4.mul(row3, tmp1)); + minor3 = SIMD.Float32x4.add(SIMD.Float32x4.mul(row1, tmp1), minor3); + // Compute determinant + var det = SIMD.Float32x4.mul(row0, minor0); + det = SIMD.Float32x4.add(SIMD.Float32x4.swizzle(det, 2, 3, 0, 1), det); // 0x4E = 01001110 + det = SIMD.Float32x4.add(SIMD.Float32x4.swizzle(det, 1, 0, 3, 2), det); // 0xB1 = 10110001 + tmp1 = SIMD.Float32x4.reciprocalApproximation(det); + det = SIMD.Float32x4.sub(SIMD.Float32x4.add(tmp1, tmp1), SIMD.Float32x4.mul(det, SIMD.Float32x4.mul(tmp1, tmp1))); + det = SIMD.Float32x4.swizzle(det, 0, 0, 0, 0); + // These shuffles aren't necessary if the faulty transposition is done + // up at the top of this function. + //minor0 =SIMD.Float32x4.swizzle(minor0, 2, 1, 0, 3); + //minor1 =SIMD.Float32x4.swizzle(minor1, 2, 1, 0, 3); + //minor2 =SIMD.Float32x4.swizzle(minor2, 2, 1, 0, 3); + //minor3 =SIMD.Float32x4.swizzle(minor3, 2, 1, 0, 3); + // Compute final values by multiplying with 1/det + SIMD.Float32x4.store(dest, 0, SIMD.Float32x4.mul(det, minor0)); + SIMD.Float32x4.store(dest, 4, SIMD.Float32x4.mul(det, minor1)); + SIMD.Float32x4.store(dest, 8, minor2 = SIMD.Float32x4.mul(det, minor2)); + SIMD.Float32x4.store(dest, 12, SIMD.Float32x4.mul(det, minor3)); + return this; + }; + SIMDMatrix.LookAtLHToRefSIMD = function (eyeRef, targetRef, upRef, result) { + var out = result.m; + var center = SIMD.Float32x4(targetRef.x, targetRef.y, targetRef.z, 0.0); + var eye = SIMD.Float32x4(eyeRef.x, eyeRef.y, eyeRef.z, 0.0); + var up = SIMD.Float32x4(upRef.x, upRef.y, upRef.z, 0.0); + // cc.kmVec3Subtract(f, pCenter, pEye); + var f = SIMD.Float32x4.sub(center, eye); + // cc.kmVec3Normalize(f, f); + var tmp = SIMD.Float32x4.mul(f, f); + tmp = SIMD.Float32x4.add(tmp, SIMD.Float32x4.add(SIMD.Float32x4.swizzle(tmp, 1, 2, 0, 3), SIMD.Float32x4.swizzle(tmp, 2, 0, 1, 3))); + f = SIMD.Float32x4.mul(f, SIMD.Float32x4.reciprocalSqrtApproximation(tmp)); + // cc.kmVec3Assign(up, pUp); + // cc.kmVec3Normalize(up, up); + tmp = SIMD.Float32x4.mul(up, up); + tmp = SIMD.Float32x4.add(tmp, SIMD.Float32x4.add(SIMD.Float32x4.swizzle(tmp, 1, 2, 0, 3), SIMD.Float32x4.swizzle(tmp, 2, 0, 1, 3))); + up = SIMD.Float32x4.mul(up, SIMD.Float32x4.reciprocalSqrtApproximation(tmp)); + // cc.kmVec3Cross(s, f, up); + var s = SIMD.Float32x4.sub(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(f, 1, 2, 0, 3), SIMD.Float32x4.swizzle(up, 2, 0, 1, 3)), SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(f, 2, 0, 1, 3), SIMD.Float32x4.swizzle(up, 1, 2, 0, 3))); + // cc.kmVec3Normalize(s, s); + tmp = SIMD.Float32x4.mul(s, s); + tmp = SIMD.Float32x4.add(tmp, SIMD.Float32x4.add(SIMD.Float32x4.swizzle(tmp, 1, 2, 0, 3), SIMD.Float32x4.swizzle(tmp, 2, 0, 1, 3))); + s = SIMD.Float32x4.mul(s, SIMD.Float32x4.reciprocalSqrtApproximation(tmp)); + // cc.kmVec3Cross(u, s, f); + var u = SIMD.Float32x4.sub(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s, 1, 2, 0, 3), SIMD.Float32x4.swizzle(f, 2, 0, 1, 3)), SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(s, 2, 0, 1, 3), SIMD.Float32x4.swizzle(f, 1, 2, 0, 3))); + // cc.kmVec3Normalize(s, s); + tmp = SIMD.Float32x4.mul(s, s); + tmp = SIMD.Float32x4.add(tmp, SIMD.Float32x4.add(SIMD.Float32x4.swizzle(tmp, 1, 2, 0, 3), SIMD.Float32x4.swizzle(tmp, 2, 0, 1, 3))); + s = SIMD.Float32x4.mul(s, SIMD.Float32x4.reciprocalSqrtApproximation(tmp)); + var zero = SIMD.Float32x4.splat(0.0); + s = SIMD.Float32x4.neg(s); + var tmp01 = SIMD.Float32x4.shuffle(s, u, 0, 1, 4, 5); + var tmp23 = SIMD.Float32x4.shuffle(f, zero, 0, 1, 4, 5); + var a0 = SIMD.Float32x4.shuffle(tmp01, tmp23, 0, 2, 4, 6); + var a1 = SIMD.Float32x4.shuffle(tmp01, tmp23, 1, 3, 5, 7); + var a2 = SIMD.Float32x4.shuffle(SIMD.Float32x4.shuffle(s, u, 2, 3, 6, 7), SIMD.Float32x4.shuffle(f, zero, 2, 3, 6, 7), 0, 2, 4, 6); + var a3 = SIMD.Float32x4(0.0, 0.0, 0.0, 1.0); + var b = SIMD.Float32x4(1.0, 0.0, 0.0, 0.0); + SIMD.Float32x4.store(out, 0, SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(b, 0, 0, 0, 0), a0), SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(b, 1, 1, 1, 1), a1), SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(b, 2, 2, 2, 2), a2), SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(b, 3, 3, 3, 3), a3))))); + b = SIMD.Float32x4(0.0, 1.0, 0.0, 0.0); + SIMD.Float32x4.store(out, 4, SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(b, 0, 0, 0, 0), a0), SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(b, 1, 1, 1, 1), a1), SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(b, 2, 2, 2, 2), a2), SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(b, 3, 3, 3, 3), a3))))); + b = SIMD.Float32x4(0.0, 0.0, 1.0, 0.0); + SIMD.Float32x4.store(out, 8, SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(b, 0, 0, 0, 0), a0), SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(b, 1, 1, 1, 1), a1), SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(b, 2, 2, 2, 2), a2), SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(b, 3, 3, 3, 3), a3))))); + b = SIMD.Float32x4.replaceLane(SIMD.Float32x4.neg(eye), 3, 1.0); + SIMD.Float32x4.store(out, 12, SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(b, 0, 0, 0, 0), a0), SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(b, 1, 1, 1, 1), a1), SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(b, 2, 2, 2, 2), a2), SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(b, 3, 3, 3, 3), a3))))); + }; + return SIMDMatrix; + }()); + var previousMultiplyToArray = BABYLON.Matrix.prototype.multiplyToArray; + var previousInvertToRef = BABYLON.Matrix.prototype.invertToRef; + var previousLookAtLHToRef = BABYLON.Matrix.LookAtLHToRef; + var previousTransformCoordinatesToRef = BABYLON.Vector3.TransformCoordinatesToRef; + var previousTransformCoordinatesFromFloatsToRef = BABYLON.Vector3.TransformCoordinatesFromFloatsToRef; + var SIMDHelper = (function () { + function SIMDHelper() { + } + Object.defineProperty(SIMDHelper, "IsEnabled", { + get: function () { + return SIMDHelper._isEnabled; + }, + enumerable: true, + configurable: true + }); + SIMDHelper.DisableSIMD = function () { + // Replace functions + BABYLON.Matrix.prototype.multiplyToArray = previousMultiplyToArray; + BABYLON.Matrix.prototype.invertToRef = previousInvertToRef; + BABYLON.Matrix.LookAtLHToRef = previousLookAtLHToRef; + BABYLON.Vector3.TransformCoordinatesToRef = previousTransformCoordinatesToRef; + BABYLON.Vector3.TransformCoordinatesFromFloatsToRef = previousTransformCoordinatesFromFloatsToRef; + SIMDHelper._isEnabled = false; + }; + SIMDHelper.EnableSIMD = function () { + if (self.SIMD === undefined) { + return; + } + // check if polyfills needed + if (!self.Math.fround) { + self.Math.fround = (function (array) { return function (x) { + return array[0] = x, array[0]; + }; })(new Float32Array(1)); + } + if (!self.Math.imul) { + self.Math.imul = function (a, b) { + var ah = (a >>> 16) & 0xffff; + var al = a & 0xffff; + var bh = (b >>> 16) & 0xffff; + var bl = b & 0xffff; + // the shift by 0 fixes the sign on the high part + // the final |0 converts the unsigned value into a signed value + return ((al * bl) + (((ah * bl + al * bh) << 16) >>> 0) | 0); + }; + } + // Replace functions + BABYLON.Matrix.prototype.multiplyToArray = SIMDMatrix.prototype.multiplyToArraySIMD; + BABYLON.Matrix.prototype.invertToRef = SIMDMatrix.prototype.invertToRefSIMD; + BABYLON.Matrix.LookAtLHToRef = SIMDMatrix.LookAtLHToRefSIMD; + BABYLON.Vector3.TransformCoordinatesToRef = SIMDVector3.TransformCoordinatesToRefSIMD; + BABYLON.Vector3.TransformCoordinatesFromFloatsToRef = SIMDVector3.TransformCoordinatesFromFloatsToRefSIMD; + SIMDHelper._isEnabled = true; + }; + SIMDHelper._isEnabled = false; + return SIMDHelper; + }()); + BABYLON.SIMDHelper = SIMDHelper; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.math.SIMD.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + /** + * This class describe a rectangle that were added to the map. + * You have access to its coordinates either in pixel or normalized (UV) + */ + var PackedRect = (function () { + function PackedRect(root, parent, pos, size) { + this._pos = pos; + this._size = size; + this._root = root; + this._parent = parent; + this._contentSize = null; + this._bottomNode = null; + this._leftNode = null; + this._initialSize = null; + this._rightNode = null; + } + Object.defineProperty(PackedRect.prototype, "pos", { + /** + * @returns the position of this node into the map + */ + get: function () { + return this._pos; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(PackedRect.prototype, "contentSize", { + /** + * @returns the size of the rectangle this node handles + */ + get: function () { + return this._contentSize; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(PackedRect.prototype, "UVs", { + /** + * Compute the UV of the top/left, top/right, bottom/right, bottom/left points of the rectangle this node handles into the map + * @returns And array of 4 Vector2, containing UV coordinates for the four corners of the Rectangle into the map + */ + get: function () { + return this.getUVsForCustomSize(this._root._size); + }, + enumerable: true, + configurable: true + }); + /** + * You may have allocated the PackedRect using over-provisioning (you allocated more than you need in order to prevent frequent deallocations/reallocations) and then using only a part of the PackRect. + * This method will return the UVs for this part by given the custom size of what you really use + * @param customSize must be less/equal to the allocated size, UV will be compute from this + */ + PackedRect.prototype.getUVsForCustomSize = function (customSize) { + var mainWidth = this._root._size.width; + var mainHeight = this._root._size.height; + var topLeft = new BABYLON.Vector2(this._pos.x / mainWidth, this._pos.y / mainHeight); + var rightBottom = new BABYLON.Vector2((this._pos.x + customSize.width - 1) / mainWidth, (this._pos.y + customSize.height - 1) / mainHeight); + var uvs = new Array(); + uvs.push(topLeft); + uvs.push(new BABYLON.Vector2(rightBottom.x, topLeft.y)); + uvs.push(rightBottom); + uvs.push(new BABYLON.Vector2(topLeft.x, rightBottom.y)); + return uvs; + }; + /** + * Free this rectangle from the map. + * Call this method when you no longer need the rectangle to be in the map. + */ + PackedRect.prototype.freeContent = function () { + if (!this.contentSize) { + return; + } + this._contentSize = null; + // If everything below is also free, reset the whole node, and attempt to reset parents if they also become free + this.attemptDefrag(); + }; + Object.defineProperty(PackedRect.prototype, "isUsed", { + get: function () { + return this._contentSize != null || this._leftNode != null; + }, + enumerable: true, + configurable: true + }); + PackedRect.prototype.findAndSplitNode = function (contentSize) { + var node = this.findNode(contentSize); + // Not enough space... + if (!node) { + return null; + } + node.splitNode(contentSize); + return node; + }; + PackedRect.prototype.findNode = function (size) { + var resNode = null; + // If this node is used, recurse to each of his subNodes to find an available one in its branch + if (this.isUsed) { + if (this._leftNode) { + resNode = this._leftNode.findNode(size); + } + if (!resNode && this._rightNode) { + resNode = this._rightNode.findNode(size); + } + if (!resNode && this._bottomNode) { + resNode = this._bottomNode.findNode(size); + } + } + else if (this._initialSize) { + if ((size.width <= this._initialSize.width) && (size.height <= this._initialSize.height)) { + resNode = this; + } + else { + return null; + } + } + else if ((size.width <= this._size.width) && (size.height <= this._size.height)) { + resNode = this; + } + return resNode; + }; + PackedRect.prototype.splitNode = function (contentSize) { + // If there's no contentSize but an initialSize it means this node were previously allocated, but freed, we need to create a _leftNode as subNode and use to allocate the space we need (and this node will have a right/bottom subNode for the space left as this._initialSize may be greater than contentSize) + if (!this._contentSize && this._initialSize) { + this._contentSize = contentSize.clone(); + this._leftNode = new PackedRect(this._root, this, new BABYLON.Vector2(this._pos.x, this._pos.y), new BABYLON.Size(this._initialSize.width, this._initialSize.height)); + return this._leftNode.splitNode(contentSize); + } + else { + this._contentSize = contentSize.clone(); + this._initialSize = contentSize.clone(); + if (contentSize.width !== this._size.width) { + this._rightNode = new PackedRect(this._root, this, new BABYLON.Vector2(this._pos.x + contentSize.width, this._pos.y), new BABYLON.Size(this._size.width - contentSize.width, contentSize.height)); + } + if (contentSize.height !== this._size.height) { + this._bottomNode = new PackedRect(this._root, this, new BABYLON.Vector2(this._pos.x, this._pos.y + contentSize.height), new BABYLON.Size(this._size.width, this._size.height - contentSize.height)); + } + return this; + } + }; + PackedRect.prototype.attemptDefrag = function () { + if (!this.isUsed && this.isRecursiveFree) { + this.clearNode(); + if (this._parent) { + this._parent.attemptDefrag(); + } + } + }; + PackedRect.prototype.clearNode = function () { + this._initialSize = null; + this._rightNode = null; + this._bottomNode = null; + }; + Object.defineProperty(PackedRect.prototype, "isRecursiveFree", { + get: function () { + return !this.contentSize && (!this._leftNode || this._leftNode.isRecursiveFree) && (!this._rightNode || this._rightNode.isRecursiveFree) && (!this._bottomNode || this._bottomNode.isRecursiveFree); + }, + enumerable: true, + configurable: true + }); + PackedRect.prototype.evalFreeSize = function (size) { + var levelSize = 0; + if (!this.isUsed) { + if (this._initialSize) { + levelSize = this._initialSize.surface; + } + else { + levelSize = this._size.surface; + } + } + if (this._rightNode) { + levelSize += this._rightNode.evalFreeSize(0); + } + if (this._bottomNode) { + levelSize += this._bottomNode.evalFreeSize(0); + } + return levelSize + size; + }; + return PackedRect; + }()); + BABYLON.PackedRect = PackedRect; + /** + * The purpose of this class is to pack several Rectangles into a big map, while trying to fit everything as optimally as possible. + * This class is typically used to build lightmaps, sprite map or to pack several little textures into a big one. + * Note that this class allows allocated Rectangles to be freed: that is the map is dynamically maintained so you can add/remove rectangle based on their life-cycle. + */ + var RectPackingMap = (function (_super) { + __extends(RectPackingMap, _super); + /** + * Create an instance of the object with a dimension using the given size + * @param size The dimension of the rectangle that will contain all the sub ones. + */ + function RectPackingMap(size) { + _super.call(this, null, null, BABYLON.Vector2.Zero(), size); + this._root = this; + } + /** + * Add a rectangle, finding the best location to store it into the map + * @param size the dimension of the rectangle to store + * @return the Node containing the rectangle information, or null if we couldn't find a free spot + */ + RectPackingMap.prototype.addRect = function (size) { + var node = this.findAndSplitNode(size); + return node; + }; + Object.defineProperty(RectPackingMap.prototype, "freeSpace", { + /** + * Return the current space free normalized between [0;1] + * @returns {} + */ + get: function () { + var freeSize = 0; + freeSize = this.evalFreeSize(freeSize); + return freeSize / (this._size.width * this._size.height); + }, + enumerable: true, + configurable: true + }); + return RectPackingMap; + }(PackedRect)); + BABYLON.RectPackingMap = RectPackingMap; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.rectPackingMap.js.map + +var BABYLON; +(function (BABYLON) { + var DynamicFloatArrayElementInfo = (function () { + function DynamicFloatArrayElementInfo() { + } + return DynamicFloatArrayElementInfo; + }()); + BABYLON.DynamicFloatArrayElementInfo = DynamicFloatArrayElementInfo; + /** + * The purpose of this class is to store float32 based elements of a given size (defined by the stride argument) in a dynamic fashion, that is, you can add/free elements. You can then access to a defragmented/packed version of the underlying Float32Array by calling the pack() method. + * The intent is to maintain through time data that will be bound to a WebGlBuffer with the ability to change add/remove elements. + * It was first built to efficiently maintain the WebGlBuffer that contain instancing based data. + * Allocating an Element will return a instance of DynamicFloatArrayElement which contains the offset into the Float32Array of where the element starts, you are then responsible to copy your data using this offset. + * Beware, calling pack() may change the offset of some Entries because this method will defragment the Float32Array to replace empty elements by moving allocated ones at their location. + * This method will return an ArrayBufferView on the existing Float32Array that describes the used elements. Use this View to update the WebGLBuffer and NOT the "buffer" field of the class. The pack() method won't shrink/reallocate the buffer to keep it GC friendly, all the empty space will be put at the end of the buffer, the method just ensure there are no "free holes". + */ + var DynamicFloatArray = (function () { + /** + * Construct an instance of the dynamic float array + * @param stride size of one element in float (i.e. not bytes!) + * @param initialElementCount the number of available entries at construction + */ + function DynamicFloatArray(stride, initialElementCount) { + this.compareValueOffset = null; + this.sortingAscending = true; + this._stride = stride; + this.buffer = new Float32Array(stride * initialElementCount); + this._lastUsed = 0; + this._firstFree = 0; + this._allEntries = new Array(initialElementCount); + this._freeEntries = new Array(initialElementCount); + for (var i = 0; i < initialElementCount; i++) { + var element = new DynamicFloatArrayElementInfo(); + element.offset = i * stride; + this._allEntries[i] = element; + this._freeEntries[initialElementCount - i - 1] = element; + } + } + /** + * Allocate an element in the array. + * @return the element info instance that contains the offset into the main buffer of the element's location. + * Beware, this offset may change when you call pack() + */ + DynamicFloatArray.prototype.allocElement = function () { + if (this._freeEntries.length === 0) { + this._growBuffer(); + } + var el = this._freeEntries.pop(); + this._lastUsed = Math.max(el.offset, this._lastUsed); + if (el.offset === this._firstFree) { + if (this._freeEntries.length > 0) { + this._firstFree = this._freeEntries[this._freeEntries.length - 1].offset; + } + else { + this._firstFree += this._stride; + } + } + return el; + }; + /** + * Free the element corresponding to the given element info + * @param elInfo the element that describe the allocated element + */ + DynamicFloatArray.prototype.freeElement = function (elInfo) { + this._firstFree = Math.min(elInfo.offset, this._firstFree); + this._freeEntries.push(elInfo); + }; + /** + * This method will pack all the used elements into a linear sequence and put all the free space at the end. + * Instances of DynamicFloatArrayElement may have their 'offset' member changed as data could be copied from one location to another, so be sure to read/write your data based on the value inside this member after you called pack(). + * @return the subArray that is the view of the used elements area, you can use it as a source to update a WebGLBuffer + */ + DynamicFloatArray.prototype.pack = function () { + // no free slot? no need to pack + if (this._freeEntries.length === 0) { + return this.buffer; + } + // If the buffer is already packed the last used will always be lower than the first free + // The opposite may not be true, we can have a lastUsed greater than firstFree but the array still packed, because when an element is freed, lastUsed is not updated (for speed reason) so we may have a lastUsed of a freed element. But that's ok, well soon realize this case. + if (this._lastUsed < this._firstFree) { + var elementsBuffer_1 = this.buffer.subarray(0, this._lastUsed + this._stride); + return elementsBuffer_1; + } + var s = this._stride; + // Make sure there's a free element at the very end, we need it to create a range where we'll move the used elements that may appear before + var lastFree = new DynamicFloatArrayElementInfo(); + lastFree.offset = this.totalElementCount * s; + this._freeEntries.push(lastFree); + var sortedFree = this._freeEntries.sort(function (a, b) { return a.offset - b.offset; }); + var sortedAll = this._allEntries.sort(function (a, b) { return a.offset - b.offset; }); + var firstFreeSlotOffset = sortedFree[0].offset; + var freeZoneSize = 1; + var occupiedZoneSize = (this.usedElementCount + 1) * s; + var prevOffset = sortedFree[0].offset; + for (var i = 1; i < sortedFree.length; i++) { + // If the first free (which means everything before is occupied) is greater or equal the occupied zone size, it means everything is defragmented, we can quit + if (firstFreeSlotOffset >= occupiedZoneSize) { + break; + } + var curFree = sortedFree[i]; + var curOffset = curFree.offset; + // Compute the distance between this offset and the previous + var distance = curOffset - prevOffset; + // If the distance is the stride size, they are adjacent, it good, move to the next + if (distance === s) { + // Free zone is one element bigger + ++freeZoneSize; + // as we're about to iterate to the next, the cur becomes the previous... + prevOffset = curOffset; + continue; + } + // Distance is bigger, which means there's x element between the previous free and this one + var usedRange = (distance / s) - 1; + // Two cases the free zone is smaller than the data to move or bigger + // Copy what can fit in the free zone + var curMoveOffset = curOffset - s; + var copyCount = Math.min(freeZoneSize, usedRange); + for (var j = 0; j < copyCount; j++) { + var freeI = firstFreeSlotOffset / s; + var curI = curMoveOffset / s; + var moveEl = sortedAll[curI]; + this._moveElement(moveEl, firstFreeSlotOffset); + var replacedEl = sortedAll[freeI]; + // set the offset of the element we replaced with a value that will make it discard at the end of the method + replacedEl.offset = curMoveOffset; + // Swap the element we moved and the one it replaced in the sorted array to reflect the action we've made + sortedAll[freeI] = moveEl; + sortedAll[curI] = replacedEl; + curMoveOffset -= s; + firstFreeSlotOffset += s; + } + // Free Zone is smaller or equal so it's no longer a free zone, set the new one to the current location + if (freeZoneSize <= usedRange) { + firstFreeSlotOffset = curMoveOffset + s; + freeZoneSize = 1 + copyCount; + } + else { + freeZoneSize = ((curOffset - firstFreeSlotOffset) / s) + 1; + } + // as we're about to iterate to the next, the cur becomes the previous... + prevOffset = curOffset; + } + var elementsBuffer = this.buffer.subarray(0, firstFreeSlotOffset); + this._lastUsed = firstFreeSlotOffset - s; + this._firstFree = firstFreeSlotOffset; + sortedFree.pop(); // Remove the last free because that's the one we added at the start of the method + this._freeEntries = sortedFree.sort(function (a, b) { return b.offset - a.offset; }); + this._allEntries = sortedAll; + return elementsBuffer; + }; + DynamicFloatArray.prototype._moveElement = function (element, destOffset) { + for (var i = 0; i < this._stride; i++) { + this.buffer[destOffset + i] = this.buffer[element.offset + i]; + } + element.offset = destOffset; + }; + DynamicFloatArray.prototype._growBuffer = function () { + // Allocate the new buffer with 50% more entries, copy the content of the current one + var newElCount = Math.floor(this.totalElementCount * 1.5); + var newBuffer = new Float32Array(newElCount * this._stride); + newBuffer.set(this.buffer); + var curCount = this.totalElementCount; + var addedCount = newElCount - this.totalElementCount; + for (var i = 0; i < addedCount; i++) { + var element = new DynamicFloatArrayElementInfo(); + element.offset = (curCount + i) * this.stride; + this._allEntries.push(element); + this._freeEntries[addedCount - i - 1] = element; + } + this._firstFree = curCount * this.stride; + this.buffer = newBuffer; + }; + Object.defineProperty(DynamicFloatArray.prototype, "totalElementCount", { + /** + * Get the total count of entries that can fit in the current buffer + * @returns the elements count + */ + get: function () { + return this._allEntries.length; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(DynamicFloatArray.prototype, "freeElementCount", { + /** + * Get the count of free entries that can still be allocated without resizing the buffer + * @returns the free elements count + */ + get: function () { + return this._freeEntries.length; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(DynamicFloatArray.prototype, "usedElementCount", { + /** + * Get the count of allocated elements + * @returns the allocated elements count + */ + get: function () { + return this._allEntries.length - this._freeEntries.length; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(DynamicFloatArray.prototype, "stride", { + /** + * Return the size of one element in float + * @returns the size in float + */ + get: function () { + return this._stride; + }, + enumerable: true, + configurable: true + }); + DynamicFloatArray.prototype.sort = function () { + var _this = this; + if (!this.compareValueOffset) { + throw new Error("The DynamicFloatArray.sort() method needs a valid 'compareValueOffset' property"); + } + var count = this.usedElementCount; + // Do we have to (re)create the sort table? + if (!this._sortTable || this._sortTable.length < count) { + // Small heuristic... We don't want to allocate totalElementCount right away because it may have 50 for 3 used elements, but on the other side we don't want to allocate just 3 when we just need 2, so double this value to give us some air to breath... + var newCount = Math.min(this.totalElementCount, count * 2); + this._sortTable = new Array(newCount); + } + if (!this._sortedTable || this._sortedTable.length !== count) { + this._sortedTable = new Array(count); + } + // Because, you know... + this.pack(); + //let stride = this.stride; + //for (let i = 0; i < count; i++) { + // let si = this._sortTable[i]; + // if (!si) { + // si = new SortInfo(); + // this._sortTable[i] = si; + // } + // si.entry = this._allEntries[i]; + // si.compareData = this.buffer[si.entry.offset + this.compareValueOffset]; + // si.swapedOffset = null; + // this._sortedTable[i] = si; + //} + var curOffset = 0; + var stride = this.stride; + for (var i = 0; i < count; i++, curOffset += stride) { + var si = this._sortTable[i]; + if (!si) { + si = new SortInfo(); + this._sortTable[i] = si; + } + si.compareData = this.buffer[curOffset + this.compareValueOffset]; + si.offset = curOffset; + si.swapedOffset = null; + this._sortedTable[i] = si; + } + // Let's sort the sorted table, we want to keep a track of the original one (that's why we have two buffers) + if (this.sortingAscending) { + this._sortedTable.sort(function (a, b) { return a.compareData - b.compareData; }); + } + else { + this._sortedTable.sort(function (a, b) { return b.compareData - a.compareData; }); + } + var swapElements = function (src, dst) { + for (var i = 0; i < stride; i++) { + var tps = _this.buffer[dst + i]; + _this.buffer[dst + i] = _this.buffer[src + i]; + _this.buffer[src + i] = tps; + } + }; + // The fun part begin, sortedTable give us the ordered layout to obtain, to get that we have to move elements, but when we move an element: + // it replaces an existing one.I don't want to allocate a new Float32Array and do a raw copy, because it's awful (GC - wise), + // and I still want something with a good algorithm complexity. + // So here's the deal: we are going to swap elements, but we have to track the change of location of the element being replaced, + // we need sortTable for that, it contains the original layout of SortInfo object, not the sorted one. + // The best way is to use an extra field in SortInfo, because potentially every element can be replaced. + // When we'll look for and element, we'll check if its swapedOffset is set, if so we reiterate the operation with the one there + // until we find a SortInfo object without a swapedOffset which means we got the right location + // Yes, we may have to do multiple iterations to find the right location, but hey, it won't be huge: <3 in most cases, and it's better + // than a double allocation of the whole float32Array or a O(n²/2) typical algorithm. + for (var i = 0; i < count; i++) { + // Get the element to move + var sourceSI = this._sortedTable[i]; + var destSI = this._sortTable[i]; + var sourceOff = sourceSI.offset; + // If the source changed location, find the new one + if (sourceSI.swapedOffset) { + // Follow the swapedOffset until there's none, it will mean that curSI contains the new location in its offset member + var curSI = sourceSI; + while (curSI.swapedOffset) { + curSI = this._sortTable[curSI.swapedOffset / stride]; + } + // Finally get the right location + sourceOff = curSI.offset; + } + // Tag the element being replaced with its new location + destSI.swapedOffset = sourceOff; + // Swap elements (only if needed) + if (sourceOff !== destSI.offset) { + swapElements(sourceOff, destSI.offset); + } + // Update the offset in the corresponding DFAE + //sourceSI.entry.offset = destSI.entry.offset; + this._allEntries[sourceSI.offset / stride].offset = destSI.offset; + } + this._allEntries.sort(function (a, b) { return a.offset - b.offset; }); + return true; + }; + return DynamicFloatArray; + }()); + BABYLON.DynamicFloatArray = DynamicFloatArray; + var SortInfo = (function () { + function SortInfo() { + this.compareData = this.offset = this.swapedOffset = null; + } + return SortInfo; + }()); +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.dynamicFloatArray.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + /** + * This class given information about a given character. + */ + var CharInfo = (function () { + function CharInfo() { + } + return CharInfo; + }()); + BABYLON.CharInfo = CharInfo; + var FontTexture = (function (_super) { + __extends(FontTexture, _super); + /** + * Create a new instance of the FontTexture class + * @param name the name of the texture + * @param font the font to use, use the W3C CSS notation + * @param scene the scene that owns the texture + * @param maxCharCount the approximative maximum count of characters that could fit in the texture. This is an approximation because most of the fonts are proportional (each char has its own Width). The 'W' character's width is used to compute the size of the texture based on the given maxCharCount + * @param samplingMode the texture sampling mode + * @param superSample if true the FontTexture will be created with a font of a size twice bigger than the given one but all properties (lineHeight, charWidth, etc.) will be according to the original size. This is made to improve the text quality. + */ + function FontTexture(name, font, scene, maxCharCount, samplingMode, superSample, signedDistanceField) { + if (maxCharCount === void 0) { maxCharCount = 200; } + if (samplingMode === void 0) { samplingMode = BABYLON.Texture.TRILINEAR_SAMPLINGMODE; } + if (superSample === void 0) { superSample = false; } + if (signedDistanceField === void 0) { signedDistanceField = false; } + _super.call(this, null, scene, true, false, samplingMode); + this._charInfos = {}; + this._curCharCount = 0; + this._lastUpdateCharCount = -1; + this._usedCounter = 1; + this.name = name; + this.wrapU = BABYLON.Texture.CLAMP_ADDRESSMODE; + this.wrapV = BABYLON.Texture.CLAMP_ADDRESSMODE; + this._sdfScale = 8; + this._signedDistanceField = signedDistanceField; + this._superSample = false; + // SDF will use supersample no matter what, the resolution is otherwise too poor to produce correct result + if (superSample || signedDistanceField) { + var sfont = this.getSuperSampleFont(font); + if (sfont) { + this._superSample = true; + font = sfont; + } + } + // First canvas creation to determine the size of the texture to create + this._canvas = document.createElement("canvas"); + this._context = this._canvas.getContext("2d"); + this._context.font = font; + this._context.fillStyle = "white"; + this._context.textBaseline = "top"; + this._cachedFontId = null; + var res = this.getFontHeight(font); + this._lineHeightSuper = res.height + 4; + this._lineHeight = this._superSample ? (Math.ceil(this._lineHeightSuper / 2)) : this._lineHeightSuper; + this._offset = res.offset - 1; + this._xMargin = 1 + Math.ceil(this._lineHeightSuper / 15); // Right now this empiric formula seems to work... + this._yMargin = this._xMargin; + var maxCharWidth = this._context.measureText("W").width; + this._spaceWidthSuper = this._context.measureText(" ").width; + this._spaceWidth = this._superSample ? (this._spaceWidthSuper / 2) : this._spaceWidthSuper; + // This is an approximate size, but should always be able to fit at least the maxCharCount + var totalEstSurface = (this._lineHeightSuper + this._yMargin) * (maxCharWidth + this._xMargin) * maxCharCount; + var edge = Math.sqrt(totalEstSurface); + var textSize = Math.pow(2, Math.ceil(Math.log(edge) / Math.log(2))); + // Create the texture that will store the font characters + this._texture = scene.getEngine().createDynamicTexture(textSize, textSize, false, samplingMode); + var textureSize = this.getSize(); + this.hasAlpha = this._signedDistanceField === false; + // Recreate a new canvas with the final size: the one matching the texture (resizing the previous one doesn't work as one would expect...) + this._canvas = document.createElement("canvas"); + this._canvas.width = textureSize.width; + this._canvas.height = textureSize.height; + this._context = this._canvas.getContext("2d"); + this._context.textBaseline = "top"; + this._context.font = font; + this._context.fillStyle = "white"; + this._context.imageSmoothingEnabled = false; + this._context.clearRect(0, 0, textureSize.width, textureSize.height); + // Create a canvas for the signed distance field mode, we only have to store one char, the purpose is to render a char scaled _sdfScale times + // into this 2D context, then get the bitmap data, create the sdf char and push the result in the _context (which hold the whole Font Texture content) + // So you can see this context as an intermediate one, because it is. + if (this._signedDistanceField) { + var sdfC = document.createElement("canvas"); + var s = this._sdfScale; + sdfC.width = maxCharWidth * s; + sdfC.height = this._lineHeightSuper * s; + var sdfCtx = sdfC.getContext("2d"); + sdfCtx.scale(s, s); + sdfCtx.textBaseline = "top"; + sdfCtx.font = font; + sdfCtx.fillStyle = "white"; + sdfCtx.imageSmoothingEnabled = false; + this._sdfCanvas = sdfC; + this._sdfContext = sdfCtx; + } + this._currentFreePosition = BABYLON.Vector2.Zero(); + // Add the basic ASCII based characters + for (var i = 0x20; i < 0x7F; i++) { + var c = String.fromCharCode(i); + this.getChar(c); + } + this.update(); + } + Object.defineProperty(FontTexture.prototype, "isSuperSampled", { + get: function () { + return this._superSample; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(FontTexture.prototype, "isSignedDistanceField", { + get: function () { + return this._signedDistanceField; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(FontTexture.prototype, "spaceWidth", { + get: function () { + return this._spaceWidth; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(FontTexture.prototype, "lineHeight", { + get: function () { + return this._lineHeight; + }, + enumerable: true, + configurable: true + }); + FontTexture.GetCachedFontTexture = function (scene, fontName, supersample, signedDistanceField) { + if (supersample === void 0) { supersample = false; } + if (signedDistanceField === void 0) { signedDistanceField = false; } + var s = scene; + if (!s.__fontTextureCache__) { + s.__fontTextureCache__ = new BABYLON.StringDictionary(); + } + var dic = s.__fontTextureCache__; + var lfn = fontName.toLocaleLowerCase() + (supersample ? "_+SS" : "_-SS") + (signedDistanceField ? "_+SDF" : "_-SDF"); + var ft = dic.get(lfn); + if (ft) { + ++ft._usedCounter; + return ft; + } + ft = new FontTexture(null, fontName, scene, supersample ? 100 : 200, BABYLON.Texture.BILINEAR_SAMPLINGMODE, supersample, signedDistanceField); + ft._cachedFontId = lfn; + dic.add(lfn, ft); + return ft; + }; + FontTexture.ReleaseCachedFontTexture = function (scene, fontName, supersample, signedDistanceField) { + if (supersample === void 0) { supersample = false; } + if (signedDistanceField === void 0) { signedDistanceField = false; } + var s = scene; + var dic = s.__fontTextureCache__; + if (!dic) { + return; + } + var lfn = fontName.toLocaleLowerCase() + (supersample ? "_+SS" : "_-SS") + (signedDistanceField ? "_+SDF" : "_-SDF"); + var font = dic.get(lfn); + if (--font._usedCounter === 0) { + dic.remove(lfn); + font.dispose(); + } + }; + /** + * Make sure the given char is present in the font map. + * @param char the character to get or add + * @return the CharInfo instance corresponding to the given character + */ + FontTexture.prototype.getChar = function (char) { + if (char.length !== 1) { + return null; + } + var info = this._charInfos[char]; + if (info) { + return info; + } + info = new CharInfo(); + var measure = this._context.measureText(char); + var textureSize = this.getSize(); + // we reached the end of the current line? + var width = Math.round(measure.width); + if (this._currentFreePosition.x + width + this._xMargin > textureSize.width) { + this._currentFreePosition.x = 0; + this._currentFreePosition.y += this._lineHeightSuper + this._yMargin; + // No more room? + if (this._currentFreePosition.y > textureSize.height) { + return this.getChar("!"); + } + } + // In sdf mode we render the character in an intermediate 2D context which scale the character this._sdfScale times (which is required to compute the sdf map accurately) + if (this._signedDistanceField) { + this._sdfContext.clearRect(0, 0, this._sdfCanvas.width, this._sdfCanvas.height); + this._sdfContext.fillText(char, 0, -this._offset); + var data = this._sdfContext.getImageData(0, 0, width * this._sdfScale, this._sdfCanvas.height); + var res = this._computeSDFChar(data); + this._context.putImageData(res, this._currentFreePosition.x, this._currentFreePosition.y); + } + else { + // Draw the character in the HTML canvas + this._context.fillText(char, this._currentFreePosition.x, this._currentFreePosition.y - this._offset); + } + // Fill the CharInfo object + info.topLeftUV = new BABYLON.Vector2(this._currentFreePosition.x / textureSize.width, this._currentFreePosition.y / textureSize.height); + info.bottomRightUV = new BABYLON.Vector2((this._currentFreePosition.x + width) / textureSize.width, info.topLeftUV.y + ((this._lineHeightSuper + 2) / textureSize.height)); + if (this._signedDistanceField) { + var off = 1 / textureSize.width; + info.topLeftUV.addInPlace(new BABYLON.Vector2(off, off)); + info.bottomRightUV.addInPlace(new BABYLON.Vector2(off, off)); + } + info.charWidth = this._superSample ? (width / 2) : width; + // Add the info structure + this._charInfos[char] = info; + this._curCharCount++; + // Set the next position + this._currentFreePosition.x += width + this._xMargin; + return info; + }; + FontTexture.prototype._computeSDFChar = function (source) { + var scl = this._sdfScale; + var sw = source.width; + var sh = source.height; + var dw = sw / scl; + var dh = sh / scl; + var roffx = 0; + var roffy = 0; + // We shouldn't look beyond half of the biggest between width and height + var radius = scl; + var br = radius - 1; + var lookupSrc = function (dx, dy, offX, offY, lookVis) { + var sx = dx * scl; + var sy = dy * scl; + // Looking out of the area? return true to make the test going on + if (((sx + offX) < 0) || ((sx + offX) >= sw) || ((sy + offY) < 0) || ((sy + offY) >= sh)) { + return true; + } + // Get the pixel we want + var val = source.data[(((sy + offY) * sw) + (sx + offX)) * 4]; + var res = (val > 0) === lookVis; + if (!res) { + roffx = offX; + roffy = offY; + } + return res; + }; + var lookupArea = function (dx, dy, lookVis) { + // Fast rejection test, if we have the same result in N, S, W, E at a distance which is the radius-1 then it means the data will be consistent in this area. That's because we've scale the rendering of the letter "radius" times, so a letter's pixel will be at least radius wide + if (lookupSrc(dx, dy, 0, br, lookVis) && + lookupSrc(dx, dy, 0, -br, lookVis) && + lookupSrc(dx, dy, -br, 0, lookVis) && + lookupSrc(dx, dy, br, 0, lookVis)) { + return 0; + } + for (var i = 1; i <= radius; i++) { + // Quick test N, S, W, E + if (!lookupSrc(dx, dy, 0, i, lookVis) || !lookupSrc(dx, dy, 0, -i, lookVis) || !lookupSrc(dx, dy, -i, 0, lookVis) || !lookupSrc(dx, dy, i, 0, lookVis)) { + return i * i; // Squared Distance is simple to compute in this case + } + // Test the frame area (except the N, S, W, E spots) from the nearest point from the center to the further one + for (var j = 1; j <= i; j++) { + if (!lookupSrc(dx, dy, -j, i, lookVis) || !lookupSrc(dx, dy, j, i, lookVis) || + !lookupSrc(dx, dy, i, -j, lookVis) || !lookupSrc(dx, dy, i, j, lookVis) || + !lookupSrc(dx, dy, -j, -i, lookVis) || !lookupSrc(dx, dy, j, -i, lookVis) || + !lookupSrc(dx, dy, -i, -j, lookVis) || !lookupSrc(dx, dy, -i, j, lookVis)) { + // We found the nearest texel having and opposite state, store the squared length + var res_1 = (i * i) + (j * j); + var count = 1; + // To improve quality we will sample the texels around this one, so it's 8 samples, we consider only the one having an opposite state, add them to the current res and will will compute the average at the end + if (!lookupSrc(dx, dy, roffx - 1, roffy, lookVis)) { + res_1 += (roffx - 1) * (roffx - 1) + roffy * roffy; + ++count; + } + if (!lookupSrc(dx, dy, roffx + 1, roffy, lookVis)) { + res_1 += (roffx + 1) * (roffx + 1) + roffy * roffy; + ++count; + } + if (!lookupSrc(dx, dy, roffx, roffy - 1, lookVis)) { + res_1 += roffx * roffx + (roffy - 1) * (roffy - 1); + ++count; + } + if (!lookupSrc(dx, dy, roffx, roffy + 1, lookVis)) { + res_1 += roffx * roffx + (roffy + 1) * (roffy + 1); + ++count; + } + if (!lookupSrc(dx, dy, roffx - 1, roffy - 1, lookVis)) { + res_1 += (roffx - 1) * (roffx - 1) + (roffy - 1) * (roffy - 1); + ++count; + } + if (!lookupSrc(dx, dy, roffx + 1, roffy + 1, lookVis)) { + res_1 += (roffx + 1) * (roffx + 1) + (roffy + 1) * (roffy + 1); + ++count; + } + if (!lookupSrc(dx, dy, roffx + 1, roffy - 1, lookVis)) { + res_1 += (roffx + 1) * (roffx + 1) + (roffy - 1) * (roffy - 1); + ++count; + } + if (!lookupSrc(dx, dy, roffx - 1, roffy + 1, lookVis)) { + res_1 += (roffx - 1) * (roffx - 1) + (roffy + 1) * (roffy + 1); + ++count; + } + // Compute the average based on the accumulated distance + return res_1 / count; + } + } + } + return 0; + }; + var tmp = new Array(dw * dh); + for (var y = 0; y < dh; y++) { + for (var x = 0; x < dw; x++) { + var curState = lookupSrc(x, y, 0, 0, true); + var d = lookupArea(x, y, curState); + if (d === 0) { + d = radius * radius * 2; + } + tmp[(y * dw) + x] = curState ? d : -d; + } + } + var res = this._context.createImageData(dw, dh); + var size = dw * dh; + for (var j = 0; j < size; j++) { + var d = tmp[j]; + var sign = (d < 0) ? -1 : 1; + d = Math.sqrt(Math.abs(d)) * sign; + d *= 127.5 / radius; + d += 127.5; + if (d < 0) { + d = 0; + } + else if (d > 255) { + d = 255; + } + d += 0.5; + res.data[j * 4 + 0] = d; + res.data[j * 4 + 1] = d; + res.data[j * 4 + 2] = d; + res.data[j * 4 + 3] = 255; + } + return res; + }; + FontTexture.prototype.measureText = function (text, tabulationSize) { + if (tabulationSize === void 0) { tabulationSize = 4; } + var maxWidth = 0; + var curWidth = 0; + var lineCount = 1; + var charxpos = 0; + // Parse each char of the string + for (var _i = 0, text_1 = text; _i < text_1.length; _i++) { + var char = text_1[_i]; + // Next line feed? + if (char === "\n") { + maxWidth = Math.max(maxWidth, curWidth); + charxpos = 0; + curWidth = 0; + ++lineCount; + continue; + } + // Tabulation ? + if (char === "\t") { + var nextPos = charxpos + tabulationSize; + nextPos = nextPos - (nextPos % tabulationSize); + curWidth += (nextPos - charxpos) * this.spaceWidth; + charxpos = nextPos; + continue; + } + if (char < " ") { + continue; + } + curWidth += this.getChar(char).charWidth; + ++charxpos; + } + maxWidth = Math.max(maxWidth, curWidth); + return new BABYLON.Size(maxWidth, lineCount * this.lineHeight); + }; + FontTexture.prototype.getSuperSampleFont = function (font) { + // Eternal thank to http://stackoverflow.com/a/10136041/802124 + var regex = /^\s*(?=(?:(?:[-a-z]+\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\1|\2|\3)\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\d]+(?:\%|in|[cem]m|ex|p[ctx]))(?:\s*\/\s*(normal|[.\d]+(?:\%|in|[cem]m|ex|p[ctx])))?\s*([-,\"\sa-z]+?)\s*$/; + var res = font.toLocaleLowerCase().match(regex); + if (res == null) { + return null; + } + var size = parseInt(res[4]); + res[4] = (size * 2).toString() + (res[4].match(/\D+/) || []).pop(); + var newFont = ""; + for (var j = 1; j < res.length; j++) { + if (res[j] != null) { + newFont += res[j] + " "; + } + } + return newFont; + }; + // More info here: https://videlais.com/2014/03/16/the-many-and-varied-problems-with-measuring-font-height-for-html5-canvas/ + FontTexture.prototype.getFontHeight = function (font) { + var fontDraw = document.createElement("canvas"); + var ctx = fontDraw.getContext('2d'); + ctx.fillRect(0, 0, fontDraw.width, fontDraw.height); + ctx.textBaseline = 'top'; + ctx.fillStyle = 'white'; + ctx.font = font; + ctx.fillText('jH|', 0, 0); + var pixels = ctx.getImageData(0, 0, fontDraw.width, fontDraw.height).data; + var start = -1; + var end = -1; + for (var row = 0; row < fontDraw.height; row++) { + for (var column = 0; column < fontDraw.width; column++) { + var index = (row * fontDraw.width + column) * 4; + if (pixels[index] === 0) { + if (column === fontDraw.width - 1 && start !== -1) { + end = row; + row = fontDraw.height; + break; + } + continue; + } + else { + if (start === -1) { + start = row; + } + break; + } + } + } + return { height: (end - start) + 1, offset: start - 1 }; + }; + Object.defineProperty(FontTexture.prototype, "canRescale", { + get: function () { + return false; + }, + enumerable: true, + configurable: true + }); + FontTexture.prototype.getContext = function () { + return this._context; + }; + /** + * Call this method when you've call getChar() at least one time, this will update the texture if needed. + * Don't be afraid to call it, if no new character was added, this method simply does nothing. + */ + FontTexture.prototype.update = function () { + // Update only if there's new char added since the previous update + if (this._lastUpdateCharCount < this._curCharCount) { + this.getScene().getEngine().updateDynamicTexture(this._texture, this._canvas, false, true); + this._lastUpdateCharCount = this._curCharCount; + } + }; + // cloning should be prohibited, there's no point to duplicate this texture at all + FontTexture.prototype.clone = function () { + return null; + }; + /** + * For FontTexture retrieved using GetCachedFontTexture, use this method when you transfer this object's lifetime to another party in order to share this resource. + * When the other party is done with this object, decCachedFontTextureCounter must be called. + */ + FontTexture.prototype.incCachedFontTextureCounter = function () { + ++this._usedCounter; + }; + /** + * Use this method only in conjunction with incCachedFontTextureCounter, call it when you no longer need to use this shared resource. + */ + FontTexture.prototype.decCachedFontTextureCounter = function () { + var s = this.getScene(); + var dic = s.__fontTextureCache__; + if (!dic) { + return; + } + if (--this._usedCounter === 0) { + dic.remove(this._cachedFontId); + this.dispose(); + } + }; + return FontTexture; + }(BABYLON.Texture)); + BABYLON.FontTexture = FontTexture; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.fontTexture.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var MapTexture = (function (_super) { + __extends(MapTexture, _super); + function MapTexture(name, scene, size, samplingMode, useMipMap) { + if (samplingMode === void 0) { samplingMode = BABYLON.Texture.TRILINEAR_SAMPLINGMODE; } + if (useMipMap === void 0) { useMipMap = false; } + _super.call(this, null, scene, !useMipMap, false, samplingMode); + this.name = name; + this._size = size; + this.wrapU = BABYLON.Texture.CLAMP_ADDRESSMODE; + this.wrapV = BABYLON.Texture.CLAMP_ADDRESSMODE; + // Create the rectPackMap that will allocate portion of the texture + this._rectPackingMap = new BABYLON.RectPackingMap(new BABYLON.Size(size.width, size.height)); + // Create the texture that will store the content + this._texture = scene.getEngine().createRenderTargetTexture(size, { generateMipMaps: !this.noMipmap, type: BABYLON.Engine.TEXTURETYPE_UNSIGNED_INT }); + } + /** + * Allocate a rectangle of a given size in the texture map + * @param size the size of the rectangle to allocation + * @return the PackedRect instance corresponding to the allocated rect or null is there was not enough space to allocate it. + */ + MapTexture.prototype.allocateRect = function (size) { + return this._rectPackingMap.addRect(size); + }; + /** + * Free a given rectangle from the texture map + * @param rectInfo the instance corresponding to the rect to free. + */ + MapTexture.prototype.freeRect = function (rectInfo) { + if (rectInfo) { + rectInfo.freeContent(); + } + }; + Object.defineProperty(MapTexture.prototype, "freeSpace", { + /** + * Return the available space in the range of [O;1]. 0 being not space left at all, 1 being an empty texture map. + * This is the cumulated space, not the biggest available surface. Due to fragmentation you may not allocate a rect corresponding to this surface. + * @returns {} + */ + get: function () { + return this._rectPackingMap.freeSpace; + }, + enumerable: true, + configurable: true + }); + /** + * Bind the texture to the rendering engine to render in the zone of a given rectangle. + * Use this method when you want to render into the texture map with a clipspace set to the location and size of the given rect. + * Don't forget to call unbindTexture when you're done rendering + * @param rect the zone to render to + * @param clear true to clear the portion's color/depth data + */ + MapTexture.prototype.bindTextureForRect = function (rect, clear) { + return this.bindTextureForPosSize(rect.pos, rect.contentSize, clear); + }; + /** + * Bind the texture to the rendering engine to render in the zone of the given size at the given position. + * Use this method when you want to render into the texture map with a clipspace set to the location and size of the given rect. + * Don't forget to call unbindTexture when you're done rendering + * @param pos the position into the texture + * @param size the portion to fit the clip space to + * @param clear true to clear the portion's color/depth data + */ + MapTexture.prototype.bindTextureForPosSize = function (pos, size, clear) { + var engine = this.getScene().getEngine(); + engine.bindFramebuffer(this._texture); + this._replacedViewport = engine.setDirectViewport(pos.x, pos.y, size.width, size.height); + if (clear) { + // We only want to clear the part of the texture we're binding to, only the scissor can help us to achieve that + engine.scissorClear(pos.x, pos.y, size.width, size.height, new BABYLON.Color4(0, 0, 0, 0)); + } + }; + /** + * Unbind the texture map from the rendering engine. + * Call this method when you're done rendering. A previous call to bindTextureForRect has to be made. + * @param dumpForDebug if set to true the content of the texture map will be dumped to a picture file that will be sent to the internet browser. + */ + MapTexture.prototype.unbindTexture = function (dumpForDebug) { + // Dump ? + if (dumpForDebug) { + BABYLON.Tools.DumpFramebuffer(this._size.width, this._size.height, this.getScene().getEngine()); + } + var engine = this.getScene().getEngine(); + if (this._replacedViewport) { + engine.setViewport(this._replacedViewport); + this._replacedViewport = null; + } + engine.unBindFramebuffer(this._texture); + }; + Object.defineProperty(MapTexture.prototype, "canRescale", { + get: function () { + return false; + }, + enumerable: true, + configurable: true + }); + // Note, I don't know what behavior this method should have: clone the underlying texture/rectPackingMap or just reference them? + // Anyway, there's not much point to use this method for this kind of texture I guess + MapTexture.prototype.clone = function () { + return null; + }; + return MapTexture; + }(BABYLON.Texture)); + BABYLON.MapTexture = MapTexture; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.mapTexture.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var ShaderMaterial = (function (_super) { + __extends(ShaderMaterial, _super); + function ShaderMaterial(name, scene, shaderPath, options) { + _super.call(this, name, scene); + this._textures = {}; + this._textureArrays = {}; + this._floats = {}; + this._floatsArrays = {}; + this._colors3 = {}; + this._colors4 = {}; + this._vectors2 = {}; + this._vectors3 = {}; + this._vectors4 = {}; + this._matrices = {}; + this._matrices3x3 = {}; + this._matrices2x2 = {}; + this._vectors3Arrays = {}; + this._cachedWorldViewMatrix = new BABYLON.Matrix(); + this._shaderPath = shaderPath; + options.needAlphaBlending = options.needAlphaBlending || false; + options.needAlphaTesting = options.needAlphaTesting || false; + options.attributes = options.attributes || ["position", "normal", "uv"]; + options.uniforms = options.uniforms || ["worldViewProjection"]; + options.samplers = options.samplers || []; + options.defines = options.defines || []; + this._options = options; + } + ShaderMaterial.prototype.needAlphaBlending = function () { + return this._options.needAlphaBlending; + }; + ShaderMaterial.prototype.needAlphaTesting = function () { + return this._options.needAlphaTesting; + }; + ShaderMaterial.prototype._checkUniform = function (uniformName) { + if (this._options.uniforms.indexOf(uniformName) === -1) { + this._options.uniforms.push(uniformName); + } + }; + ShaderMaterial.prototype.setTexture = function (name, texture) { + if (this._options.samplers.indexOf(name) === -1) { + this._options.samplers.push(name); + } + this._textures[name] = texture; + return this; + }; + ShaderMaterial.prototype.setTextureArray = function (name, textures) { + if (this._options.samplers.indexOf(name) === -1) { + this._options.samplers.push(name); + } + this._checkUniform(name); + this._textureArrays[name] = textures; + return this; + }; + ShaderMaterial.prototype.setFloat = function (name, value) { + this._checkUniform(name); + this._floats[name] = value; + return this; + }; + ShaderMaterial.prototype.setFloats = function (name, value) { + this._checkUniform(name); + this._floatsArrays[name] = value; + return this; + }; + ShaderMaterial.prototype.setColor3 = function (name, value) { + this._checkUniform(name); + this._colors3[name] = value; + return this; + }; + ShaderMaterial.prototype.setColor4 = function (name, value) { + this._checkUniform(name); + this._colors4[name] = value; + return this; + }; + ShaderMaterial.prototype.setVector2 = function (name, value) { + this._checkUniform(name); + this._vectors2[name] = value; + return this; + }; + ShaderMaterial.prototype.setVector3 = function (name, value) { + this._checkUniform(name); + this._vectors3[name] = value; + return this; + }; + ShaderMaterial.prototype.setVector4 = function (name, value) { + this._checkUniform(name); + this._vectors4[name] = value; + return this; + }; + ShaderMaterial.prototype.setMatrix = function (name, value) { + this._checkUniform(name); + this._matrices[name] = value; + return this; + }; + ShaderMaterial.prototype.setMatrix3x3 = function (name, value) { + this._checkUniform(name); + this._matrices3x3[name] = value; + return this; + }; + ShaderMaterial.prototype.setMatrix2x2 = function (name, value) { + this._checkUniform(name); + this._matrices2x2[name] = value; + return this; + }; + ShaderMaterial.prototype.setArray3 = function (name, value) { + this._checkUniform(name); + this._vectors3Arrays[name] = value; + return this; + }; + ShaderMaterial.prototype._checkCache = function (scene, mesh, useInstances) { + if (!mesh) { + return true; + } + if (this._effect && (this._effect.defines.indexOf("#define INSTANCES") !== -1) !== useInstances) { + return false; + } + return false; + }; + ShaderMaterial.prototype.isReady = function (mesh, useInstances) { + var scene = this.getScene(); + var engine = scene.getEngine(); + if (!this.checkReadyOnEveryCall) { + if (this._renderId === scene.getRenderId()) { + if (this._checkCache(scene, mesh, useInstances)) { + return true; + } + } + } + // Instances + var defines = []; + var fallbacks = new BABYLON.EffectFallbacks(); + if (useInstances) { + defines.push("#define INSTANCES"); + } + for (var index = 0; index < this._options.defines.length; index++) { + defines.push(this._options.defines[index]); + } + // Bones + if (mesh && mesh.useBones && mesh.computeBonesUsingShaders) { + defines.push("#define NUM_BONE_INFLUENCERS " + mesh.numBoneInfluencers); + defines.push("#define BonesPerMesh " + (mesh.skeleton.bones.length + 1)); + fallbacks.addCPUSkinningFallback(0, mesh); + } + // Alpha test + if (engine.getAlphaTesting()) { + defines.push("#define ALPHATEST"); + } + var previousEffect = this._effect; + var join = defines.join("\n"); + this._effect = engine.createEffect(this._shaderPath, this._options.attributes, this._options.uniforms, this._options.samplers, join, fallbacks, this.onCompiled, this.onError); + if (!this._effect.isReady()) { + return false; + } + if (previousEffect !== this._effect) { + scene.resetCachedMaterial(); + } + this._renderId = scene.getRenderId(); + return true; + }; + ShaderMaterial.prototype.bindOnlyWorldMatrix = function (world) { + var scene = this.getScene(); + if (this._options.uniforms.indexOf("world") !== -1) { + this._effect.setMatrix("world", world); + } + if (this._options.uniforms.indexOf("worldView") !== -1) { + world.multiplyToRef(scene.getViewMatrix(), this._cachedWorldViewMatrix); + this._effect.setMatrix("worldView", this._cachedWorldViewMatrix); + } + if (this._options.uniforms.indexOf("worldViewProjection") !== -1) { + this._effect.setMatrix("worldViewProjection", world.multiply(scene.getTransformMatrix())); + } + }; + ShaderMaterial.prototype.bind = function (world, mesh) { + // Std values + this.bindOnlyWorldMatrix(world); + if (this.getScene().getCachedMaterial() !== this) { + if (this._options.uniforms.indexOf("view") !== -1) { + this._effect.setMatrix("view", this.getScene().getViewMatrix()); + } + if (this._options.uniforms.indexOf("projection") !== -1) { + this._effect.setMatrix("projection", this.getScene().getProjectionMatrix()); + } + if (this._options.uniforms.indexOf("viewProjection") !== -1) { + this._effect.setMatrix("viewProjection", this.getScene().getTransformMatrix()); + } + // Bones + BABYLON.MaterialHelper.BindBonesParameters(mesh, this._effect); + var name; + // Texture + for (name in this._textures) { + this._effect.setTexture(name, this._textures[name]); + } + // Texture arrays + for (name in this._textureArrays) { + this._effect.setTextureArray(name, this._textureArrays[name]); + } + // Float + for (name in this._floats) { + this._effect.setFloat(name, this._floats[name]); + } + // Float s + for (name in this._floatsArrays) { + this._effect.setArray(name, this._floatsArrays[name]); + } + // Color3 + for (name in this._colors3) { + this._effect.setColor3(name, this._colors3[name]); + } + // Color4 + for (name in this._colors4) { + var color = this._colors4[name]; + this._effect.setFloat4(name, color.r, color.g, color.b, color.a); + } + // Vector2 + for (name in this._vectors2) { + this._effect.setVector2(name, this._vectors2[name]); + } + // Vector3 + for (name in this._vectors3) { + this._effect.setVector3(name, this._vectors3[name]); + } + // Vector4 + for (name in this._vectors4) { + this._effect.setVector4(name, this._vectors4[name]); + } + // Matrix + for (name in this._matrices) { + this._effect.setMatrix(name, this._matrices[name]); + } + // Matrix 3x3 + for (name in this._matrices3x3) { + this._effect.setMatrix3x3(name, this._matrices3x3[name]); + } + // Matrix 2x2 + for (name in this._matrices2x2) { + this._effect.setMatrix2x2(name, this._matrices2x2[name]); + } + // Vector3Array + for (name in this._vectors3Arrays) { + this._effect.setArray3(name, this._vectors3Arrays[name]); + } + } + _super.prototype.bind.call(this, world, mesh); + }; + ShaderMaterial.prototype.clone = function (name) { + var newShaderMaterial = new ShaderMaterial(name, this.getScene(), this._shaderPath, this._options); + return newShaderMaterial; + }; + ShaderMaterial.prototype.dispose = function (forceDisposeEffect, forceDisposeTextures) { + if (forceDisposeTextures) { + var name; + for (name in this._textures) { + this._textures[name].dispose(); + } + for (name in this._textureArrays) { + var array = this._textureArrays[name]; + for (var index = 0; index < array.length; index++) { + array[index].dispose(); + } + } + } + this._textures = {}; + _super.prototype.dispose.call(this, forceDisposeEffect, forceDisposeTextures); + }; + ShaderMaterial.prototype.serialize = function () { + var serializationObject = BABYLON.SerializationHelper.Serialize(this); + serializationObject.customType = "BABYLON.ShaderMaterial"; + serializationObject.options = this._options; + serializationObject.shaderPath = this._shaderPath; + var name; + // Texture + serializationObject.textures = {}; + for (name in this._textures) { + serializationObject.textures[name] = this._textures[name].serialize(); + } + // Texture arrays + serializationObject.textureArrays = {}; + for (name in this._textureArrays) { + serializationObject.textureArrays[name] = []; + var array = this._textureArrays[name]; + for (var index = 0; index < array.length; index++) { + serializationObject.textureArrays[name].push(array[index].serialize()); + } + } + // Float + serializationObject.floats = {}; + for (name in this._floats) { + serializationObject.floats[name] = this._floats[name]; + } + // Float s + serializationObject.floatArrays = {}; + for (name in this._floatsArrays) { + serializationObject.floatArrays[name] = this._floatsArrays[name]; + } + // Color3 + serializationObject.colors3 = {}; + for (name in this._colors3) { + serializationObject.colors3[name] = this._colors3[name].asArray(); + } + // Color4 + serializationObject.colors4 = {}; + for (name in this._colors4) { + serializationObject.colors4[name] = this._colors4[name].asArray(); + } + // Vector2 + serializationObject.vectors2 = {}; + for (name in this._vectors2) { + serializationObject.vectors2[name] = this._vectors2[name].asArray(); + } + // Vector3 + serializationObject.vectors3 = {}; + for (name in this._vectors3) { + serializationObject.vectors3[name] = this._vectors3[name].asArray(); + } + // Vector4 + serializationObject.vectors4 = {}; + for (name in this._vectors4) { + serializationObject.vectors4[name] = this._vectors4[name].asArray(); + } + // Matrix + serializationObject.matrices = {}; + for (name in this._matrices) { + serializationObject.matrices[name] = this._matrices[name].asArray(); + } + // Matrix 3x3 + serializationObject.matrices3x3 = {}; + for (name in this._matrices3x3) { + serializationObject.matrices3x3[name] = this._matrices3x3[name]; + } + // Matrix 2x2 + serializationObject.matrices2x2 = {}; + for (name in this._matrices2x2) { + serializationObject.matrices2x2[name] = this._matrices2x2[name]; + } + // Vector3Array + serializationObject.vectors3Arrays = {}; + for (name in this._vectors3Arrays) { + serializationObject.vectors3Arrays[name] = this._vectors3Arrays[name]; + } + return serializationObject; + }; + ShaderMaterial.Parse = function (source, scene, rootUrl) { + var material = BABYLON.SerializationHelper.Parse(function () { return new ShaderMaterial(source.name, scene, source.shaderPath, source.options); }, source, scene, rootUrl); + var name; + // Texture + for (name in source.textures) { + material.setTexture(name, BABYLON.Texture.Parse(source.textures[name], scene, rootUrl)); + } + // Texture arrays + for (name in source.textureArrays) { + var array = source.textureArrays[name]; + var textureArray = new Array(); + for (var index = 0; index < array.length; index++) { + textureArray.push(BABYLON.Texture.Parse(array[index], scene, rootUrl)); + } + material.setTextureArray(name, textureArray); + } + // Float + for (name in source.floats) { + material.setFloat(name, source.floats[name]); + } + // Float s + for (name in source.floatsArrays) { + material.setFloats(name, source.floatsArrays[name]); + } + // Color3 + for (name in source.colors3) { + material.setColor3(name, BABYLON.Color3.FromArray(source.colors3[name])); + } + // Color4 + for (name in source.colors4) { + material.setColor4(name, BABYLON.Color4.FromArray(source.colors4[name])); + } + // Vector2 + for (name in source.vectors2) { + material.setVector2(name, BABYLON.Vector2.FromArray(source.vectors2[name])); + } + // Vector3 + for (name in source.vectors3) { + material.setVector3(name, BABYLON.Vector3.FromArray(source.vectors3[name])); + } + // Vector4 + for (name in source.vectors4) { + material.setVector4(name, BABYLON.Vector4.FromArray(source.vectors4[name])); + } + // Matrix + for (name in source.matrices) { + material.setMatrix(name, BABYLON.Matrix.FromArray(source.matrices[name])); + } + // Matrix 3x3 + for (name in source.matrices3x3) { + material.setMatrix3x3(name, source.matrices3x3[name]); + } + // Matrix 2x2 + for (name in source.matrices2x2) { + material.setMatrix2x2(name, source.matrices2x2[name]); + } + // Vector3Array + for (name in source.vectors3Arrays) { + material.setArray3(name, source.vectors3Arrays[name]); + } + return material; + }; + return ShaderMaterial; + }(BABYLON.Material)); + BABYLON.ShaderMaterial = ShaderMaterial; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.shaderMaterial.js.map + +var BABYLON; +(function (BABYLON) { + var Internals; + (function (Internals) { + // Based on demo done by Brandon Jones - http://media.tojicode.com/webgl-samples/dds.html + // All values and structures referenced from: + // http://msdn.microsoft.com/en-us/library/bb943991.aspx/ + var DDS_MAGIC = 0x20534444; + var DDSD_CAPS = 0x1, DDSD_HEIGHT = 0x2, DDSD_WIDTH = 0x4, DDSD_PITCH = 0x8, DDSD_PIXELFORMAT = 0x1000, DDSD_MIPMAPCOUNT = 0x20000, DDSD_LINEARSIZE = 0x80000, DDSD_DEPTH = 0x800000; + var DDSCAPS_COMPLEX = 0x8, DDSCAPS_MIPMAP = 0x400000, DDSCAPS_TEXTURE = 0x1000; + var DDSCAPS2_CUBEMAP = 0x200, DDSCAPS2_CUBEMAP_POSITIVEX = 0x400, DDSCAPS2_CUBEMAP_NEGATIVEX = 0x800, DDSCAPS2_CUBEMAP_POSITIVEY = 0x1000, DDSCAPS2_CUBEMAP_NEGATIVEY = 0x2000, DDSCAPS2_CUBEMAP_POSITIVEZ = 0x4000, DDSCAPS2_CUBEMAP_NEGATIVEZ = 0x8000, DDSCAPS2_VOLUME = 0x200000; + var DDPF_ALPHAPIXELS = 0x1, DDPF_ALPHA = 0x2, DDPF_FOURCC = 0x4, DDPF_RGB = 0x40, DDPF_YUV = 0x200, DDPF_LUMINANCE = 0x20000; + function FourCCToInt32(value) { + return value.charCodeAt(0) + + (value.charCodeAt(1) << 8) + + (value.charCodeAt(2) << 16) + + (value.charCodeAt(3) << 24); + } + function Int32ToFourCC(value) { + return String.fromCharCode(value & 0xff, (value >> 8) & 0xff, (value >> 16) & 0xff, (value >> 24) & 0xff); + } + var FOURCC_DXT1 = FourCCToInt32("DXT1"); + var FOURCC_DXT3 = FourCCToInt32("DXT3"); + var FOURCC_DXT5 = FourCCToInt32("DXT5"); + var headerLengthInt = 31; // The header length in 32 bit ints + // Offsets into the header array + var off_magic = 0; + var off_size = 1; + var off_flags = 2; + var off_height = 3; + var off_width = 4; + var off_mipmapCount = 7; + var off_pfFlags = 20; + var off_pfFourCC = 21; + var off_RGBbpp = 22; + var off_RMask = 23; + var off_GMask = 24; + var off_BMask = 25; + var off_AMask = 26; + var off_caps1 = 27; + var off_caps2 = 28; + ; + var DDSTools = (function () { + function DDSTools() { + } + DDSTools.GetDDSInfo = function (arrayBuffer) { + var header = new Int32Array(arrayBuffer, 0, headerLengthInt); + var mipmapCount = 1; + if (header[off_flags] & DDSD_MIPMAPCOUNT) { + mipmapCount = Math.max(1, header[off_mipmapCount]); + } + return { + width: header[off_width], + height: header[off_height], + mipmapCount: mipmapCount, + isFourCC: (header[off_pfFlags] & DDPF_FOURCC) === DDPF_FOURCC, + isRGB: (header[off_pfFlags] & DDPF_RGB) === DDPF_RGB, + isLuminance: (header[off_pfFlags] & DDPF_LUMINANCE) === DDPF_LUMINANCE, + isCube: (header[off_caps2] & DDSCAPS2_CUBEMAP) === DDSCAPS2_CUBEMAP + }; + }; + DDSTools.GetRGBAArrayBuffer = function (width, height, dataOffset, dataLength, arrayBuffer) { + var byteArray = new Uint8Array(dataLength); + var srcData = new Uint8Array(arrayBuffer); + var index = 0; + for (var y = height - 1; y >= 0; y--) { + for (var x = 0; x < width; x++) { + var srcPos = dataOffset + (x + y * width) * 4; + byteArray[index + 2] = srcData[srcPos]; + byteArray[index + 1] = srcData[srcPos + 1]; + byteArray[index] = srcData[srcPos + 2]; + byteArray[index + 3] = srcData[srcPos + 3]; + index += 4; + } + } + return byteArray; + }; + DDSTools.GetRGBArrayBuffer = function (width, height, dataOffset, dataLength, arrayBuffer) { + var byteArray = new Uint8Array(dataLength); + var srcData = new Uint8Array(arrayBuffer); + var index = 0; + for (var y = height - 1; y >= 0; y--) { + for (var x = 0; x < width; x++) { + var srcPos = dataOffset + (x + y * width) * 3; + byteArray[index + 2] = srcData[srcPos]; + byteArray[index + 1] = srcData[srcPos + 1]; + byteArray[index] = srcData[srcPos + 2]; + index += 3; + } + } + return byteArray; + }; + DDSTools.GetLuminanceArrayBuffer = function (width, height, dataOffset, dataLength, arrayBuffer) { + var byteArray = new Uint8Array(dataLength); + var srcData = new Uint8Array(arrayBuffer); + var index = 0; + for (var y = height - 1; y >= 0; y--) { + for (var x = 0; x < width; x++) { + var srcPos = dataOffset + (x + y * width); + byteArray[index] = srcData[srcPos]; + index++; + } + } + return byteArray; + }; + DDSTools.UploadDDSLevels = function (gl, ext, arrayBuffer, info, loadMipmaps, faces) { + var header = new Int32Array(arrayBuffer, 0, headerLengthInt), fourCC, blockBytes, internalFormat, width, height, dataLength, dataOffset, byteArray, mipmapCount, i; + if (header[off_magic] != DDS_MAGIC) { + BABYLON.Tools.Error("Invalid magic number in DDS header"); + return; + } + if (!info.isFourCC && !info.isRGB && !info.isLuminance) { + BABYLON.Tools.Error("Unsupported format, must contain a FourCC, RGB or LUMINANCE code"); + return; + } + if (info.isFourCC) { + fourCC = header[off_pfFourCC]; + switch (fourCC) { + case FOURCC_DXT1: + blockBytes = 8; + internalFormat = ext.COMPRESSED_RGBA_S3TC_DXT1_EXT; + break; + case FOURCC_DXT3: + blockBytes = 16; + internalFormat = ext.COMPRESSED_RGBA_S3TC_DXT3_EXT; + break; + case FOURCC_DXT5: + blockBytes = 16; + internalFormat = ext.COMPRESSED_RGBA_S3TC_DXT5_EXT; + break; + default: + console.error("Unsupported FourCC code:", Int32ToFourCC(fourCC)); + return; + } + } + mipmapCount = 1; + if (header[off_flags] & DDSD_MIPMAPCOUNT && loadMipmaps !== false) { + mipmapCount = Math.max(1, header[off_mipmapCount]); + } + var bpp = header[off_RGBbpp]; + for (var face = 0; face < faces; face++) { + var sampler = faces === 1 ? gl.TEXTURE_2D : (gl.TEXTURE_CUBE_MAP_POSITIVE_X + face); + width = header[off_width]; + height = header[off_height]; + dataOffset = header[off_size] + 4; + for (i = 0; i < mipmapCount; ++i) { + if (info.isRGB) { + if (bpp === 24) { + dataLength = width * height * 3; + byteArray = DDSTools.GetRGBArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer); + gl.texImage2D(sampler, i, gl.RGB, width, height, 0, gl.RGB, gl.UNSIGNED_BYTE, byteArray); + } + else { + dataLength = width * height * 4; + byteArray = DDSTools.GetRGBAArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer); + gl.texImage2D(sampler, i, gl.RGBA, width, height, 0, gl.RGBA, gl.UNSIGNED_BYTE, byteArray); + } + } + else if (info.isLuminance) { + var unpackAlignment = gl.getParameter(gl.UNPACK_ALIGNMENT); + var unpaddedRowSize = width; + var paddedRowSize = Math.floor((width + unpackAlignment - 1) / unpackAlignment) * unpackAlignment; + dataLength = paddedRowSize * (height - 1) + unpaddedRowSize; + byteArray = DDSTools.GetLuminanceArrayBuffer(width, height, dataOffset, dataLength, arrayBuffer); + gl.texImage2D(sampler, i, gl.LUMINANCE, width, height, 0, gl.LUMINANCE, gl.UNSIGNED_BYTE, byteArray); + } + else { + dataLength = Math.max(4, width) / 4 * Math.max(4, height) / 4 * blockBytes; + byteArray = new Uint8Array(arrayBuffer, dataOffset, dataLength); + gl.compressedTexImage2D(sampler, i, internalFormat, width, height, 0, byteArray); + } + dataOffset += dataLength; + width *= 0.5; + height *= 0.5; + width = Math.max(1.0, width); + height = Math.max(1.0, height); + } + } + }; + return DDSTools; + }()); + Internals.DDSTools = DDSTools; + })(Internals = BABYLON.Internals || (BABYLON.Internals = {})); +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.tools.dds.js.map + +var BABYLON; +(function (BABYLON) { + var CannonJSPlugin = (function () { + function CannonJSPlugin(_useDeltaForWorldStep, iterations) { + if (_useDeltaForWorldStep === void 0) { _useDeltaForWorldStep = true; } + if (iterations === void 0) { iterations = 10; } + this._useDeltaForWorldStep = _useDeltaForWorldStep; + this.name = "CannonJSPlugin"; + this._physicsMaterials = []; + this._fixedTimeStep = 1 / 60; + //See https://github.com/schteppe/cannon.js/blob/gh-pages/demos/collisionFilter.html + this._currentCollisionGroup = 2; + this._minus90X = new BABYLON.Quaternion(-0.7071067811865475, 0, 0, 0.7071067811865475); + this._plus90X = new BABYLON.Quaternion(0.7071067811865475, 0, 0, 0.7071067811865475); + this._tmpPosition = BABYLON.Vector3.Zero(); + this._tmpQuaternion = new BABYLON.Quaternion(); + this._tmpDeltaPosition = BABYLON.Vector3.Zero(); + this._tmpDeltaRotation = new BABYLON.Quaternion(); + this._tmpUnityRotation = new BABYLON.Quaternion(); + if (!this.isSupported()) { + BABYLON.Tools.Error("CannonJS is not available. Please make sure you included the js file."); + return; + } + this.world = new CANNON.World(); + this.world.broadphase = new CANNON.NaiveBroadphase(); + this.world.solver.iterations = iterations; + } + CannonJSPlugin.prototype.setGravity = function (gravity) { + this.world.gravity.copy(gravity); + }; + CannonJSPlugin.prototype.setTimeStep = function (timeStep) { + this._fixedTimeStep = timeStep; + }; + CannonJSPlugin.prototype.executeStep = function (delta, impostors) { + this.world.step(this._fixedTimeStep, this._useDeltaForWorldStep ? delta * 1000 : 0, 3); + }; + CannonJSPlugin.prototype.applyImpulse = function (impostor, force, contactPoint) { + var worldPoint = new CANNON.Vec3(contactPoint.x, contactPoint.y, contactPoint.z); + var impulse = new CANNON.Vec3(force.x, force.y, force.z); + impostor.physicsBody.applyImpulse(impulse, worldPoint); + }; + CannonJSPlugin.prototype.applyForce = function (impostor, force, contactPoint) { + var worldPoint = new CANNON.Vec3(contactPoint.x, contactPoint.y, contactPoint.z); + var impulse = new CANNON.Vec3(force.x, force.y, force.z); + impostor.physicsBody.applyImpulse(impulse, worldPoint); + }; + CannonJSPlugin.prototype.generatePhysicsBody = function (impostor) { + //parent-child relationship. Does this impostor has a parent impostor? + if (impostor.parent) { + if (impostor.physicsBody) { + this.removePhysicsBody(impostor); + //TODO is that needed? + impostor.forceUpdate(); + } + return; + } + //should a new body be created for this impostor? + if (impostor.isBodyInitRequired()) { + var shape = this._createShape(impostor); + //unregister events, if body is being changed + var oldBody = impostor.physicsBody; + if (oldBody) { + this.removePhysicsBody(impostor); + } + //create the body and material + var material = this._addMaterial("mat-" + impostor.uniqueId, impostor.getParam("friction"), impostor.getParam("restitution")); + var bodyCreationObject = { + mass: impostor.getParam("mass"), + material: material + }; + // A simple extend, in case native options were used. + var nativeOptions = impostor.getParam("nativeOptions"); + for (var key in nativeOptions) { + if (nativeOptions.hasOwnProperty(key)) { + bodyCreationObject[key] = nativeOptions[key]; + } + } + impostor.physicsBody = new CANNON.Body(bodyCreationObject); + impostor.physicsBody.addEventListener("collide", impostor.onCollide); + this.world.addEventListener("preStep", impostor.beforeStep); + this.world.addEventListener("postStep", impostor.afterStep); + impostor.physicsBody.addShape(shape); + this.world.add(impostor.physicsBody); + //try to keep the body moving in the right direction by taking old properties. + //Should be tested! + if (oldBody) { + ['force', 'torque', 'velocity', 'angularVelocity'].forEach(function (param) { + impostor.physicsBody[param].copy(oldBody[param]); + }); + } + this._processChildMeshes(impostor); + } + //now update the body's transformation + this._updatePhysicsBodyTransformation(impostor); + }; + CannonJSPlugin.prototype._processChildMeshes = function (mainImpostor) { + var _this = this; + var meshChildren = mainImpostor.object.getChildMeshes ? mainImpostor.object.getChildMeshes() : []; + if (meshChildren.length) { + var processMesh = function (localPosition, mesh) { + var childImpostor = mesh.getPhysicsImpostor(); + if (childImpostor) { + var parent = childImpostor.parent; + if (parent !== mainImpostor) { + var localPosition = mesh.position; + if (childImpostor.physicsBody) { + _this.removePhysicsBody(childImpostor); + childImpostor.physicsBody = null; + } + childImpostor.parent = mainImpostor; + childImpostor.resetUpdateFlags(); + mainImpostor.physicsBody.addShape(_this._createShape(childImpostor), new CANNON.Vec3(localPosition.x, localPosition.y, localPosition.z)); + //Add the mass of the children. + mainImpostor.physicsBody.mass += childImpostor.getParam("mass"); + } + } + mesh.getChildMeshes().forEach(processMesh.bind(_this, mesh.position)); + }; + meshChildren.forEach(processMesh.bind(this, BABYLON.Vector3.Zero())); + } + }; + CannonJSPlugin.prototype.removePhysicsBody = function (impostor) { + impostor.physicsBody.removeEventListener("collide", impostor.onCollide); + this.world.removeEventListener("preStep", impostor.beforeStep); + this.world.removeEventListener("postStep", impostor.afterStep); + this.world.remove(impostor.physicsBody); + }; + CannonJSPlugin.prototype.generateJoint = function (impostorJoint) { + var mainBody = impostorJoint.mainImpostor.physicsBody; + var connectedBody = impostorJoint.connectedImpostor.physicsBody; + if (!mainBody || !connectedBody) { + return; + } + var constraint; + var jointData = impostorJoint.joint.jointData; + //TODO - https://github.com/schteppe/cannon.js/blob/gh-pages/demos/collisionFilter.html + var constraintData = { + pivotA: jointData.mainPivot ? new CANNON.Vec3().copy(jointData.mainPivot) : null, + pivotB: jointData.connectedPivot ? new CANNON.Vec3().copy(jointData.connectedPivot) : null, + axisA: jointData.mainAxis ? new CANNON.Vec3().copy(jointData.mainAxis) : null, + axisB: jointData.connectedAxis ? new CANNON.Vec3().copy(jointData.connectedAxis) : null, + maxForce: jointData.nativeParams.maxForce, + collideConnected: !!jointData.collision + }; + //Not needed, Cannon has a collideConnected flag + /*if (!jointData.collision) { + //add 1st body to a collision group of its own, if it is not in 1 + if (mainBody.collisionFilterGroup === 1) { + mainBody.collisionFilterGroup = this._currentCollisionGroup; + this._currentCollisionGroup <<= 1; + } + if (connectedBody.collisionFilterGroup === 1) { + connectedBody.collisionFilterGroup = this._currentCollisionGroup; + this._currentCollisionGroup <<= 1; + } + //add their mask to the collisionFilterMask of each other: + connectedBody.collisionFilterMask = connectedBody.collisionFilterMask | ~mainBody.collisionFilterGroup; + mainBody.collisionFilterMask = mainBody.collisionFilterMask | ~connectedBody.collisionFilterGroup; + }*/ + switch (impostorJoint.joint.type) { + case BABYLON.PhysicsJoint.HingeJoint: + case BABYLON.PhysicsJoint.Hinge2Joint: + constraint = new CANNON.HingeConstraint(mainBody, connectedBody, constraintData); + break; + case BABYLON.PhysicsJoint.DistanceJoint: + constraint = new CANNON.DistanceConstraint(mainBody, connectedBody, jointData.maxDistance || 2); + break; + case BABYLON.PhysicsJoint.SpringJoint: + var springData = jointData; + constraint = new CANNON.Spring(mainBody, connectedBody, { + restLength: springData.length, + stiffness: springData.stiffness, + damping: springData.damping, + localAnchorA: constraintData.pivotA, + localAnchorB: constraintData.pivotB + }); + break; + case BABYLON.PhysicsJoint.LockJoint: + constraint = new CANNON.LockConstraint(mainBody, connectedBody, constraintData); + break; + case BABYLON.PhysicsJoint.PointToPointJoint: + case BABYLON.PhysicsJoint.BallAndSocketJoint: + default: + constraint = new CANNON.PointToPointConstraint(mainBody, constraintData.pivotA, connectedBody, constraintData.pivotA, constraintData.maxForce); + break; + } + //set the collideConnected flag after the creation, since DistanceJoint ignores it. + constraint.collideConnected = !!jointData.collision; + impostorJoint.joint.physicsJoint = constraint; + //don't add spring as constraint, as it is not one. + if (impostorJoint.joint.type !== BABYLON.PhysicsJoint.SpringJoint) { + this.world.addConstraint(constraint); + } + else { + impostorJoint.mainImpostor.registerAfterPhysicsStep(function () { + constraint.applyForce(); + }); + } + }; + CannonJSPlugin.prototype.removeJoint = function (impostorJoint) { + this.world.removeConstraint(impostorJoint.joint.physicsJoint); + }; + CannonJSPlugin.prototype._addMaterial = function (name, friction, restitution) { + var index; + var mat; + for (index = 0; index < this._physicsMaterials.length; index++) { + mat = this._physicsMaterials[index]; + if (mat.friction === friction && mat.restitution === restitution) { + return mat; + } + } + var currentMat = new CANNON.Material(name); + currentMat.friction = friction; + currentMat.restitution = restitution; + this._physicsMaterials.push(currentMat); + return currentMat; + }; + CannonJSPlugin.prototype._checkWithEpsilon = function (value) { + return value < BABYLON.PhysicsEngine.Epsilon ? BABYLON.PhysicsEngine.Epsilon : value; + }; + CannonJSPlugin.prototype._createShape = function (impostor) { + var object = impostor.object; + var returnValue; + var extendSize = impostor.getObjectExtendSize(); + switch (impostor.type) { + case BABYLON.PhysicsEngine.SphereImpostor: + var radiusX = extendSize.x; + var radiusY = extendSize.y; + var radiusZ = extendSize.z; + returnValue = new CANNON.Sphere(Math.max(this._checkWithEpsilon(radiusX), this._checkWithEpsilon(radiusY), this._checkWithEpsilon(radiusZ)) / 2); + break; + //TMP also for cylinder - TODO Cannon supports cylinder natively. + case BABYLON.PhysicsImpostor.CylinderImpostor: + returnValue = new CANNON.Cylinder(this._checkWithEpsilon(extendSize.x) / 2, this._checkWithEpsilon(extendSize.x) / 2, this._checkWithEpsilon(extendSize.y), 16); + break; + case BABYLON.PhysicsImpostor.BoxImpostor: + var box = extendSize.scale(0.5); + returnValue = new CANNON.Box(new CANNON.Vec3(this._checkWithEpsilon(box.x), this._checkWithEpsilon(box.y), this._checkWithEpsilon(box.z))); + break; + case BABYLON.PhysicsImpostor.PlaneImpostor: + BABYLON.Tools.Warn("Attention, PlaneImposter might not behave as you expect. Consider using BoxImposter instead"); + returnValue = new CANNON.Plane(); + break; + case BABYLON.PhysicsImpostor.MeshImpostor: + var rawVerts = object.getVerticesData ? object.getVerticesData(BABYLON.VertexBuffer.PositionKind) : []; + var rawFaces = object.getIndices ? object.getIndices() : []; + BABYLON.Tools.Warn("MeshImpostor only collides against spheres."); + returnValue = new CANNON.Trimesh(rawVerts, rawFaces); + break; + case BABYLON.PhysicsImpostor.HeightmapImpostor: + returnValue = this._createHeightmap(object); + break; + case BABYLON.PhysicsImpostor.ParticleImpostor: + returnValue = new CANNON.Particle(); + break; + } + return returnValue; + }; + CannonJSPlugin.prototype._createHeightmap = function (object, pointDepth) { + var pos = object.getVerticesData(BABYLON.VertexBuffer.PositionKind); + var matrix = []; + //For now pointDepth will not be used and will be automatically calculated. + //Future reference - try and find the best place to add a reference to the pointDepth variable. + var arraySize = pointDepth || ~~(Math.sqrt(pos.length / 3) - 1); + var dim = Math.min(object.getBoundingInfo().boundingBox.extendSize.x, object.getBoundingInfo().boundingBox.extendSize.z); + var elementSize = dim * 2 / arraySize; + var minY = object.getBoundingInfo().boundingBox.extendSize.y; + for (var i = 0; i < pos.length; i = i + 3) { + var x = Math.round((pos[i + 0]) / elementSize + arraySize / 2); + var z = Math.round(((pos[i + 2]) / elementSize - arraySize / 2) * -1); + var y = pos[i + 1] + minY; + if (!matrix[x]) { + matrix[x] = []; + } + if (!matrix[x][z]) { + matrix[x][z] = y; + } + matrix[x][z] = Math.max(y, matrix[x][z]); + } + for (var x = 0; x <= arraySize; ++x) { + if (!matrix[x]) { + var loc = 1; + while (!matrix[(x + loc) % arraySize]) { + loc++; + } + matrix[x] = matrix[(x + loc) % arraySize].slice(); + } + for (var z = 0; z <= arraySize; ++z) { + if (!matrix[x][z]) { + var loc = 1; + var newValue; + while (newValue === undefined) { + newValue = matrix[x][(z + loc++) % arraySize]; + } + matrix[x][z] = newValue; + } + } + } + var shape = new CANNON.Heightfield(matrix, { + elementSize: elementSize + }); + //For future reference, needed for body transformation + shape.minY = minY; + return shape; + }; + CannonJSPlugin.prototype._updatePhysicsBodyTransformation = function (impostor) { + var object = impostor.object; + //make sure it is updated... + object.computeWorldMatrix && object.computeWorldMatrix(true); + // The delta between the mesh position and the mesh bounding box center + var center = impostor.getObjectCenter(); + var extendSize = impostor.getObjectExtendSize(); + this._tmpDeltaPosition.copyFrom(object.position.subtract(center)); + this._tmpPosition.copyFrom(center); + var quaternion = object.rotationQuaternion; + //is shape is a plane or a heightmap, it must be rotated 90 degs in the X axis. + if (impostor.type === BABYLON.PhysicsImpostor.PlaneImpostor || impostor.type === BABYLON.PhysicsImpostor.HeightmapImpostor || impostor.type === BABYLON.PhysicsImpostor.CylinderImpostor) { + //-90 DEG in X, precalculated + quaternion = quaternion.multiply(this._minus90X); + //Invert! (Precalculated, 90 deg in X) + //No need to clone. this will never change. + impostor.setDeltaRotation(this._plus90X); + } + //If it is a heightfield, if should be centered. + if (impostor.type === BABYLON.PhysicsEngine.HeightmapImpostor) { + var mesh = object; + //calculate the correct body position: + var rotationQuaternion = mesh.rotationQuaternion; + mesh.rotationQuaternion = this._tmpUnityRotation; + mesh.computeWorldMatrix(true); + //get original center with no rotation + var c = center.clone(); + var oldPivot = mesh.getPivotMatrix() || BABYLON.Matrix.Translation(0, 0, 0); + //rotation is back + mesh.rotationQuaternion = rotationQuaternion; + //calculate the new center using a pivot (since Cannon.js doesn't center height maps) + var p = BABYLON.Matrix.Translation(mesh.getBoundingInfo().boundingBox.extendSize.x, 0, -mesh.getBoundingInfo().boundingBox.extendSize.z); + mesh.setPivotMatrix(p); + mesh.computeWorldMatrix(true); + //calculate the translation + var translation = mesh.getBoundingInfo().boundingBox.center.subtract(center).subtract(mesh.position).negate(); + this._tmpPosition.copyFromFloats(translation.x, translation.y - mesh.getBoundingInfo().boundingBox.extendSize.y, translation.z); + //add it inverted to the delta + this._tmpDeltaPosition.copyFrom(mesh.getBoundingInfo().boundingBox.center.subtract(c)); + this._tmpDeltaPosition.y += mesh.getBoundingInfo().boundingBox.extendSize.y; + mesh.setPivotMatrix(oldPivot); + mesh.computeWorldMatrix(true); + } + else if (impostor.type === BABYLON.PhysicsEngine.MeshImpostor) { + this._tmpDeltaPosition.copyFromFloats(0, 0, 0); + this._tmpPosition.copyFrom(object.position); + } + impostor.setDeltaPosition(this._tmpDeltaPosition); + //Now update the impostor object + impostor.physicsBody.position.copy(this._tmpPosition); + impostor.physicsBody.quaternion.copy(quaternion); + }; + CannonJSPlugin.prototype.setTransformationFromPhysicsBody = function (impostor) { + impostor.object.position.copyFrom(impostor.physicsBody.position); + impostor.object.rotationQuaternion.copyFrom(impostor.physicsBody.quaternion); + }; + CannonJSPlugin.prototype.setPhysicsBodyTransformation = function (impostor, newPosition, newRotation) { + impostor.physicsBody.position.copy(newPosition); + impostor.physicsBody.quaternion.copy(newRotation); + }; + CannonJSPlugin.prototype.isSupported = function () { + return window.CANNON !== undefined; + }; + CannonJSPlugin.prototype.setLinearVelocity = function (impostor, velocity) { + impostor.physicsBody.velocity.copy(velocity); + }; + CannonJSPlugin.prototype.setAngularVelocity = function (impostor, velocity) { + impostor.physicsBody.angularVelocity.copy(velocity); + }; + CannonJSPlugin.prototype.getLinearVelocity = function (impostor) { + var v = impostor.physicsBody.velocity; + if (!v) + return null; + return new BABYLON.Vector3(v.x, v.y, v.z); + }; + CannonJSPlugin.prototype.getAngularVelocity = function (impostor) { + var v = impostor.physicsBody.angularVelocity; + if (!v) + return null; + return new BABYLON.Vector3(v.x, v.y, v.z); + }; + CannonJSPlugin.prototype.setBodyMass = function (impostor, mass) { + impostor.physicsBody.mass = mass; + impostor.physicsBody.updateMassProperties(); + }; + CannonJSPlugin.prototype.sleepBody = function (impostor) { + impostor.physicsBody.sleep(); + }; + CannonJSPlugin.prototype.wakeUpBody = function (impostor) { + impostor.physicsBody.wakeUp(); + }; + CannonJSPlugin.prototype.updateDistanceJoint = function (joint, maxDistance, minDistance) { + joint.physicsJoint.distance = maxDistance; + }; + CannonJSPlugin.prototype.enableMotor = function (joint, motorIndex) { + if (!motorIndex) { + joint.physicsJoint.enableMotor(); + } + }; + CannonJSPlugin.prototype.disableMotor = function (joint, motorIndex) { + if (!motorIndex) { + joint.physicsJoint.disableMotor(); + } + }; + CannonJSPlugin.prototype.setMotor = function (joint, speed, maxForce, motorIndex) { + if (!motorIndex) { + joint.physicsJoint.enableMotor(); + joint.physicsJoint.setMotorSpeed(speed); + if (maxForce) { + this.setLimit(joint, maxForce); + } + } + }; + CannonJSPlugin.prototype.setLimit = function (joint, upperLimit, lowerLimit) { + joint.physicsJoint.motorEquation.maxForce = upperLimit; + joint.physicsJoint.motorEquation.minForce = lowerLimit === void 0 ? -upperLimit : lowerLimit; + }; + CannonJSPlugin.prototype.dispose = function () { + //nothing to do, actually. + }; + return CannonJSPlugin; + }()); + BABYLON.CannonJSPlugin = CannonJSPlugin; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.cannonJSPlugin.js.map + +var BABYLON; +(function (BABYLON) { + var OimoJSPlugin = (function () { + function OimoJSPlugin(iterations) { + this.name = "OimoJSPlugin"; + this._tmpImpostorsArray = []; + this._tmpPositionVector = BABYLON.Vector3.Zero(); + this.world = new OIMO.World(1 / 60, 2, iterations, true); + this.world.worldscale(1); + this.world.clear(); + //making sure no stats are calculated + this.world.isNoStat = true; + } + OimoJSPlugin.prototype.setGravity = function (gravity) { + this.world.gravity.copy(gravity); + }; + OimoJSPlugin.prototype.setTimeStep = function (timeStep) { + this.world.timeStep = timeStep; + }; + OimoJSPlugin.prototype.executeStep = function (delta, impostors) { + var _this = this; + impostors.forEach(function (impostor) { + impostor.beforeStep(); + }); + this.world.step(); + impostors.forEach(function (impostor) { + impostor.afterStep(); + //update the ordered impostors array + _this._tmpImpostorsArray[impostor.uniqueId] = impostor; + }); + //check for collisions + var contact = this.world.contacts; + while (contact !== null) { + if (contact.touching && !contact.body1.sleeping && !contact.body2.sleeping) { + contact = contact.next; + continue; + } + //is this body colliding with any other? get the impostor + var mainImpostor = this._tmpImpostorsArray[+contact.body1.name]; + var collidingImpostor = this._tmpImpostorsArray[+contact.body2.name]; + if (!mainImpostor || !collidingImpostor) { + contact = contact.next; + continue; + } + mainImpostor.onCollide({ body: collidingImpostor.physicsBody }); + collidingImpostor.onCollide({ body: mainImpostor.physicsBody }); + contact = contact.next; + } + }; + OimoJSPlugin.prototype.applyImpulse = function (impostor, force, contactPoint) { + var mass = impostor.physicsBody.massInfo.mass; + impostor.physicsBody.applyImpulse(contactPoint.scale(OIMO.INV_SCALE), force.scale(OIMO.INV_SCALE * mass)); + }; + OimoJSPlugin.prototype.applyForce = function (impostor, force, contactPoint) { + BABYLON.Tools.Warn("Oimo doesn't support applying force. Using impule instead."); + this.applyImpulse(impostor, force, contactPoint); + }; + OimoJSPlugin.prototype.generatePhysicsBody = function (impostor) { + var _this = this; + //parent-child relationship. Does this impostor has a parent impostor? + if (impostor.parent) { + if (impostor.physicsBody) { + this.removePhysicsBody(impostor); + //TODO is that needed? + impostor.forceUpdate(); + } + return; + } + if (impostor.isBodyInitRequired()) { + var bodyConfig = { + name: impostor.uniqueId, + //Oimo must have mass, also for static objects. + config: [impostor.getParam("mass") || 1, impostor.getParam("friction"), impostor.getParam("restitution")], + size: [], + type: [], + pos: [], + rot: [], + move: impostor.getParam("mass") !== 0, + //Supporting older versions of Oimo + world: this.world + }; + var impostors = [impostor]; + var addToArray = function (parent) { + if (!parent.getChildMeshes) + return; + parent.getChildMeshes().forEach(function (m) { + if (m.physicsImpostor) { + impostors.push(m.physicsImpostor); + m.physicsImpostor._init(); + } + }); + }; + addToArray(impostor.object); + var checkWithEpsilon_1 = function (value) { + return Math.max(value, BABYLON.PhysicsEngine.Epsilon); + }; + impostors.forEach(function (i) { + //get the correct bounding box + var oldQuaternion = i.object.rotationQuaternion; + var rot = new OIMO.Euler().setFromQuaternion({ + x: impostor.object.rotationQuaternion.x, + y: impostor.object.rotationQuaternion.y, + z: impostor.object.rotationQuaternion.z, + s: impostor.object.rotationQuaternion.w + }); + var extendSize = i.getObjectExtendSize(); + if (i === impostor) { + var center = impostor.getObjectCenter(); + impostor.object.position.subtractToRef(center, _this._tmpPositionVector); + //Can also use Array.prototype.push.apply + bodyConfig.pos.push(center.x); + bodyConfig.pos.push(center.y); + bodyConfig.pos.push(center.z); + //tmp solution + bodyConfig.rot.push(rot.x / (OIMO.degtorad || OIMO.TO_RAD)); + bodyConfig.rot.push(rot.y / (OIMO.degtorad || OIMO.TO_RAD)); + bodyConfig.rot.push(rot.z / (OIMO.degtorad || OIMO.TO_RAD)); + } + else { + bodyConfig.pos.push(i.object.position.x); + bodyConfig.pos.push(i.object.position.y); + bodyConfig.pos.push(i.object.position.z); + //tmp solution until https://github.com/lo-th/Oimo.js/pull/37 is merged + bodyConfig.rot.push(0); + bodyConfig.rot.push(0); + bodyConfig.rot.push(0); + } + // register mesh + switch (i.type) { + case BABYLON.PhysicsImpostor.ParticleImpostor: + BABYLON.Tools.Warn("No Particle support in Oimo.js. using SphereImpostor instead"); + case BABYLON.PhysicsImpostor.SphereImpostor: + var radiusX = extendSize.x; + var radiusY = extendSize.y; + var radiusZ = extendSize.z; + var size = Math.max(checkWithEpsilon_1(radiusX), checkWithEpsilon_1(radiusY), checkWithEpsilon_1(radiusZ)) / 2; + bodyConfig.type.push('sphere'); + //due to the way oimo works with compounds, add 3 times + bodyConfig.size.push(size); + bodyConfig.size.push(size); + bodyConfig.size.push(size); + break; + case BABYLON.PhysicsImpostor.CylinderImpostor: + var sizeX = checkWithEpsilon_1(extendSize.x) / 2; + var sizeY = checkWithEpsilon_1(extendSize.y); + bodyConfig.type.push('cylinder'); + bodyConfig.size.push(sizeX); + bodyConfig.size.push(sizeY); + //due to the way oimo works with compounds, add one more value. + bodyConfig.size.push(sizeY); + break; + case BABYLON.PhysicsImpostor.PlaneImpostor: + case BABYLON.PhysicsImpostor.BoxImpostor: + default: + var sizeX = checkWithEpsilon_1(extendSize.x); + var sizeY = checkWithEpsilon_1(extendSize.y); + var sizeZ = checkWithEpsilon_1(extendSize.z); + bodyConfig.type.push('box'); + bodyConfig.size.push(sizeX); + bodyConfig.size.push(sizeY); + bodyConfig.size.push(sizeZ); + break; + } + //actually not needed, but hey... + i.object.rotationQuaternion = oldQuaternion; + }); + impostor.physicsBody = new OIMO.Body(bodyConfig).body; //this.world.add(bodyConfig); + } + else { + this._tmpPositionVector.copyFromFloats(0, 0, 0); + } + impostor.setDeltaPosition(this._tmpPositionVector); + //this._tmpPositionVector.addInPlace(impostor.mesh.getBoundingInfo().boundingBox.center); + //this.setPhysicsBodyTransformation(impostor, this._tmpPositionVector, impostor.mesh.rotationQuaternion); + }; + OimoJSPlugin.prototype.removePhysicsBody = function (impostor) { + //impostor.physicsBody.dispose(); + //Same as : (older oimo versions) + this.world.removeRigidBody(impostor.physicsBody); + }; + OimoJSPlugin.prototype.generateJoint = function (impostorJoint) { + var mainBody = impostorJoint.mainImpostor.physicsBody; + var connectedBody = impostorJoint.connectedImpostor.physicsBody; + if (!mainBody || !connectedBody) { + return; + } + var jointData = impostorJoint.joint.jointData; + var options = jointData.nativeParams || {}; + var type; + var nativeJointData = { + body1: mainBody, + body2: connectedBody, + axe1: options.axe1 || (jointData.mainAxis ? jointData.mainAxis.asArray() : null), + axe2: options.axe2 || (jointData.connectedAxis ? jointData.connectedAxis.asArray() : null), + pos1: options.pos1 || (jointData.mainPivot ? jointData.mainPivot.asArray() : null), + pos2: options.pos2 || (jointData.connectedPivot ? jointData.connectedPivot.asArray() : null), + min: options.min, + max: options.max, + collision: options.collision || jointData.collision, + spring: options.spring, + //supporting older version of Oimo + world: this.world + }; + switch (impostorJoint.joint.type) { + case BABYLON.PhysicsJoint.BallAndSocketJoint: + type = "jointBall"; + break; + case BABYLON.PhysicsJoint.SpringJoint: + BABYLON.Tools.Warn("Oimo.js doesn't support Spring Constraint. Simulating using DistanceJoint instead"); + var springData = jointData; + nativeJointData.min = springData.length || nativeJointData.min; + //Max should also be set, just make sure it is at least min + nativeJointData.max = Math.max(nativeJointData.min, nativeJointData.max); + case BABYLON.PhysicsJoint.DistanceJoint: + type = "jointDistance"; + nativeJointData.max = jointData.maxDistance; + break; + case BABYLON.PhysicsJoint.PrismaticJoint: + type = "jointPrisme"; + break; + case BABYLON.PhysicsJoint.SliderJoint: + type = "jointSlide"; + break; + case BABYLON.PhysicsJoint.WheelJoint: + type = "jointWheel"; + break; + case BABYLON.PhysicsJoint.HingeJoint: + default: + type = "jointHinge"; + break; + } + nativeJointData.type = type; + impostorJoint.joint.physicsJoint = new OIMO.Link(nativeJointData).joint; //this.world.add(nativeJointData); + }; + OimoJSPlugin.prototype.removeJoint = function (impostorJoint) { + //Bug in Oimo prevents us from disposing a joint in the playground + //joint.joint.physicsJoint.dispose(); + //So we will bruteforce it! + try { + this.world.removeJoint(impostorJoint.joint.physicsJoint); + } + catch (e) { + BABYLON.Tools.Warn(e); + } + }; + OimoJSPlugin.prototype.isSupported = function () { + return OIMO !== undefined; + }; + OimoJSPlugin.prototype.setTransformationFromPhysicsBody = function (impostor) { + if (!impostor.physicsBody.sleeping) { + //TODO check that + if (impostor.physicsBody.shapes.next) { + var parentShape = this._getLastShape(impostor.physicsBody); + impostor.object.position.x = parentShape.position.x * OIMO.WORLD_SCALE; + impostor.object.position.y = parentShape.position.y * OIMO.WORLD_SCALE; + impostor.object.position.z = parentShape.position.z * OIMO.WORLD_SCALE; + } + else { + impostor.object.position.copyFrom(impostor.physicsBody.getPosition()); + } + impostor.object.rotationQuaternion.copyFrom(impostor.physicsBody.getQuaternion()); + impostor.object.rotationQuaternion.normalize(); + } + }; + OimoJSPlugin.prototype.setPhysicsBodyTransformation = function (impostor, newPosition, newRotation) { + var body = impostor.physicsBody; + body.position.init(newPosition.x * OIMO.INV_SCALE, newPosition.y * OIMO.INV_SCALE, newPosition.z * OIMO.INV_SCALE); + body.orientation.init(newRotation.w, newRotation.x, newRotation.y, newRotation.z); + body.syncShapes(); + body.awake(); + }; + OimoJSPlugin.prototype._getLastShape = function (body) { + var lastShape = body.shapes; + while (lastShape.next) { + lastShape = lastShape.next; + } + return lastShape; + }; + OimoJSPlugin.prototype.setLinearVelocity = function (impostor, velocity) { + impostor.physicsBody.linearVelocity.init(velocity.x, velocity.y, velocity.z); + }; + OimoJSPlugin.prototype.setAngularVelocity = function (impostor, velocity) { + impostor.physicsBody.angularVelocity.init(velocity.x, velocity.y, velocity.z); + }; + OimoJSPlugin.prototype.getLinearVelocity = function (impostor) { + var v = impostor.physicsBody.linearVelocity; + if (!v) + return null; + return new BABYLON.Vector3(v.x, v.y, v.z); + }; + OimoJSPlugin.prototype.getAngularVelocity = function (impostor) { + var v = impostor.physicsBody.angularVelocity; + if (!v) + return null; + return new BABYLON.Vector3(v.x, v.y, v.z); + }; + OimoJSPlugin.prototype.setBodyMass = function (impostor, mass) { + var staticBody = mass === 0; + //this will actually set the body's density and not its mass. + //But this is how oimo treats the mass variable. + impostor.physicsBody.shapes.density = staticBody ? 1 : mass; + impostor.physicsBody.setupMass(staticBody ? 0x2 : 0x1); + }; + OimoJSPlugin.prototype.sleepBody = function (impostor) { + impostor.physicsBody.sleep(); + }; + OimoJSPlugin.prototype.wakeUpBody = function (impostor) { + impostor.physicsBody.awake(); + }; + OimoJSPlugin.prototype.updateDistanceJoint = function (joint, maxDistance, minDistance) { + joint.physicsJoint.limitMotor.upperLimit = maxDistance; + if (minDistance !== void 0) { + joint.physicsJoint.limitMotor.lowerLimit = minDistance; + } + }; + OimoJSPlugin.prototype.setMotor = function (joint, speed, maxForce, motorIndex) { + //TODO separate rotational and transational motors. + var motor = motorIndex ? joint.physicsJoint.rotationalLimitMotor2 : joint.physicsJoint.rotationalLimitMotor1 || joint.physicsJoint.rotationalLimitMotor || joint.physicsJoint.limitMotor; + if (motor) { + motor.setMotor(speed, maxForce); + } + }; + OimoJSPlugin.prototype.setLimit = function (joint, upperLimit, lowerLimit, motorIndex) { + //TODO separate rotational and transational motors. + var motor = motorIndex ? joint.physicsJoint.rotationalLimitMotor2 : joint.physicsJoint.rotationalLimitMotor1 || joint.physicsJoint.rotationalLimitMotor || joint.physicsJoint.limitMotor; + if (motor) { + motor.setLimit(upperLimit, lowerLimit === void 0 ? -upperLimit : lowerLimit); + } + }; + OimoJSPlugin.prototype.dispose = function () { + this.world.clear(); + }; + return OimoJSPlugin; + }()); + BABYLON.OimoJSPlugin = OimoJSPlugin; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.oimoJSPlugin.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var DisplayPassPostProcess = (function (_super) { + __extends(DisplayPassPostProcess, _super); + function DisplayPassPostProcess(name, options, camera, samplingMode, engine, reusable) { + _super.call(this, name, "displayPass", ["passSampler"], ["passSampler"], options, camera, samplingMode, engine, reusable); + } + return DisplayPassPostProcess; + }(BABYLON.PostProcess)); + BABYLON.DisplayPassPostProcess = DisplayPassPostProcess; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.displayPassPostProcess.js.map + +var BABYLON; +(function (BABYLON) { + var SimplificationSettings = (function () { + function SimplificationSettings(quality, distance, optimizeMesh) { + this.quality = quality; + this.distance = distance; + this.optimizeMesh = optimizeMesh; + } + return SimplificationSettings; + }()); + BABYLON.SimplificationSettings = SimplificationSettings; + var SimplificationQueue = (function () { + function SimplificationQueue() { + this.running = false; + this._simplificationArray = []; + } + SimplificationQueue.prototype.addTask = function (task) { + this._simplificationArray.push(task); + }; + SimplificationQueue.prototype.executeNext = function () { + var task = this._simplificationArray.pop(); + if (task) { + this.running = true; + this.runSimplification(task); + } + else { + this.running = false; + } + }; + SimplificationQueue.prototype.runSimplification = function (task) { + var _this = this; + if (task.parallelProcessing) { + //parallel simplifier + task.settings.forEach(function (setting) { + var simplifier = _this.getSimplifier(task); + simplifier.simplify(setting, function (newMesh) { + task.mesh.addLODLevel(setting.distance, newMesh); + newMesh.isVisible = true; + //check if it is the last + if (setting.quality === task.settings[task.settings.length - 1].quality && task.successCallback) { + //all done, run the success callback. + task.successCallback(); + } + _this.executeNext(); + }); + }); + } + else { + //single simplifier. + var simplifier = this.getSimplifier(task); + var runDecimation = function (setting, callback) { + simplifier.simplify(setting, function (newMesh) { + task.mesh.addLODLevel(setting.distance, newMesh); + newMesh.isVisible = true; + //run the next quality level + callback(); + }); + }; + BABYLON.AsyncLoop.Run(task.settings.length, function (loop) { + runDecimation(task.settings[loop.index], function () { + loop.executeNext(); + }); + }, function () { + //execution ended, run the success callback. + if (task.successCallback) { + task.successCallback(); + } + _this.executeNext(); + }); + } + }; + SimplificationQueue.prototype.getSimplifier = function (task) { + switch (task.simplificationType) { + case SimplificationType.QUADRATIC: + default: + return new QuadraticErrorSimplification(task.mesh); + } + }; + return SimplificationQueue; + }()); + BABYLON.SimplificationQueue = SimplificationQueue; + /** + * The implemented types of simplification. + * At the moment only Quadratic Error Decimation is implemented. + */ + (function (SimplificationType) { + SimplificationType[SimplificationType["QUADRATIC"] = 0] = "QUADRATIC"; + })(BABYLON.SimplificationType || (BABYLON.SimplificationType = {})); + var SimplificationType = BABYLON.SimplificationType; + var DecimationTriangle = (function () { + function DecimationTriangle(vertices) { + this.vertices = vertices; + this.error = new Array(4); + this.deleted = false; + this.isDirty = false; + this.deletePending = false; + this.borderFactor = 0; + } + return DecimationTriangle; + }()); + BABYLON.DecimationTriangle = DecimationTriangle; + var DecimationVertex = (function () { + function DecimationVertex(position, id) { + this.position = position; + this.id = id; + this.isBorder = true; + this.q = new QuadraticMatrix(); + this.triangleCount = 0; + this.triangleStart = 0; + this.originalOffsets = []; + } + DecimationVertex.prototype.updatePosition = function (newPosition) { + this.position.copyFrom(newPosition); + }; + return DecimationVertex; + }()); + BABYLON.DecimationVertex = DecimationVertex; + var QuadraticMatrix = (function () { + function QuadraticMatrix(data) { + this.data = new Array(10); + for (var i = 0; i < 10; ++i) { + if (data && data[i]) { + this.data[i] = data[i]; + } + else { + this.data[i] = 0; + } + } + } + QuadraticMatrix.prototype.det = function (a11, a12, a13, a21, a22, a23, a31, a32, a33) { + var det = this.data[a11] * this.data[a22] * this.data[a33] + this.data[a13] * this.data[a21] * this.data[a32] + + this.data[a12] * this.data[a23] * this.data[a31] - this.data[a13] * this.data[a22] * this.data[a31] - + this.data[a11] * this.data[a23] * this.data[a32] - this.data[a12] * this.data[a21] * this.data[a33]; + return det; + }; + QuadraticMatrix.prototype.addInPlace = function (matrix) { + for (var i = 0; i < 10; ++i) { + this.data[i] += matrix.data[i]; + } + }; + QuadraticMatrix.prototype.addArrayInPlace = function (data) { + for (var i = 0; i < 10; ++i) { + this.data[i] += data[i]; + } + }; + QuadraticMatrix.prototype.add = function (matrix) { + var m = new QuadraticMatrix(); + for (var i = 0; i < 10; ++i) { + m.data[i] = this.data[i] + matrix.data[i]; + } + return m; + }; + QuadraticMatrix.FromData = function (a, b, c, d) { + return new QuadraticMatrix(QuadraticMatrix.DataFromNumbers(a, b, c, d)); + }; + //returning an array to avoid garbage collection + QuadraticMatrix.DataFromNumbers = function (a, b, c, d) { + return [a * a, a * b, a * c, a * d, b * b, b * c, b * d, c * c, c * d, d * d]; + }; + return QuadraticMatrix; + }()); + BABYLON.QuadraticMatrix = QuadraticMatrix; + var Reference = (function () { + function Reference(vertexId, triangleId) { + this.vertexId = vertexId; + this.triangleId = triangleId; + } + return Reference; + }()); + BABYLON.Reference = Reference; + /** + * An implementation of the Quadratic Error simplification algorithm. + * Original paper : http://www1.cs.columbia.edu/~cs4162/html05s/garland97.pdf + * Ported mostly from QSlim and http://voxels.blogspot.de/2014/05/quadric-mesh-simplification-with-source.html to babylon JS + * @author RaananW + */ + var QuadraticErrorSimplification = (function () { + function QuadraticErrorSimplification(_mesh) { + this._mesh = _mesh; + this.initialized = false; + this.syncIterations = 5000; + this.aggressiveness = 7; + this.decimationIterations = 100; + this.boundingBoxEpsilon = BABYLON.Epsilon; + } + QuadraticErrorSimplification.prototype.simplify = function (settings, successCallback) { + var _this = this; + this.initDecimatedMesh(); + //iterating through the submeshes array, one after the other. + BABYLON.AsyncLoop.Run(this._mesh.subMeshes.length, function (loop) { + _this.initWithMesh(loop.index, function () { + _this.runDecimation(settings, loop.index, function () { + loop.executeNext(); + }); + }, settings.optimizeMesh); + }, function () { + setTimeout(function () { + successCallback(_this._reconstructedMesh); + }, 0); + }); + }; + QuadraticErrorSimplification.prototype.isTriangleOnBoundingBox = function (triangle) { + var _this = this; + var gCount = 0; + triangle.vertices.forEach(function (vertex) { + var count = 0; + var vPos = vertex.position; + var bbox = _this._mesh.getBoundingInfo().boundingBox; + if (bbox.maximum.x - vPos.x < _this.boundingBoxEpsilon || vPos.x - bbox.minimum.x > _this.boundingBoxEpsilon) + ++count; + if (bbox.maximum.y === vPos.y || vPos.y === bbox.minimum.y) + ++count; + if (bbox.maximum.z === vPos.z || vPos.z === bbox.minimum.z) + ++count; + if (count > 1) { + ++gCount; + } + ; + }); + if (gCount > 1) { + console.log(triangle, gCount); + } + return gCount > 1; + }; + QuadraticErrorSimplification.prototype.runDecimation = function (settings, submeshIndex, successCallback) { + var _this = this; + var targetCount = ~~(this.triangles.length * settings.quality); + var deletedTriangles = 0; + var triangleCount = this.triangles.length; + var iterationFunction = function (iteration, callback) { + setTimeout(function () { + if (iteration % 5 === 0) { + _this.updateMesh(iteration === 0); + } + for (var i = 0; i < _this.triangles.length; ++i) { + _this.triangles[i].isDirty = false; + } + var threshold = 0.000000001 * Math.pow((iteration + 3), _this.aggressiveness); + var trianglesIterator = function (i) { + var tIdx = ~~(((_this.triangles.length / 2) + i) % _this.triangles.length); + var t = _this.triangles[tIdx]; + if (!t) + return; + if (t.error[3] > threshold || t.deleted || t.isDirty) { + return; + } + for (var j = 0; j < 3; ++j) { + if (t.error[j] < threshold) { + var deleted0 = []; + var deleted1 = []; + var v0 = t.vertices[j]; + var v1 = t.vertices[(j + 1) % 3]; + if (v0.isBorder || v1.isBorder) + continue; + var p = BABYLON.Vector3.Zero(); + var n = BABYLON.Vector3.Zero(); + var uv = BABYLON.Vector2.Zero(); + var color = new BABYLON.Color4(0, 0, 0, 1); + _this.calculateError(v0, v1, p, n, uv, color); + var delTr = []; + if (_this.isFlipped(v0, v1, p, deleted0, t.borderFactor, delTr)) + continue; + if (_this.isFlipped(v1, v0, p, deleted1, t.borderFactor, delTr)) + continue; + if (deleted0.indexOf(true) < 0 || deleted1.indexOf(true) < 0) + continue; + var uniqueArray = []; + delTr.forEach(function (deletedT) { + if (uniqueArray.indexOf(deletedT) === -1) { + deletedT.deletePending = true; + uniqueArray.push(deletedT); + } + }); + if (uniqueArray.length % 2 !== 0) { + continue; + } + v0.q = v1.q.add(v0.q); + v0.updatePosition(p); + var tStart = _this.references.length; + deletedTriangles = _this.updateTriangles(v0, v0, deleted0, deletedTriangles); + deletedTriangles = _this.updateTriangles(v0, v1, deleted1, deletedTriangles); + var tCount = _this.references.length - tStart; + if (tCount <= v0.triangleCount) { + if (tCount) { + for (var c = 0; c < tCount; c++) { + _this.references[v0.triangleStart + c] = _this.references[tStart + c]; + } + } + } + else { + v0.triangleStart = tStart; + } + v0.triangleCount = tCount; + break; + } + } + }; + BABYLON.AsyncLoop.SyncAsyncForLoop(_this.triangles.length, _this.syncIterations, trianglesIterator, callback, function () { return (triangleCount - deletedTriangles <= targetCount); }); + }, 0); + }; + BABYLON.AsyncLoop.Run(this.decimationIterations, function (loop) { + if (triangleCount - deletedTriangles <= targetCount) + loop.breakLoop(); + else { + iterationFunction(loop.index, function () { + loop.executeNext(); + }); + } + }, function () { + setTimeout(function () { + //reconstruct this part of the mesh + _this.reconstructMesh(submeshIndex); + successCallback(); + }, 0); + }); + }; + QuadraticErrorSimplification.prototype.initWithMesh = function (submeshIndex, callback, optimizeMesh) { + var _this = this; + this.vertices = []; + this.triangles = []; + var positionData = this._mesh.getVerticesData(BABYLON.VertexBuffer.PositionKind); + var indices = this._mesh.getIndices(); + var submesh = this._mesh.subMeshes[submeshIndex]; + var findInVertices = function (positionToSearch) { + if (optimizeMesh) { + for (var ii = 0; ii < _this.vertices.length; ++ii) { + if (_this.vertices[ii].position.equals(positionToSearch)) { + return _this.vertices[ii]; + } + } + } + return null; + }; + var vertexReferences = []; + var vertexInit = function (i) { + var offset = i + submesh.verticesStart; + var position = BABYLON.Vector3.FromArray(positionData, offset * 3); + var vertex = findInVertices(position) || new DecimationVertex(position, _this.vertices.length); + vertex.originalOffsets.push(offset); + if (vertex.id === _this.vertices.length) { + _this.vertices.push(vertex); + } + vertexReferences.push(vertex.id); + }; + //var totalVertices = mesh.getTotalVertices(); + var totalVertices = submesh.verticesCount; + BABYLON.AsyncLoop.SyncAsyncForLoop(totalVertices, (this.syncIterations / 4) >> 0, vertexInit, function () { + var indicesInit = function (i) { + var offset = (submesh.indexStart / 3) + i; + var pos = (offset * 3); + var i0 = indices[pos + 0]; + var i1 = indices[pos + 1]; + var i2 = indices[pos + 2]; + var v0 = _this.vertices[vertexReferences[i0 - submesh.verticesStart]]; + var v1 = _this.vertices[vertexReferences[i1 - submesh.verticesStart]]; + var v2 = _this.vertices[vertexReferences[i2 - submesh.verticesStart]]; + var triangle = new DecimationTriangle([v0, v1, v2]); + triangle.originalOffset = pos; + _this.triangles.push(triangle); + }; + BABYLON.AsyncLoop.SyncAsyncForLoop(submesh.indexCount / 3, _this.syncIterations, indicesInit, function () { + _this.init(callback); + }); + }); + }; + QuadraticErrorSimplification.prototype.init = function (callback) { + var _this = this; + var triangleInit1 = function (i) { + var t = _this.triangles[i]; + t.normal = BABYLON.Vector3.Cross(t.vertices[1].position.subtract(t.vertices[0].position), t.vertices[2].position.subtract(t.vertices[0].position)).normalize(); + for (var j = 0; j < 3; j++) { + t.vertices[j].q.addArrayInPlace(QuadraticMatrix.DataFromNumbers(t.normal.x, t.normal.y, t.normal.z, -(BABYLON.Vector3.Dot(t.normal, t.vertices[0].position)))); + } + }; + BABYLON.AsyncLoop.SyncAsyncForLoop(this.triangles.length, this.syncIterations, triangleInit1, function () { + var triangleInit2 = function (i) { + var t = _this.triangles[i]; + for (var j = 0; j < 3; ++j) { + t.error[j] = _this.calculateError(t.vertices[j], t.vertices[(j + 1) % 3]); + } + t.error[3] = Math.min(t.error[0], t.error[1], t.error[2]); + }; + BABYLON.AsyncLoop.SyncAsyncForLoop(_this.triangles.length, _this.syncIterations, triangleInit2, function () { + _this.initialized = true; + callback(); + }); + }); + }; + QuadraticErrorSimplification.prototype.reconstructMesh = function (submeshIndex) { + var newTriangles = []; + var i; + for (i = 0; i < this.vertices.length; ++i) { + this.vertices[i].triangleCount = 0; + } + var t; + var j; + for (i = 0; i < this.triangles.length; ++i) { + if (!this.triangles[i].deleted) { + t = this.triangles[i]; + for (j = 0; j < 3; ++j) { + t.vertices[j].triangleCount = 1; + } + newTriangles.push(t); + } + } + var newPositionData = (this._reconstructedMesh.getVerticesData(BABYLON.VertexBuffer.PositionKind) || []); + var newNormalData = (this._reconstructedMesh.getVerticesData(BABYLON.VertexBuffer.NormalKind) || []); + var newUVsData = (this._reconstructedMesh.getVerticesData(BABYLON.VertexBuffer.UVKind) || []); + var newColorsData = (this._reconstructedMesh.getVerticesData(BABYLON.VertexBuffer.ColorKind) || []); + var normalData = this._mesh.getVerticesData(BABYLON.VertexBuffer.NormalKind); + var uvs = this._mesh.getVerticesData(BABYLON.VertexBuffer.UVKind); + var colorsData = this._mesh.getVerticesData(BABYLON.VertexBuffer.ColorKind); + var vertexCount = 0; + for (i = 0; i < this.vertices.length; ++i) { + var vertex = this.vertices[i]; + vertex.id = vertexCount; + if (vertex.triangleCount) { + vertex.originalOffsets.forEach(function (originalOffset) { + newPositionData.push(vertex.position.x); + newPositionData.push(vertex.position.y); + newPositionData.push(vertex.position.z); + newNormalData.push(normalData[originalOffset * 3]); + newNormalData.push(normalData[(originalOffset * 3) + 1]); + newNormalData.push(normalData[(originalOffset * 3) + 2]); + if (uvs && uvs.length) { + newUVsData.push(uvs[(originalOffset * 2)]); + newUVsData.push(uvs[(originalOffset * 2) + 1]); + } + else if (colorsData && colorsData.length) { + newColorsData.push(colorsData[(originalOffset * 4)]); + newColorsData.push(colorsData[(originalOffset * 4) + 1]); + newColorsData.push(colorsData[(originalOffset * 4) + 2]); + newColorsData.push(colorsData[(originalOffset * 4) + 3]); + } + ++vertexCount; + }); + } + } + var startingIndex = this._reconstructedMesh.getTotalIndices(); + var startingVertex = this._reconstructedMesh.getTotalVertices(); + var submeshesArray = this._reconstructedMesh.subMeshes; + this._reconstructedMesh.subMeshes = []; + var newIndicesArray = this._reconstructedMesh.getIndices(); //[]; + var originalIndices = this._mesh.getIndices(); + for (i = 0; i < newTriangles.length; ++i) { + t = newTriangles[i]; //now get the new referencing point for each vertex + [0, 1, 2].forEach(function (idx) { + var id = originalIndices[t.originalOffset + idx]; + var offset = t.vertices[idx].originalOffsets.indexOf(id); + if (offset < 0) + offset = 0; + newIndicesArray.push(t.vertices[idx].id + offset + startingVertex); + }); + } + //overwriting the old vertex buffers and indices. + this._reconstructedMesh.setIndices(newIndicesArray); + this._reconstructedMesh.setVerticesData(BABYLON.VertexBuffer.PositionKind, newPositionData); + this._reconstructedMesh.setVerticesData(BABYLON.VertexBuffer.NormalKind, newNormalData); + if (newUVsData.length > 0) + this._reconstructedMesh.setVerticesData(BABYLON.VertexBuffer.UVKind, newUVsData); + if (newColorsData.length > 0) + this._reconstructedMesh.setVerticesData(BABYLON.VertexBuffer.ColorKind, newColorsData); + //create submesh + var originalSubmesh = this._mesh.subMeshes[submeshIndex]; + if (submeshIndex > 0) { + this._reconstructedMesh.subMeshes = []; + submeshesArray.forEach(function (submesh) { + new BABYLON.SubMesh(submesh.materialIndex, submesh.verticesStart, submesh.verticesCount, /* 0, newPositionData.length/3, */ submesh.indexStart, submesh.indexCount, submesh.getMesh()); + }); + var newSubmesh = new BABYLON.SubMesh(originalSubmesh.materialIndex, startingVertex, vertexCount, /* 0, newPositionData.length / 3, */ startingIndex, newTriangles.length * 3, this._reconstructedMesh); + } + }; + QuadraticErrorSimplification.prototype.initDecimatedMesh = function () { + this._reconstructedMesh = new BABYLON.Mesh(this._mesh.name + "Decimated", this._mesh.getScene()); + this._reconstructedMesh.material = this._mesh.material; + this._reconstructedMesh.parent = this._mesh.parent; + this._reconstructedMesh.isVisible = false; + this._reconstructedMesh.renderingGroupId = this._mesh.renderingGroupId; + }; + QuadraticErrorSimplification.prototype.isFlipped = function (vertex1, vertex2, point, deletedArray, borderFactor, delTr) { + for (var i = 0; i < vertex1.triangleCount; ++i) { + var t = this.triangles[this.references[vertex1.triangleStart + i].triangleId]; + if (t.deleted) + continue; + var s = this.references[vertex1.triangleStart + i].vertexId; + var v1 = t.vertices[(s + 1) % 3]; + var v2 = t.vertices[(s + 2) % 3]; + if ((v1 === vertex2 || v2 === vertex2) /* && !this.isTriangleOnBoundingBox(t)*/) { + deletedArray[i] = true; + delTr.push(t); + continue; + } + var d1 = v1.position.subtract(point); + d1 = d1.normalize(); + var d2 = v2.position.subtract(point); + d2 = d2.normalize(); + if (Math.abs(BABYLON.Vector3.Dot(d1, d2)) > 0.999) + return true; + var normal = BABYLON.Vector3.Cross(d1, d2).normalize(); + deletedArray[i] = false; + if (BABYLON.Vector3.Dot(normal, t.normal) < 0.2) + return true; + } + return false; + }; + QuadraticErrorSimplification.prototype.updateTriangles = function (origVertex, vertex, deletedArray, deletedTriangles) { + var newDeleted = deletedTriangles; + for (var i = 0; i < vertex.triangleCount; ++i) { + var ref = this.references[vertex.triangleStart + i]; + var t = this.triangles[ref.triangleId]; + if (t.deleted) + continue; + if (deletedArray[i] && t.deletePending) { + t.deleted = true; + newDeleted++; + continue; + } + t.vertices[ref.vertexId] = origVertex; + t.isDirty = true; + t.error[0] = this.calculateError(t.vertices[0], t.vertices[1]) + (t.borderFactor / 2); + t.error[1] = this.calculateError(t.vertices[1], t.vertices[2]) + (t.borderFactor / 2); + t.error[2] = this.calculateError(t.vertices[2], t.vertices[0]) + (t.borderFactor / 2); + t.error[3] = Math.min(t.error[0], t.error[1], t.error[2]); + this.references.push(ref); + } + return newDeleted; + }; + QuadraticErrorSimplification.prototype.identifyBorder = function () { + for (var i = 0; i < this.vertices.length; ++i) { + var vCount = []; + var vId = []; + var v = this.vertices[i]; + var j; + for (j = 0; j < v.triangleCount; ++j) { + var triangle = this.triangles[this.references[v.triangleStart + j].triangleId]; + for (var ii = 0; ii < 3; ii++) { + var ofs = 0; + var vv = triangle.vertices[ii]; + while (ofs < vCount.length) { + if (vId[ofs] === vv.id) + break; + ++ofs; + } + if (ofs === vCount.length) { + vCount.push(1); + vId.push(vv.id); + } + else { + vCount[ofs]++; + } + } + } + for (j = 0; j < vCount.length; ++j) { + if (vCount[j] === 1) { + this.vertices[vId[j]].isBorder = true; + } + else { + this.vertices[vId[j]].isBorder = false; + } + } + } + }; + QuadraticErrorSimplification.prototype.updateMesh = function (identifyBorders) { + if (identifyBorders === void 0) { identifyBorders = false; } + var i; + if (!identifyBorders) { + var newTrianglesVector = []; + for (i = 0; i < this.triangles.length; ++i) { + if (!this.triangles[i].deleted) { + newTrianglesVector.push(this.triangles[i]); + } + } + this.triangles = newTrianglesVector; + } + for (i = 0; i < this.vertices.length; ++i) { + this.vertices[i].triangleCount = 0; + this.vertices[i].triangleStart = 0; + } + var t; + var j; + var v; + for (i = 0; i < this.triangles.length; ++i) { + t = this.triangles[i]; + for (j = 0; j < 3; ++j) { + v = t.vertices[j]; + v.triangleCount++; + } + } + var tStart = 0; + for (i = 0; i < this.vertices.length; ++i) { + this.vertices[i].triangleStart = tStart; + tStart += this.vertices[i].triangleCount; + this.vertices[i].triangleCount = 0; + } + var newReferences = new Array(this.triangles.length * 3); + for (i = 0; i < this.triangles.length; ++i) { + t = this.triangles[i]; + for (j = 0; j < 3; ++j) { + v = t.vertices[j]; + newReferences[v.triangleStart + v.triangleCount] = new Reference(j, i); + v.triangleCount++; + } + } + this.references = newReferences; + if (identifyBorders) { + this.identifyBorder(); + } + }; + QuadraticErrorSimplification.prototype.vertexError = function (q, point) { + var x = point.x; + var y = point.y; + var z = point.z; + return q.data[0] * x * x + 2 * q.data[1] * x * y + 2 * q.data[2] * x * z + 2 * q.data[3] * x + q.data[4] * y * y + + 2 * q.data[5] * y * z + 2 * q.data[6] * y + q.data[7] * z * z + 2 * q.data[8] * z + q.data[9]; + }; + QuadraticErrorSimplification.prototype.calculateError = function (vertex1, vertex2, pointResult, normalResult, uvResult, colorResult) { + var q = vertex1.q.add(vertex2.q); + var border = vertex1.isBorder && vertex2.isBorder; + var error = 0; + var qDet = q.det(0, 1, 2, 1, 4, 5, 2, 5, 7); + if (qDet !== 0 && !border) { + if (!pointResult) { + pointResult = BABYLON.Vector3.Zero(); + } + pointResult.x = -1 / qDet * (q.det(1, 2, 3, 4, 5, 6, 5, 7, 8)); + pointResult.y = 1 / qDet * (q.det(0, 2, 3, 1, 5, 6, 2, 7, 8)); + pointResult.z = -1 / qDet * (q.det(0, 1, 3, 1, 4, 6, 2, 5, 8)); + error = this.vertexError(q, pointResult); + } + else { + var p3 = (vertex1.position.add(vertex2.position)).divide(new BABYLON.Vector3(2, 2, 2)); + //var norm3 = (vertex1.normal.add(vertex2.normal)).divide(new Vector3(2, 2, 2)).normalize(); + var error1 = this.vertexError(q, vertex1.position); + var error2 = this.vertexError(q, vertex2.position); + var error3 = this.vertexError(q, p3); + error = Math.min(error1, error2, error3); + if (error === error1) { + if (pointResult) { + pointResult.copyFrom(vertex1.position); + } + } + else if (error === error2) { + if (pointResult) { + pointResult.copyFrom(vertex2.position); + } + } + else { + if (pointResult) { + pointResult.copyFrom(p3); + } + } + } + return error; + }; + return QuadraticErrorSimplification; + }()); + BABYLON.QuadraticErrorSimplification = QuadraticErrorSimplification; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.meshSimplification.js.map + +var BABYLON; +(function (BABYLON) { + var serializedGeometries = []; + var serializeGeometry = function (geometry, serializationGeometries) { + if (serializedGeometries[geometry.id]) { + return; + } + if (geometry.doNotSerialize) { + return; + } + if (geometry instanceof BABYLON.Geometry.Primitives.Box) { + serializationGeometries.boxes.push(geometry.serialize()); + } + else if (geometry instanceof BABYLON.Geometry.Primitives.Sphere) { + serializationGeometries.spheres.push(geometry.serialize()); + } + else if (geometry instanceof BABYLON.Geometry.Primitives.Cylinder) { + serializationGeometries.cylinders.push(geometry.serialize()); + } + else if (geometry instanceof BABYLON.Geometry.Primitives.Torus) { + serializationGeometries.toruses.push(geometry.serialize()); + } + else if (geometry instanceof BABYLON.Geometry.Primitives.Ground) { + serializationGeometries.grounds.push(geometry.serialize()); + } + else if (geometry instanceof BABYLON.Geometry.Primitives.Plane) { + serializationGeometries.planes.push(geometry.serialize()); + } + else if (geometry instanceof BABYLON.Geometry.Primitives.TorusKnot) { + serializationGeometries.torusKnots.push(geometry.serialize()); + } + else if (geometry instanceof BABYLON.Geometry.Primitives._Primitive) { + throw new Error("Unknown primitive type"); + } + else { + serializationGeometries.vertexData.push(geometry.serializeVerticeData()); + } + serializedGeometries[geometry.id] = true; + }; + var serializeMesh = function (mesh, serializationScene) { + var serializationObject = {}; + serializationObject.name = mesh.name; + serializationObject.id = mesh.id; + if (BABYLON.Tags.HasTags(mesh)) { + serializationObject.tags = BABYLON.Tags.GetTags(mesh); + } + serializationObject.position = mesh.position.asArray(); + if (mesh.rotationQuaternion) { + serializationObject.rotationQuaternion = mesh.rotationQuaternion.asArray(); + } + else if (mesh.rotation) { + serializationObject.rotation = mesh.rotation.asArray(); + } + serializationObject.scaling = mesh.scaling.asArray(); + serializationObject.localMatrix = mesh.getPivotMatrix().asArray(); + serializationObject.isEnabled = mesh.isEnabled(); + serializationObject.isVisible = mesh.isVisible; + serializationObject.infiniteDistance = mesh.infiniteDistance; + serializationObject.pickable = mesh.isPickable; + serializationObject.receiveShadows = mesh.receiveShadows; + serializationObject.billboardMode = mesh.billboardMode; + serializationObject.visibility = mesh.visibility; + serializationObject.checkCollisions = mesh.checkCollisions; + serializationObject.isBlocker = mesh.isBlocker; + // Parent + if (mesh.parent) { + serializationObject.parentId = mesh.parent.id; + } + // Geometry + var geometry = mesh._geometry; + if (geometry) { + var geometryId = geometry.id; + serializationObject.geometryId = geometryId; + if (!mesh.getScene().getGeometryByID(geometryId)) { + // geometry was in the memory but not added to the scene, nevertheless it's better to serialize to be able to reload the mesh with its geometry + serializeGeometry(geometry, serializationScene.geometries); + } + // SubMeshes + serializationObject.subMeshes = []; + for (var subIndex = 0; subIndex < mesh.subMeshes.length; subIndex++) { + var subMesh = mesh.subMeshes[subIndex]; + serializationObject.subMeshes.push({ + materialIndex: subMesh.materialIndex, + verticesStart: subMesh.verticesStart, + verticesCount: subMesh.verticesCount, + indexStart: subMesh.indexStart, + indexCount: subMesh.indexCount + }); + } + } + // Material + if (mesh.material) { + serializationObject.materialId = mesh.material.id; + } + else { + mesh.material = null; + } + // Skeleton + if (mesh.skeleton) { + serializationObject.skeletonId = mesh.skeleton.id; + } + // Physics + //TODO implement correct serialization for physics impostors. + if (mesh.getPhysicsImpostor()) { + serializationObject.physicsMass = mesh.getPhysicsMass(); + serializationObject.physicsFriction = mesh.getPhysicsFriction(); + serializationObject.physicsRestitution = mesh.getPhysicsRestitution(); + serializationObject.physicsImpostor = mesh.getPhysicsImpostor().type; + } + // Metadata + if (mesh.metadata) { + serializationObject.metadata = mesh.metadata; + } + // Instances + serializationObject.instances = []; + for (var index = 0; index < mesh.instances.length; index++) { + var instance = mesh.instances[index]; + var serializationInstance = { + name: instance.name, + position: instance.position.asArray(), + scaling: instance.scaling.asArray() + }; + if (instance.rotationQuaternion) { + serializationInstance.rotationQuaternion = instance.rotationQuaternion.asArray(); + } + else if (instance.rotation) { + serializationInstance.rotation = instance.rotation.asArray(); + } + serializationObject.instances.push(serializationInstance); + // Animations + BABYLON.Animation.AppendSerializedAnimations(instance, serializationInstance); + serializationInstance.ranges = instance.serializeAnimationRanges(); + } + // Animations + BABYLON.Animation.AppendSerializedAnimations(mesh, serializationObject); + serializationObject.ranges = mesh.serializeAnimationRanges(); + // Layer mask + serializationObject.layerMask = mesh.layerMask; + // Alpha + serializationObject.alphaIndex = mesh.alphaIndex; + serializationObject.hasVertexAlpha = mesh.hasVertexAlpha; + // Overlay + serializationObject.overlayAlpha = mesh.overlayAlpha; + serializationObject.overlayColor = mesh.overlayColor.asArray(); + serializationObject.renderOverlay = mesh.renderOverlay; + // Fog + serializationObject.applyFog = mesh.applyFog; + // Action Manager + if (mesh.actionManager) { + serializationObject.actions = mesh.actionManager.serialize(mesh.name); + } + return serializationObject; + }; + var finalizeSingleMesh = function (mesh, serializationObject) { + //only works if the mesh is already loaded + if (mesh.delayLoadState === BABYLON.Engine.DELAYLOADSTATE_LOADED || mesh.delayLoadState === BABYLON.Engine.DELAYLOADSTATE_NONE) { + //serialize material + if (mesh.material) { + if (mesh.material instanceof BABYLON.StandardMaterial) { + serializationObject.materials = serializationObject.materials || []; + if (!serializationObject.materials.some(function (mat) { return (mat.id === mesh.material.id); })) { + serializationObject.materials.push(mesh.material.serialize()); + } + } + else if (mesh.material instanceof BABYLON.MultiMaterial) { + serializationObject.multiMaterials = serializationObject.multiMaterials || []; + if (!serializationObject.multiMaterials.some(function (mat) { return (mat.id === mesh.material.id); })) { + serializationObject.multiMaterials.push(mesh.material.serialize()); + } + } + } + //serialize geometry + var geometry = mesh._geometry; + if (geometry) { + if (!serializationObject.geometries) { + serializationObject.geometries = {}; + serializationObject.geometries.boxes = []; + serializationObject.geometries.spheres = []; + serializationObject.geometries.cylinders = []; + serializationObject.geometries.toruses = []; + serializationObject.geometries.grounds = []; + serializationObject.geometries.planes = []; + serializationObject.geometries.torusKnots = []; + serializationObject.geometries.vertexData = []; + } + serializeGeometry(geometry, serializationObject.geometries); + } + // Skeletons + if (mesh.skeleton) { + serializationObject.skeletons = serializationObject.skeletons || []; + serializationObject.skeletons.push(mesh.skeleton.serialize()); + } + //serialize the actual mesh + serializationObject.meshes = serializationObject.meshes || []; + serializationObject.meshes.push(serializeMesh(mesh, serializationObject)); + } + }; + var SceneSerializer = (function () { + function SceneSerializer() { + } + SceneSerializer.ClearCache = function () { + serializedGeometries = []; + }; + SceneSerializer.Serialize = function (scene) { + var serializationObject = {}; + // Scene + serializationObject.useDelayedTextureLoading = scene.useDelayedTextureLoading; + serializationObject.autoClear = scene.autoClear; + serializationObject.clearColor = scene.clearColor.asArray(); + serializationObject.ambientColor = scene.ambientColor.asArray(); + serializationObject.gravity = scene.gravity.asArray(); + serializationObject.collisionsEnabled = scene.collisionsEnabled; + serializationObject.workerCollisions = scene.workerCollisions; + // Fog + if (scene.fogMode && scene.fogMode !== 0) { + serializationObject.fogMode = scene.fogMode; + serializationObject.fogColor = scene.fogColor.asArray(); + serializationObject.fogStart = scene.fogStart; + serializationObject.fogEnd = scene.fogEnd; + serializationObject.fogDensity = scene.fogDensity; + } + //Physics + if (scene.isPhysicsEnabled()) { + serializationObject.physicsEnabled = true; + serializationObject.physicsGravity = scene.getPhysicsEngine().gravity.asArray(); + serializationObject.physicsEngine = scene.getPhysicsEngine().getPhysicsPluginName(); + } + // Metadata + if (scene.metadata) { + serializationObject.metadata = scene.metadata; + } + // Lights + serializationObject.lights = []; + var index; + var light; + for (index = 0; index < scene.lights.length; index++) { + light = scene.lights[index]; + if (!light.doNotSerialize) { + serializationObject.lights.push(light.serialize()); + } + } + // Cameras + serializationObject.cameras = []; + for (index = 0; index < scene.cameras.length; index++) { + var camera = scene.cameras[index]; + if (!camera.doNotSerialize) { + serializationObject.cameras.push(camera.serialize()); + } + } + if (scene.activeCamera) { + serializationObject.activeCameraID = scene.activeCamera.id; + } + // Animations + BABYLON.Animation.AppendSerializedAnimations(scene, serializationObject); + // Materials + serializationObject.materials = []; + serializationObject.multiMaterials = []; + var material; + for (index = 0; index < scene.materials.length; index++) { + material = scene.materials[index]; + if (!material.doNotSerialize) { + serializationObject.materials.push(material.serialize()); + } + } + // MultiMaterials + serializationObject.multiMaterials = []; + for (index = 0; index < scene.multiMaterials.length; index++) { + var multiMaterial = scene.multiMaterials[index]; + serializationObject.multiMaterials.push(multiMaterial.serialize()); + } + // Skeletons + serializationObject.skeletons = []; + for (index = 0; index < scene.skeletons.length; index++) { + serializationObject.skeletons.push(scene.skeletons[index].serialize()); + } + // Geometries + serializationObject.geometries = {}; + serializationObject.geometries.boxes = []; + serializationObject.geometries.spheres = []; + serializationObject.geometries.cylinders = []; + serializationObject.geometries.toruses = []; + serializationObject.geometries.grounds = []; + serializationObject.geometries.planes = []; + serializationObject.geometries.torusKnots = []; + serializationObject.geometries.vertexData = []; + serializedGeometries = []; + var geometries = scene.getGeometries(); + for (index = 0; index < geometries.length; index++) { + var geometry = geometries[index]; + if (geometry.isReady()) { + serializeGeometry(geometry, serializationObject.geometries); + } + } + // Meshes + serializationObject.meshes = []; + for (index = 0; index < scene.meshes.length; index++) { + var abstractMesh = scene.meshes[index]; + if (abstractMesh instanceof BABYLON.Mesh) { + var mesh = abstractMesh; + if (!mesh.doNotSerialize) { + if (mesh.delayLoadState === BABYLON.Engine.DELAYLOADSTATE_LOADED || mesh.delayLoadState === BABYLON.Engine.DELAYLOADSTATE_NONE) { + serializationObject.meshes.push(serializeMesh(mesh, serializationObject)); + } + } + } + } + // Particles Systems + serializationObject.particleSystems = []; + for (index = 0; index < scene.particleSystems.length; index++) { + serializationObject.particleSystems.push(scene.particleSystems[index].serialize()); + } + // Lens flares + serializationObject.lensFlareSystems = []; + for (index = 0; index < scene.lensFlareSystems.length; index++) { + serializationObject.lensFlareSystems.push(scene.lensFlareSystems[index].serialize()); + } + // Shadows + serializationObject.shadowGenerators = []; + for (index = 0; index < scene.lights.length; index++) { + light = scene.lights[index]; + var shadowGenerator = light.getShadowGenerator(); + // Only support serialization for official generator so far. + if (shadowGenerator && shadowGenerator instanceof BABYLON.ShadowGenerator) { + serializationObject.shadowGenerators.push(shadowGenerator.serialize()); + } + } + // Action Manager + if (scene.actionManager) { + serializationObject.actions = scene.actionManager.serialize("scene"); + } + // Audio + serializationObject.sounds = []; + for (index = 0; index < scene.soundTracks.length; index++) { + var soundtrack = scene.soundTracks[index]; + for (var soundId = 0; soundId < soundtrack.soundCollection.length; soundId++) { + serializationObject.sounds.push(soundtrack.soundCollection[soundId].serialize()); + } + } + return serializationObject; + }; + SceneSerializer.SerializeMesh = function (toSerialize /* Mesh || Mesh[] */, withParents, withChildren) { + if (withParents === void 0) { withParents = false; } + if (withChildren === void 0) { withChildren = false; } + var serializationObject = {}; + toSerialize = (toSerialize instanceof Array) ? toSerialize : [toSerialize]; + if (withParents || withChildren) { + //deliberate for loop! not for each, appended should be processed as well. + for (var i = 0; i < toSerialize.length; ++i) { + if (withChildren) { + toSerialize[i].getDescendants().forEach(function (node) { + if (node instanceof BABYLON.Mesh && (toSerialize.indexOf(node) < 0)) { + toSerialize.push(node); + } + }); + } + //make sure the array doesn't contain the object already + if (withParents && toSerialize[i].parent && (toSerialize.indexOf(toSerialize[i].parent) < 0)) { + toSerialize.push(toSerialize[i].parent); + } + } + } + toSerialize.forEach(function (mesh) { + finalizeSingleMesh(mesh, serializationObject); + }); + return serializationObject; + }; + return SceneSerializer; + }()); + BABYLON.SceneSerializer = SceneSerializer; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.sceneSerializer.js.map + +// All the credit goes to this project and the guy who's behind it https://github.com/mapbox/earcut +// Huge respect for a such great lib. +// Earcut license: +// Copyright (c) 2016, Mapbox +// +// Permission to use, copy, modify, and/or distribute this software for any purpose +// with or without fee is hereby granted, provided that the above copyright notice +// and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +// REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +// FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +// INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS +// OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER +// TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF +// THIS SOFTWARE. +var Earcut; +(function (Earcut) { + /** + * The fastest and smallest JavaScript polygon triangulation library for your WebGL apps + * @param data is a flat array of vertice coordinates like [x0, y0, x1, y1, x2, y2, ...]. + * @param holeIndices is an array of hole indices if any (e.g. [5, 8] for a 12- vertice input would mean one hole with vertices 5–7 and another with 8–11). + * @param dim is the number of coordinates per vertice in the input array (2 by default). + */ + function earcut(data, holeIndices, dim) { + dim = dim || 2; + var hasHoles = holeIndices && holeIndices.length, outerLen = hasHoles ? holeIndices[0] * dim : data.length, outerNode = linkedList(data, 0, outerLen, dim, true), triangles = []; + if (!outerNode) + return triangles; + var minX, minY, maxX, maxY, x, y, size; + if (hasHoles) + outerNode = eliminateHoles(data, holeIndices, outerNode, dim); + // if the shape is not too simple, we'll use z-order curve hash later; calculate polygon bbox + if (data.length > 80 * dim) { + minX = maxX = data[0]; + minY = maxY = data[1]; + for (var i = dim; i < outerLen; i += dim) { + x = data[i]; + y = data[i + 1]; + if (x < minX) + minX = x; + if (y < minY) + minY = y; + if (x > maxX) + maxX = x; + if (y > maxY) + maxY = y; + } + // minX, minY and size are later used to transform coords into integers for z-order calculation + size = Math.max(maxX - minX, maxY - minY); + } + earcutLinked(outerNode, triangles, dim, minX, minY, size, undefined); + return triangles; + } + Earcut.earcut = earcut; + // create a circular doubly linked list from polygon points in the specified winding order + function linkedList(data, start, end, dim, clockwise) { + var i, last; + if (clockwise === (signedArea(data, start, end, dim) > 0)) { + for (i = start; i < end; i += dim) + last = insertNode(i, data[i], data[i + 1], last); + } + else { + for (i = end - dim; i >= start; i -= dim) + last = insertNode(i, data[i], data[i + 1], last); + } + if (last && equals(last, last.next)) { + removeNode(last); + last = last.next; + } + return last; + } + // eliminate colinear or duplicate points + function filterPoints(start, end) { + if (!start) + return start; + if (!end) + end = start; + var p = start, again; + do { + again = false; + if (!p.steiner && (equals(p, p.next) || area(p.prev, p, p.next) === 0)) { + removeNode(p); + p = end = p.prev; + if (p === p.next) + return null; + again = true; + } + else { + p = p.next; + } + } while (again || p !== end); + return end; + } + // main ear slicing loop which triangulates a polygon (given as a linked list) + function earcutLinked(ear, triangles, dim, minX, minY, size, pass) { + if (!ear) + return; + // interlink polygon nodes in z-order + if (!pass && size) + indexCurve(ear, minX, minY, size); + var stop = ear, prev, next; + // iterate through ears, slicing them one by one + while (ear.prev !== ear.next) { + prev = ear.prev; + next = ear.next; + if (size ? isEarHashed(ear, minX, minY, size) : isEar(ear)) { + // cut off the triangle + triangles.push(prev.i / dim); + triangles.push(ear.i / dim); + triangles.push(next.i / dim); + removeNode(ear); + // skipping the next vertice leads to less sliver triangles + ear = next.next; + stop = next.next; + continue; + } + ear = next; + // if we looped through the whole remaining polygon and can't find any more ears + if (ear === stop) { + // try filtering points and slicing again + if (!pass) { + earcutLinked(filterPoints(ear, undefined), triangles, dim, minX, minY, size, 1); + } + else if (pass === 1) { + ear = cureLocalIntersections(ear, triangles, dim); + earcutLinked(ear, triangles, dim, minX, minY, size, 2); + } + else if (pass === 2) { + splitEarcut(ear, triangles, dim, minX, minY, size); + } + break; + } + } + } + // check whether a polygon node forms a valid ear with adjacent nodes + function isEar(ear) { + var a = ear.prev, b = ear, c = ear.next; + if (area(a, b, c) >= 0) + return false; // reflex, can't be an ear + // now make sure we don't have other points inside the potential ear + var p = ear.next.next; + while (p !== ear.prev) { + if (pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) && + area(p.prev, p, p.next) >= 0) + return false; + p = p.next; + } + return true; + } + function isEarHashed(ear, minX, minY, size) { + var a = ear.prev, b = ear, c = ear.next; + if (area(a, b, c) >= 0) + return false; // reflex, can't be an ear + // triangle bbox; min & max are calculated like this for speed + var minTX = a.x < b.x ? (a.x < c.x ? a.x : c.x) : (b.x < c.x ? b.x : c.x), minTY = a.y < b.y ? (a.y < c.y ? a.y : c.y) : (b.y < c.y ? b.y : c.y), maxTX = a.x > b.x ? (a.x > c.x ? a.x : c.x) : (b.x > c.x ? b.x : c.x), maxTY = a.y > b.y ? (a.y > c.y ? a.y : c.y) : (b.y > c.y ? b.y : c.y); + // z-order range for the current triangle bbox; + var minZ = zOrder(minTX, minTY, minX, minY, size), maxZ = zOrder(maxTX, maxTY, minX, minY, size); + // first look for points inside the triangle in increasing z-order + var p = ear.nextZ; + while (p && p.z <= maxZ) { + if (p !== ear.prev && + p !== ear.next && + pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) && + area(p.prev, p, p.next) >= 0) + return false; + p = p.nextZ; + } + // then look for points in decreasing z-order + p = ear.prevZ; + while (p && p.z >= minZ) { + if (p !== ear.prev && + p !== ear.next && + pointInTriangle(a.x, a.y, b.x, b.y, c.x, c.y, p.x, p.y) && + area(p.prev, p, p.next) >= 0) + return false; + p = p.prevZ; + } + return true; + } + // go through all polygon nodes and cure small local self-intersections + function cureLocalIntersections(start, triangles, dim) { + var p = start; + do { + var a = p.prev, b = p.next.next; + if (!equals(a, b) && intersects(a, p, p.next, b) && locallyInside(a, b) && locallyInside(b, a)) { + triangles.push(a.i / dim); + triangles.push(p.i / dim); + triangles.push(b.i / dim); + // remove two nodes involved + removeNode(p); + removeNode(p.next); + p = start = b; + } + p = p.next; + } while (p !== start); + return p; + } + // try splitting polygon into two and triangulate them independently + function splitEarcut(start, triangles, dim, minX, minY, size) { + // look for a valid diagonal that divides the polygon into two + var a = start; + do { + var b = a.next.next; + while (b !== a.prev) { + if (a.i !== b.i && isValidDiagonal(a, b)) { + // split the polygon in two by the diagonal + var c = splitPolygon(a, b); + // filter colinear points around the cuts + a = filterPoints(a, a.next); + c = filterPoints(c, c.next); + // run earcut on each half + earcutLinked(a, triangles, dim, minX, minY, size, undefined); + earcutLinked(c, triangles, dim, minX, minY, size, undefined); + return; + } + b = b.next; + } + a = a.next; + } while (a !== start); + } + // link every hole into the outer loop, producing a single-ring polygon without holes + function eliminateHoles(data, holeIndices, outerNode, dim) { + var queue = [], i, len, start, end, list; + for (i = 0, len = holeIndices.length; i < len; i++) { + start = holeIndices[i] * dim; + end = i < len - 1 ? holeIndices[i + 1] * dim : data.length; + list = linkedList(data, start, end, dim, false); + if (list === list.next) + list.steiner = true; + queue.push(getLeftmost(list)); + } + queue.sort(compareX); + // process holes from left to right + for (i = 0; i < queue.length; i++) { + eliminateHole(queue[i], outerNode); + outerNode = filterPoints(outerNode, outerNode.next); + } + return outerNode; + } + function compareX(a, b) { + return a.x - b.x; + } + // find a bridge between vertices that connects hole with an outer ring and and link it + function eliminateHole(hole, outerNode) { + outerNode = findHoleBridge(hole, outerNode); + if (outerNode) { + var b = splitPolygon(outerNode, hole); + filterPoints(b, b.next); + } + } + // David Eberly's algorithm for finding a bridge between hole and outer polygon + function findHoleBridge(hole, outerNode) { + var p = outerNode, hx = hole.x, hy = hole.y, qx = -Infinity, m; + // find a segment intersected by a ray from the hole's leftmost point to the left; + // segment's endpoint with lesser x will be potential connection point + do { + if (hy <= p.y && hy >= p.next.y) { + var x = p.x + (hy - p.y) * (p.next.x - p.x) / (p.next.y - p.y); + if (x <= hx && x > qx) { + qx = x; + if (x === hx) { + if (hy === p.y) + return p; + if (hy === p.next.y) + return p.next; + } + m = p.x < p.next.x ? p : p.next; + } + } + p = p.next; + } while (p !== outerNode); + if (!m) + return null; + if (hx === qx) + return m.prev; // hole touches outer segment; pick lower endpoint + // look for points inside the triangle of hole point, segment intersection and endpoint; + // if there are no points found, we have a valid connection; + // otherwise choose the point of the minimum angle with the ray as connection point + var stop = m, mx = m.x, my = m.y, tanMin = Infinity, tan; + p = m.next; + while (p !== stop) { + if (hx >= p.x && + p.x >= mx && + pointInTriangle(hy < my ? hx : qx, hy, mx, my, hy < my ? qx : hx, hy, p.x, p.y)) { + tan = Math.abs(hy - p.y) / (hx - p.x); // tangential + if ((tan < tanMin || (tan === tanMin && p.x > m.x)) && locallyInside(p, hole)) { + m = p; + tanMin = tan; + } + } + p = p.next; + } + return m; + } + // interlink polygon nodes in z-order + function indexCurve(start, minX, minY, size) { + var p = start; + do { + if (p.z === null) + p.z = zOrder(p.x, p.y, minX, minY, size); + p.prevZ = p.prev; + p.nextZ = p.next; + p = p.next; + } while (p !== start); + p.prevZ.nextZ = null; + p.prevZ = null; + sortLinked(p); + } + // Simon Tatham's linked list merge sort algorithm + // http://www.chiark.greenend.org.uk/~sgtatham/algorithms/listsort.html + function sortLinked(list) { + var i, p, q, e, tail, numMerges, pSize, qSize, inSize = 1; + do { + p = list; + list = null; + tail = null; + numMerges = 0; + while (p) { + numMerges++; + q = p; + pSize = 0; + for (i = 0; i < inSize; i++) { + pSize++; + q = q.nextZ; + if (!q) + break; + } + qSize = inSize; + while (pSize > 0 || (qSize > 0 && q)) { + if (pSize === 0) { + e = q; + q = q.nextZ; + qSize--; + } + else if (qSize === 0 || !q) { + e = p; + p = p.nextZ; + pSize--; + } + else if (p.z <= q.z) { + e = p; + p = p.nextZ; + pSize--; + } + else { + e = q; + q = q.nextZ; + qSize--; + } + if (tail) + tail.nextZ = e; + else + list = e; + e.prevZ = tail; + tail = e; + } + p = q; + } + tail.nextZ = null; + inSize *= 2; + } while (numMerges > 1); + return list; + } + // z-order of a point given coords and size of the data bounding box + function zOrder(x, y, minX, minY, size) { + // coords are transformed into non-negative 15-bit integer range + x = 32767 * (x - minX) / size; + y = 32767 * (y - minY) / size; + x = (x | (x << 8)) & 0x00FF00FF; + x = (x | (x << 4)) & 0x0F0F0F0F; + x = (x | (x << 2)) & 0x33333333; + x = (x | (x << 1)) & 0x55555555; + y = (y | (y << 8)) & 0x00FF00FF; + y = (y | (y << 4)) & 0x0F0F0F0F; + y = (y | (y << 2)) & 0x33333333; + y = (y | (y << 1)) & 0x55555555; + return x | (y << 1); + } + // find the leftmost node of a polygon ring + function getLeftmost(start) { + var p = start, leftmost = start; + do { + if (p.x < leftmost.x) + leftmost = p; + p = p.next; + } while (p !== start); + return leftmost; + } + // check if a point lies within a convex triangle + function pointInTriangle(ax, ay, bx, by, cx, cy, px, py) { + return (cx - px) * (ay - py) - (ax - px) * (cy - py) >= 0 && + (ax - px) * (by - py) - (bx - px) * (ay - py) >= 0 && + (bx - px) * (cy - py) - (cx - px) * (by - py) >= 0; + } + // check if a diagonal between two polygon nodes is valid (lies in polygon interior) + function isValidDiagonal(a, b) { + return a.next.i !== b.i && + a.prev.i !== b.i && + !intersectsPolygon(a, b) && + locallyInside(a, b) && + locallyInside(b, a) && + middleInside(a, b); + } + // signed area of a triangle + function area(p, q, r) { + return (q.y - p.y) * (r.x - q.x) - (q.x - p.x) * (r.y - q.y); + } + // check if two points are equal + function equals(p1, p2) { + return p1.x === p2.x && p1.y === p2.y; + } + // check if two segments intersect + function intersects(p1, q1, p2, q2) { + if ((equals(p1, q1) && equals(p2, q2)) || + (equals(p1, q2) && equals(p2, q1))) + return true; + return area(p1, q1, p2) > 0 !== area(p1, q1, q2) > 0 && + area(p2, q2, p1) > 0 !== area(p2, q2, q1) > 0; + } + // check if a polygon diagonal intersects any polygon segments + function intersectsPolygon(a, b) { + var p = a; + do { + if (p.i !== a.i && + p.next.i !== a.i && + p.i !== b.i && + p.next.i !== b.i && + intersects(p, p.next, a, b)) + return true; + p = p.next; + } while (p !== a); + return false; + } + // check if a polygon diagonal is locally inside the polygon + function locallyInside(a, b) { + return area(a.prev, a, a.next) < 0 + ? area(a, b, a.next) >= 0 && area(a, a.prev, b) >= 0 + : area(a, b, a.prev) < 0 || area(a, a.next, b) < 0; + } + // check if the middle point of a polygon diagonal is inside the polygon + function middleInside(a, b) { + var p = a, inside = false, px = (a.x + b.x) / 2, py = (a.y + b.y) / 2; + do { + if (((p.y > py) !== (p.next.y > py)) && (px < (p.next.x - p.x) * (py - p.y) / (p.next.y - p.y) + p.x)) + inside = !inside; + p = p.next; + } while (p !== a); + return inside; + } + // link two polygon vertices with a bridge; if the vertices belong to the same ring, it splits polygon into two; + // if one belongs to the outer ring and another to a hole, it merges it into a single ring + function splitPolygon(a, b) { + var a2 = new Node(a.i, a.x, a.y), b2 = new Node(b.i, b.x, b.y), an = a.next, bp = b.prev; + a.next = b; + b.prev = a; + a2.next = an; + an.prev = a2; + b2.next = a2; + a2.prev = b2; + bp.next = b2; + b2.prev = bp; + return b2; + } + // create a node and optionally link it with previous one (in a circular doubly linked list) + function insertNode(i, x, y, last) { + var p = new Node(i, x, y); + if (!last) { + p.prev = p; + p.next = p; + } + else { + p.next = last.next; + p.prev = last; + last.next.prev = p; + last.next = p; + } + return p; + } + function removeNode(p) { + p.next.prev = p.prev; + p.prev.next = p.next; + if (p.prevZ) + p.prevZ.nextZ = p.nextZ; + if (p.nextZ) + p.nextZ.prevZ = p.prevZ; + } + function Node(i, x, y) { + // vertice index in coordinates array + this.i = i; + // vertex coordinates + this.x = x; + this.y = y; + // previous and next vertice nodes in a polygon ring + this.prev = null; + this.next = null; + // z-order curve value + this.z = null; + // previous and next nodes in z-order + this.prevZ = null; + this.nextZ = null; + // indicates whether this is a steiner point + this.steiner = false; + } + /** + * return a percentage difference between the polygon area and its triangulation area; + * used to verify correctness of triangulation + */ + function deviation(data, holeIndices, dim, triangles) { + var hasHoles = holeIndices && holeIndices.length; + var outerLen = hasHoles ? holeIndices[0] * dim : data.length; + var polygonArea = Math.abs(signedArea(data, 0, outerLen, dim)); + if (hasHoles) { + for (var i = 0, len = holeIndices.length; i < len; i++) { + var start = holeIndices[i] * dim; + var end = i < len - 1 ? holeIndices[i + 1] * dim : data.length; + polygonArea -= Math.abs(signedArea(data, start, end, dim)); + } + } + var trianglesArea = 0; + for (i = 0; i < triangles.length; i += 3) { + var a = triangles[i] * dim; + var b = triangles[i + 1] * dim; + var c = triangles[i + 2] * dim; + trianglesArea += Math.abs((data[a] - data[c]) * (data[b + 1] - data[a + 1]) - + (data[a] - data[b]) * (data[c + 1] - data[a + 1])); + } + return polygonArea === 0 && trianglesArea === 0 ? 0 : Math.abs((trianglesArea - polygonArea) / polygonArea); + } + Earcut.deviation = deviation; + ; + function signedArea(data, start, end, dim) { + var sum = 0; + for (var i = start, j = end - dim; i < end; i += dim) { + sum += (data[j] - data[i]) * (data[i + 1] + data[j + 1]); + j = i; + } + return sum; + } + /** + * turn a polygon in a multi-dimensional array form (e.g. as in GeoJSON) into a form Earcut accepts + */ + function flatten(data) { + var dim = data[0][0].length, result = { vertices: [], holes: [], dimensions: dim }, holeIndex = 0; + for (var i = 0; i < data.length; i++) { + for (var j = 0; j < data[i].length; j++) { + for (var d = 0; d < dim; d++) + result.vertices.push(data[i][j][d]); + } + if (i > 0) { + holeIndex += data[i - 1].length; + result.holes.push(holeIndex); + } + } + return result; + } + Earcut.flatten = flatten; + ; +})(Earcut || (Earcut = {})); + +//# sourceMappingURL=babylon.earcut.js.map + +var BABYLON; +(function (BABYLON) { + // Unique ID when we import meshes from Babylon to CSG + var currentCSGMeshId = 0; + // # class Vertex + // Represents a vertex of a polygon. Use your own vertex class instead of this + // one to provide additional features like texture coordinates and vertex + // colors. Custom vertex classes need to provide a `pos` property and `clone()`, + // `flip()`, and `interpolate()` methods that behave analogous to the ones + // defined by `BABYLON.CSG.Vertex`. This class provides `normal` so convenience + // functions like `BABYLON.CSG.sphere()` can return a smooth vertex normal, but `normal` + // is not used anywhere else. + // Same goes for uv, it allows to keep the original vertex uv coordinates of the 2 meshes + var Vertex = (function () { + function Vertex(pos, normal, uv) { + this.pos = pos; + this.normal = normal; + this.uv = uv; + } + Vertex.prototype.clone = function () { + return new Vertex(this.pos.clone(), this.normal.clone(), this.uv.clone()); + }; + // Invert all orientation-specific data (e.g. vertex normal). Called when the + // orientation of a polygon is flipped. + Vertex.prototype.flip = function () { + this.normal = this.normal.scale(-1); + }; + // Create a new vertex between this vertex and `other` by linearly + // interpolating all properties using a parameter of `t`. Subclasses should + // override this to interpolate additional properties. + Vertex.prototype.interpolate = function (other, t) { + return new Vertex(BABYLON.Vector3.Lerp(this.pos, other.pos, t), BABYLON.Vector3.Lerp(this.normal, other.normal, t), BABYLON.Vector2.Lerp(this.uv, other.uv, t)); + }; + return Vertex; + }()); + // # class Plane + // Represents a plane in 3D space. + var Plane = (function () { + function Plane(normal, w) { + this.normal = normal; + this.w = w; + } + Plane.FromPoints = function (a, b, c) { + var v0 = c.subtract(a); + var v1 = b.subtract(a); + if (v0.lengthSquared() === 0 || v1.lengthSquared() === 0) { + return null; + } + var n = BABYLON.Vector3.Normalize(BABYLON.Vector3.Cross(v0, v1)); + return new Plane(n, BABYLON.Vector3.Dot(n, a)); + }; + Plane.prototype.clone = function () { + return new Plane(this.normal.clone(), this.w); + }; + Plane.prototype.flip = function () { + this.normal.scaleInPlace(-1); + this.w = -this.w; + }; + // Split `polygon` by this plane if needed, then put the polygon or polygon + // fragments in the appropriate lists. Coplanar polygons go into either + // `coplanarFront` or `coplanarBack` depending on their orientation with + // respect to this plane. Polygons in front or in back of this plane go into + // either `front` or `back`. + Plane.prototype.splitPolygon = function (polygon, coplanarFront, coplanarBack, front, back) { + var COPLANAR = 0; + var FRONT = 1; + var BACK = 2; + var SPANNING = 3; + // Classify each point as well as the entire polygon into one of the above + // four classes. + var polygonType = 0; + var types = []; + var i; + var t; + for (i = 0; i < polygon.vertices.length; i++) { + t = BABYLON.Vector3.Dot(this.normal, polygon.vertices[i].pos) - this.w; + var type = (t < -Plane.EPSILON) ? BACK : (t > Plane.EPSILON) ? FRONT : COPLANAR; + polygonType |= type; + types.push(type); + } + // Put the polygon in the correct list, splitting it when necessary. + switch (polygonType) { + case COPLANAR: + (BABYLON.Vector3.Dot(this.normal, polygon.plane.normal) > 0 ? coplanarFront : coplanarBack).push(polygon); + break; + case FRONT: + front.push(polygon); + break; + case BACK: + back.push(polygon); + break; + case SPANNING: + var f = [], b = []; + for (i = 0; i < polygon.vertices.length; i++) { + var j = (i + 1) % polygon.vertices.length; + var ti = types[i], tj = types[j]; + var vi = polygon.vertices[i], vj = polygon.vertices[j]; + if (ti !== BACK) + f.push(vi); + if (ti !== FRONT) + b.push(ti !== BACK ? vi.clone() : vi); + if ((ti | tj) === SPANNING) { + t = (this.w - BABYLON.Vector3.Dot(this.normal, vi.pos)) / BABYLON.Vector3.Dot(this.normal, vj.pos.subtract(vi.pos)); + var v = vi.interpolate(vj, t); + f.push(v); + b.push(v.clone()); + } + } + var poly; + if (f.length >= 3) { + poly = new Polygon(f, polygon.shared); + if (poly.plane) + front.push(poly); + } + if (b.length >= 3) { + poly = new Polygon(b, polygon.shared); + if (poly.plane) + back.push(poly); + } + break; + } + }; + // `BABYLON.CSG.Plane.EPSILON` is the tolerance used by `splitPolygon()` to decide if a + // point is on the plane. + Plane.EPSILON = 1e-5; + return Plane; + }()); + // # class Polygon + // Represents a convex polygon. The vertices used to initialize a polygon must + // be coplanar and form a convex loop. + // + // Each convex polygon has a `shared` property, which is shared between all + // polygons that are clones of each other or were split from the same polygon. + // This can be used to define per-polygon properties (such as surface color). + var Polygon = (function () { + function Polygon(vertices, shared) { + this.vertices = vertices; + this.shared = shared; + this.plane = Plane.FromPoints(vertices[0].pos, vertices[1].pos, vertices[2].pos); + } + Polygon.prototype.clone = function () { + var vertices = this.vertices.map(function (v) { return v.clone(); }); + return new Polygon(vertices, this.shared); + }; + Polygon.prototype.flip = function () { + this.vertices.reverse().map(function (v) { v.flip(); }); + this.plane.flip(); + }; + return Polygon; + }()); + // # class Node + // Holds a node in a BSP tree. A BSP tree is built from a collection of polygons + // by picking a polygon to split along. That polygon (and all other coplanar + // polygons) are added directly to that node and the other polygons are added to + // the front and/or back subtrees. This is not a leafy BSP tree since there is + // no distinction between internal and leaf nodes. + var Node = (function () { + function Node(polygons) { + this.plane = null; + this.front = null; + this.back = null; + this.polygons = []; + if (polygons) { + this.build(polygons); + } + } + Node.prototype.clone = function () { + var node = new Node(); + node.plane = this.plane && this.plane.clone(); + node.front = this.front && this.front.clone(); + node.back = this.back && this.back.clone(); + node.polygons = this.polygons.map(function (p) { return p.clone(); }); + return node; + }; + // Convert solid space to empty space and empty space to solid space. + Node.prototype.invert = function () { + for (var i = 0; i < this.polygons.length; i++) { + this.polygons[i].flip(); + } + if (this.plane) { + this.plane.flip(); + } + if (this.front) { + this.front.invert(); + } + if (this.back) { + this.back.invert(); + } + var temp = this.front; + this.front = this.back; + this.back = temp; + }; + // Recursively remove all polygons in `polygons` that are inside this BSP + // tree. + Node.prototype.clipPolygons = function (polygons) { + if (!this.plane) + return polygons.slice(); + var front = [], back = []; + for (var i = 0; i < polygons.length; i++) { + this.plane.splitPolygon(polygons[i], front, back, front, back); + } + if (this.front) { + front = this.front.clipPolygons(front); + } + if (this.back) { + back = this.back.clipPolygons(back); + } + else { + back = []; + } + return front.concat(back); + }; + // Remove all polygons in this BSP tree that are inside the other BSP tree + // `bsp`. + Node.prototype.clipTo = function (bsp) { + this.polygons = bsp.clipPolygons(this.polygons); + if (this.front) + this.front.clipTo(bsp); + if (this.back) + this.back.clipTo(bsp); + }; + // Return a list of all polygons in this BSP tree. + Node.prototype.allPolygons = function () { + var polygons = this.polygons.slice(); + if (this.front) + polygons = polygons.concat(this.front.allPolygons()); + if (this.back) + polygons = polygons.concat(this.back.allPolygons()); + return polygons; + }; + // Build a BSP tree out of `polygons`. When called on an existing tree, the + // new polygons are filtered down to the bottom of the tree and become new + // nodes there. Each set of polygons is partitioned using the first polygon + // (no heuristic is used to pick a good split). + Node.prototype.build = function (polygons) { + if (!polygons.length) + return; + if (!this.plane) + this.plane = polygons[0].plane.clone(); + var front = [], back = []; + for (var i = 0; i < polygons.length; i++) { + this.plane.splitPolygon(polygons[i], this.polygons, this.polygons, front, back); + } + if (front.length) { + if (!this.front) + this.front = new Node(); + this.front.build(front); + } + if (back.length) { + if (!this.back) + this.back = new Node(); + this.back.build(back); + } + }; + return Node; + }()); + var CSG = (function () { + function CSG() { + this.polygons = new Array(); + } + // Convert BABYLON.Mesh to BABYLON.CSG + CSG.FromMesh = function (mesh) { + var vertex, normal, uv, position, polygon, polygons = new Array(), vertices; + var matrix, meshPosition, meshRotation, meshRotationQuaternion, meshScaling; + if (mesh instanceof BABYLON.Mesh) { + mesh.computeWorldMatrix(true); + matrix = mesh.getWorldMatrix(); + meshPosition = mesh.position.clone(); + meshRotation = mesh.rotation.clone(); + if (mesh.rotationQuaternion) { + meshRotationQuaternion = mesh.rotationQuaternion.clone(); + } + meshScaling = mesh.scaling.clone(); + } + else { + throw 'BABYLON.CSG: Wrong Mesh type, must be BABYLON.Mesh'; + } + var indices = mesh.getIndices(), positions = mesh.getVerticesData(BABYLON.VertexBuffer.PositionKind), normals = mesh.getVerticesData(BABYLON.VertexBuffer.NormalKind), uvs = mesh.getVerticesData(BABYLON.VertexBuffer.UVKind); + var subMeshes = mesh.subMeshes; + for (var sm = 0, sml = subMeshes.length; sm < sml; sm++) { + for (var i = subMeshes[sm].indexStart, il = subMeshes[sm].indexCount + subMeshes[sm].indexStart; i < il; i += 3) { + vertices = []; + for (var j = 0; j < 3; j++) { + var sourceNormal = new BABYLON.Vector3(normals[indices[i + j] * 3], normals[indices[i + j] * 3 + 1], normals[indices[i + j] * 3 + 2]); + uv = new BABYLON.Vector2(uvs[indices[i + j] * 2], uvs[indices[i + j] * 2 + 1]); + var sourcePosition = new BABYLON.Vector3(positions[indices[i + j] * 3], positions[indices[i + j] * 3 + 1], positions[indices[i + j] * 3 + 2]); + position = BABYLON.Vector3.TransformCoordinates(sourcePosition, matrix); + normal = BABYLON.Vector3.TransformNormal(sourceNormal, matrix); + vertex = new Vertex(position, normal, uv); + vertices.push(vertex); + } + polygon = new Polygon(vertices, { subMeshId: sm, meshId: currentCSGMeshId, materialIndex: subMeshes[sm].materialIndex }); + // To handle the case of degenerated triangle + // polygon.plane == null <=> the polygon does not represent 1 single plane <=> the triangle is degenerated + if (polygon.plane) + polygons.push(polygon); + } + } + var csg = CSG.FromPolygons(polygons); + csg.matrix = matrix; + csg.position = meshPosition; + csg.rotation = meshRotation; + csg.scaling = meshScaling; + csg.rotationQuaternion = meshRotationQuaternion; + currentCSGMeshId++; + return csg; + }; + // Construct a BABYLON.CSG solid from a list of `BABYLON.CSG.Polygon` instances. + CSG.FromPolygons = function (polygons) { + var csg = new CSG(); + csg.polygons = polygons; + return csg; + }; + CSG.prototype.clone = function () { + var csg = new CSG(); + csg.polygons = this.polygons.map(function (p) { return p.clone(); }); + csg.copyTransformAttributes(this); + return csg; + }; + CSG.prototype.toPolygons = function () { + return this.polygons; + }; + CSG.prototype.union = function (csg) { + var a = new Node(this.clone().polygons); + var b = new Node(csg.clone().polygons); + a.clipTo(b); + b.clipTo(a); + b.invert(); + b.clipTo(a); + b.invert(); + a.build(b.allPolygons()); + return CSG.FromPolygons(a.allPolygons()).copyTransformAttributes(this); + }; + CSG.prototype.unionInPlace = function (csg) { + var a = new Node(this.polygons); + var b = new Node(csg.polygons); + a.clipTo(b); + b.clipTo(a); + b.invert(); + b.clipTo(a); + b.invert(); + a.build(b.allPolygons()); + this.polygons = a.allPolygons(); + }; + CSG.prototype.subtract = function (csg) { + var a = new Node(this.clone().polygons); + var b = new Node(csg.clone().polygons); + a.invert(); + a.clipTo(b); + b.clipTo(a); + b.invert(); + b.clipTo(a); + b.invert(); + a.build(b.allPolygons()); + a.invert(); + return CSG.FromPolygons(a.allPolygons()).copyTransformAttributes(this); + }; + CSG.prototype.subtractInPlace = function (csg) { + var a = new Node(this.polygons); + var b = new Node(csg.polygons); + a.invert(); + a.clipTo(b); + b.clipTo(a); + b.invert(); + b.clipTo(a); + b.invert(); + a.build(b.allPolygons()); + a.invert(); + this.polygons = a.allPolygons(); + }; + CSG.prototype.intersect = function (csg) { + var a = new Node(this.clone().polygons); + var b = new Node(csg.clone().polygons); + a.invert(); + b.clipTo(a); + b.invert(); + a.clipTo(b); + b.clipTo(a); + a.build(b.allPolygons()); + a.invert(); + return CSG.FromPolygons(a.allPolygons()).copyTransformAttributes(this); + }; + CSG.prototype.intersectInPlace = function (csg) { + var a = new Node(this.polygons); + var b = new Node(csg.polygons); + a.invert(); + b.clipTo(a); + b.invert(); + a.clipTo(b); + b.clipTo(a); + a.build(b.allPolygons()); + a.invert(); + this.polygons = a.allPolygons(); + }; + // Return a new BABYLON.CSG solid with solid and empty space switched. This solid is + // not modified. + CSG.prototype.inverse = function () { + var csg = this.clone(); + csg.inverseInPlace(); + return csg; + }; + CSG.prototype.inverseInPlace = function () { + this.polygons.map(function (p) { p.flip(); }); + }; + // This is used to keep meshes transformations so they can be restored + // when we build back a Babylon Mesh + // NB : All CSG operations are performed in world coordinates + CSG.prototype.copyTransformAttributes = function (csg) { + this.matrix = csg.matrix; + this.position = csg.position; + this.rotation = csg.rotation; + this.scaling = csg.scaling; + this.rotationQuaternion = csg.rotationQuaternion; + return this; + }; + // Build Raw mesh from CSG + // Coordinates here are in world space + CSG.prototype.buildMeshGeometry = function (name, scene, keepSubMeshes) { + var matrix = this.matrix.clone(); + matrix.invert(); + var mesh = new BABYLON.Mesh(name, scene), vertices = [], indices = [], normals = [], uvs = [], vertex = BABYLON.Vector3.Zero(), normal = BABYLON.Vector3.Zero(), uv = BABYLON.Vector2.Zero(), polygons = this.polygons, polygonIndices = [0, 0, 0], polygon, vertice_dict = {}, vertex_idx, currentIndex = 0, subMesh_dict = {}, subMesh_obj; + if (keepSubMeshes) { + // Sort Polygons, since subMeshes are indices range + polygons.sort(function (a, b) { + if (a.shared.meshId === b.shared.meshId) { + return a.shared.subMeshId - b.shared.subMeshId; + } + else { + return a.shared.meshId - b.shared.meshId; + } + }); + } + for (var i = 0, il = polygons.length; i < il; i++) { + polygon = polygons[i]; + // Building SubMeshes + if (!subMesh_dict[polygon.shared.meshId]) { + subMesh_dict[polygon.shared.meshId] = {}; + } + if (!subMesh_dict[polygon.shared.meshId][polygon.shared.subMeshId]) { + subMesh_dict[polygon.shared.meshId][polygon.shared.subMeshId] = { + indexStart: +Infinity, + indexEnd: -Infinity, + materialIndex: polygon.shared.materialIndex + }; + } + subMesh_obj = subMesh_dict[polygon.shared.meshId][polygon.shared.subMeshId]; + for (var j = 2, jl = polygon.vertices.length; j < jl; j++) { + polygonIndices[0] = 0; + polygonIndices[1] = j - 1; + polygonIndices[2] = j; + for (var k = 0; k < 3; k++) { + vertex.copyFrom(polygon.vertices[polygonIndices[k]].pos); + normal.copyFrom(polygon.vertices[polygonIndices[k]].normal); + uv.copyFrom(polygon.vertices[polygonIndices[k]].uv); + var localVertex = BABYLON.Vector3.TransformCoordinates(vertex, matrix); + var localNormal = BABYLON.Vector3.TransformNormal(normal, matrix); + vertex_idx = vertice_dict[localVertex.x + ',' + localVertex.y + ',' + localVertex.z]; + // Check if 2 points can be merged + if (!(typeof vertex_idx !== 'undefined' && + normals[vertex_idx * 3] === localNormal.x && + normals[vertex_idx * 3 + 1] === localNormal.y && + normals[vertex_idx * 3 + 2] === localNormal.z && + uvs[vertex_idx * 2] === uv.x && + uvs[vertex_idx * 2 + 1] === uv.y)) { + vertices.push(localVertex.x, localVertex.y, localVertex.z); + uvs.push(uv.x, uv.y); + normals.push(normal.x, normal.y, normal.z); + vertex_idx = vertice_dict[localVertex.x + ',' + localVertex.y + ',' + localVertex.z] = (vertices.length / 3) - 1; + } + indices.push(vertex_idx); + subMesh_obj.indexStart = Math.min(currentIndex, subMesh_obj.indexStart); + subMesh_obj.indexEnd = Math.max(currentIndex, subMesh_obj.indexEnd); + currentIndex++; + } + } + } + mesh.setVerticesData(BABYLON.VertexBuffer.PositionKind, vertices); + mesh.setVerticesData(BABYLON.VertexBuffer.NormalKind, normals); + mesh.setVerticesData(BABYLON.VertexBuffer.UVKind, uvs); + mesh.setIndices(indices); + if (keepSubMeshes) { + // We offset the materialIndex by the previous number of materials in the CSG mixed meshes + var materialIndexOffset = 0, materialMaxIndex; + mesh.subMeshes = new Array(); + for (var m in subMesh_dict) { + materialMaxIndex = -1; + for (var sm in subMesh_dict[m]) { + subMesh_obj = subMesh_dict[m][sm]; + BABYLON.SubMesh.CreateFromIndices(subMesh_obj.materialIndex + materialIndexOffset, subMesh_obj.indexStart, subMesh_obj.indexEnd - subMesh_obj.indexStart + 1, mesh); + materialMaxIndex = Math.max(subMesh_obj.materialIndex, materialMaxIndex); + } + materialIndexOffset += ++materialMaxIndex; + } + } + return mesh; + }; + // Build Mesh from CSG taking material and transforms into account + CSG.prototype.toMesh = function (name, material, scene, keepSubMeshes) { + var mesh = this.buildMeshGeometry(name, scene, keepSubMeshes); + mesh.material = material; + mesh.position.copyFrom(this.position); + mesh.rotation.copyFrom(this.rotation); + if (this.rotationQuaternion) { + mesh.rotationQuaternion = this.rotationQuaternion.clone(); + } + mesh.scaling.copyFrom(this.scaling); + mesh.computeWorldMatrix(true); + return mesh; + }; + return CSG; + }()); + BABYLON.CSG = CSG; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.csg.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var VRDistortionCorrectionPostProcess = (function (_super) { + __extends(VRDistortionCorrectionPostProcess, _super); + //ANY + function VRDistortionCorrectionPostProcess(name, camera, isRightEye, vrMetrics) { + var _this = this; + _super.call(this, name, "vrDistortionCorrection", [ + 'LensCenter', + 'Scale', + 'ScaleIn', + 'HmdWarpParam' + ], null, vrMetrics.postProcessScaleFactor, camera, BABYLON.Texture.BILINEAR_SAMPLINGMODE, null, null); + this._isRightEye = isRightEye; + this._distortionFactors = vrMetrics.distortionK; + this._postProcessScaleFactor = vrMetrics.postProcessScaleFactor; + this._lensCenterOffset = vrMetrics.lensCenterOffset; + this.onSizeChangedObservable.add(function () { + _this.aspectRatio = _this.width * .5 / _this.height; + _this._scaleIn = new BABYLON.Vector2(2, 2 / _this.aspectRatio); + _this._scaleFactor = new BABYLON.Vector2(.5 * (1 / _this._postProcessScaleFactor), .5 * (1 / _this._postProcessScaleFactor) * _this.aspectRatio); + _this._lensCenter = new BABYLON.Vector2(_this._isRightEye ? 0.5 - _this._lensCenterOffset * 0.5 : 0.5 + _this._lensCenterOffset * 0.5, 0.5); + }); + this.onApplyObservable.add(function (effect) { + effect.setFloat2("LensCenter", _this._lensCenter.x, _this._lensCenter.y); + effect.setFloat2("Scale", _this._scaleFactor.x, _this._scaleFactor.y); + effect.setFloat2("ScaleIn", _this._scaleIn.x, _this._scaleIn.y); + effect.setFloat4("HmdWarpParam", _this._distortionFactors[0], _this._distortionFactors[1], _this._distortionFactors[2], _this._distortionFactors[3]); + }); + } + return VRDistortionCorrectionPostProcess; + }(BABYLON.PostProcess)); + BABYLON.VRDistortionCorrectionPostProcess = VRDistortionCorrectionPostProcess; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.vrDistortionCorrectionPostProcess.js.map + +// Mainly based on these 2 articles : +// Creating an universal virtual touch joystick working for all Touch models thanks to Hand.JS : http://blogs.msdn.com/b/davrous/archive/2013/02/22/creating-an-universal-virtual-touch-joystick-working-for-all-touch-models-thanks-to-hand-js.aspx +// & on Seb Lee-Delisle original work: http://seb.ly/2011/04/multi-touch-game-controller-in-javascripthtml5-for-ipad/ +var BABYLON; +(function (BABYLON) { + (function (JoystickAxis) { + JoystickAxis[JoystickAxis["X"] = 0] = "X"; + JoystickAxis[JoystickAxis["Y"] = 1] = "Y"; + JoystickAxis[JoystickAxis["Z"] = 2] = "Z"; + })(BABYLON.JoystickAxis || (BABYLON.JoystickAxis = {})); + var JoystickAxis = BABYLON.JoystickAxis; + var VirtualJoystick = (function () { + function VirtualJoystick(leftJoystick) { + var _this = this; + if (leftJoystick) { + this._leftJoystick = true; + } + else { + this._leftJoystick = false; + } + this._joystickIndex = VirtualJoystick._globalJoystickIndex; + VirtualJoystick._globalJoystickIndex++; + // By default left & right arrow keys are moving the X + // and up & down keys are moving the Y + this._axisTargetedByLeftAndRight = JoystickAxis.X; + this._axisTargetedByUpAndDown = JoystickAxis.Y; + this.reverseLeftRight = false; + this.reverseUpDown = false; + // collections of pointers + this._touches = new BABYLON.StringDictionary(); + this.deltaPosition = BABYLON.Vector3.Zero(); + this._joystickSensibility = 25; + this._inversedSensibility = 1 / (this._joystickSensibility / 1000); + this._rotationSpeed = 25; + this._inverseRotationSpeed = 1 / (this._rotationSpeed / 1000); + this._rotateOnAxisRelativeToMesh = false; + this._onResize = function (evt) { + VirtualJoystick.vjCanvasWidth = window.innerWidth; + VirtualJoystick.vjCanvasHeight = window.innerHeight; + VirtualJoystick.vjCanvas.width = VirtualJoystick.vjCanvasWidth; + VirtualJoystick.vjCanvas.height = VirtualJoystick.vjCanvasHeight; + VirtualJoystick.halfWidth = VirtualJoystick.vjCanvasWidth / 2; + VirtualJoystick.halfHeight = VirtualJoystick.vjCanvasHeight / 2; + }; + // injecting a canvas element on top of the canvas 3D game + if (!VirtualJoystick.vjCanvas) { + window.addEventListener("resize", this._onResize, false); + VirtualJoystick.vjCanvas = document.createElement("canvas"); + VirtualJoystick.vjCanvasWidth = window.innerWidth; + VirtualJoystick.vjCanvasHeight = window.innerHeight; + VirtualJoystick.vjCanvas.width = window.innerWidth; + VirtualJoystick.vjCanvas.height = window.innerHeight; + VirtualJoystick.vjCanvas.style.width = "100%"; + VirtualJoystick.vjCanvas.style.height = "100%"; + VirtualJoystick.vjCanvas.style.position = "absolute"; + VirtualJoystick.vjCanvas.style.backgroundColor = "transparent"; + VirtualJoystick.vjCanvas.style.top = "0px"; + VirtualJoystick.vjCanvas.style.left = "0px"; + VirtualJoystick.vjCanvas.style.zIndex = "5"; + VirtualJoystick.vjCanvas.style.msTouchAction = "none"; + // Support for jQuery PEP polyfill + VirtualJoystick.vjCanvas.setAttribute("touch-action", "none"); + VirtualJoystick.vjCanvasContext = VirtualJoystick.vjCanvas.getContext('2d'); + VirtualJoystick.vjCanvasContext.strokeStyle = "#ffffff"; + VirtualJoystick.vjCanvasContext.lineWidth = 2; + document.body.appendChild(VirtualJoystick.vjCanvas); + } + VirtualJoystick.halfWidth = VirtualJoystick.vjCanvas.width / 2; + VirtualJoystick.halfHeight = VirtualJoystick.vjCanvas.height / 2; + this.pressed = false; + // default joystick color + this._joystickColor = "cyan"; + this._joystickPointerID = -1; + // current joystick position + this._joystickPointerPos = new BABYLON.Vector2(0, 0); + this._joystickPreviousPointerPos = new BABYLON.Vector2(0, 0); + // origin joystick position + this._joystickPointerStartPos = new BABYLON.Vector2(0, 0); + this._deltaJoystickVector = new BABYLON.Vector2(0, 0); + this._onPointerDownHandlerRef = function (evt) { + _this._onPointerDown(evt); + }; + this._onPointerMoveHandlerRef = function (evt) { + _this._onPointerMove(evt); + }; + this._onPointerOutHandlerRef = function (evt) { + _this._onPointerUp(evt); + }; + this._onPointerUpHandlerRef = function (evt) { + _this._onPointerUp(evt); + }; + VirtualJoystick.vjCanvas.addEventListener('pointerdown', this._onPointerDownHandlerRef, false); + VirtualJoystick.vjCanvas.addEventListener('pointermove', this._onPointerMoveHandlerRef, false); + VirtualJoystick.vjCanvas.addEventListener('pointerup', this._onPointerUpHandlerRef, false); + VirtualJoystick.vjCanvas.addEventListener('pointerout', this._onPointerUpHandlerRef, false); + VirtualJoystick.vjCanvas.addEventListener("contextmenu", function (evt) { + evt.preventDefault(); // Disables system menu + }, false); + requestAnimationFrame(function () { _this._drawVirtualJoystick(); }); + } + VirtualJoystick.prototype.setJoystickSensibility = function (newJoystickSensibility) { + this._joystickSensibility = newJoystickSensibility; + this._inversedSensibility = 1 / (this._joystickSensibility / 1000); + }; + VirtualJoystick.prototype._onPointerDown = function (e) { + var positionOnScreenCondition; + e.preventDefault(); + if (this._leftJoystick === true) { + positionOnScreenCondition = (e.clientX < VirtualJoystick.halfWidth); + } + else { + positionOnScreenCondition = (e.clientX > VirtualJoystick.halfWidth); + } + if (positionOnScreenCondition && this._joystickPointerID < 0) { + // First contact will be dedicated to the virtual joystick + this._joystickPointerID = e.pointerId; + this._joystickPointerStartPos.x = e.clientX; + this._joystickPointerStartPos.y = e.clientY; + this._joystickPointerPos = this._joystickPointerStartPos.clone(); + this._joystickPreviousPointerPos = this._joystickPointerStartPos.clone(); + this._deltaJoystickVector.x = 0; + this._deltaJoystickVector.y = 0; + this.pressed = true; + this._touches.add(e.pointerId.toString(), e); + } + else { + // You can only trigger the action buttons with a joystick declared + if (VirtualJoystick._globalJoystickIndex < 2 && this._action) { + this._action(); + this._touches.add(e.pointerId.toString(), { x: e.clientX, y: e.clientY, prevX: e.clientX, prevY: e.clientY }); + } + } + }; + VirtualJoystick.prototype._onPointerMove = function (e) { + // If the current pointer is the one associated to the joystick (first touch contact) + if (this._joystickPointerID == e.pointerId) { + this._joystickPointerPos.x = e.clientX; + this._joystickPointerPos.y = e.clientY; + this._deltaJoystickVector = this._joystickPointerPos.clone(); + this._deltaJoystickVector = this._deltaJoystickVector.subtract(this._joystickPointerStartPos); + var directionLeftRight = this.reverseLeftRight ? -1 : 1; + var deltaJoystickX = directionLeftRight * this._deltaJoystickVector.x / this._inversedSensibility; + switch (this._axisTargetedByLeftAndRight) { + case JoystickAxis.X: + this.deltaPosition.x = Math.min(1, Math.max(-1, deltaJoystickX)); + break; + case JoystickAxis.Y: + this.deltaPosition.y = Math.min(1, Math.max(-1, deltaJoystickX)); + break; + case JoystickAxis.Z: + this.deltaPosition.z = Math.min(1, Math.max(-1, deltaJoystickX)); + break; + } + var directionUpDown = this.reverseUpDown ? 1 : -1; + var deltaJoystickY = directionUpDown * this._deltaJoystickVector.y / this._inversedSensibility; + switch (this._axisTargetedByUpAndDown) { + case JoystickAxis.X: + this.deltaPosition.x = Math.min(1, Math.max(-1, deltaJoystickY)); + break; + case JoystickAxis.Y: + this.deltaPosition.y = Math.min(1, Math.max(-1, deltaJoystickY)); + break; + case JoystickAxis.Z: + this.deltaPosition.z = Math.min(1, Math.max(-1, deltaJoystickY)); + break; + } + } + else { + var data = this._touches.get(e.pointerId.toString()); + if (data) { + data.x = e.clientX; + data.y = e.clientY; + } + } + }; + VirtualJoystick.prototype._onPointerUp = function (e) { + if (this._joystickPointerID == e.pointerId) { + VirtualJoystick.vjCanvasContext.clearRect(this._joystickPointerStartPos.x - 63, this._joystickPointerStartPos.y - 63, 126, 126); + VirtualJoystick.vjCanvasContext.clearRect(this._joystickPreviousPointerPos.x - 41, this._joystickPreviousPointerPos.y - 41, 82, 82); + this._joystickPointerID = -1; + this.pressed = false; + } + else { + var touch = this._touches.get(e.pointerId.toString()); + if (touch) { + VirtualJoystick.vjCanvasContext.clearRect(touch.prevX - 43, touch.prevY - 43, 86, 86); + } + } + this._deltaJoystickVector.x = 0; + this._deltaJoystickVector.y = 0; + this._touches.remove(e.pointerId.toString()); + }; + /** + * Change the color of the virtual joystick + * @param newColor a string that must be a CSS color value (like "red") or the hexa value (like "#FF0000") + */ + VirtualJoystick.prototype.setJoystickColor = function (newColor) { + this._joystickColor = newColor; + }; + VirtualJoystick.prototype.setActionOnTouch = function (action) { + this._action = action; + }; + // Define which axis you'd like to control for left & right + VirtualJoystick.prototype.setAxisForLeftRight = function (axis) { + switch (axis) { + case JoystickAxis.X: + case JoystickAxis.Y: + case JoystickAxis.Z: + this._axisTargetedByLeftAndRight = axis; + break; + default: + this._axisTargetedByLeftAndRight = JoystickAxis.X; + break; + } + }; + // Define which axis you'd like to control for up & down + VirtualJoystick.prototype.setAxisForUpDown = function (axis) { + switch (axis) { + case JoystickAxis.X: + case JoystickAxis.Y: + case JoystickAxis.Z: + this._axisTargetedByUpAndDown = axis; + break; + default: + this._axisTargetedByUpAndDown = JoystickAxis.Y; + break; + } + }; + VirtualJoystick.prototype._clearCanvas = function () { + if (this._leftJoystick) { + VirtualJoystick.vjCanvasContext.clearRect(0, 0, VirtualJoystick.vjCanvasWidth / 2, VirtualJoystick.vjCanvasHeight); + } + else { + VirtualJoystick.vjCanvasContext.clearRect(VirtualJoystick.vjCanvasWidth / 2, 0, VirtualJoystick.vjCanvasWidth, VirtualJoystick.vjCanvasHeight); + } + }; + VirtualJoystick.prototype._drawVirtualJoystick = function () { + var _this = this; + if (this.pressed) { + this._touches.forEach(function (touch) { + if (touch.pointerId === _this._joystickPointerID) { + VirtualJoystick.vjCanvasContext.clearRect(_this._joystickPointerStartPos.x - 63, _this._joystickPointerStartPos.y - 63, 126, 126); + VirtualJoystick.vjCanvasContext.clearRect(_this._joystickPreviousPointerPos.x - 41, _this._joystickPreviousPointerPos.y - 41, 82, 82); + VirtualJoystick.vjCanvasContext.beginPath(); + VirtualJoystick.vjCanvasContext.lineWidth = 6; + VirtualJoystick.vjCanvasContext.strokeStyle = _this._joystickColor; + VirtualJoystick.vjCanvasContext.arc(_this._joystickPointerStartPos.x, _this._joystickPointerStartPos.y, 40, 0, Math.PI * 2, true); + VirtualJoystick.vjCanvasContext.stroke(); + VirtualJoystick.vjCanvasContext.closePath(); + VirtualJoystick.vjCanvasContext.beginPath(); + VirtualJoystick.vjCanvasContext.strokeStyle = _this._joystickColor; + VirtualJoystick.vjCanvasContext.lineWidth = 2; + VirtualJoystick.vjCanvasContext.arc(_this._joystickPointerStartPos.x, _this._joystickPointerStartPos.y, 60, 0, Math.PI * 2, true); + VirtualJoystick.vjCanvasContext.stroke(); + VirtualJoystick.vjCanvasContext.closePath(); + VirtualJoystick.vjCanvasContext.beginPath(); + VirtualJoystick.vjCanvasContext.strokeStyle = _this._joystickColor; + VirtualJoystick.vjCanvasContext.arc(_this._joystickPointerPos.x, _this._joystickPointerPos.y, 40, 0, Math.PI * 2, true); + VirtualJoystick.vjCanvasContext.stroke(); + VirtualJoystick.vjCanvasContext.closePath(); + _this._joystickPreviousPointerPos = _this._joystickPointerPos.clone(); + } + else { + VirtualJoystick.vjCanvasContext.clearRect(touch.prevX - 43, touch.prevY - 43, 86, 86); + VirtualJoystick.vjCanvasContext.beginPath(); + VirtualJoystick.vjCanvasContext.fillStyle = "white"; + VirtualJoystick.vjCanvasContext.beginPath(); + VirtualJoystick.vjCanvasContext.strokeStyle = "red"; + VirtualJoystick.vjCanvasContext.lineWidth = 6; + VirtualJoystick.vjCanvasContext.arc(touch.x, touch.y, 40, 0, Math.PI * 2, true); + VirtualJoystick.vjCanvasContext.stroke(); + VirtualJoystick.vjCanvasContext.closePath(); + touch.prevX = touch.x; + touch.prevY = touch.y; + } + ; + }); + } + requestAnimationFrame(function () { _this._drawVirtualJoystick(); }); + }; + VirtualJoystick.prototype.releaseCanvas = function () { + if (VirtualJoystick.vjCanvas) { + VirtualJoystick.vjCanvas.removeEventListener('pointerdown', this._onPointerDownHandlerRef); + VirtualJoystick.vjCanvas.removeEventListener('pointermove', this._onPointerMoveHandlerRef); + VirtualJoystick.vjCanvas.removeEventListener('pointerup', this._onPointerUpHandlerRef); + VirtualJoystick.vjCanvas.removeEventListener('pointerout', this._onPointerUpHandlerRef); + window.removeEventListener("resize", this._onResize); + document.body.removeChild(VirtualJoystick.vjCanvas); + VirtualJoystick.vjCanvas = null; + } + }; + // Used to draw the virtual joystick inside a 2D canvas on top of the WebGL rendering canvas + VirtualJoystick._globalJoystickIndex = 0; + return VirtualJoystick; + }()); + BABYLON.VirtualJoystick = VirtualJoystick; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.virtualJoystick.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + // We're mainly based on the logic defined into the FreeCamera code + var VirtualJoysticksCamera = (function (_super) { + __extends(VirtualJoysticksCamera, _super); + function VirtualJoysticksCamera(name, position, scene) { + _super.call(this, name, position, scene); + this.inputs.addVirtualJoystick(); + } + return VirtualJoysticksCamera; + }(BABYLON.FreeCamera)); + BABYLON.VirtualJoysticksCamera = VirtualJoysticksCamera; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.virtualJoysticksCamera.js.map + +var BABYLON; +(function (BABYLON) { + var FreeCameraVirtualJoystickInput = (function () { + function FreeCameraVirtualJoystickInput() { + } + FreeCameraVirtualJoystickInput.prototype.getLeftJoystick = function () { + return this._leftjoystick; + }; + FreeCameraVirtualJoystickInput.prototype.getRightJoystick = function () { + return this._rightjoystick; + }; + FreeCameraVirtualJoystickInput.prototype.checkInputs = function () { + if (this._leftjoystick) { + var camera = this.camera; + var speed = camera._computeLocalCameraSpeed() * 50; + var cameraTransform = BABYLON.Matrix.RotationYawPitchRoll(camera.rotation.y, camera.rotation.x, 0); + var deltaTransform = BABYLON.Vector3.TransformCoordinates(new BABYLON.Vector3(this._leftjoystick.deltaPosition.x * speed, this._leftjoystick.deltaPosition.y * speed, this._leftjoystick.deltaPosition.z * speed), cameraTransform); + camera.cameraDirection = camera.cameraDirection.add(deltaTransform); + camera.cameraRotation = camera.cameraRotation.addVector3(this._rightjoystick.deltaPosition); + if (!this._leftjoystick.pressed) { + this._leftjoystick.deltaPosition = this._leftjoystick.deltaPosition.scale(0.9); + } + if (!this._rightjoystick.pressed) { + this._rightjoystick.deltaPosition = this._rightjoystick.deltaPosition.scale(0.9); + } + } + }; + FreeCameraVirtualJoystickInput.prototype.attachControl = function (element, noPreventDefault) { + this._leftjoystick = new BABYLON.VirtualJoystick(true); + this._leftjoystick.setAxisForUpDown(BABYLON.JoystickAxis.Z); + this._leftjoystick.setAxisForLeftRight(BABYLON.JoystickAxis.X); + this._leftjoystick.setJoystickSensibility(0.15); + this._rightjoystick = new BABYLON.VirtualJoystick(false); + this._rightjoystick.setAxisForUpDown(BABYLON.JoystickAxis.X); + this._rightjoystick.setAxisForLeftRight(BABYLON.JoystickAxis.Y); + this._rightjoystick.reverseUpDown = true; + this._rightjoystick.setJoystickSensibility(0.05); + this._rightjoystick.setJoystickColor("yellow"); + }; + FreeCameraVirtualJoystickInput.prototype.detachControl = function (element) { + this._leftjoystick.releaseCanvas(); + this._rightjoystick.releaseCanvas(); + }; + FreeCameraVirtualJoystickInput.prototype.getTypeName = function () { + return "FreeCameraVirtualJoystickInput"; + }; + FreeCameraVirtualJoystickInput.prototype.getSimpleName = function () { + return "virtualJoystick"; + }; + return FreeCameraVirtualJoystickInput; + }()); + BABYLON.FreeCameraVirtualJoystickInput = FreeCameraVirtualJoystickInput; + BABYLON.CameraInputTypes["FreeCameraVirtualJoystickInput"] = FreeCameraVirtualJoystickInput; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.freecamera.input.virtualjoystick.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var AnaglyphPostProcess = (function (_super) { + __extends(AnaglyphPostProcess, _super); + function AnaglyphPostProcess(name, options, rigCameras, samplingMode, engine, reusable) { + var _this = this; + _super.call(this, name, "anaglyph", null, ["leftSampler"], options, rigCameras[1], samplingMode, engine, reusable); + this._passedProcess = rigCameras[0]._rigPostProcess; + this.onApplyObservable.add(function (effect) { + effect.setTextureFromPostProcess("leftSampler", _this._passedProcess); + }); + } + return AnaglyphPostProcess; + }(BABYLON.PostProcess)); + BABYLON.AnaglyphPostProcess = AnaglyphPostProcess; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.anaglyphPostProcess.js.map + +var BABYLON; +(function (BABYLON) { + var OutlineRenderer = (function () { + function OutlineRenderer(scene) { + this._scene = scene; + } + OutlineRenderer.prototype.render = function (subMesh, batch, useOverlay) { + var _this = this; + if (useOverlay === void 0) { useOverlay = false; } + var scene = this._scene; + var engine = this._scene.getEngine(); + var hardwareInstancedRendering = (engine.getCaps().instancedArrays !== null) && (batch.visibleInstances[subMesh._id] !== null) && (batch.visibleInstances[subMesh._id] !== undefined); + if (!this.isReady(subMesh, hardwareInstancedRendering)) { + return; + } + var mesh = subMesh.getRenderingMesh(); + var material = subMesh.getMaterial(); + engine.enableEffect(this._effect); + this._effect.setFloat("offset", useOverlay ? 0 : mesh.outlineWidth); + this._effect.setColor4("color", useOverlay ? mesh.overlayColor : mesh.outlineColor, useOverlay ? mesh.overlayAlpha : 1.0); + this._effect.setMatrix("viewProjection", scene.getTransformMatrix()); + // Bones + if (mesh.useBones && mesh.computeBonesUsingShaders) { + this._effect.setMatrices("mBones", mesh.skeleton.getTransformMatrices(mesh)); + } + mesh._bind(subMesh, this._effect, BABYLON.Material.TriangleFillMode); + // Alpha test + if (material && material.needAlphaTesting()) { + var alphaTexture = material.getAlphaTestTexture(); + this._effect.setTexture("diffuseSampler", alphaTexture); + this._effect.setMatrix("diffuseMatrix", alphaTexture.getTextureMatrix()); + } + mesh._processRendering(subMesh, this._effect, BABYLON.Material.TriangleFillMode, batch, hardwareInstancedRendering, function (isInstance, world) { _this._effect.setMatrix("world", world); }); + }; + OutlineRenderer.prototype.isReady = function (subMesh, useInstances) { + var defines = []; + var attribs = [BABYLON.VertexBuffer.PositionKind, BABYLON.VertexBuffer.NormalKind]; + var mesh = subMesh.getMesh(); + var material = subMesh.getMaterial(); + // Alpha test + if (material && material.needAlphaTesting()) { + defines.push("#define ALPHATEST"); + if (mesh.isVerticesDataPresent(BABYLON.VertexBuffer.UVKind)) { + attribs.push(BABYLON.VertexBuffer.UVKind); + defines.push("#define UV1"); + } + if (mesh.isVerticesDataPresent(BABYLON.VertexBuffer.UV2Kind)) { + attribs.push(BABYLON.VertexBuffer.UV2Kind); + defines.push("#define UV2"); + } + } + // Bones + if (mesh.useBones && mesh.computeBonesUsingShaders) { + attribs.push(BABYLON.VertexBuffer.MatricesIndicesKind); + attribs.push(BABYLON.VertexBuffer.MatricesWeightsKind); + if (mesh.numBoneInfluencers > 4) { + attribs.push(BABYLON.VertexBuffer.MatricesIndicesExtraKind); + attribs.push(BABYLON.VertexBuffer.MatricesWeightsExtraKind); + } + defines.push("#define NUM_BONE_INFLUENCERS " + mesh.numBoneInfluencers); + defines.push("#define BonesPerMesh " + (mesh.skeleton.bones.length + 1)); + } + else { + defines.push("#define NUM_BONE_INFLUENCERS 0"); + } + // Instances + if (useInstances) { + defines.push("#define INSTANCES"); + attribs.push("world0"); + attribs.push("world1"); + attribs.push("world2"); + attribs.push("world3"); + } + // Get correct effect + var join = defines.join("\n"); + if (this._cachedDefines !== join) { + this._cachedDefines = join; + this._effect = this._scene.getEngine().createEffect("outline", attribs, ["world", "mBones", "viewProjection", "diffuseMatrix", "offset", "color"], ["diffuseSampler"], join); + } + return this._effect.isReady(); + }; + return OutlineRenderer; + }()); + BABYLON.OutlineRenderer = OutlineRenderer; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.outlineRenderer.js.map + +var BABYLON; +(function (BABYLON) { + var MeshAssetTask = (function () { + function MeshAssetTask(name, meshesNames, rootUrl, sceneFilename) { + this.name = name; + this.meshesNames = meshesNames; + this.rootUrl = rootUrl; + this.sceneFilename = sceneFilename; + this.isCompleted = false; + } + MeshAssetTask.prototype.run = function (scene, onSuccess, onError) { + var _this = this; + BABYLON.SceneLoader.ImportMesh(this.meshesNames, this.rootUrl, this.sceneFilename, scene, function (meshes, particleSystems, skeletons) { + _this.loadedMeshes = meshes; + _this.loadedParticleSystems = particleSystems; + _this.loadedSkeletons = skeletons; + _this.isCompleted = true; + if (_this.onSuccess) { + _this.onSuccess(_this); + } + onSuccess(); + }, null, function () { + if (_this.onError) { + _this.onError(_this); + } + onError(); + }); + }; + return MeshAssetTask; + }()); + BABYLON.MeshAssetTask = MeshAssetTask; + var TextFileAssetTask = (function () { + function TextFileAssetTask(name, url) { + this.name = name; + this.url = url; + this.isCompleted = false; + } + TextFileAssetTask.prototype.run = function (scene, onSuccess, onError) { + var _this = this; + BABYLON.Tools.LoadFile(this.url, function (data) { + _this.text = data; + _this.isCompleted = true; + if (_this.onSuccess) { + _this.onSuccess(_this); + } + onSuccess(); + }, null, scene.database, false, function () { + if (_this.onError) { + _this.onError(_this); + } + onError(); + }); + }; + return TextFileAssetTask; + }()); + BABYLON.TextFileAssetTask = TextFileAssetTask; + var BinaryFileAssetTask = (function () { + function BinaryFileAssetTask(name, url) { + this.name = name; + this.url = url; + this.isCompleted = false; + } + BinaryFileAssetTask.prototype.run = function (scene, onSuccess, onError) { + var _this = this; + BABYLON.Tools.LoadFile(this.url, function (data) { + _this.data = data; + _this.isCompleted = true; + if (_this.onSuccess) { + _this.onSuccess(_this); + } + onSuccess(); + }, null, scene.database, true, function () { + if (_this.onError) { + _this.onError(_this); + } + onError(); + }); + }; + return BinaryFileAssetTask; + }()); + BABYLON.BinaryFileAssetTask = BinaryFileAssetTask; + var ImageAssetTask = (function () { + function ImageAssetTask(name, url) { + this.name = name; + this.url = url; + this.isCompleted = false; + } + ImageAssetTask.prototype.run = function (scene, onSuccess, onError) { + var _this = this; + var img = new Image(); + BABYLON.Tools.SetCorsBehavior(this.url, img); + img.onload = function () { + _this.image = img; + _this.isCompleted = true; + if (_this.onSuccess) { + _this.onSuccess(_this); + } + onSuccess(); + }; + img.onerror = function () { + if (_this.onError) { + _this.onError(_this); + } + onError(); + }; + img.src = this.url; + }; + return ImageAssetTask; + }()); + BABYLON.ImageAssetTask = ImageAssetTask; + var TextureAssetTask = (function () { + function TextureAssetTask(name, url, noMipmap, invertY, samplingMode) { + if (samplingMode === void 0) { samplingMode = BABYLON.Texture.TRILINEAR_SAMPLINGMODE; } + this.name = name; + this.url = url; + this.noMipmap = noMipmap; + this.invertY = invertY; + this.samplingMode = samplingMode; + this.isCompleted = false; + } + TextureAssetTask.prototype.run = function (scene, onSuccess, onError) { + var _this = this; + var onload = function () { + _this.isCompleted = true; + if (_this.onSuccess) { + _this.onSuccess(_this); + } + onSuccess(); + }; + var onerror = function () { + if (_this.onError) { + _this.onError(_this); + } + onError(); + }; + this.texture = new BABYLON.Texture(this.url, scene, this.noMipmap, this.invertY, this.samplingMode, onload, onerror); + }; + return TextureAssetTask; + }()); + BABYLON.TextureAssetTask = TextureAssetTask; + var CubeTextureAssetTask = (function () { + function CubeTextureAssetTask(name, url, extensions, noMipmap, files) { + this.name = name; + this.url = url; + this.extensions = extensions; + this.noMipmap = noMipmap; + this.files = files; + this.isCompleted = false; + } + CubeTextureAssetTask.prototype.run = function (scene, onSuccess, onError) { + var _this = this; + var onload = function () { + _this.isCompleted = true; + if (_this.onSuccess) { + _this.onSuccess(_this); + } + onSuccess(); + }; + var onerror = function () { + if (_this.onError) { + _this.onError(_this); + } + onError(); + }; + this.texture = new BABYLON.CubeTexture(this.url, scene, this.extensions, this.noMipmap, this.files, onload, onerror); + }; + return CubeTextureAssetTask; + }()); + BABYLON.CubeTextureAssetTask = CubeTextureAssetTask; + var AssetsManager = (function () { + function AssetsManager(scene) { + this.tasks = new Array(); + this.waitingTasksCount = 0; + this.useDefaultLoadingScreen = true; + this._scene = scene; + } + AssetsManager.prototype.addMeshTask = function (taskName, meshesNames, rootUrl, sceneFilename) { + var task = new MeshAssetTask(taskName, meshesNames, rootUrl, sceneFilename); + this.tasks.push(task); + return task; + }; + AssetsManager.prototype.addTextFileTask = function (taskName, url) { + var task = new TextFileAssetTask(taskName, url); + this.tasks.push(task); + return task; + }; + AssetsManager.prototype.addBinaryFileTask = function (taskName, url) { + var task = new BinaryFileAssetTask(taskName, url); + this.tasks.push(task); + return task; + }; + AssetsManager.prototype.addImageTask = function (taskName, url) { + var task = new ImageAssetTask(taskName, url); + this.tasks.push(task); + return task; + }; + AssetsManager.prototype.addTextureTask = function (taskName, url, noMipmap, invertY, samplingMode) { + if (samplingMode === void 0) { samplingMode = BABYLON.Texture.TRILINEAR_SAMPLINGMODE; } + var task = new TextureAssetTask(taskName, url, noMipmap, invertY, samplingMode); + this.tasks.push(task); + return task; + }; + AssetsManager.prototype._decreaseWaitingTasksCount = function () { + this.waitingTasksCount--; + if (this.waitingTasksCount === 0) { + if (this.onFinish) { + this.onFinish(this.tasks); + } + this._scene.getEngine().hideLoadingUI(); + } + }; + AssetsManager.prototype._runTask = function (task) { + var _this = this; + task.run(this._scene, function () { + if (_this.onTaskSuccess) { + _this.onTaskSuccess(task); + } + _this._decreaseWaitingTasksCount(); + }, function () { + if (_this.onTaskError) { + _this.onTaskError(task); + } + _this._decreaseWaitingTasksCount(); + }); + }; + AssetsManager.prototype.reset = function () { + this.tasks = new Array(); + return this; + }; + AssetsManager.prototype.load = function () { + this.waitingTasksCount = this.tasks.length; + if (this.waitingTasksCount === 0) { + if (this.onFinish) { + this.onFinish(this.tasks); + } + return this; + } + if (this.useDefaultLoadingScreen) { + this._scene.getEngine().displayLoadingUI(); + } + for (var index = 0; index < this.tasks.length; index++) { + var task = this.tasks[index]; + this._runTask(task); + } + return this; + }; + return AssetsManager; + }()); + BABYLON.AssetsManager = AssetsManager; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.assetsManager.js.map + +var BABYLON; +(function (BABYLON) { + var VRCameraMetrics = (function () { + function VRCameraMetrics() { + this.compensateDistortion = true; + } + Object.defineProperty(VRCameraMetrics.prototype, "aspectRatio", { + get: function () { + return this.hResolution / (2 * this.vResolution); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(VRCameraMetrics.prototype, "aspectRatioFov", { + get: function () { + return (2 * Math.atan((this.postProcessScaleFactor * this.vScreenSize) / (2 * this.eyeToScreenDistance))); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(VRCameraMetrics.prototype, "leftHMatrix", { + get: function () { + var meters = (this.hScreenSize / 4) - (this.lensSeparationDistance / 2); + var h = (4 * meters) / this.hScreenSize; + return BABYLON.Matrix.Translation(h, 0, 0); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(VRCameraMetrics.prototype, "rightHMatrix", { + get: function () { + var meters = (this.hScreenSize / 4) - (this.lensSeparationDistance / 2); + var h = (4 * meters) / this.hScreenSize; + return BABYLON.Matrix.Translation(-h, 0, 0); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(VRCameraMetrics.prototype, "leftPreViewMatrix", { + get: function () { + return BABYLON.Matrix.Translation(0.5 * this.interpupillaryDistance, 0, 0); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(VRCameraMetrics.prototype, "rightPreViewMatrix", { + get: function () { + return BABYLON.Matrix.Translation(-0.5 * this.interpupillaryDistance, 0, 0); + }, + enumerable: true, + configurable: true + }); + VRCameraMetrics.GetDefault = function () { + var result = new VRCameraMetrics(); + result.hResolution = 1280; + result.vResolution = 800; + result.hScreenSize = 0.149759993; + result.vScreenSize = 0.0935999975; + result.vScreenCenter = 0.0467999987, + result.eyeToScreenDistance = 0.0410000011; + result.lensSeparationDistance = 0.0635000020; + result.interpupillaryDistance = 0.0640000030; + result.distortionK = [1.0, 0.219999999, 0.239999995, 0.0]; + result.chromaAbCorrection = [0.995999992, -0.00400000019, 1.01400006, 0.0]; + result.postProcessScaleFactor = 1.714605507808412; + result.lensCenterOffset = 0.151976421; + return result; + }; + return VRCameraMetrics; + }()); + BABYLON.VRCameraMetrics = VRCameraMetrics; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.vrCameraMetrics.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var WebVRFreeCamera = (function (_super) { + __extends(WebVRFreeCamera, _super); + function WebVRFreeCamera(name, position, scene, compensateDistortion, webVROptions) { + var _this = this; + if (compensateDistortion === void 0) { compensateDistortion = false; } + if (webVROptions === void 0) { webVROptions = {}; } + _super.call(this, name, position, scene); + this.webVROptions = webVROptions; + this._vrDevice = null; + this._cacheState = null; + this._vrEnabled = false; + this._attached = false; + //using the position provided as the current position offset + this._positionOffset = position; + //enable VR + this.getEngine().initWebVR(); + if (!this.getEngine().vrDisplaysPromise) { + BABYLON.Tools.Error("WebVR is not enabled on your browser"); + } + else { + //TODO get the metrics updated using the device's eye parameters! + //TODO also check that the device has the right capabilities! + this._frameData = new VRFrameData(); + this.getEngine().vrDisplaysPromise.then(function (devices) { + if (devices.length > 0) { + _this._vrEnabled = true; + if (_this.webVROptions.displayName) { + var found = devices.some(function (device) { + if (device.displayName === _this.webVROptions.displayName) { + _this._vrDevice = device; + return true; + } + else { + return false; + } + }); + if (!found) { + _this._vrDevice = devices[0]; + BABYLON.Tools.Warn("Display " + _this.webVROptions.displayName + " was not found. Using " + _this._vrDevice.displayName); + } + } + else { + //choose the first one + _this._vrDevice = devices[0]; + } + //reset the rig parameters. + _this.setCameraRigMode(BABYLON.Camera.RIG_MODE_WEBVR, { vrDisplay: _this._vrDevice, frameData: _this._frameData }); + if (_this._attached) { + _this.getEngine().enableVR(_this._vrDevice); + } + } + else { + BABYLON.Tools.Error("No WebVR devices found!"); + } + }); + } + this.rotationQuaternion = new BABYLON.Quaternion(); + this._quaternionCache = new BABYLON.Quaternion(); + } + WebVRFreeCamera.prototype._checkInputs = function () { + if (this._vrEnabled && this._vrDevice.getFrameData(this._frameData)) { + var currentPost = this._frameData.pose; + //make sure we have data + if (currentPost && currentPost.orientation) { + this._cacheState = currentPost; + this.rotationQuaternion.copyFromFloats(this._cacheState.orientation[0], this._cacheState.orientation[1], -this._cacheState.orientation[2], -this._cacheState.orientation[3]); + if (this.webVROptions.trackPosition && this._cacheState.position) { + this.position.copyFromFloats(this._cacheState.position[0], this._cacheState.position[1], -this._cacheState.position[2]); + //scale the position accordingly + this.webVROptions.positionScale && this.position.scaleInPlace(this.webVROptions.positionScale); + //add the position offset + this.position.addInPlace(this._positionOffset); + } + } + } + _super.prototype._checkInputs.call(this); + }; + WebVRFreeCamera.prototype.attachControl = function (element, noPreventDefault) { + _super.prototype.attachControl.call(this, element, noPreventDefault); + this._attached = true; + noPreventDefault = BABYLON.Camera.ForceAttachControlToAlwaysPreventDefault ? false : noPreventDefault; + if (this._vrEnabled) { + this.getEngine().enableVR(this._vrDevice); + } + }; + WebVRFreeCamera.prototype.detachControl = function (element) { + _super.prototype.detachControl.call(this, element); + this._vrEnabled = false; + this._attached = false; + this.getEngine().disableVR(); + }; + WebVRFreeCamera.prototype.requestVRFullscreen = function (requestPointerlock) { + //Backwards comp. + BABYLON.Tools.Warn("requestVRFullscreen is deprecated. call attachControl() to start sending frames to the VR display."); + //this.getEngine().switchFullscreen(requestPointerlock); + }; + WebVRFreeCamera.prototype.getTypeName = function () { + return "WebVRFreeCamera"; + }; + WebVRFreeCamera.prototype.resetToCurrentRotation = function () { + //uses the vrDisplay's "resetPose()". + //pitch and roll won't be affected. + this._vrDevice.resetPose(); + }; + /** + * + * Set the position offset of the VR camera + * The offset will be added to the WebVR pose, after scaling it (if set). + * + * @param {Vector3} [newPosition] an optional new position. if not provided, the current camera position will be used. + * + * @memberOf WebVRFreeCamera + */ + WebVRFreeCamera.prototype.setPositionOffset = function (newPosition) { + if (newPosition) { + this._positionOffset = newPosition; + } + else { + this._positionOffset.copyFrom(this.position); + } + }; + return WebVRFreeCamera; + }(BABYLON.FreeCamera)); + BABYLON.WebVRFreeCamera = WebVRFreeCamera; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.webVRCamera.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + // Standard optimizations + var SceneOptimization = (function () { + function SceneOptimization(priority) { + if (priority === void 0) { priority = 0; } + this.priority = priority; + this.apply = function (scene) { + return true; // Return true if everything that can be done was applied + }; + } + return SceneOptimization; + }()); + BABYLON.SceneOptimization = SceneOptimization; + var TextureOptimization = (function (_super) { + __extends(TextureOptimization, _super); + function TextureOptimization(priority, maximumSize) { + var _this = this; + if (priority === void 0) { priority = 0; } + if (maximumSize === void 0) { maximumSize = 1024; } + _super.call(this, priority); + this.priority = priority; + this.maximumSize = maximumSize; + this.apply = function (scene) { + var allDone = true; + for (var index = 0; index < scene.textures.length; index++) { + var texture = scene.textures[index]; + if (!texture.canRescale) { + continue; + } + var currentSize = texture.getSize(); + var maxDimension = Math.max(currentSize.width, currentSize.height); + if (maxDimension > _this.maximumSize) { + texture.scale(0.5); + allDone = false; + } + } + return allDone; + }; + } + return TextureOptimization; + }(SceneOptimization)); + BABYLON.TextureOptimization = TextureOptimization; + var HardwareScalingOptimization = (function (_super) { + __extends(HardwareScalingOptimization, _super); + function HardwareScalingOptimization(priority, maximumScale) { + var _this = this; + if (priority === void 0) { priority = 0; } + if (maximumScale === void 0) { maximumScale = 2; } + _super.call(this, priority); + this.priority = priority; + this.maximumScale = maximumScale; + this._currentScale = 1; + this.apply = function (scene) { + _this._currentScale++; + scene.getEngine().setHardwareScalingLevel(_this._currentScale); + return _this._currentScale >= _this.maximumScale; + }; + } + return HardwareScalingOptimization; + }(SceneOptimization)); + BABYLON.HardwareScalingOptimization = HardwareScalingOptimization; + var ShadowsOptimization = (function (_super) { + __extends(ShadowsOptimization, _super); + function ShadowsOptimization() { + _super.apply(this, arguments); + this.apply = function (scene) { + scene.shadowsEnabled = false; + return true; + }; + } + return ShadowsOptimization; + }(SceneOptimization)); + BABYLON.ShadowsOptimization = ShadowsOptimization; + var PostProcessesOptimization = (function (_super) { + __extends(PostProcessesOptimization, _super); + function PostProcessesOptimization() { + _super.apply(this, arguments); + this.apply = function (scene) { + scene.postProcessesEnabled = false; + return true; + }; + } + return PostProcessesOptimization; + }(SceneOptimization)); + BABYLON.PostProcessesOptimization = PostProcessesOptimization; + var LensFlaresOptimization = (function (_super) { + __extends(LensFlaresOptimization, _super); + function LensFlaresOptimization() { + _super.apply(this, arguments); + this.apply = function (scene) { + scene.lensFlaresEnabled = false; + return true; + }; + } + return LensFlaresOptimization; + }(SceneOptimization)); + BABYLON.LensFlaresOptimization = LensFlaresOptimization; + var ParticlesOptimization = (function (_super) { + __extends(ParticlesOptimization, _super); + function ParticlesOptimization() { + _super.apply(this, arguments); + this.apply = function (scene) { + scene.particlesEnabled = false; + return true; + }; + } + return ParticlesOptimization; + }(SceneOptimization)); + BABYLON.ParticlesOptimization = ParticlesOptimization; + var RenderTargetsOptimization = (function (_super) { + __extends(RenderTargetsOptimization, _super); + function RenderTargetsOptimization() { + _super.apply(this, arguments); + this.apply = function (scene) { + scene.renderTargetsEnabled = false; + return true; + }; + } + return RenderTargetsOptimization; + }(SceneOptimization)); + BABYLON.RenderTargetsOptimization = RenderTargetsOptimization; + var MergeMeshesOptimization = (function (_super) { + __extends(MergeMeshesOptimization, _super); + function MergeMeshesOptimization() { + var _this = this; + _super.apply(this, arguments); + this._canBeMerged = function (abstractMesh) { + if (!(abstractMesh instanceof BABYLON.Mesh)) { + return false; + } + var mesh = abstractMesh; + if (!mesh.isVisible || !mesh.isEnabled()) { + return false; + } + if (mesh.instances.length > 0) { + return false; + } + if (mesh.skeleton || mesh.hasLODLevels) { + return false; + } + if (mesh.parent) { + return false; + } + return true; + }; + this.apply = function (scene, updateSelectionTree) { + var globalPool = scene.meshes.slice(0); + var globalLength = globalPool.length; + for (var index = 0; index < globalLength; index++) { + var currentPool = new Array(); + var current = globalPool[index]; + // Checks + if (!_this._canBeMerged(current)) { + continue; + } + currentPool.push(current); + // Find compatible meshes + for (var subIndex = index + 1; subIndex < globalLength; subIndex++) { + var otherMesh = globalPool[subIndex]; + if (!_this._canBeMerged(otherMesh)) { + continue; + } + if (otherMesh.material !== current.material) { + continue; + } + if (otherMesh.checkCollisions !== current.checkCollisions) { + continue; + } + currentPool.push(otherMesh); + globalLength--; + globalPool.splice(subIndex, 1); + subIndex--; + } + if (currentPool.length < 2) { + continue; + } + // Merge meshes + BABYLON.Mesh.MergeMeshes(currentPool); + } + if (updateSelectionTree != undefined) { + if (updateSelectionTree) { + scene.createOrUpdateSelectionOctree(); + } + } + else if (MergeMeshesOptimization.UpdateSelectionTree) { + scene.createOrUpdateSelectionOctree(); + } + return true; + }; + } + Object.defineProperty(MergeMeshesOptimization, "UpdateSelectionTree", { + get: function () { + return MergeMeshesOptimization._UpdateSelectionTree; + }, + set: function (value) { + MergeMeshesOptimization._UpdateSelectionTree = value; + }, + enumerable: true, + configurable: true + }); + MergeMeshesOptimization._UpdateSelectionTree = false; + return MergeMeshesOptimization; + }(SceneOptimization)); + BABYLON.MergeMeshesOptimization = MergeMeshesOptimization; + // Options + var SceneOptimizerOptions = (function () { + function SceneOptimizerOptions(targetFrameRate, trackerDuration) { + if (targetFrameRate === void 0) { targetFrameRate = 60; } + if (trackerDuration === void 0) { trackerDuration = 2000; } + this.targetFrameRate = targetFrameRate; + this.trackerDuration = trackerDuration; + this.optimizations = new Array(); + } + SceneOptimizerOptions.LowDegradationAllowed = function (targetFrameRate) { + var result = new SceneOptimizerOptions(targetFrameRate); + var priority = 0; + result.optimizations.push(new MergeMeshesOptimization(priority)); + result.optimizations.push(new ShadowsOptimization(priority)); + result.optimizations.push(new LensFlaresOptimization(priority)); + // Next priority + priority++; + result.optimizations.push(new PostProcessesOptimization(priority)); + result.optimizations.push(new ParticlesOptimization(priority)); + // Next priority + priority++; + result.optimizations.push(new TextureOptimization(priority, 1024)); + return result; + }; + SceneOptimizerOptions.ModerateDegradationAllowed = function (targetFrameRate) { + var result = new SceneOptimizerOptions(targetFrameRate); + var priority = 0; + result.optimizations.push(new MergeMeshesOptimization(priority)); + result.optimizations.push(new ShadowsOptimization(priority)); + result.optimizations.push(new LensFlaresOptimization(priority)); + // Next priority + priority++; + result.optimizations.push(new PostProcessesOptimization(priority)); + result.optimizations.push(new ParticlesOptimization(priority)); + // Next priority + priority++; + result.optimizations.push(new TextureOptimization(priority, 512)); + // Next priority + priority++; + result.optimizations.push(new RenderTargetsOptimization(priority)); + // Next priority + priority++; + result.optimizations.push(new HardwareScalingOptimization(priority, 2)); + return result; + }; + SceneOptimizerOptions.HighDegradationAllowed = function (targetFrameRate) { + var result = new SceneOptimizerOptions(targetFrameRate); + var priority = 0; + result.optimizations.push(new MergeMeshesOptimization(priority)); + result.optimizations.push(new ShadowsOptimization(priority)); + result.optimizations.push(new LensFlaresOptimization(priority)); + // Next priority + priority++; + result.optimizations.push(new PostProcessesOptimization(priority)); + result.optimizations.push(new ParticlesOptimization(priority)); + // Next priority + priority++; + result.optimizations.push(new TextureOptimization(priority, 256)); + // Next priority + priority++; + result.optimizations.push(new RenderTargetsOptimization(priority)); + // Next priority + priority++; + result.optimizations.push(new HardwareScalingOptimization(priority, 4)); + return result; + }; + return SceneOptimizerOptions; + }()); + BABYLON.SceneOptimizerOptions = SceneOptimizerOptions; + // Scene optimizer tool + var SceneOptimizer = (function () { + function SceneOptimizer() { + } + SceneOptimizer._CheckCurrentState = function (scene, options, currentPriorityLevel, onSuccess, onFailure) { + // TODO: add an epsilon + if (scene.getEngine().getFps() >= options.targetFrameRate) { + if (onSuccess) { + onSuccess(); + } + return; + } + // Apply current level of optimizations + var allDone = true; + var noOptimizationApplied = true; + for (var index = 0; index < options.optimizations.length; index++) { + var optimization = options.optimizations[index]; + if (optimization.priority === currentPriorityLevel) { + noOptimizationApplied = false; + allDone = allDone && optimization.apply(scene); + } + } + // If no optimization was applied, this is a failure :( + if (noOptimizationApplied) { + if (onFailure) { + onFailure(); + } + return; + } + // If all optimizations were done, move to next level + if (allDone) { + currentPriorityLevel++; + } + // Let's the system running for a specific amount of time before checking FPS + scene.executeWhenReady(function () { + setTimeout(function () { + SceneOptimizer._CheckCurrentState(scene, options, currentPriorityLevel, onSuccess, onFailure); + }, options.trackerDuration); + }); + }; + SceneOptimizer.OptimizeAsync = function (scene, options, onSuccess, onFailure) { + if (!options) { + options = SceneOptimizerOptions.ModerateDegradationAllowed(); + } + // Let's the system running for a specific amount of time before checking FPS + scene.executeWhenReady(function () { + setTimeout(function () { + SceneOptimizer._CheckCurrentState(scene, options, 0, onSuccess, onFailure); + }, options.trackerDuration); + }); + }; + return SceneOptimizer; + }()); + BABYLON.SceneOptimizer = SceneOptimizer; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.sceneOptimizer.js.map + +var BABYLON; +(function (BABYLON) { + var Internals; + (function (Internals) { + var MeshLODLevel = (function () { + function MeshLODLevel(distance, mesh) { + this.distance = distance; + this.mesh = mesh; + } + return MeshLODLevel; + }()); + Internals.MeshLODLevel = MeshLODLevel; + })(Internals = BABYLON.Internals || (BABYLON.Internals = {})); +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.meshLODLevel.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var RawTexture = (function (_super) { + __extends(RawTexture, _super); + function RawTexture(data, width, height, format, scene, generateMipMaps, invertY, samplingMode) { + if (generateMipMaps === void 0) { generateMipMaps = true; } + if (invertY === void 0) { invertY = false; } + if (samplingMode === void 0) { samplingMode = BABYLON.Texture.TRILINEAR_SAMPLINGMODE; } + _super.call(this, null, scene, !generateMipMaps, invertY); + this.format = format; + this._texture = scene.getEngine().createRawTexture(data, width, height, format, generateMipMaps, invertY, samplingMode); + this.wrapU = BABYLON.Texture.CLAMP_ADDRESSMODE; + this.wrapV = BABYLON.Texture.CLAMP_ADDRESSMODE; + } + RawTexture.prototype.update = function (data) { + this.getScene().getEngine().updateRawTexture(this._texture, data, this.format, this._invertY); + }; + // Statics + RawTexture.CreateLuminanceTexture = function (data, width, height, scene, generateMipMaps, invertY, samplingMode) { + if (generateMipMaps === void 0) { generateMipMaps = true; } + if (invertY === void 0) { invertY = false; } + if (samplingMode === void 0) { samplingMode = BABYLON.Texture.TRILINEAR_SAMPLINGMODE; } + return new RawTexture(data, width, height, BABYLON.Engine.TEXTUREFORMAT_LUMINANCE, scene, generateMipMaps, invertY, samplingMode); + }; + RawTexture.CreateLuminanceAlphaTexture = function (data, width, height, scene, generateMipMaps, invertY, samplingMode) { + if (generateMipMaps === void 0) { generateMipMaps = true; } + if (invertY === void 0) { invertY = false; } + if (samplingMode === void 0) { samplingMode = BABYLON.Texture.TRILINEAR_SAMPLINGMODE; } + return new RawTexture(data, width, height, BABYLON.Engine.TEXTUREFORMAT_LUMINANCE_ALPHA, scene, generateMipMaps, invertY, samplingMode); + }; + RawTexture.CreateAlphaTexture = function (data, width, height, scene, generateMipMaps, invertY, samplingMode) { + if (generateMipMaps === void 0) { generateMipMaps = true; } + if (invertY === void 0) { invertY = false; } + if (samplingMode === void 0) { samplingMode = BABYLON.Texture.TRILINEAR_SAMPLINGMODE; } + return new RawTexture(data, width, height, BABYLON.Engine.TEXTUREFORMAT_ALPHA, scene, generateMipMaps, invertY, samplingMode); + }; + RawTexture.CreateRGBTexture = function (data, width, height, scene, generateMipMaps, invertY, samplingMode) { + if (generateMipMaps === void 0) { generateMipMaps = true; } + if (invertY === void 0) { invertY = false; } + if (samplingMode === void 0) { samplingMode = BABYLON.Texture.TRILINEAR_SAMPLINGMODE; } + return new RawTexture(data, width, height, BABYLON.Engine.TEXTUREFORMAT_RGB, scene, generateMipMaps, invertY, samplingMode); + }; + RawTexture.CreateRGBATexture = function (data, width, height, scene, generateMipMaps, invertY, samplingMode) { + if (generateMipMaps === void 0) { generateMipMaps = true; } + if (invertY === void 0) { invertY = false; } + if (samplingMode === void 0) { samplingMode = BABYLON.Texture.TRILINEAR_SAMPLINGMODE; } + return new RawTexture(data, width, height, BABYLON.Engine.TEXTUREFORMAT_RGBA, scene, generateMipMaps, invertY, samplingMode); + }; + return RawTexture; + }(BABYLON.Texture)); + BABYLON.RawTexture = RawTexture; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.rawTexture.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var IndexedVector2 = (function (_super) { + __extends(IndexedVector2, _super); + function IndexedVector2(original, index) { + _super.call(this, original.x, original.y); + this.index = index; + } + return IndexedVector2; + }(BABYLON.Vector2)); + var PolygonPoints = (function () { + function PolygonPoints() { + this.elements = new Array(); + } + PolygonPoints.prototype.add = function (originalPoints) { + var _this = this; + var result = new Array(); + originalPoints.forEach(function (point) { + if (result.length === 0 || !point.equalsWithEpsilon(result[0])) { + var newPoint = new IndexedVector2(point, _this.elements.length); + result.push(newPoint); + _this.elements.push(newPoint); + } + }); + return result; + }; + PolygonPoints.prototype.computeBounds = function () { + var lmin = new BABYLON.Vector2(this.elements[0].x, this.elements[0].y); + var lmax = new BABYLON.Vector2(this.elements[0].x, this.elements[0].y); + this.elements.forEach(function (point) { + // x + if (point.x < lmin.x) { + lmin.x = point.x; + } + else if (point.x > lmax.x) { + lmax.x = point.x; + } + // y + if (point.y < lmin.y) { + lmin.y = point.y; + } + else if (point.y > lmax.y) { + lmax.y = point.y; + } + }); + return { + min: lmin, + max: lmax, + width: lmax.x - lmin.x, + height: lmax.y - lmin.y + }; + }; + return PolygonPoints; + }()); + var Polygon = (function () { + function Polygon() { + } + Polygon.Rectangle = function (xmin, ymin, xmax, ymax) { + return [ + new BABYLON.Vector2(xmin, ymin), + new BABYLON.Vector2(xmax, ymin), + new BABYLON.Vector2(xmax, ymax), + new BABYLON.Vector2(xmin, ymax) + ]; + }; + Polygon.Circle = function (radius, cx, cy, numberOfSides) { + if (cx === void 0) { cx = 0; } + if (cy === void 0) { cy = 0; } + if (numberOfSides === void 0) { numberOfSides = 32; } + var result = new Array(); + var angle = 0; + var increment = (Math.PI * 2) / numberOfSides; + for (var i = 0; i < numberOfSides; i++) { + result.push(new BABYLON.Vector2(cx + Math.cos(angle) * radius, cy + Math.sin(angle) * radius)); + angle -= increment; + } + return result; + }; + Polygon.Parse = function (input) { + var floats = input.split(/[^-+eE\.\d]+/).map(parseFloat).filter(function (val) { return (!isNaN(val)); }); + var i, result = []; + for (i = 0; i < (floats.length & 0x7FFFFFFE); i += 2) { + result.push(new BABYLON.Vector2(floats[i], floats[i + 1])); + } + return result; + }; + Polygon.StartingAt = function (x, y) { + return BABYLON.Path2.StartingAt(x, y); + }; + return Polygon; + }()); + BABYLON.Polygon = Polygon; + var PolygonMeshBuilder = (function () { + function PolygonMeshBuilder(name, contours, scene) { + this._points = new PolygonPoints(); + this._outlinepoints = new PolygonPoints(); + this._holes = []; + this._epoints = new Array(); + this._eholes = new Array(); + this._name = name; + this._scene = scene; + var points; + if (contours instanceof BABYLON.Path2) { + points = contours.getPoints(); + } + else { + points = contours; + } + this._addToepoint(points); + this._points.add(points); + this._outlinepoints.add(points); + } + PolygonMeshBuilder.prototype._addToepoint = function (points) { + for (var _i = 0, points_1 = points; _i < points_1.length; _i++) { + var p = points_1[_i]; + this._epoints.push(p.x, p.y); + } + }; + PolygonMeshBuilder.prototype.addHole = function (hole) { + this._points.add(hole); + var holepoints = new PolygonPoints(); + holepoints.add(hole); + this._holes.push(holepoints); + this._eholes.push(this._epoints.length / 2); + this._addToepoint(hole); + return this; + }; + PolygonMeshBuilder.prototype.build = function (updatable, depth) { + var _this = this; + if (updatable === void 0) { updatable = false; } + var result = new BABYLON.Mesh(this._name, this._scene); + var normals = []; + var positions = []; + var uvs = []; + var bounds = this._points.computeBounds(); + this._points.elements.forEach(function (p) { + normals.push(0, 1.0, 0); + positions.push(p.x, 0, p.y); + uvs.push((p.x - bounds.min.x) / bounds.width, (p.y - bounds.min.y) / bounds.height); + }); + var indices = []; + var res = Earcut.earcut(this._epoints, this._eholes, 2); + for (var i = 0; i < res.length; i++) { + indices.push(res[i]); + } + if (depth > 0) { + var positionscount = (positions.length / 3); //get the current pointcount + this._points.elements.forEach(function (p) { + normals.push(0, -1.0, 0); + positions.push(p.x, -depth, p.y); + uvs.push(1 - (p.x - bounds.min.x) / bounds.width, 1 - (p.y - bounds.min.y) / bounds.height); + }); + var totalCount = indices.length; + for (var i = 0; i < totalCount; i += 3) { + var i0 = indices[i + 0]; + var i1 = indices[i + 1]; + var i2 = indices[i + 2]; + indices.push(i2 + positionscount); + indices.push(i1 + positionscount); + indices.push(i0 + positionscount); + } + //Add the sides + this.addSide(positions, normals, uvs, indices, bounds, this._outlinepoints, depth, false); + this._holes.forEach(function (hole) { + _this.addSide(positions, normals, uvs, indices, bounds, hole, depth, true); + }); + } + result.setVerticesData(BABYLON.VertexBuffer.PositionKind, positions, updatable); + result.setVerticesData(BABYLON.VertexBuffer.NormalKind, normals, updatable); + result.setVerticesData(BABYLON.VertexBuffer.UVKind, uvs, updatable); + result.setIndices(indices); + return result; + }; + PolygonMeshBuilder.prototype.addSide = function (positions, normals, uvs, indices, bounds, points, depth, flip) { + var StartIndex = positions.length / 3; + var ulength = 0; + for (var i = 0; i < points.elements.length; i++) { + var p = points.elements[i]; + var p1; + if ((i + 1) > points.elements.length - 1) { + p1 = points.elements[0]; + } + else { + p1 = points.elements[i + 1]; + } + positions.push(p.x, 0, p.y); + positions.push(p.x, -depth, p.y); + positions.push(p1.x, 0, p1.y); + positions.push(p1.x, -depth, p1.y); + var v1 = new BABYLON.Vector3(p.x, 0, p.y); + var v2 = new BABYLON.Vector3(p1.x, 0, p1.y); + var v3 = v2.subtract(v1); + var v4 = new BABYLON.Vector3(0, 1, 0); + var vn = BABYLON.Vector3.Cross(v3, v4); + vn = vn.normalize(); + uvs.push(ulength / bounds.width, 0); + uvs.push(ulength / bounds.width, 1); + ulength += v3.length(); + uvs.push((ulength / bounds.width), 0); + uvs.push((ulength / bounds.width), 1); + if (!flip) { + normals.push(-vn.x, -vn.y, -vn.z); + normals.push(-vn.x, -vn.y, -vn.z); + normals.push(-vn.x, -vn.y, -vn.z); + normals.push(-vn.x, -vn.y, -vn.z); + indices.push(StartIndex); + indices.push(StartIndex + 1); + indices.push(StartIndex + 2); + indices.push(StartIndex + 1); + indices.push(StartIndex + 3); + indices.push(StartIndex + 2); + } + else { + normals.push(vn.x, vn.y, vn.z); + normals.push(vn.x, vn.y, vn.z); + normals.push(vn.x, vn.y, vn.z); + normals.push(vn.x, vn.y, vn.z); + indices.push(StartIndex); + indices.push(StartIndex + 2); + indices.push(StartIndex + 1); + indices.push(StartIndex + 1); + indices.push(StartIndex + 2); + indices.push(StartIndex + 3); + } + StartIndex += 4; + } + ; + }; + return PolygonMeshBuilder; + }()); + BABYLON.PolygonMeshBuilder = PolygonMeshBuilder; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.polygonMesh.js.map + +var BABYLON; +(function (BABYLON) { + var Octree = (function () { + function Octree(creationFunc, maxBlockCapacity, maxDepth) { + if (maxDepth === void 0) { maxDepth = 2; } + this.maxDepth = maxDepth; + this.dynamicContent = new Array(); + this._maxBlockCapacity = maxBlockCapacity || 64; + this._selectionContent = new BABYLON.SmartArray(1024); + this._creationFunc = creationFunc; + } + // Methods + Octree.prototype.update = function (worldMin, worldMax, entries) { + Octree._CreateBlocks(worldMin, worldMax, entries, this._maxBlockCapacity, 0, this.maxDepth, this, this._creationFunc); + }; + Octree.prototype.addMesh = function (entry) { + for (var index = 0; index < this.blocks.length; index++) { + var block = this.blocks[index]; + block.addEntry(entry); + } + }; + Octree.prototype.select = function (frustumPlanes, allowDuplicate) { + this._selectionContent.reset(); + for (var index = 0; index < this.blocks.length; index++) { + var block = this.blocks[index]; + block.select(frustumPlanes, this._selectionContent, allowDuplicate); + } + if (allowDuplicate) { + this._selectionContent.concat(this.dynamicContent); + } + else { + this._selectionContent.concatWithNoDuplicate(this.dynamicContent); + } + return this._selectionContent; + }; + Octree.prototype.intersects = function (sphereCenter, sphereRadius, allowDuplicate) { + this._selectionContent.reset(); + for (var index = 0; index < this.blocks.length; index++) { + var block = this.blocks[index]; + block.intersects(sphereCenter, sphereRadius, this._selectionContent, allowDuplicate); + } + if (allowDuplicate) { + this._selectionContent.concat(this.dynamicContent); + } + else { + this._selectionContent.concatWithNoDuplicate(this.dynamicContent); + } + return this._selectionContent; + }; + Octree.prototype.intersectsRay = function (ray) { + this._selectionContent.reset(); + for (var index = 0; index < this.blocks.length; index++) { + var block = this.blocks[index]; + block.intersectsRay(ray, this._selectionContent); + } + this._selectionContent.concatWithNoDuplicate(this.dynamicContent); + return this._selectionContent; + }; + Octree._CreateBlocks = function (worldMin, worldMax, entries, maxBlockCapacity, currentDepth, maxDepth, target, creationFunc) { + target.blocks = new Array(); + var blockSize = new BABYLON.Vector3((worldMax.x - worldMin.x) / 2, (worldMax.y - worldMin.y) / 2, (worldMax.z - worldMin.z) / 2); + // Segmenting space + for (var x = 0; x < 2; x++) { + for (var y = 0; y < 2; y++) { + for (var z = 0; z < 2; z++) { + var localMin = worldMin.add(blockSize.multiplyByFloats(x, y, z)); + var localMax = worldMin.add(blockSize.multiplyByFloats(x + 1, y + 1, z + 1)); + var block = new BABYLON.OctreeBlock(localMin, localMax, maxBlockCapacity, currentDepth + 1, maxDepth, creationFunc); + block.addEntries(entries); + target.blocks.push(block); + } + } + } + }; + Octree.CreationFuncForMeshes = function (entry, block) { + if (!entry.isBlocked && entry.getBoundingInfo().boundingBox.intersectsMinMax(block.minPoint, block.maxPoint)) { + block.entries.push(entry); + } + }; + Octree.CreationFuncForSubMeshes = function (entry, block) { + if (entry.getBoundingInfo().boundingBox.intersectsMinMax(block.minPoint, block.maxPoint)) { + block.entries.push(entry); + } + }; + return Octree; + }()); + BABYLON.Octree = Octree; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.octree.js.map + +var BABYLON; +(function (BABYLON) { + var OctreeBlock = (function () { + function OctreeBlock(minPoint, maxPoint, capacity, depth, maxDepth, creationFunc) { + this.entries = new Array(); + this._boundingVectors = new Array(); + this._capacity = capacity; + this._depth = depth; + this._maxDepth = maxDepth; + this._creationFunc = creationFunc; + this._minPoint = minPoint; + this._maxPoint = maxPoint; + this._boundingVectors.push(minPoint.clone()); + this._boundingVectors.push(maxPoint.clone()); + this._boundingVectors.push(minPoint.clone()); + this._boundingVectors[2].x = maxPoint.x; + this._boundingVectors.push(minPoint.clone()); + this._boundingVectors[3].y = maxPoint.y; + this._boundingVectors.push(minPoint.clone()); + this._boundingVectors[4].z = maxPoint.z; + this._boundingVectors.push(maxPoint.clone()); + this._boundingVectors[5].z = minPoint.z; + this._boundingVectors.push(maxPoint.clone()); + this._boundingVectors[6].x = minPoint.x; + this._boundingVectors.push(maxPoint.clone()); + this._boundingVectors[7].y = minPoint.y; + } + Object.defineProperty(OctreeBlock.prototype, "capacity", { + // Property + get: function () { + return this._capacity; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(OctreeBlock.prototype, "minPoint", { + get: function () { + return this._minPoint; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(OctreeBlock.prototype, "maxPoint", { + get: function () { + return this._maxPoint; + }, + enumerable: true, + configurable: true + }); + // Methods + OctreeBlock.prototype.addEntry = function (entry) { + if (this.blocks) { + for (var index = 0; index < this.blocks.length; index++) { + var block = this.blocks[index]; + block.addEntry(entry); + } + return; + } + this._creationFunc(entry, this); + if (this.entries.length > this.capacity && this._depth < this._maxDepth) { + this.createInnerBlocks(); + } + }; + OctreeBlock.prototype.addEntries = function (entries) { + for (var index = 0; index < entries.length; index++) { + var mesh = entries[index]; + this.addEntry(mesh); + } + }; + OctreeBlock.prototype.select = function (frustumPlanes, selection, allowDuplicate) { + if (BABYLON.BoundingBox.IsInFrustum(this._boundingVectors, frustumPlanes)) { + if (this.blocks) { + for (var index = 0; index < this.blocks.length; index++) { + var block = this.blocks[index]; + block.select(frustumPlanes, selection, allowDuplicate); + } + return; + } + if (allowDuplicate) { + selection.concat(this.entries); + } + else { + selection.concatWithNoDuplicate(this.entries); + } + } + }; + OctreeBlock.prototype.intersects = function (sphereCenter, sphereRadius, selection, allowDuplicate) { + if (BABYLON.BoundingBox.IntersectsSphere(this._minPoint, this._maxPoint, sphereCenter, sphereRadius)) { + if (this.blocks) { + for (var index = 0; index < this.blocks.length; index++) { + var block = this.blocks[index]; + block.intersects(sphereCenter, sphereRadius, selection, allowDuplicate); + } + return; + } + if (allowDuplicate) { + selection.concat(this.entries); + } + else { + selection.concatWithNoDuplicate(this.entries); + } + } + }; + OctreeBlock.prototype.intersectsRay = function (ray, selection) { + if (ray.intersectsBoxMinMax(this._minPoint, this._maxPoint)) { + if (this.blocks) { + for (var index = 0; index < this.blocks.length; index++) { + var block = this.blocks[index]; + block.intersectsRay(ray, selection); + } + return; + } + selection.concatWithNoDuplicate(this.entries); + } + }; + OctreeBlock.prototype.createInnerBlocks = function () { + BABYLON.Octree._CreateBlocks(this._minPoint, this._maxPoint, this.entries, this._capacity, this._depth, this._maxDepth, this, this._creationFunc); + }; + return OctreeBlock; + }()); + BABYLON.OctreeBlock = OctreeBlock; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.octreeBlock.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var BlurPostProcess = (function (_super) { + __extends(BlurPostProcess, _super); + function BlurPostProcess(name, direction, blurWidth, options, camera, samplingMode, engine, reusable) { + var _this = this; + if (samplingMode === void 0) { samplingMode = BABYLON.Texture.BILINEAR_SAMPLINGMODE; } + _super.call(this, name, "blur", ["screenSize", "direction", "blurWidth"], null, options, camera, samplingMode, engine, reusable); + this.direction = direction; + this.blurWidth = blurWidth; + this.onApplyObservable.add(function (effect) { + effect.setFloat2("screenSize", _this.width, _this.height); + effect.setVector2("direction", _this.direction); + effect.setFloat("blurWidth", _this.blurWidth); + }); + } + return BlurPostProcess; + }(BABYLON.PostProcess)); + BABYLON.BlurPostProcess = BlurPostProcess; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.blurPostProcess.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var RefractionPostProcess = (function (_super) { + __extends(RefractionPostProcess, _super); + function RefractionPostProcess(name, refractionTextureUrl, color, depth, colorLevel, options, camera, samplingMode, engine, reusable) { + var _this = this; + _super.call(this, name, "refraction", ["baseColor", "depth", "colorLevel"], ["refractionSampler"], options, camera, samplingMode, engine, reusable); + this.color = color; + this.depth = depth; + this.colorLevel = colorLevel; + this.onActivateObservable.add(function (cam) { + _this._refRexture = _this._refRexture || new BABYLON.Texture(refractionTextureUrl, cam.getScene()); + }); + this.onApplyObservable.add(function (effect) { + effect.setColor3("baseColor", _this.color); + effect.setFloat("depth", _this.depth); + effect.setFloat("colorLevel", _this.colorLevel); + effect.setTexture("refractionSampler", _this._refRexture); + }); + } + // Methods + RefractionPostProcess.prototype.dispose = function (camera) { + if (this._refRexture) { + this._refRexture.dispose(); + } + _super.prototype.dispose.call(this, camera); + }; + return RefractionPostProcess; + }(BABYLON.PostProcess)); + BABYLON.RefractionPostProcess = RefractionPostProcess; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.refractionPostProcess.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var BlackAndWhitePostProcess = (function (_super) { + __extends(BlackAndWhitePostProcess, _super); + function BlackAndWhitePostProcess(name, options, camera, samplingMode, engine, reusable) { + _super.call(this, name, "blackAndWhite", null, null, options, camera, samplingMode, engine, reusable); + } + return BlackAndWhitePostProcess; + }(BABYLON.PostProcess)); + BABYLON.BlackAndWhitePostProcess = BlackAndWhitePostProcess; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.blackAndWhitePostProcess.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var ConvolutionPostProcess = (function (_super) { + __extends(ConvolutionPostProcess, _super); + function ConvolutionPostProcess(name, kernel, options, camera, samplingMode, engine, reusable) { + var _this = this; + _super.call(this, name, "convolution", ["kernel", "screenSize"], null, options, camera, samplingMode, engine, reusable); + this.kernel = kernel; + this.onApply = function (effect) { + effect.setFloat2("screenSize", _this.width, _this.height); + effect.setArray("kernel", _this.kernel); + }; + } + // Statics + // Based on http://en.wikipedia.org/wiki/Kernel_(image_processing) + ConvolutionPostProcess.EdgeDetect0Kernel = [1, 0, -1, 0, 0, 0, -1, 0, 1]; + ConvolutionPostProcess.EdgeDetect1Kernel = [0, 1, 0, 1, -4, 1, 0, 1, 0]; + ConvolutionPostProcess.EdgeDetect2Kernel = [-1, -1, -1, -1, 8, -1, -1, -1, -1]; + ConvolutionPostProcess.SharpenKernel = [0, -1, 0, -1, 5, -1, 0, -1, 0]; + ConvolutionPostProcess.EmbossKernel = [-2, -1, 0, -1, 1, 1, 0, 1, 2]; + ConvolutionPostProcess.GaussianKernel = [0, 1, 0, 1, 1, 1, 0, 1, 0]; + return ConvolutionPostProcess; + }(BABYLON.PostProcess)); + BABYLON.ConvolutionPostProcess = ConvolutionPostProcess; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.convolutionPostProcess.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var FilterPostProcess = (function (_super) { + __extends(FilterPostProcess, _super); + function FilterPostProcess(name, kernelMatrix, options, camera, samplingMode, engine, reusable) { + var _this = this; + _super.call(this, name, "filter", ["kernelMatrix"], null, options, camera, samplingMode, engine, reusable); + this.kernelMatrix = kernelMatrix; + this.onApply = function (effect) { + effect.setMatrix("kernelMatrix", _this.kernelMatrix); + }; + } + return FilterPostProcess; + }(BABYLON.PostProcess)); + BABYLON.FilterPostProcess = FilterPostProcess; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.filterPostProcess.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var FxaaPostProcess = (function (_super) { + __extends(FxaaPostProcess, _super); + function FxaaPostProcess(name, options, camera, samplingMode, engine, reusable) { + var _this = this; + _super.call(this, name, "fxaa", ["texelSize"], null, options, camera, samplingMode, engine, reusable); + this.onSizeChangedObservable.add(function () { + _this.texelWidth = 1.0 / _this.width; + _this.texelHeight = 1.0 / _this.height; + }); + this.onApplyObservable.add(function (effect) { + effect.setFloat2("texelSize", _this.texelWidth, _this.texelHeight); + }); + } + return FxaaPostProcess; + }(BABYLON.PostProcess)); + BABYLON.FxaaPostProcess = FxaaPostProcess; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.fxaaPostProcess.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var StereoscopicInterlacePostProcess = (function (_super) { + __extends(StereoscopicInterlacePostProcess, _super); + function StereoscopicInterlacePostProcess(name, rigCameras, isStereoscopicHoriz, samplingMode, engine, reusable) { + var _this = this; + _super.call(this, name, "stereoscopicInterlace", ['stepSize'], ['camASampler'], 1, rigCameras[1], samplingMode, engine, reusable, isStereoscopicHoriz ? "#define IS_STEREOSCOPIC_HORIZ 1" : undefined); + this._passedProcess = rigCameras[0]._rigPostProcess; + this._stepSize = new BABYLON.Vector2(1 / this.width, 1 / this.height); + this.onSizeChangedObservable.add(function () { + _this._stepSize = new BABYLON.Vector2(1 / _this.width, 1 / _this.height); + }); + this.onApplyObservable.add(function (effect) { + effect.setTextureFromPostProcess("camASampler", _this._passedProcess); + effect.setFloat2("stepSize", _this._stepSize.x, _this._stepSize.y); + }); + } + return StereoscopicInterlacePostProcess; + }(BABYLON.PostProcess)); + BABYLON.StereoscopicInterlacePostProcess = StereoscopicInterlacePostProcess; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.stereoscopicInterlacePostProcess.js.map + +var BABYLON; +(function (BABYLON) { + var LensFlare = (function () { + function LensFlare(size, position, color, imgUrl, system) { + this.size = size; + this.position = position; + this.alphaMode = BABYLON.Engine.ALPHA_ONEONE; + this.dispose = function () { + if (this.texture) { + this.texture.dispose(); + } + // Remove from scene + var index = this._system.lensFlares.indexOf(this); + this._system.lensFlares.splice(index, 1); + }; + this.color = color || new BABYLON.Color3(1, 1, 1); + this.texture = imgUrl ? new BABYLON.Texture(imgUrl, system.getScene(), true) : null; + this._system = system; + system.lensFlares.push(this); + } + return LensFlare; + }()); + BABYLON.LensFlare = LensFlare; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.lensFlare.js.map + +var BABYLON; +(function (BABYLON) { + var LensFlareSystem = (function () { + function LensFlareSystem(name, emitter, scene) { + this.name = name; + this.lensFlares = new Array(); + this.borderLimit = 300; + this.viewportBorder = 0; + this.layerMask = 0x0FFFFFFF; + this._vertexBuffers = {}; + this._isEnabled = true; + this._scene = scene; + this._emitter = emitter; + this.id = name; + scene.lensFlareSystems.push(this); + this.meshesSelectionPredicate = function (m) { return m.material && m.isVisible && m.isEnabled() && m.isBlocker && ((m.layerMask & scene.activeCamera.layerMask) != 0); }; + var engine = scene.getEngine(); + // VBO + var vertices = []; + vertices.push(1, 1); + vertices.push(-1, 1); + vertices.push(-1, -1); + vertices.push(1, -1); + this._vertexBuffers[BABYLON.VertexBuffer.PositionKind] = new BABYLON.VertexBuffer(engine, vertices, BABYLON.VertexBuffer.PositionKind, false, false, 2); + // Indices + var indices = []; + indices.push(0); + indices.push(1); + indices.push(2); + indices.push(0); + indices.push(2); + indices.push(3); + this._indexBuffer = engine.createIndexBuffer(indices); + // Effects + this._effect = engine.createEffect("lensFlare", [BABYLON.VertexBuffer.PositionKind], ["color", "viewportMatrix"], ["textureSampler"], ""); + } + Object.defineProperty(LensFlareSystem.prototype, "isEnabled", { + get: function () { + return this._isEnabled; + }, + set: function (value) { + this._isEnabled = value; + }, + enumerable: true, + configurable: true + }); + LensFlareSystem.prototype.getScene = function () { + return this._scene; + }; + LensFlareSystem.prototype.getEmitter = function () { + return this._emitter; + }; + LensFlareSystem.prototype.setEmitter = function (newEmitter) { + this._emitter = newEmitter; + }; + LensFlareSystem.prototype.getEmitterPosition = function () { + return this._emitter.getAbsolutePosition ? this._emitter.getAbsolutePosition() : this._emitter.position; + }; + LensFlareSystem.prototype.computeEffectivePosition = function (globalViewport) { + var position = this.getEmitterPosition(); + position = BABYLON.Vector3.Project(position, BABYLON.Matrix.Identity(), this._scene.getTransformMatrix(), globalViewport); + this._positionX = position.x; + this._positionY = position.y; + position = BABYLON.Vector3.TransformCoordinates(this.getEmitterPosition(), this._scene.getViewMatrix()); + if (this.viewportBorder > 0) { + globalViewport.x -= this.viewportBorder; + globalViewport.y -= this.viewportBorder; + globalViewport.width += this.viewportBorder * 2; + globalViewport.height += this.viewportBorder * 2; + position.x += this.viewportBorder; + position.y += this.viewportBorder; + this._positionX += this.viewportBorder; + this._positionY += this.viewportBorder; + } + if (position.z > 0) { + if ((this._positionX > globalViewport.x) && (this._positionX < globalViewport.x + globalViewport.width)) { + if ((this._positionY > globalViewport.y) && (this._positionY < globalViewport.y + globalViewport.height)) + return true; + } + return true; + } + return false; + }; + LensFlareSystem.prototype._isVisible = function () { + if (!this._isEnabled) { + return false; + } + var emitterPosition = this.getEmitterPosition(); + var direction = emitterPosition.subtract(this._scene.activeCamera.globalPosition); + var distance = direction.length(); + direction.normalize(); + var ray = new BABYLON.Ray(this._scene.activeCamera.globalPosition, direction); + var pickInfo = this._scene.pickWithRay(ray, this.meshesSelectionPredicate, true); + return !pickInfo.hit || pickInfo.distance > distance; + }; + LensFlareSystem.prototype.render = function () { + if (!this._effect.isReady()) + return false; + var engine = this._scene.getEngine(); + var viewport = this._scene.activeCamera.viewport; + var globalViewport = viewport.toGlobal(engine.getRenderWidth(true), engine.getRenderHeight(true)); + // Position + if (!this.computeEffectivePosition(globalViewport)) { + return false; + } + // Visibility + if (!this._isVisible()) { + return false; + } + // Intensity + var awayX; + var awayY; + if (this._positionX < this.borderLimit + globalViewport.x) { + awayX = this.borderLimit + globalViewport.x - this._positionX; + } + else if (this._positionX > globalViewport.x + globalViewport.width - this.borderLimit) { + awayX = this._positionX - globalViewport.x - globalViewport.width + this.borderLimit; + } + else { + awayX = 0; + } + if (this._positionY < this.borderLimit + globalViewport.y) { + awayY = this.borderLimit + globalViewport.y - this._positionY; + } + else if (this._positionY > globalViewport.y + globalViewport.height - this.borderLimit) { + awayY = this._positionY - globalViewport.y - globalViewport.height + this.borderLimit; + } + else { + awayY = 0; + } + var away = (awayX > awayY) ? awayX : awayY; + away -= this.viewportBorder; + if (away > this.borderLimit) { + away = this.borderLimit; + } + var intensity = 1.0 - (away / this.borderLimit); + if (intensity < 0) { + return false; + } + if (intensity > 1.0) { + intensity = 1.0; + } + if (this.viewportBorder > 0) { + globalViewport.x += this.viewportBorder; + globalViewport.y += this.viewportBorder; + globalViewport.width -= this.viewportBorder * 2; + globalViewport.height -= this.viewportBorder * 2; + this._positionX -= this.viewportBorder; + this._positionY -= this.viewportBorder; + } + // Position + var centerX = globalViewport.x + globalViewport.width / 2; + var centerY = globalViewport.y + globalViewport.height / 2; + var distX = centerX - this._positionX; + var distY = centerY - this._positionY; + // Effects + engine.enableEffect(this._effect); + engine.setState(false); + engine.setDepthBuffer(false); + // VBOs + engine.bindBuffers(this._vertexBuffers, this._indexBuffer, this._effect); + // Flares + for (var index = 0; index < this.lensFlares.length; index++) { + var flare = this.lensFlares[index]; + engine.setAlphaMode(flare.alphaMode); + var x = centerX - (distX * flare.position); + var y = centerY - (distY * flare.position); + var cw = flare.size; + var ch = flare.size * engine.getAspectRatio(this._scene.activeCamera, true); + var cx = 2 * (x / (globalViewport.width + globalViewport.x * 2)) - 1.0; + var cy = 1.0 - 2 * (y / (globalViewport.height + globalViewport.y * 2)); + var viewportMatrix = BABYLON.Matrix.FromValues(cw / 2, 0, 0, 0, 0, ch / 2, 0, 0, 0, 0, 1, 0, cx, cy, 0, 1); + this._effect.setMatrix("viewportMatrix", viewportMatrix); + // Texture + this._effect.setTexture("textureSampler", flare.texture); + // Color + this._effect.setFloat4("color", flare.color.r * intensity, flare.color.g * intensity, flare.color.b * intensity, 1.0); + // Draw order + engine.draw(true, 0, 6); + } + engine.setDepthBuffer(true); + engine.setAlphaMode(BABYLON.Engine.ALPHA_DISABLE); + return true; + }; + LensFlareSystem.prototype.dispose = function () { + var vertexBuffer = this._vertexBuffers[BABYLON.VertexBuffer.PositionKind]; + if (vertexBuffer) { + vertexBuffer.dispose(); + this._vertexBuffers[BABYLON.VertexBuffer.PositionKind] = null; + } + if (this._indexBuffer) { + this._scene.getEngine()._releaseBuffer(this._indexBuffer); + this._indexBuffer = null; + } + while (this.lensFlares.length) { + this.lensFlares[0].dispose(); + } + // Remove from scene + var index = this._scene.lensFlareSystems.indexOf(this); + this._scene.lensFlareSystems.splice(index, 1); + }; + LensFlareSystem.Parse = function (parsedLensFlareSystem, scene, rootUrl) { + var emitter = scene.getLastEntryByID(parsedLensFlareSystem.emitterId); + var name = parsedLensFlareSystem.name || "lensFlareSystem#" + parsedLensFlareSystem.emitterId; + var lensFlareSystem = new LensFlareSystem(name, emitter, scene); + lensFlareSystem.id = parsedLensFlareSystem.id || name; + lensFlareSystem.borderLimit = parsedLensFlareSystem.borderLimit; + for (var index = 0; index < parsedLensFlareSystem.flares.length; index++) { + var parsedFlare = parsedLensFlareSystem.flares[index]; + var flare = new BABYLON.LensFlare(parsedFlare.size, parsedFlare.position, BABYLON.Color3.FromArray(parsedFlare.color), rootUrl + parsedFlare.textureName, lensFlareSystem); + } + return lensFlareSystem; + }; + LensFlareSystem.prototype.serialize = function () { + var serializationObject = {}; + serializationObject.id = this.id; + serializationObject.name = this.name; + serializationObject.emitterId = this.getEmitter().id; + serializationObject.borderLimit = this.borderLimit; + serializationObject.flares = []; + for (var index = 0; index < this.lensFlares.length; index++) { + var flare = this.lensFlares[index]; + serializationObject.flares.push({ + size: flare.size, + position: flare.position, + color: flare.color.asArray(), + textureName: BABYLON.Tools.GetFilename(flare.texture.name) + }); + } + return serializationObject; + }; + return LensFlareSystem; + }()); + BABYLON.LensFlareSystem = LensFlareSystem; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.lensFlareSystem.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + // We're mainly based on the logic defined into the FreeCamera code + var DeviceOrientationCamera = (function (_super) { + __extends(DeviceOrientationCamera, _super); + function DeviceOrientationCamera(name, position, scene) { + _super.call(this, name, position, scene); + this._quaternionCache = new BABYLON.Quaternion(); + this.inputs.addDeviceOrientation(); + } + DeviceOrientationCamera.prototype.getTypeName = function () { + return "DeviceOrientationCamera"; + }; + DeviceOrientationCamera.prototype._checkInputs = function () { + _super.prototype._checkInputs.call(this); + this._quaternionCache.copyFrom(this.rotationQuaternion); + if (this._initialQuaternion) { + this._initialQuaternion.multiplyToRef(this.rotationQuaternion, this.rotationQuaternion); + } + }; + DeviceOrientationCamera.prototype.resetToCurrentRotation = function (axis) { + var _this = this; + if (axis === void 0) { axis = BABYLON.Axis.Y; } + //can only work if this camera has a rotation quaternion already. + if (!this.rotationQuaternion) + return; + if (!this._initialQuaternion) { + this._initialQuaternion = new BABYLON.Quaternion(); + } + this._initialQuaternion.copyFrom(this._quaternionCache || this.rotationQuaternion); + ['x', 'y', 'z'].forEach(function (axisName) { + if (!axis[axisName]) { + _this._initialQuaternion[axisName] = 0; + } + else { + _this._initialQuaternion[axisName] *= -1; + } + }); + this._initialQuaternion.normalize(); + //force rotation update + this._initialQuaternion.multiplyToRef(this.rotationQuaternion, this.rotationQuaternion); + }; + return DeviceOrientationCamera; + }(BABYLON.FreeCamera)); + BABYLON.DeviceOrientationCamera = DeviceOrientationCamera; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.deviceOrientationCamera.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var VRDeviceOrientationFreeCamera = (function (_super) { + __extends(VRDeviceOrientationFreeCamera, _super); + function VRDeviceOrientationFreeCamera(name, position, scene, compensateDistortion, vrCameraMetrics) { + if (compensateDistortion === void 0) { compensateDistortion = true; } + if (vrCameraMetrics === void 0) { vrCameraMetrics = BABYLON.VRCameraMetrics.GetDefault(); } + _super.call(this, name, position, scene); + vrCameraMetrics.compensateDistortion = compensateDistortion; + this.setCameraRigMode(BABYLON.Camera.RIG_MODE_VR, { vrCameraMetrics: vrCameraMetrics }); + } + VRDeviceOrientationFreeCamera.prototype.getTypeName = function () { + return "VRDeviceOrientationFreeCamera"; + }; + return VRDeviceOrientationFreeCamera; + }(BABYLON.DeviceOrientationCamera)); + BABYLON.VRDeviceOrientationFreeCamera = VRDeviceOrientationFreeCamera; + var VRDeviceOrientationArcRotateCamera = (function (_super) { + __extends(VRDeviceOrientationArcRotateCamera, _super); + function VRDeviceOrientationArcRotateCamera(name, alpha, beta, radius, target, scene, compensateDistortion, vrCameraMetrics) { + if (compensateDistortion === void 0) { compensateDistortion = true; } + if (vrCameraMetrics === void 0) { vrCameraMetrics = BABYLON.VRCameraMetrics.GetDefault(); } + _super.call(this, name, alpha, beta, radius, target, scene); + vrCameraMetrics.compensateDistortion = compensateDistortion; + this.setCameraRigMode(BABYLON.Camera.RIG_MODE_VR, { vrCameraMetrics: vrCameraMetrics }); + this.inputs.addVRDeviceOrientation(); + } + VRDeviceOrientationArcRotateCamera.prototype.getTypeName = function () { + return "VRDeviceOrientationArcRotateCamera"; + }; + return VRDeviceOrientationArcRotateCamera; + }(BABYLON.ArcRotateCamera)); + BABYLON.VRDeviceOrientationArcRotateCamera = VRDeviceOrientationArcRotateCamera; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.vrDeviceOrientationCamera.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + // We're mainly based on the logic defined into the FreeCamera code + var UniversalCamera = (function (_super) { + __extends(UniversalCamera, _super); + //-- end properties for backward compatibility for inputs + function UniversalCamera(name, position, scene) { + _super.call(this, name, position, scene); + this.inputs.addGamepad(); + } + Object.defineProperty(UniversalCamera.prototype, "gamepadAngularSensibility", { + //-- Begin properties for backward compatibility for inputs + get: function () { + var gamepad = this.inputs.attached["gamepad"]; + if (gamepad) + return gamepad.gamepadAngularSensibility; + }, + set: function (value) { + var gamepad = this.inputs.attached["gamepad"]; + if (gamepad) + gamepad.gamepadAngularSensibility = value; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(UniversalCamera.prototype, "gamepadMoveSensibility", { + get: function () { + var gamepad = this.inputs.attached["gamepad"]; + if (gamepad) + return gamepad.gamepadMoveSensibility; + }, + set: function (value) { + var gamepad = this.inputs.attached["gamepad"]; + if (gamepad) + gamepad.gamepadMoveSensibility = value; + }, + enumerable: true, + configurable: true + }); + UniversalCamera.prototype.getTypeName = function () { + return "UniversalCamera"; + }; + return UniversalCamera; + }(BABYLON.TouchCamera)); + BABYLON.UniversalCamera = UniversalCamera; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.universalCamera.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var Gamepads = (function () { + function Gamepads(ongamedpadconnected) { + var _this = this; + this.babylonGamepads = []; + this.oneGamepadConnected = false; + this.isMonitoring = false; + this.gamepadEventSupported = 'GamepadEvent' in window; + this.gamepadSupportAvailable = (navigator.getGamepads || + !!navigator.webkitGetGamepads || !!navigator.msGetGamepads || !!navigator.webkitGamepads); + this._callbackGamepadConnected = ongamedpadconnected; + if (this.gamepadSupportAvailable) { + // Checking if the gamepad connected event is supported (like in Firefox) + if (this.gamepadEventSupported) { + this._onGamepadConnectedEvent = function (evt) { + _this._onGamepadConnected(evt); + }; + this._onGamepadDisonnectedEvent = function (evt) { + _this._onGamepadDisconnected(evt); + }; + window.addEventListener('gamepadconnected', this._onGamepadConnectedEvent, false); + window.addEventListener('gamepaddisconnected', this._onGamepadDisonnectedEvent, false); + } + else { + this._startMonitoringGamepads(); + } + } + } + Gamepads.prototype.dispose = function () { + if (Gamepads.gamepadDOMInfo) { + document.body.removeChild(Gamepads.gamepadDOMInfo); + } + if (this._onGamepadConnectedEvent) { + window.removeEventListener('gamepadconnected', this._onGamepadConnectedEvent, false); + window.removeEventListener('gamepaddisconnected', this._onGamepadDisonnectedEvent, false); + this._onGamepadConnectedEvent = null; + this._onGamepadDisonnectedEvent = null; + } + }; + Gamepads.prototype._onGamepadConnected = function (evt) { + var newGamepad = this._addNewGamepad(evt.gamepad); + if (this._callbackGamepadConnected) + this._callbackGamepadConnected(newGamepad); + this._startMonitoringGamepads(); + }; + Gamepads.prototype._addNewGamepad = function (gamepad) { + if (!this.oneGamepadConnected) { + this.oneGamepadConnected = true; + if (Gamepads.gamepadDOMInfo) { + document.body.removeChild(Gamepads.gamepadDOMInfo); + Gamepads.gamepadDOMInfo = null; + } + } + var newGamepad; + var xboxOne = (gamepad.id.search("Xbox One") !== -1); + if (xboxOne || gamepad.id.search("Xbox 360") !== -1 || gamepad.id.search("xinput") !== -1) { + newGamepad = new Xbox360Pad(gamepad.id, gamepad.index, gamepad, xboxOne); + } + else { + newGamepad = new GenericPad(gamepad.id, gamepad.index, gamepad); + } + this.babylonGamepads.push(newGamepad); + return newGamepad; + }; + Gamepads.prototype._onGamepadDisconnected = function (evt) { + // Remove the gamepad from the list of gamepads to monitor. + for (var i in this.babylonGamepads) { + if (this.babylonGamepads[i].index == evt.gamepad.index) { + this.babylonGamepads.splice(+i, 1); + break; + } + } + // If no gamepads are left, stop the polling loop. + if (this.babylonGamepads.length == 0) { + this._stopMonitoringGamepads(); + } + }; + Gamepads.prototype._startMonitoringGamepads = function () { + if (!this.isMonitoring) { + this.isMonitoring = true; + this._checkGamepadsStatus(); + } + }; + Gamepads.prototype._stopMonitoringGamepads = function () { + this.isMonitoring = false; + }; + Gamepads.prototype._checkGamepadsStatus = function () { + var _this = this; + // updating gamepad objects + this._updateGamepadObjects(); + for (var i in this.babylonGamepads) { + this.babylonGamepads[i].update(); + } + if (this.isMonitoring) { + if (window.requestAnimationFrame) { + window.requestAnimationFrame(function () { _this._checkGamepadsStatus(); }); + } + else if (window.mozRequestAnimationFrame) { + window.mozRequestAnimationFrame(function () { _this._checkGamepadsStatus(); }); + } + else if (window.webkitRequestAnimationFrame) { + window.webkitRequestAnimationFrame(function () { _this._checkGamepadsStatus(); }); + } + } + }; + // This function is called only on Chrome, which does not yet support + // connection/disconnection events, but requires you to monitor + // an array for changes. + Gamepads.prototype._updateGamepadObjects = function () { + var gamepads = navigator.getGamepads ? navigator.getGamepads() : (navigator.webkitGetGamepads ? navigator.webkitGetGamepads() : []); + for (var i = 0; i < gamepads.length; i++) { + if (gamepads[i]) { + if (!(gamepads[i].index in this.babylonGamepads)) { + var newGamepad = this._addNewGamepad(gamepads[i]); + if (this._callbackGamepadConnected) { + this._callbackGamepadConnected(newGamepad); + } + } + else { + this.babylonGamepads[i].browserGamepad = gamepads[i]; + } + } + } + }; + return Gamepads; + }()); + BABYLON.Gamepads = Gamepads; + var StickValues = (function () { + function StickValues(x, y) { + this.x = x; + this.y = y; + } + return StickValues; + }()); + BABYLON.StickValues = StickValues; + var Gamepad = (function () { + function Gamepad(id, index, browserGamepad, leftStickX, leftStickY, rightStickX, rightStickY) { + if (leftStickX === void 0) { leftStickX = 0; } + if (leftStickY === void 0) { leftStickY = 1; } + if (rightStickX === void 0) { rightStickX = 2; } + if (rightStickY === void 0) { rightStickY = 3; } + this.id = id; + this.index = index; + this.browserGamepad = browserGamepad; + this._leftStickAxisX = leftStickX; + this._leftStickAxisY = leftStickY; + this._rightStickAxisX = rightStickX; + this._rightStickAxisY = rightStickY; + if (this.browserGamepad.axes.length >= 2) { + this._leftStick = { x: this.browserGamepad.axes[this._leftStickAxisX], y: this.browserGamepad.axes[this._leftStickAxisY] }; + } + if (this.browserGamepad.axes.length >= 4) { + this._rightStick = { x: this.browserGamepad.axes[this._rightStickAxisX], y: this.browserGamepad.axes[this._rightStickAxisY] }; + } + } + Gamepad.prototype.onleftstickchanged = function (callback) { + this._onleftstickchanged = callback; + }; + Gamepad.prototype.onrightstickchanged = function (callback) { + this._onrightstickchanged = callback; + }; + Object.defineProperty(Gamepad.prototype, "leftStick", { + get: function () { + return this._leftStick; + }, + set: function (newValues) { + if (this._onleftstickchanged && (this._leftStick.x !== newValues.x || this._leftStick.y !== newValues.y)) { + this._onleftstickchanged(newValues); + } + this._leftStick = newValues; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Gamepad.prototype, "rightStick", { + get: function () { + return this._rightStick; + }, + set: function (newValues) { + if (this._onrightstickchanged && (this._rightStick.x !== newValues.x || this._rightStick.y !== newValues.y)) { + this._onrightstickchanged(newValues); + } + this._rightStick = newValues; + }, + enumerable: true, + configurable: true + }); + Gamepad.prototype.update = function () { + if (this._leftStick) { + this.leftStick = { x: this.browserGamepad.axes[this._leftStickAxisX], y: this.browserGamepad.axes[this._leftStickAxisY] }; + } + if (this._rightStick) { + this.rightStick = { x: this.browserGamepad.axes[this._rightStickAxisX], y: this.browserGamepad.axes[this._rightStickAxisY] }; + } + }; + return Gamepad; + }()); + BABYLON.Gamepad = Gamepad; + var GenericPad = (function (_super) { + __extends(GenericPad, _super); + function GenericPad(id, index, gamepad) { + _super.call(this, id, index, gamepad); + this.id = id; + this.index = index; + this.gamepad = gamepad; + this._buttons = new Array(gamepad.buttons.length); + } + GenericPad.prototype.onbuttondown = function (callback) { + this._onbuttondown = callback; + }; + GenericPad.prototype.onbuttonup = function (callback) { + this._onbuttonup = callback; + }; + GenericPad.prototype._setButtonValue = function (newValue, currentValue, buttonIndex) { + if (newValue !== currentValue) { + if (this._onbuttondown && newValue === 1) { + this._onbuttondown(buttonIndex); + } + if (this._onbuttonup && newValue === 0) { + this._onbuttonup(buttonIndex); + } + } + return newValue; + }; + GenericPad.prototype.update = function () { + _super.prototype.update.call(this); + for (var index = 0; index < this._buttons.length; index++) { + this._buttons[index] = this._setButtonValue(this.gamepad.buttons[index].value, this._buttons[index], index); + } + }; + return GenericPad; + }(Gamepad)); + BABYLON.GenericPad = GenericPad; + (function (Xbox360Button) { + Xbox360Button[Xbox360Button["A"] = 0] = "A"; + Xbox360Button[Xbox360Button["B"] = 1] = "B"; + Xbox360Button[Xbox360Button["X"] = 2] = "X"; + Xbox360Button[Xbox360Button["Y"] = 3] = "Y"; + Xbox360Button[Xbox360Button["Start"] = 4] = "Start"; + Xbox360Button[Xbox360Button["Back"] = 5] = "Back"; + Xbox360Button[Xbox360Button["LB"] = 6] = "LB"; + Xbox360Button[Xbox360Button["RB"] = 7] = "RB"; + Xbox360Button[Xbox360Button["LeftStick"] = 8] = "LeftStick"; + Xbox360Button[Xbox360Button["RightStick"] = 9] = "RightStick"; + })(BABYLON.Xbox360Button || (BABYLON.Xbox360Button = {})); + var Xbox360Button = BABYLON.Xbox360Button; + (function (Xbox360Dpad) { + Xbox360Dpad[Xbox360Dpad["Up"] = 0] = "Up"; + Xbox360Dpad[Xbox360Dpad["Down"] = 1] = "Down"; + Xbox360Dpad[Xbox360Dpad["Left"] = 2] = "Left"; + Xbox360Dpad[Xbox360Dpad["Right"] = 3] = "Right"; + })(BABYLON.Xbox360Dpad || (BABYLON.Xbox360Dpad = {})); + var Xbox360Dpad = BABYLON.Xbox360Dpad; + var Xbox360Pad = (function (_super) { + __extends(Xbox360Pad, _super); + function Xbox360Pad(id, index, gamepad, xboxOne) { + if (xboxOne === void 0) { xboxOne = false; } + _super.call(this, id, index, gamepad, 0, 1, (xboxOne ? 3 : 2), (xboxOne ? 4 : 3)); + this._leftTrigger = 0; + this._rightTrigger = 0; + this._buttonA = 0; + this._buttonB = 0; + this._buttonX = 0; + this._buttonY = 0; + this._buttonBack = 0; + this._buttonStart = 0; + this._buttonLB = 0; + this._buttonRB = 0; + this._buttonLeftStick = 0; + this._buttonRightStick = 0; + this._dPadUp = 0; + this._dPadDown = 0; + this._dPadLeft = 0; + this._dPadRight = 0; + this._isXboxOnePad = false; + this._isXboxOnePad = xboxOne; + } + Xbox360Pad.prototype.onlefttriggerchanged = function (callback) { + this._onlefttriggerchanged = callback; + }; + Xbox360Pad.prototype.onrighttriggerchanged = function (callback) { + this._onrighttriggerchanged = callback; + }; + Object.defineProperty(Xbox360Pad.prototype, "leftTrigger", { + get: function () { + return this._leftTrigger; + }, + set: function (newValue) { + if (this._onlefttriggerchanged && this._leftTrigger !== newValue) { + this._onlefttriggerchanged(newValue); + } + this._leftTrigger = newValue; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Xbox360Pad.prototype, "rightTrigger", { + get: function () { + return this._rightTrigger; + }, + set: function (newValue) { + if (this._onrighttriggerchanged && this._rightTrigger !== newValue) { + this._onrighttriggerchanged(newValue); + } + this._rightTrigger = newValue; + }, + enumerable: true, + configurable: true + }); + Xbox360Pad.prototype.onbuttondown = function (callback) { + this._onbuttondown = callback; + }; + Xbox360Pad.prototype.onbuttonup = function (callback) { + this._onbuttonup = callback; + }; + Xbox360Pad.prototype.ondpaddown = function (callback) { + this._ondpaddown = callback; + }; + Xbox360Pad.prototype.ondpadup = function (callback) { + this._ondpadup = callback; + }; + Xbox360Pad.prototype._setButtonValue = function (newValue, currentValue, buttonType) { + if (newValue !== currentValue) { + if (this._onbuttondown && newValue === 1) { + this._onbuttondown(buttonType); + } + if (this._onbuttonup && newValue === 0) { + this._onbuttonup(buttonType); + } + } + return newValue; + }; + Xbox360Pad.prototype._setDPadValue = function (newValue, currentValue, buttonType) { + if (newValue !== currentValue) { + if (this._ondpaddown && newValue === 1) { + this._ondpaddown(buttonType); + } + if (this._ondpadup && newValue === 0) { + this._ondpadup(buttonType); + } + } + return newValue; + }; + Object.defineProperty(Xbox360Pad.prototype, "buttonA", { + get: function () { + return this._buttonA; + }, + set: function (value) { + this._buttonA = this._setButtonValue(value, this._buttonA, Xbox360Button.A); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Xbox360Pad.prototype, "buttonB", { + get: function () { + return this._buttonB; + }, + set: function (value) { + this._buttonB = this._setButtonValue(value, this._buttonB, Xbox360Button.B); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Xbox360Pad.prototype, "buttonX", { + get: function () { + return this._buttonX; + }, + set: function (value) { + this._buttonX = this._setButtonValue(value, this._buttonX, Xbox360Button.X); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Xbox360Pad.prototype, "buttonY", { + get: function () { + return this._buttonY; + }, + set: function (value) { + this._buttonY = this._setButtonValue(value, this._buttonY, Xbox360Button.Y); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Xbox360Pad.prototype, "buttonStart", { + get: function () { + return this._buttonStart; + }, + set: function (value) { + this._buttonStart = this._setButtonValue(value, this._buttonStart, Xbox360Button.Start); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Xbox360Pad.prototype, "buttonBack", { + get: function () { + return this._buttonBack; + }, + set: function (value) { + this._buttonBack = this._setButtonValue(value, this._buttonBack, Xbox360Button.Back); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Xbox360Pad.prototype, "buttonLB", { + get: function () { + return this._buttonLB; + }, + set: function (value) { + this._buttonLB = this._setButtonValue(value, this._buttonLB, Xbox360Button.LB); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Xbox360Pad.prototype, "buttonRB", { + get: function () { + return this._buttonRB; + }, + set: function (value) { + this._buttonRB = this._setButtonValue(value, this._buttonRB, Xbox360Button.RB); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Xbox360Pad.prototype, "buttonLeftStick", { + get: function () { + return this._buttonLeftStick; + }, + set: function (value) { + this._buttonLeftStick = this._setButtonValue(value, this._buttonLeftStick, Xbox360Button.LeftStick); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Xbox360Pad.prototype, "buttonRightStick", { + get: function () { + return this._buttonRightStick; + }, + set: function (value) { + this._buttonRightStick = this._setButtonValue(value, this._buttonRightStick, Xbox360Button.RightStick); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Xbox360Pad.prototype, "dPadUp", { + get: function () { + return this._dPadUp; + }, + set: function (value) { + this._dPadUp = this._setDPadValue(value, this._dPadUp, Xbox360Dpad.Up); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Xbox360Pad.prototype, "dPadDown", { + get: function () { + return this._dPadDown; + }, + set: function (value) { + this._dPadDown = this._setDPadValue(value, this._dPadDown, Xbox360Dpad.Down); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Xbox360Pad.prototype, "dPadLeft", { + get: function () { + return this._dPadLeft; + }, + set: function (value) { + this._dPadLeft = this._setDPadValue(value, this._dPadLeft, Xbox360Dpad.Left); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(Xbox360Pad.prototype, "dPadRight", { + get: function () { + return this._dPadRight; + }, + set: function (value) { + this._dPadRight = this._setDPadValue(value, this._dPadRight, Xbox360Dpad.Right); + }, + enumerable: true, + configurable: true + }); + Xbox360Pad.prototype.update = function () { + _super.prototype.update.call(this); + if (this._isXboxOnePad) { + this.buttonA = this.browserGamepad.buttons[0].value; + this.buttonB = this.browserGamepad.buttons[1].value; + this.buttonX = this.browserGamepad.buttons[2].value; + this.buttonY = this.browserGamepad.buttons[3].value; + this.buttonLB = this.browserGamepad.buttons[4].value; + this.buttonRB = this.browserGamepad.buttons[5].value; + this.leftTrigger = this.browserGamepad.axes[2]; + this.rightTrigger = this.browserGamepad.axes[5]; + this.buttonBack = this.browserGamepad.buttons[9].value; + this.buttonStart = this.browserGamepad.buttons[8].value; + this.buttonLeftStick = this.browserGamepad.buttons[6].value; + this.buttonRightStick = this.browserGamepad.buttons[7].value; + this.dPadUp = this.browserGamepad.buttons[11].value; + this.dPadDown = this.browserGamepad.buttons[12].value; + this.dPadLeft = this.browserGamepad.buttons[13].value; + this.dPadRight = this.browserGamepad.buttons[14].value; + } + else { + this.buttonA = this.browserGamepad.buttons[0].value; + this.buttonB = this.browserGamepad.buttons[1].value; + this.buttonX = this.browserGamepad.buttons[2].value; + this.buttonY = this.browserGamepad.buttons[3].value; + this.buttonLB = this.browserGamepad.buttons[4].value; + this.buttonRB = this.browserGamepad.buttons[5].value; + this.leftTrigger = this.browserGamepad.buttons[6].value; + this.rightTrigger = this.browserGamepad.buttons[7].value; + this.buttonBack = this.browserGamepad.buttons[8].value; + this.buttonStart = this.browserGamepad.buttons[9].value; + this.buttonLeftStick = this.browserGamepad.buttons[10].value; + this.buttonRightStick = this.browserGamepad.buttons[11].value; + this.dPadUp = this.browserGamepad.buttons[12].value; + this.dPadDown = this.browserGamepad.buttons[13].value; + this.dPadLeft = this.browserGamepad.buttons[14].value; + this.dPadRight = this.browserGamepad.buttons[15].value; + } + }; + return Xbox360Pad; + }(Gamepad)); + BABYLON.Xbox360Pad = Xbox360Pad; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.gamepads.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + // We're mainly based on the logic defined into the FreeCamera code + var GamepadCamera = (function (_super) { + __extends(GamepadCamera, _super); + //-- end properties for backward compatibility for inputs + function GamepadCamera(name, position, scene) { + BABYLON.Tools.Warn("Deprecated. Please use Universal Camera instead."); + _super.call(this, name, position, scene); + } + Object.defineProperty(GamepadCamera.prototype, "gamepadAngularSensibility", { + //-- Begin properties for backward compatibility for inputs + get: function () { + var gamepad = this.inputs.attached["gamepad"]; + if (gamepad) + return gamepad.gamepadAngularSensibility; + }, + set: function (value) { + var gamepad = this.inputs.attached["gamepad"]; + if (gamepad) + gamepad.gamepadAngularSensibility = value; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(GamepadCamera.prototype, "gamepadMoveSensibility", { + get: function () { + var gamepad = this.inputs.attached["gamepad"]; + if (gamepad) + return gamepad.gamepadMoveSensibility; + }, + set: function (value) { + var gamepad = this.inputs.attached["gamepad"]; + if (gamepad) + gamepad.gamepadMoveSensibility = value; + }, + enumerable: true, + configurable: true + }); + GamepadCamera.prototype.getTypeName = function () { + return "GamepadCamera"; + }; + return GamepadCamera; + }(BABYLON.UniversalCamera)); + BABYLON.GamepadCamera = GamepadCamera; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.gamepadCamera.js.map + +var BABYLON; +(function (BABYLON) { + var Analyser = (function () { + function Analyser(scene) { + this.SMOOTHING = 0.75; + this.FFT_SIZE = 512; + this.BARGRAPHAMPLITUDE = 256; + this.DEBUGCANVASPOS = { x: 20, y: 20 }; + this.DEBUGCANVASSIZE = { width: 320, height: 200 }; + this._scene = scene; + this._audioEngine = BABYLON.Engine.audioEngine; + if (this._audioEngine.canUseWebAudio) { + this._webAudioAnalyser = this._audioEngine.audioContext.createAnalyser(); + this._webAudioAnalyser.minDecibels = -140; + this._webAudioAnalyser.maxDecibels = 0; + this._byteFreqs = new Uint8Array(this._webAudioAnalyser.frequencyBinCount); + this._byteTime = new Uint8Array(this._webAudioAnalyser.frequencyBinCount); + this._floatFreqs = new Float32Array(this._webAudioAnalyser.frequencyBinCount); + } + } + Analyser.prototype.getFrequencyBinCount = function () { + if (this._audioEngine.canUseWebAudio) { + return this._webAudioAnalyser.frequencyBinCount; + } + else { + return 0; + } + }; + Analyser.prototype.getByteFrequencyData = function () { + if (this._audioEngine.canUseWebAudio) { + this._webAudioAnalyser.smoothingTimeConstant = this.SMOOTHING; + this._webAudioAnalyser.fftSize = this.FFT_SIZE; + this._webAudioAnalyser.getByteFrequencyData(this._byteFreqs); + } + return this._byteFreqs; + }; + Analyser.prototype.getByteTimeDomainData = function () { + if (this._audioEngine.canUseWebAudio) { + this._webAudioAnalyser.smoothingTimeConstant = this.SMOOTHING; + this._webAudioAnalyser.fftSize = this.FFT_SIZE; + this._webAudioAnalyser.getByteTimeDomainData(this._byteTime); + } + return this._byteTime; + }; + Analyser.prototype.getFloatFrequencyData = function () { + if (this._audioEngine.canUseWebAudio) { + this._webAudioAnalyser.smoothingTimeConstant = this.SMOOTHING; + this._webAudioAnalyser.fftSize = this.FFT_SIZE; + this._webAudioAnalyser.getFloatFrequencyData(this._floatFreqs); + } + return this._floatFreqs; + }; + Analyser.prototype.drawDebugCanvas = function () { + var _this = this; + if (this._audioEngine.canUseWebAudio) { + if (!this._debugCanvas) { + this._debugCanvas = document.createElement("canvas"); + this._debugCanvas.width = this.DEBUGCANVASSIZE.width; + this._debugCanvas.height = this.DEBUGCANVASSIZE.height; + this._debugCanvas.style.position = "absolute"; + this._debugCanvas.style.top = this.DEBUGCANVASPOS.y + "px"; + this._debugCanvas.style.left = this.DEBUGCANVASPOS.x + "px"; + this._debugCanvasContext = this._debugCanvas.getContext("2d"); + document.body.appendChild(this._debugCanvas); + this._registerFunc = function () { + _this.drawDebugCanvas(); + }; + this._scene.registerBeforeRender(this._registerFunc); + } + if (this._registerFunc) { + var workingArray = this.getByteFrequencyData(); + this._debugCanvasContext.fillStyle = 'rgb(0, 0, 0)'; + this._debugCanvasContext.fillRect(0, 0, this.DEBUGCANVASSIZE.width, this.DEBUGCANVASSIZE.height); + // Draw the frequency domain chart. + for (var i = 0; i < this.getFrequencyBinCount(); i++) { + var value = workingArray[i]; + var percent = value / this.BARGRAPHAMPLITUDE; + var height = this.DEBUGCANVASSIZE.height * percent; + var offset = this.DEBUGCANVASSIZE.height - height - 1; + var barWidth = this.DEBUGCANVASSIZE.width / this.getFrequencyBinCount(); + var hue = i / this.getFrequencyBinCount() * 360; + this._debugCanvasContext.fillStyle = 'hsl(' + hue + ', 100%, 50%)'; + this._debugCanvasContext.fillRect(i * barWidth, offset, barWidth, height); + } + } + } + }; + Analyser.prototype.stopDebugCanvas = function () { + if (this._debugCanvas) { + this._scene.unregisterBeforeRender(this._registerFunc); + this._registerFunc = null; + document.body.removeChild(this._debugCanvas); + this._debugCanvas = null; + this._debugCanvasContext = null; + } + }; + Analyser.prototype.connectAudioNodes = function (inputAudioNode, outputAudioNode) { + if (this._audioEngine.canUseWebAudio) { + inputAudioNode.connect(this._webAudioAnalyser); + this._webAudioAnalyser.connect(outputAudioNode); + } + }; + Analyser.prototype.dispose = function () { + if (this._audioEngine.canUseWebAudio) { + this._webAudioAnalyser.disconnect(); + } + }; + return Analyser; + }()); + BABYLON.Analyser = Analyser; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.analyser.js.map + +var BABYLON; +(function (BABYLON) { + var DepthRenderer = (function () { + function DepthRenderer(scene, type) { + var _this = this; + if (type === void 0) { type = BABYLON.Engine.TEXTURETYPE_FLOAT; } + this._viewMatrix = BABYLON.Matrix.Zero(); + this._projectionMatrix = BABYLON.Matrix.Zero(); + this._transformMatrix = BABYLON.Matrix.Zero(); + this._worldViewProjection = BABYLON.Matrix.Zero(); + this._scene = scene; + var engine = scene.getEngine(); + // Render target + this._depthMap = new BABYLON.RenderTargetTexture("depthMap", { width: engine.getRenderWidth(), height: engine.getRenderHeight() }, this._scene, false, true, type); + this._depthMap.wrapU = BABYLON.Texture.CLAMP_ADDRESSMODE; + this._depthMap.wrapV = BABYLON.Texture.CLAMP_ADDRESSMODE; + this._depthMap.refreshRate = 1; + this._depthMap.renderParticles = false; + this._depthMap.renderList = null; + // set default depth value to 1.0 (far away) + this._depthMap.onClearObservable.add(function (engine) { + engine.clear(new BABYLON.Color4(1.0, 1.0, 1.0, 1.0), true, true, true); + }); + // Custom render function + var renderSubMesh = function (subMesh) { + var mesh = subMesh.getRenderingMesh(); + var scene = _this._scene; + var engine = scene.getEngine(); + // Culling + engine.setState(subMesh.getMaterial().backFaceCulling); + // Managing instances + var batch = mesh._getInstancesRenderList(subMesh._id); + if (batch.mustReturn) { + return; + } + var hardwareInstancedRendering = (engine.getCaps().instancedArrays !== null) && (batch.visibleInstances[subMesh._id] !== null); + if (_this.isReady(subMesh, hardwareInstancedRendering)) { + engine.enableEffect(_this._effect); + mesh._bind(subMesh, _this._effect, BABYLON.Material.TriangleFillMode); + var material = subMesh.getMaterial(); + _this._effect.setMatrix("viewProjection", scene.getTransformMatrix()); + _this._effect.setFloat("far", scene.activeCamera.maxZ); + // Alpha test + if (material && material.needAlphaTesting()) { + var alphaTexture = material.getAlphaTestTexture(); + _this._effect.setTexture("diffuseSampler", alphaTexture); + _this._effect.setMatrix("diffuseMatrix", alphaTexture.getTextureMatrix()); + } + // Bones + if (mesh.useBones && mesh.computeBonesUsingShaders) { + _this._effect.setMatrices("mBones", mesh.skeleton.getTransformMatrices(mesh)); + } + // Draw + mesh._processRendering(subMesh, _this._effect, BABYLON.Material.TriangleFillMode, batch, hardwareInstancedRendering, function (isInstance, world) { return _this._effect.setMatrix("world", world); }); + } + }; + this._depthMap.customRenderFunction = function (opaqueSubMeshes, alphaTestSubMeshes) { + var index; + for (index = 0; index < opaqueSubMeshes.length; index++) { + renderSubMesh(opaqueSubMeshes.data[index]); + } + for (index = 0; index < alphaTestSubMeshes.length; index++) { + renderSubMesh(alphaTestSubMeshes.data[index]); + } + }; + } + DepthRenderer.prototype.isReady = function (subMesh, useInstances) { + var material = subMesh.getMaterial(); + if (material.disableDepthWrite) { + return false; + } + var defines = []; + var attribs = [BABYLON.VertexBuffer.PositionKind]; + var mesh = subMesh.getMesh(); + var scene = mesh.getScene(); + // Alpha test + if (material && material.needAlphaTesting()) { + defines.push("#define ALPHATEST"); + if (mesh.isVerticesDataPresent(BABYLON.VertexBuffer.UVKind)) { + attribs.push(BABYLON.VertexBuffer.UVKind); + defines.push("#define UV1"); + } + if (mesh.isVerticesDataPresent(BABYLON.VertexBuffer.UV2Kind)) { + attribs.push(BABYLON.VertexBuffer.UV2Kind); + defines.push("#define UV2"); + } + } + // Bones + if (mesh.useBones && mesh.computeBonesUsingShaders) { + attribs.push(BABYLON.VertexBuffer.MatricesIndicesKind); + attribs.push(BABYLON.VertexBuffer.MatricesWeightsKind); + if (mesh.numBoneInfluencers > 4) { + attribs.push(BABYLON.VertexBuffer.MatricesIndicesExtraKind); + attribs.push(BABYLON.VertexBuffer.MatricesWeightsExtraKind); + } + defines.push("#define NUM_BONE_INFLUENCERS " + mesh.numBoneInfluencers); + defines.push("#define BonesPerMesh " + (mesh.skeleton.bones.length + 1)); + } + else { + defines.push("#define NUM_BONE_INFLUENCERS 0"); + } + // Instances + if (useInstances) { + defines.push("#define INSTANCES"); + attribs.push("world0"); + attribs.push("world1"); + attribs.push("world2"); + attribs.push("world3"); + } + // Get correct effect + var join = defines.join("\n"); + if (this._cachedDefines !== join) { + this._cachedDefines = join; + this._effect = this._scene.getEngine().createEffect("depth", attribs, ["world", "mBones", "viewProjection", "diffuseMatrix", "far"], ["diffuseSampler"], join); + } + return this._effect.isReady(); + }; + DepthRenderer.prototype.getDepthMap = function () { + return this._depthMap; + }; + // Methods + DepthRenderer.prototype.dispose = function () { + this._depthMap.dispose(); + }; + return DepthRenderer; + }()); + BABYLON.DepthRenderer = DepthRenderer; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.depthRenderer.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var SSAORenderingPipeline = (function (_super) { + __extends(SSAORenderingPipeline, _super); + /** + * @constructor + * @param {string} name - The rendering pipeline name + * @param {BABYLON.Scene} scene - The scene linked to this pipeline + * @param {any} ratio - The size of the postprocesses. Can be a number shared between passes or an object for more precision: { ssaoRatio: 0.5, combineRatio: 1.0 } + * @param {BABYLON.Camera[]} cameras - The array of cameras that the rendering pipeline will be attached to + */ + function SSAORenderingPipeline(name, scene, ratio, cameras) { + var _this = this; + _super.call(this, scene.getEngine(), name); + // Members + /** + * The PassPostProcess id in the pipeline that contains the original scene color + * @type {string} + */ + this.SSAOOriginalSceneColorEffect = "SSAOOriginalSceneColorEffect"; + /** + * The SSAO PostProcess id in the pipeline + * @type {string} + */ + this.SSAORenderEffect = "SSAORenderEffect"; + /** + * The horizontal blur PostProcess id in the pipeline + * @type {string} + */ + this.SSAOBlurHRenderEffect = "SSAOBlurHRenderEffect"; + /** + * The vertical blur PostProcess id in the pipeline + * @type {string} + */ + this.SSAOBlurVRenderEffect = "SSAOBlurVRenderEffect"; + /** + * The PostProcess id in the pipeline that combines the SSAO-Blur output with the original scene color (SSAOOriginalSceneColorEffect) + * @type {string} + */ + this.SSAOCombineRenderEffect = "SSAOCombineRenderEffect"; + /** + * The output strength of the SSAO post-process. Default value is 1.0. + * @type {number} + */ + this.totalStrength = 1.0; + /** + * The radius around the analyzed pixel used by the SSAO post-process. Default value is 0.0006 + * @type {number} + */ + this.radius = 0.0001; + /** + * Related to fallOff, used to interpolate SSAO samples (first interpolate function input) based on the occlusion difference of each pixel + * Must not be equal to fallOff and superior to fallOff. + * Default value is 0.975 + * @type {number} + */ + this.area = 0.0075; + /** + * Related to area, used to interpolate SSAO samples (second interpolate function input) based on the occlusion difference of each pixel + * Must not be equal to area and inferior to area. + * Default value is 0.0 + * @type {number} + */ + this.fallOff = 0.000001; + /** + * The base color of the SSAO post-process + * The final result is "base + ssao" between [0, 1] + * @type {number} + */ + this.base = 0.5; + this._firstUpdate = true; + this._scene = scene; + // Set up assets + this._createRandomTexture(); + this._depthTexture = scene.enableDepthRenderer().getDepthMap(); // Force depth renderer "on" + var ssaoRatio = ratio.ssaoRatio || ratio; + var combineRatio = ratio.combineRatio || ratio; + this._ratio = { + ssaoRatio: ssaoRatio, + combineRatio: combineRatio + }; + this._originalColorPostProcess = new BABYLON.PassPostProcess("SSAOOriginalSceneColor", combineRatio, null, BABYLON.Texture.BILINEAR_SAMPLINGMODE, scene.getEngine(), false); + this._createSSAOPostProcess(ssaoRatio); + this._createBlurPostProcess(ssaoRatio); + this._createSSAOCombinePostProcess(combineRatio); + // Set up pipeline + this.addEffect(new BABYLON.PostProcessRenderEffect(scene.getEngine(), this.SSAOOriginalSceneColorEffect, function () { return _this._originalColorPostProcess; }, true)); + this.addEffect(new BABYLON.PostProcessRenderEffect(scene.getEngine(), this.SSAORenderEffect, function () { return _this._ssaoPostProcess; }, true)); + this.addEffect(new BABYLON.PostProcessRenderEffect(scene.getEngine(), this.SSAOBlurHRenderEffect, function () { return _this._blurHPostProcess; }, true)); + this.addEffect(new BABYLON.PostProcessRenderEffect(scene.getEngine(), this.SSAOBlurVRenderEffect, function () { return _this._blurVPostProcess; }, true)); + this.addEffect(new BABYLON.PostProcessRenderEffect(scene.getEngine(), this.SSAOCombineRenderEffect, function () { return _this._ssaoCombinePostProcess; }, true)); + // Finish + scene.postProcessRenderPipelineManager.addPipeline(this); + if (cameras) + scene.postProcessRenderPipelineManager.attachCamerasToRenderPipeline(name, cameras); + } + // Public Methods + /** + * Returns the horizontal blur PostProcess + * @return {BABYLON.BlurPostProcess} The horizontal blur post-process + */ + SSAORenderingPipeline.prototype.getBlurHPostProcess = function () { + BABYLON.Tools.Error("SSAORenderinPipeline.getBlurHPostProcess() is deprecated, no more blur post-process exists"); + return null; + }; + /** + * Returns the vertical blur PostProcess + * @return {BABYLON.BlurPostProcess} The vertical blur post-process + */ + SSAORenderingPipeline.prototype.getBlurVPostProcess = function () { + BABYLON.Tools.Error("SSAORenderinPipeline.getBlurVPostProcess() is deprecated, no more blur post-process exists"); + return null; + }; + /** + * Removes the internal pipeline assets and detatches the pipeline from the scene cameras + */ + SSAORenderingPipeline.prototype.dispose = function (disableDepthRender) { + if (disableDepthRender === void 0) { disableDepthRender = false; } + for (var i = 0; i < this._scene.cameras.length; i++) { + var camera = this._scene.cameras[i]; + this._originalColorPostProcess.dispose(camera); + this._ssaoPostProcess.dispose(camera); + this._blurHPostProcess.dispose(camera); + this._blurVPostProcess.dispose(camera); + this._ssaoCombinePostProcess.dispose(camera); + } + this._randomTexture.dispose(); + if (disableDepthRender) + this._scene.disableDepthRenderer(); + this._scene.postProcessRenderPipelineManager.detachCamerasFromRenderPipeline(this._name, this._scene.cameras); + }; + // Private Methods + SSAORenderingPipeline.prototype._createBlurPostProcess = function (ratio) { + var _this = this; + /* + var samplerOffsets = [ + -8.0, -6.0, -4.0, -2.0, + 0.0, + 2.0, 4.0, 6.0, 8.0 + ]; + */ + var samples = 16; + var samplerOffsets = []; + for (var i = -8; i < 8; i++) { + samplerOffsets.push(i * 2); + } + this._blurHPostProcess = new BABYLON.PostProcess("BlurH", "ssao", ["outSize", "samplerOffsets"], ["depthSampler"], ratio, null, BABYLON.Texture.TRILINEAR_SAMPLINGMODE, this._scene.getEngine(), false, "#define BILATERAL_BLUR\n#define BILATERAL_BLUR_H\n#define SAMPLES 16"); + this._blurHPostProcess.onApply = function (effect) { + effect.setFloat("outSize", _this._ssaoCombinePostProcess.width); + effect.setTexture("depthSampler", _this._depthTexture); + if (_this._firstUpdate) { + effect.setArray("samplerOffsets", samplerOffsets); + } + }; + this._blurVPostProcess = new BABYLON.PostProcess("BlurV", "ssao", ["outSize", "samplerOffsets"], ["depthSampler"], ratio, null, BABYLON.Texture.TRILINEAR_SAMPLINGMODE, this._scene.getEngine(), false, "#define BILATERAL_BLUR\n#define SAMPLES 16"); + this._blurVPostProcess.onApply = function (effect) { + effect.setFloat("outSize", _this._ssaoCombinePostProcess.height); + effect.setTexture("depthSampler", _this._depthTexture); + if (_this._firstUpdate) { + effect.setArray("samplerOffsets", samplerOffsets); + _this._firstUpdate = false; + } + }; + }; + SSAORenderingPipeline.prototype._createSSAOPostProcess = function (ratio) { + var _this = this; + var numSamples = 16; + var sampleSphere = [ + 0.5381, 0.1856, -0.4319, + 0.1379, 0.2486, 0.4430, + 0.3371, 0.5679, -0.0057, + -0.6999, -0.0451, -0.0019, + 0.0689, -0.1598, -0.8547, + 0.0560, 0.0069, -0.1843, + -0.0146, 0.1402, 0.0762, + 0.0100, -0.1924, -0.0344, + -0.3577, -0.5301, -0.4358, + -0.3169, 0.1063, 0.0158, + 0.0103, -0.5869, 0.0046, + -0.0897, -0.4940, 0.3287, + 0.7119, -0.0154, -0.0918, + -0.0533, 0.0596, -0.5411, + 0.0352, -0.0631, 0.5460, + -0.4776, 0.2847, -0.0271 + ]; + var samplesFactor = 1.0 / numSamples; + this._ssaoPostProcess = new BABYLON.PostProcess("ssao", "ssao", [ + "sampleSphere", "samplesFactor", "randTextureTiles", "totalStrength", "radius", + "area", "fallOff", "base", "range", "viewport" + ], ["randomSampler"], ratio, null, BABYLON.Texture.BILINEAR_SAMPLINGMODE, this._scene.getEngine(), false, "#define SAMPLES " + numSamples + "\n#define SSAO"); + var viewport = new BABYLON.Vector2(0, 0); + this._ssaoPostProcess.onApply = function (effect) { + if (_this._firstUpdate) { + effect.setArray3("sampleSphere", sampleSphere); + effect.setFloat("samplesFactor", samplesFactor); + effect.setFloat("randTextureTiles", 4.0); + } + effect.setFloat("totalStrength", _this.totalStrength); + effect.setFloat("radius", _this.radius); + effect.setFloat("area", _this.area); + effect.setFloat("fallOff", _this.fallOff); + effect.setFloat("base", _this.base); + effect.setTexture("textureSampler", _this._depthTexture); + effect.setTexture("randomSampler", _this._randomTexture); + }; + }; + SSAORenderingPipeline.prototype._createSSAOCombinePostProcess = function (ratio) { + var _this = this; + this._ssaoCombinePostProcess = new BABYLON.PostProcess("ssaoCombine", "ssaoCombine", [], ["originalColor"], ratio, null, BABYLON.Texture.BILINEAR_SAMPLINGMODE, this._scene.getEngine(), false); + this._ssaoCombinePostProcess.onApply = function (effect) { + effect.setTextureFromPostProcess("originalColor", _this._originalColorPostProcess); + }; + }; + SSAORenderingPipeline.prototype._createRandomTexture = function () { + var size = 512; + this._randomTexture = new BABYLON.DynamicTexture("SSAORandomTexture", size, this._scene, false, BABYLON.Texture.TRILINEAR_SAMPLINGMODE); + this._randomTexture.wrapU = BABYLON.Texture.WRAP_ADDRESSMODE; + this._randomTexture.wrapV = BABYLON.Texture.WRAP_ADDRESSMODE; + var context = this._randomTexture.getContext(); + var rand = function (min, max) { + return Math.random() * (max - min) + min; + }; + var randVector = BABYLON.Vector3.Zero(); + for (var x = 0; x < size; x++) { + for (var y = 0; y < size; y++) { + randVector.x = Math.floor(rand(-1.0, 1.0) * 255); + randVector.y = Math.floor(rand(-1.0, 1.0) * 255); + randVector.z = Math.floor(rand(-1.0, 1.0) * 255); + context.fillStyle = 'rgb(' + randVector.x + ', ' + randVector.y + ', ' + randVector.z + ')'; + context.fillRect(x, y, 1, 1); + } + } + this._randomTexture.update(false); + }; + __decorate([ + BABYLON.serialize() + ], SSAORenderingPipeline.prototype, "totalStrength", void 0); + __decorate([ + BABYLON.serialize() + ], SSAORenderingPipeline.prototype, "radius", void 0); + __decorate([ + BABYLON.serialize() + ], SSAORenderingPipeline.prototype, "area", void 0); + __decorate([ + BABYLON.serialize() + ], SSAORenderingPipeline.prototype, "fallOff", void 0); + __decorate([ + BABYLON.serialize() + ], SSAORenderingPipeline.prototype, "base", void 0); + __decorate([ + BABYLON.serialize() + ], SSAORenderingPipeline.prototype, "_ratio", void 0); + return SSAORenderingPipeline; + }(BABYLON.PostProcessRenderPipeline)); + BABYLON.SSAORenderingPipeline = SSAORenderingPipeline; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.ssaoRenderingPipeline.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + // Inspired by http://http.developer.nvidia.com/GPUGems3/gpugems3_ch13.html + var VolumetricLightScatteringPostProcess = (function (_super) { + __extends(VolumetricLightScatteringPostProcess, _super); + /** + * @constructor + * @param {string} name - The post-process name + * @param {any} ratio - The size of the post-process and/or internal pass (0.5 means that your postprocess will have a width = canvas.width 0.5 and a height = canvas.height 0.5) + * @param {BABYLON.Camera} camera - The camera that the post-process will be attached to + * @param {BABYLON.Mesh} mesh - The mesh used to create the light scattering + * @param {number} samples - The post-process quality, default 100 + * @param {number} samplingMode - The post-process filtering mode + * @param {BABYLON.Engine} engine - The babylon engine + * @param {boolean} reusable - If the post-process is reusable + * @param {BABYLON.Scene} scene - The constructor needs a scene reference to initialize internal components. If "camera" is null (RenderPipelineà, "scene" must be provided + */ + function VolumetricLightScatteringPostProcess(name, ratio, camera, mesh, samples, samplingMode, engine, reusable, scene) { + var _this = this; + if (samples === void 0) { samples = 100; } + if (samplingMode === void 0) { samplingMode = BABYLON.Texture.BILINEAR_SAMPLINGMODE; } + _super.call(this, name, "volumetricLightScattering", ["decay", "exposure", "weight", "meshPositionOnScreen", "density"], ["lightScatteringSampler"], ratio.postProcessRatio || ratio, camera, samplingMode, engine, reusable, "#define NUM_SAMPLES " + samples); + this._screenCoordinates = BABYLON.Vector2.Zero(); + /** + * Custom position of the mesh. Used if "useCustomMeshPosition" is set to "true" + * @type {Vector3} + */ + this.customMeshPosition = BABYLON.Vector3.Zero(); + /** + * Set if the post-process should use a custom position for the light source (true) or the internal mesh position (false) + * @type {boolean} + */ + this.useCustomMeshPosition = false; + /** + * If the post-process should inverse the light scattering direction + * @type {boolean} + */ + this.invert = true; + /** + * Array containing the excluded meshes not rendered in the internal pass + */ + this.excludedMeshes = new Array(); + /** + * Controls the overall intensity of the post-process + * @type {number} + */ + this.exposure = 0.3; + /** + * Dissipates each sample's contribution in range [0, 1] + * @type {number} + */ + this.decay = 0.96815; + /** + * Controls the overall intensity of each sample + * @type {number} + */ + this.weight = 0.58767; + /** + * Controls the density of each sample + * @type {number} + */ + this.density = 0.926; + scene = (camera === null) ? scene : camera.getScene(); // parameter "scene" can be null. + var engine = scene.getEngine(); + this._viewPort = new BABYLON.Viewport(0, 0, 1, 1).toGlobal(engine.getRenderWidth(), engine.getRenderHeight()); + // Configure mesh + this.mesh = (mesh !== null) ? mesh : VolumetricLightScatteringPostProcess.CreateDefaultMesh("VolumetricLightScatteringMesh", scene); + // Configure + this._createPass(scene, ratio.passRatio || ratio); + this.onActivate = function (camera) { + if (!_this.isSupported) { + _this.dispose(camera); + } + _this.onActivate = null; + }; + this.onApplyObservable.add(function (effect) { + _this._updateMeshScreenCoordinates(scene); + effect.setTexture("lightScatteringSampler", _this._volumetricLightScatteringRTT); + effect.setFloat("exposure", _this.exposure); + effect.setFloat("decay", _this.decay); + effect.setFloat("weight", _this.weight); + effect.setFloat("density", _this.density); + effect.setVector2("meshPositionOnScreen", _this._screenCoordinates); + }); + } + Object.defineProperty(VolumetricLightScatteringPostProcess.prototype, "useDiffuseColor", { + get: function () { + BABYLON.Tools.Warn("VolumetricLightScatteringPostProcess.useDiffuseColor is no longer used, use the mesh material directly instead"); + return false; + }, + set: function (useDiffuseColor) { + BABYLON.Tools.Warn("VolumetricLightScatteringPostProcess.useDiffuseColor is no longer used, use the mesh material directly instead"); + }, + enumerable: true, + configurable: true + }); + VolumetricLightScatteringPostProcess.prototype.isReady = function (subMesh, useInstances) { + var mesh = subMesh.getMesh(); + // Render this.mesh as default + if (mesh === this.mesh) { + return mesh.material.isReady(mesh); + } + var defines = []; + var attribs = [BABYLON.VertexBuffer.PositionKind]; + var material = subMesh.getMaterial(); + var needUV = false; + // Alpha test + if (material) { + if (material.needAlphaTesting()) { + defines.push("#define ALPHATEST"); + } + if (mesh.isVerticesDataPresent(BABYLON.VertexBuffer.UVKind)) { + attribs.push(BABYLON.VertexBuffer.UVKind); + defines.push("#define UV1"); + } + if (mesh.isVerticesDataPresent(BABYLON.VertexBuffer.UV2Kind)) { + attribs.push(BABYLON.VertexBuffer.UV2Kind); + defines.push("#define UV2"); + } + } + // Bones + if (mesh.useBones && mesh.computeBonesUsingShaders) { + attribs.push(BABYLON.VertexBuffer.MatricesIndicesKind); + attribs.push(BABYLON.VertexBuffer.MatricesWeightsKind); + defines.push("#define NUM_BONE_INFLUENCERS " + mesh.numBoneInfluencers); + defines.push("#define BonesPerMesh " + (mesh.skeleton.bones.length + 1)); + } + else { + defines.push("#define NUM_BONE_INFLUENCERS 0"); + } + // Instances + if (useInstances) { + defines.push("#define INSTANCES"); + attribs.push("world0"); + attribs.push("world1"); + attribs.push("world2"); + attribs.push("world3"); + } + // Get correct effect + var join = defines.join("\n"); + if (this._cachedDefines !== join) { + this._cachedDefines = join; + this._volumetricLightScatteringPass = mesh.getScene().getEngine().createEffect({ vertexElement: "depth", fragmentElement: "volumetricLightScatteringPass" }, attribs, ["world", "mBones", "viewProjection", "diffuseMatrix"], ["diffuseSampler"], join); + } + return this._volumetricLightScatteringPass.isReady(); + }; + /** + * Sets the new light position for light scattering effect + * @param {BABYLON.Vector3} The new custom light position + */ + VolumetricLightScatteringPostProcess.prototype.setCustomMeshPosition = function (position) { + this.customMeshPosition = position; + }; + /** + * Returns the light position for light scattering effect + * @return {BABYLON.Vector3} The custom light position + */ + VolumetricLightScatteringPostProcess.prototype.getCustomMeshPosition = function () { + return this.customMeshPosition; + }; + /** + * Disposes the internal assets and detaches the post-process from the camera + */ + VolumetricLightScatteringPostProcess.prototype.dispose = function (camera) { + var rttIndex = camera.getScene().customRenderTargets.indexOf(this._volumetricLightScatteringRTT); + if (rttIndex !== -1) { + camera.getScene().customRenderTargets.splice(rttIndex, 1); + } + this._volumetricLightScatteringRTT.dispose(); + _super.prototype.dispose.call(this, camera); + }; + /** + * Returns the render target texture used by the post-process + * @return {BABYLON.RenderTargetTexture} The render target texture used by the post-process + */ + VolumetricLightScatteringPostProcess.prototype.getPass = function () { + return this._volumetricLightScatteringRTT; + }; + // Private methods + VolumetricLightScatteringPostProcess.prototype._meshExcluded = function (mesh) { + if (this.excludedMeshes.length > 0 && this.excludedMeshes.indexOf(mesh) !== -1) { + return true; + } + return false; + }; + VolumetricLightScatteringPostProcess.prototype._createPass = function (scene, ratio) { + var _this = this; + var engine = scene.getEngine(); + this._volumetricLightScatteringRTT = new BABYLON.RenderTargetTexture("volumetricLightScatteringMap", { width: engine.getRenderWidth() * ratio, height: engine.getRenderHeight() * ratio }, scene, false, true, BABYLON.Engine.TEXTURETYPE_UNSIGNED_INT); + this._volumetricLightScatteringRTT.wrapU = BABYLON.Texture.CLAMP_ADDRESSMODE; + this._volumetricLightScatteringRTT.wrapV = BABYLON.Texture.CLAMP_ADDRESSMODE; + this._volumetricLightScatteringRTT.renderList = null; + this._volumetricLightScatteringRTT.renderParticles = false; + scene.customRenderTargets.push(this._volumetricLightScatteringRTT); + // Custom render function for submeshes + var renderSubMesh = function (subMesh) { + var mesh = subMesh.getRenderingMesh(); + if (_this._meshExcluded(mesh)) { + return; + } + var scene = mesh.getScene(); + var engine = scene.getEngine(); + // Culling + engine.setState(subMesh.getMaterial().backFaceCulling); + // Managing instances + var batch = mesh._getInstancesRenderList(subMesh._id); + if (batch.mustReturn) { + return; + } + var hardwareInstancedRendering = (engine.getCaps().instancedArrays !== null) && (batch.visibleInstances[subMesh._id] !== null); + if (_this.isReady(subMesh, hardwareInstancedRendering)) { + var effect = _this._volumetricLightScatteringPass; + if (mesh === _this.mesh) { + effect = subMesh.getMaterial().getEffect(); + } + engine.enableEffect(effect); + mesh._bind(subMesh, effect, BABYLON.Material.TriangleFillMode); + if (mesh === _this.mesh) { + subMesh.getMaterial().bind(mesh.getWorldMatrix(), mesh); + } + else { + var material = subMesh.getMaterial(); + _this._volumetricLightScatteringPass.setMatrix("viewProjection", scene.getTransformMatrix()); + // Alpha test + if (material && material.needAlphaTesting()) { + var alphaTexture = material.getAlphaTestTexture(); + _this._volumetricLightScatteringPass.setTexture("diffuseSampler", alphaTexture); + if (alphaTexture) { + _this._volumetricLightScatteringPass.setMatrix("diffuseMatrix", alphaTexture.getTextureMatrix()); + } + } + // Bones + if (mesh.useBones && mesh.computeBonesUsingShaders) { + _this._volumetricLightScatteringPass.setMatrices("mBones", mesh.skeleton.getTransformMatrices(mesh)); + } + } + // Draw + mesh._processRendering(subMesh, _this._volumetricLightScatteringPass, BABYLON.Material.TriangleFillMode, batch, hardwareInstancedRendering, function (isInstance, world) { return effect.setMatrix("world", world); }); + } + }; + // Render target texture callbacks + var savedSceneClearColor; + var sceneClearColor = new BABYLON.Color4(0.0, 0.0, 0.0, 1.0); + this._volumetricLightScatteringRTT.onBeforeRenderObservable.add(function () { + savedSceneClearColor = scene.clearColor; + scene.clearColor = sceneClearColor; + }); + this._volumetricLightScatteringRTT.onAfterRenderObservable.add(function () { + scene.clearColor = savedSceneClearColor; + }); + this._volumetricLightScatteringRTT.customRenderFunction = function (opaqueSubMeshes, alphaTestSubMeshes, transparentSubMeshes) { + var engine = scene.getEngine(); + var index; + for (index = 0; index < opaqueSubMeshes.length; index++) { + renderSubMesh(opaqueSubMeshes.data[index]); + } + engine.setAlphaTesting(true); + for (index = 0; index < alphaTestSubMeshes.length; index++) { + renderSubMesh(alphaTestSubMeshes.data[index]); + } + engine.setAlphaTesting(false); + if (transparentSubMeshes.length) { + // Sort sub meshes + for (index = 0; index < transparentSubMeshes.length; index++) { + var submesh = transparentSubMeshes.data[index]; + submesh._alphaIndex = submesh.getMesh().alphaIndex; + submesh._distanceToCamera = submesh.getBoundingInfo().boundingSphere.centerWorld.subtract(scene.activeCamera.position).length(); + } + var sortedArray = transparentSubMeshes.data.slice(0, transparentSubMeshes.length); + sortedArray.sort(function (a, b) { + // Alpha index first + if (a._alphaIndex > b._alphaIndex) { + return 1; + } + if (a._alphaIndex < b._alphaIndex) { + return -1; + } + // Then distance to camera + if (a._distanceToCamera < b._distanceToCamera) { + return 1; + } + if (a._distanceToCamera > b._distanceToCamera) { + return -1; + } + return 0; + }); + // Render sub meshes + engine.setAlphaMode(BABYLON.Engine.ALPHA_COMBINE); + for (index = 0; index < sortedArray.length; index++) { + renderSubMesh(sortedArray[index]); + } + engine.setAlphaMode(BABYLON.Engine.ALPHA_DISABLE); + } + }; + }; + VolumetricLightScatteringPostProcess.prototype._updateMeshScreenCoordinates = function (scene) { + var transform = scene.getTransformMatrix(); + var meshPosition; + if (this.useCustomMeshPosition) { + meshPosition = this.customMeshPosition; + } + else if (this.attachedNode) { + meshPosition = this.attachedNode.position; + } + else { + meshPosition = this.mesh.parent ? this.mesh.getAbsolutePosition() : this.mesh.position; + } + var pos = BABYLON.Vector3.Project(meshPosition, BABYLON.Matrix.Identity(), transform, this._viewPort); + this._screenCoordinates.x = pos.x / this._viewPort.width; + this._screenCoordinates.y = pos.y / this._viewPort.height; + if (this.invert) + this._screenCoordinates.y = 1.0 - this._screenCoordinates.y; + }; + // Static methods + /** + * Creates a default mesh for the Volumeric Light Scattering post-process + * @param {string} The mesh name + * @param {BABYLON.Scene} The scene where to create the mesh + * @return {BABYLON.Mesh} the default mesh + */ + VolumetricLightScatteringPostProcess.CreateDefaultMesh = function (name, scene) { + var mesh = BABYLON.Mesh.CreatePlane(name, 1, scene); + mesh.billboardMode = BABYLON.AbstractMesh.BILLBOARDMODE_ALL; + var material = new BABYLON.StandardMaterial(name + "Material", scene); + material.emissiveColor = new BABYLON.Color3(1, 1, 1); + mesh.material = material; + return mesh; + }; + __decorate([ + BABYLON.serializeAsVector3() + ], VolumetricLightScatteringPostProcess.prototype, "customMeshPosition", void 0); + __decorate([ + BABYLON.serialize() + ], VolumetricLightScatteringPostProcess.prototype, "useCustomMeshPosition", void 0); + __decorate([ + BABYLON.serialize() + ], VolumetricLightScatteringPostProcess.prototype, "invert", void 0); + __decorate([ + BABYLON.serializeAsMeshReference() + ], VolumetricLightScatteringPostProcess.prototype, "mesh", void 0); + __decorate([ + BABYLON.serialize() + ], VolumetricLightScatteringPostProcess.prototype, "excludedMeshes", void 0); + __decorate([ + BABYLON.serialize() + ], VolumetricLightScatteringPostProcess.prototype, "exposure", void 0); + __decorate([ + BABYLON.serialize() + ], VolumetricLightScatteringPostProcess.prototype, "decay", void 0); + __decorate([ + BABYLON.serialize() + ], VolumetricLightScatteringPostProcess.prototype, "weight", void 0); + __decorate([ + BABYLON.serialize() + ], VolumetricLightScatteringPostProcess.prototype, "density", void 0); + return VolumetricLightScatteringPostProcess; + }(BABYLON.PostProcess)); + BABYLON.VolumetricLightScatteringPostProcess = VolumetricLightScatteringPostProcess; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.volumetricLightScatteringPostProcess.js.map + +// BABYLON.JS Chromatic Aberration GLSL Shader +// Author: Olivier Guyot +// Separates very slightly R, G and B colors on the edges of the screen +// Inspired by Francois Tarlier & Martins Upitis + + + + + + +var BABYLON; +(function (BABYLON) { + var LensRenderingPipeline = (function (_super) { + __extends(LensRenderingPipeline, _super); + /** + * @constructor + * + * Effect parameters are as follow: + * { + * chromatic_aberration: number; // from 0 to x (1 for realism) + * edge_blur: number; // from 0 to x (1 for realism) + * distortion: number; // from 0 to x (1 for realism) + * grain_amount: number; // from 0 to 1 + * grain_texture: BABYLON.Texture; // texture to use for grain effect; if unset, use random B&W noise + * dof_focus_distance: number; // depth-of-field: focus distance; unset to disable (disabled by default) + * dof_aperture: number; // depth-of-field: focus blur bias (default: 1) + * dof_darken: number; // depth-of-field: darken that which is out of focus (from 0 to 1, disabled by default) + * dof_pentagon: boolean; // depth-of-field: makes a pentagon-like "bokeh" effect + * dof_gain: number; // depth-of-field: highlights gain; unset to disable (disabled by default) + * dof_threshold: number; // depth-of-field: highlights threshold (default: 1) + * blur_noise: boolean; // add a little bit of noise to the blur (default: true) + * } + * Note: if an effect parameter is unset, effect is disabled + * + * @param {string} name - The rendering pipeline name + * @param {object} parameters - An object containing all parameters (see above) + * @param {BABYLON.Scene} scene - The scene linked to this pipeline + * @param {number} ratio - The size of the postprocesses (0.5 means that your postprocess will have a width = canvas.width 0.5 and a height = canvas.height 0.5) + * @param {BABYLON.Camera[]} cameras - The array of cameras that the rendering pipeline will be attached to + */ + function LensRenderingPipeline(name, parameters, scene, ratio, cameras) { + var _this = this; + if (ratio === void 0) { ratio = 1.0; } + _super.call(this, scene.getEngine(), name); + // Lens effects can be of the following: + // - chromatic aberration (slight shift of RGB colors) + // - blur on the edge of the lens + // - lens distortion + // - depth-of-field blur & highlights enhancing + // - depth-of-field 'bokeh' effect (shapes appearing in blurred areas) + // - grain effect (noise or custom texture) + // Two additional texture samplers are needed: + // - depth map (for depth-of-field) + // - grain texture + /** + * The chromatic aberration PostProcess id in the pipeline + * @type {string} + */ + this.LensChromaticAberrationEffect = "LensChromaticAberrationEffect"; + /** + * The highlights enhancing PostProcess id in the pipeline + * @type {string} + */ + this.HighlightsEnhancingEffect = "HighlightsEnhancingEffect"; + /** + * The depth-of-field PostProcess id in the pipeline + * @type {string} + */ + this.LensDepthOfFieldEffect = "LensDepthOfFieldEffect"; + this._scene = scene; + // Fetch texture samplers + this._depthTexture = scene.enableDepthRenderer().getDepthMap(); // Force depth renderer "on" + if (parameters.grain_texture) { + this._grainTexture = parameters.grain_texture; + } + else { + this._createGrainTexture(); + } + // save parameters + this._edgeBlur = parameters.edge_blur ? parameters.edge_blur : 0; + this._grainAmount = parameters.grain_amount ? parameters.grain_amount : 0; + this._chromaticAberration = parameters.chromatic_aberration ? parameters.chromatic_aberration : 0; + this._distortion = parameters.distortion ? parameters.distortion : 0; + this._highlightsGain = parameters.dof_gain !== undefined ? parameters.dof_gain : -1; + this._highlightsThreshold = parameters.dof_threshold ? parameters.dof_threshold : 1; + this._dofDistance = parameters.dof_focus_distance !== undefined ? parameters.dof_focus_distance : -1; + this._dofAperture = parameters.dof_aperture ? parameters.dof_aperture : 1; + this._dofDarken = parameters.dof_darken ? parameters.dof_darken : 0; + this._dofPentagon = parameters.dof_pentagon !== undefined ? parameters.dof_pentagon : true; + this._blurNoise = parameters.blur_noise !== undefined ? parameters.blur_noise : true; + // Create effects + this._createChromaticAberrationPostProcess(ratio); + this._createHighlightsPostProcess(ratio); + this._createDepthOfFieldPostProcess(ratio / 4); + // Set up pipeline + this.addEffect(new BABYLON.PostProcessRenderEffect(scene.getEngine(), this.LensChromaticAberrationEffect, function () { return _this._chromaticAberrationPostProcess; }, true)); + this.addEffect(new BABYLON.PostProcessRenderEffect(scene.getEngine(), this.HighlightsEnhancingEffect, function () { return _this._highlightsPostProcess; }, true)); + this.addEffect(new BABYLON.PostProcessRenderEffect(scene.getEngine(), this.LensDepthOfFieldEffect, function () { return _this._depthOfFieldPostProcess; }, true)); + if (this._highlightsGain === -1) { + this._disableEffect(this.HighlightsEnhancingEffect, null); + } + // Finish + scene.postProcessRenderPipelineManager.addPipeline(this); + if (cameras) { + scene.postProcessRenderPipelineManager.attachCamerasToRenderPipeline(name, cameras); + } + } + // public methods (self explanatory) + LensRenderingPipeline.prototype.setEdgeBlur = function (amount) { this._edgeBlur = amount; }; + LensRenderingPipeline.prototype.disableEdgeBlur = function () { this._edgeBlur = 0; }; + LensRenderingPipeline.prototype.setGrainAmount = function (amount) { this._grainAmount = amount; }; + LensRenderingPipeline.prototype.disableGrain = function () { this._grainAmount = 0; }; + LensRenderingPipeline.prototype.setChromaticAberration = function (amount) { this._chromaticAberration = amount; }; + LensRenderingPipeline.prototype.disableChromaticAberration = function () { this._chromaticAberration = 0; }; + LensRenderingPipeline.prototype.setEdgeDistortion = function (amount) { this._distortion = amount; }; + LensRenderingPipeline.prototype.disableEdgeDistortion = function () { this._distortion = 0; }; + LensRenderingPipeline.prototype.setFocusDistance = function (amount) { this._dofDistance = amount; }; + LensRenderingPipeline.prototype.disableDepthOfField = function () { this._dofDistance = -1; }; + LensRenderingPipeline.prototype.setAperture = function (amount) { this._dofAperture = amount; }; + LensRenderingPipeline.prototype.setDarkenOutOfFocus = function (amount) { this._dofDarken = amount; }; + LensRenderingPipeline.prototype.enablePentagonBokeh = function () { + this._highlightsPostProcess.updateEffect("#define PENTAGON\n"); + }; + LensRenderingPipeline.prototype.disablePentagonBokeh = function () { + this._highlightsPostProcess.updateEffect(); + }; + LensRenderingPipeline.prototype.enableNoiseBlur = function () { this._blurNoise = true; }; + LensRenderingPipeline.prototype.disableNoiseBlur = function () { this._blurNoise = false; }; + LensRenderingPipeline.prototype.setHighlightsGain = function (amount) { + this._highlightsGain = amount; + }; + LensRenderingPipeline.prototype.setHighlightsThreshold = function (amount) { + if (this._highlightsGain === -1) { + this._highlightsGain = 1.0; + } + this._highlightsThreshold = amount; + }; + LensRenderingPipeline.prototype.disableHighlights = function () { + this._highlightsGain = -1; + }; + /** + * Removes the internal pipeline assets and detaches the pipeline from the scene cameras + */ + LensRenderingPipeline.prototype.dispose = function (disableDepthRender) { + if (disableDepthRender === void 0) { disableDepthRender = false; } + this._scene.postProcessRenderPipelineManager.detachCamerasFromRenderPipeline(this._name, this._scene.cameras); + this._chromaticAberrationPostProcess = undefined; + this._highlightsPostProcess = undefined; + this._depthOfFieldPostProcess = undefined; + this._grainTexture.dispose(); + if (disableDepthRender) + this._scene.disableDepthRenderer(); + }; + // colors shifting and distortion + LensRenderingPipeline.prototype._createChromaticAberrationPostProcess = function (ratio) { + var _this = this; + this._chromaticAberrationPostProcess = new BABYLON.PostProcess("LensChromaticAberration", "chromaticAberration", ["chromatic_aberration", "screen_width", "screen_height"], // uniforms + [], // samplers + ratio, null, BABYLON.Texture.TRILINEAR_SAMPLINGMODE, this._scene.getEngine(), false); + this._chromaticAberrationPostProcess.onApply = function (effect) { + effect.setFloat('chromatic_aberration', _this._chromaticAberration); + effect.setFloat('screen_width', _this._scene.getEngine().getRenderingCanvas().width); + effect.setFloat('screen_height', _this._scene.getEngine().getRenderingCanvas().height); + }; + }; + // highlights enhancing + LensRenderingPipeline.prototype._createHighlightsPostProcess = function (ratio) { + var _this = this; + this._highlightsPostProcess = new BABYLON.PostProcess("LensHighlights", "lensHighlights", ["gain", "threshold", "screen_width", "screen_height"], // uniforms + [], // samplers + ratio, null, BABYLON.Texture.TRILINEAR_SAMPLINGMODE, this._scene.getEngine(), false, this._dofPentagon ? "#define PENTAGON\n" : ""); + this._highlightsPostProcess.onApply = function (effect) { + effect.setFloat('gain', _this._highlightsGain); + effect.setFloat('threshold', _this._highlightsThreshold); + effect.setTextureFromPostProcess("textureSampler", _this._chromaticAberrationPostProcess); + effect.setFloat('screen_width', _this._scene.getEngine().getRenderingCanvas().width); + effect.setFloat('screen_height', _this._scene.getEngine().getRenderingCanvas().height); + }; + }; + // colors shifting and distortion + LensRenderingPipeline.prototype._createDepthOfFieldPostProcess = function (ratio) { + var _this = this; + this._depthOfFieldPostProcess = new BABYLON.PostProcess("LensDepthOfField", "depthOfField", [ + "grain_amount", "blur_noise", "screen_width", "screen_height", "distortion", "dof_enabled", + "screen_distance", "aperture", "darken", "edge_blur", "highlights", "near", "far" + ], ["depthSampler", "grainSampler", "highlightsSampler"], ratio, null, BABYLON.Texture.TRILINEAR_SAMPLINGMODE, this._scene.getEngine(), false); + this._depthOfFieldPostProcess.onApply = function (effect) { + effect.setTexture("depthSampler", _this._depthTexture); + effect.setTexture("grainSampler", _this._grainTexture); + effect.setTextureFromPostProcess("textureSampler", _this._highlightsPostProcess); + effect.setTextureFromPostProcess("highlightsSampler", _this._depthOfFieldPostProcess); + effect.setFloat('grain_amount', _this._grainAmount); + effect.setBool('blur_noise', _this._blurNoise); + effect.setFloat('screen_width', _this._scene.getEngine().getRenderingCanvas().width); + effect.setFloat('screen_height', _this._scene.getEngine().getRenderingCanvas().height); + effect.setFloat('distortion', _this._distortion); + effect.setBool('dof_enabled', (_this._dofDistance !== -1)); + effect.setFloat('screen_distance', 1.0 / (0.1 - 1.0 / _this._dofDistance)); + effect.setFloat('aperture', _this._dofAperture); + effect.setFloat('darken', _this._dofDarken); + effect.setFloat('edge_blur', _this._edgeBlur); + effect.setBool('highlights', (_this._highlightsGain !== -1)); + effect.setFloat('near', _this._scene.activeCamera.minZ); + effect.setFloat('far', _this._scene.activeCamera.maxZ); + }; + }; + // creates a black and white random noise texture, 512x512 + LensRenderingPipeline.prototype._createGrainTexture = function () { + var size = 512; + this._grainTexture = new BABYLON.DynamicTexture("LensNoiseTexture", size, this._scene, false, BABYLON.Texture.BILINEAR_SAMPLINGMODE); + this._grainTexture.wrapU = BABYLON.Texture.WRAP_ADDRESSMODE; + this._grainTexture.wrapV = BABYLON.Texture.WRAP_ADDRESSMODE; + var context = this._grainTexture.getContext(); + var rand = function (min, max) { + return Math.random() * (max - min) + min; + }; + var value; + for (var x = 0; x < size; x++) { + for (var y = 0; y < size; y++) { + value = Math.floor(rand(0.42, 0.58) * 255); + context.fillStyle = 'rgb(' + value + ', ' + value + ', ' + value + ')'; + context.fillRect(x, y, 1, 1); + } + } + this._grainTexture.update(false); + }; + return LensRenderingPipeline; + }(BABYLON.PostProcessRenderPipeline)); + BABYLON.LensRenderingPipeline = LensRenderingPipeline; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.lensRenderingPipeline.js.map + +// +// This post-process allows the modification of rendered colors by using +// a 'look-up table' (LUT). This effect is also called Color Grading. +// +// The object needs to be provided an url to a texture containing the color +// look-up table: the texture must be 256 pixels wide and 16 pixels high. +// Use an image editing software to tweak the LUT to match your needs. +// +// For an example of a color LUT, see here: +// http://udn.epicgames.com/Three/rsrc/Three/ColorGrading/RGBTable16x1.png +// For explanations on color grading, see here: +// http://udn.epicgames.com/Three/ColorGrading.html +// + + + + + + +var BABYLON; +(function (BABYLON) { + var ColorCorrectionPostProcess = (function (_super) { + __extends(ColorCorrectionPostProcess, _super); + function ColorCorrectionPostProcess(name, colorTableUrl, options, camera, samplingMode, engine, reusable) { + var _this = this; + _super.call(this, name, 'colorCorrection', null, ['colorTable'], options, camera, samplingMode, engine, reusable); + this._colorTableTexture = new BABYLON.Texture(colorTableUrl, camera.getScene(), true, false, BABYLON.Texture.TRILINEAR_SAMPLINGMODE); + this._colorTableTexture.anisotropicFilteringLevel = 1; + this._colorTableTexture.wrapU = BABYLON.Texture.CLAMP_ADDRESSMODE; + this._colorTableTexture.wrapV = BABYLON.Texture.CLAMP_ADDRESSMODE; + this.onApply = function (effect) { + effect.setTexture("colorTable", _this._colorTableTexture); + }; + } + return ColorCorrectionPostProcess; + }(BABYLON.PostProcess)); + BABYLON.ColorCorrectionPostProcess = ColorCorrectionPostProcess; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.colorCorrectionPostProcess.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var AnaglyphFreeCamera = (function (_super) { + __extends(AnaglyphFreeCamera, _super); + function AnaglyphFreeCamera(name, position, interaxialDistance, scene) { + _super.call(this, name, position, scene); + this.interaxialDistance = interaxialDistance; + this.setCameraRigMode(BABYLON.Camera.RIG_MODE_STEREOSCOPIC_ANAGLYPH, { interaxialDistance: interaxialDistance }); + } + AnaglyphFreeCamera.prototype.getTypeName = function () { + return "AnaglyphFreeCamera"; + }; + return AnaglyphFreeCamera; + }(BABYLON.FreeCamera)); + BABYLON.AnaglyphFreeCamera = AnaglyphFreeCamera; + var AnaglyphArcRotateCamera = (function (_super) { + __extends(AnaglyphArcRotateCamera, _super); + function AnaglyphArcRotateCamera(name, alpha, beta, radius, target, interaxialDistance, scene) { + _super.call(this, name, alpha, beta, radius, target, scene); + this.interaxialDistance = interaxialDistance; + this.setCameraRigMode(BABYLON.Camera.RIG_MODE_STEREOSCOPIC_ANAGLYPH, { interaxialDistance: interaxialDistance }); + } + AnaglyphArcRotateCamera.prototype.getTypeName = function () { + return "AnaglyphArcRotateCamera"; + }; + return AnaglyphArcRotateCamera; + }(BABYLON.ArcRotateCamera)); + BABYLON.AnaglyphArcRotateCamera = AnaglyphArcRotateCamera; + var AnaglyphGamepadCamera = (function (_super) { + __extends(AnaglyphGamepadCamera, _super); + function AnaglyphGamepadCamera(name, position, interaxialDistance, scene) { + _super.call(this, name, position, scene); + this.interaxialDistance = interaxialDistance; + this.setCameraRigMode(BABYLON.Camera.RIG_MODE_STEREOSCOPIC_ANAGLYPH, { interaxialDistance: interaxialDistance }); + } + AnaglyphGamepadCamera.prototype.getTypeName = function () { + return "AnaglyphGamepadCamera"; + }; + return AnaglyphGamepadCamera; + }(BABYLON.GamepadCamera)); + BABYLON.AnaglyphGamepadCamera = AnaglyphGamepadCamera; + var AnaglyphUniversalCamera = (function (_super) { + __extends(AnaglyphUniversalCamera, _super); + function AnaglyphUniversalCamera(name, position, interaxialDistance, scene) { + _super.call(this, name, position, scene); + this.interaxialDistance = interaxialDistance; + this.setCameraRigMode(BABYLON.Camera.RIG_MODE_STEREOSCOPIC_ANAGLYPH, { interaxialDistance: interaxialDistance }); + } + AnaglyphUniversalCamera.prototype.getTypeName = function () { + return "AnaglyphUniversalCamera"; + }; + return AnaglyphUniversalCamera; + }(BABYLON.UniversalCamera)); + BABYLON.AnaglyphUniversalCamera = AnaglyphUniversalCamera; + var StereoscopicFreeCamera = (function (_super) { + __extends(StereoscopicFreeCamera, _super); + function StereoscopicFreeCamera(name, position, interaxialDistance, isStereoscopicSideBySide, scene) { + _super.call(this, name, position, scene); + this.interaxialDistance = interaxialDistance; + this.isStereoscopicSideBySide = isStereoscopicSideBySide; + this.setCameraRigMode(isStereoscopicSideBySide ? BABYLON.Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_PARALLEL : BABYLON.Camera.RIG_MODE_STEREOSCOPIC_OVERUNDER, { interaxialDistance: interaxialDistance }); + } + StereoscopicFreeCamera.prototype.getTypeName = function () { + return "StereoscopicFreeCamera"; + }; + return StereoscopicFreeCamera; + }(BABYLON.FreeCamera)); + BABYLON.StereoscopicFreeCamera = StereoscopicFreeCamera; + var StereoscopicArcRotateCamera = (function (_super) { + __extends(StereoscopicArcRotateCamera, _super); + function StereoscopicArcRotateCamera(name, alpha, beta, radius, target, interaxialDistance, isStereoscopicSideBySide, scene) { + _super.call(this, name, alpha, beta, radius, target, scene); + this.interaxialDistance = interaxialDistance; + this.isStereoscopicSideBySide = isStereoscopicSideBySide; + this.setCameraRigMode(isStereoscopicSideBySide ? BABYLON.Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_PARALLEL : BABYLON.Camera.RIG_MODE_STEREOSCOPIC_OVERUNDER, { interaxialDistance: interaxialDistance }); + } + StereoscopicArcRotateCamera.prototype.getTypeName = function () { + return "StereoscopicArcRotateCamera"; + }; + return StereoscopicArcRotateCamera; + }(BABYLON.ArcRotateCamera)); + BABYLON.StereoscopicArcRotateCamera = StereoscopicArcRotateCamera; + var StereoscopicGamepadCamera = (function (_super) { + __extends(StereoscopicGamepadCamera, _super); + function StereoscopicGamepadCamera(name, position, interaxialDistance, isStereoscopicSideBySide, scene) { + _super.call(this, name, position, scene); + this.interaxialDistance = interaxialDistance; + this.isStereoscopicSideBySide = isStereoscopicSideBySide; + this.setCameraRigMode(isStereoscopicSideBySide ? BABYLON.Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_PARALLEL : BABYLON.Camera.RIG_MODE_STEREOSCOPIC_OVERUNDER, { interaxialDistance: interaxialDistance }); + } + StereoscopicGamepadCamera.prototype.getTypeName = function () { + return "StereoscopicGamepadCamera"; + }; + return StereoscopicGamepadCamera; + }(BABYLON.GamepadCamera)); + BABYLON.StereoscopicGamepadCamera = StereoscopicGamepadCamera; + var StereoscopicUniversalCamera = (function (_super) { + __extends(StereoscopicUniversalCamera, _super); + function StereoscopicUniversalCamera(name, position, interaxialDistance, isStereoscopicSideBySide, scene) { + _super.call(this, name, position, scene); + this.interaxialDistance = interaxialDistance; + this.isStereoscopicSideBySide = isStereoscopicSideBySide; + this.setCameraRigMode(isStereoscopicSideBySide ? BABYLON.Camera.RIG_MODE_STEREOSCOPIC_SIDEBYSIDE_PARALLEL : BABYLON.Camera.RIG_MODE_STEREOSCOPIC_OVERUNDER, { interaxialDistance: interaxialDistance }); + } + StereoscopicUniversalCamera.prototype.getTypeName = function () { + return "StereoscopicUniversalCamera"; + }; + return StereoscopicUniversalCamera; + }(BABYLON.UniversalCamera)); + BABYLON.StereoscopicUniversalCamera = StereoscopicUniversalCamera; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.stereoscopicCameras.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var HDRRenderingPipeline = (function (_super) { + __extends(HDRRenderingPipeline, _super); + /** + * @constructor + * @param {string} name - The rendering pipeline name + * @param {BABYLON.Scene} scene - The scene linked to this pipeline + * @param {any} ratio - The size of the postprocesses (0.5 means that your postprocess will have a width = canvas.width 0.5 and a height = canvas.height 0.5) + * @param {BABYLON.PostProcess} originalPostProcess - the custom original color post-process. Must be "reusable". Can be null. + * @param {BABYLON.Camera[]} cameras - The array of cameras that the rendering pipeline will be attached to + */ + function HDRRenderingPipeline(name, scene, ratio, originalPostProcess, cameras) { + var _this = this; + if (originalPostProcess === void 0) { originalPostProcess = null; } + _super.call(this, scene.getEngine(), name); + /** + * Public members + */ + // Gaussian Blur + /** + * Gaussian blur coefficient + * @type {number} + */ + this.gaussCoeff = 0.3; + /** + * Gaussian blur mean + * @type {number} + */ + this.gaussMean = 1.0; + /** + * Gaussian blur standard deviation + * @type {number} + */ + this.gaussStandDev = 0.8; + /** + * Gaussian blur multiplier. Multiplies the blur effect + * @type {number} + */ + this.gaussMultiplier = 4.0; + // HDR + /** + * Exposure, controls the overall intensity of the pipeline + * @type {number} + */ + this.exposure = 1.0; + /** + * Minimum luminance that the post-process can output. Luminance is >= 0 + * @type {number} + */ + this.minimumLuminance = 1.0; + /** + * Maximum luminance that the post-process can output. Must be suprerior to minimumLuminance + * @type {number} + */ + this.maximumLuminance = 1e20; + /** + * Increase rate for luminance: eye adaptation speed to dark + * @type {number} + */ + this.luminanceIncreaserate = 0.5; + /** + * Decrease rate for luminance: eye adaptation speed to bright + * @type {number} + */ + this.luminanceDecreaseRate = 0.5; + // Bright pass + /** + * Minimum luminance needed to compute HDR + * @type {number} + */ + this.brightThreshold = 0.8; + this._needUpdate = true; + this._scene = scene; + // Bright pass + this._createBrightPassPostProcess(scene, ratio); + // Down sample X4 + this._createDownSampleX4PostProcess(scene, ratio); + // Create gaussian blur post-processes + this._createGaussianBlurPostProcess(scene, ratio); + // Texture adder + this._createTextureAdderPostProcess(scene, ratio); + // Luminance generator + this._createLuminanceGeneratorPostProcess(scene); + // HDR + this._createHDRPostProcess(scene, ratio); + // Pass postprocess + if (originalPostProcess === null) { + this._originalPostProcess = new BABYLON.PassPostProcess("hdr", ratio, null, BABYLON.Texture.BILINEAR_SAMPLINGMODE, scene.getEngine(), false); + } + else { + this._originalPostProcess = originalPostProcess; + } + // Configure pipeline + this.addEffect(new BABYLON.PostProcessRenderEffect(scene.getEngine(), "HDRPassPostProcess", function () { return _this._originalPostProcess; }, true)); + this.addEffect(new BABYLON.PostProcessRenderEffect(scene.getEngine(), "HDRBrightPass", function () { return _this._brightPassPostProcess; }, true)); + this.addEffect(new BABYLON.PostProcessRenderEffect(scene.getEngine(), "HDRDownSampleX4", function () { return _this._downSampleX4PostProcess; }, true)); + this.addEffect(new BABYLON.PostProcessRenderEffect(scene.getEngine(), "HDRGaussianBlurH", function () { return _this._guassianBlurHPostProcess; }, true)); + this.addEffect(new BABYLON.PostProcessRenderEffect(scene.getEngine(), "HDRGaussianBlurV", function () { return _this._guassianBlurVPostProcess; }, true)); + this.addEffect(new BABYLON.PostProcessRenderEffect(scene.getEngine(), "HDRTextureAdder", function () { return _this._textureAdderPostProcess; }, true)); + var addDownSamplerPostProcess = function (id) { + _this.addEffect(new BABYLON.PostProcessRenderEffect(scene.getEngine(), "HDRDownSampler" + id, function () { return _this._downSamplePostProcesses[id]; }, true)); + }; + for (var i = HDRRenderingPipeline.LUM_STEPS - 1; i >= 0; i--) { + addDownSamplerPostProcess(i); + } + this.addEffect(new BABYLON.PostProcessRenderEffect(scene.getEngine(), "HDR", function () { return _this._hdrPostProcess; }, true)); + // Finish + scene.postProcessRenderPipelineManager.addPipeline(this); + if (cameras !== null) { + scene.postProcessRenderPipelineManager.attachCamerasToRenderPipeline(name, cameras); + } + this.update(); + } + /** + * Tells the pipeline to update its post-processes + */ + HDRRenderingPipeline.prototype.update = function () { + this._needUpdate = true; + }; + /** + * Returns the current calculated luminance + */ + HDRRenderingPipeline.prototype.getCurrentLuminance = function () { + return this._hdrCurrentLuminance; + }; + /** + * Returns the currently drawn luminance + */ + HDRRenderingPipeline.prototype.getOutputLuminance = function () { + return this._hdrOutputLuminance; + }; + /** + * Releases the rendering pipeline and its internal effects. Detaches pipeline from cameras + */ + HDRRenderingPipeline.prototype.dispose = function () { + this._originalPostProcess = undefined; + this._brightPassPostProcess = undefined; + this._downSampleX4PostProcess = undefined; + this._guassianBlurHPostProcess = undefined; + this._guassianBlurVPostProcess = undefined; + this._textureAdderPostProcess = undefined; + for (var i = HDRRenderingPipeline.LUM_STEPS - 1; i >= 0; i--) { + this._downSamplePostProcesses[i] = undefined; + } + this._hdrPostProcess = undefined; + this._scene.postProcessRenderPipelineManager.detachCamerasFromRenderPipeline(this._name, this._scene.cameras); + }; + /** + * Creates the HDR post-process and computes the luminance adaptation + */ + HDRRenderingPipeline.prototype._createHDRPostProcess = function (scene, ratio) { + var _this = this; + var hdrLastLuminance = 0.0; + this._hdrOutputLuminance = -1.0; + this._hdrCurrentLuminance = 1.0; + this._hdrPostProcess = new BABYLON.PostProcess("hdr", "hdr", ["exposure", "avgLuminance"], ["otherSampler"], ratio, null, BABYLON.Texture.BILINEAR_SAMPLINGMODE, scene.getEngine(), false, "#define HDR"); + this._hdrPostProcess.onApply = function (effect) { + if (_this._hdrOutputLuminance < 0.0) { + _this._hdrOutputLuminance = _this._hdrCurrentLuminance; + } + else { + var dt = (hdrLastLuminance - (hdrLastLuminance + scene.getEngine().getDeltaTime())) / 1000.0; + if (_this._hdrCurrentLuminance < _this._hdrOutputLuminance + _this.luminanceDecreaseRate * dt) { + _this._hdrOutputLuminance += _this.luminanceDecreaseRate * dt; + } + else if (_this._hdrCurrentLuminance > _this._hdrOutputLuminance - _this.luminanceIncreaserate * dt) { + _this._hdrOutputLuminance -= _this.luminanceIncreaserate * dt; + } + else { + _this._hdrOutputLuminance = _this._hdrCurrentLuminance; + } + } + _this._hdrOutputLuminance = BABYLON.MathTools.Clamp(_this._hdrOutputLuminance, _this.minimumLuminance, _this.maximumLuminance); + hdrLastLuminance += scene.getEngine().getDeltaTime(); + effect.setTextureFromPostProcess("textureSampler", _this._textureAdderPostProcess); + effect.setTextureFromPostProcess("otherSampler", _this._originalPostProcess); + effect.setFloat("exposure", _this.exposure); + effect.setFloat("avgLuminance", _this._hdrOutputLuminance); + _this._needUpdate = false; + }; + }; + /** + * Texture Adder post-process + */ + HDRRenderingPipeline.prototype._createTextureAdderPostProcess = function (scene, ratio) { + var _this = this; + this._textureAdderPostProcess = new BABYLON.PostProcess("hdr", "hdr", [], ["otherSampler"], ratio, null, BABYLON.Texture.BILINEAR_SAMPLINGMODE, scene.getEngine(), false, "#define TEXTURE_ADDER"); + this._textureAdderPostProcess.onApply = function (effect) { + effect.setTextureFromPostProcess("otherSampler", _this._originalPostProcess); + }; + }; + /** + * Down sample X4 post-process + */ + HDRRenderingPipeline.prototype._createDownSampleX4PostProcess = function (scene, ratio) { + var _this = this; + var downSampleX4Offsets = new Array(32); + this._downSampleX4PostProcess = new BABYLON.PostProcess("hdr", "hdr", ["dsOffsets"], [], ratio / 4, null, BABYLON.Texture.BILINEAR_SAMPLINGMODE, scene.getEngine(), false, "#define DOWN_SAMPLE_X4"); + this._downSampleX4PostProcess.onApply = function (effect) { + if (_this._needUpdate) { + var id = 0; + for (var i = -2; i < 2; i++) { + for (var j = -2; j < 2; j++) { + downSampleX4Offsets[id] = (i + 0.5) * (1.0 / _this._downSampleX4PostProcess.width); + downSampleX4Offsets[id + 1] = (j + 0.5) * (1.0 / _this._downSampleX4PostProcess.height); + id += 2; + } + } + } + effect.setArray2("dsOffsets", downSampleX4Offsets); + }; + }; + /** + * Bright pass post-process + */ + HDRRenderingPipeline.prototype._createBrightPassPostProcess = function (scene, ratio) { + var _this = this; + var brightOffsets = new Array(8); + var brightPassCallback = function (effect) { + if (_this._needUpdate) { + var sU = (1.0 / _this._brightPassPostProcess.width); + var sV = (1.0 / _this._brightPassPostProcess.height); + brightOffsets[0] = -0.5 * sU; + brightOffsets[1] = 0.5 * sV; + brightOffsets[2] = 0.5 * sU; + brightOffsets[3] = 0.5 * sV; + brightOffsets[4] = -0.5 * sU; + brightOffsets[5] = -0.5 * sV; + brightOffsets[6] = 0.5 * sU; + brightOffsets[7] = -0.5 * sV; + } + effect.setArray2("dsOffsets", brightOffsets); + effect.setFloat("brightThreshold", _this.brightThreshold); + }; + this._brightPassPostProcess = new BABYLON.PostProcess("hdr", "hdr", ["dsOffsets", "brightThreshold"], [], ratio, null, BABYLON.Texture.BILINEAR_SAMPLINGMODE, scene.getEngine(), false, "#define BRIGHT_PASS"); + this._brightPassPostProcess.onApply = brightPassCallback; + }; + /** + * Luminance generator. Creates the luminance post-process and down sample post-processes + */ + HDRRenderingPipeline.prototype._createLuminanceGeneratorPostProcess = function (scene) { + var _this = this; + var lumSteps = HDRRenderingPipeline.LUM_STEPS; + var luminanceOffsets = new Array(8); + var downSampleOffsets = new Array(18); + var halfDestPixelSize; + this._downSamplePostProcesses = new Array(lumSteps); + // Utils for luminance + var luminanceUpdateSourceOffsets = function (width, height) { + var sU = (1.0 / width); + var sV = (1.0 / height); + luminanceOffsets[0] = -0.5 * sU; + luminanceOffsets[1] = 0.5 * sV; + luminanceOffsets[2] = 0.5 * sU; + luminanceOffsets[3] = 0.5 * sV; + luminanceOffsets[4] = -0.5 * sU; + luminanceOffsets[5] = -0.5 * sV; + luminanceOffsets[6] = 0.5 * sU; + luminanceOffsets[7] = -0.5 * sV; + }; + var luminanceUpdateDestOffsets = function (width, height) { + var id = 0; + for (var x = -1; x < 2; x++) { + for (var y = -1; y < 2; y++) { + downSampleOffsets[id] = (x) / width; + downSampleOffsets[id + 1] = (y) / height; + id += 2; + } + } + }; + // Luminance callback + var luminanceCallback = function (effect) { + if (_this._needUpdate) { + luminanceUpdateSourceOffsets(_this._textureAdderPostProcess.width, _this._textureAdderPostProcess.height); + } + effect.setTextureFromPostProcess("textureSampler", _this._textureAdderPostProcess); + effect.setArray2("lumOffsets", luminanceOffsets); + }; + // Down sample callbacks + var downSampleCallback = function (indice) { + var i = indice; + return function (effect) { + luminanceUpdateSourceOffsets(_this._downSamplePostProcesses[i].width, _this._downSamplePostProcesses[i].height); + luminanceUpdateDestOffsets(_this._downSamplePostProcesses[i].width, _this._downSamplePostProcesses[i].height); + halfDestPixelSize = 0.5 / _this._downSamplePostProcesses[i].width; + effect.setTextureFromPostProcess("textureSampler", _this._downSamplePostProcesses[i + 1]); + effect.setFloat("halfDestPixelSize", halfDestPixelSize); + effect.setArray2("dsOffsets", downSampleOffsets); + }; + }; + var downSampleAfterRenderCallback = function (effect) { + // Unpack result + var pixel = scene.getEngine().readPixels(0, 0, 1, 1); + var bit_shift = new BABYLON.Vector4(1.0 / (255.0 * 255.0 * 255.0), 1.0 / (255.0 * 255.0), 1.0 / 255.0, 1.0); + _this._hdrCurrentLuminance = (pixel[0] * bit_shift.x + pixel[1] * bit_shift.y + pixel[2] * bit_shift.z + pixel[3] * bit_shift.w) / 100.0; + }; + // Create luminance post-process + var ratio = { width: Math.pow(3, lumSteps - 1), height: Math.pow(3, lumSteps - 1) }; + this._downSamplePostProcesses[lumSteps - 1] = new BABYLON.PostProcess("hdr", "hdr", ["lumOffsets"], [], ratio, null, BABYLON.Texture.NEAREST_SAMPLINGMODE, scene.getEngine(), false, "#define LUMINANCE_GENERATOR", BABYLON.Engine.TEXTURETYPE_FLOAT); + this._downSamplePostProcesses[lumSteps - 1].onApply = luminanceCallback; + // Create down sample post-processes + for (var i = lumSteps - 2; i >= 0; i--) { + var length = Math.pow(3, i); + ratio = { width: length, height: length }; + var defines = "#define DOWN_SAMPLE\n"; + if (i === 0) { + defines += "#define FINAL_DOWN_SAMPLE\n"; // To pack the result + } + this._downSamplePostProcesses[i] = new BABYLON.PostProcess("hdr", "hdr", ["dsOffsets", "halfDestPixelSize"], [], ratio, null, BABYLON.Texture.NEAREST_SAMPLINGMODE, scene.getEngine(), false, defines, BABYLON.Engine.TEXTURETYPE_FLOAT); + this._downSamplePostProcesses[i].onApply = downSampleCallback(i); + if (i === 0) { + this._downSamplePostProcesses[i].onAfterRender = downSampleAfterRenderCallback; + } + } + }; + /** + * Gaussian blur post-processes. Horizontal and Vertical + */ + HDRRenderingPipeline.prototype._createGaussianBlurPostProcess = function (scene, ratio) { + var _this = this; + var blurOffsetsW = new Array(9); + var blurOffsetsH = new Array(9); + var blurWeights = new Array(9); + var uniforms = ["blurOffsets", "blurWeights", "multiplier"]; + // Utils for gaussian blur + var calculateBlurOffsets = function (height) { + var lastOutputDimensions = { + width: scene.getEngine().getRenderWidth(), + height: scene.getEngine().getRenderHeight() + }; + for (var i = 0; i < 9; i++) { + var value = (i - 4.0) * (1.0 / (height === true ? lastOutputDimensions.height : lastOutputDimensions.width)); + if (height) { + blurOffsetsH[i] = value; + } + else { + blurOffsetsW[i] = value; + } + } + }; + var calculateWeights = function () { + var x = 0.0; + for (var i = 0; i < 9; i++) { + x = (i - 4.0) / 4.0; + blurWeights[i] = _this.gaussCoeff * (1.0 / Math.sqrt(2.0 * Math.PI * _this.gaussStandDev)) * Math.exp((-((x - _this.gaussMean) * (x - _this.gaussMean))) / (2.0 * _this.gaussStandDev * _this.gaussStandDev)); + } + }; + // Callback + var gaussianBlurCallback = function (height) { + return function (effect) { + if (_this._needUpdate) { + calculateWeights(); + calculateBlurOffsets(height); + } + effect.setArray("blurOffsets", height ? blurOffsetsH : blurOffsetsW); + effect.setArray("blurWeights", blurWeights); + effect.setFloat("multiplier", _this.gaussMultiplier); + }; + }; + // Create horizontal gaussian blur post-processes + this._guassianBlurHPostProcess = new BABYLON.PostProcess("hdr", "hdr", uniforms, [], ratio / 4, null, BABYLON.Texture.BILINEAR_SAMPLINGMODE, scene.getEngine(), false, "#define GAUSSIAN_BLUR_H"); + this._guassianBlurHPostProcess.onApply = gaussianBlurCallback(false); + // Create vertical gaussian blur post-process + this._guassianBlurVPostProcess = new BABYLON.PostProcess("hdr", "hdr", uniforms, [], ratio / 4, null, BABYLON.Texture.BILINEAR_SAMPLINGMODE, scene.getEngine(), false, "#define GAUSSIAN_BLUR_V"); + this._guassianBlurVPostProcess.onApply = gaussianBlurCallback(true); + }; + // Luminance generator + HDRRenderingPipeline.LUM_STEPS = 6; + return HDRRenderingPipeline; + }(BABYLON.PostProcessRenderPipeline)); + BABYLON.HDRRenderingPipeline = HDRRenderingPipeline; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.hdrRenderingPipeline.js.map + +var BABYLON; +(function (BABYLON) { + var FaceAdjacencies = (function () { + function FaceAdjacencies() { + this.edges = new Array(); + this.edgesConnectedCount = 0; + } + return FaceAdjacencies; + }()); + var EdgesRenderer = (function () { + // Beware when you use this class with complex objects as the adjacencies computation can be really long + function EdgesRenderer(source, epsilon, checkVerticesInsteadOfIndices) { + if (epsilon === void 0) { epsilon = 0.95; } + if (checkVerticesInsteadOfIndices === void 0) { checkVerticesInsteadOfIndices = false; } + this.edgesWidthScalerForOrthographic = 1000.0; + this.edgesWidthScalerForPerspective = 50.0; + this._linesPositions = new Array(); + this._linesNormals = new Array(); + this._linesIndices = new Array(); + this._buffers = {}; + this._checkVerticesInsteadOfIndices = false; + this._source = source; + this._checkVerticesInsteadOfIndices = checkVerticesInsteadOfIndices; + this._epsilon = epsilon; + this._prepareRessources(); + this._generateEdgesLines(); + } + EdgesRenderer.prototype._prepareRessources = function () { + if (this._lineShader) { + return; + } + this._lineShader = new BABYLON.ShaderMaterial("lineShader", this._source.getScene(), "line", { + attributes: ["position", "normal"], + uniforms: ["worldViewProjection", "color", "width", "aspectRatio"] + }); + this._lineShader.disableDepthWrite = true; + this._lineShader.backFaceCulling = false; + }; + EdgesRenderer.prototype.dispose = function () { + var buffer = this._buffers[BABYLON.VertexBuffer.PositionKind]; + if (buffer) { + buffer.dispose(); + this._buffers[BABYLON.VertexBuffer.PositionKind] = null; + } + buffer = this._buffers[BABYLON.VertexBuffer.NormalKind]; + if (buffer) { + buffer.dispose(); + this._buffers[BABYLON.VertexBuffer.NormalKind] = null; + } + this._source.getScene().getEngine()._releaseBuffer(this._ib); + this._lineShader.dispose(); + }; + EdgesRenderer.prototype._processEdgeForAdjacencies = function (pa, pb, p0, p1, p2) { + if (pa === p0 && pb === p1 || pa === p1 && pb === p0) { + return 0; + } + if (pa === p1 && pb === p2 || pa === p2 && pb === p1) { + return 1; + } + if (pa === p2 && pb === p0 || pa === p0 && pb === p2) { + return 2; + } + return -1; + }; + EdgesRenderer.prototype._processEdgeForAdjacenciesWithVertices = function (pa, pb, p0, p1, p2) { + if (pa.equalsWithEpsilon(p0) && pb.equalsWithEpsilon(p1) || pa.equalsWithEpsilon(p1) && pb.equalsWithEpsilon(p0)) { + return 0; + } + if (pa.equalsWithEpsilon(p1) && pb.equalsWithEpsilon(p2) || pa.equalsWithEpsilon(p2) && pb.equalsWithEpsilon(p1)) { + return 1; + } + if (pa.equalsWithEpsilon(p2) && pb.equalsWithEpsilon(p0) || pa.equalsWithEpsilon(p0) && pb.equalsWithEpsilon(p2)) { + return 2; + } + return -1; + }; + EdgesRenderer.prototype._checkEdge = function (faceIndex, edge, faceNormals, p0, p1) { + var needToCreateLine; + if (edge === undefined) { + needToCreateLine = true; + } + else { + var dotProduct = BABYLON.Vector3.Dot(faceNormals[faceIndex], faceNormals[edge]); + needToCreateLine = dotProduct < this._epsilon; + } + if (needToCreateLine) { + var offset = this._linesPositions.length / 3; + var normal = p0.subtract(p1); + normal.normalize(); + // Positions + this._linesPositions.push(p0.x); + this._linesPositions.push(p0.y); + this._linesPositions.push(p0.z); + this._linesPositions.push(p0.x); + this._linesPositions.push(p0.y); + this._linesPositions.push(p0.z); + this._linesPositions.push(p1.x); + this._linesPositions.push(p1.y); + this._linesPositions.push(p1.z); + this._linesPositions.push(p1.x); + this._linesPositions.push(p1.y); + this._linesPositions.push(p1.z); + // Normals + this._linesNormals.push(p1.x); + this._linesNormals.push(p1.y); + this._linesNormals.push(p1.z); + this._linesNormals.push(-1); + this._linesNormals.push(p1.x); + this._linesNormals.push(p1.y); + this._linesNormals.push(p1.z); + this._linesNormals.push(1); + this._linesNormals.push(p0.x); + this._linesNormals.push(p0.y); + this._linesNormals.push(p0.z); + this._linesNormals.push(-1); + this._linesNormals.push(p0.x); + this._linesNormals.push(p0.y); + this._linesNormals.push(p0.z); + this._linesNormals.push(1); + // Indices + this._linesIndices.push(offset); + this._linesIndices.push(offset + 1); + this._linesIndices.push(offset + 2); + this._linesIndices.push(offset); + this._linesIndices.push(offset + 2); + this._linesIndices.push(offset + 3); + } + }; + EdgesRenderer.prototype._generateEdgesLines = function () { + var positions = this._source.getVerticesData(BABYLON.VertexBuffer.PositionKind); + var indices = this._source.getIndices(); + // First let's find adjacencies + var adjacencies = new Array(); + var faceNormals = new Array(); + var index; + var faceAdjacencies; + // Prepare faces + for (index = 0; index < indices.length; index += 3) { + faceAdjacencies = new FaceAdjacencies(); + var p0Index = indices[index]; + var p1Index = indices[index + 1]; + var p2Index = indices[index + 2]; + faceAdjacencies.p0 = new BABYLON.Vector3(positions[p0Index * 3], positions[p0Index * 3 + 1], positions[p0Index * 3 + 2]); + faceAdjacencies.p1 = new BABYLON.Vector3(positions[p1Index * 3], positions[p1Index * 3 + 1], positions[p1Index * 3 + 2]); + faceAdjacencies.p2 = new BABYLON.Vector3(positions[p2Index * 3], positions[p2Index * 3 + 1], positions[p2Index * 3 + 2]); + var faceNormal = BABYLON.Vector3.Cross(faceAdjacencies.p1.subtract(faceAdjacencies.p0), faceAdjacencies.p2.subtract(faceAdjacencies.p1)); + faceNormal.normalize(); + faceNormals.push(faceNormal); + adjacencies.push(faceAdjacencies); + } + // Scan + for (index = 0; index < adjacencies.length; index++) { + faceAdjacencies = adjacencies[index]; + for (var otherIndex = index + 1; otherIndex < adjacencies.length; otherIndex++) { + var otherFaceAdjacencies = adjacencies[otherIndex]; + if (faceAdjacencies.edgesConnectedCount === 3) { + break; + } + if (otherFaceAdjacencies.edgesConnectedCount === 3) { + continue; + } + var otherP0 = indices[otherIndex * 3]; + var otherP1 = indices[otherIndex * 3 + 1]; + var otherP2 = indices[otherIndex * 3 + 2]; + for (var edgeIndex = 0; edgeIndex < 3; edgeIndex++) { + var otherEdgeIndex; + if (faceAdjacencies.edges[edgeIndex] !== undefined) { + continue; + } + switch (edgeIndex) { + case 0: + if (this._checkVerticesInsteadOfIndices) { + otherEdgeIndex = this._processEdgeForAdjacenciesWithVertices(faceAdjacencies.p0, faceAdjacencies.p1, otherFaceAdjacencies.p0, otherFaceAdjacencies.p1, otherFaceAdjacencies.p2); + } + else { + otherEdgeIndex = this._processEdgeForAdjacencies(indices[index * 3], indices[index * 3 + 1], otherP0, otherP1, otherP2); + } + break; + case 1: + if (this._checkVerticesInsteadOfIndices) { + otherEdgeIndex = this._processEdgeForAdjacenciesWithVertices(faceAdjacencies.p1, faceAdjacencies.p2, otherFaceAdjacencies.p0, otherFaceAdjacencies.p1, otherFaceAdjacencies.p2); + } + else { + otherEdgeIndex = this._processEdgeForAdjacencies(indices[index * 3 + 1], indices[index * 3 + 2], otherP0, otherP1, otherP2); + } + break; + case 2: + if (this._checkVerticesInsteadOfIndices) { + otherEdgeIndex = this._processEdgeForAdjacenciesWithVertices(faceAdjacencies.p2, faceAdjacencies.p0, otherFaceAdjacencies.p0, otherFaceAdjacencies.p1, otherFaceAdjacencies.p2); + } + else { + otherEdgeIndex = this._processEdgeForAdjacencies(indices[index * 3 + 2], indices[index * 3], otherP0, otherP1, otherP2); + } + break; + } + if (otherEdgeIndex === -1) { + continue; + } + faceAdjacencies.edges[edgeIndex] = otherIndex; + otherFaceAdjacencies.edges[otherEdgeIndex] = index; + faceAdjacencies.edgesConnectedCount++; + otherFaceAdjacencies.edgesConnectedCount++; + if (faceAdjacencies.edgesConnectedCount === 3) { + break; + } + } + } + } + // Create lines + for (index = 0; index < adjacencies.length; index++) { + // We need a line when a face has no adjacency on a specific edge or if all the adjacencies has an angle greater than epsilon + var current = adjacencies[index]; + this._checkEdge(index, current.edges[0], faceNormals, current.p0, current.p1); + this._checkEdge(index, current.edges[1], faceNormals, current.p1, current.p2); + this._checkEdge(index, current.edges[2], faceNormals, current.p2, current.p0); + } + // Merge into a single mesh + var engine = this._source.getScene().getEngine(); + this._buffers[BABYLON.VertexBuffer.PositionKind] = new BABYLON.VertexBuffer(engine, this._linesPositions, BABYLON.VertexBuffer.PositionKind, false); + this._buffers[BABYLON.VertexBuffer.NormalKind] = new BABYLON.VertexBuffer(engine, this._linesNormals, BABYLON.VertexBuffer.NormalKind, false, false, 4); + this._ib = engine.createIndexBuffer(this._linesIndices); + this._indicesCount = this._linesIndices.length; + }; + EdgesRenderer.prototype.render = function () { + if (!this._lineShader.isReady()) { + return; + } + var scene = this._source.getScene(); + var engine = scene.getEngine(); + this._lineShader._preBind(); + // VBOs + engine.bindBuffers(this._buffers, this._ib, this._lineShader.getEffect()); + scene.resetCachedMaterial(); + this._lineShader.setColor4("color", this._source.edgesColor); + if (scene.activeCamera.mode === BABYLON.Camera.ORTHOGRAPHIC_CAMERA) { + this._lineShader.setFloat("width", this._source.edgesWidth / this.edgesWidthScalerForOrthographic); + } + else { + this._lineShader.setFloat("width", this._source.edgesWidth / this.edgesWidthScalerForPerspective); + } + this._lineShader.setFloat("aspectRatio", engine.getAspectRatio(scene.activeCamera)); + this._lineShader.bind(this._source.getWorldMatrix()); + // Draw order + engine.draw(true, 0, this._indicesCount); + this._lineShader.unbind(); + engine.setDepthWrite(true); + }; + return EdgesRenderer; + }()); + BABYLON.EdgesRenderer = EdgesRenderer; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.edgesRenderer.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + (function (TonemappingOperator) { + TonemappingOperator[TonemappingOperator["Hable"] = 0] = "Hable"; + TonemappingOperator[TonemappingOperator["Reinhard"] = 1] = "Reinhard"; + TonemappingOperator[TonemappingOperator["HejiDawson"] = 2] = "HejiDawson"; + TonemappingOperator[TonemappingOperator["Photographic"] = 3] = "Photographic"; + })(BABYLON.TonemappingOperator || (BABYLON.TonemappingOperator = {})); + var TonemappingOperator = BABYLON.TonemappingOperator; + ; + var TonemapPostProcess = (function (_super) { + __extends(TonemapPostProcess, _super); + function TonemapPostProcess(name, _operator, exposureAdjustment, camera, samplingMode, engine, textureFormat) { + var _this = this; + if (samplingMode === void 0) { samplingMode = BABYLON.Texture.BILINEAR_SAMPLINGMODE; } + if (textureFormat === void 0) { textureFormat = BABYLON.Engine.TEXTURETYPE_UNSIGNED_INT; } + _super.call(this, name, "tonemap", ["_ExposureAdjustment"], null, 1.0, camera, samplingMode, engine, true, defines, textureFormat); + this._operator = _operator; + this.exposureAdjustment = exposureAdjustment; + var defines = "#define "; + if (this._operator === TonemappingOperator.Hable) + defines += "HABLE_TONEMAPPING"; + else if (this._operator === TonemappingOperator.Reinhard) + defines += "REINHARD_TONEMAPPING"; + else if (this._operator === TonemappingOperator.HejiDawson) + defines += "OPTIMIZED_HEJIDAWSON_TONEMAPPING"; + else if (this._operator === TonemappingOperator.Photographic) + defines += "PHOTOGRAPHIC_TONEMAPPING"; + //sadly a second call to create the effect. + this.updateEffect(defines); + this.onApply = function (effect) { + effect.setFloat("_ExposureAdjustment", _this.exposureAdjustment); + }; + } + return TonemapPostProcess; + }(BABYLON.PostProcess)); + BABYLON.TonemapPostProcess = TonemapPostProcess; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.tonemapPostProcess.js.map + +var BABYLON; +(function (BABYLON) { + var ReflectionProbe = (function () { + function ReflectionProbe(name, size, scene, generateMipMaps) { + var _this = this; + if (generateMipMaps === void 0) { generateMipMaps = true; } + this.name = name; + this._viewMatrix = BABYLON.Matrix.Identity(); + this._target = BABYLON.Vector3.Zero(); + this._add = BABYLON.Vector3.Zero(); + this.invertYAxis = false; + this.position = BABYLON.Vector3.Zero(); + this._scene = scene; + this._scene.reflectionProbes.push(this); + this._renderTargetTexture = new BABYLON.RenderTargetTexture(name, size, scene, generateMipMaps, true, BABYLON.Engine.TEXTURETYPE_UNSIGNED_INT, true); + this._renderTargetTexture.onBeforeRenderObservable.add(function (faceIndex) { + switch (faceIndex) { + case 0: + _this._add.copyFromFloats(1, 0, 0); + break; + case 1: + _this._add.copyFromFloats(-1, 0, 0); + break; + case 2: + _this._add.copyFromFloats(0, _this.invertYAxis ? 1 : -1, 0); + break; + case 3: + _this._add.copyFromFloats(0, _this.invertYAxis ? -1 : 1, 0); + break; + case 4: + _this._add.copyFromFloats(0, 0, 1); + break; + case 5: + _this._add.copyFromFloats(0, 0, -1); + break; + } + if (_this._attachedMesh) { + _this.position.copyFrom(_this._attachedMesh.getAbsolutePosition()); + } + _this.position.addToRef(_this._add, _this._target); + BABYLON.Matrix.LookAtLHToRef(_this.position, _this._target, BABYLON.Vector3.Up(), _this._viewMatrix); + scene.setTransformMatrix(_this._viewMatrix, _this._projectionMatrix); + }); + this._renderTargetTexture.onAfterUnbindObservable.add(function () { + scene.updateTransformMatrix(true); + }); + this._projectionMatrix = BABYLON.Matrix.PerspectiveFovLH(Math.PI / 2, 1, scene.activeCamera.minZ, scene.activeCamera.maxZ); + } + Object.defineProperty(ReflectionProbe.prototype, "refreshRate", { + get: function () { + return this._renderTargetTexture.refreshRate; + }, + set: function (value) { + this._renderTargetTexture.refreshRate = value; + }, + enumerable: true, + configurable: true + }); + ReflectionProbe.prototype.getScene = function () { + return this._scene; + }; + Object.defineProperty(ReflectionProbe.prototype, "cubeTexture", { + get: function () { + return this._renderTargetTexture; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ReflectionProbe.prototype, "renderList", { + get: function () { + return this._renderTargetTexture.renderList; + }, + enumerable: true, + configurable: true + }); + ReflectionProbe.prototype.attachToMesh = function (mesh) { + this._attachedMesh = mesh; + }; + ReflectionProbe.prototype.dispose = function () { + var index = this._scene.reflectionProbes.indexOf(this); + if (index !== -1) { + // Remove from the scene if found + this._scene.reflectionProbes.splice(index, 1); + } + if (this._renderTargetTexture) { + this._renderTargetTexture.dispose(); + this._renderTargetTexture = null; + } + }; + return ReflectionProbe; + }()); + BABYLON.ReflectionProbe = ReflectionProbe; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.reflectionProbe.js.map + +var BABYLON; +(function (BABYLON) { + var SolidParticle = (function () { + /** + * Creates a Solid Particle object. + * Don't create particles manually, use instead the Solid Particle System internal tools like _addParticle() + * `particleIndex` (integer) is the particle index in the Solid Particle System pool. It's also the particle identifier. + * `positionIndex` (integer) is the starting index of the particle vertices in the SPS "positions" array. + * `model` (ModelShape) is a reference to the model shape on what the particle is designed. + * `shapeId` (integer) is the model shape identifier in the SPS. + * `idxInShape` (integer) is the index of the particle in the current model (ex: the 10th box of addShape(box, 30)) + * `modelBoundingInfo` is the reference to the model BoundingInfo used for intersection computations. + */ + function SolidParticle(particleIndex, positionIndex, model, shapeId, idxInShape, sps, modelBoundingInfo) { + this.idx = 0; // particle global index + this.color = new BABYLON.Color4(1.0, 1.0, 1.0, 1.0); // color + this.position = BABYLON.Vector3.Zero(); // position + this.rotation = BABYLON.Vector3.Zero(); // rotation + this.scaling = new BABYLON.Vector3(1.0, 1.0, 1.0); // scaling + this.uvs = new BABYLON.Vector4(0.0, 0.0, 1.0, 1.0); // uvs + this.velocity = BABYLON.Vector3.Zero(); // velocity + this.alive = true; // alive + this.isVisible = true; // visibility + this._pos = 0; // index of this particle in the global "positions" array + this.shapeId = 0; // model shape id + this.idxInShape = 0; // index of the particle in its shape id + this.idx = particleIndex; + this._pos = positionIndex; + this._model = model; + this.shapeId = shapeId; + this.idxInShape = idxInShape; + this._sps = sps; + if (modelBoundingInfo) { + this._modelBoundingInfo = modelBoundingInfo; + this._boundingInfo = new BABYLON.BoundingInfo(modelBoundingInfo.minimum, modelBoundingInfo.maximum); + } + } + Object.defineProperty(SolidParticle.prototype, "scale", { + /** + * legacy support, changed scale to scaling + */ + get: function () { + return this.scaling; + }, + set: function (scale) { + this.scaling = scale; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(SolidParticle.prototype, "quaternion", { + /** + * legacy support, changed quaternion to rotationQuaternion + */ + get: function () { + return this.rotationQuaternion; + }, + set: function (q) { + this.rotationQuaternion = q; + }, + enumerable: true, + configurable: true + }); + /** + * Returns a boolean. True if the particle intersects another particle or another mesh, else false. + * The intersection is computed on the particle bounding sphere and Axis Aligned Bounding Box (AABB) + * `target` is the object (solid particle or mesh) what the intersection is computed against. + */ + SolidParticle.prototype.intersectsMesh = function (target) { + if (!this._boundingInfo || !target._boundingInfo) { + return false; + } + if (this._sps._bSphereOnly) { + return BABYLON.BoundingSphere.Intersects(this._boundingInfo.boundingSphere, target._boundingInfo.boundingSphere); + } + return this._boundingInfo.intersects(target._boundingInfo, false); + }; + return SolidParticle; + }()); + BABYLON.SolidParticle = SolidParticle; + var ModelShape = (function () { + /** + * Creates a ModelShape object. This is an internal simplified reference to a mesh used as for a model to replicate particles from by the SPS. + * SPS internal tool, don't use it manually. + */ + function ModelShape(id, shape, shapeUV, posFunction, vtxFunction) { + this.shapeID = id; + this._shape = shape; + this._shapeUV = shapeUV; + this._positionFunction = posFunction; + this._vertexFunction = vtxFunction; + } + return ModelShape; + }()); + BABYLON.ModelShape = ModelShape; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.solidParticle.js.map + +var BABYLON; +(function (BABYLON) { + /** + * Full documentation here : http://doc.babylonjs.com/overviews/Solid_Particle_System + */ + var SolidParticleSystem = (function () { + /** + * Creates a SPS (Solid Particle System) object. + * `name` (String) is the SPS name, this will be the underlying mesh name. + * `scene` (Scene) is the scene in which the SPS is added. + * `updatable` (optional boolean, default true) : if the SPS must be updatable or immutable. + * `isPickable` (optional boolean, default false) : if the solid particles must be pickable. + * `particleIntersection` (optional boolean, default false) : if the solid particle intersections must be computed. + * `boundingSphereOnly` (optional boolean, default false) : if the particle intersection must be computed only with the bounding sphere (no bounding box computation, so faster). + * `bSphereRadiusFactor` (optional float, default 1.0) : a number to multiply the boundind sphere radius by in order to reduce it for instance. + * Example : bSphereRadiusFactor = 1.0 / Math.sqrt(3.0) => the bounding sphere exactly matches a spherical mesh. + */ + function SolidParticleSystem(name, scene, options) { + // public members + /** + * The SPS array of Solid Particle objects. Just access each particle as with any classic array. + * Example : var p = SPS.particles[i]; + */ + this.particles = new Array(); + /** + * The SPS total number of particles. Read only. Use SPS.counter instead if you need to set your own value. + */ + this.nbParticles = 0; + /** + * If the particles must ever face the camera (default false). Useful for planar particles. + */ + this.billboard = false; + /** + * Recompute normals when adding a shape + */ + this.recomputeNormals = true; + /** + * This a counter ofr your own usage. It's not set by any SPS functions. + */ + this.counter = 0; + /** + * This empty object is intended to store some SPS specific or temporary values in order to lower the Garbage Collector activity. + * Please read : http://doc.babylonjs.com/overviews/Solid_Particle_System#garbage-collector-concerns + */ + this.vars = {}; + this._positions = new Array(); + this._indices = new Array(); + this._normals = new Array(); + this._colors = new Array(); + this._uvs = new Array(); + this._index = 0; // indices index + this._updatable = true; + this._pickable = false; + this._isVisibilityBoxLocked = false; + this._alwaysVisible = false; + this._shapeCounter = 0; + this._copy = new BABYLON.SolidParticle(null, null, null, null, null, null); + this._color = new BABYLON.Color4(0, 0, 0, 0); + this._computeParticleColor = true; + this._computeParticleTexture = true; + this._computeParticleRotation = true; + this._computeParticleVertex = false; + this._computeBoundingBox = false; + this._cam_axisZ = BABYLON.Vector3.Zero(); + this._cam_axisY = BABYLON.Vector3.Zero(); + this._cam_axisX = BABYLON.Vector3.Zero(); + this._axisX = BABYLON.Axis.X; + this._axisY = BABYLON.Axis.Y; + this._axisZ = BABYLON.Axis.Z; + this._camDir = BABYLON.Vector3.Zero(); + this._rotMatrix = new BABYLON.Matrix(); + this._invertMatrix = new BABYLON.Matrix(); + this._rotated = BABYLON.Vector3.Zero(); + this._quaternion = new BABYLON.Quaternion(); + this._vertex = BABYLON.Vector3.Zero(); + this._normal = BABYLON.Vector3.Zero(); + this._yaw = 0.0; + this._pitch = 0.0; + this._roll = 0.0; + this._halfroll = 0.0; + this._halfpitch = 0.0; + this._halfyaw = 0.0; + this._sinRoll = 0.0; + this._cosRoll = 0.0; + this._sinPitch = 0.0; + this._cosPitch = 0.0; + this._sinYaw = 0.0; + this._cosYaw = 0.0; + this._w = 0.0; + this._minimum = BABYLON.Tmp.Vector3[0]; + this._maximum = BABYLON.Tmp.Vector3[1]; + this._scale = BABYLON.Tmp.Vector3[2]; + this._translation = BABYLON.Tmp.Vector3[3]; + this._minBbox = BABYLON.Tmp.Vector3[4]; + this._maxBbox = BABYLON.Tmp.Vector3[5]; + this._particlesIntersect = false; + this._bSphereOnly = false; + this._bSphereRadiusFactor = 1.0; + this.name = name; + this._scene = scene; + this._camera = scene.activeCamera; + this._pickable = options ? options.isPickable : false; + this._particlesIntersect = options ? options.particleIntersection : false; + this._bSphereOnly = options ? options.boundingSphereOnly : false; + this._bSphereRadiusFactor = (options && options.bSphereRadiusFactor) ? options.bSphereRadiusFactor : 1.0; + if (options && options.updatable) { + this._updatable = options.updatable; + } + else { + this._updatable = true; + } + if (this._pickable) { + this.pickedParticles = []; + } + } + /** + * Builds the SPS underlying mesh. Returns a standard Mesh. + * If no model shape was added to the SPS, the returned mesh is just a single triangular plane. + */ + SolidParticleSystem.prototype.buildMesh = function () { + if (this.nbParticles === 0) { + var triangle = BABYLON.MeshBuilder.CreateDisc("", { radius: 1, tessellation: 3 }, this._scene); + this.addShape(triangle, 1); + triangle.dispose(); + } + this._positions32 = new Float32Array(this._positions); + this._uvs32 = new Float32Array(this._uvs); + this._colors32 = new Float32Array(this._colors); + if (this.recomputeNormals) { + BABYLON.VertexData.ComputeNormals(this._positions32, this._indices, this._normals); + } + this._normals32 = new Float32Array(this._normals); + this._fixedNormal32 = new Float32Array(this._normals); + var vertexData = new BABYLON.VertexData(); + vertexData.set(this._positions32, BABYLON.VertexBuffer.PositionKind); + vertexData.indices = this._indices; + vertexData.set(this._normals32, BABYLON.VertexBuffer.NormalKind); + if (this._uvs32) { + vertexData.set(this._uvs32, BABYLON.VertexBuffer.UVKind); + ; + } + if (this._colors32) { + vertexData.set(this._colors32, BABYLON.VertexBuffer.ColorKind); + } + var mesh = new BABYLON.Mesh(this.name, this._scene); + vertexData.applyToMesh(mesh, this._updatable); + this.mesh = mesh; + this.mesh.isPickable = this._pickable; + // free memory + this._positions = null; + this._normals = null; + this._uvs = null; + this._colors = null; + if (!this._updatable) { + this.particles.length = 0; + } + return mesh; + }; + /** + * Digests the mesh and generates as many solid particles in the system as wanted. Returns the SPS. + * These particles will have the same geometry than the mesh parts and will be positioned at the same localisation than the mesh original places. + * Thus the particles generated from `digest()` have their property `position` set yet. + * `mesh` ( Mesh ) is the mesh to be digested + * `facetNb` (optional integer, default 1) is the number of mesh facets per particle, this parameter is overriden by the parameter `number` if any + * `delta` (optional integer, default 0) is the random extra number of facets per particle , each particle will have between `facetNb` and `facetNb + delta` facets + * `number` (optional positive integer) is the wanted number of particles : each particle is built with `mesh_total_facets / number` facets + */ + SolidParticleSystem.prototype.digest = function (mesh, options) { + var size = (options && options.facetNb) || 1; + var number = (options && options.number); + var delta = (options && options.delta) || 0; + var meshPos = mesh.getVerticesData(BABYLON.VertexBuffer.PositionKind); + var meshInd = mesh.getIndices(); + var meshUV = mesh.getVerticesData(BABYLON.VertexBuffer.UVKind); + var meshCol = mesh.getVerticesData(BABYLON.VertexBuffer.ColorKind); + var meshNor = mesh.getVerticesData(BABYLON.VertexBuffer.NormalKind); + var f = 0; // facet counter + var totalFacets = meshInd.length / 3; // a facet is a triangle, so 3 indices + // compute size from number + if (number) { + number = (number > totalFacets) ? totalFacets : number; + size = Math.round(totalFacets / number); + delta = 0; + } + else { + size = (size > totalFacets) ? totalFacets : size; + } + var facetPos = []; // submesh positions + var facetInd = []; // submesh indices + var facetUV = []; // submesh UV + var facetCol = []; // submesh colors + var barycenter = BABYLON.Tmp.Vector3[0]; + var rand; + var sizeO = size; + while (f < totalFacets) { + size = sizeO + Math.floor((1 + delta) * Math.random()); + if (f > totalFacets - size) { + size = totalFacets - f; + } + // reset temp arrays + facetPos.length = 0; + facetInd.length = 0; + facetUV.length = 0; + facetCol.length = 0; + // iterate over "size" facets + var fi = 0; + for (var j = f * 3; j < (f + size) * 3; j++) { + facetInd.push(fi); + var i = meshInd[j]; + facetPos.push(meshPos[i * 3], meshPos[i * 3 + 1], meshPos[i * 3 + 2]); + if (meshUV) { + facetUV.push(meshUV[i * 2], meshUV[i * 2 + 1]); + } + if (meshCol) { + facetCol.push(meshCol[i * 4], meshCol[i * 4 + 1], meshCol[i * 4 + 2], meshCol[i * 4 + 3]); + } + fi++; + } + // create a model shape for each single particle + var idx = this.nbParticles; + var shape = this._posToShape(facetPos); + var shapeUV = this._uvsToShapeUV(facetUV); + // compute the barycenter of the shape + var v; + for (v = 0; v < shape.length; v++) { + barycenter.addInPlace(shape[v]); + } + barycenter.scaleInPlace(1 / shape.length); + // shift the shape from its barycenter to the origin + for (v = 0; v < shape.length; v++) { + shape[v].subtractInPlace(barycenter); + } + var bInfo; + if (this._particlesIntersect) { + bInfo = new BABYLON.BoundingInfo(barycenter, barycenter); + } + var modelShape = new BABYLON.ModelShape(this._shapeCounter, shape, shapeUV, null, null); + // add the particle in the SPS + this._meshBuilder(this._index, shape, this._positions, facetInd, this._indices, facetUV, this._uvs, facetCol, this._colors, meshNor, this._normals, idx, 0, null); + this._addParticle(idx, this._positions.length, modelShape, this._shapeCounter, 0, bInfo); + // initialize the particle position + this.particles[this.nbParticles].position.addInPlace(barycenter); + this._index += shape.length; + idx++; + this.nbParticles++; + this._shapeCounter++; + f += size; + } + return this; + }; + //reset copy + SolidParticleSystem.prototype._resetCopy = function () { + this._copy.position.x = 0; + this._copy.position.y = 0; + this._copy.position.z = 0; + this._copy.rotation.x = 0; + this._copy.rotation.y = 0; + this._copy.rotation.z = 0; + this._copy.rotationQuaternion = null; + this._copy.scaling.x = 1; + this._copy.scaling.y = 1; + this._copy.scaling.z = 1; + this._copy.uvs.x = 0; + this._copy.uvs.y = 0; + this._copy.uvs.z = 1; + this._copy.uvs.w = 1; + this._copy.color = null; + }; + // _meshBuilder : inserts the shape model in the global SPS mesh + SolidParticleSystem.prototype._meshBuilder = function (p, shape, positions, meshInd, indices, meshUV, uvs, meshCol, colors, meshNor, normals, idx, idxInShape, options) { + var i; + var u = 0; + var c = 0; + var n = 0; + this._resetCopy(); + if (options && options.positionFunction) { + options.positionFunction(this._copy, idx, idxInShape); + } + if (this._copy.rotationQuaternion) { + this._quaternion.copyFrom(this._copy.rotationQuaternion); + } + else { + this._yaw = this._copy.rotation.y; + this._pitch = this._copy.rotation.x; + this._roll = this._copy.rotation.z; + this._quaternionRotationYPR(); + } + this._quaternionToRotationMatrix(); + for (i = 0; i < shape.length; i++) { + this._vertex.x = shape[i].x; + this._vertex.y = shape[i].y; + this._vertex.z = shape[i].z; + if (options && options.vertexFunction) { + options.vertexFunction(this._copy, this._vertex, i); + } + this._vertex.x *= this._copy.scaling.x; + this._vertex.y *= this._copy.scaling.y; + this._vertex.z *= this._copy.scaling.z; + BABYLON.Vector3.TransformCoordinatesToRef(this._vertex, this._rotMatrix, this._rotated); + positions.push(this._copy.position.x + this._rotated.x, this._copy.position.y + this._rotated.y, this._copy.position.z + this._rotated.z); + if (meshUV) { + uvs.push((this._copy.uvs.z - this._copy.uvs.x) * meshUV[u] + this._copy.uvs.x, (this._copy.uvs.w - this._copy.uvs.y) * meshUV[u + 1] + this._copy.uvs.y); + u += 2; + } + if (this._copy.color) { + this._color = this._copy.color; + } + else if (meshCol && meshCol[c] !== undefined) { + this._color.r = meshCol[c]; + this._color.g = meshCol[c + 1]; + this._color.b = meshCol[c + 2]; + this._color.a = meshCol[c + 3]; + } + else { + this._color.r = 1; + this._color.g = 1; + this._color.b = 1; + this._color.a = 1; + } + colors.push(this._color.r, this._color.g, this._color.b, this._color.a); + c += 4; + if (!this.recomputeNormals && meshNor) { + this._normal.x = meshNor[n]; + this._normal.y = meshNor[n + 1]; + this._normal.z = meshNor[n + 2]; + BABYLON.Vector3.TransformCoordinatesToRef(this._normal, this._rotMatrix, this._normal); + normals.push(this._normal.x, this._normal.y, this._normal.z); + n += 3; + } + } + for (i = 0; i < meshInd.length; i++) { + indices.push(p + meshInd[i]); + } + if (this._pickable) { + var nbfaces = meshInd.length / 3; + for (i = 0; i < nbfaces; i++) { + this.pickedParticles.push({ idx: idx, faceId: i }); + } + } + }; + // returns a shape array from positions array + SolidParticleSystem.prototype._posToShape = function (positions) { + var shape = []; + for (var i = 0; i < positions.length; i += 3) { + shape.push(new BABYLON.Vector3(positions[i], positions[i + 1], positions[i + 2])); + } + return shape; + }; + // returns a shapeUV array from a Vector4 uvs + SolidParticleSystem.prototype._uvsToShapeUV = function (uvs) { + var shapeUV = []; + if (uvs) { + for (var i = 0; i < uvs.length; i++) + shapeUV.push(uvs[i]); + } + return shapeUV; + }; + // adds a new particle object in the particles array + SolidParticleSystem.prototype._addParticle = function (idx, idxpos, model, shapeId, idxInShape, bInfo) { + this.particles.push(new BABYLON.SolidParticle(idx, idxpos, model, shapeId, idxInShape, this, bInfo)); + }; + /** + * Adds some particles to the SPS from the model shape. Returns the shape id. + * Please read the doc : http://doc.babylonjs.com/overviews/Solid_Particle_System#create-an-immutable-sps + * `mesh` is any Mesh object that will be used as a model for the solid particles. + * `nb` (positive integer) the number of particles to be created from this model + * `positionFunction` is an optional javascript function to called for each particle on SPS creation. + * `vertexFunction` is an optional javascript function to called for each vertex of each particle on SPS creation + */ + SolidParticleSystem.prototype.addShape = function (mesh, nb, options) { + var meshPos = mesh.getVerticesData(BABYLON.VertexBuffer.PositionKind); + var meshInd = mesh.getIndices(); + var meshUV = mesh.getVerticesData(BABYLON.VertexBuffer.UVKind); + var meshCol = mesh.getVerticesData(BABYLON.VertexBuffer.ColorKind); + var meshNor = mesh.getVerticesData(BABYLON.VertexBuffer.NormalKind); + var bbInfo; + if (this._particlesIntersect) { + bbInfo = mesh.getBoundingInfo(); + } + var shape = this._posToShape(meshPos); + var shapeUV = this._uvsToShapeUV(meshUV); + var posfunc = options ? options.positionFunction : null; + var vtxfunc = options ? options.vertexFunction : null; + var modelShape = new BABYLON.ModelShape(this._shapeCounter, shape, shapeUV, posfunc, vtxfunc); + // particles + var idx = this.nbParticles; + for (var i = 0; i < nb; i++) { + this._meshBuilder(this._index, shape, this._positions, meshInd, this._indices, meshUV, this._uvs, meshCol, this._colors, meshNor, this._normals, idx, i, options); + if (this._updatable) { + this._addParticle(idx, this._positions.length, modelShape, this._shapeCounter, i, bbInfo); + } + this._index += shape.length; + idx++; + } + this.nbParticles += nb; + this._shapeCounter++; + return this._shapeCounter - 1; + }; + // rebuilds a particle back to its just built status : if needed, recomputes the custom positions and vertices + SolidParticleSystem.prototype._rebuildParticle = function (particle) { + this._resetCopy(); + if (particle._model._positionFunction) { + particle._model._positionFunction(this._copy, particle.idx, particle.idxInShape); + } + if (this._copy.rotationQuaternion) { + this._quaternion.copyFrom(this._copy.rotationQuaternion); + } + else { + this._yaw = this._copy.rotation.y; + this._pitch = this._copy.rotation.x; + this._roll = this._copy.rotation.z; + this._quaternionRotationYPR(); + } + this._quaternionToRotationMatrix(); + this._shape = particle._model._shape; + for (var pt = 0; pt < this._shape.length; pt++) { + this._vertex.x = this._shape[pt].x; + this._vertex.y = this._shape[pt].y; + this._vertex.z = this._shape[pt].z; + if (particle._model._vertexFunction) { + particle._model._vertexFunction(this._copy, this._vertex, pt); // recall to stored vertexFunction + } + this._vertex.x *= this._copy.scaling.x; + this._vertex.y *= this._copy.scaling.y; + this._vertex.z *= this._copy.scaling.z; + BABYLON.Vector3.TransformCoordinatesToRef(this._vertex, this._rotMatrix, this._rotated); + this._positions32[particle._pos + pt * 3] = this._copy.position.x + this._rotated.x; + this._positions32[particle._pos + pt * 3 + 1] = this._copy.position.y + this._rotated.y; + this._positions32[particle._pos + pt * 3 + 2] = this._copy.position.z + this._rotated.z; + } + particle.position.x = 0.0; + particle.position.y = 0.0; + particle.position.z = 0.0; + particle.rotation.x = 0.0; + particle.rotation.y = 0.0; + particle.rotation.z = 0.0; + particle.rotationQuaternion = null; + particle.scaling.x = 1.0; + particle.scaling.y = 1.0; + particle.scaling.z = 1.0; + }; + /** + * Rebuilds the whole mesh and updates the VBO : custom positions and vertices are recomputed if needed. + */ + SolidParticleSystem.prototype.rebuildMesh = function () { + for (var p = 0; p < this.particles.length; p++) { + this._rebuildParticle(this.particles[p]); + } + this.mesh.updateVerticesData(BABYLON.VertexBuffer.PositionKind, this._positions32, false, false); + }; + /** + * Sets all the particles : this method actually really updates the mesh according to the particle positions, rotations, colors, textures, etc. + * This method calls `updateParticle()` for each particle of the SPS. + * For an animated SPS, it is usually called within the render loop. + * @param start The particle index in the particle array where to start to compute the particle property values _(default 0)_ + * @param end The particle index in the particle array where to stop to compute the particle property values _(default nbParticle - 1)_ + * @param update If the mesh must be finally updated on this call after all the particle computations _(default true)_ + */ + SolidParticleSystem.prototype.setParticles = function (start, end, update) { + if (start === void 0) { start = 0; } + if (end === void 0) { end = this.nbParticles - 1; } + if (update === void 0) { update = true; } + if (!this._updatable) { + return; + } + // custom beforeUpdate + this.beforeUpdateParticles(start, end, update); + this._cam_axisX.x = 1.0; + this._cam_axisX.y = 0.0; + this._cam_axisX.z = 0.0; + this._cam_axisY.x = 0.0; + this._cam_axisY.y = 1.0; + this._cam_axisY.z = 0.0; + this._cam_axisZ.x = 0.0; + this._cam_axisZ.y = 0.0; + this._cam_axisZ.z = 1.0; + // if the particles will always face the camera + if (this.billboard) { + // compute the camera position and un-rotate it by the current mesh rotation + if (this.mesh._worldMatrix.decompose(this._scale, this._quaternion, this._translation)) { + this._quaternionToRotationMatrix(); + this._rotMatrix.invertToRef(this._invertMatrix); + this._camera._currentTarget.subtractToRef(this._camera.globalPosition, this._camDir); + BABYLON.Vector3.TransformCoordinatesToRef(this._camDir, this._invertMatrix, this._cam_axisZ); + this._cam_axisZ.normalize(); + // set two orthogonal vectors (_cam_axisX and and _cam_axisY) to the rotated camDir axis (_cam_axisZ) + BABYLON.Vector3.CrossToRef(this._cam_axisZ, this._axisX, this._cam_axisY); + BABYLON.Vector3.CrossToRef(this._cam_axisY, this._cam_axisZ, this._cam_axisX); + this._cam_axisY.normalize(); + this._cam_axisX.normalize(); + } + } + BABYLON.Matrix.IdentityToRef(this._rotMatrix); + var idx = 0; + var index = 0; + var colidx = 0; + var colorIndex = 0; + var uvidx = 0; + var uvIndex = 0; + var pt = 0; + if (this._computeBoundingBox) { + BABYLON.Vector3.FromFloatsToRef(Number.MAX_VALUE, Number.MAX_VALUE, Number.MAX_VALUE, this._minimum); + BABYLON.Vector3.FromFloatsToRef(-Number.MAX_VALUE, -Number.MAX_VALUE, -Number.MAX_VALUE, this._maximum); + } + // particle loop + end = (end > this.nbParticles - 1) ? this.nbParticles - 1 : end; + for (var p = start; p <= end; p++) { + this._particle = this.particles[p]; + this._shape = this._particle._model._shape; + this._shapeUV = this._particle._model._shapeUV; + // call to custom user function to update the particle properties + this.updateParticle(this._particle); + if (this._particle.isVisible) { + // particle rotation matrix + if (this.billboard) { + this._particle.rotation.x = 0.0; + this._particle.rotation.y = 0.0; + } + if (this._computeParticleRotation || this.billboard) { + if (this._particle.rotationQuaternion) { + this._quaternion.copyFrom(this._particle.rotationQuaternion); + } + else { + this._yaw = this._particle.rotation.y; + this._pitch = this._particle.rotation.x; + this._roll = this._particle.rotation.z; + this._quaternionRotationYPR(); + } + this._quaternionToRotationMatrix(); + } + // particle vertex loop + for (pt = 0; pt < this._shape.length; pt++) { + idx = index + pt * 3; + colidx = colorIndex + pt * 4; + uvidx = uvIndex + pt * 2; + this._vertex.x = this._shape[pt].x; + this._vertex.y = this._shape[pt].y; + this._vertex.z = this._shape[pt].z; + if (this._computeParticleVertex) { + this.updateParticleVertex(this._particle, this._vertex, pt); + } + // positions + this._vertex.x *= this._particle.scaling.x; + this._vertex.y *= this._particle.scaling.y; + this._vertex.z *= this._particle.scaling.z; + this._w = (this._vertex.x * this._rotMatrix.m[3]) + (this._vertex.y * this._rotMatrix.m[7]) + (this._vertex.z * this._rotMatrix.m[11]) + this._rotMatrix.m[15]; + this._rotated.x = ((this._vertex.x * this._rotMatrix.m[0]) + (this._vertex.y * this._rotMatrix.m[4]) + (this._vertex.z * this._rotMatrix.m[8]) + this._rotMatrix.m[12]) / this._w; + this._rotated.y = ((this._vertex.x * this._rotMatrix.m[1]) + (this._vertex.y * this._rotMatrix.m[5]) + (this._vertex.z * this._rotMatrix.m[9]) + this._rotMatrix.m[13]) / this._w; + this._rotated.z = ((this._vertex.x * this._rotMatrix.m[2]) + (this._vertex.y * this._rotMatrix.m[6]) + (this._vertex.z * this._rotMatrix.m[10]) + this._rotMatrix.m[14]) / this._w; + this._positions32[idx] = this._particle.position.x + this._cam_axisX.x * this._rotated.x + this._cam_axisY.x * this._rotated.y + this._cam_axisZ.x * this._rotated.z; + this._positions32[idx + 1] = this._particle.position.y + this._cam_axisX.y * this._rotated.x + this._cam_axisY.y * this._rotated.y + this._cam_axisZ.y * this._rotated.z; + this._positions32[idx + 2] = this._particle.position.z + this._cam_axisX.z * this._rotated.x + this._cam_axisY.z * this._rotated.y + this._cam_axisZ.z * this._rotated.z; + if (this._computeBoundingBox) { + if (this._positions32[idx] < this._minimum.x) { + this._minimum.x = this._positions32[idx]; + } + if (this._positions32[idx] > this._maximum.x) { + this._maximum.x = this._positions32[idx]; + } + if (this._positions32[idx + 1] < this._minimum.y) { + this._minimum.y = this._positions32[idx + 1]; + } + if (this._positions32[idx + 1] > this._maximum.y) { + this._maximum.y = this._positions32[idx + 1]; + } + if (this._positions32[idx + 2] < this._minimum.z) { + this._minimum.z = this._positions32[idx + 2]; + } + if (this._positions32[idx + 2] > this._maximum.z) { + this._maximum.z = this._positions32[idx + 2]; + } + } + // normals : if the particles can't be morphed then just rotate the normals, what if much more faster than ComputeNormals() + if (!this._computeParticleVertex) { + this._normal.x = this._fixedNormal32[idx]; + this._normal.y = this._fixedNormal32[idx + 1]; + this._normal.z = this._fixedNormal32[idx + 2]; + this._w = (this._normal.x * this._rotMatrix.m[3]) + (this._normal.y * this._rotMatrix.m[7]) + (this._normal.z * this._rotMatrix.m[11]) + this._rotMatrix.m[15]; + this._rotated.x = ((this._normal.x * this._rotMatrix.m[0]) + (this._normal.y * this._rotMatrix.m[4]) + (this._normal.z * this._rotMatrix.m[8]) + this._rotMatrix.m[12]) / this._w; + this._rotated.y = ((this._normal.x * this._rotMatrix.m[1]) + (this._normal.y * this._rotMatrix.m[5]) + (this._normal.z * this._rotMatrix.m[9]) + this._rotMatrix.m[13]) / this._w; + this._rotated.z = ((this._normal.x * this._rotMatrix.m[2]) + (this._normal.y * this._rotMatrix.m[6]) + (this._normal.z * this._rotMatrix.m[10]) + this._rotMatrix.m[14]) / this._w; + this._normals32[idx] = this._cam_axisX.x * this._rotated.x + this._cam_axisY.x * this._rotated.y + this._cam_axisZ.x * this._rotated.z; + this._normals32[idx + 1] = this._cam_axisX.y * this._rotated.x + this._cam_axisY.y * this._rotated.y + this._cam_axisZ.y * this._rotated.z; + this._normals32[idx + 2] = this._cam_axisX.z * this._rotated.x + this._cam_axisY.z * this._rotated.y + this._cam_axisZ.z * this._rotated.z; + } + if (this._computeParticleColor) { + this._colors32[colidx] = this._particle.color.r; + this._colors32[colidx + 1] = this._particle.color.g; + this._colors32[colidx + 2] = this._particle.color.b; + this._colors32[colidx + 3] = this._particle.color.a; + } + if (this._computeParticleTexture) { + this._uvs32[uvidx] = this._shapeUV[pt * 2] * (this._particle.uvs.z - this._particle.uvs.x) + this._particle.uvs.x; + this._uvs32[uvidx + 1] = this._shapeUV[pt * 2 + 1] * (this._particle.uvs.w - this._particle.uvs.y) + this._particle.uvs.y; + } + } + } + else { + for (pt = 0; pt < this._shape.length; pt++) { + idx = index + pt * 3; + colidx = colorIndex + pt * 4; + uvidx = uvIndex + pt * 2; + this._positions32[idx] = this._camera.position.x; + this._positions32[idx + 1] = this._camera.position.y; + this._positions32[idx + 2] = this._camera.position.z; + this._normals32[idx] = 0.0; + this._normals32[idx + 1] = 0.0; + this._normals32[idx + 2] = 0.0; + if (this._computeParticleColor) { + this._colors32[colidx] = this._particle.color.r; + this._colors32[colidx + 1] = this._particle.color.g; + this._colors32[colidx + 2] = this._particle.color.b; + this._colors32[colidx + 3] = this._particle.color.a; + } + if (this._computeParticleTexture) { + this._uvs32[uvidx] = this._shapeUV[pt * 2] * (this._particle.uvs.z - this._particle.uvs.x) + this._particle.uvs.x; + this._uvs32[uvidx + 1] = this._shapeUV[pt * 2 + 1] * (this._particle.uvs.w - this._particle.uvs.y) + this._particle.uvs.y; + } + } + } + // if the particle intersections must be computed : update the bbInfo + if (this._particlesIntersect) { + var bInfo = this._particle._boundingInfo; + var bBox = bInfo.boundingBox; + var bSphere = bInfo.boundingSphere; + if (!this._bSphereOnly) { + // place, scale and rotate the particle bbox within the SPS local system, then update it + for (var b = 0; b < bBox.vectors.length; b++) { + this._vertex.x = this._particle._modelBoundingInfo.boundingBox.vectors[b].x * this._particle.scaling.x; + this._vertex.y = this._particle._modelBoundingInfo.boundingBox.vectors[b].y * this._particle.scaling.y; + this._vertex.z = this._particle._modelBoundingInfo.boundingBox.vectors[b].z * this._particle.scaling.z; + this._w = (this._vertex.x * this._rotMatrix.m[3]) + (this._vertex.y * this._rotMatrix.m[7]) + (this._vertex.z * this._rotMatrix.m[11]) + this._rotMatrix.m[15]; + this._rotated.x = ((this._vertex.x * this._rotMatrix.m[0]) + (this._vertex.y * this._rotMatrix.m[4]) + (this._vertex.z * this._rotMatrix.m[8]) + this._rotMatrix.m[12]) / this._w; + this._rotated.y = ((this._vertex.x * this._rotMatrix.m[1]) + (this._vertex.y * this._rotMatrix.m[5]) + (this._vertex.z * this._rotMatrix.m[9]) + this._rotMatrix.m[13]) / this._w; + this._rotated.z = ((this._vertex.x * this._rotMatrix.m[2]) + (this._vertex.y * this._rotMatrix.m[6]) + (this._vertex.z * this._rotMatrix.m[10]) + this._rotMatrix.m[14]) / this._w; + bBox.vectors[b].x = this._particle.position.x + this._cam_axisX.x * this._rotated.x + this._cam_axisY.x * this._rotated.y + this._cam_axisZ.x * this._rotated.z; + bBox.vectors[b].y = this._particle.position.y + this._cam_axisX.y * this._rotated.x + this._cam_axisY.y * this._rotated.y + this._cam_axisZ.y * this._rotated.z; + bBox.vectors[b].z = this._particle.position.z + this._cam_axisX.z * this._rotated.x + this._cam_axisY.z * this._rotated.y + this._cam_axisZ.z * this._rotated.z; + } + bBox._update(this.mesh._worldMatrix); + } + // place and scale the particle bouding sphere in the SPS local system, then update it + this._minBbox.x = this._particle._modelBoundingInfo.minimum.x * this._particle.scaling.x; + this._minBbox.y = this._particle._modelBoundingInfo.minimum.y * this._particle.scaling.y; + this._minBbox.z = this._particle._modelBoundingInfo.minimum.z * this._particle.scaling.z; + this._maxBbox.x = this._particle._modelBoundingInfo.maximum.x * this._particle.scaling.x; + this._maxBbox.y = this._particle._modelBoundingInfo.maximum.y * this._particle.scaling.y; + this._maxBbox.z = this._particle._modelBoundingInfo.maximum.z * this._particle.scaling.z; + bSphere.center.x = this._particle.position.x + (this._minBbox.x + this._maxBbox.x) * 0.5; + bSphere.center.y = this._particle.position.y + (this._minBbox.y + this._maxBbox.y) * 0.5; + bSphere.center.z = this._particle.position.z + (this._minBbox.z + this._maxBbox.z) * 0.5; + bSphere.radius = this._bSphereRadiusFactor * 0.5 * Math.sqrt((this._maxBbox.x - this._minBbox.x) * (this._maxBbox.x - this._minBbox.x) + (this._maxBbox.y - this._minBbox.y) * (this._maxBbox.y - this._minBbox.y) + (this._maxBbox.z - this._minBbox.z) * (this._maxBbox.z - this._minBbox.z)); + bSphere._update(this.mesh._worldMatrix); + } + // increment indexes for the next particle + index = idx + 3; + colorIndex = colidx + 4; + uvIndex = uvidx + 2; + } + // if the VBO must be updated + if (update) { + if (this._computeParticleColor) { + this.mesh.updateVerticesData(BABYLON.VertexBuffer.ColorKind, this._colors32, false, false); + } + if (this._computeParticleTexture) { + this.mesh.updateVerticesData(BABYLON.VertexBuffer.UVKind, this._uvs32, false, false); + } + this.mesh.updateVerticesData(BABYLON.VertexBuffer.PositionKind, this._positions32, false, false); + if (!this.mesh.areNormalsFrozen) { + if (this._computeParticleVertex) { + // recompute the normals only if the particles can be morphed, update then also the normal reference array _fixedNormal32[] + BABYLON.VertexData.ComputeNormals(this._positions32, this._indices, this._normals32); + for (var i = 0; i < this._normals32.length; i++) { + this._fixedNormal32[i] = this._normals32[i]; + } + } + this.mesh.updateVerticesData(BABYLON.VertexBuffer.NormalKind, this._normals32, false, false); + } + } + if (this._computeBoundingBox) { + this.mesh._boundingInfo = new BABYLON.BoundingInfo(this._minimum, this._maximum); + this.mesh._boundingInfo.update(this.mesh._worldMatrix); + } + this.afterUpdateParticles(start, end, update); + }; + SolidParticleSystem.prototype._quaternionRotationYPR = function () { + this._halfroll = this._roll * 0.5; + this._halfpitch = this._pitch * 0.5; + this._halfyaw = this._yaw * 0.5; + this._sinRoll = Math.sin(this._halfroll); + this._cosRoll = Math.cos(this._halfroll); + this._sinPitch = Math.sin(this._halfpitch); + this._cosPitch = Math.cos(this._halfpitch); + this._sinYaw = Math.sin(this._halfyaw); + this._cosYaw = Math.cos(this._halfyaw); + this._quaternion.x = (this._cosYaw * this._sinPitch * this._cosRoll) + (this._sinYaw * this._cosPitch * this._sinRoll); + this._quaternion.y = (this._sinYaw * this._cosPitch * this._cosRoll) - (this._cosYaw * this._sinPitch * this._sinRoll); + this._quaternion.z = (this._cosYaw * this._cosPitch * this._sinRoll) - (this._sinYaw * this._sinPitch * this._cosRoll); + this._quaternion.w = (this._cosYaw * this._cosPitch * this._cosRoll) + (this._sinYaw * this._sinPitch * this._sinRoll); + }; + SolidParticleSystem.prototype._quaternionToRotationMatrix = function () { + this._rotMatrix.m[0] = 1.0 - (2.0 * (this._quaternion.y * this._quaternion.y + this._quaternion.z * this._quaternion.z)); + this._rotMatrix.m[1] = 2.0 * (this._quaternion.x * this._quaternion.y + this._quaternion.z * this._quaternion.w); + this._rotMatrix.m[2] = 2.0 * (this._quaternion.z * this._quaternion.x - this._quaternion.y * this._quaternion.w); + this._rotMatrix.m[3] = 0; + this._rotMatrix.m[4] = 2.0 * (this._quaternion.x * this._quaternion.y - this._quaternion.z * this._quaternion.w); + this._rotMatrix.m[5] = 1.0 - (2.0 * (this._quaternion.z * this._quaternion.z + this._quaternion.x * this._quaternion.x)); + this._rotMatrix.m[6] = 2.0 * (this._quaternion.y * this._quaternion.z + this._quaternion.x * this._quaternion.w); + this._rotMatrix.m[7] = 0; + this._rotMatrix.m[8] = 2.0 * (this._quaternion.z * this._quaternion.x + this._quaternion.y * this._quaternion.w); + this._rotMatrix.m[9] = 2.0 * (this._quaternion.y * this._quaternion.z - this._quaternion.x * this._quaternion.w); + this._rotMatrix.m[10] = 1.0 - (2.0 * (this._quaternion.y * this._quaternion.y + this._quaternion.x * this._quaternion.x)); + this._rotMatrix.m[11] = 0; + this._rotMatrix.m[12] = 0; + this._rotMatrix.m[13] = 0; + this._rotMatrix.m[14] = 0; + this._rotMatrix.m[15] = 1.0; + }; + /** + * Disposes the SPS + */ + SolidParticleSystem.prototype.dispose = function () { + this.mesh.dispose(); + this.vars = null; + // drop references to internal big arrays for the GC + this._positions = null; + this._indices = null; + this._normals = null; + this._uvs = null; + this._colors = null; + this._positions32 = null; + this._normals32 = null; + this._fixedNormal32 = null; + this._uvs32 = null; + this._colors32 = null; + this.pickedParticles = null; + }; + /** + * Visibilty helper : Recomputes the visible size according to the mesh bounding box + * doc : http://doc.babylonjs.com/overviews/Solid_Particle_System#sps-visibility + */ + SolidParticleSystem.prototype.refreshVisibleSize = function () { + if (!this._isVisibilityBoxLocked) { + this.mesh.refreshBoundingInfo(); + } + }; + /** + * Visibility helper : Sets the size of a visibility box, this sets the underlying mesh bounding box. + * @param size the size (float) of the visibility box + * note : this doesn't lock the SPS mesh bounding box. + * doc : http://doc.babylonjs.com/overviews/Solid_Particle_System#sps-visibility + */ + SolidParticleSystem.prototype.setVisibilityBox = function (size) { + var vis = size / 2; + this.mesh._boundingInfo = new BABYLON.BoundingInfo(new BABYLON.Vector3(-vis, -vis, -vis), new BABYLON.Vector3(vis, vis, vis)); + }; + Object.defineProperty(SolidParticleSystem.prototype, "isAlwaysVisible", { + // getter and setter + get: function () { + return this._alwaysVisible; + }, + /** + * Sets the SPS as always visible or not + * doc : http://doc.babylonjs.com/overviews/Solid_Particle_System#sps-visibility + */ + set: function (val) { + this._alwaysVisible = val; + this.mesh.alwaysSelectAsActiveMesh = val; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(SolidParticleSystem.prototype, "isVisibilityBoxLocked", { + get: function () { + return this._isVisibilityBoxLocked; + }, + /** + * Sets the SPS visibility box as locked or not. This enables/disables the underlying mesh bounding box updates. + * doc : http://doc.babylonjs.com/overviews/Solid_Particle_System#sps-visibility + */ + set: function (val) { + this._isVisibilityBoxLocked = val; + this.mesh.getBoundingInfo().isLocked = val; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(SolidParticleSystem.prototype, "computeParticleRotation", { + // getters + get: function () { + return this._computeParticleRotation; + }, + // Optimizer setters + /** + * Tells to `setParticles()` to compute the particle rotations or not. + * Default value : true. The SPS is faster when it's set to false. + * Note : the particle rotations aren't stored values, so setting `computeParticleRotation` to false will prevents the particle to rotate. + */ + set: function (val) { + this._computeParticleRotation = val; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(SolidParticleSystem.prototype, "computeParticleColor", { + get: function () { + return this._computeParticleColor; + }, + /** + * Tells to `setParticles()` to compute the particle colors or not. + * Default value : true. The SPS is faster when it's set to false. + * Note : the particle colors are stored values, so setting `computeParticleColor` to false will keep yet the last colors set. + */ + set: function (val) { + this._computeParticleColor = val; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(SolidParticleSystem.prototype, "computeParticleTexture", { + get: function () { + return this._computeParticleTexture; + }, + /** + * Tells to `setParticles()` to compute the particle textures or not. + * Default value : true. The SPS is faster when it's set to false. + * Note : the particle textures are stored values, so setting `computeParticleTexture` to false will keep yet the last colors set. + */ + set: function (val) { + this._computeParticleTexture = val; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(SolidParticleSystem.prototype, "computeParticleVertex", { + get: function () { + return this._computeParticleVertex; + }, + /** + * Tells to `setParticles()` to call the vertex function for each vertex of each particle, or not. + * Default value : false. The SPS is faster when it's set to false. + * Note : the particle custom vertex positions aren't stored values. + */ + set: function (val) { + this._computeParticleVertex = val; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(SolidParticleSystem.prototype, "computeBoundingBox", { + get: function () { + return this._computeBoundingBox; + }, + /** + * Tells to `setParticles()` to compute or not the mesh bounding box when computing the particle positions. + */ + set: function (val) { + this._computeBoundingBox = val; + }, + enumerable: true, + configurable: true + }); + // ======================================================================= + // Particle behavior logic + // these following methods may be overwritten by the user to fit his needs + /** + * This function does nothing. It may be overwritten to set all the particle first values. + * The SPS doesn't call this function, you may have to call it by your own. + * doc : http://doc.babylonjs.com/overviews/Solid_Particle_System#particle-management + */ + SolidParticleSystem.prototype.initParticles = function () { + }; + /** + * This function does nothing. It may be overwritten to recycle a particle. + * The SPS doesn't call this function, you may have to call it by your own. + * doc : http://doc.babylonjs.com/overviews/Solid_Particle_System#particle-management + */ + SolidParticleSystem.prototype.recycleParticle = function (particle) { + return particle; + }; + /** + * Updates a particle : this function should be overwritten by the user. + * It is called on each particle by `setParticles()`. This is the place to code each particle behavior. + * doc : http://doc.babylonjs.com/overviews/Solid_Particle_System#particle-management + * ex : just set a particle position or velocity and recycle conditions + */ + SolidParticleSystem.prototype.updateParticle = function (particle) { + return particle; + }; + /** + * Updates a vertex of a particle : it can be overwritten by the user. + * This will be called on each vertex particle by `setParticles()` if `computeParticleVertex` is set to true only. + * @param particle the current particle + * @param vertex the current index of the current particle + * @param pt the index of the current vertex in the particle shape + * doc : http://doc.babylonjs.com/overviews/Solid_Particle_System#update-each-particle-shape + * ex : just set a vertex particle position + */ + SolidParticleSystem.prototype.updateParticleVertex = function (particle, vertex, pt) { + return vertex; + }; + /** + * This will be called before any other treatment by `setParticles()` and will be passed three parameters. + * This does nothing and may be overwritten by the user. + * @param start the particle index in the particle array where to stop to iterate, same than the value passed to setParticle() + * @param stop the particle index in the particle array where to stop to iterate, same than the value passed to setParticle() + * @param update the boolean update value actually passed to setParticles() + */ + SolidParticleSystem.prototype.beforeUpdateParticles = function (start, stop, update) { + }; + /** + * This will be called by `setParticles()` after all the other treatments and just before the actual mesh update. + * This will be passed three parameters. + * This does nothing and may be overwritten by the user. + * @param start the particle index in the particle array where to stop to iterate, same than the value passed to setParticle() + * @param stop the particle index in the particle array where to stop to iterate, same than the value passed to setParticle() + * @param update the boolean update value actually passed to setParticles() + */ + SolidParticleSystem.prototype.afterUpdateParticles = function (start, stop, update) { + }; + return SolidParticleSystem; + }()); + BABYLON.SolidParticleSystem = SolidParticleSystem; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.solidParticleSystem.js.map + +var BABYLON; +(function (BABYLON) { + var Internals; + (function (Internals) { + var FileFaceOrientation = (function () { + function FileFaceOrientation(name, worldAxisForNormal, worldAxisForFileX, worldAxisForFileY) { + this.name = name; + this.worldAxisForNormal = worldAxisForNormal; + this.worldAxisForFileX = worldAxisForFileX; + this.worldAxisForFileY = worldAxisForFileY; + } + return FileFaceOrientation; + }()); + ; + /** + * Helper class dealing with the extraction of spherical polynomial dataArray + * from a cube map. + */ + var CubeMapToSphericalPolynomialTools = (function () { + function CubeMapToSphericalPolynomialTools() { + } + /** + * Converts a cubemap to the according Spherical Polynomial data. + * This extracts the first 3 orders only as they are the only one used in the lighting. + * + * @param cubeInfo The Cube map to extract the information from. + * @return The Spherical Polynomial data. + */ + CubeMapToSphericalPolynomialTools.ConvertCubeMapToSphericalPolynomial = function (cubeInfo) { + var sphericalHarmonics = new BABYLON.SphericalHarmonics(); + var totalSolidAngle = 0.0; + // The (u,v) range is [-1,+1], so the distance between each texel is 2/Size. + var du = 2.0 / cubeInfo.size; + var dv = du; + // The (u,v) of the first texel is half a texel from the corner (-1,-1). + var minUV = du * 0.5 - 1.0; + for (var faceIndex = 0; faceIndex < 6; faceIndex++) { + var fileFace = this.FileFaces[faceIndex]; + var dataArray = cubeInfo[fileFace.name]; + var v = minUV; + // TODO: we could perform the summation directly into a SphericalPolynomial (SP), which is more efficient than SphericalHarmonic (SH). + // This is possible because during the summation we do not need the SH-specific properties, e.g. orthogonality. + // Because SP is still linear, so summation is fine in that basis. + for (var y = 0; y < cubeInfo.size; y++) { + var u = minUV; + for (var x = 0; x < cubeInfo.size; x++) { + // World direction (not normalised) + var worldDirection = fileFace.worldAxisForFileX.scale(u).add(fileFace.worldAxisForFileY.scale(v)).add(fileFace.worldAxisForNormal); + worldDirection.normalize(); + var deltaSolidAngle = Math.pow(1.0 + u * u + v * v, -3.0 / 2.0); + if (1) { + var r = dataArray[(y * cubeInfo.size * 3) + (x * 3) + 0]; + var g = dataArray[(y * cubeInfo.size * 3) + (x * 3) + 1]; + var b = dataArray[(y * cubeInfo.size * 3) + (x * 3) + 2]; + var color = new BABYLON.Color3(r, g, b); + sphericalHarmonics.addLight(worldDirection, color, deltaSolidAngle); + } + else { + if (faceIndex == 0) { + dataArray[(y * cubeInfo.size * 3) + (x * 3) + 0] = 1; + dataArray[(y * cubeInfo.size * 3) + (x * 3) + 1] = 0; + dataArray[(y * cubeInfo.size * 3) + (x * 3) + 2] = 0; + } + else if (faceIndex == 1) { + dataArray[(y * cubeInfo.size * 3) + (x * 3) + 0] = 0; + dataArray[(y * cubeInfo.size * 3) + (x * 3) + 1] = 1; + dataArray[(y * cubeInfo.size * 3) + (x * 3) + 2] = 0; + } + else if (faceIndex == 2) { + dataArray[(y * cubeInfo.size * 3) + (x * 3) + 0] = 0; + dataArray[(y * cubeInfo.size * 3) + (x * 3) + 1] = 0; + dataArray[(y * cubeInfo.size * 3) + (x * 3) + 2] = 1; + } + else if (faceIndex == 3) { + dataArray[(y * cubeInfo.size * 3) + (x * 3) + 0] = 1; + dataArray[(y * cubeInfo.size * 3) + (x * 3) + 1] = 1; + dataArray[(y * cubeInfo.size * 3) + (x * 3) + 2] = 0; + } + else if (faceIndex == 4) { + dataArray[(y * cubeInfo.size * 3) + (x * 3) + 0] = 1; + dataArray[(y * cubeInfo.size * 3) + (x * 3) + 1] = 0; + dataArray[(y * cubeInfo.size * 3) + (x * 3) + 2] = 1; + } + else if (faceIndex == 5) { + dataArray[(y * cubeInfo.size * 3) + (x * 3) + 0] = 0; + dataArray[(y * cubeInfo.size * 3) + (x * 3) + 1] = 1; + dataArray[(y * cubeInfo.size * 3) + (x * 3) + 2] = 1; + } + var color = new BABYLON.Color3(dataArray[(y * cubeInfo.size * 3) + (x * 3) + 0], dataArray[(y * cubeInfo.size * 3) + (x * 3) + 1], dataArray[(y * cubeInfo.size * 3) + (x * 3) + 2]); + sphericalHarmonics.addLight(worldDirection, color, deltaSolidAngle); + } + totalSolidAngle += deltaSolidAngle; + u += du; + } + v += dv; + } + } + var correctSolidAngle = 4.0 * Math.PI; // Solid angle for entire sphere is 4*pi + var correction = correctSolidAngle / totalSolidAngle; + sphericalHarmonics.scale(correction); + // Additionally scale by pi -- audit needed + sphericalHarmonics.scale(1.0 / Math.PI); + return BABYLON.SphericalPolynomial.getSphericalPolynomialFromHarmonics(sphericalHarmonics); + }; + CubeMapToSphericalPolynomialTools.FileFaces = [ + new FileFaceOrientation("right", new BABYLON.Vector3(1, 0, 0), new BABYLON.Vector3(0, 0, -1), new BABYLON.Vector3(0, -1, 0)), + new FileFaceOrientation("left", new BABYLON.Vector3(-1, 0, 0), new BABYLON.Vector3(0, 0, 1), new BABYLON.Vector3(0, -1, 0)), + new FileFaceOrientation("up", new BABYLON.Vector3(0, 1, 0), new BABYLON.Vector3(1, 0, 0), new BABYLON.Vector3(0, 0, 1)), + new FileFaceOrientation("down", new BABYLON.Vector3(0, -1, 0), new BABYLON.Vector3(1, 0, 0), new BABYLON.Vector3(0, 0, -1)), + new FileFaceOrientation("front", new BABYLON.Vector3(0, 0, 1), new BABYLON.Vector3(1, 0, 0), new BABYLON.Vector3(0, -1, 0)), + new FileFaceOrientation("back", new BABYLON.Vector3(0, 0, -1), new BABYLON.Vector3(-1, 0, 0), new BABYLON.Vector3(0, -1, 0)) // -Z bottom + ]; + return CubeMapToSphericalPolynomialTools; + }()); + Internals.CubeMapToSphericalPolynomialTools = CubeMapToSphericalPolynomialTools; + })(Internals = BABYLON.Internals || (BABYLON.Internals = {})); +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.tools.cubemapToSphericalPolynomial.js.map + +var BABYLON; +(function (BABYLON) { + var Internals; + (function (Internals) { + /** + * Helper class usefull to convert panorama picture to their cubemap representation in 6 faces. + */ + var PanoramaToCubeMapTools = (function () { + function PanoramaToCubeMapTools() { + } + /** + * Converts a panorma stored in RGB right to left up to down format into a cubemap (6 faces). + * + * @param float32Array The source data. + * @param inputWidth The width of the input panorama. + * @param inputhHeight The height of the input panorama. + * @param size The willing size of the generated cubemap (each faces will be size * size pixels) + * @return The cubemap data + */ + PanoramaToCubeMapTools.ConvertPanoramaToCubemap = function (float32Array, inputWidth, inputHeight, size) { + if (!float32Array) { + throw "ConvertPanoramaToCubemap: input cannot be null"; + } + if (float32Array.length != inputWidth * inputHeight * 3) { + throw "ConvertPanoramaToCubemap: input size is wrong"; + } + var textureFront = this.CreateCubemapTexture(size, this.FACE_FRONT, float32Array, inputWidth, inputHeight); + var textureBack = this.CreateCubemapTexture(size, this.FACE_BACK, float32Array, inputWidth, inputHeight); + var textureLeft = this.CreateCubemapTexture(size, this.FACE_LEFT, float32Array, inputWidth, inputHeight); + var textureRight = this.CreateCubemapTexture(size, this.FACE_RIGHT, float32Array, inputWidth, inputHeight); + var textureUp = this.CreateCubemapTexture(size, this.FACE_UP, float32Array, inputWidth, inputHeight); + var textureDown = this.CreateCubemapTexture(size, this.FACE_DOWN, float32Array, inputWidth, inputHeight); + return { + front: textureFront, + back: textureBack, + left: textureLeft, + right: textureRight, + up: textureUp, + down: textureDown, + size: size + }; + }; + PanoramaToCubeMapTools.CreateCubemapTexture = function (texSize, faceData, float32Array, inputWidth, inputHeight) { + var buffer = new ArrayBuffer(texSize * texSize * 4 * 3); + var textureArray = new Float32Array(buffer); + var rotDX1 = faceData[1].subtract(faceData[0]).scale(1 / texSize); + var rotDX2 = faceData[3].subtract(faceData[2]).scale(1 / texSize); + var dy = 1 / texSize; + var fy = 0; + for (var y = 0; y < texSize; y++) { + var xv1 = faceData[0]; + var xv2 = faceData[2]; + for (var x = 0; x < texSize; x++) { + var v = xv2.subtract(xv1).scale(fy).add(xv1); + v.normalize(); + var color = this.CalcProjectionSpherical(v, float32Array, inputWidth, inputHeight); + // 3 channels per pixels + textureArray[y * texSize * 3 + (x * 3) + 0] = color.r; + textureArray[y * texSize * 3 + (x * 3) + 1] = color.g; + textureArray[y * texSize * 3 + (x * 3) + 2] = color.b; + xv1 = xv1.add(rotDX1); + xv2 = xv2.add(rotDX2); + } + fy += dy; + } + return textureArray; + }; + PanoramaToCubeMapTools.CalcProjectionSpherical = function (vDir, float32Array, inputWidth, inputHeight) { + var theta = Math.atan2(vDir.z, vDir.x); + var phi = Math.acos(vDir.y); + while (theta < -Math.PI) + theta += 2 * Math.PI; + while (theta > Math.PI) + theta -= 2 * Math.PI; + var dx = theta / Math.PI; + var dy = phi / Math.PI; + // recenter. + dx = dx * 0.5 + 0.5; + var px = Math.round(dx * inputWidth); + if (px < 0) + px = 0; + else if (px >= inputWidth) + px = inputWidth - 1; + var py = Math.round(dy * inputHeight); + if (py < 0) + py = 0; + else if (py >= inputHeight) + py = inputHeight - 1; + var inputY = (inputHeight - py - 1); + var r = float32Array[inputY * inputWidth * 3 + (px * 3) + 0]; + var g = float32Array[inputY * inputWidth * 3 + (px * 3) + 1]; + var b = float32Array[inputY * inputWidth * 3 + (px * 3) + 2]; + return { + r: r, + g: g, + b: b + }; + }; + PanoramaToCubeMapTools.FACE_FRONT = [ + new BABYLON.Vector3(-1.0, -1.0, -1.0), + new BABYLON.Vector3(1.0, -1.0, -1.0), + new BABYLON.Vector3(-1.0, 1.0, -1.0), + new BABYLON.Vector3(1.0, 1.0, -1.0) + ]; + PanoramaToCubeMapTools.FACE_BACK = [ + new BABYLON.Vector3(1.0, -1.0, 1.0), + new BABYLON.Vector3(-1.0, -1.0, 1.0), + new BABYLON.Vector3(1.0, 1.0, 1.0), + new BABYLON.Vector3(-1.0, 1.0, 1.0) + ]; + PanoramaToCubeMapTools.FACE_RIGHT = [ + new BABYLON.Vector3(1.0, -1.0, -1.0), + new BABYLON.Vector3(1.0, -1.0, 1.0), + new BABYLON.Vector3(1.0, 1.0, -1.0), + new BABYLON.Vector3(1.0, 1.0, 1.0) + ]; + PanoramaToCubeMapTools.FACE_LEFT = [ + new BABYLON.Vector3(-1.0, -1.0, 1.0), + new BABYLON.Vector3(-1.0, -1.0, -1.0), + new BABYLON.Vector3(-1.0, 1.0, 1.0), + new BABYLON.Vector3(-1.0, 1.0, -1.0) + ]; + PanoramaToCubeMapTools.FACE_DOWN = [ + new BABYLON.Vector3(-1.0, 1.0, -1.0), + new BABYLON.Vector3(1.0, 1.0, -1.0), + new BABYLON.Vector3(-1.0, 1.0, 1.0), + new BABYLON.Vector3(1.0, 1.0, 1.0) + ]; + PanoramaToCubeMapTools.FACE_UP = [ + new BABYLON.Vector3(-1.0, -1.0, 1.0), + new BABYLON.Vector3(1.0, -1.0, 1.0), + new BABYLON.Vector3(-1.0, -1.0, -1.0), + new BABYLON.Vector3(1.0, -1.0, -1.0) + ]; + return PanoramaToCubeMapTools; + }()); + Internals.PanoramaToCubeMapTools = PanoramaToCubeMapTools; + })(Internals = BABYLON.Internals || (BABYLON.Internals = {})); +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.tools.panoramaToCubemap.js.map + +var BABYLON; +(function (BABYLON) { + var Internals; + (function (Internals) { + ; + /** + * This groups tools to convert HDR texture to native colors array. + */ + var HDRTools = (function () { + function HDRTools() { + } + HDRTools.Ldexp = function (mantissa, exponent) { + if (exponent > 1023) { + return mantissa * Math.pow(2, 1023) * Math.pow(2, exponent - 1023); + } + if (exponent < -1074) { + return mantissa * Math.pow(2, -1074) * Math.pow(2, exponent + 1074); + } + return mantissa * Math.pow(2, exponent); + }; + HDRTools.Rgbe2float = function (float32array, red, green, blue, exponent, index) { + if (exponent > 0) { + exponent = this.Ldexp(1.0, exponent - (128 + 8)); + float32array[index + 0] = red * exponent; + float32array[index + 1] = green * exponent; + float32array[index + 2] = blue * exponent; + } + else { + float32array[index + 0] = 0; + float32array[index + 1] = 0; + float32array[index + 2] = 0; + } + }; + HDRTools.readStringLine = function (uint8array, startIndex) { + var line = ""; + var character = ""; + for (var i = startIndex; i < uint8array.length - startIndex; i++) { + character = String.fromCharCode(uint8array[i]); + if (character == "\n") { + break; + } + line += character; + } + return line; + }; + /** + * Reads header information from an RGBE texture stored in a native array. + * More information on this format are available here: + * https://en.wikipedia.org/wiki/RGBE_image_format + * + * @param uint8array The binary file stored in native array. + * @return The header information. + */ + HDRTools.RGBE_ReadHeader = function (uint8array) { + var height = 0; + var width = 0; + var line = this.readStringLine(uint8array, 0); + if (line[0] != '#' || line[1] != '?') { + throw "Bad HDR Format."; + } + var endOfHeader = false; + var findFormat = false; + var lineIndex = 0; + do { + lineIndex += (line.length + 1); + line = this.readStringLine(uint8array, lineIndex); + if (line == "FORMAT=32-bit_rle_rgbe") { + findFormat = true; + } + else if (line.length == 0) { + endOfHeader = true; + } + } while (!endOfHeader); + if (!findFormat) { + throw "HDR Bad header format, unsupported FORMAT"; + } + lineIndex += (line.length + 1); + line = this.readStringLine(uint8array, lineIndex); + var sizeRegexp = /^\-Y (.*) \+X (.*)$/g; + var match = sizeRegexp.exec(line); + // TODO. Support +Y and -X if needed. + if (match.length < 3) { + throw "HDR Bad header format, no size"; + } + width = parseInt(match[2]); + height = parseInt(match[1]); + if (width < 8 || width > 0x7fff) { + throw "HDR Bad header format, unsupported size"; + } + lineIndex += (line.length + 1); + return { + height: height, + width: width, + dataPosition: lineIndex + }; + }; + /** + * Returns the cubemap information (each faces texture data) extracted from an RGBE texture. + * This RGBE texture needs to store the information as a panorama. + * + * More information on this format are available here: + * https://en.wikipedia.org/wiki/RGBE_image_format + * + * @param buffer The binary file stored in an array buffer. + * @param size The expected size of the extracted cubemap. + * @return The Cube Map information. + */ + HDRTools.GetCubeMapTextureData = function (buffer, size) { + var uint8array = new Uint8Array(buffer); + var hdrInfo = this.RGBE_ReadHeader(uint8array); + var data = this.RGBE_ReadPixels_RLE(uint8array, hdrInfo); + var cubeMapData = Internals.PanoramaToCubeMapTools.ConvertPanoramaToCubemap(data, hdrInfo.width, hdrInfo.height, size); + return cubeMapData; + }; + /** + * Returns the pixels data extracted from an RGBE texture. + * This pixels will be stored left to right up to down in the R G B order in one array. + * + * More information on this format are available here: + * https://en.wikipedia.org/wiki/RGBE_image_format + * + * @param uint8array The binary file stored in an array buffer. + * @param hdrInfo The header information of the file. + * @return The pixels data in RGB right to left up to down order. + */ + HDRTools.RGBE_ReadPixels = function (uint8array, hdrInfo) { + // Keep for multi format supports. + return this.RGBE_ReadPixels_RLE(uint8array, hdrInfo); + }; + HDRTools.RGBE_ReadPixels_RLE = function (uint8array, hdrInfo) { + var num_scanlines = hdrInfo.height; + var scanline_width = hdrInfo.width; + var a, b, c, d, count; + var dataIndex = hdrInfo.dataPosition; + var index = 0, endIndex = 0, i = 0; + var scanLineArrayBuffer = new ArrayBuffer(scanline_width * 4); // four channel R G B E + var scanLineArray = new Uint8Array(scanLineArrayBuffer); + // 3 channels of 4 bytes per pixel in float. + var resultBuffer = new ArrayBuffer(hdrInfo.width * hdrInfo.height * 4 * 3); + var resultArray = new Float32Array(resultBuffer); + // read in each successive scanline + while (num_scanlines > 0) { + a = uint8array[dataIndex++]; + b = uint8array[dataIndex++]; + c = uint8array[dataIndex++]; + d = uint8array[dataIndex++]; + if (a != 2 || b != 2 || (c & 0x80)) { + // this file is not run length encoded + throw "HDR Bad header format, not RLE"; + } + if (((c << 8) | d) != scanline_width) { + throw "HDR Bad header format, wrong scan line width"; + } + index = 0; + // read each of the four channels for the scanline into the buffer + for (i = 0; i < 4; i++) { + endIndex = (i + 1) * scanline_width; + while (index < endIndex) { + a = uint8array[dataIndex++]; + b = uint8array[dataIndex++]; + if (a > 128) { + // a run of the same value + count = a - 128; + if ((count == 0) || (count > endIndex - index)) { + throw "HDR Bad Format, bad scanline data (run)"; + } + while (count-- > 0) { + scanLineArray[index++] = b; + } + } + else { + // a non-run + count = a; + if ((count == 0) || (count > endIndex - index)) { + throw "HDR Bad Format, bad scanline data (non-run)"; + } + scanLineArray[index++] = b; + if (--count > 0) { + for (var j = 0; j < count; j++) { + scanLineArray[index++] = uint8array[dataIndex++]; + } + } + } + } + } + // now convert data from buffer into floats + for (i = 0; i < scanline_width; i++) { + a = scanLineArray[i]; + b = scanLineArray[i + scanline_width]; + c = scanLineArray[i + 2 * scanline_width]; + d = scanLineArray[i + 3 * scanline_width]; + this.Rgbe2float(resultArray, a, b, c, d, (hdrInfo.height - num_scanlines) * scanline_width * 3 + i * 3); + } + num_scanlines--; + } + return resultArray; + }; + return HDRTools; + }()); + Internals.HDRTools = HDRTools; + })(Internals = BABYLON.Internals || (BABYLON.Internals = {})); +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.tools.hdr.js.map + +//_______________________________________________________________ +// Extracted from CubeMapGen: +// https://code.google.com/archive/p/cubemapgen/ +// +// Following https://seblagarde.wordpress.com/2012/06/10/amd-cubemapgen-for-physically-based-rendering/ +//_______________________________________________________________ +var BABYLON; +(function (BABYLON) { + var Internals; + (function (Internals) { + /** + * The bounding box information used during the conversion process. + */ + var CMGBoundinBox = (function () { + function CMGBoundinBox() { + this.min = new BABYLON.Vector3(0, 0, 0); + this.max = new BABYLON.Vector3(0, 0, 0); + this.clear(); + } + CMGBoundinBox.prototype.clear = function () { + this.min.x = CMGBoundinBox.MAX; + this.min.y = CMGBoundinBox.MAX; + this.min.z = CMGBoundinBox.MAX; + this.max.x = CMGBoundinBox.MIN; + this.max.y = CMGBoundinBox.MIN; + this.max.z = CMGBoundinBox.MIN; + }; + CMGBoundinBox.prototype.augment = function (x, y, z) { + this.min.x = Math.min(this.min.x, x); + this.min.y = Math.min(this.min.y, y); + this.min.z = Math.min(this.min.z, z); + this.max.x = Math.max(this.max.x, x); + this.max.y = Math.max(this.max.y, y); + this.max.z = Math.max(this.max.z, z); + }; + CMGBoundinBox.prototype.clampMin = function (x, y, z) { + this.min.x = Math.max(this.min.x, x); + this.min.y = Math.max(this.min.y, y); + this.min.z = Math.max(this.min.z, z); + }; + CMGBoundinBox.prototype.clampMax = function (x, y, z) { + this.max.x = Math.min(this.max.x, x); + this.max.y = Math.min(this.max.y, y); + this.max.z = Math.min(this.max.z, z); + }; + CMGBoundinBox.prototype.empty = function () { + if ((this.min.x > this.max.y) || + (this.min.y > this.max.y) || + (this.min.z > this.max.y)) { + return true; + } + else { + return false; + } + }; + CMGBoundinBox.MAX = Number.MAX_VALUE; + CMGBoundinBox.MIN = Number.MIN_VALUE; + return CMGBoundinBox; + }()); + /** + * Helper class to PreProcess a cubemap in order to generate mipmap according to the level of blur + * required by the glossinees of a material. + * + * This only supports the cosine drop power as well as Warp fixup generation method. + * + * This is using the process from CubeMapGen described here: + * https://seblagarde.wordpress.com/2012/06/10/amd-cubemapgen-for-physically-based-rendering/ + */ + var PMREMGenerator = (function () { + /** + * Constructor of the generator. + * + * @param input The different faces data from the original cubemap in the order X+ X- Y+ Y- Z+ Z- + * @param inputSize The size of the cubemap faces + * @param outputSize The size of the output cubemap faces + * @param maxNumMipLevels The max number of mip map to generate (0 means all) + * @param numChannels The number of channels stored in the cubemap (3 for RBGE for instance) + * @param isFloat Specifies if the input texture is in float or int (hdr is usually in float) + * @param specularPower The max specular level of the desired cubemap + * @param cosinePowerDropPerMip The amount of drop the specular power will follow on each mip + * @param excludeBase Specifies wether to process the level 0 (original level) or not + * @param fixup Specifies wether to apply the edge fixup algorythm or not + */ + function PMREMGenerator(input, inputSize, outputSize, maxNumMipLevels, numChannels, isFloat, specularPower, cosinePowerDropPerMip, excludeBase, fixup) { + this.input = input; + this.inputSize = inputSize; + this.outputSize = outputSize; + this.maxNumMipLevels = maxNumMipLevels; + this.numChannels = numChannels; + this.isFloat = isFloat; + this.specularPower = specularPower; + this.cosinePowerDropPerMip = cosinePowerDropPerMip; + this.excludeBase = excludeBase; + this.fixup = fixup; + this._outputSurface = []; + this._numMipLevels = 0; + } + /** + * Launches the filter process and return the result. + * + * @return the filter cubemap in the form mip0 [faces1..6] .. mipN [faces1..6] + */ + PMREMGenerator.prototype.filterCubeMap = function () { + // Init cubemap processor + this.init(); + // Filters the cubemap + this.filterCubeMapMipChain(); + // Returns the filtered mips. + return this._outputSurface; + }; + PMREMGenerator.prototype.init = function () { + var i; + var j; + var mipLevelSize; + //if nax num mip levels is set to 0, set it to generate the entire mip chain + if (this.maxNumMipLevels == 0) { + this.maxNumMipLevels = PMREMGenerator.CP_MAX_MIPLEVELS; + } + //first miplevel size + mipLevelSize = this.outputSize; + //Iterate over mip chain, and init ArrayBufferView for mip-chain + for (j = 0; j < this.maxNumMipLevels; j++) { + this._outputSurface.length++; + this._outputSurface[j] = []; + //Iterate over faces for output images + for (i = 0; i < 6; i++) { + this._outputSurface[j].length++; + // Initializes a new array for the output. + if (this.isFloat) { + this._outputSurface[j][i] = new Float32Array(mipLevelSize * mipLevelSize * this.numChannels); + } + else { + this._outputSurface[j][i] = new Uint32Array(mipLevelSize * mipLevelSize * this.numChannels); + } + } + //next mip level is half size + mipLevelSize >>= 1; + this._numMipLevels++; + //terminate if mip chain becomes too small + if (mipLevelSize == 0) { + this.maxNumMipLevels = j; + return; + } + } + }; + //-------------------------------------------------------------------------------------- + //Cube map filtering and mip chain generation. + // the cube map filtereing is specified using a number of parameters: + // Filtering per miplevel is specified using 2D cone angle (in degrees) that + // indicates the region of the hemisphere to filter over for each tap. + // + // Note that the top mip level is also a filtered version of the original input images + // as well in order to create mip chains for diffuse environment illumination. + // The cone angle for the top level is specified by a_BaseAngle. This can be used to + // generate mipchains used to store the resutls of preintegration across the hemisphere. + // + // Then the mip angle used to genreate the next level of the mip chain from the first level + // is a_InitialMipAngle + // + // The angle for the subsequent levels of the mip chain are specified by their parents + // filtering angle and a per-level scale and bias + // newAngle = oldAngle * a_MipAnglePerLevelScale; + // + //-------------------------------------------------------------------------------------- + PMREMGenerator.prototype.filterCubeMapMipChain = function () { + // First, take count of the lighting model to modify SpecularPower + // var refSpecularPower = (a_MCO.LightingModel == CP_LIGHTINGMODEL_BLINN || a_MCO.LightingModel == CP_LIGHTINGMODEL_BLINN_BRDF) ? a_MCO.SpecularPower / GetSpecularPowerFactorToMatchPhong(a_MCO.SpecularPower) : a_MCO.SpecularPower; + // var refSpecularPower = this.specularPower; // Only Phong BRDF yet. This explains the line below using this.specularpower. + //Cone angle start (for generating subsequent mip levels) + var currentSpecularPower = this.specularPower; + //Build filter lookup tables based on the source miplevel size + this.precomputeFilterLookupTables(this.inputSize); + // Note that we need to filter the first level before generating mipmap + // So LevelIndex == 0 is base filtering hen LevelIndex > 0 is mipmap generation + for (var levelIndex = 0; levelIndex < this._numMipLevels; levelIndex++) { + // TODO : Write a function to copy and scale the base mipmap in output + // I am just lazy here and just put a high specular power value, and do some if. + if (this.excludeBase && (levelIndex == 0)) { + // If we don't want to process the base mipmap, just put a very high specular power (this allow to handle scale of the texture). + currentSpecularPower = 100000.0; + } + // Special case for cosine power mipmap chain. For quality requirement, we always process the current mipmap from the top mipmap + var srcCubeImage = this.input; + var dstCubeImage = this._outputSurface[levelIndex]; + var dstSize = this.outputSize >> levelIndex; + // Compute required angle. + var angle = this.getBaseFilterAngle(currentSpecularPower); + // filter cube surfaces + this.filterCubeSurfaces(srcCubeImage, this.inputSize, dstCubeImage, dstSize, angle, currentSpecularPower); + // fix seams + if (this.fixup) { + this.fixupCubeEdges(dstCubeImage, dstSize); + } + // Decrease the specular power to generate the mipmap chain + // TODO : Use another method for Exclude (see first comment at start of the function + if (this.excludeBase && (levelIndex == 0)) { + currentSpecularPower = this.specularPower; + } + currentSpecularPower *= this.cosinePowerDropPerMip; + } + }; + //-------------------------------------------------------------------------------------- + // This function return the BaseFilterAngle require by PMREMGenerator to its FilterExtends + // It allow to optimize the texel to access base on the specular power. + //-------------------------------------------------------------------------------------- + PMREMGenerator.prototype.getBaseFilterAngle = function (cosinePower) { + // We want to find the alpha such that: + // cos(alpha)^cosinePower = epsilon + // That's: acos(epsilon^(1/cosinePower)) + var threshold = 0.000001; // Empirical threshold (Work perfectly, didn't check for a more big number, may get some performance and still god approximation) + var angle = 180.0; + angle = Math.acos(Math.pow(threshold, 1.0 / cosinePower)); + angle *= 180.0 / Math.PI; // Convert to degree + angle *= 2.0; // * 2.0f because PMREMGenerator divide by 2 later + return angle; + }; + //-------------------------------------------------------------------------------------- + //Builds the following lookup tables prior to filtering: + // -normalizer cube map + // -tap weight lookup table + // + //-------------------------------------------------------------------------------------- + PMREMGenerator.prototype.precomputeFilterLookupTables = function (srcCubeMapWidth) { + var srcTexelAngle; + var iCubeFace; + //clear pre-existing normalizer cube map + this._normCubeMap = []; + //Normalized vectors per cubeface and per-texel solid angle + this.buildNormalizerSolidAngleCubemap(srcCubeMapWidth); + }; + //-------------------------------------------------------------------------------------- + //Builds a normalizer cubemap, with the texels solid angle stored in the fourth component + // + //Takes in a cube face size, and an array of 6 surfaces to write the cube faces into + // + //Note that this normalizer cube map stores the vectors in unbiased -1 to 1 range. + // if _bx2 style scaled and biased vectors are needed, uncomment the SCALE and BIAS + // below + //-------------------------------------------------------------------------------------- + PMREMGenerator.prototype.buildNormalizerSolidAngleCubemap = function (size) { + var iCubeFace; + var u; + var v; + //iterate over cube faces + for (iCubeFace = 0; iCubeFace < 6; iCubeFace++) { + //First three channels for norm cube, and last channel for solid angle + this._normCubeMap.push(new Float32Array(size * size * 4)); + //fast texture walk, build normalizer cube map + var facesData = this.input[iCubeFace]; + for (v = 0; v < size; v++) { + for (u = 0; u < size; u++) { + var vect = this.texelCoordToVect(iCubeFace, u, v, size, this.fixup); + this._normCubeMap[iCubeFace][(v * size + u) * 4 + 0] = vect.x; + this._normCubeMap[iCubeFace][(v * size + u) * 4 + 1] = vect.y; + this._normCubeMap[iCubeFace][(v * size + u) * 4 + 2] = vect.z; + var solidAngle = this.texelCoordSolidAngle(iCubeFace, u, v, size); + this._normCubeMap[iCubeFace][(v * size + u) * 4 + 4] = solidAngle; + } + } + } + }; + //-------------------------------------------------------------------------------------- + // Convert cubemap face texel coordinates and face idx to 3D vector + // note the U and V coords are integer coords and range from 0 to size-1 + // this routine can be used to generate a normalizer cube map + //-------------------------------------------------------------------------------------- + // SL BEGIN + PMREMGenerator.prototype.texelCoordToVect = function (faceIdx, u, v, size, fixup) { + var nvcU; + var nvcV; + var tempVec; + // Change from original AMD code + // transform from [0..res - 1] to [- (1 - 1 / res) .. (1 - 1 / res)] + // + 0.5f is for texel center addressing + nvcU = (2.0 * (u + 0.5) / size) - 1.0; + nvcV = (2.0 * (v + 0.5) / size) - 1.0; + // warp fixup + if (fixup && size > 1) { + // Code from Nvtt : http://code.google.com/p/nvidia-texture-tools/source/browse/trunk/src/nvtt/CubeSurface.cpp + var a = Math.pow(size, 2.0) / Math.pow(size - 1, 3.0); + nvcU = a * Math.pow(nvcU, 3) + nvcU; + nvcV = a * Math.pow(nvcV, 3) + nvcV; + } + // Get current vector + // generate x,y,z vector (xform 2d NVC coord to 3D vector) + // U contribution + var UVec = PMREMGenerator._sgFace2DMapping[faceIdx][PMREMGenerator.CP_UDIR]; + PMREMGenerator._vectorTemp.x = UVec[0] * nvcU; + PMREMGenerator._vectorTemp.y = UVec[1] * nvcU; + PMREMGenerator._vectorTemp.z = UVec[2] * nvcU; + // V contribution and Sum + var VVec = PMREMGenerator._sgFace2DMapping[faceIdx][PMREMGenerator.CP_VDIR]; + PMREMGenerator._vectorTemp.x += VVec[0] * nvcV; + PMREMGenerator._vectorTemp.y += VVec[1] * nvcV; + PMREMGenerator._vectorTemp.z += VVec[2] * nvcV; + //add face axis + var faceAxis = PMREMGenerator._sgFace2DMapping[faceIdx][PMREMGenerator.CP_FACEAXIS]; + PMREMGenerator._vectorTemp.x += faceAxis[0]; + PMREMGenerator._vectorTemp.y += faceAxis[1]; + PMREMGenerator._vectorTemp.z += faceAxis[2]; + //normalize vector + PMREMGenerator._vectorTemp.normalize(); + return PMREMGenerator._vectorTemp; + }; + //-------------------------------------------------------------------------------------- + // Convert 3D vector to cubemap face texel coordinates and face idx + // note the U and V coords are integer coords and range from 0 to size-1 + // this routine can be used to generate a normalizer cube map + // + // returns face IDX and texel coords + //-------------------------------------------------------------------------------------- + // SL BEGIN + /* + Mapping Texture Coordinates to Cube Map Faces + Because there are multiple faces, the mapping of texture coordinates to positions on cube map faces + is more complicated than the other texturing targets. The EXT_texture_cube_map extension is purposefully + designed to be consistent with DirectX 7's cube map arrangement. This is also consistent with the cube + map arrangement in Pixar's RenderMan package. + For cube map texturing, the (s,t,r) texture coordinates are treated as a direction vector (rx,ry,rz) + emanating from the center of a cube. (The q coordinate can be ignored since it merely scales the vector + without affecting the direction.) At texture application time, the interpolated per-fragment (s,t,r) + selects one of the cube map face's 2D mipmap sets based on the largest magnitude coordinate direction + the major axis direction). The target column in the table below explains how the major axis direction + maps to the 2D image of a particular cube map target. + + major axis + direction target sc tc ma + ---------- --------------------------------- --- --- --- + +rx GL_TEXTURE_CUBE_MAP_POSITIVE_X_EXT -rz -ry rx + -rx GL_TEXTURE_CUBE_MAP_NEGATIVE_X_EXT +rz -ry rx + +ry GL_TEXTURE_CUBE_MAP_POSITIVE_Y_EXT +rx +rz ry + -ry GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_EXT +rx -rz ry + +rz GL_TEXTURE_CUBE_MAP_POSITIVE_Z_EXT +rx -ry rz + -rz GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_EXT -rx -ry rz + + Using the sc, tc, and ma determined by the major axis direction as specified in the table above, + an updated (s,t) is calculated as follows + s = ( sc/|ma| + 1 ) / 2 + t = ( tc/|ma| + 1 ) / 2 + If |ma| is zero or very nearly zero, the results of the above two equations need not be defined + (though the result may not lead to GL interruption or termination). Once the cube map face's 2D mipmap + set and (s,t) is determined, texture fetching and filtering proceeds like standard OpenGL 2D texturing. + */ + // Note this method return U and V in range from 0 to size-1 + // SL END + // Store the information in vector3 for convenience (faceindex, u, v) + PMREMGenerator.prototype.vectToTexelCoord = function (x, y, z, size) { + var maxCoord; + var faceIdx; + //absolute value 3 + var absX = Math.abs(x); + var absY = Math.abs(y); + var absZ = Math.abs(z); + if (absX >= absY && absX >= absZ) { + maxCoord = absX; + if (x >= 0) { + faceIdx = PMREMGenerator.CP_FACE_X_POS; + } + else { + faceIdx = PMREMGenerator.CP_FACE_X_NEG; + } + } + else if (absY >= absX && absY >= absZ) { + maxCoord = absY; + if (y >= 0) { + faceIdx = PMREMGenerator.CP_FACE_Y_POS; + } + else { + faceIdx = PMREMGenerator.CP_FACE_Y_NEG; + } + } + else { + maxCoord = absZ; + if (z >= 0) { + faceIdx = PMREMGenerator.CP_FACE_Z_POS; + } + else { + faceIdx = PMREMGenerator.CP_FACE_Z_NEG; + } + } + //divide through by max coord so face vector lies on cube face + var scale = 1 / maxCoord; + x *= scale; + y *= scale; + z *= scale; + var temp = PMREMGenerator._sgFace2DMapping[faceIdx][PMREMGenerator.CP_UDIR]; + var nvcU = temp[0] * x + temp[1] * y + temp[2] * z; + temp = PMREMGenerator._sgFace2DMapping[faceIdx][PMREMGenerator.CP_VDIR]; + var nvcV = temp[0] * x + temp[1] * y + temp[2] * z; + // Modify original AMD code to return value from 0 to Size - 1 + var u = Math.floor((size - 1) * 0.5 * (nvcU + 1.0)); + var v = Math.floor((size - 1) * 0.5 * (nvcV + 1.0)); + PMREMGenerator._vectorTemp.x = faceIdx; + PMREMGenerator._vectorTemp.y = u; + PMREMGenerator._vectorTemp.z = v; + return PMREMGenerator._vectorTemp; + }; + //-------------------------------------------------------------------------------------- + //Original code from Ignacio CastaÃ’o + // This formula is from Manne ÷hrstrˆm's thesis. + // Take two coordiantes in the range [-1, 1] that define a portion of a + // cube face and return the area of the projection of that portion on the + // surface of the sphere. + //-------------------------------------------------------------------------------------- + PMREMGenerator.prototype.areaElement = function (x, y) { + return Math.atan2(x * y, Math.sqrt(x * x + y * y + 1)); + }; + PMREMGenerator.prototype.texelCoordSolidAngle = function (faceIdx, u, v, size) { + // transform from [0..res - 1] to [- (1 - 1 / res) .. (1 - 1 / res)] + // (+ 0.5f is for texel center addressing) + u = (2.0 * (u + 0.5) / size) - 1.0; + v = (2.0 * (v + 0.5) / size) - 1.0; + // Shift from a demi texel, mean 1.0f / a_Size with U and V in [-1..1] + var invResolution = 1.0 / size; + // U and V are the -1..1 texture coordinate on the current face. + // Get projected area for this texel + var x0 = u - invResolution; + var y0 = v - invResolution; + var x1 = u + invResolution; + var y1 = v + invResolution; + var solidAngle = this.areaElement(x0, y0) - this.areaElement(x0, y1) - this.areaElement(x1, y0) + this.areaElement(x1, y1); + return solidAngle; + }; + //-------------------------------------------------------------------------------------- + //The key to the speed of these filtering routines is to quickly define a per-face + // bounding box of pixels which enclose all the taps in the filter kernel efficiently. + // Later these pixels are selectively processed based on their dot products to see if + // they reside within the filtering cone. + // + //This is done by computing the smallest per-texel angle to get a conservative estimate + // of the number of texels needed to be covered in width and height order to filter the + // region. the bounding box for the center taps face is defined first, and if the + // filtereing region bleeds onto the other faces, bounding boxes for the other faces are + // defined next + //-------------------------------------------------------------------------------------- + PMREMGenerator.prototype.filterCubeSurfaces = function (srcCubeMap, srcSize, dstCubeMap, dstSize, filterConeAngle, specularPower) { + // note that pixels within these regions may be rejected + // based on the anlge + var iCubeFace; + var u; + var v; + // bounding box per face to specify region to process + var filterExtents = []; + for (iCubeFace = 0; iCubeFace < 6; iCubeFace++) { + filterExtents.push(new CMGBoundinBox()); + } + // min angle a src texel can cover (in degrees) + var srcTexelAngle = (180.0 / (Math.PI) * Math.atan2(1.0, srcSize)); + // angle about center tap to define filter cone + // filter angle is 1/2 the cone angle + var filterAngle = filterConeAngle / 2.0; + //ensure filter angle is larger than a texel + if (filterAngle < srcTexelAngle) { + filterAngle = srcTexelAngle; + } + //ensure filter cone is always smaller than the hemisphere + if (filterAngle > 90.0) { + filterAngle = 90.0; + } + // the maximum number of texels in 1D the filter cone angle will cover + // used to determine bounding box size for filter extents + var filterSize = Math.ceil(filterAngle / srcTexelAngle); + // ensure conservative region always covers at least one texel + if (filterSize < 1) { + filterSize = 1; + } + // dotProdThresh threshold based on cone angle to determine whether or not taps + // reside within the cone angle + var dotProdThresh = Math.cos((Math.PI / 180.0) * filterAngle); + // process required faces + for (iCubeFace = 0; iCubeFace < 6; iCubeFace++) { + //iterate over dst cube map face texel + for (v = 0; v < dstSize; v++) { + for (u = 0; u < dstSize; u++) { + //get center tap direction + var centerTapDir = this.texelCoordToVect(iCubeFace, u, v, dstSize, this.fixup).clone(); + //clear old per-face filter extents + this.clearFilterExtents(filterExtents); + //define per-face filter extents + this.determineFilterExtents(centerTapDir, srcSize, filterSize, filterExtents); + //perform filtering of src faces using filter extents + var vect = this.processFilterExtents(centerTapDir, dotProdThresh, filterExtents, srcCubeMap, srcSize, specularPower); + dstCubeMap[iCubeFace][(v * dstSize + u) * this.numChannels + 0] = vect.x; + dstCubeMap[iCubeFace][(v * dstSize + u) * this.numChannels + 1] = vect.y; + dstCubeMap[iCubeFace][(v * dstSize + u) * this.numChannels + 2] = vect.z; + } + } + } + }; + //-------------------------------------------------------------------------------------- + //Clear filter extents for the 6 cube map faces + //-------------------------------------------------------------------------------------- + PMREMGenerator.prototype.clearFilterExtents = function (filterExtents) { + for (var iCubeFaces = 0; iCubeFaces < 6; iCubeFaces++) { + filterExtents[iCubeFaces].clear(); + } + }; + //-------------------------------------------------------------------------------------- + //Define per-face bounding box filter extents + // + // These define conservative texel regions in each of the faces the filter can possibly + // process. When the pixels in the regions are actually processed, the dot product + // between the tap vector and the center tap vector is used to determine the weight of + // the tap and whether or not the tap is within the cone. + // + //-------------------------------------------------------------------------------------- + PMREMGenerator.prototype.determineFilterExtents = function (centerTapDir, srcSize, bboxSize, filterExtents) { + //neighboring face and bleed over amount, and width of BBOX for + // left, right, top, and bottom edges of this face + var bleedOverAmount = [0, 0, 0, 0]; + var bleedOverBBoxMin = [0, 0, 0, 0]; + var bleedOverBBoxMax = [0, 0, 0, 0]; + var neighborFace; + var neighborEdge; + var oppositeFaceIdx; + //get face idx, and u, v info from center tap dir + var result = this.vectToTexelCoord(centerTapDir.x, centerTapDir.y, centerTapDir.z, srcSize); + var faceIdx = result.x; + var u = result.y; + var v = result.z; + //define bbox size within face + filterExtents[faceIdx].augment(u - bboxSize, v - bboxSize, 0); + filterExtents[faceIdx].augment(u + bboxSize, v + bboxSize, 0); + filterExtents[faceIdx].clampMin(0, 0, 0); + filterExtents[faceIdx].clampMax(srcSize - 1, srcSize - 1, 0); + //u and v extent in face corresponding to center tap + var minU = filterExtents[faceIdx].min.x; + var minV = filterExtents[faceIdx].min.y; + var maxU = filterExtents[faceIdx].max.x; + var maxV = filterExtents[faceIdx].max.y; + //bleed over amounts for face across u=0 edge (left) + bleedOverAmount[0] = (bboxSize - u); + bleedOverBBoxMin[0] = minV; + bleedOverBBoxMax[0] = maxV; + //bleed over amounts for face across u=1 edge (right) + bleedOverAmount[1] = (u + bboxSize) - (srcSize - 1); + bleedOverBBoxMin[1] = minV; + bleedOverBBoxMax[1] = maxV; + //bleed over to face across v=0 edge (up) + bleedOverAmount[2] = (bboxSize - v); + bleedOverBBoxMin[2] = minU; + bleedOverBBoxMax[2] = maxU; + //bleed over to face across v=1 edge (down) + bleedOverAmount[3] = (v + bboxSize) - (srcSize - 1); + bleedOverBBoxMin[3] = minU; + bleedOverBBoxMax[3] = maxU; + //compute bleed over regions in neighboring faces + for (var i = 0; i < 4; i++) { + if (bleedOverAmount[i] > 0) { + neighborFace = PMREMGenerator._sgCubeNgh[faceIdx][i][0]; + neighborEdge = PMREMGenerator._sgCubeNgh[faceIdx][i][1]; + //For certain types of edge abutments, the bleedOverBBoxMin, and bleedOverBBoxMax need to + // be flipped: the cases are + // if a left edge mates with a left or bottom edge on the neighbor + // if a top edge mates with a top or right edge on the neighbor + // if a right edge mates with a right or top edge on the neighbor + // if a bottom edge mates with a bottom or left edge on the neighbor + //Seeing as the edges are enumerated as follows + // left =0 + // right =1 + // top =2 + // bottom =3 + // + // so if the edge enums are the same, or the sum of the enums == 3, + // the bbox needs to be flipped + if ((i == neighborEdge) || ((i + neighborEdge) == 3)) { + bleedOverBBoxMin[i] = (srcSize - 1) - bleedOverBBoxMin[i]; + bleedOverBBoxMax[i] = (srcSize - 1) - bleedOverBBoxMax[i]; + } + //The way the bounding box is extended onto the neighboring face + // depends on which edge of neighboring face abuts with this one + switch (PMREMGenerator._sgCubeNgh[faceIdx][i][1]) { + case PMREMGenerator.CP_EDGE_LEFT: + filterExtents[neighborFace].augment(0, bleedOverBBoxMin[i], 0); + filterExtents[neighborFace].augment(bleedOverAmount[i], bleedOverBBoxMax[i], 0); + break; + case PMREMGenerator.CP_EDGE_RIGHT: + filterExtents[neighborFace].augment((srcSize - 1), bleedOverBBoxMin[i], 0); + filterExtents[neighborFace].augment((srcSize - 1) - bleedOverAmount[i], bleedOverBBoxMax[i], 0); + break; + case PMREMGenerator.CP_EDGE_TOP: + filterExtents[neighborFace].augment(bleedOverBBoxMin[i], 0, 0); + filterExtents[neighborFace].augment(bleedOverBBoxMax[i], bleedOverAmount[i], 0); + break; + case PMREMGenerator.CP_EDGE_BOTTOM: + filterExtents[neighborFace].augment(bleedOverBBoxMin[i], (srcSize - 1), 0); + filterExtents[neighborFace].augment(bleedOverBBoxMax[i], (srcSize - 1) - bleedOverAmount[i], 0); + break; + } + //clamp filter extents in non-center tap faces to remain within surface + filterExtents[neighborFace].clampMin(0, 0, 0); + filterExtents[neighborFace].clampMax(srcSize - 1, srcSize - 1, 0); + } + //If the bleed over amount bleeds past the adjacent face onto the opposite face + // from the center tap face, then process the opposite face entirely for now. + //Note that the cases in which this happens, what usually happens is that + // more than one edge bleeds onto the opposite face, and the bounding box + // encompasses the entire cube map face. + if (bleedOverAmount[i] > srcSize) { + //determine opposite face + switch (faceIdx) { + case PMREMGenerator.CP_FACE_X_POS: + oppositeFaceIdx = PMREMGenerator.CP_FACE_X_NEG; + break; + case PMREMGenerator.CP_FACE_X_NEG: + oppositeFaceIdx = PMREMGenerator.CP_FACE_X_POS; + break; + case PMREMGenerator.CP_FACE_Y_POS: + oppositeFaceIdx = PMREMGenerator.CP_FACE_Y_NEG; + break; + case PMREMGenerator.CP_FACE_Y_NEG: + oppositeFaceIdx = PMREMGenerator.CP_FACE_Y_POS; + break; + case PMREMGenerator.CP_FACE_Z_POS: + oppositeFaceIdx = PMREMGenerator.CP_FACE_Z_NEG; + break; + case PMREMGenerator.CP_FACE_Z_NEG: + oppositeFaceIdx = PMREMGenerator.CP_FACE_Z_POS; + break; + default: + break; + } + //just encompass entire face for now + filterExtents[oppositeFaceIdx].augment(0, 0, 0); + filterExtents[oppositeFaceIdx].augment((srcSize - 1), (srcSize - 1), 0); + } + } + }; + //-------------------------------------------------------------------------------------- + //ProcessFilterExtents + // Process bounding box in each cube face + // + //-------------------------------------------------------------------------------------- + PMREMGenerator.prototype.processFilterExtents = function (centerTapDir, dotProdThresh, filterExtents, srcCubeMap, srcSize, specularPower) { + //accumulators are 64-bit floats in order to have the precision needed + // over a summation of a large number of pixels + var dstAccum = [0, 0, 0, 0]; + var weightAccum = 0; + var k = 0; + var nSrcChannels = this.numChannels; + // norm cube map and srcCubeMap have same face width + var faceWidth = srcSize; + //amount to add to pointer to move to next scanline in images + var normCubePitch = faceWidth * 4; // 4 channels in normCubeMap. + var srcCubePitch = faceWidth * this.numChannels; // numChannels correponds to the cubemap number of channel + var IsPhongBRDF = 1; // Only works in Phong BRDF yet. + //(a_LightingModel == CP_LIGHTINGMODEL_PHONG_BRDF || a_LightingModel == CP_LIGHTINGMODEL_BLINN_BRDF) ? 1 : 0; // This value will be added to the specular power + // iterate over cubefaces + for (var iFaceIdx = 0; iFaceIdx < 6; iFaceIdx++) { + //if bbox is non empty + if (!filterExtents[iFaceIdx].empty()) { + var uStart = filterExtents[iFaceIdx].min.x; + var vStart = filterExtents[iFaceIdx].min.y; + var uEnd = filterExtents[iFaceIdx].max.x; + var vEnd = filterExtents[iFaceIdx].max.y; + var startIndexNormCubeMap = (4 * ((vStart * faceWidth) + uStart)); + var startIndexSrcCubeMap = (this.numChannels * ((vStart * faceWidth) + uStart)); + //note that <= is used to ensure filter extents always encompass at least one pixel if bbox is non empty + for (var v = vStart; v <= vEnd; v++) { + var normCubeRowWalk = 0; + var srcCubeRowWalk = 0; + for (var u = uStart; u <= uEnd; u++) { + //pointer to direction in cube map associated with texel + var texelVectX = this._normCubeMap[iFaceIdx][startIndexNormCubeMap + normCubeRowWalk + 0]; + var texelVectY = this._normCubeMap[iFaceIdx][startIndexNormCubeMap + normCubeRowWalk + 1]; + var texelVectZ = this._normCubeMap[iFaceIdx][startIndexNormCubeMap + normCubeRowWalk + 2]; + //check dot product to see if texel is within cone + var tapDotProd = texelVectX * centerTapDir.x + + texelVectY * centerTapDir.y + + texelVectZ * centerTapDir.z; + if (tapDotProd >= dotProdThresh && tapDotProd > 0.0) { + //solid angle stored in 4th channel of normalizer/solid angle cube map + var weight = this._normCubeMap[iFaceIdx][startIndexNormCubeMap + normCubeRowWalk + 3]; + // Here we decide if we use a Phong/Blinn or a Phong/Blinn BRDF. + // Phong/Blinn BRDF is just the Phong/Blinn model multiply by the cosine of the lambert law + // so just adding one to specularpower do the trick. + weight *= Math.pow(tapDotProd, (specularPower + IsPhongBRDF)); + //iterate over channels + for (k = 0; k < nSrcChannels; k++) { + dstAccum[k] += weight * srcCubeMap[iFaceIdx][startIndexSrcCubeMap + srcCubeRowWalk]; + srcCubeRowWalk++; + } + weightAccum += weight; //accumulate weight + } + else { + //step across source pixel + srcCubeRowWalk += nSrcChannels; + } + normCubeRowWalk += 4; // 4 channels per norm cube map. + } + startIndexNormCubeMap += normCubePitch; + startIndexSrcCubeMap += srcCubePitch; + } + } + } + //divide through by weights if weight is non zero + if (weightAccum != 0.0) { + PMREMGenerator._vectorTemp.x = (dstAccum[0] / weightAccum); + PMREMGenerator._vectorTemp.y = (dstAccum[1] / weightAccum); + PMREMGenerator._vectorTemp.z = (dstAccum[2] / weightAccum); + if (this.numChannels > 3) { + PMREMGenerator._vectorTemp.w = (dstAccum[3] / weightAccum); + } + } + else { + // otherwise sample nearest + // get face idx and u, v texel coordinate in face + var coord = this.vectToTexelCoord(centerTapDir.x, centerTapDir.y, centerTapDir.z, srcSize).clone(); + PMREMGenerator._vectorTemp.x = srcCubeMap[coord.x][this.numChannels * (coord.z * srcSize + coord.y) + 0]; + PMREMGenerator._vectorTemp.y = srcCubeMap[coord.x][this.numChannels * (coord.z * srcSize + coord.y) + 1]; + PMREMGenerator._vectorTemp.z = srcCubeMap[coord.x][this.numChannels * (coord.z * srcSize + coord.y) + 2]; + if (this.numChannels > 3) { + PMREMGenerator._vectorTemp.z = srcCubeMap[coord.x][this.numChannels * (coord.z * srcSize + coord.y) + 3]; + } + } + return PMREMGenerator._vectorTemp; + }; + //-------------------------------------------------------------------------------------- + // Fixup cube edges + // + // average texels on cube map faces across the edges + // WARP/BENT Method Only. + //-------------------------------------------------------------------------------------- + PMREMGenerator.prototype.fixupCubeEdges = function (cubeMap, cubeMapSize) { + var k; + var j; + var i; + var iFace; + var iCorner = 0; + var cornerNumPtrs = [0, 0, 0, 0, 0, 0, 0, 0]; //indexed by corner and face idx + var faceCornerStartIndicies = [[], [], [], []]; //corner pointers for face keeping track of the face they belong to. + // note that if functionality to filter across the three texels for each corner, then + //indexed by corner and face idx. the array contains the face the start points belongs to. + var cornerPtr = [ + [[], [], []], + [[], [], []], + [[], [], []], + [[], [], []], + [[], [], []], + [[], [], []], + [[], [], []], + [[], [], []] + ]; + //if there is no fixup, or fixup width = 0, do nothing + if (cubeMapSize < 1) { + return; + } + //special case 1x1 cubemap, average face colors + if (cubeMapSize == 1) { + //iterate over channels + for (k = 0; k < this.numChannels; k++) { + var accum = 0.0; + //iterate over faces to accumulate face colors + for (iFace = 0; iFace < 6; iFace++) { + accum += cubeMap[iFace][k]; + } + //compute average over 6 face colors + accum /= 6.0; + //iterate over faces to distribute face colors + for (iFace = 0; iFace < 6; iFace++) { + cubeMap[iFace][k] = accum; + } + } + return; + } + //iterate over faces to collect list of corner texel pointers + for (iFace = 0; iFace < 6; iFace++) { + //the 4 corner pointers for this face + faceCornerStartIndicies[0] = [iFace, 0]; + faceCornerStartIndicies[1] = [iFace, ((cubeMapSize - 1) * this.numChannels)]; + faceCornerStartIndicies[2] = [iFace, ((cubeMapSize) * (cubeMapSize - 1) * this.numChannels)]; + faceCornerStartIndicies[3] = [iFace, ((((cubeMapSize) * (cubeMapSize - 1)) + (cubeMapSize - 1)) * this.numChannels)]; + //iterate over face corners to collect cube corner pointers + for (iCorner = 0; iCorner < 4; iCorner++) { + var corner = PMREMGenerator._sgCubeCornerList[iFace][iCorner]; + cornerPtr[corner][cornerNumPtrs[corner]] = faceCornerStartIndicies[iCorner]; + cornerNumPtrs[corner]++; + } + } + //iterate over corners to average across corner tap values + for (iCorner = 0; iCorner < 8; iCorner++) { + for (k = 0; k < this.numChannels; k++) { + var cornerTapAccum = 0.0; + //iterate over corner texels and average results + for (i = 0; i < 3; i++) { + cornerTapAccum += cubeMap[cornerPtr[iCorner][i][0]][cornerPtr[iCorner][i][1] + k]; // Get in the cube map face the start point + channel. + } + //divide by 3 to compute average of corner tap values + cornerTapAccum *= (1.0 / 3.0); + //iterate over corner texels and average results + for (i = 0; i < 3; i++) { + cubeMap[cornerPtr[iCorner][i][0]][cornerPtr[iCorner][i][1] + k] = cornerTapAccum; + } + } + } + //iterate over the twelve edges of the cube to average across edges + for (i = 0; i < 12; i++) { + var face = PMREMGenerator._sgCubeEdgeList[i][0]; + var edge = PMREMGenerator._sgCubeEdgeList[i][1]; + var neighborFace = PMREMGenerator._sgCubeNgh[face][edge][0]; + var neighborEdge = PMREMGenerator._sgCubeNgh[face][edge][1]; + var edgeStartIndex = 0; // a_CubeMap[face].m_ImgData; + var neighborEdgeStartIndex = 0; // a_CubeMap[neighborFace].m_ImgData; + var edgeWalk = 0; + var neighborEdgeWalk = 0; + //Determine walking pointers based on edge type + // e.g. CP_EDGE_LEFT, CP_EDGE_RIGHT, CP_EDGE_TOP, CP_EDGE_BOTTOM + switch (edge) { + case PMREMGenerator.CP_EDGE_LEFT: + // no change to faceEdgeStartPtr + edgeWalk = this.numChannels * cubeMapSize; + break; + case PMREMGenerator.CP_EDGE_RIGHT: + edgeStartIndex += (cubeMapSize - 1) * this.numChannels; + edgeWalk = this.numChannels * cubeMapSize; + break; + case PMREMGenerator.CP_EDGE_TOP: + // no change to faceEdgeStartPtr + edgeWalk = this.numChannels; + break; + case PMREMGenerator.CP_EDGE_BOTTOM: + edgeStartIndex += (cubeMapSize) * (cubeMapSize - 1) * this.numChannels; + edgeWalk = this.numChannels; + break; + } + //For certain types of edge abutments, the neighbor edge walk needs to + // be flipped: the cases are + // if a left edge mates with a left or bottom edge on the neighbor + // if a top edge mates with a top or right edge on the neighbor + // if a right edge mates with a right or top edge on the neighbor + // if a bottom edge mates with a bottom or left edge on the neighbor + //Seeing as the edges are enumerated as follows + // left =0 + // right =1 + // top =2 + // bottom =3 + // + //If the edge enums are the same, or the sum of the enums == 3, + // the neighbor edge walk needs to be flipped + if ((edge == neighborEdge) || ((edge + neighborEdge) == 3)) { + switch (neighborEdge) { + case PMREMGenerator.CP_EDGE_LEFT: + neighborEdgeStartIndex += (cubeMapSize - 1) * (cubeMapSize) * this.numChannels; + neighborEdgeWalk = -(this.numChannels * cubeMapSize); + break; + case PMREMGenerator.CP_EDGE_RIGHT: + neighborEdgeStartIndex += ((cubeMapSize - 1) * (cubeMapSize) + (cubeMapSize - 1)) * this.numChannels; + neighborEdgeWalk = -(this.numChannels * cubeMapSize); + break; + case PMREMGenerator.CP_EDGE_TOP: + neighborEdgeStartIndex += (cubeMapSize - 1) * this.numChannels; + neighborEdgeWalk = -this.numChannels; + break; + case PMREMGenerator.CP_EDGE_BOTTOM: + neighborEdgeStartIndex += ((cubeMapSize - 1) * (cubeMapSize) + (cubeMapSize - 1)) * this.numChannels; + neighborEdgeWalk = -this.numChannels; + break; + } + } + else { + //swapped direction neighbor edge walk + switch (neighborEdge) { + case PMREMGenerator.CP_EDGE_LEFT: + //no change to neighborEdgeStartPtr for this case since it points + // to the upper left corner already + neighborEdgeWalk = this.numChannels * cubeMapSize; + break; + case PMREMGenerator.CP_EDGE_RIGHT: + neighborEdgeStartIndex += (cubeMapSize - 1) * this.numChannels; + neighborEdgeWalk = this.numChannels * cubeMapSize; + break; + case PMREMGenerator.CP_EDGE_TOP: + //no change to neighborEdgeStartPtr for this case since it points + // to the upper left corner already + neighborEdgeWalk = this.numChannels; + break; + case PMREMGenerator.CP_EDGE_BOTTOM: + neighborEdgeStartIndex += (cubeMapSize) * (cubeMapSize - 1) * this.numChannels; + neighborEdgeWalk = this.numChannels; + break; + } + } + //Perform edge walk, to average across the 12 edges and smoothly propagate change to + //nearby neighborhood + //step ahead one texel on edge + edgeStartIndex += edgeWalk; + neighborEdgeStartIndex += neighborEdgeWalk; + // note that this loop does not process the corner texels, since they have already been + // averaged across faces across earlier + for (j = 1; j < (cubeMapSize - 1); j++) { + //for each set of taps along edge, average them + // and rewrite the results into the edges + for (k = 0; k < this.numChannels; k++) { + var edgeTap = cubeMap[face][edgeStartIndex + k]; + var neighborEdgeTap = cubeMap[neighborFace][neighborEdgeStartIndex + k]; + //compute average of tap intensity values + var avgTap = 0.5 * (edgeTap + neighborEdgeTap); + //propagate average of taps to edge taps + cubeMap[face][edgeStartIndex + k] = avgTap; + cubeMap[neighborFace][neighborEdgeStartIndex + k] = avgTap; + } + edgeStartIndex += edgeWalk; + neighborEdgeStartIndex += neighborEdgeWalk; + } + } + }; + PMREMGenerator.CP_MAX_MIPLEVELS = 16; + PMREMGenerator.CP_UDIR = 0; + PMREMGenerator.CP_VDIR = 1; + PMREMGenerator.CP_FACEAXIS = 2; + //used to index cube faces + PMREMGenerator.CP_FACE_X_POS = 0; + PMREMGenerator.CP_FACE_X_NEG = 1; + PMREMGenerator.CP_FACE_Y_POS = 2; + PMREMGenerator.CP_FACE_Y_NEG = 3; + PMREMGenerator.CP_FACE_Z_POS = 4; + PMREMGenerator.CP_FACE_Z_NEG = 5; + //used to index image edges + // NOTE.. the actual number corresponding to the edge is important + // do not change these, or the code will break + // + // CP_EDGE_LEFT is u = 0 + // CP_EDGE_RIGHT is u = width-1 + // CP_EDGE_TOP is v = 0 + // CP_EDGE_BOTTOM is v = height-1 + PMREMGenerator.CP_EDGE_LEFT = 0; + PMREMGenerator.CP_EDGE_RIGHT = 1; + PMREMGenerator.CP_EDGE_TOP = 2; + PMREMGenerator.CP_EDGE_BOTTOM = 3; + //corners of CUBE map (P or N specifys if it corresponds to the + // positive or negative direction each of X, Y, and Z + PMREMGenerator.CP_CORNER_NNN = 0; + PMREMGenerator.CP_CORNER_NNP = 1; + PMREMGenerator.CP_CORNER_NPN = 2; + PMREMGenerator.CP_CORNER_NPP = 3; + PMREMGenerator.CP_CORNER_PNN = 4; + PMREMGenerator.CP_CORNER_PNP = 5; + PMREMGenerator.CP_CORNER_PPN = 6; + PMREMGenerator.CP_CORNER_PPP = 7; + PMREMGenerator._vectorTemp = new BABYLON.Vector4(0, 0, 0, 0); + //3x2 matrices that map cube map indexing vectors in 3d + // (after face selection and divide through by the + // _ABSOLUTE VALUE_ of the max coord) + // into NVC space + //Note this currently assumes the D3D cube face ordering and orientation + PMREMGenerator._sgFace2DMapping = [ + //XPOS face + [[0, 0, -1], + [0, -1, 0], + [1, 0, 0]], + //XNEG face + [[0, 0, 1], + [0, -1, 0], + [-1, 0, 0]], + //YPOS face + [[1, 0, 0], + [0, 0, 1], + [0, 1, 0]], + //YNEG face + [[1, 0, 0], + [0, 0, -1], + [0, -1, 0]], + //ZPOS face + [[1, 0, 0], + [0, -1, 0], + [0, 0, 1]], + //ZNEG face + [[-1, 0, 0], + [0, -1, 0], + [0, 0, -1]], + ]; + //------------------------------------------------------------------------------ + // D3D cube map face specification + // mapping from 3D x,y,z cube map lookup coordinates + // to 2D within face u,v coordinates + // + // --------------------> U direction + // | (within-face texture space) + // | _____ + // | | | + // | | +Y | + // | _____|_____|_____ _____ + // | | | | | | + // | | -X | +Z | +X | -Z | + // | |_____|_____|_____|_____| + // | | | + // | | -Y | + // | |_____| + // | + // v V direction + // (within-face texture space) + //------------------------------------------------------------------------------ + //Information about neighbors and how texture coorrdinates change across faces + // in ORDER of left, right, top, bottom (e.g. edges corresponding to u=0, + // u=1, v=0, v=1 in the 2D coordinate system of the particular face. + //Note this currently assumes the D3D cube face ordering and orientation + PMREMGenerator._sgCubeNgh = [ + //XPOS face + [[PMREMGenerator.CP_FACE_Z_POS, PMREMGenerator.CP_EDGE_RIGHT], + [PMREMGenerator.CP_FACE_Z_NEG, PMREMGenerator.CP_EDGE_LEFT], + [PMREMGenerator.CP_FACE_Y_POS, PMREMGenerator.CP_EDGE_RIGHT], + [PMREMGenerator.CP_FACE_Y_NEG, PMREMGenerator.CP_EDGE_RIGHT]], + //XNEG face + [[PMREMGenerator.CP_FACE_Z_NEG, PMREMGenerator.CP_EDGE_RIGHT], + [PMREMGenerator.CP_FACE_Z_POS, PMREMGenerator.CP_EDGE_LEFT], + [PMREMGenerator.CP_FACE_Y_POS, PMREMGenerator.CP_EDGE_LEFT], + [PMREMGenerator.CP_FACE_Y_NEG, PMREMGenerator.CP_EDGE_LEFT]], + //YPOS face + [[PMREMGenerator.CP_FACE_X_NEG, PMREMGenerator.CP_EDGE_TOP], + [PMREMGenerator.CP_FACE_X_POS, PMREMGenerator.CP_EDGE_TOP], + [PMREMGenerator.CP_FACE_Z_NEG, PMREMGenerator.CP_EDGE_TOP], + [PMREMGenerator.CP_FACE_Z_POS, PMREMGenerator.CP_EDGE_TOP]], + //YNEG face + [[PMREMGenerator.CP_FACE_X_NEG, PMREMGenerator.CP_EDGE_BOTTOM], + [PMREMGenerator.CP_FACE_X_POS, PMREMGenerator.CP_EDGE_BOTTOM], + [PMREMGenerator.CP_FACE_Z_POS, PMREMGenerator.CP_EDGE_BOTTOM], + [PMREMGenerator.CP_FACE_Z_NEG, PMREMGenerator.CP_EDGE_BOTTOM]], + //ZPOS face + [[PMREMGenerator.CP_FACE_X_NEG, PMREMGenerator.CP_EDGE_RIGHT], + [PMREMGenerator.CP_FACE_X_POS, PMREMGenerator.CP_EDGE_LEFT], + [PMREMGenerator.CP_FACE_Y_POS, PMREMGenerator.CP_EDGE_BOTTOM], + [PMREMGenerator.CP_FACE_Y_NEG, PMREMGenerator.CP_EDGE_TOP]], + //ZNEG face + [[PMREMGenerator.CP_FACE_X_POS, PMREMGenerator.CP_EDGE_RIGHT], + [PMREMGenerator.CP_FACE_X_NEG, PMREMGenerator.CP_EDGE_LEFT], + [PMREMGenerator.CP_FACE_Y_POS, PMREMGenerator.CP_EDGE_TOP], + [PMREMGenerator.CP_FACE_Y_NEG, PMREMGenerator.CP_EDGE_BOTTOM]] + ]; + //The 12 edges of the cubemap, (entries are used to index into the neighbor table) + // this table is used to average over the edges. + PMREMGenerator._sgCubeEdgeList = [ + [PMREMGenerator.CP_FACE_X_POS, PMREMGenerator.CP_EDGE_LEFT], + [PMREMGenerator.CP_FACE_X_POS, PMREMGenerator.CP_EDGE_RIGHT], + [PMREMGenerator.CP_FACE_X_POS, PMREMGenerator.CP_EDGE_TOP], + [PMREMGenerator.CP_FACE_X_POS, PMREMGenerator.CP_EDGE_BOTTOM], + [PMREMGenerator.CP_FACE_X_NEG, PMREMGenerator.CP_EDGE_LEFT], + [PMREMGenerator.CP_FACE_X_NEG, PMREMGenerator.CP_EDGE_RIGHT], + [PMREMGenerator.CP_FACE_X_NEG, PMREMGenerator.CP_EDGE_TOP], + [PMREMGenerator.CP_FACE_X_NEG, PMREMGenerator.CP_EDGE_BOTTOM], + [PMREMGenerator.CP_FACE_Z_POS, PMREMGenerator.CP_EDGE_TOP], + [PMREMGenerator.CP_FACE_Z_POS, PMREMGenerator.CP_EDGE_BOTTOM], + [PMREMGenerator.CP_FACE_Z_NEG, PMREMGenerator.CP_EDGE_TOP], + [PMREMGenerator.CP_FACE_Z_NEG, PMREMGenerator.CP_EDGE_BOTTOM] + ]; + //Information about which of the 8 cube corners are correspond to the + // the 4 corners in each cube face + // the order is upper left, upper right, lower left, lower right + PMREMGenerator._sgCubeCornerList = [ + [PMREMGenerator.CP_CORNER_PPP, PMREMGenerator.CP_CORNER_PPN, PMREMGenerator.CP_CORNER_PNP, PMREMGenerator.CP_CORNER_PNN], + [PMREMGenerator.CP_CORNER_NPN, PMREMGenerator.CP_CORNER_NPP, PMREMGenerator.CP_CORNER_NNN, PMREMGenerator.CP_CORNER_NNP], + [PMREMGenerator.CP_CORNER_NPN, PMREMGenerator.CP_CORNER_PPN, PMREMGenerator.CP_CORNER_NPP, PMREMGenerator.CP_CORNER_PPP], + [PMREMGenerator.CP_CORNER_NNP, PMREMGenerator.CP_CORNER_PNP, PMREMGenerator.CP_CORNER_NNN, PMREMGenerator.CP_CORNER_PNN], + [PMREMGenerator.CP_CORNER_NPP, PMREMGenerator.CP_CORNER_PPP, PMREMGenerator.CP_CORNER_NNP, PMREMGenerator.CP_CORNER_PNP], + [PMREMGenerator.CP_CORNER_PPN, PMREMGenerator.CP_CORNER_NPN, PMREMGenerator.CP_CORNER_PNN, PMREMGenerator.CP_CORNER_NNN] // ZNEG face + ]; + return PMREMGenerator; + }()); + Internals.PMREMGenerator = PMREMGenerator; + })(Internals = BABYLON.Internals || (BABYLON.Internals = {})); +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.tools.pmremgenerator.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + /** + * This represents a texture coming from an HDR input. + * + * The only supported format is currently panorama picture stored in RGBE format. + * Example of such files can be found on HDRLib: http://hdrlib.com/ + */ + var HDRCubeTexture = (function (_super) { + __extends(HDRCubeTexture, _super); + /** + * Instantiates an HDRTexture from the following parameters. + * + * @param url The location of the HDR raw data (Panorama stored in RGBE format) + * @param scene The scene the texture will be used in + * @param size The cubemap desired size (the more it increases the longer the generation will be) If the size is omitted this implies you are using a preprocessed cubemap. + * @param noMipmap Forces to not generate the mipmap if true + * @param generateHarmonics Specifies wether you want to extract the polynomial harmonics during the generation process + * @param useInGammaSpace Specifies if the texture will be use in gamma or linear space (the PBR material requires those texture in linear space, but the standard material would require them in Gamma space) + * @param usePMREMGenerator Specifies wether or not to generate the CubeMap through CubeMapGen to avoid seams issue at run time. + */ + function HDRCubeTexture(url, scene, size, noMipmap, generateHarmonics, useInGammaSpace, usePMREMGenerator) { + if (noMipmap === void 0) { noMipmap = false; } + if (generateHarmonics === void 0) { generateHarmonics = true; } + if (useInGammaSpace === void 0) { useInGammaSpace = false; } + if (usePMREMGenerator === void 0) { usePMREMGenerator = false; } + _super.call(this, scene); + this._useInGammaSpace = false; + this._generateHarmonics = true; + this._isBABYLONPreprocessed = false; + /** + * The texture coordinates mode. As this texture is stored in a cube format, please modify carefully. + */ + this.coordinatesMode = BABYLON.Texture.CUBIC_MODE; + /** + * The spherical polynomial data extracted from the texture. + */ + this.sphericalPolynomial = null; + /** + * Specifies wether the texture has been generated through the PMREMGenerator tool. + * This is usefull at run time to apply the good shader. + */ + this.isPMREM = false; + if (!url) { + return; + } + this.name = url; + this.url = url; + this.hasAlpha = false; + this.isCube = true; + this._textureMatrix = BABYLON.Matrix.Identity(); + if (size) { + this._isBABYLONPreprocessed = false; + this._noMipmap = noMipmap; + this._size = size; + this._useInGammaSpace = useInGammaSpace; + this._usePMREMGenerator = usePMREMGenerator && + scene.getEngine().getCaps().textureLOD && + this.getScene().getEngine().getCaps().textureFloat && + !this._useInGammaSpace; + } + else { + this._isBABYLONPreprocessed = true; + this._noMipmap = false; + this._useInGammaSpace = false; + this._usePMREMGenerator = scene.getEngine().getCaps().textureLOD && + this.getScene().getEngine().getCaps().textureFloat && + !this._useInGammaSpace; + } + this.isPMREM = this._usePMREMGenerator; + this._texture = this._getFromCache(url, this._noMipmap); + if (!this._texture) { + if (!scene.useDelayedTextureLoading) { + this.loadTexture(); + } + else { + this.delayLoadState = BABYLON.Engine.DELAYLOADSTATE_NOTLOADED; + } + } + } + /** + * Occurs when the file is a preprocessed .babylon.hdr file. + */ + HDRCubeTexture.prototype.loadBabylonTexture = function () { + var _this = this; + var mipLevels = 0; + var floatArrayView = null; + var mipmapGenerator = (!this._useInGammaSpace && this.getScene().getEngine().getCaps().textureFloat) ? function (data) { + var mips = []; + var startIndex = 30; + for (var level = 0; level < mipLevels; level++) { + mips.push([]); + // Fill each pixel of the mip level. + var faceSize = Math.pow(_this._size >> level, 2) * 3; + for (var faceIndex = 0; faceIndex < 6; faceIndex++) { + var faceData = floatArrayView.subarray(startIndex, startIndex + faceSize); + mips[level].push(faceData); + startIndex += faceSize; + } + } + return mips; + } : null; + var callback = function (buffer) { + // Create Native Array Views + var intArrayView = new Int32Array(buffer); + floatArrayView = new Float32Array(buffer); + // Fill header. + var version = intArrayView[0]; // Version 1. (MAy be use in case of format changes for backward compaibility) + _this._size = intArrayView[1]; // CubeMap max mip face size. + // Update Texture Information. + _this.getScene().getEngine().updateTextureSize(_this._texture, _this._size, _this._size); + // Fill polynomial information. + _this.sphericalPolynomial = new BABYLON.SphericalPolynomial(); + _this.sphericalPolynomial.x.copyFromFloats(floatArrayView[2], floatArrayView[3], floatArrayView[4]); + _this.sphericalPolynomial.y.copyFromFloats(floatArrayView[5], floatArrayView[6], floatArrayView[7]); + _this.sphericalPolynomial.z.copyFromFloats(floatArrayView[8], floatArrayView[9], floatArrayView[10]); + _this.sphericalPolynomial.xx.copyFromFloats(floatArrayView[11], floatArrayView[12], floatArrayView[13]); + _this.sphericalPolynomial.yy.copyFromFloats(floatArrayView[14], floatArrayView[15], floatArrayView[16]); + _this.sphericalPolynomial.zz.copyFromFloats(floatArrayView[17], floatArrayView[18], floatArrayView[19]); + _this.sphericalPolynomial.xy.copyFromFloats(floatArrayView[20], floatArrayView[21], floatArrayView[22]); + _this.sphericalPolynomial.yz.copyFromFloats(floatArrayView[23], floatArrayView[24], floatArrayView[25]); + _this.sphericalPolynomial.zx.copyFromFloats(floatArrayView[26], floatArrayView[27], floatArrayView[28]); + // Fill pixel data. + mipLevels = intArrayView[29]; // Number of mip levels. + var startIndex = 30; + var data = []; + var faceSize = Math.pow(_this._size, 2) * 3; + for (var faceIndex = 0; faceIndex < 6; faceIndex++) { + data.push(floatArrayView.subarray(startIndex, startIndex + faceSize)); + startIndex += faceSize; + } + var results = []; + var byteArray = null; + // Push each faces. + for (var k = 0; k < 6; k++) { + var dataFace = null; + // If special cases. + if (!mipmapGenerator) { + var j = ([0, 2, 4, 1, 3, 5])[k]; // Transforms +X+Y+Z... to +X-X+Y-Y... if no mipmapgenerator... + dataFace = data[j]; + if (!_this.getScene().getEngine().getCaps().textureFloat) { + // 3 channels of 1 bytes per pixel in bytes. + var byteBuffer = new ArrayBuffer(faceSize); + byteArray = new Uint8Array(byteBuffer); + } + for (var i = 0; i < _this._size * _this._size; i++) { + // Put in gamma space if requested. + if (_this._useInGammaSpace) { + dataFace[(i * 3) + 0] = Math.pow(dataFace[(i * 3) + 0], BABYLON.ToGammaSpace); + dataFace[(i * 3) + 1] = Math.pow(dataFace[(i * 3) + 1], BABYLON.ToGammaSpace); + dataFace[(i * 3) + 2] = Math.pow(dataFace[(i * 3) + 2], BABYLON.ToGammaSpace); + } + // Convert to int texture for fallback. + if (byteArray) { + var r = Math.max(dataFace[(i * 3) + 0] * 255, 0); + var g = Math.max(dataFace[(i * 3) + 1] * 255, 0); + var b = Math.max(dataFace[(i * 3) + 2] * 255, 0); + // May use luminance instead if the result is not accurate. + var max = Math.max(Math.max(r, g), b); + if (max > 255) { + var scale = 255 / max; + r *= scale; + g *= scale; + b *= scale; + } + byteArray[(i * 3) + 0] = r; + byteArray[(i * 3) + 1] = g; + byteArray[(i * 3) + 2] = b; + } + } + } + else { + dataFace = data[k]; + } + // Fill the array accordingly. + if (byteArray) { + results.push(byteArray); + } + else { + results.push(dataFace); + } + } + return results; + }; + this._texture = this.getScene().getEngine().createRawCubeTexture(this.url, this.getScene(), this._size, BABYLON.Engine.TEXTUREFORMAT_RGB, this.getScene().getEngine().getCaps().textureFloat ? BABYLON.Engine.TEXTURETYPE_FLOAT : BABYLON.Engine.TEXTURETYPE_UNSIGNED_INT, this._noMipmap, callback, mipmapGenerator); + }; + /** + * Occurs when the file is raw .hdr file. + */ + HDRCubeTexture.prototype.loadHDRTexture = function () { + var _this = this; + var callback = function (buffer) { + // Extract the raw linear data. + var data = BABYLON.Internals.HDRTools.GetCubeMapTextureData(buffer, _this._size); + // Generate harmonics if needed. + if (_this._generateHarmonics) { + _this.sphericalPolynomial = BABYLON.Internals.CubeMapToSphericalPolynomialTools.ConvertCubeMapToSphericalPolynomial(data); + } + var results = []; + var byteArray = null; + // Push each faces. + for (var j = 0; j < 6; j++) { + // Create uintarray fallback. + if (!_this.getScene().getEngine().getCaps().textureFloat) { + // 3 channels of 1 bytes per pixel in bytes. + var byteBuffer = new ArrayBuffer(_this._size * _this._size * 3); + byteArray = new Uint8Array(byteBuffer); + } + var dataFace = data[HDRCubeTexture._facesMapping[j]]; + // If special cases. + if (_this._useInGammaSpace || byteArray) { + for (var i = 0; i < _this._size * _this._size; i++) { + // Put in gamma space if requested. + if (_this._useInGammaSpace) { + dataFace[(i * 3) + 0] = Math.pow(dataFace[(i * 3) + 0], BABYLON.ToGammaSpace); + dataFace[(i * 3) + 1] = Math.pow(dataFace[(i * 3) + 1], BABYLON.ToGammaSpace); + dataFace[(i * 3) + 2] = Math.pow(dataFace[(i * 3) + 2], BABYLON.ToGammaSpace); + } + // Convert to int texture for fallback. + if (byteArray) { + var r = Math.max(dataFace[(i * 3) + 0] * 255, 0); + var g = Math.max(dataFace[(i * 3) + 1] * 255, 0); + var b = Math.max(dataFace[(i * 3) + 2] * 255, 0); + // May use luminance instead if the result is not accurate. + var max = Math.max(Math.max(r, g), b); + if (max > 255) { + var scale = 255 / max; + r *= scale; + g *= scale; + b *= scale; + } + byteArray[(i * 3) + 0] = r; + byteArray[(i * 3) + 1] = g; + byteArray[(i * 3) + 2] = b; + } + } + } + if (byteArray) { + results.push(byteArray); + } + else { + results.push(dataFace); + } + } + return results; + }; + var mipmapGenerator = null; + if (!this._noMipmap && + this._usePMREMGenerator) { + mipmapGenerator = function (data) { + // Custom setup of the generator matching with the PBR shader values. + var generator = new BABYLON.Internals.PMREMGenerator(data, _this._size, _this._size, 0, 3, _this.getScene().getEngine().getCaps().textureFloat, 2048, 0.25, false, true); + return generator.filterCubeMap(); + }; + } + this._texture = this.getScene().getEngine().createRawCubeTexture(this.url, this.getScene(), this._size, BABYLON.Engine.TEXTUREFORMAT_RGB, this.getScene().getEngine().getCaps().textureFloat ? BABYLON.Engine.TEXTURETYPE_FLOAT : BABYLON.Engine.TEXTURETYPE_UNSIGNED_INT, this._noMipmap, callback, mipmapGenerator); + }; + /** + * Starts the loading process of the texture. + */ + HDRCubeTexture.prototype.loadTexture = function () { + if (this._isBABYLONPreprocessed) { + this.loadBabylonTexture(); + } + else { + this.loadHDRTexture(); + } + }; + HDRCubeTexture.prototype.clone = function () { + var size = this._isBABYLONPreprocessed ? null : this._size; + var newTexture = new HDRCubeTexture(this.url, this.getScene(), size, this._noMipmap, this._generateHarmonics, this._useInGammaSpace, this._usePMREMGenerator); + // Base texture + newTexture.level = this.level; + newTexture.wrapU = this.wrapU; + newTexture.wrapV = this.wrapV; + newTexture.coordinatesIndex = this.coordinatesIndex; + newTexture.coordinatesMode = this.coordinatesMode; + return newTexture; + }; + // Methods + HDRCubeTexture.prototype.delayLoad = function () { + if (this.delayLoadState !== BABYLON.Engine.DELAYLOADSTATE_NOTLOADED) { + return; + } + this.delayLoadState = BABYLON.Engine.DELAYLOADSTATE_LOADED; + this._texture = this._getFromCache(this.url, this._noMipmap); + if (!this._texture) { + this.loadTexture(); + } + }; + HDRCubeTexture.prototype.getReflectionTextureMatrix = function () { + return this._textureMatrix; + }; + HDRCubeTexture.Parse = function (parsedTexture, scene, rootUrl) { + var texture = null; + if (parsedTexture.name && !parsedTexture.isRenderTarget) { + var size = parsedTexture.isBABYLONPreprocessed ? null : parsedTexture.size; + texture = new BABYLON.HDRCubeTexture(rootUrl + parsedTexture.name, scene, size, parsedTexture.generateHarmonics, parsedTexture.useInGammaSpace, parsedTexture.usePMREMGenerator); + texture.name = parsedTexture.name; + texture.hasAlpha = parsedTexture.hasAlpha; + texture.level = parsedTexture.level; + texture.coordinatesMode = parsedTexture.coordinatesMode; + } + return texture; + }; + HDRCubeTexture.prototype.serialize = function () { + if (!this.name) { + return null; + } + var serializationObject = {}; + serializationObject.name = this.name; + serializationObject.hasAlpha = this.hasAlpha; + serializationObject.isCube = true; + serializationObject.level = this.level; + serializationObject.size = this._size; + serializationObject.coordinatesMode = this.coordinatesMode; + serializationObject.useInGammaSpace = this._useInGammaSpace; + serializationObject.generateHarmonics = this._generateHarmonics; + serializationObject.usePMREMGenerator = this._usePMREMGenerator; + serializationObject.isBABYLONPreprocessed = this._isBABYLONPreprocessed; + serializationObject.customType = "BABYLON.HDRCubeTexture"; + return serializationObject; + }; + /** + * Saves as a file the data contained in the texture in a binary format. + * This can be used to prevent the long loading tie associated with creating the seamless texture as well + * as the spherical used in the lighting. + * @param url The HDR file url. + * @param size The size of the texture data to generate (one of the cubemap face desired width). + * @param onError Method called if any error happens during download. + * @return The packed binary data. + */ + HDRCubeTexture.generateBabylonHDROnDisk = function (url, size, onError) { + if (onError === void 0) { onError = null; } + var callback = function (buffer) { + var data = new Blob([buffer], { type: 'application/octet-stream' }); + // Returns a URL you can use as a href. + var objUrl = window.URL.createObjectURL(data); + // Simulates a link to it and click to dowload. + var a = document.createElement("a"); + document.body.appendChild(a); + a.style.display = "none"; + a.href = objUrl; + a.download = "envmap.babylon.hdr"; + a.click(); + }; + HDRCubeTexture.generateBabylonHDR(url, size, callback, onError); + }; + /** + * Serializes the data contained in the texture in a binary format. + * This can be used to prevent the long loading tie associated with creating the seamless texture as well + * as the spherical used in the lighting. + * @param url The HDR file url. + * @param size The size of the texture data to generate (one of the cubemap face desired width). + * @param onError Method called if any error happens during download. + * @return The packed binary data. + */ + HDRCubeTexture.generateBabylonHDR = function (url, size, callback, onError) { + if (onError === void 0) { onError = null; } + // Needs the url tho create the texture. + if (!url) { + return null; + } + // Check Power of two size. + if (!BABYLON.Tools.IsExponentOfTwo(size)) { + return null; + } + var getDataCallback = function (dataBuffer) { + // Extract the raw linear data. + var cubeData = BABYLON.Internals.HDRTools.GetCubeMapTextureData(dataBuffer, size); + // Generate harmonics if needed. + var sphericalPolynomial = BABYLON.Internals.CubeMapToSphericalPolynomialTools.ConvertCubeMapToSphericalPolynomial(cubeData); + // Generate seamless faces + var mipGeneratorArray = []; + // Data are known to be in +X +Y +Z -X -Y -Z + // mipmmapGenerator data is expected to be order in +X -X +Y -Y +Z -Z + mipGeneratorArray.push(cubeData.right); // +X + mipGeneratorArray.push(cubeData.left); // -X + mipGeneratorArray.push(cubeData.up); // +Y + mipGeneratorArray.push(cubeData.down); // -Y + mipGeneratorArray.push(cubeData.front); // +Z + mipGeneratorArray.push(cubeData.back); // -Z + // Custom setup of the generator matching with the PBR shader values. + var generator = new BABYLON.Internals.PMREMGenerator(mipGeneratorArray, size, size, 0, 3, true, 2048, 0.25, false, true); + var mippedData = generator.filterCubeMap(); + // Compute required byte length. + var byteLength = 1 * 4; // Raw Data Version int32. + byteLength += 4; // CubeMap max mip face size int32. + byteLength += (9 * 3 * 4); // Spherical polynomial byte length 9 Vector 3 of floats. + // Add data size. + byteLength += 4; // Number of mip levels int32. + for (var level = 0; level < mippedData.length; level++) { + var mipSize = size >> level; + byteLength += (6 * mipSize * mipSize * 3 * 4); // 6 faces of size squared rgb float pixels. + } + // Prepare binary structure. + var buffer = new ArrayBuffer(byteLength); + var intArrayView = new Int32Array(buffer); + var floatArrayView = new Float32Array(buffer); + // Fill header. + intArrayView[0] = 1; // Version 1. + intArrayView[1] = size; // CubeMap max mip face size. + // Fill polynomial information. + sphericalPolynomial.x.toArray(floatArrayView, 2); + sphericalPolynomial.y.toArray(floatArrayView, 5); + sphericalPolynomial.z.toArray(floatArrayView, 8); + sphericalPolynomial.xx.toArray(floatArrayView, 11); + sphericalPolynomial.yy.toArray(floatArrayView, 14); + sphericalPolynomial.zz.toArray(floatArrayView, 17); + sphericalPolynomial.xy.toArray(floatArrayView, 20); + sphericalPolynomial.yz.toArray(floatArrayView, 23); + sphericalPolynomial.zx.toArray(floatArrayView, 26); + // Fill pixel data. + intArrayView[29] = mippedData.length; // Number of mip levels. + var startIndex = 30; + for (var level = 0; level < mippedData.length; level++) { + // Fill each pixel of the mip level. + var faceSize = Math.pow(size >> level, 2) * 3; + for (var faceIndex = 0; faceIndex < 6; faceIndex++) { + floatArrayView.set(mippedData[level][faceIndex], startIndex); + startIndex += faceSize; + } + } + // Callback. + callback(buffer); + }; + // Download and process. + BABYLON.Tools.LoadFile(url, function (data) { + getDataCallback(data); + }, null, null, true, onError); + }; + HDRCubeTexture._facesMapping = [ + "right", + "up", + "front", + "left", + "down", + "back" + ]; + return HDRCubeTexture; + }(BABYLON.BaseTexture)); + BABYLON.HDRCubeTexture = HDRCubeTexture; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.hdrCubeTexture.js.map + +var BABYLON; +(function (BABYLON) { + var Debug; + (function (Debug) { + /** + * Demo available here: http://www.babylonjs-playground.com/#1BZJVJ#8 + */ + var SkeletonViewer = (function () { + function SkeletonViewer(skeleton, mesh, scene, autoUpdateBonesMatrices, renderingGroupId) { + if (autoUpdateBonesMatrices === void 0) { autoUpdateBonesMatrices = true; } + if (renderingGroupId === void 0) { renderingGroupId = 1; } + this.skeleton = skeleton; + this.mesh = mesh; + this.autoUpdateBonesMatrices = autoUpdateBonesMatrices; + this.renderingGroupId = renderingGroupId; + this.color = BABYLON.Color3.White(); + this._debugLines = []; + this._isEnabled = false; + this._scene = scene; + this.update(); + this._renderFunction = this.update.bind(this); + } + Object.defineProperty(SkeletonViewer.prototype, "isEnabled", { + get: function () { + return this._isEnabled; + }, + set: function (value) { + if (this._isEnabled === value) { + return; + } + this._isEnabled = value; + if (value) { + this._scene.registerBeforeRender(this._renderFunction); + } + else { + this._scene.unregisterBeforeRender(this._renderFunction); + } + }, + enumerable: true, + configurable: true + }); + SkeletonViewer.prototype._getBonePosition = function (position, bone, meshMat, x, y, z) { + if (x === void 0) { x = 0; } + if (y === void 0) { y = 0; } + if (z === void 0) { z = 0; } + var tmat = BABYLON.Tmp.Matrix[0]; + var parentBone = bone.getParent(); + tmat.copyFrom(bone.getLocalMatrix()); + if (x !== 0 || y !== 0 || z !== 0) { + var tmat2 = BABYLON.Tmp.Matrix[1]; + BABYLON.Matrix.IdentityToRef(tmat2); + tmat2.m[12] = x; + tmat2.m[13] = y; + tmat2.m[14] = z; + tmat2.multiplyToRef(tmat, tmat); + } + if (parentBone) { + tmat.multiplyToRef(parentBone.getAbsoluteTransform(), tmat); + } + tmat.multiplyToRef(meshMat, tmat); + position.x = tmat.m[12]; + position.y = tmat.m[13]; + position.z = tmat.m[14]; + }; + SkeletonViewer.prototype._getLinesForBonesWithLength = function (bones, meshMat) { + var len = bones.length; + for (var i = 0; i < len; i++) { + var bone = bones[i]; + var points = this._debugLines[i]; + if (!points) { + points = [BABYLON.Vector3.Zero(), BABYLON.Vector3.Zero()]; + this._debugLines[i] = points; + } + this._getBonePosition(points[0], bone, meshMat); + this._getBonePosition(points[1], bone, meshMat, 0, bone.length, 0); + } + }; + SkeletonViewer.prototype._getLinesForBonesNoLength = function (bones, meshMat) { + var len = bones.length; + var boneNum = 0; + for (var i = len - 1; i >= 0; i--) { + var childBone = bones[i]; + var parentBone = childBone.getParent(); + if (!parentBone) { + continue; + } + var points = this._debugLines[boneNum]; + if (!points) { + points = [BABYLON.Vector3.Zero(), BABYLON.Vector3.Zero()]; + this._debugLines[boneNum] = points; + } + childBone.getAbsolutePositionToRef(this.mesh, points[0]); + parentBone.getAbsolutePositionToRef(this.mesh, points[1]); + boneNum++; + } + }; + SkeletonViewer.prototype.update = function () { + if (this.autoUpdateBonesMatrices) { + this.skeleton.computeAbsoluteTransforms(); + } + if (this.skeleton.bones[0].length === undefined) { + this._getLinesForBonesNoLength(this.skeleton.bones, this.mesh.getWorldMatrix()); + } + else { + this._getLinesForBonesWithLength(this.skeleton.bones, this.mesh.getWorldMatrix()); + } + if (!this._debugMesh) { + this._debugMesh = BABYLON.MeshBuilder.CreateLineSystem(null, { lines: this._debugLines, updatable: true }, this._scene); + this._debugMesh.renderingGroupId = this.renderingGroupId; + } + else { + BABYLON.MeshBuilder.CreateLineSystem(null, { lines: this._debugLines, updatable: true, instance: this._debugMesh }, this._scene); + } + this._debugMesh.color = this.color; + }; + SkeletonViewer.prototype.dispose = function () { + if (this._debugMesh) { + this.isEnabled = false; + this._debugMesh.dispose(); + this._debugMesh = null; + } + }; + return SkeletonViewer; + }()); + Debug.SkeletonViewer = SkeletonViewer; + })(Debug = BABYLON.Debug || (BABYLON.Debug = {})); +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.skeletonViewer.js.map + +var BABYLON; +(function (BABYLON) { + var Debug; + (function (Debug) { + var AxesViewer = (function () { + function AxesViewer(scene, scaleLines) { + if (scaleLines === void 0) { scaleLines = 1; } + this._xline = [BABYLON.Vector3.Zero(), BABYLON.Vector3.Zero()]; + this._yline = [BABYLON.Vector3.Zero(), BABYLON.Vector3.Zero()]; + this._zline = [BABYLON.Vector3.Zero(), BABYLON.Vector3.Zero()]; + this.scaleLines = 1; + this.scaleLines = scaleLines; + this._xmesh = BABYLON.Mesh.CreateLines("xline", this._xline, scene, true); + this._ymesh = BABYLON.Mesh.CreateLines("yline", this._yline, scene, true); + this._zmesh = BABYLON.Mesh.CreateLines("zline", this._zline, scene, true); + this._xmesh.renderingGroupId = 2; + this._ymesh.renderingGroupId = 2; + this._zmesh.renderingGroupId = 2; + this._xmesh.material.checkReadyOnlyOnce = true; + this._xmesh.color = new BABYLON.Color3(1, 0, 0); + this._ymesh.material.checkReadyOnlyOnce = true; + this._ymesh.color = new BABYLON.Color3(0, 1, 0); + this._zmesh.material.checkReadyOnlyOnce = true; + this._zmesh.color = new BABYLON.Color3(0, 0, 1); + this.scene = scene; + } + AxesViewer.prototype.update = function (position, xaxis, yaxis, zaxis) { + var scaleLines = this.scaleLines; + var point1 = this._xline[0]; + var point2 = this._xline[1]; + point1.x = position.x; + point1.y = position.y; + point1.z = position.z; + point2.x = point1.x + xaxis.x * scaleLines; + point2.y = point1.y + xaxis.y * scaleLines; + point2.z = point1.z + xaxis.z * scaleLines; + BABYLON.Mesh.CreateLines(null, this._xline, null, null, this._xmesh); + point1 = this._yline[0]; + point2 = this._yline[1]; + point1.x = position.x; + point1.y = position.y; + point1.z = position.z; + point2.x = point1.x + yaxis.x * scaleLines; + point2.y = point1.y + yaxis.y * scaleLines; + point2.z = point1.z + yaxis.z * scaleLines; + BABYLON.Mesh.CreateLines(null, this._yline, null, null, this._ymesh); + point1 = this._zline[0]; + point2 = this._zline[1]; + point1.x = position.x; + point1.y = position.y; + point1.z = position.z; + point2.x = point1.x + zaxis.x * scaleLines; + point2.y = point1.y + zaxis.y * scaleLines; + point2.z = point1.z + zaxis.z * scaleLines; + BABYLON.Mesh.CreateLines(null, this._zline, null, null, this._zmesh); + }; + AxesViewer.prototype.dispose = function () { + if (this._xmesh) { + this._xmesh.dispose(); + this._ymesh.dispose(); + this._zmesh.dispose(); + this._xmesh = null; + this._ymesh = null; + this._zmesh = null; + this._xline = null; + this._yline = null; + this._zline = null; + this.scene = null; + } + }; + return AxesViewer; + }()); + Debug.AxesViewer = AxesViewer; + })(Debug = BABYLON.Debug || (BABYLON.Debug = {})); +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.axesViewer.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var Debug; + (function (Debug) { + var BoneAxesViewer = (function (_super) { + __extends(BoneAxesViewer, _super); + function BoneAxesViewer(scene, bone, mesh, scaleLines) { + if (scaleLines === void 0) { scaleLines = 1; } + _super.call(this, scene, scaleLines); + this.pos = BABYLON.Vector3.Zero(); + this.xaxis = BABYLON.Vector3.Zero(); + this.yaxis = BABYLON.Vector3.Zero(); + this.zaxis = BABYLON.Vector3.Zero(); + this.mesh = mesh; + this.bone = bone; + } + BoneAxesViewer.prototype.update = function () { + var bone = this.bone; + bone.getAbsolutePositionToRef(this.mesh, this.pos); + bone.getDirectionToRef(BABYLON.Axis.X, this.mesh, this.xaxis); + bone.getDirectionToRef(BABYLON.Axis.Y, this.mesh, this.yaxis); + bone.getDirectionToRef(BABYLON.Axis.Z, this.mesh, this.zaxis); + _super.prototype.update.call(this, this.pos, this.xaxis, this.yaxis, this.zaxis); + }; + BoneAxesViewer.prototype.dispose = function () { + if (this.pos) { + this.pos = null; + this.xaxis = null; + this.yaxis = null; + this.zaxis = null; + this.mesh = null; + this.bone = null; + _super.prototype.dispose.call(this); + } + }; + return BoneAxesViewer; + }(Debug.AxesViewer)); + Debug.BoneAxesViewer = BoneAxesViewer; + })(Debug = BABYLON.Debug || (BABYLON.Debug = {})); +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.boneAxesViewer.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + /** + * This represents a color grading texture. This acts as a lookup table LUT, useful during post process + * It can help converting any input color in a desired output one. This can then be used to create effects + * from sepia, black and white to sixties or futuristic rendering... + * + * The only supported format is currently 3dl. + * More information on LUT: https://en.wikipedia.org/wiki/3D_lookup_table/ + */ + var ColorGradingTexture = (function (_super) { + __extends(ColorGradingTexture, _super); + /** + * Instantiates a ColorGradingTexture from the following parameters. + * + * @param url The location of the color gradind data (currently only supporting 3dl) + * @param scene The scene the texture will be used in + */ + function ColorGradingTexture(url, scene) { + _super.call(this, scene); + if (!url) { + return; + } + this._textureMatrix = BABYLON.Matrix.Identity(); + this.name = url; + this.url = url; + this.hasAlpha = false; + this.isCube = false; + this.wrapU = BABYLON.Texture.CLAMP_ADDRESSMODE; + this.wrapV = BABYLON.Texture.CLAMP_ADDRESSMODE; + this.anisotropicFilteringLevel = 1; + this._texture = this._getFromCache(url, true); + if (!this._texture) { + if (!scene.useDelayedTextureLoading) { + this.loadTexture(); + } + else { + this.delayLoadState = BABYLON.Engine.DELAYLOADSTATE_NOTLOADED; + } + } + } + /** + * Returns the texture matrix used in most of the material. + * This is not used in color grading but keep for troubleshooting purpose (easily swap diffuse by colorgrading to look in). + */ + ColorGradingTexture.prototype.getTextureMatrix = function () { + return this._textureMatrix; + }; + /** + * Occurs when the file being loaded is a .3dl LUT file. + */ + ColorGradingTexture.prototype.load3dlTexture = function () { + var _this = this; + var mipLevels = 0; + var floatArrayView = null; + var texture = this.getScene().getEngine().createRawTexture(null, 1, 1, BABYLON.Engine.TEXTUREFORMAT_RGBA, false, false, BABYLON.Texture.BILINEAR_SAMPLINGMODE); + this._texture = texture; + var callback = function (text) { + var data; + var tempData; + var line; + var lines = text.split('\n'); + var size = 0, pixelIndexW = 0, pixelIndexH = 0, pixelIndexSlice = 0; + var maxColor = 0; + for (var i = 0; i < lines.length; i++) { + line = lines[i]; + if (!ColorGradingTexture._noneEmptyLineRegex.test(line)) + continue; + if (line.indexOf('#') === 0) + continue; + var words = line.split(" "); + if (size === 0) { + // Number of space + one + size = words.length; + data = new Uint8Array(size * size * size * 4); // volume texture of side size and rgb 8 + tempData = new Float32Array(size * size * size * 4); + continue; + } + if (size != 0) { + var r = Math.max(parseInt(words[0]), 0); + var g = Math.max(parseInt(words[1]), 0); + var b = Math.max(parseInt(words[2]), 0); + maxColor = Math.max(r, maxColor); + maxColor = Math.max(g, maxColor); + maxColor = Math.max(b, maxColor); + var pixelStorageIndex = (pixelIndexW + pixelIndexSlice * size + pixelIndexH * size * size) * 4; + tempData[pixelStorageIndex + 0] = r; + tempData[pixelStorageIndex + 1] = g; + tempData[pixelStorageIndex + 2] = b; + tempData[pixelStorageIndex + 3] = 0; + pixelIndexSlice++; + if (pixelIndexSlice % size == 0) { + pixelIndexH++; + pixelIndexSlice = 0; + if (pixelIndexH % size == 0) { + pixelIndexW++; + pixelIndexH = 0; + } + } + } + } + for (var i = 0; i < tempData.length; i++) { + var value = tempData[i]; + data[i] = (value / maxColor * 255); + } + _this.getScene().getEngine().updateTextureSize(texture, size * size, size); + _this.getScene().getEngine().updateRawTexture(texture, data, BABYLON.Engine.TEXTUREFORMAT_RGBA, false); + }; + BABYLON.Tools.LoadFile(this.url, callback); + return this._texture; + }; + /** + * Starts the loading process of the texture. + */ + ColorGradingTexture.prototype.loadTexture = function () { + if (this.url && this.url.toLocaleLowerCase().indexOf(".3dl") == (this.url.length - 4)) { + this.load3dlTexture(); + } + }; + /** + * Clones the color gradind texture. + */ + ColorGradingTexture.prototype.clone = function () { + var newTexture = new ColorGradingTexture(this.url, this.getScene()); + // Base texture + newTexture.level = this.level; + return newTexture; + }; + /** + * Called during delayed load for textures. + */ + ColorGradingTexture.prototype.delayLoad = function () { + if (this.delayLoadState !== BABYLON.Engine.DELAYLOADSTATE_NOTLOADED) { + return; + } + this.delayLoadState = BABYLON.Engine.DELAYLOADSTATE_LOADED; + this._texture = this._getFromCache(this.url, true); + if (!this._texture) { + this.loadTexture(); + } + }; + /** + * Binds the color grading to the shader. + * @param colorGrading The texture to bind + * @param effect The effect to bind to + */ + ColorGradingTexture.Bind = function (colorGrading, effect) { + effect.setTexture("cameraColorGrading2DSampler", colorGrading); + var x = colorGrading.level; // Texture Level + var y = colorGrading.getSize().height; // Texture Size example with 8 + var z = y - 1.0; // SizeMinusOne 8 - 1 + var w = 1 / y; // Space of 1 slice 1 / 8 + effect.setFloat4("vCameraColorGradingInfos", x, y, z, w); + var slicePixelSizeU = w / y; // Space of 1 pixel in U direction, e.g. 1/64 + var slicePixelSizeV = w; // Space of 1 pixel in V direction, e.g. 1/8 // Space of 1 pixel in V direction, e.g. 1/8 + var x2 = z * slicePixelSizeU; // Extent of lookup range in U for a single slice so that range corresponds to (size-1) texels, for example 7/64 + var y2 = z / y; // Extent of lookup range in V for a single slice so that range corresponds to (size-1) texels, for example 7/8 + var z2 = 0.5 * slicePixelSizeU; // Offset of lookup range in U to align sample position with texel centre, for example 0.5/64 + var w2 = 0.5 * slicePixelSizeV; // Offset of lookup range in V to align sample position with texel centre, for example 0.5/8 + effect.setFloat4("vCameraColorGradingScaleOffset", x2, y2, z2, w2); + }; + /** + * Prepare the list of uniforms associated with the ColorGrading effects. + * @param uniformsList The list of uniforms used in the effect + * @param samplersList The list of samplers used in the effect + */ + ColorGradingTexture.PrepareUniformsAndSamplers = function (uniformsList, samplersList) { + uniformsList.push("vCameraColorGradingInfos", "vCameraColorGradingScaleOffset"); + samplersList.push("cameraColorGrading2DSampler"); + }; + /** + * Parses a color grading texture serialized by Babylon. + * @param parsedTexture The texture information being parsedTexture + * @param scene The scene to load the texture in + * @param rootUrl The root url of the data assets to load + * @return A color gradind texture + */ + ColorGradingTexture.Parse = function (parsedTexture, scene, rootUrl) { + var texture = null; + if (parsedTexture.name && !parsedTexture.isRenderTarget) { + texture = new BABYLON.ColorGradingTexture(parsedTexture.name, scene); + texture.name = parsedTexture.name; + texture.level = parsedTexture.level; + } + return texture; + }; + /** + * Serializes the LUT texture to json format. + */ + ColorGradingTexture.prototype.serialize = function () { + if (!this.name) { + return null; + } + var serializationObject = {}; + serializationObject.name = this.name; + serializationObject.level = this.level; + serializationObject.customType = "BABYLON.ColorGradingTexture"; + return serializationObject; + }; + /** + * Empty line regex stored for GC. + */ + ColorGradingTexture._noneEmptyLineRegex = /\S+/; + return ColorGradingTexture; + }(BABYLON.BaseTexture)); + BABYLON.ColorGradingTexture = ColorGradingTexture; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.colorGradingTexture.js.map + + +var BABYLON; +(function (BABYLON) { + /** + * The color grading curves provide additional color adjustmnent that is applied after any color grading transform (3D LUT). + * They allow basic adjustment of saturation and small exposure adjustments, along with color filter tinting to provide white balance adjustment or more stylistic effects. + * These are similar to controls found in many professional imaging or colorist software. The global controls are applied to the entire image. For advanced tuning, extra controls are provided to adjust the shadow, midtone and highlight areas of the image; + * corresponding to low luminance, medium luminance, and high luminance areas respectively. + */ + var ColorCurves = (function () { + function ColorCurves() { + this._dirty = true; + this._tempColor = new BABYLON.Color4(0, 0, 0, 0); + this._globalCurve = new BABYLON.Color4(0, 0, 0, 0); + this._highlightsCurve = new BABYLON.Color4(0, 0, 0, 0); + this._midtonesCurve = new BABYLON.Color4(0, 0, 0, 0); + this._shadowsCurve = new BABYLON.Color4(0, 0, 0, 0); + this._positiveCurve = new BABYLON.Color4(0, 0, 0, 0); + this._negativeCurve = new BABYLON.Color4(0, 0, 0, 0); + this._globalHue = 30; + this._globalDensity = 0; + this._globalSaturation = 0; + this._globalExposure = 0; + this._highlightsHue = 30; + this._highlightsDensity = 0; + this._highlightsSaturation = 0; + this._highlightsExposure = 0; + this._midtonesHue = 30; + this._midtonesDensity = 0; + this._midtonesSaturation = 0; + this._midtonesExposure = 0; + this._shadowsHue = 30; + this._shadowsDensity = 0; + this._shadowsSaturation = 0; + this._shadowsExposure = 0; + } + Object.defineProperty(ColorCurves.prototype, "GlobalHue", { + /** + * Gets the global Hue value. + * The hue value is a standard HSB hue in the range [0,360] where 0=red, 120=green and 240=blue. The default value is 30 degrees (orange). + */ + get: function () { + return this._globalHue; + }, + /** + * Sets the global Hue value. + * The hue value is a standard HSB hue in the range [0,360] where 0=red, 120=green and 240=blue. The default value is 30 degrees (orange). + */ + set: function (value) { + this._globalHue = value; + this._dirty = true; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ColorCurves.prototype, "GlobalDensity", { + /** + * Gets the global Density value. + * The density value is in range [-100,+100] where 0 means the color filter has no effect and +100 means the color filter has maximum effect. + * Values less than zero provide a filter of opposite hue. + */ + get: function () { + return this._globalDensity; + }, + /** + * Sets the global Density value. + * The density value is in range [-100,+100] where 0 means the color filter has no effect and +100 means the color filter has maximum effect. + * Values less than zero provide a filter of opposite hue. + */ + set: function (value) { + this._globalDensity = value; + this._dirty = true; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ColorCurves.prototype, "GlobalSaturation", { + /** + * Gets the global Saturation value. + * This is an adjustment value in the range [-100,+100], where the default value of 0.0 makes no adjustment, positive values increase saturation and negative values decrease saturation. + */ + get: function () { + return this._globalSaturation; + }, + /** + * Sets the global Saturation value. + * This is an adjustment value in the range [-100,+100], where the default value of 0.0 makes no adjustment, positive values increase saturation and negative values decrease saturation. + */ + set: function (value) { + this._globalSaturation = value; + this._dirty = true; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ColorCurves.prototype, "HighlightsHue", { + /** + * Gets the highlights Hue value. + * The hue value is a standard HSB hue in the range [0,360] where 0=red, 120=green and 240=blue. The default value is 30 degrees (orange). + */ + get: function () { + return this._highlightsHue; + }, + /** + * Sets the highlights Hue value. + * The hue value is a standard HSB hue in the range [0,360] where 0=red, 120=green and 240=blue. The default value is 30 degrees (orange). + */ + set: function (value) { + this._highlightsHue = value; + this._dirty = true; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ColorCurves.prototype, "HighlightsDensity", { + /** + * Gets the highlights Density value. + * The density value is in range [-100,+100] where 0 means the color filter has no effect and +100 means the color filter has maximum effect. + * Values less than zero provide a filter of opposite hue. + */ + get: function () { + return this._highlightsDensity; + }, + /** + * Sets the highlights Density value. + * The density value is in range [-100,+100] where 0 means the color filter has no effect and +100 means the color filter has maximum effect. + * Values less than zero provide a filter of opposite hue. + */ + set: function (value) { + this._highlightsDensity = value; + this._dirty = true; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ColorCurves.prototype, "HighlightsSaturation", { + /** + * Gets the highlights Saturation value. + * This is an adjustment value in the range [-100,+100], where the default value of 0.0 makes no adjustment, positive values increase saturation and negative values decrease saturation. + */ + get: function () { + return this._highlightsSaturation; + }, + /** + * Sets the highlights Saturation value. + * This is an adjustment value in the range [-100,+100], where the default value of 0.0 makes no adjustment, positive values increase saturation and negative values decrease saturation. + */ + set: function (value) { + this._highlightsSaturation = value; + this._dirty = true; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ColorCurves.prototype, "HighlightsExposure", { + /** + * Gets the highlights Exposure value. + * This is an adjustment value in the range [-100,+100], where the default value of 0.0 makes no adjustment, positive values increase exposure and negative values decrease exposure. + */ + get: function () { + return this._highlightsExposure; + }, + /** + * Sets the highlights Exposure value. + * This is an adjustment value in the range [-100,+100], where the default value of 0.0 makes no adjustment, positive values increase exposure and negative values decrease exposure. + */ + set: function (value) { + this._highlightsExposure = value; + this._dirty = true; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ColorCurves.prototype, "MidtonesHue", { + /** + * Gets the midtones Hue value. + * The hue value is a standard HSB hue in the range [0,360] where 0=red, 120=green and 240=blue. The default value is 30 degrees (orange). + */ + get: function () { + return this._midtonesHue; + }, + /** + * Sets the midtones Hue value. + * The hue value is a standard HSB hue in the range [0,360] where 0=red, 120=green and 240=blue. The default value is 30 degrees (orange). + */ + set: function (value) { + this._midtonesHue = value; + this._dirty = true; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ColorCurves.prototype, "MidtonesDensity", { + /** + * Gets the midtones Density value. + * The density value is in range [-100,+100] where 0 means the color filter has no effect and +100 means the color filter has maximum effect. + * Values less than zero provide a filter of opposite hue. + */ + get: function () { + return this._midtonesDensity; + }, + /** + * Sets the midtones Density value. + * The density value is in range [-100,+100] where 0 means the color filter has no effect and +100 means the color filter has maximum effect. + * Values less than zero provide a filter of opposite hue. + */ + set: function (value) { + this._midtonesDensity = value; + this._dirty = true; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ColorCurves.prototype, "MidtonesSaturation", { + /** + * Gets the midtones Saturation value. + * This is an adjustment value in the range [-100,+100], where the default value of 0.0 makes no adjustment, positive values increase saturation and negative values decrease saturation. + */ + get: function () { + return this._midtonesSaturation; + }, + /** + * Sets the midtones Saturation value. + * This is an adjustment value in the range [-100,+100], where the default value of 0.0 makes no adjustment, positive values increase saturation and negative values decrease saturation. + */ + set: function (value) { + this._midtonesSaturation = value; + this._dirty = true; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ColorCurves.prototype, "MidtonesExposure", { + /** + * Gets the midtones Exposure value. + * This is an adjustment value in the range [-100,+100], where the default value of 0.0 makes no adjustment, positive values increase exposure and negative values decrease exposure. + */ + get: function () { + return this._midtonesExposure; + }, + /** + * Sets the midtones Exposure value. + * This is an adjustment value in the range [-100,+100], where the default value of 0.0 makes no adjustment, positive values increase exposure and negative values decrease exposure. + */ + set: function (value) { + this._midtonesExposure = value; + this._dirty = true; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ColorCurves.prototype, "ShadowsHue", { + /** + * Gets the shadows Hue value. + * The hue value is a standard HSB hue in the range [0,360] where 0=red, 120=green and 240=blue. The default value is 30 degrees (orange). + */ + get: function () { + return this._shadowsHue; + }, + /** + * Sets the shadows Hue value. + * The hue value is a standard HSB hue in the range [0,360] where 0=red, 120=green and 240=blue. The default value is 30 degrees (orange). + */ + set: function (value) { + this._shadowsHue = value; + this._dirty = true; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ColorCurves.prototype, "ShadowsDensity", { + /** + * Gets the shadows Density value. + * The density value is in range [-100,+100] where 0 means the color filter has no effect and +100 means the color filter has maximum effect. + * Values less than zero provide a filter of opposite hue. + */ + get: function () { + return this._shadowsDensity; + }, + /** + * Sets the shadows Density value. + * The density value is in range [-100,+100] where 0 means the color filter has no effect and +100 means the color filter has maximum effect. + * Values less than zero provide a filter of opposite hue. + */ + set: function (value) { + this._shadowsDensity = value; + this._dirty = true; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ColorCurves.prototype, "ShadowsSaturation", { + /** + * Gets the shadows Saturation value. + * This is an adjustment value in the range [-100,+100], where the default value of 0.0 makes no adjustment, positive values increase saturation and negative values decrease saturation. + */ + get: function () { + return this._shadowsSaturation; + }, + /** + * Sets the shadows Saturation value. + * This is an adjustment value in the range [-100,+100], where the default value of 0.0 makes no adjustment, positive values increase saturation and negative values decrease saturation. + */ + set: function (value) { + this._shadowsSaturation = value; + this._dirty = true; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(ColorCurves.prototype, "ShadowsExposure", { + /** + * Gets the shadows Exposure value. + * This is an adjustment value in the range [-100,+100], where the default value of 0.0 makes no adjustment, positive values increase exposure and negative values decrease exposure. + */ + get: function () { + return this._shadowsExposure; + }, + /** + * Sets the shadows Exposure value. + * This is an adjustment value in the range [-100,+100], where the default value of 0.0 makes no adjustment, positive values increase exposure and negative values decrease exposure. + */ + set: function (value) { + this._shadowsExposure = value; + this._dirty = true; + }, + enumerable: true, + configurable: true + }); + /** + * Binds the color curves to the shader. + * @param colorCurves The color curve to bind + * @param effect The effect to bind to + */ + ColorCurves.Bind = function (colorCurves, effect) { + if (colorCurves._dirty) { + colorCurves._dirty = false; + // Fill in global info. + colorCurves.getColorGradingDataToRef(colorCurves._globalHue, colorCurves._globalDensity, colorCurves._globalSaturation, colorCurves._globalExposure, colorCurves._globalCurve); + // Compute highlights info. + colorCurves.getColorGradingDataToRef(colorCurves._highlightsHue, colorCurves._highlightsDensity, colorCurves._highlightsSaturation, colorCurves._highlightsExposure, colorCurves._tempColor); + colorCurves._tempColor.multiplyToRef(colorCurves._globalCurve, colorCurves._highlightsCurve); + // Compute midtones info. + colorCurves.getColorGradingDataToRef(colorCurves._midtonesHue, colorCurves._midtonesDensity, colorCurves._midtonesSaturation, colorCurves._midtonesExposure, colorCurves._tempColor); + colorCurves._tempColor.multiplyToRef(colorCurves._globalCurve, colorCurves._midtonesCurve); + // Compute shadows info. + colorCurves.getColorGradingDataToRef(colorCurves._shadowsHue, colorCurves._shadowsDensity, colorCurves._shadowsSaturation, colorCurves._shadowsExposure, colorCurves._tempColor); + colorCurves._tempColor.multiplyToRef(colorCurves._globalCurve, colorCurves._shadowsCurve); + // Compute deltas (neutral is midtones). + colorCurves._highlightsCurve.subtractToRef(colorCurves._midtonesCurve, colorCurves._positiveCurve); + colorCurves._midtonesCurve.subtractToRef(colorCurves._shadowsCurve, colorCurves._negativeCurve); + } + effect.setFloat4("vCameraColorCurvePositive", colorCurves._positiveCurve.r, colorCurves._positiveCurve.g, colorCurves._positiveCurve.b, colorCurves._positiveCurve.a); + effect.setFloat4("vCameraColorCurveNeutral", colorCurves._midtonesCurve.r, colorCurves._midtonesCurve.g, colorCurves._midtonesCurve.b, colorCurves._midtonesCurve.a); + effect.setFloat4("vCameraColorCurveNegative", colorCurves._negativeCurve.r, colorCurves._negativeCurve.g, colorCurves._negativeCurve.b, colorCurves._negativeCurve.a); + }; + /** + * Prepare the list of uniforms associated with the ColorCurves effects. + * @param uniformsList The list of uniforms used in the effect + */ + ColorCurves.PrepareUniforms = function (uniformsList) { + uniformsList.push("vCameraColorCurveNeutral", "vCameraColorCurvePositive", "vCameraColorCurveNegative"); + }; + /** + * Returns color grading data based on a hue, density, saturation and exposure value. + * @param filterHue The hue of the color filter. + * @param filterDensity The density of the color filter. + * @param saturation The saturation. + * @param exposure The exposure. + * @param result The result data container. + */ + ColorCurves.prototype.getColorGradingDataToRef = function (hue, density, saturation, exposure, result) { + if (hue == null) { + return; + } + hue = ColorCurves.clamp(hue, 0, 360); + density = ColorCurves.clamp(density, -100, 100); + saturation = ColorCurves.clamp(saturation, -100, 100); + exposure = ColorCurves.clamp(exposure, -100, 100); + // Remap the slider/config filter density with non-linear mapping and also scale by half + // so that the maximum filter density is only 50% control. This provides fine control + // for small values and reasonable range. + density = ColorCurves.applyColorGradingSliderNonlinear(density); + density *= 0.5; + exposure = ColorCurves.applyColorGradingSliderNonlinear(exposure); + if (density < 0) { + density *= -1; + hue = (hue + 180) % 360; + } + ColorCurves.fromHSBToRef(hue, density, 50 + 0.25 * exposure, result); + result.scaleToRef(2, result); + result.a = 1 + 0.01 * saturation; + }; + /** + * Takes an input slider value and returns an adjusted value that provides extra control near the centre. + * @param value The input slider value in range [-100,100]. + * @returns Adjusted value. + */ + ColorCurves.applyColorGradingSliderNonlinear = function (value) { + value /= 100; + var x = Math.abs(value); + x = Math.pow(x, 2); + if (value < 0) { + x *= -1; + } + x *= 100; + return x; + }; + /** + * Returns an RGBA Color4 based on Hue, Saturation and Brightness (also referred to as value, HSV). + * @param hue The hue (H) input. + * @param saturation The saturation (S) input. + * @param brightness The brightness (B) input. + * @result An RGBA color represented as Vector4. + */ + ColorCurves.fromHSBToRef = function (hue, saturation, brightness, result) { + var h = ColorCurves.clamp(hue, 0, 360); + var s = ColorCurves.clamp(saturation / 100, 0, 1); + var v = ColorCurves.clamp(brightness / 100, 0, 1); + if (s === 0) { + result.r = v; + result.g = v; + result.b = v; + } + else { + // sector 0 to 5 + h /= 60; + var i = Math.floor(h); + // fractional part of h + var f = h - i; + var p = v * (1 - s); + var q = v * (1 - s * f); + var t = v * (1 - s * (1 - f)); + switch (i) { + case 0: + result.r = v; + result.g = t; + result.b = p; + break; + case 1: + result.r = q; + result.g = v; + result.b = p; + break; + case 2: + result.r = p; + result.g = v; + result.b = t; + break; + case 3: + result.r = p; + result.g = q; + result.b = v; + break; + case 4: + result.r = t; + result.g = p; + result.b = v; + break; + default: + result.r = v; + result.g = p; + result.b = q; + break; + } + } + result.a = 1; + }; + /** + * Returns a value clamped between min and max + * @param value The value to clamp + * @param min The minimum of value + * @param max The maximum of value + * @returns The clamped value. + */ + ColorCurves.clamp = function (value, min, max) { + return Math.min(Math.max(value, min), max); + }; + /** + * Clones the current color curve instance. + * @return The cloned curves + */ + ColorCurves.prototype.clone = function () { + return BABYLON.SerializationHelper.Clone(function () { return new ColorCurves(); }, this); + }; + /** + * Serializes the current color curve instance to a json representation. + * @return a JSON representation + */ + ColorCurves.prototype.serialize = function () { + return BABYLON.SerializationHelper.Serialize(this); + }; + /** + * Parses the color curve from a json representation. + * @param source the JSON source to parse + * @return The parsed curves + */ + ColorCurves.Parse = function (source) { + return BABYLON.SerializationHelper.Parse(function () { return new ColorCurves(); }, source, null, null); + }; + __decorate([ + BABYLON.serialize() + ], ColorCurves.prototype, "_globalHue", void 0); + __decorate([ + BABYLON.serialize() + ], ColorCurves.prototype, "_globalDensity", void 0); + __decorate([ + BABYLON.serialize() + ], ColorCurves.prototype, "_globalSaturation", void 0); + __decorate([ + BABYLON.serialize() + ], ColorCurves.prototype, "_globalExposure", void 0); + __decorate([ + BABYLON.serialize() + ], ColorCurves.prototype, "_highlightsHue", void 0); + __decorate([ + BABYLON.serialize() + ], ColorCurves.prototype, "_highlightsDensity", void 0); + __decorate([ + BABYLON.serialize() + ], ColorCurves.prototype, "_highlightsSaturation", void 0); + __decorate([ + BABYLON.serialize() + ], ColorCurves.prototype, "_highlightsExposure", void 0); + __decorate([ + BABYLON.serialize() + ], ColorCurves.prototype, "_midtonesHue", void 0); + __decorate([ + BABYLON.serialize() + ], ColorCurves.prototype, "_midtonesDensity", void 0); + __decorate([ + BABYLON.serialize() + ], ColorCurves.prototype, "_midtonesSaturation", void 0); + __decorate([ + BABYLON.serialize() + ], ColorCurves.prototype, "_midtonesExposure", void 0); + return ColorCurves; + }()); + BABYLON.ColorCurves = ColorCurves; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.colorCurves.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var PBRMaterialDefines = (function (_super) { + __extends(PBRMaterialDefines, _super); + function PBRMaterialDefines() { + _super.call(this); + this.ALBEDO = false; + this.AMBIENT = false; + this.OPACITY = false; + this.OPACITYRGB = false; + this.REFLECTION = false; + this.EMISSIVE = false; + this.REFLECTIVITY = false; + this.BUMP = false; + this.PARALLAX = false; + this.PARALLAXOCCLUSION = false; + this.SPECULAROVERALPHA = false; + this.CLIPPLANE = false; + this.ALPHATEST = false; + this.ALPHAFROMALBEDO = false; + this.POINTSIZE = false; + this.FOG = false; + this.SPECULARTERM = false; + this.OPACITYFRESNEL = false; + this.EMISSIVEFRESNEL = false; + this.FRESNEL = false; + this.NORMAL = false; + this.UV1 = false; + this.UV2 = false; + this.VERTEXCOLOR = false; + this.VERTEXALPHA = false; + this.NUM_BONE_INFLUENCERS = 0; + this.BonesPerMesh = 0; + this.INSTANCES = false; + this.MICROSURFACEFROMREFLECTIVITYMAP = false; + this.MICROSURFACEAUTOMATIC = false; + this.EMISSIVEASILLUMINATION = false; + this.LINKEMISSIVEWITHALBEDO = false; + this.LIGHTMAP = false; + this.USELIGHTMAPASSHADOWMAP = false; + this.REFLECTIONMAP_3D = false; + this.REFLECTIONMAP_SPHERICAL = false; + this.REFLECTIONMAP_PLANAR = false; + this.REFLECTIONMAP_CUBIC = false; + this.REFLECTIONMAP_PROJECTION = false; + this.REFLECTIONMAP_SKYBOX = false; + this.REFLECTIONMAP_EXPLICIT = false; + this.REFLECTIONMAP_EQUIRECTANGULAR = false; + this.INVERTCUBICMAP = false; + this.LOGARITHMICDEPTH = false; + this.CAMERATONEMAP = false; + this.CAMERACONTRAST = false; + this.CAMERACOLORGRADING = false; + this.CAMERACOLORCURVES = false; + this.OVERLOADEDVALUES = false; + this.OVERLOADEDSHADOWVALUES = false; + this.USESPHERICALFROMREFLECTIONMAP = false; + this.REFRACTION = false; + this.REFRACTIONMAP_3D = false; + this.LINKREFRACTIONTOTRANSPARENCY = false; + this.REFRACTIONMAPINLINEARSPACE = false; + this.LODBASEDMICROSFURACE = false; + this.USEPHYSICALLIGHTFALLOFF = false; + this.RADIANCEOVERALPHA = false; + this.USEPMREMREFLECTION = false; + this.USEPMREMREFRACTION = false; + this.OPENGLNORMALMAP = false; + this.INVERTNORMALMAPX = false; + this.INVERTNORMALMAPY = false; + this.SHADOWFULLFLOAT = false; + this.METALLICWORKFLOW = false; + this.METALLICROUGHNESSGSTOREINALPHA = false; + this.METALLICROUGHNESSGSTOREINGREEN = false; + this.rebuild(); + } + return PBRMaterialDefines; + }(BABYLON.MaterialDefines)); + /** + * The Physically based material of BJS. + * + * This offers the main features of a standard PBR material. + * For more information, please refer to the documentation : + * http://doc.babylonjs.com/extensions/Physically_Based_Rendering + */ + var PBRMaterial = (function (_super) { + __extends(PBRMaterial, _super); + /** + * Instantiates a new PBRMaterial instance. + * + * @param name The material name + * @param scene The scene the material will be use in. + */ + function PBRMaterial(name, scene) { + var _this = this; + _super.call(this, name, scene); + /** + * Intensity of the direct lights e.g. the four lights available in your scene. + * This impacts both the direct diffuse and specular highlights. + */ + this.directIntensity = 1.0; + /** + * Intensity of the emissive part of the material. + * This helps controlling the emissive effect without modifying the emissive color. + */ + this.emissiveIntensity = 1.0; + /** + * Intensity of the environment e.g. how much the environment will light the object + * either through harmonics for rough material or through the refelction for shiny ones. + */ + this.environmentIntensity = 1.0; + /** + * This is a special control allowing the reduction of the specular highlights coming from the + * four lights of the scene. Those highlights may not be needed in full environment lighting. + */ + this.specularIntensity = 1.0; + this._lightingInfos = new BABYLON.Vector4(this.directIntensity, this.emissiveIntensity, this.environmentIntensity, this.specularIntensity); + /** + * Debug Control allowing disabling the bump map on this material. + */ + this.disableBumpMap = false; + /** + * Debug Control helping enforcing or dropping the darkness of shadows. + * 1.0 means the shadows have their normal darkness, 0.0 means the shadows are not visible. + */ + this.overloadedShadowIntensity = 1.0; + /** + * Debug Control helping dropping the shading effect coming from the diffuse lighting. + * 1.0 means the shade have their normal impact, 0.0 means no shading at all. + */ + this.overloadedShadeIntensity = 1.0; + this._overloadedShadowInfos = new BABYLON.Vector4(this.overloadedShadowIntensity, this.overloadedShadeIntensity, 0.0, 0.0); + /** + * The camera exposure used on this material. + * This property is here and not in the camera to allow controlling exposure without full screen post process. + * This corresponds to a photographic exposure. + */ + this.cameraExposure = 1.0; + /** + * The camera contrast used on this material. + * This property is here and not in the camera to allow controlling contrast without full screen post process. + */ + this.cameraContrast = 1.0; + /** + * Color Grading 2D Lookup Texture. + * This allows special effects like sepia, black and white to sixties rendering style. + */ + this.cameraColorGradingTexture = null; + /** + * The color grading curves provide additional color adjustmnent that is applied after any color grading transform (3D LUT). + * They allow basic adjustment of saturation and small exposure adjustments, along with color filter tinting to provide white balance adjustment or more stylistic effects. + * These are similar to controls found in many professional imaging or colorist software. The global controls are applied to the entire image. For advanced tuning, extra controls are provided to adjust the shadow, midtone and highlight areas of the image; + * corresponding to low luminance, medium luminance, and high luminance areas respectively. + */ + this.cameraColorCurves = null; + this._cameraInfos = new BABYLON.Vector4(1.0, 1.0, 0.0, 0.0); + this._microsurfaceTextureLods = new BABYLON.Vector2(0.0, 0.0); + /** + * Debug Control allowing to overload the ambient color. + * This as to be use with the overloadedAmbientIntensity parameter. + */ + this.overloadedAmbient = BABYLON.Color3.White(); + /** + * Debug Control indicating how much the overloaded ambient color is used against the default one. + */ + this.overloadedAmbientIntensity = 0.0; + /** + * Debug Control allowing to overload the albedo color. + * This as to be use with the overloadedAlbedoIntensity parameter. + */ + this.overloadedAlbedo = BABYLON.Color3.White(); + /** + * Debug Control indicating how much the overloaded albedo color is used against the default one. + */ + this.overloadedAlbedoIntensity = 0.0; + /** + * Debug Control allowing to overload the reflectivity color. + * This as to be use with the overloadedReflectivityIntensity parameter. + */ + this.overloadedReflectivity = new BABYLON.Color3(0.3, 0.3, 0.3); + /** + * Debug Control indicating how much the overloaded reflectivity color is used against the default one. + */ + this.overloadedReflectivityIntensity = 0.0; + /** + * Debug Control allowing to overload the emissive color. + * This as to be use with the overloadedEmissiveIntensity parameter. + */ + this.overloadedEmissive = BABYLON.Color3.White(); + /** + * Debug Control indicating how much the overloaded emissive color is used against the default one. + */ + this.overloadedEmissiveIntensity = 0.0; + this._overloadedIntensity = new BABYLON.Vector4(this.overloadedAmbientIntensity, this.overloadedAlbedoIntensity, this.overloadedReflectivityIntensity, this.overloadedEmissiveIntensity); + /** + * Debug Control allowing to overload the reflection color. + * This as to be use with the overloadedReflectionIntensity parameter. + */ + this.overloadedReflection = BABYLON.Color3.White(); + /** + * Debug Control indicating how much the overloaded reflection color is used against the default one. + */ + this.overloadedReflectionIntensity = 0.0; + /** + * Debug Control allowing to overload the microsurface. + * This as to be use with the overloadedMicroSurfaceIntensity parameter. + */ + this.overloadedMicroSurface = 0.0; + /** + * Debug Control indicating how much the overloaded microsurface is used against the default one. + */ + this.overloadedMicroSurfaceIntensity = 0.0; + this._overloadedMicroSurface = new BABYLON.Vector3(this.overloadedMicroSurface, this.overloadedMicroSurfaceIntensity, this.overloadedReflectionIntensity); + /** + * AKA Occlusion Texture Intensity in other nomenclature. + */ + this.ambientTextureStrength = 1.0; + this.ambientColor = new BABYLON.Color3(0, 0, 0); + /** + * AKA Diffuse Color in other nomenclature. + */ + this.albedoColor = new BABYLON.Color3(1, 1, 1); + /** + * AKA Specular Color in other nomenclature. + */ + this.reflectivityColor = new BABYLON.Color3(1, 1, 1); + this.reflectionColor = new BABYLON.Color3(0.5, 0.5, 0.5); + this.emissiveColor = new BABYLON.Color3(0, 0, 0); + /** + * AKA Glossiness in other nomenclature. + */ + this.microSurface = 0.9; + /** + * source material index of refraction (IOR)' / 'destination material IOR. + */ + this.indexOfRefraction = 0.66; + /** + * Controls if refraction needs to be inverted on Y. This could be usefull for procedural texture. + */ + this.invertRefractionY = false; + /** + * This parameters will make the material used its opacity to control how much it is refracting aginst not. + * Materials half opaque for instance using refraction could benefit from this control. + */ + this.linkRefractionWithTransparency = false; + /** + * The emissive and albedo are linked to never be more than one (Energy conservation). + */ + this.linkEmissiveWithAlbedo = false; + this.useLightmapAsShadowmap = false; + /** + * In this mode, the emissive informtaion will always be added to the lighting once. + * A light for instance can be thought as emissive. + */ + this.useEmissiveAsIllumination = false; + /** + * Secifies that the alpha is coming form the albedo channel alpha channel. + */ + this.useAlphaFromAlbedoTexture = false; + /** + * Specifies that the material will keeps the specular highlights over a transparent surface (only the most limunous ones). + * A car glass is a good exemple of that. When sun reflects on it you can not see what is behind. + */ + this.useSpecularOverAlpha = true; + /** + * Specifies if the reflectivity texture contains the glossiness information in its alpha channel. + */ + this.useMicroSurfaceFromReflectivityMapAlpha = false; + /** + * Specifies if the metallic texture contains the roughness information in its alpha channel. + */ + this.useRoughnessFromMetallicTextureAlpha = true; + /** + * Specifies if the metallic texture contains the roughness information in its green channel. + */ + this.useRoughnessFromMetallicTextureGreen = false; + /** + * In case the reflectivity map does not contain the microsurface information in its alpha channel, + * The material will try to infer what glossiness each pixel should be. + */ + this.useAutoMicroSurfaceFromReflectivityMap = false; + /** + * Allows to work with scalar in linear mode. This is definitely a matter of preferences and tools used during + * the creation of the material. + */ + this.useScalarInLinearSpace = false; + /** + * BJS is using an harcoded light falloff based on a manually sets up range. + * In PBR, one way to represents the fallof is to use the inverse squared root algorythm. + * This parameter can help you switch back to the BJS mode in order to create scenes using both materials. + */ + this.usePhysicalLightFalloff = true; + /** + * Specifies that the material will keeps the reflection highlights over a transparent surface (only the most limunous ones). + * A car glass is a good exemple of that. When the street lights reflects on it you can not see what is behind. + */ + this.useRadianceOverAlpha = true; + /** + * Allows using the bump map in parallax mode. + */ + this.useParallax = false; + /** + * Allows using the bump map in parallax occlusion mode. + */ + this.useParallaxOcclusion = false; + /** + * Controls the scale bias of the parallax mode. + */ + this.parallaxScaleBias = 0.05; + /** + * If sets to true, disables all the lights affecting the material. + */ + this.disableLighting = false; + /** + * Number of Simultaneous lights allowed on the material. + */ + this.maxSimultaneousLights = 4; + /** + * If sets to true, x component of normal map value will invert (x = 1.0 - x). + */ + this.invertNormalMapX = false; + /** + * If sets to true, y component of normal map value will invert (y = 1.0 - y). + */ + this.invertNormalMapY = false; + this._renderTargets = new BABYLON.SmartArray(16); + this._worldViewProjectionMatrix = BABYLON.Matrix.Zero(); + this._globalAmbientColor = new BABYLON.Color3(0, 0, 0); + this._tempColor = new BABYLON.Color3(); + this._defines = new PBRMaterialDefines(); + this._cachedDefines = new PBRMaterialDefines(); + this._myScene = null; + this._myShadowGenerator = null; + this._cachedDefines.BonesPerMesh = -1; + this.getRenderTargetTextures = function () { + _this._renderTargets.reset(); + if (_this.reflectionTexture && _this.reflectionTexture.isRenderTarget) { + _this._renderTargets.push(_this.reflectionTexture); + } + if (_this.refractionTexture && _this.refractionTexture.isRenderTarget) { + _this._renderTargets.push(_this.refractionTexture); + } + return _this._renderTargets; + }; + } + Object.defineProperty(PBRMaterial.prototype, "useLogarithmicDepth", { + get: function () { + return this._useLogarithmicDepth; + }, + set: function (value) { + this._useLogarithmicDepth = value && this.getScene().getEngine().getCaps().fragmentDepthSupported; + }, + enumerable: true, + configurable: true + }); + PBRMaterial.prototype.needAlphaBlending = function () { + if (this.linkRefractionWithTransparency) { + return false; + } + return (this.alpha < 1.0) || (this.opacityTexture != null) || this._shouldUseAlphaFromAlbedoTexture() || this.opacityFresnelParameters && this.opacityFresnelParameters.isEnabled; + }; + PBRMaterial.prototype.needAlphaTesting = function () { + if (this.linkRefractionWithTransparency) { + return false; + } + return this.albedoTexture != null && this.albedoTexture.hasAlpha; + }; + PBRMaterial.prototype._shouldUseAlphaFromAlbedoTexture = function () { + return this.albedoTexture != null && this.albedoTexture.hasAlpha && this.useAlphaFromAlbedoTexture; + }; + PBRMaterial.prototype.getAlphaTestTexture = function () { + return this.albedoTexture; + }; + PBRMaterial.prototype._checkCache = function (scene, mesh, useInstances) { + if (!mesh) { + return true; + } + if (this._defines.INSTANCES !== useInstances) { + return false; + } + if (mesh._materialDefines && mesh._materialDefines.isEqual(this._defines)) { + return true; + } + return false; + }; + PBRMaterial.prototype.convertColorToLinearSpaceToRef = function (color, ref) { + PBRMaterial.convertColorToLinearSpaceToRef(color, ref, this.useScalarInLinearSpace); + }; + PBRMaterial.convertColorToLinearSpaceToRef = function (color, ref, useScalarInLinear) { + if (!useScalarInLinear) { + color.toLinearSpaceToRef(ref); + } + else { + ref.r = color.r; + ref.g = color.g; + ref.b = color.b; + } + }; + PBRMaterial.BindLights = function (scene, mesh, effect, defines, useScalarInLinearSpace, maxSimultaneousLights, usePhysicalLightFalloff) { + var lightIndex = 0; + var depthValuesAlreadySet = false; + for (var index = 0; index < scene.lights.length; index++) { + var light = scene.lights[index]; + if (!light.isEnabled()) { + continue; + } + if (!light.canAffectMesh(mesh)) { + continue; + } + BABYLON.MaterialHelper.BindLightProperties(light, effect, lightIndex); + // GAMMA CORRECTION. + this.convertColorToLinearSpaceToRef(light.diffuse, PBRMaterial._scaledAlbedo, useScalarInLinearSpace); + PBRMaterial._scaledAlbedo.scaleToRef(light.intensity, PBRMaterial._scaledAlbedo); + effect.setColor4("vLightDiffuse" + lightIndex, PBRMaterial._scaledAlbedo, usePhysicalLightFalloff ? light.radius : light.range); + if (defines["SPECULARTERM"]) { + this.convertColorToLinearSpaceToRef(light.specular, PBRMaterial._scaledReflectivity, useScalarInLinearSpace); + PBRMaterial._scaledReflectivity.scaleToRef(light.intensity, PBRMaterial._scaledReflectivity); + effect.setColor3("vLightSpecular" + lightIndex, PBRMaterial._scaledReflectivity); + } + // Shadows + if (scene.shadowsEnabled) { + depthValuesAlreadySet = BABYLON.MaterialHelper.BindLightShadow(light, scene, mesh, lightIndex, effect, depthValuesAlreadySet); + } + lightIndex++; + if (lightIndex === maxSimultaneousLights) + break; + } + }; + PBRMaterial.prototype.isReady = function (mesh, useInstances) { + if (this.checkReadyOnlyOnce) { + if (this._wasPreviouslyReady) { + return true; + } + } + var scene = this.getScene(); + var engine = scene.getEngine(); + var needNormals = false; + var needUVs = false; + this._defines.reset(); + if (scene.lightsEnabled && !this.disableLighting) { + needNormals = BABYLON.MaterialHelper.PrepareDefinesForLights(scene, mesh, this._defines, this.maxSimultaneousLights) || needNormals; + } + if (!this.checkReadyOnEveryCall) { + if (this._renderId === scene.getRenderId()) { + if (this._checkCache(scene, mesh, useInstances)) { + return true; + } + } + } + if (scene.texturesEnabled) { + if (scene.getEngine().getCaps().textureLOD) { + this._defines.LODBASEDMICROSFURACE = true; + } + if (this.albedoTexture && BABYLON.StandardMaterial.DiffuseTextureEnabled) { + if (!this.albedoTexture.isReady()) { + return false; + } + else { + needUVs = true; + this._defines.ALBEDO = true; + } + } + if (this.ambientTexture && BABYLON.StandardMaterial.AmbientTextureEnabled) { + if (!this.ambientTexture.isReady()) { + return false; + } + else { + needUVs = true; + this._defines.AMBIENT = true; + } + } + if (this.opacityTexture && BABYLON.StandardMaterial.OpacityTextureEnabled) { + if (!this.opacityTexture.isReady()) { + return false; + } + else { + needUVs = true; + this._defines.OPACITY = true; + if (this.opacityTexture.getAlphaFromRGB) { + this._defines.OPACITYRGB = true; + } + } + } + if (this.reflectionTexture && BABYLON.StandardMaterial.ReflectionTextureEnabled) { + if (!this.reflectionTexture.isReady()) { + return false; + } + else { + needNormals = true; + this._defines.REFLECTION = true; + if (this.reflectionTexture.coordinatesMode === BABYLON.Texture.INVCUBIC_MODE) { + this._defines.INVERTCUBICMAP = true; + } + this._defines.REFLECTIONMAP_3D = this.reflectionTexture.isCube; + switch (this.reflectionTexture.coordinatesMode) { + case BABYLON.Texture.CUBIC_MODE: + case BABYLON.Texture.INVCUBIC_MODE: + this._defines.REFLECTIONMAP_CUBIC = true; + break; + case BABYLON.Texture.EXPLICIT_MODE: + this._defines.REFLECTIONMAP_EXPLICIT = true; + break; + case BABYLON.Texture.PLANAR_MODE: + this._defines.REFLECTIONMAP_PLANAR = true; + break; + case BABYLON.Texture.PROJECTION_MODE: + this._defines.REFLECTIONMAP_PROJECTION = true; + break; + case BABYLON.Texture.SKYBOX_MODE: + this._defines.REFLECTIONMAP_SKYBOX = true; + break; + case BABYLON.Texture.SPHERICAL_MODE: + this._defines.REFLECTIONMAP_SPHERICAL = true; + break; + case BABYLON.Texture.EQUIRECTANGULAR_MODE: + this._defines.REFLECTIONMAP_EQUIRECTANGULAR = true; + break; + } + if (this.reflectionTexture instanceof BABYLON.HDRCubeTexture && this.reflectionTexture) { + this._defines.USESPHERICALFROMREFLECTIONMAP = true; + needNormals = true; + if (this.reflectionTexture.isPMREM) { + this._defines.USEPMREMREFLECTION = true; + } + } + } + } + if (this.lightmapTexture && BABYLON.StandardMaterial.LightmapTextureEnabled) { + if (!this.lightmapTexture.isReady()) { + return false; + } + else { + needUVs = true; + this._defines.LIGHTMAP = true; + this._defines.USELIGHTMAPASSHADOWMAP = this.useLightmapAsShadowmap; + } + } + if (this.emissiveTexture && BABYLON.StandardMaterial.EmissiveTextureEnabled) { + if (!this.emissiveTexture.isReady()) { + return false; + } + else { + needUVs = true; + this._defines.EMISSIVE = true; + } + } + if (BABYLON.StandardMaterial.SpecularTextureEnabled) { + if (this.metallicTexture) { + if (!this.metallicTexture.isReady()) { + return false; + } + else { + needUVs = true; + this._defines.METALLICWORKFLOW = true; + this._defines.METALLICROUGHNESSGSTOREINALPHA = this.useRoughnessFromMetallicTextureAlpha; + this._defines.METALLICROUGHNESSGSTOREINGREEN = !this.useRoughnessFromMetallicTextureAlpha && this.useRoughnessFromMetallicTextureGreen; + } + } + else if (this.reflectivityTexture) { + if (!this.reflectivityTexture.isReady()) { + return false; + } + else { + needUVs = true; + this._defines.REFLECTIVITY = true; + this._defines.MICROSURFACEFROMREFLECTIVITYMAP = this.useMicroSurfaceFromReflectivityMapAlpha; + this._defines.MICROSURFACEAUTOMATIC = this.useAutoMicroSurfaceFromReflectivityMap; + } + } + } + if (scene.getEngine().getCaps().standardDerivatives && this.bumpTexture && BABYLON.StandardMaterial.BumpTextureEnabled && !this.disableBumpMap) { + if (!this.bumpTexture.isReady()) { + return false; + } + else { + needUVs = true; + this._defines.BUMP = true; + if (this.useParallax && this.albedoTexture && BABYLON.StandardMaterial.DiffuseTextureEnabled) { + this._defines.PARALLAX = true; + if (this.useParallaxOcclusion) { + this._defines.PARALLAXOCCLUSION = true; + } + } + if (this.invertNormalMapX) { + this._defines.INVERTNORMALMAPX = true; + } + if (this.invertNormalMapY) { + this._defines.INVERTNORMALMAPY = true; + } + } + } + if (this.refractionTexture && BABYLON.StandardMaterial.RefractionTextureEnabled) { + if (!this.refractionTexture.isReady()) { + return false; + } + else { + needUVs = true; + this._defines.REFRACTION = true; + this._defines.REFRACTIONMAP_3D = this.refractionTexture.isCube; + if (this.linkRefractionWithTransparency) { + this._defines.LINKREFRACTIONTOTRANSPARENCY = true; + } + if (this.refractionTexture instanceof BABYLON.HDRCubeTexture) { + this._defines.REFRACTIONMAPINLINEARSPACE = true; + if (this.refractionTexture.isPMREM) { + this._defines.USEPMREMREFRACTION = true; + } + } + } + } + if (this.cameraColorGradingTexture && BABYLON.StandardMaterial.ColorGradingTextureEnabled) { + if (!this.cameraColorGradingTexture.isReady()) { + return false; + } + else { + this._defines.CAMERACOLORGRADING = true; + } + } + } + // Effect + if (scene.clipPlane) { + this._defines.CLIPPLANE = true; + } + if (engine.getAlphaTesting()) { + this._defines.ALPHATEST = true; + } + if (this._shouldUseAlphaFromAlbedoTexture()) { + this._defines.ALPHAFROMALBEDO = true; + } + if (this.useEmissiveAsIllumination) { + this._defines.EMISSIVEASILLUMINATION = true; + } + if (this.linkEmissiveWithAlbedo) { + this._defines.LINKEMISSIVEWITHALBEDO = true; + } + if (this.useLogarithmicDepth) { + this._defines.LOGARITHMICDEPTH = true; + } + if (this.cameraContrast != 1) { + this._defines.CAMERACONTRAST = true; + } + if (this.cameraExposure != 1) { + this._defines.CAMERATONEMAP = true; + } + if (this.cameraColorCurves) { + this._defines.CAMERACOLORCURVES = true; + } + if (this.overloadedShadeIntensity != 1 || + this.overloadedShadowIntensity != 1) { + this._defines.OVERLOADEDSHADOWVALUES = true; + } + if (this.overloadedMicroSurfaceIntensity > 0 || + this.overloadedEmissiveIntensity > 0 || + this.overloadedReflectivityIntensity > 0 || + this.overloadedAlbedoIntensity > 0 || + this.overloadedAmbientIntensity > 0 || + this.overloadedReflectionIntensity > 0) { + this._defines.OVERLOADEDVALUES = true; + } + // Point size + if (this.pointsCloud || scene.forcePointsCloud) { + this._defines.POINTSIZE = true; + } + // Fog + if (scene.fogEnabled && mesh && mesh.applyFog && scene.fogMode !== BABYLON.Scene.FOGMODE_NONE && this.fogEnabled) { + this._defines.FOG = true; + } + if (BABYLON.StandardMaterial.FresnelEnabled) { + // Fresnel + if (this.opacityFresnelParameters && this.opacityFresnelParameters.isEnabled || + this.emissiveFresnelParameters && this.emissiveFresnelParameters.isEnabled) { + if (this.opacityFresnelParameters && this.opacityFresnelParameters.isEnabled) { + this._defines.OPACITYFRESNEL = true; + } + if (this.emissiveFresnelParameters && this.emissiveFresnelParameters.isEnabled) { + this._defines.EMISSIVEFRESNEL = true; + } + needNormals = true; + this._defines.FRESNEL = true; + } + } + if (this._defines.SPECULARTERM && this.useSpecularOverAlpha) { + this._defines.SPECULAROVERALPHA = true; + } + if (this.usePhysicalLightFalloff) { + this._defines.USEPHYSICALLIGHTFALLOFF = true; + } + if (this.useRadianceOverAlpha) { + this._defines.RADIANCEOVERALPHA = true; + } + // Attribs + if (mesh) { + if (needNormals && mesh.isVerticesDataPresent(BABYLON.VertexBuffer.NormalKind)) { + this._defines.NORMAL = true; + } + if (needUVs) { + if (mesh.isVerticesDataPresent(BABYLON.VertexBuffer.UVKind)) { + this._defines.UV1 = true; + } + if (mesh.isVerticesDataPresent(BABYLON.VertexBuffer.UV2Kind)) { + this._defines.UV2 = true; + } + } + if (mesh.useVertexColors && mesh.isVerticesDataPresent(BABYLON.VertexBuffer.ColorKind)) { + this._defines.VERTEXCOLOR = true; + if (mesh.hasVertexAlpha) { + this._defines.VERTEXALPHA = true; + } + } + if (mesh.useBones && mesh.computeBonesUsingShaders) { + this._defines.NUM_BONE_INFLUENCERS = mesh.numBoneInfluencers; + this._defines.BonesPerMesh = (mesh.skeleton.bones.length + 1); + } + // Instances + if (useInstances) { + this._defines.INSTANCES = true; + } + } + // Get correct effect + if (!this._defines.isEqual(this._cachedDefines)) { + this._defines.cloneTo(this._cachedDefines); + scene.resetCachedMaterial(); + // Fallbacks + var fallbacks = new BABYLON.EffectFallbacks(); + if (this._defines.REFLECTION) { + fallbacks.addFallback(0, "REFLECTION"); + } + if (this._defines.REFRACTION) { + fallbacks.addFallback(0, "REFRACTION"); + } + if (this._defines.REFLECTIVITY) { + fallbacks.addFallback(0, "REFLECTIVITY"); + } + if (this._defines.BUMP) { + fallbacks.addFallback(0, "BUMP"); + } + if (this._defines.PARALLAX) { + fallbacks.addFallback(1, "PARALLAX"); + } + if (this._defines.PARALLAXOCCLUSION) { + fallbacks.addFallback(0, "PARALLAXOCCLUSION"); + } + if (this._defines.SPECULAROVERALPHA) { + fallbacks.addFallback(0, "SPECULAROVERALPHA"); + } + if (this._defines.FOG) { + fallbacks.addFallback(1, "FOG"); + } + if (this._defines.POINTSIZE) { + fallbacks.addFallback(0, "POINTSIZE"); + } + if (this._defines.LOGARITHMICDEPTH) { + fallbacks.addFallback(0, "LOGARITHMICDEPTH"); + } + BABYLON.MaterialHelper.HandleFallbacksForShadows(this._defines, fallbacks, this.maxSimultaneousLights); + if (this._defines.SPECULARTERM) { + fallbacks.addFallback(0, "SPECULARTERM"); + } + if (this._defines.OPACITYFRESNEL) { + fallbacks.addFallback(1, "OPACITYFRESNEL"); + } + if (this._defines.EMISSIVEFRESNEL) { + fallbacks.addFallback(2, "EMISSIVEFRESNEL"); + } + if (this._defines.FRESNEL) { + fallbacks.addFallback(3, "FRESNEL"); + } + if (this._defines.NUM_BONE_INFLUENCERS > 0) { + fallbacks.addCPUSkinningFallback(0, mesh); + } + //Attributes + var attribs = [BABYLON.VertexBuffer.PositionKind]; + if (this._defines.NORMAL) { + attribs.push(BABYLON.VertexBuffer.NormalKind); + } + if (this._defines.UV1) { + attribs.push(BABYLON.VertexBuffer.UVKind); + } + if (this._defines.UV2) { + attribs.push(BABYLON.VertexBuffer.UV2Kind); + } + if (this._defines.VERTEXCOLOR) { + attribs.push(BABYLON.VertexBuffer.ColorKind); + } + BABYLON.MaterialHelper.PrepareAttributesForBones(attribs, mesh, this._defines, fallbacks); + BABYLON.MaterialHelper.PrepareAttributesForInstances(attribs, this._defines); + // Legacy browser patch + var join = this._defines.toString(); + var uniforms = ["world", "view", "viewProjection", "vEyePosition", "vLightsType", "vAmbientColor", "vAlbedoColor", "vReflectivityColor", "vEmissiveColor", "vReflectionColor", + "vFogInfos", "vFogColor", "pointSize", + "vAlbedoInfos", "vAmbientInfos", "vOpacityInfos", "vReflectionInfos", "vEmissiveInfos", "vReflectivityInfos", "vBumpInfos", "vLightmapInfos", "vRefractionInfos", + "mBones", + "vClipPlane", "albedoMatrix", "ambientMatrix", "opacityMatrix", "reflectionMatrix", "emissiveMatrix", "reflectivityMatrix", "bumpMatrix", "lightmapMatrix", "refractionMatrix", + "depthValues", + "opacityParts", "emissiveLeftColor", "emissiveRightColor", + "vLightingIntensity", "vOverloadedShadowIntensity", "vOverloadedIntensity", "vOverloadedAlbedo", "vOverloadedReflection", "vOverloadedReflectivity", "vOverloadedEmissive", "vOverloadedMicroSurface", + "logarithmicDepthConstant", + "vSphericalX", "vSphericalY", "vSphericalZ", + "vSphericalXX", "vSphericalYY", "vSphericalZZ", + "vSphericalXY", "vSphericalYZ", "vSphericalZX", + "vMicrosurfaceTextureLods", + "vCameraInfos" + ]; + var samplers = ["albedoSampler", "ambientSampler", "opacitySampler", "reflectionCubeSampler", "reflection2DSampler", "emissiveSampler", "reflectivitySampler", "bumpSampler", "lightmapSampler", "refractionCubeSampler", "refraction2DSampler"]; + BABYLON.ColorCurves.PrepareUniforms(uniforms); + BABYLON.ColorGradingTexture.PrepareUniformsAndSamplers(uniforms, samplers); + BABYLON.MaterialHelper.PrepareUniformsAndSamplersList(uniforms, samplers, this._defines, this.maxSimultaneousLights); + this._effect = scene.getEngine().createEffect("pbr", attribs, uniforms, samplers, join, fallbacks, this.onCompiled, this.onError, { maxSimultaneousLights: this.maxSimultaneousLights }); + } + if (!this._effect.isReady()) { + return false; + } + this._renderId = scene.getRenderId(); + this._wasPreviouslyReady = true; + if (mesh) { + if (!mesh._materialDefines) { + mesh._materialDefines = new PBRMaterialDefines(); + } + this._defines.cloneTo(mesh._materialDefines); + } + return true; + }; + PBRMaterial.prototype.unbind = function () { + if (this.reflectionTexture && this.reflectionTexture.isRenderTarget) { + this._effect.setTexture("reflection2DSampler", null); + } + if (this.refractionTexture && this.refractionTexture.isRenderTarget) { + this._effect.setTexture("refraction2DSampler", null); + } + _super.prototype.unbind.call(this); + }; + PBRMaterial.prototype.bindOnlyWorldMatrix = function (world) { + this._effect.setMatrix("world", world); + }; + PBRMaterial.prototype.bind = function (world, mesh) { + this._myScene = this.getScene(); + // Matrices + this.bindOnlyWorldMatrix(world); + // Bones + BABYLON.MaterialHelper.BindBonesParameters(mesh, this._effect); + if (this._myScene.getCachedMaterial() !== this) { + this._effect.setMatrix("viewProjection", this._myScene.getTransformMatrix()); + if (BABYLON.StandardMaterial.FresnelEnabled) { + if (this.opacityFresnelParameters && this.opacityFresnelParameters.isEnabled) { + this._effect.setColor4("opacityParts", new BABYLON.Color3(this.opacityFresnelParameters.leftColor.toLuminance(), this.opacityFresnelParameters.rightColor.toLuminance(), this.opacityFresnelParameters.bias), this.opacityFresnelParameters.power); + } + if (this.emissiveFresnelParameters && this.emissiveFresnelParameters.isEnabled) { + this._effect.setColor4("emissiveLeftColor", this.emissiveFresnelParameters.leftColor, this.emissiveFresnelParameters.power); + this._effect.setColor4("emissiveRightColor", this.emissiveFresnelParameters.rightColor, this.emissiveFresnelParameters.bias); + } + } + // Textures + if (this._myScene.texturesEnabled) { + if (this.albedoTexture && BABYLON.StandardMaterial.DiffuseTextureEnabled) { + this._effect.setTexture("albedoSampler", this.albedoTexture); + this._effect.setFloat2("vAlbedoInfos", this.albedoTexture.coordinatesIndex, this.albedoTexture.level); + this._effect.setMatrix("albedoMatrix", this.albedoTexture.getTextureMatrix()); + } + if (this.ambientTexture && BABYLON.StandardMaterial.AmbientTextureEnabled) { + this._effect.setTexture("ambientSampler", this.ambientTexture); + this._effect.setFloat3("vAmbientInfos", this.ambientTexture.coordinatesIndex, this.ambientTexture.level, this.ambientTextureStrength); + this._effect.setMatrix("ambientMatrix", this.ambientTexture.getTextureMatrix()); + } + if (this.opacityTexture && BABYLON.StandardMaterial.OpacityTextureEnabled) { + this._effect.setTexture("opacitySampler", this.opacityTexture); + this._effect.setFloat2("vOpacityInfos", this.opacityTexture.coordinatesIndex, this.opacityTexture.level); + this._effect.setMatrix("opacityMatrix", this.opacityTexture.getTextureMatrix()); + } + if (this.reflectionTexture && BABYLON.StandardMaterial.ReflectionTextureEnabled) { + this._microsurfaceTextureLods.x = Math.round(Math.log(this.reflectionTexture.getSize().width) * Math.LOG2E); + if (this.reflectionTexture.isCube) { + this._effect.setTexture("reflectionCubeSampler", this.reflectionTexture); + } + else { + this._effect.setTexture("reflection2DSampler", this.reflectionTexture); + } + this._effect.setMatrix("reflectionMatrix", this.reflectionTexture.getReflectionTextureMatrix()); + this._effect.setFloat2("vReflectionInfos", this.reflectionTexture.level, 0); + if (this._defines.USESPHERICALFROMREFLECTIONMAP) { + this._effect.setFloat3("vSphericalX", this.reflectionTexture.sphericalPolynomial.x.x, this.reflectionTexture.sphericalPolynomial.x.y, this.reflectionTexture.sphericalPolynomial.x.z); + this._effect.setFloat3("vSphericalY", this.reflectionTexture.sphericalPolynomial.y.x, this.reflectionTexture.sphericalPolynomial.y.y, this.reflectionTexture.sphericalPolynomial.y.z); + this._effect.setFloat3("vSphericalZ", this.reflectionTexture.sphericalPolynomial.z.x, this.reflectionTexture.sphericalPolynomial.z.y, this.reflectionTexture.sphericalPolynomial.z.z); + this._effect.setFloat3("vSphericalXX", this.reflectionTexture.sphericalPolynomial.xx.x, this.reflectionTexture.sphericalPolynomial.xx.y, this.reflectionTexture.sphericalPolynomial.xx.z); + this._effect.setFloat3("vSphericalYY", this.reflectionTexture.sphericalPolynomial.yy.x, this.reflectionTexture.sphericalPolynomial.yy.y, this.reflectionTexture.sphericalPolynomial.yy.z); + this._effect.setFloat3("vSphericalZZ", this.reflectionTexture.sphericalPolynomial.zz.x, this.reflectionTexture.sphericalPolynomial.zz.y, this.reflectionTexture.sphericalPolynomial.zz.z); + this._effect.setFloat3("vSphericalXY", this.reflectionTexture.sphericalPolynomial.xy.x, this.reflectionTexture.sphericalPolynomial.xy.y, this.reflectionTexture.sphericalPolynomial.xy.z); + this._effect.setFloat3("vSphericalYZ", this.reflectionTexture.sphericalPolynomial.yz.x, this.reflectionTexture.sphericalPolynomial.yz.y, this.reflectionTexture.sphericalPolynomial.yz.z); + this._effect.setFloat3("vSphericalZX", this.reflectionTexture.sphericalPolynomial.zx.x, this.reflectionTexture.sphericalPolynomial.zx.y, this.reflectionTexture.sphericalPolynomial.zx.z); + } + } + if (this.emissiveTexture && BABYLON.StandardMaterial.EmissiveTextureEnabled) { + this._effect.setTexture("emissiveSampler", this.emissiveTexture); + this._effect.setFloat2("vEmissiveInfos", this.emissiveTexture.coordinatesIndex, this.emissiveTexture.level); + this._effect.setMatrix("emissiveMatrix", this.emissiveTexture.getTextureMatrix()); + } + if (this.lightmapTexture && BABYLON.StandardMaterial.LightmapTextureEnabled) { + this._effect.setTexture("lightmapSampler", this.lightmapTexture); + this._effect.setFloat2("vLightmapInfos", this.lightmapTexture.coordinatesIndex, this.lightmapTexture.level); + this._effect.setMatrix("lightmapMatrix", this.lightmapTexture.getTextureMatrix()); + } + if (BABYLON.StandardMaterial.SpecularTextureEnabled) { + if (this.metallicTexture) { + this._effect.setTexture("reflectivitySampler", this.metallicTexture); + this._effect.setFloat2("vReflectivityInfos", this.metallicTexture.coordinatesIndex, this.metallicTexture.level); + this._effect.setMatrix("reflectivityMatrix", this.metallicTexture.getTextureMatrix()); + } + else if (this.reflectivityTexture) { + this._effect.setTexture("reflectivitySampler", this.reflectivityTexture); + this._effect.setFloat2("vReflectivityInfos", this.reflectivityTexture.coordinatesIndex, this.reflectivityTexture.level); + this._effect.setMatrix("reflectivityMatrix", this.reflectivityTexture.getTextureMatrix()); + } + } + if (this.bumpTexture && this._myScene.getEngine().getCaps().standardDerivatives && BABYLON.StandardMaterial.BumpTextureEnabled && !this.disableBumpMap) { + this._effect.setTexture("bumpSampler", this.bumpTexture); + this._effect.setFloat3("vBumpInfos", this.bumpTexture.coordinatesIndex, 1.0 / this.bumpTexture.level, this.parallaxScaleBias); + this._effect.setMatrix("bumpMatrix", this.bumpTexture.getTextureMatrix()); + } + if (this.refractionTexture && BABYLON.StandardMaterial.RefractionTextureEnabled) { + this._microsurfaceTextureLods.y = Math.round(Math.log(this.refractionTexture.getSize().width) * Math.LOG2E); + var depth = 1.0; + if (this.refractionTexture.isCube) { + this._effect.setTexture("refractionCubeSampler", this.refractionTexture); + } + else { + this._effect.setTexture("refraction2DSampler", this.refractionTexture); + this._effect.setMatrix("refractionMatrix", this.refractionTexture.getReflectionTextureMatrix()); + if (this.refractionTexture.depth) { + depth = this.refractionTexture.depth; + } + } + this._effect.setFloat4("vRefractionInfos", this.refractionTexture.level, this.indexOfRefraction, depth, this.invertRefractionY ? -1 : 1); + } + if ((this.reflectionTexture || this.refractionTexture)) { + this._effect.setFloat2("vMicrosurfaceTextureLods", this._microsurfaceTextureLods.x, this._microsurfaceTextureLods.y); + } + if (this.cameraColorGradingTexture && BABYLON.StandardMaterial.ColorGradingTextureEnabled) { + BABYLON.ColorGradingTexture.Bind(this.cameraColorGradingTexture, this._effect); + } + } + // Clip plane + BABYLON.MaterialHelper.BindClipPlane(this._effect, this._myScene); + // Point size + if (this.pointsCloud) { + this._effect.setFloat("pointSize", this.pointSize); + } + // Colors + this._myScene.ambientColor.multiplyToRef(this.ambientColor, this._globalAmbientColor); + // GAMMA CORRECTION. + this.convertColorToLinearSpaceToRef(this.reflectivityColor, PBRMaterial._scaledReflectivity); + this._effect.setVector3("vEyePosition", this._myScene._mirroredCameraPosition ? this._myScene._mirroredCameraPosition : this._myScene.activeCamera.position); + this._effect.setColor3("vAmbientColor", this._globalAmbientColor); + this._effect.setColor4("vReflectivityColor", PBRMaterial._scaledReflectivity, this.microSurface); + // GAMMA CORRECTION. + this.convertColorToLinearSpaceToRef(this.emissiveColor, PBRMaterial._scaledEmissive); + this._effect.setColor3("vEmissiveColor", PBRMaterial._scaledEmissive); + // GAMMA CORRECTION. + this.convertColorToLinearSpaceToRef(this.reflectionColor, PBRMaterial._scaledReflection); + this._effect.setColor3("vReflectionColor", PBRMaterial._scaledReflection); + } + if (this._myScene.getCachedMaterial() !== this || !this.isFrozen) { + // GAMMA CORRECTION. + this.convertColorToLinearSpaceToRef(this.albedoColor, PBRMaterial._scaledAlbedo); + this._effect.setColor4("vAlbedoColor", PBRMaterial._scaledAlbedo, this.alpha * mesh.visibility); + // Lights + if (this._myScene.lightsEnabled && !this.disableLighting) { + PBRMaterial.BindLights(this._myScene, mesh, this._effect, this._defines, this.useScalarInLinearSpace, this.maxSimultaneousLights, this.usePhysicalLightFalloff); + } + // View + if (this._myScene.fogEnabled && mesh.applyFog && this._myScene.fogMode !== BABYLON.Scene.FOGMODE_NONE || this.reflectionTexture) { + this._effect.setMatrix("view", this._myScene.getViewMatrix()); + } + // Fog + BABYLON.MaterialHelper.BindFogParameters(this._myScene, mesh, this._effect); + this._lightingInfos.x = this.directIntensity; + this._lightingInfos.y = this.emissiveIntensity; + this._lightingInfos.z = this.environmentIntensity; + this._lightingInfos.w = this.specularIntensity; + this._effect.setVector4("vLightingIntensity", this._lightingInfos); + this._overloadedShadowInfos.x = this.overloadedShadowIntensity; + this._overloadedShadowInfos.y = this.overloadedShadeIntensity; + this._effect.setVector4("vOverloadedShadowIntensity", this._overloadedShadowInfos); + this._cameraInfos.x = this.cameraExposure; + this._cameraInfos.y = this.cameraContrast; + this._effect.setVector4("vCameraInfos", this._cameraInfos); + if (this.cameraColorCurves) { + BABYLON.ColorCurves.Bind(this.cameraColorCurves, this._effect); + } + this._overloadedIntensity.x = this.overloadedAmbientIntensity; + this._overloadedIntensity.y = this.overloadedAlbedoIntensity; + this._overloadedIntensity.z = this.overloadedReflectivityIntensity; + this._overloadedIntensity.w = this.overloadedEmissiveIntensity; + this._effect.setVector4("vOverloadedIntensity", this._overloadedIntensity); + this.convertColorToLinearSpaceToRef(this.overloadedAmbient, this._tempColor); + this._effect.setColor3("vOverloadedAmbient", this._tempColor); + this.convertColorToLinearSpaceToRef(this.overloadedAlbedo, this._tempColor); + this._effect.setColor3("vOverloadedAlbedo", this._tempColor); + this.convertColorToLinearSpaceToRef(this.overloadedReflectivity, this._tempColor); + this._effect.setColor3("vOverloadedReflectivity", this._tempColor); + this.convertColorToLinearSpaceToRef(this.overloadedEmissive, this._tempColor); + this._effect.setColor3("vOverloadedEmissive", this._tempColor); + this.convertColorToLinearSpaceToRef(this.overloadedReflection, this._tempColor); + this._effect.setColor3("vOverloadedReflection", this._tempColor); + this._overloadedMicroSurface.x = this.overloadedMicroSurface; + this._overloadedMicroSurface.y = this.overloadedMicroSurfaceIntensity; + this._overloadedMicroSurface.z = this.overloadedReflectionIntensity; + this._effect.setVector3("vOverloadedMicroSurface", this._overloadedMicroSurface); + // Log. depth + BABYLON.MaterialHelper.BindLogDepth(this._defines, this._effect, this._myScene); + } + _super.prototype.bind.call(this, world, mesh); + this._myScene = null; + }; + PBRMaterial.prototype.getAnimatables = function () { + var results = []; + if (this.albedoTexture && this.albedoTexture.animations && this.albedoTexture.animations.length > 0) { + results.push(this.albedoTexture); + } + if (this.ambientTexture && this.ambientTexture.animations && this.ambientTexture.animations.length > 0) { + results.push(this.ambientTexture); + } + if (this.opacityTexture && this.opacityTexture.animations && this.opacityTexture.animations.length > 0) { + results.push(this.opacityTexture); + } + if (this.reflectionTexture && this.reflectionTexture.animations && this.reflectionTexture.animations.length > 0) { + results.push(this.reflectionTexture); + } + if (this.emissiveTexture && this.emissiveTexture.animations && this.emissiveTexture.animations.length > 0) { + results.push(this.emissiveTexture); + } + if (this.metallicTexture && this.metallicTexture.animations && this.metallicTexture.animations.length > 0) { + results.push(this.metallicTexture); + } + else if (this.reflectivityTexture && this.reflectivityTexture.animations && this.reflectivityTexture.animations.length > 0) { + results.push(this.reflectivityTexture); + } + if (this.bumpTexture && this.bumpTexture.animations && this.bumpTexture.animations.length > 0) { + results.push(this.bumpTexture); + } + if (this.lightmapTexture && this.lightmapTexture.animations && this.lightmapTexture.animations.length > 0) { + results.push(this.lightmapTexture); + } + if (this.refractionTexture && this.refractionTexture.animations && this.refractionTexture.animations.length > 0) { + results.push(this.refractionTexture); + } + if (this.cameraColorGradingTexture && this.cameraColorGradingTexture.animations && this.cameraColorGradingTexture.animations.length > 0) { + results.push(this.cameraColorGradingTexture); + } + return results; + }; + PBRMaterial.prototype.dispose = function (forceDisposeEffect, forceDisposeTextures) { + if (forceDisposeTextures) { + if (this.albedoTexture) { + this.albedoTexture.dispose(); + } + if (this.ambientTexture) { + this.ambientTexture.dispose(); + } + if (this.opacityTexture) { + this.opacityTexture.dispose(); + } + if (this.reflectionTexture) { + this.reflectionTexture.dispose(); + } + if (this.emissiveTexture) { + this.emissiveTexture.dispose(); + } + if (this.metallicTexture) { + this.metallicTexture.dispose(); + } + if (this.reflectivityTexture) { + this.reflectivityTexture.dispose(); + } + if (this.bumpTexture) { + this.bumpTexture.dispose(); + } + if (this.lightmapTexture) { + this.lightmapTexture.dispose(); + } + if (this.refractionTexture) { + this.refractionTexture.dispose(); + } + if (this.cameraColorGradingTexture) { + this.cameraColorGradingTexture.dispose(); + } + } + _super.prototype.dispose.call(this, forceDisposeEffect, forceDisposeTextures); + }; + PBRMaterial.prototype.clone = function (name) { + var _this = this; + return BABYLON.SerializationHelper.Clone(function () { return new PBRMaterial(name, _this.getScene()); }, this); + }; + PBRMaterial.prototype.serialize = function () { + var serializationObject = BABYLON.SerializationHelper.Serialize(this); + serializationObject.customType = "BABYLON.PBRMaterial"; + return serializationObject; + }; + // Statics + PBRMaterial.Parse = function (source, scene, rootUrl) { + return BABYLON.SerializationHelper.Parse(function () { return new PBRMaterial(source.name, scene); }, source, scene, rootUrl); + }; + PBRMaterial._scaledAlbedo = new BABYLON.Color3(); + PBRMaterial._scaledReflectivity = new BABYLON.Color3(); + PBRMaterial._scaledEmissive = new BABYLON.Color3(); + PBRMaterial._scaledReflection = new BABYLON.Color3(); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "directIntensity", void 0); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "emissiveIntensity", void 0); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "environmentIntensity", void 0); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "specularIntensity", void 0); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "disableBumpMap", void 0); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "overloadedShadowIntensity", void 0); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "overloadedShadeIntensity", void 0); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "cameraExposure", void 0); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "cameraContrast", void 0); + __decorate([ + BABYLON.serializeAsTexture() + ], PBRMaterial.prototype, "cameraColorGradingTexture", void 0); + __decorate([ + BABYLON.serializeAsColorCurves() + ], PBRMaterial.prototype, "cameraColorCurves", void 0); + __decorate([ + BABYLON.serializeAsColor3() + ], PBRMaterial.prototype, "overloadedAmbient", void 0); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "overloadedAmbientIntensity", void 0); + __decorate([ + BABYLON.serializeAsColor3() + ], PBRMaterial.prototype, "overloadedAlbedo", void 0); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "overloadedAlbedoIntensity", void 0); + __decorate([ + BABYLON.serializeAsColor3() + ], PBRMaterial.prototype, "overloadedReflectivity", void 0); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "overloadedReflectivityIntensity", void 0); + __decorate([ + BABYLON.serializeAsColor3() + ], PBRMaterial.prototype, "overloadedEmissive", void 0); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "overloadedEmissiveIntensity", void 0); + __decorate([ + BABYLON.serializeAsColor3() + ], PBRMaterial.prototype, "overloadedReflection", void 0); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "overloadedReflectionIntensity", void 0); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "overloadedMicroSurface", void 0); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "overloadedMicroSurfaceIntensity", void 0); + __decorate([ + BABYLON.serializeAsTexture() + ], PBRMaterial.prototype, "albedoTexture", void 0); + __decorate([ + BABYLON.serializeAsTexture() + ], PBRMaterial.prototype, "ambientTexture", void 0); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "ambientTextureStrength", void 0); + __decorate([ + BABYLON.serializeAsTexture() + ], PBRMaterial.prototype, "opacityTexture", void 0); + __decorate([ + BABYLON.serializeAsTexture() + ], PBRMaterial.prototype, "reflectionTexture", void 0); + __decorate([ + BABYLON.serializeAsTexture() + ], PBRMaterial.prototype, "emissiveTexture", void 0); + __decorate([ + BABYLON.serializeAsTexture() + ], PBRMaterial.prototype, "reflectivityTexture", void 0); + __decorate([ + BABYLON.serializeAsTexture() + ], PBRMaterial.prototype, "metallicTexture", void 0); + __decorate([ + BABYLON.serializeAsTexture() + ], PBRMaterial.prototype, "bumpTexture", void 0); + __decorate([ + BABYLON.serializeAsTexture() + ], PBRMaterial.prototype, "lightmapTexture", void 0); + __decorate([ + BABYLON.serializeAsTexture() + ], PBRMaterial.prototype, "refractionTexture", void 0); + __decorate([ + BABYLON.serializeAsColor3("ambient") + ], PBRMaterial.prototype, "ambientColor", void 0); + __decorate([ + BABYLON.serializeAsColor3("albedo") + ], PBRMaterial.prototype, "albedoColor", void 0); + __decorate([ + BABYLON.serializeAsColor3("reflectivity") + ], PBRMaterial.prototype, "reflectivityColor", void 0); + __decorate([ + BABYLON.serializeAsColor3("reflection") + ], PBRMaterial.prototype, "reflectionColor", void 0); + __decorate([ + BABYLON.serializeAsColor3("emissive") + ], PBRMaterial.prototype, "emissiveColor", void 0); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "microSurface", void 0); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "indexOfRefraction", void 0); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "invertRefractionY", void 0); + __decorate([ + BABYLON.serializeAsFresnelParameters() + ], PBRMaterial.prototype, "opacityFresnelParameters", void 0); + __decorate([ + BABYLON.serializeAsFresnelParameters() + ], PBRMaterial.prototype, "emissiveFresnelParameters", void 0); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "linkRefractionWithTransparency", void 0); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "linkEmissiveWithAlbedo", void 0); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "useLightmapAsShadowmap", void 0); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "useEmissiveAsIllumination", void 0); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "useAlphaFromAlbedoTexture", void 0); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "useSpecularOverAlpha", void 0); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "useMicroSurfaceFromReflectivityMapAlpha", void 0); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "useRoughnessFromMetallicTextureAlpha", void 0); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "useRoughnessFromMetallicTextureGreen", void 0); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "useAutoMicroSurfaceFromReflectivityMap", void 0); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "useScalarInLinearSpace", void 0); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "usePhysicalLightFalloff", void 0); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "useRadianceOverAlpha", void 0); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "useParallax", void 0); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "useParallaxOcclusion", void 0); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "parallaxScaleBias", void 0); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "disableLighting", void 0); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "maxSimultaneousLights", void 0); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "invertNormalMapX", void 0); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "invertNormalMapY", void 0); + __decorate([ + BABYLON.serialize() + ], PBRMaterial.prototype, "useLogarithmicDepth", null); + return PBRMaterial; + }(BABYLON.Material)); + BABYLON.PBRMaterial = PBRMaterial; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.pbrMaterial.js.map + +var BABYLON; +(function (BABYLON) { + var DebugLayer = (function () { + function DebugLayer(scene) { + var _this = this; + this._transformationMatrix = BABYLON.Matrix.Identity(); + this._enabled = false; + this._labelsEnabled = false; + this._displayStatistics = true; + this._displayTree = false; + this._displayLogs = false; + this._skeletonViewers = new Array(); + this._identityMatrix = BABYLON.Matrix.Identity(); + this.axisRatio = 0.02; + this.accentColor = "orange"; + this._scene = scene; + this._syncPositions = function () { + var engine = _this._scene.getEngine(); + var canvasRect = engine.getRenderingCanvasClientRect(); + if (_this._showUI) { + _this._statsDiv.style.left = (canvasRect.width - 410) + "px"; + _this._statsDiv.style.top = (canvasRect.height - 290) + "px"; + _this._statsDiv.style.width = "400px"; + _this._statsDiv.style.height = "auto"; + _this._statsSubsetDiv.style.maxHeight = "240px"; + _this._optionsDiv.style.left = "0px"; + _this._optionsDiv.style.top = "10px"; + _this._optionsDiv.style.width = "200px"; + _this._optionsDiv.style.height = "auto"; + _this._optionsSubsetDiv.style.maxHeight = (canvasRect.height - 225) + "px"; + _this._logDiv.style.left = "0px"; + _this._logDiv.style.top = (canvasRect.height - 170) + "px"; + _this._logDiv.style.width = "600px"; + _this._logDiv.style.height = "160px"; + _this._treeDiv.style.left = (canvasRect.width - 310) + "px"; + _this._treeDiv.style.top = "10px"; + _this._treeDiv.style.width = "300px"; + _this._treeDiv.style.height = "auto"; + _this._treeSubsetDiv.style.maxHeight = (canvasRect.height - 340) + "px"; + } + _this._globalDiv.style.left = canvasRect.left + "px"; + _this._globalDiv.style.top = canvasRect.top + "px"; + _this._drawingCanvas.style.left = "0px"; + _this._drawingCanvas.style.top = "0px"; + _this._drawingCanvas.style.width = engine.getRenderWidth() + "px"; + _this._drawingCanvas.style.height = engine.getRenderHeight() + "px"; + var devicePixelRatio = window.devicePixelRatio || 1; + var context = _this._drawingContext; + var backingStoreRatio = context.webkitBackingStorePixelRatio || + context.mozBackingStorePixelRatio || + context.msBackingStorePixelRatio || + context.oBackingStorePixelRatio || + context.backingStorePixelRatio || 1; + _this._ratio = devicePixelRatio / backingStoreRatio; + _this._drawingCanvas.width = engine.getRenderWidth() * _this._ratio; + _this._drawingCanvas.height = engine.getRenderHeight() * _this._ratio; + }; + this._onCanvasClick = function (evt) { + _this._clickPosition = { + x: evt.clientX * _this._ratio, + y: evt.clientY * _this._ratio + }; + }; + this._syncUI = function () { + if (_this._showUI) { + if (_this._displayStatistics) { + _this._displayStats(); + _this._statsDiv.style.display = ""; + } + else { + _this._statsDiv.style.display = "none"; + } + if (_this._displayLogs) { + _this._logDiv.style.display = ""; + } + else { + _this._logDiv.style.display = "none"; + } + if (_this._displayTree) { + _this._treeDiv.style.display = ""; + if (_this._needToRefreshMeshesTree) { + _this._needToRefreshMeshesTree = false; + _this._refreshMeshesTreeContent(); + } + } + else { + _this._treeDiv.style.display = "none"; + } + } + }; + this._syncData = function () { + if (_this._labelsEnabled || !_this._showUI) { + _this._camera.getViewMatrix().multiplyToRef(_this._camera.getProjectionMatrix(), _this._transformationMatrix); + _this._drawingContext.clearRect(0, 0, _this._drawingCanvas.width, _this._drawingCanvas.height); + var engine = _this._scene.getEngine(); + var viewport = _this._camera.viewport; + var globalViewport = viewport.toGlobal(engine.getRenderWidth(), engine.getRenderHeight()); + // Meshes + var meshes = _this._camera.getActiveMeshes(); + var index; + var projectedPosition; + for (index = 0; index < meshes.length; index++) { + var mesh = meshes.data[index]; + var position = mesh.getBoundingInfo().boundingSphere.center; + projectedPosition = BABYLON.Vector3.Project(position, mesh.getWorldMatrix(), _this._transformationMatrix, globalViewport); + if (mesh.renderOverlay || _this.shouldDisplayAxis && _this.shouldDisplayAxis(mesh)) { + _this._renderAxis(projectedPosition, mesh, globalViewport); + } + if (!_this.shouldDisplayLabel || _this.shouldDisplayLabel(mesh)) { + _this._renderLabel(mesh.name, projectedPosition, 12, function () { mesh.renderOverlay = !mesh.renderOverlay; }, function () { return mesh.renderOverlay ? 'red' : 'black'; }); + } + } + // Cameras + var cameras = _this._scene.cameras; + for (index = 0; index < cameras.length; index++) { + var camera = cameras[index]; + if (camera === _this._camera) { + continue; + } + projectedPosition = BABYLON.Vector3.Project(BABYLON.Vector3.Zero(), camera.getWorldMatrix(), _this._transformationMatrix, globalViewport); + if (!_this.shouldDisplayLabel || _this.shouldDisplayLabel(camera)) { + _this._renderLabel(camera.name, projectedPosition, 12, function () { + _this._camera.detachControl(engine.getRenderingCanvas()); + _this._camera = camera; + _this._camera.attachControl(engine.getRenderingCanvas()); + }, function () { return "purple"; }); + } + } + // Lights + var lights = _this._scene.lights; + for (index = 0; index < lights.length; index++) { + var light = lights[index]; + if (light.position) { + projectedPosition = BABYLON.Vector3.Project(light.getAbsolutePosition(), _this._identityMatrix, _this._transformationMatrix, globalViewport); + if (!_this.shouldDisplayLabel || _this.shouldDisplayLabel(light)) { + _this._renderLabel(light.name, projectedPosition, -20, function () { + light.setEnabled(!light.isEnabled()); + }, function () { return light.isEnabled() ? "orange" : "gray"; }); + } + } + } + } + _this._clickPosition = undefined; + }; + } + DebugLayer.prototype._refreshMeshesTreeContent = function () { + while (this._treeSubsetDiv.hasChildNodes()) { + this._treeSubsetDiv.removeChild(this._treeSubsetDiv.lastChild); + } + // Add meshes + var sortedArray = this._scene.meshes.slice(0, this._scene.meshes.length); + sortedArray.sort(function (a, b) { + if (a.name === b.name) { + return 0; + } + return (a.name > b.name) ? 1 : -1; + }); + for (var index = 0; index < sortedArray.length; index++) { + var mesh = sortedArray[index]; + if (!mesh.isEnabled()) { + continue; + } + this._generateAdvancedCheckBox(this._treeSubsetDiv, mesh.name, mesh.getTotalVertices() + " verts", mesh.isVisible, function (element, m) { + m.isVisible = element.checked; + }, mesh); + } + }; + DebugLayer.prototype._renderSingleAxis = function (zero, unit, unitText, label, color) { + this._drawingContext.beginPath(); + this._drawingContext.moveTo(zero.x, zero.y); + this._drawingContext.lineTo(unit.x, unit.y); + this._drawingContext.strokeStyle = color; + this._drawingContext.lineWidth = 4; + this._drawingContext.stroke(); + this._drawingContext.font = "normal 14px Segoe UI"; + this._drawingContext.fillStyle = color; + this._drawingContext.fillText(label, unitText.x, unitText.y); + }; + DebugLayer.prototype._renderAxis = function (projectedPosition, mesh, globalViewport) { + var position = mesh.getBoundingInfo().boundingSphere.center; + var worldMatrix = mesh.getWorldMatrix(); + var unprojectedVector = BABYLON.Vector3.UnprojectFromTransform(projectedPosition.add(new BABYLON.Vector3(this._drawingCanvas.width * this.axisRatio, 0, 0)), globalViewport.width, globalViewport.height, worldMatrix, this._transformationMatrix); + var unit = (unprojectedVector.subtract(position)).length(); + var xAxis = BABYLON.Vector3.Project(position.add(new BABYLON.Vector3(unit, 0, 0)), worldMatrix, this._transformationMatrix, globalViewport); + var xAxisText = BABYLON.Vector3.Project(position.add(new BABYLON.Vector3(unit * 1.5, 0, 0)), worldMatrix, this._transformationMatrix, globalViewport); + this._renderSingleAxis(projectedPosition, xAxis, xAxisText, "x", "#FF0000"); + var yAxis = BABYLON.Vector3.Project(position.add(new BABYLON.Vector3(0, unit, 0)), worldMatrix, this._transformationMatrix, globalViewport); + var yAxisText = BABYLON.Vector3.Project(position.add(new BABYLON.Vector3(0, unit * 1.5, 0)), worldMatrix, this._transformationMatrix, globalViewport); + this._renderSingleAxis(projectedPosition, yAxis, yAxisText, "y", "#00FF00"); + var zAxis = BABYLON.Vector3.Project(position.add(new BABYLON.Vector3(0, 0, unit)), worldMatrix, this._transformationMatrix, globalViewport); + var zAxisText = BABYLON.Vector3.Project(position.add(new BABYLON.Vector3(0, 0, unit * 1.5)), worldMatrix, this._transformationMatrix, globalViewport); + this._renderSingleAxis(projectedPosition, zAxis, zAxisText, "z", "#0000FF"); + }; + DebugLayer.prototype._renderLabel = function (text, projectedPosition, labelOffset, onClick, getFillStyle) { + if (projectedPosition.z > 0 && projectedPosition.z < 1.0) { + this._drawingContext.font = "normal 12px Segoe UI"; + var textMetrics = this._drawingContext.measureText(text); + var centerX = projectedPosition.x - textMetrics.width / 2; + var centerY = projectedPosition.y; + var clientRect = this._drawingCanvas.getBoundingClientRect(); + if (this._showUI && this._isClickInsideRect(clientRect.left * this._ratio + centerX - 5, clientRect.top * this._ratio + centerY - labelOffset - 12, textMetrics.width + 10, 17)) { + onClick(); + } + this._drawingContext.beginPath(); + this._drawingContext.rect(centerX - 5, centerY - labelOffset - 12, textMetrics.width + 10, 17); + this._drawingContext.fillStyle = getFillStyle(); + this._drawingContext.globalAlpha = 0.5; + this._drawingContext.fill(); + this._drawingContext.globalAlpha = 1.0; + this._drawingContext.strokeStyle = '#FFFFFF'; + this._drawingContext.lineWidth = 1; + this._drawingContext.stroke(); + this._drawingContext.fillStyle = "#FFFFFF"; + this._drawingContext.fillText(text, centerX, centerY - labelOffset); + this._drawingContext.beginPath(); + this._drawingContext.arc(projectedPosition.x, centerY, 5, 0, 2 * Math.PI, false); + this._drawingContext.fill(); + } + }; + DebugLayer.prototype._isClickInsideRect = function (x, y, width, height) { + if (!this._clickPosition) { + return false; + } + if (this._clickPosition.x < x || this._clickPosition.x > x + width) { + return false; + } + if (this._clickPosition.y < y || this._clickPosition.y > y + height) { + return false; + } + return true; + }; + DebugLayer.prototype.isVisible = function () { + return this._enabled; + }; + DebugLayer.prototype.hide = function () { + if (!this._enabled) { + return; + } + this._enabled = false; + var engine = this._scene.getEngine(); + this._scene.unregisterBeforeRender(this._syncData); + this._scene.unregisterAfterRender(this._syncUI); + this._rootElement.removeChild(this._globalDiv); + this._scene.forceShowBoundingBoxes = false; + this._scene.forceWireframe = false; + BABYLON.StandardMaterial.DiffuseTextureEnabled = true; + BABYLON.StandardMaterial.AmbientTextureEnabled = true; + BABYLON.StandardMaterial.SpecularTextureEnabled = true; + BABYLON.StandardMaterial.EmissiveTextureEnabled = true; + BABYLON.StandardMaterial.BumpTextureEnabled = true; + BABYLON.StandardMaterial.OpacityTextureEnabled = true; + BABYLON.StandardMaterial.ReflectionTextureEnabled = true; + BABYLON.StandardMaterial.LightmapTextureEnabled = true; + BABYLON.StandardMaterial.RefractionTextureEnabled = true; + BABYLON.StandardMaterial.ColorGradingTextureEnabled = true; + this._scene.shadowsEnabled = true; + this._scene.particlesEnabled = true; + this._scene.postProcessesEnabled = true; + this._scene.collisionsEnabled = true; + this._scene.lightsEnabled = true; + this._scene.texturesEnabled = true; + this._scene.lensFlaresEnabled = true; + this._scene.proceduralTexturesEnabled = true; + this._scene.renderTargetsEnabled = true; + this._scene.probesEnabled = true; + engine.getRenderingCanvas().removeEventListener("click", this._onCanvasClick); + this._clearSkeletonViewers(); + }; + DebugLayer.prototype._clearSkeletonViewers = function () { + for (var index = 0; index < this._skeletonViewers.length; index++) { + this._skeletonViewers[index].dispose(); + } + this._skeletonViewers = []; + }; + DebugLayer.prototype.show = function (showUI, camera, rootElement) { + if (showUI === void 0) { showUI = true; } + if (camera === void 0) { camera = null; } + if (rootElement === void 0) { rootElement = null; } + if (this._enabled) { + return; + } + this._enabled = true; + if (camera) { + this._camera = camera; + } + else { + this._camera = this._scene.activeCamera; + } + this._showUI = showUI; + var engine = this._scene.getEngine(); + this._globalDiv = document.createElement("div"); + this._rootElement = rootElement || document.body; + this._rootElement.appendChild(this._globalDiv); + this._generateDOMelements(); + engine.getRenderingCanvas().addEventListener("click", this._onCanvasClick); + this._syncPositions(); + this._scene.registerBeforeRender(this._syncData); + this._scene.registerAfterRender(this._syncUI); + }; + DebugLayer.prototype._clearLabels = function () { + this._drawingContext.clearRect(0, 0, this._drawingCanvas.width, this._drawingCanvas.height); + for (var index = 0; index < this._scene.meshes.length; index++) { + var mesh = this._scene.meshes[index]; + mesh.renderOverlay = false; + } + }; + DebugLayer.prototype._generateheader = function (root, text) { + var header = document.createElement("div"); + header.innerHTML = text + " "; + header.style.textAlign = "right"; + header.style.width = "100%"; + header.style.color = "white"; + header.style.backgroundColor = "Black"; + header.style.padding = "5px 5px 4px 0px"; + header.style.marginLeft = "-5px"; + header.style.fontWeight = "bold"; + root.appendChild(header); + }; + DebugLayer.prototype._generateTexBox = function (root, title, color) { + var label = document.createElement("label"); + label.style.display = "inline"; + label.innerHTML = title; + label.style.color = color; + root.appendChild(label); + root.appendChild(document.createElement("br")); + }; + DebugLayer.prototype._generateAdvancedCheckBox = function (root, leftTitle, rightTitle, initialState, task, tag) { + if (tag === void 0) { tag = null; } + var label = document.createElement("label"); + label.style.display = "inline"; + var boundingBoxesCheckbox = document.createElement("input"); + boundingBoxesCheckbox.type = "checkbox"; + boundingBoxesCheckbox.checked = initialState; + boundingBoxesCheckbox.style.display = "inline"; + boundingBoxesCheckbox.style.margin = "0px 5px 0px 0px"; + boundingBoxesCheckbox.style.verticalAlign = "sub"; + boundingBoxesCheckbox.addEventListener("change", function (evt) { + task(evt.target, tag); + }); + label.appendChild(boundingBoxesCheckbox); + var container = document.createElement("span"); + var leftPart = document.createElement("span"); + var rightPart = document.createElement("span"); + rightPart.style.cssFloat = "right"; + leftPart.innerHTML = leftTitle; + rightPart.innerHTML = rightTitle; + rightPart.style.fontSize = "12px"; + rightPart.style.maxWidth = "200px"; + container.appendChild(leftPart); + container.appendChild(rightPart); + label.appendChild(container); + root.appendChild(label); + root.appendChild(document.createElement("br")); + }; + DebugLayer.prototype._generateCheckBox = function (root, title, initialState, task, tag) { + if (tag === void 0) { tag = null; } + var label = document.createElement("label"); + label.style.display = "inline"; + var checkBox = document.createElement("input"); + checkBox.type = "checkbox"; + checkBox.checked = initialState; + checkBox.style.display = "inline"; + checkBox.style.margin = "0px 5px 0px 0px"; + checkBox.style.verticalAlign = "sub"; + checkBox.addEventListener("change", function (evt) { + task(evt.target, tag); + }); + label.appendChild(checkBox); + label.appendChild(document.createTextNode(title)); + root.appendChild(label); + root.appendChild(document.createElement("br")); + }; + DebugLayer.prototype._generateButton = function (root, title, task, tag) { + if (tag === void 0) { tag = null; } + var button = document.createElement("button"); + button.innerHTML = title; + button.style.height = "24px"; + button.style.width = "150px"; + button.style.marginBottom = "5px"; + button.style.color = "#444444"; + button.style.border = "1px solid white"; + button.className = "debugLayerButton"; + button.addEventListener("click", function (evt) { + task(evt.target, tag); + }); + root.appendChild(button); + root.appendChild(document.createElement("br")); + }; + DebugLayer.prototype._generateRadio = function (root, title, name, initialState, task, tag) { + if (tag === void 0) { tag = null; } + var label = document.createElement("label"); + label.style.display = "inline"; + var boundingBoxesRadio = document.createElement("input"); + boundingBoxesRadio.type = "radio"; + boundingBoxesRadio.name = name; + boundingBoxesRadio.checked = initialState; + boundingBoxesRadio.style.display = "inline"; + boundingBoxesRadio.style.margin = "0px 5px 0px 0px"; + boundingBoxesRadio.style.verticalAlign = "sub"; + boundingBoxesRadio.addEventListener("change", function (evt) { + task(evt.target, tag); + }); + label.appendChild(boundingBoxesRadio); + label.appendChild(document.createTextNode(title)); + root.appendChild(label); + root.appendChild(document.createElement("br")); + }; + DebugLayer.prototype._generateDOMelements = function () { + var _this = this; + this._globalDiv.id = "DebugLayer"; + this._globalDiv.style.position = "absolute"; + this._globalDiv.style.fontFamily = "Segoe UI, Arial"; + this._globalDiv.style.fontSize = "14px"; + this._globalDiv.style.color = "white"; + // Drawing canvas + this._drawingCanvas = document.createElement("canvas"); + this._drawingCanvas.id = "DebugLayerDrawingCanvas"; + this._drawingCanvas.style.position = "absolute"; + this._drawingCanvas.style.pointerEvents = "none"; + this._drawingCanvas.style.backgroundColor = "transparent"; + this._drawingContext = this._drawingCanvas.getContext("2d"); + this._globalDiv.appendChild(this._drawingCanvas); + if (this._showUI) { + var background = "rgba(128, 128, 128, 0.4)"; + var border = "rgb(180, 180, 180) solid 1px"; + // Stats + this._statsDiv = document.createElement("div"); + this._statsDiv.id = "DebugLayerStats"; + this._statsDiv.style.border = border; + this._statsDiv.style.position = "absolute"; + this._statsDiv.style.background = background; + this._statsDiv.style.padding = "0px 0px 0px 5px"; + this._generateheader(this._statsDiv, "STATISTICS"); + this._statsSubsetDiv = document.createElement("div"); + this._statsSubsetDiv.style.paddingTop = "5px"; + this._statsSubsetDiv.style.paddingBottom = "5px"; + this._statsSubsetDiv.style.overflowY = "auto"; + this._statsDiv.appendChild(this._statsSubsetDiv); + // Tree + this._treeDiv = document.createElement("div"); + this._treeDiv.id = "DebugLayerTree"; + this._treeDiv.style.border = border; + this._treeDiv.style.position = "absolute"; + this._treeDiv.style.background = background; + this._treeDiv.style.padding = "0px 0px 0px 5px"; + this._treeDiv.style.display = "none"; + this._generateheader(this._treeDiv, "MESHES TREE"); + this._treeSubsetDiv = document.createElement("div"); + this._treeSubsetDiv.style.paddingTop = "5px"; + this._treeSubsetDiv.style.paddingRight = "5px"; + this._treeSubsetDiv.style.overflowY = "auto"; + this._treeSubsetDiv.style.maxHeight = "300px"; + this._treeDiv.appendChild(this._treeSubsetDiv); + this._needToRefreshMeshesTree = true; + // Logs + this._logDiv = document.createElement("div"); + this._logDiv.style.border = border; + this._logDiv.id = "DebugLayerLogs"; + this._logDiv.style.position = "absolute"; + this._logDiv.style.background = background; + this._logDiv.style.padding = "0px 0px 0px 5px"; + this._logDiv.style.display = "none"; + this._generateheader(this._logDiv, "LOGS"); + this._logSubsetDiv = document.createElement("div"); + this._logSubsetDiv.style.height = "127px"; + this._logSubsetDiv.style.paddingTop = "5px"; + this._logSubsetDiv.style.overflowY = "auto"; + this._logSubsetDiv.style.fontSize = "12px"; + this._logSubsetDiv.style.fontFamily = "consolas"; + this._logSubsetDiv.innerHTML = BABYLON.Tools.LogCache; + this._logDiv.appendChild(this._logSubsetDiv); + BABYLON.Tools.OnNewCacheEntry = function (entry) { + _this._logSubsetDiv.innerHTML = entry + _this._logSubsetDiv.innerHTML; + }; + // Options + this._optionsDiv = document.createElement("div"); + this._optionsDiv.id = "DebugLayerOptions"; + this._optionsDiv.style.border = border; + this._optionsDiv.style.position = "absolute"; + this._optionsDiv.style.background = background; + this._optionsDiv.style.padding = "0px 0px 0px 5px"; + this._optionsDiv.style.overflowY = "auto"; + this._generateheader(this._optionsDiv, "OPTIONS"); + this._optionsSubsetDiv = document.createElement("div"); + this._optionsSubsetDiv.style.paddingTop = "5px"; + this._optionsSubsetDiv.style.paddingBottom = "5px"; + this._optionsSubsetDiv.style.overflowY = "auto"; + this._optionsSubsetDiv.style.maxHeight = "200px"; + this._optionsDiv.appendChild(this._optionsSubsetDiv); + this._generateTexBox(this._optionsSubsetDiv, "Windows:", this.accentColor); + this._generateCheckBox(this._optionsSubsetDiv, "Statistics", this._displayStatistics, function (element) { _this._displayStatistics = element.checked; }); + this._generateCheckBox(this._optionsSubsetDiv, "Logs", this._displayLogs, function (element) { _this._displayLogs = element.checked; }); + this._generateCheckBox(this._optionsSubsetDiv, "Meshes tree", this._displayTree, function (element) { + _this._displayTree = element.checked; + _this._needToRefreshMeshesTree = true; + }); + this._optionsSubsetDiv.appendChild(document.createElement("br")); + this._generateTexBox(this._optionsSubsetDiv, "General:", this.accentColor); + this._generateCheckBox(this._optionsSubsetDiv, "Bounding boxes", this._scene.forceShowBoundingBoxes, function (element) { _this._scene.forceShowBoundingBoxes = element.checked; }); + this._generateCheckBox(this._optionsSubsetDiv, "Clickable labels", this._labelsEnabled, function (element) { + _this._labelsEnabled = element.checked; + if (!_this._labelsEnabled) { + _this._clearLabels(); + } + }); + this._generateCheckBox(this._optionsSubsetDiv, "Generate user marks (F12)", BABYLON.Tools.PerformanceLogLevel === BABYLON.Tools.PerformanceUserMarkLogLevel, function (element) { + if (element.checked) { + BABYLON.Tools.PerformanceLogLevel = BABYLON.Tools.PerformanceUserMarkLogLevel; + } + else { + BABYLON.Tools.PerformanceLogLevel = BABYLON.Tools.PerformanceNoneLogLevel; + } + }); + ; + this._optionsSubsetDiv.appendChild(document.createElement("br")); + this._generateTexBox(this._optionsSubsetDiv, "Rendering mode:", this.accentColor); + this._generateRadio(this._optionsSubsetDiv, "Solid", "renderMode", !this._scene.forceWireframe && !this._scene.forcePointsCloud, function (element) { + if (element.checked) { + _this._scene.forceWireframe = false; + _this._scene.forcePointsCloud = false; + } + }); + this._generateRadio(this._optionsSubsetDiv, "Wireframe", "renderMode", this._scene.forceWireframe, function (element) { + if (element.checked) { + _this._scene.forceWireframe = true; + _this._scene.forcePointsCloud = false; + } + }); + this._generateRadio(this._optionsSubsetDiv, "Point", "renderMode", this._scene.forcePointsCloud, function (element) { + if (element.checked) { + _this._scene.forceWireframe = false; + _this._scene.forcePointsCloud = true; + } + }); + this._optionsSubsetDiv.appendChild(document.createElement("br")); + this._generateTexBox(this._optionsSubsetDiv, "Texture channels:", this.accentColor); + this._generateCheckBox(this._optionsSubsetDiv, "Diffuse", BABYLON.StandardMaterial.DiffuseTextureEnabled, function (element) { BABYLON.StandardMaterial.DiffuseTextureEnabled = element.checked; }); + this._generateCheckBox(this._optionsSubsetDiv, "Ambient", BABYLON.StandardMaterial.AmbientTextureEnabled, function (element) { BABYLON.StandardMaterial.AmbientTextureEnabled = element.checked; }); + this._generateCheckBox(this._optionsSubsetDiv, "Specular", BABYLON.StandardMaterial.SpecularTextureEnabled, function (element) { BABYLON.StandardMaterial.SpecularTextureEnabled = element.checked; }); + this._generateCheckBox(this._optionsSubsetDiv, "Emissive", BABYLON.StandardMaterial.EmissiveTextureEnabled, function (element) { BABYLON.StandardMaterial.EmissiveTextureEnabled = element.checked; }); + this._generateCheckBox(this._optionsSubsetDiv, "Bump", BABYLON.StandardMaterial.BumpTextureEnabled, function (element) { BABYLON.StandardMaterial.BumpTextureEnabled = element.checked; }); + this._generateCheckBox(this._optionsSubsetDiv, "Opacity", BABYLON.StandardMaterial.OpacityTextureEnabled, function (element) { BABYLON.StandardMaterial.OpacityTextureEnabled = element.checked; }); + this._generateCheckBox(this._optionsSubsetDiv, "Reflection", BABYLON.StandardMaterial.ReflectionTextureEnabled, function (element) { BABYLON.StandardMaterial.ReflectionTextureEnabled = element.checked; }); + this._generateCheckBox(this._optionsSubsetDiv, "Refraction", BABYLON.StandardMaterial.RefractionTextureEnabled, function (element) { BABYLON.StandardMaterial.RefractionTextureEnabled = element.checked; }); + this._generateCheckBox(this._optionsSubsetDiv, "ColorGrading", BABYLON.StandardMaterial.ColorGradingTextureEnabled, function (element) { BABYLON.StandardMaterial.ColorGradingTextureEnabled = element.checked; }); + this._generateCheckBox(this._optionsSubsetDiv, "Lightmap", BABYLON.StandardMaterial.LightmapTextureEnabled, function (element) { BABYLON.StandardMaterial.LightmapTextureEnabled = element.checked; }); + this._generateCheckBox(this._optionsSubsetDiv, "Fresnel", BABYLON.StandardMaterial.FresnelEnabled, function (element) { BABYLON.StandardMaterial.FresnelEnabled = element.checked; }); + this._optionsSubsetDiv.appendChild(document.createElement("br")); + this._generateTexBox(this._optionsSubsetDiv, "Options:", this.accentColor); + this._generateCheckBox(this._optionsSubsetDiv, "Animations", this._scene.animationsEnabled, function (element) { _this._scene.animationsEnabled = element.checked; }); + this._generateCheckBox(this._optionsSubsetDiv, "Collisions", this._scene.collisionsEnabled, function (element) { _this._scene.collisionsEnabled = element.checked; }); + this._generateCheckBox(this._optionsSubsetDiv, "Fog", this._scene.fogEnabled, function (element) { _this._scene.fogEnabled = element.checked; }); + this._generateCheckBox(this._optionsSubsetDiv, "Lens flares", this._scene.lensFlaresEnabled, function (element) { _this._scene.lensFlaresEnabled = element.checked; }); + this._generateCheckBox(this._optionsSubsetDiv, "Lights", this._scene.lightsEnabled, function (element) { _this._scene.lightsEnabled = element.checked; }); + this._generateCheckBox(this._optionsSubsetDiv, "Particles", this._scene.particlesEnabled, function (element) { _this._scene.particlesEnabled = element.checked; }); + this._generateCheckBox(this._optionsSubsetDiv, "Post-processes", this._scene.postProcessesEnabled, function (element) { _this._scene.postProcessesEnabled = element.checked; }); + this._generateCheckBox(this._optionsSubsetDiv, "Probes", this._scene.probesEnabled, function (element) { _this._scene.probesEnabled = element.checked; }); + this._generateCheckBox(this._optionsSubsetDiv, "Procedural textures", this._scene.proceduralTexturesEnabled, function (element) { _this._scene.proceduralTexturesEnabled = element.checked; }); + this._generateCheckBox(this._optionsSubsetDiv, "Render targets", this._scene.renderTargetsEnabled, function (element) { _this._scene.renderTargetsEnabled = element.checked; }); + this._generateCheckBox(this._optionsSubsetDiv, "Shadows", this._scene.shadowsEnabled, function (element) { _this._scene.shadowsEnabled = element.checked; }); + this._generateCheckBox(this._optionsSubsetDiv, "Skeletons", this._scene.skeletonsEnabled, function (element) { _this._scene.skeletonsEnabled = element.checked; }); + this._generateCheckBox(this._optionsSubsetDiv, "Sprites", this._scene.spritesEnabled, function (element) { _this._scene.spritesEnabled = element.checked; }); + this._generateCheckBox(this._optionsSubsetDiv, "Textures", this._scene.texturesEnabled, function (element) { _this._scene.texturesEnabled = element.checked; }); + if (BABYLON.AudioEngine && BABYLON.Engine.audioEngine.canUseWebAudio) { + this._optionsSubsetDiv.appendChild(document.createElement("br")); + this._generateTexBox(this._optionsSubsetDiv, "Audio:", this.accentColor); + this._generateRadio(this._optionsSubsetDiv, "Headphones", "panningModel", this._scene.headphone, function (element) { + if (element.checked) { + _this._scene.headphone = true; + } + }); + this._generateRadio(this._optionsSubsetDiv, "Normal Speakers", "panningModel", !this._scene.headphone, function (element) { + if (element.checked) { + _this._scene.headphone = false; + } + }); + this._generateCheckBox(this._optionsSubsetDiv, "Disable audio", !this._scene.audioEnabled, function (element) { + _this._scene.audioEnabled = !element.checked; + }); + } + this._optionsSubsetDiv.appendChild(document.createElement("br")); + this._generateTexBox(this._optionsSubsetDiv, "Viewers:", this.accentColor); + this._generateCheckBox(this._optionsSubsetDiv, "Skeletons", false, function (element) { + if (!element.checked) { + _this._clearSkeletonViewers(); + return; + } + for (var index = 0; index < _this._scene.meshes.length; index++) { + var mesh = _this._scene.meshes[index]; + if (mesh.skeleton) { + var found = false; + for (var sIndex = 0; sIndex < _this._skeletonViewers.length; sIndex++) { + if (_this._skeletonViewers[sIndex].skeleton === mesh.skeleton) { + found = true; + break; + } + } + if (found) { + continue; + } + var viewer = new BABYLON.Debug.SkeletonViewer(mesh.skeleton, mesh, _this._scene); + viewer.isEnabled = true; + _this._skeletonViewers.push(viewer); + } + } + }); + this._optionsSubsetDiv.appendChild(document.createElement("br")); + this._generateTexBox(this._optionsSubsetDiv, "Tools:", this.accentColor); + this._generateButton(this._optionsSubsetDiv, "Dump rendertargets", function (element) { _this._scene.dumpNextRenderTargets = true; }); + this._generateButton(this._optionsSubsetDiv, "Run SceneOptimizer", function (element) { BABYLON.SceneOptimizer.OptimizeAsync(_this._scene); }); + this._generateButton(this._optionsSubsetDiv, "Log camera object", function (element) { + if (_this._camera) { + console.log(_this._camera); + } + else { + console.warn("No camera defined, or debug layer created before camera creation!"); + } + }); + this._optionsSubsetDiv.appendChild(document.createElement("br")); + this._globalDiv.appendChild(this._statsDiv); + this._globalDiv.appendChild(this._logDiv); + this._globalDiv.appendChild(this._optionsDiv); + this._globalDiv.appendChild(this._treeDiv); + } + }; + DebugLayer.prototype._displayStats = function () { + var scene = this._scene; + var engine = scene.getEngine(); + var glInfo = engine.getGlInfo(); + this._statsSubsetDiv.innerHTML = "Babylon.js v" + BABYLON.Engine.Version + " - " + BABYLON.Tools.Format(engine.getFps(), 0) + " fps

      " + + "

      Show 3x3 marker id 20 to camera to display a colorful sphere on top of it. Tap the sphere to rotate it. + +

      " + + "
      " + + "Extensions
      " + + "Std derivatives: " + (engine.getCaps().standardDerivatives ? "Yes" : "No") + "
      " + + "Compressed textures: " + (engine.getCaps().s3tc ? "Yes" : "No") + "
      " + + "Hardware instances: " + (engine.getCaps().instancedArrays ? "Yes" : "No") + "
      " + + "Texture float: " + (engine.getCaps().textureFloat ? "Yes" : "No") + "

      " + + "32bits indices: " + (engine.getCaps().uintIndices ? "Yes" : "No") + "
      " + + "Fragment depth: " + (engine.getCaps().fragmentDepthSupported ? "Yes" : "No") + "
      " + + "High precision shaders: " + (engine.getCaps().highPrecisionShaderSupported ? "Yes" : "No") + "
      " + + "Draw buffers: " + (engine.getCaps().drawBuffersExtension ? "Yes" : "No") + "
      " + + "

      " + + "
      " + + "Caps.
      " + + "Stencil: " + (engine.isStencilEnable ? "Enabled" : "Disabled") + "
      " + + "Max textures units: " + engine.getCaps().maxTexturesImageUnits + "
      " + + "Max textures size: " + engine.getCaps().maxTextureSize + "
      " + + "Max anisotropy: " + engine.getCaps().maxAnisotropy + "
      " + + "Info
      " + + "WebGL feature level: " + engine.webGLVersion + "
      " + + glInfo.version + "
      " + + "

      " + + glInfo.renderer + "
      "; + if (this.customStatsFunction) { + this._statsSubsetDiv.innerHTML += this.customStatsFunction(); + } + }; + return DebugLayer; + }()); + BABYLON.DebugLayer = DebugLayer; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.debugLayer.js.map + + + + + + + +var BABYLON; +(function (BABYLON) { + var StandardRenderingPipeline = (function (_super) { + __extends(StandardRenderingPipeline, _super); + /** + * @constructor + * @param {string} name - The rendering pipeline name + * @param {BABYLON.Scene} scene - The scene linked to this pipeline + * @param {any} ratio - The size of the postprocesses (0.5 means that your postprocess will have a width = canvas.width 0.5 and a height = canvas.height 0.5) + * @param {BABYLON.PostProcess} originalPostProcess - the custom original color post-process. Must be "reusable". Can be null. + * @param {BABYLON.Camera[]} cameras - The array of cameras that the rendering pipeline will be attached to + */ + function StandardRenderingPipeline(name, scene, ratio, originalPostProcess, cameras) { + var _this = this; + if (originalPostProcess === void 0) { originalPostProcess = null; } + _super.call(this, scene.getEngine(), name); + this.downSampleX4PostProcess = null; + this.brightPassPostProcess = null; + this.gaussianBlurHPostProcesses = []; + this.gaussianBlurVPostProcesses = []; + this.textureAdderPostProcess = null; + this.textureAdderFinalPostProcess = null; + this.lensFlarePostProcess = null; + this.lensFlareComposePostProcess = null; + this.depthOfFieldPostProcess = null; + // Values + this.brightThreshold = 1.0; + this.blurWidth = 2.0; + this.gaussianCoefficient = 0.25; + this.gaussianMean = 1.0; + this.gaussianStandardDeviation = 1.0; + this.exposure = 1.0; + this.lensTexture = null; + this.lensColorTexture = null; + this.lensFlareStrength = 20.0; + this.lensFlareGhostDispersal = 1.4; + this.lensFlareHaloWidth = 0.7; + this.lensFlareDistortionStrength = 16.0; + this.lensStarTexture = null; + this.lensFlareDirtTexture = null; + this.depthOfFieldDistance = 10.0; + // IAnimatable + this.animations = []; + this._depthRenderer = null; + // Getters and setters + this._depthOfFieldEnabled = true; + this._lensFlareEnabled = true; + // Initialize + this._scene = scene; + // Create pass post-processe + if (!originalPostProcess) { + this.originalPostProcess = new BABYLON.PostProcess("HDRPass", "standard", [], [], ratio, null, BABYLON.Texture.BILINEAR_SAMPLINGMODE, scene.getEngine(), true, "#define PASS_POST_PROCESS", BABYLON.Engine.TEXTURETYPE_FLOAT); + } + else { + this.originalPostProcess = originalPostProcess; + } + this.addEffect(new BABYLON.PostProcessRenderEffect(scene.getEngine(), "HDRPassPostProcess", function () { return _this.originalPostProcess; }, true)); + // Create down sample X4 post-process + this._createDownSampleX4PostProcess(scene, ratio / 2); + // Create bright pass post-process + this._createBrightPassPostProcess(scene, ratio / 2); + // Create gaussian blur post-processes (down sampling blurs) + this._createGaussianBlurPostProcesses(scene, ratio / 2, 0); + this._createGaussianBlurPostProcesses(scene, ratio / 4, 1); + this._createGaussianBlurPostProcesses(scene, ratio / 8, 2); + this._createGaussianBlurPostProcesses(scene, ratio / 16, 3); + // Create texture adder post-process + this._createTextureAdderPostProcess(scene, ratio); + // Create depth-of-field source post-process + this.textureAdderFinalPostProcess = new BABYLON.PostProcess("HDRDepthOfFieldSource", "standard", [], [], ratio, null, BABYLON.Texture.BILINEAR_SAMPLINGMODE, scene.getEngine(), true, "#define PASS_POST_PROCESS", BABYLON.Engine.TEXTURETYPE_UNSIGNED_INT); + this.addEffect(new BABYLON.PostProcessRenderEffect(scene.getEngine(), "HDRDepthOfFieldSource", function () { return _this.textureAdderFinalPostProcess; }, true)); + // Create lens flare post-process + this._createLensFlarePostProcess(scene, ratio); + // Create gaussian blur used by depth-of-field + this._createGaussianBlurPostProcesses(scene, ratio / 2, 5); + // Create depth-of-field post-process + this._createDepthOfFieldPostProcess(scene, ratio); + // Finish + scene.postProcessRenderPipelineManager.addPipeline(this); + if (cameras !== null) { + scene.postProcessRenderPipelineManager.attachCamerasToRenderPipeline(name, cameras); + } + // Deactivate + this.LensFlareEnabled = false; + this.DepthOfFieldEnabled = false; + } + Object.defineProperty(StandardRenderingPipeline.prototype, "DepthOfFieldEnabled", { + get: function () { + return this._depthOfFieldEnabled; + }, + set: function (enabled) { + var blurIndex = this.gaussianBlurHPostProcesses.length - 1; + if (enabled && !this._depthOfFieldEnabled) { + this._scene.postProcessRenderPipelineManager.enableEffectInPipeline(this._name, "HDRGaussianBlurH" + blurIndex, this._scene.cameras); + this._scene.postProcessRenderPipelineManager.enableEffectInPipeline(this._name, "HDRGaussianBlurV" + blurIndex, this._scene.cameras); + this._scene.postProcessRenderPipelineManager.enableEffectInPipeline(this._name, "HDRDepthOfField", this._scene.cameras); + this._depthRenderer = this._scene.enableDepthRenderer(); + } + else if (!enabled && this._depthOfFieldEnabled) { + this._scene.postProcessRenderPipelineManager.disableEffectInPipeline(this._name, "HDRGaussianBlurH" + blurIndex, this._scene.cameras); + this._scene.postProcessRenderPipelineManager.disableEffectInPipeline(this._name, "HDRGaussianBlurV" + blurIndex, this._scene.cameras); + this._scene.postProcessRenderPipelineManager.disableEffectInPipeline(this._name, "HDRDepthOfField", this._scene.cameras); + } + this._depthOfFieldEnabled = enabled; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(StandardRenderingPipeline.prototype, "LensFlareEnabled", { + get: function () { + return this._lensFlareEnabled; + }, + set: function (enabled) { + var blurIndex = this.gaussianBlurHPostProcesses.length - 2; + if (enabled && !this._lensFlareEnabled) { + this._scene.postProcessRenderPipelineManager.enableEffectInPipeline(this._name, "HDRLensFlare", this._scene.cameras); + this._scene.postProcessRenderPipelineManager.enableEffectInPipeline(this._name, "HDRLensFlareShift", this._scene.cameras); + this._scene.postProcessRenderPipelineManager.enableEffectInPipeline(this._name, "HDRGaussianBlurH" + blurIndex, this._scene.cameras); + this._scene.postProcessRenderPipelineManager.enableEffectInPipeline(this._name, "HDRGaussianBlurV" + blurIndex, this._scene.cameras); + this._scene.postProcessRenderPipelineManager.enableEffectInPipeline(this._name, "HDRLensFlareCompose", this._scene.cameras); + } + else if (!enabled && this._lensFlareEnabled) { + this._scene.postProcessRenderPipelineManager.disableEffectInPipeline(this._name, "HDRLensFlare", this._scene.cameras); + this._scene.postProcessRenderPipelineManager.disableEffectInPipeline(this._name, "HDRLensFlareShift", this._scene.cameras); + this._scene.postProcessRenderPipelineManager.disableEffectInPipeline(this._name, "HDRGaussianBlurH" + blurIndex, this._scene.cameras); + this._scene.postProcessRenderPipelineManager.disableEffectInPipeline(this._name, "HDRGaussianBlurV" + blurIndex, this._scene.cameras); + this._scene.postProcessRenderPipelineManager.disableEffectInPipeline(this._name, "HDRLensFlareCompose", this._scene.cameras); + } + this._lensFlareEnabled = enabled; + }, + enumerable: true, + configurable: true + }); + // Down Sample X4 Post-Processs + StandardRenderingPipeline.prototype._createDownSampleX4PostProcess = function (scene, ratio) { + var _this = this; + var downSampleX4Offsets = new Array(32); + this.downSampleX4PostProcess = new BABYLON.PostProcess("HDRDownSampleX4", "standard", ["dsOffsets"], [], ratio, null, BABYLON.Texture.BILINEAR_SAMPLINGMODE, scene.getEngine(), false, "#define DOWN_SAMPLE_X4", BABYLON.Engine.TEXTURETYPE_UNSIGNED_INT); + this.downSampleX4PostProcess.onApply = function (effect) { + var id = 0; + for (var i = -2; i < 2; i++) { + for (var j = -2; j < 2; j++) { + downSampleX4Offsets[id] = (i + 0.5) * (1.0 / _this.downSampleX4PostProcess.width); + downSampleX4Offsets[id + 1] = (j + 0.5) * (1.0 / _this.downSampleX4PostProcess.height); + id += 2; + } + } + effect.setArray2("dsOffsets", downSampleX4Offsets); + }; + // Add to pipeline + this.addEffect(new BABYLON.PostProcessRenderEffect(scene.getEngine(), "HDRDownSampleX4", function () { return _this.downSampleX4PostProcess; }, true)); + }; + // Brightpass Post-Process + StandardRenderingPipeline.prototype._createBrightPassPostProcess = function (scene, ratio) { + var _this = this; + var brightOffsets = new Array(8); + this.brightPassPostProcess = new BABYLON.PostProcess("HDRBrightPass", "standard", ["dsOffsets", "brightThreshold"], [], ratio, null, BABYLON.Texture.BILINEAR_SAMPLINGMODE, scene.getEngine(), false, "#define BRIGHT_PASS", BABYLON.Engine.TEXTURETYPE_UNSIGNED_INT); + this.brightPassPostProcess.onApply = function (effect) { + var sU = (1.0 / _this.brightPassPostProcess.width); + var sV = (1.0 / _this.brightPassPostProcess.height); + brightOffsets[0] = -0.5 * sU; + brightOffsets[1] = 0.5 * sV; + brightOffsets[2] = 0.5 * sU; + brightOffsets[3] = 0.5 * sV; + brightOffsets[4] = -0.5 * sU; + brightOffsets[5] = -0.5 * sV; + brightOffsets[6] = 0.5 * sU; + brightOffsets[7] = -0.5 * sV; + effect.setArray2("dsOffsets", brightOffsets); + effect.setFloat("brightThreshold", _this.brightThreshold); + }; + // Add to pipeline + this.addEffect(new BABYLON.PostProcessRenderEffect(scene.getEngine(), "HDRBrightPass", function () { return _this.brightPassPostProcess; }, true)); + }; + // Create gaussian blur H&V post-processes + StandardRenderingPipeline.prototype._createGaussianBlurPostProcesses = function (scene, ratio, indice) { + var _this = this; + var blurOffsets = new Array(9); + var blurWeights = new Array(9); + var uniforms = ["blurOffsets", "blurWeights", "blurWidth"]; + var callback = function (height) { + return function (effect) { + // Weights + var x = 0.0; + for (var i = 0; i < 9; i++) { + x = (i - 4.0) / 4.0; + blurWeights[i] = + _this.gaussianCoefficient + * (1.0 / Math.sqrt(2.0 * Math.PI * _this.gaussianStandardDeviation)) + * Math.exp((-((x - _this.gaussianMean) * (x - _this.gaussianMean))) / (2.0 * _this.gaussianStandardDeviation * _this.gaussianStandardDeviation)); + } + var lastOutputDimensions = { + width: scene.getEngine().getRenderWidth(), + height: scene.getEngine().getRenderHeight() + }; + for (var i = 0; i < 9; i++) { + var value = (i - 4.0) * (1.0 / (height === true ? lastOutputDimensions.height : lastOutputDimensions.width)); + blurOffsets[i] = value; + } + effect.setArray("blurOffsets", blurOffsets); + effect.setArray("blurWeights", blurWeights); + effect.setFloat("blurWidth", _this.blurWidth); + }; + }; + // Create horizontal gaussian blur post-processes + var gaussianBlurHPostProcess = new BABYLON.PostProcess("HDRGaussianBlurH" + ratio, "standard", uniforms, [], ratio, null, BABYLON.Texture.BILINEAR_SAMPLINGMODE, scene.getEngine(), false, "#define GAUSSIAN_BLUR_H", BABYLON.Engine.TEXTURETYPE_UNSIGNED_INT); + gaussianBlurHPostProcess.onApply = callback(false); + // Create vertical gaussian blur post-process + var gaussianBlurVPostProcess = new BABYLON.PostProcess("HDRGaussianBlurV" + ratio, "standard", uniforms, [], ratio, null, BABYLON.Texture.BILINEAR_SAMPLINGMODE, scene.getEngine(), false, "#define GAUSSIAN_BLUR_V", BABYLON.Engine.TEXTURETYPE_UNSIGNED_INT); + gaussianBlurVPostProcess.onApply = callback(true); + // Add to pipeline + this.addEffect(new BABYLON.PostProcessRenderEffect(scene.getEngine(), "HDRGaussianBlurH" + indice, function () { return gaussianBlurHPostProcess; }, true)); + this.addEffect(new BABYLON.PostProcessRenderEffect(scene.getEngine(), "HDRGaussianBlurV" + indice, function () { return gaussianBlurVPostProcess; }, true)); + // Finish + this.gaussianBlurHPostProcesses.push(gaussianBlurHPostProcess); + this.gaussianBlurVPostProcesses.push(gaussianBlurVPostProcess); + }; + // Create texture adder post-process + StandardRenderingPipeline.prototype._createTextureAdderPostProcess = function (scene, ratio) { + var _this = this; + var lastGaussianBlurPostProcess = this.gaussianBlurVPostProcesses[3]; + this.textureAdderPostProcess = new BABYLON.PostProcess("HDRTextureAdder", "standard", ["exposure"], ["otherSampler", "lensSampler"], ratio, null, BABYLON.Texture.BILINEAR_SAMPLINGMODE, scene.getEngine(), false, "#define TEXTURE_ADDER", BABYLON.Engine.TEXTURETYPE_UNSIGNED_INT); + this.textureAdderPostProcess.onApply = function (effect) { + effect.setTextureFromPostProcess("otherSampler", _this.originalPostProcess); + effect.setTexture("lensSampler", _this.lensTexture); + effect.setFloat("exposure", _this.exposure); + }; + // Add to pipeline + this.addEffect(new BABYLON.PostProcessRenderEffect(scene.getEngine(), "HDRTextureAdder", function () { return _this.textureAdderPostProcess; }, true)); + }; + // Create lens flare post-process + StandardRenderingPipeline.prototype._createLensFlarePostProcess = function (scene, ratio) { + var _this = this; + this.lensFlarePostProcess = new BABYLON.PostProcess("HDRLensFlare", "standard", ["strength", "ghostDispersal", "haloWidth", "resolution", "distortionStrength"], ["lensColorSampler"], ratio / 2, null, BABYLON.Texture.BILINEAR_SAMPLINGMODE, scene.getEngine(), true, "#define LENS_FLARE", BABYLON.Engine.TEXTURETYPE_UNSIGNED_INT); + this.addEffect(new BABYLON.PostProcessRenderEffect(scene.getEngine(), "HDRLensFlare", function () { return _this.lensFlarePostProcess; }, false)); + this._createGaussianBlurPostProcesses(scene, ratio / 4, 4); + this.lensFlareComposePostProcess = new BABYLON.PostProcess("HDRLensFlareCompose", "standard", ["lensStarMatrix"], ["otherSampler", "lensDirtSampler", "lensStarSampler"], ratio, null, BABYLON.Texture.BILINEAR_SAMPLINGMODE, scene.getEngine(), false, "#define LENS_FLARE_COMPOSE", BABYLON.Engine.TEXTURETYPE_UNSIGNED_INT); + this.addEffect(new BABYLON.PostProcessRenderEffect(scene.getEngine(), "HDRLensFlareCompose", function () { return _this.lensFlareComposePostProcess; }, false)); + var resolution = new BABYLON.Vector2(0, 0); + // Lens flare + this.lensFlarePostProcess.onApply = function (effect) { + effect.setTextureFromPostProcess("textureSampler", _this.gaussianBlurHPostProcesses[0]); + effect.setTexture("lensColorSampler", _this.lensColorTexture); + effect.setFloat("strength", _this.lensFlareStrength); + effect.setFloat("ghostDispersal", _this.lensFlareGhostDispersal); + effect.setFloat("haloWidth", _this.lensFlareHaloWidth); + // Shift + resolution.x = _this.lensFlarePostProcess.width; + resolution.y = _this.lensFlarePostProcess.height; + effect.setVector2("resolution", resolution); + effect.setFloat("distortionStrength", _this.lensFlareDistortionStrength); + }; + // Compose + var scaleBias1 = BABYLON.Matrix.FromValues(2.0, 0.0, -1.0, 0.0, 0.0, 2.0, -1.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0); + var scaleBias2 = BABYLON.Matrix.FromValues(0.5, 0.0, 0.5, 0.0, 0.0, 0.5, 0.5, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0); + this.lensFlareComposePostProcess.onApply = function (effect) { + effect.setTextureFromPostProcess("otherSampler", _this.textureAdderFinalPostProcess); + effect.setTexture("lensDirtSampler", _this.lensFlareDirtTexture); + effect.setTexture("lensStarSampler", _this.lensStarTexture); + // Lens start rotation matrix + var camerax = _this._scene.activeCamera.getViewMatrix().getRow(0); + var cameraz = _this._scene.activeCamera.getViewMatrix().getRow(2); + var camRot = BABYLON.Vector3.Dot(camerax.toVector3(), new BABYLON.Vector3(1.0, 0.0, 0.0)) + BABYLON.Vector3.Dot(cameraz.toVector3(), new BABYLON.Vector3(0.0, 0.0, 1.0)); + camRot *= 4.0; + var starRotation = BABYLON.Matrix.FromValues(Math.cos(camRot) * 0.5, -Math.sin(camRot), 0.0, 0.0, Math.sin(camRot), Math.cos(camRot) * 0.5, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0); + var lensStarMatrix = scaleBias2.multiply(starRotation).multiply(scaleBias1); + effect.setMatrix("lensStarMatrix", lensStarMatrix); + }; + }; + // Create depth-of-field post-process + StandardRenderingPipeline.prototype._createDepthOfFieldPostProcess = function (scene, ratio) { + var _this = this; + this.depthOfFieldPostProcess = new BABYLON.PostProcess("HDRDepthOfField", "standard", ["distance"], ["otherSampler", "depthSampler"], ratio, null, BABYLON.Texture.BILINEAR_SAMPLINGMODE, scene.getEngine(), false, "#define DEPTH_OF_FIELD", BABYLON.Engine.TEXTURETYPE_UNSIGNED_INT); + this.depthOfFieldPostProcess.onApply = function (effect) { + effect.setTextureFromPostProcess("otherSampler", _this.textureAdderFinalPostProcess); + effect.setTexture("depthSampler", _this._depthRenderer.getDepthMap()); + effect.setFloat("distance", _this.depthOfFieldDistance); + }; + // Add to pipeline + this.addEffect(new BABYLON.PostProcessRenderEffect(scene.getEngine(), "HDRDepthOfField", function () { return _this.depthOfFieldPostProcess; }, true)); + }; + // Dispose + StandardRenderingPipeline.prototype.dispose = function () { + for (var i = 0; i < this._scene.cameras.length; i++) { + var camera = this._scene.cameras[i]; + this.originalPostProcess.dispose(camera); + this.downSampleX4PostProcess.dispose(camera); + this.brightPassPostProcess.dispose(camera); + this.textureAdderPostProcess.dispose(camera); + for (var j = 0; j < this.gaussianBlurHPostProcesses.length; j++) { + this.gaussianBlurHPostProcesses[j].dispose(camera); + } + for (var j = 0; j < this.gaussianBlurVPostProcesses.length; j++) { + this.gaussianBlurVPostProcesses[j].dispose(camera); + } + this.textureAdderFinalPostProcess.dispose(camera); + this.lensFlarePostProcess.dispose(camera); + this.lensFlareComposePostProcess.dispose(camera); + this.depthOfFieldPostProcess.dispose(camera); + } + this._scene.postProcessRenderPipelineManager.detachCamerasFromRenderPipeline(this._name, this._scene.cameras); + _super.prototype.dispose.call(this); + }; + return StandardRenderingPipeline; + }(BABYLON.PostProcessRenderPipeline)); + BABYLON.StandardRenderingPipeline = StandardRenderingPipeline; +})(BABYLON || (BABYLON = {})); + +//# sourceMappingURL=babylon.standardRenderingPipeline.js.map + +BABYLON.Effect.ShadersStore={"anaglyphPixelShader":"\nvarying vec2 vUV;\nuniform sampler2D textureSampler;\nuniform sampler2D leftSampler;\nvoid main(void)\n{\nvec4 leftFrag=texture2D(leftSampler,vUV);\nleftFrag=vec4(1.0,leftFrag.g,leftFrag.b,1.0);\nvec4 rightFrag=texture2D(textureSampler,vUV);\nrightFrag=vec4(rightFrag.r,1.0,1.0,1.0);\ngl_FragColor=vec4(rightFrag.rgb*leftFrag.rgb,1.0);\n}","blackAndWhitePixelShader":"\nvarying vec2 vUV;\nuniform sampler2D textureSampler;\nvoid main(void) \n{\nfloat luminance=dot(texture2D(textureSampler,vUV).rgb,vec3(0.3,0.59,0.11));\ngl_FragColor=vec4(luminance,luminance,luminance,1.0);\n}","blurPixelShader":"\nvarying vec2 vUV;\nuniform sampler2D textureSampler;\n\nuniform vec2 screenSize;\nuniform vec2 direction;\nuniform float blurWidth;\nvoid main(void)\n{\nfloat weights[7];\nweights[0]=0.05;\nweights[1]=0.1;\nweights[2]=0.2;\nweights[3]=0.3;\nweights[4]=0.2;\nweights[5]=0.1;\nweights[6]=0.05;\nvec2 texelSize=vec2(1.0/screenSize.x,1.0/screenSize.y);\nvec2 texelStep=texelSize*direction*blurWidth;\nvec2 start=vUV-3.0*texelStep;\nvec4 baseColor=vec4(0.,0.,0.,0.);\nvec2 texelOffset=vec2(0.,0.);\nfor (int i=0; i<7; i++)\n{\nbaseColor+=texture2D(textureSampler,start+texelOffset)*weights[i];\ntexelOffset+=texelStep;\n}\ngl_FragColor=baseColor;\n}","chromaticAberrationPixelShader":"\nuniform sampler2D textureSampler; \n\nuniform float chromatic_aberration;\nuniform float screen_width;\nuniform float screen_height;\n\nvarying vec2 vUV;\nvoid main(void)\n{\nvec2 centered_screen_pos=vec2(vUV.x-0.5,vUV.y-0.5);\nfloat radius2=centered_screen_pos.x*centered_screen_pos.x\n+centered_screen_pos.y*centered_screen_pos.y;\nfloat radius=sqrt(radius2);\nvec4 original=texture2D(textureSampler,vUV);\nif (chromatic_aberration>0.0) {\n\nvec3 ref_indices=vec3(-0.3,0.0,0.3);\nfloat ref_shiftX=chromatic_aberration*radius*17.0/screen_width;\nfloat ref_shiftY=chromatic_aberration*radius*17.0/screen_height;\n\nvec2 ref_coords_r=vec2(vUV.x+ref_indices.r*ref_shiftX,vUV.y+ref_indices.r*ref_shiftY*0.5);\nvec2 ref_coords_g=vec2(vUV.x+ref_indices.g*ref_shiftX,vUV.y+ref_indices.g*ref_shiftY*0.5);\nvec2 ref_coords_b=vec2(vUV.x+ref_indices.b*ref_shiftX,vUV.y+ref_indices.b*ref_shiftY*0.5);\noriginal.r=texture2D(textureSampler,ref_coords_r).r;\noriginal.g=texture2D(textureSampler,ref_coords_g).g;\noriginal.b=texture2D(textureSampler,ref_coords_b).b;\n}\ngl_FragColor=original;\n}","colorPixelShader":"uniform vec4 color;\nvoid main(void) {\ngl_FragColor=color;\n}","colorVertexShader":"\nattribute vec3 position;\n\nuniform mat4 worldViewProjection;\nvoid main(void) {\ngl_Position=worldViewProjection*vec4(position,1.0);\n}","colorCorrectionPixelShader":"\nuniform sampler2D textureSampler; \nuniform sampler2D colorTable; \n\nvarying vec2 vUV;\n\nconst float SLICE_COUNT=16.0; \n\nvec4 sampleAs3DTexture(sampler2D texture,vec3 uv,float width) {\nfloat sliceSize=1.0/width; \nfloat slicePixelSize=sliceSize/width; \nfloat sliceInnerSize=slicePixelSize*(width-1.0); \nfloat zSlice0=min(floor(uv.z*width),width-1.0);\nfloat zSlice1=min(zSlice0+1.0,width-1.0);\nfloat xOffset=slicePixelSize*0.5+uv.x*sliceInnerSize;\nfloat s0=xOffset+(zSlice0*sliceSize);\nfloat s1=xOffset+(zSlice1*sliceSize);\nvec4 slice0Color=texture2D(texture,vec2(s0,uv.y));\nvec4 slice1Color=texture2D(texture,vec2(s1,uv.y));\nfloat zOffset=mod(uv.z*width,1.0);\nvec4 result=mix(slice0Color,slice1Color,zOffset);\nreturn result;\n}\nvoid main(void)\n{\nvec4 screen_color=texture2D(textureSampler,vUV);\ngl_FragColor=sampleAs3DTexture(colorTable,screen_color.rgb,SLICE_COUNT);\n}","convolutionPixelShader":"\nvarying vec2 vUV;\nuniform sampler2D textureSampler;\nuniform vec2 screenSize;\nuniform float kernel[9];\nvoid main(void)\n{\nvec2 onePixel=vec2(1.0,1.0)/screenSize;\nvec4 colorSum =\ntexture2D(textureSampler,vUV+onePixel*vec2(-1,-1))*kernel[0] +\ntexture2D(textureSampler,vUV+onePixel*vec2(0,-1))*kernel[1] +\ntexture2D(textureSampler,vUV+onePixel*vec2(1,-1))*kernel[2] +\ntexture2D(textureSampler,vUV+onePixel*vec2(-1,0))*kernel[3] +\ntexture2D(textureSampler,vUV+onePixel*vec2(0,0))*kernel[4] +\ntexture2D(textureSampler,vUV+onePixel*vec2(1,0))*kernel[5] +\ntexture2D(textureSampler,vUV+onePixel*vec2(-1,1))*kernel[6] +\ntexture2D(textureSampler,vUV+onePixel*vec2(0,1))*kernel[7] +\ntexture2D(textureSampler,vUV+onePixel*vec2(1,1))*kernel[8];\nfloat kernelWeight =\nkernel[0] +\nkernel[1] +\nkernel[2] +\nkernel[3] +\nkernel[4] +\nkernel[5] +\nkernel[6] +\nkernel[7] +\nkernel[8];\nif (kernelWeight<=0.0) {\nkernelWeight=1.0;\n}\ngl_FragColor=vec4((colorSum/kernelWeight).rgb,1);\n}","defaultPixelShader":"#ifdef BUMP\n#extension GL_OES_standard_derivatives : enable\n#endif\n#ifdef LOGARITHMICDEPTH\n#extension GL_EXT_frag_depth : enable\n#endif\n\n#define RECIPROCAL_PI2 0.15915494\nuniform vec3 vEyePosition;\nuniform vec3 vAmbientColor;\nuniform vec4 vDiffuseColor;\n#ifdef SPECULARTERM\nuniform vec4 vSpecularColor;\n#endif\nuniform vec3 vEmissiveColor;\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n\n#include\n\n#include[0..maxSimultaneousLights]\n#include\n#include\n\n#ifdef DIFFUSE\nvarying vec2 vDiffuseUV;\nuniform sampler2D diffuseSampler;\nuniform vec2 vDiffuseInfos;\n#endif\n#ifdef AMBIENT\nvarying vec2 vAmbientUV;\nuniform sampler2D ambientSampler;\nuniform vec2 vAmbientInfos;\n#endif\n#ifdef OPACITY \nvarying vec2 vOpacityUV;\nuniform sampler2D opacitySampler;\nuniform vec2 vOpacityInfos;\n#endif\n#ifdef EMISSIVE\nvarying vec2 vEmissiveUV;\nuniform vec2 vEmissiveInfos;\nuniform sampler2D emissiveSampler;\n#endif\n#ifdef LIGHTMAP\nvarying vec2 vLightmapUV;\nuniform vec2 vLightmapInfos;\nuniform sampler2D lightmapSampler;\n#endif\n#if defined(REFLECTIONMAP_SPHERICAL) || defined(REFLECTIONMAP_PROJECTION) || defined(REFRACTION)\nuniform mat4 view;\n#endif\n#ifdef REFRACTION\nuniform vec4 vRefractionInfos;\n#ifdef REFRACTIONMAP_3D\nuniform samplerCube refractionCubeSampler;\n#else\nuniform sampler2D refraction2DSampler;\nuniform mat4 refractionMatrix;\n#endif\n#ifdef REFRACTIONFRESNEL\nuniform vec4 refractionLeftColor;\nuniform vec4 refractionRightColor;\n#endif\n#endif\n#if defined(SPECULAR) && defined(SPECULARTERM)\nvarying vec2 vSpecularUV;\nuniform vec2 vSpecularInfos;\nuniform sampler2D specularSampler;\n#endif\n\n#include\n#ifdef DIFFUSEFRESNEL\nuniform vec4 diffuseLeftColor;\nuniform vec4 diffuseRightColor;\n#endif\n#ifdef OPACITYFRESNEL\nuniform vec4 opacityParts;\n#endif\n#ifdef EMISSIVEFRESNEL\nuniform vec4 emissiveLeftColor;\nuniform vec4 emissiveRightColor;\n#endif\n\n#ifdef REFLECTION\nuniform vec2 vReflectionInfos;\n#ifdef REFLECTIONMAP_3D\nuniform samplerCube reflectionCubeSampler;\n#else\nuniform sampler2D reflection2DSampler;\n#endif\n#ifdef REFLECTIONMAP_SKYBOX\nvarying vec3 vPositionUVW;\n#else\n#ifdef REFLECTIONMAP_EQUIRECTANGULAR_FIXED\nvarying vec3 vDirectionW;\n#endif\n#if defined(REFLECTIONMAP_PLANAR) || defined(REFLECTIONMAP_CUBIC) || defined(REFLECTIONMAP_PROJECTION)\nuniform mat4 reflectionMatrix;\n#endif\n#endif\n#include\n#ifdef REFLECTIONFRESNEL\nuniform vec4 reflectionLeftColor;\nuniform vec4 reflectionRightColor;\n#endif\n#endif\n#ifdef CAMERACOLORGRADING\n#include \n#include\n#endif\n#ifdef CAMERACOLORCURVES\n#include\n#include\n#endif\n#include\n#include\n#include\n#include\nvoid main(void) {\n#include\nvec3 viewDirectionW=normalize(vEyePosition-vPositionW);\n\nvec4 baseColor=vec4(1.,1.,1.,1.);\nvec3 diffuseColor=vDiffuseColor.rgb;\n\nfloat alpha=vDiffuseColor.a;\n\n#ifdef NORMAL\nvec3 normalW=normalize(vNormalW);\n#else\nvec3 normalW=vec3(1.0,1.0,1.0);\n#endif\n#include\n#ifdef DIFFUSE\nbaseColor=texture2D(diffuseSampler,vDiffuseUV+uvOffset);\n#ifdef ALPHATEST\nif (baseColor.a<0.4)\ndiscard;\n#endif\n#ifdef ALPHAFROMDIFFUSE\nalpha*=baseColor.a;\n#endif\nbaseColor.rgb*=vDiffuseInfos.y;\n#endif\n#ifdef VERTEXCOLOR\nbaseColor.rgb*=vColor.rgb;\n#endif\n\nvec3 baseAmbientColor=vec3(1.,1.,1.);\n#ifdef AMBIENT\nbaseAmbientColor=texture2D(ambientSampler,vAmbientUV+uvOffset).rgb*vAmbientInfos.y;\n#endif\n\n#ifdef SPECULARTERM\nfloat glossiness=vSpecularColor.a;\nvec3 specularColor=vSpecularColor.rgb;\n#ifdef SPECULAR\nvec4 specularMapColor=texture2D(specularSampler,vSpecularUV+uvOffset);\nspecularColor=specularMapColor.rgb;\n#ifdef GLOSSINESS\nglossiness=glossiness*specularMapColor.a;\n#endif\n#endif\n#else\nfloat glossiness=0.;\n#endif\n\nvec3 diffuseBase=vec3(0.,0.,0.);\nlightingInfo info;\n#ifdef SPECULARTERM\nvec3 specularBase=vec3(0.,0.,0.);\n#endif\nfloat shadow=1.;\n#ifdef LIGHTMAP\nvec3 lightmapColor=texture2D(lightmapSampler,vLightmapUV+uvOffset).rgb*vLightmapInfos.y;\n#endif\n#include[0..maxSimultaneousLights]\n\nvec3 refractionColor=vec3(0.,0.,0.);\n#ifdef REFRACTION\nvec3 refractionVector=normalize(refract(-viewDirectionW,normalW,vRefractionInfos.y));\n#ifdef REFRACTIONMAP_3D\nrefractionVector.y=refractionVector.y*vRefractionInfos.w;\nif (dot(refractionVector,viewDirectionW)<1.0)\n{\nrefractionColor=textureCube(refractionCubeSampler,refractionVector).rgb*vRefractionInfos.x;\n}\n#else\nvec3 vRefractionUVW=vec3(refractionMatrix*(view*vec4(vPositionW+refractionVector*vRefractionInfos.z,1.0)));\nvec2 refractionCoords=vRefractionUVW.xy/vRefractionUVW.z;\nrefractionCoords.y=1.0-refractionCoords.y;\nrefractionColor=texture2D(refraction2DSampler,refractionCoords).rgb*vRefractionInfos.x;\n#endif\n#endif\n\nvec3 reflectionColor=vec3(0.,0.,0.);\n#ifdef REFLECTION\nvec3 vReflectionUVW=computeReflectionCoords(vec4(vPositionW,1.0),normalW);\n#ifdef REFLECTIONMAP_3D\n#ifdef ROUGHNESS\nfloat bias=vReflectionInfos.y;\n#ifdef SPECULARTERM\n#ifdef SPECULAR\n#ifdef GLOSSINESS\nbias*=(1.0-specularMapColor.a);\n#endif\n#endif\n#endif\nreflectionColor=textureCube(reflectionCubeSampler,vReflectionUVW,bias).rgb*vReflectionInfos.x;\n#else\nreflectionColor=textureCube(reflectionCubeSampler,vReflectionUVW).rgb*vReflectionInfos.x;\n#endif\n#else\nvec2 coords=vReflectionUVW.xy;\n#ifdef REFLECTIONMAP_PROJECTION\ncoords/=vReflectionUVW.z;\n#endif\ncoords.y=1.0-coords.y;\nreflectionColor=texture2D(reflection2DSampler,coords).rgb*vReflectionInfos.x;\n#endif\n#ifdef REFLECTIONFRESNEL\nfloat reflectionFresnelTerm=computeFresnelTerm(viewDirectionW,normalW,reflectionRightColor.a,reflectionLeftColor.a);\n#ifdef REFLECTIONFRESNELFROMSPECULAR\n#ifdef SPECULARTERM\nreflectionColor*=specularColor.rgb*(1.0-reflectionFresnelTerm)+reflectionFresnelTerm*reflectionRightColor.rgb;\n#else\nreflectionColor*=reflectionLeftColor.rgb*(1.0-reflectionFresnelTerm)+reflectionFresnelTerm*reflectionRightColor.rgb;\n#endif\n#else\nreflectionColor*=reflectionLeftColor.rgb*(1.0-reflectionFresnelTerm)+reflectionFresnelTerm*reflectionRightColor.rgb;\n#endif\n#endif\n#endif\n#ifdef REFRACTIONFRESNEL\nfloat refractionFresnelTerm=computeFresnelTerm(viewDirectionW,normalW,refractionRightColor.a,refractionLeftColor.a);\nrefractionColor*=refractionLeftColor.rgb*(1.0-refractionFresnelTerm)+refractionFresnelTerm*refractionRightColor.rgb;\n#endif\n#ifdef OPACITY\nvec4 opacityMap=texture2D(opacitySampler,vOpacityUV+uvOffset);\n#ifdef OPACITYRGB\nopacityMap.rgb=opacityMap.rgb*vec3(0.3,0.59,0.11);\nalpha*=(opacityMap.x+opacityMap.y+opacityMap.z)* vOpacityInfos.y;\n#else\nalpha*=opacityMap.a*vOpacityInfos.y;\n#endif\n#endif\n#ifdef VERTEXALPHA\nalpha*=vColor.a;\n#endif\n#ifdef OPACITYFRESNEL\nfloat opacityFresnelTerm=computeFresnelTerm(viewDirectionW,normalW,opacityParts.z,opacityParts.w);\nalpha+=opacityParts.x*(1.0-opacityFresnelTerm)+opacityFresnelTerm*opacityParts.y;\n#endif\n\nvec3 emissiveColor=vEmissiveColor;\n#ifdef EMISSIVE\nemissiveColor+=texture2D(emissiveSampler,vEmissiveUV+uvOffset).rgb*vEmissiveInfos.y;\n#endif\n#ifdef EMISSIVEFRESNEL\nfloat emissiveFresnelTerm=computeFresnelTerm(viewDirectionW,normalW,emissiveRightColor.a,emissiveLeftColor.a);\nemissiveColor*=emissiveLeftColor.rgb*(1.0-emissiveFresnelTerm)+emissiveFresnelTerm*emissiveRightColor.rgb;\n#endif\n\n#ifdef DIFFUSEFRESNEL\nfloat diffuseFresnelTerm=computeFresnelTerm(viewDirectionW,normalW,diffuseRightColor.a,diffuseLeftColor.a);\ndiffuseBase*=diffuseLeftColor.rgb*(1.0-diffuseFresnelTerm)+diffuseFresnelTerm*diffuseRightColor.rgb;\n#endif\n\n#ifdef EMISSIVEASILLUMINATION\nvec3 finalDiffuse=clamp(diffuseBase*diffuseColor+vAmbientColor,0.0,1.0)*baseColor.rgb;\n#else\n#ifdef LINKEMISSIVEWITHDIFFUSE\nvec3 finalDiffuse=clamp((diffuseBase+emissiveColor)*diffuseColor+vAmbientColor,0.0,1.0)*baseColor.rgb;\n#else\nvec3 finalDiffuse=clamp(diffuseBase*diffuseColor+emissiveColor+vAmbientColor,0.0,1.0)*baseColor.rgb;\n#endif\n#endif\n#ifdef SPECULARTERM\nvec3 finalSpecular=specularBase*specularColor;\n#else\nvec3 finalSpecular=vec3(0.0);\n#endif\n#ifdef SPECULAROVERALPHA\nalpha=clamp(alpha+dot(finalSpecular,vec3(0.3,0.59,0.11)),0.,1.);\n#endif\n#ifdef REFLECTIONOVERALPHA\nalpha=clamp(alpha+dot(reflectionColor,vec3(0.3,0.59,0.11)),0.,1.);\n#endif\n\n#ifdef EMISSIVEASILLUMINATION\nvec4 color=vec4(clamp(finalDiffuse*baseAmbientColor+finalSpecular+reflectionColor+emissiveColor+refractionColor,0.0,1.0),alpha);\n#else\nvec4 color=vec4(finalDiffuse*baseAmbientColor+finalSpecular+reflectionColor+refractionColor,alpha);\n#endif\n\n#ifdef LIGHTMAP\n#ifndef LIGHTMAPEXCLUDED\n#ifdef USELIGHTMAPASSHADOWMAP\ncolor.rgb*=lightmapColor;\n#else\ncolor.rgb+=lightmapColor;\n#endif\n#endif\n#endif\n#include\n#include\n#ifdef CAMERACOLORGRADING\ncolor=colorGrades(color);\n#endif\n#ifdef CAMERACOLORCURVES\ncolor.rgb=applyColorCurves(color.rgb);\n#endif\ngl_FragColor=color;\n}","defaultVertexShader":"\nattribute vec3 position;\n#ifdef NORMAL\nattribute vec3 normal;\n#endif\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#ifdef VERTEXCOLOR\nattribute vec4 color;\n#endif\n#include\n\n#include\nuniform mat4 view;\nuniform mat4 viewProjection;\n#ifdef DIFFUSE\nvarying vec2 vDiffuseUV;\nuniform mat4 diffuseMatrix;\nuniform vec2 vDiffuseInfos;\n#endif\n#ifdef AMBIENT\nvarying vec2 vAmbientUV;\nuniform mat4 ambientMatrix;\nuniform vec2 vAmbientInfos;\n#endif\n#ifdef OPACITY\nvarying vec2 vOpacityUV;\nuniform mat4 opacityMatrix;\nuniform vec2 vOpacityInfos;\n#endif\n#ifdef EMISSIVE\nvarying vec2 vEmissiveUV;\nuniform vec2 vEmissiveInfos;\nuniform mat4 emissiveMatrix;\n#endif\n#ifdef LIGHTMAP\nvarying vec2 vLightmapUV;\nuniform vec2 vLightmapInfos;\nuniform mat4 lightmapMatrix;\n#endif\n#if defined(SPECULAR) && defined(SPECULARTERM)\nvarying vec2 vSpecularUV;\nuniform vec2 vSpecularInfos;\nuniform mat4 specularMatrix;\n#endif\n#ifdef BUMP\nvarying vec2 vBumpUV;\nuniform vec3 vBumpInfos;\nuniform mat4 bumpMatrix;\n#endif\n#include\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n#include\n#include\n#include[0..maxSimultaneousLights]\n#ifdef REFLECTIONMAP_SKYBOX\nvarying vec3 vPositionUVW;\n#endif\n#ifdef REFLECTIONMAP_EQUIRECTANGULAR_FIXED\nvarying vec3 vDirectionW;\n#endif\n#include\nvoid main(void) {\n#ifdef REFLECTIONMAP_SKYBOX\nvPositionUVW=position;\n#endif \n#include\n#include\ngl_Position=viewProjection*finalWorld*vec4(position,1.0);\nvec4 worldPos=finalWorld*vec4(position,1.0);\nvPositionW=vec3(worldPos);\n#ifdef NORMAL\nvNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\n#endif\n#ifdef REFLECTIONMAP_EQUIRECTANGULAR_FIXED\nvDirectionW=normalize(vec3(finalWorld*vec4(position,0.0)));\n#endif\n\n#ifndef UV1\nvec2 uv=vec2(0.,0.);\n#endif\n#ifndef UV2\nvec2 uv2=vec2(0.,0.);\n#endif\n#ifdef DIFFUSE\nif (vDiffuseInfos.x == 0.)\n{\nvDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));\n}\nelse\n{\nvDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n#ifdef AMBIENT\nif (vAmbientInfos.x == 0.)\n{\nvAmbientUV=vec2(ambientMatrix*vec4(uv,1.0,0.0));\n}\nelse\n{\nvAmbientUV=vec2(ambientMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n#ifdef OPACITY\nif (vOpacityInfos.x == 0.)\n{\nvOpacityUV=vec2(opacityMatrix*vec4(uv,1.0,0.0));\n}\nelse\n{\nvOpacityUV=vec2(opacityMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n#ifdef EMISSIVE\nif (vEmissiveInfos.x == 0.)\n{\nvEmissiveUV=vec2(emissiveMatrix*vec4(uv,1.0,0.0));\n}\nelse\n{\nvEmissiveUV=vec2(emissiveMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n#ifdef LIGHTMAP\nif (vLightmapInfos.x == 0.)\n{\nvLightmapUV=vec2(lightmapMatrix*vec4(uv,1.0,0.0));\n}\nelse\n{\nvLightmapUV=vec2(lightmapMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n#if defined(SPECULAR) && defined(SPECULARTERM)\nif (vSpecularInfos.x == 0.)\n{\nvSpecularUV=vec2(specularMatrix*vec4(uv,1.0,0.0));\n}\nelse\n{\nvSpecularUV=vec2(specularMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n#ifdef BUMP\nif (vBumpInfos.x == 0.)\n{\nvBumpUV=vec2(bumpMatrix*vec4(uv,1.0,0.0));\n}\nelse\n{\nvBumpUV=vec2(bumpMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n#include\n#include\n#include[0..maxSimultaneousLights]\n\n#ifdef VERTEXCOLOR\nvColor=color;\n#endif\n#include\n#include\n}","depthPixelShader":"#ifdef ALPHATEST\nvarying vec2 vUV;\nuniform sampler2D diffuseSampler;\n#endif\nuniform float far;\nvoid main(void)\n{\n#ifdef ALPHATEST\nif (texture2D(diffuseSampler,vUV).a<0.4)\ndiscard;\n#endif\nfloat depth=(gl_FragCoord.z/gl_FragCoord.w)/far;\ngl_FragColor=vec4(depth,depth*depth,0.0,1.0);\n}","depthVertexShader":"\nattribute vec3 position;\n#include\n\n#include\nuniform mat4 viewProjection;\n#if defined(ALPHATEST) || defined(NEED_UV)\nvarying vec2 vUV;\nuniform mat4 diffuseMatrix;\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#endif\nvoid main(void)\n{\n#include\n#include\ngl_Position=viewProjection*finalWorld*vec4(position,1.0);\n#if defined(ALPHATEST) || defined(BASIC_RENDER)\n#ifdef UV1\nvUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));\n#endif\n#ifdef UV2\nvUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\n#endif\n#endif\n}","depthBoxBlurPixelShader":"\nvarying vec2 vUV;\nuniform sampler2D textureSampler;\n\nuniform vec2 screenSize;\nvoid main(void)\n{\nvec4 colorDepth=vec4(0.0);\nfor (int x=-OFFSET; x<=OFFSET; x++)\nfor (int y=-OFFSET; y<=OFFSET; y++)\ncolorDepth+=texture2D(textureSampler,vUV+vec2(x,y)/screenSize);\ngl_FragColor=(colorDepth/float((OFFSET*2+1)*(OFFSET*2+1)));\n}","depthOfFieldPixelShader":"\n\n\n\n\nuniform sampler2D textureSampler;\nuniform sampler2D highlightsSampler;\nuniform sampler2D depthSampler;\nuniform sampler2D grainSampler;\n\nuniform float grain_amount;\nuniform bool blur_noise;\nuniform float screen_width;\nuniform float screen_height;\nuniform float distortion;\nuniform bool dof_enabled;\n\nuniform float screen_distance; \nuniform float aperture;\nuniform float darken;\nuniform float edge_blur;\nuniform bool highlights;\n\nuniform float near;\nuniform float far;\n\nvarying vec2 vUV;\n\n#define PI 3.14159265\n#define TWOPI 6.28318530\n#define inverse_focal_length 0.1 \n\nvec2 centered_screen_pos;\nvec2 distorted_coords;\nfloat radius2;\nfloat radius;\n\nvec2 rand(vec2 co)\n{\nfloat noise1=(fract(sin(dot(co,vec2(12.9898,78.233)))*43758.5453));\nfloat noise2=(fract(sin(dot(co,vec2(12.9898,78.233)*2.0))*43758.5453));\nreturn clamp(vec2(noise1,noise2),0.0,1.0);\n}\n\nvec2 getDistortedCoords(vec2 coords) {\nif (distortion == 0.0) { return coords; }\nvec2 direction=1.0*normalize(centered_screen_pos);\nvec2 dist_coords=vec2(0.5,0.5);\ndist_coords.x=0.5+direction.x*radius2*1.0;\ndist_coords.y=0.5+direction.y*radius2*1.0;\nfloat dist_amount=clamp(distortion*0.23,0.0,1.0);\ndist_coords=mix(coords,dist_coords,dist_amount);\nreturn dist_coords;\n}\n\nfloat sampleScreen(inout vec4 color,const in vec2 offset,const in float weight) {\n\nvec2 coords=distorted_coords;\nfloat angle=rand(coords*100.0).x*TWOPI;\ncoords+=vec2(offset.x*cos(angle)-offset.y*sin(angle),offset.x*sin(angle)+offset.y*cos(angle));\ncolor+=texture2D(textureSampler,coords)*weight;\nreturn weight;\n}\n\nfloat getBlurLevel(float size) {\nreturn min(3.0,ceil(size/1.0));\n}\n\nvec4 getBlurColor(float size) {\nvec4 col=texture2D(textureSampler,distorted_coords);\nif (size == 0.0) { return col; }\n\n\nfloat blur_level=getBlurLevel(size);\nfloat w=(size/screen_width);\nfloat h=(size/screen_height);\nfloat total_weight=1.0;\nvec2 sample_coords;\ntotal_weight+=sampleScreen(col,vec2(-0.50*w,0.24*h),0.93);\ntotal_weight+=sampleScreen(col,vec2(0.30*w,-0.75*h),0.90);\ntotal_weight+=sampleScreen(col,vec2(0.36*w,0.96*h),0.87);\ntotal_weight+=sampleScreen(col,vec2(-1.08*w,-0.55*h),0.85);\ntotal_weight+=sampleScreen(col,vec2(1.33*w,-0.37*h),0.83);\ntotal_weight+=sampleScreen(col,vec2(-0.82*w,1.31*h),0.80);\ntotal_weight+=sampleScreen(col,vec2(-0.31*w,-1.67*h),0.78);\ntotal_weight+=sampleScreen(col,vec2(1.47*w,1.11*h),0.76);\ntotal_weight+=sampleScreen(col,vec2(-1.97*w,0.19*h),0.74);\ntotal_weight+=sampleScreen(col,vec2(1.42*w,-1.57*h),0.72);\nif (blur_level>1.0) {\ntotal_weight+=sampleScreen(col,vec2(0.01*w,2.25*h),0.70);\ntotal_weight+=sampleScreen(col,vec2(-1.62*w,-1.74*h),0.67);\ntotal_weight+=sampleScreen(col,vec2(2.49*w,0.20*h),0.65);\ntotal_weight+=sampleScreen(col,vec2(-2.07*w,1.61*h),0.63);\ntotal_weight+=sampleScreen(col,vec2(0.46*w,-2.70*h),0.61);\ntotal_weight+=sampleScreen(col,vec2(1.55*w,2.40*h),0.59);\ntotal_weight+=sampleScreen(col,vec2(-2.88*w,-0.75*h),0.56);\ntotal_weight+=sampleScreen(col,vec2(2.73*w,-1.44*h),0.54);\ntotal_weight+=sampleScreen(col,vec2(-1.08*w,3.02*h),0.52);\ntotal_weight+=sampleScreen(col,vec2(-1.28*w,-3.05*h),0.49);\n}\nif (blur_level>2.0) {\ntotal_weight+=sampleScreen(col,vec2(3.11*w,1.43*h),0.46);\ntotal_weight+=sampleScreen(col,vec2(-3.36*w,1.08*h),0.44);\ntotal_weight+=sampleScreen(col,vec2(1.80*w,-3.16*h),0.41);\ntotal_weight+=sampleScreen(col,vec2(0.83*w,3.65*h),0.38);\ntotal_weight+=sampleScreen(col,vec2(-3.16*w,-2.19*h),0.34);\ntotal_weight+=sampleScreen(col,vec2(3.92*w,-0.53*h),0.31);\ntotal_weight+=sampleScreen(col,vec2(-2.59*w,3.12*h),0.26);\ntotal_weight+=sampleScreen(col,vec2(-0.20*w,-4.15*h),0.22);\ntotal_weight+=sampleScreen(col,vec2(3.02*w,3.00*h),0.15);\n}\ncol/=total_weight; \n\nif (darken>0.0) {\ncol.rgb*=clamp(0.3,1.0,1.05-size*0.5*darken);\n}\n\n\n\n\nreturn col;\n}\nvoid main(void)\n{\n\ncentered_screen_pos=vec2(vUV.x-0.5,vUV.y-0.5);\nradius2=centered_screen_pos.x*centered_screen_pos.x+centered_screen_pos.y*centered_screen_pos.y;\nradius=sqrt(radius2);\ndistorted_coords=getDistortedCoords(vUV); \nvec2 texels_coords=vec2(vUV.x*screen_width,vUV.y*screen_height); \nfloat depth=texture2D(depthSampler,distorted_coords).r; \nfloat distance=near+(far-near)*depth; \nvec4 color=texture2D(textureSampler,vUV); \n\n\nfloat coc=abs(aperture*(screen_distance*(inverse_focal_length-1.0/distance)-1.0));\n\nif (dof_enabled == false || coc<0.07) { coc=0.0; }\n\nfloat edge_blur_amount=0.0;\nif (edge_blur>0.0) {\nedge_blur_amount=clamp((radius*2.0-1.0+0.15*edge_blur)*1.5,0.0,1.0)*1.3;\n}\n\nfloat blur_amount=max(edge_blur_amount,coc);\n\nif (blur_amount == 0.0) {\ngl_FragColor=texture2D(textureSampler,distorted_coords);\n}\nelse {\n\ngl_FragColor=getBlurColor(blur_amount*1.7);\n\nif (highlights) {\ngl_FragColor.rgb+=clamp(coc,0.0,1.0)*texture2D(highlightsSampler,distorted_coords).rgb;\n}\nif (blur_noise) {\n\nvec2 noise=rand(distorted_coords)*0.01*blur_amount;\nvec2 blurred_coord=vec2(distorted_coords.x+noise.x,distorted_coords.y+noise.y);\ngl_FragColor=0.04*texture2D(textureSampler,blurred_coord)+0.96*gl_FragColor;\n}\n}\n\nif (grain_amount>0.0) {\nvec4 grain_color=texture2D(grainSampler,texels_coords*0.003);\ngl_FragColor.rgb+=(-0.5+grain_color.rgb)*0.30*grain_amount;\n}\n}\n","displayPassPixelShader":"\nvarying vec2 vUV;\nuniform sampler2D textureSampler;\nuniform sampler2D passSampler;\nvoid main(void)\n{\ngl_FragColor=texture2D(passSampler,vUV);\n}","filterPixelShader":"\nvarying vec2 vUV;\nuniform sampler2D textureSampler;\nuniform mat4 kernelMatrix;\nvoid main(void)\n{\nvec3 baseColor=texture2D(textureSampler,vUV).rgb;\nvec3 updatedColor=(kernelMatrix*vec4(baseColor,1.0)).rgb;\ngl_FragColor=vec4(updatedColor,1.0);\n}","fxaaPixelShader":"#define FXAA_REDUCE_MIN (1.0/128.0)\n#define FXAA_REDUCE_MUL (1.0/8.0)\n#define FXAA_SPAN_MAX 8.0\nvarying vec2 vUV;\nuniform sampler2D textureSampler;\nuniform vec2 texelSize;\nvoid main(){\nvec2 localTexelSize=texelSize;\nvec4 rgbNW=texture2D(textureSampler,(vUV+vec2(-1.0,-1.0)*localTexelSize));\nvec4 rgbNE=texture2D(textureSampler,(vUV+vec2(1.0,-1.0)*localTexelSize));\nvec4 rgbSW=texture2D(textureSampler,(vUV+vec2(-1.0,1.0)*localTexelSize));\nvec4 rgbSE=texture2D(textureSampler,(vUV+vec2(1.0,1.0)*localTexelSize));\nvec4 rgbM=texture2D(textureSampler,vUV);\nvec4 luma=vec4(0.299,0.587,0.114,1.0);\nfloat lumaNW=dot(rgbNW,luma);\nfloat lumaNE=dot(rgbNE,luma);\nfloat lumaSW=dot(rgbSW,luma);\nfloat lumaSE=dot(rgbSE,luma);\nfloat lumaM=dot(rgbM,luma);\nfloat lumaMin=min(lumaM,min(min(lumaNW,lumaNE),min(lumaSW,lumaSE)));\nfloat lumaMax=max(lumaM,max(max(lumaNW,lumaNE),max(lumaSW,lumaSE)));\nvec2 dir=vec2(-((lumaNW+lumaNE)-(lumaSW+lumaSE)),((lumaNW+lumaSW)-(lumaNE+lumaSE)));\nfloat dirReduce=max(\n(lumaNW+lumaNE+lumaSW+lumaSE)*(0.25*FXAA_REDUCE_MUL),\nFXAA_REDUCE_MIN);\nfloat rcpDirMin=1.0/(min(abs(dir.x),abs(dir.y))+dirReduce);\ndir=min(vec2(FXAA_SPAN_MAX,FXAA_SPAN_MAX),\nmax(vec2(-FXAA_SPAN_MAX,-FXAA_SPAN_MAX),\ndir*rcpDirMin))*localTexelSize;\nvec4 rgbA=0.5*(\ntexture2D(textureSampler,vUV+dir*(1.0/3.0-0.5)) +\ntexture2D(textureSampler,vUV+dir*(2.0/3.0-0.5)));\nvec4 rgbB=rgbA*0.5+0.25*(\ntexture2D(textureSampler,vUV+dir*-0.5) +\ntexture2D(textureSampler,vUV+dir*0.5));\nfloat lumaB=dot(rgbB,luma);\nif ((lumaBlumaMax)) {\ngl_FragColor=rgbA;\n}\nelse {\ngl_FragColor=rgbB;\n}\n}","glowBlurPostProcessPixelShader":"\nvarying vec2 vUV;\nuniform sampler2D textureSampler;\n\nuniform vec2 screenSize;\nuniform vec2 direction;\nuniform float blurWidth;\n\nfloat getLuminance(vec3 color)\n{\nreturn dot(color,vec3(0.2126,0.7152,0.0722));\n}\nvoid main(void)\n{\nfloat weights[7];\nweights[0]=0.05;\nweights[1]=0.1;\nweights[2]=0.2;\nweights[3]=0.3;\nweights[4]=0.2;\nweights[5]=0.1;\nweights[6]=0.05;\nvec2 texelSize=vec2(1.0/screenSize.x,1.0/screenSize.y);\nvec2 texelStep=texelSize*direction*blurWidth;\nvec2 start=vUV-3.0*texelStep;\nvec4 baseColor=vec4(0.,0.,0.,0.);\nvec2 texelOffset=vec2(0.,0.);\nfor (int i=0; i<7; i++)\n{\n\nvec4 texel=texture2D(textureSampler,start+texelOffset);\nbaseColor.a+=texel.a*weights[i];\n\nfloat luminance=getLuminance(baseColor.rgb);\nfloat luminanceTexel=getLuminance(texel.rgb);\nfloat choice=step(luminanceTexel,luminance);\nbaseColor.rgb=choice*baseColor.rgb+(1.0-choice)*texel.rgb;\ntexelOffset+=texelStep;\n}\ngl_FragColor=baseColor;\n}","glowMapGenerationPixelShader":"#ifdef ALPHATEST\nvarying vec2 vUVDiffuse;\nuniform sampler2D diffuseSampler;\n#endif\n#ifdef EMISSIVE\nvarying vec2 vUVEmissive;\nuniform sampler2D emissiveSampler;\n#endif\nuniform vec4 color;\nvoid main(void)\n{\n#ifdef ALPHATEST\nif (texture2D(diffuseSampler,vUVDiffuse).a<0.4)\ndiscard;\n#endif\n#ifdef EMISSIVE\ngl_FragColor=texture2D(emissiveSampler,vUVEmissive);\n#else\ngl_FragColor=color;\n#endif\n}","glowMapGenerationVertexShader":"\nattribute vec3 position;\n#include\n\n#include\nuniform mat4 viewProjection;\nvarying vec4 vPosition;\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#ifdef ALPHATEST\nvarying vec2 vUVDiffuse;\nuniform mat4 diffuseMatrix;\n#endif\n#ifdef EMISSIVE\nvarying vec2 vUVEmissive;\nuniform mat4 emissiveMatrix;\n#endif\nvoid main(void)\n{\n#include\n#include\n#ifdef CUBEMAP\nvPosition=finalWorld*vec4(position,1.0);\ngl_Position=viewProjection*finalWorld*vec4(position,1.0);\n#else\nvPosition=viewProjection*finalWorld*vec4(position,1.0);\ngl_Position=vPosition;\n#endif\n#ifdef ALPHATEST\n#ifdef DIFFUSEUV1\nvUVDiffuse=vec2(diffuseMatrix*vec4(uv,1.0,0.0));\n#endif\n#ifdef DIFFUSEUV2\nvUVDiffuse=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\n#endif\n#endif\n#ifdef EMISSIVE\n#ifdef EMISSIVEUV1\nvUVEmissive=vec2(emissiveMatrix*vec4(uv,1.0,0.0));\n#endif\n#ifdef EMISSIVEUV2\nvUVEmissive=vec2(emissiveMatrix*vec4(uv2,1.0,0.0));\n#endif\n#endif\n}","glowMapMergePixelShader":"\nvarying vec2 vUV;\nuniform sampler2D textureSampler;\n\nuniform float offset;\nvoid main(void) {\nvec4 baseColor=texture2D(textureSampler,vUV);\nbaseColor.a=abs(offset-baseColor.a);\ngl_FragColor=baseColor;\n}","glowMapMergeVertexShader":"\nattribute vec2 position;\n\nvarying vec2 vUV;\nconst vec2 madd=vec2(0.5,0.5);\nvoid main(void) {\nvUV=position*madd+madd;\ngl_Position=vec4(position,0.0,1.0);\n}","hdrPixelShader":"uniform sampler2D textureSampler;\nvarying vec2 vUV;\n#if defined(GAUSSIAN_BLUR_H) || defined(GAUSSIAN_BLUR_V)\nuniform float blurOffsets[9];\nuniform float blurWeights[9];\nuniform float multiplier;\nvoid main(void) {\nvec4 color=vec4(0.0,0.0,0.0,0.0);\nfor (int i=0; i<9; i++) {\n#ifdef GAUSSIAN_BLUR_H\ncolor+=(texture2D(textureSampler,vUV+vec2(blurOffsets[i]*multiplier,0.0))*blurWeights[i]);\n#else\ncolor+=(texture2D(textureSampler,vUV+vec2(0.0,blurOffsets[i]*multiplier))*blurWeights[i]);\n#endif\n}\ncolor.a=1.0;\ngl_FragColor=color;\n}\n#endif\n#if defined(TEXTURE_ADDER)\nuniform sampler2D otherSampler;\nvoid main() {\nvec4 sum=texture2D(textureSampler,vUV)+texture2D(otherSampler,vUV);\nsum.a=clamp(sum.a,0.0,1.0);\ngl_FragColor=sum;\n}\n#endif\n#if defined(LUMINANCE_GENERATOR)\nuniform vec2 lumOffsets[4];\nvoid main() {\nfloat average=0.0;\nvec4 color=vec4(0.0,0.0,0.0,0.0);\nfloat maximum=-1e20;\nfor (int i=0; i<4; i++) {\ncolor=texture2D(textureSampler,vUV+lumOffsets[i]);\nfloat GreyValue=length(color.rgb);\nmaximum=max(maximum,GreyValue);\naverage+=(0.25*log(1e-5+GreyValue));\n}\naverage=exp(average);\ngl_FragColor=vec4(average,maximum,0.0,1.0);\n}\n#endif\n#if defined(DOWN_SAMPLE)\nuniform vec2 dsOffsets[9];\nuniform float halfDestPixelSize;\n#ifdef FINAL_DOWN_SAMPLE\nvec4 pack(float value) {\nconst vec4 bit_shift=vec4(255.0*255.0*255.0,255.0*255.0,255.0,1.0);\nconst vec4 bit_mask=vec4(0.0,1.0/255.0,1.0/255.0,1.0/255.0);\nvec4 res=fract(value*bit_shift);\nres-=res.xxyz*bit_mask;\nreturn res;\n}\n#endif\nvoid main() {\nvec4 color=vec4(0.0,0.0,0.0,0.0);\nfloat average=0.0;\nfor (int i=0; i<9; i++) {\ncolor=texture2D(textureSampler,vUV+vec2(halfDestPixelSize,halfDestPixelSize)+dsOffsets[i]);\naverage+=color.r;\n}\naverage/=9.0;\n#ifndef FINAL_DOWN_SAMPLE\ngl_FragColor=vec4(average,average,0.0,1.0);\n#else\ngl_FragColor=pack(average);\n#endif\n}\n#endif\n#if defined(BRIGHT_PASS)\nuniform vec2 dsOffsets[4];\nuniform float brightThreshold;\nvoid main() {\nvec4 average=vec4(0.0,0.0,0.0,0.0);\naverage=texture2D(textureSampler,vUV+vec2(dsOffsets[0].x,dsOffsets[0].y));\naverage+=texture2D(textureSampler,vUV+vec2(dsOffsets[1].x,dsOffsets[1].y));\naverage+=texture2D(textureSampler,vUV+vec2(dsOffsets[2].x,dsOffsets[2].y));\naverage+=texture2D(textureSampler,vUV+vec2(dsOffsets[3].x,dsOffsets[3].y));\naverage*=0.25;\nfloat luminance=length(average.rgb);\nif (luminance1.0) { lum_threshold=0.94+0.01*threshold; }\nelse { lum_threshold=0.5+0.44*threshold; }\nluminance=clamp((luminance-lum_threshold)*(1.0/(1.0-lum_threshold)),0.0,1.0);\nhighlight*=luminance*gain;\nhighlight.a=1.0;\nreturn highlight;\n}\nvoid main(void)\n{\nvec4 original=texture2D(textureSampler,vUV);\n\nif (gain == -1.0) {\ngl_FragColor=vec4(0.0,0.0,0.0,1.0);\nreturn;\n}\nfloat w=2.0/screen_width;\nfloat h=2.0/screen_height;\nfloat weight=1.0;\n\nvec4 blurred=vec4(0.0,0.0,0.0,0.0);\n#ifdef PENTAGON\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.84*w,0.43*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.48*w,-1.29*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.61*w,1.51*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.55*w,-0.74*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.71*w,-0.52*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.94*w,1.59*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.40*w,-1.87*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.62*w,1.16*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.09*w,0.25*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.46*w,-1.71*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.08*w,2.42*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.85*w,-1.89*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.89*w,0.16*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.29*w,1.88*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.40*w,-2.81*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.54*w,2.26*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.60*w,-0.61*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.31*w,-1.30*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.83*w,2.53*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.12*w,-2.48*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.60*w,1.11*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.82*w,0.99*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.50*w,-2.81*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.85*w,3.33*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.94*w,-1.92*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(3.27*w,-0.53*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.95*w,2.48*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.23*w,-3.04*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.17*w,2.05*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.97*w,-0.04*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.25*w,-2.00*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.31*w,3.08*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.94*w,-2.59*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(3.37*w,0.64*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-3.13*w,1.93*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.03*w,-3.65*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.60*w,3.17*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-3.14*w,-1.19*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(3.00*w,-1.19*h)));\n#else\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.85*w,0.36*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.52*w,-1.14*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.46*w,1.42*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.46*w,-0.83*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.79*w,-0.42*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.11*w,1.62*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.29*w,-2.07*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.69*w,1.39*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.28*w,0.12*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.65*w,-1.69*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.08*w,2.44*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.63*w,-1.90*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.55*w,0.31*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.13*w,1.52*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.56*w,-2.61*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.38*w,2.34*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.64*w,-0.81*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.53*w,-1.21*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.06*w,2.63*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.00*w,-2.69*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.59*w,1.32*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.82*w,0.78*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.57*w,-2.50*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.54*w,2.93*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.39*w,-1.81*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(3.01*w,-0.28*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.04*w,2.25*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.02*w,-3.05*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.09*w,2.25*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-3.07*w,-0.25*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.44*w,-1.90*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.52*w,3.05*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.68*w,-2.61*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(3.01*w,0.79*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.76*w,1.46*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.05*w,-2.94*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.21*w,2.88*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.84*w,-1.30*h)));\nblurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.98*w,-0.96*h)));\n#endif\nblurred/=39.0;\ngl_FragColor=blurred;\n\n}","linePixelShader":"uniform vec4 color;\nvoid main(void) {\ngl_FragColor=color;\n}","lineVertexShader":"\nattribute vec3 position;\nattribute vec4 normal;\n\nuniform mat4 worldViewProjection;\nuniform float width;\nuniform float aspectRatio;\nvoid main(void) {\nvec4 viewPosition=worldViewProjection*vec4(position,1.0);\nvec4 viewPositionNext=worldViewProjection*vec4(normal.xyz,1.0);\nvec2 currentScreen=viewPosition.xy/viewPosition.w;\nvec2 nextScreen=viewPositionNext.xy/viewPositionNext.w;\ncurrentScreen.x*=aspectRatio;\nnextScreen.x*=aspectRatio;\nvec2 dir=normalize(nextScreen-currentScreen);\nvec2 normalDir=vec2(-dir.y,dir.x);\nnormalDir*=width/2.0;\nnormalDir.x/=aspectRatio;\nvec4 offset=vec4(normalDir*normal.w,0.0,0.0);\ngl_Position=viewPosition+offset;\n}","outlinePixelShader":"uniform vec4 color;\n#ifdef ALPHATEST\nvarying vec2 vUV;\nuniform sampler2D diffuseSampler;\n#endif\nvoid main(void) {\n#ifdef ALPHATEST\nif (texture2D(diffuseSampler,vUV).a<0.4)\ndiscard;\n#endif\ngl_FragColor=color;\n}","outlineVertexShader":"\nattribute vec3 position;\nattribute vec3 normal;\n#include\n\nuniform float offset;\n#include\nuniform mat4 viewProjection;\n#ifdef ALPHATEST\nvarying vec2 vUV;\nuniform mat4 diffuseMatrix;\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#endif\nvoid main(void)\n{\nvec3 offsetPosition=position+normal*offset;\n#include\n#include\ngl_Position=viewProjection*finalWorld*vec4(offsetPosition,1.0);\n#ifdef ALPHATEST\n#ifdef UV1\nvUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));\n#endif\n#ifdef UV2\nvUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\n#endif\n#endif\n}\n","particlesPixelShader":"\nvarying vec2 vUV;\nvarying vec4 vColor;\nuniform vec4 textureMask;\nuniform sampler2D diffuseSampler;\n#ifdef CLIPPLANE\nvarying float fClipDistance;\n#endif\nvoid main(void) {\n#ifdef CLIPPLANE\nif (fClipDistance>0.0)\ndiscard;\n#endif\nvec4 baseColor=texture2D(diffuseSampler,vUV);\ngl_FragColor=(baseColor*textureMask+(vec4(1.,1.,1.,1.)-textureMask))*vColor;\n}","particlesVertexShader":"\nattribute vec3 position;\nattribute vec4 color;\nattribute vec4 options;\n\nuniform mat4 view;\nuniform mat4 projection;\n\nvarying vec2 vUV;\nvarying vec4 vColor;\n#ifdef CLIPPLANE\nuniform vec4 vClipPlane;\nuniform mat4 invView;\nvarying float fClipDistance;\n#endif\nvoid main(void) { \nvec3 viewPos=(view*vec4(position,1.0)).xyz; \nvec3 cornerPos;\nfloat size=options.y;\nfloat angle=options.x;\nvec2 offset=options.zw;\ncornerPos=vec3(offset.x-0.5,offset.y-0.5,0.)*size;\n\nvec3 rotatedCorner;\nrotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\nrotatedCorner.y=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\nrotatedCorner.z=0.;\n\nviewPos+=rotatedCorner;\ngl_Position=projection*vec4(viewPos,1.0); \nvColor=color;\nvUV=offset;\n\n#ifdef CLIPPLANE\nvec4 worldPos=invView*vec4(viewPos,1.0);\nfClipDistance=dot(worldPos,vClipPlane);\n#endif\n}","passPixelShader":"\nvarying vec2 vUV;\nuniform sampler2D textureSampler;\nvoid main(void) \n{\ngl_FragColor=texture2D(textureSampler,vUV);\n}","pbrPixelShader":"#ifdef BUMP\n#extension GL_OES_standard_derivatives : enable\n#endif\n#ifdef LODBASEDMICROSFURACE\n#extension GL_EXT_shader_texture_lod : enable\n#endif\n#ifdef LOGARITHMICDEPTH\n#extension GL_EXT_frag_depth : enable\n#endif\nprecision highp float;\nuniform vec3 vEyePosition;\nuniform vec3 vAmbientColor;\nuniform vec3 vReflectionColor;\nuniform vec4 vAlbedoColor;\n\nuniform vec4 vLightingIntensity;\nuniform vec4 vCameraInfos;\n#ifdef OVERLOADEDVALUES\nuniform vec4 vOverloadedIntensity;\nuniform vec3 vOverloadedAmbient;\nuniform vec3 vOverloadedAlbedo;\nuniform vec3 vOverloadedReflectivity;\nuniform vec3 vOverloadedEmissive;\nuniform vec3 vOverloadedReflection;\nuniform vec3 vOverloadedMicroSurface;\n#endif\n#ifdef OVERLOADEDSHADOWVALUES\nuniform vec4 vOverloadedShadowIntensity;\n#endif\n#if defined(REFLECTION) || defined(REFRACTION)\nuniform vec2 vMicrosurfaceTextureLods;\n#endif\nuniform vec4 vReflectivityColor;\nuniform vec3 vEmissiveColor;\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n\n#include[0..maxSimultaneousLights]\n\n#ifdef ALBEDO\nvarying vec2 vAlbedoUV;\nuniform sampler2D albedoSampler;\nuniform vec2 vAlbedoInfos;\n#endif\n#ifdef AMBIENT\nvarying vec2 vAmbientUV;\nuniform sampler2D ambientSampler;\nuniform vec3 vAmbientInfos;\n#endif\n#ifdef OPACITY \nvarying vec2 vOpacityUV;\nuniform sampler2D opacitySampler;\nuniform vec2 vOpacityInfos;\n#endif\n#ifdef EMISSIVE\nvarying vec2 vEmissiveUV;\nuniform vec2 vEmissiveInfos;\nuniform sampler2D emissiveSampler;\n#endif\n#ifdef LIGHTMAP\nvarying vec2 vLightmapUV;\nuniform vec2 vLightmapInfos;\nuniform sampler2D lightmapSampler;\n#endif\n#if defined(REFLECTIVITY) || defined(METALLICWORKFLOW) \nvarying vec2 vReflectivityUV;\nuniform vec2 vReflectivityInfos;\nuniform sampler2D reflectivitySampler;\n#endif\n\n#include\n#ifdef OPACITYFRESNEL\nuniform vec4 opacityParts;\n#endif\n#ifdef EMISSIVEFRESNEL\nuniform vec4 emissiveLeftColor;\nuniform vec4 emissiveRightColor;\n#endif\n\n#if defined(REFLECTIONMAP_SPHERICAL) || defined(REFLECTIONMAP_PROJECTION) || defined(REFRACTION)\nuniform mat4 view;\n#endif\n\n#ifdef REFRACTION\nuniform vec4 vRefractionInfos;\n#ifdef REFRACTIONMAP_3D\nuniform samplerCube refractionCubeSampler;\n#else\nuniform sampler2D refraction2DSampler;\nuniform mat4 refractionMatrix;\n#endif\n#endif\n\n#ifdef REFLECTION\nuniform vec2 vReflectionInfos;\n#ifdef REFLECTIONMAP_3D\nuniform samplerCube reflectionCubeSampler;\n#else\nuniform sampler2D reflection2DSampler;\n#endif\n#ifdef REFLECTIONMAP_SKYBOX\nvarying vec3 vPositionUVW;\n#else\n#ifdef REFLECTIONMAP_EQUIRECTANGULAR_FIXED\nvarying vec3 vDirectionW;\n#endif\n#if defined(REFLECTIONMAP_PLANAR) || defined(REFLECTIONMAP_CUBIC) || defined(REFLECTIONMAP_PROJECTION)\nuniform mat4 reflectionMatrix;\n#endif\n#endif\n#include\n#endif\n#ifdef CAMERACOLORGRADING\n#include\n#endif\n#ifdef CAMERACOLORCURVES\n#include\n#endif\n\n#include\n#include\n#ifdef CAMERACOLORGRADING\n#include\n#endif\n#ifdef CAMERACOLORCURVES\n#include\n#endif\n#include\n#include\n#include\n#include\n#include\n#include\n\n#include\nvoid main(void) {\n#include\nvec3 viewDirectionW=normalize(vEyePosition-vPositionW);\n\n#ifdef NORMAL\nvec3 normalW=normalize(vNormalW);\n#else\nvec3 normalW=vec3(1.0,1.0,1.0);\n#endif\n#include\n\nvec4 surfaceAlbedo=vec4(1.,1.,1.,1.);\nvec3 surfaceAlbedoContribution=vAlbedoColor.rgb;\n\nfloat alpha=vAlbedoColor.a;\n#ifdef ALBEDO\nsurfaceAlbedo=texture2D(albedoSampler,vAlbedoUV+uvOffset);\nsurfaceAlbedo=vec4(toLinearSpace(surfaceAlbedo.rgb),surfaceAlbedo.a);\n#ifndef LINKREFRACTIONTOTRANSPARENCY\n#ifdef ALPHATEST\nif (surfaceAlbedo.a<0.4)\ndiscard;\n#endif\n#endif\n#ifdef ALPHAFROMALBEDO\nalpha*=surfaceAlbedo.a;\n#endif\nsurfaceAlbedo.rgb*=vAlbedoInfos.y;\n#else\n\nsurfaceAlbedo.rgb=surfaceAlbedoContribution;\nsurfaceAlbedoContribution=vec3(1.,1.,1.);\n#endif\n#ifdef VERTEXCOLOR\nsurfaceAlbedo.rgb*=vColor.rgb;\n#endif\n#ifdef OVERLOADEDVALUES\nsurfaceAlbedo.rgb=mix(surfaceAlbedo.rgb,vOverloadedAlbedo,vOverloadedIntensity.y);\n#endif\n\nvec3 ambientColor=vec3(1.,1.,1.);\n#ifdef AMBIENT\nambientColor=texture2D(ambientSampler,vAmbientUV+uvOffset).rgb*vAmbientInfos.y;\nambientColor=vec3(1.,1.,1.)-((vec3(1.,1.,1.)-ambientColor)*vAmbientInfos.z);\n#ifdef OVERLOADEDVALUES\nambientColor.rgb=mix(ambientColor.rgb,vOverloadedAmbient,vOverloadedIntensity.x);\n#endif\n#endif\n\nfloat microSurface=vReflectivityColor.a;\nvec3 surfaceReflectivityColor=vReflectivityColor.rgb;\n#ifdef OVERLOADEDVALUES\nsurfaceReflectivityColor.rgb=mix(surfaceReflectivityColor.rgb,vOverloadedReflectivity,vOverloadedIntensity.z);\n#endif\n#ifdef REFLECTIVITY\nvec4 surfaceReflectivityColorMap=texture2D(reflectivitySampler,vReflectivityUV+uvOffset);\nsurfaceReflectivityColor=surfaceReflectivityColorMap.rgb;\nsurfaceReflectivityColor=toLinearSpace(surfaceReflectivityColor);\n#ifdef OVERLOADEDVALUES\nsurfaceReflectivityColor=mix(surfaceReflectivityColor,vOverloadedReflectivity,vOverloadedIntensity.z);\n#endif\n#ifdef MICROSURFACEFROMREFLECTIVITYMAP\nmicroSurface=surfaceReflectivityColorMap.a;\n#else\n#ifdef MICROSURFACEAUTOMATIC\nmicroSurface=computeDefaultMicroSurface(microSurface,surfaceReflectivityColor);\n#endif\n#endif\n#endif\n#ifdef METALLICWORKFLOW\nvec4 surfaceMetallicColorMap=texture2D(reflectivitySampler,vReflectivityUV+uvOffset);\n\nfloat metallic=surfaceMetallicColorMap.r; \n\nvec3 baseColor=surfaceAlbedo.rgb;\n\nsurfaceAlbedo.rgb*=(1.0-metallic);\n\n\nconst vec3 DefaultSpecularReflectanceDielectric=vec3(0.04,0.04,0.04);\n\nsurfaceReflectivityColor=mix(DefaultSpecularReflectanceDielectric,baseColor,metallic);\n#ifdef OVERLOADEDVALUES\nsurfaceReflectivityColor=mix(surfaceReflectivityColor,vOverloadedReflectivity,vOverloadedIntensity.z);\n#endif\n#ifdef METALLICROUGHNESSGSTOREINALPHA\nmicroSurface=1.0-surfaceMetallicColorMap.a;\n#else\n#ifdef METALLICROUGHNESSGSTOREINGREEN\nmicroSurface=1.0-surfaceMetallicColorMap.g;\n#endif\n#endif\n#endif\n#ifdef OVERLOADEDVALUES\nmicroSurface=mix(microSurface,vOverloadedMicroSurface.x,vOverloadedMicroSurface.y);\n#endif\n\nfloat NdotV=max(0.00000000001,dot(normalW,viewDirectionW));\n\nmicroSurface=clamp(microSurface,0.,1.)*0.98;\n\nfloat roughness=clamp(1.-microSurface,0.000001,1.0);\n\nvec3 lightDiffuseContribution=vec3(0.,0.,0.);\n#ifdef OVERLOADEDSHADOWVALUES\nvec3 shadowedOnlyLightDiffuseContribution=vec3(1.,1.,1.);\n#endif\n#ifdef SPECULARTERM\nvec3 lightSpecularContribution=vec3(0.,0.,0.);\n#endif\nfloat notShadowLevel=1.; \n#ifdef LIGHTMAP\nvec3 lightmapColor=texture2D(lightmapSampler,vLightmapUV+uvOffset).rgb*vLightmapInfos.y;\n#endif\nfloat NdotL=-1.;\nlightingInfo info;\n\nfloat reflectance=max(max(surfaceReflectivityColor.r,surfaceReflectivityColor.g),surfaceReflectivityColor.b);\n\n\nfloat reflectance90=clamp(reflectance*25.0,0.0,1.0);\nvec3 specularEnvironmentR0=surfaceReflectivityColor.rgb;\nvec3 specularEnvironmentR90=vec3(1.0,1.0,1.0)*reflectance90;\n#include[0..maxSimultaneousLights]\n#ifdef SPECULARTERM\nlightSpecularContribution*=vLightingIntensity.w;\n#endif\n#ifdef OPACITY\nvec4 opacityMap=texture2D(opacitySampler,vOpacityUV+uvOffset);\n#ifdef OPACITYRGB\nopacityMap.rgb=opacityMap.rgb*vec3(0.3,0.59,0.11);\nalpha*=(opacityMap.x+opacityMap.y+opacityMap.z)* vOpacityInfos.y;\n#else\nalpha*=opacityMap.a*vOpacityInfos.y;\n#endif\n#endif\n#ifdef VERTEXALPHA\nalpha*=vColor.a;\n#endif\n#ifdef OPACITYFRESNEL\nfloat opacityFresnelTerm=computeFresnelTerm(viewDirectionW,normalW,opacityParts.z,opacityParts.w);\nalpha+=opacityParts.x*(1.0-opacityFresnelTerm)+opacityFresnelTerm*opacityParts.y;\n#endif\n\nvec3 surfaceRefractionColor=vec3(0.,0.,0.);\n\n#ifdef LODBASEDMICROSFURACE\nfloat alphaG=convertRoughnessToAverageSlope(roughness);\n#endif\n#ifdef REFRACTION\nvec3 refractionVector=refract(-viewDirectionW,normalW,vRefractionInfos.y);\n#ifdef LODBASEDMICROSFURACE\n#ifdef USEPMREMREFRACTION\nfloat lodRefraction=getMipMapIndexFromAverageSlopeWithPMREM(vMicrosurfaceTextureLods.y,alphaG);\n#else\nfloat lodRefraction=getMipMapIndexFromAverageSlope(vMicrosurfaceTextureLods.y,alphaG);\n#endif\n#else\nfloat biasRefraction=(vMicrosurfaceTextureLods.y+2.)*(1.0-microSurface);\n#endif\n#ifdef REFRACTIONMAP_3D\nrefractionVector.y=refractionVector.y*vRefractionInfos.w;\nif (dot(refractionVector,viewDirectionW)<1.0)\n{\n#ifdef LODBASEDMICROSFURACE\n#ifdef USEPMREMREFRACTION\n\nif ((vMicrosurfaceTextureLods.y-lodRefraction)>4.0)\n{\n\nfloat scaleRefraction=1.-exp2(lodRefraction)/exp2(vMicrosurfaceTextureLods.y); \nfloat maxRefraction=max(max(abs(refractionVector.x),abs(refractionVector.y)),abs(refractionVector.z));\nif (abs(refractionVector.x) != maxRefraction) refractionVector.x*=scaleRefraction;\nif (abs(refractionVector.y) != maxRefraction) refractionVector.y*=scaleRefraction;\nif (abs(refractionVector.z) != maxRefraction) refractionVector.z*=scaleRefraction;\n}\n#endif\nsurfaceRefractionColor=textureCubeLodEXT(refractionCubeSampler,refractionVector,lodRefraction).rgb*vRefractionInfos.x;\n#else\nsurfaceRefractionColor=textureCube(refractionCubeSampler,refractionVector,biasRefraction).rgb*vRefractionInfos.x;\n#endif\n}\n#ifndef REFRACTIONMAPINLINEARSPACE\nsurfaceRefractionColor=toLinearSpace(surfaceRefractionColor.rgb);\n#endif\n#else\nvec3 vRefractionUVW=vec3(refractionMatrix*(view*vec4(vPositionW+refractionVector*vRefractionInfos.z,1.0)));\nvec2 refractionCoords=vRefractionUVW.xy/vRefractionUVW.z;\nrefractionCoords.y=1.0-refractionCoords.y;\n#ifdef LODBASEDMICROSFURACE\nsurfaceRefractionColor=texture2DLodEXT(refraction2DSampler,refractionCoords,lodRefraction).rgb*vRefractionInfos.x;\n#else\nsurfaceRefractionColor=texture2D(refraction2DSampler,refractionCoords,biasRefraction).rgb*vRefractionInfos.x;\n#endif \nsurfaceRefractionColor=toLinearSpace(surfaceRefractionColor.rgb);\n#endif\n#endif\n\nvec3 environmentRadiance=vReflectionColor.rgb;\nvec3 environmentIrradiance=vReflectionColor.rgb;\n#ifdef REFLECTION\nvec3 vReflectionUVW=computeReflectionCoords(vec4(vPositionW,1.0),normalW);\n#ifdef LODBASEDMICROSFURACE\n#ifdef USEPMREMREFLECTION\nfloat lodReflection=getMipMapIndexFromAverageSlopeWithPMREM(vMicrosurfaceTextureLods.x,alphaG);\n#else\nfloat lodReflection=getMipMapIndexFromAverageSlope(vMicrosurfaceTextureLods.x,alphaG);\n#endif\n#else\nfloat biasReflection=(vMicrosurfaceTextureLods.x+2.)*(1.0-microSurface);\n#endif\n#ifdef REFLECTIONMAP_3D\n#ifdef LODBASEDMICROSFURACE\n#ifdef USEPMREMREFLECTION\n\nif ((vMicrosurfaceTextureLods.y-lodReflection)>4.0)\n{\n\nfloat scaleReflection=1.-exp2(lodReflection)/exp2(vMicrosurfaceTextureLods.x); \nfloat maxReflection=max(max(abs(vReflectionUVW.x),abs(vReflectionUVW.y)),abs(vReflectionUVW.z));\nif (abs(vReflectionUVW.x) != maxReflection) vReflectionUVW.x*=scaleReflection;\nif (abs(vReflectionUVW.y) != maxReflection) vReflectionUVW.y*=scaleReflection;\nif (abs(vReflectionUVW.z) != maxReflection) vReflectionUVW.z*=scaleReflection;\n}\n#endif\nenvironmentRadiance=textureCubeLodEXT(reflectionCubeSampler,vReflectionUVW,lodReflection).rgb*vReflectionInfos.x;\n#else\nenvironmentRadiance=textureCube(reflectionCubeSampler,vReflectionUVW,biasReflection).rgb*vReflectionInfos.x;\n#endif\n#ifdef USESPHERICALFROMREFLECTIONMAP\n#ifndef REFLECTIONMAP_SKYBOX\nvec3 normalEnvironmentSpace=(reflectionMatrix*vec4(normalW,1)).xyz;\nenvironmentIrradiance=EnvironmentIrradiance(normalEnvironmentSpace);\n#endif\n#else\nenvironmentRadiance=toLinearSpace(environmentRadiance.rgb);\nenvironmentIrradiance=textureCube(reflectionCubeSampler,normalW,20.).rgb*vReflectionInfos.x;\nenvironmentIrradiance=toLinearSpace(environmentIrradiance.rgb);\nenvironmentIrradiance*=0.2; \n#endif\n#else\nvec2 coords=vReflectionUVW.xy;\n#ifdef REFLECTIONMAP_PROJECTION\ncoords/=vReflectionUVW.z;\n#endif\ncoords.y=1.0-coords.y;\n#ifdef LODBASEDMICROSFURACE\nenvironmentRadiance=texture2DLodEXT(reflection2DSampler,coords,lodReflection).rgb*vReflectionInfos.x;\n#else\nenvironmentRadiance=texture2D(reflection2DSampler,coords,biasReflection).rgb*vReflectionInfos.x;\n#endif\nenvironmentRadiance=toLinearSpace(environmentRadiance.rgb);\nenvironmentIrradiance=texture2D(reflection2DSampler,coords,20.).rgb*vReflectionInfos.x;\nenvironmentIrradiance=toLinearSpace(environmentIrradiance.rgb);\n#endif\n#endif\n#ifdef OVERLOADEDVALUES\nenvironmentIrradiance=mix(environmentIrradiance,vOverloadedReflection,vOverloadedMicroSurface.z);\nenvironmentRadiance=mix(environmentRadiance,vOverloadedReflection,vOverloadedMicroSurface.z);\n#endif\nenvironmentRadiance*=vLightingIntensity.z;\nenvironmentIrradiance*=vLightingIntensity.z;\n\nvec3 specularEnvironmentReflectance=FresnelSchlickEnvironmentGGX(clamp(NdotV,0.,1.),specularEnvironmentR0,specularEnvironmentR90,sqrt(microSurface));\n\nvec3 refractance=vec3(0.0,0.0,0.0);\n#ifdef REFRACTION\nvec3 transmission=vec3(1.0,1.0,1.0);\n#ifdef LINKREFRACTIONTOTRANSPARENCY\n\ntransmission*=(1.0-alpha);\n\n\nvec3 mixedAlbedo=surfaceAlbedoContribution.rgb*surfaceAlbedo.rgb;\nfloat maxChannel=max(max(mixedAlbedo.r,mixedAlbedo.g),mixedAlbedo.b);\nvec3 tint=clamp(maxChannel*mixedAlbedo,0.0,1.0);\n\nsurfaceAlbedoContribution*=alpha;\n\nenvironmentIrradiance*=alpha;\n\nsurfaceRefractionColor*=tint;\n\nalpha=1.0;\n#endif\n\nvec3 bounceSpecularEnvironmentReflectance=(2.0*specularEnvironmentReflectance)/(1.0+specularEnvironmentReflectance);\nspecularEnvironmentReflectance=mix(bounceSpecularEnvironmentReflectance,specularEnvironmentReflectance,alpha);\n\ntransmission*=1.0-specularEnvironmentReflectance;\n\nrefractance=surfaceRefractionColor*transmission;\n#endif\n\nsurfaceAlbedo.rgb=(1.-reflectance)*surfaceAlbedo.rgb;\nrefractance*=vLightingIntensity.z;\nenvironmentRadiance*=specularEnvironmentReflectance;\n\nvec3 surfaceEmissiveColor=vEmissiveColor;\n#ifdef EMISSIVE\nvec3 emissiveColorTex=texture2D(emissiveSampler,vEmissiveUV+uvOffset).rgb;\nsurfaceEmissiveColor=toLinearSpace(emissiveColorTex.rgb)*surfaceEmissiveColor*vEmissiveInfos.y;\n#endif\n#ifdef OVERLOADEDVALUES\nsurfaceEmissiveColor=mix(surfaceEmissiveColor,vOverloadedEmissive,vOverloadedIntensity.w);\n#endif\n#ifdef EMISSIVEFRESNEL\nfloat emissiveFresnelTerm=computeFresnelTerm(viewDirectionW,normalW,emissiveRightColor.a,emissiveLeftColor.a);\nsurfaceEmissiveColor*=emissiveLeftColor.rgb*(1.0-emissiveFresnelTerm)+emissiveFresnelTerm*emissiveRightColor.rgb;\n#endif\n\n#ifdef EMISSIVEASILLUMINATION\nvec3 finalDiffuse=max(lightDiffuseContribution*surfaceAlbedoContribution+vAmbientColor,0.0)*surfaceAlbedo.rgb;\n#ifdef OVERLOADEDSHADOWVALUES\nshadowedOnlyLightDiffuseContribution=max(shadowedOnlyLightDiffuseContribution*surfaceAlbedoContribution+vAmbientColor,0.0)*surfaceAlbedo.rgb;\n#endif\n#else\n#ifdef LINKEMISSIVEWITHALBEDO\nvec3 finalDiffuse=max((lightDiffuseContribution+surfaceEmissiveColor)*surfaceAlbedoContribution+vAmbientColor,0.0)*surfaceAlbedo.rgb;\n#ifdef OVERLOADEDSHADOWVALUES\nshadowedOnlyLightDiffuseContribution=max((shadowedOnlyLightDiffuseContribution+surfaceEmissiveColor)*surfaceAlbedoContribution+vAmbientColor,0.0)*surfaceAlbedo.rgb;\n#endif\n#else\nvec3 finalDiffuse=max(lightDiffuseContribution*surfaceAlbedoContribution+surfaceEmissiveColor+vAmbientColor,0.0)*surfaceAlbedo.rgb;\n#ifdef OVERLOADEDSHADOWVALUES\nshadowedOnlyLightDiffuseContribution=max(shadowedOnlyLightDiffuseContribution*surfaceAlbedoContribution+surfaceEmissiveColor+vAmbientColor,0.0)*surfaceAlbedo.rgb;\n#endif\n#endif\n#endif\n#ifdef OVERLOADEDSHADOWVALUES\nfinalDiffuse=mix(finalDiffuse,shadowedOnlyLightDiffuseContribution,(1.0-vOverloadedShadowIntensity.y));\n#endif\n#ifdef SPECULARTERM\nvec3 finalSpecular=lightSpecularContribution*surfaceReflectivityColor;\n#else\nvec3 finalSpecular=vec3(0.0);\n#endif\n#ifdef SPECULAROVERALPHA\nalpha=clamp(alpha+getLuminance(finalSpecular),0.,1.);\n#endif\n#ifdef RADIANCEOVERALPHA\nalpha=clamp(alpha+getLuminance(environmentRadiance),0.,1.);\n#endif\n\n\n#ifdef EMISSIVEASILLUMINATION\nvec4 finalColor=vec4(finalDiffuse*ambientColor*vLightingIntensity.x+surfaceAlbedo.rgb*environmentIrradiance+finalSpecular*vLightingIntensity.x+environmentRadiance+surfaceEmissiveColor*vLightingIntensity.y+refractance,alpha);\n#else\nvec4 finalColor=vec4(finalDiffuse*ambientColor*vLightingIntensity.x+surfaceAlbedo.rgb*environmentIrradiance+finalSpecular*vLightingIntensity.x+environmentRadiance+refractance,alpha);\n#endif\n#ifdef LIGHTMAP\n#ifndef LIGHTMAPEXCLUDED\n#ifdef USELIGHTMAPASSHADOWMAP\nfinalColor.rgb*=lightmapColor;\n#else\nfinalColor.rgb+=lightmapColor;\n#endif\n#endif\n#endif\nfinalColor=max(finalColor,0.0);\n#ifdef CAMERATONEMAP\nfinalColor.rgb=toneMaps(finalColor.rgb);\n#endif\nfinalColor.rgb=toGammaSpace(finalColor.rgb);\n#include\n#include(color,finalColor)\n#ifdef CAMERACONTRAST\nfinalColor=contrasts(finalColor);\n#endif\nfinalColor.rgb=clamp(finalColor.rgb,0.,1.);\n#ifdef CAMERACOLORGRADING\nfinalColor=colorGrades(finalColor);\n#endif\n#ifdef CAMERACOLORCURVES\nfinalColor.rgb=applyColorCurves(finalColor.rgb);\n#endif\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\ngl_FragColor=finalColor;\n}","pbrVertexShader":"precision highp float;\n\nattribute vec3 position;\n#ifdef NORMAL\nattribute vec3 normal;\n#endif\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#ifdef VERTEXCOLOR\nattribute vec4 color;\n#endif\n#include\n\n#include\nuniform mat4 view;\nuniform mat4 viewProjection;\n#ifdef ALBEDO\nvarying vec2 vAlbedoUV;\nuniform mat4 albedoMatrix;\nuniform vec2 vAlbedoInfos;\n#endif\n#ifdef AMBIENT\nvarying vec2 vAmbientUV;\nuniform mat4 ambientMatrix;\nuniform vec3 vAmbientInfos;\n#endif\n#ifdef OPACITY\nvarying vec2 vOpacityUV;\nuniform mat4 opacityMatrix;\nuniform vec2 vOpacityInfos;\n#endif\n#ifdef EMISSIVE\nvarying vec2 vEmissiveUV;\nuniform vec2 vEmissiveInfos;\nuniform mat4 emissiveMatrix;\n#endif\n#ifdef LIGHTMAP\nvarying vec2 vLightmapUV;\nuniform vec2 vLightmapInfos;\nuniform mat4 lightmapMatrix;\n#endif\n#if defined(REFLECTIVITY) || defined(METALLICWORKFLOW) \nvarying vec2 vReflectivityUV;\nuniform vec2 vReflectivityInfos;\nuniform mat4 reflectivityMatrix;\n#endif\n#ifdef BUMP\nvarying vec2 vBumpUV;\nuniform vec3 vBumpInfos;\nuniform mat4 bumpMatrix;\n#endif\n#ifdef POINTSIZE\nuniform float pointSize;\n#endif\n\nvarying vec3 vPositionW;\n#ifdef NORMAL\nvarying vec3 vNormalW;\n#endif\n#ifdef VERTEXCOLOR\nvarying vec4 vColor;\n#endif\n#include\n#include\n#include[0..maxSimultaneousLights]\n#ifdef REFLECTIONMAP_SKYBOX\nvarying vec3 vPositionUVW;\n#endif\n#ifdef REFLECTIONMAP_EQUIRECTANGULAR_FIXED\nvarying vec3 vDirectionW;\n#endif\n#include\nvoid main(void) {\n#ifdef REFLECTIONMAP_SKYBOX\nvPositionUVW=position;\n#endif \n#include\n#include\ngl_Position=viewProjection*finalWorld*vec4(position,1.0);\nvec4 worldPos=finalWorld*vec4(position,1.0);\nvPositionW=vec3(worldPos);\n#ifdef NORMAL\nvNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\n#endif\n#ifdef REFLECTIONMAP_EQUIRECTANGULAR_FIXED\nvDirectionW=normalize(vec3(finalWorld*vec4(position,0.0)));\n#endif\n\n#ifndef UV1\nvec2 uv=vec2(0.,0.);\n#endif\n#ifndef UV2\nvec2 uv2=vec2(0.,0.);\n#endif\n#ifdef ALBEDO\nif (vAlbedoInfos.x == 0.)\n{\nvAlbedoUV=vec2(albedoMatrix*vec4(uv,1.0,0.0));\n}\nelse\n{\nvAlbedoUV=vec2(albedoMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n#ifdef AMBIENT\nif (vAmbientInfos.x == 0.)\n{\nvAmbientUV=vec2(ambientMatrix*vec4(uv,1.0,0.0));\n}\nelse\n{\nvAmbientUV=vec2(ambientMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n#ifdef OPACITY\nif (vOpacityInfos.x == 0.)\n{\nvOpacityUV=vec2(opacityMatrix*vec4(uv,1.0,0.0));\n}\nelse\n{\nvOpacityUV=vec2(opacityMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n#ifdef EMISSIVE\nif (vEmissiveInfos.x == 0.)\n{\nvEmissiveUV=vec2(emissiveMatrix*vec4(uv,1.0,0.0));\n}\nelse\n{\nvEmissiveUV=vec2(emissiveMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n#ifdef LIGHTMAP\nif (vLightmapInfos.x == 0.)\n{\nvLightmapUV=vec2(lightmapMatrix*vec4(uv,1.0,0.0));\n}\nelse\n{\nvLightmapUV=vec2(lightmapMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n#if defined(REFLECTIVITY) || defined(METALLICWORKFLOW) \nif (vReflectivityInfos.x == 0.)\n{\nvReflectivityUV=vec2(reflectivityMatrix*vec4(uv,1.0,0.0));\n}\nelse\n{\nvReflectivityUV=vec2(reflectivityMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n#ifdef BUMP\nif (vBumpInfos.x == 0.)\n{\nvBumpUV=vec2(bumpMatrix*vec4(uv,1.0,0.0));\n}\nelse\n{\nvBumpUV=vec2(bumpMatrix*vec4(uv2,1.0,0.0));\n}\n#endif\n\n#include\n\n#include\n\n#include[0..maxSimultaneousLights]\n\n#ifdef VERTEXCOLOR\nvColor=color;\n#endif\n\n#ifdef POINTSIZE\ngl_PointSize=pointSize;\n#endif\n\n#include\n}","postprocessVertexShader":"\nattribute vec2 position;\nuniform vec2 scale;\n\nvarying vec2 vUV;\nconst vec2 madd=vec2(0.5,0.5);\nvoid main(void) { \nvUV=(position*madd+madd)*scale;\ngl_Position=vec4(position,0.0,1.0);\n}","proceduralVertexShader":"\nattribute vec2 position;\n\nvarying vec2 vPosition;\nvarying vec2 vUV;\nconst vec2 madd=vec2(0.5,0.5);\nvoid main(void) { \nvPosition=position;\nvUV=position*madd+madd;\ngl_Position=vec4(position,0.0,1.0);\n}","refractionPixelShader":"\nvarying vec2 vUV;\nuniform sampler2D textureSampler;\nuniform sampler2D refractionSampler;\n\nuniform vec3 baseColor;\nuniform float depth;\nuniform float colorLevel;\nvoid main() {\nfloat ref=1.0-texture2D(refractionSampler,vUV).r;\nvec2 uv=vUV-vec2(0.5);\nvec2 offset=uv*depth*ref;\nvec3 sourceColor=texture2D(textureSampler,vUV-offset).rgb;\ngl_FragColor=vec4(sourceColor+sourceColor*ref*colorLevel,1.0);\n}","shadowMapPixelShader":"#ifndef FULLFLOAT\nvec4 pack(float depth)\n{\nconst vec4 bit_shift=vec4(255.0*255.0*255.0,255.0*255.0,255.0,1.0);\nconst vec4 bit_mask=vec4(0.0,1.0/255.0,1.0/255.0,1.0/255.0);\nvec4 res=fract(depth*bit_shift);\nres-=res.xxyz*bit_mask;\nreturn res;\n}\n\nvec2 packHalf(float depth) \n{ \nconst vec2 bitOffset=vec2(1.0/255.,0.);\nvec2 color=vec2(depth,fract(depth*255.));\nreturn color-(color.yy*bitOffset);\n}\n#endif\nvarying vec4 vPosition;\n#ifdef ALPHATEST\nvarying vec2 vUV;\nuniform sampler2D diffuseSampler;\n#endif\n#ifdef CUBEMAP\nuniform vec3 lightPosition;\nuniform vec2 depthValues;\n#endif\nvoid main(void)\n{\n#ifdef ALPHATEST\nif (texture2D(diffuseSampler,vUV).a<0.4)\ndiscard;\n#endif\n#ifdef CUBEMAP\nvec3 directionToLight=vPosition.xyz-lightPosition;\nfloat depth=length(directionToLight);\ndepth=(depth-depthValues.x)/(depthValues.y-depthValues.x);\ndepth=clamp(depth,0.,1.0);\n#else\nfloat depth=vPosition.z/vPosition.w;\ndepth=depth*0.5+0.5;\n#endif\n#ifdef VSM\nfloat moment1=depth;\nfloat moment2=moment1*moment1;\n#ifndef FULLFLOAT\ngl_FragColor=vec4(packHalf(moment1),packHalf(moment2));\n#else\ngl_FragColor=vec4(moment1,moment2,1.0,1.0);\n#endif\n#else\n#ifndef FULLFLOAT\ngl_FragColor=pack(depth);\n#else\ngl_FragColor=vec4(depth,1.0,1.0,1.0);\n#endif\n#endif\n}","shadowMapVertexShader":"\nattribute vec3 position;\n#include\n\n#include\nuniform mat4 viewProjection;\nvarying vec4 vPosition;\n#ifdef ALPHATEST\nvarying vec2 vUV;\nuniform mat4 diffuseMatrix;\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#endif\nvoid main(void)\n{\n#include\n#include\n#ifdef CUBEMAP\nvPosition=finalWorld*vec4(position,1.0);\ngl_Position=viewProjection*finalWorld*vec4(position,1.0);\n#else\nvPosition=viewProjection*finalWorld*vec4(position,1.0);\ngl_Position=vPosition;\n#endif\n#ifdef ALPHATEST\n#ifdef UV1\nvUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));\n#endif\n#ifdef UV2\nvUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\n#endif\n#endif\n}","spritesPixelShader":"uniform bool alphaTest;\nvarying vec4 vColor;\n\nvarying vec2 vUV;\nuniform sampler2D diffuseSampler;\n\n#include\nvoid main(void) {\nvec4 color=texture2D(diffuseSampler,vUV);\nif (alphaTest) \n{\nif (color.a<0.95)\ndiscard;\n}\ncolor*=vColor;\n#include\ngl_FragColor=color;\n}","spritesVertexShader":"\nattribute vec4 position;\nattribute vec4 options;\nattribute vec4 cellInfo;\nattribute vec4 color;\n\nuniform vec2 textureInfos;\nuniform mat4 view;\nuniform mat4 projection;\n\nvarying vec2 vUV;\nvarying vec4 vColor;\n#include\nvoid main(void) { \nvec3 viewPos=(view*vec4(position.xyz,1.0)).xyz; \nvec2 cornerPos;\nfloat angle=position.w;\nvec2 size=vec2(options.x,options.y);\nvec2 offset=options.zw;\nvec2 uvScale=textureInfos.xy;\ncornerPos=vec2(offset.x-0.5,offset.y-0.5)*size;\n\nvec3 rotatedCorner;\nrotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\nrotatedCorner.y=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\nrotatedCorner.z=0.;\n\nviewPos+=rotatedCorner;\ngl_Position=projection*vec4(viewPos,1.0); \n\nvColor=color;\n\nvec2 uvOffset=vec2(abs(offset.x-cellInfo.x),1.0-abs(offset.y-cellInfo.y));\nvUV=(uvOffset+cellInfo.zw)*uvScale;\n\n#ifdef FOG\nfFogDistance=viewPos.z;\n#endif\n}","ssaoPixelShader":"\nuniform sampler2D textureSampler;\nvarying vec2 vUV;\n#ifdef SSAO\nuniform sampler2D randomSampler;\nuniform float randTextureTiles;\nuniform float samplesFactor;\nuniform vec3 sampleSphere[SAMPLES];\nuniform float totalStrength;\nuniform float radius;\nuniform float area;\nuniform float fallOff;\nuniform float base;\nvec3 normalFromDepth(float depth,vec2 coords)\n{\nvec2 offset1=vec2(0.0,radius);\nvec2 offset2=vec2(radius,0.0);\nfloat depth1=texture2D(textureSampler,coords+offset1).r;\nfloat depth2=texture2D(textureSampler,coords+offset2).r;\nvec3 p1=vec3(offset1,depth1-depth);\nvec3 p2=vec3(offset2,depth2-depth);\nvec3 normal=cross(p1,p2);\nnormal.z=-normal.z;\nreturn normalize(normal);\n}\nvoid main()\n{\nvec3 random=normalize(texture2D(randomSampler,vUV*randTextureTiles).rgb);\nfloat depth=texture2D(textureSampler,vUV).r;\nvec3 position=vec3(vUV,depth);\nvec3 normal=normalFromDepth(depth,vUV);\nfloat radiusDepth=radius/depth;\nfloat occlusion=0.0;\nvec3 ray;\nvec3 hemiRay;\nfloat occlusionDepth;\nfloat difference;\nfor (int i=0; i0.5;\ntexCoord1=vec2(useCamB ? (vUV.x-0.5)*2.0 : vUV.x*2.0,vUV.y);\ntexCoord2=vec2(texCoord1.x+stepSize.x,vUV.y);\n#else\nuseCamB=vUV.y>0.5;\ntexCoord1=vec2(vUV.x,useCamB ? (vUV.y-0.5)*2.0 : vUV.y*2.0);\ntexCoord2=vec2(vUV.x,texCoord1.y+stepSize.y);\n#endif\n\nif (useCamB){\nfrag1=texture2D(textureSampler,texCoord1).rgb;\nfrag2=texture2D(textureSampler,texCoord2).rgb;\n}else{\nfrag1=texture2D(camASampler ,texCoord1).rgb;\nfrag2=texture2D(camASampler ,texCoord2).rgb;\n}\ngl_FragColor=vec4((frag1+frag2)/TWO,1.0);\n}","tonemapPixelShader":"\nvarying vec2 vUV;\nuniform sampler2D textureSampler;\n\nuniform float _ExposureAdjustment;\n#if defined(HABLE_TONEMAPPING)\nconst float A=0.15;\nconst float B=0.50;\nconst float C=0.10;\nconst float D=0.20;\nconst float E=0.02;\nconst float F=0.30;\nconst float W=11.2;\n#endif\nfloat Luminance(vec3 c)\n{\nreturn dot(c,vec3(0.22,0.707,0.071));\n}\nvoid main(void) \n{\nvec3 colour=texture2D(textureSampler,vUV).rgb;\n#if defined(REINHARD_TONEMAPPING)\nfloat lum=Luminance(colour.rgb); \nfloat lumTm=lum*_ExposureAdjustment;\nfloat scale=lumTm/(1.0+lumTm); \ncolour*=scale/lum;\n#elif defined(HABLE_TONEMAPPING)\ncolour*=_ExposureAdjustment;\nconst float ExposureBias=2.0;\nvec3 x=ExposureBias*colour;\nvec3 curr=((x*(A*x+C*B)+D*E)/(x*(A*x+B)+D*F))-E/F;\nx=vec3(W,W,W);\nvec3 whiteScale=1.0/(((x*(A*x+C*B)+D*E)/(x*(A*x+B)+D*F))-E/F);\ncolour=curr*whiteScale;\n#elif defined(OPTIMIZED_HEJIDAWSON_TONEMAPPING)\ncolour*=_ExposureAdjustment;\nvec3 X=max(vec3(0.0,0.0,0.0),colour-0.004);\nvec3 retColor=(X*(6.2*X+0.5))/(X*(6.2*X+1.7)+0.06);\ncolour=retColor*retColor;\n#elif defined(PHOTOGRAPHIC_TONEMAPPING)\ncolour=vec3(1.0,1.0,1.0)-exp2(-_ExposureAdjustment*colour);\n#endif\ngl_FragColor=vec4(colour.rgb,1.0);\n}","volumetricLightScatteringPixelShader":"uniform sampler2D textureSampler;\nuniform sampler2D lightScatteringSampler;\nuniform float decay;\nuniform float exposure;\nuniform float weight;\nuniform float density;\nuniform vec2 meshPositionOnScreen;\nvarying vec2 vUV;\nvoid main(void) {\nvec2 tc=vUV;\nvec2 deltaTexCoord=(tc-meshPositionOnScreen.xy);\ndeltaTexCoord*=1.0/float(NUM_SAMPLES)*density;\nfloat illuminationDecay=1.0;\nvec4 color=texture2D(lightScatteringSampler,tc)*0.4;\nfor(int i=0; i1.0 || tc.y<0.0 || tc.y>1.0)\ngl_FragColor=vec4(0.0,0.0,0.0,1.0);\nelse{\ngl_FragColor=vec4(texture2D(textureSampler,tc).rgb,1.0);\n}\n}"}; +BABYLON.Effect.IncludesShadersStore={"bonesDeclaration":"#if NUM_BONE_INFLUENCERS>0\nuniform mat4 mBones[BonesPerMesh];\nattribute vec4 matricesIndices;\nattribute vec4 matricesWeights;\n#if NUM_BONE_INFLUENCERS>4\nattribute vec4 matricesIndicesExtra;\nattribute vec4 matricesWeightsExtra;\n#endif\n#endif","bonesVertex":"#if NUM_BONE_INFLUENCERS>0\nmat4 influence;\ninfluence=mBones[int(matricesIndices[0])]*matricesWeights[0];\n#if NUM_BONE_INFLUENCERS>1\ninfluence+=mBones[int(matricesIndices[1])]*matricesWeights[1];\n#endif \n#if NUM_BONE_INFLUENCERS>2\ninfluence+=mBones[int(matricesIndices[2])]*matricesWeights[2];\n#endif \n#if NUM_BONE_INFLUENCERS>3\ninfluence+=mBones[int(matricesIndices[3])]*matricesWeights[3];\n#endif \n#if NUM_BONE_INFLUENCERS>4\ninfluence+=mBones[int(matricesIndicesExtra[0])]*matricesWeightsExtra[0];\n#endif \n#if NUM_BONE_INFLUENCERS>5\ninfluence+=mBones[int(matricesIndicesExtra[1])]*matricesWeightsExtra[1];\n#endif \n#if NUM_BONE_INFLUENCERS>6\ninfluence+=mBones[int(matricesIndicesExtra[2])]*matricesWeightsExtra[2];\n#endif \n#if NUM_BONE_INFLUENCERS>7\ninfluence+=mBones[int(matricesIndicesExtra[3])]*matricesWeightsExtra[3];\n#endif \nfinalWorld=finalWorld*influence;\n#endif","bumpFragment":"vec2 uvOffset=vec2(0.0,0.0);\n#if defined(BUMP) || defined(PARALLAX)\nmat3 TBN=cotangent_frame(normalW*vBumpInfos.y,-viewDirectionW,vBumpUV);\n#endif\n#ifdef PARALLAX\nmat3 invTBN=transposeMat3(TBN);\n#ifdef PARALLAXOCCLUSION\nuvOffset=parallaxOcclusion(invTBN*-viewDirectionW,invTBN*normalW,vBumpUV,vBumpInfos.z);\n#else\nuvOffset=parallaxOffset(invTBN*viewDirectionW,vBumpInfos.z);\n#endif\n#endif\n#ifdef BUMP\nnormalW=perturbNormal(viewDirectionW,TBN,vBumpUV+uvOffset);\n#endif","bumpFragmentFunctions":"#ifdef BUMP\nvarying vec2 vBumpUV;\nuniform vec3 vBumpInfos;\nuniform sampler2D bumpSampler;\n\nmat3 cotangent_frame(vec3 normal,vec3 p,vec2 uv)\n{\n\nvec3 dp1=dFdx(p);\nvec3 dp2=dFdy(p);\nvec2 duv1=dFdx(uv);\nvec2 duv2=dFdy(uv);\n\nvec3 dp2perp=cross(dp2,normal);\nvec3 dp1perp=cross(normal,dp1);\nvec3 tangent=dp2perp*duv1.x+dp1perp*duv2.x;\nvec3 binormal=dp2perp*duv1.y+dp1perp*duv2.y;\n\nfloat invmax=inversesqrt(max(dot(tangent,tangent),dot(binormal,binormal)));\nreturn mat3(tangent*invmax,binormal*invmax,normal);\n}\nvec3 perturbNormal(vec3 viewDir,mat3 cotangentFrame,vec2 uv)\n{\nvec3 map=texture2D(bumpSampler,uv).xyz;\n#ifdef INVERTNORMALMAPX\nmap.x=1.0-map.x;\n#endif\n#ifdef INVERTNORMALMAPY\nmap.y=1.0-map.y;\n#endif\nmap=map*255./127.-128./127.;\nreturn normalize(cotangentFrame*map);\n}\n#ifdef PARALLAX\nconst float minSamples=4.;\nconst float maxSamples=15.;\nconst int iMaxSamples=15;\n\nvec2 parallaxOcclusion(vec3 vViewDirCoT,vec3 vNormalCoT,vec2 texCoord,float parallaxScale) {\nfloat parallaxLimit=length(vViewDirCoT.xy)/vViewDirCoT.z;\nparallaxLimit*=parallaxScale;\nvec2 vOffsetDir=normalize(vViewDirCoT.xy);\nvec2 vMaxOffset=vOffsetDir*parallaxLimit;\nfloat numSamples=maxSamples+(dot(vViewDirCoT,vNormalCoT)*(minSamples-maxSamples));\nfloat stepSize=1.0/numSamples;\n\nfloat currRayHeight=1.0;\nvec2 vCurrOffset=vec2(0,0);\nvec2 vLastOffset=vec2(0,0);\nfloat lastSampledHeight=1.0;\nfloat currSampledHeight=1.0;\nfor (int i=0; icurrRayHeight)\n{\nfloat delta1=currSampledHeight-currRayHeight;\nfloat delta2=(currRayHeight+stepSize)-lastSampledHeight;\nfloat ratio=delta1/(delta1+delta2);\nvCurrOffset=(ratio)* vLastOffset+(1.0-ratio)*vCurrOffset;\n\nbreak;\n}\nelse\n{\ncurrRayHeight-=stepSize;\nvLastOffset=vCurrOffset;\nvCurrOffset+=stepSize*vMaxOffset;\nlastSampledHeight=currSampledHeight;\n}\n}\nreturn vCurrOffset;\n}\nvec2 parallaxOffset(vec3 viewDir,float heightScale)\n{\n\nfloat height=texture2D(bumpSampler,vBumpUV).w;\nvec2 texCoordOffset=heightScale*viewDir.xy*height;\nreturn -texCoordOffset;\n}\n#endif\n#endif","clipPlaneFragment":"#ifdef CLIPPLANE\nif (fClipDistance>0.0)\n{\ndiscard;\n}\n#endif","clipPlaneFragmentDeclaration":"#ifdef CLIPPLANE\nvarying float fClipDistance;\n#endif","clipPlaneVertex":"#ifdef CLIPPLANE\nfClipDistance=dot(worldPos,vClipPlane);\n#endif","clipPlaneVertexDeclaration":"#ifdef CLIPPLANE\nuniform vec4 vClipPlane;\nvarying float fClipDistance;\n#endif","colorCurves":"const vec3 HDTVRec709_RGBLuminanceCoefficients=vec3(0.2126,0.7152,0.0722);\nvec3 applyColorCurves(vec3 original) {\nvec3 result=original;\n\n\n\nfloat luma=dot(result.rgb,HDTVRec709_RGBLuminanceCoefficients);\nvec2 curveMix=clamp(vec2(luma*3.0-1.5,luma*-3.0+1.5),vec2(0.0,0.0),vec2(1.0,1.0));\nvec4 colorCurve=vCameraColorCurveNeutral+curveMix.x*vCameraColorCurvePositive-curveMix.y*vCameraColorCurveNegative;\nresult.rgb*=colorCurve.rgb;\nresult.rgb=mix(vec3(luma,luma,luma),result.rgb,colorCurve.a);\nreturn result;\n}","colorCurvesDefinition":"uniform vec4 vCameraColorCurveNeutral;\nuniform vec4 vCameraColorCurvePositive;\nuniform vec4 vCameraColorCurveNegative;","colorGrading":"vec4 colorGrades(vec4 color) \n{ \n\nfloat sliceContinuous=color.z*vCameraColorGradingInfos.z;\nfloat sliceInteger=floor(sliceContinuous);\n\n\nfloat sliceFraction=sliceContinuous-sliceInteger; \n\nvec2 sliceUV=color.xy*vCameraColorGradingScaleOffset.xy+vCameraColorGradingScaleOffset.zw;\n\n\nsliceUV.x+=sliceInteger*vCameraColorGradingInfos.w;\nvec4 slice0Color=texture2D(cameraColorGrading2DSampler,sliceUV);\nsliceUV.x+=vCameraColorGradingInfos.w;\nvec4 slice1Color=texture2D(cameraColorGrading2DSampler,sliceUV);\nvec3 result=mix(slice0Color.rgb,slice1Color.rgb,sliceFraction);\ncolor.rgb=mix(color.rgb,result,vCameraColorGradingInfos.x);\nreturn color;\n}","colorGradingDefinition":"uniform sampler2D cameraColorGrading2DSampler;\nuniform vec4 vCameraColorGradingInfos;\nuniform vec4 vCameraColorGradingScaleOffset;","fogFragment":"#ifdef FOG\nfloat fog=CalcFogFactor();\ncolor.rgb=fog*color.rgb+(1.0-fog)*vFogColor;\n#endif","fogFragmentDeclaration":"#ifdef FOG\n#define FOGMODE_NONE 0.\n#define FOGMODE_EXP 1.\n#define FOGMODE_EXP2 2.\n#define FOGMODE_LINEAR 3.\n#define E 2.71828\nuniform vec4 vFogInfos;\nuniform vec3 vFogColor;\nvarying float fFogDistance;\nfloat CalcFogFactor()\n{\nfloat fogCoeff=1.0;\nfloat fogStart=vFogInfos.y;\nfloat fogEnd=vFogInfos.z;\nfloat fogDensity=vFogInfos.w;\nif (FOGMODE_LINEAR == vFogInfos.x)\n{\nfogCoeff=(fogEnd-fFogDistance)/(fogEnd-fogStart);\n}\nelse if (FOGMODE_EXP == vFogInfos.x)\n{\nfogCoeff=1.0/pow(E,fFogDistance*fogDensity);\n}\nelse if (FOGMODE_EXP2 == vFogInfos.x)\n{\nfogCoeff=1.0/pow(E,fFogDistance*fFogDistance*fogDensity*fogDensity);\n}\nreturn clamp(fogCoeff,0.0,1.0);\n}\n#endif","fogVertex":"#ifdef FOG\nfFogDistance=(view*worldPos).z;\n#endif","fogVertexDeclaration":"#ifdef FOG\nvarying float fFogDistance;\n#endif","fresnelFunction":"#ifdef FRESNEL\nfloat computeFresnelTerm(vec3 viewDirection,vec3 worldNormal,float bias,float power)\n{\nfloat fresnelTerm=pow(bias+abs(dot(viewDirection,worldNormal)),power);\nreturn clamp(fresnelTerm,0.,1.);\n}\n#endif","harmonicsFunctions":"#ifdef USESPHERICALFROMREFLECTIONMAP\nuniform vec3 vSphericalX;\nuniform vec3 vSphericalY;\nuniform vec3 vSphericalZ;\nuniform vec3 vSphericalXX;\nuniform vec3 vSphericalYY;\nuniform vec3 vSphericalZZ;\nuniform vec3 vSphericalXY;\nuniform vec3 vSphericalYZ;\nuniform vec3 vSphericalZX;\nvec3 EnvironmentIrradiance(vec3 normal)\n{\n\n\n\nvec3 result =\nvSphericalX*normal.x +\nvSphericalY*normal.y +\nvSphericalZ*normal.z +\nvSphericalXX*normal.x*normal.x +\nvSphericalYY*normal.y*normal.y +\nvSphericalZZ*normal.z*normal.z +\nvSphericalYZ*normal.y*normal.z +\nvSphericalZX*normal.z*normal.x +\nvSphericalXY*normal.x*normal.y;\nreturn result.rgb;\n}\n#endif","helperFunctions":"mat3 transposeMat3(mat3 inMatrix) {\nvec3 i0=inMatrix[0];\nvec3 i1=inMatrix[1];\nvec3 i2=inMatrix[2];\nmat3 outMatrix=mat3(\nvec3(i0.x,i1.x,i2.x),\nvec3(i0.y,i1.y,i2.y),\nvec3(i0.z,i1.z,i2.z)\n);\nreturn outMatrix;\n}","instancesDeclaration":"#ifdef INSTANCES\nattribute vec4 world0;\nattribute vec4 world1;\nattribute vec4 world2;\nattribute vec4 world3;\n#else\nuniform mat4 world;\n#endif","instancesVertex":"#ifdef INSTANCES\nmat4 finalWorld=mat4(world0,world1,world2,world3);\n#else\nmat4 finalWorld=world;\n#endif","lightFragment":"#ifdef LIGHT{X}\n#if defined(LIGHTMAP) && defined(LIGHTMAPEXCLUDED{X}) && defined(LIGHTMAPNOSPECULAR{X})\n\n#else\n#ifndef SPECULARTERM\nvec3 vLightSpecular{X}=vec3(0.);\n#endif\n#ifdef SPOTLIGHT{X}\ninfo=computeSpotLighting(viewDirectionW,normalW,vLightData{X},vLightDirection{X},vLightDiffuse{X}.rgb,vLightSpecular{X},vLightDiffuse{X}.a,glossiness);\n#endif\n#ifdef HEMILIGHT{X}\ninfo=computeHemisphericLighting(viewDirectionW,normalW,vLightData{X},vLightDiffuse{X}.rgb,vLightSpecular{X},vLightGround{X},glossiness);\n#endif\n#if defined(POINTLIGHT{X}) || defined(DIRLIGHT{X})\ninfo=computeLighting(viewDirectionW,normalW,vLightData{X},vLightDiffuse{X}.rgb,vLightSpecular{X},vLightDiffuse{X}.a,glossiness);\n#endif\n#endif\n#ifdef SHADOW{X}\n#ifdef SHADOWVSM{X}\nshadow=computeShadowWithVSM(vPositionFromLight{X},shadowSampler{X},shadowsInfo{X}.z,shadowsInfo{X}.x);\n#else\n#ifdef SHADOWPCF{X}\n#if defined(POINTLIGHT{X})\nshadow=computeShadowWithPCFCube(vLightData{X}.xyz,shadowSampler{X},shadowsInfo{X}.y,shadowsInfo{X}.z,shadowsInfo{X}.x);\n#else\nshadow=computeShadowWithPCF(vPositionFromLight{X},shadowSampler{X},shadowsInfo{X}.y,shadowsInfo{X}.z,shadowsInfo{X}.x);\n#endif\n#else\n#if defined(POINTLIGHT{X})\nshadow=computeShadowCube(vLightData{X}.xyz,shadowSampler{X},shadowsInfo{X}.x,shadowsInfo{X}.z);\n#else\nshadow=computeShadow(vPositionFromLight{X},shadowSampler{X},shadowsInfo{X}.x,shadowsInfo{X}.z);\n#endif\n#endif\n#endif\n#else\nshadow=1.;\n#endif\n#if defined(LIGHTMAP) && defined(LIGHTMAPEXCLUDED{X})\ndiffuseBase+=lightmapColor*shadow;\n#ifdef SPECULARTERM\n#ifndef LIGHTMAPNOSPECULAR{X}\nspecularBase+=info.specular*shadow*lightmapColor;\n#endif\n#endif\n#else\ndiffuseBase+=info.diffuse*shadow;\n#ifdef SPECULARTERM\nspecularBase+=info.specular*shadow;\n#endif\n#endif\n#endif","lightFragmentDeclaration":"#ifdef LIGHT{X}\nuniform vec4 vLightData{X};\nuniform vec4 vLightDiffuse{X};\n#ifdef SPECULARTERM\nuniform vec3 vLightSpecular{X};\n#endif\n#ifdef SHADOW{X}\n#if defined(SPOTLIGHT{X}) || defined(DIRLIGHT{X})\nvarying vec4 vPositionFromLight{X};\nuniform sampler2D shadowSampler{X};\n#else\nuniform samplerCube shadowSampler{X};\n#endif\nuniform vec3 shadowsInfo{X};\n#endif\n#ifdef SPOTLIGHT{X}\nuniform vec4 vLightDirection{X};\n#endif\n#ifdef HEMILIGHT{X}\nuniform vec3 vLightGround{X};\n#endif\n#endif","lightsFragmentFunctions":"\nstruct lightingInfo\n{\nvec3 diffuse;\n#ifdef SPECULARTERM\nvec3 specular;\n#endif\n};\nlightingInfo computeLighting(vec3 viewDirectionW,vec3 vNormal,vec4 lightData,vec3 diffuseColor,vec3 specularColor,float range,float glossiness) {\nlightingInfo result;\nvec3 lightVectorW;\nfloat attenuation=1.0;\nif (lightData.w == 0.)\n{\nvec3 direction=lightData.xyz-vPositionW;\nattenuation=max(0.,1.0-length(direction)/range);\nlightVectorW=normalize(direction);\n}\nelse\n{\nlightVectorW=normalize(-lightData.xyz);\n}\n\nfloat ndl=max(0.,dot(vNormal,lightVectorW));\nresult.diffuse=ndl*diffuseColor*attenuation;\n#ifdef SPECULARTERM\n\nvec3 angleW=normalize(viewDirectionW+lightVectorW);\nfloat specComp=max(0.,dot(vNormal,angleW));\nspecComp=pow(specComp,max(1.,glossiness));\nresult.specular=specComp*specularColor*attenuation;\n#endif\nreturn result;\n}\nlightingInfo computeSpotLighting(vec3 viewDirectionW,vec3 vNormal,vec4 lightData,vec4 lightDirection,vec3 diffuseColor,vec3 specularColor,float range,float glossiness) {\nlightingInfo result;\nvec3 direction=lightData.xyz-vPositionW;\nvec3 lightVectorW=normalize(direction);\nfloat attenuation=max(0.,1.0-length(direction)/range);\n\nfloat cosAngle=max(0.,dot(-lightDirection.xyz,lightVectorW));\nif (cosAngle>=lightDirection.w)\n{\ncosAngle=max(0.,pow(cosAngle,lightData.w));\nattenuation*=cosAngle;\n\nfloat ndl=max(0.,dot(vNormal,-lightDirection.xyz));\nresult.diffuse=ndl*diffuseColor*attenuation;\n#ifdef SPECULARTERM\n\nvec3 angleW=normalize(viewDirectionW-lightDirection.xyz);\nfloat specComp=max(0.,dot(vNormal,angleW));\nspecComp=pow(specComp,max(1.,glossiness));\nresult.specular=specComp*specularColor*attenuation;\n#endif\nreturn result;\n}\nresult.diffuse=vec3(0.);\n#ifdef SPECULARTERM\nresult.specular=vec3(0.);\n#endif\nreturn result;\n}\nlightingInfo computeHemisphericLighting(vec3 viewDirectionW,vec3 vNormal,vec4 lightData,vec3 diffuseColor,vec3 specularColor,vec3 groundColor,float glossiness) {\nlightingInfo result;\n\nfloat ndl=dot(vNormal,lightData.xyz)*0.5+0.5;\nresult.diffuse=mix(groundColor,diffuseColor,ndl);\n#ifdef SPECULARTERM\n\nvec3 angleW=normalize(viewDirectionW+lightData.xyz);\nfloat specComp=max(0.,dot(vNormal,angleW));\nspecComp=pow(specComp,max(1.,glossiness));\nresult.specular=specComp*specularColor;\n#endif\nreturn result;\n}\n","logDepthDeclaration":"#ifdef LOGARITHMICDEPTH\nuniform float logarithmicDepthConstant;\nvarying float vFragmentDepth;\n#endif","logDepthFragment":"#ifdef LOGARITHMICDEPTH\ngl_FragDepthEXT=log2(vFragmentDepth)*logarithmicDepthConstant*0.5;\n#endif","logDepthVertex":"#ifdef LOGARITHMICDEPTH\nvFragmentDepth=1.0+gl_Position.w;\ngl_Position.z=log2(max(0.000001,vFragmentDepth))*logarithmicDepthConstant;\n#endif","pbrFunctions":"\n#define RECIPROCAL_PI2 0.15915494\n#define FRESNEL_MAXIMUM_ON_ROUGH 0.25\n\nconst float kPi=3.1415926535897932384626433832795;\nconst float kRougnhessToAlphaScale=0.1;\nconst float kRougnhessToAlphaOffset=0.29248125;\nfloat Square(float value)\n{\nreturn value*value;\n}\nfloat getLuminance(vec3 color)\n{\nreturn clamp(dot(color,vec3(0.2126,0.7152,0.0722)),0.,1.);\n}\nfloat convertRoughnessToAverageSlope(float roughness)\n{\n\nconst float kMinimumVariance=0.0005;\nfloat alphaG=Square(roughness)+kMinimumVariance;\nreturn alphaG;\n}\n\nfloat getMipMapIndexFromAverageSlope(float maxMipLevel,float alpha)\n{\n\n\n\n\n\n\n\nfloat mip=kRougnhessToAlphaOffset+maxMipLevel+(maxMipLevel*kRougnhessToAlphaScale*log2(alpha));\nreturn clamp(mip,0.,maxMipLevel);\n}\nfloat getMipMapIndexFromAverageSlopeWithPMREM(float maxMipLevel,float alphaG)\n{\nfloat specularPower=clamp(2./alphaG-2.,0.000001,2048.);\n\nreturn clamp(- 0.5*log2(specularPower)+5.5,0.,maxMipLevel);\n}\n\nfloat smithVisibilityG1_TrowbridgeReitzGGX(float dot,float alphaG)\n{\nfloat tanSquared=(1.0-dot*dot)/(dot*dot);\nreturn 2.0/(1.0+sqrt(1.0+alphaG*alphaG*tanSquared));\n}\nfloat smithVisibilityG_TrowbridgeReitzGGX_Walter(float NdotL,float NdotV,float alphaG)\n{\nreturn smithVisibilityG1_TrowbridgeReitzGGX(NdotL,alphaG)*smithVisibilityG1_TrowbridgeReitzGGX(NdotV,alphaG);\n}\n\n\nfloat normalDistributionFunction_TrowbridgeReitzGGX(float NdotH,float alphaG)\n{\n\n\n\nfloat a2=Square(alphaG);\nfloat d=NdotH*NdotH*(a2-1.0)+1.0;\nreturn a2/(kPi*d*d);\n}\nvec3 fresnelSchlickGGX(float VdotH,vec3 reflectance0,vec3 reflectance90)\n{\nreturn reflectance0+(reflectance90-reflectance0)*pow(clamp(1.0-VdotH,0.,1.),5.0);\n}\nvec3 FresnelSchlickEnvironmentGGX(float VdotN,vec3 reflectance0,vec3 reflectance90,float smoothness)\n{\n\nfloat weight=mix(FRESNEL_MAXIMUM_ON_ROUGH,1.0,smoothness);\nreturn reflectance0+weight*(reflectance90-reflectance0)*pow(clamp(1.0-VdotN,0.,1.),5.0);\n}\n\nvec3 computeSpecularTerm(float NdotH,float NdotL,float NdotV,float VdotH,float roughness,vec3 specularColor,vec3 reflectance90)\n{\nfloat alphaG=convertRoughnessToAverageSlope(roughness);\nfloat distribution=normalDistributionFunction_TrowbridgeReitzGGX(NdotH,alphaG);\nfloat visibility=smithVisibilityG_TrowbridgeReitzGGX_Walter(NdotL,NdotV,alphaG);\nvisibility/=(4.0*NdotL*NdotV); \nvec3 fresnel=fresnelSchlickGGX(VdotH,specularColor,reflectance90);\nfloat specTerm=max(0.,visibility*distribution)*NdotL;\nreturn fresnel*specTerm*kPi; \n}\nfloat computeDiffuseTerm(float NdotL,float NdotV,float VdotH,float roughness)\n{\n\n\nfloat diffuseFresnelNV=pow(clamp(1.0-NdotL,0.000001,1.),5.0);\nfloat diffuseFresnelNL=pow(clamp(1.0-NdotV,0.000001,1.),5.0);\nfloat diffuseFresnel90=0.5+2.0*VdotH*VdotH*roughness;\nfloat diffuseFresnelTerm =\n(1.0+(diffuseFresnel90-1.0)*diffuseFresnelNL) *\n(1.0+(diffuseFresnel90-1.0)*diffuseFresnelNV);\nreturn diffuseFresnelTerm*NdotL;\n\n\n}\nfloat adjustRoughnessFromLightProperties(float roughness,float lightRadius,float lightDistance)\n{\n#ifdef USEPHYSICALLIGHTFALLOFF\n\nfloat lightRoughness=lightRadius/lightDistance;\n\nfloat totalRoughness=clamp(lightRoughness+roughness,0.,1.);\nreturn totalRoughness;\n#else\nreturn roughness;\n#endif\n}\nfloat computeDefaultMicroSurface(float microSurface,vec3 reflectivityColor)\n{\nfloat kReflectivityNoAlphaWorkflow_SmoothnessMax=0.95;\nfloat reflectivityLuminance=getLuminance(reflectivityColor);\nfloat reflectivityLuma=sqrt(reflectivityLuminance);\nmicroSurface=reflectivityLuma*kReflectivityNoAlphaWorkflow_SmoothnessMax;\nreturn microSurface;\n}\nvec3 toLinearSpace(vec3 color)\n{\nreturn vec3(pow(color.r,2.2),pow(color.g,2.2),pow(color.b,2.2));\n}\nvec3 toGammaSpace(vec3 color)\n{\nreturn vec3(pow(color.r,1.0/2.2),pow(color.g,1.0/2.2),pow(color.b,1.0/2.2));\n}\n#ifdef CAMERATONEMAP\nvec3 toneMaps(vec3 color)\n{\ncolor=max(color,0.0);\n\ncolor.rgb=color.rgb*vCameraInfos.x;\nfloat tuning=1.5; \n\n\nvec3 tonemapped=1.0-exp2(-color.rgb*tuning); \ncolor.rgb=mix(color.rgb,tonemapped,1.0);\nreturn color;\n}\n#endif\n#ifdef CAMERACONTRAST\nvec4 contrasts(vec4 color)\n{\ncolor=clamp(color,0.0,1.0);\nvec3 resultHighContrast=color.rgb*color.rgb*(3.0-2.0*color.rgb);\nfloat contrast=vCameraInfos.y;\nif (contrast<1.0)\n{\n\ncolor.rgb=mix(vec3(0.5,0.5,0.5),color.rgb,contrast);\n}\nelse\n{\n\ncolor.rgb=mix(color.rgb,resultHighContrast,contrast-1.0);\n}\nreturn color;\n}\n#endif","pbrLightFunctions":"\nstruct lightingInfo\n{\nvec3 diffuse;\n#ifdef SPECULARTERM\nvec3 specular;\n#endif\n};\nfloat computeDistanceLightFalloff(vec3 lightOffset,float lightDistanceSquared,float range)\n{ \n#ifdef USEPHYSICALLIGHTFALLOFF\nfloat lightDistanceFalloff=1.0/((lightDistanceSquared+0.0001));\n#else\nfloat lightDistanceFalloff=max(0.,1.0-length(lightOffset)/range);\n#endif\nreturn lightDistanceFalloff;\n}\nfloat computeDirectionalLightFalloff(vec3 lightDirection,vec3 directionToLightCenterW,float lightAngle,float exponent)\n{\nfloat falloff=0.0;\n#ifdef USEPHYSICALLIGHTFALLOFF\nfloat cosHalfAngle=cos(lightAngle*0.5);\nconst float kMinusLog2ConeAngleIntensityRatio=6.64385618977; \n\n\n\n\n\nfloat concentrationKappa=kMinusLog2ConeAngleIntensityRatio/(1.0-cosHalfAngle);\n\n\nvec4 lightDirectionSpreadSG=vec4(-lightDirection*concentrationKappa,-concentrationKappa);\nfalloff=exp2(dot(vec4(directionToLightCenterW,1.0),lightDirectionSpreadSG));\n#else\nfloat cosAngle=max(0.000000000000001,dot(-lightDirection,directionToLightCenterW));\nif (cosAngle>=lightAngle)\n{\nfalloff=max(0.,pow(cosAngle,exponent));\n}\n#endif\nreturn falloff;\n}\nlightingInfo computeLighting(vec3 viewDirectionW,vec3 vNormal,vec4 lightData,vec3 diffuseColor,vec3 specularColor,float rangeRadius,float roughness,float NdotV,vec3 reflectance90,out float NdotL) {\nlightingInfo result;\nvec3 lightDirection;\nfloat attenuation=1.0;\nfloat lightDistance;\n\nif (lightData.w == 0.)\n{\nvec3 lightOffset=lightData.xyz-vPositionW;\nfloat lightDistanceSquared=dot(lightOffset,lightOffset);\nattenuation=computeDistanceLightFalloff(lightOffset,lightDistanceSquared,rangeRadius);\nlightDistance=sqrt(lightDistanceSquared);\nlightDirection=normalize(lightOffset);\n}\n\nelse\n{\nlightDistance=length(-lightData.xyz);\nlightDirection=normalize(-lightData.xyz);\n}\n\nroughness=adjustRoughnessFromLightProperties(roughness,rangeRadius,lightDistance);\n\nvec3 H=normalize(viewDirectionW+lightDirection);\nNdotL=max(0.00000000001,dot(vNormal,lightDirection));\nfloat VdotH=clamp(0.00000000001,1.0,dot(viewDirectionW,H));\nfloat diffuseTerm=computeDiffuseTerm(NdotL,NdotV,VdotH,roughness);\nresult.diffuse=diffuseTerm*diffuseColor*attenuation;\n#ifdef SPECULARTERM\n\nfloat NdotH=max(0.00000000001,dot(vNormal,H));\nvec3 specTerm=computeSpecularTerm(NdotH,NdotL,NdotV,VdotH,roughness,specularColor,reflectance90);\nresult.specular=specTerm*attenuation;\n#endif\nreturn result;\n}\nlightingInfo computeSpotLighting(vec3 viewDirectionW,vec3 vNormal,vec4 lightData,vec4 lightDirection,vec3 diffuseColor,vec3 specularColor,float rangeRadius,float roughness,float NdotV,vec3 reflectance90,out float NdotL) {\nlightingInfo result;\nvec3 lightOffset=lightData.xyz-vPositionW;\nvec3 directionToLightCenterW=normalize(lightOffset);\n\nfloat lightDistanceSquared=dot(lightOffset,lightOffset);\nfloat attenuation=computeDistanceLightFalloff(lightOffset,lightDistanceSquared,rangeRadius);\n\nfloat directionalAttenuation=computeDirectionalLightFalloff(lightDirection.xyz,directionToLightCenterW,lightDirection.w,lightData.w);\nattenuation*=directionalAttenuation;\n\nfloat lightDistance=sqrt(lightDistanceSquared);\nroughness=adjustRoughnessFromLightProperties(roughness,rangeRadius,lightDistance);\n\nvec3 H=normalize(viewDirectionW-lightDirection.xyz);\nNdotL=max(0.00000000001,dot(vNormal,-lightDirection.xyz));\nfloat VdotH=clamp(dot(viewDirectionW,H),0.00000000001,1.0);\nfloat diffuseTerm=computeDiffuseTerm(NdotL,NdotV,VdotH,roughness);\nresult.diffuse=diffuseTerm*diffuseColor*attenuation;\n#ifdef SPECULARTERM\n\nfloat NdotH=max(0.00000000001,dot(vNormal,H));\nvec3 specTerm=computeSpecularTerm(NdotH,NdotL,NdotV,VdotH,roughness,specularColor,reflectance90);\nresult.specular=specTerm*attenuation;\n#endif\nreturn result;\n}\nlightingInfo computeHemisphericLighting(vec3 viewDirectionW,vec3 vNormal,vec4 lightData,vec3 diffuseColor,vec3 specularColor,vec3 groundColor,float roughness,float NdotV,vec3 reflectance90,out float NdotL) {\nlightingInfo result;\n\n\n\nNdotL=dot(vNormal,lightData.xyz)*0.5+0.5;\nresult.diffuse=mix(groundColor,diffuseColor,NdotL);\n#ifdef SPECULARTERM\n\nvec3 lightVectorW=normalize(lightData.xyz);\nvec3 H=normalize(viewDirectionW+lightVectorW);\nfloat NdotH=max(0.00000000001,dot(vNormal,H));\nNdotL=max(0.00000000001,NdotL);\nfloat VdotH=clamp(0.00000000001,1.0,dot(viewDirectionW,H));\nvec3 specTerm=computeSpecularTerm(NdotH,NdotL,NdotV,VdotH,roughness,specularColor,reflectance90);\nresult.specular=specTerm;\n#endif\nreturn result;\n}","pbrLightFunctionsCall":"#ifdef LIGHT{X}\n#if defined(LIGHTMAP) && defined(LIGHTMAPEXCLUDED{X}) && defined(LIGHTMAPNOSPECULAR{X})\n\n#else\n#ifndef SPECULARTERM\nvec3 vLightSpecular{X}=vec3(0.0);\n#endif\n#ifdef SPOTLIGHT{X}\ninfo=computeSpotLighting(viewDirectionW,normalW,vLightData{X},vLightDirection{X},vLightDiffuse{X}.rgb,vLightSpecular{X},vLightDiffuse{X}.a,roughness,NdotV,specularEnvironmentR90,NdotL);\n#endif\n#ifdef HEMILIGHT{X}\ninfo=computeHemisphericLighting(viewDirectionW,normalW,vLightData{X},vLightDiffuse{X}.rgb,vLightSpecular{X},vLightGround{X},roughness,NdotV,specularEnvironmentR90,NdotL);\n#endif\n#if defined(POINTLIGHT{X}) || defined(DIRLIGHT{X})\ninfo=computeLighting(viewDirectionW,normalW,vLightData{X},vLightDiffuse{X}.rgb,vLightSpecular{X},vLightDiffuse{X}.a,roughness,NdotV,specularEnvironmentR90,NdotL);\n#endif\n#endif\n#ifdef SHADOW{X}\n#ifdef SHADOWVSM{X}\nnotShadowLevel=computeShadowWithVSM(vPositionFromLight{X},shadowSampler{X},shadowsInfo{X}.z,shadowsInfo{X}.x);\n#else\n#ifdef SHADOWPCF{X}\n#if defined(POINTLIGHT{X})\nnotShadowLevel=computeShadowWithPCFCube(vLightData{X}.xyz,shadowSampler{X},shadowsInfo{X}.y,shadowsInfo{X}.z,shadowsInfo{X}.x);\n#else\nnotShadowLevel=computeShadowWithPCF(vPositionFromLight{X},shadowSampler{X},shadowsInfo{X}.y,shadowsInfo{X}.z,shadowsInfo{X}.x);\n#endif\n#else\n#if defined(POINTLIGHT{X})\nnotShadowLevel=computeShadowCube(vLightData{X}.xyz,shadowSampler{X},shadowsInfo{X}.x,shadowsInfo{X}.z);\n#else\nnotShadowLevel=computeShadow(vPositionFromLight{X},shadowSampler{X},shadowsInfo{X}.x,shadowsInfo{X}.z);\n#endif\n#endif\n#endif\n#else\nnotShadowLevel=1.;\n#endif\n#if defined(LIGHTMAP) && defined(LIGHTMAPEXCLUDED{X})\nlightDiffuseContribution+=lightmapColor*notShadowLevel;\n#ifdef SPECULARTERM\n#ifndef LIGHTMAPNOSPECULAR{X}\nlightSpecularContribution+=info.specular*notShadowLevel*lightmapColor;\n#endif\n#endif\n#else\nlightDiffuseContribution+=info.diffuse*notShadowLevel;\n#ifdef OVERLOADEDSHADOWVALUES\nif (NdotL<0.000000000011)\n{\nnotShadowLevel=1.;\n}\nshadowedOnlyLightDiffuseContribution*=notShadowLevel;\n#endif\n#ifdef SPECULARTERM\nlightSpecularContribution+=info.specular*notShadowLevel;\n#endif\n#endif\n#endif","pbrShadowFunctions":"\n#ifdef SHADOWS\n#ifndef SHADOWFULLFLOAT\nfloat unpack(vec4 color)\n{\nconst vec4 bit_shift=vec4(1.0/(255.0*255.0*255.0),1.0/(255.0*255.0),1.0/255.0,1.0);\nreturn dot(color,bit_shift);\n}\n#endif\nuniform vec2 depthValues;\nfloat computeShadowCube(vec3 lightPosition,samplerCube shadowSampler,float darkness,float bias)\n{\nvec3 directionToLight=vPositionW-lightPosition;\nfloat depth=length(directionToLight);\ndepth=clamp(depth,0.,1.0);\ndirectionToLight=normalize(directionToLight);\ndirectionToLight.y =-directionToLight.y;\n#ifndef SHADOWFULLFLOAT\nfloat shadow=unpack(textureCube(shadowSampler,directionToLight))+bias;\n#else\nfloat shadow=textureCube(shadowSampler,directionToLight).x+bias;\n#endif\nif (depth>shadow)\n{\n#ifdef OVERLOADEDSHADOWVALUES\nreturn mix(1.0,darkness,vOverloadedShadowIntensity.x);\n#else\nreturn darkness;\n#endif\n}\nreturn 1.0;\n}\nfloat computeShadowWithPCFCube(vec3 lightPosition,samplerCube shadowSampler,float mapSize,float bias,float darkness)\n{\nvec3 directionToLight=vPositionW-lightPosition;\nfloat depth=length(directionToLight);\ndepth=(depth-depthValues.x)/(depthValues.y-depthValues.x);\ndepth=clamp(depth,0.,1.0);\ndirectionToLight=normalize(directionToLight);\ndirectionToLight.y=-directionToLight.y;\nfloat visibility=1.;\nvec3 poissonDisk[4];\npoissonDisk[0]=vec3(-1.0,1.0,-1.0);\npoissonDisk[1]=vec3(1.0,-1.0,-1.0);\npoissonDisk[2]=vec3(-1.0,-1.0,-1.0);\npoissonDisk[3]=vec3(1.0,-1.0,1.0);\n\nfloat biasedDepth=depth-bias;\n#ifndef SHADOWFULLFLOAT\nif (unpack(textureCube(shadowSampler,directionToLight+poissonDisk[0]*mapSize))1.0 || uv.y<0. || uv.y>1.0)\n{\nreturn 1.0;\n}\n#ifndef SHADOWFULLFLOAT\nfloat shadow=unpack(texture2D(shadowSampler,uv))+bias;\n#else\nfloat shadow=texture2D(shadowSampler,uv).x+bias;\n#endif\nif (depth.z>shadow)\n{\n#ifdef OVERLOADEDSHADOWVALUES\nreturn mix(1.0,darkness,vOverloadedShadowIntensity.x);\n#else\nreturn darkness;\n#endif\n}\nreturn 1.;\n}\nfloat computeShadowWithPCF(vec4 vPositionFromLight,sampler2D shadowSampler,float mapSize,float bias,float darkness)\n{\nvec3 depth=vPositionFromLight.xyz/vPositionFromLight.w;\ndepth=0.5*depth+vec3(0.5);\nvec2 uv=depth.xy;\nif (uv.x<0. || uv.x>1.0 || uv.y<0. || uv.y>1.0)\n{\nreturn 1.0;\n}\nfloat visibility=1.;\nvec2 poissonDisk[4];\npoissonDisk[0]=vec2(-0.94201624,-0.39906216);\npoissonDisk[1]=vec2(0.94558609,-0.76890725);\npoissonDisk[2]=vec2(-0.094184101,-0.92938870);\npoissonDisk[3]=vec2(0.34495938,0.29387760);\n\nfloat biasedDepth=depth.z-bias;\n#ifndef SHADOWFULLFLOAT\nif (unpack(texture2D(shadowSampler,uv+poissonDisk[0]*mapSize))1.0 || uv.y<0. || uv.y>1.0 || depth.z>=1.0)\n{\nreturn 1.0;\n}\nvec4 texel=texture2D(shadowSampler,uv);\n#ifndef SHADOWFULLFLOAT\nvec2 moments=vec2(unpackHalf(texel.xy),unpackHalf(texel.zw));\n#else\nvec2 moments=texel.xy;\n#endif\n#ifdef OVERLOADEDSHADOWVALUES\nreturn min(1.0,mix(1.0,1.0-ChebychevInequality(moments,depth.z,bias)+darkness,vOverloadedShadowIntensity.x));\n#else\nreturn min(1.0,1.0-ChebychevInequality(moments,depth.z,bias)+darkness);\n#endif\n}\n#endif","pointCloudVertex":"#ifdef POINTSIZE\ngl_PointSize=pointSize;\n#endif","pointCloudVertexDeclaration":"#ifdef POINTSIZE\nuniform float pointSize;\n#endif","reflectionFunction":"vec3 computeReflectionCoords(vec4 worldPos,vec3 worldNormal)\n{\n#ifdef REFLECTIONMAP_EQUIRECTANGULAR_FIXED\nvec3 direction=normalize(vDirectionW);\nfloat t=clamp(direction.y*-0.5+0.5,0.,1.0);\nfloat s=atan(direction.z,direction.x)*RECIPROCAL_PI2+0.5;\nreturn vec3(s,t,0);\n#endif\n#ifdef REFLECTIONMAP_EQUIRECTANGULAR\nvec3 cameraToVertex=normalize(worldPos.xyz-vEyePosition);\nvec3 r=reflect(cameraToVertex,worldNormal);\nfloat t=clamp(r.y*-0.5+0.5,0.,1.0);\nfloat s=atan(r.z,r.x)*RECIPROCAL_PI2+0.5;\nreturn vec3(s,t,0);\n#endif\n#ifdef REFLECTIONMAP_SPHERICAL\nvec3 viewDir=normalize(vec3(view*worldPos));\nvec3 viewNormal=normalize(vec3(view*vec4(worldNormal,0.0)));\nvec3 r=reflect(viewDir,viewNormal);\nr.z=r.z-1.0;\nfloat m=2.0*length(r);\nreturn vec3(r.x/m+0.5,1.0-r.y/m-0.5,0);\n#endif\n#ifdef REFLECTIONMAP_PLANAR\nvec3 viewDir=worldPos.xyz-vEyePosition;\nvec3 coords=normalize(reflect(viewDir,worldNormal));\nreturn vec3(reflectionMatrix*vec4(coords,1));\n#endif\n#ifdef REFLECTIONMAP_CUBIC\nvec3 viewDir=worldPos.xyz-vEyePosition;\nvec3 coords=reflect(viewDir,worldNormal);\n#ifdef INVERTCUBICMAP\ncoords.y=1.0-coords.y;\n#endif\nreturn vec3(reflectionMatrix*vec4(coords,0));\n#endif\n#ifdef REFLECTIONMAP_PROJECTION\nreturn vec3(reflectionMatrix*(view*worldPos));\n#endif\n#ifdef REFLECTIONMAP_SKYBOX\nreturn vPositionUVW;\n#endif\n#ifdef REFLECTIONMAP_EXPLICIT\nreturn vec3(0,0,0);\n#endif\n}","shadowsFragmentFunctions":"#ifdef SHADOWS\n#ifndef SHADOWFULLFLOAT\nfloat unpack(vec4 color)\n{\nconst vec4 bit_shift=vec4(1.0/(255.0*255.0*255.0),1.0/(255.0*255.0),1.0/255.0,1.0);\nreturn dot(color,bit_shift);\n}\n#endif\nuniform vec2 depthValues;\nfloat computeShadowCube(vec3 lightPosition,samplerCube shadowSampler,float darkness,float bias)\n{\nvec3 directionToLight=vPositionW-lightPosition;\nfloat depth=length(directionToLight);\ndepth=(depth-depthValues.x)/(depthValues.y-depthValues.x);\ndepth=clamp(depth,0.,1.0);\ndirectionToLight=normalize(directionToLight);\ndirectionToLight.y=-directionToLight.y;\n#ifndef SHADOWFULLFLOAT\nfloat shadow=unpack(textureCube(shadowSampler,directionToLight))+bias;\n#else\nfloat shadow=textureCube(shadowSampler,directionToLight).x+bias;\n#endif\nif (depth>shadow)\n{\nreturn darkness;\n}\nreturn 1.0;\n}\nfloat computeShadowWithPCFCube(vec3 lightPosition,samplerCube shadowSampler,float mapSize,float bias,float darkness)\n{\nvec3 directionToLight=vPositionW-lightPosition;\nfloat depth=length(directionToLight);\ndepth=(depth-depthValues.x)/(depthValues.y-depthValues.x);\ndepth=clamp(depth,0.,1.0);\ndirectionToLight=normalize(directionToLight);\ndirectionToLight.y=-directionToLight.y;\nfloat visibility=1.;\nvec3 poissonDisk[4];\npoissonDisk[0]=vec3(-1.0,1.0,-1.0);\npoissonDisk[1]=vec3(1.0,-1.0,-1.0);\npoissonDisk[2]=vec3(-1.0,-1.0,-1.0);\npoissonDisk[3]=vec3(1.0,-1.0,1.0);\n\nfloat biasedDepth=depth-bias;\n#ifndef SHADOWFULLFLOAT\nif (unpack(textureCube(shadowSampler,directionToLight+poissonDisk[0]*mapSize))1.0 || uv.y<0. || uv.y>1.0)\n{\nreturn 1.0;\n}\n#ifndef SHADOWFULLFLOAT\nfloat shadow=unpack(texture2D(shadowSampler,uv))+bias;\n#else\nfloat shadow=texture2D(shadowSampler,uv).x+bias;\n#endif\nif (depth.z>shadow)\n{\nreturn darkness;\n}\nreturn 1.;\n}\nfloat computeShadowWithPCF(vec4 vPositionFromLight,sampler2D shadowSampler,float mapSize,float bias,float darkness)\n{\nvec3 depth=vPositionFromLight.xyz/vPositionFromLight.w;\ndepth=0.5*depth+vec3(0.5);\nvec2 uv=depth.xy;\nif (uv.x<0. || uv.x>1.0 || uv.y<0. || uv.y>1.0)\n{\nreturn 1.0;\n}\nfloat visibility=1.;\nvec2 poissonDisk[4];\npoissonDisk[0]=vec2(-0.94201624,-0.39906216);\npoissonDisk[1]=vec2(0.94558609,-0.76890725);\npoissonDisk[2]=vec2(-0.094184101,-0.92938870);\npoissonDisk[3]=vec2(0.34495938,0.29387760);\n\nfloat biasedDepth=depth.z-bias;\n#ifndef SHADOWFULLFLOAT\nif (unpack(texture2D(shadowSampler,uv+poissonDisk[0]*mapSize))1.0 || uv.y<0. || uv.y>1.0 || depth.z>=1.0)\n{\nreturn 1.0;\n}\nvec4 texel=texture2D(shadowSampler,uv);\n#ifndef SHADOWFULLFLOAT\nvec2 moments=vec2(unpackHalf(texel.xy),unpackHalf(texel.zw));\n#else\nvec2 moments=texel.xy;\n#endif\nreturn min(1.0,1.0-ChebychevInequality(moments,depth.z,bias)+darkness);\n}\n#endif","shadowsVertex":"#ifdef SHADOWS\n#if defined(SPOTLIGHT{X}) || defined(DIRLIGHT{X})\nvPositionFromLight{X}=lightMatrix{X}*worldPos;\n#endif\n#endif","shadowsVertexDeclaration":"#ifdef SHADOWS\n#if defined(SPOTLIGHT{X}) || defined(DIRLIGHT{X})\nuniform mat4 lightMatrix{X};\nvarying vec4 vPositionFromLight{X};\n#endif\n#endif\n"}; +BABYLON.CollisionWorker="var BABYLON;!function(t){var e=function(t,e,o,i){return!(t.x>o.x+i)&&(!(o.x-i>e.x)&&(!(t.y>o.y+i)&&(!(o.y-i>e.y)&&(!(t.z>o.z+i)&&!(o.z-i>e.z)))))},o=function(){var t={root:0,found:!1};return function(e,o,i,s){t.root=0,t.found=!1;var r=o*o-4*e*i;if(r<0)return t;var n=Math.sqrt(r),c=(-o-n)/(2*e),h=(-o+n)/(2*e);if(c>h){var a=h;h=c,c=a}return c>0&&c0&&h=0))},i.prototype._canDoCollision=function(o,i,s,r){var n=t.Vector3.Distance(this.basePointWorld,o),c=Math.max(this.radius.x,this.radius.y,this.radius.z);return!(n>this.velocityWorldLength+c+i)&&!!e(s,r,this.basePointWorld,this.velocityWorldLength+c)},i.prototype._testTriangle=function(e,i,s,r,n,c){var h,a=!1;i||(i=[]),i[e]||(i[e]=new t.Plane(0,0,0,0),i[e].copyFromPoints(s,r,n));var l=i[e];if(c||l.isFrontFacingTo(this.normalizedVelocity,0)){var _=l.signedDistanceTo(this.basePoint),d=t.Vector3.Dot(l.normal,this.velocity);if(0==d){if(Math.abs(_)>=1)return;a=!0,h=0}else{h=(-1-_)/d;var V=(1-_)/d;if(h>V){var u=V;V=h,h=u}if(h>1||V<0)return;h<0&&(h=0),h>1&&(h=1)}this._collisionPoint.copyFromFloats(0,0,0);var P=!1,p=1;if(a||(this.basePoint.subtractToRef(l.normal,this._planeIntersectionPoint),this.velocity.scaleToRef(h,this._tempVector),this._planeIntersectionPoint.addInPlace(this._tempVector),this._checkPointInTriangle(this._planeIntersectionPoint,s,r,n,l.normal)&&(P=!0,p=h,this._collisionPoint.copyFrom(this._planeIntersectionPoint))),!P){var f=this.velocity.lengthSquared(),m=f;this.basePoint.subtractToRef(s,this._tempVector);var T=2*t.Vector3.Dot(this.velocity,this._tempVector),b=this._tempVector.lengthSquared()-1,y=o(m,T,b,p);y.found&&(p=y.root,P=!0,this._collisionPoint.copyFrom(s)),this.basePoint.subtractToRef(r,this._tempVector),T=2*t.Vector3.Dot(this.velocity,this._tempVector),b=this._tempVector.lengthSquared()-1,y=o(m,T,b,p),y.found&&(p=y.root,P=!0,this._collisionPoint.copyFrom(r)),this.basePoint.subtractToRef(n,this._tempVector),T=2*t.Vector3.Dot(this.velocity,this._tempVector),b=this._tempVector.lengthSquared()-1,y=o(m,T,b,p),y.found&&(p=y.root,P=!0,this._collisionPoint.copyFrom(n)),r.subtractToRef(s,this._edge),s.subtractToRef(this.basePoint,this._baseToVertex);var g=this._edge.lengthSquared(),v=t.Vector3.Dot(this._edge,this.velocity),R=t.Vector3.Dot(this._edge,this._baseToVertex);if(m=g*-f+v*v,T=g*(2*t.Vector3.Dot(this.velocity,this._baseToVertex))-2*v*R,b=g*(1-this._baseToVertex.lengthSquared())+R*R,y=o(m,T,b,p),y.found){var D=(v*y.root-R)/g;D>=0&&D<=1&&(p=y.root,P=!0,this._edge.scaleInPlace(D),s.addToRef(this._edge,this._collisionPoint))}n.subtractToRef(r,this._edge),r.subtractToRef(this.basePoint,this._baseToVertex),g=this._edge.lengthSquared(),v=t.Vector3.Dot(this._edge,this.velocity),R=t.Vector3.Dot(this._edge,this._baseToVertex),m=g*-f+v*v,T=g*(2*t.Vector3.Dot(this.velocity,this._baseToVertex))-2*v*R,b=g*(1-this._baseToVertex.lengthSquared())+R*R,y=o(m,T,b,p),y.found&&(D=(v*y.root-R)/g,D>=0&&D<=1&&(p=y.root,P=!0,this._edge.scaleInPlace(D),r.addToRef(this._edge,this._collisionPoint))),s.subtractToRef(n,this._edge),n.subtractToRef(this.basePoint,this._baseToVertex),g=this._edge.lengthSquared(),v=t.Vector3.Dot(this._edge,this.velocity),R=t.Vector3.Dot(this._edge,this._baseToVertex),m=g*-f+v*v,T=g*(2*t.Vector3.Dot(this.velocity,this._baseToVertex))-2*v*R,b=g*(1-this._baseToVertex.lengthSquared())+R*R,y=o(m,T,b,p),y.found&&(D=(v*y.root-R)/g,D>=0&&D<=1&&(p=y.root,P=!0,this._edge.scaleInPlace(D),n.addToRef(this._edge,this._collisionPoint)))}if(P){var x=p*this.velocity.length();(!this.collisionFound||x=i)return void this.finalPosition.copyFrom(o);this.collider._initialize(o,e,t);for(var s,l=this._collisionCache.getMeshes(),n=Object.keys(l),a=n.length,c=0;c1&&!this.checkSubmeshCollision(l)||(this.collideForSubMesh(l,o,t),this.collider.collisionFound&&(this.collider.collidedMesh=e.uniqueId))}},e.prototype.collideForSubMesh=function(e,i,r){if(!r.positionsArray){r.positionsArray=[];for(var t=0,s=r.positions.length;t4)){++r._runningUpdated;var e={updatedMeshes:r._addUpdateMeshesList,updatedGeometries:r._addUpdateGeometriesList,removedGeometries:r._toRemoveGeometryArray,removedMeshes:r._toRemoveMeshesArray},i={payload:e,taskType:o.UPDATE},t=[];for(var s in e.updatedGeometries)e.updatedGeometries.hasOwnProperty(s)&&(t.push(i.payload.updatedGeometries[s].indices.buffer),t.push(i.payload.updatedGeometries[s].normals.buffer),t.push(i.payload.updatedGeometries[s].positions.buffer));r._worker.postMessage(i,t),r._addUpdateMeshesList={},r._addUpdateGeometriesList={},r._toRemoveGeometryArray=[],r._toRemoveMeshesArray=[]}},this._onMessageFromWorker=function(t){var s=t.data;if(s.error!=i.SUCCESS)return void e.Tools.Warn(\"error returned from worker!\");switch(s.taskType){case o.INIT:r._init=!0,r._scene.meshes.forEach(function(e){r.onMeshAdded(e)}),r._scene.getGeometries().forEach(function(e){r.onGeometryAdded(e)});break;case o.UPDATE:r._runningUpdated--;break;case o.COLLIDE:r._runningCollisionTask=!1;var n=s.payload;if(!r._collisionsCallbackArray[n.collisionId])return;r._collisionsCallbackArray[n.collisionId](n.collisionId,e.Vector3.FromArray(n.newPosition),r._scene.getMeshByUniqueID(n.collidedMeshUniqueId)),r._collisionsCallbackArray[n.collisionId]=void 0}},this._collisionsCallbackArray=[],this._init=!1,this._runningUpdated=0,this._runningCollisionTask=!1,this._addUpdateMeshesList={},this._addUpdateGeometriesList={},this._toRemoveGeometryArray=[],this._toRemoveMeshesArray=[]}return t.prototype.getNewPosition=function(e,i,t,r,s,n,a){if(this._init&&!this._collisionsCallbackArray[a]&&!this._collisionsCallbackArray[a+1e5]){e.divideToRef(t.radius,this._scaledPosition),i.divideToRef(t.radius,this._scaledVelocity),this._collisionsCallbackArray[a]=n;var d={collider:{position:this._scaledPosition.asArray(),velocity:this._scaledVelocity.asArray(),radius:t.radius.asArray()},collisionId:a,excludedMeshUniqueId:s?s.uniqueId:null,maximumRetry:r},l={payload:d,taskType:o.COLLIDE};this._worker.postMessage(l)}},t.prototype.init=function(i){this._scene=i,this._scene.registerAfterRender(this._afterRender);var t=e.WorkerIncluded?e.Engine.CodeRepository+\"Collisions/babylon.collisionWorker.js\":URL.createObjectURL(new Blob([e.CollisionWorker],{type:\"application/javascript\"}));this._worker=new Worker(t),this._worker.onmessage=this._onMessageFromWorker;var r={payload:{},taskType:o.INIT};this._worker.postMessage(r)},t.prototype.destroy=function(){this._scene.unregisterAfterRender(this._afterRender),this._worker.terminate()},t.prototype.onMeshAdded=function(e){e.registerAfterWorldMatrixUpdate(this.onMeshUpdated),this.onMeshUpdated(e)},t.prototype.onMeshRemoved=function(e){this._toRemoveMeshesArray.push(e.uniqueId)},t.prototype.onGeometryAdded=function(e){e.onGeometryUpdated=this.onGeometryUpdated,this.onGeometryUpdated(e)},t.prototype.onGeometryDeleted=function(e){this._toRemoveGeometryArray.push(e.id)},t.SerializeMesh=function(o){var i=[];o.subMeshes&&(i=o.subMeshes.map(function(e,o){return{position:o,verticesStart:e.verticesStart,verticesCount:e.verticesCount,indexStart:e.indexStart,indexCount:e.indexCount,hasMaterial:!!e.getMaterial(),sphereCenter:e.getBoundingInfo().boundingSphere.centerWorld.asArray(),sphereRadius:e.getBoundingInfo().boundingSphere.radiusWorld,boxMinimum:e.getBoundingInfo().boundingBox.minimumWorld.asArray(),boxMaximum:e.getBoundingInfo().boundingBox.maximumWorld.asArray()}}));var t=null;return o instanceof e.Mesh?t=o.geometry?o.geometry.id:null:o instanceof e.InstancedMesh&&(t=o.sourceMesh&&o.sourceMesh.geometry?o.sourceMesh.geometry.id:null),{uniqueId:o.uniqueId,id:o.id,name:o.name,geometryId:t,sphereCenter:o.getBoundingInfo().boundingSphere.centerWorld.asArray(),sphereRadius:o.getBoundingInfo().boundingSphere.radiusWorld,boxMinimum:o.getBoundingInfo().boundingBox.minimumWorld.asArray(),boxMaximum:o.getBoundingInfo().boundingBox.maximumWorld.asArray(),worldMatrixFromCache:o.worldMatrixFromCache.asArray(),subMeshes:i,checkCollisions:o.checkCollisions}},t.SerializeGeometry=function(o){return{id:o.id,positions:new Float32Array(o.getVerticesData(e.VertexBuffer.PositionKind)||[]),normals:new Float32Array(o.getVerticesData(e.VertexBuffer.NormalKind)||[]),indices:new Int32Array(o.getIndices()||[])}},t}();e.CollisionCoordinatorWorker=t;var r=function(){function o(){this._scaledPosition=e.Vector3.Zero(),this._scaledVelocity=e.Vector3.Zero(),this._finalPosition=e.Vector3.Zero()}return o.prototype.getNewPosition=function(e,o,i,t,r,s,n){e.divideToRef(i.radius,this._scaledPosition),o.divideToRef(i.radius,this._scaledVelocity),i.collidedMesh=null,i.retry=0,i.initialVelocity=this._scaledVelocity,i.initialPosition=this._scaledPosition,this._collideWithWorld(this._scaledPosition,this._scaledVelocity,i,t,this._finalPosition,r),this._finalPosition.multiplyInPlace(i.radius),s(n,this._finalPosition,i.collidedMesh)},o.prototype.init=function(e){this._scene=e},o.prototype.destroy=function(){},o.prototype.onMeshAdded=function(e){},o.prototype.onMeshUpdated=function(e){},o.prototype.onMeshRemoved=function(e){},o.prototype.onGeometryAdded=function(e){},o.prototype.onGeometryUpdated=function(e){},o.prototype.onGeometryDeleted=function(e){},o.prototype._collideWithWorld=function(o,i,t,r,s,n){void 0===n&&(n=null);var a=10*e.Engine.CollisionsEpsilon;if(t.retry>=r)return void s.copyFrom(o);t._initialize(o,i,a);for(var d=0;d0?1:-1},t.Clamp=function(t,i,n){return void 0===i&&(i=0),void 0===n&&(n=1),Math.min(n,Math.max(i,t))},t}();t.MathTools=i;var n=function(){function n(t,i,n){void 0===t&&(t=0),void 0===i&&(i=0),void 0===n&&(n=0),this.r=t,this.g=i,this.b=n}return n.prototype.toString=function(){return\"{R: \"+this.r+\" G:\"+this.g+\" B:\"+this.b+\"}\"},n.prototype.getClassName=function(){return\"Color3\"},n.prototype.getHashCode=function(){var t=this.r||0;return t=397*t^(this.g||0),t=397*t^(this.b||0)},n.prototype.toArray=function(t,i){return void 0===i&&(i=0),t[i]=this.r,t[i+1]=this.g,t[i+2]=this.b,this},n.prototype.toColor4=function(t){return void 0===t&&(t=1),new r(this.r,this.g,this.b,t)},n.prototype.asArray=function(){var t=[];return this.toArray(t,0),t},n.prototype.toLuminance=function(){return.3*this.r+.59*this.g+.11*this.b},n.prototype.multiply=function(t){return new n(this.r*t.r,this.g*t.g,this.b*t.b)},n.prototype.multiplyToRef=function(t,i){return i.r=this.r*t.r,i.g=this.g*t.g,i.b=this.b*t.b,this},n.prototype.equals=function(t){return t&&this.r===t.r&&this.g===t.g&&this.b===t.b},n.prototype.equalsFloats=function(t,i,n){return this.r===t&&this.g===i&&this.b===n},n.prototype.scale=function(t){return new n(this.r*t,this.g*t,this.b*t)},n.prototype.scaleToRef=function(t,i){return i.r=this.r*t,i.g=this.g*t,i.b=this.b*t,this},n.prototype.add=function(t){return new n(this.r+t.r,this.g+t.g,this.b+t.b)},n.prototype.addToRef=function(t,i){return i.r=this.r+t.r,i.g=this.g+t.g,i.b=this.b+t.b,this},n.prototype.subtract=function(t){return new n(this.r-t.r,this.g-t.g,this.b-t.b)},n.prototype.subtractToRef=function(t,i){return i.r=this.r-t.r,i.g=this.g-t.g,i.b=this.b-t.b,this},n.prototype.clone=function(){return new n(this.r,this.g,this.b)},n.prototype.copyFrom=function(t){return this.r=t.r,this.g=t.g,this.b=t.b,this},n.prototype.copyFromFloats=function(t,i,n){return this.r=t,this.g=i,this.b=n,this},n.prototype.toHexString=function(){var t=255*this.r|0,n=255*this.g|0,r=255*this.b|0;return\"#\"+i.ToHex(t)+i.ToHex(n)+i.ToHex(r)},n.prototype.toLinearSpace=function(){var t=new n;return this.toLinearSpaceToRef(t),t},n.prototype.toLinearSpaceToRef=function(i){return i.r=Math.pow(this.r,t.ToLinearSpace),i.g=Math.pow(this.g,t.ToLinearSpace),i.b=Math.pow(this.b,t.ToLinearSpace),this},n.prototype.toGammaSpace=function(){var t=new n;return this.toGammaSpaceToRef(t),t},n.prototype.toGammaSpaceToRef=function(i){return i.r=Math.pow(this.r,t.ToGammaSpace),i.g=Math.pow(this.g,t.ToGammaSpace),i.b=Math.pow(this.b,t.ToGammaSpace),this},n.FromHexString=function(t){if(\"#\"!==t.substring(0,1)||7!==t.length)return new n(0,0,0);var i=parseInt(t.substring(1,3),16),r=parseInt(t.substring(3,5),16),o=parseInt(t.substring(5,7),16);return n.FromInts(i,r,o)},n.FromArray=function(t,i){return void 0===i&&(i=0),new n(t[i],t[i+1],t[i+2])},n.FromInts=function(t,i,r){return new n(t/255,i/255,r/255)},n.Lerp=function(t,i,r){var o=t.r+(i.r-t.r)*r,e=t.g+(i.g-t.g)*r,s=t.b+(i.b-t.b)*r;return new n(o,e,s)},n.Red=function(){return new n(1,0,0)},n.Green=function(){return new n(0,1,0)},n.Blue=function(){return new n(0,0,1)},n.Black=function(){return new n(0,0,0)},n.White=function(){return new n(1,1,1)},n.Purple=function(){return new n(.5,0,.5)},n.Magenta=function(){return new n(1,0,1)},n.Yellow=function(){return new n(1,1,0)},n.Gray=function(){return new n(.5,.5,.5)},n}();t.Color3=n;var r=function(){function t(t,i,n,r){this.r=t,this.g=i,this.b=n,this.a=r}return t.prototype.addInPlace=function(t){return this.r+=t.r,this.g+=t.g,this.b+=t.b,this.a+=t.a,this},t.prototype.asArray=function(){var t=[];return this.toArray(t,0),t},t.prototype.toArray=function(t,i){return void 0===i&&(i=0),t[i]=this.r,t[i+1]=this.g,t[i+2]=this.b,t[i+3]=this.a,this},t.prototype.add=function(i){return new t(this.r+i.r,this.g+i.g,this.b+i.b,this.a+i.a)},t.prototype.subtract=function(i){return new t(this.r-i.r,this.g-i.g,this.b-i.b,this.a-i.a)},t.prototype.subtractToRef=function(t,i){return i.r=this.r-t.r,i.g=this.g-t.g,i.b=this.b-t.b,i.a=this.a-t.a,this},t.prototype.scale=function(i){return new t(this.r*i,this.g*i,this.b*i,this.a*i)},t.prototype.scaleToRef=function(t,i){return i.r=this.r*t,i.g=this.g*t,i.b=this.b*t,i.a=this.a*t,this},t.prototype.multiply=function(i){return new t(this.r*i.r,this.g*i.g,this.b*i.b,this.a*i.a)},t.prototype.multiplyToRef=function(t,i){return i.r=this.r*t.r,i.g=this.g*t.g,i.b=this.b*t.b,i.a=this.a*t.a,i},t.prototype.toString=function(){return\"{R: \"+this.r+\" G:\"+this.g+\" B:\"+this.b+\" A:\"+this.a+\"}\"},t.prototype.getClassName=function(){return\"Color4\"},t.prototype.getHashCode=function(){var t=this.r||0;return t=397*t^(this.g||0),t=397*t^(this.b||0),t=397*t^(this.a||0)},t.prototype.clone=function(){return new t(this.r,this.g,this.b,this.a)},t.prototype.copyFrom=function(t){return this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a,this},t.prototype.toHexString=function(){var t=255*this.r|0,n=255*this.g|0,r=255*this.b|0,o=255*this.a|0;return\"#\"+i.ToHex(t)+i.ToHex(n)+i.ToHex(r)+i.ToHex(o)},t.FromHexString=function(i){if(\"#\"!==i.substring(0,1)||9!==i.length)return new t(0,0,0,0);var n=parseInt(i.substring(1,3),16),r=parseInt(i.substring(3,5),16),o=parseInt(i.substring(5,7),16),e=parseInt(i.substring(7,9),16);return t.FromInts(n,r,o,e)},t.Lerp=function(i,n,r){var o=new t(0,0,0,0);return t.LerpToRef(i,n,r,o),o},t.LerpToRef=function(t,i,n,r){r.r=t.r+(i.r-t.r)*n,r.g=t.g+(i.g-t.g)*n,r.b=t.b+(i.b-t.b)*n,r.a=t.a+(i.a-t.a)*n},t.FromArray=function(i,n){return void 0===n&&(n=0),new t(i[n],i[n+1],i[n+2],i[n+3])},t.FromInts=function(i,n,r,o){return new t(i/255,n/255,r/255,o/255)},t.CheckColors4=function(t,i){if(t.length===3*i){for(var n=[],r=0;rr.x?r.x:o,o=or.y?r.y:e,e=ei.x?t.x:i.x,o=t.y>i.y?t.y:i.y;return new n(r,o)},n.Transform=function(t,i){var r=n.Zero();return n.TransformToRef(t,i,r),r},n.TransformToRef=function(t,i,n){var r=t.x*i.m[0]+t.y*i.m[4]+i.m[12],o=t.x*i.m[1]+t.y*i.m[5]+i.m[13];n.x=r,n.y=o},n.PointInTriangle=function(t,i,n,r){var o=.5*(-n.y*r.x+i.y*(-n.x+r.x)+i.x*(n.y-r.y)+n.x*r.y),e=o<0?-1:1,s=(i.y*r.x-i.x*r.y+(r.y-i.y)*t.x+(i.x-r.x)*t.y)*e,h=(i.x*n.y-i.y*n.x+(i.y-n.y)*t.x+(n.x-i.x)*t.y)*e;return s>0&&h>0&&s+h<2*o*e},n.Distance=function(t,i){return Math.sqrt(n.DistanceSquared(t,i))},n.DistanceSquared=function(t,i){var n=t.x-i.x,r=t.y-i.y;return n*n+r*r},n.Center=function(t,i){var n=t.add(i);return n.scaleInPlace(.5),n},n.DistanceOfPointFromSegment=function(t,i,r){var o=n.DistanceSquared(i,r);if(0===o)return n.Distance(t,i);var e=r.subtract(i),s=Math.max(0,Math.min(1,n.Dot(t.subtract(i),e)/o)),h=i.add(e.multiplyByFloats(s,s));return n.Distance(t,h)},n}();t.Vector2=o;var e=function(){function n(t,i,n){this.x=t,this.y=i,this.z=n}return n.prototype.toString=function(){return\"{X: \"+this.x+\" Y:\"+this.y+\" Z:\"+this.z+\"}\"},n.prototype.getClassName=function(){return\"Vector3\"},n.prototype.getHashCode=function(){var t=this.x||0;return t=397*t^(this.y||0),t=397*t^(this.z||0)},n.prototype.asArray=function(){var t=[];return this.toArray(t,0),t},n.prototype.toArray=function(t,i){return void 0===i&&(i=0),t[i]=this.x,t[i+1]=this.y,t[i+2]=this.z,this},n.prototype.toQuaternion=function(){var t=new a(0,0,0,1),i=Math.cos(.5*(this.x+this.z)),n=Math.sin(.5*(this.x+this.z)),r=Math.cos(.5*(this.z-this.x)),o=Math.sin(.5*(this.z-this.x)),e=Math.cos(.5*this.y),s=Math.sin(.5*this.y);return t.x=r*s,t.y=-o*s,t.z=n*e,t.w=i*e,t},n.prototype.addInPlace=function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this},n.prototype.add=function(t){return new n(this.x+t.x,this.y+t.y,this.z+t.z)},n.prototype.addToRef=function(t,i){return i.x=this.x+t.x,i.y=this.y+t.y,i.z=this.z+t.z,this},n.prototype.subtractInPlace=function(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this},n.prototype.subtract=function(t){return new n(this.x-t.x,this.y-t.y,this.z-t.z)},n.prototype.subtractToRef=function(t,i){return i.x=this.x-t.x,i.y=this.y-t.y,i.z=this.z-t.z,this},n.prototype.subtractFromFloats=function(t,i,r){return new n(this.x-t,this.y-i,this.z-r)},n.prototype.subtractFromFloatsToRef=function(t,i,n,r){return r.x=this.x-t,r.y=this.y-i,r.z=this.z-n,this},n.prototype.negate=function(){return new n((-this.x),(-this.y),(-this.z))},n.prototype.scaleInPlace=function(t){return this.x*=t,this.y*=t,this.z*=t,this},n.prototype.scale=function(t){return new n(this.x*t,this.y*t,this.z*t)},n.prototype.scaleToRef=function(t,i){i.x=this.x*t,i.y=this.y*t,i.z=this.z*t},n.prototype.equals=function(t){return t&&this.x===t.x&&this.y===t.y&&this.z===t.z},n.prototype.equalsWithEpsilon=function(n,r){return void 0===r&&(r=t.Epsilon),n&&i.WithinEpsilon(this.x,n.x,r)&&i.WithinEpsilon(this.y,n.y,r)&&i.WithinEpsilon(this.z,n.z,r)},n.prototype.equalsToFloats=function(t,i,n){return this.x===t&&this.y===i&&this.z===n},n.prototype.multiplyInPlace=function(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this},n.prototype.multiply=function(t){return new n(this.x*t.x,this.y*t.y,this.z*t.z)},n.prototype.multiplyToRef=function(t,i){return i.x=this.x*t.x,i.y=this.y*t.y,i.z=this.z*t.z,this},n.prototype.multiplyByFloats=function(t,i,r){return new n(this.x*t,this.y*i,this.z*r)},n.prototype.divide=function(t){return new n(this.x/t.x,this.y/t.y,this.z/t.z)},n.prototype.divideToRef=function(t,i){return i.x=this.x/t.x,i.y=this.y/t.y,i.z=this.z/t.z,this},n.prototype.MinimizeInPlace=function(t){return t.xthis.x&&(this.x=t.x),t.y>this.y&&(this.y=t.y),t.z>this.z&&(this.z=t.z),this},n.prototype.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},n.prototype.lengthSquared=function(){return this.x*this.x+this.y*this.y+this.z*this.z},n.prototype.normalize=function(){var t=this.length();if(0===t||1===t)return this;var i=1/t;return this.x*=i,this.y*=i,this.z*=i,this},n.prototype.clone=function(){return new n(this.x,this.y,this.z)},n.prototype.copyFrom=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},n.prototype.copyFromFloats=function(t,i,n){return this.x=t,this.y=i,this.z=n,this},n.GetClipFactor=function(t,i,r,o){var e=n.Dot(t,r)-o,s=n.Dot(i,r)-o,h=e/(e-s);return h},n.FromArray=function(t,i){return i||(i=0),new n(t[i],t[i+1],t[i+2])},n.FromFloatArray=function(t,i){return i||(i=0),new n(t[i],t[i+1],t[i+2])},n.FromArrayToRef=function(t,i,n){n.x=t[i],n.y=t[i+1],n.z=t[i+2]},n.FromFloatArrayToRef=function(t,i,n){n.x=t[i],n.y=t[i+1],n.z=t[i+2]},n.FromFloatsToRef=function(t,i,n,r){r.x=t,r.y=i,r.z=n},n.Zero=function(){return new n(0,0,0)},n.Up=function(){return new n(0,1,0)},n.Forward=function(){return new n(0,0,1)},n.Right=function(){return new n(1,0,0)},n.Left=function(){return new n((-1),0,0)},n.TransformCoordinates=function(t,i){var r=n.Zero();return n.TransformCoordinatesToRef(t,i,r),r},n.TransformCoordinatesToRef=function(t,i,n){var r=t.x*i.m[0]+t.y*i.m[4]+t.z*i.m[8]+i.m[12],o=t.x*i.m[1]+t.y*i.m[5]+t.z*i.m[9]+i.m[13],e=t.x*i.m[2]+t.y*i.m[6]+t.z*i.m[10]+i.m[14],s=t.x*i.m[3]+t.y*i.m[7]+t.z*i.m[11]+i.m[15];n.x=r/s,n.y=o/s,n.z=e/s},n.TransformCoordinatesFromFloatsToRef=function(t,i,n,r,o){var e=t*r.m[0]+i*r.m[4]+n*r.m[8]+r.m[12],s=t*r.m[1]+i*r.m[5]+n*r.m[9]+r.m[13],h=t*r.m[2]+i*r.m[6]+n*r.m[10]+r.m[14],a=t*r.m[3]+i*r.m[7]+n*r.m[11]+r.m[15];o.x=e/a,o.y=s/a,o.z=h/a},n.TransformNormal=function(t,i){var r=n.Zero();return n.TransformNormalToRef(t,i,r),r},n.TransformNormalToRef=function(t,i,n){var r=t.x*i.m[0]+t.y*i.m[4]+t.z*i.m[8],o=t.x*i.m[1]+t.y*i.m[5]+t.z*i.m[9],e=t.x*i.m[2]+t.y*i.m[6]+t.z*i.m[10];n.x=r,n.y=o,n.z=e},n.TransformNormalFromFloatsToRef=function(t,i,n,r,o){o.x=t*r.m[0]+i*r.m[4]+n*r.m[8],o.y=t*r.m[1]+i*r.m[5]+n*r.m[9],o.z=t*r.m[2]+i*r.m[6]+n*r.m[10]},n.CatmullRom=function(t,i,r,o,e){var s=e*e,h=e*s,a=.5*(2*i.x+(-t.x+r.x)*e+(2*t.x-5*i.x+4*r.x-o.x)*s+(-t.x+3*i.x-3*r.x+o.x)*h),u=.5*(2*i.y+(-t.y+r.y)*e+(2*t.y-5*i.y+4*r.y-o.y)*s+(-t.y+3*i.y-3*r.y+o.y)*h),m=.5*(2*i.z+(-t.z+r.z)*e+(2*t.z-5*i.z+4*r.z-o.z)*s+(-t.z+3*i.z-3*r.z+o.z)*h);return new n(a,u,m)},n.Clamp=function(t,i,r){var o=t.x;o=o>r.x?r.x:o,o=or.y?r.y:e,e=er.z?r.z:s,s=sthis.x&&(this.x=t.x),t.y>this.y&&(this.y=t.y),t.z>this.z&&(this.z=t.z),t.w>this.w&&(this.w=t.w),this},n.prototype.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},n.prototype.lengthSquared=function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},n.prototype.normalize=function(){var t=this.length();if(0===t)return this;var i=1/t;return this.x*=i,this.y*=i,this.z*=i,this.w*=i,this},n.prototype.toVector3=function(){return new e(this.x,this.y,this.z)},n.prototype.clone=function(){return new n(this.x,this.y,this.z,this.w)},n.prototype.copyFrom=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this},n.prototype.copyFromFloats=function(t,i,n,r){return this.x=t,this.y=i,this.z=n,this.w=r,this},n.FromArray=function(t,i){return i||(i=0),new n(t[i],t[i+1],t[i+2],t[i+3])},n.FromArrayToRef=function(t,i,n){n.x=t[i],n.y=t[i+1],n.z=t[i+2],n.w=t[i+3]},n.FromFloatArrayToRef=function(t,i,n){n.x=t[i],n.y=t[i+1],n.z=t[i+2],n.w=t[i+3]},n.FromFloatsToRef=function(t,i,n,r,o){o.x=t,o.y=i,o.z=n,o.w=r},n.Zero=function(){return new n(0,0,0,0)},n.Normalize=function(t){var i=n.Zero();return n.NormalizeToRef(t,i),i},n.NormalizeToRef=function(t,i){i.copyFrom(t),i.normalize()},n.Minimize=function(t,i){var n=t.clone();return n.MinimizeInPlace(i),n},n.Maximize=function(t,i){var n=t.clone();return n.MaximizeInPlace(i),n},n.Distance=function(t,i){return Math.sqrt(n.DistanceSquared(t,i))},n.DistanceSquared=function(t,i){var n=t.x-i.x,r=t.y-i.y,o=t.z-i.z,e=t.w-i.w;return n*n+r*r+o*o+e*e},n.Center=function(t,i){var n=t.add(i);return n.scaleInPlace(.5),n},n}();t.Vector4=s;var h=function(){function t(t,i){this.width=t,this.height=i}return t.prototype.toString=function(){return\"{W: \"+this.width+\", H: \"+this.height+\"}\"},t.prototype.getClassName=function(){return\"Size\"},t.prototype.getHashCode=function(){var t=this.width||0;return t=397*t^(this.height||0)},t.prototype.copyFrom=function(t){this.width=t.width,this.height=t.height},t.prototype.copyFromFloats=function(t,i){this.width=t,this.height=i},t.prototype.multiplyByFloats=function(i,n){return new t(this.width*i,this.height*n)},t.prototype.clone=function(){return new t(this.width,this.height)},t.prototype.equals=function(t){return!!t&&(this.width===t.width&&this.height===t.height)},Object.defineProperty(t.prototype,\"surface\",{get:function(){return this.width*this.height},enumerable:!0,configurable:!0}),t.Zero=function(){return new t(0,0)},t.prototype.add=function(i){var n=new t(this.width+i.width,this.height+i.height);return n},t.prototype.substract=function(i){var n=new t(this.width-i.width,this.height-i.height);return n},t.Lerp=function(i,n,r){var o=i.width+(n.width-i.width)*r,e=i.height+(n.height-i.height)*r;return new t(o,e)},t}();t.Size=h;var a=function(){function t(t,i,n,r){void 0===t&&(t=0),void 0===i&&(i=0),void 0===n&&(n=0),void 0===r&&(r=1),this.x=t,this.y=i,this.z=n,this.w=r}return t.prototype.toString=function(){return\"{X: \"+this.x+\" Y:\"+this.y+\" Z:\"+this.z+\" W:\"+this.w+\"}\"},t.prototype.getClassName=function(){return\"Quaternion\"},t.prototype.getHashCode=function(){var t=this.x||0;return t=397*t^(this.y||0),t=397*t^(this.z||0),t=397*t^(this.w||0)},t.prototype.asArray=function(){return[this.x,this.y,this.z,this.w]},t.prototype.equals=function(t){return t&&this.x===t.x&&this.y===t.y&&this.z===t.z&&this.w===t.w},t.prototype.clone=function(){return new t(this.x,this.y,this.z,this.w)},t.prototype.copyFrom=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this},t.prototype.copyFromFloats=function(t,i,n,r){return this.x=t,this.y=i,this.z=n,this.w=r,this},t.prototype.add=function(i){return new t(this.x+i.x,this.y+i.y,this.z+i.z,this.w+i.w)},t.prototype.subtract=function(i){return new t(this.x-i.x,this.y-i.y,this.z-i.z,this.w-i.w)},t.prototype.scale=function(i){return new t(this.x*i,this.y*i,this.z*i,this.w*i)},t.prototype.multiply=function(i){var n=new t(0,0,0,1);return this.multiplyToRef(i,n),n},t.prototype.multiplyToRef=function(t,i){var n=this.x*t.w+this.y*t.z-this.z*t.y+this.w*t.x,r=-this.x*t.z+this.y*t.w+this.z*t.x+this.w*t.y,o=this.x*t.y-this.y*t.x+this.z*t.w+this.w*t.z,e=-this.x*t.x-this.y*t.y-this.z*t.z+this.w*t.w;return i.copyFromFloats(n,r,o,e),this},t.prototype.multiplyInPlace=function(t){return this.multiplyToRef(t,this),this},t.prototype.conjugateToRef=function(t){return t.copyFromFloats(-this.x,-this.y,-this.z,this.w),this},t.prototype.conjugateInPlace=function(){return this.x*=-1,this.y*=-1,this.z*=-1,this},t.prototype.conjugate=function(){var i=new t((-this.x),(-this.y),(-this.z),this.w);return i},t.prototype.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},t.prototype.normalize=function(){var t=1/this.length();return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this},t.prototype.toEulerAngles=function(t){void 0===t&&(t=\"YZX\");var i=e.Zero();return this.toEulerAnglesToRef(i,t),i},t.prototype.toEulerAnglesToRef=function(t,i){void 0===i&&(i=\"YZX\");var n=this.z,r=this.x,o=this.y,e=this.w,s=e*e,h=n*n,a=r*r,u=o*o,m=o*n-r*e,y=.4999999;return m<-y?(t.y=2*Math.atan2(o,e),t.x=Math.PI/2,t.z=0):m>y?(t.y=2*Math.atan2(o,e),t.x=-Math.PI/2,t.z=0):(t.z=Math.atan2(2*(r*o+n*e),-h-a+u+s),t.x=Math.asin(-2*(n*o-r*e)),t.y=Math.atan2(2*(n*r+o*e),h-a-u+s)),this},t.prototype.toRotationMatrix=function(t){var i=this.x*this.x,n=this.y*this.y,r=this.z*this.z,o=this.x*this.y,e=this.z*this.w,s=this.z*this.x,h=this.y*this.w,a=this.y*this.z,u=this.x*this.w;return t.m[0]=1-2*(n+r),t.m[1]=2*(o+e),t.m[2]=2*(s-h),t.m[3]=0,t.m[4]=2*(o-e),t.m[5]=1-2*(r+i),t.m[6]=2*(a+u),t.m[7]=0,t.m[8]=2*(s+h),t.m[9]=2*(a-u),t.m[10]=1-2*(n+i),t.m[11]=0,t.m[12]=0,t.m[13]=0,t.m[14]=0,t.m[15]=1,this},t.prototype.fromRotationMatrix=function(i){return t.FromRotationMatrixToRef(i,this),this},t.FromRotationMatrix=function(i){var n=new t;return t.FromRotationMatrixToRef(i,n),n},t.FromRotationMatrixToRef=function(t,i){var n,r=t.m,o=r[0],e=r[4],s=r[8],h=r[1],a=r[5],u=r[9],m=r[2],y=r[6],c=r[10],p=o+a+c;p>0?(n=.5/Math.sqrt(p+1),i.w=.25/n,i.x=(y-u)*n,i.y=(s-m)*n,i.z=(h-e)*n):o>a&&o>c?(n=2*Math.sqrt(1+o-a-c),i.w=(y-u)/n,i.x=.25*n,i.y=(e+h)/n,i.z=(s+m)/n):a>c?(n=2*Math.sqrt(1+a-o-c),i.w=(s-m)/n,i.x=(e+h)/n,i.y=.25*n,i.z=(u+y)/n):(n=2*Math.sqrt(1+c-o-a),i.w=(h-e)/n,i.x=(s+m)/n,i.y=(u+y)/n,i.z=.25*n)},t.Inverse=function(i){return new t((-i.x),(-i.y),(-i.z),i.w)},t.Identity=function(){return new t(0,0,0,1)},t.RotationAxis=function(i,n){return t.RotationAxisToRef(i,n,new t)},t.RotationAxisToRef=function(t,i,n){var r=Math.sin(i/2);return t.normalize(),n.w=Math.cos(i/2),n.x=t.x*r,n.y=t.y*r,n.z=t.z*r,n},t.FromArray=function(i,n){return n||(n=0),new t(i[n],i[n+1],i[n+2],i[n+3])},t.RotationYawPitchRoll=function(i,n,r){var o=new t;return t.RotationYawPitchRollToRef(i,n,r,o),o},t.RotationYawPitchRollToRef=function(t,i,n,r){var o=.5*n,e=.5*i,s=.5*t,h=Math.sin(o),a=Math.cos(o),u=Math.sin(e),m=Math.cos(e),y=Math.sin(s),c=Math.cos(s);r.x=c*u*a+y*m*h,r.y=y*m*a-c*u*h,r.z=c*m*h-y*u*a,r.w=c*m*a+y*u*h},t.RotationAlphaBetaGamma=function(i,n,r){var o=new t;return t.RotationAlphaBetaGammaToRef(i,n,r,o),o},t.RotationAlphaBetaGammaToRef=function(t,i,n,r){var o=.5*(n+t),e=.5*(n-t),s=.5*i;r.x=Math.cos(e)*Math.sin(s),r.y=Math.sin(e)*Math.sin(s),r.z=Math.sin(o)*Math.cos(s),r.w=Math.cos(o)*Math.cos(s)},t.Slerp=function(i,n,r){var o=t.Identity();return t.SlerpToRef(i,n,r,o),o},t.SlerpToRef=function(t,i,n,r){var o,e,s=n,h=t.x*i.x+t.y*i.y+t.z*i.z+t.w*i.w,a=!1;if(h<0&&(a=!0,h=-h),h>.999999)e=1-s,o=a?-s:s;else{var u=Math.acos(h),m=1/Math.sin(u);e=Math.sin((1-s)*u)*m,o=a?-Math.sin(s*u)*m:Math.sin(s*u)*m}r.x=e*t.x+o*i.x,r.y=e*t.y+o*i.y,r.z=e*t.z+o*i.z,r.w=e*t.w+o*i.w},t}();t.Quaternion=a;var u=function(){function t(){this.m=new Float32Array(16)}return t.prototype.isIdentity=function(){return 1===this.m[0]&&1===this.m[5]&&1===this.m[10]&&1===this.m[15]&&(0===this.m[1]&&0===this.m[2]&&0===this.m[3]&&0===this.m[4]&&0===this.m[6]&&0===this.m[7]&&0===this.m[8]&&0===this.m[9]&&0===this.m[11]&&0===this.m[12]&&0===this.m[13]&&0===this.m[14])},t.prototype.determinant=function(){var t=this.m[10]*this.m[15]-this.m[11]*this.m[14],i=this.m[9]*this.m[15]-this.m[11]*this.m[13],n=this.m[9]*this.m[14]-this.m[10]*this.m[13],r=this.m[8]*this.m[15]-this.m[11]*this.m[12],o=this.m[8]*this.m[14]-this.m[10]*this.m[12],e=this.m[8]*this.m[13]-this.m[9]*this.m[12];return this.m[0]*(this.m[5]*t-this.m[6]*i+this.m[7]*n)-this.m[1]*(this.m[4]*t-this.m[6]*r+this.m[7]*o)+this.m[2]*(this.m[4]*i-this.m[5]*r+this.m[7]*e)-this.m[3]*(this.m[4]*n-this.m[5]*o+this.m[6]*e)},t.prototype.toArray=function(){return this.m},t.prototype.asArray=function(){return this.toArray()},t.prototype.invert=function(){return this.invertToRef(this),this},t.prototype.reset=function(){for(var t=0;t<16;t++)this.m[t]=0;return this},t.prototype.add=function(i){var n=new t;return this.addToRef(i,n),n},t.prototype.addToRef=function(t,i){for(var n=0;n<16;n++)i.m[n]=this.m[n]+t.m[n];return this},t.prototype.addToSelf=function(t){for(var i=0;i<16;i++)this.m[i]+=t.m[i];return this},t.prototype.invertToRef=function(t){var i=this.m[0],n=this.m[1],r=this.m[2],o=this.m[3],e=this.m[4],s=this.m[5],h=this.m[6],a=this.m[7],u=this.m[8],m=this.m[9],y=this.m[10],c=this.m[11],p=this.m[12],f=this.m[13],x=this.m[14],l=this.m[15],z=y*l-c*x,w=m*l-c*f,v=m*x-y*f,d=u*l-c*p,g=u*x-y*p,R=u*f-m*p,T=s*z-h*w+a*v,_=-(e*z-h*d+a*g),M=e*w-s*d+a*R,A=-(e*v-s*g+h*R),b=1/(i*T+n*_+r*M+o*A),F=h*l-a*x,L=s*l-a*f,C=s*x-h*f,P=e*l-a*p,Z=e*x-h*p,S=e*f-s*p,I=h*c-a*y,H=s*c-a*m,q=s*y-h*m,D=e*c-a*u,V=e*y-h*u,N=e*m-s*u;return t.m[0]=T*b,t.m[4]=_*b,t.m[8]=M*b,t.m[12]=A*b,t.m[1]=-(n*z-r*w+o*v)*b,t.m[5]=(i*z-r*d+o*g)*b,t.m[9]=-(i*w-n*d+o*R)*b,t.m[13]=(i*v-n*g+r*R)*b,t.m[2]=(n*F-r*L+o*C)*b,t.m[6]=-(i*F-r*P+o*Z)*b,t.m[10]=(i*L-n*P+o*S)*b,t.m[14]=-(i*C-n*Z+r*S)*b,t.m[3]=-(n*I-r*H+o*q)*b,t.m[7]=(i*I-r*D+o*V)*b,t.m[11]=-(i*H-n*D+o*N)*b,t.m[15]=(i*q-n*V+r*N)*b,this},t.prototype.setTranslation=function(t){return this.m[12]=t.x,this.m[13]=t.y,this.m[14]=t.z,this},t.prototype.getTranslation=function(){return new e(this.m[12],this.m[13],this.m[14])},t.prototype.multiply=function(i){var n=new t;return this.multiplyToRef(i,n),n},t.prototype.copyFrom=function(t){for(var i=0;i<16;i++)this.m[i]=t.m[i];return this;\n},t.prototype.copyToArray=function(t,i){void 0===i&&(i=0);for(var n=0;n<16;n++)t[i+n]=this.m[n];return this},t.prototype.multiplyToRef=function(t,i){return this.multiplyToArray(t,i.m,0),this},t.prototype.multiplyToArray=function(t,i,n){var r=this.m[0],o=this.m[1],e=this.m[2],s=this.m[3],h=this.m[4],a=this.m[5],u=this.m[6],m=this.m[7],y=this.m[8],c=this.m[9],p=this.m[10],f=this.m[11],x=this.m[12],l=this.m[13],z=this.m[14],w=this.m[15],v=t.m[0],d=t.m[1],g=t.m[2],R=t.m[3],T=t.m[4],_=t.m[5],M=t.m[6],A=t.m[7],b=t.m[8],F=t.m[9],L=t.m[10],C=t.m[11],P=t.m[12],Z=t.m[13],S=t.m[14],I=t.m[15];return i[n]=r*v+o*T+e*b+s*P,i[n+1]=r*d+o*_+e*F+s*Z,i[n+2]=r*g+o*M+e*L+s*S,i[n+3]=r*R+o*A+e*C+s*I,i[n+4]=h*v+a*T+u*b+m*P,i[n+5]=h*d+a*_+u*F+m*Z,i[n+6]=h*g+a*M+u*L+m*S,i[n+7]=h*R+a*A+u*C+m*I,i[n+8]=y*v+c*T+p*b+f*P,i[n+9]=y*d+c*_+p*F+f*Z,i[n+10]=y*g+c*M+p*L+f*S,i[n+11]=y*R+c*A+p*C+f*I,i[n+12]=x*v+l*T+z*b+w*P,i[n+13]=x*d+l*_+z*F+w*Z,i[n+14]=x*g+l*M+z*L+w*S,i[n+15]=x*R+l*A+z*C+w*I,this},t.prototype.equals=function(t){return t&&this.m[0]===t.m[0]&&this.m[1]===t.m[1]&&this.m[2]===t.m[2]&&this.m[3]===t.m[3]&&this.m[4]===t.m[4]&&this.m[5]===t.m[5]&&this.m[6]===t.m[6]&&this.m[7]===t.m[7]&&this.m[8]===t.m[8]&&this.m[9]===t.m[9]&&this.m[10]===t.m[10]&&this.m[11]===t.m[11]&&this.m[12]===t.m[12]&&this.m[13]===t.m[13]&&this.m[14]===t.m[14]&&this.m[15]===t.m[15]},t.prototype.clone=function(){return t.FromValues(this.m[0],this.m[1],this.m[2],this.m[3],this.m[4],this.m[5],this.m[6],this.m[7],this.m[8],this.m[9],this.m[10],this.m[11],this.m[12],this.m[13],this.m[14],this.m[15])},t.prototype.getClassName=function(){return\"Matrix\"},t.prototype.getHashCode=function(){for(var t=this.m[0]||0,i=1;i<16;i++)t=397*t^(this.m[i]||0);return t},t.prototype.decompose=function(n,r,o){o.x=this.m[12],o.y=this.m[13],o.z=this.m[14];var e=i.Sign(this.m[0]*this.m[1]*this.m[2]*this.m[3])<0?-1:1,s=i.Sign(this.m[4]*this.m[5]*this.m[6]*this.m[7])<0?-1:1,h=i.Sign(this.m[8]*this.m[9]*this.m[10]*this.m[11])<0?-1:1;return n.x=e*Math.sqrt(this.m[0]*this.m[0]+this.m[1]*this.m[1]+this.m[2]*this.m[2]),n.y=s*Math.sqrt(this.m[4]*this.m[4]+this.m[5]*this.m[5]+this.m[6]*this.m[6]),n.z=h*Math.sqrt(this.m[8]*this.m[8]+this.m[9]*this.m[9]+this.m[10]*this.m[10]),0===n.x||0===n.y||0===n.z?(r.x=0,r.y=0,r.z=0,r.w=1,!1):(t.FromValuesToRef(this.m[0]/n.x,this.m[1]/n.x,this.m[2]/n.x,0,this.m[4]/n.y,this.m[5]/n.y,this.m[6]/n.y,0,this.m[8]/n.z,this.m[9]/n.z,this.m[10]/n.z,0,0,0,0,1,M.Matrix[0]),a.FromRotationMatrixToRef(M.Matrix[0],r),!0)},t.prototype.getRotationMatrix=function(){var i=t.Identity();return this.getRotationMatrixToRef(i),i},t.prototype.getRotationMatrixToRef=function(i){var n=this.m,r=n[0]*n[1]*n[2]*n[3]<0?-1:1,o=n[4]*n[5]*n[6]*n[7]<0?-1:1,e=n[8]*n[9]*n[10]*n[11]<0?-1:1,s=r*Math.sqrt(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]),h=o*Math.sqrt(n[4]*n[4]+n[5]*n[5]+n[6]*n[6]),a=e*Math.sqrt(n[8]*n[8]+n[9]*n[9]+n[10]*n[10]);t.FromValuesToRef(n[0]/s,n[1]/s,n[2]/s,0,n[4]/h,n[5]/h,n[6]/h,0,n[8]/a,n[9]/a,n[10]/a,0,0,0,0,1,i)},t.FromArray=function(i,n){var r=new t;return n||(n=0),t.FromArrayToRef(i,n,r),r},t.FromArrayToRef=function(t,i,n){for(var r=0;r<16;r++)n.m[r]=t[r+i]},t.FromFloat32ArrayToRefScaled=function(t,i,n,r){for(var o=0;o<16;o++)r.m[o]=t[o+i]*n},t.FromValuesToRef=function(t,i,n,r,o,e,s,h,a,u,m,y,c,p,f,x,l){l.m[0]=t,l.m[1]=i,l.m[2]=n,l.m[3]=r,l.m[4]=o,l.m[5]=e,l.m[6]=s,l.m[7]=h,l.m[8]=a,l.m[9]=u,l.m[10]=m,l.m[11]=y,l.m[12]=c,l.m[13]=p,l.m[14]=f,l.m[15]=x},t.prototype.getRow=function(t){if(t<0||t>3)return null;var i=4*t;return new s(this.m[i+0],this.m[i+1],this.m[i+2],this.m[i+3])},t.prototype.setRow=function(t,i){if(t<0||t>3)return this;var n=4*t;return this.m[n+0]=i.x,this.m[n+1]=i.y,this.m[n+2]=i.z,this.m[n+3]=i.w,this},t.FromValues=function(i,n,r,o,e,s,h,a,u,m,y,c,p,f,x,l){var z=new t;return z.m[0]=i,z.m[1]=n,z.m[2]=r,z.m[3]=o,z.m[4]=e,z.m[5]=s,z.m[6]=h,z.m[7]=a,z.m[8]=u,z.m[9]=m,z.m[10]=y,z.m[11]=c,z.m[12]=p,z.m[13]=f,z.m[14]=x,z.m[15]=l,z},t.Compose=function(i,n,r){var o=t.FromValues(i.x,0,0,0,0,i.y,0,0,0,0,i.z,0,0,0,0,1),e=t.Identity();return n.toRotationMatrix(e),o=o.multiply(e),o.setTranslation(r),o},t.Identity=function(){return t.FromValues(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)},t.IdentityToRef=function(i){t.FromValuesToRef(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,i)},t.Zero=function(){return t.FromValues(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)},t.RotationX=function(i){var n=new t;return t.RotationXToRef(i,n),n},t.Invert=function(i){var n=new t;return i.invertToRef(n),n},t.RotationXToRef=function(t,i){var n=Math.sin(t),r=Math.cos(t);i.m[0]=1,i.m[15]=1,i.m[5]=r,i.m[10]=r,i.m[9]=-n,i.m[6]=n,i.m[1]=0,i.m[2]=0,i.m[3]=0,i.m[4]=0,i.m[7]=0,i.m[8]=0,i.m[11]=0,i.m[12]=0,i.m[13]=0,i.m[14]=0},t.RotationY=function(i){var n=new t;return t.RotationYToRef(i,n),n},t.RotationYToRef=function(t,i){var n=Math.sin(t),r=Math.cos(t);i.m[5]=1,i.m[15]=1,i.m[0]=r,i.m[2]=-n,i.m[8]=n,i.m[10]=r,i.m[1]=0,i.m[3]=0,i.m[4]=0,i.m[6]=0,i.m[7]=0,i.m[9]=0,i.m[11]=0,i.m[12]=0,i.m[13]=0,i.m[14]=0},t.RotationZ=function(i){var n=new t;return t.RotationZToRef(i,n),n},t.RotationZToRef=function(t,i){var n=Math.sin(t),r=Math.cos(t);i.m[10]=1,i.m[15]=1,i.m[0]=r,i.m[1]=n,i.m[4]=-n,i.m[5]=r,i.m[2]=0,i.m[3]=0,i.m[6]=0,i.m[7]=0,i.m[8]=0,i.m[9]=0,i.m[11]=0,i.m[12]=0,i.m[13]=0,i.m[14]=0},t.RotationAxis=function(i,n){var r=t.Zero();return t.RotationAxisToRef(i,n,r),r},t.RotationAxisToRef=function(t,i,n){var r=Math.sin(-i),o=Math.cos(-i),e=1-o;t.normalize(),n.m[0]=t.x*t.x*e+o,n.m[1]=t.x*t.y*e-t.z*r,n.m[2]=t.x*t.z*e+t.y*r,n.m[3]=0,n.m[4]=t.y*t.x*e+t.z*r,n.m[5]=t.y*t.y*e+o,n.m[6]=t.y*t.z*e-t.x*r,n.m[7]=0,n.m[8]=t.z*t.x*e-t.y*r,n.m[9]=t.z*t.y*e+t.x*r,n.m[10]=t.z*t.z*e+o,n.m[11]=0,n.m[15]=1},t.RotationYawPitchRoll=function(i,n,r){var o=new t;return t.RotationYawPitchRollToRef(i,n,r,o),o},t.RotationYawPitchRollToRef=function(t,i,n,r){a.RotationYawPitchRollToRef(t,i,n,this._tempQuaternion),this._tempQuaternion.toRotationMatrix(r)},t.Scaling=function(i,n,r){var o=t.Zero();return t.ScalingToRef(i,n,r,o),o},t.ScalingToRef=function(t,i,n,r){r.m[0]=t,r.m[1]=0,r.m[2]=0,r.m[3]=0,r.m[4]=0,r.m[5]=i,r.m[6]=0,r.m[7]=0,r.m[8]=0,r.m[9]=0,r.m[10]=n,r.m[11]=0,r.m[12]=0,r.m[13]=0,r.m[14]=0,r.m[15]=1},t.Translation=function(i,n,r){var o=t.Identity();return t.TranslationToRef(i,n,r,o),o},t.TranslationToRef=function(i,n,r,o){t.FromValuesToRef(1,0,0,0,0,1,0,0,0,0,1,0,i,n,r,1,o)},t.Lerp=function(i,n,r){for(var o=t.Zero(),e=0;e<16;e++)o.m[e]=i.m[e]*(1-r)+n.m[e]*r;return o},t.DecomposeLerp=function(i,n,r){var o=new e(0,0,0),s=new a,h=new e(0,0,0);i.decompose(o,s,h);var u=new e(0,0,0),m=new a,y=new e(0,0,0);n.decompose(u,m,y);var c=e.Lerp(o,u,r),p=a.Slerp(s,m,r),f=e.Lerp(h,y,r);return t.Compose(c,p,f)},t.LookAtLH=function(i,n,r){var o=t.Zero();return t.LookAtLHToRef(i,n,r,o),o},t.LookAtLHToRef=function(i,n,r,o){n.subtractToRef(i,this._zAxis),this._zAxis.normalize(),e.CrossToRef(r,this._zAxis,this._xAxis),0===this._xAxis.lengthSquared()?this._xAxis.x=1:this._xAxis.normalize(),e.CrossToRef(this._zAxis,this._xAxis,this._yAxis),this._yAxis.normalize();var s=-e.Dot(this._xAxis,i),h=-e.Dot(this._yAxis,i),a=-e.Dot(this._zAxis,i);return t.FromValuesToRef(this._xAxis.x,this._yAxis.x,this._zAxis.x,0,this._xAxis.y,this._yAxis.y,this._zAxis.y,0,this._xAxis.z,this._yAxis.z,this._zAxis.z,0,s,h,a,1,o)},t.LookAtRH=function(i,n,r){var o=t.Zero();return t.LookAtRHToRef(i,n,r,o),o},t.LookAtRHToRef=function(i,n,r,o){i.subtractToRef(n,this._zAxis),this._zAxis.normalize(),e.CrossToRef(r,this._zAxis,this._xAxis),0===this._xAxis.lengthSquared()?this._xAxis.x=1:this._xAxis.normalize(),e.CrossToRef(this._zAxis,this._xAxis,this._yAxis),this._yAxis.normalize();var s=-e.Dot(this._xAxis,i),h=-e.Dot(this._yAxis,i),a=-e.Dot(this._zAxis,i);return t.FromValuesToRef(this._xAxis.x,this._yAxis.x,this._zAxis.x,0,this._xAxis.y,this._yAxis.y,this._zAxis.y,0,this._xAxis.z,this._yAxis.z,this._zAxis.z,0,s,h,a,1,o)},t.OrthoLH=function(i,n,r,o){var e=t.Zero();return t.OrthoLHToRef(i,n,r,o,e),e},t.OrthoLHToRef=function(i,n,r,o,e){var s=2/i,h=2/n,a=1/(o-r),u=r/(r-o);t.FromValuesToRef(s,0,0,0,0,h,0,0,0,0,a,0,0,0,u,1,e)},t.OrthoOffCenterLH=function(i,n,r,o,e,s){var h=t.Zero();return t.OrthoOffCenterLHToRef(i,n,r,o,e,s,h),h},t.OrthoOffCenterLHToRef=function(t,i,n,r,o,e,s){s.m[0]=2/(i-t),s.m[1]=s.m[2]=s.m[3]=0,s.m[5]=2/(r-n),s.m[4]=s.m[6]=s.m[7]=0,s.m[10]=1/(e-o),s.m[8]=s.m[9]=s.m[11]=0,s.m[12]=(t+i)/(t-i),s.m[13]=(r+n)/(n-r),s.m[14]=-o/(e-o),s.m[15]=1},t.OrthoOffCenterRH=function(i,n,r,o,e,s){var h=t.Zero();return t.OrthoOffCenterRHToRef(i,n,r,o,e,s,h),h},t.OrthoOffCenterRHToRef=function(i,n,r,o,e,s,h){t.OrthoOffCenterLHToRef(i,n,r,o,e,s,h),h.m[10]*=-1},t.PerspectiveLH=function(i,n,r,o){var e=t.Zero();return e.m[0]=2*r/i,e.m[1]=e.m[2]=e.m[3]=0,e.m[5]=2*r/n,e.m[4]=e.m[6]=e.m[7]=0,e.m[10]=-o/(r-o),e.m[8]=e.m[9]=0,e.m[11]=1,e.m[12]=e.m[13]=e.m[15]=0,e.m[14]=r*o/(r-o),e},t.PerspectiveFovLH=function(i,n,r,o){var e=t.Zero();return t.PerspectiveFovLHToRef(i,n,r,o,e),e},t.PerspectiveFovLHToRef=function(t,i,n,r,o,e){void 0===e&&(e=!0);var s=1/Math.tan(.5*t);e?o.m[0]=s/i:o.m[0]=s,o.m[1]=o.m[2]=o.m[3]=0,e?o.m[5]=s:o.m[5]=s*i,o.m[4]=o.m[6]=o.m[7]=0,o.m[8]=o.m[9]=0,o.m[10]=r/(r-n),o.m[11]=1,o.m[12]=o.m[13]=o.m[15]=0,o.m[14]=-(n*r)/(r-n)},t.PerspectiveFovRH=function(i,n,r,o){var e=t.Zero();return t.PerspectiveFovRHToRef(i,n,r,o,e),e},t.PerspectiveFovRHToRef=function(t,i,n,r,o,e){void 0===e&&(e=!0);var s=1/Math.tan(.5*t);e?o.m[0]=s/i:o.m[0]=s,o.m[1]=o.m[2]=o.m[3]=0,e?o.m[5]=s:o.m[5]=s*i,o.m[4]=o.m[6]=o.m[7]=0,o.m[8]=o.m[9]=0,o.m[10]=r/(n-r),o.m[11]=-1,o.m[12]=o.m[13]=o.m[15]=0,o.m[14]=n*r/(n-r)},t.PerspectiveFovWebVRToRef=function(t,i,n,r,o){void 0===o&&(o=!0);var e=Math.tan(t.upDegrees*Math.PI/180),s=Math.tan(t.downDegrees*Math.PI/180),h=Math.tan(t.leftDegrees*Math.PI/180),a=Math.tan(t.rightDegrees*Math.PI/180),u=2/(h+a),m=2/(e+s);r.m[0]=u,r.m[1]=r.m[2]=r.m[3]=r.m[4]=0,r.m[5]=m,r.m[6]=r.m[7]=0,r.m[8]=(h-a)*u*.5,r.m[9]=-((e-s)*m*.5),r.m[10]=-n/(i-n),r.m[11]=1,r.m[12]=r.m[13]=r.m[15]=0,r.m[14]=i*n/(i-n)},t.GetFinalMatrix=function(i,n,r,o,e,s){var h=i.width,a=i.height,u=i.x,m=i.y,y=t.FromValues(h/2,0,0,0,0,-a/2,0,0,0,0,s-e,0,u+h/2,a/2+m,e,1);return n.multiply(r).multiply(o).multiply(y)},t.GetAsMatrix2x2=function(t){return new Float32Array([t.m[0],t.m[1],t.m[4],t.m[5]])},t.GetAsMatrix3x3=function(t){return new Float32Array([t.m[0],t.m[1],t.m[2],t.m[4],t.m[5],t.m[6],t.m[8],t.m[9],t.m[10]])},t.Transpose=function(i){var n=new t;return n.m[0]=i.m[0],n.m[1]=i.m[4],n.m[2]=i.m[8],n.m[3]=i.m[12],n.m[4]=i.m[1],n.m[5]=i.m[5],n.m[6]=i.m[9],n.m[7]=i.m[13],n.m[8]=i.m[2],n.m[9]=i.m[6],n.m[10]=i.m[10],n.m[11]=i.m[14],n.m[12]=i.m[3],n.m[13]=i.m[7],n.m[14]=i.m[11],n.m[15]=i.m[15],n},t.Reflection=function(i){var n=new t;return t.ReflectionToRef(i,n),n},t.ReflectionToRef=function(t,i){t.normalize();var n=t.normal.x,r=t.normal.y,o=t.normal.z,e=-2*n,s=-2*r,h=-2*o;i.m[0]=e*n+1,i.m[1]=s*n,i.m[2]=h*n,i.m[3]=0,i.m[4]=e*r,i.m[5]=s*r+1,i.m[6]=h*r,i.m[7]=0,i.m[8]=e*o,i.m[9]=s*o,i.m[10]=h*o+1,i.m[11]=0,i.m[12]=e*t.d,i.m[13]=s*t.d,i.m[14]=h*t.d,i.m[15]=1},t.FromXYZAxesToRef=function(t,i,n,r){r.m[0]=t.x,r.m[1]=t.y,r.m[2]=t.z,r.m[3]=0,r.m[4]=i.x,r.m[5]=i.y,r.m[6]=i.z,r.m[7]=0,r.m[8]=n.x,r.m[9]=n.y,r.m[10]=n.z,r.m[11]=0,r.m[12]=0,r.m[13]=0,r.m[14]=0,r.m[15]=1},t.FromQuaternionToRef=function(t,i){var n=t.x*t.x,r=t.y*t.y,o=t.z*t.z,e=t.x*t.y,s=t.z*t.w,h=t.z*t.x,a=t.y*t.w,u=t.y*t.z,m=t.x*t.w;i.m[0]=1-2*(r+o),i.m[1]=2*(e+s),i.m[2]=2*(h-a),i.m[3]=0,i.m[4]=2*(e-s),i.m[5]=1-2*(o+n),i.m[6]=2*(u+m),i.m[7]=0,i.m[8]=2*(h+a),i.m[9]=2*(u-m),i.m[10]=1-2*(r+n),i.m[11]=0,i.m[12]=0,i.m[13]=0,i.m[14]=0,i.m[15]=1},t._tempQuaternion=new a,t._xAxis=e.Zero(),t._yAxis=e.Zero(),t._zAxis=e.Zero(),t}();t.Matrix=u;var m=function(){function t(t,i,n,r){this.normal=new e(t,i,n),this.d=r}return t.prototype.asArray=function(){return[this.normal.x,this.normal.y,this.normal.z,this.d]},t.prototype.clone=function(){return new t(this.normal.x,this.normal.y,this.normal.z,this.d)},t.prototype.getClassName=function(){return\"Plane\"},t.prototype.getHashCode=function(){var t=this.normal.getHashCode();return t=397*t^(this.d||0)},t.prototype.normalize=function(){var t=Math.sqrt(this.normal.x*this.normal.x+this.normal.y*this.normal.y+this.normal.z*this.normal.z),i=0;return 0!==t&&(i=1/t),this.normal.x*=i,this.normal.y*=i,this.normal.z*=i,this.d*=i,this},t.prototype.transform=function(i){var n=u.Transpose(i),r=this.normal.x,o=this.normal.y,e=this.normal.z,s=this.d,h=r*n.m[0]+o*n.m[1]+e*n.m[2]+s*n.m[3],a=r*n.m[4]+o*n.m[5]+e*n.m[6]+s*n.m[7],m=r*n.m[8]+o*n.m[9]+e*n.m[10]+s*n.m[11],y=r*n.m[12]+o*n.m[13]+e*n.m[14]+s*n.m[15];return new t(h,a,m,y)},t.prototype.dotCoordinate=function(t){return this.normal.x*t.x+this.normal.y*t.y+this.normal.z*t.z+this.d},t.prototype.copyFromPoints=function(t,i,n){var r,o=i.x-t.x,e=i.y-t.y,s=i.z-t.z,h=n.x-t.x,a=n.y-t.y,u=n.z-t.z,m=e*u-s*a,y=s*h-o*u,c=o*a-e*h,p=Math.sqrt(m*m+y*y+c*c);return r=0!==p?1/p:0,this.normal.x=m*r,this.normal.y=y*r,this.normal.z=c*r,this.d=-(this.normal.x*t.x+this.normal.y*t.y+this.normal.z*t.z),this},t.prototype.isFrontFacingTo=function(t,i){var n=e.Dot(this.normal,t);return n<=i},t.prototype.signedDistanceTo=function(t){return e.Dot(t,this.normal)+this.d},t.FromArray=function(i){return new t(i[0],i[1],i[2],i[3])},t.FromPoints=function(i,n,r){var o=new t(0,0,0,0);return o.copyFromPoints(i,n,r),o},t.FromPositionAndNormal=function(i,n){var r=new t(0,0,0,0);return n.normalize(),r.normal=n,r.d=-(n.x*i.x+n.y*i.y+n.z*i.z),r},t.SignedDistanceToPlaneFromPositionAndNormal=function(t,i,n){var r=-(i.x*t.x+i.y*t.y+i.z*t.z);return e.Dot(n,i)+r},t}();t.Plane=m;var y=function(){function t(t,i,n,r){this.x=t,this.y=i,this.width=n,this.height=r}return t.prototype.toGlobal=function(i,n){return new t(this.x*i,this.y*n,this.width*i,this.height*n)},t}();t.Viewport=y;var c=function(){function t(){}return t.GetPlanes=function(i){for(var n=[],r=0;r<6;r++)n.push(new m(0,0,0,0));return t.GetPlanesToRef(i,n),n},t.GetPlanesToRef=function(t,i){i[0].normal.x=t.m[3]+t.m[2],i[0].normal.y=t.m[7]+t.m[6],i[0].normal.z=t.m[11]+t.m[10],i[0].d=t.m[15]+t.m[14],i[0].normalize(),i[1].normal.x=t.m[3]-t.m[2],i[1].normal.y=t.m[7]-t.m[6],i[1].normal.z=t.m[11]-t.m[10],i[1].d=t.m[15]-t.m[14],i[1].normalize(),i[2].normal.x=t.m[3]+t.m[0],i[2].normal.y=t.m[7]+t.m[4],i[2].normal.z=t.m[11]+t.m[8],i[2].d=t.m[15]+t.m[12],i[2].normalize(),i[3].normal.x=t.m[3]-t.m[0],i[3].normal.y=t.m[7]-t.m[4],i[3].normal.z=t.m[11]-t.m[8],i[3].d=t.m[15]-t.m[12],i[3].normalize(),i[4].normal.x=t.m[3]-t.m[1],i[4].normal.y=t.m[7]-t.m[5],i[4].normal.z=t.m[11]-t.m[9],i[4].d=t.m[15]-t.m[13],i[4].normalize(),i[5].normal.x=t.m[3]+t.m[1],i[5].normal.y=t.m[7]+t.m[5],i[5].normal.z=t.m[11]+t.m[9],i[5].d=t.m[15]+t.m[13],i[5].normalize()},t}();t.Frustum=c,function(t){t[t.LOCAL=0]=\"LOCAL\",t[t.WORLD=1]=\"WORLD\"}(t.Space||(t.Space={}));var p=(t.Space,function(){function t(){}return t.X=new e(1,0,0),t.Y=new e(0,1,0),t.Z=new e(0,0,1),t}());t.Axis=p;var f=function(){function t(){}return t.interpolate=function(t,i,n,r,o){for(var e=1-3*r+3*i,s=3*r-6*i,h=3*i,a=t,u=0;u<5;u++){var m=a*a,y=m*a,c=e*y+s*m+h*a,p=1/(3*e*m+2*s*a+h);a-=(c-t)*p,a=Math.min(1,Math.max(0,a))}return 3*Math.pow(1-a,2)*a*n+3*(1-a)*Math.pow(a,2)*o+Math.pow(a,3)},t}();t.BezierCurve=f,function(t){t[t.CW=0]=\"CW\",t[t.CCW=1]=\"CCW\"}(t.Orientation||(t.Orientation={}));var x=t.Orientation,l=function(){function t(t){var i=this;this.degrees=function(){return 180*i._radians/Math.PI},this.radians=function(){return i._radians},this._radians=t,this._radians<0&&(this._radians+=2*Math.PI)}return t.BetweenTwoPoints=function(i,n){var r=n.subtract(i),o=Math.atan2(r.y,r.x);return new t(o)},t.FromRadians=function(i){return new t(i)},t.FromDegrees=function(i){return new t(i*Math.PI/180)},t}();t.Angle=l;var z=function(){function t(t,i,n){this.startPoint=t,this.midPoint=i,this.endPoint=n;var r=Math.pow(i.x,2)+Math.pow(i.y,2),e=(Math.pow(t.x,2)+Math.pow(t.y,2)-r)/2,s=(r-Math.pow(n.x,2)-Math.pow(n.y,2))/2,h=(t.x-i.x)*(i.y-n.y)-(i.x-n.x)*(t.y-i.y);this.centerPoint=new o((e*(i.y-n.y)-s*(t.y-i.y))/h,((t.x-i.x)*s-(i.x-n.x)*e)/h),this.radius=this.centerPoint.subtract(this.startPoint).length(),this.startAngle=l.BetweenTwoPoints(this.centerPoint,this.startPoint);var a=this.startAngle.degrees(),u=l.BetweenTwoPoints(this.centerPoint,this.midPoint).degrees(),m=l.BetweenTwoPoints(this.centerPoint,this.endPoint).degrees();u-a>180&&(u-=360),u-a<-180&&(u+=360),m-u>180&&(m-=360),m-u<-180&&(m+=360),this.orientation=u-a<0?x.CW:x.CCW,this.angle=l.FromDegrees(this.orientation===x.CW?a-m:m-a)}return t}();t.Arc2=z;var w=function(){function t(t,i){this._points=new Array,this._length=0,this.closed=!1,this._points.push(new o(t,i))}return t.prototype.addLineTo=function(t,i){if(closed)return this;var n=new o(t,i),r=this._points[this._points.length-1];return this._points.push(n),this._length+=n.subtract(r).length(),this},t.prototype.addArcTo=function(t,i,n,r,e){if(void 0===e&&(e=36),closed)return this;var s=this._points[this._points.length-1],h=new o(t,i),a=new o(n,r),u=new z(s,h,a),m=u.angle.radians()/e;u.orientation===x.CW&&(m*=-1);for(var y=u.startAngle.radians()+m,c=0;c1)return o.Zero();for(var i=t*this.length(),n=0,r=0;r=n&&i<=u){var m=a.normalize(),y=i-n;return new o(s.x+m.x*y,s.y+m.y*y)}n=u}return o.Zero()},t.StartingAt=function(i,n){return new t(i,n)},t}();t.Path2=w;var v=function(){function n(t,i,n){this.path=t,this._curve=new Array,this._distances=new Array,this._tangents=new Array,this._normals=new Array,this._binormals=new Array;for(var r=0;ri+1;)i++,n=this._curve[t].subtract(this._curve[t-i]);return n},n.prototype._normalVector=function(n,r,o){var s,h=r.length();if(0===h&&(h=1),void 0===o||null===o){var a;i.WithinEpsilon(Math.abs(r.y)/h,1,t.Epsilon)?i.WithinEpsilon(Math.abs(r.x)/h,1,t.Epsilon)?i.WithinEpsilon(Math.abs(r.z)/h,1,t.Epsilon)||(a=new e(0,0,1)):a=new e(1,0,0):a=new e(0,(-1),0),s=e.Cross(r,a)}else s=e.Cross(r,o),e.CrossToRef(s,r,s);return s.normalize(),s},n}();t.Path3D=v;var d=function(){function t(t){this._length=0,this._points=t,this._length=this._computeLength(t)}return t.CreateQuadraticBezier=function(i,n,r,o){o=o>2?o:3;for(var s=new Array,h=function(t,i,n,r){var o=(1-t)*(1-t)*i+2*t*(1-t)*n+t*t*r;return o},a=0;a<=o;a++)s.push(new e(h(a/o,i.x,n.x,r.x),h(a/o,i.y,n.y,r.y),h(a/o,i.z,n.z,r.z)));return new t(s)},t.CreateCubicBezier=function(i,n,r,o,s){s=s>3?s:4;for(var h=new Array,a=function(t,i,n,r,o){var e=(1-t)*(1-t)*(1-t)*i+3*t*(1-t)*(1-t)*n+3*t*t*(1-t)*r+t*t*t*o;return e},u=0;u<=s;u++)h.push(new e(a(u/s,i.x,n.x,r.x,o.x),a(u/s,i.y,n.y,r.y,o.y),a(u/s,i.z,n.z,r.z,o.z)));return new t(h)},t.CreateHermiteSpline=function(i,n,r,o,s){for(var h=new Array,a=1/s,u=0;u<=s;u++)h.push(e.Hermite(i,n,r,o,u*a));return new t(h)},t.prototype.getPoints=function(){return this._points},t.prototype.length=function(){return this._length},t.prototype[\"continue\"]=function(i){for(var n=this._points[this._points.length-1],r=this._points.slice(),o=i.getPoints(),e=1;eWebGL.
      ', + 'Find out how to get it here.' + ].join( '\n' ) : [ + 'Your browser does not seem to support WebGL.
      ', + 'Find out how to get it here.' + ].join( '\n' ); + + } + + return element; + + }, + + addGetWebGLMessage: function ( parameters ) { + + var parent, id, element; + + parameters = parameters || {}; + + parent = parameters.parent !== undefined ? parameters.parent : document.body; + id = parameters.id !== undefined ? parameters.id : 'oldie'; + + element = Detector.getWebGLErrorMessage(); + element.id = id; + + parent.appendChild( element ); + + } + +}; + +// browserify support +if ( typeof module === 'object' ) { + + module.exports = Detector; + +} diff --git a/jsartoolkit5/examples/js/third_party/three.js/GLTFLoader.js b/jsartoolkit5/examples/js/third_party/three.js/GLTFLoader.js new file mode 100644 index 0000000..d011eb7 --- /dev/null +++ b/jsartoolkit5/examples/js/third_party/three.js/GLTFLoader.js @@ -0,0 +1,3394 @@ +/** + * @author Rich Tibbett / https://github.com/richtr + * @author mrdoob / http://mrdoob.com/ + * @author Tony Parisi / http://www.tonyparisi.com/ + * @author Takahiro / https://github.com/takahirox + * @author Don McCurdy / https://www.donmccurdy.com + */ + +THREE.GLTFLoader = ( function () { + + function GLTFLoader( manager ) { + + this.manager = ( manager !== undefined ) ? manager : THREE.DefaultLoadingManager; + this.dracoLoader = null; + + } + + GLTFLoader.prototype = { + + constructor: GLTFLoader, + + crossOrigin: 'anonymous', + + load: function ( url, onLoad, onProgress, onError ) { + + var scope = this; + + var resourcePath; + + if ( this.resourcePath !== undefined ) { + + resourcePath = this.resourcePath; + + } else if ( this.path !== undefined ) { + + resourcePath = this.path; + + } else { + + resourcePath = THREE.LoaderUtils.extractUrlBase( url ); + + } + + // Tells the LoadingManager to track an extra item, which resolves after + // the model is fully loaded. This means the count of items loaded will + // be incorrect, but ensures manager.onLoad() does not fire early. + scope.manager.itemStart( url ); + + var _onError = function ( e ) { + + if ( onError ) { + + onError( e ); + + } else { + + console.error( e ); + + } + + scope.manager.itemError( url ); + scope.manager.itemEnd( url ); + + }; + + var loader = new THREE.FileLoader( scope.manager ); + + loader.setPath( this.path ); + loader.setResponseType( 'arraybuffer' ); + + loader.load( url, function ( data ) { + + try { + + scope.parse( data, resourcePath, function ( gltf ) { + + onLoad( gltf ); + + scope.manager.itemEnd( url ); + + }, _onError ); + + } catch ( e ) { + + _onError( e ); + + } + + }, onProgress, _onError ); + + }, + + setCrossOrigin: function ( value ) { + + this.crossOrigin = value; + return this; + + }, + + setPath: function ( value ) { + + this.path = value; + return this; + + }, + + setResourcePath: function ( value ) { + + this.resourcePath = value; + return this; + + }, + + setDRACOLoader: function ( dracoLoader ) { + + this.dracoLoader = dracoLoader; + return this; + + }, + + parse: function ( data, path, onLoad, onError ) { + + var content; + var extensions = {}; + + if ( typeof data === 'string' ) { + + content = data; + + } else { + + var magic = THREE.LoaderUtils.decodeText( new Uint8Array( data, 0, 4 ) ); + + if ( magic === BINARY_EXTENSION_HEADER_MAGIC ) { + + try { + + extensions[ EXTENSIONS.KHR_BINARY_GLTF ] = new GLTFBinaryExtension( data ); + + } catch ( error ) { + + if ( onError ) onError( error ); + return; + + } + + content = extensions[ EXTENSIONS.KHR_BINARY_GLTF ].content; + + } else { + + content = THREE.LoaderUtils.decodeText( new Uint8Array( data ) ); + + } + + } + + var json = JSON.parse( content ); + + if ( json.asset === undefined || json.asset.version[ 0 ] < 2 ) { + + if ( onError ) onError( new Error( 'THREE.GLTFLoader: Unsupported asset. glTF versions >=2.0 are supported. Use LegacyGLTFLoader instead.' ) ); + return; + + } + + if ( json.extensionsUsed ) { + + for ( var i = 0; i < json.extensionsUsed.length; ++ i ) { + + var extensionName = json.extensionsUsed[ i ]; + var extensionsRequired = json.extensionsRequired || []; + + switch ( extensionName ) { + + case EXTENSIONS.KHR_LIGHTS_PUNCTUAL: + extensions[ extensionName ] = new GLTFLightsExtension( json ); + break; + + case EXTENSIONS.KHR_MATERIALS_UNLIT: + extensions[ extensionName ] = new GLTFMaterialsUnlitExtension( json ); + break; + + case EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS: + extensions[ extensionName ] = new GLTFMaterialsPbrSpecularGlossinessExtension( json ); + break; + + case EXTENSIONS.KHR_DRACO_MESH_COMPRESSION: + extensions[ extensionName ] = new GLTFDracoMeshCompressionExtension( json, this.dracoLoader ); + break; + + case EXTENSIONS.MSFT_TEXTURE_DDS: + extensions[ EXTENSIONS.MSFT_TEXTURE_DDS ] = new GLTFTextureDDSExtension( json ); + break; + + case EXTENSIONS.KHR_TEXTURE_TRANSFORM: + extensions[ EXTENSIONS.KHR_TEXTURE_TRANSFORM ] = new GLTFTextureTransformExtension( json ); + break; + + default: + + if ( extensionsRequired.indexOf( extensionName ) >= 0 ) { + + console.warn( 'THREE.GLTFLoader: Unknown extension "' + extensionName + '".' ); + + } + + } + + } + + } + + var parser = new GLTFParser( json, extensions, { + + path: path || this.resourcePath || '', + crossOrigin: this.crossOrigin, + manager: this.manager + + } ); + + parser.parse( function ( scene, scenes, cameras, animations, json ) { + + var glTF = { + scene: scene, + scenes: scenes, + cameras: cameras, + animations: animations, + asset: json.asset, + parser: parser, + userData: {} + }; + + addUnknownExtensionsToUserData( extensions, glTF, json ); + + onLoad( glTF ); + + }, onError ); + + } + + }; + + /* GLTFREGISTRY */ + + function GLTFRegistry() { + + var objects = {}; + + return { + + get: function ( key ) { + + return objects[ key ]; + + }, + + add: function ( key, object ) { + + objects[ key ] = object; + + }, + + remove: function ( key ) { + + delete objects[ key ]; + + }, + + removeAll: function () { + + objects = {}; + + } + + }; + + } + + /*********************************/ + /********** EXTENSIONS ***********/ + /*********************************/ + + var EXTENSIONS = { + KHR_BINARY_GLTF: 'KHR_binary_glTF', + KHR_DRACO_MESH_COMPRESSION: 'KHR_draco_mesh_compression', + KHR_LIGHTS_PUNCTUAL: 'KHR_lights_punctual', + KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS: 'KHR_materials_pbrSpecularGlossiness', + KHR_MATERIALS_UNLIT: 'KHR_materials_unlit', + KHR_TEXTURE_TRANSFORM: 'KHR_texture_transform', + MSFT_TEXTURE_DDS: 'MSFT_texture_dds' + }; + + /** + * DDS Texture Extension + * + * Specification: + * https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/MSFT_texture_dds + * + */ + function GLTFTextureDDSExtension() { + + if ( ! THREE.DDSLoader ) { + + throw new Error( 'THREE.GLTFLoader: Attempting to load .dds texture without importing THREE.DDSLoader' ); + + } + + this.name = EXTENSIONS.MSFT_TEXTURE_DDS; + this.ddsLoader = new THREE.DDSLoader(); + + } + + /** + * Lights Extension + * + * Specification: PENDING + */ + function GLTFLightsExtension( json ) { + + this.name = EXTENSIONS.KHR_LIGHTS_PUNCTUAL; + + var extension = ( json.extensions && json.extensions[ EXTENSIONS.KHR_LIGHTS_PUNCTUAL ] ) || {}; + this.lightDefs = extension.lights || []; + + } + + GLTFLightsExtension.prototype.loadLight = function ( lightIndex ) { + + var lightDef = this.lightDefs[ lightIndex ]; + var lightNode; + + var color = new THREE.Color( 0xffffff ); + if ( lightDef.color !== undefined ) color.fromArray( lightDef.color ); + + var range = lightDef.range !== undefined ? lightDef.range : 0; + + switch ( lightDef.type ) { + + case 'directional': + lightNode = new THREE.DirectionalLight( color ); + lightNode.target.position.set( 0, 0, -1 ); + lightNode.add( lightNode.target ); + break; + + case 'point': + lightNode = new THREE.PointLight( color ); + lightNode.distance = range; + break; + + case 'spot': + lightNode = new THREE.SpotLight( color ); + lightNode.distance = range; + // Handle spotlight properties. + lightDef.spot = lightDef.spot || {}; + lightDef.spot.innerConeAngle = lightDef.spot.innerConeAngle !== undefined ? lightDef.spot.innerConeAngle : 0; + lightDef.spot.outerConeAngle = lightDef.spot.outerConeAngle !== undefined ? lightDef.spot.outerConeAngle : Math.PI / 4.0; + lightNode.angle = lightDef.spot.outerConeAngle; + lightNode.penumbra = 1.0 - lightDef.spot.innerConeAngle / lightDef.spot.outerConeAngle; + lightNode.target.position.set( 0, 0, -1 ); + lightNode.add( lightNode.target ); + break; + + default: + throw new Error( 'THREE.GLTFLoader: Unexpected light type, "' + lightDef.type + '".' ); + + } + + lightNode.decay = 2; + + if ( lightDef.intensity !== undefined ) lightNode.intensity = lightDef.intensity; + + lightNode.name = lightDef.name || ( 'light_' + lightIndex ); + + return Promise.resolve( lightNode ); + + }; + + /** + * Unlit Materials Extension (pending) + * + * PR: https://github.com/KhronosGroup/glTF/pull/1163 + */ + function GLTFMaterialsUnlitExtension( json ) { + + this.name = EXTENSIONS.KHR_MATERIALS_UNLIT; + + } + + GLTFMaterialsUnlitExtension.prototype.getMaterialType = function ( material ) { + + return THREE.MeshBasicMaterial; + + }; + + GLTFMaterialsUnlitExtension.prototype.extendParams = function ( materialParams, material, parser ) { + + var pending = []; + + materialParams.color = new THREE.Color( 1.0, 1.0, 1.0 ); + materialParams.opacity = 1.0; + + var metallicRoughness = material.pbrMetallicRoughness; + + if ( metallicRoughness ) { + + if ( Array.isArray( metallicRoughness.baseColorFactor ) ) { + + var array = metallicRoughness.baseColorFactor; + + materialParams.color.fromArray( array ); + materialParams.opacity = array[ 3 ]; + + } + + if ( metallicRoughness.baseColorTexture !== undefined ) { + + pending.push( parser.assignTexture( materialParams, 'map', metallicRoughness.baseColorTexture ) ); + + } + + } + + return Promise.all( pending ); + + }; + + /* BINARY EXTENSION */ + + var BINARY_EXTENSION_BUFFER_NAME = 'binary_glTF'; + var BINARY_EXTENSION_HEADER_MAGIC = 'glTF'; + var BINARY_EXTENSION_HEADER_LENGTH = 12; + var BINARY_EXTENSION_CHUNK_TYPES = { JSON: 0x4E4F534A, BIN: 0x004E4942 }; + + function GLTFBinaryExtension( data ) { + + this.name = EXTENSIONS.KHR_BINARY_GLTF; + this.content = null; + this.body = null; + + var headerView = new DataView( data, 0, BINARY_EXTENSION_HEADER_LENGTH ); + + this.header = { + magic: THREE.LoaderUtils.decodeText( new Uint8Array( data.slice( 0, 4 ) ) ), + version: headerView.getUint32( 4, true ), + length: headerView.getUint32( 8, true ) + }; + + if ( this.header.magic !== BINARY_EXTENSION_HEADER_MAGIC ) { + + throw new Error( 'THREE.GLTFLoader: Unsupported glTF-Binary header.' ); + + } else if ( this.header.version < 2.0 ) { + + throw new Error( 'THREE.GLTFLoader: Legacy binary file detected. Use LegacyGLTFLoader instead.' ); + + } + + var chunkView = new DataView( data, BINARY_EXTENSION_HEADER_LENGTH ); + var chunkIndex = 0; + + while ( chunkIndex < chunkView.byteLength ) { + + var chunkLength = chunkView.getUint32( chunkIndex, true ); + chunkIndex += 4; + + var chunkType = chunkView.getUint32( chunkIndex, true ); + chunkIndex += 4; + + if ( chunkType === BINARY_EXTENSION_CHUNK_TYPES.JSON ) { + + var contentArray = new Uint8Array( data, BINARY_EXTENSION_HEADER_LENGTH + chunkIndex, chunkLength ); + this.content = THREE.LoaderUtils.decodeText( contentArray ); + + } else if ( chunkType === BINARY_EXTENSION_CHUNK_TYPES.BIN ) { + + var byteOffset = BINARY_EXTENSION_HEADER_LENGTH + chunkIndex; + this.body = data.slice( byteOffset, byteOffset + chunkLength ); + + } + + // Clients must ignore chunks with unknown types. + + chunkIndex += chunkLength; + + } + + if ( this.content === null ) { + + throw new Error( 'THREE.GLTFLoader: JSON content not found.' ); + + } + + } + + /** + * DRACO Mesh Compression Extension + * + * Specification: https://github.com/KhronosGroup/glTF/pull/874 + */ + function GLTFDracoMeshCompressionExtension( json, dracoLoader ) { + + if ( ! dracoLoader ) { + + throw new Error( 'THREE.GLTFLoader: No DRACOLoader instance provided.' ); + + } + + this.name = EXTENSIONS.KHR_DRACO_MESH_COMPRESSION; + this.json = json; + this.dracoLoader = dracoLoader; + THREE.DRACOLoader.getDecoderModule(); + + } + + GLTFDracoMeshCompressionExtension.prototype.decodePrimitive = function ( primitive, parser ) { + + var json = this.json; + var dracoLoader = this.dracoLoader; + var bufferViewIndex = primitive.extensions[ this.name ].bufferView; + var gltfAttributeMap = primitive.extensions[ this.name ].attributes; + var threeAttributeMap = {}; + var attributeNormalizedMap = {}; + var attributeTypeMap = {}; + + for ( var attributeName in gltfAttributeMap ) { + + if ( ! ( attributeName in ATTRIBUTES ) ) continue; + + threeAttributeMap[ ATTRIBUTES[ attributeName ] ] = gltfAttributeMap[ attributeName ]; + + } + + for ( attributeName in primitive.attributes ) { + + if ( ATTRIBUTES[ attributeName ] !== undefined && gltfAttributeMap[ attributeName ] !== undefined ) { + + var accessorDef = json.accessors[ primitive.attributes[ attributeName ] ]; + var componentType = WEBGL_COMPONENT_TYPES[ accessorDef.componentType ]; + + attributeTypeMap[ ATTRIBUTES[ attributeName ] ] = componentType; + attributeNormalizedMap[ ATTRIBUTES[ attributeName ] ] = accessorDef.normalized === true; + + } + + } + + return parser.getDependency( 'bufferView', bufferViewIndex ).then( function ( bufferView ) { + + return new Promise( function ( resolve ) { + + dracoLoader.decodeDracoFile( bufferView, function ( geometry ) { + + for ( var attributeName in geometry.attributes ) { + + var attribute = geometry.attributes[ attributeName ]; + var normalized = attributeNormalizedMap[ attributeName ]; + + if ( normalized !== undefined ) attribute.normalized = normalized; + + } + + resolve( geometry ); + + }, threeAttributeMap, attributeTypeMap ); + + } ); + + } ); + + }; + + /** + * Texture Transform Extension + * + * Specification: + */ + function GLTFTextureTransformExtension( json ) { + + this.name = EXTENSIONS.KHR_TEXTURE_TRANSFORM; + + } + + GLTFTextureTransformExtension.prototype.extendTexture = function ( texture, transform ) { + + texture = texture.clone(); + + if ( transform.offset !== undefined ) { + + texture.offset.fromArray( transform.offset ); + + } + + if ( transform.rotation !== undefined ) { + + texture.rotation = transform.rotation; + + } + + if ( transform.scale !== undefined ) { + + texture.repeat.fromArray( transform.scale ); + + } + + if ( transform.texCoord !== undefined ) { + + console.warn( 'THREE.GLTFLoader: Custom UV sets in "' + this.name + '" extension not yet supported.' ); + + } + + texture.needsUpdate = true; + + return texture; + + }; + + /** + * Specular-Glossiness Extension + * + * Specification: https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Khronos/KHR_materials_pbrSpecularGlossiness + */ + function GLTFMaterialsPbrSpecularGlossinessExtension() { + + return { + + name: EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS, + + specularGlossinessParams: [ + 'color', + 'map', + 'lightMap', + 'lightMapIntensity', + 'aoMap', + 'aoMapIntensity', + 'emissive', + 'emissiveIntensity', + 'emissiveMap', + 'bumpMap', + 'bumpScale', + 'normalMap', + 'displacementMap', + 'displacementScale', + 'displacementBias', + 'specularMap', + 'specular', + 'glossinessMap', + 'glossiness', + 'alphaMap', + 'envMap', + 'envMapIntensity', + 'refractionRatio', + ], + + getMaterialType: function () { + + return THREE.ShaderMaterial; + + }, + + extendParams: function ( params, material, parser ) { + + var pbrSpecularGlossiness = material.extensions[ this.name ]; + + var shader = THREE.ShaderLib[ 'standard' ]; + + var uniforms = THREE.UniformsUtils.clone( shader.uniforms ); + + var specularMapParsFragmentChunk = [ + '#ifdef USE_SPECULARMAP', + ' uniform sampler2D specularMap;', + '#endif' + ].join( '\n' ); + + var glossinessMapParsFragmentChunk = [ + '#ifdef USE_GLOSSINESSMAP', + ' uniform sampler2D glossinessMap;', + '#endif' + ].join( '\n' ); + + var specularMapFragmentChunk = [ + 'vec3 specularFactor = specular;', + '#ifdef USE_SPECULARMAP', + ' vec4 texelSpecular = texture2D( specularMap, vUv );', + ' texelSpecular = sRGBToLinear( texelSpecular );', + ' // reads channel RGB, compatible with a glTF Specular-Glossiness (RGBA) texture', + ' specularFactor *= texelSpecular.rgb;', + '#endif' + ].join( '\n' ); + + var glossinessMapFragmentChunk = [ + 'float glossinessFactor = glossiness;', + '#ifdef USE_GLOSSINESSMAP', + ' vec4 texelGlossiness = texture2D( glossinessMap, vUv );', + ' // reads channel A, compatible with a glTF Specular-Glossiness (RGBA) texture', + ' glossinessFactor *= texelGlossiness.a;', + '#endif' + ].join( '\n' ); + + var lightPhysicalFragmentChunk = [ + 'PhysicalMaterial material;', + 'material.diffuseColor = diffuseColor.rgb;', + 'material.specularRoughness = clamp( 1.0 - glossinessFactor, 0.04, 1.0 );', + 'material.specularColor = specularFactor.rgb;', + ].join( '\n' ); + + var fragmentShader = shader.fragmentShader + .replace( 'uniform float roughness;', 'uniform vec3 specular;' ) + .replace( 'uniform float metalness;', 'uniform float glossiness;' ) + .replace( '#include ', specularMapParsFragmentChunk ) + .replace( '#include ', glossinessMapParsFragmentChunk ) + .replace( '#include ', specularMapFragmentChunk ) + .replace( '#include ', glossinessMapFragmentChunk ) + .replace( '#include ', lightPhysicalFragmentChunk ); + + delete uniforms.roughness; + delete uniforms.metalness; + delete uniforms.roughnessMap; + delete uniforms.metalnessMap; + + uniforms.specular = { value: new THREE.Color().setHex( 0x111111 ) }; + uniforms.glossiness = { value: 0.5 }; + uniforms.specularMap = { value: null }; + uniforms.glossinessMap = { value: null }; + + params.vertexShader = shader.vertexShader; + params.fragmentShader = fragmentShader; + params.uniforms = uniforms; + params.defines = { 'STANDARD': '' }; + + params.color = new THREE.Color( 1.0, 1.0, 1.0 ); + params.opacity = 1.0; + + var pending = []; + + if ( Array.isArray( pbrSpecularGlossiness.diffuseFactor ) ) { + + var array = pbrSpecularGlossiness.diffuseFactor; + + params.color.fromArray( array ); + params.opacity = array[ 3 ]; + + } + + if ( pbrSpecularGlossiness.diffuseTexture !== undefined ) { + + pending.push( parser.assignTexture( params, 'map', pbrSpecularGlossiness.diffuseTexture ) ); + + } + + params.emissive = new THREE.Color( 0.0, 0.0, 0.0 ); + params.glossiness = pbrSpecularGlossiness.glossinessFactor !== undefined ? pbrSpecularGlossiness.glossinessFactor : 1.0; + params.specular = new THREE.Color( 1.0, 1.0, 1.0 ); + + if ( Array.isArray( pbrSpecularGlossiness.specularFactor ) ) { + + params.specular.fromArray( pbrSpecularGlossiness.specularFactor ); + + } + + if ( pbrSpecularGlossiness.specularGlossinessTexture !== undefined ) { + + var specGlossMapDef = pbrSpecularGlossiness.specularGlossinessTexture; + pending.push( parser.assignTexture( params, 'glossinessMap', specGlossMapDef ) ); + pending.push( parser.assignTexture( params, 'specularMap', specGlossMapDef ) ); + + } + + return Promise.all( pending ); + + }, + + createMaterial: function ( params ) { + + // setup material properties based on MeshStandardMaterial for Specular-Glossiness + + var material = new THREE.ShaderMaterial( { + defines: params.defines, + vertexShader: params.vertexShader, + fragmentShader: params.fragmentShader, + uniforms: params.uniforms, + fog: true, + lights: true, + opacity: params.opacity, + transparent: params.transparent + } ); + + material.isGLTFSpecularGlossinessMaterial = true; + + material.color = params.color; + + material.map = params.map === undefined ? null : params.map; + + material.lightMap = null; + material.lightMapIntensity = 1.0; + + material.aoMap = params.aoMap === undefined ? null : params.aoMap; + material.aoMapIntensity = 1.0; + + material.emissive = params.emissive; + material.emissiveIntensity = 1.0; + material.emissiveMap = params.emissiveMap === undefined ? null : params.emissiveMap; + + material.bumpMap = params.bumpMap === undefined ? null : params.bumpMap; + material.bumpScale = 1; + + material.normalMap = params.normalMap === undefined ? null : params.normalMap; + if ( params.normalScale ) material.normalScale = params.normalScale; + + material.displacementMap = null; + material.displacementScale = 1; + material.displacementBias = 0; + + material.specularMap = params.specularMap === undefined ? null : params.specularMap; + material.specular = params.specular; + + material.glossinessMap = params.glossinessMap === undefined ? null : params.glossinessMap; + material.glossiness = params.glossiness; + + material.alphaMap = null; + + material.envMap = params.envMap === undefined ? null : params.envMap; + material.envMapIntensity = 1.0; + + material.refractionRatio = 0.98; + + material.extensions.derivatives = true; + + return material; + + }, + + /** + * Clones a GLTFSpecularGlossinessMaterial instance. The ShaderMaterial.copy() method can + * copy only properties it knows about or inherits, and misses many properties that would + * normally be defined by MeshStandardMaterial. + * + * This method allows GLTFSpecularGlossinessMaterials to be cloned in the process of + * loading a glTF model, but cloning later (e.g. by the user) would require these changes + * AND also updating `.onBeforeRender` on the parent mesh. + * + * @param {THREE.ShaderMaterial} source + * @return {THREE.ShaderMaterial} + */ + cloneMaterial: function ( source ) { + + var target = source.clone(); + + target.isGLTFSpecularGlossinessMaterial = true; + + var params = this.specularGlossinessParams; + + for ( var i = 0, il = params.length; i < il; i ++ ) { + + target[ params[ i ] ] = source[ params[ i ] ]; + + } + + return target; + + }, + + // Here's based on refreshUniformsCommon() and refreshUniformsStandard() in WebGLRenderer. + refreshUniforms: function ( renderer, scene, camera, geometry, material, group ) { + + if ( material.isGLTFSpecularGlossinessMaterial !== true ) { + + return; + + } + + var uniforms = material.uniforms; + var defines = material.defines; + + uniforms.opacity.value = material.opacity; + + uniforms.diffuse.value.copy( material.color ); + uniforms.emissive.value.copy( material.emissive ).multiplyScalar( material.emissiveIntensity ); + + uniforms.map.value = material.map; + uniforms.specularMap.value = material.specularMap; + uniforms.alphaMap.value = material.alphaMap; + + uniforms.lightMap.value = material.lightMap; + uniforms.lightMapIntensity.value = material.lightMapIntensity; + + uniforms.aoMap.value = material.aoMap; + uniforms.aoMapIntensity.value = material.aoMapIntensity; + + // uv repeat and offset setting priorities + // 1. color map + // 2. specular map + // 3. normal map + // 4. bump map + // 5. alpha map + // 6. emissive map + + var uvScaleMap; + + if ( material.map ) { + + uvScaleMap = material.map; + + } else if ( material.specularMap ) { + + uvScaleMap = material.specularMap; + + } else if ( material.displacementMap ) { + + uvScaleMap = material.displacementMap; + + } else if ( material.normalMap ) { + + uvScaleMap = material.normalMap; + + } else if ( material.bumpMap ) { + + uvScaleMap = material.bumpMap; + + } else if ( material.glossinessMap ) { + + uvScaleMap = material.glossinessMap; + + } else if ( material.alphaMap ) { + + uvScaleMap = material.alphaMap; + + } else if ( material.emissiveMap ) { + + uvScaleMap = material.emissiveMap; + + } + + if ( uvScaleMap !== undefined ) { + + // backwards compatibility + if ( uvScaleMap.isWebGLRenderTarget ) { + + uvScaleMap = uvScaleMap.texture; + + } + + if ( uvScaleMap.matrixAutoUpdate === true ) { + + uvScaleMap.updateMatrix(); + + } + + uniforms.uvTransform.value.copy( uvScaleMap.matrix ); + + } + + if ( material.envMap ) { + + uniforms.envMap.value = material.envMap; + uniforms.envMapIntensity.value = material.envMapIntensity; + + // don't flip CubeTexture envMaps, flip everything else: + // WebGLRenderTargetCube will be flipped for backwards compatibility + // WebGLRenderTargetCube.texture will be flipped because it's a Texture and NOT a CubeTexture + // this check must be handled differently, or removed entirely, if WebGLRenderTargetCube uses a CubeTexture in the future + uniforms.flipEnvMap.value = material.envMap.isCubeTexture ? - 1 : 1; + + uniforms.reflectivity.value = material.reflectivity; + uniforms.refractionRatio.value = material.refractionRatio; + + uniforms.maxMipLevel.value = renderer.properties.get( material.envMap ).__maxMipLevel; + } + + uniforms.specular.value.copy( material.specular ); + uniforms.glossiness.value = material.glossiness; + + uniforms.glossinessMap.value = material.glossinessMap; + + uniforms.emissiveMap.value = material.emissiveMap; + uniforms.bumpMap.value = material.bumpMap; + uniforms.normalMap.value = material.normalMap; + + uniforms.displacementMap.value = material.displacementMap; + uniforms.displacementScale.value = material.displacementScale; + uniforms.displacementBias.value = material.displacementBias; + + if ( uniforms.glossinessMap.value !== null && defines.USE_GLOSSINESSMAP === undefined ) { + + defines.USE_GLOSSINESSMAP = ''; + // set USE_ROUGHNESSMAP to enable vUv + defines.USE_ROUGHNESSMAP = ''; + + } + + if ( uniforms.glossinessMap.value === null && defines.USE_GLOSSINESSMAP !== undefined ) { + + delete defines.USE_GLOSSINESSMAP; + delete defines.USE_ROUGHNESSMAP; + + } + + } + + }; + + } + + /*********************************/ + /********** INTERPOLATION ********/ + /*********************************/ + + // Spline Interpolation + // Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#appendix-c-spline-interpolation + function GLTFCubicSplineInterpolant( parameterPositions, sampleValues, sampleSize, resultBuffer ) { + + THREE.Interpolant.call( this, parameterPositions, sampleValues, sampleSize, resultBuffer ); + + } + + GLTFCubicSplineInterpolant.prototype = Object.create( THREE.Interpolant.prototype ); + GLTFCubicSplineInterpolant.prototype.constructor = GLTFCubicSplineInterpolant; + + GLTFCubicSplineInterpolant.prototype.copySampleValue_ = function ( index ) { + + // Copies a sample value to the result buffer. See description of glTF + // CUBICSPLINE values layout in interpolate_() function below. + + var result = this.resultBuffer, + values = this.sampleValues, + valueSize = this.valueSize, + offset = index * valueSize * 3 + valueSize; + + for ( var i = 0; i !== valueSize; i ++ ) { + + result[ i ] = values[ offset + i ]; + + } + + return result; + + }; + + GLTFCubicSplineInterpolant.prototype.beforeStart_ = GLTFCubicSplineInterpolant.prototype.copySampleValue_; + + GLTFCubicSplineInterpolant.prototype.afterEnd_ = GLTFCubicSplineInterpolant.prototype.copySampleValue_; + + GLTFCubicSplineInterpolant.prototype.interpolate_ = function ( i1, t0, t, t1 ) { + + var result = this.resultBuffer; + var values = this.sampleValues; + var stride = this.valueSize; + + var stride2 = stride * 2; + var stride3 = stride * 3; + + var td = t1 - t0; + + var p = ( t - t0 ) / td; + var pp = p * p; + var ppp = pp * p; + + var offset1 = i1 * stride3; + var offset0 = offset1 - stride3; + + var s2 = - 2 * ppp + 3 * pp; + var s3 = ppp - pp; + var s0 = 1 - s2; + var s1 = s3 - pp + p; + + // Layout of keyframe output values for CUBICSPLINE animations: + // [ inTangent_1, splineVertex_1, outTangent_1, inTangent_2, splineVertex_2, ... ] + for ( var i = 0; i !== stride; i ++ ) { + + var p0 = values[ offset0 + i + stride ]; // splineVertex_k + var m0 = values[ offset0 + i + stride2 ] * td; // outTangent_k * (t_k+1 - t_k) + var p1 = values[ offset1 + i + stride ]; // splineVertex_k+1 + var m1 = values[ offset1 + i ] * td; // inTangent_k+1 * (t_k+1 - t_k) + + result[ i ] = s0 * p0 + s1 * m0 + s2 * p1 + s3 * m1; + + } + + return result; + + }; + + /*********************************/ + /********** INTERNALS ************/ + /*********************************/ + + /* CONSTANTS */ + + var WEBGL_CONSTANTS = { + FLOAT: 5126, + //FLOAT_MAT2: 35674, + FLOAT_MAT3: 35675, + FLOAT_MAT4: 35676, + FLOAT_VEC2: 35664, + FLOAT_VEC3: 35665, + FLOAT_VEC4: 35666, + LINEAR: 9729, + REPEAT: 10497, + SAMPLER_2D: 35678, + POINTS: 0, + LINES: 1, + LINE_LOOP: 2, + LINE_STRIP: 3, + TRIANGLES: 4, + TRIANGLE_STRIP: 5, + TRIANGLE_FAN: 6, + UNSIGNED_BYTE: 5121, + UNSIGNED_SHORT: 5123 + }; + + var WEBGL_TYPE = { + 5126: Number, + //35674: THREE.Matrix2, + 35675: THREE.Matrix3, + 35676: THREE.Matrix4, + 35664: THREE.Vector2, + 35665: THREE.Vector3, + 35666: THREE.Vector4, + 35678: THREE.Texture + }; + + var WEBGL_COMPONENT_TYPES = { + 5120: Int8Array, + 5121: Uint8Array, + 5122: Int16Array, + 5123: Uint16Array, + 5125: Uint32Array, + 5126: Float32Array + }; + + var WEBGL_FILTERS = { + 9728: THREE.NearestFilter, + 9729: THREE.LinearFilter, + 9984: THREE.NearestMipMapNearestFilter, + 9985: THREE.LinearMipMapNearestFilter, + 9986: THREE.NearestMipMapLinearFilter, + 9987: THREE.LinearMipMapLinearFilter + }; + + var WEBGL_WRAPPINGS = { + 33071: THREE.ClampToEdgeWrapping, + 33648: THREE.MirroredRepeatWrapping, + 10497: THREE.RepeatWrapping + }; + + var WEBGL_SIDES = { + 1028: THREE.BackSide, // Culling front + 1029: THREE.FrontSide // Culling back + //1032: THREE.NoSide // Culling front and back, what to do? + }; + + var WEBGL_DEPTH_FUNCS = { + 512: THREE.NeverDepth, + 513: THREE.LessDepth, + 514: THREE.EqualDepth, + 515: THREE.LessEqualDepth, + 516: THREE.GreaterEqualDepth, + 517: THREE.NotEqualDepth, + 518: THREE.GreaterEqualDepth, + 519: THREE.AlwaysDepth + }; + + var WEBGL_BLEND_EQUATIONS = { + 32774: THREE.AddEquation, + 32778: THREE.SubtractEquation, + 32779: THREE.ReverseSubtractEquation + }; + + var WEBGL_BLEND_FUNCS = { + 0: THREE.ZeroFactor, + 1: THREE.OneFactor, + 768: THREE.SrcColorFactor, + 769: THREE.OneMinusSrcColorFactor, + 770: THREE.SrcAlphaFactor, + 771: THREE.OneMinusSrcAlphaFactor, + 772: THREE.DstAlphaFactor, + 773: THREE.OneMinusDstAlphaFactor, + 774: THREE.DstColorFactor, + 775: THREE.OneMinusDstColorFactor, + 776: THREE.SrcAlphaSaturateFactor + // The followings are not supported by Three.js yet + //32769: CONSTANT_COLOR, + //32770: ONE_MINUS_CONSTANT_COLOR, + //32771: CONSTANT_ALPHA, + //32772: ONE_MINUS_CONSTANT_COLOR + }; + + var WEBGL_TYPE_SIZES = { + 'SCALAR': 1, + 'VEC2': 2, + 'VEC3': 3, + 'VEC4': 4, + 'MAT2': 4, + 'MAT3': 9, + 'MAT4': 16 + }; + + var ATTRIBUTES = { + POSITION: 'position', + NORMAL: 'normal', + TEXCOORD_0: 'uv', + TEXCOORD_1: 'uv2', + COLOR_0: 'color', + WEIGHTS_0: 'skinWeight', + JOINTS_0: 'skinIndex', + }; + + var PATH_PROPERTIES = { + scale: 'scale', + translation: 'position', + rotation: 'quaternion', + weights: 'morphTargetInfluences' + }; + + var INTERPOLATION = { + CUBICSPLINE: THREE.InterpolateSmooth, // We use custom interpolation GLTFCubicSplineInterpolation for CUBICSPLINE. + // KeyframeTrack.optimize() can't handle glTF Cubic Spline output values layout, + // using THREE.InterpolateSmooth for KeyframeTrack instantiation to prevent optimization. + // See KeyframeTrack.optimize() for the detail. + LINEAR: THREE.InterpolateLinear, + STEP: THREE.InterpolateDiscrete + }; + + var STATES_ENABLES = { + 2884: 'CULL_FACE', + 2929: 'DEPTH_TEST', + 3042: 'BLEND', + 3089: 'SCISSOR_TEST', + 32823: 'POLYGON_OFFSET_FILL', + 32926: 'SAMPLE_ALPHA_TO_COVERAGE' + }; + + var ALPHA_MODES = { + OPAQUE: 'OPAQUE', + MASK: 'MASK', + BLEND: 'BLEND' + }; + + var MIME_TYPE_FORMATS = { + 'image/png': THREE.RGBAFormat, + 'image/jpeg': THREE.RGBFormat + }; + + /* UTILITY FUNCTIONS */ + + function resolveURL( url, path ) { + + // Invalid URL + if ( typeof url !== 'string' || url === '' ) return ''; + + // Absolute URL http://,https://,// + if ( /^(https?:)?\/\//i.test( url ) ) return url; + + // Data URI + if ( /^data:.*,.*$/i.test( url ) ) return url; + + // Blob URL + if ( /^blob:.*$/i.test( url ) ) return url; + + // Relative URL + return path + url; + + } + + /** + * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#default-material + */ + function createDefaultMaterial() { + + return new THREE.MeshStandardMaterial( { + color: 0xFFFFFF, + emissive: 0x000000, + metalness: 1, + roughness: 1, + transparent: false, + depthTest: true, + side: THREE.FrontSide + } ); + + } + + function addUnknownExtensionsToUserData( knownExtensions, object, objectDef ) { + + // Add unknown glTF extensions to an object's userData. + + for ( var name in objectDef.extensions ) { + + if ( knownExtensions[ name ] === undefined ) { + + object.userData.gltfExtensions = object.userData.gltfExtensions || {}; + object.userData.gltfExtensions[ name ] = objectDef.extensions[ name ]; + + } + + } + + } + + /** + * @param {THREE.Object3D|THREE.Material|THREE.BufferGeometry} object + * @param {GLTF.definition} gltfDef + */ + function assignExtrasToUserData( object, gltfDef ) { + + if ( gltfDef.extras !== undefined ) { + + if ( typeof gltfDef.extras === 'object' ) { + + object.userData = gltfDef.extras; + + } else { + + console.warn( 'THREE.GLTFLoader: Ignoring primitive type .extras, ' + gltfDef.extras ); + + } + + } + + } + + /** + * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#morph-targets + * + * @param {THREE.BufferGeometry} geometry + * @param {Array} targets + * @param {GLTFParser} parser + * @return {Promise} + */ + function addMorphTargets( geometry, targets, parser ) { + + var hasMorphPosition = false; + var hasMorphNormal = false; + + for ( var i = 0, il = targets.length; i < il; i ++ ) { + + var target = targets[ i ]; + + if ( target.POSITION !== undefined ) hasMorphPosition = true; + if ( target.NORMAL !== undefined ) hasMorphNormal = true; + + if ( hasMorphPosition && hasMorphNormal ) break; + + } + + if ( ! hasMorphPosition && ! hasMorphNormal ) return Promise.resolve( geometry ); + + var pendingPositionAccessors = []; + var pendingNormalAccessors = []; + + for ( var i = 0, il = targets.length; i < il; i ++ ) { + + var target = targets[ i ]; + + if ( hasMorphPosition ) { + + // TODO: Error-prone use of a callback inside a loop. + var accessor = target.POSITION !== undefined + ? parser.getDependency( 'accessor', target.POSITION ) + .then( function ( accessor ) { + // Cloning not to pollute original accessor below + return cloneBufferAttribute( accessor ); + } ) + : geometry.attributes.position; + + pendingPositionAccessors.push( accessor ); + + } + + if ( hasMorphNormal ) { + + // TODO: Error-prone use of a callback inside a loop. + var accessor = target.NORMAL !== undefined + ? parser.getDependency( 'accessor', target.NORMAL ) + .then( function ( accessor ) { + return cloneBufferAttribute( accessor ); + } ) + : geometry.attributes.normal; + + pendingNormalAccessors.push( accessor ); + + } + + } + + return Promise.all( [ + Promise.all( pendingPositionAccessors ), + Promise.all( pendingNormalAccessors ) + ] ).then( function ( accessors ) { + + var morphPositions = accessors[ 0 ]; + var morphNormals = accessors[ 1 ]; + + for ( var i = 0, il = targets.length; i < il; i ++ ) { + + var target = targets[ i ]; + var attributeName = 'morphTarget' + i; + + if ( hasMorphPosition ) { + + // Three.js morph position is absolute value. The formula is + // basePosition + // + weight0 * ( morphPosition0 - basePosition ) + // + weight1 * ( morphPosition1 - basePosition ) + // ... + // while the glTF one is relative + // basePosition + // + weight0 * glTFmorphPosition0 + // + weight1 * glTFmorphPosition1 + // ... + // then we need to convert from relative to absolute here. + + if ( target.POSITION !== undefined ) { + + var positionAttribute = morphPositions[ i ]; + positionAttribute.name = attributeName; + + var position = geometry.attributes.position; + + for ( var j = 0, jl = positionAttribute.count; j < jl; j ++ ) { + + positionAttribute.setXYZ( + j, + positionAttribute.getX( j ) + position.getX( j ), + positionAttribute.getY( j ) + position.getY( j ), + positionAttribute.getZ( j ) + position.getZ( j ) + ); + + } + + } + + } + + if ( hasMorphNormal ) { + + // see target.POSITION's comment + + if ( target.NORMAL !== undefined ) { + + var normalAttribute = morphNormals[ i ]; + normalAttribute.name = attributeName; + + var normal = geometry.attributes.normal; + + for ( var j = 0, jl = normalAttribute.count; j < jl; j ++ ) { + + normalAttribute.setXYZ( + j, + normalAttribute.getX( j ) + normal.getX( j ), + normalAttribute.getY( j ) + normal.getY( j ), + normalAttribute.getZ( j ) + normal.getZ( j ) + ); + + } + + } + + } + + } + + if ( hasMorphPosition ) geometry.morphAttributes.position = morphPositions; + if ( hasMorphNormal ) geometry.morphAttributes.normal = morphNormals; + + return geometry; + + } ); + + } + + /** + * @param {THREE.Mesh} mesh + * @param {GLTF.Mesh} meshDef + */ + function updateMorphTargets( mesh, meshDef ) { + + mesh.updateMorphTargets(); + + if ( meshDef.weights !== undefined ) { + + for ( var i = 0, il = meshDef.weights.length; i < il; i ++ ) { + + mesh.morphTargetInfluences[ i ] = meshDef.weights[ i ]; + + } + + } + + // .extras has user-defined data, so check that .extras.targetNames is an array. + if ( meshDef.extras && Array.isArray( meshDef.extras.targetNames ) ) { + + var targetNames = meshDef.extras.targetNames; + + if ( mesh.morphTargetInfluences.length === targetNames.length ) { + + mesh.morphTargetDictionary = {}; + + for ( var i = 0, il = targetNames.length; i < il; i ++ ) { + + mesh.morphTargetDictionary[ targetNames[ i ] ] = i; + + } + + } else { + + console.warn( 'THREE.GLTFLoader: Invalid extras.targetNames length. Ignoring names.' ); + + } + + } + + } + + function isPrimitiveEqual( a, b ) { + + var dracoExtA = a.extensions ? a.extensions[ EXTENSIONS.KHR_DRACO_MESH_COMPRESSION ] : undefined; + var dracoExtB = b.extensions ? b.extensions[ EXTENSIONS.KHR_DRACO_MESH_COMPRESSION ] : undefined; + + if ( dracoExtA && dracoExtB ) { + + if ( dracoExtA.bufferView !== dracoExtB.bufferView ) return false; + + return isObjectEqual( dracoExtA.attributes, dracoExtB.attributes ); + + } + + if ( a.indices !== b.indices ) { + + return false; + + } + + return isObjectEqual( a.attributes, b.attributes ); + + } + + function isObjectEqual( a, b ) { + + if ( Object.keys( a ).length !== Object.keys( b ).length ) return false; + + for ( var key in a ) { + + if ( a[ key ] !== b[ key ] ) return false; + + } + + return true; + + } + + function isArrayEqual( a, b ) { + + if ( a.length !== b.length ) return false; + + for ( var i = 0, il = a.length; i < il; i ++ ) { + + if ( a[ i ] !== b[ i ] ) return false; + + } + + return true; + + } + + function getCachedGeometry( cache, newPrimitive ) { + + for ( var i = 0, il = cache.length; i < il; i ++ ) { + + var cached = cache[ i ]; + + if ( isPrimitiveEqual( cached.primitive, newPrimitive ) ) return cached.promise; + + } + + return null; + + } + + function getCachedCombinedGeometry( cache, geometries ) { + + for ( var i = 0, il = cache.length; i < il; i ++ ) { + + var cached = cache[ i ]; + + if ( isArrayEqual( geometries, cached.baseGeometries ) ) return cached.geometry; + + } + + return null; + + } + + function getCachedMultiPassGeometry( cache, geometry, primitives ) { + + for ( var i = 0, il = cache.length; i < il; i ++ ) { + + var cached = cache[ i ]; + + if ( geometry === cached.baseGeometry && isArrayEqual( primitives, cached.primitives ) ) return cached.geometry; + + } + + return null; + + } + + function cloneBufferAttribute( attribute ) { + + if ( attribute.isInterleavedBufferAttribute ) { + + var count = attribute.count; + var itemSize = attribute.itemSize; + var array = attribute.array.slice( 0, count * itemSize ); + + for ( var i = 0, j = 0; i < count; ++ i ) { + + array[ j ++ ] = attribute.getX( i ); + if ( itemSize >= 2 ) array[ j ++ ] = attribute.getY( i ); + if ( itemSize >= 3 ) array[ j ++ ] = attribute.getZ( i ); + if ( itemSize >= 4 ) array[ j ++ ] = attribute.getW( i ); + + } + + return new THREE.BufferAttribute( array, itemSize, attribute.normalized ); + + } + + return attribute.clone(); + + } + + /** + * Checks if we can build a single Mesh with MultiMaterial from multiple primitives. + * Returns true if all primitives use the same attributes/morphAttributes/mode + * and also have index. Otherwise returns false. + * + * @param {Array} primitives + * @return {Boolean} + */ + function isMultiPassGeometry( primitives ) { + + if ( primitives.length < 2 ) return false; + + var primitive0 = primitives[ 0 ]; + var targets0 = primitive0.targets || []; + + if ( primitive0.indices === undefined ) return false; + + for ( var i = 1, il = primitives.length; i < il; i ++ ) { + + var primitive = primitives[ i ]; + + if ( primitive0.mode !== primitive.mode ) return false; + if ( primitive.indices === undefined ) return false; + if ( primitive.extensions && primitive.extensions[ EXTENSIONS.KHR_DRACO_MESH_COMPRESSION ] ) return false; + if ( ! isObjectEqual( primitive0.attributes, primitive.attributes ) ) return false; + + var targets = primitive.targets || []; + + if ( targets0.length !== targets.length ) return false; + + for ( var j = 0, jl = targets0.length; j < jl; j ++ ) { + + if ( ! isObjectEqual( targets0[ j ], targets[ j ] ) ) return false; + + } + + } + + return true; + + } + + /* GLTF PARSER */ + + function GLTFParser( json, extensions, options ) { + + this.json = json || {}; + this.extensions = extensions || {}; + this.options = options || {}; + + // loader object cache + this.cache = new GLTFRegistry(); + + // BufferGeometry caching + this.primitiveCache = []; + this.multiplePrimitivesCache = []; + this.multiPassGeometryCache = []; + + this.textureLoader = new THREE.TextureLoader( this.options.manager ); + this.textureLoader.setCrossOrigin( this.options.crossOrigin ); + + this.fileLoader = new THREE.FileLoader( this.options.manager ); + this.fileLoader.setResponseType( 'arraybuffer' ); + + } + + GLTFParser.prototype.parse = function ( onLoad, onError ) { + + var json = this.json; + + // Clear the loader cache + this.cache.removeAll(); + + // Mark the special nodes/meshes in json for efficient parse + this.markDefs(); + + // Fire the callback on complete + this.getMultiDependencies( [ + + 'scene', + 'animation', + 'camera' + + ] ).then( function ( dependencies ) { + + var scenes = dependencies.scenes || []; + var scene = scenes[ json.scene || 0 ]; + var animations = dependencies.animations || []; + var cameras = dependencies.cameras || []; + + onLoad( scene, scenes, cameras, animations, json ); + + } ).catch( onError ); + + }; + + /** + * Marks the special nodes/meshes in json for efficient parse. + */ + GLTFParser.prototype.markDefs = function () { + + var nodeDefs = this.json.nodes || []; + var skinDefs = this.json.skins || []; + var meshDefs = this.json.meshes || []; + + var meshReferences = {}; + var meshUses = {}; + + // Nothing in the node definition indicates whether it is a Bone or an + // Object3D. Use the skins' joint references to mark bones. + for ( var skinIndex = 0, skinLength = skinDefs.length; skinIndex < skinLength; skinIndex ++ ) { + + var joints = skinDefs[ skinIndex ].joints; + + for ( var i = 0, il = joints.length; i < il; i ++ ) { + + nodeDefs[ joints[ i ] ].isBone = true; + + } + + } + + // Meshes can (and should) be reused by multiple nodes in a glTF asset. To + // avoid having more than one THREE.Mesh with the same name, count + // references and rename instances below. + // + // Example: CesiumMilkTruck sample model reuses "Wheel" meshes. + for ( var nodeIndex = 0, nodeLength = nodeDefs.length; nodeIndex < nodeLength; nodeIndex ++ ) { + + var nodeDef = nodeDefs[ nodeIndex ]; + + if ( nodeDef.mesh !== undefined ) { + + if ( meshReferences[ nodeDef.mesh ] === undefined ) { + + meshReferences[ nodeDef.mesh ] = meshUses[ nodeDef.mesh ] = 0; + + } + + meshReferences[ nodeDef.mesh ] ++; + + // Nothing in the mesh definition indicates whether it is + // a SkinnedMesh or Mesh. Use the node's mesh reference + // to mark SkinnedMesh if node has skin. + if ( nodeDef.skin !== undefined ) { + + meshDefs[ nodeDef.mesh ].isSkinnedMesh = true; + + } + + } + + } + + this.json.meshReferences = meshReferences; + this.json.meshUses = meshUses; + + }; + + /** + * Requests the specified dependency asynchronously, with caching. + * @param {string} type + * @param {number} index + * @return {Promise} + */ + GLTFParser.prototype.getDependency = function ( type, index ) { + + var cacheKey = type + ':' + index; + var dependency = this.cache.get( cacheKey ); + + if ( ! dependency ) { + + switch ( type ) { + + case 'scene': + dependency = this.loadScene( index ); + break; + + case 'node': + dependency = this.loadNode( index ); + break; + + case 'mesh': + dependency = this.loadMesh( index ); + break; + + case 'accessor': + dependency = this.loadAccessor( index ); + break; + + case 'bufferView': + dependency = this.loadBufferView( index ); + break; + + case 'buffer': + dependency = this.loadBuffer( index ); + break; + + case 'material': + dependency = this.loadMaterial( index ); + break; + + case 'texture': + dependency = this.loadTexture( index ); + break; + + case 'skin': + dependency = this.loadSkin( index ); + break; + + case 'animation': + dependency = this.loadAnimation( index ); + break; + + case 'camera': + dependency = this.loadCamera( index ); + break; + + case 'light': + dependency = this.extensions[ EXTENSIONS.KHR_LIGHTS_PUNCTUAL ].loadLight( index ); + break + + default: + throw new Error( 'Unknown type: ' + type ); + + } + + this.cache.add( cacheKey, dependency ); + + } + + return dependency; + + }; + + /** + * Requests all dependencies of the specified type asynchronously, with caching. + * @param {string} type + * @return {Promise>} + */ + GLTFParser.prototype.getDependencies = function ( type ) { + + var dependencies = this.cache.get( type ); + + if ( ! dependencies ) { + + var parser = this; + var defs = this.json[ type + ( type === 'mesh' ? 'es' : 's' ) ] || []; + + dependencies = Promise.all( defs.map( function ( def, index ) { + + return parser.getDependency( type, index ); + + } ) ); + + this.cache.add( type, dependencies ); + + } + + return dependencies; + + }; + + /** + * Requests all multiple dependencies of the specified types asynchronously, with caching. + * @param {Array} types + * @return {Promise>>} + */ + GLTFParser.prototype.getMultiDependencies = function ( types ) { + + var results = {}; + var pending = []; + + for ( var i = 0, il = types.length; i < il; i ++ ) { + + var type = types[ i ]; + var value = this.getDependencies( type ); + + // TODO: Error-prone use of a callback inside a loop. + value = value.then( function ( key, value ) { + + results[ key ] = value; + + }.bind( this, type + ( type === 'mesh' ? 'es' : 's' ) ) ); + + pending.push( value ); + + } + + return Promise.all( pending ).then( function () { + + return results; + + } ); + + }; + + /** + * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#buffers-and-buffer-views + * @param {number} bufferIndex + * @return {Promise} + */ + GLTFParser.prototype.loadBuffer = function ( bufferIndex ) { + + var bufferDef = this.json.buffers[ bufferIndex ]; + var loader = this.fileLoader; + + if ( bufferDef.type && bufferDef.type !== 'arraybuffer' ) { + + throw new Error( 'THREE.GLTFLoader: ' + bufferDef.type + ' buffer type is not supported.' ); + + } + + // If present, GLB container is required to be the first buffer. + if ( bufferDef.uri === undefined && bufferIndex === 0 ) { + + return Promise.resolve( this.extensions[ EXTENSIONS.KHR_BINARY_GLTF ].body ); + + } + + var options = this.options; + + return new Promise( function ( resolve, reject ) { + + loader.load( resolveURL( bufferDef.uri, options.path ), resolve, undefined, function () { + + reject( new Error( 'THREE.GLTFLoader: Failed to load buffer "' + bufferDef.uri + '".' ) ); + + } ); + + } ); + + }; + + /** + * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#buffers-and-buffer-views + * @param {number} bufferViewIndex + * @return {Promise} + */ + GLTFParser.prototype.loadBufferView = function ( bufferViewIndex ) { + + var bufferViewDef = this.json.bufferViews[ bufferViewIndex ]; + + return this.getDependency( 'buffer', bufferViewDef.buffer ).then( function ( buffer ) { + + var byteLength = bufferViewDef.byteLength || 0; + var byteOffset = bufferViewDef.byteOffset || 0; + return buffer.slice( byteOffset, byteOffset + byteLength ); + + } ); + + }; + + /** + * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#accessors + * @param {number} accessorIndex + * @return {Promise} + */ + GLTFParser.prototype.loadAccessor = function ( accessorIndex ) { + + var parser = this; + var json = this.json; + + var accessorDef = this.json.accessors[ accessorIndex ]; + + if ( accessorDef.bufferView === undefined && accessorDef.sparse === undefined ) { + + // Ignore empty accessors, which may be used to declare runtime + // information about attributes coming from another source (e.g. Draco + // compression extension). + return Promise.resolve( null ); + + } + + var pendingBufferViews = []; + + if ( accessorDef.bufferView !== undefined ) { + + pendingBufferViews.push( this.getDependency( 'bufferView', accessorDef.bufferView ) ); + + } else { + + pendingBufferViews.push( null ); + + } + + if ( accessorDef.sparse !== undefined ) { + + pendingBufferViews.push( this.getDependency( 'bufferView', accessorDef.sparse.indices.bufferView ) ); + pendingBufferViews.push( this.getDependency( 'bufferView', accessorDef.sparse.values.bufferView ) ); + + } + + return Promise.all( pendingBufferViews ).then( function ( bufferViews ) { + + var bufferView = bufferViews[ 0 ]; + + var itemSize = WEBGL_TYPE_SIZES[ accessorDef.type ]; + var TypedArray = WEBGL_COMPONENT_TYPES[ accessorDef.componentType ]; + + // For VEC3: itemSize is 3, elementBytes is 4, itemBytes is 12. + var elementBytes = TypedArray.BYTES_PER_ELEMENT; + var itemBytes = elementBytes * itemSize; + var byteOffset = accessorDef.byteOffset || 0; + var byteStride = accessorDef.bufferView !== undefined ? json.bufferViews[ accessorDef.bufferView ].byteStride : undefined; + var normalized = accessorDef.normalized === true; + var array, bufferAttribute; + + // The buffer is not interleaved if the stride is the item size in bytes. + if ( byteStride && byteStride !== itemBytes ) { + + var ibCacheKey = 'InterleavedBuffer:' + accessorDef.bufferView + ':' + accessorDef.componentType; + var ib = parser.cache.get( ibCacheKey ); + + if ( ! ib ) { + + // Use the full buffer if it's interleaved. + array = new TypedArray( bufferView ); + + // Integer parameters to IB/IBA are in array elements, not bytes. + ib = new THREE.InterleavedBuffer( array, byteStride / elementBytes ); + + parser.cache.add( ibCacheKey, ib ); + + } + + bufferAttribute = new THREE.InterleavedBufferAttribute( ib, itemSize, byteOffset / elementBytes, normalized ); + + } else { + + if ( bufferView === null ) { + + array = new TypedArray( accessorDef.count * itemSize ); + + } else { + + array = new TypedArray( bufferView, byteOffset, accessorDef.count * itemSize ); + + } + + bufferAttribute = new THREE.BufferAttribute( array, itemSize, normalized ); + + } + + // https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#sparse-accessors + if ( accessorDef.sparse !== undefined ) { + + var itemSizeIndices = WEBGL_TYPE_SIZES.SCALAR; + var TypedArrayIndices = WEBGL_COMPONENT_TYPES[ accessorDef.sparse.indices.componentType ]; + + var byteOffsetIndices = accessorDef.sparse.indices.byteOffset || 0; + var byteOffsetValues = accessorDef.sparse.values.byteOffset || 0; + + var sparseIndices = new TypedArrayIndices( bufferViews[ 1 ], byteOffsetIndices, accessorDef.sparse.count * itemSizeIndices ); + var sparseValues = new TypedArray( bufferViews[ 2 ], byteOffsetValues, accessorDef.sparse.count * itemSize ); + + if ( bufferView !== null ) { + + // Avoid modifying the original ArrayBuffer, if the bufferView wasn't initialized with zeroes. + bufferAttribute.setArray( bufferAttribute.array.slice() ); + + } + + for ( var i = 0, il = sparseIndices.length; i < il; i ++ ) { + + var index = sparseIndices[ i ]; + + bufferAttribute.setX( index, sparseValues[ i * itemSize ] ); + if ( itemSize >= 2 ) bufferAttribute.setY( index, sparseValues[ i * itemSize + 1 ] ); + if ( itemSize >= 3 ) bufferAttribute.setZ( index, sparseValues[ i * itemSize + 2 ] ); + if ( itemSize >= 4 ) bufferAttribute.setW( index, sparseValues[ i * itemSize + 3 ] ); + if ( itemSize >= 5 ) throw new Error( 'THREE.GLTFLoader: Unsupported itemSize in sparse BufferAttribute.' ); + + } + + } + + return bufferAttribute; + + } ); + + }; + + /** + * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#textures + * @param {number} textureIndex + * @return {Promise} + */ + GLTFParser.prototype.loadTexture = function ( textureIndex ) { + + var parser = this; + var json = this.json; + var options = this.options; + var textureLoader = this.textureLoader; + + var URL = window.URL || window.webkitURL; + + var textureDef = json.textures[ textureIndex ]; + + var textureExtensions = textureDef.extensions || {}; + + var source; + + if ( textureExtensions[ EXTENSIONS.MSFT_TEXTURE_DDS ] ) { + + source = json.images[ textureExtensions[ EXTENSIONS.MSFT_TEXTURE_DDS ].source ]; + + } else { + + source = json.images[ textureDef.source ]; + + } + + var sourceURI = source.uri; + var isObjectURL = false; + + if ( source.bufferView !== undefined ) { + + // Load binary image data from bufferView, if provided. + + sourceURI = parser.getDependency( 'bufferView', source.bufferView ).then( function ( bufferView ) { + + isObjectURL = true; + var blob = new Blob( [ bufferView ], { type: source.mimeType } ); + sourceURI = URL.createObjectURL( blob ); + return sourceURI; + + } ); + + } + + return Promise.resolve( sourceURI ).then( function ( sourceURI ) { + + // Load Texture resource. + + var loader = THREE.Loader.Handlers.get( sourceURI ); + + if ( ! loader ) { + + loader = textureExtensions[ EXTENSIONS.MSFT_TEXTURE_DDS ] + ? parser.extensions[ EXTENSIONS.MSFT_TEXTURE_DDS ].ddsLoader + : textureLoader; + + } + + return new Promise( function ( resolve, reject ) { + + loader.load( resolveURL( sourceURI, options.path ), resolve, undefined, reject ); + + } ); + + } ).then( function ( texture ) { + + // Clean up resources and configure Texture. + + if ( isObjectURL === true ) { + + URL.revokeObjectURL( sourceURI ); + + } + + texture.flipY = false; + + if ( textureDef.name !== undefined ) texture.name = textureDef.name; + + // Ignore unknown mime types, like DDS files. + if ( source.mimeType in MIME_TYPE_FORMATS ) { + + texture.format = MIME_TYPE_FORMATS[ source.mimeType ]; + + } + + var samplers = json.samplers || {}; + var sampler = samplers[ textureDef.sampler ] || {}; + + texture.magFilter = WEBGL_FILTERS[ sampler.magFilter ] || THREE.LinearFilter; + texture.minFilter = WEBGL_FILTERS[ sampler.minFilter ] || THREE.LinearMipMapLinearFilter; + texture.wrapS = WEBGL_WRAPPINGS[ sampler.wrapS ] || THREE.RepeatWrapping; + texture.wrapT = WEBGL_WRAPPINGS[ sampler.wrapT ] || THREE.RepeatWrapping; + + return texture; + + } ); + + }; + + /** + * Asynchronously assigns a texture to the given material parameters. + * @param {Object} materialParams + * @param {string} mapName + * @param {Object} mapDef + * @return {Promise} + */ + GLTFParser.prototype.assignTexture = function ( materialParams, mapName, mapDef ) { + + var parser = this; + + return this.getDependency( 'texture', mapDef.index ).then( function ( texture ) { + + if ( parser.extensions[ EXTENSIONS.KHR_TEXTURE_TRANSFORM ] ) { + + var transform = mapDef.extensions !== undefined ? mapDef.extensions[ EXTENSIONS.KHR_TEXTURE_TRANSFORM ] : undefined; + + if ( transform ) { + + texture = parser.extensions[ EXTENSIONS.KHR_TEXTURE_TRANSFORM ].extendTexture( texture, transform ); + + } + + } + + materialParams[ mapName ] = texture; + + } ); + + }; + + /** + * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#materials + * @param {number} materialIndex + * @return {Promise} + */ + GLTFParser.prototype.loadMaterial = function ( materialIndex ) { + + var parser = this; + var json = this.json; + var extensions = this.extensions; + var materialDef = json.materials[ materialIndex ]; + + var materialType; + var materialParams = {}; + var materialExtensions = materialDef.extensions || {}; + + var pending = []; + + if ( materialExtensions[ EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS ] ) { + + var sgExtension = extensions[ EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS ]; + materialType = sgExtension.getMaterialType( materialDef ); + pending.push( sgExtension.extendParams( materialParams, materialDef, parser ) ); + + } else if ( materialExtensions[ EXTENSIONS.KHR_MATERIALS_UNLIT ] ) { + + var kmuExtension = extensions[ EXTENSIONS.KHR_MATERIALS_UNLIT ]; + materialType = kmuExtension.getMaterialType( materialDef ); + pending.push( kmuExtension.extendParams( materialParams, materialDef, parser ) ); + + } else { + + // Specification: + // https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#metallic-roughness-material + + materialType = THREE.MeshStandardMaterial; + + var metallicRoughness = materialDef.pbrMetallicRoughness || {}; + + materialParams.color = new THREE.Color( 1.0, 1.0, 1.0 ); + materialParams.opacity = 1.0; + + if ( Array.isArray( metallicRoughness.baseColorFactor ) ) { + + var array = metallicRoughness.baseColorFactor; + + materialParams.color.fromArray( array ); + materialParams.opacity = array[ 3 ]; + + } + + if ( metallicRoughness.baseColorTexture !== undefined ) { + + pending.push( parser.assignTexture( materialParams, 'map', metallicRoughness.baseColorTexture ) ); + + } + + materialParams.metalness = metallicRoughness.metallicFactor !== undefined ? metallicRoughness.metallicFactor : 1.0; + materialParams.roughness = metallicRoughness.roughnessFactor !== undefined ? metallicRoughness.roughnessFactor : 1.0; + + if ( metallicRoughness.metallicRoughnessTexture !== undefined ) { + + pending.push( parser.assignTexture( materialParams, 'metalnessMap', metallicRoughness.metallicRoughnessTexture ) ); + pending.push( parser.assignTexture( materialParams, 'roughnessMap', metallicRoughness.metallicRoughnessTexture ) ); + + } + + } + + if ( materialDef.doubleSided === true ) { + + materialParams.side = THREE.DoubleSide; + + } + + var alphaMode = materialDef.alphaMode || ALPHA_MODES.OPAQUE; + + if ( alphaMode === ALPHA_MODES.BLEND ) { + + materialParams.transparent = true; + + } else { + + materialParams.transparent = false; + + if ( alphaMode === ALPHA_MODES.MASK ) { + + materialParams.alphaTest = materialDef.alphaCutoff !== undefined ? materialDef.alphaCutoff : 0.5; + + } + + } + + if ( materialDef.normalTexture !== undefined && materialType !== THREE.MeshBasicMaterial ) { + + pending.push( parser.assignTexture( materialParams, 'normalMap', materialDef.normalTexture ) ); + + materialParams.normalScale = new THREE.Vector2( 1, 1 ); + + if ( materialDef.normalTexture.scale !== undefined ) { + + materialParams.normalScale.set( materialDef.normalTexture.scale, materialDef.normalTexture.scale ); + + } + + } + + if ( materialDef.occlusionTexture !== undefined && materialType !== THREE.MeshBasicMaterial ) { + + pending.push( parser.assignTexture( materialParams, 'aoMap', materialDef.occlusionTexture ) ); + + if ( materialDef.occlusionTexture.strength !== undefined ) { + + materialParams.aoMapIntensity = materialDef.occlusionTexture.strength; + + } + + } + + if ( materialDef.emissiveFactor !== undefined && materialType !== THREE.MeshBasicMaterial ) { + + materialParams.emissive = new THREE.Color().fromArray( materialDef.emissiveFactor ); + + } + + if ( materialDef.emissiveTexture !== undefined && materialType !== THREE.MeshBasicMaterial ) { + + pending.push( parser.assignTexture( materialParams, 'emissiveMap', materialDef.emissiveTexture ) ); + + } + + return Promise.all( pending ).then( function () { + + var material; + + if ( materialType === THREE.ShaderMaterial ) { + + material = extensions[ EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS ].createMaterial( materialParams ); + + } else { + + material = new materialType( materialParams ); + + } + + if ( materialDef.name !== undefined ) material.name = materialDef.name; + + // Normal map textures use OpenGL conventions: + // https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#materialnormaltexture + if ( material.normalScale ) { + + material.normalScale.y = - material.normalScale.y; + + } + + // baseColorTexture, emissiveTexture, and specularGlossinessTexture use sRGB encoding. + if ( material.map ) material.map.encoding = THREE.sRGBEncoding; + if ( material.emissiveMap ) material.emissiveMap.encoding = THREE.sRGBEncoding; + if ( material.specularMap ) material.specularMap.encoding = THREE.sRGBEncoding; + + assignExtrasToUserData( material, materialDef ); + + if ( materialDef.extensions ) addUnknownExtensionsToUserData( extensions, material, materialDef ); + + return material; + + } ); + + }; + + /** + * @param {THREE.BufferGeometry} geometry + * @param {GLTF.Primitive} primitiveDef + * @param {GLTFParser} parser + * @return {Promise} + */ + function addPrimitiveAttributes( geometry, primitiveDef, parser ) { + + var attributes = primitiveDef.attributes; + + var pending = []; + + function assignAttributeAccessor( accessorIndex, attributeName ) { + + return parser.getDependency( 'accessor', accessorIndex ) + .then( function ( accessor ) { + + geometry.addAttribute( attributeName, accessor ); + + } ); + + } + + for ( var gltfAttributeName in attributes ) { + + var threeAttributeName = ATTRIBUTES[ gltfAttributeName ]; + + if ( ! threeAttributeName ) continue; + + // Skip attributes already provided by e.g. Draco extension. + if ( threeAttributeName in geometry.attributes ) continue; + + pending.push( assignAttributeAccessor( attributes[ gltfAttributeName ], threeAttributeName ) ); + + } + + if ( primitiveDef.indices !== undefined && ! geometry.index ) { + + var accessor = parser.getDependency( 'accessor', primitiveDef.indices ).then( function ( accessor ) { + + geometry.setIndex( accessor ); + + } ); + + pending.push( accessor ); + + } + + assignExtrasToUserData( geometry, primitiveDef ); + + return Promise.all( pending ).then( function () { + + return primitiveDef.targets !== undefined + ? addMorphTargets( geometry, primitiveDef.targets, parser ) + : geometry; + + } ); + + } + + /** + * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#geometry + * + * Creates BufferGeometries from primitives. + * If we can build a single BufferGeometry with .groups from multiple primitives, returns one BufferGeometry. + * Otherwise, returns BufferGeometries without .groups as many as primitives. + * + * @param {Array} primitives + * @return {Promise>} + */ + GLTFParser.prototype.loadGeometries = function ( primitives ) { + + var parser = this; + var extensions = this.extensions; + var cache = this.primitiveCache; + + var isMultiPass = isMultiPassGeometry( primitives ); + var originalPrimitives; + + if ( isMultiPass ) { + + originalPrimitives = primitives; // save original primitives and use later + + // We build a single BufferGeometry with .groups from multiple primitives + // because all primitives share the same attributes/morph/mode and have indices. + + primitives = [ primitives[ 0 ] ]; + + // Sets .groups and combined indices to a geometry later in this method. + + } + + function createDracoPrimitive( primitive ) { + + return extensions[ EXTENSIONS.KHR_DRACO_MESH_COMPRESSION ] + .decodePrimitive( primitive, parser ) + .then( function ( geometry ) { + + return addPrimitiveAttributes( geometry, primitive, parser ); + + } ); + + } + + var pending = []; + + for ( var i = 0, il = primitives.length; i < il; i ++ ) { + + var primitive = primitives[ i ]; + + // See if we've already created this geometry + var cached = getCachedGeometry( cache, primitive ); + + if ( cached ) { + + // Use the cached geometry if it exists + pending.push( cached ); + + } else { + + var geometryPromise; + + if ( primitive.extensions && primitive.extensions[ EXTENSIONS.KHR_DRACO_MESH_COMPRESSION ] ) { + + // Use DRACO geometry if available + geometryPromise = createDracoPrimitive( primitive ); + + } else { + + // Otherwise create a new geometry + geometryPromise = addPrimitiveAttributes( new THREE.BufferGeometry(), primitive, parser ); + + } + + // Cache this geometry + cache.push( { primitive: primitive, promise: geometryPromise } ); + + pending.push( geometryPromise ); + + } + + } + + return Promise.all( pending ).then( function ( geometries ) { + + if ( isMultiPass ) { + + var baseGeometry = geometries[ 0 ]; + + // See if we've already created this combined geometry + var cache = parser.multiPassGeometryCache; + var cached = getCachedMultiPassGeometry( cache, baseGeometry, originalPrimitives ); + + if ( cached !== null ) return [ cached.geometry ]; + + // Cloning geometry because of index override. + // Attributes can be reused so cloning by myself here. + var geometry = new THREE.BufferGeometry(); + + geometry.name = baseGeometry.name; + geometry.userData = baseGeometry.userData; + + for ( var key in baseGeometry.attributes ) geometry.addAttribute( key, baseGeometry.attributes[ key ] ); + for ( var key in baseGeometry.morphAttributes ) geometry.morphAttributes[ key ] = baseGeometry.morphAttributes[ key ]; + + var pendingIndices = []; + + for ( var i = 0, il = originalPrimitives.length; i < il; i ++ ) { + + pendingIndices.push( parser.getDependency( 'accessor', originalPrimitives[ i ].indices ) ); + + } + + return Promise.all( pendingIndices ).then( function ( accessors ) { + + var indices = []; + var offset = 0; + + for ( var i = 0, il = originalPrimitives.length; i < il; i ++ ) { + + var accessor = accessors[ i ]; + + for ( var j = 0, jl = accessor.count; j < jl; j ++ ) indices.push( accessor.array[ j ] ); + + geometry.addGroup( offset, accessor.count, i ); + + offset += accessor.count; + + } + + geometry.setIndex( indices ); + + cache.push( { geometry: geometry, baseGeometry: baseGeometry, primitives: originalPrimitives } ); + + return [ geometry ]; + + } ); + + } else if ( geometries.length > 1 && THREE.BufferGeometryUtils !== undefined ) { + + // Tries to merge geometries with BufferGeometryUtils if possible + + for ( var i = 1, il = primitives.length; i < il; i ++ ) { + + // can't merge if draw mode is different + if ( primitives[ 0 ].mode !== primitives[ i ].mode ) return geometries; + + } + + // See if we've already created this combined geometry + var cache = parser.multiplePrimitivesCache; + var cached = getCachedCombinedGeometry( cache, geometries ); + + if ( cached ) { + + if ( cached.geometry !== null ) return [ cached.geometry ]; + + } else { + + var geometry = THREE.BufferGeometryUtils.mergeBufferGeometries( geometries, true ); + + cache.push( { geometry: geometry, baseGeometries: geometries } ); + + if ( geometry !== null ) return [ geometry ]; + + } + + } + + return geometries; + + } ); + + }; + + /** + * Specification: https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#meshes + * @param {number} meshIndex + * @return {Promise} + */ + GLTFParser.prototype.loadMesh = function ( meshIndex ) { + + var parser = this; + var json = this.json; + var extensions = this.extensions; + + var meshDef = json.meshes[ meshIndex ]; + var primitives = meshDef.primitives; + + var pending = []; + + for ( var i = 0, il = primitives.length; i < il; i ++ ) { + + var material = primitives[ i ].material === undefined + ? createDefaultMaterial() + : this.getDependency( 'material', primitives[ i ].material ); + + pending.push( material ); + + } + + return Promise.all( pending ).then( function ( originalMaterials ) { + + return parser.loadGeometries( primitives ).then( function ( geometries ) { + + var isMultiMaterial = geometries.length === 1 && geometries[ 0 ].groups.length > 0; + + var meshes = []; + + for ( var i = 0, il = geometries.length; i < il; i ++ ) { + + var geometry = geometries[ i ]; + var primitive = primitives[ i ]; + + // 1. create Mesh + + var mesh; + + var material = isMultiMaterial ? originalMaterials : originalMaterials[ i ]; + + if ( primitive.mode === WEBGL_CONSTANTS.TRIANGLES || + primitive.mode === WEBGL_CONSTANTS.TRIANGLE_STRIP || + primitive.mode === WEBGL_CONSTANTS.TRIANGLE_FAN || + primitive.mode === undefined ) { + + // .isSkinnedMesh isn't in glTF spec. See .markDefs() + mesh = meshDef.isSkinnedMesh === true + ? new THREE.SkinnedMesh( geometry, material ) + : new THREE.Mesh( geometry, material ); + + if ( mesh.isSkinnedMesh === true ) mesh.normalizeSkinWeights(); // #15319 + + if ( primitive.mode === WEBGL_CONSTANTS.TRIANGLE_STRIP ) { + + mesh.drawMode = THREE.TriangleStripDrawMode; + + } else if ( primitive.mode === WEBGL_CONSTANTS.TRIANGLE_FAN ) { + + mesh.drawMode = THREE.TriangleFanDrawMode; + + } + + } else if ( primitive.mode === WEBGL_CONSTANTS.LINES ) { + + mesh = new THREE.LineSegments( geometry, material ); + + } else if ( primitive.mode === WEBGL_CONSTANTS.LINE_STRIP ) { + + mesh = new THREE.Line( geometry, material ); + + } else if ( primitive.mode === WEBGL_CONSTANTS.LINE_LOOP ) { + + mesh = new THREE.LineLoop( geometry, material ); + + } else if ( primitive.mode === WEBGL_CONSTANTS.POINTS ) { + + mesh = new THREE.Points( geometry, material ); + + } else { + + throw new Error( 'THREE.GLTFLoader: Primitive mode unsupported: ' + primitive.mode ); + + } + + if ( Object.keys( mesh.geometry.morphAttributes ).length > 0 ) { + + updateMorphTargets( mesh, meshDef ); + + } + + mesh.name = meshDef.name || ( 'mesh_' + meshIndex ); + + if ( geometries.length > 1 ) mesh.name += '_' + i; + + assignExtrasToUserData( mesh, meshDef ); + + meshes.push( mesh ); + + // 2. update Material depending on Mesh and BufferGeometry + + var materials = isMultiMaterial ? mesh.material : [ mesh.material ]; + + var useVertexColors = geometry.attributes.color !== undefined; + var useFlatShading = geometry.attributes.normal === undefined; + var useSkinning = mesh.isSkinnedMesh === true; + var useMorphTargets = Object.keys( geometry.morphAttributes ).length > 0; + var useMorphNormals = useMorphTargets && geometry.morphAttributes.normal !== undefined; + + for ( var j = 0, jl = materials.length; j < jl; j ++ ) { + + var material = materials[ j ]; + + if ( mesh.isPoints ) { + + var cacheKey = 'PointsMaterial:' + material.uuid; + + var pointsMaterial = parser.cache.get( cacheKey ); + + if ( ! pointsMaterial ) { + + pointsMaterial = new THREE.PointsMaterial(); + THREE.Material.prototype.copy.call( pointsMaterial, material ); + pointsMaterial.color.copy( material.color ); + pointsMaterial.map = material.map; + pointsMaterial.lights = false; // PointsMaterial doesn't support lights yet + + parser.cache.add( cacheKey, pointsMaterial ); + + } + + material = pointsMaterial; + + } else if ( mesh.isLine ) { + + var cacheKey = 'LineBasicMaterial:' + material.uuid; + + var lineMaterial = parser.cache.get( cacheKey ); + + if ( ! lineMaterial ) { + + lineMaterial = new THREE.LineBasicMaterial(); + THREE.Material.prototype.copy.call( lineMaterial, material ); + lineMaterial.color.copy( material.color ); + lineMaterial.lights = false; // LineBasicMaterial doesn't support lights yet + + parser.cache.add( cacheKey, lineMaterial ); + + } + + material = lineMaterial; + + } + + // Clone the material if it will be modified + if ( useVertexColors || useFlatShading || useSkinning || useMorphTargets ) { + + var cacheKey = 'ClonedMaterial:' + material.uuid + ':'; + + if ( material.isGLTFSpecularGlossinessMaterial ) cacheKey += 'specular-glossiness:'; + if ( useSkinning ) cacheKey += 'skinning:'; + if ( useVertexColors ) cacheKey += 'vertex-colors:'; + if ( useFlatShading ) cacheKey += 'flat-shading:'; + if ( useMorphTargets ) cacheKey += 'morph-targets:'; + if ( useMorphNormals ) cacheKey += 'morph-normals:'; + + var cachedMaterial = parser.cache.get( cacheKey ); + + if ( ! cachedMaterial ) { + + cachedMaterial = material.isGLTFSpecularGlossinessMaterial + ? extensions[ EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS ].cloneMaterial( material ) + : material.clone(); + + if ( useSkinning ) cachedMaterial.skinning = true; + if ( useVertexColors ) cachedMaterial.vertexColors = THREE.VertexColors; + if ( useFlatShading ) cachedMaterial.flatShading = true; + if ( useMorphTargets ) cachedMaterial.morphTargets = true; + if ( useMorphNormals ) cachedMaterial.morphNormals = true; + + parser.cache.add( cacheKey, cachedMaterial ); + + } + + material = cachedMaterial; + + } + + materials[ j ] = material; + + // workarounds for mesh and geometry + + if ( material.aoMap && geometry.attributes.uv2 === undefined && geometry.attributes.uv !== undefined ) { + + console.log( 'THREE.GLTFLoader: Duplicating UVs to support aoMap.' ); + geometry.addAttribute( 'uv2', new THREE.BufferAttribute( geometry.attributes.uv.array, 2 ) ); + + } + + if ( material.isGLTFSpecularGlossinessMaterial ) { + + // for GLTFSpecularGlossinessMaterial(ShaderMaterial) uniforms runtime update + mesh.onBeforeRender = extensions[ EXTENSIONS.KHR_MATERIALS_PBR_SPECULAR_GLOSSINESS ].refreshUniforms; + + } + + } + + mesh.material = isMultiMaterial ? materials : materials[ 0 ]; + + } + + if ( meshes.length === 1 ) { + + return meshes[ 0 ]; + + } + + var group = new THREE.Group(); + + for ( var i = 0, il = meshes.length; i < il; i ++ ) { + + group.add( meshes[ i ] ); + + } + + return group; + + } ); + + } ); + + }; + + /** + * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#cameras + * @param {number} cameraIndex + * @return {Promise} + */ + GLTFParser.prototype.loadCamera = function ( cameraIndex ) { + + var camera; + var cameraDef = this.json.cameras[ cameraIndex ]; + var params = cameraDef[ cameraDef.type ]; + + if ( ! params ) { + + console.warn( 'THREE.GLTFLoader: Missing camera parameters.' ); + return; + + } + + if ( cameraDef.type === 'perspective' ) { + + camera = new THREE.PerspectiveCamera( THREE.Math.radToDeg( params.yfov ), params.aspectRatio || 1, params.znear || 1, params.zfar || 2e6 ); + + } else if ( cameraDef.type === 'orthographic' ) { + + camera = new THREE.OrthographicCamera( params.xmag / - 2, params.xmag / 2, params.ymag / 2, params.ymag / - 2, params.znear, params.zfar ); + + } + + if ( cameraDef.name !== undefined ) camera.name = cameraDef.name; + + assignExtrasToUserData( camera, cameraDef ); + + return Promise.resolve( camera ); + + }; + + /** + * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#skins + * @param {number} skinIndex + * @return {Promise} + */ + GLTFParser.prototype.loadSkin = function ( skinIndex ) { + + var skinDef = this.json.skins[ skinIndex ]; + + var skinEntry = { joints: skinDef.joints }; + + if ( skinDef.inverseBindMatrices === undefined ) { + + return Promise.resolve( skinEntry ); + + } + + return this.getDependency( 'accessor', skinDef.inverseBindMatrices ).then( function ( accessor ) { + + skinEntry.inverseBindMatrices = accessor; + + return skinEntry; + + } ); + + }; + + /** + * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#animations + * @param {number} animationIndex + * @return {Promise} + */ + GLTFParser.prototype.loadAnimation = function ( animationIndex ) { + + var json = this.json; + + var animationDef = json.animations[ animationIndex ]; + + var pendingNodes = []; + var pendingInputAccessors = []; + var pendingOutputAccessors = []; + var pendingSamplers = []; + var pendingTargets = []; + + for ( var i = 0, il = animationDef.channels.length; i < il; i ++ ) { + + var channel = animationDef.channels[ i ]; + var sampler = animationDef.samplers[ channel.sampler ]; + var target = channel.target; + var name = target.node !== undefined ? target.node : target.id; // NOTE: target.id is deprecated. + var input = animationDef.parameters !== undefined ? animationDef.parameters[ sampler.input ] : sampler.input; + var output = animationDef.parameters !== undefined ? animationDef.parameters[ sampler.output ] : sampler.output; + + pendingNodes.push( this.getDependency( 'node', name ) ); + pendingInputAccessors.push( this.getDependency( 'accessor', input ) ); + pendingOutputAccessors.push( this.getDependency( 'accessor', output ) ); + pendingSamplers.push( sampler ); + pendingTargets.push( target ); + + } + + return Promise.all( [ + + Promise.all( pendingNodes ), + Promise.all( pendingInputAccessors ), + Promise.all( pendingOutputAccessors ), + Promise.all( pendingSamplers ), + Promise.all( pendingTargets ) + + ] ).then( function ( dependencies ) { + + var nodes = dependencies[ 0 ]; + var inputAccessors = dependencies[ 1 ]; + var outputAccessors = dependencies[ 2 ]; + var samplers = dependencies[ 3 ]; + var targets = dependencies[ 4 ]; + + var tracks = []; + + for ( var i = 0, il = nodes.length; i < il; i ++ ) { + + var node = nodes[ i ]; + var inputAccessor = inputAccessors[ i ]; + var outputAccessor = outputAccessors[ i ]; + var sampler = samplers[ i ]; + var target = targets[ i ]; + + if ( node === undefined ) continue; + + node.updateMatrix(); + node.matrixAutoUpdate = true; + + var TypedKeyframeTrack; + + switch ( PATH_PROPERTIES[ target.path ] ) { + + case PATH_PROPERTIES.weights: + + TypedKeyframeTrack = THREE.NumberKeyframeTrack; + break; + + case PATH_PROPERTIES.rotation: + + TypedKeyframeTrack = THREE.QuaternionKeyframeTrack; + break; + + case PATH_PROPERTIES.position: + case PATH_PROPERTIES.scale: + default: + + TypedKeyframeTrack = THREE.VectorKeyframeTrack; + break; + + } + + var targetName = node.name ? node.name : node.uuid; + + var interpolation = sampler.interpolation !== undefined ? INTERPOLATION[ sampler.interpolation ] : THREE.InterpolateLinear; + + var targetNames = []; + + if ( PATH_PROPERTIES[ target.path ] === PATH_PROPERTIES.weights ) { + + // node can be THREE.Group here but + // PATH_PROPERTIES.weights(morphTargetInfluences) should be + // the property of a mesh object under group. + + node.traverse( function ( object ) { + + if ( object.isMesh === true && object.morphTargetInfluences ) { + + targetNames.push( object.name ? object.name : object.uuid ); + + } + + } ); + + } else { + + targetNames.push( targetName ); + + } + + // KeyframeTrack.optimize() will modify given 'times' and 'values' + // buffers before creating a truncated copy to keep. Because buffers may + // be reused by other tracks, make copies here. + for ( var j = 0, jl = targetNames.length; j < jl; j ++ ) { + + var track = new TypedKeyframeTrack( + targetNames[ j ] + '.' + PATH_PROPERTIES[ target.path ], + THREE.AnimationUtils.arraySlice( inputAccessor.array, 0 ), + THREE.AnimationUtils.arraySlice( outputAccessor.array, 0 ), + interpolation + ); + + // Here is the trick to enable custom interpolation. + // Overrides .createInterpolant in a factory method which creates custom interpolation. + if ( sampler.interpolation === 'CUBICSPLINE' ) { + + track.createInterpolant = function InterpolantFactoryMethodGLTFCubicSpline( result ) { + + // A CUBICSPLINE keyframe in glTF has three output values for each input value, + // representing inTangent, splineVertex, and outTangent. As a result, track.getValueSize() + // must be divided by three to get the interpolant's sampleSize argument. + + return new GLTFCubicSplineInterpolant( this.times, this.values, this.getValueSize() / 3, result ); + + }; + + // Workaround, provide an alternate way to know if the interpolant type is cubis spline to track. + // track.getInterpolation() doesn't return valid value for custom interpolant. + track.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline = true; + + } + + tracks.push( track ); + + } + + } + + var name = animationDef.name !== undefined ? animationDef.name : 'animation_' + animationIndex; + + return new THREE.AnimationClip( name, undefined, tracks ); + + } ); + + }; + + /** + * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#nodes-and-hierarchy + * @param {number} nodeIndex + * @return {Promise} + */ + GLTFParser.prototype.loadNode = function ( nodeIndex ) { + + var json = this.json; + var extensions = this.extensions; + var parser = this; + + var meshReferences = json.meshReferences; + var meshUses = json.meshUses; + + var nodeDef = json.nodes[ nodeIndex ]; + + return ( function() { + + // .isBone isn't in glTF spec. See .markDefs + if ( nodeDef.isBone === true ) { + + return Promise.resolve( new THREE.Bone() ); + + } else if ( nodeDef.mesh !== undefined ) { + + return parser.getDependency( 'mesh', nodeDef.mesh ).then( function ( mesh ) { + + var node; + + if ( meshReferences[ nodeDef.mesh ] > 1 ) { + + var instanceNum = meshUses[ nodeDef.mesh ] ++; + + node = mesh.clone(); + node.name += '_instance_' + instanceNum; + + // onBeforeRender copy for Specular-Glossiness + node.onBeforeRender = mesh.onBeforeRender; + + for ( var i = 0, il = node.children.length; i < il; i ++ ) { + + node.children[ i ].name += '_instance_' + instanceNum; + node.children[ i ].onBeforeRender = mesh.children[ i ].onBeforeRender; + + } + + } else { + + node = mesh; + + } + + // if weights are provided on the node, override weights on the mesh. + if ( nodeDef.weights !== undefined ) { + + node.traverse( function ( o ) { + + if ( ! o.isMesh ) return; + + for ( var i = 0, il = nodeDef.weights.length; i < il; i ++ ) { + + o.morphTargetInfluences[ i ] = nodeDef.weights[ i ]; + + } + + } ); + + } + + return node; + + } ); + + } else if ( nodeDef.camera !== undefined ) { + + return parser.getDependency( 'camera', nodeDef.camera ); + + } else if ( nodeDef.extensions + && nodeDef.extensions[ EXTENSIONS.KHR_LIGHTS_PUNCTUAL ] + && nodeDef.extensions[ EXTENSIONS.KHR_LIGHTS_PUNCTUAL ].light !== undefined ) { + + return parser.getDependency( 'light', nodeDef.extensions[ EXTENSIONS.KHR_LIGHTS_PUNCTUAL ].light ); + + } else { + + return Promise.resolve( new THREE.Object3D() ); + + } + + }() ).then( function ( node ) { + + if ( nodeDef.name !== undefined ) { + + node.name = THREE.PropertyBinding.sanitizeNodeName( nodeDef.name ); + + } + + assignExtrasToUserData( node, nodeDef ); + + if ( nodeDef.extensions ) addUnknownExtensionsToUserData( extensions, node, nodeDef ); + + if ( nodeDef.matrix !== undefined ) { + + var matrix = new THREE.Matrix4(); + matrix.fromArray( nodeDef.matrix ); + node.applyMatrix( matrix ); + + } else { + + if ( nodeDef.translation !== undefined ) { + + node.position.fromArray( nodeDef.translation ); + + } + + if ( nodeDef.rotation !== undefined ) { + + node.quaternion.fromArray( nodeDef.rotation ); + + } + + if ( nodeDef.scale !== undefined ) { + + node.scale.fromArray( nodeDef.scale ); + + } + + } + + return node; + + } ); + + }; + + /** + * Specification: https://github.com/KhronosGroup/glTF/tree/master/specification/2.0#scenes + * @param {number} sceneIndex + * @return {Promise} + */ + GLTFParser.prototype.loadScene = function () { + + // scene node hierachy builder + + function buildNodeHierachy( nodeId, parentObject, json, parser ) { + + var nodeDef = json.nodes[ nodeId ]; + + return parser.getDependency( 'node', nodeId ).then( function ( node ) { + + if ( nodeDef.skin === undefined ) return node; + + // build skeleton here as well + + var skinEntry; + + return parser.getDependency( 'skin', nodeDef.skin ).then( function ( skin ) { + + skinEntry = skin; + + var pendingJoints = []; + + for ( var i = 0, il = skinEntry.joints.length; i < il; i ++ ) { + + pendingJoints.push( parser.getDependency( 'node', skinEntry.joints[ i ] ) ); + + } + + return Promise.all( pendingJoints ); + + } ).then( function ( jointNodes ) { + + var meshes = node.isGroup === true ? node.children : [ node ]; + + for ( var i = 0, il = meshes.length; i < il; i ++ ) { + + var mesh = meshes[ i ]; + + var bones = []; + var boneInverses = []; + + for ( var j = 0, jl = jointNodes.length; j < jl; j ++ ) { + + var jointNode = jointNodes[ j ]; + + if ( jointNode ) { + + bones.push( jointNode ); + + var mat = new THREE.Matrix4(); + + if ( skinEntry.inverseBindMatrices !== undefined ) { + + mat.fromArray( skinEntry.inverseBindMatrices.array, j * 16 ); + + } + + boneInverses.push( mat ); + + } else { + + console.warn( 'THREE.GLTFLoader: Joint "%s" could not be found.', skinEntry.joints[ j ] ); + + } + + } + + mesh.bind( new THREE.Skeleton( bones, boneInverses ), mesh.matrixWorld ); + + }; + + return node; + + } ); + + } ).then( function ( node ) { + + // build node hierachy + + parentObject.add( node ); + + var pending = []; + + if ( nodeDef.children ) { + + var children = nodeDef.children; + + for ( var i = 0, il = children.length; i < il; i ++ ) { + + var child = children[ i ]; + pending.push( buildNodeHierachy( child, node, json, parser ) ); + + } + + } + + return Promise.all( pending ); + + } ); + + } + + return function loadScene( sceneIndex ) { + + var json = this.json; + var extensions = this.extensions; + var sceneDef = this.json.scenes[ sceneIndex ]; + var parser = this; + + var scene = new THREE.Scene(); + if ( sceneDef.name !== undefined ) scene.name = sceneDef.name; + + assignExtrasToUserData( scene, sceneDef ); + + if ( sceneDef.extensions ) addUnknownExtensionsToUserData( extensions, scene, sceneDef ); + + var nodeIds = sceneDef.nodes || []; + + var pending = []; + + for ( var i = 0, il = nodeIds.length; i < il; i ++ ) { + + pending.push( buildNodeHierachy( nodeIds[ i ], scene, json, parser ) ); + + } + + return Promise.all( pending ).then( function () { + + return scene; + + } ); + + }; + + }(); + + return GLTFLoader; + +} )(); diff --git a/jsartoolkit5/examples/js/third_party/three.js/LICENSE.txt b/jsartoolkit5/examples/js/third_party/three.js/LICENSE.txt new file mode 100644 index 0000000..5604901 --- /dev/null +++ b/jsartoolkit5/examples/js/third_party/three.js/LICENSE.txt @@ -0,0 +1,21 @@ +The MIT License + +Copyright © 2010-2017 three.js authors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/jsartoolkit5/examples/js/third_party/three.js/OrbitControls.js b/jsartoolkit5/examples/js/third_party/three.js/OrbitControls.js new file mode 100644 index 0000000..151f0c8 --- /dev/null +++ b/jsartoolkit5/examples/js/third_party/three.js/OrbitControls.js @@ -0,0 +1,1042 @@ +/** + * @author qiao / https://github.com/qiao + * @author mrdoob / http://mrdoob.com + * @author alteredq / http://alteredqualia.com/ + * @author WestLangley / http://github.com/WestLangley + * @author erich666 / http://erichaines.com + */ + +// This set of controls performs orbiting, dollying (zooming), and panning. +// Unlike TrackballControls, it maintains the "up" direction object.up (+Y by default). +// +// Orbit - left mouse / touch: one finger move +// Zoom - middle mouse, or mousewheel / touch: two finger spread or squish +// Pan - right mouse, or arrow keys / touch: three finger swipe + +THREE.OrbitControls = function ( object, domElement ) { + + this.object = object; + + this.domElement = ( domElement !== undefined ) ? domElement : document; + + // Set to false to disable this control + this.enabled = true; + + // "target" sets the location of focus, where the object orbits around + this.target = new THREE.Vector3(); + + // How far you can dolly in and out ( PerspectiveCamera only ) + this.minDistance = 0; + this.maxDistance = Infinity; + + // How far you can zoom in and out ( OrthographicCamera only ) + this.minZoom = 0; + this.maxZoom = Infinity; + + // How far you can orbit vertically, upper and lower limits. + // Range is 0 to Math.PI radians. + this.minPolarAngle = 0; // radians + this.maxPolarAngle = Math.PI; // radians + + // How far you can orbit horizontally, upper and lower limits. + // If set, must be a sub-interval of the interval [ - Math.PI, Math.PI ]. + this.minAzimuthAngle = - Infinity; // radians + this.maxAzimuthAngle = Infinity; // radians + + // Set to true to enable damping (inertia) + // If damping is enabled, you must call controls.update() in your animation loop + this.enableDamping = false; + this.dampingFactor = 0.25; + + // This option actually enables dollying in and out; left as "zoom" for backwards compatibility. + // Set to false to disable zooming + this.enableZoom = true; + this.zoomSpeed = 1.0; + + // Set to false to disable rotating + this.enableRotate = true; + this.rotateSpeed = 1.0; + + // Set to false to disable panning + this.enablePan = true; + this.keyPanSpeed = 7.0; // pixels moved per arrow key push + + // Set to true to automatically rotate around the target + // If auto-rotate is enabled, you must call controls.update() in your animation loop + this.autoRotate = false; + this.autoRotateSpeed = 2.0; // 30 seconds per round when fps is 60 + + // Set to false to disable use of the keys + this.enableKeys = true; + + // The four arrow keys + this.keys = { LEFT: 37, UP: 38, RIGHT: 39, BOTTOM: 40 }; + + // Mouse buttons + this.mouseButtons = { ORBIT: THREE.MOUSE.LEFT, ZOOM: THREE.MOUSE.MIDDLE, PAN: THREE.MOUSE.RIGHT }; + + // for reset + this.target0 = this.target.clone(); + this.position0 = this.object.position.clone(); + this.zoom0 = this.object.zoom; + + // + // public methods + // + + this.getPolarAngle = function () { + + return spherical.phi; + + }; + + this.getAzimuthalAngle = function () { + + return spherical.theta; + + }; + + this.saveState = function () { + + scope.target0.copy( scope.target ); + scope.position0.copy( scope.object.position ); + scope.zoom0 = scope.object.zoom; + + }; + + this.reset = function () { + + scope.target.copy( scope.target0 ); + scope.object.position.copy( scope.position0 ); + scope.object.zoom = scope.zoom0; + + scope.object.updateProjectionMatrix(); + scope.dispatchEvent( changeEvent ); + + scope.update(); + + state = STATE.NONE; + + }; + + // this method is exposed, but perhaps it would be better if we can make it private... + this.update = function () { + + var offset = new THREE.Vector3(); + + // so camera.up is the orbit axis + var quat = new THREE.Quaternion().setFromUnitVectors( object.up, new THREE.Vector3( 0, 1, 0 ) ); + var quatInverse = quat.clone().inverse(); + + var lastPosition = new THREE.Vector3(); + var lastQuaternion = new THREE.Quaternion(); + + return function update() { + + var position = scope.object.position; + + offset.copy( position ).sub( scope.target ); + + // rotate offset to "y-axis-is-up" space + offset.applyQuaternion( quat ); + + // angle from z-axis around y-axis + spherical.setFromVector3( offset ); + + if ( scope.autoRotate && state === STATE.NONE ) { + + rotateLeft( getAutoRotationAngle() ); + + } + + spherical.theta += sphericalDelta.theta; + spherical.phi += sphericalDelta.phi; + + // restrict theta to be between desired limits + spherical.theta = Math.max( scope.minAzimuthAngle, Math.min( scope.maxAzimuthAngle, spherical.theta ) ); + + // restrict phi to be between desired limits + spherical.phi = Math.max( scope.minPolarAngle, Math.min( scope.maxPolarAngle, spherical.phi ) ); + + spherical.makeSafe(); + + + spherical.radius *= scale; + + // restrict radius to be between desired limits + spherical.radius = Math.max( scope.minDistance, Math.min( scope.maxDistance, spherical.radius ) ); + + // move target to panned location + scope.target.add( panOffset ); + + offset.setFromSpherical( spherical ); + + // rotate offset back to "camera-up-vector-is-up" space + offset.applyQuaternion( quatInverse ); + + position.copy( scope.target ).add( offset ); + + scope.object.lookAt( scope.target ); + + if ( scope.enableDamping === true ) { + + sphericalDelta.theta *= ( 1 - scope.dampingFactor ); + sphericalDelta.phi *= ( 1 - scope.dampingFactor ); + + } else { + + sphericalDelta.set( 0, 0, 0 ); + + } + + scale = 1; + panOffset.set( 0, 0, 0 ); + + // update condition is: + // min(camera displacement, camera rotation in radians)^2 > EPS + // using small-angle approximation cos(x/2) = 1 - x^2 / 8 + + if ( zoomChanged || + lastPosition.distanceToSquared( scope.object.position ) > EPS || + 8 * ( 1 - lastQuaternion.dot( scope.object.quaternion ) ) > EPS ) { + + scope.dispatchEvent( changeEvent ); + + lastPosition.copy( scope.object.position ); + lastQuaternion.copy( scope.object.quaternion ); + zoomChanged = false; + + return true; + + } + + return false; + + }; + + }(); + + this.dispose = function () { + + scope.domElement.removeEventListener( 'contextmenu', onContextMenu, false ); + scope.domElement.removeEventListener( 'mousedown', onMouseDown, false ); + scope.domElement.removeEventListener( 'wheel', onMouseWheel, false ); + + scope.domElement.removeEventListener( 'touchstart', onTouchStart, false ); + scope.domElement.removeEventListener( 'touchend', onTouchEnd, false ); + scope.domElement.removeEventListener( 'touchmove', onTouchMove, false ); + + document.removeEventListener( 'mousemove', onMouseMove, false ); + document.removeEventListener( 'mouseup', onMouseUp, false ); + + window.removeEventListener( 'keydown', onKeyDown, false ); + + //scope.dispatchEvent( { type: 'dispose' } ); // should this be added here? + + }; + + // + // internals + // + + var scope = this; + + var changeEvent = { type: 'change' }; + var startEvent = { type: 'start' }; + var endEvent = { type: 'end' }; + + var STATE = { NONE: - 1, ROTATE: 0, DOLLY: 1, PAN: 2, TOUCH_ROTATE: 3, TOUCH_DOLLY: 4, TOUCH_PAN: 5 }; + + var state = STATE.NONE; + + var EPS = 0.000001; + + // current position in spherical coordinates + var spherical = new THREE.Spherical(); + var sphericalDelta = new THREE.Spherical(); + + var scale = 1; + var panOffset = new THREE.Vector3(); + var zoomChanged = false; + + var rotateStart = new THREE.Vector2(); + var rotateEnd = new THREE.Vector2(); + var rotateDelta = new THREE.Vector2(); + + var panStart = new THREE.Vector2(); + var panEnd = new THREE.Vector2(); + var panDelta = new THREE.Vector2(); + + var dollyStart = new THREE.Vector2(); + var dollyEnd = new THREE.Vector2(); + var dollyDelta = new THREE.Vector2(); + + function getAutoRotationAngle() { + + return 2 * Math.PI / 60 / 60 * scope.autoRotateSpeed; + + } + + function getZoomScale() { + + return Math.pow( 0.95, scope.zoomSpeed ); + + } + + function rotateLeft( angle ) { + + sphericalDelta.theta -= angle; + + } + + function rotateUp( angle ) { + + sphericalDelta.phi -= angle; + + } + + var panLeft = function () { + + var v = new THREE.Vector3(); + + return function panLeft( distance, objectMatrix ) { + + v.setFromMatrixColumn( objectMatrix, 0 ); // get X column of objectMatrix + v.multiplyScalar( - distance ); + + panOffset.add( v ); + + }; + + }(); + + var panUp = function () { + + var v = new THREE.Vector3(); + + return function panUp( distance, objectMatrix ) { + + v.setFromMatrixColumn( objectMatrix, 1 ); // get Y column of objectMatrix + v.multiplyScalar( distance ); + + panOffset.add( v ); + + }; + + }(); + + // deltaX and deltaY are in pixels; right and down are positive + var pan = function () { + + var offset = new THREE.Vector3(); + + return function pan( deltaX, deltaY ) { + + var element = scope.domElement === document ? scope.domElement.body : scope.domElement; + + if ( scope.object instanceof THREE.PerspectiveCamera ) { + + // perspective + var position = scope.object.position; + offset.copy( position ).sub( scope.target ); + var targetDistance = offset.length(); + + // half of the fov is center to top of screen + targetDistance *= Math.tan( ( scope.object.fov / 2 ) * Math.PI / 180.0 ); + + // we actually don't use screenWidth, since perspective camera is fixed to screen height + panLeft( 2 * deltaX * targetDistance / element.clientHeight, scope.object.matrix ); + panUp( 2 * deltaY * targetDistance / element.clientHeight, scope.object.matrix ); + + } else if ( scope.object instanceof THREE.OrthographicCamera ) { + + // orthographic + panLeft( deltaX * ( scope.object.right - scope.object.left ) / scope.object.zoom / element.clientWidth, scope.object.matrix ); + panUp( deltaY * ( scope.object.top - scope.object.bottom ) / scope.object.zoom / element.clientHeight, scope.object.matrix ); + + } else { + + // camera neither orthographic nor perspective + console.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - pan disabled.' ); + scope.enablePan = false; + + } + + }; + + }(); + + function dollyIn( dollyScale ) { + + if ( scope.object instanceof THREE.PerspectiveCamera ) { + + scale /= dollyScale; + + } else if ( scope.object instanceof THREE.OrthographicCamera ) { + + scope.object.zoom = Math.max( scope.minZoom, Math.min( scope.maxZoom, scope.object.zoom * dollyScale ) ); + scope.object.updateProjectionMatrix(); + zoomChanged = true; + + } else { + + console.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.' ); + scope.enableZoom = false; + + } + + } + + function dollyOut( dollyScale ) { + + if ( scope.object instanceof THREE.PerspectiveCamera ) { + + scale *= dollyScale; + + } else if ( scope.object instanceof THREE.OrthographicCamera ) { + + scope.object.zoom = Math.max( scope.minZoom, Math.min( scope.maxZoom, scope.object.zoom / dollyScale ) ); + scope.object.updateProjectionMatrix(); + zoomChanged = true; + + } else { + + console.warn( 'WARNING: OrbitControls.js encountered an unknown camera type - dolly/zoom disabled.' ); + scope.enableZoom = false; + + } + + } + + // + // event callbacks - update the object state + // + + function handleMouseDownRotate( event ) { + + //console.log( 'handleMouseDownRotate' ); + + rotateStart.set( event.clientX, event.clientY ); + + } + + function handleMouseDownDolly( event ) { + + //console.log( 'handleMouseDownDolly' ); + + dollyStart.set( event.clientX, event.clientY ); + + } + + function handleMouseDownPan( event ) { + + //console.log( 'handleMouseDownPan' ); + + panStart.set( event.clientX, event.clientY ); + + } + + function handleMouseMoveRotate( event ) { + + //console.log( 'handleMouseMoveRotate' ); + + rotateEnd.set( event.clientX, event.clientY ); + rotateDelta.subVectors( rotateEnd, rotateStart ); + + var element = scope.domElement === document ? scope.domElement.body : scope.domElement; + + // rotating across whole screen goes 360 degrees around + rotateLeft( 2 * Math.PI * rotateDelta.x / element.clientWidth * scope.rotateSpeed ); + + // rotating up and down along whole screen attempts to go 360, but limited to 180 + rotateUp( 2 * Math.PI * rotateDelta.y / element.clientHeight * scope.rotateSpeed ); + + rotateStart.copy( rotateEnd ); + + scope.update(); + + } + + function handleMouseMoveDolly( event ) { + + //console.log( 'handleMouseMoveDolly' ); + + dollyEnd.set( event.clientX, event.clientY ); + + dollyDelta.subVectors( dollyEnd, dollyStart ); + + if ( dollyDelta.y > 0 ) { + + dollyIn( getZoomScale() ); + + } else if ( dollyDelta.y < 0 ) { + + dollyOut( getZoomScale() ); + + } + + dollyStart.copy( dollyEnd ); + + scope.update(); + + } + + function handleMouseMovePan( event ) { + + //console.log( 'handleMouseMovePan' ); + + panEnd.set( event.clientX, event.clientY ); + + panDelta.subVectors( panEnd, panStart ); + + pan( panDelta.x, panDelta.y ); + + panStart.copy( panEnd ); + + scope.update(); + + } + + function handleMouseUp( event ) { + + // console.log( 'handleMouseUp' ); + + } + + function handleMouseWheel( event ) { + + // console.log( 'handleMouseWheel' ); + + if ( event.deltaY < 0 ) { + + dollyOut( getZoomScale() ); + + } else if ( event.deltaY > 0 ) { + + dollyIn( getZoomScale() ); + + } + + scope.update(); + + } + + function handleKeyDown( event ) { + + //console.log( 'handleKeyDown' ); + + switch ( event.keyCode ) { + + case scope.keys.UP: + pan( 0, scope.keyPanSpeed ); + scope.update(); + break; + + case scope.keys.BOTTOM: + pan( 0, - scope.keyPanSpeed ); + scope.update(); + break; + + case scope.keys.LEFT: + pan( scope.keyPanSpeed, 0 ); + scope.update(); + break; + + case scope.keys.RIGHT: + pan( - scope.keyPanSpeed, 0 ); + scope.update(); + break; + + } + + } + + function handleTouchStartRotate( event ) { + + //console.log( 'handleTouchStartRotate' ); + + rotateStart.set( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ); + + } + + function handleTouchStartDolly( event ) { + + //console.log( 'handleTouchStartDolly' ); + + var dx = event.touches[ 0 ].pageX - event.touches[ 1 ].pageX; + var dy = event.touches[ 0 ].pageY - event.touches[ 1 ].pageY; + + var distance = Math.sqrt( dx * dx + dy * dy ); + + dollyStart.set( 0, distance ); + + } + + function handleTouchStartPan( event ) { + + //console.log( 'handleTouchStartPan' ); + + panStart.set( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ); + + } + + function handleTouchMoveRotate( event ) { + + //console.log( 'handleTouchMoveRotate' ); + + rotateEnd.set( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ); + rotateDelta.subVectors( rotateEnd, rotateStart ); + + var element = scope.domElement === document ? scope.domElement.body : scope.domElement; + + // rotating across whole screen goes 360 degrees around + rotateLeft( 2 * Math.PI * rotateDelta.x / element.clientWidth * scope.rotateSpeed ); + + // rotating up and down along whole screen attempts to go 360, but limited to 180 + rotateUp( 2 * Math.PI * rotateDelta.y / element.clientHeight * scope.rotateSpeed ); + + rotateStart.copy( rotateEnd ); + + scope.update(); + + } + + function handleTouchMoveDolly( event ) { + + //console.log( 'handleTouchMoveDolly' ); + + var dx = event.touches[ 0 ].pageX - event.touches[ 1 ].pageX; + var dy = event.touches[ 0 ].pageY - event.touches[ 1 ].pageY; + + var distance = Math.sqrt( dx * dx + dy * dy ); + + dollyEnd.set( 0, distance ); + + dollyDelta.subVectors( dollyEnd, dollyStart ); + + if ( dollyDelta.y > 0 ) { + + dollyOut( getZoomScale() ); + + } else if ( dollyDelta.y < 0 ) { + + dollyIn( getZoomScale() ); + + } + + dollyStart.copy( dollyEnd ); + + scope.update(); + + } + + function handleTouchMovePan( event ) { + + //console.log( 'handleTouchMovePan' ); + + panEnd.set( event.touches[ 0 ].pageX, event.touches[ 0 ].pageY ); + + panDelta.subVectors( panEnd, panStart ); + + pan( panDelta.x, panDelta.y ); + + panStart.copy( panEnd ); + + scope.update(); + + } + + function handleTouchEnd( event ) { + + //console.log( 'handleTouchEnd' ); + + } + + // + // event handlers - FSM: listen for events and reset state + // + + function onMouseDown( event ) { + + if ( scope.enabled === false ) return; + + event.preventDefault(); + + switch ( event.button ) { + + case scope.mouseButtons.ORBIT: + + if ( scope.enableRotate === false ) return; + + handleMouseDownRotate( event ); + + state = STATE.ROTATE; + + break; + + case scope.mouseButtons.ZOOM: + + if ( scope.enableZoom === false ) return; + + handleMouseDownDolly( event ); + + state = STATE.DOLLY; + + break; + + case scope.mouseButtons.PAN: + + if ( scope.enablePan === false ) return; + + handleMouseDownPan( event ); + + state = STATE.PAN; + + break; + + } + + if ( state !== STATE.NONE ) { + + document.addEventListener( 'mousemove', onMouseMove, false ); + document.addEventListener( 'mouseup', onMouseUp, false ); + + scope.dispatchEvent( startEvent ); + + } + + } + + function onMouseMove( event ) { + + if ( scope.enabled === false ) return; + + event.preventDefault(); + + switch ( state ) { + + case STATE.ROTATE: + + if ( scope.enableRotate === false ) return; + + handleMouseMoveRotate( event ); + + break; + + case STATE.DOLLY: + + if ( scope.enableZoom === false ) return; + + handleMouseMoveDolly( event ); + + break; + + case STATE.PAN: + + if ( scope.enablePan === false ) return; + + handleMouseMovePan( event ); + + break; + + } + + } + + function onMouseUp( event ) { + + if ( scope.enabled === false ) return; + + handleMouseUp( event ); + + document.removeEventListener( 'mousemove', onMouseMove, false ); + document.removeEventListener( 'mouseup', onMouseUp, false ); + + scope.dispatchEvent( endEvent ); + + state = STATE.NONE; + + } + + function onMouseWheel( event ) { + + if ( scope.enabled === false || scope.enableZoom === false || ( state !== STATE.NONE && state !== STATE.ROTATE ) ) return; + + event.preventDefault(); + event.stopPropagation(); + + handleMouseWheel( event ); + + scope.dispatchEvent( startEvent ); // not sure why these are here... + scope.dispatchEvent( endEvent ); + + } + + function onKeyDown( event ) { + + if ( scope.enabled === false || scope.enableKeys === false || scope.enablePan === false ) return; + + handleKeyDown( event ); + + } + + function onTouchStart( event ) { + + if ( scope.enabled === false ) return; + + switch ( event.touches.length ) { + + case 1: // one-fingered touch: rotate + + if ( scope.enableRotate === false ) return; + + handleTouchStartRotate( event ); + + state = STATE.TOUCH_ROTATE; + + break; + + case 2: // two-fingered touch: dolly + + if ( scope.enableZoom === false ) return; + + handleTouchStartDolly( event ); + + state = STATE.TOUCH_DOLLY; + + break; + + case 3: // three-fingered touch: pan + + if ( scope.enablePan === false ) return; + + handleTouchStartPan( event ); + + state = STATE.TOUCH_PAN; + + break; + + default: + + state = STATE.NONE; + + } + + if ( state !== STATE.NONE ) { + + scope.dispatchEvent( startEvent ); + + } + + } + + function onTouchMove( event ) { + + if ( scope.enabled === false ) return; + + event.preventDefault(); + event.stopPropagation(); + + switch ( event.touches.length ) { + + case 1: // one-fingered touch: rotate + + if ( scope.enableRotate === false ) return; + if ( state !== STATE.TOUCH_ROTATE ) return; // is this needed?... + + handleTouchMoveRotate( event ); + + break; + + case 2: // two-fingered touch: dolly + + if ( scope.enableZoom === false ) return; + if ( state !== STATE.TOUCH_DOLLY ) return; // is this needed?... + + handleTouchMoveDolly( event ); + + break; + + case 3: // three-fingered touch: pan + + if ( scope.enablePan === false ) return; + if ( state !== STATE.TOUCH_PAN ) return; // is this needed?... + + handleTouchMovePan( event ); + + break; + + default: + + state = STATE.NONE; + + } + + } + + function onTouchEnd( event ) { + + if ( scope.enabled === false ) return; + + handleTouchEnd( event ); + + scope.dispatchEvent( endEvent ); + + state = STATE.NONE; + + } + + function onContextMenu( event ) { + + if ( scope.enabled === false ) return; + + event.preventDefault(); + + } + + // + + scope.domElement.addEventListener( 'contextmenu', onContextMenu, false ); + + scope.domElement.addEventListener( 'mousedown', onMouseDown, false ); + scope.domElement.addEventListener( 'wheel', onMouseWheel, false ); + + scope.domElement.addEventListener( 'touchstart', onTouchStart, false ); + scope.domElement.addEventListener( 'touchend', onTouchEnd, false ); + scope.domElement.addEventListener( 'touchmove', onTouchMove, false ); + + window.addEventListener( 'keydown', onKeyDown, false ); + + // force an update at start + + this.update(); + +}; + +THREE.OrbitControls.prototype = Object.create( THREE.EventDispatcher.prototype ); +THREE.OrbitControls.prototype.constructor = THREE.OrbitControls; + +Object.defineProperties( THREE.OrbitControls.prototype, { + + center: { + + get: function () { + + console.warn( 'THREE.OrbitControls: .center has been renamed to .target' ); + return this.target; + + } + + }, + + // backward compatibility + + noZoom: { + + get: function () { + + console.warn( 'THREE.OrbitControls: .noZoom has been deprecated. Use .enableZoom instead.' ); + return ! this.enableZoom; + + }, + + set: function ( value ) { + + console.warn( 'THREE.OrbitControls: .noZoom has been deprecated. Use .enableZoom instead.' ); + this.enableZoom = ! value; + + } + + }, + + noRotate: { + + get: function () { + + console.warn( 'THREE.OrbitControls: .noRotate has been deprecated. Use .enableRotate instead.' ); + return ! this.enableRotate; + + }, + + set: function ( value ) { + + console.warn( 'THREE.OrbitControls: .noRotate has been deprecated. Use .enableRotate instead.' ); + this.enableRotate = ! value; + + } + + }, + + noPan: { + + get: function () { + + console.warn( 'THREE.OrbitControls: .noPan has been deprecated. Use .enablePan instead.' ); + return ! this.enablePan; + + }, + + set: function ( value ) { + + console.warn( 'THREE.OrbitControls: .noPan has been deprecated. Use .enablePan instead.' ); + this.enablePan = ! value; + + } + + }, + + noKeys: { + + get: function () { + + console.warn( 'THREE.OrbitControls: .noKeys has been deprecated. Use .enableKeys instead.' ); + return ! this.enableKeys; + + }, + + set: function ( value ) { + + console.warn( 'THREE.OrbitControls: .noKeys has been deprecated. Use .enableKeys instead.' ); + this.enableKeys = ! value; + + } + + }, + + staticMoving: { + + get: function () { + + console.warn( 'THREE.OrbitControls: .staticMoving has been deprecated. Use .enableDamping instead.' ); + return ! this.enableDamping; + + }, + + set: function ( value ) { + + console.warn( 'THREE.OrbitControls: .staticMoving has been deprecated. Use .enableDamping instead.' ); + this.enableDamping = ! value; + + } + + }, + + dynamicDampingFactor: { + + get: function () { + + console.warn( 'THREE.OrbitControls: .dynamicDampingFactor has been renamed. Use .dampingFactor instead.' ); + return this.dampingFactor; + + }, + + set: function ( value ) { + + console.warn( 'THREE.OrbitControls: .dynamicDampingFactor has been renamed. Use .dampingFactor instead.' ); + this.dampingFactor = value; + + } + + } + +} ); diff --git a/jsartoolkit5/examples/js/third_party/three.js/stats.min.js b/jsartoolkit5/examples/js/third_party/three.js/stats.min.js new file mode 100644 index 0000000..3ddf1e5 --- /dev/null +++ b/jsartoolkit5/examples/js/third_party/three.js/stats.min.js @@ -0,0 +1,5 @@ +// stats.js - http://github.com/mrdoob/stats.js +(function(f,e){"object"===typeof exports&&"undefined"!==typeof module?module.exports=e():"function"===typeof define&&define.amd?define(e):f.Stats=e()})(this,function(){var f=function(){function e(a){c.appendChild(a.dom);return a}function u(a){for(var d=0;d=g+1E3&&(r.update(1E3*a/(c-g),100),g=c,a=0,t)){var d=performance.memory;t.update(d.usedJSHeapSize/ +1048576,d.jsHeapSizeLimit/1048576)}return c},update:function(){k=this.end()},domElement:c,setMode:u}};f.Panel=function(e,f,l){var c=Infinity,k=0,g=Math.round,a=g(window.devicePixelRatio||1),r=80*a,h=48*a,t=3*a,v=2*a,d=3*a,m=15*a,n=74*a,p=30*a,q=document.createElement("canvas");q.width=r;q.height=h;q.style.cssText="width:80px;height:48px";var b=q.getContext("2d");b.font="bold "+9*a+"px Helvetica,Arial,sans-serif";b.textBaseline="top";b.fillStyle=l;b.fillRect(0,0,r,h);b.fillStyle=f;b.fillText(e,t,v); +b.fillRect(d,m,n,p);b.fillStyle=l;b.globalAlpha=.9;b.fillRect(d,m,n,p);return{dom:q,update:function(h,w){c=Math.min(c,h);k=Math.max(k,h);b.fillStyle=l;b.globalAlpha=1;b.fillRect(0,0,r,m);b.fillStyle=f;b.fillText(g(h)+" "+e+" ("+g(c)+"-"+g(k)+")",t,v);b.drawImage(q,d+a,m,n-a,p,d,m,n-a,p);b.fillRect(d+n-a,m,a,p);b.fillStyle=l;b.globalAlpha=.9;b.fillRect(d+n-a,m,a,g((1-h/w)*p))}}};return f}); diff --git a/jsartoolkit5/examples/js/third_party/three.js/three.min.js b/jsartoolkit5/examples/js/third_party/three.js/three.min.js new file mode 100644 index 0000000..a1b5bce --- /dev/null +++ b/jsartoolkit5/examples/js/third_party/three.js/three.min.js @@ -0,0 +1,975 @@ +// threejs.org/license +(function(l,ta){"object"===typeof exports&&"undefined"!==typeof module?ta(exports):"function"===typeof define&&define.amd?define(["exports"],ta):(l=l||self,ta(l.THREE={}))})(this,function(l){function ta(){}function B(a,b){this.x=a||0;this.y=b||0}function aa(a,b,c,d){this._x=a||0;this._y=b||0;this._z=c||0;this._w=void 0!==d?d:1}function n(a,b,c){this.x=a||0;this.y=b||0;this.z=c||0}function ba(){this.elements=[1,0,0,0,1,0,0,0,1];0b&&(b=a[c]);return b}function z(){Object.defineProperty(this,"id",{value:Yf+=2});this.uuid=K.generateUUID();this.name="";this.type="BufferGeometry";this.index=null;this.attributes={};this.morphAttributes={};this.groups=[];this.boundingSphere=this.boundingBox=null;this.drawRange={start:0,count:Infinity};this.userData={}} +function Rb(a,b,c,d,e,f){N.call(this);this.type="BoxGeometry";this.parameters={width:a,height:b,depth:c,widthSegments:d,heightSegments:e,depthSegments:f};this.fromBufferGeometry(new ub(a,b,c,d,e,f));this.mergeVertices()}function ub(a,b,c,d,e,f){function g(a,b,c,d,e,f,g,l,ua,F,Zf){var r=f/ua,u=g/F,x=f/2,w=g/2,A=l/2;g=ua+1;var y=F+1,X=f=0,Q,J,D=new n;for(J=0;Jm;m++){if(q=d[m])if(h=q[0],k=q[1]){p&&e.addAttribute("morphTarget"+m, +p[h]);f&&e.addAttribute("morphNormal"+m,f[h]);c[m]=k;continue}c[m]=0}g.getUniforms().setValue(a,"morphTargetInfluences",c)}}}function kg(a,b){var c={};return{update:function(d){var e=b.render.frame,f=d.geometry,g=a.get(d,f);c[g.id]!==e&&(f.isGeometry&&g.updateFromObject(d),a.update(g),c[g.id]=e);return g},dispose:function(){c={}}}}function bb(a,b,c,d,e,f,g,h,k,m){a=void 0!==a?a:[];W.call(this,a,void 0!==b?b:301,c,d,e,f,void 0!==g?g:1022,h,k,m);this.flipY=!1}function Sb(a,b,c,d){W.call(this,null); +this.image={data:a,width:b,height:c,depth:d};this.minFilter=this.magFilter=1003;this.wrapR=1001;this.flipY=this.generateMipmaps=!1}function Tb(a,b,c,d){W.call(this,null);this.image={data:a,width:b,height:c,depth:d};this.minFilter=this.magFilter=1003;this.wrapR=1001;this.flipY=this.generateMipmaps=!1}function Ub(a,b,c){var d=a[0];if(0>=d||0/gm,function(a,c){a=T[c];if(void 0===a)throw Error("Can not resolve #include <"+c+">");return ee(a)})}function kf(a){return a.replace(/#pragma unroll_loop[\s]+?for \( int i = (\d+); i < (\d+); i \+\+ \) \{([\s\S]+?)(?=\})\}/g, +function(a,c,d,e){a="";for(c=parseInt(c);cd||a.height>d)e=d/Math.max(a.width,a.height);if(1>e||!0===b){if("undefined"!==typeof HTMLImageElement&&a instanceof HTMLImageElement||"undefined"!==typeof HTMLCanvasElement&&a instanceof HTMLCanvasElement||"undefined"!==typeof ImageBitmap&&a instanceof ImageBitmap)return d=b?K.floorPowerOfTwo:Math.floor,b=d(e*a.width),e=d(e*a.height), +void 0===C&&(C=h(b,e)),c=c?h(b,e):C,c.width=b,c.height=e,c.getContext("2d").drawImage(a,0,0,b,e),console.warn("THREE.WebGLRenderer: Texture has been resized from ("+a.width+"x"+a.height+") to ("+b+"x"+e+")."),c;"data"in a&&console.warn("THREE.WebGLRenderer: Image in DataTexture is too big ("+a.width+"x"+a.height+").")}return a}function m(a){return K.isPowerOfTwo(a.width)&&K.isPowerOfTwo(a.height)}function p(a,b){return a.generateMipmaps&&b&&1003!==a.minFilter&&1006!==a.minFilter}function q(b,c,e, +f){a.generateMipmap(b);d.get(c).__maxMipLevel=Math.log(Math.max(e,f))*Math.LOG2E}function v(a,c){if(!e.isWebGL2)return a;var d=a;6403===a&&(5126===c&&(d=33326),5131===c&&(d=33325),5121===c&&(d=33321));6407===a&&(5126===c&&(d=34837),5131===c&&(d=34843),5121===c&&(d=32849));6408===a&&(5126===c&&(d=34836),5131===c&&(d=34842),5121===c&&(d=32856));33325===d||33326===d||34842===d||34836===d?b.get("EXT_color_buffer_float"):(34843===d||34837===d)&&console.warn("THREE.WebGLRenderer: Floating point textures with RGB format not supported. Please use RGBA instead."); +return d}function l(a){return 1003===a||1004===a||1005===a?9728:9729}function r(b){b=b.target;b.removeEventListener("dispose",r);var c=d.get(b);void 0!==c.__webglInit&&(a.deleteTexture(c.__webglTexture),d.remove(b));b.isVideoTexture&&delete E[b.id];g.memory.textures--}function u(b){b=b.target;b.removeEventListener("dispose",u);var c=d.get(b),e=d.get(b.texture);if(b){void 0!==e.__webglTexture&&a.deleteTexture(e.__webglTexture);b.depthTexture&&b.depthTexture.dispose();if(b.isWebGLRenderTargetCube)for(e= +0;6>e;e++)a.deleteFramebuffer(c.__webglFramebuffer[e]),c.__webglDepthbuffer&&a.deleteRenderbuffer(c.__webglDepthbuffer[e]);else a.deleteFramebuffer(c.__webglFramebuffer),c.__webglDepthbuffer&&a.deleteRenderbuffer(c.__webglDepthbuffer);d.remove(b.texture);d.remove(b)}g.memory.textures--}function n(a,b){var e=d.get(a);if(a.isVideoTexture){var f=a.id,h=g.render.frame;E[f]!==h&&(E[f]=h,a.update())}if(0r;r++)t[r]=g||l?l?b.image[r].image: +b.image[r]:k(b.image[r],!1,!0,e.maxCubemapSize);var u=t[0],n=m(u)||e.isWebGL2,x=f.convert(b.format),w=f.convert(b.type),Q=v(x,w);y(34067,b,n);for(r=0;6>r;r++)if(g)for(var X,J=t[r].mipmaps,A=0,F=J.length;A=e.maxTextures&&console.warn("THREE.WebGLTextures: Trying to use "+a+" texture units while this GPU supports only "+e.maxTextures);z+=1;return a};this.resetTextureUnits=function(){z=0};this.setTexture2D=n;this.setTexture2DArray=function(a,b){var e=d.get(a);0r;r++)h.__webglFramebuffer[r]=a.createFramebuffer();else if(h.__webglFramebuffer=a.createFramebuffer(),r)if(e.isWebGL2){h.__webglMultisampledFramebuffer= +a.createFramebuffer();h.__webglColorRenderbuffer=a.createRenderbuffer();a.bindRenderbuffer(36161,h.__webglColorRenderbuffer);r=f.convert(b.texture.format);var x=f.convert(b.texture.type);r=v(r,x);x=B(b);a.renderbufferStorageMultisample(36161,x,r,b.width,b.height);a.bindFramebuffer(36160,h.__webglMultisampledFramebuffer);a.framebufferRenderbuffer(36160,36064,36161,h.__webglColorRenderbuffer);a.bindRenderbuffer(36161,null);b.depthBuffer&&(h.__webglDepthRenderbuffer=a.createRenderbuffer(),F(h.__webglDepthRenderbuffer, +b,!0));a.bindFramebuffer(36160,null)}else console.warn("THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.");if(l){c.bindTexture(34067,k.__webglTexture);y(34067,b.texture,t);for(r=0;6>r;r++)ua(h.__webglFramebuffer[r],b,36064,34069+r);p(b.texture,t)&&q(34067,b.texture,b.width,b.height);c.bindTexture(34067,null)}else c.bindTexture(3553,k.__webglTexture),y(3553,b.texture,t),ua(h.__webglFramebuffer,b,36064,3553),p(b.texture,t)&&q(3553,b.texture,b.width,b.height),c.bindTexture(3553, +null);if(b.depthBuffer){h=d.get(b);k=!0===b.isWebGLRenderTargetCube;if(b.depthTexture){if(k)throw Error("target.depthTexture not supported in Cube render targets");if(b&&b.isWebGLRenderTargetCube)throw Error("Depth Texture with cube render targets is not supported");a.bindFramebuffer(36160,h.__webglFramebuffer);if(!b.depthTexture||!b.depthTexture.isDepthTexture)throw Error("renderTarget.depthTexture must be an instance of THREE.DepthTexture");d.get(b.depthTexture).__webglTexture&&b.depthTexture.image.width=== +b.width&&b.depthTexture.image.height===b.height||(b.depthTexture.image.width=b.width,b.depthTexture.image.height=b.height,b.depthTexture.needsUpdate=!0);n(b.depthTexture,0);h=d.get(b.depthTexture).__webglTexture;if(1026===b.depthTexture.format)a.framebufferTexture2D(36160,36096,3553,h,0);else if(1027===b.depthTexture.format)a.framebufferTexture2D(36160,33306,3553,h,0);else throw Error("Unknown depthTexture format");}else if(k)for(h.__webglDepthbuffer=[],k=0;6>k;k++)a.bindFramebuffer(36160,h.__webglFramebuffer[k]), +h.__webglDepthbuffer[k]=a.createRenderbuffer(),F(h.__webglDepthbuffer[k],b);else a.bindFramebuffer(36160,h.__webglFramebuffer),h.__webglDepthbuffer=a.createRenderbuffer(),F(h.__webglDepthbuffer,b);a.bindFramebuffer(36160,null)}};this.updateRenderTargetMipmap=function(a){var b=a.texture,f=m(a)||e.isWebGL2;if(p(b,f)){f=a.isWebGLRenderTargetCube?34067:3553;var g=d.get(b).__webglTexture;c.bindTexture(f,g);q(f,b,a.width,a.height);c.bindTexture(f,null)}};this.updateMultisampleRenderTarget=function(b){if(b.isWebGLMultisampleRenderTarget)if(e.isWebGL2){var c= +d.get(b);a.bindFramebuffer(36008,c.__webglMultisampledFramebuffer);a.bindFramebuffer(36009,c.__webglFramebuffer);c=b.width;var f=b.height,g=16384;b.depthBuffer&&(g|=256);b.stencilBuffer&&(g|=1024);a.blitFramebuffer(0,0,c,f,0,0,c,f,g,9728)}else console.warn("THREE.WebGLRenderer: WebGLMultisampleRenderTarget can only be used with WebGL2.")};this.safeSetTexture2D=function(a,b){a&&a.isWebGLRenderTarget&&(!1===G&&(console.warn("THREE.WebGLTextures.safeSetTexture2D: don't use render targets as textures. Use their .texture property instead."), +G=!0),a=a.texture);n(a,b)};this.safeSetTextureCube=function(a,b){a&&a.isWebGLRenderTargetCube&&(!1===I&&(console.warn("THREE.WebGLTextures.safeSetTextureCube: don't use cube render targets as textures. Use their .texture property instead."),I=!0),a=a.texture);a&&a.isCubeTexture||Array.isArray(a.image)&&6===a.image.length?A(a,b):w(a,b)}}function pf(a,b,c){return{convert:function(a){if(1E3===a)return 10497;if(1001===a)return 33071;if(1002===a)return 33648;if(1003===a)return 9728;if(1004===a)return 9984; +if(1005===a)return 9986;if(1006===a)return 9729;if(1007===a)return 9985;if(1008===a)return 9987;if(1009===a)return 5121;if(1017===a)return 32819;if(1018===a)return 32820;if(1019===a)return 33635;if(1010===a)return 5120;if(1011===a)return 5122;if(1012===a)return 5123;if(1013===a)return 5124;if(1014===a)return 5125;if(1015===a)return 5126;if(1016===a){if(c.isWebGL2)return 5131;var d=b.get("OES_texture_half_float");if(null!==d)return d.HALF_FLOAT_OES}if(1021===a)return 6406;if(1022===a)return 6407;if(1023=== +a)return 6408;if(1024===a)return 6409;if(1025===a)return 6410;if(1026===a)return 6402;if(1027===a)return 34041;if(1028===a)return 6403;if(100===a)return 32774;if(101===a)return 32778;if(102===a)return 32779;if(200===a)return 0;if(201===a)return 1;if(202===a)return 768;if(203===a)return 769;if(204===a)return 770;if(205===a)return 771;if(206===a)return 772;if(207===a)return 773;if(208===a)return 774;if(209===a)return 775;if(210===a)return 776;if(33776===a||33777===a||33778===a||33779===a)if(d=b.get("WEBGL_compressed_texture_s3tc"), +null!==d){if(33776===a)return d.COMPRESSED_RGB_S3TC_DXT1_EXT;if(33777===a)return d.COMPRESSED_RGBA_S3TC_DXT1_EXT;if(33778===a)return d.COMPRESSED_RGBA_S3TC_DXT3_EXT;if(33779===a)return d.COMPRESSED_RGBA_S3TC_DXT5_EXT}if(35840===a||35841===a||35842===a||35843===a)if(d=b.get("WEBGL_compressed_texture_pvrtc"),null!==d){if(35840===a)return d.COMPRESSED_RGB_PVRTC_4BPPV1_IMG;if(35841===a)return d.COMPRESSED_RGB_PVRTC_2BPPV1_IMG;if(35842===a)return d.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG;if(35843===a)return d.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG}if(36196=== +a&&(d=b.get("WEBGL_compressed_texture_etc1"),null!==d))return d.COMPRESSED_RGB_ETC1_WEBGL;if(37808===a||37809===a||37810===a||37811===a||37812===a||37813===a||37814===a||37815===a||37816===a||37817===a||37818===a||37819===a||37820===a||37821===a)if(d=b.get("WEBGL_compressed_texture_astc"),null!==d)return a;if(103===a||104===a){if(c.isWebGL2){if(103===a)return 32775;if(104===a)return 32776}d=b.get("EXT_blend_minmax");if(null!==d){if(103===a)return d.MIN_EXT;if(104===a)return d.MAX_EXT}}if(1020===a){if(c.isWebGL2)return 34042; +d=b.get("WEBGL_depth_texture");if(null!==d)return d.UNSIGNED_INT_24_8_WEBGL}return 0}}}function Vb(){C.call(this);this.type="Group"}function Xa(){C.call(this);this.type="Camera";this.matrixWorldInverse=new P;this.projectionMatrix=new P;this.projectionMatrixInverse=new P}function ja(a,b,c,d){Xa.call(this);this.type="PerspectiveCamera";this.fov=void 0!==a?a:50;this.zoom=1;this.near=void 0!==c?c:.1;this.far=void 0!==d?d:2E3;this.focus=10;this.aspect=void 0!==b?b:1;this.view=null;this.filmGauge=35;this.filmOffset= +0;this.updateProjectionMatrix()}function Gc(a){ja.call(this);this.cameras=a||[]}function qf(a,b,c){rf.setFromMatrixPosition(b.matrixWorld);sf.setFromMatrixPosition(c.matrixWorld);var d=rf.distanceTo(sf),e=b.projectionMatrix.elements,f=c.projectionMatrix.elements,g=e[14]/(e[10]-1);c=e[14]/(e[10]+1);var h=(e[9]+1)/e[5],k=(e[9]-1)/e[5],m=(e[8]-1)/e[0],p=(f[8]+1)/f[0];e=g*m;f=g*p;p=d/(-m+p);m=p*-m;b.matrixWorld.decompose(a.position,a.quaternion,a.scale);a.translateX(m);a.translateZ(p);a.matrixWorld.compose(a.position, +a.quaternion,a.scale);a.matrixWorldInverse.getInverse(a.matrixWorld);b=g+p;g=c+p;a.projectionMatrix.makePerspective(e-m,f+(d-m),h*c/g*b,k*c/g*b,b,g)}function tf(a){function b(){return null!==e&&!0===e.isPresenting}function c(){if(b()){var c=e.getEyeParameters("left"),f=c.renderWidth*p;c=c.renderHeight*p;y=a.getPixelRatio();a.getSize(w);a.setDrawingBufferSize(2*f,c,1);J.start()}else d.enabled&&a.setDrawingBufferSize(w.width,w.height,y),J.stop()}var d=this,e=null,f=null,g=null,h=[],k=new P,m=new P, +p=1,q="stage";"undefined"!==typeof window&&"VRFrameData"in window&&(f=new window.VRFrameData,window.addEventListener("vrdisplaypresentchange",c,!1));var v=new P,l=new aa,r=new n,u=new ja;u.bounds=new Y(0,0,.5,1);u.layers.enable(1);var x=new ja;x.bounds=new Y(.5,0,.5,1);x.layers.enable(2);var A=new Gc([u,x]);A.layers.enable(1);A.layers.enable(2);var w=new B,y,D=[];this.enabled=!1;this.getController=function(a){var b=h[a];void 0===b&&(b=new Vb,b.matrixAutoUpdate=!1,b.visible=!1,h[a]=b);return b};this.getDevice= +function(){return e};this.setDevice=function(a){void 0!==a&&(e=a);J.setContext(a)};this.setFramebufferScaleFactor=function(a){p=a};this.setFrameOfReferenceType=function(a){q=a};this.setPoseTarget=function(a){void 0!==a&&(g=a)};this.getCamera=function(a){var c="stage"===q?1.6:0;if(!1===b())return a.position.set(0,c,0),a.rotation.set(0,0,0),a;e.depthNear=a.near;e.depthFar=a.far;e.getFrameData(f);if("stage"===q){var d=e.stageParameters;d?k.fromArray(d.sittingToStandingTransform):k.makeTranslation(0, +c,0)}c=f.pose;d=null!==g?g:a;d.matrix.copy(k);d.matrix.decompose(d.position,d.quaternion,d.scale);null!==c.orientation&&(l.fromArray(c.orientation),d.quaternion.multiply(l));null!==c.position&&(l.setFromRotationMatrix(k),r.fromArray(c.position),r.applyQuaternion(l),d.position.add(r));d.updateMatrixWorld();u.near=a.near;x.near=a.near;u.far=a.far;x.far=a.far;u.matrixWorldInverse.fromArray(f.leftViewMatrix);x.matrixWorldInverse.fromArray(f.rightViewMatrix);m.getInverse(k);"stage"===q&&(u.matrixWorldInverse.multiply(m), +x.matrixWorldInverse.multiply(m));a=d.parent;null!==a&&(v.getInverse(a.matrixWorld),u.matrixWorldInverse.multiply(v),x.matrixWorldInverse.multiply(v));u.matrixWorld.getInverse(u.matrixWorldInverse);x.matrixWorld.getInverse(x.matrixWorldInverse);u.projectionMatrix.fromArray(f.leftProjectionMatrix);x.projectionMatrix.fromArray(f.rightProjectionMatrix);qf(A,u,x);a=e.getLayers();a.length&&(a=a[0],null!==a.leftBounds&&4===a.leftBounds.length&&u.bounds.fromArray(a.leftBounds),null!==a.rightBounds&&4=== +a.rightBounds.length&&x.bounds.fromArray(a.rightBounds));a:for(a=0;af.matrixWorld.determinant();ca.setMaterial(e,h);var k=l(a,c,e,f),m=!1;if(b!==d.id||O!==k.id||da!==(!0===e.wireframe))b=d.id,O=k.id,da=!0===e.wireframe,m=!0;f.morphTargetInfluences&&(va.update(f,d,e,k),m=!0);h=d.index;var p=d.attributes.position;c=1;!0===e.wireframe&&(h=sa.getWireframeAttribute(d),c=2);a=wa;if(null!==h){var q=pa.get(h);a=ya;a.setIndex(q)}if(m){if(d&& +d.isInstancedBufferGeometry&&!Aa.isWebGL2&&null===na.get("ANGLE_instanced_arrays"))console.error("THREE.WebGLRenderer.setupVertexAttributes: using THREE.InstancedBufferGeometry but hardware does not support extension ANGLE_instanced_arrays.");else{ca.initAttributes();m=d.attributes;k=k.getAttributes();var v=e.defaultAttributeValues;for(D in k){var r=k[D];if(0<=r){var t=m[D];if(void 0!==t){var n=t.normalized,u=t.itemSize,x=pa.get(t);if(void 0!==x){var w=x.buffer,A=x.type;x=x.bytesPerElement;if(t.isInterleavedBufferAttribute){var y= +t.data,J=y.stride;t=t.offset;y&&y.isInstancedInterleavedBuffer?(ca.enableAttributeAndDivisor(r,y.meshPerAttribute),void 0===d.maxInstancedCount&&(d.maxInstancedCount=y.meshPerAttribute*y.count)):ca.enableAttribute(r);L.bindBuffer(34962,w);L.vertexAttribPointer(r,u,A,n,J*x,t*x)}else t.isInstancedBufferAttribute?(ca.enableAttributeAndDivisor(r,t.meshPerAttribute),void 0===d.maxInstancedCount&&(d.maxInstancedCount=t.meshPerAttribute*t.count)):ca.enableAttribute(r),L.bindBuffer(34962,w),L.vertexAttribPointer(r, +u,A,n,0,0)}}else if(void 0!==v&&(n=v[D],void 0!==n))switch(n.length){case 2:L.vertexAttrib2fv(r,n);break;case 3:L.vertexAttrib3fv(r,n);break;case 4:L.vertexAttrib4fv(r,n);break;default:L.vertexAttrib1fv(r,n)}}}ca.disableUnusedAttributes()}null!==h&&L.bindBuffer(34963,q.buffer)}q=Infinity;null!==h?q=h.count:void 0!==p&&(q=p.count);h=d.drawRange.start*c;p=null!==g?g.start*c:0;var D=Math.max(h,p);g=Math.max(0,Math.min(q,h+d.drawRange.count*c,p+(null!==g?g.count*c:Infinity))-1-D+1);if(0!==g){if(f.isMesh)if(!0=== +e.wireframe)ca.setLineWidth(e.wireframeLinewidth*(null===N?H:1)),a.setMode(1);else switch(f.drawMode){case 0:a.setMode(4);break;case 1:a.setMode(5);break;case 2:a.setMode(6)}else f.isLine?(e=e.linewidth,void 0===e&&(e=1),ca.setLineWidth(e*(null===N?H:1)),f.isLineSegments?a.setMode(1):f.isLineLoop?a.setMode(2):a.setMode(3)):f.isPoints?a.setMode(0):f.isSprite&&a.setMode(4);d&&d.isInstancedBufferGeometry?0c;c++){var q=p[h[c]];var l=p[h[(c+1)%3]];f[0]=Math.min(q,l);f[1]=Math.max(q,l);q=f[0]+","+f[1];void 0===g[q]&&(g[q]={index1:f[0],index2:f[1]})}}for(q in g)m=g[q],h=a.vertices[m.index1],b.push(h.x,h.y,h.z),h=a.vertices[m.index2],b.push(h.x,h.y,h.z)}else if(a&&a.isBufferGeometry)if(h=new n,null!==a.index){k= +a.attributes.position;p=a.index;var t=a.groups;0===t.length&&(t=[{start:0,count:p.count,materialIndex:0}]);a=0;for(e=t.length;ac;c++)q=p.getX(m+c),l=p.getX(m+(c+1)%3),f[0]=Math.min(q,l),f[1]=Math.max(q,l),q=f[0]+","+f[1],void 0===g[q]&&(g[q]={index1:f[0],index2:f[1]});for(q in g)m=g[q],h.fromBufferAttribute(k,m.index1),b.push(h.x,h.y,h.z),h.fromBufferAttribute(k,m.index2),b.push(h.x,h.y,h.z)}else for(k=a.attributes.position,m=0,d= +k.count/3;mc;c++)g=3*m+c,h.fromBufferAttribute(k,g),b.push(h.x,h.y,h.z),g=3*m+(c+1)%3,h.fromBufferAttribute(k,g),b.push(h.x,h.y,h.z);this.addAttribute("position",new E(b,3))}function Nc(a,b,c){N.call(this);this.type="ParametricGeometry";this.parameters={func:a,slices:b,stacks:c};this.fromBufferGeometry(new $b(a,b,c));this.mergeVertices()}function $b(a,b,c){z.call(this);this.type="ParametricBufferGeometry";this.parameters={func:a,slices:b,stacks:c};var d=[],e=[],f=[],g=[],h=new n, +k=new n,m=new n,p=new n,q=new n,l,t;3>a.length&&console.error("THREE.ParametricGeometry: Function must now modify a Vector3 as third parameter.");var r=b+1;for(l=0;l<=c;l++){var u=l/c;for(t=0;t<=b;t++){var x=t/b;a(x,u,k);e.push(k.x,k.y,k.z);0<=x-1E-5?(a(x-1E-5,u,m),p.subVectors(k,m)):(a(x+1E-5,u,m),p.subVectors(m,k));0<=u-1E-5?(a(x,u-1E-5,m),q.subVectors(k,m)):(a(x,u+1E-5,m),q.subVectors(m,k));h.crossVectors(p,q).normalize();f.push(h.x,h.y,h.z);g.push(x,u)}}for(l=0;ld&&1===a.x&&(k[b]=a.x-1);0===c.x&&0===c.z&&(k[b]=d/2/Math.PI+.5)}z.call(this);this.type="PolyhedronBufferGeometry";this.parameters={vertices:a,indices:b,radius:c,detail:d};c=c||1;d=d||0;var h=[],k=[];(function(a){for(var c=new n,d=new n,g=new n,h=0;he&&(.2>b&&(k[a+0]+=1),.2>c&&(k[a+2]+=1),.2>d&&(k[a+4]+=1))})();this.addAttribute("position", +new E(h,3));this.addAttribute("normal",new E(h.slice(),3));this.addAttribute("uv",new E(k,2));0===d?this.computeVertexNormals():this.normalizeNormals()}function Pc(a,b){N.call(this);this.type="TetrahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new ac(a,b));this.mergeVertices()}function ac(a,b){ka.call(this,[1,1,1,-1,-1,1,-1,1,-1,1,-1,-1],[2,1,0,0,3,2,1,3,0,2,3,1],a,b);this.type="TetrahedronBufferGeometry";this.parameters={radius:a,detail:b}}function Qc(a,b){N.call(this); +this.type="OctahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new yb(a,b));this.mergeVertices()}function yb(a,b){ka.call(this,[1,0,0,-1,0,0,0,1,0,0,-1,0,0,0,1,0,0,-1],[0,2,4,0,4,3,0,3,5,0,5,2,1,2,5,1,5,3,1,3,4,1,4,2],a,b);this.type="OctahedronBufferGeometry";this.parameters={radius:a,detail:b}}function Rc(a,b){N.call(this);this.type="IcosahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new bc(a,b));this.mergeVertices()}function bc(a,b){var c= +(1+Math.sqrt(5))/2;ka.call(this,[-1,c,0,1,c,0,-1,-c,0,1,-c,0,0,-1,c,0,1,c,0,-1,-c,0,1,-c,c,0,-1,c,0,1,-c,0,-1,-c,0,1],[0,11,5,0,5,1,0,1,7,0,7,10,0,10,11,1,5,9,5,11,4,11,10,2,10,7,6,7,1,8,3,9,4,3,4,2,3,2,6,3,6,8,3,8,9,4,9,5,2,4,11,6,2,10,8,6,7,9,8,1],a,b);this.type="IcosahedronBufferGeometry";this.parameters={radius:a,detail:b}}function Sc(a,b){N.call(this);this.type="DodecahedronGeometry";this.parameters={radius:a,detail:b};this.fromBufferGeometry(new cc(a,b));this.mergeVertices()}function cc(a,b){var c= +(1+Math.sqrt(5))/2,d=1/c;ka.call(this,[-1,-1,-1,-1,-1,1,-1,1,-1,-1,1,1,1,-1,-1,1,-1,1,1,1,-1,1,1,1,0,-d,-c,0,-d,c,0,d,-c,0,d,c,-d,-c,0,-d,c,0,d,-c,0,d,c,0,-c,0,-d,c,0,-d,-c,0,d,c,0,d],[3,11,7,3,7,15,3,15,13,7,19,17,7,17,6,7,6,15,17,4,8,17,8,10,17,10,6,8,0,16,8,16,2,8,2,10,0,12,1,0,1,18,0,18,16,6,10,2,6,2,13,6,13,15,2,16,18,2,18,3,2,3,13,18,1,9,18,9,11,18,11,3,4,14,12,4,12,0,4,0,8,11,9,5,11,5,19,11,19,7,19,5,14,19,14,4,19,4,17,1,12,14,1,14,5,1,5,9],a,b);this.type="DodecahedronBufferGeometry";this.parameters= +{radius:a,detail:b}}function Tc(a,b,c,d,e,f){N.call(this);this.type="TubeGeometry";this.parameters={path:a,tubularSegments:b,radius:c,radialSegments:d,closed:e};void 0!==f&&console.warn("THREE.TubeGeometry: taper has been removed.");a=new zb(a,b,c,d,e);this.tangents=a.tangents;this.normals=a.normals;this.binormals=a.binormals;this.fromBufferGeometry(a);this.mergeVertices()}function zb(a,b,c,d,e){function f(e){p=a.getPointAt(e/b,p);var f=g.normals[e];e=g.binormals[e];for(l=0;l<=d;l++){var m=l/d*Math.PI* +2,q=Math.sin(m);m=-Math.cos(m);k.x=m*f.x+q*e.x;k.y=m*f.y+q*e.y;k.z=m*f.z+q*e.z;k.normalize();r.push(k.x,k.y,k.z);h.x=p.x+c*k.x;h.y=p.y+c*k.y;h.z=p.z+c*k.z;t.push(h.x,h.y,h.z)}}z.call(this);this.type="TubeBufferGeometry";this.parameters={path:a,tubularSegments:b,radius:c,radialSegments:d,closed:e};b=b||64;c=c||1;d=d||8;e=e||!1;var g=a.computeFrenetFrames(b,e);this.tangents=g.tangents;this.normals=g.normals;this.binormals=g.binormals;var h=new n,k=new n,m=new B,p=new n,q,l,t=[],r=[],u=[],x=[];for(q= +0;q=b;e-=d)f=wf(e,a[e],a[e+1],f);f&&Ab(f,f.next)&&(Wc(f),f=f.next);return f}function Xc(a,b){if(!a)return a; +b||(b=a);do{var c=!1;if(a.steiner||!Ab(a,a.next)&&0!==wa(a.prev,a,a.next))a=a.next;else{Wc(a);a=b=a.prev;if(a===a.next)break;c=!0}}while(c||a!==b);return b}function Yc(a,b,c,d,e,f,g){if(a){if(!g&&f){var h=a,k=h;do null===k.z&&(k.z=je(k.x,k.y,d,e,f)),k.prevZ=k.prev,k=k.nextZ=k.next;while(k!==h);k.prevZ.nextZ=null;k.prevZ=null;h=k;var m,p,q,l,t=1;do{k=h;var r=h=null;for(p=0;k;){p++;var n=k;for(m=q=0;mq.x?p.x>t.x?p.x:t.x:q.x>t.x?q.x:t.x,y=p.y>q.y?p.y>t.y?p.y:t.y:q.y>t.y?q.y:t.y;m=je(p.x=m;){if(x!==r.prev&&x!==r.next&&Dd(p.x,p.y,q.x,q.y,t.x,t.y,x.x,x.y)&&0<=wa(x.prev,x,x.next)){r=!1;break a}x=x.prevZ}r=!0}}else a:if(r=a,p=r.prev,q=r,t=r.next,0<=wa(p,q,t))r=!1;else{for(m=r.next.next;m!==r.prev;){if(Dd(p.x,p.y,q.x,q.y,t.x,t.y,m.x,m.y)&&0<=wa(m.prev,m,m.next)){r=!1;break a}m=m.next}r=!0}if(r)b.push(k.i/c),b.push(a.i/c),b.push(n.i/c),Wc(a),h=a=n.next;else if(a=n,a===h){if(!g)Yc(Xc(a),b,c,d,e,f,1);else if(1===g){g=b;h=c;k=a;do n=k.prev, +r=k.next.next,!Ab(n,r)&&xf(n,k,k.next,r)&&Zc(n,r)&&Zc(r,n)&&(g.push(n.i/h),g.push(k.i/h),g.push(r.i/h),Wc(k),Wc(k.next),k=a=r),k=k.next;while(k!==a);a=k;Yc(a,b,c,d,e,f,2)}else if(2===g)a:{g=a;do{for(h=g.next.next;h!==g.prev;){if(k=g.i!==h.i){k=g;n=h;if(r=k.next.i!==n.i&&k.prev.i!==n.i){b:{r=k;do{if(r.i!==k.i&&r.next.i!==k.i&&r.i!==n.i&&r.next.i!==n.i&&xf(r,r.next,k,n)){r=!0;break b}r=r.next}while(r!==k);r=!1}r=!r}if(r=r&&Zc(k,n)&&Zc(n,k)){r=k;p=!1;q=(k.x+n.x)/2;n=(k.y+n.y)/2;do r.y>n!==r.next.y>n&& +r.next.y!==r.y&&q<(r.next.x-r.x)*(n-r.y)/(r.next.y-r.y)+r.x&&(p=!p),r=r.next;while(r!==k);r=p}k=r}if(k){a=yf(g,h);g=Xc(g,g.next);a=Xc(a,a.next);Yc(g,b,c,d,e,f);Yc(a,b,c,d,e,f);break a}h=h.next}g=g.next}while(g!==a)}break}}}}function eh(a,b){return a.x-b.x}function fh(a,b){var c=b,d=a.x,e=a.y,f=-Infinity;do{if(e<=c.y&&e>=c.next.y&&c.next.y!==c.y){var g=c.x+(e-c.y)*(c.next.x-c.x)/(c.next.y-c.y);if(g<=d&&g>f){f=g;if(g===d){if(e===c.y)return c;if(e===c.next.y)return c.next}var h=c.x=c.x&&c.x>=g&&d!==c.x&&Dd(eh.x)&&Zc(c,a)&&(h=c,m=p)}c=c.next}return h}function je(a,b,c,d,e){a=32767*(a-c)*e;b=32767*(b-d)*e;a=(a|a<<8)&16711935;a=(a|a<<4)&252645135;a=(a|a<<2)&858993459;b=(b|b<<8)&16711935;b=(b|b<<4)&252645135;b=(b|b<<2)&858993459;return(a|a<<1)&1431655765|((b|b<<1)&1431655765)<<1}function gh(a){var b= +a,c=a;do b.xwa(a.prev,a,a.next)?0<=wa(a,b,a.next)&&0<=wa(a,a.prev,b):0>wa(a,b,a.prev)|| +0>wa(a,a.next,b)}function yf(a,b){var c=new ke(a.i,a.x,a.y),d=new ke(b.i,b.x,b.y),e=a.next,f=b.prev;a.next=b;b.prev=a;c.next=e;e.prev=c;d.next=c;c.prev=d;f.next=d;d.prev=f;return d}function wf(a,b,c,d){a=new ke(a,b,c);d?(a.next=d.next,a.prev=d,d.next.prev=a,d.next=a):(a.prev=a,a.next=a);return a}function Wc(a){a.next.prev=a.prev;a.prev.next=a.next;a.prevZ&&(a.prevZ.nextZ=a.nextZ);a.nextZ&&(a.nextZ.prevZ=a.prevZ)}function ke(a,b,c){this.i=a;this.x=b;this.y=c;this.nextZ=this.prevZ=this.z=this.next= +this.prev=null;this.steiner=!1}function zf(a){var b=a.length;2Number.EPSILON){var k=Math.sqrt(h),m=Math.sqrt(f*f+g*g);h=b.x-e/k;b=b.y+d/k;g=((c.x-g/m-h)*g-(c.y+f/m-b)*f)/(d*g-e*f);f=h+d*g-a.x;d=b+e*g-a.y;e=f*f+d*d;if(2>=e)return new B(f,d);e=Math.sqrt(e/2)}else a=!1,d>Number.EPSILON?f>Number.EPSILON&&(a=!0):d<-Number.EPSILON?f<-Number.EPSILON&&(a=!0):Math.sign(e)===Math.sign(g)&&(a=!0),a?(f=-e,e=Math.sqrt(h)):(f=d,d=e,e=Math.sqrt(h/2));return new B(f/e,d/e)}function h(a,b){for(H=a.length;0<= +--H;){var c=H;var f=H-1;0>f&&(f=a.length-1);var g,h=w+2*F;for(g=0;gp;p++){var l=m[f[p]];var n=m[f[(p+1)%3]];d[0]=Math.min(l,n);d[1]=Math.max(l,n);l=d[0]+","+d[1];void 0===e[l]?e[l]={index1:d[0],index2:d[1], +face1:h,face2:void 0}:e[l].face2=h}for(l in e)if(d=e[l],void 0===d.face2||g[d.face1].normal.dot(g[d.face2].normal)<=b)f=a[d.index1],c.push(f.x,f.y,f.z),f=a[d.index2],c.push(f.x,f.y,f.z);this.addAttribute("position",new E(c,3))}function Fb(a,b,c,d,e,f,g,h){N.call(this);this.type="CylinderGeometry";this.parameters={radiusTop:a,radiusBottom:b,height:c,radialSegments:d,heightSegments:e,openEnded:f,thetaStart:g,thetaLength:h};this.fromBufferGeometry(new db(a,b,c,d,e,f,g,h));this.mergeVertices()}function db(a, +b,c,d,e,f,g,h){function k(c){var e,f=new B,k=new n,q=0,u=!0===c?a:b,w=!0===c?1:-1;var z=r;for(e=1;e<=d;e++)l.push(0,x*w,0),v.push(0,w,0),t.push(.5,.5),r++;var C=r;for(e=0;e<=d;e++){var E=e/d*h+g,G=Math.cos(E);E=Math.sin(E);k.x=u*E;k.y=x*w;k.z=u*G;l.push(k.x,k.y,k.z);v.push(0,w,0);f.x=.5*G+.5;f.y=.5*E*w+.5;t.push(f.x,f.y);r++}for(e=0;ethis.duration&&this.resetDuration()}function ih(a){switch(a.toLowerCase()){case "scalar":case "double":case "float":case "number":case "integer":return lc;case "vector":case "vector2":case "vector3":case "vector4":return mc;case "color":return Hd;case "quaternion":return hd;case "bool":case "boolean":return Gd;case "string":return Jd}throw Error("THREE.KeyframeTrack: Unsupported typeName: "+a);}function jh(a){if(void 0===a.type)throw Error("THREE.KeyframeTrack: track type undefined, can not parse"); +var b=ih(a.type);if(void 0===a.times){var c=[],d=[];pa.flattenJSON(a.keys,c,d,"value");a.times=c;a.values=d}return void 0!==b.parse?b.parse(a):new b(a.name,a.times,a.values,a.interpolation)}function le(a,b,c){var d=this,e=!1,f=0,g=0,h=void 0;this.onStart=void 0;this.onLoad=a;this.onProgress=b;this.onError=c;this.itemStart=function(a){g++;if(!1===e&&void 0!==d.onStart)d.onStart(a,f,g);e=!0};this.itemEnd=function(a){f++;if(void 0!==d.onProgress)d.onProgress(a,f,g);if(f===g&&(e=!1,void 0!==d.onLoad))d.onLoad()}; +this.itemError=function(a){if(void 0!==d.onError)d.onError(a)};this.resolveURL=function(a){return h?h(a):a};this.setURLModifier=function(a){h=a;return this}}function Ma(a){this.manager=void 0!==a?a:za}function Df(a){this.manager=void 0!==a?a:za}function Ef(a){this.manager=void 0!==a?a:za;this._parser=null}function me(a){this.manager=void 0!==a?a:za;this._parser=null}function id(a){this.manager=void 0!==a?a:za}function ne(a){this.manager=void 0!==a?a:za}function Kd(a){this.manager=void 0!==a?a:za} +function I(){this.type="Curve";this.arcLengthDivisions=200}function Ga(a,b,c,d,e,f,g,h){I.call(this);this.type="EllipseCurve";this.aX=a||0;this.aY=b||0;this.xRadius=c||1;this.yRadius=d||1;this.aStartAngle=e||0;this.aEndAngle=f||2*Math.PI;this.aClockwise=g||!1;this.aRotation=h||0}function nc(a,b,c,d,e,f){Ga.call(this,a,b,c,c,d,e,f);this.type="ArcCurve"}function oe(){var a=0,b=0,c=0,d=0;return{initCatmullRom:function(e,f,g,h,k){e=k*(g-e);h=k*(h-f);a=f;b=e;c=-3*f+3*g-2*e-h;d=2*f-2*g+e+h},initNonuniformCatmullRom:function(e, +f,g,h,k,m,p){e=((f-e)/k-(g-e)/(k+m)+(g-f)/m)*m;h=((g-f)/m-(h-f)/(m+p)+(h-g)/p)*m;a=f;b=e;c=-3*f+3*g-2*e-h;d=2*f-2*g+e+h},calc:function(e){var f=e*e;return a+b*e+c*f+d*f*e}}}function qa(a,b,c,d){I.call(this);this.type="CatmullRomCurve3";this.points=a||[];this.closed=b||!1;this.curveType=c||"centripetal";this.tension=d||.5}function Ff(a,b,c,d,e){b=.5*(d-b);e=.5*(e-c);var f=a*a;return(2*c-2*d+b+e)*a*f+(-3*c+3*d-2*b-e)*f+b*a+c}function jd(a,b,c,d){var e=1-a;return e*e*b+2*(1-a)*a*c+a*a*d}function kd(a, +b,c,d,e){var f=1-a,g=1-a;return f*f*f*b+3*g*g*a*c+3*(1-a)*a*a*d+a*a*a*e}function Na(a,b,c,d){I.call(this);this.type="CubicBezierCurve";this.v0=a||new B;this.v1=b||new B;this.v2=c||new B;this.v3=d||new B}function $a(a,b,c,d){I.call(this);this.type="CubicBezierCurve3";this.v0=a||new n;this.v1=b||new n;this.v2=c||new n;this.v3=d||new n}function xa(a,b){I.call(this);this.type="LineCurve";this.v1=a||new B;this.v2=b||new B}function Oa(a,b){I.call(this);this.type="LineCurve3";this.v1=a||new n;this.v2=b|| +new n}function Pa(a,b,c){I.call(this);this.type="QuadraticBezierCurve";this.v0=a||new B;this.v1=b||new B;this.v2=c||new B}function ab(a,b,c){I.call(this);this.type="QuadraticBezierCurve3";this.v0=a||new n;this.v1=b||new n;this.v2=c||new n}function Qa(a){I.call(this);this.type="SplineCurve";this.points=a||[]}function eb(){I.call(this);this.type="CurvePath";this.curves=[];this.autoClose=!1}function Ra(a){eb.call(this);this.type="Path";this.currentPoint=new B;a&&this.setFromPoints(a)}function nb(a){Ra.call(this, +a);this.uuid=K.generateUUID();this.type="Shape";this.holes=[]}function ea(a,b){C.call(this);this.type="Light";this.color=new M(a);this.intensity=void 0!==b?b:1;this.receiveShadow=void 0}function Ld(a,b,c){ea.call(this,a,c);this.type="HemisphereLight";this.castShadow=void 0;this.position.copy(C.DefaultUp);this.updateMatrix();this.groundColor=new M(b)}function Nb(a){this.camera=a;this.bias=0;this.radius=1;this.mapSize=new B(512,512);this.map=null;this.matrix=new P}function Md(){Nb.call(this,new ja(50, +1,.5,500))}function Nd(a,b,c,d,e,f){ea.call(this,a,b);this.type="SpotLight";this.position.copy(C.DefaultUp);this.updateMatrix();this.target=new C;Object.defineProperty(this,"power",{get:function(){return this.intensity*Math.PI},set:function(a){this.intensity=a/Math.PI}});this.distance=void 0!==c?c:0;this.angle=void 0!==d?d:Math.PI/3;this.penumbra=void 0!==e?e:0;this.decay=void 0!==f?f:1;this.shadow=new Md}function Od(a,b,c,d){ea.call(this,a,b);this.type="PointLight";Object.defineProperty(this,"power", +{get:function(){return 4*this.intensity*Math.PI},set:function(a){this.intensity=a/(4*Math.PI)}});this.distance=void 0!==c?c:0;this.decay=void 0!==d?d:1;this.shadow=new Nb(new ja(90,1,.5,500))}function ld(a,b,c,d,e,f){Xa.call(this);this.type="OrthographicCamera";this.zoom=1;this.view=null;this.left=void 0!==a?a:-1;this.right=void 0!==b?b:1;this.top=void 0!==c?c:1;this.bottom=void 0!==d?d:-1;this.near=void 0!==e?e:.1;this.far=void 0!==f?f:2E3;this.updateProjectionMatrix()}function Pd(){Nb.call(this, +new ld(-5,5,5,-5,.5,500))}function Qd(a,b){ea.call(this,a,b);this.type="DirectionalLight";this.position.copy(C.DefaultUp);this.updateMatrix();this.target=new C;this.shadow=new Pd}function Rd(a,b){ea.call(this,a,b);this.type="AmbientLight";this.castShadow=void 0}function Sd(a,b,c,d){ea.call(this,a,b);this.type="RectAreaLight";this.width=void 0!==c?c:10;this.height=void 0!==d?d:10}function Td(a){this.manager=void 0!==a?a:za;this.textures={}}function pe(a){this.manager=void 0!==a?a:za}function qe(a){this.manager= +void 0!==a?a:za;this.resourcePath=""}function re(a){"undefined"===typeof createImageBitmap&&console.warn("THREE.ImageBitmapLoader: createImageBitmap() not supported.");"undefined"===typeof fetch&&console.warn("THREE.ImageBitmapLoader: fetch() not supported.");this.manager=void 0!==a?a:za;this.options=void 0}function se(){this.type="ShapePath";this.color=new M;this.subPaths=[];this.currentPath=null}function te(a){this.type="Font";this.data=a}function Gf(a){this.manager=void 0!==a?a:za}function md(){} +function ue(a){this.manager=void 0!==a?a:za}function Hf(){this.type="StereoCamera";this.aspect=1;this.eyeSep=.064;this.cameraL=new ja;this.cameraL.layers.enable(1);this.cameraL.matrixAutoUpdate=!1;this.cameraR=new ja;this.cameraR.layers.enable(2);this.cameraR.matrixAutoUpdate=!1}function nd(a,b,c,d){C.call(this);this.type="CubeCamera";var e=new ja(90,1,a,b);e.up.set(0,-1,0);e.lookAt(new n(1,0,0));this.add(e);var f=new ja(90,1,a,b);f.up.set(0,-1,0);f.lookAt(new n(-1,0,0));this.add(f);var g=new ja(90, +1,a,b);g.up.set(0,0,1);g.lookAt(new n(0,1,0));this.add(g);var h=new ja(90,1,a,b);h.up.set(0,0,-1);h.lookAt(new n(0,-1,0));this.add(h);var k=new ja(90,1,a,b);k.up.set(0,-1,0);k.lookAt(new n(0,0,1));this.add(k);var m=new ja(90,1,a,b);m.up.set(0,-1,0);m.lookAt(new n(0,0,-1));this.add(m);d=d||{format:1022,magFilter:1006,minFilter:1006};this.renderTarget=new pb(c,c,d);this.renderTarget.texture.name="CubeCamera";this.update=function(a,b){null===this.parent&&this.updateMatrixWorld();var c=a.getRenderTarget(), +d=this.renderTarget,p=d.texture.generateMipmaps;d.texture.generateMipmaps=!1;a.setRenderTarget(d,0);a.render(b,e);a.setRenderTarget(d,1);a.render(b,f);a.setRenderTarget(d,2);a.render(b,g);a.setRenderTarget(d,3);a.render(b,h);a.setRenderTarget(d,4);a.render(b,k);d.texture.generateMipmaps=p;a.setRenderTarget(d,5);a.render(b,m);a.setRenderTarget(c)};this.clear=function(a,b,c,d){for(var e=a.getRenderTarget(),f=this.renderTarget,g=0;6>g;g++)a.setRenderTarget(f,g),a.clear(b,c,d);a.setRenderTarget(e)}}function ve(a){this.autoStart= +void 0!==a?a:!0;this.elapsedTime=this.oldTime=this.startTime=0;this.running=!1}function we(){C.call(this);this.type="AudioListener";this.context=xe.getContext();this.gain=this.context.createGain();this.gain.connect(this.context.destination);this.filter=null;this.timeDelta=0}function oc(a){C.call(this);this.type="Audio";this.listener=a;this.context=a.context;this.gain=this.context.createGain();this.gain.connect(a.getInput());this.autoplay=!1;this.buffer=null;this.detune=0;this.loop=!1;this.offset= +this.startTime=0;this.playbackRate=1;this.isPlaying=!1;this.hasPlaybackControl=!0;this.sourceType="empty";this.filters=[]}function ye(a){oc.call(this,a);this.panner=this.context.createPanner();this.panner.connect(this.gain)}function ze(a,b){this.analyser=a.context.createAnalyser();this.analyser.fftSize=void 0!==b?b:2048;this.data=new Uint8Array(this.analyser.frequencyBinCount);a.getOutput().connect(this.analyser)}function Ae(a,b,c){this.binding=a;this.valueSize=c;a=Float64Array;switch(b){case "quaternion":b= +this._slerp;break;case "string":case "bool":a=Array;b=this._select;break;default:b=this._lerp}this.buffer=new a(4*c);this._mixBufferRegion=b;this.referenceCount=this.useCount=this.cumulativeWeight=0}function If(a,b,c){c=c||ma.parseTrackName(b);this._targetGroup=a;this._bindings=a.subscribe_(b,c)}function ma(a,b,c){this.path=b;this.parsedPath=c||ma.parseTrackName(b);this.node=ma.findNode(a,this.parsedPath.nodeName)||a;this.rootNode=a}function Jf(){this.uuid=K.generateUUID();this._objects=Array.prototype.slice.call(arguments); +this.nCachedObjects_=0;var a={};this._indicesByUUID=a;for(var b=0,c=arguments.length;b!==c;++b)a[arguments[b].uuid]=b;this._paths=[];this._parsedPaths=[];this._bindings=[];this._bindingsIndicesByPath={};var d=this;this.stats={objects:{get total(){return d._objects.length},get inUse(){return this.total-d.nCachedObjects_}},get bindingsPerObject(){return d._bindings.length}}}function Kf(a,b,c){this._mixer=a;this._clip=b;this._localRoot=c||null;a=b.tracks;b=a.length;c=Array(b);for(var d={endingStart:2400, +endingEnd:2400},e=0;e!==b;++e){var f=a[e].createInterpolant(null);c[e]=f;f.settings=d}this._interpolantSettings=d;this._interpolants=c;this._propertyBindings=Array(b);this._weightInterpolant=this._timeScaleInterpolant=this._byClipCacheIndex=this._cacheIndex=null;this.loop=2201;this._loopCount=-1;this._startTime=null;this.time=0;this._effectiveWeight=this.weight=this._effectiveTimeScale=this.timeScale=1;this.repetitions=Infinity;this.paused=!1;this.enabled=!0;this.clampWhenFinished=!1;this.zeroSlopeAtEnd= +this.zeroSlopeAtStart=!0}function Be(a){this._root=a;this._initMemoryManager();this.time=this._accuIndex=0;this.timeScale=1}function Ud(a,b){"string"===typeof a&&(console.warn("THREE.Uniform: Type parameter is no longer needed."),a=b);this.value=a}function Ce(){z.call(this);this.type="InstancedBufferGeometry";this.maxInstancedCount=void 0}function De(a,b,c){xb.call(this,a,b);this.meshPerAttribute=c||1}function Ee(a,b,c,d){"number"===typeof c&&(d=c,c=!1,console.error("THREE.InstancedBufferAttribute: The constructor now expects normalized as the third argument.")); +S.call(this,a,b,c);this.meshPerAttribute=d||1}function Lf(a,b,c,d){this.ray=new wb(a,b);this.near=c||0;this.far=d||Infinity;this.params={Mesh:{},Line:{},LOD:{},Points:{threshold:1},Sprite:{}};Object.defineProperties(this.params,{PointCloud:{get:function(){console.warn("THREE.Raycaster: params.PointCloud has been renamed to params.Points.");return this.Points}}})}function Mf(a,b){return a.distance-b.distance}function Fe(a,b,c,d){if(!1!==a.visible&&(a.raycast(b,c),!0===d)){a=a.children;d=0;for(var e= +a.length;dc;c++,d++){var e=c/32*Math.PI*2,f=d/32*Math.PI*2;b.push(Math.cos(e),Math.sin(e),1,Math.cos(f),Math.sin(f),1)}a.addAttribute("position",new E(b,3));b=new R({fog:!1});this.cone=new V(a,b);this.add(this.cone);this.update()}function Pf(a){var b=[];a&&a.isBone&&b.push(a);for(var c=0;c +a?-1:0b;b++)a[b]=(16>b?"0":"")+b.toString(16);return function(){var b=4294967295*Math.random()|0,d=4294967295*Math.random()|0,e=4294967295*Math.random()|0,f=4294967295*Math.random()|0;return(a[b&255]+a[b>>8&255]+a[b>>16&255]+a[b>>24&255]+"-"+a[d&255]+a[d>>8&255]+"-"+a[d>>16&15|64]+a[d>>24&255]+ +"-"+a[e&63|128]+a[e>>8&255]+"-"+a[e>>16&255]+a[e>>24&255]+a[f&255]+a[f>>8&255]+a[f>>16&255]+a[f>>24&255]).toUpperCase()}}(),clamp:function(a,b,c){return Math.max(b,Math.min(c,a))},euclideanModulo:function(a,b){return(a%b+b)%b},mapLinear:function(a,b,c,d,e){return d+(a-b)*(e-d)/(c-b)},lerp:function(a,b,c){return(1-c)*a+c*b},smoothstep:function(a,b,c){if(a<=b)return 0;if(a>=c)return 1;a=(a-b)/(c-b);return a*a*(3-2*a)},smootherstep:function(a,b,c){if(a<=b)return 0;if(a>=c)return 1;a=(a-b)/(c-b);return a* +a*a*(a*(6*a-15)+10)},randInt:function(a,b){return a+Math.floor(Math.random()*(b-a+1))},randFloat:function(a,b){return a+Math.random()*(b-a)},randFloatSpread:function(a){return a*(.5-Math.random())},degToRad:function(a){return a*K.DEG2RAD},radToDeg:function(a){return a*K.RAD2DEG},isPowerOfTwo:function(a){return 0===(a&a-1)&&0!==a},ceilPowerOfTwo:function(a){return Math.pow(2,Math.ceil(Math.log(a)/Math.LN2))},floorPowerOfTwo:function(a){return Math.pow(2,Math.floor(Math.log(a)/Math.LN2))}};Object.defineProperties(B.prototype, +{width:{get:function(){return this.x},set:function(a){this.x=a}},height:{get:function(){return this.y},set:function(a){this.y=a}}});Object.assign(B.prototype,{isVector2:!0,set:function(a,b){this.x=a;this.y=b;return this},setScalar:function(a){this.y=this.x=a;return this},setX:function(a){this.x=a;return this},setY:function(a){this.y=a;return this},setComponent:function(a,b){switch(a){case 0:this.x=b;break;case 1:this.y=b;break;default:throw Error("index is out of range: "+a);}return this},getComponent:function(a){switch(a){case 0:return this.x; +case 1:return this.y;default:throw Error("index is out of range: "+a);}},clone:function(){return new this.constructor(this.x,this.y)},copy:function(a){this.x=a.x;this.y=a.y;return this},add:function(a,b){if(void 0!==b)return console.warn("THREE.Vector2: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(a,b);this.x+=a.x;this.y+=a.y;return this},addScalar:function(a){this.x+=a;this.y+=a;return this},addVectors:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;return this}, +addScaledVector:function(a,b){this.x+=a.x*b;this.y+=a.y*b;return this},sub:function(a,b){if(void 0!==b)return console.warn("THREE.Vector2: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(a,b);this.x-=a.x;this.y-=a.y;return this},subScalar:function(a){this.x-=a;this.y-=a;return this},subVectors:function(a,b){this.x=a.x-b.x;this.y=a.y-b.y;return this},multiply:function(a){this.x*=a.x;this.y*=a.y;return this},multiplyScalar:function(a){this.x*=a;this.y*=a;return this}, +divide:function(a){this.x/=a.x;this.y/=a.y;return this},divideScalar:function(a){return this.multiplyScalar(1/a)},applyMatrix3:function(a){var b=this.x,c=this.y;a=a.elements;this.x=a[0]*b+a[3]*c+a[6];this.y=a[1]*b+a[4]*c+a[7];return this},min:function(a){this.x=Math.min(this.x,a.x);this.y=Math.min(this.y,a.y);return this},max:function(a){this.x=Math.max(this.x,a.x);this.y=Math.max(this.y,a.y);return this},clamp:function(a,b){this.x=Math.max(a.x,Math.min(b.x,this.x));this.y=Math.max(a.y,Math.min(b.y, +this.y));return this},clampScalar:function(){var a=new B,b=new B;return function(c,d){a.set(c,c);b.set(d,d);return this.clamp(a,b)}}(),clampLength:function(a,b){var c=this.length();return this.divideScalar(c||1).multiplyScalar(Math.max(a,Math.min(b,c)))},floor:function(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);return this},ceil:function(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);return this},round:function(){this.x=Math.round(this.x);this.y=Math.round(this.y);return this},roundToZero:function(){this.x= +0>this.x?Math.ceil(this.x):Math.floor(this.x);this.y=0>this.y?Math.ceil(this.y):Math.floor(this.y);return this},negate:function(){this.x=-this.x;this.y=-this.y;return this},dot:function(a){return this.x*a.x+this.y*a.y},cross:function(a){return this.x*a.y-this.y*a.x},lengthSq:function(){return this.x*this.x+this.y*this.y},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},manhattanLength:function(){return Math.abs(this.x)+Math.abs(this.y)},normalize:function(){return this.divideScalar(this.length()|| +1)},angle:function(){var a=Math.atan2(this.y,this.x);0>a&&(a+=2*Math.PI);return a},distanceTo:function(a){return Math.sqrt(this.distanceToSquared(a))},distanceToSquared:function(a){var b=this.x-a.x;a=this.y-a.y;return b*b+a*a},manhattanDistanceTo:function(a){return Math.abs(this.x-a.x)+Math.abs(this.y-a.y)},setLength:function(a){return this.normalize().multiplyScalar(a)},lerp:function(a,b){this.x+=(a.x-this.x)*b;this.y+=(a.y-this.y)*b;return this},lerpVectors:function(a,b,c){return this.subVectors(b, +a).multiplyScalar(c).add(a)},equals:function(a){return a.x===this.x&&a.y===this.y},fromArray:function(a,b){void 0===b&&(b=0);this.x=a[b];this.y=a[b+1];return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);a[b]=this.x;a[b+1]=this.y;return a},fromBufferAttribute:function(a,b,c){void 0!==c&&console.warn("THREE.Vector2: offset has been removed from .fromBufferAttribute().");this.x=a.getX(b);this.y=a.getY(b);return this},rotateAround:function(a,b){var c=Math.cos(b);b=Math.sin(b);var d= +this.x-a.x,e=this.y-a.y;this.x=d*c-e*b+a.x;this.y=d*b+e*c+a.y;return this}});Object.assign(aa,{slerp:function(a,b,c,d){return c.copy(a).slerp(b,d)},slerpFlat:function(a,b,c,d,e,f,g){var h=c[d+0],k=c[d+1],m=c[d+2];c=c[d+3];d=e[f+0];var p=e[f+1],l=e[f+2];e=e[f+3];if(c!==e||h!==d||k!==p||m!==l){f=1-g;var n=h*d+k*p+m*l+c*e,t=0<=n?1:-1,r=1-n*n;r>Number.EPSILON&&(r=Math.sqrt(r),n=Math.atan2(r,n*t),f=Math.sin(f*n)/r,g=Math.sin(g*n)/r);t*=g;h=h*f+d*t;k=k*f+p*t;m=m*f+l*t;c=c*f+e*t;f===1-g&&(g=1/Math.sqrt(h* +h+k*k+m*m+c*c),h*=g,k*=g,m*=g,c*=g)}a[b]=h;a[b+1]=k;a[b+2]=m;a[b+3]=c}});Object.defineProperties(aa.prototype,{x:{get:function(){return this._x},set:function(a){this._x=a;this.onChangeCallback()}},y:{get:function(){return this._y},set:function(a){this._y=a;this.onChangeCallback()}},z:{get:function(){return this._z},set:function(a){this._z=a;this.onChangeCallback()}},w:{get:function(){return this._w},set:function(a){this._w=a;this.onChangeCallback()}}});Object.assign(aa.prototype,{isQuaternion:!0, +set:function(a,b,c,d){this._x=a;this._y=b;this._z=c;this._w=d;this.onChangeCallback();return this},clone:function(){return new this.constructor(this._x,this._y,this._z,this._w)},copy:function(a){this._x=a.x;this._y=a.y;this._z=a.z;this._w=a.w;this.onChangeCallback();return this},setFromEuler:function(a,b){if(!a||!a.isEuler)throw Error("THREE.Quaternion: .setFromEuler() now expects an Euler rotation rather than a Vector3 and order.");var c=a._x,d=a._y,e=a._z;a=a.order;var f=Math.cos,g=Math.sin,h=f(c/ +2),k=f(d/2);f=f(e/2);c=g(c/2);d=g(d/2);e=g(e/2);"XYZ"===a?(this._x=c*k*f+h*d*e,this._y=h*d*f-c*k*e,this._z=h*k*e+c*d*f,this._w=h*k*f-c*d*e):"YXZ"===a?(this._x=c*k*f+h*d*e,this._y=h*d*f-c*k*e,this._z=h*k*e-c*d*f,this._w=h*k*f+c*d*e):"ZXY"===a?(this._x=c*k*f-h*d*e,this._y=h*d*f+c*k*e,this._z=h*k*e+c*d*f,this._w=h*k*f-c*d*e):"ZYX"===a?(this._x=c*k*f-h*d*e,this._y=h*d*f+c*k*e,this._z=h*k*e-c*d*f,this._w=h*k*f+c*d*e):"YZX"===a?(this._x=c*k*f+h*d*e,this._y=h*d*f+c*k*e,this._z=h*k*e-c*d*f,this._w=h*k*f- +c*d*e):"XZY"===a&&(this._x=c*k*f-h*d*e,this._y=h*d*f-c*k*e,this._z=h*k*e+c*d*f,this._w=h*k*f+c*d*e);if(!1!==b)this.onChangeCallback();return this},setFromAxisAngle:function(a,b){b/=2;var c=Math.sin(b);this._x=a.x*c;this._y=a.y*c;this._z=a.z*c;this._w=Math.cos(b);this.onChangeCallback();return this},setFromRotationMatrix:function(a){var b=a.elements,c=b[0];a=b[4];var d=b[8],e=b[1],f=b[5],g=b[9],h=b[2],k=b[6];b=b[10];var m=c+f+b;0f&&c>b?(c=2*Math.sqrt(1+c-f-b),this._w=(k-g)/c,this._x=.25*c,this._y=(a+e)/c,this._z=(d+h)/c):f>b?(c=2*Math.sqrt(1+f-c-b),this._w=(d-h)/c,this._x=(a+e)/c,this._y=.25*c,this._z=(g+k)/c):(c=2*Math.sqrt(1+b-c-f),this._w=(e-a)/c,this._x=(d+h)/c,this._y=(g+k)/c,this._z=.25*c);this.onChangeCallback();return this},setFromUnitVectors:function(a,b){var c=a.dot(b)+1;1E-6>c?(c=0,Math.abs(a.x)>Math.abs(a.z)?(this._x=-a.y,this._y=a.x,this._z=0):(this._x=0,this._y=-a.z,this._z=a.y)):(this._x= +a.y*b.z-a.z*b.y,this._y=a.z*b.x-a.x*b.z,this._z=a.x*b.y-a.y*b.x);this._w=c;return this.normalize()},angleTo:function(a){return 2*Math.acos(Math.abs(K.clamp(this.dot(a),-1,1)))},rotateTowards:function(a,b){var c=this.angleTo(a);if(0===c)return this;this.slerp(a,Math.min(1,b/c));return this},inverse:function(){return this.conjugate()},conjugate:function(){this._x*=-1;this._y*=-1;this._z*=-1;this.onChangeCallback();return this},dot:function(a){return this._x*a._x+this._y*a._y+this._z*a._z+this._w*a._w}, +lengthSq:function(){return this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w},length:function(){return Math.sqrt(this._x*this._x+this._y*this._y+this._z*this._z+this._w*this._w)},normalize:function(){var a=this.length();0===a?(this._z=this._y=this._x=0,this._w=1):(a=1/a,this._x*=a,this._y*=a,this._z*=a,this._w*=a);this.onChangeCallback();return this},multiply:function(a,b){return void 0!==b?(console.warn("THREE.Quaternion: .multiply() now only accepts one argument. Use .multiplyQuaternions( a, b ) instead."), +this.multiplyQuaternions(a,b)):this.multiplyQuaternions(this,a)},premultiply:function(a){return this.multiplyQuaternions(a,this)},multiplyQuaternions:function(a,b){var c=a._x,d=a._y,e=a._z;a=a._w;var f=b._x,g=b._y,h=b._z;b=b._w;this._x=c*b+a*f+d*h-e*g;this._y=d*b+a*g+e*f-c*h;this._z=e*b+a*h+c*g-d*f;this._w=a*b-c*f-d*g-e*h;this.onChangeCallback();return this},slerp:function(a,b){if(0===b)return this;if(1===b)return this.copy(a);var c=this._x,d=this._y,e=this._z,f=this._w,g=f*a._w+c*a._x+d*a._y+e*a._z; +0>g?(this._w=-a._w,this._x=-a._x,this._y=-a._y,this._z=-a._z,g=-g):this.copy(a);if(1<=g)return this._w=f,this._x=c,this._y=d,this._z=e,this;a=1-g*g;if(a<=Number.EPSILON)return g=1-b,this._w=g*f+b*this._w,this._x=g*c+b*this._x,this._y=g*d+b*this._y,this._z=g*e+b*this._z,this.normalize();a=Math.sqrt(a);var h=Math.atan2(a,g);g=Math.sin((1-b)*h)/a;b=Math.sin(b*h)/a;this._w=f*g+this._w*b;this._x=c*g+this._x*b;this._y=d*g+this._y*b;this._z=e*g+this._z*b;this.onChangeCallback();return this},equals:function(a){return a._x=== +this._x&&a._y===this._y&&a._z===this._z&&a._w===this._w},fromArray:function(a,b){void 0===b&&(b=0);this._x=a[b];this._y=a[b+1];this._z=a[b+2];this._w=a[b+3];this.onChangeCallback();return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);a[b]=this._x;a[b+1]=this._y;a[b+2]=this._z;a[b+3]=this._w;return a},onChange:function(a){this.onChangeCallback=a;return this},onChangeCallback:function(){}});Object.assign(n.prototype,{isVector3:!0,set:function(a,b,c){this.x=a;this.y=b;this.z=c;return this}, +setScalar:function(a){this.z=this.y=this.x=a;return this},setX:function(a){this.x=a;return this},setY:function(a){this.y=a;return this},setZ:function(a){this.z=a;return this},setComponent:function(a,b){switch(a){case 0:this.x=b;break;case 1:this.y=b;break;case 2:this.z=b;break;default:throw Error("index is out of range: "+a);}return this},getComponent:function(a){switch(a){case 0:return this.x;case 1:return this.y;case 2:return this.z;default:throw Error("index is out of range: "+a);}},clone:function(){return new this.constructor(this.x, +this.y,this.z)},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;return this},add:function(a,b){if(void 0!==b)return console.warn("THREE.Vector3: .add() now only accepts one argument. Use .addVectors( a, b ) instead."),this.addVectors(a,b);this.x+=a.x;this.y+=a.y;this.z+=a.z;return this},addScalar:function(a){this.x+=a;this.y+=a;this.z+=a;return this},addVectors:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;this.z=a.z+b.z;return this},addScaledVector:function(a,b){this.x+=a.x*b;this.y+=a.y*b;this.z+= +a.z*b;return this},sub:function(a,b){if(void 0!==b)return console.warn("THREE.Vector3: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(a,b);this.x-=a.x;this.y-=a.y;this.z-=a.z;return this},subScalar:function(a){this.x-=a;this.y-=a;this.z-=a;return this},subVectors:function(a,b){this.x=a.x-b.x;this.y=a.y-b.y;this.z=a.z-b.z;return this},multiply:function(a,b){if(void 0!==b)return console.warn("THREE.Vector3: .multiply() now only accepts one argument. Use .multiplyVectors( a, b ) instead."), +this.multiplyVectors(a,b);this.x*=a.x;this.y*=a.y;this.z*=a.z;return this},multiplyScalar:function(a){this.x*=a;this.y*=a;this.z*=a;return this},multiplyVectors:function(a,b){this.x=a.x*b.x;this.y=a.y*b.y;this.z=a.z*b.z;return this},applyEuler:function(){var a=new aa;return function(b){b&&b.isEuler||console.error("THREE.Vector3: .applyEuler() now expects an Euler rotation rather than a Vector3 and order.");return this.applyQuaternion(a.setFromEuler(b))}}(),applyAxisAngle:function(){var a=new aa;return function(b, +c){return this.applyQuaternion(a.setFromAxisAngle(b,c))}}(),applyMatrix3:function(a){var b=this.x,c=this.y,d=this.z;a=a.elements;this.x=a[0]*b+a[3]*c+a[6]*d;this.y=a[1]*b+a[4]*c+a[7]*d;this.z=a[2]*b+a[5]*c+a[8]*d;return this},applyMatrix4:function(a){var b=this.x,c=this.y,d=this.z;a=a.elements;var e=1/(a[3]*b+a[7]*c+a[11]*d+a[15]);this.x=(a[0]*b+a[4]*c+a[8]*d+a[12])*e;this.y=(a[1]*b+a[5]*c+a[9]*d+a[13])*e;this.z=(a[2]*b+a[6]*c+a[10]*d+a[14])*e;return this},applyQuaternion:function(a){var b=this.x, +c=this.y,d=this.z,e=a.x,f=a.y,g=a.z;a=a.w;var h=a*b+f*d-g*c,k=a*c+g*b-e*d,m=a*d+e*c-f*b;b=-e*b-f*c-g*d;this.x=h*a+b*-e+k*-g-m*-f;this.y=k*a+b*-f+m*-e-h*-g;this.z=m*a+b*-g+h*-f-k*-e;return this},project:function(a){return this.applyMatrix4(a.matrixWorldInverse).applyMatrix4(a.projectionMatrix)},unproject:function(a){return this.applyMatrix4(a.projectionMatrixInverse).applyMatrix4(a.matrixWorld)},transformDirection:function(a){var b=this.x,c=this.y,d=this.z;a=a.elements;this.x=a[0]*b+a[4]*c+a[8]*d; +this.y=a[1]*b+a[5]*c+a[9]*d;this.z=a[2]*b+a[6]*c+a[10]*d;return this.normalize()},divide:function(a){this.x/=a.x;this.y/=a.y;this.z/=a.z;return this},divideScalar:function(a){return this.multiplyScalar(1/a)},min:function(a){this.x=Math.min(this.x,a.x);this.y=Math.min(this.y,a.y);this.z=Math.min(this.z,a.z);return this},max:function(a){this.x=Math.max(this.x,a.x);this.y=Math.max(this.y,a.y);this.z=Math.max(this.z,a.z);return this},clamp:function(a,b){this.x=Math.max(a.x,Math.min(b.x,this.x));this.y= +Math.max(a.y,Math.min(b.y,this.y));this.z=Math.max(a.z,Math.min(b.z,this.z));return this},clampScalar:function(){var a=new n,b=new n;return function(c,d){a.set(c,c,c);b.set(d,d,d);return this.clamp(a,b)}}(),clampLength:function(a,b){var c=this.length();return this.divideScalar(c||1).multiplyScalar(Math.max(a,Math.min(b,c)))},floor:function(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);this.z=Math.floor(this.z);return this},ceil:function(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y); +this.z=Math.ceil(this.z);return this},round:function(){this.x=Math.round(this.x);this.y=Math.round(this.y);this.z=Math.round(this.z);return this},roundToZero:function(){this.x=0>this.x?Math.ceil(this.x):Math.floor(this.x);this.y=0>this.y?Math.ceil(this.y):Math.floor(this.y);this.z=0>this.z?Math.ceil(this.z):Math.floor(this.z);return this},negate:function(){this.x=-this.x;this.y=-this.y;this.z=-this.z;return this},dot:function(a){return this.x*a.x+this.y*a.y+this.z*a.z},lengthSq:function(){return this.x* +this.x+this.y*this.y+this.z*this.z},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},manhattanLength:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)},normalize:function(){return this.divideScalar(this.length()||1)},setLength:function(a){return this.normalize().multiplyScalar(a)},lerp:function(a,b){this.x+=(a.x-this.x)*b;this.y+=(a.y-this.y)*b;this.z+=(a.z-this.z)*b;return this},lerpVectors:function(a,b,c){return this.subVectors(b,a).multiplyScalar(c).add(a)}, +cross:function(a,b){return void 0!==b?(console.warn("THREE.Vector3: .cross() now only accepts one argument. Use .crossVectors( a, b ) instead."),this.crossVectors(a,b)):this.crossVectors(this,a)},crossVectors:function(a,b){var c=a.x,d=a.y;a=a.z;var e=b.x,f=b.y;b=b.z;this.x=d*b-a*f;this.y=a*e-c*b;this.z=c*f-d*e;return this},projectOnVector:function(a){var b=a.dot(this)/a.lengthSq();return this.copy(a).multiplyScalar(b)},projectOnPlane:function(){var a=new n;return function(b){a.copy(this).projectOnVector(b); +return this.sub(a)}}(),reflect:function(){var a=new n;return function(b){return this.sub(a.copy(b).multiplyScalar(2*this.dot(b)))}}(),angleTo:function(a){a=this.dot(a)/Math.sqrt(this.lengthSq()*a.lengthSq());return Math.acos(K.clamp(a,-1,1))},distanceTo:function(a){return Math.sqrt(this.distanceToSquared(a))},distanceToSquared:function(a){var b=this.x-a.x,c=this.y-a.y;a=this.z-a.z;return b*b+c*c+a*a},manhattanDistanceTo:function(a){return Math.abs(this.x-a.x)+Math.abs(this.y-a.y)+Math.abs(this.z- +a.z)},setFromSpherical:function(a){return this.setFromSphericalCoords(a.radius,a.phi,a.theta)},setFromSphericalCoords:function(a,b,c){var d=Math.sin(b)*a;this.x=d*Math.sin(c);this.y=Math.cos(b)*a;this.z=d*Math.cos(c);return this},setFromCylindrical:function(a){return this.setFromCylindricalCoords(a.radius,a.theta,a.y)},setFromCylindricalCoords:function(a,b,c){this.x=a*Math.sin(b);this.y=c;this.z=a*Math.cos(b);return this},setFromMatrixPosition:function(a){a=a.elements;this.x=a[12];this.y=a[13];this.z= +a[14];return this},setFromMatrixScale:function(a){var b=this.setFromMatrixColumn(a,0).length(),c=this.setFromMatrixColumn(a,1).length();a=this.setFromMatrixColumn(a,2).length();this.x=b;this.y=c;this.z=a;return this},setFromMatrixColumn:function(a,b){return this.fromArray(a.elements,4*b)},equals:function(a){return a.x===this.x&&a.y===this.y&&a.z===this.z},fromArray:function(a,b){void 0===b&&(b=0);this.x=a[b];this.y=a[b+1];this.z=a[b+2];return this},toArray:function(a,b){void 0===a&&(a=[]);void 0=== +b&&(b=0);a[b]=this.x;a[b+1]=this.y;a[b+2]=this.z;return a},fromBufferAttribute:function(a,b,c){void 0!==c&&console.warn("THREE.Vector3: offset has been removed from .fromBufferAttribute().");this.x=a.getX(b);this.y=a.getY(b);this.z=a.getZ(b);return this}});Object.assign(ba.prototype,{isMatrix3:!0,set:function(a,b,c,d,e,f,g,h,k){var m=this.elements;m[0]=a;m[1]=d;m[2]=g;m[3]=b;m[4]=e;m[5]=h;m[6]=c;m[7]=f;m[8]=k;return this},identity:function(){this.set(1,0,0,0,1,0,0,0,1);return this},clone:function(){return(new this.constructor).fromArray(this.elements)}, +copy:function(a){var b=this.elements;a=a.elements;b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];return this},setFromMatrix4:function(a){a=a.elements;this.set(a[0],a[4],a[8],a[1],a[5],a[9],a[2],a[6],a[10]);return this},applyToBufferAttribute:function(){var a=new n;return function(b){for(var c=0,d=b.count;cc;c++)if(b[c]!==a[c])return!1;return!0},fromArray:function(a,b){void 0===b&&(b=0);for(var c=0;9>c;c++)this.elements[c]=a[c+b];return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);var c= +this.elements;a[b]=c[0];a[b+1]=c[1];a[b+2]=c[2];a[b+3]=c[3];a[b+4]=c[4];a[b+5]=c[5];a[b+6]=c[6];a[b+7]=c[7];a[b+8]=c[8];return a}});var wc,ob={getDataURL:function(a){if("undefined"==typeof HTMLCanvasElement)return a.src;if(!(a instanceof HTMLCanvasElement)){void 0===wc&&(wc=document.createElementNS("http://www.w3.org/1999/xhtml","canvas"));wc.width=a.width;wc.height=a.height;var b=wc.getContext("2d");a instanceof ImageData?b.putImageData(a,0,0):b.drawImage(a,0,0,a.width,a.height);a=wc}return 2048< +a.width||2048a.x||1a.x?0:1;break;case 1002:a.x=1===Math.abs(Math.floor(a.x)%2)?Math.ceil(a.x)-a.x:a.x-Math.floor(a.x)}if(0>a.y||1a.y?0:1;break;case 1002:a.y=1===Math.abs(Math.floor(a.y)%2)?Math.ceil(a.y)-a.y:a.y-Math.floor(a.y)}this.flipY&&(a.y=1-a.y);return a}});Object.defineProperty(W.prototype, +"needsUpdate",{set:function(a){!0===a&&this.version++}});Object.assign(Y.prototype,{isVector4:!0,set:function(a,b,c,d){this.x=a;this.y=b;this.z=c;this.w=d;return this},setScalar:function(a){this.w=this.z=this.y=this.x=a;return this},setX:function(a){this.x=a;return this},setY:function(a){this.y=a;return this},setZ:function(a){this.z=a;return this},setW:function(a){this.w=a;return this},setComponent:function(a,b){switch(a){case 0:this.x=b;break;case 1:this.y=b;break;case 2:this.z=b;break;case 3:this.w= +b;break;default:throw Error("index is out of range: "+a);}return this},getComponent:function(a){switch(a){case 0:return this.x;case 1:return this.y;case 2:return this.z;case 3:return this.w;default:throw Error("index is out of range: "+a);}},clone:function(){return new this.constructor(this.x,this.y,this.z,this.w)},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;this.w=void 0!==a.w?a.w:1;return this},add:function(a,b){if(void 0!==b)return console.warn("THREE.Vector4: .add() now only accepts one argument. Use .addVectors( a, b ) instead."), +this.addVectors(a,b);this.x+=a.x;this.y+=a.y;this.z+=a.z;this.w+=a.w;return this},addScalar:function(a){this.x+=a;this.y+=a;this.z+=a;this.w+=a;return this},addVectors:function(a,b){this.x=a.x+b.x;this.y=a.y+b.y;this.z=a.z+b.z;this.w=a.w+b.w;return this},addScaledVector:function(a,b){this.x+=a.x*b;this.y+=a.y*b;this.z+=a.z*b;this.w+=a.w*b;return this},sub:function(a,b){if(void 0!==b)return console.warn("THREE.Vector4: .sub() now only accepts one argument. Use .subVectors( a, b ) instead."),this.subVectors(a, +b);this.x-=a.x;this.y-=a.y;this.z-=a.z;this.w-=a.w;return this},subScalar:function(a){this.x-=a;this.y-=a;this.z-=a;this.w-=a;return this},subVectors:function(a,b){this.x=a.x-b.x;this.y=a.y-b.y;this.z=a.z-b.z;this.w=a.w-b.w;return this},multiplyScalar:function(a){this.x*=a;this.y*=a;this.z*=a;this.w*=a;return this},applyMatrix4:function(a){var b=this.x,c=this.y,d=this.z,e=this.w;a=a.elements;this.x=a[0]*b+a[4]*c+a[8]*d+a[12]*e;this.y=a[1]*b+a[5]*c+a[9]*d+a[13]*e;this.z=a[2]*b+a[6]*c+a[10]*d+a[14]* +e;this.w=a[3]*b+a[7]*c+a[11]*d+a[15]*e;return this},divideScalar:function(a){return this.multiplyScalar(1/a)},setAxisAngleFromQuaternion:function(a){this.w=2*Math.acos(a.w);var b=Math.sqrt(1-a.w*a.w);1E-4>b?(this.x=1,this.z=this.y=0):(this.x=a.x/b,this.y=a.y/b,this.z=a.z/b);return this},setAxisAngleFromRotationMatrix:function(a){a=a.elements;var b=a[0];var c=a[4];var d=a[8],e=a[1],f=a[5],g=a[9];var h=a[2];var k=a[6];var m=a[10];if(.01>Math.abs(c-e)&&.01>Math.abs(d-h)&&.01>Math.abs(g-k)){if(.1>Math.abs(c+ +e)&&.1>Math.abs(d+h)&&.1>Math.abs(g+k)&&.1>Math.abs(b+f+m-3))return this.set(1,0,0,0),this;a=Math.PI;b=(b+1)/2;f=(f+1)/2;m=(m+1)/2;c=(c+e)/4;d=(d+h)/4;g=(g+k)/4;b>f&&b>m?.01>b?(k=0,c=h=.707106781):(k=Math.sqrt(b),h=c/k,c=d/k):f>m?.01>f?(k=.707106781,h=0,c=.707106781):(h=Math.sqrt(f),k=c/h,c=g/h):.01>m?(h=k=.707106781,c=0):(c=Math.sqrt(m),k=d/c,h=g/c);this.set(k,h,c,a);return this}a=Math.sqrt((k-g)*(k-g)+(d-h)*(d-h)+(e-c)*(e-c));.001>Math.abs(a)&&(a=1);this.x=(k-g)/a;this.y=(d-h)/a;this.z=(e-c)/a; +this.w=Math.acos((b+f+m-1)/2);return this},min:function(a){this.x=Math.min(this.x,a.x);this.y=Math.min(this.y,a.y);this.z=Math.min(this.z,a.z);this.w=Math.min(this.w,a.w);return this},max:function(a){this.x=Math.max(this.x,a.x);this.y=Math.max(this.y,a.y);this.z=Math.max(this.z,a.z);this.w=Math.max(this.w,a.w);return this},clamp:function(a,b){this.x=Math.max(a.x,Math.min(b.x,this.x));this.y=Math.max(a.y,Math.min(b.y,this.y));this.z=Math.max(a.z,Math.min(b.z,this.z));this.w=Math.max(a.w,Math.min(b.w, +this.w));return this},clampScalar:function(){var a,b;return function(c,d){void 0===a&&(a=new Y,b=new Y);a.set(c,c,c,c);b.set(d,d,d,d);return this.clamp(a,b)}}(),clampLength:function(a,b){var c=this.length();return this.divideScalar(c||1).multiplyScalar(Math.max(a,Math.min(b,c)))},floor:function(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);this.z=Math.floor(this.z);this.w=Math.floor(this.w);return this},ceil:function(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);this.z=Math.ceil(this.z); +this.w=Math.ceil(this.w);return this},round:function(){this.x=Math.round(this.x);this.y=Math.round(this.y);this.z=Math.round(this.z);this.w=Math.round(this.w);return this},roundToZero:function(){this.x=0>this.x?Math.ceil(this.x):Math.floor(this.x);this.y=0>this.y?Math.ceil(this.y):Math.floor(this.y);this.z=0>this.z?Math.ceil(this.z):Math.floor(this.z);this.w=0>this.w?Math.ceil(this.w):Math.floor(this.w);return this},negate:function(){this.x=-this.x;this.y=-this.y;this.z=-this.z;this.w=-this.w;return this}, +dot:function(a){return this.x*a.x+this.y*a.y+this.z*a.z+this.w*a.w},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},manhattanLength:function(){return Math.abs(this.x)+Math.abs(this.y)+Math.abs(this.z)+Math.abs(this.w)},normalize:function(){return this.divideScalar(this.length()||1)},setLength:function(a){return this.normalize().multiplyScalar(a)},lerp:function(a,b){this.x+= +(a.x-this.x)*b;this.y+=(a.y-this.y)*b;this.z+=(a.z-this.z)*b;this.w+=(a.w-this.w)*b;return this},lerpVectors:function(a,b,c){return this.subVectors(b,a).multiplyScalar(c).add(a)},equals:function(a){return a.x===this.x&&a.y===this.y&&a.z===this.z&&a.w===this.w},fromArray:function(a,b){void 0===b&&(b=0);this.x=a[b];this.y=a[b+1];this.z=a[b+2];this.w=a[b+3];return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);a[b]=this.x;a[b+1]=this.y;a[b+2]=this.z;a[b+3]=this.w;return a},fromBufferAttribute:function(a, +b,c){void 0!==c&&console.warn("THREE.Vector4: offset has been removed from .fromBufferAttribute().");this.x=a.getX(b);this.y=a.getY(b);this.z=a.getZ(b);this.w=a.getW(b);return this}});Ta.prototype=Object.assign(Object.create(ta.prototype),{constructor:Ta,isWebGLRenderTarget:!0,setSize:function(a,b){if(this.width!==a||this.height!==b)this.width=a,this.height=b,this.dispose();this.viewport.set(0,0,a,b);this.scissor.set(0,0,a,b)},clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.width= +a.width;this.height=a.height;this.viewport.copy(a.viewport);this.texture=a.texture.clone();this.depthBuffer=a.depthBuffer;this.stencilBuffer=a.stencilBuffer;this.depthTexture=a.depthTexture;return this},dispose:function(){this.dispatchEvent({type:"dispose"})}});$d.prototype=Object.assign(Object.create(Ta.prototype),{constructor:$d,isWebGLMultisampleRenderTarget:!0,copy:function(a){Ta.prototype.copy.call(this,a);this.samples=a.samples;return this}});pb.prototype=Object.create(Ta.prototype);pb.prototype.constructor= +pb;pb.prototype.isWebGLRenderTargetCube=!0;qb.prototype=Object.create(W.prototype);qb.prototype.constructor=qb;qb.prototype.isDataTexture=!0;Object.assign(Ja.prototype,{isBox3:!0,set:function(a,b){this.min.copy(a);this.max.copy(b);return this},setFromArray:function(a){for(var b=Infinity,c=Infinity,d=Infinity,e=-Infinity,f=-Infinity,g=-Infinity,h=0,k=a.length;he&&(e=m);p>f&&(f=p);l>g&&(g=l)}this.min.set(b,c,d);this.max.set(e, +f,g);return this},setFromBufferAttribute:function(a){for(var b=Infinity,c=Infinity,d=Infinity,e=-Infinity,f=-Infinity,g=-Infinity,h=0,k=a.count;he&&(e=m);p>f&&(f=p);l>g&&(g=l)}this.min.set(b,c,d);this.max.set(e,f,g);return this},setFromPoints:function(a){this.makeEmpty();for(var b=0,c=a.length;bthis.max.x||a.ythis.max.y||a.zthis.max.z?!1:!0},containsBox:function(a){return this.min.x<=a.min.x&&a.max.x<=this.max.x&&this.min.y<=a.min.y&&a.max.y<=this.max.y&&this.min.z<=a.min.z&&a.max.z<=this.max.z},getParameter:function(a,b){void 0===b&&(console.warn("THREE.Box3: .getParameter() target is now required"),b=new n);return b.set((a.x-this.min.x)/(this.max.x-this.min.x),(a.y-this.min.y)/(this.max.y-this.min.y),(a.z-this.min.z)/(this.max.z-this.min.z))}, +intersectsBox:function(a){return a.max.xthis.max.x||a.max.ythis.max.y||a.max.zthis.max.z?!1:!0},intersectsSphere:function(){var a=new n;return function(b){this.clampPoint(b.center,a);return a.distanceToSquared(b.center)<=b.radius*b.radius}}(),intersectsPlane:function(a){if(0=-a.constant},intersectsTriangle:function(){function a(a){var e;var f=0;for(e=a.length-3;f<=e;f+=3){h.fromArray(a,f);var g=m.x*Math.abs(h.x)+m.y*Math.abs(h.y)+m.z*Math.abs(h.z),k=b.dot(h),p=c.dot(h),l=d.dot(h);if(Math.max(-Math.max(k,p,l),Math.min(k,p,l))>g)return!1}return!0}var b=new n, +c=new n,d=new n,e=new n,f=new n,g=new n,h=new n,k=new n,m=new n,p=new n;return function(h){if(this.isEmpty())return!1;this.getCenter(k);m.subVectors(this.max,k);b.subVectors(h.a,k);c.subVectors(h.b,k);d.subVectors(h.c,k);e.subVectors(c,b);f.subVectors(d,c);g.subVectors(b,d);h=[0,-e.z,e.y,0,-f.z,f.y,0,-g.z,g.y,e.z,0,-e.x,f.z,0,-f.x,g.z,0,-g.x,-e.y,e.x,0,-f.y,f.x,0,-g.y,g.x,0];if(!a(h))return!1;h=[1,0,0,0,1,0,0,0,1];if(!a(h))return!1;p.crossVectors(e,f);h=[p.x,p.y,p.z];return a(h)}}(),clampPoint:function(a, +b){void 0===b&&(console.warn("THREE.Box3: .clampPoint() target is now required"),b=new n);return b.copy(a).clamp(this.min,this.max)},distanceToPoint:function(){var a=new n;return function(b){return a.copy(b).clamp(this.min,this.max).sub(b).length()}}(),getBoundingSphere:function(){var a=new n;return function(b){void 0===b&&console.error("THREE.Box3: .getBoundingSphere() target is now required");this.getCenter(b.center);b.radius=.5*this.getSize(a).length();return b}}(),intersect:function(a){this.min.max(a.min); +this.max.min(a.max);this.isEmpty()&&this.makeEmpty();return this},union:function(a){this.min.min(a.min);this.max.max(a.max);return this},applyMatrix4:function(){var a=[new n,new n,new n,new n,new n,new n,new n,new n];return function(b){if(this.isEmpty())return this;a[0].set(this.min.x,this.min.y,this.min.z).applyMatrix4(b);a[1].set(this.min.x,this.min.y,this.max.z).applyMatrix4(b);a[2].set(this.min.x,this.max.y,this.min.z).applyMatrix4(b);a[3].set(this.min.x,this.max.y,this.max.z).applyMatrix4(b); +a[4].set(this.max.x,this.min.y,this.min.z).applyMatrix4(b);a[5].set(this.max.x,this.min.y,this.max.z).applyMatrix4(b);a[6].set(this.max.x,this.max.y,this.min.z).applyMatrix4(b);a[7].set(this.max.x,this.max.y,this.max.z).applyMatrix4(b);this.setFromPoints(a);return this}}(),translate:function(a){this.min.add(a);this.max.add(a);return this},equals:function(a){return a.min.equals(this.min)&&a.max.equals(this.max)}});Object.assign(Ua.prototype,{set:function(a,b){this.center.copy(a);this.radius=b;return this}, +setFromPoints:function(){var a=new Ja;return function(b,c){var d=this.center;void 0!==c?d.copy(c):a.setFromPoints(b).getCenter(d);for(var e=c=0,f=b.length;e=this.radius},containsPoint:function(a){return a.distanceToSquared(this.center)<=this.radius*this.radius}, +distanceToPoint:function(a){return a.distanceTo(this.center)-this.radius},intersectsSphere:function(a){var b=this.radius+a.radius;return a.center.distanceToSquared(this.center)<=b*b},intersectsBox:function(a){return a.intersectsSphere(this)},intersectsPlane:function(a){return Math.abs(a.distanceToPoint(this.center))<=this.radius},clampPoint:function(a,b){var c=this.center.distanceToSquared(a);void 0===b&&(console.warn("THREE.Sphere: .clampPoint() target is now required"),b=new n);b.copy(a);c>this.radius* +this.radius&&(b.sub(this.center).normalize(),b.multiplyScalar(this.radius).add(this.center));return b},getBoundingBox:function(a){void 0===a&&(console.warn("THREE.Sphere: .getBoundingBox() target is now required"),a=new Ja);a.set(this.center,this.center);a.expandByScalar(this.radius);return a},applyMatrix4:function(a){this.center.applyMatrix4(a);this.radius*=a.getMaxScaleOnAxis();return this},translate:function(a){this.center.add(a);return this},equals:function(a){return a.center.equals(this.center)&& +a.radius===this.radius}});Object.assign(Va.prototype,{set:function(a,b){this.normal.copy(a);this.constant=b;return this},setComponents:function(a,b,c,d){this.normal.set(a,b,c);this.constant=d;return this},setFromNormalAndCoplanarPoint:function(a,b){this.normal.copy(a);this.constant=-b.dot(this.normal);return this},setFromCoplanarPoints:function(){var a=new n,b=new n;return function(c,d,e){d=a.subVectors(e,d).cross(b.subVectors(c,d)).normalize();this.setFromNormalAndCoplanarPoint(d,c);return this}}(), +clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.normal.copy(a.normal);this.constant=a.constant;return this},normalize:function(){var a=1/this.normal.length();this.normal.multiplyScalar(a);this.constant*=a;return this},negate:function(){this.constant*=-1;this.normal.negate();return this},distanceToPoint:function(a){return this.normal.dot(a)+this.constant},distanceToSphere:function(a){return this.distanceToPoint(a.center)-a.radius},projectPoint:function(a,b){void 0=== +b&&(console.warn("THREE.Plane: .projectPoint() target is now required"),b=new n);return b.copy(this.normal).multiplyScalar(-this.distanceToPoint(a)).add(a)},intersectLine:function(){var a=new n;return function(b,c){void 0===c&&(console.warn("THREE.Plane: .intersectLine() target is now required"),c=new n);var d=b.delta(a),e=this.normal.dot(d);if(0===e){if(0===this.distanceToPoint(b.start))return c.copy(b.start)}else if(e=-(b.start.dot(this.normal)+this.constant)/e,!(0>e||1b&&0a&&0c;c++)b[c].copy(a.planes[c]);return this},setFromMatrix:function(a){var b=this.planes,c=a.elements;a=c[0];var d=c[1],e=c[2],f=c[3],g=c[4],h=c[5],k=c[6],m=c[7],p=c[8],l=c[9],n=c[10],t=c[11],r=c[12],u=c[13],x=c[14];c=c[15];b[0].setComponents(f-a,m-g,t-p,c-r).normalize();b[1].setComponents(f+a,m+g,t+p,c+r).normalize();b[2].setComponents(f+d,m+h,t+l,c+u).normalize();b[3].setComponents(f-d,m-h,t-l,c-u).normalize();b[4].setComponents(f-e,m-k,t-n,c-x).normalize();b[5].setComponents(f+e, +m+k,t+n,c+x).normalize();return this},intersectsObject:function(){var a=new Ua;return function(b){var c=b.geometry;null===c.boundingSphere&&c.computeBoundingSphere();a.copy(c.boundingSphere).applyMatrix4(b.matrixWorld);return this.intersectsSphere(a)}}(),intersectsSprite:function(){var a=new Ua;return function(b){a.center.set(0,0,0);a.radius=.7071067811865476;a.applyMatrix4(b.matrixWorld);return this.intersectsSphere(a)}}(),intersectsSphere:function(a){var b=this.planes,c=a.center;a=-a.radius;for(var d= +0;6>d;d++)if(b[d].distanceToPoint(c)d;d++){var e=c[d];a.x=0e.distanceToPoint(a))return!1}return!0}}(),containsPoint:function(a){for(var b=this.planes,c=0;6>c;c++)if(0>b[c].distanceToPoint(a))return!1;return!0}});Object.assign(P.prototype,{isMatrix4:!0,set:function(a,b,c,d,e,f,g,h,k,m,l,q,n,t,r,u){var p= +this.elements;p[0]=a;p[4]=b;p[8]=c;p[12]=d;p[1]=e;p[5]=f;p[9]=g;p[13]=h;p[2]=k;p[6]=m;p[10]=l;p[14]=q;p[3]=n;p[7]=t;p[11]=r;p[15]=u;return this},identity:function(){this.set(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1);return this},clone:function(){return(new P).fromArray(this.elements)},copy:function(a){var b=this.elements;a=a.elements;b[0]=a[0];b[1]=a[1];b[2]=a[2];b[3]=a[3];b[4]=a[4];b[5]=a[5];b[6]=a[6];b[7]=a[7];b[8]=a[8];b[9]=a[9];b[10]=a[10];b[11]=a[11];b[12]=a[12];b[13]=a[13];b[14]=a[14];b[15]=a[15];return this}, +copyPosition:function(a){var b=this.elements;a=a.elements;b[12]=a[12];b[13]=a[13];b[14]=a[14];return this},extractBasis:function(a,b,c){a.setFromMatrixColumn(this,0);b.setFromMatrixColumn(this,1);c.setFromMatrixColumn(this,2);return this},makeBasis:function(a,b,c){this.set(a.x,b.x,c.x,0,a.y,b.y,c.y,0,a.z,b.z,c.z,0,0,0,0,1);return this},extractRotation:function(){var a=new n;return function(b){var c=this.elements,d=b.elements,e=1/a.setFromMatrixColumn(b,0).length(),f=1/a.setFromMatrixColumn(b,1).length(); +b=1/a.setFromMatrixColumn(b,2).length();c[0]=d[0]*e;c[1]=d[1]*e;c[2]=d[2]*e;c[3]=0;c[4]=d[4]*f;c[5]=d[5]*f;c[6]=d[6]*f;c[7]=0;c[8]=d[8]*b;c[9]=d[9]*b;c[10]=d[10]*b;c[11]=0;c[12]=0;c[13]=0;c[14]=0;c[15]=1;return this}}(),makeRotationFromEuler:function(a){a&&a.isEuler||console.error("THREE.Matrix4: .makeRotationFromEuler() now expects a Euler rotation rather than a Vector3 and order.");var b=this.elements,c=a.x,d=a.y,e=a.z,f=Math.cos(c);c=Math.sin(c);var g=Math.cos(d);d=Math.sin(d);var h=Math.cos(e); +e=Math.sin(e);if("XYZ"===a.order){a=f*h;var k=f*e,m=c*h,p=c*e;b[0]=g*h;b[4]=-g*e;b[8]=d;b[1]=k+m*d;b[5]=a-p*d;b[9]=-c*g;b[2]=p-a*d;b[6]=m+k*d;b[10]=f*g}else"YXZ"===a.order?(a=g*h,k=g*e,m=d*h,p=d*e,b[0]=a+p*c,b[4]=m*c-k,b[8]=f*d,b[1]=f*e,b[5]=f*h,b[9]=-c,b[2]=k*c-m,b[6]=p+a*c,b[10]=f*g):"ZXY"===a.order?(a=g*h,k=g*e,m=d*h,p=d*e,b[0]=a-p*c,b[4]=-f*e,b[8]=m+k*c,b[1]=k+m*c,b[5]=f*h,b[9]=p-a*c,b[2]=-f*d,b[6]=c,b[10]=f*g):"ZYX"===a.order?(a=f*h,k=f*e,m=c*h,p=c*e,b[0]=g*h,b[4]=m*d-k,b[8]=a*d+p,b[1]=g*e,b[5]= +p*d+a,b[9]=k*d-m,b[2]=-d,b[6]=c*g,b[10]=f*g):"YZX"===a.order?(a=f*g,k=f*d,m=c*g,p=c*d,b[0]=g*h,b[4]=p-a*e,b[8]=m*e+k,b[1]=e,b[5]=f*h,b[9]=-c*h,b[2]=-d*h,b[6]=k*e+m,b[10]=a-p*e):"XZY"===a.order&&(a=f*g,k=f*d,m=c*g,p=c*d,b[0]=g*h,b[4]=-e,b[8]=d*h,b[1]=a*e+p,b[5]=f*h,b[9]=k*e-m,b[2]=m*e-k,b[6]=c*h,b[10]=p*e+a);b[3]=0;b[7]=0;b[11]=0;b[12]=0;b[13]=0;b[14]=0;b[15]=1;return this},makeRotationFromQuaternion:function(){var a=new n(0,0,0),b=new n(1,1,1);return function(c){return this.compose(a,c,b)}}(),lookAt:function(){var a= +new n,b=new n,c=new n;return function(d,e,f){var g=this.elements;c.subVectors(d,e);0===c.lengthSq()&&(c.z=1);c.normalize();a.crossVectors(f,c);0===a.lengthSq()&&(1===Math.abs(f.z)?c.x+=1E-4:c.z+=1E-4,c.normalize(),a.crossVectors(f,c));a.normalize();b.crossVectors(c,a);g[0]=a.x;g[4]=b.x;g[8]=c.x;g[1]=a.y;g[5]=b.y;g[9]=c.y;g[2]=a.z;g[6]=b.z;g[10]=c.z;return this}}(),multiply:function(a,b){return void 0!==b?(console.warn("THREE.Matrix4: .multiply() now only accepts one argument. Use .multiplyMatrices( a, b ) instead."), +this.multiplyMatrices(a,b)):this.multiplyMatrices(this,a)},premultiply:function(a){return this.multiplyMatrices(a,this)},multiplyMatrices:function(a,b){var c=a.elements,d=b.elements;b=this.elements;a=c[0];var e=c[4],f=c[8],g=c[12],h=c[1],k=c[5],m=c[9],p=c[13],l=c[2],n=c[6],t=c[10],r=c[14],u=c[3],x=c[7],A=c[11];c=c[15];var w=d[0],y=d[4],D=d[8],J=d[12],B=d[1],F=d[5],C=d[9],z=d[13],E=d[2],G=d[6],I=d[10],K=d[14],M=d[3],X=d[7],Q=d[11];d=d[15];b[0]=a*w+e*B+f*E+g*M;b[4]=a*y+e*F+f*G+g*X;b[8]=a*D+e*C+f*I+ +g*Q;b[12]=a*J+e*z+f*K+g*d;b[1]=h*w+k*B+m*E+p*M;b[5]=h*y+k*F+m*G+p*X;b[9]=h*D+k*C+m*I+p*Q;b[13]=h*J+k*z+m*K+p*d;b[2]=l*w+n*B+t*E+r*M;b[6]=l*y+n*F+t*G+r*X;b[10]=l*D+n*C+t*I+r*Q;b[14]=l*J+n*z+t*K+r*d;b[3]=u*w+x*B+A*E+c*M;b[7]=u*y+x*F+A*G+c*X;b[11]=u*D+x*C+A*I+c*Q;b[15]=u*J+x*z+A*K+c*d;return this},multiplyScalar:function(a){var b=this.elements;b[0]*=a;b[4]*=a;b[8]*=a;b[12]*=a;b[1]*=a;b[5]*=a;b[9]*=a;b[13]*=a;b[2]*=a;b[6]*=a;b[10]*=a;b[14]*=a;b[3]*=a;b[7]*=a;b[11]*=a;b[15]*=a;return this},applyToBufferAttribute:function(){var a= +new n;return function(b){for(var c=0,d=b.count;cthis.determinant()&&(g=-g);c.x=f[12];c.y=f[13];c.z=f[14];b.copy(this);c=1/g;f=1/h;var m=1/k;b.elements[0]*=c;b.elements[1]*=c;b.elements[2]*=c;b.elements[4]*=f;b.elements[5]*=f;b.elements[6]*=f;b.elements[8]*=m;b.elements[9]*=m;b.elements[10]*=m;d.setFromRotationMatrix(b);e.x=g;e.y=h;e.z=k;return this}}(),makePerspective:function(a,b,c,d,e,f){void 0===f&&console.warn("THREE.Matrix4: .makePerspective() has been redefined and has a new signature. Please check the docs."); +var g=this.elements;g[0]=2*e/(b-a);g[4]=0;g[8]=(b+a)/(b-a);g[12]=0;g[1]=0;g[5]=2*e/(c-d);g[9]=(c+d)/(c-d);g[13]=0;g[2]=0;g[6]=0;g[10]=-(f+e)/(f-e);g[14]=-2*f*e/(f-e);g[3]=0;g[7]=0;g[11]=-1;g[15]=0;return this},makeOrthographic:function(a,b,c,d,e,f){var g=this.elements,h=1/(b-a),k=1/(c-d),m=1/(f-e);g[0]=2*h;g[4]=0;g[8]=0;g[12]=-((b+a)*h);g[1]=0;g[5]=2*k;g[9]=0;g[13]=-((c+d)*k);g[2]=0;g[6]=0;g[10]=-2*m;g[14]=-((f+e)*m);g[3]=0;g[7]=0;g[11]=0;g[15]=1;return this},equals:function(a){var b=this.elements; +a=a.elements;for(var c=0;16>c;c++)if(b[c]!==a[c])return!1;return!0},fromArray:function(a,b){void 0===b&&(b=0);for(var c=0;16>c;c++)this.elements[c]=a[c+b];return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);var c=this.elements;a[b]=c[0];a[b+1]=c[1];a[b+2]=c[2];a[b+3]=c[3];a[b+4]=c[4];a[b+5]=c[5];a[b+6]=c[6];a[b+7]=c[7];a[b+8]=c[8];a[b+9]=c[9];a[b+10]=c[10];a[b+11]=c[11];a[b+12]=c[12];a[b+13]=c[13];a[b+14]=c[14];a[b+15]=c[15];return a}});var T={alphamap_fragment:"#ifdef USE_ALPHAMAP\n\tdiffuseColor.a *= texture2D( alphaMap, vUv ).g;\n#endif", +alphamap_pars_fragment:"#ifdef USE_ALPHAMAP\n\tuniform sampler2D alphaMap;\n#endif",alphatest_fragment:"#ifdef ALPHATEST\n\tif ( diffuseColor.a < ALPHATEST ) discard;\n#endif",aomap_fragment:"#ifdef USE_AOMAP\n\tfloat ambientOcclusion = ( texture2D( aoMap, vUv2 ).r - 1.0 ) * aoMapIntensity + 1.0;\n\treflectedLight.indirectDiffuse *= ambientOcclusion;\n\t#if defined( USE_ENVMAP ) && defined( PHYSICAL )\n\t\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\t\treflectedLight.indirectSpecular *= computeSpecularOcclusion( dotNV, ambientOcclusion, material.specularRoughness );\n\t#endif\n#endif", +aomap_pars_fragment:"#ifdef USE_AOMAP\n\tuniform sampler2D aoMap;\n\tuniform float aoMapIntensity;\n#endif",begin_vertex:"vec3 transformed = vec3( position );",beginnormal_vertex:"vec3 objectNormal = vec3( normal );\n#ifdef USE_TANGENT\n\tvec3 objectTangent = vec3( tangent.xyz );\n#endif",bsdfs:"vec2 integrateSpecularBRDF( const in float dotNV, const in float roughness ) {\n\tconst vec4 c0 = vec4( - 1, - 0.0275, - 0.572, 0.022 );\n\tconst vec4 c1 = vec4( 1, 0.0425, 1.04, - 0.04 );\n\tvec4 r = roughness * c0 + c1;\n\tfloat a004 = min( r.x * r.x, exp2( - 9.28 * dotNV ) ) * r.x + r.y;\n\treturn vec2( -1.04, 1.04 ) * a004 + r.zw;\n}\nfloat punctualLightIntensityToIrradianceFactor( const in float lightDistance, const in float cutoffDistance, const in float decayExponent ) {\n#if defined ( PHYSICALLY_CORRECT_LIGHTS )\n\tfloat distanceFalloff = 1.0 / max( pow( lightDistance, decayExponent ), 0.01 );\n\tif( cutoffDistance > 0.0 ) {\n\t\tdistanceFalloff *= pow2( saturate( 1.0 - pow4( lightDistance / cutoffDistance ) ) );\n\t}\n\treturn distanceFalloff;\n#else\n\tif( cutoffDistance > 0.0 && decayExponent > 0.0 ) {\n\t\treturn pow( saturate( -lightDistance / cutoffDistance + 1.0 ), decayExponent );\n\t}\n\treturn 1.0;\n#endif\n}\nvec3 BRDF_Diffuse_Lambert( const in vec3 diffuseColor ) {\n\treturn RECIPROCAL_PI * diffuseColor;\n}\nvec3 F_Schlick( const in vec3 specularColor, const in float dotLH ) {\n\tfloat fresnel = exp2( ( -5.55473 * dotLH - 6.98316 ) * dotLH );\n\treturn ( 1.0 - specularColor ) * fresnel + specularColor;\n}\nfloat G_GGX_Smith( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gl = dotNL + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\tfloat gv = dotNV + sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\treturn 1.0 / ( gl * gv );\n}\nfloat G_GGX_SmithCorrelated( const in float alpha, const in float dotNL, const in float dotNV ) {\n\tfloat a2 = pow2( alpha );\n\tfloat gv = dotNL * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNV ) );\n\tfloat gl = dotNV * sqrt( a2 + ( 1.0 - a2 ) * pow2( dotNL ) );\n\treturn 0.5 / max( gv + gl, EPSILON );\n}\nfloat D_GGX( const in float alpha, const in float dotNH ) {\n\tfloat a2 = pow2( alpha );\n\tfloat denom = pow2( dotNH ) * ( a2 - 1.0 ) + 1.0;\n\treturn RECIPROCAL_PI * a2 / pow2( denom );\n}\nvec3 BRDF_Specular_GGX( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float roughness ) {\n\tfloat alpha = pow2( roughness );\n\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\n\tfloat dotNL = saturate( dot( geometry.normal, incidentLight.direction ) );\n\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\n\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, dotLH );\n\tfloat G = G_GGX_SmithCorrelated( alpha, dotNL, dotNV );\n\tfloat D = D_GGX( alpha, dotNH );\n\treturn F * ( G * D );\n}\nvec2 LTC_Uv( const in vec3 N, const in vec3 V, const in float roughness ) {\n\tconst float LUT_SIZE = 64.0;\n\tconst float LUT_SCALE = ( LUT_SIZE - 1.0 ) / LUT_SIZE;\n\tconst float LUT_BIAS = 0.5 / LUT_SIZE;\n\tfloat dotNV = saturate( dot( N, V ) );\n\tvec2 uv = vec2( roughness, sqrt( 1.0 - dotNV ) );\n\tuv = uv * LUT_SCALE + LUT_BIAS;\n\treturn uv;\n}\nfloat LTC_ClippedSphereFormFactor( const in vec3 f ) {\n\tfloat l = length( f );\n\treturn max( ( l * l + f.z ) / ( l + 1.0 ), 0.0 );\n}\nvec3 LTC_EdgeVectorFormFactor( const in vec3 v1, const in vec3 v2 ) {\n\tfloat x = dot( v1, v2 );\n\tfloat y = abs( x );\n\tfloat a = 0.8543985 + ( 0.4965155 + 0.0145206 * y ) * y;\n\tfloat b = 3.4175940 + ( 4.1616724 + y ) * y;\n\tfloat v = a / b;\n\tfloat theta_sintheta = ( x > 0.0 ) ? v : 0.5 * inversesqrt( max( 1.0 - x * x, 1e-7 ) ) - v;\n\treturn cross( v1, v2 ) * theta_sintheta;\n}\nvec3 LTC_Evaluate( const in vec3 N, const in vec3 V, const in vec3 P, const in mat3 mInv, const in vec3 rectCoords[ 4 ] ) {\n\tvec3 v1 = rectCoords[ 1 ] - rectCoords[ 0 ];\n\tvec3 v2 = rectCoords[ 3 ] - rectCoords[ 0 ];\n\tvec3 lightNormal = cross( v1, v2 );\n\tif( dot( lightNormal, P - rectCoords[ 0 ] ) < 0.0 ) return vec3( 0.0 );\n\tvec3 T1, T2;\n\tT1 = normalize( V - N * dot( V, N ) );\n\tT2 = - cross( N, T1 );\n\tmat3 mat = mInv * transposeMat3( mat3( T1, T2, N ) );\n\tvec3 coords[ 4 ];\n\tcoords[ 0 ] = mat * ( rectCoords[ 0 ] - P );\n\tcoords[ 1 ] = mat * ( rectCoords[ 1 ] - P );\n\tcoords[ 2 ] = mat * ( rectCoords[ 2 ] - P );\n\tcoords[ 3 ] = mat * ( rectCoords[ 3 ] - P );\n\tcoords[ 0 ] = normalize( coords[ 0 ] );\n\tcoords[ 1 ] = normalize( coords[ 1 ] );\n\tcoords[ 2 ] = normalize( coords[ 2 ] );\n\tcoords[ 3 ] = normalize( coords[ 3 ] );\n\tvec3 vectorFormFactor = vec3( 0.0 );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 0 ], coords[ 1 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 1 ], coords[ 2 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 2 ], coords[ 3 ] );\n\tvectorFormFactor += LTC_EdgeVectorFormFactor( coords[ 3 ], coords[ 0 ] );\n\tfloat result = LTC_ClippedSphereFormFactor( vectorFormFactor );\n\treturn vec3( result );\n}\nvec3 BRDF_Specular_GGX_Environment( const in GeometricContext geometry, const in vec3 specularColor, const in float roughness ) {\n\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\tvec2 brdf = integrateSpecularBRDF( dotNV, roughness );\n\treturn specularColor * brdf.x + brdf.y;\n}\nvoid BRDF_Specular_Multiscattering_Environment( const in GeometricContext geometry, const in vec3 specularColor, const in float roughness, inout vec3 singleScatter, inout vec3 multiScatter ) {\n\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\tvec3 F = F_Schlick( specularColor, dotNV );\n\tvec2 brdf = integrateSpecularBRDF( dotNV, roughness );\n\tvec3 FssEss = F * brdf.x + brdf.y;\n\tfloat Ess = brdf.x + brdf.y;\n\tfloat Ems = 1.0 - Ess;\n\tvec3 Favg = specularColor + ( 1.0 - specularColor ) * 0.047619;\tvec3 Fms = FssEss * Favg / ( 1.0 - Ems * Favg );\n\tsingleScatter += FssEss;\n\tmultiScatter += Fms * Ems;\n}\nfloat G_BlinnPhong_Implicit( ) {\n\treturn 0.25;\n}\nfloat D_BlinnPhong( const in float shininess, const in float dotNH ) {\n\treturn RECIPROCAL_PI * ( shininess * 0.5 + 1.0 ) * pow( dotNH, shininess );\n}\nvec3 BRDF_Specular_BlinnPhong( const in IncidentLight incidentLight, const in GeometricContext geometry, const in vec3 specularColor, const in float shininess ) {\n\tvec3 halfDir = normalize( incidentLight.direction + geometry.viewDir );\n\tfloat dotNH = saturate( dot( geometry.normal, halfDir ) );\n\tfloat dotLH = saturate( dot( incidentLight.direction, halfDir ) );\n\tvec3 F = F_Schlick( specularColor, dotLH );\n\tfloat G = G_BlinnPhong_Implicit( );\n\tfloat D = D_BlinnPhong( shininess, dotNH );\n\treturn F * ( G * D );\n}\nfloat GGXRoughnessToBlinnExponent( const in float ggxRoughness ) {\n\treturn ( 2.0 / pow2( ggxRoughness + 0.0001 ) - 2.0 );\n}\nfloat BlinnExponentToGGXRoughness( const in float blinnExponent ) {\n\treturn sqrt( 2.0 / ( blinnExponent + 2.0 ) );\n}", +bumpmap_pars_fragment:"#ifdef USE_BUMPMAP\n\tuniform sampler2D bumpMap;\n\tuniform float bumpScale;\n\tvec2 dHdxy_fwd() {\n\t\tvec2 dSTdx = dFdx( vUv );\n\t\tvec2 dSTdy = dFdy( vUv );\n\t\tfloat Hll = bumpScale * texture2D( bumpMap, vUv ).x;\n\t\tfloat dBx = bumpScale * texture2D( bumpMap, vUv + dSTdx ).x - Hll;\n\t\tfloat dBy = bumpScale * texture2D( bumpMap, vUv + dSTdy ).x - Hll;\n\t\treturn vec2( dBx, dBy );\n\t}\n\tvec3 perturbNormalArb( vec3 surf_pos, vec3 surf_norm, vec2 dHdxy ) {\n\t\tvec3 vSigmaX = vec3( dFdx( surf_pos.x ), dFdx( surf_pos.y ), dFdx( surf_pos.z ) );\n\t\tvec3 vSigmaY = vec3( dFdy( surf_pos.x ), dFdy( surf_pos.y ), dFdy( surf_pos.z ) );\n\t\tvec3 vN = surf_norm;\n\t\tvec3 R1 = cross( vSigmaY, vN );\n\t\tvec3 R2 = cross( vN, vSigmaX );\n\t\tfloat fDet = dot( vSigmaX, R1 );\n\t\tfDet *= ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\tvec3 vGrad = sign( fDet ) * ( dHdxy.x * R1 + dHdxy.y * R2 );\n\t\treturn normalize( abs( fDet ) * surf_norm - vGrad );\n\t}\n#endif", +clipping_planes_fragment:"#if NUM_CLIPPING_PLANES > 0\n\tvec4 plane;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < UNION_CLIPPING_PLANES; i ++ ) {\n\t\tplane = clippingPlanes[ i ];\n\t\tif ( dot( vViewPosition, plane.xyz ) > plane.w ) discard;\n\t}\n\t#if UNION_CLIPPING_PLANES < NUM_CLIPPING_PLANES\n\t\tbool clipped = true;\n\t\t#pragma unroll_loop\n\t\tfor ( int i = UNION_CLIPPING_PLANES; i < NUM_CLIPPING_PLANES; i ++ ) {\n\t\t\tplane = clippingPlanes[ i ];\n\t\t\tclipped = ( dot( vViewPosition, plane.xyz ) > plane.w ) && clipped;\n\t\t}\n\t\tif ( clipped ) discard;\n\t#endif\n#endif", +clipping_planes_pars_fragment:"#if NUM_CLIPPING_PLANES > 0\n\t#if ! defined( PHYSICAL ) && ! defined( PHONG ) && ! defined( MATCAP )\n\t\tvarying vec3 vViewPosition;\n\t#endif\n\tuniform vec4 clippingPlanes[ NUM_CLIPPING_PLANES ];\n#endif",clipping_planes_pars_vertex:"#if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG ) && ! defined( MATCAP )\n\tvarying vec3 vViewPosition;\n#endif",clipping_planes_vertex:"#if NUM_CLIPPING_PLANES > 0 && ! defined( PHYSICAL ) && ! defined( PHONG ) && ! defined( MATCAP )\n\tvViewPosition = - mvPosition.xyz;\n#endif", +color_fragment:"#ifdef USE_COLOR\n\tdiffuseColor.rgb *= vColor;\n#endif",color_pars_fragment:"#ifdef USE_COLOR\n\tvarying vec3 vColor;\n#endif",color_pars_vertex:"#ifdef USE_COLOR\n\tvarying vec3 vColor;\n#endif",color_vertex:"#ifdef USE_COLOR\n\tvColor.xyz = color.xyz;\n#endif",common:"#define PI 3.14159265359\n#define PI2 6.28318530718\n#define PI_HALF 1.5707963267949\n#define RECIPROCAL_PI 0.31830988618\n#define RECIPROCAL_PI2 0.15915494\n#define LOG2 1.442695\n#define EPSILON 1e-6\n#define saturate(a) clamp( a, 0.0, 1.0 )\n#define whiteCompliment(a) ( 1.0 - saturate( a ) )\nfloat pow2( const in float x ) { return x*x; }\nfloat pow3( const in float x ) { return x*x*x; }\nfloat pow4( const in float x ) { float x2 = x*x; return x2*x2; }\nfloat average( const in vec3 color ) { return dot( color, vec3( 0.3333 ) ); }\nhighp float rand( const in vec2 uv ) {\n\tconst highp float a = 12.9898, b = 78.233, c = 43758.5453;\n\thighp float dt = dot( uv.xy, vec2( a,b ) ), sn = mod( dt, PI );\n\treturn fract(sin(sn) * c);\n}\nstruct IncidentLight {\n\tvec3 color;\n\tvec3 direction;\n\tbool visible;\n};\nstruct ReflectedLight {\n\tvec3 directDiffuse;\n\tvec3 directSpecular;\n\tvec3 indirectDiffuse;\n\tvec3 indirectSpecular;\n};\nstruct GeometricContext {\n\tvec3 position;\n\tvec3 normal;\n\tvec3 viewDir;\n};\nvec3 transformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( matrix * vec4( dir, 0.0 ) ).xyz );\n}\nvec3 inverseTransformDirection( in vec3 dir, in mat4 matrix ) {\n\treturn normalize( ( vec4( dir, 0.0 ) * matrix ).xyz );\n}\nvec3 projectOnPlane(in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\tfloat distance = dot( planeNormal, point - pointOnPlane );\n\treturn - distance * planeNormal + point;\n}\nfloat sideOfPlane( in vec3 point, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\treturn sign( dot( point - pointOnPlane, planeNormal ) );\n}\nvec3 linePlaneIntersect( in vec3 pointOnLine, in vec3 lineDirection, in vec3 pointOnPlane, in vec3 planeNormal ) {\n\treturn lineDirection * ( dot( planeNormal, pointOnPlane - pointOnLine ) / dot( planeNormal, lineDirection ) ) + pointOnLine;\n}\nmat3 transposeMat3( const in mat3 m ) {\n\tmat3 tmp;\n\ttmp[ 0 ] = vec3( m[ 0 ].x, m[ 1 ].x, m[ 2 ].x );\n\ttmp[ 1 ] = vec3( m[ 0 ].y, m[ 1 ].y, m[ 2 ].y );\n\ttmp[ 2 ] = vec3( m[ 0 ].z, m[ 1 ].z, m[ 2 ].z );\n\treturn tmp;\n}\nfloat linearToRelativeLuminance( const in vec3 color ) {\n\tvec3 weights = vec3( 0.2126, 0.7152, 0.0722 );\n\treturn dot( weights, color.rgb );\n}", +cube_uv_reflection_fragment:"#ifdef ENVMAP_TYPE_CUBE_UV\n#define cubeUV_textureSize (1024.0)\nint getFaceFromDirection(vec3 direction) {\n\tvec3 absDirection = abs(direction);\n\tint face = -1;\n\tif( absDirection.x > absDirection.z ) {\n\t\tif(absDirection.x > absDirection.y )\n\t\t\tface = direction.x > 0.0 ? 0 : 3;\n\t\telse\n\t\t\tface = direction.y > 0.0 ? 1 : 4;\n\t}\n\telse {\n\t\tif(absDirection.z > absDirection.y )\n\t\t\tface = direction.z > 0.0 ? 2 : 5;\n\t\telse\n\t\t\tface = direction.y > 0.0 ? 1 : 4;\n\t}\n\treturn face;\n}\n#define cubeUV_maxLods1 (log2(cubeUV_textureSize*0.25) - 1.0)\n#define cubeUV_rangeClamp (exp2((6.0 - 1.0) * 2.0))\nvec2 MipLevelInfo( vec3 vec, float roughnessLevel, float roughness ) {\n\tfloat scale = exp2(cubeUV_maxLods1 - roughnessLevel);\n\tfloat dxRoughness = dFdx(roughness);\n\tfloat dyRoughness = dFdy(roughness);\n\tvec3 dx = dFdx( vec * scale * dxRoughness );\n\tvec3 dy = dFdy( vec * scale * dyRoughness );\n\tfloat d = max( dot( dx, dx ), dot( dy, dy ) );\n\td = clamp(d, 1.0, cubeUV_rangeClamp);\n\tfloat mipLevel = 0.5 * log2(d);\n\treturn vec2(floor(mipLevel), fract(mipLevel));\n}\n#define cubeUV_maxLods2 (log2(cubeUV_textureSize*0.25) - 2.0)\n#define cubeUV_rcpTextureSize (1.0 / cubeUV_textureSize)\nvec2 getCubeUV(vec3 direction, float roughnessLevel, float mipLevel) {\n\tmipLevel = roughnessLevel > cubeUV_maxLods2 - 3.0 ? 0.0 : mipLevel;\n\tfloat a = 16.0 * cubeUV_rcpTextureSize;\n\tvec2 exp2_packed = exp2( vec2( roughnessLevel, mipLevel ) );\n\tvec2 rcp_exp2_packed = vec2( 1.0 ) / exp2_packed;\n\tfloat powScale = exp2_packed.x * exp2_packed.y;\n\tfloat scale = rcp_exp2_packed.x * rcp_exp2_packed.y * 0.25;\n\tfloat mipOffset = 0.75*(1.0 - rcp_exp2_packed.y) * rcp_exp2_packed.x;\n\tbool bRes = mipLevel == 0.0;\n\tscale = bRes && (scale < a) ? a : scale;\n\tvec3 r;\n\tvec2 offset;\n\tint face = getFaceFromDirection(direction);\n\tfloat rcpPowScale = 1.0 / powScale;\n\tif( face == 0) {\n\t\tr = vec3(direction.x, -direction.z, direction.y);\n\t\toffset = vec2(0.0+mipOffset,0.75 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\n\t}\n\telse if( face == 1) {\n\t\tr = vec3(direction.y, direction.x, direction.z);\n\t\toffset = vec2(scale+mipOffset, 0.75 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\n\t}\n\telse if( face == 2) {\n\t\tr = vec3(direction.z, direction.x, direction.y);\n\t\toffset = vec2(2.0*scale+mipOffset, 0.75 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? a : offset.y;\n\t}\n\telse if( face == 3) {\n\t\tr = vec3(direction.x, direction.z, direction.y);\n\t\toffset = vec2(0.0+mipOffset,0.5 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\n\t}\n\telse if( face == 4) {\n\t\tr = vec3(direction.y, direction.x, -direction.z);\n\t\toffset = vec2(scale+mipOffset, 0.5 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\n\t}\n\telse {\n\t\tr = vec3(direction.z, -direction.x, direction.y);\n\t\toffset = vec2(2.0*scale+mipOffset, 0.5 * rcpPowScale);\n\t\toffset.y = bRes && (offset.y < 2.0*a) ? 0.0 : offset.y;\n\t}\n\tr = normalize(r);\n\tfloat texelOffset = 0.5 * cubeUV_rcpTextureSize;\n\tvec2 s = ( r.yz / abs( r.x ) + vec2( 1.0 ) ) * 0.5;\n\tvec2 base = offset + vec2( texelOffset );\n\treturn base + s * ( scale - 2.0 * texelOffset );\n}\n#define cubeUV_maxLods3 (log2(cubeUV_textureSize*0.25) - 3.0)\nvec4 textureCubeUV( sampler2D envMap, vec3 reflectedDirection, float roughness ) {\n\tfloat roughnessVal = roughness* cubeUV_maxLods3;\n\tfloat r1 = floor(roughnessVal);\n\tfloat r2 = r1 + 1.0;\n\tfloat t = fract(roughnessVal);\n\tvec2 mipInfo = MipLevelInfo(reflectedDirection, r1, roughness);\n\tfloat s = mipInfo.y;\n\tfloat level0 = mipInfo.x;\n\tfloat level1 = level0 + 1.0;\n\tlevel1 = level1 > 5.0 ? 5.0 : level1;\n\tlevel0 += min( floor( s + 0.5 ), 5.0 );\n\tvec2 uv_10 = getCubeUV(reflectedDirection, r1, level0);\n\tvec4 color10 = envMapTexelToLinear(texture2D(envMap, uv_10));\n\tvec2 uv_20 = getCubeUV(reflectedDirection, r2, level0);\n\tvec4 color20 = envMapTexelToLinear(texture2D(envMap, uv_20));\n\tvec4 result = mix(color10, color20, t);\n\treturn vec4(result.rgb, 1.0);\n}\n#endif", +defaultnormal_vertex:"vec3 transformedNormal = normalMatrix * objectNormal;\n#ifdef FLIP_SIDED\n\ttransformedNormal = - transformedNormal;\n#endif\n#ifdef USE_TANGENT\n\tvec3 transformedTangent = normalMatrix * objectTangent;\n\t#ifdef FLIP_SIDED\n\t\ttransformedTangent = - transformedTangent;\n\t#endif\n#endif",displacementmap_pars_vertex:"#ifdef USE_DISPLACEMENTMAP\n\tuniform sampler2D displacementMap;\n\tuniform float displacementScale;\n\tuniform float displacementBias;\n#endif",displacementmap_vertex:"#ifdef USE_DISPLACEMENTMAP\n\ttransformed += normalize( objectNormal ) * ( texture2D( displacementMap, uv ).x * displacementScale + displacementBias );\n#endif", +emissivemap_fragment:"#ifdef USE_EMISSIVEMAP\n\tvec4 emissiveColor = texture2D( emissiveMap, vUv );\n\temissiveColor.rgb = emissiveMapTexelToLinear( emissiveColor ).rgb;\n\ttotalEmissiveRadiance *= emissiveColor.rgb;\n#endif",emissivemap_pars_fragment:"#ifdef USE_EMISSIVEMAP\n\tuniform sampler2D emissiveMap;\n#endif",encodings_fragment:"gl_FragColor = linearToOutputTexel( gl_FragColor );",encodings_pars_fragment:"\nvec4 LinearToLinear( in vec4 value ) {\n\treturn value;\n}\nvec4 GammaToLinear( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( gammaFactor ) ), value.a );\n}\nvec4 LinearToGamma( in vec4 value, in float gammaFactor ) {\n\treturn vec4( pow( value.rgb, vec3( 1.0 / gammaFactor ) ), value.a );\n}\nvec4 sRGBToLinear( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb * 0.9478672986 + vec3( 0.0521327014 ), vec3( 2.4 ) ), value.rgb * 0.0773993808, vec3( lessThanEqual( value.rgb, vec3( 0.04045 ) ) ) ), value.a );\n}\nvec4 LinearTosRGB( in vec4 value ) {\n\treturn vec4( mix( pow( value.rgb, vec3( 0.41666 ) ) * 1.055 - vec3( 0.055 ), value.rgb * 12.92, vec3( lessThanEqual( value.rgb, vec3( 0.0031308 ) ) ) ), value.a );\n}\nvec4 RGBEToLinear( in vec4 value ) {\n\treturn vec4( value.rgb * exp2( value.a * 255.0 - 128.0 ), 1.0 );\n}\nvec4 LinearToRGBE( in vec4 value ) {\n\tfloat maxComponent = max( max( value.r, value.g ), value.b );\n\tfloat fExp = clamp( ceil( log2( maxComponent ) ), -128.0, 127.0 );\n\treturn vec4( value.rgb / exp2( fExp ), ( fExp + 128.0 ) / 255.0 );\n}\nvec4 RGBMToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * value.a * maxRange, 1.0 );\n}\nvec4 LinearToRGBM( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\n\tfloat M = clamp( maxRGB / maxRange, 0.0, 1.0 );\n\tM = ceil( M * 255.0 ) / 255.0;\n\treturn vec4( value.rgb / ( M * maxRange ), M );\n}\nvec4 RGBDToLinear( in vec4 value, in float maxRange ) {\n\treturn vec4( value.rgb * ( ( maxRange / 255.0 ) / value.a ), 1.0 );\n}\nvec4 LinearToRGBD( in vec4 value, in float maxRange ) {\n\tfloat maxRGB = max( value.r, max( value.g, value.b ) );\n\tfloat D = max( maxRange / maxRGB, 1.0 );\n\tD = min( floor( D ) / 255.0, 1.0 );\n\treturn vec4( value.rgb * ( D * ( 255.0 / maxRange ) ), D );\n}\nconst mat3 cLogLuvM = mat3( 0.2209, 0.3390, 0.4184, 0.1138, 0.6780, 0.7319, 0.0102, 0.1130, 0.2969 );\nvec4 LinearToLogLuv( in vec4 value ) {\n\tvec3 Xp_Y_XYZp = cLogLuvM * value.rgb;\n\tXp_Y_XYZp = max( Xp_Y_XYZp, vec3( 1e-6, 1e-6, 1e-6 ) );\n\tvec4 vResult;\n\tvResult.xy = Xp_Y_XYZp.xy / Xp_Y_XYZp.z;\n\tfloat Le = 2.0 * log2(Xp_Y_XYZp.y) + 127.0;\n\tvResult.w = fract( Le );\n\tvResult.z = ( Le - ( floor( vResult.w * 255.0 ) ) / 255.0 ) / 255.0;\n\treturn vResult;\n}\nconst mat3 cLogLuvInverseM = mat3( 6.0014, -2.7008, -1.7996, -1.3320, 3.1029, -5.7721, 0.3008, -1.0882, 5.6268 );\nvec4 LogLuvToLinear( in vec4 value ) {\n\tfloat Le = value.z * 255.0 + value.w;\n\tvec3 Xp_Y_XYZp;\n\tXp_Y_XYZp.y = exp2( ( Le - 127.0 ) / 2.0 );\n\tXp_Y_XYZp.z = Xp_Y_XYZp.y / value.y;\n\tXp_Y_XYZp.x = value.x * Xp_Y_XYZp.z;\n\tvec3 vRGB = cLogLuvInverseM * Xp_Y_XYZp.rgb;\n\treturn vec4( max( vRGB, 0.0 ), 1.0 );\n}", +envmap_fragment:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\tvec3 cameraToVertex = normalize( vWorldPosition - cameraPosition );\n\t\tvec3 worldNormal = inverseTransformDirection( normal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#else\n\t\tvec3 reflectVec = vReflect;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tvec4 envColor = textureCube( envMap, vec3( flipEnvMap * reflectVec.x, reflectVec.yz ) );\n\t#elif defined( ENVMAP_TYPE_EQUIREC )\n\t\tvec2 sampleUV;\n\t\treflectVec = normalize( reflectVec );\n\t\tsampleUV.y = asin( clamp( reflectVec.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\t\tsampleUV.x = atan( reflectVec.z, reflectVec.x ) * RECIPROCAL_PI2 + 0.5;\n\t\tvec4 envColor = texture2D( envMap, sampleUV );\n\t#elif defined( ENVMAP_TYPE_SPHERE )\n\t\treflectVec = normalize( reflectVec );\n\t\tvec3 reflectView = normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0, 0.0, 1.0 ) );\n\t\tvec4 envColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5 );\n\t#else\n\t\tvec4 envColor = vec4( 0.0 );\n\t#endif\n\tenvColor = envMapTexelToLinear( envColor );\n\t#ifdef ENVMAP_BLENDING_MULTIPLY\n\t\toutgoingLight = mix( outgoingLight, outgoingLight * envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_MIX )\n\t\toutgoingLight = mix( outgoingLight, envColor.xyz, specularStrength * reflectivity );\n\t#elif defined( ENVMAP_BLENDING_ADD )\n\t\toutgoingLight += envColor.xyz * specularStrength * reflectivity;\n\t#endif\n#endif", +envmap_pars_fragment:"#if defined( USE_ENVMAP ) || defined( PHYSICAL )\n\tuniform float reflectivity;\n\tuniform float envMapIntensity;\n#endif\n#ifdef USE_ENVMAP\n\t#if ! defined( PHYSICAL ) && ( defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) )\n\t\tvarying vec3 vWorldPosition;\n\t#endif\n\t#ifdef ENVMAP_TYPE_CUBE\n\t\tuniform samplerCube envMap;\n\t#else\n\t\tuniform sampler2D envMap;\n\t#endif\n\tuniform float flipEnvMap;\n\tuniform int maxMipLevel;\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG ) || defined( PHYSICAL )\n\t\tuniform float refractionRatio;\n\t#else\n\t\tvarying vec3 vReflect;\n\t#endif\n#endif", +envmap_pars_vertex:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\tvarying vec3 vWorldPosition;\n\t#else\n\t\tvarying vec3 vReflect;\n\t\tuniform float refractionRatio;\n\t#endif\n#endif",envmap_physical_pars_fragment:"#if defined( USE_ENVMAP ) && defined( PHYSICAL )\n\tvec3 getLightProbeIndirectIrradiance( const in GeometricContext geometry, const in int maxMIPLevel ) {\n\t\tvec3 worldNormal = inverseTransformDirection( geometry.normal, viewMatrix );\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\t\t\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryVec, float( maxMIPLevel ) );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryVec, float( maxMIPLevel ) );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 queryVec = vec3( flipEnvMap * worldNormal.x, worldNormal.yz );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, queryVec, 1.0 );\n\t\t#else\n\t\t\tvec4 envMapColor = vec4( 0.0 );\n\t\t#endif\n\t\treturn PI * envMapColor.rgb * envMapIntensity;\n\t}\n\tfloat getSpecularMIPLevel( const in float blinnShininessExponent, const in int maxMIPLevel ) {\n\t\tfloat maxMIPLevelScalar = float( maxMIPLevel );\n\t\tfloat desiredMIPLevel = maxMIPLevelScalar + 0.79248 - 0.5 * log2( pow2( blinnShininessExponent ) + 1.0 );\n\t\treturn clamp( desiredMIPLevel, 0.0, maxMIPLevelScalar );\n\t}\n\tvec3 getLightProbeIndirectRadiance( const in GeometricContext geometry, const in float blinnShininessExponent, const in int maxMIPLevel ) {\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvec3 reflectVec = reflect( -geometry.viewDir, geometry.normal );\n\t\t#else\n\t\t\tvec3 reflectVec = refract( -geometry.viewDir, geometry.normal, refractionRatio );\n\t\t#endif\n\t\treflectVec = inverseTransformDirection( reflectVec, viewMatrix );\n\t\tfloat specularMIPLevel = getSpecularMIPLevel( blinnShininessExponent, maxMIPLevel );\n\t\t#ifdef ENVMAP_TYPE_CUBE\n\t\t\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = textureCubeLodEXT( envMap, queryReflectVec, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = textureCube( envMap, queryReflectVec, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_CUBE_UV )\n\t\t\tvec3 queryReflectVec = vec3( flipEnvMap * reflectVec.x, reflectVec.yz );\n\t\t\tvec4 envMapColor = textureCubeUV( envMap, queryReflectVec, BlinnExponentToGGXRoughness(blinnShininessExponent ));\n\t\t#elif defined( ENVMAP_TYPE_EQUIREC )\n\t\t\tvec2 sampleUV;\n\t\t\tsampleUV.y = asin( clamp( reflectVec.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\t\t\tsampleUV.x = atan( reflectVec.z, reflectVec.x ) * RECIPROCAL_PI2 + 0.5;\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = texture2DLodEXT( envMap, sampleUV, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = texture2D( envMap, sampleUV, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#elif defined( ENVMAP_TYPE_SPHERE )\n\t\t\tvec3 reflectView = normalize( ( viewMatrix * vec4( reflectVec, 0.0 ) ).xyz + vec3( 0.0,0.0,1.0 ) );\n\t\t\t#ifdef TEXTURE_LOD_EXT\n\t\t\t\tvec4 envMapColor = texture2DLodEXT( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );\n\t\t\t#else\n\t\t\t\tvec4 envMapColor = texture2D( envMap, reflectView.xy * 0.5 + 0.5, specularMIPLevel );\n\t\t\t#endif\n\t\t\tenvMapColor.rgb = envMapTexelToLinear( envMapColor ).rgb;\n\t\t#endif\n\t\treturn envMapColor.rgb * envMapIntensity;\n\t}\n#endif", +envmap_vertex:"#ifdef USE_ENVMAP\n\t#if defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( PHONG )\n\t\tvWorldPosition = worldPosition.xyz;\n\t#else\n\t\tvec3 cameraToVertex = normalize( worldPosition.xyz - cameraPosition );\n\t\tvec3 worldNormal = inverseTransformDirection( transformedNormal, viewMatrix );\n\t\t#ifdef ENVMAP_MODE_REFLECTION\n\t\t\tvReflect = reflect( cameraToVertex, worldNormal );\n\t\t#else\n\t\t\tvReflect = refract( cameraToVertex, worldNormal, refractionRatio );\n\t\t#endif\n\t#endif\n#endif", +fog_vertex:"#ifdef USE_FOG\n\tfogDepth = -mvPosition.z;\n#endif",fog_pars_vertex:"#ifdef USE_FOG\n\tvarying float fogDepth;\n#endif",fog_fragment:"#ifdef USE_FOG\n\t#ifdef FOG_EXP2\n\t\tfloat fogFactor = whiteCompliment( exp2( - fogDensity * fogDensity * fogDepth * fogDepth * LOG2 ) );\n\t#else\n\t\tfloat fogFactor = smoothstep( fogNear, fogFar, fogDepth );\n\t#endif\n\tgl_FragColor.rgb = mix( gl_FragColor.rgb, fogColor, fogFactor );\n#endif",fog_pars_fragment:"#ifdef USE_FOG\n\tuniform vec3 fogColor;\n\tvarying float fogDepth;\n\t#ifdef FOG_EXP2\n\t\tuniform float fogDensity;\n\t#else\n\t\tuniform float fogNear;\n\t\tuniform float fogFar;\n\t#endif\n#endif", +gradientmap_pars_fragment:"#ifdef TOON\n\tuniform sampler2D gradientMap;\n\tvec3 getGradientIrradiance( vec3 normal, vec3 lightDirection ) {\n\t\tfloat dotNL = dot( normal, lightDirection );\n\t\tvec2 coord = vec2( dotNL * 0.5 + 0.5, 0.0 );\n\t\t#ifdef USE_GRADIENTMAP\n\t\t\treturn texture2D( gradientMap, coord ).rgb;\n\t\t#else\n\t\t\treturn ( coord.x < 0.7 ) ? vec3( 0.7 ) : vec3( 1.0 );\n\t\t#endif\n\t}\n#endif",lightmap_fragment:"#ifdef USE_LIGHTMAP\n\treflectedLight.indirectDiffuse += PI * texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\n#endif", +lightmap_pars_fragment:"#ifdef USE_LIGHTMAP\n\tuniform sampler2D lightMap;\n\tuniform float lightMapIntensity;\n#endif",lights_lambert_vertex:"vec3 diffuse = vec3( 1.0 );\nGeometricContext geometry;\ngeometry.position = mvPosition.xyz;\ngeometry.normal = normalize( transformedNormal );\ngeometry.viewDir = normalize( -mvPosition.xyz );\nGeometricContext backGeometry;\nbackGeometry.position = geometry.position;\nbackGeometry.normal = -geometry.normal;\nbackGeometry.viewDir = geometry.viewDir;\nvLightFront = vec3( 0.0 );\nvIndirectFront = vec3( 0.0 );\n#ifdef DOUBLE_SIDED\n\tvLightBack = vec3( 0.0 );\n\tvIndirectBack = vec3( 0.0 );\n#endif\nIncidentLight directLight;\nfloat dotNL;\nvec3 directLightColor_Diffuse;\n#if NUM_POINT_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tgetPointDirectLightIrradiance( pointLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tgetSpotDirectLightIrradiance( spotLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n#endif\n#if NUM_DIR_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tgetDirectionalDirectLightIrradiance( directionalLights[ i ], geometry, directLight );\n\t\tdotNL = dot( geometry.normal, directLight.direction );\n\t\tdirectLightColor_Diffuse = PI * directLight.color;\n\t\tvLightFront += saturate( dotNL ) * directLightColor_Diffuse;\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvLightBack += saturate( -dotNL ) * directLightColor_Diffuse;\n\t\t#endif\n\t}\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\tvIndirectFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tvIndirectBack += getHemisphereLightIrradiance( hemisphereLights[ i ], backGeometry );\n\t\t#endif\n\t}\n#endif", +lights_pars_begin:"uniform vec3 ambientLightColor;\nvec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {\n\tvec3 irradiance = ambientLightColor;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treturn irradiance;\n}\n#if NUM_DIR_LIGHTS > 0\n\tstruct DirectionalLight {\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tint shadow;\n\t\tfloat shadowBias;\n\t\tfloat shadowRadius;\n\t\tvec2 shadowMapSize;\n\t};\n\tuniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];\n\tvoid getDirectionalDirectLightIrradiance( const in DirectionalLight directionalLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tdirectLight.color = directionalLight.color;\n\t\tdirectLight.direction = directionalLight.direction;\n\t\tdirectLight.visible = true;\n\t}\n#endif\n#if NUM_POINT_LIGHTS > 0\n\tstruct PointLight {\n\t\tvec3 position;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tint shadow;\n\t\tfloat shadowBias;\n\t\tfloat shadowRadius;\n\t\tvec2 shadowMapSize;\n\t\tfloat shadowCameraNear;\n\t\tfloat shadowCameraFar;\n\t};\n\tuniform PointLight pointLights[ NUM_POINT_LIGHTS ];\n\tvoid getPointDirectLightIrradiance( const in PointLight pointLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tvec3 lVector = pointLight.position - geometry.position;\n\t\tdirectLight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tdirectLight.color = pointLight.color;\n\t\tdirectLight.color *= punctualLightIntensityToIrradianceFactor( lightDistance, pointLight.distance, pointLight.decay );\n\t\tdirectLight.visible = ( directLight.color != vec3( 0.0 ) );\n\t}\n#endif\n#if NUM_SPOT_LIGHTS > 0\n\tstruct SpotLight {\n\t\tvec3 position;\n\t\tvec3 direction;\n\t\tvec3 color;\n\t\tfloat distance;\n\t\tfloat decay;\n\t\tfloat coneCos;\n\t\tfloat penumbraCos;\n\t\tint shadow;\n\t\tfloat shadowBias;\n\t\tfloat shadowRadius;\n\t\tvec2 shadowMapSize;\n\t};\n\tuniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];\n\tvoid getSpotDirectLightIrradiance( const in SpotLight spotLight, const in GeometricContext geometry, out IncidentLight directLight ) {\n\t\tvec3 lVector = spotLight.position - geometry.position;\n\t\tdirectLight.direction = normalize( lVector );\n\t\tfloat lightDistance = length( lVector );\n\t\tfloat angleCos = dot( directLight.direction, spotLight.direction );\n\t\tif ( angleCos > spotLight.coneCos ) {\n\t\t\tfloat spotEffect = smoothstep( spotLight.coneCos, spotLight.penumbraCos, angleCos );\n\t\t\tdirectLight.color = spotLight.color;\n\t\t\tdirectLight.color *= spotEffect * punctualLightIntensityToIrradianceFactor( lightDistance, spotLight.distance, spotLight.decay );\n\t\t\tdirectLight.visible = true;\n\t\t} else {\n\t\t\tdirectLight.color = vec3( 0.0 );\n\t\t\tdirectLight.visible = false;\n\t\t}\n\t}\n#endif\n#if NUM_RECT_AREA_LIGHTS > 0\n\tstruct RectAreaLight {\n\t\tvec3 color;\n\t\tvec3 position;\n\t\tvec3 halfWidth;\n\t\tvec3 halfHeight;\n\t};\n\tuniform sampler2D ltc_1;\tuniform sampler2D ltc_2;\n\tuniform RectAreaLight rectAreaLights[ NUM_RECT_AREA_LIGHTS ];\n#endif\n#if NUM_HEMI_LIGHTS > 0\n\tstruct HemisphereLight {\n\t\tvec3 direction;\n\t\tvec3 skyColor;\n\t\tvec3 groundColor;\n\t};\n\tuniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];\n\tvec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in GeometricContext geometry ) {\n\t\tfloat dotNL = dot( geometry.normal, hemiLight.direction );\n\t\tfloat hemiDiffuseWeight = 0.5 * dotNL + 0.5;\n\t\tvec3 irradiance = mix( hemiLight.groundColor, hemiLight.skyColor, hemiDiffuseWeight );\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tirradiance *= PI;\n\t\t#endif\n\t\treturn irradiance;\n\t}\n#endif", +lights_phong_fragment:"BlinnPhongMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb;\nmaterial.specularColor = specular;\nmaterial.specularShininess = shininess;\nmaterial.specularStrength = specularStrength;",lights_phong_pars_fragment:"varying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\nstruct BlinnPhongMaterial {\n\tvec3\tdiffuseColor;\n\tvec3\tspecularColor;\n\tfloat\tspecularShininess;\n\tfloat\tspecularStrength;\n};\nvoid RE_Direct_BlinnPhong( const in IncidentLight directLight, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\t#ifdef TOON\n\t\tvec3 irradiance = getGradientIrradiance( geometry.normal, directLight.direction ) * directLight.color;\n\t#else\n\t\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\t\tvec3 irradiance = dotNL * directLight.color;\n\t#endif\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\treflectedLight.directDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n\treflectedLight.directSpecular += irradiance * BRDF_Specular_BlinnPhong( directLight, geometry, material.specularColor, material.specularShininess ) * material.specularStrength;\n}\nvoid RE_IndirectDiffuse_BlinnPhong( const in vec3 irradiance, const in GeometricContext geometry, const in BlinnPhongMaterial material, inout ReflectedLight reflectedLight ) {\n\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n}\n#define RE_Direct\t\t\t\tRE_Direct_BlinnPhong\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_BlinnPhong\n#define Material_LightProbeLOD( material )\t(0)", +lights_physical_fragment:"PhysicalMaterial material;\nmaterial.diffuseColor = diffuseColor.rgb * ( 1.0 - metalnessFactor );\nmaterial.specularRoughness = clamp( roughnessFactor, 0.04, 1.0 );\n#ifdef STANDARD\n\tmaterial.specularColor = mix( vec3( DEFAULT_SPECULAR_COEFFICIENT ), diffuseColor.rgb, metalnessFactor );\n#else\n\tmaterial.specularColor = mix( vec3( MAXIMUM_SPECULAR_COEFFICIENT * pow2( reflectivity ) ), diffuseColor.rgb, metalnessFactor );\n\tmaterial.clearCoat = saturate( clearCoat );\tmaterial.clearCoatRoughness = clamp( clearCoatRoughness, 0.04, 1.0 );\n#endif", +lights_physical_pars_fragment:"struct PhysicalMaterial {\n\tvec3\tdiffuseColor;\n\tfloat\tspecularRoughness;\n\tvec3\tspecularColor;\n\t#ifndef STANDARD\n\t\tfloat clearCoat;\n\t\tfloat clearCoatRoughness;\n\t#endif\n};\n#define MAXIMUM_SPECULAR_COEFFICIENT 0.16\n#define DEFAULT_SPECULAR_COEFFICIENT 0.04\nfloat clearCoatDHRApprox( const in float roughness, const in float dotNL ) {\n\treturn DEFAULT_SPECULAR_COEFFICIENT + ( 1.0 - DEFAULT_SPECULAR_COEFFICIENT ) * ( pow( 1.0 - dotNL, 5.0 ) * pow( 1.0 - roughness, 2.0 ) );\n}\n#if NUM_RECT_AREA_LIGHTS > 0\n\tvoid RE_Direct_RectArea_Physical( const in RectAreaLight rectAreaLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t\tvec3 normal = geometry.normal;\n\t\tvec3 viewDir = geometry.viewDir;\n\t\tvec3 position = geometry.position;\n\t\tvec3 lightPos = rectAreaLight.position;\n\t\tvec3 halfWidth = rectAreaLight.halfWidth;\n\t\tvec3 halfHeight = rectAreaLight.halfHeight;\n\t\tvec3 lightColor = rectAreaLight.color;\n\t\tfloat roughness = material.specularRoughness;\n\t\tvec3 rectCoords[ 4 ];\n\t\trectCoords[ 0 ] = lightPos + halfWidth - halfHeight;\t\trectCoords[ 1 ] = lightPos - halfWidth - halfHeight;\n\t\trectCoords[ 2 ] = lightPos - halfWidth + halfHeight;\n\t\trectCoords[ 3 ] = lightPos + halfWidth + halfHeight;\n\t\tvec2 uv = LTC_Uv( normal, viewDir, roughness );\n\t\tvec4 t1 = texture2D( ltc_1, uv );\n\t\tvec4 t2 = texture2D( ltc_2, uv );\n\t\tmat3 mInv = mat3(\n\t\t\tvec3( t1.x, 0, t1.y ),\n\t\t\tvec3( 0, 1, 0 ),\n\t\t\tvec3( t1.z, 0, t1.w )\n\t\t);\n\t\tvec3 fresnel = ( material.specularColor * t2.x + ( vec3( 1.0 ) - material.specularColor ) * t2.y );\n\t\treflectedLight.directSpecular += lightColor * fresnel * LTC_Evaluate( normal, viewDir, position, mInv, rectCoords );\n\t\treflectedLight.directDiffuse += lightColor * material.diffuseColor * LTC_Evaluate( normal, viewDir, position, mat3( 1.0 ), rectCoords );\n\t}\n#endif\nvoid RE_Direct_Physical( const in IncidentLight directLight, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\tfloat dotNL = saturate( dot( geometry.normal, directLight.direction ) );\n\tvec3 irradiance = dotNL * directLight.color;\n\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\tirradiance *= PI;\n\t#endif\n\t#ifndef STANDARD\n\t\tfloat clearCoatDHR = material.clearCoat * clearCoatDHRApprox( material.clearCoatRoughness, dotNL );\n\t#else\n\t\tfloat clearCoatDHR = 0.0;\n\t#endif\n\treflectedLight.directSpecular += ( 1.0 - clearCoatDHR ) * irradiance * BRDF_Specular_GGX( directLight, geometry, material.specularColor, material.specularRoughness );\n\treflectedLight.directDiffuse += ( 1.0 - clearCoatDHR ) * irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n\t#ifndef STANDARD\n\t\treflectedLight.directSpecular += irradiance * material.clearCoat * BRDF_Specular_GGX( directLight, geometry, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearCoatRoughness );\n\t#endif\n}\nvoid RE_IndirectDiffuse_Physical( const in vec3 irradiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight ) {\n\t#ifndef ENVMAP_TYPE_CUBE_UV\n\t\treflectedLight.indirectDiffuse += irradiance * BRDF_Diffuse_Lambert( material.diffuseColor );\n\t#endif\n}\nvoid RE_IndirectSpecular_Physical( const in vec3 radiance, const in vec3 irradiance, const in vec3 clearCoatRadiance, const in GeometricContext geometry, const in PhysicalMaterial material, inout ReflectedLight reflectedLight) {\n\t#ifndef STANDARD\n\t\tfloat dotNV = saturate( dot( geometry.normal, geometry.viewDir ) );\n\t\tfloat dotNL = dotNV;\n\t\tfloat clearCoatDHR = material.clearCoat * clearCoatDHRApprox( material.clearCoatRoughness, dotNL );\n\t#else\n\t\tfloat clearCoatDHR = 0.0;\n\t#endif\n\tfloat clearCoatInv = 1.0 - clearCoatDHR;\n\t#if defined( ENVMAP_TYPE_CUBE_UV )\n\t\tvec3 singleScattering = vec3( 0.0 );\n\t\tvec3 multiScattering = vec3( 0.0 );\n\t\tvec3 cosineWeightedIrradiance = irradiance * RECIPROCAL_PI;\n\t\tBRDF_Specular_Multiscattering_Environment( geometry, material.specularColor, material.specularRoughness, singleScattering, multiScattering );\n\t\tvec3 diffuse = material.diffuseColor;\n\t\treflectedLight.indirectSpecular += clearCoatInv * radiance * singleScattering;\n\t\treflectedLight.indirectDiffuse += multiScattering * cosineWeightedIrradiance;\n\t\treflectedLight.indirectDiffuse += diffuse * cosineWeightedIrradiance;\n\t#else\n\t\treflectedLight.indirectSpecular += clearCoatInv * radiance * BRDF_Specular_GGX_Environment( geometry, material.specularColor, material.specularRoughness );\n\t#endif\n\t#ifndef STANDARD\n\t\treflectedLight.indirectSpecular += clearCoatRadiance * material.clearCoat * BRDF_Specular_GGX_Environment( geometry, vec3( DEFAULT_SPECULAR_COEFFICIENT ), material.clearCoatRoughness );\n\t#endif\n}\n#define RE_Direct\t\t\t\tRE_Direct_Physical\n#define RE_Direct_RectArea\t\tRE_Direct_RectArea_Physical\n#define RE_IndirectDiffuse\t\tRE_IndirectDiffuse_Physical\n#define RE_IndirectSpecular\t\tRE_IndirectSpecular_Physical\n#define Material_BlinnShininessExponent( material ) GGXRoughnessToBlinnExponent( material.specularRoughness )\n#define Material_ClearCoat_BlinnShininessExponent( material ) GGXRoughnessToBlinnExponent( material.clearCoatRoughness )\nfloat computeSpecularOcclusion( const in float dotNV, const in float ambientOcclusion, const in float roughness ) {\n\treturn saturate( pow( dotNV + ambientOcclusion, exp2( - 16.0 * roughness - 1.0 ) ) - 1.0 + ambientOcclusion );\n}", +lights_fragment_begin:"\nGeometricContext geometry;\ngeometry.position = - vViewPosition;\ngeometry.normal = normal;\ngeometry.viewDir = normalize( vViewPosition );\nIncidentLight directLight;\n#if ( NUM_POINT_LIGHTS > 0 ) && defined( RE_Direct )\n\tPointLight pointLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tgetPointDirectLightIrradiance( pointLight, geometry, directLight );\n\t\t#ifdef USE_SHADOWMAP\n\t\tdirectLight.color *= all( bvec2( pointLight.shadow, directLight.visible ) ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if ( NUM_SPOT_LIGHTS > 0 ) && defined( RE_Direct )\n\tSpotLight spotLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tgetSpotDirectLightIrradiance( spotLight, geometry, directLight );\n\t\t#ifdef USE_SHADOWMAP\n\t\tdirectLight.color *= all( bvec2( spotLight.shadow, directLight.visible ) ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if ( NUM_DIR_LIGHTS > 0 ) && defined( RE_Direct )\n\tDirectionalLight directionalLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tgetDirectionalDirectLightIrradiance( directionalLight, geometry, directLight );\n\t\t#ifdef USE_SHADOWMAP\n\t\tdirectLight.color *= all( bvec2( directionalLight.shadow, directLight.visible ) ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t\t#endif\n\t\tRE_Direct( directLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if ( NUM_RECT_AREA_LIGHTS > 0 ) && defined( RE_Direct_RectArea )\n\tRectAreaLight rectAreaLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_RECT_AREA_LIGHTS; i ++ ) {\n\t\trectAreaLight = rectAreaLights[ i ];\n\t\tRE_Direct_RectArea( rectAreaLight, geometry, material, reflectedLight );\n\t}\n#endif\n#if defined( RE_IndirectDiffuse )\n\tvec3 irradiance = getAmbientLightIrradiance( ambientLightColor );\n\t#if ( NUM_HEMI_LIGHTS > 0 )\n\t\t#pragma unroll_loop\n\t\tfor ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {\n\t\t\tirradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );\n\t\t}\n\t#endif\n#endif\n#if defined( RE_IndirectSpecular )\n\tvec3 radiance = vec3( 0.0 );\n\tvec3 clearCoatRadiance = vec3( 0.0 );\n#endif", +lights_fragment_maps:"#if defined( RE_IndirectDiffuse )\n\t#ifdef USE_LIGHTMAP\n\t\tvec3 lightMapIrradiance = texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\n\t\t#ifndef PHYSICALLY_CORRECT_LIGHTS\n\t\t\tlightMapIrradiance *= PI;\n\t\t#endif\n\t\tirradiance += lightMapIrradiance;\n\t#endif\n\t#if defined( USE_ENVMAP ) && defined( PHYSICAL ) && defined( ENVMAP_TYPE_CUBE_UV )\n\t\tirradiance += getLightProbeIndirectIrradiance( geometry, maxMipLevel );\n\t#endif\n#endif\n#if defined( USE_ENVMAP ) && defined( RE_IndirectSpecular )\n\tradiance += getLightProbeIndirectRadiance( geometry, Material_BlinnShininessExponent( material ), maxMipLevel );\n\t#ifndef STANDARD\n\t\tclearCoatRadiance += getLightProbeIndirectRadiance( geometry, Material_ClearCoat_BlinnShininessExponent( material ), maxMipLevel );\n\t#endif\n#endif", +lights_fragment_end:"#if defined( RE_IndirectDiffuse )\n\tRE_IndirectDiffuse( irradiance, geometry, material, reflectedLight );\n#endif\n#if defined( RE_IndirectSpecular )\n\tRE_IndirectSpecular( radiance, irradiance, clearCoatRadiance, geometry, material, reflectedLight );\n#endif",logdepthbuf_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tgl_FragDepthEXT = log2( vFragDepth ) * logDepthBufFC * 0.5;\n#endif",logdepthbuf_pars_fragment:"#if defined( USE_LOGDEPTHBUF ) && defined( USE_LOGDEPTHBUF_EXT )\n\tuniform float logDepthBufFC;\n\tvarying float vFragDepth;\n#endif", +logdepthbuf_pars_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvarying float vFragDepth;\n\t#else\n\t\tuniform float logDepthBufFC;\n\t#endif\n#endif",logdepthbuf_vertex:"#ifdef USE_LOGDEPTHBUF\n\t#ifdef USE_LOGDEPTHBUF_EXT\n\t\tvFragDepth = 1.0 + gl_Position.w;\n\t#else\n\t\tgl_Position.z = log2( max( EPSILON, gl_Position.w + 1.0 ) ) * logDepthBufFC - 1.0;\n\t\tgl_Position.z *= gl_Position.w;\n\t#endif\n#endif",map_fragment:"#ifdef USE_MAP\n\tvec4 texelColor = texture2D( map, vUv );\n\ttexelColor = mapTexelToLinear( texelColor );\n\tdiffuseColor *= texelColor;\n#endif", +map_pars_fragment:"#ifdef USE_MAP\n\tuniform sampler2D map;\n#endif",map_particle_fragment:"#ifdef USE_MAP\n\tvec2 uv = ( uvTransform * vec3( gl_PointCoord.x, 1.0 - gl_PointCoord.y, 1 ) ).xy;\n\tvec4 mapTexel = texture2D( map, uv );\n\tdiffuseColor *= mapTexelToLinear( mapTexel );\n#endif",map_particle_pars_fragment:"#ifdef USE_MAP\n\tuniform mat3 uvTransform;\n\tuniform sampler2D map;\n#endif",metalnessmap_fragment:"float metalnessFactor = metalness;\n#ifdef USE_METALNESSMAP\n\tvec4 texelMetalness = texture2D( metalnessMap, vUv );\n\tmetalnessFactor *= texelMetalness.b;\n#endif", +metalnessmap_pars_fragment:"#ifdef USE_METALNESSMAP\n\tuniform sampler2D metalnessMap;\n#endif",morphnormal_vertex:"#ifdef USE_MORPHNORMALS\n\tobjectNormal += ( morphNormal0 - normal ) * morphTargetInfluences[ 0 ];\n\tobjectNormal += ( morphNormal1 - normal ) * morphTargetInfluences[ 1 ];\n\tobjectNormal += ( morphNormal2 - normal ) * morphTargetInfluences[ 2 ];\n\tobjectNormal += ( morphNormal3 - normal ) * morphTargetInfluences[ 3 ];\n#endif",morphtarget_pars_vertex:"#ifdef USE_MORPHTARGETS\n\t#ifndef USE_MORPHNORMALS\n\tuniform float morphTargetInfluences[ 8 ];\n\t#else\n\tuniform float morphTargetInfluences[ 4 ];\n\t#endif\n#endif", +morphtarget_vertex:"#ifdef USE_MORPHTARGETS\n\ttransformed += ( morphTarget0 - position ) * morphTargetInfluences[ 0 ];\n\ttransformed += ( morphTarget1 - position ) * morphTargetInfluences[ 1 ];\n\ttransformed += ( morphTarget2 - position ) * morphTargetInfluences[ 2 ];\n\ttransformed += ( morphTarget3 - position ) * morphTargetInfluences[ 3 ];\n\t#ifndef USE_MORPHNORMALS\n\ttransformed += ( morphTarget4 - position ) * morphTargetInfluences[ 4 ];\n\ttransformed += ( morphTarget5 - position ) * morphTargetInfluences[ 5 ];\n\ttransformed += ( morphTarget6 - position ) * morphTargetInfluences[ 6 ];\n\ttransformed += ( morphTarget7 - position ) * morphTargetInfluences[ 7 ];\n\t#endif\n#endif", +normal_fragment_begin:"#ifdef FLAT_SHADED\n\tvec3 fdx = vec3( dFdx( vViewPosition.x ), dFdx( vViewPosition.y ), dFdx( vViewPosition.z ) );\n\tvec3 fdy = vec3( dFdy( vViewPosition.x ), dFdy( vViewPosition.y ), dFdy( vViewPosition.z ) );\n\tvec3 normal = normalize( cross( fdx, fdy ) );\n#else\n\tvec3 normal = normalize( vNormal );\n\t#ifdef DOUBLE_SIDED\n\t\tnormal = normal * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t#endif\n\t#ifdef USE_TANGENT\n\t\tvec3 tangent = normalize( vTangent );\n\t\tvec3 bitangent = normalize( vBitangent );\n\t\t#ifdef DOUBLE_SIDED\n\t\t\ttangent = tangent * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\t\tbitangent = bitangent * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\t#endif\n\t#endif\n#endif", +normal_fragment_maps:"#ifdef USE_NORMALMAP\n\t#ifdef OBJECTSPACE_NORMALMAP\n\t\tnormal = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t\t#ifdef FLIP_SIDED\n\t\t\tnormal = - normal;\n\t\t#endif\n\t\t#ifdef DOUBLE_SIDED\n\t\t\tnormal = normal * ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\t#endif\n\t\tnormal = normalize( normalMatrix * normal );\n\t#else\n\t\t#ifdef USE_TANGENT\n\t\t\tmat3 vTBN = mat3( tangent, bitangent, normal );\n\t\t\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t\t\tmapN.xy = normalScale * mapN.xy;\n\t\t\tnormal = normalize( vTBN * mapN );\n\t\t#else\n\t\t\tnormal = perturbNormal2Arb( -vViewPosition, normal );\n\t\t#endif\n\t#endif\n#elif defined( USE_BUMPMAP )\n\tnormal = perturbNormalArb( -vViewPosition, normal, dHdxy_fwd() );\n#endif", +normalmap_pars_fragment:"#ifdef USE_NORMALMAP\n\tuniform sampler2D normalMap;\n\tuniform vec2 normalScale;\n\t#ifdef OBJECTSPACE_NORMALMAP\n\t\tuniform mat3 normalMatrix;\n\t#else\n\t\tvec3 perturbNormal2Arb( vec3 eye_pos, vec3 surf_norm ) {\n\t\t\tvec3 q0 = vec3( dFdx( eye_pos.x ), dFdx( eye_pos.y ), dFdx( eye_pos.z ) );\n\t\t\tvec3 q1 = vec3( dFdy( eye_pos.x ), dFdy( eye_pos.y ), dFdy( eye_pos.z ) );\n\t\t\tvec2 st0 = dFdx( vUv.st );\n\t\t\tvec2 st1 = dFdy( vUv.st );\n\t\t\tfloat scale = sign( st1.t * st0.s - st0.t * st1.s );\n\t\t\tvec3 S = normalize( ( q0 * st1.t - q1 * st0.t ) * scale );\n\t\t\tvec3 T = normalize( ( - q0 * st1.s + q1 * st0.s ) * scale );\n\t\t\tvec3 N = normalize( surf_norm );\n\t\t\tmat3 tsn = mat3( S, T, N );\n\t\t\tvec3 mapN = texture2D( normalMap, vUv ).xyz * 2.0 - 1.0;\n\t\t\tmapN.xy *= normalScale;\n\t\t\tmapN.xy *= ( float( gl_FrontFacing ) * 2.0 - 1.0 );\n\t\t\treturn normalize( tsn * mapN );\n\t\t}\n\t#endif\n#endif", +packing:"vec3 packNormalToRGB( const in vec3 normal ) {\n\treturn normalize( normal ) * 0.5 + 0.5;\n}\nvec3 unpackRGBToNormal( const in vec3 rgb ) {\n\treturn 2.0 * rgb.xyz - 1.0;\n}\nconst float PackUpscale = 256. / 255.;const float UnpackDownscale = 255. / 256.;\nconst vec3 PackFactors = vec3( 256. * 256. * 256., 256. * 256., 256. );\nconst vec4 UnpackFactors = UnpackDownscale / vec4( PackFactors, 1. );\nconst float ShiftRight8 = 1. / 256.;\nvec4 packDepthToRGBA( const in float v ) {\n\tvec4 r = vec4( fract( v * PackFactors ), v );\n\tr.yzw -= r.xyz * ShiftRight8;\treturn r * PackUpscale;\n}\nfloat unpackRGBAToDepth( const in vec4 v ) {\n\treturn dot( v, UnpackFactors );\n}\nfloat viewZToOrthographicDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn ( viewZ + near ) / ( near - far );\n}\nfloat orthographicDepthToViewZ( const in float linearClipZ, const in float near, const in float far ) {\n\treturn linearClipZ * ( near - far ) - near;\n}\nfloat viewZToPerspectiveDepth( const in float viewZ, const in float near, const in float far ) {\n\treturn (( near + viewZ ) * far ) / (( far - near ) * viewZ );\n}\nfloat perspectiveDepthToViewZ( const in float invClipZ, const in float near, const in float far ) {\n\treturn ( near * far ) / ( ( far - near ) * invClipZ - far );\n}", +premultiplied_alpha_fragment:"#ifdef PREMULTIPLIED_ALPHA\n\tgl_FragColor.rgb *= gl_FragColor.a;\n#endif",project_vertex:"vec4 mvPosition = modelViewMatrix * vec4( transformed, 1.0 );\ngl_Position = projectionMatrix * mvPosition;",dithering_fragment:"#if defined( DITHERING )\n\tgl_FragColor.rgb = dithering( gl_FragColor.rgb );\n#endif",dithering_pars_fragment:"#if defined( DITHERING )\n\tvec3 dithering( vec3 color ) {\n\t\tfloat grid_position = rand( gl_FragCoord.xy );\n\t\tvec3 dither_shift_RGB = vec3( 0.25 / 255.0, -0.25 / 255.0, 0.25 / 255.0 );\n\t\tdither_shift_RGB = mix( 2.0 * dither_shift_RGB, -2.0 * dither_shift_RGB, grid_position );\n\t\treturn color + dither_shift_RGB;\n\t}\n#endif", +roughnessmap_fragment:"float roughnessFactor = roughness;\n#ifdef USE_ROUGHNESSMAP\n\tvec4 texelRoughness = texture2D( roughnessMap, vUv );\n\troughnessFactor *= texelRoughness.g;\n#endif",roughnessmap_pars_fragment:"#ifdef USE_ROUGHNESSMAP\n\tuniform sampler2D roughnessMap;\n#endif",shadowmap_pars_fragment:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\t\tuniform sampler2D directionalShadowMap[ NUM_DIR_LIGHTS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHTS ];\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\t\tuniform sampler2D spotShadowMap[ NUM_SPOT_LIGHTS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHTS ];\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\t\tuniform sampler2D pointShadowMap[ NUM_POINT_LIGHTS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHTS ];\n\t#endif\n\tfloat texture2DCompare( sampler2D depths, vec2 uv, float compare ) {\n\t\treturn step( compare, unpackRGBAToDepth( texture2D( depths, uv ) ) );\n\t}\n\tfloat texture2DShadowLerp( sampler2D depths, vec2 size, vec2 uv, float compare ) {\n\t\tconst vec2 offset = vec2( 0.0, 1.0 );\n\t\tvec2 texelSize = vec2( 1.0 ) / size;\n\t\tvec2 centroidUV = floor( uv * size + 0.5 ) / size;\n\t\tfloat lb = texture2DCompare( depths, centroidUV + texelSize * offset.xx, compare );\n\t\tfloat lt = texture2DCompare( depths, centroidUV + texelSize * offset.xy, compare );\n\t\tfloat rb = texture2DCompare( depths, centroidUV + texelSize * offset.yx, compare );\n\t\tfloat rt = texture2DCompare( depths, centroidUV + texelSize * offset.yy, compare );\n\t\tvec2 f = fract( uv * size + 0.5 );\n\t\tfloat a = mix( lb, lt, f.y );\n\t\tfloat b = mix( rb, rt, f.y );\n\t\tfloat c = mix( a, b, f.x );\n\t\treturn c;\n\t}\n\tfloat getShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord ) {\n\t\tfloat shadow = 1.0;\n\t\tshadowCoord.xyz /= shadowCoord.w;\n\t\tshadowCoord.z += shadowBias;\n\t\tbvec4 inFrustumVec = bvec4 ( shadowCoord.x >= 0.0, shadowCoord.x <= 1.0, shadowCoord.y >= 0.0, shadowCoord.y <= 1.0 );\n\t\tbool inFrustum = all( inFrustumVec );\n\t\tbvec2 frustumTestVec = bvec2( inFrustum, shadowCoord.z <= 1.0 );\n\t\tbool frustumTest = all( frustumTestVec );\n\t\tif ( frustumTest ) {\n\t\t#if defined( SHADOWMAP_TYPE_PCF )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\tshadow = (\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DCompare( shadowMap, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#elif defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 texelSize = vec2( 1.0 ) / shadowMapSize;\n\t\t\tfloat dx0 = - texelSize.x * shadowRadius;\n\t\t\tfloat dy0 = - texelSize.y * shadowRadius;\n\t\t\tfloat dx1 = + texelSize.x * shadowRadius;\n\t\t\tfloat dy1 = + texelSize.y * shadowRadius;\n\t\t\tshadow = (\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( 0.0, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, dy0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy, shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, 0.0 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( 0.0, dy1 ), shadowCoord.z ) +\n\t\t\t\ttexture2DShadowLerp( shadowMap, shadowMapSize, shadowCoord.xy + vec2( dx1, dy1 ), shadowCoord.z )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\tshadow = texture2DCompare( shadowMap, shadowCoord.xy, shadowCoord.z );\n\t\t#endif\n\t\t}\n\t\treturn shadow;\n\t}\n\tvec2 cubeToUV( vec3 v, float texelSizeY ) {\n\t\tvec3 absV = abs( v );\n\t\tfloat scaleToCube = 1.0 / max( absV.x, max( absV.y, absV.z ) );\n\t\tabsV *= scaleToCube;\n\t\tv *= scaleToCube * ( 1.0 - 2.0 * texelSizeY );\n\t\tvec2 planar = v.xy;\n\t\tfloat almostATexel = 1.5 * texelSizeY;\n\t\tfloat almostOne = 1.0 - almostATexel;\n\t\tif ( absV.z >= almostOne ) {\n\t\t\tif ( v.z > 0.0 )\n\t\t\t\tplanar.x = 4.0 - v.x;\n\t\t} else if ( absV.x >= almostOne ) {\n\t\t\tfloat signX = sign( v.x );\n\t\t\tplanar.x = v.z * signX + 2.0 * signX;\n\t\t} else if ( absV.y >= almostOne ) {\n\t\t\tfloat signY = sign( v.y );\n\t\t\tplanar.x = v.x + 2.0 * signY + 2.0;\n\t\t\tplanar.y = v.z * signY - 2.0;\n\t\t}\n\t\treturn vec2( 0.125, 0.25 ) * planar + vec2( 0.375, 0.75 );\n\t}\n\tfloat getPointShadow( sampler2D shadowMap, vec2 shadowMapSize, float shadowBias, float shadowRadius, vec4 shadowCoord, float shadowCameraNear, float shadowCameraFar ) {\n\t\tvec2 texelSize = vec2( 1.0 ) / ( shadowMapSize * vec2( 4.0, 2.0 ) );\n\t\tvec3 lightToPosition = shadowCoord.xyz;\n\t\tfloat dp = ( length( lightToPosition ) - shadowCameraNear ) / ( shadowCameraFar - shadowCameraNear );\t\tdp += shadowBias;\n\t\tvec3 bd3D = normalize( lightToPosition );\n\t\t#if defined( SHADOWMAP_TYPE_PCF ) || defined( SHADOWMAP_TYPE_PCF_SOFT )\n\t\t\tvec2 offset = vec2( - 1, 1 ) * shadowRadius * texelSize.y;\n\t\t\treturn (\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yyx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxy, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.xxx, texelSize.y ), dp ) +\n\t\t\t\ttexture2DCompare( shadowMap, cubeToUV( bd3D + offset.yxx, texelSize.y ), dp )\n\t\t\t) * ( 1.0 / 9.0 );\n\t\t#else\n\t\t\treturn texture2DCompare( shadowMap, cubeToUV( bd3D, texelSize.y ), dp );\n\t\t#endif\n\t}\n#endif", +shadowmap_pars_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\t\tuniform mat4 directionalShadowMatrix[ NUM_DIR_LIGHTS ];\n\t\tvarying vec4 vDirectionalShadowCoord[ NUM_DIR_LIGHTS ];\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\t\tuniform mat4 spotShadowMatrix[ NUM_SPOT_LIGHTS ];\n\t\tvarying vec4 vSpotShadowCoord[ NUM_SPOT_LIGHTS ];\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\t\tuniform mat4 pointShadowMatrix[ NUM_POINT_LIGHTS ];\n\t\tvarying vec4 vPointShadowCoord[ NUM_POINT_LIGHTS ];\n\t#endif\n#endif", +shadowmap_vertex:"#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tvDirectionalShadowCoord[ i ] = directionalShadowMatrix[ i ] * worldPosition;\n\t}\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tvSpotShadowCoord[ i ] = spotShadowMatrix[ i ] * worldPosition;\n\t}\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tvPointShadowCoord[ i ] = pointShadowMatrix[ i ] * worldPosition;\n\t}\n\t#endif\n#endif", +shadowmask_pars_fragment:"float getShadowMask() {\n\tfloat shadow = 1.0;\n\t#ifdef USE_SHADOWMAP\n\t#if NUM_DIR_LIGHTS > 0\n\tDirectionalLight directionalLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {\n\t\tdirectionalLight = directionalLights[ i ];\n\t\tshadow *= bool( directionalLight.shadow ) ? getShadow( directionalShadowMap[ i ], directionalLight.shadowMapSize, directionalLight.shadowBias, directionalLight.shadowRadius, vDirectionalShadowCoord[ i ] ) : 1.0;\n\t}\n\t#endif\n\t#if NUM_SPOT_LIGHTS > 0\n\tSpotLight spotLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {\n\t\tspotLight = spotLights[ i ];\n\t\tshadow *= bool( spotLight.shadow ) ? getShadow( spotShadowMap[ i ], spotLight.shadowMapSize, spotLight.shadowBias, spotLight.shadowRadius, vSpotShadowCoord[ i ] ) : 1.0;\n\t}\n\t#endif\n\t#if NUM_POINT_LIGHTS > 0\n\tPointLight pointLight;\n\t#pragma unroll_loop\n\tfor ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {\n\t\tpointLight = pointLights[ i ];\n\t\tshadow *= bool( pointLight.shadow ) ? getPointShadow( pointShadowMap[ i ], pointLight.shadowMapSize, pointLight.shadowBias, pointLight.shadowRadius, vPointShadowCoord[ i ], pointLight.shadowCameraNear, pointLight.shadowCameraFar ) : 1.0;\n\t}\n\t#endif\n\t#endif\n\treturn shadow;\n}", +skinbase_vertex:"#ifdef USE_SKINNING\n\tmat4 boneMatX = getBoneMatrix( skinIndex.x );\n\tmat4 boneMatY = getBoneMatrix( skinIndex.y );\n\tmat4 boneMatZ = getBoneMatrix( skinIndex.z );\n\tmat4 boneMatW = getBoneMatrix( skinIndex.w );\n#endif",skinning_pars_vertex:"#ifdef USE_SKINNING\n\tuniform mat4 bindMatrix;\n\tuniform mat4 bindMatrixInverse;\n\t#ifdef BONE_TEXTURE\n\t\tuniform sampler2D boneTexture;\n\t\tuniform int boneTextureSize;\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tfloat j = i * 4.0;\n\t\t\tfloat x = mod( j, float( boneTextureSize ) );\n\t\t\tfloat y = floor( j / float( boneTextureSize ) );\n\t\t\tfloat dx = 1.0 / float( boneTextureSize );\n\t\t\tfloat dy = 1.0 / float( boneTextureSize );\n\t\t\ty = dy * ( y + 0.5 );\n\t\t\tvec4 v1 = texture2D( boneTexture, vec2( dx * ( x + 0.5 ), y ) );\n\t\t\tvec4 v2 = texture2D( boneTexture, vec2( dx * ( x + 1.5 ), y ) );\n\t\t\tvec4 v3 = texture2D( boneTexture, vec2( dx * ( x + 2.5 ), y ) );\n\t\t\tvec4 v4 = texture2D( boneTexture, vec2( dx * ( x + 3.5 ), y ) );\n\t\t\tmat4 bone = mat4( v1, v2, v3, v4 );\n\t\t\treturn bone;\n\t\t}\n\t#else\n\t\tuniform mat4 boneMatrices[ MAX_BONES ];\n\t\tmat4 getBoneMatrix( const in float i ) {\n\t\t\tmat4 bone = boneMatrices[ int(i) ];\n\t\t\treturn bone;\n\t\t}\n\t#endif\n#endif", +skinning_vertex:"#ifdef USE_SKINNING\n\tvec4 skinVertex = bindMatrix * vec4( transformed, 1.0 );\n\tvec4 skinned = vec4( 0.0 );\n\tskinned += boneMatX * skinVertex * skinWeight.x;\n\tskinned += boneMatY * skinVertex * skinWeight.y;\n\tskinned += boneMatZ * skinVertex * skinWeight.z;\n\tskinned += boneMatW * skinVertex * skinWeight.w;\n\ttransformed = ( bindMatrixInverse * skinned ).xyz;\n#endif",skinnormal_vertex:"#ifdef USE_SKINNING\n\tmat4 skinMatrix = mat4( 0.0 );\n\tskinMatrix += skinWeight.x * boneMatX;\n\tskinMatrix += skinWeight.y * boneMatY;\n\tskinMatrix += skinWeight.z * boneMatZ;\n\tskinMatrix += skinWeight.w * boneMatW;\n\tskinMatrix = bindMatrixInverse * skinMatrix * bindMatrix;\n\tobjectNormal = vec4( skinMatrix * vec4( objectNormal, 0.0 ) ).xyz;\n\t#ifdef USE_TANGENT\n\t\tobjectTangent = vec4( skinMatrix * vec4( objectTangent, 0.0 ) ).xyz;\n\t#endif\n#endif", +specularmap_fragment:"float specularStrength;\n#ifdef USE_SPECULARMAP\n\tvec4 texelSpecular = texture2D( specularMap, vUv );\n\tspecularStrength = texelSpecular.r;\n#else\n\tspecularStrength = 1.0;\n#endif",specularmap_pars_fragment:"#ifdef USE_SPECULARMAP\n\tuniform sampler2D specularMap;\n#endif",tonemapping_fragment:"#if defined( TONE_MAPPING )\n\tgl_FragColor.rgb = toneMapping( gl_FragColor.rgb );\n#endif",tonemapping_pars_fragment:"#ifndef saturate\n\t#define saturate(a) clamp( a, 0.0, 1.0 )\n#endif\nuniform float toneMappingExposure;\nuniform float toneMappingWhitePoint;\nvec3 LinearToneMapping( vec3 color ) {\n\treturn toneMappingExposure * color;\n}\nvec3 ReinhardToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( color / ( vec3( 1.0 ) + color ) );\n}\n#define Uncharted2Helper( x ) max( ( ( x * ( 0.15 * x + 0.10 * 0.50 ) + 0.20 * 0.02 ) / ( x * ( 0.15 * x + 0.50 ) + 0.20 * 0.30 ) ) - 0.02 / 0.30, vec3( 0.0 ) )\nvec3 Uncharted2ToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( Uncharted2Helper( color ) / Uncharted2Helper( vec3( toneMappingWhitePoint ) ) );\n}\nvec3 OptimizedCineonToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\tcolor = max( vec3( 0.0 ), color - 0.004 );\n\treturn pow( ( color * ( 6.2 * color + 0.5 ) ) / ( color * ( 6.2 * color + 1.7 ) + 0.06 ), vec3( 2.2 ) );\n}\nvec3 ACESFilmicToneMapping( vec3 color ) {\n\tcolor *= toneMappingExposure;\n\treturn saturate( ( color * ( 2.51 * color + 0.03 ) ) / ( color * ( 2.43 * color + 0.59 ) + 0.14 ) );\n}", +uv_pars_fragment:"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\n\tvarying vec2 vUv;\n#endif",uv_pars_vertex:"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\n\tvarying vec2 vUv;\n\tuniform mat3 uvTransform;\n#endif", +uv_vertex:"#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP ) || defined( USE_EMISSIVEMAP ) || defined( USE_ROUGHNESSMAP ) || defined( USE_METALNESSMAP )\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n#endif",uv2_pars_fragment:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvarying vec2 vUv2;\n#endif",uv2_pars_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tattribute vec2 uv2;\n\tvarying vec2 vUv2;\n#endif", +uv2_vertex:"#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )\n\tvUv2 = uv2;\n#endif",worldpos_vertex:"#if defined( USE_ENVMAP ) || defined( DISTANCE ) || defined ( USE_SHADOWMAP )\n\tvec4 worldPosition = modelMatrix * vec4( transformed, 1.0 );\n#endif",background_frag:"uniform sampler2D t2D;\nvarying vec2 vUv;\nvoid main() {\n\tvec4 texColor = texture2D( t2D, vUv );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include \n\t#include \n}",background_vert:"varying vec2 vUv;\nuniform mat3 uvTransform;\nvoid main() {\n\tvUv = ( uvTransform * vec3( uv, 1 ) ).xy;\n\tgl_Position = vec4( position.xy, 1.0, 1.0 );\n}", +cube_frag:"uniform samplerCube tCube;\nuniform float tFlip;\nuniform float opacity;\nvarying vec3 vWorldDirection;\nvoid main() {\n\tvec4 texColor = textureCube( tCube, vec3( tFlip * vWorldDirection.x, vWorldDirection.yz ) );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\tgl_FragColor.a *= opacity;\n\t#include \n\t#include \n}",cube_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n\tgl_Position.z = gl_Position.w;\n}", +depth_frag:"#if DEPTH_PACKING == 3200\n\tuniform float opacity;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#if DEPTH_PACKING == 3200\n\t\tdiffuseColor.a = opacity;\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#if DEPTH_PACKING == 3200\n\t\tgl_FragColor = vec4( vec3( 1.0 - gl_FragCoord.z ), opacity );\n\t#elif DEPTH_PACKING == 3201\n\t\tgl_FragColor = packDepthToRGBA( gl_FragCoord.z );\n\t#endif\n}", +depth_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}", +distanceRGBA_frag:"#define DISTANCE\nuniform vec3 referencePosition;\nuniform float nearDistance;\nuniform float farDistance;\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main () {\n\t#include \n\tvec4 diffuseColor = vec4( 1.0 );\n\t#include \n\t#include \n\t#include \n\tfloat dist = length( vWorldPosition - referencePosition );\n\tdist = ( dist - nearDistance ) / ( farDistance - nearDistance );\n\tdist = saturate( dist );\n\tgl_FragColor = packDepthToRGBA( dist );\n}", +distanceRGBA_vert:"#define DISTANCE\nvarying vec3 vWorldPosition;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#ifdef USE_DISPLACEMENTMAP\n\t\t#include \n\t\t#include \n\t\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvWorldPosition = worldPosition.xyz;\n}", +equirect_frag:"uniform sampler2D tEquirect;\nvarying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvec3 direction = normalize( vWorldDirection );\n\tvec2 sampleUV;\n\tsampleUV.y = asin( clamp( direction.y, - 1.0, 1.0 ) ) * RECIPROCAL_PI + 0.5;\n\tsampleUV.x = atan( direction.z, direction.x ) * RECIPROCAL_PI2 + 0.5;\n\tvec4 texColor = texture2D( tEquirect, sampleUV );\n\tgl_FragColor = mapTexelToLinear( texColor );\n\t#include \n\t#include \n}", +equirect_vert:"varying vec3 vWorldDirection;\n#include \nvoid main() {\n\tvWorldDirection = transformDirection( position, modelMatrix );\n\t#include \n\t#include \n}",linedashed_frag:"uniform vec3 diffuse;\nuniform float opacity;\nuniform float dashSize;\nuniform float totalSize;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tif ( mod( vLineDistance, totalSize ) > dashSize ) {\n\t\tdiscard;\n\t}\n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n}", +linedashed_vert:"uniform float scale;\nattribute float lineDistance;\nvarying float vLineDistance;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvLineDistance = scale * lineDistance;\n\tvec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include \n\t#include \n\t#include \n}", +meshbasic_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\t#ifdef USE_LIGHTMAP\n\t\treflectedLight.indirectDiffuse += texture2D( lightMap, vUv2 ).xyz * lightMapIntensity;\n\t#else\n\t\treflectedLight.indirectDiffuse += vec3( 1.0 );\n\t#endif\n\t#include \n\treflectedLight.indirectDiffuse *= diffuseColor.rgb;\n\tvec3 outgoingLight = reflectedLight.indirectDiffuse;\n\t#include \n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n}", +meshbasic_vert:"#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#ifdef USE_ENVMAP\n\t#include \n\t#include \n\t#include \n\t#include \n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}", +meshlambert_frag:"uniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float opacity;\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\treflectedLight.indirectDiffuse = getAmbientLightIrradiance( ambientLightColor );\n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.indirectDiffuse += ( gl_FrontFacing ) ? vIndirectFront : vIndirectBack;\n\t#else\n\t\treflectedLight.indirectDiffuse += vIndirectFront;\n\t#endif\n\t#include \n\treflectedLight.indirectDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb );\n\t#ifdef DOUBLE_SIDED\n\t\treflectedLight.directDiffuse = ( gl_FrontFacing ) ? vLightFront : vLightBack;\n\t#else\n\t\treflectedLight.directDiffuse = vLightFront;\n\t#endif\n\treflectedLight.directDiffuse *= BRDF_Diffuse_Lambert( diffuseColor.rgb ) * getShadowMask();\n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + totalEmissiveRadiance;\n\t#include \n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}", +meshlambert_vert:"#define LAMBERT\nvarying vec3 vLightFront;\nvarying vec3 vIndirectFront;\n#ifdef DOUBLE_SIDED\n\tvarying vec3 vLightBack;\n\tvarying vec3 vIndirectBack;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}", +meshmatcap_frag:"#define MATCAP\nuniform vec3 diffuse;\nuniform float opacity;\nuniform sampler2D matcap;\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 viewDir = normalize( vViewPosition );\n\tvec3 x = normalize( vec3( viewDir.z, 0.0, - viewDir.x ) );\n\tvec3 y = cross( viewDir, x );\n\tvec2 uv = vec2( dot( x, normal ), dot( y, normal ) ) * 0.495 + 0.5;\n\t#ifdef USE_MATCAP\n\t\tvec4 matcapColor = texture2D( matcap, uv );\n\t\tmatcapColor = matcapTexelToLinear( matcapColor );\n\t#else\n\t\tvec4 matcapColor = vec4( 1.0 );\n\t#endif\n\tvec3 outgoingLight = diffuseColor.rgb * matcapColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n}", +meshmatcap_vert:"#define MATCAP\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#ifndef FLAT_SHADED\n\t\tvNormal = normalize( transformedNormal );\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n}", +meshphong_frag:"#define PHONG\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform vec3 specular;\nuniform float shininess;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\t#include \n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}", +meshphong_vert:"#define PHONG\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n\t#include \n}", +meshphysical_frag:"#define PHYSICAL\nuniform vec3 diffuse;\nuniform vec3 emissive;\nuniform float roughness;\nuniform float metalness;\nuniform float opacity;\n#ifndef STANDARD\n\tuniform float clearCoat;\n\tuniform float clearCoatRoughness;\n#endif\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\tReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );\n\tvec3 totalEmissiveRadiance = emissive;\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}", +meshphysical_vert:"#define PHYSICAL\nvarying vec3 vViewPosition;\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\tvViewPosition = - mvPosition.xyz;\n\t#include \n\t#include \n\t#include \n}", +normal_frag:"#define NORMAL\nuniform float opacity;\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || ( defined( USE_NORMALMAP ) && ! defined( OBJECTSPACE_NORMALMAP ) )\n\tvarying vec3 vViewPosition;\n#endif\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\tgl_FragColor = vec4( packNormalToRGB( normal ), opacity );\n}", +normal_vert:"#define NORMAL\n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || ( defined( USE_NORMALMAP ) && ! defined( OBJECTSPACE_NORMALMAP ) )\n\tvarying vec3 vViewPosition;\n#endif\n#ifndef FLAT_SHADED\n\tvarying vec3 vNormal;\n\t#ifdef USE_TANGENT\n\t\tvarying vec3 vTangent;\n\t\tvarying vec3 vBitangent;\n\t#endif\n#endif\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#ifndef FLAT_SHADED\n\tvNormal = normalize( transformedNormal );\n\t#ifdef USE_TANGENT\n\t\tvTangent = normalize( transformedTangent );\n\t\tvBitangent = normalize( cross( vNormal, vTangent ) * tangent.w );\n\t#endif\n#endif\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n#if defined( FLAT_SHADED ) || defined( USE_BUMPMAP ) || ( defined( USE_NORMALMAP ) && ! defined( OBJECTSPACE_NORMALMAP ) )\n\tvViewPosition = - mvPosition.xyz;\n#endif\n}", +points_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n\t#include \n}", +points_vert:"uniform float size;\nuniform float scale;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\tgl_PointSize = size;\n\t#ifdef USE_SIZEATTENUATION\n\t\tbool isPerspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 );\n\t\tif ( isPerspective ) gl_PointSize *= ( scale / - mvPosition.z );\n\t#endif\n\t#include \n\t#include \n\t#include \n\t#include \n}", +shadow_frag:"uniform vec3 color;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\tgl_FragColor = vec4( color, opacity * ( 1.0 - getShadowMask() ) );\n\t#include \n}",shadow_vert:"#include \n#include \nvoid main() {\n\t#include \n\t#include \n\t#include \n\t#include \n\t#include \n}", +sprite_frag:"uniform vec3 diffuse;\nuniform float opacity;\n#include \n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec3 outgoingLight = vec3( 0.0 );\n\tvec4 diffuseColor = vec4( diffuse, opacity );\n\t#include \n\t#include \n\t#include \n\toutgoingLight = diffuseColor.rgb;\n\tgl_FragColor = vec4( outgoingLight, diffuseColor.a );\n\t#include \n\t#include \n\t#include \n}", +sprite_vert:"uniform float rotation;\nuniform vec2 center;\n#include \n#include \n#include \n#include \n#include \nvoid main() {\n\t#include \n\tvec4 mvPosition = modelViewMatrix * vec4( 0.0, 0.0, 0.0, 1.0 );\n\tvec2 scale;\n\tscale.x = length( vec3( modelMatrix[ 0 ].x, modelMatrix[ 0 ].y, modelMatrix[ 0 ].z ) );\n\tscale.y = length( vec3( modelMatrix[ 1 ].x, modelMatrix[ 1 ].y, modelMatrix[ 1 ].z ) );\n\t#ifndef USE_SIZEATTENUATION\n\t\tbool isPerspective = ( projectionMatrix[ 2 ][ 3 ] == - 1.0 );\n\t\tif ( isPerspective ) scale *= - mvPosition.z;\n\t#endif\n\tvec2 alignedPosition = ( position.xy - ( center - vec2( 0.5 ) ) ) * scale;\n\tvec2 rotatedPosition;\n\trotatedPosition.x = cos( rotation ) * alignedPosition.x - sin( rotation ) * alignedPosition.y;\n\trotatedPosition.y = sin( rotation ) * alignedPosition.x + cos( rotation ) * alignedPosition.y;\n\tmvPosition.xy += rotatedPosition;\n\tgl_Position = projectionMatrix * mvPosition;\n\t#include \n\t#include \n\t#include \n}"}, +kh={clone:Pb,merge:ia},lh={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643, +darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055, +grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184, +lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130, +palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780, +teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};Object.assign(M.prototype,{isColor:!0,r:1,g:1,b:1,set:function(a){a&&a.isColor?this.copy(a):"number"===typeof a?this.setHex(a):"string"===typeof a&&this.setStyle(a);return this},setScalar:function(a){this.b=this.g=this.r=a;return this},setHex:function(a){a=Math.floor(a);this.r=(a>>16&255)/255;this.g=(a>>8&255)/255;this.b=(a&255)/255; +return this},setRGB:function(a,b,c){this.r=a;this.g=b;this.b=c;return this},setHSL:function(){function a(a,c,d){0>d&&(d+=1);1d?c:d<2/3?a+6*(c-a)*(2/3-d):a}return function(b,c,d){b=K.euclideanModulo(b,1);c=K.clamp(c,0,1);d=K.clamp(d,0,1);0===c?this.r=this.g=this.b=d:(c=.5>=d?d*(1+c):d+c-d*c,d=2*d-c,this.r=a(d,c,b+1/3),this.g=a(d,c,b),this.b=a(d,c,b-1/3));return this}}(),setStyle:function(a){function b(b){void 0!==b&&1>parseFloat(b)&&console.warn("THREE.Color: Alpha component of "+ +a+" will be ignored.")}var c;if(c=/^((?:rgb|hsl)a?)\(\s*([^\)]*)\)/.exec(a)){var d=c[2];switch(c[1]){case "rgb":case "rgba":if(c=/^(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(d))return this.r=Math.min(255,parseInt(c[1],10))/255,this.g=Math.min(255,parseInt(c[2],10))/255,this.b=Math.min(255,parseInt(c[3],10))/255,b(c[5]),this;if(c=/^(\d+)%\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(d))return this.r=Math.min(100,parseInt(c[1],10))/100,this.g=Math.min(100,parseInt(c[2], +10))/100,this.b=Math.min(100,parseInt(c[3],10))/100,b(c[5]),this;break;case "hsl":case "hsla":if(c=/^([0-9]*\.?[0-9]+)\s*,\s*(\d+)%\s*,\s*(\d+)%\s*(,\s*([0-9]*\.?[0-9]+)\s*)?$/.exec(d)){d=parseFloat(c[1])/360;var e=parseInt(c[2],10)/100,f=parseInt(c[3],10)/100;b(c[5]);return this.setHSL(d,e,f)}}}else if(c=/^#([A-Fa-f0-9]+)$/.exec(a)){c=c[1];d=c.length;if(3===d)return this.r=parseInt(c.charAt(0)+c.charAt(0),16)/255,this.g=parseInt(c.charAt(1)+c.charAt(1),16)/255,this.b=parseInt(c.charAt(2)+c.charAt(2), +16)/255,this;if(6===d)return this.r=parseInt(c.charAt(0)+c.charAt(1),16)/255,this.g=parseInt(c.charAt(2)+c.charAt(3),16)/255,this.b=parseInt(c.charAt(4)+c.charAt(5),16)/255,this}a&&0a?.0773993808*a:Math.pow(.9478672986*a+.0521327014,2.4)}return function(b){this.r=a(b.r);this.g=a(b.g);this.b= +a(b.b);return this}}(),copyLinearToSRGB:function(){function a(a){return.0031308>a?12.92*a:1.055*Math.pow(a,.41666)-.055}return function(b){this.r=a(b.r);this.g=a(b.g);this.b=a(b.b);return this}}(),convertSRGBToLinear:function(){this.copySRGBToLinear(this);return this},convertLinearToSRGB:function(){this.copyLinearToSRGB(this);return this},getHex:function(){return 255*this.r<<16^255*this.g<<8^255*this.b<<0},getHexString:function(){return("000000"+this.getHex().toString(16)).slice(-6)},getHSL:function(a){void 0=== +a&&(console.warn("THREE.Color: .getHSL() target is now required"),a={h:0,s:0,l:0});var b=this.r,c=this.g,d=this.b,e=Math.max(b,c,d),f=Math.min(b,c,d),g,h=(f+e)/2;if(f===e)f=g=0;else{var k=e-f;f=.5>=h?k/(e+f):k/(2-e-f);switch(e){case b:g=(c-d)/k+(cMath.abs(g)?(this._x=Math.atan2(-m,e),this._z=Math.atan2(-f,a)):(this._x=Math.atan2(q,k),this._z=0)):"YXZ"===b?(this._x=Math.asin(-d(m,-1,1)),.99999>Math.abs(m)?(this._y=Math.atan2(g,e),this._z=Math.atan2(h,k)):(this._y=Math.atan2(-l,a),this._z=0)):"ZXY"===b?(this._x=Math.asin(d(q,-1,1)),.99999>Math.abs(q)?(this._y=Math.atan2(-l,e),this._z=Math.atan2(-f,k)):(this._y=0,this._z=Math.atan2(h,a))):"ZYX"===b?(this._y=Math.asin(-d(l, +-1,1)),.99999>Math.abs(l)?(this._x=Math.atan2(q,e),this._z=Math.atan2(h,a)):(this._x=0,this._z=Math.atan2(-f,k))):"YZX"===b?(this._z=Math.asin(d(h,-1,1)),.99999>Math.abs(h)?(this._x=Math.atan2(-m,k),this._y=Math.atan2(-l,a)):(this._x=0,this._y=Math.atan2(g,e))):"XZY"===b?(this._z=Math.asin(-d(f,-1,1)),.99999>Math.abs(f)?(this._x=Math.atan2(q,k),this._y=Math.atan2(g,a)):(this._x=Math.atan2(-m,e),this._y=0)):console.warn("THREE.Euler: .setFromRotationMatrix() given unsupported order: "+b);this._order= +b;if(!1!==c)this.onChangeCallback();return this},setFromQuaternion:function(){var a=new P;return function(b,c,d){a.makeRotationFromQuaternion(b);return this.setFromRotationMatrix(a,c,d)}}(),setFromVector3:function(a,b){return this.set(a.x,a.y,a.z,b||this._order)},reorder:function(){var a=new aa;return function(b){a.setFromEuler(this);return this.setFromQuaternion(a,b)}}(),equals:function(a){return a._x===this._x&&a._y===this._y&&a._z===this._z&&a._order===this._order},fromArray:function(a){this._x= +a[0];this._y=a[1];this._z=a[2];void 0!==a[3]&&(this._order=a[3]);this.onChangeCallback();return this},toArray:function(a,b){void 0===a&&(a=[]);void 0===b&&(b=0);a[b]=this._x;a[b+1]=this._y;a[b+2]=this._z;a[b+3]=this._order;return a},toVector3:function(a){return a?a.set(this._x,this._y,this._z):new n(this._x,this._y,this._z)},onChange:function(a){this.onChangeCallback=a;return this},onChangeCallback:function(){}});Object.assign(be.prototype,{set:function(a){this.mask=1<g;g++)if(d[g]===d[(g+1)%3]){a.push(f);break}for(f=a.length-1;0<=f;f--)for(d=a[f],this.faces.splice(d,1),c=0,e= +this.faceVertexUvs.length;cthis.opacity&&(d.opacity=this.opacity);!0===this.transparent&&(d.transparent=this.transparent);d.depthFunc=this.depthFunc;d.depthTest=this.depthTest;d.depthWrite=this.depthWrite;0!==this.rotation&&(d.rotation=this.rotation);!0===this.polygonOffset&&(d.polygonOffset=!0);0!==this.polygonOffsetFactor&&(d.polygonOffsetFactor=this.polygonOffsetFactor);0!==this.polygonOffsetUnits&&(d.polygonOffsetUnits=this.polygonOffsetUnits); +1!==this.linewidth&&(d.linewidth=this.linewidth);void 0!==this.dashSize&&(d.dashSize=this.dashSize);void 0!==this.gapSize&&(d.gapSize=this.gapSize);void 0!==this.scale&&(d.scale=this.scale);!0===this.dithering&&(d.dithering=!0);0a?b.copy(this.origin):b.copy(this.direction).multiplyScalar(a).add(this.origin)},distanceToPoint:function(a){return Math.sqrt(this.distanceSqToPoint(a))},distanceSqToPoint:function(){var a=new n;return function(b){var c=a.subVectors(b,this.origin).dot(this.direction);if(0>c)return this.origin.distanceToSquared(b);a.copy(this.direction).multiplyScalar(c).add(this.origin);return a.distanceToSquared(b)}}(),distanceSqToSegment:function(){var a= +new n,b=new n,c=new n;return function(d,e,f,g){a.copy(d).add(e).multiplyScalar(.5);b.copy(e).sub(d).normalize();c.copy(this.origin).sub(a);var h=.5*d.distanceTo(e),k=-this.direction.dot(b),m=c.dot(this.direction),l=-c.dot(b),n=c.lengthSq(),v=Math.abs(1-k*k);if(0=-t?e<=t?(h=1/v,d*=h,e*=h,k=d*(d+k*e+2*m)+e*(k*d+e+2*l)+n):(e=h,d=Math.max(0,-(k*e+m)),k=-d*d+e*(e+2*l)+n):(e=-h,d=Math.max(0,-(k*e+m)),k=-d*d+e*(e+2*l)+n):e<=-t?(d=Math.max(0,-(-k*h+m)),e=0b)return null; +b=Math.sqrt(b-e);e=d-b;d+=b;return 0>e&&0>d?null:0>e?this.at(d,c):this.at(e,c)}}(),intersectsSphere:function(a){return this.distanceSqToPoint(a.center)<=a.radius*a.radius},distanceToPlane:function(a){var b=a.normal.dot(this.direction);if(0===b)return 0===a.distanceToPoint(this.origin)?0:null;a=-(this.origin.dot(a.normal)+a.constant)/b;return 0<=a?a:null},intersectPlane:function(a,b){a=this.distanceToPlane(a);return null===a?null:this.at(a,b)},intersectsPlane:function(a){var b=a.distanceToPoint(this.origin); +return 0===b||0>a.normal.dot(this.direction)*b?!0:!1},intersectBox:function(a,b){var c=1/this.direction.x;var d=1/this.direction.y;var e=1/this.direction.z,f=this.origin;if(0<=c){var g=(a.min.x-f.x)*c;c*=a.max.x-f.x}else g=(a.max.x-f.x)*c,c*=a.min.x-f.x;if(0<=d){var h=(a.min.y-f.y)*d;d*=a.max.y-f.y}else h=(a.max.y-f.y)*d,d*=a.min.y-f.y;if(g>d||h>c)return null;if(h>g||g!==g)g=h;if(da||h>c)return null; +if(h>g||g!==g)g=h;if(ac?null:this.at(0<=g?g:c,b)},intersectsBox:function(){var a=new n;return function(b){return null!==this.intersectBox(b,a)}}(),intersectTriangle:function(){var a=new n,b=new n,c=new n,d=new n;return function(e,f,g,h,k){b.subVectors(f,e);c.subVectors(g,e);d.crossVectors(b,c);f=this.direction.dot(d);if(0f)h=-1,f=-f;else return null;a.subVectors(this.origin,e);e=h*this.direction.dot(c.crossVectors(a,c));if(0>e)return null; +g=h*this.direction.dot(b.cross(a));if(0>g||e+g>f)return null;e=-h*a.dot(d);return 0>e?null:this.at(e/f,k)}}(),applyMatrix4:function(a){this.origin.applyMatrix4(a);this.direction.transformDirection(a);return this},equals:function(a){return a.origin.equals(this.origin)&&a.direction.equals(this.direction)}});Object.assign(ra,{getNormal:function(){var a=new n;return function(b,c,d,e){void 0===e&&(console.warn("THREE.Triangle: .getNormal() target is now required"),e=new n);e.subVectors(d,c);a.subVectors(b, +c);e.cross(a);b=e.lengthSq();return 0=a.x+a.y}}(),getUV:function(){var a=new n;return function(b,c,d,e,f,g,h,k){this.getBarycoord(b,c,d,e,a);k.set(0,0);k.addScaledVector(f,a.x);k.addScaledVector(g,a.y);k.addScaledVector(h,a.z);return k}}()});Object.assign(ra.prototype,{set:function(a,b,c){this.a.copy(a);this.b.copy(b);this.c.copy(c);return this},setFromPointsAndIndices:function(a,b,c,d){this.a.copy(a[b]);this.b.copy(a[c]);this.c.copy(a[d]);return this}, +clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.a.copy(a.a);this.b.copy(a.b);this.c.copy(a.c);return this},getArea:function(){var a=new n,b=new n;return function(){a.subVectors(this.c,this.b);b.subVectors(this.a,this.b);return.5*a.cross(b).length()}}(),getMidpoint:function(a){void 0===a&&(console.warn("THREE.Triangle: .getMidpoint() target is now required"),a=new n);return a.addVectors(this.a,this.b).add(this.c).multiplyScalar(1/3)},getNormal:function(a){return ra.getNormal(this.a, +this.b,this.c,a)},getPlane:function(a){void 0===a&&(console.warn("THREE.Triangle: .getPlane() target is now required"),a=new n);return a.setFromCoplanarPoints(this.a,this.b,this.c)},getBarycoord:function(a,b){return ra.getBarycoord(a,this.a,this.b,this.c,b)},containsPoint:function(a){return ra.containsPoint(a,this.a,this.b,this.c)},getUV:function(a,b,c,d,e){return ra.getUV(a,this.a,this.b,this.c,b,c,d,e)},intersectsBox:function(a){return a.intersectsTriangle(this)},closestPointToPoint:function(){var a= +new n,b=new n,c=new n,d=new n,e=new n,f=new n;return function(g,h){void 0===h&&(console.warn("THREE.Triangle: .closestPointToPoint() target is now required"),h=new n);var k=this.a,m=this.b,l=this.c;a.subVectors(m,k);b.subVectors(l,k);d.subVectors(g,k);var q=a.dot(d),v=b.dot(d);if(0>=q&&0>=v)return h.copy(k);e.subVectors(g,m);var t=a.dot(e),r=b.dot(e);if(0<=t&&r<=t)return h.copy(m);var u=q*r-t*v;if(0>=u&&0<=q&&0>=t)return m=q/(q-t),h.copy(k).addScaledVector(a,m);f.subVectors(g,l);g=a.dot(f);var x= +b.dot(f);if(0<=x&&g<=x)return h.copy(l);q=g*v-q*x;if(0>=q&&0<=v&&0>=x)return u=v/(v-x),h.copy(k).addScaledVector(b,u);v=t*x-g*r;if(0>=v&&0<=r-t&&0<=g-x)return c.subVectors(l,m),u=(r-t)/(r-t+(g-x)),h.copy(m).addScaledVector(c,u);l=1/(v+q+u);m=q*l;u*=l;return h.copy(k).addScaledVector(a,m).addScaledVector(b,u)}}(),equals:function(a){return a.a.equals(this.a)&&a.b.equals(this.b)&&a.c.equals(this.c)}});Da.prototype=Object.create(O.prototype);Da.prototype.constructor=Da;Da.prototype.isMeshBasicMaterial= +!0;Da.prototype.copy=function(a){O.prototype.copy.call(this,a);this.color.copy(a.color);this.map=a.map;this.lightMap=a.lightMap;this.lightMapIntensity=a.lightMapIntensity;this.aoMap=a.aoMap;this.aoMapIntensity=a.aoMapIntensity;this.specularMap=a.specularMap;this.alphaMap=a.alphaMap;this.envMap=a.envMap;this.combine=a.combine;this.reflectivity=a.reflectivity;this.refractionRatio=a.refractionRatio;this.wireframe=a.wireframe;this.wireframeLinewidth=a.wireframeLinewidth;this.wireframeLinecap=a.wireframeLinecap; +this.wireframeLinejoin=a.wireframeLinejoin;this.skinning=a.skinning;this.morphTargets=a.morphTargets;return this};va.prototype=Object.assign(Object.create(C.prototype),{constructor:va,isMesh:!0,setDrawMode:function(a){this.drawMode=a},copy:function(a){C.prototype.copy.call(this,a);this.drawMode=a.drawMode;void 0!==a.morphTargetInfluences&&(this.morphTargetInfluences=a.morphTargetInfluences.slice());void 0!==a.morphTargetDictionary&&(this.morphTargetDictionary=Object.assign({},a.morphTargetDictionary)); +return this},updateMorphTargets:function(){var a=this.geometry;if(a.isBufferGeometry){a=a.morphAttributes;var b=Object.keys(a);if(0c.far?null:{distance:b,point:w.clone(),object:a}}function b(b,c,d,e,p,n,w,C,z,E){f.fromBufferAttribute(p,C);g.fromBufferAttribute(p,z);h.fromBufferAttribute(p,E);p=b.morphTargetInfluences;if(c.morphTargets&&n&&p){q.set(0,0,0);v.set(0,0,0);t.set(0,0,0);for(var y= +0,J=n.length;ye.far||f.push({distance:r,point:b.clone(),uv:ra.getUV(b,h,k,m,l,q,v,new B),face:null,object:this})}}(),clone:function(){return(new this.constructor(this.material)).copy(this)}, +copy:function(a){C.prototype.copy.call(this,a);void 0!==a.center&&this.center.copy(a.center);return this}});Jc.prototype=Object.assign(Object.create(C.prototype),{constructor:Jc,copy:function(a){C.prototype.copy.call(this,a,!1);a=a.levels;for(var b=0,c=a.length;b=d[e].distance)d[e-1].object.visible=!1,d[e].object.visible=!0;else break;for(;ef||(l.applyMatrix4(this.matrixWorld),u=d.ray.origin.distanceTo(l),ud.far|| +e.push({distance:u,point:h.clone().applyMatrix4(this.matrixWorld),index:g,face:null,faceIndex:null,object:this}))}}else for(g=0,r=t.length/3-1;gf||(l.applyMatrix4(this.matrixWorld),u=d.ray.origin.distanceTo(l),ud.far||e.push({distance:u,point:h.clone().applyMatrix4(this.matrixWorld),index:g,face:null,faceIndex:null,object:this}))}else if(g.isGeometry)for(k=g.vertices,m=k.length,g=0;gf||(l.applyMatrix4(this.matrixWorld),u=d.ray.origin.distanceTo(l),ud.far||e.push({distance:u,point:h.clone().applyMatrix4(this.matrixWorld),index:g,face:null,faceIndex:null,object:this}))}}}(),clone:function(){return(new this.constructor(this.geometry,this.material)).copy(this)}});V.prototype=Object.assign(Object.create(oa.prototype),{constructor:V,isLineSegments:!0,computeLineDistances:function(){var a=new n,b=new n;return function(){var c=this.geometry;if(c.isBufferGeometry)if(null=== +c.index){for(var d=c.attributes.position,e=[],f=0,g=d.count;fd.far||e.push({distance:a,distanceToRay:Math.sqrt(f),point:q.clone(),index:c,face:null,object:g}))}var g=this,h=this.geometry,k=this.matrixWorld,m=d.params.Points.threshold;null===h.boundingSphere&&h.computeBoundingSphere();c.copy(h.boundingSphere);c.applyMatrix4(k);c.radius+=m;if(!1!==d.ray.intersectsSphere(c)){a.getInverse(k); +b.copy(d.ray).applyMatrix4(a);m/=(this.scale.x+this.scale.y+this.scale.z)/3;var l=m*m;m=new n;var q=new n;if(h.isBufferGeometry){var v=h.index;h=h.attributes.position.array;if(null!==v){var t=v.array;v=0;for(var r=t.length;v=a.HAVE_CURRENT_DATA&&(this.needsUpdate=!0)}});Yb.prototype=Object.create(W.prototype);Yb.prototype.constructor=Yb;Yb.prototype.isCompressedTexture=!0;Lc.prototype=Object.create(W.prototype);Lc.prototype.constructor=Lc;Lc.prototype.isCanvasTexture=!0;Mc.prototype=Object.create(W.prototype);Mc.prototype.constructor=Mc;Mc.prototype.isDepthTexture=!0;Zb.prototype=Object.create(z.prototype);Zb.prototype.constructor=Zb;Nc.prototype= +Object.create(N.prototype);Nc.prototype.constructor=Nc;$b.prototype=Object.create(z.prototype);$b.prototype.constructor=$b;Oc.prototype=Object.create(N.prototype);Oc.prototype.constructor=Oc;ka.prototype=Object.create(z.prototype);ka.prototype.constructor=ka;Pc.prototype=Object.create(N.prototype);Pc.prototype.constructor=Pc;ac.prototype=Object.create(ka.prototype);ac.prototype.constructor=ac;Qc.prototype=Object.create(N.prototype);Qc.prototype.constructor=Qc;yb.prototype=Object.create(ka.prototype); +yb.prototype.constructor=yb;Rc.prototype=Object.create(N.prototype);Rc.prototype.constructor=Rc;bc.prototype=Object.create(ka.prototype);bc.prototype.constructor=bc;Sc.prototype=Object.create(N.prototype);Sc.prototype.constructor=Sc;cc.prototype=Object.create(ka.prototype);cc.prototype.constructor=cc;Tc.prototype=Object.create(N.prototype);Tc.prototype.constructor=Tc;zb.prototype=Object.create(z.prototype);zb.prototype.constructor=zb;zb.prototype.toJSON=function(){var a=z.prototype.toJSON.call(this); +a.path=this.parameters.path.toJSON();return a};Uc.prototype=Object.create(N.prototype);Uc.prototype.constructor=Uc;dc.prototype=Object.create(z.prototype);dc.prototype.constructor=dc;Vc.prototype=Object.create(N.prototype);Vc.prototype.constructor=Vc;ec.prototype=Object.create(z.prototype);ec.prototype.constructor=ec;var mh={triangulate:function(a,b,c){c=c||2;var d=b&&b.length,e=d?b[0]*c:a.length,f=vf(a,0,e,c,!0),g=[];if(!f)return g;var h;if(d){var k=c;d=[];var m;var l=0;for(m=b.length;l80*c){var t=h=a[0];var r=d=a[1];for(k=c;kh&&(h=l),b>d&&(d=b);h=Math.max(h-t,d-r);h=0!==h?1/h:0}Yc(f,g,c,t,r,h);return g}},cb={area:function(a){for(var b=a.length,c=0,d=b-1,e=0;e +cb.area(a)},triangulateShape:function(a,b){var c=[],d=[],e=[];zf(a);Af(c,a);var f=a.length;b.forEach(zf);for(a=0;aMath.abs(g-k)?[new B(a,1-c),new B(h,1-d), +new B(m,1-e),new B(n,1-b)]:[new B(g,1-c),new B(k,1-d),new B(l,1-e),new B(v,1-b)]}};$c.prototype=Object.create(N.prototype);$c.prototype.constructor=$c;fc.prototype=Object.create(Ya.prototype);fc.prototype.constructor=fc;ad.prototype=Object.create(N.prototype);ad.prototype.constructor=ad;Cb.prototype=Object.create(z.prototype);Cb.prototype.constructor=Cb;bd.prototype=Object.create(N.prototype);bd.prototype.constructor=bd;gc.prototype=Object.create(z.prototype);gc.prototype.constructor=gc;cd.prototype= +Object.create(N.prototype);cd.prototype.constructor=cd;hc.prototype=Object.create(z.prototype);hc.prototype.constructor=hc;Db.prototype=Object.create(N.prototype);Db.prototype.constructor=Db;Db.prototype.toJSON=function(){var a=N.prototype.toJSON.call(this);return Cf(this.parameters.shapes,a)};Eb.prototype=Object.create(z.prototype);Eb.prototype.constructor=Eb;Eb.prototype.toJSON=function(){var a=z.prototype.toJSON.call(this);return Cf(this.parameters.shapes,a)};ic.prototype=Object.create(z.prototype); +ic.prototype.constructor=ic;Fb.prototype=Object.create(N.prototype);Fb.prototype.constructor=Fb;db.prototype=Object.create(z.prototype);db.prototype.constructor=db;dd.prototype=Object.create(Fb.prototype);dd.prototype.constructor=dd;ed.prototype=Object.create(db.prototype);ed.prototype.constructor=ed;fd.prototype=Object.create(N.prototype);fd.prototype.constructor=fd;jc.prototype=Object.create(z.prototype);jc.prototype.constructor=jc;var ya=Object.freeze({WireframeGeometry:Zb,ParametricGeometry:Nc, +ParametricBufferGeometry:$b,TetrahedronGeometry:Pc,TetrahedronBufferGeometry:ac,OctahedronGeometry:Qc,OctahedronBufferGeometry:yb,IcosahedronGeometry:Rc,IcosahedronBufferGeometry:bc,DodecahedronGeometry:Sc,DodecahedronBufferGeometry:cc,PolyhedronGeometry:Oc,PolyhedronBufferGeometry:ka,TubeGeometry:Tc,TubeBufferGeometry:zb,TorusKnotGeometry:Uc,TorusKnotBufferGeometry:dc,TorusGeometry:Vc,TorusBufferGeometry:ec,TextGeometry:$c,TextBufferGeometry:fc,SphereGeometry:ad,SphereBufferGeometry:Cb,RingGeometry:bd, +RingBufferGeometry:gc,PlaneGeometry:Dc,PlaneBufferGeometry:vb,LatheGeometry:cd,LatheBufferGeometry:hc,ShapeGeometry:Db,ShapeBufferGeometry:Eb,ExtrudeGeometry:Bb,ExtrudeBufferGeometry:Ya,EdgesGeometry:ic,ConeGeometry:dd,ConeBufferGeometry:ed,CylinderGeometry:Fb,CylinderBufferGeometry:db,CircleGeometry:fd,CircleBufferGeometry:jc,BoxGeometry:Rb,BoxBufferGeometry:ub});Gb.prototype=Object.create(O.prototype);Gb.prototype.constructor=Gb;Gb.prototype.isShadowMaterial=!0;Gb.prototype.copy=function(a){O.prototype.copy.call(this, +a);this.color.copy(a.color);return this};kc.prototype=Object.create(Ca.prototype);kc.prototype.constructor=kc;kc.prototype.isRawShaderMaterial=!0;Za.prototype=Object.create(O.prototype);Za.prototype.constructor=Za;Za.prototype.isMeshStandardMaterial=!0;Za.prototype.copy=function(a){O.prototype.copy.call(this,a);this.defines={STANDARD:""};this.color.copy(a.color);this.roughness=a.roughness;this.metalness=a.metalness;this.map=a.map;this.lightMap=a.lightMap;this.lightMapIntensity=a.lightMapIntensity; +this.aoMap=a.aoMap;this.aoMapIntensity=a.aoMapIntensity;this.emissive.copy(a.emissive);this.emissiveMap=a.emissiveMap;this.emissiveIntensity=a.emissiveIntensity;this.bumpMap=a.bumpMap;this.bumpScale=a.bumpScale;this.normalMap=a.normalMap;this.normalMapType=a.normalMapType;this.normalScale.copy(a.normalScale);this.displacementMap=a.displacementMap;this.displacementScale=a.displacementScale;this.displacementBias=a.displacementBias;this.roughnessMap=a.roughnessMap;this.metalnessMap=a.metalnessMap;this.alphaMap= +a.alphaMap;this.envMap=a.envMap;this.envMapIntensity=a.envMapIntensity;this.refractionRatio=a.refractionRatio;this.wireframe=a.wireframe;this.wireframeLinewidth=a.wireframeLinewidth;this.wireframeLinecap=a.wireframeLinecap;this.wireframeLinejoin=a.wireframeLinejoin;this.skinning=a.skinning;this.morphTargets=a.morphTargets;this.morphNormals=a.morphNormals;return this};Hb.prototype=Object.create(Za.prototype);Hb.prototype.constructor=Hb;Hb.prototype.isMeshPhysicalMaterial=!0;Hb.prototype.copy=function(a){Za.prototype.copy.call(this, +a);this.defines={PHYSICAL:""};this.reflectivity=a.reflectivity;this.clearCoat=a.clearCoat;this.clearCoatRoughness=a.clearCoatRoughness;return this};La.prototype=Object.create(O.prototype);La.prototype.constructor=La;La.prototype.isMeshPhongMaterial=!0;La.prototype.copy=function(a){O.prototype.copy.call(this,a);this.color.copy(a.color);this.specular.copy(a.specular);this.shininess=a.shininess;this.map=a.map;this.lightMap=a.lightMap;this.lightMapIntensity=a.lightMapIntensity;this.aoMap=a.aoMap;this.aoMapIntensity= +a.aoMapIntensity;this.emissive.copy(a.emissive);this.emissiveMap=a.emissiveMap;this.emissiveIntensity=a.emissiveIntensity;this.bumpMap=a.bumpMap;this.bumpScale=a.bumpScale;this.normalMap=a.normalMap;this.normalMapType=a.normalMapType;this.normalScale.copy(a.normalScale);this.displacementMap=a.displacementMap;this.displacementScale=a.displacementScale;this.displacementBias=a.displacementBias;this.specularMap=a.specularMap;this.alphaMap=a.alphaMap;this.envMap=a.envMap;this.combine=a.combine;this.reflectivity= +a.reflectivity;this.refractionRatio=a.refractionRatio;this.wireframe=a.wireframe;this.wireframeLinewidth=a.wireframeLinewidth;this.wireframeLinecap=a.wireframeLinecap;this.wireframeLinejoin=a.wireframeLinejoin;this.skinning=a.skinning;this.morphTargets=a.morphTargets;this.morphNormals=a.morphNormals;return this};Ib.prototype=Object.create(La.prototype);Ib.prototype.constructor=Ib;Ib.prototype.isMeshToonMaterial=!0;Ib.prototype.copy=function(a){La.prototype.copy.call(this,a);this.gradientMap=a.gradientMap; +return this};Jb.prototype=Object.create(O.prototype);Jb.prototype.constructor=Jb;Jb.prototype.isMeshNormalMaterial=!0;Jb.prototype.copy=function(a){O.prototype.copy.call(this,a);this.bumpMap=a.bumpMap;this.bumpScale=a.bumpScale;this.normalMap=a.normalMap;this.normalMapType=a.normalMapType;this.normalScale.copy(a.normalScale);this.displacementMap=a.displacementMap;this.displacementScale=a.displacementScale;this.displacementBias=a.displacementBias;this.wireframe=a.wireframe;this.wireframeLinewidth= +a.wireframeLinewidth;this.skinning=a.skinning;this.morphTargets=a.morphTargets;this.morphNormals=a.morphNormals;return this};Kb.prototype=Object.create(O.prototype);Kb.prototype.constructor=Kb;Kb.prototype.isMeshLambertMaterial=!0;Kb.prototype.copy=function(a){O.prototype.copy.call(this,a);this.color.copy(a.color);this.map=a.map;this.lightMap=a.lightMap;this.lightMapIntensity=a.lightMapIntensity;this.aoMap=a.aoMap;this.aoMapIntensity=a.aoMapIntensity;this.emissive.copy(a.emissive);this.emissiveMap= +a.emissiveMap;this.emissiveIntensity=a.emissiveIntensity;this.specularMap=a.specularMap;this.alphaMap=a.alphaMap;this.envMap=a.envMap;this.combine=a.combine;this.reflectivity=a.reflectivity;this.refractionRatio=a.refractionRatio;this.wireframe=a.wireframe;this.wireframeLinewidth=a.wireframeLinewidth;this.wireframeLinecap=a.wireframeLinecap;this.wireframeLinejoin=a.wireframeLinejoin;this.skinning=a.skinning;this.morphTargets=a.morphTargets;this.morphNormals=a.morphNormals;return this};Lb.prototype= +Object.create(O.prototype);Lb.prototype.constructor=Lb;Lb.prototype.isMeshMatcapMaterial=!0;Lb.prototype.copy=function(a){O.prototype.copy.call(this,a);this.defines={MATCAP:""};this.color.copy(a.color);this.matcap=a.matcap;this.map=a.map;this.bumpMap=a.bumpMap;this.bumpScale=a.bumpScale;this.normalMap=a.normalMap;this.normalMapType=a.normalMapType;this.normalScale.copy(a.normalScale);this.displacementMap=a.displacementMap;this.displacementScale=a.displacementScale;this.displacementBias=a.displacementBias; +this.alphaMap=a.alphaMap;this.skinning=a.skinning;this.morphTargets=a.morphTargets;this.morphNormals=a.morphNormals;return this};Mb.prototype=Object.create(R.prototype);Mb.prototype.constructor=Mb;Mb.prototype.isLineDashedMaterial=!0;Mb.prototype.copy=function(a){R.prototype.copy.call(this,a);this.scale=a.scale;this.dashSize=a.dashSize;this.gapSize=a.gapSize;return this};var nh=Object.freeze({ShadowMaterial:Gb,SpriteMaterial:mb,RawShaderMaterial:kc,ShaderMaterial:Ca,PointsMaterial:Ka,MeshPhysicalMaterial:Hb, +MeshStandardMaterial:Za,MeshPhongMaterial:La,MeshToonMaterial:Ib,MeshNormalMaterial:Jb,MeshLambertMaterial:Kb,MeshDepthMaterial:ib,MeshDistanceMaterial:jb,MeshBasicMaterial:Da,MeshMatcapMaterial:Lb,LineDashedMaterial:Mb,LineBasicMaterial:R,Material:O}),pa={arraySlice:function(a,b,c){return pa.isTypedArray(a)?new a.constructor(a.subarray(b,void 0!==c?c:a.length)):a.slice(b,c)},convertArray:function(a,b,c){return!a||!c&&a.constructor===b?a:"number"===typeof b.BYTES_PER_ELEMENT?new b(a):Array.prototype.slice.call(a)}, +isTypedArray:function(a){return ArrayBuffer.isView(a)&&!(a instanceof DataView)},getKeyframeOrder:function(a){for(var b=a.length,c=Array(b),d=0;d!==b;++d)c[d]=d;c.sort(function(b,c){return a[b]-a[c]});return c},sortedArray:function(a,b,c){for(var d=a.length,e=new a.constructor(d),f=0,g=0;g!==d;++f)for(var h=c[f]*b,k=0;k!==b;++k)e[g++]=a[h+k];return e},flattenJSON:function(a,b,c,d){for(var e=1,f=a[0];void 0!==f&&void 0===f[d];)f=a[e++];if(void 0!==f){var g=f[d];if(void 0!==g)if(Array.isArray(g)){do g= +f[d],void 0!==g&&(b.push(f.time),c.push.apply(c,g)),f=a[e++];while(void 0!==f)}else if(void 0!==g.toArray){do g=f[d],void 0!==g&&(b.push(f.time),g.toArray(c,c.length)),f=a[e++];while(void 0!==f)}else{do g=f[d],void 0!==g&&(b.push(f.time),c.push(g)),f=a[e++];while(void 0!==f)}}}};Object.assign(Fa.prototype,{evaluate:function(a){var b=this.parameterPositions,c=this._cachedIndex,d=b[c],e=b[c-1];a:{b:{c:{d:if(!(a=e)break a;else{f=b[1];a=e)break b}d=c;c=0}}for(;c>>1,ab;)--f;++f;if(0!==e||f!==d)e>=f&&(f=Math.max(f,1),e=f-1),a=this.getValueSize(),this.times=pa.arraySlice(c,e,f),this.values=pa.arraySlice(this.values,e*a,f*a);return this},validate:function(){var a=!0,b=this.getValueSize();0!==b-Math.floor(b)&&(console.error("THREE.KeyframeTrack: Invalid value size in track.",this),a=!1);var c=this.times;b=this.values;var d=c.length;0===d&&(console.error("THREE.KeyframeTrack: Track is empty.", +this),a=!1);for(var e=null,f=0;f!==d;f++){var g=c[f];if("number"===typeof g&&isNaN(g)){console.error("THREE.KeyframeTrack: Time is not a valid number.",this,f,g);a=!1;break}if(null!==e&&e>g){console.error("THREE.KeyframeTrack: Out of order keys.",this,f,g,e);a=!1;break}e=g}if(void 0!==b&&pa.isTypedArray(b))for(f=0,c=b.length;f!==c;++f)if(d=b[f],isNaN(d)){console.error("THREE.KeyframeTrack: Value is not a valid number.",this,f,d);a=!1;break}return a},optimize:function(){for(var a=this.times,b=this.values, +c=this.getValueSize(),d=2302===this.getInterpolation(),e=1,f=a.length-1,g=1;gg)e=a+1;else if(0b&&(b=0);1Number.EPSILON&&(g.normalize(),c=Math.acos(K.clamp(d[k-1].dot(d[k]),-1,1)),e[k].applyMatrix4(h.makeRotationAxis(g,c))),f[k].crossVectors(d[k],e[k]);if(!0===b)for(c=Math.acos(K.clamp(e[0].dot(e[a]),-1,1)),c/=a,0d;)d+=c;for(;d>c;)d-=c;de&&(e=1);1E-4>d&&(d=e);1E-4>k&&(k=e);Ke.initNonuniformCatmullRom(f.x,g.x,h.x,c.x,d,e,k);Le.initNonuniformCatmullRom(f.y,g.y,h.y,c.y,d,e,k);Me.initNonuniformCatmullRom(f.z,g.z,h.z,c.z,d,e,k)}else"catmullrom"===this.curveType&&(Ke.initCatmullRom(f.x,g.x,h.x,c.x,this.tension),Le.initCatmullRom(f.y,g.y,h.y,c.y,this.tension),Me.initCatmullRom(f.z,g.z,h.z,c.z,this.tension));b.set(Ke.calc(a), +Le.calc(a),Me.calc(a));return b};qa.prototype.copy=function(a){I.prototype.copy.call(this,a);this.points=[];for(var b=0,c=a.points.length;bc.length-2?c.length-1:a+1];c=c[a>c.length-3?c.length-1:a+2];b.set(Ff(d,e.x,f.x,g.x,c.x),Ff(d,e.y,f.y,g.y,c.y));return b};Qa.prototype.copy=function(a){I.prototype.copy.call(this,a);this.points=[];for(var b=0,c=a.points.length;b=b)return b=c[a]-b,a=this.curves[a],c=a.getLength(),a.getPointAt(0===c?0:1-b/c);a++}return null},getLength:function(){var a=this.getCurveLengths(); +return a[a.length-1]},updateArcLengths:function(){this.needsUpdate=!0;this.cacheLengths=null;this.getCurveLengths()},getCurveLengths:function(){if(this.cacheLengths&&this.cacheLengths.length===this.curves.length)return this.cacheLengths;for(var a=[],b=0,c=0,d=this.curves.length;cNumber.EPSILON){if(0>m&&(g=b[f],k=-k,h=b[e],m=-m),!(a.yh.y))if(a.y===g.y){if(a.x===g.x)return!0}else{e=m*(a.x-g.x)-k*(a.y-g.y);if(0===e)return!0;0>e||(d=!d)}}else if(a.y===g.y&&(h.x<=a.x&&a.x<=g.x||g.x<=a.x&&a.x<=h.x))return!0}return d}var e=cb.isClockWise,f=this.subPaths;if(0===f.length)return[];if(!0===b)return c(f);b=[];if(1===f.length){var g=f[0];var h=new nb;h.curves=g.curves; +b.push(h);return b}var k=!e(f[0].getPoints());k=a?!k:k;h=[];var m=[],l=[],n=0;m[n]=void 0;l[n]=[];for(var v=0,t=f.length;vl.opacity&&(l.transparent=!0);d.setTextures(k);return d.parse(l)}}()});var Zd,xe={getContext:function(){void 0===Zd&&(Zd=new (window.AudioContext||window.webkitAudioContext));return Zd},setContext:function(a){Zd=a}};Object.assign(ue.prototype,{load:function(a,b,c,d){var e=new Ma(this.manager);e.setResponseType("arraybuffer");e.setPath(this.path);e.load(a,function(a){a=a.slice(0);xe.getContext().decodeAudioData(a,function(a){b(a)})},c,d)},setPath:function(a){this.path=a; +return this}});Object.assign(Hf.prototype,{update:function(){var a,b,c,d,e,f,g,h,k=new P,l=new P;return function(m){if(a!==this||b!==m.focus||c!==m.fov||d!==m.aspect*this.aspect||e!==m.near||f!==m.far||g!==m.zoom||h!==this.eyeSep){a=this;b=m.focus;c=m.fov;d=m.aspect*this.aspect;e=m.near;f=m.far;g=m.zoom;var n=m.projectionMatrix.clone();h=this.eyeSep/2;var p=h*e/b,t=e*Math.tan(K.DEG2RAD*c*.5)/g;l.elements[12]=-h;k.elements[12]=h;var r=-t*d+p;var u=t*d+p;n.elements[0]=2*e/(u-r);n.elements[8]=(u+r)/ +(u-r);this.cameraL.projectionMatrix.copy(n);r=-t*d-p;u=t*d-p;n.elements[0]=2*e/(u-r);n.elements[8]=(u+r)/(u-r);this.cameraR.projectionMatrix.copy(n)}this.cameraL.matrixWorld.copy(m.matrixWorld).multiply(l);this.cameraR.matrixWorld.copy(m.matrixWorld).multiply(k)}}()});nd.prototype=Object.create(C.prototype);nd.prototype.constructor=nd;Object.assign(ve.prototype,{start:function(){this.oldTime=this.startTime=("undefined"===typeof performance?Date:performance).now();this.elapsedTime=0;this.running=!0}, +stop:function(){this.getElapsedTime();this.autoStart=this.running=!1},getElapsedTime:function(){this.getDelta();return this.elapsedTime},getDelta:function(){var a=0;if(this.autoStart&&!this.running)return this.start(),0;if(this.running){var b=("undefined"===typeof performance?Date:performance).now();a=(b-this.oldTime)/1E3;this.oldTime=b;this.elapsedTime+=a}return a}});we.prototype=Object.assign(Object.create(C.prototype),{constructor:we,getInput:function(){return this.gain},removeFilter:function(){null!== +this.filter&&(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination),this.gain.connect(this.context.destination),this.filter=null);return this},getFilter:function(){return this.filter},setFilter:function(a){null!==this.filter?(this.gain.disconnect(this.filter),this.filter.disconnect(this.context.destination)):this.gain.disconnect(this.context.destination);this.filter=a;this.gain.connect(this.filter);this.filter.connect(this.context.destination);return this},getMasterVolume:function(){return this.gain.gain.value}, +setMasterVolume:function(a){this.gain.gain.setTargetAtTime(a,this.context.currentTime,.01);return this},updateMatrixWorld:function(){var a=new n,b=new aa,c=new n,d=new n,e=new ve;return function(f){C.prototype.updateMatrixWorld.call(this,f);f=this.context.listener;var g=this.up;this.timeDelta=e.getDelta();this.matrixWorld.decompose(a,b,c);d.set(0,0,-1).applyQuaternion(b);if(f.positionX){var h=this.context.currentTime+this.timeDelta;f.positionX.linearRampToValueAtTime(a.x,h);f.positionY.linearRampToValueAtTime(a.y, +h);f.positionZ.linearRampToValueAtTime(a.z,h);f.forwardX.linearRampToValueAtTime(d.x,h);f.forwardY.linearRampToValueAtTime(d.y,h);f.forwardZ.linearRampToValueAtTime(d.z,h);f.upX.linearRampToValueAtTime(g.x,h);f.upY.linearRampToValueAtTime(g.y,h);f.upZ.linearRampToValueAtTime(g.z,h)}else f.setPosition(a.x,a.y,a.z),f.setOrientation(d.x,d.y,d.z,g.x,g.y,g.z)}}()});oc.prototype=Object.assign(Object.create(C.prototype),{constructor:oc,getOutput:function(){return this.gain},setNodeSource:function(a){this.hasPlaybackControl= +!1;this.sourceType="audioNode";this.source=a;this.connect();return this},setMediaElementSource:function(a){this.hasPlaybackControl=!1;this.sourceType="mediaNode";this.source=this.context.createMediaElementSource(a);this.connect();return this},setBuffer:function(a){this.buffer=a;this.sourceType="buffer";this.autoplay&&this.play();return this},play:function(){if(!0===this.isPlaying)console.warn("THREE.Audio: Audio is already playing.");else if(!1===this.hasPlaybackControl)console.warn("THREE.Audio: this Audio has no playback control."); +else{var a=this.context.createBufferSource();a.buffer=this.buffer;a.loop=this.loop;a.onended=this.onEnded.bind(this);this.startTime=this.context.currentTime;a.start(this.startTime,this.offset);this.isPlaying=!0;this.source=a;this.setDetune(this.detune);this.setPlaybackRate(this.playbackRate);return this.connect()}},pause:function(){if(!1===this.hasPlaybackControl)console.warn("THREE.Audio: this Audio has no playback control.");else return!0===this.isPlaying&&(this.source.stop(),this.source.onended= +null,this.offset+=(this.context.currentTime-this.startTime)*this.playbackRate,this.isPlaying=!1),this},stop:function(){if(!1===this.hasPlaybackControl)console.warn("THREE.Audio: this Audio has no playback control.");else return this.source.stop(),this.source.onended=null,this.offset=0,this.isPlaying=!1,this},connect:function(){if(0d&&this._mixBufferRegion(c,a,3*b,1-d,b);d=b;for(var f=b+b;d!==f;++d)if(c[d]!==c[d+b]){e.setValue(c,a);break}},saveOriginalState:function(){var a=this.buffer,b=this.valueSize,c=3*b;this.binding.getValue(a,c);for(var d=b;d!==c;++d)a[d]=a[c+d%b];this.cumulativeWeight=0},restoreOriginalState:function(){this.binding.setValue(this.buffer,3*this.valueSize)},_select:function(a, +b,c,d,e){if(.5<=d)for(d=0;d!==e;++d)a[b+d]=a[c+d]},_slerp:function(a,b,c,d){aa.slerpFlat(a,b,a,b,a,c,d)},_lerp:function(a,b,c,d,e){for(var f=1-d,g=0;g!==e;++g){var h=b+g;a[h]=a[h]*f+a[c+g]*d}}});Object.assign(If.prototype,{getValue:function(a,b){this.bind();var c=this._bindings[this._targetGroup.nCachedObjects_];void 0!==c&&c.getValue(a,b)},setValue:function(a,b){for(var c=this._bindings,d=this._targetGroup.nCachedObjects_,e=c.length;d!==e;++d)c[d].setValue(a,b)},bind:function(){for(var a=this._bindings, +b=this._targetGroup.nCachedObjects_,c=a.length;b!==c;++b)a[b].bind()},unbind:function(){for(var a=this._bindings,b=this._targetGroup.nCachedObjects_,c=a.length;b!==c;++b)a[b].unbind()}});Object.assign(ma,{Composite:If,create:function(a,b,c){return a&&a.isAnimationObjectGroup?new ma.Composite(a,b,c):new ma(a,b,c)},sanitizeNodeName:function(){var a=/[\[\]\.:\/]/g;return function(b){return b.replace(/\s/g,"_").replace(a,"")}}(),parseTrackName:function(){var a="[^"+"\\[\\]\\.:\\/".replace("\\.","")+"]", +b=/((?:WC+[\/:])*)/.source.replace("WC","[^\\[\\]\\.:\\/]");a=/(WCOD+)?/.source.replace("WCOD",a);var c=/(?:\.(WC+)(?:\[(.+)\])?)?/.source.replace("WC","[^\\[\\]\\.:\\/]"),d=/\.(WC+)(?:\[(.+)\])?/.source.replace("WC","[^\\[\\]\\.:\\/]"),e=new RegExp("^"+b+a+c+d+"$"),f=["material","materials","bones"];return function(a){var b=e.exec(a);if(!b)throw Error("PropertyBinding: Cannot parse trackName: "+a);b={nodeName:b[2],objectName:b[3],objectIndex:b[4],propertyName:b[5],propertyIndex:b[6]};var c=b.nodeName&& +b.nodeName.lastIndexOf(".");if(void 0!==c&&-1!==c){var d=b.nodeName.substring(c+1);-1!==f.indexOf(d)&&(b.nodeName=b.nodeName.substring(0,c),b.objectName=d)}if(null===b.propertyName||0===b.propertyName.length)throw Error("PropertyBinding: can not parse propertyName from trackName: "+a);return b}}(),findNode:function(a,b){if(!b||""===b||"root"===b||"."===b||-1===b||b===a.name||b===a.uuid)return a;if(a.skeleton){var c=a.skeleton.getBoneByName(b);if(void 0!==c)return c}if(a.children){var d=function(a){for(var c= +0;c=b){var n=b++,q=a[n];c[q.uuid]=l;a[l]=q;c[k]=n;a[n]=h;h=0;for(k=e;h!==k;++h){q=d[h];var v=q[l];q[l]=q[n];q[n]=v}}}this.nCachedObjects_=b},uncache:function(){for(var a=this._objects,b=a.length,c=this.nCachedObjects_,d=this._indicesByUUID,e=this._bindings,f=e.length,g=0,h=arguments.length;g!==h;++g){var k=arguments[g].uuid,l=d[k];if(void 0!==l)if(delete d[k],lb||0===c)return;this._startTime=null;b*=c}b*=this._updateTimeScale(a);c=this._updateTime(b);a=this._updateWeight(a);if(0c.parameterPositions[1]&&(this.stopFading(),0===d&&(this.enabled=!1))}}return this._effectiveWeight=b},_updateTimeScale:function(a){var b=0;if(!this.paused){b=this.timeScale;var c=this._timeScaleInterpolant;if(null!==c){var d=c.evaluate(a)[0]; +b*=d;a>c.parameterPositions[1]&&(this.stopWarping(),0===b?this.paused=!0:this.timeScale=b)}}return this._effectiveTimeScale=b},_updateTime:function(a){var b=this.time+a,c=this._clip.duration,d=this.loop,e=this._loopCount,f=2202===d;if(0===a)return-1===e?b:f&&1===(e&1)?c-b:b;if(2200===d)a:{if(-1===e&&(this._loopCount=0,this._setEndings(!0,!0,!1)),b>=c)b=c;else if(0>b)b=0;else break a;this.clampWhenFinished?this.paused=!0:this.enabled=!1;this._mixer.dispatchEvent({type:"finished",action:this,direction:0> +a?-1:1})}else{-1===e&&(0<=a?(e=0,this._setEndings(!0,0===this.repetitions,f)):this._setEndings(0===this.repetitions,!0,f));if(b>=c||0>b){d=Math.floor(b/c);b-=c*d;e+=Math.abs(d);var g=this.repetitions-e;0>=g?(this.clampWhenFinished?this.paused=!0:this.enabled=!1,b=0a,this._setEndings(a,!a,f)):this._setEndings(!1,!1,f),this._loopCount=e,this._mixer.dispatchEvent({type:"loop",action:this,loopDelta:d}))}if(f&& +1===(e&1))return this.time=b,c-b}return this.time=b},_setEndings:function(a,b,c){var d=this._interpolantSettings;c?(d.endingStart=2401,d.endingEnd=2401):(d.endingStart=a?this.zeroSlopeAtStart?2401:2400:2402,d.endingEnd=b?this.zeroSlopeAtEnd?2401:2400:2402)},_scheduleFading:function(a,b,c){var d=this._mixer,e=d.time,f=this._weightInterpolant;null===f&&(this._weightInterpolant=f=d._lendControlInterpolant());d=f.parameterPositions;f=f.sampleValues;d[0]=e;f[0]=b;d[1]=e+a;f[1]=c;return this}});Be.prototype= +Object.assign(Object.create(ta.prototype),{constructor:Be,_bindAction:function(a,b){var c=a._localRoot||this._root,d=a._clip.tracks,e=d.length,f=a._propertyBindings;a=a._interpolants;var g=c.uuid,h=this._bindingsByRootAndName,k=h[g];void 0===k&&(k={},h[g]=k);for(h=0;h!==e;++h){var l=d[h],n=l.name,q=k[n];if(void 0===q){q=f[h];if(void 0!==q){null===q._cacheIndex&&(++q.referenceCount,this._addInactiveBinding(q,g,n));continue}q=new Ae(ma.create(c,n,b&&b._propertyBindings[h].binding.parsedPath),l.ValueTypeName, +l.getValueSize());++q.referenceCount;this._addInactiveBinding(q,g,n)}f[h]=q;a[h].resultBuffer=q.buffer}},_activateAction:function(a){if(!this._isActiveAction(a)){if(null===a._cacheIndex){var b=(a._localRoot||this._root).uuid,c=a._clip.uuid,d=this._actionsByClip[c];this._bindAction(a,d&&d.knownActions[0]);this._addInactiveAction(a,c,b)}b=a._propertyBindings;c=0;for(d=b.length;c!==d;++c){var e=b[c];0===e.useCount++&&(this._lendBinding(e),e.saveOriginalState())}this._lendAction(a)}},_deactivateAction:function(a){if(this._isActiveAction(a)){for(var b= +a._propertyBindings,c=0,d=b.length;c!==d;++c){var e=b[c];0===--e.useCount&&(e.restoreOriginalState(),this._takeBackBinding(e))}this._takeBackAction(a)}},_initMemoryManager:function(){this._actions=[];this._nActiveActions=0;this._actionsByClip={};this._bindings=[];this._nActiveBindings=0;this._bindingsByRootAndName={};this._controlInterpolants=[];this._nActiveControlInterpolants=0;var a=this;this.stats={actions:{get total(){return a._actions.length},get inUse(){return a._nActiveActions}},bindings:{get total(){return a._bindings.length}, +get inUse(){return a._nActiveBindings}},controlInterpolants:{get total(){return a._controlInterpolants.length},get inUse(){return a._nActiveControlInterpolants}}}},_isActiveAction:function(a){a=a._cacheIndex;return null!==a&&athis.max.x||a.ythis.max.y?!1:!0},containsBox:function(a){return this.min.x<=a.min.x&&a.max.x<=this.max.x&&this.min.y<=a.min.y&&a.max.y<=this.max.y},getParameter:function(a,b){void 0===b&&(console.warn("THREE.Box2: .getParameter() target is now required"),b=new B); +return b.set((a.x-this.min.x)/(this.max.x-this.min.x),(a.y-this.min.y)/(this.max.y-this.min.y))},intersectsBox:function(a){return a.max.xthis.max.x||a.max.ythis.max.y?!1:!0},clampPoint:function(a,b){void 0===b&&(console.warn("THREE.Box2: .clampPoint() target is now required"),b=new B);return b.copy(a).clamp(this.min,this.max)},distanceToPoint:function(){var a=new B;return function(b){return a.copy(b).clamp(this.min,this.max).sub(b).length()}}(),intersect:function(a){this.min.max(a.min); +this.max.min(a.max);return this},union:function(a){this.min.min(a.min);this.max.max(a.max);return this},translate:function(a){this.min.add(a);this.max.add(a);return this},equals:function(a){return a.min.equals(this.min)&&a.max.equals(this.max)}});Object.assign(He.prototype,{set:function(a,b){this.start.copy(a);this.end.copy(b);return this},clone:function(){return(new this.constructor).copy(this)},copy:function(a){this.start.copy(a.start);this.end.copy(a.end);return this},getCenter:function(a){void 0=== +a&&(console.warn("THREE.Line3: .getCenter() target is now required"),a=new n);return a.addVectors(this.start,this.end).multiplyScalar(.5)},delta:function(a){void 0===a&&(console.warn("THREE.Line3: .delta() target is now required"),a=new n);return a.subVectors(this.end,this.start)},distanceSq:function(){return this.start.distanceToSquared(this.end)},distance:function(){return this.start.distanceTo(this.end)},at:function(a,b){void 0===b&&(console.warn("THREE.Line3: .at() target is now required"),b= +new n);return this.delta(b).multiplyScalar(a).add(this.start)},closestPointToPointParameter:function(){var a=new n,b=new n;return function(c,d){a.subVectors(c,this.start);b.subVectors(this.end,this.start);c=b.dot(b);c=b.dot(a)/c;d&&(c=K.clamp(c,0,1));return c}}(),closestPointToPoint:function(a,b,c){a=this.closestPointToPointParameter(a,b);void 0===c&&(console.warn("THREE.Line3: .closestPointToPoint() target is now required"),c=new n);return this.delta(c).multiplyScalar(a).add(this.start)},applyMatrix4:function(a){this.start.applyMatrix4(a); +this.end.applyMatrix4(a);return this},equals:function(a){return a.start.equals(this.start)&&a.end.equals(this.end)}});od.prototype=Object.create(C.prototype);od.prototype.constructor=od;od.prototype.isImmediateRenderObject=!0;pd.prototype=Object.create(V.prototype);pd.prototype.constructor=pd;pd.prototype.update=function(){var a=new n,b=new n,c=new ba;return function(){var d=["a","b","c"];this.object.updateMatrixWorld(!0);c.getNormalMatrix(this.object.matrixWorld);var e=this.object.matrixWorld,f= +this.geometry.attributes.position,g=this.object.geometry;if(g&&g.isGeometry)for(var h=g.vertices,k=g.faces,l=g=0,n=k.length;lMath.abs(b)&&(b=1E-8);this.scale.set(.5*this.size,.5*this.size,b);this.children[0].material.side=0>b?1:0;this.lookAt(this.plane.normal);C.prototype.updateMatrixWorld.call(this,a)};var Xd,Ie;gb.prototype=Object.create(C.prototype); +gb.prototype.constructor=gb;gb.prototype.setDirection=function(){var a=new n,b;return function(c){.99999c.y?this.quaternion.set(1,0,0,0):(a.set(c.z,0,-c.x).normalize(),b=Math.acos(c.y),this.quaternion.setFromAxisAngle(a,b))}}();gb.prototype.setLength=function(a,b,c){void 0===b&&(b=.2*a);void 0===c&&(c=.2*b);this.line.scale.set(1,Math.max(0,a-b),1);this.line.updateMatrix();this.cone.scale.set(c,b,c);this.cone.position.y=a;this.cone.updateMatrix()};gb.prototype.setColor= +function(a){this.line.material.color.copy(a);this.cone.material.color.copy(a)};gb.prototype.copy=function(a){C.prototype.copy.call(this,a,!1);this.line.copy(a.line);this.cone.copy(a.cone);return this};gb.prototype.clone=function(){return(new this.constructor).copy(this)};ud.prototype=Object.create(V.prototype);ud.prototype.constructor=ud;I.create=function(a,b){console.log("THREE.Curve.create() has been deprecated");a.prototype=Object.create(I.prototype);a.prototype.constructor=a;a.prototype.getPoint= +b;return a};Object.assign(eb.prototype,{createPointsGeometry:function(a){console.warn("THREE.CurvePath: .createPointsGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead.");a=this.getPoints(a);return this.createGeometry(a)},createSpacedPointsGeometry:function(a){console.warn("THREE.CurvePath: .createSpacedPointsGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead.");a=this.getSpacedPoints(a);return this.createGeometry(a)},createGeometry:function(a){console.warn("THREE.CurvePath: .createGeometry() has been removed. Use new THREE.Geometry().setFromPoints( points ) instead."); +for(var b=new N,c=0,d=a.length;c + +Barcode multimarker example with Three.js + + + + + +

      Barcode multimarker example with Three.js

      +

      On Chrome on Android, tap the screen to start playing video stream.

      +

      Show Multi pattern 4x3 to camera to display objects on top of it. + +

      Back to examples

      + + + + + + + + + + diff --git a/jsartoolkit5/examples/multimarker_pattern_threejs.html b/jsartoolkit5/examples/multimarker_pattern_threejs.html new file mode 100644 index 0000000..c9b84e2 --- /dev/null +++ b/jsartoolkit5/examples/multimarker_pattern_threejs.html @@ -0,0 +1,138 @@ + + +Pattern multimarker example with Three.js + + + + + +

      Pattern multimarker example with Three.js

      +

      On Chrome on Android, tap the screen to start playing video stream.

      +

      Show Multi pattern (template) to camera to display objects on top of it. + +

      Back to examples

      + + + + + + + + + + + diff --git a/jsartoolkit5/examples/nft_improved_worker/index.html b/jsartoolkit5/examples/nft_improved_worker/index.html new file mode 100644 index 0000000..1dd90b2 --- /dev/null +++ b/jsartoolkit5/examples/nft_improved_worker/index.html @@ -0,0 +1,20 @@ + + + nft pages + + + + + +

      jsartoolkit5 demos with ar2Tracking

      +
      Image to recognize for the following examples https://imgur.com/HvcmRVl
      +

      Examples:

      + + + diff --git a/jsartoolkit5/examples/nft_improved_worker/main.html b/jsartoolkit5/examples/nft_improved_worker/main.html new file mode 100644 index 0000000..1e3eaee --- /dev/null +++ b/jsartoolkit5/examples/nft_improved_worker/main.html @@ -0,0 +1,58 @@ + + + NFT_test + + + + +
      Main
      +
      + + +
      + + + + + + + + diff --git a/jsartoolkit5/examples/nft_improved_worker/main.js b/jsartoolkit5/examples/nft_improved_worker/main.js new file mode 100644 index 0000000..676bf49 --- /dev/null +++ b/jsartoolkit5/examples/nft_improved_worker/main.js @@ -0,0 +1,201 @@ +function multiplyMatrices(a, b) { + var ae = a; + var be = b; + var te = new Float64Array(16); + + var a11 = ae[0], a12 = ae[4], a13 = ae[8], a14 = ae[12]; + var a21 = ae[1], a22 = ae[5], a23 = ae[9], a24 = ae[13]; + var a31 = ae[2], a32 = ae[6], a33 = ae[10], a34 = ae[14]; + var a41 = ae[3], a42 = ae[7], a43 = ae[11], a44 = ae[15]; + + var b11 = be[0], b12 = be[4], b13 = be[8], b14 = be[12]; + var b21 = be[1], b22 = be[5], b23 = be[9], b24 = be[13]; + var b31 = be[2], b32 = be[6], b33 = be[10], b34 = be[14]; + var b41 = be[3], b42 = be[7], b43 = be[11], b44 = be[15]; + + te[0] = a11 * b11 + a12 * b21 + a13 * b31 + a14 * b41; + te[4] = a11 * b12 + a12 * b22 + a13 * b32 + a14 * b42; + te[8] = a11 * b13 + a12 * b23 + a13 * b33 + a14 * b43; + te[12] = a11 * b14 + a12 * b24 + a13 * b34 + a14 * b44; + + te[1] = a21 * b11 + a22 * b21 + a23 * b31 + a24 * b41; + te[5] = a21 * b12 + a22 * b22 + a23 * b32 + a24 * b42; + te[9] = a21 * b13 + a22 * b23 + a23 * b33 + a24 * b43; + te[13] = a21 * b14 + a22 * b24 + a23 * b34 + a24 * b44; + + te[2] = a31 * b11 + a32 * b21 + a33 * b31 + a34 * b41; + te[6] = a31 * b12 + a32 * b22 + a33 * b32 + a34 * b42; + te[10] = a31 * b13 + a32 * b23 + a33 * b33 + a34 * b43; + te[14] = a31 * b14 + a32 * b24 + a33 * b34 + a34 * b44; + + te[3] = a41 * b11 + a42 * b21 + a43 * b31 + a44 * b41; + te[7] = a41 * b12 + a42 * b22 + a43 * b32 + a44 * b42; + te[11] = a41 * b13 + a42 * b23 + a43 * b33 + a44 * b43; + te[15] = a41 * b14 + a42 * b24 + a43 * b34 + a44 * b44; + + return te; +} +function transformPoint(m, xyz) { + var x = xyz.x, y = xyz.y, z = xyz.z; + var e = m; + + var w = 1 / (e[3] * x + e[7] * y + e[11] * z + e[15]); + + var r = {}; + r.x = (e[0] * x + e[4] * y + e[8] * z + e[12]) * w; + r.y = (e[1] * x + e[5] * y + e[9] * z + e[13]) * w; + r.z = (e[2] * x + e[6] * y + e[10] * z + e[14]) * w; + + return r; +} + +function isMobile() { + return /Android|mobile|iPad|iPhone/i.test(navigator.userAgent); +} + +var ar = null; +var markerResult = null; + +var markers = { + "pinball": { + width: 1637, + height: 2048, + dpi: 215, + url: "../DataNFT/pinball", + }, +}; + +function start(container, marker, video, input_width, input_height, canvas_draw, render_update) { + var vw, vh; + var sw, sh; + var pscale, sscale; + var w, h; + var pw, ph; + var ox, oy; + + var canvas_process = document.createElement('canvas'); + var context_draw = canvas_draw.getContext('2d'); + var context_process = canvas_process.getContext('2d'); + + var load = function() { + vw = input_width; + vh = input_height; + + pscale = 320 / Math.max(vw, vh / 3 * 4); + sscale = isMobile() ? window.outerWidth / input_width : 1; + + sw = vw * sscale; + sh = vh * sscale; + video.style.width = sw + "px"; + video.style.height = sh + "px"; + container.style.width = sw + "px"; + container.style.height = sh + "px"; + canvas_draw.style.clientWidth = sw + "px"; + canvas_draw.style.clientHeight = sh + "px"; + canvas_draw.width = sw; + canvas_draw.height = sh; + w = vw * pscale; + h = vh * pscale; + pw = Math.max(w, h / 3 * 4); + ph = Math.max(h, w / 4 * 3); + ox = (pw - w) / 2; + oy = (ph - h) / 2; + canvas_process.style.clientWidth = pw + "px"; + canvas_process.style.clientHeight = ph + "px"; + canvas_process.width = pw; + canvas_process.height = ph; + + var param = new ARCameraParam('../Data/camera_para-iPhone 5 rear 640x480 1.0m.dat'); + param.onload = function () { + ar = new ARController(pw, ph, param); + var cameraMatrix = ar.getCameraMatrix(); + + ar.addEventListener('getNFTMarker', function (ev) { + markerResult = {type: "found", matrixGL_RH: JSON.stringify(ev.data.matrixGL_RH), proj: JSON.stringify(cameraMatrix)}; + }); + + ar.loadNFTMarker(marker.url, function (markerId) { + ar.trackNFTMarkerId(markerId, 2); + console.log("loadNFTMarker -> ", markerId); + }); + + console.log("load complete"); + }; + }; + + var lasttime = Date.now(); + var time = 0; + + var x = 0; + var draw = function() { + context_draw.clearRect(0, 0, vw, vh); + render_update(); + var now = Date.now(); + var dt = now - lasttime; + time += dt; + lasttime = now; + + x += dt; + x %= sw; + context_draw.fillStyle = "#FFF"; + context_draw.fillRect(x, 0, 5, 10); + + + if (!markerResult) return; + var proj = JSON.parse(markerResult.proj); + var world = JSON.parse(markerResult.matrixGL_RH); + + var mat = multiplyMatrices(proj, world); + + function glpointToCanvas(xyz) { + return { + x: (xyz.x + 1) * 0.5 * pw / pscale * sscale - ox / pscale * sscale, + y: (1 - xyz.y) * 0.5 * ph / pscale * sscale - oy / pscale * sscale, + } + } + function drawpoint(x, y, z) { + var r = transformPoint(mat, {x: x, y: y, z: z}); + var c = glpointToCanvas(r); + return c; + } + + var width = marker.width; + var height = marker.height; + var dpi = marker.dpi; + + var w = width / dpi * 2.54 * 10; + var h = height / dpi * 2.54 * 10; + + var p1 = drawpoint(0, 0, 0); + var p2 = drawpoint(w, 0, 0); + var p3 = drawpoint(w, h, 0); + var p4 = drawpoint(0, h, 0); + context_draw.beginPath(); + context_draw.moveTo(p1.x, p1.y); + context_draw.lineTo(p2.x, p2.y); + context_draw.lineTo(p3.x, p3.y); + context_draw.lineTo(p4.x, p4.y); + context_draw.closePath(); + context_draw.strokeStyle = "red"; + context_draw.stroke(); + }; + + function process() { + context_process.fillStyle = "black"; + context_process.fillRect(0, 0, pw, ph); + context_process.drawImage(video, 0, 0, vw, vh, ox, oy, w, h); + markerResult = null; + if (ar) { + var imageData = context_process.getImageData(0, 0, pw, ph); + ar.process(imageData); + } + } + var tick = function() { + process(); + draw(); + requestAnimationFrame(tick); + }; + + load(); + tick(); +} diff --git a/jsartoolkit5/examples/nft_improved_worker/main_threejs_wasm_worker.html b/jsartoolkit5/examples/nft_improved_worker/main_threejs_wasm_worker.html new file mode 100644 index 0000000..fa1fc82 --- /dev/null +++ b/jsartoolkit5/examples/nft_improved_worker/main_threejs_wasm_worker.html @@ -0,0 +1,140 @@ + + + + + NFT marker example with a WebWorker, WASM and with Three.js + + + + +
      + + Loading, please wait +
      + + +
      + +
      +

      + Main +

      +
      + +
      +

      + Worker +

      +
      + +
      + + + +
      + + + +
      + + + 🖼 Marker Image + + + + + + + + + diff --git a/jsartoolkit5/examples/nft_improved_worker/main_threejs_worker.html b/jsartoolkit5/examples/nft_improved_worker/main_threejs_worker.html new file mode 100644 index 0000000..eb02568 --- /dev/null +++ b/jsartoolkit5/examples/nft_improved_worker/main_threejs_worker.html @@ -0,0 +1,141 @@ + + + + + NFT marker example with a WebWorker and Three.js + + + + +
      + + Loading, please wait +
      + + +
      + +
      +

      + Main +

      +
      + +
      +

      + Worker +

      +
      + +
      + + + +
      + + + +
      + + + 🖼 Marker Image + + + + + + + + + + diff --git a/jsartoolkit5/examples/nft_improved_worker/main_worker.html b/jsartoolkit5/examples/nft_improved_worker/main_worker.html new file mode 100644 index 0000000..656f034 --- /dev/null +++ b/jsartoolkit5/examples/nft_improved_worker/main_worker.html @@ -0,0 +1,65 @@ + + + NFT_test + + + + +
      Main
      +
      Worker
      +
      + + +
      + + + + + + + diff --git a/jsartoolkit5/examples/nft_improved_worker/main_worker.js b/jsartoolkit5/examples/nft_improved_worker/main_worker.js new file mode 100644 index 0000000..adf6763 --- /dev/null +++ b/jsartoolkit5/examples/nft_improved_worker/main_worker.js @@ -0,0 +1,207 @@ +function multiplyMatrices(a, b) { + var ae = a; + var be = b; + var te = new Float64Array(16); + + var a11 = ae[0], a12 = ae[4], a13 = ae[8], a14 = ae[12]; + var a21 = ae[1], a22 = ae[5], a23 = ae[9], a24 = ae[13]; + var a31 = ae[2], a32 = ae[6], a33 = ae[10], a34 = ae[14]; + var a41 = ae[3], a42 = ae[7], a43 = ae[11], a44 = ae[15]; + + var b11 = be[0], b12 = be[4], b13 = be[8], b14 = be[12]; + var b21 = be[1], b22 = be[5], b23 = be[9], b24 = be[13]; + var b31 = be[2], b32 = be[6], b33 = be[10], b34 = be[14]; + var b41 = be[3], b42 = be[7], b43 = be[11], b44 = be[15]; + + te[0] = a11 * b11 + a12 * b21 + a13 * b31 + a14 * b41; + te[4] = a11 * b12 + a12 * b22 + a13 * b32 + a14 * b42; + te[8] = a11 * b13 + a12 * b23 + a13 * b33 + a14 * b43; + te[12] = a11 * b14 + a12 * b24 + a13 * b34 + a14 * b44; + + te[1] = a21 * b11 + a22 * b21 + a23 * b31 + a24 * b41; + te[5] = a21 * b12 + a22 * b22 + a23 * b32 + a24 * b42; + te[9] = a21 * b13 + a22 * b23 + a23 * b33 + a24 * b43; + te[13] = a21 * b14 + a22 * b24 + a23 * b34 + a24 * b44; + + te[2] = a31 * b11 + a32 * b21 + a33 * b31 + a34 * b41; + te[6] = a31 * b12 + a32 * b22 + a33 * b32 + a34 * b42; + te[10] = a31 * b13 + a32 * b23 + a33 * b33 + a34 * b43; + te[14] = a31 * b14 + a32 * b24 + a33 * b34 + a34 * b44; + + te[3] = a41 * b11 + a42 * b21 + a43 * b31 + a44 * b41; + te[7] = a41 * b12 + a42 * b22 + a43 * b32 + a44 * b42; + te[11] = a41 * b13 + a42 * b23 + a43 * b33 + a44 * b43; + te[15] = a41 * b14 + a42 * b24 + a43 * b34 + a44 * b44; + + return te; +} + +function transformPoint(m, xyz) { + var x = xyz.x, y = xyz.y, z = xyz.z; + var e = m; + + var w = 1 / (e[3] * x + e[7] * y + e[11] * z + e[15]); + + var r = {}; + r.x = (e[0] * x + e[4] * y + e[8] * z + e[12]) * w; + r.y = (e[1] * x + e[5] * y + e[9] * z + e[13]) * w; + r.z = (e[2] * x + e[6] * y + e[10] * z + e[14]) * w; + + return r; +} + +function isMobile() { + return /Android|mobile|iPad|iPhone/i.test(navigator.userAgent); +} + +var markers = { + "pinball": { + width: 1637, + height: 2048, + dpi: 215, + url: "./examples/DataNFT/pinball", + }, +}; + +function start(container, marker, video, input_width, input_height, canvas_draw, render_update, track_update) { + var vw, vh; + var sw, sh; + var pscale, sscale; + var w, h; + var pw, ph; + var ox, oy; + var worker; + var camera_para = './../examples/Data/camera_para-iPhone 5 rear 640x480 1.0m.dat' + + var canvas_process = document.createElement('canvas'); + var context_draw = canvas_draw.getContext('2d'); + var context_process = canvas_process.getContext('2d'); + + var load = function() { + vw = input_width; + vh = input_height; + + pscale = 320 / Math.max(vw, vh / 3 * 4); + sscale = isMobile() ? window.outerWidth / input_width : 1; + + sw = vw * sscale; + sh = vh * sscale; + video.style.width = sw + "px"; + video.style.height = sh + "px"; + container.style.width = sw + "px"; + container.style.height = sh + "px"; + canvas_draw.style.clientWidth = sw + "px"; + canvas_draw.style.clientHeight = sh + "px"; + canvas_draw.width = sw; + canvas_draw.height = sh; + w = vw * pscale; + h = vh * pscale; + pw = Math.max(w, h / 3 * 4); + ph = Math.max(h, w / 4 * 3); + ox = (pw - w) / 2; + oy = (ph - h) / 2; + canvas_process.style.clientWidth = pw + "px"; + canvas_process.style.clientHeight = ph + "px"; + canvas_process.width = pw; + canvas_process.height = ph; + + worker = new Worker('../../js/artoolkit.worker.js'); + + worker.postMessage({type: "load", pw: pw, ph: ph, camera_para: camera_para, marker: '../' + marker.url}); + + worker.onmessage = function(ev) { + var msg = ev.data; + switch (msg.type) { + case "found": { + found(msg); + break; + } + case "not found": { + found(null); + break; + } + } + track_update(); + process(); + }; + }; + + var lastmsg = null; + var found = function(msg) { + lastmsg = msg; + }; + + var lasttime = Date.now(); + var time = 0; + + var x = 0; + + var draw = function() { + context_draw.clearRect(0, 0, vw, vh); + render_update(); + var now = Date.now(); + var dt = now - lasttime; + time += dt; + lasttime = now; + + x += dt; + x %= sw; + context_draw.fillStyle = "#FFF"; + context_draw.fillRect(x, 0, 5, 10); + + if (!lastmsg) return; + var proj = JSON.parse(lastmsg.proj); + var world = JSON.parse(lastmsg.matrixGL_RH); + + var mat = multiplyMatrices(proj, world); + + function glpointToCanvas(xyz) { + return { + x: (xyz.x + 1) * 0.5 * pw / pscale * sscale - ox / pscale * sscale, + y: (1 - xyz.y) * 0.5 * ph / pscale * sscale - oy / pscale * sscale, + } + } + function drawpoint(x, y, z) { + var r = transformPoint(mat, {x: x, y: y, z: z}); + var c = glpointToCanvas(r); + return c; + } + + var width = marker.width; + var height = marker.height; + var dpi = marker.dpi; + + var w = width / dpi * 2.54 * 10; + var h = height / dpi * 2.54 * 10; + + var p1 = drawpoint(0, 0, 0); + var p2 = drawpoint(w, 0, 0); + var p3 = drawpoint(w, h, 0); + var p4 = drawpoint(0, h, 0); + context_draw.beginPath(); + context_draw.moveTo(p1.x, p1.y); + context_draw.lineTo(p2.x, p2.y); + context_draw.lineTo(p3.x, p3.y); + context_draw.lineTo(p4.x, p4.y); + context_draw.closePath(); + context_draw.strokeStyle = "red"; + context_draw.stroke(); + }; + + function process() { + context_process.fillStyle = "black"; + context_process.fillRect(0, 0, pw, ph); + context_process.drawImage(video, 0, 0, vw, vh, ox, oy, w, h); + + var imageData = context_process.getImageData(0, 0, pw, ph); + worker.postMessage({type: "process", imagedata: imageData}, [imageData.data.buffer]); + } + var tick = function() { + draw(); + requestAnimationFrame(tick); + }; + + load(); + tick(); + process(); +} diff --git a/jsartoolkit5/examples/nft_improved_worker/threejs_wasm_worker.js b/jsartoolkit5/examples/nft_improved_worker/threejs_wasm_worker.js new file mode 100644 index 0000000..9600328 --- /dev/null +++ b/jsartoolkit5/examples/nft_improved_worker/threejs_wasm_worker.js @@ -0,0 +1,222 @@ +function isMobile() { + return /Android|mobile|iPad|iPhone/i.test(navigator.userAgent); +} + +var interpolationFactor = 24; + +var trackedMatrix = { + // for interpolation + delta: [ + 0,0,0,0, + 0,0,0,0, + 0,0,0,0, + 0,0,0,0 + ], + interpolated: [ + 0,0,0,0, + 0,0,0,0, + 0,0,0,0, + 0,0,0,0 + ] +} + +var markers = { + "pinball": { + width: 1637, + height: 2048, + dpi: 250, + url: "../DataNFT/pinball", + }, +}; + +var setMatrix = function (matrix, value) { + var array = []; + for (var key in value) { + array[key] = value[key]; + } + if (typeof matrix.elements.set === "function") { + matrix.elements.set(array); + } else { + matrix.elements = [].slice.call(array); + } +}; + +//var worker; +function start(container, marker, video, input_width, input_height, canvas_draw, render_update, track_update) { + worker = new Worker('wasm_worker/artoolkit.wasm_worker.js'); + worker.onmessage = function(ev) { + start2(container, marker, video, input_width, input_height, canvas_draw, render_update, track_update); + } +} + +function start2(container, marker, video, input_width, input_height, canvas_draw, render_update, track_update) { + var vw, vh; + var sw, sh; + var pscale, sscale; + var w, h; + var pw, ph; + var ox, oy; + var camera_para = './../../Data/camera_para-iPhone 5 rear 640x480 1.0m.dat' + + var canvas_process = document.createElement('canvas'); + var context_process = canvas_process.getContext('2d'); + + var renderer = new THREE.WebGLRenderer({canvas: canvas_draw, alpha: true, antialias: true}); + renderer.setPixelRatio(window.devicePixelRatio); + + var scene = new THREE.Scene(); + + var camera = new THREE.Camera(); + camera.matrixAutoUpdate = false; + + scene.add(camera); + + var sphere = new THREE.Mesh( + new THREE.SphereGeometry(0.5, 8, 8), + new THREE.MeshNormalMaterial() + ); + + var root = new THREE.Object3D(); + scene.add(root); + + sphere.material.flatShading; + sphere.position.z = 0; + sphere.position.x = 100; + sphere.position.y = 100; + sphere.scale.set(200, 200, 200); + + root.matrixAutoUpdate = false; + root.add(sphere); + + var load = function() { + vw = input_width; + vh = input_height; + + pscale = 320 / Math.max(vw, vh / 3 * 4); + sscale = isMobile() ? window.outerWidth / input_width : 1; + + sw = vw * sscale; + sh = vh * sscale; + video.style.width = sw + "px"; + video.style.height = sh + "px"; + container.style.width = sw + "px"; + container.style.height = sh + "px"; + canvas_draw.style.clientWidth = sw + "px"; + canvas_draw.style.clientHeight = sh + "px"; + canvas_draw.width = sw; + canvas_draw.height = sh; + w = vw * pscale; + h = vh * pscale; + pw = Math.max(w, h / 3 * 4); + ph = Math.max(h, w / 4 * 3); + ox = (pw - w) / 2; + oy = (ph - h) / 2; + canvas_process.style.clientWidth = pw + "px"; + canvas_process.style.clientHeight = ph + "px"; + canvas_process.width = pw; + canvas_process.height = ph; + + renderer.setSize(sw, sh); + + worker.postMessage({type: "load", pw: pw, ph: ph, camera_para: camera_para, marker: '../' + marker.url}); + + worker.onmessage = function(ev) { + var msg = ev.data; + switch (msg.type) { + case "loaded": { + var proj = JSON.parse(msg.proj); + var ratioW = pw / w; + var ratioH = ph / h; + proj[0] *= ratioW; + proj[4] *= ratioW; + proj[8] *= ratioW; + proj[12] *= ratioW; + proj[1] *= ratioH; + proj[5] *= ratioH; + proj[9] *= ratioH; + proj[13] *= ratioH; + setMatrix(camera.projectionMatrix, proj); + break; + } + + case "endLoading": { + if (msg.end == true) + // removing loader page if present + document.body.classList.remove("loading"); + document.getElementById("loading").remove(); + break; + } + + case "found": { + found(msg); + break; + } + + case "not found": { + found(null); + break; + } + } + + track_update(); + process(); + }; + }; + + var world; + + var found = function(msg) { + if (!msg) { + world = null; + } else { + world = JSON.parse(msg.matrixGL_RH); + } + }; + + var lasttime = Date.now(); + var time = 0; + + var draw = function() { + render_update(); + var now = Date.now(); + var dt = now - lasttime; + time += dt; + lasttime = now; + + if (!world) { + sphere.visible = false; + } else { + sphere.visible = true; + // interpolate matrix + for (var i = 0; i < 16; i++) { + trackedMatrix.delta[i] = world[i] - trackedMatrix.interpolated[i]; + trackedMatrix.interpolated[i] = + trackedMatrix.interpolated[i] + + trackedMatrix.delta[i] / interpolationFactor; + } + + // set matrix of 'root' by detected 'world' matrix + setMatrix(root.matrix, trackedMatrix.interpolated); + } + renderer.render(scene, camera); + }; + + function process() { + context_process.fillStyle = "black"; + context_process.fillRect(0, 0, pw, ph); + context_process.drawImage(video, 0, 0, vw, vh, ox, oy, w, h); + + var imageData = context_process.getImageData(0, 0, pw, ph); + worker.postMessage({ type: "process", imagedata: imageData }, [ + imageData.data.buffer + ]); + } + var tick = function() { + draw(); + requestAnimationFrame(tick); + }; + + load(); + tick(); + process(); +} diff --git a/jsartoolkit5/examples/nft_improved_worker/threejs_worker.js b/jsartoolkit5/examples/nft_improved_worker/threejs_worker.js new file mode 100644 index 0000000..7f5d36e --- /dev/null +++ b/jsartoolkit5/examples/nft_improved_worker/threejs_worker.js @@ -0,0 +1,211 @@ +function isMobile() { + return /Android|mobile|iPad|iPhone/i.test(navigator.userAgent); +} + +var interpolationFactor = 24; + +var trackedMatrix = { + // for interpolation + delta: [ + 0,0,0,0, + 0,0,0,0, + 0,0,0,0, + 0,0,0,0 + ], + interpolated: [ + 0,0,0,0, + 0,0,0,0, + 0,0,0,0, + 0,0,0,0 + ] +} + +var markers = { + "pinball": { + width: 1637, + height: 2048, + dpi: 250, + url: "./examples/DataNFT/pinball", + }, +}; + +var setMatrix = function (matrix, value) { + var array = []; + for (var key in value) { + array[key] = value[key]; + } + if (typeof matrix.elements.set === "function") { + matrix.elements.set(array); + } else { + matrix.elements = [].slice.call(array); + } +}; + +function start(container, marker, video, input_width, input_height, canvas_draw, render_update, track_update, greyCover) { + var vw, vh; + var sw, sh; + var pscale, sscale; + var w, h; + var pw, ph; + var ox, oy; + var worker; + var camera_para = './../examples/Data/camera_para-iPhone 5 rear 640x480 1.0m.dat' + + var canvas_process = document.createElement('canvas'); + var context_process = canvas_process.getContext('2d'); + + var renderer = new THREE.WebGLRenderer({ canvas: canvas_draw, alpha: true, antialias: true }); + renderer.setPixelRatio(window.devicePixelRatio); + + var scene = new THREE.Scene(); + + var camera = new THREE.Camera(); + camera.matrixAutoUpdate = false; + + scene.add(camera); + + var sphere = new THREE.Mesh( + new THREE.SphereGeometry(0.5, 8, 8), + new THREE.MeshNormalMaterial() + ); + + var root = new THREE.Object3D(); + scene.add(root); + + sphere.material.flatShading; + sphere.position.z = 0; + sphere.position.x = 100; + sphere.position.y = 100; + sphere.scale.set(200, 200, 200); + + root.matrixAutoUpdate = false; + root.add(sphere); + + var load = function() { + vw = input_width; + vh = input_height; + + pscale = 320 / Math.max(vw, vh / 3 * 4); + sscale = isMobile() ? window.outerWidth / input_width : 1; + + sw = vw * sscale; + sh = vh * sscale; + video.style.width = sw + "px"; + video.style.height = sh + "px"; + container.style.width = sw + "px"; + container.style.height = sh + "px"; + canvas_draw.style.clientWidth = sw + "px"; + canvas_draw.style.clientHeight = sh + "px"; + canvas_draw.width = sw; + canvas_draw.height = sh; + w = vw * pscale; + h = vh * pscale; + pw = Math.max(w, h / 3 * 4); + ph = Math.max(h, w / 4 * 3); + ox = (pw - w) / 2; + oy = (ph - h) / 2; + canvas_process.style.clientWidth = pw + "px"; + canvas_process.style.clientHeight = ph + "px"; + canvas_process.width = pw; + canvas_process.height = ph; + + renderer.setSize(sw, sh); + + worker = new Worker('../../js/artoolkit.worker.js'); + + worker.postMessage({ type: "load", pw: pw, ph: ph, camera_para: camera_para, marker: '../' + marker.url }); + + worker.onmessage = function(ev) { + var msg = ev.data; + switch (msg.type) { + case "loaded": { + var proj = JSON.parse(msg.proj); + var ratioW = pw / w; + var ratioH = ph / h; + proj[0] *= ratioW; + proj[4] *= ratioW; + proj[8] *= ratioW; + proj[12] *= ratioW; + proj[1] *= ratioH; + proj[5] *= ratioH; + proj[9] *= ratioH; + proj[13] *= ratioH; + setMatrix(camera.projectionMatrix, proj); + break; + } + case "endLoading": { + if (msg.end == true) + // removing loader page if present + document.body.classList.remove("loading"); + document.getElementById("loading").remove(); + break; + } + case "found": { + found(msg); + break; + } + case "not found": { + found(null); + break; + } + } + track_update(); + process(); + }; + }; + + var world; + + var found = function(msg) { + if (!msg) { + world = null; + } else { + world = JSON.parse(msg.matrixGL_RH); + } + }; + + var lasttime = Date.now(); + var time = 0; + + var draw = function() { + render_update(); + var now = Date.now(); + var dt = now - lasttime; + time += dt; + lasttime = now; + + if (!world) { + sphere.visible = false; + } else { + sphere.visible = true; + // interpolate matrix + for (var i = 0; i < 16; i++) { + trackedMatrix.delta[i] = world[i] - trackedMatrix.interpolated[i]; + trackedMatrix.interpolated[i] = + trackedMatrix.interpolated[i] + + trackedMatrix.delta[i] / interpolationFactor; + } + + // set matrix of 'root' by detected 'world' matrix + setMatrix(root.matrix, trackedMatrix.interpolated); + } + renderer.render(scene, camera); + }; + + function process() { + context_process.fillStyle = "black"; + context_process.fillRect(0, 0, pw, ph); + context_process.drawImage(video, 0, 0, vw, vh, ox, oy, w, h); + + var imageData = context_process.getImageData(0, 0, pw, ph); + worker.postMessage({ type: "process", imagedata: imageData }, [imageData.data.buffer]); + } + var tick = function() { + draw(); + requestAnimationFrame(tick); + }; + + load(); + tick(); + process(); +} diff --git a/jsartoolkit5/examples/nft_improved_worker/threejs_worker_gltf.html b/jsartoolkit5/examples/nft_improved_worker/threejs_worker_gltf.html new file mode 100644 index 0000000..67ec4ab --- /dev/null +++ b/jsartoolkit5/examples/nft_improved_worker/threejs_worker_gltf.html @@ -0,0 +1,122 @@ + + + + + NFT_test + + + + +
      + + Loading, please wait +
      + + + +
      +
      +

      + Main +

      +
      + +
      +

      + Worker +

      +
      +
      + + + +
      + + + +
      + + 🖼 Marker Image + + + + + + + + + diff --git a/jsartoolkit5/examples/nft_improved_worker/threejs_worker_gltf.js b/jsartoolkit5/examples/nft_improved_worker/threejs_worker_gltf.js new file mode 100644 index 0000000..a6669e6 --- /dev/null +++ b/jsartoolkit5/examples/nft_improved_worker/threejs_worker_gltf.js @@ -0,0 +1,261 @@ +var model; +var clock = new THREE.Clock(); +var mixers = []; + +function isMobile() { + return /Android|mobile|iPad|iPhone/i.test(navigator.userAgent); +} + +var interpolationFactor = 24; + +var trackedMatrix = { + // for interpolation + delta: [ + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0 + ], + interpolated: [ + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0 + ] +} + +var markers = { + pinball: { + width: 1637, + height: 2048, + dpi: 215, + url: "../examples/DataNFT/pinball" + } +}; + +var setMatrix = function (matrix, value) { + var array = []; + for (var key in value) { + array[key] = value[key]; + } + if (typeof matrix.elements.set === "function") { + matrix.elements.set(array); + } else { + matrix.elements = [].slice.call(array); + } +}; + +function start( container, marker, video, input_width, input_height, canvas_draw, render_update, track_update) { + var vw, vh; + var sw, sh; + var pscale, sscale; + var w, h; + var pw, ph; + var ox, oy; + var worker; + var camera_para = "./../examples/Data/camera_para-iPhone 5 rear 640x480 1.0m.dat"; + + var canvas_process = document.createElement("canvas"); + var context_process = canvas_process.getContext("2d"); + + // var context_draw = canvas_draw.getContext('2d'); + var renderer = new THREE.WebGLRenderer({ + canvas: canvas_draw, + alpha: true, + antialias: true + }); + renderer.setPixelRatio(window.devicePixelRatio); + + var scene = new THREE.Scene(); + + var camera = new THREE.Camera(); + camera.matrixAutoUpdate = false; + // var camera = new THREE.PerspectiveCamera(70, window.innerWidth / window.innerHeight, 1, 1000); + // camera.position.z = 400; + + scene.add(camera); + + var light = new THREE.AmbientLight(0xffffff); + scene.add(light); + + var sphere = new THREE.Mesh( + new THREE.SphereGeometry(0.5, 8, 8), + new THREE.MeshNormalMaterial() + ); + + var root = new THREE.Object3D(); + scene.add(root); + + /* Load Model */ + var threeGLTFLoader = new THREE.GLTFLoader(); + + threeGLTFLoader.load("../Data/models/Flamingo.glb", function (gltf) { + model = gltf.scene.children[0]; + model.position.z = 0; + model.position.x = 100; + model.position.y = 100; + + var animation = gltf.animations[0]; + var mixer = new THREE.AnimationMixer(model); + mixers.push(mixer); + var action = mixer.clipAction(animation); + action.play(); + + root.matrixAutoUpdate = false; + root.add(model); + } + ); + + var load = function() { + vw = input_width; + vh = input_height; + + pscale = 320 / Math.max(vw, (vh / 3) * 4); + sscale = isMobile() ? window.outerWidth / input_width : 1; + + sw = vw * sscale; + sh = vh * sscale; + video.style.width = sw + "px"; + video.style.height = sh + "px"; + container.style.width = sw + "px"; + container.style.height = sh + "px"; + canvas_draw.style.clientWidth = sw + "px"; + canvas_draw.style.clientHeight = sh + "px"; + canvas_draw.width = sw; + canvas_draw.height = sh; + w = vw * pscale; + h = vh * pscale; + pw = Math.max(w, (h / 3) * 4); + ph = Math.max(h, (w / 4) * 3); + ox = (pw - w) / 2; + oy = (ph - h) / 2; + canvas_process.style.clientWidth = pw + "px"; + canvas_process.style.clientHeight = ph + "px"; + canvas_process.width = pw; + canvas_process.height = ph; + + renderer.setSize(sw, sh); + + worker = new Worker("../../js/artoolkit.worker.js"); + + worker.postMessage({ + type: "load", + pw: pw, + ph: ph, + camera_para: camera_para, + marker: marker.url + }); + + worker.onmessage = function(ev) { + var msg = ev.data; + switch (msg.type) { + case "loaded": { + var proj = JSON.parse(msg.proj); + var ratioW = pw / w; + var ratioH = ph / h; + proj[0] *= ratioW; + proj[4] *= ratioW; + proj[8] *= ratioW; + proj[12] *= ratioW; + proj[1] *= ratioH; + proj[5] *= ratioH; + proj[9] *= ratioH; + proj[13] *= ratioH; + setMatrix(camera.projectionMatrix, proj); + break; + } + + case "endLoading": { + if (msg.end == true) { + // removing loader page if present + var loader = document.getElementById('loading'); + if (loader) { + loader.querySelector('.loading-text').innerText = 'Start the tracking!'; + setTimeout(function(){ + loader.parentElement.removeChild(loader); + }, 2000); + } + } + break; + } + + case "found": { + found(msg); + break; + } + case "not found": { + found(null); + break; + } + } + track_update(); + process(); + }; + }; + + var world; + + var found = function(msg) { + if (!msg) { + world = null; + } else { + world = JSON.parse(msg.matrixGL_RH); + } + }; + + var lasttime = Date.now(); + var time = 0; + + function process() { + context_process.fillStyle = "black"; + context_process.fillRect(0, 0, pw, ph); + context_process.drawImage(video, 0, 0, vw, vh, ox, oy, w, h); + + var imageData = context_process.getImageData(0, 0, pw, ph); + worker.postMessage({ type: "process", imagedata: imageData }, [ + imageData.data.buffer + ]); + } + + var tick = function() { + draw(); + requestAnimationFrame(tick); + + if (mixers.length > 0) { + for (var i = 0; i < mixers.length; i++) { + mixers[i].update(clock.getDelta()); + } + } + }; + + var draw = function() { + render_update(); + var now = Date.now(); + var dt = now - lasttime; + time += dt; + lasttime = now; + + if (!world) { + root.visible = false; + } else { + root.visible = true; + + // interpolate matrix + for (var i = 0; i < 16; i++) { + trackedMatrix.delta[i] = world[i] - trackedMatrix.interpolated[i]; + trackedMatrix.interpolated[i] = + trackedMatrix.interpolated[i] + + trackedMatrix.delta[i] / interpolationFactor; + } + + // set matrix of 'root' by detected 'world' matrix + setMatrix(root.matrix, trackedMatrix.interpolated); + } + + renderer.render(scene, camera); + }; + + load(); + tick(); + process(); +} diff --git a/jsartoolkit5/examples/nft_improved_worker/wasm_worker/artoolkit.wasm_worker.js b/jsartoolkit5/examples/nft_improved_worker/wasm_worker/artoolkit.wasm_worker.js new file mode 100644 index 0000000..ef2223c --- /dev/null +++ b/jsartoolkit5/examples/nft_improved_worker/wasm_worker/artoolkit.wasm_worker.js @@ -0,0 +1,89 @@ +window = {}; +window.artoolkit_wasm_url = '../../../build/artoolkit_wasm.wasm'; +window.listeners = {}; +window.addEventListener = function (name, callback) { + if (!window.listeners[name]) { + window.listeners[name] = []; + } + window.listeners[name].push(callback); +}; +window.removeEventListener = function (name, callback) { + if (window.listeners[name]) { + var index = window.listeners[name].indexOf(callback); + if (index > -1) { + window.listeners[name].splice(index, 1); + } + } +}; +window.dispatchEvent = function (event) { + var listeners = window.listeners[event.type]; + if (listeners) { + for (var i = 0; i < listeners.length; i++) { + listeners[i].call(window, event); + } + } +}; + +importScripts('../../../build/artoolkit_wasm.js'); +self.onmessage = function(e) { + var msg = e.data; + switch (msg.type) { + case "load": { + load(msg); + return; + } + case "process": { + next = msg.imagedata; + process(); + return; + } + } +}; + +var next = null; + +var ar = null; +var markerResult = null; + +function load(msg) { + var param = new ARCameraParam(msg.camera_para); + param.onload = function () { + ar = new ARController(msg.pw, msg.ph, param); + var cameraMatrix = ar.getCameraMatrix(); + + ar.addEventListener('getNFTMarker', function (ev) { + markerResult = {type: "found", matrixGL_RH: JSON.stringify(ev.data.matrixGL_RH), proj: JSON.stringify(cameraMatrix)}; + }); + + ar.loadNFTMarker(msg.marker, function (markerId) { + ar.trackNFTMarkerId(markerId, 2); + console.log("loadNFTMarker -> ", markerId); + postMessage({type: "endLoading", end: true}) + }); + + postMessage({type: "loaded", proj: JSON.stringify(cameraMatrix)}); + }; +} + +function process() { + + markerResult = null; + + if (ar) { + ar.process(next); + } + + if (markerResult) { + postMessage(markerResult); + } else { + postMessage({type: "not found"}); + } + + next = null; +} + +window.addEventListener('artoolkit-loaded', function() { + console.log('artoolkit-loaded'); + Object.assign(self, window); + postMessage({type: "wasm"}); +}); diff --git a/jsartoolkit5/examples/nft_threejs_wasm.html b/jsartoolkit5/examples/nft_threejs_wasm.html new file mode 100644 index 0000000..6e238ea --- /dev/null +++ b/jsartoolkit5/examples/nft_threejs_wasm.html @@ -0,0 +1,123 @@ + + +Pattern marker example with Three.js and wasm + + + + + + + + + + + + + + diff --git a/jsartoolkit5/examples/pattern_and_barcode_threejs.html b/jsartoolkit5/examples/pattern_and_barcode_threejs.html new file mode 100644 index 0000000..df3e04b --- /dev/null +++ b/jsartoolkit5/examples/pattern_and_barcode_threejs.html @@ -0,0 +1,150 @@ + + +Mixed marker example with Three.js + + + + + +

      Mixed marker example with Three.js

      +

      On Chrome on Android, tap the screen to start playing video stream.

      +

      Show 3x3 marker id 5, 3x3 marker id 20, Hiro pattern and Kanji pattern to camera to display a colorful objects on top of them. Tap the objects to spin them. + +

      Back to examples

      + + + + + + + + + diff --git a/jsartoolkit5/examples/pattern_threejs.html b/jsartoolkit5/examples/pattern_threejs.html new file mode 100644 index 0000000..05d8c7d --- /dev/null +++ b/jsartoolkit5/examples/pattern_threejs.html @@ -0,0 +1,123 @@ + + +Pattern marker example with Three.js + + + + + +

      Pattern marker example with Three.js

      +

      On Chrome on Android, tap the screen to start playing video stream.

      +

      Show Hiro pattern and Kanji pattern to camera to display a colorful objects on top of them. Tap the screen to rotate the objects. + +

      Back to examples

      + + + + + + + + + + + diff --git a/jsartoolkit5/examples/simple_image.html b/jsartoolkit5/examples/simple_image.html new file mode 100644 index 0000000..b96d232 --- /dev/null +++ b/jsartoolkit5/examples/simple_image.html @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + diff --git a/jsartoolkit5/examples/simple_image_wasm.html b/jsartoolkit5/examples/simple_image_wasm.html new file mode 100644 index 0000000..2dbc3cc --- /dev/null +++ b/jsartoolkit5/examples/simple_image_wasm.html @@ -0,0 +1,78 @@ + + + + + + + + + + + + + + + + diff --git a/jsartoolkit5/examples/simple_rtc.html b/jsartoolkit5/examples/simple_rtc.html new file mode 100644 index 0000000..79dd144 --- /dev/null +++ b/jsartoolkit5/examples/simple_rtc.html @@ -0,0 +1,76 @@ + + + + + + + + + + + diff --git a/jsartoolkit5/examples/simple_video.html b/jsartoolkit5/examples/simple_video.html new file mode 100644 index 0000000..0078100 --- /dev/null +++ b/jsartoolkit5/examples/simple_video.html @@ -0,0 +1,29 @@ + + + + + + + + + + + + diff --git a/jsartoolkit5/examples/simple_video_wasm.html b/jsartoolkit5/examples/simple_video_wasm.html new file mode 100644 index 0000000..45d83be --- /dev/null +++ b/jsartoolkit5/examples/simple_video_wasm.html @@ -0,0 +1,30 @@ + + + + + + + + + + + + diff --git a/jsartoolkit5/examples/test_constants.html b/jsartoolkit5/examples/test_constants.html new file mode 100644 index 0000000..823486c --- /dev/null +++ b/jsartoolkit5/examples/test_constants.html @@ -0,0 +1,69 @@ + + + + + + + + diff --git a/jsartoolkit5/examples/threejs_from_scratch.html b/jsartoolkit5/examples/threejs_from_scratch.html new file mode 100644 index 0000000..bc83ddb --- /dev/null +++ b/jsartoolkit5/examples/threejs_from_scratch.html @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + diff --git a/jsartoolkit5/js/artoolkit.api.js b/jsartoolkit5/js/artoolkit.api.js new file mode 100644 index 0000000..beb789d --- /dev/null +++ b/jsartoolkit5/js/artoolkit.api.js @@ -0,0 +1,2057 @@ +; (function () { + 'use strict' + + var scope; + if (typeof window !== 'undefined') { + scope = window; + } else { + scope = self; + }; + if (scope.artoolkit_wasm_url) { + var downloadWasm = function(url) { + return new Promise(function (resolve, reject) { + var wasmXHR = new XMLHttpRequest(); + wasmXHR.open('GET', url, true); + wasmXHR.responseType = 'arraybuffer'; + wasmXHR.onload = function () { resolve(wasmXHR.response); } + wasmXHR.onerror = function () { reject('error ' + wasmXHR.status); } + wasmXHR.send(null); + }); + }; + + var wasm = downloadWasm(scope.artoolkit_wasm_url); + + // Module.instantiateWasm is a user-implemented callback which the Emscripten runtime calls to perform + // the WebAssembly instantiation action. The callback function will be called with two parameters, imports + // and successCallback. imports is a JS object which contains all the function imports that need to be passed + // to the Module when instantiating, and once instantiated, the function should call successCallback() with + // the WebAssembly Instance object. + // The instantiation can be performed either synchronously or asynchronously. The return value of this function + // should contain the exports object of the instantiated Module, or an empty dictionary object {} if the + // instantiation is performed asynchronously, or false if instantiation failed. + Module.instantiateWasm = function (imports, successCallback) { + console.log('instantiateWasm: instantiating synchronously'); + wasm.then(function (wasmBinary) { + console.log('wasm download finished, begin instantiating'); + var wasmInstantiate = WebAssembly.instantiate(new Uint8Array(wasmBinary), imports).then(function (output) { + console.log('wasm instantiation succeeded'); + successCallback(output.instance); + }).catch(function (e) { + console.log('wasm instantiation failed! ' + e); + }); + }); + return {}; // Compiling asynchronously, no exports. + } + } + + /** + The ARController is the main object for doing AR marker detection with JSARToolKit. + + To use an ARController, you need to tell it the dimensions to use for the AR processing canvas and + pass it an ARCameraParam to define the camera parameters to use when processing images. + The ARCameraParam defines the lens distortion and aspect ratio of the camera used. + See https://www.artoolworks.com/support/library/Calibrating_your_camera for more information about AR camera parameters and how to make and use them. + + If you pass an image as the first argument, the ARController uses that as the image to process, + using the dimensions of the image as AR processing canvas width and height. If the first argument + to ARController is an image, the second argument is used as the camera param. + + The camera parameters argument can be either an ARCameraParam or an URL to a camera definition file. + If the camera argument is an URL, it is loaded into a new ARCameraParam, and the ARController dispatches + a 'load' event and calls the onload method if it is defined. + + @exports ARController + @constructor + + @param {number} width The width of the images to process. + @param {number} height The height of the images to process. + @param {ARCameraParam | string} camera The ARCameraParam to use for image processing. If this is a string, the ARController treats it as an URL and tries to load it as a ARCameraParam definition file, calling ARController#onload on success. + */ + var ARController = function (width, height, cameraPara) { + this.id = undefined; + var w = width, h = height; + + this.orientation = 'landscape'; + + this.listeners = {}; + + if (typeof width !== 'number') { + var image = width; + cameraPara = height; + w = image.videoWidth || image.width; + h = image.videoHeight || image.height; + this.image = image; + } + + this.width = w; + this.height = h; + + this.nftMarkerCount = 0; + + this.defaultMarkerWidth = 1; + this.patternMarkers = {}; + this.barcodeMarkers = {}; + this.nftMarkers = {}; + this.transform_mat = new Float32Array(16); + this.transformGL_RH = new Float64Array(16); + + if (typeof document !== 'undefined') { + this.canvas = document.createElement('canvas'); + this.canvas.width = w; + this.canvas.height = h; + this.ctx = this.canvas.getContext('2d'); + } + + this.videoWidth = w; + this.videoHeight = h; + this.videoSize = this.videoWidth * this.videoHeight; + + this.framepointer = null; + this.framesize = null; + this.dataHeap = null; + this.videoLuma = null; + this.camera_mat = null; + this.marker_transform_mat = null; + this.videoLumaPointer = null; + this._bwpointer = undefined; + this._lumaCtx = undefined; + + if (typeof cameraPara === 'string') { + this.cameraParam = new ARCameraParam(cameraPara, function () { + this._initialize(); + }.bind(this), function (err) { + console.error("ARController: Failed to load ARCameraParam", err); + this.onload(err); + }.bind(this)); + } else { + this.cameraParam = cameraPara; + this._initialize(); + } + }; + + /** + Destroys the ARController instance and frees all associated resources. + After calling dispose, the ARController can't be used any longer. Make a new one if you need one. + + Calling this avoids leaking Emscripten memory, which may be important if you're using multiple ARControllers. + */ + ARController.prototype.dispose = function () { + // It is possible to call dispose on an ARController that was never initialized. But if it was never initialized the id is undefined. + if (this.id > -1) { + artoolkit.teardown(this.id); + } + + if (this.image && this.image.srcObject) { + ARController._teardownVideo(this.image); + } + + for (var t in this) { + this[t] = null; + } + }; + + /** + Detects markers in the given image. The process method dispatches marker detection events during its run. + + The marker detection process proceeds by first dispatching a markerNum event that tells you how many + markers were found in the image. Next, a getMarker event is dispatched for each found marker square. + + Then, a getNFTMarker event is dispatched for each found NFT marker. + + Finally, getMultiMarker is dispatched for every found multimarker, followed by getMultiMarkerSub events + dispatched for each of the markers in the multimarker. + + arController.addEventListener('markerNum', function(ev) { + console.log("Detected " + ev.data + " markers.") + }); + arController.addEventListener('getMarker', function(ev) { + console.log("Detected marker with ids:", ev.data.marker.id, ev.data.marker.idPatt, ev.data.marker.idMatrix); + console.log("Marker data", ev.data.marker); + console.log("Marker transform matrix:", [].join.call(ev.data.matrix, ', ')); + }); + arController.addEventListener('getNFTMarker', function(ev) { + // do stuff + }); + arController.addEventListener('getMultiMarker', function(ev) { + console.log("Detected multimarker with id:", ev.data.multiMarkerId); + }); + arController.addEventListener('getMultiMarkerSub', function(ev) { + console.log("Submarker for " + ev.data.multiMarkerId, ev.data.markerIndex, ev.data.marker); + }); + + arController.process(image); + + + If no image is given, defaults to this.image. + + If the debugSetup has been called, draws debug markers on the debug canvas. + + @param {ImageElement | VideoElement} image The image to process [optional]. + */ + ARController.prototype.process = function (image) { + var result = this.detectMarker(image); + if (result != 0) { + console.error("detectMarker error: " + result); + } + + // get markers + var markerNum = this.getMarkerNum(); + var k, o; + for (k in this.patternMarkers) { + o = this.patternMarkers[k] + o.inPrevious = o.inCurrent; + o.inCurrent = false; + } + for (k in this.barcodeMarkers) { + o = this.barcodeMarkers[k] + o.inPrevious = o.inCurrent; + o.inCurrent = false; + } + for (k in this.nftMarkers) { + o = this.nftMarkers[k] + o.inPrevious = o.inCurrent; + o.inCurrent = false; + } + + // detect fiducial (aka squared) markers + for (var i = 0; i < markerNum; i++) { + var markerInfo = this.getMarker(i); + + var markerType = artoolkit.UNKNOWN_MARKER; + var visible = this.trackPatternMarkerId(-1); + + if (markerInfo.idPatt > -1 && (markerInfo.id === markerInfo.idPatt || markerInfo.idMatrix === -1)) { + visible = this.trackPatternMarkerId(markerInfo.idPatt); + markerType = artoolkit.PATTERN_MARKER; + + if (markerInfo.dir !== markerInfo.dirPatt) { + this.setMarkerInfoDir(i, markerInfo.dirPatt); + } + + } else if (markerInfo.idMatrix > -1) { + visible = this.trackBarcodeMarkerId(markerInfo.idMatrix); + markerType = artoolkit.BARCODE_MARKER; + + if (markerInfo.dir !== markerInfo.dirMatrix) { + this.setMarkerInfoDir(i, markerInfo.dirMatrix); + } + } + + if (markerType !== artoolkit.UNKNOWN_MARKER && visible.inPrevious) { + this.getTransMatSquareCont(i, visible.markerWidth, visible.matrix, visible.matrix); + } else { + this.getTransMatSquare(i, visible.markerWidth, visible.matrix); + } + + visible.inCurrent = true; + this.transMatToGLMat(visible.matrix, this.transform_mat); + this.transformGL_RH = this.arglCameraViewRHf(this.transform_mat); + this.dispatchEvent({ + name: 'getMarker', + target: this, + data: { + index: i, + type: markerType, + marker: markerInfo, + matrix: this.transform_mat, + matrixGL_RH: this.transformGL_RH + } + }); + } + + // detect NFT markers + var nftMarkerCount = this.nftMarkerCount; + this.detectNFTMarker(); + + // in ms + var MARKER_LOST_TIME = 200; + + for (var i = 0; i < nftMarkerCount; i++) { + var nftMarkerInfo = this.getNFTMarker(i); + var markerType = artoolkit.NFT_MARKER; + + if (nftMarkerInfo.found) { + self.markerFound = i; + self.markerFoundTime = Date.now(); + + var visible = this.trackNFTMarkerId(i); + visible.matrix.set(nftMarkerInfo.pose); + visible.inCurrent = true; + this.transMatToGLMat(visible.matrix, this.transform_mat); + this.transformGL_RH = this.arglCameraViewRHf(this.transform_mat); + this.dispatchEvent({ + name: 'getNFTMarker', + target: this, + data: { + index: i, + type: markerType, + marker: nftMarkerInfo, + matrix: this.transform_mat, + matrixGL_RH: this.transformGL_RH + } + }); + } else if (self.markerFound === i) { + // for now this marker found/lost events handling is for one marker at a time + if ((Date.now() - self.markerFoundTime) <= MARKER_LOST_TIME) { + // not handling marker lost for less than specified time + return; + }; + + delete self.markerFound; + + this.dispatchEvent({ + name: 'lostNFTMarker', + target: this, + data: { + index: i, + type: markerType, + marker: nftMarkerInfo, + matrix: this.transform_mat, + matrixGL_RH: this.transformGL_RH + } + }); + } + } + + // detect multiple markers + var multiMarkerCount = this.getMultiMarkerCount(); + for (var i = 0; i < multiMarkerCount; i++) { + var subMarkerCount = this.getMultiMarkerPatternCount(i); + var visible = false; + + artoolkit.getTransMatMultiSquareRobust(this.id, i); + this.transMatToGLMat(this.marker_transform_mat, this.transform_mat); + this.transformGL_RH = this.arglCameraViewRHf(this.transform_mat); + + for (var j = 0; j < subMarkerCount; j++) { + var multiEachMarkerInfo = this.getMultiEachMarker(i, j); + if (multiEachMarkerInfo.visible >= 0) { + visible = true; + this.dispatchEvent({ + name: 'getMultiMarker', + target: this, + data: { + multiMarkerId: i, + matrix: this.transform_mat, + matrixGL_RH: this.transformGL_RH + } + }); + break; + } + } + if (visible) { + for (var j = 0; j < subMarkerCount; j++) { + var multiEachMarkerInfo = this.getMultiEachMarker(i, j); + this.transMatToGLMat(this.marker_transform_mat, this.transform_mat); + this.transformGL_RH = this.arglCameraViewRHf(this.transform_mat); + this.dispatchEvent({ + name: 'getMultiMarkerSub', + target: this, + data: { + multiMarkerId: i, + markerIndex: j, + marker: multiEachMarkerInfo, + matrix: this.transform_mat, + matrixGL_RH: this.transformGL_RH + } + }); + } + } + } + + if (this._bwpointer) { + this.debugDraw(); + } + }; + /** + Detects the NFT markers in the process() function, + with the given tracked id. + */ + ARController.prototype.detectNFTMarker = function () { + artoolkit.detectNFTMarker(this.id); + } + + /** + Adds the given pattern marker ID to the index of tracked IDs. + Sets the markerWidth for the pattern marker to markerWidth. + + Used by process() to implement continuous tracking, + keeping track of the marker's transformation matrix + and customizable marker widths. + + @param {number} id ID of the pattern marker to track. + @param {number} [markerWidth] The width of the marker to track. + @return {Object} The marker tracking object. + */ + ARController.prototype.trackPatternMarkerId = function (id, markerWidth) { + var obj = this.patternMarkers[id]; + if (!obj) { + this.patternMarkers[id] = obj = { + inPrevious: false, + inCurrent: false, + matrix: new Float64Array(12), + matrixGL_RH: new Float64Array(12), + markerWidth: markerWidth || this.defaultMarkerWidth + }; + } + if (markerWidth) { + obj.markerWidth = markerWidth; + } + return obj; + }; + + /** + Adds the given barcode marker ID to the index of tracked IDs. + Sets the markerWidth for the pattern marker to markerWidth. + + Used by process() to implement continuous tracking, + keeping track of the marker's transformation matrix + and customizable marker widths. + + @param {number} id ID of the barcode marker to track. + @param {number} [markerWidth] The width of the marker to track. + @return {Object} The marker tracking object. + */ + ARController.prototype.trackBarcodeMarkerId = function (id, markerWidth) { + var obj = this.barcodeMarkers[id]; + if (!obj) { + this.barcodeMarkers[id] = obj = { + inPrevious: false, + inCurrent: false, + matrix: new Float64Array(12), + matrixGL_RH: new Float64Array(12), + markerWidth: markerWidth || this.defaultMarkerWidth + }; + } + if (markerWidth) { + obj.markerWidth = markerWidth; + } + return obj; + }; + + /** + Adds the given NFT marker ID to the index of tracked IDs. + Sets the markerWidth for the pattern marker to markerWidth. + + Used by process() to implement continuous tracking, + keeping track of the marker's transformation matrix + and customizable marker widths. + + @param {number} id ID of the NFT marker to track. + @param {number} markerWidth The width of the marker to track. + @return {Object} The marker tracking object. + */ + ARController.prototype.trackNFTMarkerId = function (id, markerWidth) { + var obj = this.nftMarkers[id]; + if (!obj) { + this.nftMarkers[id] = obj = { + inPrevious: false, + inCurrent: false, + matrix: new Float64Array(12), + matrixGL_RH: new Float64Array(12), + markerWidth: markerWidth || this.defaultMarkerWidth + }; + } + if (markerWidth) { + obj.markerWidth = markerWidth; + } + return obj; + }; + + /** + Returns the number of multimarkers registered on this ARController. + + @return {number} Number of multimarkers registered. + */ + ARController.prototype.getMultiMarkerCount = function () { + return artoolkit.getMultiMarkerCount(this.id); + }; + + /** + Returns the number of markers in the multimarker registered for the given multiMarkerId. + + @param {number} multiMarkerId The id number of the multimarker to access. Given by loadMultiMarker. + @return {number} Number of markers in the multimarker. Negative value indicates failure to find the multimarker. + */ + ARController.prototype.getMultiMarkerPatternCount = function (multiMarkerId) { + return artoolkit.getMultiMarkerNum(this.id, multiMarkerId); + }; + + /** + Add an event listener on this ARController for the named event, calling the callback function + whenever that event is dispatched. + + Possible events are: + * getMarker - dispatched whenever process() finds a square marker + * getMultiMarker - dispatched whenever process() finds a visible registered multimarker + * getMultiMarkerSub - dispatched by process() for each marker in a visible multimarker + * load - dispatched when the ARController is ready to use (useful if passing in a camera URL in the constructor) + + @param {string} name Name of the event to listen to. + @param {function} callback Callback function to call when an event with the given name is dispatched. + */ + ARController.prototype.addEventListener = function (name, callback) { + if (!this.listeners[name]) { + this.listeners[name] = []; + } + this.listeners[name].push(callback); + }; + + /** + Remove an event listener from the named event. + + @param {string} name Name of the event to stop listening to. + @param {function} callback Callback function to remove from the listeners of the named event. + */ + ARController.prototype.removeEventListener = function (name, callback) { + if (this.listeners[name]) { + var index = this.listeners[name].indexOf(callback); + if (index > -1) { + this.listeners[name].splice(index, 1); + } + } + }; + + /** + Dispatches the given event to all registered listeners on event.name. + + @param {Object} event Event to dispatch. + */ + ARController.prototype.dispatchEvent = function (event) { + var listeners = this.listeners[event.name]; + if (listeners) { + for (var i = 0; i < listeners.length; i++) { + listeners[i].call(this, event); + } + } + }; + + /** + Sets up a debug canvas for the AR detection. Draws a red marker on top of each detected square in the image. + + The debug canvas is added to document.body. + */ + ARController.prototype.debugSetup = function () { + document.body.appendChild(this.canvas); + + var lumaCanvas = document.createElement('canvas'); + lumaCanvas.width = this.canvas.width; + lumaCanvas.height = this.canvas.height; + this._lumaCtx = lumaCanvas.getContext('2d'); + document.body.appendChild(lumaCanvas); + + this.setDebugMode(true); + this._bwpointer = this.getProcessingImage(); + }; + + /** + Loads a pattern marker from the given URL and calls the onSuccess callback with the UID of the marker. + + arController.loadMarker(markerURL, onSuccess, onError); + + @param {string} markerURL - The URL of the marker pattern file to load. + @param {function} onSuccess - The success callback. Called with the id of the loaded marker on a successful load. + @param {function} onError - The error callback. Called with the encountered error if the load fails. + */ + ARController.prototype.loadMarker = function (markerURL, onSuccess, onError) { + if (markerURL) { + artoolkit.addMarker(this.id, markerURL, onSuccess, onError); + } + else { + if (onError) { + onError("Marker URL needs to be defined and not equal empty string!"); + } + else { + console.error("Marker URL needs to be defined and not equal empty string!"); + } + } + }; + + /** + Loads an NFT marker from the given URL prefix and calls the onSuccess callback with the UID of the marker. + + arController.loadNFTMarker(markerURL, onSuccess, onError); + + @param {string} markerURL - The URL prefix of the NFT markers to load. + @param {function} onSuccess - The success callback. Called with the id of the loaded marker on a successful load. + @param {function} onError - The error callback. Called with the encountered error if the load fails. + */ + ARController.prototype.loadNFTMarker = function (markerURL, onSuccess, onError) { + var self = this; + if (markerURL) { + return artoolkit.addNFTMarker(this.id, markerURL, function (id) { + self.nftMarkerCount = id + 1; + onSuccess(id); + }, onError); + } else { + if (onError) { + onError("Marker URL needs to be defined and not equal empty string!"); + } + else { + console.error("Marker URL needs to be defined and not equal empty string!"); + } + } + + }; + + /** + Loads a multimarker from the given URL and calls the onSuccess callback with the UID of the marker. + + arController.loadMultiMarker(markerURL, onSuccess, onError); + + @param {string} markerURL - The URL of the multimarker pattern file to load. + @param {function} onSuccess - The success callback. Called with the id and the number of sub-markers of the loaded marker on a successful load. + @param {function} onError - The error callback. Called with the encountered error if the load fails. + */ + ARController.prototype.loadMultiMarker = function (markerURL, onSuccess, onError) { + return artoolkit.addMultiMarker(this.id, markerURL, onSuccess, onError); + }; + + /** + * Populates the provided float array with the current transformation for the specified marker. After + * a call to detectMarker, all marker information will be current. Marker transformations can then be + * checked. + * @param {number} markerUID The unique identifier (UID) of the marker to query + * @param {number} markerWidth The width of the marker + * @param {Float64Array} dst The float array to populate with the 3x4 marker transformation matrix + * @return {Float64Array} The dst array. + */ + ARController.prototype.getTransMatSquare = function (markerUID, markerWidth, dst) { + artoolkit.getTransMatSquare(this.id, markerUID, markerWidth); + dst.set(this.marker_transform_mat); + return dst; + }; + + /** + * Populates the provided float array with the current transformation for the specified marker, using + * previousMarkerTransform as the previously detected transformation. After + * a call to detectMarker, all marker information will be current. Marker transformations can then be + * checked. + * @param {number} markerUID The unique identifier (UID) of the marker to query + * @param {number} markerWidth The width of the marker + * @param {Float64Array} previousMarkerTransform The float array to use as the previous 3x4 marker transformation matrix + * @param {Float64Array} dst The float array to populate with the 3x4 marker transformation matrix + * @return {Float64Array} The dst array. + */ + ARController.prototype.getTransMatSquareCont = function (markerUID, markerWidth, previousMarkerTransform, dst) { + this.marker_transform_mat.set(previousMarkerTransform); + artoolkit.getTransMatSquareCont(this.id, markerUID, markerWidth); + dst.set(this.marker_transform_mat); + return dst; + }; + + /** + * Populates the provided float array with the current transformation for the specified multimarker. After + * a call to detectMarker, all marker information will be current. Marker transformations can then be + * checked. + * + * @param {number} markerUID The unique identifier (UID) of the marker to query + * @param {Float64Array} dst The float array to populate with the 3x4 marker transformation matrix + * @return {Float64Array} The dst array. + */ + ARController.prototype.getTransMatMultiSquare = function (markerUID, dst) { + artoolkit.getTransMatMultiSquare(this.id, markerUID); + dst.set(this.marker_transform_mat); + return dst; + }; + + /** + * Populates the provided float array with the current robust transformation for the specified multimarker. After + * a call to detectMarker, all marker information will be current. Marker transformations can then be + * checked. + * @param {number} markerUID The unique identifier (UID) of the marker to query + * @param {Float64Array} dst The float array to populate with the 3x4 marker transformation matrix + * @return {Float64Array} The dst array. + */ + ARController.prototype.getTransMatMultiSquareRobust = function (markerUID, dst) { + artoolkit.getTransMatMultiSquare(this.id, markerUID); + dst.set(this.marker_transform_mat); + return dst; + }; + + /** + Converts the given 3x4 marker transformation matrix in the 12-element transMat array + into a 4x4 WebGL matrix and writes the result into the 16-element glMat array. + + If scale parameter is given, scales the transform of the glMat by the scale parameter. + + @param {Float64Array} transMat The 3x4 marker transformation matrix. + @param {Float64Array} glMat The 4x4 GL transformation matrix. + @param {number} scale The scale for the transform. + */ + ARController.prototype.transMatToGLMat = function (transMat, glMat, scale) { + if (glMat == undefined) { + glMat = new Float64Array(16); + } + glMat[0 + 0 * 4] = transMat[0]; // R1C1 + glMat[0 + 1 * 4] = transMat[1]; // R1C2 + glMat[0 + 2 * 4] = transMat[2]; + glMat[0 + 3 * 4] = transMat[3]; + glMat[1 + 0 * 4] = transMat[4]; // R2 + glMat[1 + 1 * 4] = transMat[5]; + glMat[1 + 2 * 4] = transMat[6]; + glMat[1 + 3 * 4] = transMat[7]; + glMat[2 + 0 * 4] = transMat[8]; // R3 + glMat[2 + 1 * 4] = transMat[9]; + glMat[2 + 2 * 4] = transMat[10]; + glMat[2 + 3 * 4] = transMat[11]; + glMat[3 + 0 * 4] = 0.0; + glMat[3 + 1 * 4] = 0.0; + glMat[3 + 2 * 4] = 0.0; + glMat[3 + 3 * 4] = 1.0; + if (scale != undefined && scale !== 0.0) { + glMat[12] *= scale; + glMat[13] *= scale; + glMat[14] *= scale; + } + return glMat; + }; + + /** + Converts the given 4x4 openGL matrix in the 16-element transMat array + into a 4x4 OpenGL Right-Hand-View matrix and writes the result into the 16-element glMat array. + If scale parameter is given, scales the transform of the glMat by the scale parameter. + + @param {Float64Array} glMatrix The 4x4 marker transformation matrix. + @param {Float64Array} [glRhMatrix] The 4x4 GL right hand transformation matrix. + @param {number} [scale] The scale for the transform. + */ + ARController.prototype.arglCameraViewRHf = function (glMatrix, glRhMatrix, scale) { + var m_modelview; + if (glRhMatrix == undefined) + m_modelview = new Float64Array(16); + else + m_modelview = glRhMatrix; + + // x + m_modelview[0] = glMatrix[0]; + m_modelview[4] = glMatrix[4]; + m_modelview[8] = glMatrix[8]; + m_modelview[12] = glMatrix[12]; + // y + m_modelview[1] = -glMatrix[1]; + m_modelview[5] = -glMatrix[5]; + m_modelview[9] = -glMatrix[9]; + m_modelview[13] = -glMatrix[13]; + // z + m_modelview[2] = -glMatrix[2]; + m_modelview[6] = -glMatrix[6]; + m_modelview[10] = -glMatrix[10]; + m_modelview[14] = -glMatrix[14]; + + // 0 0 0 1 + m_modelview[3] = 0; + m_modelview[7] = 0; + m_modelview[11] = 0; + m_modelview[15] = 1; + + if (scale != undefined && scale !== 0.0) { + m_modelview[12] *= scale; + m_modelview[13] *= scale; + m_modelview[14] *= scale; + } + + glRhMatrix = m_modelview; + + return glRhMatrix; + } + /** + This is the core ARToolKit marker detection function. It calls through to a set of + internal functions to perform the key marker detection steps of binarization and + labelling, contour extraction, and template matching and/or matrix code extraction. + + Typically, the resulting set of detected markers is retrieved by calling arGetMarkerNum + to get the number of markers detected and arGetMarker to get an array of ARMarkerInfo + structures with information on each detected marker, followed by a step in which + detected markers are possibly examined for some measure of goodness of match (e.g. by + examining the match confidence value) and pose extraction. + + @param {image} Image to be processed to detect markers. + @return {number} 0 if the function proceeded without error, or a value less than 0 in case of error. + A result of 0 does not however, imply any markers were detected. + */ + ARController.prototype.detectMarker = function (image) { + if (this._copyImageToHeap(image)) { + return artoolkit.detectMarker(this.id); + } + return -99; + }; + + /** + Get the number of markers detected in a video frame. + + @return {number} The number of detected markers in the most recent image passed to arDetectMarker. + Note that this is actually a count, not an index. A better name for this function would be + arGetDetectedMarkerCount, but the current name lives on for historical reasons. + */ + ARController.prototype.getMarkerNum = function () { + return artoolkit.getMarkerNum(this.id); + }; + + /** + Get the marker info struct for the given marker index in detected markers. + + Call this.detectMarker first, then use this.getMarkerNum to get the detected marker count. + + The returned object is the global artoolkit.markerInfo object and will be overwritten + by subsequent calls. If you need to hang on to it, create a copy using this.cloneMarkerInfo(); + + Returns undefined if no marker was found. + + A markerIndex of -1 is used to access the global custom marker. + + The fields of the markerInfo struct are: + @field area Area in pixels of the largest connected region, comprising the marker border and regions connected to it. Note that this is + not the same as the actual onscreen area inside the marker border. + @field id If pattern detection mode is either pattern mode OR matrix but not both, will be marker ID (>= 0) if marker is valid, or -1 if invalid. + @field idPatt If pattern detection mode includes a pattern mode, will be marker ID (>= 0) if marker is valid, or -1 if invalid. + @field idMatrix If pattern detection mode includes a matrix mode, will be marker ID (>= 0) if marker is valid, or -1 if invalid. + @field dir If pattern detection mode is either pattern mode OR matrix but not both, and id != -1, will be marker direction (range 0 to 3, inclusive). + @field dirPatt If pattern detection mode includes a pattern mode, and id != -1, will be marker direction (range 0 to 3, inclusive). + @field dirMatrix If pattern detection mode includes a matrix mode, and id != -1, will be marker direction (range 0 to 3, inclusive). + @field cf If pattern detection mode is either pattern mode OR matrix but not both, will be marker matching confidence (range 0.0 to 1.0 inclusive) if marker is valid, or -1.0 if marker is invalid. + @field cfPatt If pattern detection mode includes a pattern mode, will be marker matching confidence (range 0.0 to 1.0 inclusive) if marker is valid, or -1.0 if marker is invalid. + @field cfMatrix If pattern detection mode includes a matrix mode, will be marker matching confidence (range 0.0 to 1.0 inclusive) if marker is valid, or -1.0 if marker is invalid. + @field pos 2D position (in camera image coordinates, origin at top-left) of the centre of the marker. + @field line Line equations for the 4 sides of the marker. + @field vertex 2D positions (in camera image coordinates, origin at top-left) of the corners of the marker. vertex[(4 - dir)%4][] is the top-left corner of the marker. Other vertices proceed clockwise from this. These are idealised coordinates (i.e. the onscreen position aligns correctly with the undistorted camera image.) + + + @param {number} markerIndex The index of the marker to query. + @returns {Object} The markerInfo struct. + */ + ARController.prototype.getMarker = function (markerIndex) { + if (0 === artoolkit.getMarker(this.id, markerIndex)) { + return artoolkit.markerInfo; + } + }; + /** + Get the NFT marker info struct for the given NFT marker index in detected markers. + The returned object is the global artoolkit.NFTMarkerInfo object and will be overwritten + by subsequent calls. + + Returns undefined if no marker was found. + + A markerIndex of -1 is used to access the global custom marker. + + @param {number} markerIndex The index of the NFT marker to query. + @returns {Object} The NFTmarkerInfo struct. + */ + ARController.prototype.getNFTMarker = function (markerIndex) { + if (0 === artoolkit.getNFTMarker(this.id, markerIndex)) { + return artoolkit.NFTMarkerInfo; + } + }; + + /** + Set marker vertices to the given vertexData[4][2] array. + + Sets the marker pos to the center of the vertices. + + Useful for building custom markers for getTransMatSquare. + + A markerIndex of -1 is used to access the global custom marker. + + @param {number} markerIndex The index of the marker to edit. + @param {*} vertexData + */ + ARController.prototype.setMarkerInfoVertex = function (markerIndex, vertexData) { + for (var i = 0; i < vertexData.length; i++) { + this.marker_transform_mat[i * 2 + 0] = vertexData[i][0]; + this.marker_transform_mat[i * 2 + 1] = vertexData[i][1]; + } + return artoolkit.setMarkerInfoVertex(this.id, markerIndex); + }; + + /** + Makes a deep copy of the given marker info. + + @param {Object} markerInfo The marker info object to copy. + @return {Object} The new copy of the marker info. + */ + ARController.prototype.cloneMarkerInfo = function (markerInfo) { + return JSON.parse(JSON.stringify(markerInfo)); + }; + + /** + Get the marker info struct for the given marker index in detected markers. + + Call this.detectMarker first, then use this.getMarkerNum to get the detected marker count. + + The returned object is the global artoolkit.markerInfo object and will be overwritten + by subsequent calls. If you need to hang on to it, create a copy using this.cloneMarkerInfo(); + + Returns undefined if no marker was found. + + @field {number} pattId The index of the marker. + @field {number} pattType The type of the marker. Either AR_MULTI_PATTERN_TYPE_TEMPLATE or AR_MULTI_PATTERN_TYPE_MATRIX. + @field {number} visible 0 or larger if the marker is visible + @field {number} width The width of the marker. + + @param {number} multiMarkerId The multimarker to query. + @param {number} markerIndex The index of the marker to query. + @returns {Object} The markerInfo struct. + */ + ARController.prototype.getMultiEachMarker = function (multiMarkerId, markerIndex) { + if (0 === artoolkit.getMultiEachMarker(this.id, multiMarkerId, markerIndex)) { + return artoolkit.multiEachMarkerInfo; + } + }; + + + /** + Returns the 16-element WebGL transformation matrix used by ARController.process to + pass marker WebGL matrices to event listeners. + + Unique to each ARController. + + @return {Float64Array} The 16-element WebGL transformation matrix used by the ARController. + */ + ARController.prototype.getTransformationMatrix = function () { + return this.transform_mat; + }; + + /** + * Returns the projection matrix computed from camera parameters for the ARController. + * + * @return {Float64Array} The 16-element WebGL camera matrix for the ARController camera parameters. + */ + ARController.prototype.getCameraMatrix = function () { + return this.camera_mat; + }; + + /** + Returns the shared ARToolKit 3x4 marker transformation matrix, used for passing and receiving + marker transforms to/from the Emscripten side. + + @return {Float64Array} The 12-element 3x4 row-major marker transformation matrix used by ARToolKit. + */ + ARController.prototype.getMarkerTransformationMatrix = function () { + return this.marker_transform_mat; + }; + + + /* Setter / Getter Proxies */ + + /** + * Enables or disables debug mode in the tracker. When enabled, a black and white debug + * image is generated during marker detection. The debug image is useful for visualising + * the binarization process and choosing a threshold value. + * @param {boolean} mode true to enable debug mode, false to disable debug mode + * @see getDebugMode() + */ + ARController.prototype.setDebugMode = function (mode) { + return artoolkit.setDebugMode(this.id, mode); + }; + + /** + * Returns whether debug mode is currently enabled. + * @return {boolean} true when debug mode is enabled, false when debug mode is disabled + * @see setDebugMode() + */ + ARController.prototype.getDebugMode = function () { + return artoolkit.getDebugMode(this.id); + }; + + /** + Returns the Emscripten HEAP offset to the debug processing image used by ARToolKit. + + @return {number} HEAP offset to the debug processing image. + */ + ARController.prototype.getProcessingImage = function () { + return artoolkit.getProcessingImage(this.id); + }; + + /** + Sets the logging level to use by ARToolKit. + + @param {number} mode type for the log level. + */ + ARController.prototype.setLogLevel = function (mode) { + return artoolkit.setLogLevel(mode); + }; + + /** + Gets the logging level used by ARToolKit. + @return {number} return the log level in use. + */ + ARController.prototype.getLogLevel = function () { + return artoolkit.getLogLevel(); + }; + + /** + Sets the dir (direction) of the marker. Direction that tells about the rotation + about the marker (possible values are 0, 1, 2 or 3). + This parameter makes it possible to tell about the line order of the detected marker + (so which line is the first one) and so find the first vertex. + This is important to compute the transformation matrix in arGetTransMat(). + @param {number} markerIndex the index of the marker + @param {number} dir direction of the marker (possible values are 0, 1, 2 or 3). + @return {number} 0 (void) + */ + ARController.prototype.setMarkerInfoDir = function (markerIndex, dir) { + return artoolkit.setMarkerInfoDir(this.id, markerIndex, dir); + }; + + /** + Sets the value of the near plane of the camera. + @param {number} value the value of the near plane + @return {number} 0 (void) + */ + ARController.prototype.setProjectionNearPlane = function (value) { + return artoolkit.setProjectionNearPlane(this.id, value); + }; + + /** + Gets the value of the near plane of the camera with the give id. + @return {number} the value of the near plane. + */ + ARController.prototype.getProjectionNearPlane = function () { + return artoolkit.getProjectionNearPlane(this.id); + }; + + /** + Sets the value of the far plane of the camera. + @param {number} value the value of the far plane + @return {number} 0 (void) + */ + ARController.prototype.setProjectionFarPlane = function (value) { + return artoolkit.setProjectionFarPlane(this.id, value); + }; + + /** + Gets the value of the far plane of the camera with the give id. + @return {number} the value of the far plane. + */ + ARController.prototype.getProjectionFarPlane = function () { + return artoolkit.getProjectionFarPlane(this.id); + }; + + + /** + Set the labeling threshold mode (auto/manual). + + @param {number} mode An integer specifying the mode. One of: + AR_LABELING_THRESH_MODE_MANUAL, + AR_LABELING_THRESH_MODE_AUTO_MEDIAN, + AR_LABELING_THRESH_MODE_AUTO_OTSU, + AR_LABELING_THRESH_MODE_AUTO_ADAPTIVE, + AR_LABELING_THRESH_MODE_AUTO_BRACKETING + */ + ARController.prototype.setThresholdMode = function (mode) { + return artoolkit.setThresholdMode(this.id, mode); + }; + + /** + * Gets the current threshold mode used for image binarization. + * @return {number} The current threshold mode + * @see getVideoThresholdMode() + */ + ARController.prototype.getThresholdMode = function () { + return artoolkit.getThresholdMode(this.id); + }; + + /** + Set the labeling threshhold. + + This function forces sets the threshold value. + The default value is AR_DEFAULT_LABELING_THRESH which is 100. + + The current threshold mode is not affected by this call. + Typically, this function is used when labeling threshold mode + is AR_LABELING_THRESH_MODE_MANUAL. + + The threshold value is not relevant if threshold mode is + AR_LABELING_THRESH_MODE_AUTO_ADAPTIVE. + + Background: The labeling threshold is the value which + the AR library uses to differentiate between black and white + portions of an ARToolKit marker. Since the actual brightness, + contrast, and gamma of incoming images can vary signficantly + between different cameras and lighting conditions, this + value typically needs to be adjusted dynamically to a + suitable midpoint between the observed values for black + and white portions of the markers in the image. + + @param {number} threshold An integer in the range [0,255] (inclusive). + */ + ARController.prototype.setThreshold = function (threshold) { + return artoolkit.setThreshold(this.id, threshold); + }; + + /** + Get the current labeling threshold. + + This function queries the current labeling threshold. For, + AR_LABELING_THRESH_MODE_AUTO_MEDIAN, AR_LABELING_THRESH_MODE_AUTO_OTSU, + and AR_LABELING_THRESH_MODE_AUTO_BRACKETING + the threshold value is only valid until the next auto-update. + + The current threshold mode is not affected by this call. + + The threshold value is not relevant if threshold mode is + AR_LABELING_THRESH_MODE_AUTO_ADAPTIVE. + + @return {number} The current threshold value. + */ + ARController.prototype.getThreshold = function () { + return artoolkit.getThreshold(this.id); + }; + + + /** + Set the pattern detection mode + + The pattern detection determines the method by which ARToolKit + matches detected squares in the video image to marker templates + and/or IDs. ARToolKit v4.x can match against pictorial "template" markers, + whose pattern files are created with the mk_patt utility, in either colour + or mono, and additionally can match against 2D-barcode-type "matrix" + markers, which have an embedded marker ID. Two different two-pass modes + are also available, in which a matrix-detection pass is made first, + followed by a template-matching pass. + + @param {number} mode + Options for this field are: + AR_TEMPLATE_MATCHING_COLOR + AR_TEMPLATE_MATCHING_MONO + AR_MATRIX_CODE_DETECTION + AR_TEMPLATE_MATCHING_COLOR_AND_MATRIX + AR_TEMPLATE_MATCHING_MONO_AND_MATRIX + The default mode is AR_TEMPLATE_MATCHING_COLOR. + */ + ARController.prototype.setPatternDetectionMode = function (mode) { + return artoolkit.setPatternDetectionMode(this.id, mode); + }; + + /** + Returns the current pattern detection mode. + + @return {number} The current pattern detection mode. + */ + ARController.prototype.getPatternDetectionMode = function () { + return artoolkit.getPatternDetectionMode(this.id); + }; + + /** + Set the size and ECC algorithm to be used for matrix code (2D barcode) marker detection. + + When matrix-code (2D barcode) marker detection is enabled (see arSetPatternDetectionMode) + then the size of the barcode pattern and the type of error checking and correction (ECC) + with which the markers were produced can be set via this function. + + This setting is global to a given ARHandle; It is not possible to have two different matrix + code types in use at once. + + @param type The type of matrix code (2D barcode) in use. Options include: + AR_MATRIX_CODE_3x3 + AR_MATRIX_CODE_3x3_HAMMING63 + AR_MATRIX_CODE_3x3_PARITY65 + AR_MATRIX_CODE_4x4 + AR_MATRIX_CODE_4x4_BCH_13_9_3 + AR_MATRIX_CODE_4x4_BCH_13_5_5 + The default mode is AR_MATRIX_CODE_3x3. + */ + ARController.prototype.setMatrixCodeType = function(type) { + return artoolkit.setMatrixCodeType(this.id, type); + }; + + /** + Returns the current matrix code (2D barcode) marker detection type. + + @return {number} The current matrix code type. + */ + ARController.prototype.getMatrixCodeType = function () { + return artoolkit.getMatrixCodeType(this.id); + }; + + /** + Select between detection of black markers and white markers. + + ARToolKit's labelling algorithm can work with both black-bordered + markers on a white background (AR_LABELING_BLACK_REGION) or + white-bordered markers on a black background (AR_LABELING_WHITE_REGION). + This function allows you to specify the type of markers to look for. + Note that this does not affect the pattern-detection algorith + which works on the interior of the marker. + + @param {number} mode + Options for this field are: + AR_LABELING_WHITE_REGION + AR_LABELING_BLACK_REGION + The default mode is AR_LABELING_BLACK_REGION. + */ + ARController.prototype.setLabelingMode = function(mode) { + return artoolkit.setLabelingMode(this.id, mode); + }; + + /** + Enquire whether detection is looking for black markers or white markers. + + See discussion for setLabelingMode. + + @result {number} The current labeling mode. + */ + ARController.prototype.getLabelingMode = function () { + return artoolkit.getLabelingMode(this.id); + }; + + /** + Set the width/height of the marker pattern space, as a proportion of marker width/height. + + @param {number} pattRatio The the width/height of the marker pattern space, as a proportion of marker + width/height. To set the default, pass AR_PATT_RATIO. + If compatibility with ARToolKit verions 1.0 through 4.4 is required, this value + must be 0.5. + */ + ARController.prototype.setPattRatio = function(pattRatio) { + return artoolkit.setPattRatio(this.id, pattRatio); + }; + + /** + Returns the current ratio of the marker pattern to the total marker size. + + @return {number} The current pattern ratio. + */ + ARController.prototype.getPattRatio = function () { + return artoolkit.getPattRatio(this.id); + }; + + /** + Set the image processing mode. + + When the image processing mode is AR_IMAGE_PROC_FRAME_IMAGE, + ARToolKit processes all pixels in each incoming image + to locate markers. When the mode is AR_IMAGE_PROC_FIELD_IMAGE, + ARToolKit processes pixels in only every second pixel row and + column. This is useful both for handling images from interlaced + video sources (where alternate lines are assembled from alternate + fields and thus have one field time-difference, resulting in a + "comb" effect) such as Digital Video cameras. + The effective reduction by 75% in the pixels processed also + has utility in accelerating tracking by effectively reducing + the image size to one quarter size, at the cost of pose accuraccy. + + @param {number} mode + Options for this field are: + AR_IMAGE_PROC_FRAME_IMAGE + AR_IMAGE_PROC_FIELD_IMAGE + The default mode is AR_IMAGE_PROC_FRAME_IMAGE. + */ + ARController.prototype.setImageProcMode = function(mode) { + return artoolkit.setImageProcMode(this.id, mode); + }; + + /** + Get the image processing mode. + + See arSetImageProcMode() for a complete description. + + @return {number} The current image processing mode. + */ + ARController.prototype.getImageProcMode = function () { + return artoolkit.getImageProcMode(this.id); + }; + + + /** + Draw the black and white image and debug markers to the ARController canvas. + + See setDebugMode. + @return 0 (void) + */ + ARController.prototype.debugDraw = function () { + var debugBuffer = new Uint8ClampedArray(Module.HEAPU8.buffer, this._bwpointer, this.framesize); + var id = new ImageData(new Uint8ClampedArray(this.canvas.width * this.canvas.height * 4), this.canvas.width, this.canvas.height); + for (var i = 0, j = 0; i < debugBuffer.length; i++ , j += 4) { + var v = debugBuffer[i]; + id.data[j + 0] = v; + id.data[j + 1] = v; + id.data[j + 2] = v; + id.data[j + 3] = 255; + } + this.ctx.putImageData(id, 0, 0) + + //Debug Luma + var lumaBuffer = new Uint8ClampedArray(this.framesize); + lumaBuffer.set(this.videoLuma); + var lumaImageData = new ImageData(lumaBuffer, this.videoWidth, this.videoHeight); + this._lumaCtx.putImageData(lumaImageData, 0, 0); + + var marker_num = this.getMarkerNum(); + for (var i = 0; i < marker_num; i++) { + this._debugMarker(this.getMarker(i)); + } + if (this.transform_mat && this.transformGL_RH) { + console.log("GL 4x4 Matrix: " + this.transform_mat); + console.log("GL_RH 4x4 Mat: " + this.transformGL_RH); + } + }; + + // private methods + + /** + This function init the ArController with the necessary parmeters and variables. + Don't call directly this but instead instantiate a new ArController. + @return {number} 0 (void) + */ + ARController.prototype._initialize = function () { + this.id = artoolkit.setup(this.width, this.height, this.cameraParam.id); + + this._initNFT(); + + var params = artoolkit.frameMalloc; + this.framepointer = params.framepointer; + this.framesize = params.framesize; + this.videoLumaPointer = params.videoLumaPointer; + + this.dataHeap = new Uint8Array(Module.HEAPU8.buffer, this.framepointer, this.framesize); + this.videoLuma = new Uint8Array(Module.HEAPU8.buffer, this.videoLumaPointer, this.framesize / 4); + + this.camera_mat = new Float64Array(Module.HEAPU8.buffer, params.camera, 16); + this.marker_transform_mat = new Float64Array(Module.HEAPU8.buffer, params.transform, 12); + + this.setProjectionNearPlane(0.1) + this.setProjectionFarPlane(1000); + + setTimeout(function () { + if (this.onload) { + this.onload(); + } + this.dispatchEvent({ + name: 'load', + target: this + }); + }.bind(this), 1); + }; + + /** + Init the necessary kpm handle for NFT and the settings for the CPU. + @return {number} 0 (void) + */ + ARController.prototype._initNFT = function () { + artoolkit.setupAR2(this.id); + }; + + /** + Copy the Image data to the HEAP for the debugSetup function. + @return {number} 0 (void) + */ + ARController.prototype._copyImageToHeap = function (image) { + if (!image) { + image = this.image; + } + if (image.data) { + + var imageData = image; + + } else { + this.ctx.save(); + + if (this.orientation === 'portrait') { + this.ctx.translate(this.canvas.width, 0); + this.ctx.rotate(Math.PI / 2); + this.ctx.drawImage(image, 0, 0, this.canvas.height, this.canvas.width); // draw video + } else { + this.ctx.drawImage(image, 0, 0, this.canvas.width, this.canvas.height); // draw video + } + + this.ctx.restore(); + + var imageData = this.ctx.getImageData(0, 0, this.canvas.width, this.canvas.height); + } + var data = imageData.data; // this is of type Uint8ClampedArray: The Uint8ClampedArray typed array represents an array of 8-bit unsigned integers clamped to 0-255 (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8ClampedArray) + + //Here we have access to the unmodified video image. We now need to add the videoLuma chanel to be able to serve the underlying ARTK API + if (this.videoLuma) { + var q = 0; + //Create luma from video data assuming Pixelformat AR_PIXEL_FORMAT_RGBA (ARToolKitJS.cpp L: 43) + + for (var p = 0; p < this.videoSize; p++) { + var r = data[q + 0], g = data[q + 1], b = data[q + 2]; + // videoLuma[p] = (r+r+b+g+g+g)/6; // https://stackoverflow.com/a/596241/5843642 + this.videoLuma[p] = (r + r + r + b + g + g + g + g) >> 3; + q += 4; + } + } + + if (this.dataHeap) { + this.dataHeap.set(data); + return true; + } + return false; + }; + + /** + Draw a square black border around the detect marker with + red circle in the center. Used for debugging porpouse in debugSetup. + @return {number} 0 (void) + */ + ARController.prototype._debugMarker = function (marker) { + var vertex, pos; + vertex = marker.vertex; + var ctx = this.ctx; + ctx.strokeStyle = 'red'; + + ctx.beginPath() + ctx.moveTo(vertex[0][0], vertex[0][1]) + ctx.lineTo(vertex[1][0], vertex[1][1]) + ctx.stroke(); + + ctx.beginPath() + ctx.moveTo(vertex[2][0], vertex[2][1]) + ctx.lineTo(vertex[3][0], vertex[3][1]) + ctx.stroke() + + ctx.strokeStyle = 'green'; + ctx.beginPath() + ctx.lineTo(vertex[1][0], vertex[1][1]) + ctx.lineTo(vertex[2][0], vertex[2][1]) + ctx.stroke(); + + ctx.beginPath() + ctx.moveTo(vertex[3][0], vertex[3][1]) + ctx.lineTo(vertex[0][0], vertex[0][1]) + ctx.stroke(); + + pos = marker.pos + ctx.beginPath() + ctx.arc(pos[0], pos[1], 8, 0, Math.PI * 2) + ctx.fillStyle = 'red' + ctx.fill() + }; + + + // static + + /** + ARController.getUserMedia gets a device camera video feed and calls the given onSuccess callback with it. + + Tries to start playing the video. Playing the video can fail on Chrome for Android, + so ARController.getUserMedia adds user input event listeners to the window + that try to start playing the video. On success, the event listeners are removed. + + To use ARController.getUserMedia, call it with an object with the onSuccess attribute set to a callback function. + + ARController.getUserMedia({ + onSuccess: function(video) { + console.log("Got video", video); + } + }); + + The configuration object supports the following attributes: + + { + onSuccess : function(video), + onError : function(error), + + width : number | {min: number, max: number}, + height : number | {min: number, max: number}, + + facingMode : 'environment' | 'user' | 'left' | 'right' | { exact: 'environment' | ... } + deviceId : string | {exact: 'string'} + } + + See https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia for more information about the + width, height and facingMode attributes. + + @param {object} configuration The configuration object. + @return {HTMLVideoElement} Returns the created video element. + */ + ARController.getUserMedia = function (configuration) { + var facing = configuration.facingMode || 'environment'; + + var onSuccess = configuration.onSuccess; + var onError = configuration.onError || function (err) { console.error("ARController.getUserMedia", err); }; + + var video = document.createElement('video'); + + var readyToPlay = false; + var eventNames = [ + 'touchstart', 'touchend', 'touchmove', 'touchcancel', + 'click', 'mousedown', 'mouseup', 'mousemove', + 'keydown', 'keyup', 'keypress', 'scroll' + ]; + var play = function () { + if (readyToPlay) { + video.play().then(function () { + onSuccess(video); + }).catch(function (error) { + onError(error); + ARController._teardownVideo(video); + }); + if (!video.paused) { + eventNames.forEach(function (eventName) { + window.removeEventListener(eventName, play, true); + }); + } + } + }; + eventNames.forEach(function (eventName) { + window.addEventListener(eventName, play, true); + }); + + var success = function (stream) { + //DEPRECATED: don't use window.URL.createObjectURL(stream) any longer it might be removed soon. Only there to support old browsers src: https://developer.mozilla.org/en-US/docs/Web/API/URL/createObjectURL + if (window.URL.createObjectURL) { + //Need to add try-catch because iOS 11 fails to createObjectURL from stream. As this is deprecated we should remove this soon + try { + video.srcObject = stream; // DEPRECATED: this feature is in the process to being deprecated + } + catch (ex) { + // Nothing todo, the purpose of this is to remove an error from the console on iOS 11 + } + } + video.srcObject = stream; // This should be used instead. Which has the benefit to give us access to the stream object + readyToPlay = true; + video.autoplay = true; + video.playsInline = true; + play(); // Try playing without user input, should work on non-Android Chrome + }; + + var constraints = {}; + var mediaDevicesConstraints = {}; + if (configuration.width) { + mediaDevicesConstraints.width = configuration.width; + if (typeof configuration.width === 'object') { + if (configuration.width.max) { + constraints.maxWidth = configuration.width.max; + } + if (configuration.width.min) { + constraints.minWidth = configuration.width.min; + } + } else { + constraints.maxWidth = configuration.width; + } + } + + if (configuration.height) { + mediaDevicesConstraints.height = configuration.height; + if (typeof configuration.height === 'object') { + if (configuration.height.max) { + constraints.maxHeight = configuration.height.max; + } + if (configuration.height.min) { + constraints.minHeight = configuration.height.min; + } + } else { + constraints.maxHeight = configuration.height; + } + } + + mediaDevicesConstraints.facingMode = facing; + mediaDevicesConstraints.deviceId = configuration.deviceId; + + // @ts-ignore: Ignored because it is needed to support older browsers + navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia; + var hdConstraints = { + audio: false, + video: constraints + }; + + + // @ts-ignore: ignored because it is needed to support older browsers + if (navigator.mediaDevices || window.MediaStreamTrack.getSources) { + if (navigator.mediaDevices) { + navigator.mediaDevices.getUserMedia({ + audio: false, + video: mediaDevicesConstraints + }).then(success, onError); + } else { + // This function of accessing the media device is deprecated and outdated and shouldn't be used anymore. + // @ts-ignore: ignored because it is needed to support older browsers + window.MediaStreamTrack.getSources(function (sources) { + var facingDir = mediaDevicesConstraints.facingMode; + if (facing && facing.exact) { + facingDir = facing.exact; + } + for (var i = 0; i < sources.length; i++) { + if (sources[i].kind === 'video' && sources[i].facing === facingDir) { + hdConstraints.video.mandatory.sourceId = sources[i].id; + break; + } + } + if (facing && facing.exact && !hdConstraints.video.mandatory.sourceId) { + onError('Failed to get camera facing the wanted direction'); + } else { + if (navigator.getUserMedia) { + navigator.getUserMedia(hdConstraints, success, onError); + } else { + onError('navigator.getUserMedia is not supported on your browser'); + } + } + }); + } + } else { + if (navigator.getUserMedia) { + navigator.getUserMedia(hdConstraints, success, onError); + } else { + onError('navigator.getUserMedia is not supported on your browser'); + } + } + + return video; + }; + /** + ARController.getUserMediaARController gets an ARController for the device camera video feed and calls the + given onSuccess callback with it. + + To use ARController.getUserMediaARController, call it with an object with the cameraParam attribute set to + a camera parameter file URL, and the onSuccess attribute set to a callback function. + + ARController.getUserMediaARController({ + cameraParam: 'Data/camera_para.dat', + onSuccess: function(arController, arCameraParam) { + console.log("Got ARController", arController); + console.log("Got ARCameraParam", arCameraParam); + console.log("Got video", arController.image); + } + }); + + The configuration object supports the following attributes: + + { + onSuccess : function(ARController, ARCameraParam), + onError : function(error), + + cameraParam: url, // URL to camera parameters definition file. + maxARVideoSize: number, // Maximum max(width, height) for the AR processing canvas. + + width : number | {min: number, ideal: number, max: number}, + height : number | {min: number, ideal: number, max: number}, + + facingMode : 'environment' | 'user' | 'left' | 'right' | { exact: 'environment' | ... } + } + + See https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia for more information about the + width, height and facingMode attributes. + + The orientation attribute of the returned ARController is set to "portrait" if the userMedia video has larger + height than width. Otherwise it's set to "landscape". The videoWidth and videoHeight attributes of the arController + are set to be always in landscape configuration so that width is larger than height. + + @param {object} configuration The configuration object. + @return {HTMLVideoElement} Returns the created video element. + */ + ARController.getUserMediaARController = function (configuration) { + var obj = {}; + for (var i in configuration) { + obj[i] = configuration[i]; + } + var onSuccess = configuration.onSuccess; + var cameraParamURL = configuration.cameraParam; + var onError = configuration.onError || function (err) { + console.error("ARController: Failed to load ARCameraParam", err); + } + + obj.onSuccess = function () { + new ARCameraParam(cameraParamURL, function () { + var arCameraParam = this; + var maxSize = configuration.maxARVideoSize || Math.max(video.videoWidth, video.videoHeight); + var f = maxSize / Math.max(video.videoWidth, video.videoHeight); + var w = f * video.videoWidth; + var h = f * video.videoHeight; + if (video.videoWidth < video.videoHeight) { + var tmp = w; + w = h; + h = tmp; + } + var arController = new ARController(w, h, arCameraParam); + arController.image = video; + if (video.videoWidth < video.videoHeight) { + arController.orientation = 'portrait'; + arController.videoWidth = video.videoHeight; + arController.videoHeight = video.videoWidth; + } else { + arController.orientation = 'landscape'; + arController.videoWidth = video.videoWidth; + arController.videoHeight = video.videoHeight; + } + onSuccess(arController, arCameraParam); + }, function (err) { + ARController._teardownVideo(video); + onError(err); + }); + }; + + var video = ARController.getUserMedia(obj); + return video; + }; + /** + * Properly end the video stream + * @param {HTMLVideoElement} video The video to stop + */ + ARController._teardownVideo = function (video) { + video.srcObject.getVideoTracks()[0].stop(); + video.srcObject = null; + video.src = null; + } + + /** + ARCameraParam is used for loading AR camera parameters for use with ARController. + Use by passing in an URL and a callback function. + + var camera = new ARCameraParam('Data/camera_para.dat', function() { + console.log('loaded camera', this.id); + }, + function(err) { + console.log('failed to load camera', err); + }); + + @exports ARCameraParam + @constructor + + @param {string} src URL to load camera parameters from. + @param {Function} onload Onload callback to be called on successful parameter loading. + @param {Function} onerror Error callback to called when things don't work out. + */ + var ARCameraParam = function (src, onload, onerror) { + this.id = -1; + this._src = ''; + this.complete = false; + if (!onload) { + this.onload = function () { console.log('Successfully loaded'); }; + console.warn("onload callback should be defined"); + } else { + this.onload = onload; + } + if (!onerror) { + this.onerror = function (err) { console.error("Error: " + err) }; + console.warn("onerror callback should be defined"); + } else { + this.onerror = onerror; + } + + if (src) { + this.load(src); + } + else { + console.warn("No camera parameter file defined! It should be defined in constructor or in ARCameraParam.load(url)"); + } + }; + + + /** + Loads the given URL as camera parameters definition file into this ARCameraParam. + + Can only be called on an unloaded ARCameraParam instance. + + @param {string} src URL to load. + */ + ARCameraParam.prototype.load = function (src) { + if (this._src !== '') { + throw ("ARCameraParam: Trying to load camera parameters twice.") + } + this._src = src; + if (src) { + artoolkit.loadCamera(src, function (id) { + this.id = id; + this.complete = true; + this.onload(); + }.bind(this), function (err) { + this.onerror(err); + }.bind(this)); + } + }; + + Object.defineProperty(ARCameraParam.prototype, 'src', { + set: function (src) { + this.load(src); + }, + get: function () { + return this._src; + } + }); + + /** + Destroys the camera parameter and frees associated Emscripten resources. + + */ + ARCameraParam.prototype.dispose = function () { + if (this.id !== -1) { + artoolkit.deleteCamera(this.id); + } + this.id = -1; + this._src = ''; + this.complete = false; + }; + + + + // ARToolKit exported JS API + // + var artoolkit = { + + UNKNOWN_MARKER: -1, + PATTERN_MARKER: 0, + BARCODE_MARKER: 1, + NFT_MARKER: 2, + + loadCamera: loadCamera, + + addMarker: addMarker, + addMultiMarker: addMultiMarker, + addNFTMarker: addNFTMarker + + }; + + var FUNCTIONS = [ + 'setup', + 'teardown', + + 'setupAR2', + + 'setLogLevel', + 'getLogLevel', + + 'setDebugMode', + 'getDebugMode', + + 'getProcessingImage', + + 'setMarkerInfoDir', + 'setMarkerInfoVertex', + + 'getTransMatSquare', + 'getTransMatSquareCont', + + 'getTransMatMultiSquare', + 'getTransMatMultiSquareRobust', + + 'getMultiMarkerNum', + 'getMultiMarkerCount', + + 'detectMarker', + 'getMarkerNum', + + 'detectNFTMarker', + + 'getNFTMarker', + 'getMarker', + 'getMultiEachMarker', + + 'setProjectionNearPlane', + 'getProjectionNearPlane', + + 'setProjectionFarPlane', + 'getProjectionFarPlane', + + 'setThresholdMode', + 'getThresholdMode', + + 'setThreshold', + 'getThreshold', + + 'setPatternDetectionMode', + 'getPatternDetectionMode', + + 'setMatrixCodeType', + 'getMatrixCodeType', + + 'setLabelingMode', + 'getLabelingMode', + + 'setPattRatio', + 'getPattRatio', + + 'setImageProcMode', + 'getImageProcMode', + ]; + + function runWhenLoaded() { + FUNCTIONS.forEach(function (n) { + artoolkit[n] = Module[n]; + }) + + for (var m in Module) { + if (m.match(/^AR/)) + artoolkit[m] = Module[m]; + } + } + + var marker_count = 0; + function addMarker(arId, url, callback, onError) { + var filename = '/marker_' + marker_count++; + ajax(url, filename, function () { + var id = Module._addMarker(arId, filename); + if (callback) callback(id); + }, function (errorNumber) { if (onError) onError(errorNumber) }); + } + + function addNFTMarker(arId, url, callback, onError) { + var mId = marker_count++; + var prefix = '/markerNFT_' + mId; + var filename1 = prefix + '.fset'; + var filename2 = prefix + '.iset'; + var filename3 = prefix + '.fset3'; + ajax(url + '.fset', filename1, function () { + ajax(url + '.iset', filename2, function () { + ajax(url + '.fset3', filename3, function () { + var id = Module._addNFTMarker(arId, prefix); + if (callback) callback(id); + }, function (errorNumber) { if (onError) onError(errorNumber) }); + }, function (errorNumber) { if (onError) onError(errorNumber) }); + }, function (errorNumber) { if (onError) onError(errorNumber) }); + } + + function bytesToString(array) { + return String.fromCharCode.apply(String, array); + } + + function parseMultiFile(bytes) { + var str = bytesToString(bytes); + + var lines = str.split('\n'); + + var files = []; + + var state = 0; // 0 - read, + var markers = 0; + + lines.forEach(function (line) { + line = line.trim(); + if (!line || line.startsWith('#')) return; // FIXME: Should probably be `if (line.indexOf('#') === 0) { return; }` + + switch (state) { + case 0: + markers = +line; + state = 1; + return; + case 1: // filename or barcode + if (!line.match(/^\d+$/)) { + files.push(line); + } + case 2: // width + case 3: // matrices + case 4: + state++; + return; + case 5: + state = 1; + return; + } + }); + + return files; + } + + var multi_marker_count = 0; + + function addMultiMarker(arId, url, callback, onError) { + var filename = '/multi_marker_' + multi_marker_count++; + ajax(url, filename, function (bytes) { + var files = parseMultiFile(bytes); + + function ok() { + var markerID = Module._addMultiMarker(arId, filename); + var markerNum = Module.getMultiMarkerNum(arId, markerID); + if (callback) callback(markerID, markerNum); + } + + if (!files.length) return ok(); + + var path = url.split('/').slice(0, -1).join('/'); + files = files.map(function (file) { + return [path + '/' + file, file] + }); + + ajaxDependencies(files, ok); + }, function (error) { if (onError) onError(error) }); + } + + var camera_count = 0; + function loadCamera(url, callback, errorCallback) { + var filename = '/camera_param_' + camera_count++; + var writeCallback = function (errorCode) { + if (!Module._loadCamera) { + if (callback) callback(id); setTimeout(writeCallback, 10); + } else { + var id = Module._loadCamera(filename); + if (callback) callback(id); + } + }; + if (typeof url === 'object') { // Maybe it's a byte array + writeByteArrayToFS(filename, url, writeCallback); + } else if (url.indexOf("\n") > -1) { // Or a string with the camera param + writeStringToFS(filename, url, writeCallback); + } else { + ajax(url, filename, writeCallback, errorCallback); + } + } + + + // transfer image + + function writeStringToFS(target, string, callback) { + var byteArray = new Uint8Array(string.length); + for (var i = 0; i < byteArray.length; i++) { + byteArray[i] = string.charCodeAt(i) & 0xff; + } + writeByteArrayToFS(target, byteArray, callback); + } + + function writeByteArrayToFS(target, byteArray, callback) { + FS.writeFile(target, byteArray, { encoding: 'binary' }); + // console.log('FS written', target); + + callback(byteArray); + } + + // Eg. + // ajax('../bin/Data2/markers.dat', '/Data2/markers.dat', callback); + // ajax('../bin/Data/patt.hiro', '/patt.hiro', callback); + + function ajax(url, target, callback, errorCallback) { + var oReq = new XMLHttpRequest(); + oReq.open('GET', url, true); + oReq.responseType = 'arraybuffer'; // blob arraybuffer + + oReq.onload = function () { + if (this.status == 200) { + // console.log('ajax done for ', url); + var arrayBuffer = oReq.response; + var byteArray = new Uint8Array(arrayBuffer); + writeByteArrayToFS(target, byteArray, callback); + } + else { + errorCallback(this.status); + } + }; + + oReq.send(); + } + + function ajaxDependencies(files, callback) { + var next = files.pop(); + if (next) { + ajax(next[0], next[1], function () { + ajaxDependencies(files, callback); + }); + } else { + callback(); + } + } + + /* Exports */ + scope.artoolkit = artoolkit; + scope.ARController = ARController; + scope.ARCameraParam = ARCameraParam; + if (scope.artoolkit_wasm_url) { + scope.Module = Module; + }; + + if (scope.Module) { + scope.Module.onRuntimeInitialized = function () { + runWhenLoaded(); + var event = new Event('artoolkit-loaded'); + scope.dispatchEvent(event); + } + } else { + scope.Module = { + onRuntimeInitialized: function () { + runWhenLoaded(); + } + }; + } + +})(); diff --git a/jsartoolkit5/js/artoolkit.three.js b/jsartoolkit5/js/artoolkit.three.js new file mode 100644 index 0000000..af1ca0d --- /dev/null +++ b/jsartoolkit5/js/artoolkit.three.js @@ -0,0 +1,402 @@ +/* THREE.js ARToolKit integration */ + +;(function() { + var integrate = function() { + /** + Helper for setting up a Three.js AR scene using the device camera as input. + Pass in the maximum dimensions of the video you want to process and onSuccess and onError callbacks. + + On a successful initialization, the onSuccess callback is called with an ThreeARScene object. + The ThreeARScene object contains two THREE.js scenes (one for the video image and other for the 3D scene) + and a couple of helper functions for doing video frame processing and AR rendering. + + Here's the structure of the ThreeARScene object: + { + scene: THREE.Scene, // The 3D scene. Put your AR objects here. + camera: THREE.Camera, // The 3D scene camera. + + arController: ARController, + + video: HTMLVideoElement, // The userMedia video element. + + videoScene: THREE.Scene, // The userMedia video image scene. Shows the video feed. + videoCamera: THREE.Camera, // Camera for the userMedia video scene. + + process: function(), // Process the current video frame and update the markers in the scene. + renderOn: function( THREE.WebGLRenderer ) // Render the AR scene and video background on the given Three.js renderer. + } + + You should use the arScene.video.videoWidth and arScene.video.videoHeight to set the width and height of your renderer. + + In your frame loop, use arScene.process() and arScene.renderOn(renderer) to do frame processing and 3D rendering, respectively. + + @param {number} width - The maximum width of the userMedia video to request. + @param {number} height - The maximum height of the userMedia video to request. + @param {function} onSuccess - Called on successful initialization with an ThreeARScene object. + @param {function} onError - Called if the initialization fails with the error encountered. + */ + ARController.getUserMediaThreeScene = function(configuration) { + var obj = {}; + for (var i in configuration) { + obj[i] = configuration[i]; + } + var onSuccess = configuration.onSuccess; + + obj.onSuccess = function(arController, arCameraParam) { + var scenes = arController.createThreeScene(); + onSuccess(scenes, arController, arCameraParam); + }; + + var video = this.getUserMediaARController(obj); + return video; + }; + + /** + Creates a Three.js scene for use with this ARController. + + Returns a ThreeARScene object that contains two THREE.js scenes (one for the video image and other for the 3D scene) + and a couple of helper functions for doing video frame processing and AR rendering. + + Here's the structure of the ThreeARScene object: + { + scene: THREE.Scene, // The 3D scene. Put your AR objects here. + camera: THREE.Camera, // The 3D scene camera. + + arController: ARController, + + video: HTMLVideoElement, // The userMedia video element. + + videoScene: THREE.Scene, // The userMedia video image scene. Shows the video feed. + videoCamera: THREE.Camera, // Camera for the userMedia video scene. + + process: function(), // Process the current video frame and update the markers in the scene. + renderOn: function( THREE.WebGLRenderer ) // Render the AR scene and video background on the given Three.js renderer. + } + + You should use the arScene.video.videoWidth and arScene.video.videoHeight to set the width and height of your renderer. + + In your frame loop, use arScene.process() and arScene.renderOn(renderer) to do frame processing and 3D rendering, respectively. + + @param video Video image to use as scene background. Defaults to this.image + */ + ARController.prototype.createThreeScene = function(video) { + video = video || this.image; + + this.setupThree(); + + // To display the video, first create a texture from it. + var videoTex = new THREE.Texture(video); + + videoTex.minFilter = THREE.LinearFilter; + videoTex.flipY = false; + + // Then create a plane textured with the video. + var plane = new THREE.Mesh( + new THREE.PlaneBufferGeometry(2, 2), + new THREE.MeshBasicMaterial({map: videoTex, side: THREE.DoubleSide}) + ); + + // The video plane shouldn't care about the z-buffer. + plane.material.depthTest = false; + plane.material.depthWrite = false; + + // Create a camera and a scene for the video plane and + // add the camera and the video plane to the scene. + var videoCamera = new THREE.OrthographicCamera(-1, 1, -1, 1, -1, 1); + var videoScene = new THREE.Scene(); + videoScene.add(plane); + videoScene.add(videoCamera); + + if (this.orientation === 'portrait') { + plane.rotation.z = Math.PI/2; + } + + var scene = new THREE.Scene(); + var camera = new THREE.Camera(); + camera.matrixAutoUpdate = false; + setProjectionMatrix(camera.projectionMatrix, this.getCameraMatrix()); + + scene.add(camera); + + + var self = this; + + return { + scene: scene, + videoScene: videoScene, + camera: camera, + videoCamera: videoCamera, + + arController: this, + + video: video, + + process: function() { + for (var i in self.threePatternMarkers) { + self.threePatternMarkers[i].visible = false; + } + for (var i in self.threeNFTMarkers) { + self.threeNFTMarkers[i].visible = false; + } + for (var i in self.threeBarcodeMarkers) { + self.threeBarcodeMarkers[i].visible = false; + } + for (var i in self.threeMultiMarkers) { + self.threeMultiMarkers[i].visible = false; + for (var j=0; j= 0); + } + }); + + /** + Index of Three.js pattern markers, maps markerID -> THREE.Object3D. + */ + this.threePatternMarkers = {}; + + /** + Index of Three.js NFT markers, maps markerID -> THREE.Object3D. + */ + this.threeNFTMarkers = {}; + + /** + Index of Three.js barcode markers, maps markerID -> THREE.Object3D. + */ + this.threeBarcodeMarkers = {}; + + /** + Index of Three.js multimarkers, maps markerID -> THREE.Object3D. + */ + this.threeMultiMarkers = {}; + }; + + }; + /** + * Helper Method for Three.js compatibility + */ + var setProjectionMatrix = function(projectionMatrix, value) { + if (typeof projectionMatrix.elements.set === "function") { + projectionMatrix.elements.set(value); + } else { + projectionMatrix.elements = [].slice.call(value); + } + }; + + var tick = function() { + if (window.ARController && window.THREE) { + integrate(); + if (window.ARThreeOnLoad) { + window.ARThreeOnLoad(); + } + } else { + setTimeout(tick, 50); + } + }; + + tick(); + +})(); diff --git a/jsartoolkit5/js/artoolkit.worker.js b/jsartoolkit5/js/artoolkit.worker.js new file mode 100644 index 0000000..6ac5228 --- /dev/null +++ b/jsartoolkit5/js/artoolkit.worker.js @@ -0,0 +1,60 @@ +importScripts('../build/artoolkit.min.js'); + +self.onmessage = function(e) { + var msg = e.data; + switch (msg.type) { + case "load": { + load(msg); + return; + } + case "process": { + next = msg.imagedata; + process(); + return; + } + } +}; + +var next = null; + +var ar = null; +var markerResult = null; + +function load(msg) { + + var param = new ARCameraParam(msg.camera_para); + + param.onload = function () { + ar = new ARController(msg.pw, msg.ph, param); + var cameraMatrix = ar.getCameraMatrix(); + + ar.addEventListener('getNFTMarker', function (ev) { + markerResult = {type: "found", matrixGL_RH: JSON.stringify(ev.data.matrixGL_RH), proj: JSON.stringify(cameraMatrix)}; + }); + + ar.loadNFTMarker(msg.marker, function (markerId) { + ar.trackNFTMarkerId(markerId, 2); + console.log("loadNFTMarker -> ", markerId); + postMessage({type: "endLoading", end: true}) + }); + + postMessage({type: "loaded", proj: JSON.stringify(cameraMatrix)}); + }; +} + +function process() { + + markerResult = null; + + if (ar) { + ar.process(next); + } + + if (markerResult) { + postMessage(markerResult); + } else { + postMessage({type: "not found"}); + } + + next = null; +} diff --git a/jsartoolkit5/tests/camera_para.dat b/jsartoolkit5/tests/camera_para.dat new file mode 100644 index 0000000000000000000000000000000000000000..73450c75bdf4b3f430f23b152b7eac62fb9abda6 GIT binary patch literal 176 zcmZQzU}a!nU}12WY83hI%q(pn2MipVpBz2_Wg}A#Q=P)jO(~h`P`@J#Ssa~h{{dCR zes7ZN0ie+S2djD-K(w}Er~`;DSWuq;q#dRT#y5azMQ1P#wI61W{rhuf+k6BA0jHcJ A_y7O^ literal 0 HcmV?d00001 diff --git a/jsartoolkit5/tests/img.jpg b/jsartoolkit5/tests/img.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5c020efe5d3bfa9f052b2fbe5c1cfd3cb6f541d3 GIT binary patch literal 111547 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 literal 0 HcmV?d00001 diff --git a/jsartoolkit5/tests/index.html b/jsartoolkit5/tests/index.html new file mode 100644 index 0000000..0798c73 --- /dev/null +++ b/jsartoolkit5/tests/index.html @@ -0,0 +1,43 @@ + + + + + + JSARToolKit QUnit tests + + + +

      Remarks regarding tests

      +
        +
      • All test work on Android Chrome version 63.0.3239.111
      • +
      • On Android Firefox 57.0.4 test 10 fails because of switched video resolution
      • +
      • On iOS (13.3) only Safari allows access to the video (as of 2020-01-08). The tests 9-11 fail because of switched camera resolution.
      • +
      • Chrome (79.0.3945.88) on desktop all tests work.
      • +
      • Firefox (71.0 (64-bit)) Test 9.9 failes- (Version 57.0.1 and 57.0.4) on desktop all tests work.
      • +
      • Safari (13.0.4) - (Version 11.0.2) on desktop all tests work
      • +
      +

      Important: You need to use https protocol for the tests.

      +
      See startServer-https.md for a documentation how to do that on MacOS.
      + + + +
      +
      + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/jsartoolkit5/tests/index_wasm.html b/jsartoolkit5/tests/index_wasm.html new file mode 100644 index 0000000..3c6758e --- /dev/null +++ b/jsartoolkit5/tests/index_wasm.html @@ -0,0 +1,47 @@ + + + + + + JSARToolKit QUnit tests + + + +

      Remarks regarding tests

      +
        +
      • All test work on Android Chrome version 63.0.3239.111
      • +
      • On Android Firefox 57.0.4 test 10 fails because of switched video resolution
      • +
      • On iOS only Safari allows access to the video (as of 2018-01-08). The tests 9-11 fail because of switched camera resolution.
      • +
      • Chrome (Version 63.0.3239.108 and Version 63.0.3239.132) on desktop all tests work.
      • +
      • Firefox (Version 57.0.1 and 57.0.4) on desktop all tests work.
      • +
      • Safari (Version 11.0.2) on desktop all tests work
      • +
      +

      Important: You need to use https protocol for the tests.

      +
      See startServer-https.md for a documentation how to do that on MacOS.
      + + + +
      +
      + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/jsartoolkit5/tests/papaparse.min.js b/jsartoolkit5/tests/papaparse.min.js new file mode 100755 index 0000000..14c98ff --- /dev/null +++ b/jsartoolkit5/tests/papaparse.min.js @@ -0,0 +1,7 @@ +/* @license +Papa Parse +v5.0.2 +https://github.com/mholt/PapaParse +License: MIT +*/ +!function(e,t){"function"==typeof define&&define.amd?define([],t):"object"==typeof module&&"undefined"!=typeof exports?module.exports=t():e.Papa=t()}(this,function s(){"use strict";var f="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==f?f:{};var n=!f.document&&!!f.postMessage,o=n&&/blob:/i.test((f.location||{}).protocol),a={},h=0,b={parse:function(e,t){var r=(t=t||{}).dynamicTyping||!1;q(r)&&(t.dynamicTypingFunction=r,r={});if(t.dynamicTyping=r,t.transform=!!q(t.transform)&&t.transform,t.worker&&b.WORKERS_SUPPORTED){var i=function(){if(!b.WORKERS_SUPPORTED)return!1;var e=(r=f.URL||f.webkitURL||null,i=s.toString(),b.BLOB_URL||(b.BLOB_URL=r.createObjectURL(new Blob(["(",i,")();"],{type:"text/javascript"})))),t=new f.Worker(e);var r,i;return t.onmessage=_,t.id=h++,a[t.id]=t}();return i.userStep=t.step,i.userChunk=t.chunk,i.userComplete=t.complete,i.userError=t.error,t.step=q(t.step),t.chunk=q(t.chunk),t.complete=q(t.complete),t.error=q(t.error),delete t.worker,void i.postMessage({input:e,config:t,workerId:i.id})}var n=null;b.NODE_STREAM_INPUT,"string"==typeof e?n=t.download?new l(t):new p(t):!0===e.readable&&q(e.read)&&q(e.on)?n=new m(t):(f.File&&e instanceof File||e instanceof Object)&&(n=new c(t));return n.stream(e)},unparse:function(e,t){var i=!1,_=!0,g=",",v="\r\n",n='"',s=n+n,r=!1,a=null;!function(){if("object"!=typeof t)return;"string"!=typeof t.delimiter||b.BAD_DELIMITERS.filter(function(e){return-1!==t.delimiter.indexOf(e)}).length||(g=t.delimiter);("boolean"==typeof t.quotes||Array.isArray(t.quotes))&&(i=t.quotes);"boolean"!=typeof t.skipEmptyLines&&"string"!=typeof t.skipEmptyLines||(r=t.skipEmptyLines);"string"==typeof t.newline&&(v=t.newline);"string"==typeof t.quoteChar&&(n=t.quoteChar);"boolean"==typeof t.header&&(_=t.header);if(Array.isArray(t.columns)){if(0===t.columns.length)throw new Error("Option columns is empty");a=t.columns}void 0!==t.escapeChar&&(s=t.escapeChar+n)}();var o=new RegExp(U(n),"g");"string"==typeof e&&(e=JSON.parse(e));if(Array.isArray(e)){if(!e.length||Array.isArray(e[0]))return u(null,e,r);if("object"==typeof e[0])return u(a||h(e[0]),e,r)}else if("object"==typeof e)return"string"==typeof e.data&&(e.data=JSON.parse(e.data)),Array.isArray(e.data)&&(e.fields||(e.fields=e.meta&&e.meta.fields),e.fields||(e.fields=Array.isArray(e.data[0])?e.fields:h(e.data[0])),Array.isArray(e.data[0])||"object"==typeof e.data[0]||(e.data=[e.data])),u(e.fields||[],e.data||[],r);throw new Error("Unable to serialize unrecognized input");function h(e){if("object"!=typeof e)return[];var t=[];for(var r in e)t.push(r);return t}function u(e,t,r){var i="";"string"==typeof e&&(e=JSON.parse(e)),"string"==typeof t&&(t=JSON.parse(t));var n=Array.isArray(e)&&0=this._config.preview;if(o)f.postMessage({results:n,workerId:b.WORKER_ID,finished:a});else if(q(this._config.chunk)&&!t){if(this._config.chunk(n,this._handle),this._handle.paused()||this._handle.aborted())return void(this._halted=!0);n=void 0,this._completeResults=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(n.data),this._completeResults.errors=this._completeResults.errors.concat(n.errors),this._completeResults.meta=n.meta),this._completed||!a||!q(this._config.complete)||n&&n.meta.aborted||(this._config.complete(this._completeResults,this._input),this._completed=!0),a||n&&n.meta.paused||this._nextChunk(),n}this._halted=!0},this._sendError=function(e){q(this._config.error)?this._config.error(e):o&&this._config.error&&f.postMessage({workerId:b.WORKER_ID,error:e,finished:!1})}}function l(e){var i;(e=e||{}).chunkSize||(e.chunkSize=b.RemoteChunkSize),u.call(this,e),this._nextChunk=n?function(){this._readChunk(),this._chunkLoaded()}:function(){this._readChunk()},this.stream=function(e){this._input=e,this._nextChunk()},this._readChunk=function(){if(this._finished)this._chunkLoaded();else{if(i=new XMLHttpRequest,this._config.withCredentials&&(i.withCredentials=this._config.withCredentials),n||(i.onload=y(this._chunkLoaded,this),i.onerror=y(this._chunkError,this)),i.open("GET",this._input,!n),this._config.downloadRequestHeaders){var e=this._config.downloadRequestHeaders;for(var t in e)i.setRequestHeader(t,e[t])}if(this._config.chunkSize){var r=this._start+this._config.chunkSize-1;i.setRequestHeader("Range","bytes="+this._start+"-"+r)}try{i.send()}catch(e){this._chunkError(e.message)}n&&0===i.status?this._chunkError():this._start+=this._config.chunkSize}},this._chunkLoaded=function(){4===i.readyState&&(i.status<200||400<=i.status?this._chunkError():(this._finished=!this._config.chunkSize||this._start>function(e){var t=e.getResponseHeader("Content-Range");if(null===t)return-1;return parseInt(t.substr(t.lastIndexOf("/")+1))}(i),this.parseChunk(i.responseText)))},this._chunkError=function(e){var t=i.statusText||e;this._sendError(new Error(t))}}function c(e){var i,n;(e=e||{}).chunkSize||(e.chunkSize=b.LocalChunkSize),u.call(this,e);var s="undefined"!=typeof FileReader;this.stream=function(e){this._input=e,n=e.slice||e.webkitSlice||e.mozSlice,s?((i=new FileReader).onload=y(this._chunkLoaded,this),i.onerror=y(this._chunkError,this)):i=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount=this._input.size,this.parseChunk(e.target.result)},this._chunkError=function(){this._sendError(i.error)}}function p(e){var r;u.call(this,e=e||{}),this.stream=function(e){return r=e,this._nextChunk()},this._nextChunk=function(){if(!this._finished){var e=this._config.chunkSize,t=e?r.substr(0,e):r;return r=e?r.substr(e):"",this._finished=!r,this.parseChunk(t)}}}function m(e){u.call(this,e=e||{});var t=[],r=!0,i=!1;this.pause=function(){u.prototype.pause.apply(this,arguments),this._input.pause()},this.resume=function(){u.prototype.resume.apply(this,arguments),this._input.resume()},this.stream=function(e){this._input=e,this._input.on("data",this._streamData),this._input.on("end",this._streamEnd),this._input.on("error",this._streamError)},this._checkIsFinished=function(){i&&1===t.length&&(this._finished=!0)},this._nextChunk=function(){this._checkIsFinished(),t.length?this.parseChunk(t.shift()):r=!0},this._streamData=y(function(e){try{t.push("string"==typeof e?e:e.toString(this._config.encoding)),r&&(r=!1,this._checkIsFinished(),this.parseChunk(t.shift()))}catch(e){this._streamError(e)}},this),this._streamError=y(function(e){this._streamCleanUp(),this._sendError(e)},this),this._streamEnd=y(function(){this._streamCleanUp(),i=!0,this._streamData("")},this),this._streamCleanUp=y(function(){this._input.removeListener("data",this._streamData),this._input.removeListener("end",this._streamEnd),this._input.removeListener("error",this._streamError)},this)}function r(g){var a,o,h,i=Math.pow(2,53),n=-i,s=/^\s*-?(\d*\.?\d+|\d+\.?\d*)(e[-+]?\d+)?\s*$/i,u=/(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))/,t=this,r=0,f=0,d=!1,e=!1,l=[],c={data:[],errors:[],meta:{}};if(q(g.step)){var p=g.step;g.step=function(e){if(c=e,_())m();else{if(m(),0===c.data.length)return;r+=e.data.length,g.preview&&r>g.preview?o.abort():p(c,t)}}}function v(e){return"greedy"===g.skipEmptyLines?""===e.join("").trim():1===e.length&&0===e[0].length}function m(){if(c&&h&&(k("Delimiter","UndetectableDelimiter","Unable to auto-detect delimiting character; defaulted to '"+b.DefaultDelimiter+"'"),h=!1),g.skipEmptyLines)for(var e=0;e=l.length?"__parsed_extra":l[r]),g.transform&&(s=g.transform(s,n)),s=y(n,s),"__parsed_extra"===n?(i[n]=i[n]||[],i[n].push(s)):i[n]=s}return g.header&&(r>l.length?k("FieldMismatch","TooManyFields","Too many fields: expected "+l.length+" fields but parsed "+r,f+t):r=i.length/2?"\r\n":"\r"}(e,i)),h=!1,g.delimiter)q(g.delimiter)&&(g.delimiter=g.delimiter(e),c.meta.delimiter=g.delimiter);else{var n=function(e,t,r,i,n){var s,a,o,h;n=n||[",","\t","|",";",b.RECORD_SEP,b.UNIT_SEP];for(var u=0;u=L)return R(!0)}else for(g=M,M++;;){if(-1===(g=a.indexOf(O,g+1)))return t||u.push({type:"Quotes",code:"MissingQuotes",message:"Quoted field unterminated",row:h.length,index:M}),w();if(g===i-1)return w(a.substring(M,g).replace(_,O));if(O!==z||a[g+1]!==z){if(O===z||0===g||a[g-1]!==z){var y=E(-1===m?p:Math.min(p,m));if(a[g+1+y]===D){f.push(a.substring(M,g).replace(_,O)),a[M=g+1+y+e]!==O&&(g=a.indexOf(O,M)),p=a.indexOf(D,M),m=a.indexOf(I,M);break}var k=E(m);if(a.substr(g+1+k,n)===I){if(f.push(a.substring(M,g).replace(_,O)),C(g+1+k+n),p=a.indexOf(D,M),g=a.indexOf(O,M),o&&(S(),j))return R();if(L&&h.length>=L)return R(!0);break}u.push({type:"Quotes",code:"InvalidQuotes",message:"Trailing quote on quoted field is malformed",row:h.length,index:M}),g++}}else g++}return w();function b(e){h.push(e),d=M}function E(e){var t=0;if(-1!==e){var r=a.substring(g+1,e);r&&""===r.trim()&&(t=r.length)}return t}function w(e){return t||(void 0===e&&(e=a.substr(M)),f.push(e),M=i,b(f),o&&S()),R()}function C(e){M=e,b(f),f=[],m=a.indexOf(I,M)}function R(e,t){return{data:t||!1?h[0]:h,errors:u,meta:{delimiter:D,linebreak:I,aborted:j,truncated:!!e,cursor:d+(r||0)}}}function S(){A(R(void 0,!0)),h=[],u=[]}function x(e,t,r){var i={nextDelim:void 0,quoteSearch:void 0},n=a.indexOf(O,t+1);if(t { + const cParaUrl = './camera_para_error.dat'; + const success = function() { + } + const error = function () { + } + const cameraPara = new ARCameraParam(cParaUrl, success, error); + + assert.throws(() => {cameraPara.load('./camera_para.dat')},"Throws an error that calibration tried to load twice"); +}); +QUnit.test("Try to load twice but empty existing ARCameraPara before loading", assert => { + const cParaUrl = './camera_para_error.dat'; + const success = function() { + } + const error = function () { + } + const cameraPara = new ARCameraParam(cParaUrl, success, error); + cameraPara.dispose(); + assert.deepEqual("",cameraPara.src); + + const cameraParaString = './camera_para.dat'; + cameraPara.load(cameraParaString); + assert.deepEqual(cameraParaString, cameraPara.src, "load after dispose should work"); +}); + +/* #### ARController Module #### */ +QUnit.module("ARController", { + beforeEach : assert => { + this.timeout = 5000; + this.cleanUpTimeout = 500; + this.cParaUrl = './camera_para.dat'; + this.checkDefault = (arController) => { + assert.ok(arController); + assert.deepEqual(arController.orientation, "landscape", "Check the default values: landscape"); + assert.deepEqual(arController.listeners, {}, "Check the default values: listeners"); + assert.deepEqual(arController.defaultMarkerWidth, 1, "Check the default values: defaultMarkerWidth"); + assert.deepEqual(arController.patternMarkers,{},"Check the default values: patternMarkers==={}"); + assert.deepEqual(arController.barcodeMarkers,{},"Check the default values: barcodeMarkers==={}"); + assert.deepEqual(arController.transform_mat,new Float32Array(16),"Check the default values: transform_mat"); + assert.ok(arController.canvas, "Check the default values: canvas"); + assert.ok(arController.ctx, "Check the default values: ctx"); + } + } +}); +QUnit.test("Create ARController default", assert => { + const videoWidth = 640, videoHeight = 480; + const done = assert.async(); + assert.timeout(this.timeout); + const success = () => { + const arController = new ARController(videoWidth, videoHeight, cameraPara); + this.checkDefault(arController); + + arController.onload = (err) => { + assert.notOk(err, "no error"); + assert.ok(true, "successfully loaded"); + + assert.deepEqual(arController.cameraParam, cameraPara, "Check the default values: cameraPara"); + assert.deepEqual(arController.videoWidth, videoWidth, "Check the default values: videoWidth"); + assert.deepEqual(arController.videoHeight, videoHeight, "Check the default values: videoHeight"); + assert.notOk(arController.image, "Check the default values: image === undefined"); + + assert.deepEqual(arController.canvas.width, videoWidth,"Check the default values: canvas.width"); + assert.deepEqual(arController.canvas.height, videoHeight, "Check the default values: canvas.height"); + setTimeout(() => { + arController.dispose(); + done(); + } + ,this.cleanUpTimeout); + }; + } + const error = function () { + assert.ok(false); + } + const cameraPara = new ARCameraParam(this.cParaUrl, success, error); +}); +QUnit.test("Create ARController track image", assert => { + const done = assert.async(); + assert.timeout(this.timeout); + const success = () => { + const arController = new ARController(v1, cameraPara); + arController.debugSetup(); + arController.addEventListener('getMarker', (trackableInfo) => { + assert.ok(true, "Marker found"); + assert.deepEqual(trackableInfo.data.marker.idMatrix,0); + }); + + arController.onload = (err) => { + assert.deepEqual(arController.cameraParam, cameraPara, "Check the default values: cameraPara"); + assert.deepEqual(arController.image, v1, "Check the default values: image"); + assert.deepEqual(arController.videoWidth, v1.width, "Check the default values: image.width"); + assert.deepEqual(arController.videoHeight, v1.height, "Check the default values: image.height"); + + assert.deepEqual(arController.canvas.width, v1.width,"Check the default values: canvas.width"); + assert.deepEqual(arController.canvas.height, v1.height, "Check the default values: canvas.height"); + assert.notOk(err, "no error"); + assert.ok(true, "successfully loaded"); + + arController.loadMarker('./patt.hiro',(markerId) => { + assert.ok(markerId >= 0, "Marker loaded"); + arController.trackPatternMarkerId(markerId); + const t0 = performance.now(); + arController.process(v1); + // const detectMarkerResult = arController.detectMarker() + const t1 = performance.now(); + + // assert.ok( detectMarkerResult == 0, "Detect marker ran successfull"); + assert.ok( t1 - t0 < 700, "Process returns within expected time < 100ms actual: " + (t1 - t0)); + + arController.debugDraw(); + setTimeout(() => { + arController.dispose(); + done(); + } + ,this.cleanUpTimeout); + }); + }; + } + const error = () => { + assert.ok(false); + done(); + } + const cameraPara = new ARCameraParam(this.cParaUrl, success, error); +}); +QUnit.test("Create ARController default, CameraPara as string", assert => { + const videoWidth = 640, videoHeight = 480; + const cameraParaUrl = './camera_para.dat'; + const done = assert.async(); + assert.timeout(this.timeout); + //ARController calls _initialize, which in turn contains a timeOut-function that waits for 1ms + + const error = function () { + assert.ok(false); + done(); + } + const success = () => { + const arController = new ARController(videoWidth, videoHeight, cameraParaUrl); + + arController.onload = (err) => { + assert.notOk(err, "no error"); + assert.ok(true, "successfully loaded"); + this.checkDefault(arController); + + assert.deepEqual(arController.videoWidth, videoWidth, "Check the default values: videoWidth"); + assert.deepEqual(arController.videoHeight, videoHeight, "Check the default values: videoHeight"); + assert.notOk(arController.image, "Check the default values: image === undefined"); + + assert.deepEqual(arController.canvas.width, videoWidth,"Check the default values: canvas.width"); + assert.deepEqual(arController.canvas.height, videoHeight, "Check the default values: canvas.height"); + + setTimeout(() => { + arController.dispose(); + done(); + } + ,this.cleanUpTimeout); + }; + } + const cameraPara = new ARCameraParam(this.cParaUrl, success, error); +}); +QUnit.test("Create ARController default, CameraPara as invalid string", assert => { + const videoWidth = 640, videoHeight = 480; + const cameraParaUrl = './camera_para_error.dat'; + assert.timeout(this.timeout); + //ARController calls _initialize, which in turn contains a timeOut-function that waits for 1ms + const done = assert.async(); + + const error = function () { + assert.ok(false); + } + const success = () => { + const arController = new ARController(videoWidth, videoHeight, cameraParaUrl); + + arController.onload = (err) => { + assert.deepEqual(err, 404, "error while loading"); + setTimeout(() => { + arController.dispose(); + done(); + } + ,this.cleanUpTimeout); + }; + } + const cameraPara = new ARCameraParam(this.cParaUrl, success, error); + +}); + +/* #### ARController.getUserMedia module #### */ +QUnit.module("ARController.getUserMedia", { + afterEach : assert => { + if(this.video.srcObject) { + const track = this.video.srcObject.getTracks()[0]; + track.stop(); + this.video.srcObject = null; + } + this.video.src = null; + } +}); +QUnit.test("getUserMedia", assert => { + const width = 640; + const height = 480; + const facingMode = 'environment'; + const success = (video) => { + assert.ok(video,"Successfully created video element"); + assert.ok(video.srcObject, "Check the source object"); + assert.deepEqual(video.srcObject.getTracks().length,1, "Ensure we only get one Track back ... "); + assert.deepEqual(video.srcObject.getVideoTracks().length,1, ".. and that that track is of type 'video'"); + const videoTrack = video.srcObject.getVideoTracks()[0]; + console.log("videoTrack.label: " + videoTrack.label); + + assert.ok(videoTrack.getSettings(), "Check if the video track has settings available"); + const videoTrackSettings = videoTrack.getSettings(); + assert.deepEqual(videoTrackSettings.width, width, "Video width from constraints"); + assert.deepEqual(videoTrackSettings.height, height, "Video height from constraints"); + + const supported = navigator.mediaDevices.getSupportedConstraints(); + // Mobile supports facingMode to be set. Desktop states that facingMode is supported but doesn't list the facing mode inside the settings and hence it will fail + if(supported["facingMode"] && videoTrackSettings.facingMode) + assert.deepEqual(videoTrackSettings.facingMode, facingMode, "Video facing mode from constraints"); + + // Don't check video.src anymore because it should not be available in modern browsers + //assert.ok(video.src); + this.video = video; + done(); + } + const error = err => { + assert.notOk(err); + done(); + } + + const configuration = { + onSuccess : success, + onError : error, + width : width, + height : height, + facingMode : facingMode + + }; + assert.timeout(10000); + const done = assert.async(); + const video = ARController.getUserMedia(configuration); + // The video element is lazy loading better to check it inside the success function + assert.ok(video, "The created video element"); + // Add the video element to html + document.body.appendChild(video); +}); +QUnit.test("getUserMedia with max/min constraints", assert => { + const width = {min: 320, max: 640}; + const height = {min: 240, max: 480}; + const facingMode = {ideal: 'environment'}; + const success = (video) => { + this.video = video; + const videoTrack = video.srcObject.getVideoTracks()[0]; + const videoTrackSettings = videoTrack.getSettings(); + assert.deepEqual(videoTrackSettings.width, width.max, "Video width from constraints"); + assert.deepEqual(videoTrackSettings.height, height.max, "Video height from constraints"); + + done(); + } + const error = err => { + assert.notOk(err); + done(); + } + + const configuration = { + onSuccess : success, + onError : error, + width : width, + height : height, + facingMode : facingMode + + }; + assert.timeout(10000); + const done = assert.async(); + const video = ARController.getUserMedia(configuration); + // The video element is lazy loading better to check it inside the success function + assert.ok(video, "The created video element"); +}); +QUnit.test("getUserMedia with ideal constraints", assert => { + const width = {min: 320, ideal: 640}; + const height = {min: 240, ideal: 480}; + const facingMode = {ideal: 'environment'}; + const success = (video) => { + this.video = video; + const videoTrack = video.srcObject.getVideoTracks()[0]; + const videoTrackSettings = videoTrack.getSettings(); + assert.deepEqual(videoTrackSettings.width, width.ideal, "Video width from constraints"); + assert.deepEqual(videoTrackSettings.height, height.ideal, "Video height from constraints"); + done(); + } + const error = err => { + assert.notOk(err); + done(); + } + + const configuration = { + onSuccess : success, + onError : error, + width : width, + height : height, + facingMode : facingMode + + }; + assert.timeout(10000); + const done = assert.async(); + const video = ARController.getUserMedia(configuration); + // The video element is lazy loading better to check it inside the success function + assert.ok(video, "The created video element"); +}); + +QUnit.test("getUserMedia facing user", assert => { + const facingMode = {ideal: 'user'}; + const success = (video) => { + this.video = video; + const videoTrack = video.srcObject.getVideoTracks()[0]; + const videoTrackSettings = videoTrack.getSettings(); + + const supported = navigator.mediaDevices.getSupportedConstraints(); + // Mobile supports facingMode to be set. Desktop states that facingMode is supported but doesn't list the facing mode inside the settings and hence it will fail + if(supported["facingMode"] && videoTrackSettings.facingMode) + assert.deepEqual(videoTrackSettings.facingMode, facingMode.ideal, "Video facing mode from constraints"); + done(); + } + const error = err => { + assert.notOk(err); + done(); + } + + const configuration = { + onSuccess : success, + onError : error, + facingMode : facingMode + + }; + assert.timeout(10000); + const done = assert.async(); + const video = ARController.getUserMedia(configuration); + // The video element is lazy loading better to check it inside the success function + assert.ok(video, "The created video element"); + // Add the video element to html + document.body.appendChild(video); +}); + +/* #### ARController.getUserMediaARController module #### */ +QUnit.module("ARController.getUserMediaARController", { + beforeEach : assert => { + this.timeout = 5000; + this.cleanUpTimeout = 500; + } +}); +QUnit.test("getUserMediaARController default", assert => { + const done = assert.async(); + assert.timeout(this.timeout); + const success = (arController, arCameraParam) => { + assert.ok(arController, "ARController created"); + assert.ok(arController.id>=0, "ARController id created"); + assert.ok(arCameraParam, "ARCameraPara created"); + setTimeout( ()=> { + arController.dispose(); + done(); + }, this.cleanUpTimeout); + }; + + const error = error => { + assert.notOk(error); + done(); + } + + const config = { + onSuccess : success, + onError : error, + + cameraParam: './camera_para.dat', // URL to camera parameters definition file. + maxARVideoSize: 640, // Maximum max(width, height) for the AR processing canvas. + + width : 640, + height : 480, + + facingMode : 'environment' + } + const video = ARController.getUserMediaARController(config); + assert.ok(video, "Video created"); + document.body.appendChild(video); +}); +QUnit.test("getUserMediaARController wrong calib-url", assert => { + const done = assert.async(); + assert.timeout(5000); + const success = (arController, arCameraParam) => { + assert.notOk(arController, "ARController created"); + done(); + }; + + const error = error => { + assert.ok(error); + assert.notOk(video.srcObject); + done(); + } + + const config = { + onSuccess : success, + onError : error, + + cameraParam: './camera_para_error.dat', // URL to camera parameters definition file. + maxARVideoSize: 640, // Maximum max(width, height) for the AR processing canvas. + + width : 640, + height : 480, + + facingMode : 'environment' + } + const video = ARController.getUserMediaARController(config); + assert.ok(video, "Video created"); + document.body.appendChild(video); +}); +QUnit.module("ARController.Test trackable registration",{ + afterEach : assert => { + if(this.video.srcObject) { + const track = this.video.srcObject.getTracks()[0]; + track.stop(); + this.video.srcObject = null; + } + this.video.src = null; + } +}); +QUnit.test("Register valid square trackable", assert => { + + const done = assert.async(); + assert.timeout(5000); + + const loadMarkerSuccess = (markerId) => { + assert.ok(markerId >= 0); + done(); + } + const loadMarkerError = error => { + assert.notOk(error); + done(); + } + + + const successCallback = (arController, arCameraParam) => { + // add marker string + arController.loadMarker('../examples/Data/patt.hiro', loadMarkerSuccess, loadMarkerError); + + }; + + const errorCallback = (error) => { + console.log("ERROR" + error); + assert.notOk(error, "Error while calling `getUserMediaARController`"); + done(); + } + + const config = { + onSuccess : successCallback, + onError: errorCallback, + cameraParam: './camera_para.dat', + maxARVideoSize: 640, + width: 640, + height: 480, + facingMode: 'environment', + }; + + this.video = ARController.getUserMediaARController(config); + +}); +QUnit.test("Register invalid square trackable", assert => { + + const done = assert.async(); + assert.timeout(5000); + + const loadMarkerSuccess = (markerId) => { + assert.ok(markerId >= 0); + done(); + }; + const loadMarkerError = error => { + assert.ok(error=404, 'Test with invalid pattern-URL'); + done(); + }; + + const successCallback = (arController, arCameraParam) => { + // add marker string + arController.loadMarker('../examples/Data/patt_error.hiro', loadMarkerSuccess, loadMarkerError); + }; + + const errorCallback = (error) => { + console.log("ERROR" + error); + assert.notOk(error, "Error while calling `getUserMediaARController`"); + done(); + }; + + const config = { + onSuccess : successCallback, + onError: errorCallback, + cameraParam: './camera_para.dat', + maxARVideoSize: 640, + width: 640, + height: 480, + facingMode: 'environment', + }; + + this.video = ARController.getUserMediaARController(config); + +}); +QUnit.test("Register valid NFT trackable", assert => { + + const done = assert.async(); + assert.timeout(5000); + + const loadMarkerSuccess = (markerId) => { + assert.ok(markerId >= 0); + done(); + } + const loadMarkerError = error => { + assert.notOk(error); + done(); + } + + + const successCallback = (arController, arCameraParam) => { + // add NFT marker string + arController.loadNFTMarker('../examples/DataNFT/pinball', loadMarkerSuccess, loadMarkerError); + + }; + + const errorCallback = (error) => { + console.log("ERROR" + error); + assert.notOk(error, "Error while calling `getUserMediaARController`"); + done(); + } + + const config = { + onSuccess : successCallback, + onError: errorCallback, + cameraParam: './camera_para.dat', + maxARVideoSize: 640, + width: 640, + height: 480, + facingMode: 'environment', + }; + + this.video = ARController.getUserMediaARController(config); + +}); +QUnit.test("Register invalid NFT trackable", assert => { + + const done = assert.async(); + assert.timeout(5000); + + const loadMarkerSuccess = (markerId) => { + assert.ok(markerId >= 0); + done(); + }; + const loadMarkerError = error => { + assert.ok(error=404, 'Test with invalid pattern-URL'); + done(); + }; + + const successCallback = (arController, arCameraParam) => { + // add marker string + arController.loadNFTMarker('../examples/DataNFT/pinball-error', loadMarkerSuccess, loadMarkerError); + }; + + const errorCallback = (error) => { + console.log("ERROR" + error); + assert.notOk(error, "Error while calling `getUserMediaARController`"); + done(); + }; + + const config = { + onSuccess : successCallback, + onError: errorCallback, + cameraParam: './camera_para.dat', + maxARVideoSize: 640, + width: 640, + height: 480, + facingMode: 'environment', + }; + + this.video = ARController.getUserMediaARController(config); + +}); +QUnit.test("Register empty URL NFT trackable", assert => { + + const done = assert.async(); + assert.timeout(5000); + + const loadMarkerSuccess = (markerId) => { + assert.ok(markerId >= 0, 'MarkerId is greater or equals 0'); + done(); + }; + const loadMarkerError = error => { + console.log(error); + assert.ok(error, 'Test with invalid pattern-URL'); + done(); + }; + + const successCallback = (arController, arCameraParam) => { + // add marker string + arController.loadNFTMarker("", loadMarkerSuccess, loadMarkerError); + }; + + const errorCallback = (error) => { + console.log("ERROR" + error); + assert.notOk(error, "Error while calling `getUserMediaARController`"); + done(); + }; + + const config = { + onSuccess : successCallback, + onError: errorCallback, + cameraParam: './camera_para.dat', + maxARVideoSize: 640, + width: 640, + height: 480, + facingMode: 'environment', + }; + + this.video = ARController.getUserMediaARController(config); + +}); +QUnit.test("Register empty URL trackable", assert => { + + const done = assert.async(); + assert.timeout(5000); + + const loadMarkerSuccess = (markerId) => { + assert.ok(markerId >= 0, 'MarkerId is greater or equals 0'); + done(); + }; + const loadMarkerError = error => { + console.log(error); + assert.ok(error, 'Test with invalid pattern-URL'); + done(); + }; + + const successCallback = (arController, arCameraParam) => { + // add marker string + arController.loadMarker("", loadMarkerSuccess, loadMarkerError); + }; + + const errorCallback = (error) => { + console.log("ERROR" + error); + assert.notOk(error, "Error while calling `getUserMediaARController`"); + done(); + }; + + const config = { + onSuccess : successCallback, + onError: errorCallback, + cameraParam: './camera_para.dat', + maxARVideoSize: 640, + width: 640, + height: 480, + facingMode: 'environment', + }; + + this.video = ARController.getUserMediaARController(config); + +}); +/* #### Full setup test #### */ +QUnit.module("Performance test video",{ + beforeEach : assert => { + this.timeout = 10000; + this.cleanUpTimeout = 500; + }, + afterEach : assert => { + if(this.video.srcObject) { + const track = this.video.srcObject.getTracks()[0]; + track.stop(); + this.video.srcObject = null; + } + this.video.src = null; + } +}); +QUnit.test("PTV: performance test video", assert => { + + const testDone = assert.async(); + + performance.mark('start video measure'); + const done = () => { + performance.mark('cleanup-done'); + performance.measure('Cleanup time', 'cleanup', 'cleanup-done'); + performance.measure('Test time', 'start video measure', 'cleanup-done'); + const measures = performance.getEntriesByType('measure'); + const csv = Papa.unparse(JSON.stringify(measures)); + console.log(csv); + + testDone(); + }; + assert.timeout(this.timeout); + assert.expect(0); + const success = (arController, arCameraParam) => { + performance.mark('getUserMediaARController-success'); + performance.measure('Start videostream','start video measure', 'getUserMediaARController-success'); + + arController.loadMarker('./patt.hiro',(markerId) => { + performance.mark('loadMarker-success'); + performance.measure('Load marker','getUserMediaARController-success', 'loadMarker-success'); + + //Process the open video stream + for(var i = 0; i <= 100; i++) { + performance.mark('process-' + i + ' start'); + arController.process(this.video); + performance.mark('process-' + i + ' done'); + performance.measure('process video','process-' + i + ' start', 'process-' + i + ' done'); + } + + performance.mark('cleanup'); + arController.dispose(); + done(); + }); + }; + + const error = error => { + done(); + } + + const config = { + onSuccess : success, + onError : error, + + cameraParam: './camera_para.dat', // URL to camera parameters definition file. + maxARVideoSize: 640, // Maximum max(width, height) for the AR processing canvas. + + width : 640, + height : 480, + + facingMode : 'environment' + } + this.video = ARController.getUserMediaARController(config); + document.body.appendChild(this.video); +}); +QUnit.module("Performance test image",{ + beforeEach : assert => { + this.timeout = 10000; + this.cleanUpTimeout = 500; + } +}); +QUnit.test("performance test image", assert => { + + const testDone = assert.async(); + const cParaUrl = './camera_para.dat'; + + performance.mark('start image measure'); + const done = () => { + performance.mark('cleanup-done'); + performance.measure('Cleanup time', 'cleanup', 'cleanup-done'); + performance.measure('Test time', 'start image measure', 'cleanup-done'); + const measures = performance.getEntriesByType('measure'); + const csv = Papa.unparse(JSON.stringify(measures)); + console.log(csv); + + testDone(); + }; + assert.timeout(this.timeout); + assert.expect(0); + + const success = () => { + const arController = new ARController(v1, cameraPara); + arController.onload = () => { + performance.mark('ARController.onload()'); + performance.measure('Start ARController','start image measure', 'ARController.onload()'); + + arController.loadMarker('./patt.hiro',(markerId) => { + performance.mark('loadMarker-success'); + performance.measure('Load marker','ARController.onload()', 'loadMarker-success'); + + for(var i = 0; i <= 100; i++) { + //Process an image + performance.mark('process-' + i + ' start'); + arController.process(v1); + performance.mark('process-' + i + ' done'); + performance.measure('process image','process-' + i + ' start', 'process-' + i + ' done'); + } + + performance.mark('cleanup'); + arController.dispose(); + done(); + }); + }; + }; + + const error = error => { + assert.notOk(error); + testDone(); + } + + const cameraPara = new ARCameraParam(cParaUrl, success, error); +}); +//TODO write test for external Video stream creation diff --git a/jsartoolkit5/tests/tests_wasm.js b/jsartoolkit5/tests/tests_wasm.js new file mode 100644 index 0000000..0a4e382 --- /dev/null +++ b/jsartoolkit5/tests/tests_wasm.js @@ -0,0 +1,817 @@ + +window.addEventListener('artoolkit-loaded', () => { + + QUnit.module("ARCameraPara"); + QUnit.test( "Create object and load camera parameter", function( assert ) { + const cParaUrl = './camera_para.dat'; + const done = assert.async(); + const success = function() { + assert.ok(true, "Successfully loaded camera para"); + done(); + } + const error = function () { + assert.ok(false, "Failed loading camera para"); + done(); + } + const cameraPara = new ARCameraParam(cParaUrl, success, error, false); + assert.equal(cameraPara.src, cParaUrl, "Camera para URL is equal to: " + cParaUrl); + }); + QUnit.test( "Create object and fail to load camera parameter", function( assert ) { + const cParaUrl = './camera_para_error.dat'; + const done = assert.async(); + const success = function() { + assert.ok(false, "Successfully loaded camera para"); + done(); + } + const error = function () { + assert.ok(true, "Failed loading camera para"); + done(); + } + const cameraPara = new ARCameraParam(cParaUrl, success, error, false); + }); + QUnit.test("Try to load twice", assert => { + const cParaUrl = './camera_para_error.dat'; + const success = function() { + } + const error = function () { + } + const cameraPara = new ARCameraParam(cParaUrl, success, error); + + assert.throws(() => {cameraPara.load('./camera_para.dat')},"Throws an error that calibration tried to load twice"); + }); + QUnit.test("Try to load twice but empty existing ARCameraPara before loading", assert => { + const cParaUrl = './camera_para_error.dat'; + const success = function() { + } + const error = function () { + } + const cameraPara = new ARCameraParam(cParaUrl, success, error); + cameraPara.dispose(); + assert.deepEqual("",cameraPara.src); + + const cameraParaString = './camera_para.dat'; + cameraPara.load(cameraParaString); + assert.deepEqual(cameraParaString, cameraPara.src, "load after dispose should work"); + }); + + /* #### ARController Module #### */ + QUnit.module("ARController", { + beforeEach : assert => { + this.timeout = 5000; + this.cleanUpTimeout = 500; + this.cParaUrl = './camera_para.dat'; + this.checkDefault = (arController) => { + assert.ok(arController); + assert.deepEqual(arController.orientation, "landscape", "Check the default values: landscape"); + assert.deepEqual(arController.listeners, {}, "Check the default values: listeners"); + assert.deepEqual(arController.defaultMarkerWidth, 1, "Check the default values: defaultMarkerWidth"); + assert.deepEqual(arController.patternMarkers,{},"Check the default values: patternMarkers==={}"); + assert.deepEqual(arController.barcodeMarkers,{},"Check the default values: barcodeMarkers==={}"); + assert.deepEqual(arController.transform_mat,new Float32Array(16),"Check the default values: transform_mat"); + assert.ok(arController.canvas, "Check the default values: canvas"); + assert.ok(arController.ctx, "Check the default values: ctx"); + } + } + }); + QUnit.test("Create ARController default", assert => { + const videoWidth = 640, videoHeight = 480; + const done = assert.async(); + assert.timeout(this.timeout); + const success = () => { + const arController = new ARController(videoWidth, videoHeight, cameraPara); + this.checkDefault(arController); + + arController.onload = (err) => { + assert.notOk(err, "no error"); + assert.ok(true, "successfully loaded"); + + assert.deepEqual(arController.cameraParam, cameraPara, "Check the default values: cameraPara"); + assert.deepEqual(arController.videoWidth, videoWidth, "Check the default values: videoWidth"); + assert.deepEqual(arController.videoHeight, videoHeight, "Check the default values: videoHeight"); + assert.notOk(arController.image, "Check the default values: image === undefined"); + + assert.deepEqual(arController.canvas.width, videoWidth,"Check the default values: canvas.width"); + assert.deepEqual(arController.canvas.height, videoHeight, "Check the default values: canvas.height"); + setTimeout(() => { + arController.dispose(); + done(); + } + ,this.cleanUpTimeout); + }; + } + const error = function () { + assert.ok(false); + } + const cameraPara = new ARCameraParam(this.cParaUrl, success, error); + + }); + QUnit.test("Create ARController track image", assert => { + const done = assert.async(); + assert.timeout(this.timeout); + const success = () => { + const arController = new ARController(v1, cameraPara); + arController.debugSetup(); + this.checkDefault(arController); + + arController.onload = (err) => { + assert.notOk(err, "no error"); + assert.ok(true, "successfully loaded"); + assert.deepEqual(arController.cameraParam, cameraPara, "Check the default values: cameraPara"); + assert.deepEqual(arController.image, v1, "Check the default values: image"); + assert.deepEqual(arController.videoWidth, v1.width, "Check the default values: image.width"); + assert.deepEqual(arController.videoHeight, v1.height, "Check the default values: image.height"); + + assert.deepEqual(arController.canvas.width, v1.width,"Check the default values: canvas.width"); + assert.deepEqual(arController.canvas.height, v1.height, "Check the default values: canvas.height"); + const t0 = performance.now(); + const detectMarkerResult = arController.detectMarker() + const t1 = performance.now(); + + assert.ok( detectMarkerResult == 0, "Detected marker in image"); + assert.ok( t1 - t0 < 700, "Detect marker returns within expected time < 100ms actual: " + (t1 - t0)); + + arController.debugDraw(); + setTimeout(() => { + arController.dispose(); + done(); + } + ,this.cleanUpTimeout); + }; + } + const error = () => { + assert.ok(false); + done(); + } + const cameraPara = new ARCameraParam(this.cParaUrl, success, error); + }); + QUnit.test("Create ARController default, CameraPara as string", assert => { + const videoWidth = 640, videoHeight = 480; + const cameraParaUrl = './camera_para.dat'; + const done = assert.async(); + assert.timeout(this.timeout); + //ARController calls _initialize, which in turn contains a timeOut-function that waits for 1ms + + const error = function () { + assert.ok(false); + done(); + } + const success = () => { + const arController = new ARController(videoWidth, videoHeight, cameraParaUrl); + + arController.onload = (err) => { + assert.notOk(err, "no error"); + assert.ok(true, "successfully loaded"); + this.checkDefault(arController); + + assert.deepEqual(arController.videoWidth, videoWidth, "Check the default values: videoWidth"); + assert.deepEqual(arController.videoHeight, videoHeight, "Check the default values: videoHeight"); + assert.notOk(arController.image, "Check the default values: image === undefined"); + + assert.deepEqual(arController.canvas.width, videoWidth,"Check the default values: canvas.width"); + assert.deepEqual(arController.canvas.height, videoHeight, "Check the default values: canvas.height"); + + setTimeout(() => { + arController.dispose(); + done(); + } + ,this.cleanUpTimeout); + }; + } + const cameraPara = new ARCameraParam(this.cParaUrl, success, error); + }); + QUnit.test("Create ARController default, CameraPara as invalid string", assert => { + const videoWidth = 640, videoHeight = 480; + const cameraParaUrl = './camera_para_error.dat'; + assert.timeout(this.timeout); + //ARController calls _initialize, which in turn contains a timeOut-function that waits for 1ms + const done = assert.async(); + + const error = function () { + assert.ok(false); + } + const success = () => { + const arController = new ARController(videoWidth, videoHeight, cameraParaUrl); + + arController.onload = (err) => { + assert.deepEqual(err, 404, "error while loading"); + setTimeout(() => { + arController.dispose(); + done(); + } + ,this.cleanUpTimeout); + }; + } + const cameraPara = new ARCameraParam(this.cParaUrl, success, error); + + }); + + /* #### ARController.getUserMedia module #### */ + QUnit.module("ARController.getUserMedia", { + afterEach : assert => { + if(this.video.srcObject) { + const track = this.video.srcObject.getTracks()[0]; + track.stop(); + this.video.srcObject = null; + } + this.video.src = null; + } + }); + QUnit.test("getUserMedia", assert => { + const width = 640; + const height = 480; + const facingMode = 'environment'; + const success = (video) => { + assert.ok(video,"Successfully created video element"); + assert.ok(video.srcObject, "Check the source object"); + assert.deepEqual(video.srcObject.getTracks().length,1, "Ensure we only get one Track back ... "); + assert.deepEqual(video.srcObject.getVideoTracks().length,1, ".. and that that track is of type 'video'"); + const videoTrack = video.srcObject.getVideoTracks()[0]; + console.log("videoTrack.label: " + videoTrack.label); + + assert.ok(videoTrack.getSettings(), "Check if the video track has settings available"); + const videoTrackSettings = videoTrack.getSettings(); + assert.deepEqual(videoTrackSettings.width, width, "Video width from constraints"); + assert.deepEqual(videoTrackSettings.height, height, "Video height from constraints"); + + const supported = navigator.mediaDevices.getSupportedConstraints(); + // Mobile supports facingMode to be set. Desktop states that facingMode is supported but doesn't list the facing mode inside the settings and hence it will fail + if(supported["facingMode"] && videoTrackSettings.facingMode) + assert.deepEqual(videoTrackSettings.facingMode, facingMode, "Video facing mode from constraints"); + + // Don't check video.src anymore because it should not be available in modern browsers + //assert.ok(video.src); + this.video = video; + done(); + } + const error = err => { + assert.notOk(err); + done(); + } + + const configuration = { + onSuccess : success, + onError : error, + width : width, + height : height, + facingMode : facingMode + + }; + assert.timeout(10000); + const done = assert.async(); + const video = ARController.getUserMedia(configuration); + // The video element is lazy loading better to check it inside the success function + assert.ok(video, "The created video element"); + // Add the video element to html + document.body.appendChild(video); + }); + QUnit.test("getUserMedia with max/min constraints", assert => { + const width = {min: 320, max: 640}; + const height = {min: 240, max: 480}; + const facingMode = {ideal: 'environment'}; + const success = (video) => { + this.video = video; + const videoTrack = video.srcObject.getVideoTracks()[0]; + const videoTrackSettings = videoTrack.getSettings(); + assert.deepEqual(videoTrackSettings.width, width.max, "Video width from constraints"); + assert.deepEqual(videoTrackSettings.height, height.max, "Video height from constraints"); + + done(); + } + const error = err => { + assert.notOk(err); + done(); + } + + const configuration = { + onSuccess : success, + onError : error, + width : width, + height : height, + facingMode : facingMode + + }; + assert.timeout(10000); + const done = assert.async(); + const video = ARController.getUserMedia(configuration); + // The video element is lazy loading better to check it inside the success function + assert.ok(video, "The created video element"); + }); + QUnit.test("getUserMedia with ideal constraints", assert => { + const width = {min: 320, ideal: 640}; + const height = {min: 240, ideal: 480}; + const facingMode = {ideal: 'environment'}; + const success = (video) => { + this.video = video; + const videoTrack = video.srcObject.getVideoTracks()[0]; + const videoTrackSettings = videoTrack.getSettings(); + assert.deepEqual(videoTrackSettings.width, width.ideal, "Video width from constraints"); + assert.deepEqual(videoTrackSettings.height, height.ideal, "Video height from constraints"); + done(); + } + const error = err => { + assert.notOk(err); + done(); + } + + const configuration = { + onSuccess : success, + onError : error, + width : width, + height : height, + facingMode : facingMode + + }; + assert.timeout(10000); + const done = assert.async(); + const video = ARController.getUserMedia(configuration); + // The video element is lazy loading better to check it inside the success function + assert.ok(video, "The created video element"); + }); + + QUnit.test("getUserMedia facing user", assert => { + const facingMode = {ideal: 'user'}; + const success = (video) => { + this.video = video; + const videoTrack = video.srcObject.getVideoTracks()[0]; + const videoTrackSettings = videoTrack.getSettings(); + + const supported = navigator.mediaDevices.getSupportedConstraints(); + // Mobile supports facingMode to be set. Desktop states that facingMode is supported but doesn't list the facing mode inside the settings and hence it will fail + if(supported["facingMode"] && videoTrackSettings.facingMode) + assert.deepEqual(videoTrackSettings.facingMode, facingMode.ideal, "Video facing mode from constraints"); + done(); + } + const error = err => { + assert.notOk(err); + done(); + } + + const configuration = { + onSuccess : success, + onError : error, + facingMode : facingMode + + }; + assert.timeout(10000); + const done = assert.async(); + const video = ARController.getUserMedia(configuration); + // The video element is lazy loading better to check it inside the success function + assert.ok(video, "The created video element"); + // Add the video element to html + document.body.appendChild(video); + }); + + /* #### ARController.getUserMediaARController module #### */ + QUnit.module("ARController.getUserMediaARController", { + beforeEach : assert => { + this.timeout = 5000; + this.cleanUpTimeout = 500; + } + }); + QUnit.test("getUserMediaARController default", assert => { + const done = assert.async(); + assert.timeout(this.timeout); + const success = (arController, arCameraParam) => { + assert.ok(arController, "ARController created"); + assert.ok(arController.id>=0, "ARController id created"); + assert.ok(arCameraParam, "ARCameraPara created"); + setTimeout( ()=> { + arController.dispose(); + done(); + }, this.cleanUpTimeout); + }; + + const error = error => { + assert.notOk(error); + done(); + } + + const config = { + onSuccess : success, + onError : error, + + cameraParam: './camera_para.dat', // URL to camera parameters definition file. + maxARVideoSize: 640, // Maximum max(width, height) for the AR processing canvas. + + width : 640, + height : 480, + + facingMode : 'environment' + } + const video = ARController.getUserMediaARController(config); + assert.ok(video, "Video created"); + document.body.appendChild(video); + }); + QUnit.test("getUserMediaARController wrong calib-url", assert => { + const done = assert.async(); + assert.timeout(5000); + const success = (arController, arCameraParam) => { + assert.notOk(arController, "ARController created"); + done(); + }; + + const error = error => { + assert.ok(error); + assert.notOk(video.srcObject); + done(); + } + + const config = { + onSuccess : success, + onError : error, + + cameraParam: './camera_para_error.dat', // URL to camera parameters definition file. + maxARVideoSize: 640, // Maximum max(width, height) for the AR processing canvas. + + width : 640, + height : 480, + + facingMode : 'environment' + } + const video = ARController.getUserMediaARController(config); + assert.ok(video, "Video created"); + document.body.appendChild(video); + }); + QUnit.module("ARController.Test trackable registration",{ + afterEach : assert => { + if(this.video.srcObject) { + const track = this.video.srcObject.getTracks()[0]; + track.stop(); + this.video.srcObject = null; + } + this.video.src = null; + } + }); + QUnit.test("Register valid trackable", assert => { + + const done = assert.async(); + assert.timeout(5000); + + const loadMarkerSuccess = (markerId) => { + assert.ok(markerId >= 0); + done(); + } + const loadMarkerError = error => { + assert.notOk(error); + done(); + } + + + const successCallback = (arController, arCameraParam) => { + // add marker string + arController.loadMarker('../examples/Data/patt.hiro', loadMarkerSuccess, loadMarkerError); + + }; + + const errorCallback = (error) => { + console.log("ERROR" + error); + assert.notOk(error, "Error while calling `getUserMediaARController`"); + done(); + } + + const config = { + onSuccess : successCallback, + onError: errorCallback, + cameraParam: './camera_para.dat', + maxARVideoSize: 640, + width: 640, + height: 480, + facingMode: 'environment', + }; + + this.video = ARController.getUserMediaARController(config); + + }); + QUnit.test("Register invalid trackable", assert => { + + const done = assert.async(); + assert.timeout(5000); + + const loadMarkerSuccess = (markerId) => { + assert.ok(markerId >= 0); + done(); + }; + const loadMarkerError = error => { + assert.ok(error=404, 'Test with invalid pattern-URL'); + done(); + }; + + const successCallback = (arController, arCameraParam) => { + // add marker string + arController.loadMarker('../examples/Data/patt_error.hiro', loadMarkerSuccess, loadMarkerError); + }; + + const errorCallback = (error) => { + console.log("ERROR" + error); + assert.notOk(error, "Error while calling `getUserMediaARController`"); + done(); + }; + + const config = { + onSuccess : successCallback, + onError: errorCallback, + cameraParam: './camera_para.dat', + maxARVideoSize: 640, + width: 640, + height: 480, + facingMode: 'environment', + }; + + this.video = ARController.getUserMediaARController(config); + + }); + QUnit.test("Register valid NFT trackable", assert => { + + const done = assert.async(); + assert.timeout(5000); + + const loadMarkerSuccess = (markerId) => { + assert.ok(markerId >= 0); + done(); + } + const loadMarkerError = error => { + assert.notOk(error); + done(); + } + + + const successCallback = (arController, arCameraParam) => { + // add NFT marker string + arController.loadNFTMarker('../examples/DataNFT/pinball', loadMarkerSuccess, loadMarkerError); + + }; + + const errorCallback = (error) => { + console.log("ERROR" + error); + assert.notOk(error, "Error while calling `getUserMediaARController`"); + done(); + } + + const config = { + onSuccess : successCallback, + onError: errorCallback, + cameraParam: './camera_para.dat', + maxARVideoSize: 640, + width: 640, + height: 480, + facingMode: 'environment', + }; + + this.video = ARController.getUserMediaARController(config); + + }); + QUnit.test("Register invalid NFT trackable", assert => { + + const done = assert.async(); + assert.timeout(5000); + + const loadMarkerSuccess = (markerId) => { + assert.ok(markerId >= 0); + done(); + }; + const loadMarkerError = error => { + assert.ok(error=404, 'Test with invalid pattern-URL'); + done(); + }; + + const successCallback = (arController, arCameraParam) => { + // add marker string + arController.loadNFTMarker('../examples/DataNFT/pinball-error', loadMarkerSuccess, loadMarkerError); + }; + + const errorCallback = (error) => { + console.log("ERROR" + error); + assert.notOk(error, "Error while calling `getUserMediaARController`"); + done(); + }; + + const config = { + onSuccess : successCallback, + onError: errorCallback, + cameraParam: './camera_para.dat', + maxARVideoSize: 640, + width: 640, + height: 480, + facingMode: 'environment', + }; + + this.video = ARController.getUserMediaARController(config); + + }); + QUnit.test("Register empty URL NFT trackable", assert => { + + const done = assert.async(); + assert.timeout(5000); + + const loadMarkerSuccess = (markerId) => { + assert.ok(markerId >= 0, 'MarkerId is greater or equals 0'); + done(); + }; + const loadMarkerError = error => { + console.log(error); + assert.ok(error, 'Test with invalid pattern-URL'); + done(); + }; + + const successCallback = (arController, arCameraParam) => { + // add marker string + arController.loadNFTMarker("", loadMarkerSuccess, loadMarkerError); + }; + + const errorCallback = (error) => { + console.log("ERROR" + error); + assert.notOk(error, "Error while calling `getUserMediaARController`"); + done(); + }; + + const config = { + onSuccess : successCallback, + onError: errorCallback, + cameraParam: './camera_para.dat', + maxARVideoSize: 640, + width: 640, + height: 480, + facingMode: 'environment', + }; + + this.video = ARController.getUserMediaARController(config); + + }); + QUnit.test("Register empty URL trackable", assert => { + + const done = assert.async(); + assert.timeout(5000); + + const loadMarkerSuccess = (markerId) => { + assert.ok(markerId >= 0, 'MarkerId is greater or equals 0'); + done(); + }; + const loadMarkerError = error => { + console.log(error); + assert.ok(error, 'Test with invalid pattern-URL'); + done(); + }; + + const successCallback = (arController, arCameraParam) => { + // add marker string + arController.loadMarker("", loadMarkerSuccess, loadMarkerError); + }; + + const errorCallback = (error) => { + console.log("ERROR" + error); + assert.notOk(error, "Error while calling `getUserMediaARController`"); + done(); + }; + + const config = { + onSuccess : successCallback, + onError: errorCallback, + cameraParam: './camera_para.dat', + maxARVideoSize: 640, + width: 640, + height: 480, + facingMode: 'environment', + }; + + this.video = ARController.getUserMediaARController(config); + + }); + + + /* #### Full setup test #### */ + QUnit.module("Performance test",{ + beforeEach : assert => { + this.timeout = 10000; + this.cleanUpTimeout = 500; + }, + afterEach : assert => { + if(this.video.srcObject) { + const track = this.video.srcObject.getTracks()[0]; + track.stop(); + this.video.srcObject = null; + } + this.video.src = null; + } + }); + QUnit.test("PTV: performance test video", assert => { + + const t0 = performance.now(); + const testDone = assert.async(); + + performance.mark('start video measure'); + const done = () => { + performance.mark('cleanup-done'); + performance.measure('Cleanup time', 'cleanup', 'cleanup-done'); + performance.measure('Test time', 'start video measure', 'cleanup-done'); + const measures = performance.getEntriesByType('measure'); + const csv = Papa.unparse(JSON.stringify(measures)); + console.log(csv); + + testDone(); + }; + assert.timeout(this.timeout); + assert.expect(0); + const success = (arController, arCameraParam) => { + performance.mark('getUserMediaARController-success'); + performance.measure('Start videostream','start video measure', 'getUserMediaARController-success'); + + arController.loadMarker('./patt.hiro',(markerId) => { + performance.mark('loadMarker-success'); + performance.measure('Load marker','getUserMediaARController-success', 'loadMarker-success'); + + + let t1 = performance.now(); + //Process the open video stream + for(var i = 0; i <= 100; i++) { + performance.mark('process-' + i + ' start'); + t1 = performance.now(); + arController.process(this.video); + performance.mark('process-' + i + ' done'); + performance.measure('process video','process-' + i + ' start', 'process-' + i + ' done'); + } + + performance.mark('cleanup'); + arController.dispose(); + done(); + }); + }; + + const error = error => { + done(); + } + + const config = { + onSuccess : success, + onError : error, + + cameraParam: './camera_para.dat', // URL to camera parameters definition file. + maxARVideoSize: 640, // Maximum max(width, height) for the AR processing canvas. + + width : 640, + height : 480, + + facingMode : 'environment' + } + this.video = ARController.getUserMediaARController(config); + document.body.appendChild(this.video); + }); + + QUnit.module("Performance test image",{ + beforeEach : assert => { + this.timeout = 10000; + this.cleanUpTimeout = 500; + } + }); + QUnit.test("performance test image", assert => { + + const testDone = assert.async(); + const cParaUrl = './camera_para.dat'; + + performance.mark('start image measure'); + const done = () => { + performance.mark('cleanup-done'); + performance.measure('Cleanup time', 'cleanup', 'cleanup-done'); + performance.measure('Test time', 'start image measure', 'cleanup-done'); + const measures = performance.getEntriesByType('measure'); + const csv = Papa.unparse(JSON.stringify(measures)); + console.log(csv); + + testDone(); + }; + assert.timeout(this.timeout); + assert.expect(0); + + const success = () => { + const arController = new ARController(v1, cameraPara); + arController.onload = () => { + performance.mark('ARController.onload()'); + performance.measure('Start ARController','start image measure', 'ARController.onload()'); + + arController.loadMarker('./patt.hiro',(markerId) => { + performance.mark('loadMarker-success'); + performance.measure('Load marker','ARController.onload()', 'loadMarker-success'); + + for(var i = 0; i <= 100; i++) { + //Process an image + performance.mark('process-' + i + ' start'); + arController.process(v1); + performance.mark('process-' + i + ' done'); + performance.measure('process image','process-' + i + ' start', 'process-' + i + ' done'); + } + + performance.mark('cleanup'); + arController.dispose(); + done(); + }); + }; + }; + + const error = error => { + assert.notOk(error); + testDone(); + } + + const cameraPara = new ARCameraParam(cParaUrl, success, error); + }); +}); +//TODO write test for external Video stream creation \ No newline at end of file
      " + + "Count
      " + + "Total meshes: " + scene.meshes.length + "
      " + + "Total lights: " + scene.lights.length + "
      " + + "Total vertices: " + scene.getTotalVertices() + "
      " + + "Total materials: " + scene.materials.length + "
      " + + "Total textures: " + scene.textures.length + "
      " + + "Active meshes: " + scene.getActiveMeshes().length + "
      " + + "Active indices: " + scene.getActiveIndices() + "
      " + + "Active bones: " + scene.getActiveBones() + "
      " + + "Active particles: " + scene.getActiveParticles() + "
      " + + "Draw calls: " + engine.drawCalls + "

      " + + "Duration
      " + + "Meshes selection:
      " + BABYLON.Tools.Format(scene.getEvaluateActiveMeshesDuration()) + " ms
      " + + "Render Targets: " + BABYLON.Tools.Format(scene.getRenderTargetsDuration()) + " ms
      " + + "Particles: " + BABYLON.Tools.Format(scene.getParticlesDuration()) + " ms
      " + + "Sprites: " + BABYLON.Tools.Format(scene.getSpritesDuration()) + " ms

      " + + "Render: " + BABYLON.Tools.Format(scene.getRenderDuration()) + " ms
      " + + "Frame: " + BABYLON.Tools.Format(scene.getLastFrameDuration()) + " ms
      " + + "Potential FPS: " + BABYLON.Tools.Format(1000.0 / scene.getLastFrameDuration(), 0) + "
      " + + "Resolution: " + engine.getRenderWidth() + "x" + engine.getRenderHeight() + "

      " + + "

      -jeBxtf4DkUl7I#&PaM>v?$mNO7^*sr(%Zts zo^f2nA+GNH-k|eZ%mObM#Z-1K;Sl7WE2PqFlFk7vnB9!mKjLjn+{_|~{Gjty^sO`g zTS?D)<$POn=3KHb-BZRZnF{HKDsi5*c3nz#wDJaa3eSNWS%4i$#dnu5{{UrpcL(n{ z#c{TfJ=N-{87$bZQr4nfBf-KTd1MLs*PLkf-)huReOkS)-qXm@0)R)!UNxxvy2E;T zzt+8LM8jA{alozv;xu4iz~k1NrXTcF`c>ggkl_g&S0Si3o2bUW?N_B}Af=j`)lyG1 zat9OwO*`vBYU6x09#PA^KN}d`C=bYJb`OwZ@LMC_D<9IX349 z2BUddvKW)^QH3mcrjS87r0dePG>tv3CSEwM`%kn>cyOZ!)~_kR$E_~nP6aYa0qx4JX;i zG=|;#H3HSP;I~>|B&Q|uidL8acRAzUq8Ab50nJFSBOD^s@!8xcZ?nsWCAqDHkjkGb@O`SBk+Mma92$}kRlqE8Ye(#nyjdLN zR#`)DH=wP{DFl#$PdKRj!~wE@3Wcr!KO)pGZu5NjAkxH)%p#QWMdhE7^C8IgsVrwg zLX{tlYlsp-o;H!%v92XHQxLr>t|Yy=3Nk}id7x=g+S{os&MRS=QF3rGT<)oI*H=O$ zKOo@Mh!jS+QN>7G@Sq$DcJD(`NhSe4mC0*&ZEAo1Hm_f`Zk&@MmgzP9yrr39iX;_Nl-FyJJenb z@NLYRgi}tKMIeqVZ{jYKc_@wuqb4Qfn&I@lF7nFdWmw5&^%dFMYu6^-;kl1sz#V$m znre<@)SSo8WXk?^>pmSP`!P2In&G}ANT%*32aswV9gABgeJe|~L3G%OzLm(w`^{xL z{MG83YVEdBioP%@RD;DSUNcBXK|vf>A>-Bm06=Q#d=rzTMf4TXH{IsEcjA0|Z(?E7 z2DnunNvDpqywg}3K-*46C}u8lMO@SE8hHi*#(gWh(e(7UjAePpde*=lI(pN9_Y~G4 zexviOjcV`8O{#frIIG?h)3-F$YWJn(c^5W zCa&9GG&tW7t$R&Q7Z@M|S`o^Rf*4e!;d8}RUtsgMmZI7(&uXJW5}xa zz)Etf%|mGJjkLA~YeqYDXWULfsn!%yHi1*3@&_2{QR9kc_*J6OCFsovhc>55*3m}!xP@RaN9;Y0a+T&={SlKcN0+A z+Z0T{-aMMKo;ahm9gRC63dYxO1P~C1lUO!rT2C?0Q_gEga0705sv3wb2>@i(zX$3| zY|jMz64~ajc$-T5dKoRoTc{$rOI5wm#TGeq9fmSh(r8#lhoKF;EJtv4ir_4#(;97s?Vs!7IMRir7pCez;b=5v0UCh6U`T650$GHubA*^rO{N78hmo^j{$2g{7TG3W17XdwRU{Sa4I{CG!W!-Qt4KR z;|wcNtr1Y*3dWKUZb&?RDsW5=39Xx18saKcftFL)8jHx;IN;!#z9B|VMk_Mz(5$aXJ)VP%AXyTu+vgSv})~MH`ZJ~ef9xIu*zCk-nF~^`aqZY4kAqp67HF2&HMsg`y zWK`Tp#Z_%q+%`81)1Jsj{Vh3T`uUlIzF@OgmtO44PudiCn)(+TCJu551 zafj4{b?5rmsi|1d1L;ECMmXFll3c_->k3r6iyW}27Um{AFsGIT930mpD%#R} zw%>5X{cC34(IQ+9wPEB~*DOG+yUkf41P-;7Z*Ff~t-2PiZ9Bpjx0__Rd@1J@*6H35 zf&dGFk?mbAj+F!`0-!jp0SX|%QAT@UQ?bWNX8astrAGuFl>~$n#wo}JB#Jr^D!W_8 z-BcQ@b)(x%hbTF&XH@Wgy#D~|zz6Ay<~1J&-dmE;9m+cz!MKL%(~09F2N|S};ACeX zTD262#{;cSV-C5+R+in<=7iwX&}wp9;bk0p*2SgLP86vFJ*w~n7!-`O;U5B_H!Yp9 zjQX0tV>2QJzBX6Z?D5}QGR zjw+^``?+w(iq(;mY59QsYaxgiB%D+30GxuWRxBlJb^(tE*0tS(BDkpTfF)RVrAv;e zMokR~xH({Ws#kG{2Tm%zt-^*Q1D{&7UEGkP0;OAaBQi0kwW@9IYoFBd71jp=t!Q>F zc{-K^s6LhHdUd*6!WS4dE#1J02|RIJr0(~(3{Tt!xt)GZl7vII6+#)BEIORG)|TU1 zx@H+-pmwLt;t8aHL>T8DwJwtc)3=!;Hr)5Cnzh?S7=kwI$68G_JhaOUlUfOI!;aL} zm>iNhrWeW04JQ~QnxT0lYKL~xeJe88N|RKZg({xF*ITFP7P@pnz3R}GqZ za2@P802;=V#M*_){oH#8`$sf=vsI986Mh?N33Z)X)a0_T9;!uM()@7#aEkFfzxK1m zZ(l?;drvY6NF{PMn)92vZ|pS}hD)h-=Zu=vf+;Q#G?U2RjaW@OJY}*^xy@LP-X!~~ z2jNl#1Eo6{=|(uC*06j*CfJA`l^=qW{Ud*T*G1yJN=rBkL~v_~{{V!F`K12-f`v%>;8qahV$!u9HO5cRI5SkEM1HMk9;>G43i( z_%sod{&=R67OGy{2;y&0I%cu7i*tK^9r9N^X1l=2Wo^bWTtA4lnP<9aU^pEzDh)Eg zwjNC9uQj_G1YVdG70trLq~upQsOoOzl?_jzXfx`v?v%FAPHWOMZw$d@7|dXwrF5}I zk*HNb1zFgedr~jTcrN4fY|c1rde;Z6r0;Y{QhQ|8oik5)6EYrtwVkVJldQkG%MWUs zMbRaeUGpjYYp1#q>Gqfy2NlZO`ImQwMt^v&DJ@7O-iSrHD{*UVY-dZd;4rv)f2Q^dwa+KTl`FIL>+Ix9u%eIssa7fD{Z2 zRZG~CKtTeyU1~oreg_rZd_8At6;>pU-%8B*hi(TH&YMzH7XnE$g15kabX#uAa z4>ZDfu4BY)jw@5Z$OuA5T9d~cnKq)6pGx6Y2?K)2-<4}X#Z+XG_*KX*Rw+YnJbPDF zrTBt2*%nFqis_O;Bx=Kn;+7;?Z1tA@5Jc;0MK*T5nfJsY*O=1 zMJ{kTHPC3fb4XN>KN{=p?b0aKKmx2Np>$K{b`aA6DGOMPDZ%75k`2=HPq-@ zc(%7$3ge2(@n)&y#j-Z}n}90|NwzaLn&6U7Nj1_&p;Q1cDrcDzCg0Y$?Pm9Mg;BfJ zpAP8K-%O;gS2gO|E}AT(17HW*w#1kmgIJpOq}FjWsXf$b*9{E z5JFFwz!6o~TeT-1VEpRT7tqW198$gfN=RqN<4YCv41d-FYQVWoyMqi=k=>(!H;S27 zHark$krWJKu(gdI3+UT)V{!JcG}g2kY$kS8CNb&Sv#sT1Y&LOQmOxLmdhuSH;LihF zYH_RICRKXHKjDX>ecs0vd-+bj9;j2+xFb6$prI0Q-CZ@EQ zkW|&!nRXnIYBhCPc<5@~#lUE=2Neyw7UMir>24b(jVr?#Q|nX<800>cPU;QPd5SSk zw=y-EbQjCZw7yp#^Iw6BPI(ijr~iNG zo69*3z^q+Wl2Ue#d)881wW#B!d)1G&JI2f~IL&3Wv)tT>)RIkiz8BIwn3d%jV}p}j zU~sB100OWz{am7XadO1gBv%V;rfKnft=Q*^J7V#GE05Q2-slvO-k#_ zPE$BF-{|^$dUdL?01zvf@t(fe7VtOB!yI<5XH2j%$>ujCoaVaAdvK9~j@4l!0Mw)n zy(*2-+NQXDaq~5IzYkOmJwBCR;u?c!`5fd|J)rX$2DU&Vor(!Ps8gCLkMfSS%6NhE zCNo_(gW~exjQ;?$ns0WQGXn$n5`ByRb0=m5;M$?l;w!DlMk=&2J(2Q_L<6f$| z{1!SaQ$SbkF^o$S4p$?C{XwrJ@rJiPuW-^`v3Kd3;I85;F?2mDYfVcCLve@8ANwxc2(2J>ed6uf# zk^nJ{m`AN~NLONq2G`%Wchc`nA{C?G`mWpL)sDVDn^YAC^4U(h7eRlrvyvvM;V0Sv;tQ zSo&98;VmU$wh~CcF*zjB;=N#6TRNc`91I%s`*f1}>&=%W``1;cT8N?_FIv-89jGgU zC~gPVsb3G>F+Fiy7Oa1MYtg&|9^E!G>?#k4E1M}#rE=aLKPj#71t)V#I#Oer4Mj6y zNv=OxK4s8fQ(fnU;n`@Uj*D4-EQ%RaunUn~ZHx~0c!-gM+PcvV{C41mI0MqTT}7oA zfZSx)W8tYS858c7uF?`bv4O>M-ZMG1aqU{Z20!QuGtdg^9D33bhRCOINA#p4y+b?sXipigebuk7)mJ4&cUmQo zx3*p|aZT4-ZL9q&%k4>RL5a^MyBlMOln+XjoYynrBHKN)S(*+F^m+d9uX51Q7S=og z(zRG7DEUCHcf~S6o8d==>KJ=Pm9l)Sw4o9WW{lRFt%1&3R6^+pnCT zTF+D@@l!)Pz3(}vqIk}&#iC~YSZbL4G~q6Am4HN zXViKc*1PdEnu2as^1%RY&T)VTU&66xxGoOkl4^y^2gvjljW$w30k2p1f1_#I&GN3Q zZcVqH1-{E-1MZeUio}p`qrbTWy+Np0+goWGUFC_KCEP?hOa?@WfW>ju2|RuywQcx6 zP-|NsJtnh(Y(SPt+e%5KiJC$eFZaDLdt?sPSH&8IwxKn=miIQd5)$m~1%ld~oOQ?E z&p%FmYctDonLJZ1fD&MV*0lt}tjE62K%KdsTfh z{{RdT&Iql)wa2ub;}wsr-l2@BV0zR(7}8$$?IdLRbCF)FrrNEnK|sO9O?5KHjKt#t zxZCNT{`X>%P#$TzrM!{b?1T_&l#fT3?OW~+a%;5HW4DGCR@ zb3NH$m{Mz|(=8Ul)H8qx6^VNzUtbJls_|PEaEPH*$2C0w&`%YgsNC#Ap!~;xD))u- zr%A7(5Ev)9uzI2Y_o%JA_5UHB6U~j;<+w z*A{;Gsl3FHe63Zr40$Kl73bQg{C#4*OTjVi(_{8gRXlvT)8+bC8K8aNdgxZ2>qpX) zrxfGUimP|>#7%Njjry7o_N&r#h`-`q7t~fhtD#AEF6PM|nW}c$GT6)?Xc+aav#CTO z*h=RZtUHY*bqV~!2THN0_8IW2M=MkT%|ZD^*t?<3>59{!|W}(_7`_999;wch1B- z)|ZAXer@hM^{&YV00OhMsQk-U`d62_7&Rsbj&ogIn{I`9>MC>6u(kM$#lWt1!b1h( zvEyq4UfbcDg__DNHhx;(12lvV=DE)mTS+aXf-bl?uQ0gq{-9X5ka3>1)c89}xPT8j zGC9vR-^CeK993;%GHnPTo;z2QYf#8biM`$31vWW@O#=Bs$YadJ5AT;vE$$;WYCgKmfWJY{&raN3IE>Q3J= zu9Lv-66XxSb6%wjDOKcEf%;QOCaCHtOe_fF734lEK2__1#boK%EEo)$(lQ39Smvls zqs%qxz5%wr8mzKu*1D6+8U{BuH!A_R9ofqbrB86gbn8|;S{M68Wo>b_sa-y4AC`{? z?h+Z4{{X;A6)Z@H+i&-R^ zFkZ?lVvf5qF&R6!Am^v+SwA6!eASga>kQc*wDYK`UMjh}%|UX)Rqs?4VvX}tT&R`; zMP*s#E*LTI#cuFdjAF92NcIiG>r!b~o0KUy?OKg0mE_kwt-9wZd8n+f!$4yroMN)> zosv!9Vvt|T$+tCYO0$zuxg4FK^{-gaG}W}WPBF!7GX+vlL0rDQsFr^!Gs)u=-7eTe z518lXZfe~35e4T2)+VJaZ=Wqj<5`hME66@`T_&4u%^&YDMO%{E6&WkixnB`qZBrU| z;8hJG+h{J`>s>lfXf;~yaS|M!Y8@uYwF{(?hsmBR&@JOj3t^rPE6+S*s=d|gTf|N= z$rV#gw({c)M`|u_nHzv|D>7|DW@Fe>O!pf%Zm2)B@P{{UyxL9SC$@iB(rqNyNN3A{vZK~o!gb*fTbfC=*3KU$j8Uu%DrV`KF-&}llY z#mj?^J;K(2GeptXyAE6J?BTjQRAtG2cv z#=ZFKR&#={hI4`5yB`B0iw3pIpY<=>Yfw1`&5jr!D4w8UfaX^jhvz4Dsf#7oj$J|swIsXJMwF< zvyw)L85alAtQO*_YElJ=*Nu3>WtUKpFK#Oa*^WjlRa@m0ZmM&)?+tr*hBWI*^qFrZ zzVO6hl_P6g>x+aWhHst1Fu^^#jAMb{JH|2CT78Xd<os#cz^v_Dzw7)L`jw(Cpo><7nNEM3|vO_)xb6e0PvnK5DYAd@f z(UQ%@WIz%NmR2JjMN6wm8=(jXIIPPHSGk-Jb9XD}Gf{4PNRN$&j%J zp|0!08mryJ3k)8ZtsP?b$%V1U2Do6)eRy57v>q#Z7{VZ4)jkF(1xG9F8O>#?Nq=>) z50oC&-{{(Wc6RE-bQOi;9dGRL?TvwBz^+40w|l9YX>wVObkJIYfpJmGq(=EC`Bo;O zX%sJkjw*%4#6l7V3B_Tm8Dzk%%_~iIDo$&vSbUpJq*oz(gMNU2dc9-9oN4Mkg;w#1 z&5XJJ>8=Anz;ZKP5T`9Kekfr~HJPivA|kQ0B=axXj(XR5e0FKzdsmlgt-9^n))$FaHcg*O@)h|tIRMAruFlBj74^kfJP%q?)6mhLdF$y+kcAm1<*Xf2 zZ#G{oInSkZ9vraS9kf`%tDxeV&xOrVo?oA+73%*04mCR~8`r1J_ z3S*0y<+N6G)@_T6;*R9 z1sP^N1$Ukd(Do4|iSrutC}R;s6-EFRS5UiHA!10)aqiEk-Qy&nrfaY~R;-Z%4&K%0 zQwap8%m;RPt$h;uC=c&=tGbS<9PyQfa&e9YW!PzRT+O+Y3QwhX8cmq7gK+?TD-*;Q z%{<;xlkZQ{EyQRE9jizHIHyxfg#_mnmvt*#NFs=mYpn3jlp={;*Pf=Yc!N<(TUH9# zz^^or$*JC#CnygBx=lXM?C|8SDsQ&O3t@<&ZAv1%Fsxhj7dd6Y70TZsj#8$gwQZ7v z)K_t!O0ppNarLczLNoSuHNwm@s7IggSFLzmf6y1{ReV}M(B%IBbl08eXXZaz=~Q&3 z92$KY80k!IF<4sj;SELMNXtr3t5mXT!?b7fEin(uACTXh4{x$hK{_I4Ga;GQiOyC6PV#_<~F%>66Ir}=eh zLH_l1`g#4*{VL{9r8sd+Jbf!WQo8cv#(AnbMXTK0d5klYUHyzcR4M?gJolgxP88V@ zWKtLk;(Sq~7Iv03=dM7k3k#;VaFUV;u7=)almZ&1Wl}3IP}5dLW>w~}TH0$lJjlsX zI%2xN4*0R53k};h*1a1@)UEE(O2{%tt!*TUjH#rhTPq9n+oMBB|-wi|^@;N>?))- z#rY$evS8Y$iiChFt;~P|D>hBc#Exs&{toJ~Y1)j}QqI;<3GIxRo?9}A#G9TXR1&+w z{SML(2A$%2=w!3ftycOiLgLaUjqYMr3$s5YV6X)38Rs3q9V%@n#hM<4r6_F{R@F}J z_sH?H4o)^Kh~Y3X$QiFb@iw((souqNYTCrJlHPQho#NaxbjH#Vao^XsrA=Xa3|LW7 zYBCuYy=CdHR&qV-qDa9XI}Fm36n!~0k*mxaHo)syT6B!Eao@dJ)C`URJuywv)ueC- zdfi<(pS;{wMzd?=f=66av=&lSKU(RxC|-aMTIYO0Dl=^ylUDpEqO{W_uDo>>>RNre z+r|I_r?{9#gr7>|b$iykn8cmUU()Ra5sZ#%#nrOTq!G#QT>a;V5?3vORTskRpS${1 zyKfGpc=B9#wNI&$iq1`&?11MoPLxOip;;bBjsL6 ztzQf2EYf+B4A)2cMI7wAjK|llK{T_%*z+5odcC1t z%-4zwoMydKO*^fZK9!5&mHo?A?*$+9W%^fS4ir{Dh(_yEUNwL6>hkf`tE$r5bORri zXpTiYBOLy94Dtk0Pg>`$NxQiSy#dLtzd^7OLKu!~cnk^+AsObEr64DYWyDK55W=|) zb3)v#$Od~6T;mvmzx6z2yf)5m4YAfZCy-i_DDUtF>%_ca_Q<(hK zJOiaVbmF77eXoOC5h!&YwRXm5v$zr_IPL3Qww0?vI*c~g{^_f?7YNFE8O3ovDV8=* zQag(Cy;oU|(>vSst}k2ha66I^Nyn{m7jw;fDR<6II@-wRCaJrlt+(0oLBlJiP8oRb(29@3Iy_pnmbWVDAKMqUkfXt9(mE?;@Ws`L?dt>i&+No(J6moNsS8lEpMS#DJV8tO9 zSze^qLvFIjfcsU2v}War6;D#MMTqyTjVKSa5J%x#8mw#Nf&d>bYbQmMZ20%CxH^;_ zD-&B~Wo&v@CY^B6O~*>uyVVGf0N~@LN2A$Et6d2s1fV=us%YALcF-saGm6oCASB=l z=C$2Of@4$9PAaaGXbTBt>Urk2{!nl+N+~hTE&x3#O;FVCyqJjx2DnT6hrPPnl2lfm zj3Ow2$2DwlGe&SmYNh4Cjd(oMv^_bmE*4oqKGohu6m~Y`r~u-)j}+?Cy#7o_mg9<# zLefJryMjsNlU-WEu_hE?Q{%S`ITc$_u!YoyL7K(>#DU!9N99g!0t|4pmf93PaQOvv zmYP&CNB1eRppD9?z^Zzik!r&|tIwk)wRrKyOG+*g`utG40) z0N$>V56UPfnpLOfqL+kfLm~F!t!Ngq3!qsD!St_E)0b_s`ijQ!IVK~Xm1n_Z z`3qg3BNdyi0Bucp&bRVwGI5S;rP0VRD6J#KHI4y2s~c0hAsI)|RNfr4GRPgqbL(Br zx++Eh6(>qkb4l8a()}o=IxCDY2C?-m77K;pE0n&{CbVKdO}lzN)G;aSr7z6)6cEx;J`HClg(xCJ9-e{y)PV_5O+_0VA%2oI%k zcb9jUvJ)h%)Yxp9$leJxp#_Q{$y$7yBU6Ej%)7Y8aMh7g-Xjs^Tg2J{V zg;7A;Te^3Pd@p&WS=;!k!&7U!NW?MS>C+;#k&n8rt_b5e$mbaJtZx>0zSB~BTWuQ6 z>~yO%D-16unC#4Q?(OPMI2-^4UGNR=koNk`&Z`BD)y=$dJTP9&V^)vM9&u5*ceqZA zobpHq7^yxh+S*#_nnJ;CquJbjqUl~M4Xo0}8GO0R24>pJzy$SDM_xHC9wR0Itvj1g zA~`(QKM(^@z~E-O`!)g*lT(*o=CbukQ_5@{*F9k_+k!`}YG2%zhFj5-Zg8BqM`QQBetq7vG=ZBV($tyN~{dj zUj0&A8zYFVic*wPt3&&H^Zo-l$H{Z#x$pb)xvmINwnH2AN%prx_M|x2Vysjha`5dJ zHPC_x^}zX<+i}DP7A;CF1iWE_e=4v=^h4U`EPRp5Ss_|J@SE?LW>kw89NOH;7sm@( zrYdym5WBJJjs9L{QD8`XSwM2{OCh4OS~La@-#5#c8nb9mY{3T0S~0;dC4{CVolT%Ewk4aK{XsWP)((5rjyA3~Xl-ET zL*^9KAM1JH4VFPQq&YksO4Bu}(@S$L6`bw0eSiV3LNvKJ_5pJu>U9dDaT*Bqv4gV!O-T6)Qgv{;DGBTOY`iI!=Aw-!e#MXQJH0 zLFmPn{8it7oKY>m7XGcqEzIP_(TVg71`NvOpBgK26evYJ&DNRIJE%b9KeD|Bxjtc3 zhPQFO6+VNPQV*tTf{&{A2%xL4oMg86k9Y-2AHGhn=Xo#-!lbx6=9v|>BFim2V8lsC zim9uiPPH^F=Ft?#ghWe03mMgT#IzboH^q3AU^L`$W=Ce+!^{1*$rf;$4<3ElEm|)I zbpD`I@3LNllZR2C7+SI`mjC$?66uQa8+(kM$z&%7&fv|@BA)dppNchPAs3dSO{?EMyATca04w&?>0u@%tmNxWPxekUtr#GL9X($CzB+K};dcPY0sD!Xay z8}W*?%hPWk$SQxtan}6!BpuP~@pr#^AfiQkZrQIubFKKVvp5RN z@9vKl$GnJ-ZPiCF5A;=3xKnF)R$3NJP}b)fPEDbh4kzCg2P+EXATJn$5HLsH?|PDR z?w0W@nTz=HuakQVbeFLqhS!s`_7Q8Y@^|^&Of6|FZ+kL`xts=Q^qZYZrZ~|RmeEolXy>Yc)womHkb9NGJ~H^Cm1O56M7kB&dFC4W2Zbe-jq0EiG?q`!KNkxYMQ zdQH1lRJOVQ_pP8&==df&Y$4uG|3Ki^G5AFF9U=;Jv48V7-s(LOo9uo2j~+kkLQG?_oNJcpmFP=!A;{7EoOYBVC=eC1`L z-z^?Mdu+xRdW6pj*Ut^ENWEzEpdn5@9c%VXx<-u zrpxm+^Rl^;kFAqvn@u76t899Ms>^&us5{p4K}VrC_0R9IAB4{TXFl~+94~+Vc0vH( z({jHgLX1QJ^dZWxs_%u^3jRvT52yy=g}jd}9+$-!#2S6t^tC<_fA*MpJ4w8ys~ndO za*fQ}moqwhK6#CcsIC5O4Lfy#p8pTPp52#J`Ku{Z;d6X(ZKI>F5%ol8`sU`|UIMHi zk0yu|?RG**a*!>MFqBT*$B%ojwy?awY zKdGV{pz;i6BgB-he^4_BkQWFOIyRn~1eSu@HP(|5de|&4au-7C;87(5Fv!W)ojp8A zjSUBI2{MnB>+T**wr^iL8SxIT)7cM-;i`TAIk&`mZ@M6O*PlN6e*ikU9sLE&OmTy^ zE6=wNwj1N`e@TAv^8E0?9U!IsK5?b;3UyYqYlnT&UUyDw$?@#+@DXB7vGgW8dsYEx z>0?qCyLtkDxwEw^RKRvs<~E8h_ylSn-7egs}FPkiFHG#7BC2(*a1RM4asIJi8UxQpT)!KpLK=@6T(s;xq`5UT>{Wr zCXzO7IZ{v|a`oC{`V&rN<;Ehe1Cg&=g_B^V=R!>vEIPyzpahkv?6hEhlxk;xlkA#< z^mU8!k_W83WZcBqTpH}AI4-tfpE5tzanH)#O}=bO5b-S*ECew^;9>d?M1(VZipnPp-e2Eq zcRZ7EB%m8-Lb}=uHdzxC2)O#Jb|DRnQ7pK3M}{b9x%2hukB`=wPK+8yS}u@pGEwFf zXdb3}ZT(j9w7&InGq5?gKedNu&lom3qZo1?{FUa3Mj;J=It>0r>wjJrzvsh+#Qlx-H{ zv%V@u^j@%I;k5A+Kx{06ur@+>6i;{$?g)qisfg0%-A9 zJdJwt@E1LUx>Xn_6&pzMb$9UIPB-uk%@j_sQ0qY!;XabTOXI5k@Z!#|0LP`n?;}D~ z_LD`Wc@>1TeD9k=@_+1CPw5X`@7xnWhQg((I=zlcHCWFpVI?lh%Yv6?u;?{D78m-( z_Ngy5LOrw0P-o|D2JkY^JwxzrVF7I5Y_rCZSszFcBA)!i9FTB+IY;X~Ojsb`&|V?P z*N9te1#D&cZd9mk4z#(gy+`KsFSQ}v6(UgGIH22@85vYz!{lpx^(()v8yw=aUrs&Z z&rpr#xo31*PJ9Rk?`f5M9Y8m5Q8+Gwm88{Ez=VgVMRQHlm(2*zGQk^z8k4&%TJYI# z*Y6VV_t1Gl`UYKPb={nvr9Lu(^iO{2vr?5E6sO7?G_~LB7>KKuvqAlIJ*4Q%RX6|n z-uxl@)zcC9MKhoqOcPoA`H~jQz_wQB0CX*3L;nEED zK8`kzcg+6`xWSRz2jjYf(T^m<0nx7IQ6GiDHU&Q~zVzTi6mA?;I~(5U_+!bK#$of9 zna^3sa)RuW6ODZ7^>^AqG*?-S^wQ!vOQ3>}7T^MytjNP&znKtwLYEkvhPnr!_QbUY zapJ}Wh$qr%Lwv-Nn2gipp%KFrKwHN@V8r;B^TqKR`55caeDPQ_PvAV7l_icE}qqd5s z+oMtTH1k0a`5B0(9BPgCpimw@er=a-LzQUm~uJ>9Xx?B zKK)+Qt3cfQO7T0EtV$|m`uw(2xH)Bnjb6YyA!Q8b&c?8kl`GwZn3{PikBv`%lZ z60}9&{(;~;NAXRQ7J8Gy(2vZ~sImG73?C~|`$&!X={+LJC4ElpOzcUMmYzwFV-7NS zVH&6piZJfBeM4Sp{A>#_0~5CE;pe|Ua18M|l{8TouN1dbThPyEn>cj(o7$76`U(Wb zGRea7m%l&uunLAfG3gfkt^%{8V)+(i1yT^_VTp8Qyf_sofZ^S=bC$`lL_}+tKvII2 z5BOi0u9}zvF@_N4$LkFs53SDz`6DS3TGY=P(w;L)nuX*nwV-~6Gl*m-!?&-DNkto& z#J=P6Ac zUM_EASy<|2$>u*J0=9yCj-e_y`sJw2FQWHB5o@XG@nC%lc*JhJ2lFixKw2%gxJ9zM zhhDYF`aJlfp+oN4$DzMG?fk<2?L)^fmYT(z#{H*!W5InRd#xBAYN;89!SKf?U5gCY zu#cVXediZeexE)RNn;l@3FKzmd3U&Quv|u|+skJ&6@9-W@?R(qdZ8bU0;XTEuj2Jda2Ij%*{P8V zscc6|YW)1DFSq0+IrT2c*uXHuVBAEdsU%!`(sN3v%O%m3le$FLiVgi?{fq=apxCOO z39Ltr-J6LZDtZ`gle6H1T+P+{X#Rvi#U@SSrS9NqHdmVwPqsnBR;9EyA8SJdQb_S7nUr*2D3D>a7^)TmQP1AI)zMM7s36Ry zc7CGO0CUAO9W8ftM+?eoKkR_0LZ`|z>c~~ka~^W_+c31OekD|SDGRj(HGbdR|3!G_ z_2WFd=hwQ@)aAI!@uSch6XhTScZp&7`MAx2{n4WU@SGBkC_YrEA!!>6=IvaX7c8hgcQDgoQX_2`S1n4pZe}lv z%0;SIZ_>bC=LF5Nwdl3>8Kzr#RY0UNI`ShPY*4{>%1!&)UVWR{xWqW9XjoY@^biZW zFASH?c^{1ra*S+=bmsu=JXUi?txw#>!uL0`Ldb|3n{-t^>)uEBuq({pr(-2Y3G%fU zO)Uea{&NKnEq@Y7Vfj(WOzNeMa~2wI8rmwP+0uYIP0dKwGFKyvspPou5)H#VSK|$g zFV2^BI--s3bZr<^Ue@Y|8xP3@sN0*;x3Ort7Mm$UBsRwz4Fx}^dX0HR{_wYQvmuC2 zvQSbT8XIQT`;v$Jw9W_N{=TtE*NBZUY3BcblOfGg~qA7364myx|R zI8`NKPZgZ33Xr24s5lo%l&LS|q{I<5DL!+yp_8{T2VMLYC9%5hc4w7w78&yIp;AV3 zY4ROTp6@nwBOhUx^&9^Kpq?6BFmN~i%B_dJn)4;t6{q8(J@cV$ynI3SDXElgAlN*6 zH!eXubuqxbuV)3l{$!DGUoGn`;iF8m6lrFL2H$>bC&!QKgr(UJPiAhJLm(1!e<(#qjM{ zDu);gBeD|@ST?vjT>g4*>Q`K-1J0mA-8OFdR@g_w3UE&7(MT!kH4U_ zp#E#{7iKx?OrC4C4GZ?jAZV@LHblowFgD~ z{16^>+tPn@-NiXpZj01OJY){v{`5ANzN5B%=WQ}_VjG>78wRbTq9ZOVmRo33-CyPt z>bsU)$&)##7hXaVL}r2h5(bn4z<7=xjxOl8dzuxA@V0#vEvfkHa{)4%3#(Y}PXo`t zE**v+$VlNcbFVxH7A72P|I)ceI#3k3Auh`;(Q38$Sp#yy^K?znozefgQc z^74y+412zVPg8R8RvPbB-F9eQHM45b7vDKkc`pIpg{4-8K{B=`S<$)+9m=>SMV2y_ z_tif{tiKyXQX-7yFZY718xmCY&@hy1-L|!r8;8r%iXcjW4(A{Huu?OuaXnkWVzD+r zXh*xv%0`g%r{8kubkCJ{Eeh!F)A>sncarDmd-N;<=)ZlV;eTF!165xy zoY@IfhIGIGP7nS5dGLjG$NcH{4?|V%-98UKGVJ7+huoV60K9w{y zkPiI*0jabYjX1GiqbRxAn2zhg{xNRXO7{r4Liy)c3s$pYU)c7qVRB?_@6VTKWIi?` zZ1{AlH38TfXsI>7ijd_-yYYJLQ6oWlZuw(sNiiWQuG&T*hxDGOGsU+WUsZkgQU7J^ z&5%|?^}@>6v&d6tU@wdoq`o`Fj(LzrLyAA8HWVwg@y1BNenz|xR7-S{T|LqcSNO-% zrTr{F@*3kHp}c9LfN?CrZ_rYhTOkc2N&fU+H5WRqpDCj0yllJE)MRVV(NBLG@o!l? zc2+ss<9e>N4P80HMf)|{h_7CUuhT!n4D2Ebon1FhJRT$)N?f_TdI0t&;s5 zYLCnM(=}c97na+TBVP9Edp2Q%UJ#$YhL(Zz>X1-e2+Rp^dJP%s6bLF*hRhID2czYMYIr1B{Mu(-XXB>1aFnNu&V6J3L@?1hA1*VCae}Ma6o?~# zntD*S{l(Ne`;`7pdEiP*fIQ3(%WbMJb-C@OXsT}ze$*GR14nsN}m>UrX*4EKC3hm0^Dd z{|}(m-QCm2q|!Mu#S)_NxoE(zbMA&#aXWFCvMoyfR7YmauI=Sa5hWXN;CHMLPq7+* z@A0eKUOQbkcw7ZtkhC@zYym8eyi@p42iB2I%4-q3tS178HWLPNhKMIw_)29Xir~ES@{5^va38jTF5y!TnRU%M z*ngVl9Ntfr?sgIXkBU&e1h%8=EATk}?$}kcv!V7;(3Qam0#+5%m%)NO47W?0*#F~nC*9tF9M142#t z`v?QpgjIC!Ehw0Qul>7O75$8~8t+0{S))ds)&Y+}lS*an%zlW~UfK^3Uw-bOjg(kb zc_1iy`nLFi#a-`d?Fl(NxN*+P8Zokfxbxc)lyp5r@| z(!;b!w3ex?Ml@lt2uv@oMH{G0t*dA-vRGA!m{P(SlKO*cSpY5kRoCV#mY=&hkRX1XM$IhW33gZxi#zt5k^uE7B9}Fmg7buQBtFHIC zaEAA*Wo1poZXdu`hEWEe)1XHCwZ+%ewJHRB@DlqLsS>oEV#xnWDU4dqyqvgXVX1;y zZdjI>ttcHEBlviC-eR}KOgWdNKMuSwIDU5@s;LJ%G5E15g#RYoIaqk}&$8@IUWY-I zxWB|jQV*y5o*T$!B4~ZM?knTr9r}zfA09E6=PK(K!++JxjIMo1;RxRjo0@@s8WH_2 zApz=d+-d7saI>YozR?~rmMVV*;jehP!62OF1%@PhSJ$uEL~Gtbg@E^yt77 ze?EpdRi%Z-vVJ1QVp?8v?k7`|=<(q+CAv;Hd=_7BjIe48M@PA0R;|Fyp2K(8C&ywrezT^FB zEVuux-jotk|GS4~xWHy*LfF_(3$@0RkEQ-V_5D5x@%N^o>t#9O*o6Vkypu=06JTP6 z&pZ4)&xBG1_1yPl=RkmLt*+2KZ51$UQ2mcTrOoN~FYK{7LDQj)3KQj(3Gxvv{4ljE z)Z0Zk$oOfw0DNJ*gk5EOO`;_rN8$x)=ChqaYn92snS;H1jwj>k z^9n3`R)k9Km@I!2I-l+Y@XC#lb(>xL&&TE+zQaNku19NOx71qOL0@4~Ca;E{g4s6< zEk05Swe1Ed2XAIzt4uPfdoYaBGFD-C6>5IlJZv;9d1{}7Gl}o)gi2El+MO7c7aiK# z!4yjv zP4jMLkCTpIV>&`6oAL+xd-&6-g73b_d;M{gvpr-8TdNJ<h+IR*T3gp?2`R{V(l5EP64CQb%Gv zRyG`i_5Ytj)g^L;vK_*Sa++6I1@Jmw>Fj^^4~#;u3YB>BgR79bFpnV6G&&){G@6Kz zrv57P{Bgss)0fw&gKs%q*joc!GsX09mOYCKT4PVCzkr_I@5EZ@teKj?@(ExsImtzr zxM6G@*f7+;c+ChKZ4*=T30q5@Tv^%i*K*{1L-lXjF22`KQ!6)0tw&%Da~N%_XxsyI zuUicwVJ`=&yGg(hOg0{J=JG0pr`cH5k?b7~jNe_NA2pCz!}OzaI`}H|rIyZo_$z z1dD&q>N;$OjPJy2M)>lXsS&9S)*6!(5yUcSU{=yl$yIkFl%7H#li9ZEHw1Teap%vO(l?^zyZ*gTe0z3N!^TC zV>N&K#VNAM`N0riCvk>xLkPV6Gqq$ubE z8kV>qN6gi5iIJ!fGHInwX+o$i>=kXYw<0z?PTrqNUf27aTL~!na9klP#;VPjpVL0O5eOgmxguy?o_hn zk1PZ=+;5@#$fnDY{+pO#Q2f}EC;MbsKqag4IiJ40X5FMsbaIu!$t|sR-$~v@rJU2r z*pG);9eRqO->K7b?F<8(&0DWIUa_2v@IVKC>%Ovntz#T;xF*KWw?+bNyI)bg*NAEx z%1`W|F2Z{v7U%BD*Sr`s0B~AHb9Z=V_oo@#lu+>Ac9w_u0tBgX#ne>>nMiH1KM?Cn zzNJL_&#~%trL#^C|{W7marW=KxDEcppqJi@F2m3 zkYjvpp8F5jv+aR)$tL0m;*k?0u7n8_Eo-UilzHVb-Q~dxd(>INbdo0no_*ek$Lcg}w)guuU>-RV6F^PNKBgKP zeA~&c&)&x7u_yW3tEO=o9B4xXz209`=R#nS?mKE-htGI-&wT z`n`DnC~#@&nEPSI7hYyv6LDDy{bxn4b=M$2sj2r zD;gEMh-tTue8Y;RCtWm!YrTW|Zvu%JAYq4$sG(y=^l_J_86bKo^Rc*y>T47h-;kZJ zi6V2N!!*xOju1Ko<_#GTyd#HZ8<7w~ygerm(zGEG_HE{!8F@7OX-Axx63e6f6X;^k z*@mq4w0J!5;GgJOSX++H|DTlhqQ@%;_qt~Lo5K9PpKn^xCfr0fo5GgC57RcM6zEe||9T_}&e zm0?=N=WQiabxEEIqcSN5?edxTdeP~(x|?`n!vW+xqCTHO$FybTTvcwyeI+eQ&RJ{> zRKLVz-ksotuj?-1{a+FNBHlXWEdvMnD?Glxt=cCCrf$!#>f33!$&tvcwAy-(u!GK4? z@!l(FxZZE;wC+msO}0lWbRjp(%lvz>b;PH~FD8`IDMAWg71qpHC03aK%i2#Y%6QzC z3qy1qS9-0PieF+&jqnza9qEe~wHdXCfI>>hG10>@KKZI_Nf|;R+!1b|p}gqvGG0tn zQh*AhecgGDbSUy1*HP`1+}5RR@6_xJS?kTfQmx5+ha~RuH#;|p5&tMl8`h2Rd`C}= zu>)q%*U-dB32U@zc+H-Dld3vpx~X)iuqB18*InPp)-kd%f)xNY~%;w6RJco~3tR zTk1DB`0%WXKEG3-&iz^*-#qz^rU2hu87N(wKw*xLb!+zNVzRSe_mS1Uze7t*DSc1U zSBlV>XgZ4I46l!@9bJ3Z@An*rqKVvY-?}~<_TqZmQr6K%4X-|cUf7!RdaEpiWsI;V0q(4iiI35qyR7KRuK4ObL^HPowg4aUJ==RzFT| z#6{$zYxhZqpcPWB%pMzv z=T@M(Iw=9-Tgkcpm?^t%Y4FL&j%bv6&Jy9Ui-w(~gT#Spw2_iRPc*)R2#!(lk%7x0 z3`pv{0Pcu}pl}ktXh_V4lH1gn+E~V}P@X{5XZe0xrePp-Ge>zT&fZ8X>d-OdBl~wU zLRalmDU4KiC*xIhdnz4D7rkh5W@`4|`bhw1~{HzPGOL0Y5kw8H^u)UKG?3fuYeKGM@$3 zzeSPEf_TTsX_qEdXUr%_Srk+m0|)^t#t~khXxXH&F;xu z+6IgySysVgJ=_!)B`d$JgjNc5SBZGwuFZ4Hv49hs&qgAOO>H?#96#thHpc^DDz&j^ zcaU%eT6#LDF83Es_Li{w>Y&PLO>RY$!rLMjapx^ZcvpiWe_kcb@U!2o!u{W0WxahO z(0(=51!Fxx8?s2z|4AI@c7n+q|kxq&a2HA z{@yzakXJ{Hqk@IToqx14srA^k1O%veX)3OUlqfrhllM_6yJt4{VEs|}%@4;dr@H~w zGAa6OcamgH>@3g7!U5RFY71F!DW5wRzFA4%wM-rh5LxSloCdM8?{{((3NVU3!UR9= zwlrFlm@=XsE;R}s-CHznm{z`L{ujPY+!ADZh;vE{b@<7n^Cu1+AlIaVA84&5bj+Fa z#H-jUee<_EPipTZ%!5BeYd+49C{p%SF|2C6awGJ;{K32tz)NdGu`_7Gh~tzhIUEa` z8v$+f+X#c!A|pnOQ$5)Pm+QQLE2fJI0Ovf` zB4N~uRi=gwrGx@Wx~#!Lw!e3t-@V4(3*Xc{cH)%ilO}58f@M8>9X^apTIDdXMC&B`GRp(5u?W!6aD%L9Gkz$GUfa`gZF}$WfmL0*&D7VRwbn2c zf8(gja>>seo6e%Q%mW1e$b^;;vbl}N*55(i9vWumd?S(!(lF+fieLc4Qj+28~OB%El6 zNcC&KiA3GiKwZwI^c{g5(SqTMB~gip$NX;;2KIs=n7PDco7&G&)fKMDdH-8O@BG;Y zpK&c|w84R4j)%xyf$uu%;HvVbtDVNk`U}WFPvTX-N0PP$BaO&Ou-sR8?{CCc)dw5x zW7xyHKIn}X-s(KKx^4aY6PvxSD##DWx#?qqbTclWwI3;jpZ5LG1HLY`rkSpA8Mn$) zAD+4fcGn!DSa~GE0(At8sO|Rdyhc?nNoGva*5y?_Y&pUH%od7^VuqV|1y<70E#M|Kc(dbHoc452O_4LQFf7S%uKXBI?V)(x8x1 z-VhsKv&m`Of4~KMCy8cKQ|{v29Ui9MXJX8{thkVHh4!Nd9OZ)drid}7?=SP!9x7dp zMf`@m%AdH=_R~rQJSL}d)9ki0C_7WfEcb&ijzf%<}c2Ype; z^5K|uk-HU>#?01Iut+f#Y26stq5if7^PR>S3Xh|?U->*nHswdxc=fOzvSAd$@A}Ky z3eKq~#iVQ!^zo=Kk_4VR{Z;~7*HI+-?GGr--lUOhQJU;4Y_21wty7P`?+(_y@2Y7u zv5)E3Vn|>wW!v`#Ue291N!W2j|sgC{cGuMuzejs9u zP^(hM5J0`I-8kjnIw4r@98k2^>>l`Z&^lhSE>T`z7#|>?VJBoK(c={LRYzbUM0 z_m7ig(!U3%dse@BMdS3spz{6EuHj%BUr3N2IIy$LW?Dv;G3)NGj{w*$-)W|;LHl`~ zcb`OsiLal%9mJ<0%}y|4z5h$b3jbLT+d-jeM}pQXRurv97C{FYmN3LVIbA9T+?C;^9WLH6bvWZKrV>Z?tZSh2pT8 z0@UYUAmJ?j`3_SDp^E(bd0fWLQ3f4_XKiid6(^MvDNMvq&r z!AYo}5zx#w+2MZxzh8=Ah$M=ClK%8+6x!9hF_lFyqBsAw(|!4C*z7JwZ$o50-8#u56SrNy%cFsh>mu_=S=qQ|p_tvj_skc=&~vG`5(I7o03A1j0c~tOqj?x9Sp}&d=JfKTE|xY zE-SdB*LgwyJiYKqcNp!!cEr?g8-4Uw3m+QT{#X2A%#929UqD$_yzT6LA5v(nh7d7%xb7_4+?{C$kIItBsjTAN&yjO1ni5>PMuj;aMDNUl@N zS@;rMDF-La@7M$ejfKr=RhsRRaUH)pfAoQxvCc~cRif`+_MU7RaS|(sJQbT*8`RY6 zVA5*f61NSl=I*GzY`EU3?D%FT8lt1SYanv0CmMnikmiDREL@F2JO$@^Rb-6~@;hzy zCW#uLM1woEDr35WiP1~KeH3kL$Q%tl6kn^@T`XzNQfWlfn+P<=W|&zX199HT8TiAR zbwTU{L2VX#ei^h32CQyPw`DUaL^<0Z|RmvnMWXHiu3nxs7xQl;n^fn~@AI*3M3mqBov z3f0(tM@CaNwBa(Kup(zETjB9Jp}w<6G!@hq5UPlBJy1MASO&^1?ic&(a>7*!fV#(; zENNe(=dWulBqqm0EHZ0M?!n22LJ)z)`pB(!9c3)N$8e)XUwTuFq^Xew$*g>qj2@Mu zis*LYcMFkSxEr;<%2#sYW~&jICo<->p;dy2*TX+s zHx}!^uPET=74=tbI}nChzJ1_*Z4N~^ohApdYwye3`^t{>sr;e2-P=p!Wy;fuw$VKM zuG3vIYngxYZ7b4MC*wPZuULdjQZS|7VWlD{#yO+b_VEOAT-7%&$vXD(&${hDp6rmD z!YJ5SNMGud=XmrY#Oy&JZmY}H?6sJ>2}{C{I8lbdCuen6%{J|RM7I71sEw|mXS=IW zfoXKkkzX=(jKyJK=V*18-v7U?AWw3GjH-~%i~NW?8PvL*Hs!}H;xk*G(U(oPPd)Yx zkZJlYHfNh~wBe5&@s>mdtjw69RKyNMiX-f`>T<;|fvI~;j=>6}YiAUDXP3^|PB;*x%F5Zv8s)#QTOSO!}`)2W- z@ylu%K`Fqv4%=|I08n9AUFuWbG3Dtky%o>ylQ;Cqib%wAmTP-M7jLClQ5)HkI=cUZ zm4}l3UT3Bpr88$5*O-UxPwdgSIp^qh5aPT1GiHfBZ-_H7aF1B~f+W^@P;|8ZveR;Q z?8WaGQ`vwc$4ru}V3#;p_9C&=rjQjU{;DTkSDeJ=vfm>=LFKslExyK`&CFQ!SS_Qd z$dLy+GSJrFp_EjL4eYiGFvb=w>4F*!cN`K>#4c?1Rvp3>*pGx~h^N?UF-4 z$89|aIX>g+%tj&}mF5$x{aXH?D~E90KPJ3+rFpXghjQwo5BmBBDO6`0W__=70V#C~ z@fzd(H^pZ9;8yaAy=};H%D|+{qN*Wrs9$shZ3ids{|bCiuzHyI%PL-29oUH(m9~|r zOI;FbzW{`@PP!cMX61~uM1St&coRw4&aZ`zG&mZLbqp^6f@4i)+DB+^O^AWw3sME68oHVVb`L1NY6m} zYAq#@tdt|w?TA}QFBrT9qr4cUlm6unzQ&o>8$5Jz+`Gb#7|EcY$pCAv(KFM>usx0iMn%$VY_wn8=srlV0t|6VTn1q>>PQB@9 z(yUnNx6K3ek$Re*BG&c##GMM7e}(?uI#50NVfYYo`9bONnKZ0zVLRVk6M}{|BvB|F zo9NemR>wYmHZQGjMFt$((3qE_h1Sc=}1avf?v>3kyJyNfW>rc5y9 z^4`)`^56{v@oz9jBg!NPake?f!Wdh_iU?4!ctQ})&c@P&t}-oojHAuCz>ErL;nTOh z#C9-zY*klWr$}t=ObB)GC!B2C^hUCCyr5bcd9=KcIjBPs(Vc`BCDk&q3DK`Kr2-J+ zy)7AA4uxLf{%*Zp#jIM#zOB;3zlw_^CwD8O|1U-*x!Q_bS)|c))s|1Q&mN$Mb)2e5 zXu}W~k&GS6af6;SRD5-DC-!cd*579uGkKq8@)dv&#_++3ZQVMOF^pHAI~k+^b6S>A z1W}%~ad@ZDI5h6uP$_y-ScUplUZrvr8s&8f%f8W3+r_kIp}uec6uK?HnJ(t_;=Mn@ z_JB(n;F|Q^HXsuuR(FYIRE>bgO7knVSGp|c9@V#?#HI2&S6gX;ioepE-`1Bnq}|Sa zDZtc$sdJh-(Xbjkwe+Z^QHrj|Zbe39BaBj+ayX`f%}N2Q5kyW2=~e>m;8dNc>rhK3 z-@>zQ?-DXY9xI;IZ{bi$YUQsrsH2g9IL&gphOk-WD96&d$)=u3vx0M0t>T}CV1F9e zv(#4G{bA?QwIJ~zGO8|3bsAOE&K0qMYkln&SV=4a$4cdOspZqo;m8#>jjc55Fl(u` zm6<{2wQZQSUyS8N89Agp@M^r!SdE0EQ6MpKm) zj%T^GlVD;1tE;M9`B)z|YAjq`92LOsYe!G;`&_VR&OVj5CWNaHRqfM?lE+8#+mXqx zmeWMv7I9ErX@(MV4OK=lHr5UQ3aRs`nYl6$TnZ(yT#lN$FZv_N3#A(Td*-Ud3Z|rd`&&)O9CKSbf>5z-tgJg0JcHi3-xO=HUs_q|x_l1?pJ-i>Nc-e>Y;I;C0oZT{ z6`5ggoU;nlL4ng0{-fzeXcW2Pm3mU=nyqyxL_W35>UUjh9x>+1Nvq7EBdlxJ%Yb@T z*M_6q0}<5Ms(5NJ84tC0wwy+Kfn2wYF4idD=I!3RoZrcFe#1X5dm8RMJlF!dyGO_s zp`IxZ){0O&(T{p?$E_%FP6nO2mps&R0((>q6CX;AqHe;PVtSG|TfZ5rD-c?E;9{2` z(}AYDZ54y7-g!WfdRGUoYx@fT<0Ia<{aeHnIKmvCYQ+0Z#nhPEz@GT6TU{u!jDlGD z*HfW*Q6%}DGJcht{ITQcD}wPRnf56U%11SmW~5FCJXdewy;Wj#Nk`DvY;WRp z05BYOHO=dZ_KpWiT^CLXw;We-VQ2CT)}#H!tkXwb(n0gzx6y(p)FNty>rF~_9?iZjJ7eJITb&{F*<&orM}4H=`oI8%mm#Z4Qso;p>yt_bT= zwaLd73rbI|G;VKNmN*IL6?O|=oOP`TEr$ZHMF?7#f$3g|1{aECo8K!EJD){d)&`{` z$011-(Y+X8)jL>>vSjirW+d1KDnZtlwH~63deeaK`O~rE={yUc;^4I_qUT3FB zuXc9Vp?H0`Joc`#$+87&1C>^oz|Lj>rlBo)pH{Q$u!|J4usRz=z+~CyaSqN z+RGeginA1(hgy-GDrB07$~|gmj^zfXJt_&CXIiH%*2e3_PZjKJzj~s(yp3Z&HE{kY z)OM?FZ18K#XENX35t2rGR{ovg-!*VkC*HPU&||kiOhZ3Pv!~ghx?HaruKxf+MBze@ z%C~N9qw)y~2_w?H&&B#MyDf$9Tr`>^L_k5vt9I57r{^E7Y+FF;K_ud|1UrWylUmwc zxdak0E2Om;7|mW@1uk*H%^9Xrf(L3x86MS}eFvbdE2P@w;-gcQ%|kkFUMro|?2Lf? zwZ~o|w3wD(mo;-u)}clNI3~Inb%@FWWEk|#T!T{c$N{n|O5X8RwwzYgmD&xUFzZ@v zI+V_Hn!~;*T#gN9JY1Y(2DyI_$C%$Dyth?CvznzEmV64k94n4TH66va(YZ$zQ1zr8 zY1zQ(M^Q^gb3vk(fH|Wc)OVyb98t*>nDwV~(wvG}x>l8?gGe_OIH${IP#lV+>Q%5R zXp=Q^D}3XMw;iGMtB~4|I#tNw3)-aMdJ1F9x4l+-oG}@%bMUs04x;xrT7;$@D#<+C zi3d_UDEBqFW8!ZT>Y?rY1ERrcV+q<@YUe-gGY~WF$*MZPi1lbDO)uhZgACSpJSEa1 zi6ix7WymCPz`?Fh#Qqy^4r-o4N$1*3qHAfu;z-X!^{n0iqaYE@C^TeIPThbh8HNrk zKKgJ0u3J#K&g>eeWQE@(R>W(ydR1G)fNKU*nTOW94-D;Clp6Fs7C;KuQxu>@$*({0 z>GMR2o`$^3O>-UIJq>yugK#(%*;u~yoC#_Gmk%c!r zQ*lYq&`%W>4+TH&sdp_h)8X4Z4SW;pb& zhfle9f|1Cr8FdFm-gv8eX0!lOx=7HTy8$467zNlJoe_FvW=Sq34J2?&I7zgpLbH!1gEw+r34S9r+G*gmPuQk)?_W>P1Is9w9(&pZZf30-Zr!fkY z(qvOwP`$-5u2Ff&rW^DeWPWs`P)v0c*1kp=$Q52~LNV$1)funic{ODtRp=^A0YT|aG|UPJrfue%ifI7z z>s4DZ-%54Rh~R$liktqAJf1hg5veAAdcs47GT@vD3-6r54E?XccjD!42FiM~E z&0EsECE~4HOtZD|9n`vShwP49?L^kY znqWwL(po+kR@J=YZ(N$R8*=A0n|qQ8u6lA-OxCuKc2$SWahmV+o2}t_&34*YGN`RL z($aLxpg0}th4EIC99!`kj2}wkAafn)3P=LG?E-ShqdBhb$o}kS(w{8KgCy2v-SVz} zd{zzawj(F^m6bn;4`(${>$1BYtkpDntjsxP2BEpu-aZV3)>YStYqK-qh1g;*PY0aZDg|rsA6GxMSL~Z($!d6_Fs?)Xud8(FR(; z)vN<4J92A=)vP3nUGa^$HB#B9R~wYp>~8N6;D9?;Zl?s2DLCU5fex1}(vyM)Ypc+7 zk0pV}HQed&?LkuCs4$$@pLm@>L(;fX#cmtxT1hYnHx6kPR#RI#ZMtA(Mk{%3Ez0p4 z^z^KKM${%sjw_ecii3_b?OC1ad(zMkG`XN3N-1e5&pcAr*N4Vt8TGGD(W70d#dL8f z0C7yX7>w5+ubML415C$>N(yHCqu1^(SI|Lo7VPhHXOnV5y?NCo-g?($E)vOCC0V{~r zv^ivAK&&ZrxuD4^Kpxc^$nc&=6?WR-IO|JshErHqse@43%jL<>O78qUE>#X|(>yyk zz|D3L+$WYtwQ-&>k|6|)eJjS~pLU{3^d`IC49Eg6dhMdUD-h2dR#u~|1mR0RmloI==qn3RiAH;x$(jPyT1^^hmnq4p6Ggg> zzG%)Xa>Gr3EGb-8%o=kA8BB_uv{LK61`S@)(e2w~XNv5!c~8nST^wgCLjjC>)@Ajs z{F={8eU0f_HlquVO1e4}<&|8HI zoZ_fmT`6v&pcjfe(tWc7f+_~MFZHQnEPLjs`!dYGGV@utnp|f;C+S%i+6p=!kaYB} zFI&+JB$ZQ-rE?Oiz~lgNN+-&4YL(I64N*~<2iChS0rmyvyR9PlM}wSxHPTz^Eh6yT zR!4}{t}SE)o<(_t_C_1PdBt`56Rc6Lde*J}qGC(~+PRCHsjlS0k_Kx}Ow(Dw-;-S& z8gj$|$25~FAkIZpmBAV8D;H9~@|Ck(t@$Up!Jv!}@%t^*vCU1f!=VN~E8)|}QU zB!4Pk{VFIl(5^DPeJgU_#y3DVjMT!wBA=GCn$v8=?X7JtJUH~lbZNqYOHFVH=Bm64 zoPkb`EL7OX6uGAgDM6$s8KWFhj=t2iQXHB=K^QcKkWyowDMc9TNJn}@>r6Eq!*ZO~ zE#!S`CPRkelu|Yb#X`{neQ5*=I}fcqMh9w&Sl8O4L|xsg$mzvFcGz0vHS400zcuFi zrQ^*ZT>Dh|bQ{r085OY|in8)QO2pN)wu!gLk}5kya1;VT6|oCS6P7rtH%?fc#G1#t zP#Yqv3NwRBI#TA4`_K&>QAgIDoYHe!ULHTb73vx}`Bu6Z&&yTsTM1lGh#wKXa#m}; z=$h*^*a21Iw_&$Xy(-GYqoUI69mN<1o3v8&r-Q|M9)mQxXT#k?Sh5V-o&Cz`_Qihk z=NZSj=kgU(K=^U5>X#Rg-pL-DHMl}jZ=ASn;DV%#aC^~p@ax6;ef#~21fDpEWVlJy zGmdfrIULo$8Qrd-;m;2Ek$AYhjKgq8@yMKK^l#F!Y-E;Y#!o)=q4qZ`&T5?Y&V-tT z2B{Gnur;Y+86*Q+_ST~rz@qBaah!Cl$5i{Rion+_qhxG>UR&ZjWR7OQ;<-0+9DsPH z=O>=E779LVV@|u-x1X(aRyW1mC~hmh@c0r&q}H~fYOf0rGAqq|LWvZ-@y#xoF6A7W z+BUv!2^q~=)AX#ib^%>Ior=bT()cba-$~| z=Mup)Toq8<8rIV6E<~!>IL&%qhZyqII`*!f2vDweihA22ZWr{cuv>)y?ZK&KjdmU@ zDriRHaZ^}Fi3Myg6tsuhfk4MfPr{InY25`SEgk4yO#oA~O=?Oy3Qm+zdT~G;(vCXN zdQu*g+;L4mg)zI%WOf=3|2k#c?1zzpJx#gz;RN?bF_5gvNb6J zwsF?6=6&aijP%7PdRkIx38c?7W|utk){aFO^`f?P6N!h`y+1}jDt#-WjQo{W{ji3( zZxB9Ff$3cKlmVFiYqHZv0=DDE1xb!5`t_!q(^;|9ih^5(Tys@qyu*F}0M@(T0^Prf z`~|7_YSfg~?Is$Ho(>F{#^ndpbC0N}cx&QDyP?f`_iDHI7X?GL(QV7L5CFmVtj%-c zZ;kaWU&_($j7@anIBj8xSY+S;G703>&ly}Uo2U45!Ev~n>q(2uzLic?O()DyeK#M> zRL2P9NcF;?K#&Wi8$r7qliSFLz* zQRJuX?3CJFm=z3MCbXw>wtkpTiO>jhM^sY-@y4s8d zaWP*PzS?ptvC|}0iE~fXkW7VC3>w3>(AA_Zw>dSjZKg*SG6xm0WoUTE0=I3T0CQJT zHS8)(3XWbzDw`%+rMHgX54A5^2=7QK zX(;bXI_8Q)L8g<)qrDWyrjhMYTqZ{~je8O1vYiN^3{i?qQuM6dMNZO1bJEPp=O?9J zwA4Uc6Hsaw>$LNV;Pw0c+pv4rHEk*LvfT}K+Bj1RkZXDw@Cvspipq;o2zH4Jb{{UJ(wduMyDxXT} zBRNW;sW94WgxBBiR$h>&d9K4x7)7mg=}%VTk((UU63!G=3yZ)jGV1>TX{?#GF}s@R zyf>>&q~BZK*<3Zf)JJkUo=5rguSb{0`VO=E-x7Fo3GVyc*-T(({{VSM1pCzs-yhiM zu{iK&hi$Ab*-HJk;myR!p6i|z{(nm6JST58&GeTyay-`(xspjFIc8#VNj|mgz8$wz zP;p&9%BTlQ%G6yjazU;`QMyEOK^#_8+K2$1->qldYPcun6#{sJ%j)2MH4WE^lWEMO z^R8o1@feZV2K{Ru<5-$cl`?BC?kkIe9kK^{tSwqIp0uU0QM&>vCF{j&>3A*;dQXR@ z#40PGnD2$VWLKN`mrVlWc*&^rNj#|npIY?o3RPrYmC~d9yn0m|%&x#c_pa3yf;2Z;rv^}Ub3!hq# zf<;b)08@=2JX3+-ccm1EtrZN?1yfWemaF;4){nF{dYXD(vYvlaS0TJs;Nq>Ufw~b- z+yxmFQg@>nG-sL#G=%d-A@!hAwn5^WX|2|pMtao?xVbp2OSrH}^s3A0N@)*D4^Qx_ zm#dXOO5`#vqzO*2SLu&%braH6z9z!b-rDxL*Wp6r3w6`6B? zfKF=~?@{zMjdy;`Pc@q*)Qs8AYi=utXBf?QJ{j=0h_$Fhx_*;;aS#0TSkA-$00KN# zj-%m?UrJ^E)zfaRP@D#mG8FzjD_cM*1CL7YwB1c(QS$*;<<`(IFU@oMuDFc)~pt&hkz8hI7)+jPw6>Rc>ra(3DvY*%VIYd7bEd91QCaV%0^EUCE$o#@IITEhz~EJ=;U}Q0 zutSUzD&nXE{3(8vja4Ob4i9Q#zcqO}QuP#{S~JBNp!MRI?X`KV>xl_&YM~6&^tW;| zQOg6bIOeEM?44@3yeM;%T9z7`w;QW&-r;0k4r*|HdQ-EJ(u|5z(;(6V-hz0h1Cv3d z6uk!>XwFS38Kytdn0j+jOal*E$GnfItfw1W(vM0gsAgQLu47w+D)<%Vy3}tJ#Eu1F z$su!+X}JM~Xe$O>ie1|QAmG$Ve(G>Z#YrBb$sk}&b$T`GT&j%x)zfVTG0!-xJzhKm zz^*$|LAZSX>X1xN*n`qmz!tX)i}%iYgP zz?j}na>R;YvvZ#@iK!CR1~MwtF{-x!3beQ#DgIysBdshlZhYqzGfaxVG0kLO%mDco zvro*~J!#Aa1wuv%q+?cXFJ1yUIIXBP(y7aur>JX2RUjPJb(F;1hR->#L-5_f8x49E zoirP?U0-LZf!4(r)sq83AH63cycIvpmsg)H^0-b?CH13oz;FHp`r))8( zRf&)a)QPa5(}CuXUbKdeIG}q}Gv^%D3C1#NvdM<24eF@tQMRCmzdrRGyJlRBRt~2L zKv{S-hPs2pE(Un6lS|cEkaJxno%+eNX0+9V436}t7{+;{KPjLdF+uA{Mh_Hr;(%~P z8Og;dA1xpzn&zTCIHu==RIbpTg0ZgS;F_o#2M09jDUHzPvNbrjBYW4L_?Fj#am{hx zXJ&i~ur%gjo^w$>ys&2#URfCRsDBzja5~nWk#f+r3R0$N>F_$&$R&h*3N_exP5EWbc6D(Z>wT1)z9lPa^H<`m#z)L z&rH?(DZ=9%3e;Q7E^3|Dq!balv2QgTgM(QU-a8Y{YLh-rs*ZHNang* zZ76wvbbeLnA^hLj(&Ox>Ee5U{Nq8R9_Tzd#kkY?x!QdEw8lj@LNF#l9u6Jm62B`jlht5=C-~e%QE~F z@C;MrUdq!-p!E?Farj`Rd7X`%k~U>yTaan7014#PnJuDNv$STiW<^#w992oMGm3z{ zFwO@g;+ogUpT(N3E~atv57w62_1U>N&0P%4Gn1N2h|9%{cI#Cmg#Q2)He}mXO8`hT zWD!klW34f=Gs&piH9ezkbc8rp|sP`s0C@ax-;+} z3zJ@fqe;+LO>D&N!RcDioy&@o86TwwwLN;$p0v5*lOmLK=|MG8@?1uFu4?Y*=j&5x z?p?E<_0qt=ps7b4>2uzJ>qc-*Av~I=c_!5B&2yLY=OZq3-{)&eSv!c zQ^#kvobjTLahgcrM?8U3n>dv?0<&%c#>9@56nC3X99E63??M{3t*-$KxYgB>UywyV zG=TP`#xp_Zr3BI+%8>lRnckSfliHT6T&8qSF2$`M??w-!+GT(YQ3 zjGtQRED9A|;;mew`DBi@$?E8=%rG-p@oC$n2OVocbdX2gto=huAxYU><;A-~$33b8 zN)Hr*smjDu&`NjKy}azGFas2mpS+kHU4(@hW;+ER}LEE3LbQ*Q^hiD_;t#4Z0z5(^E zC}(B^AXSBIjN+7%6wsq2Ql8Y))|GnGG0g;VQJ%DPravOHF4ShSWl#yIMLQJ~oP%8c zus?Q9ahHEA#E)9jv6+Asqb#kmxy?4bhqzjj<78qkm zNz#eT)l*t(YSKRkZ*PD6jw7UzW*20RW&v^!t56UzSNi0RSLE^ZWfl LUY5y0005vtx{vb; literal 0 HcmV?d00001 diff --git a/jsartoolkit5/examples/DataNFT/pinball.jpg b/jsartoolkit5/examples/DataNFT/pinball.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d1444adc669465d1911e56d8d7569606c794a38f GIT binary patch literal 782578 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 z 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

      Gsz@&EV!glE`5-51<&Pf7QS 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�&9H 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

      r>E*my6Z%7x|LtNM*bfICF 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 z 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

    3. qt5GG{<_$AiJU12 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¥*uwoO91Fh9qMH?4Ejfd^MU$2f*HtC5kjR;@)1$ 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 literal 0 HcmV?d00001 diff --git a/jsartoolkit5/examples/Data/kuva.jpg b/jsartoolkit5/examples/Data/kuva.jpg new file mode 100644 index 0000000000000000000000000000000000000000..071146200b41e73454411a8fbbfc2865f407806b GIT binary patch literal 75304 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⁡HS*CPeJAuh1HO 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 aceD_p;a4gmkQ_i*=hRb!@HG~}-2d6FHU7r{ literal 0 HcmV?d00001 diff --git a/jsartoolkit5/examples/Data/logo.gif b/jsartoolkit5/examples/Data/logo.gif new file mode 100644 index 0000000000000000000000000000000000000000..f98d04c32fd937ec5eae13b8a10830cdc9073bc7 GIT binary patch literal 15773 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

    >>0&((t|0)!=(-1|0)&(p|0)!=(-1|0))^1)):0){h=s?r:b;g=t;q=145}if((q|0)==145){b=(c[14399]|0)+h|0;c[14399]=b;if(b>>>0>(c[14400]|0)>>>0)c[14400]=b;j=c[14297]|0;f:do if(j){b=57612;while(1){a=c[b>>2]|0;d=c[b+4>>2]|0;if((g|0)==(a+d|0)){q=154;break}e=c[b+8>>2]|0;if(!e)break;else b=e}if(((q|0)==154?(u=b+4|0,(c[b+12>>2]&8|0)==0):0)?g>>>0>j>>>0&a>>>0<=j>>>0:0){c[u>>2]=d+h;v=(c[14294]|0)+h|0;t=j+8|0;t=(t&7|0)==0?0:0-t&7;u=j+t|0;t=v-t|0;c[14297]=u;c[14294]=t;c[u+4>>2]=t|1;c[j+v+4>>2]=40;c[14298]=c[14413];break}if(g>>>0<(c[14295]|0)>>>0)c[14295]=g;d=g+h|0;b=57612;while(1){if((c[b>>2]|0)==(d|0)){q=162;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((q|0)==162?(c[b+12>>2]&8|0)==0:0){c[b>>2]=g;l=b+4|0;c[l>>2]=(c[l>>2]|0)+h;l=g+8|0;l=g+((l&7|0)==0?0:0-l&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;k=l+m|0;i=b-l-m|0;c[l+4>>2]=m|3;g:do if((j|0)==(b|0)){v=(c[14294]|0)+i|0;c[14294]=v;c[14297]=k;c[k+4>>2]=v|1}else{if((c[14296]|0)==(b|0)){v=(c[14293]|0)+i|0;c[14293]=v;c[14296]=k;c[k+4>>2]=v|1;c[k+v>>2]=v;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;e=a>>>3;h:do if(a>>>0<256){a=c[b+8>>2]|0;d=c[b+12>>2]|0;if((d|0)==(a|0)){c[14291]=c[14291]&~(1<>2]=d;c[d+8>>2]=a;break}}else{g=c[b+24>>2]|0;a=c[b+12>>2]|0;do if((a|0)==(b|0)){d=b+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{v=c[b+8>>2]|0;c[v+12>>2]=a;c[a+8>>2]=v}while(0);if(!g)break;d=c[b+28>>2]|0;e=57468+(d<<2)|0;do if((c[e>>2]|0)!=(b|0)){v=g+16|0;c[((c[v>>2]|0)==(b|0)?v:g+20|0)>>2]=a;if(!a)break h}else{c[e>>2]=a;if(a|0)break;c[14292]=c[14292]&~(1<>2]=g;d=b+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(!d)break;c[a+20>>2]=d;c[d+24>>2]=a}while(0);b=b+h|0;f=h+i|0}else f=i;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[k+4>>2]=f|1;c[k+f>>2]=f;b=f>>>3;if(f>>>0<256){d=57204+(b<<1<<2)|0;a=c[14291]|0;b=1<>2]|0}c[a>>2]=k;c[b+12>>2]=k;c[k+8>>2]=b;c[k+12>>2]=d;break}b=f>>>8;do if(!b)e=0;else{if(f>>>0>16777215){e=31;break}u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;e=14-(t|u|e)+(v<>>15)|0;e=f>>>(e+7|0)&1|e<<1}while(0);b=57468+(e<<2)|0;c[k+28>>2]=e;a=k+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[14292]|0;d=1<>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break}b=c[b>>2]|0;i:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break i}else{e=e<<1;b=a}}c[d>>2]=k;c[k+24>>2]=b;c[k+12>>2]=k;c[k+8>>2]=k;break g}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=k;c[u>>2]=k;c[k+8>>2]=v;c[k+12>>2]=b;c[k+24>>2]=0}while(0);v=l+8|0;yb=w;return v|0}b=57612;while(1){a=c[b>>2]|0;if(a>>>0<=j>>>0?(v=a+(c[b+4>>2]|0)|0,v>>>0>j>>>0):0)break;b=c[b+8>>2]|0}f=v+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=j+16|0;a=a>>>0>>0?j:a;b=a+8|0;d=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=d-t|0;c[14297]=u;c[14294]=t;c[u+4>>2]=t|1;c[g+d+4>>2]=40;c[14298]=c[14413];d=a+4|0;c[d>>2]=27;c[b>>2]=c[14403];c[b+4>>2]=c[14404];c[b+8>>2]=c[14405];c[b+12>>2]=c[14406];c[14403]=g;c[14404]=h;c[14406]=0;c[14405]=b;b=a+24|0;do{u=b;b=b+4|0;c[b>>2]=7}while((u+8|0)>>>0>>0);if((a|0)!=(j|0)){g=a-j|0;c[d>>2]=c[d>>2]&-2;c[j+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=57204+(b<<1<<2)|0;a=c[14291]|0;b=1<>2]|0}c[a>>2]=j;c[b+12>>2]=j;c[j+8>>2]=b;c[j+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)e=31;else{u=(b+1048320|0)>>>16&8;v=b<>>16&4;v=v<>>16&2;e=14-(t|u|e)+(v<>>15)|0;e=g>>>(e+7|0)&1|e<<1}else e=0;d=57468+(e<<2)|0;c[j+28>>2]=e;c[j+20>>2]=0;c[f>>2]=0;b=c[14292]|0;a=1<>2]=j;c[j+24>>2]=d;c[j+12>>2]=j;c[j+8>>2]=j;break}b=c[d>>2]|0;j:do if((c[b+4>>2]&-8|0)!=(g|0)){e=g<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(g|0)){b=a;break j}else{e=e<<1;b=a}}c[d>>2]=j;c[j+24>>2]=b;c[j+12>>2]=j;c[j+8>>2]=j;break f}while(0);u=b+8|0;v=c[u>>2]|0;c[v+12>>2]=j;c[u>>2]=j;c[j+8>>2]=v;c[j+12>>2]=b;c[j+24>>2]=0}}else{v=c[14295]|0;if((v|0)==0|g>>>0>>0)c[14295]=g;c[14403]=g;c[14404]=h;c[14406]=0;c[14300]=c[14409];c[14299]=-1;c[14304]=57204;c[14303]=57204;c[14306]=57212;c[14305]=57212;c[14308]=57220;c[14307]=57220;c[14310]=57228;c[14309]=57228;c[14312]=57236;c[14311]=57236;c[14314]=57244;c[14313]=57244;c[14316]=57252;c[14315]=57252;c[14318]=57260;c[14317]=57260;c[14320]=57268;c[14319]=57268;c[14322]=57276;c[14321]=57276;c[14324]=57284;c[14323]=57284;c[14326]=57292;c[14325]=57292;c[14328]=57300;c[14327]=57300;c[14330]=57308;c[14329]=57308;c[14332]=57316;c[14331]=57316;c[14334]=57324;c[14333]=57324;c[14336]=57332;c[14335]=57332;c[14338]=57340;c[14337]=57340;c[14340]=57348;c[14339]=57348;c[14342]=57356;c[14341]=57356;c[14344]=57364;c[14343]=57364;c[14346]=57372;c[14345]=57372;c[14348]=57380;c[14347]=57380;c[14350]=57388;c[14349]=57388;c[14352]=57396;c[14351]=57396;c[14354]=57404;c[14353]=57404;c[14356]=57412;c[14355]=57412;c[14358]=57420;c[14357]=57420;c[14360]=57428;c[14359]=57428;c[14362]=57436;c[14361]=57436;c[14364]=57444;c[14363]=57444;c[14366]=57452;c[14365]=57452;v=h+-40|0;t=g+8|0;t=(t&7|0)==0?0:0-t&7;u=g+t|0;t=v-t|0;c[14297]=u;c[14294]=t;c[u+4>>2]=t|1;c[g+v+4>>2]=40;c[14298]=c[14413]}while(0);b=c[14294]|0;if(b>>>0>m>>>0){t=b-m|0;c[14294]=t;v=c[14297]|0;u=v+m|0;c[14297]=u;c[u+4>>2]=t|1;c[v+4>>2]=m|3;v=v+8|0;yb=w;return v|0}}c[(mx()|0)>>2]=48;v=0;yb=w;return v|0}function EO(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(!a)return;d=a+-8|0;f=c[14295]|0;a=c[a+-4>>2]|0;b=a&-8;j=d+b|0;do if(!(a&1)){e=c[d>>2]|0;if(!(a&3))return;h=d+(0-e)|0;g=e+b|0;if(h>>>0>>0)return;if((c[14296]|0)==(h|0)){a=j+4|0;b=c[a>>2]|0;if((b&3|0)!=3){i=h;b=g;break}c[14293]=g;c[a>>2]=b&-2;c[h+4>>2]=g|1;c[h+g>>2]=g;return}d=e>>>3;if(e>>>0<256){a=c[h+8>>2]|0;b=c[h+12>>2]|0;if((b|0)==(a|0)){c[14291]=c[14291]&~(1<>2]=b;c[b+8>>2]=a;i=h;b=g;break}}f=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){b=h+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){a=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0}else{i=c[h+8>>2]|0;c[i+12>>2]=a;c[a+8>>2]=i}while(0);if(f){b=c[h+28>>2]|0;d=57468+(b<<2)|0;if((c[d>>2]|0)==(h|0)){c[d>>2]=a;if(!a){c[14292]=c[14292]&~(1<>2]|0)==(h|0)?i:f+20|0)>>2]=a;if(!a){i=h;b=g;break}}c[a+24>>2]=f;b=h+16|0;d=c[b>>2]|0;if(d|0){c[a+16>>2]=d;c[d+24>>2]=a}b=c[b+4>>2]|0;if(b){c[a+20>>2]=b;c[b+24>>2]=a;i=h;b=g}else{i=h;b=g}}else{i=h;b=g}}else{i=d;h=d}while(0);if(h>>>0>=j>>>0)return;a=j+4|0;e=c[a>>2]|0;if(!(e&1))return;if(!(e&2)){if((c[14297]|0)==(j|0)){j=(c[14294]|0)+b|0;c[14294]=j;c[14297]=i;c[i+4>>2]=j|1;if((i|0)!=(c[14296]|0))return;c[14296]=0;c[14293]=0;return}if((c[14296]|0)==(j|0)){j=(c[14293]|0)+b|0;c[14293]=j;c[14296]=h;c[i+4>>2]=j|1;c[h+j>>2]=j;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){b=c[j+8>>2]|0;a=c[j+12>>2]|0;if((a|0)==(b|0)){c[14291]=c[14291]&~(1<>2]=a;c[a+8>>2]=b;break}}else{g=c[j+24>>2]|0;a=c[j+12>>2]|0;do if((a|0)==(j|0)){b=j+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){d=0;break}}else b=d;while(1){e=a+20|0;d=c[e>>2]|0;if(!d){e=a+16|0;d=c[e>>2]|0;if(!d)break;else{a=d;b=e}}else{a=d;b=e}}c[b>>2]=0;d=a}else{d=c[j+8>>2]|0;c[d+12>>2]=a;c[a+8>>2]=d;d=a}while(0);if(g|0){a=c[j+28>>2]|0;b=57468+(a<<2)|0;if((c[b>>2]|0)==(j|0)){c[b>>2]=d;if(!d){c[14292]=c[14292]&~(1<>2]|0)==(j|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;a=j+16|0;b=c[a>>2]|0;if(b|0){c[d+16>>2]=b;c[b+24>>2]=d}a=c[a+4>>2]|0;if(a|0){c[d+20>>2]=a;c[a+24>>2]=d}}}while(0);c[i+4>>2]=f|1;c[h+f>>2]=f;if((i|0)==(c[14296]|0)){c[14293]=f;return}}else{c[a>>2]=e&-2;c[i+4>>2]=b|1;c[h+b>>2]=b;f=b}a=f>>>3;if(f>>>0<256){d=57204+(a<<1<<2)|0;b=c[14291]|0;a=1<>2]|0}c[b>>2]=i;c[a+12>>2]=i;c[i+8>>2]=a;c[i+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)e=31;else{h=(a+1048320|0)>>>16&8;j=a<>>16&4;j=j<>>16&2;e=14-(g|h|e)+(j<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;a=57468+(e<<2)|0;c[i+28>>2]=e;c[i+20>>2]=0;c[i+16>>2]=0;b=c[14292]|0;d=1<>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i}else{a=c[a>>2]|0;b:do if((c[a+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=a+16+(e>>>31<<2)|0;b=c[d>>2]|0;if(!b)break;if((c[b+4>>2]&-8|0)==(f|0)){a=b;break b}else{e=e<<1;a=b}}c[d>>2]=i;c[i+24>>2]=a;c[i+12>>2]=i;c[i+8>>2]=i;break a}while(0);h=a+8|0;j=c[h>>2]|0;c[j+12>>2]=i;c[h>>2]=i;c[i+8>>2]=j;c[i+12>>2]=a;c[i+24>>2]=0}while(0);j=(c[14299]|0)+-1|0;c[14299]=j;if(j|0)return;a=57620;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[14299]=-1;return}function FO(a,b){a=a|0;b=b|0;var d=0;if(a){d=B(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;a=DO(d)|0;if(!a)return a|0;if(!(c[a+-4>>2]&3))return a|0;_O(a|0,0,d|0)|0;return a|0}function GO(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){b=DO(b)|0;return b|0}if(b>>>0>4294967231){c[(mx()|0)>>2]=48;b=0;return b|0}d=HO(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){b=d+8|0;return b|0}d=DO(b)|0;if(!d){b=0;return b|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;YO(d|0,a|0,(e>>>0>>0?e:b)|0)|0;EO(a);b=d;return b|0}function HO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;l=a+4|0;m=c[l>>2]|0;d=m&-8;i=a+d|0;if(!(m&3)){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[14411]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;k=a+b|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|3;m=i+4|0;c[m>>2]=c[m>>2]|1;IO(k,d);return a|0}if((c[14297]|0)==(i|0)){k=(c[14294]|0)+d|0;d=k-b|0;e=a+b|0;if(k>>>0<=b>>>0){a=0;return a|0}c[l>>2]=m&1|b|2;c[e+4>>2]=d|1;c[14297]=e;c[14294]=d;return a|0}if((c[14296]|0)==(i|0)){e=(c[14293]|0)+d|0;if(e>>>0>>0){a=0;return a|0}d=e-b|0;if(d>>>0>15){k=a+b|0;e=a+e|0;c[l>>2]=m&1|b|2;c[k+4>>2]=d|1;c[e>>2]=d;e=e+4|0;c[e>>2]=c[e>>2]&-2;e=k}else{c[l>>2]=m&1|e|2;e=a+e+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[14293]=d;c[14296]=e;return a|0}e=c[i+4>>2]|0;if(e&2|0){a=0;return a|0}j=(e&-8)+d|0;if(j>>>0>>0){a=0;return a|0}k=j-b|0;f=e>>>3;do if(e>>>0<256){e=c[i+8>>2]|0;d=c[i+12>>2]|0;if((d|0)==(e|0)){c[14291]=c[14291]&~(1<>2]=d;c[d+8>>2]=e;break}}else{h=c[i+24>>2]|0;d=c[i+12>>2]|0;do if((d|0)==(i|0)){e=i+16|0;f=e+4|0;d=c[f>>2]|0;if(!d){d=c[e>>2]|0;if(!d){f=0;break}}else e=f;while(1){g=d+20|0;f=c[g>>2]|0;if(!f){g=d+16|0;f=c[g>>2]|0;if(!f)break;else{d=f;e=g}}else{d=f;e=g}}c[e>>2]=0;f=d}else{f=c[i+8>>2]|0;c[f+12>>2]=d;c[d+8>>2]=f;f=d}while(0);if(h|0){d=c[i+28>>2]|0;e=57468+(d<<2)|0;if((c[e>>2]|0)==(i|0)){c[e>>2]=f;if(!f){c[14292]=c[14292]&~(1<>2]|0)==(i|0)?g:h+20|0)>>2]=f;if(!f)break}c[f+24>>2]=h;d=i+16|0;e=c[d>>2]|0;if(e|0){c[f+16>>2]=e;c[e+24>>2]=f}d=c[d+4>>2]|0;if(d|0){c[f+20>>2]=d;c[d+24>>2]=f}}}while(0);if(k>>>0<16){c[l>>2]=m&1|j|2;m=a+j+4|0;c[m>>2]=c[m>>2]|1;return a|0}else{i=a+b|0;c[l>>2]=m&1|b|2;c[i+4>>2]=k|3;m=a+j+4|0;c[m>>2]=c[m>>2]|1;IO(i,k);return a|0}return 0}function IO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=a+b|0;d=c[a+4>>2]|0;do if(!(d&1)){f=c[a>>2]|0;if(!(d&3))return;h=a+(0-f)|0;b=f+b|0;if((c[14296]|0)==(h|0)){a=i+4|0;d=c[a>>2]|0;if((d&3|0)!=3)break;c[14293]=b;c[a>>2]=d&-2;c[h+4>>2]=b|1;c[i>>2]=b;return}e=f>>>3;if(f>>>0<256){a=c[h+8>>2]|0;d=c[h+12>>2]|0;if((d|0)==(a|0)){c[14291]=c[14291]&~(1<>2]=d;c[d+8>>2]=a;break}}g=c[h+24>>2]|0;a=c[h+12>>2]|0;do if((a|0)==(h|0)){d=h+16|0;e=d+4|0;a=c[e>>2]|0;if(!a){a=c[d>>2]|0;if(!a){a=0;break}}else d=e;while(1){f=a+20|0;e=c[f>>2]|0;if(!e){f=a+16|0;e=c[f>>2]|0;if(!e)break;else{a=e;d=f}}else{a=e;d=f}}c[d>>2]=0}else{f=c[h+8>>2]|0;c[f+12>>2]=a;c[a+8>>2]=f}while(0);if(g){d=c[h+28>>2]|0;e=57468+(d<<2)|0;if((c[e>>2]|0)==(h|0)){c[e>>2]=a;if(!a){c[14292]=c[14292]&~(1<>2]|0)==(h|0)?f:g+20|0)>>2]=a;if(!a)break}c[a+24>>2]=g;d=h+16|0;e=c[d>>2]|0;if(e|0){c[a+16>>2]=e;c[e+24>>2]=a}d=c[d+4>>2]|0;if(d){c[a+20>>2]=d;c[d+24>>2]=a}}}else h=a;while(0);a=i+4|0;e=c[a>>2]|0;if(!(e&2)){if((c[14297]|0)==(i|0)){i=(c[14294]|0)+b|0;c[14294]=i;c[14297]=h;c[h+4>>2]=i|1;if((h|0)!=(c[14296]|0))return;c[14296]=0;c[14293]=0;return}if((c[14296]|0)==(i|0)){i=(c[14293]|0)+b|0;c[14293]=i;c[14296]=h;c[h+4>>2]=i|1;c[h+i>>2]=i;return}f=(e&-8)+b|0;d=e>>>3;do if(e>>>0<256){a=c[i+8>>2]|0;b=c[i+12>>2]|0;if((b|0)==(a|0)){c[14291]=c[14291]&~(1<>2]=b;c[b+8>>2]=a;break}}else{g=c[i+24>>2]|0;b=c[i+12>>2]|0;do if((b|0)==(i|0)){a=i+16|0;d=a+4|0;b=c[d>>2]|0;if(!b){b=c[a>>2]|0;if(!b){d=0;break}}else a=d;while(1){e=b+20|0;d=c[e>>2]|0;if(!d){e=b+16|0;d=c[e>>2]|0;if(!d)break;else{b=d;a=e}}else{b=d;a=e}}c[a>>2]=0;d=b}else{d=c[i+8>>2]|0;c[d+12>>2]=b;c[b+8>>2]=d;d=b}while(0);if(g|0){b=c[i+28>>2]|0;a=57468+(b<<2)|0;if((c[a>>2]|0)==(i|0)){c[a>>2]=d;if(!d){c[14292]=c[14292]&~(1<>2]|0)==(i|0)?e:g+20|0)>>2]=d;if(!d)break}c[d+24>>2]=g;b=i+16|0;a=c[b>>2]|0;if(a|0){c[d+16>>2]=a;c[a+24>>2]=d}b=c[b+4>>2]|0;if(b|0){c[d+20>>2]=b;c[b+24>>2]=d}}}while(0);c[h+4>>2]=f|1;c[h+f>>2]=f;if((h|0)==(c[14296]|0)){c[14293]=f;return}}else{c[a>>2]=e&-2;c[h+4>>2]=b|1;c[h+b>>2]=b;f=b}b=f>>>3;if(f>>>0<256){d=57204+(b<<1<<2)|0;a=c[14291]|0;b=1<>2]|0}c[a>>2]=h;c[b+12>>2]=h;c[h+8>>2]=b;c[h+12>>2]=d;return}b=f>>>8;if(b)if(f>>>0>16777215)e=31;else{g=(b+1048320|0)>>>16&8;i=b<>>16&4;i=i<>>16&2;e=14-(d|g|e)+(i<>>15)|0;e=f>>>(e+7|0)&1|e<<1}else e=0;b=57468+(e<<2)|0;c[h+28>>2]=e;c[h+20>>2]=0;c[h+16>>2]=0;a=c[14292]|0;d=1<>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}b=c[b>>2]|0;a:do if((c[b+4>>2]&-8|0)!=(f|0)){e=f<<((e|0)==31?0:25-(e>>>1)|0);while(1){d=b+16+(e>>>31<<2)|0;a=c[d>>2]|0;if(!a)break;if((c[a+4>>2]&-8|0)==(f|0)){b=a;break a}else{e=e<<1;b=a}}c[d>>2]=h;c[h+24>>2]=b;c[h+12>>2]=h;c[h+8>>2]=h;return}while(0);g=b+8|0;i=c[g>>2]|0;c[i+12>>2]=h;c[g>>2]=h;c[h+8>>2]=i;c[h+12>>2]=b;c[h+24>>2]=0;return}function JO(a){a=a|0;var b=0,d=0;b=TO()|0;d=c[b>>2]|0;a=d+a|0;if((a|0)<0){c[(mx()|0)>>2]=48;d=-1;return d|0}if(a>>>0>(Ba()|0)>>>0?(Da(a|0)|0)==0:0){c[(mx()|0)>>2]=48;d=-1;return d|0}c[b>>2]=a;return d|0}function KO(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=B(e,f)|0;d=a>>>16;a=(c>>>16)+(B(e,d)|0)|0;e=b>>>16;b=B(e,f)|0;return (E((a>>>16)+(B(e,d)|0)+(((a&65535)+b|0)>>>16)|0),a+b<<16|c&65535|0)|0}function LO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=KO(e,f)|0;a=F()|0;return (E((B(b,f)|0)+(B(d,e)|0)+a|a&0|0),c|0|0)|0}function MO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return (E(b+d+(c>>>0>>0|0)>>>0|0),c|0)|0}function NO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (E(d|0),a-c>>>0|0)|0}function OO(a){a=a|0;return (a?31-(C(a^a-1)|0)|0:32)|0}function PO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (E(n|0),f)|0}else{if(!g){n=0;f=0;return (E(n|0),f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (E(n|0),f)|0}}g=(i|0)==0;do if(h){if(!g){g=(C(i|0)|0)-(C(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (E(n|0),f)|0}g=h-1|0;if(g&h|0){i=(C(h|0)|0)+33-(C(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (E(o|0),p)|0}else{p=OO(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (E(o|0),p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (E(o|0),p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (E(o|0),p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((OO(i|0)|0)>>>0);return (E(o|0),p)|0}g=(C(i|0)|0)-(C(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (E(o|0),p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=MO(m|0,l|0,-1,-1)|0;d=F()|0;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;NO(k|0,d|0,e|0,n|0)|0;p=F()|0;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=NO(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=F()|0;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (E(o|0),p)|0}function QO(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return PO(a,b,c,d,0)|0}function RO(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){E(b>>>c|0);return a>>>c|(b&(1<>>c-32|0}function SO(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){E(b<>>32-c|0);return a<>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function VO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;k=k+1|0;c[a>>2]=k;while((f|0)<(e|0)){if(!(c[d+(f<<3)>>2]|0)){c[d+(f<<3)>>2]=k;c[d+((f<<3)+4)>>2]=b;c[d+((f<<3)+8)>>2]=0;E(e|0);return d|0}f=f+1|0}e=e*2|0;d=GO(d|0,8*(e+1|0)|0)|0;d=VO(a|0,b|0,d|0,e|0)|0;E(e|0);return d|0}function WO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;while((f|0)<(d|0)){e=c[b+(f<<3)>>2]|0;if(!e)break;if((e|0)==(a|0))return c[b+((f<<3)+4)>>2]|0;f=f+1|0}return 0}function XO(a,b){a=a|0;b=b|0;if(!i){i=a;j=b}}function YO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192){Ca(b|0,d|0,e|0)|0;return b|0}h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function ZO(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else YO(b,c,d)|0;return b|0}function _O(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;i=d|d<<8|d<<16|d<<24;g=f-64|0;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function $O(a){a=+a;return a>=0.0?+s(a+.5):+A(a-.5)}function aP(a,b){a=a|0;b=b|0;return +Bb[a&3](b|0)}function bP(a,b,c){a=a|0;b=b|0;c=c|0;return +Cb[a&1](b|0,c|0)}function cP(a){a=a|0;return Db[a&1]()|0}function dP(a,b){a=a|0;b=b|0;return Eb[a&127](b|0)|0}function eP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=+c;d=d|0;e=e|0;f=f|0;g=g|0;return Fb[a&1](b|0,+c,d|0,e|0,f|0,g|0)|0}function fP(a,b,c){a=a|0;b=b|0;c=c|0;return Gb[a&63](b|0,c|0)|0}function gP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return Hb[a&63](b|0,c|0,d|0)|0}function hP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ib[a&15](b|0,c|0,d|0,e|0)|0}function iP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;return Jb[a&7](b|0,c|0,d|0,e|0,+f)|0}function jP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Kb[a&31](b|0,c|0,d|0,e|0,f|0)|0}function kP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;return Lb[a&3](b|0,c|0,d|0,e|0,f|0,+g)|0}function lP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return Mb[a&63](b|0,c|0,d|0,e|0,f|0,g|0)|0}function mP(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return Nb[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function nP(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return Ob[a&15](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function oP(a){a=a|0;Pb[a&1]()}function pP(a,b){a=a|0;b=b|0;Qb[a&255](b|0)}function qP(a,b,c){a=a|0;b=b|0;c=+c;Rb[a&3](b|0,+c)}function rP(a,b,c){a=a|0;b=b|0;c=c|0;Sb[a&63](b|0,c|0)}function sP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;Tb[a&3](b|0,c|0,+d)}function tP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;Ub[a&3](b|0,c|0,d|0)}function uP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Vb[a&31](b|0,c|0,d|0,e|0)}function vP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;Wb[a&63](b|0,c|0,d|0,e|0,f|0)}function wP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Xb[a&7](b|0,c|0,d|0,e|0,f|0,g|0)}function xP(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;Yb[a&7](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function yP(a){a=a|0;D(0);return 0.0}function zP(a,b){a=a|0;b=b|0;D(1);return 0.0}function AP(){D(2);return 0}function BP(a){a=a|0;D(3);return 0}function CP(a,b,c,d,e,f){a=a|0;b=+b;c=c|0;d=d|0;e=e|0;f=f|0;D(4);return 0}function DP(a,b){a=a|0;b=b|0;D(5);return 0}function EP(a,b,c){a=a|0;b=b|0;c=c|0;D(6);return 0}function FP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;D(7);return 0}function GP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;D(8);return 0}function HP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;D(9);return 0}function IP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;D(10);return 0}function JP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;D(11);return 0}function KP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;D(12);return 0}function LP(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;D(13);return 0}function MP(){D(14)}function NP(a){a=a|0;D(15)}function OP(a,b){a=a|0;b=+b;D(16)}function PP(a,b){a=a|0;b=b|0;D(17)}function QP(a,b,c){a=a|0;b=b|0;c=+c;D(18)}function RP(a,b,c){a=a|0;b=b|0;c=c|0;D(19)}function SP(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;D(20)}function TP(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;D(21)}function UP(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;D(22)}function VP(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;D(23)} + +// EMSCRIPTEN_END_FUNCS +var Bb=[yP,nr,qr,Ar];var Cb=[zP,qs];var Db=[AP,jr];var Eb=[BP,nj,ix,px,YA,LD,MD,OD,PD,_D,$D,bE,cE,_E,eF,jF,kF,pF,qF,LH,SH,TH,UH,VH,WH,XH,YH,tI,AI,BI,CI,DI,EI,FI,GI,oJ,pJ,uJ,zJ,AJ,FJ,KJ,LJ,QJ,VJ,WJ,$J,XK,YK,_K,nL,oL,qL,VL,WL,aM,bM,gL,hL,jL,wL,xL,zL,cx,Kt,DO,bx,Iq,Kq,Rq,Sq,_q,$q,ar,fr,gr,tr,vr,xr,Cr,Er,Gr,Bs,gu,iu,kw,rw,sw,tw,uw,Uw,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP,BP];var Fb=[CP,Jx];var Gb=[DP,Zl,gq,nq,QD,SD,dE,fE,aF,gF,lF,rF,IL,KL,ML,lM,nM,pM,Je,$w,Lq,Nq,Oq,Pq,Vq,Yq,Zq,cr,dr,er,lt,Ms,Ht,hu,ju,ku,ou,pu,qu,ru,tu,uu,zu,Au,Bu,Cu,Du,mw,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP,DP];var Hb=[EP,jx,ox,dy,DA,dB,ID,ND,RD,XD,aE,eE,$E,fF,yF,FF,LK,QK,JL,LL,OL,hM,mM,oM,rM,gw,Gq,Uq,Wq,Xq,br,ft,Ws,Cw,Dw,Cz,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP,EP];var Ib=[FP,kx,qx,NL,iM,jM,kM,qM,ut,Ew,Fw,FP,FP,FP,FP,FP];var Jb=[GP,mH,nH,DH,EH,GP,GP,GP];var Kb=[HP,wF,DF,hH,iH,kH,oH,yH,zH,BH,FH,WK,ZK,mL,pL,PL,sM,fL,iL,vL,yL,Jw,Kw,HP,HP,HP,HP,HP,HP,HP,HP,HP];var Lb=[IP,zK,FK,IP];var Mb=[JP,KF,LF,MF,NF,OF,PF,QF,RF,SF,TF,UF,GG,HG,IG,JG,KG,LG,MG,NG,OG,PG,QG,jH,lH,AH,CH,MH,NH,OH,PH,QH,uI,vI,wI,xI,yI,AK,GK,Gw,Hw,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP,JP];var Nb=[KP,cJ,iJ,eK,fK,pK,qK,KP];var Ob=[LP,RH,zI,UK,VK,kL,lL,dL,eL,tL,uL,LP,LP,LP,LP,LP];var Pb=[MP,uA];var Qb=[NP,Oi,Pi,Ri,Si,lj,mj,XN,Xl,Yl,_l,eq,fq,hq,lq,mq,oq,zA,AA,BA,CA,MA,WA,XA,bB,cB,eB,BD,DD,FD,GD,UD,VD,kE,lE,mE,nE,pE,qE,rE,sE,uE,vE,wE,xE,zE,AE,BE,CE,YE,cF,hF,nF,tF,uF,vF,BF,CF,IF,JF,EG,FG,fH,gH,wH,xH,JH,KH,rI,sI,aJ,bJ,gJ,hJ,mJ,nJ,xJ,yJ,IJ,JJ,TJ,UJ,cK,dK,nK,oK,xK,yK,DK,EK,JK,KK,OK,PK,AF,cL,TK,rL,sL,DL,EL,GL,HL,TL,UL,_L,$L,fM,gM,tM,uM,vM,ff,Yw,hr,Mt,Nt,Yv,Zv,Ov,Iv,yv,qv,Fu,xu,yu,mu,nu,du,eu,Rv,Uv,jw,nw,qw,Iw,Mw,Vw,Ww,Xw,dx,fx,hx,aG,cG,gK,EO,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP,NP];var Rb=[OP,lr,pr,yr];var Sb=[PP,HD,WD,ZE,dF,iF,oF,qJ,rJ,sJ,tJ,vJ,wJ,BJ,CJ,DJ,EJ,GJ,HJ,MJ,NJ,OJ,PJ,RJ,SJ,XJ,YJ,ZJ,_J,aK,bK,NK,SK,XL,YL,ZL,cM,dM,eM,iw,rr,ur,wr,Br,Dr,Fr,Gs,Xv,Nv,mv,$t,lw,Lw,ex,gx,Kx,PP,PP,PP,PP,PP,PP,PP,PP];var Tb=[QP,vs,es,QP];var Ub=[RP,Sw,ls,RP];var Vb=[SP,GA,PA,hB,KD,ZD,xF,EF,Se,Kv,Mv,sv,tv,uv,vv,wv,au,bu,cu,Qv,Sv,Tv,$v,aw,bw,cw,dw,SP,SP,SP,SP,SP];var Wb=[TP,FA,OA,gB,zv,Av,Bv,Cv,Dv,Ev,Fv,Gv,Hv,kv,jv,iv,hv,gv,fv,ev,dv,cv,bv,av,$u,_u,Zu,Yu,Xu,Wu,Vu,Uu,Tu,Su,Ru,Qu,Pu,Ou,Nu,Mu,Lu,Ku,Ju,Iu,lv,Hu,Gu,TP,TP,TP,TP,TP,TP,TP,TP,TP,TP,TP,TP,TP,TP,TP,TP,TP];var Xb=[UP,EA,NA,fB,JD,YD,MK,RK];var Yb=[VP,Jv,Lv,rv,nv,ov,pv,VP];return{__GLOBAL__I_000101:QE,__GLOBAL__sub_I_ARToolKitJS_cpp:Bq,__GLOBAL__sub_I_bind_cpp:CB,__GLOBAL__sub_I_iostream_cpp:RE,__ZSt18uncaught_exceptionv:wD,___cxa_can_catch:uB,___cxa_is_pointer_type:vB,___embind_register_native_and_builtin_types:FB,___emscripten_environ_constructor:xB,___errno_location:mx,___getTypeName:rD,___muldi3:LO,___udivdi3:QO,__get_daylight:zB,__get_environ:BB,__get_timezone:AB,__get_tzname:yB,_bitshift64Lshr:RO,_bitshift64Shl:SO,_emscripten_get_sbrk_ptr:TO,_free:EO,_i64Add:MO,_i64Subtract:NO,_llvm_bswap_i32:UO,_malloc:DO,_memcpy:YO,_memmove:ZO,_memset:_O,_realloc:GO,_roundf:$O,_saveSetjmp:VO,_setThrew:XO,_testSetjmp:WO,dynCall_di:aP,dynCall_dii:bP,dynCall_i:cP,dynCall_ii:dP,dynCall_iidiiii:eP,dynCall_iii:fP,dynCall_iiii:gP,dynCall_iiiii:hP,dynCall_iiiiid:iP,dynCall_iiiiii:jP,dynCall_iiiiiid:kP,dynCall_iiiiiii:lP,dynCall_iiiiiiii:mP,dynCall_iiiiiiiii:nP,dynCall_v:oP,dynCall_vi:pP,dynCall_vid:qP,dynCall_vii:rP,dynCall_viid:sP,dynCall_viii:tP,dynCall_viiii:uP,dynCall_viiiii:vP,dynCall_viiiiii:wP,dynCall_viiiiiii:xP,establishStackSpace:ac,stackAlloc:Zb,stackRestore:$b,stackSave:_b}}) + + +// EMSCRIPTEN_END_ASM +(asmGlobalArg,asmLibraryArg,buffer);var __GLOBAL__I_000101=Module["__GLOBAL__I_000101"]=asm["__GLOBAL__I_000101"];var __GLOBAL__sub_I_ARToolKitJS_cpp=Module["__GLOBAL__sub_I_ARToolKitJS_cpp"]=asm["__GLOBAL__sub_I_ARToolKitJS_cpp"];var __GLOBAL__sub_I_bind_cpp=Module["__GLOBAL__sub_I_bind_cpp"]=asm["__GLOBAL__sub_I_bind_cpp"];var __GLOBAL__sub_I_iostream_cpp=Module["__GLOBAL__sub_I_iostream_cpp"]=asm["__GLOBAL__sub_I_iostream_cpp"];var __ZSt18uncaught_exceptionv=Module["__ZSt18uncaught_exceptionv"]=asm["__ZSt18uncaught_exceptionv"];var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=asm["___embind_register_native_and_builtin_types"];var ___emscripten_environ_constructor=Module["___emscripten_environ_constructor"]=asm["___emscripten_environ_constructor"];var ___errno_location=Module["___errno_location"]=asm["___errno_location"];var ___getTypeName=Module["___getTypeName"]=asm["___getTypeName"];var ___muldi3=Module["___muldi3"]=asm["___muldi3"];var ___udivdi3=Module["___udivdi3"]=asm["___udivdi3"];var __get_daylight=Module["__get_daylight"]=asm["__get_daylight"];var __get_environ=Module["__get_environ"]=asm["__get_environ"];var __get_timezone=Module["__get_timezone"]=asm["__get_timezone"];var __get_tzname=Module["__get_tzname"]=asm["__get_tzname"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var _emscripten_get_sbrk_ptr=Module["_emscripten_get_sbrk_ptr"]=asm["_emscripten_get_sbrk_ptr"];var _free=Module["_free"]=asm["_free"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _llvm_bswap_i32=Module["_llvm_bswap_i32"]=asm["_llvm_bswap_i32"];var _malloc=Module["_malloc"]=asm["_malloc"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var _memmove=Module["_memmove"]=asm["_memmove"];var _memset=Module["_memset"]=asm["_memset"];var _realloc=Module["_realloc"]=asm["_realloc"];var _roundf=Module["_roundf"]=asm["_roundf"];var _saveSetjmp=Module["_saveSetjmp"]=asm["_saveSetjmp"];var _setThrew=Module["_setThrew"]=asm["_setThrew"];var _testSetjmp=Module["_testSetjmp"]=asm["_testSetjmp"];var establishStackSpace=Module["establishStackSpace"]=asm["establishStackSpace"];var stackAlloc=Module["stackAlloc"]=asm["stackAlloc"];var stackRestore=Module["stackRestore"]=asm["stackRestore"];var stackSave=Module["stackSave"]=asm["stackSave"];var dynCall_di=Module["dynCall_di"]=asm["dynCall_di"];var dynCall_dii=Module["dynCall_dii"]=asm["dynCall_dii"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_iidiiii=Module["dynCall_iidiiii"]=asm["dynCall_iidiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_iiiiid=Module["dynCall_iiiiid"]=asm["dynCall_iiiiid"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_iiiiiid=Module["dynCall_iiiiiid"]=asm["dynCall_iiiiiid"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=asm["dynCall_iiiiiiii"];var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=asm["dynCall_iiiiiiiii"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vid=Module["dynCall_vid"]=asm["dynCall_vid"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_viid=Module["dynCall_viid"]=asm["dynCall_viid"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=asm["dynCall_viiiiiii"];Module["asm"]=asm;if(memoryInitializer){if(!isDataURI(memoryInitializer)){memoryInitializer=locateFile(memoryInitializer)}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=readBinary(memoryInitializer);HEAPU8.set(data,GLOBAL_BASE)}else{addRunDependency("memory initializer");var applyMemoryInitializer=function(data){if(data.byteLength)data=new Uint8Array(data);HEAPU8.set(data,GLOBAL_BASE);if(Module["memoryInitializerRequest"])delete Module["memoryInitializerRequest"].response;removeRunDependency("memory initializer")};var doBrowserLoad=function(){readAsync(memoryInitializer,applyMemoryInitializer,function(){throw"could not load memory initializer "+memoryInitializer})};var memoryInitializerBytes=tryParseAsDataURI(memoryInitializer);if(memoryInitializerBytes){applyMemoryInitializer(memoryInitializerBytes.buffer)}else if(Module["memoryInitializerRequest"]){var useRequest=function(){var request=Module["memoryInitializerRequest"];var response=request.response;if(request.status!==200&&request.status!==0){var data=tryParseAsDataURI(Module["memoryInitializerRequestURL"]);if(data){response=data.buffer}else{console.warn("a problem seems to have happened with Module.memoryInitializerRequest, status: "+request.status+", retrying "+memoryInitializer);doBrowserLoad();return}}applyMemoryInitializer(response)};if(Module["memoryInitializerRequest"].response){setTimeout(useRequest,0)}else{Module["memoryInitializerRequest"].addEventListener("load",useRequest)}}else{doBrowserLoad()}}}var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}noExitRuntime=true;run(); + diff --git a/jsartoolkit5/build/artoolkit_wasm.js b/jsartoolkit5/build/artoolkit_wasm.js new file mode 100644 index 0000000..1f327d2 --- /dev/null +++ b/jsartoolkit5/build/artoolkit_wasm.js @@ -0,0 +1 @@ +var Module=typeof Module!=="undefined"?Module:{};(function(){"use strict";var scope;if(typeof window!=="undefined"){scope=window}else{scope=self}if(scope.artoolkit_wasm_url){var downloadWasm=function(url){return new Promise(function(resolve,reject){var wasmXHR=new XMLHttpRequest;wasmXHR.open("GET",url,true);wasmXHR.responseType="arraybuffer";wasmXHR.onload=function(){resolve(wasmXHR.response)};wasmXHR.onerror=function(){reject("error "+wasmXHR.status)};wasmXHR.send(null)})};var wasm=downloadWasm(scope.artoolkit_wasm_url);Module.instantiateWasm=function(imports,successCallback){console.log("instantiateWasm: instantiating synchronously");wasm.then(function(wasmBinary){console.log("wasm download finished, begin instantiating");var wasmInstantiate=WebAssembly.instantiate(new Uint8Array(wasmBinary),imports).then(function(output){console.log("wasm instantiation succeeded");successCallback(output.instance)}).catch(function(e){console.log("wasm instantiation failed! "+e)})});return{}}}var ARController=function(width,height,cameraPara){this.id=undefined;var w=width,h=height;this.orientation="landscape";this.listeners={};if(typeof width!=="number"){var image=width;cameraPara=height;w=image.videoWidth||image.width;h=image.videoHeight||image.height;this.image=image}this.width=w;this.height=h;this.nftMarkerCount=0;this.defaultMarkerWidth=1;this.patternMarkers={};this.barcodeMarkers={};this.nftMarkers={};this.transform_mat=new Float32Array(16);this.transformGL_RH=new Float64Array(16);if(typeof document!=="undefined"){this.canvas=document.createElement("canvas");this.canvas.width=w;this.canvas.height=h;this.ctx=this.canvas.getContext("2d")}this.videoWidth=w;this.videoHeight=h;this.videoSize=this.videoWidth*this.videoHeight;this.framepointer=null;this.framesize=null;this.dataHeap=null;this.videoLuma=null;this.camera_mat=null;this.marker_transform_mat=null;this.videoLumaPointer=null;this._bwpointer=undefined;this._lumaCtx=undefined;if(typeof cameraPara==="string"){this.cameraParam=new ARCameraParam(cameraPara,function(){this._initialize()}.bind(this),function(err){console.error("ARController: Failed to load ARCameraParam",err);this.onload(err)}.bind(this))}else{this.cameraParam=cameraPara;this._initialize()}};ARController.prototype.dispose=function(){if(this.id>-1){artoolkit.teardown(this.id)}if(this.image&&this.image.srcObject){ARController._teardownVideo(this.image)}for(var t in this){this[t]=null}};ARController.prototype.process=function(image){var result=this.detectMarker(image);if(result!=0){console.error("detectMarker error: "+result)}var markerNum=this.getMarkerNum();var k,o;for(k in this.patternMarkers){o=this.patternMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(k in this.barcodeMarkers){o=this.barcodeMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(k in this.nftMarkers){o=this.nftMarkers[k];o.inPrevious=o.inCurrent;o.inCurrent=false}for(var i=0;i-1&&(markerInfo.id===markerInfo.idPatt||markerInfo.idMatrix===-1)){visible=this.trackPatternMarkerId(markerInfo.idPatt);markerType=artoolkit.PATTERN_MARKER;if(markerInfo.dir!==markerInfo.dirPatt){this.setMarkerInfoDir(i,markerInfo.dirPatt)}}else if(markerInfo.idMatrix>-1){visible=this.trackBarcodeMarkerId(markerInfo.idMatrix);markerType=artoolkit.BARCODE_MARKER;if(markerInfo.dir!==markerInfo.dirMatrix){this.setMarkerInfoDir(i,markerInfo.dirMatrix)}}if(markerType!==artoolkit.UNKNOWN_MARKER&&visible.inPrevious){this.getTransMatSquareCont(i,visible.markerWidth,visible.matrix,visible.matrix)}else{this.getTransMatSquare(i,visible.markerWidth,visible.matrix)}visible.inCurrent=true;this.transMatToGLMat(visible.matrix,this.transform_mat);this.transformGL_RH=this.arglCameraViewRHf(this.transform_mat);this.dispatchEvent({name:"getMarker",target:this,data:{index:i,type:markerType,marker:markerInfo,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}})}var nftMarkerCount=this.nftMarkerCount;this.detectNFTMarker();var MARKER_LOST_TIME=200;for(var i=0;i=0){visible=true;this.dispatchEvent({name:"getMultiMarker",target:this,data:{multiMarkerId:i,matrix:this.transform_mat,matrixGL_RH:this.transformGL_RH}});break}}if(visible){for(var j=0;j-1){this.listeners[name].splice(index,1)}}};ARController.prototype.dispatchEvent=function(event){var listeners=this.listeners[event.name];if(listeners){for(var i=0;i>3;q+=4}}if(this.dataHeap){this.dataHeap.set(data);return true}return false};ARController.prototype._debugMarker=function(marker){var vertex,pos;vertex=marker.vertex;var ctx=this.ctx;ctx.strokeStyle="red";ctx.beginPath();ctx.moveTo(vertex[0][0],vertex[0][1]);ctx.lineTo(vertex[1][0],vertex[1][1]);ctx.stroke();ctx.beginPath();ctx.moveTo(vertex[2][0],vertex[2][1]);ctx.lineTo(vertex[3][0],vertex[3][1]);ctx.stroke();ctx.strokeStyle="green";ctx.beginPath();ctx.lineTo(vertex[1][0],vertex[1][1]);ctx.lineTo(vertex[2][0],vertex[2][1]);ctx.stroke();ctx.beginPath();ctx.moveTo(vertex[3][0],vertex[3][1]);ctx.lineTo(vertex[0][0],vertex[0][1]);ctx.stroke();pos=marker.pos;ctx.beginPath();ctx.arc(pos[0],pos[1],8,0,Math.PI*2);ctx.fillStyle="red";ctx.fill()};ARController.getUserMedia=function(configuration){var facing=configuration.facingMode||"environment";var onSuccess=configuration.onSuccess;var onError=configuration.onError||function(err){console.error("ARController.getUserMedia",err)};var video=document.createElement("video");var readyToPlay=false;var eventNames=["touchstart","touchend","touchmove","touchcancel","click","mousedown","mouseup","mousemove","keydown","keyup","keypress","scroll"];var play=function(){if(readyToPlay){video.play().then(function(){onSuccess(video)}).catch(function(error){onError(error);ARController._teardownVideo(video)});if(!video.paused){eventNames.forEach(function(eventName){window.removeEventListener(eventName,play,true)})}}};eventNames.forEach(function(eventName){window.addEventListener(eventName,play,true)});var success=function(stream){if(window.URL.createObjectURL){try{video.srcObject=stream}catch(ex){}}video.srcObject=stream;readyToPlay=true;video.autoplay=true;video.playsInline=true;play()};var constraints={};var mediaDevicesConstraints={};if(configuration.width){mediaDevicesConstraints.width=configuration.width;if(typeof configuration.width==="object"){if(configuration.width.max){constraints.maxWidth=configuration.width.max}if(configuration.width.min){constraints.minWidth=configuration.width.min}}else{constraints.maxWidth=configuration.width}}if(configuration.height){mediaDevicesConstraints.height=configuration.height;if(typeof configuration.height==="object"){if(configuration.height.max){constraints.maxHeight=configuration.height.max}if(configuration.height.min){constraints.minHeight=configuration.height.min}}else{constraints.maxHeight=configuration.height}}mediaDevicesConstraints.facingMode=facing;mediaDevicesConstraints.deviceId=configuration.deviceId;navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia;var hdConstraints={audio:false,video:constraints};if(navigator.mediaDevices||window.MediaStreamTrack.getSources){if(navigator.mediaDevices){navigator.mediaDevices.getUserMedia({audio:false,video:mediaDevicesConstraints}).then(success,onError)}else{window.MediaStreamTrack.getSources(function(sources){var facingDir=mediaDevicesConstraints.facingMode;if(facing&&facing.exact){facingDir=facing.exact}for(var i=0;i-1){writeStringToFS(filename,url,writeCallback)}else{ajax(url,filename,writeCallback,errorCallback)}}function writeStringToFS(target,string,callback){var byteArray=new Uint8Array(string.length);for(var i=0;i1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);if(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);quit_=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){read_=function shell_read(f){return read(f)}}readBinary=function readBinary(f){var data;if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){arguments_=scriptArgs}else if(typeof arguments!="undefined"){arguments_=arguments}if(typeof quit==="function"){quit_=function(status){quit(status)}}if(typeof print!=="undefined"){if(typeof console==="undefined")console={};console.log=print;console.warn=console.error=typeof printErr!=="undefined"?printErr:print}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=function shell_read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(ENVIRONMENT_IS_WORKER){readBinary=function readBinary(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()};xhr.onerror=onerror;xhr.send(null)}}setWindowTitle=function(title){document.title=title}}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end>_emscripten_get_heap_size()){abort()}HEAP32[DYNAMICTOP_PTR>>2]=end;return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}var asm2wasmImports={"f64-rem":function(x,y){return x%y},"debugger":function(){}};var functionPointers=new Array(0);var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime;if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(typeof WebAssembly!=="object"){err("no native wasm support detected")}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var wasmMemory;var wasmTable=new WebAssembly.Table({"initial":878,"maximum":878,"element":"anyfunc"});var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}var ALLOC_NORMAL=0;var ALLOC_NONE=3;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,stackAlloc,dynamicAlloc][allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var stop;ptr=ret;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr>2]=0}stop=ret+size;while(ptr>0]=0}return ret}if(singleType==="i8"){if(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}var WASM_PAGE_SIZE=65536;var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var DYNAMIC_BASE=5303200,DYNAMICTOP_PTR=60128;var INITIAL_TOTAL_MEMORY=Module["TOTAL_MEMORY"]||268435456;if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE,"maximum":INITIAL_TOTAL_MEMORY/WASM_PAGE_SIZE})}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_TOTAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(!Module["noFSInit"]&&!FS.init.initialized)FS.init();TTY.init();callRuntimeCallbacks(__ATINIT__)}function preMain(){FS.ignorePermissions=false;callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(Module["onAbort"]){Module["onAbort"](what)}what+="";out(what);err(what);ABORT=true;EXITSTATUS=1;what="abort("+what+"). Build with -s ASSERTIONS=1 for more info.";throw new WebAssembly.RuntimeError(what)}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}var wasmBinaryFile="artoolkit_wasm.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(){try{if(wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(wasmBinaryFile)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary()})}return new Promise(function(resolve,reject){resolve(getBinary())})}function createWasm(){var info={"env":asmLibraryArg,"wasi_unstable":asmLibraryArg,"global":{"NaN":NaN,Infinity:Infinity},"global.Math":Math,"asm2wasm":asm2wasmImports};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiatedSource(output){receiveInstance(output["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiatedSource,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");instantiateArrayBuffer(receiveInstantiatedSource)})})}else{return instantiateArrayBuffer(receiveInstantiatedSource)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync();return{}}Module["asm"]=createWasm;var tempDouble;var tempI64;var ASM_CONSTS=[function($0,$1,$2,$3,$4,$5){if(!artoolkit["frameMalloc"]){artoolkit["frameMalloc"]={}}var frameMalloc=artoolkit["frameMalloc"];frameMalloc["framepointer"]=$1;frameMalloc["framesize"]=$2;frameMalloc["camera"]=$3;frameMalloc["transform"]=$4;frameMalloc["videoLumaPointer"]=$5},function($0,$1,$2,$3){if(!artoolkit["multiEachMarkerInfo"]){artoolkit["multiEachMarkerInfo"]={}}var multiEachMarker=artoolkit["multiEachMarkerInfo"];multiEachMarker["visible"]=$0;multiEachMarker["pattId"]=$1;multiEachMarker["pattType"]=$2;multiEachMarker["width"]=$3},function($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17,$18,$19,$20,$21,$22,$23,$24,$25,$26,$27,$28,$29,$30,$31,$32){var $a=arguments;var i=12;if(!artoolkit["markerInfo"]){artoolkit["markerInfo"]={pos:[0,0],line:[[0,0,0],[0,0,0],[0,0,0],[0,0,0]],vertex:[[0,0],[0,0],[0,0],[0,0]]}}var markerInfo=artoolkit["markerInfo"];markerInfo["area"]=$0;markerInfo["id"]=$1;markerInfo["idPatt"]=$2;markerInfo["idMatrix"]=$3;markerInfo["dir"]=$4;markerInfo["dirPatt"]=$5;markerInfo["dirMatrix"]=$6;markerInfo["cf"]=$7;markerInfo["cfPatt"]=$8;markerInfo["cfMatrix"]=$9;markerInfo["pos"][0]=$10;markerInfo["pos"][1]=$11;markerInfo["line"][0][0]=$a[i++];markerInfo["line"][0][1]=$a[i++];markerInfo["line"][0][2]=$a[i++];markerInfo["line"][1][0]=$a[i++];markerInfo["line"][1][1]=$a[i++];markerInfo["line"][1][2]=$a[i++];markerInfo["line"][2][0]=$a[i++];markerInfo["line"][2][1]=$a[i++];markerInfo["line"][2][2]=$a[i++];markerInfo["line"][3][0]=$a[i++];markerInfo["line"][3][1]=$a[i++];markerInfo["line"][3][2]=$a[i++];markerInfo["vertex"][0][0]=$a[i++];markerInfo["vertex"][0][1]=$a[i++];markerInfo["vertex"][1][0]=$a[i++];markerInfo["vertex"][1][1]=$a[i++];markerInfo["vertex"][2][0]=$a[i++];markerInfo["vertex"][2][1]=$a[i++];markerInfo["vertex"][3][0]=$a[i++];markerInfo["vertex"][3][1]=$a[i++];markerInfo["errorCorrected"]=$a[i++]},function($0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13){var $a=arguments;var i=0;if(!artoolkit["NFTMarkerInfo"]){artoolkit["NFTMarkerInfo"]={id:0,error:-1,found:0,pose:[0,0,0,0,0,0,0,0,0,0,0,0]}}var markerInfo=artoolkit["NFTMarkerInfo"];markerInfo["id"]=$a[i++];markerInfo["error"]=$a[i++];markerInfo["found"]=1;markerInfo["pose"][0]=$a[i++];markerInfo["pose"][1]=$a[i++];markerInfo["pose"][2]=$a[i++];markerInfo["pose"][3]=$a[i++];markerInfo["pose"][4]=$a[i++];markerInfo["pose"][5]=$a[i++];markerInfo["pose"][6]=$a[i++];markerInfo["pose"][7]=$a[i++];markerInfo["pose"][8]=$a[i++];markerInfo["pose"][9]=$a[i++];markerInfo["pose"][10]=$a[i++];markerInfo["pose"][11]=$a[i++]},function($0){var $a=arguments;var i=0;if(!artoolkit["NFTMarkerInfo"]){artoolkit["NFTMarkerInfo"]={id:0,error:-1,found:0,pose:[0,0,0,0,0,0,0,0,0,0,0,0]}}var markerInfo=artoolkit["NFTMarkerInfo"];markerInfo["id"]=$a[i++];markerInfo["error"]=-1;markerInfo["found"]=0;markerInfo["pose"][0]=0;markerInfo["pose"][1]=0;markerInfo["pose"][2]=0;markerInfo["pose"][3]=0;markerInfo["pose"][4]=0;markerInfo["pose"][5]=0;markerInfo["pose"][6]=0;markerInfo["pose"][7]=0;markerInfo["pose"][8]=0;markerInfo["pose"][9]=0;markerInfo["pose"][10]=0;markerInfo["pose"][11]=0}];function _emscripten_asm_const_iiiiiii(code,a0,a1,a2,a3,a4,a5){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5)}function _emscripten_asm_const_iiiid(code,a0,a1,a2,a3){return ASM_CONSTS[code](a0,a1,a2,a3)}function _emscripten_asm_const_iiddddddddddddd(code,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13)}function _emscripten_asm_const_ii(code,a0){return ASM_CONSTS[code](a0)}function _emscripten_asm_const_iiiiiiiidddddddddddddddddddddddddi(code,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25,a26,a27,a28,a29,a30,a31,a32){return ASM_CONSTS[code](a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25,a26,a27,a28,a29,a30,a31,a32)}__ATINIT__.push({func:function(){__GLOBAL__sub_I_ARToolKitJS_cpp()}},{func:function(){___emscripten_environ_constructor()}},{func:function(){__GLOBAL__sub_I_bind_cpp()}},{func:function(){__GLOBAL__sub_I_iostream_cpp()}});function demangle(func){return func}function demangleAll(text){var regex=/\b__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){var js=jsStackTrace();if(Module["extraStackTrace"])js+="\n"+Module["extraStackTrace"]();return demangleAll(js)}var ENV={};function ___buildEnvironment(environ){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]="web_user";ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]=(typeof navigator==="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";ENV["_"]=thisProgram;poolPtr=getMemory(TOTAL_ENV_SIZE);envPtr=getMemory(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[environ>>2]=envPtr}else{envPtr=HEAP32[environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in ENV){if(typeof ENV[key]==="string"){var line=key+"="+ENV[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}function ___cxa_allocate_exception(size){return _malloc(size)}var ___exception_infos={};var ___exception_last=0;function ___cxa_throw(ptr,type,destructor){___exception_infos[ptr]={ptr:ptr,adjusted:[ptr],type:type,destructor:destructor,refcount:0,caught:false,rethrown:false};___exception_last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exceptions=1}else{__ZSt18uncaught_exceptionv.uncaught_exceptions++}throw ptr}function ___lock(){}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}function ___map_file(pathname,size){___setErrNo(63);return-1}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node}return node},getFileDataAsRegularArray:function(node){if(node.contents&&node.contents.subarray){var arr=[];for(var i=0;i=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity0)node.contents.set(oldContents.subarray(0,node.usedBytes),0);return},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0;return}if(!node.contents||node.contents.subarray){var oldContents=node.contents;node.contents=new Uint8Array(new ArrayBuffer(newSize));if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize;return}if(!node.contents)node.contents=[];if(node.contents.length>newSize)node.contents.length=newSize;else while(node.contents.length=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:function(node){var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:function(parentid,name){var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:function(node){var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:function(node){var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:function(parent,name){var err=FS.mayLookup(parent);if(err){throw new FS.ErrnoError(err,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:function(parent,name,mode,rdev){if(!FS.FSNode){FS.FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};FS.FSNode.prototype={};var readMode=292|73;var writeMode=146;Object.defineProperties(FS.FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}})}var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:function(node){FS.hashRemoveNode(node)},isRoot:function(node){return node===node.parent},isMountpoint:function(node){return!!node.mounted},isFile:function(mode){return(mode&61440)===32768},isDir:function(mode){return(mode&61440)===16384},isLink:function(mode){return(mode&61440)===40960},isChrdev:function(mode){return(mode&61440)===8192},isBlkdev:function(mode){return(mode&61440)===24576},isFIFO:function(mode){return(mode&61440)===4096},isSocket:function(mode){return(mode&49152)===49152},flagModes:{"r":0,"rs":1052672,"r+":2,"w":577,"wx":705,"xw":705,"w+":578,"wx+":706,"xw+":706,"a":1089,"ax":1217,"xa":1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(str){var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:function(flag){var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:function(node,perms){if(FS.ignorePermissions){return 0}if(perms.indexOf("r")!==-1&&!(node.mode&292)){return 2}else if(perms.indexOf("w")!==-1&&!(node.mode&146)){return 2}else if(perms.indexOf("x")!==-1&&!(node.mode&73)){return 2}return 0},mayLookup:function(dir){var err=FS.nodePermissions(dir,"x");if(err)return err;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:function(dir,name){try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:function(dir,name,isdir){var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var err=FS.nodePermissions(dir,"wx");if(err){return err}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:function(node,flags){if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:function(fd_start,fd_end){fd_start=fd_start||0;fd_end=fd_end||FS.MAX_OPEN_FDS;for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:function(fd){return FS.streams[fd]},createStream:function(stream,fd_start,fd_end){if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={};Object.defineProperties(FS.FSStream.prototype,{object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}})}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:function(fd){FS.streams[fd]=null},chrdev_stream_ops:{open:function(stream){var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:function(){throw new FS.ErrnoError(70)}},major:function(dev){return dev>>8},minor:function(dev){return dev&255},makedev:function(ma,mi){return ma<<8|mi},registerDevice:function(dev,ops){FS.devices[dev]={stream_ops:ops}},getDevice:function(dev){return FS.devices[dev]},getMounts:function(mount){var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:function(populate,callback){if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){console.log("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(err){FS.syncFSRequests--;return callback(err)}function done(err){if(err){if(!done.errored){done.errored=true;return doCallback(err)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(function(mount){if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:function(type,opts,mountpoint){var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:function(mountpoint){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(function(hash){var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.indexOf(current.mount)!==-1){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:function(parent,name){return parent.node_ops.lookup(parent,name)},mknod:function(path,mode,dev){var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var err=FS.mayCreate(parent,name);if(err){throw new FS.ErrnoError(err)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:function(path,mode){mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:function(path,mode){mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:function(path,mode){var dirs=path.split("/");var d="";for(var i=0;ithis.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=function(from,to){if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(function(chunkNum){var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;console.log("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(function(key){var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}return fn.apply(null,arguments)}});stream_ops.read=function stream_ops_read(stream,buffer,offset,length,position){if(!FS.forceLoadFile(node)){throw new FS.ErrnoError(29)}var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i>2]=stat.dev;HEAP32[buf+4>>2]=0;HEAP32[buf+8>>2]=stat.ino;HEAP32[buf+12>>2]=stat.mode;HEAP32[buf+16>>2]=stat.nlink;HEAP32[buf+20>>2]=stat.uid;HEAP32[buf+24>>2]=stat.gid;HEAP32[buf+28>>2]=stat.rdev;HEAP32[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+40>>2]=tempI64[0],HEAP32[buf+44>>2]=tempI64[1];HEAP32[buf+48>>2]=4096;HEAP32[buf+52>>2]=stat.blocks;HEAP32[buf+56>>2]=stat.atime.getTime()/1e3|0;HEAP32[buf+60>>2]=0;HEAP32[buf+64>>2]=stat.mtime.getTime()/1e3|0;HEAP32[buf+68>>2]=0;HEAP32[buf+72>>2]=stat.ctime.getTime()/1e3|0;HEAP32[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[buf+80>>2]=tempI64[0],HEAP32[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags){var buffer=new Uint8Array(HEAPU8.subarray(addr,addr+len));FS.msync(stream,buffer,0,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=HEAP8[buf+len];stringToUTF8(ret,buf,bufsize+1);HEAP8[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var node;var lookup=FS.lookupPath(path,{follow:true});node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.read(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=HEAP32[iov+(i*8+4)>>2];var curr=FS.write(stream,HEAP8,ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},getStreamFromFD:function(fd){if(fd===undefined)fd=SYSCALLS.get();var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall221(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),cmd=SYSCALLS.get();switch(cmd){case 0:{var arg=SYSCALLS.get();if(arg<0){return-28}var newStream;newStream=FS.open(stream.path,stream.flags,0,arg);return newStream.fd}case 1:case 2:return 0;case 3:return stream.flags;case 4:{var arg=SYSCALLS.get();stream.flags|=arg;return 0}case 12:{var arg=SYSCALLS.get();var offset=0;HEAP16[arg+offset>>1]=2;return 0}case 13:case 14:return 0;case 16:case 8:return-28;case 9:___setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall5(which,varargs){SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(),flags=SYSCALLS.get(),mode=SYSCALLS.get();var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),op=SYSCALLS.get();switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();HEAP32[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function __emscripten_syscall_munmap(addr,len){if(addr===-1||len===0){return-28}var info=SYSCALLS.mappings[addr];if(!info)return 0;if(len===info.len){var stream=FS.getStream(info.fd);SYSCALLS.doMsync(addr,stream,len,info.flags);FS.munmap(stream);SYSCALLS.mappings[addr]=null;if(info.allocated){_free(info.malloc)}}return 0}function ___syscall91(which,varargs){SYSCALLS.varargs=varargs;try{var addr=SYSCALLS.get(),len=SYSCALLS.get();return __emscripten_syscall_munmap(addr,len)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___unlock(){}function _fd_close(fd){try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_close(){return _fd_close.apply(null,arguments)}function _fd_read(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_read(){return _fd_read.apply(null,arguments)}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math_abs(tempDouble)>=1?tempDouble>0?(Math_min(+Math_floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[newOffset>>2]=tempI64[0],HEAP32[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_seek(){return _fd_seek.apply(null,arguments)}function _fd_write(fd,iov,iovcnt,pnum){try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);HEAP32[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return e.errno}}function ___wasi_fd_write(){return _fd_write.apply(null,arguments)}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n")(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i>shift])},destructorFunction:null})}function __embind_register_constant(name,type,value){name=readLatin1String(name);whenDependentTypesAreResolved([],[type],function(type){type=type[0];Module[name]=type["fromWireType"](value);return[]})}var emval_free_list=[];var emval_handle_array=[{},{value:undefined},{value:null},{value:true},{value:false}];function __emval_decref(handle){if(handle>4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i>2])}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv},"toWireType":function(destructors,value){return __emval_register(value)},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])};case 3:return function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function new_(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name||"unknownFunctionName",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i0?", ":"")+argsListWired}invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";if(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i>2)+i])}return array}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function embind__requireFunction(signature,rawFunction){signature=readLatin1String(signature);function makeDynCaller(dynCall){var args=[];for(var i=1;i>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=function(value){return value};if(minRange===0){var bitshift=32-8*size;fromWireType=function(value){return value<>>bitshift}}var isUnsignedType=name.indexOf("unsigned")!=-1;registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(valuemaxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return isUnsignedType?value>>>0:value|0},"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=HEAPU32[value>>2];var str;if(stdStringIsUTF8){var endChar=HEAPU8[value+4+length];var endCharSwap=0;if(endChar!=0){endCharSwap=endChar;HEAPU8[value+4+length]=0}var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(HEAPU8[currentBytePtr]==0){var stringSegment=UTF8ToString(decodeStartPtr);if(str===undefined)str=stringSegment;else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}if(endCharSwap!=0)HEAPU8[value+4+length]=endCharSwap}else{var a=new Array(length);for(var i=0;i>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}}else{for(var i=0;i>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i>2]=length;var start=ptr+4>>shift;for(var i=0;i>2]=now/1e3|0;HEAP32[ptr+4>>2]=now%1e3*1e3|0;return 0}function _llvm_exp2_f32(x){return Math.pow(2,x)}function _llvm_stackrestore(p){var self=_llvm_stacksave;var ret=self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p,1);stackRestore(ret)}function _llvm_stacksave(){var self=_llvm_stacksave;if(!self.LLVM_SAVEDSTACKS){self.LLVM_SAVEDSTACKS=[]}self.LLVM_SAVEDSTACKS.push(stackSave());return self.LLVM_SAVEDSTACKS.length-1}var ___tm_current=60160;var ___tm_timezone=(stringToUTF8("GMT",60208,4),60208);function _tzset(){if(_tzset.called)return;_tzset.called=true;HEAP32[__get_timezone()>>2]=(new Date).getTimezoneOffset()*60;var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);HEAP32[__get_daylight()>>2]=Number(winter.getTimezoneOffset()!=summer.getTimezoneOffset());function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocate(intArrayFromString(winterName),"i8",ALLOC_NORMAL);var summerNamePtr=allocate(intArrayFromString(summerName),"i8",ALLOC_NORMAL);if(summer.getTimezoneOffset()>2]=winterNamePtr;HEAP32[__get_tzname()+4>>2]=summerNamePtr}else{HEAP32[__get_tzname()>>2]=summerNamePtr;HEAP32[__get_tzname()+4>>2]=winterNamePtr}}function _localtime_r(time,tmPtr){_tzset();var date=new Date(HEAP32[time>>2]*1e3);HEAP32[tmPtr>>2]=date.getSeconds();HEAP32[tmPtr+4>>2]=date.getMinutes();HEAP32[tmPtr+8>>2]=date.getHours();HEAP32[tmPtr+12>>2]=date.getDate();HEAP32[tmPtr+16>>2]=date.getMonth();HEAP32[tmPtr+20>>2]=date.getFullYear()-1900;HEAP32[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;HEAP32[tmPtr+28>>2]=yday;HEAP32[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;HEAP32[tmPtr+32>>2]=dst;var zonePtr=HEAP32[__get_tzname()+(dst?4:0)>>2];HEAP32[tmPtr+40>>2]=zonePtr;return tmPtr}function _localtime(time){return _localtime_r(time,___tm_current)}function _longjmp(env,value){_setThrew(env,value||1);throw"longjmp"}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){HEAP32[ptr>>2]=ret}return ret}FS.staticInit();embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_emval();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}function invoke_ii(index,a1){var sp=stackSave();try{return dynCall_ii(index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return dynCall_iii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{dynCall_vi(index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_vii(index,a1,a2){var sp=stackSave();try{dynCall_vii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{dynCall_viii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}var asmGlobalArg={};var asmLibraryArg={"$":___buildEnvironment,"f":___cxa_allocate_exception,"e":___cxa_throw,"z":___lock,"_":___map_file,"y":___syscall221,"Z":___syscall5,"Y":___syscall54,"X":___syscall91,"o":___unlock,"x":___wasi_fd_close,"W":___wasi_fd_read,"C":___wasi_fd_seek,"V":___wasi_fd_write,"U":__embind_register_bool,"w":__embind_register_constant,"T":__embind_register_emval,"v":__embind_register_float,"j":__embind_register_function,"k":__embind_register_integer,"i":__embind_register_memory_view,"u":__embind_register_std_string,"S":__embind_register_std_wstring,"R":__embind_register_void,"__memory_base":1024,"__table_base":0,"a":_abort,"Q":_emscripten_asm_const_ii,"P":_emscripten_asm_const_iiddddddddddddd,"O":_emscripten_asm_const_iiiid,"N":_emscripten_asm_const_iiiiiii,"M":_emscripten_asm_const_iiiiiiiidddddddddddddddddddddddddi,"L":_emscripten_get_heap_size,"J":_emscripten_memcpy_big,"I":_emscripten_resize_heap,"b":_exit,"n":_getenv,"t":_gettimeofday,"H":_llvm_exp2_f32,"m":_llvm_stackrestore,"l":_llvm_stacksave,"G":_localtime,"g":_longjmp,"E":_strftime,"D":_strftime_l,"s":_time,"c":abort,"h":getTempRet0,"q":invoke_ii,"K":invoke_iii,"F":invoke_iiii,"p":invoke_vi,"B":invoke_vii,"A":invoke_viii,"r":invoke_viiii,"memory":wasmMemory,"d":setTempRet0,"table":wasmTable};var asm=Module["asm"](asmGlobalArg,asmLibraryArg,buffer);Module["asm"]=asm;var __GLOBAL__sub_I_ARToolKitJS_cpp=Module["__GLOBAL__sub_I_ARToolKitJS_cpp"]=function(){return Module["asm"]["aa"].apply(null,arguments)};var __GLOBAL__sub_I_bind_cpp=Module["__GLOBAL__sub_I_bind_cpp"]=function(){return Module["asm"]["ba"].apply(null,arguments)};var __GLOBAL__sub_I_iostream_cpp=Module["__GLOBAL__sub_I_iostream_cpp"]=function(){return Module["asm"]["ca"].apply(null,arguments)};var __ZSt18uncaught_exceptionv=Module["__ZSt18uncaught_exceptionv"]=function(){return Module["asm"]["da"].apply(null,arguments)};var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=function(){return Module["asm"]["ea"].apply(null,arguments)};var ___emscripten_environ_constructor=Module["___emscripten_environ_constructor"]=function(){return Module["asm"]["fa"].apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return Module["asm"]["ga"].apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){return Module["asm"]["ha"].apply(null,arguments)};var __get_daylight=Module["__get_daylight"]=function(){return Module["asm"]["ia"].apply(null,arguments)};var __get_timezone=Module["__get_timezone"]=function(){return Module["asm"]["ja"].apply(null,arguments)};var __get_tzname=Module["__get_tzname"]=function(){return Module["asm"]["ka"].apply(null,arguments)};var _free=Module["_free"]=function(){return Module["asm"]["la"].apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return Module["asm"]["ma"].apply(null,arguments)};var _setThrew=Module["_setThrew"]=function(){return Module["asm"]["na"].apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return Module["asm"]["Ra"].apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return Module["asm"]["Sa"].apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return Module["asm"]["Ta"].apply(null,arguments)};var dynCall_di=Module["dynCall_di"]=function(){return Module["asm"]["oa"].apply(null,arguments)};var dynCall_dii=Module["dynCall_dii"]=function(){return Module["asm"]["pa"].apply(null,arguments)};var dynCall_i=Module["dynCall_i"]=function(){return Module["asm"]["qa"].apply(null,arguments)};var dynCall_ii=Module["dynCall_ii"]=function(){return Module["asm"]["ra"].apply(null,arguments)};var dynCall_iidiiii=Module["dynCall_iidiiii"]=function(){return Module["asm"]["sa"].apply(null,arguments)};var dynCall_iii=Module["dynCall_iii"]=function(){return Module["asm"]["ta"].apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return Module["asm"]["ua"].apply(null,arguments)};var dynCall_iiiii=Module["dynCall_iiiii"]=function(){return Module["asm"]["va"].apply(null,arguments)};var dynCall_iiiiid=Module["dynCall_iiiiid"]=function(){return Module["asm"]["wa"].apply(null,arguments)};var dynCall_iiiiii=Module["dynCall_iiiiii"]=function(){return Module["asm"]["xa"].apply(null,arguments)};var dynCall_iiiiiid=Module["dynCall_iiiiiid"]=function(){return Module["asm"]["ya"].apply(null,arguments)};var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=function(){return Module["asm"]["za"].apply(null,arguments)};var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=function(){return Module["asm"]["Aa"].apply(null,arguments)};var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=function(){return Module["asm"]["Ba"].apply(null,arguments)};var dynCall_iiiiij=Module["dynCall_iiiiij"]=function(){return Module["asm"]["Ca"].apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return Module["asm"]["Da"].apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return Module["asm"]["Ea"].apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return Module["asm"]["Fa"].apply(null,arguments)};var dynCall_vid=Module["dynCall_vid"]=function(){return Module["asm"]["Ga"].apply(null,arguments)};var dynCall_vif=Module["dynCall_vif"]=function(){return Module["asm"]["Ha"].apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return Module["asm"]["Ia"].apply(null,arguments)};var dynCall_viid=Module["dynCall_viid"]=function(){return Module["asm"]["Ja"].apply(null,arguments)};var dynCall_viif=Module["dynCall_viif"]=function(){return Module["asm"]["Ka"].apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return Module["asm"]["La"].apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return Module["asm"]["Ma"].apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return Module["asm"]["Na"].apply(null,arguments)};var dynCall_viiiiii=Module["dynCall_viiiiii"]=function(){return Module["asm"]["Oa"].apply(null,arguments)};var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=function(){return Module["asm"]["Pa"].apply(null,arguments)};var dynCall_viijii=Module["dynCall_viijii"]=function(){return Module["asm"]["Qa"].apply(null,arguments)};Module["asm"]=asm;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0)return;function doRun(){if(calledRun)return;calledRun=true;if(ABORT)return;initRuntime();preMain();if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){if(implicit&&noExitRuntime&&status===0){return}if(noExitRuntime){}else{ABORT=true;EXITSTATUS=status;exitRuntime();if(Module["onExit"])Module["onExit"](status)}quit_(status,new ExitStatus(status))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}noExitRuntime=true;run(); diff --git a/jsartoolkit5/build/artoolkit_wasm.wasm b/jsartoolkit5/build/artoolkit_wasm.wasm new file mode 100644 index 0000000000000000000000000000000000000000..2bdb85276674c54d0d3e92ad3cfd331d55ab1835 GIT binary patch literal 547341 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�$D*^-thrT9kRCOB5T4JkA|EbAt%oONi-0S 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 LUQhj4-S7PWGkcys literal 0 HcmV?d00001 diff --git a/jsartoolkit5/examples/Data/armchair.jpg b/jsartoolkit5/examples/Data/armchair.jpg new file mode 100644 index 0000000000000000000000000000000000000000..862f5f449323884b13e3ff9be6b63f0306648006 GIT binary patch literal 78234 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